[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [linux-linus bisection] complete test-armhf-armhf-xl
branch xen-unstable xen branch xen-unstable job test-armhf-armhf-xl 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: 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: f0897f4cc0fcdd2410ba0ff0bc1bc64e6e72672a Bug not present: 6c310bc1acdd02110182a2ec6efa3e7571a3b80c commit f0897f4cc0fcdd2410ba0ff0bc1bc64e6e72672a Merge: fc8c540 4de5167 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 14 18:40:16 2015 -0700 Merge tag 'pm+acpi-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI fixes from Rafael Wysocki: "Two fixes here, one revert of a recent ACPICA commit that broke audio support on one Dell machine and a fix for a long-standing issue that may cause systems to break randomly during boot. Specifics: - The recent ACPICA commit that set the ACPI _REV return value to 2 (which is the value always used by Windows and now mandated by the spec too) in order to prevent the firmware people from using it to play tricks with us caused a serious audio regression to happen on Dell XPS 13 (the AML on that machine uses the _REV return value to decide how to expose audio to the OS and does that to hide the lack of proper support for its I2S audio in Linux), so revert that commit for now and we'll revisit the issue in the next cycle. - Ensure that the ordering of acpi_reserve_resources() with respect to the rest of the ACPI initialization sequence will always be the same, or the IO or memory region occupied by the ACPI fixed registers may be assigned to a PCI host bridge as a result of a race and random breakage ensues going forward" * tag 'pm+acpi-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: Revert "ACPICA: Permanently set _REV to the value '2'." ACPI / init: Fix the ordering of acpi_reserve_resources() commit fc8c540b1d66fe5f44da916338423ec62946e8b5 Merge: 3c25a75 4801ba3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 14 18:35:33 2015 -0700 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes from Will Deacon: - fix potential memory leak in perf PMU probing - BPF sign extension fix for 64-bit immediates - fix build failure with unusual configuration - revert unused and broken branch patching from alternative code * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: perf: fix memory leak when probing PMU PPIs arm64: bpf: fix signedness bug in loading 64-bit immediate arm64: mm: Fix build error with CONFIG_SPARSEMEM_VMEMMAP disabled Revert "arm64: alternative: Allow immediate branch as alternative instruction" commit 3c25a75ee047c3393cc5b995c6c68c8cbdaf02fa Merge: 110bc76 5c1ac56 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 14 18:02:15 2015 -0700 Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging Pull dmi fixes from Jean Delvare. * 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: firmware: dmi_scan: Fix ordering of product_uuid firmware: dmi_scan: Simplified displayed version commit 4de5167ee07f7a9b66d999e40f2c3193d1a08add Merge: b9a5e5e ff284f3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri May 15 00:31:23 2015 +0200 Merge branches 'acpi-init' and 'acpica' * acpi-init: ACPI / init: Fix the ordering of acpi_reserve_resources() * acpica: Revert "ACPICA: Permanently set _REV to the value '2'." commit 5c1ac56b51b9d222ab202dec1ac2f4215346129d Author: Jean Delvare <jdelvare@xxxxxxx> Date: Thu May 14 14:40:50 2015 +0200 firmware: dmi_scan: Fix ordering of product_uuid In function dmi_present(), dmi_walk_early() calls dmi_table(), which calls dmi_decode(), which ultimately calls dmi_save_uuid(). This last function makes a decision based on the value of global variable dmi_ver. The problem is that this variable is set right _after_ dmi_walk_early() returns. So dmi_save_uuid() always sees dmi_ver == 0 regardless of the actual version implemented. This causes /sys/class/dmi/id/product_uuid to always use the old ordering even on systems implementing DMI/SMBIOS 2.6 or later, which should use the new ordering. This is broken since kernel v3.8 for legacy DMI implementations and since kernel v3.10 for SMBIOS 2 implementations. SMBIOS 3 implementations with the 64-bit entry point are not affected. The first breakage does not matter much as in practice legacy DMI implementations are always for versions older than 2.6, which is when the UUID ordering changed. The second breakage is more problematic as it affects the vast majority of x86 systems manufactured since 2009. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Fixes: 9f9c9cbb6057 ("drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists") Fixes: 79bae42d51a5 ("dmi_scan: refactor dmi_scan_machine(), {smbios,dmi}_present()") Acked-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Artem Savkov <artem.savkov@xxxxxxxxx> Cc: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Cc: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [v3.10+] commit c24930457d4b06903aa5dada50e04a83513e3b6b Author: Jean Delvare <jdelvare@xxxxxxx> Date: Thu May 14 14:40:50 2015 +0200 firmware: dmi_scan: Simplified displayed version The trailing .x adds no information for the reader, and if anyone tries to parse that line, this is more work as they have 3 different formats to handle instead of 2. Plus, this makes backporting fixes harder. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Fixes: 95be58df74a5 ("firmware: dmi_scan: Use full dmi version for SMBIOS3") Cc: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> commit 110bc76729d448fdbcb5cdb63b83d9fd65ce5e26 Merge: 6c9d370 01d460d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 12 21:10:38 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Handle max TX power properly wrt VIFs and the MAC in iwlwifi, from Avri Altman. 2) Use the correct FW API for scan completions in iwlwifi, from Avraham Stern. 3) FW monitor in iwlwifi accidently uses unmapped memory, fix from Liad Kaufman. 4) rhashtable conversion of mac80211 station table was buggy, the virtual interface was not taken into account. Fix from Johannes Berg. 5) Fix deadlock in rtlwifi by not using a zero timeout for usb_control_msg(), from Larry Finger. 6) Update reordering state before calculating loss detection, from Yuchung Cheng. 7) Fix off by one in bluetooth firmward parsing, from Dan Carpenter. 8) Fix extended frame handling in xiling_can driver, from Jeppe Ledet-Pedersen. 9) Fix CODEL packet scheduler behavior in the presence of TSO packets, from Eric Dumazet. 10) Fix NAPI budget testing in fm10k driver, from Alexander Duyck. 11) macvlan needs to propagate promisc settings down the the lower device, from Vlad Yasevich. 12) igb driver can oops when changing number of rings, from Toshiaki Makita. 13) Source specific default routes not handled properly in ipv6, from Markus Stenberg. 14) Use after free in tc_ctl_tfilter(), from WANG Cong. 15) Use softirq spinlocking in netxen driver, from Tony Camuso. 16) Two ARM bpf JIT fixes from Nicolas Schichan. 17) Handle MSG_DONTWAIT properly in ring based AF_PACKET sends, from Mathias Kretschmer. 18) Fix x86 bpf JIT implementation of FROM_{BE16,LE16,LE32}, from Alexei Starovoitov. 19) ll_temac driver DMA maps TX packet header with incorrect length, fix from Michal Simek. 20) We removed pm_qos bits from netdevice.h, but some indirect references remained. Kill them. From David Ahern. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (90 commits) net: Remove remaining remnants of pm_qos from netdevice.h e1000e: Add pm_qos header net: phy: micrel: Fix regression in kszphy_probe net: ll_temac: Fix DMA map size bug x86: bpf_jit: fix FROM_BE16 and FROM_LE16/32 instructions netns: return RTM_NEWNSID instead of RTM_GETNSID on a get Update be2net maintainers' email addresses net_sched: gred: use correct backlog value in WRED mode pppoe: drop pppoe device in pppoe_unbind_sock_work net: qca_spi: Fix possible race during probe net: mdio-gpio: Allow for unspecified bus id af_packet / TX_RING not fully non-blocking (w/ MSG_DONTWAIT). bnx2x: limit fw delay in kdump to 5s after boot ARM: net: delegate filter to kernel interpreter when imm_offset() return value can't fit into 12bits. ARM: net fix emit_udiv() for BPF_ALU | BPF_DIV | BPF_K intruction. mpls: Change reserved label names to be consistent with netbsd usbnet: avoid integer overflow in start_xmit netxen_nic: use spin_[un]lock_bh around tx_clean_lock (2) net: xgene_enet: Set hardware dependency net: amd-xgbe: Add hardware dependency ... commit 01d460dd70adc858e15307332832183c622bee50 Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue May 12 09:37:00 2015 -0600 net: Remove remaining remnants of pm_qos from netdevice.h Commit e2c6544829f removed pm_qos from struct net_device but left the comment and header file. Remove those. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5684044f8062617dcc45ed8b2fb3ec6e02f14370 Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue May 12 09:36:59 2015 -0600 e1000e: Add pm_qos header Commit e2c6544829f moved pm_qos_req to e1000_adapter. Add the header file that defines the struct. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bced870152161435cc59a53e77f3699f8e8f22ca Author: Niklas Cassel <niklas.cassel@xxxxxxxx> Date: Tue May 12 09:43:14 2015 +0200 net: phy: micrel: Fix regression in kszphy_probe Don't do clock-mode-select if clk == NULL, since when building without CONFIG_HAVE_CLK, clk_get returns NULL and clk_get_rate returns 0. Doing clock-mode-select in this cause causes kszphy_probe to return -EINVAL and thus prevents the device from being probed. The original code (before regression) would return 0 when building without CONFIG_HAVE_CLK. Cc: stable <stable@xxxxxxxxxxxxxxx> # 3.18+ Fixes: 1fadee0c3645 ("net/phy: micrel: Add clock support for KSZ8021/KSZ8031") Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Niklas Cassel <niklass@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 44d4f8d74e1dd07f248f35d74419f07d44f326e6 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Tue May 12 08:06:15 2015 +0200 net: ll_temac: Fix DMA map size bug DMA allocates skb->len instead of headlen which is used for DMA. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 343f845b375989f1753f605902931fa939aa2223 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon May 11 23:25:16 2015 -0700 x86: bpf_jit: fix FROM_BE16 and FROM_LE16/32 instructions FROM_BE16: 'ror %reg, 8' doesn't clear upper bits of the register, so use additional 'movzwl' insn to zero extend 16 bits into 64 FROM_LE16: should zero extend lower 16 bits into 64 bit FROM_LE32: should zero extend lower 32 bits into 64 bit Fixes: 89aa075832b0 ("net: sock: allow eBPF programs to be attached to sockets") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c9d370c16aad97cfc6de68666634eaabac2b048 Merge: 03906ca 620b155 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 12 16:02:06 2015 -0700 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS fixes from Ralf Baechle: "One build fix for build breakage of all MIPS SMP kernels caused by Rusty's fix of obsolete use of cpu mask helpers, another to fix the FP ABI selection when loading an ELF binary" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: fix FP mode selection in lieu of .MIPS.abiflags data MIPS: SMP: Fix build error. commit 03906ca389211e167e0d8e9e5ec330e9be467936 Merge: cc49e8c f4f01b5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 12 15:54:54 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma Pull rdma fixes from Doug Ledford: - update MAINTAINERS git repo pointer - printk garbage fix - fix for qib and iw_cxgb4 bugs introduced in 4.1 window - fix for an older iWARP netlink bug - fix a memcpy issue in ehca driver * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: infiniband: Remove duplicated KERN_<LEVEL> from pr_<level> uses IB/qib: fix test of unsigned variable RDMA/core: Fix for parsing netlink string attribute MAINTAINERS: update the official rdma git repo iw_cxgb4: use wildcard mapping for getting remote addr info IB/ehca: use correct destination for memcpy commit e3d8ecb70e16412b14fb11c1b68ecb533bd4ea64 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon May 11 15:57:31 2015 +0200 netns: return RTM_NEWNSID instead of RTM_GETNSID on a get Usually, RTM_NEWxxx is returned on a get (same as a dump). Fixes: 0c7aecd4bde4 ("netns: add rtnl cmd to add and get peer netns ids") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc49e8c9e66d4c52b121de0da666393c4140c0f2 Merge: 4cfceaf 8ebb7e9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 12 15:49:29 2015 -0700 Merge tag 'for-v4.1-rc' of git://git.infradead.org/battery-2.6 Pull power supply and reset fixes from Sebastian Reichel: "misc fixes" * tag 'for-v4.1-rc' of git://git.infradead.org/battery-2.6: power: bq27x00_battery: Add missing MODULE_ALIAS power: reset: Add MFD_SYSCON depends for brcmstb power: reset: ltc2952: Remove bogus hrtimer_start() return value checks power_supply: fix oops in collie_battery driver power/reset: at91: fix return value check in at91_reset_platform_probe() MAINTAINERS: Add me as maintainer of Nokia N900 power supply drivers axp288_fuel_gauge: Add original author details commit ff284f37fc0e6f3b51ede85c5944d571b640ac0f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed May 13 00:44:14 2015 +0200 Revert "ACPICA: Permanently set _REV to the value '2'." Revert commit b1ef29725865 (ACPICA: Permanently set _REV to the value '2'.) as it causes a sound regression to happen on Dell XPS 13 (2015). Reported-by: Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f4f01b542c027b0df57109140c3ee48321705c88 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri May 8 15:58:07 2015 -0700 infiniband: Remove duplicated KERN_<LEVEL> from pr_<level> uses These KERN_<LEVEL> uses are unnecessary with pr_<level> and cause bad logging output so remove them. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ec40f925e0151e3c130fce2b5a1c6389c5b5e4dd Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Tue May 12 13:42:42 2015 -0400 IB/qib: fix test of unsigned variable Commit d4988623cc60 ("IB/qib: use arch_phys_wc_add()") adjusted mtrr inititialization to use the new interface. Unfortunately, the new interface returns a signed value and the patch tested the unsigned wc_cookie. Fix the issue by changing the type of wc_cookie to int. For the success case the ret left at zero to avoid a warning from the caller. For failure wc_cookie is used as the ret. Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ec04847c0c5b471bab2dacceadfdb803a9d1a2ea Author: Tatyana Nikolova <Tatyana.E.Nikolova@xxxxxxxxx> Date: Fri May 8 16:36:33 2015 -0500 RDMA/core: Fix for parsing netlink string attribute The string iwpm_ulib_name is recorded in a nlmsg as a netlink attribute. Without this fix parsing of the nlmsg by the userspace port mapper service fails because of unknown attribute length, causing the port mapper service not to register the client, which has sent the nlmsg. Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v3.16 Reviewed-By: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 620b155034570f577470cf5309f741bac6a6e32b Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Wed May 6 11:52:32 2015 +0100 MIPS: fix FP mode selection in lieu of .MIPS.abiflags data Commit 46490b572544 ("MIPS: kernel: elf: Improve the overall ABI and FPU mode checks") reworked the ELF FP ABI mode selection logic, but when CONFIG_MIPS_O32_FP64_SUPPORT is enabled it breaks the use of binaries which have no PT_MIPS_ABIFLAGS program header & associated .MIPS.abiflags section. A default mode is selected based upon whether the ELF contains MIPS32 or MIPS64 code, but that selection is made in arch_elf_pt_proc. arch_elf_pt_proc only executes when a PT_MIPS_ABIFLAGS program header is found. If one is not found then arch_elf_pt_proc is never called, and no default overall_fp_mode value is selected. When arch_check_elf is called, both abi0 & abi1 are MIPS_ABI_FP_UNKNOWN which leads to both prog_req & interp_req being set to none_req. none_req matches none of the conditions for mode selection at the end of arch_check_elf, so overall_fp_mode is left untouched. Finally once mips_set_personality_fp is called the BUG() in the default case is then hit & the kernel likely panics. Fix this by moving the selection of a default overall mode to the start of arch_check_elf, which runs once per ELF executed regardless of whether it has a PT_MIPS_ABIFLAGS program header. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Patchwork: http://patchwork.linux-mips.org/patch/9978/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4801ba338acad2e69e905e0c537e8ba2682c4e65 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 1 17:15:23 2015 +0100 arm64: perf: fix memory leak when probing PMU PPIs Commit d795ef9aa831 ("arm64: perf: don't warn about missing interrupt-affinity property for PPIs") added a check for PPIs so that we avoid parsing the interrupt-affinity property for these naturally affine interrupts. Unfortunately, this check can trigger an early (successful) return and we will leak the irqs array. This patch fixes the issue by reordering the code so that the check is performed before any independent allocation. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6938f8558167fd1d30233018976ebe310fa6f69b Author: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Date: Tue May 12 02:13:50 2015 -0400 Update be2net maintainers' email addresses Emulex developers' email addresses are now "@avagotech" instead of "@emulex". I'm also replacing Subbu with Padmanabh and Sriharsha in the maintainers list. The driver's heading was outdated and did not include some of the chip types (BE3, Lancer and Skyhawk) that the driver has been supporting for a longtime. I've updated this too. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cafb45b2562baa57cb58bef0636c073705954cc4 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue May 12 06:43:04 2015 +0200 MIPS: SMP: Fix build error. CC arch/mips/kernel/smp.o arch/mips/kernel/smp.c: In function â??start_secondaryâ??: arch/mips/kernel/smp.c:149:2: error: passing argument 2 of â??cpumask_set_cpuâ?? discards â??volatileâ?? qualifier from pointer target type [-Werror] cpumask_set_cpu(cpu, &cpu_callin_map); ^ In file included from ./arch/mips/include/asm/processor.h:14:0, from ./arch/mips/include/asm/thread_info.h:15, from include/linux/thread_info.h:54, from include/asm-generic/preempt.h:4, from arch/mips/include/generated/asm/preempt.h:1, from include/linux/preempt.h:18, from include/linux/interrupt.h:8, from arch/mips/kernel/smp.c:24: include/linux/cpumask.h:272:91: note: expected â??struct cpumask *â?? but argument is of type â??volatile struct cpumask_t *â?? static inline void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp) ^ arch/mips/kernel/smp.c: In function â??smp_prepare_boot_cpuâ??: arch/mips/kernel/smp.c:211:2: error: passing argument 2 of â??cpumask_set_cpuâ?? discards â??volatileâ?? qualifier from pointer target type [-Werror] cpumask_set_cpu(0, &cpu_callin_map); ^ In file included from ./arch/mips/include/asm/processor.h:14:0, from ./arch/mips/include/asm/thread_info.h:15, from include/linux/thread_info.h:54, from include/asm-generic/preempt.h:4, from arch/mips/include/generated/asm/preempt.h:1, from include/linux/preempt.h:18, from include/linux/interrupt.h:8, from arch/mips/kernel/smp.c:24: include/linux/cpumask.h:272:91: note: expected â??struct cpumask *â?? but argument is of type â??volatile struct cpumask_t *â?? static inline void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp) ^ arch/mips/kernel/smp.c: In function â??__cpu_upâ??: arch/mips/kernel/smp.c:221:10: error: passing argument 2 of â??cpumask_test_cpuâ?? discards â??volatileâ?? qualifier from pointer target type [-Werror] while (!cpumask_test_cpu(cpu, &cpu_callin_map)) ^ In file included from ./arch/mips/include/asm/processor.h:14:0, from ./arch/mips/include/asm/thread_info.h:15, from include/linux/thread_info.h:54, from include/asm-generic/preempt.h:4, from arch/mips/include/generated/asm/preempt.h:1, from include/linux/preempt.h:18, from include/linux/interrupt.h:8, from arch/mips/kernel/smp.c:24: include/linux/cpumask.h:294:90: note: expected â??const struct cpumask *â?? but argument is of type â??volatile struct cpumask_t *â?? static inline int cpumask_test_cpu(int cpu, const struct cpumask *cpumask) ^ cc1: all warnings being treated as errors make[2]: *** [arch/mips/kernel/smp.o] Error 1 make[1]: *** [arch/mips/kernel] Error 2 make: *** [arch/mips] Error 2 Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2936ae04aa5d7ebfd9921e363a8e8686f8bb5936 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Mon May 11 21:03:36 2015 -0400 MAINTAINERS: update the official rdma git repo Linus prefers kernel.org repos to github repos for security. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4cfceaf0c087f47033f5e61a801f4136d6fb68c6 Merge: ef20816 4bd9e9b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 14:42:52 2015 -0700 Merge branch 'for-4.1' of git://linux-nfs.org/~bfields/linux Pull nfsd bugfixes from Bruce Fields: "Mainly pnfs fixes (and for problems with generic callback code made more obvious by pnfs)" * 'for-4.1' of git://linux-nfs.org/~bfields/linux: nfsd: skip CB_NULL probes for 4.1 or later nfsd: fix callback restarts nfsd: split transport vs operation errors for callbacks svcrpc: fix potential GSSX_ACCEPT_SEC_CONTEXT decoding failures nfsd: fix pNFS return on close semantics nfsd: fix the check for confirmed openowner in nfs4_preprocess_stateid_op nfsd/blocklayout: pretend we can send deviceid notifications commit 940fd304d233534038365f56d30c29ed7fd7416b Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 16:34:23 2015 -0500 iw_cxgb4: use wildcard mapping for getting remote addr info For listening endpoints bound to the wildcard address, we need to pass the wildcard address mapping to iwpm_get_remote_info() instead of the mapped address of the new child connection. Without this fix, and with iwarp port mapping enabled, each iw_cxgb4 connection that is spawned from a listening endpoint bound to the wildcard address, will generate an annoying dmesg entry about failing to find the remote address mapping info, and the connection state displayed in debugfs under /sys/kernel/debug/iw_cxgb4/<pci-slot-no>/eps will not have the peer's address/port mapping info. The connection still works though. Fixes: 5b6b8fe ("RDMA/cxgb4: Report the actual address of the remote connecting peer") Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Tatyana Nikolova <Tatyana.E.Nikolova@xxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 94634e9861abbc3036d7041773971c8e31ec2680 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon May 11 16:38:02 2015 +0200 IB/ehca: use correct destination for memcpy Using an element of a struct as the address for the memcpy of the whole struct may introduce a buffer overflow and does not help readability either simply pass the real thing as first argument to memcpy. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ef208162b7b4c40de1825a61677e167c081f5fee Merge: a156e06 c8b3504 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 13:57:47 2015 -0700 Merge tag 'spi-fix-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi fixes from Mark Brown: "A number of driver specific fixes (including several missing dependencies for randconfig type cases) plus two core fixes. One makes the setup_transfer() callback optional which unbreaks some drivers which had been merged with it omitted due to local versions of this patch and another ensures that we don't corrupt data by leaking internal dummy buffers to callers, causing the callers to think they allocated those buffers" * tag 'spi-fix-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: spi: fsl-espi: fix behaviour for full-duplex xfers spi: fsl-spi: fix devm_ioremap_resource() error case spi: Kconfig: Add SOC_LS1021A to SPI_FSL_DSPI dependence spi/omap2-mcpsi: Always call spi_finalize_current_message() spi: fsl-spi: use devm_ioremap_resource() to map parameter ram on CPM1 spi: bitbang: Make setup_transfer() callback optional spi: check tx_buf and rx_buf in spi_unmap_msg spi: bcm2835: change timeout of polling driver to 1s spi: bcm2835: Add GPIOLIB dependency commit a156e0682f5b328094c273435a46e32e100ba898 Merge: 9c922a5 5dc5616 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 11:09:54 2015 -0700 Merge tag 'iommu-fixes-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull iommu fixes from Joerg Roedel: "Three fixes have queued up: - reference count fix in the AMD IOMMUv2 driver - sign extension fix in the ARM-SMMU driver - build fix for rockchip driver with device tree" * tag 'iommu-fixes-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu/arm-smmu: Fix sign-extension of upstream bus addresses at stage 1 iommu/rockchip: Fix build without CONFIG_OF iommu/amd: Fix bug in put_pasid_state_wait commit 9c922a55dbfff812e8becbcfd90d1ce856adb0d9 Merge: b3e5838 ec59a65 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 11:05:13 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fixes from Herbert Xu: "This fixes a the implementation of CRC32 on arm64 where it incorrectly applied negation on the result. It also fixes the arm64 implementations of SHA/SHA256 where in some cases it may end up finalising the result twice" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: arm64/sha2-ce - prevent asm code finalization in final() path crypto: arm64/sha1-ce - prevent asm code finalization in final() path crypto: arm64/crc32 - bring in line with generic CRC32 commit b3e5838ac01c6815fc3d15fd00c8eb23889e5962 Merge: c91aa67 dbfe8ef Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 10:54:20 2015 -0700 Merge branch 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata fixes from Tejun Heo: "Rather big for fixes pull. - SCC controllers never lived to see the light of the day. Both libata and ide drivers removed. - In some configurations, link power management policy changes sometimes cause delayed spurious PHY events which can develop into noticeable failures. This has been reported several times over the years. Gabriele's patches suppress PHY events for a while after LPM policy changes which should help most of these failures without causing too much problem for hotplug use cases. - A few controller specific fixes" [ Hmm. I don't think removing SSC support is really a "fix", but hey, it removes a lot of lines of code. Which I like. So ... good riddance ] * 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: ahci: avoton port-disable reset-quirk ata: select DW_DMAC in case of SATA_DWC libata: Blacklist queued TRIM on all Samsung 800-series libata: Ignore spurious PHY event on LPM policy change libata: Add helper to determine when PHY events should be ignored ata: ahci_st: fixup layering violations / drvdata errors Remove celleb-only SCC PATA drivers commit c91aa67eede4cdee97844854bdf5b695ab26893e Merge: 030bbdb bb27051 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 10:33:31 2015 -0700 Merge tag 'md/4.1-rc3-fixes' of git://neil.brown.name/md Pull md bugfixes from Neil Brown: "A few fixes for md. Most of these are related to the new "batched stripe writeout", but there are a few others" * tag 'md/4.1-rc3-fixes' of git://neil.brown.name/md: md/raid5: fix handling of degraded stripes in batches. md/raid5: fix allocation of 'scribble' array. md/raid5: don't record new size if resize_stripes fails. md/raid5: avoid reading parity blocks for full-stripe write to degraded array md/raid5: more incorrect BUG_ON in handle_stripe_fill. md/raid5: new alloc_stripe() to allocate an initialize a stripe. md-raid0: conditional mddev->queue access to suit dm-raid commit 145a42b3a964c6647464f05bd58aa33787de7f75 Author: David Ward <david.ward@xxxxxxxxxx> Date: Sat May 9 22:01:47 2015 -0400 net_sched: gred: use correct backlog value in WRED mode In WRED mode, the backlog for a single virtual queue (VQ) should not be used to determine queue behavior; instead the backlog is summed across all VQs. This sum is currently used when calculating the average queue lengths. It also needs to be used when determining if the queue's hard limit has been reached, or when reporting each VQ's backlog via netlink. q->backlog will only be used if the queue switches out of WRED mode. Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 665a6cd809f43eec2b51413816a4178a3390a870 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sat May 9 23:08:38 2015 +0200 pppoe: drop pppoe device in pppoe_unbind_sock_work After receiving a PADT and the socket is closed, user space will no longer drop the reference to the pppoe device. This leads to errors like this: [ 488.570000] unregister_netdevice: waiting for eth0.2 to become free. Usage count = 2 Fixes: 287f3a943fe ("pppoe: Use workqueue to die properly when a PADT is received") Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5dc5616ee850eaba055bb469a6c4a471d489140e Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 8 17:44:22 2015 +0100 iommu/arm-smmu: Fix sign-extension of upstream bus addresses at stage 1 Stage 1 translation is controlled by two sets of page tables (TTBR0 and TTBR1) which grow up and down from zero respectively in the ARMv8 translation regime. For the SMMU, we only care about TTBR0 and, in the case of a 48-bit virtual space, we expect to map virtual addresses 0x0 through to 0xffff_ffff_ffff. Given that some masters may be incapable of emitting virtual addresses targetting TTBR1 (e.g. because they sit on a 48-bit bus), the SMMU architecture allows bit 47 to be sign-extended, halving the virtual range of TTBR0 but allowing TTBR1 to be used. This is controlled by the SEP field in TTBCR2. The SMMU driver incorrectly enables this sign-extension feature, which causes problems when userspace addresses are programmed into a master device with the SMMU expecting to map the incoming transactions via TTBR0; if the top bit of address is set, we will instead get a translation fault since TTBR1 walks are disabled in the TTBCR. This patch fixes the issue by disabling sign-extension of a fixed virtual address bit and instead basing the behaviour on the upstream bus size: the incoming address is zero extended unless the upstream bus is only 49 bits wide, in which case bit 48 is used as the sign bit and is replicated to the upper bits. Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ Reported-by: Varun Sethi <varun.sethi@xxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit c8b350424d1862619c311204290cd42bae4ebaa3 Merge: bed5e4d 73ee39a 50574dd 2000058 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon May 11 17:29:49 2015 +0100 Merge remote-tracking branches 'spi/fix/fsl-cpm', 'spi/fix/fsl-dspi' and 'spi/fix/fsl-espi' into spi-linus commit bed5e4d8294249ea1f05dade879a51733484be42 Merge: 030bbdb 5a1b11c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon May 11 17:29:46 2015 +0100 Merge tag 'spi-v4.1-rc1' into spi-linus spi: Fixes for v4.1 A few driver fixes plus two changes for the core, one to make the setup_transfer() callback optional which fixes crashes in some drivers which were updated to use new interfaces without apparent testing and one to ensure we don't expose the data buffers we use for dummy transfers to drivers which avoids potential issues with multiple accesses to them or reuse. # gpg: Signature made Sat 25 Apr 2015 10:59:47 BST using RSA key ID 5D5487D0 # gpg: key CD7BEEBC: no public key for trusted key - skipped # gpg: key CD7BEEBC marked as ultimately trusted # gpg: key AF88CD16: no public key for trusted key - skipped # gpg: key AF88CD16 marked as ultimately trusted # gpg: key 16005C11: no public key for trusted key - skipped # gpg: key 16005C11 marked as ultimately trusted # gpg: key 5621E907: no public key for trusted key - skipped # gpg: key 5621E907 marked as ultimately trusted # gpg: key 5C6153AD: no public key for trusted key - skipped # gpg: key 5C6153AD marked as ultimately trusted # 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 268be0f7a7d9b3644bcb99568efba13cb208b627 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat May 9 07:58:09 2015 +0000 net: qca_spi: Fix possible race during probe Registering the netdev before setting the priv data is unsafe. So fix this possible race by setting the priv data first. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Fixes: 291ab06e (net: qualcomm: new Ethernet over SPI driver for QCA7000) Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c0c82682873354490a5b67c77331bd65a356236 Author: Bert Vermeulen <bert@xxxxxxxx> Date: Fri May 8 16:18:49 2015 +0200 net: mdio-gpio: Allow for unspecified bus id When the bus id was supplied via a struct platform_device, the driver wasn't handling -1 to mean an unspecified id of the only instance of this driver, as the platform spec requires. Signed-off-by: Bert Vermeulen <bert@xxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fbf33a2802f71dba06faa948af805884ff16a2ab Author: Kretschmer, Mathias <mathias.kretschmer@xxxxxxxxxxxxxxxxxxx> Date: Fri May 8 15:44:37 2015 +0200 af_packet / TX_RING not fully non-blocking (w/ MSG_DONTWAIT). This patch fixes an issue where the send(MSG_DONTWAIT) call on a TX_RING is not fully non-blocking in cases where the device's sndBuf is full. We pass nonblock=true to sock_alloc_send_skb() and return any possibly occuring error code (most likely EGAIN) to the caller. As the fast-path stays as it is, we keep the unlikely() around skb == NULL. Signed-off-by: Mathias Kretschmer <mathias.kretschmer@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd9c39977754d9602b5783a44f4af09530a58254 Author: Michal Schmidt <mschmidt@xxxxxxxxxx> Date: Thu May 7 20:37:10 2015 +0200 bnx2x: limit fw delay in kdump to 5s after boot Commit 12a8541d5c82 "bnx2x: Delay during kdump load" added a 5 seconds delay to bnx2x's probe function in the kdump case to let the firmware realize the old driver is gone. The problem with the delay is that it is per-device, so if you have several bnx2x NICs in NPAR mode, the delays can accumulate to minutes. Fix it by adjusting the delay so that we do not wait more than necessary, i.e. no more delaying after 5 seconds of kernel boot time. Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b59d8806a31bb0267b3a461e8fef20c727bdbf6 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Thu May 7 17:14:21 2015 +0200 ARM: net: delegate filter to kernel interpreter when imm_offset() return value can't fit into 12bits. The ARM JIT code emits "ldr rX, [pc, #offset]" to access the literal pool. #offset maximum value is 4095 and if the generated code is too large, the #offset value can overflow and not point to the expected slot in the literal pool. Additionally, when overflow occurs, bits of the overflow can end up changing the destination register of the ldr instruction. Fix that by detecting the overflow in imm_offset() and setting a flag that is checked for each BPF instructions converted in build_body(). As of now it can only be detected in the second pass. As a result the second build_body() call can now fail, so add the corresponding cleanup code in that case. Using multiple literal pools in the JITed code is going to require lots of intrusive changes to the JIT code (which would better be done as a feature instead of fix), just delegating to the kernel BPF interpreter in that case is a more straight forward, minimal fix and easy to backport. Fixes: ddecdfcea0ae ("ARM: 7259/3: net: JIT compiler for packet filters") Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19fc99d0c6ba7d9b65456496b5bb2169d5f74cd0 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Wed May 6 18:31:56 2015 +0200 ARM: net fix emit_udiv() for BPF_ALU | BPF_DIV | BPF_K intruction. In that case, emit_udiv() will be called with rn == ARM_R0 (r_scratch) and loading rm first into ARM_R0 will result in jit_udiv() function being called the same dividend and divisor. Fix that by loading rn first into ARM_R1 and then rm into ARM_R0. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.13+ Fixes: aee636c4809f (bpf: do not use reciprocal divide) Acked-by: Mircea Gherzan <mgherzan@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 030bbdbf4c833bc69f502eae58498bc5572db736 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 10 15:12:29 2015 -0700 Linux 4.1-rc3 commit 01d07351f272888f55f0101338e2c60605f17846 Merge: 41f2a93 332545b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 10 14:58:53 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "I really need to get back to sending these on my Friday, instead of my Monday morning, but nothing too amazing in here: a few amdkfd fixes, a few radeon fixes, i915 fixes, one tegra fix and one core fix" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm: Zero out invalid vblank timestamp in drm_update_vblank_count. drm/tegra: Don't use vblank_disable_immediate on incapable driver. drm/radeon: stop trying to suspend UVD sessions drm/radeon: more strictly validate the UVD codec drm/radeon: make UVD handle checking more strict drm/radeon: make VCE handle check more strict drm/radeon: fix userptr lockup drm/radeon: fix userptr BO unpin bug v3 drm/amdkfd: Initialize sdma vm when creating sdma queue drm/amdkfd: Don't report local memory size drm/amdkfd: allow unregister process with queues drm/i915: Drop PIPE-A quirk for 945GSE HP Mini drm/i915: Sink rate read should be saved in deca-kHz drm/i915/dp: there is no audio on port A drm/i915: Add missing MacBook Pro models with dual channel LVDS drm/i915: Assume dual channel LVDS if pixel clock necessitates it drm/radeon: don't setup audio on asics that don't support it drm/radeon: disable semaphores for UVD V1 (v2) commit 332545b3016cbff066c17037d32ec8aae8e4cfb5 Merge: fdb68e0 736a69c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon May 11 06:06:22 2015 +1000 Merge tag 'drm-intel-fixes-2015-05-08' of git://anongit.freedesktop.org/drm-intel into drm-fixes misc i915 fixes. * tag 'drm-intel-fixes-2015-05-08' of git://anongit.freedesktop.org/drm-intel: drm/i915: Drop PIPE-A quirk for 945GSE HP Mini drm/i915: Sink rate read should be saved in deca-kHz drm/i915/dp: there is no audio on port A drm/i915: Add missing MacBook Pro models with dual channel LVDS drm/i915: Assume dual channel LVDS if pixel clock necessitates it commit fdb68e09bbb1c981f24608d7022c7d93cc47b326 Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Date: Tue Apr 7 06:31:09 2015 +0200 drm: Zero out invalid vblank timestamp in drm_update_vblank_count. Since commit 844b03f27739135fe1fed2fef06da0ffc4c7a081 we make sure that after vblank irq off, we return the last valid (vblank count, vblank timestamp) pair to clients, e.g., during modesets, which is good. An overlooked side effect of that commit for kms drivers without support for precise vblank timestamping is that at vblank irq enable, when we update the vblank counter from the hw counter, we can't update the corresponding vblank timestamp, so now we have a totally mismatched timestamp for the new count to confuse clients. Restore old client visible behaviour from before Linux 3.17, but zero out the timestamp at vblank counter update (instead of disable as in original implementation) if we can't generate a meaningful timestamp immediately for the new vblank counter. This will fix this regression, so callers know they need to retry again later if they need a valid timestamp, but at the same time preserves the improvements made in the commit mentioned above. Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v3.17+ Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 41f2a93cc6d13fa1c82db1281162500fcc57ba3e Merge: 8425ac7 3b8786f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 10 11:16:48 2015 -0700 Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM fixes from Russell King: "A set of ARM fixes: - fix an off-by-one error in the iommu DMA ops, which caused errors with a 4GiB size. - remove comments mentioning the non-existent CONFIG_CPU_ARM1020_CPU_IDLE macro. - remove useless CONFIG_CPU_ICACHE_STREAMING_DISABLE blocks, where this symbol never appeared in any Kconfig. - fix Feroceon code to cope with a previous change correctly (it incorrectly left an additional word in an assembly structure definition) - avoid a misleading IRQ affinity warning in the ARM PMU code for IRQs which are already affine to their CPUs. - fix the node name printed in the IRQ affinity warning" * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: 8352/1: perf: Fix the pmu node name in warning message ARM: 8351/1: perf: don't warn about missing interrupt-affinity property for PPIs ARM: 8350/1: proc-feroceon: Fix feroceon_proc_info macro ARM: 8349/1: arch/arm/mm/proc-arm925.S: remove dead #ifdef block ARM: 8348/1: remove comments on CPU_ARM1020_CPU_IDLE ARM: 8347/1: dma-mapping: fix off-by-one check in arm_setup_iommu_dma_ops commit 8425ac7a0d56731df5455c3015c59484f39eab6d Merge: 8f59ae0 8cf5e6d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 10 11:13:19 2015 -0700 Merge tag 'samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung Pull samsung fixes from Kukjin Kim: "Here is Samsung fixes for v4.1. Since I've missed to send this via arm-soc tree before v4.1-rc3, so I'm sending this to you directly - fix commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420") which causes 'unhandled fault: imprecise external abort' error when PD turned off. ("make DP a consumer of DISP1 power domain") - fix 's3c-rtc' probe failure on Odriod-X2/U2/U3 boards ("add 'rtc_src' clock to rtc node for source clock of rtc") - fix typo for 'cpu-crit-0' trip point on exynos5420/5440 - fix S2R failure on exynos5250-snow due to card power of Marvell WiFi driver (suspend/resume) ("add keep-power-in-susped to WiFi SDIO node")" * tag 'samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Add keep-power-in-suspend to WiFi SDIO node for exynos5250-snow ARM: dts: Fix typo in trip point temperature for exynos5420/5440 ARM: dts: add 'rtc_src' clock to rtc node for exynos4412-odroid boards ARM: dts: Make DP a consumer of DISP1 power domain on Exynos5420 commit dbfe8ef5599a5370abc441fcdbb382b656563eb4 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri May 8 15:23:55 2015 -0400 ahci: avoton port-disable reset-quirk Avoton AHCI occasionally sees drive probe timeouts at driver load time. When this happens SCR_STATUS indicates device detected, but no D2H FIS reception. Reset the internal link state machines by bouncing port-enable in the PCS register when this occurs. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 78f5b899195019f71f7593c604d75ca61658eae3 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Thu May 7 08:08:51 2015 -0700 mpls: Change reserved label names to be consistent with netbsd Since these are now visible to userspace it is nice to be consistent with BSD (sys/netmpls/mpls.h in netBSD). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c0004d3960a3ebffc68c372dfd98c09d1c680eb Merge: 3e4336a 2439fc4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat May 9 22:23:59 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-05-07 This series contains updates to igb only. Toshiaki provides two fixes for igb, first fixes an issue when changing the number of rings by ethtool which causes oops because of uninitialized pointers. The second fix resolves a typo where tx_ring was used instead of the desired rx_ring. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f59ae0643b2057ad996ab23488e9be1ba2564f4 Merge: 51dfcb0 c9d862c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat May 9 16:13:38 2015 -0700 Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Arnd Bergmann: "A few patches have come up since the merge window. The largest one is a rewrite of the PXA lubbock/mainstone IRQ handling. This was already broken in 2011 by a change to the GPIO code and only noticed now. The other changes contained here are: MAINTAINERS file updates: - Ray Jui and Scott Branden are now co-maintainers for some of the mach-bcm chips, while Christian Daudt and Marc Carino have stepped down. - Andrew Victor is no longer maintaining at91. Instead, Alexandre Belloni now becomes an official maintainer, after having done a bulk of the work for a while. - Baruch Siach, who added the mach-digicolor platform in 4.1 is now listed as maintainer - The git URL for mach-socfpga has changed Bug fixes: - Three bug fixes for new rockchip rk3288 code - A regression fix to make SD card support work on certain ux500 boards - multiple smaller dts fixes for imx, omap, mvebu, and shmobile - a regression ï¬?ix for omap3 power consumption - a fix for regression in the ARM CCI bus driver Configuration changes: - more imx platforms are now enabled in multi_v7_defconfig" * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (39 commits) MAINTAINERS: add Conexant Digicolor machines entry MAINTAINERS: socfpga: update the git repo for SoCFPGA ARM: multi_v7_defconfig: Select more FSL SoCs MAINTAINERS: replace an AT91 maintainer drivers: CCI: fix used_mask init in validate_group() bus: omap_l3_noc: Fix master id address decoding for OMAP5 bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance ARM: dts: dra7: Fix efuse register size for ABB ARM: dts: am57xx-beagle-x15: Switch GPIO fan number ARM: dts: am57xx-beagle-x15: Switch UART mux pins ARM: dts: am437x-sk: reduce col-scan-delay-us ARM: dts: am437x-sk: fix for new newhaven display module revision ARM: dts: am57xx-beagle-x15: Fix RTC aliases ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x ARM: dts: omap3: Add #iommu-cells to isp and iva iommu ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO ARM: dts: OMAP3-N900: Add microphone bias voltages ARM: OMAP2+: Fix omap off idle power consumption creeping up MAINTAINERS: Update brcmstb entry MAINTAINERS: Remove Christian Daudt for mach-bcm ... commit 51dfcb076d1e1ce7006aa272cb7c4514740c7e47 Merge: 9d88f22 7e96c1b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat May 9 16:07:14 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace Pull user-namespace fix from Eric Biederman: "Eric Windish recently reported a really bug that allows mounting fresh copies of proc and sysfs when it really should not be allowed. The code attempted to verify that proc and sysfs were fully visible but there is a test missing to ensure that the root of the filesystem is visible. Doh! The following patch fixes that. This fixes a containment issue that the docker folks are seeing" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: mnt: Fix fs_fully_visible to verify the root directory is visible commit 9d88f22a819db8a9ff78496edf5553e90d88179c Merge: 95f3b1f 1dcc73d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat May 9 14:59:05 2015 -0700 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq updates from Thomas Gleixner: "Two patches from the irq departement: - a simple fix to make dummy_irq_chip usable for wakeup scenarios - removal of the gic arch_extn hackery. Now that all users are converted we really want to get rid of the interface so people wont come up with new use cases" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip: gic: Drop support for gic_arch_extn genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip commit 95f3b1f4b1df4716ce2db8aa2243b7e288eeb9a7 Merge: 1a9f064 149aabc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat May 9 14:57:49 2015 -0700 Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fix from Thomas Gleixner: "A simple fix to actually shut down a detached device instead of keeping it active" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: clockevents: Shutdown detached clockevent device commit 3e4336a65ab6b45cbac10b8347c8f8951fec515d Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Wed May 6 15:09:40 2015 +0200 usbnet: avoid integer overflow in start_xmit transfer_buffer_length is of type u32. It's therefore wrong to assign it to a signed integer. This patch avoids the overflow. It's worth noting that entry->length here is a long; perhaps it would be beneficial at somepoint to change this to be unsigned as well, if nothing else relies on its signedness for error conditions or the like. Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 240b23c4269777abba4eba43acd1f53ec530bb7d Author: Tony Camuso <tcamuso@xxxxxxxxxx> Date: Wed May 6 09:09:18 2015 -0400 netxen_nic: use spin_[un]lock_bh around tx_clean_lock (2) This patch should have been part of the previous patch having the same summary. See http://marc.info/?l=linux-kernel&m=143039470103795&w=2 Unfortunately, I didn't check to see where else this lock was used before submitting that patch. This should take care of it for netxen_nic, as I did a thorough search this time. To recap from the original patch; although testing this driver with DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled did not produce any traces, it would be more prudent in the case of tx_clean_lock to use _bh versions of spin_[un]lock, since this lock is manipulated in both the process and softirq contexts. This patch was tested for functionality and regressions with netperf and DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled. Signed-off-by: Tony Camuso <tcamuso@xxxxxxxxxx> Acked-By: Neil Horman <nhorman@xxxxxxxxxxxxx> Acked-By: Manish Chopra <manish.chopra@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccad725ccb068851fbce2022b2a51fa458d1eac1 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Wed May 6 09:14:34 2015 +0200 net: xgene_enet: Set hardware dependency The xgene_enet driver is only useful on X-Gene SoC. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Iyappan Subramanian <isubramanian@xxxxxxx> Cc: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74a78b15e6e3dd909a39e0d99dfa0268c126e2c6 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Wed May 6 09:04:40 2015 +0200 net: amd-xgbe: Add hardware dependency The amd-xgbe driver currently only works with the Seattle SoC, which is ARM64 architecture, so there is no point in building this driver on other architectures except for build testing purpose. The dependency list can be updated later if the driver ever supports other architectures. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Tom Lendacky <thomas.lendacky@xxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d744318574090c3b796915d9d710bdb17db191a1 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue May 5 15:22:02 2015 -0700 net_sched: fix a use-after-free in tc_ctl_tfilter() When tcf_destroy() returns true, tp could be already destroyed, we should not use tp->next after that. For long term, we probably should move tp list to list_head. Fixes: 1e052be69d04 ("net_sched: destroy proto tp when all filters are gone") Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1006da19ea6603135773a79f09e4e931be460429 Author: Vasily Titskiy <qehgt0@xxxxxxxxx> Date: Wed May 6 10:31:21 2015 -0400 drivers/net/usb: Add support for 'Lenovo OneLink Pro Dock' This device is sold as 'Lenovo OneLink Pro Dock'. Chipset is RTL8153 and works with r8152. Signed-off-by: Vasily Titskiy <qehgt0@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bfbb92c446700da645e4834fb01439097846ce1e Author: Nathan Sullivan <nathan.sullivan@xxxxxx> Date: Tue May 5 15:00:25 2015 -0500 net: macb: Handle the RXUBR interrupt on all devices The same hardware issue the at91 must work around applies to at least the Zynq ethernet, and possibly more devices. The driver also needs to handle the RXUBR interrupt since it turns it on with MACB_RX_INT_FLAGS anyway. Signed-off-by: Nathan Sullivan <nathan.sullivan@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3196a2468895c219a47f3c370713a4ca59c9f54 Merge: e16e888 c82ac7e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat May 9 16:03:28 2015 -0400 Merge branch 'rds' Sowmini Varadhan says: ==================== net/rds: RDS-TCP robustness fixes This patch-set contains bug fixes for state-recovery at the RDS layer when the underlying transport is TCP and the TCP state at one of the endpoints is reset V2 changes: DaveM comments to reduce memory footprint, follow NFS/RPC model where possible. Added test-case #3 Without the changes in this set, when one of the endpoints is reset, the existing code does not correctly clean up RDS socket state for stale connections, resulting in some unstable, timing-dependant behavior on the wire, including an infinite exchange of 3WHs back-and-forth, and a resulting potential to never converge RDS state. Test cases used to verify the changes in this set are: 1. Start rds client/server applications on two participating nodes, node1 and node2. After at least one packet has been sent (to establish the TCP connection), restart the rds_tcp module on the client, and now resend packets. Tcpdump should show server sending a FIN for the "old" client port, and clean connection establishment/exchange for the new client port. 2. At the end of step 1, restart rds srever on node2, and start client on node1, make sure using tcpdump, 'netstat -an|grep 16385' that packets flow correctly. 3. start RDS client/server application on two participating nodes, and repeat steps 1 and 2, but this time, simulate node failure by doing "ifconfig <intf> down", so no FIN is sent. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c82ac7e69efe6dbe370d6ba84e2666d7692ef1c2 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue May 5 15:20:52 2015 -0400 net/rds: RDS-TCP: only initiate reconnect attempt on outgoing TCP socket. When the peer of an RDS-TCP connection restarts, a reconnect attempt should only be made from the active side of the TCP connection, i.e. the side that has a transient TCP port number. Do not add the passive side of the TCP connection to the c_hash_node and thus avoid triggering rds_queue_reconnect() for passive rds connections. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f711a6ae062caeee46067b2f2f12ffda319ae73c Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue May 5 15:20:51 2015 -0400 net/rds: RDS-TCP: Always create a new rds_sock for an incoming connection. When running RDS over TCP, the active (client) side connects to the listening ("passive") side at the RDS_TCP_PORT. After the connection is established, if the client side reboots (potentially without even sending a FIN) the server still has a TCP socket in the esablished state. If the server-side now gets a new SYN comes from the client with a different client port, TCP will create a new socket-pair, but the RDS layer will incorrectly pull up the old rds_connection (which is still associated with the stale t_sock and RDS socket state). This patch corrects this behavior by having rds_tcp_accept_one() always create a new connection for an incoming TCP SYN. The rds and tcp state associated with the old socket-pair is cleaned up via the rds_tcp_state_change() callback which would typically be invoked in most cases when the client-TCP sends a FIN on TCP restart, triggering a transition to CLOSE_WAIT state. In the rarer event of client death without a FIN, TCP_KEEPALIVE probes on the socket will detect the stale socket, and the TCP transition to CLOSE state will trigger the RDS state cleanup. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e16e888b525503be05b3aea64190e8b3bdef44d0 Author: Markus Stenberg <markus.stenberg@xxxxxx> Date: Tue May 5 13:36:59 2015 +0300 ipv6: Fixed source specific default route handling. If there are only IPv6 source specific default routes present, the host gets -ENETUNREACH on e.g. connect() because ip6_dst_lookup_tail calls ip6_route_output first, and given source address any, it fails, and ip6_route_get_saddr is never called. The change is to use the ip6_route_get_saddr, even if the initial ip6_route_output fails, and then doing ip6_route_output _again_ after we have appropriate source address available. Note that this is '99% fix' to the problem; a correct fix would be to do route lookups only within addrconf.c when picking a source address, and never call ip6_route_output before source address has been populated. Signed-off-by: Markus Stenberg <markus.stenberg@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a801445db4cb00bc900fd89b1e5eb7d7b581d7e Merge: 31ccd0e 89eb6d0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat May 9 15:51:00 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth Johan Hedberg says: ==================== Here are a couple of important Bluetooth & mac802154 fixes for 4.1: - mac802154 fix for crypto algorithm allocation failure checking - mac802154 wpan phy leak fix for error code path - Fix for not calling Bluetooth shutdown() if interface is not up Let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a9f064f516c36d018754407b41921c996439ecf Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Sat May 9 03:39:52 2015 +0930 m32r: make flush_cpumask non-volatile. We cast away the volatile, but really, why make it volatile at all? We already do a mb() inside the cpumask_empty() loop. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7e96c1b0e0f495c5a7450dc4aa7c9a24ba4305bd Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri May 8 16:36:50 2015 -0500 mnt: Fix fs_fully_visible to verify the root directory is visible This fixes a dumb bug in fs_fully_visible that allows proc or sys to be mounted if there is a bind mount of part of /proc/ or /sys/ visible. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Eric Windisch <ewindisch@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 95c607d93f477bd4d079c0529c5f7becad4efffb Merge: af64728 f15133d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 21:39:12 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs fixes from Al Viro: "A couple of fixes for bugs caught while digging in fs/namei.c. The first one is this cycle regression, the second is 3.11 and later" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: path_openat(): fix double fput() namei: d_is_negative() should be checked before ->d_seq validation commit f15133df088ecadd141ea1907f2c96df67c729f0 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri May 8 22:53:15 2015 -0400 path_openat(): fix double fput() path_openat() jumps to the wrong place after do_tmpfile() - it has already done path_cleanup() (as part of path_lookupat() called by do_tmpfile()), so doing that again can lead to double fput(). Cc: stable@xxxxxxxxxxxxxxx # v3.11+ Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 766c4cbfacd8634d7580bac6a1b8456e63de3e84 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu May 7 19:24:57 2015 -0400 namei: d_is_negative() should be checked before ->d_seq validation Fetching ->d_inode, verifying ->d_seq and finding d_is_negative() to be true does *not* mean that inode we'd fetched had been NULL - that holds only while ->d_seq is still unchanged. Shift d_is_negative() checks into lookup_fast() prior to ->d_seq verification. Reported-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit af6472881a6127ad075adf64e459d2905fbc8a5c Merge: 5d5df5e 1d3c61c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 20:59:02 2015 -0700 Merge branch 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fix from Chris Mason: "When an arm user reported crashes near page_address(page) in my new code, it became clear that I can't be trusted with GFP masks. Filipe beat me to the patch, and I'll just be in the corner with my dunce cap on" * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: fix wrong mapping flags for free space inode commit 5d5df5ee7cdb77bfdac3703fd7a6bae5e3e4ab36 Merge: 1daac19 cb31ef4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 20:38:21 2015 -0700 Merge tag 'dm-4.1-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper fixes from Mike Snitzer: "Two additional fixes for changes introduced via DM during the 4.1 merge window. The first reverts a dm-crypt change that wasn't correct. The second fixes a device format regression that impacted userspace" * tag 'dm-4.1-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: init: fix regression by supporting devices with major:minor:offset format Revert "dm crypt: fix deadlock when async crypto algorithm returns -EBUSY" commit 1daac193f21d6e3d0adc528a06a7e11522d4254d Merge: 41c64bb 0ff28d9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 19:49:35 2015 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block fixes from Jens Axboe: "A collection of fixes since the merge window; - fix for a double elevator module release, from Chao Yu. Ancient bug. - the splice() MORE flag fix from Christophe Leroy. - a fix for NVMe, fixing a patch that went in in the merge window. From Keith. - two fixes for blk-mq CPU hotplug handling, from Ming Lei. - bdi vs blockdev lifetime fix from Neil Brown, fixing and oops in md. - two blk-mq fixes from Shaohua, fixing a race on queue stop and a bad merge issue with FUA writes. - division-by-zero fix for writeback from Tejun. - a block bounce page accounting fix, making sure we inc/dec after bouncing so that pre/post IO pages match up. From Wang YanQing" * 'for-linus' of git://git.kernel.dk/linux-block: splice: sendfile() at once fails for big files blk-mq: don't lose requests if a stopped queue restarts blk-mq: fix FUA request hang block: destroy bdi before blockdev is unregistered. block:bounce: fix call inc_|dec_zone_page_state on different pages confuse value of NR_BOUNCE elevator: fix double release of elevator module writeback: use |1 instead of +1 to protect against div by zero blk-mq: fix CPU hotplug handling blk-mq: fix race between timeout and CPU hotplug NVMe: Fix VPD B0 max sectors translation commit 41c64bb19c740b5433f768032ecaf05375c955ee Merge: a8a0811 d2d05c6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 19:42:59 2015 -0700 Merge tag 'gpio-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO fixes from Linus Walleij: "Here is a bunch of GPIO fixes that I collected since -rc1, nothing controversial, nothing special: - fix a memory leak for GPIO hotplug. - fix a signedness bug in the ACPI GPIO pin validation. - driver fixes: Qualcomm SPMI and OMAP MPUIO IRQ issues" * tag 'gpio-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: gpio: omap: Fix regression for MPUIO interrupts gpio: sysfs: fix memory leaks and device hotplug pinctrl: qcom-spmi-gpio: Fix input value report pinctrl: qcom-spmi-gpio: Fix output type configuration gpiolib: change gpio pin from unsigned to signed in acpi callback commit a8a0811314db714ae23ab9f0ea707711a076bf18 Merge: 26b293e 4de3bf6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 19:34:35 2015 -0700 Merge tag 'mmc-4.1-rc2' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC fixes from Ulf Hansson: "MMC core: - Don't access RPMB partitions for normal read/write - Fix hibernation restore sequence MMC host: - dw_mmc: Fix card detection for non removable cards - dw_mmc: Fix sglist issue in 32-bit mode - sh_mmcif: Fix timeout value for command request" * tag 'mmc-4.1-rc2' of git://git.linaro.org/people/ulf.hansson/mmc: mmc: dw_mmc: dw_mci_get_cd check MMC_CAP_NONREMOVABLE mmc: dw_mmc: init desc in dw_mci_idmac_init mmc: card: Don't access RPMB partitions for normal read/write mmc: sh_mmcif: Fix timeout value for command request mmc: core: add missing pm event in mmc_pm_notify to fix hib restore commit 26b293e854406ea4276b566cef75426adc3a9688 Merge: 3e0283a ac01ce1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 18:22:05 2015 -0700 Merge tag 'trace-fixes-v4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fix from Steven Rostedt: "The newly added ftrace_print_array_seq() function had a bug in it. Luckily, the only user of it didn't make the 4.1 merge window. But the helper function should be fixed before 4.2 when the users start coming in" * tag 'trace-fixes-v4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Make ftrace_print_array_seq compute buf_len commit 8cf5e6dc8dd55d0f1ad46ab4046c3a8a51d2136d Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sat May 9 03:15:16 2015 +0900 ARM: dts: Add keep-power-in-suspend to WiFi SDIO node for exynos5250-snow The Marvell mwifiex driver prevents the system to enter into a suspend state if the card power is not preserved during a suspend/resume cycle. So Suspend-to-RAM and Suspend-to-idle are failing on Exynos5250 Snow. Add the keep-power-in-suspend Power Management property to the SDIO/MMC node so the mwifiex suspend handler doesn't fail and the system is able to enter into a suspend state. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit cb0f7c8b40c52124fdb73b5e5a1b28202efbb43b Author: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Date: Sat May 9 03:11:21 2015 +0900 ARM: dts: Fix typo in trip point temperature for exynos5420/5440 Remove the extra zero in the "cpu-crit-0" trip point for exynos5420 and exynos5440. Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ee2020a4ca847e2cde4d5ee73572388061730809 Author: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Date: Sat May 9 03:05:51 2015 +0900 ARM: dts: add 'rtc_src' clock to rtc node for exynos4412-odroid boards The Exynos4412 SoC has a s3c6410 RTC where the source clock is now a mandatory property. This patch fixes probe failure of s3c-rtc on Odroid-X2/U2/U3 boards. Signed-off-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Tested-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 0d747762966e47e3660cbd1b7806791c83e04f91 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sat May 9 02:33:42 2015 +0900 ARM: dts: Make DP a consumer of DISP1 power domain on Exynos5420 Commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420") added a device node for the Exynos5420 DISP1 power domain but dit not make the DP controller a consumer of that power domain. This causes an "Unhandled fault: imprecise external abort" error if the exynos-dp driver tries to access the DP controller registers and the PD was turned off. This lead to a kernel panic and a complete system hang. Make the DP controller device node a consumer of the DISP1 power domain to ensure that the PD is turned on when the exynos-dp driver is probed. Fixes: ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420") Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c9d862c48c48883a4327ae82f4a6de1eef928d60 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue Apr 28 13:59:43 2015 +0300 MAINTAINERS: add Conexant Digicolor machines entry This adds Baruch as the maintainer for the Digicolor platform. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit efadb751692f3c10e72cf96c8409e40e60852ff2 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 14:13:12 2015 -0500 MAINTAINERS: socfpga: update the git repo for SoCFPGA The git tree at rocketboards.org is going away. Update the entry to reflect the address of the new location. Also add an entry for all the socfpga_* dts files. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 1e4df6b7208140f3c49f316d33a409d3a161f350 Author: Xi Wang <xi.wang@xxxxxxxxx> Date: Fri May 8 06:39:51 2015 +0100 arm64: bpf: fix signedness bug in loading 64-bit immediate Consider "(u64)insn1.imm << 32 | imm" in the arm64 JIT. Since imm is signed 32-bit, it is sign-extended to 64-bit, losing the high 32 bits. The fix is to convert imm to u32 first, which will be zero-extended to u64 implicitly. Cc: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: 30d3d94cc3d5 ("arm64: bpf: add 'load 64-bit immediate' instruction") Signed-off-by: Xi Wang <xi.wang@xxxxxxxxx> [will: removed non-arm64 bits and redundant casting] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3790e395b8f4b66fe4e53629f304505c110a2be7 Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Date: Mon May 4 06:29:44 2015 +0200 drm/tegra: Don't use vblank_disable_immediate on incapable driver. Tegra would not only need a hardware vblank counter that increments at leading edge of vblank, but also support for instantaneous high precision vblank timestamp queries, ie. a proper implementation of dev->driver->get_vblank_timestamp(). Without these, there can be off-by-one errors during vblank disable/enable if the scanout is inside vblank at en/disable time, and additionally clients will never see any useable vblank timestamps when querying via drmWaitVblank ioctl. This would negatively affect swap scheduling under X11 and Wayland. Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 94754c183ada2143f03f3e16827904aab9e09f8e Merge: 7122e50 79b066b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri May 8 20:52:51 2015 +1000 Merge tag 'drm-amdkfd-fixes-2015-05-07' of git://people.freedesktop.org/~gabbayo/linux into drm-fixes - Add missing initialization of SDMA vm register when creating an SDMA queue - Don't report local memory size, as we don't support local memory allocation yet. - Allow to unregister process with exisiting queues. Until now we blocked it with BUG_ON, which was also an error by itself. * tag 'drm-amdkfd-fixes-2015-05-07' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: Initialize sdma vm when creating sdma queue drm/amdkfd: Don't report local memory size drm/amdkfd: allow unregister process with queues commit 7122e505a52a2b1b8a21101cce04bcdf7c28deab Merge: 5ebe6af 12e49fe Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri May 8 20:52:21 2015 +1000 Merge branch 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Mostly stability fixes for UVD and VCE, plus a few other bug and regression fixes. * 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: stop trying to suspend UVD sessions drm/radeon: more strictly validate the UVD codec drm/radeon: make UVD handle checking more strict drm/radeon: make VCE handle check more strict drm/radeon: fix userptr lockup drm/radeon: fix userptr BO unpin bug v3 drm/radeon: don't setup audio on asics that don't support it drm/radeon: disable semaphores for UVD V1 (v2) commit bb27051f9fd7643f05d8f0babce3337f0b9b3087 Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:40 2015 +1000 md/raid5: fix handling of degraded stripes in batches. There is no need for special handling of stripe-batches when the array is degraded. There may be if there is a failure in the batch, but STRIPE_DEGRADED does not imply an error. So don't set STRIPE_BATCH_ERR in ops_run_io just because the array is degraded. This actually causes a bug: the STRIPE_DEGRADED flag gets cleared in check_break_stripe_batch_list() and so the bitmap bit gets cleared when it shouldn't. So in check_break_stripe_batch_list(), split the batch up completely - again STRIPE_DEGRADED isn't meaningful. Also don't set STRIPE_BATCH_ERR when there is a write error to a replacement device. This simply removes the replacement device and requires no extra handling. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 738a273806ee0568369c9bb19ef3b102f54beef4 Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:39 2015 +1000 md/raid5: fix allocation of 'scribble' array. As the new 'scribble' array is sized based on chunk size, we need to make sure the size matches the largest of 'old' and 'new' chunk sizes when the array is undergoing reshape. We also potentially need to resize it even when not resizing the stripe cache, as chunk size can change without changing number of devices. So move the 'resize' code into a separate function, and consider old and new sizes when allocating. Signed-off-by: NeilBrown <neilb@xxxxxxx> Fixes: 46d5b785621a ("raid5: use flex_array for scribble data") commit 6e9eac2dcee5e19f125967dd2be3e36558c42fff Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:34 2015 +1000 md/raid5: don't record new size if resize_stripes fails. If any memory allocation in resize_stripes fails we will return -ENOMEM, but in some cases we update conf->pool_size anyway. This means that if we try again, the allocations will be assumed to be larger than they are, and badness results. So only update pool_size if there is no error. This bug was introduced in 2.6.17 and the patch is suitable for -stable. Fixes: ad01c9e3752f ("[PATCH] md: Allow stripes to be expanded in preparation for expanding an array") Cc: stable@xxxxxxxxxxxxxxx (v2.6.17+) Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 10d82c5f0d167ef75a2d8d7d4eed9ee43d3369c9 Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:33 2015 +1000 md/raid5: avoid reading parity blocks for full-stripe write to degraded array When performing a reconstruct write, we need to read all blocks that are not being over-written .. except the parity (P and Q) blocks. The code currently reads these (as they are not being over-written!) unnecessarily. Signed-off-by: NeilBrown <neilb@xxxxxxx> Fixes: ea664c8245f3 ("md/raid5: need_this_block: tidy/fix last condition.") commit b0c783b32318bef29d64086fa812e8c659cb5b37 Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:32 2015 +1000 md/raid5: more incorrect BUG_ON in handle_stripe_fill. It is not incorrect to call handle_stripe_fill() when a batch of full-stripe writes is active. It is, however, a BUG if fetch_block() then decides it needs to actually fetch anything. So move the 'BUG_ON' to where it belongs. Signed-off-by: NeilBrown <neilb@xxxxxxx> Fixes: 59fc630b8b5f ("RAID5: batch adjacent full stripe write") commit f18c1a35f62caccb527e8b0990c8801596e7c662 Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:04 2015 +1000 md/raid5: new alloc_stripe() to allocate an initialize a stripe. The new batch_lock and batch_list fields are being initialized in grow_one_stripe() but not in resize_stripes(). This causes a crash on resize. So separate the core initialization into a new function and call it from both allocation sites. Signed-off-by: NeilBrown <neilb@xxxxxxx> Fixes: 59fc630b8b5f ("RAID5: batch adjacent full stripe write") commit b6538fe32966e63ef38897860ef220980d904974 Author: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Date: Fri May 8 18:19:03 2015 +1000 md-raid0: conditional mddev->queue access to suit dm-raid This patch is a prerequisite for dm-raid "raid0" support to allow dm-raid to access the MD RAID0 personality doing unconditional accesses to mddev->queue, which is NULL in case of dm-raid stacked on top of MD. Most of the conditional mddev->queue accesses made it to upstream but this missing one, which prohibits md raid0 to set disk stack limits (being done in dm core in case of md underneath dm). Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Tested-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 4de3bf66c61ef708d8f22d7f990339668a858e7d Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Tue May 5 16:54:49 2015 +0800 mmc: dw_mmc: dw_mci_get_cd check MMC_CAP_NONREMOVABLE When non-removable is used for emmc, MMC_CAP_NONREMOVABLE should also be checked, otherwise detection fail since present=0 Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4b2447248325ac7b1654d362c0e9f050f79e0ffe Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Thu Apr 30 22:16:28 2015 +0800 mmc: dw_mmc: init desc in dw_mci_idmac_init Set 0 to des1 in 32bit case. Otherwise the random value of des1 will be used in dw_mci_translate_sglist: IDMAC_SET_BUFFER1_SIZE(desc, length) Signed-off-by: Fei Wang <w.f@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3e0283a53f7d2f2dae7bc4aa7f3104cb5988018f Merge: 68c2f356 9a5d931 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 15:58:00 2015 -0700 Merge tag 'pm+acpi-4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI fixes from Rafael Wysocki: "These include three regression fixes (PCI resources management, ACPI/PNP device enumeration, ACPI SBS on MacBook) and two ACPI documentation fixes related to GPIO. Specifics: - Fix for a PCI resources management regression introduced during the 4.0 cycle and related to the handling of ACPI resources' Producer/Consumer flags that turn out to be useless (Jiang Liu) - Fix for a MacBook regression related to the Smart Battery Subsystem (SBS) driver causing various problems (stalls on boot, failure to detect or report battery) to happen and introduced during the 3.18 cycle (Chris Bainbridge) - Fix for an ACPI/PNP device enumeration regression introduced during the 3.16 cycle caused by failing to include two PNP device IDs into the list of IDs that PNP device objects need to be created for (Witold Szczeponik) - Fixes for two minor mistakes in the ACPI GPIO properties documentation (Antonio Ospite, Rafael J Wysocki)" * tag 'pm+acpi-4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI / PNP: add two IDs to list for PNPACPI device enumeration ACPI / documentation: Fix ambiguity in the GPIO properties document ACPI / documentation: fix a sentence about GPIO resources ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook x86/PCI/ACPI: Make all resources except [io 0xcf8-0xcff] available on PCI bus commit 9a5d9315e41cc0dfc97a3b0a8e222d30566cf3fe Merge: 2c62e84 3349fb6 a00212e 622532b Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu May 7 21:24:34 2015 +0200 Merge branches 'acpi-resources', 'acpi-battery', 'acpi-doc' and 'acpi-pnp' * acpi-resources: x86/PCI/ACPI: Make all resources except [io 0xcf8-0xcff] available on PCI bus * acpi-battery: ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook * acpi-doc: ACPI / documentation: Fix ambiguity in the GPIO properties document ACPI / documentation: fix a sentence about GPIO resources * acpi-pnp: ACPI / PNP: add two IDs to list for PNPACPI device enumeration commit b9a5e5e18fbf223502c0b2264c15024e393da928 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu May 7 21:19:39 2015 +0200 ACPI / init: Fix the ordering of acpi_reserve_resources() Since acpi_reserve_resources() is defined as a device_initcall(), there's no guarantee that it will be executed in the right order with respect to the rest of the ACPI initialization code. On some systems this leads to breakage if, for example, the address range that should be reserved for the ACPI fixed registers is given to the PCI host bridge instead if the race is won by the wrong code path. Fix this by turning acpi_reserve_resources() into a void function and calling it directly from within the ACPI initialization sequence. Reported-and-tested-by: George McCollister <george.mccollister@xxxxxxxxx> Link: http://marc.info/?t=143092384600002&r=1&w=2 Cc: All applicable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 68c2f356c9ec65e1eb50c31690b095673dbd8010 Merge: fbb7b92 7263b1b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 11:18:34 2015 -0700 Merge tag 'for-f2fs-4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs fixes from Jaegeuk Kim: "Fix a performance regression and a bug" * tag 'for-f2fs-4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: f2fs: fix wrong error hanlder in f2fs_follow_link Revert "f2fs: enhance multi-threads performance" commit dc0e3db4ec7c1e73e3283ad39b68eff32b7dc8a1 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue May 5 14:35:49 2015 -0300 ARM: multi_v7_defconfig: Select more FSL SoCs Select IMX50, IMX6SX and LS1021A SoC support. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d68b35f845cc56472fa0d782449ff1549f00ec47 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Apr 29 11:57:18 2015 +0200 MAINTAINERS: replace an AT91 maintainer As some help is needed from an active maintainer, replace Andrew Victor by Alexandre Belloni in the ARM/Atmel MAINTAINERS' entry (aka AT91). Add an entry to the CREDITS file. Thanks Andrew for the great role you played during the early days of this product family. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Andrew Victor <linux@xxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 454be2af5b49612e7f20ceb6683d5809ce848bee Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Apr 28 13:09:32 2015 -0400 drivers: CCI: fix used_mask init in validate_group() Currently in validate_group(), there is a static initializer for fake_pmu.used_mask which is based on CPU_BITS_NONE but the used_mask array size is based on CCI_PMU_MAX_HW_EVENTS. CCI_PMU_MAX_HW_EVENTS is not based on NR_CPUS, so CPU_BITS_NONE is not correct and will cause a build failure if NR_CPUS is set high enough to make CPU_BITS_NONE larger than used_mask. Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit bd1a6e7b47246dd91c02d46f9a373822a1d972cc Merge: 1e5f9ed 11133db Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:28:04 2015 +0200 Merge tag 'stericsson-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into fixes Merge "Ux500 fixes" from Linus Walleij: This fixes an MMC/SD configuration issue present for some time in the Ux500 DT but triggered by proper error handling in v4.1-rc1. * tag 'stericsson-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: ARM: ux500: Enable GPIO regulator for SD-card for snowball ARM: ux500: Enable GPIO regulator for SD-card for HREF boards ARM: ux500: Move GPIO regulator for SD-card into board DTSs commit 1e5f9ed00d72c60f68d8cb75fd7d10abfb5947cd Merge: 443318e0 12392f5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:26:48 2015 +0200 Merge tag 'renesas-fixes-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes Merge "Renesas ARM Based SoC Fixes for v4.1" from Simon Horman: * Fix adv7511 IRQ sensing on koelsch board * tag 'renesas-fixes-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: koelsch: Fix adv7511 IRQ sensing commit 443318e0b776562593f4d4fd770055a9d31add54 Merge: d6ad446 e7309c2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:25:38 2015 +0200 Merge tag 'omap-for-v4.1/fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge "omap fixes against v4.1-rc1" from Tony Lindgren: Fixes for omaps, mostly a fix for power power consumption creeping up during idle, and two l3-noc device fixes: - Fix power consumption creeping up with I2C4 staying on - Fix n900 microphone bias voltages - Fix dra7 l3-noc for host clock - Fix omap5 l3-noc id address decoding The rest are all just minor dts fixes: - Fix changed EXTCON_USB_GPIO_USB in defconfig - Fix missing isp and iva #iommu-cells property - Various beagle x15 dts fixes for pre-production changes - Fix am437x-sk display dts entries * tag 'omap-for-v4.1/fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: bus: omap_l3_noc: Fix master id address decoding for OMAP5 bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance ARM: dts: dra7: Fix efuse register size for ABB ARM: dts: am57xx-beagle-x15: Switch GPIO fan number ARM: dts: am57xx-beagle-x15: Switch UART mux pins ARM: dts: am437x-sk: reduce col-scan-delay-us ARM: dts: am437x-sk: fix for new newhaven display module revision ARM: dts: am57xx-beagle-x15: Fix RTC aliases ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x ARM: dts: omap3: Add #iommu-cells to isp and iva iommu ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO ARM: dts: OMAP3-N900: Add microphone bias voltages ARM: OMAP2+: Fix omap off idle power consumption creeping up commit d6ad446dd75ef58bd383987e35ffd90d564f8080 Merge: 654758a 1de2a66 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:24:32 2015 +0200 Merge tag 'arm-soc/for-4.1/maintainers' of http://github.com/broadcom/stblinux into fixes Merge "MAINTAINERS update for Broadcom SoCs for 4.1 #2" from Florian Fainelli: This pull request contains 3 changes to the MAINTAINERS file for Broadcom SoCs: - add Ray and Scott for mach-bcm - remove Christian for mach-bcm - remove Marc for brcmstb * tag 'arm-soc/for-4.1/maintainers' of http://github.com/broadcom/stblinux: MAINTAINERS: Update brcmstb entry MAINTAINERS: Remove Christian Daudt for mach-bcm MAINTAINERS: Update mach-bcm maintainers list commit 654758ae09b4257f2f79c46ade01f973990d63f0 Merge: 1be518b 750e30d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:23:49 2015 +0200 Merge tag 'mvebu-fixes-4.1' of git://git.infradead.org/linux-mvebu into fixes Pull "mvebu fix for 4.1" from Gregory CLEMENT: Disable the unused internal RTC in the dts of the OpenBlock AX3 * tag 'mvebu-fixes-4.1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC commit 1be518bd0bf77eedf9bbda5d5b25466f615813b2 Merge: c92b83a fc9e38c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:23:00 2015 +0200 Merge tag 'fixes-for-v4.1-rc2' of https://github.com/rjarzmik/linux into fixes Merged "ARM: pxa: fixes for v4.1-rc2" from Robert Jarzmik: These fixes reenable the lubbock(pxa25x) and mainstone(pxa27x) platforms, which were broken since the gpio handling was converted to a driver, and the interrupt ordering broke the external interrupts of these systems. * tag 'fixes-for-v4.1-rc2' of https://github.com/rjarzmik/linux: ARM: pxa: lubbock: use new pxa_cplds driver ARM: pxa: mainstone: use new pxa_cplds driver ARM: pxa: pxa_cplds: add lubbock and mainstone IO commit c92b83a81ad09267619ccd077ddd2a5e321d8a61 Merge: d6bcc80 68ce9a1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:21:57 2015 +0200 Merge tag 'imx-fixes-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes Pull "The i.MX fixes for 4.1" from Shawn Guo: - A couple of imx23-olinuxino device tree fixes regarding to LED GPIO polarity and USB dr_mode setting - One i.MX28 device tree fix on AUART4 TX-DMA interrupt name - Add missing pwm-cells to PWM4 for i.MX25 device tree - Fix imx6q-phytec device tree to get correct USB VBUS control - Drop invalid pinctrl-assert-gpios property from imx6qdl-sabreauto device tree, which was sneaked in from vendor device tree - One fix on Wolfram's broken email address * tag 'imx-fixes-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: dts: imx6qdl-sabreauto: remove pinctrl-assert-gpios ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name ARM: dts: imx25: Add #pwm-cells to pwm4 ARM: dts: imx6: phyFLEX: USB VBUS control is active-high ARM: mach-imx: devices: platform-sdhci-esdhc-imx: fix broken email address ARM: dts: imx23-olinuxino: Fix dr_mode of usb0 ARM: dts: imx23-olinuxino: Fix polarity of LED GPIO commit d6bcc8069b27090f7e5bbe0521774f11c68a7001 Merge: 5ebe6af 2a9fe3c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:19:27 2015 +0200 Merge tag 'v4.1-rockchip-socfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into fixes Merge "ARM: rockchip: some soc-level fixes for 4.1" from Heiko Stübner: Two fixes from Chris Zhong, fixing some suspend oddities. And I've given up on the timer7 issue. While I initially thought devices would either have both the grave mmu issue requiring a uboot update and the timer7 issue or none, it looks like in all units in the field the mmu issue got fixed while the timer7 issue stayed on. So instead of making everybody wanting to use mainline jump through a hoop just make sure timer7 is on on boot before we init the arch-timer. * tag 'v4.1-rockchip-socfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: rockchip: make sure timer7 is enabled on rk3288 platforms ARM: rockchip: fix undefined instruction of reset_ctrl_regs ARM: rockchip: disable dapswjdp during suspend commit fbb7b92f16710a3848db25d0a4a2bb6fb7199061 Merge: 7bbcd1b c5272a2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 08:27:38 2015 -0700 Merge tag 'pinctrl-v4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control fixes from Linus Walleij: "Here is a smallish set of pin control fixes for the v4.1 cycle, collected the last two weeks: - fix a real nasty legacy bug that has screwed up the protection of adding pinctrl maps dynamically. Normally this didn't happen so much but Dough Anderson ran into it and fixed it, kudos! - minor driver fixes for Qualcomm spmi, mediatek and Marvell drivers" * tag 'pinctrl-v4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: Don't just pretend to protect pinctrl_maps, do it for real pinctrl: mediatek: mtk-common: initialize unmask pinctrl: qcom-spmi-mpp: Fix input value report pinctrl: qcom-spmi: Fix pin direction configuration pinctrl: mvebu: Fix mapping of pin 63 (gpo -> gpio) commit 7bbcd1b86dcec982d2d3abec8db5da208b075f52 Merge: 8cb7c15 db7d4d7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 08:18:01 2015 -0700 Merge tag 'vfio-v4.1-rc3' of git://github.com/awilliam/linux-vfio Pull vfio fixes from Alex Williamson: "Fix some undesirable behavior with the vfio device request interface: - increase verbosity of device request channel (Alex Williamson) - fix runaway interruptible timeout (Alex Williamson)" * tag 'vfio-v4.1-rc3' of git://github.com/awilliam/linux-vfio: vfio: Fix runaway interruptible timeout vfio-pci: Log device requests more verbosely commit 12e49feadff6d7b7ebbe852b36943a71524d8d34 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu May 7 15:19:25 2015 +0200 drm/radeon: stop trying to suspend UVD sessions Saving the current UVD state on suspend and restoring it on resume just doesn't work reliable. Just close cleanup all sessions on suspend. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d52cdfa4a0c6406bbfb33206341eaf1fb1555994 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu May 7 15:19:24 2015 +0200 drm/radeon: more strictly validate the UVD codec MPEG 2/4 are only supported since UVD3. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a1b403da70e038ca6c6c6fe434d1d873546873a3 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu May 7 15:19:23 2015 +0200 drm/radeon: make UVD handle checking more strict Invalid messages can crash the hw otherwise. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 29c63fe22a17c64e54016040cd882481bd45ee5a Author: Christian König <christian.koenig@xxxxxxx> Date: Thu May 7 15:19:22 2015 +0200 drm/radeon: make VCE handle check more strict Invalid handles can crash the hw. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 247c405098ab731ad9b58971e2cfbab116b54b45 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue May 5 09:52:12 2015 +0200 drm/radeon: fix userptr lockup We shouldn't try to reserve and wait for a BO that isn't bound. Otherwise we can run into a deadlock if we have a fault during binding the BO. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit db12973cd581d4e79f4aadd0960948f268d15af7 Author: monk.liu <monk.liu@xxxxxxx> Date: Tue May 5 09:24:17 2015 +0200 drm/radeon: fix userptr BO unpin bug v3 Fixing a memory leak with userptrs. v2: clean up the loop, use an iterator instead v3: remove unused variable Signed-off-by: monk.liu <monk.liu@xxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 79b066bd76d501cfe8328142153da301f5ca11d1 Author: Xihan Zhang <xihan.zhang@xxxxxxx> Date: Tue Apr 28 23:48:40 2015 +0800 drm/amdkfd: Initialize sdma vm when creating sdma queue This patch fixes a bug where sdma vm wasn't initialized when an sdma queue was created in HWS mode. This caused GPUVM faults to appear on dmesg and it is one of the causes that SDMA queues are not working. Signed-off-by: Xihan Zhang <xihan.zhang@xxxxxxx> Reviewed-by: Ben Goz <ben.goz@xxxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 42e08c78360e58516b6ac8af18a75a494f2967a2 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Tue May 5 11:15:07 2015 +0300 drm/amdkfd: Don't report local memory size This patch sets the local memory size that is reported to userspace to 0. This is done to make sure that userspace won't try to allocate local memory for HSA. As long as amdkfd doesn't support allocating local memory for HSA, we need this patch. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1e5ec956a057585adaa1365615c82810b2f5356f Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Tue Apr 14 14:13:18 2015 +0300 drm/amdkfd: allow unregister process with queues Sometimes we might unregister process that have queues, because we couldn't preempt the queues. Until now we blocked it with BUG_ON but instead just print it as debug. Reviewed-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8cb7c15b32545f9e7c4f72ffa357353109967a7a Merge: 0e1dc42 b6b2bbe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 07:04:33 2015 -0700 Merge tag 'for-linus' of git://github.com/dledford/linux Pull infiniband updates from Doug Ledford: "Minor updates for 4.1-rc Most of the changes are fairly small and well confined. The iWARP address reporting changes are the only ones that are a medium size. I had these queued up prior to rc1, but due to the shuffle in maintainers, they did not get submitted when I expected. My apologies for that. I feel comfortable with them however due to the testing they've received, so I left them in this submission" * tag 'for-linus' of git://github.com/dledford/linux: MAINTAINERS: Update InfiniBand subsystem maintainer MAINTAINERS: add include/rdma/ to InfiniBand subsystem IPoIB/CM: Fix indentation level iw_cxgb4: Remove negative advice dmesg warnings IB/core: Fix unaligned accesses IB/core: change rdma_gid2ip into void function as it always return zero IB/qib: use arch_phys_wc_add() IB/qib: add acounting for MTRR IB/core: dma unmap optimizations IB/core: dma map/unmap locking optimizations RDMA/cxgb4: Report the actual address of the remote connecting peer RDMA/nes: Report the actual address of the remote connecting peer RDMA/core: Enable the iWarp Port Mapper to provide the actual address of the connecting peer to its clients iw_cxgb4: enforce qp/cq id requirements iw_cxgb4: use BAR2 GTS register for T5 kernel mode CQs iw_cxgb4: 32b platform fixes iw_cxgb4: Cleanup register defines/MACROS RDMA/CMA: Canonize IPv4 on IPV6 sockets properly commit 736a69ca8c99a595a523d2fece66491b89168da6 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu May 7 11:16:26 2015 +0100 drm/i915: Drop PIPE-A quirk for 945GSE HP Mini Since the introduction of BIOS fb preservation, circa 3.17, we began encountering a failure during boot when trying to use force-detect before GEM was initialised. That bug is from commit 7fad798e16fecddd41c6a91728a09f0b9507e40c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 4 17:51:47 2012 +0200 drm/i915: ensure the force pipe A quirk is actually followed but investigation of the affected machine revealed that it was using a PIPE-A quirk even though it was a 945GSE and the quirk is only supposed to be used to workaround a hardware issue on 830/845. That quirk was added for this HP Mini in commit 6b93afc564a5e74b0eaaa46c95f557449951b3b9 Author: Bryce Harrington <bryce@xxxxxxxxxxxxxxxxxxx> Date: Wed May 27 03:40:52 2009 -0700 add pipe a force quirk for Dell mini in order to workaround an issue with the BIOS behaving strangely during lid-close. Since then we have a much larger hammer to thwart the BIOS after opening the lid and the PIPE-A quirk is no longer required. Reported-and-tested-by: Apostolos B. <barz621@xxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=21960 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=87521 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 2439fc4d71f71b47c8ace1f42eb46039222282a0 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Mon Apr 13 18:15:11 2015 +0900 igb: Fix NULL assignment to incorrect variable in igb_reset_q_vector adapter->tx_ring is set to NULL where rx_ring should be. Fixes: 5536d2102a2d ("igb: Combine q_vector and ring allocation into a single function") Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c0a06ee185f2b785c7bd44c4fb6fcae80f7d1a54 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Mon Apr 13 18:15:10 2015 +0900 igb: Fix oops on changing number of rings When changing the number of rings by ethtool -L, q_vectors are reused, which causes oops because of uninitialized pointers. - When an rx is reused as a tx, q_vector->rx.ring is not set to NULL, which misleads igb_poll() to determine that it has an rx ring although it actually points to the tx ring. - When a tx is reused as an rx, q_vector->rx.ring->skb (q_vector->ring[0].skb) has a value that was used as tx_stats before. Fix these problems by zeroing it out on reuseing it. Fixes: 02ef6e1d0b00 ("igb: Fix queue allocation method to accommodate changing during runtime") Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit af77b9741300616e7d04264d0ee7ac9f8abb448f Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu May 7 13:59:28 2015 +0530 drm/i915: Sink rate read should be saved in deca-kHz The sink rate read from supported link rate table is in KHz as per spec while in drm, the saved clock is in deca-KHz. So divide the link rate by 10 before storing. Reading of rates was added by: commit fc0f8e25318f ("drm/i915/skl: Read sink supported rates from edp panel") Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ec59a65d694e5fd99d76565b93468c99ae8dff79 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed May 6 15:54:32 2015 +0200 crypto: arm64/sha2-ce - prevent asm code finalization in final() path Ensure that the asm code finalization path is not triggered when invoked via final(), since it already takes care of that itself. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bf7883ebcb9c0880b8f5d22c1435a3de15283f0a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed May 6 15:54:31 2015 +0200 crypto: arm64/sha1-ce - prevent asm code finalization in final() path Ensure that the asm code finalization path is not triggered when invoked via final(), since it already takes care of that itself. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ac02c6ea6b404461829697792cd2b67f6a14d28a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon May 4 11:00:16 2015 +0200 crypto: arm64/crc32 - bring in line with generic CRC32 The arm64 CRC32 (not CRC32c) implementation was not quite doing the same thing as the generic one. Fix that. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Steve Capper <steve.capper@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ac01ce1410fc2c7b5f3af5e9c972e6a412eee54f Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Wed Apr 29 16:18:46 2015 +0100 tracing: Make ftrace_print_array_seq compute buf_len The only caller to this function (__print_array) was getting it wrong by passing the array length instead of buffer length. As the element size was already being passed for other reasons it seems reasonable to push the calculation of buffer length into the function. Link: http://lkml.kernel.org/r/1430320727-14582-1-git-send-email-alex.bennee@xxxxxxxxxx Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 1d3c61c2eb3fe4f96d3192212f1bdcee49ea55aa Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed May 6 11:17:01 2015 +0100 Btrfs: fix wrong mapping flags for free space inode We were passing a flags value that differed from the intention in commit 2b108268006e ("Btrfs: don't use highmem for free space cache pages"). This caused problems in a ARM machine, leaving btrfs unusable there. Reported-by: Merlijn Wajer <merlijn@xxxxxxxxxx> Tested-by: Merlijn Wajer <merlijn@xxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0e1dc4274828f64fcb56fc7b950acdc5ff7a395f Merge: 3d54ac9 8746515 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed May 6 15:58:06 2015 -0700 Merge tag 'for-linus-4.1b-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen bug fixes from David Vrabel: - fix blkback regression if using persistent grants - fix various event channel related suspend/resume bugs - fix AMD x86 regression with X86_BUG_SYSRET_SS_ATTRS - SWIOTLB on ARM now uses frames <4 GiB (if available) so device only capable of 32-bit DMA work. * tag 'for-linus-4.1b-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen: Add __GFP_DMA flag when xen_swiotlb_init gets free pages on ARM hypervisor/x86/xen: Unset X86_BUG_SYSRET_SS_ATTRS on Xen PV guests xen/events: Set irq_info->evtchn before binding the channel to CPU in __startup_pirq() xen/console: Update console event channel on resume xen/xenbus: Update xenbus event channel on resume xen/events: Clear cpu_evtchn_mask before resuming xen-pciback: Add name prefix to global 'permissive' variable xen: Suspend ticks on all CPUs during suspend xen/grant: introduce func gnttab_unmap_refs_sync() xen/blkback: safely unmap purge persistent grants commit 3d54ac9e35a69d19381420bb2fa1702d5bf73846 Merge: d8fce2d c88d474 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed May 6 10:57:37 2015 -0700 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Ingo Molnar: "EFI fixes, and FPU fix, a ticket spinlock boundary condition fix and two build fixes" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/fpu: Always restore_xinit_state() when use_eager_cpu() x86: Make cpu_tss available to external modules efi: Fix error handling in add_sysfs_runtime_map_entry() x86/spinlocks: Fix regression in spinlock contention detection x86/mm: Clean up types in xlate_dev_mem_ptr() x86/efi: Store upper bits of command line buffer address in ext_cmd_line_ptr efivarfs: Ensure VariableName is NUL-terminated commit d8fce2db7220fc46067c825fc417fb295eac7d0a Merge: 02f0f57 74f40c1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed May 6 10:47:25 2015 -0700 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf fixes from Ingo Molnar: "Mostly tooling fixes, but also an uncore PMU driver fix and an uncore PMU driver hardware-enablement addition" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf probe: Fix segfault if passed with ''. perf report: Fix -T/--threads option to work again perf bench numa: Fix immediate meeting of convergence condition perf bench numa: Fixes of --quiet argument perf bench futex: Fix hung wakeup tasks after requeueing perf probe: Fix bug with global variables handling perf top: Fix a segfault when kernel map is restricted. tools lib traceevent: Fix build failure on 32-bit arch perf kmem: Fix compiles on RHEL6/OL6 tools lib api: Undefine _FORTIFY_SOURCE before setting it perf kmem: Consistently use PRIu64 for printing u64 values perf trace: Disable events and drain events when forked workload ends perf trace: Enable events when doing system wide tracing and starting a workload perf/x86/intel/uncore: Move PCI IDs for IMC to uncore driver perf/x86/intel/uncore: Add support for Intel Haswell ULT (lower power Mobile Processor) IMC uncore PMUs perf/x86/intel: Add cpu_(prepare|starting|dying) for core_pmu commit 02f0f5721e2c2791f57767c18a8ab94cdf48849d Merge: 5198b443 cb0f3f3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed May 6 10:26:37 2015 -0700 Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RCU fix from Ingo Molnar: "An RCU Kconfig fix that eliminates an annoying interactive kconfig question for CONFIG_RCU_TORTURE_TEST_SLOW_INIT" * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: rcu: Control grace-period delays directly from value commit 0ff28d9f4674d781e492bcff6f32f0fe48cf0fed Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Wed May 6 17:26:47 2015 +0200 splice: sendfile() at once fails for big files Using sendfile with below small program to get MD5 sums of some files, it appear that big files (over 64kbytes with 4k pages system) get a wrong MD5 sum while small files get the correct sum. This program uses sendfile() to send a file to an AF_ALG socket for hashing. /* md5sum2.c */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <fcntl.h> #include <sys/socket.h> #include <sys/stat.h> #include <sys/types.h> #include <linux/if_alg.h> int main(int argc, char **argv) { int sk = socket(AF_ALG, SOCK_SEQPACKET, 0); struct stat st; struct sockaddr_alg sa = { .salg_family = AF_ALG, .salg_type = "hash", .salg_name = "md5", }; int n; bind(sk, (struct sockaddr*)&sa, sizeof(sa)); for (n = 1; n < argc; n++) { int size; int offset = 0; char buf[4096]; int fd; int sko; int i; fd = open(argv[n], O_RDONLY); sko = accept(sk, NULL, 0); fstat(fd, &st); size = st.st_size; sendfile(sko, fd, &offset, size); size = read(sko, buf, sizeof(buf)); for (i = 0; i < size; i++) printf("%2.2x", buf[i]); printf(" %s\n", argv[n]); close(fd); close(sko); } exit(0); } Test below is done using official linux patch files. First result is with a software based md5sum. Second result is with the program above. root@vgoip:~# ls -l patch-3.6.* -rw-r--r-- 1 root root 64011 Aug 24 12:01 patch-3.6.2.gz -rw-r--r-- 1 root root 94131 Aug 24 12:01 patch-3.6.3.gz root@vgoip:~# md5sum patch-3.6.* b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz c5e8f687878457db77cb7158c38a7e43 patch-3.6.3.gz root@vgoip:~# ./md5sum2 patch-3.6.* b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz 5fd77b24e68bb24dcc72d6e57c64790e patch-3.6.3.gz After investivation, it appears that sendfile() sends the files by blocks of 64kbytes (16 times PAGE_SIZE). The problem is that at the end of each block, the SPLICE_F_MORE flag is missing, therefore the hashing operation is reset as if it was the end of the file. This patch adds SPLICE_F_MORE to the flags when more data is pending. With the patch applied, we get the correct sums: root@vgoip:~# md5sum patch-3.6.* b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz c5e8f687878457db77cb7158c38a7e43 patch-3.6.3.gz root@vgoip:~# ./md5sum2 patch-3.6.* b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz c5e8f687878457db77cb7158c38a7e43 patch-3.6.3.gz Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c5272a28566b00cce79127ad382406e0a8650690 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri May 1 09:01:27 2015 -0700 pinctrl: Don't just pretend to protect pinctrl_maps, do it for real Way back, when the world was a simpler place and there was no war, no evil, and no kernel bugs, there was just a single pinctrl lock. That was how the world was when (57291ce pinctrl: core device tree mapping table parsing support) was written. In that case, there were instances where the pinctrl mutex was already held when pinctrl_register_map() was called, hence a "locked" parameter was passed to the function to indicate that the mutex was already locked (so we shouldn't lock it again). A few years ago in (42fed7b pinctrl: move subsystem mutex to pinctrl_dev struct), we switched to a separate pinctrl_maps_mutex. ...but (oops) we forgot to re-think about the whole "locked" parameter for pinctrl_register_map(). Basically the "locked" parameter appears to still refer to whether the bigger pinctrl_dev mutex is locked, but we're using it to skip locks of our (now separate) pinctrl_maps_mutex. That's kind of a bad thing(TM). Probably nobody noticed because most of the calls to pinctrl_register_map happen at boot time and we've got synchronous device probing. ...and even cases where we're asynchronous don't end up actually hitting the race too often. ...but after banging my head against the wall for a bug that reproduced 1 out of 1000 reboots and lots of looking through kgdb, I finally noticed this. Anyway, we can now safely remove the "locked" parameter and go back to a war-free, evil-free, and kernel-bug-free world. Fixes: 42fed7ba44e4 ("pinctrl: move subsystem mutex to pinctrl_dev struct") Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8746515d7f04c9ea94cf43e2db1fd2cfca93276d Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Fri Apr 24 10:16:40 2015 +0100 xen: Add __GFP_DMA flag when xen_swiotlb_init gets free pages on ARM Make sure that xen_swiotlb_init allocates buffers that are DMA capable when at least one memblock is available below 4G. Otherwise we assume that all devices on the SoC can cope with >4G addresses. We do this on ARM and ARM64, where dom0 is mapped 1:1, so pfn == mfn in this case. No functional changes on x86. From: Chen Baozi <baozich@xxxxxxxxx> Signed-off-by: Chen Baozi <baozich@xxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Tested-by: Chen Baozi <baozich@xxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d2d05c65c40e067ca5898399069053f095c67d6f Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Apr 23 16:54:17 2015 -0700 gpio: omap: Fix regression for MPUIO interrupts At some point with all the GPIO clean-up we've broken the MPUIO interrupts. Those are just a little bit different from the GPIO interrupts, so we can fix it up just by setting different irqchip functions for it. And then we can just remove all old code trying to do the same. Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Cc: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4e93b9a6abc0d028daf3c8a00cb77b679d8a4df4 Author: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Date: Tue Aug 12 12:01:30 2014 +0800 mmc: card: Don't access RPMB partitions for normal read/write During kernel boot, it will try to read some logical sectors of each block device node for the possible partition table. But since RPMB partition is special and can not be accessed by normal eMMC read / write CMDs, it will cause below error messages during kernel boot: ... mmc0: Got data interrupt 0x00000002 even though no data operation was in progress. mmcblk0rpmb: error -110 transferring data, sector 0, nr 32, cmd response 0x900, card status 0xb00 mmcblk0rpmb: retrying using single block read mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 end_request: I/O error, dev mmcblk0rpmb, sector 0 Buffer I/O error on device mmcblk0rpmb, logical block 0 end_request: I/O error, dev mmcblk0rpmb, sector 8 Buffer I/O error on device mmcblk0rpmb, logical block 1 end_request: I/O error, dev mmcblk0rpmb, sector 16 Buffer I/O error on device mmcblk0rpmb, logical block 2 end_request: I/O error, dev mmcblk0rpmb, sector 24 Buffer I/O error on device mmcblk0rpmb, logical block 3 ... This patch will discard the access request in eMMC queue if it is RPMB partition access request. By this way, it avoids trigger above error messages. Fixes: 090d25fe224c ("mmc: core: Expose access to RPMB partition") Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Tested-by: Michael Shigorin <mike@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bad4371d87d1d1ed1aecd9c9cc21c41ac3f289c8 Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Date: Thu Apr 30 02:03:51 2015 +0900 mmc: sh_mmcif: Fix timeout value for command request f9fd54f22e ("mmc: sh_mmcif: Use msecs_to_jiffies() for host->timeout") changed the timeout value from 1000 jiffies to 1s. In the case where HZ is 1000 the values are the same. However, for smaller HZ values the timeout is now smaller, 1s instead of 10s in the case of HZ=100. Since the timeout occurs in spite of a normal data transfer a timeout of 10s seems more appropriate. This restores the previous timeout in the case where HZ=100 and results in an increase over the previous timeout for larger values of HZ. Fixes: f9fd54f22e ("mmc: sh_mmcif: Use msecs_to_jiffies() for host->timeout") Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> [horms: rewrote changelog to refer to HZ] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c88d47480d300eaad80c213d50c9bf6077fc49bc Author: Bobby Powers <bobbypowers@xxxxxxxxx> Date: Mon Apr 27 08:10:41 2015 -0700 x86/fpu: Always restore_xinit_state() when use_eager_cpu() The following commit: f893959b0898 ("x86/fpu: Don't abuse drop_init_fpu() in flush_thread()") removed drop_init_fpu() usage from flush_thread(). This seems to break things for me - the Go 1.4 test suite fails all over the place with floating point comparision errors (offending commit found through bisection). The functional change was that flush_thread() after this commit only calls restore_init_xstate() when both use_eager_fpu() and !used_math() are true. drop_init_fpu() (now fpu_reset_state()) calls restore_init_xstate() regardless of whether current used_math() - apply the same logic here. Switch used_math() -> tsk_used_math(tsk) to consistently use the grabbed tsk instead of current, like in the rest of flush_thread(). Tested-by: Dave Hansen <dave.hansen@xxxxxxxxx> Signed-off-by: Bobby Powers <bobbypowers@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: f893959b ("x86/fpu: Don't abuse drop_init_fpu() in flush_thread()") Link: http://lkml.kernel.org/r/1430147441-9820-1-git-send-email-bobbypowers@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9fcb1704d1d51b12e2f03c78bca013d0cbbb7c98 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue May 5 16:32:12 2015 +0300 drm/i915/dp: there is no audio on port A The eDP port A register on PCH split platforms has a slightly different register layout from the other ports, with bit 6 being either alternate scrambler reset or reserved, depending on the generation. Our misinterpretation of the bit as audio has lead to warning. Fix this by not enabling audio on port A, since none of our platforms support audio on port A anyway. v2: DDI doesn't have audio on port A either (Sivakumar Thulasimani) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89958 Reported-and-tested-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c102cb097d9371c2c60049d041ab1f8bdca5ccc2 Merge: de71ad2 d67e199 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed May 6 08:29:37 2015 +0200 Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into x86/urgent Pull EFI fixes from Matt Fleming: * Avoid garbage names in efivarfs due to buggy firmware by zeroing EFI variable name. (Ross Lagerwall) * Stop erroneously dropping upper 32 bits of boot command line pointer in EFI boot stub and stash them in ext_cmd_line_ptr. (Roy Franz) * Fix double-free bug in error handling code path of EFI runtime map code. (Dan Carpenter) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 74f40c1f437674f5ab4a3977f1894ea6db535dee Merge: 8cc67c3 e59d29e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed May 6 04:54:11 2015 +0200 Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/urgent fixes from Arnaldo Carvalho de Melo: - Fix 'perf probe -a' segfault if passed with '' (Wang Nan) - Fix report -T/--threads option (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5198b44374adb3f6143459a03c37f103f8a09548 Merge: 2a171aa 3d69d43 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 19:42:01 2015 -0700 Merge tag 'for-linus-4.1-1' of git://git.code.sf.net/p/openipmi/linux-ipmi Pull IPMI fixes from Corey Minyard: "Lots of minor IPMI fixes, especially ones that have have come up since the SSIF driver has been in the main kernel for a while" * tag 'for-linus-4.1-1' of git://git.code.sf.net/p/openipmi/linux-ipmi: ipmi: Fix multi-part message handling ipmi: Add alert handling to SSIF ipmi: Fix a problem that messages are not issued in run_to_completion mode ipmi: Report an error if ACPI _IFT doesn't exist ipmi: Remove unused including <linux/version.h> ipmi: Don't report err in the SI driver for SSIF devices ipmi: Remove incorrect use of seq_has_overflowed ipmi:ssif: Ignore spaces when comparing I2C adapter names ipmi_ssif: Fix the logic on user-supplied addresses commit 2a171aa21afcd43f6cee574154d8c8db905351e5 Merge: 3ce05a4 489405f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 18:52:13 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge misc fixes from Andrew Morton: "16 patches This includes a new rtc driver for the Abracon AB x80x and isn't very appropriate for -rc2. It was still being fiddled with a bit during the merge window and I fell asleep during -rc1" [ So I took the new driver, it seems small and won't regress anything. I'm a softy. - Linus ] * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: rtc: armada38x: fix concurrency access in armada38x_rtc_set_time ocfs2: dlm: fix race between purge and get lock resource nilfs2: fix sanity check of btree level in nilfs_btree_root_broken() util_macros.h: have array pointer point to array of constants configfs: init configfs module earlier at boot time mm/hwpoison-inject: check PageLRU of hpage mm/hwpoison-inject: fix refcounting in no-injection case mm: soft-offline: fix num_poisoned_pages counting on concurrent events rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc Documentation: bindings: add abracon,abx80x kasan: show gcc version requirements in Kconfig and Documentation mm/memory-failure: call shake_page() when error hits thp tail page lib: delete lib/find_last_bit.c MAINTAINERS: add co-maintainer for LED subsystem zram: add Designated Reviewer for zram in MAINTAINERS revert "zram: move compact_store() to sysfs functions area" commit 3ce05a4e740539a3e9d48456e2b046b7240df3ff Merge: d9cee5d df6dd1b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 18:14:04 2015 -0700 Merge tag 'platform-drivers-x86-v4.1-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull x86 platform driver fixes from Darren Hart: "This includes a trivial warning and adding a Lenovo laptop to an existing quirk. I've held off on things like the latter in the past, but I didn't feel it was risky enough to push out to 4.2. - thinkpad_acpi: Fix warning for static not at beginning - ideapad_laptop: Add Lenovo G40-30 to devices without radio switch" * tag 'platform-drivers-x86-v4.1-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: thinkpad_acpi: Fix warning for static not at beginning ideapad_laptop: Add Lenovo G40-30 to devices without radio switch commit 3d69d43baa2749c3d187ce70940d7aebe609e149 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Wed Apr 29 17:59:21 2015 -0500 ipmi: Fix multi-part message handling Lots of little fixes for multi-part messages: The values was not being re-initialized, if something went wrong handling a multi-part message and it got left in a bad state, it might be an issue. The commands were not correct when issuing multi-part reads, the code was not passing in the proper value for commands. Also clean up some minor formatting issues. Get the block number from the right location, limit the maximum send message size to 63 bytes and explain why, and fix some minor sylistic issues. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 9162052173d2381e2bbabc224c3c1457acb4c54c Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Fri Apr 24 07:46:06 2015 -0500 ipmi: Add alert handling to SSIF The SSIF interface can optionally have an SMBus alert come in when data is ready. Unfortunately, the IPMI spec gives wiggle room to the implementer to allow them to always have the alert enabled, even if the driver doesn't enable it. So implement alerts. If you don't in this situation, the SMBus alert handling will constantly complain. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 9f8127048ab8b47b43f8aeaaec9fec2da44be9a1 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Thu Apr 23 11:16:44 2015 +0900 ipmi: Fix a problem that messages are not issued in run_to_completion mode start_next_msg() issues a message placed in smi_info->waiting_msg if it is non-NULL. However, sender() sets a message to smi_info->curr_msg and NULL to smi_info->waiting_msg in the context of run_to_completion mode. As the result, it leads an infinite loop by waiting the completion of unissued message when leaving dying message after kernel panic. sender() should set the message to smi_info->waiting_msg not curr_msg. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit a182a4b2b3e85a559ea2cd3545f4311db41325f2 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Wed Apr 22 13:25:40 2015 -0500 ipmi: Report an error if ACPI _IFT doesn't exist When probing an ACPI table, report a specific error, instead of just returning an error, if _IFT doesn't exist. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 15c5725e6b86cb8dfc4ca655a22005cc678a6f6f Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 21:09:53 2015 +0800 ipmi: Remove unused including <linux/version.h> Remove including <linux/version.h> that don't need it. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 489405fe5ed38e65f6f82f131a39c67f3bae6045 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue May 5 16:24:05 2015 -0700 rtc: armada38x: fix concurrency access in armada38x_rtc_set_time While setting the time, the RTC TIME register should not be accessed. However due to hardware constraints, setting the RTC time involves sleeping during 100ms. This sleep was done outside the critical section protected by the spinlock, so it was possible to read the RTC TIME register and get an incorrect value. This patch introduces a mutex for protecting the RTC TIME access, unlike the spinlock it is allowed to sleep in a critical section protected by a mutex. The RTC STATUS register can still be used from the interrupt handler but it has no effect on setting the time. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [4.0] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b1432a2a35565f538586774a03bf277c27fc267d Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Date: Tue May 5 16:24:02 2015 -0700 ocfs2: dlm: fix race between purge and get lock resource There is a race window in dlm_get_lock_resource(), which may return a lock resource which has been purged. This will cause the process to hang forever in dlmlock() as the ast msg can't be handled due to its lock resource not existing. dlm_get_lock_resource { ... spin_lock(&dlm->spinlock); tmpres = __dlm_lookup_lockres_full(dlm, lockid, namelen, hash); if (tmpres) { spin_unlock(&dlm->spinlock); >>>>>>>> race window, dlm_run_purge_list() may run and purge the lock resource spin_lock(&tmpres->spinlock); ... spin_unlock(&tmpres->spinlock); } } Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d8fd150fe3935e1692bf57c66691e17409ebb9c1 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Tue May 5 16:24:00 2015 -0700 nilfs2: fix sanity check of btree level in nilfs_btree_root_broken() The range check for b-tree level parameter in nilfs_btree_root_broken() is wrong; it accepts the case of "level == NILFS_BTREE_LEVEL_MAX" even though the level is limited to values in the range of 0 to (NILFS_BTREE_LEVEL_MAX - 1). Since the level parameter is read from storage device and used to index nilfs_btree_path array whose element count is NILFS_BTREE_LEVEL_MAX, it can cause memory overrun during btree operations if the boundary value is set to the level parameter on device. This fixes the broken sanity check and adds a comment to clarify that the upper bound NILFS_BTREE_LEVEL_MAX is exclusive. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 05836c378c7af9527b98a83746f32c7289a5f3c8 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue May 5 16:23:57 2015 -0700 util_macros.h: have array pointer point to array of constants Using the new find_closest() macro can result in the following sparse warnings. drivers/hwmon/lm85.c:194:16: warning: incorrect type in initializer (different modifiers) drivers/hwmon/lm85.c:194:16: expected int *__fc_a drivers/hwmon/lm85.c:194:16: got int static const [toplevel] *<noident> drivers/hwmon/lm85.c:210:16: warning: incorrect type in initializer (different modifiers) drivers/hwmon/lm85.c:210:16: expected int *__fc_a drivers/hwmon/lm85.c:210:16: got int const *map This is because the array passed to find_closest() will typically be declared as array of constants, but the macro declares a non-constant pointer to it. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f5b697700c86d7d01489202bfd37d86665754afd Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Tue May 5 16:23:54 2015 -0700 configfs: init configfs module earlier at boot time We need this earlier in the boot process to allow various subsystems to use configfs (e.g Industrial IIO). Also, debugfs is at core_initcall level and configfs should be on the same level from infrastructure point of view. Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Suggested-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e386eed89c764f102fcc3c0d4c78c65a357f7399 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue May 5 16:23:52 2015 -0700 mm/hwpoison-inject: check PageLRU of hpage Hwpoison injector checks PageLRU of the raw target page to find out whether the page is an appropriate target, but current code now filters out thp tail pages, which prevents us from testing for such cases via this interface. So let's check hpage instead of p. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Dean Nelson <dnelson@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7ea434a4eb49db83d17cc076f2267704c52938ae Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue May 5 16:23:49 2015 -0700 mm/hwpoison-inject: fix refcounting in no-injection case Hwpoison injection via debugfs:hwpoison/corrupt-pfn takes a refcount of the target page. But current code doesn't release it if the target page is not supposed to be injected, which results in memory leak. This patch simply adds the refcount releasing code. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Dean Nelson <dnelson@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 602498f9aa43d4951eece3fd6ad95a6d0a78d537 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue May 5 16:23:46 2015 -0700 mm: soft-offline: fix num_poisoned_pages counting on concurrent events If multiple soft offline events hit one free page/hugepage concurrently, soft_offline_page() can handle the free page/hugepage multiple times, which makes num_poisoned_pages counter increased more than once. This patch fixes this wrong counting by checking TestSetPageHWPoison for normal papes and by checking the return value of dequeue_hwpoisoned_huge_page() for hugepages. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Dean Nelson <dnelson@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.14+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4d61ff6b9960cb00cf2c12abd5769aa2dd475415 Author: Philippe De Muyter <phdm@xxxxxxxxx> Date: Tue May 5 16:23:44 2015 -0700 rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc This is a basic driver for the ultra-low-power Abracon AB x80x series of RTC chips. It supports in particular, the supersets AB0805 and AB1805. It allows reading and writing the time, and enables the supercapacitor/ battery charger. [arnd@xxxxxxxx: abx805 depends on i2c] [alexandre.belloni@xxxxxxxxxxxxxxxxxx: renam buffer from date to buf in abx80x_rtc_read_time()] Signed-off-by: Philippe De Muyter <phdm@xxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c71f1e05e62f3eb843b6458eeb7298f269b34b1e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue May 5 16:23:41 2015 -0700 Documentation: bindings: add abracon,abx80x Document the bindings for abracon,abx80x and related compatibles. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Philippe De Muyter <phdm@xxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01e76903f655a4d88c2e09d3182436c65f6e1213 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 16:23:38 2015 -0700 kasan: show gcc version requirements in Kconfig and Documentation The documentation shows a need for gcc > 4.9.2, but it's really >=. The Kconfig entries don't show require versions so add them. Correct a latter/later typo too. Also mention that gcc 5 required to catch out of bounds accesses to global and stack variables. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 09789e5de18e4e442870b2d700831f5cb802eb05 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue May 5 16:23:35 2015 -0700 mm/memory-failure: call shake_page() when error hits thp tail page Currently memory_failure() calls shake_page() to sweep pages out from pcplists only when the victim page is 4kB LRU page or thp head page. But we should do this for a thp tail page too. Consider that a memory error hits a thp tail page whose head page is on a pcplist when memory_failure() runs. Then, the current kernel skips shake_pages() part, so hwpoison_user_mappings() returns without calling split_huge_page() nor try_to_unmap() because PageLRU of the thp head is still cleared due to the skip of shake_page(). As a result, me_huge_page() runs for the thp, which is broken behavior. One effect is a leak of the thp. And another is to fail to isolate the memory error, so later access to the error address causes another MCE, which kills the processes which used the thp. This patch fixes this problem by calling shake_page() for thp tail case. Fixes: 385de35722c9 ("thp: allow a hwpoisoned head page to be put back to LRU") Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Dean Nelson <dnelson@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Jin Dongming <jin.dongming@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.4+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d616e4ddb9c0754ed6245a43332d5b867e4db11 Author: Yury Norov <yury.norov@xxxxxxxxx> Date: Tue May 5 16:23:33 2015 -0700 lib: delete lib/find_last_bit.c The file lib/find_last_bit.c was no longer used and supposed to be deleted by commit 8f6f19dd51 ("lib: move find_last_bit to lib/find_next_bit.c") but that delete didn't happen. This gets rid of it. Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 48b945a19cf6e7e548b2ce545ec88f93284ab276 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 16:23:30 2015 -0700 MAINTAINERS: add co-maintainer for LED subsystem Add myself (Jacek Anaszewski) as a co-maintainer for the LED subsystem. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 74f3037c4015f3a440dc4cb4e31477875fa9791c Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Tue May 5 16:23:28 2015 -0700 zram: add Designated Reviewer for zram in MAINTAINERS Sergey Senozhatsky has contributed/reviewed to zram for a long time. He is really helpful for maintaining zram so I want for him to continue helping me as Designated Reviewer unless he hates it. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 99ebbd30e3640f6addb37f222b4d6ad4b807d9ea Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 16:23:25 2015 -0700 revert "zram: move compact_store() to sysfs functions area" Revert commit c72c6160d967ed26a0b136dbab337f821d233509 It was intended to be a cosmetic change that w/o any functional change and was part of a bigger change: http://lkml.iu.edu/hypermail/linux/kernel/1503.1/01818.html Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 31ccd0e66d41f73cfc21a8de976e713455205228 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Apr 29 16:20:58 2015 -0700 tcp_westwood: fix tcp_westwood_info() I forgot to update tcp_westwood when changing get_info() behavior, this patch should fix this. Fixes: 64f40ff5bbdb ("tcp: prepare CC get_info() access from getsockopt()") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53ee1033ac1693d72f8c52e28f957697b021f6b4 Merge: c967a08 f673821 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue May 5 19:41:33 2015 -0400 Merge tag 'wireless-drivers-for-davem-2015-05-05' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers Kalle Valo says: ==================== iwlwifi: * fix firmware API for -13.ucode * fix RSSI handling that avoid bad roaming decision * fix firmware debug * fix MFUART operation * fix ASSERT while restart the hardware (because of another ASSERT e.g) ath9k: * fix per-packet tx power configuration rtlwifi: * rtl8192cu: Fix kernel deadlock ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c967a0873a7836c7a77bf611f1c7d3f47c554c45 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue May 5 09:06:30 2015 -0700 mpls: Move reserved label definitions Move to include/uapi/linux/mpls.h to be externally visibile. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc321ed2db8ee03b2f2ba809286d3bf4eef1e5e0 Merge: 7aab515 2d3c739 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue May 5 19:39:13 2015 -0400 Merge branch 'mlx4' Or Gerlitz says: ==================== mlx4 fixes for 4.1-rc2 Eran's fix is for a small off-by-one introduces on 4.1-rc1. Yisahi fixes an issue with comes into play only on VMs with many (> 256) vCPUs. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d3c739739e64619f4846746a06ff0a6adf8a155 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue May 5 17:07:12 2015 +0300 net/mlx4_core: Work properly with EQ numbers > 256 in SRIOV The Firmware uses dynamic EQs allocation based on number of VFs and max EQs that can be allocated. As a result, VF can have EQ numbers that are larger than 256. According to the firmware spec, the max value is limited to be 1024 (10 bits), adapt the relevant code accordingly. This bug was impossible to hit prior to commit 7ae0e400cd93 ("net/mlx4_core: Flexible (asymmetric) allocation of EQs and MSI-X vectors for PF/VFs") which actually enables large number of EQs for VFs. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cae0633872fc8b0c34930dd2862856563bce58ec Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Tue May 5 17:07:11 2015 +0300 net/mlx4_en: Fix off-by-one in counters manipulation This caused the en_stats_adder helper to accumulate a field which is not related to the counter, fix that. Fixes: a3333b35da16 ('net/mlx4_en: Moderate ethtool callback to show [..]') Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7aab5159fa0100ee3f80d1b0f55cd7e9b5823270 Author: Jerry Snitselaar <jsnitsel@xxxxxxxxxx> Date: Mon May 4 10:57:16 2015 -0700 hv_netvsc: remove unused variable in netvsc_send() With commit b56fc3c53654 ("hv_netvsc: Fix a bug in netvsc_start_xmit()"), skb variable is no longer used in netvsc_send. Remove variable and dead code that depended on it. Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Jerry Snitselaar <jsnitsel@xxxxxxxxxx> Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df6dd1b35b0ec0ac6a5298378ceaf487091f448c Author: Jean Delvare <jdelvare@xxxxxxx> Date: Mon Apr 27 09:45:06 2015 +0200 thinkpad_acpi: Fix warning for static not at beginning Fix the following warning: warning: "static" is not at beginning of declaration void static hotkey_mask_warn_incomplete_mask(void) ^ Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Henrique de Moraes Holschuh <ibm-acpi@xxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit b1e65e71535aa128089d4cb1b6d90db7551fcb05 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Fri Apr 10 20:19:18 2015 -0500 ipmi: Don't report err in the SI driver for SSIF devices Really ignore them by returning -ENODEV from the probe, but not doing anything. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 5e33cd0c5a299772b5ec1a493f0a77548664ae06 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Feb 22 10:21:07 2015 -0800 ipmi: Remove incorrect use of seq_has_overflowed commit d6c5dc18d863 ("ipmi: Remove uses of return value of seq_printf") incorrectly changed the return value of various proc_show functions to use seq_has_overflowed(). These functions should return 0 on completion rather than 1/true on overflow. 1 is the same as #define SEQ_SKIP which would cause the output to not be emitted (skipped) instead. This is a logical defect only as the length of these outputs are all smaller than the initial allocation done by the seq filesystem. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit b0e9aaa99dfb3036829e91d4f0aae449639e221a Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Tue Mar 31 12:48:53 2015 -0500 ipmi:ssif: Ignore spaces when comparing I2C adapter names Some of the adapters have spaces in their names, but that's really hard to pass in as a module or kernel parameters. So ignore the spaces. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit d467f7a405cf0e7f06ed8d3175607ebb4ed06671 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Thu Mar 26 13:35:18 2015 -0500 ipmi_ssif: Fix the logic on user-supplied addresses Returning zero is success. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit de71ad2c97862eae1516aa36528cc3b317c17b2f Author: Marc Dionne <marc.c.dionne@xxxxxxxxx> Date: Mon May 4 15:16:44 2015 -0300 x86: Make cpu_tss available to external modules Commit 75182b1632 ("x86/asm/entry: Switch all C consumers of kernel_stack to this_cpu_sp0()") changed current_thread_info to use this_cpu_sp0, and indirectly made it rely on init_tss which was exported with EXPORT_PER_CPU_SYMBOL_GPL. As a result some macros and inline functions such as set/get_fs, test_thread_flag and variants have been made unusable for external modules. Make cpu_tss exported with EXPORT_PER_CPU_SYMBOL so that these functions are accessible again, as they were previously. Signed-off-by: Marc Dionne <marc.dionne@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1430763404-21221-1-git-send-email-marc.dionne@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a71dbdaa8ca2933391b08e0ae5567083e3af0892 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon May 4 11:02:15 2015 -0400 hypervisor/x86/xen: Unset X86_BUG_SYSRET_SS_ATTRS on Xen PV guests Commit 61f01dd941ba ("x86_64, asm: Work around AMD SYSRET SS descriptor attribute issue") makes AMD processors set SS to __KERNEL_DS in __switch_to() to deal with cases when SS is NULL. This breaks Xen PV guests who do not want to load SS with__KERNEL_DS. Since the problem that the commit is trying to address would have to be fixed in the hypervisor (if it in fact exists under Xen) there is no reason to set X86_BUG_SYSRET_SS_ATTRS flag for PV VPCUs here. This can be easily achieved by adding x86_hyper_xen_hvm.set_cpu_features op which will clear this flag. (And since this structure is no longer HVM-specific we should do some renaming). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 16e6bd5970c88a2ac018b84a5f1dd5c2ff1fdf2c Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Wed Apr 29 17:10:15 2015 -0400 xen/events: Set irq_info->evtchn before binding the channel to CPU in __startup_pirq() .. because bind_evtchn_to_cpu(evtchn, cpu) will map evtchn to 'info' and pass 'info' down to xen_evtchn_port_bind_to_cpu(). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Tested-by: Annie Li <annie.li@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit b9d934f27c91b878c4b2e64299d6e419a4022f8d Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Wed Apr 29 17:10:14 2015 -0400 xen/console: Update console event channel on resume After a resume the hypervisor/tools may change console event channel number. We should re-query it. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 16f1cf3ba7303228372d3756677bf7d10e79cf9f Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Wed Apr 29 17:10:13 2015 -0400 xen/xenbus: Update xenbus event channel on resume After a resume the hypervisor/tools may change xenbus event channel number. We should re-query it. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5cec98834989a014a9560b1841649eaca95cf00e Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Wed Apr 29 17:10:12 2015 -0400 xen/events: Clear cpu_evtchn_mask before resuming When a guest is resumed, the hypervisor may change event channel assignments. If this happens and the guest uses 2-level events it is possible for the interrupt to be claimed by wrong VCPU since cpu_evtchn_mask bits may be stale. This can happen even though evtchn_2l_bind_to_cpu() attempts to clear old bits: irq_info that is passed in is not necessarily the original one (from pre-migration times) but instead is freshly allocated during resume and so any information about which CPU the channel was bound to is lost. Thus we should clear the mask during resume. We also need to make sure that bits for xenstore and console channels are set when these two subsystems are resumed. While rebind_evtchn_irq() (which is invoked for both of them on a resume) calls irq_set_affinity(), the latter will in fact postpone setting affinity until handling the interrupt. But because cpu_evtchn_mask will have bits for these two cleared we won't be able to take the interrupt. With that in mind, we need to bind those two channels explicitly in rebind_evtchn_irq(). We will keep irq_set_affinity() so that we have a pass through generic irq affinity code later, in case something needs to be updated there as well. (Also replace cpumask_of(0) with cpumask_of(info->cpu) in rebind_evtchn_irq(): it should be set to zero in preceding xen_irq_info_evtchn_setup().) Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reported-by: Annie Li <annie.li@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.14+ Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit b6b2bbe65b2117afd9766faa7cffea4d8f681455 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Tue May 5 12:57:09 2015 -0400 MAINTAINERS: Update InfiniBand subsystem maintainer Since Roland stepped down, the community asked me to take his place, and the nomination was followed by sufficient votes and no dissensions that we can move forward with the change. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 954138dc25dca0263f315c5a3450059df05a4ea1 Author: Yann Droneaud <ydroneaud@xxxxxxxxxx> Date: Mon May 4 14:31:03 2015 +0200 MAINTAINERS: add include/rdma/ to InfiniBand subsystem Most headers for InfiniBand/RDMA are located under include/rdma/ and include/uapi/rdma. Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8f71c1a27b84948720be17fffba71a67a1f0942d Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Tue May 5 13:01:39 2015 +0200 IPoIB/CM: Fix indentation level See also patch "IPoIB/cm: Add connected mode support for devices without SRQs" (commit ID 68e995a29572). Detected by smatch. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Pradeep Satyanarayana <pradeeps@xxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 179d03bbfd2ebc63934753a696467d28bf9f5b64 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue May 5 03:55:24 2015 +0530 iw_cxgb4: Remove negative advice dmesg warnings Remove these log messages in favor of per-endpoint counters as well as device-global counters that can be inspected via debugfs. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0d0f738f6a11856a704dcd8fd3a008b200f17625 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Sun May 3 09:48:26 2015 -0400 IB/core: Fix unaligned accesses Addresses the following kernel logs seen during boot of sparc systems: Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm] Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm] Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm] Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm] Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm] Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 471e70583217728955436a3fa6e5201e5c8c296a Author: Honggang LI <honli@xxxxxxxxxx> Date: Wed Apr 29 17:40:44 2015 +0800 IB/core: change rdma_gid2ip into void function as it always return zero Signed-off-by: Honggang Li <honli@xxxxxxxxxx> Acked-by: Sean Hefty <sean.hefty@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit cb31ef485dd4c6a205d1064b42027f82076d00c8 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Sun May 3 22:35:05 2015 +0800 init: fix regression by supporting devices with major:minor:offset format Commit 283e7ad02 ("init: stricter checking of major:minor root= values") was so strict that it exposed the fact that a previously unknown device format was being used. Distributions like Ubuntu uses klibc (rather than uswsusp) to resume system from hibernation. klibc expressed the swap partition/file in the form of major:minor:offset. For example, 8:3:0 represents a swap partition in klibc, and klibc's resume process in initrd will finally echo 8:3:0 to /sys/power/resume for manually resuming. However, due to commit 283e7ad02's stricter checking, 8:3:0 will be treated as an invalid device format, and manual resuming from hibernation will fail. Fix this by adding support for devices with major:minor:offset format when resuming from hibernation. Reported-by: Prigent, Christophe <christophe.prigent@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Acked-by: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit c0403ec0bb5a8c5b267fb7e16021bec0b17e4964 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Tue May 5 15:15:56 2015 +0200 Revert "dm crypt: fix deadlock when async crypto algorithm returns -EBUSY" This reverts Linux 4.1-rc1 commit 0618764cb25f6fa9fb31152995de42a8a0496475. The problem which that commit attempts to fix actually lies in the Freescale CAAM crypto driver not dm-crypt. dm-crypt uses CRYPTO_TFM_REQ_MAY_BACKLOG. This means the the crypto driver should internally backlog requests which arrive when the queue is full and process them later. Until the crypto hw's queue becomes full, the driver returns -EINPROGRESS. When the crypto hw's queue if full, the driver returns -EBUSY, and if CRYPTO_TFM_REQ_MAY_BACKLOG is set, is expected to backlog the request and process it when the hardware has queue space. At the point when the driver takes the request from the backlog and starts processing it, it calls the completion function with a status of -EINPROGRESS. The completion function is called (for a second time, in the case of backlogged requests) with a status/err of 0 when a request is done. Crypto drivers for hardware without hardware queueing use the helpers, crypto_init_queue(), crypto_enqueue_request(), crypto_dequeue_request() and crypto_get_backlog() helpers to implement this behaviour correctly, while others implement this behaviour without these helpers (ccp, for example). dm-crypt (before the patch that needs reverting) uses this API correctly. It queues up as many requests as the hw queues will allow (i.e. as long as it gets back -EINPROGRESS from the request function). Then, when it sees at least one backlogged request (gets -EBUSY), it waits till that backlogged request is handled (completion gets called with -EINPROGRESS), and then continues. The references to af_alg_wait_for_completion() and af_alg_complete() in that commit's commit message are irrelevant because those functions only handle one request at a time, unlink dm-crypt. The problem is that the Freescale CAAM driver, which that commit describes as having being tested with, fails to implement the backlogging behaviour correctly. In cam_jr_enqueue(), if the hardware queue is full, it simply returns -EBUSY without backlogging the request. What the observed deadlock was is not described in the commit message but it is obviously the wait_for_completion() in crypto_convert() where dm-crypto would wait for the completion being called with -EINPROGRESS in the case of backlogged requests. This completion will never be completed due to the bug in the CAAM driver. Commit 0618764cb25 incorrectly made dm-crypt wait for every request, even when the driver/hardware queues are not full, which means that dm-crypt will never see -EBUSY. This means that that commit will cause a performance regression on all crypto drivers which implement the API correctly. Revert it. Correct backlog handling should be implemented in the CAAM driver instead. Cc'ing stable purely because commit 0618764cb25 did. If for some reason a stable@ kernel did pick up commit 0618764cb25 it should get reverted. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Reviewed-by: Horia Geanta <horia.geanta@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit d9cee5d4f66ef36f69b0108dedbad7f7009bb6a8 Merge: c02d7da f440c4e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 09:03:52 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fixes from Herbert Xu: "This fixes a build problem with bcm63xx and yet another fix to the memzero_explicit function to ensure that the memset is not elided" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: hwrng: bcm63xx - Fix driver compilation lib: make memzero_explicit more robust against dead store elimination commit c02d7da3dd00cb32b58d9c87240456e19eebcc42 Merge: 5ebe6af fefad2d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 08:42:06 2015 -0700 Merge tag 'media/v4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media fixes from Mauro Carvalho Chehab: "Three driver fixes: - fix for omap4, fixing a regression due to a subsystem API that got removed for 4.1 (commit efde234674d9); - fix for one of the formats supported by Marvel ccic driver; - fix rcar_vin driver that, when stopping abnormally, the driver can't return from wait_for_completion" * tag 'media/v4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] v4l: omap4iss: Replace outdated OMAP4 control pad API with syscon [media] media: soc_camera: rcar_vin: Fix wait_for_completion [media] marvell-ccic: fix Y'CbCr ordering commit e59d29e88f7b7e3d1231202b0203d0af6f15a440 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Apr 28 08:46:09 2015 +0000 perf probe: Fix segfault if passed with ''. Since parse_perf_probe_point() deals with a user passed argument, we should not assume it to be a valid string. Without this patch, if pass '' to perf probe, a segfault raises: $ perf probe -a '' Segmentation fault This patch checks argument of parse_perf_probe_point() before string processing. After this patch: $ perf probe -a '' usage: perf probe [<options>] 'PROBEDEF' ['PROBEDEF' ...] or: perf probe [<options>] --add 'PROBEDEF' [--add 'PROBEDEF' ...] ... Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1430210769-94177-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d67e199611b986b345ea3087ee2e4a15da1c98b3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Apr 21 16:46:28 2015 +0300 efi: Fix error handling in add_sysfs_runtime_map_entry() I spotted two (difficult to hit) bugs while reviewing this. 1) There is a double free bug because we unregister "map_kset" in add_sysfs_runtime_map_entry() and also efi_runtime_map_init(). 2) If we fail to allocate "entry" then we should return ERR_PTR(-ENOMEM) instead of NULL. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Dave Young <dyoung@xxxxxxxxxx> Cc: Guangyu Sun <guangyu.sun@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 3916e3fd81021fb795bfbdb17f375b6b3685bced Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Mon May 4 15:06:49 2015 +0200 drm/i915: Add missing MacBook Pro models with dual channel LVDS Single channel LVDS maxes out at 112 MHz. The 15" pre-retina models shipped with 1440x900 (106 MHz) by default or 1680x1050 (119 MHz) as a BTO option, both versions used dual channel LVDS even though the smaller one would have fit into a single channel. Notes: Bug report showing that the MacBookPro8,2 with 1440x900 uses dual channel LVDS (this lead to it being hardcoded in intel_lvds.c by Daniel Vetter with commit 618563e3945b9d0864154bab3c607865b557cecc): https://bugzilla.kernel.org/show_bug.cgi?id=42842 If i915.lvds_channel_mode=2 is missing even though the machine needs it, every other vertical line is white and consequently, only the left half of the screen is visible (verified by myself on a MacBookPro9,1). Forum posting concerning a MacBookPro6,2 with 1440x900, author is using i915.lvds_channel_mode=2 on the kernel command line, proving that the machine uses dual channels: https://bbs.archlinux.org/viewtopic.php?id=185770 Chi Mei N154C6-L04 with 1440x900 is a replacement panel for all MacBook Pro "A1286" models, and that model number encompasses the MacBookPro6,2 / 8,2 / 9,1. Page 17 of the panel's datasheet shows it's driven with dual channel LVDS: http://www.ebay.com/itm/-/400690878560 http://www.everymac.com/ultimate-mac-lookup/?search_keywords=A1286 http://www.taopanel.com/chimei/datasheet/N154C6-L04.pdf Those three 15" models, MacBookPro6,2 / 8,2 / 9,1, are the only ones with i915 graphics and dual channel LVDS, so that list should be complete. And the 8,2 is already in intel_lvds.c. Possible motivation to use dual channel LVDS even on the 1440x900 models: Reduce the number of different parts, i.e. use identical logic boards and display cabling on both versions and the only differing component is the panel. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [Jani: included notes in the commit message for posterity] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 6f317cfe42c9d8a7c9c1a327d2f1bcc517a3cd91 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Apr 12 21:10:35 2015 +0200 drm/i915: Assume dual channel LVDS if pixel clock necessitates it Single channel LVDS maxes out at 112 MHz, anything above must be dual channel. This avoids the need to specify i915.lvds_channel_mode=2 on all 17" MacBook Pro models with i915 graphics since they had 1920x1200 (193 MHz), plus those 15" pre-retina models which had a resolution of 1680x1050 (119 MHz) as a BTO option. Source for 112 MHz limit of single channel LVDS is section 2.3 of: https://01.org/linuxgraphics/sites/default/files/documentation/ivb_ihd_os_vol3_part4.pdf v2: Avoid hardcoding 17" models by assuming dual channel LVDS if the resolution necessitates it, suggested by Jani Nikula. v3: Fix typo, thanks Joonas Lahtinen. v4: Split commit in two, suggested by Ville Syrjälä. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Tested-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [Jani: included spec reference into the commit message] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 11fa7df1e12f19571bdce4580cbc63a8cb3e9e85 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue May 5 12:14:03 2015 +0300 ata: select DW_DMAC in case of SATA_DWC Since sata_dwc_460ex.c was moved to generic DMA driver we have to ensure that user can still compile it. Fixes: 8b3444852a2b (sata_dwc_460ex: move to generic DMA driver) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d73a824acc705571c0f47596326d7967fba9a1d9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon May 4 14:35:01 2015 -0400 drm/radeon: don't setup audio on asics that don't support it bug: https://bugzilla.kernel.org/show_bug.cgi?id=97701 Reported-by: Mikael Pettersson <mikpelinux@xxxxxxxxx> Tested-by: Mikael Pettersson <mikpelinux@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit d9e7eb152bb24f06028a0d10b054e39ebdf14f9c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Apr 10 23:58:24 2015 +0200 iommu/rockchip: Fix build without CONFIG_OF The rockchip iommu driver references its of_device_id table from the init function, which fails to build when the table is undefined: iommu/rockchip-iommu.c: In function 'rk_iommu_init': iommu/rockchip-iommu.c:1029:35: error: 'rk_iommu_dt_ids' undeclared (first use in this function) np = of_find_matching_node(NULL, rk_iommu_dt_ids); This removes the #ifdef and the corresponding of_match_ptr wrapper to make it build both with CONFIG_OF enabled or disabled. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 425061b0f5074 ("iommu/rockchip: Play nice in multi-platform builds") Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d4988623cc605131bed8c77f007082c3555c39ee Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Apr 22 11:38:24 2015 -0700 IB/qib: use arch_phys_wc_add() This driver already makes use of ioremap_wc() on PIO buffers, so convert it to use arch_phys_wc_add(). The qib driver uses a mmap() special case for when PAT is not used, this behaviour used to be determined with a module parameter but since we have been asked to just remove that module parameter this checks for the WC cookie, if not set we can assume PAT was used. If its set we do what we used to do for the mmap for when MTRR was enabled. The removal of the module parameter is OK given that Andy notes that even if users of module parameter are still around it will not prevent loading of the module on recent kernels. Cc: Doug Ledford <dledford@xxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Cc: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxxxxxxx> Cc: Sean Hefty <sean.hefty@xxxxxxxxx> Cc: Hal Rosenstock <hal.rosenstock@xxxxxxxxx> Cc: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Stefan Bader <stefan.bader@xxxxxxxxxxxxx> Cc: konrad.wilk@xxxxxxxxxx Cc: ville.syrjala@xxxxxxxxxxxxxxx Cc: david.vrabel@xxxxxxxxxx Cc: jbeulich@xxxxxxxx Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx> Cc: infinipath@xxxxxxxxx Cc: linux-rdma@xxxxxxxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 87a26e976cb93e26742224bdd39f51f7861aa9b7 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Tue Apr 21 14:50:34 2015 -0700 IB/qib: add acounting for MTRR There is no good reason not to, we eventually delete it as well. Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Mike Marciniszyn <infinipath@xxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxx> Cc: Sean Hefty <sean.hefty@xxxxxxxxx> Cc: Hal Rosenstock <hal.rosenstock@xxxxxxxxx> Cc: linux-rdma@xxxxxxxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 325ad0617adaf163e32dd2d857b90baf65a25b5b Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Wed Apr 15 18:17:57 2015 +0300 IB/core: dma unmap optimizations While unmapping an ODP writable page, the dirty bit of the page is set. In order to do so, the head of the compound page is found. Currently, the compound head is found even on non-writable pages, where it is never used, leading to unnecessary cpu barrier that impacts performance. This patch moves the search for the compound head to be done only when needed. Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Acked-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c1d383b5785b1e0fb5fb862864712a7208219e6a Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Wed Apr 15 18:17:56 2015 +0300 IB/core: dma map/unmap locking optimizations Currently, while mapping or unmapping pages for ODP, the umem mutex is locked and unlocked once for each page. Such lock/unlock operation take few tens to hundreds of nsecs. This makes a significant impact when mapping or unmapping few MBs of memory. To avoid this, the mutex should be locked only once per operation, and not per page. Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Acked-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5b6b8fe64053b2649660ded2f3c5be25ebddbfdb Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 16:28:41 2015 -0400 RDMA/cxgb4: Report the actual address of the remote connecting peer Get the actual (non-mapped) ip/tcp address of the connecting peer from the port mapper Also setup the passive side endpoint to correctly display the actual and mapped addresses for the new connection. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 230da36ae919e690dbcc44d1be8a2154214c6e36 Author: Tatyana Nikolova <Tatyana.E.Nikolova@xxxxxxxxx> Date: Tue Apr 21 16:28:25 2015 -0400 RDMA/nes: Report the actual address of the remote connecting peer Get the actual (non-mapped) ip/tcp address of the connecting peer from the port mapper and report the address info to the user space application at the time of connection establishment Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6eec177461751f0fe191cf9977cde692b9481d0a Author: Tatyana Nikolova <Tatyana.E.Nikolova@xxxxxxxxx> Date: Tue Apr 21 16:28:10 2015 -0400 RDMA/core: Enable the iWarp Port Mapper to provide the actual address of the connecting peer to its clients Add functionality to enable the port mapper on the passive side to provide to its clients the actual (non-mapped) ip/tcp address information of the connecting peer 1) Adding remote_info_cb() to process the address info of the connecting peer The address info is provided by the user space port mapper service when the connection is initiated by the peer 2) Adding a hash list to store the remote address info 3) Adding functionality to add/remove the remote address info After the info has been provided to the port mapper client, it is removed from the hash list Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@xxxxxxxxx> Reviewed-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4a75a86c8d04390f268d7237cc49fe9a8e36efe7 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Apr 22 01:45:01 2015 +0530 iw_cxgb4: enforce qp/cq id requirements Currently the iw_cxgb4 implementation requires the qp and cq qid densities to match as well as the qp and cq id ranges. So fail a device open if the device configuration doesn't meet the requirements. The reason for these restictions has to do with the fact that IQ qid X has a UGTS register in the same bar2 page as EQ qid X. Thus both qids need to be allocated to the same user process for security reasons. The logic that does this (the qpid allocator in iw_cxgb4/resource.c) handles this but requires the above restrictions. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 09ece8b9e983fe858de6eab7a386d58d194227b6 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Apr 22 01:45:00 2015 +0530 iw_cxgb4: use BAR2 GTS register for T5 kernel mode CQs For T5, we must not use the kdb/kgts registers, in order avoid db drops under extreme loads. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6198dd8d7a6a7f40dc4599cb0676101d9cb82776 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Apr 22 01:44:59 2015 +0530 iw_cxgb4: 32b platform fixes - get_dma_mr() was using ~0UL which is should be ~0ULL. This causes the DMA MR to get setup incorrectly in hardware. - wr_log_show() needed a 64b divide function div64_u64() instead of doing division directly. - fixed warnings about recasting a pointer to a u64 Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0b7410471d59ce2ea30453e68c03bdb941d5951e Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Apr 22 01:44:58 2015 +0530 iw_cxgb4: Cleanup register defines/MACROS Cleanup macros and register defines for consistency Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 285214409a9e5fceba2215461b4682b6069d8e77 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 14:01:11 2015 -0600 RDMA/CMA: Canonize IPv4 on IPV6 sockets properly When accepting a new IPv4 connect to an IPv6 socket, the CMA tries to canonize the address family to IPv4, but does not properly process the listening sockaddr to get the listening port, and does not properly set the address family of the canonized sockaddr. Fixes: e51060f08a61 ("IB: IP address based RDMA connection manager") Cc: <stable@xxxxxxxxxxxxxxx> Reported-By: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Tested-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 326a780317d572711f70d53054502e86a1ff5317 Author: Jungseung Lee <js07.lee@xxxxxxxxx> Date: Mon May 4 11:33:48 2015 +0100 arm64: mm: Fix build error with CONFIG_SPARSEMEM_VMEMMAP disabled This fix the below build error: arch/arm64/mm/dump.c: In function â??ptdump_initâ??: arch/arm64/mm/dump.c:331:18: error: â??VMEMMAP_START_NRâ?? undeclared (first use in this function) address_markers[VMEMMAP_START_NR].start_address = ^ arch/arm64/mm/dump.c:331:18: note: each undeclared identifier is reported only once for each function it appears in arch/arm64/mm/dump.c:333:18: error: â??VMEMMAP_END_NRâ?? undeclared (first use in this function) address_markers[VMEMMAP_END_NR].start_address = ^ Acked-by: Laura Abbott <labbott@xxxxxxxxxx> Signed-off-by: Jungseung Lee <js07.lee@xxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b9a95e85bbc56f168f078885f414f305b4589c4b Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 1 13:48:17 2015 +0100 Revert "arm64: alternative: Allow immediate branch as alternative instruction" This reverts most of commit fef7f2b2010381c795ae43743ad31931cc58f5ad. It turns out that there are a couple of problems with the way we're fixing up branch instructions used as part of alternative instruction sequences: (1) If the branch target is also in the alternative sequence, we'll generate a branch into the .altinstructions section which actually gets freed. (2) The calls to aarch64_insn_{read,write} bring an awful lot more code into the patching path (e.g. taking locks, poking the fixmap, invalidating the TLB) which isn't actually needed for the early patching run under stop_machine, but makes the use of alternative sequences extremely fragile (as we can't patch code that could be used by the patching code). Given that no code actually requires alternative patching of immediate branches, let's remove this support for now and revisit it when we've got a user. We leave the updated size check, since we really do require the sequences to be the same length. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e8a4a2696fecb398b0288c43c0e0dbb91e265bb2 Author: Tahsin Erdogan <tahsin@xxxxxxxxxx> Date: Mon May 4 21:15:31 2015 -0700 x86/spinlocks: Fix regression in spinlock contention detection A spinlock is regarded as contended when there is at least one waiter. Currently, the code that checks whether there are any waiters rely on tail value being greater than head. However, this is not true if tail reaches the max value and wraps back to zero, so arch_spin_is_contended() incorrectly returns 0 (not contended) when tail is smaller than head. The original code (before regression) handled this case by casting the (tail - head) to an unsigned value. This change simply restores that behavior. Fixes: d6abfdb20223 ("x86/spinlocks/paravirt: Fix memory corruption on unlock") Signed-off-by: Tahsin Erdogan <tahsin@xxxxxxxxxx> Cc: peterz@xxxxxxxxxxxxx Cc: Waiman.Long@xxxxxx Cc: borntraeger@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: raghavendra.kt@xxxxxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1430799331-20445-1-git-send-email-tahsin@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7263b1bd0490fca68ee7eedb0b6973cb86d4701c Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Apr 22 11:03:48 2015 -0700 f2fs: fix wrong error hanlder in f2fs_follow_link The page_follow_link_light returns NULL and its error pointer was remained in nd->path. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5463e7c18e51152104aba9614e6abfc039a8b710 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Apr 21 10:40:54 2015 -0700 Revert "f2fs: enhance multi-threads performance" This reports performance regression by Yuanhan Liu. The basic idea was to reduce one-point mutex, but it turns out this causes another contention like context swithes. https://lkml.org/lkml/2015/4/21/11 Until finishing the analysis on this issue, I'd like to revert this for a while. This reverts commit 78373b7319abdf15050af5b1632c4c8b8b398f33. commit 9ba52e5812e53f20f23600d79449a3ec05a0254f Author: Shaohua Li <shli@xxxxxx> Date: Mon May 4 14:32:48 2015 -0600 blk-mq: don't lose requests if a stopped queue restarts Normally if driver is busy to dispatch a request the logic is like below: block layer: driver: __blk_mq_run_hw_queue a. blk_mq_stop_hw_queue b. rq add to ctx->dispatch later: 1. blk_mq_start_hw_queue 2. __blk_mq_run_hw_queue But it's possible step 1-2 runs between a and b. And since rq isn't in ctx->dispatch yet, step 2 will not run rq. The rq might get lost if there are no subsequent requests kick in. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b7ba7b469a4ffc2907c355a3c0873173567d9038 Merge: 0650c0b ff419b3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon May 4 16:00:55 2015 -0400 Merge tag 'mac80211-for-davem-2015-05-04' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 Johannes Berg says: ==================== We have only a few fixes right now: * a fix for an issue with hash collision handling in the rhashtable conversion * a merge issue - rhashtable removed default shrinking just before mac80211 was converted, so enable it now * remove an invalid WARN that can trigger with legitimate userspace behaviour * add a struct member missing from kernel-doc that caused a lot of warnings ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0650c0b8d9efe5b1205116a2febcb984c6c98472 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon May 4 12:34:12 2015 +0300 bnx2x: Fix to prevent inner-reload Submit 909d9faae2a44 ("bnx2x: Prevent inner-reload while VFs exist") contained a bug - MTU change was not prevented by it; Instead, it `randomally' prevented bnx2x_resume() from running [harmless yet wrong]. This moves the check to its correct spot. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73e84313ee4178cac628009103a901af9dfe8920 Merge: e278371 1add156 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon May 4 15:36:07 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-05-04 Here's the first bluetooth-next pull request for 4.2: - Various fixes for at86rf230 driver - ieee802154: trace events support for rdev->ops - HCI UART driver refactoring - New Realtek IDs added to btusb driver - Off-by-one fix for rtl8723b in btusb driver - Refactoring of btbcm driver for both UART & USB use Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2783717a71e9babfdd7c36c7e35b790d2c01022 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Mon May 4 11:51:38 2015 -0400 net/rds: Fix new sparse warning c0adf54a109 introduced new sparse warnings: CHECK /home/dahern/kernels/linux.git/net/rds/ib_cm.c net/rds/ib_cm.c:191:34: warning: incorrect type in initializer (different base types) net/rds/ib_cm.c:191:34: expected unsigned long long [unsigned] [usertype] dp_ack_seq net/rds/ib_cm.c:191:34: got restricted __be64 <noident> net/rds/ib_cm.c:194:51: warning: cast to restricted __be64 The temporary variable for sequence number should have been declared as __be64 rather than u64. Make it so. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Cc: shamir rabinovitch <shamir.rabinovitch@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2d4fcb8043402fd24aaef7e00d4c24b1151cda4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon May 4 15:12:33 2015 -0400 Revert "Revert "smc91x: retrieve IRQ and trigger flags in a modern way"" This reverts commit 8d7d9cca4390062ccd09ffd9fdb37d1c4eeea9ac. Now that the necessary infrastructure is really all there in the tree, we can put this change back in. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 965b2aa78fbcb831acf4f669f494da201f4bcace Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Mon May 4 14:39:49 2015 +0530 net/smsc911x: fix irq resource allocation failure When smsc911x uses GPIO as the interrupt controller, and if both are loaded as modules, we get following error: "smsc911x: Could not allocate irq resource" This issue is because of smsc911x using platform_get_resource to get device tree based irq resource. commit "9ec36ca (of/irq: do irq resolution in platform_get_irq)" and commit "7085a7 (drivers: platform: parse IRQ flags from resources)" add support in platform_get_irq to resolve irq and irq_flags respectively for both modern device tree and legacy static platform data platforms. Modify smsc911x driver to use platform_get_irq to pick up irq resource correctly and use irq_get_trigger_type to get the IRQ trigger flags. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2387ddcced8de3e6471a2fb16a409577063016f Author: Shaohua Li <shli@xxxxxx> Date: Fri May 1 09:59:44 2015 -0700 blk-mq: fix FUA request hang When a FUA request enters its DATA stage of flush pipeline, the request is added to mq requeue list, the request will then be added to ctx->rq_list. blk_mq_attempt_merge() might merge the request with a bio. Later when the request is finished the flush pipeline, the request->__data_len is 0. Then I only saw the bio gets endio called, the original request never finish. Adding REQ_FLUSH_SEQ into REQ_NOMERGE_FLAGS looks an easy fix. stable: 3.15+ Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 013ead48a843442e63b9426e3bd5df18ca5d054a Author: Christian König <christian.koenig@xxxxxxx> Date: Fri May 1 12:34:12 2015 +0200 drm/radeon: disable semaphores for UVD V1 (v2) Hardware doesn't seem to work correctly, just block userspace in this case. v2: add missing defines Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=85320 Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d66bf7dd27573ee5ea90484899ee952c19ccb194 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Sat May 2 21:33:44 2015 -0400 net: core: Correct an over-stringent device loop detection. The code in __netdev_upper_dev_link() has an over-stringent loop detection logic that actually prevents valid configurations from working correctly. In particular, the logic returns an error if an upper device is already in the list of all upper devices for a given dev. This particular check seems to be a overzealous as it disallows perfectly valid configurations. For example: # ip l a link eth0 name eth0.10 type vlan id 10 # ip l a dev br0 typ bridge # ip l s eth0.10 master br0 # ip l s eth0 master br0 <--- Will fail If you switch the last two commands (add eth0 first), then both will succeed. If after that, you remove eth0 and try to re-add it, it will fail! It appears to be enough to simply check adj_list to keeps things safe. I've tried stacking multiple devices multiple times in all different combinations, and either rx_handler registration prevented the stacking of the device linking cought the error. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Veaceslav Falico <vfalico@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b096fded15bbf0cd4b39fdab3dfe306210ad3f6 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat May 2 19:23:22 2015 +0200 isdn/gigaset: cede maintainership As German phone operators are discontinuing ISDN service, neither Hansjörg nor I will be able to maintain the Gigaset ISDN drivers any longer. Paul Bolle offered to step into the breach for odd fixes. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Acked-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7309c2673a389a495fcfad70376d3bae8b9bc89 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Apr 24 12:54:20 2015 -0500 bus: omap_l3_noc: Fix master id address decoding for OMAP5 The L3 Error handling on OMAP5 for the most part is very similar to that of OMAP4, and had leveraged common data structures and register layout definitions so far. Upon closer inspection, there are a few minor differences causing an incorrect decoding and reporting of the master NIU upon an error: 1. The L3_TARG_STDERRLOG_MSTADDR.STDERRLOG_MSTADDR occupies 11 bits on OMAP5 as against 8 bits on OMAP4, with the master NIU connID encoded in the 6 MSBs of the STDERRLOG_MSTADDR field. 2. The CLK3 FlagMux component has 1 input source on OMAP4 and 3 input sources on OMAP5. The common DEBUGSS source is at a different input on each SoC. Fix the above issues by using a OMAP5-specific compatible property and using SoC-specific data where there are differences. Signed-off-by: Suman Anna <s-anna@xxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4adf82c35572c69e96997641612fc88463b08f6f Author: Illia Smyrnov <illia.smyrnov@xxxxxxxxxxxxxxx> Date: Thu Apr 16 17:42:30 2015 -0500 bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance The base address for DRA7 CLK1_HOST_CLK1_2 host instance is 0x44800000, so correct offset is 0x800000. DRA7 TRM rev X(fewb 2015) has updates for this information. With wrong offset these errors are not correctly cleared by the L3 IRQ handler and cause an continuous interrupt scenario and system lockup. Signed-off-by: Illia Smyrnov <illia.smyrnov@xxxxxxxxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9a9324d3969678d44b330e1230ad2c8ae67acf81 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Mon May 4 12:20:29 2015 -0400 libata: Blacklist queued TRIM on all Samsung 800-series The queued TRIM problems appear to be generic to Samsung's firmware and not tied to a particular model. A recent update to the 840 EVO firmware introduced the same issue as we saw on 850 Pro. Blacklist queued TRIM on all 800-series drives while we work this issue with Samsung. Reported-by: Günter Waller <g.wal@xxxxxx> Reported-by: Sven Köhler <sven.koehler@xxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 1822734677d95888d18e3c0e0743727effa62f8e Author: Nishanth Menon <nm@xxxxxx> Date: Thu Apr 16 16:56:33 2015 -0500 ARM: dts: dra7: Fix efuse register size for ABB Fix a typo in DRA7 dtsi where 12 bytes are needed for register description of ABB efuse registers, however only 8 bytes are provided to map. For some weird reason, this does not generate abort at offset 0x8, probably due to default maps already provided in io.c for the bus register ranges. Reported-by: Matt Gessner <Matt.Gessner@xxxxxxxxxxxxx> Reported-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ed12f102ba9f55d2617fc6b5e4fbecbf9a132ba7 Author: Nishanth Menon <nm@xxxxxx> Date: Thu Apr 9 17:33:17 2015 -0500 ARM: dts: am57xx-beagle-x15: Switch GPIO fan number BeagleBoard-X15 pre-production change includes switching the GPIO fan gpio over from 1 to 2 to allow for a potential fix at a later point in time for USB client VBUS detection using PMIC VBUS detect capability. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5eb6719816faad8e915d4f46ad61a440d641d183 Author: Nishanth Menon <nm@xxxxxx> Date: Wed Apr 8 17:40:59 2015 -0500 ARM: dts: am57xx-beagle-x15: Switch UART mux pins BeagleBoard-X15 pre-production change includes switching over to UART pins that now allow for UART download capability. All original boards should either have been returned for modifications or already modified for the required change and maintaining compatibility for older boards are no longer needed. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f6b957fdce50ddbd1899948ab109cca64e571eba Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Apr 9 10:59:27 2015 -0500 ARM: dts: am437x-sk: reduce col-scan-delay-us The new AM437x SK Beta boards have removed the large capacitors on the gpio-matrix column lines which means we can reduce col-scan-delay-us to 5us without loosing functionality. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit faa4ec1eedbe6d352dc22c945540a64b5c896a95 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Apr 9 10:59:26 2015 -0500 ARM: dts: am437x-sk: fix for new newhaven display module revision AM437x Starter Kit uses a NewHaven Display module with a 4.3" display and EDT FT5306 touchscreen On that module's new revision, NewHave decided to change the pinout on the 6 pin flat-pcb touchscreen connector so that instead of having WAKE pin, we now have RESETn. The new display module is available on AM437x SK Beta and all new revisions while the older revision is only available on AM437x SK Alpha which, unfortunately, can't be supported anymore in mainline without a revert of this patch. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 00edd3170c757772f74c533e61298be249447a11 Author: Nishanth Menon <nm@xxxxxx> Date: Wed Apr 8 18:56:27 2015 -0500 ARM: dts: am57xx-beagle-x15: Fix RTC aliases With commit bc078316d86c ("ARM: dts: DRA7: Add node for RTC"), we now have AM57xx RTC register itself as alias 0 even before DS1307 or TPS rtc drivers are loaded up. However, since neither TPS, nor AM57xx RTC are capable of being backedup by battery, we would like to maintain the "primary" rtc as mcp79410 rtc device. This also generates the following warnings in the bootlog highlighting the issue: [ 5.895445] rtc-ds1307 2-006f: /aliases ID 0 not available ... [ 6.476285] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: /aliases ID 1 not available So, add proper aliases to ensure that RTC order is always consistent to userspace immaterial of probe order. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e7a7357341664148cabf98a3ab50b5d449afca0b Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Date: Wed Apr 8 18:56:26 2015 -0500 ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x The interrupt polarity provided in devicetree is used to configure the interrupt controller(ARM GIC), however, it seems that we have an inverter at the GIC boundary inside AM57xx which inverts the signal input from sys_irq external interrupt source. Further, as per GIC distributor TRM, http://infocenter.arm.com/help/topic/com.arm.doc.ddi0438d/BGBHIACJ.html#BABJFCFB ARM GIC distributor does not support IRQ trigger type IRQ_TYPE_LEVEL_LOW, and only rising or level high signals. However, for some reason, the current configuration(which gets ignored by GIC driver) functions on some platforms, however, on few platforms results in infinite interrupts hogging the system down. Switch over to rising edge for GIC configuration which is also aligned with trigger point from the RTC chip and the internal inversion. Fixes: 5a0f93c6576a ("ARM: dts: Add am57xx-beagle-x15") Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2055088b5e17b450fcfb536568aee00eccd0ced5 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Tue Mar 31 03:28:10 2015 +0200 ARM: dts: omap3: Add #iommu-cells to isp and iva iommu Add missing #iommu-cells property to the isp and iva iommu nodes. This fixes the binding (property is required according to the generic iommu binding) and removes the following kernel warning triggered once the iommu nodes are referenced: [ 0.647521] /ocp/isp@480bc000: could not get #iommu-cells for /ocp/mmu@480bd400 Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 67defd5c0ee5270948104784c8fc8f6d4a99682b Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Mar 24 12:19:19 2015 +0200 ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO We need to enable EXTCON_USB_GPIO_USB and not EXTCON_GPIO_USB. Fixes: c08a54c0ebeb ("ARM: omap2plus_defconfig: Enable EXTCON_GPIO_USB") Reported-by: Nishant Menon <nm@xxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> Acked-by-by: Nishanth Menon <nm@xxxxxx Tested-by: Nishanth Menon <nm@xxxxxx Reviewed-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1819e3034ee26ffadc71880064ed8b8e7d74f52c Author: Pavel Machek <pavel@xxxxxx> Date: Sun Mar 1 21:07:08 2015 +0200 ARM: dts: OMAP3-N900: Add microphone bias voltages N900 audio recording needs that codec provides bias voltage for integrated digital microphone and headset microphone depending which one is used. Digital microphone uses 2 V bias and it comes from the codec A part. Codec B part drives the headset microphone bias and that is set to 2.5 V. Cc: stable@xxxxxxxxxxxxxxx # v3.16+ Signed-off-by: Pavel Machek <pavel@xxxxxx> [Jarkko: Headset mic bias changed to 2 (2.5 V) as it was before commit e2e8bfdf6157 ("ASoC: tlv320aic3x: Convert mic bias to a supply widget")] Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4bd9e9b77fc6787c45b8bb439f6511aa3478606c Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 30 11:49:25 2015 +0200 nfsd: skip CB_NULL probes for 4.1 or later With sessions in v4.1 or later we don't need to manually probe the backchannel connection, so we can declare it up instantly after setting up the RPC client. Note that we really should split nfsd4_run_cb_work in the long run, this is just the least intrusive fix for now. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit cba5f62b1830c1919b47544789bc993e6e617dc6 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 30 11:49:24 2015 +0200 nfsd: fix callback restarts Checking the rpc_client pointer is not a reliable way to detect backchannel changes: cl_cb_client is changed only after shutting down the rpc client, so the condition cl_cb_client = tk_client will always be true. Check the RPC_TASK_KILLED flag instead, and rewrite the code to avoid the buggy cl_callbacks list and fix the lifetime rules due to double calls of the ->prepare callback operations method for this retry case. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ef2a1b3e1067195f1d6b89d8329454775c87f033 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 30 11:49:23 2015 +0200 nfsd: split transport vs operation errors for callbacks We must only increment the sequence id if the client has seen and responded to a request. If we failed to deliver it to the client we must resend with the same sequence id. So just like the client track errors at the transport level differently from those returned in the XDR. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9507271d960a1911a51683888837d75c171cd91f Author: Scott Mayhew <smayhew@xxxxxxxxxx> Date: Tue Apr 28 16:29:53 2015 -0400 svcrpc: fix potential GSSX_ACCEPT_SEC_CONTEXT decoding failures In an environment where the KDC is running Active Directory, the exported composite name field returned in the context could be large enough to span a page boundary. Attaching a scratch buffer to the decoding xdr_stream helps deal with those cases. The case where we saw this was actually due to behavior that's been fixed in newer gss-proxy versions, but we're fixing it here too. Signed-off-by: Scott Mayhew <smayhew@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Simo Sorce <simo@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 8287f009bd95a5e548059dba62a67727bb9549cd Author: Sachin Bhamare <sachin.bhamare@xxxxxxxxxxxxxxx> Date: Mon Apr 27 14:50:14 2015 +0200 nfsd: fix pNFS return on close semantics For the sake of forgetful clients, the server should return the layouts to the file system on 'last close' of a file (assuming that there are no delegations outstanding to that particular client) or on delegreturn (assuming that there are no opens on a file from that particular client). In theory the information is all there in current data structures, but it's not efficiently available; nfs4_file->fi_ref includes references on the file across all clients, but we need a per-(client, file) count. Walking through lots of stateid's to calculate this on each close or delegreturn would be painful. This patch introduces infrastructure to maintain per-client opens and delegation counters on a per-file basis. [hch: ported to the mainline pNFS support, merged various fixes from Jeff] Signed-off-by: Sachin Bhamare <sachin.bhamare@xxxxxxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ebe9cb3bb13e7b9b281969cd279ce70834f7500f Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Apr 28 15:41:15 2015 +0200 nfsd: fix the check for confirmed openowner in nfs4_preprocess_stateid_op If we find a non-confirmed openowner we jump to exit the function, but do not set an error value. Fix this by factoring out a helper to do the check and properly set the error from nfsd4_validate_stateid. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 40cdc7a530c7a075557651a071354bb42b99df08 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Apr 27 14:50:13 2015 +0200 nfsd/blocklayout: pretend we can send deviceid notifications Commit df52699e4fcef ("NFSv4.1: Don't cache deviceids that have no notifications") causes the Linux NFS client to stop caching deviceid's unless a server pretends to support deviceid notifications. While this behavior is stupid and the language around this area in rfc5661 is a mess carified by an errata that I submittted, Trond insists on this behavior. Not caching deviceids degrades block layout performance massively as a GETDEVICEINFO is fairly expensive. So add this hack to make the Linux client happy again. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 102bcb6ed2d1c3ffcc7269afc957c2df11942085 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon May 4 08:54:41 2015 -0700 ARM: OMAP2+: Fix omap off idle power consumption creeping up If we use a combination of VMODE and I2C4 for retention modes, eventually the off idle power consumption will creep up by about 23mW, even during off mode with I2C4 always staying enabled. Turns out this is because of erratum i531 "Extra Power Consumed When Repeated Start Operation Mode Is Enabled on I2C Interface Dedicated for Smart Reflex (I2C4)" as pointed out by Nishanth Menon <nm@xxxxxx>. Let's fix the issue by adding i2c_cfg_clear_mask for the bits to clear when initializing the I2C4 adapter so we can clear SREN bit that drives the I2C4 lines low otherwise when there is no traffic. Fixes: 3b8c4ebb7630 ("ARM: OMAP3: Fix idle mode signaling for Cc: stable@xxxxxxxxxxxxxxx # v3.16+ sys_clkreq and sys_off_mode") Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Reviewed-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 622532bb2fad8fe342fb685727ae0be566f6be5d Author: Witold Szczeponik <Witold.Szczeponik@xxxxxxx> Date: Fri May 1 19:05:20 2015 +0200 ACPI / PNP: add two IDs to list for PNPACPI device enumeration Commit eec15edbb0e1 (ACPI / PNP: use device ID list for PNPACPI device enumeration) changed the way how ACPI devices are enumerated and when they are added to the PNP bus. However, it broke the sound card support on (at least) a vintage IBM ThinkPad 600E: with said commit applied, two of the necessary "CSC01xx" devices are not added to the PNP bus and hence can not be found during the initialization of the "snd-cs4236" module. As a consequence, loading "snd-cs4236" causes null pointer exceptions. The attached patch fixes the problem end re-enables sound on the IBM ThinkPad 600E. Fixes: eec15edbb0e1 (ACPI / PNP: use device ID list for PNPACPI device enumeration) Signed-off-by: Witold Szczeponik <Witold.Szczeponik@xxxxxxx> Cc: 3.16+ <stable@xxxxxxxxxxxxxxx> # 3.16+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 74d77e50f23123938fbb7987eba71310864e6a7c Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Apr 20 10:59:17 2015 -0500 pinctrl: mediatek: mtk-common: initialize unmask cppcheck detected an uninitialized variable: [drivers/pinctrl/mediatek/pinctrl-mtk-common.c:897]: (error) Uninitialized variable: unmask unmask should be initialized to zero to ensure unmasking only occurs if a previous mask occurred. The current situation is that the unmask variable could contain any random garbage causing random unexpected unmasking. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a00212e21928640486d3cc939cf4d908e8522016 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon May 4 01:58:27 2015 +0200 ACPI / documentation: Fix ambiguity in the GPIO properties document The first paragraph in Documentation/acpi/gpio-properties.txt is ambiguous, so make it more clear. Reported-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1bf1b431d98d7e5b5419876d4c219469e60693e1 Author: Oded Gabbay <oded.gabbay@xxxxxxx> Date: Thu Apr 16 17:08:44 2015 +0300 iommu/amd: Fix bug in put_pasid_state_wait This patch fixes a bug in put_pasid_state_wait that appeared in kernel 4.0 The bug is that pasid_state->count wasn't decremented before entering the wait_event. Thus, the condition in wait_event will never be true. The fix is to decrement (atomically) the pasid_state->count before the wait_event. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx #v4.0 Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ff419b3f95ab7a97c5f72876b53f12a249dacc2a Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sun Apr 26 20:13:34 2015 -0700 mac80211: fix 90 kernel-doc warnings Eliminate 90 of these warnings: Warning(..//include/net/mac80211.h:1682): No description found for parameter 'drv_priv[0]' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f440c4ee3e53f767974fe60bcbc0b6687a5fb53f Author: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Date: Sat May 2 12:08:42 2015 +0200 hwrng: bcm63xx - Fix driver compilation - s/clk_didsable_unprepare/clk_disable_unprepare - s/prov/priv - s/error/ret (bcm63xx_rng_probe) Fixes: 6229c16060fe ("hwrng: bcm63xx - make use of devm_hwrng_register") Signed-off-by: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7829fb09a2b4268b30dd9bc782fa5ebee278b137 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Apr 30 04:13:52 2015 +0200 lib: make memzero_explicit more robust against dead store elimination In commit 0b053c951829 ("lib: memzero_explicit: use barrier instead of OPTIMIZER_HIDE_VAR"), we made memzero_explicit() more robust in case LTO would decide to inline memzero_explicit() and eventually find out it could be elimiated as dead store. While using barrier() works well for the case of gcc, recent efforts from LLVMLinux people suggest to use llvm as an alternative to gcc, and there, Stephan found in a simple stand-alone user space example that llvm could nevertheless optimize and thus elimitate the memset(). A similar issue has been observed in the referenced llvm bug report, which is regarded as not-a-bug. Based on some experiments, icc is a bit special on its own, while it doesn't seem to eliminate the memset(), it could do so with an own implementation, and then result in similar findings as with llvm. The fix in this patch now works for all three compilers (also tested with more aggressive optimization levels). Arguably, in the current kernel tree it's more of a theoretical issue, but imho, it's better to be pedantic about it. It's clearly visible with gcc/llvm though, with the below code: if we would have used barrier() only here, llvm would have omitted clearing, not so with barrier_data() variant: static inline void memzero_explicit(void *s, size_t count) { memset(s, 0, count); barrier_data(s); } int main(void) { char buff[20]; memzero_explicit(buff, sizeof(buff)); return 0; } $ gcc -O2 test.c $ gdb a.out (gdb) disassemble main Dump of assembler code for function main: 0x0000000000400400 <+0>: lea -0x28(%rsp),%rax 0x0000000000400405 <+5>: movq $0x0,-0x28(%rsp) 0x000000000040040e <+14>: movq $0x0,-0x20(%rsp) 0x0000000000400417 <+23>: movl $0x0,-0x18(%rsp) 0x000000000040041f <+31>: xor %eax,%eax 0x0000000000400421 <+33>: retq End of assembler dump. $ clang -O2 test.c $ gdb a.out (gdb) disassemble main Dump of assembler code for function main: 0x00000000004004f0 <+0>: xorps %xmm0,%xmm0 0x00000000004004f3 <+3>: movaps %xmm0,-0x18(%rsp) 0x00000000004004f8 <+8>: movl $0x0,-0x8(%rsp) 0x0000000000400500 <+16>: lea -0x18(%rsp),%rax 0x0000000000400505 <+21>: xor %eax,%eax 0x0000000000400507 <+23>: retq End of assembler dump. As gcc, clang, but also icc defines __GNUC__, it's sufficient to define this in compiler-gcc.h only to be picked up. For a fallback or otherwise unsupported compiler, we define it as a barrier. Similarly, for ecc which does not support gcc inline asm. Reference: https://llvm.org/bugs/show_bug.cgi?id=15495 Reported-by: Stephan Mueller <smueller@xxxxxxxxxx> Tested-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Stephan Mueller <smueller@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: mancha security <mancha1@xxxxxxxx> Cc: Mark Charlebois <charlebm@xxxxxxxxx> Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 184af16b09360d6273fd6160e6ff7f8e2482ef23 Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Date: Thu Apr 23 13:43:43 2015 +0300 mmc: core: add missing pm event in mmc_pm_notify to fix hib restore The PM_RESTORE_PREPARE is not handled now in mmc_pm_notify(), as result mmc_rescan() could be scheduled and executed at late hibernation restore stages when MMC device is suspended already - which, in turn, will lead to system crash on TI dra7-evm board: WARNING: CPU: 0 PID: 3188 at drivers/bus/omap_l3_noc.c:148 l3_interrupt_handler+0x258/0x374() 44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4_PER1_P3 (Idle): Data Access in User mode during Functional access Hence, add missed PM_RESTORE_PREPARE PM event in mmc_pm_notify(). Fixes: 4c2ef25fe0b8 (mmc: fix all hangs related to mmc/sd card...) Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit efdbd2b30caa65dd9e687853afa4d7ce8b39447e Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri May 1 17:36:37 2015 -0400 macvlan: Propagate promiscuity setting to lower devices. When a macvlan device is placed in promiscuous mode, it currently just sets it's multicast mask to permissive, but doesn't change the state of the lower device. As a result, not all multicast traffic can be received on such device. Additionally, none of a vlan traffic can be received on such device as well. This patch propagates the promiscuous mode setting to lower device so that lower device may receive all packets that macvlan may be interested in. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e70aedd3d522b018c01df172cd213a8a75e2d55 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sun May 3 08:04:28 2015 +0800 Revert "net: kernel socket should be released in init_net namespace" This reverts commit c243d7e20996254f89c28d4838b5feca735c030d. That patch is solving a non-existant problem while creating a real problem. Just because a socket is allocated in the init name space doesn't mean that it gets hashed in the init name space. When we unhash it the name space must be the same as the one we had when we hashed it. So this patch is completely bogus and causes socket leaks. Reported-by: Andrey Wagin <avagin@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd4d95a5c9b2973d51934b830e1aa4ebf84645e6 Merge: 4212b54 e7fcd54 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon May 4 00:06:56 2015 -0400 Merge branch 'dev_kfree_skb' Alexander Duyck says: ==================== Clean-up some bits related to netpoll This patch set cleans up some minor items related to netpoll. The first patch addresses an Rx clean-up bug that is triggered due to an assumption that napi->poll wouldn't be called with a budget of 0. The other two patches address dev_kfree_skb being called in the xmit path which isn't valid since netpoll will call ndo_start_xmit with IRQs disabled. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7fcd5439ffd76e499b7ba4a2f8e99645addff3e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri May 1 10:34:50 2015 -0700 ixgbevf: Use dev_kfree_skb_any in xmit path, not dev_kfree_skb With netpoll making use of the transmit function it is possible for the ndo_start_xmit function to be called with irqs disabled. As such we need to use dev_kfree_skb_any in the Tx cleanup path for frames that are dropped. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb781397904e5d6b90c80463eaa9dc592831bdae Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri May 1 10:34:44 2015 -0700 r8169: Do not use dev_kfree_skb in xmit path The function r8169_csum_workaround is called in the ndo_start_xmit path of the r8169 driver. As such it should not be using dev_kfree_skb as it is not irq safe, so instead we should be using dev_kfree_skb_any for freeing in the dropped path, and dev_consume_skb_any for any frames that were transmitted. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59486329b46f31532ab032014fbaae72e9f190c3 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri May 1 10:34:38 2015 -0700 fm10k: Do not assume budget will never be 0 for NAPI The netpoll path will call napi->poll with a budget of 0 in order to clean the Tx rings only. This change updates the fm10k driver so that it will correctly support that instead of cleaning 1 Rx frame if a budget of 0 is received. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4212b5433187d01b5ae83664b06e990a9116250f Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 1 10:43:52 2015 -0400 net: dsa: mv88e6xxx: unregister mv88e6352 driver Add the missing unregister for the mv88e6352_switch_driver. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f6d25deed30e1c1918f9f7bbe7e63295ef2bf1b Merge: f0e9fc5 5793aff Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun May 3 23:45:09 2015 -0400 Merge tag 'linux-can-fixes-for-4.1-20150501' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can Marc Kleine-Budde says: ==================== this is a pull request of a single patch for net/master. The patch is contributed by Jeppe Ledet-Pedersen, it fixes the extended frame handling in the xilinx driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0e9fc503a0d6c9d74ca5b6d1aaf87febbbd9b06 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Thu Apr 30 21:47:42 2015 -0400 drivers/net: include <module.h> for modular stmmac_platform code This file is built off of a tristate Kconfig option and also contains modular function calls so it should explicitly include module.h to avoid compile breakage during header shuffles done in the future. Cc: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0adf54a10903b59037a4c5fcb933dfeeb7b2624 Author: shamir rabinovitch <shamir.rabinovitch@xxxxxxxxxx> Date: Thu Apr 30 20:58:07 2015 -0400 net/rds: fix unaligned memory access rdma_conn_param private data is copied using memcpy after headers such as cma_hdr (see cma_resolve_ib_udp as example). so the start of the private data is aligned to the end of the structure that come before. if this structure end with u32 the meaning is that the start of the private data will be 4 bytes aligned. structures that use u8/u16/u32/u64 are naturally aligned but in case the structure start is not 8 bytes aligned, all u64 members of this structure will not be aligned. to solve this issue we must use special macros that allow unaligned access to those unaligned members. Addresses the following kernel log seen when attempting to use RDMA: Kernel unaligned access at TPC[10507a88] rds_ib_cm_connect_complete+0x1bc/0x1e0 [rds_rdma] Acked-by: Chien Yen <chien.yen@xxxxxxxxxx> Signed-off-by: shamir rabinovitch <shamir.rabinovitch@xxxxxxxxxx> [Minor tweaks for top of tree by:] Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit edac450d5b5d47aa11e614f19c8f9b17f362e608 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri May 1 08:27:59 2015 +0800 netlink: Remove max_size setting We currently limit the hash table size to 64K which is very bad as even 10 years ago it was relatively easy to generate millions of sockets. Since the hash table is naturally limited by memory allocation failure, we don't really need an explicit limit so this patch removes it. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ebe6afaf0057ac3eaeb98defd5456894b446d22 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 19:22:23 2015 -0700 Linux 4.1-rc2 commit a5d28090405038ca1f40c13f38d6d4285456efee Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 30 09:40:40 2015 -0700 codel: fix maxpacket/mtu confusion Under presence of TSO/GSO/GRO packets, codel at low rates can be quite useless. In following example, not a single packet was ever dropped, while average delay in codel queue is ~100 ms ! qdisc codel 0: parent 1:12 limit 16000p target 5.0ms interval 100.0ms Sent 134376498 bytes 88797 pkt (dropped 0, overlimits 0 requeues 0) backlog 13626b 3p requeues 0 count 0 lastcount 0 ldelay 96.9ms drop_next 0us maxpacket 9084 ecn_mark 0 drop_overlimit 0 This comes from a confusion of what should be the minimal backlog. It is pretty clear it is not 64KB or whatever max GSO packet ever reached the qdisc. codel intent was to use MTU of the device. After the fix, we finally drop some packets, and rtt/cwnd of my single TCP flow are meeting our expectations. qdisc codel 0: parent 1:12 limit 16000p target 5.0ms interval 100.0ms Sent 102798497 bytes 67912 pkt (dropped 1365, overlimits 0 requeues 0) backlog 6056b 3p requeues 0 count 1 lastcount 1 ldelay 36.3ms drop_next 0us maxpacket 10598 ecn_mark 0 drop_overlimit 0 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Kathleen Nichols <nichols@xxxxxxxxxxx> Cc: Dave Taht <dave.taht@xxxxxxxxx> Cc: Van Jacobson <vanj@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8663da2c0919896788321cd8a0016af08588c656 Merge: 101a6fd 2c869b2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 18:23:53 2015 -0700 Merge tag 'for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 fixes from Ted Ts'o: "Some miscellaneous bug fixes and some final on-disk and ABI changes for ext4 encryption which provide better security and performance" * tag 'for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: fix growing of tiny filesystems ext4: move check under lock scope to close a race. ext4: fix data corruption caused by unwritten and delayed extents ext4 crypto: remove duplicated encryption mode definitions ext4 crypto: do not select from EXT4_FS_ENCRYPTION ext4 crypto: add padding to filenames before encrypting ext4 crypto: simplify and speed up filename encryption commit 101a6fd387801bbe164eafea3950b98f8e6440bb Merge: 61f06db 71aee81 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 18:15:48 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "One intel fix, one rockchip fix, and a bunch of radeon fixes for some regressions from audio rework and vm stability" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/i915/chv: Implement WaDisableShadowRegForCpd drm/radeon: fix userptr return value checking (v2) drm/radeon: check new address before removing old one drm/radeon: reset BOs address after clearing it. drm/radeon: fix lockup when BOs aren't part of the VM on release drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5 drm/radeon: adjust pll when audio is not enabled drm/radeon: only enable audio streams if the monitor supports it drm/radeon: only mark audio as connected if the monitor supports it (v3) drm/radeon/audio: don't enable packets until the end drm/radeon: drop dce6_dp_enable drm/radeon: fix ordering of AVI packet setup drm/radeon: Use drm_calloc_ab for CS relocs drm/rockchip: fix error check when getting irq MAINTAINERS: add entry for Rockchip drm drivers commit 71aee81937963ccb07b3fa1b912e4cc6cd77dfa8 Merge: df9ebeb a04f90a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon May 4 08:56:47 2015 +1000 Merge tag 'drm-intel-fixes-2015-04-30' of git://anongit.freedesktop.org/drm-intel into drm-fixes Just a single intel fix * tag 'drm-intel-fixes-2015-04-30' of git://anongit.freedesktop.org/drm-intel: drm/i915/chv: Implement WaDisableShadowRegForCpd commit df9ebeb2da3ae0122f44521ee833d31e1a2b3845 Merge: feb589e 3ea6892 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon May 4 08:56:27 2015 +1000 Merge branch 'drm-next0420' of https://github.com/markyzq/kernel-drm-rockchip into drm-fixes one fix and maintainers update * 'drm-next0420' of https://github.com/markyzq/kernel-drm-rockchip: drm/rockchip: fix error check when getting irq MAINTAINERS: add entry for Rockchip drm drivers commit 3b8786ff7a1b31645ae2c26a2ec32dbd42ac1094 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 1 17:16:01 2015 +0100 ARM: 8352/1: perf: Fix the pmu node name in warning message With commit 9fd85eb502a7 ("ARM: pmu: add support for interrupt-affinity property"), we print a warning when we find a PMU SPI with a missing missing interrupt-affinity property in a pmu node. Unfortunately, we pass the wrong (NULL) device node to of_node_full_name, resulting in unhelpful messages such as: hw perfevents: Failed to parse <no-node>/interrupt-affinity[0] This patch fixes the name to that of the pmu node. Fixes: 9fd85eb502a7 (ARM: pmu: add support for interrupt-affinity property) Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 338d9dd3e2aee00a9198e8bf6e7d535d3feeaf32 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 1 17:15:23 2015 +0100 ARM: 8351/1: perf: don't warn about missing interrupt-affinity property for PPIs PPIs are affine by nature, so the interrupt-affinity property is not used and therefore we shouldn't print a warning in its absence. Reported-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 59c3191628fd1ced948d099f3138b92b06281520 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 30 19:51:43 2015 +0100 ARM: 8350/1: proc-feroceon: Fix feroceon_proc_info macro bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with relative offset") broke booting for Kirkwood. The kernel would say: Starting kernel ... Uncompressing Linux... done, booting the kernel. Error: unrecognized/unsupported processor variant (0x56251311). Fix it by removing the extraneous .long __feroceon_setup from the feroceon_proc_info macro. Fixes: bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with relative offset") Reported-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 13f2fa7cb33d82b95e1e1dab8c95fa619b49f418 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Thu Apr 30 14:36:03 2015 +0100 ARM: 8349/1: arch/arm/mm/proc-arm925.S: remove dead #ifdef block The block could never be compiled; CPU_ICACHE_STREAMING_DISABLE has not been defined in Kconfig since the very first Git commit. Hence, we can safely remove the entire block. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 024587dc2137a22096372fc8df4b283e84e057b5 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Thu Apr 30 14:34:35 2015 +0100 ARM: 8348/1: remove comments on CPU_ARM1020_CPU_IDLE CPU_ARM1020_CPU_IDLE is not defined in Kconfig. The last reference on LKML dates back to 2001, so we can safely remove the comments to make static analysis tools happy. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1424532b2163bf1580f4b1091a5801e12310fac5 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Apr 29 11:29:19 2015 +0100 ARM: 8347/1: dma-mapping: fix off-by-one check in arm_setup_iommu_dma_ops Patch 22b3c181c6c324a46f71aae806d8ddbe61d25761 ("arm: dma-mapping: limit IOMMU mapping size") added a check for IO address space size. However this patch broke IOMMU initialization for typical platforms initialized from device tree, which get the default IO address space size of 4GiB. This value doesn't fit into size_t and fails a check introduced by that commit resulting in failed dma-mapping/iommu initialization. This patch fixes this issue by adding proper support for full 4GiB address space size. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f673821864899153142365aca888435815ac93f0 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Wed Apr 8 20:51:57 2015 +0200 ath9k: fix per-packet tx power configuration Do not use ieee80211_vif pointer in ath_get_rate_txpower() since it has been overwritten by setup_frame_info() and it will result in a corrupted tx power configuration. Set per-packet tx power in setup_frame_info() according to current vif tx power. Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0581276deb9c2578a17d9f4463e7b5172da99eb9 Merge: 414b7e3 e7afe89 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Sun May 3 23:53:02 2015 +0300 Merge tag 'iwlwifi-for-kalle-2015-04-28' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes * fix firmware API for -13.ucode * fix RSSI handling that avoid bad roaming decision * fix firmware debug * fix MFUART operation * fix ASSERT while restart the hardware (because of another ASSERT e.g) commit 61f06db00e06b436dca4725c200c891ae8a4a92d Merge: 3333222 118c855 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 13:22:32 2015 -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 three logical fixes (as 5 patches). The 3ware class of drivers were causing an oops with multiqueue by tearing down the command mappings after completing the command (where the variables in the command used to tear down the mapping were no-longer valid). There's also a fix for the qnap iscsi target which was choking on us sending it commands that were too long and a fix for the reworked aha1542 allocating GFP_KERNEL under a lock" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: 3w-9xxx: fix command completion race 3w-xxxx: fix command completion race 3w-sas: fix command completion race aha1542: Allocate memory before taking a lock SCSI: add 1024 max sectors black list flag commit 9b071a43553d6b2df4364951639f61076a8dd676 Author: Philippe Coval <philippe.coval@xxxxxxxxxxxxxxxxxxx> Date: Sat May 2 15:14:08 2015 +0200 ideapad_laptop: Add Lenovo G40-30 to devices without radio switch Lenovo G40-30 does not provide any physical radio switch to user. Therefore disable the rfkill switch identically to the Yoga 2 approach. (Note for later, models ids are sorted alphabetically). Benefit is to make wireless available again without unloading module. It was tested successfully on 4.1.0-rc1 base with this model: (LENOVO_MT_80FY_BU_idea_FM_Lenovo G40-30). BugLink: https://bugs.launchpad.net/ideapad-laptop/+bug/1450946 Cc: platform-driver-x86@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Philippe Coval <rzr@xxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 3333222484dc7e46fd17cc1d394088fb0d963e6c Merge: 180d89f 63f89ca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 10:49:04 2015 -0700 Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma Pull slave dmaengine fixes from Vinod Koul: "Here are the fixes in dmaengine subsystem for rc2: - privatecnt fix for slave dma request API by Christopher - warn fix for PM ifdef in usb-dmac by Geert - fix hardware dependency for xgene by Jean" * 'next' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: increment privatecnt when using dma_get_any_slave_channel dmaengine: xgene: Set hardware dependency dmaengine: usb-dmac: Protect PM-only functions to kill warning commit 180d89f6ef9c22d088e324eb5e7d030ef3f84df0 Merge: 6c3c1eb 0aab374 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 10:28:36 2015 -0700 Merge tag 'powerpc-4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc fixes from Michael Ellerman: - build fix for SMP=n in book3s_xics.c - fix for Daniel's pci_controller_ops on powernv. - revert the TM syscall abort patch for now. - CPU affinity fix from Nathan. - two EEH fixes from Gavin. - fix for CR corruption from Sam. - selftest build fix. * tag 'powerpc-4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: powerpc/powernv: Restore non-volatile CRs after nap powerpc/eeh: Delay probing EEH device during hotplug powerpc/eeh: Fix race condition in pcibios_set_pcie_reset_state() powerpc/pseries: Correct cpu affinity for dlpar added cpus selftests/powerpc: Fix the pmu install rule Revert "powerpc/tm: Abort syscalls in active transactions" powerpc/powernv: Fix early pci_controller_ops loading. powerpc/kvm: Fix SMP=n build error in book3s_xics.c commit 2c869b262a10ca99cb866d04087d75311587a30c Author: Jan Kara <jack@xxxxxxx> Date: Sat May 2 23:58:32 2015 -0400 ext4: fix growing of tiny filesystems The estimate of necessary transaction credits in ext4_flex_group_add() is too pessimistic. It reserves credit for sb, resize inode, and resize inode dindirect block for each group added in a flex group although they are always the same block and thus it is enough to account them only once. Also the number of modified GDT block is overestimated since we fit EXT4_DESC_PER_BLOCK(sb) descriptors in one block. Make the estimation more precise. That reduces number of requested credits enough that we can grow 20 MB filesystem (which has 1 MB journal, 79 reserved GDT blocks, and flex group size 16 by default). Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> commit 280227a75b56ab5d35854f3a77ef74a7ad56a203 Author: Davide Italiano <dccitaliano@xxxxxxxxx> Date: Sat May 2 23:21:15 2015 -0400 ext4: move check under lock scope to close a race. fallocate() checks that the file is extent-based and returns EOPNOTSUPP in case is not. Other tasks can convert from and to indirect and extent so it's safe to check only after grabbing the inode mutex. Signed-off-by: Davide Italiano <dccitaliano@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit d2dc317d564a46dfc683978a2e5a4f91434e9711 Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Sat May 2 21:36:55 2015 -0400 ext4: fix data corruption caused by unwritten and delayed extents Currently it is possible to lose whole file system block worth of data when we hit the specific interaction with unwritten and delayed extents in status extent tree. The problem is that when we insert delayed extent into extent status tree the only way to get rid of it is when we write out delayed buffer. However there is a limitation in the extent status tree implementation so that when inserting unwritten extent should there be even a single delayed block the whole unwritten extent would be marked as delayed. At this point, there is no way to get rid of the delayed extents, because there are no delayed buffers to write out. So when a we write into said unwritten extent we will convert it to written, but it still remains delayed. When we try to write into that block later ext4_da_map_blocks() will set the buffer new and delayed and map it to invalid block which causes the rest of the block to be zeroed loosing already written data. For now we can fix this by simply not allowing to set delayed status on written extent in the extent status tree. Also add WARN_ON() to make sure that we notice if this happens in the future. This problem can be easily reproduced by running the following xfs_io. xfs_io -f -c "pwrite -S 0xaa 4096 2048" \ -c "falloc 0 131072" \ -c "pwrite -S 0xbb 65536 2048" \ -c "fsync" /mnt/test/fff echo 3 > /proc/sys/vm/drop_caches xfs_io -c "pwrite -S 0xdd 67584 2048" /mnt/test/fff This can be theoretically also reproduced by at random by running fsx, but it's not very reliable, though on machines with bigger page size (like ppc) this can be seen more often (especially xfstest generic/127) Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9402bdcacdfedf7219a17e4d93300058a8e2aa4c Author: Chanho Park <parkch98@xxxxxxxxx> Date: Sat May 2 10:29:22 2015 -0400 ext4 crypto: remove duplicated encryption mode definitions This patch removes duplicated encryption modes which were already in ext4.h. They were duplicated from commit 3edc18d and commit f542fb. Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Michael Halcrow <mhalcrow@xxxxxxxxxx> Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx> Signed-off-by: Chanho Park <chanho61.park@xxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit fb63e5489f7ef5bb4d1a655984ca7ef98ffc5849 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat May 2 10:29:19 2015 -0400 ext4 crypto: do not select from EXT4_FS_ENCRYPTION This patch adds a tristate EXT4_ENCRYPTION to do the selections for EXT4_FS_ENCRYPTION because selecting from a bool causes all the selected options to be built-in, even if EXT4 itself is a module. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 6c3c1eb3c35e8856d6dcb01b412316a676f58bbe Merge: e412d3a a134f08 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 1 20:51:04 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Receive packet length needs to be adjust by 2 on RX to accomodate the two padding bytes in altera_tse driver. From Vlastimil Setka. 2) If rx frame is dropped due to out of memory in macb driver, we leave the receive ring descriptors in an undefined state. From Punnaiah Choudary Kalluri 3) Some netlink subsystems erroneously signal NLM_F_MULTI. That is only for dumps. Fix from Nicolas Dichtel. 4) Fix mis-use of raw rt->rt_pmtu value in ipv4, one must always go via the ipv4_mtu() helper. From Herbert Xu. 5) Fix null deref in bridge netfilter, and miscalculated lengths in jump/goto nf_tables verdicts. From Florian Westphal. 6) Unhash ping sockets properly. 7) Software implementation of BPF divide did 64/32 rather than 64/64 bit divide. The JITs got it right. Fix from Alexei Starovoitov. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (30 commits) ipv4: Missing sk_nulls_node_init() in ping_unhash(). net: fec: Fix RGMII-ID mode net/mlx4_en: Schedule napi when RX buffers allocation fails netxen_nic: use spin_[un]lock_bh around tx_clean_lock net/mlx4_core: Fix unaligned accesses mlx4_en: Use correct loop cursor in error path. cxgb4: Fix MC1 memory offset calculation bnx2x: Delay during kdump load net: Fix Kernel Panic in bonding driver debugfs file: rlb_hash_table net: dsa: Fix scope of eeprom-length property net: macb: Fix race condition in driver when Rx frame is dropped hv_netvsc: Fix a bug in netvsc_start_xmit() altera_tse: Correct rx packet length mlx4: Fix tx ring affinity_mask creation tipc: fix problem with parallel link synchronization mechanism tipc: remove wrong use of NLM_F_MULTI bridge/nl: remove wrong use of NLM_F_MULTI bridge/mdb: remove wrong use of NLM_F_MULTI net: sched: act_connmark: don't zap skb->nfct trivial: net: systemport: bcmsysport.h: fix 0x0x prefix ... commit e412d3a32badcf17541d7443b033769fdf39b545 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Sat May 2 08:42:29 2015 +0930 virtio: fix typo in vring_need_event() doc comment Here the "other side" refers to the guest or host. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit feda5f939eafa4af94dfb547847806e0f2df73b8 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Sat May 2 08:42:38 2015 +0930 virtio: pass baton to Michael Tsirkin With my job change kernel work will be "own time"; I'm keeping lguest and modules (and the virtio standards work), but virtio kernel has to go. This makes it clear that Michael is in charge. He's good, but having me watch over his shoulder won't help. Good luck Michael! Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6fa72720a6b6eced0220031a1e5598e3a2c533ae Merge: 64887b6 082a75d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 1 20:35:39 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph RBD fix from Sage Weil. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: rbd: end I/O the entire obj_request on error commit a134f083e79fb4c3d0a925691e732c56911b4326 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri May 1 22:02:47 2015 -0400 ipv4: Missing sk_nulls_node_init() in ping_unhash(). If we don't do that, then the poison value is left in the ->pprev backlink. This can cause crashes if we do a disconnect, followed by a connect(). Tested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Reported-by: Wen Xu <hotdog3645@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 082a75dad84d79d1c15ea9e50f31cb4bb4fa7fd6 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Sat Apr 25 15:56:15 2015 +0300 rbd: end I/O the entire obj_request on error When we end I/O struct request with error, we need to pass obj_request->length as @nr_bytes so that the entire obj_request worth of bytes is completed. Otherwise block layer ends up confused and we trip on rbd_assert(more ^ (which == img_request->obj_request_count)); in rbd_img_obj_callback() due to more being true no matter what. We already do it in most cases but we are missing some, in particular those where we don't even get a chance to submit any obj_requests, due to an early -ENOMEM for example. A number of obj_request->xferred assignments seem to be redundant but I haven't touched any of obj_request->xferred stuff to keep this small and isolated. Cc: Alex Elder <elder@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.10+ Reported-by: Shawn Edwards <lesser.evil@xxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit db7d4d7f40215843000cb9d441c9149fd42ea36b Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri May 1 16:31:41 2015 -0600 vfio: Fix runaway interruptible timeout Commit 13060b64b819 ("vfio: Add and use device request op for vfio bus drivers") incorrectly makes use of an interruptible timeout. When interrupted, the signal remains pending resulting in subsequent timeouts occurring instantly. This makes the loop spin at a much higher rate than intended. Instead of making this completely non-interruptible, we can change this into a sort of interruptible-once behavior and use the "once" to log debug information. The driver API doesn't allow us to abort and return an error code. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Fixes: 13060b64b819 Cc: stable@xxxxxxxxxxxxxxx # v4.0 commit 8ebb7e9c1a502cfc300618c19c3c6f06fc76d237 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Thu Apr 30 22:05:58 2015 +0200 power: bq27x00_battery: Add missing MODULE_ALIAS Without MODULE_ALIAS bq27x00_battery module won't get loaded automatically. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a44cd7a05496d60fd2ba8cca080e3db8f481549b Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri May 1 16:56:50 2015 -0400 ext4 crypto: add padding to filenames before encrypting This obscures the length of the filenames, to decrease the amount of information leakage. By default, we pad the filenames to the next 4 byte boundaries. This costs nothing, since the directory entries are aligned to 4 byte boundaries anyway. Filenames can also be padded to 8, 16, or 32 bytes, which will consume more directory space. Change-Id: Ibb7a0fb76d2c48e2061240a709358ff40b14f322 Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 5de0b4d0cd153c471640b13aae6ae6d18d0a4603 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri May 1 16:56:45 2015 -0400 ext4 crypto: simplify and speed up filename encryption Avoid using SHA-1 when calculating the user-visible filename when the encryption key is available, and avoid decrypting lots of filenames when searching for a directory entry in a directory block. Change-Id: If4655f144784978ba0305b597bfa1c8d7bb69e63 Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 0a73125d308c1453dada1e2998f1c7f68094c45f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Apr 30 12:55:02 2015 -0700 power: reset: Add MFD_SYSCON depends for brcmstb The Broadcom STB reboot driver depends on MFD_SYSCON, it uses syscon_regmap_lookup_by_phandle() which will not lookup syscon phandles if MFD_SYSCON is disabled, and instead will return -ENOSYS since it is turned into an inline stub. Fixes: 030494e75064c ("power: reset: Add reboot driver for brcmstb") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5f55d2ae699d1756ad6132786c7f9c27dc456b66 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 28 10:23:30 2015 -0600 vfio-pci: Log device requests more verbosely Log some clues indicating whether the user is receiving device request interfaces or not listening. This can help indicate why a driver unbind is blocked or explain why QEMU automatically unplugged a device from the VM. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 1de2a662d0f2d3b211b7d10ea6578abe5c39eda3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Apr 10 11:52:40 2015 -0700 MAINTAINERS: Update brcmstb entry We have not heard back from Marc in a while, since we last asked him to ack/nack this change here: https://lkml.org/lkml/2015/1/14/1004 This was back in January, we are in the 3.21^W4.1 merge window now, so, as outlined in this email thread, remove him from the MAINTAINERS list now. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 049a4c506586c293b6fe54b5c61762230417dbf8 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Apr 10 11:50:40 2015 -0700 MAINTAINERS: Remove Christian Daudt for mach-bcm Christian has not been responding to mach-bcm related emails since around July 2013, and with Scott and Ray maintaining the platform, we should have enough coverage to get that going now. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d3cc2e865055f58378de86c6b51a5636328ca827 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Apr 10 11:49:44 2015 -0700 MAINTAINERS: Update mach-bcm maintainers list Add Ray Jui and Scott Branden for the mach-bcm/ entries. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 64887b6882de36069c18ef2d9623484d6db7cd3a Merge: 036f351 5d2361d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 1 07:46:21 2015 -0700 Merge branch 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fixes from Chris Mason: "A few more btrfs fixes. These range from corners Filipe found in the new free space cache writeback to a grab bag of fixes from the list" * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: btrfs_release_extent_buffer_page didn't free pages of dummy extent Btrfs: fill ->last_trans for delayed inode in btrfs_fill_inode. btrfs: unlock i_mutex after attempting to delete subvolume during send btrfs: check io_ctl_prepare_pages return in __btrfs_write_out_cache btrfs: fix race on ENOMEM in alloc_extent_buffer btrfs: handle ENOMEM in btrfs_alloc_tree_block Btrfs: fix find_free_dev_extent() malfunction in case device tree has hole Btrfs: don't check for delalloc_bytes in cache_save_setup Btrfs: fix deadlock when starting writeback of bg caches Btrfs: fix race between start dirty bg cache writeout and bg deletion commit 036f351e2566eaa5826581c8512dd55f6585ad01 Merge: 4a152c3 8291fd0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 1 07:44:32 2015 -0700 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes from Will Deacon: "Not too much here, but we've addressed a couple of nasty issues in the dma-mapping code as well as adding the halfword and byte variants of load_acquire/store_release following on from the CSD locking bug that you fixed in the core. - fix perf devicetree warnings at probe time - fix memory leak in __dma_free() - ensure DMA buffers are always zeroed - show IRQ trigger in /proc/interrupts (for parity with ARM) - implement byte and halfword access for smp_{load_acquire,store_release}" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: perf: Fix the pmu node name in warning message arm64: perf: don't warn about missing interrupt-affinity property for PPIs arm64: add missing PAGE_ALIGN() to __dma_free() arm64: dma-mapping: always clear allocated buffers ARM64: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL arm64: add missing data types in smp_load_acquire/smp_store_release commit e944ec2ca00fb0170ba9d7f2aeec32c22dc0d4ec Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Apr 29 21:08:48 2015 +0900 perf report: Fix -T/--threads option to work again The commit 512ae1bd6acb ("perf tools: Consolidate management of default sort orders") changed default value of the 'sort_order' variable to NULL indicating that users don't set any sort keys on the command line. However it missed to update a check in perf_evlist__tty_browse_hists() so that 'perf report -T' cannot show the per-thread values after the normal output. This patch fixes it to work again. Note that the -T option only works on --stdio and neither --sort nor --parent option was given. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1430309328-28317-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5793affe8c723ece8114b898ab9003c7d97f86d1 Author: Jeppe Ledet-Pedersen <jlp@xxxxxxxxxxxx> Date: Wed Apr 29 17:05:01 2015 +0200 net: can: xilinx_can: fix extended frame handling Using IDR_SRR in RXFIFO_ID to test for the presence of data is only valid for standard frames. For extended frames the bit is always 1 and IDR_RTR should be used instead. This patch switches the check to use CAN_RTR_FLAG which is correctly set when reading the ID. The patch also changes the DW1/DW2 to be read unconditionally, since this is necessary to remove the frame from the RXFIFO. Signed-off-by: Jeppe Ledet-Pedersen <jlp@xxxxxxxxxxxx> Acked-by: Kedareswara rao Appana <appanad@xxxxxxxxxx> Cc: linux-stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 0aab3747091db309b8a484cfd382a41644552aa3 Author: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Date: Fri May 1 16:50:34 2015 +1000 powerpc/powernv: Restore non-volatile CRs after nap Patches 7cba160ad "powernv/cpuidle: Redesign idle states management" and 77b54e9f2 "powernv/powerpc: Add winkle support for offline cpus" use non-volatile condition registers (cr2, cr3 and cr4) early in the system reset interrupt handler (system_reset_pSeries()) before it has been determined if state loss has occurred. If state loss has not occurred, control returns via the power7_wakeup_noloss() path which does not restore those condition registers, leaving them corrupted. Fix this by restoring the condition registers in the power7_wakeup_noloss() case. This is apparent when running a KVM guest on hardware that does not support winkle or sleep and the guest makes use of secondary threads. In practice this means Power7 machines, though some early unreleased Power8 machines may also be susceptible. The secondary CPUs are taken off line before the guest is started and they call pnv_smp_cpu_kill_self(). This checks support for sleep states (in this case there is no support) and power7_nap() is called. When the CPU is woken, power7_nap() returns and because the CPU is still off line, the main while loop executes again. The sleep states support test is executed again, but because the tested values cannot have changed, the compiler has optimized the test away and instead we rely on the result of the first test, which has been left in cr3 and/or cr4. With the result overwritten, the wrong branch is taken and power7_winkle() is called on a CPU that does not support it, leading to it stalling. Fixes: 7cba160ad789 ("powernv/cpuidle: Redesign idle states management") Fixes: 77b54e9f213f ("powernv/powerpc: Add winkle support for offline cpus") [mpe: Massage change log a bit more] Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8cc67c3b9366699b35775912e0bb91b4f845a57a Merge: 0140e61 1d90a68 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri May 1 08:30:26 2015 +0200 Merge tag 'perf-urgent-for-mingo-2' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf tooling fixes from Arnaldo Carvalho de Melo: . Fix a segfault in 'perf top' when kernel map is restricted (Wang Nan) . Fix hung wakeup tasks after requeueing in 'perf bench futex' (Davidlohr Bueso) . Fix bug in perf probe global variables handling, missing curly braces on an if body (He Kuang) . 'perf bench numa' fixes (command line help/handling, etc) (Petr Holasek) . fix the 'perf kmem' build on RHEL6/OL6 (David Ahern) . fix the libtraceevent build on 32-bit arch (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d91dafc02f42e23c1a906202ebde5d7c49ef058d Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri May 1 09:22:15 2015 +1000 powerpc/eeh: Delay probing EEH device during hotplug Commit 1c509148b ("powerpc/eeh: Do probe on pci_dn") probes EEH devices in early stage, which is reasonable to pSeries platform. However, it's wrong for PowerNV platform because the PE# isn't determined until the resources (IO and MMIO) are assigned to PE in hotplug case. So we have to delay probing EEH devices for PowerNV platform until the PE# is assigned. Fixes: ff57b454ddb9 ("powerpc/eeh: Do probe on pci_dn") Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1ae79b78bc52b910a224f3795122538516e07b5f Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri May 1 09:14:11 2015 +1000 powerpc/eeh: Fix race condition in pcibios_set_pcie_reset_state() When asserting reset in pcibios_set_pcie_reset_state(), the PE is enforced to (hardware) frozen state in order to drop unexpected PCI transactions (except PCI config read/write) automatically by hardware during reset, which would cause recursive EEH error. However, the (software) frozen state EEH_PE_ISOLATED is missed. When users get 0xFF from PCI config or MMIO read, EEH_PE_ISOLATED is set in PE state retrival backend. Unfortunately, nobody (the reset handler or the EEH recovery functinality in host) will clear EEH_PE_ISOLATED when the PE has been passed through to guest. The patch sets and clears EEH_PE_ISOLATED properly during reset in function pcibios_set_pcie_reset_state() to fix the issue. Fixes: 28158cd ("Enhance pcibios_set_pcie_reset_state()") Reported-by: Carol L. Soto <clsoto@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Tested-by: Carol L. Soto <clsoto@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f32393c943e297b8ae180c8f83d81a156c7d0412 Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 29 20:42:06 2015 -0500 powerpc/pseries: Correct cpu affinity for dlpar added cpus The incorrect ordering of operations during cpu dlpar add results in invalid affinity for the cpu being added. The ibm,associativity property in the device tree is populated with all zeroes for the added cpu which results in invalid affinity mappings and all cpus appear to belong to node 0. This occurs because rtas configure-connector is called prior to making the rtas set-indicator calls. Phyp does not assign affinity information for a cpu until the rtas set-indicator calls are made to set the isolation and allocation state. Correct the order of operations to make the rtas set-indicator calls (done in dlpar_acquire_drc) before calling rtas configure-connector. Fixes: 1a8061c46c46 ("powerpc/pseries: Add kernel based CPU DLPAR handling") Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2fa30fe957f3b3599a2f75688405495771877c14 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri May 1 11:10:09 2015 +1000 selftests/powerpc: Fix the pmu install rule My patch to add install support for the powerpc selftests had a typo, leading to the three tests in the pmu directory itself not being installed. Fixes: 6faeeea44b84 ("selftests: Add install support for the powerpc tests") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 12392f5896c9affc03c1ddd95a83c32238862a58 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Apr 29 16:55:43 2015 +0300 ARM: shmobile: koelsch: Fix adv7511 IRQ sensing The adv7511 IRQ is low level triggered, not falling edge triggered. The wrong sense configuration results in no interrupt being triggered at all, breaking hotplug detection. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Fixes: 83a0731b39f3 ("ARM: shmobile: koelsch: Add DU HDMI output support") Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2375a212ca06d35f90841bc511b3e9ae8a95a82e Author: Antonio Ospite <ao2@xxxxxx> Date: Wed Apr 29 10:37:24 2015 +0200 ACPI / documentation: fix a sentence about GPIO resources The sentence "These resources are used be used to pass ..." contains a suspicious repetition, likely the author meant "These resources can be used to pass ...". Simplify the wording. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4a152c3913fb46fc2e29081d0251862106c3d55f Merge: 5a2e73b 50904a7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 14:23:31 2015 -0700 Merge tag 'pm+acpi-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI fixes from Rafael Wysocki: "Three regression fixes this time, one for a recent regression in the cpuidle core affecting multiple systems, one for an inadvertently added duplicate typedef in ACPICA that breaks compilation with GCC 4.5 and one for an ACPI Smart Battery Subsystem driver regression introduced during the 3.18 cycle (stable-candidate). Specifics: - Fix for a regression in the cpuidle core introduced by one of the recent commits in the clockevents_notify() removal series that put a call to a function which had to be executed with disabled interrupts into a code path running with enabled interrupts (Rafael J Wysocki) - Fix for a build problem in ACPICA (with GCC 4.5) introduced by one of the recent ACPICA tools commits that added a duplicate typedef to one of the ACPICA's header files by mistake (Olaf Hering) - Fix for a regression in the ACPI SBS (Smart Battery Subsystem) driver introduced during the 3.18 development cycle causing the smart battery manager to be marked as not present when it should be marked as present (Chris Bainbridge)" * tag 'pm+acpi-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: cpuidle: Run tick_broadcast_exit() with disabled interrupts ACPI / SBS: Enable battery manager when present ACPICA: remove duplicate u8 typedef commit 3349fb64b2927407017d970dd5c4daf3c5ad69f8 Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Date: Wed Apr 29 21:21:40 2015 +0100 ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook Commit 7bc5a2bad0b8 'ACPI: Support _OSI("Darwin") correctly' caused the MacBook firmware to expose the SBS, resulting in intermittent hangs of several minutes on boot, and failure to detect or report the battery. Fix this by adding a 5 us delay to the start of each SMBUS transaction. This timing is the result of experimentation - hangs were observed with 3 us but never with 5 us. Fixes: 7bc5a2bad0b8 'ACPI: Support _OSI("Darwin") correctly' Link: https://bugzilla.kernel.org/show_bug.cgi?id=94651 Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Cc: 3.18+ <stable@xxxxxxxxxxxxxxx> # 3.18+ [ rjw: Subject and changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5a2e73b281b7b8930407daf01b64d69ea942417e Merge: 9dbbe3c 0ae3aba Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 14:00:18 2015 -0700 Merge tag 'sound-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "One nice fix is Peter's patch to make the old good SB Audigy PCI to work with 32bit DMA instead of 31bit. This allows the MIDI synth running on modern machines again. Along with it, a few fixes for emu10k1 have merged. In ASoC side, there is one fix in the common code, but it's just trivial additions of static inline functions for CONFIG_PM=n. The rest are various device-specific small fixes. Last but not least, a few HD-audio fixes are included, as usual, too" * tag 'sound-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (23 commits) ASoC: rt5677: fixed wrong DMIC ref clock ALSA: emu10k1: Emu10k2 32 bit DMA mode ALSA: emux: Fix mutex deadlock in OSS emulation ASoC: Update email-id of Rajeev Kumar ASoC: rt5645: Fix mask for setting RT5645_DMIC_2_DP_GPIO12 bit ALSA: hda - Fix missing va_end() call in snd_hda_codec_pcm_new() ALSA: emux: Fix mutex deadlock at unloading ALSA: emu10k1: Fix card shortname string buffer overflow ALSA: hda - Add mute-LED mode control to Thinkpad ALSA: hda - Fix mute-LED fixed mode ALSA: hda - Fix click noise at start on Dell XPS13 ASoC: rt5645: Add ACPI match ID ASoC: rt5677: add register patch for PLL ASoC: Intel: fix the makefile for atom code ASoC: dapm: Enable autodisable on SOC_DAPM_SINGLE_TLV_AUTODISABLE ASoC: add static inline funcs to fix a compiling issue ASoC: Intel: sst_byt: remove kfree for memory allocated with devm_kzalloc ASoC: samsung: s3c24xx-i2s: Fix return value check in s3c24xx_iis_dev_probe() ASoC: tfa9879: Fix return value check in tfa9879_i2c_probe() ASoC: fsl_ssi: Fix platform_get_irq() error handling ... commit fc9e38c0f4d38bfc68b405cf48365d65f7b6319e Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Dec 14 23:04:14 2014 +0100 ARM: pxa: lubbock: use new pxa_cplds driver As the interrupt handling was transferred to the pxa_cplds driver, make the switch in lubbock platform code. Fixes: 157d2644cb0c ("ARM: pxa: change gpio to platform device") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 277688639f98a9e34a6f109f9cd6129f92e718c1 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Fri Apr 24 23:22:35 2015 +0200 ARM: pxa: mainstone: use new pxa_cplds driver As the interrupt handling was transferred to the pxa_cplds driver, make the switch in mainstone platform code. Fixes: 157d2644cb0c ("ARM: pxa: change gpio to platform device") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit aa8d6b73ea33c2167c543663ab66039ec94d58f1 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Fri Apr 24 22:22:19 2015 +0200 ARM: pxa: pxa_cplds: add lubbock and mainstone IO Historically, this support was in arch/arm/mach-pxa/lubbock.c and arch/arm/mach-pxa/mainstone.c. When gpio-pxa was moved to drivers/pxa, it became a driver, and its initialization and probing happened at postcore initcall. The lubbock code used to install the chained lubbock interrupt handler at init_irq() time. The consequence of the gpio-pxa change is that the installed chained irq handler lubbock_irq_handler() was overwritten in pxa_gpio_probe(_dt)(), removing : - the handler - the falling edge detection setting of GPIO0, which revealed the interrupt request from the lubbock IO board. As a fix, move the gpio0 chained handler setup to a place where we have the guarantee that pxa_gpio_probe() was called before, so that lubbock handler becomes the true IRQ chained handler of GPIO0, demuxing the lubbock IO board interrupts. This patch moves all that handling to a mfd driver. It's only purpose for the time being is the interrupt handling, but in the future it should encompass all the motherboard CPLDs handling : - leds - switches - hexleds The same logic applies to mainstone board. Fixes: 157d2644cb0c ("ARM: pxa: change gpio to platform device") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit e813bb2b955d9f72c94be7d592746b49929a499b Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 30 17:07:50 2015 +0200 net: fec: Fix RGMII-ID mode RGMII-ID uses an internal delay within the transmitter or receiver. This feature is phy specific. The rest of the communication is normal RGMII. So the fec driver has to check for all RGMII modes, not only 'PHY_INTERFACE_MODE_RGMII'. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07841f9d94c11afe00c0498cf242edf4075729f4 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 30 17:32:46 2015 +0300 net/mlx4_en: Schedule napi when RX buffers allocation fails When system is out of memory, refilling of RX buffers fails while the driver continue to pass the received packets to the kernel stack. At some point, when all RX buffers deplete, driver may fall into a sleep, and not recover when memory for new RX buffers is once again availible. This is because hardware does not have valid descriptors, so no interrupt will be generated for the driver to return to work in napi context. Fix it by schedule the napi poll function from stats_task delayed workqueue, as long as the allocations fail. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c232d8a8bb1416f7ec21bb1aabc7c4ec8a5a899e Author: Tony Camuso <tcamuso@xxxxxxxxxx> Date: Thu Apr 30 07:51:27 2015 -0400 netxen_nic: use spin_[un]lock_bh around tx_clean_lock While testing this driver with DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled did not produce any traces, it would be more prudent in the case of tx_clean_lock to use spin_[un]lock_bh, since this lock is manipulated in both the process and softirq contexts. This patch was tested for functionality and regressions with netperf and DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled. Signed-off-by: Tony Camuso <tcamuso@xxxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17d5ceb6e43ea545d6d92db2f3ddb035233ba335 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Wed Apr 29 16:52:51 2015 -0400 net/mlx4_core: Fix unaligned accesses Addresses the following kernel logs seen during boot: Kernel unaligned access at TPC[100ee150] mlx4_QUERY_HCA+0x80/0x248 [mlx4_core] Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c [mlx4_core] Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c [mlx4_core] Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c [mlx4_core] Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c [mlx4_core] Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Acked-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f94813f3c1d02090cc02dcfcbed339897830acb8 Author: Benjamin Poirier <bpoirier@xxxxxxx> Date: Wed Apr 29 15:59:35 2015 -0700 mlx4_en: Use correct loop cursor in error path. Signed-off-by: Benjamin Poirier <bpoirier@xxxxxxx> Fixes: 9e311e7 ("net/mlx4_en: Use affinity hint") Acked-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c62e8492ed7358bbe7da51666c7e0f6da9474ee Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Apr 30 12:41:28 2015 +0800 x86/PCI/ACPI: Make all resources except [io 0xcf8-0xcff] available on PCI bus An IO port or MMIO resource assigned to a PCI host bridge may be consumed by the host bridge itself or available to its child bus/devices. The ACPI specification defines a bit (Producer/Consumer) to tell whether the resource is consumed by the host bridge itself, but firmware hasn't used that bit consistently, so we can't rely on it. Before commit 593669c2ac0f ("x86/PCI/ACPI: Use common ACPI resource interfaces to simplify implementation"), arch/x86/pci/acpi.c ignored all IO port resources defined by acpi_resource_io and acpi_resource_fixed_io to filter out IO ports consumed by the host bridge itself. Commit 593669c2ac0f ("x86/PCI/ACPI: Use common ACPI resource interfaces to simplify implementation") started accepting all IO port and MMIO resources, which caused a regression that IO port resources consumed by the host bridge itself became available to its child devices. Then commit 63f1789ec716 ("x86/PCI/ACPI: Ignore resources consumed by host bridge itself") ignored resources consumed by the host bridge itself by checking the IORESOURCE_WINDOW flag, which accidently removed MMIO resources defined by acpi_resource_memory24, acpi_resource_memory32 and acpi_resource_fixed_memory32. On x86 and IA64 platforms, all IO port and MMIO resources are assumed to be available to child bus/devices except one special case: IO port [0xCF8-0xCFF] is consumed by the host bridge itself to access PCI configuration space. So explicitly filter out PCI CFG IO ports[0xCF8-0xCFF]. This solution will also ease the way to consolidate ACPI PCI host bridge common code from x86, ia64 and ARM64. Related ACPI table are archived at: https://bugzilla.kernel.org/show_bug.cgi?id=94221 Related discussions at: http://patchwork.ozlabs.org/patch/461633/ https://lkml.org/lkml/2015/3/29/304 Fixes: 63f1789ec716 (Ignore resources consumed by host bridge itself) Reported-by: Bernhard Thaler <bernhard.thaler@xxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: 4.0+ <stable@xxxxxxxxxxxxxxx> # 4.0+ Reviewed-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 50904a7ddd1cab3e1d2ca007161e976f858d934f Merge: 9e9d55e 61f8ff6 df8d9ee Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Apr 30 21:05:57 2015 +0200 Merge branches 'acpica', 'acpi-battery' and 'pm-cpuidle' commit 0ae3aba2865a5a6f5ee82e9651f0a69daf19d79c Merge: 7241ea5 d839c98 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 30 19:08:06 2015 +0200 Merge tag 'asoc-v4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v4.1 A few fixes for v4.1, none earth shattering and mostly driver related except for one change to fix !PM builds for Intel platforms which is done by adding stubs in the core so other platforms don't run into the same issue. commit 1add15646672ff4e7fe59bec2afcb5a0c80c5e49 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:45:04 2015 +0200 ieee802154: trace: fix endian convertion This patch fix endian convertions for extended address and short address handling when TP_printk is called. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Guido Günther <agx@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d2c8bf51d07729ae6887fa84947b1f825b3729e1 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:45:03 2015 +0200 at86rf230: add slp_tr support to start tx This patch adds support for one of the slp_tr gpio use cases which indicates the TX_START command without doing some spi bus traffic. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8500920317813ed420311d9cf16c345fc216fb86 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:45:02 2015 +0200 at86rf230: change state change if from trx_off If a transmit ends in a calibration which means the transceiver do a TRX_OFF state change, we can directly change into TX_ARET state instead doing a TX_ON to TX_ARET statechange. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2f8cdd95097bdcd8d1e2b02edb0a9deb1e034a7e Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:45:01 2015 +0200 at86rf230: remove unnecessary tx state change All supported transceivers can do a valid state change from TRX_OFF to AACK_ON. This patch removes the state change chain from TRX_OFF -> TX_ON -> AACK_ON instead we doing a directly state change from TRX_OFF to AACK_ON. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3b951ca7d2772834c7ca828f0fe5745480426982 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:45:00 2015 +0200 at86rf230: add TX_ARET_ON for calibration timeout This patch adds a calibration timeout reset when change from TRX_OFF to TX_ARET_ON which also occurs a calibration. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2ad33244db816755a27dcdd312a70d966c85f0ee Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:44:59 2015 +0200 at86rf230: move cal_timeout to state change This patch moves the calculation timeout of TRX_OFF to RX_AACK_ON handling to the async state change functionality. With this patch we can do a reset of calculation timeout when others TRX_OFF to RX_AACK_ON happens instead of doing this on interface up only. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5e8e01e262be1eeaae598be44b8e43b29aab842a Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:44:58 2015 +0200 at86rf230: remove tabs after define This patch cleanups the at86rf230 driver to use a space instead a tab after define. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5b4a10390460cccf17a9fac739e153d68cf25ef5 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Thu Apr 30 17:44:57 2015 +0200 cfg802154: pass name_assign_type to rdev_add_virtual_intf() This code is based on commit 6bab2e19c5ffd ("cfg80211: pass name_assign_type to rdev_add_virtual_intf()") This will expose in sysfs whether the ifname of a IEEE-802.15.4 device is set by userspace or generated by the kernel. We are using two types of name_assign_types o NET_NAME_ENUM: Default interface name provided by kernel o NET_NAME_USER: Interface name provided by user. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4748e86ecf262ae9d94b7e4073653554951ceb7a Author: Christoffer Holmstedt <christoffer.holmstedt@xxxxxxxxx> Date: Thu Apr 30 17:44:56 2015 +0200 at86rf230: Add macro for TRX STATE MASK Instead of using the 'magic' number of 0x1f the TRX_STATE_MASK macro is introduced. Signed-off-by: Christoffer Holmstedt <christoffer.holmstedt@xxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1cc800e7aabb40e2d8ffc3d259e6a153007fa9eb Author: Guido Günther <agx@xxxxxxxxxxx> Date: Thu Apr 30 17:44:55 2015 +0200 ieee802154: Add trace events for rdev->ops Enabling tracing via echo 1 > /sys/kernel/debug/tracing/events/cfg802154/enable enables event tracing like iwpan dev wpan0 set pan_id 0xbeef cat /sys/kernel/debug/tracing/trace # tracer: nop # # entries-in-buffer/entries-written: 2/2 #P:1 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | iwpan-2663 [000] .... 170.369142: 802154_rdev_set_pan_id: phy0, wpan_dev(1), pan id: 0xbeef iwpan-2663 [000] .... 170.369177: 802154_rdev_return_int: phy0, returned: 0 Signed-off-by: Guido Günther <agx@xxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 42fb23e2f57accbed69804e6d72ea3a88b8a84c4 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Thu Apr 30 17:44:52 2015 +0200 mac802154: add description to mac802154 APIs This patch adds the proper description to the mac802154 core APIs. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 89eb6d0677a6daf134015bc7bd5ec1432911eed2 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 30 17:44:54 2015 +0200 mac802154: llsec: fix return value check in llsec_key_alloc() In case of error, the functions crypto_alloc_aead() and crypto_alloc_blkcipher() 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: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2b4d413c3871af0f2ccd466fb6581ed2c2d89438 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:44:53 2015 +0200 mac802154: fix ieee802154_register_hw error handling Currently if ieee802154_if_add failed, we don't unregister the wpan phy which was registered before. This patch adds a correct error handling for unregister the wpan phy when ieee802154_if_add failed. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d24d81444f8caf1895256ef2d2e89ae8202a17e4 Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Sun Apr 26 20:51:50 2015 +0200 Bluetooth: Skip the shutdown routine if the interface is not up Most likely, the shutdown routine requires the interface to be up. This is the case for BTUSB_INTEL: the routine tries to send a command to the interface, but since this one is down, it fails and exits once HCI_INIT_TIMEOUT has expired. Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.0.x commit 9dbbe3cfc3c208643cf0e81c8f660f43e1b4b2e8 Merge: fb45f49 73459e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:44:04 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull kvm changes from Paolo Bonzini: "Remove from guest code the handling of task migration during a pvclock read; instead use the correct protocol in KVM. This removes the need for task migration notifiers in core scheduler code" [ The scheduler people really hated the migration notifiers, so this was kind of required - Linus ] * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: x86: pvclock: Really remove the sched notifier for cross-cpu migrations kvm: x86: fix kvmclock update protocol commit fb45f493c18b5bf0818394662f908d648060310c Merge: 9c4249c aa6df8d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:39:52 2015 -0700 Merge tag 'dm-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper bugfixes from Mike Snitzer: "Fix two bugs in the request-based DM blk-mq support that was added during the 4.1 merge" * tag 'dm-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm: fix free_rq_clone() NULL pointer when requeueing unmapped request dm: only initialize the request_queue once commit 9c4249c8e0221e5cfae758d35b768aee84abf6c0 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Apr 30 14:58:43 2015 +0100 modsign: change default key details Change default key details to be more obviously unspecified. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: James Morris <james.l.morris@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9263a06a5896370789a8303baef8d69387071813 Merge: dcca8de 96a5d18 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:30:07 2015 -0700 Merge tag 'tty-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial fixes from Greg KH: "Here are some small tty/serial driver fixes for 4.1-rc2. They include some minor fixes that resolve reported issues, and a new device quirk. All have been in linux-next succesfully" * tag 'tty-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: serial: 8250_pci: Add support for 16 port Exar boards serial: samsung: fix serial console break tty/serial: at91: maxburst was missing for dma transfers serial: of-serial: Remove device_type = "serial" registration serial: xilinx: Use platform_get_irq to get irq description structure serial: core: Fix kernel-doc build warnings tty: Re-add external interface for tty_set_termios() commit dcca8de0aa597f14e31a1b38690626c9f6745fd5 Merge: 73be174 0d3bba0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:08:53 2015 -0700 Merge tag 'usb-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are a number of small USB fixes for 4.2-rc2. They revert one problem patch, fix some minor things, and add some new quirks for "broken" devices. All have been in linux-next successfully" * tag 'usb-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: cdc-acm: prevent infinite loop when parsing CDC headers. Revert "usb: host: ehci-msm: Use devm_ioremap_resource instead of devm_ioremap" usb: chipidea: otg: remove mutex unlock and lock while stop and start role uas: Set max_sectors_240 quirk for ASM1053 devices uas: Add US_FL_MAX_SECTORS_240 flag uas: Allow uas_use_uas_driver to return usb-storage flags commit 73be174cf5c37a90855b9ae9b8e58848716d898f Merge: 3d99e3f 0017052 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:07:26 2015 -0700 Merge tag 'renesas-sh-drivers-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas Pull SH driver updates from Simon Horman: - remove test for now unsupported sh7372 SoC - disable PM runtime for multi-platform r8a73a4 and sh73a0 SoCs with genpd * tag 'renesas-sh-drivers-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: drivers: sh: Remove test for now unsupported sh7372 drivers: sh: Disable PM runtime for multi-platform r8a73a4 with genpd drivers: sh: Disable PM runtime for multi-platform sh73a0 with genpd commit d8818257d3befce6ce7da4c09112654914c3fd58 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Apr 14 21:09:20 2015 +0000 power: reset: ltc2952: Remove bogus hrtimer_start() return value checks The return value of hrtimer_start() tells whether the timer was inactive or active already when hrtimer_start() was called. The code emits a bogus warning if the timer was active already claiming that the timer could not be started. Remove it. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Sebastian Reichel <sre@xxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Frans Klaver <frans.klaver@xxxxxxxxx> Cc: "René Moll" <linux@xxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Acked-by: Frans Klaver <frans.klaver@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ce992369cf29a8762b46338756ef5aba35774981 Author: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Date: Mon Apr 27 20:15:43 2015 +0300 power_supply: fix oops in collie_battery driver Fix an oops happening due to typo in 297d716f6260cc9421d971b124ca196b957ee [power_supply: Change ownership from driver to core]. Unable to handle kernel NULL pointer dereference at virtual address 00000050 pgd = c0004000 [00000050] *pgd=00000000 Internal error: Oops: 17 [#1] ARM Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 4.1.0-rc1+ #35 Hardware name: Sharp-Collie task: c381a720 ti: c381e000 task.ti: c381e000 PC is at collie_bat_get_property+0x10/0x258 LR is at collie_bat_get_property+0x10/0x258 pc : [<c0235d28>] lr : [<c0235d28>] psr: 20000013 sp : c381fd60 ip : 00000001 fp : 00000000 r10: c37b84c0 r9 : c068c9b8 r8 : c37b84a0 r7 : c37b84c0 r6 : c381fd84 r5 : 00000000 r4 : 00000000 r3 : c0369380 r2 : c381fd84 r1 : 00000000 r0 : 00000000 Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 0000717f Table: c3784000 DAC: 00000017 Process swapper (pid: 1, stack limit = 0xc381e190) Stack: (0xc381fd60 to 0xc3820000) fd60: c0369380 00000000 c37c0000 c068c9b8 c37b84c0 c0234380 00000000 c0234bc0 fd80: c042fcec c37b84a0 c0357c64 00000000 c37b84c0 c37c0000 c37b84a0 c0234e98 fda0: c37be020 00000000 ff0a0004 c37b84c8 c37be020 c37b84c0 c042fcec c383dbc0 fdc0: c0364060 00000000 00000000 c01be6a8 00000000 c015b220 c37b84c8 c381fdf0 fde0: c37b84c8 c37b84c8 c37b84c8 c37be020 c041e278 c015b478 c04a45b4 c0045290 fe00: c381a720 c0345d50 00000001 c37bf020 c0e511d8 c00453c0 c0688058 c37b84c8 fe20: 00000000 c37b84c0 c37780c0 c0e511d8 c38e2f60 c0e52d24 c04a45b4 c01be134 fe40: c37b8550 c37b8550 00000000 c0347a8c c37b84a0 00000000 c37b84c0 c0369380 fe60: c37780c0 00000001 00000061 c02347a0 00000001 c0e52e6c c068d144 c37b77a0 fe80: 00000000 c068d164 00000000 c0235b3c 00000000 c067fbb4 00000000 c068d1e4 fea0: 00000000 00000000 00000000 00000000 00000000 00000000 c37b77a0 c068d144 fec0: c3778020 c06953c0 c049de68 c01d5f54 c0688800 c3778020 c068d144 c0688700 fee0: c06953c0 c01d6000 c0675b80 c0675b80 c37b77a0 c0009624 c381a720 c000d8dc ff00: 00000001 c381ff54 c048a500 c00453c0 c00095a0 20000153 ffffffff c000d8dc ff20: c049cbd0 00000001 c04aa064 00000007 c04a9fb0 00000006 c06953c0 c06953c0 ff40: c048a590 c04a45c0 c04a9ffc 00000006 c06953c0 c06953c0 c048a590 c04a45c0 ff60: 00000061 c048adf8 00000006 00000006 c048a590 c0036450 00000001 00000000 ff80: c00363ec 00000000 c033ee7c 00000000 00000000 00000000 00000000 00000000 ffa0: 00000000 c033ee84 00000000 c000a3c8 00000000 00000000 00000000 00000000 ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000 [<c0235d28>] (collie_bat_get_property) from [<c0234380>] (power_supply_get_property+0x1c/0x28) [<c0234380>] (power_supply_get_property) from [<c0234bc0>] (power_supply_show_property+0x50/0x1dc) [<c0234bc0>] (power_supply_show_property) from [<c0234e98>] (power_supply_uevent+0x9c/0x1cc) [<c0234e98>] (power_supply_uevent) from [<c01be6a8>] (dev_uevent+0xb4/0x1d0) [<c01be6a8>] (dev_uevent) from [<c015b478>] (kobject_uevent_env+0x1cc/0x4f8) [<c015b478>] (kobject_uevent_env) from [<c01be134>] (device_add+0x374/0x524) [<c01be134>] (device_add) from [<c02347a0>] (__power_supply_register+0x120/0x180) [<c02347a0>] (__power_supply_register) from [<c0235b3c>] (collie_bat_probe+0xe8/0x1b4) [<c0235b3c>] (collie_bat_probe) from [<c01d5f54>] (ucb1x00_add_dev+0x30/0x88) [<c01d5f54>] (ucb1x00_add_dev) from [<c01d6000>] (ucb1x00_register_driver+0x54/0x78) [<c01d6000>] (ucb1x00_register_driver) from [<c0009624>] (do_one_initcall+0x84/0x1f4) [<c0009624>] (do_one_initcall) from [<c048adf8>] (kernel_init_freeable+0xf8/0x1b4) [<c048adf8>] (kernel_init_freeable) from [<c033ee84>] (kernel_init+0x8/0xec) [<c033ee84>] (kernel_init) from [<c000a3c8>] (ret_from_fork+0x14/0x2c) Code: e92d40f8 e1a05001 e1a06002 ebfff9bc (e5903050) ---[ end trace 447ee06b251d66b2 ]--- Fixes: 297d716f6260 ("power_supply: Change ownership from driver to core") Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 932df43005389300a3336421e4aedb25390ae144 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 20:19:43 2015 +0800 power/reset: at91: fix return value check in at91_reset_platform_probe() In case of error, the function devm_ioremap() returns NULL not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Fixes: ecfe64d8c55f ("power: reset: Add AT91 reset driver") Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2a6afddb6656aefbc6e8d6ef1f95749895ae2945 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Sun Mar 29 15:35:54 2015 +0200 MAINTAINERS: Add me as maintainer of Nokia N900 power supply drivers I'm author of two of those drivers (bq2415x and rx51) and I added more patches for other twos. Also I fished (proper) open source power management software for Nokia N900 and those kernel drivers are part of it. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 409e718e09885de78cebcb57f0f908eaed5304df Author: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Date: Fri Mar 13 21:49:09 2015 +0530 axp288_fuel_gauge: Add original author details Add the original author details of the axp288_fuel_gauge driver. Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Acked-by: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit aa6df8dd28c01d9a3d2cfcfe9dd0a4a334d1cd81 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Wed Apr 29 10:48:09 2015 -0400 dm: fix free_rq_clone() NULL pointer when requeueing unmapped request Commit 022333427a ("dm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mq") mistakenly removed free_rq_clone()'s clone->q check before testing clone->q->mq_ops. It was an oversight to discontinue that check for 1 of the 2 use-cases for free_rq_clone(): 1) free_rq_clone() called when an unmapped original request is requeued 2) free_rq_clone() called in the request-based IO completion path The clone->q check made sense for case #1 but not for #2. However, we cannot just reinstate the check as it'd mask a serious bug in the IO completion case #2 -- no in-flight request should have an uninitialized request_queue (basic block layer refcounting _should_ ensure this). The NULL pointer seen for case #1 is detailed here: https://www.redhat.com/archives/dm-devel/2015-April/msg00160.html Fix this free_rq_clone() NULL pointer by simply checking if the mapped_device's type is DM_TYPE_MQ_REQUEST_BASED (clone's queue is blk-mq) rather than checking clone->q->mq_ops. This avoids the need to dereference clone->q, but a WARN_ON_ONCE is added to let us know if an uninitialized clone request is being completed. Reported-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 3e6180f0c82b3790a9ec6d13d67aae359bf1ce84 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 30 10:10:36 2015 -0400 dm: only initialize the request_queue once Commit bfebd1cdb4 ("dm: add full blk-mq support to request-based DM") didn't properly account for the need to short-circuit re-initializing DM's blk-mq request_queue if it was already initialized. Otherwise, reloading a blk-mq request-based DM table (either manually or via multipathd) resulted in errors, see: https://www.redhat.com/archives/dm-devel/2015-April/msg00132.html Fix is to only initialize the request_queue on the initial table load (when the mapped_device type is assigned). This is better than having dm_init_request_based_blk_mq_queue() return early if the queue was already initialized because it elevates the constraint to a more meaningful location in DM core. As such the pre-existing early return in dm_init_request_based_queue() can now be removed. Fixes: bfebd1cdb4 ("dm: add full blk-mq support to request-based DM") Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 8291fd04d86b97869bd34e796bcac3141b9d5432 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Apr 13 10:17:55 2015 +0100 arm64: perf: Fix the pmu node name in warning message With commit d5efd9cc9cf2 ("arm64: pmu: add support for interrupt-affinity property"), we print a warning when we find a PMU SPI with a missing missing interrupt-affinity property in a pmu node. Unfortunately, we pass the wrong (NULL) device node to of_node_full_name, resulting in unhelpful messages such as: hw perfevents: Failed to parse <no-node>/interrupt-affinity[0] This patch fixes the name to that of the pmu node. Fixes: d5efd9cc9cf2 (arm64: pmu: add support for interrupt-affinity property) Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d795ef9aa8311ca3c5158bda1edbcd14479c101c Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Apr 17 14:41:29 2015 +0100 arm64: perf: don't warn about missing interrupt-affinity property for PPIs PPIs are affine by nature, so the interrupt-affinity property is not used and therefore we shouldn't print a warning in its absence. Reported-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 68fc378ce332cc4efd7f314d3e6e15e83f53ebf2 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Apr 30 15:13:14 2015 +1000 Revert "powerpc/tm: Abort syscalls in active transactions" This reverts commit feba40362b11341bee6d8ed58d54b896abbd9f84. Although the principle of this change is good, the implementation has a few issues. Firstly we can sometimes fail to abort a syscall because r12 may have been clobbered by C code if we went down the virtual CPU accounting path, or if syscall tracing was enabled. Secondly we have decided that it is safer to abort the syscall even earlier in the syscall entry path, so that we avoid the syscall tracing path when we are transactional. So that we have time to thoroughly test those changes we have decided to revert this for this merge window and will merge the fixed version in the next window. NB. Rather than reverting the selftest we just drop tm-syscall from TEST_PROGS so that it's not run by default. Fixes: feba40362b11 ("powerpc/tm: Abort syscalls in active transactions") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit feb589e98671da59f9a3c337b8d9865957a7f9f8 Merge: b787f68 9fb2bcf Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 30 12:15:34 2015 +1000 Merge branch 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Fixes for 4.1 for radeon all destined for stable: - fix fallout from the audio rework - VM fixes - other assorted bug fixes * 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: fix userptr return value checking (v2) drm/radeon: check new address before removing old one drm/radeon: reset BOs address after clearing it. drm/radeon: fix lockup when BOs aren't part of the VM on release drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5 drm/radeon: adjust pll when audio is not enabled drm/radeon: only enable audio streams if the monitor supports it drm/radeon: only mark audio as connected if the monitor supports it (v3) drm/radeon/audio: don't enable packets until the end drm/radeon: drop dce6_dp_enable drm/radeon: fix ordering of AVI packet setup drm/radeon: Use drm_calloc_ab for CS relocs commit c57ddfaea6ec8b1d96f863f7fcfc5554b5dc44c7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Apr 20 18:51:35 2015 +0300 Bluetooth: btusb: off by one in rtl8723b_parse_firmware() The ">" should be ">=" so that we don't read past the end of the array. Fixes: 9d9a113e3695 ('Bluetooth: btusb: Add Realtek 8723A/8723B/8761A/8821A support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Daniel Drake <drake@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit eb50042fd2a9ed3cecc8f9e6799b8e11b4726f94 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Apr 16 23:15:50 2015 +0200 Bluetooth: btusb: Fix two coding style issues ERROR: spaces required around that '<' (ctx:WxV) + if (err <0) ^ ERROR: code indent should use tabs where possible +^I^I^I^I sizeof(ver));$ Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a2698a9bf9b0cfcf7e556946e04c4456a13a6f5a Author: Daniel Drake <drake@xxxxxxxxxxxx> Date: Thu Apr 16 14:09:55 2015 -0600 Bluetooth: btusb: Add Realtek 8723A/8723B/8761A/8821A support Realtek ship a variety of bluetooth USB devices that identify themselves with standard USB Bluetooth device class values, but require a special driver to actually work. Without that driver, you never get any scan results. More recently however, Realtek appear to have wisened up and simply posted a firmware update that makes these devices comply with normal btusb protocols. The firmware needs to be uploaded on each boot. Based on Realtek code from https://github.com/lwfinger/rtl8723au_bt ('new' branch). This enables bluetooth support in the Gigabyte Brix GB-BXBT-2807 which has this RTL8723BE USB device: T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 2.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=13d3 ProdID=3410 Rev= 2.00 S: Manufacturer=Realtek S: Product=Bluetooth Radio S: SerialNumber=00e04c000001 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA 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=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) 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=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms There is no change to the USB descriptor after firmware update, however the version read by HCI_OP_READ_LOCAL_VERSION changes from 0x8723 to 0x3083. This has also been tested on RTL8723AE and RTL8821AE. Support for RTL8761A has also been added, but that is untested. Signed-off-by: Daniel Drake <drake@xxxxxxxxxxxx> Tested-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4c876c0edbdc28de751dc4b4583dcbfc290a2293 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 11 05:35:38 2015 -0700 Bluetooth: hci_uart: Add Atheros support for address configuration The Atheros support for missing the support for configuration of the Bluetooth public address. Add support for the vendor specific command. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c0ba7acd48d122fe5941c8f402fc1ee024cac6fb Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 11 05:35:37 2015 -0700 Bluetooth: hci_uart: Reorder Atheros specific driver callbacks The driver callbacks in the Atheros support were all in a random order and did not help readability of this driver. So reorder them to make them aligned with what other Bluetooth UART drivers do. This patch is not changing any actual code. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 50862ee5578efa342a25c8b86f0080494736057f Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Apr 10 14:02:20 2015 -0700 Bluetooth: btbcm: Export patchram download as separate function This isolates the Broadcom patchram download procedure as separate function so that it can be easily used from USB and UART based drivers. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 16e5c47a0f90a37cf8b8d50b5eaf3cd3f7ed9530 Author: DingXiang <dingxiang@xxxxxxxxxx> Date: Fri Apr 10 16:45:58 2015 +0800 Bluetooth: bt3c: Delete some unuseful comments I think the comments are used to debug, and we don't need them in mainline code Signed-off-by: DingXiang <dingxiang@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 483d821108791092798f5d230686868112927044 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Tue Apr 21 17:42:09 2015 +0200 gpio: sysfs: fix memory leaks and device hotplug Unregister GPIOs requested through sysfs at chip remove to avoid leaking the associated memory and sysfs entries. The stale sysfs entries prevented the gpio numbers from being exported when the gpio range was later reused (e.g. at device reconnect). This also fixes the related module-reference leak. Note that kernfs makes sure that any on-going sysfs operations finish before the class devices are unregistered and that further accesses fail. The chip exported flag is used to prevent gpiod exports during removal. This also makes it harder to trigger, but does not fix, the related race between gpiochip_remove and export_store, which is really a race with gpiod_request that needs to be addressed separately. Also note that this would prevent the crashes (e.g. NULL-dereferences) at reconnect that affects pre-3.18 kernels, as well as use-after-free on operations on open attribute files on pre-3.14 kernels (prior to kernfs). Fixes: d8f388d8dc8d ("gpio: sysfs interface") Cc: stable <stable@xxxxxxxxxxxxxxx> # v2.6.27: 01cca93a9491 Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9dac8835440622c2f84591673969d510ce198c11 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Wed Apr 29 11:28:30 2015 -0700 tcp: update reordering first before detecting loss tcp_mark_lost_retrans is not used when FACK is disabled. Since tcp_update_reordering may disable FACK, it should be called first before tcp_mark_lost_retrans. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e9250f59ef9efb932c84850cd221f22c2a03c4a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 28 16:23:49 2015 -0700 tcp: add TCP_CC_INFO socket option Some Congestion Control modules can provide per flow information, but current way to get this information is to use netlink. Like TCP_INFO, let's add TCP_CC_INFO so that applications can issue a getsockopt() if they have a socket file descriptor, instead of playing complex netlink games. Sample usage would be : union tcp_cc_info info; socklen_t len = sizeof(info); if (getsockopt(fd, SOL_TCP, TCP_CC_INFO, &info, &len) == -1) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64f40ff5bbdb1b679fb3c4dbc8230d6517d2b8dc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 28 16:23:48 2015 -0700 tcp: prepare CC get_info() access from getsockopt() We would like that optional info provided by Congestion Control modules using netlink can also be read using getsockopt() This patch changes get_info() to put this information in a buffer, instead of skb, like tcp_get_info(), so that following patch can reuse this common infrastructure. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdd1f9edacb5f5835d1e6276571bbbe5b88ded48 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 28 15:28:18 2015 -0700 tcp: add tcpi_bytes_received to tcp_info This patch tracks total number of payload bytes received on a TCP socket. This is the sum of all changes done to tp->rcv_nxt RFC4898 named this : tcpEStatsAppHCThruOctetsReceived This is a 64bit field, and can be fetched both from TCP_INFO getsockopt() if one has a handle on a TCP socket, or from inet_diag netlink facility (iproute2/ss patch will follow) Note that tp->bytes_received was placed near tp->rcv_nxt for best data locality and minimal performance impact. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Matt Mathis <mattmathis@xxxxxxxxxx> Cc: Eric Salo <salo@xxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Cc: Chris Rapier <rapier@xxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0df48c26d8418c5c9fba63fac15b660d70ca2f1c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 28 15:28:17 2015 -0700 tcp: add tcpi_bytes_acked to tcp_info This patch tracks total number of bytes acked for a TCP socket. This is the sum of all changes done to tp->snd_una, and allows for precise tracking of delivered data. RFC4898 named this : tcpEStatsAppHCThruOctetsAcked This is a 64bit field, and can be fetched both from TCP_INFO getsockopt() if one has a handle on a TCP socket, or from inet_diag netlink facility (iproute2/ss patch will follow) Note that tp->bytes_acked was placed near tp->snd_una for best data locality and minimal performance impact. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Matt Mathis <mattmathis@xxxxxxxxxx> Cc: Eric Salo <salo@xxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Cc: Chris Rapier <rapier@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d2361db48899789fb466ff62db5d5fc7b070e86 Author: Forrest Liu <forrestl@xxxxxxxxxxxx> Date: Mon Feb 9 17:31:45 2015 +0800 Btrfs: btrfs_release_extent_buffer_page didn't free pages of dummy extent btrfs_release_extent_buffer_page() can't handle dummy extent that allocated by btrfs_clone_extent_buffer() properly. That is because reference count of pages that allocated by btrfs_clone_extent_buffer() was 2, 1 by alloc_page(), and another by attach_extent_buffer_page(). Running following command repeatly can check this memory leak problem btrfs inspect-internal inode-resolve 256 /mnt/btrfs Signed-off-by: Chien-Kuan Yeh <ckya@xxxxxxxxxxxx> Signed-off-by: Forrest Liu <forrestl@xxxxxxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7f0b8a56c978b0a3315ac84c6cbb065413afb8e9 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 29 17:19:05 2015 +0530 cxgb4: Fix MC1 memory offset calculation Commit 6559a7e8296002b4 ("cxgb4: Cleanup macros so they follow the same style and look consistent") introduced a regression where reading MC1 memory in adapters where MC0 isn't present or MC0 size is not equal to MC1 size caused the adapter to crash due to incorrect computation of memoffset. Fix is to read the size of MC0 instead of MC1 for offset calculation Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12a8541d5c82d17d42424d46ec36929cfef06a10 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Apr 29 08:09:49 2015 +0300 bnx2x: Delay during kdump load In a kdump environment interfaces might be re-loaded without a proper unload sequence in the previous running kernel. bnx2x management FW and driver maintains a `pulse' that notifies the FW that the driver is still up and running. Driver load on the kdump kernel should be performed only after the pulse has been out-of-sync long enough for the management FW to identify that the driver has crashed, on which point it will perform some necessary cleanup of the HW. In today's distros kdump loading is quite fast, sometimes too fast for our FW to get out-of-sync. This patch delays the bnx2x's probe during kdump to allow a proper re-load on the kdump kernel. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e913fb279c564f2af05658b3f01041757d2e9303 Author: Pai <vpai@xxxxxxxxxx> Date: Wed Apr 29 14:24:23 2015 -0400 net: Fix Kernel Panic in bonding driver debugfs file: rlb_hash_table This patch fixes a Kernel Panic in bonding driver debugfs file: rlb_hash_table. $> modprobe bonding mode=6 $> cat /sys/kernel/debug/bonding/bond0/rlb_hash_table This will crash the kernel. The struct alb_bond_info is initialized only when the bonding interface is initialized (ip link set bond0 up) and not at the time it is allocated. If we try to read the table before that, it'll result in a kernel panic. The patch applies against both net and net-next Signed-off-by: Vishwanath Pai <vpai@xxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50d4964f1d0411d82cca593f2664bfab7f82dbbf Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Apr 29 10:56:15 2015 -0700 net: dsa: Fix scope of eeprom-length property eeprom-length is a switch property, not a dsa property, and thus needs to be attached to the switch node, not to the dsa node. Reported-by: Andrew Lunn <andrew@xxxxxxx> Fixes: 6793abb4e849 ("net: dsa: Add support for switch EEPROM access") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4c216c54197d741ed8b7ca54f13645dfb3eacde Author: Punnaiah Choudary Kalluri <punnaiah.choudary.kalluri@xxxxxxxxxx> Date: Wed Apr 29 08:34:46 2015 +0530 net: macb: Fix race condition in driver when Rx frame is dropped Under heavy Rx load, observed that the Hw is updating the USED bit and it is not updating the received frame status to the BD control field. This could be lack of resources for processing the BDs at high data rates. Driver drops the frame associated with this BD but not clearing the USED bit. So, this is causing hang condition as Hw expects USED bit to be cleared for this BD. Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b56fc3c536541c8081cd5f1f1d101a16c002a365 Author: KY Srinivasan <kys@xxxxxxxxxxxxx> Date: Tue Apr 28 17:59:48 2015 -0700 hv_netvsc: Fix a bug in netvsc_start_xmit() Commit b08cc79155fc26d0d112b1470d1ece5034651a4b eliminated memory allocation in the packet send path: "hv_netvsc: Eliminate memory allocation in the packet send path The network protocol used to communicate with the host is the remote ndis (rndis) protocol. We need to decorate each outgoing packet with a rndis header and additional rndis state (rndis per-packet state). To manage this state, we currently allocate memory in the transmit path. Eliminate this allocation by requesting additional head room in the skb." This commit introduced a bug since it did not account for the case if the skb was cloned. Fix this bug. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Tested-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48734994ac268eb391a66dca4cde7d08a08aba08 Author: Vlastimil Setka <setka@xxxxxxx> Date: Wed Apr 29 00:17:11 2015 +0200 altera_tse: Correct rx packet length Altera TSE MAC rx DMA transfer starts with the 2 additional bytes for IP payload alignment. This patch fixes tse_rx() function loop which reads DMA rx status and extracts packet length from it. Status signalises a whole DMA transfer length, which is 2 bytes longer than the packet itself. Signed-off-by: Vlastimil Setka <setka@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42eab005a5dd5d7ea2b0328aecc4d6cc0c23c9c2 Author: Benjamin Poirier <bpoirier@xxxxxxx> Date: Tue Apr 28 14:49:29 2015 -0700 mlx4: Fix tx ring affinity_mask creation By default, the number of tx queues is limited by the number of online cpus in mlx4_en_get_profile(). However, this limit no longer holds after the ethtool .set_channels method has been called. In that situation, the driver may access invalid bits of certain cpumask variables when queue_index >= nr_cpu_ids. Signed-off-by: Benjamin Poirier <bpoirier@xxxxxxx> Acked-by: Ido Shamay <idos@xxxxxxxxxxxx> Fixes: d03a68f ("net/mlx4_en: Configure the XPS queue mapping on driver load") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d699f28ee5d0641470a603ab5904e463cb1532a Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Tue Apr 28 16:59:04 2015 -0400 tipc: fix problem with parallel link synchronization mechanism Currently, we try to accumulate arrived packets in the links's 'deferred' queue during the parallel link syncronization phase. This entails two problems: - With an unlucky combination of arriving packets the algorithm may go into a lockstep with the out-of-sequence handling function, where the synch mechanism is adding a packet to the deferred queue, while the out-of-sequence handling is retrieving it again, thus ending up in a loop inside the node_lock scope. - Even if this is avoided, the link will very often send out unnecessary protocol messages, in the worst case leading to redundant retransmissions. We fix this by just dropping arriving packets on the upcoming link during the synchronization phase, thus relying on the retransmission protocol to resolve the situation once the two links have arrived to a synchronized state. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2f67390a4b961dae83733732e96e1a394a53c4e Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 28 18:33:50 2015 +0200 tipc: remove wrong use of NLM_F_MULTI NLM_F_MULTI must be used only when a NLMSG_DONE message is sent. In fact, it is sent only at the end of a dump. Libraries like libnl will wait forever for NLMSG_DONE. Fixes: 35b9dd7607f0 ("tipc: add bearer get/dump to new netlink api") Fixes: 7be57fc69184 ("tipc: add link get/dump to new netlink api") Fixes: 46f15c6794fb ("tipc: add media get/dump to new netlink api") CC: Richard Alpe <richard.alpe@xxxxxxxxxxxx> CC: Jon Maloy <jon.maloy@xxxxxxxxxxxx> CC: Ying Xue <ying.xue@xxxxxxxxxxxxx> CC: tipc-discussion@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46c264daaaa569e24f8aba877d0fd8167c42a9a4 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 28 18:33:49 2015 +0200 bridge/nl: remove wrong use of NLM_F_MULTI NLM_F_MULTI must be used only when a NLMSG_DONE message is sent. In fact, it is sent only at the end of a dump. Libraries like libnl will wait forever for NLMSG_DONE. Fixes: e5a55a898720 ("net: create generic bridge ops") Fixes: 815cccbf10b2 ("ixgbe: add setlink, getlink support to ixgbe and ixgbevf") CC: John Fastabend <john.r.fastabend@xxxxxxxxx> CC: Sathya Perla <sathya.perla@xxxxxxxxxx> CC: Subbu Seetharaman <subbu.seetharaman@xxxxxxxxxx> CC: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx> CC: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> CC: intel-wired-lan@xxxxxxxxxxxxxxxx CC: Jiri Pirko <jiri@xxxxxxxxxxx> CC: Scott Feldman <sfeldma@xxxxxxxxx> CC: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> CC: bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 821996795973fd52703c35811a03db9fec1ac141 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 28 18:33:48 2015 +0200 bridge/mdb: remove wrong use of NLM_F_MULTI NLM_F_MULTI must be used only when a NLMSG_DONE message is sent. In fact, it is sent only at the end of a dump. Libraries like libnl will wait forever for NLMSG_DONE. Fixes: 37a393bc4932 ("bridge: notify mdb changes via netlink") CC: Cong Wang <amwang@xxxxxxxxxx> CC: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> CC: bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b70fe5aba0dd00d81173243c7ab04c66aeb67d8 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Apr 28 13:33:21 2015 +0200 net: sched: act_connmark: don't zap skb->nfct This action is meant to be passive, i.e. we should not alter skb->nfct: If nfct is present just leave it alone. Compile tested only. Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 165996bd351f0e711feff92479c0796098afaa38 Author: Antonio Ospite <ao2@xxxxxx> Date: Tue Apr 28 13:11:29 2015 +0200 trivial: net: systemport: bcmsysport.h: fix 0x0x prefix Fix the 0x0x prefix in an integer constant. In this case, while at it, also fix a typo (s/unitcast/unicast/). Signed-off-by: Antonio Ospite <ao2@xxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18fe369a5a4f175ee652ba8b7d8d7e49f140e281 Author: Antonio Ospite <ao2@xxxxxx> Date: Tue Apr 28 13:11:27 2015 +0200 trivial: net: atl1e: atl1e_hw.h: fix 0x0x prefix Fix the 0x0x prefix in an integer constant. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Cc: Jay Cliburn <jcliburn@xxxxxxxxx> Cc: Chris Snook <chris.snook@xxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad93e1d7b9f63bb842925711240e9fba3a104fea Merge: 3f300ff f8dcb5e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 29 14:48:36 2015 -0400 Merge branch 'bnx2x' Michal Schmidt says: ==================== bnx2x: minor cleanups related to TPA bits I noticed some simplification possibilities while looking into the bug fixed by "bnx2x: really disable TPA if 'disable_tpa' is set'. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8dcb5e3365a23b620f5744f23f1918b9c38d883 Author: Michal Schmidt <mschmidt@xxxxxxxxxx> Date: Tue Apr 28 11:34:23 2015 +0200 bnx2x: remove {TPA,GRO}_ENABLE_FLAG These flags are redundant with dev->features. Remove them. Just make sure to set dev->features ourselves in bnx2x_set_features() before performing the reload of the card. Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e6b4d440b0ae9062b84dfb417ea6d51a45dab76 Author: Michal Schmidt <mschmidt@xxxxxxxxxx> Date: Tue Apr 28 11:34:22 2015 +0200 bnx2x: merge fp->disable_tpa with fp->mode It is simpler to have the TPA mode as one three-state variable. Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9b9e860cef1d904832bc6e92e444adfeabe49e9 Author: Michal Schmidt <mschmidt@xxxxxxxxxx> Date: Tue Apr 28 11:34:21 2015 +0200 bnx2x: mark LRO as a fixed disabled feature if disable_tpa is set If disable_tpa is set, remove NETIF_F_LRO from hw_features, so ethtool sees it as "off [fixed]". Note that setting the NETIF_F_LRO bit in dev->features in the 'else' branch is not needed, because the bit was already set by bnx2x_init_dev(). Then the check for disable_tpa in in bnx2x_fix_features() becomes unnecessary. Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f300ff41d89fe9674b8dbab950ba2572639ee8d Author: Simon Xiao <sixiao@xxxxxxxxxxxxx> Date: Tue Apr 28 01:05:17 2015 -0700 hv_netvsc: introduce netif-msg into netvsc module 1. Introduce netif-msg to netvsc to control debug logging output and keep msg_enable in netvsc_device_context so that it is kept persistently. 2. Only call dump_rndis_message() when NETIF_MSG_RX_ERR or above is specified in netvsc module debug param. In non-debug mode, in current code, dump_rndis_message() will not dump anything but it still initialize some local variables and process the switch logic which is unnecessary, especially in high network throughput situation. Signed-off-by: Simon Xiao <sixiao@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb6ccf09d6b94bec4def1ac5cf4678d12b216474 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Apr 28 11:43:15 2015 +0800 route: Use ipv4_mtu instead of raw rt_pmtu The commit 3cdaa5be9e81a914e633a6be7b7d2ef75b528562 ("ipv4: Don't increase PMTU with Datagram Too Big message") broke PMTU in cases where the rt_pmtu value has expired but is smaller than the new PMTU value. This obsolete rt_pmtu then prevents the new PMTU value from being installed. Fixes: 3cdaa5be9e81 ("ipv4: Don't increase PMTU with Datagram Too Big message") Reported-by: Gerd v. Egidy <gerd.von.egidy@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2cff98b99c469880ce830cbcde015b53b67e0a7b Author: Dean Nelson <dnelson@xxxxxxxxxx> Date: Wed Apr 29 16:09:18 2015 +0100 arm64: add missing PAGE_ALIGN() to __dma_free() __dma_alloc() does a PAGE_ALIGN() on the passed in size argument before doing anything else. __dma_free() does not. And because it doesn't, it is possible to leak memory should size not be an integer multiple of PAGE_SIZE. The solution is to add a PAGE_ALIGN() to __dma_free() like is done in __dma_alloc(). Additionally, this patch removes a redundant PAGE_ALIGN() from __dma_alloc_coherent(), since __dma_alloc_coherent() can only be called from __dma_alloc(), which already does a PAGE_ALIGN() before the call. Cc: stable@xxxxxxxxxxxxxxx Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Dean Nelson <dnelson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8014bcc86ef112eab9ee1db312dba4e6b608cf89 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Apr 13 00:26:35 2015 +0100 xen-pciback: Add name prefix to global 'permissive' variable The variable for the 'permissive' module parameter used to be static but was recently changed to be extern. This puts it in the kernel global namespace if the driver is built-in, so its name should begin with a prefix identifying the driver. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Fixes: af6fc858a35b ("xen-pciback: limit guest control of command register") Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 2b953a5e994ce279904ec70220f7d4f31d380a0a Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Tue Apr 28 18:46:20 2015 -0400 xen: Suspend ticks on all CPUs during suspend Commit 77e32c89a711 ("clockevents: Manage device's state separately for the core") decouples clockevent device's modes from states. With this change when a Xen guest tries to resume, it won't be calling its set_mode op which needs to be done on each VCPU in order to make the hypervisor aware that we are in oneshot mode. This happens because clockevents_tick_resume() (which is an intermediate step of resuming ticks on a processor) doesn't call clockevents_set_state() anymore and because during suspend clockevent devices on all VCPUs (except for the one doing the suspend) are left in ONESHOT state. As result, during resume the clockevents state machine will assume that device is already where it should be and doesn't need to be updated. To avoid this problem we should suspend ticks on all VCPUs during suspend. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit df8d9eeadd0f7a216f2476351d5aee43c6550bf0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Apr 29 15:19:21 2015 +0200 cpuidle: Run tick_broadcast_exit() with disabled interrupts Commit 335f49196fd6 (sched/idle: Use explicit broadcast oneshot control function) replaced clockevents_notify() invocations in cpuidle_idle_call() with direct calls to tick_broadcast_enter() and tick_broadcast_exit(), but it overlooked the fact that interrupts were already enabled before calling the latter which led to functional breakage on systems using idle states with the CPUIDLE_FLAG_TIMER_STOP flag set. Fix that by moving the invocations of tick_broadcast_enter() and tick_broadcast_exit() down into cpuidle_enter_state() where interrupts are still disabled when tick_broadcast_exit() is called. Also ensure that interrupts will be disabled before running tick_broadcast_exit() even if they have been enabled by the idle state's ->enter callback. Trigger a WARN_ON_ONCE() in that case, as we generally don't want that to happen for states with CPUIDLE_FLAG_TIMER_STOP set. Fixes: 335f49196fd6 (sched/idle: Use explicit broadcast oneshot control function) Reported-and-tested-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reported-and-tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d839c98f98826f0c13e46d5a4cecb46dd357b50e Merge: a78001b 60a8d62 c479163 427ced4 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 29 13:37:31 2015 +0100 Merge remote-tracking branches 'asoc/fix/rt5677', 'asoc/fix/samsung' and 'asoc/fix/tfa9879' into asoc-linus commit a78001b0137e3dd7acb15f6813bf2e5046d2f2ff Merge: 1ce286b 9d7dd6c 28ecc0b aae013d 96f05be d1acba2 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 29 13:37:28 2015 +0100 Merge remote-tracking branches 'asoc/fix/email', 'asoc/fix/fsl-ssi', 'asoc/fix/pm', 'asoc/fix/qcom' and 'asoc/fix/rcar' into asoc-linus commit 1ce286b9c9bd08875072a7c3c6a43ef2a2ea4a71 Merge: 49422ad 53f9b3b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 29 13:37:27 2015 +0100 Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-linus commit 49422ad37d90945fe9ad0220d9505e2be6168777 Merge: 449f1ca 8faf141 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 29 13:37:27 2015 +0100 Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus commit 449f1ca6253cb8d7bbe84666ac7d2696308d16c8 Merge: b787f68 a2d9772 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 29 13:37:26 2015 +0100 Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linus commit 60a8d62b8497c23eb3d48149af7e55dac2dd83a2 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Tue Apr 28 11:27:39 2015 +0800 ASoC: rt5677: fixed wrong DMIC ref clock DMIC clock source is not from codec system clock directly. it is generated from the division of system clock. And it should be 256 * sample rate of AIF1. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 63f89caad0e32dcfa17b2d17919816253de48996 Author: Christopher Freeman <cfreeman@xxxxxxxxxx> Date: Wed Mar 4 01:16:58 2015 -0800 dmaengine: increment privatecnt when using dma_get_any_slave_channel Channels allocated via dma_get_any_slave_channel were not increasing the counter tracking private allocations. When these channels were released, privatecnt may erroneously fall to zero. The DMA device would then lose its DMA_PRIVATE cap and fail to allocate future private channels (via private_candidate) as any allocations still outstanding would incorrectly be seen as public allocations. Signed-off-by: Christopher Freeman <cfreeman@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d33047fd7e7d93662622888681861ba84d43c506 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Mon Apr 27 12:33:51 2015 +1000 powerpc/powernv: Fix early pci_controller_ops loading. Load the PowerNV platform pci controller ops into pci controllers after all the operations are loaded into the platform ops struct, not before. Otherwise we aren't actually setting the ops properly which can break IO for some devices. Fixes: 65ebf4b63 ("powerpc/powernv: Move controller ops from ppc_md to controller_ops") Reported-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7241ea558c6715501e777396b5fc312c372e11d9 Author: Peter Zubaj <pzubaj@xxxxxxxxxxxxx> Date: Tue Apr 28 21:57:29 2015 +0200 ALSA: emu10k1: Emu10k2 32 bit DMA mode Looks like audigy emu10k2 (probably emu10k1 - sb live too) support two modes for DMA. Second mode is useful for 64 bit os with more then 2 GB of ram (fixes problems with big soundfont loading) 1) 32MB from 2 GB address space using 8192 pages (used now as default) 2) 16MB from 4 GB address space using 4096 pages Mode is set using HCFG_EXPANDED_MEM flag in HCFG register. Also format of emu10k2 page table is then different. Signed-off-by: Peter Zubaj <pzubaj@xxxxxxxxxxxxx> Tested-by: Takashi Iwai <tiwai@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 433c5c20c505fef92be84c6afab70f1c2ab5eda3 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 28 10:34:35 2015 +1000 powerpc/kvm: Fix SMP=n build error in book3s_xics.c Commit 34cb7954c0aa "Convert ICS mutex lock to spin lock" added an include of asm/spinlock.h, which does not work in the SMP=n case. It should instead include linux/spinlock.h Fixes: 34cb7954c0aa ("KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock") Acked-by: Paul Mackerras <paulus@xxxxxxxxx> Reviewed-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 61f8ff693923e4b19748b0e8287b99778f2661c7 Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Date: Wed Apr 22 16:40:21 2015 +0100 ACPI / SBS: Enable battery manager when present Commit 9faf6136ff46 (ACPI / SBS: Disable smart battery manager on Apple) introduced a regression disabling the SBS battery manager. The battery manager should be marked as present when acpi_manager_get_info() returns 0. Fixes: 9faf6136ff46 (ACPI / SBS: Disable smart battery manager on Apple) Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Cc: 3.18+ <stable@xxxxxxxxxxxxxxx> # 3.18+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9e9d55e69a95f8583283d9f01b04562d1278c95d Author: Olaf Hering <olaf@xxxxxxxxx> Date: Tue Apr 28 16:54:04 2015 +0200 ACPICA: remove duplicate u8 typedef During commit e252652fb266 ("ACPICA: acpidump: Remove integer types translation protection.") two 'unsigned char' types got converted to 'u8'. The result does not compile with gcc-4.5, it can not cope with duplicate typedefs. Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3d99e3fe13d473ac4578c37f477a59b829530764 Merge: 14bc84c 9b0f5d6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 28 14:22:35 2015 -0700 Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile Pull arch/tile bugfix from Chris Metcalf: "This just fixes a compiler warning from an old bug that only recently started generating a warning" * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: tile: properly use node_isset() on a nodemask_t commit 96a5d18bc1338786fecac73599f1681f59a59a8e Author: Soeren Grunewald <soeren.grunewald@xxxxxxx> Date: Tue Apr 28 16:29:49 2015 +0200 serial: 8250_pci: Add support for 16 port Exar boards The Exar XR17V358 chip usually provides only 8 ports. But two chips can be combined to act as a single 16 port chip. Therefor one chip is configured as master the second as slave by connecting the mode pin to VCC (master) or GND (slave). Then the master chip is reporting a different device-id depending on whether a slave is detected or not. The UARTs 8-15 are addressed from 0x2000-0x3fff. So the offset of 0x400 from UART to UART can be used to address all 16 ports as before. See: https://www.exar.com/common/content/document.ashx?id=1587 page 11 Signed-off-by: Soeren Grunewald <soeren.grunewald@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14bc84ce0b41787acc08aefabe718479c5dde60e Merge: 2decb26 5712764 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 28 09:58:46 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "One additional new feature for 4.1, a new PRNG based on SHA-512 for the zcrypt driver. Two memory management related changes, the page table reallocation for KVM is removed, and with file ptes gone the encoding of page table entries is improved. And three bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/zcrypt: Introduce new SHA-512 based Pseudo Random Generator. s390/mm: change swap pte encoding and pgtable cleanup s390/mm: correct transfer of dirty & young bits in __pmd_to_pte s390/bpf: add dependency to z196 features s390/3215: free memory in error path s390/kvm: remove delayed reallocation of page tables for KVM kexec: allocate the kexec control page with KEXEC_CONTROL_MEMORY_GFP commit 1c94e65c668f44d2c69ae7e7fc268ab3268fba3e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Apr 28 17:11:44 2015 +0200 ALSA: emux: Fix mutex deadlock in OSS emulation The OSS emulation in synth-emux helper has a potential AB/BA deadlock at the simultaneous closing and opening: close -> snd_seq_release() -> sne_seq_free_client() -> snd_seq_delete_all_ports(): takes client->ports_mutex -> port_delete() -> snd_emux_unuse(): takes emux->register_mutex open -> snd_seq_oss_open() -> snd_emux_open_seq_oss(): takes emux->register_mutex -> snd_seq_event_port_attach() -> snd_seq_create_port(): takes client->ports_mutex This patch addresses the deadlock by reducing the rance taking emux->register_mutex in snd_emux_open_seq_oss(). The lock is needed for the refcount handling, so move it locally. The calls in emux_seq.c are already with the mutex, thus they are replaced with the version without mutex lock/unlock. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9d7dd6cd2a1d0d307be6bf783e40e7fda17d6dba Author: Rajeev Kumar <rajeevkumar.linux@xxxxxxxxx> Date: Tue Apr 28 11:30:08 2015 +0530 ASoC: Update email-id of Rajeev Kumar rajeev-dlh.kumar@xxxxxx email-id doesn't exist anymore as I have left the company. Replace ST's id with Rajeev Kumar <rajeevkumar.linux@xxxxxxxxx> Signed-off-by: Rajeev Kumar <rajeevkumar.linux@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9b0f5d63e74a987bf56cc1774baca80a291c9d8d Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Tue Apr 28 10:36:45 2015 -0400 tile: properly use node_isset() on a nodemask_t The code accidentally used cpu_isset() previously in one place (though properly node_isset() elsewhere). Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit a04f90a33fab74789b91fc9739999012f11022d1 Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Date: Thu Apr 16 08:51:28 2015 +0530 drm/i915/chv: Implement WaDisableShadowRegForCpd This WA is avoid problem between shadow vs wake FIFO unload problem during CPD/RC6 transactions on CHV. v2: Define individual bits GTFIFOCTL (Ville) v3: move WA to uncore_early_sanitize (ville) Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [Jani: fixed some whitespace issues while applying] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 4e637ac212b63f4b5dd1da626aca34ffcbfd5daa Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Apr 9 18:18:37 2015 +0300 pinctrl: qcom-spmi-mpp: Fix input value report Fix interpretation of the pmic_mpp_read() return code, negative value means an error. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 24a66618d63548e1012bf65ed30a3c031f410ca2 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Apr 9 18:18:36 2015 +0300 pinctrl: qcom-spmi-gpio: Fix input value report Read input buffer when input is enabled, not when it is disabled. Also fix interpretation of the pmic_gpio_read() return code, negative value means an error. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 982df6aec06479c844f46f7a5cc960151f8fc005 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Apr 9 18:18:35 2015 +0300 pinctrl: qcom-spmi-gpio: Fix output type configuration GPIO output type configuration was incorrectly overwritten by strength value. Fix this. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 31c6ba97d1671b0a853197fe54a05e0b07ce2631 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Apr 17 08:43:09 2015 +0200 serial: samsung: fix serial console break This patch fixes problems with serial console break. When function s3c64xx_serial_startup() was started while serial console has been working, it caused lose of characters written to TX FIFO. This effect was particularly observable with systemd, which closes serial port every time when it's not currently needed, hence function s3c64xx_serial_startup() is called quite often there. To fix this problem we avoid resetting TX FIFO if port is used as serial console. Example of broken console log: [ 1086.7 Expecting device dev-ttySAC1.device... [ 1086.[ OK ] Reached target Paths. [ 1086.756416] s[ OK ] Reached target Swap. [ 1086.776413] systemd[1]: Reached target Swap. [ 1086.776642] systemd[1]: Starting Root Slice. [ 5.53403[ OK ] Created slice Root Slice. [ 5.548433] systemd[1]: Create[ OK ] Created slice User and Session Slice. [ 5.568414] sys[ OK ] Listening on /dev/initctl Compatibility Named Pipe. [ 5.588388] s[ OK ] Listening on Delayed Shutdown Socket. [ 5.608376] sy[ OK ] Listening on Journal Socket (/dev/log). [ 5.628361] [ OK ] Listening on udev Kernel Socket. [ 5.648357] s[ OK ] Listening on udev Control Socket. [ 5.668353] s[ OK ] Listening on Journal Socket. [ 5.688366] systemd[1]: Listeni[ OK ] Created slice System Slice. [ 5.708393] Mounting Temporary Directory... [ 7139.067436] Starting prepare device daemon... [ 7139.091726] sy Starting Generate environment from /etc/profile.d... [ 5.792867] system Starting Create Static Device Nodes in /dev... [ 7848.718 Mounting Debug File System... [ 7848.7384 Mounting Configuration File System... [ 5.852 Starting Apply Kernel Variables... [ 5.8720 Starting Setup Virtual Console... [ 7848.798 Starting udev Coldplug all Devices... [ 7848.817 Starting Journal Service... [ OK ] Started Journal Service. [ 7848.854222] s[ OK ] Reached target Slices. Starting Remount Root and Kernel File Systems... [ OK ] Mounted Configuration File System. Reported-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8d4e01637902311c5643b69a5c80e2805f04054 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Thu Apr 16 16:58:12 2015 +0200 tty/serial: at91: maxburst was missing for dma transfers Maxburst was not set when doing the dma slave configuration. This value is checked by the recently introduced xdmac. It causes an error when doing the slave configuration and so prevents from using dma. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.12 and later Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6befa9d883385c580369a2cc9e53fbf329771f6d Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Tue Apr 14 12:03:09 2015 +0200 serial: of-serial: Remove device_type = "serial" registration Do not probe all serial drivers by of_serial.c which are using device_type = "serial"; property. Only drivers which have valid compatible strings listed in the driver should be probed. When PORT_UNKNOWN is setup probe will fail anyway. Arnd quotation about driver historical background: "when I wrote that driver initially, the idea was that it would get used as a stub to hook up all other serial drivers but after that, the common code learned to create platform devices from DT" This patch fix the problem with on the system with xilinx_uartps and 16550a where of_serial failed to register for xilinx_uartps and because of irq_dispose_mapping() removed irq_desc. Then when xilinx_uartps was asking for irq with request_irq() EINVAL is returned. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c90c07b98c02198d9777a7c4f3047b0a94bf7ed Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Apr 13 16:34:21 2015 +0200 serial: xilinx: Use platform_get_irq to get irq description structure For systems with CONFIG_SERIAL_OF_PLATFORM=y and device_type = "serial"; property in DT of_serial.c driver maps and unmaps IRQ (because driver probe fails). Then a driver is called but irq mapping is not created that's why driver is failing again in again on request_irq(). Based on this use platform_get_irq() instead of platform_get_resource() which is doing irq_desc allocation and driver itself can request IRQ. Fix both xilinx serial drivers in the tree. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10afbe346bba125e2eedfd1a89b7bd5c92900859 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 10:05:07 2015 -0400 serial: core: Fix kernel-doc build warnings Fix uart_console_write() kernel-doc build warnings. Warning(drivers/tty/serial/serial_core.c:1778): No description found for parameter 'putchar' Warning(drivers/tty/serial/serial_core.c:1778): Excess function parameter 'write' description in 'uart_console_write' Fixes: 1cfe42b7fd29 ("serial: core: Fix kernel doc for uart_console_write()") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b00f5c2dc01450bed9fed1a41a637fa917e03c5c Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Fri Apr 10 15:13:05 2015 +0200 tty: Re-add external interface for tty_set_termios() This is needed by Bluetooth hci_uart module to be able to change speed of Bluetooth controller and local UART. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7afe89fd67d40a7f5fff8130c5f925d99a94b1f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Apr 21 09:21:46 2015 +0200 iwlwifi: mvm: force quota update update after FW restart During firmware restart, the quota command isn't calculated multiple times, but after the firmware restart it has to be sent, so force it. Otherwise the firmware crashes. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6bbd5521edd3896190f5c0581f059b7c93daf670 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Apr 28 15:00:23 2015 +0300 iwlwifi: mvm: fix typo in CONFIG option I forgot to rename the CPTCFG_ prefix... Fixes: 484b3d13b4ac ("iwlwifi: mvm: add debugfs entry with the number of net-detect scans") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 8d193ca26cc28019e760b77830295a0c349d90dc Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Mon Apr 27 10:29:31 2015 +0300 iwlwifi: mvm: don't power off the device between INIT and OPER firmwares Our device needs two different firmwares: the INIT firmware and the operational (OPER) firmware. The first one is run when the driver loads and it returns calibrations results as well as the NVM. The second one implements the WiFi protocol. If the wlan interface is not brought up, the device is put to low power state: no firmware will be running. When the interface is brought up, we would run the OPER firmware only and reuse the results of the run of the INIT firmware when the driver was loaded. This is changing with this patch. We now run the INIT firmware every time mac80211 calls start(). The penalty for that is minimal since the INIT firwmare run fast. I now also avoid to power down the device between the INIT and OPER firmware on certains buses. The motivation for this change is that there are components on the device (MFUART) that are triggered by the INIT firmware and need the device to be powered up in order to keep running. Powering the device down between the INIT and OPER firmware would stop these components and prevent them from running again since they are triggered by the INIT firmware only. The new flow allows this and also allows to trigger these components again when the interface is brought up after it has been brought down. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit fefad2d54beb8aad6bf4ac6daeb74f86f52565de Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Apr 12 09:09:05 2015 -0300 [media] v4l: omap4iss: Replace outdated OMAP4 control pad API with syscon The omap4_ctrl_pad_readl and omap4_ctrl_pad_writel functions have been removed by commit efde234674d9 but are still used by the OMAP4 ISS driver, resulting in a compilation breakage: drivers/staging/media/omap4iss/iss_csiphy.c: In function 'omap4iss_csiphy_config': drivers/staging/media/omap4iss/iss_csiphy.c:167:2: error: implicit declaration of function 'omap4_ctrl_pad_writel' [-Werror=implicit-function-declaration] omap4_ctrl_pad_writel(cam_rx_ctrl, Fix the problem by using the syscon API to reaplace the control pad API. Lookup the syscon instance by compatible name for now as the OMAP4 ISS driver doesn't support DT yet. Fixes: efde234674d9 ("ARM: OMAP4+: control: remove support for legacy pad read/write") Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Alius <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 414b7e3b9ce8b0577f613e656fdbc36b34b444dd Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Apr 24 11:03:37 2015 -0500 rtlwifi: rtl8192cu: Fix kernel deadlock The USB mini-driver in rtlwifi, which is used by rtl8192cu, issues a call to usb_control_msg() with a timeout value of 0. In some instances where the interface is shutting down, this infinite wait results in a CPU deadlock. A one second timeout fixes this problem without affecting any normal operations. This bug is reported at https://bugzilla.novell.com/show_bug.cgi?id=927786. Reported-by: Bernhard Wiedemann <bwiedemann@xxxxxxxx> Tested-by: Bernhard Wiedemann <bwiedemann@xxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> Cc: Bernhard Wiedemann <bwiedemann@xxxxxxxx> Cc: Takashi Iwai<tiwai@xxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0d3bba0287d4e284c3ec7d3397e81eec920d5e7e Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Tue Apr 14 11:25:43 2015 +0200 cdc-acm: prevent infinite loop when parsing CDC headers. Phil and I found out a problem with commit: 7e860a6e7aa6 ("cdc-acm: add sanity checks") It added some sanity checks to ignore potential garbage in CDC headers but also introduced a potential infinite loop. This can happen at the first loop iteration (elength = 0 in that case) if the description isn't a DT_CS_INTERFACE or later if 'buffer[0]' is zero. It should also be noted that the wrong length was being added to 'buffer' in case 'buffer[1]' was not a DT_CS_INTERFACE descriptor, since elength was assigned after that check in the loop. A specially crafted USB device could be used to trigger this infinite loop. Fixes: 7e860a6e7aa6 ("cdc-acm: add sanity checks") Signed-off-by: Phil Turnbull <phil.turnbull@xxxxxxxxxx> Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> CC: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> CC: Oliver Neukum <oneukum@xxxxxxx> CC: Adam Lee <adam8157@xxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb304b71f8dbcb284f0f876dfb4eecbadf079773 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Apr 27 15:27:36 2015 +0300 Revert "usb: host: ehci-msm: Use devm_ioremap_resource instead of devm_ioremap" This reverts commit 70843f623b58 ("usb: host: ehci-msm: Use devm_ioremap_resource instead of devm_ioremap") and commit e507bf577e5a ("host: ehci-msm: remove duplicate check on resource"), because msm_otg and this driver are using same address space to access AHB mode and USB command registers. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Acked-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5a356cee89f86ff86cc3ce24136ca1f802c1bf1 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Sun Apr 12 17:51:02 2015 +0800 usb: chipidea: otg: remove mutex unlock and lock while stop and start role Wrongly release mutex lock during otg_statemachine may result in re-enter otg_statemachine, which is not allowed, we should do next state transtition after previous one completed. Fixes: 826cfe751f3e ("usb: chipidea: add OTG fsm operation functions implementation") Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e779c6c4a398763c21371fe40f649206041dc1e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 21 11:20:32 2015 +0200 uas: Set max_sectors_240 quirk for ASM1053 devices Testing has shown that ASM1053 devices do not work properly with transfers larger than 240 sectors, so set max_sectors to 240 on these. Cc: stable@xxxxxxxxxxxxxxx # 3.16 Reported-by: Steve Bangert <sbangert@xxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Tested-by: Steve Bangert <sbangert@xxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee136af4a064c2f61e2025873584d2c7ec93f4ae Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 21 11:20:31 2015 +0200 uas: Add US_FL_MAX_SECTORS_240 flag The usb-storage driver sets max_sectors = 240 in its scsi-host template, for uas we do not want to do that for all devices, but testing has shown that some devices need it. This commit adds a US_FL_MAX_SECTORS_240 flag for such devices, and implements support for it in uas.c, while at it it also adds support for US_FL_MAX_SECTORS_64 to uas.c. Cc: stable@xxxxxxxxxxxxxxx # 3.16 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5011d44f0e1117a6db14b19b57c51f8be5673a0 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 21 11:20:30 2015 +0200 uas: Allow uas_use_uas_driver to return usb-storage flags uas_use_uas_driver may set some US_FL_foo flags during detection, currently these are stored in a local variable and then throw away, but these may be of interest to the caller, so add an extra parameter to (optionally) return the detected flags, and use this in the uas driver. Cc: stable@xxxxxxxxxxxxxxx # 3.16 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39376ccb1968ba9f83e2a880a8bf02ad5dea44e1 Merge: 876a7ae 547c4b5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 27 23:12:34 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Pablo Neira Ayuso says: ==================== Netfilter fixes for net The following patchset contains Netfilter fixes for your net tree, they are: 1) Fix a crash in nf_tables when dictionaries are used from the ruleset, due to memory corruption, from Florian Westphal. 2) Fix another crash in nf_queue when used with br_netfilter. Also from Florian. Both fixes are related to new stuff that got in 4.0-rc. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 876a7ae65b86d8cec8efe7d15d050ac61116874e Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Apr 27 14:40:37 2015 -0700 bpf: fix 64-bit divide ALU64_DIV instruction should be dividing 64-bit by 64-bit, whereas do_div() does 64-bit by 32-bit divide. x64 and arm64 JITs correctly implement 64 by 64 unsigned divide. llvm BPF backend emits code assuming that ALU64_DIV does 64 by 64. Fixes: 89aa075832b0 ("net: sock: allow eBPF programs to be attached to sockets") Reported-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e046d68ba719a5bb95912c154c6314472edccfa Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Mon Apr 27 14:12:43 2015 -0400 net: netcp: remove call to netif_carrier_(on/off) for MAC to Phy interface Currently when interface type is MAC to Phy, netif_carrier_(on/off) is called which is not needed as Phy lib already updates the carrier status to net stack. This is needed only for other interface types Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68ce9a1f24b8e8894955032a4af74998315be9fe Author: Shawn Guo <shawn.guo@xxxxxxxxxx> Date: Tue Apr 28 09:05:21 2015 +0800 ARM: dts: imx6qdl-sabreauto: remove pinctrl-assert-gpios The pinctrl-assert-gpios is an invalid pinctrl property. It was probably sneaked from vendor tree. Remove it. Fixes: 4e18a2243a87 ("ARM: imx6qdl-sabreauto.dtsi: add max7310 support") Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 2decb2682f80759f631c8332f9a2a34a02150a03 Merge: b787f68 22a8f23 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 27 14:05:19 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) mlx4 doesn't check fully for supported valid RSS hash function, fix from Amir Vadai 2) Off by one in ibmveth_change_mtu(), from David Gibson 3) Prevent altera chip from reporting false error interrupts in some circumstances, from Chee Nouk Phoon 4) Get rid of that stupid endless loop trying to allocate a FIN packet in TCP, and in the process kill deadlocks. From Eric Dumazet 5) Fix get_rps_cpus() crash due to wrong invalid-cpu value, also from Eric Dumazet 6) Fix two bugs in async rhashtable resizing, from Thomas Graf 7) Fix topology server listener socket namespace bug in TIPC, from Ying Xue 8) Add some missing HAS_DMA kconfig dependencies, from Geert Uytterhoeven 9) bgmac driver intends to force re-polling but does so by returning the wrong value from it's ->poll() handler. Fix from RafaÅ? MiÅ?ecki 10) When the creater of an rhashtable configures a max size for it, don't bark in the logs and drop insertions when that is exceeded. Fix from Johannes Berg 11) Recover from out of order packets in ppp mppe properly, from Sylvain Rochet * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (41 commits) bnx2x: really disable TPA if 'disable_tpa' option is set net:treewide: Fix typo in drivers/net net/mlx4_en: Prevent setting invalid RSS hash function mdio-mux-gpio: use new gpiod_get_array and gpiod_put_array functions netfilter; Add some missing default cases to switch statements in nft_reject. ppp: mppe: discard late packet in stateless mode ppp: mppe: sanity error path rework net/bonding: Make DRV macros private net: rfs: fix crash in get_rps_cpus() altera tse: add support for fixed-links. pxa168: fix double deallocation of managed resources net: fix crash in build_skb() net: eth: altera: Resolve false errors from MSGDMA to TSE ehea: Fix memory hook reference counting crashes net/tg3: Release IRQs on permanent error net: mdio-gpio: support access that may sleep inet: fix possible panic in reqsk_queue_unlink() rhashtable: don't attempt to grow when at max_size bgmac: fix requests for extra polling calls from NAPI tcp: avoid looping in tcp_send_fin() ... commit 53f9b3baa937e0cbdd75ea11b3c824462e4359b2 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Apr 21 12:19:49 2015 +0800 ASoC: rt5645: Fix mask for setting RT5645_DMIC_2_DP_GPIO12 bit Current code uses wrong mask when setting RT5645_DMIC_2_DP_GPIO12 bit, fix it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5a9b06a27db6b006605421658418fb8943a6e217 Author: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Date: Sun Mar 29 10:04:56 2015 -0300 [media] media: soc_camera: rcar_vin: Fix wait_for_completion When stopping abnormally, a driver can't return from wait_for_completion. This patch resolved this problem by changing wait_for_completion_timeout from wait_for_completion. Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2a700d8edffdbfb8200332d96c3147e042b337f1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Apr 13 11:18:51 2015 -0300 [media] marvell-ccic: fix Y'CbCr ordering Various formats had their byte ordering implemented incorrectly, and the V4L2_PIX_FMT_UYVY is actually impossible to create, instead you get V4L2_PIX_FMT_YVYU. This was working before commit ad6ac452227b7cb93ac79beec092850d178740b1 ("add new formats support for marvell-ccic driver"). That commit broke the original format support and the OLPC XO-1 laptop showed wrong colors ever since (if you are crazy enough to attempt to run the latest kernel on it, like I did). The email addresses of the authors of that patch are no longer valid, so without a way to reach them and ask them about their test setup I am going with what I can test on the OLPC laptop. If this breaks something for someone on their non-OLPC setup, then contact the linux-media mailinglist. My suspicion however is that that commit went in untested. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.19 and up Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 22a8f237c0551bae95ffcd2a7ff17d6f5fcce7e7 Author: Michal Schmidt <mschmidt@xxxxxxxxxx> Date: Mon Apr 27 17:20:38 2015 +0200 bnx2x: really disable TPA if 'disable_tpa' option is set bnx2x's 'disable_tpa=1' module option is not respected properly and TPA (transparent packet aggregation) remains enabled. Even though the module option causes LRO to be disabled, TPA is enabled in GRO mode. Additionally, disabling GRO via ethtool then has no effect. One can still observe tpa_* statistics increase and large packets being received in tcpdump. The bug was an unintended consequence of commit aebf6244cd39 "bnx2x: Be more forgiving toward SW GRO". Fix it by following the bp->disable_tpa flag when initializing fp's. Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94435f764cc5838a7e94008f17628ad63384bf06 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Apr 27 23:14:57 2015 +0900 net:treewide: Fix typo in drivers/net This patch fix spelling typo in printk. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b37069090b7c5615610a8aa6b36533d67b364d38 Author: Amir Vadai <amirv@xxxxxxxxxxxx> Date: Mon Apr 27 13:40:56 2015 +0300 net/mlx4_en: Prevent setting invalid RSS hash function mlx4_en_check_rxfh_func() was checking for hardware support before setting a known RSS hash function, but didn't do any check before setting unknown RSS hash function. Need to make it fail on such values. In this occasion, moved the actual setting of the new value from the check function into mlx4_en_set_rxfh(). Fixes: 947cbb0 ("net/mlx4_en: Support for configurable RSS hash function") Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33df10e2ee414183953cc89453bf9c85027a188b Author: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Date: Mon Apr 27 10:37:31 2015 +0200 mdio-mux-gpio: use new gpiod_get_array and gpiod_put_array functions Use the new gpiod_get_array and gpiod_put_array functions (added to mainline in the v4.1 merge window) for obtaining and disposing of GPIO descriptors. Cc: David Miller <davem@xxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 129d23a56623eea0947a05288158d76dc7f2f0ac Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 27 13:20:34 2015 -0400 netfilter; Add some missing default cases to switch statements in nft_reject. This fixes: ==================== net/netfilter/nft_reject.c: In function â??nft_reject_dumpâ??: net/netfilter/nft_reject.c:61:2: warning: enumeration value â??NFT_REJECT_TCP_RSTâ?? not handled in switch [-Wswitch] switch (priv->type) { ^ net/netfilter/nft_reject.c:61:2: warning: enumeration value â??NFT_REJECT_ICMPX_UNREACHâ?? not handled in switch [-Wswi\ tch] net/netfilter/nft_reject_inet.c: In function â??nft_reject_inet_dumpâ??: net/netfilter/nft_reject_inet.c:105:2: warning: enumeration value â??NFT_REJECT_TCP_RSTâ?? not handled in switch [-Wswi\ tch] switch (priv->type) { ^ ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 118c855b5623f3e2e6204f02623d88c09e0c34de Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 23 09:48:51 2015 +0200 3w-9xxx: fix command completion race The 3w-9xxx driver needs to tear down the dma mappings before returning the command to the midlayer, as there is no guarantee the sglist and count are valid after that point. Also remove the dma mapping helpers which have another inherent race due to the request_id index. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx Acked-by: Adam Radford <aradford@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9cd9554615cba14f0877cc9972a6537ad2bdde61 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 23 09:48:50 2015 +0200 3w-xxxx: fix command completion race The 3w-xxxx driver needs to tear down the dma mappings before returning the command to the midlayer, as there is no guarantee the sglist and count are valid after that point. Also remove the dma mapping helpers which have another inherent race due to the request_id index. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx Acked-by: Adam Radford <aradford@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 579d69bc1fd56d5af5761969aa529d1d1c188300 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 23 09:48:49 2015 +0200 3w-sas: fix command completion race The 3w-sas driver needs to tear down the dma mappings before returning the command to the midlayer, as there is no guarantee the sglist and count are valid after that point. Also remove the dma mapping helpers which have another inherent race due to the request_id index. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reported-by: Torsten Luettgert <ml-lkml@xxxxxxx> Tested-by: Bernd Kardatzki <Bernd.Kardatzki@xxxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Acked-by: Adam Radford <aradford@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8c08a6215a432a8f3629da0e8ccfd534ffa480f5 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 23:27:50 2015 +0200 aha1542: Allocate memory before taking a lock The driver currently calls kmalloc with GFP_KERNEL while holding a lock. Fix it by doing the allocation earlier, before taking the lock. Tested on AHA-1542B. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1d90a685eb75a56648d7dd22c704a1a6da516de9 Author: Petr Holasek <pholasek@xxxxxxxxxx> Date: Thu Apr 16 17:38:19 2015 +0200 perf bench numa: Fix immediate meeting of convergence condition This patch fixes the race in the beginning of benchmark run when some threads hasn't got assigned curr_cpu yet so they don't occur in nodes-of-process stats and benchmark concludes that all remaining threads are converged already. The race can be reproduced with small amount of threads and some bigger amount of shared process memory, e.g. one process, two threads and 5GB of process memory. Signed-off-by: Petr Holasek <pholasek@xxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429198699-25039-4-git-send-email-pholasek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 24f1ced167e5e011040b4c3aae75aee45a79eed5 Author: Petr Holasek <pholasek@xxxxxxxxxx> Date: Thu Apr 16 17:38:17 2015 +0200 perf bench numa: Fixes of --quiet argument Corrected description and fixed function of --quiet argument. Signed-off-by: Petr Holasek <pholasek@xxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429198699-25039-2-git-send-email-pholasek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 052b0f6eaf8b1f02669884a177bc3ce463133a42 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Apr 24 10:00:48 2015 -0700 perf bench futex: Fix hung wakeup tasks after requeueing The futex-requeue benchmark can hang because of missing wakeups once the benchmark is done, ie: [Run 1]: Requeued 1024 of 1024 threads in 0.3290 ms perf: couldn't wakeup all tasks (135/1024) This bug, while perhaps suggesting missing wakeups in kernel futex code, is merely a consequence of the crappy FUTEX_CMP_REQUEUE man page, incorrectly mentioning that the number of requeued tasks is in fact returned, not the wakeups. This patch acknowledges this and updates the corresponding futex_wake code around it. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Link: http://lkml.kernel.org/r/1429894848.10273.44.camel@xxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d13855ef18e1852b2c4dc86ddf5759c5b34628cb Author: He Kuang <hekuang@xxxxxxxxxx> Date: Sat Apr 25 16:08:58 2015 +0800 perf probe: Fix bug with global variables handling There are missing curly braces which causes find_variable() return wrong value when probing with global variables. This problem can be reproduced as following: $ perf probe -v --add='generic_perform_write global_variable_for_test' ... Try to find probe point from debuginfo. Probe point found: generic_perform_write+0 Searching 'global_variable_for_test' variable in context. An error occurred in debuginfo analysis (-2). Error: Failed to add events. Reason: No such file or directory (Code: -2) After this patch: $ perf probe -v --add='generic_perform_write global_variable_for_test' ... Converting variable global_variable_for_test into trace event. global_variable_for_test type is int. Found 1 probe_trace_events. Opening /sys/kernel/debug/tracing/kprobe_events write=1 Added new event: Writing event: p:probe/generic_perform_write _stext+1237464 global_variable_for_test=@global_variable_for_test+0:s32 probe:generic_perform_write (on generic_perform_write with global_variable_for_test) You can now use it in all perf tools, such as: perf record -e probe:generic_perform_write -aR sleep 1 Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429949338-18678-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 35e9a9f93994d7f7d12afa41169c7ba05513721b Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Mon Apr 20 22:42:24 2015 -0500 SCSI: add 1024 max sectors black list flag This works around a issue with qnap iscsi targets not handling large IOs very well. The target returns: VPD INQUIRY: Block limits page (SBC) Maximum compare and write length: 1 blocks Optimal transfer length granularity: 1 blocks Maximum transfer length: 4294967295 blocks Optimal transfer length: 4294967295 blocks Maximum prefetch, xdread, xdwrite transfer length: 0 blocks Maximum unmap LBA count: 8388607 Maximum unmap block descriptor count: 1 Optimal unmap granularity: 16383 Unmap granularity alignment valid: 0 Unmap granularity alignment: 0 Maximum write same length: 0xffffffff blocks Maximum atomic transfer length: 0 Atomic alignment: 0 Atomic transfer length granularity: 0 and it is *sometimes* able to handle at least one IO of size up to 8 MB. We have seen in traces where it will sometimes work, but other times it looks like it fails and it looks like it returns failures if we send multiple large IOs sometimes. Also it looks like it can return 2 different errors. It will sometimes send iscsi reject errors indicating out of resources or it will send invalid cdb illegal requests check conditions. And then when it sends iscsi rejects it does not seem to handle retries when there are command sequence holes, so I could not just add code to try and gracefully handle that error code. The problem is that we do not have a good contact for the company, so we are not able to determine under what conditions it returns which error and why it sometimes works. So, this patch just adds a new black list flag to set targets like this to the old max safe sectors of 1024. The max_hw_sectors changes added in 3.19 caused this regression, so I also ccing stable. Reported-by: Christian Hesse <list@xxxxxxxx> Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6cd18e711dd8075da9d78cfc1239f912ff28968a Author: NeilBrown <neilb@xxxxxxx> Date: Mon Apr 27 14:12:22 2015 +1000 block: destroy bdi before blockdev is unregistered. Because of the peculiar way that md devices are created (automatically when the device node is opened), a new device can be created and registered immediately after the blk_unregister_region(disk_devt(disk), disk->minors); call in del_gendisk(). Therefore it is important that all visible artifacts of the previous device are removed before this call. In particular, the 'bdi'. Since: commit c4db59d31e39ea067c32163ac961e9c80198fd37 Author: Christoph Hellwig <hch@xxxxxx> fs: don't reassign dirty inodes to default_backing_dev_info moved the device_unregister(bdi->dev); call from bdi_unregister() to bdi_destroy() it has been quite easy to lose a race and have a new (e.g.) "md127" be created after the blk_unregister_region() call and before bdi_destroy() is ultimately called by the final 'put_disk', which must come after del_gendisk(). The new device finds that the bdi name is already registered in sysfs and complains > [ 9627.630029] WARNING: CPU: 18 PID: 3330 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x5a/0x70() > [ 9627.630032] sysfs: cannot create duplicate filename '/devices/virtual/bdi/9:127' We can fix this by moving the bdi_destroy() call out of blk_release_queue() (which can happen very late when a refcount reaches zero) and into blk_cleanup_queue() - which happens exactly when the md device driver calls it. Then it is only necessary for md to call blk_cleanup_queue() before del_gendisk(). As loop.c devices are also created on demand by opening the device node, we make the same change there. Fixes: c4db59d31e39ea067c32163ac961e9c80198fd37 Reported-by: Azat Khuzhin <a3at.mail@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx (v4.0) Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c671835021798c1c40ca0b55b49feff76ed5e0e1 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Sat Apr 25 07:25:03 2015 +0000 perf top: Fix a segfault when kernel map is restricted. Perf top raise a warning if a kernel sample is collected but kernel map is restricted. The warning message needs to dereference al.map->dso... However, previous perf_event__preprocess_sample() doesn't always guarantee al.map != NULL, for example, when kernel map is restricted. This patch validates al.map before dereferencing, avoid the segfault. Before this patch: $ cat /proc/sys/kernel/kptr_restrict 1 $ perf top -p 120183 perf: Segmentation fault -------- backtrace -------- /path/to/perf[0x509868] /lib64/libc.so.6(+0x3545f)[0x7f9a1540045f] /path/to/perf[0x448820] /path/to/perf(cmd_top+0xe3c)[0x44a5dc] /path/to/perf[0x4766a2] /path/to/perf(main+0x5f5)[0x42e545] /lib64/libc.so.6(__libc_start_main+0xf4)[0x7f9a153ecbd4] /path/to/perf[0x42e674] And gdb call trace: Program received signal SIGSEGV, Segmentation fault. perf_event__process_sample (machine=0xa44030, sample=0x7fffffffa4c0, evsel=0xa43b00, event=0x7ffff41c3000, tool=0x7fffffffa8a0) at builtin-top.c:736 736 !RB_EMPTY_ROOT(&al.map->dso->symbols[MAP__FUNCTION]) ? (gdb) bt #0 perf_event__process_sample (machine=0xa44030, sample=0x7fffffffa4c0, evsel=0xa43b00, event=0x7ffff41c3000, tool=0x7fffffffa8a0) at builtin-top.c:736 #1 perf_top__mmap_read_idx (top=top@entry=0x7fffffffa8a0, idx=idx@entry=0) at builtin-top.c:855 #2 0x000000000044a5dd in perf_top__mmap_read (top=0x7fffffffa8a0) at builtin-top.c:872 #3 __cmd_top (top=0x7fffffffa8a0) at builtin-top.c:997 #4 cmd_top (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin-top.c:1267 #5 0x00000000004766a3 in run_builtin (p=p@entry=0x8a6ce8 <commands+264>, argc=argc@entry=3, argv=argv@entry=0x7fffffffdf70) at perf.c:371 #6 0x000000000042e546 in handle_internal_command (argv=0x7fffffffdf70, argc=3) at perf.c:430 #7 run_argv (argv=0x7fffffffdcf0, argcp=0x7fffffffdcfc) at perf.c:474 #8 main (argc=3, argv=0x7fffffffdf70) at perf.c:589 (gdb) Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429946703-80807-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9fb2bcf928ed5c664affaeb7edf9cc19f590b9f3 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Apr 27 17:04:37 2015 +0200 drm/radeon: fix userptr return value checking (v2) Otherwise we print false warning from time to time. v2: agd5f: rebase Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Jack Xiao <Jack.Xiao@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c29c0876ec05d51a93508a39b90b92c29ba6423d Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Apr 27 17:04:36 2015 +0200 drm/radeon: check new address before removing old one Otherwise the change isn't atomic. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 48afbd70ac7b6aa62e8d452091023941d8085f8a Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Apr 27 17:04:35 2015 +0200 drm/radeon: reset BOs address after clearing it. Otherwise it is possible that we will have page table corruption if we change a BOs address multiple times. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 26d4d129b6042197b4cbc8341c0618f99231af2f Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Apr 27 17:04:34 2015 +0200 drm/radeon: fix lockup when BOs aren't part of the VM on release If we unmap BOs before releasing them them the intervall tree locks up because we try to remove an entry not inside the tree. Based on a patch from Michel Dänzer. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 393a33970540ac6a2c894b0d6ef3f5d485860884 Author: Wang YanQing <udknight@xxxxxxxxx> Date: Sun Apr 26 16:43:31 2015 +0800 block:bounce: fix call inc_|dec_zone_page_state on different pages confuse value of NR_BOUNCE Commit d2c5e30c9a1420902262aa923794d2ae4e0bc391 ("[PATCH] zoned vm counters: conversion of nr_bounce to per zone counter") convert statistic of nr_bounce to per zone and one global value in vm_stat, but it call inc_|dec_zone_page_state on different pages, then different zones, and cause us to get unexpected value of NR_BOUNCE. Below is the result on my machine: Mar 2 09:26:08 udknight kernel: [144766.778265] Mem-Info: Mar 2 09:26:08 udknight kernel: [144766.778266] DMA per-cpu: Mar 2 09:26:08 udknight kernel: [144766.778268] CPU 0: hi: 0, btch: 1 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778269] CPU 1: hi: 0, btch: 1 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778270] Normal per-cpu: Mar 2 09:26:08 udknight kernel: [144766.778271] CPU 0: hi: 186, btch: 31 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778273] CPU 1: hi: 186, btch: 31 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778274] HighMem per-cpu: Mar 2 09:26:08 udknight kernel: [144766.778275] CPU 0: hi: 186, btch: 31 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778276] CPU 1: hi: 186, btch: 31 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778279] active_anon:46926 inactive_anon:287406 isolated_anon:0 Mar 2 09:26:08 udknight kernel: [144766.778279] active_file:105085 inactive_file:139432 isolated_file:0 Mar 2 09:26:08 udknight kernel: [144766.778279] unevictable:653 dirty:0 writeback:0 unstable:0 Mar 2 09:26:08 udknight kernel: [144766.778279] free:178957 slab_reclaimable:6419 slab_unreclaimable:9966 Mar 2 09:26:08 udknight kernel: [144766.778279] mapped:4426 shmem:305277 pagetables:784 bounce:0 Mar 2 09:26:08 udknight kernel: [144766.778279] free_cma:0 Mar 2 09:26:08 udknight kernel: [144766.778286] DMA free:3324kB min:68kB low:84kB high:100kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15976kB managed:15900kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes Mar 2 09:26:08 udknight kernel: [144766.778287] lowmem_reserve[]: 0 822 3754 3754 Mar 2 09:26:08 udknight kernel: [144766.778293] Normal free:26828kB min:3632kB low:4540kB high:5448kB active_anon:4872kB inactive_anon:68kB active_file:1796kB inactive_file:1796kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:892920kB managed:842560kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:4144kB slab_reclaimable:25676kB slab_unreclaimable:39864kB kernel_stack:1944kB pagetables:3136kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:2412612 all_unreclaimable? yes Mar 2 09:26:08 udknight kernel: [144766.778294] lowmem_reserve[]: 0 0 23451 23451 Mar 2 09:26:08 udknight kernel: [144766.778299] HighMem free:685676kB min:512kB low:3748kB high:6984kB active_anon:182832kB inactive_anon:1149556kB active_file:418544kB inactive_file:555932kB unevictable:2612kB isolated(anon):0kB isolated(file):0kB present:3001732kB managed:3001732kB mlocked:0kB dirty:0kB writeback:0kB mapped:17704kB shmem:1216964kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:75771152kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no Mar 2 09:26:08 udknight kernel: [144766.778300] lowmem_reserve[]: 0 0 0 0 You can see bounce:75771152kB for HighMem, but bounce:0 for lowmem and global. This patch fix it. Signed-off-by: Wang YanQing <udknight@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4ada77e37a773168fea484899201e272ab44ba8b Author: Marek Vasut <marex@xxxxxxx> Date: Fri Apr 24 13:29:47 2015 +0200 ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name Fix a typo in the TX DMA interrupt name for AUART4. This patch makes AUART4 operational again. Signed-off-by: Marek Vasut <marex@xxxxxxx> Fixes: f30fb03d4d3a ("ARM: dts: add generic DMA device tree binding for mxs-dma") Cc: stable@xxxxxxxxxxxxxxx Acked-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit f90d3f0d0a11fa77918fd5497cb616dd2faa8431 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Apr 24 09:27:33 2015 +0200 ARM: dts: imx25: Add #pwm-cells to pwm4 The property '#pwm-cells' is currently missing. It is not possible to use pwm4 without this property. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Fixes: 5658a68fb578 ("ARM i.MX25: Add devicetree") Cc: <stable@xxxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 30e5f003ff4b2be86f71733b6c9b11355d66584c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 16:39:19 2015 +0200 ALSA: hda - Fix missing va_end() call in snd_hda_codec_pcm_new() Reported by coverity CID 1296024. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7f8d49dcc66a3dd3a8fc3078330b8fb9e616ad3f Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Apr 21 15:59:53 2015 +0200 ARM: dts: imx6: phyFLEX: USB VBUS control is active-high The fixed-regulator bindings require a separate property enable-active-high, the standard gpio phandle property polarity setting is ignored. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Fixes: 4fe69a934b1f ("ARM: dts: Add Phytec pfla02 with i.MX6 DualLite/Solo") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit cd17e02ff4db58ec32d35cf331c705d295779930 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Apr 27 09:51:43 2015 -0400 drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5 Seems to have problems with high mclks. bug: https://bugs.freedesktop.org/show_bug.cgi?id=76490 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 7fe04d6fa824ccea704535a597dc417c8687f990 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Sun Apr 19 12:01:00 2015 -0400 drm/radeon: adjust pll when audio is not enabled Fixes display problems with some monitors when audio is not enabled. Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=89505 https://bugzilla.kernel.org/show_bug.cgi?id=94171 Plus several reports on IRC. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 38aef1549b18539eaecd804383a6ccb6588a9ce1 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Apr 7 10:20:49 2015 -0400 drm/radeon: only enable audio streams if the monitor supports it Selectively enable which packets we send based on monitor caps. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 0f55db36d49d45b80eff0c0a2a498766016f458b Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Apr 7 09:52:42 2015 -0400 drm/radeon: only mark audio as connected if the monitor supports it (v3) Otherwise the driver may try and send audio which may confuse the monitor. v2: set pin to NULL if no audio v3: avoid crash with analog encoders Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 362ff251390f3d1f8fe94666f4fc4e5876381114 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Mar 31 11:43:12 2015 -0400 drm/radeon/audio: don't enable packets until the end Don't enable the audio and avi infoframes and audio stream until all the state is set up. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 12428327bbd1180b5d8ef83fdf9482b878d0502a Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Mar 31 11:38:48 2015 -0400 drm/radeon: drop dce6_dp_enable It's mostly duplicated with evergreen_dp_enable. This is a prerequisite for fix implemented in another patch. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 304f07e9c8d302cf3183248cbabb40598eb5b732 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Mar 31 10:33:05 2015 -0400 drm/radeon: fix ordering of AVI packet setup Set the line first, then enable the stream. May fix pink line problems on some displays. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b421ed15d2c3039eb724680e4de1e4b2bd196a9a Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Thu Apr 16 11:17:27 2015 +0900 drm/radeon: Use drm_calloc_ab for CS relocs The number of relocs is passed in by userspace and can be large. It has been observed to cause kcalloc failures in the wild. Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 73459e2a1ada09a68c02cc5b73f3116fc8194b3d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 23 13:20:18 2015 +0200 x86: pvclock: Really remove the sched notifier for cross-cpu migrations This reverts commits 0a4e6be9ca17c54817cf814b4b5aa60478c6df27 and 80f7fdb1c7f0f9266421f823964fd1962681f6ce. The task migration notifier was originally introduced in order to support the pvclock vsyscall with non-synchronized TSC, but KVM only supports it with synchronized TSC. Hence, on KVM the race condition is only needed due to a bad implementation on the host side, and even then it's so rare that it's mostly theoretical. As far as KVM is concerned it's possible to fix the host, avoiding the additional complexity in the vDSO and the (re)introduction of the task migration notifier. Xen, on the other hand, hasn't yet implemented vsyscall support at all, so we do not care about its plans for non-synchronized TSC. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Suggested-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5dca0d9147458be9b9363b8a484aa77d710b412a Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Wed Mar 25 12:08:14 2015 +0100 kvm: x86: fix kvmclock update protocol The kvmclock spec says that the host will increment a version field to an odd number, then update stuff, then increment it to an even number. The host is buggy and doesn't do this, and the result is observable when one vcpu reads another vcpu's kvmclock data. There's no good way for a guest kernel to keep its vdso from reading a different vcpu's kvmclock data, but we don't need to care about changing VCPUs as long as we read a consistent data from kvmclock. (VCPU can change outside of this loop too, so it doesn't matter if we return a value not fit for this VCPU.) Based on a patch by Radim KrÄ?máÅ?. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dc391502fdbf97a9cabdc58ba8c915175383f681 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Fri Apr 17 17:50:49 2015 +0300 pinctrl: qcom-spmi: Fix pin direction configuration Pin direction configuration was incorrectly overwritten by output and function values in set_mux(). Fix this. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a526973e0291b245aefe12023a7f775f3c0e59a2 Author: Andrew Andrianov <andrew@xxxxxxxxxx> Date: Sat Apr 11 23:29:19 2015 +0300 pinctrl: mvebu: Fix mapping of pin 63 (gpo -> gpio) Signed-off-by: Andrew Andrianov <andrew@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a4811622fea15fdc78102069f573061fc87f3570 Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Fri Apr 10 06:25:10 2015 +0800 gpiolib: change gpio pin from unsigned to signed in acpi callback The signed error will be wrongly used as valid gpio offset Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 07b0e5d49d227e3950cb13a3e8caf248ef2a310e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 14:50:39 2015 +0200 ALSA: emux: Fix mutex deadlock at unloading The emux-synth driver has a possible AB/BA mutex deadlock at unloading the emu10k1 driver: snd_emux_free() -> snd_emux_detach_seq(): mutex_lock(&emu->register_mutex) -> snd_seq_delete_kernel_client() -> snd_seq_free_client(): mutex_lock(®ister_mutex) snd_seq_release() -> snd_seq_free_client(): mutex_lock(®ister_mutex) -> snd_seq_delete_all_ports() -> snd_emux_unuse(): mutex_lock(&emu->register_mutex) Basically snd_emux_detach_seq() doesn't need a protection of emu->register_mutex as it's already being unregistered. So, we can get rid of this for avoiding the deadlock. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 61b8c7b58450846b63b35e90866d2eb4fde44834 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 15:51:38 2015 +0200 ARM: mach-imx: devices: platform-sdhci-esdhc-imx: fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 0fdebe1a2f4d3a8fc03754022fabf8ba95e131a3 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Tue Apr 14 20:37:26 2015 +0000 ARM: dts: imx23-olinuxino: Fix dr_mode of usb0 The dr_mode of usb0 on imx233-olinuxino is left to default "otg". Since the green LED (GPIO2_1) on imx233-olinuxino is connected to the same pin as USB_OTG_ID it's possible to disable USB host by LED toggling: echo 0 > /sys/class/leds/green/brightness [ 1068.890000] ci_hdrc ci_hdrc.0: remove, state 1 [ 1068.890000] usb usb1: USB disconnect, device number 1 [ 1068.920000] usb 1-1: USB disconnect, device number 2 [ 1068.920000] usb 1-1.1: USB disconnect, device number 3 [ 1069.070000] usb 1-1.2: USB disconnect, device number 4 [ 1069.450000] ci_hdrc ci_hdrc.0: USB bus 1 deregistered [ 1074.460000] ci_hdrc ci_hdrc.0: timeout waiting for 00000800 in 11 This patch fixes the issue by setting dr_mode to "host" in the dts file. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Fixes: b49312948285 ("ARM: dts: imx23-olinuxino: Add USB host support") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit cfe8c59762244251fd9a5e281d48808095ff4090 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Apr 14 11:05:04 2015 -0300 ARM: dts: imx23-olinuxino: Fix polarity of LED GPIO On imx23-olinuxino the LED turns on when level logic high is aplied to GPIO2_1. Fix the gpios property accordingly. Fixes: b34aa1850244 ("ARM: dts: imx23-olinuxino: Remove unneeded "default-on"") Reported-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit d02260824e2cad626fb2a9d62e27006d34b6dedc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 13:00:09 2015 +0200 ALSA: emu10k1: Fix card shortname string buffer overflow Some models provide too long string for the shortname that has 32bytes including the terminator, and it results in a non-terminated string exposed to the user-space. This isn't too critical, though, as the string is stopped at the succeeding longname string. This patch fixes such entries by dropping "SB" prefix (it's enough to fit within 32 bytes, so far). Meanwhile, it also changes strcpy() with strlcpy() to make sure that this kind of problem won't happen in future, too. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b44166cd46e28dd608d5baa5873047a40f32919c Author: Bob Liu <bob.liu@xxxxxxxxxx> Date: Fri Apr 3 14:42:59 2015 +0800 xen/grant: introduce func gnttab_unmap_refs_sync() There are several place using gnttab async unmap and wait for completion, so move the common code to a function gnttab_unmap_refs_sync(). Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 325d73bf8fea8af2227240b7305253fb052d3a68 Author: Bob Liu <bob.liu@xxxxxxxxxx> Date: Fri Apr 3 14:42:58 2015 +0800 xen/blkback: safely unmap purge persistent grants Commit c43cf3ea8385 ("xen-blkback: safely unmap grants in case they are still in use") use gnttab_unmap_refs_async() to wait until the mapped pages are no longer in use before unmapping them, but that commit missed the persistent case. Purge persistent pages can't be unmapped either unless no longer in use. Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 6829e274a623187c24f7cfc0e3d35f25d087fcc5 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Apr 23 12:46:16 2015 +0100 arm64: dma-mapping: always clear allocated buffers Buffers allocated by dma_alloc_coherent() are always zeroed on Alpha, ARM (32bit), MIPS, PowerPC, x86/x86_64 and probably other architectures. It turned out that some drivers rely on this 'feature'. Allocated buffer might be also exposed to userspace with dma_mmap() call, so clearing it is desired from security point of view to avoid exposing random memory to userspace. This patch unifies dma_alloc_coherent() behavior on ARM64 architecture with other implementations by unconditionally zeroing allocated buffer. Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6544e67bfb1bf55bcf3c0f6b37631917e9acfb74 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Apr 22 18:16:33 2015 +0100 ARM64: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL Since several interrupt controllers including GIC support both edge and level triggered interrupts, it's useful to provide that information in /proc/interrupts even on ARM64 similar to ARM and PPC. This is based on Geert Uytterhoeven's commit 7c07005eea96 ("ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL") Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 878a84d5a8a18a4ab241d40cebb791d6aedf5605 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Mon Apr 20 11:14:19 2015 +0100 arm64: add missing data types in smp_load_acquire/smp_store_release Commit 8053871d0f7f ("smp: Fix smp_call_function_single_async() locking") introduced a call to smp_load_acquire() with a u16 argument, but we only cared about u32 and u64 types in that function so far. This resulted in a compiler warning fortunately, pointing at an uninitialized use. Due to the implementation structure the compiler misses that bug in the smp_store_release(), though. Add the u16 and u8 variants using ldarh/stlrh and ldarb/stlrb, respectively. Together with the compiletime_assert_atomic_type() check this should cover all cases now. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 7290006d8c0900c56d8c58428134f02c35109d17 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 10:40:45 2015 +0200 ALSA: hda - Add mute-LED mode control to Thinkpad This patch adds the missing flag to enable "Mute-LED Mode" mixer enum ctl for Thinkpads that have also the software mute-LED control. Reported-and-tested-by: Pali Rohár <pali.rohar@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ee52e56e7b12834476cd0031c5986254ba1b6317 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 10:36:11 2015 +0200 ALSA: hda - Fix mute-LED fixed mode The mute-LED mode control has the fixed on/off states that are supposed to remain on/off regardless of the master switch. However, this doesn't work actually because the vmaster hook is called in the vmaster code itself. This patch fixes it by calling the hook indirectly after checking the mute LED mode. Reported-and-tested-by: Pali Rohár <pali.rohar@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3e1b0c4a9d563d7fc6e22dc92613cd3237bb5ce0 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 10:43:22 2015 +0200 ALSA: hda - Fix click noise at start on Dell XPS13 Dell XPS13 produces a click noise at boot up, and Gabriele spotted out that it's triggered by the initial pin control of the mic (NID 0x19). This has to be set to Hi-Z Vref while the driver initializes to Vref 80% as a normal mic. This patch fixes the generic parser code not to override the target vref if it has been already set by the driver, and adds a proper initialization of the target vref for this pin in the Realtek driver side. Reported-and-tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 750e30d4076ae5e02ad13a376e96c95a2627742c Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 11:50:13 2015 +0200 ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC There is no crystal connected to the internal RTC on the Open Block AX3. So let's disable it in order to prevent the kernel probing the driver uselessly. Eventually this patches removes the following warning message from the boot log: "rtc-mv d0010300.rtc: internal RTC not ticking" Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.8 + commit 11133db7a836b0cb411faa048f07a38e994d1382 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Apr 20 16:02:33 2015 +0200 ARM: ux500: Enable GPIO regulator for SD-card for snowball Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f9a8c3914ba85f19c3360b19612d77c47adb8942 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Apr 20 16:02:32 2015 +0200 ARM: ux500: Enable GPIO regulator for SD-card for HREF boards Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 53d2669844263fd5fdc70f0eb6a2eb8a21086d8e Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Apr 20 16:02:31 2015 +0200 ARM: ux500: Move GPIO regulator for SD-card into board DTSs The GPIO regulator for the SD-card isn't a ux500 SOC configuration, but instead it's specific to the board. Move the definition of it, into the board DTSs. Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 00170528f0486c08a18475af7fefa0a7679e042d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 19 18:46:46 2015 +0100 drivers: sh: Remove test for now unsupported sh7372 Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 230f259ffe4ad6d334bb100ce1c0c6a73ff18989 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:43:03 2015 +0100 drivers: sh: Disable PM runtime for multi-platform r8a73a4 with genpd If the default PM domain using PM_CLK is used for PM runtime, the real PM domain(s) cannot be registered from DT later. Hence do not enable it when running a multi-platform kernel with genpd support on an r8a73a4. The R-Mobile PM domain driver will take care of PM runtime management of the module clocks. The default PM domain is still needed for: - platforms without genpd support, - the legacy (non-DT) case, where genpd may take over later, except for the C5 "always on" PM domain. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 41b4b3bc7905615f7617c88bf9cf4b3b04bda78f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:31:39 2015 +0100 drivers: sh: Disable PM runtime for multi-platform sh73a0 with genpd If the default PM domain using PM_CLK is used for PM runtime, the real PM domain(s) cannot be registered from DT later. Hence do not enable it when running a multi-platform kernel with genpd support on an sh73a0. The R-Mobile PM domain driver will take care of PM runtime management of the module clocks. The default PM domain is still needed for: - platforms without genpd support, - the legacy (non-DT) case, where genpd may take over later, except for the C5 "always on" PM domain. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8e9b29cc716c7940f9ad1d635fb3f725435b8ae9 Merge: 73b5a6f 0365476 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 26 23:25:13 2015 -0400 Merge branch 'ppp_mppe_desync' Sylvain Rochet says: ==================== ppp: mppe: fixes MPPE desync on links which don't guarantee packet ordering I am currently having an issue with PPP over L2TP (UDP) and MPPE in stateless mode (default mode), UDP does not guarantee packet ordering so we might get out of order packet. MPPE needs to be continuously synched so we should drop late UDP packet. I added a printk on the number of time we rekeyed in MPPE decompressor, this is what we currently have if we receive a slightly out of order UDP packet: [1731001.049206] mppe_decompress[1]: ccount 1559 [1731001.049216] mppe_decompress[1]: rekeyed 1 times [1731001.049228] mppe_decompress[1]: ccount 1560 [1731001.049232] mppe_decompress[1]: rekeyed 1 times [1731001.050170] mppe_decompress[1]: ccount 1562 [1731001.050182] mppe_decompress[1]: rekeyed 2 times [1731001.050191] mppe_decompress[1]: ccount 1561 [1731001.062576] mppe_decompress[1]: rekeyed 4095 times ^^^^ This is obviously wrong, we missed packet 1561 and we already rekeyed 2 times for 1562 we previously received, we can't recover the decryption key we need for 1561, we should drop it instead of rekeying 4095 times. This patch series drop any packet with are not within the 4096/2 forward window. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03654763148f9a3878b8b70c30d1ffce2fca3dff Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Sun Apr 26 20:40:53 2015 +0200 ppp: mppe: discard late packet in stateless mode When PPP is used over a link which does not guarantee packet ordering, we might get late MPPE packets. This is a problem because MPPE must be kept synchronized and the current implementation does not drop them and rekey 4095 times instead of 0, which is wrong. In order to prevent rekeying about a whole count space times (~ 4095 times), drop packets which are not within the forward 4096/2 window and increase sanity error counter. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 325301892a2d348323e09598ae108ba26889f7f9 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Sun Apr 26 20:40:52 2015 +0200 ppp: mppe: sanity error path rework We are going to need sanity error path a little further, rework to be able to use the sanity error path anywhere in decompressor. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 801661467fd50832191c81665d061ffabcc1c5de Author: Jean Delvare <jdelvare@xxxxxxx> Date: Sun Apr 26 12:52:02 2015 +0200 dmaengine: xgene: Set hardware dependency The xgene-dma driver is only useful on X-Gene SoC. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Cc: Loc Ho <lho@xxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8ad31bf45db1c4a8f400cbc10400ce9fc0bed227 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Apr 26 11:53:54 2015 +0200 dmaengine: usb-dmac: Protect PM-only functions to kill warning If CONFIG_PM=n: drivers/dma/sh/usb-dmac.c:677: warning: â??usb_dmac_runtime_suspendâ?? defined but not used drivers/dma/sh/usb-dmac.c:688: warning: â??usb_dmac_runtime_resumeâ?? defined but not used Protect the unused functions by #ifdef CONFIG_PM to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 73b5a6f2a7a1cb78ccdec3900afc8657e11bc6bf Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Sun Apr 26 15:55:57 2015 +0300 net/bonding: Make DRV macros private The bonding modules currently defines four macros with general names that pollute the global namespace: DRV_VERSION DRV_RELDATE DRV_NAME DRV_DESCRIPTION Fixing that by defining a private bonding_priv.h header files which includes those defines. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b787f68c36d49bb1d9236f403813641efa74a031 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:59:10 2015 -0700 Linux 4.1-rc1 commit 61f01dd941ba9e06d2bf05994450ecc3d61b6b8b Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Sun Apr 26 16:47:59 2015 -0700 x86_64, asm: Work around AMD SYSRET SS descriptor attribute issue AMD CPUs don't reinitialize the SS descriptor on SYSRET, so SYSRET with SS == 0 results in an invalid usermode state in which SS is apparently equal to __USER_DS but causes #SS if used. Work around the issue by setting SS to __KERNEL_DS __switch_to, thus ensuring that SYSRET never happens with SS set to NULL. This was exposed by a recent vDSO cleanup. Fixes: e7d6eefaaa44 x86/vdso32/syscall.S: Do not load __USER32_DS to %ss Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Peter Anvin <hpa@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1190944f4b12203330ac5ed8784f6c181bf26f2d Merge: 9f86262 59fd7e4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:55:26 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull intel drm fixes from Dave Airlie. * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg drm/i915: Workaround to avoid lite restore with HEAD==TAIL drm/i915: cope with large i2c transfers commit 9f86262dcc573ca195488de9ec6e4d6d74288ad3 Merge: 85f2901 03ecc32 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:47:46 2015 -0700 Merge git://git.infradead.org/intel-iommu Pull intel iommu updates from David Woodhouse: "This lays a little of the groundwork for upcoming Shared Virtual Memory support â?? fixing some bogus #defines for capability bits and adding the new ones, and starting to use the new wider page tables where we can, in anticipation of actually filling in the new fields therein. It also allows graphics devices to be assigned to VM guests again. This got broken in 3.17 by disallowing assignment of RMRR-afflicted devices. Like USB, we do understand why there's an RMRR for graphics devices â?? and unlike USB, it's actually sane. So we can make an exception for graphics devices, just as we do USB controllers. Finally, tone down the warning about the X2APIC_OPT_OUT bit, due to persistent requests. X2APIC_OPT_OUT was added to the spec as a nasty hack to allow broken BIOSes to forbid us from using X2APIC when they do stupid and invasive things and would break if we did. Someone noticed that since Windows doesn't have full IOMMU support for DMA protection, setting the X2APIC_OPT_OUT bit made Windows avoid initialising the IOMMU on the graphics unit altogether. This means that it would be available for use in "driver mode", where the IOMMU registers are made available through a BAR of the graphics device and the graphics driver can do SVM all for itself. So they started setting the X2APIC_OPT_OUT bit on *all* platforms with SVM capabilities. And even the platforms which *might*, if the planets had been aligned correctly, possibly have had SVM capability but which in practice actually don't" * git://git.infradead.org/intel-iommu: iommu/vt-d: support extended root and context entries iommu/vt-d: Add new extended capabilities from v2.3 VT-d specification iommu/vt-d: Allow RMRR on graphics devices too iommu/vt-d: Print x2apic opt out info instead of printing a warning iommu/vt-d: kill bogus ecap_niotlb_iunits() commit 85f2901bdf4bdc0d034e1bbe8629e269ec200389 Merge: f583381 fcdd5f0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:44:09 2015 -0700 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "This has a mixture of merge window cleanups and bugfixes" * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: st: add include for pinctrl i2c: mux: use proper dev when removing "channel-X" symlinks i2c: digicolor: remove duplicate include i2c: Mark adapter devices with pm_runtime_no_callbacks i2c: pca-platform: fix broken email address i2c: mxs: fix broken email address i2c: rk3x: report number of messages transmitted commit f583381f506dc53b9d3e98cf9d6577323eb3fcd2 Merge: 59953fb a3bdccc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:40:30 2015 -0700 Merge branch 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fixes from Chris Mason: "Filipe hit two problems in my block group cache patches. We finalized the fixes last week and ran through more tests" * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: prevent list corruption during free space cache processing Btrfs: fix inode cache writeout commit 59fd7e4b0b0769638b5162e56c28bbb027a118d3 Merge: c8b3fd0 b5f1c97 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Apr 27 10:35:15 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-04-25' of git://anongit.freedesktop.org/drm-intel into drm-fixes three fixes for i915. * tag 'drm-intel-next-fixes-2015-04-25' of git://anongit.freedesktop.org/drm-intel: drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg drm/i915: Workaround to avoid lite restore with HEAD==TAIL drm/i915: cope with large i2c transfers commit 59953fba87e5e535657403cc6439d24187929559 Merge: 9ec3a64 f139b6c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:33:59 2015 -0700 Merge tag 'nfs-for-4.1-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs Pull NFS client updates from Trond Myklebust: "Another set of mainly bugfixes and a couple of cleanups. No new functionality in this round. Highlights include: Stable patches: - Fix a regression in /proc/self/mountstats - Fix the pNFS flexfiles O_DIRECT support - Fix high load average due to callback thread sleeping Bugfixes: - Various patches to fix the pNFS layoutcommit support - Do not cache pNFS deviceids unless server notifications are enabled - Fix a SUNRPC transport reconnection regression - make debugfs file creation failure non-fatal in SUNRPC - Another fix for circular directory warnings on NFSv4 "junctioned" mountpoints - Fix locking around NFSv4.2 fallocate() support - Truncating NFSv4 file opens should also sync O_DIRECT writes - Prevent infinite loop in rpcrdma_ep_create() Features: - Various improvements to the RDMA transport code's handling of memory registration - Various code cleanups" * tag 'nfs-for-4.1-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (55 commits) fs/nfs: fix new compiler warning about boolean in switch nfs: Remove unneeded casts in nfs NFS: Don't attempt to decode missing directory entries Revert "nfs: replace nfs_add_stats with nfs_inc_stats when add one" NFS: Rename idmap.c to nfs4idmap.c NFS: Move nfs_idmap.h into fs/nfs/ NFS: Remove CONFIG_NFS_V4 checks from nfs_idmap.h NFS: Add a stub for GETDEVICELIST nfs: remove WARN_ON_ONCE from nfs_direct_good_bytes nfs: fix DIO good bytes calculation nfs: Fetch MOUNTED_ON_FILEID when updating an inode sunrpc: make debugfs file creation failure non-fatal nfs: fix high load average due to callback thread sleeping NFS: Reduce time spent holding the i_mutex during fallocate() NFS: Don't zap caches on fallocate() xprtrdma: Make rpcrdma_{un}map_one() into inline functions xprtrdma: Handle non-SEND completions via a callout xprtrdma: Add "open" memreg op xprtrdma: Add "destroy MRs" memreg op xprtrdma: Add "reset MRs" memreg op ... commit 9ec3a646fe09970f801ab15e0f1694060b9f19af Merge: c8b3fd0 3cab989 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 15:48:49 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull fourth vfs update from Al Viro: "d_inode() annotations from David Howells (sat in for-next since before the beginning of merge window) + four assorted fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: RCU pathwalk breakage when running into a symlink overmounting something fix I_DIO_WAKEUP definition direct-io: only inc/dec inode->i_dio_count for file systems fs/9p: fix readdir() VFS: assorted d_backing_inode() annotations VFS: fs/inode.c helpers: d_inode() annotations VFS: fs/cachefiles: d_backing_inode() annotations VFS: fs library helpers: d_inode() annotations VFS: assorted weird filesystems: d_inode() annotations VFS: normal filesystems (and lustre): d_inode() annotations VFS: security/: d_inode() annotations VFS: security/: d_backing_inode() annotations VFS: net/: d_inode() annotations VFS: net/unix: d_backing_inode() annotations VFS: kernel/: d_inode() annotations VFS: audit: d_backing_inode() annotations VFS: Fix up some ->d_inode accesses in the chelsio driver VFS: Cachefiles should perform fs modifications on the top layer only VFS: AF_UNIX sockets should call mknod on the top layer only commit c8b3fd0ce313443731e8fd6d5a541085eb465f99 Merge: d89b3e1 e0155a9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:56:35 2015 -0700 Merge tag 'pm+acpi-4.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull more power management and ACPI updates from Rafael Wysocki: "These are fixes mostly (intel_pstate, ACPI core, ACPI EC driver, cpupower tool), a new CPU ID for the Intel RAPL driver and one intel_pstate driver improvement that didn't make it to my previous pull requests due to timing. Specifics: - Fix a build warning in the intel_pstate driver showing up in non-SMP builds (Borislav Petkov) - Change one of the intel_pstate's P-state selection parameters for Baytrail and Cherrytrail CPUs to significantly improve performance at the cost of a small increase in energy consumption (Kristen Carlson Accardi) - Fix a NULL pointer dereference in the ACPI EC driver due to an unsafe list walk in the query handler removal routine (Chris Bainbridge) - Get rid of a false-positive lockdep warning in the ACPI container hot-remove code (Rafael J Wysocki) - Prevent the ACPI device enumeration code from creating device objects of a wrong type in some cases (Rafael J Wysocki) - Add Skylake processors support to the Intel RAPL power capping driver (Brian Bian) - Drop the stale MAINTAINERS entry for the ACPI dock driver that is regarded as part of the ACPI core and maintained along with it now (Chao Yu) - Fix cpupower tool breakage caused by a library API change in libpci 3.3.0 (Lucas Stach)" * tag 'pm+acpi-4.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI / scan: Add a scan handler for PRP0001 ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline() ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler() MAINTAINERS: remove maintainship entry of docking station driver powercap / RAPL: Add support for Intel Skylake processors cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning intel_pstate: Change the setpoint for Atom params cpupower: fix breakage from libpci API change commit d89b3e19ef98a8d3b81a9f8a62c6ac89fd00412e Merge: 78d4256 8c98ebd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:51:05 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fixes from Herbert Xu: "This push fixes a build problem with img-hash under non-standard configurations and a serious regression with sha512_ssse3 which can lead to boot failures" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: img-hash - CRYPTO_DEV_IMGTEC_HASH should depend on HAS_DMA crypto: x86/sha512_ssse3 - fixup for asm function prototype change commit 78d425677217b655ed36c492a070b5002832fc73 Merge: 36a8032 358d6a2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:44:46 2015 -0700 Merge tag 'platform-drivers-x86-v4.1-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull x86 platform driver updates from Darren Hart: "This series includes significant updates to the toshiba_acpi driver and the reintroduction of the dell-laptop keyboard backlight additions I had to revert previously. Also included are various fixes for typos, warnings, correctness, and minor bugs. Specifics: dell-laptop: - add support for keyboard backlight. toshiba_acpi: - adaptive keyboard, hotkey, USB sleep and charge, and backlight updates. Update sysfs documentation. toshiba_bluetooth: - fix enabling/disabling loop on recent devices apple-gmux: - lock iGP IO to protect from vgaarb changes other: - Fix typos, clear gcc warnings, clarify pr_* messages, correct return types, update MAINTAINERS" * tag 'platform-drivers-x86-v4.1-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (25 commits) toshiba_acpi: Do not register vendor backlight when acpi_video bl is available MAINTAINERS: Add me on list of Dell laptop drivers platform: x86: dell-laptop: Add support for keyboard backlight Documentation/ABI: Update sysfs-driver-toshiba_acpi entry toshiba_acpi: Fix pr_* messages from USB Sleep Functions toshiba_acpi: Update and fix USB Sleep and Charge modes wmi: Use bool function return values of true/false not 1/0 toshiba_bluetooth: Fix enabling/disabling loop on recent devices toshiba_bluetooth: Clean up *_add function and disable BT device at removal toshiba_bluetooth: Add three new functions to the driver toshiba_acpi: Fix the enabling of the Special Functions toshiba_acpi: Use the Hotkey Event Type function for keymap choosing toshiba_acpi: Add Hotkey Event Type function and definitions x86/wmi: delete unused wmi_data_lock mutex causing gcc warning apple-gmux: lock iGP IO to protect from vgaarb changes MAINTAINERS: Add missing Toshiba devices and add myself as maintainer toshiba_acpi: Update events in toshiba_acpi_notify intel-oaktrail: Fix trivial typo in comment thinkpad_acpi: off by one in adaptive_keyboard_hotkey_notify_hotkey() thinkpad_acpi: signedness bugs getting current_mode ... commit 36a8032d77649430f5ef11fbf0df2bb026be0b04 Merge: 7f9f443 96cba9b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:36:02 2015 -0700 Merge tag 'chrome-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform Pull chrome platform updates from Olof Johansson: "Here's a set of updates to the Chrome OS platform drivers for this merge window. Main new things this cycle is: - Driver changes to expose the lightbar to users. With this, you can make your own blinkenlights on Chromebook Pixels. - Changes in the way that the atmel_mxt trackpads are probed. The laptop driver is trying to be smart and not instantiate the devices that don't answer to probe. For the trackpad that can come up in two modes (bootloader or regular), this gets complicated since the driver already knows how to handle the two modes including the actual addresses used. So now the laptop driver needs to know more too, instantiating the regular address even if the bootloader one is the probe that passed. - mfd driver improvements by Javier Martines Canillas, and a few bugfixes from him, kbuild and myself" * tag 'chrome-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform: platform/chrome: chromeos_laptop - instantiate Atmel at primary address platform/chrome: cros_ec_lpc - Depend on X86 || COMPILE_TEST platform/chrome: cros_ec_lpc - Include linux/io.h header file platform/chrome: fix platform_no_drv_owner.cocci warnings platform/chrome: cros_ec_lightbar - fix duplicate const warning platform/chrome: cros_ec_dev - fix Unknown escape '%' warning platform/chrome: Expose Chrome OS Lightbar to users platform/chrome: Create sysfs attributes for the ChromeOS EC mfd: cros_ec: Instantiate ChromeOS EC character device platform/chrome: Add Chrome OS EC userspace device interface platform/chrome: Add cros_ec_lpc driver for x86 devices mfd: cros_ec: Add char dev and virtual dev pointers mfd: cros_ec: Use fixed size arrays to transfer data with the EC commit 7f9f44308c8993c9ab8078d174dad34bea3e82d7 Merge: 63905bb d939b52 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:31:05 2015 -0700 Merge tag 'cris-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris Pull arch/cris updates from Jesper Nilsson: "Some much needed love for the CRIS-port. There's a bunch of changes this time, giving the CRISv32 port a bit of modern makeover with device-tree, irq domain and gpiolib support, and more switchover to generic frameworks. Some small fixes and removal of the theoretical SMP support brings up the rear" * tag 'cris-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris: cris: fix integer overflow in ELF_ET_DYN_BASE CRISv32: use GENERIC_SCHED_CLOCK CRISv32: use MMIO clocksource CRISv32: use generic clockevents CRIS: use generic headers via Kbuild CRIS: use generic cmpxchg.h CRIS: use generic atomic.h CRIS: use generic atomic bitops CRISv10: remove redundant macros from system.h CRIS: remove SMP code CRISv32: don't enable irqs in INIT_THREAD CRISv32: handle multiple signals CRISv32: prevent bogus restarts on sigreturn CRISv32: don't attempt syscall restart on irq exit Add binding documentation for CRIS CRIS: add Axis 88 board device tree CRISv32: add device tree support CRISv32: add irq domains support CRIS: enable GPIOLIB commit 63905bba5b0170492777b327ac5e2aaef64989d6 Merge: eadf16a 2e826695 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:23:15 2015 -0700 Merge tag 'powerpc-4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc fixes from Michael Ellerman: - fix for mm_dec_nr_pmds() from Scott. - fixes for oopses seen with KVM + THP from Aneesh. - build fixes from Aneesh & Shreyas. * tag 'powerpc-4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: powerpc/mm: Fix build error with CONFIG_PPC_TRANSACTIONAL_MEM disabled powerpc/kvm: Fix ppc64_defconfig + PPC_POWERNV=n build error powerpc/mm/thp: Return pte address if we find trans_splitting. powerpc/mm/thp: Make page table walk safe against thp split/collapse KVM: PPC: Remove page table walk helpers KVM: PPC: Use READ_ONCE when dereferencing pte_t pointer powerpc/hugetlb: Call mm_dec_nr_pmds() in hugetlb_free_pmd_range() commit a31196b07f8034eba6a3487a1ad1bb5ec5cd58a5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Apr 25 09:35:24 2015 -0700 net: rfs: fix crash in get_rps_cpus() Commit 567e4b79731c ("net: rfs: add hash collision detection") had one mistake : RPS_NO_CPU is no longer the marker for invalid cpu in set_rps_cpu() and get_rps_cpu(), as @next_cpu was the result of an AND with rps_cpu_mask This bug showed up on a host with 72 cpus : next_cpu was 0x7f, and the code was trying to access percpu data of an non existent cpu. In a follow up patch, we might get rid of compares against nr_cpu_ids, if we init the tables with 0. This is silly to test for a very unlikely condition that exists only shortly after table initialization, as we got rid of rps_reset_sock_flow() and similar functions that were writing this RPS_NO_CPU magic value at flow dismantle : When table is old enough, it never contains this value anymore. Fixes: 567e4b79731c ("net: rfs: add hash collision detection") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7cdbc6f74f8e6c06304b69b4e944fbd669581c7c Author: Andreas Oetken <ennoerlangen@xxxxxxxxx> Date: Sat Apr 25 18:07:52 2015 +0200 altera tse: add support for fixed-links. Add support for fixed-links in configurations without PHY. (e.g. connection to a switch, SGMII point to point, SFPs) Check: Documentation/devicetree/bindings/net/fixed-link.txt. Signed-off-by: Andreas Oetken <ennoerlangen@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eadf16a912b6bdf8bd476bde2f19fb41d06e0c3b Merge: 4a65546 2fa462f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:06:22 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull second batch of KVM changes from Paolo Bonzini: "This mostly includes the PPC changes for 4.1, which this time cover Book3S HV only (debugging aids, minor performance improvements and some cleanups). But there are also bug fixes and small cleanups for ARM, x86 and s390. The task_migration_notifier revert and real fix is still pending review, but I'll send it as soon as possible after -rc1" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (29 commits) KVM: arm/arm64: check IRQ number on userland injection KVM: arm: irqfd: fix value returned by kvm_irq_map_gsi KVM: VMX: Preserve host CR4.MCE value while in guest mode. KVM: PPC: Book3S HV: Use msgsnd for signalling threads on POWER8 KVM: PPC: Book3S HV: Translate kvmhv_commence_exit to C KVM: PPC: Book3S HV: Streamline guest entry and exit KVM: PPC: Book3S HV: Use bitmap of active threads rather than count KVM: PPC: Book3S HV: Use decrementer to wake napping threads KVM: PPC: Book3S HV: Don't wake thread with no vcpu on guest IPI KVM: PPC: Book3S HV: Get rid of vcore nap_count and n_woken KVM: PPC: Book3S HV: Move vcore preemption point up into kvmppc_run_vcpu KVM: PPC: Book3S HV: Minor cleanups KVM: PPC: Book3S HV: Simplify handling of VCPUs that need a VPA update KVM: PPC: Book3S HV: Accumulate timing information for real-mode code KVM: PPC: Book3S HV: Create debugfs file for each guest's HPT KVM: PPC: Book3S HV: Add ICP real mode counters KVM: PPC: Book3S HV: Move virtual mode ICP functions to real-mode KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock KVM: PPC: Book3S HV: Add guest->host real mode completion counters KVM: PPC: Book3S HV: Add helpers for lock/unlock hpte ... commit 0e03fd3e335d272bee88fe733d5fd13f5c5b7140 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Apr 25 04:07:03 2015 +0300 pxa168: fix double deallocation of managed resources Commit 43d3ddf87a57 ("net: pxa168_eth: add device tree support") starts to use managed resources by adding devm_clk_get() and devm_ioremap_resource(), but it leaves explicit iounmap() and clock_put() in pxa168_eth_remove() and in failure handling code of pxa168_eth_probe(). As a result double free can happen. The patch removes explicit resource deallocation. Also it converts clk_disable() to clk_disable_unprepare() to make it symmetrical with clk_prepare_enable(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a6554665c62ee39be40f4a18c3d37e49d03ccc1 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Apr 13 12:48:27 2015 +1000 v4l: xilinx: fix for include file movement Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e17d30bfaf43e04d991392d8484f1c556810c33 Author: Yang Dongsheng <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Apr 9 12:08:43 2015 +0800 Btrfs: fill ->last_trans for delayed inode in btrfs_fill_inode. We need to fill inode when we found a node for it in delayed_nodes_tree. But we did not fill the ->last_trans currently, it will cause the test of xfstest/generic/311 fail. Scenario of the 311 is shown as below: Problem: (1). test_fd = open(fname, O_RDWR|O_DIRECT) (2). pwrite(test_fd, buf, 4096, 0) (3). close(test_fd) (4). drop_all_caches() <-------- "echo 3 > /proc/sys/vm/drop_caches" (5). test_fd = open(fname, O_RDWR|O_DIRECT) (6). fsync(test_fd); <-------- we did not get the correct log entry for the file Reason: When we re-open this file in (5), we would find a node in delayed_nodes_tree and fill the inode we are lookup with the information. But the ->last_trans is not filled, then the fsync() will check the ->last_trans and found it's 0 then say this inode is already in our tree which is commited, not recording the extents for it. Fix: This patch fill the ->last_trans properly and set the runtime_flags if needed in this situation. Then we can get the log entries we expected after (6) and generic/311 passed. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Miao Xie <miaoxie@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 909e26dce3f7600f5e293ac0522c28790a0c8c9c Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Fri Apr 10 14:20:40 2015 -0700 btrfs: unlock i_mutex after attempting to delete subvolume during send Whenever the check for a send in progress introduced in commit 521e0546c970 (btrfs: protect snapshots from deleting during send) is hit, we return without unlocking inode->i_mutex. This is easy to see with lockdep enabled: [ +0.000059] ================================================ [ +0.000028] [ BUG: lock held when returning to user space! ] [ +0.000029] 4.0.0-rc5-00096-g3c435c1 #93 Not tainted [ +0.000026] ------------------------------------------------ [ +0.000029] btrfs/211 is leaving the kernel with locks still held! [ +0.000029] 1 lock held by btrfs/211: [ +0.000023] #0: (&type->i_mutex_dir_key){+.+.+.}, at: [<ffffffff8135b8df>] btrfs_ioctl_snap_destroy+0x2df/0x7a0 Make sure we unlock it in the error path. Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b86054540e4ad7d8df67f3a80658d037a2ce1c02 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Tue Feb 24 02:47:06 2015 -0800 btrfs: check io_ctl_prepare_pages return in __btrfs_write_out_cache If io_ctl_prepare_pages fails, the pages in io_ctl.pages are not valid. When we try to access them later, things will blow up in various ways. Also fix the comment about the return value, which is an errno on error, not -1, and update the cases where it was not. Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5ca64f45e92dc52bd3bc1ad93f4f9e5a57955f28 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Tue Feb 24 02:47:05 2015 -0800 btrfs: fix race on ENOMEM in alloc_extent_buffer Consider the following interleaving of overlapping calls to alloc_extent_buffer: Call 1: - Successfully allocates a few pages with find_or_create_page - find_or_create_page fails, goto free_eb - Unlocks the allocated pages Call 2: - Calls find_or_create_page and gets a page in call 1's extent_buffer - Finds that the page is already associated with an extent_buffer - Grabs a reference to the half-written extent_buffer and calls mark_extent_buffer_accessed on it mark_extent_buffer_accessed will then try to call mark_page_accessed on a null page and panic. The fix is to decrement the reference count on the half-written extent_buffer before unlocking the pages so call 2 won't use it. We should also set exists = NULL in the case that we don't use exists to avoid accidentally returning a freed extent_buffer in an error case. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 67b7859e9bfa0dcee5a8256932e393e98739be1b Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Tue Feb 24 02:47:04 2015 -0800 btrfs: handle ENOMEM in btrfs_alloc_tree_block This is one of the first places to give out when memory is tight. Handle it properly rather than with a BUG_ON. Also fix the comment about the return value, which is an ERR_PTR, not NULL, on error. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1b9845081633072c18f30d8cfd09c267adf0b109 Author: Forrest Liu <forrestl@xxxxxxxxxxxx> Date: Mon Feb 9 17:30:47 2015 +0800 Btrfs: fix find_free_dev_extent() malfunction in case device tree has hole If device tree has hole, find_free_dev_extent() cannot find available address properly. The problem can be reproduce by following script. mntpath=/btrfs loopdev=/dev/loop0 filepath=/home/forrest/image umount $mntpath losetup -d $loopdev truncate --size 100g $filepath losetup $loopdev $filepath mkfs.btrfs -f $loopdev mount $loopdev $mntpath # make device tree with one big hole for i in `seq 1 1 100`; do fallocate -l 1g $mntpath/$i done sync for i in `seq 1 1 95`; do rm $mntpath/$i done sync # wait cleaner thread remove unused block group sleep 300 fallocate -l 1g $mntpath/aaa # failed to allocate new chunk fallocate -l 1g $mntpath/bbb Above script will make device tree with one big hole, and can only allocate just one chunk in a transaction, so failed to allocate new chunk for $mntpath/bbb item 8 key (1 DEV_EXTENT 2185232384) itemoff 15859 itemsize 48 dev extent chunk_tree 3 chunk objectid 256 chunk offset 106292051968 length 1073741824 item 9 key (1 DEV_EXTENT 104190705664) itemoff 15811 itemsize 48 dev extent chunk_tree 3 chunk objectid 256 chunk offset 103108575232 length 1073741824 Signed-off-by: Forrest Liu <forrestl@xxxxxxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e4c88f007be78d38eaef316c599a1ee2f0272c15 Author: Chris Mason <clm@xxxxxx> Date: Sat Apr 18 05:22:48 2015 -0700 Btrfs: don't check for delalloc_bytes in cache_save_setup Now that we're doing free space cache writeback outside the critical section in the commit, there is a bigger window for delalloc_bytes to be added after a cache has been written. find_free_extent may do this without putting the block group back into the dirty list, and also without a transaction running. Checking for delalloc_bytes in cache_save_setup means we might leave the cache marked as written without invalidating it. Consistency checks during mount will toss the cache, but it's better to get rid of the check in cache_save_setup and let it get invalidated by the checks already done during cache write out. Signed-off-by: Chris Mason <clm@xxxxxx> commit 24b89d08ef63f9c62e55593e27a55e57b0062046 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Sat Apr 25 18:31:05 2015 +0100 Btrfs: fix deadlock when starting writeback of bg caches While starting the writes of the dirty block group caches, if we don't find a block group item in the extent tree we were leaving without releasing our path, running delayed references and then looping again to process any new dirty block groups. However this second iteration of the loop could cause a deadlock because it tries to lock some other extent tree node/leaf which another task already locked and it's blocked because it's waiting for a lock on some node/leaf that is in our path that was not released before. We could also deadlock when running the delayed references - as we could end up trying to lock the same nodes/leafs that we have in our local path (with a different lock type). Got into such case when running xfstests: [20892.242791] ------------[ cut here ]------------ [20892.243776] WARNING: CPU: 0 PID: 13299 at fs/btrfs/super.c:260 __btrfs_abort_transaction+0x52/0x114 [btrfs]() [20892.245874] BTRFS: Transaction aborted (error -2) (...) [20892.269378] Call Trace: [20892.269915] [<ffffffff8142fa46>] dump_stack+0x4f/0x7b [20892.271097] [<ffffffff8108b6a2>] ? console_unlock+0x361/0x3ad [20892.272173] [<ffffffff81045ea5>] warn_slowpath_common+0xa1/0xbb [20892.273386] [<ffffffffa0509a6d>] ? __btrfs_abort_transaction+0x52/0x114 [btrfs] [20892.274857] [<ffffffff81045f05>] warn_slowpath_fmt+0x46/0x48 [20892.275851] [<ffffffffa0509a6d>] __btrfs_abort_transaction+0x52/0x114 [btrfs] [20892.277341] [<ffffffffa0515e10>] write_one_cache_group+0x68/0xaf [btrfs] [20892.278628] [<ffffffffa052088a>] btrfs_start_dirty_block_groups+0x18d/0x29b [btrfs] [20892.280191] [<ffffffffa052f077>] btrfs_commit_transaction+0x130/0x9c9 [btrfs] (...) [20892.291316] ---[ end trace 597f77e664245373 ]--- [20892.293955] BTRFS: error (device sdg) in write_one_cache_group:3184: errno=-2 No such entry [20892.297390] BTRFS info (device sdg): forced readonly [20892.298222] ------------[ cut here ]------------ [20892.299190] WARNING: CPU: 0 PID: 13299 at fs/btrfs/ctree.c:2683 btrfs_search_slot+0x7e/0x7d2 [btrfs]() (...) [20892.326253] Call Trace: [20892.326904] [<ffffffff8142fa46>] dump_stack+0x4f/0x7b [20892.329503] [<ffffffff8108b6a2>] ? console_unlock+0x361/0x3ad [20892.330815] [<ffffffff81045ea5>] warn_slowpath_common+0xa1/0xbb [20892.332556] [<ffffffffa0510b73>] ? btrfs_search_slot+0x7e/0x7d2 [btrfs] [20892.333955] [<ffffffff81045f62>] warn_slowpath_null+0x1a/0x1c [20892.335562] [<ffffffffa0510b73>] btrfs_search_slot+0x7e/0x7d2 [btrfs] [20892.336849] [<ffffffff8107b024>] ? arch_local_irq_save+0x9/0xc [20892.338222] [<ffffffffa051ad52>] ? cache_save_setup+0x43/0x2a5 [btrfs] [20892.339823] [<ffffffffa051ad66>] ? cache_save_setup+0x57/0x2a5 [btrfs] [20892.341275] [<ffffffff814351a4>] ? _raw_spin_unlock+0x32/0x46 [20892.342810] [<ffffffffa0515de7>] write_one_cache_group+0x3f/0xaf [btrfs] [20892.344184] [<ffffffffa052088a>] btrfs_start_dirty_block_groups+0x18d/0x29b [btrfs] [20892.347162] [<ffffffffa052f077>] btrfs_commit_transaction+0x130/0x9c9 [btrfs] (...) [20892.361015] ---[ end trace 597f77e664245374 ]--- [21120.688097] INFO: task kworker/u8:17:29854 blocked for more than 120 seconds. [21120.689881] Tainted: G W 4.0.0-rc5-btrfs-next-9+ #2 [21120.691384] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. (...) [21120.703696] Call Trace: [21120.704310] [<ffffffff8143107e>] schedule+0x74/0x83 [21120.705490] [<ffffffffa055f025>] btrfs_tree_lock+0xd7/0x236 [btrfs] [21120.706757] [<ffffffff81075cd6>] ? signal_pending_state+0x31/0x31 [21120.708156] [<ffffffffa054ac1e>] lock_extent_buffer_for_io+0x3e/0x194 [btrfs] [21120.709892] [<ffffffffa054bb86>] ? btree_write_cache_pages+0x273/0x385 [btrfs] [21120.711605] [<ffffffffa054bc42>] btree_write_cache_pages+0x32f/0x385 [btrfs] [21120.723440] [<ffffffffa0527552>] btree_writepages+0x23/0x5c [btrfs] [21120.724943] [<ffffffff8110c4c8>] do_writepages+0x23/0x2c [21120.726008] [<ffffffff81176dde>] __writeback_single_inode+0x73/0x2fa [21120.727230] [<ffffffff8117714a>] ? writeback_sb_inodes+0xe5/0x38b [21120.728526] [<ffffffff811771fb>] ? writeback_sb_inodes+0x196/0x38b [21120.729701] [<ffffffff8117726a>] writeback_sb_inodes+0x205/0x38b (...) [21120.747853] INFO: task btrfs:13282 blocked for more than 120 seconds. [21120.749459] Tainted: G W 4.0.0-rc5-btrfs-next-9+ #2 [21120.751137] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. (...) [21120.768457] Call Trace: [21120.769039] [<ffffffff8143107e>] schedule+0x74/0x83 [21120.770107] [<ffffffffa052f25c>] btrfs_commit_transaction+0x315/0x9c9 [btrfs] [21120.771558] [<ffffffff81075cd6>] ? signal_pending_state+0x31/0x31 [21120.773659] [<ffffffffa056fd8c>] prepare_to_relocate+0xcb/0xd2 [btrfs] [21120.776257] [<ffffffffa05741da>] relocate_block_group+0x44/0x4a9 [btrfs] [21120.777755] [<ffffffffa05747a0>] ? btrfs_relocate_block_group+0x161/0x288 [btrfs] [21120.779459] [<ffffffffa05747a8>] btrfs_relocate_block_group+0x169/0x288 [btrfs] [21120.781153] [<ffffffffa0550403>] btrfs_relocate_chunk.isra.29+0x3e/0xa7 [btrfs] [21120.783918] [<ffffffffa05518fd>] btrfs_balance+0xaa4/0xc52 [btrfs] [21120.785436] [<ffffffff8114306e>] ? cpu_cache_get.isra.39+0xe/0x1f [21120.786434] [<ffffffffa0559252>] btrfs_ioctl_balance+0x23f/0x2b0 [btrfs] (...) [21120.889251] INFO: task fsstress:13288 blocked for more than 120 seconds. [21120.890526] Tainted: G W 4.0.0-rc5-btrfs-next-9+ #2 [21120.891773] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. (...) [21120.899960] Call Trace: [21120.900743] [<ffffffff8143107e>] schedule+0x74/0x83 [21120.903004] [<ffffffffa055f025>] btrfs_tree_lock+0xd7/0x236 [btrfs] [21120.904383] [<ffffffff81075cd6>] ? signal_pending_state+0x31/0x31 [21120.905608] [<ffffffffa051125b>] btrfs_search_slot+0x766/0x7d2 [btrfs] [21120.906812] [<ffffffff8114290e>] ? virt_to_head_page+0x9/0x2c [21120.907874] [<ffffffff81144b7f>] ? cache_alloc_debugcheck_after.isra.42+0x16c/0x1cb [21120.909551] [<ffffffffa05124e0>] btrfs_insert_empty_items+0x5d/0xa8 [btrfs] [21120.910914] [<ffffffffa0512585>] btrfs_insert_item+0x5a/0xa5 [btrfs] [21120.912181] [<ffffffffa0520271>] ? btrfs_create_pending_block_groups+0x96/0x130 [btrfs] [21120.913784] [<ffffffffa052028a>] btrfs_create_pending_block_groups+0xaf/0x130 [btrfs] [21120.915374] [<ffffffffa052ffc2>] __btrfs_end_transaction+0x84/0x366 [btrfs] [21120.916735] [<ffffffffa05302b4>] btrfs_end_transaction+0x10/0x12 [btrfs] [21120.917996] [<ffffffffa051ab26>] btrfs_check_data_free_space+0x11f/0x27c [btrfs] [21120.919478] [<ffffffffa051ba25>] btrfs_delalloc_reserve_space+0x1e/0x51 [btrfs] [21120.921226] [<ffffffffa05382f2>] btrfs_truncate_page+0x85/0x2c4 [btrfs] [21120.923121] [<ffffffffa0538572>] btrfs_cont_expand+0x41/0x3ef [btrfs] [21120.924449] [<ffffffffa0541091>] ? btrfs_file_write_iter+0x19a/0x431 [btrfs] [21120.926602] [<ffffffff8107b024>] ? arch_local_irq_save+0x9/0xc [21120.927769] [<ffffffffa0541091>] ? btrfs_file_write_iter+0x19a/0x431 [btrfs] [21120.929324] [<ffffffffa05410a0>] ? btrfs_file_write_iter+0x1a9/0x431 [btrfs] [21120.930723] [<ffffffffa05410d9>] btrfs_file_write_iter+0x1e2/0x431 [btrfs] [21120.931897] [<ffffffff81067d85>] ? get_parent_ip+0xe/0x3e [21120.934446] [<ffffffff811534c3>] new_sync_write+0x7c/0xa0 [21120.935528] [<ffffffff81153b58>] vfs_write+0xb2/0x117 (...) Fixes: 1bbc621ef284 ("Btrfs: allow block group cache writeout outside critical section in commit") Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b58d1a9ef92031a6fc2f418c01abafb4458ba009 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Sat Apr 25 18:29:16 2015 +0100 Btrfs: fix race between start dirty bg cache writeout and bg deletion While running xfstests I ran into the following: [20892.242791] ------------[ cut here ]------------ [20892.243776] WARNING: CPU: 0 PID: 13299 at fs/btrfs/super.c:260 __btrfs_abort_transaction+0x52/0x114 [btrfs]() [20892.245874] BTRFS: Transaction aborted (error -2) [20892.247329] Modules linked in: btrfs dm_snapshot dm_bufio dm_flakey dm_mod crc32c_generic xor raid6_pq nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc loop fuse$ [20892.258488] CPU: 0 PID: 13299 Comm: fsstress Tainted: G W 4.0.0-rc5-btrfs-next-9+ #2 [20892.262011] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5-0-ge51488c-20140602_164612-nilsson.home.kraxel.org 04/01/2014 [20892.264738] 0000000000000009 ffff880427f8bc18 ffffffff8142fa46 ffffffff8108b6a2 [20892.266244] ffff880427f8bc68 ffff880427f8bc58 ffffffff81045ea5 ffff880427f8bc48 [20892.267761] ffffffffa0509a6d 00000000fffffffe ffff8803545d6f40 ffffffffa05a15a0 [20892.269378] Call Trace: [20892.269915] [<ffffffff8142fa46>] dump_stack+0x4f/0x7b [20892.271097] [<ffffffff8108b6a2>] ? console_unlock+0x361/0x3ad [20892.272173] [<ffffffff81045ea5>] warn_slowpath_common+0xa1/0xbb [20892.273386] [<ffffffffa0509a6d>] ? __btrfs_abort_transaction+0x52/0x114 [btrfs] [20892.274857] [<ffffffff81045f05>] warn_slowpath_fmt+0x46/0x48 [20892.275851] [<ffffffffa0509a6d>] __btrfs_abort_transaction+0x52/0x114 [btrfs] [20892.277341] [<ffffffffa0515e10>] write_one_cache_group+0x68/0xaf [btrfs] [20892.278628] [<ffffffffa052088a>] btrfs_start_dirty_block_groups+0x18d/0x29b [btrfs] [20892.280191] [<ffffffffa052f077>] btrfs_commit_transaction+0x130/0x9c9 [btrfs] [20892.281781] [<ffffffff8107d33d>] ? trace_hardirqs_on+0xd/0xf [20892.282873] [<ffffffffa054163b>] btrfs_sync_file+0x313/0x387 [btrfs] [20892.284111] [<ffffffff8117acad>] vfs_fsync_range+0x95/0xa4 [20892.285203] [<ffffffff810e603f>] ? time_hardirqs_on+0x15/0x28 [20892.286290] [<ffffffff8123960b>] ? trace_hardirqs_on_thunk+0x3a/0x3f [20892.287469] [<ffffffff8117acd8>] vfs_fsync+0x1c/0x1e [20892.288412] [<ffffffff8117ae54>] do_fsync+0x34/0x4e [20892.289348] [<ffffffff8117b07c>] SyS_fsync+0x10/0x14 [20892.290255] [<ffffffff81435b32>] system_call_fastpath+0x12/0x17 [20892.291316] ---[ end trace 597f77e664245373 ]--- [20892.293955] BTRFS: error (device sdg) in write_one_cache_group:3184: errno=-2 No such entry [20892.297390] BTRFS info (device sdg): forced readonly This happens because in btrfs_start_dirty_block_groups() we splice the transaction's list of dirty block groups into a local list and then we keep extracting the first element of the list without holding the cache_write_mutex mutex. This means that before we acquire that mutex the first block group on the list might be removed by a conurrent task running btrfs_remove_block_group(). So make sure we extract the first element (and test the list emptyness) while holding that mutex. Fixes: 1bbc621ef284 ("Btrfs: allow block group cache writeout outside critical section in commit") Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 09c5b4803a80a5451d950d6a539d2eb311dc0fb1 Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Sat Apr 25 19:52:37 2015 +0200 libata: Ignore spurious PHY event on LPM policy change When the LPM policy is set to ATA_LPM_MAX_POWER, the device might generate a spurious PHY event that cuases errors on the link. Ignore this event if it occured within 10s after the policy change. The timeout was chosen observing that on a Dell XPS13 9333 these spurious events can occur up to roughly 6s after the policy change. Link: http://lkml.kernel.org/g/3352987.ugV1Ipy7Z5@xps13 Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 8393b811f38acdf7fd8da2028708edad3e68ce1f Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Sat Apr 25 19:52:36 2015 +0200 libata: Add helper to determine when PHY events should be ignored This is a preparation commit that will allow to add other criteria according to which PHY events should be dropped. Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2ea2f62c8bda242433809c7f4e9eae1c52c40bbe Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Apr 24 16:05:01 2015 -0700 net: fix crash in build_skb() When I added pfmemalloc support in build_skb(), I forgot netlink was using build_skb() with a vmalloc() area. In this patch I introduce __build_skb() for netlink use, and build_skb() is a wrapper handling both skb->head_frag and skb->pfmemalloc This means netlink no longer has to hack skb->head_frag [ 1567.700067] kernel BUG at arch/x86/mm/physaddr.c:26! [ 1567.700067] invalid opcode: 0000 [#1] PREEMPT SMP KASAN [ 1567.700067] Dumping ftrace buffer: [ 1567.700067] (ftrace buffer empty) [ 1567.700067] Modules linked in: [ 1567.700067] CPU: 9 PID: 16186 Comm: trinity-c182 Not tainted 4.0.0-next-20150424-sasha-00037-g4796e21 #2167 [ 1567.700067] task: ffff880127efb000 ti: ffff880246770000 task.ti: ffff880246770000 [ 1567.700067] RIP: __phys_addr (arch/x86/mm/physaddr.c:26 (discriminator 3)) [ 1567.700067] RSP: 0018:ffff8802467779d8 EFLAGS: 00010202 [ 1567.700067] RAX: 000041000ed8e000 RBX: ffffc9008ed8e000 RCX: 000000000000002c [ 1567.700067] RDX: 0000000000000004 RSI: 0000000000000000 RDI: ffffffffb3fd6049 [ 1567.700067] RBP: ffff8802467779f8 R08: 0000000000000019 R09: ffff8801d0168000 [ 1567.700067] R10: ffff8801d01680c7 R11: ffffed003a02d019 R12: ffffc9000ed8e000 [ 1567.700067] R13: 0000000000000f40 R14: 0000000000001180 R15: ffffc9000ed8e000 [ 1567.700067] FS: 00007f2a7da3f700(0000) GS:ffff8801d1000000(0000) knlGS:0000000000000000 [ 1567.700067] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1567.700067] CR2: 0000000000738308 CR3: 000000022e329000 CR4: 00000000000007e0 [ 1567.700067] Stack: [ 1567.700067] ffffc9000ed8e000 ffff8801d0168000 ffffc9000ed8e000 ffff8801d0168000 [ 1567.700067] ffff880246777a28 ffffffffad7c0a21 0000000000001080 ffff880246777c08 [ 1567.700067] ffff88060d302e68 ffff880246777b58 ffff880246777b88 ffffffffad9a6821 [ 1567.700067] Call Trace: [ 1567.700067] build_skb (include/linux/mm.h:508 net/core/skbuff.c:316) [ 1567.700067] netlink_sendmsg (net/netlink/af_netlink.c:1633 net/netlink/af_netlink.c:2329) [ 1567.774369] ? sched_clock_cpu (kernel/sched/clock.c:311) [ 1567.774369] ? netlink_unicast (net/netlink/af_netlink.c:2273) [ 1567.774369] ? netlink_unicast (net/netlink/af_netlink.c:2273) [ 1567.774369] sock_sendmsg (net/socket.c:614 net/socket.c:623) [ 1567.774369] sock_write_iter (net/socket.c:823) [ 1567.774369] ? sock_sendmsg (net/socket.c:806) [ 1567.774369] __vfs_write (fs/read_write.c:479 fs/read_write.c:491) [ 1567.774369] ? get_lock_stats (kernel/locking/lockdep.c:249) [ 1567.774369] ? default_llseek (fs/read_write.c:487) [ 1567.774369] ? vtime_account_user (kernel/sched/cputime.c:701) [ 1567.774369] ? rw_verify_area (fs/read_write.c:406 (discriminator 4)) [ 1567.774369] vfs_write (fs/read_write.c:539) [ 1567.774369] SyS_write (fs/read_write.c:586 fs/read_write.c:577) [ 1567.774369] ? SyS_read (fs/read_write.c:577) [ 1567.774369] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63) [ 1567.774369] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2594 kernel/locking/lockdep.c:2636) [ 1567.774369] ? trace_hardirqs_on_thunk (arch/x86/lib/thunk_64.S:42) [ 1567.774369] system_call_fastpath (arch/x86/kernel/entry_64.S:261) Fixes: 79930f5892e ("net: do not deplete pfmemalloc reserve") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20d96964b51844d4f3bea0249f62db7073c13c30 Author: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Date: Fri Apr 24 02:32:07 2015 -0500 net: eth: altera: Resolve false errors from MSGDMA to TSE This patch resolves false errors from MSGDMA in TX mSGDMA MM to ST mode, and is a continuation of the patch recently submitted by Andrea Oetken. The MSGDMA had a logic bug that masked detection of this issue prior to Quartus 14.1/Build 164. When the MSGDMA logic bug was addressed in Quartus 14.1/Build 164, the driver problem was exposed. The problem is corrected by making sure MSGDMA_DESC_CTL_TR_ERR_IRQ is not set for any of the transmit DMA descriptors, and only used for receive descriptors. Fixes: 71cd26e altera tse: Error-Bit on tx-avalon-stream always set. Signed-off-by: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>a Cc: Andreas Oetken <ennoerlangen@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3051f39253680624504021fd3b29fc621a4fd6b6 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Apr 24 15:52:32 2015 +1000 ehea: Fix memory hook reference counting crashes The recent commit to only register the EHEA memory hotplug hooks on adapter probe has a few problems. Firstly the reference counting is wrong for multiple adapters, in that the hooks are registered multiple times. Secondly the check in the tear down path is backward. Finally the error path doesn't decrement the count. The multiple registration of the hooks is the biggest problem, as it leads to oopses when the system is rebooted, and/or errors during memory hotplug, eg: $ ./mem-on-off-test.sh -r 2 ... ehea: memory is going offline ehea: LPAR memory changed - re-initializing driver ehea: re-initializing driver complete ehea: memory is going offline ehea: LPAR memory changed - re-initializing driver ehea: opcode=26c ret=fffffffffffffffc arg1=8000000003000003 arg2=0 arg3=700000060000d600 arg4=3fded0000 arg5=200 arg6=0 arg7=0 ehea: register_rpage_mr failed ehea: registering mr failed ehea: register MR failed - driver inoperable! ehea: memory is going offline Fixes: aa183323312d ("ehea: Register memory hotplug, reboot and crash hooks on adapter probe") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dfc8f370316b31b9ca9ce96e50f1c438d9410b4f Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 15:22:23 2015 +1000 net/tg3: Release IRQs on permanent error When having permanent EEH error, the PCI device will be removed from the system. For this case, we shouldn't set pcierr_recovery to true wrongly, which blocks the driver to release the allocated interrupts and their handlers. Eventually, we can't disable MSI or MSIx successfully because of the MSI or MSIx interrupts still have associated interrupt actions, which is turned into following stack dump. Oops: Exception in kernel mode, sig: 5 [#1] : [c0000000003b76a8] .free_msi_irqs+0x80/0x1a0 (unreliable) [c00000000039f388] .pci_remove_bus_device+0x98/0x110 [c0000000000790f4] .pcibios_remove_pci_devices+0x9c/0x128 [c000000000077b98] .handle_eeh_events+0x2d8/0x4b0 [c0000000000782d0] .eeh_event_handler+0x130/0x1c0 [c000000000022bd4] .kernel_thread+0x54/0x70 Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Acked-by: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2000058e892cd6773b3061a56c0bd6535ac15afe Author: Jonatas Rech <jonatas.rech@xxxxxxxxxxxxxx> Date: Wed Apr 15 12:23:18 2015 -0300 spi: fsl-espi: fix behaviour for full-duplex xfers This patch makes possible for protocol drivers to do full-duplex SPI transfers properly. Until now this driver could only be used for half-duplex transfers, since it always expected an spi_transfer with non-null tx_buf to be only used for TX, and those with non-null rx_buf to be only used for RX. The fix consists in correcting the fsl_espi_transfer length by taking into consideration duplex spi_transfers, and not just by adding n_tx and n_rx. Furthermore, this correction has exposed an inconsistency in the protocol driver <-> controller driver interaction. The spi-fsl-espi driver artificially inserts TX bytes when message fragmentation is necessary (due to SPCOM_TRANLEN_MAX) instead of informing the protocol driver of the hardware limitation. This was tested with the m25p80 NOR flash protocol driver. Since fixing this issue may cause other client drivers to malfunction, it was left as is. Signed-off-by: Jonatas Rech <jonatas.rech@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 96cba9b00e297303774bec59e192064d20adeb3d Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 14 13:50:09 2015 -0700 platform/chrome: chromeos_laptop - instantiate Atmel at primary address The new Atmel MXT driver expects i2c client's address contain the primary (main address) of the chip, and calculates the expected bootloader address form the primary address. Unfortunately chrome_laptop does probe the devices and if touchpad (or touchscreen, or both) comes up in bootloader mode the i2c device gets instantiated with the bootloader address which confuses the driver. To work around this issue let's probe the primary address first. If the device is not detected at the primary address we'll probe alternative addresses as "dummy" devices. If any of them are found, destroy the dummy client and instantiate client with proper name at primary address still. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3cab989afd8d8d1bc3d99fef0e7ed87c31e7b647 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 15:47:07 2015 -0400 RCU pathwalk breakage when running into a symlink overmounting something Calling unlazy_walk() in walk_component() and do_last() when we find a symlink that needs to be followed doesn't acquire a reference to vfsmount. That's fine when the symlink is on the same vfsmount as the parent directory (which is almost always the case), but it's not always true - one _can_ manage to bind a symlink on top of something. And in such cases we end up with excessive mntput(). Cc: stable@xxxxxxxxxxxxxxx # since 2.6.39 Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ac74d8d65c83d8061034d0908e1eab6a0c24f923 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Thu Apr 16 15:04:56 2015 -0500 fix I_DIO_WAKEUP definition I_DIO_WAKEUP is never directly used, but fix it up anyway. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fe0f07d08ee35fb13d2cb048970072fe4f71ad14 Author: Jens Axboe <axboe@xxxxxx> Date: Wed Apr 15 17:05:48 2015 -0600 direct-io: only inc/dec inode->i_dio_count for file systems do_blockdev_direct_IO() increments and decrements the inode ->i_dio_count for each IO operation. It does this to protect against truncate of a file. Block devices don't need this sort of protection. For a capable multiqueue setup, this atomic int is the only shared state between applications accessing the device for O_DIRECT, and it presents a scaling wall for that. In my testing, as much as 30% of system time is spent incrementing and decrementing this value. A mixed read/write workload improved from ~2.5M IOPS to ~9.6M IOPS, with better latencies too. Before: clat percentiles (usec): | 1.00th=[ 33], 5.00th=[ 34], 10.00th=[ 34], 20.00th=[ 34], | 30.00th=[ 34], 40.00th=[ 34], 50.00th=[ 35], 60.00th=[ 35], | 70.00th=[ 35], 80.00th=[ 35], 90.00th=[ 37], 95.00th=[ 80], | 99.00th=[ 98], 99.50th=[ 151], 99.90th=[ 155], 99.95th=[ 155], | 99.99th=[ 165] After: clat percentiles (usec): | 1.00th=[ 95], 5.00th=[ 108], 10.00th=[ 129], 20.00th=[ 149], | 30.00th=[ 155], 40.00th=[ 161], 50.00th=[ 167], 60.00th=[ 171], | 70.00th=[ 177], 80.00th=[ 185], 90.00th=[ 201], 95.00th=[ 270], | 99.00th=[ 390], 99.50th=[ 398], 99.90th=[ 418], 99.95th=[ 422], | 99.99th=[ 438] In other setups, Robert Elliott reported seeing good performance improvements: https://lkml.org/lkml/2015/4/3/557 The more applications accessing the device, the worse it gets. Add a new direct-io flags, DIO_SKIP_DIO_COUNT, which tells do_blockdev_direct_IO() that it need not worry about incrementing or decrementing the inode i_dio_count for this caller. Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Elliott, Robert (Server Storage) <elliott@xxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8e3c500594dca9a12c27eb6d77b82e0766879bfd Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Apr 22 11:55:14 2015 +0200 fs/9p: fix readdir() Al Viro's IOV changes broke 9p readdir() because the new code didn't abort the read when it returned nothing. The original code checked if the combined error/length was <= 0 but in the new code that accidentally got changed to just an error check. Add back the return from the function when nothing is read. Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Fixes: e1200fe68f20 ("9p: switch p9_client_read() to passing struct iov_iter *") Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 149aabcc44e3e2c1f8fe4f0832be53d2db55b598 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Apr 10 12:56:41 2015 +0530 clockevents: Shutdown detached clockevent device A clockevent device is marked DETACHED when it is replaced by another clockevent device. The device is shutdown properly for drivers that implement legacy ->set_mode() callback, as we call ->set_mode() for CLOCK_EVT_MODE_UNUSED as well. But for the new per-state callback interface, we skip shutting down the device, as we thought its an internal state change. That wasn't correct. The effect is that the device is left programmed in oneshot or periodic mode. Fall-back to 'case CLOCK_EVT_STATE_SHUTDOWN', to shutdown the device. Fixes: bd624d75db21 "clockevents: Introduce mode specific callbacks" Reported-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/eef0a91c51b74d4e52c8e5a95eca27b5a0563f07.1428650683.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1dcc73d7bb0429994c54d33b40c5fb82b741a791 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Apr 22 18:20:04 2015 +0100 irqchip: gic: Drop support for gic_arch_extn Now that the users of gic_arch_extn have been fixed, drop the "feature" for good. This leads to the removal of some now useless locking. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 10a50f1ab5f06c9a3ee5ece3ec52e607ed53c79f Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Apr 15 11:14:11 2015 +0300 genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip Without this system suspend is broken on systems that have drivers calling enable/disable_irq_wake() for interrupts based off the dummy irq hook. (e.g. drivers/gpio/gpio-pcf857x.c) Signed-off-by: Roger Quadros <rogerq@xxxxxx> Cc: <cw00.choi@xxxxxxxxxxx> Cc: <balbi@xxxxxx> Cc: <tony@xxxxxxxxxxx> Cc: Gregory Clement <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/552E1DD3.4040106@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a3bdccc4e683f0ac69230707ed3fa20e7cf73a79 Author: Chris Mason <clm@xxxxxx> Date: Fri Apr 24 11:00:00 2015 -0700 Btrfs: prevent list corruption during free space cache processing __btrfs_write_out_cache is holding the ctl->tree_lock while it prepares a list of bitmaps to record in the free space cache. It was dropping the lock while it worked on other components, which made a window for free_bitmap() to free the bitmap struct without removing it from the list. This changes things to hold the lock the whole time, and also makes sure we hold the lock during enospc cleanup. Reported-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 547c4b547e07dcc60874b6ef6252dd49ff74aec1 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Apr 20 12:35:47 2015 +0200 netfilter: bridge: fix NULL deref in physin/out ifindex helpers Might not have an outdev yet. We'll oops when iface goes down while skbs are still nfqueue'd: RIP: 0010:[<ffffffff81422a2f>] [<ffffffff81422a2f>] dev_cmp+0x4f/0x80 nfqnl_rcv_dev_event+0xe2/0x150 notifier_call_chain+0x53/0xa0 Fixes: c737b7c4510026 ("netfilter: bridge: add helpers for fetching physin/outdev") Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4c4ed0748f82e26d8b884383e6737cf5a861ed6f Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Apr 14 16:44:14 2015 +0200 netfilter: nf_tables: fix wrong length for jump/goto verdicts NFT_JUMP/GOTO erronously sets length to sizeof(void *). We then allocate insufficient memory when such element is added to a vmap. Suggested-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 358d6a2c3ecae2b22c7d7e61f9d5672557446dfb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 21 12:01:32 2015 +0200 toshiba_acpi: Do not register vendor backlight when acpi_video bl is available commit a39f46df33c6 ("toshiba_acpi: Fix regression caused by backlight extra check code") causes the backlight to no longer work on the Toshiba Z30, reverting that commit fixes this but restores the original issue fixed by that commit. Looking at the toshiba_acpi backlight code for a fix for this I noticed that the toshiba code is the only code under platform/x86 which unconditionally registers a vendor acpi backlight interface, without checking for acpi_video backlight support first. This commit adds the necessary checks bringing toshiba_acpi in line with the other drivers, and fixing the Z30 regression without needing to revert the commit causing it. Chances are that there will be some Toshiba models which have a non working acpi-video implementation while the toshiba vendor backlight interface does work, this commit adds an empty dmi_id table where such systems can be added, this is identical to how other drivers handle such systems. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1206036 BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=86521 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-and-tested-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d19d133e432248c9b3efa9c10dda5f050cbbcd72 Merge: c666872 e8191a8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 10:31:32 2015 -0700 Merge tag 'sound-fix-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Here are a few fixes that have been pending since the previous pull request: a regression fix for HD-audio multiple SPDIF / HDMI devices, several ALC256 codec fixes, a couple of i915 HDMI audio fixes, and various small fixes. Nothing exciting, just boring, but things good to have" * tag 'sound-fix-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - fix headset mic detection problem for one more machine ALSA: hda/realtek - Fix Headphone Mic doesn't recording for ALC256 ALSA: hda - fix "num_steps = 0" error on ALC256 ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module ALSA: hda - add AZX_DCAPS_I915_POWERWELL to Baytrail ALSA: hda - only sync BCLK to the display clock for Haswell & Broadwell ALSA: hda - Mute headphone pin on suspend on XPS13 9333 sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND) ALSA: asound.h - use SNDRV_CTL_ELEM_ID_NAME_MAXLEN ALSA: hda - potential (but unlikely) uninitialized variable ALSA: hda - Fix regression for slave SPDIF setups ALSA: intel8x0: Check pci_iomap() success for DEVICE_ALI ALSA: hda - simplify azx_has_pm_runtime commit c6668726d2c2c581e6c417448c472c994d026f5f Merge: 06b45f2 68d4cef Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 10:22:09 2015 -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: "Lots of activity in target land the last months. The highlights include: - Convert fabric drivers tree-wide to target_register_template() (hch + bart) - iser-target hardening fixes + v1.0 improvements (sagi) - Convert iscsi_thread_set usage to kthread.h + kill iscsi_target_tq.c (sagi + nab) - Add support for T10-PI WRITE_STRIP + READ_INSERT operation (mkp + sagi + nab) - DIF fixes for CONFIG_DEBUG_SG=y + UNMAP file emulation (akinobu + sagi + mkp) - Extended TCMU ABI v2 for future BIDI + DIF support (andy + ilias) - Fix COMPARE_AND_WRITE handling for NO_ALLLOC drivers (hch + nab) Thanks to everyone who contributed this round with new features, bug-reports, fixes, cleanups and improvements. Looking forward, it's currently shaping up to be a busy v4.2 as well" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (69 commits) target: Put TCMU under a new config option target: Version 2 of TCMU ABI target: fix tcm_mod_builder.py target/file: Fix UNMAP with DIF protection support target/file: Fix SG table for prot_buf initialization target/file: Fix BUG() when CONFIG_DEBUG_SG=y and DIF protection enabled target: Make core_tmr_abort_task() skip TMFs target/sbc: Update sbc_dif_generate pr_debug output target/sbc: Make internal DIF emulation honor ->prot_checks target/sbc: Return INVALID_CDB_FIELD if DIF + sess_prot_type disabled target: Ensure sess_prot_type is saved across session restart target/rd: Don't pass incomplete scatterlist entries to sbc_dif_verify_* target: Remove the unused flag SCF_ACK_KREF target: Fix two sparse warnings target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling target: simplify the target template registration API target: simplify target_xcopy_init_pt_lun target: remove the unused SCF_CMD_XCOPY_PASSTHROUGH flag target/rd: reduce code duplication in rd_execute_rw() tcm_loop: fixup tpgt string to integer conversion ... commit 06b45f2aa703837163496f5db6a53575665cc6b4 Merge: b3f4ef0 c264f11 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 10:11:24 2015 -0700 Merge tag 'pwm/for-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm Pull pwm changes from Thierry Reding: "Not much has been happening in PWM land lately, so this contains mostly minor fixes that didn't seem urgent enough for a late pull-request last cycle" * tag 'pwm/for-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: pwm: Remove __init initializer for pwm_add_table() pwm: samsung: Fix output race on disabling pwm: mxs: Fix period divider computation pwm: atmel-hlcdc: Add errata handling for sama5d4 pwm: pca9685: Constify struct regmap_config pwm: imx-pwm: add explicit compatible strings and required clock properties commit b3f4ef0bf21da37e4dfc1cdfa0288ba39186fb56 Merge: d6a4c0e 72449cb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 10:05:39 2015 -0700 Merge tag 'dma-buf-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf Pull dma-buf updates from Sumit Semwal: "Minor cleanup only; this could've gone in for the 4.0 merge window, but for a copy-paste stupidity from me. It has been in the for-next since then, and no issues reported. - cleanup of dma_buf_export() - correction of copy-paste stupidity while doing the cleanup" * tag 'dma-buf-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf: staging: android: ion: fix wrong init of dma_buf_export_info dma-buf: cleanup dma_buf_export() to make it easily extensible commit d6a4c0e5d3d433ef296f8f417e835329a834a256 Merge: 474095e cdde0e6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 09:49:37 2015 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma Pull slave-dmaengine updates from Vinod Koul: - new drivers for: - Ingenic JZ4780 controller - APM X-Gene controller - Freescale RaidEngine device - Renesas USB Controller - remove device_alloc_chan_resources dummy handlers - sh driver cleanups for peri peri and related emmc and asoc patches as well - fixes and enhancements spread over the drivers * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (59 commits) dmaengine: dw: don't prompt for DW_DMAC_CORE dmaengine: shdmac: avoid unused variable warnings dmaengine: fix platform_no_drv_owner.cocci warnings dmaengine: pch_dma: fix memory leak on failure path in pch_dma_probe() dmaengine: at_xdmac: unlock spin lock before return dmaengine: xgene: devm_ioremap() returns NULL on error dmaengine: xgene: buffer overflow in xgene_dma_init_channels() dmaengine: usb-dmac: Fix dereferencing freed memory 'desc' dmaengine: sa11x0: report slave capabilities to upper layers dmaengine: vdma: Fix compilation warnings dmaengine: fsl_raid: statify fsl_re_chan_probe dmaengine: Driver support for FSL RaidEngine device. dmaengine: xgene_dma_init_ring_mngr() can be static Documentation: dma: Add documentation for the APM X-Gene SoC DMA device DTS binding arm64: dts: Add APM X-Gene SoC DMA device and DMA clock DTS nodes dmaengine: Add support for APM X-Gene SoC DMA engine driver dmaengine: usb-dmac: Add Renesas USB DMA Controller (USB-DMAC) driver dmaengine: renesas,usb-dmac: Add device tree bindings documentation dmaengine: edma: fixed wrongly initialized data parameter to the edma callback dmaengine: ste_dma40: fix implicit conversion ... commit 474095e46cd14421821da3201a9fd6a4c070996b Merge: d56a669 9ffc8f7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 09:28:01 2015 -0700 Merge tag 'md/4.1' of git://neil.brown.name/md Pull md updates from Neil Brown: "More updates that usual this time. A few have performance impacts which hould mostly be positive, but RAID5 (in particular) can be very work-load ensitive... We'll have to wait and see. Highlights: - "experimental" code for managing md/raid1 across a cluster using DLM. Code is not ready for general use and triggers a WARNING if used. However it is looking good and mostly done and having in mainline will help co-ordinate development. - RAID5/6 can now batch multiple (4K wide) stripe_heads so as to handle a full (chunk wide) stripe as a single unit. - RAID6 can now perform read-modify-write cycles which should help performance on larger arrays: 6 or more devices. - RAID5/6 stripe cache now grows and shrinks dynamically. The value set is used as a minimum. - Resync is now allowed to go a little faster than the 'mininum' when there is competing IO. How much faster depends on the speed of the devices, so the effective minimum should scale with device speed to some extent" * tag 'md/4.1' of git://neil.brown.name/md: (58 commits) md/raid5: don't do chunk aligned read on degraded array. md/raid5: allow the stripe_cache to grow and shrink. md/raid5: change ->inactive_blocked to a bit-flag. md/raid5: move max_nr_stripes management into grow_one_stripe and drop_one_stripe md/raid5: pass gfp_t arg to grow_one_stripe() md/raid5: introduce configuration option rmw_level md/raid5: activate raid6 rmw feature md/raid6 algorithms: xor_syndrome() for SSE2 md/raid6 algorithms: xor_syndrome() for generic int md/raid6 algorithms: improve test program md/raid6 algorithms: delta syndrome functions raid5: handle expansion/resync case with stripe batching raid5: handle io error of batch list RAID5: batch adjacent full stripe write raid5: track overwrite disk count raid5: add a new flag to track if a stripe can be batched raid5: use flex_array for scribble data md raid0: access mddev->queue (request queue member) conditionally because it is not set when accessed from dm-raid md: allow resync to go faster when there is competing IO. md: remove 'go_faster' option from ->sync_request() ... commit 2d6c9091ab7630dfcf34417c6683ce4764d7d40a Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 13:06:54 2015 -0400 net: mdio-gpio: support access that may sleep Some systems using mdio-gpio may use gpio on message based busses, which require sleeping (e.g. gpio from an I2C I/O expander). Since this driver does not use IRQ handler, it is safe to use the _cansleep suffixed gpio accessors. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 410ceb8f2f1d4edeb02d229ef192e76602005b8b Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Apr 24 10:45:16 2015 +0900 tools lib traceevent: Fix build failure on 32-bit arch In my i386 build, it failed like this: CC event-parse.o event-parse.c: In function 'print_str_arg': event-parse.c:3868:5: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t' [-Wformat] Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Javi Merino <javi.merino@xxxxxxx> Link: http://lkml.kernel.org/r/20150424020218.GF1905@sejong Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d56a669ca59c37ed0a7282a251b2f2f22533343a Merge: 836ee48 04fca0e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 08:46:18 2015 -0700 Merge tag 'devicetree-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull second batch of devicetree updates from Rob Herring: "As Grant mentioned in the first devicetree pull request, here is the 2nd batch of DT changes for 4.1. The main remaining item here is the endianness bindings and related 8250 driver support. - DT endianness specification bindings - big-endian 8250 serial support - DT overlay unittest updates - various DT doc updates - compile fixes for OF_IRQ=n" * tag 'devicetree-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: frv: add io{read,write}{16,32}be functions mn10300: add io{read,write}{16,32}be functions Documentation: DT bindings: add doc for Altera's SoCFPGA platform of: base: improve of_get_next_child() kernel-doc Doc: dt: arch_timer: discourage clock-frequency use of: unittest: overlay: Keep track of created overlays of/fdt: fix allocation size for device node path serial: of_serial: Support big-endian register accesses serial: 8250: Add support for big-endian MMIO accesses of: Document {little,big,native}-endian bindings of/fdt: Add endianness helper function for early init code of: Add helper function to check MMIO register endianness of/fdt: Remove "reg" data prints from early_init_dt_scan_memory of: add vendor prefix for Artesyn of: Add dummy of_irq_to_resource_table() for IRQ_OF=n of: OF_IRQ should depend on IRQ_DOMAIN commit 4ad1f4300e3bddf63109aa63cfb2d37e8585ecc7 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Tue Apr 14 13:49:33 2015 -0400 perf kmem: Fix compiles on RHEL6/OL6 0d68bc92c48 breaks compiles on RHEL6/OL6: cc1: warnings being treated as errors builtin-kmem.c: In function â??search_page_alloc_statâ??: builtin-kmem.c:322: error: declaration of â??statâ?? shadows a global declaration node = &parent->rb_left; /usr/include/sys/stat.h:455: error: shadowed declaration is here builtin-kmem.c: In function â??perf_evsel__process_page_alloc_eventâ??: builtin-kmem.c:378: error: declaration of â??statâ?? shadows a global declaration /usr/include/sys/stat.h:455: error: shadowed declaration is here builtin-kmem.c: In function â??perf_evsel__process_page_free_eventâ??: builtin-kmem.c:431: error: declaration of â??statâ?? shadows a global declaration /usr/include/sys/stat.h:455: error: shadowed declaration is here Rename local variable to pstat to avoid the name conflict. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429033773-31383-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b357a364c57c940ddb932224542494363df37378 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 23 18:03:44 2015 -0700 inet: fix possible panic in reqsk_queue_unlink() [ 3897.923145] BUG: unable to handle kernel NULL pointer dereference at 0000000000000080 [ 3897.931025] IP: [<ffffffffa9f27686>] reqsk_timer_handler+0x1a6/0x243 There is a race when reqsk_timer_handler() and tcp_check_req() call inet_csk_reqsk_queue_unlink() on the same req at the same time. Before commit fa76ce7328b2 ("inet: get rid of central tcp/dccp listener timer"), listener spinlock was held and race could not happen. To solve this bug, we change reqsk_queue_unlink() to not assume req must be found, and we return a status, to conditionally release a refcount on the request sock. This also means tcp_check_req() in non fastopen case might or not consume req refcount, so tcp_v6_hnd_req() & tcp_v4_hnd_req() have to properly handle this. (Same remark for dccp_check_req() and its callers) inet_csk_reqsk_queue_drop() is now too big to be inlined, as it is called 4 times in tcp and 3 times in dccp. Fixes: fa76ce7328b2 ("inet: get rid of central tcp/dccp listener timer") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d8dc3d3c8f1d8ee1da9d54c5d7c8694419ade42 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Apr 23 16:38:43 2015 +0200 rhashtable: don't attempt to grow when at max_size The conversion of mac80211's station table to rhashtable had a bug that I found by accident in code review, that hadn't been found as rhashtable apparently managed to have a maximum hash chain length of one (!) in all our testing. In order to test the bug and verify the fix I set my rhashtable's max_size very low (4) in order to force getting hash collisions. At that point, rhashtable WARNed in rhashtable_insert_rehash() but didn't actually reject the hash table insertion. This caused it to lose insertions - my master list of stations would have 9 entries, but the rhashtable only had 5. This may warrant a deeper look, but that WARN_ON() just shouldn't happen. Fix this by not returning true from rht_grow_above_100() when the rhashtable's max_size has been reached - in this case the user is explicitly configuring it to be at most that big, so even if it's now above 100% it shouldn't attempt to resize. This fixes the "lost insertion" issue and consequently allows my code to display its error (and verify my fix for it.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e580267df97eda407c525dbaee5430e0d51a0edb Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Apr 23 20:56:29 2015 +0200 bgmac: fix requests for extra polling calls from NAPI After d75b1ade567f ("net: less interrupt masking in NAPI") polling function has to return whole budget when it wants NAPI to call it again. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Felix Fietkau <nbd@xxxxxxxxxxx> Fixes: eb64e2923a886 ("bgmac: leave interrupts disabled as long as there is work to do") Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 836ee4874e201a5907f9658fb2bf3527dd952d30 Merge: fb65d87 7676fa7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 08:23:45 2015 -0700 Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull initial ACPI support for arm64 from Will Deacon: "This series introduces preliminary ACPI 5.1 support to the arm64 kernel using the "hardware reduced" profile. We don't support any peripherals yet, so it's fairly limited in scope: - MEMORY init (UEFI) - ACPI discovery (RSDP via UEFI) - CPU init (FADT) - GIC init (MADT) - SMP boot (MADT + PSCI) - ACPI Kconfig options (dependent on EXPERT) ACPI for arm64 has been in development for a while now and hardware has been available that can boot with either FDT or ACPI tables. This has been made possible by both changes to the ACPI spec to cater for ARM-based machines (known as "hardware-reduced" in ACPI parlance) but also a Linaro-driven effort to get this supported on top of the Linux kernel. This pull request is the result of that work. These changes allow us to initialise the CPUs, interrupt controller, and timers via ACPI tables, with memory information and cmdline coming from EFI. We don't support a hybrid ACPI/FDT scheme. Of course, there is still plenty of work to do (a serial console would be nice!) but I expect that to happen on a per-driver basis after this core series has been merged. Anyway, the diff stat here is fairly horrible, but splitting this up and merging it via all the different subsystems would have been extremely painful. Instead, we've got all the relevant Acks in place and I've not seen anything other than trivial (Kconfig) conflicts in -next (for completeness, I've included my resolution below). Nearly half of the insertions fall under Documentation/. So, we'll see how this goes. Right now, it all depends on EXPERT and I fully expect people to use FDT by default for the immediate future" * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (31 commits) ARM64 / ACPI: make acpi_map_gic_cpu_interface() as void function ARM64 / ACPI: Ignore the return error value of acpi_map_gic_cpu_interface() ARM64 / ACPI: fix usage of acpi_map_gic_cpu_interface ARM64: kernel: acpi: honour acpi=force command line parameter ARM64: kernel: acpi: refactor ACPI tables init and checks ARM64: kernel: psci: let ACPI probe PSCI version ARM64: kernel: psci: factor out probe function ACPI: move arm64 GSI IRQ model to generic GSI IRQ layer ARM64 / ACPI: Don't unflatten device tree if acpi=force is passed ARM64 / ACPI: additions of ACPI documentation for arm64 Documentation: ACPI for ARM64 ARM64 / ACPI: Enable ARM64 in Kconfig XEN / ACPI: Make XEN ACPI depend on X86 ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 clocksource / arch_timer: Parse GTDT to initialize arch timer irqchip: Add GICv2 specific ACPI boot support ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi ACPI / processor: Make it possible to get CPU hardware ID via GICC ACPI / processor: Introduce phys_cpuid_t for CPU hardware ID ARM64 / ACPI: Parse MADT for SMP initialization ... commit fb65d872d7a8dc629837a49513911d0281577bfd Merge: 05f0c55 6b7acae Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 08:10:53 2015 -0700 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM fixes from Russell King: "A few fixes for the recently merged development updates: - the update to convert a code branch in the procinfo structure forgot to update the nommu code. - VDSO only supported for V7 CPUs and later. - VDSO build creates files which should be ignored by git but are not. - ensure that make arch/arm/vdso/ doesn't build if it isn't enabled" * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: 8344/1: VDSO: honor CONFIG_VDSO in Makefile ARM: 8343/1: VDSO: add build artifacts to .gitignore ARM: Fix nommu booting ARM: 8342/1: VDSO: depend on CPU_V7 commit 845704a535e9b3c76448f52af1b70e4422ea03fd Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 23 10:42:39 2015 -0700 tcp: avoid looping in tcp_send_fin() Presence of an unbound loop in tcp_send_fin() had always been hard to explain when analyzing crash dumps involving gigantic dying processes with millions of sockets. Lets try a different strategy : In case of memory pressure, try to add the FIN flag to last packet in write queue, even if packet was already sent. TCP stack will be able to deliver this FIN after a timeout event. Note that this FIN being delivered by a retransmit, it also carries a Push flag given our current implementation. By checking sk_under_memory_pressure(), we anticipate that cooking many FIN packets might deplete tcp memory. In the case we could not allocate a packet, even with __GFP_WAIT allocation, then not sending a FIN seems quite reasonable if it allows to get rid of this socket, free memory, and not block the process from eventually doing other useful work. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05f0c553e2155b93a9b4edb96898458762bda867 Merge: 668b54a 1a70db49 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:59:07 2015 -0700 Merge tag 'nios2-v4.1-rc1' of git://git.rocketboards.org/linux-socfpga-next Pull arch/nios2 updates from Ley Foon Tan: - update cache management code - rework trap handler with new define trap #. - fix on check header warning. * tag 'nios2-v4.1-rc1' of git://git.rocketboards.org/linux-socfpga-next: nios2: rework cache nios2: Add types.h header required for __u32 type nios2: rework trap handler nios2: remove end address checking for initda commit 668b54a1c2c25bde34cd9c077b1c5f03b46bcb49 Merge: fab1e55 d91e14b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:58:07 2015 -0700 Merge tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux Pull blackfin updates from Steven Miao. * tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux: eth: bf609 eth clock: add pclk clock for stmmac driver probe blackfin: Wire up missing syscalls arch: blackfin: kernel: kgdb: Remove unused function dma: fix build error after update to v3.19 blackfin: io: define __raw_readx/writex with bfin_readx/writex bf609: add resources for lcd nl8048 pm: sometimes wake up from suspend to RAM would fail debug-mmrs: Eliminate all traces of the USB_PHY_TEST MMR bf609: remove softswitch i2c configuration from adv7842 and adv7511 platform data bf609: add platform data for soft switch devices on the video extenders bf609: enable soft switch gpio driver by default bf609: add gpio soft switch platform data for mcp23017 i2c devices bf609: use new SND_BF6XX_PCM to choose audio pcm driver bug[220] kgdb: change the smp cross core function entry arch: blackfin: kernel: setup.c: Cleaning up missing null-terminate in conjunction with strncpy blackfin: defconfigs: cleanup unused CONFIG_MTD_CHAR, add MTD_SPI_NOR for BF537-STAMP commit fab1e5502cf5719669c96c6f240e8eb963abfe6b Merge: c76397e 40346a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:56:50 2015 -0700 Merge tag 'metag-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag Pull Metag architecture updates from James Hogan: "Just the one change for v4.1-rc1. A minor cleanup of copy_thread()" * tag 'metag-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag: metag: copy_thread(): rename 'arg' argument to 'kthread_arg' commit c76397e9303f2c9ac3c2b9d94834ff241d2b2bd4 Merge: 860448c d8f6ad8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:55:54 2015 -0700 Merge tag 'arc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc Pull ARC updates from Vineet Gupta: - perf fixes/improvements - misc cleanups * tag 'arc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARC: perf: don't add code for impossible case ARC: perf: Rename DT binding to not confuse with power mgmt ARC: perf: add user space attribution in callchains ARC: perf: Add kernel callchain support ARC: perf: support cache hit/miss ratio ARC: perf: Add some comments/debug stuff ARC: perf: make @arc_pmu static global ARC: mem init spring cleaning - No functional changes ARC: Fix RTT boot printing ARC: fold __builtin_constant_p() into test_bit() ARC: rename unhandled exception handler ARC: cosmetic: Remove unused ECR bitfield masks ARC: Fix WRITE_BCR ARC: [nsimosci] Update defconfig arc: copy_thread(): rename 'arg' argument to 'kthread_arg' commit 860448cf76c0878b83d3cf343a0436188b396b8e Merge: ba0e4ae bff1752 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:46:05 2015 -0700 Merge branch 'for-4.1' of git://linux-nfs.org/~bfields/linux Pull nfsd updates from Bruce Fields: "A quiet cycle this time; this is basically entirely bugfixes. The few that aren't cc'd to stable are cleanup or seemed unlikely to affect anyone much" * 'for-4.1' of git://linux-nfs.org/~bfields/linux: uapi: Remove kernel internal declaration nfsd: fix nsfd startup race triggering BUG_ON nfsd: eliminate NFSD_DEBUG nfsd4: fix READ permission checking nfsd4: disallow SEEK with special stateids nfsd4: disallow ALLOCATE with special stateids nfsd: add NFSEXP_PNFS to the exflags array nfsd: Remove duplicate macro define for max sec label length nfsd: allow setting acls with unenforceable DENYs nfsd: NFSD_FAULT_INJECTION depends on DEBUG_FS nfsd: remove unused status arg to nfsd4_cleanup_open_state nfsd: remove bogus setting of status in nfsd4_process_open2 NFSD: Use correct reply size calculating function NFSD: Using path_equal() for checking two paths commit ba0e4ae88f0f71b42ad8734e0c371d321554f13b Merge: 1aef882 e082f56 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:40:02 2015 -0700 Merge branch 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs updates from Chris Mason: "I've been running these through a longer set of load tests because my commits change the free space cache writeout. It fixes commit stalls on large filesystems (~20T space used and up) that we have been triggering here. We were seeing new writers blocked for 10 seconds or more during commits, which is far from good. Josef and I fixed up ENOSPC aborts when deleting huge files (3T or more), that are triggered because our metadata reservations were not properly accounting for crcs and were not replenishing during the truncate. Also in this series, a number of qgroup fixes from Fujitsu and Dave Sterba collected most of the pending cleanups from the list" * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (93 commits) btrfs: quota: Update quota tree after qgroup relationship change. btrfs: quota: Automatically update related qgroups or mark INCONSISTENT flags when assigning/deleting a qgroup relations. btrfs: qgroup: clear STATUS_FLAG_ON in disabling quota. btrfs: Update btrfs qgroup status item when rescan is done. btrfs: qgroup: Fix dead judgement on qgroup_rescan_leaf() return value. btrfs: Don't allow subvolid >= (1 << BTRFS_QGROUP_LEVEL_SHIFT) to be created btrfs: Check qgroup level in kernel qgroup assign. btrfs: qgroup: allow to remove qgroup which has parent but no child. btrfs: qgroup: return EINVAL if level of parent is not higher than child's. btrfs: qgroup: do a reservation in a higher level. Btrfs: qgroup, Account data space in more proper timings. Btrfs: qgroup: Introduce a may_use to account space_info->bytes_may_use. Btrfs: qgroup: free reserved in exceeding quota. Btrfs: qgroup: cleanup, remove an unsued parameter in btrfs_create_qgroup(). btrfs: qgroup: fix limit args override whole limit struct btrfs: qgroup: update limit info in function btrfs_run_qgroups(). btrfs: qgroup: consolidate the parameter of fucntion update_qgroup_limit_item(). btrfs: qgroup: update qgroup in memory at the same time when we update it in btree. btrfs: qgroup: inherit limit info from srcgroup in creating snapshot. btrfs: Support busy loop of write and delete ... commit 1aef882f023eb7c24d6d77f001bd0ba956fdd861 Merge: d869844 542c311 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:08:41 2015 -0700 Merge tag 'xfs-for-linus-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs Pull xfs update from Dave Chinner: "This update contains: - RENAME_WHITEOUT support - conversion of per-cpu superblock accounting to use generic counters - new inode mmap lock so that we can lock page faults out of truncate, hole punch and other direct extent manipulation functions to avoid racing mmap writes from causing data corruption - rework of direct IO submission and completion to solve data corruption issue when running concurrent extending DIO writes. Also solves problem of running IO completion transactions in interrupt context during size extending AIO writes. - FALLOC_FL_INSERT_RANGE support for inserting holes into a file via direct extent manipulation to avoid needing to copy data within the file - attribute block header field overflow fix for 64k block size filesystems - Lots of changes to log messaging to be more informative and concise when errors occur. Also prevent a lot of unnecessary log spamming due to cascading failures in error conditions. - lots of cleanups and bug fixes One thing of note is the direct IO fixes that we merged last week after the window opened. Even though a little late, they fix a user reported data corruption and have been pretty well tested. I figured there was not much point waiting another 2 weeks for -rc1 to be released just so I could send them to you..." * tag 'xfs-for-linus-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (49 commits) xfs: using generic_file_direct_write() is unnecessary xfs: direct IO EOF zeroing needs to drain AIO xfs: DIO write completion size updates race xfs: DIO writes within EOF don't need an ioend xfs: handle DIO overwrite EOF update completion correctly xfs: DIO needs an ioend for writes xfs: move DIO mapping size calculation xfs: factor DIO write mapping from get_blocks xfs: unlock i_mutex in xfs_break_layouts xfs: kill unnecessary firstused overflow check on attr3 leaf removal xfs: use larger in-core attr firstused field and detect overflow xfs: pass attr geometry to attr leaf header conversion functions xfs: disallow ro->rw remount on norecovery mount xfs: xfs_shift_file_space can be static xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate fs: Add support FALLOC_FL_INSERT_RANGE for fallocate xfs: Fix incorrect positive ENOMEM return xfs: xfs_mru_cache_insert() should use GFP_NOFS xfs: %pF is only for function pointers xfs: fix shadow warning in xfs_da3_root_split() ... commit d869844bd081081bf537e806a44811884230643e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 23 08:33:59 2015 -0700 x86: fix special __probe_kernel_write() tail zeroing case Commit cae2a173fe94 ("x86: clean up/fix 'copy_in_user()' tail zeroing") fixed the failure case tail zeroing of one special case of the x86-64 generic user-copy routine, namely when used for the user-to-user case ("copy_in_user()"). But in the process it broke an even more unusual case: using the user copy routine for kernel-to-kernel copying. Now, normally kernel-kernel copies are obviously done using memcpy(), but we have a couple of special cases when we use the user-copy functions. One is when we pass a kernel buffer to a regular user-buffer routine, using set_fs(KERNEL_DS). That's a "normal" case, and continued to work fine, because it never takes any faults (with the possible exception of a silent and successful vmalloc fault). But Jan Beulich pointed out another, very unusual, special case: when we use the user-copy routines not because it's a path that expects a user pointer, but for a couple of ftrace/kgdb cases that want to do a kernel copy, but do so using "unsafe" buffers, and use the user-copy routine to gracefully handle faults. IOW, for probe_kernel_write(). And that broke for the case of a faulting kernel destination, because we saw the kernel destination and wanted to try to clear the tail of the buffer. Which doesn't work, since that's what faults. This only triggers for things like kgdb and ftrace users (eg trying setting a breakpoint on read-only memory), but it's definitely a bug. The fix is to not compare against the kernel address start (TASK_SIZE), but instead use the same limits "access_ok()" uses. Reported-and-tested-by: Jan Beulich <jbeulich@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.0 Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 73ee39a4c944a11cfd6d43ba1f634da340bf5537 Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Thu Apr 23 14:11:47 2015 +0200 spi: fsl-spi: fix devm_ioremap_resource() error case devm_ioremap_resource() doesn't return NULL but an ERR_PTR on error. Reported-by: Jonas Gorsky <jogo@xxxxxxxxxxx> Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 50574dd2f63ed0afc3b666da27eb7062d26a39c5 Author: Haikun Wang <haikun.wang@xxxxxxxxxxxxx> Date: Fri Apr 24 18:41:17 2015 +0800 spi: Kconfig: Add SOC_LS1021A to SPI_FSL_DSPI dependence LS1021A chip also has the DSPI module. Add it to the dependence. Signed-off-by: Haikun Wang <haikun.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8c98ebd7a6ff6ef352bb4c5516a8849b40b5ef6b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Apr 23 20:03:58 2015 +0200 crypto: img-hash - CRYPTO_DEV_IMGTEC_HASH should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `img_hash_write_via_dma_stop': img-hash.c:(.text+0xa2b822): undefined reference to `dma_unmap_sg' drivers/built-in.o: In function `img_hash_xmit_dma': img-hash.c:(.text+0xa2b8d8): undefined reference to `dma_map_sg' img-hash.c:(.text+0xa2b948): undefined reference to `dma_unmap_sg' Also move the "depends" section below the "tristate" line while we're at it. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 00425bb181c204c8f250fec122e2817a930e0286 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Apr 24 08:37:09 2015 +0200 crypto: x86/sha512_ssse3 - fixup for asm function prototype change Patch e68410ebf626 ("crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer") changed the prototypes of the core asm SHA-512 implementations so that they are compatible with the prototype used by the base layer. However, in one instance, the register that was used for passing the input buffer was reused as a scratch register later on in the code, and since the input buffer param changed places with the digest param -which needs to be written back before the function returns- this resulted in the scratch register to be dereferenced in a memory write operation, causing a GPF. Fix this by changing the scratch register to use the same register as the input buffer param again. Fixes: e68410ebf626 ("crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer") Reported-By: Bobby Powers <bobbypowers@xxxxxxxxx> Tested-By: Bobby Powers <bobbypowers@xxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5a1b11cbccda7680b6859a4648f7af16f30e79b4 Merge: 334c40b 8844d0f 145367b 7d0ec8b 575bec5 c5a06e7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 24 11:10:46 2015 +0100 Merge remote-tracking branches 'spi/fix/bcm2835', 'spi/fix/bcm2835-code', 'spi/fix/bitbang', 'spi/fix/fsl-cpm' and 'spi/fix/omap2-mcspi' into spi-linus commit 334c40b17f0cc3de114197fa2cd75f89e3387d22 Merge: 39a8804 f8bb820 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 24 11:10:45 2015 +0100 Merge remote-tracking branch 'spi/fix/core' into spi-linus commit 3168c201f7ca333d12f80f8d98bbbe3a33746f8b Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Thu Apr 23 16:35:17 2015 -0700 ASoC: rt5645: Add ACPI match ID This patch adds the ACPI match ID for rt5645/5650 codec Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 74d6ea52aeef0236242221c6eff6d892565c5a92 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Apr 24 15:19:29 2015 +0800 ASoC: rt5677: add register patch for PLL The PLL output will be unstable in some cases. We can fix it by setting some registers. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit c5a06e75f38376238db6a38240bac4b27dfe5216 Author: Fionn Cleary <clearyf@xxxxxx> Date: Thu Apr 23 21:13:40 2015 +0200 spi/omap2-mcpsi: Always call spi_finalize_current_message() The spi queue waits forever for spi_finalize_current_message() to be called, blocking the bus. Ensure that all error paths from omap2_mcspi_transfer_one_message() call spi_finalize_current_message(). Signed-off-by: Fionn Cleary <fionn.cleary@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit caf22d311a35d1c0c2c73e1f0988276d51175c8f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Apr 24 11:10:10 2015 +0200 mac80211: enable hash table shrinking The hashtable behaviour change was merged into the tree at about the same time as the mac80211 use of rhashtable, but of course these don't really conflict in the normal sense. Enable hash table shrinking now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 1a70db49a735350f221959bf26e9a12f63a743bc Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Fri Apr 24 14:18:55 2015 +0800 nios2: rework cache - flush dcache before flush instruction cache - remork update_mmu_cache and flush_dcache_page - add shmparam.h Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 2009337e30cdae64405ea7b8fa1578b921508871 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 14:48:35 2015 +0800 nios2: Add types.h header required for __u32 type Reported by the header checker (CONFIG_HEADERS_CHECK=y): CHECK usr/include/asm/ (31 files) ./usr/include/asm/ptrace.h:77: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit e8191a8e475551b277d85cd76c3f0f52fdf42e86 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Fri Apr 24 13:39:59 2015 +0800 ALSA: hda - fix headset mic detection problem for one more machine We have two machines with alc256 codec in the pin quirk table, so moving the common pins to ALC256_STANDARD_PINS. Cc: stable@xxxxxxxxxxxxxxx BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1447909 Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d91e14b3b9e1d8e1d552f4d6aff45551bbb410b1 Author: Steven Miao <realmz6@xxxxxxxxx> Date: Fri Apr 24 11:39:08 2015 +0800 eth: bf609 eth clock: add pclk clock for stmmac driver probe Signed-off-by: Steven Miao <realmz6@xxxxxxxxx> commit 4f650a5966038f439c5f8d7d85dcc6b3a77a4e7c Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Mon Apr 13 22:02:58 2015 +0800 blackfin: Wire up missing syscalls The related syscalls are below which may cause samples/kdbus building break in next-20150401 tree, the related information and error: CALL scripts/checksyscalls.sh <stdin>:1223:2: warning: #warning syscall kcmp not implemented [-Wcpp] <stdin>:1226:2: warning: #warning syscall finit_module not implemented [-Wcpp] <stdin>:1229:2: warning: #warning syscall sched_setattr not implemented [-Wcpp] <stdin>:1232:2: warning: #warning syscall sched_getattr not implemented [-Wcpp] <stdin>:1235:2: warning: #warning syscall renameat2 not implemented [-Wcpp] <stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp] <stdin>:1241:2: warning: #warning syscall getrandom not implemented [-Wcpp] <stdin>:1244:2: warning: #warning syscall memfd_create not implemented [-Wcpp] <stdin>:1247:2: warning: #warning syscall bpf not implemented [-Wcpp] <stdin>:1250:2: warning: #warning syscall execveat not implemented [-Wcpp] [...] HOSTCC samples/kdbus/kdbus-workers samples/kdbus/kdbus-workers.c: In function â??prime_newâ??: samples/kdbus/kdbus-workers.c:930:18: error: â??__NR_memfd_createâ?? undeclared (first use in this function) p->fd = syscall(__NR_memfd_create, "prime-area", MFD_CLOEXEC); ^ samples/kdbus/kdbus-workers.c:930:18: note: each undeclared identifier is reported only once for each function it appears in Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> commit 85db36cfb3de1422aeafb4e2ce83396333b744bb Author: Chris Mason <clm@xxxxxx> Date: Thu Apr 23 08:02:49 2015 -0700 Btrfs: fix inode cache writeout The code to fix stalls during free spache cache IO wasn't using the correct root when waiting on the IO for inode caches. This is only a problem when the inode cache is enabled with mount -o inode_cache This fixes the inode cache writeout to preserve any error values and makes sure not to override the root when inode cache writeout is done. Reported-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e0155a99b28f63e007c0c74076ad8ae486a3c9d3 Merge: 2363ccb 78b9ae3 6b5eab5 7d28435 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 24 02:18:52 2015 +0200 Merge branches 'acpi-dock', 'acpi-ec' and 'acpi-scan' * acpi-dock: MAINTAINERS: remove maintainship entry of docking station driver * acpi-ec: ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler() * acpi-scan: ACPI / scan: Add a scan handler for PRP0001 ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline() commit 7d284352f9cbc032f2294024b1a6b5c06765c246 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 24 02:18:01 2015 +0200 ACPI / scan: Add a scan handler for PRP0001 If the special PRP0001 device ID is present in the given device's list of ACPI/PNP IDs and the device has a valid "compatible" property in the _DSD, it should be enumerated using the default mechanism, unless some scan handlers match the IDs preceding PRP0001 in the device's list of ACPI/PNP IDs. In addition to that, no scan handlers matching the IDs following PRP0001 in that list should be attached to the device. To make that happen, define a scan handler that will match PRP0001 and trigger the default enumeration for the matching devices if the "compatible" property is present for them. Since that requires the check for platform_id and device->handler to be removed from acpi_default_enumeration(), move the fallback invocation of acpi_default_enumeration() to acpi_bus_attach() (after it's checked if there's a matching ACPI driver for the device), which is a better place to call it, and do the platform_id check in there too (device->handler is guaranteed to be unset at the point where the function is looking for a matching ACPI driver). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 4c533c801d1c9b5c38458a0e7516e0cf50643782 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Apr 18 01:25:46 2015 +0200 ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline() acpi_scan_is_offline() may be called under the physical_node_lock lock of the given device object's parent, so prevent lockdep from complaining about that by annotating that instance with SINGLE_DEPTH_NESTING. Fixes: caa73ea158de (ACPI / hotplug / driver core: Handle containers in a special way) Reported-and-tested-by: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Reviewed-by: Toshi Kani <toshi.kani@xxxxxx> Cc: 3.14+ <stable@xxxxxxxxxxxxxxx> # 3.14+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b5f1c97f944482e98e6e39208af356630389d1ea Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Wed Apr 15 16:52:30 2015 -0700 drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg Due this typo we don't save/restore the GFX_MAX_REQ_COUNT register across suspend/resume, so fix this. This was introduced in commit ddeea5b0c36f3665446518c609be91f9336ef674 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon May 5 15:19:56 2014 +0300 drm/i915: vlv: add runtime PM support I noticed this only by reading the code. To my knowledge it shouldn't cause any real problems at the moment, since the power well backing this register remains on across a runtime s/r. This may change once system-wide s0ix functionality is enabled in the kernel. v2: - resend after a missing git add -u :/ Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@xxxxxxxxx) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 6b7acae74fc2ffe6cfd7592e95ca933cadb31219 Merge: 4b2f883 0a9024e f80f653 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Apr 23 21:05:16 2015 +0000 Merge branches 'misc' and 'vdso' into for-next commit 53292cdb066950611e5bc2e0eb109c7edb42af78 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Apr 15 18:11:33 2015 +0100 drm/i915: Workaround to avoid lite restore with HEAD==TAIL WaIdleLiteRestore is an execlists-only workaround, and requires the driver to ensure that any context always has HEAD!=TAIL when attempting lite restore. Add two extra MI_NOOP instructions at the end of each request, but keep the requests tail pointing before the MI_NOOPs. We may not need to executed them, and this is why request->tail is sampled before adding these extra instructions. If we submit a context to the ELSP which has previously been submitted, move the tail pointer past the MI_NOOPs. This ensures HEAD!=TAIL. v2: Move overallocation to gen8_emit_request, and added note about sampling request->tail in commit message (Chris). v3: Remove redundant request->tail assignment in __i915_add_request, in lrc mode this is already set in execlists_context_queue. Do not add wa implementation details inside gem (Chris). v4: Apply the wa whenever the req has been resubmitted and update comment (Chris). Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9535c4757b881e06fae72a857485ad57c422b8d2 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 21 09:49:11 2015 -0700 drm/i915: cope with large i2c transfers The hardware, according to the specs, is limited to 256 byte transfers, and current driver has no protections in case users attempt to do larger transfers. The code will just stomp over status register and mayhem ensues. Let's split larger transfers into digestable chunks. Doing this allows Atmel MXT driver on Pixel 1 function properly (it hasn't since commit 9d8dc3e529a19e427fd379118acd132520935c5d "Input: atmel_mxt_ts - implement T44 message handling" which tries to consume multiple touchscreen/touchpad reports in a single transaction). Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit de28c15daf60e9625bece22f13a091fac8d05f1d Author: Bobby Powers <bobbypowers@xxxxxxxxx> Date: Tue Apr 21 19:19:41 2015 -0400 tools lib api: Undefine _FORTIFY_SOURCE before setting it Some toolchains (like Hardened Gentoo) define _FORTIFY_SOURCE in the built-in, default args. This causes perf builds to fail with: <command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] <built-in>: note: this is the location of the previous definition cc1: all warnings being treated as errors To avoid this, undefine _FORTIFY_SOURCE before (possibly re-)defining it in tools/lib/api. v2 applies cleanly on top of already pulled kbuild changes for 4.1-rc1. Signed-off-by: Bobby Powers <bobbypowers@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Dirk Gouders <dirk@xxxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-kbuild@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1429658381-3039-1-git-send-email-bobbypowers@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6145c259cd454bcb7a1288f7bbb7b4fbc18175dd Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Apr 23 14:40:37 2015 +0100 perf kmem: Consistently use PRIu64 for printing u64 values Building the perf tool for 32-bit ARM results in the following build error due to a combination of an incorrect conversion specifier and compiling with -Werror: builtin-kmem.c: In function â??print_page_summaryâ??: builtin-kmem.c:644:9: error: format â??%luâ?? expects argument of type â??long unsigned intâ??, but argument 3 has type â??u64â?? [-Werror=format=] nr_alloc_freed, (total_alloc_freed_bytes) / 1024); ^ builtin-kmem.c:647:9: error: format â??%luâ?? expects argument of type â??long unsigned intâ??, but argument 3 has type â??u64â?? [-Werror=format=] (total_page_alloc_bytes - total_alloc_freed_bytes) / 1024); ^ cc1: all warnings being treated as errors This patch fixes the problem by consistently using PRIu64 for printing out u64 values. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1429796437-1790-1-git-send-email-will.deacon@xxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 02ac5421ddc634767c732f9b6a10a395a9ecfc4f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Apr 22 11:11:57 2015 -0300 perf trace: Disable events and drain events when forked workload ends We were not checking in the inner event processing loop if the forked workload had finished, which, on a busy system, may make it take a long time trying to drain events, entering a seemingly neverending loop, waiting for the system to get idle enough to make it drain the buffers. Fix it by disabling the events when 'done' is true, in the inner loop, to start draining what is in the buffers. Now: [root@ssdandy ~]# time trace --filter-pids 14003 -a sleep 1 | tail 996.748 ( 0.002 ms): sh/30296 rt_sigprocmask(how: SETMASK, nset: 0x7ffc83418160, sigsetsize: 8) = 0 996.751 ( 0.002 ms): sh/30296 rt_sigprocmask(how: BLOCK, nset: 0x7ffc834181f0, oset: 0x7ffc83418270, sigsetsize: 8) = 0 996.755 ( 0.002 ms): sh/30296 rt_sigaction(sig: INT, act: 0x7ffc83417f50, oact: 0x7ffc83417ff0, sigsetsize: 8) = 0 1004.543 ( 0.362 ms): tail/30198 ... [continued]: read()) = 4096 1004.548 ( 7.791 ms): sh/30296 wait4(upid: -1, stat_addr: 0x7ffc834181a0) ... 1004.975 ( 0.427 ms): tail/30198 read(buf: 0x7633f0, count: 8192) = 4096 1005.390 ( 0.410 ms): tail/30198 read(buf: 0x765410, count: 8192) = 4096 1005.743 ( 0.348 ms): tail/30198 read(buf: 0x7633f0, count: 8192) = 4096 1006.197 ( 0.449 ms): tail/30198 read(buf: 0x765410, count: 8192) = 4096 1006.492 ( 0.290 ms): tail/30198 read(buf: 0x7633f0, count: 8192) = 4096 real 0m1.219s user 0m0.704s sys 0m0.331s [root@ssdandy ~]# Reported-by: Michael Petlan <mpetlan@xxxxxxxxxx> Suggested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-p6kpn1b26qcbe47pufpw0tex@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb24d01d217497fb32467de22d773655f47d3896 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Apr 22 10:04:23 2015 -0300 perf trace: Enable events when doing system wide tracing and starting a workload commit f7aa222ff397 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 13:25:39 2015 -0300 perf trace: No need to enable evsels for workload started from perf The assumption was that whenever a workload is specified, the attr.enable_on_exec evsel flag would be set, but that is not happening when perf_record_opts.system_wide is set, for instance That resulted in both perf_evlist__enable() and attr.enable_on_exec being not called/set, which made the events to remain disabled while the workload runs, producing no output. Fix it, by calling perf_evlist__enable() in the 'trace' tool when forking and not targetting a workload started from trace v2: Test against !target__none(), as suggested by Namhyung Kim, that is what is used in perf_evsel__config() when deciding if the attr.enable_on_exec flag to be set. More work is needed to cover other cases such as opts->initial_delay. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-27z7169pvfxgj8upic636syv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f139b6c676c7e49b66016b28bf3f8ec5c54be891 Merge: 21330b6 d654788 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Apr 23 15:16:37 2015 -0400 Merge tag 'nfs-rdma-for-4.1-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma NFS: NFSoRDMA Client Changes This patch series creates an operation vector for each of the different memory registration modes. This should make it easier to one day increase credit limit, rsize, and wsize. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 21330b667070fd64b2340d8d31c1b0800df78ec8 Merge: c775707 5fcdfac Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Apr 23 15:16:27 2015 -0400 Merge branch 'bugfixes' * bugfixes: NFSv4: Return delegations synchronously in evict_inode SUNRPC: Fix a regression when reconnecting NFS: remount with security change should return EINVAL nfs: do not export discarded symbols NFSv4.1: don't export static symbol commit c7757074839f2cd440521482d76ea180d0d4bdac Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Apr 23 17:17:40 2015 +0100 fs/nfs: fix new compiler warning about boolean in switch The brand new GCC 5.1.0 warns by default on using a boolean in the switch condition. This results in the following warning: fs/nfs/nfs4proc.c: In function 'nfs4_proc_get_rootfh': fs/nfs/nfs4proc.c:3100:10: warning: switch condition has boolean value [-Wswitch-bool] switch (auth_probe) { ^ This code was obviously using switch to make use of the fall-through semantics (without the usual comment, though). Rewrite that code using if statements to avoid the warning and make the code a bit more readable on the way. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c456aacf3c27b9a3013d4524fdc4bd0bb61fb884 Author: Firo Yang <firogm@xxxxxxxxx> Date: Thu Apr 23 17:17:51 2015 +0800 nfs: Remove unneeded casts in nfs Don't unnecessarily cast allocation return value in fs/nfs/inode.c::nfs_alloc_inode(). Signed-off-by: Firo Yang <firogm@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit ce85cfbed6fe3dbc01bd1976b23ac3e97878cde6 Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Tue Apr 21 14:17:35 2015 -0400 NFS: Don't attempt to decode missing directory entries If a READDIR reply comes back without any page data, avoid a NULL pointer dereference in xdr_copy_to_scratch(). BUG: unable to handle kernel NULL pointer dereference at 0000000000000001 IP: [<ffffffff813a378d>] memcpy+0xd/0x110 ... Call Trace: ? xdr_inline_decode+0x7a/0xb0 [sunrpc] nfs3_decode_dirent+0x73/0x320 [nfsv3] nfs_readdir_page_filler+0xd5/0x4e0 [nfs] ? nfs3_rpc_wrapper.constprop.9+0x42/0xc0 [nfsv3] nfs_readdir_xdr_to_array+0x1fa/0x330 [nfs] ? mem_cgroup_commit_charge+0xac/0x160 ? nfs_readdir_xdr_to_array+0x330/0x330 [nfs] nfs_readdir_filler+0x22/0x90 [nfs] do_read_cache_page+0x7e/0x1a0 read_cache_page+0x1c/0x20 nfs_readdir+0x18e/0x660 [nfs] ? nfs3_xdr_dec_getattr3res+0x80/0x80 [nfsv3] iterate_dir+0x97/0x130 SyS_getdents+0x94/0x120 ? fillonedir+0xd0/0xd0 system_call_fastpath+0x12/0x17 Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3708f842e107b9b79d54a75d152e666b693649e8 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Thu Apr 16 18:48:39 2015 +0800 Revert "nfs: replace nfs_add_stats with nfs_inc_stats when add one" This reverts commit 5a254d08b086d80cbead2ebcee6d2a4b3a15587a. Since commit 5a254d08b086 ("nfs: replace nfs_add_stats with nfs_inc_stats when add one"), nfs_readpage and nfs_do_writepage use nfs_inc_stats to increment NFSIOS_READPAGES and NFSIOS_WRITEPAGES instead of nfs_add_stats. However nfs_inc_stats does not do the same thing as nfs_add_stats with value 1 because these functions work on distinct stats: nfs_inc_stats increments stats from "enum nfs_stat_eventcounters" (in server->io_stats->events) and nfs_add_stats those from "enum nfs_stat_bytecounters" (in server->io_stats->bytes). Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Fixes: 5a254d08b086 ("nfs: replace nfs_add_stats with nfs_inc_stats...") Cc: stable@xxxxxxxxxxxxxxx # 3.19+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7b320382d0d861e46f55087b50d252410b1f402f Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Apr 15 13:00:06 2015 -0400 NFS: Rename idmap.c to nfs4idmap.c I added the nfs4 prefix to make it obvious that this file is built into the NFS v4 module, and not the generic client. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 40c64c26a43494ba9982fd1b87dc54e3819566fc Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Apr 15 13:00:05 2015 -0400 NFS: Move nfs_idmap.h into fs/nfs/ This file is only used internally to the NFS v4 module, so it doesn't need to be in the global include path. I also renamed it from nfs_idmap.h to nfs4idmap.h to emphasize that it's an NFSv4-only include file. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f9ebd61855253078fe8b07bacaf516337f8078e8 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Apr 15 13:00:04 2015 -0400 NFS: Remove CONFIG_NFS_V4 checks from nfs_idmap.h The idmapper is completely internal to the NFS v4 module, so this macro will always evaluate to true. This patch also removes unnecessary includes of this file from the generic NFS client. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7c61f0d3897eeeff6f3294adb9f910ddefa8035a Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Tue Apr 14 10:34:20 2015 -0400 NFS: Add a stub for GETDEVICELIST d4b18c3e (pnfs: remove GETDEVICELIST implementation) removed the GETDEVICELIST operation from the NFS client, but left a "hole" in the nfs4_procedures array. This caused /proc/self/mountstats to report an operation named "51" where GETDEVICELIST used to be. This patch adds a stub to fix mountstats. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Fixes: d4b18c3e (pnfs: remove GETDEVICELIST implementation) Cc: stable@xxxxxxxxxxxxxxx # 3.17+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 05f54903d9d370a4cd302a85681304d3ec59e5c1 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Thu Apr 9 23:02:17 2015 +0800 nfs: remove WARN_ON_ONCE from nfs_direct_good_bytes For flexfiles driver, we might choose to read from mirror index other than 0 while mirror_count is always 1 for read. Reported-by: Jean Spector <jean@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+ Cc: Weston Andros Adamson <dros@xxxxxxxxxxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 1ccbad9f9f9bd36db26a10f0b17fbaf12b3ae93a Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Thu Apr 9 23:02:16 2015 +0800 nfs: fix DIO good bytes calculation For direct read that has IO size larger than rsize, we'll split it into several READ requests and nfs_direct_good_bytes() would count completed bytes incorrectly by eating last zero count reply. Fix it by handling mirror and non-mirror cases differently such that we only count mirrored writes differently. This fixes 5fadeb47("nfs: count DIO good bytes correctly with mirroring"). Reported-by: Jean Spector <jean@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+ Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit ea96d1ecbe4fcb1df487d99309d3157b4ff5fc02 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Fri Apr 3 14:35:59 2015 -0400 nfs: Fetch MOUNTED_ON_FILEID when updating an inode 2ef47eb1 (NFS: Fix use of nfs_attr_use_mounted_on_fileid()) was a good start to fixing a circular directory structure warning for NFS v4 "junctioned" mountpoints. Unfortunately, further testing continued to generate this error. My server is configured like this: anna@nfsd ~ % df Filesystem Size Used Avail Use% Mounted on /dev/vda1 9.1G 2.0G 6.5G 24% / /dev/vdc1 1014M 33M 982M 4% /exports /dev/vdc2 1014M 33M 982M 4% /exports/vol1 /dev/vdc3 1014M 33M 982M 4% /exports/vol1/vol2 anna@nfsd ~ % cat /etc/exports /exports/ *(rw,async,no_subtree_check,no_root_squash) /exports/vol1/ *(rw,async,no_subtree_check,no_root_squash) /exports/vol1/vol2 *(rw,async,no_subtree_check,no_root_squash) I've been running chown across the entire mountpoint twice in a row to hit this problem. The first run succeeds, but the second one fails with the circular directory warning along with: anna@client ~ % dmesg [Apr 3 14:28] NFS: server 192.168.100.204 error: fileid changed fsid 0:39: expected fileid 0x100080, got 0x80 WHere 0x80 is the mountpoint's fileid and 0x100080 is the mounted-on fileid. This patch fixes the issue by requesting an updated mounted-on fileid from the server during nfs_update_inode(), and then checking that the fileid stored in the nfs_inode matches either the fileid or mounted-on fileid returned by the server. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3f9400981691f6845e5c22b962500742b80a5484 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Tue Mar 31 12:03:28 2015 -0400 sunrpc: make debugfs file creation failure non-fatal v2: gracefully handle the case where some dentry pointers end up NULL and be more dilligent about zeroing out dentry pointers We currently have a problem that SELinux policy is being enforced when creating debugfs files. If a debugfs file is created as a side effect of doing some syscall, then that creation can fail if the SELinux policy for that process prevents it. This seems wrong. We don't do that for files under /proc, for instance, so Bruce has proposed a patch to fix that. While discussing that patch however, Greg K.H. stated: "No kernel code should care / fail if a debugfs function fails, so please fix up the sunrpc code first." This patch converts all of the sunrpc debugfs setup code to be void return functins, and the callers to not look for errors from those functions. This should allow rpc_clnt and rpc_xprt creation to work, even if the kernel fails to create debugfs files for some reason. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: "J. Bruce Fields" <bfields@xxxxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5d05e54af3cdbb13cf19c557ff2184781b91a22c Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Mar 20 15:15:14 2015 -0400 nfs: fix high load average due to callback thread sleeping Chuck pointed out a problem that crept in with commit 6ffa30d3f734 (nfs: don't call blocking operations while !TASK_RUNNING). Linux counts tasks in uninterruptible sleep against the load average, so this caused the system's load average to be pinned at at least 1 when there was a NFSv4.1+ mount active. Not a huge problem, but it's probably worth fixing before we get too many complaints about it. This patch converts the code back to use TASK_INTERRUPTIBLE sleep, simply has it flush any signals on each loop iteration. In practice no one should really be signalling this thread at all, so I think this is reasonably safe. With this change, there's also no need to game the hung task watchdog so we can also convert the schedule_timeout call back to a normal schedule. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Tested-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Fixes: commit 6ffa30d3f734 (â??nfs: don't call blocking . . .â??) Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f830f7ddd9165c8bd69127458627f03df4b1a406 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Mar 16 14:06:24 2015 -0400 NFS: Reduce time spent holding the i_mutex during fallocate() At the very least, we should not be taking the i_mutex until after checking if the server even supports ALLOCATE or DEALLOCATE, allowing v4.0 or v4.1 to exit without potentially waiting on a lock. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9a51940bf65bf9fdc93027d70bdecdfc403c5b24 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Mar 16 14:06:23 2015 -0400 NFS: Don't zap caches on fallocate() This patch adds a GETATTR to the end of ALLOCATE and DEALLOCATE operations so we can set the updated inode size and change attribute directly. DEALLOCATE will still need to release pagecache pages, so nfs42_proc_deallocate() now calls truncate_pagecache_range() before contacting the server. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e4b6c30375e83b92d9c3e9b9d853417e8cc74006 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Tue Apr 21 13:09:45 2015 -0700 ethernet: myri10ge: use arch_phys_wc_add() This driver already uses ioremap_wc() on the same range so when write-combining is available that will be used instead. Cc: Hyong-Youb Kim <hykim@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2fb42aab48762fb1d5e21fbb40acad0f2650b9b4 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Apr 23 20:04:51 2015 +0200 can: CAN_GRCAN should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `grcan_free_dma_buffers': grcan.c:(.text+0x2d7716): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `grcan_allocate_dma_buffers': grcan.c:(.text+0x2d779c): undefined reference to `dma_alloc_coherent' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0357cc1def050c4d6107835ed6b79122243bd240 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Apr 23 19:59:34 2015 +0200 ethernet: arc: ARC_EMAC and EMAC_ROCKCHIP should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `arc_emac_tx_clean': emac_main.c:(.text+0x2decde): undefined reference to `dma_unmap_single' drivers/built-in.o: In function `arc_emac_rx': emac_main.c:(.text+0x2dee1c): undefined reference to `dma_unmap_single' emac_main.c:(.text+0x2dee72): undefined reference to `dma_map_single' emac_main.c:(.text+0x2dee7e): undefined reference to `dma_mapping_error' drivers/built-in.o: In function `arc_emac_probe': (.text+0x2df2ee): undefined reference to `dmam_alloc_coherent' drivers/built-in.o: In function `arc_emac_open': emac_main.c:(.text+0x2df6d8): undefined reference to `dma_map_single' emac_main.c:(.text+0x2df6e4): undefined reference to `dma_mapping_error' drivers/built-in.o: In function `arc_emac_tx': emac_main.c:(.text+0x2df9e4): undefined reference to `dma_map_single' emac_main.c:(.text+0x2df9f0): undefined reference to `dma_mapping_error' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61e77d297dd1fc739828027a2790ee5365de50d2 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Apr 23 19:59:33 2015 +0200 ethernet: amd: AMD_XGBE should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `xgbe_probe': xgbe-main.c:(.text+0x2def0a): undefined reference to `dma_set_mask' xgbe-main.c:(.text+0x2def20): undefined reference to `dma_supported' drivers/built-in.o: In function `xgbe_rx_poll': xgbe-drv.c:(.text+0x2e0320): undefined reference to `dma_sync_single_for_cpu' xgbe-drv.c:(.text+0x2e035e): undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `xgbe_unmap_rdata': xgbe-desc.c:(.text+0x2e5fe4): undefined reference to `dma_unmap_page' xgbe-desc.c:(.text+0x2e5ffa): undefined reference to `dma_unmap_single' xgbe-desc.c:(.text+0x2e604a): undefined reference to `dma_unmap_page' xgbe-desc.c:(.text+0x2e6084): undefined reference to `dma_unmap_page' drivers/built-in.o: In function `xgbe_alloc_pages': xgbe-desc.c:(.text+0x2e6156): undefined reference to `dma_map_page' xgbe-desc.c:(.text+0x2e6164): undefined reference to `dma_mapping_error' drivers/built-in.o: In function `xgbe_free_ring': xgbe-desc.c:(.text+0x2e63d4): undefined reference to `dma_unmap_page' xgbe-desc.c:(.text+0x2e640e): undefined reference to `dma_unmap_page' xgbe-desc.c:(.text+0x2e644a): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `xgbe_init_ring': xgbe-desc.c:(.text+0x2e64d4): undefined reference to `dma_alloc_coherent' drivers/built-in.o: In function `xgbe_map_tx_skb': xgbe-desc.c:(.text+0x2e6628): undefined reference to `dma_map_single' xgbe-desc.c:(.text+0x2e6638): undefined reference to `dma_mapping_error' xgbe-desc.c:(.text+0x2e66b2): undefined reference to `dma_map_single' xgbe-desc.c:(.text+0x2e66c2): undefined reference to `dma_mapping_error' xgbe-desc.c:(.text+0x2e6762): undefined reference to `dma_map_page' xgbe-desc.c:(.text+0x2e6772): undefined reference to `dma_mapping_error' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fcdd5f09c03bfc95f196dfa781ff447c5cbcc319 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Thu Apr 23 13:42:02 2015 +0200 i2c: st: add include for pinctrl The driver uses pinctrl directly and thus should include the appropriate header. Sort the headers while we are here to have a better view what is included and what is not. Reported-by: Pascal Huerst <pascal.huerst@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 133778482ec6c8fde69406be380333963627c17a Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 23 10:29:09 2015 +0200 i2c: mux: use proper dev when removing "channel-X" symlinks Those symlinks are created for the mux_dev, so we need to remove it from there. Currently, it breaks for muxes where the mux_dev is not the device of the parent adapter like this: [ 78.234644] WARNING: CPU: 0 PID: 365 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x5c/0x78() [ 78.242438] sysfs: cannot create duplicate filename '/devices/platform/i2cbus@8/channel-0' Remove confusing comments while we are here. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Fixes: c9449affad2ae0 Cc: stable@xxxxxxxxxx commit 4c8979b226d773a02586ca75e88b6fb4b2d63a7b Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Apr 22 10:16:11 2015 +0200 i2c: digicolor: remove duplicate include And sort them to prevent this from happening again. Reported-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6ada5c1e1b077ab98fc144d7ac132b4dcc0148ec Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 13:05:19 2015 +0100 i2c: Mark adapter devices with pm_runtime_no_callbacks Commit 523c5b89640e ("i2c: Remove support for legacy PM") removed the PM ops from the bus type, which causes the pm operations on the s3c2410 adapter device to fail (-ENOSUPP in rpm_callback). The adapter device doesn't get bound to a driver and as such can't have its own pm_runtime callbacks. Previously this was fine as the bus callbacks would have been used, but now this can cause devices which use PM runtime and are attached over I2C to fail to resume. This commit fixes this issue by marking all adapter devices with pm_runtime_no_callbacks, since they can't have any. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Beata Michalska <b.michalska@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Fixes: 523c5b89640e Cc: stable@xxxxxxxxxx commit 9ef8a0bee93606afb1dd111ccc1d467f261099cc Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 15:51:40 2015 +0200 i2c: pca-platform: fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> commit 4daf5a2839b38cbb2d234d35bff993609d12ba61 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 15:51:39 2015 +0200 i2c: mxs: fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> commit c6cbfb91b878224e78408a2e15901c79de77115a Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Apr 20 15:14:47 2015 -0700 i2c: rk3x: report number of messages transmitted master_xfer() method should return number of i2c messages transferred, but on Rockchip we were usually returning just 1, which caused trouble with users that actually check number of transferred messages vs. checking for negative error codes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit d1ab39f17f8653021620d0355ee1cd24d7442a4f Author: Jason Eastman <eastman.jason.linux@xxxxxxxxx> Date: Wed Apr 22 00:56:42 2015 -0600 net: unix: garbage: fixed several comment and whitespace style issues fixed several comment and whitespace style issues Signed-off-by: Jason Eastman <eastman.jason.linux@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8406a4d56ea94d1d91f62cab3bed15399bac73cb Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Apr 23 10:47:44 2015 -0600 elevator: fix double release of elevator module Our issue is descripted in below call path: ->elevator_init ->elevator_init_fn ->{cfq,deadline,noop}_init_queue ->elevator_alloc ->kzalloc_node fail to call kzalloc_node and then put module in elevator_alloc; fail to call elevator_init_fn and then put module again in elevator_init. Remove elevator_put invoking in error path of elevator_alloc to avoid double release issue. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 464d1387acb94dc43ba772b35242345e3d2ead1b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Apr 21 16:49:13 2015 -0400 writeback: use |1 instead of +1 to protect against div by zero mm/page-writeback.c has several places where 1 is added to the divisor to prevent division by zero exceptions; however, if the original divisor is equivalent to -1, adding 1 leads to division by zero. There are three places where +1 is used for this purpose - one in pos_ratio_polynom() and two in bdi_position_ratio(). The second one in bdi_position_ratio() actually triggered div-by-zero oops on a machine running a 3.10 kernel. The divisor is x_intercept - bdi_setpoint + 1 == span + 1 span is confirmed to be (u32)-1. It isn't clear how it ended up that but it could be from write bandwidth calculation underflow fixed by c72efb658f7c ("writeback: fix possible underflow in write bandwidth calculation"). At any rate, +1 isn't a proper protection against div-by-zero. This patch converts all +1 protections to |1. Note that bdi_update_dirty_ratelimit() was already using |1 before this patch. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2a34c0872adf252f23a6fef2d051a169ac796cef Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Apr 21 10:00:20 2015 +0800 blk-mq: fix CPU hotplug handling hctx->tags has to be set as NULL in case that it is to be unmapped no matter if set->tags[hctx->queue_num] is NULL or not in blk_mq_map_swqueue() because shared tags can be freed already from another request queue. The same situation has to be considered during handling CPU online too. Unmapped hw queue can be remapped after CPU topo is changed, so we need to allocate tags for the hw queue in blk_mq_map_swqueue(). Then tags allocation for hw queue can be removed in hctx cpu online notifier, and it is reasonable to do that after mapping is updated. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx> Tested-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f054b56c951bf1731ba7314a4c7f1cc0b2977cc9 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Apr 21 10:00:19 2015 +0800 blk-mq: fix race between timeout and CPU hotplug Firstly during CPU hotplug, even queue is freezed, timeout handler still may come and access hctx->tags, which may cause use after free, so this patch deactivates timeout handler inside CPU hotplug notifier. Secondly, tags can be shared by more than one queues, so we have to check if the hctx has been unmapped, otherwise still use-after-free on tags can be triggered. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx> Tested-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 9283b42e46c2646dff1bec47e2dd683add7f9972 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Thu Apr 23 10:24:45 2015 -0600 NVMe: Fix VPD B0 max sectors translation Use the namespace's block format for reporting the max transfer length. Max unmap count is left as-is since NVMe doesn't provide a max, so the value the driver provided the block layer is valid for any format. Reported-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 37a06a87f20d93c2cec3db9aaf0360a322b703dd Merge: 4fce148 73a3173 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 23 11:50:34 2015 -0400 Merge branch 'tipc-fixes' Jon Maloy says: ==================== tipc: three bug fixes A set of unrelated corrections; one for the tipc netns implementation, one regarding problems with random link resets, and one removing a an erroneous refcount decrement when reading link statistsics via netlink. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73a317377303b5ec14d4703d73ba87efffbb779d Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Apr 23 09:37:40 2015 -0400 tipc: fix node refcount issue When link statistics is dumped over netlink, we iterate over the list of peer nodes and append each links statistics to the netlink msg. In the case where the dump is resumed after filling up a nlmsg, the node refcnt is decremented without having been incremented previously which may cause the node reference to be freed. When this happens, the following info/stacktrace will be generated, followed by a crash or undefined behavior. We fix this by removing the erroneous call to tipc_node_put inside the loop that iterates over nodes. [ 384.312303] INFO: trying to register non-static key. [ 384.313110] the code is fine but needs lockdep annotation. [ 384.313290] turning off the locking correctness validator. [ 384.313290] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.0.0+ #13 [ 384.313290] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 384.313290] ffff88003c6d0290 ffff88003cc03ca8 ffffffff8170adf1 0000000000000007 [ 384.313290] ffffffff82728730 ffff88003cc03d38 ffffffff810a6a6d 00000000001d7200 [ 384.313290] ffff88003c6d0ab0 ffff88003cc03ce8 0000000000000285 0000000000000001 [ 384.313290] Call Trace: [ 384.313290] <IRQ> [<ffffffff8170adf1>] dump_stack+0x4c/0x65 [ 384.313290] [<ffffffff810a6a6d>] __lock_acquire+0xf3d/0xf50 [ 384.313290] [<ffffffff810a7375>] lock_acquire+0xd5/0x290 [ 384.313290] [<ffffffffa0043e8c>] ? link_timeout+0x1c/0x170 [tipc] [ 384.313290] [<ffffffffa0043e70>] ? link_state_event+0x4e0/0x4e0 [tipc] [ 384.313290] [<ffffffff81712890>] _raw_spin_lock_bh+0x40/0x80 [ 384.313290] [<ffffffffa0043e8c>] ? link_timeout+0x1c/0x170 [tipc] [ 384.313290] [<ffffffffa0043e8c>] link_timeout+0x1c/0x170 [tipc] [ 384.313290] [<ffffffff810c4698>] call_timer_fn+0xb8/0x490 [ 384.313290] [<ffffffff810c45e0>] ? process_timeout+0x10/0x10 [ 384.313290] [<ffffffff810c5a2c>] run_timer_softirq+0x21c/0x420 [ 384.313290] [<ffffffffa0043e70>] ? link_state_event+0x4e0/0x4e0 [tipc] [ 384.313290] [<ffffffff8105a954>] __do_softirq+0xf4/0x630 [ 384.313290] [<ffffffff8105afdd>] irq_exit+0x5d/0x60 [ 384.313290] [<ffffffff8103ade1>] smp_apic_timer_interrupt+0x41/0x50 [ 384.313290] [<ffffffff817144a0>] apic_timer_interrupt+0x70/0x80 [ 384.313290] <EOI> [<ffffffff8100db10>] ? default_idle+0x20/0x210 [ 384.313290] [<ffffffff8100db0e>] ? default_idle+0x1e/0x210 [ 384.313290] [<ffffffff8100e61a>] arch_cpu_idle+0xa/0x10 [ 384.313290] [<ffffffff81099803>] cpu_startup_entry+0x2c3/0x530 [ 384.313290] [<ffffffff810d2893>] ? clockevents_register_device+0x113/0x200 [ 384.313290] [<ffffffff81038b0f>] start_secondary+0x13f/0x170 Fixes: 8a0f6ebe8494 ("tipc: involve reference counter for node structure") Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9871b27f6705fc6e0ba633b136369a289b2bfb99 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Apr 23 09:37:39 2015 -0400 tipc: fix random link reset problem In the function tipc_sk_rcv(), the stack variable 'err' is only initialized to TIPC_ERR_NO_PORT for the first iteration over the link input queue. If a chain of messages are received from a link, failure to lookup the socket for any but the first message will cause the message to bounce back out on a random link. We fix this by properly initializing err. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit def81f69bfbd70a3278a7592a4ab8717300cbac1 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Thu Apr 23 09:37:38 2015 -0400 tipc: fix topology server broken issue When a new topology server is launched in a new namespace, its listening socket is inserted into the "init ns" namespace's socket hash table rather than the one owned by the new namespace. Although the socket's namespace is forcedly changed to the new namespace later, the socket is still stored in the socket hash table of "init ns" namespace. When a client created in the new namespace connects its own topology server, the connection is failed as its server's socket could not be found from its own namespace's socket table. If __sock_create() instead of original sock_create_kern() is used to create the server's socket through specifying an expected namesapce, the socket will be inserted into the specified namespace's socket table, thereby avoiding to the topology server broken issue. Fixes: 76100a8a64bc ("tipc: fix netns refcnt leak") Reported-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4fce14820c1b0a3fd399719f970e0c3ae40dd270 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 23 14:43:05 2015 +1000 ibmveth: Fix off-by-one error in ibmveth_change_mtu() AFAIK the PAPR document which defines the virtual device interface used by the ibmveth driver doesn't specify a specific maximum MTU. So, in the ibmveth driver, the maximum allowed MTU is determined by the maximum allocated buffer size of 64k (corresponding to one page in the common case) minus the per-buffer overhead IBMVETH_BUFF_OH (which has value 22 for 14 bytes of ethernet header, plus 8 bytes for an opaque handle). This suggests a maximum allowable MTU of 65514 bytes, but in fact the driver only permits a maximum MTU of 65513. This is because there is a < instead of an <= in ibmveth_change_mtu(), which only permits an MTU which is strictly smaller than the buffer size, rather than allowing the buffer to be completely filled. This patch fixes the buglet. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec65aafb9e3f316ff9167289e288856a7d528773 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Apr 23 12:06:30 2015 +0200 netdev_alloc_pcpu_stats: use less common iterator variable With the CPU iteration variable called 'i', it's relatively easy to have variable shadowing which sparse will warn about. Avoid that by renaming the variable to __cpu which is less likely to be used in the surrounding context. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9061ef5d4da934cfc6e052a1e486077d29f267d Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 1 18:54:26 2015 +0100 arch: blackfin: kernel: kgdb: Remove unused function Remove the function kgdb_post_primary_code() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Acked-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit 57127645d79d2e83e801f141f7d03f64accf28aa Author: Harald Freudenberger <freude@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:52:52 2015 +0100 s390/zcrypt: Introduce new SHA-512 based Pseudo Random Generator. Rework of the prandom device with introduction of a new SHA-512 based NIST SP 800-90 conform deterministic random bit generator. Signed-off-by: Harald Freudenberger <freude@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a1c843b82541fdd4c4644607c942dabc7c7e6f6c Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 22 13:55:59 2015 +0200 s390/mm: change swap pte encoding and pgtable cleanup After the file ptes have been removed the bit combination used to encode non-linear mappings can be reused for the swap ptes. This frees up a precious pte software bit. Reflect the change in the swap encoding in the comments and do some cleanup while we are at it. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b7d14f3a92223c3f5e52e9f20c74cb96dc130e87 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 22 10:26:20 2015 +0200 s390/mm: correct transfer of dirty & young bits in __pmd_to_pte The dirty & young bit from the pmd is not copied correctly to the pseudo pte in __pmd_to_pte. In fact it is not copied at all, the bits get lost. As the old style huge page currently does not need the dirty & young information this has no effect, but may be needed in the future. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 77a87f0cb1a57237860754525d4e8cb2789e6e12 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Apr 21 16:50:08 2015 +0200 s390/bpf: add dependency to z196 features The new ebpf code uses e.g. the laal instruction which is part of the interlocked-access facility 1 which again was introduced with z196. So we must make sure the ebpf code generator depends on MARCH_Z196_FEATURES. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> commit 0a7c501e6759db49d9dffb10ed62142d705e3f90 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Mon Apr 20 10:26:52 2015 +0200 s390/3215: free memory in error path If one memory allocation fails, there is a memory leak. Signed-off-by: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0b46e0a3ec0d7a04af6a091354f1b5e1b952d70a Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 15 13:23:26 2015 +0200 s390/kvm: remove delayed reallocation of page tables for KVM Replacing a 2K page table with a 4K page table while a VMA is active for the affected memory region is fundamentally broken. Rip out the page table reallocation code and replace it with a simple system control 'vm.allocate_pgste'. If the system control is set the page tables for all processes are allocated as full 4K pages, even for processes that do not need it. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 7e01b5acd88b3f3108d8c4ce44e3205d67437202 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Apr 16 14:47:33 2015 +0200 kexec: allocate the kexec control page with KEXEC_CONTROL_MEMORY_GFP Introduce KEXEC_CONTROL_MEMORY_GFP to allow the architecture code to override the gfp flags of the allocation for the kexec control page. The loop in kimage_alloc_normal_control_pages allocates pages with GFP_KERNEL until a page is found that happens to have an address smaller than the KEXEC_CONTROL_MEMORY_LIMIT. On systems with a large memory size but a small KEXEC_CONTROL_MEMORY_LIMIT the loop will keep allocating memory until the oom killer steps in. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 60f4b626d5b5c5724b010200a8c2ff3169f6f4db Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Apr 23 14:02:30 2015 +0200 mac80211: fix rhashtable conversion My conversion of the mac80211 station hash table to rhashtable completely broke the lookup in sta_info_get() as it no longer took into account the virtual interface. Fix that. Fixes: 7bedd0cfad4e1 ("mac80211: use rhashtable for station table") Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 37557178a0388f52c05ead69e24587e67f2cc304 Author: Steven Miao <realmz6@xxxxxxxxx> Date: Fri Mar 6 17:52:33 2015 +0800 dma: fix build error after update to v3.19 Signed-off-by: Steven Miao <realmz6@xxxxxxxxx> commit 1a3372bc522ef8ba749c019c52d63168267fac0a Author: Steven Miao <realmz6@xxxxxxxxx> Date: Tue Jan 20 16:53:38 2015 +0800 blackfin: io: define __raw_readx/writex with bfin_readx/writex Signed-off-by: Steven Miao <realmz6@xxxxxxxxx> commit b3df664b85c7926619346cddad3aefab6554e0b1 Author: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Date: Thu Dec 11 17:47:37 2014 +0800 bf609: add resources for lcd nl8048 Signed-off-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Steven Miao <realmz6@xxxxxxxxx> commit ef7dcaf1e7bbf7adaaf45cac1c1d208929fb25e5 Author: Aaron Wu <Aaron.wu@xxxxxxxxxx> Date: Wed Oct 22 13:45:58 2014 +0800 pm: sometimes wake up from suspend to RAM would fail Sometimes it fails to wake up from suspend to RAM, this is because we would flush the data cache by assemble command FLUSHINV before suspend to RAM, and there is a delay between this command execution and cache flush completion. Add a 1uS delay to works around this. Signed-off-by: Aaron Wu <Aaron.wu@xxxxxxxxxx> commit bb717b33aa6b01abcc78c7a18dec343a3bde9574 Author: Andre Wolokita <Andre.Wolokita@xxxxxxxxxx> Date: Fri Sep 5 10:42:28 2014 +1000 debug-mmrs: Eliminate all traces of the USB_PHY_TEST MMR Interacting with the USB_PHY_TEST MMR through debugfs was causing wide-spread chaos in the realm (kernel panic). Expunge all references to this demonic register. Signed-off-by: Andre Wolokita <Andre.Wolokita@xxxxxxxxxx> commit f7fee0366c861c66c9abc8ab9a250bea2dd53c8d Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Thu Aug 21 15:49:27 2014 +0800 bf609: remove softswitch i2c configuration from adv7842 and adv7511 platform data Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit 199aad16d517d47cf13f96caf0eedc6a4542bc60 Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Wed Aug 20 18:32:22 2014 +0800 bf609: add platform data for soft switch devices on the video extenders Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit 707e6f0bc40b4db1fae616b8825c9e0f1231f873 Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Wed Aug 20 18:04:32 2014 +0800 bf609: enable soft switch gpio driver by default Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit ea9b706b8688ab155b092abc854bde0224332743 Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Wed Aug 20 17:04:55 2014 +0800 bf609: add gpio soft switch platform data for mcp23017 i2c devices Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit 374feb1f049b0a9eed62ac1b865c93b35aaef7c6 Author: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Date: Thu Jul 31 16:36:25 2014 +0800 bf609: use new SND_BF6XX_PCM to choose audio pcm driver There is a new bf6xx audio dma driver, so we don't reuse bf5xx i2s pcm driver again. Signed-off-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> commit a0f4207d03b40eee6338b51288849965ac2b94e2 Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Tue Jul 29 16:41:10 2014 +0800 bug[220] kgdb: change the smp cross core function entry Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit 4eb147c83f34e00184557923d2bf93f593deb41c Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 26 15:58:22 2014 +0200 arch: blackfin: kernel: setup.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: Steven Miao <realmz6@xxxxxxxxx> commit 2fcc440ca69a5d857523e5aed00c959c07085f3c Author: Steven Miao <realmz6@xxxxxxxxx> Date: Tue Jul 29 14:21:41 2014 +0800 blackfin: defconfigs: cleanup unused CONFIG_MTD_CHAR, add MTD_SPI_NOR for BF537-STAMP Signed-off-by: Steven Miao <realmz6@xxxxxxxxx> commit c264f1110d27185f8531602f5fce400a6bbce946 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Thu Mar 12 22:01:31 2015 +0530 pwm: Remove __init initializer for pwm_add_table() For platforms that don't support DT, some early MFD modules can register lookup tables. Remove the __init annotation so that this works. This is similar to gpio_add_lookup_table() which allows late additions. CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit d32b66668c702aed0e330dc5ca186afbadcdacf8 Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Thu Apr 23 15:10:53 2015 +0800 ALSA: hda/realtek - Fix Headphone Mic doesn't recording for ALC256 Switch default pcbeep path to Line in path. Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8faf141a9903477910387af062ece04ea7d730ed Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Apr 23 14:38:13 2015 +0530 ASoC: Intel: fix the makefile for atom code The tom code should be using SND_SST_MFLD_PLATFORM and not the baytrail one. So fix it now Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2e826695d87c2d213def07bc344ae97d88384f62 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 20:10:26 2015 +0530 powerpc/mm: Fix build error with CONFIG_PPC_TRANSACTIONAL_MEM disabled This fix the below build error arch/powerpc/mm/hash_utils_64.c: In function â??flush_hash_hugepageâ??: arch/powerpc/mm/hash_utils_64.c:1381:1: error: label at end of compound statement tm_abort: ^ make[1]: *** [arch/powerpc/mm/hash_utils_64.o] Error 1 Reported-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 04fca0e390e80d88c2f959aef86e0bb7f26fea01 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Apr 20 08:36:15 2015 -0700 frv: add io{read,write}{16,32}be functions These functions are used in various drivers, including the latest version of the 8250 driver. The latter causes the following build failure. drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_out': drivers/tty/serial/8250/8250_core.c:456:2: error: implicit declaration of function 'iowrite32be' drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_in': drivers/tty/serial/8250/8250_core.c:462:2: error: implicit declaration of function 'ioread32be' Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Fixes: c627f2ceb692 ("serial: 8250: Add support for big-endian MMIO accesses") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 601e3ad9def147f714c1b66fd397d138ba5dbd3b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Apr 20 08:37:42 2015 -0700 mn10300: add io{read,write}{16,32}be functions These functions are used in various drivers, including the latest version of the 8250 driver. The latter causes the following build failure. drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_out': drivers/tty/serial/8250/8250_core.c:456:2: error: implicit declaration of function 'iowrite32be' drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_in': drivers/tty/serial/8250/8250_core.c:462:2: error: implicit declaration of function 'ioread32be' Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Fixes: c627f2ceb692 ("serial: 8250: Add support for big-endian MMIO accesses") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f3b07b8611ede9584ef27288d9c35bc2fd7a8353 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 09:55:47 2015 -0500 Documentation: DT bindings: add doc for Altera's SoCFPGA platform Document "altr,socfpga-cyclone5", "altr,socfpga-arria5", and "altr,socfpga-arria10". Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 608404290e2d9d1756db4013c4ee12fa7617dad9 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Wed Apr 22 15:49:10 2015 +0800 vxlan: remove the unnecessary codes The return value of vxlan_fdb_replace always is greater than or equal to 0 Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21d3515ce7179523a2941cc015960dd788290e33 Author: Ben Shelton <ben.shelton@xxxxxx> Date: Wed Apr 22 17:28:54 2015 -0500 net/macb: Factor out one-time assignment from loop In 02c958dd3 (net/macb: add TX multiqueue support for gem), the initialization of tx_head and tx_tail in macb_init_rings() was moved inside the loop that iterates over each element in the ring. Since tx_head and tx_tail only need to be assigned once, move them back out of the loop. Signed-off-by: Ben Shelton <ben.shelton@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27cf3a16b2535a490f8cf1d29a6634f1c70f7831 Merge: a62d016 724e7bf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 14:49:23 2015 -0700 Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit Pull audit fixes from Paul Moore: "Seven audit patches for v4.1, all bug fixes. The largest, and perhaps most significant commit helps resolve some memory pressure issues related to the inode cache and audit, there are also a few small commits which help resolve some timing issues with the audit log queue, and the rest fall into the always popular "code clean-up" category. In general, nothing really substantial, just a nice set of maintenance patches" * 'upstream' of git://git.infradead.org/users/pcmoore/audit: audit: Remove condition which always evaluates to false audit: reduce mmap_sem hold for mm->exe_file audit: consolidate handling of mm->exe_file audit: code clean up audit: don't reset working wait time accidentally with auditd audit: don't lose set wait time on first successful call to audit_log_start() audit: move the tree pruning to a dedicated thread commit 79930f5892e134c6da1254389577fffb8bd72c66 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Apr 22 07:33:36 2015 -0700 net: do not deplete pfmemalloc reserve build_skb() should look at the page pfmemalloc status. If set, this means page allocator allocated this page in the expectation it would help to free other pages. Networking stack can do that only if skb->pfmemalloc is also set. Also, we must refrain using high order pages from the pfmemalloc reserve, so __page_frag_refill() must also use __GFP_NOMEMALLOC for them. Under memory pressure, using order-0 pages is probably the best strategy. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2d97723cb3a7741af81868427b36bba274b681b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 13:58:47 2015 +0100 ASoC: dapm: Enable autodisable on SOC_DAPM_SINGLE_TLV_AUTODISABLE Correct small copy and paste error where autodisable was not being enabled for the SOC_DAPM_SINGLE_TLV_AUTODISABLE control. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 575bec53181526ed01c0936ec008e1b70f8f5f31 Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Wed Apr 22 16:28:20 2015 +0200 spi: fsl-spi: use devm_ioremap_resource() to map parameter ram on CPM1 On CPM2, the SPI parameter RAM is dynamically allocated in the dualport RAM whereas in CPM1, it is statically allocated to a default address with capability to relocate it somewhere else via the use of CPM micropatch. The address of the parameter RAM is given by the boot loader and expected to be mapped via devm_ioremap_resource() In the current implementation, in function fsl_spi_cpm_get_pram() there is a confusion between the SPI_BASE register and the base of the SPI parameter RAM. Fortunatly, it is working properly with MPC866 and MPC885 because they do set SPI_BASE, but on MPC860 and other old MPC8xx that doesn't set SPI_BASE, pram_ofs is not properly set. Also, the parameter RAM is not properly mapped with devm_ioremap_resource() as it should but still gets accessible by chance through the full RAM which is mapped from somewhere else. This patch applies to the SPI driver the same principle as for the CPM UART: when the CPM is of type CPM1, we simply do an devm_ioremap_resource() of the area provided via the device tree. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26349c71b4323e62f8de0fe45f2f06c4df535b9b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Apr 22 16:56:16 2015 +0200 ip6_gre: use netdev_alloc_pcpu_stats() The code there just open-codes the same, so use the provided macro instead. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a62d016cece2fce1d5e4eedf36b17f03a7a5c78e Merge: 7c034df 3e550d2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 12:00:44 2015 -0700 Merge tag 'for-linus-20150422' of git://git.infradead.org/linux-mtd Pull MTD updates from Brian Norris: "Common MTD: - Add Kconfig option for keeping both the 'master' and 'partition' MTDs registered as devices. This would really make a better default if we could do it over, as it allows a lot more flexibility in (1) determining the flash topology of the system from user-space and (2) adding temporary partitions at runtime (ioctl(BLKPG)). Unfortunately, this would possibly cause user-space breakage, as it will cause renumbering of the /dev/mtdX devices. We'll see if we can change this in the future, as there have already been a few people looking for this feature, and I know others have just been working around our current limitations instead of fixing them this way. - Along with the previous change, add some additional information to sysfs, so user-space can read the offset of each partition within its master device SPI NOR: - add new device tree compatible binding to represent the mostly-compatible class of SPI NOR flash which can be detected by their extended JEDEC ID bytes, cutting down the duplication of our ID tables - misc. new IDs Various other miscellaneous fixes and changes" * tag 'for-linus-20150422' of git://git.infradead.org/linux-mtd: (53 commits) mtd: spi-nor: Add support for Macronix mx25u6435f serial flash mtd: spi-nor: Add support for Winbond w25q64dw serial flash mtd: spi-nor: add support for the Winbond W25X05 flash mtd: spi-nor: support en25s64 device mtd: m25p80: bind to "nor-jedec" ID, for auto-detection Documentation: devicetree: m25p80: add "nor-jedec" binding mtd: Make MTD tests cancelable mtd: mtd_oobtest: Fix bitflip_limit usage in test case 3 mtd: docg3: remove invalid __exit annotations mtd: fsl_ifc_nand: use msecs_to_jiffies for time conversion mtd: atmel_nand: don't map the ROM table if no pmecc table offset in DT mtd: atmel_nand: add a definition for the oob reserved bytes mtd: part: Remove partition overlap checks mtd: part: Add sysfs variable for offset of partition mtd: part: Create the master device node when partitioned mtd: ts5500_flash: Fix typo in MODULE_DESCRIPTION in ts5500_flash.c mtd: denali: Disable sub-page writes in Denali NAND driver mtd: pxa3xx_nand: cleanup wait_for_completion handling mtd: nand: gpmi: Check for scan_bbt() error mtd: nand: gpmi: fixup return type of wait_for_completion_timeout ... commit 7c034dfd58bbc056280262887acf5b7a98944d0a Merge: 1204c46 c1c2fef Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 11:50:05 2015 -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: - IPoIB fixes from Doug Ledford and Erez Shitrit - iSER updates from Sagi Grimberg - mlx4 GUID handling changes from Yishai Hadas - other misc fixes * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (51 commits) mlx5: wrong page mask if CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for 32Bit architectures IB/iser: Rewrite bounce buffer code path IB/iser: Bump version to 1.6 IB/iser: Remove code duplication for a single DMA entry IB/iser: Pass struct iser_mem_reg to iser_fast_reg_mr and iser_reg_sig_mr IB/iser: Modify struct iser_mem_reg members IB/iser: Make fastreg pool cache friendly IB/iser: Move PI context alloc/free to routines IB/iser: Move fastreg descriptor pool get/put to helper functions IB/iser: Merge build page-vec into register page-vec IB/iser: Get rid of struct iser_rdma_regd IB/iser: Remove redundant assignments in iser_reg_page_vec IB/iser: Move memory reg/dereg routines to iser_memory.c IB/iser: Don't pass ib_device to fall_to_bounce_buff routine IB/iser: Remove a redundant struct iser_data_buf IB/iser: Remove redundant cmd_data_len calculation IB/iser: Fix wrong calculation of protection buffer length IB/iser: Handle fastreg/local_inv completion errors IB/iser: Fix unload during ep_poll wrong dereference ib_srpt: convert printk's to pr_* functions ... commit 1204c464458e9837320a326a9fce550e3c5ef5de Merge: 4f21123 f77303b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 11:30:10 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph updates from Sage Weil: "This time around we have a collection of CephFS fixes from Zheng around MDS failure handling and snapshots, support for a new CRUSH straw2 algorithm (to sync up with userspace) and several RBD cleanups and fixes from Ilya, an error path leak fix from Taesoo, and then an assorted collection of cleanups from others" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (28 commits) rbd: rbd_wq comment is obsolete libceph: announce support for straw2 buckets crush: straw2 bucket type with an efficient 64-bit crush_ln() crush: ensuring at most num-rep osds are selected crush: drop unnecessary include from mapper.c ceph: fix uninline data function ceph: rename snapshot support ceph: fix null pointer dereference in send_mds_reconnect() ceph: hold on to exclusive caps on complete directories libceph: simplify our debugfs attr macro ceph: show non-default options only libceph: expose client options through debugfs libceph, ceph: split ceph_show_options() rbd: mark block queue as non-rotational libceph: don't overwrite specific con error msgs ceph: cleanup unsafe requests when reconnecting is denied ceph: don't zero i_wrbuffer_ref when reconnecting is denied ceph: don't mark dirty caps when there is no auth cap ceph: keep i_snap_realm while there are writers libceph: osdmap.h: Add missing format newlines ... commit 4f2112351b4ac964b0249bdd883f7b79601f39d8 Merge: 9b60afe 3193899 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 11:27:36 2015 -0700 Merge tag 'trace-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fixes from Steven Rostedt: "This adds three fixes for the tracing code. The first is a bug when ftrace_dump_on_oops is triggered in atomic context and function graph tracer is the tracer that is being reported. The second fix is bad parsing of the trace_events from the kernel command line, where it would ignore specific events if the system name is used with defining the event(it enables all events within the system). The last one is a fix to the TRACE_DEFINE_ENUM(), where a check was missing to see if the ptr was incremented to the end of the string, but the loop increments it again and can miss the nul delimiter to stop processing" * tag 'trace-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Fix possible out of bounds memory access when parsing enums tracing: Fix incorrect enabling of trace events by boot cmdline tracing: Handle ftrace_dump() atomic context in graph_trace_open() commit 9b60afee50425064fa0a69bea22f07b6ea55ebc1 Merge: 7dcca3e 9fbbda5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 11:26:00 2015 -0700 Merge tag 'pci-v4.1-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI fixes from Bjorn Helgaas: "These fix an ia64 regression caused by tighter resource checking we merged during the merge window and remove an invalid email address from MAINTAINERS. Resource management: - ia64: Treat all Address Space Descriptors as windows (Bjorn Helgaas) Miscellaneous: - MAINTAINERS: Remove Mohit Kumar (email bounces) (Bjorn Helgaas)" * tag 'pci-v4.1-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: ia64/PCI: Treat all host bridge Address Space Descriptors (even consumers) as windows MAINTAINERS: Remove Mohit Kumar (email bounces) commit 0e2d686530d5e6c3c50c2c4f9ef8d6428252c35c Merge: 909d9fa 5a9ab01 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 22 14:24:55 2015 -0400 Merge branch 'mpls' Robert Shearman says: ==================== mpls: ABI changes for security and correctness V2: - don't treat loopback interfaces specially by enabling mpls by default These changes make mpls not be enabled by default on all interfaces when in use for security, along with ensuring that a label not valid as an outgoing label can be added in mpls routes. This series contains three ABI/behaviour-affecting changes which have been split out from "[PATCH net-next v4 0/6] mpls: Behaviour-changing improvements" without any further modification. These changes need to be considered for 4.1 otherwise we'll be stuck with the current behaviour/ABI forever. ==================== Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a9ab0176198d91dfc153f5e6c5fdc5afa613607 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Wed Apr 22 11:14:39 2015 +0100 mpls: Prevent use of implicit NULL label as outgoing label The reserved implicit-NULL label isn't allowed to appear in the label stack for packets, so make it an error for the control plane to specify it as an outgoing label. Suggested-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37bde79979c3862c79294c62ddcef7efc477e4bf Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Wed Apr 22 11:14:38 2015 +0100 mpls: Per-device enabling of packet input An MPLS network is a single trust domain where the edges must be in control of what labels make their way into the core. The simplest way of ensuring this is for the edge device to always impose the labels, and not allow forward labeled traffic from untrusted neighbours. This is achieved by allowing a per-device configuration of whether MPLS traffic input from that interface should be processed or not. To be secure by default, the default state is changed to MPLS being disabled on all interfaces unless explicitly enabled and no global option is provided to change the default. Whilst this differs from other protocols (e.g. IPv6), network operators are used to explicitly enabling MPLS forwarding on interfaces, and with the number of links to the MPLS core typically fairly low this doesn't present too much of a burden on operators. Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03c57747a7020a28a200e7e920fb48ecdc9b0fb8 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Wed Apr 22 11:14:37 2015 +0100 mpls: Per-device MPLS state Add per-device MPLS state to supported interfaces. Use the presence of this state in mpls_route_add to determine that this is a supported interface. Use the presence of mpls_dev to drop packets that arrived on an unsupported interface - previously they were allowed through. Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 909d9faae2a447110aa061070145297fffe129cb Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Apr 22 12:47:32 2015 +0300 bnx2x: Prevent inner-reload while VFs exist On some feature changes, driver employes an inner-reload flow where it resets the function and re-configures it with the new required set of parameters. Such a flow proves fatal to any VF since those were not intended to be used while HW is being reset underneath, causing them [at best] to lose all connectivity. This changes driver behavior to fail all configuration changes [e.g., mtu change] requested of the driver in case VFs are active. 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 7dcca3e92a34bf8ffdc4c01a49182ce1cb6ff534 Merge: b9bb6fb cf82f52 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 11:22:55 2015 -0700 Merge git://www.linux-watchdog.org/linux-watchdog Pull watchdog updates from Wim Van Sebroeck: "This contains following changes: - Octeon: convert to watchdog-API and apply some fixes - Cadence wdt: remove dependency on ARCH - add DT bindings for qcom + msm - bcm281xx: Remove use of seq_printf return value - stmp3xxx_rtc_wdt + pnx4008_wdt: fix broken email addresses" * git://www.linux-watchdog.org/linux-watchdog: watchdog: stmp3xxx_rtc_wdt: fix broken email address watchdog: pnx4008_wdt: fix broken email address watchdog: octeon: use fixed length string for register names watchdog: octeon: fix some trivial coding style issues watchdog: octeon: convert to WATCHDOG_CORE API watchdog: cadence: Remove Kconfig dependency on ARCH ARM: msm: add watchdog entries to DT timer binding doc ARM: qcom: add description of KPSS WDT for IPQ8064 watchdog: qcom: use timer devicetree binding watchdog: bcm281xx: Remove use of seq_printf return value commit a2c3935aaa8fe99dbddb13ff244ecec7c324ec8b Merge: d83769a a87b9eb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 22 14:17:23 2015 -0400 Merge branch 'rhashtable-fixes' Thomas Graf says: ==================== rhashtable rehashing fixes Some rhashtable rehashing bugs found while testing with the next rhashtable self-test queued up for the next devel cycle: https://github.com/tgraf/net-next/commits/rht v2: - Moved schedule_work() call into rhashtable_insert_rehash() ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a87b9ebf1709687ff213091d0fdb4254b1564803 Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Apr 22 09:41:46 2015 +0200 rhashtable: Do not schedule more than one rehash if we can't grow further The current code currently only stops inserting rehashes into the chain when no resizes are currently scheduled. As long as resizes are scheduled and while inserting above the utilization watermark, more and more rehashes will be scheduled. This lead to a perfect DoS storm with thousands of rehashes scheduled which lead to thousands of spinlocks to be taken sequentially. Instead, only allow either a series of resizes or a single rehash. Drop any further rehashes and return -EBUSY. Fixes: ccd57b1bd324 ("rhashtable: Add immediate rehash during insertion") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2307ed6cbe71c74e291681aaa7e92ab98bc3177 Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Apr 22 09:41:45 2015 +0200 rhashtable: Schedule async resize when sync realloc fails When rhashtable_insert_rehash() fails with ENOMEM, this indicates that we can't allocate the necessary memory in the current context but the limits as set by the user would still allow to grow. Thus attempt an async resize in the background where we can allocate using GFP_KERNEL which is more likely to succeed. The insertion itself will still fail to indicate pressure. This fixes a bug where the table would never continue growing once the utilization is above 100%. Fixes: ccd57b1bd324 ("rhashtable: Add immediate rehash during insertion") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d83769a580f1132ac26439f50068a29b02be535e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 21 18:32:24 2015 -0700 tcp: fix possible deadlock in tcp_send_fin() Using sk_stream_alloc_skb() in tcp_send_fin() is dangerous in case a huge process is killed by OOM, and tcp_mem[2] is hit. To be able to free memory we need to make progress, so this patch allows FIN packets to not care about tcp_mem[2], if skb allocation succeeded. In a follow-up patch, we might abort tcp_send_fin() infinite loop in case TIF_MEMDIE is set on this thread, as memory allocator did its best getting extra memory already. This patch reverts d22e15371811 ("tcp: fix tcp fin memory accounting") Fixes: d22e15371811 ("tcp: fix tcp fin memory accounting") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9bb6fb73b3e112d241a5edd146740be9a0c3cc0 Merge: 15ce265 9abbfb4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 10:55:06 2015 -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: "Some virtio internal cleanups, a new virtio device "virtio input", and a change to allow the legacy virtio balloon. Most excitingly, some lguest work! No seriously, I got some cleanup patches" * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: virtio: drop virtio_device_is_legacy_only virtio_pci: support non-legacy balloon devices virtio_mmio: support non-legacy balloon devices virtio_ccw: support non-legacy balloon devices virtio: balloon might not be a legacy device virtio_balloon: transitional interface virtio_ring: Update weak barriers to use dma_wmb/rmb virtio_pci_modern: switch to type-safe io accessors virtio_pci_modern: type-safe io accessors lguest: handle traps on the "interrupt suppressed" iret instruction. virtio: drop a useless config read virtio_config: reorder functions Add virtio-input driver. lguest: suppress interrupts for single insn, not range. lguest: simplify lguest_iret lguest: rename i386_head.S in the comments lguest: explicitly set miscdevice's private_data NULL lguest: fix pending interrupt test. commit 3e550d2396d9deef77328237ed992e19dcfefca5 Merge: 81a1209 5e0899d Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Apr 22 10:29:19 2015 -0700 Merge MTD fixes from 4.0 into -next commit 15ce2658ddbd3db20dfba3622f3d224f01837fdc Merge: f3ca10d 4a3893d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:49:24 2015 -0700 Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module updates from Rusty Russell: "Quentin opened a can of worms by adding extable entry checking to modpost, but most architectures seem fixed now. Thanks to all involved. Last minute rebase because I noticed a "[PATCH]" had snuck into a commit message somehow" * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: modpost: don't emit section mismatch warnings for compiler optimizations modpost: expand pattern matching to support substring matches modpost: do not try to match the SHT_NUL section. modpost: fix extable entry size calculation. modpost: fix inverted logic in is_extable_fault_address(). modpost: handle -ffunction-sections modpost: Whitelist .text.fixup and .exception.text params: handle quotes properly for values not of form foo="bar". modpost: document the use of struct section_check. modpost: handle relocations mismatch in __ex_table. scripts: add check_extable.sh script. modpost: mismatch_handler: retrieve tosym information only when needed. modpost: factorize symbol pretty print in get_pretty_name(). modpost: add handler function pointer to sectioncheck. modpost: add .sched.text and .kprobes.text to the TEXT_SECTIONS list. modpost: add strict white-listing when referencing sections. module: do not print allocation-fail warning on bogus user buffer size kernel/module.c: fix typos in message about unused symbols commit f3ca10dde49043fbbb055854278b26954b549b36 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:44:36 2015 -0700 Revert "mm: avoid tail page refcounting on non-THP compound pages" This reverts commit 8d63d99a5dfbdb997d12dd3c07b2070ca723db3b. It causes in VM mapping refcount errors: page:ffffea0010a15040 count:0 mapcount:1 mapping: (null) index:0x0 flags: 0x8000000000008014(referenced|dirty|tail) page dumped because: VM_BUG_ON_PAGE(page_mapcount(page) != 0) ------------[ cut here ]------------ kernel BUG at mm/swap.c:134! as reported by Borislav Petkov Reported-and-tested-by: Borislav Petkov <bp@xxxxxxxxx> Cc: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: linux-mm@xxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5e6c94a999f67f120c6bbba71bbee840dfee6338 Merge: 3cfe213 96541ba Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:29:08 2015 -0700 Merge tag 'mmc-4.1-rc1' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC fixes from Ulf Hansson: "Here is two mmc core fixes for v.4.1 rc1: - fix error code propagation in mmc_pwrseq_simple_alloc() - revert 'mmc: core: Convert mmc_driver to device_driver'" * tag 'mmc-4.1-rc1' of git://git.linaro.org/people/ulf.hansson/mmc: Revert "mmc: core: Convert mmc_driver to device_driver" mmc: pwrseq: Fix error code propagation in mmc_pwrseq_simple_alloc() commit 3cfe213756a5c208ab51816d51641bf49f2e67fd Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Apr 22 12:17:46 2015 +0530 dmaengine: hsu: don't prompt for hsu_core part HSU_DMA is selected by the HSU_DMA_PCI driver, this should be user selected so remove the user prompt for this Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b3c8ba3d8c2680dab5363a80c024965cac08b1e Merge: d34dc4f 48c1078 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:24:55 2015 -0700 Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC late changes from Olof Johansson: "We were expecting to sit on this branch through most of the merge window since the contents was merged into our tree late, but we ended up sitting on all of our contents so it can go in with the rest. The contents here is: - a large branch of cleanups of the CM/PRM blocks on OMAP. - a couple of patches plumbing up CM/PRM on OMAP5 and DRA7. - a branch with DT updates for Freescale i.MX. including some shuffling from .dts to .dtsi (include) files that causes a little churn" * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (78 commits) ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON ARM: OMAP4+: control: add support for initializing control module via DT ARM: dts: dra7: add minimal l4 bus layout with control module support ARM: dts: omap5: add minimal l4 bus layout with control module support ARM: OMAP4+: control: remove support for legacy pad read/write ARM: OMAP4: display: convert display to use syscon for dsi muxing ARM: dts: omap4: add minimal l4 bus layout with control module support ARM: dts: am4372: add minimal l4 bus layout with control module support ARM: dts: am43xx-epos-evm: fix pinmux node layout ARM: dts: am33xx: add minimal l4 bus layout with control module support ARM: dts: omap3: add minimal l4 bus layout with control module support ARM: dts: omap24xx: add minimal l4 bus layout with control module support ARM: OMAP2+: control: add syscon support for register accesses ARM: OMAP2+: id: cache omap_type value ARM: OMAP2+: control: remove API for getting control module base address ARM: OMAP2+: clock: add low-level support for regmap ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags ARM: OMAP2+: CM: move SoC specific init calls within a generic API ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility ... commit d34dc4f9e88e4b6beefb819e4e743fd6160a9b75 Merge: 2144de8 bb1518f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:23:58 2015 -0700 Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC 64-bit changes from Olof Johansson: "Mostly DT updates for arm64, but also a couple of Kconfig additions. Main contents: - Qualcomm MSM8916/APQ8016 - Spreadtrum SC9836 - Xilinx ZynqMP - pincontrol entries for MediaTek MT8173" * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: arm64: dts: add interrupt-affinity property to pmu node for juno arm64: dts: Add Qualcomm APQ8016 SBC evaluation board dts arm64: dts: Add Qualcomm MSM8916 SoC and evaluation board dts arm64: dts: sprd: adding coresight entries to Spreadtrum SC9836 arm64: Add support for Spreadtrum's Sharkl64 Platform in Kconfig and defconfig arm64: dts: Add support for Spreadtrum SC9836 SoC in dts and Makefile ARM64: Add new Xilinx ZynqMP SoC arm64: qcom: Add support for Qualcomm MSM8916 SoC arm64: dts: mt8173: Add pinctrl/GPIO/EINT node for mt8173. arm64: mediatek: Select PINCTRL for Mediatek platform commit 2144de826e1eeac0c2e30a22029b3330d8bb813c Merge: e5ac320 b50c9c2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:21:30 2015 -0700 Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC defconfig updates from Olof Johansson: "We keep collecting defconfig updates in a separate branch mostly to encourage people to handle them separately and avoid conflicts between different topics. Most of these are enablement of new drivers that have come in, or minor config refreshes due to reorderings in Kconfig files, etc. I.e. mostly minor churn of various kinds. We might start folding this branch into something else for upstream merge since it's so small, but keep it independent in our own tree for the above reasons" * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (38 commits) ARM: multi_v7_defconfig: enable alpine platform ARM: multi_v7_defconfig: Add gpio-restart driver ARM: multi_v7_defconfig: Build the Marvell WiFi-Ex driver as a module ARM: multi_v7_defconfig: Enable support for ELAN i2c trackpads ARM: multi_v7_defconfig: Enable Tegra ACTMON support ARM: configs: remove all CONFIG_RCAR_AUDMAC_PP from ARM defconfigs ARM: configs: enable Marvell Armada 39x in multi_v7_defconfig ARM: exynos_defconfig: Enable HDMI support ARM: exynos_defconfig: Enable options to mount a rootfs via NFS ARM: qcom: Increase MMC_BLOCK_MINORS in defconfig ARM: mvebu: Enable perf support in mvebu_v7_defconfig ARM: exynos_defconfig: Enable ChromeOS EC chardev driver ARM: exynos_defconfig: Enable CPU idle ARM: exynos_defconfig: Enable Marvell WiFi-Ex support arm: qcom: Update defconfig arm: qcom: Enable lpass clock driver in defconfig ARM: omap2plus_defconfig: Enable n900 modem as loadable modules ARM: omap2plus_defconfig: Update bluetooth options ARM: omap2plus_defconfig: Enable leds-pwm ARM: omap1_defconfig: drop obsolete Kconfig symbols ... commit e5ac320de1fe3ef5a5afa5f8a0cd19b0c5373a37 Merge: 7d2b6ef 89522f0f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:20:15 2015 -0700 Merge tag 'armsoc-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC multiplatform code changes from Olof Johansson: "The changes here belong to two main platforms: - Atmel At91 is flipping the bit and going multiplatform. This includes some cleanups and removal of code, and the final flip of config dependencies - Shmobile has several platforms that are going multiplatform, but this branch also contains a bunch of cleanups that they weren't able to keep separate in a good way. THere's also a removal of one of their SoCs and the corresponding boards (sh7372 and mackerel)" * tag 'armsoc-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (67 commits) ARM: at91/pm: move AT91_MEMCTRL_* to pm.h ARM: at91/pm: move the standby functions to pm.c ARM: at91: fix pm_suspend.S compilation when ARMv6 is selected ARM: at91: add a Kconfig dependency on multi-platform ARM: at91: drop AT91_TIMER_HZ ARM: at91: remove hardware.h ARM: at91: remove SoC headers ARM: at91: remove useless mach/cpu.h ARM: at91: remove unused headers ARM: at91: switch at91_dt_defconfig to multiplatform ARM: at91: switch to multiplatform ARM: shmobile: r8a7778: enable multiplatform target ARM: shmobile: bockw: add sound to DT ARM: shmobile: r8a7778: add sound to DT ARM: shmobile: bockw: add devices hooked up to i2c0 to DT DT: i2c: add trivial binding for OKI ML86V7667 video decoder ARM: shmobile: r8a7778: common clock framework CPG driver ARM: shmobile: bockw dts: set extal clock frequency ARM: shmobile: bockw dts: Move Ethernet node to BSC ARM: shmobile: r8a73a4: Remove legacy code ... commit 7d2b6ef19cf0f98cef17aa5185de3631a618710a Merge: 5c73cc4 7415d97 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:18:17 2015 -0700 Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC driver updates from Olof Johansson: "Driver updates for v4.1. Some of these are for drivers/soc, where we find more and more SoC-specific drivers these days. Some are for other driver subsystems where we have received acks from the appropriate maintainers. The larger parts of this branch are: - MediaTek support for their PMIC wrapper interface, a high-level interface for talking to the system PMIC over a dedicated I2C interface. - Qualcomm SCM driver has been moved to drivers/firmware. It's used for CPU up/down and needs to be in a shared location for arm/arm64 common code. - cleanup of ARM-CCI PMU code. - another set of cleanusp to the OMAP GPMC code" * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits) soc/mediatek: Remove unused variables clocksource: atmel-st: select MFD_SYSCON soc: mediatek: Add PMIC wrapper for MT8135 and MT8173 SoCs arm-cci: Fix CCI PMU event validation arm-cci: Split the code for PMU vs driver support arm-cci: Get rid of secure transactions for PMU driver arm-cci: Abstract the CCI400 PMU specific definitions arm-cci: Rearrange code for splitting PMU vs driver code drivers: cci: reject groups spanning multiple HW PMUs ARM: at91: remove useless include clocksource: atmel-st: remove mach/hardware dependency clocksource: atmel-st: use syscon/regmap ARM: at91: time: move the system timer driver to drivers/clocksource ARM: at91: properly initialize timer ARM: at91: at91rm9200: remove deprecated arm_pm_restart watchdog: at91rm9200: implement restart handler watchdog: at91rm9200: use the system timer syscon mfd: syscon: Add atmel system timer registers definition ARM: at91/dt: declare atmel,at91rm9200-st as a syscon soc: qcom: gsbi: Add support for ADM CRCI muxing ... commit 5c73cc4b6c83e88863a5de869cc5df3b913aef4a Merge: e6c81cc 8b03655 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:09:46 2015 -0700 Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM DT updates from Olof Johansson: "As always, this tends to be one of our bigger branches. There are lots of updates this release, but not that many jumps out as something that needs more detailed coverage. Some of the highlights are: - DTs for the new Annapurna Labs Alpine platform - more graphics DT pieces falling into place on Exynos, bridges, clocks. - plenty of DT updates for Qualcomm platforms for various IP blocks - some churn on Tegra due to switch-over to tool-generated pinctrl data - misc fixes and updates for Atmel at91 platforms - various DT updates to add IP block support on Broadcom's Cygnus platforms - more updates for Renesas platforms as DT support is added for various IP blocks (IPMMU, display, audio, etc)" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (231 commits) ARM: dts: alpine: add internal pci Revert "ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135." ARM: mvebu: use 0xf1000000 as internal registers on Armada 370 DB ARM: dts: qcom: Add idle state device nodes for 8064 ARM: dts: qcom: Add idle states device nodes for 8084 ARM: dts: qcom: Add idle states device nodes for 8974/8074 ARM: dts: qcom: Update power-controller device node for 8064 Krait CPUs ARM: dts: qcom: Add power-controller device node for 8084 Krait CPUs ARM: dts: qcom: Add power-controller device node for 8074 Krait CPUs devicetree: bindings: Document qcom,idle-states devicetree: bindings: Update qcom,saw2 node bindings dt-bindings: Add #defines for MSM8916 clocks and resets arm: dts: qcom: Add LPASS Audio HW to IPQ8064 device tree arm: dts: qcom: Add APQ8084 chipset SPMI PMIC's nodes arm: dts: qcom: Add 8x74 chipset SPMI PMIC's nodes arm: dts: qcom: Add SPMI PMIC Arbiter nodes for APQ8084 and MSM8974 arm: dts: qcom: Add LCC nodes arm: dts: qcom: Add TCSR support for MSM8960 arm: dts: qcom: Add TCSR support for MSM8660 arm: dts: qcom: Add TCSR support for IPQ8064 ... commit e6c81cce5699ec6be3a7533b5ad7a062ab3357f2 Merge: d0440c5 a018bb2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:08:39 2015 -0700 Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC platform updates from Olof Johansson: "Our SoC branch usually contains expanded support for new SoCs and other core platform code. In this case, that includes: - support for the new Annapurna Labs "Alpine" platform - a rework greatly simplifying adding new platform support to the MCPM subsystem (Multi-cluster power management) - cpuidle and PM improvements for Exynos3250 - misc updates for Renesas, OMAP, Meson, i.MX. Some of these could have gone in other branches but ended up here for various reasons" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits) ARM: alpine: add support for generic pci ARM: Exynos: migrate DCSCB to the new MCPM backend abstraction ARM: vexpress: migrate DCSCB to the new MCPM backend abstraction ARM: vexpress: DCSCB: tighten CPU validity assertion ARM: vexpress: migrate TC2 to the new MCPM backend abstraction ARM: MCPM: move the algorithmic complexity to the core code ARM: EXYNOS: allow cpuidle driver usage on Exynos3250 SoC ARM: EXYNOS: add AFTR mode support for Exynos3250 ARM: EXYNOS: add code for setting/clearing boot flag ARM: EXYNOS: fix CPU1 hotplug on Exynos3250 ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore ARM: cygnus: fix const declaration bcm_cygnus_dt_compat ARM: DRA7: hwmod: Fix the hwmod class for GPTimer4 ARM: DRA7: hwmod: Add data for GPTimers 13 through 16 ARM: EXYNOS: Remove left over 'extra_save' ARM: EXYNOS: Constify exynos_pm_data array ARM: EXYNOS: use static in suspend.c ARM: EXYNOS: Use platform device name as power domain name ARM: EXYNOS: add support for async-bridge clocks for pm_domains ARM: omap-device: add missed callback for suspend-to-disk ... commit d0440c59f52d31aa7f74ba8e35cc22ee96acea84 Merge: 38eb1db c4c14f3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:04:39 2015 -0700 Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC cleanups from Olof Johansson: "We've got a fairly large cleanup branch this time. The bulk of this is removal of non-DT platforms of several flavors: - Atmel at91 platforms go full-DT, with removal of remaining board-file based support - OMAP removes legacy board files for three more platforms - removal of non-DT mach-msm, newer Qualcomm platforms now live in mach-qcom - Freescale i.MX25 also removes non-DT platform support" Most of the rest of the changes here are fallout from the above, i.e. for example removal of drivers that now lack platforms, etc. * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (58 commits) mmc: Remove msm_sdcc driver gpio: Remove gpio-msm-v1 driver ARM: Remove mach-msm and associated ARM architecture code ARM: shmobile: cpuidle: Remove the pointless default driver ARM: davinci: dm646x: Add interrupt resource for McASPs ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x ARM: davinci: dm646x: Clean up the McASP DMA resources ARM: davinci: devices-da8xx: Add support for McASP2 on da830 ARM: davinci: devices-da8xx: Clean up and correct the McASP device creation ARM: davinci: devices-da8xx: Add interrupt resource to McASP structs ARM: davinci: devices-da8xx: Add resource name for the McASP DMA request ARM: OMAP2+: Remove legacy support for omap3 TouchBook ARM: OMAP3: Remove legacy support for devkit8000 ARM: OMAP3: Remove legacy support for EMA-Tech Stalker board ARM: shmobile: Consolidate the pm code for R-Car Gen2 ARM: shmobile: r8a7791: Correct SYSCIER value ARM: shmobile: r8a7790: Correct SYSCIER value ARM: at91: remove old setup ARM: at91: sama5d4: remove useless map_io ARM: at91: sama5 use SoC detection infrastructure ... commit 38eb1dbb0d7d190bdfe2ea824e94dab19e32737f Merge: db4fd9c cdaa8cf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:03:30 2015 -0700 Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "Here's the usual "low-priority fixes that didn't make it into the last few -rcs, with a twist: We had a fixes pull request that I didn't send in time to get into 4.0, so we'll send some of them to Greg for -stable as well. Contents here is as usual not all that controversial: - a handful of randconfig fixes from Arnd, in particular for older Samsung platforms - Exynos fixes, !SMP building, DTS updates for MMC and lid switch - Kbuild fix to create output subdirectory for DTB files - misc minor fixes for OMAP" * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (23 commits) ARM: at91/dt: sama5d3 xplained: add phy address for macb1 kbuild: Create directory for target DTB ARM: mvebu: Disable CPU Idle on Armada 38x ARM: DRA7: Enable Cortex A15 errata 798181 ARM: dts: am57xx-beagle-x15: Add thermal map to include fan and tmp102 ARM: dts: DRA7: Add bandgap and related thermal nodes bus: ocp2scp: SYNC2 value should be changed to 0x6 ARM: dts: am4372: Add "ti,am437x-ocp2scp" as compatible string for OCP2SCP ARM: OMAP2+: remove superfluous NULL pointer check ARM: EXYNOS: Fix build breakage cpuidle on !SMP ARM: dts: fix lid and power pin-functions for exynos5250-spring ARM: dts: fix mmc node updates for exynos5250-spring ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688 MAINTAINERS: add OMAP defconfigs under OMAP SUPPORT ARM: OMAP1: PM: fix some build warnings on 1510-only Kconfigs ARM: cns3xxx: don't export static symbol ARM: S3C24XX: avoid a Kconfig warning ARM: S3C24XX: fix header file inclusions ARM: S3C24XX: fix building without PM_SLEEP ARM: S3C24XX: use SAMSUNG_WAKEMASK for s3c2416 ... commit f77303bddabf73ebccb60f613b77da391f933cf6 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Apr 22 18:28:13 2015 +0300 rbd: rbd_wq comment is obsolete After the switch to blk-mq rbd_wq processes requests, not devices. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 7c1c4747f28f59f2939687168203863f7e095d10 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Apr 14 23:13:31 2015 +0300 libceph: announce support for straw2 buckets Sync up feature bits and enable CEPH_FEATURE_CRUSH_V4. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 958a27658d94cf212caeb0ffb04ee0b0bc89cc40 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Apr 14 16:54:52 2015 +0300 crush: straw2 bucket type with an efficient 64-bit crush_ln() This is an improved straw bucket that correctly avoids any data movement between items A and B when neither A nor B's weights are changed. Said differently, if we adjust the weight of item C (including adding it anew or removing it completely), we will only see inputs move to or from C, never between other items in the bucket. Notably, there is not intermediate scaling factor that needs to be calculated. The mapping function is a simple function of the item weights. The below commits were squashed together into this one (mostly to avoid adding and then yanking a ~6000 lines worth of crush_ln_table): - crush: add a straw2 bucket type - crush: add crush_ln to calculate nature log efficently - crush: improve straw2 adjustment slightly - crush: change crush_ln to provide 32 more digits - crush: fix crush_get_bucket_item_weight and bucket destroy for straw2 - crush/mapper: fix divide-by-0 in straw2 (with div64_s64() for draw = ln / w and INT64_MIN -> S64_MIN - need to create a proper compat.h in ceph.git) Reflects ceph.git commits 242293c908e923d474910f2b8203fa3b41eb5a53, 32a1ead92efcd351822d22a5fc37d159c65c1338, 6289912418c4a3597a11778bcf29ed5415117ad9, 35fcb04e2945717cf5cfe150b9fa89cb3d2303a1, 6445d9ee7290938de1e4ee9563912a6ab6d8ee5f, b5921d55d16796e12d66ad2c4add7305f9ce2353. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 45002267e8d2699bf9b022315bee3dd13b044843 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Apr 14 16:04:23 2015 +0300 crush: ensuring at most num-rep osds are selected Crush temporary buffers are allocated as per replica size configured by the user. When there are more final osds (to be selected as per rule) than the replicas, buffer overlaps and it causes crash. Now, it ensures that at most num-rep osds are selected even if more number of osds are allowed by the rule. Reflects ceph.git commits 6b4d1aa99718e3b367496326c1e64551330fabc0, 234b066ba04976783d15ff2abc3e81b6cc06fb10. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 9be6df215a1baa57ccad0c388daeb2ad8f8d99ee Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Apr 14 20:55:13 2015 +0300 crush: drop unnecessary include from mapper.c Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit ec137c10e720e5cf085504332ee1bf380241ed69 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Apr 13 11:25:07 2015 +0800 ceph: fix uninline data function For CEPH_OSD_CMPXATTR_MODE_U64, OSD expects the u64 to be encoded as string in object's xattr. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 0ea611a3bc5fb8f6a0bb1a76fe2dbf8ebe4bdf77 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Apr 7 15:36:32 2015 +0800 ceph: rename snapshot support Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit c0bd50e2eeddf139d8f61e709d7003210301e93a Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Apr 7 15:51:08 2015 +0800 ceph: fix null pointer dereference in send_mds_reconnect() sb->s_root can be null when umounting Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 2fa462f826210bbec65f8ed06d5ef4e0cd4f5450 Merge: 123857a fd1d0dd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 22 17:08:12 2015 +0200 Merge tag 'kvm-arm-for-4.1-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master KVM/ARM changes for v4.1, take #2: Rather small this time: - a fix for a nasty bug with virtual IRQ injection - a fix for irqfd commit fd1d0ddf2ae92fb3df42ed476939861806c5d785 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Fri Apr 10 16:17:59 2015 +0100 KVM: arm/arm64: check IRQ number on userland injection When userland injects a SPI via the KVM_IRQ_LINE ioctl we currently only check it against a fixed limit, which historically is set to 127. With the new dynamic IRQ allocation the effective limit may actually be smaller (64). So when now a malicious or buggy userland injects a SPI in that range, we spill over on our VGIC bitmaps and bytemaps memory. I could trigger a host kernel NULL pointer dereference with current mainline by injecting some bogus IRQ number from a hacked kvmtool: ----------------- .... DEBUG: kvm_vgic_inject_irq(kvm, cpu=0, irq=114, level=1) DEBUG: vgic_update_irq_pending(kvm, cpu=0, irq=114, level=1) DEBUG: IRQ #114 still in the game, writing to bytemap now... Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = ffffffc07652e000 [00000000] *pgd=00000000f658b003, *pud=00000000f658b003, *pmd=0000000000000000 Internal error: Oops: 96000006 [#1] PREEMPT SMP Modules linked in: CPU: 1 PID: 1053 Comm: lkvm-msi-irqinj Not tainted 4.0.0-rc7+ #3027 Hardware name: FVP Base (DT) task: ffffffc0774e9680 ti: ffffffc0765a8000 task.ti: ffffffc0765a8000 PC is at kvm_vgic_inject_irq+0x234/0x310 LR is at kvm_vgic_inject_irq+0x30c/0x310 pc : [<ffffffc0000ae0a8>] lr : [<ffffffc0000ae180>] pstate: 80000145 ..... So this patch fixes this by checking the SPI number against the actual limit. Also we remove the former legacy hard limit of 127 in the ioctl code. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> # 4.0, 3.19, 3.18 [maz: wrap KVM_ARM_IRQ_GIC_MAX with #ifndef __KERNEL__, as suggested by Christopher Covington] Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 0b3289ebc2d50cf5ab778215ed0b4075bbae6629 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Mon Apr 13 15:01:59 2015 +0200 KVM: arm: irqfd: fix value returned by kvm_irq_map_gsi irqfd/arm curently does not support routing. kvm_irq_map_gsi is supposed to return all the routing entries associated with the provided gsi and return the number of those entries. We should return 0 at this point. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit cf82f52d3619d2e15c83ec9a03c6ce8cdf6c6b58 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 15:51:44 2015 +0200 watchdog: stmp3xxx_rtc_wdt: fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit e8cc53665728860a56dbbd56bfc32ac934efb70a Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 15:51:43 2015 +0200 watchdog: pnx4008_wdt: fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 3a30c07e712df895981deac0782655997942bc75 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 20:05:40 2015 +0200 watchdog: octeon: use fixed length string for register names Use fixed length string for register names. This saves 416 bytes in text size. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 8692cf0ad31b3654c798c23de01e4c23c4536dea Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 20:05:39 2015 +0200 watchdog: octeon: fix some trivial coding style issues Fix some trivial coding style issues to reduce noise from static analyzers. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 3d588c93c040c4aacca81b15a7aa9761357ecdc4 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 20:05:38 2015 +0200 watchdog: octeon: convert to WATCHDOG_CORE API Convert OCTEON watchdog to WATCHDOG_CORE API. This enables support for multiple watchdogs on OCTEON boards. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 6290d8c826023a633da3e675784b5f317a9600f0 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Mar 9 09:50:12 2015 +0100 watchdog: cadence: Remove Kconfig dependency on ARCH Remove Kconfig dependency and enable driver for all ARCHs. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit cf79fb14d09f8a9aaadfce59d01cfedf4f96d99d Author: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Date: Fri Feb 20 18:19:36 2015 -0800 ARM: msm: add watchdog entries to DT timer binding doc The watchdog has been reworked to use the same DT node as the timer. This change is updating the device tree doc accordingly. Signed-off-by: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 4ba1c98b552c58b1a29bd943aef51b1788465b2d Author: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Date: Fri Feb 20 18:19:35 2015 -0800 ARM: qcom: add description of KPSS WDT for IPQ8064 Add the watchdog related entries to the Krait Processor Sub-system (KPSS) timer IPQ8064 devicetree section. Also, add a fixed-clock description of SLEEP_CLK, which will do for now. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Signed-off-by: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 0dfd582e026af8a37917164aaba7227fa812e5c2 Author: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Date: Fri Feb 20 18:19:34 2015 -0800 watchdog: qcom: use timer devicetree binding MSM watchdog configuration happens in the same register block as the timer, so we'll use the same binding as the existing timer. The qcom-wdt will now be probed when devicetree has an entry compatible with "qcom,kpss-timer" or "qcom-scss-timer". Signed-off-by: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit e1dbde29609a4f829589f0e48361470327ae3f62 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:48 2015 -0800 watchdog: bcm281xx: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Guenter Roeck <linux~roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 4a3893d069b788f3570c19c12d9e986e8e15870f Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Apr 20 10:20:40 2015 +0930 modpost: don't emit section mismatch warnings for compiler optimizations Currently an allyesconfig build [gcc-4.9.1] can generate the following: WARNING: vmlinux.o(.text.unlikely+0x3864): Section mismatch in reference from the function cpumask_empty.constprop.3() to the variable .init.data:nmi_ipi_mask which comes from the cpumask_empty usage in arch/x86/kernel/nmi_selftest.c. Normally we would not see a symbol entry for cpumask_empty since it is: static inline bool cpumask_empty(const struct cpumask *srcp) however in this case, the variant of the symbol gets emitted when GCC does constant propagation optimization. Fix things up so that any locally optimized constprop variants don't warn when accessing variables that live in the __init sections. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 09c20c032b0f753969ae778d9783d946f054d7fe Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Apr 20 10:20:26 2015 +0930 modpost: expand pattern matching to support substring matches Currently the match() function supports a leading * to match any prefix and a trailing * to match any suffix. However there currently is not a combination of both that can be used to target matches of whole families of functions that share a common substring. Here we expand the *foo and foo* match to also support *foo* with the goal of targeting compiler generated symbol names that contain strings like ".constprop." and ".isra." Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit c5c3439af0f9c08e253d2a703a7eb3deba7d8591 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Thu Apr 16 13:16:41 2015 +0930 modpost: do not try to match the SHT_NUL section. Trying to match the SHT_NUL section isn't useful and causes build failures on parisc and mn10300 since the addition of section strict white-listing and __ex_table sanitizing. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Fixes: 050e57fd5936 ("modpost: add strict white-listing when referencing....") Fixes: 52dc0595d540 ("modpost: handle relocations mismatch in __ex_table.") Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit e84048aa173f2403fa468cb189f101b57fece539 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Thu Apr 16 13:05:36 2015 +0930 modpost: fix extable entry size calculation. As Guenter pointed out, we were never really calculating the extable entry size because the pointer arithmetic was simply wrong. We want to check we're handling the second relocation in __ex_table to infer an entry size, but we were using (void*) pointers instead of Elf_Rel[a]* ones. This fixes the problem by moving that check in the caller (since we can deal with different types of relocations) and add is_second_extable_reloc() to make the whole thing more readable. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> CC: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit d3df4de7eb095cc4334759a5e65bf3bfb4be04f1 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Thu Apr 16 13:03:32 2015 +0930 modpost: fix inverted logic in is_extable_fault_address(). As Guenter pointed out, we want to assert that extable_entry_size has been discovered and not the other way around. Moreover, this sanity check is only valid when we're not dealing with the first relocation in __ex_table, since we have not discovered the extable entry size at that point. This was leading to a divide-by-zero on some architectures and make the build fail. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> CC: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6c730bfc894f5d4989c2c1493512d3330402be94 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Apr 15 13:28:08 2015 +0930 modpost: handle -ffunction-sections 52dc0595d540 introduced OTHER_TEXT_SECTIONS for identifying what sections could validly have __ex_table entries. Unfortunately, it wasn't tested with -ffunction-sections, which some architectures use. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit d7e0abcf4c6d9fc4ebb948c9bbc880b2483434b4 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Wed Apr 15 13:23:48 2015 +0930 modpost: Whitelist .text.fixup and .exception.text 32-bit and 64-bit ARM use these sections to store executable code, so they must be whitelisted in modpost's table of valid text sections. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit cdde0e61cf2d41123604c6c9d8f09ef5c23464ee Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Apr 22 12:24:13 2015 +0530 dmaengine: dw: don't prompt for DW_DMAC_CORE DW_DMAC_CORE is slected by PCI or Platform driver, so this symbol shouldn't be user selectable, so remove the prompt Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0140e6141e4f1d4b15fb469e6912b0e71b7d1cc2 Author: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Date: Tue Apr 21 12:33:11 2015 -0700 perf/x86/intel/uncore: Move PCI IDs for IMC to uncore driver This keeps all the related PCI IDs together in the driver where they are used. Signed-off-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429644791-25724-1-git-send-email-sonnyrao@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 80bcffb376a6890dd7452b12c1ba032f8f24fef6 Author: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Date: Mon Apr 20 15:34:07 2015 -0700 perf/x86/intel/uncore: Add support for Intel Haswell ULT (lower power Mobile Processor) IMC uncore PMUs This uncore is the same as the Haswell desktop part but uses a different PCI ID. Signed-off-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429569247-16697-1-git-send-email-sonnyrao@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3b6e042188994466ec257b71296b5f85b894dcd9 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Apr 21 17:26:23 2015 +0200 perf/x86/intel: Add cpu_(prepare|starting|dying) for core_pmu The core_pmu does not define cpu_* callbacks, which handles allocation of 'struct cpu_hw_events::shared_regs' data, initialization of debug store and PMU_FL_EXCL_CNTRS counters. While this probably won't happen on bare metal, virtual CPU can define x86_pmu.extra_regs together with PMU version 1 and thus be using core_pmu -> using shared_regs data without it being allocated. That could could leave to following panic: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff8152cd4f>] _spin_lock_irqsave+0x1f/0x40 SNIP [<ffffffff81024bd9>] __intel_shared_reg_get_constraints+0x69/0x1e0 [<ffffffff81024deb>] intel_get_event_constraints+0x9b/0x180 [<ffffffff8101e815>] x86_schedule_events+0x75/0x1d0 [<ffffffff810586dc>] ? check_preempt_curr+0x7c/0x90 [<ffffffff810649fe>] ? try_to_wake_up+0x24e/0x3e0 [<ffffffff81064ba2>] ? default_wake_function+0x12/0x20 [<ffffffff8109eb16>] ? autoremove_wake_function+0x16/0x40 [<ffffffff810577e9>] ? __wake_up_common+0x59/0x90 [<ffffffff811a9517>] ? __d_lookup+0xa7/0x150 [<ffffffff8119db5f>] ? do_lookup+0x9f/0x230 [<ffffffff811a993a>] ? dput+0x9a/0x150 [<ffffffff8119c8f5>] ? path_to_nameidata+0x25/0x60 [<ffffffff8119e90a>] ? __link_path_walk+0x7da/0x1000 [<ffffffff8101d8f9>] ? x86_pmu_add+0xb9/0x170 [<ffffffff8101d7a7>] x86_pmu_commit_txn+0x67/0xc0 [<ffffffff811b07b0>] ? mntput_no_expire+0x30/0x110 [<ffffffff8119c731>] ? path_put+0x31/0x40 [<ffffffff8107c297>] ? current_fs_time+0x27/0x30 [<ffffffff8117d170>] ? mem_cgroup_get_reclaim_stat_from_page+0x20/0x70 [<ffffffff8111b7aa>] group_sched_in+0x13a/0x170 [<ffffffff81014a29>] ? sched_clock+0x9/0x10 [<ffffffff8111bac8>] ctx_sched_in+0x2e8/0x330 [<ffffffff8111bb7b>] perf_event_sched_in+0x6b/0xb0 [<ffffffff8111bc36>] perf_event_context_sched_in+0x76/0xc0 [<ffffffff8111eb3b>] perf_event_comm+0x1bb/0x2e0 [<ffffffff81195ee9>] set_task_comm+0x69/0x80 [<ffffffff81195fe1>] setup_new_exec+0xe1/0x2e0 [<ffffffff811ea68e>] load_elf_binary+0x3ce/0x1ab0 Adding cpu_(prepare|starting|dying) for core_pmu to have shared_regs data allocated for core_pmu. AFAICS there's no harm to initialize debug store and PMU_FL_EXCL_CNTRS either for core_pmu. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150421152623.GC13169@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db4fd9c5d072a20ea6b7e40276a9822e04732610 Merge: 8aaa51b 0edfad5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 23:21:34 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc fixes from David Miller: 1) ldc_alloc_exp_dring() can be called from softints, so use GFP_ATOMIC. From Sowmini Varadhan. 2) Some minor warning/build fixups for the new iommu-common code on certain archs and with certain debug options enabled. Also from Sowmini Varadhan. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc: Use GFP_ATOMIC in ldc_alloc_exp_dring() as it can be called in softirq context sparc64: Use M7 PMC write on all chips T4 and onward. iommu-common: rename iommu_pool_hash to iommu_hash_common iommu-common: fix x86_64 compiler warnings commit 8aaa51b63cc3c5f3b2e72d2f0e193d9c2e00fe46 Merge: f614c81 fab9adf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 22:37:27 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "Just a few fixes trickling in at this point. 1) If we see an attached socket on an skb in the ipv4 forwarding path, bail. This can happen due to races with FIB rule addition, and deletion, and we should just drop such frames. From Sebastian Pöhn. 2) pppoe receive should only accept packets destined for this hosts's MAC address. From Joakim Tjernlund. 3) Handle checksum unwrapping properly in ppp receive properly when it's encapsulated in UDP in some way, fix from Tom Herbert. 4) Fix some bugs in mv88e6xxx DSA driver resulting from the conversion from register offset constants to mnenomic macros. From Vivien Didelot. 5) Fix handling of HCA max message size in mlx4 adapters, from Eran Ben ELisha" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: net/mlx4_core: Fix reading HCA max message size in mlx4_QUERY_DEV_CAP tcp: add memory barriers to write space paths altera tse: Error-Bit on tx-avalon-stream always set. net: dsa: mv88e6xxx: use PORT_DEFAULT_VLAN net: dsa: mv88e6xxx: fix setup of port control 1 ppp: call skb_checksum_complete_unset in ppp_receive_frame net: add skb_checksum_complete_unset pppoe: Lacks DST MAC address check ip_forward: Drop frames with attached skb->sk commit 48c1078509b47b38802329028ccfd77783bcff99 Merge: 30ecc84 da4d814 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Apr 21 21:45:15 2015 -0700 Merge tag 'omap-for-v4.1/prcm-dts-mfd-syscon-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/late Merge "urgent omap boot fix for v4.1 if MFD_SYSCON is not set" from Tony Lindgren: Urgent pull request for v4.1 to booting for custom kernel .config files that do not have MFD_SYSCON set. Omaps now have a dependency to MFD_SYSCON for system control module generic register area and some clocks with the changes done in omap-for-v4.1/prcm-dts branch. This can be pulled on top of omap-for-v4.1/prcm-dts, or into fixes for v4.1. We already do have a slight MFD_SYSCON dependency for REGULATOR_PBIAS for dual voltage MMC cards on the first MMC bus for many devices, so from that point of view this can also be merged separately from omap-for-v4.1/prcm-dts. * tag 'omap-for-v4.1/prcm-dts-mfd-syscon-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6b5eab54691956b27669ce726cbd8ef2d8ec1e50 Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Date: Wed Apr 22 00:25:36 2015 +0100 ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler() Use list_for_each_entry_safe for iterating because handler may be freed in the loop. BUG: unable to handle kernel NULL pointer dereference at 000000000000002c IP: [<ffffffff814d69c8>] acpi_ec_put_query_handler+0x7/0x1a Call Trace: acpi_ec_remove_query_handler+0x87/0x97 acpi_smbus_hc_remove+0x2a/0x44 [sbshc] acpi_device_remove+0x7b/0x9a __device_release_driver+0x7e/0x110 driver_detach+0xb0/0xc0 bus_remove_driver+0x54/0xe0 driver_unregister+0x2b/0x60 acpi_bus_unregister_driver+0x10/0x12 acpi_smb_hc_driver_exit+0x10/0x12 [sbshc] SyS_delete_module+0x1b8/0x210 system_call_fastpath+0x12/0x6a Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f614c8178b0696d070b23f36a2a27b5128f6c372 Merge: b8ce8d7 c19edb6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 17:57:28 2015 -0700 Merge branch 'parisc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc fixes from Helge Deller: "The patch by Guenter Roeck fixes the build on parisc which got broken because of commit f24ffde43237 ("parisc: expose number of page table levels on Kconfig level") and the patch from Matthew Wilcox converts our code to use the generic scatterlist.h header file" * 'parisc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Replace PT_NLEVELS with CONFIG_PGTABLE_LEVELS parisc: Eliminate sg_virt_addr() and private scatterlist.h commit 9ffc8f7cb9647b13dfe4d1ad0d5e1427bb8b46d6 Author: Eric Mei <eric.mei@xxxxxxxxxxx> Date: Wed Mar 18 23:39:11 2015 -0600 md/raid5: don't do chunk aligned read on degraded array. When array is degraded, read data landed on failed drives will result in reading rest of data in a stripe. So a single sequential read would result in same data being read twice. This patch is to avoid chunk aligned read for degraded array. The downside is to involve stripe cache which means associated CPU overhead and extra memory copy. Test Results: Following test are done on a enterprise storage node with Seagate 6T SAS drives and Xeon E5-2648L CPU (10 cores, 1.9Ghz), 10 disks MD RAID6 8+2, chunk size 128 KiB. I use FIO, using direct-io with various bs size, enough queue depth, tested sequential and 100% random read against 3 array config: 1) optimal, as baseline; 2) degraded; 3) degraded with this patch. Kernel version is 4.0-rc3. Each individual test I only did once so there might be some variations, but we just focus on big trend. Sequential Read: bs=(KiB) optimal(MiB/s) degraded(MiB/s) degraded-with-patch (MiB/s) 1024 1608 656 995 512 1624 710 956 256 1635 728 980 128 1636 771 983 64 1612 1119 1000 32 1580 1420 1004 16 1368 688 986 8 768 647 953 4 411 413 850 Random Read: bs=(KiB) optimal(IOPS) degraded(IOPS) degraded-with-patch (IOPS) 1024 163 160 156 512 274 273 272 256 426 428 424 128 576 592 591 64 726 724 726 32 849 848 837 16 900 970 971 8 927 940 929 4 948 940 955 Some notes: * In sequential + optimal, as bs size getting smaller, the FIO thread become CPU bound. * In sequential + degraded, there's big increase when bs is 64K and 32K, I don't have explanation. * In sequential + degraded-with-patch, the MD thread mostly become CPU bound. If you want to we can discuss specific data point in those data. But in general it seems with this patch, we have more predictable and in most cases significant better sequential read performance when array is degraded, and almost no noticeable impact on random read. Performance is a complicated thing, the patch works well for this particular configuration, but may not be universal. For example I imagine testing on all SSD array may have very different result. But I personally think in most cases IO bandwidth is more scarce resource than CPU. Signed-off-by: Eric Mei <eric.mei@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit edbe83ab4c27ea6669eb57adb5ed7eaec1118ceb Author: NeilBrown <neilb@xxxxxxx> Date: Thu Feb 26 12:47:56 2015 +1100 md/raid5: allow the stripe_cache to grow and shrink. The default setting of 256 stripe_heads is probably much too small for many configurations. So it is best to make it auto-configure. Shrinking the cache under memory pressure is easy. The only interesting part here is that we put a fairly high cost ('seeks') on shrinking the cache as the cost is greater than just having to read more data, it reduces parallelism. Growing the cache on demand needs to be done carefully. If we allow fast growth, that can upset memory balance as lots of dirty memory can quickly turn into lots of memory queued in the stripe_cache. It is important for the raid5 block device to appear congested to allow write-throttling to work. So we only add stripes slowly. We set a flag when an allocation fails because all stripes are in use, allocate at a convenient time when that flag is set, and don't allow it to be set again until at least one stripe_head has been released for re-use. This means that a spurt of requests will only cause one stripe_head to be allocated, but a steady stream of requests will slowly increase the cache size - until memory pressure puts it back again. It could take hours to reach a steady state. The value written to, and displayed in, stripe_cache_size is used as a minimum. The cache can grow above this and shrink back down to it. The actual size is not directly visible, though it can be deduced to some extent by watching stripe_cache_active. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 5423399a84ee1d92d29d763029ed40e4905cf50f Author: NeilBrown <neilb@xxxxxxx> Date: Thu Feb 26 12:21:04 2015 +1100 md/raid5: change ->inactive_blocked to a bit-flag. This allows us to easily add more (atomic) flags. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 486f0644c3482cbf64fe804499836e1f05abec14 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Feb 25 12:10:35 2015 +1100 md/raid5: move max_nr_stripes management into grow_one_stripe and drop_one_stripe Rather than adjusting max_nr_stripes whenever {grow,drop}_one_stripe() succeeds, do it inside the functions. Also choose the correct hash to handle next inside the functions. This removes duplication and will help with future new uses of {grow,drop}_one_stripe. This also fixes a minor bug where the "md/raid:%md: allocate XXkB" message always said "0kB". Signed-off-by: NeilBrown <neilb@xxxxxxx> commit a9683a795bcca6d0e7fe4c4c00e071218f3f4428 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Feb 25 12:02:51 2015 +1100 md/raid5: pass gfp_t arg to grow_one_stripe() This is needed for future improvement to stripe cache management. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit d06f191f8ecaef4d524e765fdb455f96392fbd42 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:05 2014 +1100 md/raid5: introduce configuration option rmw_level Depending on the available coding we allow optimized rmw logic for write operations. To support easier testing this patch allows manual control of the rmw/rcw descision through the interface /sys/block/mdX/md/rmw_level. The configuration can handle three levels of control. rmw_level=0: Disable rmw for all RAID types. Hardware assisted P/Q calculation has no implementation path yet to factor in/out chunks of a syndrome. Enforcing this level can be benefical for slow CPUs with hardware syndrome support and fast SSDs. rmw_level=1: Estimate rmw IOs and rcw IOs. Execute rmw only if we will save IOs. This equals the "old" unpatched behaviour and will be the default. rmw_level=2: Execute rmw even if calculated IOs for rmw and rcw are equal. We might have higher CPU consumption because of calculating the parity twice but it can be benefical otherwise. E.g. RAID4 with fast dedicated parity disk/SSD. The option is implemented just to be forward-looking and will ONLY work with this patch! Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 584acdd49cd2472ca0f5a06adbe979db82d0b4af Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:05 2014 +1100 md/raid5: activate raid6 rmw feature Glue it altogehter. The raid6 rmw path should work the same as the already existing raid5 logic. So emulate the prexor handling/flags and split functions as needed. 1) Enable xor_syndrome() in the async layer. 2) Split ops_run_prexor() into RAID4/5 and RAID6 logic. Xor the syndrome at the start of a rmw run as we did it before for the single parity. 3) Take care of rmw run in ops_run_reconstruct6(). Again process only the changed pages to get syndrome back into sync. 4) Enhance set_syndrome_sources() to fill NULL pages if we are in a rmw run. The lower layers will calculate start & end pages from that and call the xor_syndrome() correspondingly. 5) Adapt the several places where we ignored Q handling up to now. Performance numbers for a single E5630 system with a mix of 10 7200k desktop/server disks. 300 seconds random write with 8 threads onto a 3,2TB (10*400GB) RAID6 64K chunk without spare (group_thread_cnt=4) bsize rmw_level=1 rmw_level=0 rmw_level=1 rmw_level=0 skip_copy=1 skip_copy=1 skip_copy=0 skip_copy=0 4K 115 KB/s 141 KB/s 165 KB/s 140 KB/s 8K 225 KB/s 275 KB/s 324 KB/s 274 KB/s 16K 434 KB/s 536 KB/s 640 KB/s 534 KB/s 32K 751 KB/s 1,051 KB/s 1,234 KB/s 1,045 KB/s 64K 1,339 KB/s 1,958 KB/s 2,282 KB/s 1,962 KB/s 128K 2,673 KB/s 3,862 KB/s 4,113 KB/s 3,898 KB/s 256K 7,685 KB/s 7,539 KB/s 7,557 KB/s 7,638 KB/s 512K 19,556 KB/s 19,558 KB/s 19,652 KB/s 19,688 Kb/s Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit a582564b24bec0443b5c5ff43ee6d1258f8bd658 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:05 2014 +1100 md/raid6 algorithms: xor_syndrome() for SSE2 The second and (last) optimized XOR syndrome calculation. This version supports right and left side optimization. All CPUs with architecture older than Haswell will benefit from it. It should be noted that SSE2 movntdq kills performance for memory areas that are read and written simultaneously in chunks smaller than cache line size. So use movdqa instead for P/Q writes in sse21 and sse22 XOR functions. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 9a5ce91d053961b7cc8fa56bd083819a9fc92734 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:04 2014 +1100 md/raid6 algorithms: xor_syndrome() for generic int Start the algorithms with the very basic one. It is left and right optimized. That means we can avoid all calculations for unneeded pages above the right stop offset. For pages below the left start offset we still need the syndrome multiplication but without reading data pages. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 7e92e1d7629b00578cef22b1f4c6ada726663701 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:04 2014 +1100 md/raid6 algorithms: improve test program It is always helpful to have a test tool in place if we implement new data critical algorithms. So add some test routines to the raid6 checker that can prove if the new xor_syndrome() works as expected. Run through all permutations of start/stop pages per algorithm and simulate a xor_syndrome() assisted rmw run. After each rmw check if the recovery algorithm still confirms that the stripe is fine. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit fe5cbc6e06c7d8b3a86f6f5491d74766bb5c2827 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:04 2014 +1100 md/raid6 algorithms: delta syndrome functions v3: s-o-b comment, explanation of performance and descision for the start/stop implementation Implementing rmw functionality for RAID6 requires optimized syndrome calculation. Up to now we can only generate a complete syndrome. The target P/Q pages are always overwritten. With this patch we provide a framework for inplace P/Q modification. In the first place simply fill those functions with NULL values. xor_syndrome() has two additional parameters: start & stop. These will indicate the first and last page that are changing during a rmw run. That makes it possible to avoid several unneccessary loops and speed up calculation. The caller needs to implement the following logic to make the functions work. 1) xor_syndrome(disks, start, stop, ...): "Remove" all data of source blocks inside P/Q between (and including) start and end. 2) modify any block with start <= block <= stop 3) xor_syndrome(disks, start, stop, ...): "Reinsert" all data of source blocks into P/Q between (and including) start and end. Pages between start and stop that won't be changed should be filled with a pointer to the kernel zero page. The reasons for not taking NULL pages are: 1) Algorithms cross the whole source data line by line. Thus avoid additional branches. 2) Having a NULL page avoids calculating the XOR P parity but still need calulation steps for the Q parity. Depending on the algorithm unrolling that might be only a difference of 2 instructions per loop. The benchmark numbers of the gen_syndrome() functions are displayed in the kernel log. Do the same for the xor_syndrome() functions. This will help to analyze performance problems and give an rough estimate how well the algorithm works. The choice of the fastest algorithm will still depend on the gen_syndrome() performance. With the start/stop page implementation the speed can vary a lot in real life. E.g. a change of page 0 & page 15 on a stripe will be harder to compute than the case where page 0 & page 1 are XOR candidates. To be not to enthusiatic about the expected speeds we will run a worse case test that simulates a change on the upper half of the stripe. So we do: 1) calculation of P/Q for the upper pages 2) continuation of Q for the lower (empty) pages Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit dabc4ec6ba72418ebca6bf1884f344bba40c8709 Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:04 2014 +1100 raid5: handle expansion/resync case with stripe batching expansion/resync can grab a stripe when the stripe is in batch list. Since all stripes in batch list must be in the same state, we can't allow some stripes run into expansion/resync. So we delay expansion/resync for stripe in batch list. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 72ac733015bbdc0356ba3e92c52137a265910a91 Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:03 2014 +1100 raid5: handle io error of batch list If io error happens in any stripe of a batch list, the batch list will be split, then normal process will run for the stripes in the list. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 59fc630b8b5f9f21c8ce3ba153341c107dce1b0c Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:03 2014 +1100 RAID5: batch adjacent full stripe write stripe cache is 4k size. Even adjacent full stripe writes are handled in 4k unit. Idealy we should use big size for adjacent full stripe writes. Bigger stripe cache size means less stripes runing in the state machine so can reduce cpu overhead. And also bigger size can cause bigger IO size dispatched to under layer disks. With below patch, we will automatically batch adjacent full stripe write together. Such stripes will be added to the batch list. Only the first stripe of the list will be put to handle_list and so run handle_stripe(). Some steps of handle_stripe() are extended to cover all stripes of the list, including ops_run_io, ops_run_biodrain and so on. With this patch, we have less stripes running in handle_stripe() and we send IO of whole stripe list together to increase IO size. Stripes added to a batch list have some limitations. A batch list can only include full stripe write and can't cross chunk boundary to make sure stripes have the same parity disks. Stripes in a batch list must be in the same state (no written, toread and so on). If a stripe is in a batch list, all new read/write to add_stripe_bio will be blocked to overlap conflict till the batch list is handled. The limitations will make sure stripes in a batch list be in exactly the same state in the life circly. I did test running 160k randwrite in a RAID5 array with 32k chunk size and 6 PCIe SSD. This patch improves around 30% performance and IO size to under layer disk is exactly 32k. I also run a 4k randwrite test in the same array to make sure the performance isn't changed with the patch. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 7a87f43405e91ca12b8770eb689dd9886f217091 Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:03 2014 +1100 raid5: track overwrite disk count Track overwrite disk count, so we can know if a stripe is a full stripe write. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit da41ba65972532a04f73927c903029a7ec3bc2ed Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:03 2014 +1100 raid5: add a new flag to track if a stripe can be batched A freshly new stripe with write request can be batched. Any time the stripe is handled or new read is queued, the flag will be cleared. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 46d5b785621ad10a373e292f9101ccfc626466e0 Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:02 2014 +1100 raid5: use flex_array for scribble data Use flex_array for scribble data. Next patch will batch several stripes together, so scribble data should be able to cover several stripes, so this patch also allocates scribble data for stripes across a chunk. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 753f2856cda2a130d38ebc3db97bff66c1ef3ca7 Author: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Date: Fri Feb 13 19:48:01 2015 +0100 md raid0: access mddev->queue (request queue member) conditionally because it is not set when accessed from dm-raid The patch makes 3 references to mddev->queue in the raid0 personality conditional in order to allow for it to be accessed from dm-raid. Mandatory, because md instances underneath dm-raid don't manage a request queue of their own which'd lead to oopses without the patch. Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Tested-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit ac8fa4196d205ac8fff3f8932bddbad4f16e4110 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Feb 19 16:55:00 2015 +1100 md: allow resync to go faster when there is competing IO. When md notices non-sync IO happening while it is trying to resync (or reshape or recover) it slows down to the set minimum. The default minimum might have made sense many years ago but the drives have become faster. Changing the default to match the times isn't really a long term solution. This patch changes the code so that instead of waiting until the speed has dropped to the target, it just waits until pending requests have completed. This means that the delay inserted is a function of the speed of the devices. Testing shows that: - for some loads, the resync speed is unchanged. For those loads increasing the minimum doesn't change the speed either. So this is a good result. To increase resync speed under such loads we would probably need to increase the resync window size. - for other loads, resync speed does increase to a reasonable fraction (e.g. 20%) of maximum possible, and throughput of the load only drops a little bit (e.g. 10%) - for other loads, throughput of the non-sync load drops quite a bit more. These seem to be latency-sensitive loads. So it isn't a perfect solution, but it is mostly an improvement. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 09314799e4f0589e52bafcd0ca3556c60468bc0e Author: NeilBrown <neilb@xxxxxxx> Date: Thu Feb 19 16:04:40 2015 +1100 md: remove 'go_faster' option from ->sync_request() This option is not well justified and testing suggests that it hardly ever makes any difference. The comment suggests there might be a need to wait for non-resync activity indicated by ->nr_waiting, however raise_barrier() already waits for all of that. So just remove it to simplify reasoning about speed limiting. This allows us to remove a 'FIXME' comment from raid5.c as that never used the flag. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 50c37b136a3807eda44afe16529b5af701ec49f5 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Mar 23 17:36:38 2015 +1100 md: don't require sync_min to be a multiple of chunk_size. There is really no need for sync_min to be a multiple of chunk_size, and values read from here often aren't. That means you cannot read a value and expect to be able to write it back later. So remove the chunk_size check, and round down to a multiple of 4K, to be sure everything works with 4K-sector devices. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit d51e4fe6d68098d4361a6b6d41d8da727b1f1af4 Merge: 47d6897 97f6cd3 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Apr 22 08:00:20 2015 +1000 Merge branch 'cluster' into for-next commit 97f6cd39da227459cb46ed4088d37d5d8db51c50 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Apr 14 10:45:42 2015 -0500 md-cluster: re-add capabilities When "re-add" is writted to /sys/block/mdXX/md/dev-YYY/state, the clustered md: 1. Sends RE_ADD message with the desc_nr. Nodes receiving the message clear the Faulty bit in their respective rdev->flags. 2. The node initiating re-add, gathers the bitmaps of all nodes and copies them into the local bitmap. It does not clear the bitmap from which it is copying. 3. Initiating node schedules a md recovery to sync the devices. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit a6da4ef85cef0382244fc588c901e133a2ec5109 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Apr 14 10:45:22 2015 -0500 md: re-add a failed disk This adds the capability of re-adding a failed disk by writing "re-add" to /sys/block/mdXX/md/dev-YYY/state. This facilitates adding disks which have encountered a temporary error such as a network disconnection/hiccup in an iSCSI device, or a SAN cable disconnection which has been restored. In such a situation, you do not need to remove and re-add the device. Writing re-add to the failed device's state would add it again to the array and perform the recovery of only the blocks which were written after the device failed. This works for generic md, and is not related to clustering. However, this patch is to ease re-add operations listed above in clustering environments. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 88bcfef7be513e8bf5448e0025330fdd97c4c708 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Apr 14 10:44:44 2015 -0500 md-cluster: remove capabilities This adds "remove" capabilities for the clustered environment. When a user initiates removal of a device from the array, a REMOVE message with disk number in the array is sent to all the nodes which kick the respective device in their own array. This facilitates the removal of failed devices. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 57d051dccaef395e0d8c0fff02cfc3a77bacc88c Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Apr 14 10:43:55 2015 -0500 md: Export and rename find_rdev_nr_rcu This is required by the clustering module (patches to follow) to find the device to remove or re-add. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit fb56dfef4e31f214cfbfa0eb8a1949591c20b118 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Apr 14 10:43:24 2015 -0500 md: Export and rename kick_rdev_from_array This export is required for clustering module in order to co-ordinate remove/readd a rdev from all nodes. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 8c58f02e244d5b35fa38aa308007715d4957d4c7 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Tue Apr 21 11:25:52 2015 -0500 md-cluster: correct the num for comparison Since the node num of md-cluster is from zero, and cinfo->slot_number represents the slot num of dlm, no need to check for equality. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit fab9adfb71fc8690e20c3c280d39d49c8f4a3f0a Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Tue Apr 21 15:46:34 2015 +0300 net/mlx4_core: Fix reading HCA max message size in mlx4_QUERY_DEV_CAP Currently we parse max_msg_sz from the wrong offset in QUERY_DEV_CAP, fix to use the right offset. Fixes: 0b131561a7d6 ('net/mlx4_en: Add Flow control statistics [..]') Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fbbda5c8e0ab9c391e4160a0eb3a06260f9f668 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Apr 21 14:57:26 2015 -0500 ia64/PCI: Treat all host bridge Address Space Descriptors (even consumers) as windows Prior to c770cb4cb505 ("PCI: Mark invalid BARs as unassigned"), if we tried to claim a PCI BAR but could not find an upstream bridge window that matched it, we complained but still allowed the device to be enabled. c770cb4cb505 broke devices that previously worked (mptsas and igb in the case Tony reported, but it could be any devices) because it marks those BARs as IORESOURCE_UNSET, which makes pci_enable_device() complain and return failure: igb 0000:81:00.0: can't enable device: BAR 0 [mem size 0x00020000] not assigned igb: probe of 0000:81:00.0 failed with error -22 The underlying cause is an ACPI Address Space Descriptor for a PCI host bridge window that is marked as "consumer". This is a firmware defect: resources that are produced on the downstream side of a bridge should be marked "producer". But rejecting these BARs that we previously allowed is a functionality regression, and firmware has not used the producer/consumer bit consistently, so we can't rely on it anyway. Stop checking the producer/consumer bit, and assume all bridge Address Space Descriptors are for bridge windows. Note that this change does not affect I/O Port or Fixed Location I/O Port Descriptors, which are commonly used for the [io 0x0cf8-0x0cff] config access range. That range is a "consumer" range and should not be treated as a window. Fixes: c770cb4cb505 ("PCI: Mark invalid BARs as unassigned") Link: https://bugzilla.kernel.org/show_bug.cgi?id=96961 Reported-and-tested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0edfad5959df7379c9e554fbe8ba264ae232d321 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue Apr 21 10:30:41 2015 -0400 sparc: Use GFP_ATOMIC in ldc_alloc_exp_dring() as it can be called in softirq context Since it is possible for vnet_event_napi to end up doing vnet_control_pkt_engine -> ... -> vnet_send_attr -> vnet_port_alloc_tx_ring -> ldc_alloc_exp_dring -> kzalloc() (i.e., in softirq context), kzalloc() should be called with GFP_ATOMIC from ldc_alloc_exp_dring. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bff175238a2416110e2258989c462234baeb5f46 Author: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Date: Fri Mar 27 17:50:00 2015 +0100 uapi: Remove kernel internal declaration The enum nfs4_acl_whotype is only used in nfs4d's internal nfs4 acl representation. No longer expose it to user space. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit bb7ffbf29e76b89a86ca4c3ee0d4690641f2f772 Author: Giuseppe Cantavenera <giuseppe.cantavenera.ext@xxxxxxxxx> Date: Mon Apr 20 18:00:08 2015 +0200 nfsd: fix nsfd startup race triggering BUG_ON nfsd triggered a BUG_ON in net_generic(...) when rpc_pipefs_event(...) in fs/nfsd/nfs4recover.c was called before assigning ntfsd_net_id. The following was observed on a MIPS 32-core processor: kernel: Call Trace: kernel: [<ffffffffc00bc5e4>] rpc_pipefs_event+0x7c/0x158 [nfsd] kernel: [<ffffffff8017a2a0>] notifier_call_chain+0x70/0xb8 kernel: [<ffffffff8017a4e4>] __blocking_notifier_call_chain+0x4c/0x70 kernel: [<ffffffff8053aff8>] rpc_fill_super+0xf8/0x1a0 kernel: [<ffffffff8022204c>] mount_ns+0xb4/0xf0 kernel: [<ffffffff80222b48>] mount_fs+0x50/0x1f8 kernel: [<ffffffff8023dc00>] vfs_kern_mount+0x58/0xf0 kernel: [<ffffffff802404ac>] do_mount+0x27c/0xa28 kernel: [<ffffffff80240cf0>] SyS_mount+0x98/0xe8 kernel: [<ffffffff80135d24>] handle_sys64+0x44/0x68 kernel: kernel: Code: 0040f809 00000000 2e020001 <00020336> 3c12c00d 3c02801a de100000 6442eb98 0040f809 kernel: ---[ end trace 7471374335809536 ]--- Fixed this behaviour by calling register_pernet_subsys(&nfsd_net_ops) before registering rpc_pipefs_event(...) with the notifier chain. Signed-off-by: Giuseppe Cantavenera <giuseppe.cantavenera.ext@xxxxxxxxx> Signed-off-by: Lorenzo Restelli <lorenzo.restelli.ext@xxxxxxxxx> Reviewed-by: Kinlong Mee <kinglongmee@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 135dd002c23054aaa056ea3162c1e0356905c195 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Mon Apr 6 09:46:00 2015 -0400 nfsd: eliminate NFSD_DEBUG Commit f895b252d4edf ("sunrpc: eliminate RPC_DEBUG") introduced use of IS_ENABLED() in a uapi header which leads to a build failure for userspace apps trying to use <linux/nfsd/debug.h>: linux/nfsd/debug.h:18:15: error: missing binary operator before token "(" #if IS_ENABLED(CONFIG_SUNRPC_DEBUG) ^ Since this was only used to define NFSD_DEBUG if CONFIG_SUNRPC_DEBUG is enabled, replace instances of NFSD_DEBUG with CONFIG_SUNRPC_DEBUG. Cc: stable@xxxxxxxxxxxxxxx Fixes: f895b252d4edf "sunrpc: eliminate RPC_DEBUG" Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6e4891dc289cd191d46ab7ba1dcb29646644f9ca Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Fri Apr 3 17:19:41 2015 -0400 nfsd4: fix READ permission checking In the case we already have a struct file (derived from a stateid), we still need to do permission-checking; otherwise an unauthorized user could gain access to a file by sniffing or guessing somebody else's stateid. Cc: stable@xxxxxxxxxxxxxxx Fixes: dc97618ddda9 "nfsd4: separate splice and readv cases" Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 980608fb50aea34993ba956b71cd4602aa42b14b Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Apr 21 15:25:39 2015 -0400 nfsd4: disallow SEEK with special stateids If the client uses a special stateid then we'll pass a NULL file to vfs_llseek. Fixes: 24bab491220f " NFSD: Implement SEEK" Cc: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reported-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit df386375ffa8c2262a52db64a5b6446e11896978 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 21 13:14:53 2015 -0700 sparc64: Use M7 PMC write on all chips T4 and onward. They both work equally well, and the M7 implementation is simpler and cheaper (less register writes). With help from David Ahern. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af539e985b3fbe3b602313f317506a2a9e73f5bf Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Apr 21 14:57:45 2015 -0500 MAINTAINERS: Remove Mohit Kumar (email bounces) Email to Mohit Kumar <mohit.kumar@xxxxxx> has been bouncing, so remove the address from MAINTAINERS and add an entry in CREDITS. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit c19edb6946d250db6d4a3dbd6146f7b23bf3468b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Apr 15 13:34:28 2015 -0700 parisc: Replace PT_NLEVELS with CONFIG_PGTABLE_LEVELS The following warning is seen when compiling parisc images ./arch/parisc/include/asm/pgalloc.h: In function 'pgd_alloc': ./arch/parisc/include/asm/pgalloc.h:29:5: warning: "PT_NLEVELS" is not defined Some definitions of PT_NLEVELS were missed with the conversion to CONFIG_PGTABLE_LEVELS. Fixes: f24ffde43237 ("parisc: expose number of page table levels on Kconfig level") Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 8bf8a1d1c13c687eda599c827d713eb70764a79f Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Fri Mar 20 13:37:59 2015 -0400 parisc: Eliminate sg_virt_addr() and private scatterlist.h The only reason to keep parisc's private asm/scatterlist.h was that it had the macro sg_virt_addr(). Convert all callers to use something else (sometimes just sg->offset was enough, others should use sg_virt()), and we can just use the asm-generic scatterlist.h instead. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Dave Anglin <dave.anglin@xxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 3c7151275c0c9a80c3375f9874b1c7129a105eea Author: jbaron@xxxxxxxxxx <jbaron@xxxxxxxxxx> Date: Mon Apr 20 20:05:07 2015 +0000 tcp: add memory barriers to write space paths Ensure that we either see that the buffer has write space in tcp_poll() or that we perform a wakeup from the input side. Did not run into any actual problem here, but thought that we should make things explicit. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8ce8d7222b52200e61ea29523993e20751baaaa Merge: 1d11437 4885338 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 12:54:08 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull more input subsystem updates from Dmitry Torokhov: - an update to Atmel MXT driver that makes it functional on Google Pixel 2 boxes (both touchpad and touchscreen) - a new VMware VMMouse driver that should allow us drop X vmmouse driver that requires root privileges (since it accesses ioports) - XBox One controllers now support force feedback (rumble) * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: lm8333 - fix broken email address Input: cyapa - fix setting suspend scan rate Input: elan_i2c - fix calculating number of x and y traces. Input: elan_i2c - report hovering contacts Input: elants_i2c - zero-extend hardware ID in firmware name Input: alps - document separate pointstick button bits for V2 devices Input: atmel_mxt_ts - add support for Google Pixel 2 Input: xpad - add rumble support for Xbox One controller Input: ff-core - use new debug macros Input: add vmmouse driver Input: elan_i2c - adjust for newer firmware pressure reporting commit 1d11437f4fd02f9b5d3749675a1232216787dcc6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 12:49:33 2015 -0700 media: remove unused variable that causes a warning My 'allmodconfig' build is _almost_ free of warnings, and most of the remaining ones are for legacy drivers that just do bad things that I can't find it in my black heart to care too much about. But this one was just annoying me: drivers/media/v4l2-core/videobuf2-core.c:3256:26: warning: unused variable â??fileioâ?? [-Wunused-variable] because commit 0e661006370b ("[media] vb2: fix 'UNBALANCED' warnings when calling vb2_thread_stop()") removed all users of 'fileio' and instead calls "__vb2_cleanup_fileio(q)" to clean up q->fileio. But the now unused 'fileio' variable was left around. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5ba4a25ab7b13be528b23f85182f4d09cf7f71ad Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Fri Apr 3 16:24:27 2015 -0400 nfsd4: disallow ALLOCATE with special stateids vfs_fallocate will hit a NULL dereference if the client tries an ALLOCATE or DEALLOCATE with a special stateid. Fix that. (We also depend on the open to have broken any conflicting leases or delegations for us.) (If it turns out we need to allow special stateid's then we could do a temporary open here in the special-stateid case, as we do for read and write. For now I'm assuming it's not necessary.) Fixes: 95d871f03cae "nfsd: Add ALLOCATE support" Cc: stable@xxxxxxxxxxxxxxx Cc: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 48853389f206b689260ddfd3006816779ca7a52a Merge: 85a3685 c9eeb50 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 21 11:12:42 2015 -0700 Merge branch 'next' into for-linus Prepare second round of updates for 4.1 merge window. commit 123857a705603a1d10d2adc02e9dcd065b0e1cb1 Merge: 085e68e 66feed6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 21 20:04:41 2015 +0200 Merge tag 'signed-kvm-ppc-queue' of git://github.com/agraf/linux-2.6 into kvm-master Patch queue for ppc - 2015-04-21 This is the latest queue for KVM on PowerPC changes. Highlights this time around: - Book3S HV: Debugging aids - Book3S HV: Minor performance improvements - Book3S HV: Cleanups commit 085e68eeafbf76e21848ad5bafaecec88a11dd64 Author: Ben Serebrin <serebrin@xxxxxxxxxx> Date: Thu Apr 16 11:58:05 2015 -0700 KVM: VMX: Preserve host CR4.MCE value while in guest mode. The host's decision to enable machine check exceptions should remain in force during non-root mode. KVM was writing 0 to cr4 on VCPU reset and passed a slightly-modified 0 to the vmcs.guest_cr4 value. Tested: Built. On earlier version, tested by injecting machine check while a guest is spinning. Before the change, if guest CR4.MCE==0, then the machine check is escalated to Catastrophic Error (CATERR) and the machine dies. If guest CR4.MCE==1, then the machine check causes VMEXIT and is handled normally by host Linux. After the change, injecting a machine check causes normal Linux machine check handling. Signed-off-by: Ben Serebrin <serebrin@xxxxxxxxxx> Reviewed-by: Venkatesh Srinivas <venkateshs@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0c8027d50c070859314a88aaff42453ff4f71819 Merge: 1fc1499 64131a8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 10:01:27 2015 -0700 Merge tag 'media/v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - a new frontend driver for new ATSC devices: lgdt3306a - a new sensor driver: ov2659 - a new platform driver: xilinx - the m88ts2022 tuner driver was merged at ts2020 driver - the media controller gained experimental support for DVB and hybrid devices - lots of random cleanups, fixes and improvements on media drivers * tag 'media/v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (404 commits) [media] uvcvideo: add support for VIDIOC_QUERY_EXT_CTRL [media] uvcvideo: fix cropcap v4l2-compliance failure [media] media: omap3isp: remove unused clkdev [media] coda: Add tracing support [media] coda: drop dma_sync_single_for_device in coda_bitstream_queue [media] coda: fix fill bitstream errors in nonstreaming case [media] coda: call SEQ_END when the first queue is stopped [media] coda: fail to start streaming if userspace set invalid formats [media] coda: remove duplicate error messages for buffer allocations [media] coda: move parameter buffer in together with context buffer allocation [media] coda: allocate bitstream buffer from REQBUFS, size depends on the format [media] coda: allocate per-context buffers from REQBUFS [media] coda: use strlcpy instead of snprintf [media] coda: bitstream payload is unsigned [media] coda: fix double call to debugfs_remove [media] coda: check kasprintf return value in coda_open [media] coda: bitrate can only be set in kbps steps [media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and v4l2_m2m_buf_remove [media] s5p-mfc: set allow_zero_bytesused flag for vb2_queue_init [media] coda: set allow_zero_bytesused flag for vb2_queue_init ... commit 1fc149933fd49a5b0e7738dc0853dbfbac4ae0e1 Merge: 41d5e08 ea5505f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 09:42:58 2015 -0700 Merge tag 'char-misc-4.1-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 char/misc driver patchset for 4.1-rc1. Lots of different driver subsystem updates here, nothing major, full details are in the shortlog. All of this has been in linux-next for a while" * tag 'char-misc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (133 commits) mei: trace: remove unused TRACE_SYSTEM_STRING DTS: ARM: OMAP3-N900: Add lis3lv02d support Documentation: DT: lis302: update wakeup binding lis3lv02d: DT: add wakeup unit 2 and wakeup threshold lis3lv02d: DT: use s32 to support negative values Drivers: hv: hv_balloon: correctly handle num_pages>INT_MAX case Drivers: hv: hv_balloon: correctly handle val.freeram<num_pages case mei: replace check for connection instead of transitioning mei: use mei_cl_is_connected consistently mei: fix mei_poll operation hv_vmbus: Add gradually increased delay for retries in vmbus_post_msg() Drivers: hv: hv_balloon: survive ballooning request with num_pages=0 Drivers: hv: hv_balloon: eliminate jumps in piecewiese linear floor function Drivers: hv: hv_balloon: do not online pages in offline blocks hv: remove the per-channel workqueue hv: don't schedule new works in vmbus_onoffer()/vmbus_onoffer_rescind() hv: run non-blocking message handlers in the dispatch tasklet coresight: moving to new "hwtracing" directory coresight-tmc: Adding a status interface to sysfs coresight: remove the unnecessary configuration coresight-default-sink ... commit 41d5e08ea86af3359239d5a6f7021cdc61beaa49 Merge: 8d582b9 5dbc32a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 09:33:10 2015 -0700 Merge tag 'tty-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial updates from Greg KH: "Here's the big tty/serial driver update for 4.1-rc1. It was delayed for a bit due to some questions surrounding some of the console command line parsing changes that are in here. There's still one tiny regression for people who were previously putting multiple console command lines and expecting them all to be ignored for some odd reason, but Peter is working on fixing that. If not, I'll send a revert for the offending patch, but I have faith that Peter can address it. Other than the console work here, there's the usual serial driver updates and changes, and a buch of 8250 reworks to try to make that driver easier to maintain over time, and have it support more devices in the future. All of these have been in linux-next for a while" * tag 'tty-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (119 commits) n_gsm: Drop unneeded cast on netdev_priv sc16is7xx: expose RTS inversion in RS-485 mode serial: 8250_pci: port failed after wakeup from S3 earlycon: 8250: Document kernel command line options earlycon: 8250: Fix command line regression earlycon: Fix __earlycon_table stride tty: clean up the tty time logic a bit serial: 8250_dw: only get the clock rate in one place serial: 8250_dw: remove useless ACPI ID check dmaengine: hsu: move memory allocation to GFP_NOWAIT dmaengine: hsu: remove redundant pieces of code serial: 8250_pci: add Intel Tangier support dmaengine: hsu: add Intel Tangier PCI ID serial: 8250_pci: replace switch-case by formula for Intel MID serial: 8250_pci: replace switch-case by formula tty: cpm_uart: replace CONFIG_8xx by CONFIG_CPM1 serial: jsm: some off by one bugs serial: xuartps: Fix check in console_setup(). serial: xuartps: Get rid of register access macros. serial: xuartps: Fix iobase use. ... commit 8d582b94291b40dbb5961f99172ee8ebfafd4c9c Merge: e98bf5c b99e6fb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 09:31:26 2015 -0700 Merge tag 'pinctrl-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pincontrol Kconfig fix from Linus Walleij: "This fixes the annoying Kconfig noise from pin control. Mea Culpa" * tag 'pinctrl-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: fix allmodconfig noise commit e98bf5cedf25eb32f8f224e8dff9845f0856d18f Merge: 8f443e2 03bc10a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 09:24:09 2015 -0700 Merge tag 'clk-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux Pull clock framework updates from Michael Turquette: "The changes to the common clock framework for 4.0 are mostly new clock drivers and updates to existing ones for feature enhancements and bug fixes. There is more churn than usual in the framework core due to the change to introduce per-user unique struct clk pointers in 4.0. This caused several regressions to surface, some of which were sent as fixes to 4.0. New generic clock drivers were added for GPIO- and PWM-based clock controllers. Additionally the common clk-divider code recieved several fixes to the way it rounds rates" * tag 'clk-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (91 commits) clk: check ->determine/round_rate() return value in clk_calc_new_rates clk: at91: usb: propagate rate modification to the parent clk clk: samsung: exynos4: Disable ARMCLK down feature on Exynos4210 SoC clk: don't use __initconst for non-const arrays clk: at91: change to using endian agnositc IO clk: clk-gpio-gate: Fix active low clk: Add PWM clock driver clk: Add clock driver for mb86s7x clk: pxa: pxa3xx: add missing os timer clock clk: tegra: Use the proper parent for plld_dsi clk: tegra: Use generic tegra_osc_clk_init() on Tegra114 clk: tegra: Model oscillator as clock clk: tegra: Add peripheral registers for bank Y clk: tegra: Register the proper number of resets clk: tegra: Remove needless initializations clk: tegra: Use consistent indentation clk: tegra: Various whitespace cleanups clk: tegra: Enable HDA to HDMI clocks on Tegra124 clk: tegra: Fix a bunch of sparse warnings clk: tegra: Fix typo tabel -> table ... commit 8f443e2372ba23d51ee365974f54507acd6f69d1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 09:17:28 2015 -0700 Revert "ocfs2: incorrect check for debugfs returns" This reverts commit e2ac55b6a8e337fac7cc59c6f452caac92ab5ee6. Huang Ying reports that this causes a hang at boot with debugfs disabled. It is true that the debugfs error checks are kind of confusing, and this code certainly merits more cleanup and thinking about it, but there's something wrong with the trivial "check not just for NULL, but for error pointers too" patch. Yes, with debugfs disabled, we will end up setting the o2hb_debug_dir pointer variable to an error pointer (-ENODEV), and then continue as if everything was fine. But since debugfs is disabled, all the _users_ of that pointer end up being compiled away, so even though the pointer can not be dereferenced, that's still fine. So it's confusing and somewhat questionable, but the "more correct" error checks end up causing more trouble than they fix. Reported-by: Huang Ying <ying.huang@xxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Acked-by: Chengyu Song <csong84@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f80f6531b47c538b69769ada5e9fbacad085b34d Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Sat Apr 18 00:39:16 2015 +0100 ARM: 8344/1: VDSO: honor CONFIG_VDSO in Makefile When CONFIG_VDSO=n, the build normally does not enter arch/arm/vdso/ because arch/arm/Makefile does not add it to core-y. However, if the user runs 'make arch/arm/vdso/' the VDSO targets will get visited. This is because the VDSO Makefile itself does not consider the value of CONFIG_VDSO. It is arguably better and more consistent behavior to generate an empty built-in.o when CONFIG_VDSO=n and the user attempts to build arch/arm/vdso/. It's nicer because it doesn't try to build things that Kconfig dependencies are there to prevent (e.g. the dependency on AEABI), and it's less confusing than building objects that won't be used in the final image. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 2b507a2d9c7fdea3215aedf0a0e3660309f319e1 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Sat Apr 18 00:39:00 2015 +0100 ARM: 8343/1: VDSO: add build artifacts to .gitignore vdsomunge and vdso.so.raw are outputs that don't get matched by the normal ignore rules. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0a9024e80e85552b21076542355a4f4a7c0b9472 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Apr 19 20:28:53 2015 +0100 ARM: Fix nommu booting Commit bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with relative offset") broke booting on nommu platforms as it didn't update the nommu boot code. This patch fixes that oversight. Fixes: bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with relative offset") Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 66feed61cdf6ee65fd551d3460b1efba6bee55b8 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:12 2015 +1100 KVM: PPC: Book3S HV: Use msgsnd for signalling threads on POWER8 This uses msgsnd where possible for signalling other threads within the same core on POWER8 systems, rather than IPIs through the XICS interrupt controller. This includes waking secondary threads to run the guest, the interrupts generated by the virtual XICS, and the interrupts to bring the other threads out of the guest when exiting. Aggregated statistics from debugfs across vcpus for a guest with 32 vcpus, 8 threads/vcore, running on a POWER8, show this before the change: rm_entry: 3387.6ns (228 - 86600, 1008969 samples) rm_exit: 4561.5ns (12 - 3477452, 1009402 samples) rm_intr: 1660.0ns (12 - 553050, 3600051 samples) and this after the change: rm_entry: 3060.1ns (212 - 65138, 953873 samples) rm_exit: 4244.1ns (12 - 9693408, 954331 samples) rm_intr: 1342.3ns (12 - 1104718, 3405326 samples) for a test of booting Fedora 20 big-endian to the login prompt. The time taken for a H_PROD hcall (which is handled in the host kernel) went down from about 35 microseconds to about 16 microseconds with this change. The noinline added to kvmppc_run_core turned out to be necessary for good performance, at least with gcc 4.9.2 as packaged with Fedora 21 and a little-endian POWER8 host. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit eddb60fb1443f85c5728f1b1cd4be608c6832a79 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:11 2015 +1100 KVM: PPC: Book3S HV: Translate kvmhv_commence_exit to C This replaces the assembler code for kvmhv_commence_exit() with C code in book3s_hv_builtin.c. It also moves the IPI sending code that was in book3s_hv_rm_xics.c into a new kvmhv_rm_send_ipi() function so it can be used by kvmhv_commence_exit() as well as icp_rm_set_vcpu_irq(). Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6af27c847ad1b889c29a641dfc41f2d78c46a048 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:10 2015 +1100 KVM: PPC: Book3S HV: Streamline guest entry and exit On entry to the guest, secondary threads now wait for the primary to switch the MMU after loading up most of their state, rather than before. This means that the secondary threads get into the guest sooner, in the common case where the secondary threads get to kvmppc_hv_entry before the primary thread. On exit, the first thread out increments the exit count and interrupts the other threads (to get them out of the guest) before saving most of its state, rather than after. That means that the other threads exit sooner and means that the first thread doesn't spend so much time waiting for the other threads at the point where the MMU gets switched back to the host. This pulls out the code that increments the exit count and interrupts other threads into a separate function, kvmhv_commence_exit(). This also makes sure that r12 and vcpu->arch.trap are set correctly in some corner cases. Statistics from /sys/kernel/debug/kvm/vm*/vcpu*/timings show the improvement. Aggregating across vcpus for a guest with 32 vcpus, 8 threads/vcore, running on a POWER8, gives this before the change: rm_entry: avg 4537.3ns (222 - 48444, 1068878 samples) rm_exit: avg 4787.6ns (152 - 165490, 1010717 samples) rm_intr: avg 1673.6ns (12 - 341304, 3818691 samples) and this after the change: rm_entry: avg 3427.7ns (232 - 68150, 1118921 samples) rm_exit: avg 4716.0ns (12 - 150720, 1119477 samples) rm_intr: avg 1614.8ns (12 - 522436, 3850432 samples) showing a substantial reduction in the time spent per guest entry in the real-mode guest entry code, and smaller reductions in the real mode guest exit and interrupt handling times. (The test was to start the guest and boot Fedora 20 big-endian to the login prompt.) Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7d6c40da198ac18bd5dd2cd18628d5b4c615d842 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:09 2015 +1100 KVM: PPC: Book3S HV: Use bitmap of active threads rather than count Currently, the entry_exit_count field in the kvmppc_vcore struct contains two 8-bit counts, one of the threads that have started entering the guest, and one of the threads that have started exiting the guest. This changes it to an entry_exit_map field which contains two bitmaps of 8 bits each. The advantage of doing this is that it gives us a bitmap of which threads need to be signalled when exiting the guest. That means that we no longer need to use the trick of setting the HDEC to 0 to pull the other threads out of the guest, which led in some cases to a spurious HDEC interrupt on the next guest entry. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fd6d53b12410b4b73e3996629350dee3f4a7994f Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:08 2015 +1100 KVM: PPC: Book3S HV: Use decrementer to wake napping threads This arranges for threads that are napping due to their vcpu having ceded or due to not having a vcpu to wake up at the end of the guest's timeslice without having to be poked with an IPI. We do that by arranging for the decrementer to contain a value no greater than the number of timebase ticks remaining until the end of the timeslice. In the case of a thread with no vcpu, this number is in the hypervisor decrementer already. In the case of a ceded vcpu, we use the smaller of the HDEC value and the DEC value. Using the DEC like this when ceded means we need to save and restore the guest decrementer value around the nap. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ccc07772c99befeda7a7a4b1d05a6f3b762518c2 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:07 2015 +1100 KVM: PPC: Book3S HV: Don't wake thread with no vcpu on guest IPI When running a multi-threaded guest and vcpu 0 in a virtual core is not running in the guest (i.e. it is busy elsewhere in the host), thread 0 of the physical core will switch the MMU to the guest and then go to nap mode in the code at kvm_do_nap. If the guest sends an IPI to thread 0 using the msgsndp instruction, that will wake up thread 0 and cause all the threads in the guest to exit to the host unnecessarily. To avoid the unnecessary exit, this arranges for the PECEDP bit to be cleared in this situation. When napping due to a H_CEDE from the guest, we still set PECEDP so that the thread will wake up on an IPI sent using msgsndp. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5d5b99cd6818bdbea287d23ef055bba1a8a9e648 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:06 2015 +1100 KVM: PPC: Book3S HV: Get rid of vcore nap_count and n_woken We can tell when a secondary thread has finished running a guest by the fact that it clears its kvm_hstate.kvm_vcpu pointer, so there is no real need for the nap_count field in the kvmppc_vcore struct. This changes kvmppc_wait_for_nap to poll the kvm_hstate.kvm_vcpu pointers of the secondary threads rather than polling vc->nap_count. Besides reducing the size of the kvmppc_vcore struct by 8 bytes, this also means that we can tell which secondary threads have got stuck and thus print a more informative error message. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 25fedfca94cfbf2461314c6c34ef58e74a31b025 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:05 2015 +1100 KVM: PPC: Book3S HV: Move vcore preemption point up into kvmppc_run_vcpu Rather than calling cond_resched() in kvmppc_run_core() before doing the post-processing for the vcpus that we have just run (that is, calling kvmppc_handle_exit_hv(), kvmppc_set_timer(), etc.), we now do that post-processing before calling cond_resched(), and that post- processing is moved out into its own function, post_guest_process(). The reschedule point is now in kvmppc_run_vcpu() and we define a new vcore state, VCORE_PREEMPT, to indicate that that the vcore's runner task is runnable but not running. (Doing the reschedule with the vcore in VCORE_INACTIVE state would be bad because there are potentially other vcpus waiting for the runner in kvmppc_wait_for_exec() which then wouldn't get woken up.) Also, we make use of the handy cond_resched_lock() function, which unlocks and relocks vc->lock for us around the reschedule. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1f09c3ed86287d40fef90611cbbee055313f52cf Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:04 2015 +1100 KVM: PPC: Book3S HV: Minor cleanups * Remove unused kvmppc_vcore::n_busy field. * Remove setting of RMOR, since it was only used on PPC970 and the PPC970 KVM support has been removed. * Don't use r1 or r2 in setting the runlatch since they are conventionally reserved for other things; use r0 instead. * Streamline the code a little and remove the ext_interrupt_to_host label. * Add some comments about register usage. * hcall_try_real_mode doesn't need to be global, and can't be called from C code anyway. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d911f0beddc2a9248dbf375fc50a4bbf30947822 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:03 2015 +1100 KVM: PPC: Book3S HV: Simplify handling of VCPUs that need a VPA update Previously, if kvmppc_run_core() was running a VCPU that needed a VPA update (i.e. one of its 3 virtual processor areas needed to be pinned in memory so the host real mode code can update it on guest entry and exit), we would drop the vcore lock and do the update there and then. Future changes will make it inconvenient to drop the lock, so instead we now remove it from the list of runnable VCPUs and wake up its VCPU task. This will have the effect that the VCPU task will exit kvmppc_run_vcpu(), go around the do loop in kvmppc_vcpu_run_hv(), and re-enter kvmppc_run_vcpu(), whereupon it will do the necessary call to kvmppc_update_vpas() and then rejoin the vcore. The one complication is that the runner VCPU (whose VCPU task is the current task) might be one of the ones that gets removed from the runnable list. In that case we just return from kvmppc_run_core() and let the code in kvmppc_run_vcpu() wake up another VCPU task to be the runner if necessary. This all means that the VCORE_STARTING state is no longer used, so we remove it. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b6c295df3131c6fa25f8f29625ee0609506150ad Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:02 2015 +1100 KVM: PPC: Book3S HV: Accumulate timing information for real-mode code This reads the timebase at various points in the real-mode guest entry/exit code and uses that to accumulate total, minimum and maximum time spent in those parts of the code. Currently these times are accumulated per vcpu in 5 parts of the code: * rm_entry - time taken from the start of kvmppc_hv_entry() until just before entering the guest. * rm_intr - time from when we take a hypervisor interrupt in the guest until we either re-enter the guest or decide to exit to the host. This includes time spent handling hcalls in real mode. * rm_exit - time from when we decide to exit the guest until the return from kvmppc_hv_entry(). * guest - time spend in the guest * cede - time spent napping in real mode due to an H_CEDE hcall while other threads in the same vcore are active. These times are exposed in debugfs in a directory per vcpu that contains a file called "timings". This file contains one line for each of the 5 timings above, with the name followed by a colon and 4 numbers, which are the count (number of times the code has been executed), the total time, the minimum time, and the maximum time, all in nanoseconds. The overhead of the extra code amounts to about 30ns for an hcall that is handled in real mode (e.g. H_SET_DABR), which is about 25%. Since production environments may not wish to incur this overhead, the new code is conditional on a new config symbol, CONFIG_KVM_BOOK3S_HV_EXIT_TIMING. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e23a808b1681d398a983ebc51179efc51c4a1eaf Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:01 2015 +1100 KVM: PPC: Book3S HV: Create debugfs file for each guest's HPT This creates a debugfs directory for each HV guest (assuming debugfs is enabled in the kernel config), and within that directory, a file by which the contents of the guest's HPT (hashed page table) can be read. The directory is named vmnnnn, where nnnn is the PID of the process that created the guest. The file is named "htab". This is intended to help in debugging problems in the host's management of guest memory. The contents of the file consist of a series of lines like this: 3f48 4000d032bf003505 0000000bd7ff1196 00000003b5c71196 The first field is the index of the entry in the HPT, the second and third are the HPT entry, so the third entry contains the real page number that is mapped by the entry if the entry's valid bit is set. The fourth field is the guest's view of the second doubleword of the entry, so it contains the guest physical address. (The format of the second through fourth fields are described in the Power ISA and also in arch/powerpc/include/asm/mmu-hash64.h.) Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6e0365b782739eb41b03bcfd23abeefacbf0817a Author: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:48 2015 +1100 KVM: PPC: Book3S HV: Add ICP real mode counters Add two counters to count how often we generate real-mode ICS resend and reject events. The counters provide some performance statistics that could be used in the future to consider if the real mode functions need further optimizing. The counters are displayed as part of IPC and ICP state provided by /sys/debug/kernel/powerpc/kvm* for each VM. Also added two counters that count (approximately) how many times we don't find an ICP or ICS we're looking for. These are not currently exposed through sysfs, but can be useful when debugging crashes. Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b0221556dbd3c31c47f37703f856aeeffc78abd3 Author: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:47 2015 +1100 KVM: PPC: Book3S HV: Move virtual mode ICP functions to real-mode Interrupt-based hypercalls return H_TOO_HARD to inform KVM that it needs to switch to the host to complete the rest of hypercall function in virtual mode. This patch ports the virtual mode ICS/ICP reject and resend functions to be runnable in hypervisor real mode, thus avoiding the need to switch to the host to execute these functions in virtual mode. However, the hypercalls continue to return H_TOO_HARD for vcpu_wakeup and notify events - these events cannot be done in real mode and they will still need a switch to host virtual mode. There are sufficient differences between the real mode code and the virtual mode code for the ICS/ICP resend and reject functions that for now the code has been duplicated instead of sharing common code. In the future, we can look at creating common functions. Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 34cb7954c0aa7c8ad1591cb6cceae36432f55bb5 Author: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:46 2015 +1100 KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock Replaces the ICS mutex lock with a spin lock since we will be porting these routines to real mode. Note that we need to disable interrupts before we take the lock in anticipation of the fact that on the guest side, we are running in the context of a hard irq and interrupts are disabled (EE bit off) when the lock is acquired. Again, because we will be acquiring the lock in hypervisor real mode, we need to use an arch_spinlock_t instead of a normal spinlock here as we want to avoid running any lockdep code (which may not be safe to execute in real mode). Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 878610fe9884a34a282cd4431237343864324d23 Author: Suresh E. Warrier <warrier@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:45 2015 +1100 KVM: PPC: Book3S HV: Add guest->host real mode completion counters Add counters to track number of times we switch from guest real mode to host virtual mode during an interrupt-related hyper call because the hypercall requires actions that cannot be completed in real mode. This will help when making optimizations that reduce guest-host transitions. It is safe to use an ordinary increment rather than an atomic operation because there is one ICP per virtual CPU and kvmppc_xics_rm_complete() only works on the ICP for the current VCPU. The counters are displayed as part of IPC and ICP state provided by /sys/debug/kernel/powerpc/kvm* for each VM. Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a4bd6eb07ca72d21a7a34499ad34cfef6f527d4e Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:43 2015 +1100 KVM: PPC: Book3S HV: Add helpers for lock/unlock hpte This adds helper routines for locking and unlocking HPTEs, and uses them in the rest of the code. We don't change any locking rules in this patch. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 31037ecad275e9ad9bc671c34f72b495cf708ca3 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:42 2015 +1100 KVM: PPC: Book3S HV: Remove RMA-related variables from code We don't support real-mode areas now that 970 support is removed. Remove the remaining details of rma from the code. Also rename rma_setup_done to hpte_setup_done to better reflect the changes. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e928e9cb3601ce240189bfea05b67ebd391c85ae Author: Michael Ellerman <michael@xxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:41 2015 +1100 KVM: PPC: Book3S HV: Add fast real-mode H_RANDOM implementation. Some PowerNV systems include a hardware random-number generator. This HWRNG is present on POWER7+ and POWER8 chips and is capable of generating one 64-bit random number every microsecond. The random numbers are produced by sampling a set of 64 unstable high-frequency oscillators and are almost completely entropic. PAPR defines an H_RANDOM hypercall which guests can use to obtain one 64-bit random sample from the HWRNG. This adds a real-mode implementation of the H_RANDOM hypercall. This hypercall was implemented in real mode because the latency of reading the HWRNG is generally small compared to the latency of a guest exit and entry for all the threads in the same virtual core. Userspace can detect the presence of the HWRNG and the H_RANDOM implementation by querying the KVM_CAP_PPC_HWRNG capability. The H_RANDOM hypercall implementation will only be invoked when the guest does an H_RANDOM hypercall if userspace first enables the in-kernel H_RANDOM implementation using the KVM_CAP_PPC_ENABLE_HCALL capability. Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 99342cf8044420eebdf9297ca03a14cb6a7085a1 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 11:53:25 2015 +1100 kvmppc: Implement H_LOGICAL_CI_{LOAD,STORE} in KVM On POWER, storage caching is usually configured via the MMU - attributes such as cache-inhibited are stored in the TLB and the hashed page table. This makes correctly performing cache inhibited IO accesses awkward when the MMU is turned off (real mode). Some CPU models provide special registers to control the cache attributes of real mode load and stores but this is not at all consistent. This is a problem in particular for SLOF, the firmware used on KVM guests, which runs entirely in real mode, but which needs to do IO to load the kernel. To simplify this qemu implements two special hypercalls, H_LOGICAL_CI_LOAD and H_LOGICAL_CI_STORE which simulate a cache-inhibited load or store to a logical address (aka guest physical address). SLOF uses these for IO. However, because these are implemented within qemu, not the host kernel, these bypass any IO devices emulated within KVM itself. The simplest way to see this problem is to attempt to boot a KVM guest from a virtio-blk device with iothread / dataplane enabled. The iothread code relies on an in kernel implementation of the virtio queue notification, which is not triggered by the IO hcalls, and so the guest will stall in SLOF unable to load the guest OS. This patch addresses this by providing in-kernel implementations of the 2 hypercalls, which correctly scan the KVM IO bus. Any access to an address not handled by the KVM IO bus will cause a VM exit, hitting the qemu implementation as before. Note that a userspace change is also required, in order to enable these new hcall implementations with KVM_CAP_PPC_ENABLE_HCALL. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> [agraf: fix compilation] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ae75116efdc29bb42f1d99f8c51b5c52965b2413 Author: Suresh E. Warrier <warrier@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 17:23:53 2015 -0600 powerpc: Export __spin_yield Export __spin_yield so that the arch_spin_unlock() function can be invoked from a module. This will be required for modules where we want to take a lock that is also is acquired in hypervisor real mode. Because we want to avoid running any lockdep code (which may not be safe in real mode), this lock needs to be an arch_spinlock_t instead of a normal spinlock. Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Acked-by: Paul Mackerras <paulus@xxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 64131a87f2aae2ed9e05d8227c5b009ca6c50d98 Merge: 676ee36 2c33ce0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Apr 21 06:33:03 2015 -0300 Merge branch 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux into v4l_for_linus * 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux: (9717 commits) media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format hexdump: avoid warning in test function fs: take i_mutex during prepare_binprm for set[ug]id executables smp: Fix error case handling in smp_call_function_*() iommu-common: Fix PARISC compile-time warnings sparc: Make LDC use common iommu poll management functions sparc: Make sparc64 use scalable lib/iommu-common.c functions Break up monolithic iommu table/lock into finer graularity pools and lock sparc: Revert generic IOMMU allocator. tools/power turbostat: correct dumped pkg-cstate-limit value tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL tools/power turbostat: correct DRAM RAPL units on recent Xeon processors tools/power turbostat: Initial Skylake support tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile tools/power turbostat: modprobe msr, if needed tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2 tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names Bluetooth: hidp: Fix regression with older userspace and flags validation config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected perf/x86/intel/pt: Fix and clean up error handling in pt_event_add() ... That solves several merge conflicts: Documentation/DocBook/media/v4l/subdev-formats.xml Documentation/devicetree/bindings/vendor-prefixes.txt drivers/staging/media/mn88473/mn88473.c include/linux/kconfig.h include/uapi/linux/media-bus-format.h The ones at subdev-formats.xml and media-bus-format.h are not trivial. That's why we opted to merge from DRM. commit 72449cb47b0104c32ff8fb9380ade9113375d8d1 Author: Sumit Semwal <sumit.semwal@xxxxxxxxxx> Date: Sat Feb 21 09:00:17 2015 +0530 staging: android: ion: fix wrong init of dma_buf_export_info Fixes: 817bd7253291 ("dma-buf: cleanup dma_buf_export() to make it easily extensible") Stupid copy-paste from me in the above patch leads to the following static checker warning: drivers/staging/android/ion/ion.c:1112 ion_share_dma_buf() error: potentially dereferencing uninitialized 'buffer'. drivers/staging/android/ion/ion.c 1103 struct dma_buf *ion_share_dma_buf(struct ion_client *client, 1104 struct ion_handle *handle) 1105 { 1106 struct ion_buffer *buffer; ^^^^^^ 1107 struct dma_buf *dmabuf; 1108 bool valid_handle; 1109 DEFINE_DMA_BUF_EXPORT_INFO(exp_info); 1110 1111 exp_info.ops = &dma_buf_ops; 1112 exp_info.size = buffer->size; ^^^^^^ 1113 exp_info.flags = O_RDWR; 1114 exp_info.priv = buffer; ^^^^^^ And here also. 1115 This patch corrects this stupidity. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Sumit Semwal <sumit.semwal@xxxxxxxxxx> commit d8fbe341beb617ebb22b98fb893e4aa32ae2d864 Author: Sumit Semwal <sumit.semwal@xxxxxxxxxx> Date: Fri Jan 23 12:53:43 2015 +0530 dma-buf: cleanup dma_buf_export() to make it easily extensible At present, dma_buf_export() takes a series of parameters, which makes it difficult to add any new parameters for exporters, if required. Make it simpler by moving all these parameters into a struct, and pass the struct * as parameter to dma_buf_export(). While at it, unite dma_buf_export_named() with dma_buf_export(), and change all callers accordingly. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Reviewed-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Sumit Semwal <sumit.semwal@xxxxxxxxxx> commit 676ee36be04985062522804c2de04f0764212be6 Merge: b18042a e183201 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Apr 21 06:12:35 2015 -0300 Merge branch 'patchwork' into v4l_for_linus * patchwork: (404 commits) [media] uvcvideo: add support for VIDIOC_QUERY_EXT_CTRL [media] uvcvideo: fix cropcap v4l2-compliance failure [media] media: omap3isp: remove unused clkdev [media] coda: Add tracing support [media] coda: drop dma_sync_single_for_device in coda_bitstream_queue [media] coda: fix fill bitstream errors in nonstreaming case [media] coda: call SEQ_END when the first queue is stopped [media] coda: fail to start streaming if userspace set invalid formats [media] coda: remove duplicate error messages for buffer allocations [media] coda: move parameter buffer in together with context buffer allocation [media] coda: allocate bitstream buffer from REQBUFS, size depends on the format [media] coda: allocate per-context buffers from REQBUFS [media] coda: use strlcpy instead of snprintf [media] coda: bitstream payload is unsigned [media] coda: fix double call to debugfs_remove [media] coda: check kasprintf return value in coda_open [media] coda: bitrate can only be set in kbps steps [media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and v4l2_m2m_buf_remove [media] s5p-mfc: set allow_zero_bytesused flag for vb2_queue_init [media] coda: set allow_zero_bytesused flag for vb2_queue_init ... commit 7d1b6e29327428993ba568bdd8c66734070f45e0 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Apr 21 10:48:46 2015 +0200 ALSA: hda - fix "num_steps = 0" error on ALC256 The ALC256 does not have a mixer nid at 0x0b, and there's no loopback path (the output pins are directly connected to the DACs). This commit fixes an "num_steps = 0 for NID=0xb (ctl = Beep Playback Volume)" error (and as a result, problems with amixer/alsamixer). If there's pcbeep functionality, it certainly isn't controlled by setting an amp on 0x0b, so disable beep functionality (at least for now). Cc: stable@xxxxxxxxxxxxxxx BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1446517 Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6d1f2f605601ec701b561eca143c03e2a22d6489 Author: Takamichi Horikawa <takamichiho@xxxxxxxxx> Date: Tue Apr 21 11:23:57 2015 +0900 ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module Roland SC-D70 reports its device class as vendor specific class and the quirk QUIRK_AUDIO_FIXED_ENDPOINT was used for audio output. In the quirks table the sampling rate was hard-coded to 44100 Hz and therefore not worked when the sound module was in 48000 Hz mode. In this change the quirk is changed to QUIRK_AUDIO_STANDARD_INTERFACE but as the sound module reports incorrect bSubframeSize in its descriptors, additional change is made in format.c to detect it and to override it (which uses the existing code for Edirol SD-90). Tested both when the sound module was in 44100 Hz mode and 48000 Hz mode and both audio input and output. MIDI related part of the driver is not touched. Signed-off-by: Takamichi Horikawa <takamichiho@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 40cc2392f4b144197d05eec73c1560f42fc25def Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Tue Apr 21 13:12:23 2015 +0800 ALSA: hda - add AZX_DCAPS_I915_POWERWELL to Baytrail This patch addes AZX_DCAPS_I915_POWERWELL to BYT (Baytrail). Like Braswell and Skylake, the HDMI codec on Bytrail is also in the shared power well with GPU. This power well must be turned on before we reset link to probe the codec, to avoid communication failure with the codec. The side effect is that this power is always ON in S0 because the BYT HDMI codec does not support EPSS or D3ClkStop and so the controller doesn't enter D3 at runtime, and the HDMI codec and analog codec share a single physical HD-A link and so we cannot reset the HD-A link freely when we re-enable the power to use the HDMI codec. Next step is to test if an AGP reset or double AGP reset on BYT HDMI codec is okay to bring the HDMI codec back to a functional state after restoring the power. If okay, we can bind the power on/off with the HDMI codec PM without interrupting the analog audio. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 71cd26e76a9514715df7880db0a8f7c37c17149a Author: Andreas Oetken <ennoerlangen@xxxxxxxxx> Date: Tue Apr 21 00:16:38 2015 +0200 altera tse: Error-Bit on tx-avalon-stream always set. The Error-Bit on the avalon streaming interface of the tx-dma-channel was always set. In SGMII configurations this leads to error-symbols on the PCS and packet-rejection on the receiver side (e.g. SGMII/1000Base-X connected switch). This only applies to the tse-configuration with MSGDMA. This issue was detected and fixed on a custom board with a direct connection to a Marvell switch in SGMII-PHY-Mode. (incl. custom patches for SGMII-PCS). According to the datasheet if ff_tx_err (avalon-streaming) is set it is forwarded to gm_tx_err. As a result the PCS is forwarding the error by sending a "/V/"-caracter. Signed-off-by: Andreas Oetken <ennoerlangen@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47cf1e659e0f44c29788a96345862c44c6a48c89 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 17:43:26 2015 -0400 net: dsa: mv88e6xxx: use PORT_DEFAULT_VLAN Minor, use the explicit PORT_DEFAULT_VLAN define instead of 0x07. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 614f03fc6a897d212546a93f50d449409215dfd4 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 17:19:23 2015 -0400 net: dsa: mv88e6xxx: fix setup of port control 1 mv88e6xxx_setup_port_common was writing to PORT_DEFAULT_VLAN (port offset 0x07) instead of PORT_CONTROL_1 (port offset 0x05). Fixes: cca8b1337541 ("net: dsa: Use mnemonics rather than register numbers") Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91f5bd8437d39feecfee215e032f440b1faa25f8 Merge: a068833 3dfb053 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 20 21:57:26 2015 -0400 Merge branch 'ppp_csum_unset' Tom Herbert says: ==================== net: Fix "hw csum failure" message flood for ppp tunnel This patch set addresses bug "Bug 95171 - "hw csum failure" message flood for ppp tunnel since upgrade to 3.16". The problem is that pppoe is being used over UDP with UDP checksusm enabled. On receive checksum conversion turns checksum-unnecessary in checksum- complete. The PPP receive functions do not properly pull the checksum over its headers, so that when an encapsulated checksums is considered the checksum-complete value is incorrect. This patch adds skb_checksum_complete_unset which can be called in the receive path in lieu of pulling checksum complete in layer. This is useful when the packet is being modified (e.g. decompressed) and the checksum-complete value is no longer relevant. In the ppp_receive_frame we call skb_checksum_complete_unset to toss out checksum-complete. This should eliminate the reported messages. Alternatively, we could add skb_postpull_rcsum and probably special case handling for VJ compression if maintaining the checksum-complete is needed (not clear to me this is worth the effort). I haven't tested this since setting up the failure scenario doesn't seem trivial to configure. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3dfb05340ec6676e6fc71a9ae87bbbe66d3c2998 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Apr 20 14:10:05 2015 -0700 ppp: call skb_checksum_complete_unset in ppp_receive_frame Call checksum_complete_unset in PPP receive to discard checksum-complete value. PPP does not pull checksum for headers and also modifies packet as in VJ compression. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e18b9adf2f910ec4d30b811a74a5b626e6c6125 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Apr 20 14:10:04 2015 -0700 net: add skb_checksum_complete_unset This function changes ip_summed to CHECKSUM_NONE if CHECKSUM_COMPLETE is set. This is called to discard checksum-complete when packet is being modified and checksum is not pulled for headers in a layer. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 646da63172f660ba84f195c1165360a9b73583ee Merge: 8f49309 315491e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 15:40:10 2015 -0700 Merge tag 'remoteproc-4.1-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc Pull remoteproc update from Ohad Ben-Cohen: "Suman Anna is adding remoteproc support for processors not behind IOMMUs" * tag 'remoteproc-4.1-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc: remoteproc: add IOMMU hardware capability flag commit 8f49309a261dbe9b5217908e0e8ee8da7f148695 Merge: b153f1d 3323641 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 15:31:49 2015 -0700 Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull misc kbuild updates: "This is the remaining part of kbuild stuff for v4.1-rc1: - One wew coccinelle script and a clarification of the proposed fix in bugon.coccinelle - CONFIG_KERNEL_LZ4 support for extract-ikconfig" * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning scripts/extract-ikconfig: Support LZ4-compressed images. irqf_oneshot.cocci: add check of devm_request_threaded_irq() commit b153f1d37a7d469501482bb3b38f398d4e778616 Merge: bf2ae5d 56cbd0c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 15:25:19 2015 -0700 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "I'd like to say these were a set of regressions for the recent merge window code. Unfortunately, they all predate the merge window code (stable cc'd). There are two fixes for data integrity (mostly only showing up on module removal), an mvsas crash with expander attached SATA devices which goes back to the dawn of the driver but is only just being picked up as sas expanders become a standard item in low end server hardware, an am53c974 one because the interrupt data isn't fully initialised before the line is and a megaraid_sas one because it uses smp_processor_id() to select MSI-X queues and that now triggers a WARN_ON()" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: mvsas: fix panic on expander attached SATA devices am53c974: Fix crash during modprobe megaraid_sas: use raw_smp_processor_id() sd: Fix missing ATO tag check sd: Unregister integrity profile commit bf2ae5d337cd09dfee3041364a36c5214cc7faf9 Merge: 14aa024 6b75b54 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 15:16:25 2015 -0700 Merge tag 'fbdev-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev updates from Tomi Valkeinen: "Small fixes and improvements to various fbdev drivers" * tag 'fbdev-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (24 commits) omapdss: extend pm notifier to handle hibernation OMAPDSS: Correct video ports description file path in DT binding doc OMAPDSS: disable VT switch fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex video: fbdev: sh_mobile_lcdcfb: Fix ROP3 sysfs attribute parsing fbdev: pm3fb: cleanup some confusing indenting hyperv: hyperv_fb: match wait_for_completion_timeout return type video: fbdev: use msecs_to_jiffies for time conversions fbdev: via/via_clock: fix sparse warning video: fbdev: make of_device_id array const fbdev: sm501fb: use memset_io OMAPDSS: workaround for MFLAG + NV12 issue OMAPDSS: Add support for MFLAG OMAPDSS: setup default fifo thresholds OMAPDSS: DISPC: lock access to DISPC_CONTROL & DISPC_CONFIG OMAPDSS: DISPC: fix div by zero issue in overlay scaling OMAPDSS: DISPC: change sync_pclk_edge default value OMAPDSS: change signal_level & signal_edge enum values OMAPDSS: DISPC: explicit handling for sync and de levels OMAPDSS: DISPC: remove OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES ... commit 14aa02449064541217836b9f3d3295e241d5ae9c Merge: 79319a0 2c33ce0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 14:06:06 2015 -0700 Merge branch 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux Pull drm updates from Dave Airlie: "Highlights: Core: - Virtual GEM layer merged, this has been around for a long time, and it provides a software backed device that allows userspace to use it as a GEM shared memory handler. This makes it a lot easier to do certain things when you have no GPU but still have to deal with DRI expectations. - atomic helper updates. - framebuffer modifier interface added. - i2c over auxch displayport fixes. - fb width/height confusion fixes. - new driver for ps8622/ps8625 bridge chips - lots of new panels i915: - more plane atomic conversion - vGPU guest support for XenGT - Skylake workarounds and fixes - Y-tiling support - work on dynamic pagetable allocation - EU count report param for gen9+ - CHV fixes (no longer prelim) - remove ilk rc6 - frontbuffer tracking for fbc - Displayport link rate refactoring - sprite colorkey refactor radeon: - Displayport MST support (not enabled by default) - non-ATOM native hw auxch support (DCE5+) - output csc support - new queries for userspace debug support - new VCE packet nouveau: - gk20a iommu support - gm107 graphics support - more gm20x bringup (waiting on signed nvidia fw). amdkfd: - multiple kgd instance support - use 64-bit time accessors msm: - stolen memory support - DSI and dual-DSI support - snapdragon 410 support exynos: - cleanups for atomic and pageflip imx-drm: - more media-bus formats - TV output prep - drm panel support tegra: - hw vblank counter using host1x syncpoints omap: - universal plane support - prep work for atomic modesetting rcar-du: - ported to atomic modesetting atmel-hlcdc: - ported to atomic modesetting - added suspend/resume support sti: - ported to atomic modesetting dwhdmi: - more compliant audio support - update rockchip phy support tda998x: - DT probing for attached crtcs - simplified EDID reading rockchip: - fixes adv7511: - fixes" * 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux: (689 commits) media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format drm/i915: Dont enable CS_PARSER_ERROR interrupts at all drm/i915: Move drm_framebuffer_unreference out of struct_mutex for takeover drm: fix trivial typo mistake drm: Make integer overflow checking cover universal cursor updates (v2) drm/nouveau/bios: fix fetching from acpi on certain systems drm/nouveau/gr/gm206: initial init+ctx code drm/nouveau/ce/gm206: enable support via gm204 code drm/nouveau/fifo/gm206: enable support via gm204 code drm/nouveau/gr/gm204: initial init+ctx code drm/nouveau: support for buffer moves via MaxwellDmaCopyA drm/nouveau/ce/gm204: initial support drm/nouveau: add support for gm20x fifo channels drm/nouveau/fifo/gm204: initial support drm/nouveau/gr/gk104-: prevent reading non-existent regs in intr handler drm/nouveau/gr/gm107: very slightly demagic part of attrib cb setup drm/nouveau/gr/gk104-: correct crop/zrop num_active_fbps setting drm/nouveau/gr/gf100-: add symbolic names for classes drm/nouveau/gr/gm107: support tpc "strand" ctxsw in gpccs ucode drm/nouveau/gr/gf100-: support mmio access with gpc offset from gpccs ucode ... commit a068833bbf0ede9203410f8fd186178c758ade9b Author: Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx> Date: Mon Apr 20 21:07:48 2015 +0200 pppoe: Lacks DST MAC address check A pppoe session is identified by its session ID and MAC address. Currently pppoe does not check if the received pkg has the correct MAC address. This is a problem when the eth I/F is in promisc mode as then any DST MAC address is accepted. Signed-off-by: Joakim Tjernlund <joakim.tjernlund@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b53c7582805b10d6a32e88e22d16dc469e66a37a Merge: 7d3beab 3cd44dcd Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Apr 21 00:21:14 2015 +0530 Merge branch 'topic/sh' into for-linus commit 4113756603db46cec464b39100770979e982bd4c Merge: 64fb1d0 7b3372d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 20 14:09:55 2015 -0400 Merge branch 'iommu-common-fixes' Sowmini Varadhan says: ==================== iommu-common build warning fixes. This patchset has fixes for 2 architectures - Part 1: x86_64 warnings generated by sparse - Part 2: allmodconfig build error for powerpc, identified by Guenter Roeck. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b3372d4c2bced80598771aab8fea87c40ebb52a Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Sun Apr 19 13:13:31 2015 -0400 iommu-common: rename iommu_pool_hash to iommu_hash_common When CONFIG_DEBUG_FORCE_WEAK_PER_CPU is set, the DEFINE_PER_CPU_SECTION macro will define an extern __pcpu_unique_##name variable that could conflict with the same definition in powerpc at this time. Avoid that conflict by renaming iommu_pool_hash in iommu-common.c Thanks to Guenter Roeck for catching this, and helping to test the fix. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0cc836d306c12462a60e72aae8f6d2318f10817 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Sun Apr 19 13:13:30 2015 -0400 iommu-common: fix x86_64 compiler warnings Declare iommu_large_alloc as static. Remove extern definition for iommu_tbl_pool_init(). Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ab957492d13bb819400ac29ae55911d50a82a13 Author: Sebastian Pöhn <sebastian.poehn@xxxxxxxxx> Date: Mon Apr 20 09:19:20 2015 +0200 ip_forward: Drop frames with attached skb->sk Initial discussion was: [FYI] xfrm: Don't lookup sk_policy for timewait sockets Forwarded frames should not have a socket attached. Especially tw sockets will lead to panics later-on in the stack. This was observed with TPROXY assigning a tw socket and broken policy routing (misconfigured). As a result frame enters forwarding path instead of input. We cannot solve this in TPROXY as it cannot know that policy routing is broken. v2: Remove useless comment Signed-off-by: Sebastian Poehn <sebastian.poehn@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79319a052cb0ae862954fe9f6e606417f1698ddb Merge: 6496edf 7f65ef0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 10:50:05 2015 -0700 Merge tag 'iommu-updates-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull IOMMU updates from Joerg Roedel: "Not much this time, but the changes include: - moving domain allocation into the iommu drivers to prepare for the introduction of default domains for devices - fixing the IO page-table code in the AMD IOMMU driver to correctly encode large page sizes - extension of the PCI support in the ARM-SMMU driver - various fixes and cleanups" * tag 'iommu-updates-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (34 commits) iommu/amd: Correctly encode huge pages in iommu page tables iommu/amd: Optimize amd_iommu_iova_to_phys for new fetch_pte interface iommu/amd: Optimize alloc_new_range for new fetch_pte interface iommu/amd: Optimize iommu_unmap_page for new fetch_pte interface iommu/amd: Return the pte page-size in fetch_pte iommu/amd: Add support for contiguous dma allocator iommu/amd: Don't allocate with __GFP_ZERO in alloc_coherent iommu/amd: Ignore BUS_NOTIFY_UNBOUND_DRIVER event iommu/amd: Use BUS_NOTIFY_REMOVED_DEVICE iommu/tegra: smmu: Compute PFN mask at runtime iommu/tegra: gart: Set aperture at domain initialization time iommu/tegra: Setup aperture iommu: Remove domain_init and domain_free iommu_ops iommu/fsl: Make use of domain_alloc and domain_free iommu/rockchip: Make use of domain_alloc and domain_free iommu/ipmmu-vmsa: Make use of domain_alloc and domain_free iommu/shmobile: Make use of domain_alloc and domain_free iommu/msm: Make use of domain_alloc and domain_free iommu/tegra-gart: Make use of domain_alloc and domain_free iommu/tegra-smmu: Make use of domain_alloc and domain_free ... commit e0e2674b92056c24c69940d5f405ea4aef5e4010 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Apr 20 14:41:05 2015 +0100 ata: ahci_st: fixup layering violations / drvdata errors Brian noticed while working on another SATA driver that uses libahci_platform, an error in this driver; it tries to the the driver data for its device, while libata also thinks it can set the driver data. See: ahci_platform_init_host() -> ata_host_alloc_pinfo() -> ata_host_alloc() -> dev_set_drvdata() So instead of sticking the IP-specific platform data into drvdata, let's use the plat_data variable that is reserved for this use. Addtionally plat_data isn't set until ahci_platform_init_host() has been called further down in probe(). So re-work the st_ahci_probe_resets and st_ahci_deassert_resets functions to take ahci_host_priv *hpriv as a parameter. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Suggested-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit da4d81453cf1eedfcd8b2cd1e7bfab230084bd87 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Apr 20 10:36:31 2015 -0700 ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON With the recent changes omaps have developed a dependency to MFD_SYSCON. This is used for system control module generic register area and some clocks. We do have it selected in omap2plus_defconfig, but targeted config files may not have it selected. Let's make sure it's selected like few other ARM platforms are already doing. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c9eeb5084b27ffede2709e8775827729d0c7c46c Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 10:23:38 2015 -0700 Input: lm8333 - fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a333a03ce969c18f97f1eafa3dc1072caa33454e Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Apr 20 10:00:05 2015 -0700 Input: cyapa - fix setting suspend scan rate The suspend scan rate value should not exceed 1000, unfortunately when implementing the limit we used max_t instead of min_t, causing the value to be at least 1000. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9f423801c9e849df56b37833df895685c9d8a940 Author: Duson Lin <dusonlin@xxxxxxxxxx> Date: Mon Apr 20 10:19:24 2015 -0700 Input: elan_i2c - fix calculating number of x and y traces. According to Elan's firmware engineers we should not be subtracting 1 form the raw number of x and y traces so that the pitch size is correct. For example, if the touchpad x resolution is 2800 and x trace number is 20, the pitch size of x should be 2800/20 = 140, not 2800/19 = 147.36. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 090ad325068810a9edb09dfe8fec97a724c5743f Author: Duson Lin <dusonlin@xxxxxxxxxx> Date: Mon Apr 20 09:59:04 2015 -0700 Input: elan_i2c - report hovering contacts When hover is detected report ABS_MT_DISTANCE as 1; for active contacts the distance is reported as 0. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8c0776a8f046d5fb1804e525c3b6e9f897fe0d3f Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Apr 17 20:42:47 2015 -0700 Input: elants_i2c - zero-extend hardware ID in firmware name Let's zero-extend hardware id number when forming firmware file name, to avoid kernel requesting firmware like "elants_i2c_ 0.bin", which is quite unexpected. Acked-by: Charlie Mooney<charliemooney@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6496edfce95f943e1da43631c2f437509e56af7f Merge: b19a42e e4afa12 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 10:19:03 2015 -0700 Merge tag 'cpumask-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull final removal of deprecated cpus_* cpumask functions from Rusty Russell: "This is the final removal (after several years!) of the obsolete cpus_* functions, prompted by their mis-use in staging. With these function removed, all cpu functions should only iterate to nr_cpu_ids, so we finally only allocate that many bits when cpumasks are allocated offstack" * tag 'cpumask-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (25 commits) cpumask: remove __first_cpu / __next_cpu cpumask: resurrect CPU_MASK_CPU0 linux/cpumask.h: add typechecking to cpumask_test_cpu cpumask: only allocate nr_cpumask_bits. Fix weird uses of num_online_cpus(). cpumask: remove deprecated functions. mips: fix obsolete cpumask_of_cpu usage. x86: fix more deprecated cpu function usage. ia64: remove deprecated cpus_ usage. powerpc: fix deprecated CPU_MASK_CPU0 usage. CPU_MASK_ALL/CPU_MASK_NONE: remove from deprecated region. staging/lustre/o2iblnd: Don't use cpus_weight staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_ staging/lustre/ptlrpc: Do not use deprecated cpus_* functions blackfin: fix up obsolete cpu function usage. parisc: fix up obsolete cpu function usage. tile: fix up obsolete cpu function usage. arm64: fix up obsolete cpu function usage. mips: fix up obsolete cpu function usage. x86: fix up obsolete cpu function usage. ... commit b19a42e3cb9e73cad59e60ab7403e5afe7f4b262 Merge: 5ca08a8 80ed156 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 10:15:33 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull more s390 updates from Martin Schwidefsky: "The big thing in this second merge for s390 is the new eBPF JIT from Michael which replaces the old 32-bit backend. The remaining commits are bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/pci: add locking for fmb access s390/pci: extract software counters from fmb s390/dasd: Fix unresumed device after suspend/resume having no paths s390/dasd: fix unresumed device after suspend/resume s390/dasd: fix inability to set a DASD device offline s390/mm: Fix memory hotplug for unaligned standby memory s390/bpf: Add s390x eBPF JIT compiler backend s390: Use bool function return values of true/false not 1/0 commit 5ca08a82a75c9109f8207cbcbef8705334b4713a Merge: f4d03bd 6e42061 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 10:12:29 2015 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu Pull m68k fixes from Greg Ungerer: "Nothing big, spelling fixes and fix/cleanup for ColdFire eth device setup" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68knommu: fix fec setup warning for ColdFire 5271 builds m68knommu: ColdFire 5271 only has a single FEC controller m68k: Fix trivial typos in comments commit f4d03bd143c628b00f66cc2ec2c013767bdd1518 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 09:08:49 2015 -0700 smp: don't use 16-bit words for atomic accesses Yes, it should work, but it's a bad idea. Not only did ARM64 not have the 16-bit access code (there's a separate patch to add it), it's just not a good atomic type. Some architectures fundamentally don't do atomic accesses in them (alpha), and it's not like it saves any space here anyway because of structure packing issues. We normally should aim for flags to be "unsigned int" or "unsigned long". And if space is at a premium, use a single byte (although that causes problems on alpha again). There might be very special cases where a 16-byte entity is really wanted, but this is not one of them. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 32ec4397756d072873ee778cbf41b9f6a335b953 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Thu Mar 26 19:06:00 2015 +0800 ceph: hold on to exclusive caps on complete directories If a directory is complete, we want to keep the exclusive cap. So that MDS does not end up revoking the shared cap on every create/unlink operation. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 9571eb4f9617e89b3f979a3856b1296eba277bb1 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Mar 25 21:15:17 2015 +0300 libceph: simplify our debugfs attr macro No need to do single_open()'s job ourselves. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit ff7eeb82cc16f25203b69f817cbbb85845c817fe Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Mar 25 21:10:09 2015 +0300 ceph: show non-default options only Don't pollute /proc/mounts with default options (presently these are dcache, nofsc and acl). Leave the acl/noacl however - it's a bit of a special case due to CONFIG_CEPH_FS_POSIX_ACL. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 5cf7bd30120ead3db43ef9074be38018d9acf22f Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Mar 25 21:07:41 2015 +0300 libceph: expose client options through debugfs Add a client_options attribute for showing libceph options. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit ff40f9ae95917b72b6acb6057471c99054b6ee24 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Mar 25 21:02:16 2015 +0300 libceph, ceph: split ceph_show_options() Split ceph_show_options() into two pieces and move the piece responsible for printing client (libceph) options into net/ceph. This way people adding a libceph option wouldn't have to remember to update code in fs/ceph. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit d8a2c89c8636405ad0b234f111d22c00c37e452b Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Mar 24 16:15:17 2015 +0300 rbd: mark block queue as non-rotational Set QUEUE_FLAG_NONROT. Following commit b277da0a8a59 ("block: disable entropy contributions for nonrot devices") we should also clear QUEUE_FLAG_ADD_RANDOM, but it's off by default for blk-mq drivers, so just note it in the comment. Also remove physical block size assignment - no sense in repeating defaults that are not going to change. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 67c64eb742a49d3d3f5dcef75d0c32a3394e5519 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Mar 23 14:52:40 2015 +0300 libceph: don't overwrite specific con error msgs - specific con->error_msg messages (e.g. "protocol version mismatch") end up getting overwritten by a catch-all "socket error on read / write", introduced in commit 3a140a0d5c4b ("libceph: report socket read/write error message") - "bad message sequence # for incoming message" loses to "bad crc" due to the fact that -EBADMSG is used for both Fix it, and tidy up con->error_msg assignments and pr_errs while at it. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 1c841a96b5f369cbb0b169d13825c7ff7d0fba8d Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Mar 24 20:15:36 2015 +0800 ceph: cleanup unsafe requests when reconnecting is denied Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit a9f6eb61850e1599f9aa5141f25ccc1d8248e174 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Mar 24 15:49:36 2015 +0800 ceph: don't zero i_wrbuffer_ref when reconnecting is denied remove_session_caps_cb() does not truncate dirty data in page cache, but zeros i_wrbuffer_ref/i_wrbuffer_ref_head. This will result negtive i_wrbuffer_ref/i_wrbuffer_ref_head Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 571ade336ac89f5db602f7df992152e4f4b945bc Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Mar 24 11:36:08 2015 +0800 ceph: don't mark dirty caps when there is no auth cap No i_auth_cap means reconnecting to MDS was denied. So don't add new dirty caps. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit db40cc1702d6a7049740d269cf6c1a42f979c7a7 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Mar 23 20:12:20 2015 +0800 ceph: keep i_snap_realm while there are writers when reconnecting to MDS is denied, we remove session caps forcibly. But it's possible there are ongoing write, the write code needs to reference i_snap_realm. So if there are ongoing write, we keep i_snap_realm. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 3ef650d3989677bd460497f9c3b0d58caaba0116 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 23 13:35:03 2015 -0700 libceph: osdmap.h: Add missing format newlines To avoid possible interleaving, add missing '\n' to formats. Convert pr_warning to pr_warn while there. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit a149bb9a281c5c2904cf6fcdf9ed386340032ce3 Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Date: Sat Mar 21 12:54:58 2015 -0400 ceph: kstrdup() memory handling Currently, there is no check for the kstrdup() for r_path2, r_path1 and snapdir_name as various locations as there is a possibility of failure during memory pressure. Therefore, returning ENOMEM where the checks have been missed. Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit c1d00b2d9c4fc821e33c5cdfbdbc32677cb0e2e0 Author: Taesoo Kim <tsgatesv@xxxxxxxxx> Date: Fri Mar 20 17:36:56 2015 -0400 ceph: properly release page upon error When ceph_update_writeable_page fails (including -EAGAIN), it unlocks (w/ unlock_page) the page but does not 'release' (w/ page_cache_release) properly. Upon error, properly set *pagep to NULL, indicating an error. Signed-off-by: Taesoo Kim <tsgatesv@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 1fe480235ad7236e8ea6c167af5a5d1ac24f8a88 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Thu Mar 5 10:47:22 2015 +0300 rbd: be more informative on -ENOENT failures pr_info what exactly was the culprit: missing pool, image or snap. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit f4c1a311d8dc55c90c39e9cf7b003254a769574d Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Mon Apr 20 17:33:57 2015 +0800 ALSA: hda - only sync BCLK to the display clock for Haswell & Broadwell Only Intel Haswell and Broadwell have a separate HD-A controller (PCI device 3) for display audio, which needs to get 24MHz HD-A link BCLK from the variable display core clock through vendor specific registers EM4 & EM5. Other platforms (Baytrail, Braswell and Skylake) don't have this feature. So this patch checks the PCI device ID of the controller in haswell_set_bclk() and only sync BCLK for HSW and BDW. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cdaa8cf34863028dab238e1498555bf12d693244 Merge: 30a5c18 98b8098 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Apr 20 07:59:04 2015 -0700 Merge branch 'fixes' into next/fixes-non-critical Merge a set of fixes that we missed sending in before v4.0 release. These will also be sent to -stable. * fixes: (659 commits) ARM: at91/dt: sama5d3 xplained: add phy address for macb1 kbuild: Create directory for target DTB ARM: mvebu: Disable CPU Idle on Armada 38x arm64: juno: Fix misleading name of UART reference clock ARM: dts: sunxi: Remove overclocked/overvoltaged OPP ARM: dts: sun4i: a10-lime: Override and remove 1008MHz OPP setting ARM: socfpga: dts: fix spi1 interrupt ARM: dts: Fix gpio interrupts for dm816x ARM: dts: dra7: remove ti,hwmod property from pcie phy ARM: EXYNOS: Fix build breakage cpuidle on !SMP ARM: OMAP: dmtimer: disable pm runtime on remove ARM: OMAP: dmtimer: check for pm_runtime_get_sync() failure ARM: dts: fix lid and power pin-functions for exynos5250-spring ARM: dts: fix mmc node updates for exynos5250-spring ARM: OMAP2+: Fix socbus family info for AM33xx devices ARM: dts: omap3: Add missing dmas for crypto + Linux 4.0-rc4 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 57e95460f0b360c4d29c0320922b46b55dd2b79f Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Mar 10 11:18:15 2015 -0400 ceph: match wait_for_completion_timeout return type return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 3563dbdd99603d4339467ddffafe3851aae2e398 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 6 06:52:17 2015 -0500 ceph: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit e1eba3ea02dbd2a4b6be1a5708af31dc9b9aaaa6 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 3 18:57:49 2015 +0100 ceph: remove redundant declaration ceph_aops was already defined extern in addr.c section Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit e2c3de046c5a1f3525772b4cacc7731cb626ab61 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Mar 4 16:05:04 2015 +0800 ceph: fix dcache/nocache mount option Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 6e6f09231a134e7523514ed504380f5caafc9334 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Fri Feb 27 08:54:08 2015 +0800 ceph: drop cap releases in requests composed before cap reconnect These cap releases are stale because MDS will re-establish client caps according to the cap reconnect messages. Note: MDS can detect stale cap messages, so these stale cap releases are harmless even we don't drop them. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit d8f6ad85cbb740b7e8ca5275b12838fab685540c Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Apr 20 16:49:30 2015 +0530 ARC: perf: don't add code for impossible case Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 30fdd373f24cc50e250c71a6e2df89505e267804 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Apr 15 16:35:38 2015 +0530 ARC: perf: Rename DT binding to not confuse with power mgmt Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 22f6b899125063c5dc955dd378c408b14d80b020 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Jul 12 15:55:54 2013 +0200 ARC: perf: add user space attribution in callchains The actual user space unwinding is more involved, so simply capture the user space PC Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 389e3160b9b0002f8e7c95e9c0af5da6da311892 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Nov 12 11:00:03 2013 +0100 ARC: perf: Add kernel callchain support Signed-off-by: Mischa Jonker <mjonker@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 0a8a47679351f00145ddeaa0a05b510e67b780be Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Jan 7 13:14:07 2015 +0530 ARC: perf: support cache hit/miss ratio Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit bde80c237e49983e2b26dfa9925325a070b71de7 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Apr 15 19:44:07 2015 +0530 ARC: perf: Add some comments/debug stuff Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 03c94fcf954d6bc5e23460e200d23a2c0fe5cd2e Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Nov 17 17:13:03 2014 +0530 ARC: perf: make @arc_pmu static global Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5eb8f4d74204864d8a4154772206ad747274d12d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Apr 13 14:56:51 2015 +0200 mac80211: don't warn when stopping VLAN with stations Stations assigned to an AP_VLAN type interface are flushed when the interface is stopped, but then we warn about it. Suppress the warning since there's nothing else that would ensure those stations are already removed at this point. Reported-by: Jouni Malinen <j@xxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6b75b54c841a18ef114704aa5cf2cdf43487b0ae Merge: 7374ccc aa977f6 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Apr 20 12:09:31 2015 +0300 Merge omapdss topic branch for fbdev 4.1 commit aa977f62dff4fb41e89b473c9831c292c01d8bfc Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Date: Wed Feb 25 19:03:56 2015 +0200 omapdss: extend pm notifier to handle hibernation Add handling of missed events in omap_dss_pm_notif which are needed to support hibernation (suspend to disk). Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 34260a79b2b3063d7a8b8208f7d5d8cc0e1826f4 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sat Mar 7 17:08:03 2015 +0100 OMAPDSS: Correct video ports description file path in DT binding doc The doc refers to Documentation/devicetree/bindings/video/video-ports.txt which does not exist. The documentation seems to be outdated and wants to refer to Documentation/devicetree/bindings/graph.txt instead. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit cb17a4ae3bbf1daa3b179147b6d476ea2482e2d3 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Feb 25 12:08:14 2015 +0200 OMAPDSS: disable VT switch We don't need VT switch when suspending/resuming, so disable it. This speeds up suspend/resume. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: NeilBrown <neil@xxxxxxxxxx> commit 9476d369d7b39348945c297da5f2935904229813 Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Sun Apr 19 19:00:40 2015 +0200 ALSA: hda - Mute headphone pin on suspend on XPS13 9333 Muting the headphone output pin right before the codec suspension prevents pop noises when headphones are plugged in (except for a barely audible click noise). This solution allows to truly save some power when headphones are plugged in unlike the previous solution (033b0a7ca9c: "ALSA: hda - Pop noises fix for XPS13 9333") Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 94d4b4765b7ddb8478b0d57663cf7a08e2263bbf Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Nov 23 19:19:07 2012 +0100 x86/mm: Clean up types in xlate_dev_mem_ptr() Pavel Machek reported the following compiler warning on x86/32 CONFIG_HIGHMEM64G=y builds: arch/x86/mm/ioremap.c:344:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] Clean up the types in this function by using a single natural type for internal calculations (unsigned long), to make it more apparent what's happening, and also to remove fragile casts. Reported-by: Pavel Machek <pavel@xxxxxx> Cc: jgross@xxxxxxxx Cc: roland@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150416080440.GA507@amd Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 553452e5ffc0ed13214a287549627d02d9d7fbdc Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Thu Apr 16 17:21:12 2015 +0300 iwlwifi: pcie: prevent using unmapped memory in fw monitor In the case of a DMA mapping error on the last iteration of the loop of the allocation of memory of the FW monitor we indeed free the pages, but don't NULL out the page variable thus allowing for the possibility of setting the FW monitor variables with invalid data to use. Fixes: c2d202017da1 ("iwlwifi: pcie: add firmware monitor capabilities") Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 68d4cef3bab3fb9bb0dbac690ba35a96cb5a16d9 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Tue Apr 14 17:30:05 2015 -0700 target: Put TCMU under a new config option Conceptually version 2 should be viewed as an entirely new, incompatible version of TCMU, so emphasize this by changing the config option and Kconfig text. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0ad46af8a618fc38e0cdc3927cfa9f7b42cc9423 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Tue Apr 14 17:30:04 2015 -0700 target: Version 2 of TCMU ABI The initial version of TCMU (in 3.18) does not properly handle bidirectional SCSI commands -- those with both an in and out buffer. In looking to fix this it also became clear that TCMU's support for adding new types of entries (opcodes) to the command ring was broken. We need to fix this now, so that future issues can be handled properly by adding new opcodes. We make the most of this ABI break by enabling bidi cmd handling within TCMP_OP_CMD opcode. Add an iov_bidi_cnt field to tcmu_cmd_entry.req. This enables TCMU to describe bidi commands, but further kernel work is needed for full bidi support. Enlarge tcmu_cmd_entry_hdr by 32 bits by pulling in cmd_id and __pad1. Turn __pad1 into two 8 bit flags fields, for kernel-set and userspace-set flags, "kflags" and "uflags" respectively. Update version fields so userspace can tell the interface is changed. Update tcmu-design.txt with details of how new stuff works: - Specify an additional requirement for userspace to set UNKNOWN_OP (bit 0) in hdr.uflags for unknown/unhandled opcodes. - Define how Data-In and Data-Out fields are described in req.iov[] Changed in v2: - Change name of SKIPPED bit to UNKNOWN bit - PAD op does not set the bit any more - Change len_op helper functions to take just len_op, not the whole struct - Change version to 2 in missed spots, and use defines - Add 16 unused bytes to cmd_entry.req, in case additional SAM cmd parameters need to be included - Add iov_dif_cnt field to specify buffers used for DIF info in iov[] - Rearrange fields to naturally align cdb_off - Handle if userspace sets UNKNOWN_OP by indicating failure of the cmd - Wrap some overly long UPDATE_HEAD lines (Add missing req.iov_bidi_cnt + req.iov_dif_cnt zeroing - Ilias) Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Reviewed-by: Ilias Tsitsimpis <iliastsi@xxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit baa54ab93c2e1ced7e54f9c021fe102c0d39c090 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Thu Apr 16 15:19:01 2015 +0800 nios2: rework trap handler Redefine trap handler as below: 0 N/A reserved for system calls 1 SIGUSR1 user-defined signal 1 2 SIGUSR2 user-defined signal 2 3 SIGILL illegal instruction 4..29 reserved (but implemented to raise SIGILL instead of being undefined) 30 SIGTRAP KGDB 31 SIGTRAP trace/breakpoint trap Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 2c33ce009ca2389dbf0535d0672214d09738e35e Merge: cec32a4 09d5160 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Apr 20 11:32:26 2015 +1000 Merge Linus master into drm-next The merge is clean, but the arm build fails afterwards, due to API changes in the regulator tree. I've included the patch into the merge to fix the build. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 170c381f6bcd9ad3235654988aabddb612b34a39 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Wed Apr 15 10:45:49 2015 +0800 nios2: remove end address checking for initda Remove the end address checking for initda function. We need to invalidate each address line for initda instruction, from start to end address. Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit cec32a47010647e8b0603726ebb75b990a4057a4 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Apr 17 19:12:41 2015 +0200 media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format Change the constant values for RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus formats in anticipation of a merge conflict with the media tree, where the old values are already taken by RBG888_1X24, RGB888_1X32_PADHI, and VUY8_1X24, respectively. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 3ea68922fc4148abc97557df43d4ba9a136b1c8d Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Apr 20 01:00:53 2015 +0200 drm/rockchip: fix error check when getting irq platform_get_irq() can return negative error values and we already test for these. Therefore the variable holding this value should be signed to not loose possible error values. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-By: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 625e03461ba51592ac785214b2254af7bd630077 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Apr 20 00:59:50 2015 +0200 MAINTAINERS: add entry for Rockchip drm drivers Mark Yao looks after the Rockchip drm drivers and should thus also get patches touching these. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 09d51602cf84a1264946711dd4ea0dddbac599a1 Merge: 6162e4b e9257f5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 19 14:31:41 2015 -0700 Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux Pull turbostat update from Len Brown: "Updates to the turbostat utility. Just one kernel dependency in this batch -- added a #define to msr-index.h" * 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: tools/power turbostat: correct dumped pkg-cstate-limit value tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL tools/power turbostat: correct DRAM RAPL units on recent Xeon processors tools/power turbostat: Initial Skylake support tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile tools/power turbostat: modprobe msr, if needed tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2 tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names x86 msr-index: define MSR_TURBO_RATIO_LIMIT,1,2 tools/power turbostat: label base frequency tools/power turbostat: update PERF_LIMIT_REASONS decoding tools/power turbostat: simplify default output commit 6162e4b0bedeb3dac2ba0a5e1b1f56db107d97ec Merge: 17974c0 6ddb244 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 19 14:26:31 2015 -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 few bug fixes and add support for file-system level encryption in ext4" * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (31 commits) ext4 crypto: enable encryption feature flag ext4 crypto: add symlink encryption ext4 crypto: enable filename encryption ext4 crypto: filename encryption modifications ext4 crypto: partial update to namei.c for fname crypto ext4 crypto: insert encrypted filenames into a leaf directory block ext4 crypto: teach ext4_htree_store_dirent() to store decrypted filenames ext4 crypto: filename encryption facilities ext4 crypto: implement the ext4 decryption read path ext4 crypto: implement the ext4 encryption write path ext4 crypto: inherit encryption policies on inode and directory create ext4 crypto: enforce context consistency ext4 crypto: add encryption key management facilities ext4 crypto: add ext4 encryption facilities ext4 crypto: add encryption policy and password salt support ext4 crypto: add encryption xattr support ext4 crypto: export ext4_empty_dir() ext4 crypto: add ext4 encryption Kconfig ext4 crypto: reserve codepoints used by the ext4 encryption feature ext4 crypto: add ext4_mpage_readpages() ... commit 17974c054db3030b714b7108566bf5208d965a19 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 19 13:48:40 2015 -0700 hexdump: avoid warning in test function The test_data_1_le[] array is a const array of const char *. To avoid dropping any const information, we need to use "const char * const *", not just "const char **". I'm not sure why the different test arrays end up having different const'ness, but let's make the pointer we use to traverse them as const as possible, since we modify neither the array of pointers _or_ the pointers we find in the array. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b01fc86b9f425899f8a3a8fc1c47d73c2c20543 Author: Jann Horn <jann@xxxxxxxxx> Date: Sun Apr 19 02:48:39 2015 +0200 fs: take i_mutex during prepare_binprm for set[ug]id executables This prevents a race between chown() and execve(), where chowning a setuid-user binary to root would momentarily make the binary setuid root. This patch was mostly written by Linus Torvalds. Signed-off-by: Jann Horn <jann@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5224b9613b91d937c6948fe977023247afbcc04e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 19 04:56:03 2015 -0400 smp: Fix error case handling in smp_call_function_*() Commit 8053871d0f7f ("smp: Fix smp_call_function_single_async() locking") fixed the locking for the asynchronous smp-call case, but in the process of moving the lock handling around, one of the error cases ended up not unlocking the call data at all. This went unnoticed on x86, because this is a "caller is buggy" case, where the caller is trying to call a non-existent CPU. But apparently ARM does that (at least under qemu-arm). Bindly doing cross-cpu calls to random CPU's that aren't even online seems a bit fishy, but the error handling was clearly not correct. Simply add the missing "csd_unlock()" to the error path. Reported-and-tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Analyzed-by: Rabin Vincent <rabin@xxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2363ccb505c15328580d5f64b5e9ea5c1c8a1462 Merge: 0f5abd4 64df1fd 5fa0fa4 06b230e Author: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Date: Sun Apr 19 21:19:27 2015 +0200 Merge branches 'pm-cpufreq', 'powercap' and 'pm-tools' * pm-cpufreq: cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning intel_pstate: Change the setpoint for Atom params * powercap: powercap / RAPL: Add support for Intel Skylake processors * pm-tools: cpupower: fix breakage from libpci API change commit 8047cc0c584844817fbf3bf57cb18c1f762a7136 Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Thu Mar 26 13:15:03 2015 +0200 iwlwifi: mvm: Avoid signal based decisions if ave beacon RSSI is 0 If for some reason statistics notification received from the firmware reports 0 in average beacon RSSI value, then skip it and avoid signal based decisions. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1083fd7391e989be52022f0f338e9dadc048b063 Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Tue Mar 31 16:14:41 2015 +0300 iwlwifi: mvm: fix scan iteration complete notification handling Scan iteration complete notification handling uses the wrong FW API version (version 2 instead of version 3). Fix that by removing version 2 API which is no longer used, and using only the updated version. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Reviewed-by: David Spinadel <david.spinadel@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 145d90b6b3a3f00d8b66d0e118b4995b64b74fef Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Apr 13 12:05:48 2015 +0300 iwlwifi: mvm: don't stop the FW monitor too early When the delay paramatere is provided, we need to stop the collection only after the delay has elapsed. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d44c3fe68cc7e435ebc06d5b6ac260a5c1b495f8 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Sat Apr 18 22:16:42 2015 +0300 iwlwifi: mvm: fix Tx Power firmware API The firmware doesn't relate the scan to a vif. The scan is run by a separate entity called auxiliary MAC (aka AUX MAC). This AUX MAC needs to get Tx power limitations that are not applied on a specific vif, but on the device as a whole. This can be implemented by using the minimum of all the values set by the user for all the MACs. But then we need to ignore the limitations that come from the AP or regulatory for a specific vif: a specific vif might have regulatory limitations because of the channel is works on. This limit is irrelevant for the AUX MAC. Use the new API from mac80211: the user_power_level in bss_conf to achieve this. Firmware -13.ucode has already moved to this API. Change-Id: Ifba83660f378e91b93bd46d29fe8ba35a7c168a4 Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit aae013d646aae8787b76255d1a1cadd7f64a47dd Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Sun Apr 19 09:45:48 2015 +0800 ASoC: add static inline funcs to fix a compiling issue When CONFIG_PM_SLEEP is not selected, calling funcs snd_soc_suspend and _resume will generate a compiling issue. Here add static inline stub functions to fix it. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e4afa120c98252e44390067c3a6cc775cde30659 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Sat Apr 18 11:18:27 2015 +0930 cpumask: remove __first_cpu / __next_cpu They were for use by the deprecated first_cpu() and next_cpu() wrappers, but sparc used them directly. They're now replaced by cpumask_first / cpumask_next. And __next_cpu_nr is completely obsolete. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64fb1d0e975e92e012802d371e417266d6531676 Merge: dba94f2 ccb3018 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 18:01:29 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc fixes from David Miller "Unfortunately, I brown paper bagged the generic iommu pool allocator by applying the wrong revision of the patch series. This reverts the bad one, and puts the right one in" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: iommu-common: Fix PARISC compile-time warnings sparc: Make LDC use common iommu poll management functions sparc: Make sparc64 use scalable lib/iommu-common.c functions Break up monolithic iommu table/lock into finer graularity pools and lock sparc: Revert generic IOMMU allocator. commit dba94f2155f581395ef9608418778e3491b3d470 Merge: 34a984f f569d3e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 17:45:30 2015 -0400 Merge tag 'for-linus-4.1-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs Pull 9pfs updates from Eric Van Hensbergen: "Some accumulated cleanup patches for kerneldoc and unused variables as well as some lock bug fixes and adding privateport option for RDMA" * tag 'for-linus-4.1-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: net/9p: add a privport option for RDMA transport. fs/9p: Initialize status in v9fs_file_do_lock. net/9p: Initialize opts->privport as it should be. net/9p: use memcpy() instead of snprintf() in p9_mount_tag_show() 9p: use unsigned integers for nwqid/count 9p: do not crash on unknown lock status code 9p: fix error handling in v9fs_file_do_lock 9p: remove unused variable in p9_fd_create() 9p: kerneldoc warning fixes commit ccb301862aa51ea7c10c10b440f3e8bbeac5b720 Merge: c12f048 2f0c0fd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Apr 18 12:35:09 2015 -0700 Merge branch 'iommu-generic-allocator' Sowmini Varadhan says: ==================== Generic IOMMU pooled allocator Investigation of network performance on Sparc shows a high degree of locking contention in the IOMMU allocator, and it was noticed that the PowerPC code has a better locking model. This patch series tries to extract the generic parts of the PowerPC code so that it can be shared across multiple PCI devices and architectures. v10: resend patchv9 without RFC tag, and a new mail Message-Id, (previous non-RFC attempt did not show up on the patchwork queue?) Full revision history below: v2 changes: - incorporate David Miller editorial comments: sparc specific fields moved from iommu-common into sparc's iommu_64.h - make the npools value an input parameter, for the case when the iommu map size is not very large - cookie_to_index mapping, and optimizations for span-boundary check, for use case such as LDC. v3: eliminate iommu_sparc, rearrange the ->demap indirection to be invoked under the pool lock. v4: David Miller review changes: - s/IOMMU_ERROR_CODE/DMA_ERROR_CODE - page_table_map_base and page_table_shift are unsigned long, not u32. v5: removed ->cookie_to_index and ->demap indirection from the iommu_tbl_ops The caller needs to call these functions as needed, before invoking the generic arena allocator functions. Added the "skip_span_boundary" argument to iommu_tbl_pool_init() for those callers like LDC which do no care about span boundary checks. v6: removed iommu_tbl_ops, and instead pass the ->flush_all as an indirection to iommu_tbl_pool_init(); only invoke ->flush_all when there is no large_pool, based on the assumption that large-pool usage is infrequently encountered v7: moved pool_hash initialization to lib/iommu-common.c and cleaned up code duplication from sun4v/sun4u/ldc. v8: Addresses BenH comments with one exception: I've left the IOMMU_POOL_HASH as is, so that powerpc can tailor it to their convenience. Discard trylock for simple spin_lock to acquire pool v9: Addresses latest BenH comments: need_flush checks, add support for dma mask and align_order. v10: resend without RFC tag, and new mail Message-Id. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f0c0fdc085c0d415457a1c52344f72e12c4cec6 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Sat Apr 18 12:33:55 2015 -0700 iommu-common: Fix PARISC compile-time warnings Fixes warnings due to - no DMA_ERROR_CODE on PARISC, - sizeof (unsigned long) == 4 bytes on PARISC. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ae53ed15d9b87b883b593a9884957cfa4fc2480 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Apr 9 15:33:32 2015 -0400 sparc: Make LDC use common iommu poll management functions Note that this conversion is only being done to consolidate the code and ensure that the common code provides the sufficient abstraction. It is not expected to result in any noticeable performance improvement, as there is typically one ldc_iommu per vnet_port, and each one has 8k entries, with a typical request for 1-4 pages. Thus LDC uses npools == 1. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb620c3d3925aec0ed4f21010c86df08ec18a8c7 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Apr 9 15:33:31 2015 -0400 sparc: Make sparc64 use scalable lib/iommu-common.c functions In iperf experiments running linux as the Tx side (TCP client) with 10 threads results in a severe performance drop when TSO is disabled, indicating a weakness in the software that can be avoided by using the scalable IOMMU arena DMA allocation. Baseline numbers before this patch: with default settings (TSO enabled) : 9-9.5 Gbps Disable TSO using ethtool- drops badly: 2-3 Gbps. After this patch, iperf client with 10 threads, can give a throughput of at least 8.5 Gbps, even when TSO is disabled. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff7d37a502022149655c18035b99a53391be0383 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Apr 9 15:33:30 2015 -0400 Break up monolithic iommu table/lock into finer graularity pools and lock Investigation of multithreaded iperf experiments on an ethernet interface show the iommu->lock as the hottest lock identified by lockstat, with something of the order of 21M contentions out of 27M acquisitions, and an average wait time of 26 us for the lock. This is not efficient. A more scalable design is to follow the ppc model, where the iommu_map_table has multiple pools, each stretching over a segment of the map, and with a separate lock for each pool. This model allows for better parallelization of the iommu map search. This patch adds the iommu range alloc/free function infrastructure. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c12f048ffdf3a5802239426dc290290929268dc9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Apr 18 12:31:25 2015 -0700 sparc: Revert generic IOMMU allocator. I applied the wrong version of this patch series, V4 instead of V10, due to a patchwork bundling snafu. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9257f5fa48cc296d7eed35acf9f2ad195184122 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Apr 1 21:02:57 2015 -0400 tools/power turbostat: correct dumped pkg-cstate-limit value HSW expanded MSR_PKG_CST_CONFIG_CONTROL.Package-C-State-Limit, from bits[2:0] used by previous implementations, to [3:0]. The value 1000b is unlimited, and is used by BDW and SKL too. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 8a5bdf41d2c027c1e4ad62bc4f96f3fdf82070ba Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Apr 1 21:02:57 2015 -0400 tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL turbostat --debug ... CPUID(0x15): eax_crystal: 2 ebx_tsc: 100 ecx_crystal_hz: 0 TSC: 1200 MHz (24000000 Hz * 100 / 2 / 1000000) Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 40ee8e3b9dc8917e6077dde6a49c7a71d63b0231 Author: Andrey Semin <andrey.semin@xxxxxxxxx> Date: Fri Dec 5 00:07:00 2014 -0500 tools/power turbostat: correct DRAM RAPL units on recent Xeon processors While not yet documented in the Software Developer's Manual, the data-sheet for modern Xeon states that DRAM RAPL ENERGY units are fixed at 15.3 uJ, rather than being discovered via MSR. Before this patch, DRAM energy on these products is over-stated by turbostat because the RAPL units are 4x larger. ref: "Xeon E5-2600 v3/E5-1600 v3 Datasheet Volume 2" http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xeon-e5-v3-datasheet-vol-2.pdf Signed-off-by: Andrey Semin <andrey.semin@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 0b2bb6925eb602eae993a4b5c282a8c18ad1c949 Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu Mar 26 00:50:30 2015 -0400 tools/power turbostat: Initial Skylake support Skylake adds some additional residency counters. Skylake supports a different mix of RAPL registers from any previous product. In most other ways, Skylake is like Broadwell. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit f82263c6989c31ae9b94cecddffb29dcbec38710 Author: Thomas D <whissi@xxxxxxxxx> Date: Mon Jan 5 21:37:23 2015 +0100 tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile Since commit ee0778a30153 ("tools/power: turbostat: make Makefile a bit more capable") turbostat's Makefile is using [...] BUILD_OUTPUT := $(PWD) [...] which obviously causes trouble when building "turbostat" with make -C /usr/src/linux/tools/power/x86/turbostat ARCH=x86 turbostat because GNU make does not update nor guarantee that $PWD is set. This patch changes the Makefile to use $CURDIR instead, which GNU make guarantees to set and update (i.e. when using "make -C ...") and also adds support for the O= option (see "make help" in your root of your kernel source tree for more details). Link: https://bugs.gentoo.org/show_bug.cgi?id=533918 Fixes: ee0778a30153 ("tools/power: turbostat: make Makefile a bit more capable") Signed-off-by: Thomas D. <whissi@xxxxxxxxx> Cc: Mark Asselstine <mark.asselstine@xxxxxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit a21d38c846fce05ef55ab240f18fb19755bed16a Author: Len Brown <len.brown@xxxxxxxxx> Date: Tue Mar 24 16:37:35 2015 -0400 tools/power turbostat: modprobe msr, if needed Some distros (Ubuntu) ship the msr driver as a module. If turbosat is run as root on those systems, and discovers that there is no /dev/cpu/cpu0/msr, it will now "modprobe msr" for the user. If not root, the modprobe attempt will fail, and turbostat will exit as before: turbostat: no /dev/cpu/0/msr, Try "# modprobe msr" : No such file or directory Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit fcd17211bd807533f6d4be20b1a4644e9191bfe2 Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Mar 23 20:29:09 2015 -0400 tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2 and up to 18 cores of turbo ratio limit when using the turbostat --debug option. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 12bb43c6150525cd53af77a1a7b9ff2752944cbd Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Apr 13 16:08:18 2015 -0400 tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names s/MSR_NHM_TURBO_RATIO_LIMIT/MSR_TURBO_RATIO_LIMIT/ s/MSR_IVT_TURBO_RATIO_LIMIT/MSR_TURBO_RATIO_LIMIT1/ syntax only -- use the documented strings describing these registers. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 34a984f7b0cc6355a1e0c184251d0d4cc86f44d2 Merge: 90d1c08 4c1eaa2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:42:49 2015 -0400 Merge branch 'x86-pmem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull PMEM driver from Ingo Molnar: "This is the initial support for the pmem block device driver: persistent non-volatile memory space mapped into the system's physical memory space as large physical memory regions. The driver is based on Intel code, written by Ross Zwisler, with fixes by Boaz Harrosh, integrated with x86 e820 memory resource management and tidied up by Christoph Hellwig. Note that there were two other separate pmem driver submissions to lkml: but apparently all parties (Ross Zwisler, Boaz Harrosh) are reasonably happy with this initial version. This version enables minimal support that enables persistent memory devices out in the wild to work as block devices, identified through a magic (non-standard) e820 flag and auto-discovered if CONFIG_X86_PMEM_LEGACY=y, or added explicitly through manipulating the memory maps via the "memmap=..." boot option with the new, special '!' modifier character. Limitations: this is a regular block device, and since the pmem areas are not struct page backed, they are invisible to the rest of the system (other than the block IO device), so direct IO to/from pmem areas, direct mmap() or XIP is not possible yet. The page cache will also shadow and double buffer pmem contents, etc. Initial support is for x86" * 'x86-pmem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: drivers/block/pmem: Fix 32-bit build warning in pmem_alloc() drivers/block/pmem: Add a driver for persistent memory x86/mm: Add support for the non-standard protected e820 type commit 90d1c087861dcc3d1175993fc03492c137fd21bb Merge: 96b90f2 a6dfa12 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:31:11 2015 -0400 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Ingo Molnar: "This tree includes: - an FPU related crash fix - a ptrace fix (with matching testcase in tools/testing/selftests/) - an x86 Kconfig DMA-config defaults tweak to better avoid non-working drivers" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected x86/fpu: Load xsave pointer *after* initialization x86/ptrace: Fix the TIF_FORCED_TF logic in handle_signal() x86, selftests: Add single_step_syscall test commit 96b90f27bcf22f1d06cc16d9475cefa6ea4c4718 Merge: 396c9df 0c99241 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:26:46 2015 -0400 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf updates from Ingo Molnar: "This update has mostly fixes, but also other bits: - perf tooling fixes - PMU driver fixes - Intel Broadwell PMU driver HW-enablement for LBR callstacks - a late coming 'perf kmem' tool update that enables it to also analyze page allocation data. Note, this comes with MM tracepoint changes that we believe to not break anything: because it changes the formerly opaque 'struct page *' field that uniquely identifies pages to 'pfn' which identifies pages uniquely too, but isn't as opaque and can be used for other purposes as well" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf/x86/intel/pt: Fix and clean up error handling in pt_event_add() perf/x86/intel: Add Broadwell support for the LBR callstack perf/x86/intel/rapl: Fix energy counter measurements but supporing per domain energy units perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events perf/x86: Fix hw_perf_event::flags collision perf probe: Fix segfault when probe with lazy_line to file perf probe: Find compilation directory path for lazy matching perf probe: Set retprobe flag when probe in address-based alternative mode perf kmem: Analyze page allocator events also tracing, mm: Record pfn instead of pointer to struct page commit 396c9df2231865ef55aa031e3f5df9d99e036869 Merge: 8f502d5b 8053871 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:23:42 2015 -0400 Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull locking fixes from Ingo Molnar: "Two fixes: an smp-call fix and a lockdep fix" * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: smp: Fix smp_call_function_single_async() locking lockdep: Make print_lock() robust against concurrent release commit 8f502d5b9e3362971f58dad5d468f070340336e1 Merge: 06a60de e0c9c0a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:20:31 2015 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace Pull usernamespace mount fixes from Eric Biederman: "Way back in October Andrey Vagin reported that umount(MNT_DETACH) could be used to defeat MNT_LOCKED. As I worked to fix this I discovered that combined with mount propagation and an appropriate selection of shared subtrees a reference to a directory on an unmounted filesystem is not necessary. That MNT_DETACH is allowed in user namespace in a form that can break MNT_LOCKED comes from my early misunderstanding what MNT_DETACH does. To avoid breaking existing userspace the conflict between MNT_DETACH and MNT_LOCKED is fixed by leaving mounts that are locked to their parents in the mount hash table until the last reference goes away. While investigating this issue I also found an issue with __detach_mounts. The code was unnecessarily and incorrectly triggering mount propagation. Resulting in too many mounts going away when a directory is deleted, and too many cpu cycles are burned while doing that. Looking some more I realized that __detach_mounts by only keeping mounts connected that were MNT_LOCKED it had the potential to still leak information so I tweaked the code to keep everything locked together that possibly could be. This code was almost ready last cycle but Al invented fs_pin which slightly simplifies this code but required rewrites and retesting, and I have not been in top form for a while so it took me a while to get all of that done. Similiarly this pull request is late because I have been feeling absolutely miserable all week. The issue of being able to escape a bind mount has not yet been addressed, as the fixes are not yet mature" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: mnt: Update detach_mounts to leave mounts connected mnt: Fix the error check in __detach_mounts mnt: Honor MNT_LOCKED when detaching mounts fs_pin: Allow for the possibility that m_list or s_list go unused. mnt: Factor umount_mnt from umount_tree mnt: Factor out unhash_mnt from detach_mnt and umount_tree mnt: Fail collect_mounts when applied to unmounted mounts mnt: Don't propagate unmounts to locked mounts mnt: On an unmount propagate clearing of MNT_LOCKED mnt: Delay removal from the mount hash. mnt: Add MNT_UMOUNT flag mnt: In umount_tree reuse mnt_list instead of mnt_hash mnt: Don't propagate umounts in __detach_mounts mnt: Improve the umount_tree flags mnt: Use hlist_move_list in namespace_unlock commit 06a60deca87dba8e2c186ea7f12ea87d6785188e Merge: d6a24d0 1002755 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:17:20 2015 -0400 Merge tag 'for-f2fs-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs updates from Jaegeuk Kim: "New features: - in-memory extent_cache - fs_shutdown to test power-off-recovery - use inline_data to store symlink path - show f2fs as a non-misc filesystem Major fixes: - avoid CPU stalls on sync_dirty_dir_inodes - fix some power-off-recovery procedure - fix handling of broken symlink correctly - fix missing dot and dotdot made by sudden power cuts - handle wrong data index during roll-forward recovery - preallocate data blocks for direct_io ... and a bunch of minor bug fixes and cleanups" * tag 'for-f2fs-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (71 commits) f2fs: pass checkpoint reason on roll-forward recovery f2fs: avoid abnormal behavior on broken symlink f2fs: flush symlink path to avoid broken symlink after POR f2fs: change 0 to false for bool type f2fs: do not recover wrong data index f2fs: do not increase link count during recovery f2fs: assign parent's i_mode for empty dir f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries f2fs: fix mismatching lock and unlock pages for roll-forward recovery f2fs: fix sparse warnings f2fs: limit b_size of mapped bh in f2fs_map_bh f2fs: persist system.advise into on-disk inode f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get f2fs: preallocate fallocated blocks for direct IO f2fs: enable inline data by default f2fs: preserve extent info for extent cache f2fs: initialize extent tree with on-disk extent info of inode f2fs: introduce __{find,grab}_extent_tree f2fs: split set_data_blkaddr from f2fs_update_extent_cache f2fs: enable fast symlink by utilizing inline data ... commit d6a24d0640d609138a4e40a4ce9fd9fe7859e24c Merge: 1f5014d 1971754 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:10:49 2015 -0400 Merge tag 'docs-for-linus' of git://git.lwn.net/linux-2.6 Pull documentation updates from Jonathan Corbet: "Numerous fixes, the overdue removal of the i2o docs, some new Chinese translations, and, hopefully, the README fix that will end the flow of identical patches to that file" * tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: (34 commits) Documentation/memcg: update memcg/kmem status Documentation: blackfin: Makefile: Typo building issue Documentation/vm/pagemap.txt: correct location of page-types tool Documentation/memory-barriers.txt: typo fix doc: Add guest_nice column to example output of `cat /proc/stat' Documentation/kernel-parameters: Move "eagerfpu" to its right place Documentation: gpio: Update ACPI part of the document to mention _DSD docs/completion.txt: Various tweaks and corrections doc: completion: context, scope and language fixes Documentation:Update Documentation/zh_CN/arm64/memory.txt Documentation:Update Documentation/zh_CN/arm64/booting.txt Documentation: Chinese translation of arm64/legacy_instructions.txt DocBook media: fix broken EIA hyperlink Documentation: tweak the maintainers entry README: Change gzip/bzip2 to xz compression format README: Update version number reference doc:pci: Fix typo in Documentation/PCI Documentation: drm: Use '->' when describing access through pointers. Documentation: Remove mentioning of block barriers Documentation/email-clients.txt: Fix one grammar mistake, add extra info about TB ... commit 1f5014d6a77513fa7cefe30eb7791d5856c04384 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Apr 17 22:34:18 2015 +0200 Bluetooth: hidp: Fix regression with older userspace and flags validation While it is not used by newer userspace anymore, the older userspace was utilizing HIDP_VIRTUAL_CABLE_UNPLUG and HIDP_BOOT_PROTOCOL_MODE flags when adding a new HIDP connection. The flags validation is important, but we can not break older userspace and with that allow providing these flags even if newer userspace does not use them anymore. Reported-and-tested-by: Jörg Otte <jrg.otte@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cb0f3f320d64831afb39940863c5927d6af25514 Merge: 078838d 8d7dc92 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Apr 18 14:49:41 2015 +0200 Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/urgent Pull RCU fix from Paul E. McKenney: "This series contains a single change that fixes Kconfig asking pointless questions." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a6dfa128ce5c414ab46b1d690f7a1b8decb8526d Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Fri Apr 17 15:04:48 2015 -0400 config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected A huge amount of NIC drivers use the DMA API, however if compiled under 32-bit an very important part of the DMA API can be ommitted leading to the drivers not working at all (especially if used with 'swiotlb=force iommu=soft'). As Prashant Sreedharan explains it: "the driver [tg3] uses DEFINE_DMA_UNMAP_ADDR(), dma_unmap_addr_set() to keep a copy of the dma "mapping" and dma_unmap_addr() to get the "mapping" value. On most of the platforms this is a no-op, but ... with "iommu=soft and swiotlb=force" this house keeping is required, ... otherwise we pass 0 while calling pci_unmap_/pci_dma_sync_ instead of the DMA address." As such enable this even when using 32-bit kernels. Reported-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Chan <mchan@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: boris.ostrovsky@xxxxxxxxxx Cc: cascardo@xxxxxxxxxxxxxxxxxx Cc: david.vrabel@xxxxxxxxxx Cc: sanjeevb@xxxxxxxxxxxx Cc: siva.kallam@xxxxxxxxxxxx Cc: vyasevich@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150417190448.GA9462@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7505256626b0b3d11ea5a3ec1a89046d07c3c366 Merge: 510965d a2166ca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 08:30:10 2015 -0400 Merge tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux Pull devicetree changes from Grant Likely: "Here are the devicetree changes queued up for v4.1. Nothing really exciting here. Rob has another few commits for big-endian attached UARTs, but those will be sent in a separate merge request since they haven't been as thoroughly tested as this batch. Here are the highlights: - lots of unittest cleanup from Frank Rowand - bugfixes and updates to the of_graph code - tighten up of_get_mac_address() code - documentation updates" * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux: of/unittest: Fix of_platform_depopulate test case of/unittest: early return from test skips tests of/unittest: breadcrumbs to reduce pain of future maintainers of/unittest: reduce checkpatch noise - line after declarations of/unittest: typo in error string of/unittest: add const where needed of_net: factor out repetitive code from of_get_mac_address() drivers/of: Add empty ranges quirk for PA-Semi of: Allow selection of OF_DYNAMIC and OF_OVERLAY if OF_UNITTEST of: Empty node & property flag accessors when !OF of: Explicitly include linux/types.h in of_graph.h dt-bindings: brcm: rationalize Broadcom documentation naming of/unittest: replace 'selftest' with 'unittest' Documentation: rename of_selftest.txt to of_unittest.txt Documentation: update the of_selftest.txt dt: OF_UNITTEST make dependency broken MAINTAINERS: Pantelis Antoniou device tree overlay maintainer of: Add of_graph_get_port_by_id function of: Add for_each_endpoint_of_node helper macro of: Decrement refcount of previous endpoint in of_graph_get_next_endpoint commit 510965dd4a0a59504ba38455f77339ea8b4c6a70 Merge: 40d7839 03daa6f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 08:22:10 2015 -0400 Merge tag 'gpio-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO updates from Linus Walleij: "This is the bulk of GPIO changes for the v4.1 development cycle: - A new GPIO hogging mechanism has been added. This can be used on boards that want to drive some GPIO line high, low, or set it as input on boot and then never touch it again. For some embedded systems this is bliss and simplifies things to a great extent. - Some API cleanup and closure: gpiod_get_array() and gpiod_put_array() has been added to get and put GPIOs in bulk as was possible with the non-descriptor API. - Encapsulate cross-calls to the pin control subsystem in <linux/gpio/driver.h>. Now this should be the only header any GPIO driver needs to include or something is wrong. Cleanups restricting drivers to this include are welcomed if tested. - Sort the GPIO Kconfig and split it into submenus, as it was becoming and unstructured, illogical and unnavigatable mess. I hope this is easier to follow. Menus that require a certain subsystem like I2C can now be hidden nicely for example, still working on others. - New drivers: - New driver for the Altera Soft GPIO. - The F7188x driver now handles the F71869 and F71869A variants. - The MIPS Loongson driver has been moved to drivers/gpio for consolidation and cleanup. - Cleanups: - The MAX732x is converted to use the GPIOLIB_IRQCHIP infrastructure. - The PCF857x is converted to use the GPIOLIB_IRQCHIP infrastructure. - Radical cleanup of the OMAP driver. - Misc: - Enable the DWAPB GPIO for all architectures. This is a "hard IP" block from Synopsys which has started to turn up in so diverse architectures as X86 Quark, ARC and a slew of ARM systems. So even though it's not an expander, it's generic enough to be available for all. - We add a mock GPIO on Crystalcove PMIC after a long discussion with Daniel Vetter et al, tracing back to the shootout at the kernel summit where DRM drivers and sub-componentization was discussed. In this case a mock GPIO is assumed to be the best compromise gaining some reuse of infrastructure without making DRM drivers overly complex at the same time. Let's see" * tag 'gpio-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (62 commits) Revert "gpio: sch: use uapi/linux/pci_ids.h directly" gpio: dwapb: remove dependencies gpio: dwapb: enable for ARC gpio: removing kfree remove functionality gpio: mvebu: Fix mask/unmask managment per irq chip type gpio: split GPIO drivers in submenus gpio: move MFD GPIO drivers under their own comment gpio: move BCM Kona Kconfig option gpio: arrange SPI Kconfig symbols alphabetically gpio: arrange PCI GPIO controllers alphabetically gpio: arrange I2C Kconfig symbols alphabetically gpio: arrange Kconfig symbols alphabetically gpio: ich: Implement get_direction function gpio: use (!foo) instead of (foo == NULL) gpio: arizona: drop owner assignment from platform_drivers gpio: max7300: remove 'ret' variable gpio: use devm_kzalloc gpio: sch: use uapi/linux/pci_ids.h directly gpio: x-gene: fix devm_ioremap_resource() check gpio: loongson: Add Loongson-3A/3B GPIO driver support ... commit 40d7839879b4584f91522d841afb22ed401cf40f Merge: afad97e c1c21f4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 08:19:04 2015 -0400 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "Two buildfixes for I2C based on your tree from the day before yesterday. Sadly, these build errors never reached me while the patches were sitting in -next. Need to fix that" * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: core: Export bus recovery functions i2c: jz4780: Fix build for m68k and sparc64 commit afad97eee47c1f1f242202e2473929b4ef5d9f43 Merge: 04b7fe6 44c144f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 08:14:18 2015 -0400 Merge tag 'dm-4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper updates from Mike Snitzer: - the most extensive changes this cycle are the DM core improvements to add full blk-mq support to request-based DM. - disabled by default but user can opt-in with CONFIG_DM_MQ_DEFAULT - depends on some blk-mq changes from Jens' for-4.1/core branch so that explains why this pull is built on linux-block.git - update DM to use name_to_dev_t() rather than open-coding a less capable device parser. - includes a couple small improvements to name_to_dev_t() that offer stricter constraints that DM's code provided. - improvements to the dm-cache "mq" cache replacement policy. - a DM crypt crypt_ctr() error path fix and an async crypto deadlock fix - a small efficiency improvement for DM crypt decryption by leveraging immutable biovecs - add error handling modes for corrupted blocks to DM verity - a new "log-writes" DM target from Josef Bacik that is meant for file system developers to test file system integrity at particular points in the life of a file system - a few DM log userspace cleanups and fixes - a few Documentation fixes (for thin, cache, crypt and switch) * tag 'dm-4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (34 commits) dm crypt: fix missing error code return from crypt_ctr error path dm crypt: fix deadlock when async crypto algorithm returns -EBUSY dm crypt: leverage immutable biovecs when decrypting on read dm crypt: update URLs to new cryptsetup project page dm: add log writes target dm table: use bool function return values of true/false not 1/0 dm verity: add error handling modes for corrupted blocks dm thin: remove stale 'trim' message documentation dm delay: use msecs_to_jiffies for time conversion dm log userspace base: fix compile warning dm log userspace transfer: match wait_for_completion_timeout return type dm table: fall back to getting device using name_to_dev_t() init: stricter checking of major:minor root= values init: export name_to_dev_t and mark name argument as const dm: add 'use_blk_mq' module param and expose in per-device ro sysfs attr dm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mq dm: add full blk-mq support to request-based DM dm: impose configurable deadline for dm_request_fn's merge heuristic dm sysfs: introduce ability to add writable attributes dm: don't start current request if it would've merged with the previous ... commit 0c99241c93b8060441f3c8434848e54b5338f922 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 16 12:38:30 2015 +0200 perf/x86/intel/pt: Fix and clean up error handling in pt_event_add() Dan Carpenter reported that pt_event_add() has buggy error handling logic: it returns 0 instead of -EBUSY when it fails to start a newly added event. Furthermore, the control flow in this function is messy, with cleanup labels mixed with direct returns. Fix the bug and clean up the code by converting it to a straight fast path for the regular non-failing case, plus a clear sequence of cascading goto labels to do all cleanup. NOTE: I materially changed the existing clean up logic in the pt_event_start() failure case to use the direct perf_aux_output_end() path, not pt_event_del(), because perf_aux_output_end() is enough here. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150416103830.GB7847@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7d0ec8b6f40b356f780b79de63eeafd6b907d68c Author: Pelle Nilsson <per.nilsson@xxxxxxxxx> Date: Tue Apr 14 15:40:17 2015 +0200 spi: bitbang: Make setup_transfer() callback optional Some controller drivers have no need of this callback (spi-altera even causes a NULL pointer dereference because it doesn't register the callback, falsely assuming that it is already optional). Fixes: 30af9b558a56 ("spi/bitbang: Drop empty setup() functions") Signed-off-by: Pelle Nilsson <per.nilsson@xxxxxxxxx> Reviewed-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bc26d4d06e337ade069f33d3f4377593b24e6e36 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Apr 18 02:53:25 2015 +0300 sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND) A deadlock can be initiated by userspace via ioctl(SNDCTL_SEQ_OUTOFBAND) on /dev/sequencer with TMR_ECHO midi event. In this case the control flow is: sound_ioctl() -> case SND_DEV_SEQ: case SND_DEV_SEQ2: sequencer_ioctl() -> case SNDCTL_SEQ_OUTOFBAND: spin_lock_irqsave(&lock,flags); play_event(); -> case EV_TIMING: seq_timing_event() -> case TMR_ECHO: seq_copy_to_input() -> spin_lock_irqsave(&lock,flags); It seems that spin_lock_irqsave() around play_event() is not necessary, because the only other call location in seq_startplay() makes the call without acquiring spinlock. So, the patch just removes spinlocks around play_event(). By the way, it removes unreachable code in seq_timing_event(), since (seq_mode == SEQ_2) case is handled in the beginning. Compile tested only. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 43c499dc2778b96e21ed14e1a71e7b117a0b406f Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Apr 17 22:53:32 2015 +0530 ALSA: asound.h - use SNDRV_CTL_ELEM_ID_NAME_MAXLEN we have defined SNDRV_CTL_ELEM_ID_NAME_MAXLEN as size of name array so use this define instead of numeric value Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5d38000b3c97a1079734c0b4c5f87d5b935318cd Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Fri Apr 17 21:51:38 2015 +0100 ARM: 8342/1: VDSO: depend on CPU_V7 When targeting ARMv3 (e.g. rpc) and enabling CONFIG_VDSO we get: arch/arm/vdso/datapage.S:13: Error: selected processor does not support ARM mode `bx lr' One fix considered was to use 'ldr pc,lr' for such configurations, but since the VDSO is unlikely to be useful for pre-v7 hardware, just make it depend on CONFIG_CPU_V7. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 04b7fe6a4a231871ef681bc95e08fe66992f7b1f Merge: 388f997 d681f11 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 16:36:59 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide Pull IDE update from David Miller: "Just one change, getting rid of usage of the deprecated PCI DMA interfaces in the IDE drivers" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide: ide: remove deprecated use of pci api commit 388f997620cb57372c494a194e9698b28cc179b8 Merge: e2fdae7 e3122b7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 16:31:08 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix verifier memory corruption and other bugs in BPF layer, from Alexei Starovoitov. 2) Add a conservative fix for doing BPF properly in the BPF classifier of the packet scheduler on ingress. Also from Alexei. 3) The SKB scrubber should not clear out the packet MARK and security label, from Herbert Xu. 4) Fix oops on rmmod in stmmac driver, from Bryan O'Donoghue. 5) Pause handling is not correct in the stmmac driver because it doesn't take into consideration the RX and TX fifo sizes. From Vince Bridgers. 6) Failure path missing unlock in FOU driver, from Wang Cong. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits) net: dsa: use DEVICE_ATTR_RW to declare temp1_max netns: remove BUG_ONs from net_generic() IB/ipoib: Fix ndo_get_iflink sfc: Fix memcpy() with const destination compiler warning. altera tse: Fix network-delays and -retransmissions after high throughput. net: remove unused 'dev' argument from netif_needs_gso() act_mirred: Fix bogus header when redirecting from VLAN inet_diag: fix access to tcp cc information tcp: tcp_get_info() should fetch socket fields once net: dsa: mv88e6xxx: Add missing initialization in mv88e6xxx_set_port_state() skbuff: Do not scrub skb mark within the same name space Revert "net: Reset secmark when scrubbing packet" bpf: fix two bugs in verification logic when accessing 'ctx' pointer bpf: fix bpf helpers to use skb->mac_header relative offsets stmmac: Configure Flow Control to work correctly based on rxfifo size stmmac: Enable unicast pause frame detect in GMAC Register 6 stmmac: Read tx-fifo-depth and rx-fifo-depth from the devicetree stmmac: Add defines and documentation for enabling flow control stmmac: Add properties for transmit and receive fifo sizes stmmac: fix oops on rmmod after assigning ip addr ... commit e2fdae7e7c5a690b10b2d2891ec819e554dc033d Merge: 6b6e177 cb97201 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 16:19:26 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc updates from David Miller: "The PowerPC folks have a really nice scalable IOMMU pool allocator that we wanted to make use of for sparc. So here we have a series that abstracts out their code into a common layer that anyone can make use of. Sparc is converted, and the PowerPC folks have reviewed and ACK'd this series and plan to convert PowerPC over as well" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: iommu-common: Fix PARISC compile-time warnings sparc: Make LDC use common iommu poll management functions sparc: Make sparc64 use scalable lib/iommu-common.c functions sparc: Break up monolithic iommu table/lock into finer graularity pools and lock commit 6b6e177d632ee251c7c78d8f266a851ab9704879 Merge: bfaf245 128f3cb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 16:03:05 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile Pull arch/tile updates from Chris Metcalf: "These are mostly nohz_full changes, plus a smattering of minor fixes (notably a couple for ftrace)" * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: tile: nohz: warn if nohz_full uses hypervisor shared cores tile: ftrace: fix function_graph tracer issues tile: map data region shadow of kernel as R/W tile: support CONTEXT_TRACKING and thus NOHZ_FULL tile: support arch_irq_work_raise arch: tile: fix null pointer dereference on pt_regs pointer tile/elf: reorganize notify_exec() tile: use si_int instead of si_ptr for compat_siginfo commit e3122b7fae7b4e3d1d49fa84f6515bcbe6cbc6fc Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 15:12:25 2015 -0400 net: dsa: use DEVICE_ATTR_RW to declare temp1_max Since commit da4759c (sysfs: Use only return value from is_visible for the file mode), it is possible to reduce the permissions of a file. So declare temp1_max with the DEVICE_ATTR_RW macro and remove the write permission in dsa_hwmon_attrs_visible if set_temp_limit isn't provided. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bfaf245022b4b8661af2e35f467cf0e91943c24c Merge: 96d928e 3e20a26 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 15:50:54 2015 -0400 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS updates from Ralf Baechle: "This is the main pull request for MIPS for Linux 4.1. Most noteworthy: - Add more Octeon-optimized crypto functions - Octeon crypto preemption and locking fixes - Little endian support for Octeon - Use correct CSR to soft reset Octeons - Support LEDs on the Octeon-based DSR-1000N - Fix PCI interrupt mapping for the Octeon-based DSR-1000N - Mark prom_free_prom_memory() as __init for a number of systems - Support for Imagination's Pistachio SOC. This includes arch and CLK bits. I'd like to merge pinctrl bits later - Improve parallelism of csum_partial for certain pipelines - Organize DTB files in subdirs like other architectures - Implement read_sched_clock for all MIPS platforms other than Octeon - Massive series of 38 fixes and cleanups for the FPU emulator / kernel - Further FPU remulator work to support new features. This sits on a separate branch which also has been pulled into the 4.1 KVM branch - Clean up and fixes for the SEAD3 eval board; remove unused file - Various updates for Netlogic platforms - A number of small updates for Loongson 3 platforms - Increase the memory limit for ATH79 platforms to 256MB - A fair number of fixes and updates for BCM47xx platforms - Finish the implementation of XPA support - MIPS FDC support. No, not floppy controller but Fast Debug Channel :) - Detect the R16000 used in SGI legacy platforms - Fix Kconfig dependencies for the SSB bus support" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (265 commits) MIPS: Makefile: Fix MIPS ASE detection code MIPS: asm: elf: Set O32 default FPU flags MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G MIPS: Kconfig: Disable SMP/CPS for 64-bit MIPS: Hibernate: flush TLB entries earlier MIPS: smp-cps: cpu_set FPU mask if FPU present MIPS: lose_fpu(): Disable FPU when MSA enabled MIPS: ralink: add missing symbol for RALINK_ILL_ACC MIPS: ralink: Fix bad config symbol in PCI makefile. SSB: fix Kconfig dependencies MIPS: Malta: Detect and fix bad memsize values Revert "MIPS: Avoid pipeline stalls on some MIPS32R2 cores." MIPS: Octeon: Delete override of cpu_has_mips_r2_exec_hazard. MIPS: Fix cpu_has_mips_r2_exec_hazard. MIPS: kernel: entry.S: Set correct ISA level for mips_ihb MIPS: asm: spinlock: Fix addiu instruction for R10000_LLSC_WAR case MIPS: r4kcache: Use correct base register for MIPS R6 cache flushes MIPS: Kconfig: Fix typo for the r2-to-r6 emulator kernel parameter MIPS: unaligned: Fix regular load/store instruction emulation for EVA MIPS: unaligned: Surround load/store macros in do {} while statements ... commit 96d928ed75c4ba4253e82910a697ec7b06ace8b4 Merge: e076b7c 2ba9268 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 15:32:30 2015 -0400 Merge tag 'xtensa-20150416' of git://github.com/czankel/xtensa-linux Pull Xtensa updates from Chris Zankel: - fix linker script transformation for .text / .text.fixup - wire bpf and execveat syscalls - provide __NR_sync_file_range2 instead of __NR_sync_file_range, as that's what xtensa uses. - make xtfpgs LCD driver functional and configurable. This fixes hardware lockup on KC705/ML605 boot - add audio subsystem bits to xtfpga DTS and provide sample KC705 config with audio features enabled - add CY7C67300 USB controller support to XTFPGA - fix locking issues in ISS network driver - document PIC and MX interrupt distributor device tree bindings * tag 'xtensa-20150416' of git://github.com/czankel/xtensa-linux: xtensa: xtfpga: add CY7C67300 USB controller support irqchip: xtensa-pic: xtensa-mx: document DT bindings xtensa: ISS: fix locking in TAP network adapter xtensa: Fix fix linker script transformation for .text / .text.fixup xtensa: provide __NR_sync_file_range2 instead of __NR_sync_file_range xtensa: wire bpf and execveat syscalls xtensa: xtfpga: fix hardware lockup caused by LCD driver xtensa: xtfpga: provide defconfig with audio subsystem xtensa: xtfpga: add audio card to xtfpga DTS commit d681f1166919d6829083c069a83edcd59bfd5e34 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Mon Apr 13 10:26:53 2015 +0200 ide: remove deprecated use of pci api Replace occurences of the pci api by appropriate call to the dma api. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @deprecated@ idexpression id; position p; @@ ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @bad1@ idexpression id; position deprecated.p; @@ ...when != &id->dev when != pci_get_drvdata ( id ) when != pci_enable_device ( id ) ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @depends on !bad1@ idexpression id; expression direction; position deprecated.p; @@ ( - pci_dma_supported@p ( id, + dma_supported ( &id->dev, ... + , GFP_ATOMIC ) | - pci_alloc_consistent@p ( id, + dma_alloc_coherent ( &id->dev, ... + , GFP_ATOMIC ) ) Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb97201cb060d13da0b87fd1bf68208c7389c5b1 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Apr 16 22:28:04 2015 -0400 iommu-common: Fix PARISC compile-time warnings Fixes warnings due to - no DMA_ERROR_CODE on PARISC, - sizeof (unsigned long) == 4 bytes on PARISC. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2591ffd3085e34a231480efe8f1cac83ebb81725 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 17 19:06:30 2015 +0200 netns: remove BUG_ONs from net_generic() This inline has ~500 callsites. On 04/14/2015 08:37 PM, David Miller wrote: > That BUG_ON() was added 7 years ago, and I don't remember it ever > triggering or helping us diagnose something, so just remove it and > keep the function inlined. On x86 allyesconfig build: text data bss dec hex filename 82447071 22255384 20627456 125329911 77861f7 vmlinux4 82441375 22255384 20627456 125324215 7784bb7 vmlinux5prime Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> CC: David S. Miller <davem@xxxxxxxxxxxxx> CC: Jan Engelhardt <jengelh@xxxxxxxxxx> CC: Jiri Pirko <jpirko@xxxxxxxxxx> CC: linux-kernel@xxxxxxxxxxxxxxx CC: netdev@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c1539597419df6dfeb8ed774d60198b5830b8f7 Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 16 16:34:34 2015 +0300 IB/ipoib: Fix ndo_get_iflink Currently, iflink of the parent interface was always accessed, even when interface didn't have a parent and hence we crashed there. Handle the interface types properly: for a child interface, return the ifindex of the parent, for parent interface, return its ifindex. For child devices, make sure to set the parent pointer prior to invoking register_netdevice(), this allows the new ndo to be called by the stack immediately after the child device is registered. Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') Reported-by: Honggang Li <honli@xxxxxxxxxx> Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Honggang Li <honli@xxxxxxxxxx> Reviewed-By: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>+ Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d20a16062e771b6e26b843c0cde3b17c1146e00 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 17 15:15:40 2015 -0400 sfc: Fix memcpy() with const destination compiler warning. drivers/net/ethernet/sfc/selftest.c: In function â??efx_iterate_stateâ??: drivers/net/ethernet/sfc/selftest.c:388:9: warning: passing argument 1 of â??memcpyâ?? discards â??constâ?? qualifier from pointer target type [-Wdiscarded-array-qualifiers] This is because the msg[] member of struct efx_loopback_payload is marked as 'const'. Remove that. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93ea337852d6c9f292e2ccfc394be0f2859b99ae Author: Andreas Oetken <andreas@xxxxxxxxxxx> Date: Thu Apr 16 23:48:08 2015 +0200 altera tse: Fix network-delays and -retransmissions after high throughput. Fix bug which occurs when more than <limit> packets are available during napi-poll, leading to "delays" and retransmissions on the network. Check for (count < limit) before checking the get_rx_status in tse_rx-function. Function get_rx_status is reading from the response-fifo. If there is currently a response in the fifo, reading the last byte of the response pops the value from the fifo. If the limit is checked as second condition and the limit is reached the fifo is popped but the packet is not processed. Signed-off-by: Andreas Oetken <ennoerlangen@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e076b7c1343e0810880e6b909445f06921f31067 Merge: 0f5abd4 569fd0c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 15:09:51 2015 -0400 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block core fix from Jens Axboe: "A commit in the previous pull request introduce a regression. So far only observed on qemu-sparc64, but it's a general bug. Please pull this single fix to rectify that, thanks" [ And it turns out that it's been seen outside of that qemu-sparc64 case, and is easy to trigger with small number of CPUs and blk-mq enabled by default - Linus ] * 'for-linus' of git://git.kernel.dk/linux-block: blk-mq: fix iteration of busy bitmap commit 0f5abd4020bfd2b1eec6975b91bd5068aa674a93 Merge: 54e514b 0ee0d34 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 15:01:29 2015 -0400 Merge tag 'acpica-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPICA updates from Rafael Wysocki: "This updates the kernel's ACPICA code to upstream revision 20150410 and adds a fix for a GPE handling regression introduced during the 3.19 cycle on top of that. Included are two stable-candidate bug fixes (one of them fixing a 3.16 regression), multiple other fixes and a bunch of cleanups. Specifics: - Fix for a GPE handling regression on Dell Latitude D600 that caused GPE signaling to stop working on that machine, which appears to be due to a hardware glitch, but it used to work and it can be made work again in a relativly straightforward way (Rafael J Wysocki). - Fix for a mutex unlock regression related to the handling of ACPI tables introduced during the 3.16 development cycle (Octavian Purdila). - _REV modification to always return 2 which has been done by all versions of Windows since NT and the firmware people started to use it to distinguish between OSes in their AML and do some silly and wrong things on that basis (Bob Moore). - Fixes and cleanups related to the acpi_physicall_address data type including one stable-candidate fix for an issue occasionally occuring on 64-bit machines running 32-bit kernels where using offsets provided by the firmware may lead to address overflows (Lv Zheng). - External() opcode support infrastructure needed for recompiling disassembled ACPI tables in some cases including interpreter modification to ignore that opcode (Bob Moore). - Support for the "Windows 2015" string in _OSI (Bob Moore). - GPE debug interface change to return values read from hardware registers (Lv Zheng). - Removal of the __DATE__ macro usage in tools (Rasmus Villemoes). - Assorted minor fixes and cleanups (Lv Zheng, Rickard Strandqvist, Bob Moore)" * tag 'acpica-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits) ACPICA: Store GPE register enable masks upfront ACPICA: Update version to 20150410. ACPICA: Fix a couple issues with the local printf module. ACPICA: Disassembler: Some cleanup of the table dump module. ACPICA: iASL: Add support for MSDM ACPI table. ACPICA: Update for SLIC ACPI table. ACPICA: Add "//" before ascii output of buffers. ACPICA: Remove unused internal AML opcode. ACPICA: Permanently set _REV to the value '2'. ACPICA: Add "Windows 2015" string to _OSI support. ACPICA: Add infrastructure for External() opcode. ACPICA: iASL: Enhancement for constant folding. ACPICA: iASL/Disassembler: Add option to assume table contains valid AML. ACPICA: Update AML Debugger global variables. ACPICA: Update Resource descriptor dump module. ACPICA: Fix a sscanf format string. ACPICA: Casting changes around acpi_physical_address/acpi_size. ACPICA: Resources: Correct conditional compilation definitions. ACPICA: Utilities: Correct conditional compilation definitions. ACPICA: Tables: Move an iasl specific table function to iasl source file. ... commit 7d3beab16dd9eee86bb1a4dd05b51159fc7772f0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Apr 11 00:27:58 2015 +0200 dmaengine: shdmac: avoid unused variable warnings This driver uses '#ifdef CONFIG_ARCH_SHMOBILE' and '#ifdef CONFIG_ARM' interchangeably in its sh_dmae_probe function, which causes a build warning when building for ARM without also enabling shmobile: dma/sh/shdmac.c: In function sh_dmae_probe: dma/sh/shdmac.c:696:6: warning: unused variable errirq [-Wunused-variable] dma/sh/shdmac.c:695:16: warning: unused variable irqflags [-Wunused-variable] dma/sh/shdmac.c: At top level: dma/sh/shdmac.c:447:20: warning: sh_dmae_err defined but not used [-Wunused-function] This changes all the #ifdef to test for CONFIG_ARCH_SHMOBILE to avoid that warning. An earlier patch from Laurent had fixed the warning for non-ARM case, but it still remained present in ARM randconfig builds. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 52d6a5ee101bf ("DMA: shdma: Fix warnings due to declared but unused symbols") Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 11ebe4c067c7f95adff73594cb5c23f7a5c6d69e Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sun Apr 12 02:18:34 2015 +0800 dmaengine: fix platform_no_drv_owner.cocci warnings drivers/dma/xgene-dma.c:2079:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 12d7b7a23694b4d3dba58d7ae971ee9120a617e5 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Apr 11 01:28:41 2015 +0300 dmaengine: pch_dma: fix memory leak on failure path in pch_dma_probe() Memory allocated for pch_dma is not deallocated in case of failure in pch_dma_probe(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0434a23198d6a271b70b75221c7568e60482c04e Author: Niklas Cassel <niklas.cassel@xxxxxxxx> Date: Tue Apr 7 16:42:45 2015 +0200 dmaengine: at_xdmac: unlock spin lock before return Signed-off-by: Niklas Cassel <niklass@xxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9c361b1afd9b4b2bba7fa1ffb080c9f5de3ff108 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Apr 9 12:03:31 2015 +0300 dmaengine: xgene: devm_ioremap() returns NULL on error The code here is checking for IS_ERR() but devm_ioremap() returns NULL on error and not an error pointer. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ed1f041842f0c4226a78fcd96ccb8e6a5433ae9d Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Apr 9 12:05:04 2015 +0300 dmaengine: xgene: buffer overflow in xgene_dma_init_channels() We put 9 characters into the 8 character name[] array. Let's make the array bigger and change the sprintf() to snprintf(). Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 128f3cb9398b5eeb4ee04b60bd5e314f5c122821 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Mon Mar 30 16:33:00 2015 -0400 tile: nohz: warn if nohz_full uses hypervisor shared cores The "hypervisor shared" cores are ones that the Tilera hypervisor uses to receive interrupts to manage hypervisor-owned devices. It's a bad idea to try to use those cores with nohz_full, since they will get interrupted unpredictably -- and invisibly to Linux tracing tools, since the interrupts are delivered at a higher privilege level to the Tilera hypervisor. Generate a clear warning at boot up that this doesn't end well for the nohz_full cores in question. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 437d3e124d25daaa671bfecfd4015ecd2503a955 Author: Tony Lu <zlu@xxxxxxxxxx> Date: Fri Mar 27 14:46:38 2015 -0400 tile: ftrace: fix function_graph tracer issues - Add support for ARCH_SUPPORTS_FTRACE_OPS - Replace the instruction in ftrace_call with the bundle {move r10, lr; jal ftrace_stub}, so that the lr contains the right value after returning from ftrace_stub. An alternative fix might be to leave the instruction in ftrace_call alone when it is being updated with ftrace_stub. Signed-off-by: Tony Lu <zlu@xxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit a84f24230c137a4e0ab14185e9175798ca1b0376 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Fri Mar 27 14:35:31 2015 -0400 tile: map data region shadow of kernel as R/W This is necessary for things like reading /proc/kcore, doing ftrace, etc. It happens by default when using huge pages to map the kernel data, but not when using small pages. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 49e4e15619cd7cd9fc275d460fae2a95c1337fcc Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Mon Mar 23 14:23:58 2015 -0400 tile: support CONTEXT_TRACKING and thus NOHZ_FULL Add the TIF_NOHZ flag appropriately. Add call to user_exit() on entry to do_work_pending() and on entry to syscalls via do_syscall_trace_enter(), and also the top of do_syscall_trace_exit() just because it's done in x86. Add call to user_enter() at the bottom of do_work_pending() once we have no more work to do before returning to userspace. Wrap all the trap code in exception_enter() / exception_exit(). Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit d7d8e892aa6fe280a2e2974d9fd1ec9253ee1a05 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Fri Apr 3 20:20:15 2015 +0900 dmaengine: usb-dmac: Fix dereferencing freed memory 'desc' This patch fixes an issue that the usb_dmac_desc_free() is dereferencing freed memory 'desc' because it uses list_for_each_entry(). This function should use list_for_each_entry_safe(). Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 28591dfdd96c6289aebbf12d8eb4e5dc5ddbde97 Author: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Date: Thu Apr 2 18:39:31 2015 +0300 dmaengine: sa11x0: report slave capabilities to upper layers Fix the following warning by initializing necessary fields in the dma_device structure. ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1 at drivers/dma/dmaengine.c:863 dma_async_device_register+0x2b4/0x4f0() this driver doesn't support generic slave capabilities reporting Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 4.0.0-rc5+ #10 Hardware name: Sharp-Collie [<c0105cd8>] (unwind_backtrace) from [<c0103ef8>] (show_stack+0x10/0x14) [<c0103ef8>] (show_stack) from [<c010e9b8>] (warn_slowpath_common+0x74/0xac) [<c010e9b8>] (warn_slowpath_common) from [<c010ea20>] (warn_slowpath_fmt+0x30/0x40) [<c010ea20>] (warn_slowpath_fmt) from [<c02956fc>] (dma_async_device_register+0x2b4/0x4f0) [<c02956fc>] (dma_async_device_register) from [<c0296a9c>] (sa11x0_dma_probe+0x21c/0x358) [<c0296a9c>] (sa11x0_dma_probe) from [<c02c52c0>] (platform_drv_probe+0x30/0x94) [<c02c52c0>] (platform_drv_probe) from [<c02c39bc>] (driver_probe_device+0x84/0x234) [<c02c39bc>] (driver_probe_device) from [<c02c3c4c>] (__driver_attach+0x98/0x9c) [<c02c3c4c>] (__driver_attach) from [<c02c1f9c>] (bus_for_each_dev+0x74/0xa4) [<c02c1f9c>] (bus_for_each_dev) from [<c02c3230>] (bus_add_driver+0x13c/0x1e8) [<c02c3230>] (bus_add_driver) from [<c02c4260>] (driver_register+0x78/0xf8) [<c02c4260>] (driver_register) from [<c0100624>] (do_one_initcall+0x84/0x1f4) [<c0100624>] (do_one_initcall) from [<c0700e1c>] (kernel_init_freeable+0xf8/0x1b4) [<c0700e1c>] (kernel_init_freeable) from [<c040a920>] (kernel_init+0x8/0xf0) [<c040a920>] (kernel_init) from [<c01013a8>] (ret_from_fork+0x14/0x2c) ---[ end trace e188b8fe0e782e75 ]--- Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e60841b441e1b3d176f235f36c79158dd2ed3ed8 Author: Kedareswara rao Appana <appana.durga.rao@xxxxxxxxxx> Date: Mon Mar 30 18:48:29 2015 +0530 dmaengine: vdma: Fix compilation warnings This patch fixes the following compilation warnings. In file included from drivers/dma/xilinx/xilinx_vdma.c:26:0: include/linux/dmapool.h:18:4: warning: 'struct device' declared inside parameter list size_t size, size_t align, size_t allocation); ^ include/linux/dmapool.h:18:4: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/dmapool.h:31:7: warning: 'struct device' declared inside parameter list size_t size, size_t align, size_t allocation); ^ drivers/dma/xilinx/xilinx_vdma.c: In function 'xilinx_vdma_alloc_chan_resources': drivers/dma/xilinx/xilinx_vdma.c:501:20: warning: passing argument 2 of 'dma_pool_create' from incompatible pointer type chan->desc_pool = dma_pool_create("xilinx_vdma_desc_pool", ^ In file included from drivers/dma/xilinx/xilinx_vdma.c:26:0: include/linux/dmapool.h:17:18: note: expected 'struct device *' but argument is of type 'struct device *' struct dma_pool *dma_pool_create(const char *name, struct device *dev, . Signed-off-by: Kedareswara rao Appana <appanad@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8b86a61da37cbbcf4bd6e87fda494a59b1cf16c4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Apr 17 15:45:04 2015 +0200 net: remove unused 'dev' argument from netif_needs_gso() In commit 04ffcb255f22 ("net: Add ndo_gso_check") Tom originally added the 'dev' argument to be able to call ndo_gso_check(). Then later, when generalizing this in commit 5f35227ea34b ("net: Generalize ndo_gso_check to ndo_features_check") Jesse removed the call to ndo_gso_check() in netif_needs_gso() by calling the new ndo_features_check() in a different place. This made the 'dev' argument unused. Remove the unused argument and go back to the code as before. Cc: Tom Herbert <therbert@xxxxxxxxxx> Cc: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f40ae91307c275fc8b17420fa74145e9937c3c0b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 13:32:09 2015 +0800 act_mirred: Fix bogus header when redirecting from VLAN When you redirect a VLAN device to any device, you end up with crap in af_packet on the xmit path because hard_header_len is not equal to skb->mac_len. So the redirected packet contains four extra bytes at the start which then gets interpreted as part of the MAC address. This patch fixes this by only pushing skb->mac_len. We also need to fix ifb because it tries to undo the pushing done by act_mirred. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 521f1cf1dbb9d5ad858dca5dc75d1b45f64b6589 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 16 18:10:35 2015 -0700 inet_diag: fix access to tcp cc information Two different problems are fixed here : 1) inet_sk_diag_fill() might be called without socket lock held. icsk->icsk_ca_ops can change under us and module be unloaded. -> Access to freed memory. Fix this using rcu_read_lock() to prevent module unload. 2) Some TCP Congestion Control modules provide information but again this is not safe against icsk->icsk_ca_ops change and nla_put() errors were ignored. Some sockets could not get the additional info if skb was almost full. Fix this by returning a status from get_info() handlers and using rcu protection as well. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fad9dfefea6405039491e7e4fc21fb6e59e7d26c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 16 16:12:28 2015 -0700 tcp: tcp_get_info() should fetch socket fields once tcp_get_info() can be called without holding socket lock, so any socket fields can change under us. Use READ_ONCE() to fetch sk_pacing_rate and sk_max_pacing_rate Fixes: 977cb0ecf82e ("tcp: add pacing_rate information into tcp_info") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56cbd0ccc1b508de19561211d7ab9e1c77e6b384 Author: James Bottomley <JBottomley@xxxxxxxx> Date: Wed Apr 15 22:16:01 2015 -0700 mvsas: fix panic on expander attached SATA devices mvsas is giving a General protection fault when it encounters an expander attached ATA device. Analysis of mvs_task_prep_ata() shows that the driver is assuming all ATA devices are locally attached and obtaining the phy mask by indexing the local phy table (in the HBA structure) with the phy id. Since expanders have many more phys than the HBA, this is causing the index into the HBA phy table to overflow and returning rubbish as the pointer. mvs_task_prep_ssp() instead does the phy mask using the port properties. Mirror this in mvs_task_prep_ata() to fix the panic. Reported-by: Adam Talbot <ajtalbot1@xxxxxxxxx> Tested-by: Adam Talbot <ajtalbot1@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8041708ed4d993c5466c20926210598afa97194e Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 14:31:12 2015 +0100 am53c974: Fix crash during modprobe On systems with shared interrupts the interrupt routine might be called as soon as the interrupt is enabled. As this might happen before pci_set_drvdata() is called the system would crash. Reported-by: Andreas Brogle <anbro@xxxxx> Tested-by: Andreas Brogle <anbro@xxxxx> Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b340c656af6317e28b466996a72cca019d97b42d Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Mon Mar 23 11:21:23 2015 -0400 tile: support arch_irq_work_raise Tile includes a hypervisor hook to deliver messages to arbitrary tiles, so we can use that to raise an interrupt as soon as possible on our own core. Unfortunately the Tilera hypervisor disabled that support on principle in previous releases, but it will be available in MDE 4.3.4 and later. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 9088616fb3c4e0d3ec4efb20378691066a218f9c Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Mar 16 16:14:02 2015 -0400 arch: tile: fix null pointer dereference on pt_regs pointer Cppcheck reports the following issue: [arch/tile/kernel/stack.c:116]: (error) Possible null pointer dereference: p In this case, on reporting on an odd fault, p is set to NULL and immediately afterwords p is dereferenced iff !kbt->profile is false. Rather than doing this check just return NULL rather than falling through to the potential null pointer dereference (since the original intentional outcome would be to return NULL anyhow) for this odd fault case. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> [tweaked lightly] commit 5a3b4e8000c1ce476f5e8babd62c580457561f34 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Feb 25 13:58:35 2015 -0800 tile/elf: reorganize notify_exec() In the future mm->exe_file will be done without mmap_sem serialization, thus isolate and reorganize the tile elf code to make the transition easier. Good users will, make use of the more standard get_mm_exe_file(), requiring only holding the mmap_sem to read the value, and relying on reference counting to make sure that the exe file won't dissappear underneath us. The visible effects of this patch are: o We now take and drop the mmap_sem more often. Instead of just in arch_setup_additional_pages(), we also do it in: 1) get_mm_exe_file() 2) to get the mm->vm_file and notify the simulator. [Note that 1) will disappear once we change the locking rules for exe_file.] o We avoid getting a free page and doing d_path() while holding the mmap_sem. This requires reordering the checks. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 89067c2daf3d9e0ce51c768589e79e845e6fda42 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Mon Mar 16 15:04:05 2015 -0400 tile: use si_int instead of si_ptr for compat_siginfo To be compatible with the generic get_compat_sigevent(), the copy_siginfo_to_user32() and thus copy_siginfo_from_user32() have to use si_int instead of si_ptr. Using si_ptr means that for the case of ILP32 compat code running in big-endian mode, we would end up copying the high 32 bits of the pointer value into si_int instead of the desired low 32 bits. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> commit 98b228f55014870092c15d7d168fecac69f2f12a Author: Roy Franz <roy.franz@xxxxxxxxxx> Date: Wed Apr 15 16:32:24 2015 -0700 x86/efi: Store upper bits of command line buffer address in ext_cmd_line_ptr Until now, the EFI stub was only setting the 32 bit cmd_line_ptr in the setup_header structure, so on 64 bit platforms this could be truncated. This patch adds setting the upper bits of the buffer address in ext_cmd_line_ptr. This case was likely never hit, as the allocation for this buffer is done at the lowest available address. Only x86_64 kernels have this problem, as the 1-1 mapping mandated by EFI ensures that all memory is 32 bit addressable on 32 bit platforms. The EFI stub does not support mixed mode, so the 32 bit kernel on 64 bit firmware case does not need to be handled. Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit c57dcb566d3d866a302a1da2e06344bec31d5bcd Author: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> Date: Thu Apr 2 08:39:00 2015 +0100 efivarfs: Ensure VariableName is NUL-terminated Some buggy firmware implementations update VariableNameSize on success such that it does not include the final NUL character which results in garbage in the efivarfs name entries. Use kzalloc on the efivar_entry (as is done in efivars.c) to ensure that the name is always NUL-terminated. The buggy firmware is: BIOS Information Vendor: Intel Corp. Version: S1200RP.86B.02.02.0005.102320140911 Release Date: 10/23/2014 BIOS Revision: 4.6 System Information Manufacturer: Intel Corporation Product Name: S1200RP_SE Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> Acked-by: Matthew Garrett <mjg59@xxxxxxxxxx> Cc: Jeremy Kerr <jk@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 3193899d4dd54056f8c2e0b1e40dd6e2f0009f28 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Apr 17 10:27:57 2015 -0400 tracing: Fix possible out of bounds memory access when parsing enums The code that replaces the enum names with the enum values in the tracepoints' format files could possible miss the end of string nul character. This was caused by processing things like backslashes, quotes and other tokens. After processing the tokens, a check for the nul character needed to be done before continuing the loop, because the loop incremented the pointer before doing the check, which could bypass the nul character. Link: http://lkml.kernel.org/r/552E661D.5060502@xxxxxxxxxx Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> # via KASan Tested-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Fixes: 0c564a538aa9 "tracing: Add TRACE_DEFINE_ENUM() macro to map enums to their values" Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 569fd0ce96087283866ab8c438dac4bcf1738846 Author: Jens Axboe <axboe@xxxxxx> Date: Fri Apr 17 08:28:50 2015 -0600 blk-mq: fix iteration of busy bitmap Commit 889fa31f00b2 was a bit too eager in reducing the loop count, so we ended up missing queues in some configurations. Ensure that our division rounds up, so that's not the case. Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Fixes: 889fa31f00b2 ("blk-mq: reduce unnecessary software queue looping") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d09a6b4a1412149c133a58b53f50e9c05a95e834 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 21:46:29 2015 +0800 ASoC: Intel: sst_byt: remove kfree for memory allocated with devm_kzalloc It's not necessary to free memory allocated with devm_kzalloc and using kfree leads to a double free. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f4d770317997f89bb6997ee3e8dd495cb8356ae9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Apr 17 16:19:46 2015 +0300 ALSA: hda - potential (but unlikely) uninitialized variable This function is a bit unusual because it accepts negative values as "conn_len". It's theoretically possible for both "cache_len" and "conn_len" to be -ENOSPC and in that case we would oops trying to run memcmp() on the uninitialized "list" pointer. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c479163a1b6ab424786fbcd9225b4e3c1c58eb0b Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 20:18:02 2015 +0800 ASoC: samsung: s3c24xx-i2s: Fix return value check in s3c24xx_iis_dev_probe() 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> Reviewed-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 427ced4b203dfea4f08b1298cd1f88e19039fca4 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 20:17:46 2015 +0800 ASoC: tfa9879: Fix return value check in tfa9879_i2c_probe() In case of error, the function devm_kzalloc() returns NULL 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> Acked-by: Peter Rosin <peda@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 28ecc0b658e2ac882faa80e7ff1d72d144299bd0 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Apr 15 00:08:15 2015 -0300 ASoC: fsl_ssi: Fix platform_get_irq() error handling We should check whether platform_get_irq() returns a negative number and propagate the error in this case. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54e514b91b95d6441c12a7955addfb9f9d2afc65 Merge: 4fc8adc 6c8c903 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 09:04:38 2015 -0400 Merge branch 'akpm' (patches from Andrew) Merge third patchbomb from Andrew Morton: - various misc things - a couple of lib/ optimisations - provide DIV_ROUND_CLOSEST_ULL() - checkpatch updates - rtc tree - befs, nilfs2, hfs, hfsplus, fatfs, adfs, affs, bfs - ptrace fixes - fork() fixes - seccomp cleanups - more mmap_sem hold time reductions from Davidlohr * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (138 commits) proc: show locks in /proc/pid/fdinfo/X docs: add missing and new /proc/PID/status file entries, fix typos drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic Documentation/spi/spidev_test.c: fix warning drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD type .gitignore: ignore *.tar MAINTAINERS: add Mediatek SoC mailing list tomoyo: reduce mmap_sem hold for mm->exe_file powerpc/oprofile: reduce mmap_sem hold for exe_file oprofile: reduce mmap_sem hold for mm->exe_file mips: ip32: add platform data hooks to use DS1685 driver lib/Kconfig: fix up HAVE_ARCH_BITREVERSE help text x86: switch to using asm-generic for seccomp.h sparc: switch to using asm-generic for seccomp.h powerpc: switch to using asm-generic for seccomp.h parisc: switch to using asm-generic for seccomp.h mips: switch to using asm-generic for seccomp.h microblaze: use asm-generic for seccomp.h arm: use asm-generic for seccomp.h seccomp: allow COMPAT sigreturn overrides ... commit 6c8c90319c0bb1c9e0b68e721359b89ae4f28465 Author: Andrey Vagin <avagin@xxxxxxxxxx> Date: Thu Apr 16 12:49:38 2015 -0700 proc: show locks in /proc/pid/fdinfo/X Let's show locks which are associated with a file descriptor in its fdinfo file. Currently we don't have a reliable way to determine who holds a lock. We can find some information in /proc/locks, but PID which is reported there can be wrong. For example, a process takes a lock, then forks a child and dies. In this case /proc/locks contains the parent pid, which can be reused by another process. $ cat /proc/locks ... 6: FLOCK ADVISORY WRITE 324 00:13:13431 0 EOF ... $ ps -C rpcbind PID TTY TIME CMD 332 ? 00:00:00 rpcbind $ cat /proc/332/fdinfo/4 pos: 0 flags: 0100000 mnt_id: 22 lock: 1: FLOCK ADVISORY WRITE 324 00:13:13431 0 EOF $ ls -l /proc/332/fd/4 lr-x------ 1 root root 64 Mar 5 14:43 /proc/332/fd/4 -> /run/rpcbind.lock $ ls -l /proc/324/fd/ total 0 lrwx------ 1 root root 64 Feb 27 14:50 0 -> /dev/pts/0 lrwx------ 1 root root 64 Feb 27 14:50 1 -> /dev/pts/0 lrwx------ 1 root root 64 Feb 27 14:49 2 -> /dev/pts/0 You can see that the process with the 324 pid doesn't hold the lock. This information is required for proper dumping and restoring file locks. Signed-off-by: Andrey Vagin <avagin@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Acked-by: "J. Bruce Fields" <bfields@xxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 15eb42d674de8da66950f78b5c7202accabe026e Author: Nathan Scott <nathans@xxxxxxxxxx> Date: Thu Apr 16 12:49:35 2015 -0700 docs: add missing and new /proc/PID/status file entries, fix typos docs: add missing and new /proc/PID/status file entries, fix typos Signed-off-by: Nathan Scott <nathans@xxxxxxxxxx> Signed-off-by: Chen Hanxiao <chenhanxiao@xxxxxxxxxxxxxx> Cc: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6da7bb1e9cef9ab956e4223125090e4465f51fb2 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Thu Apr 16 12:49:32 2015 -0700 drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic Change the __raw IO calls to readl/write_relaxed which makes the driver endian agnostic to run properly on big endian systems. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Andrew Victor <linux@xxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 07eec628ffcea711e14644e14d2c83b4150ba1b7 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:49:29 2015 -0700 Documentation/spi/spidev_test.c: fix warning Documentation/spi/spidev_test.c:83:5: warning: no previous prototype for 'unespcape' [-Wmissing-prototypes] fix spelling too. Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 94f919225890a1adb3d44bf5b31ff4cb21d8ee7e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 16 12:49:27 2015 -0700 drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD type The RTC driver supports two flavors of S5M devices: S5M8767-like and S2MPS14-like. On S2MPS13 and S2MPS14 devices the RTC module is the same so we want to re-use the existing support of S2MPS14. However device type was passed from parent MFD driver in platform data structure. This way for the S2MPS13 device the main MFD driver passed device type of 'S2MPS13X'. Instead decouple detecting of device type between main MFD and RTC driver. This allows adding support for other S2MPS14 variations (like S2MPS11 and S2MPS13) easily by adding to mfd/sec-core.c: static const struct mfd_cell s2mps13_devs[] = { { .name = "s2mps14-rtc", } }; Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f4ae9497288336e9a1900e8e351edf71e27b6944 Author: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Date: Thu Apr 16 12:49:24 2015 -0700 .gitignore: ignore *.tar Running make tar-pkg results in following: # Untracked files: # (use "git add <file>..." to include in what will be committed) # # linux-4.0.0-rc3-next-20150313-150225--x86.tar This patch makes git ignore *.tar files. Running 'git ls-files -i --exclude-standard' does not show any tar files excluded from tracking after the change. Signed-off-by: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 17b199d62d7fd732ba02c13433e438ebb368aac9 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Thu Apr 16 12:49:21 2015 -0700 MAINTAINERS: add Mediatek SoC mailing list Add the new list that Mediatek specific patches should also be directed to. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d4144ea6e7cc307e84cd9ca227df7b04a54a2365 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Apr 16 12:49:18 2015 -0700 tomoyo: reduce mmap_sem hold for mm->exe_file The mm->exe_file is currently serialized with mmap_sem (shared) in order to both safely (1) read the file and (2) compute the realpath by calling tomoyo_realpath_from_path, making it an absolute overkill. Good users will, on the other hand, make use of the more standard get_mm_exe_file(), requiring only holding the mmap_sem to read the value, and relying on reference [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fd89a65f155fa890c0130139dfb91684d6da4cfb Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Apr 16 12:49:15 2015 -0700 powerpc/oprofile: reduce mmap_sem hold for exe_file In the future mm->exe_file will be done without mmap_sem serialization, thus isolate and reorganize the related code to make the transition easier. Good users will, make use of the more standard get_mm_exe_file(), requiring only holding the mmap_sem to read the value, and relying on reference counting to make sure that the exe file won't dissappear underneath us while getting the dcookie. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 11163348a23cdbcdca5fb42485418e75f8566a5c Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Apr 16 12:49:12 2015 -0700 oprofile: reduce mmap_sem hold for mm->exe_file sync_buffer() needs the mmap_sem for two distinct operations, both only occurring upon user context switch handling: 1) Dealing with the exe_file. 2) Adding the dcookie data as we need to lookup the vma that backs it. This is done via add_sample() and add_data(). This patch isolates 1), for it will no longer need the mmap_sem for serialization. However, for now, make of the more standard get_mm_exe_file(), requiring only holding the mmap_sem to read the value, and relying on reference counting to make sure that the exe file won't dissappear underneath us while doing the get dcookie. As a consequence, for 2) we move the mmap_sem locking into where we really need it, in lookup_dcookie(). The benefits are twofold: reduce mmap_sem hold times, and cleaner code. [akpm@xxxxxxxxxxxxxxxxxxxx: export get_mm_exe_file for arch/x86/oprofile/oprofile.ko] Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 15beb694c66146e1133b9ff81d54e3ef3daa1d7c Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Thu Apr 16 12:49:09 2015 -0700 mips: ip32: add platform data hooks to use DS1685 driver This modifies the IP32 (SGI O2) platform and reset code to utilize the new rtc-ds1685 driver. The old mc146818rtc.h header is removed and ip32_defconfig is updated as well. Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9e522c0d28d1418c2983ffbc3903f7bed3354180 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:49:07 2015 -0700 lib/Kconfig: fix up HAVE_ARCH_BITREVERSE help text Cc: Yalin Wang <yalin.wang@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8eb68bf75eb7ea73bce88cb9d42efd3bbcece3cd Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:49:04 2015 -0700 x86: switch to using asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. The obsolete sigreturn syscall override is retained in 32-bit mode, and the ia32 syscall overrides are used in the compat case. Remaining definitions were identical. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> 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 d0f138b0853e3b0a0bcd83f3019d34842e12951d Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:49:01 2015 -0700 sparc: switch to using asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. The obsolete sigreturn in COMPAT mode is retained as an override. Remaining definitions are identical. Also corrected missing #define for header reinclusion protection. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1a3aff9ec376666563c7a2223a1d6c19f908919d Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:58 2015 -0700 powerpc: switch to using asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. The obsolete sigreturn in COMPAT mode is retained as an override. Remaining definitions are identical, though they incorrectly appeared in uapi, which has been corrected. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cf7a71b602fe2255b5b42162fa39a3090a1ea2c7 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:55 2015 -0700 parisc: switch to using asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. Definitions were identical. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 97247fd99da723ce2c87a45e714c332b71e3e003 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:53 2015 -0700 mips: switch to using asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. COMPAT definitions retain their overrides and the remaining definitions were identical. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cc2d316fe7b2f39ecacdbd4be04fccbc2476cb7a Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:50 2015 -0700 microblaze: use asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. Since microblaze is 32-bit, the COMPAT seccomp defines are unused and can be dropped. The obsolete sigreturn for seccomp strict mode is retained as an override. Remaining definitions are identical. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6bcf4e9aab9e9f718edebe77712512fc5c4ecd3e Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:47 2015 -0700 arm: use asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. Definitions were identical. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ddaa27ee627fb58d1a68eb1eb196393d64c25d1b Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:44 2015 -0700 seccomp: allow COMPAT sigreturn overrides Most architectures don't need to do much special for the strict-mode seccomp syscall entries. Remove the redundant headers and reduce the others. This patch (of 8): Some architectures may need to override the compat sigreturn definition, as is already possible in the non-compat case. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit be2a7fce397d82b7dc3fdbc61fb0bdab118e65ca Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:40 2015 -0700 arc: do not export symbols in troubleshoot.c print_task_path_n_nm() is local to this file, its only user being show_regs(). Mark the function static and avoid the EXPORT_SYMBOL. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Acked-by: Vineet Gupta <vgupta@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 02d699f1f464410d5753a034dd38c76a1a1647e0 Author: Michal Simek <monstr@xxxxxxxxx> Date: Thu Apr 16 12:48:38 2015 -0700 include/linux/kconfig.h: ese macros which are already defined It is better to use macros which are already available because then there is just one location which needs to be change. [akpm@xxxxxxxxxxxxxxxxxxxx: move IS_ENABLED definition to after the IS_BUILTIN and IS_MODULE definitions] Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 13f6b191aaa11c7fd718d35a0c565f3c16bc1d99 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Apr 16 12:48:35 2015 -0700 memstick: mspro_block: add missing curly braces Using the indenting we can see the curly braces were obviously intended. This is a static checker fix, but my guess is that we don't read enough bytes, because we don't calculate "t_len" correctly. Fixes: f1d82698029b ('memstick: use fully asynchronous request processing') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Alex Dubov <oakad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c3fe5872eb3f5f9e027d61d8a3f5d092168fdbca Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Date: Thu Apr 16 12:48:32 2015 -0700 bfs: correct return values In case of failed memory allocation, the return should be ENOMEM instead of ENOSPC. Return -EIO when sb_bread() fails. Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: Tigran Aivazian <tigran@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f7d3f0f1ed5dce6ea7b833ec19cabe61a6e7ff8 Author: Jiri Slaby <jslaby@xxxxxxx> Date: Thu Apr 16 12:48:29 2015 -0700 bfs: bfad_worker cleanup This kthread is not loop at all due to break at the end of the loop. Make that function linear, with no while loop. And remove an unnecessary cast. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Cc: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c8f33d0bec999a4f2b5c3f9380361b88ce6f6ab0 Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Date: Thu Apr 16 12:48:26 2015 -0700 affs: kstrdup() memory handling There is a possibility of kstrdup() failure upon memory pressure. Therefore, returning ENOMEM even for new_opts. [akpm@xxxxxxxxxxxxxxxxxxxx: cleanup] Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: Taesoo kim <taesoo@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 79bda4d510f80e403ef66fee852f8ccb17308581 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:48:24 2015 -0700 fs/affs: use affs_test_opt() Replace mount option test by affs_test_opt(). Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 34f24835383092098cb4ce5c4eb6e719a9973d68 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:48:21 2015 -0700 fs/affs/super.c: use affs_set_opt() Replace direct mount option assignation by affs_set_opt() macro. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6bf445ce35353fe865664af0dbaeb848f0a2820f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:48:18 2015 -0700 fs/affs/affs.h: add mount option manipulation macros Add clear/set/test affs mount option macros. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a0016ff2867ad25aad9807fb46bd0d85429dd5e8 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:48:15 2015 -0700 fs/affs: use AFFS_MOUNT prefix for mount options Currently, affs still uses direct access on mount_options. This patch prepares to use affs_clear/set/test_opt() like other filesystems. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b796410630a0f090864d7595c6bffbc0136f0f8c Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Date: Thu Apr 16 12:48:13 2015 -0700 adfs: return correct return values Fix the wrong values returned by various functions such as EIO and ENOMEM. Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Taesoo kim <taesoo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9d796e66230205cd3366f5660387bd9ecca9d336 Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Thu Apr 16 12:48:10 2015 -0700 gcov: fix softlockups gcov profiling if enabled with other heavy compile-time instrumentation like KASan could trigger following softlockups: NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [swapper/0:1] Modules linked in: irq event stamp: 22823276 hardirqs last enabled at (22823275): [<ffffffff86e8d10d>] mutex_lock_nested+0x7d9/0x930 hardirqs last disabled at (22823276): [<ffffffff86e9521d>] apic_timer_interrupt+0x6d/0x80 softirqs last enabled at (22823172): [<ffffffff811ed969>] __do_softirq+0x4db/0x729 softirqs last disabled at (22823167): [<ffffffff811edfcf>] irq_exit+0x7d/0x15b CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 3.19.0-05245-gbb33326-dirty #3 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5.1-0-g8936dbb-20141113_115728-nilsson.home.kraxel.org 04/01/2014 task: ffff88006cba8000 ti: ffff88006cbb0000 task.ti: ffff88006cbb0000 RIP: kasan_mem_to_shadow+0x1e/0x1f Call Trace: strcmp+0x28/0x70 get_node_by_name+0x66/0x99 gcov_event+0x4f/0x69e gcov_enable_events+0x54/0x7b gcov_fs_init+0xf8/0x134 do_one_initcall+0x1b2/0x288 kernel_init_freeable+0x467/0x580 kernel_init+0x15/0x18b ret_from_fork+0x7c/0xb0 Kernel panic - not syncing: softlockup: hung tasks Fix this by sticking cond_resched() in gcov_enable_events(). Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 230633d109e35b0a24277498e773edeb79b4a331 Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Apr 16 12:48:07 2015 -0700 kernel/sysctl.c: detect overflows when converting to int When converting unsigned long to int overflows may occur. These currently are not detected when writing to the sysctl file system. E.g. on a system where int has 32 bits and long has 64 bits echo 0x800001234 > /proc/sys/kernel/threads-max has the same effect as echo 0x1234 > /proc/sys/kernel/threads-max The patch adds the missing check in do_proc_dointvec_conv. With the patch an overflow will result in an error EINVAL when writing to the the sysctl file system. Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 534b483a86e6b96f1b5cc03bbe4b696f3daead6d Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Apr 16 12:48:04 2015 -0700 cpumask: don't perform while loop in cpumask_next_and() cpumask_next_and() is looking for cpumask_next() in src1 in a loop and tests if found cpu is also present in src2. remove that loop, perform cpumask_and() of src1 and src2 first and use that new mask to find cpumask_next(). Apart from removing while loop, ./bloat-o-meter on x86_64 shows add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-8 (-8) function old new delta cpumask_next_and 62 54 -8 Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dfcce791fb0ad06f3f0b745a23160b9d8858fe39 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Thu Apr 16 12:48:01 2015 -0700 fs/exec.c:de_thread: move notify_count write under lock We set sig->notify_count = -1 between RELEASE and ACQUIRE operations: spin_unlock_irq(lock); ... if (!thread_group_leader(tsk)) { ... for (;;) { sig->notify_count = -1; write_lock_irq(&tasklist_lock); There are no restriction on it so other processors may see this STORE mixed with other STOREs in both areas limited by the spinlocks. Probably, it may be reordered with the above sig->group_exit_task = tsk; sig->notify_count = zap_other_threads(tsk); in some way. Set it under tasklist_lock locked to be sure nothing will be reordered. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e399cd144d8500ffb5d40fa6848890e2580a80a Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Apr 16 12:47:59 2015 -0700 prctl: avoid using mmap_sem for exe_file serialization Oleg cleverly suggested using xchg() to set the new mm->exe_file instead of calling set_mm_exe_file() which requires some form of serialization -- mmap_sem in this case. For archs that do not have atomic rmw instructions we still fallback to a spinlock alternative, so this should always be safe. As such, we only need the mmap_sem for looking up the backing vm_file, which can be done sharing the lock. Naturally, this means we need to manually deal with both the new and old file reference counting, and we need not worry about the MMF_EXE_FILE_CHANGED bits, which can probably be deleted in the future anyway. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Suggested-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 90f31d0ea88880f780574f3d0bb1a227c4c66ca3 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Thu Apr 16 12:47:56 2015 -0700 mm: rcu-protected get_mm_exe_file() This patch removes mm->mmap_sem from mm->exe_file read side. Also it kills dup_mm_exe_file() and moves exe_file duplication into dup_mmap() where both mmap_sems are locked. [akpm@xxxxxxxxxxxxxxxxxxxx: fix comment typo] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0ec62afeb143a34ce78143cf442f879ef68382f7 Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Apr 16 12:47:53 2015 -0700 Doc/sysctl/kernel.txt: document threads-max File /proc/sys/kernel/threads-max controls the maximum number of threads that can be created using fork(). [akpm@xxxxxxxxxxxxxxxxxxxx: fix typo, per Guenter] Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 16db3d3f1170fb0efca652c9378ce7c5f5cb4232 Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Apr 16 12:47:50 2015 -0700 kernel/sysctl.c: threads-max observe limits Users can change the maximum number of threads by writing to /proc/sys/kernel/threads-max. With the patch the value entered is checked against the same limits that apply when fork_init is called. Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ac1b398de1ef94aeee8ba87b0120763526572a6e Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Apr 16 12:47:47 2015 -0700 kernel/fork.c: avoid division by zero PAGE_SIZE is not guaranteed to be equal to or less than 8 times the THREAD_SIZE. E.g. architecture hexagon may have page size 1M and thread size 4096. This would lead to a division by zero in the calculation of max_threads. With 32-bit calculation there is no solution which delivers valid results for all possible combinations of the parameters. The code is only called once. Hence a 64-bit calculation can be used as solution. [akpm@xxxxxxxxxxxxxxxxxxxx: use clamp_t(), per Oleg] Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ff691f6e03815dc8f99461ea509df863a879fc3a Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Apr 16 12:47:44 2015 -0700 kernel/fork.c: new function for max_threads PAGE_SIZE is not guaranteed to be equal to or less than 8 times the THREAD_SIZE. E.g. architecture hexagon may have page size 1M and thread size 4096. This would lead to a division by zero in the calculation of max_threads. With this patch the buggy code is moved to a separate function set_max_threads. The error is not fixed. After fixing the problem in a separate patch the new function can be reused to adjust max_threads after adding or removing memory. Argument mempages of function fork_init() is removed as totalram_pages is an exported symbol. The creation of separate patches for refactoring to a new function and for fixing the logic was suggested by Ingo Molnar. Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ea7f5e25ec271909451b7dc17be37581b888de6 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Thu Apr 16 12:47:41 2015 -0700 fork_init: update max_threads comment The comment explaining what value max_threads is set to is outdated. The maximum memory consumption ratio for thread structures was 1/2 until February 2002, then it was briefly changed to 1/16 before being set to 1/8 which we still use today. The comment was never updated to reflect that change, it's about time. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 35f71bc0a09a45924bed268d8ccd0d3407bc476f Author: Michal Hocko <mhocko@xxxxxxx> Date: Thu Apr 16 12:47:38 2015 -0700 fork: report pid reservation failure properly copy_process will report any failure in alloc_pid as ENOMEM currently which is misleading because the pid allocation might fail not only when the memory is short but also when the pid space is consumed already. The current man page even mentions this case: : EAGAIN : : A system-imposed limit on the number of threads was encountered. : There are a number of limits that may trigger this error: the : RLIMIT_NPROC soft resource limit (set via setrlimit(2)), which : limits the number of processes and threads for a real user ID, was : reached; the kernel's system-wide limit on the number of processes : and threads, /proc/sys/kernel/threads-max, was reached (see : proc(5)); or the maximum number of PIDs, /proc/sys/kernel/pid_max, : was reached (see proc(5)). so the current behavior is also incorrect wrt. documentation. POSIX man page also suggest returing EAGAIN when the process count limit is reached. This patch simply propagates error code from alloc_pid and makes sure we return -EAGAIN due to reservation failure. This will make behavior of fork closer to both our documentation and POSIX. alloc_pid might alsoo fail when the reaper in the pid namespace is dead (the namespace basically disallows all new processes) and there is no good error code which would match documented ones. We have traditionally returned ENOMEM for this case which is misleading as well but as per Eric W. Biederman this behavior is documented in man pid_namespaces(7) : If the "init" process of a PID namespace terminates, the kernel : terminates all of the processes in the namespace via a SIGKILL signal. : This behavior reflects the fact that the "init" process is essential for : the correct operation of a PID namespace. In this case, a subsequent : fork(2) into this PID namespace will fail with the error ENOMEM; it is : not possible to create a new processes in a PID namespace whose "init" : process has terminated. and introducing a new error code would be too risky so let's stick to ENOMEM for this case. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 69828dce7af2cb6d08ef5a03de687d422fb7ec1f Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Apr 16 12:47:35 2015 -0700 signal: remove warning about using SI_TKILL in rt_[tg]sigqueueinfo Sending SI_TKILL from rt_[tg]sigqueueinfo was deprecated, so now we issue a warning on the first attempt of doing it. We use WARN_ON_ONCE, which is not informative and, what is worse, taints the kernel, making the trinity syscall fuzzer complain false-positively from time to time. It does not look like we need this warning at all, because the behaviour changed quite a long time ago (2.6.39), and if an application relies on the old API, it gets EPERM anyway and can issue a warning by itself. So let us zap the warning in kernel. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 64a4096c5cdab377b6e1f44008ee8b2636db579d Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Apr 16 12:47:32 2015 -0700 ptrace: ptrace_detach() can no longer race with SIGKILL ptrace_detach() re-checks ->ptrace under tasklist lock and calls release_task() if __ptrace_detach() returns true. This was needed because the __TASK_TRACED tracee could be killed/untraced, and it could even pass exit_notify() before we take tasklist_lock. But this is no longer possible after 9899d11f6544 "ptrace: ensure arch_ptrace/ptrace_request can never race with SIGKILL". We can turn these checks into WARN_ON() and remove release_task(). While at it, document the setting of child->exit_code. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Pavel Labath <labath@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b72c186999e689cb0b055ab1c7b3cd8fffbeb5ed Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Apr 16 12:47:29 2015 -0700 ptrace: fix race between ptrace_resume() and wait_task_stopped() ptrace_resume() is called when the tracee is still __TASK_TRACED. We set tracee->exit_code and then wake_up_state() changes tracee->state. If the tracer's sub-thread does wait() in between, task_stopped_code(ptrace => T) wrongly looks like another report from tracee. This confuses debugger, and since wait_task_stopped() clears ->exit_code the tracee can miss a signal. Test-case: #include <stdio.h> #include <unistd.h> #include <sys/wait.h> #include <sys/ptrace.h> #include <pthread.h> #include <assert.h> int pid; void *waiter(void *arg) { int stat; for (;;) { assert(pid == wait(&stat)); assert(WIFSTOPPED(stat)); if (WSTOPSIG(stat) == SIGHUP) continue; assert(WSTOPSIG(stat) == SIGCONT); printf("ERR! extra/wrong report:%x\n", stat); } } int main(void) { pthread_t thread; pid = fork(); if (!pid) { assert(ptrace(PTRACE_TRACEME, 0,0,0) == 0); for (;;) kill(getpid(), SIGHUP); } assert(pthread_create(&thread, NULL, waiter, NULL) == 0); for (;;) ptrace(PTRACE_CONT, pid, 0, SIGCONT); return 0; } Note for stable: the bug is very old, but without 9899d11f6544 "ptrace: ensure arch_ptrace/ptrace_request can never race with SIGKILL" the fix should use lock_task_sighand(child). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reported-by: Pavel Labath <labath@xxxxxxxxxx> Tested-by: Pavel Labath <labath@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8de560def7426a770ce8f967b3c3534bc9a2f683 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Apr 16 12:47:26 2015 -0700 fs/fat: comment fix, fat_bits can be also 32 Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58932ef7f2f28e89ee37c6e2be94885e5078ba77 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Apr 16 12:47:24 2015 -0700 fs/fat: remove unnecessary includes 'fat.h' includes <linux/buffer_head.h> which includes <linux/fs.h> which includes all the header files required for all *.c files fat filesystem. [akpm@xxxxxxxxxxxxxxxxxxxx: fs/fat/iode.c needs seq_file.h] [sfr@xxxxxxxxxxxxxxxx: put one actually necessary include file back] Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a40a7d9d07b818ce9aa9f6ddf86076a5eef2d8f9 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Apr 16 12:47:21 2015 -0700 fs/fat: remove unnecessary defintion '*sb' never used, so let's remote it and pass inode->i_sb directly to the MSDOS_SB. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit db579e76f06e78de011b2cb7e028740a82f5558c Author: Thomas Hebb <tommyhebb@xxxxxxxxx> Date: Thu Apr 16 12:47:18 2015 -0700 hfsplus: don't store special "osx" xattr prefix on-disk On Mac OS X, HFS+ extended attributes are not namespaced. Since we want to be compatible with OS X filesystems and yet still support the Linux namespacing system, the hfsplus driver implements a special "osx" namespace that is reported for any attribute that is not namespaced on-disk. However, the current code for getting and setting these unprefixed attributes is broken. hfsplus_osx_setattr() and hfsplus_osx_getattr() are passed names that have already had their "osx." prefixes stripped by the generic functions. The functions first, quite correctly, check those names to make sure that they aren't prefixed with a known namespace, which would allow namespace access restrictions to be bypassed. However, the functions then prepend "osx." to the name they're given before passing it on to hfsplus_getattr() and hfsplus_setattr(). Not only does this cause the "osx." prefix to be stored on-disk, defeating its purpose, it also breaks the check for the special "com.apple.FinderInfo" attribute, which is reported for all files, and as a consequence makes some userspace applications (e.g. GNU patch) fail even when extended attributes are not otherwise in use. There are five commits which have touched this particular code: 127e5f5ae51e ("hfsplus: rework functionality of getting, setting and deleting of extended attributes") b168fff72109 ("hfsplus: use xattr handlers for removexattr") bf29e886b242 ("hfsplus: correct usage of HFSPLUS_ATTR_MAX_STRLEN for non-English attributes") fcacbd95e121 ("fs/hfsplus: move xattr_name allocation in hfsplus_getxattr()") ec1bbd346f18 ("fs/hfsplus: move xattr_name allocation in hfsplus_setxattr()") The first commit creates the functions to begin with. The namespace is prepended by the original code, which I believe was correct at the time, since hfsplus_?etattr() stripped the prefix if found. The second commit removes this behavior from hfsplus_?etattr() and appears to have been intended to also remove the prefixing from hfsplus_osx_?etattr(). However, what it actually does is remove a necessary strncpy() call completely, breaking the osx namespace entirely. The third commit re-adds the strncpy() call as it was originally, but doesn't mention it in its commit message. The final two commits refactor the code and don't affect its functionality. This commit does what b168fff attempted to do (prevent the prefix from being added), but does it properly, instead of passing in an empty buffer (which is what b168fff actually did). Fixes: b168fff72109 ("hfsplus: use xattr handlers for removexattr") Signed-off-by: Thomas Hebb <tommyhebb@xxxxxxxxx> Cc: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Cc: Sergei Antonov <saproj@xxxxxxxxx> Cc: Anton Altaparmakov <anton@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Christian Kujau <lists@xxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Viacheslav Dubeyko <slava@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 059a704c43ea8800a689cf90fadb48f1e985c7eb Author: Sergei Antonov <saproj@xxxxxxxxx> Date: Thu Apr 16 12:47:15 2015 -0700 hfsplus: fix expand when not enough available space Fix a bug which is reproduced as follows. Create a file: echo abc > test_file Try to expand the file beyond available space: truncate --size=<size exceeding available space> test_file Since HFS+ does not support file size > allocated size, truncate should fail. However, it ends successfully. The driver returns success despite having been unable to allocate the requested space for the file. Also filesystem check finds an error: Checking catalog file. Incorrect size for file test_file (It should be 469094400 instead of 1000000000) Add a piece of code analogous to code in the fat driver. Now a proper error is returned and filesystem remains consistent. Signed-off-by: Sergei Antonov <saproj@xxxxxxxxx> Cc: Vyacheslav Dubeyko <slava@xxxxxxxxxxx> Cc: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anton Altaparmakov <anton@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Sougata Santra <sougata@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 27a4e3884e9c6497f96cc28256c3cdaa93d4cf97 Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Thu Apr 16 12:47:12 2015 -0700 hfsplus: incorrect return value In case of memory allocation error, the return should be -ENOMEM, instead of -ENOSPC. Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx> Reviewed-by: Sergei Antonov <saproj@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7ce844a20eb58c9823205e091b815163464e9d19 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:47:09 2015 -0700 fs/hfsplus: replace if/BUG by BUG_ON Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1ad8d63d63e21d711d97a4cd1105136bd0cfd647 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:47:07 2015 -0700 fs/hfsplus: use bool instead of int for is_known_namespace() return value is_known_namespace() only returns true/false. Also remove inline and let compiler decide what to do with static functions. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 73d28d571d09082e132340ae4ad4d973211b7668 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:47:04 2015 -0700 fs/hfsplus: atomically set inode->i_flags According to commit 5f16f3225b06 ("ext4: atomically set inode->i_flags in ext4_set_inode_flags()"). Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5e61473ea9f1ed6537ffaf6bf1cb60655f0d1b2c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:47:01 2015 -0700 fs/hfsplus: move xattr_name allocation in hfsplus_setxattr() security/trusted/user/osx setxattr did the same xattr_name initialization. Move that operation in hfsplus_setxattr(). Tested with security/trusted/user getfattr/setfattr Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a3cef4cd6886c755d2148739699751900b51a365 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:46:58 2015 -0700 fs/hfsplus: move xattr_name allocation in hfsplus_getxattr() security/trusted/user/osx getxattr did the same xattr_name initialization. Move that operation in hfsplus_getxattr(). Tested with security/trusted/user getfattr/setfattr Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f01fa5fb35c132587855be788297771e94b84330 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Apr 16 12:46:56 2015 -0700 hfsplus: add missing curly braces in hfsplus_delete_cat() This doesn't change how the code works, but clearly the curly braces were intended. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Vyacheslav Dubeyko <slava@xxxxxxxxxxx> Cc: Sougata Santra <sougata@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 13f244852f1197b623af2d3076fae197d2e038ec Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Thu Apr 16 12:46:53 2015 -0700 hfs: incorrect return values In case of memory allocation error, the return should be -ENOMEM, instead of -ENOSPC. Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit faea2c5311e162f5ceda8e0a261a9f9ece6f921d Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:50 2015 -0700 nilfs2: use inode_set_flags() in nilfs_set_inode_flags() Use inode_set_flags() to atomically set i_flags instead of clearing out the S_IMMUTABLE, S_APPEND, etc. flags and then setting them from the FS_IMMUTABLE_FL, FS_APPEND_FL flags to avoid a race where an immutable file has the immutable flag cleared for a brief window of time. This is a similar fix to commit 5f16f3225b06 ("ext4: atomically set inode->i_flags in ext4_set_inode_flags()"). Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0ce187c4f32d77eae077f249aa10656b5eef5f28 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:47 2015 -0700 nilfs2: put out gfp mask manipulation from nilfs_set_inode_flags() nilfs_set_inode_flags() function adjusts gfp-mask of inode->i_mapping as well as i_flags, however, this coupling of operations is not appropriate. For instance, nilfs_ioctl_setflags(), one of three callers of nilfs_set_inode_flags(), doesn't need to reinitialize the gfp-mask at all. In addition, nilfs_new_inode(), another caller of nilfs_set_inode_flags(), doesn't either because it has already initialized the gfp-mask. Only __nilfs_read_inode(), the remaining caller, needs it. So, this moves the gfp mask manipulation to __nilfs_read_inode() from nilfs_set_inode_flags(). Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3377f843cf80e33d63f1a3ded67fd129a298c6b0 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:45 2015 -0700 nilfs2: fix gcc warning at nilfs_checkpoint_is_mounted() Fix the following build warning: fs/nilfs2/super.c: In function 'nilfs_checkpoint_is_mounted': fs/nilfs2/super.c:1023:10: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if (cno < 0 || cno > nilfs->ns_cno) ^ This warning indicates that the comparision "cno < 0" is useless because variable "cno" has an unsigned integer type "__u64". Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 53a2c3bdf4132c2c9cc3581e15265fd962f34fa8 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:42 2015 -0700 nilfs2: improve execution time of NILFS_IOCTL_GET_CPINFO ioctl The older a filesystem gets, the slower lscp command becomes. This is because nilfs_cpfile_do_get_cpinfo() function meets more hole blocks as the start offset of valid checkpoint numbers gets bigger. This reduces the overhead by skipping hole blocks efficiently with nilfs_mdt_find_block() helper. A measurement result of this patch is as follows: Before: $ time lscp CNO DATE TIME MODE FLG BLKCNT ICNT 5769303 2015-02-22 19:31:33 cp - 108 1 5769304 2015-02-22 19:38:54 cp - 108 1 real 0m0.182s user 0m0.003s sys 0m0.180s After: $ time lscp CNO DATE TIME MODE FLG BLKCNT ICNT 5769303 2015-02-22 19:31:33 cp - 108 1 5769304 2015-02-22 19:38:54 cp - 108 1 real 0m0.003s user 0m0.001s sys 0m0.002s Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fa33915c92b43f5a4e95649f81303cc089b10dc6 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:39 2015 -0700 nilfs2: add helper to find existent block on metadata file Add a new metadata file function, nilfs_mdt_find_block(), which finds an existent block on a metadata file in a given range of blocks. This function skips continuous hole blocks efficiently by using nilfs_bmap_seek_key(). Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5b20384fb32cc3f93857f44fb84736d6d62a9917 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:36 2015 -0700 nilfs2: add bmap function to seek a valid key Add a new bmap function, nilfs_bmap_seek_key(), which seeks a valid entry and returns its key starting from a given key. This function can be used to skip hole blocks efficiently. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3568a13f4089aac90b3763a2b6c293cd2b638ec1 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:34 2015 -0700 nilfs2: unify type of key arguments in bmap interface The type of key arguments in block mapping interface varies depending on function. For instance, nilfs_bmap_lookup_at_level() takes "__u64" for its key argument whereas nilfs_bmap_lookup() takes "unsigned long". This fits them to "__u64" to eliminate the variation. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0de6d6b9a2ba21ae28b2420f6684021904833f68 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:31 2015 -0700 nilfs2: use bgl_lock_ptr() Simplify nilfs_mdt_bgl_lock() by utilizing bgl_lock_ptr() helper in <linux/blockgroup_lock.h>. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ead8ecffa3e180202c1096a39f14bbecffb139a1 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:28 2015 -0700 nilfs2: use set_mask_bits() for operations on buffer state bitmap nilfs_forget_buffer(), nilfs_clear_dirty_page(), and nilfs_segctor_complete_write() are using a bunch of atomic bit operations against buffer state bitmap. This reduces the number of them by utilizing set_mask_bits() macro. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6fb7a61e98ac311a65bc652a12611d9899994f49 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:25 2015 -0700 nilfs2: do not use async write flag for segment summary buffers The async write flag is introduced to nilfs2 in the commit 7f42ec394156 ("nilfs2: fix issue with race condition of competition between segments for dirty blocks"), but the flag only makes sense for data buffers and btree node buffers. It is not needed for segment summary buffers. This gets rid of the latter uses as part of refactoring of atomic bit operations on buffer state bitmap. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Vyacheslav Dubeyko <slava@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f8ccad2164d406e60c0fa91206258f608fdb0148 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:46:23 2015 -0700 befs: replace typedef befs_inode_info by structure See Documentation/CodingStyle Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 038428fcf7f05e5da46de617831a8230e1a2551d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:46:20 2015 -0700 befs: replace typedef befs_sb_info by structure See Documenation/CodingStyle Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 09ad0eae5ed0f354df892b1cfb868338dc578c5c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:46:17 2015 -0700 befs: replace typedef befs_mount_options by structure See Documentation/CodingStyle Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a737e835e5769ef22897179ed7f82b1fc50bfa58 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:46:14 2015 -0700 rtc: use more standard kernel logging styles Neaten the logging a bit by adding #define pr_fmt Miscellanea: o Remove __FILE__/__func__ uses o Coalesce formats adding missing spaces o Align arguments o (rtc-cmos) Integrated 2 consecutive messages Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f539a8acf1070557aef9c5df682751ba2af1005f Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Apr 16 12:46:11 2015 -0700 drivers/rtc/rtc-hym8563.c: fix swapped enable/disable of clockout control bit The hym8563 datasheet describes the clock output control-bit as "when set to logic 0, the square wave output is enable, when set to logic 1, the CLKOUT output is inhibited". But in reality the setting is exactly opposite. Before now, the clock output was not really used, but on the rk3288 soc this generated clock is used to supply the temperature sensor block and the swapped bit value prevented it from working. With the corrected value, the tsadc now reports correct values. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 492da68c8c3babc573208e057a9011d9489f2b5a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 16 12:46:08 2015 -0700 drivers/rtc/rtc-s3c.c: remove one superfluous rtc_valid_tm() check s3c_rtc_gettime() already returns the result of rtc_valid_tm() on the obtained time so get rid of another call to rtc_valid_tm(). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d9094b6c7fc87d1909143540c1e2fddde9129b3 Author: Lokesh Vutla <lokeshvutla@xxxxxx> Date: Thu Apr 16 12:46:05 2015 -0700 drivers/rtc/rtc-omap.c: use module_platform_driver module_platform_driver_probe() prevents driver from requesting probe deferral. So using module_platform_drive() to support probe deferral. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8608976e2bc9c1df090e1b346c65ec1405e9d03d Author: Lokesh Vutla <lokeshvutla@xxxxxx> Date: Thu Apr 16 12:46:03 2015 -0700 drivers/rtc/Kconfig: update Kconfig for OMAP RTC RTC is present in AM43xx and DRA7xx also. Updating the Kconfig to depend on ARCH_OMAP or ARCH_DAVINCI Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c28bd07c20776cc04aecf04ba5be53fa5fa6dd2 Author: Lokesh Vutla <lokeshvutla@xxxxxx> Date: Thu Apr 16 12:46:00 2015 -0700 drivers/rtc/rtc-omap.c: unlock and lock rtc registers before and after register writes RTC module contains a kicker mechanism to prevent any spurious writes from changing the register values. This mechanism requires two MMR writes to the KICK0 and KICK1 registers with exact data values before the kicker lock mechanism is released. Currently the driver release the lock in the probe and leaves it enabled until the rtc driver removal. This eliminates the idea of preventing spurious writes when RTC driver is loaded. So implement rtc lock and unlock functions before and after register writes. This is as advised by Paul to implement lock and unlock functions in the driver and not to unlock and leave it in probe. The same discussion can be seen here: http://www.mail-archive.com/linux-omap%40vger.kernel.org/msg111588.html Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 202fe4c27f427c48ca5660277d743ee8b43fc200 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 16 12:45:57 2015 -0700 drivers/rtc/rtc-s3c.c: fix failed first read of RTC time Initialize the device time (if it is wrong) before registering RTC device to fix following error message during rtc-s3c probe: [ 2.215414] rtc (null): read_time: fail to read [ 2.216322] s3c-rtc 10070000.rtc: rtc core: registered s3c as rtc1 Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 521fca18e828cddc94535a1ea5ac33460f1de679 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Thu Apr 16 12:45:54 2015 -0700 rtc: hctosys: use function name in the error log Use function name in the error log instead of __FILE__. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0bddb512d9c8e1adefc7416ef6c71cba05d62c8 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Thu Apr 16 12:45:51 2015 -0700 drivers/rtc/interface.c: __rtc_read_time: reduce log level __rtc_read_time logs should be debug logs instead of error logs. For example, when the RTC clock is not set, it's not really useful to print a kernel error log every time someone tries to read the clock: ~ # hwclock -r [ 604.508263] rtc rtc0: read_time: fail to read hwclock: RTC_RD_TIME: Invalid argument If there's a real error, it's likely that lower level or higher level code will tell it anyway. Make these logs debug logs, and also print the error code for the read failure. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 182683e955af4dd2324427129f3b90558d644066 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Thu Apr 16 12:45:48 2015 -0700 drivers/rtc/class.c: initialize rtc name early In some error cases RTC name is used before it is initialized: rtc-rs5c372 0-0032: clock needs to be set rtc-rs5c372 0-0032: rs5c372b found, 24hr, driver version 0.6 rtc (null): read_time: fail to read rtc-rs5c372 0-0032: rtc core: registered rtc-rs5c372 as rtc0 Fix by initializing the name early. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5281f94ae7f54d2d1a48dbc10223fd12d2aea716 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 16 12:45:45 2015 -0700 drivers/rtc/rtc-s5m.c: add support for S2MPS13 RTC The S2MPS13 RTC is almost the same as S2MPS14. The differences when updating alarm are: 1. Set WUDR+AUDR field instead of WUDR+RUDR. 2. Clear the AUDR field later (it is not auto-cleared). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c6f84f8df02a17ad3da5e38abc8b8abff122d39 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:45:43 2015 -0700 MAINTAINERS: Add Alexandre Belloni as an RTC maintainer I've noticed that most of the patches for the RTC subsystem are currently either taken directly by Andrew or going through another maintainer's tree, quite often without an Acked-by or Reviewed-by tag. I'd like to propose myself as the RTC subsystem co-maintainer, to mainly help Alessandro reviewing incoming patches and maintain a subsystem tree to avoid having the RTC patches going through trees when they have no particular dependencies. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ba17220878bf74b95ea24de568939e7b9e1b02db Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Apr 16 12:45:40 2015 -0700 rtc: driver for Conexant Digicolor CX92755 on-chip RTC Add driver for the RTC hardware block on the Conexant CX92755 SoC, from the Digicolor series of SoCs. Tested on the Equinox evaluation board for the CX92755 chip. [akpm@xxxxxxxxxxxxxxxxxxxx: build command arrays at compile-time] Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 71b800b628570ce315a3f820b79969e460cd297f Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Apr 16 12:45:37 2015 -0700 rtc: digicolor: document device tree binding Add a device tree binding documentation to the Real Time Clock hardware block on the Conexant CX92755 SoC. The CX92755 is from the Digicolor SoCs series. Other SoCs in that series may share the same hardware block. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b3288a43b4dacd2b4d2b24726d7b469d8ade5120 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Apr 16 12:45:34 2015 -0700 drivers/rtc/rtc-hym8563.c: return clock rate even when clock is disabled When the clock is disabled, do not return a rate of 0 but instead return the rate the clock will be running at after it gets enabled. This prevents problems when the core clock code is trying to determine a suitable rate, while the clock is still off. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d174a024007dd543fd066cffd8eb727806a62da6 Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Date: Thu Apr 16 12:45:32 2015 -0700 drivers/rtc/rtc-da9052.c: register ability of alarm to wake device from suspend Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Tested-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ae824c484c85d77e3f272515aafb410bbade13fa Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Date: Thu Apr 16 12:45:29 2015 -0700 drivers/rtc/rtc-da9052.c: add constraints to set valid year Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Tested-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 03cc1625e1f2e9fc6910af4174c942d56292f556 Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Date: Thu Apr 16 12:45:26 2015 -0700 drivers/rtc/rtc-da9052.c: add extra reads with timeouts to avoid returning partially updated values The RTC is in a different clock domain so a quick read after write can retrieve a mangled value of the old/new values Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Tested-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 52ef84d566dc145b4d469f06667c5fa3118fdd44 Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Thu Apr 16 12:45:23 2015 -0700 drivers/rtc/rtc-ds1685.c: fix sparse warnings Fix two minor sparse warnings: CHECK drivers/rtc/rtc-ds1685.c drivers/rtc/rtc-ds1685.c:2178:1: warning: function 'ds1685_rtc_poweroff' with external linkage has definition drivers/rtc/rtc-ds1685.c:802:23: warning: Using plain integer as NULL pointer Fixes: aaaf5fbf56f1 ("rtc: add driver for DS1685 family of real time clocks") Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 269812de8b1c28cd477a3f9cc9793047f0de530e Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Thu Apr 16 12:45:21 2015 -0700 drivers/rtc/rtc-ds1685.c: remove .owner assignment from platform_driver The rtc driver core now sets the platform_driver 'owner' property, so remove the assignment from the DS1685 driver. Fixes: aaaf5fbf56f1: "rtc: add driver for DS1685 family of real time clocks" Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ac2a2726661a8f8f74af0d499cb16b3adf90d764 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 16 12:45:18 2015 -0700 drivers/rtc/rtc-ab-b5ze-s3.c: constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 24e1455493dae5ce4b15f83d6ad549befd15f980 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Apr 16 12:45:15 2015 -0700 drivers/rtc/rtc-s3c.c: delete duplicate clock control The current functions in s3c-rtc driver execute clk_enable/disable() to control clocks and some functions execute s3c_rtc_alarm_clk_enable() unnecessarily. So this patch deletes the duplicate clock control and spilts s3c_rtc_alarm_clk_enable() out as s3c_rtc_enable_clk()/s3c_rtc_disable_clk() to improve readability. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Inki Dae <inki.dae@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aed98b9a1be6fcf1685dfd37f0a3e78e92a21f7d Author: Floris Bos <bos@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:45:12 2015 -0700 rtc: hctosys: do not treat lack of RTC device as error When using device trees on the ARM platform, it is not certain at compile time whether or not the system will have a RTC. If one enables CONFIG_HCTOSYS just in case the system booted has a RTC, and it turns out not to be, this will result in a big fat "unable to open rtc device" error being printed to console, even when "quiet" is set in the kernel cmdline. Fix this by outputting the message with loglevel info instead. Signed-off-by: Floris Bos <bos@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 86e66604fca053e5ecb2427538aa233637119409 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Thu Apr 16 12:45:09 2015 -0700 drivers/rtc/rtc-x1205.c: use sign_extend32() for sign extension Despite its name, sign_extend32() is safe to use for 8 bit types too. (See https://lkml.org/lkml/2015/1/18/289). Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e706974dc3e2f44891e736f4a96eb88b60356178 Author: Peter Robinson <pbrobinson@xxxxxxxxx> Date: Thu Apr 16 12:45:07 2015 -0700 drivers/rtc/rtc-em3027.c: add device tree support Set the of_match_table for this driver so that devices can be described in the device tree. This device is used in the Trimslice and is already defined in the Trimslice device tree. Signed-off-by: Peter Robinson <pbrobinson@xxxxxxxxx> Cc: Mike Rapoport <mike@xxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f48b21bdfede2c06e966258317a3bb4be3e4f25 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Apr 16 12:45:04 2015 -0700 rtc: stmp3xxx: use optional crystal in low power states The rtc's status register allows to determine if a 32k crystal is connected to keep the rtc running in low power states provided the corresponding fuse bits were blown correctly during production. (In case they were not, the right frequency can be stated in the device tree.) If there is no such crystal available force the 24 MHz XTAL clock to keep running to retain the right date and time. Otherwise use the crystal to save some power. It would be nice to only switch to the crystal when the XTAL clock is about to be disabled and keep the crystal off when unneeded because XTAL is always on while the chip is powered on. But as sudden power loss isn't detectable this is not save. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b0c57b5941c4a42698d845ada6a76feeba2d1be9 Author: Robert Kmiec <robert.r.kmiec@xxxxxxxxx> Date: Thu Apr 16 12:45:01 2015 -0700 drivers/rtc/rtc-pcf8563.c: simplify return from function This commit does not change any logic here. It just makes the code easier to read. This is how it looked like: If err != 0 return err; else return 0; Signed-off-by: Robert Kmiec <robert.r.kmiec@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e54abac1b8e0b7febffdbad37b605daef1cfcff Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Thu Apr 16 12:44:58 2015 -0700 kasan: Makefile: shut up warnings if CONFIG_COMPILE_TEST=y It might be annoying to constantly see this: scripts/Makefile.kasan:16: Cannot use CONFIG_KASAN: -fsanitize=kernel-address is not supported by compiler while performing allmodconfig/allyesconfig build tests. Disable this warning if CONFIG_COMPILE_TEST=y. Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6ceafb880c218a14e0cf8d08499138a1a9775fb2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:44:56 2015 -0700 fs/binfmt_misc.c: simplify entry_status() sprintf() reliably returns the number of characters printed, so we don't need to ask strlen() where we are. Also replace calling sprintf("%02x") in a loop with the much simpler bin2hex(). [akpm@xxxxxxxxxxxxxxxxxxxx: it's odd to include kernel.h after everything else] Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e0df7e1faebad9a7ac0931d03f86fcd5c0d1896e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:53 2015 -0700 checkpatch: avoid "spaces required around that ':'" false positive Since commit 1f65f947a6a8 ("checkpatch: add checks for question mark and colon spacing") back in 2008, checkpatch has reported false positive for asm volatile uses of "::" checkpatch thinks colons should always have spaces around it. Add an exception for colons with colons on either side for this valid asm volatile (and c++) use. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Yehuda Yitschak <yehuday@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 323b267faff4db5f2424b6c09ab78a272393b69e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:50 2015 -0700 checkpatch: fix --fix use with a patch of multiple files If a patch touches multiple files, the --fix and --fix-inplace option doesn't keep the proper line count and makes the new patch file not able to be applied via bad offset line numbers when lines are added or deleted by the --fix option. Dunno how that extra backslash snuck in there. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e15f431fe2d53cd4673510736da7d4fa1090e096 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Apr 16 12:44:47 2015 -0700 errno.h: Improve ENOSYS's comment ENOSYS is the mechanism used by user code to detect whether the running kernel implements a given system call. It should not be returned by anything except an unimplemented system call. Unfortunately, it is rather frequently used in the kernel to indicate that various new functions of existing system calls are not implemented. This should be discouraged. Improve the comment in errno.h to help clarify ENOSYS's purpose. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 91c9afaf97ee554d2cd3042a5ad01ad21c99e8c4 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Apr 16 12:44:44 2015 -0700 checkpatch.pl: new instances of ENOSYS are errors ENOSYS means that a nonexistent system call was called. We have a bad habit of using it for things like invalid operations on otherwise valid syscalls. We should avoid this in new code. Pervasive incorrect usage of ENOSYS came up at the kernel summit ABI review discussion. Let's see if checkpatch can help. I'll submit a separate patch for include/uapi/asm-generic/errno.h. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c17893c7407fbe988f5901596c3e5e75c0dc0f67 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:42 2015 -0700 checkpatch: add a test for const with __read_mostly uses const objects shouldn't be __read_mostly. They are read-only. Marking these objects as __read_mostly causes section conflicts with LTO linking. So add a test to try to avoid this issue. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d7fe8065ad891a2ad38b73ff10b97d08f0fb3b0b Author: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Date: Thu Apr 16 12:44:39 2015 -0700 checkpatch: improve operator spacing check Code such as: x = timercmp(&now, &end, <); Will currently trigger a checkpatch error. e.g. ERROR: spaces required around that '<' This is because the "Ignore operators passed as parameters" check looks only for a comma following the operator. Improve the check by also looking for a close parenthesis. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b598b67060f14eb8c34d0cef1db4727dab56ef91 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:36 2015 -0700 checkpatch: add 'Prefer ARRAY_SIZE" test Add a test for sizeof(foo)/sizeof(foo[0]) that could be ARRAY_SIZE(foo). Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6d07d01b62b2d81500803058f736b46677ec873a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:33 2015 -0700 checkpatch: add uart_ops to normally const structs Add another struct to the list of normally const struct types Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxx> Cc: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 29a3c46673a5e3ee22feaba7020a280486c78f0a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:30 2015 -0700 checkpatch: add #define foo "string" long line exception There are #defines with long string constants like: #define foo "some really long string > 80 columns" Add a long line exception for them. Miscellanea: Use the $String variable for slightly better readability Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Madalin-Cristian Bucur <madalin.bucur@xxxxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2a076f40d8c9be95bee7bcf18436655e1140447f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:28 2015 -0700 checkpatch, SubmittingPatches: suggest line wrapping commit messages at 75 columns Commit messages lines are sometimes overly long. Suggest line wrapping at 75 columns so the default git commit log indentation of 4 plus the commit message text still fits on an 80 column screen. Add a checkpatch test for long commit messages lines too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0e212e0a720601fabda102f7998d27625f9e144a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:44:25 2015 -0700 checkpatch: don't ask for asm/file.h to linux/file.h unconditionally Currently checkpatch warns when asm/file.h is included and linux/file.h exists. That conversion can be made when linux/file.h includes asm/file.h which is not always the case.(See signal.h) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx> Acked-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ab7e23f3448e55f4808f443a7b98ded6707701bb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:22 2015 -0700 checkpatch: add test for repeated const uses Using 'const <type> const *' is generally meant to be written 'const <type> * const'. Add a test for the miswritten form. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f34e4a4f979c0d39f741bc809127fcf2167a7389 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:19 2015 -0700 checkpatch: improve return negative errno check Add a few conditions to the test to find return (ERRNO); Make the output message a bit less cryptic too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b392c64f59d7b088aefb4e86d208cd6d3b93eefb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:16 2015 -0700 checkpatch: match more world writable permissions Currently checkpatch will fuss if one uses world writable settings in debugfs files and DEVICE_ATTR uses by testing S_IWUGO but not testing S_IWOTH, S_IRWXUGO or S_IALLUGO. Extend the check to catch all cases exporting world writable permissions including octal values. [akpm@xxxxxxxxxxxxxxxxxxxx: remove stray $] Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Original-patch-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ebfd7d62375316ff532b6b9bae9d88a29f434ba7 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:14 2015 -0700 checkpatch: add optional --codespell dictionary to find more typos If a codespell dictionary exists, use it if desired. default is off, maybe it could be turned on later. codespell's dictionary format allows multiple possible corrections, ignore that for now and only use the first suggestion. Also add \b to spelling test so that consecutive misspelled words are found properly. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Cc: Lucas De Marchi <lucas.de.marchi@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b3e9a677fc0875c7cc26d4edf6742a1436e86c52 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Apr 16 12:44:11 2015 -0700 checkpatch: spell check reudce References: http://mid.gmane.org/1424977312-24902-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 66d7a382cb5d2d40b468e68b665bbf6f9bc3400e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:08 2015 -0700 checkpatch: add spell checking of email subject line Only commit log and patch additions are checked for typos and spelling errors currently. Add a check of the email subject line too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Suggested-by: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Tested-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6ab3a9701e00c2a085bac6a7a9bdcf8fc5eca6c5 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:05 2015 -0700 checkpatch: improve "no space is necessary after a cast" test The "no space is necessary after a cast" sizeof exclusion doesn't work properly. The test reports a false positive for code like: BUILD_BUG_ON(sizeof(struct batadv_bla_claim_dst) != 6); Make it work, simplify the exclusions, and add some comments. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d43698e8abb58a6ac47d16e0f47bb55f452e4fc4 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Thu Apr 16 12:44:02 2015 -0700 firmware/ihex2fw.c: restore missing default in switch statement Commit 2473238eac95 ("ihex: add support for CS:IP/EIP records") removes the "default:" statement in the switch block, making the "return usage();" line dead code and ihex2fw silently ignoring unknown options. Restore this statement. This bug was found by building with HOSTCC=clang and adding -Wunreachable-code-return to HOSTCFLAGS. Fixes: 2473238eac95 ("ihex: add support for CS:IP/EIP records") Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2afe27c718b669b551895595873611ac39cc31e3 Author: Yury Norov <yury.norov@xxxxxxxxx> Date: Thu Apr 16 12:44:00 2015 -0700 lib/bitmap.c: bitmap_[empty,full]: remove code duplication bitmap_empty() has its own implementation. But it's clearly as simple as: find_first_bit(src, nbits) == nbits The same is true for 'bitmap_full'. Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d48502eacd8934b79c3e62f7858c79fa6422398b Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Apr 16 12:43:57 2015 -0700 ASoC: pcm512x: use DIV_ROUND_CLOSEST_ULL() from kernel.h Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal implementation and use the kernel one. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Peter Rosin <peda@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Cc: Liam Girdwood <lgirdwood@xxxxxxxxx> Cc: Jaroslav Kysela <perex@xxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 512eb720c9892261d68f86ba880a55cdbb74710d Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Apr 16 12:43:54 2015 -0700 media: cxd2820r: use DIV_ROUND_CLOSEST_ULL() Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal implementation and use the kernel one. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ee3c86f356b4dfc130442d0bd68ff2da2bd60538 Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Apr 16 12:43:51 2015 -0700 cpuidle: menu: use DIV_ROUND_CLOSEST_ULL() Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal implementation and use the kernel one. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aa7762010a4340a12a87a54b7a402adcdce8cfa9 Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Apr 16 12:43:48 2015 -0700 clk: bcm/kona: use DIV_ROUND_CLOSEST_ULL() Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal implementation and use the kernel one. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Alex Elder <elder@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f766093ecb647f5a87bfa456715abbbccee547ce Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Apr 16 12:43:45 2015 -0700 kernel.h: implement DIV_ROUND_CLOSEST_ULL We have grown a number of different implementations of DIV_ROUND_CLOSEST_ULL throughout the kernel. Move the i915 one to kernel.h so that it can be reused. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Reviewed-by: Jeff Epler <jepler@xxxxxxxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx> Cc: Alex Elder <elder@xxxxxxxxxx> Cc: Antti Palosaari <crope@xxxxxx> Cc: Javi Merino <javi.merino@xxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 675cf53c1deaffadc7b6a0b4afe6cdafec86bedb Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:43:42 2015 -0700 lib/vsprintf.c: improve put_dec_trunc8 slightly I hadn't had enough coffee when I wrote this. Currently, the final increment of buf depends on the value loaded from the table, and causes gcc to emit a cmov immediately before the return. It is smarter to let it depend on r, since the increment can then be computed in parallel with the final load/store pair. It also shaves 16 bytes of .text. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdb1dc3f1ca5c5899e5fa186afe20390bd8c00dc Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Date: Thu Apr 16 12:43:39 2015 -0700 hwmon: (w83795) use find_closest_descending() in pwm_freq_to_reg() Replace the loop iterating over pwm_freq_cksel0 with a call to find_closest_descending(). Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f3721c51ec5643e00f07dd3bbc5712c72fc62b2 Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Date: Thu Apr 16 12:43:36 2015 -0700 hwmon: (lm85) use find_closest() in x_TO_REG() functions Replace RANGE_TO_REG() and FREQ_TO_REG() implementations with calls to find_closest(). Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d38df34e3f0ea1e65c7db5d33d132dc14da0009a Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Date: Thu Apr 16 12:43:34 2015 -0700 hwmon: (ina2xx) replace ina226_avg_bits() with find_closest() Use find_closest() to locate the closest average in ina226_avg_tab. Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2027543b9cb47e1853d8c34fe931e2fcee5cb65 Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Date: Thu Apr 16 12:43:31 2015 -0700 documentation: update CodingStyle on local variables naming in macros Describe proper naming convention for local variables in macros resembling functions. Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 95d119528b0b8440a63bc13904e9873fc3a70503 Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Date: Thu Apr 16 12:43:28 2015 -0700 util_macros.h: add find_closest() macro This series unduplicates the code used to find the member in an array closest to 'x'. The first patch adds a macro implementing the algorithm in two flavors - for arrays sorted in ascending and descending order. The second updates Documentation/CodingStyle on the naming convention for local variables in macros resembling functions. Other three patches replace duplicated code with calls to one of these macros in some hwmon drivers. This patch (of 5): Searching for the member of an array closest to 'x' is duplicated in several places. Add a new include - util_macros.h - and two macros that implement this algorithm for arrays sorted both in ascending and descending order. Uses linear search. Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a7a2c02a40151811609ad8cd3bf5c4fc516fece5 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:43:25 2015 -0700 lib/dma-debug: fix bucket_find_contain() bucket_find_contain() will search the bucket list for a dma_debug_entry. When the entry isn't found it needs to search other buckets too, since only the start address of a dma range is hashed (which might be in a different bucket). A copy of the dma_debug_entry is used to get the previous hash bucket but when its list is searched the original dma_debug_entry is to be used not its modified copy. This fixes false "device driver tries to sync DMA memory it has not allocated" warnings. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Horia Geanta <horia.geanta@xxxxxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c43d9a30c527d9e06e2c55f82b56f28df43caed Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:43:22 2015 -0700 lib/vsprintf.c: even faster binary to decimal conversion The most expensive part of decimal conversion is the divisions by 10 (albeit done using reciprocal multiplication with appropriately chosen constants). I decided to see if one could eliminate around half of these multiplications by emitting two digits at a time, at the cost of a 200 byte lookup table, and it does indeed seem like there is something to be gained, especially on 64 bits. Microbenchmarking shows improvements ranging from -50% (for numbers uniformly distributed in [0, 2^64-1]) to -25% (for numbers heavily biased toward the smaller end, a more realistic distribution). On a larger scale, perf shows that top, one of the big consumers of /proc data, uses 0.5-1.0% fewer cpu cycles. I had to jump through some hoops to get the 32 bit code to compile and run on my 64 bit machine, so I'm not sure how relevant these numbers are, but just for comparison the microbenchmark showed improvements between -30% and -10%. The bloat-o-meter costs are around 150 bytes (the generated code is a little smaller, so it's not the full 200 bytes) on both 32 and 64 bit. I'm aware that extra cache misses won't show up in a microbenchmark as used above, but on the other hand decimal conversions often happen in bulk (for example in the case of top). I have of course tested that the new code generates the same output as the old, for both the first and last 1e10 numbers in [0,2^64-1] and 4e9 'random' numbers in-between. Test and verification code on github: https://github.com/Villemoes/dec. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Tested-by: Jeff Epler <jepler@xxxxxxxxxxxxxx> Cc: "Peter Zijlstra (Intel)" <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 840620a1596a90636a44d6a593db4041bb28d52e Author: Yury Norov <yury.norov@xxxxxxxxx> Date: Thu Apr 16 12:43:19 2015 -0700 lib: rename lib/find_next_bit.c to lib/find_bit.c This file contains implementation for all find_*_bit{,_le} So giving it more generic name looks reasonable. Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx> Reviewed-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f6f19dd5143aa59139deeb885a8ed5e2d937e21 Author: Yury Norov <yury.norov@xxxxxxxxx> Date: Thu Apr 16 12:43:16 2015 -0700 lib: move find_last_bit to lib/find_next_bit.c Currently all 'find_*_bit' family is located in lib/find_next_bit.c, except 'find_last_bit', which is in lib/find_last_bit.c. It seems, there's no major benefit to have it separated. Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx> Reviewed-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c57a0e233d72f8c2e2404560dcf0188ac3cf5d7 Author: Yury Norov <yury.norov@xxxxxxxxx> Date: Thu Apr 16 12:43:13 2015 -0700 lib: find_*_bit reimplementation This patchset does rework to find_bit function family to achieve better performance, and decrease size of text. All rework is done in patch 1. Patches 2 and 3 are about code moving and renaming. It was boot-tested on x86_64 and MIPS (big-endian) machines. Performance tests were ran on userspace with code like this: /* addr[] is filled from /dev/urandom */ start = clock(); while (ret < nbits) ret = find_next_bit(addr, nbits, ret + 1); end = clock(); printf("%ld\t", (unsigned long) end - start); On Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz measurements are: (for find_next_bit, nbits is 8M, for find_first_bit - 80K) find_next_bit: find_first_bit: new current new current 26932 43151 14777 14925 26947 43182 14521 15423 26507 43824 15053 14705 27329 43759 14473 14777 26895 43367 14847 15023 26990 43693 15103 15163 26775 43299 15067 15232 27282 42752 14544 15121 27504 43088 14644 14858 26761 43856 14699 15193 26692 43075 14781 14681 27137 42969 14451 15061 ... ... find_next_bit performance gain is 35-40%; find_first_bit - no measurable difference. On ARM machine, there is arch-specific implementation for find_bit. Thanks a lot to George Spelvin and Rasmus Villemoes for hints and helpful discussions. This patch (of 3): New implementations takes less space in source file (see diffstat) and in object. For me it's 710 vs 453 bytes of text. It also shows better performance. find_last_bit description fixed due to obvious typo. [akpm@xxxxxxxxxxxxxxxxxxxx: include linux/bitmap.h, per Rasmus] Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx> Reviewed-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 396ada68acefc4f90cf1f05d4275913834af5d93 Author: Richard Weinberger <richard@xxxxxx> Date: Thu Apr 16 12:43:10 2015 -0700 alpha: forward declare struct pt_regs in processor.h Removal of exec domains uncovered this new warning. processor.h re-used struct pt_regs from personality.h which is now gone. ./arch/alpha/include/asm/processor.h:47:33: warning: 'struct pt_regs' declared inside parameter list [enabled by default] Signed-off-by: Richard Weinberger <richard@xxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6480827357923b3977b97c9413a7307be850975d Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Mar 19 14:03:41 2015 +0200 of: base: improve of_get_next_child() kernel-doc Add two new facts to of_get_next_child() documentation: * of_get_next_child() returns NULL when there is not next child * of_get_next_child() decrements the refcount of prev Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 96541bac0b4e62efa42e7900d9b32e6baa9a214c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Apr 14 13:06:12 2015 +0200 Revert "mmc: core: Convert mmc_driver to device_driver" This reverts commit 6685ac62b2f0 ("mmc: core: Convert mmc_driver to device_driver") The reverted commit went too far in simplifing the device driver parts for mmc. Let's restore the old mmc_driver to enable driver core to sooner or later to remove the ->probe(), ->remove() and ->shutdown() callbacks from the struct device_driver. Note that, the old ->suspend|resume() callbacks in the struct mmc_driver don't need to be restored, since the mmc block layer has converted to the modern system PM ops. Fixes: 6685ac62b2f0 ("mmc: core: Convert mmc_driver to device_driver") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 636efbc66452659840a9a4df1daf80074ee439f6 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Apr 13 16:07:41 2015 +0200 mmc: pwrseq: Fix error code propagation in mmc_pwrseq_simple_alloc() If the struct mmc_pwrseq_match .alloc function used to allocate a struct mmc_pwrseq fails, the error is propagated to mmc_of_parse(). But instead of returning the error code in pwrseq, host->pwrseq is returned which will always be 0. So mmc_of_parse() succeeds even if the pwrseq .alloc function failed and host->pwrseq is NULL. This makes the SDIO device to not be powered if the power sequencing .alloc functions wants to be deferred due a missing resource because the mmc controller driver probe did wrongly succeed. Fixes: 0f12a0ce4ce4a ("mmc: pwrseq: simplify alloc/free hooks") Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 18ecb3bfa5a9f6fffbb3eeb4369f0b9463438ec0 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Apr 16 20:41:37 2015 +0200 x86/fpu: Load xsave pointer *after* initialization So I was playing with gdb today and did this simple thing: gdb /bin/ls ... (gdb) run Box exploded with this splat: BUG: unable to handle kernel NULL pointer dereference at 00000000000001d0 IP: [<ffffffff8100fe5a>] xstateregs_get+0x7a/0x120 [...] Call Trace: ptrace_regset ptrace_request ? wait_task_inactive ? preempt_count_sub arch_ptrace ? ptrace_get_task_struct SyS_ptrace system_call_fastpath ... because we do cache &target->thread.fpu.state->xsave into the local variable xsave but that pointer is NULL at that time and it gets initialized later, in init_fpu(), see: e7f180dcd8ab ("x86/fpu: Change xstateregs_get()/set() to use ->xsave.i387 rather than ->fxsave") The fix is simple: load xsave *after* init_fpu() has run. Also do the same in xstateregs_set(), as suggested by Oleg Nesterov. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tavis Ormandy <taviso@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1429209697-5902-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 78d504bcd769cc496f63b626f507039eab2316b7 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Apr 2 04:12:57 2015 -0400 perf/x86/intel: Add Broadwell support for the LBR callstack Same as Haswell, Broadwell also support the LBR callstack. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427962377-40955-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 645523960102fa0ac0578d070630e49ab05f06d1 Author: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Date: Thu Mar 26 14:28:45 2015 -0700 perf/x86/intel/rapl: Fix energy counter measurements but supporing per domain energy units RAPL energy hardware unit can vary within a single CPU package, e.g. HSW server DRAM has a fixed energy unit of 15.3 uJ (2^-16) whereas the unit on other domains can be enumerated from power unit MSR. There might be other variations in the future, this patch adds per cpu model quirk to allow special handling of certain cpus. hw_unit is also removed from per cpu data since it is not per cpu and the sampling rate for energy counter is typically not high. Without this patch, DRAM domain on HSW servers will be counted 4x higher than the real energy counter. Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Andi Kleen <andi.kleen@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1427405325-780-1-git-send-email-jacob.jun.pan@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 517e6341fa123ec3a2f9ea78ad547be910529881 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sat Apr 11 12:16:22 2015 +0200 perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events Ingo reported that cycles:pp didn't work for him on some machines. It turns out that in this commit: af4bdcf675cf perf/x86/intel: Disallow flags for most Core2/Atom/Nehalem/Westmere events Andi forgot to explicitly allow that event when he disabled event flags for PEBS on those uarchs. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Fixes: af4bdcf675cf ("perf/x86/intel: Disallow flags for most Core2/Atom/Nehalem/Westmere events") Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8053871d0f7f67c7efb7f226ef031f78877d6625 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 11 12:42:10 2015 -0800 smp: Fix smp_call_function_single_async() locking The current smp_function_call code suffers a number of problems, most notably smp_call_function_single_async() is broken. The problem is that flush_smp_call_function_queue() does csd_unlock() _after_ calling csd->func(). This means that a caller cannot properly synchronize the csd usage as it has to. Change the code to release the csd before calling ->func() for the async case, and put a WARN_ON_ONCE(csd->flags & CSD_FLAG_LOCK) in smp_call_function_single_async() to warn us of improper serialization, because any waiting there can results in deadlocks when called with IRQs disabled. Rename the (currently) unused WAIT flag to SYNCHRONOUS and (re)use it such that we know what to do in flush_smp_call_function_queue(). Rework csd_{,un}lock() to use smp_load_acquire() / smp_store_release() to avoid some full barriers while more clearly providing lock semantics. Finally move the csd maintenance out of generic_exec_single() into its callers for clearer code. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> [ Added changelog. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Rafael David Tinoco <inaddy@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/CA+55aFz492bzLFhdbKN-Hygjcreup7CjMEYk3nTSfRWjppz-OA@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c857eb56e6e8e53dccd8d1e7ea90bcaf3311996d Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 15 20:14:53 2015 +0200 perf/x86: Fix hw_perf_event::flags collision Somehow we ended up with overlapping flags when merging the RDPMC control flag - this is bad, fix it. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d7bc3197b41e0a1af6677e83f8736e93a1575ce0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 15 17:11:57 2015 +0200 lockdep: Make print_lock() robust against concurrent release During sysrq's show-held-locks command it is possible that hlock_class() returns NULL for a given lock. The result is then (after the warning): |BUG: unable to handle kernel NULL pointer dereference at 0000001c |IP: [<c1088145>] get_usage_chars+0x5/0x100 |Call Trace: | [<c1088263>] print_lock_name+0x23/0x60 | [<c1576b57>] print_lock+0x5d/0x7e | [<c1088314>] lockdep_print_held_locks+0x74/0xe0 | [<c1088652>] debug_show_all_locks+0x132/0x1b0 | [<c1315c48>] sysrq_handle_showlocks+0x8/0x10 This *might* happen because the thread on the other CPU drops the lock after we are looking ->lockdep_depth and ->held_locks points no longer to a lock that is held. The fix here is to simply ignore it and continue. Reported-by: Andreas Messerschmid <andreas@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4fc8adcfec3da639da76e8314c9ccefe5bf9a045 Merge: 84588e7 aa4d861 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 23:27:56 2015 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull third hunk of vfs changes from Al Viro: "This contains the ->direct_IO() changes from Omar + saner generic_write_checks() + dealing with fcntl()/{read,write}() races (mirroring O_APPEND/O_DIRECT into iocb->ki_flags and instead of repeatedly looking at ->f_flags, which can be changed by fcntl(2), check ->ki_flags - which cannot) + infrastructure bits for dhowells' d_inode annotations + Christophs switch of /dev/loop to vfs_iter_write()" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (30 commits) block: loop: switch to VFS ITER_BVEC configfs: Fix inconsistent use of file_inode() vs file->f_path.dentry->d_inode VFS: Make pathwalk use d_is_reg() rather than S_ISREG() VFS: Fix up debugfs to use d_is_dir() in place of S_ISDIR() VFS: Combine inode checks with d_is_negative() and d_is_positive() in pathwalk NFS: Don't use d_inode as a variable name VFS: Impose ordering on accesses of d_inode and d_flags VFS: Add owner-filesystem positive/negative dentry checks nfs: generic_write_checks() shouldn't be done on swapout... ocfs2: use __generic_file_write_iter() mirror O_APPEND and O_DIRECT into iocb->ki_flags switch generic_write_checks() to iocb and iter ocfs2: move generic_write_checks() before the alignment checks ocfs2_file_write_iter: stop messing with ppos udf_file_write_iter: reorder and simplify fuse: ->direct_IO() doesn't need generic_write_checks() ext4_file_write_iter: move generic_write_checks() up xfs_file_aio_write_checks: switch to iocb/iov_iter generic_write_checks(): drop isblk argument blkdev_write_iter: expand generic_file_checks() call in there ... commit 84588e7a5d8220446d677d7b909a20ee7a4496b9 Merge: a39ef1a 3adc12e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 22:19:33 2015 -0400 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs Pull quota and udf updates from Jan Kara: "The pull contains quota changes which complete unification of XFS and VFS quota interfaces (so tools can use either interface to manipulate any filesystem). There's also a patch to support project quotas in VFS quota subsystem from Li Xi. Finally there's a bunch of UDF fixes and cleanups and tiny cleanup in reiserfs & ext3" * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: (21 commits) udf: Update ctime and mtime when directory is modified udf: return correct errno for udf_update_inode() ext3: Remove useless condition in if statement. vfs: Add general support to enforce project quota limits reiserfs: fix __RASSERT format string udf: use int for allocated blocks instead of sector_t udf: remove redundant buffer_head.h includes udf: remove else after return in __load_block_bitmap() udf: remove unused variable in udf_table_free_blocks() quota: Fix maximum quota limit settings quota: reorder flags in quota state quota: paranoia: check quota tree root quota: optimize i_dquot access quota: Hook up Q_XSETQLIM for id 0 to ->set_info xfs: Add support for Q_SETINFO quota: Make ->set_info use structure with neccesary info to VFS and XFS quota: Remove ->get_xstate and ->get_xstatev callbacks gfs2: Convert to using ->get_state callback xfs: Convert to using ->get_state callback quota: Wire up Q_GETXSTATE and Q_GETXSTATV calls to work with ->get_state ... commit a39ef1a7c6093bbd4e0a8197350b99cd635e5446 Merge: d82312c 976f2ab Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 22:05:27 2015 -0400 Merge branch 'for-4.1/drivers' of git://git.kernel.dk/linux-block Pull block driver updates from Jens Axboe: "This is the block driver pull request for 4.1. As with the core bits, this is a relatively slow round. This pull request contains: - Various fixes and cleanups for NVMe, from Alexey Khoroshilov, Chong Yuan, myself, Keith Busch, and Murali Iyer. - Documentation and code cleanups for nbd from Markus Pargmann. - Change of brd maintainer to me, from Ross Zwisler. At least the email doesn't bounce anymore then. - Two xen-blkback fixes from Tao Chen" * 'for-4.1/drivers' of git://git.kernel.dk/linux-block: (23 commits) NVMe: Meta data handling through submit io ioctl NVMe: Add translation for block limits NVMe: Remove check for null NVMe: Fix error handling of class_create("nvme") xen-blkback: define pr_fmt macro to avoid the duplication of DRV_PFX xen-blkback: enlarge the array size of blkback name nbd: Return error pointer directly nbd: Return error code directly nbd: Remove fixme that was already fixed nbd: Restructure debugging prints nbd: Fix device bytesize type nbd: Replace kthread_create with kthread_run nbd: Remove kernel internal header Documentation: nbd: Add list of module parameters Documentation: nbd: Reformat to allow more documentation NVMe: increase depth of admin queue nvme: Fix PRP list calculation for non-4k system page size NVMe: Fix blk-mq hot cpu notification NVMe: embedded iod mask cleanup NVMe: Freeze admin queue on device failure ... commit 44c144f9c8e8fbd73ede2848da8253b3aae42ec2 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 22:00:50 2015 -0400 dm crypt: fix missing error code return from crypt_ctr error path Fix to return a negative error code from crypt_ctr()'s optional parameter processing error path. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit a7e73e711e48e138a25265c156cca9a1ed109b50 Author: Shreyas B. Prabhu <shreyas@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 16:28:09 2015 +0530 powerpc/kvm: Fix ppc64_defconfig + PPC_POWERNV=n build error kvm_no_guest() calls power7_wakeup_loss() to put the thread into the deepest supported idle state. power7_wakeup_loss() is defined in arch/powerpc/kernel/idle_power7.S, which is compiled only when PPC_P7_NAP=y. And PPC_P7_NAP is selected when PPC_POWERNV=y. Hence in cases where PPC_POWERNV=n and KVM_BOOK3S_64_HV=y we see the following error: arch/powerpc/kvm/built-in.o: In function `kvm_no_guest': arch/powerpc/kvm/book3s_hv_rmhandlers.o:(.text+0x42c): undefined reference to `power7_wakeup_loss' Fix this by adding PPC_POWERNV as a dependency for KVM_BOOK3S_64_HV. Signed-off-by: Shreyas B. Prabhu <shreyas@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d82312c80860b8b83cd4473ac6eafd244e712061 Merge: 7d69cff 889fa31 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 21:49:16 2015 -0400 Merge branch 'for-4.1/core' of git://git.kernel.dk/linux-block Pull block layer core bits from Jens Axboe: "This is the core pull request for 4.1. Not a lot of stuff in here for this round, mostly little fixes or optimizations. This pull request contains: - An optimization that speeds up queue runs on blk-mq, especially for the case where there's a large difference between nr_cpu_ids and the actual mapped software queues on a hardware queue. From Chong Yuan. - Honor node local allocations for requests on legacy devices. From David Rientjes. - Cleanup of blk_mq_rq_to_pdu() from me. - exit_aio() fixup from me, greatly speeding up exiting multiple IO contexts off exit_group(). For my particular test case, fio exit took ~6 seconds. A typical case of both exposing RCU grace periods to user space, and serializing exit of them. - Make blk_mq_queue_enter() honor the gfp mask passed in, so we only wait if __GFP_WAIT is set. From Keith Busch. - blk-mq exports and two added helpers from Mike Snitzer, which will be used by the dm-mq code. - Cleanups of blk-mq queue init from Wei Fang and Xiaoguang Wang" * 'for-4.1/core' of git://git.kernel.dk/linux-block: blk-mq: reduce unnecessary software queue looping aio: fix serial draining in exit_aio() blk-mq: cleanup blk_mq_rq_to_pdu() blk-mq: put blk_queue_rq_timeout together in blk_mq_init_queue() block: remove redundant check about 'set->nr_hw_queues' in blk_mq_alloc_tag_set() block: allocate request memory local to request queue blk-mq: don't wait in blk_mq_queue_enter() if __GFP_WAIT isn't set blk-mq: export blk_mq_run_hw_queues blk-mq: add blk_mq_init_allocated_queue and export blk_mq_register_disk commit 7d6e7f7ffaba4e013c7a0589140431799bc17985 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 10:41:04 2015 +0530 powerpc/mm/thp: Return pte address if we find trans_splitting. For THP that is marked trans splitting, we return the pte. This require the callers to handle the pmd_trans_splitting scenario, if they care. All the current callers are either looking at pfn or write_ok, hence we don't need to update them. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 691e95fd7396905a38d98919e9c150dbc3ea21a3 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 10:41:03 2015 +0530 powerpc/mm/thp: Make page table walk safe against thp split/collapse We can disable a THP split or a hugepage collapse by disabling irq. We do send IPI to all the cpus in the early part of split/collapse, and disabling local irq ensure we don't make progress with split/collapse. If the THP is getting split we return NULL from find_linux_pte_or_hugepte(). For all the current callers it should be ok. We need to be careful if we want to use returned pte_t pointer outside the irq disabled region. W.r.t to THP split, the pfn remains the same, but then a hugepage collapse will result in a pfn change. There are few steps we can take to avoid a hugepage collapse.One way is to take page reference inside the irq disable region. Other option is to take mmap_sem so that a parallel collapse will not happen. We can also disable collapse by taking pmd_lock. Another method used by kvm subsystem is to check whether we had a mmu_notifer update in between using mmu_notifier_retry(). Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit dac5657067919161eb3273ca787d8ae9814801e7 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 10:39:13 2015 +0530 KVM: PPC: Remove page table walk helpers This patch remove helpers which we had used only once in the code. Limiting page table walk variants help in ensuring that we won't end up with code walking page table with wrong assumptions. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5e1d44aef1673b504dde475aa714b1bdb9b875c4 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 10:39:12 2015 +0530 KVM: PPC: Use READ_ONCE when dereferencing pte_t pointer pte can get updated from other CPUs as part of multiple activities like THP split, huge page collapse, unmap. We need to make sure we don't reload the pte value again and again for different checks. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1cbee462a5afc1cc30389915b3d18bdcb3c47ad6 Merge: d19d5ef 50c6a66 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Apr 17 11:22:51 2015 +1000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into fixes commit 78b9ae307bded23cd8b239562d3a832dad585bdd Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Apr 16 12:44:59 2015 +0800 MAINTAINERS: remove maintainship entry of docking station driver As Rafael suggested, docking station driver is maintained along with the ACPI core nowadays, so it's better to remove this entry. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7d69cff26ceadce8638cb65191285932a3de3d4c Merge: 8fa6f49 0351b8f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 19:02:04 2015 -0400 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI updates from James Bottomley: "This is the usual grab bag of driver updates (lpfc, qla2xxx, storvsc, aacraid, ipr) plus an assortment of minor updates. There's also a major update to aic1542 which moves the driver into this millenium" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (106 commits) change SCSI Maintainer email sd, mmc, virtio_blk, string_helpers: fix block size units ufs: add support to allow non standard behaviours (quirks) ufs-qcom: save controller revision info in internal structure qla2xxx: Update driver version to 8.07.00.18-k qla2xxx: Restore physical port WWPN only, when port down detected for FA-WWPN port. qla2xxx: Fix virtual port configuration, when switch port is disabled/enabled. qla2xxx: Prevent multiple firmware dump collection for ISP27XX. qla2xxx: Disable Interrupt handshake for ISP27XX. qla2xxx: Add debugging info for MBX timeout. qla2xxx: Add serdes read/write support for ISP27XX qla2xxx: Add udev notification to save fw dump for ISP27XX qla2xxx: Add message for sucessful FW dump collected for ISP27XX. qla2xxx: Add support to load firmware from file for ISP 26XX/27XX. qla2xxx: Fix beacon blink for ISP27XX. qla2xxx: Increase the wait time for firmware to be ready for P3P. qla2xxx: Fix crash due to wrong casting of reg for ISP27XX. qla2xxx: Fix warnings reported by static checker. lpfc: Update version to 10.5.0.0 for upstream patch set lpfc: Update copyright to 2015 ... commit 8fa6f4974d55ad1fb0a9522c5a5cfd050a517048 Merge: eabbfde ee23d66 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 19:00:31 2015 -0400 Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration Pull mailbox updates from Jassi Brar. * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration: mailbox: arm_mhu: add driver for ARM MHU controller Mailbox: Restructure and simplify PCC mailbox code commit eabbfdecdae4413687a36fd17c3e98de59ba492b Merge: 45701e2 04abab6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 18:50:27 2015 -0400 Merge branch 'for-v4.1-rc1' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping Pull DMA-mapping updates from Marek Szyprowski: "This contains two patches, which clarify abiguity in the dma-mapping api" * 'for-v4.1-rc1' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping: include/dma-mapping: Clarify output of dma_map_sg asm/dma-mapping-common: Clarify output of dma_map_sg_attrs commit 45701e2636a02ab1c5305ead5236f05bda64c15f Merge: 497a5df 3083ca2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 18:48:55 2015 -0400 Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming Pull arch/c6x fixes from Mark Salter. * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming: c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback c6x: kernel: setup: Export symbol memory_end c6x: kernel: setup: Add screen_info global variable c6x: include: asm: Kbuild: Add generic serial.h c6x: include: asm: dma-mapping: Add dummy dma_sync_single_range_for_device c6x: include: asm: setup: Include "linux/types.h" c6x: asm: Add default flat.h according to xtensa architecture c6x: kernel: setup: Remove 'const' for local variables in machine_init c6x: Makefile: Add -D__linux__ C6x: time: Ensure consistency in __init c6x: kernel: setup: Include "linux/console.h" commit a83f5d6a11ced6f43ec467a95fe8cc76e1c96cfd Merge: 497a5df 671d773 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 16 12:45:18 2015 -0700 Merge branch 'generic-iommu-allocator' Sowmini Varadhan says: ==================== Generic IOMMU pooled allocator Investigation of network performance on Sparc shows a high degree of locking contention in the IOMMU allocator, and it was noticed that the PowerPC code has a better locking model. This patch series tries to extract the generic parts of the PowerPC code so that it can be shared across multiple PCI devices and architectures. v10: resend patchv9 without RFC tag, and a new mail Message-Id, (previous non-RFC attempt did not show up on the patchwork queue?) Full revision history below: v2 changes: - incorporate David Miller editorial comments: sparc specific fields moved from iommu-common into sparc's iommu_64.h - make the npools value an input parameter, for the case when the iommu map size is not very large - cookie_to_index mapping, and optimizations for span-boundary check, for use case such as LDC. v3: eliminate iommu_sparc, rearrange the ->demap indirection to be invoked under the pool lock. v4: David Miller review changes: - s/IOMMU_ERROR_CODE/DMA_ERROR_CODE - page_table_map_base and page_table_shift are unsigned long, not u32. v5: removed ->cookie_to_index and ->demap indirection from the iommu_tbl_ops The caller needs to call these functions as needed, before invoking the generic arena allocator functions. Added the "skip_span_boundary" argument to iommu_tbl_pool_init() for those callers like LDC which do no care about span boundary checks. v6: removed iommu_tbl_ops, and instead pass the ->flush_all as an indirection to iommu_tbl_pool_init(); only invoke ->flush_all when there is no large_pool, based on the assumption that large-pool usage is infrequently encountered v7: moved pool_hash initialization to lib/iommu-common.c and cleaned up code duplication from sun4v/sun4u/ldc. v8: Addresses BenH comments with one exception: I've left the IOMMU_POOL_HASH as is, so that powerpc can tailor it to their convenience. Discard trylock for simple spin_lock to acquire pool v9: Addresses latest BenH comments: need_flush checks, add support for dma mask and align_order. v10: resend without RFC tag, and new mail Message-Id. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 671d773297969bebb1732e1cdc1ec03aa53c6be2 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Mar 12 20:02:37 2015 -0400 sparc: Make LDC use common iommu poll management functions Note that this conversion is only being done to consolidate the code and ensure that the common code provides the sufficient abstraction. It is not expected to result in any noticeable performance improvement, as there is typically one ldc_iommu per vnet_port, and each one has 8k entries, with a typical request for 1-4 pages. Thus LDC uses npools == 1. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1600e549b948a32ad7672e069b2915314637ae3 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Mar 12 20:02:36 2015 -0400 sparc: Make sparc64 use scalable lib/iommu-common.c functions In iperf experiments running linux as the Tx side (TCP client) with 10 threads results in a severe performance drop when TSO is disabled, indicating a weakness in the software that can be avoided by using the scalable IOMMU arena DMA allocation. Baseline numbers before this patch: with default settings (TSO enabled) : 9-9.5 Gbps Disable TSO using ethtool- drops badly: 2-3 Gbps. After this patch, iperf client with 10 threads, can give a throughput of at least 8.5 Gbps, even when TSO is disabled. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10b88a4b17d31a7409494b179dcb76e7ab2fcaea Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Mar 12 20:02:35 2015 -0400 sparc: Break up monolithic iommu table/lock into finer graularity pools and lock Investigation of multithreaded iperf experiments on an ethernet interface show the iommu->lock as the hottest lock identified by lockstat, with something of the order of 21M contentions out of 27M acquisitions, and an average wait time of 26 us for the lock. This is not efficient. A more scalable design is to follow the ppc model, where the iommu_table has multiple pools, each stretching over a segment of the map, and with a separate lock for each pool. This model allows for better parallelization of the iommu map search. This patch adds the iommu range alloc/free function infrastructure. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3ffe6d2c9733729307799a60e1ae09a9878e697 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Apr 16 20:49:14 2015 +0200 net: dsa: mv88e6xxx: Add missing initialization in mv88e6xxx_set_port_state() drivers/net/dsa/mv88e6xxx.c: In function â??mv88e6xxx_set_port_stateâ??: drivers/net/dsa/mv88e6xxx.c:905: warning: â??retâ?? may be used uninitialized in this function If oldstate == state, mv88e6xxx_set_port_state() will return an uninitialized value. Pre-initialize ret to zero to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a9fe3ca84afff6259820c4f62e579f41476becc Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Jan 20 23:47:30 2015 +0100 rockchip: make sure timer7 is enabled on rk3288 platforms timer7 supplies the architected timer and thus as has to run when the system clocksource and clockevents drivers are registered. While it should be the responsibility of the bootloader to do this, and there exists a fix in a community u-boot, all u-boot based systems that actually shipped have the mentioned issue. Therefore to not require every developer to update their u-boot, add a snippet for this, enabling the timer early in the kernel. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit b403125d3bbf8046c1186e1a49cb17bb5551db14 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Sun Mar 22 00:04:51 2015 +0800 ARM: rockchip: fix undefined instruction of reset_ctrl_regs Sometimes the debug module may not work well after resume, since it has not been correctly reset when wakeup from suspend. That cause system crash during reusme, and a 'undefined instruction' is displayed on the console. Set the GRF_FORCE_JTAG bit of RK3288_GRF_SOC_CON0 can ensure that debug modul is reset. And we can change the value of RK3288_GRF_SOC_CON0 back when system resume. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Tested-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> According to discussions, there does not seem a better solution available. Please also see the potential security implication described in the comment inline in the code. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 0ea001d3b43cc9d387c093ae205c4228cd88a886 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Wed Apr 15 13:57:11 2015 +0800 ARM: rockchip: disable dapswjdp during suspend Reset dapswjdp is controlled by JTAG_TRSTN, if the iomux of this pin is not "jtag_trstn". the AP would think this pin is always high, so it can not reset before resume. When system resume, but the dapswjdp is not in a default state, it may Access some illegal address, it cause system crash during resume. Let's disable this jtag function by clear the dapdeviceen bit, it prohibit the dapswjdp to access memory and registers. This bit would be enable in MASKROM, so we need clear it in suspend everytime. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 497a5df7bf6ffd136ae21c49d1a01292930d7ca2 Merge: 714d8e7 0b97b03 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 14:01:03 2015 -0500 Merge tag 'stable/for-linus-4.1-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen features and fixes from David Vrabel: - use a single source list of hypercalls, generating other tables etc. at build time. - add a "Xen PV" APIC driver to support >255 VCPUs in PV guests. - significant performance improve to guest save/restore/migration. - scsiback/front save/restore support. - infrastructure for multi-page xenbus rings. - misc fixes. * tag 'stable/for-linus-4.1-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen/pci: Try harder to get PXM information for Xen xenbus_client: Extend interface to support multi-page ring xen-pciback: also support disabling of bus-mastering and memory-write-invalidate xen: support suspend/resume in pvscsi frontend xen: scsiback: add LUN of restored domain xen-scsiback: define a pr_fmt macro with xen-pvscsi xen/mce: fix up xen_late_init_mcelog() error handling xen/privcmd: improve performance of MMAPBATCH_V2 xen: unify foreign GFN map/unmap for auto-xlated physmap guests x86/xen/apic: WARN with details. x86/xen: Provide a "Xen PV" APIC driver to support >255 VCPUs xen/pciback: Don't print scary messages when unsupported by hypervisor. xen: use generated hypercall symbols in arch/x86/xen/xen-head.S xen: use generated hypervisor symbols in arch/x86/xen/trace.c xen: synchronize include/xen/interface/xen.h with xen xen: build infrastructure for generating hypercall depending symbols xen: balloon: Use static attribute groups for sysfs entries xen: pcpu: Use static attribute groups for sysfs entry commit 714d8e7e27197dd39b2550e762a6a6fcf397a471 Merge: d19d5ef 6d1966d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 13:58:29 2015 -0500 Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 updates from Will Deacon: "Here are the core arm64 updates for 4.1. Highlights include a significant rework to head.S (allowing us to boot on machines with physical memory at a really high address), an AES performance boost on Cortex-A57 and the ability to run a 32-bit userspace with 64k pages (although this requires said userspace to be built with a recent binutils). The head.S rework spilt over into KVM, so there are some changes under arch/arm/ which have been acked by Marc Zyngier (KVM co-maintainer). In particular, the linker script changes caused us some issues in -next, so there are a few merge commits where we had to apply fixes on top of a stable branch. Other changes include: - AES performance boost for Cortex-A57 - AArch32 (compat) userspace with 64k pages - Cortex-A53 erratum workaround for #845719 - defconfig updates (new platforms, PCI, ...)" * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (39 commits) arm64: fix midr range for Cortex-A57 erratum 832075 arm64: errata: add workaround for cortex-a53 erratum #845719 arm64: Use bool function return values of true/false not 1/0 arm64: defconfig: updates for 4.1 arm64: Extract feature parsing code from cpu_errata.c arm64: alternative: Allow immediate branch as alternative instruction arm64: insn: Add aarch64_insn_decode_immediate ARM: kvm: round HYP section to page size instead of log2 upper bound ARM: kvm: assert on HYP section boundaries not actual code size arm64: head.S: ensure idmap_t0sz is visible arm64: pmu: add support for interrupt-affinity property dt: pmu: extend ARM PMU binding to allow for explicit interrupt affinity arm64: head.S: ensure visibility of page tables arm64: KVM: use ID map with increased VA range if required arm64: mm: increase VA range of identity map ARM: kvm: implement replacement for ld's LOG2CEIL() arm64: proc: remove unused cpu_get_pgd macro arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol arm64: remove __calc_phys_offset arm64: merge __enable_mmu and __turn_mmu_on ... commit d19d5efd8c8840aa4f38a6dfbfe500d8cc27de46 Merge: 34c9a0f 2fe0753 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 13:53:32 2015 -0500 Merge tag 'powerpc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc updates from Michael Ellerman: - Numerous minor fixes, cleanups etc. - More EEH work from Gavin to remove its dependency on device_nodes. - Memory hotplug implemented entirely in the kernel from Nathan Fontenot. - Removal of redundant CONFIG_PPC_OF by Kevin Hao. - Rewrite of VPHN parsing logic & tests from Greg Kurz. - A fix from Nish Aravamudan to reduce memory usage by clamping nodes_possible_map. - Support for pstore on powernv from Hari Bathini. - Removal of old powerpc specific byte swap routines by David Gibson. - Fix from Vasant Hegde to prevent the flash driver telling you it was flashing your firmware when it wasn't. - Patch from Ben Herrenschmidt to add an OPAL heartbeat driver. - Fix for an oops causing get/put_cpu_var() imbalance in perf by Jan Stancek. - Some fixes for migration from Tyrel Datwyler. - A new syscall to switch the cpu endian by Michael Ellerman. - Large series from Wei Yang to implement SRIOV, reviewed and acked by Bjorn. - A fix for the OPAL sensor driver from Cédric Le Goater. - Fixes to get STRICT_MM_TYPECHECKS building again by Michael Ellerman. - Large series from Daniel Axtens to make our PCI hooks per PHB rather than per machine. - Small patch from Sam Bobroff to explicitly abort non-suspended transactions on syscalls, plus a test to exercise it. - Numerous reworks and fixes for the 24x7 PMU from Sukadev Bhattiprolu. - Small patch to enable the hard lockup detector from Anton Blanchard. - Fix from Dave Olson for missing L2 cache information on some CPUs. - Some fixes from Michael Ellerman to get Cell machines booting again. - Freescale updates from Scott: Highlights include BMan device tree nodes, an MSI erratum workaround, a couple minor performance improvements, config updates, and misc fixes/cleanup. * tag 'powerpc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (196 commits) powerpc/powermac: Fix build error seen with powermac smp builds powerpc/pseries: Fix compile of memory hotplug without CONFIG_MEMORY_HOTREMOVE powerpc: Remove PPC32 code from pseries specific find_and_init_phbs() powerpc/cell: Fix iommu breakage caused by controller_ops change powerpc/eeh: Fix crash in eeh_add_device_early() on Cell powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH powerpc/perf/hv-24x7: Fail 24x7 initcall if create_events_from_catalog() fails powerpc/pseries: Correct memory hotplug locking powerpc: Fix missing L2 cache size in /sys/devices/system/cpu powerpc: Add ppc64 hard lockup detector support oprofile: Disable oprofile NMI timer on ppc64 powerpc/perf/hv-24x7: Add missing put_cpu_var() powerpc/perf/hv-24x7: Break up single_24x7_request powerpc/perf/hv-24x7: Define update_event_count() powerpc/perf/hv-24x7: Whitespace cleanup powerpc/perf/hv-24x7: Define add_event_to_24x7_request() powerpc/perf/hv-24x7: Rename hv_24x7_event_update powerpc/perf/hv-24x7: Move debug prints to separate function powerpc/perf/hv-24x7: Drop event_24x7_request() powerpc/perf/hv-24x7: Use pr_devel() to log message ... Conflicts: tools/testing/selftests/powerpc/Makefile tools/testing/selftests/powerpc/tm/Makefile commit 213dd74aee765d4e5f3f4b9607fef0cf97faa2af Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 09:03:27 2015 +0800 skbuff: Do not scrub skb mark within the same name space On Wed, Apr 15, 2015 at 05:41:26PM +0200, Nicolas Dichtel wrote: > Le 15/04/2015 15:57, Herbert Xu a écrit : > >On Wed, Apr 15, 2015 at 06:22:29PM +0800, Herbert Xu wrote: > [snip] > >Subject: skbuff: Do not scrub skb mark within the same name space > > > >The commit ea23192e8e577dfc51e0f4fc5ca113af334edff9 ("tunnels: > Maybe add a Fixes tag? > Fixes: ea23192e8e57 ("tunnels: harmonize cleanup done on skb on rx path") > > >harmonize cleanup done on skb on rx path") broke anyone trying to > >use netfilter marking across IPv4 tunnels. While most of the > >fields that are cleared by skb_scrub_packet don't matter, the > >netfilter mark must be preserved. > > > >This patch rearranges skb_scurb_packet to preserve the mark field. > nit: s/scurb/scrub > > Else it's fine for me. Sure. PS I used the wrong email for James the first time around. So let me repeat the question here. Should secmark be preserved or cleared across tunnels within the same name space? In fact, do our security models even support name spaces? ---8<--- The commit ea23192e8e577dfc51e0f4fc5ca113af334edff9 ("tunnels: harmonize cleanup done on skb on rx path") broke anyone trying to use netfilter marking across IPv4 tunnels. While most of the fields that are cleared by skb_scrub_packet don't matter, the netfilter mark must be preserved. This patch rearranges skb_scrub_packet to preserve the mark field. Fixes: ea23192e8e57 ("tunnels: harmonize cleanup done on skb on rx path") Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c0ee414e877b899f7fc80aafb98d9425c02797f Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 16:12:53 2015 +0800 Revert "net: Reset secmark when scrubbing packet" This patch reverts commit b8fb4e0648a2ab3734140342002f68fb0c7d1602 because the secmark must be preserved even when a packet crosses namespace boundaries. The reason is that security labels apply to the system as a whole and is not per-namespace. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 725f9dcd58dedfea49ef958babf6c0bf6b7594a9 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Apr 15 16:19:33 2015 -0700 bpf: fix two bugs in verification logic when accessing 'ctx' pointer 1. first bug is a silly mistake. It broke tracing examples and prevented simple bpf programs from loading. In the following code: if (insn->imm == 0 && BPF_SIZE(insn->code) == BPF_W) { } else if (...) { // this part should have been executed when // insn->code == BPF_W and insn->imm != 0 } Obviously it's not doing that. So simple instructions like: r2 = *(u64 *)(r1 + 8) will be rejected. Note the comments in the code around these branches were and still valid and indicate the true intent. Replace it with: if (BPF_SIZE(insn->code) != BPF_W) continue; if (insn->imm == 0) { } else if (...) { // now this code will be executed when // insn->code == BPF_W and insn->imm != 0 } 2. second bug is more subtle. If malicious code is using the same dest register as source register, the checks designed to prevent the same instruction to be used with different pointer types will fail to trigger, since we were assigning src_reg_type when it was already overwritten by check_mem_access(). The fix is trivial. Just move line: src_reg_type = regs[insn->src_reg].type; before check_mem_access(). Add new 'access skb fields bad4' test to check this case. Fixes: 9bac3d6d548e ("bpf: allow extended BPF programs access skb fields") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a166151cbe33b53221c24259e4a7201064b3ba79 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Apr 15 12:55:45 2015 -0700 bpf: fix bpf helpers to use skb->mac_header relative offsets For the short-term solution, lets fix bpf helper functions to use skb->mac_header relative offsets instead of skb->data in order to get the same eBPF programs with cls_bpf and act_bpf work on ingress and egress qdisc path. We need to ensure that mac_header is set before calling into programs. This is effectively the first option from below referenced discussion. More long term solution for LD_ABS|LD_IND instructions will be more intrusive but also more beneficial than this, and implemented later as it's too risky at this point in time. I.e., we plan to look into the option of moving skb_pull() out of eth_type_trans() and into netif_receive_skb() as has been suggested as second option. Meanwhile, this solution ensures ingress can be used with eBPF, too, and that we won't run into ABI troubles later. For dealing with negative offsets inside eBPF helper functions, we've implemented bpf_skb_clone_unwritable() to test for unwriteable headers. Reference: http://thread.gmane.org/gmane.linux.network/359129/focus=359694 Fixes: 608cd71a9c7c ("tc: bpf: generalize pedit action") Fixes: 91bc4822c3d6 ("tc: bpf: add checksum helpers") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51b5df886874816ff986fe66fe0d7b7eca9f6cd1 Merge: e743471 f88203a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 16 13:58:43 2015 -0400 Merge branch 'stmmac-flow-control' Vince Bridgers says: ==================== stmmac: Correct flow control configuration This series of patches corrects flow control configuration for the Synopsys GMAC driver. Flow control is configured based on a configurable receive fifo size. If less than 4Kbytes flow control is left disabled and a warning is presented. If a receive fifo size is not specified, flow control is left disabled to maintain current behavior. Unicast pause detection was disabled, but is now enabled. The pause time was modified to be maximum time per a XON/XOFF flow control mode of operation. This patch was tested on an Altera Cyclone 5 and an Altera Arria 10 devkit, and verified that flow control operates as expected when enabled. Please consider this series for inclusion so that flow control will function as expected for the Synopsys GMAC controller. ==================== Acked-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f88203a229cca0b3634738b7dae47419d1da6dc8 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:17:42 2015 -0500 stmmac: Configure Flow Control to work correctly based on rxfifo size Configure flow control correctly, and based on the receive fifo size read as a property from the devicetree since the Synopsys stmmac fifo sizes are configurable based on a particular chip's implementation. This patch maintains the previous incorrect behavior unless the receive fifo size is found in the devicetree. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 545d655ebbea65986cb762905b81bff54f42eb6d Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:17:41 2015 -0500 stmmac: Enable unicast pause frame detect in GMAC Register 6 Unicast pause frame detect was not being enabled for the Synopsys stmmac. This patch sets Unicast pause frame detect in MAC register 6 so that pause frame detection by the stmmac conforms to IEEE 802.3, Annex 31B.3.3 Receive Operation - Specifically, a MAC shall respond to pause frames containing either the reserved multicast address or the unique physical address associated with this station. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7877f52fd4a8d7012f9b0faecc047a50c132a79 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:17:40 2015 -0500 stmmac: Read tx-fifo-depth and rx-fifo-depth from the devicetree Read the tx-fifo-depth and rx-fifo-depth from the devicetree. The Synopsys stmmac controller fifos are configurable per product instance, and the fifo sizes are needed to configure certain features correctly such as flow control. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2453beb632e3e8c194c87953a536a4c58b149867 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:17:39 2015 -0500 stmmac: Add defines and documentation for enabling flow control Add defines and documentation for enabling flow control on the stmmac. Flow control was not implemented correctly on the stmmac driver and is currently non-functional as a result. This is the first in a series of small patches to correctly implement this feature. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13967f0c2abc088c27718319b9a571ccbf43fa89 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:17:38 2015 -0500 stmmac: Add properties for transmit and receive fifo sizes The Synopsys stmmac fifo sizes are configurable, and need to be known in order to configure certain controller features. This patch adds tx-fifo-depth and rx-fifo-depth properties to the stmmac document file. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8bb820da4ae863c676156627973a950129559fb Author: Robin Gong <b38343@xxxxxxxxxxxxx> Date: Thu Apr 16 10:54:18 2015 +0800 spi: check tx_buf and rx_buf in spi_unmap_msg Some spi device drivers use the same tx_buf and rx_buf repeatly for better performance such as driver/input/touchsreen/ads7846.c, but spi core grab tx_buf /rx_buf of transfer and set them as dummy_tx/dummy_rx once they are NULL. Thus, in the second time the tx_buf/rx_buf will be replaced by dummy_tx/dummy_rx and the data which produced by the last tx or rx may be wrongly sent to the device or handled by the upper level protocol. This patch just keep the orignal value of tx_buf/rx_buf if they are NULL after this transfer processed. Signed-off-by: Robin Gong <b38343@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 145367baa492246cc19d7e859db642e6fed6908e Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Apr 16 07:51:26 2015 +0000 spi: bcm2835: change timeout of polling driver to 1s The way that the timeout code is written in the polling function the timeout does also trigger when interrupted or rescheduled while in the polling loop. This patch changes the timeout from effectively 20ms (=2 jiffies) to 1 second and removes the time that the transfer really takes out of the computation, as - per design - this is <30us and the jiffie resolution is 10ms so that does not make any difference what so ever. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e743471f8d9c6ad00eb10a6d1e05803231e1de83 Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 17:56:03 2015 +0100 stmmac: fix oops on rmmod after assigning ip addr An oops exists in the flow of stmmac_release(). phy_ethtool_get_wol() depends on phydev->drv. phydev->drv will be null after stmmac_mdio_unreg() completes. Steps to reproduce on Quark X1000: 1. ifconfig eth0 192.168.0.1 2. rmmod stmmac_pci To fix this stmmac_mdio_unreg() should be run after unregister_netdev(). Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Reported-by: Dan O'Donovan <dan.odonovan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16b8528d20607925899b1df93bfd8fbab98d267c Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed Apr 15 09:44:37 2015 -0700 megaraid_sas: use raw_smp_processor_id() We only want to steer the I/O completion towards a queue, but don't actually access any per-CPU data, so the raw_ version is fine to use and avoids the warnings when using smp_processor_id(). Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reported-by: Andy Lutomirski <luto@xxxxxxxxxx> Tested-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e557990e358934fb168d30371c9c0f63e314c6b8 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Tue Apr 14 17:11:03 2015 -0400 sd: Fix missing ATO tag check 3aec2f41a8bae introduced a merge error where we would end up check for sdkp instead of sdkp->ATO. Fix this so we register app tag capability correctly. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.17+ Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e727c42bd55794765c460b7ac2b6cc969f2a9698 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Tue Apr 14 16:56:23 2015 -0400 sd: Unregister integrity profile The new integrity code did not correctly unregister the profile for SD disks. Call blk_integrity_unregister() when we release a disk. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Tested-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.17+ Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 10027551ccf5459cc771c31ac8bc8e5cc8db45f8 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Apr 9 17:03:53 2015 -0700 f2fs: pass checkpoint reason on roll-forward recovery This patch adds CP_RECOVERY to remain recovery information for checkpoint. And, it makes sure writing checkpoint in this case. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit feb7cbb079e63ebb7c0bd7022d2ba9c1dd15c69b Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Apr 15 13:49:55 2015 -0700 f2fs: avoid abnormal behavior on broken symlink When f2fs_symlink was triggered and checkpoint was done before syncing its link path, f2fs can get broken symlink like "xxx -> \0\0\0". This incurs abnormal path_walk by VFS. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d0cae97cb600d84a7e00df6f83ab3b2f60d8d7f7 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Apr 15 13:37:53 2015 -0700 f2fs: flush symlink path to avoid broken symlink after POR This patch tries to avoid broken symlink case after POR in best effort. This results in performance regression. But, if f2fs has inline_data and the target path is under 3KB-sized long, the page would be stored in its inode_block, so that there would be no performance regression. Note that, if user wants to keep this file atomically, it needs to trigger dir->fsync. And, there is still a hole to produce broken symlink. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 31976cfdc7e2e8b0b23d731703e4f1e21ff79466 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Apr 16 06:49:50 2015 -0700 dsa: mv88e6xxx: Drop duplicate declaration of 'ret' variable A duplicate declaration of 'ret' can result in hiding an error code. Drop it. Fixes: 17ee3e04ddbf ("net: dsa: Provide additional RMON statistics") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a950ad58d412d76d33f4f4399d69308d511c1a4 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 21:17:35 2015 +0800 netns: remove duplicated include from net_namespace.c Remove duplicated include. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b892e98090fed57797528bb17abcca260f23df2d Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 21:06:47 2015 +0800 ethernet: remove unused including <linux/version.h> Remove including <linux/version.h> that don't need it. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3122a92e80957e30ea9afd963128c6e6c0f5c2ac Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 20:21:02 2015 +0800 rocker: fix error return code in rocker_probe() Fix to return -EINVAL from the invalid PCI region size error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 538cc282a3efb62cdb62ff9e6e44918c11a3c886 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Apr 15 22:12:42 2015 -0700 dsa: mv88e6xxx: Fix error handling in mv88e6xxx_set_port_state Return correct error code if _mv88e6xxx_reg_read returns an error. Fixes: facd95b2e0ec0 ("net: dsa: mv88e6xxx: Add Hardware bridging support") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 540207ae69777b85d167df28f469e77f0fcbb8f9 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Apr 15 11:48:49 2015 -0700 fou: avoid missing unlock in failure path Fixes: 7a6c8c34e5b7 ("fou: implement FOU_CMD_GET") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3de6317d748e23b9e46ba36e10483728d00d144 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Apr 14 15:57:13 2015 -0700 bpf: fix verifier memory corruption Due to missing bounds check the DAG pass of the BPF verifier can corrupt the memory which can cause random crashes during program loading: [8.449451] BUG: unable to handle kernel paging request at ffffffffffffffff [8.451293] IP: [<ffffffff811de33d>] kmem_cache_alloc_trace+0x8d/0x2f0 [8.452329] Oops: 0000 [#1] SMP [8.452329] Call Trace: [8.452329] [<ffffffff8116cc82>] bpf_check+0x852/0x2000 [8.452329] [<ffffffff8116b7e4>] bpf_prog_load+0x1e4/0x310 [8.452329] [<ffffffff811b190f>] ? might_fault+0x5f/0xb0 [8.452329] [<ffffffff8116c206>] SyS_bpf+0x806/0xa30 Fixes: f1bca824dabb ("bpf: add search pruning optimization to verifier") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f72f116a2a70f616ea44f86775ae6404c84ea8ef Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Apr 14 13:24:33 2015 -0700 cxgb4: drop __GFP_NOFAIL allocation set_filter_wr is requesting __GFP_NOFAIL allocation although it can return ENOMEM without any problems obviously (t4_l2t_set_switching does that already). So the non-failing requirement is too strong without any obvious reason. Drop __GFP_NOFAIL and reorganize the code to have the failure paths easier. The same applies to _c4iw_write_mem_dma_aligned which uses __GFP_NOFAIL and then checks the return value and returns -ENOMEM on failure. This doesn't make any sense what so ever. Either the allocation cannot fail or it can. del_filter_wr seems to be safe as well because the filter entry is not marked as pending and the return value is propagated up the stack up to c4iw_destroy_listen. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Hariprasad S <hariprasad@xxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4155fc07fa9fd691d424e7f8fb64591cccb88788 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Mar 20 17:57:47 2015 +0000 Doc: dt: arch_timer: discourage clock-frequency use The ARM Generic Timer (AKA the architected timer, arm_arch_timer) features a CPU register (CNTFRQ) which firmware is intended to initialize, and non-secure software can read to determine the frequency of the timer. On CPUs with secure state, this register cannot be written from non-secure states. The firmware of early SoCs featuring the timer did not correctly initialize CNTFRQ correctly on all CPUs, requiring the frequency to be described in DT as a workaround. This workaround is not complete however as it is exposed to all software in a privileged non-secure mode (including guests running under a hypervisor). The firmware and DTs for recent SoCs have followed the example set by these early SoCs. This patch updates the arch timer binding documentation to make it clearer that the use of the clock-frequency property is a poor work-around. The MMIO generic timer binding is similarly updated, though this is less of a concern as there is generally no need to expose the MMIO timers to guest OSs. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 7d4b5e978ad350916b5c3995490b09c4e59cec4a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 16 15:14:53 2015 +0200 ALSA: hda - Fix regression for slave SPDIF setups The commit [a551d91473e5: ALSA: hda - Use regmap for command verb caches, too] introduced a regression due to a typo in the conversion; the IEC958 status bits of slave digital devices aren't updated correctly. This patch corrects it. Fixes: a551d91473e5 ('ALSA: hda - Use regmap for command verb caches, too') Reported-and-tested-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 84fce9db4d7eaebd6cb2ee30c15da6d4e4daf846 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Apr 16 13:44:44 2015 +0900 tracing: Fix incorrect enabling of trace events by boot cmdline There is a problem that trace events are not properly enabled with boot cmdline. The problem is that if we pass "trace_event=kmem:mm_page_alloc" to the boot cmdline, it enables all kmem trace events, and not just the page_alloc event. This is caused by the parsing mechanism. When we parse the cmdline, the buffer contents is modified due to tokenization. And, if we use this buffer again, we will get the wrong result. Unfortunately, this buffer is be accessed three times to set trace events properly at boot time. So, we need to handle this situation. There is already code handling ",", but we need another for ":". This patch adds it. Link: http://lkml.kernel.org/r/1429159484-22977-1-git-send-email-iamjoonsoo.kim@xxxxxxx Cc: stable@xxxxxxxxxxxxxxx # 3.19+ Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> [ added missing return ret; ] Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit ef99b88b16bee753fa51207abdc58ae660453ec6 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Apr 13 22:30:12 2015 +0200 tracing: Handle ftrace_dump() atomic context in graph_trace_open() graph_trace_open() can be called in atomic context from ftrace_dump(). Use GFP_ATOMIC for the memory allocations when that's the case, in order to avoid the following splat. BUG: sleeping function called from invalid context at mm/slab.c:2849 in_atomic(): 1, irqs_disabled(): 128, pid: 0, name: swapper/0 Backtrace: .. [<8004dc94>] (__might_sleep) from [<801371f4>] (kmem_cache_alloc_trace+0x160/0x238) r7:87800040 r6:000080d0 r5:810d16e8 r4:000080d0 [<80137094>] (kmem_cache_alloc_trace) from [<800cbd60>] (graph_trace_open+0x30/0xd0) r10:00000100 r9:809171a8 r8:00008e28 r7:810d16f0 r6:00000001 r5:810d16e8 r4:810d16f0 [<800cbd30>] (graph_trace_open) from [<800c79c4>] (trace_init_global_iter+0x50/0x9c) r8:00008e28 r7:808c853c r6:00000001 r5:810d16e8 r4:810d16f0 r3:800cbd30 [<800c7974>] (trace_init_global_iter) from [<800c7aa0>] (ftrace_dump+0x90/0x2ec) r4:810d2580 r3:00000000 [<800c7a10>] (ftrace_dump) from [<80414b2c>] (sysrq_ftrace_dump+0x1c/0x20) r10:00000100 r9:809171a8 r8:808f6e7c r7:00000001 r6:00000007 r5:0000007a r4:808d5394 [<80414b10>] (sysrq_ftrace_dump) from [<800169b8>] (return_to_handler+0x0/0x18) [<80415498>] (__handle_sysrq) from [<800169b8>] (return_to_handler+0x0/0x18) r8:808c8100 r7:808c8444 r6:00000101 r5:00000010 r4:84eb3210 [<80415668>] (handle_sysrq) from [<800169b8>] (return_to_handler+0x0/0x18) [<8042a760>] (pl011_int) from [<800169b8>] (return_to_handler+0x0/0x18) r10:809171bc r9:809171a8 r8:00000001 r7:00000026 r6:808c6000 r5:84f01e60 r4:8454fe00 [<8007782c>] (handle_irq_event_percpu) from [<80077b44>] (handle_irq_event+0x4c/0x6c) r10:808c7ef0 r9:87283e00 r8:00000001 r7:00000000 r6:8454fe00 r5:84f01e60 r4:84f01e00 [<80077af8>] (handle_irq_event) from [<8007aa28>] (handle_fasteoi_irq+0xf0/0x1ac) r6:808f52a4 r5:84f01e60 r4:84f01e00 r3:00000000 [<8007a938>] (handle_fasteoi_irq) from [<80076dc0>] (generic_handle_irq+0x3c/0x4c) r6:00000026 r5:00000000 r4:00000026 r3:8007a938 [<80076d84>] (generic_handle_irq) from [<80077128>] (__handle_domain_irq+0x8c/0xfc) r4:808c1e38 r3:0000002e [<8007709c>] (__handle_domain_irq) from [<800087b8>] (gic_handle_irq+0x34/0x6c) r10:80917748 r9:00000001 r8:88802100 r7:808c7ef0 r6:808c8fb0 r5:00000015 r4:8880210c r3:808c7ef0 [<80008784>] (gic_handle_irq) from [<80014044>] (__irq_svc+0x44/0x7c) Link: http://lkml.kernel.org/r/1428953721-31349-1-git-send-email-rabin@xxxxxx Link: http://lkml.kernel.org/r/1428957012-2319-1-git-send-email-rabin@xxxxxx Cc: stable@xxxxxxxxxxxxxxx # 3.13+ Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 542c311813d5cb2e6f0dfa9557f41c829b8fb6a0 Merge: 6a63ef0 0cefb29 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Thu Apr 16 22:13:18 2015 +1000 Merge branch 'xfs-dio-extend-fix' into for-next Conflicts: fs/xfs/xfs_file.c commit 0cefb29e6a63727bc7606c47fc538467594ef112 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 22:03:27 2015 +1000 xfs: using generic_file_direct_write() is unnecessary generic_file_direct_write() does all sorts of things to make DIO work "sorta ok" with mixed buffered IO workloads. We already do most of this work in xfs_file_aio_dio_write() because of the locking requirements, so there's only a couple of things it does for us. The first thing is that it does a page cache invalidation after the ->direct_IO callout. This can easily be added to the XFS code. The second thing it does is that if data was written, it updates the iov_iter structure to reflect the data written, and then does EOF size updates if necessary. For XFS, these EOF size updates are now not necessary, as we do them safely and race-free in IO completion context. That leaves just the iov_iter update, and that's also moved to the XFS code. Therefore we don't need to call generic_file_direct_write() and in doing so remove redundant buffered writeback and page cache invalidation calls from the DIO submission path. We also remove a racy EOF size update, and make the DIO submission code in XFS much easier to follow. Wins all round, really. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 40c63fbc55a968383b8bb5cacad81585e80cd323 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 22:03:17 2015 +1000 xfs: direct IO EOF zeroing needs to drain AIO When we are doing AIO DIO writes, the IOLOCK only provides an IO submission barrier. When we need to do EOF zeroing, we need to ensure that no other IO is in progress and all pending in-core EOF updates have been completed. This requires us to wait for all outstanding AIO DIO writes to the inode to complete and, if necessary, run their EOF updates. Once all the EOF updates are complete, we can then restart xfs_file_aio_write_checks() while holding the IOLOCK_EXCL, knowing that EOF is up to date and we have exclusive IO access to the file so we can run EOF block zeroing if we need to without interference. This gives EOF zeroing the same exclusivity against other IO as we provide truncate operations. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b9d59846f73713d77f0f3fb784c7f84249fc2b93 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 22:03:07 2015 +1000 xfs: DIO write completion size updates race xfs_end_io_direct_write() can race with other IO completions when updating the in-core inode size. The IO completion processing is not serialised for direct IO - they are done either under the IOLOCK_SHARED for non-AIO DIO, and without any IOLOCK held at all during AIO DIO completion. Hence the non-atomic test-and-set update of the in-core inode size is racy and can result in the in-core inode size going backwards if the race if hit just right. If the inode size goes backwards, this can trigger the EOF zeroing code to run incorrectly on the next IO, which then will zero data that has successfully been written to disk by a previous DIO. To fix this bug, we need to serialise the test/set updates of the in-core inode size. This first patch introduces locking around the relevant updates and checks in the DIO path. Because we now have an ioend in xfs_end_io_direct_write(), we know exactly then we are doing an IO that requires an in-core EOF update, and we know that they are not running in interrupt context. As such, we do not need to use irqsave() spinlock variants to protect against interrupts while the lock is held. Hence we can use an existing spinlock in the inode to do this serialisation and so not need to grow the struct xfs_inode just to work around this problem. This patch does not address the test/set EOF update in generic_file_write_direct() for various reasons - that will be done as a followup with separate explanation. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a06c277a13c3620c8ee9304891758f2fcff9c4a4 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 22:00:00 2015 +1000 xfs: DIO writes within EOF don't need an ioend DIO writes that lie entirely within EOF have nothing to do in IO completion. In this case, we don't need no steekin' ioend, and so we can avoid allocating an ioend until we have a mapping that spans EOF. This means that IO completion has two contexts - deferred completion to the dio workqueue that uses an ioend, and interrupt completion that does nothing because there is nothing that can be done in this context. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 6dfa1b67e3b3a9bf536e2fb9ed99001c219822a5 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 21:59:34 2015 +1000 xfs: handle DIO overwrite EOF update completion correctly Currently a DIO overwrite that extends the EOF (e.g sub-block IO or write into allocated blocks beyond EOF) requires a transaction for the EOF update. Thi is done in IO completion context, but we aren't explicitly handling this situation properly and so it can run in interrupt context. Ensure that we defer IO that spans EOF correctly to the DIO completion workqueue, and now that we have an ioend in IO completion we can use the common ioend completion path to do all the work. Note: we do not preallocate the append transaction as we can have multiple mapping and allocation calls per direct IO. hence preallocating can still leave us with nested transactions by attempting to map and allocate more blocks after we've preallocated an append transaction. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d5cc2e3f968ff60f247fdef15b04fac788ef46d2 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 21:59:07 2015 +1000 xfs: DIO needs an ioend for writes Currently we can only tell DIO completion that an IO requires unwritten extent completion. This is done by a hacky non-null private pointer passed to Io completion, but the private pointer does not actually contain any information that is used. We also need to pass to IO completion the fact that the IO may be beyond EOF and so a size update transaction needs to be done. This is currently determined by checks in the io completion, but we need to determine if this is necessary at block mapping time as we need to defer the size update transactions to a completion workqueue, just like unwritten extent conversion. To do this, first we need to allocate and pass an ioend to to IO completion. Add this for unwritten extent conversion; we'll do the EOF updates in the next commit. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 1fdca9c21198b2c2869086ac3629612492476f28 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 21:58:21 2015 +1000 xfs: move DIO mapping size calculation The mapping size calculation is done last in __xfs_get_blocks(), but we are going to need the actual mapping size we will use to map the direct IO correctly in xfs_map_direct(). Factor out the calculation for code clarity, and move the call to be the first operation in mapping the extent to the returned buffer. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a719370be52d1152a5f6e19c4af3b73280e25475 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 21:57:48 2015 +1000 xfs: factor DIO write mapping from get_blocks Clarify and separate the buffer mapping logic so that the direct IO mapping is not tangled up in propagating the extent status to teh mapping buffer. This makes it easier to extend the direct IO mapping to use an ioend in future. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fd0f86b66425bd8c6af8985881e82b28c30fd450 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Apr 16 00:40:25 2015 -0700 x86/ptrace: Fix the TIF_FORCED_TF logic in handle_signal() When the TIF_SINGLESTEP tracee dequeues a signal, handle_signal() clears TIF_FORCED_TF and X86_EFLAGS_TF but leaves TIF_SINGLESTEP set. If the tracer does PTRACE_SINGLESTEP again, enable_single_step() sets X86_EFLAGS_TF but not TIF_FORCED_TF. This means that the subsequent PTRACE_CONT doesn't not clear X86_EFLAGS_TF, and the tracee gets the wrong SIGTRAP. Test-case (needs -O2 to avoid prologue insns in signal handler): #include <unistd.h> #include <stdio.h> #include <sys/ptrace.h> #include <sys/wait.h> #include <sys/user.h> #include <assert.h> #include <stddef.h> void handler(int n) { asm("nop"); } int child(void) { assert(ptrace(PTRACE_TRACEME, 0,0,0) == 0); signal(SIGALRM, handler); kill(getpid(), SIGALRM); return 0x23; } void *getip(int pid) { return (void*)ptrace(PTRACE_PEEKUSER, pid, offsetof(struct user, regs.rip), 0); } int main(void) { int pid, status; pid = fork(); if (!pid) return child(); assert(wait(&status) == pid); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGALRM); assert(ptrace(PTRACE_SINGLESTEP, pid, 0, SIGALRM) == 0); assert(wait(&status) == pid); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGTRAP); assert((getip(pid) - (void*)handler) == 0); assert(ptrace(PTRACE_SINGLESTEP, pid, 0, SIGALRM) == 0); assert(wait(&status) == pid); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGTRAP); assert((getip(pid) - (void*)handler) == 1); assert(ptrace(PTRACE_CONT, pid, 0,0) == 0); assert(wait(&status) == pid); assert(WIFEXITED(status) && WEXITSTATUS(status) == 0x23); return 0; } The last assert() fails because PTRACE_CONT wrongly triggers another single-step and X86_EFLAGS_TF can't be cleared by debugger until the tracee does sys_rt_sigreturn(). Change handle_signal() to do user_disable_single_step() if stepping, we do not need to preserve TIF_SINGLESTEP because we are going to do ptrace_notify(), and it is simply wrong to leak this bit. While at it, change the comment to explain why we also need to clear TF unconditionally after setup_rt_frame(). Note: in the longer term we should probably change setup_sigcontext() to use get_flags() and then just remove this user_disable_single_step(). And, the state of TIF_FORCED_TF can be wrong after restore_sigcontext() which can set/clear TF, this needs another fix. This fix fixes the 'single_step_syscall_32' testcase in the x86 testsuite: Before: ~/linux/tools/testing/selftests/x86> ./single_step_syscall_32 [RUN] Set TF and check nop [OK] Survived with TF set and 9 traps [RUN] Set TF and check int80 [OK] Survived with TF set and 9 traps [RUN] Set TF and check a fast syscall [WARN] Hit 10000 SIGTRAPs with si_addr 0xf7789cc0, ip 0xf7789cc0 Trace/breakpoint trap (core dumped) After: ~/linux/linux/tools/testing/selftests/x86> ./single_step_syscall_32 [RUN] Set TF and check nop [OK] Survived with TF set and 9 traps [RUN] Set TF and check int80 [OK] Survived with TF set and 9 traps [RUN] Set TF and check a fast syscall [OK] Survived with TF set and 39 traps [RUN] Fast syscall with TF cleared [OK] Nothing unexpected happened Reported-by: Evan Teran <eteran@xxxxxxxxxxxx> Reported-by: Pedro Alves <palves@xxxxxxxxxx> Tested-by: Andres Freund <andres@xxxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Added x86 self-test info. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a15584d72760a3b83d97af85d37ffaa2c42068d Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Apr 15 16:10:07 2015 -0700 x86, selftests: Add single_step_syscall test This is a very simple test that makes system calls with TF set. This test currently fails when running the 32-bit build on a 64-bit kernel on an Intel CPU. This bug will be fixed by the next commit. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Shuah Khan <shuah.kh@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/20e68021155f6ab5c60590dcad81d37c68ea2c4f.1429139075.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3047755588e71b67c3f60409686fabf8506357e9 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Apr 15 18:16:47 2015 -0500 ALSA: intel8x0: Check pci_iomap() success for DEVICE_ALI DEVICE_ALI previously would jump to port_inited after calling pci_iomap(), bypassing the check for bmaddr being NULL. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 828fa8ce5a8d75169f16740c28c8a1b7c13dd96b Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Apr 15 13:29:05 2015 +0200 ALSA: hda - simplify azx_has_pm_runtime Because AZX_DCAPS_PM_RUNTIME is always defined as non-zero, the initial part of the expression can be skipped. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6ddb2447846a8ece111e316a2863c2355023682d Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Apr 16 01:56:00 2015 -0400 ext4 crypto: enable encryption feature flag Also add the test dummy encryption mode flag so we can more easily test the encryption patches using xfstests. Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f348c252320b98e11176074fe04223f22bddaf0d Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Apr 16 01:55:00 2015 -0400 ext4 crypto: add symlink encryption Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 65204c84d7666a78e965da0dd8696bdb007606dd Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Apr 15 09:04:41 2015 +0200 target: fix tcm_mod_builder.py Fix a misplaced comma I introduced. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 64d240b721b21e266ffde645ec965c3b6d1c551f Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Mon Apr 13 23:21:58 2015 +0900 target/file: Fix UNMAP with DIF protection support When UNMAP command is issued with DIF protection support enabled, the protection info for the unmapped region is remain unchanged. So READ command for the region causes data integrity failure. This fixes it by invalidating protection info for the unmapped region by filling with 0xff pattern. This change also adds helper function fd_do_prot_fill() in order to reduce code duplication with existing fd_format_prot(). Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c836777830428372074d5129ac513e1472c99791 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Mon Apr 13 23:21:57 2015 +0900 target/file: Fix SG table for prot_buf initialization In fd_do_prot_rw(), it allocates prot_buf which is used to copy from se_cmd->t_prot_sg by sbc_dif_copy_prot(). The SG table for prot_buf is also initialized by allocating 'se_cmd->t_prot_nents' entries of scatterlist and setting the data length of each entry to PAGE_SIZE at most. However if se_cmd->t_prot_sg contains a clustered entry (i.e. sg->length > PAGE_SIZE), the SG table for prot_buf can't be initialized correctly and sbc_dif_copy_prot() can't copy to prot_buf. (This actually happened with TCM loopback fabric module) As prot_buf is allocated by kzalloc() and it's physically contiguous, we only need a single scatterlist entry. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 38da0f49e8aa1649af397d53f88e163d0e60c058 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Mon Apr 13 23:21:56 2015 +0900 target/file: Fix BUG() when CONFIG_DEBUG_SG=y and DIF protection enabled When CONFIG_DEBUG_SG=y and DIF protection support enabled, kernel BUG()s are triggered due to the following two issues: 1) prot_sg is not initialized by sg_init_table(). When CONFIG_DEBUG_SG=y, scatterlist helpers check sg entry has a correct magic value. 2) vmalloc'ed buffer is passed to sg_set_buf(). sg_set_buf() uses virt_to_page() to convert virtual address to struct page, but it doesn't work with vmalloc address. vmalloc_to_page() should be used instead. As prot_buf isn't usually too large, so fix it by allocating prot_buf by kmalloc instead of vmalloc. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit dc0fafdab88b98581728a574885d0e4d9c6d0640 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Tue Apr 14 13:26:06 2015 +0200 target: Make core_tmr_abort_task() skip TMFs The loop in core_tmr_abort_task() iterates over sess_cmd_list. That list is a list of regular commands and task management functions (TMFs). Skip TMFs in this loop instead of letting the target drivers filter out TMFs in their get_task_tag() callback function. (Drop bogus check removal in tcm_qla2xxx_get_task_tag - nab) Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Andy Grover <agrover@xxxxxxxxxx> Cc: <qla2xxx-upstream@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6ae504082188d25178ac9a22197fee89ebda232c Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Apr 14 11:59:20 2015 -0700 target/sbc: Update sbc_dif_generate pr_debug output Now that sbc_dif_generate can also be called for READ_INSERT, update the debugging message accordingly. Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit d7a463b0acc3fecf9d01cd5d518bf46578658ff3 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Apr 14 11:57:43 2015 -0700 target/sbc: Make internal DIF emulation honor ->prot_checks The internal DIF emulation was not honoring se_cmd->prot_checks for the WRPROTECT/RDPROTECT == 0x3 case, so sbc_dif_v1_verify() has been updated to follow which checks have been calculated based on WRPROTECT/RDPROTECT in sbc_set_prot_op_checks(). Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cceca4a638708c7f62e60f9f99684a8d57358dd0 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Apr 14 11:55:01 2015 -0700 target/sbc: Return INVALID_CDB_FIELD if DIF + sess_prot_type disabled In sbc_check_prot(), if PROTECT is non-zero for a backend device with DIF disabled, and sess_prot_type is not set go ahead and return INVALID_CDB_FIELD. Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit bffb5128f91e820fd8804307a6431607c2c840a4 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Apr 14 11:52:22 2015 -0700 target: Ensure sess_prot_type is saved across session restart The following incremental patch saves the current sess_prot_type into se_node_acl, and will always reset sess_prot_type if a previous saved value exists. So the PI setting for the fabric's session with backend devices not supporting PI is persistent across session restart. (Fix se_node_acl dereference for discovery sessions - DanCarpenter) Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 34c9a0ffc75ad25b6a60f61e27c4a4b1189b8085 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 11:07:13 2015 +0800 crypto: fix broken crypto_register_instance() module handling Commit 9c521a200bc3 ("crypto: api - remove instance when test failed") tried to grab a module reference count before the module was even set. Worse, it then goes on to free the module reference count after it is set so you quickly end up with a negative module reference count which prevents people from using any instances belonging to that module. This patch moves the module initialisation before the reference count. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1527781d228cd88af6c2f78c13a9cb43b3f69f30 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Apr 16 12:33:51 2015 +0930 cpumask: resurrect CPU_MASK_CPU0 We removed it in 2f0f267ea072 (cpumask: remove deprecated functions.), but grep shows it still used by MIPS, and not unreasonably. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit eea3a00264cf243a28e4331566ce67b86059339d Merge: e7c8241 e693d73 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:39:15 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge second patchbomb from Andrew Morton: - the rest of MM - various misc bits - add ability to run /sbin/reboot at reboot time - printk/vsprintf changes - fiddle with seq_printf() return value * akpm: (114 commits) parisc: remove use of seq_printf return value lru_cache: remove use of seq_printf return value tracing: remove use of seq_printf return value cgroup: remove use of seq_printf return value proc: remove use of seq_printf return value s390: remove use of seq_printf return value cris fasttimer: remove use of seq_printf return value cris: remove use of seq_printf return value openrisc: remove use of seq_printf return value ARM: plat-pxa: remove use of seq_printf return value nios2: cpuinfo: remove use of seq_printf return value microblaze: mb: remove use of seq_printf return value ipc: remove use of seq_printf return value rtc: remove use of seq_printf return value power: wakeup: remove use of seq_printf return value x86: mtrr: if: remove use of seq_printf return value linux/bitmap.h: improve BITMAP_{LAST,FIRST}_WORD_MASK MAINTAINERS: CREDITS: remove Stefano Brivio from B43 .mailmap: add Ricardo Ribalda CREDITS: add Ricardo Ribalda Delgado ... commit e693d73c20ffdb06840c9378f367bad849ac0d5d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:28 2015 -0700 parisc: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d50f8f8d91a7dcb6110c4600072c62fc44b65572 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:25 2015 -0700 lru_cache: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 962e3707d9fb16bcf66ec5e5ebcea5248b9c2ab3 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:22 2015 -0700 tracing: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Miscellanea: o Remove unused return value from trace_lookup_stack Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 94ff212d096d96afea29e41585b0d8ce41087c0f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:20 2015 -0700 cgroup: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25ce319167b517a913a2ba9fc80da8330dbc3249 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:17 2015 -0700 proc: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c2f0b61d8969adf0dfb11aea7b700740fde6420b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:14 2015 -0700 s390: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Cc: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dc640a8813c0015e5a620d41e47df94c9879749d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:11 2015 -0700 cris fasttimer: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Miscellanea: o Coalesce formats, realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1336d4221dee528b5a0e92d2b1322790c4df1b53 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:08 2015 -0700 cris: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58a1aa7c83f4ee73d96efd50c4c16ebbeb64622e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:05 2015 -0700 openrisc: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd2b2937c6ae7f8d562d7e08e06da70e778d0323 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:02 2015 -0700 ARM: plat-pxa: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, (as it is here, it doesn't return # of chars emitted) will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4122669e5266a2af8a84a499cf7821786ed7d2cf Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:00 2015 -0700 nios2: cpuinfo: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Ley Foon Tan <lftan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81f0cd97aaf20b0df97ec888d90aa46f5279282b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:57 2015 -0700 microblaze: mb: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Michal Simek <monstr@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f032d6ef6154868a2a5d5f6b2c3f8587292196c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:54 2015 -0700 ipc: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4395eb1f16cc55406fe3de4546134fc61253a06b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:51 2015 -0700 rtc: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f6a240e8b08d3fa711c2b615e7ea901cf59e590 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:48 2015 -0700 power: wakeup: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ac62bc0602794dc36aad77a7ef5772e989b2e22 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:45 2015 -0700 x86: mtrr: if: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> 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 89c1e79eb302349fcaf0697bc9116a4ff16bfeb0 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:42 2015 -0700 linux/bitmap.h: improve BITMAP_{LAST,FIRST}_WORD_MASK The macro BITMAP_LAST_WORD_MASK can be implemented without a conditional, which will generally lead to slightly better generated code (221 bytes saved for allmodconfig-GCOV_KERNEL, ~2k with GCOV_KERNEL). As a small bonus, this also ensures that the nbits parameter is expanded exactly once. In BITMAP_FIRST_WORD_MASK, if start is signed gcc is technically allowed to assume it is positive (or divisible by BITS_PER_LONG), and hence just do the simple mask. It doesn't seem to use this, and even on an architecture like x86 where the shift only depends on the lower 5 or 6 bits, and these bits are not affected by the signedness of the expression, gcc still generates code to compute the C99 mandated value of start % BITS_PER_LONG. So just use a mask explicitly, also for consistency with BITMAP_LAST_WORD_MASK. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a72ed6fa7e89c5ecd68803cd1160c35b079ea3b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:39 2015 -0700 MAINTAINERS: CREDITS: remove Stefano Brivio from B43 This email address isn't working anymore Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01c7e5a50cc16174b7ccfdbcf32e9bb136f277ba Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Apr 15 16:17:37 2015 -0700 .mailmap: add Ricardo Ribalda Work and Home computer had different settings in the mail client. Some contributions appear as Ricardo Ribalda, others as Ricardo Ribalda Delgado (and one as just Ricardo). Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ca7bf8756a0426e642446ae35df31a29a1b1108 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Apr 15 16:17:34 2015 -0700 CREDITS: add Ricardo Ribalda Delgado Add personal details to CREDITS file. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 49e7d9df9046590ab25788cb2a0cbcf071942e0d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:31 2015 -0700 MAINTAINERS: Use tabs consistently Consistently use a single tab after the "specifier:" type. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 41416f2330112d29f2cfa337bfc7e672bf0c2768 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:28 2015 -0700 lib/string_helpers.c: change semantics of string_escape_mem The current semantics of string_escape_mem are inadequate for one of its current users, vsnprintf(). If that is to honour its contract, it must know how much space would be needed for the entire escaped buffer, and string_escape_mem provides no way of obtaining that (short of allocating a large enough buffer (~4 times input string) to let it play with, and that's definitely a big no-no inside vsnprintf). So change the semantics for string_escape_mem to be more snprintf-like: Return the size of the output that would be generated if the destination buffer was big enough, but of course still only write to the part of dst it is allowed to, and (contrary to snprintf) don't do '\0'-termination. It is then up to the caller to detect whether output was truncated and to append a '\0' if desired. Also, we must output partial escape sequences, otherwise a call such as snprintf(buf, 3, "%1pE", "\123") would cause printf to write a \0 to buf[2] but leaving buf[0] and buf[1] with whatever they previously contained. This also fixes a bug in the escaped_string() helper function, which used to unconditionally pass a length of "end-buf" to string_escape_mem(); since the latter doesn't check osz for being insanely large, it would happily write to dst. For example, kasprintf(GFP_KERNEL, "something and then %pE", ...); is an easy way to trigger an oops. In test-string_helpers.c, the -ENOMEM test is replaced with testing for getting the expected return value even if the buffer is too small. We also ensure that nothing is written (by relying on a NULL pointer deref) if the output size is 0 by passing NULL - this has to work for kasprintf("%pE") to work. In net/sunrpc/cache.c, I think qword_add still has the same semantics. Someone should definitely double-check this. In fs/proc/array.c, I made the minimum possible change, but longer-term it should stop poking around in seq_file internals. [andriy.shevchenko@xxxxxxxxxxxxxxx: simplify qword_add] [andriy.shevchenko@xxxxxxxxxxxxxxx: add missed curly braces] Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3aeddc7d665e41b1ba193f5c427ca52086d085ae Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:25 2015 -0700 lib/string_helpers.c: refactor string_escape_mem When printf is given the format specifier %pE, it needs a way of obtaining the total output size that would be generated if the buffer was large enough, and string_escape_mem doesn't easily provide that. This is a refactorization of string_escape_mem in preparation of changing its external API to provide that information. The somewhat ugly early returns and subsequent seemingly redundant conditionals are to make the following patch touch as little as possible in string_helpers.c while still preserving the current behaviour of never outputting partial escape sequences. That behaviour must also change for %pE to work as one expects from every other printf specifier. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c98f2359600386efd1c6adfabc5a04118a79798 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:23 2015 -0700 lib/vsprintf.c: fix potential NULL deref in hex_string The helper hex_string() is broken in two ways. First, it doesn't increment buf regardless of whether there is room to print, so callers such as kasprintf() that try to probe the correct storage to allocate will get a too small return value. But even worse, kasprintf() (and likely anyone else trying to find the size of the result) pass NULL for buf and 0 for size, so we also have end == NULL. But this means that the end-1 in hex_string() is (char*)-1, so buf < end-1 is true and we get a NULL pointer deref. I double-checked this with a trivial kernel module that just did a kasprintf(GFP_KERNEL, "%14ph", "CrashBoomBang"). Nobody seems to be using %ph with kasprintf, but we might as well fix it before it hits someone. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 900cca2944254edd2d54dc181629314d3177a4af Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Apr 15 16:17:20 2015 -0700 lib/vsprintf: add %pC{,n,r} format specifiers for clocks Add format specifiers for printing struct clk: - '%pC' or '%pCn': name (Common Clock Framework) or address (legacy clock framework) of the clock, - '%pCr': rate of the clock. [akpm@xxxxxxxxxxxxxxxxxxxx: omit code if !CONFIG_HAVE_CLK] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e8a7ba5f5c8c0c94c0c7f1bcd53c0289560c7446 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Apr 15 16:17:17 2015 -0700 lib/vsprintf: Move integer format types to the top Move the format types for 64-bit integers and configurable size integers to the top, so they're next to the other integer format types. While at it, add the missing format types for s32 and u32. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7330660ed2e8d8d4c65b90cea62d8f1ed49c0104 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Apr 15 16:17:14 2015 -0700 lib/vsprintf: document %p parameters passed by reference This patch series improves the documentation for printk() formats, and adds support for printing clocks. The latter has always been a hassle if you wanted to support both the common and legacy clock frameworks. - '%pC' and '%pCn' print the name (Common Clock Framework) or address (legacy clock framework) of a clock, - '%pCr' prints the current clock rate. This patch (of 3): Make sure all %p extensions that take parameters by references are documented to do so. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d1c1b12137fff14363d0cf45c8b7a9ec5cd4578b Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:11 2015 -0700 lib/vsprintf.c: another small hack Making ZEROPAD == '0'-' ', we can eliminate a few more instructions. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ea8d440a86b85c63c2bb7f73988626e682db5f0 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:08 2015 -0700 lib/vsprintf.c: eliminate duplicate hex string array gcc doesn't merge or overlap const char[] objects with identical contents (probably language lawyers would also insist that these things have different addresses), but there's no reason to have the string "0123456789ABCDEF" occur in multiple places. hex_asc_upper is declared in kernel.h and defined in lib/hexdump.c, which is unconditionally compiled in. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e26c12c777118d65aeb97eb1651338e7decae80e Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:05 2015 -0700 lib/vsprintf.c: reduce stack use in number() At least since the initial git commit, when base was passed as a separate parameter, number() has only been called with bases 8, 10 and 16. I'm guessing that 66 was to accommodate 64 0/1, a sign and a '\0', but the buffer is only used for the actual digits. Octal digits carry 3 bits of information, so 24 is enough. Spell that 3*sizeof(num) so one less place needs to be changed should long long ever be 128 bits. Also remove the commented-out code that would handle an arbitrary base. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 51be17dfff753e72872f096ce1e654734f2fec50 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:02 2015 -0700 lib/vsprintf.c: eliminate some branches Since FORMAT_TYPE_INT is simply 1 more than FORMAT_TYPE_UINT, and similarly for BYTE/UBYTE, SHORT/USHORT, LONG/ULONG, we can eliminate a few instructions by making SIGN have the value 1 instead of 2, and then use arithmetic instead of branches for computing the right spec->type. It's a little hacky, but certainly in the same spirit as SMALL needing to have the value 0x20. For example for the spec->qualifier == 'l' case, gcc now generates 75e: 0f b6 53 01 movzbl 0x1(%rbx),%edx 762: 83 e2 01 and $0x1,%edx 765: 83 c2 09 add $0x9,%edx 768: 88 13 mov %dl,(%rbx) instead of 763: 0f b6 53 01 movzbl 0x1(%rbx),%edx 767: 83 e2 02 and $0x2,%edx 76a: 80 fa 01 cmp $0x1,%dl 76d: 19 d2 sbb %edx,%edx 76f: 83 c2 0a add $0xa,%edx 772: 88 13 mov %dl,(%rbx) Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7b1460eccad0621e0c48f52bbedeb7adddc55ac9 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Wed Apr 15 16:16:59 2015 -0700 printk: comment pr_cont() stating it is only to continue a line KERN_CONT is nicely commented in kern_levels.h, but pr_cont() is now used more often, and it lacks the comment stating what it is used for. It can be confused as continuing the log level, but that is not its purpose. Its purpose is to continue a line that had no newline enclosed. This should be documented by pr_cont() as well. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e243304d0a51f5b27a0606c4e5c2ebba6854d20f Author: Joel Stanley <joel@xxxxxxxxx> Date: Wed Apr 15 16:16:56 2015 -0700 powerpc/powernv: reboot when requested by firmware Use orderly_reboot so userspace will to shut itself down via the reboot path. This is required for graceful reboot initiated by the BMC, such as when a user uses ipmitool to issue a 'chassis power cycle' command. Signed-off-by: Joel Stanley <joel@xxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jeremy Kerr <jk@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7a54f46b301cfab8a0d7365aa186545f8b98f22e Author: Joel Stanley <joel@xxxxxxxxx> Date: Wed Apr 15 16:16:53 2015 -0700 kernel/reboot.c: add orderly_reboot for graceful reboot The kernel has orderly_poweroff which allows the kernel to initiate a graceful shutdown of userspace, by running /sbin/poweroff. This adds orderly_reboot that will cause userspace to shut itself down by calling /sbin/reboot. This will be used for shutdown initiated by a system controller on platforms that do not use ACPI. orderly_reboot() should be used when the system wants to allow userspace to gracefully shut itself down. For cases where the system may imminently catch on fire, the existing emergency_restart() provides an immediate reboot without involving userspace. Signed-off-by: Joel Stanley <joel@xxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jeremy Kerr <jk@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7975a9b7323d5a47e5b651bac810f3271e7156df Author: Joel Stanley <joel@xxxxxxxxx> Date: Wed Apr 15 16:16:50 2015 -0700 drivers/sbus/char/envctrl.c: ignore orderly_poweroff return value orderly_poweroff() unconditionally returns 0, so remove the dead code that checks the return value. A future patch will change the return type to void. Signed-off-by: Joel Stanley <joel@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 972fae6993cbbb934345011664dc703c0891dda3 Author: Aaron Tomlin <atomlin@xxxxxxxxxx> Date: Wed Apr 15 16:16:47 2015 -0700 kernel/hung_task.c: change hung_task.c to use for_each_process_thread() In check_hung_uninterruptible_tasks() avoid the use of deprecated while_each_thread(). The "max_count" logic will prevent a livelock - see commit 0c740d0a ("introduce for_each_thread() to replace the buggy while_each_thread()"). Having said this let's use for_each_process_thread(). Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Dave Wysochanski <dwysocha@xxxxxxxxxx> Cc: Aaron Tomlin <atomlin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 96831c0a6738f88f89e7012f4df0a747514af0a0 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Apr 15 16:16:44 2015 -0700 kernel/resource.c: remove deprecated __check_region() and friends All users of __check_region(), check_region(), and check_mem_region() are gone. We got rid of the last user in v4.0-rc1. Remove them. bloat-o-meter on x86_64 shows: add/remove: 0/3 grow/shrink: 0/0 up/down: 0/-102 (-102) function old new delta __kstrtab___check_region 15 - -15 __ksymtab___check_region 16 - -16 __check_region 71 - -71 Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2813893f8b197a14f1e1ddb04d99bce46817c84a Author: Iulia Manda <iulia.manda21@xxxxxxxxx> Date: Wed Apr 15 16:16:41 2015 -0700 kernel: conditionally support non-root users, groups and capabilities There are a lot of embedded systems that run most or all of their functionality in init, running as root:root. For these systems, supporting multiple users is not necessary. This patch adds a new symbol, CONFIG_MULTIUSER, that makes support for non-root users, non-root groups, and capabilities optional. It is enabled under CONFIG_EXPERT menu. When this symbol is not defined, UID and GID are zero in any possible case and processes always have all capabilities. The following syscalls are compiled out: setuid, setregid, setgid, setreuid, setresuid, getresuid, setresgid, getresgid, setgroups, getgroups, setfsuid, setfsgid, capget, capset. Also, groups.c is compiled out completely. In kernel/capability.c, capable function was moved in order to avoid adding two ifdef blocks. This change saves about 25 KB on a defconfig build. The most minimal kernels have total text sizes in the high hundreds of kB rather than low MB. (The 25k goes down a bit with allnoconfig, but not that much. The kernel was booted in Qemu. All the common functionalities work. Adding users/groups is not possible, failing with -ENOSYS. Bloat-o-meter output: add/remove: 7/87 grow/shrink: 19/397 up/down: 1675/-26325 (-24650) [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Iulia Manda <iulia.manda21@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Tested-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c79574abe2baddf569532e7e430e4977771dd25c Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:16:39 2015 -0700 lib/test-hexdump.c: fix initconst confusion const char *...[] is not const, but an array of pointer to const. So these arrays cannot be __initconst, but must be __initdata This fixes section conflicts with LTO. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 946e87981942552e526aca9cb6204f02a6c847cb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Apr 15 16:16:36 2015 -0700 paride: fix the "verbose" module param The verbose module parameter can be set to 2 for extremely verbose messages so the type should be int instead of bool. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Tim Waugh <tim@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 23f40a94d860449f39f00c3350bf850d15983e63 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:16:33 2015 -0700 include/linux: remove empty conditionals Commit 607ca46e97a1 ("UAPI: (Scripted) Disintegrate include/linux") left behind some empty conditional blocks. Since they are useless and may cause a reader to wonder whether something is missing, remove them. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e4bc33245124db69b74a6d853ac76c2976f472d5 Author: Chen Hanxiao <chenhanxiao@xxxxxxxxxxxxxx> Date: Wed Apr 15 16:16:30 2015 -0700 /proc/PID/status: show all sets of pid according to ns If some issues occurred inside a container guest, host user could not know which process is in trouble just by guest pid: the users of container guest only knew the pid inside containers. This will bring obstacle for trouble shooting. This patch adds four fields: NStgid, NSpid, NSpgid and NSsid: a) In init_pid_ns, nothing changed; b) In one pidns, will tell the pid inside containers: NStgid: 21776 5 1 NSpid: 21776 5 1 NSpgid: 21776 5 1 NSsid: 21729 1 0 ** Process id is 21776 in level 0, 5 in level 1, 1 in level 2. c) If pidns is nested, it depends on which pidns are you in. NStgid: 5 1 NSpid: 5 1 NSpgid: 5 1 NSsid: 1 0 ** Views from level 1 [akpm@xxxxxxxxxxxxxxxxxxxx: add CONFIG_PID_NS ifdef] Signed-off-by: Chen Hanxiao <chenhanxiao@xxxxxxxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Tested-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Tested-by: Nathan Scott <nathans@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 201c7b72f0bf38d7f31fd229a01de035d0f10cd1 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Apr 15 16:16:27 2015 -0700 zram: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Acked-by: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 160a117f0864871ae1bab26554a985a1d2861afd Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:24 2015 -0700 zsmalloc: remove extra cond_resched() in __zs_compact Do not perform cond_resched() before the busy compaction loop in __zs_compact(), because this loop does it when needed. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81da9b13f73653bf5f38c63af8029fc459198ac0 Author: Heesub Shin <heesub.shin@xxxxxxxxxxx> Date: Wed Apr 15 16:16:21 2015 -0700 zsmalloc: fix fatal corruption due to wrong size class selection There is no point in overriding the size class below. It causes fatal corruption on the next chunk on the 3264-bytes size class, which is the last size class that is not huge. For example, if the requested size was exactly 3264 bytes, current zsmalloc allocates and returns a chunk from the size class of 3264 bytes, not 4096. User access to this chunk may overwrite head of the next adjacent chunk. Here is the panic log captured when freelist was corrupted due to this: Kernel BUG at ffffffc00030659c [verbose debug info unavailable] Internal error: Oops - BUG: 96000006 [#1] PREEMPT SMP Modules linked in: exynos-snapshot: core register saved(CPU:5) CPUMERRSR: 0000000000000000, L2MERRSR: 0000000000000000 exynos-snapshot: context saved(CPU:5) exynos-snapshot: item - log_kevents is disabled CPU: 5 PID: 898 Comm: kswapd0 Not tainted 3.10.61-4497415-eng #1 task: ffffffc0b8783d80 ti: ffffffc0b71e8000 task.ti: ffffffc0b71e8000 PC is at obj_idx_to_offset+0x0/0x1c LR is at obj_malloc+0x44/0xe8 pc : [<ffffffc00030659c>] lr : [<ffffffc000306604>] pstate: a0000045 sp : ffffffc0b71eb790 x29: ffffffc0b71eb790 x28: ffffffc00204c000 x27: 000000000001d96f x26: 0000000000000000 x25: ffffffc098cc3500 x24: ffffffc0a13f2810 x23: ffffffc098cc3501 x22: ffffffc0a13f2800 x21: 000011e1a02006e3 x20: ffffffc0a13f2800 x19: ffffffbc02a7e000 x18: 0000000000000000 x17: 0000000000000000 x16: 0000000000000feb x15: 0000000000000000 x14: 00000000a01003e3 x13: 0000000000000020 x12: fffffffffffffff0 x11: ffffffc08b264000 x10: 00000000e3a01004 x9 : ffffffc08b263fea x8 : ffffffc0b1e611c0 x7 : ffffffc000307d24 x6 : 0000000000000000 x5 : 0000000000000038 x4 : 000000000000011e x3 : ffffffbc00003e90 x2 : 0000000000000cc0 x1 : 00000000d0100371 x0 : ffffffbc00003e90 Reported-by: Sooyong Suk <s.suk@xxxxxxxxxxx> Signed-off-by: Heesub Shin <heesub.shin@xxxxxxxxxxx> Tested-by: Sooyong Suk <s.suk@xxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 839373e645d12613308d9148041c4bd967bce8d5 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:16:18 2015 -0700 zsmalloc: remove unnecessary insertion/removal of zspage in compaction In putback_zspage, we don't need to insert a zspage into list of zspage in size_class again to just fix fullness group. We could do directly without reinsertion so we could save some instuctions. Reported-by: Heesub Shin <heesub.shin@xxxxxxxxxxx> Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Ganesh Mahendran <opensource.ganesh@xxxxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 495819ead5ad02174208994ca610852a7791a2f2 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:15 2015 -0700 zsmalloc: micro-optimize zs_object_copy() A micro-optimization. Avoid additional branching and reduce (a bit) registry pressure (f.e. s_off += size; d_off += size; may be calculated twise: first for >= PAGE_SIZE check and later for offset update in "else" clause). scripts/bloat-o-meter shows some improvement add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-10 (-10) function old new delta zs_object_copy 550 540 -10 Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1ec7cfb13acb8047ae5baafb43d2cd6b64ac85b9 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:12 2015 -0700 zsmalloc: remove synchronize_rcu from zs_compact() Do not synchronize rcu in zs_compact(). Neither zsmalloc not zram use rcu. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f7d282c717acaae25245c61b6b60e8995ec4ef4 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:09 2015 -0700 zram: deprecate zram attrs sysfs nodes Add Documentation/ABI/obsolete/sysfs-block-zram file and list obsolete and deprecated attributes there. The patch also adds additional information to zram documentation and describes the basic strategy: - the existing RW nodes will be downgraded to WO nodes (in 4.11) - deprecated RO sysfs nodes will eventually be removed (in 4.11) Users will be additionally notified about deprecated attr usage by pr_warn_once() (added to every deprecated attr _show()), as suggested by Minchan Kim. User space is advised to use zram<id>/stat, zram<id>/io_stat and zram<id>/mm_stat files. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Reported-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4f2109f60881585dc04fa0b5657a60556576625c Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:06 2015 -0700 zram: export new 'mm_stat' sysfs attrs Per-device `zram<id>/mm_stat' file provides mm statistics of a particular zram device in a format similar to block layer statistics. The file consists of a single line and represents the following stats (separated by whitespace): orig_data_size compr_data_size mem_used_total mem_limit mem_used_max zero_pages num_migrated Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2f6a3bed7347ee94fe57b3501fddaa646a26d890 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:03 2015 -0700 zram: export new 'io_stat' sysfs attrs Per-device `zram<id>/io_stat' file provides accumulated I/O statistics of particular zram device in a format similar to block layer statistics. The file consists of a single line and represents the following stats (separated by whitespace): failed_reads failed_writes invalid_io notify_free Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 77ba015f9d5c584226a634753e9b318cb272cd41 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:00 2015 -0700 zram: describe device attrs in documentation Briefly describe exported device stat attrs in zram documentation. We will eventually get rid of per-stat sysfs nodes and, thus, clean up Documentation/ABI/testing/sysfs-block-zram file, which is the only source of information about device sysfs nodes. Add `num_migrated' description, since there is no independent `num_migrated' sysfs node (and no corresponding sysfs-block-zram entry), it will be exported via zram<id>/mm_stat file. At this point we can provide minimal description, because sysfs-block-zram still contains detailed information. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8811a9421b325b06a2456ae1b8fe23e838cbfe33 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:15:57 2015 -0700 zram: use generic start/end io accounting Use bio generic_start_io_acct() and generic_end_io_acct() to account device's block layer statistics. This will let users to monitor zram activities using sysstat and similar packages/tools. Apart from the usual per-stat sysfs attr, zram IO stats are now also available in '/sys/block/zram<id>/stat' and '/proc/diskstats' files. We will slowly get rid of per-stat sysfs files. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c72c6160d967ed26a0b136dbab337f821d233509 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:15:55 2015 -0700 zram: move compact_store() to sysfs functions area A cosmetic change. We have a new code layout and keep zram per-device sysfs store and show functions in one place. Move compact_store() to that handlers block to conform to current layout. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 10447b60bee52f026bdbc5fe2aca52d0492fc91d Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:15:52 2015 -0700 zram: remove `num_migrated' device attr This patch introduces rework to zram stats. We have per-stat sysfs nodes, and it makes things a bit hard to use in user space: it doesn't give an immediate stats 'snapshot', it requires user space to use more syscalls - open, read, close for every stat file, with appropriate error checks on every step, etc. First, zram now accounts block layer statistics, available in /sys/block/zram<id>/stat and /proc/diskstats files. So some new stats are available (see Documentation/block/stat.txt), besides, zram's activities now can be monitored by sysstat's iostat or similar tools. Example: cat /sys/block/zram0/stat 248 0 1984 0 251029 0 2008232 5120 0 5116 5116 Second, group currently exported on per-stat basis nodes into two categories (files): -- zram<id>/io_stat accumulates device's IO stats, that are not accounted by block layer, and contains: failed_reads failed_writes invalid_io notify_free Example: cat /sys/block/zram0/io_stat 0 0 0 652572 -- zram<id>/mm_stat accumulates zram mm stats and contains: orig_data_size compr_data_size mem_used_total mem_limit mem_used_max zero_pages num_migrated Example: cat /sys/block/zram0/mm_stat 434634752 270288572 279158784 0 579895296 15060 0 per-stat sysfs nodes are now considered to be deprecated and we plan to remove them (and clean up some of the existing stat code) in two years (as of now, there is no warning printed to syslog about deprecated stats being used). User space is advised to use the above mentioned 3 files. This patch (of 7): Remove sysfs `num_migrated' attribute. We are moving away from per-stat device attrs towards 3 stat files that will accumulate io and mm stats in a format similar to block layer statistics in /sys/block/<dev>/stat. That will be easier to use in user space, and reduce the number of syscalls needed to read zram device statistics. `num_migrated' will return back in zram<id>/mm_stat file. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 888fa374e625f3ee8f3cc2efebf52939d3bb6da1 Author: Yinghao Xie <yinghao.xie@xxxxxxxxxxx> Date: Wed Apr 15 16:15:49 2015 -0700 mm/zsmalloc.c: fix comment for get_pages_per_zspage Signed-off-by: Yinghao Xie <yinghao.xie@xxxxxxxxxxx> Suggested-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d02be50dba649b4246e0c1c4b7cb5d8a8d49de9a Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:46 2015 -0700 zsmalloc: zsmalloc documentation Create zsmalloc doc which explains design concept and stat information. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 248ca1b053c82fa22427d22b33ac51a24c88a86d Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:42 2015 -0700 zsmalloc: add fullness into stat During investigating compaction, fullness information of each class is helpful for investigating how the compaction works well. With that, we could know how compaction works well more clear on each size class. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7b60a68529b0d827d26ea3426c2addd071bff789 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:39 2015 -0700 zsmalloc: record handle in page->private for huge object We store handle on header of each allocated object so it increases the size of each object by sizeof(unsigned long). If zram stores 4096 bytes to zsmalloc(ie, bad compression), zsmalloc needs 4104B-class to add handle. However, 4104B-class has 1-pages_per_zspage so wasted size by internal fragment is 8192 - 4104, which is terrible. So this patch records the handle in page->private on such huge object(ie, pages_per_zspage == 1 && maxobj_per_zspage == 1) instead of header of each object so we could use 4096B-class, not 4104B-class. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e3ba87845420e0bfa21e6c4f7f81897aed38f8c Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:36 2015 -0700 zram: support compaction Now that zsmalloc supports compaction, zram can use it. For the first step, this patch exports compact knob via sysfs so user can do compaction via "echo 1 > /sys/block/zram0/compact". Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d3d07c92ff69f784bb8c3279fa87678bfa2f7f6f Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:33 2015 -0700 zsmalloc: adjust ZS_ALMOST_FULL Curretly, zsmalloc regards a zspage as ZS_ALMOST_EMPTY if the zspage has under 1/4 used objects(ie, fullness_threshold_frac). It could make result in loose packing since zsmalloc migrates only ZS_ALMOST_EMPTY zspage out. This patch changes the rule so that zsmalloc makes zspage which has above 3/4 used object ZS_ALMOST_FULL so it could make tight packing. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 312fcae227037619dc858c9ccd362c7b847730a2 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:30 2015 -0700 zsmalloc: support compaction This patch provides core functions for migration of zsmalloc. Migraion policy is simple as follows. for each size class { while { src_page = get zs_page from ZS_ALMOST_EMPTY if (!src_page) break; dst_page = get zs_page from ZS_ALMOST_FULL if (!dst_page) dst_page = get zs_page from ZS_ALMOST_EMPTY if (!dst_page) break; migrate(from src_page, to dst_page); } } For migration, we need to identify which objects in zspage are allocated to migrate them out. We could know it by iterating of freed objects in a zspage because first_page of zspage keeps free objects singly-linked list but it's not efficient. Instead, this patch adds a tag(ie, OBJ_ALLOCATED_TAG) in header of each object(ie, handle) so we could check whether the object is allocated easily. This patch adds another status bit in handle to synchronize between user access through zs_map_object and migration. During migration, we cannot move objects user are using due to data coherency between old object and new object. [akpm@xxxxxxxxxxxxxxxxxxxx: zsmalloc.c needs sched.h for cond_resched()] Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c78062612fb525430b775a0bef4d3cc07e512da0 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:26 2015 -0700 zsmalloc: factor out obj_[malloc|free] In later patch, migration needs some part of functions in zs_malloc and zs_free so this patch factor out them. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2e40e163a25af3bd35d128d3e2e005916de5cce6 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:23 2015 -0700 zsmalloc: decouple handle and object Recently, we started to use zram heavily and some of issues popped. 1) external fragmentation I got a report from Juneho Choi that fork failed although there are plenty of free pages in the system. His investigation revealed zram is one of the culprit to make heavy fragmentation so there was no more contiguous 16K page for pgd to fork in the ARM. 2) non-movable pages Other problem of zram now is that inherently, user want to use zram as swap in small memory system so they use zRAM with CMA to use memory efficiently. However, unfortunately, it doesn't work well because zRAM cannot use CMA's movable pages unless it doesn't support compaction. I got several reports about that OOM happened with zram although there are lots of swap space and free space in CMA area. 3) internal fragmentation zRAM has started support memory limitation feature to limit memory usage and I sent a patchset(https://lkml.org/lkml/2014/9/21/148) for VM to be harmonized with zram-swap to stop anonymous page reclaim if zram consumed memory up to the limit although there are free space on the swap. One problem for that direction is zram has no way to know any hole in memory space zsmalloc allocated by internal fragmentation so zram would regard swap is full although there are free space in zsmalloc. For solving the issue, zram want to trigger compaction of zsmalloc before it decides full or not. This patchset is first step to support above issues. For that, it adds indirect layer between handle and object location and supports manual compaction to solve 3th problem first of all. After this patchset got merged, next step is to make VM aware of zsmalloc compaction so that generic compaction will move zsmalloced-pages automatically in runtime. In my imaginary experiment(ie, high compress ratio data with heavy swap in/out on 8G zram-swap), data is as follows, Before = zram allocated object : 60212066 bytes zram total used: 140103680 bytes ratio: 42.98 percent MemFree: 840192 kB Compaction After = frag ratio after compaction zram allocated object : 60212066 bytes zram total used: 76185600 bytes ratio: 79.03 percent MemFree: 901932 kB Juneho reported below in his real platform with small aging. So, I think the benefit would be bigger in real aging system for a long time. - frag_ratio increased 3% (ie, higher is better) - memfree increased about 6MB - In buddy info, Normal 2^3: 4, 2^2: 1: 2^1 increased, Highmem: 2^1 21 increased frag ratio after swap fragment used : 156677 kbytes total: 166092 kbytes frag_ratio : 94 meminfo before compaction MemFree: 83724 kB Node 0, zone Normal 13642 1364 57 10 61 17 9 5 4 0 0 Node 0, zone HighMem 425 29 1 0 0 0 0 0 0 0 0 num_migrated : 23630 compaction done frag ratio after compaction used : 156673 kbytes total: 160564 kbytes frag_ratio : 97 meminfo after compaction MemFree: 89060 kB Node 0, zone Normal 14076 1544 67 14 61 17 9 5 4 0 0 Node 0, zone HighMem 863 50 1 0 0 0 0 0 0 0 0 This patchset adds more logics(about 480 lines) in zsmalloc but when I tested heavy swapin/out program, the regression for swapin/out speed is marginal because most of overheads were caused by compress/decompress and other MM reclaim stuff. This patch (of 7): Currently, handle of zsmalloc encodes object's location directly so it makes support of migration hard. This patch decouples handle and object via adding indirect layer. For that, it allocates handle dynamically and returns it to user. The handle is the address allocated by slab allocation so it's unique and we could keep object's location in the memory space allocated for handle. With it, we can change object's position without changing handle itself. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 018e9a49a554d915ba945a5faf34c592d65fe575 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:15:20 2015 -0700 mm/compaction.c: fix "suitable_migration_target() unused" warning mm/compaction.c:250:13: warning: 'suitable_migration_target' defined but not used [-Wunused-function] Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit be64f884bed729b5d127db6a737155a4e514d286 Author: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Date: Wed Apr 15 16:15:17 2015 -0700 dax: unify ext2/4_{dax,}_file_operations The original dax patchset split the ext2/4_file_operations because of the two NULL splice_read/splice_write in the dax case. In the vfs if splice_read/splice_write are NULL we then call default_splice_read/write. What we do here is make generic_file_splice_read aware of IS_DAX() so the original ext2/4_file_operations can be used as is. For write it appears that iter_file_splice_write is just fine. It uses the regular f_op->write(file,..) or new_sync_write(file, ...). Signed-off-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Cc: Dave Chinner <dchinner@xxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0e3b210ce1722168227cb3bc7746256d0c0afece Author: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Date: Wed Apr 15 16:15:14 2015 -0700 dax: use pfn_mkwrite to update c/mtime + freeze protection From: Yigal Korman <yigal@xxxxxxxxxxxxx> [v1] Without this patch, c/mtime is not updated correctly when mmap'ed page is first read from and then written to. A new xfstest is submitted for testing this (generic/080) [v2] Jan Kara has pointed out that if we add the sb_start/end_pagefault pair in the new pfn_mkwrite we are then fixing another bug where: A user could start writing to the page while filesystem is frozen. Signed-off-by: Yigal Korman <yigal@xxxxxxxxxxxxx> Signed-off-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd9061846a3ba01b0fa45423aaa087e4a69187fa Author: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Date: Wed Apr 15 16:15:11 2015 -0700 mm: new pfn_mkwrite same as page_mkwrite for VM_PFNMAP This will allow FS that uses VM_PFNMAP | VM_MIXEDMAP (no page structs) to get notified when access is a write to a read-only PFN. This can happen if we mmap() a file then first mmap-read from it to page-in a read-only PFN, than we mmap-write to the same page. We need this functionality to fix a DAX bug, where in the scenario above we fail to set ctime/mtime though we modified the file. An xfstest is attached to this patchset that shows the failure and the fix. (A DAX patch will follow) This functionality is extra important for us, because upon dirtying of a pmem page we also want to RDMA the page to a remote cluster node. We define a new pfn_mkwrite and do not reuse page_mkwrite because 1 - The name ;-) 2 - But mainly because it would take a very long and tedious audit of all page_mkwrite functions of VM_MIXEDMAP/VM_PFNMAP users. To make sure they do not now CRASH. For example current DAX code (which this is for) would crash. If we would want to reuse page_mkwrite, We will need to first patch all users, so to not-crash-on-no-page. Then enable this patch. But even if I did that I would not sleep so well at night. Adding a new vector is the safest thing to do, and is not that expensive. an extra pointer at a static function vector per driver. Also the new vector is better for performance, because else we Will call all current Kernel vectors, so to: check-ha-no-page-do-nothing and return. No need to call it from do_shared_fault because do_wp_page is called to change pte permissions anyway. Signed-off-by: Yigal Korman <yigal@xxxxxxxxxxxxx> Signed-off-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2682582a6ea118d974c33da64923ae8c687fdd0b Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Wed Apr 15 16:15:08 2015 -0700 mm/memory: also print a_ops->readpage in print_bad_pte() A lot of filesystems use generic_file_mmap() and filemap_fault(), f_op->mmap and vm_ops->fault aren't enough to identify filesystem. This prints file name, vm_ops->fault, f_op->mmap and a_ops->readpage (which is almost always implemented and filesystem-specific). Example: [ 23.676410] BUG: Bad page map in process sh pte:1b7e6025 pmd:19bbd067 [ 23.676887] page:ffffea00006df980 count:4 mapcount:1 mapping:ffff8800196426c0 index:0x97 [ 23.677481] flags: 0x10000000000000c(referenced|uptodate) [ 23.677896] page dumped because: bad pte [ 23.678205] addr:00007f52fcb17000 vm_flags:00000075 anon_vma: (null) mapping:ffff8800196426c0 index:97 [ 23.678922] file:libc-2.19.so fault:filemap_fault mmap:generic_file_readonly_mmap readpage:v9fs_vfs_readpage [akpm@xxxxxxxxxxxxxxxxxxxx: use pr_alert, per Kirill] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 923936157b158f36bd6a3d86496dce82b1a957de Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Wed Apr 15 16:15:05 2015 -0700 mm/mempool.c: kasan: poison mempool elements Mempools keep allocated objects in reserved for situations when ordinary allocation may not be possible to satisfy. These objects shouldn't be accessed before they leave the pool. This patch poison elements when get into the pool and unpoison when they leave it. This will let KASan to detect use-after-free of mempool's elements. Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Tested-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Dmitry Chernenkov <drcheren@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bda6d33042a486c8f7b15bf15a80fd07d4eab204 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:15:02 2015 -0700 mm/cma_debug.c: remove blank lines before DEFINE_SIMPLE_ATTRIBUTE() Like EXPORT_SYMBOL(): the positioning communicates that the macro pertains to the immediately preceding function. Cc: Dmitry Safonov <d.safonov@xxxxxxxxxxxxxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Stefan Strogin <stefan.strogin@xxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Pintu Kumar <pintu.k@xxxxxxxxxxx> Cc: Weijie Yang <weijie.yang@xxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Vyacheslav Tyrtov <v.tyrtov@xxxxxxxxxxx> Cc: Aleksei Mateosian <a.mateosian@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2e32b947606daa642a28bfb9b57e9702cfc9a8b3 Author: Dmitry Safonov <d.safonov@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:59 2015 -0700 mm: cma: add functions to get region pages counters Here are two functions that provide interface to compute/get used size and size of biggest free chunk in cma region. Add that information to debugfs. [akpm@xxxxxxxxxxxxxxxxxxxx: move debug code from cma.c into cma_debug.c] [stefan.strogin@xxxxxxxxx: move code from cma_get_used() and cma_get_maxchunk() to cma_used_get() and cma_maxchunk_get()] Signed-off-by: Dmitry Safonov <d.safonov@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Strogin <stefan.strogin@xxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Pintu Kumar <pintu.k@xxxxxxxxxxx> Cc: Weijie Yang <weijie.yang@xxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Vyacheslav Tyrtov <v.tyrtov@xxxxxxxxxxx> Cc: Aleksei Mateosian <a.mateosian@xxxxxxxxxxx> Signed-off-by: Stefan Strogin <stefan.strogin@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 79553da293d38d63097278de13e28a3b371f43c1 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:56 2015 -0700 thp: cleanup khugepaged startup Few trivial cleanups: - no need to call set_recommended_min_free_kbytes() from late_initcall() -- start_khugepaged() calls it; - no need to call set_recommended_min_free_kbytes() from start_khugepaged() if khugepaged is not started; - there isn't much point in running start_khugepaged() if we've just set transparent_hugepage_flags to zero; - start_khugepaged() is misnamed -- it also used to stop the thread; Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e39155ea11eac6da056b04669d7c9fc612e2065a Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:53 2015 -0700 mm: uninline and cleanup page-mapping related helpers Most-used page->mapping helper -- page_mapping() -- has already uninlined. Let's uninline also page_rmapping() and page_anon_vma(). It saves us depending on configuration around 400 bytes in text: text data bss dec hex filename 660318 99254 410000 1169572 11d8a4 mm/built-in.o-before 659854 99254 410000 1169108 11d6d4 mm/built-in.o I also tried to make code a bit more clean. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 99e8ea6cd2210cf2271f922384b483cd83f0f8f3 Author: Stefan Strogin <s.strogin@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:50 2015 -0700 mm: cma: add trace events for CMA allocations and freeings Add trace events for cma_alloc() and cma_release(). The cma_alloc tracepoint is used both for successful and failed allocations, in case of allocation failure pfn=-1UL is stored and printed. Signed-off-by: Stefan Strogin <stefan.strogin@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mpn@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdd7875e0c4db5c41e28b645d3bf7d41bd2cbb45 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Apr 15 16:14:47 2015 -0700 include/linux/mm.h: simplify flag check Flip the flag test so that it is the simplest. No functional change, just a small readability improvement: No code changed: # arch/x86/kernel/sys_x86_64.o: text data bss dec hex filename 1551 24 0 1575 627 sys_x86_64.o.before 1551 24 0 1575 627 sys_x86_64.o.after md5: 70708d1b1ad35cc891118a69dc1a63f9 sys_x86_64.o.before.asm 70708d1b1ad35cc891118a69dc1a63f9 sys_x86_64.o.after.asm Signed-off-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6a4055bc72a516bae3f607eda3e243d18e66bd49 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Wed Apr 15 16:14:44 2015 -0700 mm/memblock.c: add debug output for memblock_add() memblock_reserve() calls memblock_reserve_region() which prints debugging information if 'memblock=debug' was passed on the command line. This patch adds the same behaviour, but for memblock_add function(). [akpm@xxxxxxxxxxxxxxxxxxxx: s/memblock_memory/memblock_add/ in message] Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7e1f049efb86bd86c06b80eeac0ef80cdeb8c0e7 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:14:41 2015 -0700 mm: hugetlb: cleanup using paeg_huge_active() Now we have an easy access to hugepages' activeness, so existing helpers to get the information can be cleaned up. [akpm@xxxxxxxxxxxxxxxxxxxx: s/PageHugeActive/page_huge_active/] Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bcc54222309c70ebcb6c69c156fba4a13dee0a3b Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:14:38 2015 -0700 mm: hugetlb: introduce page_huge_active We are not safe from calling isolate_huge_page() on a hugepage concurrently, which can make the victim hugepage in invalid state and results in BUG_ON(). The root problem of this is that we don't have any information on struct page (so easily accessible) about hugepages' activeness. Note that hugepages' activeness means just being linked to hstate->hugepage_activelist, which is not the same as normal pages' activeness represented by PageActive flag. Normal pages are isolated by isolate_lru_page() which prechecks PageLRU before isolation, so let's do similarly for hugetlb with a new paeg_huge_active(). set/clear_page_huge_active() should be called within hugetlb_lock. But hugetlb_cow() and hugetlb_no_page() don't do this, being justified because in these functions set_page_huge_active() is called right after the hugepage is allocated and no other thread tries to isolate it. [akpm@xxxxxxxxxxxxxxxxxxxx: s/PageHugeActive/page_huge_active/, make it return bool] [fengguang.wu@xxxxxxxxx: set_page_huge_active() can be static] Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 822fc61367f062d36c5b5a4d517e9bd2b65a741f Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:14:35 2015 -0700 mm: don't call __page_cache_release for hugetlb __put_compound_page() calls __page_cache_release() to do some freeing work, but it's obviously for thps, not for hugetlb. We don't care because PageLRU is always cleared and page->mem_cgroup is always NULL for hugetlb. But it's not correct and has potential risks, so let's make it conditional. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9fcd145717e6496d0c376acb1a5cc551a716c305 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:32 2015 -0700 mm/mmap.c: use while instead of if+goto The creators of the C language gave us the while keyword. Let's use that instead of synthesizing it from if+goto. Made possible by 6597d783397a ("mm/mmap.c: replace find_vma_prepare() with clearer find_vma_links()"). [akpm@xxxxxxxxxxxxxxxxxxxx: fix 80-col overflows] Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 215ba78115f82ad5f8faedac98cc42e572733b8a Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Apr 15 16:14:29 2015 -0700 mm, selftests: test return value of munmap for MAP_HUGETLB memory When MAP_HUGETLB memory is unmapped, the length must be hugepage aligned, otherwise it fails with -EINVAL. All tests currently behave correctly, but it's better to explcitly test the return value for completeness and document the requirement, especially if users copy map_hugetlb.c as a sample implementation. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Davide Libenzi <davidel@xxxxxxxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Jianguo Wu <wujianguo@xxxxxxxxxx> Cc: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80d6b94bd69a7a49b52bf503ef6a841f43cf5bbb Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Apr 15 16:14:26 2015 -0700 mm, doc: cleanup and clarify munmap behavior for hugetlb memory munmap(2) of hugetlb memory requires a length that is hugepage aligned, otherwise it may fail. Add this to the documentation. This also cleans up the documentation and separates it into logical units: one part refers to MAP_HUGETLB and another part refers to requirements for shared memory segments. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Davide Libenzi <davidel@xxxxxxxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Jianguo Wu <wujianguo@xxxxxxxxxx> Cc: Eric B Munson <emunson@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ae7efa507dee4813ec4bcdadebeec191e247d0c9 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:23 2015 -0700 thp: do not adjust zone water marks if khugepaged is not started set_recommended_min_free_kbytes() adjusts zone water marks to be suitable for khugepaged. We avoid doing this if khugepaged is disabled, but don't catch the case when khugepaged is failed to start. Let's address this by checking khugepaged_thread instead of khugepaged_enabled() in set_recommended_min_free_kbytes(). It's NULL if the kernel thread is stopped or failed to start. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 65ebb64f4d2ce8eba4d0ec82d6cf65022e70e4a1 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:20 2015 -0700 thp: handle errors in hugepage_init() properly We miss error-handling in few cases hugepage_init(). Let's fix that. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bdfedb76f4f5aa5e37380e3b71adee4a39f30fc6 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Apr 15 16:14:17 2015 -0700 mm, mempool: poison elements backed by slab allocator Mempools keep elements in a reserved pool for contexts in which allocation may not be possible. When an element is allocated from the reserved pool, its memory contents is the same as when it was added to the reserved pool. Because of this, elements lack any free poisoning to detect use-after-free errors. This patch adds free poisoning for elements backed by the slab allocator. This is possible because the mempool layer knows the object size of each element. When an element is added to the reserved pool, it is poisoned with POISON_FREE. When it is removed from the reserved pool, the contents are checked for POISON_FREE. If there is a mismatch, a warning is emitted to the kernel log. This is only effective for configs with CONFIG_DEBUG_SLAB or CONFIG_SLUB_DEBUG_ON. [fabio.estevam@xxxxxxxxxxxxx: use '%zu' for printing 'size_t' variable] [arnd@xxxxxxxx: add missing include] Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Dave Kleikamp <shaggy@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e244c9e66f6197f55f6fbb2d5e70714e262cc595 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Apr 15 16:14:14 2015 -0700 mm, mempool: disallow mempools based on slab caches with constructors All occurrences of mempools based on slab caches with object constructors have been removed from the tree, so disallow creating them. We can only dereference mem->ctor in mm/mempool.c without including mm/slab.h in include/linux/mempool.h. So simply note the restriction, just like the comment restricting usage of __GFP_ZERO, and warn on kernels with CONFIG_DEBUG_VM() if such a mempool is allocated from. We don't want to incur this check on every element allocation, so use VM_BUG_ON(). Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Dave Kleikamp <shaggy@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ee1462458cb543bbcfd379176bbba0d4bd052b7f Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Apr 15 16:14:11 2015 -0700 fs, jfs: remove slab object constructor Mempools based on slab caches with object constructors are risky because element allocation can happen either from the slab cache itself, meaning the constructor is properly called before returning, or from the mempool reserve pool, meaning the constructor is not called before returning, depending on the allocation context. For this reason, we should disallow creating mempools based on slab caches that have object constructors. Callers of mempool_alloc() will be responsible for properly initializing the returned element. Then, it doesn't matter if the element came from the slab cache or the mempool reserved pool. The only occurrence of a mempool being based on a slab cache with an object constructor in the tree is in fs/jfs/jfs_metapage.c. Remove it and properly initialize the element in alloc_metapage(). At the same time, META_free is never used, so remove it as well. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4db0c3c2983cc6b7a08a33542af5e14de8a9258c Author: Jason Low <jason.low2@xxxxxx> Date: Wed Apr 15 16:14:08 2015 -0700 mm: remove rest of ACCESS_ONCE() usages We converted some of the usages of ACCESS_ONCE to READ_ONCE in the mm/ tree since it doesn't work reliably on non-scalar types. This patch removes the rest of the usages of ACCESS_ONCE, and use the new READ_ONCE API for the read accesses. This makes things cleaner, instead of using separate/multiple sets of APIs. Signed-off-by: Jason Low <jason.low2@xxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9d8c47e4bb1c20dbceee437f9fa7d76dafee80a2 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Apr 15 16:14:05 2015 -0700 mm: use READ_ONCE() for non-scalar types Commit 38c5ce936a08 ("mm/gup: Replace ACCESS_ONCE with READ_ONCE") converted ACCESS_ONCE usage in gup_pmd_range() to READ_ONCE, since ACCESS_ONCE doesn't work reliably on non-scalar types. This patch also fixes the other ACCESS_ONCE usages in gup_pte_range() and __get_user_pages_fast() in mm/gup.c Signed-off-by: Jason Low <jason.low2@xxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6cd576130b7152d8f225bab9d21a3f6f96c84b47 Author: Derek <denc716@xxxxxxxxx> Date: Wed Apr 15 16:14:02 2015 -0700 mm/mremap.c: clean up goto just return ERR_PTR As suggested by Kirill the "goto"s in vma_to_resize aren't necessary, just change them to explicit return. Signed-off-by: Derek Che <crquan@xxxxxxxxx> Suggested-by: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 12215182c80c06ab3c69969abba6e4a834493cd8 Author: Derek <denc716@xxxxxxxxx> Date: Wed Apr 15 16:13:58 2015 -0700 mremap should return -ENOMEM when __vm_enough_memory fail Recently I straced bash behavior in this dd zero pipe to read test, in part of testing under vm.overcommit_memory=2 (OVERCOMMIT_NEVER mode): # dd if=/dev/zero | read x The bash sub shell is calling mremap to reallocate more and more memory untill it finally failed -ENOMEM (I expect), or to be killed by system OOM killer (which should not happen under OVERCOMMIT_NEVER mode); But the mremap system call actually failed of -EFAULT, which is a surprise to me, I think it's supposed to be -ENOMEM? then I wrote this piece of C code testing confirmed it: https://gist.github.com/crquan/326bde37e1ddda8effe5 $ ./remap allocated one page @0x7f686bf71000, (PAGE_SIZE: 4096) grabbed 7680512000 bytes of memory (1875125 pages) @ 00007f6690993000. mremap failed Bad address (14). The -EFAULT comes from the branch of security_vm_enough_memory_mm failure, underlyingly it calls __vm_enough_memory which returns only 0 for success or -ENOMEM; So why vma_to_resize needs to return -EFAULT in this case? this sounds like a mistake to me. Some more digging into git history: 1) Before commit 119f657c7 ("RLIMIT_AS checking fix") in May 1 2005 (pre 2.6.12 days) it was returning -ENOMEM for this failure; 2) but commit 119f657c7 ("untangling do_mremap(), part 1") changed it accidentally, to what ever is preserved in local ret, which happened to be -EFAULT, in a previous assignment; 3) then in commit 54f5de709 code refactoring, it's explicitly returning -EFAULT, should be wrong. Signed-off-by: Derek Che <crquan@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d61bfe8fddecad76eb37cc477aab369c5c81ed3 Author: Roman Pen <r.peniaev@xxxxxxxxx> Date: Wed Apr 15 16:13:55 2015 -0700 mm/vmalloc: get rid of dirty bitmap inside vmap_block structure In original implementation of vm_map_ram made by Nick Piggin there were two bitmaps: alloc_map and dirty_map. None of them were used as supposed to be: finding a suitable free hole for next allocation in block. vm_map_ram allocates space sequentially in block and on free call marks pages as dirty, so freed space can't be reused anymore. Actually it would be very interesting to know the real meaning of those bitmaps, maybe implementation was incomplete, etc. But long time ago Zhang Yanfei removed alloc_map by these two commits: mm/vmalloc.c: remove dead code in vb_alloc 3fcd76e8028e0be37b02a2002b4f56755daeda06 mm/vmalloc.c: remove alloc_map from vmap_block b8e748b6c32999f221ea4786557b8e7e6c4e4e7a In this patch I replaced dirty_map with two range variables: dirty min and max. These variables store minimum and maximum position of dirty space in a block, since we need only to know the dirty range, not exact position of dirty pages. Why it was made? Several reasons: at first glance it seems that vm_map_ram allocator concerns about fragmentation thus it uses bitmaps for finding free hole, but it is not true. To avoid complexity seems it is better to use something simple, like min or max range values. Secondly, code also becomes simpler, without iteration over bitmap, just comparing values in min and max macros. Thirdly, bitmap occupies up to 1024 bits (4MB is a max size of a block). Here I replaced the whole bitmap with two longs. Finally vm_unmap_aliases should be slightly faster and the whole vmap_block structure occupies less memory. Signed-off-by: Roman Pen <r.peniaev@xxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Gioh Kim <gioh.kim@xxxxxxx> Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cf725ce274ba026e132c225cb8e5b61973c63403 Author: Roman Pen <r.peniaev@xxxxxxxxx> Date: Wed Apr 15 16:13:52 2015 -0700 mm/vmalloc: occupy newly allocated vmap block just after allocation Previous implementation allocates new vmap block and repeats search of a free block from the very beginning, iterating over the CPU free list. Why it can be better?? 1. Allocation can happen on one CPU, but search can be done on another CPU. In worst case we preallocate amount of vmap blocks which is equal to CPU number on the system. 2. In previous patch I added newly allocated block to the tail of free list to avoid soon exhaustion of virtual space and give a chance to occupy blocks which were allocated long time ago. Thus to find newly allocated block all the search sequence should be repeated, seems it is not efficient. In this patch newly allocated block is occupied right away, address of virtual space is returned to the caller, so there is no any need to repeat the search sequence, allocation job is done. Signed-off-by: Roman Pen <r.peniaev@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Gioh Kim <gioh.kim@xxxxxxx> Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 68ac546f265ba36cd4f29c77b3841fb777315581 Author: Roman Pen <r.peniaev@xxxxxxxxx> Date: Wed Apr 15 16:13:48 2015 -0700 mm/vmalloc: fix possible exhaustion of vmalloc space caused by vm_map_ram allocator Recently I came across high fragmentation of vm_map_ram allocator: vmap_block has free space, but still new blocks continue to appear. Further investigation showed that certain mapping/unmapping sequences can exhaust vmalloc space. On small 32bit systems that's not a big problem, cause purging will be called soon on a first allocation failure (alloc_vmap_area), but on 64bit machines, e.g. x86_64 has 45 bits of vmalloc space, that can be a disaster. 1) I came up with a simple allocation sequence, which exhausts virtual space very quickly: while (iters) { /* Map/unmap big chunk */ vaddr = vm_map_ram(pages, 16, -1, PAGE_KERNEL); vm_unmap_ram(vaddr, 16); /* Map/unmap small chunks. * * -1 for hole, which should be left at the end of each block * to keep it partially used, with some free space available */ for (i = 0; i < (VMAP_BBMAP_BITS - 16) / 8 - 1; i++) { vaddr = vm_map_ram(pages, 8, -1, PAGE_KERNEL); vm_unmap_ram(vaddr, 8); } } The idea behind is simple: 1. We have to map a big chunk, e.g. 16 pages. 2. Then we have to occupy the remaining space with smaller chunks, i.e. 8 pages. At the end small hole should remain to keep block in free list, but do not let big chunk to occupy remaining space. 3. Goto 1 - allocation request of 16 pages can't be completed (only 8 slots are left free in the block in the #2 step), new block will be allocated, all further requests will lay into newly allocated block. To have some measurement numbers for all further tests I setup ftrace and enabled 4 basic calls in a function profile: echo vm_map_ram > /sys/kernel/debug/tracing/set_ftrace_filter; echo alloc_vmap_area >> /sys/kernel/debug/tracing/set_ftrace_filter; echo vm_unmap_ram >> /sys/kernel/debug/tracing/set_ftrace_filter; echo free_vmap_block >> /sys/kernel/debug/tracing/set_ftrace_filter; So for this scenario I got these results: BEFORE (all new blocks are put to the head of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 126000 30683.30 us 0.243 us 30819.36 us vm_unmap_ram 126000 22003.24 us 0.174 us 340.886 us alloc_vmap_area 1000 4132.065 us 4.132 us 0.903 us AFTER (all new blocks are put to the tail of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 126000 28713.13 us 0.227 us 24944.70 us vm_unmap_ram 126000 20403.96 us 0.161 us 1429.872 us alloc_vmap_area 993 3916.795 us 3.944 us 29.370 us free_vmap_block 992 654.157 us 0.659 us 1.273 us SUMMARY: The most interesting numbers in those tables are numbers of block allocations and deallocations: alloc_vmap_area and free_vmap_block calls, which show that before the change blocks were not freed, and virtual space and physical memory (vmap_block structure allocations, etc) were consumed. Average time which were spent in vm_map_ram/vm_unmap_ram became slightly better. That can be explained with a reasonable amount of blocks in a free list, which we need to iterate to find a suitable free block. 2) Another scenario is a random allocation: while (iters) { /* Randomly take number from a range [1..32/64] */ nr = rand(1, VMAP_MAX_ALLOC); vaddr = vm_map_ram(pages, nr, -1, PAGE_KERNEL); vm_unmap_ram(vaddr, nr); } I chose mersenne twister PRNG to generate persistent random state to guarantee that both runs have the same random sequence. For each vm_map_ram call random number from [1..32/64] was taken to represent amount of pages which I do map. I did 10'000 vm_map_ram calls and got these two tables: BEFORE (all new blocks are put to the head of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 10000 10170.01 us 1.017 us 993.609 us vm_unmap_ram 10000 5321.823 us 0.532 us 59.789 us alloc_vmap_area 420 2150.239 us 5.119 us 3.307 us free_vmap_block 37 159.587 us 4.313 us 134.344 us AFTER (all new blocks are put to the tail of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 10000 7745.637 us 0.774 us 395.229 us vm_unmap_ram 10000 5460.573 us 0.546 us 67.187 us alloc_vmap_area 414 2201.650 us 5.317 us 5.591 us free_vmap_block 412 574.421 us 1.394 us 15.138 us SUMMARY: 'BEFORE' table shows, that 420 blocks were allocated and only 37 were freed. Remained 383 blocks are still in a free list, consuming virtual space and physical memory. 'AFTER' table shows, that 414 blocks were allocated and 412 were really freed. 2 blocks remained in a free list. So fragmentation was dramatically reduced. Why? Because when we put newly allocated block to the head, all further requests will occupy new block, regardless remained space in other blocks. In this scenario all requests come randomly. Eventually remained free space will be less than requested size, free list will be iterated and it is possible that nothing will be found there - finally new block will be created. So exhaustion in random scenario happens for the maximum possible allocation size: 32 pages for 32-bit system and 64 pages for 64-bit system. Also average cost of vm_map_ram was reduced from 1.017 us to 0.774 us. Again this can be explained by iteration through smaller list of free blocks. 3) Next simple scenario is a sequential allocation, when the allocation order is increased for each block. This scenario forces allocator to reach maximum amount of partially free blocks in a free list: while (iters) { /* Populate free list with blocks with remaining space */ for (order = 0; order <= ilog2(VMAP_MAX_ALLOC); order++) { nr = VMAP_BBMAP_BITS / (1 << order); /* Leave a hole */ nr -= 1; for (i = 0; i < nr; i++) { vaddr = vm_map_ram(pages, (1 << order), -1, PAGE_KERNEL); vm_unmap_ram(vaddr, (1 << order)); } /* Completely occupy blocks from a free list */ for (order = 0; order <= ilog2(VMAP_MAX_ALLOC); order++) { vaddr = vm_map_ram(pages, (1 << order), -1, PAGE_KERNEL); vm_unmap_ram(vaddr, (1 << order)); } } Results which I got: BEFORE (all new blocks are put to the head of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 2032000 399545.2 us 0.196 us 467123.7 us vm_unmap_ram 2032000 363225.7 us 0.178 us 111405.9 us alloc_vmap_area 7001 30627.76 us 4.374 us 495.755 us free_vmap_block 6993 7011.685 us 1.002 us 159.090 us AFTER (all new blocks are put to the tail of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 2032000 394259.7 us 0.194 us 589395.9 us vm_unmap_ram 2032000 292500.7 us 0.143 us 94181.08 us alloc_vmap_area 7000 31103.11 us 4.443 us 703.225 us free_vmap_block 7000 6750.844 us 0.964 us 119.112 us SUMMARY: No surprises here, almost all numbers are the same. Fixing this fragmentation problem I also did some improvements in a allocation logic of a new vmap block: occupy block immediately and get rid of extra search in a free list. Also I replaced dirty bitmap with min/max dirty range values to make the logic simpler and slightly faster, since two longs comparison costs less, than loop thru bitmap. This patchset raises several questions: Q: Think the problem you comments is already known so that I wrote comments about it as "it could consume lots of address space through fragmentation". Could you tell me about your situation and reason why it should be avoided? Gioh Kim A: Indeed, there was a commit 364376383 which adds explicit comment about fragmentation. But fragmentation which is described in this comment caused by mixing of long-lived and short-lived objects, when a whole block is pinned in memory because some page slots are still in use. But here I am talking about blocks which are free, nobody uses them, and allocator keeps them alive forever, continuously allocating new blocks. Q: I think that if you put newly allocated block to the tail of a free list, below example would results in enormous performance degradation. new block: 1MB (256 pages) while (iters--) { vm_map_ram(3 or something else not dividable for 256) * 85 vm_unmap_ram(3) * 85 } On every iteration, it needs newly allocated block and it is put to the tail of a free list so finding it consumes large amount of time. Joonsoo Kim A: Second patch in current patchset gets rid of extra search in a free list, so new block will be immediately occupied.. Also, the scenario above is impossible, cause vm_map_ram allocates virtual range in orders, i.e. 2^n. I.e. passing 3 to vm_map_ram you will allocate 4 slots in a block and 256 slots (capacity of a block) of course dividable on 4, so block will be completely occupied. But there is a worst case which we can achieve: each free block has a hole equal to order size. The maximum size of allocation is 64 pages for 64-bit system (if you try to map more, original alloc_vmap_area will be called). So the maximum order is 6. That means that worst case, before allocator makes a decision to allocate a new block, is to iterate 7 blocks: HEAD 1st block - has 1 page slot free (order 0) 2nd block - has 2 page slots free (order 1) 3rd block - has 4 page slots free (order 2) 4th block - has 8 page slots free (order 3) 5th block - has 16 page slots free (order 4) 6th block - has 32 page slots free (order 5) 7th block - has 64 page slots free (order 6) TAIL So the worst scenario on 64-bit system is that each CPU queue can have 7 blocks in a free list. This can happen only and only if you allocate blocks increasing the order. (as I did in the function written in the comment of the first patch) This is weird and rare case, but still it is possible. Afterwards you will get 7 blocks in a list. All further requests should be placed in a newly allocated block or some free slots should be found in a free list. Seems it does not look dramatically awful. This patch (of 3): If suitable block can't be found, new block is allocated and put into a head of a free list, so on next iteration this new block will be found first. That's bad, because old blocks in a free list will not get a chance to be fully used, thus fragmentation will grow. Let's consider this simple example: #1 We have one block in a free list which is partially used, and where only one page is free: HEAD |xxxxxxxxx-| TAIL ^ free space for 1 page, order 0 #2 New allocation request of order 1 (2 pages) comes, new block is allocated since we do not have free space to complete this request. New block is put into a head of a free list: HEAD |----------|xxxxxxxxx-| TAIL #3 Two pages were occupied in a new found block: HEAD |xx--------|xxxxxxxxx-| TAIL ^ two pages mapped here #4 New allocation request of order 0 (1 page) comes. Block, which was created on #2 step, is located at the beginning of a free list, so it will be found first: HEAD |xxX-------|xxxxxxxxx-| TAIL ^ ^ page mapped here, but better to use this hole It is obvious, that it is better to complete request of #4 step using the old block, where free space is left, because in other case fragmentation will be highly increased. But fragmentation is not only the case. The worst thing is that I can easily create scenario, when the whole vmalloc space is exhausted by blocks, which are not used, but already dirty and have several free pages. Let's consider this function which execution should be pinned to one CPU: static void exhaust_virtual_space(struct page *pages[16], int iters) { /* Firstly we have to map a big chunk, e.g. 16 pages. * Then we have to occupy the remaining space with smaller * chunks, i.e. 8 pages. At the end small hole should remain. * So at the end of our allocation sequence block looks like * this: * XX big chunk * |XXxxxxxxx-| x small chunk * - hole, which is enough for a small chunk, * but is not enough for a big chunk */ while (iters--) { int i; void *vaddr; /* Map/unmap big chunk */ vaddr = vm_map_ram(pages, 16, -1, PAGE_KERNEL); vm_unmap_ram(vaddr, 16); /* Map/unmap small chunks. * * -1 for hole, which should be left at the end of each block * to keep it partially used, with some free space available */ for (i = 0; i < (VMAP_BBMAP_BITS - 16) / 8 - 1; i++) { vaddr = vm_map_ram(pages, 8, -1, PAGE_KERNEL); vm_unmap_ram(vaddr, 8); } } } On every iteration new block (1MB of vm area in my case) will be allocated and then will be occupied, without attempt to resolve small allocation request using previously allocated blocks in a free list. In case of random allocation (size should be randomly taken from the range [1..64] in 64-bit case or [1..32] in 32-bit case) situation is the same: new blocks continue to appear if maximum possible allocation size (32 or 64) passed to the allocator, because all remaining blocks in a free list do not have enough free space to complete this allocation request. In summary if new blocks are put into the head of a free list eventually virtual space will be exhausted. In current patch I simply put newly allocated block to the tail of a free list, thus reduce fragmentation, giving a chance to resolve allocation request using older blocks with possible holes left. Signed-off-by: Roman Pen <r.peniaev@xxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Gioh Kim <gioh.kim@xxxxxxx> Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8c9b97033547834404a58ea88da7226ed5167726 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Wed Apr 15 16:13:45 2015 -0700 hugetlbfs: document min_size mount option and cleanup Add min_size mount option to the hugetlbfs documentation. Also, add the missing pagesize option and mention that size can be specified as bytes or a percentage of huge page pool. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7ca02d0ae586fe7df59632966a64f3f1a756ef05 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Wed Apr 15 16:13:42 2015 -0700 hugetlbfs: accept subpool min_size mount option and setup accordingly Make 'min_size=<value>' be an option when mounting a hugetlbfs. This option takes the same value as the 'size' option. min_size can be specified without specifying size. If both are specified, min_size must be less that or equal to size else the mount will fail. If min_size is specified, then at mount time an attempt is made to reserve min_size pages. If the reservation fails, the mount fails. At umount time, the reserved pages are released. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c5ecae3a93fa1ab51a784d77e9c9ed54e67c65f Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Wed Apr 15 16:13:39 2015 -0700 hugetlbfs: add minimum size accounting to subpools The same routines that perform subpool maximum size accounting hugepage_subpool_get/put_pages() are modified to also perform minimum size accounting. When a delta value is passed to these routines, calculate how global reservations must be adjusted to maintain the subpool minimum size. The routines now return this global reserve count adjustment. This global reserve count adjustment is then passed to the global accounting routine hugetlb_acct_memory(). Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c6a918200c4f4ebf74b7e1ae4fea9115c7b297f8 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Wed Apr 15 16:13:36 2015 -0700 hugetlbfs: add minimum size tracking fields to subpool structure hugetlbfs allocates huge pages from the global pool as needed. Even if the global pool contains a sufficient number pages for the filesystem size at mount time, those global pages could be grabbed for some other use. As a result, filesystem huge page allocations may fail due to lack of pages. Applications such as a database want to use huge pages for performance reasons. hugetlbfs filesystem semantics with ownership and modes work well to manage access to a pool of huge pages. However, the application would like some reasonable assurance that allocations will not fail due to a lack of huge pages. At application startup time, the application would like to configure itself to use a specific number of huge pages. Before starting, the application can check to make sure that enough huge pages exist in the system global pools. However, there are no guarantees that those pages will be available when needed by the application. What the application wants is exclusive use of a subset of huge pages. Add a new hugetlbfs mount option 'min_size=<value>' to indicate that the specified number of pages will be available for use by the filesystem. At mount time, this number of huge pages will be reserved for exclusive use of the filesystem. If there is not a sufficient number of free pages, the mount will fail. As pages are allocated to and freeed from the filesystem, the number of reserved pages is adjusted so that the specified minimum is maintained. This patch (of 4): Add a field to the subpool structure to indicate the minimimum number of huge pages to always be used by this subpool. This minimum count includes allocated pages as well as reserved pages. If the minimum number of pages for the subpool have not been allocated, pages are reserved up to this minimum. An additional field (rsv_hpages) is used to track the number of pages reserved to meet this minimum size. The hstate pointer in the subpool is convenient to have when reserving and unreserving the pages. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 195b0c60809ce841e5818b365808e7da3286fd3c Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Wed Apr 15 16:13:33 2015 -0700 mm/compaction: reset compaction scanner positions When the compaction is activated via /proc/sys/vm/compact_memory it would better scan the whole zone. And some platforms, for instance ARM, have the start_pfn of a zone at zero. Therefore the first try to compact via /proc doesn't work. It needs to reset the compaction scanner position first. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3b3636924dfe1e80f9bef2c0dc1207e16f3b078a Author: Michal Hocko <mhocko@xxxxxxx> Date: Wed Apr 15 16:13:29 2015 -0700 mm, memcg: sync allocation and memcg charge gfp flags for THP memcg currently uses hardcoded GFP_TRANSHUGE gfp flags for all THP charges. THP allocations, however, might be using different flags depending on /sys/kernel/mm/transparent_hugepage/{,khugepaged/}defrag and the current allocation context. The primary difference is that defrag configured to "madvise" value will clear __GFP_WAIT flag from the core gfp mask to make the allocation lighter for all mappings which are not backed by VM_HUGEPAGE vmas. If memcg charge path ignores this fact we will get light allocation but the a potential memcg reclaim would kill the whole point of the configuration. Fix the mismatch by providing the same gfp mask used for the allocation to the charge functions. This is quite easy for all paths except for hugepaged kernel thread with !CONFIG_NUMA which is doing a pre-allocation long before the allocated page is used in collapse_huge_page via khugepaged_alloc_page. To prevent from cluttering the whole code path from khugepaged_do_scan we simply return the current flags as per khugepaged_defrag() value which might have changed since the preallocation. If somebody changed the value of the knob we would charge differently but this shouldn't happen often and it is definitely not critical because it would only lead to a reduced success rate of one-off THP promotion. [akpm@xxxxxxxxxxxxxxxxxxxx: fix weird code layout while we're there] [rientjes@xxxxxxxxxx: clean up around alloc_hugepage_gfpmask()] Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cc5993bd7b8cff4a3e37042ee1358d1d5eafa70c Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:13:26 2015 -0700 mm: rename deactivate_page to deactivate_file_page "deactivate_page" was created for file invalidation so it has too specific logic for file-backed pages. So, let's change the name of the function and date to a file-specific one and yield the generic name. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Shaohua Li <shli@xxxxxxxxxx> Cc: Wang, Yalin <Yalin.Wang@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 922c0551a795dccadeb1dadc756d93fe3e303180 Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Wed Apr 15 16:13:23 2015 -0700 Documentation/vm/unevictable-lru.txt: document interaction between compaction and the unevictable LRU The memory compaction code uses the migration code to do most of the work in compaction. However, the compaction code interacts with the unevictable LRU differently than migration code and this difference should be noted in the documentation. [akpm@xxxxxxxxxxxxxxxxxxxx: identify /proc/sys/vm/compact_unevictable directly] Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5bbe3547aa3ba5242366a322a28996872301b703 Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Wed Apr 15 16:13:20 2015 -0700 mm: allow compaction of unevictable pages Currently, pages which are marked as unevictable are protected from compaction, but not from other types of migration. The POSIX real time extension explicitly states that mlock() will prevent a major page fault, but the spirit of this is that mlock() should give a process the ability to control sources of latency, including minor page faults. However, the mlock manpage only explicitly says that a locked page will not be written to swap and this can cause some confusion. The compaction code today does not give a developer who wants to avoid swap but wants to have large contiguous areas available any method to achieve this state. This patch introduces a sysctl for controlling compaction behavior with respect to the unevictable lru. Users who demand no page faults after a page is present can set compact_unevictable_allowed to 0 and users who need the large contiguous areas can enable compaction on locked memory by leaving the default value of 1. To illustrate this problem I wrote a quick test program that mmaps a large number of 1MB files filled with random data. These maps are created locked and read only. Then every other mmap is unmapped and I attempt to allocate huge pages to the static huge page pool. When the compact_unevictable_allowed sysctl is 0, I cannot allocate hugepages after fragmenting memory. When the value is set to 1, allocations succeed. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a4bb3ecdc12a78dc4d0e690d40ec10887b640786 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:13:17 2015 -0700 mm/page-writeback: check-before-clear PageReclaim With the page flag sanitization patchset, an invalid usage of ClearPageReclaim() is detected in set_page_dirty(). This can be called from __unmap_hugepage_range(), so let's check PageReclaim() before trying to clear it to avoid the misuse. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b3b3a99c5371e2e96a2c680e6ac20218bddbd422 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:13:15 2015 -0700 mm/migrate: check-before-clear PageSwapCache With the page flag sanitization patchset, an invalid usage of ClearPageSwapCache() is detected in migration_page_copy(). migrate_page_copy() is shared by both normal and hugepage (both thp and hugetlb) code path, so let's check PageSwapCache() and clear it if it's set to avoid misuse of the invalid clear operation. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8d63d99a5dfbdb997d12dd3c07b2070ca723db3b Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:13:12 2015 -0700 mm: avoid tail page refcounting on non-THP compound pages THP uses tail page refcounting to be able to split huge pages at any time. Tail page refcounting is not needed for other users of compound pages and it's harmful because of overhead. We try to exclude non-THP pages from tail page refcounting using __compound_tail_refcounted() check. It excludes most common non-THP compound pages: SL*B and hugetlb, but it doesn't catch rest of __GFP_COMP users -- drivers. And it's not only about overhead. Drivers might want to use compound pages to get refcounting semantics suitable for mapping high-order pages to userspace. But tail page refcounting breaks it. Tail page refcounting uses ->_mapcount in tail pages to store GUP pins on them. It means GUP pins would affect page_mapcount() for tail pages. It's not a problem for THP, because it never maps tail pages. But unlike THP, drivers map parts of compound pages with PTEs and it makes page_mapcount() be called for tail pages. In particular, GUP pins would shift PSS up and affect /proc/kpagecount for such pages. But, I'm not aware about anything which can lead to crash or other serious misbehaviour. Since currently all THP pages are anonymous and all drivers pages are not, we can fix the __compound_tail_refcounted() check by requiring PageAnon() to enable tail page refcounting. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e8c6158fef15a1532bd5242a0cd88565eedabe61 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:13:08 2015 -0700 mm: consolidate all page-flags helpers in <linux/page-flags.h> Currently we take a naive approach to page flags on compound pages - we set the flag on the page without consideration if the flag makes sense for tail page or for compound page in general. This patchset try to sort this out by defining per-flag policy on what need to be done if page-flag helper operate on compound page. The last patch in the patchset also sanitizes usege of page->mapping for tail pages. We don't define the meaning of page->mapping for tail pages. Currently it's always NULL, which can be inconsistent with head page and potentially lead to problems. For now I caught one case of illegal usage of page flags or ->mapping: sound subsystem allocates pages with __GFP_COMP and maps them with PTEs. It leads to setting dirty bit on tail pages and access to tail_page's ->mapping. I don't see any bad behaviour caused by this, but worth fixing anyway. This patchset makes more sense if you take my THP refcounting into account: we will see more compound pages mapped with PTEs and we need to define behaviour of flags on compound pages to avoid bugs. This patch (of 16): We have page-flags helper function declarations/definitions spread over several header files. Let's consolidate them in <linux/page-flags.h>. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Steve Capper <steve.capper@xxxxxxxxxx> Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 64d37a2baf5e5c0f1009c0ef290a9027de721d66 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:13:05 2015 -0700 mm/memory-failure.c: define page types for action_result() in one place This cleanup patch moves all strings passed to action_result() into a singl= e array action_page_type so that a reader can easily find which kind of actio= n results are possible. And this patch also fixes the odd lines to be printed out, like "unknown page state page" or "free buddy, 2nd try page". [akpm@xxxxxxxxxxxxxxxxxxxx: rename messages, per David] [akpm@xxxxxxxxxxxxxxxxxxxx: s/DIRTY_UNEVICTABLE_LRU/CLEAN_UNEVICTABLE_LRU', per Andi] Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: "Xie XiuQi" <xiexiuqi@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Chen Gong <gong.chen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2564f683d1a6cb76893199ce68e6484725621e49 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Apr 15 16:13:03 2015 -0700 memcg: remove obsolete comment Low and high watermarks, as they defined in the TODO to the mem_cgroup struct, have already been implemented by Johannes, so remove the stale comment. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit adbe427b92d18cf3f801e82e9cd664fbe31cea3c Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Apr 15 16:13:00 2015 -0700 memcg: zap mem_cgroup_lookup() mem_cgroup_lookup() is a wrapper around mem_cgroup_from_id(), which checks that id != 0 before issuing the function call. Today, there is no point in this additional check apart from optimization, because there is no css with id <= 0, so that css_from_id, called by mem_cgroup_from_id, will return NULL for any id <= 0. Since mem_cgroup_from_id is only called from mem_cgroup_lookup, let us zap mem_cgroup_lookup, substituting calls to it with mem_cgroup_from_id and moving the check if id > 0 to css_from_id. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d7e4a2ea51c1b0ac0b2d53f5ab4a2e878b1c4aec Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Date: Wed Apr 15 16:12:57 2015 -0700 mm: refactor zone_movable_is_highmem() All callers of zone_movable_is_highmem are under #ifdef CONFIG_HIGHMEM, so the else branch return 0 is not needed. Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bdddbcd45fd191a0213e6d2a032eb55d18bd1fc0 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Wed Apr 15 16:12:54 2015 -0700 mm/oom_kill.c: fix typo in comment Alter 'taks' -> 'task' Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2b91d8d385d2cef3a1e3b3846f2dde4a6720c43 Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Date: Wed Apr 15 16:12:51 2015 -0700 vfs: delete vfs_readdir function declaration vfs_readdir() was replaced by iterate_dir() in commit 5c0ba4e0762e ("[readdir] introduce iterate_dir() and dir_context"). Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9df47ba759e40ea2facd0601d4888abb37ed9658 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Mon Apr 13 21:48:06 2015 +0900 f2fs: change 0 to false for bool type in the f2fs_fill_super function, variable "retry" is bool type i think that it should be set as false. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit e7c82412433a8039616c7314533a0a1c025d99bf Merge: d0a3997 ccdc450 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 15:48:28 2015 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds Pull LED subsystem updates from Bryan Wu: "In this cycle, we merged some fix and update for LED Flash class driver. Then the core code of LED Flash class driver is in the kernel now. Moreover, we also got some bug fixes, code cleanup and new drivers for LED controllers" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: leds: Don't treat the LED name as a format string leds: Use log level warn instead of info when telling about a name clash leds/led-class: Handle LEDs with the same name leds: lp8860: Fix typo in MODULE_DESCRIPTION in leds-lp8860.c leds: lp8501: Fix typo in MODULE_DESCRIPTION in leds-lp8501.c DT: leds: Add uniqueness requirement for 'label' property. dt-binding: leds: Add common LED DT bindings macros leds: add Qualcomm PM8941 WLED driver leds: add DT binding for Qualcomm PM8941 WLED block leds: pca963x: Add missing initialiation of struct led_info.flags leds: flash: Fix the size of sysfs_groups array Documentation: leds: Add description of LED Flash class extension leds: flash: document sysfs interface leds: flash: Remove synchronized flash strobe feature leds: Introduce devres helper for led_classdev_register leds: lp8860: make use of devm_gpiod_get_optional leds: Let the binding document example for leds-gpio follow the gpio bindings leds: flash: remove stray include directive leds: leds-pwm: drop one pwm_get_period() call commit d0a3997c0c3f9351e24029349dee65dd1d9e8d84 Merge: 6d50ff9 d6eb9e3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 15:41:41 2015 -0700 Merge tag 'sound-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "There have been major modernization with the standard bus: in ALSA sequencer core and HD-audio. Also, HD-audio receives the regmap support replacing the in-house cache register cache code. These changes shouldn't impact the existing behavior, but rather refactoring. In addition, HD-audio got the code split to a core library part and the "legacy" driver parts. This is a preliminary work for adapting the upcoming ASoC HD-audio driver, and the whole transition is still work in progress, likely finished in 4.1. Along with them, there are many updates in ASoC area as usual, too: lots of cleanups, Intel code shuffling, etc. Here are some highlights: ALSA core: - PCM: the audio timestamp / wallclock enhancement - PCM: fixes in DPCM management - Fixes / cleanups of user-space control element management - Sequencer: modernization using the standard bus HD-audio: - Modernization using the standard bus - Regmap support - Use standard runtime PM for codec power saving - Widget-path based power-saving for IDT, VIA and Realtek codecs - Reorganized sysfs entries for each codec object - More Dell headset support ASoC: - Move of jack registration to the card level - Lots of ASoC cleanups, mainly moving things from the CODEC level to the card level - Support for DAPM routes specified by both the machine driver and DT - Continuing improvements to rcar - pcm512x enhacements - Intel platforms updates - rt5670 updates / fixes - New platforms / devices: some non-DSP Qualcomm platforms, Google's Storm platform, Maxmim MAX98925 CODECs and the Ingenic JZ4780 SoC Misc: - ice1724: Improved ESI W192M support - emu10k1: Emu 1010 fixes/enhancement" * tag 'sound-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (411 commits) ALSA: hda - set GET bit when adding a vendor verb to the codec regmap ALSA: hda/realtek - Enable the ALC292 dock fixup on the Thinkpad T450 ALSA: hda - Fix another race in runtime PM refcounting ALSA: hda - Expose codec type sysfs ALSA: ctl: fix to handle several elements added by one operation for userspace element ASoC: Intel: fix array_size.cocci warnings ASoC: n810: Automatically disconnect non-connected pins ASoC: n810: Consistently pass the card DAPM context to n810_ext_control() ASoC: davinci-evm: Use card DAPM context to access widgets ASoC: mop500_ab8500: Use card DAPM context to access widgets ASoC: wm1133-ev1: Use card DAPM context to access widgets ASoC: atmel: Improve machine driver compile test coverage ASoC: atmel: Add dependency to SND_SOC_I2C_AND_SPI where necessary ALSA: control: Fix a typo of SNDRV_CTL_ELEM_ACCESS_TLV_* with SNDRV_CTL_TLV_OP_* ALSA: usb-audio: Don't attempt to get Microsoft Lifecam Cinema sample rate ASoC: rnsd: fix build regression without CONFIG_OF ALSA: emu10k1: add toggles for E-mu 1010 optical ports ALSA: ctl: fill identical information to return value when adding userspace elements ALSA: ctl: fix a bug to return no identical information in info operation for userspace controls ALSA: ctl: confirm to return all identical information in 'activate' event ... commit aa219a0dd7774e2454a5687e7d38e947a131cdee Merge: 4a11248 37ef01a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 16 08:34:51 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-04-15' of git://anongit.freedesktop.org/drm-intel into drm-next Misc i915 fixes. * tag 'drm-intel-next-fixes-2015-04-15' of git://anongit.freedesktop.org/drm-intel: drm/i915: Dont enable CS_PARSER_ERROR interrupts at all drm/i915: Move drm_framebuffer_unreference out of struct_mutex for takeover drm/i915: Allocate connector state together with the connectors drm/i915/chv: Remove DPIO force latency causing interpair skew issue drm/i915: Don't cancel DRRS worker synchronously for flush/invalidate drm/i915: Fix locking in DRRS flush/invalidate hooks commit 4a11248856933f33ca061ed55470ea7e1783b40b Merge: 52139bd 2b1193d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 16 08:34:24 2015 +1000 Merge tag 'topic/drm-misc-2015-04-15' of git://anongit.freedesktop.org/drm-intel into drm-next One more drm-misch pull for 4.1 with mostly simple stuff and boring refactoring. Even the cursor fix from Matt is just to make a really anal igt happy. * tag 'topic/drm-misc-2015-04-15' of git://anongit.freedesktop.org/drm-intel: drm: fix trivial typo mistake drm: Make integer overflow checking cover universal cursor updates (v2) drm: make crtc/encoder/connector/plane helper_private a const pointer drm/armada: constify struct drm_encoder_helper_funcs pointer drm/radeon: constify more struct drm_*_helper funcs pointers drm/edid: add #defines for ELD versions drm/atomic: Add for_each_{connector,crtc,plane}_in_state helper macros drm: Use kref_put_mutex in drm_gem_object_unreference_unlocked drm/drm: constify all struct drm_*_helper funcs pointers drm/qxl: constify all struct drm_*_helper funcs pointers drm/nouveau: constify all struct drm_*_helper funcs pointers drm/radeon: constify all struct drm_*_helper funcs pointers drm/gma500: constify all struct drm_*_helper funcs pointers drm/mgag200: constify all struct drm_*_helper funcs pointers drm/exynos: constify all struct drm_*_helper funcs pointers drm: Fix some typos commit 52139bdea1558e854123d7a07e7648f5a8c77a5c Merge: fc16fc4 1dbee1a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 16 08:33:30 2015 +1000 Merge branch 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next This set of patches adjust the setup of the HDMI CTS/N values for audio support to be compliant with the work-around given in the iMX6 errata documentation as part of the preparation for integrating audio support for this driver, and also update the HDMI phy configuration for Rockchip devices to improve the HDMI eye pattern. * 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm: rockchip/dw_hdmi-rockchip: improve for HDMI electrical test drm: bridge/dw_hdmi: separate VLEVCTRL settting into platform driver drm: bridge/dw_hdmi: fixed codec style drm: bridge/dw_hdmi: adjust n/cts setting order drm: bridge/dw_hdmi: protect n/cts setting with a mutex drm: bridge/dw_hdmi: combine hdmi_set_clock_regenerator_n() and hdmi_regenerate_cts() Conflicts: drivers/gpu/drm/imx/dw_hdmi-imx.c commit fc16fc4d69d5f1b67d3d6ac97bd3b4e1cc3f74cc Merge: 665ae58 49ecb10 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 16 08:00:06 2015 +1000 Merge branch 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux into drm-next Some final bits for 4.1. Some fixes for userptrs and allow a new packet for VCE to enable some new features in mesa. * 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: allow creating overlapping userptrs drm/radeon: add userptr config option drm/radeon: add video usability info support for VCE commit 6b9107d6a10b69cc0a675447bde9383dff8a1d4f Merge: 074975d 2aea6dc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 15 17:29:00 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-04-14 This series contains updates to i40e and i40evf. Mitch provides a fix for i40e, where VFs were gone and the associated VSI's had been removed and the rings were not stopped, which in some circumstances cased memory corruption or DMAR errors. So stop all the rings associated with each VF before releasing its resources. Also cleaned up a poorly indented piece of code. Fixes VF link state, where VF devices were assuming link is up unless told otherwise, which means that VFs instantiated on a PF with no link, would report the wrong state. Anjali adds support to add Flow director Sideband rules for a VF from it's PF. Fixes a recently discovered hardware issue, where after a VFLR hardware might be indicating to us a reset completion little too early, so wait another 10 msec for cache to be cleaned up. Jesse enables the user to dump the internal hardware state for better debugging by allowing a bash script to acquire information about the internal hardware state. The data output to the kernel log is collected by the script and can then be sent to Intel. Also fixed a possible failure path to allocate memory that was found by smatch. Cleaned up unused local variables. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 074975d0374333f656c48487aa046a21a9b9d7a1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 14 18:45:00 2015 -0700 bnx2x: Fix busy_poll vs netpoll Commit 9a2620c877454 ("bnx2x: prevent WARN during driver unload") switched the napi/busy_lock locking mechanism from spin_lock() into spin_lock_bh(), breaking inter-operability with netconsole, as netpoll disables interrupts prior to calling our napi mechanism. This switches the driver into using atomic assignments instead of the spinlock mechanisms previously employed. Based on initial patch from Yuval Mintz & Ariel Elior I basically added softirq starvation avoidance, and mixture of atomic operations, plain writes and barriers. Note this slightly reduces the overhead for this driver when no busy_poll sockets are in use. Fixes: 9a2620c877454 ("bnx2x: prevent WARN during driver unload") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d50ff91d9780263160262daeb6adfdda8ddbc6c Merge: eccd02f 0429c2b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 14:22:45 2015 -0700 Merge tag 'locks-v4.1-1' of git://git.samba.org/jlayton/linux Pull file locking related changes from Jeff Layton: "This set is mostly minor cleanups to the overhaul that went in last cycle. The other noticeable items are the changes to the lm_get_owner and lm_put_owner prototypes, and the fact that we no longer need to use the i_lock to protect the i_flctx pointer" * tag 'locks-v4.1-1' of git://git.samba.org/jlayton/linux: locks: use cmpxchg to assign i_flctx pointer locks: get rid of WE_CAN_BREAK_LSLK_NOW dead code locks: change lm_get_owner and lm_put_owner prototypes locks: don't allocate a lock context for an F_UNLCK request locks: Add lockdep assertion for blocked_lock_lock locks: remove extraneous IS_POSIX and IS_FLOCK tests locks: Remove unnecessary IS_POSIX test commit 48b63776c8255d5b0a84c5caafab5560d9cb7f3b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Apr 14 21:42:42 2015 +0200 net: hip04: Make tx coalesce timer actually work The code sets the expiry value of the timer to a relative value and starts it with hrtimer_start_expires. That's fine, but that only works once. The timer is started in relative mode, so the expiry value gets overwritten with the absolut expiry time (now + expiry). So once the timer expired, a new call to hrtimer_start_expires results in an immidiately expired timer, because the expiry value is already in the past. Use the proper mechanisms to (re)start the timer in the intended way. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: dingtianhong <dingtianhong@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Acked-by: Ding Tianhong <dingtianhong@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eccd02f32a2c25139da2d5e72ebab1fee7b5baab Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 14:09:46 2015 -0700 crypto: fix mis-merge with the networking merge The networking updates from David Miller removed the iocb argument from sendmsg and recvmsg (in commit 1b784140474e: "net: Remove iocb argument from sendmsg and recvmsg"), but the crypto code had added new instances of them. When I pulled the crypto update, it was a silent semantic mis-merge, and I overlooked the new warning messages in my test-build. I try to fix those in the merge itself, but that relies on me noticing. Oh well. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5fa0fa4b01cd9c52c4be0ff69ce0d922cd724812 Author: Brian Bian <brian.bian@xxxxxxxxx> Date: Tue Apr 14 10:53:35 2015 -0700 powercap / RAPL: Add support for Intel Skylake processors Signed-off-by: Brian Bian <brian.bian@xxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 64df1fdfccc054a4e5480c6bc965b67d3c83c3ae Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Apr 3 15:19:53 2015 +0200 cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning I keep seeing drivers/cpufreq/intel_pstate.c: In function â??intel_pstate_initâ??: drivers/cpufreq/intel_pstate.c:1187:26: warning: initialization from incompatible pointer type struct cpuinfo_x86 *c = &boot_cpu_data; when doing randconfig builds. This is caused by the fact that when !CONFIG_SMP, asm/processor.h defines cpu_info to boot_cpu_data and the local variable struct cpu_defaults *cpu_info overshadows it leading to this unfortunate assignment in the preprocessed source: struct cpu_defaults *boot_cpu_data; struct cpuinfo_x86 *c = &boot_cpu_data; Rename the local variable and use static_cpu_has_safe() which alleviates the need for defining a local cpuinfo_x86 pointer. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fa2e5c073a355465a2a8c9a2fbecf404f9857c3a Merge: e44740c 97b2f0d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 13:53:55 2015 -0700 Merge branch 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc Pull exec domain removal from Richard Weinberger: "This series removes execution domain support from Linux. The idea behind exec domains was to support different ABIs. The feature was never complete nor stable. Let's rip it out and make the kernel signal handling code less complicated" * 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc: (27 commits) arm64: Removed unused variable sparc: Fix execution domain removal Remove rest of exec domains. arch: Remove exec_domain from remaining archs arc: Remove signal translation and exec_domain xtensa: Remove signal translation and exec_domain xtensa: Autogenerate offsets in struct thread_info x86: Remove signal translation and exec_domain unicore32: Remove signal translation and exec_domain um: Remove signal translation and exec_domain tile: Remove signal translation and exec_domain sparc: Remove signal translation and exec_domain sh: Remove signal translation and exec_domain s390: Remove signal translation and exec_domain mn10300: Remove signal translation and exec_domain microblaze: Remove signal translation and exec_domain m68k: Remove signal translation and exec_domain m32r: Remove signal translation and exec_domain m32r: Autogenerate offsets in struct thread_info frv: Remove signal translation and exec_domain ... commit e44740c1a94b5d39b093045920f543a7bc135584 Merge: d613896 fe205bd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 13:49:27 2015 -0700 Merge tag 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml Pull UML updates from Richard Weinberger: - hostfs saw a face lifting - old/broken stuff was removed (SMP, HIGHMEM, SKAS3/4) - random cleanups and bug fixes * tag 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: (26 commits) um: Print minimum physical memory requirement um: Move uml_postsetup in the init_thread stack um: add a kmsg_dumper x86, UML: fix integer overflow in ELF_ET_DYN_BASE um: hostfs: Reduce number of syscalls in readdir um: Remove broken highmem support um: Remove broken SMP support um: Remove SKAS3/4 support um: Remove ppc cruft um: Remove ia64 cruft um: Remove dead code from stacktrace hostfs: No need to box and later unbox the file mode hostfs: Use page_offset() hostfs: Set page flags in hostfs_readpage() correctly hostfs: Remove superfluous initializations in hostfs_open() hostfs: hostfs_open: Reset open flags upon each retry hostfs: Remove superfluous test in hostfs_open() hostfs: Report append flag in ->show_options() hostfs: Use __getname() in follow_link hostfs: Remove open coded strcpy() ... commit d613896926be608796bb80454256a07b55fe0e87 Merge: fa92789 5026906 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 13:43:40 2015 -0700 Merge tag 'upstream-4.1-rc1' of git://git.infradead.org/linux-ubifs Pull UBI/UBIFS updates from Richard Weinberger: "This pull request includes the following UBI/UBIFS changes: - powercut emulation for UBI - a huge update to UBI Fastmap - cleanups and bugfixes all over UBI and UBIFS" * tag 'upstream-4.1-rc1' of git://git.infradead.org/linux-ubifs: (50 commits) UBI: power cut emulation for testing UBIFS: fix output format of INUM_WATERMARK UBI: Fastmap: Fall back to scanning mode after ECC error UBI: Fastmap: Remove is_fm_block() UBI: Fastmap: Add blank line after declarations UBI: Fastmap: Remove else after return. UBI: Fastmap: Introduce may_reserve_for_fm() UBI: Fastmap: Introduce ubi_fastmap_init() UBI: Fastmap: Wire up WL accessor functions UBI: Add accessor functions for WL data structures UBI: Move fastmap specific functions out of wl.c UBI: Fastmap: Add new module parameter fm_debug UBI: Fastmap: Make self_check_eba() depend on fastmap self checking UBI: Fastmap: Add self check to detect absent PEBs UBI: Fix stale pointers in ubi->lookuptbl UBI: Fastmap: Enhance fastmap checking UBI: Add initial support for fastmap self checks UBI: Fastmap: Rework fastmap error paths UBI: Fastmap: Prepare for variable sized fastmaps UBI: Fastmap: Locking updates ... commit 6a82ba6d4fda21e5f9fda0f4126add3b88522f02 Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Date: Fri Apr 10 11:06:43 2015 -0700 intel_pstate: Change the setpoint for Atom params Change the setpoint for the Baytrail and Cherrytrail CPUs. This will cause more aggressive pstate selection and improves performance on a variety of workloads with little power penalty. Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c1c2fef6cfb04cf30a56bb37cff40d3498d7edbf Merge: 66578b0 ca9b590 ba943fb 59d2d18 56c1d23 9f5d32a Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Wed Apr 15 16:24:49 2015 -0400 Merge branches 'cve-fixup', 'ipoib', 'iser', 'misc-4.1', 'or-mlx4' and 'srp' into for-4.1 commit 50c6a665b383cb5839e45d04e36faeeefaffa052 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Apr 10 19:37:34 2015 -0500 powerpc/hugetlb: Call mm_dec_nr_pmds() in hugetlb_free_pmd_range() Commit dc6c9a35b66b5 ("mm: account pmd page tables to the process") added a counter that is incremented whenever a PMD is allocated and decremented whenever a PMD is freed. For hugepages on PPC, common code is used to allocated PMDs, but arch-specific code is used to free PMDs. This results in kernel output such as "BUG: non-zero nr_pmds on freeing mm: 1" when using hugepages. Update the PPC hugepage PMD freeing code to decrement the count, just as the above commit did for free_pmd_range(). Fixes: dc6c9a35b66b5 ("mm: account pmd page tables to the process") Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.0.x commit fa927894bbb4a4c7669c72bad1924991022fda38 Merge: c841e12 8436318 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 13:22:56 2015 -0700 Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull second vfs update from Al Viro: "Now that net-next went in... Here's the next big chunk - killing ->aio_read() and ->aio_write(). There'll be one more pile today (direct_IO changes and generic_write_checks() cleanups/fixes), but I'd prefer to keep that one separate" * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (37 commits) ->aio_read and ->aio_write removed pcm: another weird API abuse infinibad: weird APIs switched to ->write_iter() kill do_sync_read/do_sync_write fuse: use iov_iter_get_pages() for non-splice path fuse: switch to ->read_iter/->write_iter switch drivers/char/mem.c to ->read_iter/->write_iter make new_sync_{read,write}() static coredump: accept any write method switch /dev/loop to vfs_iter_write() serial2002: switch to __vfs_read/__vfs_write ashmem: use __vfs_read() export __vfs_read() autofs: switch to __vfs_write() new helper: __vfs_write() switch hugetlbfs to ->read_iter() coda: switch to ->read_iter/->write_iter ncpfs: switch to ->read_iter/->write_iter net/9p: remove (now-)unused helpers p9_client_attach(): set fid->uid correctly ... commit 59d2d18cc4e9ba30b370db18d0e02d792699da96 Author: Honggang LI <honli@xxxxxxxxxx> Date: Wed Apr 15 16:36:15 2015 +0800 mlx5: wrong page mask if CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for 32Bit architectures If CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for x86 systems and physical memory is more than 4GB, dma_map_page may return a valid memory address which greater than 0xffffffff. As a result, the mlx5 device page allocator RB tree will be initialized with valid addresses greater than 0xfffffff. However, (addr & PAGE_MASK) set the high four bytes to zeros. So, it's impossible for the function, free_4k, to release the pages whose addresses greater than 4GB. Memory leaks. And mlx5_ib module can't release the pages when user try to remove the module, as a result, system hang. [root@rdma05 root]# dmesg | grep addr | head addr = 3fe384000 addr & PAGE_MASK = fe384000 [root@rdma05 root]# rmmod mlx5_ib <---- hang on ---------------------- cosnole log ----------------- mlx5_ib 0000:04:00.0: irq 138 for MSI/MSI-X alloc irq_desc for 139 on node -1 alloc kstat_irqs on node -1 mlx5_ib 0000:04:00.0: irq 139 for MSI/MSI-X 0000:04:00.0:free_4k:221:(pid 1519): page not found 0000:04:00.0:free_4k:221:(pid 1519): page not found 0000:04:00.0:free_4k:221:(pid 1519): page not found 0000:04:00.0:free_4k:221:(pid 1519): page not found ---------------------- cosnole log ----------------- Fixes: bf0bf77f6519 ('mlx5: Support communicating arbitrary host page size to firmware') Signed-off-by: Honggang Li <honli@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ba943fb237ea48b01e3229f10cdb2a4274978a2d Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:28 2015 +0300 IB/iser: Rewrite bounce buffer code path In some rare cases, IO operations may be not aligned to page boundaries. This prevents iser from performing fast memory registration. In order to overcome that iser uses a bounce buffer to carry the transaction. We basically allocate a buffer in the size of the transaction and perform a copy. The buffer allocation using kmalloc is too restrictive since it requires higher order (atomic) allocations for large transactions (which may result in memory exhaustion fairly fast for some workloads). We rewrite the bounce buffer code path to allocate scattered pages and perform a copy between the transaction sg and the bounce sg. Reported-by: Alex Lyakas <alex@xxxxxxxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4fcd1470a05253236576a2d166ddd6d5b5c936fc Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:27 2015 +0300 IB/iser: Bump version to 1.6 Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ad1e5672429eadd5a7f9613bf2e59546a2eeef13 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:26 2015 +0300 IB/iser: Remove code duplication for a single DMA entry In singleton scatterlists, DMA memory registration code is taken both for Fastreg and FMR code paths. Move it to a function. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6ef8bb837dd7e60f078084d4842a43fd163fb4a2 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:25 2015 +0300 IB/iser: Pass struct iser_mem_reg to iser_fast_reg_mr and iser_reg_sig_mr Instead of passing ib_sge as output variable, we pass the mem_reg pointer to have the routines fill the rkey as well. This reduces code duplication and extra assignments. This is a preparation step to unify some registration logics together. Also, pass iser_fast_reg_mr the fastreg descriptor directly. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 90a6684c30918786446fd062c7422a4098926891 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:24 2015 +0300 IB/iser: Modify struct iser_mem_reg members No need to keep lkey, va, len variables, we can keep them as struct ib_sge. This will help when we change the memory registration logic. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8b95aa2c1bf8c936e5b0e9096b180a3e4f5327ff Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:23 2015 +0300 IB/iser: Make fastreg pool cache friendly Memory regions are resources that are saved in the device caches. Increase the probability for a cache hit by adding the MRU descriptor to pool head. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4dec2a27e385ac753d754af69f344625f5c50576 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:22 2015 +0300 IB/iser: Move PI context alloc/free to routines Make iser_[create|destroy]_fastreg_desc shorter, more readable and easily extendable. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bd8b944eeeb06f5dac705d2357af3800395174eb Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:21 2015 +0300 IB/iser: Move fastreg descriptor pool get/put to helper functions Instead of open-coding connection fastreg pool get/put, we introduce iser_reg_desc[get|put] helpers. We aren't setting these static as this will be a per-device routine later on. Also, cleanup iser_unreg_rdma_mem_fastreg a bit. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f0e35c27a5962cbd17fc58737c7f5f7b398bccb1 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:20 2015 +0300 IB/iser: Merge build page-vec into register page-vec No need for these two separate. Keep it in a single routine like in the fastreg case. This will also make iser_reg_page_vec closer to iser_fast_reg_mr arguments. This is a preparation step for registration flow refactor. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b130ededff03fcee9411be379fd24b5e840c5e9e Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:19 2015 +0300 IB/iser: Get rid of struct iser_rdma_regd This struct members other than struct iser_mem_reg are unused, so remove it altogether. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6847fdeb0bcd2eade5b8183d3d2857c4fd7b70d5 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:18 2015 +0300 IB/iser: Remove redundant assignments in iser_reg_page_vec Buffer length was assigned twice, and no reason to set va to io_addr and then add the offset, just set va to io_addr + offset. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d03e61d0366c61f596ada66ab11c217e7f887d15 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:17 2015 +0300 IB/iser: Move memory reg/dereg routines to iser_memory.c As memory registration/de-registration methods, lets move them to their natural location. While we're at it, make iser_reg_page_vec routine static. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 56408325900d380f6544460c5892bfeb0616cab3 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:16 2015 +0300 IB/iser: Don't pass ib_device to fall_to_bounce_buff routine No need to pass that, we can take it from the task. In a later stage, this function will be invoked according to a device capability. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e3784bd1d9f1039f28dff2c0c0d17daabb3d6761 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:15 2015 +0300 IB/iser: Remove a redundant struct iser_data_buf No need to keep two iser_data_buf structures just in case we use mem copy. We can avoid that just by adding a pointer to the original sg. So keep only two iser_data_buf per command (data and protection) and pass the relevant data_buf to bounce buffer routine. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ecc3993a2ad2a4ce8f1a58a08e9177f21015492d Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:14 2015 +0300 IB/iser: Remove redundant cmd_data_len calculation This code was added before we had protection data length calculation (in iser_send_command), so we needed to calc the sg data length from the sg itself. This is not needed anymore. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a065fe6aa25ba6ba93c02dc13486131bb3c64d5f Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:13 2015 +0300 IB/iser: Fix wrong calculation of protection buffer length This length miss-calculation may cause a silent data corruption in the DIX case and cause the device to reference unmapped area. Fixes: d77e65350f2d ('libiscsi, iser: Adjust data_length to include protection information') Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 30bf1d58ae8e87fef20248c7166777deab0d7f9c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:12 2015 +0300 IB/iser: Handle fastreg/local_inv completion errors Fast registration and local invalidate work requests can also fail. We should call error completion handler for them. Reported-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c4de4663e0fa858e3a84f9b32b2e1dd2de23fab2 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:11 2015 +0300 IB/iser: Fix unload during ep_poll wrong dereference In case the user unloaded ib_iser while ep_connect is in progress, we need to destroy the endpoint although ep_disconnect wasn't invoked (we detect this by the iser conn state != DOWN). However, if we got an REJECTED/UNREACHABLE CM event we move the connection state to DOWN which will prevent us from destroying the endpoint in the module unload stage. Fix this by setting the connection state to TERMINATING in iser_conn_error so we can still destroy the endpoint at unload stage. Reported-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9f5d32af09b9a36ca1476c9932aac675051670c8 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Mon Oct 20 18:25:15 2014 -0400 ib_srpt: convert printk's to pr_* functions The driver already defined the pr_format, it just hadn't been converted to use pr_info, pr_warn, and pr_err instead of the equivalent printks. Convert so that messages from the driver are now properly tagged with their driver name and can be more easily debugged. In addition, a number of these printk's were not newline terminated, so fix that at the same time. Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 56b5390caf73694b2f50a042542f0b43c29d5ca8 Author: Bart Van Assche <bvanassche@xxxxxxx> Date: Wed Jul 9 15:58:22 2014 +0200 IB/srp: Use P_Key cache for P_Key lookups This change slightly reduces the time needed to log in. Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: David Dillow <dave@xxxxxxxxxxxxxx> Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit cc47d369b51286129aad1735096b1884b8068ad1 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 18:49:59 2015 +0100 infiniband/mlx4: check for mapping error Since ib_dma_map_single can fail use ib_dma_mapping_error to check for errors. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Acked-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d2928a8c0db061939ea34ff3f53f36dcccdf5aa2 Author: Selvin Xavier <selvin.xavier@xxxxxxxxxx> Date: Sun Mar 15 00:09:41 2015 +0530 MAINTAINERS: Adding list of maintainers for ocrdma Updating the MAINTAINERS file with ocrdma maintainers and their email ids Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b962dc0a480559c4c85911686bbb32a515b3d5c8 Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 16:36:14 2015 -0700 rdma: replace deprecated ifconfig in doc The ifconfig command has been deprecated for many years. To encourage new users not to continue using it and learning iproute2; the ifconfig should not be used in examples. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a233c4b54c882817ae9dd73384d5dd75d3e57498 Author: Sébastien Dugué <sebastien.dugue@xxxxxxxx> Date: Thu Apr 9 11:13:41 2015 +0200 ib_uverbs: Fix pages leak when using XRC SRQs Hello, When an application using XRCs abruptly terminates, the mmaped pages of the CQ buffers are leaked. This comes from the fact that when resources are released in ib_uverbs_cleanup_ucontext(), we fail to release the CQs because their refcount is not 0. When creating an XRC SRQ, we increment the associated CQ refcount. This refcount is only decremented when the SRQ is released. Therefore we need to release the SRQs prior to the CQs to make sure that all references to the CQs are gone before trying to release these. Signed-off-by: Sebastien Dugue <sebastien.dugue@xxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ca9b590caa17bcbbea119594992666e96cde9c2f Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:05 2015 +0300 IB/mlx4: Fix WQE LSO segment calculation The current code decreases from the mss size (which is the gso_size from the kernel skb) the size of the packet headers. It shouldn't do that because the mss that comes from the stack (e.g IPoIB) includes only the tcp payload without the headers. The result is indication to the HW that each packet that the HW sends is smaller than what it could be, and too many packets will be sent for big messages. An easy way to demonstrate one more aspect of the problem is by configuring the ipoib mtu to be less than 2*hlen (2*56) and then run app sending big TCP messages. This will tell the HW to send packets with giant (negative value which under unsigned arithmetics becomes a huge positive one) length and the QP moves to SQE state. Fixes: b832be1e4007 ('IB/mlx4: Add IPoIB LSO support') Reported-by: Matthew Finlay <matt@xxxxxxxxxxxx> Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0e5544d9bff432bfcac49ecf237738cc7cf3d032 Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:04 2015 +0300 IB/ipoib: Remove IPOIB_MCAST_RUN bit After Doug Ledford's changes there is no need in that bit, it's semantic becomes subset of the IPOIB_FLAG_OPER_UP bit. Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1e85b806f9b988ce2e465fb0f86c8cca228d83a9 Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:03 2015 +0300 IB/ipoib: Save only IPOIB_MAX_PATH_REC_QUEUE skb's Whenever there is no path->ah to the destination, keep only defined number of skb's. Otherwise there are cases that the driver can keep infinite list of skb's. For example, when one device want to send unicast arp to the destination, and from some reason the SM doesn't respond, the driver currently keeps all the skb's. If that unicast arp traffic stopped, all these skb's are kept by the path object till the interface is down. Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2c0107309550b332f83f8be366521557f4b3fd5a Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:02 2015 +0300 IB/ipoib: Handle QP in SQE state As the result of a completion error the QP can moved to SQE state by the hardware. Since it's not the Error state, there are no flushes and hence the driver doesn't know about that. The fix creates a task that after completion with error which is not a flush tracks the QP state and if it is in SQE state moves it back to RTS. Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 3fd0605caa74c3dc7fe69ed11ada452fe7169575 Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:01 2015 +0300 IB/ipoib: Update broadcast record values after each successful join request Update the cached broadcast record in the priv object after every new join of this broadcast domain group. These values are needed for the port configuration (MTU size) and to all the new multicast (non-broadcast) join requests initial parameters. For example, SM starts with 2K MTU for all the fabric, and after that it restarts (or handover to new SM) with new port configuration of 4K MTU. Without using the new values, the driver will keep its old configuration of 2K and will not apply the new configuration of 4K. Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a44878d100630a34a44f54960115b81e449858db Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:00 2015 +0300 IB/ipoib: Use one linear skb in RX flow The current code in the RX flow uses two sg entries for each incoming packet, the first one was for the IB headers and the second for the rest of the data, that causes two dma map/unmap and two allocations, and few more actions that were done at the data path. Use only one linear skb on each incoming packet, for the data (IB headers and payload), that reduces the packet processing in the data-path (only one skb, no frags, the first frag was not used anyway, less memory allocations) and the dma handling (only one dma map/unmap over each incoming packet instead of two map/unmap per each incoming packet). After commit 73d3fe6d1c6d ("gro: fix aggregation for skb using frag_list") from Eric Dumazet, we will get full aggregation for large packets. When running bandwidth tests before and after the (over the card's numa node), using "netperf -H 1.1.1.3 -T -t TCP_STREAM", the results before are ~12Gbs before and after ~16Gbs on my setup (Mellanox's ConnectX3). Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1c0453d64a341909bbf89cb68c9edaa6cff93850 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:07 2015 -0500 IB/ipoib: drop mcast_mutex usage We needed the mcast_mutex when we had to prevent the join completion callback from having the value it stored in mcast->mc overwritten by a delayed return from ib_sa_join_multicast. By storing the return of ib_sa_join_multicast in an intermediate variable, we prevent a delayed return from ib_sa_join_multicast overwriting the valid contents of mcast->mc, and we no longer need a mutex to force the join callback to run after the return of ib_sa_join_multicast. This allows us to do away with the mutex entirely and protect our critical sections with a just a spinlock instead. This is highly desirable as there were some places where we couldn't use a mutex because the code was not allowed to sleep, and so we were currently using a mix of mutex and spinlock to protect what we needed to protect. Now we only have a spin lock and the locking complexity is greatly reduced. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d2fe937ce6ce23daf5fb214e45432dbb631581b7 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:06 2015 -0500 IB/ipoib: deserialize multicast joins Allow the ipoib layer to attempt to join all outstanding multicast groups at once. The ib_sa layer will serialize multiple attempts to join the same group, but will process attempts to join different groups in parallel. Take advantage of that. In order to make this happen, change the mcast_join_thread to loop through all needed joins, sending a join request for each one that we still need to join. There are a few special cases we handle though: 1) Don't attempt to join anything but the broadcast group until the join of the broadcast group has succeeded. 2) No longer restart the join task at the end of completion handling. If we completed successfully, we are done. The join task now needs kicked either by mcast_send or mcast_restart_task or mcast_start_thread, but should not need started anytime else except when scheduling a backoff attempt to rejoin. 3) No longer use separate join/completion routines for regular and sendonly joins, pass them all through the same routine and just do the right thing based on the SENDONLY join flag. 4) Only try to join a SENDONLY join twice, then drop the packets and quit trying. We leave the mcast group in the list so that if we get a new packet, all that we have to do is queue up the packet and restart the join task and it will automatically try to join twice and then either send or flush the queue again. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 69911416d87d6673c48d23a9fbc060e85f41fc73 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:05 2015 -0500 IB/ipoib: fix MCAST_FLAG_BUSY usage Commit a9c8ba5884 ("IPoIB: Fix usage of uninitialized multicast objects") added a new flag MCAST_JOIN_STARTED, but was not very strict in how it was used. We didn't always initialize the completion struct before we set the flag, and we didn't always call complete on the completion struct from all paths that complete it. And when we did complete it, sometimes we continued to touch the mcast entry after the completion, opening us up to possible use after free issues. This made it less than totally effective, and certainly made its use confusing. And in the flush function we would use the presence of this flag to signal that we should wait on the completion struct, but we never cleared this flag, ever. In order to make things clearer and aid in resolving the rtnl deadlock bug I've been chasing, I cleaned this up a bit. 1) Remove the MCAST_JOIN_STARTED flag entirely 2) Change MCAST_FLAG_BUSY so it now only means a join is in-flight 3) Test mcast->mc directly to see if we have completed ib_sa_join_multicast (using IS_ERR_OR_NULL) 4) Make sure that before setting MCAST_FLAG_BUSY we always initialize the mcast->done completion struct 5) Make sure that before calling complete(&mcast->done), we always clear the MCAST_FLAG_BUSY bit 6) Take the mcast_mutex before we call ib_sa_multicast_join and also take the mutex in our join callback. This forces ib_sa_multicast_join to return and set mcast->mc before we process the callback. This way, our callback can safely clear mcast->mc if there is an error on the join and we will do the right thing as a result in mcast_dev_flush. 7) Because we need the mutex to synchronize mcast->mc, we can no longer call mcast_sendonly_join directly from mcast_send and instead must add sendonly join processing to the mcast_join_task 8) Make MCAST_RUN mean that we have a working mcast subsystem, not that we have a running task. We know when we need to reschedule our join task thread and don't need a flag to tell us. 9) Add a helper for rescheduling the join task thread A number of different races are resolved with these changes. These races existed with the old MCAST_FLAG_BUSY usage, the MCAST_JOIN_STARTED flag was an attempt to address them, and while it helped, a determined effort could still trip things up. One race looks something like this: Thread 1 Thread 2 ib_sa_join_multicast (as part of running restart mcast task) alloc member call callback ifconfig ib0 down wait_for_completion callback call completes wait_for_completion in mcast_dev_flush completes mcast->mc is PTR_ERR_OR_NULL so we skip ib_sa_leave_multicast return from callback return from ib_sa_join_multicast set mcast->mc = return from ib_sa_multicast We now have a permanently unbalanced join/leave issue that trips up the refcounting in core/multicast.c Another like this: Thread 1 Thread 2 Thread 3 ib_sa_multicast_join ifconfig ib0 down priv->broadcast = NULL join_complete wait_for_completion mcast->mc is not yet set, so don't clear return from ib_sa_join_multicast and set mcast->mc complete return -EAGAIN (making mcast->mc invalid) call ib_sa_multicast_leave on invalid mcast->mc, hang forever By holding the mutex around ib_sa_multicast_join and taking the mutex early in the callback, we force mcast->mc to be valid at the time we run the callback. This allows us to clear mcast->mc if there is an error and the join is going to fail. We do this before we complete the mcast. In this way, mcast_dev_flush always sees consistent state in regards to mcast->mc membership at the time that the wait_for_completion() returns. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit efc82eeeae4ece716091d8540079b7f276ca1ad5 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:04 2015 -0500 IB/ipoib: No longer use flush as a parameter Various places in the IPoIB code had a deadlock related to flushing the ipoib workqueue. Now that we have per device workqueues and a specific flush workqueue, there is no longer a deadlock issue with flushing the device specific workqueues and we can do so unilaterally. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0b39578bcde4298a392fb2df16235c316d932127 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:03 2015 -0500 IB/ipoib: Use dedicated workqueues per interface During my recent work on the rtnl lock deadlock in the IPoIB driver, I saw that even once I fixed the apparent races for a single device, as soon as that device had any children, new races popped up. It turns out that this is because no matter how well we protect against races on a single device, the fact that all devices use the same workqueue, and flush_workqueue() flushes *everything* from that workqueue means that we would also have to prevent all races between different devices (for instance, ipoib_mcast_restart_task on interface ib0 can race with ipoib_mcast_flush_dev on interface ib0.8002, resulting in a deadlock on the rtnl_lock). There are several possible solutions to this problem: Make carrier_on_task and mcast_restart_task try to take the rtnl for some set period of time and if they fail, then bail. This runs the real risk of dropping work on the floor, which can end up being its own separate kind of deadlock. Set some global flag in the driver that says some device is in the middle of going down, letting all tasks know to bail. Again, this can drop work on the floor. Or the method this patch attempts to use, which is when we bring an interface up, create a workqueue specifically for that interface, so that when we take it back down, we are flushing only those tasks associated with our interface. In addition, keep the global workqueue, but now limit it to only flush tasks. In this way, the flush tasks can always flush the device specific work queues without having deadlock issues. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 894021a752912ef4c2b63c8d2c466c00bc3cd2e6 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:02 2015 -0500 IB/ipoib: Make the carrier_on_task race aware We blindly assume that we can just take the rtnl lock and that will prevent races with downing this interface. Unfortunately, that's not the case. In ipoib_mcast_stop_thread() we will call flush_workqueue() in an attempt to clear out all remaining instances of ipoib_join_task. But, since this task is put on the same workqueue as the join task, the flush_workqueue waits on this thread too. But this thread is deadlocked on the rtnl lock. The better thing here is to use trylock and loop on that until we either get the lock or we see that FLAG_OPER_UP has been cleared, in which case we don't need to do anything anyway and we just return. While investigating which flag should be used, FLAG_ADMIN_UP or FLAG_OPER_UP, it was determined that FLAG_OPER_UP was the more appropriate flag to use. However, there was a mix of these two flags in use in the existing code. So while we check for that flag here as part of this race fix, also cleanup the two places that had used the less appropriate flag for their tests. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c84ca6d2b1a1bfbdab2dd2bc243840e9589a5aaf Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:01 2015 -0500 IB/ipoib: Consolidate rtnl_lock tasks in workqueue The ipoib_mcast_flush_dev routine is called with the rtnl_lock held and needs to keep it held. It also needs to call flush_workqueue() to flush out any outstanding work. In the past, we've had to try and make sure that we didn't flush out any outstanding join completions because they also wanted to grab rtnl_lock() and that would deadlock. It turns out that the only thing in the join completion handler that needs this lock can be safely moved to our carrier_on_task, thereby reducing the potential for the join completion code and the flush code to deadlock against each other. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit be7aa663fc1d9156798f5af3c60e6df45e1fe5de Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:00 2015 -0500 IB/ipoib: change init sequence ordering In preparation for using per device work queues, we need to move the start of the neighbor thread task to after ipoib_ib_dev_init and move the destruction of the neighbor task to before ipoib_ib_dev_cleanup. Otherwise we will end up freeing our workqueue with work possibly still on it. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e135106fac9525352feb8e49077c8f46c3eaf288 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:26:59 2015 -0500 IB/ipoib: factor out ah flushing Create a an ipoib_flush_ah and ipoib_stop_ah routines to use at appropriate times to flush out all remaining ah entries before we shut the device down. Because neighbors and mcast entries can each have a reference on any given ah, we must make sure to free all of those first before our ah will actually have a 0 refcount and be able to be reaped. This factoring is needed in preparation for having per-device work queues. The original per-device workqueue code resulted in the following error message: <ibdev>: ib_dealloc_pd failed That error was tracked down to this issue. With the changes to which workqueues were flushed when, there were no flushes of the per device workqueue after the last ah's were freed, resulting in an attempt to dealloc the pd with outstanding resources still allocated. This code puts the explicit flushes in the needed places to avoid that problem. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 66578b0b2f69659f00b6169e6fe7377c4b100d18 Author: Yann Droneaud <ydroneaud@xxxxxxxxxx> Date: Mon Apr 13 14:56:23 2015 +0200 IB/core: don't disallow registering region starting at 0x0 In a call to ib_umem_get(), if address is 0x0 and size is already page aligned, check added in commit 8494057ab5e4 ("IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic") will refuse to register a memory region that could otherwise be valid (provided vm.mmap_min_addr sysctl and mmap_low_allowed SELinux knobs allow userspace to map something at address 0x0). This patch allows back such registration: ib_umem_get() should probably don't care of the base address provided it can be pinned with get_user_pages(). There's two possible overflows, in (addr + size) and in PAGE_ALIGN(addr + size), this patch keep ensuring none of them happen while allowing to pin memory at address 0x0. Anyway, the case of size equal 0 is no more (partially) handled as 0-length memory region are disallowed by an earlier check. Link: http://mid.gmane.org/cover.1428929103.git.ydroneaud@xxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 8494057ab5e4 ("IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic") Cc: Shachar Raindel <raindel@xxxxxxxxxxxx> Cc: Jack Morgenstein <jackm@xxxxxxxxxxxx> Cc: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8abaae62f3fdead8f4ce0ab46b4ab93dee39bab2 Author: Yann Droneaud <ydroneaud@xxxxxxxxxx> Date: Mon Apr 13 14:56:22 2015 +0200 IB/core: disallow registering 0-sized memory region If ib_umem_get() is called with a size equal to 0 and an non-page aligned address, one page will be pinned and a 0-sized umem will be returned to the caller. This should not be allowed: it's not expected for a memory region to have a size equal to 0. This patch adds a check to explicitly refuse to register a 0-sized region. Link: http://mid.gmane.org/cover.1428929103.git.ydroneaud@xxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> Cc: Shachar Raindel <raindel@xxxxxxxxxxxx> Cc: Jack Morgenstein <jackm@xxxxxxxxxxxx> Cc: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 06b230e3dd46e3e45fb57990b09007c7cd071515 Author: Lucas Stach <dev@xxxxxxxxxx> Date: Mon Apr 13 22:24:01 2015 +0200 cpupower: fix breakage from libpci API change libpci 3.3.0 introduced an additional member in the pci_filter struct which needs to be initialized to -1 to get the same behavior as before the API change. The libpci internal helpers got updated accordingly, but as the cpupower pci helpers initialized the struct themselves the behavior changed. Use the libpci helper pci_filter_init() to fix this and guard against similar breakages in the future. This fixes probing of the AMD fam12h/14h cpuidle monitor on systems with libpci >= 3.3.0. Signed-off-by: Lucas Stach <dev@xxxxxxxxxx> Acked-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 56c1d2335b355205d6fabb7663d383e73ea0de47 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Feb 12 09:49:43 2015 +0200 IB/mlx4: Change alias guids default to be host assigned Change the default mode to be HOST assigned instead of SM assigned. This is the expected operational mode, because it doesn't depend on SM availability. As PF generates random GUIDs as the initial admin values, this gives out of the box experience. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e9a7ff3a71154ec03b6dc617d97d7c710b7bb98c Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Mon Feb 2 15:07:23 2015 +0200 net/mlx4_core: Return the admin alias GUID upon host view request Return the admin alias GUID value upon a GET request via HOST. We do this so that the GUID value requested by the admin is returned even if the SM has not yet approved this GUID (e.g. the SM is down). Note that this does not create a problem, since the virtual port will remain down until the SM does ACK the requested GUID value. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a0667a83aff20c7659960d7e7cd6a5d187c7df20 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Wed Mar 18 14:56:04 2015 +0200 net/mlx4_core: Raise slave shutdown event upon FLR There might be cases that PF doesn't get a "reset" command upon slave down (e.g. virsh destroy). In these cases, however, an FLR event is issued. Therefore, when the PF receives an FLR event for a slave, it should also generate a shutdown event on the PF for that slave, to let the PF upper layers (mlx4_ib, eth) perform any required cleanup/actions associated with slave shutdown. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ee59fa0d7e9af130bfc1b75524e04c101670bd5e Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue Mar 3 17:28:49 2015 +0200 IB/mlx4: Request alias GUID on demand Request GIDs from the SM on demand, i.e., when a VF actually needs them, and release them when the GIDs are no longer in use. In cloud environments, this is useful for GID migrations, in which a GID is assigned to a VF on the destination HCA, while the VF on the source HCA is shutdown (but the GID was not administratively released). Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f54796012837687532d0a87a0504de22da7c2503 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue Mar 3 16:12:14 2015 +0200 IB/mlx4: Change init flow to request alias GUIDs for active VFs Change the init flow to ask GUIDs only for active VFs. This is done for both SM & HOST modes so that there is no need any more to maintain the ownership record type. In case SM mode is used, the initial value will be 0, ask the SM to assign, for the HOST mode the initial value will be the HOST generated GUID. This will enable out of the box experience for both probed and attached VFs. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2350f24774627d73fe2e3843172b69db91714cd2 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Sun Mar 1 18:17:22 2015 +0200 IB/mlx4: Manage admin alias GUID upon admin request Set the admin alias GUID per the administrator's request via the sysfs mechanism into the core layer. The "get" request returns the current value. However, if the administrator requests the SM to assign a new value by requesting 0, the SM assigned GUID is returned. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit fb517a4f03041c5eaed394bd57ee518b44301f1a Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue Mar 3 11:23:32 2015 +0200 net/mlx4_core: Set initial admin GUIDs for VFs To have out of the box experience, the PF generates random GUIDs who serve as the initial admin values. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 773af94e4e3984d4055c332602de5d0d2ee3d840 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue Mar 3 10:54:48 2015 +0200 net/mlx4_core: Manage alias GUID per VF Manages alias GUIDs per VF per port in the core layer. This is a pre-step for managing alias GUIDs in a mode that the admin GUID is returned via ib_query_gid() regardless of whether the SM has approved it or not. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 99ee4df6aaf542b84f68d66a02de7b68b72a87a8 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue Feb 3 18:32:53 2015 +0200 IB/mlx4: Alias GUID adding persistency support If the SM rejects an alias GUID request the PF driver keeps trying to acquire the specified GUID indefinitely, utilizing an exponential backoff scheme. Retrying is managed per GUID entry. Each entry that wasn't applied holds its next retry information. Retry requests to the SM consist of records of 8 consecutive GUIDS. Each record that contains GUIDs requiring retries holds its next time-to-run based on the retry information of all its GUID entries. The record having the lowest retry time will run first when that retry time arrives. Since the method (SET or DELETE) as sent to the SM applies to all the GUIDs in the record, we must handle SET requests and DELETE requests in separate SM messages (one for SETs and the other for DELETEs). To avoid race conditions where a GUID entry request (set or delete) was modified after the SM request was sent, we save the method and the requested indices as part of the callback's context -- thus, only the requested indexes are evaluated when the response is received. When an GUID entry is approved we turn off its retry-required bit, this prevents redundant SM retries from occurring on that record. The port down event should be sent only when previously it was up. Likewise, the port up event should be sent only if previously the port was down. Synchronization was added around the flows that change entries and record state to prevent race conditions. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 30ecc84eea691cfb0b731d71839bdcba88df5f75 Merge: 9705fea 10709c0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Apr 15 21:35:22 2015 +0200 Merge branch 'omap/dt' into next/late As pointed out by Stephen Rothwell, commit e52117638b79 ("ARM: dts: omap3: Add DT entries for OMAP 3 ISP") conflicts with b8845074cfbb ("ARM: dts: omap3: add minimal l4 bus layout with control module support") in non-obvious ways, causing a build failure when both patches are present. This merges the two branches that introduce the respective changes into the next/late branch to resolve the way that Stephen suggested, as confirmed by Tony. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Link: https://lkml.org/lkml/2015/4/6/436 Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> commit bb668734c4c960c8f61f017585b323b97e5f47b5 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:21 2015 +0000 VFS: assorted d_backing_inode() annotations Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit df2b1afde178f01c6a1b2ec285ca8bcfd4c66640 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:15 2015 +0000 VFS: fs/inode.c helpers: d_inode() annotations these should be used on objects already in top layer Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 466b77bc954c23c5741ea7dd02f20212a72acdb2 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:21 2015 +0000 VFS: fs/cachefiles: d_backing_inode() annotations Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit dea655c28a32ac760c057383dadb5be0f5632362 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:15 2015 +0000 VFS: fs library helpers: d_inode() annotations library helpers called by filesystem drivers on their own inodes Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 75c3cfa855dcedc84e7964269c9b6baf26137959 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:12 2015 +0000 VFS: assorted weird filesystems: d_inode() annotations Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2b0143b5c986be1ce8408b3aadc4709e0a94429d Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:25:59 2015 +0000 VFS: normal filesystems (and lustre): d_inode() annotations that's the bulk of filesystem drivers dealing with inodes of their own Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ce0b16ddf18df35026164fda4a642ef10c01f442 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Feb 19 10:47:02 2015 +0000 VFS: security/: d_inode() annotations ... except where that code acts as a filesystem driver, rather than working with dentries given to it. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c6f493d631c4d40cea5c36055f9148f547b200af Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:22 2015 +0000 VFS: security/: d_backing_inode() annotations most of the ->d_inode uses there refer to the same inode IO would go to, i.e. d_backing_inode() Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c5ef60352893b139147b7c033354e8e028e7f52a Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:16 2015 +0000 VFS: net/: d_inode() annotations socket inodes and sunrpc filesystems - inodes owned by that code Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a25b376bded1ba7fd1d455e140d723b7de2e343c Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:21 2015 +0000 VFS: net/unix: d_backing_inode() annotations places where we are dealing with S_ISSOCK file creation/lookups. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7682c918439d42291df0d76b3e06627f27fbcdef Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:16 2015 +0000 VFS: kernel/: d_inode() annotations relayfs and tracefs are dealing with inodes of their own; those two act as filesystem drivers Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3b362157b2162719145d4f3d4f534357d89b45ce Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:21 2015 +0000 VFS: audit: d_backing_inode() annotations Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c1d81b1cf937027d23f7e53cdd12328799028c6a Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Mar 6 14:24:37 2015 +0000 VFS: Fix up some ->d_inode accesses in the chelsio driver Fix up some ->d_inode accesses in the chelsio driver. (1) FILE_DATA() should just be replaced with file_inode(). (2) set_debugfs_file_size() should be removed and debugfs_create_file_size() should be used to create the file. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5153bc817cdbed826a18938393cc1f81ebbbd898 Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Mar 6 14:08:58 2015 +0000 VFS: Cachefiles should perform fs modifications on the top layer only Cachefiles should perform fs modifications (eg. vfs_unlink()) on the top layer only and should not attempt to alter the lower layer. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ee8ac4d61c2cf43bdd427e70db97ac330e61570d Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Mar 6 14:05:26 2015 +0000 VFS: AF_UNIX sockets should call mknod on the top layer only AF_UNIX sockets should call mknod on the top layer only and should not attempt to modify the lower layer in a layered filesystem such as overlayfs. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit aa4d86163e4e91a1ac560954a554bab417e338f4 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Apr 7 18:23:29 2015 +0200 block: loop: switch to VFS ITER_BVEC Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6683de3886a313ae3d4b8c0323313a987073481b Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Mar 2 16:40:32 2015 +0000 configfs: Fix inconsistent use of file_inode() vs file->f_path.dentry->d_inode Fix inconsistent use of file_inode() vs file->f_path.dentry->d_inode. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4bbcbd3b11dbc676a272be508e47d1c4a5056349 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:16:40 2015 +0000 VFS: Make pathwalk use d_is_reg() rather than S_ISREG() Make pathwalk use d_is_reg() rather than S_ISREG() to determine whether to honour O_TRUNC. Since this occurs after complete_walk(), the dentry type field cannot change and the inode pointer cannot change as we hold a ref on the dentry, so this should be safe. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7ceab50c0be56cf1bbaf2b3dd1c6cda80e5335fb Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Mar 5 12:46:49 2015 +0000 VFS: Fix up debugfs to use d_is_dir() in place of S_ISDIR() Fix up debugfs to use d_is_dir(dentry) in place of S_ISDIR(dentry->d_inode->i_mode). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 698934df8b45da2a06816ee2d7f9a9034e671e62 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 17:33:52 2015 +0000 VFS: Combine inode checks with d_is_negative() and d_is_positive() in pathwalk Where we have: if (!dentry->d_inode || d_is_negative(dentry)) { type constructions in pathwalk we should be able to eliminate the check of d_inode and rely solely on the result of d_is_negative() or d_is_positive(). What we do have to take care to do is to read d_inode after calling a d_is_xxx() typecheck function to get the barriering right. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 88e7fbd4a599375a08876e80a76d92e49fdea55c Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Mar 4 16:38:26 2015 +0000 NFS: Don't use d_inode as a variable name Don't use d_inode as a variable name as it now masks a function name. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4bf46a272647d89e780126b52eda04737defd9f4 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Mar 5 14:09:22 2015 +0000 VFS: Impose ordering on accesses of d_inode and d_flags Impose ordering on accesses of d_inode and d_flags to avoid the need to do this: if (!dentry->d_inode || d_is_negative(dentry)) { when this: if (d_is_negative(dentry)) { should suffice. This check is especially problematic if a dentry can have its type field set to something other than DENTRY_MISS_TYPE when d_inode is NULL (as in unionmount). What we really need to do is stick a write barrier between setting d_inode and setting d_flags and a read barrier between reading d_flags and reading d_inode. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 525d27b23555419e0e7b73fb6e78d4d678cb4f32 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Feb 11 13:40:17 2015 +0000 VFS: Add owner-filesystem positive/negative dentry checks Supply two functions to test whether a filesystem's own dentries are positive or negative (d_really_is_positive() and d_really_is_negative()). The problem is that the DCACHE_ENTRY_TYPE field of dentry->d_flags may be overridden by the union part of a layered filesystem and isn't thus necessarily indicative of the type of dentry. Normally, this would involve a negative dentry (ie. ->d_inode == NULL) having ->d_layer.lower pointed to a lower layer dentry, DCACHE_PINNING_LOWER set and the DCACHE_ENTRY_TYPE field set to something other than DCACHE_MISS_TYPE - but it could also involve, say, a DCACHE_SPECIAL_TYPE being overridden to DCACHE_WHITEOUT_TYPE if a 0,0 chardev is detected in the top layer. However, inside a filesystem, when that fs is looking at its own dentries, it probably wants to know if they are really negative or not - and doesn't care about the fallthrough bits used by the union. To this end, a filesystem should normally use d_really_is_positive/negative() when looking at its own dentries rather than d_is_positive/negative() and should use d_inode() to get at the inode. Anyone looking at someone else's dentries (this includes pathwalk) should use d_is_xxx() and d_backing_inode(). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 65a4a1cad7c56e7056fb4b35ac2d93695612612c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 14:11:08 2015 -0400 nfs: generic_write_checks() shouldn't be done on swapout... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c1c21f4e60ed4523292f1a89ff45a208bddd3849 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 15 19:18:39 2015 +0100 i2c: core: Export bus recovery functions Current -next fails to link an ARM allmodconfig because drivers that use the core recovery functions can be built as modules but those functions are not exported: ERROR: "i2c_generic_gpio_recovery" [drivers/i2c/busses/i2c-davinci.ko] undefined! ERROR: "i2c_generic_scl_recovery" [drivers/i2c/busses/i2c-davinci.ko] undefined! ERROR: "i2c_recover_bus" [drivers/i2c/busses/i2c-davinci.ko] undefined! Add exports to fix this. Fixes: 5f9296ba21b3c (i2c: Add bus recovery infrastructure) Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c841e12add6926d64aa608687893465330b5a03e Merge: b422b75 0a1f00a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:24:41 2015 -0700 Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kconfig updates from Michal Marek: "Here is the kconfig stuff for v4.1-rc1: - fixes for mergeconfig (used by make kvmconfig/tinyconfig) - header cleanup - make -s *config is silent now" * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: kconfig: Do not print status messages in make -s mode kconfig: Simplify Makefile kbuild: add generic mergeconfig target, %.config merge_config.sh: rename MAKE to RUNMAKE merge_config.sh: improve indentation kbuild: mergeconfig: remove redundant $(objtree) kbuild: mergeconfig: move an error check to merge_config.sh kbuild: mergeconfig: fix "jobserver unavailable" warning kconfig: Remove unnecessary prototypes from headers kconfig: Remove dead code kconfig: Get rid of the P() macro in headers kconfig: fix a misspelling in scripts/kconfig/merge_config.sh commit b422b75875a3663f08a9ab5aeb265ed2383cbe2f Merge: d488d3a 41b585b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:19:18 2015 -0700 Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kbuild updates from Michal Marek: "Here is the first round of kbuild changes for v4.1-rc1: - kallsyms fix for ARM and cleanup - make dep(end) removed (developers have no sense of nostalgia these days...) - include Makefiles by relative path - stop useless rebuilds of asm-offsets.h and bounds.h" * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: Kbuild: kallsyms: drop special handling of pre-3.0 GCC symbols Kbuild: kallsyms: ignore veneers emitted by the ARM linker kbuild: ia64: use $(src)/Makefile.gate rather than particular path kbuild: include $(src)/Makefile rather than $(obj)/Makefile kbuild: use relative path more to include Makefile kbuild: use relative path to include Makefile kbuild: do not add $(bounds-file) and $(offsets-file) to targets kbuild: remove warning about "make depend" kbuild: Don't reset timestamps in include/generated if not needed commit d488d3a4ce08e96dad5cb3b6117517d57ccec98f Merge: cb90695 5deeb5c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:08:27 2015 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull security subsystem updates from James Morris: "Highlights for this window: - improved AVC hashing for SELinux by John Brooks and Stephen Smalley - addition of an unconfined label to Smack - Smack documentation update - TPM driver updates" * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (28 commits) lsm: copy comm before calling audit_log to avoid race in string printing tomoyo: Do not generate empty policy files tomoyo: Use if_changed when generating builtin-policy.h tomoyo: Use bin2c to generate builtin-policy.h selinux: increase avtab max buckets selinux: Use a better hash function for avtab selinux: convert avtab hash table to flex_array selinux: reconcile security_netlbl_secattr_to_sid() and mls_import_netlbl_cat() selinux: remove unnecessary pointer reassignment Smack: Updates for Smack documentation tpm/st33zp24/spi: Add missing device table for spi phy. tpm/st33zp24: Add proper wait for ordinal duration in case of irq mode smack: Fix gcc warning from unused smack_syslog_lock mutex in smackfs.c Smack: Allow an unconfined label in bringup mode Smack: getting the Smack security context of keys Smack: Assign smack_known_web as default smk_in label for kernel thread's socket tpm/tpm_infineon: Use struct dev_pm_ops for power management MAINTAINERS: Add Jason as designated reviewer for TPM tpm: Update KConfig text to include TPM2.0 FIFO chips tpm/st33zp24/dts/st33zp24-spi: Add dts documentation for st33zp24 spi phy ... commit 2310568f570e0f95bfb1cc79ff7db617e782e25c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Apr 15 10:48:32 2015 -0700 Input: alps - document separate pointstick button bits for V2 devices Non interleaved dualpoint v2 devices have separate pointstick button bits, document this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4f8d808889d05807f494f82f8cfaa6c113c2f761 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 7 16:30:01 2015 -0700 Input: atmel_mxt_ts - add support for Google Pixel 2 This change allows atmel_mxt_ts to bind to ACPI-enumerated devices in Google Pixel 2 (2015). While newer version of ACPI standard allow use of device-tree-like properties in device descriptions, the version of ACPI implemented in Google BIOS does not support them, and we have to resort to DMI data to specify exact characteristics of the devices (touchpad vs. touchscreen, GPIO to button mapping, etc). Pixel 1 continues to use i2c devices and platform data created by chromeos-laptop driver, since ACPI does not enumerate them. Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit cb906953d2c3fd450655d9fa833f03690ad50c23 Merge: 6c373ca 3abafaf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 10:42:15 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto update from Herbert Xu: "Here is the crypto update for 4.1: New interfaces: - user-space interface for AEAD - user-space interface for RNG (i.e., pseudo RNG) New hashes: - ARMv8 SHA1/256 - ARMv8 AES - ARMv8 GHASH - ARM assembler and NEON SHA256 - MIPS OCTEON SHA1/256/512 - MIPS img-hash SHA1/256 and MD5 - Power 8 VMX AES/CBC/CTR/GHASH - PPC assembler AES, SHA1/256 and MD5 - Broadcom IPROC RNG driver Cleanups/fixes: - prevent internal helper algos from being exposed to user-space - merge common code from assembly/C SHA implementations - misc fixes" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (169 commits) crypto: arm - workaround for building with old binutils crypto: arm/sha256 - avoid sha256 code on ARMv7-M crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer crypto: x86/sha256_ssse3 - move SHA-224/256 SSSE3 implementation to base layer crypto: x86/sha1_ssse3 - move SHA-1 SSSE3 implementation to base layer crypto: arm64/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer crypto: arm64/sha1-ce - move SHA-1 ARMv8 implementation to base layer crypto: arm/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer crypto: arm/sha256 - move SHA-224/256 ASM/NEON implementation to base layer crypto: arm/sha1-ce - move SHA-1 ARMv8 implementation to base layer crypto: arm/sha1_neon - move SHA-1 NEON implementation to base layer crypto: arm/sha1 - move SHA-1 ARM asm implementation to base layer crypto: sha512-generic - move to generic glue implementation crypto: sha256-generic - move to generic glue implementation crypto: sha1-generic - move to generic glue implementation crypto: sha512 - implement base layer for SHA-512 crypto: sha256 - implement base layer for SHA-256 crypto: sha1 - implement base layer for SHA-1 crypto: api - remove instance when test failed crypto: api - Move alg ref count init to crypto_check_alg ... commit 889fa31f00b218a2cef96c32a6b3f57e6d3bf918 Author: Chong Yuan <chong.yuan@xxxxxxxxxxxx> Date: Wed Apr 15 11:39:29 2015 -0600 blk-mq: reduce unnecessary software queue looping In flush_busy_ctxs() and blk_mq_hctx_has_pending(), regardless of how many ctxs assigned to one hctx, they will all loop hctx->ctx_map.map_size times. Here hctx->ctx_map.map_size is a const ALIGN(nr_cpu_ids, 8) / 8. Especially, flush_busy_ctxs() is in hot code path. And it's unnecessary. Change ->map_size to contain the actually mapped software queues, so we only loop for as many iterations as we have to. And remove cpumask setting and nr_ctx count in blk_mq_init_cpu_queues() since they are all re-done in blk_mq_map_swqueue(). blk_mq_map_swqueue(). Signed-off-by: Chong Yuan <chong.yuan@xxxxxxxxxxxx> Reviewed-by: Wenbo Wang <wenbo.wang@xxxxxxxxxxxx> Updated by me for formatting and commenting. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dc48e56d761610da4ea1088d1bea0a030b8e3e43 Author: Jens Axboe <axboe@xxxxxx> Date: Wed Apr 15 11:17:23 2015 -0600 aio: fix serial draining in exit_aio() exit_aio() currently serializes killing io contexts. Each context killing ends up having to do percpu_ref_kill(), which in turns has to wait for an RCU grace period. This can take a long time, depending on the number of contexts. And there's no point in doing them serially, when we could be waiting for all of them in one fell swoop. This patches makes my fio thread offload test case exit 0.2s instead of almost 6s. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0618764cb25f6fa9fb31152995de42a8a0496475 Author: Ben Collins <ben.c@xxxxxxxxxxxx> Date: Fri Apr 3 16:09:46 2015 +0000 dm crypt: fix deadlock when async crypto algorithm returns -EBUSY I suspect this doesn't show up for most anyone because software algorithms typically don't have a sense of being too busy. However, when working with the Freescale CAAM driver it will return -EBUSY on occasion under heavy -- which resulted in dm-crypt deadlock. After checking the logic in some other drivers, the scheme for crypt_convert() and it's callback, kcryptd_async_done(), were not correctly laid out to properly handle -EBUSY or -EINPROGRESS. Fix this by using the completion for both -EBUSY and -EINPROGRESS. Now crypt_convert()'s use of completion is comparable to af_alg_wait_for_completion(). Similarly, kcryptd_async_done() follows the pattern used in af_alg_complete(). Before this fix dm-crypt would lockup within 1-2 minutes running with the CAAM driver. Fix was regression tested against software algorithms on PPC32 and x86_64, and things seem perfectly happy there as well. Signed-off-by: Ben Collins <ben.c@xxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5977907937afa2b5584a874d44ba6c0f56aeaa9c Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Apr 9 16:53:24 2015 -0400 dm crypt: leverage immutable biovecs when decrypting on read Commit 003b5c571 ("block: Convert drivers to immutable biovecs") stopped short of changing dm-crypt to leverage the fact that the biovec array of a bio will no longer be modified. Switch to using bio_clone_fast() when cloning bios for decryption after read. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e44f23b32dc7916b2bc12817e2f723fefa21ba41 Author: Milan Broz <gmazyland@xxxxxxxxx> Date: Sun Apr 5 18:03:10 2015 +0200 dm crypt: update URLs to new cryptsetup project page Cryptsetup home page moved to GitLab. Also remove link to abandonded Truecrypt page. Signed-off-by: Milan Broz <gmazyland@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 0e9cebe724597a76ab1b0ebc0a21e16f7db11b47 Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Mar 20 10:50:37 2015 -0400 dm: add log writes target Introduce a new target that is meant for file system developers to test file system integrity at particular points in the life of a file system. We capture all write requests and associated data and log them to a separate device for later replay. There is a userspace utility to do this replay. The idea behind this is to give file system developers a tool to verify that the file system is always consistent. Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Zach Brown <zab@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 7f61f5a022101e0c38c3cff2ef9ace9c9c86dbfb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 10:43:18 2015 -0700 dm table: use bool function return values of true/false not 1/0 Use the normal return values for bool functions. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 65ff5b7ddf0541f2b6e5cc59c47bfbf6cbcd91b8 Author: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Date: Wed Mar 18 15:52:14 2015 +0000 dm verity: add error handling modes for corrupted blocks Add device specific modes to dm-verity to specify how corrupted blocks should be handled. The following modes are defined: - DM_VERITY_MODE_EIO is the default behavior, where reading a corrupted block results in -EIO. - DM_VERITY_MODE_LOGGING only logs corrupted blocks, but does not block the read. - DM_VERITY_MODE_RESTART calls kernel_restart when a corrupted block is discovered. In addition, each mode sends a uevent to notify userspace of corruption and to allow further recovery actions. The driver defaults to previous behavior (DM_VERITY_MODE_EIO) and other modes can be enabled with an additional parameter to the verity table. Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 0e0e32c16cfd2eeaf4fd4f16aa6cccd1333ce1e0 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Wed Mar 18 20:57:29 2015 -0400 dm thin: remove stale 'trim' message documentation The 'trim' message wasn't ever implemented. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit aca607ba242dde316794c0b607048fd5b688a520 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Mar 17 07:47:58 2015 -0400 dm delay: use msecs_to_jiffies for time conversion Converting milliseconds to jiffies by "val * HZ / 1000" is technically OK but msecs_to_jiffies(val) is the cleaner solution and handles all corner cases correctly. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 18cc980ac8cf8c727d1f7d581b4576ed64bd78a6 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed Mar 18 18:59:02 2015 -0400 dm log userspace base: fix compile warning This fixes up a compile warning [-Wunused-but-set-variable] - given the comment in userspace_set_region_sync() the non-reporting of errors is intentional so the return value can be dropped to make gcc happy. Also, fix typo in comment. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit c32a512fdf62de260ee8298436558ea50b94dfcb Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 15 13:09:10 2015 -0400 dm log userspace transfer: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout() is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 644bda6f346038bce7ad3ed48f7044c10dde6d47 Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Tue Feb 10 15:20:51 2015 -0800 dm table: fall back to getting device using name_to_dev_t() If a device is used as the root filesystem, it can't be built off of devices which are within the root filesystem (just like command line arguments to root=). For this reason, Linux has a pseudo-filesystem for root= and MD initialization (based on the function name_to_dev_t) which handles different ways of specifying devices including PARTUUID and major:minor. Switch to using name_to_dev_t() in dm_get_device(). Rather than having DM assume that all things which are not major:minor are paths in an already-mounted filesystem, change dm_get_device() to first attempt to look up the device in the filesystem, and if not found it will fall back to using name_to_dev_t(). In terms of backwards compatibility, there are some cases where behavior will be different: - If you have a file in the current working directory named 1:2 and you initialze DM there, then it will try to use that file rather than the disk with that major:minor pair as a backing device. - Similarly for other bdev types which name_to_dev_t() knows how to interpret, the previous behavior was to repeatedly check for the existence of the file (e.g., while waiting for rootfs to come up) but the new behavior is to use the name_to_dev_t() interpretation. For example, if you have a file named /dev/ubiblock0_0 which is a symlink to /dev/sda3, but it is not yet present when DM starts to initialize, then the name_to_dev_t() interpretation will take precedence. These incompatibilities would only show up in really strange setups with bad practices so we shouldn't have to worry about them. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 283e7ad0241155710f99a9f39d13313a53336926 Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Tue Feb 10 15:20:50 2015 -0800 init: stricter checking of major:minor root= values In the kernel command-line, previously, root=1:2jakshflaksjdhfa would be accepted and interpreted just like root=1:2. This patch adds stricter checking so that additional characters after major:minor are rejected by root=. The goal of this change is to help in unifying DM's interpretation of its block device argument by using existing kernel code (name_to_dev_t). But DM rejects malformed major:minor pairs, it seems reasonable for root= to reject them as well. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e6e20a7a5f3f49bfee518d5c6849107398d83912 Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Tue Feb 10 15:20:49 2015 -0800 init: export name_to_dev_t and mark name argument as const DM will switch its device lookup code to using name_to_dev_t() so it must be exported. Also, the @name argument should be marked const. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 17e149b8f73ba116e71e25930dd6f2eb3828792d Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Wed Mar 11 15:01:09 2015 -0400 dm: add 'use_blk_mq' module param and expose in per-device ro sysfs attr Request-based DM's blk-mq support defaults to off; but a user can easily change the default using the dm_mod.use_blk_mq module/boot option. Also, you can check what mode a given request-based DM device is using with: cat /sys/block/dm-X/dm/use_blk_mq This change enabled further cleanup and reduced work (e.g. the md->io_pool and md->rq_pool isn't created if using blk-mq). Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 022333427a8aa4ccb318a9db90cea4e69ca1826b Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Mar 10 23:49:26 2015 -0400 dm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mq dm_mq_queue_rq() is in atomic context so care must be taken to not sleep -- as such GFP_ATOMIC is used for the md->bs bioset allocations and dm-mpath's call to blk_get_request(). In the future the bioset allocations will hopefully go away (by removing support for partial completions of bios in a cloned request). Also prepare for supporting DM blk-mq ontop of old-style request_fn device(s) if a new dm-mod 'use_blk_mq' parameter is set. The kthread will still be used to queue work if blk-mq is used ontop of old-style request_fn device(s). Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit bfebd1cdb497a57757c83f5fbf1a29931591e2a4 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Sun Mar 8 00:51:47 2015 -0500 dm: add full blk-mq support to request-based DM Commit e5863d9ad ("dm: allocate requests in target when stacking on blk-mq devices") served as the first step toward fully utilizing blk-mq in request-based DM -- it enabled stacking an old-style (request_fn) request_queue ontop of the underlying blk-mq device(s). That first step didn't improve performance of DM multipath ontop of fast blk-mq devices (e.g. NVMe) because the top-level old-style request_queue was severely limited by the queue_lock. The second step offered here enables stacking a blk-mq request_queue ontop of the underlying blk-mq device(s). This unlocks significant performance gains on fast blk-mq devices, Keith Busch tested on his NVMe testbed and offered this really positive news: "Just providing a performance update. All my fio tests are getting roughly equal performance whether accessed through the raw block device or the multipath device mapper (~470k IOPS). I could only push ~20% of the raw iops through dm before this conversion, so this latest tree is looking really solid from a performance standpoint." Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Tested-by: Keith Busch <keith.busch@xxxxxxxxx> commit 0ce65797a77ee780f62909d3128bf08b9735718b Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Feb 26 00:50:28 2015 -0500 dm: impose configurable deadline for dm_request_fn's merge heuristic Otherwise, for sequential workloads, the dm_request_fn can allow excessive request merging at the expense of increased service time. Add a per-device sysfs attribute to allow the user to control how long a request, that is a reasonable merge candidate, can be queued on the request queue. The resolution of this request dispatch deadline is in microseconds (ranging from 1 to 100000 usecs), to set a 20us deadline: echo 20 > /sys/block/dm-7/dm/rq_based_seq_io_merge_deadline The dm_request_fn's merge heuristic and associated extra accounting is disabled by default (rq_based_seq_io_merge_deadline is 0). This sysfs attribute is not applicable to bio-based DM devices so it will only ever report 0 for them. By allowing a request to remain on the queue it will block others requests on the queue. But introducing a short dequeue delay has proven very effective at enabling certain sequential IO workloads on really fast, yet IOPS constrained, devices to build up slightly larger IOs -- yielding 90+% throughput improvements. Having precise control over the time taken to wait for larger requests to build affords control beyond that of waiting for certain IO sizes to accumulate (which would require a deadline anyway). This knob will only ever make sense with sequential IO workloads and the particular value used is storage configuration specific. Given the expected niche use-case for when this knob is useful it has been deemed acceptable to expose this relatively crude method for crafting optimal IO on specific storage -- especially given the solution is simple yet effective. In the context of DM multipath, it is advisable to tune this sysfs attribute to a value that offers the best performance for the common case (e.g. if 4 paths are expected active, tune for that; if paths fail then performance may be slightly reduced). Alternatives were explored to have request-based DM autotune this value (e.g. if/when paths fail) but they were quickly deemed too fragile and complex to warrant further design and development time. If this problem proves more common as faster storage emerges we'll have to look at elevating a generic solution into the block core. Tested-by: Shiva Krishna Merla <shivakrishna.merla@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit b898320d683d54c2bc17b748b9742d2b601ad453 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Feb 27 17:58:42 2015 -0500 dm sysfs: introduce ability to add writable attributes Add DM_ATTR_RW() macro and establish .store method in dm_sysfs_ops. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit de3ec86dff160d35c817bb70eeaeff6e392f44a4 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Feb 24 21:58:21 2015 -0500 dm: don't start current request if it would've merged with the previous Request-based DM's dm_request_fn() is so fast to pull requests off the queue that steps need to be taken to promote merging by avoiding request processing if it makes sense. If the current request would've merged with previous request let the current request stay on the queue longer. Suggested-by: Jens Axboe <axboe@xxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit d548b34b062b60b4f4df295a0b4823dfda1f1fc4 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Mar 5 22:21:10 2015 -0500 dm: reduce the queue delay used in dm_request_fn from 100ms to 10ms Commit 7eaceaccab ("block: remove per-queue plugging") didn't justify DM's use of a 100ms delay; such an extended delay is a liability when there is reason to re-kick the queue. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 9d1deb83d489364f8749a3a1ba1689efb07d94b0 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Feb 24 20:49:18 2015 -0500 dm: don't schedule delayed run of the queue if nothing to do In request-based DM's dm_request_fn(), if blk_peek_request() returns NULL just return. Avoids unnecessary blk_delay_queue(). Reported-by: Jens Axboe <axboe@xxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 9a0e609e3fd8a95c96629b9fbde6b8c5b9a1456a Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Feb 24 11:03:22 2015 -0500 dm: only run the queue on completion if congested or no requests pending On really fast storage it can be beneficial to delay running the request_queue to allow the elevator more opportunity to merge requests. Otherwise, it has been observed that requests are being sent to q->request_fn much quicker than is ideal on IOPS-bound backends. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit ff36ab34583ae23250a4bf39805d69771e7e0131 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Feb 23 17:56:37 2015 -0500 dm: remove request-based logic from make_request_fn wrapper The old dm_request() method used for q->make_request_fn had a branch for request-based DM support but it isn't needed given that dm_init_request_based_queue() sets it to the standard blk_queue_bio() anyway. Cleanup dm_init_md_queue() to be DM device-type agnostic and have dm_setup_md_queue() properly finish queue setup based on DM device-type (bio-based vs request-based). A followup block patch can be made to remove the export for blk_queue_bio() now that DM no longer calls it directly. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit ac98b4c015b50b1e452f8d55b612320be7f80825 Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Mon Apr 13 14:20:54 2015 +0800 ASoC: Intel: Remove invalid kfree of devm allocated data kbuild robot reports following warning: "sound/soc/intel/haswell/sst-haswell-ipc.c:2204:1-6: WARNING: invalid free of devm_ allocated data" As julia explains to me, the memory allocated with devm_kalloc is freed automatically on failure of a probe function. So this kfree should be removed otherwise the double free will be got in error handler path. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d1acba2fdebb449bad01e7cf77a9f9730dfaca6e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Apr 13 06:00:45 2015 +0000 ASoC: rsnd: set dmaen->chan = NULL when error case rsnd_dmaen_quit() is assuming dmaen->chan is NULL if it failed to get DMAEngine channel. but, current dmaen->chan might have error value when error case (this driver is checking it by IS_ERR_OR_NULL()) This patch makes sure dmaen->chan is NULL when error case. Otherwise, it will contact to unknown address in rsnd_dmaen_quit() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 96f05be37f4ece1dffba92d4ae079a486a4cf6df Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 13 14:23:29 2015 +0200 ASoC: qcom: Return an error for invalid PCM trigger command Fix a compile warning sound/soc/qcom/lpass-cpu.c: In function â??lpass_cpu_daiops_triggerâ??: sound/soc/qcom/lpass-cpu.c:224:2: warning: â??retâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] return ret; ^ Although switch () lists the most of existing cases, it's still better to cover the rest as an error properly. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Acked-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c373ca89399c5a3f7ef210ad8f63dc3437da345 Merge: bb0fd7a 9f91514 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 09:00:47 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Pull networking updates from David Miller: 1) Add BQL support to via-rhine, from Tino Reichardt. 2) Integrate SWITCHDEV layer support into the DSA layer, so DSA drivers can support hw switch offloading. From Floria Fainelli. 3) Allow 'ip address' commands to initiate multicast group join/leave, from Madhu Challa. 4) Many ipv4 FIB lookup optimizations from Alexander Duyck. 5) Support EBPF in cls_bpf classifier and act_bpf action, from Daniel Borkmann. 6) Remove the ugly compat support in ARP for ugly layers like ax25, rose, etc. And use this to clean up the neigh layer, then use it to implement MPLS support. All from Eric Biederman. 7) Support L3 forwarding offloading in switches, from Scott Feldman. 8) Collapse the LOCAL and MAIN ipv4 FIB tables when possible, to speed up route lookups even further. From Alexander Duyck. 9) Many improvements and bug fixes to the rhashtable implementation, from Herbert Xu and Thomas Graf. In particular, in the case where an rhashtable user bulk adds a large number of items into an empty table, we expand the table much more sanely. 10) Don't make the tcp_metrics hash table per-namespace, from Eric Biederman. 11) Extend EBPF to access SKB fields, from Alexei Starovoitov. 12) Split out new connection request sockets so that they can be established in the main hash table. Much less false sharing since hash lookups go direct to the request sockets instead of having to go first to the listener then to the request socks hashed underneath. From Eric Dumazet. 13) Add async I/O support for crytpo AF_ALG sockets, from Tadeusz Struk. 14) Support stable privacy address generation for RFC7217 in IPV6. From Hannes Frederic Sowa. 15) Hash network namespace into IP frag IDs, also from Hannes Frederic Sowa. 16) Convert PTP get/set methods to use 64-bit time, from Richard Cochran. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1816 commits) fm10k: Bump driver version to 0.15.2 fm10k: corrected VF multicast update fm10k: mbx_update_max_size does not drop all oversized messages fm10k: reset head instead of calling update_max_size fm10k: renamed mbx_tx_dropped to mbx_tx_oversized fm10k: update xcast mode before synchronizing multicast addresses fm10k: start service timer on probe fm10k: fix function header comment fm10k: comment next_vf_mbx flow fm10k: don't handle mailbox events in iov_event path and always process mailbox fm10k: use separate workqueue for fm10k driver fm10k: Set PF queues to unlimited bandwidth during virtualization fm10k: expose tx_timeout_count as an ethtool stat fm10k: only increment tx_timeout_count in Tx hang path fm10k: remove extraneous "Reset interface" message fm10k: separate PF only stats so that VF does not display them fm10k: use hw->mac.max_queues for stats fm10k: only show actual queues, not the maximum in hardware fm10k: allow creation of VLAN on default vid fm10k: fix unused warnings ... commit c7f94520e988c9313c09e2768874c99d3b062dcc Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Apr 15 08:48:47 2015 -0700 i2c: jz4780: Fix build for m68k and sparc64 Fix: drivers/i2c/busses/i2c-jz4780.c: In function 'jz4780_i2c_readw': drivers/i2c/busses/i2c-jz4780.c:181:2: error: implicit declaration of function 'readw' drivers/i2c/busses/i2c-jz4780.c: In function 'jz4780_i2c_writew': drivers/i2c/busses/i2c-jz4780.c:187:2: error: implicit declaration of function 'writew' seen with sparc64:allmodconfig and m68k:allmodconfig. The driver has to include linux/io.h. Fixes: ba92222ed63a ("i2c: jz4780: Add i2c bus controller driver for Ingenic JZ4780") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit decf63336e356423300b935afbebeca1fcb15184 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Tue Apr 14 12:04:10 2015 +0800 KVM: MMU: fix comment in kvm_mmu_zap_collapsible_spte Soft mmu uses direct shadow page to fill guest large mapping with small pages if huge mapping is disallowed on host. So zapping direct shadow page works well both for soft mmu and hard mmu, it's just less widely applicable. Fix the comment to reflect this. Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Message-Id: <552C91BA.1010703@xxxxxxxxxxxxxxx> [Fix comment wording further. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 130005231c9f2090b1b177e2cca9841b562c1784 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Wed Apr 15 10:24:54 2015 +0800 kvm: mmu: don't do memslot overflow check As Andres pointed out: | I don't understand the value of this check here. Are we looking for a | broken memslot? Shouldn't this be a BUG_ON? Is this the place to care | about these things? npages is capped to KVM_MEM_MAX_NR_PAGES, i.e. | 2^31. A 64 bit overflow would be caused by a gigantic gfn_start which | would be trouble in many other ways. This patch drops the memslot overflow check to make the codes more simple. Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Message-Id: <1429064694-3072-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 95fce4fa0850da8f85ecf8d069ab3fc6c8bc1478 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Apr 15 12:27:04 2015 +0200 KVM: s390: disable RRBM again commit b273921356df ("KVM: s390: enable more features that need no hypervisor changes") also enabled RRBM. Turns out that this instruction does need some KVM code, so lets disable that bit again. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Fixes: b273921356df ("KVM: s390: enable more features that need no hypervisor changes") Message-Id: <1429093624-49611-2-git-send-email-borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 33236415ece63d5689411f3ddb676eeb93af2698 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 9 22:58:04 2015 +0200 scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning if()/BUG conversion to BUG_ON must be avoided when there's side effect in condition. The reason being BUG_ON won't execute the condition when CONFIG_BUG is not defined. Inspired-by: J. Bruce Fields <bfields@xxxxxxxxxxxx> Suggested-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 99b2cdde83726a89daadbfd1264fb9a3b91eed0b Author: Alex Pilon <alp+linux@xxxxxxxxxxxx> Date: Tue Apr 14 00:38:33 2015 -0400 scripts/extract-ikconfig: Support LZ4-compressed images. Support for kernel image LZ4 compression was added around 3.11, but not the corresponding kernel .config extraction. This makes possible extracting the kernel config for LZ4-compressed kernels you're not running, or the current LZ4-compressed kernel if compiled without /proc/config.gz support. Signed-off-by: Alex Pilon <alp+linux@xxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 80ed156a3d12819a8c839f40f5b6996c4aa117a5 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 14:34:33 2015 +0200 s390/pci: add locking for fmb access Function measurement can be toggled at runtime. Make sure that all access to the fmb is protected via a mutex. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6001018ae8c659e624351d2e73b1272bacd68d6a Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 14:33:08 2015 +0200 s390/pci: extract software counters from fmb The software counters are not a part of the function measurement block. Also we do not check for zdev->fmb != NULL when using these counters (function measurement can be toggled at runtime). Just move the software counters to struct zpci_dev. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit df3044f1ef002c2269b11cb76a1b2bec629732b4 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Thu Apr 2 13:18:39 2015 +0200 s390/dasd: Fix unresumed device after suspend/resume having no paths The DASD device driver prevents I/O from being started on stopped devices. This also prevented channel paths to be verified and so the device was unable to be resumed. Fix by allowing path verification requests on stopped devices. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a3147a7bc266df39b4f471ee7c4c9adcb56d29a6 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Thu Apr 2 12:52:41 2015 +0200 s390/dasd: fix unresumed device after suspend/resume The DASD device driver only has a limited amount of memory to build I/O requests. This memory was used by blocklayer requests leading to an inability to build needed internal requests to resume the device. Fix by preventing the DASD driver to fetch requests for a stopped device. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Reference-ID: RQM 2520 Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit f2608cd4a37479d11d0748f524a6a363ee38631f Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Thu Apr 2 12:27:25 2015 +0200 s390/dasd: fix inability to set a DASD device offline Fix ref counting for DASD devices leading to an inability to set a DASD device offline. Before a worker is scheduled the DASD device driver takes a reference to the device. If the worker was already scheduled this reference was never freed. Fix by giving the reference to the DASD device free when schedule_work() returns false. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8741ce6d114873e482b1ef298d6537d18ff393d3 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 18:49:11 2015 +0200 s390/mm: Fix memory hotplug for unaligned standby memory Commit 27356f54c8c3 ("mm/hotplug: verify hotplug memory range") introduced a check that makes add_memory() only accept section size aligned memory. Therefore on z/VM systems, where standby memory is not aligned, no standby memory is registered at all. Example: #cp def store 3504M standby 2336M 00: CP Q V STORE 00: STORAGE = 3504M MAX = 6G INC = 8M STANDBY = 2336M RESERVED = 0 For this setup the following error message is printed: Section-unaligned hotplug range: start 0xdb000000, size 0x92000000 So fix this and register aligned memory in "sclp_cmd.c". This means that for the corner cases where the standby memory is not aligned we loose some memory. In order to inform the user about the potential loss of standby memory, we add a new message for each added standby block and print how much of the standby memory is usable, for example: sclp_cmd.4336b4: Standby memory at 0x50000000 (256M of 256M usable) sclp_cmd.4336b4: Standby memory at 0xb0000000 (256M of 256M usable) sclp_cmd.4336b4: Standby memory at 0xdb000000 (2048M of 2336M usable) We also ensure that a potential memory block that contains both "assigned" and "standby" memory cannot be setup offline. Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 054623105728b06852f077299e2bf1bf3d5f2b0b Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 16:08:32 2015 +0200 s390/bpf: Add s390x eBPF JIT compiler backend Replace 32 bit BPF JIT backend with new 64 bit eBPF backend. Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1c6e4b1811bffc6b0520310f6d8a6b4ec760fdbc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 16:46:05 2015 -0700 s390: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0b97b03d88b40bfbd7ff0e069186a137d9786d43 Author: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> Date: Thu Apr 9 08:05:10 2015 +0100 xen/pci: Try harder to get PXM information for Xen If the device being added to Xen is not contained in the ACPI table, walk the PCI device tree to find a parent that is contained in the ACPI table before finding the PXM information from this device. Previously, it would try to get a handle for the device, then the device's bridge, then the physfn. This changes the order so that it tries to get a handle for the device, then the physfn, the walks up the PCI device tree. Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit ccc9d90a9a8b5c4ad7e9708ec41f75ff9e98d61d Author: Wei Liu <wei.liu2@xxxxxxxxxx> Date: Fri Apr 3 14:44:59 2015 +0800 xenbus_client: Extend interface to support multi-page ring Originally Xen PV drivers only use single-page ring to pass along information. This might limit the throughput between frontend and backend. The patch extends Xenbus driver to support multi-page ring, which in general should improve throughput if ring is the bottleneck. Changes to various frontend / backend to adapt to the new interface are also included. Affected Xen drivers: * blkfront/back * netfront/back * pcifront/back * scsifront/back * vtpmfront The interface is documented, as before, in xenbus_client.c. Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit b99e6fb86541e4dc28f5c3ff7418347fa9d8d29c Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 15 10:00:35 2015 +0200 pinctrl: fix allmodconfig noise There was some mess in the dependencies in the pinctrl Kconfig for compile tests under allmodconfig. Mea Culpa. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2fe0753d49402aee325cc39c476b46fd51a8afec Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Apr 14 12:52:50 2015 -0700 powerpc/powermac: Fix build error seen with powermac smp builds powermac smp builds fail with arch/powerpc/platforms/powermac/smp.c: In function 'smp_psurge_probe': arch/powerpc/platforms/powermac/smp.c:278:3: error: 'return' with a value, in function returning void There are several instances of this error. Fixes: a7f4ee1fe93a ("powerpc: Drop return value of smp_ops->probe()") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2aea6dcb7864e174dada15728c43c5330637d424 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Tue Apr 7 19:45:42 2015 -0400 i40e: Bump version to 1.3.2 Bump. Change-ID: Id14baae72332d0f1a9bc5d351ea1a85cb0295ec3 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bb0fd7ab0986105765d11baa82e619c618a235aa Merge: bdfa54d 4b2f883 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 21:03:26 2015 -0700 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM updates from Russell King: "Included in this update are both some long term fixes and some new features. Fixes: - An integer overflow in the calculation of ELF_ET_DYN_BASE. - Avoiding OOMs for high-order IOMMU allocations - SMP requires the data cache to be enabled for synchronisation primitives to work, so prevent the CPU_DCACHE_DISABLE option being visible on SMP builds. - A bug going back 10+ years in the noMMU ARM94* CPU support code, where it corrupts registers. Found by folk getting Linux running on their cameras. - Versatile Express needs an errata workaround enabled for CPU hot-unplug to work. Features: - Clean up module linker by handling out of range relocations separately from relocation cases we don't handle. - Fix a long term bug in the pci_mmap_page_range() code, which we hope won't impact userspace (we hope there's no users of the existing broken interface.) - Don't map DMA coherent allocations when we don't have a MMU. - Drop experimental status for SMP_ON_UP. - Warn when DT doesn't specify ePAPR mandatory cache properties. - Add documentation concerning how we find the start of physical memory for AUTO_ZRELADDR kernels, detailing why we have chosen the mask and the implications of changing it. - Updates from Ard Biesheuvel to address some issues with large kernels (such as allyesconfig) failing to link. - Allow hibernation to work on modern (ARMv7) CPUs - this appears to have never worked in the past on these CPUs. - Enable IRQ_SHOW_LEVEL, which changes the /proc/interrupts output format (hopefully without userspace breaking... let's hope that if it causes someone a problem, they tell us.) - Fix tegra-ahb DT offsets. - Rework ARM errata 643719 code (and ARMv7 flush_cache_louis()/ flush_dcache_all()) code to be more efficient, and enable this errata workaround by default for ARMv7+SMP CPUs. This complements the Versatile Express fix above. - Rework ARMv7 context code for errata 430973, so that only Cortex A8 CPUs are impacted by the branch target buffer flush when this errata is enabled. Also update the help text to indicate that all r1p* A8 CPUs are impacted. - Switch ARM to the generic show_mem() implementation, it conveys all the information which we were already reporting. - Prevent slow timer sources being used for udelay() - timers running at less than 1MHz are not useful for this, and can cause udelay() to return immediately, without any wait. Using such a slow timer is silly. - VDSO support for 32-bit ARM, mainly for gettimeofday() using the ARM architected timer. - Perf support for Scorpion performance monitoring units" vdso semantic conflict fixed up as per linux-next. * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (52 commits) ARM: update errata 430973 documentation to cover Cortex A8 r1p* ARM: ensure delay timer has sufficient accuracy for delays ARM: switch to use the generic show_mem() implementation ARM: proc-v7: avoid errata 430973 workaround for non-Cortex A8 CPUs ARM: enable ARM errata 643719 workaround by default ARM: cache-v7: optimise test for Cortex A9 r0pX devices ARM: cache-v7: optimise branches in v7_flush_cache_louis ARM: cache-v7: consolidate initialisation of cache level index ARM: cache-v7: shift CLIDR to extract appropriate field before masking ARM: cache-v7: use movw/movt instructions ARM: allow 16-bit instructions in ALT_UP() ARM: proc-arm94*.S: fix setup function ARM: vexpress: fix CPU hotplug with CT9x4 tile. ARM: 8276/1: Make CPU_DCACHE_DISABLE depend on !SMP ARM: 8335/1: Documentation: DT bindings: Tegra AHB: document the legacy base address ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address ARM: 8333/1: amba: tegra-ahb: fix register offsets in the macros ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL ARM: 8338/1: kexec: Relax SMP validation to improve DT compatibility ARM: 8337/1: mm: Do not invoke OOM for higher order IOMMU DMA allocations ... commit b9cc4489c68de59f7a38ef4e02a9829465a6a544 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Apr 15 13:23:48 2015 +0930 params: handle quotes properly for values not of form foo="bar". When starting kernel with arguments like: init=/bin/sh -c "echo arguments" the trailing double quote is not removed which results in following command being executed: /bin/sh -c 'echo arguments"' Reported-by: Arthur Gautier <baloo@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit bdfa54dfd9eea001274dbcd622657a904fe43b81 Merge: 2481bc7 a1307bb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 20:51:44 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "The major change in this merge is the removal of the support for 31-bit kernels. Naturally 31-bit user space will continue to work via the compat layer. And then some cleanup, some improvements and bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (23 commits) s390/smp: wait until secondaries are active & online s390/hibernate: fix save and restore of kernel text section s390/cacheinfo: add missing facility check s390/syscalls: simplify syscall_get_arch() s390/irq: enforce correct irqclass_sub_desc array size s390: remove "64" suffix from mem64.S and swsusp_asm64.S s390/ipl: cleanup macro usage s390/ipl: cleanup shutdown_action attributes s390/ipl: cleanup bin attr usage s390/uprobes: fix address space annotation s390: add missing arch_release_task_struct() declaration s390: make couple of functions and variables static s390/maccess: improve s390_kernel_write() s390/maccess: remove potentially broken probe_kernel_write() s390/watchdog: support for KVM hypervisors and delete pr_info messages s390/watchdog: enable KEEPALIVE for /dev/watchdog s390/dasd: remove setting of scheduler from driver s390/traps: panic() instead of die() on translation exception s390: remove test_facility(2) (== z/Architecture mode active) checks s390/cmpxchg: simplify cmpxchg_double ... commit edf5cffd58d8e1a4b1bd5de43bc9f0553f9910fc Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Tue Apr 7 19:45:41 2015 -0400 i40e: Use new 40G speeds The kernel has added SPEED_40000 for ethtool. Go ahead and use the new #define. Change-ID: Ic7e16e5c9e91085afe539f11ee1b7668adc4d0ef Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0f575bf3382d5bdb58ba571b1fd573b994bb11ba Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Apr 7 19:45:40 2015 -0400 i40e: get rid of unused locals These changes just remove unused variables and any code that uses them as the results of storing into these variables doesn't have any side effects that I can see or provide any benefit. Change-ID: I8a5ec7132ff1443d23aae729cef94beaaaf19e3a Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c1147280d2a336ac6723a8dc8b74f809fd6db02c Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Apr 7 19:45:39 2015 -0400 i40e: handle possible memory allocation failure The init_interrupt_scheme function had a possible failure path to allocate memory that was found by smatch. This adds the correct handling to the function to abort probe if the memory allocation fails. Change-ID: I2bf1d826a244209619da4c452d0d58b3eb5e26a3 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 73b23402bb232ce655cf45aaca4f7feee317deb1 Author: Kevin Scott <kevin.c.scott@xxxxxxxxx> Date: Tue Apr 7 19:45:38 2015 -0400 i40e/i40evf: Save WR_CSR_PROT field from DEV/FUNC capabilities Store the 8 bytes of the WR_CSR_PROT field returned as part of the get device/function capabilities AQ command. Change-ID: Ifcaeea2ff29885fa769e4f384c7db88a25e8afd0 Signed-off-by: Kevin Scott <kevin.c.scott@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2481bc75283ea10e75d5fb1a8b42af363fc4b45c Merge: 8691c13 518b4e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 20:21:54 2015 -0700 Merge tag 'pm+acpi-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI updates from Rafael Wysocki: "These are mostly fixes and cleanups all over, although there are a few items that sort of fall into the new feature category. First off, we have new callbacks for PM domains that should help us to handle some issues related to device initialization in a better way. There also is some consolidation in the unified device properties API area allowing us to use that inferface for accessing data coming from platform initialization code in addition to firmware-provided data. We have some new device/CPU IDs in a few drivers, support for new chips and a new cpufreq driver too. Specifics: - Generic PM domains support update including new PM domain callbacks to handle device initialization better (Russell King, Rafael J Wysocki, Kevin Hilman) - Unified device properties API update including a new mechanism for accessing data provided by platform initialization code (Rafael J Wysocki, Adrian Hunter) - ARM cpuidle update including ARM32/ARM64 handling consolidation (Daniel Lezcano) - intel_idle update including support for the Silvermont Core in the Baytrail SOC and for the Airmont Core in the Cherrytrail and Braswell SOCs (Len Brown, Mathias Krause) - New cpufreq driver for Hisilicon ACPU (Leo Yan) - intel_pstate update including support for the Knights Landing chip (Dasaratharaman Chandramouli, Kristen Carlson Accardi) - QorIQ cpufreq driver update (Tang Yuantian, Arnd Bergmann) - powernv cpufreq driver update (Shilpasri G Bhat) - devfreq update including Tegra support changes (Tomeu Vizoso, MyungJoo Ham, Chanwoo Choi) - powercap RAPL (Running-Average Power Limit) driver update including support for Intel Broadwell server chips (Jacob Pan, Mathias Krause) - ACPI device enumeration update related to the handling of the special PRP0001 device ID allowing DT-style 'compatible' property to be used for ACPI device identification (Rafael J Wysocki) - ACPI EC driver update including limited _DEP support (Lan Tianyu, Lv Zheng) - ACPI backlight driver update including a new mechanism to allow native backlight handling to be forced on non-Windows 8 systems and a new quirk for Lenovo Ideapad Z570 (Aaron Lu, Hans de Goede) - New Windows Vista compatibility quirk for Sony VGN-SR19XN (Chen Yu) - Assorted ACPI fixes and cleanups (Aaron Lu, Martin Kepplinger, Masanari Iida, Mika Westerberg, Nan Li, Rafael J Wysocki) - Fixes related to suspend-to-idle for the iTCO watchdog driver and the ACPI core system suspend/resume code (Rafael J Wysocki, Chen Yu) - PM tracing support for the suspend phase of system suspend/resume transitions (Zhonghui Fu) - Configurable delay for the system suspend/resume testing facility (Brian Norris) - PNP subsystem cleanups (Peter Huewe, Rafael J Wysocki)" * tag 'pm+acpi-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (74 commits) ACPI / scan: Fix NULL pointer dereference in acpi_companion_match() ACPI / scan: Rework modalias creation when "compatible" is present intel_idle: mark cpu id array as __initconst powercap / RAPL: mark rapl_ids array as __initconst powercap / RAPL: add ID for Broadwell server intel_pstate: Knights Landing support intel_pstate: remove MSR test cpufreq: fix qoriq uniprocessor build ACPI / scan: Take the PRP0001 position in the list of IDs into account ACPI / scan: Simplify acpi_match_device() ACPI / scan: Generalize of_compatible matching device property: Introduce firmware node type for platform data device property: Make it possible to use secondary firmware nodes PM / watchdog: iTCO: stop watchdog during system suspend cpufreq: hisilicon: add acpu driver ACPI / EC: Call acpi_walk_dep_device_list() after installing EC opregion handler cpufreq: powernv: Report cpu frequency throttling intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs intel_idle: Update support for Silvermont Core in Baytrail SOC PM / devfreq: tegra: Register governor on module init ... commit 3169c323cf9dc3b00b0a6a3d434968832daa4147 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Apr 7 19:45:37 2015 -0400 i40e: enable user dump of internal hardware state This is a feature to enable better debugging of user reported issues by allowing a bash script to acquire information about the internal hardware state. The data output to the kernel log is collected by the script and can then be sent to Intel. This is a critical debugging feature for helping us interpret and reproduce complex customer setups. Change-ID: Ie8b3ab09086d6870a709015f51ada05af10b41bb Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9abbfb486f5c254805bb6a3f263bc14d989eb90b Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:45 2015 +0930 virtio: drop virtio_device_is_legacy_only virtio_device_is_legacy_only is now unused, drop it from core. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit f71d8286c1368f2dbbed5d1b59a574c7f25701e8 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:45 2015 +0930 virtio_pci: support non-legacy balloon devices virtio_device_is_legacy_only is always false now, drop the test from virtio pci. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit a62d547c72cd0ed03565b4eb2167536a64bad0f4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:45 2015 +0930 virtio_mmio: support non-legacy balloon devices virtio_device_is_legacy_only is always false now, drop the test from virtio mmio. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 2003a7a5b66fee3b1b90daa1ace62a8d762d4a34 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:44 2015 +0930 virtio_ccw: support non-legacy balloon devices As of last patch, virtio_device_is_legacy_only is always false, drop the test from virtio ccw. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (slight reword) commit 2343dabc6096486b2705ab9420dd292801fc47f3 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:44 2015 +0930 virtio: balloon might not be a legacy device We added transitional device support to balloon driver, so we don't need to black-list it in core anymore. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit df81b29c7b81b9d70ee29b7a263dd5009daa0ce4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:43 2015 +0930 virtio_balloon: transitional interface Virtio 1.0 doesn't include a modern balloon device. But it's not a big change to support a transitional balloon device: this has the advantage of supporting existing drivers, transparently. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 665ae581ae82ed6a28980a32b9d37345db4eed32 Merge: 1d2add2 4195f40 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 15 12:47:29 2015 +1000 Merge branch 'linux-4.1' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next - gk20a iommu support - gm107 graphics support without needing proprietary ucode - various random fixes - more gm20x bring-up, fifo/ce are ok, gr is mostly complete with the exception of ctxsw ucode.. nvidia aren't playing nice yet so there's not much more that can be done at this point... I spent a lot of time trying to find a viable way of doing gr ctxsw without signed firmware, but the "security" restrictions on the fecs/gpccs falcons are excessive and go beyond what'd be necessary to protect the host from malicious firmware. This newer nvidia hw is VERY open-source unfriendly. I have some experimental host-based ctxsw work that could be a viable (albeit unsatisfactory and slow) workaround in the meantime, but it needs some more work and i'd like to get the 3d driver working properly before i commit to pushing it. * 'linux-4.1' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (40 commits) drm/nouveau/bios: fix fetching from acpi on certain systems drm/nouveau/gr/gm206: initial init+ctx code drm/nouveau/ce/gm206: enable support via gm204 code drm/nouveau/fifo/gm206: enable support via gm204 code drm/nouveau/gr/gm204: initial init+ctx code drm/nouveau: support for buffer moves via MaxwellDmaCopyA drm/nouveau/ce/gm204: initial support drm/nouveau: add support for gm20x fifo channels drm/nouveau/fifo/gm204: initial support drm/nouveau/gr/gk104-: prevent reading non-existent regs in intr handler drm/nouveau/gr/gm107: very slightly demagic part of attrib cb setup drm/nouveau/gr/gk104-: correct crop/zrop num_active_fbps setting drm/nouveau/gr/gf100-: add symbolic names for classes drm/nouveau/gr/gm107: support tpc "strand" ctxsw in gpccs ucode drm/nouveau/gr/gf100-: support mmio access with gpc offset from gpccs ucode drm/nouveau/gr: fix engine name, cosmetic search+replace mistake drm/nouveau/pmu/gk20a: add some missing statics drm/nouveau/platform: fix probe error path drm/nouveau/platform: release IOMMU's mm upon exit drm/nouveau/gr/gk104-gk20a: call pmu to disable any power-gating before ctor() ... commit 8d7dc9283f399e1fda4e48a1c453f689326d9396 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 19:33:59 2015 -0700 rcu: Control grace-period delays directly from value In a misguided attempt to avoid an #ifdef, the use of the gp_init_delay module parameter was conditioned on the corresponding RCU_TORTURE_TEST_SLOW_INIT Kconfig variable, using IS_ENABLED() at the point of use in the code. This meant that the compiler always saw the delay, which meant that RCU_TORTURE_TEST_SLOW_INIT_DELAY had to be unconditionally defined. This in turn caused "make oldconfig" to ask pointless questions about the value of RCU_TORTURE_TEST_SLOW_INIT_DELAY in cases where it was not even used. This commit avoids these pointless questions by defining gp_init_delay under #ifdef. In one branch, gp_init_delay is initialized to RCU_TORTURE_TEST_SLOW_INIT_DELAY and is also a module parameter (thus allowing boot-time modification), and in the other branch gp_init_delay is a const variable initialized by default to zero. This approach also simplifies the code at the delay point by eliminating the IS_DEFINED(). Because gp_init_delay is constant zero in the no-delay case intended for production use, the "gp_init_delay > 0" check causes the delay to become dead code, as desired in this case. In addition, this commit replaces magic constant "10" with the preprocessor variable PER_RCU_NODE_PERIOD, which controls the number of grace periods that are allowed to elapse at full speed before a delay is inserted. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9f9151412dd7aae0e3f51a89ae4a1f8755fdb4d0 Merge: bae97d8 f4f88c6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 14 22:29:27 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-04-14 This series contains updates to fm10k only. Fixed transmit statistics which was actually using values from the receive ring, instead of the transmit ring. Fixed up spelling mistakes in code comments and resolved unused argument warnings. Added support for netconsole. Fixed up statistic reporting so that we are only reporting from actual queues as well as display PF only stats for just the PF and not the VF. Also fixed an issue that when returning virtualization queues from the VF back to the PF, we were retaining the VF rate limiter. Fixed up the driver to use a separate workqueue, which helps reduce and stabilize latency between scheduling the work in our interrupt and actually performing the work. Fixed a bug where the VF tried to set a multicast address before requesting the required xcast mode. Fix VF multicast update since VFs were being improperly added to the switch's mutlicast group. The error stems from the fact that incorrect arguments were passed to the update_mc_addr(). Thanks to Alex Duyck for the extensive review. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ee0d34985ceffe4036319e1e46df8bff591b9e3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Apr 15 04:00:27 2015 +0200 ACPICA: Store GPE register enable masks upfront It is reported that ACPI interrupts do not work any more on Dell Latitude D600 after commit c50f13c672df (ACPICA: Save current masks of enabled GPEs after enable register writes). The problem turns out to be related to the fact that the enable_mask and enable_for_run GPE bit masks are not in sync (in the absence of any system suspend/resume events) for at least one GPE register on that machine. Address this problem by writing the enable_for_run mask into enable_mask as soon as enable_for_run is updated instead of doing that only after the subsequent register write has succeeded. For consistency, update acpi_hw_gpe_enable_write() to store the bit mask to be written into the GPE register in enable_mask unconditionally before the write. Since the ACPI_GPE_SAVE_MASK flag is not necessary any more after that, drop it along with the symbols depending on it. Reported-and-tested-by: Jim Bos <jim876@xxxxxxxxx> Fixes: c50f13c672df (ACPICA: Save current masks of enabled GPEs after enable register writes) Cc: 3.19+ <stable@xxxxxxxxxxxxxxx> # 3.19+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 16e00f5a5f12eb32ca39df6a7afd5c0062705af6 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Tue Apr 14 17:01:56 2015 +1000 powerpc/pseries: Fix compile of memory hotplug without CONFIG_MEMORY_HOTREMOVE 51925fb3c5 "powerpc/pseries: Implement memory hotplug remove in the kernel" broke compile when CONFIG_MEMORY_HOTREMOVE is not defined due to missing symbols. This fixes the issue by adding the missing symbols. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Acked-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8691c130fae136bb2b7d0554422a2dff4c6ac169 Merge: c3a416a 85a3685 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 18:25:15 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input subsystem updates from Dmitry Torokhov: "You will get the following new drivers: - Qualcomm PM8941 power key drver - ChipOne icn8318 touchscreen controller driver - Broadcom iProc touchscreen and keypad drivers - Semtech SX8654 I2C touchscreen controller driver ALPS driver now supports newer SS4 devices; Elantech got a fix that should make it work on some ASUS laptops; and a slew of other enhancements and random fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (51 commits) Input: alps - non interleaved V2 dualpoint has separate stick button bits Input: alps - fix touchpad buttons getting stuck when used with trackpoint Input: atkbd - document "no new force-release quirks" policy Input: ALPS - make alps_get_pkt_id_ss4_v2() and others static Input: ALPS - V7 devices can report 5-finger taps Input: ALPS - add support for SS4 touchpad devices Input: ALPS - refactor alps_set_abs_params_mt() Input: elantech - fix absolute mode setting on some ASUS laptops Input: atmel_mxt_ts - split out touchpad initialisation logic Input: atmel_mxt_ts - implement support for T100 touch object Input: cros_ec_keyb - fix clearing keyboard state on wakeup Input: gscps2 - drop pci_ids dependency Input: synaptics - allocate 3 slots to keep stability in image sensors Input: Revert "Revert "synaptics - use dmax in input_mt_assign_slots"" Input: MT - make slot assignment work for overcovered solutions mfd: tc3589x: enforce device-tree only mode Input: tc3589x - localize platform data Input: tsc2007 - Convert msecs to jiffies only once Input: edt-ft5x06 - remove EV_SYN event report Input: edt-ft5x06 - allow to setting the maximum axes value through the DT ... commit f18ae1009276b604ff5776b41af981f25db52240 Author: Vasu Dev <vasu.dev@xxxxxxxxx> Date: Tue Apr 7 19:45:36 2015 -0400 i40e: print FCoE capability reported by the device function This is to allow quick check for FCoE capability is enabled or not in device function before any SW overrides. Change-ID: I5f78ba798d566f143161273156916c6f4074496e Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c3a416a669eb83cfa9ccb52db030e72d654bd105 Merge: 8c194f3 2bbd681 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 18:10:45 2015 -0700 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c updates from Wolfram Sang: "Most notable: - introducing the i2c_quirk infrastructure. Now, flaws of I2C controllers can be described and the core will check if the flaws collide with the messages to be sent - wait_for_completion return type cleanup series - new drivers for Digicolor, Netlogic XLP, Ingenic JZ4780 - updates to the I2C slave framework which include API changes. Its only user was updated, too. Documentation was finally added - changed dynamic bus numbering for the DT case. This could change bus numbers for users. However, it fixes a collision where dynamic and static busses request the same id. - driver bugfixes, cleanups" * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (52 commits) i2c: xlp9xx: Driver for Netlogic XLP9XX/5XX I2C controller of: Add vendor prefix 'netlogic' i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery i2c: davinci: use bus recovery infrastructure i2c: change input parameter to i2c_adapter for prepare/unprepare_recovery i2c: i2c-mux-gpio: remove error messages for probe deferrals i2c: jz4780: Add i2c bus controller driver for Ingenic JZ4780 i2c: dln2: set the device tree node of the adapter i2c: davinci: fixup wait_for_completion_timeout handling i2c: mpc: Fix ISR return value i2c: slave-eeprom: add more info when to increase the pointer i2c: slave: add documentation for i2c-slave-eeprom Documentation: i2c: describe the new slave mode i2c: slave: rework the slave API i2c: add support for the Digicolor I2C controller i2c: busses with dynamic ids should start after fixed ids for DT of: base: add function to get highest id of an alias stem i2c: designware: Suppress error message if platform_get_irq() < 0 i2c: mpc: assign the correct prescaler from SVR i2c: img-scb: fixup of wait_for_completion_timeout return handling ... commit 8c194f3bd322a8bd44d079092d870549b8ae62d1 Merge: 07e492e 5a0ff17 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 18:06:47 2015 -0700 Merge tag 'vfio-v4.1-rc1' of git://github.com/awilliam/linux-vfio Pull VFIO updates from Alex Williamson: - VFIO platform bus driver support (Baptiste Reynal, Antonios Motakis, testing and review by Eric Auger) - Split VFIO irqfd support to separate module (Alex Williamson) - vfio-pci VGA arbiter client (Alex Williamson) - New vfio-pci.ids= module option (Alex Williamson) - vfio-pci D3 power state support for idle devices (Alex Williamson) * tag 'vfio-v4.1-rc1' of git://github.com/awilliam/linux-vfio: (30 commits) vfio-pci: Fix use after free vfio-pci: Move idle devices to D3hot power state vfio-pci: Remove warning if try-reset fails vfio-pci: Allow PCI IDs to be specified as module options vfio-pci: Add VGA arbiter client vfio-pci: Add module option to disable VGA region access vgaarb: Stub vga_set_legacy_decoding() vfio: Split virqfd into a separate module for vfio bus drivers vfio: virqfd_lock can be static vfio: put off the allocation of "minor" in vfio_create_group vfio/platform: implement IRQ masking/unmasking via an eventfd vfio: initialize the virqfd workqueue in VFIO generic code vfio: move eventfd support code for VFIO_PCI to a separate file vfio: pass an opaque pointer on virqfd initialization vfio: add local lock for virqfd instead of depending on VFIO PCI vfio: virqfd: rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and export vfio/platform: support for level sensitive interrupts vfio/platform: trigger an interrupt via eventfd vfio/platform: initial interrupts support code ... commit 07e492eb8921a8aa53fd2bf637bee3da94cc03fe Merge: b240452 1dfe0d1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 17:58:15 2015 -0700 Merge tag 'pinctrl-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pincontrol updates from Linus Walleij: "This is the bulk of pin control changes for the v4.1 development cycle. Nothing really exciting this time: we basically added a few new drivers and subdrivers and stabilized them in linux-next. Some cleanups too. With sunrisepoint Intel has a real fine fully featured pin control driver for contemporary hardware, and the AMD driver is also for large deployments. Most of the others are ARM devices. New drivers: - Intel Sunrisepoint - AMD KERNCZ GPIO - Broadcom Cygnus IOMUX New subdrivers: - Marvell MVEBU Armada 39x SoCs - Samsung Exynos 5433 - nVidia Tegra 210 - Mediatek MT8135 - Mediatek MT8173 - AMLogic Meson8b - Qualcomm PM8916 On top of this cleanups and development history for the above drivers as issues were fixed after merging" * tag 'pinctrl-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (71 commits) pinctrl: sirf: move sgpio lock into state container pinctrl: Add support for PM8916 GPIO's and MPP's pinctrl: bcm2835: Fix support for threaded level triggered IRQs sh-pfc: r8a7790: add EtherAVB pin groups pinctrl: Document "function" + "pins" pinmux binding pinctrl: intel: Add Intel Sunrisepoint pin controller and GPIO support pinctrl: fsl: imx: Check for 0 config register pinctrl: Add support for Meson8b documentation: Extend pinctrl docs for Meson8b pinctrl: Cleanup Meson8 driver Fix inconsistent spinlock of AMD GPIO driver which can be recognized by static analysis tool smatch. Declare constant Variables with Sparse's suggestion. pinctrl: at91: convert __raw to endian agnostic IO pinctrl: constify of_device_id array pinctrl: pinconf-generic: add dt node names to error messages pinctrl: pinconf-generic: scan also referenced phandle node pinctrl: mvebu: add suspend/resume support to Armada XP pinctrl driver pinctrl: st: Display pin's function when printing pinctrl debug information pinctrl: st: Show correct pin direction also in GPIO mode pinctrl: st: Supply a GPIO get_direction() call-back pinctrl: st: Move st_get_pio_control() further up the source file ... commit 57175ac1987bf770122f6fe5056fe73269add00f Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Apr 7 19:45:35 2015 -0400 i40e: For VF reset (VFR and VFLR) add some more delay With a HW issue that was recently discovered, after a VFLR HW might be indicating to us a reset completion little too early. So wait another 10 msec for cache to be cleaned up. Change-ID: I6a24dcf5dd7ffcd6500246e717411ef58532d1e9 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b240452a0f5846280e25be7c5a507a99b382fd10 Merge: f0c1bc9 b1f85c0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 17:54:22 2015 -0700 Merge tag 'backlight-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight Pull backlight updates from Lee Jones: "Changes to existing drivers: - Use of_get_child_by_name() instead of refcount; 88pm860x_bl - Terminate array with NULL element; da9052_bl" * tag 'backlight-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: backlight: da9052_bl: Terminate da9052_wled_ids array with empty element backlight: 88pm860x_bl: Use of_get_child_by_name() instead of refcount hack commit 532b045588f5a0f65df90e5d3de1afe89926449e Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Apr 7 19:45:34 2015 -0400 i40e: move VF notification routines up Move the VF notification functions to the top of the file. This eliminates an unnecessary declaration. Change-ID: I036171f14180ee9f0ce4e0a21334d6a217d06c94 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 492a22aceb75e34e7b1c1b300ecc8bef2a2f42dc Author: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Date: Tue Apr 7 22:23:49 2015 +0300 of: unittest: overlay: Keep track of created overlays During the course of the overlay selftests some of them remain applied. While this does not pose a real problem, make sure you track them and destroy them at the end of the test. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 05f4647b10233dd2e18106abb16ff7fb68abbd08 Author: Ricky Liang <jcliang@xxxxxxxxxxxx> Date: Tue Apr 14 12:36:05 2015 +0800 of/fdt: fix allocation size for device node path The allocation size of device node path is off by one which drops the '\0' terminator. Signed-off-by: Ricky Liang <jcliang@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit ebc5e20082160df384dedbe1c95066c3e545b689 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Apr 9 13:05:18 2015 -0700 serial: of_serial: Support big-endian register accesses If the device node has a "big-endian" property and 32-bit registers, tell the serial driver to use UPIO_MEM32BE instead of UPIO_MEM32. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit c627f2ceb692e8a9358b64ac2d139314e7bb0d17 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Apr 9 13:05:17 2015 -0700 serial: 8250: Add support for big-endian MMIO accesses Add cases for UPIO_MEM32BE wherever there are currently cases handling UPIO_MEM32. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 65a71007a20cfe7ebd456d72c0bb155fe42de963 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Apr 9 13:05:16 2015 -0700 of: Document {little,big,native}-endian bindings These apply to newly converted drivers, like serial8250/libahci/... The examples were adapted from the regmap bindings document. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit cc7837867a559feba70fdf68eb53c24a84e3712f Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Apr 9 13:05:15 2015 -0700 of/fdt: Add endianness helper function for early init code Provide a libfdt-based equivalent for of_device_is_big_endian(), suitable for use in the early_init_* functions. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 37786c7fee40771d13901de129af7e084ed48b55 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Apr 9 13:05:14 2015 -0700 of: Add helper function to check MMIO register endianness SoC peripherals can come in several different flavors: - little-endian: registers always need to be accessed in LE mode (so the kernel should perform a swap if the CPU is running BE) - big-endian: registers always need to be accessed in BE mode (so the kernel should perform a swap if the CPU is running LE) - native-endian: the bus will automatically swap accesses, so the kernel should never swap Introduce a function that checks an OF device node to see whether it contains a "big-endian" or "native-endian" property. For the former case, always return true. For the latter case, return true iff the kernel was built for BE (implying that the BE MMIO accessors do not perform a swap). Otherwise return false, assuming LE registers. LE registers are assumed by default because most existing drivers (libahci, serial8250, usb) always use readl/writel in the absence of instructions to the contrary, so that will be our fallback. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit c954b36e3f5bfdd5aeceba49614a4864d7efec87 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Sun Apr 12 13:16:26 2015 -0700 of/fdt: Remove "reg" data prints from early_init_dt_scan_memory Commit 51975db0b7333 ("of/flattree: merge early_init_dt_scan_memory() common code") consolidated some code from PowerPC (typically big-endian), and ended-up adding a pr_debug() printing reg properties in big-endian (DT native) format, not CPU endian. This debug print suffers from two problems: - we only print 4 "reg" values, while there could be more on typical systems having multiple memory ranges - we print these 4 "reg" values in FDT endianess, that is big-endian, and these values could be confusing for little-endian configurations Since we are already printing the base address and size of the memory regions parsed by early_init_dt_scan_memory() later in a way that is both endian correct, and takes into account arbitrary number of memory banks, just remove that part of the debug print. Suggested-by: Frank Rowand <frowand.list@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 3712655914530479b424e6f3db2130c48b931a41 Author: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx> Date: Wed Apr 8 11:04:39 2015 +0200 of: add vendor prefix for Artesyn Signed-off-by: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 055b295d99adb246b2b9284e1d1e602630c119e3 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Apr 7 19:45:33 2015 -0400 i40e: notify VFs of link state Gratuitously notify VFs of link state when they activate their queues. In general, this is the last thing that a VF driver will do as it opens its interface, so this is a good time to notify the VF. Currently, VF devices assume link is up unless told otherwise, which means that VFs instantiated on a PF with no link will report the wrong state. This change corrects that issue. Change-ID: Iea53622904ecc681ac3f8938d81c30033ef9a0a6 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f0c1bc95a108b36677dde6c9d96a5bb810a05b75 Merge: 1dcf58d e554a99 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 17:29:55 2015 -0700 Merge tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD updates from Lee Jones: "Changes to existing drivers: - Rename child driver [axp288_battery => axp288_fuel_gauge]; axp20x - Rename child driver [max77693-flash => max77693-led]; max77693 - Error handling fixes; intel_soc_pmic - GPIO tweaking; intel_soc_pmic - Remove non-DT code; vexpress-sysreg, tc3589x - Remove unused/legacy code; ti_am335x_tscadc, rts5249, rtsx_gops, rtsx_pcr, rtc-s5m, sec-core, max77693, menelaus, wm5102-tables - Trivial fixups; rtsx_pci, da9150-core, sec-core, max7769, max77693, mc13xxx-core, dln2, hi6421-pmic-core, rk808, twl4030-power, lpc_ich, menelaus, twl6040 - Update register/address values; rts5227, rts5249 - DT and/or binding document fixups; arizona, da9150, mt6397, axp20x, qcom-rpm, qcom-spmi-pmic - Couple of trivial core Kconfig fixups - Remove use of seq_printf return value; ab8500-debugfs - Remove __exit markups; menelaus, tps65010 - Fix platform-device name collisions; mfd-core New drivers/supported devices: - Add support for wm8280/wm8281 into arizona - Add support for COMe-cBL6 into kempld-core - Add support for rts524a and rts525a into rts5249 - Add support for ipq8064 into qcom_rpm - Add support for extcon into axp20x - New MediaTek MT6397 PMIC driver - New Maxim MAX77843 PMIC dirver - New Intel Quark X1000 I2C-GPIO driver - New Skyworks SKY81452 driver" * tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (76 commits) mfd: sec: Fix RTC alarm interrupt number on S2MPS11 mfd: wm5102: Remove registers for output 3R from readable list mfd: tps65010: Remove incorrect __exit markups mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes mfd: axp20x: Add support for extcon cell mfd: lpc_ich: Sort IDs mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's mfd: axp20x: Fix duplicate const for model names mfd: menelaus: Use macro for magic number mfd: menelaus: Drop support for SW controller VCORE mfd: menelaus: Delete omap_has_menelaus mfd: arizona: Correct type of gpio_defaults mfd: lpc_ich: Sort IDs mfd: Fix a typo in Kconfig mfd: qcom_rpm: Add support for IPQ8064 mfd: devicetree: qcom_rpm: Document IPQ8064 resources mfd: core: Fix platform-device name collisions mfd: intel_quark_i2c_gpio: Don't crash if !DMI dt-bindings: Add vendor-prefix for X-Powers ... commit d616a703a52cf972425cddd43fc01cd4ef867faf Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Apr 5 16:59:25 2015 +0200 of: Add dummy of_irq_to_resource_table() for IRQ_OF=n If CONFIG_IRQ_OF=n: drivers/built-in.o: In function `of_device_alloc': (.text+0x72bce): undefined reference to `of_irq_to_resource_table' make: *** [vmlinux] Error 1 of_device_alloc() calls of_irq_to_resource_table() with nr_irqs = 0 due to of_irq_count() already being a dummy, so just add a dummy for of_irq_to_resource_table(), too. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 63c60e3a6dc3eca53714e8a1784c985a552bc5cd Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Apr 5 16:59:24 2015 +0200 of: OF_IRQ should depend on IRQ_DOMAIN If CONFIG_IRQ_DOMAIN=n: drivers/of/irq.c: In function â??of_irq_getâ??: drivers/of/irq.c:406: error: implicit declaration of function â??irq_find_hostâ?? drivers/of/irq.c:406: warning: assignment makes pointer from integer without a cast make[2]: *** [drivers/of/irq.o] Error 1 Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit ed636960c3b5a44e59eccafef94837d14e3bc10f Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Apr 7 19:45:32 2015 -0400 i40evf: remove aq_pending The aq_pending field in the adapter structure is actually redundant with the current_op field. Remove the aq_pending field and expunge all traces of it from the official record. This simplifies the code significantly, especially in the virtual channel completion routine. Change-ID: Ib2957c8c19882bd0cecc6fcd133912c24b46a1ff Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e7c8c60bc5d48994a67e4b1c7bfb01d6979dbc54 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Apr 7 19:45:31 2015 -0400 i40e: Add support to program FDir SB rules for VF from PF through ethtool With this patch we can now add Flow director Sideband rules for a VF from it's PF. Here is an example on how it can be done when VF id = 5 and queue = 2: "ethtool -N ethx flow-type udp4 src-ip x.x.x.x dst-ip y.y.y.y src-port p1 dst-port p2 action 2 user-def 5" User-def specifies VF id and action specifies queue. Change-ID: Ib37d6dff3823a4d85caffde638473891c38c2b89 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5deeb5cece3f9b30c8129786726b9d02c412c8ca Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Tue Apr 14 11:01:02 2015 -0400 lsm: copy comm before calling audit_log 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 middle of the output string that would effectively truncate the rest of the report text after the comm= field in the audit log message, losing fields. Using 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 would incur potentially unacceptable overhead, considering that the value can be influenced by userspace and therefore untrusted anyways. Copy the value before passing it to audit_log_untrustedstring() ensures that a local copy is used to calculate the length *and* subsequently printed. Even if this value contains a mix of old and new values, it will only calculate and copy up to the first NULL, preventing the rest of the audit log message being truncated. Use a second local copy of comm to avoid a race between the first and second calls to audit_log_untrustedstring() with comm. Reported-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 2619ef475f7607f1cf1c434d4adca2593a59a6e6 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Apr 7 19:45:30 2015 -0400 i40evf: fix bad indentation Not sure how this slipped through. Cosmetic change only. Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0604949ce3b9a59cff419daf706272620a9a0df0 Author: Ming-ting Yao Wei <mwei@xxxxxxxx> Date: Tue Apr 14 16:59:11 2015 -0700 Input: xpad - add rumble support for Xbox One controller This adds rumble support for Xbox One controller by sending continuous rumble command. Trigger button rumbling is not yet implemented. Signed-off-by: Ming-ting Yao Wei <mwei@xxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 444346385249603f8970314dcdb058d84a2530a4 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Apr 7 11:32:55 2015 -0700 i40e: stop VF rings Explicitly stop the rings belonging to each VF when disabling SR-IOV. Even though the VFs were gone, and the associated VSIs were removed, the rings were not stopped, and in some circumstances the hardware would continue to access the memory formerly used by the rings, causing memory corruption or DMAR errors, both of which would lead to general malaise of the kernel. To relieve this condition, explicitly stop all the rings associated with each VF before releasing its resources. Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1dcf58d6e6e6eb7ec10e9abc56887b040205b06f Merge: 80dcc31 e4b0db7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 16:49:17 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge first patchbomb from Andrew Morton: - arch/sh updates - ocfs2 updates - kernel/watchdog feature - about half of mm/ * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (122 commits) Documentation: update arch list in the 'memtest' entry Kconfig: memtest: update number of test patterns up to 17 arm: add support for memtest arm64: add support for memtest memtest: use phys_addr_t for physical addresses mm: move memtest under mm mm, hugetlb: abort __get_user_pages if current has been oom killed mm, mempool: do not allow atomic resizing memcg: print cgroup information when system panics due to panic_on_oom mm: numa: remove migrate_ratelimited mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE mm: split ET_DYN ASLR from mmap ASLR s390: redefine randomize_et_dyn for ELF_ET_DYN_BASE mm: expose arch_mmap_rnd when available s390: standardize mmap_rnd() usage powerpc: standardize mmap_rnd() usage mips: extract logic for mmap_rnd() arm64: standardize mmap_rnd() usage x86: standardize mmap_rnd() usage arm: factor out mmap ASLR into mmap_rnd ... commit e4b0db72be2487bae0e3251c22f82c104f7c1cfd Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:43 2015 -0700 Documentation: update arch list in the 'memtest' entry Since arm64/arm support memtest command line option update the "memtest" entry. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8d8cfb47d67ef38f49f97fc0cd3cfe2b5dc8642e Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:40 2015 -0700 Kconfig: memtest: update number of test patterns up to 17 Additional test patterns for memtest were introduced since commit 63823126c221 ("x86: memtest: add additional (regular) test patterns"), but looks like Kconfig was not updated that time. Update Kconfig entry with the actual number of maximum test patterns. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d30eae473360aea25e0584d4fbf6a70417d89784 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:37 2015 -0700 arm: add support for memtest Add support for memtest command line option. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 36dd9086cb31613ace45e94c18a17241d3d0aac4 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:33 2015 -0700 arm64: add support for memtest Add support for memtest command line option. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f70baeeb9e2d2b2a37a4bd3727d709547c4ae41 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:30 2015 -0700 memtest: use phys_addr_t for physical addresses Since memtest might be used by other architectures pass input parameters as phys_addr_t instead of long to prevent overflow. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4a20799d11f64e6b8725cacc7619b1ae1dbf9acd Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:27 2015 -0700 mm: move memtest under mm Memtest is a simple feature which fills the memory with a given set of patterns and validates memory contents, if bad memory regions is detected it reserves them via memblock API. Since memblock API is widely used by other architectures this feature can be enabled outside of x86 world. This patch set promotes memtest to live under generic mm umbrella and enables memtest feature for arm/arm64. It was reported that this patch set was useful for tracking down an issue with some errant DMA on an arm64 platform. This patch (of 6): There is nothing platform dependent in the core memtest code, so other platforms might benefit from this feature too. [linux@xxxxxxxxxxxx: MEMTEST depends on MEMBLOCK] Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 02057967b5d3b77ed47f06ee8fe98e2687fdf18b Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:48:24 2015 -0700 mm, hugetlb: abort __get_user_pages if current has been oom killed If __get_user_pages() is faulting a significant number of hugetlb pages, usually as the result of mmap(MAP_LOCKED), it can potentially allocate a very large amount of memory. If the process has been oom killed, this will cause a lot of memory to potentially deplete memory reserves. In the same way that commit 4779280d1ea4 ("mm: make get_user_pages() interruptible") aborted for pending SIGKILLs when faulting non-hugetlb memory, based on the premise of commit 462e00cc7151 ("oom: stop allocating user memory if TIF_MEMDIE is set"), hugetlb page faults now terminate when the process has been oom killed. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Acked-by: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 11d83360452ea2a95e699da01f8e1bcc4676a5de Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:48:21 2015 -0700 mm, mempool: do not allow atomic resizing Allocating a large number of elements in atomic context could quickly deplete memory reserves, so just disallow atomic resizing entirely. Nothing currently uses mempool_resize() with anything other than GFP_KERNEL, so convert existing callers to drop the gfp_mask. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Steffen Maier <maier@xxxxxxxxxxxxxxxxxx> [zfcp] Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Steve French <sfrench@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2415b9f5cb048a803b30b790af994ba71ff0bd4c Author: Balasubramani Vivekanandan <balu252@xxxxxxxxx> Date: Tue Apr 14 15:48:18 2015 -0700 memcg: print cgroup information when system panics due to panic_on_oom If kernel panics due to oom, caused by a cgroup reaching its limit, when 'compulsory panic_on_oom' is enabled, then we will only see that the OOM happened because of "compulsory panic_on_oom is enabled" but this doesn't tell the difference between mempolicy and memcg. And dumping system wide information is plain wrong and more confusing. This patch provides the information of the cgroup whose limit triggerred panic Signed-off-by: Balasubramani Vivekanandan <balasubramani_vivekanandan@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2a8e70026435ad97570a1e0a0c4c941e0f700a3e Author: Mel Gorman <mgorman@xxxxxxx> Date: Tue Apr 14 15:48:15 2015 -0700 mm: numa: remove migrate_ratelimited This code is dead since commit 9e645ab6d089 ("sched/numa: Continue PTE scanning even if migrate rate limited") so remove it. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 204db6ed17743000691d930368a5abd6ea541c58 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:48:12 2015 -0700 mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE The arch_randomize_brk() function is used on several architectures, even those that don't support ET_DYN ASLR. To avoid bulky extern/#define tricks, consolidate the support under CONFIG_ARCH_HAS_ELF_RANDOMIZE for the architectures that support it, while still handling CONFIG_COMPAT_BRK. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Hector Marco-Gisbert <hecmargi@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: "David A. Long" <dave.long@xxxxxxxxxx> Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Arun Chandran <achandran@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Cc: Min-Hua Chen <orca.chen@xxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx> Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Cc: Ismael Ripoll <iripoll@xxxxxx> Cc: Jan-Simon Mller <dl9pf@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d1fd836dcf00d2028c700c7e44d2c23404062c90 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:48:07 2015 -0700 mm: split ET_DYN ASLR from mmap ASLR This fixes the "offset2lib" weakness in ASLR for arm, arm64, mips, powerpc, and x86. The problem is that if there is a leak of ASLR from the executable (ET_DYN), it means a leak of shared library offset as well (mmap), and vice versa. Further details and a PoC of this attack is available here: http://cybersecurity.upv.es/attacks/offset2lib/offset2lib.html With this patch, a PIE linked executable (ET_DYN) has its own ASLR region: $ ./show_mmaps_pie 54859ccd6000-54859ccd7000 r-xp ... /tmp/show_mmaps_pie 54859ced6000-54859ced7000 r--p ... /tmp/show_mmaps_pie 54859ced7000-54859ced8000 rw-p ... /tmp/show_mmaps_pie 7f75be764000-7f75be91f000 r-xp ... /lib/x86_64-linux-gnu/libc.so.6 7f75be91f000-7f75beb1f000 ---p ... /lib/x86_64-linux-gnu/libc.so.6 7f75beb1f000-7f75beb23000 r--p ... /lib/x86_64-linux-gnu/libc.so.6 7f75beb23000-7f75beb25000 rw-p ... /lib/x86_64-linux-gnu/libc.so.6 7f75beb25000-7f75beb2a000 rw-p ... 7f75beb2a000-7f75beb4d000 r-xp ... /lib64/ld-linux-x86-64.so.2 7f75bed45000-7f75bed46000 rw-p ... 7f75bed46000-7f75bed47000 r-xp ... 7f75bed47000-7f75bed4c000 rw-p ... 7f75bed4c000-7f75bed4d000 r--p ... /lib64/ld-linux-x86-64.so.2 7f75bed4d000-7f75bed4e000 rw-p ... /lib64/ld-linux-x86-64.so.2 7f75bed4e000-7f75bed4f000 rw-p ... 7fffb3741000-7fffb3762000 rw-p ... [stack] 7fffb377b000-7fffb377d000 r--p ... [vvar] 7fffb377d000-7fffb377f000 r-xp ... [vdso] The change is to add a call the newly created arch_mmap_rnd() into the ELF loader for handling ET_DYN ASLR in a separate region from mmap ASLR, as was already done on s390. Removes CONFIG_BINFMT_ELF_RANDOMIZE_PIE, which is no longer needed. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Reported-by: Hector Marco-Gisbert <hecmargi@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: "David A. Long" <dave.long@xxxxxxxxxx> Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Arun Chandran <achandran@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Cc: Min-Hua Chen <orca.chen@xxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx> Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Cc: Ismael Ripoll <iripoll@xxxxxx> Cc: Jan-Simon Mller <dl9pf@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c6f5b001e65cdac592b65a08c5d2dd179cfba568 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:48:04 2015 -0700 s390: redefine randomize_et_dyn for ELF_ET_DYN_BASE In preparation for moving ET_DYN randomization into the ELF loader (which requires a static ELF_ET_DYN_BASE), this redefines s390's existing ET_DYN randomization in a call to arch_mmap_rnd(). This refactoring results in the same ET_DYN randomization on s390. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2b68f6caeac271620cd2f9362aeaed360e317df0 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:48:00 2015 -0700 mm: expose arch_mmap_rnd when available When an architecture fully supports randomizing the ELF load location, a per-arch mmap_rnd() function is used to find a randomized mmap base. In preparation for randomizing the location of ET_DYN binaries separately from mmap, this renames and exports these functions as arch_mmap_rnd(). Additionally introduces CONFIG_ARCH_HAS_ELF_RANDOMIZE for describing this feature on architectures that support it (which is a superset of ARCH_BINFMT_ELF_RANDOMIZE_PIE, since s390 already supports a separated ET_DYN ASLR from mmap ASLR without the ARCH_BINFMT_ELF_RANDOMIZE_PIE logic). Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Hector Marco-Gisbert <hecmargi@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: "David A. Long" <dave.long@xxxxxxxxxx> Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Arun Chandran <achandran@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Cc: Min-Hua Chen <orca.chen@xxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx> Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Cc: Ismael Ripoll <iripoll@xxxxxx> Cc: Jan-Simon Mller <dl9pf@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8e89a356feb6f196824a72101861d931a97ac2d2 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:57 2015 -0700 s390: standardize mmap_rnd() usage In preparation for splitting out ET_DYN ASLR, this refactors the use of mmap_rnd() to be used similarly to arm and x86, and extracts the checking of PF_RANDOMIZE. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ed6322746afb74c2509e2f3a6464182793b16eb9 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:54 2015 -0700 powerpc: standardize mmap_rnd() usage In preparation for splitting out ET_DYN ASLR, this refactors the use of mmap_rnd() to be used similarly to arm and x86. (Can mmap ASLR be safely enabled in the legacy mmap case here? Other archs use "mm->mmap_base = TASK_UNMAPPED_BASE + random_factor".) Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1f0569df0b0285e7ec2432d804a4921b06a61618 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:51 2015 -0700 mips: extract logic for mmap_rnd() In preparation for splitting out ET_DYN ASLR, extract the mmap ASLR selection into a separate function. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd04cff1dceab18226853b555cf07914648a235f Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:48 2015 -0700 arm64: standardize mmap_rnd() usage In preparation for splitting out ET_DYN ASLR, this refactors the use of mmap_rnd() to be used similarly to arm and x86. This additionally enables mmap ASLR on legacy mmap layouts, which appeared to be missing on arm64, and was already supported on arm. Additionally removes a copy/pasted declaration of an unused function. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 82168140bc4cec7ec9bad39705518541149ff8b7 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:45 2015 -0700 x86: standardize mmap_rnd() usage In preparation for splitting out ET_DYN ASLR, this refactors the use of mmap_rnd() to be used similarly to arm, and extracts the checking of PF_RANDOMIZE. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fbbc400f3924ce095b466c776dc294727ec0a202 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:41 2015 -0700 arm: factor out mmap ASLR into mmap_rnd To address the "offset2lib" ASLR weakness[1], this separates ET_DYN ASLR from mmap ASLR, as already done on s390. The architectures that are already randomizing mmap (arm, arm64, mips, powerpc, s390, and x86), have their various forms of arch_mmap_rnd() made available via the new CONFIG_ARCH_HAS_ELF_RANDOMIZE. For these architectures, arch_randomize_brk() is collapsed as well. This is an alternative to the solutions in: https://lkml.org/lkml/2015/2/23/442 I've been able to test x86 and arm, and the buildbot (so far) seems happy with building the rest. [1] http://cybersecurity.upv.es/attacks/offset2lib/offset2lib.html This patch (of 10): In preparation for splitting out ET_DYN ASLR, this moves the ASLR calculations for mmap on ARM into a separate routine, similar to x86. This also removes the redundant check of personality (PF_RANDOMIZE is already set before calling arch_pick_mmap_layout). Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Hector Marco-Gisbert <hecmargi@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: "David A. Long" <dave.long@xxxxxxxxxx> Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Arun Chandran <achandran@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Cc: Min-Hua Chen <orca.chen@xxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx> Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Cc: Ismael Ripoll <iripoll@xxxxxx> Cc: Jan-Simon Mller <dl9pf@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a87938b2e246b81b4fb713edb371a9fa3c5c3c86 Author: Michael Davidson <md@xxxxxxxxxx> Date: Tue Apr 14 15:47:38 2015 -0700 fs/binfmt_elf.c: fix bug in loading of PIE binaries With CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE enabled, and a normal top-down address allocation strategy, load_elf_binary() will attempt to map a PIE binary into an address range immediately below mm->mmap_base. Unfortunately, load_elf_ binary() does not take account of the need to allocate sufficient space for the entire binary which means that, while the first PT_LOAD segment is mapped below mm->mmap_base, the subsequent PT_LOAD segment(s) end up being mapped above mm->mmap_base into the are that is supposed to be the "gap" between the stack and the binary. Since the size of the "gap" on x86_64 is only guaranteed to be 128MB this means that binaries with large data segments > 128MB can end up mapping part of their data segment over their stack resulting in corruption of the stack (and the data segment once the binary starts to run). Any PIE binary with a data segment > 128MB is vulnerable to this although address randomization means that the actual gap between the stack and the end of the binary is normally greater than 128MB. The larger the data segment of the binary the higher the probability of failure. Fix this by calculating the total size of the binary in the same way as load_elf_interp(). Signed-off-by: Michael Davidson <md@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b1b0deabbffa922fed808d4a5d99d03372a4c701 Author: Chen Gang <762976180@xxxxxx> Date: Tue Apr 14 15:47:35 2015 -0700 mm: memcontrol: let mem_cgroup_move_account() have effect only if MMU enabled When !MMU, it will report warning. The related warning with allmodconfig under c6x: CC mm/memcontrol.o mm/memcontrol.c:2802:12: warning: 'mem_cgroup_move_account' defined but not used [-Wunused-function] static int mem_cgroup_move_account(struct page *page, ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b6378355b925050eb6fa966742d8c2d65ff0d83 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:32 2015 -0700 x86, mm: support huge KVA mappings on x86 Implement huge KVA mapping interfaces on x86. On x86, MTRRs can override PAT memory types with a 4KB granularity. When using a huge page, MTRRs can override the memory type of the huge page, which may lead a performance penalty. The processor can also behave in an undefined manner if a huge page is mapped to a memory range that MTRRs have mapped with multiple different memory types. Therefore, the mapping code falls back to use a smaller page size toward 4KB when a mapping range is covered by non-WB type of MTRRs. The WB type of MTRRs has no affect on the PAT memory types. pud_set_huge() and pmd_set_huge() call mtrr_type_lookup() to see if a given range is covered by MTRRs. MTRR_TYPE_WRBACK indicates that the range is either covered by WB or not covered and the MTRR default value is set to WB. 0xFF indicates that MTRRs are disabled. HAVE_ARCH_HUGE_VMAP is selected when X86_64 or X86_32 with X86_PAE is set. X86_32 without X86_PAE is not supported since such config can unlikey be benefited from this feature, and there was an issue found in testing. [fengguang.wu@xxxxxxxxx: ioremap_pud_capable can be static] Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d72b4fba40ef4b3f7a1a11d6aacc85d9af81561 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:29 2015 -0700 x86, mm: support huge I/O mapping capability I/F Implement huge I/O mapping capability interfaces for ioremap() on x86. IOREMAP_MAX_ORDER is defined to PUD_SHIFT on x86/64 and PMD_SHIFT on x86/32, which overrides the default value defined in <linux/vmalloc.h>. Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b9820d8f39f816b67112eb7ec5cdc4c1655ff060 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:26 2015 -0700 mm: change vunmap to tear down huge KVA mappings Change vunmap_pmd_range() and vunmap_pud_range() to tear down huge KVA mappings when they are set. pud_clear_huge() and pmd_clear_huge() return zero when no-operation is performed, i.e. huge page mapping was not used. These changes are only enabled when CONFIG_HAVE_ARCH_HUGE_VMAP is defined on the architecture. [akpm@xxxxxxxxxxxxxxxxxxxx: use consistent code layout] Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e61ce6ade404ef17bd63d62bec78e29047a47b47 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:23 2015 -0700 mm: change ioremap to set up huge I/O mappings ioremap_pud_range() and ioremap_pmd_range() are changed to create huge I/O mappings when their capability is enabled, and a request meets required conditions -- both virtual & physical addresses are aligned by their huge page size, and a requested range fufills their huge page size. When pud_set_huge() or pmd_set_huge() returns zero, i.e. no-operation is performed, the code simply falls back to the next level. The changes are only enabled when CONFIG_HAVE_ARCH_HUGE_VMAP is defined on the architecture. Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0ddab1d2ed664c85c95488eef569786a84aedf37 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:20 2015 -0700 lib/ioremap.c: add huge I/O map capability interfaces Add ioremap_pud_enabled() and ioremap_pmd_enabled(), which return 1 when I/O mappings with pud/pmd are enabled on the kernel. ioremap_huge_init() calls arch_ioremap_pud_supported() and arch_ioremap_pmd_supported() to initialize the capabilities at boot-time. A new kernel option "nohugeiomap" is also added, so that user can disable the huge I/O map capabilities when necessary. Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f616be120c632c818faaea9adcb8f05a7a8601f Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:17 2015 -0700 mm: change __get_vm_area_node() to use fls_long() ioremap() and its related interfaces are used to create I/O mappings to memory-mapped I/O devices. The mapping sizes of the traditional I/O devices are relatively small. Non-volatile memory (NVM), however, has many GB and is going to have TB soon. It is not very efficient to create large I/O mappings with 4KB. This patchset extends the ioremap() interfaces to transparently create I/O mappings with huge pages whenever possible. ioremap() continues to use 4KB mappings when a huge page does not fit into a requested range. There is no change necessary to the drivers using ioremap(). A requested physical address must be aligned by a huge page size (1GB or 2MB on x86) for using huge page mapping, though. The kernel huge I/O mapping will improve performance of NVM and other devices with large memory, and reduce the time to create their mappings as well. On x86, MTRRs can override PAT memory types with a 4KB granularity. When using a huge page, MTRRs can override the memory type of the huge page, which may lead a performance penalty. The processor can also behave in an undefined manner if a huge page is mapped to a memory range that MTRRs have mapped with multiple different memory types. Therefore, the mapping code falls back to use a smaller page size toward 4KB when a mapping range is covered by non-WB type of MTRRs. The WB type of MTRRs has no affect on the PAT memory types. The patchset introduces HAVE_ARCH_HUGE_VMAP, which indicates that the arch supports huge KVA mappings for ioremap(). User may specify a new kernel option "nohugeiomap" to disable the huge I/O mapping capability of ioremap() when necessary. Patch 1-4 change common files to support huge I/O mappings. There is no change in the functinalities unless HAVE_ARCH_HUGE_VMAP is defined on the architecture of the system. Patch 5-6 implement the HAVE_ARCH_HUGE_VMAP funcs on x86, and set HAVE_ARCH_HUGE_VMAP on x86. This patch (of 6): __get_vm_area_node() takes unsigned long size, which is a 64-bit value on a 64-bit kernel. However, fls(size) simply ignores the upper 32-bit. Change to use fls_long() to handle the size properly. Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 42ff27035c77edccfdf346c739265040dc2155f2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Apr 14 15:47:14 2015 -0700 mm/page_alloc.c: clean up comment Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f91e8d6d76866eafba255864ca617438cec268de Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Apr 14 15:47:11 2015 -0700 sparc: clarify __GFP_NOFAIL allocation Commit 920c3ed74134 ("[SPARC64]: Add basic infrastructure for MD add/remove notification") has added __GFP_NOFAIL for the allocation request but it hasn't mentioned why is this strict requirement really needed. The code was handling an allocation failure and propagated it properly up the callchain so it is not clear why it is needed. Dave has clarified the intention when I tried to remove the flag as not being necessary: : It is a serious failure. : : If we miss an MDESC update due to this allocation failure, the update : is not an event which gets retransmitted so we will lose the updated : machine description forever. : : We really need this allocation to succeed. So add a comment to clarify the nofail flag and get rid of the failure check because __GFP_NOFAIL allocation doesn't fail. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Vipul Pandya <vipul@xxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 647757197cd34fae041e21af39ded00f5c346fc4 Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Apr 14 15:47:07 2015 -0700 mm: clarify __GFP_NOFAIL deprecation status __GFP_NOFAIL is documented as a deprecated flag since commit 478352e789f5 ("mm: add comment about deprecation of __GFP_NOFAIL"). This has discouraged people from using it but in some cases an opencoded endless loop around allocator has been used instead. So the allocator is not aware of the de facto __GFP_NOFAIL allocation because this information was not communicated properly. Let's make clear that if the allocation context really cannot afford failure because there is no good failure policy then using __GFP_NOFAIL is preferable to opencoding the loop outside of the allocator. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Vipul Pandya <vipul@xxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ac173824959adeb489f9fcf88858774c4535a241 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Apr 14 15:47:04 2015 -0700 mm: cma: constify and use correct signness in mm/cma.c Constify function parameters and use correct signness where needed. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Cc: Pintu Kumar <pintu.k@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e276d2a517fba71a2be2252fdffb237e746e784 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:47:01 2015 -0700 kernel, cpuset: remove exception for __GFP_THISNODE Nothing calls __cpuset_node_allowed() with __GFP_THISNODE set anymore, so remove the obscure comment about it and its special-case exception. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Pravin Shelar <pshelar@xxxxxxxxxx> Cc: Jarno Rajahalme <jrajahalme@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5265047ac30191ea24b16503165000c225f54feb Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:46:58 2015 -0700 mm, thp: really limit transparent hugepage allocation to local node Commit 077fcf116c8c ("mm/thp: allocate transparent hugepages on local node") restructured alloc_hugepage_vma() with the intent of only allocating transparent hugepages locally when there was not an effective interleave mempolicy. alloc_pages_exact_node() does not limit the allocation to the single node, however, but rather prefers it. This is because __GFP_THISNODE is not set which would cause the node-local nodemask to be passed. Without it, only a nodemask that prefers the local node is passed. Fix this by passing __GFP_THISNODE and falling back to small pages when the allocation fails. Commit 9f1b868a13ac ("mm: thp: khugepaged: add policy for finding target node") suffers from a similar problem for khugepaged, which is also fixed. Fixes: 077fcf116c8c ("mm/thp: allocate transparent hugepages on local node") Fixes: 9f1b868a13ac ("mm: thp: khugepaged: add policy for finding target node") Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Pravin Shelar <pshelar@xxxxxxxxxx> Cc: Jarno Rajahalme <jrajahalme@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4167e9b2cf10f8a4bcda0c713ddc8bb0a18e8187 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:46:55 2015 -0700 mm: remove GFP_THISNODE NOTE: this is not about __GFP_THISNODE, this is only about GFP_THISNODE. GFP_THISNODE is a secret combination of gfp bits that have different behavior than expected. It is a combination of __GFP_THISNODE, __GFP_NORETRY, and __GFP_NOWARN and is special-cased in the page allocator slowpath to fail without trying reclaim even though it may be used in combination with __GFP_WAIT. An example of the problem this creates: commit e97ca8e5b864 ("mm: fix GFP_THISNODE callers and clarify") fixed up many users of GFP_THISNODE that really just wanted __GFP_THISNODE. The problem doesn't end there, however, because even it was a no-op for alloc_misplaced_dst_page(), which also sets __GFP_NORETRY and __GFP_NOWARN, and migrate_misplaced_transhuge_page(), where __GFP_NORETRY and __GFP_NOWAIT is set in GFP_TRANSHUGE. Converting GFP_THISNODE to __GFP_THISNODE is a no-op in these cases since the page allocator special-cases __GFP_THISNODE && __GFP_NORETRY && __GFP_NOWARN. It's time to just remove GFP_THISNODE entirely. We leave __GFP_THISNODE to restrict an allocation to a local node, but remove GFP_THISNODE and its obscurity. Instead, we require that a caller clear __GFP_WAIT if it wants to avoid reclaim. This allows the aforementioned functions to actually reclaim as they should. It also enables any future callers that want to do __GFP_THISNODE but also __GFP_NORETRY && __GFP_NOWARN to reclaim. The rule is simple: if you don't want to reclaim, then don't set __GFP_WAIT. Aside: ovs_flow_stats_update() really wants to avoid reclaim as well, so it is unchanged. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Pravin Shelar <pshelar@xxxxxxxxxx> Cc: Jarno Rajahalme <jrajahalme@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b360edb43f8ed50aa7b8c9aae7d7557a1a6e32c8 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:46:52 2015 -0700 mm, mempolicy: migrate_to_node should only migrate to node migrate_to_node() is intended to migrate a page from one source node to a target node. Today, migrate_to_node() could end up migrating to any node, not only the target node. This is because the page migration allocator, new_node_page() does not pass __GFP_THISNODE to alloc_pages_exact_node(). This causes the target node to be preferred but allows fallback to any other node in order of affinity. Prevent this by allocating with __GFP_THISNODE. If memory is not available, -ENOMEM will be returned as appropriate. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3cb29d11174f29b76addcba4374884b14f8ea4b1 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Tue Apr 14 15:46:48 2015 -0700 cleancache: remove limit on the number of cleancache enabled filesystems The limit equals 32 and is imposed by the number of entries in the fs_poolid_map and shared_fs_poolid_map. Nowadays it is insufficient, because with containers on board a Linux host can have hundreds of active fs mounts. These maps were introduced by commit 49a9ab815acb8 ("mm: cleancache: lazy initialization to allow tmem backends to build/run as modules") in order to allow compiling cleancache drivers as modules. Real pool ids are stored in these maps while super_block->cleancache_poolid points to an entry in the map, so that on cleancache registration we can walk over all (if there are <= 32 of them, of course) cleancache-enabled super blocks and assign real pool ids. Actually, there is absolutely no need in these maps, because we can iterate over all super blocks immediately using iterate_supers. This is not racy, because cleancache_init_ops is called from mount_fs with super_block->s_umount held for writing, while iterate_supers takes this semaphore for reading, so if we call iterate_supers after setting cleancache_ops, all super blocks that had been created before cleancache_register_ops was called will be assigned pool ids by the action function of iterate_supers while all newer super blocks will receive it in cleancache_init_fs. This patch therefore removes the maps and hence the artificial limit on the number of cleancache enabled filesystems. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx> Cc: Florian Schmaus <fschmaus@xxxxxxxxx> Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx> Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> Cc: Bob Liu <lliubbo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 53d85c98566535d7bc69470f008d7dcb09a0fec9 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Tue Apr 14 15:46:45 2015 -0700 cleancache: forbid overriding cleancache_ops Currently, cleancache_register_ops returns the previous value of cleancache_ops to allow chaining. However, chaining, as it is implemented now, is extremely dangerous due to possible pool id collisions. Suppose, a new cleancache driver is registered after the previous one assigned an id to a super block. If the new driver assigns the same id to another super block, which is perfectly possible, we will have two different filesystems using the same id. No matter if the new driver implements chaining or not, we are likely to get data corruption with such a configuration eventually. This patch therefore disables the ability to override cleancache_ops altogether as potentially dangerous. If there is already cleancache driver registered, all further calls to cleancache_register_ops will return EBUSY. Since no user of cleancache implements chaining, we only need to make minor changes to the code outside the cleancache core. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx> Cc: Florian Schmaus <fschmaus@xxxxxxxxx> Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx> Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> Cc: Bob Liu <lliubbo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9de1626290eaa7d921413ddc83544bc3bae27283 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Tue Apr 14 15:46:42 2015 -0700 cleancache: zap uuid arg of cleancache_init_shared_fs Use super_block->s_uuid instead. Every shared filesystem using cleancache must now initialize super_block->s_uuid before calling cleancache_init_shared_fs. The only one on the tree, ocfs2, already meets this requirement. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx> Cc: Florian Schmaus <fschmaus@xxxxxxxxx> Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx> Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> Cc: Bob Liu <lliubbo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58be19dcf7c0c206e60796c2ee18fc4fc1659fea Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Tue Apr 14 15:46:39 2015 -0700 ocfs2: copy fs uuid to superblock Currently, maximal number of cleancache enabled filesystems equals 32, which is insufficient nowadays, because a Linux host can have hundreds of containers on board, each of which might want its own filesystem. This patch set targets at removing this limitation - see patch 4 for more details. Patches 1-3 prepare the code for this change. This patch (of 4): This will allow us to remove the uuid argument from cleancache_init_shared_fs. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx> Cc: Florian Schmaus <fschmaus@xxxxxxxxx> Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx> Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> Cc: Bob Liu <lliubbo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 93e478d4c36ecaf15b942988b8272102d661d44e Author: Shachar Raindel <raindel@xxxxxxxxxxxx> Date: Tue Apr 14 15:46:35 2015 -0700 mm: refactor do_wp_page handling of shared vma into a function The do_wp_page function is extremely long. Extract the logic for handling a page belonging to a shared vma into a function of its own. This helps the readability of the code, without doing any functional change in it. Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2f38ab2c3c7fef04dca0313fd89d91f142ca9281 Author: Shachar Raindel <raindel@xxxxxxxxxxxx> Date: Tue Apr 14 15:46:32 2015 -0700 mm: refactor do_wp_page, extract the page copy flow In some cases, do_wp_page had to copy the page suffering a write fault to a new location. If the function logic decided that to do this, it was done by jumping with a "goto" operation to the relevant code block. This made the code really hard to understand. It is also against the kernel coding style guidelines. This patch extracts the page copy and page table update logic to a separate function. It also clean up the naming, from "gotten" to "wp_page_copy", and adds few comments. Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 28766805275c12c2298883cece3f98505ac764b4 Author: Shachar Raindel <raindel@xxxxxxxxxxxx> Date: Tue Apr 14 15:46:29 2015 -0700 mm: refactor do_wp_page - rewrite the unlock flow When do_wp_page is ending, in several cases it needs to unlock the pages and ptls it was accessing. Currently, this logic was "called" by using a goto jump. This makes following the control flow of the function harder. Readability was further hampered by the unlock case containing large amount of logic needed only in one of the 3 cases. Using goto for cleanup is generally allowed. However, moving the trivial unlocking flows to the relevant call sites allow deeper refactoring in the next patch. Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e047f897771222215ee572e1c0b25e9417376eb Author: Shachar Raindel <raindel@xxxxxxxxxxxx> Date: Tue Apr 14 15:46:25 2015 -0700 mm: refactor do_wp_page, extract the reuse case Currently do_wp_page contains 265 code lines. It also contains 9 goto statements, of which 5 are targeting labels which are not cleanup related. This makes the function extremely difficult to understand. The following patches are an attempt at breaking the function to its basic components, and making it easier to understand. The patches are straight forward function extractions from do_wp_page. As we extract functions, we remove unneeded parameters and simplify the code as much as possible. However, the functionality is supposed to remain completely unchanged. The patches also attempt to document the functionality of each extracted function. In patch 2, we split the unlock logic to the contain logic relevant to specific needs of each use case, instead of having huge number of conditional decisions in a single unlock flow. This patch (of 4): When do_wp_page is ending, in several cases it needs to reuse the existing page. This is achieved by making the page table writable, and possibly updating the page-cache state. Currently, this logic was "called" by using a goto jump. This makes following the control flow of the function harder. It is also against the coding style guidelines for using goto. As the code can easily be refactored into a specialized function, refactor it out and simplify the code flow in do_wp_page. Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5a3fbef325e872f831cf13171c7032915bb1916d Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:21 2015 -0700 mm: do not add nr_pmds into mm_struct if PMD is folded CONFIG_PGTABLE_LEVELS is now available on every architecture and we can use it to check if we need to add nr_pmds into mm_struct. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 235a8f0286d3de5754322e9b4abd472ed4d57209 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:17 2015 -0700 mm: define default PGTABLE_LEVELS to two By this time all architectures which support more than two page table levels should be covered. This patch add default definiton of PGTABLE_LEVELS equal 2. We also add assert to detect inconsistence between CONFIG_PGTABLE_LEVELS and __PAGETABLE_PMD_FOLDED/__PAGETABLE_PUD_FOLDED. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 982333683385343d8d2db9a1df69c98406f42687 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:14 2015 -0700 x86: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b8ce2a1a464526335672c33cbf3cb9fc638efff Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:11 2015 -0700 um: expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Richard Weinberger <richard@xxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 909d45e62801ea77422d478519baa7d2287c77f7 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:08 2015 -0700 tile: expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81a2936c1a98dd007c510dc523c5bbdce263878b Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:05 2015 -0700 sparc: expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 69543d639938fc71b3df69d32ecccc58beb7e578 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:02 2015 -0700 sh: expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: linux-sh@xxxxxxxxxxxxxxx Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c81956c9cd587d36b87d4ab37c92016ebb79b517 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:00 2015 -0700 s390: expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Core mm expects __PAGETABLE_{PUD,PMD}_FOLDED to be defined if these page table levels folded. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 06ef42a16f2dd8480ada1be3a549e12b02c45915 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:57 2015 -0700 powerpc: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f24ffde43237755b290c46306a3dd2deb1428700 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:54 2015 -0700 parisc: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a728ab52709e2fb9659d2661ac30c901df42ef02 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:51 2015 -0700 mips: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 980d5b7387c6bbc9b411a3469274b3226b161e45 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:48 2015 -0700 m68k: mark PMD folded and expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Core mm expects __PAGETABLE_{PUD,PMD}_FOLDED to be defined if these page table levels folded. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4d66bcc7cf762e82703b94d416245d4a216c79ae Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:45 2015 -0700 ia64: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. We need to define PGTABLE_LEVELS before sourcing init/Kconfig: arch/Kconfig will define default value and it's sourced from init/Kconfig. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1bcad26e9d5362d4890ab5718d729ee9cd85a493 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:42 2015 -0700 arm: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f25e6ad58e1fb3b4d441e4c55635c4598a6fa94 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:39 2015 -0700 arm64: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. ARM64_PGTABLE_LEVELS is renamed to PGTABLE_LEVELS and defined before sourcing init/Kconfig: arch/Kconfig will define default value and it's sourced from init/Kconfig. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f5d4547ad27737137fae8e67025e5664ecb8e790 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:36 2015 -0700 alpha: expose number of page table levels on Kconfig level I've implemented accounting for pmd page tables as we have for pte (see mm->nr_ptes). It's requires a new counter in mm_struct: mm->nr_pmds. But the feature doesn't make any sense if an architecture has PMD level folded and it would be nice get rid of the counter in this case. The problem is that we cannot use __PAGETABLE_PMD_FOLDED in <linux/mm_types.h> due to circular dependencies: <linux/mm_types> -> <asm/pgtable.h> -> <linux/mm_types.h> In most cases <asm/pgtable.h> wants <linux/mm_types.h> to get definition of struct page and struct vm_area_struct. I've tried to split mm_struct into separate header file to be able to user <asm/pgtable.h> there. But it doesn't fly on some architectures, like ARM: it wants mm_struct <asm/pgtable.h> to implement tlb flushing. I don't see how to fix it without massive de-inlining or coverting a lot for inline functions to macros. This is other approach: expose number of page tables in use via Kconfig and use it in <linux/mm_types.h> instead of __PAGETABLE_PMD_FOLDED from <asm/pgtable.h>. This patch (of 19): We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 761b06771adeeb734e9eebc6f70f916cb9e2f643 Author: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Date: Tue Apr 14 15:45:32 2015 -0700 mm: completely remove dumping per-cpu lists from show_mem() It seems nobody needs this. Signed-off-by: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d1bfcdb8ce0ea6eb6034daa7ff02548e0bc9c21b Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:30 2015 -0700 mm: hide per-cpu lists in output of show_mem() This makes show_mem() much less verbose on huge machines. Instead of huge and almost useless dump of counters for each per-zone per-cpu lists this patch prints the sum of these counters for each zone (free_pcp) and size of per-cpu list for current cpu (local_pcp). The filter flag SHOW_MEM_PERCPU_LISTS reverts to the old verbose mode. [akpm@xxxxxxxxxxxxxxxxxxxx: update show_free_areas comment] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b9ea25152e56365ce149b9a39637cd7a16eec556 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:27 2015 -0700 page_writeback: clean up mess around cancel_dirty_page() This patch replaces cancel_dirty_page() with a helper function account_page_cleaned() which only updates counters. It's called from truncate_complete_page() and from try_to_free_buffers() (hack for ext3). Page is locked in both cases, page-lock protects against concurrent dirtiers: see commit 2d6d7f982846 ("mm: protect set_page_dirty() from ongoing truncation"). Delete_from_page_cache() shouldn't be called for dirty pages, they must be handled by caller (either written or truncated). This patch treats final dirty accounting fixup at the end of __delete_from_page_cache() as a debug check and adds WARN_ON_ONCE() around it. If something removes dirty pages without proper handling that might be a bug and unwritten data might be lost. Hugetlbfs has no dirty pages accounting, ClearPageDirty() is enough here. cancel_dirty_page() in nfs_wb_page_cancel() is redundant. This is helper for nfs_invalidate_page() and it's called only in case complete invalidation. The mess was started in v2.6.20 after commits 46d2277c796f ("Clean up and make try_to_free_buffers() not race with dirty pages") and 3e67c0987d75 ("truncate: clear page dirtiness before running try_to_free_buffers()") first was reverted right in v2.6.20 in commit ecdfc9787fe5 ("Resurrect 'try_to_free_buffers()' VM hackery"), second in v2.6.25 commit a2b345642f53 ("Fix dirty page accounting leak with ext3 data=journal"). Custom fixes were introduced between these points. NFS in v2.6.23, commit 1b3b4a1a2deb ("NFS: Fix a write request leak in nfs_invalidate_page()"). Kludge in __delete_from_page_cache() in v2.6.24, commit 3a6927906f1b ("Do dirty page accounting when removing a page from the page cache"). Since v2.6.25 all of them are redundant. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ca0984caa8235762dc4e22c1c47ae6719dcc4064 Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Tue Apr 14 15:45:24 2015 -0700 mm: incorporate zero pages into transparent huge pages This patch improves THP collapse rates, by allowing zero pages. Currently THP can collapse 4kB pages into a THP when there are up to khugepaged_max_ptes_none pte_none ptes in a 2MB range. This patch counts pte none and mapped zero pages with the same variable. The patch was tested with a program that allocates 800MB of memory, and performs interleaved reads and writes, in a pattern that causes some 2MB areas to first see read accesses, resulting in the zero pfn being mapped there. To simulate memory fragmentation at allocation time, I modified do_huge_pmd_anonymous_page to return VM_FAULT_FALLBACK for read faults. Without the patch, only %50 of the program was collapsed into THP and the percentage did not increase over time. With this patch after 10 minutes of waiting khugepaged had collapsed %99 of the program's memory. [aarcange@xxxxxxxxxx: fix bogus BUG()] Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2149cdaef6c0eb59a9edf3b152027392cd66b41f Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Tue Apr 14 15:45:21 2015 -0700 mm/compaction: enhance compaction finish condition Compaction has anti fragmentation algorithm. It is that freepage should be more than pageblock order to finish the compaction if we don't find any freepage in requested migratetype buddy list. This is for mitigating fragmentation, but, there is a lack of migratetype consideration and it is too excessive compared to page allocator's anti fragmentation algorithm. Not considering migratetype would cause premature finish of compaction. For example, if allocation request is for unmovable migratetype, freepage with CMA migratetype doesn't help that allocation and compaction should not be stopped. But, current logic regards this situation as compaction is no longer needed, so finish the compaction. Secondly, condition is too excessive compared to page allocator's logic. We can steal freepage from other migratetype and change pageblock migratetype on more relaxed conditions in page allocator. This is designed to prevent fragmentation and we can use it here. Imposing hard constraint only to the compaction doesn't help much in this case since page allocator would cause fragmentation again. To solve these problems, this patch borrows anti fragmentation logic from page allocator. It will reduce premature compaction finish in some cases and reduce excessive compaction work. stress-highalloc test in mmtests with non movable order 7 allocation shows considerable increase of compaction success rate. Compaction success rate (Compaction success * 100 / Compaction stalls, %) 31.82 : 42.20 I tested it on non-reboot 5 runs stress-highalloc benchmark and found that there is no more degradation on allocation success rate than before. That roughly means that this patch doesn't result in more fragmentations. Vlastimil suggests additional idea that we only test for fallbacks when migration scanner has scanned a whole pageblock. It looked good for fragmentation because chance of stealing increase due to making more free pages in certain pageblock. So, I tested it, but, it results in decreased compaction success rate, roughly 38.00. I guess the reason that if system is low memory condition, watermark check could be failed due to not enough order 0 free page and so, sometimes, we can't reach a fallback check although migrate_pfn is aligned to pageblock_nr_pages. I can insert code to cope with this situation but it makes code more complicated so I don't include his idea at this patch. [akpm@xxxxxxxxxxxxxxxxxxxx: fix CONFIG_CMA=n build] Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> 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 4eb7dce62007113f1a2778213980fd6d8034ef5e Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Tue Apr 14 15:45:18 2015 -0700 mm/page_alloc: factor out fallback freepage checking This is preparation step to use page allocator's anti fragmentation logic in compaction. This patch just separates fallback freepage checking part from fallback freepage management part. Therefore, there is no functional change. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> 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 dc67647b78b92d9497f01fab95ac6764ed886b40 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Tue Apr 14 15:45:15 2015 -0700 mm/cma: change fallback behaviour for CMA freepage Freepage with MIGRATE_CMA can be used only for MIGRATE_MOVABLE and they should not be expanded to other migratetype buddy list to protect them from unmovable/reclaimable allocation. Implementing these requirements in __rmqueue_fallback(), that is, finding largest possible block of freepage has bad effect that high order freepage with MIGRATE_CMA are broken continually although there are suitable order CMA freepage. Reason is that they are not be expanded to other migratetype buddy list and next __rmqueue_fallback() invocation try to finds another largest block of freepage and break it again. So, MIGRATE_CMA fallback should be handled separately. This patch introduces __rmqueue_cma_fallback(), that just wrapper of __rmqueue_smallest() and call it before __rmqueue_fallback() if migratetype == MIGRATE_MOVABLE. This results in unintended behaviour change that MIGRATE_CMA freepage is always used first rather than other migratetype as movable allocation's fallback. But, as already mentioned above, MIGRATE_CMA can be used only for MIGRATE_MOVABLE, so it is better to use MIGRATE_CMA freepage first as much as possible. Otherwise, we needlessly take up precious freepages with other migratetype and increase chance of fragmentation. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> 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 30467e0b3be83c286d60039f8267dd421128ca74 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:45:11 2015 -0700 mm, hotplug: fix concurrent memory hot-add deadlock There's a deadlock when concurrently hot-adding memory through the probe interface and switching a memory block from offline to online. When hot-adding memory via the probe interface, add_memory() first takes mem_hotplug_begin() and then device_lock() is later taken when registering the newly initialized memory block. This creates a lock dependency of (1) mem_hotplug.lock (2) dev->mutex. When switching a memory block from offline to online, dev->mutex is first grabbed in device_online() when the write(2) transitions an existing memory block from offline to online, and then online_pages() will take mem_hotplug_begin(). This creates a lock inversion between mem_hotplug.lock and dev->mutex. Vitaly reports that this deadlock can happen when kworker handling a probe event races with systemd-udevd switching a memory block's state. This patch requires the state transition to take mem_hotplug_begin() before dev->mutex. Hot-adding memory via the probe interface creates a memory block while holding mem_hotplug_begin(), there is no way to take dev->mutex first in this case. online_pages() and offline_pages() are only called when transitioning memory block state. We now require that mem_hotplug_begin() is taken before calling them -- this requires exporting the mem_hotplug_begin() and mem_hotplug_done() to generic code. In all hot-add and hot-remove cases, mem_hotplug_begin() is done prior to device_online(). This is all that is needed to avoid the deadlock. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Reported-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Tested-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 17e0db822b00cff96c1b662ac0dc0449cb70e0ec Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Apr 14 15:45:08 2015 -0700 cma: debug: document new debugfs interface Document the structure and files under the new debugfs interface. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 875abdb6d43401c745ee8bc6d240f119a601d21f Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:05 2015 -0700 mm-cma-allocation-trigger-fix s/CONFIG_CMA_ALIGNMENT/0/, per Joonsoo Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8325330b026509127d4541e0f511c0c10648c2d5 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Apr 14 15:45:02 2015 -0700 mm: cma: release trigger Provides a userspace interface to trigger a CMA release. Usage: echo [pages] > free This would provide testing/fuzzing access to the CMA release paths. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] [mhocko@xxxxxxx: fix build] Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 26b02a1f9670862c51b3ff63a6128589866f5c71 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Apr 14 15:44:59 2015 -0700 mm: cma: allocation trigger Provides a userspace interface to trigger a CMA allocation. Usage: echo [pages] > alloc This would provide testing/fuzzing access to the CMA allocation paths. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 28b24c1fc8c22cabe5b8a16ffe6a61dfce51a1f2 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Apr 14 15:44:57 2015 -0700 mm: cma: debugfs interface I've noticed that there is no interfaces exposed by CMA which would let me fuzz what's going on in there. This small patchset exposes some information out to userspace, plus adds the ability to trigger allocation and freeing from userspace. This patch (of 3): Implement a simple debugfs interface to expose information about CMA areas in the system. Useful for testing/sanity checks for CMA since it was impossible to previously retrieve this information in userspace. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 19c07d5e0414261bd7ec3d8419dd26f468ef69d9 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Tue Apr 14 15:44:54 2015 -0700 memory hotplug: use macro to switch between section and pfn Use macro section_nr_to_pfn() to switch between section and pfn, instead of open-coding it. No semantic changes. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1575e68b3c1111aca9779ecbdb106a4aa563f01f Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Tue Apr 14 15:44:51 2015 -0700 mm: memcontrol: update copyright notice Add myself to the list of copyright holders. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7fc825b4566c591670f6b605cc3d10da77d27efb Author: Baoquan He <bhe@xxxxxxxxxx> Date: Tue Apr 14 15:44:48 2015 -0700 mm/memblock.c: rename local variable of memblock_type to `type' A small cleanup. Seems in e3239ff9 ("memblock: Rename memblock_region to memblock_type and memblock_property to memblock_region") this one was missed. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit acc3c8d15eed6b68c7edf5bfaea884753aaa8e85 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:44:45 2015 -0700 mm: move mm_populate()-related code to mm/gup.c It's odd that we have populate_vma_page_range() and __mm_populate() in mm/mlock.c. It's implementation of generic memory population and mlocking is one of possible side effect, if VM_LOCKED is set. __get_user_pages() is core of the implementation. Let's move the code into mm/gup.c. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c561259ca79a88be540a75e84b45d49123014aa4 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:44:42 2015 -0700 mm: move gup() -> posix mlock() error conversion out of __mm_populate This is praparation to moving mm_populate()-related code out of mm/mlock.c. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fc05f566210fa57f8e68ead8762b8dbb3f1c61e3 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:44:39 2015 -0700 mm: rename __mlock_vma_pages_range() to populate_vma_page_range() __mlock_vma_pages_range() doesn't necessarily mlock pages. It depends on vma flags. The same codepath is used for MAP_POPULATE. Let's rename __mlock_vma_pages_range() to populate_vma_page_range(). This patch also drops mlock_vma_pages_range() references from documentation. It has gone in cea10a19b797 ("mm: directly use __mlock_vma_pages_range() in find_extend_vma()"). Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 84d33df279e0380995b0e03fb8aad04cef2bc29f Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:44:37 2015 -0700 mm: rename FOLL_MLOCK to FOLL_POPULATE After commit a1fde08c74e9 ("VM: skip the stack guard page lookup in get_user_pages only for mlock") FOLL_MLOCK has lost its original meaning: we don't necessarily mlock the page if the flags is set -- we also take VM_LOCKED into consideration. Since we use the same codepath for __mm_populate(), let's rename FOLL_MLOCK to FOLL_POPULATE. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c21a6daf466a7bfa7bc2ac594837a1ce793a7960 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Apr 14 15:44:34 2015 -0700 slob: make slob_alloc_node() static and remove EXPORT_SYMBOL() slob_alloc_node() is only used in slob.c. Remove the EXPORT_SYMBOL and make slob_alloc_node() static. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> 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 6f6528a1632cb9661a2ff46e217b07d84a80eff6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Apr 14 15:44:31 2015 -0700 slub: use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: 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 124dee09f0669b92cc0073b00984d53541ca0884 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:44:28 2015 -0700 mm, slab: correct config option in comment CONFIG_SLAB_DEBUG doesn't exist, CONFIG_DEBUG_SLAB does. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 08303a73c62a1cc83c613fa1965f5127ba030c46 Author: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Date: Tue Apr 14 15:44:25 2015 -0700 mm/slub.c: parse slub_debug O option in switch statement By moving the O option detection into the switch statement, we allow this parameter to be combined with other options correctly. Previously options like slub_debug=OFZ would only detect the 'o' and use DEBUG_DEFAULT_FLAGS to fill in the rest of the flags. Signed-off-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: 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 ef2a5153b4d2c48c05b9280491cb5592a46df385 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Apr 14 15:44:22 2015 -0700 mm/migrate: mark unmap_and_move() "noinline" to avoid ICE in gcc 4.7.3 With gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) : mm/migrate.c: In function `migrate_pages': mm/migrate.c:1148:1: internal compiler error: in push_minipool_fix, at config/arm/arm.c:13500 Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions. Preprocessed source stored into /tmp/ccPoM1tr.out file, please attach this to your bugreport. make[1]: *** [mm/migrate.o] Error 1 make: *** [mm/migrate.o] Error 2 Mark unmap_and_move() (which is used in a single place only) "noinline" to work around this compiler bug. [akpm@xxxxxxxxxxxxxxxxxxxx: make it conditional on gcc-4.7.3 and arm] [khilman@xxxxxxxxxx: fine-tune compiler versions] [akpm@xxxxxxxxxxxxxxxxxxxx: fix comment] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reported-by: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 692297d8f96887f836d9049a653ed05a71cf48fb Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:19 2015 -0700 watchdog: introduce the hardlockup_detector_disable() function Have kvm_guest_init() use hardlockup_detector_disable() instead of watchdog_enable_hardlockup_detector(false). Remove the watchdog_hardlockup_detector_is_enabled() and the watchdog_enable_hardlockup_detector() function which are no longer needed. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 b2f57c3a0df9d168220be8848a303a32ef4d2e7d Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:16 2015 -0700 watchdog: clean up some function names and arguments Rename the update_timers*() functions to update_watchdog*(). Remove the boolean argument from watchdog_enable_all_cpus() because update_watchdog_all_cpus() is now a generic function to change the run state of the lockup detectors and to have the lockup detectors use a new sample period. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 195daf665a6299de98a4da3843fed2dd9de19d3a Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:13 2015 -0700 watchdog: enable the new user interface of the watchdog mechanism With the current user interface of the watchdog mechanism it is only possible to disable or enable both lockup detectors at the same time. This series introduces new kernel parameters and changes the semantics of some existing kernel parameters, so that the hard lockup detector and the soft lockup detector can be disabled or enabled individually. With this series applied, the user interface is as follows. - parameters in /proc/sys/kernel . soft_watchdog This is a new parameter to control and examine the run state of the soft lockup detector. . nmi_watchdog The semantics of this parameter have changed. It can now be used to control and examine the run state of the hard lockup detector. . watchdog This parameter is still available to control the run state of both lockup detectors at the same time. If this parameter is examined, it shows the logical OR of soft_watchdog and nmi_watchdog. . watchdog_thresh The semantics of this parameter are not affected by the patch. - kernel command line parameters . nosoftlockup The semantics of this parameter have changed. It can now be used to disable the soft lockup detector at boot time. . nmi_watchdog=0 or nmi_watchdog=1 Disable or enable the hard lockup detector at boot time. The patch introduces '=1' as a new option. . nowatchdog The semantics of this parameter are not affected by the patch. It is still available to disable both lockup detectors at boot time. Also, remove the proc_dowatchdog() function which is no longer needed. [dzickus@xxxxxxxxxx: wrote changelog] [dzickus@xxxxxxxxxx: update documentation for kernel params and sysctl] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 bcfba4f4bf3c9c7c72b459d52a9e826dfd72855e Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:10 2015 -0700 watchdog: implement error handling for failure to set up hardware perf events If watchdog_nmi_enable() fails to set up the hardware perf event of one CPU, the entire hard lockup detector is deemed unreliable. Hence, disable the hard lockup detector and shut down the hardware perf events on all CPUs. [dzickus@xxxxxxxxxx: update comments to explain some code] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 83a80a39075a9ded23df1e26a4b617c289077630 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:08 2015 -0700 watchdog: introduce separate handlers for parameters in /proc/sys/kernel Separate handlers for each watchdog parameter in /proc/sys/kernel replace the proc_dowatchdog() function. Three of those handlers merely call proc_watchdog_common() with one different argument. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 ef246a216b02c604ff465b9a62bb0d2e1ea183a7 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:05 2015 -0700 watchdog: introduce proc_watchdog_common() Three of four handlers for the watchdog parameters in /proc/sys/kernel essentially have to do the same thing. if the parameter is being read { return the state of the corresponding bit(s) in 'watchdog_enabled' } else { set/clear the state of the corresponding bit(s) in 'watchdog_enabled' update the run state of the lockup detector(s) } Hence, introduce a common function that can be called by those handlers. The callers pass a 'bit mask' to this function to indicate which bit(s) should be set/cleared in 'watchdog_enabled'. This function handles an uncommon race with watchdog_nmi_enable() where a concurrent update of 'watchdog_enabled' is possible. We use 'cmpxchg' to detect the concurrency. [This avoids introducing a new spinlock or a mutex to synchronize updates of 'watchdog_enabled'. Using the same lock or mutex in watchdog thread context and in system call context needs to be considered carefully because it can make the code prone to deadlock situations in connection with parking/unparking the watchdog threads.] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 f54c2274f5515da6bae779c7340cd0dc69d0dd8d Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:01 2015 -0700 watchdog: move definition of 'watchdog_proc_mutex' outside of proc_dowatchdog() This series removes proc_dowatchdog(). Since multiple new functions need the 'watchdog_proc_mutex' to serialize access to the watchdog parameters in /proc/sys/kernel, move the mutex outside of any function. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 a0c9cbb93da9b9a0e00907a4a5d2e5f1fed86350 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:43:58 2015 -0700 watchdog: introduce the proc_watchdog_update() function This series introduces a separate handler for each watchdog parameter in /proc/sys/kernel. The separate handlers need a common function that they can call to update the run state of the lockup detectors, or to have the lockup detectors use a new sample period. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 84d56e66b9b4a646f04ec30696ca1aeea5e654d5 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:43:55 2015 -0700 watchdog: new definitions and variables, initialization The hardlockup and softockup had always been tied together. Due to the request of KVM folks, they had a need to have one enabled but not the other. Internally rework the code to split things apart more cleanly. There is a bunch of churn here, but the end result should be code that should be easier to maintain and fix without knowing the internals of what is going on. This patch (of 9): Introduce new definitions and variables to separate the user interface in /proc/sys/kernel from the internal run state of the lockup detectors. The internal run state is represented by two bits in a new variable that is named 'watchdog_enabled'. This helps simplify the code, for example: - In order to check if any of the two lockup detectors is enabled, it is sufficient to check if 'watchdog_enabled' is not zero. - In order to enable/disable one or both lockup detectors, it is sufficient to set/clear one or both bits in 'watchdog_enabled'. - Concurrent updates of 'watchdog_enabled' need not be synchronized via a spinlock or a mutex. Updates can either be atomic or concurrency can be detected by using 'cmpxchg'. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 1d5b897706d11ac59fecd85ba7b1cbf91c44fe50 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:43:52 2015 -0700 ocfs2: make mlog_errno return the errno ocfs2 does mlog_errno(v); return v; in many places. Change mlog_errno() so we can do return mlog_errno(v); For some weird reason this patch reduces the size of ocfs2 by 6k: akpm3:/usr/src/25> size fs/ocfs2/ocfs2.ko text data bss dec hex filename 1146613 82767 832192 2061572 1f7504 fs/ocfs2/ocfs2.ko-before 1140857 82767 832192 2055816 1f5e88 fs/ocfs2/ocfs2.ko-after [dan.carpenter@xxxxxxxxxx: double evaluation concerns in mlog_errno()] Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: alex chen <alex.chen@xxxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2f2eca20a09dac0e9d62bf57ce6a0c6ef6cf91e6 Author: alex chen <alex.chen@xxxxxxxxxx> Date: Tue Apr 14 15:43:49 2015 -0700 ocfs2: check if the ocfs2 lock resource has been initialized before calling ocfs2_dlm_lock If ocfs2 lockres has not been initialized before calling ocfs2_dlm_lock, the lock won't be dropped and then will lead umount hung. The case is described below: ocfs2_mknod ocfs2_mknod_locked __ocfs2_mknod_locked ocfs2_journal_access_di Failed because of -ENOMEM or other reasons, the inode lockres has not been initialized yet. iput(inode) ocfs2_evict_inode ocfs2_delete_inode ocfs2_inode_lock ocfs2_inode_lock_full_nested __ocfs2_cluster_lock Succeeds and allocates a new dlm lockres. ocfs2_clear_inode ocfs2_open_unlock ocfs2_drop_inode_locks ocfs2_drop_lock Since lockres has not been initialized, the lock can't be dropped and the lockres can't be migrated, thus umount will hang forever. Signed-off-by: Alex Chen <alex.chen@xxxxxxxxxx> Reviewed-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 1543306e75ee40662b2c6d37c43c8659f3d6f880 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Apr 14 15:43:46 2015 -0700 ocfs2: logging: remove static buffer, use vsprintf extension %pV Use the vsprintf %pV extension to avoid using a static buffer and remove the now unnecessary buffer. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> 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 e2ac55b6a8e337fac7cc59c6f452caac92ab5ee6 Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Tue Apr 14 15:43:44 2015 -0700 ocfs2: incorrect check for debugfs returns debugfs_create_dir and debugfs_create_file may return -ENODEV when debugfs is not configured, so the return value should be checked against ERROR_VALUE as well, otherwise the later dereference of the dentry pointer would crash the kernel. This patch tries to solve this problem by fixing certain checks. However, I have that found other call sites are protected by #ifdef CONFIG_DEBUG_FS. In current implementation, if CONFIG_DEBUG_FS is defined, then the above two functions will never return any ERROR_VALUE. So another possibility to fix this is to surround all the buggy checks/functions with the same #ifdef CONFIG_DEBUG_FS. But I'm not sure if this would break any functionality, as only OCFS2_FS_STATS declares dependency on DEBUG_FS. Signed-off-by: Chengyu Song <csong84@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 762515a8e9c7ead55539cf96a63dec2363b1df50 Author: Jakub Wilk <jwilk@xxxxxxxxx> Date: Tue Apr 14 15:43:41 2015 -0700 ocfs2: fix a typo in the copyright statement Signed-off-by: Jakub Wilk <jwilk@xxxxxxxxx> Reviewed-by: Eric Ren <zren@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 023d4ea358494ccfeb37abfe5b0fd01b45a6051c Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:33 2015 -0700 ocfs2: fix possible uninitialized variable access In ocfs2_local_alloc_find_clear_bits and ocfs2_get_dentry, variable numfound and set may be uninitialized and then used in tracepoint. In ocfs2_xattr_block_get and ocfs2_delete_xattr_in_bucket, variable block_off and xv may be uninitialized and then used in the following logic due to unchecked return value. This patch fixes these possible issues. Signed-off-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 7c01ad8fe7c159d7e1ddbd8e586d4d0dfed7ab3d Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Apr 14 15:43:30 2015 -0700 ocfs2: remove goto statement in ocfs2_check_dir_for_entry() Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> 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 a47726bcf299db6b5743d574df36c423263b4e65 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:27 2015 -0700 ocfs2: rollback the cleared bits if error occurs after ocfs2_block_group_clear_bits ocfs2_block_group_clear_bits will clear bits in block group bitmap. Once it succeeds but fails in the following step, it will cause block group bitmap mismatch the corresponding count recorded in dinode. So rollback the cleared bits if error occurs. Signed-off-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 62f8b1f0d609838361d65b5b2114859d464e6baa Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:24 2015 -0700 ocfs2: use ENOENT instead of EEXIST when get system file fails When ocfs2_get_system_file_inode fails, it is obscure to set the return value to -EEXIST. So change it to -ENOENT. Signed-off-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 e38a573907383b3c57514fe2331322b1fc110eef Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:22 2015 -0700 ocfs2: use actual name length when find entry in ocfs2_orphan_del() If the namelen is 20 and name only has actual length 16, it will fail in ocfs2_find_entry because of mismatch. So use actual name length when find entry. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Signed-off-by: Yiwen Jiang <jiangyiwen@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 e073fc58dfe6a4c9b614320c1d56bb71cb213ec4 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Apr 14 15:43:19 2015 -0700 ocfs2: dereferencing freed pointers in ocfs2_reflink() The code at the "out" label assumes that "default_acl" and "acl" are NULL, but actually the pointers can be NULL, unitialized, or freed. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0ba25b905ba1246d04578cd59df83014e9b9152 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:16 2015 -0700 ocfs2: fix typo in ocfs2_reserve_local_alloc_bits In ocfs2_reserve_local_alloc_bits, it calls ocfs2_error if local alloc inode bitmap used bits mismatch, but the log mistakes it as free bits. Signed-off-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 14a5275d8c31ba24832f45eeb2469e835ded660d Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:13 2015 -0700 ocfs2: do not use ocfs2_zero_extend during direct IO In ocfs2_direct_IO_write, we use ocfs2_zero_extend to zero allocated clusters in case of cluster not aligned. But ocfs2_zero_extend uses page cache, this may happen that it clears the data which blockdev_direct_IO has already written. We should use blkdev_issue_zeroout instead of ocfs2_zero_extend during direct IO. So fix this issue by introducing ocfs2_direct_IO_zero_extend and ocfs2_direct_IO_extend_no_holes. Reported-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Tested-by: Yiwen Jiang <jiangyiwen@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 37a8d89aee2a5b58812e19520d96632efe987f54 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:10 2015 -0700 ocfs2: take inode lock when get clusters We need take inode lock when calling ocfs2_get_clusters. And use GFP_NOFS instead of GFP_KERNEL. Signed-off-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 7e9b19551c8249baf380cbd274633ee4af95bc99 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:08 2015 -0700 ocfs2: no need get dinode bh when zeroing extend Since di_bh won't be used when zeroing extend, set it to NULL. Signed-off-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 bdd86215b393b743be34b854299c6cda7cbb361c Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:05 2015 -0700 ocfs2: fix a typing error in ocfs2_direct_IO_write Only when direct IO succeeds we need consider zeroing out in case of cluster not aligned. Signed-off-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 7a8346429d6da4039a4687a8a07f3f8cdaf96d92 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Apr 14 15:43:02 2015 -0700 ocfs2: avoid a pointless delay in o2cb_cluster_check() Fix an off-by-one when attempting to avoid an msleep() on the final loop iteration. Signed-off-by: Daeseok Youn <daeseok.youn@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 43ee9cad8a81954eea893b52e08d0c00ca9baccc Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:59 2015 -0700 ocfs2: one function call less in user_cluster_connect() after error detection kfree() was called by user_cluster_connect() even if a previous call of the kzalloc() function failed. Return from this implementation directly after failure detection. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 bb34ed21bce54a900c034089a6b1fde8c09f6a6d Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:56 2015 -0700 ocfs2: one function call less in ocfs2_init_slot_info() after error detection __ocfs2_free_slot_info() was called by ocfs2_init_slot_info() even if a call of the kzalloc() function failed. Return from this implementation directly after corresponding exception handling. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 629a3b5f0b1c09025546e110ea2b2a67335ed8c5 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:53 2015 -0700 ocfs2: one function call less in ocfs2_merge_rec_right() after error detection ocfs2_free_path() was called by ocfs2_merge_rec_right() even if a call of the ocfs2_get_right_path() function failed. Return from this implementation directly after corresponding exception handling. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 992ef6e794c4d6b84e7930ee79310f066c7f6727 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:51 2015 -0700 ocfs2: one function call less in ocfs2_merge_rec_left() after error detection ocfs2_free_path() was called by ocfs2_merge_rec_left() even if a call of the ocfs2_get_left_path() function failed. Return from this implementation directly after corresponding exception handling. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 06a269ccdf0550671667f5cfa00bdabb6bf05259 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:48 2015 -0700 ocfs2: less function calls in ocfs2_figure_merge_contig_type() after error detection ocfs2_free_path() was called in some cases by ocfs2_figure_merge_contig_type() during error handling even if the passed variables "left_path" and "right_path" contained still a null pointer. Corresponding implementation details could be improved by adjustments for jump labels according to the current Linux coding style convention. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 3cc79b795b53a9a04aa1bcc1a943379f06324bb6 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:45 2015 -0700 ocfs2: less function calls in ocfs2_convert_inline_data_to_extents() after error detection kfree() was called in a few cases by ocfs2_convert_inline_data_to_extents() during error handling even if the passed variable "pages" contained a null pointer. * Return from this implementation directly after failure detection for the function call "kcalloc". * Corresponding details could be improved by the introduction of another jump label. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 fd90d4dfb94a8c0d626c0c85ca7dcfb905f81a65 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:42 2015 -0700 ocfs2: delete unnecessary checks before three function calls kfree(), ocfs2_free_path() and __ocfs2_free_slot_info() test whether their argument is NULL and then return immediately. Thus the test around their calls is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 1cf370c61179e01313457363b21f0859be0d8cb7 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:42:40 2015 -0700 arch/sh/kernel/dwarf.c: use mempool_create_slab_pool() Mempools created for slab caches should use mempool_create_slab_pool(). Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7b4b425897cd582897ccc38b637ce7ab5ffc5593 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:42:37 2015 -0700 arch/sh/kernel/dwarf.c: destroy mempools on cleanup dwarf_reg_pool and dwarf_frame_pool are not properly destroyed when cleaning up the dwarf unwinder. Destroy them with mempool_destroy(). Also mark dwarf_unwinder_cleanup() as __init. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5017335d6d8c1fc3bbc04f80785440885f305879 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Apr 14 15:42:34 2015 -0700 scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning if()/BUG conversion to BUG_ON must be avoided when there's side effect in condition. The reason being BUG_ON won't execute the condition when CONFIG_BUG is not defined. With inspiration from Bruce Fields. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Suggested-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: J. Bruce Fields <bfields@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 97534127012f0e396eddea4691f4c9b170aed74b Author: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Date: Tue Apr 14 15:42:30 2015 -0700 mm/hugetlb: use pmd_page() in follow_huge_pmd() Commit 61f77eda9bbf ("mm/hugetlb: reduce arch dependent code around follow_huge_*") broke follow_huge_pmd() on s390, where pmd and pte layout differ and using pte_page() on a huge pmd will return wrong results. Using pmd_page() instead fixes this. All architectures that were touched by that commit have pmd_page() defined, so this should not break anything on other architectures. Fixes: 61f77eda "mm/hugetlb: reduce arch dependent code around follow_huge_*" Signed-off-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx>, Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80dcc31fbe55932ac9204daee5f2ebc0c49b6da3 Merge: 78d5dcd 3013317 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 16:09:18 2015 -0700 Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 Pull GFS2 updates from Bob Peterson: "Here is a list of patches we've accumulated for GFS2 for the current upstream merge window. Most of the patches fix GFS2 quotas, which were not properly enforced. There's another that adds me as a GFS2 co-maintainer, and a couple patches that fix a kernel panic doing splice_write on GFS2 as well as a few correctness patches" * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: gfs2: fix quota refresh race in do_glock() gfs2: incorrect check for debugfs returns gfs2: allow fallocate to max out quotas/fs efficiently gfs2: allow quota_check and inplace_reserve to return available blocks gfs2: perform quota checks against allocation parameters GFS2: Move gfs2_file_splice_write outside of #ifdef GFS2: Allocate reservation during splice_write GFS2: gfs2_set_acl(): Cache "no acl" as well Add myself (Bob Peterson) as a maintainer of GFS2 commit 78d5dcda92a17f17132671c269ea2c3a17688649 Merge: 2cfde72 7d2ac45 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 16:04:26 2015 -0700 Merge tag 'jfs-4.1' of git://github.com/kleikamp/linux-shaggy Pull jfs update from David Kleikamp: "Not much this time. Just a one-liner format fix" * tag 'jfs-4.1' of git://github.com/kleikamp/linux-shaggy: jfs: %pf is only for function pointers commit 2cfde72f0f26d3df7e565c5dce687c372042feba Merge: ca2ec32 62f269e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:58:56 2015 -0700 Merge tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux Pull pstore fix from Tony Luck: "Just one pstore fix this release" * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: pstore: Fix the ramoops module parameters update commit f4f88c6d3b6fe1632ddb567be155698733e857a1 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:33:10 2015 -0700 fm10k: Bump driver version to 0.15.2 With the recent driver changes, bump the version. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> commit b32d15b9d71b37854b94923a176acda35b40c9f4 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:15 2015 -0700 fm10k: corrected VF multicast update VFs were being improperly added to the switch's multicast group. The error stems from the fact that incorrect arguments were passed to the "update_mc_addr" function. It would seem to be a copy paste error since the parameters are similar to the "update_uc_addr" function. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Ngai-Mint Kwan <ngai-mint.kwan@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit da61b36706f06a95bedeef0168db5b40a2940f8a Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:14 2015 -0700 fm10k: mbx_update_max_size does not drop all oversized messages When we call update_max_size it does not drop all oversized messages. This is due to the difficulty in performing this operation, since it is a FIFO which makes updating anything other than head or tail very difficult. To fix this, modify validate_msg_size to ensure that we error out later when trying to transmit the message that could be oversized. This will generally be a rare condition, as it requires the FIFO to include a message larger than the max_size negotiated during mailbox connect. Note that max_size is always smaller than rx.size so it should be safe to use here. Also, update the update_max_size function header comment to clearly indicate that it does not drop all oversized messages, but only those at the head of the FIFO. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 78288e3750c568f0f95db235a06475db3b1a122a Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:13 2015 -0700 fm10k: reset head instead of calling update_max_size When we forcefully shutdown the mailbox, we then go about resetting max size to 0, and clearing all messages in the FIFO. Instead, we should just reset the head pointer so that the FIFO becomes empty, rather than changing the max size to 0. This helps prevent increment in tx_dropped counter during mailbox negotiation, which is confusing to viewers of Linux ethtool statistics output. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 750c607e303971e1746f98bfeec17bf45cbf228d Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:12 2015 -0700 fm10k: renamed mbx_tx_dropped to mbx_tx_oversized The use of dropped doesn't really mean dropped mailbox messages, but rather specifically messages which were too large to fit in the remote Rx FIFO. Rename the stat to more clearly indicate what it means. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bae97d84100ae7a8dc3b79233ecd3a8f7c19ea57 Merge: 87ffabb 97bb43c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 14 18:51:19 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next A final pull request, I know it's very late but this time I think it's worth a bit of rush. The following patchset contains Netfilter/nf_tables updates for net-next, more specifically concatenation support and dynamic stateful expression instantiation. This also comes with a couple of small patches. One to fix the ebtables.h userspace header and another to get rid of an obsolete example file in tree that describes a nf_tables expression. This time, I decided to paste the original descriptions. This will result in a rather large commit description, but I think these bytes to keep. Patrick McHardy says: ==================== netfilter: nf_tables: concatenation support The following patches add support for concatenations, which allow multi dimensional exact matches in O(1). The basic idea is to split the data registers, currently consisting of 4 registers of 16 bytes each, into smaller units, 16 registers of 4 bytes each, and making sure each register store always leaves the full 32 bit in a well defined state, meaning smaller stores will zero the remaining bits. Based on that, we can load multiple adjacent registers with different values, thereby building a concatenated bigger value, and use that value for set lookups. Sets are changed to use variable sized extensions for their key and data values, removing the fixed limit of 16 bytes while saving memory if less space is needed. As a side effect, these patches will allow some nice optimizations in the future, like using jhash2 in nft_hash, removing the masking in nft_cmp_fast, optimized data comparison using 32 bit word size etc. These are not done so far however. The patches are split up as follows: * the first five patches add length validation to register loads and stores to make sure we stay within bounds and prepare the validation functions for the new addressing mode * the next patches prepare for changing to 32 bit addressing by introducing a struct nft_regs, which holds the verdict register as well as the data registers. The verdict members are moved to a new struct nft_verdict to allow to pull struct nft_data out of the stack. * the next patches contain preparatory conversions of expressions and sets to use 32 bit addressing * the next patch introduces so far unused register conversion helpers for parsing and dumping register numbers over netlink * following is the real conversion to 32 bit addressing, consisting of replacing struct nft_data in struct nft_regs by an array of u32s and actually translating and validating the new register numbers. * the final two patches add support for variable sized data items and variable sized keys / data in set elements The patches have been verified to work correctly with nft binaries using both old and new addressing. ==================== Patrick McHardy says: ==================== netfilter: nf_tables: dynamic stateful expression instantiation The following patches are the grand finale of my nf_tables set work, using all the building blocks put in place by the previous patches to support something like iptables hashlimit, but a lot more powerful. Sets are extended to allow attaching expressions to set elements. The dynset expression dynamically instantiates these expressions based on a template when creating new set elements and evaluates them for all new or updated set members. In combination with concatenations this effectively creates state tables for arbitrary combinations of keys, using the existing expression types to maintain that state. Regular set GC takes care of purging expired states. We currently support two different stateful expressions, counter and limit. Using limit as a template we can express the functionality of hashlimit, but completely unrestricted in the combination of keys. Using counter we can perform accounting for arbitrary flows. The following examples from patch 5/5 show some possibilities. Userspace syntax is still WIP, especially the listing of state tables will most likely be seperated from normal set listings and use a more structured format: 1. Limit the rate of new SSH connections per host, similar to iptables hashlimit: flow ip saddr timeout 60s \ limit 10/second \ accept 2. Account network traffic between each set of /24 networks: flow ip saddr & 255.255.255.0 . ip daddr & 255.255.255.0 \ counter 3. Account traffic to each host per user: flow skuid . ip daddr \ counter 4. Account traffic for each combination of source address and TCP flags: flow ip saddr . tcp flags \ counter The resulting set content after a Xmas-scan look like this: { 192.168.122.1 . fin | psh | urg : counter packets 1001 bytes 40040, 192.168.122.1 . ack : counter packets 74 bytes 3848, 192.168.122.1 . psh | ack : counter packets 35 bytes 3144 } In the future the "expressions attached to elements" will be extended to also support user created non-stateful expressions to allow to efficiently select beween a set of parameter sets, f.i. a set of log statements with different prefixes based on the interface, which currently require one rule each. This will most likely have to wait until the next kernel version though. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7731cc8a1593510cdd5acf97a70a41a2ebe9571 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:11 2015 -0700 fm10k: update xcast mode before synchronizing multicast addresses When the PF receives a request to update a multicast address for the VF, it checks the enabled multicast mode first. Fix a bug where the VF tried to set a multicast address before requesting the required xcast mode. This ensures the multicast addresses are honored as long as the xcast mode was allowed. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 54b3c9cfad6bf0488a031171805c52346f4efa3d Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:09 2015 -0700 fm10k: start service timer on probe Since the service task handles varying work that doesn't all require the interface to be up, launch the service timer immediately. This ensures that we continually check the mailbox, as well as handle other tasks while the device is down. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 41857562530c1da9cd73b018996b9522676cb6a2 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:08 2015 -0700 fm10k: fix function header comment The header comment included a miscopy of a C-code line, and also mis-used Rx FIFO when it clearly meant Tx FIFO Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ada2411d4fce4c55cfe04cdd9ed3dc2c5fe6523a Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:07 2015 -0700 fm10k: comment next_vf_mbx flow Add a header comment explaining why we have the somewhat crazy mailbox flow. This flow is necessary as it prevents the PF<->SM mailbox from being flooded by the VF messages, which normally trigger a message to the PF. This helps prevent the case where we see a PF mailbox timeout. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9de15bda37bd9b86378afd82e6fc52e82dc89ac3 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 10 17:20:17 2015 -0700 fm10k: don't handle mailbox events in iov_event path and always process mailbox Since we already schedule the service task, we can just wait for this task to handle the mailbox events from the VF. This reduces some complex code flow, and makes it so we have a single path for handling the VF messages. There is a possibility that we have a slight delay in handling VF messages, but it should be minimal. The result of tx_complete and !rx_ready is insufficient to determine whether we need to process the mailbox. There is a possible race condition whereby the VF fills up the mbmem for us, but we have already recently processed the mailboxes in the interrupt. During this time, the interrupt is disabled. Thus, our Rx FIFO is empty, but the mbmem now has data in it. Since we continually check whether Rx FIFO is empty, we then never call process. This results in the possibility to prevent PF from handling the VF mailbox messages. Instead, just call process every time, despite the fact that we may or may not have anything to process for the VF. There should be minimal overhead for doing this, and it resolves an issue where the VF never comes up due to never getting response for its SET_LPORT_STATE message. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b382bb1b3e2d498ee7ce8976afa7737d407a4f11 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:05 2015 -0700 fm10k: use separate workqueue for fm10k driver Since we run the watchdog periodically, which might take a while and potentially monopolize the system default workqueue, create our own separate work queue. This also helps reduce and stabilize latency between scheduling the work in our interrupt and actually performing the work. Still use a timer for the regular scheduled interval but queue the work onto its own work queue. It seemed overkill to create a single workqueue per interface, so we just spawn a single work queue for all interfaces upon driver load. For this reason, use a multi-threaded workqueue with one thread per processor, rather than single threaded queue. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ded8b20d5f236f5850f000b4da5f3b4bfa00262d Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:04 2015 -0700 fm10k: Set PF queues to unlimited bandwidth during virtualization When returning virtualization queues from the VF back to the PF, do not retain the VF rate limiter. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Todd Russell <todd.a.russell@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e05546ec05d854b540d9f39b32f40c3bda34f6cc Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:03 2015 -0700 fm10k: expose tx_timeout_count as an ethtool stat Named it tx_hang_count to differentiate it from tx_hwtstamp_timeout. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 10df06fa2ad10a685c51c6652288ed531a414a3e Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:02 2015 -0700 fm10k: only increment tx_timeout_count in Tx hang path We were incrementing the tx_timeout_count for both the Tx hang and then for all reset flows. Instead, we should only increment tx_timeout_count in the Tx hang path, so that our Tx hang counter does not increment when it was not caused by a Tx hang. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5deaf50bfba5f3ffb42bd655faa5b18822452b3b Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:01 2015 -0700 fm10k: remove extraneous "Reset interface" message Since we already print this message when a reset is requested via the RESET_REQUESTED flag, we do not need to print it before setting the flag. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fbdb159f7d662b32111b489a50ce59a1f5d4a817 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:00 2015 -0700 fm10k: separate PF only stats so that VF does not display them This patch resolves an issue with ethtool stats displaying useless values on the VF, because some stats simply have no meaning to the VF. Resolve this by splitting these out into PF_STATS and only showing them if we aren't the VF. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c0e61781a8cb1c5d1b092a4d9776dbefe799444e Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:59 2015 -0700 fm10k: use hw->mac.max_queues for stats Even though it shouldn't strictly matter, don't count queue stats higher than the max_queues value stored for this mac. This ensures that we don't attempt to check queues which don't belong to use in VFs. This shouldn't be a visible change, as the VFs should see zero for queues which don't belong to them. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 29a928ee633a9166e5637609ce4c735856b23fbe Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:58 2015 -0700 fm10k: only show actual queues, not the maximum in hardware Currently, we show statistics for all 128 queues, even though we don't necessarily have that many queues available especially in the VF case. Instead, use the hw->mac.max_queues value, which tells us how many queues we actually have, rather than the space for the rings we allocated. In this way, we prevent dumping statistics that are useless on the VF. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 661b2067910fdecb9a7053f7b5279a0ff61b0bf7 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 10 16:48:19 2015 -0700 fm10k: allow creation of VLAN on default vid Previously, the user was not allowed to create a VLAN interface on top of the switch default vid. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ca2ec32658db160745990496f0f4580056a5dc9f Merge: 6c8a53c9 fdc81f4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:31:03 2015 -0700 Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs update from Al Viro: "Part one: - struct filename-related cleanups - saner iov_iter_init() replacements (and switching the syscalls to use of those) - ntfs switch to ->write_iter() (Anton) - aio cleanups and splitting iocb into common and async parts (Christoph) - assorted fixes (me, bfields, Andrew Elble) There's a lot more, including the completion of switchover to ->{read,write}_iter(), d_inode/d_backing_inode annotations, f_flags race fixes, etc, but that goes after #for-davem merge. David has pulled it, and once it's in I'll send the next vfs pull request" * 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (35 commits) sg_start_req(): use import_iovec() sg_start_req(): make sure that there's not too many elements in iovec blk_rq_map_user(): use import_single_range() sg_io(): use import_iovec() process_vm_access: switch to {compat_,}import_iovec() switch keyctl_instantiate_key_common() to iov_iter switch {compat_,}do_readv_writev() to {compat_,}import_iovec() aio_setup_vectored_rw(): switch to {compat_,}import_iovec() vmsplice_to_user(): switch to import_iovec() kill aio_setup_single_vector() aio: simplify arguments of aio_setup_..._rw() aio: lift iov_iter_init() into aio_setup_..._rw() lift iov_iter into {compat_,}do_readv_writev() NFS: fix BUG() crash in notify_change() with patch to chown_common() dcache: return -ESTALE not -EBUSY on distributed fs race NTFS: Version 2.1.32 - Update file write from aio_write to write_iter. VFS: Add iov_iter_fault_in_multipages_readable() drop bogus check in file_open_root() switch security_inode_getattr() to struct path * constify tomoyo_realpath_from_path() ... commit de445199161530636cd7ab9c85ba2eb6d15c380b Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:56 2015 -0700 fm10k: fix unused warnings The were several functions which had parameters which were never or sometimes used in functions. To resolve possible compiler warnings, use __always_unused or __maybe_unused kernel macros to resolve. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8b4a98c7fa0344c08c34657e2bd2cc2293a67238 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 10 19:14:31 2015 -0700 fm10k: Add netconsole support This change adds a function called "fm10k_netpoll" that's used to define "ndo_poll_controller" in "fm10k_netdev_ops". This is required to enable support for "netconsole" in fm10k. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Ngai-Mint Kwan <ngai-mint.kwan@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4c16ceae8daa13c99ca1b7b46d372678f5024a6f Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:54 2015 -0700 fm10k: Have the VF get the default VLAN during init Currently, the VFs do not read the default VLAN during initialization, so they will not be able to indicate untagged frames properly. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a4bcea83d1f124f8964cfae85a68b2c984187607 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:53 2015 -0700 fm10k: Correct spelling mistake Corrected a spelling mistake that was found over time. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Ngai-Mint Kwan <ngai-mint.kwan@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 97c71e3ccf70291249a564566a63e23dcaa9eee7 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:52 2015 -0700 fm10k: Remove redundant rx_errors in ethtool Output of ethtool was reporting 2 rx_errors entries. This change removes one of the redundant entries. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> commit f4e25f6e368492198d49ac6b2e05a25866fe3e8e Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:51 2015 -0700 fm10k: Corrected an error in Tx statistics The function collecting Tx statistics was actually using values from the RX ring. Thus, Tx and Rx statistics values reported by "ifconfig" will return identical values. This change corrects this error and the Tx statistics is now reading from the Tx ring. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> commit 6c8a53c9e6a151fffb07f8b4c34bd1e33dddd467 Merge: e95e7f6 066450b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 14:37:47 2015 -0700 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf changes from Ingo Molnar: "Core kernel changes: - One of the more interesting features in this cycle is the ability to attach eBPF programs (user-defined, sandboxed bytecode executed by the kernel) to kprobes. This allows user-defined instrumentation on a live kernel image that can never crash, hang or interfere with the kernel negatively. (Right now it's limited to root-only, but in the future we might allow unprivileged use as well.) (Alexei Starovoitov) - Another non-trivial feature is per event clockid support: this allows, amongst other things, the selection of different clock sources for event timestamps traced via perf. This feature is sought by people who'd like to merge perf generated events with external events that were measured with different clocks: - cluster wide profiling - for system wide tracing with user-space events, - JIT profiling events etc. Matching perf tooling support is added as well, available via the -k, --clockid <clockid> parameter to perf record et al. (Peter Zijlstra) Hardware enablement kernel changes: - x86 Intel Processor Trace (PT) support: which is a hardware tracer on steroids, available on Broadwell CPUs. The hardware trace stream is directly output into the user-space ring-buffer, using the 'AUX' data format extension that was added to the perf core to support hardware constraints such as the necessity to have the tracing buffer physically contiguous. This patch-set was developed for two years and this is the result. A simple way to make use of this is to use BTS tracing, the PT driver emulates BTS output - available via the 'intel_bts' PMU. More explicit PT specific tooling support is in the works as well - will probably be ready by 4.2. (Alexander Shishkin, Peter Zijlstra) - x86 Intel Cache QoS Monitoring (CQM) support: this is a hardware feature of Intel Xeon CPUs that allows the measurement and allocation/partitioning of caches to individual workloads. These kernel changes expose the measurement side as a new PMU driver, which exposes various QoS related PMU events. (The partitioning change is work in progress and is planned to be merged as a cgroup extension.) (Matt Fleming, Peter Zijlstra; CPU feature detection by Peter P Waskiewicz Jr) - x86 Intel Haswell LBR call stack support: this is a new Haswell feature that allows the hardware recording of call chains, plus tooling support. To activate this feature you have to enable it via the new 'lbr' call-graph recording option: perf record --call-graph lbr perf report or: perf top --call-graph lbr This hardware feature is a lot faster than stack walk or dwarf based unwinding, but has some limitations: - It reuses the current LBR facility, so LBR call stack and branch record can not be enabled at the same time. - It is only available for user-space callchains. (Yan, Zheng) - x86 Intel Broadwell CPU support and various event constraints and event table fixes for earlier models. (Andi Kleen) - x86 Intel HT CPUs event scheduling workarounds. This is a complex CPU bug affecting the SNB,IVB,HSW families that results in counter value corruption. The mitigation code is automatically enabled and is transparent. (Maria Dimakopoulou, Stephane Eranian) The perf tooling side had a ton of changes in this cycle as well, so I'm only able to list the user visible changes here, in addition to the tooling changes outlined above: User visible changes affecting all tools: - Improve support of compressed kernel modules (Jiri Olsa) - Save DSO loading errno to better report errors (Arnaldo Carvalho de Melo) - Bash completion for subcommands (Yunlong Song) - Add 'I' event modifier for perf_event_attr.exclude_idle bit (Jiri Olsa) - Support missing -f to override perf.data file ownership. (Yunlong Song) - Show the first event with an invalid filter (David Ahern, Arnaldo Carvalho de Melo) User visible changes in individual tools: 'perf data': New tool for converting perf.data to other formats, initially for the CTF (Common Trace Format) from LTTng (Jiri Olsa, Sebastian Siewior) 'perf diff': Add --kallsyms option (David Ahern) 'perf list': Allow listing events with 'tracepoint' prefix (Yunlong Song) Sort the output of the command (Yunlong Song) 'perf kmem': Respect -i option (Jiri Olsa) Print big numbers using thousands' group (Namhyung Kim) Allow -v option (Namhyung Kim) Fix alignment of slab result table (Namhyung Kim) 'perf probe': Support multiple probes on different binaries on the same command line (Masami Hiramatsu) Support unnamed union/structure members data collection. (Masami Hiramatsu) Check kprobes blacklist when adding new events. (Masami Hiramatsu) 'perf record': Teach 'perf record' about perf_event_attr.clockid (Peter Zijlstra) Support recording running/enabled time (Andi Kleen) 'perf sched': Improve the performance of 'perf sched replay' on high CPU core count machines (Yunlong Song) 'perf report' and 'perf top': Allow annotating entries in callchains in the hists browser (Arnaldo Carvalho de Melo) Indicate which callchain entries are annotated in the TUI hists browser (Arnaldo Carvalho de Melo) Add pid/tid filtering to 'report' and 'script' commands (David Ahern) Consider PERF_RECORD_ events with cpumode == 0 in 'perf top', removing one cause of long term memory usage buildup, i.e. not processing PERF_RECORD_EXIT events (Arnaldo Carvalho de Melo) 'perf stat': Report unsupported events properly (Suzuki K. Poulose) Output running time and run/enabled ratio in CSV mode (Andi Kleen) 'perf trace': Handle legacy syscalls tracepoints (David Ahern, Arnaldo Carvalho de Melo) Only insert blank duration bracket when tracing syscalls (Arnaldo Carvalho de Melo) Filter out the trace pid when no threads are specified (Arnaldo Carvalho de Melo) Dump stack on segfaults (Arnaldo Carvalho de Melo) No need to explicitely enable evsels for workload started from perf, let it be enabled via perf_event_attr.enable_on_exec, removing some events that take place in the 'perf trace' before a workload is really started by it. (Arnaldo Carvalho de Melo) Allow mixing with tracepoints and suppressing plain syscalls. (Arnaldo Carvalho de Melo) There's also been a ton of infrastructure work done, such as the split-out of perf's build system into tools/build/ and other changes - see the shortlog and changelog for details" * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (358 commits) perf/x86/intel/pt: Clean up the control flow in pt_pmu_hw_init() perf evlist: Fix type for references to data_head/tail perf probe: Check the orphaned -x option perf probe: Support multiple probes on different binaries perf buildid-list: Fix segfault when show DSOs with hits perf tools: Fix cross-endian analysis perf tools: Fix error path to do closedir() when synthesizing threads perf tools: Fix synthesizing fork_event.ppid for non-main thread perf tools: Add 'I' event modifier for exclude_idle bit perf report: Don't call map__kmap if map is NULL. perf tests: Fix attr tests perf probe: Fix ARM 32 building error perf tools: Merge all perf_event_attr print functions perf record: Add clockid parameter perf sched replay: Use replay_repeat to calculate the runavg of cpu usage instead of the default value 10 perf sched replay: Support using -f to override perf.data file ownership perf sched replay: Fix the EMFILE error caused by the limitation of the maximum open files perf sched replay: Handle the dead halt of sem_wait when create_tasks() fails for any task perf sched replay: Fix the segmentation fault problem caused by pr_err in threads perf sched replay: Realloc the memory of pid_to_task stepwise to adapt to the different pid_max configurations ... commit 2afebafdbdabd666f6ed3989bb5be21bd94b57bd Author: Oliver Neukum <oneukum@xxxxxxx> Date: Tue Apr 14 14:24:09 2015 -0700 Input: ff-core - use new debug macros Replace old pr_* with dev_* debugging macros Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8b8be51b4fd365ac5983e117be9d28f427a07b68 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Tue Apr 14 10:06:38 2015 -0700 Input: add vmmouse driver VMMouse enables low-latency mouse-cursor-movements for VMWare and QEMU guests. By removing the guest cursor and using the host as a guest cursor the cursor movement appears instant although in reality there is some lag. To be able to do this, the host's view of the cursor position must exactly match the guest's view and an absolute pointer device is needed. Enter the VMMouse. While the VMMouse driver has historically been an Xorg user-space driver, implementing it as a kernel imput driver enables rootless Xorg and new compositing display servers for VMware guests. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4b2f8838479eb2abe042e094f7d2cced6d5ea772 Merge: c848791 9fd85eb Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Apr 14 22:28:32 2015 +0100 Merge branch 'devel-stable' into for-next commit c848791f0336914a3081ea3fe029cf177d81de81 Merge: 79403cd e5b61de 6c5c2a0 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Apr 14 22:28:25 2015 +0100 Merge branches 'misc', 'vdso' and 'fixes' into for-next Conflicts: arch/arm/mm/proc-macros.S commit 79403cda37204b06b9f96351a35251ff7d88de4b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Apr 13 16:14:37 2015 +0100 ARM: update errata 430973 documentation to cover Cortex A8 r1p* This errata covers all r1 variants of Cortex A8, it's not limited to just r1p0..r1p2. Update the documentation to reflect this. The code already applies the workaround to all r1p* A8 CPUs. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 57ca654bef6c43bbbccfb2d231fd245d3f67dd46 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Apr 13 10:36:04 2015 +0100 ARM: ensure delay timer has sufficient accuracy for delays We have recently had an example of someone wanting to use a 90kHz timer for the software delay loop. udelay() needs to have at least microsecond resolution to allow drivers access to a delay mechanism with a reasonable chance of delaying the period they requested within at least a 50% marging of error, especially for small delays. Discussion about the udelay() accuracy can be found at: https://lkml.org/lkml/2011/1/9/37 Reject timers which are unable to supply this level of resolution. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 37463be8658ae5fba153f4029ca3ec3f8a64fd51 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:43:51 2015 +0000 ARM: switch to use the generic show_mem() implementation Switch ARM to use the generic show_mem() implementation, which displays the statistics from the mm zone rather than walking the page arrays. Acked-by: Mel Gorman <mgorman <mgorman@xxxxxxx> Tested-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a6d746789825e4d7229523eebee233b03ad48c54 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Apr 7 15:35:24 2015 +0100 ARM: proc-v7: avoid errata 430973 workaround for non-Cortex A8 CPUs Avoid the errata 430973 workaround for non-Cortex A8 CPUs. Having this workaround enabled introduces an additional branch target buffer flush into the context switching path, something we wish to avoid. To allow this errata to be enabled in multiplatform kernels while reducing its impact, rearrange the Cortex-A8 CPU support to avoid impacting on other Version 7 CPUs. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e5a5de4447471ab1a01585f075400c2be36e2cb6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Apr 2 23:58:55 2015 +0100 ARM: enable ARM errata 643719 workaround by default The effects of not having ARM errata 643719 enabled on affected CPUs can be very confusing and hard to debug. Rather than leave this to chance, enable this workaround by default. Now that we have rearranged the code, it should have a low impact on the majority of CPUs. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit aaf4b5d92ce8299a363f1c0d7dc00aafde532e56 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:32:34 2015 +0100 ARM: cache-v7: optimise test for Cortex A9 r0pX devices Eliminate one unnecessary instruction from this test by pre-shifting the Cortex A9 ID - we can shift the actual ID in the teq instruction thereby losing the pX bit of the ID at no cost. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d3cd451dfb579367b4c5968256b3d8342dd0b0e8 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:25:39 2015 +0100 ARM: cache-v7: optimise branches in v7_flush_cache_louis Optimise the branches such that for the majority of unaffected devices, we avoid needing to execute the errata work-around code path by branching to start_flush_levels early. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit cd8b24d9e852b53e68c69a086358c81423dfb8d1 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:21:42 2015 +0100 ARM: cache-v7: consolidate initialisation of cache level index Both v7_flush_cache_louis and v7_flush_dcache_all both begin the flush_levels loop with r10 initialised to zero. In each case, this is done immediately prior to entering the loop. Branch to this instruction in v7_flush_dcache_all from v7_flush_cache_louis and eliminate the unnecessary initialisation in v7_flush_cache_louis. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 47b8484ea6569511a3cd915bea29886b4cd08333 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:15:53 2015 +0100 ARM: cache-v7: shift CLIDR to extract appropriate field before masking Rather than have code which masks and then shifts, such as: mrc p15, 1, r0, c0, c0, 1 ALT_SMP(ands r3, r0, #7 << 21) ALT_UP( ands r3, r0, #7 << 27) ALT_SMP(mov r3, r3, lsr #20) ALT_UP( mov r3, r3, lsr #26) re-arrange this as a shift and then mask. The masking is the same for each field which we want to extract, so this allows the mask to be shared amongst code paths: mrc p15, 1, r0, c0, c0, 1 ALT_SMP(mov r3, r0, lsr #20) ALT_UP( mov r3, r0, lsr #26) ands r3, r3, #7 << 1 Use this method for the LoUIS, LoUU and LoC fields. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 5aca370826a2487aaaae5db31f6bb0b906e9755f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:10:46 2015 +0100 ARM: cache-v7: use movw/movt instructions We always build cache-v7.S for ARMv7, so we can use the ARMv7 16-bit move instructions to load large constants, rather than using constants in a literal pool. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 89c6bc5884e52ec004f03071f268ba3f27003aba Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Apr 9 12:59:35 2015 +0100 ARM: allow 16-bit instructions in ALT_UP() Allow ALT_UP() to cope with a 16-bit Thumb instruction by automatically inserting a following nop instruction. This allows us to care less about getting the assembler to emit a 32-bit thumb instruction. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e95e7f627062be5e6ce971ce873e6234c91ffc50 Merge: 078838d 1524b74 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 13:58:48 2015 -0700 Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull NOHZ changes from Ingo Molnar: "This tree adds full dynticks support to KVM guests (support the disabling of the timer tick on the guest). The main missing piece was the recognition of guest execution as RCU extended quiescent state and related changes" * 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest context_tracking: Export context_tracking_user_enter/exit context_tracking: Run vtime_user_enter/exit only when state == CONTEXT_USER context_tracking: Add stub context_tracking_is_enabled context_tracking: Generalize context tracking APIs to support user and guest context_tracking: Rename context symbols to prepare for transition state ppc: Remove unused cpp symbols in kvm headers commit 078838d56574694d0a4815d9c1b7f28e8844638b Merge: eeee78c 590ee7d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 13:36:04 2015 -0700 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RCU changes from Ingo Molnar: "The main changes in this cycle were: - changes permitting use of call_rcu() and friends very early in boot, for example, before rcu_init() is invoked. - add in-kernel API to enable and disable expediting of normal RCU grace periods. - improve RCU's handling of (hotplug-) outgoing CPUs. - NO_HZ_FULL_SYSIDLE fixes. - tiny-RCU updates to make it more tiny. - documentation updates. - miscellaneous fixes" * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (58 commits) cpu: Provide smpboot_thread_init() on !CONFIG_SMP kernels as well cpu: Defer smpboot kthread unparking until CPU known to scheduler rcu: Associate quiescent-state reports with grace period rcu: Yet another fix for preemption and CPU hotplug rcu: Add diagnostics to grace-period cleanup rcutorture: Default to grace-period-initialization delays rcu: Handle outgoing CPUs on exit from idle loop cpu: Make CPU-offline idle-loop transition point more precise rcu: Eliminate ->onoff_mutex from rcu_node structure rcu: Process offlining and onlining only at grace-period start rcu: Move rcu_report_unblock_qs_rnp() to common code rcu: Rework preemptible expedited bitmask handling rcu: Remove event tracing from rcu_cpu_notify(), used by offline CPUs rcutorture: Enable slow grace-period initializations rcu: Provide diagnostic option to slow down grace-period initialization rcu: Detect stalls caused by failure to propagate up rcu_node tree rcu: Eliminate empty HOTPLUG_CPU ifdef rcu: Simplify sync_rcu_preempt_exp_init() rcu: Put all orphan-callback-related code under same comment rcu: Consolidate offline-CPU callback initialization ... commit 8844d0f1cb921f70ca09f6b54feeba0b90db072c Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Apr 13 21:24:48 2015 -0700 spi: bcm2835: Add GPIOLIB dependency Fix: drivers/spi/spi-bcm2835.c: In function 'chip_match_name': drivers/spi/spi-bcm2835.c:356:21: error: dereferencing pointer to incomplete type drivers/spi/spi-bcm2835.c: In function 'bcm2835_spi_setup': drivers/spi/spi-bcm2835.c:382:2: error: ` implicit declaration of function 'gpiochip_find' drivers/spi/spi-bcm2835.c:387:21: error: dereferencing pointer to incomplete type by adding the now mandatory GPIOLIB dependency. Fixes: a30a555d7435 ("spi: bcm2835: transform native-cs to gpio-cs on first spi_setup") Cc: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 87ffabb1f055e14e7d171c6599539a154d647904 Merge: 5e0e0dc b50edd7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 14 15:44:14 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net The dwmac-socfpga.c conflict was a case of a bug fix overlapping changes in net-next to handle an error pointer differently. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bfd9a53e0110442eeef670227907bdd14def94e1 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Sat Apr 11 13:17:31 2015 +0900 target/rd: Don't pass incomplete scatterlist entries to sbc_dif_verify_* The scatterlist for protection information which is passed to sbc_dif_verify_read() or sbc_dif_verify_write() requires that neighboring scatterlist entries are contiguous or chained so that they can be iterated by sg_next(). However, the protection information for RD-MCP backends could be located in the multiple scatterlist arrays when the ramdisk space is too large. So if the read/write request straddles this boundary, sbc_dif_verify_read() or sbc_dif_verify_write() can't iterate all scatterlist entries. This problem can be fixed by chaining protection information scatterlist at creation time. For the architectures which don't support sg chaining (i.e. !CONFIG_ARCH_HAS_SG_CHAIN), fix it by allocating temporary scatterlist if needed. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: target-devel@xxxxxxxxxxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 054922bb3549abbea9ed2c1a78a1e331343cc05e Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Apr 10 14:49:44 2015 +0200 target: Remove the unused flag SCF_ACK_KREF The flag SCF_ACK_KREF is only set but never tested. Hence remove this flag. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cb0df4d30105416ef1b4f9845c4ba96569dce587 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Apr 10 14:49:02 2015 +0200 target: Fix two sparse warnings Avoid that sparse complains about context imbalances. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c8e639852ad720499912acedfd6b072325fd2807 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Apr 7 21:53:27 2015 +0000 target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling This patch fixes a bug for COMPARE_AND_WRITE handling with fabrics using SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC. It adds the missing allocation for cmd->t_bidi_data_sg within transport_generic_new_cmd() that is used by COMPARE_AND_WRITE for the initial READ payload, even if the fabric is already providing a pre-allocated buffer for cmd->t_data_sg. Also, fix zero-length COMPARE_AND_WRITE handling within the compare_and_write_callback() and target_complete_ok_work() to queue the response, skipping the initial READ. This fixes COMPARE_AND_WRITE emulation with loopback, vhost, and xen-backend fabric drivers using SG_TO_MEM_NOALLOC. Reported-by: Christoph Hellwig <hch@xxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.12+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9ac8928e6a3e1ed02e632e45aa766129fe6b1802 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Apr 8 20:01:35 2015 +0200 target: simplify the target template registration API Instead of calling target_fabric_configfs_init() + target_fabric_configfs_register() / target_fabric_configfs_deregister() target_fabric_configfs_free() from every target driver, rewrite the API so that we have simple register/unregister functions that operate on a const operations vector. This patch also fixes a memory leak in several target drivers. Several target drivers namely called target_fabric_configfs_deregister() without calling target_fabric_configfs_free(). A large part of this patch is based on earlier changes from Bart Van Assche <bart.vanassche@xxxxxxxxxxx>. (v2: Add a new TF_CIT_SETUP_DRV macro so that the core configfs code can declare attributes as either core only or for drivers) Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 5e0e0dc10a8be16239eae24ab775de60821eee2d Merge: 29ba877 c3c7b12 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 14 15:08:52 2015 -0400 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== cxgb4: Misc. fixes for sge Increases value of MAX_IMM_TX_PKT_LEN to improve latency, fill freelist starving threshold based on adapter type, add comments for tx flits and sge length code and don't call t4_slow_intr_handler when we are not master PF. This patch series has been created against net-next tree and includes patches on cxgb4 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 c3c7b1217f557f9585f3805803d2126c2d385592 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 15 02:02:34 2015 +0530 cxgb4: Don't call t4_slow_intr_handler when we're not the Master PF Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0aac3f56d4a63f049268fec78ead525a9227fead Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 15 02:02:33 2015 +0530 cxgb4: Add comment for calculate tx flits and sge length code Add comment for tx filt and sge length calucaltion code, also remove a hardcoded value Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d52ce9203746254e010dc7f0f3c260d5a5f4b640 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 15 02:02:32 2015 +0530 cxgb4: Use device node in page allocation Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c098b026f075ea34f70d669a84c71cc55fdeb37c Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 15 02:02:31 2015 +0530 cxgb4: Freelist starving threshold varies from adapter to adapter fl_starv_thres could be different from adapter to adapter, don't use hardcoded values Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21dcfad6401b008e7352eb95104c7f199f025ac9 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 15 02:02:30 2015 +0530 cxgb4: Increased the value of MAX_IMM_TX_PKT_LEN from 128 to 256 bytes This allows a significant latency drop for packets of sizes between 128 and 192 bytes Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29ba877e7c8092a4dd3cbef80cca4e857129ca55 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:08:02 2015 +0200 bgmac: drop ring->num_slots The ring size is always known at compile time, so make the code a bit more efficient Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4668ae1fbcab89af5ffbb161d4c70b25ce4c50f4 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:08:01 2015 +0200 bgmac: fix DMA rx corruption The driver needs to inform the hardware about the first invalid (not yet filled) rx slot, by writing its DMA descriptor pointer offset to the BGMAC_DMA_RX_INDEX register. This register was set to a value exceeding the rx ring size, effectively allowing the hardware constant access to the full ring, regardless of which slots are initialized. To fix this issue, always mark the last filled rx slot as invalid. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74b6f29163490d88ff53f7c54d0e4514bbf1630b Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:08:00 2015 +0200 bgmac: simplify dma init/cleanup Instead of allocating buffers at device init time and initializing descriptors at device open, do both at the same time (during open). Free all buffers when closing the device. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Acked-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9650557f3d58924e3be040df0ff7a3dae19ad83 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:59 2015 +0200 bgmac: increase rx ring size from 511 to 512 Limiting it to 511 looks like a failed attempt at leaving one descriptor empty to allow the hardware to stop processing a buffer that has not been prepared yet. However, this doesn't work because this affects the total ring size as well Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a6c708469c9e10fd87adcc3abff164270538d62 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:58 2015 +0200 bgmac: add check for oversized packets In very rare cases, the MAC can catch an internal buffer that is bigger than it's supposed to be. Instead of crashing the kernel, simply pass the buffer back to the hardware Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56faacd04509f0a60ed646473a930fe584f1cb02 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:57 2015 +0200 bgmac: simplify/optimize rx DMA error handling Allocate a new buffer before processing the completed one. If allocation fails, reuse the old buffer. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Acked-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b62dce450e2447146ff6924a1ce8ad1a6592107 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:56 2015 +0200 bgmac: set received skb headroom to NET_SKB_PAD A packet buffer offset of 30 bytes is inefficient, because the first 2 bytes end up in a different cacheline. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb64e2923a886441c7b322f138b36029f3fa6a36 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:55 2015 +0200 bgmac: leave interrupts disabled as long as there is work to do Always poll rx and tx during NAPI poll instead of relying on the status of the first interrupt. This prevents bgmac_poll from leaving unfinished work around until the next IRQ. In my tests this makes bridging/routing throughput under heavy load more stable and ensures that no new IRQs arrive as long as bgmac_poll uses up the entire budget. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b38c83dd08665a93e439c4ffd9eef31bc098a6ea Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:54 2015 +0200 bgmac: simplify tx ring index handling Keep incrementing ring->start and ring->end instead of pointing it to the actual ring slot entry. This simplifies the calculation of the number of free slots. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Acked-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e07678341b612bbf98c2bf205c3f26f3ef5f8e93 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Apr 14 15:28:44 2015 +1000 toshiba: Remove celleb from Kconfig options The toshiba drivers had celleb as an optional dependency. celleb has been dropped [1], so clean that out of Kconfig. [1] http://patchwork.ozlabs.org/patch/451730/ CC: netdev@xxxxxxxxxxxxxxx CC: Valentin Rothberg <valentinrothberg@xxxxxxxxx> CC: mpe@xxxxxxxxxxxxxx CC: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa0a34be68290aa9aa071c0691fb8b6edda38358 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Apr 13 16:34:35 2015 -0700 hv_netvsc: Implement partial copy into send buffer If remaining space in a send buffer slot is too small for the whole message, we only copy the RNDIS header and PPI data into send buffer, so we can batch one more packet each time. It reduces the vmbus per-message overhead. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eeee78cf77df0450ca285a7cd6d73842181e825c Merge: 3f3c73de 9828413 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 10:49:03 2015 -0700 Merge tag 'trace-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing updates from Steven Rostedt: "Some clean ups and small fixes, but the biggest change is the addition of the TRACE_DEFINE_ENUM() macro that can be used by tracepoints. Tracepoints have helper functions for the TP_printk() called __print_symbolic() and __print_flags() that lets a numeric number be displayed as a a human comprehensible text. What is placed in the TP_printk() is also shown in the tracepoint format file such that user space tools like perf and trace-cmd can parse the binary data and express the values too. Unfortunately, the way the TRACE_EVENT() macro works, anything placed in the TP_printk() will be shown pretty much exactly as is. The problem arises when enums are used. That's because unlike macros, enums will not be changed into their values by the C pre-processor. Thus, the enum string is exported to the format file, and this makes it useless for user space tools. The TRACE_DEFINE_ENUM() solves this by converting the enum strings in the TP_printk() format into their number, and that is what is shown to user space. For example, the tracepoint tlb_flush currently has this in its format file: __print_symbolic(REC->reason, { TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" }, { TLB_REMOTE_SHOOTDOWN, "remote shootdown" }, { TLB_LOCAL_SHOOTDOWN, "local shootdown" }, { TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" }) After adding: TRACE_DEFINE_ENUM(TLB_FLUSH_ON_TASK_SWITCH); TRACE_DEFINE_ENUM(TLB_REMOTE_SHOOTDOWN); TRACE_DEFINE_ENUM(TLB_LOCAL_SHOOTDOWN); TRACE_DEFINE_ENUM(TLB_LOCAL_MM_SHOOTDOWN); Its format file will contain this: __print_symbolic(REC->reason, { 0, "flush on task switch" }, { 1, "remote shootdown" }, { 2, "local shootdown" }, { 3, "local mm shootdown" })" * tag 'trace-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (27 commits) tracing: Add enum_map file to show enums that have been mapped writeback: Export enums used by tracepoint to user space v4l: Export enums used by tracepoints to user space SUNRPC: Export enums in tracepoints to user space mm: tracing: Export enums in tracepoints to user space irq/tracing: Export enums in tracepoints to user space f2fs: Export the enums in the tracepoints to userspace net/9p/tracing: Export enums in tracepoints to userspace x86/tlb/trace: Export enums in used by tlb_flush tracepoint tracing/samples: Update the trace-event-sample.h with TRACE_DEFINE_ENUM() tracing: Allow for modules to convert their enums to values tracing: Add TRACE_DEFINE_ENUM() macro to map enums to their values tracing: Update trace-event-sample with TRACE_SYSTEM_VAR documentation tracing: Give system name a pointer brcmsmac: Move each system tracepoints to their own header iwlwifi: Move each system tracepoints to their own header mac80211: Move message tracepoints to their own header tracing: Add TRACE_SYSTEM_VAR to xhci-hcd tracing: Add TRACE_SYSTEM_VAR to kvm-s390 tracing: Add TRACE_SYSTEM_VAR to intel-sst ... commit 3f3c73de77b5598e9f87812ac4da9445090c3b4a Merge: 9497d738 eae4735 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 10:22:29 2015 -0700 Merge tag 'trace-4.1-tracefs' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracefs from Steven Rostedt: "This adds the new tracefs file system. This has been in linux-next for more than one release, as I had it ready for the 4.0 merge window, but a last minute thing that needed to go into Linux first had to be done. That was that perf hard coded the file system number when reading /sys/kernel/debugfs/tracing directory making sure that the path had the debugfs mount # before it would parse the tracing file. This broke other use cases of perf, and the check is removed. Now when mounting /sys/kernel/debug, tracefs is automatically mounted in /sys/kernel/debug/tracing such that old tools will still see that path as expected. But now system admins can mount tracefs directly and not need to mount debugfs, which can expose security issues. A new directory is created when tracefs is configured such that system admins can now mount it separately (/sys/kernel/tracing)" * tag 'trace-4.1-tracefs' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Have mkdir and rmdir be part of tracefs tracefs: Add directory /sys/kernel/tracing tracing: Automatically mount tracefs on debugfs/tracing tracing: Convert the tracing facility over to use tracefs tracefs: Add new tracefs file system tracing: Create cmdline tracer options on tracing fs init tracing: Only create tracer options files if directory exists debugfs: Provide a file creation function that also takes an initial size commit b9bced0eecd77067f4659b90d5ab2fb32485c3e2 Author: duson <dusonlin@xxxxxxxxxx> Date: Sun Apr 12 16:01:05 2015 -0700 Input: elan_i2c - adjust for newer firmware pressure reporting Get pressure format flag from firmware to check if we need to normalize pressure data before reporting it. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9497d7380b9c450830190c75aa43b25c278bb1f9 Merge: d0bbe0d 09675bd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 10:15:34 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching Pull livepatching updates from Jiri Kosina: "These are mostly smaller things that got accumulated during the development cycle. The unified solution is still being worked on and is not mature enough for 4.1 yet. - s390 livepatching support, from Jiri Slaby (has Ack from s390 maintainers) - error handling simplification, from Josh Poimboeuf - two minor code cleanups from Josh Poimboeuf and Miroslav Benes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching: livepatch: add support on s390 livepatch: remove unnecessary call to klp_find_object_module() livepatch: simplify disable error path livepatch: remove extern specifier from header files commit 5df07b74f671d1dfc1d81c3e791c335183cfc515 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Apr 14 15:23:25 2015 +1000 Remove celleb-only SCC PATA drivers The SCC PATA interface is only used by celleb. celleb has been dropped [1], so drop the drivers. [1] http://patchwork.ozlabs.org/patch/451730/ CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: linux-ide@xxxxxxxxxxxxxxx CC: Valentin Rothberg <valentinrothberg@xxxxxxxxx> CC: mpe@xxxxxxxxxxxxxx CC: linuxppc-dev@xxxxxxxxxxxxxxx Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d0bbe0dd353af9521e9d8bc5236308c677b6f62a Merge: 8de29a3 0e4f93e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 09:50:27 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull trivial tree from Jiri Kosina: "Usual trivial tree updates. Nothing outstanding -- mostly printk() and comment fixes and unused identifier removals" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: goldfish: goldfish_tty_probe() is not using 'i' any more powerpc: Fix comment in smu.h qla2xxx: Fix printks in ql_log message lib: correct link to the original source for div64_u64 si2168, tda10071, m88ds3103: Fix firmware wording usb: storage: Fix printk in isd200_log_config() qla2xxx: Fix printk in qla25xx_setup_mode init/main: fix reset_device comment ipwireless: missing assignment goldfish: remove unreachable line of code coredump: Fix do_coredump() comment stacktrace.h: remove duplicate declaration task_struct smpboot.h: Remove unused function prototype treewide: Fix typo in printk messages treewide: Fix typo in printk messages mod_devicetable: fix comment for match_flags commit 8de29a35dc840a05e451ad035bcb06e21ccf605f Merge: 31f7dc7 2e455c2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 08:25:26 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid Pull HID updates from Jiri Kosina: - quite a few firmware fixes for RMI driver by Andrew Duggan - huion and uclogic drivers have been substantially overlaping in functionality laterly. This redundancy is fixed by hid-huion driver being merged into hid-uclogic; work done by Benjamin Tissoires and Nikolai Kondrashov - i2c-hid now supports ACPI GPIO interrupts; patch from Mika Westerberg - Some of the quirks, that got separated into individual drivers, have historically had EXPERT dependency. As HID subsystem matured (as well as the individual drivers), this made less and less sense. This dependency is now being removed by patch from Jean Delvare - Logitech lg4ff driver received a couple of improvements for mode switching, by Michal Malý - multitouch driver now supports clickpads, patches by Benjamin Tissoires and Seth Forshee - hid-sensor framework received a substantial update; namely support for Custom and Generic pages is being added; work done by Srinivas Pandruvada - wacom driver received substantial update; it now supports i2c-conntected devices (Mika Westerberg), Bamboo PADs are now properly supported (Benjamin Tissoires), much improved battery reporting (Jason Gerecke) and pen proximity cleanups (Ping Cheng) - small assorted fixes and device ID additions * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (68 commits) HID: sensor: Update document for custom sensor HID: sensor: Custom and Generic sensor support HID: debug: fix error handling in hid_debug_events_read() Input - mt: Fix input_mt_get_slot_by_key HID: logitech-hidpp: fix error return code HID: wacom: Add support for Cintiq 13HD Touch HID: logitech-hidpp: add a module parameter to keep firmware gestures HID: usbhid: yet another mouse with ALWAYS_POLL HID: usbhid: more mice with ALWAYS_POLL HID: wacom: set stylus_in_proximity before checking touch_down HID: wacom: use wacom_wac_finger_count_touches to set touch_down HID: wacom: remove hardcoded WACOM_QUIRK_MULTI_INPUT HID: pidff: effect can't be NULL HID: add quirk for PIXART OEM mouse used by HP HID: add HP OEM mouse to quirk ALWAYS_POLL HID: wacom: ask for a in-prox report when it was missed HID: hid-sensor-hub: Fix sparse warning HID: hid-sensor-hub: fix attribute read for logical usage id HID: plantronics: fix Kconfig default HID: pidff: support more than one concurrent effect ... commit bea15428b9d6bc36e87288f168ab314619a66757 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 13 15:40:02 2015 +0200 KVM: x86: cleanup kvm_irq_delivery_to_apic_fast Sparse is reporting a "we previously assumed 'src' could be null" error. This is true as far as the static analyzer can see, but in practice only IPIs can set shorthand to self and they also set 'src', so it's ok. Still, move the initialization of x2apic_ipi (and thus the NULL check for src right before the first use. While at it, initializing ret to "false" is somewhat confusing because of the almost immediate assigned of "true" to the same variable. Thus, initialize it to "true" and modify it in the only path that used to use the value from "bool ret = false". There is no change in generated code from this change. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9e9c3fe40bcd28e3f98f0ad8408435f4503f2781 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Sun Apr 12 21:47:15 2015 +0300 KVM: x86: Fix MSR_IA32_BNDCFGS in msrs_to_save kvm_init_msr_list is currently called before hardware_setup. As a result, vmx_mpx_supported always returns false when kvm_init_msr_list checks whether to save MSR_IA32_BNDCFGS. Move kvm_init_msr_list after vmx_hardware_setup is called to fix this issue. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1428864435-4732-1-git-send-email-namit@xxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.15+ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 31f7dc796998d2967e999a0f9229d8a50c7b348d Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Tue Apr 14 22:24:13 2015 +0900 ACPI / battery: Fix doubly added battery on system suspend Commit 297d716f6260 ("power_supply: Change ownership from driver to core") inverted the logic in battery_notify(). As an effect already present battery was re-added on each system suspend or hibernation. WARNING: CPU: 0 PID: 303 at ../fs/sysfs/dir.c:31 sysfs_warn_dup+0x68/0x80() sysfs: cannot create duplicate filename '/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/PNP0C0A:00/power_supply/BAT0' CPU: 0 PID: 303 Comm: rtcwake Not tainted 4.0.0-ARCH-02621-g07e6253af953 #48 Call Trace: sysfs_create_dir_ns+0x8d/0xa0 kobject_add_internal+0xb6/0x370 kobject_add+0x6f/0xd0 device_add+0x120/0x6c0 __power_supply_register+0x145/0x290 power_supply_register_no_ws+0x10/0x20 sysfs_add_battery+0x84/0xc5 [battery] battery_notify+0x45/0x6b [battery] notifier_call_chain+0x4f/0x80 __blocking_notifier_call_chain+0x4b/0x70 blocking_notifier_call_chain+0x16/0x20 pm_notifier_call_chain+0x1a/0x40 pm_suspend+0x3ed/0x4e0 Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-By: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 85a3685852d9ac7d92be9d824533c915a4597fa4 Merge: 92bac83 8b8a518 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 14 08:51:33 2015 -0700 Merge branch 'next' into for-linus Prepare first round of input updates for 4.1 merge window. commit 37ef01ab5d24d1d520dc79f6a98099d451c2a901 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Apr 1 13:43:46 2015 +0200 drm/i915: Dont enable CS_PARSER_ERROR interrupts at all We stopped handling them in commit aaecdf611a05cac26a94713bad25297e60225c29 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Nov 4 15:52:22 2014 +0100 drm/i915: Stop gathering error states for CS error interrupts but just clearing is apparently not enough: A sufficiently dead gpu left behind by firmware (*cough* coreboot *cough*) can keep the gpu in an endless loop of such interrupts, eventually leading to the nmi firing. And definitely to what looks like a machine hang. Since we don't even enable these interrupts on gen5+ let's do the same on earlier platforms. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=93171 Tested-by: Mono <mono-for-kernel-org@xxxxxxxxxxxxxxxx> Tested-by: info@xxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit e0d6149b3debce1a7e17dfda7c2829935917dc58 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Apr 13 16:03:03 2015 +0100 drm/i915: Move drm_framebuffer_unreference out of struct_mutex for takeover intel_user_framebuffer_destroy() requires the struct_mutex for its object bookkeeping, so this means that all calls to drm_framebuffer_unreference must be held without that lock. This is a simplified version of the identically named patch by Chris Wilson. Regression from commit ab8d66752a9c28cd6c94fa173feacdfc1554aa03 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Feb 2 15:44:15 2015 +0000 drm/i915: Track old framebuffer instead of object v2: Bikeshedding. References: https://bugs.freedesktop.org/show_bug.cgi?id=89166 Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 2b5083e51088253b1b3e126934c9200d8a3493ab Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:51:29 2015 +0800 ACPICA: Update version to 20150410. ACPICA commit 06198cfd96ef271f554a50f1830a5975468c39ac ACPICA commit 8a3c1df1edb5f9fc5c940500c598c0107d30df71 Version 20150410. Link: https://github.com/acpica/acpica/commit/06198cfd Link: https://github.com/acpica/acpica/commit/8a3c1df1 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 cef9aaa764dafc7d9a1504dc70d3b4ea49aef87a Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:51:23 2015 +0800 ACPICA: Fix a couple issues with the local printf module. ACPICA commit 6853da4c0a99b49d62d6c58d22956cd6ff5759a9 The following commit has fixed local printf issue in width.prec: Commit: 3589b8b8af6bdc3aafe520d76a73b77d965006b6 Subject: ACPICA: Utilities: Fix local printf issue. But this commit only resets width/precision/quialifier to fix the reported issue and doesn't fix other states issues. So now we still can see breakage in format types and integer bases. This patch resets format type/base states for local printf to fix this issue. Lv Zheng. Linux kernel is not affected by this patch as acpi_ut_vsnprintf() hasn't been enabled in the kernel. Link: https://github.com/acpica/acpica/commit/6853da4c Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a50edd4b72b4add7ad3b6e082deffafc88dd09e4 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:51:16 2015 +0800 ACPICA: Disassembler: Some cleanup of the table dump module. ACPICA commit 330e3b7ec96fbd2e0677b786c09d86be36dd5673 Cleanup of LPIT table output (Dean Nelson) Split some long lines. Link: https://github.com/acpica/acpica/commit/330e3b7e 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 5132f2faa50454faf9e9b2dcbdbff389f4014e57 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:51:08 2015 +0800 ACPICA: iASL: Add support for MSDM ACPI table. ACPICA commit a2c590ce9bff850e3abf4fd430cede860a3cb1fa This is the Microsoft Data Management table. MSDM table is not used in the Linux kernel. Link: https://github.com/acpica/acpica/commit/a2c590ce 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 64645c3fb0a70daa9d798c79e7411ae583374aa2 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:51:02 2015 +0800 ACPICA: Update for SLIC ACPI table. ACPICA commit c73195e13d6ad53dd7f03f86cea03c7dec72ffd3 Update to latest table definition, which contains major changes. SLIC table is not used in the Linux kernel. Link: https://github.com/acpica/acpica/commit/c73195e1 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 d5a6f6b48f5c2685ed48efc450330b1176845bb9 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:56 2015 +0800 ACPICA: Add "//" before ascii output of buffers. ACPICA commit 657dc227672709895df3192fa5ea59a649b9a76f Updates the dump buffer utility to comment out the ASCII part of buffer dump. Prevents some tools from getting confused. Link: https://github.com/acpica/acpica/commit/657dc227 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 539451711bd4c8f3dc9c236c85fa37701cc1bb66 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:49 2015 +0800 ACPICA: Remove unused internal AML opcode. ACPICA commit 3ec867764b079a98d8097d705c9f7b68270c04ec This patch removes unused AML_INT_STATICSTRING_OP. Lv Zheng. Link: https://github.com/acpica/acpica/commit/3ec86776 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 b1ef2972586577e0ca9675254ee141f65a8824e5 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:43 2015 +0800 ACPICA: Permanently set _REV to the value '2'. ACPICA commit 7af00219681ab35ebe57d64a9189fd04a5a026d8 Windows uses a value of 2, and has no plans to ever change this. So, _REV is essentially useless for its primary purpose. Worse, some BIOS vendors have used the difference in _REV values between Windows and ACPICA to indicate which one is running. It has been decided by the ACPI community to deprecate this method, and return 1 for ACPI 1.0 (32-bit integers) and 2 for ACPI 2.0 and greater (both 32-bit and 64-bit integers. ACPICA is changed to reflect this. Link: https://github.com/acpica/acpica/commit/7af00219 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 796888e942b34cbbd738d9e5478b7d103ee38061 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:37 2015 +0800 ACPICA: Add "Windows 2015" string to _OSI support. ACPICA commit b293f602a67da478ae0bec129e68bd99787d9908 This change adds this string for Windows 10. Link: https://github.com/acpica/acpica/commit/b293f602 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 56a3d5e755e889d1543cb90a3ebaed513cadb727 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:32 2015 +0800 ACPICA: Add infrastructure for External() opcode. ACPICA commit d115fe2ffdab449d6107d58580c5afd0a81d65fe This change adds the basic low-level infrastructure for the External AML opcode. The interpreter will simply ignore this op, as the op is intended for use by the disassembler only. Note that External() opcode is useful for disassembler, interpreter can simply ignore it and still return exceptions for unknown control methods so the kernel part only includes the grammar definition of External() opcode in order to ignore it but doesn't interpret it. Link: https://github.com/acpica/acpica/commit/d115fe2f 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 2e7cc46a0f30bc3b749e371ab0afd29b774ae898 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:26 2015 +0800 ACPICA: iASL: Enhancement for constant folding. ACPICA commit 4f9e950d41cd6f6c704d5d6cf518647620d65e99 Add support to fold expressions with a target operand -- these are folded and converted to a Store operator: Add (4, 3, INT1) --> Store (7, INT1) Also supports ASL+ constructs: INT1 = 4 + 3 --> Store (7, INT1) Linux kernel is not affected by this patch. Link: https://github.com/acpica/acpica/commit/4f9e950d 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 8b0b1a9976c04b85c382590c59b305d763a9a5e6 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:21 2015 +0800 ACPICA: iASL/Disassembler: Add option to assume table contains valid AML. ACPICA commit f5d2ff3fa05341d9fe27250fcb2e14c7f871432c For dynamically loaded tables that have unknown ACPI signatures, this option (-df) forces the disassembler to treat the table as if it contains valid AML code (like a DSDT or SSDT). Otherwise, the disassembler will treat the table as an unkown data table and simply do a hex dump of the table. Linux kernel is not affected by this patch. Link: https://github.com/acpica/acpica/commit/f5d2ff3f 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 0a381133127af4434301b3d9fb545005f38ad98c Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:14 2015 +0800 ACPICA: Update AML Debugger global variables. ACPICA commit f65d0e5b880860a6da0c336b7c48139d1469f5b4 - Remove unused variables - Update to use standard naming/capitalization convention. Linux kernel is not affected by this patch. Link: https://github.com/acpica/acpica/commit/f65d0e5b 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 39239fedbfb5493d5804d6cefb806fd208a006c5 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:08 2015 +0800 ACPICA: Update Resource descriptor dump module. ACPICA commit 184f3cc4d162a6b6b2005eacd8be2fe55f19a245 - Change global #ifdef to check for ACPI_DEBUGGER only. - Cleanup some long lines and misaligned code. Link: https://github.com/acpica/acpica/commit/184f3cc4 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 81ed793d303aec4f4e3755637a3ae5e99db8808e Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:01 2015 +0800 ACPICA: Fix a sscanf format string. ACPICA commit 84f3569db7accc576ace2dae81d101467254fe9d Was using %d instead of properly using %u. This patch only affects acpidump tool. Link: https://github.com/acpica/acpica/commit/84f3569d 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 938ed1029a866eebdf39bc742a402f2ccd8b8b57 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:49:54 2015 +0800 ACPICA: Casting changes around acpi_physical_address/acpi_size. ACPICA commit 46dc081e570b1363af1e368980201cbb65c4100f Update for some recent changes, detected by MSVC and FreeBSD builds. Link: https://github.com/acpica/acpica/commit/46dc081e 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 27c481f37f915cfb7dbaf0025075a1358e45c889 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:49:47 2015 +0800 ACPICA: Resources: Correct conditional compilation definitions. ACPICA commit f92a08512b0b35dce4a7fc6a73216674a3c2541b Some conditional compilation definitions are wrong across header and source files. This patch corrects them for the resources component. NOTE that a further patch in this patchset cleans up all ACPI_EXEC_APP, converting them into ACPI_DEBUGGER, including part of this change. Link: https://github.com/acpica/acpica/commit/f92a0851 Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6306bf886222f382d59bbb8b72bf6996cbba1f6e Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:49:39 2015 +0800 ACPICA: Utilities: Correct conditional compilation definitions. ACPICA commit 9a5982afbebc56289c4834b5f6dac87e0f04af14 Some conditional compilation definitions are wrong across header and source files. This patch corrects them for the utilities component. Link: https://github.com/acpica/acpica/commit/9a5982af Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 76cffa79bd7f139a8f16d4e7969bf7891fe6f901 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:49:30 2015 +0800 ACPICA: Tables: Move an iasl specific table function to iasl source file. ACPICA commit 6eb364d790dd103bd4990f808e0095a421c437cb acpi_tb_store_table() implements a logic that is only correct to iasl. So it won't be used by any other utilities except iasl. This function is complained by the kernel users as an unused function. The best choice to stop releasing it to the Linux kernel should be moving it to adisasm.c. ACPI table manager can use both struct acpi_table_desc (direct referencing) and table index (indirect referencing) as the descriptor to the table, so acpi_tb_get_next_root_index() is extended to return both of them to allow maximum usability from the callers. NOTE that indirect referencing is a design result to meet the boot stage static allocation requirement for the table descriptors. This is a linuxized acpi_tb_store_table() removing result, there should be no functional changes introduced to the Linux kernel by this patch except the additonal kernel unused argument for acpi_tb_get_next_root_index() (renamed to acpi_tb_get_next_root_index()). This argument is used in the ACPICA upstream. Link: https://github.com/acpica/acpica/commit/6eb364d7 Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9bd4ce36dcbc8e3b2218e84cdfd1dff6d5671f3c Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 11:49:24 2015 +0800 ACPICA: Utilities: Remove unused acpi_ut_create_pkg_state_and_push(). ACPICA commit 2a9ebd974aee41391f4b0edcd4f0cc5ee23ec2f8 Remove the function acpi_ut_create_pkg_state_and_push() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Link: https://github.com/acpica/acpica/commit/2a9ebd97 Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> 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 1797d379f20901ee51711d737b65cc77e22c13e2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 11:49:18 2015 +0800 ACPICA: Applications: Remove use of __DATE__ macro. ACPICA commit 3d9fb6d1f216a78ad098d3ad23f1304376c2f4ef The macro __DATE__ and friends is not allowed in the Linux kernel. Also, including the build time in output doesn't seem to provide any value. Link: https://github.com/acpica/acpica/commit/3d9fb6d1 Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> 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 09af8e8290deaff821ced01ea83594ee4c21e8df Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:49:13 2015 +0800 ACPICA: Events: Add support to return both enable/status register values for GPE and fixed event. ACPICA commit e25d791e4b3d5b9f4ead298269610cb05f89749a There is a facility in Linux, developers can obtain GPE and fixed event status via /sys/firmware/interrupts/. This is implemented using acpi_get_event_status() and acpi_get_gpe_status(). Recently while debugging some GPE race issues, it is found that the facility is lacking in the ability to obtain real hardware register values, the confusing information makes debugging difficult. This patch modifies acpi_get_gpe_status() to return EN register values to fix this gap. Then flags returned from acpi_get_event_status() and acpi_get_gpe_status() are also cleaned up to reflect this change. The old ACPI_EVENT_FLAG_SET is carefully kept to avoid regressions. It can be deleted after we can make sure all its references are removed from OSPM code. Lv Zheng. Link: https://github.com/acpica/acpica/commit/e25d791e Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 77ddc2fe08329e375505bc36a3df3233fe57317b Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Mon Apr 13 11:49:05 2015 +0800 ACPICA: Tables: Don't release ACPI_MTX_TABLES in acpi_tb_install_standard_table(). ACPICA commit c70434d4da13e65b6163c79a5aa16b40193631c7 ACPI_MTX_TABLES is acquired and released by the callers of acpi_tb_install_standard_table() so releasing it in the function itself is causing the following error in Linux kernel if the table is reloaded: ACPI Error: Mutex [0x2] is not acquired, cannot release (20141107/utmutex-321) Call Trace: [<ffffffff81b0bd48>] dump_stack+0x4f/0x7b [<ffffffff81546bf5>] acpi_ut_release_mutex+0x47/0x67 [<ffffffff81544357>] acpi_load_table+0x73/0xcb Link: https://github.com/acpica/acpica/commit/c70434d4 Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Cc: 3.16+ <stable@xxxxxxxxxxxxxxx> # 3.16+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2b8760100e1de69b6ff004c986328a82947db4ad Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:58 2015 +0800 ACPICA: Utilities: split IO address types from data type models. ACPICA commit aacf863cfffd46338e268b7415f7435cae93b451 It is reported that on a physically 64-bit addressed machine, 32-bit kernel can trigger crashes in accessing the memory regions that are beyond the 32-bit boundary. The region field's start address should still be 32-bit compliant, but after a calculation (adding some offsets), it may exceed the 32-bit boundary. This case is rare and buggy, but there are real BIOSes leaked with such issues (see References below). This patch fixes this gap by always defining IO addresses as 64-bit, and allows OSPMs to optimize it for a real 32-bit machine to reduce the size of the internal objects. Internal acpi_physical_address usages in the structures that can be fixed by this change include: 1. struct acpi_object_region: acpi_physical_address address; 2. struct acpi_address_range: acpi_physical_address start_address; acpi_physical_address end_address; 3. struct acpi_mem_space_context; acpi_physical_address address; 4. struct acpi_table_desc acpi_physical_address address; See known issues 1 for other usages. Note that acpi_io_address which is used for ACPI_PROCESSOR may also suffer from same problem, so this patch changes it accordingly. For iasl, it will enforce acpi_physical_address as 32-bit to generate 32-bit OSPM compatible tables on 32-bit platforms, we need to define ACPI_32BIT_PHYSICAL_ADDRESS for it in acenv.h. Known issues: 1. Cleanup of mapped virtual address In struct acpi_mem_space_context, acpi_physical_address is used as a virtual address: acpi_physical_address mapped_physical_address; It is better to introduce acpi_virtual_address or use acpi_size instead. This patch doesn't make such a change. Because this should be done along with a change to acpi_os_map_memory()/acpi_os_unmap_memory(). There should be no functional problem to leave this unchanged except that only this structure is enlarged unexpectedly. Link: https://github.com/acpica/acpica/commit/aacf863c Reference: https://bugzilla.kernel.org/show_bug.cgi?id=87971 Reference: https://bugzilla.kernel.org/show_bug.cgi?id=79501 Reported-and-tested-by: Paul Menzel <paulepanter@xxxxxxxxxxxxxxxxxxxxx> Reported-and-tested-by: Sial Nije <sialnije@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Cc: All applicable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1d0a0b2f6df2bf2643fadc990eb143361eca6ada Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:52 2015 +0800 ACPICA: Utilities: Cleanup to remove useless ACPI_PRINTF/FORMAT_xxx helpers. ACPICA commit b60612373a4ef63b64a57c124576d7ddb6d8efb6 For physical addresses, since the address may exceed 32-bit address range after calculation, we should use 0x%8.8X%8.8X instead of ACPI_PRINTF_UINT and ACPI_FORMAT_UINT64() instead of ACPI_FORMAT_NATIVE_UINT()/ACPI_FORMAT_TO_UINT(). This patch also removes above replaced macros as there are no users. This is a preparation to switch acpi_physical_address to 64-bit on 32-bit kernel builds. Link: https://github.com/acpica/acpica/commit/b6061237 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cc2080b0e5a7c6c33ef5e9ffccbc2b8f6f861393 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:46 2015 +0800 ACPICA: Utilities: Cleanup to convert physical address printing formats. ACPICA commit 7f06739db43a85083a70371c14141008f20b2198 For physical addresses, since the address may exceed 32-bit address range after calculation, we should use %8.8X%8.8X (see ACPI_FORMAT_UINT64()) to convert the %p formats. This is a preparation to switch acpi_physical_address to 64-bit on 32-bit kernel builds. Link: https://github.com/acpica/acpica/commit/7f06739d Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6d3fd3cc33d50e4c0d0c0bd172de02caaec3127c Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:37 2015 +0800 ACPICA: Utilities: Cleanup to enforce ACPI_PHYSADDR_TO_PTR()/ACPI_PTR_TO_PHYSADDR(). ACPICA commit 154f6d074dd38d6ebc0467ad454454e6c5c9ecdf There are code pieces converting pointers using "(acpi_physical_address) x" or "ACPI_CAST_PTR (t, x)" formats, this patch cleans up them. Known issues: 1. Cleanup of "(ACPI_PHYSICAL_ADDRRESS) x" for a table field For the conversions around the table fields, it is better to fix it with alignment also fixed. So this patch doesn't modify such code. There should be no functional problem by leaving them unchanged. Link: https://github.com/acpica/acpica/commit/154f6d07 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ea2849255f13b63de90483ffa7781b8b65cc7765 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:31 2015 +0800 ACPICA: Executer: Cleanup to remove an unnecessary conversion. ACPICA commit c327986430b7eb170c17d0f45735fe71bb62a810 The conversion converts an acpi_physical_address to acpi_physical_address, this patch thus removes such useless conversion. Link: https://github.com/acpica/acpica/commit/c3279864 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e0423edff19a99ed12bedfe4f3605e94efa2c669 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:24 2015 +0800 ACPICA: Unix: Cleanup to use ACPI_TO_INTEGER() to calc page offset. ACPICA commit 9e2d8180f4d5e61949b17513bae8aff6412f62dd The offset calculation needn't convert a pointer to a special integer type. So this patch uses ACPI_TO_INTEGER() instead. This patch only affects acpidump tool. Link: https://github.com/acpica/acpica/commit/9e2d8180 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f254e3c57b9d952e987502aefa0804c177dd2503 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:18 2015 +0800 ACPICA: Tables: Change acpi_find_root_pointer() to use acpi_physical_address. ACPICA commit 7d9fd64397d7c38899d3dc497525f6e6b044e0e3 OSPMs like Linux expect an acpi_physical_address returning value from acpi_find_root_pointer(). This triggers warnings if sizeof (acpi_size) doesn't equal to sizeof (acpi_physical_address): drivers/acpi/osl.c:275:3: warning: passing argument 1 of 'acpi_find_root_pointer' from incompatible pointer type [enabled by default] In file included from include/acpi/acpi.h:64:0, from include/linux/acpi.h:36, from drivers/acpi/osl.c:41: include/acpi/acpixf.h:433:1: note: expected 'acpi_size *' but argument is of type 'acpi_physical_address *' This patch corrects acpi_find_root_pointer(). Link: https://github.com/acpica/acpica/commit/7d9fd643 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 18ae90214d385e9b992ead6653e6976b42097978 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:12 2015 +0800 ACPICA: Linuxize: Reduce divergences for 20150410 release. This patch reduces source code differences between the Linux kernel and the ACPICA upstream so that the linuxized ACPICA 20150410 release can be applied with reduced human intervention. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5b24e8cf618f03b4f1275c229d0a1d464648f9e2 Merge: 066450b f19e80c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Apr 14 14:10:56 2015 +0200 Merge tag 'perf-core-for-mingo-2' 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: New features: - Analyze page allocator events in 'perf kmem' (Namhyung Kim) User visible changes: - Fix retprobe 'perf probe' handling when failing to find needed debuginfo (He Kuang) - lazy_line probe fixes in 'perf probe' (Naohiro Aota, He Kuang) Infrastructure changes: - Record pfn instead of pointer to struct page in tracepoints (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 518b4e272d99dcb13699b229ea480bc845c141f6 Merge: 03aecbc ea85dbc 66776a6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Apr 14 12:53:59 2015 +0200 Merge branches 'powercap' and 'pm-devfreq' * powercap: powercap / RAPL: mark rapl_ids array as __initconst powercap / RAPL: add ID for Broadwell server * pm-devfreq: PM / devfreq: tegra: Register governor on module init PM / devfreq: tegra: Enable interrupts after resuming the devfreq monitor PM / devfreq: tegra: Set drvdata before enabling the irq PM / devfreq: tegra: remove operating-points PM / devfreq: tegra: Use clock rate constraints PM / devfreq: tegra: Update to v5 of the submitted patches PM / devfreq: correct misleading comment PM / devfreq: event: Add const keyword for devfreq_event_ops structure commit 03aecbcd71f2d9b9a3bf422a880a1596fd585880 Merge: 0fe0952 5f2e327 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Apr 14 12:53:36 2015 +0200 Merge branch 'acpi-scan' * acpi-scan: ACPI / scan: Fix NULL pointer dereference in acpi_companion_match() commit 2b1193d5287004edfbf89407149a3159656f47f1 Author: John Hunter <zhaojunwang@xxxxxxxxxx> Date: Tue Apr 14 17:07:22 2015 +0800 drm: fix trivial typo mistake Signed-off-by: John Hunter <zhjwpku@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ff7a2adac50873aaba71759779505693806adcc1 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Apr 14 10:16:47 2015 +1000 powerpc: Remove PPC32 code from pseries specific find_and_init_phbs() In bdc728a849a7 ("powerpc: move find_and_init_phbs() to pSeries specific code"), find_and_init_phbs() was moved into a pseries specific file, but PPC32 code wasn't removed. Remove it. See https://lkml.kernel.org/r/552C0AA6.4010403@xxxxxx Reported-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Fixes: bdc728a849a7 Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4acd09b4bfd4a653fcf02e422890d98764c0f1ff Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 14 16:49:06 2015 +1000 powerpc/cell: Fix iommu breakage caused by controller_ops change The recent patch to convert cell to use pci_controller_ops had a small bug which broke machines using an iommu. The set of phb->controller_ops was added after the check for name != "pci", meaning pcix/pcie PHBs weren't getting their ops set correctly. Fixes: 9c1368fc50e7 ("powerpc/cell: Move controller ops from ppc_md to controller_ops") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 89a51df5ab1d38b257300b8ac940bbac3bb0eb9b Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 14 16:49:05 2015 +1000 powerpc/eeh: Fix crash in eeh_add_device_early() on Cell The recent change to the EEH probing causes a crash on Cell because eeh_ops is NULL. Check if EEH is enabled and if not bail out. Fixes: ff57b454ddb9 ("powerpc/eeh: Do probe on pci_dn") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3968be946a057baa48c9b002166f0bfb85ac7b4b Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Apr 13 11:06:13 2015 -0700 drm: Make integer overflow checking cover universal cursor updates (v2) Our legacy SetPlane updates perform integer overflow checking on a plane's destination rectangle in drm_mode_setplane(), and atomic updates handled as part of a drm_atomic_state transaction do the same checking in drm_atomic_plane_check(). However legacy cursor updates that get routed through universal plane interfaces may bypass this overflow checking if the driver's .update_plane is serviced by the transitional plane helpers rather than the full atomic plane helpers. Move the check for destination rectangle integer overflow from the drm_mode_setplane() to __setplane_internal() so that it also covers cursor operations. This fixes an issue first noticed with i915 commit: commit ff42e093e9c9c17a6e1d6aab24875a36795f926e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Mar 2 16:35:20 2015 +0100 Revert "drm/i915: Switch planes from transitional helpers to full atomic helpers" The above revert switched us from full atomic helpers back to the transitional helpers, and in doing so we lost the overflow checking here for universal cursor updates. Even though such extreme cursor positions are unlikely to actually happen in the wild, we still don't want there to be a change of behavior when drivers switch from transitional helpers to full helpers. v2: Move check from setplane ioctl to setplane_internal rather than adding an additional copy of the checks to the transitional plane helpers. (Daniel) Cc: Daniel Vetter <daniel@xxxxxxxx> Testcase: igt/kms_cursor_crc Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84269 Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4195f40685a5f2783b4decece13ed740b61ee038 Author: Jan Vesely <jano.vesely@xxxxxxxxx> Date: Wed Apr 8 21:34:36 2015 -0400 drm/nouveau/bios: fix fetching from acpi on certain systems nvbios_extend() returns 1 to indicate "extended the array" and 0 to indicate the array is already big enough. This is used by the core shadowing code to prevent re-fetching chunks of the image that have already been shadowed. The ACPI fetching code may possibly need to extend this further due to requiring fetches to happen in 4KiB chunks. Under certain circumstances (that happen if the total image size is a multiple of 4KiB), the memory allocated to store the shadow will already be big enough, causing the ACPI code's nvbios_extend() call to return 0, which is misinterpreted as a failure. The fix is simple, accept >= 0 as a successful condition here. The core will have already made sure that we're not re-fetching data we already have. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89047 v2 (Ben Skeggs): - dropped hunk which would cause unnecessary re-fetching - more descriptive explanation Signed-off-by: Jan Vesely <jano.vesely@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 426b20e42eaefecdc703f9eff9f874f45e839dca Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 14 12:06:44 2015 +1000 drm/nouveau/gr/gm206: initial init+ctx code Uncertain whether the GPC pack change is due to a newer driver version, or a legitimate difference from GM204. My GM204 has broken vram, so can't currently try a newer binary driver on it to confirm. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 985826bccdcc381674a8b83c5d293b54f9a84551 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 14 11:45:29 2015 +1000 drm/nouveau/ce/gm206: enable support via gm204 code Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5dd7fb771a6b1f00bce8a7f48f7aa4da5da01237 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 14 11:45:10 2015 +1000 drm/nouveau/fifo/gm206: enable support via gm204 code Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3fed3ea9fd8561ee7a5e6887bc087a4fd97c8e91 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Mar 26 09:28:34 2015 +1000 drm/nouveau/gr/gm204: initial init+ctx code Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 990b4547042a947dce908b81f4f01c8780923c8d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 14 11:50:35 2015 +1000 drm/nouveau: support for buffer moves via MaxwellDmaCopyA Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b44881e453246d73bd419bd69e9ec67d923216f0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Mar 11 12:24:45 2015 +1000 drm/nouveau/ce/gm204: initial support Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a1020afe88146ece4c1ae77c59b201e030116142 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 14 11:47:24 2015 +1000 drm/nouveau: add support for gm20x fifo channels Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 89025bd458a572f15e30f59d1ac5acb599cb53bc Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Mar 11 12:21:15 2015 +1000 drm/nouveau/fifo/gm204: initial support Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 91c772ec129dc63038ee5642f441a03584474e1e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Apr 13 13:09:28 2015 +1000 drm/nouveau/gr/gk104-: prevent reading non-existent regs in intr handler Under certain circumstances the trapped address will contain subc 7, which GK104 GR doesn't have anymore. Notice this case to avoid causing additional priv ring faults. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ddec1a2b4c01b51134eca13fe6915d945745f1c9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Mar 26 15:44:04 2015 +1000 drm/nouveau/gr/gm107: very slightly demagic part of attrib cb setup No idea if "3" is a constant or derived from something else, but the value is unchanged in the limited traces of gm107/gm204 I have here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6eb70826215f3f3ac04b4749ac0de1ac06047e4f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Mar 26 13:26:20 2015 +1000 drm/nouveau/gr/gk104-: correct crop/zrop num_active_fbps setting Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3740c82590d87714b41b8b48bd3062178cbe0b17 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Mar 26 09:18:32 2015 +1000 drm/nouveau/gr/gf100-: add symbolic names for classes Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8fd4b7d438a1b9b1f639f377da9e98828bd7dacf Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Mar 10 09:20:07 2015 +1000 drm/nouveau/gr/gm107: support tpc "strand" ctxsw in gpccs ucode Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a19b3ed65170cb51b5a5286ecba3de41de3a71f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 7 18:54:40 2015 +1000 drm/nouveau/gr/gf100-: support mmio access with gpc offset from gpccs ucode Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7b03ac2ce0695a5c7e221829c5690ce1e8327d36 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Mar 23 13:49:43 2015 +1000 drm/nouveau/gr: fix engine name, cosmetic search+replace mistake Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7120908d12db5d2d1ba136ee014fee4e95513fc0 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Mar 20 19:41:06 2015 +0900 drm/nouveau/pmu/gk20a: add some missing statics Make static a few functions and structures that should be. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bbf2e92f914019324bb4351fcf0db9f41329a7c3 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Mar 20 19:41:05 2015 +0900 drm/nouveau/platform: fix probe error path A "return 0" found its way in the middle of the error path of nouveau_platform_probe(), remove it as it will make the kernel crash if we try to unload the module afterwards. While we are at it, also remove the IOMMU domain if it has been created, as we should. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 25eb3a924f8589b5ad80e5d50d743befca8a46de Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Mar 20 19:41:04 2015 +0900 drm/nouveau/platform: release IOMMU's mm upon exit nvkm_mm_fini() was not called when exiting the driver, resulting in a memory leak. Fix this. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ed22e684622533f903dfad9beb99d872536c3040 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Mar 20 15:38:23 2015 +1000 drm/nouveau/gr/gk104-gk20a: call pmu to disable any power-gating before ctor() On some of these chipsets, reading NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK can trigger a PRI fault and return an error code instead of a TPC mask, unless PGOB has been disabled first. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f02a0e849dbd16541a1e75ef8c8719bc5f611219 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Mar 20 15:28:52 2015 +1000 drm/nouveau/pmu/gk208: implement gr power-up magic with gk110_pmu_pgob() Before we moved gk110's implementation of this to pmu, the functions were identical. This commit just switches GK208 to use the new (more complete) implementation of the power-up sequence. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e1fc44fb9dbec4ff4e63c888d206a0bc4ca93f4f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Mar 20 15:20:17 2015 +1000 drm/nouveau/pmu/gk110: implement gr power-up magic like PGOB on earlier chips Turns out the PTHERM part of this dance is bracketed by the same PMU fiddling that occurs on GK104/6, let's assume it's also PGOB. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d9da545e101312f52706c8b05afbd8f1f875ff81 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Mar 12 20:43:23 2015 +0100 drm/nouveau/pbus/hwsq: Make code size u16 So we can actually use the full 512 byte code space Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3834b632b2e3f8586692e80b936c52b9dc987144 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Mar 12 20:43:22 2015 +0100 drm/nouveau/pbus/hwsq: Support strided register writes Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit df16896b866a056da3c275cf416f6f4cc47934bd Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Mar 10 15:46:08 2015 +0900 drm/nouveau/instmem/gk20a: fix crash during error path If a memory allocation fails when using the DMA allocator, gk20a_instobj_dtor_dma() will be called on the failed instmem object. At this time, node->handle might not be NULL despite the call to dma_alloc_attrs() having failed. node->cpuaddr is the right member to check for such a failure, so use it instead. Reported-by: Vince Hsu <vinceh@xxxxxxxxxx> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b03eaa4d3428ebbc5e32e3595be6027e7d99942b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Mar 10 09:13:45 2015 +1000 drm/nouveau/disp/gf110-: fix base channel update debug/error output Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 963e965033c002d2238dd3dbd6628109cc6d90de Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Mar 10 09:13:08 2015 +1000 drm/nouveau/disp/nv50-: fix push buffers in vram Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 824527551c6b5dec30e499ffc279f8f4a4711409 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Mar 4 10:17:08 2015 +1000 drm/nouveau: bump driver patchlevel for coherent flag Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 996f545fbb0dc9ed4a640b5ef098f51fe28cca5c Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Feb 26 12:44:51 2015 +0900 drm/nouveau/gem: allow user-space to specify an object should be coherent User-space use mappable BOs notably for fences, and expects that a value update by the GPU will be immediatly visible through the user-space mapping. ARM has a property that may prevent this from happening though: memory can be mapped multiple times only if the different mappings share the same caching properties. However all the lowmem memory is already identity-mapped into the kernel with cache enabled, so when user-space requests an uncached mapping, we actually get an "undefined caching policy" one and this has strange side-effects described on Freedesktop bug 86690. To prevent this from happening, allow user-space to explicitly specify which objects should be coherent, and create such objects with the TTM_PL_FLAG_UNCACHED flag. This will make TTM allocate memory using the DMA API, which will fix the identify mapping and allow us to safely map the objects to user-space uncached. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Lucas Stach <dev@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a7f6da6e758cd99fcae918b63549273893983189 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:23:04 2015 +0900 drm/nouveau/instmem/gk20a: add IOMMU support Let GK20A's instmem take advantage of the IOMMU if it is present. Having an IOMMU means that instmem is no longer allocated using the DMA API, but instead obtained through page_alloc and made contiguous to the GPU by IOMMU mappings. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 58fd9375c2c5344e8ab6ef9971635bc59cd39658 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:23:03 2015 +0900 drm/nouveau/platform: probe IOMMU if present Tegra SoCs have an IOMMU that can be used to present non-contiguous physical memory as contiguous to the GPU and maximize the use of large pages in the GPU MMU, leading to performance gains. This patch adds support for probing such a IOMMU if present and make its properties available in the nouveau_platform_gpu structure so subsystems can take advantage of it. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5dc240bcfe9a8d30b151be58b174261ba388cb01 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:23:02 2015 +0900 drm/nouveau/instmem/gk20a: use DMA attributes instmem for GK20A is allocated using dma_alloc_coherent(), which provides us with a coherent CPU mapping that we never use because instmem objects are accessed through PRAMIN. Switch to dma_alloc_attrs() which gives us the option to dismiss that CPU mapping and free up some CPU virtual space. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 14520876751e1022704b58ce08e0dadc8c736656 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:23:01 2015 +0900 drm/nouveau/gk20a: remove RAM device Now that Nouveau can operate even when there is no RAM device, remove the dummy one used by GK20A. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a6ff85d386368da8180828e5948ec38b39f4a226 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:23:00 2015 +0900 drm/nouveau/instmem/gk20a: move memory allocation to instmem GK20A does not have dedicated RAM, thus having a RAM device for it does not make sense. Move the contiguous physical memory allocation to instmem. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit eaecf0326f096faaba462eae48a3b30bcb1f7009 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:22:59 2015 +0900 make RAM device optional Having a RAM device does not make sense for chips like GK20A which have no dedicated video memory. The dummy RAM device that we used so far works as a temporary band-aid, but in the longer term it is desirable for the driver to be able to work without any kind of VRAM. This patch adds a few conditionals in places where a RAM device was assumed to be present and allows some more objects to be allocated from the TT domain, allowing Nouveau to handle GPUs for which pfb->ram == NULL. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c6a7b026a3a80662d8f7bb6b4f7821329aa7111b Author: Lauri Peltonen <lpeltonen@xxxxxxxxxx> Date: Thu Feb 26 13:16:48 2015 +0900 drm/nouveau/gr/gf100: Clear notify interrupt Notify interrupt is only used for cyclestats. We can just clear it and avoid an "unknown stat" error that gets printed to dmesg otherwise. Signed-off-by: Lauri Peltonen <lpeltonen@xxxxxxxxxx> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3d951c38006bd007e1b9a6f681691141ed600ea0 Author: Lauri Peltonen <lpeltonen@xxxxxxxxxx> Date: Tue Feb 17 15:55:42 2015 +0900 drm/nouveau/graph/nvc0: Fix engine pointer retrieval Other methods in this file suggest this is the correct way to retrieve the engine pointer. Signed-off-by: Lauri Peltonen <lpeltonen@xxxxxxxxxx> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 30489c230ac9f27e16a17a51b34a556952d4929b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Sat Jan 31 17:13:40 2015 +1000 drm/nouveau/devinit/nv04: change owner to int We use -1 to mean "not read from hw yet" Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5dfe7a01796073659a6e6a0830cf942404970539 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Jan 30 11:27:49 2015 +0300 drm/nouveau/mxm: indent an if statement This if statement is correct but it wasn't indented, so it looked like some code was missing. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3e5ede1defe26ab03f42a0a8c0ad1fa1727f930d Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Jan 25 21:35:44 2015 +0200 drm/nouveau/fuse/gm107: simplify the return logic Spotted by coccinelle: drivers/gpu/drm/nouveau/core/subdev/fuse/gm107.c:50:5-8: WARNING: end returns can be simpified Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Reviewed-by: Tobias Klausmann <tobias.johannes.klausmann@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9a5cbce421a283e6aea3c4007f141735bf9da8c3 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Apr 14 07:51:03 2015 +1000 powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH We cap 32bit userspace backtraces to PERF_MAX_STACK_DEPTH (currently 127), but we forgot to do the same for 64bit backtraces. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d6eb9e3ec78c98324097bab8eea266c3bb0d0ac7 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Tue Apr 14 11:25:36 2015 +0800 ALSA: hda - set GET bit when adding a vendor verb to the codec regmap Some HD-A codecs may add their own vendor 'set' verb to the regmap, thru func snd_hdac_add_vendor_verb(). This patch sets the GET bit (bit 11) when adding the verb so that its peer vendor 'get' verb is actually added. This can avoid I/O error when writing the 'set' verb thru remap, since HD-A regmap internally looks up a writable vendor verb with GET bit set at first. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2ba9268dd603d23e17643437b2246acb6844953b Merge: 7ead5b7 e0bf6c5 Author: Chris Zankel <chris@xxxxxxxxxx> Date: Tue Apr 14 04:47:53 2015 +0000 Merge tag 'xtensa-for-next-20150413' of git://github.com/jcmvbkbc/linux-xtensa into for_next Xtensa improvements for 4.1: - fix locking issues in ISS network driver; - document PIC and MX interrupt distributor device tree bindings; - add CY7C67300 USB controller support to XTFPGA. Signed-off-by: Chris Zankel <chris@xxxxxxxxxx> commit 7ead5b7e4a3cf4a16579a8f164022345b93fe972 Merge: 834a316 39a8804 Author: Chris Zankel <chris@xxxxxxxxxx> Date: Tue Apr 14 03:51:35 2015 +0000 Merge tag 'v4.0' into for_next Linux 4.0 commit 7debc970ae7a5573ed43a1dfa242fd1a5390d21a Author: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:48:37 2015 +0800 powerpc/perf/hv-24x7: Fail 24x7 initcall if create_events_from_catalog() fails As Michael pointed out, create_events_from_catalog() fails when we either have: - a kernel bug - some sort of hypervisor misconfiguration - ENOMEM In all the above cases, we can also fail 24x7 initcall. For hypervisor errors, EIO is used so there is something reported in dmesg. Signed-off-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b79013b2449c23f1f505bdf39c5a6c330338b244 Merge: c4be50e c610f7f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 17:37:33 2015 -0700 Merge tag 'staging-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver updates from Greg KH: "Here's the big staging driver patchset for 4.1-rc1. There's a lot of patches here, the Outreachy application period happened during this development cycle, so that means that there was a lot of cleanup patches accepted. Other than the normal coding style and sparse fixes here, there are some driver updates and work toward making some of the drivers into "mergable" shape (like the Unisys drivers.) All of these have been in linux-next for a while" * tag 'staging-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1214 commits) staging: lustre: orthography & coding style staging: lustre: lnet: lnet: fix error return code staging: lustre: fix sparse warning Revert "Staging: sm750fb: Fix C99 Comments" Staging: rtl8192u: use correct array for debug output staging: rtl8192e: Remove dead code staging: rtl8192e: Comment cleanup (style/format) staging: rtl8192e: Fix indentation in rtllib_rx_auth_resp() staging: rtl8192e: Decrease nesting of rtllib_rx_auth_resp() staging: rtl8192e: Divide rtllib_rx_auth() staging: rtl8192e: Fix PRINTK_WITHOUT_KERN_LEVEL warnings staging: rtl8192e: Fix DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON warning staging: rtl8192e: Fix BRACES warning staging: rtl8192e: Fix LINE_CONTINUATIONS warning staging: rtl8192e: Fix UNNECESSARY_PARENTHESES warnings staging: rtl8192e: remove unused EXPORT_SYMBOL_RSL macro staging: rtl8192e: Fix RETURN_VOID warnings staging: rtl8192e: Fix UNNECESSARY_ELSE warning staging: rtl8723au: Remove unneeded comments staging: rtl8723au: Use __func__ in trace logs ... commit c4be50eee2bd4d50e0f0ca58776f685c08de69c3 Merge: 42e3a58 c9e15f2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 17:17:32 2015 -0700 Merge tag 'driver-core-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core updates from Greg KH: "Here's the driver-core / kobject / lz4 tree update for 4.1-rc1. Everything here has been in linux-next for a while with no reported issues. It's mostly just coding style cleanups, with other minor changes in here as well, nothing big" * tag 'driver-core-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (32 commits) debugfs: allow bad parent pointers to be passed in stable_kernel_rules: Add clause about specification of kernel versions to patch. kobject: WARN as tip when call kobject_get() to a kobject not initialized lib/lz4: Pull out constant tables drivers: platform: parse IRQ flags from resources driver core: Make probe deferral more quiet drivers/core/of: Add symlink to device-tree from devices with an OF node device: Add dev_of_node() accessor drivers: base: fw: fix ret value when loading fw firmware: Avoid manual device_create_file() calls drivers/base: cacheinfo: validate device node for all the caches drivers/base: use tabs where possible in code indentation driver core: add missing blank line after declaration drivers: base: node: Delete space after pointer declaration drivers: base: memory: Use tabs instead of spaces firmware_class: Fix whitespace and indentation drivers: base: dma-mapping: Erase blank space after pointer drivers: base: class: Add a blank line after declarations attribute_container: fix missing blank lines after declarations drivers: base: memory: Fix switch indent ... commit 42e3a58b028e0e51746f596a11abfec01cd1c5c4 Merge: 4fd48b4 00fe52d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 17:07:21 2015 -0700 Merge tag 'usb-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB driver updates from Greg KH: "Here's the big USB (and PHY) driver patchset for 4.1-rc1. Everything here has been in linux-next, and the full details are below in the shortlog. Nothing major, just the normal round of new drivers,api updates, and other changes, mostly in the USB gadget area, as usual" * tag 'usb-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (252 commits) drivers/usb/core: devio.c: Removed an uneeded space before tab usb: dwc2: host: sleep USB_RESUME_TIMEOUT during resume usb: chipidea: debug: add low power mode check before print registers usb: chipidea: udc: bypass pullup DP when gadget connect in OTG fsm mode usb: core: hub: use new USB_RESUME_TIMEOUT usb: isp1760: hcd: use new USB_RESUME_TIMEOUT usb: dwc2: hcd: use new USB_RESUME_TIMEOUT usb: host: sl811: use new USB_RESUME_TIMEOUT usb: host: r8a66597: use new USB_RESUME_TIMEOUT usb: host: oxu210hp: use new USB_RESUME_TIMEOUT usb: host: fusbh200: use new USB_RESUME_TIMEOUT usb: host: fotg210: use new USB_RESUME_TIMEOUT usb: host: isp116x: use new USB_RESUME_TIMEOUT usb: musb: use new USB_RESUME_TIMEOUT usb: host: uhci: use new USB_RESUME_TIMEOUT usb: host: ehci: use new USB_RESUME_TIMEOUT usb: host: xhci: use new USB_RESUME_TIMEOUT usb: define a generic USB_RESUME_TIMEOUT macro usb: musb: dsps: fix build on i386 when COMPILE_TEST is set ehci-hub: use USB_DT_HUB ... commit 7415d97ee2b809119270fc3a365968ff8d4f544b Merge: 875dac1 7ab7ef7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 01:52:47 2015 +0200 Merge tag 'at91-clocksource-driver2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/drivers Pull "A fix for the ST clocksource driver Kconfig option" from Nicolas Ferre * tag 'at91-clocksource-driver2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: clocksource: atmel-st: select MFD_SYSCON commit 89522f0f8bd5056dec21bb7de073cbd5886e435c Merge: e8621d8 2e57dc0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 01:50:21 2015 +0200 Merge tag 'at91-cleanup4_bis' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/multiplatform Pull "Fourth batch of cleanup for 4.1" from Nicolas Ferre: - 1 issues revealed by the kbuild test robot fixed - move of some functions and macros into relevant files to be able to streamline the at91 specific header afterwards * tag 'at91-cleanup4_bis' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91/pm: move AT91_MEMCTRL_* to pm.h ARM: at91/pm: move the standby functions to pm.c ARM: at91: fix pm_suspend.S compilation when ARMv6 is selected commit 4fd48b45ffc4addd3c2963448b05417aa14abbf7 Merge: a1480a1 34ebe93 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 16:47:11 2015 -0700 Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup Pull cgroup updates from Tejun Heo: "Nothing too interesting. Rik made cpuset cooperate better with isolcpus and there are several other cleanup patches" * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: cpuset, isolcpus: document relationship between cpusets & isolcpus cpusets, isolcpus: exclude isolcpus from load balancing in cpusets sched, isolcpu: make cpu_isolated_map visible outside scheduler cpuset: initialize cpuset a bit early cgroup: Use kvfree in pidlist_free() cgroup: call cgroup_subsys->bind on cgroup subsys initialization commit a1480a166dd509f25f90e824411cb488fa9fff7e Merge: 45141ee c54c719 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 16:42:16 2015 -0700 Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata updates from Tejun Heo: - Hannes's patchset implements support for better error reporting introduced by the new ATA command spec. - the deperecated pci_ dma API usages have been replaced by dma_ ones. - a bunch of hardware specific updates and some cleanups. * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: ata: remove deprecated use of pci api ahci: st: st_configure_oob must be called after IP is clocked. ahci: st: Update the ahci_st DT documentation ahci: st: Update the DT example for how to obtain the PHY. sata_dwc_460ex: indent an if statement libata: Add tracepoints libata-eh: Set 'information' field for autosense libata: Implement support for sense data reporting libata: Implement NCQ autosense libata: use status bit definitions in ata_dump_status() ide,ata: Rename ATA_IDX to ATA_SENSE libata: whitespace fixes in ata_to_sense_error() libata: whitespace cleanup in ata_get_cmd_descript() libata: use READ_LOG_DMA_EXT libata: remove ATA_FLAG_LOWTAG sata_dwc_460ex: re-use hsdev->dev instead of dwc_dev sata_dwc_460ex: move to generic DMA driver sata_dwc_460ex: join messages back sata: xgene: add ACPI support for APM X-Gene SATA ports ata: sata_mv: add proper definitions for LP_PHY_CTL register values commit ad30cb9946515f72af5c3e89ad9de18870c1a1e7 Merge: b0a478e d4ed11a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 14 09:29:23 2015 +1000 Merge branch 'next-sriov' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next Merge Richard's work to support SR-IOV on PowerNV. All generic PCI patches acked by Bjorn. Some minor conflicts with Daniel's pci_controller_ops work. Conflicts: arch/powerpc/include/asm/machdep.h arch/powerpc/platforms/powernv/pci-ioda.c commit b0a478ede669949682b9c698f6146c0065543b91 Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 09:53:46 2015 -0500 powerpc/pseries: Correct memory hotplug locking Memory dlpar handling can return from dlpar_memory() without releasing the device_hotplug lock. Correct this routine to ensure the lock is released. Fixes: 5f97b2a0d176 ("powerpc/pseries: Implement memory hotplug add in the kernel") Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 45141eeafefdb8998d2ab1f87c2afe0457059b47 Merge: 8954672 6ba9442 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 16:19:18 2015 -0700 Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq Pull workqueue updates from Tejun Heo: "Workqueue now prints debug information at the end of sysrq-t which should be helpful when tracking down suspected workqueue stalls. It only prints out the ones with something currently going on so it shouldn't add much output in most cases" * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: Reorder sysfs code percpu: Fix trivial typos in comments workqueue: dump workqueues on sysrq-t workqueue: keep track of the flushing task and pool manager workqueue: make the workqueues list RCU walkable commit 9705feacb778d2aa8bb868e8a9ab40557f7f7043 Merge: 643ee0d 8e047c1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 01:18:44 2015 +0200 Merge tag 'imx-dt-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/late Pull "The i.MX device tree updates for 4.1" from Shawn Guo: - Convert GPC controller to use stacked interrupt domains - Add power domain descriptions for i.MX6 platforms - Improve i.MX25 pin function defines - Disable PWM devices in <soc>.dtsi by default and enable it at board level dts where the device is actually available. - Define labels for SNVS RTC device to ease the board description, where an external RTC is available. - Add dr_mode host setting to all i.MX host-only USB instances - Support Miscellaneous System Control Module (MSCM) for VF610 - Add initial i.MX6SL WaRP Board support - Add i.MX6SX SDB revision B board support - A bunch of imx28-apf28dev board updates, including gpio polarity correction and CAN, AUART device support. - SolidRun iMX6 platform updates: dual-license of GPLv2/X11, PWM setup, PCF8523 RTC, GPIO key and SGTL5000 audio support. - A number of random device additions for boards: SPI and CAN for vf-colibri, MAX7310 GPIO expander for imx6qdl-sabreauto and LCD support for imx25-pdk. Note: Branch imx/cleanup was merged as the base to solve conflict on imx25 iomux header. Branch imx/soc was merged as the base to solve conflict on arch/arm/mach-imx/gpc.c. And Jason Cooper's irqchip/vybrid branch was pulled into the base as a run-time dependency. * tag 'imx-dt-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (69 commits) ARM: dts: hummingboard: add sgtl5000 support for Hummingboard Pro ARM: dts: imx25-pinfunc: Add several pinfunctions ARM: dts: vf610: fix missing irqs ARM: dts: cubox: Map gpio-keys to gpio3 8 ARM: dts: hummingboard: Setup pwm lines ARM: dts: hummingboard: enable PCF8523 RTC support ARM: dts: Re-license SolidRun iMX6 platform DT GPL v2/X11 ARM: dts: imx28: add alternative pinmuxing for spi3 ARM: dts: imx6sx: Add label snvs_rtc ARM: dts: imx6sl: Add label snvs_rtc ARM: imx6: Warn when an old DT is detected ARM: imx6: Allow GPC interrupts affinity to be changed ARM: imx6qdl-sabreauto.dtsi: add max7310 support ARM: dts: imx6sl-warp: Add BCM4330 support ARM: dts: imx28-apf28dev: add wakeup function to user button ARM: dts: imx28-apf28dev: fix user button polarity ARM: dts: imx25-pinfunc: remove input values for pinfuncs without input register ARM: dts: vf610: add Miscellaneous System Control Module (MSCM) ARM: dts: imx6sl-warp: Pass 'bus-width' property ARM: dts: imx6qdl: disable PWMs by default ... commit 8b036556d68175caa9bea3fb98768f733fde33c6 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Sun Apr 5 15:43:53 2015 +0300 ARM: dts: alpine: add internal pci This patch adds device-tree entry for the internal pci bus on Alpine. Alpine's on-chip devices appear as pci devices on this bus. Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit a018bb2ff95868ea592212b6735b35836fda268b Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Sun Apr 5 15:43:51 2015 +0300 ARM: alpine: add support for generic pci The Alpine platform requires generic-pci driver to access the internal pci bus. Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit b50c9c2de553102d42842db842f57c6cad676494 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 26 20:34:33 2015 +0200 ARM: multi_v7_defconfig: enable alpine platform The generic PCI driver is required for SATA device probe on Alpine platform, so it cannot be modular. Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit f19e80c640d58ddfd70f2454ee597f81ba966690 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Apr 13 19:41:30 2015 +0800 perf probe: Fix segfault when probe with lazy_line to file The first argument passed to find_probe_point_lazy() should be CU die, which will be passed to die_walk_lines() when lazy_line matches. Currently, when we probe with lazy_line pattern to file without function name, NULL pointer is passed and causes a segment fault. Can be reproduced as following: $ perf probe -k vmlinux --add='fs/super.c;s->s_count=1;' [ 1958.984658] perf[1020]: segfault at 10 ip 00007fc6e10d8c71 sp 00007ffcbfaaf900 error 4 in libdw-0.161.so[7fc6e10ce000+34000] Segmentation fault After this patch: $ perf probe -k vmlinux --add='fs/super.c;s->s_count=1;' Added new event: probe:_stext (on @fs/super.c) You can now use it in all perf tools, such as: perf record -e probe:_stext -aR sleep 1 Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428925290-5623-3-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 09ed8975c4b13be4469899b210f0e0936021ee8f Author: Naohiro Aota <naota@xxxxxxxxx> Date: Fri Mar 13 14:18:40 2015 +0900 perf probe: Find compilation directory path for lazy matching If we use lazy matching, it failed to open a souce file if perf command is invoked outside of compilation directory: $ perf probe -a '__schedule;clear_*' Failed to open kernel/sched/core.c: No such file or directory Error: Failed to add events. (-2) OTOH, other commands like "probe -L" can solve the souce directory by themselves. Let's make it possible for lazy matching too! Signed-off-by: Naohiro Aota <naota@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: He Kuang <hekuang@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/1426223923-1493-1-git-send-email-naota@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 643ee0d50a7392671c0488912cdbb37549ac4cc7 Merge: 13a7a6a 2129536 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 01:03:29 2015 +0200 Merge tag 'omap-for-v4.1/prcm-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/late Pull "Clean-up for omap PRCM (Power Reset Clock Management) and interconnects" from Tony Lindgren Patches originally from Tero Kristo <t-kristo@xxxxxx>. This sets gets us into a better position for further clean-up: - Gets PRCM code closer to being device drivers - Allows to move the remainig clock code to drivers/clk for v4.2 - Starts enforcing interconnect hierarchy in the SoC specific .dts files to enforce device drivers are only accesing registers in the related hardware module This patchset has seen quite a few revisions but did not come into mergeable shape until recently. As other patchsets for clock specific device drivers depend on this, it would be good to get this merged although it's a bit late for the v4.1 merge window. Note that as the device entries in the .dts files are moved around, this is based on earlier non-urgent fixes to avoid a non-trivial merge conflict. * tag 'omap-for-v4.1/prcm-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (44 commits) ARM: OMAP4+: control: add support for initializing control module via DT ARM: dts: dra7: add minimal l4 bus layout with control module support ARM: dts: omap5: add minimal l4 bus layout with control module support ARM: OMAP4+: control: remove support for legacy pad read/write ARM: OMAP4: display: convert display to use syscon for dsi muxing ARM: dts: omap4: add minimal l4 bus layout with control module support ARM: dts: am4372: add minimal l4 bus layout with control module support ARM: dts: am43xx-epos-evm: fix pinmux node layout ARM: dts: am33xx: add minimal l4 bus layout with control module support ARM: dts: omap3: add minimal l4 bus layout with control module support ARM: dts: omap24xx: add minimal l4 bus layout with control module support ARM: OMAP2+: control: add syscon support for register accesses ARM: OMAP2+: id: cache omap_type value ARM: OMAP2+: control: remove API for getting control module base address ARM: OMAP2+: clock: add low-level support for regmap ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags ARM: OMAP2+: CM: move SoC specific init calls within a generic API ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility ARM: OMAP2+: PRM: move SoC specific init calls within a generic API ... commit 49faf809ab824d7362870b55ef10e900ed9ca8d9 Merge: 2c13d8c 4f054d4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 00:56:58 2015 +0200 Merge tag 'mvebu-fixes-4.0-2' of git://git.infradead.org/linux-mvebu into next/dt Pull "mvebu fix for 4.0" from Gregory CLEMENT: use 0xf1000000 as internal registers on Armada 370 DB: needed for the recent version of the board which no more comes with a bogus version of the Armada 370 SoC. * tag 'mvebu-fixes-4.0-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: use 0xf1000000 as internal registers on Armada 370 DB ARM: mvebu: Disable CPU Idle on Armada 38x commit 8954672d86d036643e3ce7ce3b2422c336db66d0 Merge: 3be1b98 b7dccbe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:54:50 2015 -0700 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq core updates from Thomas Gleixner: "Managerial summary: Core code: - final removal of IRQF_DISABLED - new state save/restore functions for virtualization support - wakeup support for stacked irqdomains - new function to solve the netpoll synchronization problem irqchips: - new driver for STi based devices - new driver for Vybrid MSCM - massive cleanup of the GIC driver by moving the GIC-addons to stacked irqdomains - the usual pile of fixes and updates to the various chip drivers" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits) irqchip: GICv3: Add support for irq_[get, set]_irqchip_state() irqchip: GIC: Add support for irq_[get, set]_irqchip_state() genirq: Allow the irqchip state of an IRQ to be save/restored genirq: MSI: Fix freeing of unallocated MSI irqchip: renesas-irqc: Add wake-up support irqchip: armada-370-xp: Allow using wakeup source irqchip: mips-gic: Add new functions to start/stop the GIC counter irqchip: tegra: Add Tegra210 support irqchip: digicolor: Move digicolor_set_gc to init section irqchip: renesas-irqc: Add functional clock to bindings irqchip: renesas-irqc: Add minimal runtime PM support irqchip: renesas-irqc: Add more register documentation DT: exynos: update PMU binding ARM: exynos4/5: convert pmu wakeup to stacked domains irqchip: gic: Don't complain in gic_get_cpumask() if UP system ARM: zynq: switch from gic_arch_extn to gic_set_irqchip_flags ARM: ux500: switch from gic_arch_extn to gic_set_irqchip_flags ARM: shmobile: remove use of gic_arch_extn.irq_set_wake irqchip: gic: Add an entry point to set up irqchip flags ARM: omap: convert wakeupgen to stacked domains ... commit 8b481b01db016bdfefa0ccdfb3ab4abc90db73a3 Merge: 7cef987 3213e67 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 00:47:11 2015 +0200 Merge tag 'arm-soc/for-4.1/soc' of http://github.com/broadcom/stblinux into next/soc Pull "Trivial change to fix a const declaration for the Cygnus SoC" from Florian Fainelli: * tag 'arm-soc/for-4.1/soc' of http://github.com/broadcom/stblinux: ARM: cygnus: fix const declaration bcm_cygnus_dt_compat commit 3be1b98e073bdd4c1bb3144201a927c4a21330ba Merge: 392b46f 5468d5a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:45:47 2015 -0700 Merge tag 'pci-v4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI changes from Bjorn Helgaas: "Enumeration - Read capability list as dwords, not bytes (Sean O. Stalley) Resource management - Don't check for PNP overlaps with unassigned PCI BARs (Bjorn Helgaas) - Mark invalid BARs as unassigned (Bjorn Helgaas) - Show driver, BAR#, and resource on pci_ioremap_bar() failure (Bjorn Helgaas) - Fail pci_ioremap_bar() on unassigned resources (Bjorn Helgaas) - Assign resources before drivers claim devices (Yijing Wang) - Claim bus resources before pci_bus_add_devices() (Yijing Wang) Power management - Optimize device state transition delays (Aaron Lu) - Don't clear ASPM bits when the FADT declares it's unsupported (Matthew Garrett) Virtualization - Add ACS quirks for Intel 1G NICs (Alex Williamson) IOMMU - Add ptr to OF node arg to of_iommu_configure() (Murali Karicheri) - Move of_dma_configure() to device.c to help re-use (Murali Karicheri) - Fix size when dma-range is not used (Murali Karicheri) - Add helper functions pci_get[put]_host_bridge_device() (Murali Karicheri) - Add of_pci_dma_configure() to update DMA configuration (Murali Karicheri) - Update DMA configuration from DT (Murali Karicheri) - dma-mapping: limit IOMMU mapping size (Murali Karicheri) - Calculate device DMA masks based on DT dma-range size (Murali Karicheri) ARM Versatile host bridge driver - Check for devm_ioremap_resource() failures (Jisheng Zhang) Broadcom iProc host bridge driver - Add Broadcom iProc PCIe driver (Ray Jui) Marvell MVEBU host bridge driver - Add suspend/resume support (Thomas Petazzoni) Renesas R-Car host bridge driver - Fix position of MSI enable bit (Nobuhiro Iwamatsu) - Write zeroes to reserved PCIEPARL bits (Nobuhiro Iwamatsu) - Change PCIEPARL and PCIEPARH to PCIEPALR and PCIEPAUR (Nobuhiro Iwamatsu) - Verify that mem_res is 64K-aligned (Nobuhiro Iwamatsu) Samsung Exynos host bridge driver - Fix INTx enablement statement termination error (Jaehoon Chung) Miscellaneous - Make a shareable UUID for PCI firmware ACPI _DSM (Aaron Lu) - Clarify policy for vendor IDs in pci.txt (Michael S. Tsirkin)" * tag 'pci-v4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (36 commits) PCI: Read capability list as dwords, not bytes PCI: layerscape: Simplify platform_get_resource_byname() failure checking PCI: keystone: Don't dereference possible NULL pointer PCI: versatile: Check for devm_ioremap_resource() failures PCI: Don't clear ASPM bits when the FADT declares it's unsupported PCI: Clarify policy for vendor IDs in pci.txt PCI/ACPI: Optimize device state transition delays PCI: Export pci_find_host_bridge() for use inside PCI core PCI: Make a shareable UUID for PCI firmware ACPI _DSM PCI: Fix typo in Thunderbolt kernel message PCI: exynos: Fix INTx enablement statement termination error PCI: iproc: Add Broadcom iProc PCIe support PCI: iproc: Add DT docs for Broadcom iProc PCIe driver PCI: Export symbols required for loadable host driver modules PCI: Add ACS quirks for Intel 1G NICs PCI: mvebu: Add suspend/resume support PCI: Cleanup control flow sparc/PCI: Claim bus resources before pci_bus_add_devices() PCI: Assign resources before drivers claim devices (pci_scan_root_bus()) PCI: Fail pci_ioremap_bar() on unassigned resources ... commit 875dac1c72e4ced725c37685086d52259ccb90dc Merge: 9d86339 7a4261d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 00:43:28 2015 +0200 Merge tag 'v4.0-next-soc-fix' of https://github.com/mbgg/linux-mediatek into next/drivers Merge "fix unused variable warning for pmic-wrapper" from Matthias Brugger * tag 'v4.0-next-soc-fix' of https://github.com/mbgg/linux-mediatek: soc/mediatek: Remove unused variables commit 2c13d8c7a85fdbf7d5c71b4989bb5c249b76a0c1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 00:39:27 2015 +0200 Revert "ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135." This reverts commit e6f219b8ec5e4227c8b87b758afb48ed102b4210. to fix a build error: arch/arm/boot/dts/mt8135-pinfunc.h:18:40: fatal error: dt-bindings/pinctrl/mt65xx.h: No such file or directory Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 392b46f31f43a71c5391eb9cffe304979d2d6c30 Merge: a21c1ea 265ef3e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:36:31 2015 -0700 Merge tag 'hsi-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi Pull HSI changes from Sebastian Reichel: - nokia-modem: support speech data - misc fixes * tag 'hsi-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi: HSI: cmt_speech: fix error return code HSI: nokia-modem: Add cmt-speech support HSI: cmt_speech: Add cmt-speech driver HSI: nokia-modem: fix error return code commit a21c1ea65615f5323575d84508637a9481ca79c6 Merge: d700b05 5939d9d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:21:34 2015 -0700 Merge tag 'for-v4.1' of git://git.infradead.org/battery-2.6 Pull power supply and reset changes from Sebastian Reichel: - new API for safe access of power supply function attrs - devres support for power supply (un)registration - new drivers / chips: - generic syscon based poweroff driver - iio & charger driver for da9150 - fuel gauge driver for axp288 - bq27x00: add support for bq27510 - bq2415x: add support for bq24157s - twl4030-madc-battery: convert to iio consumer - misc fixes * tag 'for-v4.1' of git://git.infradead.org/battery-2.6: (66 commits) power: twl4030_madc_battery: Add missing MODULE_ALIAS power: twl4030-madc-battery: Convert to iio consumer. dt: power: Add docs for generic SYSCON poweroff driver. power: reset: Add generic SYSCON register mapped poweroff. power: max17042_battery: add missed blank power: max17042_battery: Use reg type instead of chip type power/reset: at91: big endian fixes for atsama5d3x power_supply: charger-manager: Fix dereferencing of ERR_PTR HID: input: Fix NULL pointer dereference when power_supply_register fails power: constify of_device_id array power/reset/rmobile-reset.c: Fix !HAS_IOMEM build power_supply: 88pm860x_charger: Fix possible NULL pointer dereference and use of initialized variable arm: mach-pxa: Decrement the power supply's device reference counter mfd: ab8500: Decrement the power supply's device reference counter power_supply: bq2415x_charger: Decrement the power supply's device reference counter power_supply: 88pm860x_charger: Decrement the power supply's device reference counter x86/olpc/xo15/sci: Use newly added power_supply_put API x86/olpc/xo1/sci: Use newly added power_supply_put API power_supply: charger-manager: Decrement the power supply's device reference counter power_supply: Increment power supply use counter when obtaining references ... commit 6e8a9d9148b6dc2305fcaaf60550b81cbb6319c6 Merge: 789f558 01e97e6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 13 18:18:05 2015 -0400 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Al Viro says: ==================== netdev-related stuff in vfs.git There are several commits sitting in vfs.git that probably ought to go in via net-next.git. First of all, there's merge with vfs.git#iocb - that's Christoph's aio rework, which has triggered conflicts with the ->sendmsg() and ->recvmsg() patches a while ago. It's not so much Christoph's stuff that ought to be in net-next, as (pretty simple) conflict resolution on merge. The next chunk is switch to {compat_,}import_iovec/import_single_range - new safer primitives for initializing iov_iter. The primitives themselves come from vfs/git#iov_iter (and they are used quite a lot in vfs part of queue), conversion of net/socket.c syscalls belongs in net-next, IMO. Next there's afs and rxrpc stuff from dhowells. And then there's sanitizing kernel_sendmsg et.al. + missing inlined helper for "how much data is left in msg->msg_iter" - this stuff is used in e.g. cifs stuff, but it belongs in net-next. That pile is pullable from git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-davem I'll post the individual patches in there in followups; could you take a look and tell if everything in there is OK with you? ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d700b0567132e894971325fbb452a8db9e781c13 Merge: 0055dc5 4ec0853 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:13:25 2015 -0700 Merge tag 'regulator-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "Another release, another set of regulator updates. Not much of it is showing up in the code yet but there's been a lot of discussion going on about how to enhance the regulator API to work better with modern SoCs which have a microcontroller sitting between Linux and the hardware. I'm hopeful that'll start to come through into mainline for v4.2 but it's not quite there for v4.1 - what we do have (along with the usual small updates is) is: - work from Bjorn Andersson on refactoring the configuration of regulator loading interfaces to be useful for use with microcontrollers, the existing interfaces were never actually useful for anything as-is since nobody was willing to put enough data into public code. - a summary tree display in debugfs from Heiko Stübner. - support for act6000 regulators" * tag 'regulator-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (34 commits) regulator: max8660: Handle empty regulator data regulator: output current-limit for all regulators in summary regulator: add a summary tree in debugfs regulator: qcom: Tidy up probe() regulator: qcom: Rework to single platform device regulator: qcom: Refactor of-parsing code regulator: qcom: Don't enable DRMS in driver regulator: max8660: fix assignment of pdata to data that becomes dead regulator: Defer lookup of supply to regulator_get mfd: max77693: Remove unused structures regulator: max77693: Let core parse DT and drop board files support regulator: Ensure unique regulator debugfs directory names regulator: stw481x: Remove unused fields from struct stw481x regulator: palmas: Add has_regen3 check for TPS659038 regulator: constify of_device_id array regulator: fixes for regulator_set_optimum_mode name change regulator: Drop temporary regulator_set_optimum_mode wrapper usb: phy: phy-msm-usb: Rename regulator_set_optimum_mode usb: phy: ab8500-usb: Rename regulator_set_optimum_mode ufs: Rename of regulator_set_optimum_mode ... commit 0055dc5b23cc1738fc2f14221cf922a83057d8fb Merge: 1b57c7c 56afdb7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:05:40 2015 -0700 Merge tag 'spi-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi updates from Mark Brown: "Only one framework update this time around, a change from Lars-Peter to move full to pm_ops and remove the legacy bus PM ops. Otherwise it's all driver updates: - make the spidev driver complain loudly if registered as spidev with DT rather than with a compatible string, hopefully helping people avoid making that mistake. - error handling and robustness fixes for the Designware and Intel MID drivers from Andy Shevchenko. - substantial performance improvements for the Raspberry Pi driver from Martin Sperl. - several new features for spidev_test from Adrian Remonda and Ian Abbott" * tag 'spi-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (75 commits) spi: bcm2835: enabling polling mode for transfers shorter than 30us spi: bcm2835: transform native-cs to gpio-cs on first spi_setup spi: img-spfi: Control CS lines with GPIO spi: img-spfi: Reset controller after each message spi: img-spfi: Implement a handle_err() callback spi: img-spfi: Setup TRANSACTION register before CONTROL register spi: Make master->handle_err() callback optional to avoid crashes spi: img-spfi: Limit bit clock to 1/4th of input clock spi: img-spfi: Implement a prepare_message() callback spi: fsl-dspi: Add ~50ns delay between cs and sck spi: fsl-dspi: Add cs-sck delays spi: fsl-dspi: Fix clock rate scale values spi: signedness bug in qspi_trigger_transfer_out_int() spi: imx: read back the RX/TX watermark levels earlier spi: spi-bfin5xx: Initialize cr_width in bfin_spi_pump_transfers() spi: bitbang: only toggle bitchanges spi: pxa2xx: missing break in pxa2xx_ssp_get_clk_div() spi: fsl-dspi: Fix clock rate scale values spi: Using Trigger number to transmit/receive data spi: bcm2835: fill FIFO before enabling interrupts to reduce interrupts/message ... commit 1b57c7c2fbb81763cd4a6940c8530c98022c409c Merge: 8d9095c f58078d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:00:55 2015 -0700 Merge tag 'regmap-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap Pull regmap update from Mark Brown: "Just one patch for regmap this time around, a change from Steven Rostedt to prettify the way we're making the regmap internal header available to the trace events (it turns out that the trace subsystem doesn't actually need to be in trace/events)" * tag 'regmap-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: Move tracing header into drivers/base/regmap commit 09675bd395458543e70d19544f8046038a2fd053 Merge: bcf5d54 21042d4 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Apr 13 23:57:27 2015 +0200 Merge branch 'for-4.1/core-s390' into for-linus commit bcf5d545890e9f7414341c572337ce58cba00a32 Merge: 8cb2c2d 2e3ac94 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Apr 13 23:57:20 2015 +0200 Merge branch 'for-4.1/core-noarch' into for-linus commit 8d9095c667a185c8e2449632343a2b6c65ae58f1 Merge: 1a370f4 69f0fb2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 14:53:03 2015 -0700 Merge tag 'mmc-v4.1' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC updates from Ulf Hansson: "MMC core: - Add support for marking HPI as broken through devicetree - Enable runtime PM management of host devices - Remove the ->enable|disable() callbacks - Restructure code and cleanups - Refreshed some of the MMC sections in MAINTAINERS MMC host: - dw_mmc: HS400 mode support - dw_mmc: Add the cmd11 timer to detect a timeout - dw_mmc: Endian agnostic IO accessors - dw_mmc: Bugfixes - sh_mmcif: Add exclusion between cmd and interrupt - omap_hsmmc: Hibernation support - omap_hsmmc: Rework and simplify cover/card detect - omap_hsmmc: Stop using ->enable|disable() callbacks - atmel-mci: Endian agnostic IO - sunxi: Enable MMC_CAP_SDIO_IRQ - sdhci-st: Add support for the stih407 family silicon - sdhci-st: UHS card support in SDR104 mode - sdhci-st: HS200 mode support - sdhci-esdhc-imx: Use common mmc DT parser - sdhci-of-arasan: Use common mmc DT parser - sdhci-iproc: Add new driver for Broadcom IPROC SDHCI controller - sdhci-tegra: Convert to GPIO descriptors - sdhci-tegra: Optmize write_w path for tegra114 and later - sdhci-sirf: Update tuning procedure - sdhci: Fix card presence logic - sdhci: Cleanups and consolidation" * tag 'mmc-v4.1' of git://git.linaro.org/people/ulf.hansson/mmc: (79 commits) mmc: sdhci-st: Update ST SDHCI binding documentation. mmc: sdhci-st: Update the quirks for this controller. mmc: sdhci-st: Add sdhci_st_set_uhs_signaling function. mmc: sdhci-st: Add st_mmcss_cconfig function to configure mmcss glue registers. mmc: sdhci-st: Add delay management functions for top registers (eMMC). mmc: sdhci-st: Add support for de-asserting reset signal and top regs resource mmc: sdhci-st: Add macros for register offsets and bitfields for mmcss glue regs mmc: sdhci-esdhc-imx: Call mmc_of_parse() mmc: dw_mmc: Add locking around cmd11 timer mmc: dw_mmc: Add a return in an unexpected cmd11 timeout mmc: dw_mmc: Increase cmd11 timeout to 500ms mmc: dw_mmc: fix fifo ordering in big endian mmc: dw_mmc: change idmac descriptor files to __le32 mmc: dw_mmc: make IO accessors endian agnostic mmc: core: Convert the error field in struct mmc_command|data into an int mmc: sdhci-of-arasan: Call OF parsing for MMC mmc: sdhci-pci: fix 64 BIT DMA quirks for rtsx mmc: Add support for marking hpi as broken through devicetree mmc: sdhci-tegra: convert to use GPIO descriptors mmc: omap_hsmmc: use generic slot-gpio isr to manage card detect pin ... commit 1a370f4cd95e056d55ef5bf1a183880e70195e59 Merge: 4b5ca74 1afaa05 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 14:47:37 2015 -0700 Merge tag 'edac_for_4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp Pull EDAC updates from Borislav Petkov: - convert a bunch of drivers to static attribute groups (Takashi Iwai) - misc cleanups * tag 'edac_for_4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: EDAC: Constify of_device_id array EDAC, i82443bxgx: Don't export static symbol EDAC, amd64_edac: Get rid of per-node driver instances EDAC: Properly unwind on failure path in edac_init() EDAC: highbank: Use static attribute groups for sysfs entries EDAC: octeon: Use static attribute groups for sysfs entries EDAC: mpc85xx: Use static attribute groups for sysfs entries EDAC: i7core: Use static attribute groups for sysfs entries EDAC: i7core: Return proper error codes for kzalloc() errors EDAC: amd64: Use static attribute groups EDAC: Allow to pass driver-specific attribute groups EDAC: Use static attribute groups for managing sysfs entries EDAC: Delete unnecessary checks before pci_dev_put() commit 2e455c27bddbf8cf6d1039daea40de8e6865c453 Merge: 05f6d02 b2eafd7 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Apr 13 23:43:34 2015 +0200 Merge branch 'for-4.1/sensor-hub' into for-linus Conflicts: drivers/iio/common/hid-sensors/hid-sensor-trigger.c include/linux/hid-sensor-hub.h commit 05f6d02521d4c7a656c5135d6d81c345ce531ac0 Merge: 43faadf feb6faf ee20fe2 a485923 7af05e7 b832da5 2c6e027 f097dee 2e701a3 8fec02a b4bf212 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Apr 13 23:41:15 2015 +0200 Merge branches 'for-4.0/upstream-fixes', 'for-4.1/genius', 'for-4.1/huion-uclogic-merge', 'for-4.1/i2c-hid', 'for-4.1/kconfig-drop-expert-dependency', 'for-4.1/logitech', 'for-4.1/multitouch', 'for-4.1/rmi', 'for-4.1/sony', 'for-4.1/upstream' and 'for-4.1/wacom' into for-linus commit 4b5ca74113a1e02f4a7ea80aea9b977705f3d961 Merge: cb0fc55 f354169 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 14:39:25 2015 -0700 Merge tag 'hwmon-for-linus-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon updates from Guenter Roeck: "Support for new chips: - add support for IT8620E, IT8781F, IT8786E, and IT8790E to it87 driver - add driver for NCT7904 Functional improvements: - support for new devicetree structure in ibmpowernv driver - register pwm-fan and gpio-fan drivers as thermal cooling devices - various minor cleanup and improvements to it87, nct6775, jc42, ibmpex, and coretemp drivers" * tag 'hwmon-for-linus-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (43 commits) hwmon: (pwm-fan) Update the duty cycle inorder to control the pwm-fan hwmon: (it87) Use feature macros on sio_data hwmon: (ibmpowernv) Fix build error seen for some configurations hwmon: (gpio-fan) Move the thermal registration after registration is complete hwmon: (ibmpowernv) pretty print labels hwmon: (ibmpowernv) add a label attribute hwmon: (ibmpowernv) add support for the new device tree hwmon: (ibmpowernv) add a helper routine create_hwmon_attr hwmon: (it87) Add support for 6th fan of IT8620E hwmon: (it87) Add support for IT8620E hwmon: (it87) Add support for IT8790E hwmon: (it87) Introduce feature flag to reflect internal in7 sensor hwmon: (it87) Introduce configuration field for chip suffix hwmon: (it87) Fix PWM frequency display for chips with newer PWM control hwmon: (it87) Fix pwm sysfs attribute removal hwmon: (ibmpowernv) do not use the OPAL index for hwmon attribute names hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype hwmon: (ibmpowernv) add a convert_opal_attr_name() routine hwmon: (ibmpowernv) add a get_sensor_type() routine hwmon: (ibmpowernv) replace AMBIENT_TEMP by TEMP ... commit cb0fc55dea8b498c286976bc4833481f6078c061 Merge: 5142ef1c 940db9e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 14:19:26 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 Pull avr32 fix from Hans-Christian Egtvedt. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32: avr32: fix integer overflow in ELF_ET_DYN_BASE commit 5142ef1cbda9a48ff87e9b944096767252204c6e Merge: 6a16dda b24f670 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 14:18:27 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k Pull m68k updates from Geert Uytterhoeven. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k/mac: Fix out-of-bounds array index in OSS IRQ source initialization m68k/pci: Remove a superflous KERN_ERR m68k/defconfig: Update defconfigs for v4.0-rc1 m68k/q40: Make NE2000 builtin instead of modular m68k: Remove FSF address commit c4d30668da689de2f27bb0b19de4430d6c95d7cf Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Apr 10 00:22:56 2015 -0400 x86 msr-index: define MSR_TURBO_RATIO_LIMIT,1,2 MSR_TURBO_RATIO_LIMIT has grown into a set of three registers. Add the documented names for them, in preparation for deleting the previous ad-hoc names: +#define MSR_TURBO_RATIO_LIMIT 0x000001ad +#define MSR_TURBO_RATIO_LIMIT1 0x000001ae +#define MSR_TURBO_RATIO_LIMIT2 0x000001af Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: x86@xxxxxxxxxx commit 789f558cfb3680aeb52de137418637f6b04b7d22 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Apr 12 18:51:09 2015 -0700 tcp/dccp: get rid of central timewait timer Using a timer wheel for timewait sockets was nice ~15 years ago when memory was expensive and machines had a single processor. This does not scale, code is ugly and source of huge latencies (Typically 30 ms have been seen, cpus spinning on death_lock spinlock.) We can afford to use an extra 64 bytes per timewait sock and spread timewait load to all cpus to have better behavior. Tested: On following test, /proc/sys/net/ipv4/tcp_tw_recycle is set to 1 on the target (lpaa24) Before patch : lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0 419594 lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0 437171 While test is running, we can observe 25 or even 33 ms latencies. lpaa24:~# ping -c 1000 -i 0.02 -qn lpaa23 ... 1000 packets transmitted, 1000 received, 0% packet loss, time 20601ms rtt min/avg/max/mdev = 0.020/0.217/25.771/1.535 ms, pipe 2 lpaa24:~# ping -c 1000 -i 0.02 -qn lpaa23 ... 1000 packets transmitted, 1000 received, 0% packet loss, time 20702ms rtt min/avg/max/mdev = 0.019/0.183/33.761/1.441 ms, pipe 2 After patch : About 90% increase of throughput : lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0 810442 lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0 800992 And latencies are kept to minimal values during this load, even if network utilization is 90% higher : lpaa24:~# ping -c 1000 -i 0.02 -qn lpaa23 ... 1000 packets transmitted, 1000 received, 0% packet loss, time 19991ms rtt min/avg/max/mdev = 0.023/0.064/0.360/0.042 ms Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a16dda86ebbcfe690c753c3fb469b4f9ad5a5ef Merge: ec1bc8e 115db5c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:36:45 2015 -0700 Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 vdso changes from Ingo Molnar: "Misc vDSO updates" * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/vdso: Remove x32 intermediates during 'make clean' x86/vdso: Teach 'make clean' to remove generated vdso-image-*.c files x86/vdso32/syscall.S: Do not load __USER32_DS to %ss x86/vdso: Fix the x86 vdso2c tool includes commit 20a1d16526b79c76cd45e29cb637aec1d43c41de Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 00:52:39 2015 +0200 netfilter: Fix format string of nfnetlink_log proc file The printed values are all of type unsigned integer, therefore use %u instead of %d. Otherwise an user can face negative values. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b46f7b7e97e58a23fd96c3bfc1efee9da3d1a3d Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 00:52:38 2015 +0200 netfilter: Fix format string of nfnetlink_queue proc file The printed values are all of type unsigned integer, therefore use %u instead of %d. Otherwise an user can face negative values. Fixes: $ cat /proc/net/netfilter/nfnetlink_queue 0 29508 278 2 65531 0 2004213241 -2129885586 1 1 -27747 0 2 65531 0 0 0 1 2 -27748 0 2 65531 0 0 0 1 Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc6bc4486346aedbdc9ae293c0c675fd29777a98 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 00:52:37 2015 +0200 netfilter: Fix portid types The netlink portid is an unsigned integer, use this type also in netfilter. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65bc4f936e6f1c7de59938e832701faa903d2d45 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 00:52:36 2015 +0200 nfc: Fix portid type in urelease_work portid is an unsigned integer. Fix urelease_work to match all other portid user in the kernel. Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0392d099ab29767b8d7d4d1d29e8020f8abe943f Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 00:52:35 2015 +0200 netlink: Fix portid type in netlink_notify portid is an unsigned integer. Fix netlink_notify to match all other portid user in the kernel. Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec1bc8e4cf47914349cbecf327ea86636bb3265e Merge: 07f2d8c 22ef882 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:34:46 2015 -0700 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fix from Ingo Molnar: "Leftover from 4.0 Fix a local stack variable corruption with certain kdump usage patterns (Dave Young)" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm/numa: Fix kernel stack corruption in numa_init()->numa_clear_kernel_node_hotplug() commit 07f2d8c63fa439613405760841e41fce3041023f Merge: ee799f4 cee8f5a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:33:20 2015 -0700 Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 RAS changes from Ingo Molnar: "The main changes in this cycle were: - Simplify the CMCI storm logic on Intel CPUs after yet another report about a race in the code (Borislav Petkov) - Enable the MCE threshold irq on AMD CPUs by default (Aravind Gopalakrishnan) - Add AMD-specific MCE-severity grading function. Further error recovery actions will be based on its output (Aravind Gopalakrishnan) - Documentation updates (Borislav Petkov) - ... assorted fixes and cleanups" * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mce/severity: Fix warning about indented braces x86/mce: Define mce_severity function pointer x86/mce: Add an AMD severities-grading function x86/mce: Reindent __mcheck_cpu_apply_quirks() properly x86/mce: Use safe MSR accesses for AMD quirk x86/MCE/AMD: Enable thresholding interrupts by default if supported x86/MCE: Make mce_panic() fatal machine check msg in the same pattern x86/MCE/intel: Cleanup CMCI storm logic Documentation/acpi/einj: Correct and streamline text x86/MCE/AMD: Drop bogus const modifier from AMD's bank4_names() commit ee799f41eb2bc0484711b0fc942fddf54248289f Merge: 6cf78d4 a6fcb6d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:32:35 2015 -0700 Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 platform change from Ingo Molnar: "An Intel Quark SoC fix" * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/intel/quark: Run IMR self-test on IMR capble hw only commit 6cf78d4b3766bcd25348d72377796f9566ac8e1a Merge: 0ad5c6b 4e26d11f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 12:31:32 2015 -0800 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 mm changes from Ingo Molnar: "The main changes in this cycle were: - reduce the x86/32 PAE per task PGD allocation overhead from 4K to 0.032k (Fenghua Yu) - early_ioremap/memunmap() usage cleanups (Juergen Gross) - gbpages support cleanups (Luis R Rodriguez) - improve AMD Bulldozer (family 0x15) ASLR I$ aliasing workaround to increase randomization by 3 bits (per bootup) (Hector Marco-Gisbert) - misc fixlets" * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm: Improve AMD Bulldozer ASLR workaround x86/mm/pat: Initialize __cachemode2pte_tbl[] and __pte2cachemode_tbl[] in a bit more readable fashion init.h: Clean up the __setup()/early_param() macros x86/mm: Simplify probe_page_size_mask() x86/mm: Further simplify 1 GB kernel linear mappings handling x86/mm: Use early_param_on_off() for direct_gbpages init.h: Add early_param_on_off() x86/mm: Simplify enabling direct_gbpages x86/mm: Use IS_ENABLED() for direct_gbpages x86/mm: Unexport set_memory_ro() and set_memory_rw() x86/mm, efi: Use early_ioremap() in arch/x86/platform/efi/efi-bgrt.c x86/mm: Use early_memunmap() instead of early_iounmap() x86/mm/pat: Ensure different messages in STRICT_DEVMEM and PAT cases x86/mm: Reduce PAE-mode per task pgd allocation overhead from 4K to 32 bytes commit 0ad5c6b3c2d1183740d225944059b0fdedb2afba Merge: 421ec90 46423ff Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:25:33 2015 -0700 Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 microcode changes from Ingo Molnar: "Microcode driver updates: mostly cleanups but also some fixes (Borislav Petkov)" * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/microcode/amd: Drop the pci_ids.h dependency x86/microcode/intel: Fix printing of microcode blobs in show_saved_mc() x86/microcode/intel: Check scan_microcode()'s retval x86/microcode/intel: Sanitize microcode_pointer() x86/microcode/intel: Move mc arg last in get_matching_{microcode|sig} x86/microcode/intel: Simplify generic_load_microcode_early() x86/microcode: Consolidate family,model, ... code x86/microcode/intel: Rename update_match_revision() x86/microcode/intel: Sanitize _save_mc() x86/microcode/intel: Make _save_mc() return the updated saved count x86/microcode/intel: Simplify load_ucode_intel_bsp() x86/microcode/intel: Get rid of last arg to load_ucode_intel_bsp() x86/microcode/intel: Do the mc_saved_src NULL check first x86/microcode/intel: Check if microcode was found before applying x86/microcode/intel: Fix out of bounds memory access to the extended header commit 9d7b45c5721dfd524666bc1f07cf7d0855edb4d5 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Apr 13 19:41:28 2015 +0800 perf probe: Set retprobe flag when probe in address-based alternative mode When perf probe searched in a debuginfo file and failed, it tried with an alternative, in function get_alternative_probe_event(): memcpy(tmp, &pev->point, sizeof(*tmp)); memset(&pev->point, 0, sizeof(pev->point)); In this case, it drops the retprobe flag and forgets to set it back in find_alternative_probe_point(), so the problem occurs. Can be reproduced as following: $ perf probe -v -k vmlinux --add='sys_write%return' ... Added new event: Writing event: p:probe/sys_write _stext+1584952 probe:sys_write (on sys_write%return) $ cat /sys/kernel/debug/tracing/kprobe_events p:probe/sys_write _stext+1584952 After this patch: $ perf probe -v -k vmlinux --add='sys_write%return' Added new event: Writing event: r:probe/sys_write SyS_write+0 probe:sys_write (on sys_write%return) $ cat /sys/kernel/debug/tracing/kprobe_events r:probe/sys_write SyS_write Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428925290-5623-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 421ec9017f3a1f3f032d894c55c15870f3d474aa Merge: 64f004a 7fc253e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:24:23 2015 -0700 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fpu changes from Ingo Molnar: "Various x86 FPU handling cleanups, refactorings and fixes (Borislav Petkov, Oleg Nesterov, Rik van Riel)" * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits) x86/fpu: Kill eager_fpu_init_bp() x86/fpu: Don't allocate fpu->state for swapper/0 x86/fpu: Rename drop_init_fpu() to fpu_reset_state() x86/fpu: Fold __drop_fpu() into its sole user x86/fpu: Don't abuse drop_init_fpu() in flush_thread() x86/fpu: Use restore_init_xstate() instead of math_state_restore() on kthread exec x86/fpu: Introduce restore_init_xstate() x86/fpu: Document user_fpu_begin() x86/fpu: Factor out memset(xstate, 0) in fpu_finit() paths x86/fpu: Change xstateregs_get()/set() to use ->xsave.i387 rather than ->fxsave x86/fpu: Don't abuse FPU in kernel threads if use_eager_fpu() x86/fpu: Always allow FPU in interrupt if use_eager_fpu() x86/fpu: __kernel_fpu_begin() should clear fpu_owner_task even if use_eager_fpu() x86/fpu: Also check fpu_lazy_restore() when use_eager_fpu() x86/fpu: Use task_disable_lazy_fpu_restore() helper x86/fpu: Use an explicit if/else in switch_fpu_prepare() x86/fpu: Introduce task_disable_lazy_fpu_restore() helper x86/fpu: Move lazy restore functions up a few lines x86/fpu: Change math_error() to use unlazy_fpu(), kill (now) unused save_init_fpu() x86/fpu: Don't do __thread_fpu_end() if use_eager_fpu() ... commit 64f004a2ab68691b5a2e3db4cb460fcd31b6abc6 Merge: b48488d 6d4d198 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:23:34 2015 -0700 Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 debug changes from Ingo Molnar: "Stack printing fixlets" * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kernel: Use kstack_end() in dumpstack_64.c x86/kernel: Fix output of show_stack_log_lvl() commit b48488d10954e0a337c41ea2e6086f274f118acf Merge: 9f3252f 37dea8c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:21:51 2015 -0700 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cacheinfo sysfs changes from Ingo Molnar: "This tree converts the x86 cacheinfo sysfs code to use the generic code in drivers/base/cacheinfo.c. It's not intended to change the sysfs ABI: 'This patch neither alters any existing sysfs entries nor their formating, however since the generic cacheinfo has switched to use the device attributes instead of the traditional raw kobjects, a directory named 'power' along with its standard attributes are added similar to any other device'" * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpu/cacheinfo: Fix cache_get_priv_group() for Intel processors x86/cacheinfo: Move cacheinfo sysfs code to generic infrastructure commit 9f3252f1ad3f10a96a51ebd79b18ffc20664a1d8 Merge: 5945fba b449159 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:20:54 2015 -0700 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cleanups from Ingo Molnar: "Various cleanups" * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/iommu: Fix header comments regarding standard and _FINISH macros x86/earlyprintk: Put CONFIG_PCI-only functions under the #ifdef x86: Fix up obsolete __cpu_set() function usage commit 5945fba8c596546a075382c42cf35141d1ae6eca Merge: 8f74bc5 d8eb894 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:19:59 2015 -0700 Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 build changes from Ingo Molnar: "Small cleanups and fixes" * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kexec: Cleanup KEXEC_VERIFY_SIG Kconfig help text x86/build/defconfig: Enable USB_EHCI_TT_NEWSCHED=y x86/build: Fix mkcapflags.sh bash-ism x86/Kconfig: Simplify X86_UP_APIC handling x86/Kconfig: Simplify X86_IO_APIC dependencies x86/Kconfig: Avoid issuing pointless turned off entries to .config commit 8f74bc5ff0eb20a055e4cb8d390669164ca15cb3 Merge: 60f898e 1c1d046 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:19:10 2015 -0700 Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 boot changes from Ingo Molnar: "A number of cleanups" * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/boot: Standardize strcmp() x86/boot/64: Remove pointless early_printk() message x86/boot/video: Move the 'video_segment' variable to video.c commit 60f898eeaaa1c5d0162a4240bacf33a6c87ecef6 Merge: 977e1ba 3b75232 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:16:36 2015 -0700 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 asm changes from Ingo Molnar: "There were lots of changes in this development cycle: - over 100 separate cleanups, restructuring changes, speedups and fixes in the x86 system call, irq, trap and other entry code, part of a heroic effort to deobfuscate a decade old spaghetti asm code and its C code dependencies (Denys Vlasenko, Andy Lutomirski) - alternatives code fixes and enhancements (Borislav Petkov) - simplifications and cleanups to the compat code (Brian Gerst) - signal handling fixes and new x86 testcases (Andy Lutomirski) - various other fixes and cleanups By their nature many of these changes are risky - we tried to test them well on many different x86 systems (there are no known regressions), and they are split up finely to help bisection - but there's still a fair bit of residual risk left so caveat emptor" * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (148 commits) perf/x86/64: Report regs_user->ax too in get_regs_user() perf/x86/64: Simplify regs_user->abi setting code in get_regs_user() perf/x86/64: Do report user_regs->cx while we are in syscall, in get_regs_user() perf/x86/64: Do not guess user_regs->cs, ss, sp in get_regs_user() x86/asm/entry/32: Tidy up JNZ instructions after TESTs x86/asm/entry/64: Reduce padding in execve stubs x86/asm/entry/64: Remove GET_THREAD_INFO() in ret_from_fork x86/asm/entry/64: Simplify jumps in ret_from_fork x86/asm/entry/64: Remove a redundant jump x86/asm/entry/64: Optimize [v]fork/clone stubs x86/asm/entry: Zero EXTRA_REGS for stub32_execve() too x86/asm/entry/64: Move stub_x32_execvecloser() to stub_execveat() x86/asm/entry/64: Use common code for rt_sigreturn() epilogue x86/asm/entry/64: Add forgotten CFI annotation x86/asm/entry/irq: Simplify interrupt dispatch table (IDT) layout x86/asm/entry/64: Move opportunistic sysret code to syscall code path x86, selftests: Add sigreturn selftest x86/alternatives: Guard NOPs optimization x86/asm/entry: Clear EXTRA_REGS for all executable formats x86/signal: Remove pax argument from restore_sigcontext ... commit 977e1ba50893c15121557b39de586901fe3f75cf Merge: 7fd5647 1912c7a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:15:09 2015 -0700 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 apic changes from Ingo Molnar: "Changes: - SGI UV APIC driver updates - dead code removal" * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/apic/uv: Update the UV APIC HUB check x86/apic/uv: Update the UV APIC driver check x86/apic/uv: Update the APIC UV OEM check x86/apic: Remove verify_local_APIC() commit 8f61f3598d541b12e714d9e3f8f6094cff946c6f Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Mar 23 18:36:57 2015 -0400 tools/power turbostat: label base frequency syntax only. The cool kids are now using the phrase "base frequency", where in the past we used "max non-turbo frequency" or "TSC frequency". This distinction becomes important when a processor has a TSC that runs at a different speed than the "base frequency". Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit e33cbe852de48c313a8a52686765c58a711dd9e4 Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Mar 13 16:30:57 2015 -0400 tools/power turbostat: update PERF_LIMIT_REASONS decoding cosmetic only. order the decoding of MSR_PERF_LIMIT_REASONS bits from MSB to LSB -- which you notice when more than 1 bit is set and you are, say, comparing the output to the documentation... Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 1cc21f7b6b747220c29b42cfd1c84b5648d12407 Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Feb 23 00:34:57 2015 -0500 tools/power turbostat: simplify default output Casual turbostat users generally just want to know MHz. So by default, just print enough information to make sense of MHz. All the other configuration data and columns for C-states and temperature etc, are printed with the --debug option. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 5f2e3274e527ec52413b43b5a9b30422eda4cdd2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 21:35:51 2015 +0200 ACPI / scan: Fix NULL pointer dereference in acpi_companion_match() Commit e1acdeb0e770 "ACPI / scan: Simplify acpi_match_device()" introduced code that may lead to a NULL pointer dereference when trying to unlock a mutex. Fix that. Fixes: e1acdeb0e770 "ACPI / scan: Simplify acpi_match_device()" Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fe205bdd1321f95f8f3c35d243ea7cb22af8fbe1 Author: Thomas Meyer <thomas@xxxxxxxx> Date: Fri Apr 3 16:51:26 2015 +0200 um: Print minimum physical memory requirement Print a more sensible message about the minimum physical memory requirement. Signed-off-by: Thomas Meyer <thomas@xxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 33bbc3065414722065a20cbdbeaf352173e72f39 Author: Thomas Meyer <thomas@xxxxxxxx> Date: Sat Mar 28 09:59:46 2015 +0100 um: Move uml_postsetup in the init_thread stack atomic_notifier_chain_register() and uml_postsetup() do call kernel code that rely on the "current" kernel macro and a valid task_struct resp. thread_info struct. Give those functions a valid stack by moving uml_postsetup() in the init_thread stack. This moves enables a panic() call in this early code to generate a valid stacktrace, instead of crashing. E.g. when an UML kernel is started with an initrd but too few physical memory the panic() call get's actually processed. Signed-off-by: Thomas Meyer <thomas@xxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 04a418495e0852263d77c4fb82adf470feaafef3 Author: Thomas Meyer <thomas@xxxxxxxx> Date: Sat Mar 28 10:07:37 2015 +0100 um: add a kmsg_dumper Add a kmsg_dumper, that dumps the kmsg buffer to stdout, when no console is available. This an enables the printing of early panic() calls triggered in uml_postsetup(). When a panic() call happens so early in the UML kernel no earlyprintk/console is available yet, but with a kmsg_dumper in place the kernel message buffer will be outputted to the user, to give a better hint, of what the failure was. Signed-off-by: Thomas Meyer <thomas@xxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit fc9bea0e28db8cbfe0a08c1bfb1796bfd7adf49b Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Tue Mar 24 18:31:24 2015 +0300 x86, UML: fix integer overflow in ELF_ET_DYN_BASE Almost all arches define ELF_ET_DYN_BASE as 2/3 of TASK_SIZE. Though it seems that some architectures do this in a wrong way. The problem is that 2*TASK_SIZE may overflow 32-bits so the real ELF_ET_DYN_BASE becomes wrong. Fix this overflow by dividing TASK_SIZE prior to multiplying: (TASK_SIZE / 3 * 2) Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 502690674281a047abd45f81e64c498bc23a8bb3 Author: david.oberhollenzer@xxxxxxxxxxxxx <david.oberhollenzer@xxxxxxxxxxxxx> Date: Thu Mar 26 23:59:50 2015 +0100 UBI: power cut emulation for testing Emulate random power cuts by switching device to ro after a number of writes to allow simple power cut testing with nand-sim. Maximum and minimum number of successful writes before power cut and what kind of writes (EC header, VID header or none) to interrupt configurable via debugfs. Signed-off-by: David Oberhollenzer <david.oberhollenzer@xxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 0c9bd6365d0b278728359843b8303047ddedb831 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Mar 24 15:47:38 2015 +0100 um: hostfs: Reduce number of syscalls in readdir Currently hostfs issues every time a seekdir(), in fact it has to do this only upon the first call. Also telldir() can be omitted as we can obtain the directory offset from readdir(). Signed-off-by: Richard Weinberger <richard@xxxxxx> commit a98a6d864d3b84219a6ec6213b00c260fb52f9f4 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 21:59:35 2015 +0100 um: Remove broken highmem support Highmem was always buggy and experimental on UML(i386). In times where 64 bit computers are default we can remove that experimental code. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 28fa468f53163bc0b867b4cc75a9e36e7ed4dbbd Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 21:42:54 2015 +0100 um: Remove broken SMP support At times where UML used the TT mode to operate it had kind of SMP support. It never got finished nor was stable. Let's rip out that cruft and stop confusing developers which do tree-wide SMP cleanups. If someone wants SMP support UML it has do be done from scratch. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d0b5e15f0c0fdd759dd3dd48dc2dc2e7199e0da0 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 21:31:27 2015 +0100 um: Remove SKAS3/4 support Before we had SKAS0 UML had two modes of operation TT (tracing thread) and SKAS3/4 (separated kernel address space). TT was known to be insecure and got removed a long time ago. SKAS3/4 required a few (3 or 4) patches on the host side which never went mainline. The last host patch is 10 years old. With SKAS0 mode (separated kernel address space using 0 host patches), default since 2005, SKAS3/4 is obsolete and can be removed. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit aaeac66b1a02d399ec8ee63e8d617c1d601ea353 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 21:28:15 2015 +0100 um: Remove ppc cruft That code is a relict from the early days of UML. ppc support was never completed nor worked. Let's rip it out. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 23fc5f156bddbaaa8939a74c67dfd5bf6d07f596 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 21:27:35 2015 +0100 um: Remove ia64 cruft That code is a relict from the early days of UML. ia64 support was never completed nor worked. Let's rip it out. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit fcf81931a0f9cff10101386685f2e9f30fe5f3d2 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 14:11:04 2015 +0100 um: Remove dead code from stacktrace Remove left over code from commit 970e51feaddb (um: Add support for CONFIG_STACKTRACE) Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 97b2f0dc331474fb80ba4f4e4aee1d8e9ffbf7ce Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 20:40:10 2015 +0200 arm64: Removed unused variable arch/arm64/kernel/signal.c: In function â??handle_signalâ??: arch/arm64/kernel/signal.c:290:22: warning: unused variable â??threadâ?? [-Wunused-variable] Fixes: arm64: Remove signal translation and exec_domain Reported-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 97bb43c3e06e9bfdc9e3140a312004df462685b9 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Apr 13 20:15:21 2015 +0200 netfilter: nf_tables: get rid of the expression example code There's an example net/netfilter/nft_expr_template.c example file in tree that got out of sync along time, remove it. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: Patrick McHardy <kaber@xxxxxxxxx> commit 3e135cd499bfbec15684fe9c756162d58df4dc77 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 10:46:42 2015 +0100 netfilter: nft_dynset: dynamic stateful expression instantiation Support instantiating stateful expressions based on a template that are associated with dynamically created set entries. The expressions are evaluated when adding or updating the set element. This allows to maintain per flow state using the existing set infrastructure and expression types, with arbitrary definitions of a flow. Usage is currently restricted to anonymous sets, meaning only a single binding can exist, since the desired semantics of multiple independant bindings haven't been defined so far. Examples (userspace syntax is still WIP): 1. Limit the rate of new SSH connections per host, similar to iptables hashlimit: flow ip saddr timeout 60s \ limit 10/second \ accept 2. Account network traffic between each set of /24 networks: flow ip saddr & 255.255.255.0 . ip daddr & 255.255.255.0 \ counter 3. Account traffic to each host per user: flow skuid . ip daddr \ counter 4. Account traffic for each combination of source address and TCP flags: flow ip saddr . tcp flags \ counter The resulting set content after a Xmas-scan look like this: { 192.168.122.1 . fin | psh | urg : counter packets 1001 bytes 40040, 192.168.122.1 . ack : counter packets 74 bytes 3848, 192.168.122.1 . psh | ack : counter packets 35 bytes 3144 } Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7c6c6e95a12e46f499749bdd496e53d03950f377 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 10:46:41 2015 +0100 netfilter: nf_tables: add flag to indicate set contains expressions Add a set flag to indicate that the set is used as a state table and contains expressions for evaluation. This operation is mutually exclusive with the mapping operation, so sets specifying both are rejected. The lookup expression also rejects binding to state tables since it only deals with loopup and map operations. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 151d799a61da1b6f6b7e5116fb776177917bbe9a Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 10:46:40 2015 +0100 netfilter: nf_tables: mark stateful expressions Add a flag to mark stateful expressions. This is used for dynamic expression instanstiation to limit the usable expressions. Strictly speaking only the dynset expression can not be used in order to avoid recursion, but since dynamically instantiating non-stateful expressions will simply create an identical copy, which behaves no differently than the original, this limits to expressions where it actually makes sense to dynamically instantiate them. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f25ad2e907f110378159fe5e088aa13176faaa5b Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 10:46:39 2015 +0100 netfilter: nf_tables: prepare for expressions associated to set elements Preparation to attach expressions to set elements: add a set extension type to hold an expression and dump the expression information with the set element. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 0b2d8a7b638b5034d2d68f6add8af94daaa1d4cd Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 10:46:38 2015 +0100 netfilter: nf_tables: add helper functions for expression handling Add helper functions for initializing, cloning, dumping and destroying a single expression that is not part of a rule. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 24477e57412a7a7dea62637ac990bc5c1cff0665 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Apr 8 19:41:40 2015 +0200 uapi: ebtables: don't include linux/if.h linux/if.h creates conflicts in userspace with net/if.h By using it here we force userspace to use linux/if.h while net/if.h may be needed. Note that: include/linux/netfilter_ipv4/ip_tables.h and include/linux/netfilter_ipv6/ip6_tables.h don't include linux/if.h and they also refer to IFNAMSIZ, so they are expecting userspace to include use net/if.h from the client program. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7fd56474db326f7a6df0e2a4e3a9600cc083ab9b Merge: 49d2953 def7470 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 11:08:28 2015 -0700 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer updates from Ingo Molnar: "The main changes in this cycle were: - clockevents state machine cleanups and enhancements (Viresh Kumar) - clockevents broadcast notifier horror to state machine conversion and related cleanups (Thomas Gleixner, Rafael J Wysocki) - clocksource and timekeeping core updates (John Stultz) - clocksource driver updates and fixes (Ben Dooks, Dmitry Osipenko, Hans de Goede, Laurent Pinchart, Maxime Ripard, Xunlei Pang) - y2038 fixes (Xunlei Pang, John Stultz) - NMI-safe ktime_get_raw_fast() and general refactoring of the clock code, in preparation to perf's per event clock ID support (Peter Zijlstra) - generic sched/clock fixes, optimizations and cleanups (Daniel Thompson) - clockevents cpu_down() race fix (Preeti U Murthy)" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (94 commits) timers/PM: Drop unnecessary braces from tick_freeze() timers/PM: Fix up tick_unfreeze() timekeeping: Get rid of stale comment clockevents: Cleanup dead cpu explicitely clockevents: Make tick handover explicit clockevents: Remove broadcast oneshot control leftovers sched/idle: Use explicit broadcast oneshot control function ARM: Tegra: Use explicit broadcast oneshot control function ARM: OMAP: Use explicit broadcast oneshot control function intel_idle: Use explicit broadcast oneshot control function ACPI/idle: Use explicit broadcast control function ACPI/PAD: Use explicit broadcast oneshot control function x86/amd/idle, clockevents: Use explicit broadcast oneshot control functions clockevents: Provide explicit broadcast oneshot control functions clockevents: Remove the broadcast control leftovers ARM: OMAP: Use explicit broadcast control function intel_idle: Use explicit broadcast control function cpuidle: Use explicit broadcast control function ACPI/processor: Use explicit broadcast control function ACPI/PAD: Use explicit broadcast control function ... commit 3d0d26c7976bf190c3f1d2efbc31462db8246bc0 Author: Kenneth Klette Jonassen <kennetkl@xxxxxxxxxx> Date: Sat Apr 11 02:17:49 2015 +0200 tcp: fix bogus RTT for CC when retransmissions are acked Since retransmitted segments are not used for RTT estimation, previously SACKed segments present in the rtx queue are used. This estimation can be several times larger than the actual RTT. When a cumulative ack covers both previously SACKed and retransmitted segments, CC may thus get a bogus RTT. Such segments previously had an RTT estimation in tcp_sacktag_one(), so it seems reasonable to not reuse them in tcp_clean_rtx_queue() at all. Afaik, this has had no effect on SRTT/RTO because of Karn's check. Signed-off-by: Kenneth Klette Jonassen <kennetkl@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Tested-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49d2953c72c64182ef2dcac64f6979c0b4e25db7 Merge: cc76ee7 62a935b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 10:47:34 2015 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler changes from Ingo Molnar: "Major changes: - Reworked CPU capacity code, for better SMP load balancing on systems with assymetric CPUs. (Vincent Guittot, Morten Rasmussen) - Reworked RT task SMP balancing to be push based instead of pull based, to reduce latencies on large CPU count systems. (Steven Rostedt) - SCHED_DEADLINE support updates and fixes. (Juri Lelli) - SCHED_DEADLINE task migration support during CPU hotplug. (Wanpeng Li) - x86 mwait-idle optimizations and fixes. (Mike Galbraith, Len Brown) - sched/numa improvements. (Rik van Riel) - various cleanups" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits) sched/core: Drop debugging leftover trace_printk call sched/deadline: Support DL task migration during CPU hotplug sched/core: Check for available DL bandwidth in cpuset_cpu_inactive() sched/deadline: Always enqueue on previous rq when dl_task_timer() fires sched/core: Remove unused argument from init_[rt|dl]_rq() sched/deadline: Fix rt runtime corruption when dl fails its global constraints sched/deadline: Avoid a superfluous check sched: Improve load balancing in the presence of idle CPUs sched: Optimize freq invariant accounting sched: Move CFS tasks to CPUs with higher capacity sched: Add SD_PREFER_SIBLING for SMT level sched: Remove unused struct sched_group_capacity::capacity_orig sched: Replace capacity_factor by usage sched: Calculate CPU's usage statistic and put it into struct sg_lb_stats::group_usage sched: Add struct rq::cpu_capacity_orig sched: Make scale_rt invariant with frequency sched: Make sched entity usage tracking scale-invariant sched: Remove frequency scaling from cpu_capacity sched: Track group sched_entity usage contributions sched: Add sched_avg::utilization_avg_contrib ... commit 4577139b2dabf58973d59d157aae4ddd3bde863a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Apr 10 23:07:54 2015 +0200 net: use jump label patching for ingress qdisc in __netif_receive_skb_core Even if we make use of classifier and actions from the egress path, we're going into handle_ing() executing additional code on a per-packet cost for ingress qdisc, just to realize that nothing is attached on ingress. Instead, this can just be blinded out as a no-op entirely with the use of a static key. On input fast-path, we already make use of static keys in various places, e.g. skb time stamping, in RPS, etc. It makes sense to not waste time when we're assured that no ingress qdisc is attached anywhere. Enabling/disabling of that code path is being done via two helpers, namely net_{inc,dec}_ingress_queue(), that are being invoked under RTNL mutex when a ingress qdisc is being either initialized or destructed. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc76ee75a9d3201eeacc576d17fbc1511f673010 Merge: 9c65e12 58995a9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 10:27:28 2015 -0700 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull core locking changes from Ingo Molnar: "Main changes: - jump label asm preparatory work for PowerPC (Anton Blanchard) - rwsem optimizations and cleanups (Davidlohr Bueso) - mutex optimizations and cleanups (Jason Low) - futex fix (Oleg Nesterov) - remove broken atomicity checks from {READ,WRITE}_ONCE() (Peter Zijlstra)" * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: powerpc, jump_label: Include linux/jump_label.h to get HAVE_JUMP_LABEL define jump_label: Allow jump labels to be used in assembly jump_label: Allow asm/jump_label.h to be included in assembly locking/mutex: Further simplify mutex_spin_on_owner() locking: Remove atomicy checks from {READ,WRITE}_ONCE locking/rtmutex: Rename argument in the rt_mutex_adjust_prio_chain() documentation as well locking/rwsem: Fix lock optimistic spinning when owner is not running locking: Remove ACCESS_ONCE() usage locking/rwsem: Check for active lock before bailing on spinning locking/rwsem: Avoid deceiving lock spinners locking/rwsem: Set lock ownership ASAP locking/rwsem: Document barrier need when waking tasks locking/futex: Check PF_KTHREAD rather than !p->mm to filter out kthreads locking/mutex: Refactor mutex_spin_on_owner() locking/mutex: In mutex_spin_on_owner(), return true when owner changes commit 9c65e12a55fea2da50f4069ec0dc47c50b7bd2bb Merge: 67dbb3a 84a87c6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 10:22:30 2015 -0700 Merge branch 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull EFI update from Ingo Molnar: "This tree includes various fixes, cleanups, a new efi=debug boot option and EFI boot stub memory allocation optimizations" * 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: efi/libstub: Retrieve FDT size when loaded from UEFI config table efi: Clean up the efi_call_phys_[prolog|epilog]() save/restore interaction efi: Disable interrupts around EFI calls, not in the epilog/prolog calls x86/efi: Add a "debug" option to the efi= cmdline firmware: dmi_scan: Use direct access to static vars firmware: dmi_scan: Use full dmi version for SMBIOS3 commit dfc96c192ad48a16b0d5bba43165d9893a00fe37 Merge: cf89013 14ffbbb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 13 13:15:14 2015 -0400 Merge branch 'netdev_diet' Thomas Graf says: ==================== Bring sizeof(net_device) down to < 2K bytes The size of struct net_device crossed the 2K boundary a while ago which is a waste in combination with many net namespaces. This series brings the size of struct net_device down to well below 2K in total size with a typical configuration. Some reserves a several holes leave room for further expansion. Before: /* size: 2176, cachelines: 34, members: 121 */ After: /* size: 1984, cachelines: 31, members: 120 */ ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14ffbbb8dab670393a8718adb7b0a385b23fa7bc Author: Thomas Graf <tgraf@xxxxxxx> Date: Fri Apr 10 15:52:38 2015 +0200 net_device: Reorder members to fill holes Some trivial reorders while preserving the RX/TX cache lines split to fill a couple of holes. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2c6544829f8df396a0a233c86d5ee78f405ffef Author: Thomas Graf <tgraf@xxxxxxx> Date: Fri Apr 10 15:52:37 2015 +0200 e1000e: Move pm_qos_req to e1000e adapter e1000e is the only driver requiring pm_qos_req, instead of causing every device to waste up to 240 bytes. Allocate it for the specific driver. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67dbb3a099d0fe04df5974edddc0b8c64a9f7529 Merge: 9003601 47d6897 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 10:11:18 2015 -0700 Merge tag 'md/4.0-rc7-fix' of git://neil.brown.name/md Pull md fixes from Neil Brown: "Two regression fixes for md, one fairly recent and minor (diskstats has confusing data) and one older and more serious - RAID0 with non-power-of-2 chunksize corrupts data. I guess (almost) no-one uses non-power-of-2 chunks. Summary: - Revert recent change which broke IO accounting. - Fix bug with RAID0 arrays with non-power-of-2 chunk size" * tag 'md/4.0-rc7-fix' of git://neil.brown.name/md: md/raid0: fix bug with chunksize not a power of 2. md: fix md io stats accounting broken commit cf890138087a6da2f56a642acb80476370b04332 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Apr 13 15:20:37 2015 +0200 selinux/nlmsg: add a build time check for rtnl/xfrm cmds When a new rtnl or xfrm command is added, this part of the code is frequently missing. Let's help the developer with a build time test. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 940db9e654dab0cb68b5b9ec52f627945807aac9 Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Tue Mar 24 18:31:22 2015 +0300 avr32: fix integer overflow in ELF_ET_DYN_BASE Almost all arches define ELF_ET_DYN_BASE as 2/3 of TASK_SIZE. Though it seems that some architectures do this in a wrong way. The problem is that 2*TASK_SIZE may overflow 32-bits so the real ELF_ET_DYN_BASE becomes wrong. Fix this overflow by dividing TASK_SIZE prior to multiplying: (TASK_SIZE / 3 * 2) Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> commit 900360131066f192c82311a098d03d6ac6429e20 Merge: 4541fec ca3f087 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 09:47:01 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull KVM updates from Paolo Bonzini: "First batch of KVM changes for 4.1 The most interesting bit here is irqfd/ioeventfd support for ARM and ARM64. Summary: ARM/ARM64: fixes for live migration, irqfd and ioeventfd support (enabling vhost, too), page aging s390: interrupt handling rework, allowing to inject all local interrupts via new ioctl and to get/set the full local irq state for migration and introspection. New ioctls to access memory by virtual address, and to get/set the guest storage keys. SIMD support. MIPS: FPU and MIPS SIMD Architecture (MSA) support. Includes some patches from Ralf Baechle's MIPS tree. x86: bugfixes (notably for pvclock, the others are small) and cleanups. Another small latency improvement for the TSC deadline timer" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (146 commits) KVM: use slowpath for cross page cached accesses kvm: mmu: lazy collapse small sptes into large sptes KVM: x86: Clear CR2 on VCPU reset KVM: x86: DR0-DR3 are not clear on reset KVM: x86: BSP in MSR_IA32_APICBASE is writable KVM: x86: simplify kvm_apic_map KVM: x86: avoid logical_map when it is invalid KVM: x86: fix mixed APIC mode broadcast KVM: x86: use MDA for interrupt matching kvm/ppc/mpic: drop unused IRQ_testbit KVM: nVMX: remove unnecessary double caching of MAXPHYADDR KVM: nVMX: checks for address bits beyond MAXPHYADDR on VM-entry KVM: x86: cache maxphyaddr CPUID leaf in struct kvm_vcpu KVM: vmx: pass error code with internal error #2 x86: vdso: fix pvclock races with task migration KVM: remove kvm_read_hva and kvm_read_hva_atomic KVM: x86: optimize delivery of TSC deadline timer interrupt KVM: x86: extract blocking logic from __vcpu_run kvm: x86: fix x86 eflags fixed bit KVM: s390: migrate vcpu interrupt state ... commit 4541fec3104bef0c60633f9e180be94ea5ccc2b7 Merge: 39a8804 2bfd4d1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 08:59:21 2015 -0700 Merge tag 'linux-kselftest-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest updates from Shuah Khan: "This is a milestone update in a sense. Several new tests and install and packaging support is added in this update. This update adds install and packaging tools developed on top of back-end shared logic enhancemnets to run and install tests. In addition several timer tests are added. - New timer tests from John Stultz - rtc test from Prarit Bhargava - Enhancements to un and install tests from Michael Ellerman - Install and packaging tools from Shuah Khan - Cross-compilation enablement from Tyler Baker - A couple of bug fixes" * tag 'linux-kselftest-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (42 commits) ftracetest: Do not use usleep directly selftest/mqueue: enable cross compilation selftest/ipc: enable cross compilation selftest/memfd: include default header install path selftest/mount: enable cross compilation selftest/memfd: enable cross compilation kselftests: timers: Make set-timer-lat fail more gracefully for !CAP_WAKE_ALARM selftests: Change memory on-off-test.sh name to be unique selftests: change cpu on-off-test.sh name to be unique selftests/mount: Make git ignore all binaries in mount test suite kselftests: timers: Reduce default runtime on inconsistency-check and set-timer-lat ftracetest: Convert exit -1 to exit $FAIL ftracetest: Cope properly with stack tracer not being enabled tools, update rtctest.c to verify passage of time Documentation, split up rtc.txt into documentation and test file selftests: Add tool to generate kselftest tar archive selftests: Add kselftest install tool selftests: Set CC using CROSS_COMPILE once in lib.mk selftests: Add install support for the powerpc tests selftests/timers: Use shared logic to run and install tests ... commit 49ecb10e01c68b05dcb73005a54430c15caa05d0 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Mar 31 17:37:00 2015 +0200 drm/radeon: allow creating overlapping userptrs Similar to the Intel implementation, but instead of just falling back to a global linear list when we have an overlapping userptr request we accumulate all overlapping userptrs in a local list. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c6a1fc725a847b75be9bd0d1e91d0e1c529ad93f Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Mar 31 17:36:59 2015 +0200 drm/radeon: add userptr config option This allows selecting CONFIG_MMU_NOTIFIER if it isn't already selected. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7d7402642eaf385aef0772eff5a35e34fc4995d7 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:39 2015 +0100 netfilter: nf_tables: variable sized set element keys / data This patch changes sets to support variable sized set element keys / data up to 64 bytes each by using variable sized set extensions. This allows to use concatenations with bigger data items suchs as IPv6 addresses. As a side effect, small keys/data now don't require the full 16 bytes of struct nft_data anymore but just the space they need. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d0a11fc3dc4ab4c717642c9c15c8ad1cbc00d2ec Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:38 2015 +0100 netfilter: nf_tables: support variable sized data in nft_data_init() Add a size argument to nft_data_init() and pass in the available space. This will be used by the following patches to support variable sized set element data. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 49499c3e6e18b7677a63316f3ff54a16533dc28f Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:37 2015 +0100 netfilter: nf_tables: switch registers to 32 bit addressing Switch the nf_tables registers from 128 bit addressing to 32 bit addressing to support so called concatenations, where multiple values can be concatenated over multiple registers for O(1) exact matches of multiple dimensions using sets. The old register values are mapped to areas of 128 bits for compatibility. When dumping register numbers, values are expressed using the old values if they refer to the beginning of a 128 bit area for compatibility. To support concatenations, register loads of less than a full 32 bit value need to be padded. This mainly affects the payload and exthdr expressions, which both unconditionally zero the last word before copying the data. Userspace fully passes the testsuite using both old and new register addressing. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b1c96ed37ceeef5573402d4af202897edaf1e4b8 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:36 2015 +0100 netfilter: nf_tables: add register parsing/dumping helpers Add helper functions to parse and dump register values in netlink attributes. These helpers will later be changed to take care of translation between the old 128 bit and the new 32 bit register numbers. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8cd8937ac0d68435b4ca9bd3c987c3cfea269b4f Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:35 2015 +0100 netfilter: nf_tables: convert sets to u32 data pointers Simple conversion to use u32 pointers to the beginning of the data area to keep follow up patches smaller. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e562d860d7c8ad28f83dc4c9094fd3ae648ea0d6 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:34 2015 +0100 netfilter: nf_tables: kill nft_data_cmp() Only needlessly complicates things due to requiring specific argument types. Use memcmp directly. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit fad136ea0d32ead1f62e3e2a3d436c26d74e5289 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:33 2015 +0100 netfilter: nf_tables: convert expressions to u32 register pointers Simple conversion to use u32 pointers to the beginning of the registers to keep follow up patches smaller. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1ca2e1702c050aff352cb3efc8a649363dbaeab2 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:32 2015 +0100 netfilter: nf_tables: use struct nft_verdict within struct nft_data Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a55e22e92f1a31018e6dc8fce35380900f022c24 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:31 2015 +0100 netfilter: nf_tables: get rid of NFT_REG_VERDICT usage Replace the array of registers passed to expressions by a struct nft_regs, containing the verdict as a seperate member, which aliases to the NFT_REG_VERDICT register. This is needed to seperate the verdict from the data registers completely, so their size can be changed. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e082f56313f374d723b0366978ddb062c8fe79ea Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:28 2015 +0800 btrfs: quota: Update quota tree after qgroup relationship change. Previous patch modified the in memory struct but it's not written in quota tree until next commit. So user will still get old data using "btrfs qgroup show" after assign/remove. This patch will call btrfs_run_qgroups in assign ioctl so it will be updated to in memory quota trees and user will get up-to-date results. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 9c8b35b1ba21bbf7527056f394aa6109424c55ef Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:27 2015 +0800 btrfs: quota: Automatically update related qgroups or mark INCONSISTENT flags when assigning/deleting a qgroup relations. Operation like qgroups assigning/deleting qgroup relations will mostly cause qgroup data inconsistent, since it needs to do the full rescan to determine whether shared extents are exclusive or still shared in parent qgroups. But there are some exceptions, like qgroup with only exclusive extents (qgroup->excl == qgroup->rfer), in that case, we only needs to modify all its parents' excl and rfer. So this patch adds a quick path for such qgroup in qgroup assign/remove routine, and if quick path failed, the qgroup status will be marked INCONSISTENT, and return 1 to info user-land. BTW since the quick path is much the same of qgroup_excl_accounting(), so move the core of it to __qgroup_excl_accounting() and reuse it. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8ea0ec9e011eb542a3e7b1171776aa4877cf8a90 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:26 2015 +0800 btrfs: qgroup: clear STATUS_FLAG_ON in disabling quota. we forgot to clear STATUS_FLAG_ON in quota_disable(), it will cause a problem shown as below: # mount /dev/sdc /mnt # btrfs quota enable /mnt # btrfs quota disable /mnt # btrfs quota rescan /mnt quota rescan started <--- expecting it fail here. # echo $? 0 Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 53b7cde9d5aa58cf7605664f0e34419156b02698 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:25 2015 +0800 btrfs: Update btrfs qgroup status item when rescan is done. Update qgroup status when rescan is done. Before this patch, status item is not updated on rescan finish, which causing the RESCAN and INCONSISTENT flags never cleared. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3393168d22fd5f1be5b5429a818c10f642e88ae3 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:24 2015 +0800 btrfs: qgroup: Fix dead judgement on qgroup_rescan_leaf() return value. Old qgroup_rescan_leaf() comment indicates ret == 2 as complete and cleared INCONSISTENT flag. This is not true since it will never return 2, and inside it no codes will clear INCONSISTENT flag. The flag clearance is done in btrfs_qgroup_rescan_work(). This caused the bug that INCONSISTENT flag is never cleared. So change the comment and fix the dead judgment. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e09fe2d2119800e6060f9b8ba71e072a0eb0fa4d Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:23 2015 +0800 btrfs: Don't allow subvolid >= (1 << BTRFS_QGROUP_LEVEL_SHIFT) to be created Btrfs will create qgroup on subvolume creation if quota is enabled, but qgroup uses the high bits(currently 16 bits) as level, to build the inheritance. However it is fully possible a subvolume can be created with a subvolumeid larger than 1 << BTRFS_QGROUP_LEVEL_SHIFT, so it will be considered as level 1 and can't be assigned to other qgroup in level 1. This patch will prevent such things so qgroup inheritance will not be screwed up. The downside is very clear, btrfs subvolume number limit will decrease from (u64 max - 256(fisrt free objectid) - 256(last free objectid)) to (u48 max -256(first free objectid)). But we still have near u48(that's 15 digits in dec), so that should not be a huge problem. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8465ecec9611d60cbbc8e374ecf68453e0dd5b50 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:22 2015 +0800 btrfs: Check qgroup level in kernel qgroup assign. Although we have qgroup level check in btrfs-progs, it's not enough since other programe may still call ioctl directly not using btrfs-progs. For example, systemd. But it's btrfs-progs to be blame since we don't provide a full-function(like subvolume create things) btrfs library with enough check, and only rely on kernel ioctl. So Add level checks in kernel too. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f5a6b1c53bdd44f79e3904c0f5e59f956b49b2c8 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Mon Nov 24 10:27:09 2014 -0500 btrfs: qgroup: allow to remove qgroup which has parent but no child. When a qgroup has parents but no child, it should be removable in Theory I think. But currently, we can not remove it when it has either parent or child. Example: # btrfs quota enable /mnt # btrfs qgroup create 1/0 /mnt # btrfs qgroup create 2/0 /mnt # btrfs qgroup assign 1/0 2/0 /mnt # btrfs qgroup show -pcre /mnt qgroupid rfer excl max_rfer max_excl parent child -------- ---- ---- -------- -------- ------ ----- 0/5 16384 16384 0 0 --- --- 1/0 0 0 0 0 2/0 --- 2/0 0 0 0 0 --- 1/0 At this time, there is no subvol or qgroup depending on it. Just a qgroup 2/0 is its parent, but 2/0 can work well without 1/0. So I think 1/0 should be removalbe. But: # btrfs qgroup destroy 1/0 /mnt ERROR: unable to destroy quota group: Device or resource busy This patch remove the check of qgroup->parent in removing it, then we can remove a qgroup when it has a parent. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 09870d2772b284d0061a5e4d1e1cdf6fb6764344 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Tue Nov 11 07:18:22 2014 -0500 btrfs: qgroup: return EINVAL if level of parent is not higher than child's. When we create a subvol inheriting a qgroup, we need to check the level of them. Otherwise, there is a chance a qgroup can inherit another qgroup at the same level. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e2d1f92399afb6ec518b68867ed10db2585b283a Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Fri Feb 6 10:26:52 2015 -0500 btrfs: qgroup: do a reservation in a higher level. There are two problems in qgroup: a). The PAGE_CACHE is 4K, even when we are writing a data of 1K, qgroup will reserve a 4K size. It will cause the last 3K in a qgroup is not available to user. b). When user is writing a inline data, qgroup will not reserve it, it means this is a window we can exceed the limit of a qgroup. The main idea of this patch is reserving the data size of write_bytes rather than the reserve_bytes. It means qgroup will not care about the data size btrfs will reserve for user, but only care about the data size user is going to write. Then reserve it when user want to write and release it in transaction committed. In this way, qgroup can be released from the complex procedure in btrfs and only do the reserve when user want to write and account when the data is written in commit_transaction(). Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 237c0e9f1fbfdca7287f3539f1fa73e5063156b5 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Mon Dec 29 06:23:05 2014 -0500 Btrfs: qgroup, Account data space in more proper timings. Currenly, in data writing, ->reserved is accounted in fill_delalloc(), but ->may_use is released in clear_bit_hook() which is called by btrfs_finish_ordered_io(). That's too late, that said, between fill_delalloc() and btrfs_finish_ordered_io(), the data is doublely accounted by qgroup. It will cause some unexpected -EDQUOT. Example: # btrfs quota enable /root/btrfs-auto-test/ # btrfs subvolume create /root/btrfs-auto-test//sub Create subvolume '/root/btrfs-auto-test/sub' # btrfs qgroup limit 1G /root/btrfs-auto-test//sub dd if=/dev/zero of=/root/btrfs-auto-test//sub/file bs=1024 count=1500000 dd: error writing '/root/btrfs-auto-test//sub/file': Disk quota exceeded 681353+0 records in 681352+0 records out 697704448 bytes (698 MB) copied, 8.15563 s, 85.5 MB/s It's (698 MB) when we got an -EDQUOT, but we limit it by 1G. This patch move the btrfs_qgroup_reserve/free() for data from btrfs_delalloc_reserve/release_metadata() to btrfs_check_data_free_space() and btrfs_free_reserved_data_space(). Then the accounter in qgroup will be updated at the same time with the accounter in space_info updated. In this way, the unexpected -EDQUOT will be killed. Reported-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 31193213f1f9c13f6485007ef1e233b119e46910 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Fri Dec 12 16:44:35 2014 +0800 Btrfs: qgroup: Introduce a may_use to account space_info->bytes_may_use. Currently, for pre_alloc or delay_alloc, the bytes will be accounted in space_info by the three guys. space_info->bytes_may_use --- space_info->reserved --- space_info->used. But on the other hand, in qgroup, there are only two counters to account the bytes, qgroup->reserved and qgroup->excl. And qg->reserved accounts bytes in space_info->bytes_may_use and qg->excl accounts bytes in space_info->used. So the bytes in space_info->reserved is not accounted in qgroup. If so, there is a window we can exceed the quota limit when bytes is in space_info->reserved. Example: # btrfs quota enable /mnt # btrfs qgroup limit -e 10M /mnt # for((i=0;i<20;i++));do fallocate -l 1M /mnt/data$i; done # sync # btrfs qgroup show -pcre /mnt qgroupid rfer excl max_rfer max_excl parent child -------- ---- ---- -------- -------- ------ ----- 0/5 20987904 20987904 0 10485760 --- --- qg->excl is 20987904 larger than max_excl 10485760. This patch introduce a new counter named may_use to qgroup, then there are three counters in qgroup to account bytes in space_info as below. space_info->bytes_may_use --- space_info->reserved --- space_info->used. qgroup->may_use --- qgroup->reserved --- qgroup->excl With this patch applied: # btrfs quota enable /mnt # btrfs qgroup limit -e 10M /mnt # for((i=0;i<20;i++));do fallocate -l 1M /mnt/data$i; done fallocate: /mnt/data9: fallocate failed: Disk quota exceeded fallocate: /mnt/data10: fallocate failed: Disk quota exceeded fallocate: /mnt/data11: fallocate failed: Disk quota exceeded fallocate: /mnt/data12: fallocate failed: Disk quota exceeded fallocate: /mnt/data13: fallocate failed: Disk quota exceeded fallocate: /mnt/data14: fallocate failed: Disk quota exceeded fallocate: /mnt/data15: fallocate failed: Disk quota exceeded fallocate: /mnt/data16: fallocate failed: Disk quota exceeded fallocate: /mnt/data17: fallocate failed: Disk quota exceeded fallocate: /mnt/data18: fallocate failed: Disk quota exceeded fallocate: /mnt/data19: fallocate failed: Disk quota exceeded # sync # btrfs qgroup show -pcre /mnt qgroupid rfer excl max_rfer max_excl parent child -------- ---- ---- -------- -------- ------ ----- 0/5 9453568 9453568 0 10485760 --- --- Reported-by: Cyril SCETBON <cyril.scetbon@xxxxxxx> Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 804ca127fb93988c6a9d5f2bf4a8f1a780c9a2d0 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Fri Dec 12 16:44:34 2014 +0800 Btrfs: qgroup: free reserved in exceeding quota. When we exceed quota limit in writing, we will free some reserved extent when we need to drop but not free account in qgroup. It means, each time we exceed quota in writing, there will be some remain space in qg->reserved we can not use any more. If things go on like this, the all space will be ate up. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4087cf24ae2af17f7dd9fd34e22fde816952d421 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Sun Jan 18 10:59:23 2015 -0500 Btrfs: qgroup: cleanup, remove an unsued parameter in btrfs_create_qgroup(). Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 03477d945f13a284d35a757b2c2323d165d5cd81 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Fri Feb 6 11:06:25 2015 -0500 btrfs: qgroup: fix limit args override whole limit struct btrfs_limit_group use arg limit to override the old qgroup_limit of corresponding qgroup. However, we should override part of old qgroup_limit according to the bit which has been set in arg limit. Signed-off-by: Fan Chengniang <fancn.fnst@xxxxxxxxxxxxxx> Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d3001ed3a82ec2696bb13c78092d0a3460003fd7 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Nov 20 21:04:56 2014 -0500 btrfs: qgroup: update limit info in function btrfs_run_qgroups(). When we commit_transaction(), qgroups in btree should be updated. But, limit info is not considered currently. It will cause a problem when a qgroup of a snapshot inherit the limit info from srcqgroup, then there is an inconsistency. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1510e71c620c27ffc7540176a0689f70d6915e28 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Nov 20 21:01:41 2014 -0500 btrfs: qgroup: consolidate the parameter of fucntion update_qgroup_limit_item(). Cleanup: Change the parameter of update_qgroup_limit_item() to the family of update_qgroup_xxx_item(). Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e8c8541ac379709db8d2339e1cb720469fc2cd8f Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Nov 20 20:58:34 2014 -0500 btrfs: qgroup: update qgroup in memory at the same time when we update it in btree. When we call btrfs_qgroup_inherit() with BTRFS_QGROUP_INHERIT_SET_LIMITS, btrfs will update the limit info of qgroup in btree but forget to update the qgroup in rbtree at the same time. It obviousely will cause an inconsistency. This patch fix it by updating the rbtree at the same time. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3eeb4d597efc9e068902057f1bd040cffc69e9e6 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Nov 20 20:14:38 2014 -0500 btrfs: qgroup: inherit limit info from srcgroup in creating snapshot. Currently, when we snapshot a subvol, snapshot will not copy the limits from srcqgroup. This patch make the qgroup in snapshot inherit the limit info when create a snapshot. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0d68bc92c48167130b61b449f08be27dc862dba2 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Apr 6 14:36:10 2015 +0900 perf kmem: Analyze page allocator events also The perf kmem command records and analyze kernel memory allocation only for SLAB objects. This patch implement a simple page allocator analyzer using kmem:mm_page_alloc and kmem:mm_page_free events. It adds two new options of --slab and --page. The --slab option is for analyzing SLAB allocator and that's what perf kmem currently does. The new --page option enables page allocator events and analyze kernel memory usage in page unit. Currently, 'stat --alloc' subcommand is implemented only. If none of these --slab nor --page is specified, --slab is implied. First run 'perf kmem record' to generate a suitable perf.data file: # perf kmem record --page sleep 5 Then run 'perf kmem stat' to postprocess the perf.data file: # perf kmem stat --page --alloc --line 10 ------------------------------------------------------------------------------- PFN | Total alloc (KB) | Hits | Order | Mig.type | GFP flags ------------------------------------------------------------------------------- 4045014 | 16 | 1 | 2 | RECLAIM | 00285250 4143980 | 16 | 1 | 2 | RECLAIM | 00285250 3938658 | 16 | 1 | 2 | RECLAIM | 00285250 4045400 | 16 | 1 | 2 | RECLAIM | 00285250 3568708 | 16 | 1 | 2 | RECLAIM | 00285250 3729824 | 16 | 1 | 2 | RECLAIM | 00285250 3657210 | 16 | 1 | 2 | RECLAIM | 00285250 4120750 | 16 | 1 | 2 | RECLAIM | 00285250 3678850 | 16 | 1 | 2 | RECLAIM | 00285250 3693874 | 16 | 1 | 2 | RECLAIM | 00285250 ... | ... | ... | ... | ... | ... ------------------------------------------------------------------------------- SUMMARY (page allocator) ======================== Total allocation requests : 44,260 [ 177,256 KB ] Total free requests : 117 [ 468 KB ] Total alloc+freed requests : 49 [ 196 KB ] Total alloc-only requests : 44,211 [ 177,060 KB ] Total free-only requests : 68 [ 272 KB ] Total allocation failures : 0 [ 0 KB ] Order Unmovable Reclaimable Movable Reserved CMA/Isolated ----- ------------ ------------ ------------ ------------ ------------ 0 32 . 44,210 . . 1 . . . . . 2 . 18 . . . 3 . . . . . 4 . . . . . 5 . . . . . 6 . . . . . 7 . . . . . 8 . . . . . 9 . . . . . 10 . . . . . Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1428298576-9785-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9fdd8a875c6f3b02af48d5fa426206ca009b2b06 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Apr 6 14:36:09 2015 +0900 tracing, mm: Record pfn instead of pointer to struct page The struct page is opaque for userspace tools, so it'd be better to save pfn in order to identify page frames. The textual output of $debugfs/tracing/trace file remains unchanged and only raw (binary) data format is changed - but thanks to libtraceevent, userspace tools which deal with the raw data (like perf and trace-cmd) can parse the format easily. So impact on the userspace will also be minimal. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Based-on-patch-by: Joonsoo Kim <js1304@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1428298576-9785-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c99f1b0c6c45d1621f08afb1352689e24a627844 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Mar 2 19:32:20 2015 +0800 btrfs: Support busy loop of write and delete Reproduce: while true; do dd if=/dev/zero of=/mnt/btrfs/file count=[75% fs_size] rm /mnt/btrfs/file done Then we can see above loop failed on NO_SPACE. It it long-term problem since very beginning, because delayed-iput after rm are not run. We already have commit_transaction() in alloc_space code, but it is not triggered in above case. This patch trigger commit_transaction() to run delayed-iput and reflash pinned-space to to make write success. It is based on previous fix of delayed-iput in commit_transaction(), need to be applied on top of: btrfs: Fix NO_SPACE bug caused by delayed-iput Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d7c151717a1efe289aec29fb9f94485f64262c0b Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Feb 26 10:49:20 2015 +0800 btrfs: Fix NO_SPACE bug caused by delayed-iput Steps to reproduce: while true; do dd if=/dev/zero of=/btrfs_dir/file count=[fs_size * 75%] rm /btrfs_dir/file sync done And we'll see dd failed because btrfs return NO_SPACE. Reason: Normally, btrfs_commit_transaction() call btrfs_run_delayed_iputs() in end to free fs space for next write, but sometimes it hadn't done work on time, because btrfs-cleaner thread get delayed-iputs from list before, but do iput() after next write. This is log: [ 2569.050776] comm=btrfs-cleaner func=btrfs_evict_inode() begin [ 2569.084280] comm=sync func=btrfs_commit_transaction() call btrfs_run_delayed_iputs() [ 2569.085418] comm=sync func=btrfs_commit_transaction() done btrfs_run_delayed_iputs() [ 2569.087554] comm=sync func=btrfs_commit_transaction() end [ 2569.191081] comm=dd begin [ 2569.790112] comm=dd func=__btrfs_buffered_write() ret=-28 [ 2569.847479] comm=btrfs-cleaner func=add_pinned_bytes() 0 + 32677888 = 32677888 [ 2569.849530] comm=btrfs-cleaner func=add_pinned_bytes() 32677888 + 23834624 = 56512512 ... [ 2569.903893] comm=btrfs-cleaner func=add_pinned_bytes() 943976448 + 21762048 = 965738496 [ 2569.908270] comm=btrfs-cleaner func=btrfs_evict_inode() end Fix: Make btrfs_commit_transaction() wait current running btrfs-cleaner's delayed-iputs() done in end. Test: Use script similar to above(more complex), before patch: 7 failed in 100 * 20 loop. after patch: 0 failed in 100 * 20 loop. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 18d018ad2c899d3d9c503c25125d56046ed7d3ca Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Feb 24 20:07:44 2015 +0800 btrfs: add WARN_ON() to check is space_info op current space_info's value calculation is some complex and easy to cause bug, add WARN_ON() to help debug. Changelog v1->v2: Put WARN_ON()s under the ENOSPC_DEBUG mount option. Suggested by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c30666d466c70a30491e45dd8d068360f9dd7693 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Feb 25 14:17:20 2015 +0800 btrfs: Set relative data on clear btrfs_block_group_cache->pinned Bug1: space_info->bytes_readonly was set to very large(negative) value in btrfs_remove_block_group(). Reason: Current code set block_group_cache->pinned = 0 in btrfs_delete_unused_bgs(), but above space was not counted to space_info->bytes_readonly. Then in btrfs_remove_block_group(): block_group->space_info->bytes_readonly -= block_group->key.offset; We can see following value in trace: btrfs_remove_block_group: pid=2677 comm=btrfs-cleaner WARNING: bytes_readonly=12582912, key.offset=134217728 Bug2: space_info->total_bytes_pinned grow to value larger than fs size. In a 1.2G fs, we can get following trace log: at first: ZL_DEBUG: add_pinned_bytes: pid=2710 comm=sync change total_bytes_pinned flags=1 869793792 + 95944704 = 965738496 after some op: ZL_DEBUG: add_pinned_bytes: pid=2770 comm=sync change total_bytes_pinned flags=1 1780178944 + 95944704 = 1876123648 after some op: ZL_DEBUG: add_pinned_bytes: pid=3193 comm=sync change total_bytes_pinned flags=1 2924568576 + 95551488 = 3020120064 ... Reason: Similar to bug1, we also need to adjust space_info->total_bytes_pinned in above code block. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 264ca0f60becac34395f3b42171ad0cc2e53ea6e Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Feb 17 17:25:51 2015 +0800 btrfs: Adjust commit-transaction condition to avoid NO_SPACE more If we have any chance to make a successful write, we should not give up. This patch adjust commit-transaction condition from: pinned >= wanted to left + pinned >= wanted Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f2ab76188ec185dde84e7fe7c533ef2f5d668a32 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Feb 16 18:52:17 2015 +0800 btrfs: Fix tail space processing in find_free_dev_extent() It is another reason for NO_SPACE case. When we found enough free space in loop and saved them to max_hole_start/size before, and tail space contains pending extent, origional innocent max_hole_start/size are reset in retry. As a result, find_free_dev_extent() returns less space than it can, and cause NO_SPACE in user program. Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 94b947b2f3f84f3bba25d34c4e2a229fc2276830 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Sat Feb 14 13:23:45 2015 +0800 btrfs: fix condition of commit transaction Old code bypass commit transaction when we don't have enough pinned space, but another case is there exist freed bgs in current transction, it have possibility to make alloc_chunk success. This patch modify the condition to: if (have_free_bg || have_pinned_space) commit_transaction() Confirmed above action by printk before and after patch. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d07db9884a5fba8c8020166c86183c79a18d066a Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:30 2015 +0100 netfilter: nf_tables: introduce nft_validate_register_load() Change nft_validate_input_register() to not only validate the input register number, but also the length of the load, and rename it to nft_validate_register_load() to reflect that change. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 27e6d2017abdfbdb8b790c34c93d65ee10ce2fc5 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:29 2015 +0100 netfilter: nf_tables: kill nft_validate_output_register() All users of nft_validate_register_store() first invoke nft_validate_output_register(). There is in fact no use for using it on its own, so simplify the code by folding the functionality into nft_validate_register_store() and kill it. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 58f40ab6e2427532881a79e139a4aaae7fbe1826 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:28 2015 +0100 netfilter: nft_lookup: use nft_validate_register_store() to validate types In preparation of validating the length of a register store, use nft_validate_register_store() in nft_lookup instead of open coding the validation. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1ec10212f9bc62645932b0ca39bab0eb57d5331a Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:27 2015 +0100 netfilter: nf_tables: rename nft_validate_data_load() The existing name is ambiguous, data is loaded as well when we read from a register. Rename to nft_validate_register_store() for clarity and consistency with the upcoming patch to introduce its counterpart, nft_validate_register_load(). Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 45d9bcda21f4c13be75e3571b0f0ef39e77934b5 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:26 2015 +0100 netfilter: nf_tables: validate len in nft_validate_data_load() For values spanning multiple registers, we need to validate that enough space is available from the destination register onwards. Add a len argument to nft_validate_data_load() and consolidate the existing length validations in preparation of that. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit de249e66a73d696666281cd812087979c6fae552 Author: Chris Mason <clm@xxxxxx> Date: Sat Apr 11 05:09:06 2015 -0700 Btrfs: fix uninit variable in clone ioctl Commit 0d97a64e0 creates a new variable but doesn't always set it up. This puts it back to the original method (key.offset + 1) for the cases not covered by Filipe's new logic. Signed-off-by: Chris Mason <clm@xxxxxx> commit 3e20a26b02bd4f24945c87407df51948dd488620 Merge: 98b0429 5306a54 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Apr 13 16:03:32 2015 +0200 Merge branch '4.0-fixes' into mips-for-linux-next commit ccccf3d67294714af2d72a6fd6fd7d73b01c9329 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Mar 30 18:23:59 2015 +0100 Btrfs: fix inode eviction infinite loop after cloning into it If we attempt to clone a 0 length region into a file we can end up inserting a range in the inode's extent_io tree with a start offset that is greater then the end offset, which triggers immediately the following warning: [ 3914.619057] WARNING: CPU: 17 PID: 4199 at fs/btrfs/extent_io.c:435 insert_state+0x4b/0x10b [btrfs]() [ 3914.620886] BTRFS: end < start 4095 4096 (...) [ 3914.638093] Call Trace: [ 3914.638636] [<ffffffff81425fd9>] dump_stack+0x4c/0x65 [ 3914.639620] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb [ 3914.640789] [<ffffffffa03ca44f>] ? insert_state+0x4b/0x10b [btrfs] [ 3914.642041] [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48 [ 3914.643236] [<ffffffffa03ca44f>] insert_state+0x4b/0x10b [btrfs] [ 3914.644441] [<ffffffffa03ca729>] __set_extent_bit+0x107/0x3f4 [btrfs] [ 3914.645711] [<ffffffffa03cb256>] lock_extent_bits+0x65/0x1bf [btrfs] [ 3914.646914] [<ffffffff8142b2fb>] ? _raw_spin_unlock+0x28/0x33 [ 3914.648058] [<ffffffffa03cbac4>] ? test_range_bit+0xcc/0xde [btrfs] [ 3914.650105] [<ffffffffa03cb3c3>] lock_extent+0x13/0x15 [btrfs] [ 3914.651361] [<ffffffffa03db39e>] lock_extent_range+0x3d/0xcd [btrfs] [ 3914.652761] [<ffffffffa03de1fe>] btrfs_ioctl_clone+0x278/0x388 [btrfs] [ 3914.654128] [<ffffffff811226dd>] ? might_fault+0x58/0xb5 [ 3914.655320] [<ffffffffa03e0909>] btrfs_ioctl+0xb51/0x2195 [btrfs] (...) [ 3914.669271] ---[ end trace 14843d3e2e622fc1 ]--- This later makes the inode eviction handler enter an infinite loop that keeps dumping the following warning over and over: [ 3915.117629] WARNING: CPU: 22 PID: 4228 at fs/btrfs/extent_io.c:435 insert_state+0x4b/0x10b [btrfs]() [ 3915.119913] BTRFS: end < start 4095 4096 (...) [ 3915.137394] Call Trace: [ 3915.137913] [<ffffffff81425fd9>] dump_stack+0x4c/0x65 [ 3915.139154] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb [ 3915.140316] [<ffffffffa03ca44f>] ? insert_state+0x4b/0x10b [btrfs] [ 3915.141505] [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48 [ 3915.142709] [<ffffffffa03ca44f>] insert_state+0x4b/0x10b [btrfs] [ 3915.143849] [<ffffffffa03ca729>] __set_extent_bit+0x107/0x3f4 [btrfs] [ 3915.145120] [<ffffffffa038c1e3>] ? btrfs_kill_super+0x17/0x23 [btrfs] [ 3915.146352] [<ffffffff811548f6>] ? deactivate_locked_super+0x3b/0x50 [ 3915.147565] [<ffffffffa03cb256>] lock_extent_bits+0x65/0x1bf [btrfs] [ 3915.148785] [<ffffffff8142b7e2>] ? _raw_write_unlock+0x28/0x33 [ 3915.149931] [<ffffffffa03bc325>] btrfs_evict_inode+0x196/0x482 [btrfs] [ 3915.151154] [<ffffffff81168904>] evict+0xa0/0x148 [ 3915.152094] [<ffffffff811689e5>] dispose_list+0x39/0x43 [ 3915.153081] [<ffffffff81169564>] evict_inodes+0xdc/0xeb [ 3915.154062] [<ffffffff81154418>] generic_shutdown_super+0x49/0xef [ 3915.155193] [<ffffffff811546d1>] kill_anon_super+0x13/0x1e [ 3915.156274] [<ffffffffa038c1e3>] btrfs_kill_super+0x17/0x23 [btrfs] (...) [ 3915.167404] ---[ end trace 14843d3e2e622fc2 ]--- So just bail out of the clone ioctl if the length of the region to clone is zero, without locking any extent range, in order to prevent this issue (same behaviour as a pwrite with a 0 length for example). This is trivial to reproduce. For example, the steps for the test I just made for fstests: mkfs.btrfs -f SCRATCH_DEV mount SCRATCH_DEV $SCRATCH_MNT touch $SCRATCH_MNT/foo touch $SCRATCH_MNT/bar $CLONER_PROG -s 0 -d 4096 -l 0 $SCRATCH_MNT/foo $SCRATCH_MNT/bar umount $SCRATCH_MNT A test case for fstests follows soon. CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 113e8283869b9855c8b999796aadd506bbac155f Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Mar 30 18:26:47 2015 +0100 Btrfs: fix inode eviction infinite loop after extent_same ioctl If we pass a length of 0 to the extent_same ioctl, we end up locking an extent range with a start offset greater then its end offset (if the destination file's offset is greater than zero). This results in a warning from extent_io.c:insert_state through the following call chain: btrfs_extent_same() btrfs_double_lock() lock_extent_range() lock_extent(inode->io_tree, offset, offset + len - 1) lock_extent_bits() __set_extent_bit() insert_state() --> WARN_ON(end < start) This leads to an infinite loop when evicting the inode. This is the same problem that my previous patch titled "Btrfs: fix inode eviction infinite loop after cloning into it" addressed but for the extent_same ioctl instead of the clone ioctl. CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit df858e76723ace61342b118aa4302bd09de4e386 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Tue Mar 31 14:56:46 2015 +0100 Btrfs: fix range cloning when same inode used as source and destination While searching for extents to clone we might find one where we only use a part of it coming from its tail. If our destination inode is the same the source inode, we end up removing the tail part of the extent item and insert after a new one that point to the same extent with an adjusted key file offset and data offset. After this we search for the next extent item in the fs/subvol tree with a key that has an offset incremented by one. But this second search leaves us at the new extent item we inserted previously, and since that extent item has a non-zero data offset, it it can make us call btrfs_drop_extents with an empty range (start == end) which causes the following warning: [23978.537119] WARNING: CPU: 6 PID: 16251 at fs/btrfs/file.c:550 btrfs_drop_extent_cache+0x43/0x385 [btrfs]() (...) [23978.557266] Call Trace: [23978.557978] [<ffffffff81425fd9>] dump_stack+0x4c/0x65 [23978.559191] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb [23978.560699] [<ffffffffa047f0ea>] ? btrfs_drop_extent_cache+0x43/0x385 [btrfs] [23978.562389] [<ffffffff8104544d>] warn_slowpath_null+0x1a/0x1c [23978.563613] [<ffffffffa047f0ea>] btrfs_drop_extent_cache+0x43/0x385 [btrfs] [23978.565103] [<ffffffff810e3a18>] ? time_hardirqs_off+0x15/0x28 [23978.566294] [<ffffffff81079ff8>] ? trace_hardirqs_off+0xd/0xf [23978.567438] [<ffffffffa047f73d>] __btrfs_drop_extents+0x6b/0x9e1 [btrfs] [23978.568702] [<ffffffff8107c03f>] ? trace_hardirqs_on+0xd/0xf [23978.569763] [<ffffffff811441c0>] ? ____cache_alloc+0x69/0x2eb [23978.570817] [<ffffffff81142269>] ? virt_to_head_page+0x9/0x36 [23978.571872] [<ffffffff81143c15>] ? cache_alloc_debugcheck_after.isra.42+0x16c/0x1cb [23978.573466] [<ffffffff811420d5>] ? kmemleak_alloc_recursive.constprop.52+0x16/0x18 [23978.574962] [<ffffffffa0480d07>] btrfs_drop_extents+0x66/0x7f [btrfs] [23978.576179] [<ffffffffa049aa35>] btrfs_clone+0x516/0xaf5 [btrfs] [23978.577311] [<ffffffffa04983dc>] ? lock_extent_range+0x7b/0xcd [btrfs] [23978.578520] [<ffffffffa049b2a2>] btrfs_ioctl_clone+0x28e/0x39f [btrfs] [23978.580282] [<ffffffffa049d9ae>] btrfs_ioctl+0xb51/0x219a [btrfs] (...) [23978.591887] ---[ end trace 988ec2a653d03ed3 ]--- Then we attempt to insert a new extent item with a key that already exists, which makes btrfs_insert_empty_item return -EEXIST resulting in abortion of the current transaction: [23978.594355] WARNING: CPU: 6 PID: 16251 at fs/btrfs/super.c:260 __btrfs_abort_transaction+0x52/0x114 [btrfs]() (...) [23978.622589] Call Trace: [23978.623181] [<ffffffff81425fd9>] dump_stack+0x4c/0x65 [23978.624359] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb [23978.625573] [<ffffffffa044ab6c>] ? __btrfs_abort_transaction+0x52/0x114 [btrfs] [23978.626971] [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48 [23978.628003] [<ffffffff8108a6c8>] ? vprintk_default+0x1d/0x1f [23978.629138] [<ffffffffa044ab6c>] __btrfs_abort_transaction+0x52/0x114 [btrfs] [23978.630528] [<ffffffffa049ad1b>] btrfs_clone+0x7fc/0xaf5 [btrfs] [23978.631635] [<ffffffffa04983dc>] ? lock_extent_range+0x7b/0xcd [btrfs] [23978.632886] [<ffffffffa049b2a2>] btrfs_ioctl_clone+0x28e/0x39f [btrfs] [23978.634119] [<ffffffffa049d9ae>] btrfs_ioctl+0xb51/0x219a [btrfs] (...) [23978.647714] ---[ end trace 988ec2a653d03ed4 ]--- This is wrong because we should not process the extent item that we just inserted previously, and instead process the extent item that follows it in the tree For example for the test case I wrote for fstests: bs=$((64 * 1024)) mkfs.btrfs -f -l $bs -O ^no-holes /dev/sdc mount /dev/sdc /mnt xfs_io -f -c "pwrite -S 0xaa $(($bs * 2)) $(($bs * 2))" /mnt/foo $CLONER_PROG -s $((3 * $bs)) -d $((267 * $bs)) -l 0 /mnt/foo /mnt/foo $CLONER_PROG -s $((217 * $bs)) -d $((95 * $bs)) -l 0 /mnt/foo /mnt/foo The second clone call fails with -EEXIST, because when we process the first extent item (offset 262144), we drop part of it (counting from the end) and then insert a new extent item with a key greater then the key we found. The next time we search the tree we search for a key with offset 262144 + 1, which leaves us at the new extent item we have just inserted but we think it refers to an extent that we need to clone. Fix this by ensuring the next search key uses an offset corresponding to the offset of the key we found previously plus the data length of the corresponding extent item. This ensures we skip new extent items that we inserted and works for the case of implicit holes too (NO_HOLES feature). A test case for fstests follows soon. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 98b0429b7abd5c05efdb23f3eba02ec3f696748e Merge: 3cf2954 1f3a2c6 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Apr 13 16:01:37 2015 +0200 Merge branch '4.1-fp' into mips-for-linux-next commit ea5505fabd3b59608750bfd3721d0f8bc5c8b0bb Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Apr 13 13:56:20 2015 +0300 mei: trace: remove unused TRACE_SYSTEM_STRING fix warning: include/trace/ftrace.h:28:0: note: this is the location of the previous definition ^ In file included from include/trace/define_trace.h:90:0, from drivers/misc/mei/mei-trace.h:76, from drivers/misc/mei/mei-trace.c:21: include/trace/ftrace.h:28:0: warning: "TRACE_SYSTEM_STRING" redefined Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a436ee6c3f311f2ae604d775d7de06a49f8c9a0 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Mon Apr 13 11:21:42 2015 +0300 drm: make crtc/encoder/connector/plane helper_private a const pointer They're only used to store const pointers anyway. This helps to keep Ville and the compiler happy. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d4d936f49d3baa5e078ea6dafebcbdd3ec4449d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Mon Apr 13 11:21:41 2015 +0300 drm/armada: constify struct drm_encoder_helper_funcs pointer Not to be modified. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 16bb079e45f2c3a795b6b0546535cd6466275ec5 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Mon Apr 13 11:21:40 2015 +0300 drm/radeon: constify more struct drm_*_helper funcs pointers Some non-const pointers were added since the last constification, fix them. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1b54bdb8ccbc46e5a406a690d48a1639d5001f4b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Mon Apr 13 10:57:14 2015 +0300 drm/edid: add #defines for ELD versions Add ELD versions according to HDA Specification v1.0a. 2 indicates version 2, which supports CEA_Ver 861D or below. Maximum Baseline ELD size of 80 bytes (15 SAD count). 31 indicates an ELD that has been partially populated through implementation specific mean of default programming before an external graphics driver is loaded. Only the field that is called out as "canned" field will be populated, and audio driver should ignore the non "canned" field. 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 08d9bc920d465bbbbd762cac9383249c19bf69a2 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Apr 10 10:59:10 2015 +0300 drm/i915: Allocate connector state together with the connectors Connector states were being allocated in intel_setup_outputs() in loop over all connectors. That meant hot-added connectors would have a NULL state. Since the change to use a struct drm_atomic_state for the legacy modeset, connector states are necessary for the i915 driver to function properly, so that would lead to oopses. Broken by commit 944b0c76575753da5a332aab0a1d8c6df65a076b Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:07 2015 +0200 drm/i915: Copy the staged connector config to the legacy atomic state v2: Fix test for intel_connector_init() success in lvds and sdvo (PRTS) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Reported-and-tested-by: Nicolas Kalkhof <nkalkhof@xxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ce4524e5a78123fbf2db5b1549798c91a6d98294 Merge: f2aa111 7667428 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 13 14:14:29 2015 +0200 Merge tag 'asoc-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Updates for v4.1 More updates for v4.1, pretty much all drivers: - Lots of cleanups from Lars, mainly moving things from the CODEC level to the card level. - Continuing improvements to rcar from Morimoto-san, pcm512x from Howard and Peter, the Intel platforms from Vinod, Jie, Jin and Han, and to rt5670 from Bard. - Support for some non-DSP Qualcomm platforms, Google's Storm platform, Maxmim MAX98925 CODECs and the Ingenic JZ4780 SoC. commit 9e1a27ea42691429e31f158cce6fc61bc79bb2e9 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Mon Apr 13 21:03:49 2015 +0930 virtio_ring: Update weak barriers to use dma_wmb/rmb This change makes it so that instead of using smp_wmb/rmb which varies depending on the kernel configuration we can can use dma_wmb/rmb which for most architectures should be equal to or slightly more strict than smp_wmb/rmb. The advantage to this is that these barriers are available to uniprocessor builds as well so the performance should improve under such a configuration. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit e5d8f59a5cfa76ab5ebe47622d0c569eddd42fbe Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:55:15 2015 +0930 modpost: document the use of struct section_check. struct section_check is used as a generic way of describing what relocations are authorized/forbidden when running modpost. This commit tries to describe how each field is used. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (Fixed "mist"ake) commit 52dc0595d540155436d91811f929bdc8afd6a2a1 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:52:53 2015 +0930 modpost: handle relocations mismatch in __ex_table. __ex_table is a simple table section where each entry is a pair of addresses - the first address is an address which can fault in kernel space, and the second address points to where the kernel should jump to when handling that fault. This is how copy_from_user() does not crash the kernel if userspace gives a borked pointer for example. If one of these addresses point to a non-executable section, something is seriously wrong since it either means the kernel will never fault from there or it will not be able to jump to there. As both cases are serious enough, we simply error out in these cases so the build fails and the developper has to fix the issue. In case the section is executable, but it isn't referenced in our list of authorized sections to point to from __ex_table, we just dump a warning giving more information about it. We do this in case the new section is executable but isn't supposed to be executed by the kernel. This happened with .altinstr_replacement, which is executable but is only used to copy instructions from - we should never have our instruction pointer pointing in .altinstr_replacement. Admitedly, a proper fix in that case would be to just set .altinstr_replacement NX, but we need to warn about future cases like this. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (added long casts) commit c31e4b832f124dccdb5d80ba3c1cd4f9081f7fb2 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:44:04 2015 +0930 scripts: add check_extable.sh script. This shell script can be used to sanity check the __ex_table section on an object file, making sure the relocations in there are pointing to valid executable sections. If it finds some suspicious relocations, it'll use addr2line to try and dump where this is coming from. This works best with CONFIG_DEBUG_INFO. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit c7a65e0645b2d1f8382ce27f4edaf1b4f2e09549 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:43:45 2015 +0930 modpost: mismatch_handler: retrieve tosym information only when needed. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 356ad538128ed9221f7d01199a3a7d080f158a5d Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:43:34 2015 +0930 modpost: factorize symbol pretty print in get_pretty_name(). Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 644e8f14cb3bca5c66f6ddd944d9d26074eec46e Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:43:17 2015 +0930 modpost: add handler function pointer to sectioncheck. This will be useful when we want to have special handlers which need to go through more hops to print useful information to the user. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 157d1972d079207332d31a761cdfb81598455e0a Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:42:52 2015 +0930 modpost: add .sched.text and .kprobes.text to the TEXT_SECTIONS list. sched.text and .kprobes.text should behave exactly like .text with regards to how we should warn about referencing sections which might get discarded at runtime. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 050e57fd5936eb175cbb7a788252aa6867201120 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:41:04 2015 +0930 modpost: add strict white-listing when referencing sections. Prints a warning when a section references a section outside a strict white-list. This will be useful to print a warning if __ex_table references a non-executable section. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit f2aa111041ce36b94e651d882458dea502e76721 Author: Jo-Philipp Wich <jow@xxxxxxxxxxx> Date: Mon Apr 13 12:47:26 2015 +0200 ALSA: hda/realtek - Enable the ALC292 dock fixup on the Thinkpad T450 The Lenovo Thinkpad T450 requires the ALC292_FIXUP_TPT440_DOCK as well in order to get working sound output on the docking stations headphone jack. Patch tested on a Thinkpad T450 (20BVCTO1WW) using kernel 4.0-rc7 in conjunction with a ThinkPad Ultradock. Signed-off-by: Jo-Philipp Wich <jow@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1a7e985dd1bf5939af0f56bbd6d13d2caf48dd63 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Fri Apr 3 03:13:42 2015 +0000 UBIFS: fix output format of INUM_WATERMARK The INUM_WATERMARK is a unsigned 32bit value, `%d' prints it as negatave: [ 103.682255] UBIFS warning (ubi0:0 pid 691): ubifs_new_inode: running out of inode numbers (current 122763, max -256) Fix it as: [ 154.422940] UBIFS warning (ubi0:0 pid 688): ubifs_new_inode: running out of inode numbers (current 122765, max 4294967040) Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit f2e2013f757204d4e0a009597722c75bb2332796 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Feb 13 13:59:53 2015 +0530 ARC: mem init spring cleaning - No functional changes Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit a44ec8bd2a55c7644d458d8e79d83bd9204e1796 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sun Mar 8 14:18:21 2015 +0530 ARC: Fix RTT boot printing Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit de60c1a1849c57e864f02f0d921993982b1648f8 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Nov 7 19:19:37 2014 +0530 ARC: fold __builtin_constant_p() into test_bit() This makes test_bit() more like its siblings *_bit() routines. Also add some comments about the constant @nr micro-optimization Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 0dfb8ec70fd67be02096eaf9898feb94950d6f06 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 13 15:29:50 2014 +0530 ARC: rename unhandled exception handler Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit dc9e234f91c77a98a8911bf02619275f51b14bfc Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Sep 22 17:54:45 2014 +0530 ARC: cosmetic: Remove unused ECR bitfield masks Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 1425d5e72c8c41300d66a24b81ad911cb1239e97 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Mar 27 11:59:02 2014 +0530 ARC: Fix WRITE_BCR * There was obvious bit rot due to lack of use * Old naming was confusing since BCR are read only Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5971d81517752749a8155bb3f9b1ff1309bf3ea5 Author: Mischa Jonker <mjonker@xxxxxxxxxxxx> Date: Thu May 16 23:16:29 2013 +0200 ARC: [nsimosci] Update defconfig Signed-off-by: Mischa Jonker <mjonker@xxxxxxxxxxxx> commit c3aeda62878f09da91329693a60a1f08ec97e0b8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 13 11:01:14 2015 +0200 ALSA: hda - Fix another race in runtime PM refcounting Although some races in runtime PM refcount was fixed by the commit [664c715573c2: ALSA: hda - Work around races of power up/down with runtime PM], there is still a race in the following case: CPU0: CPU1 : runtime suspend: codec->in_pm = 1 snd_hdac_power_up_pm(): pm_runtime_get_sync() skipped suspend finished: codec->in_pm = 0 snd_hdac_power_down_pm(): pm_runtime_put_*() is called! For avoiding this situation, increment in_pm flag atomically when it's non-zero, and decrement accordingly, to ensure that in_pm is set consistently for the whole concurrent operations. Also, since atomic_inc_not_zero() and atomic_dec_if_positive() are lengthy inline functions, move snd_hdac_power_up_pm() and _down_pm() to sound/hda/hdac_device.c as no inline functions. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a1307bba1adcc9b338511180fa94a54b4c3f534b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Mar 30 12:51:42 2015 +0200 s390/smp: wait until secondaries are active & online This is the s390 version of 875ebe940d77 ("powerpc/smp: Wait until secondaries are active & online"). The race described in length within the commit message is also possible on s390 and every other architecture. So fix this race on s390 as well. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit d74419495633493c9cd3f2bbeb7f3529d0edded6 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Mar 25 10:13:33 2015 +0100 s390/hibernate: fix save and restore of kernel text section Sebastian reported a crash caused by a jump label mismatch after resume. This happens because we do not save the kernel text section during suspend and therefore also do not restore it during resume, but use the kernel image that restores the old system. This means that after a suspend/resume cycle we lost all modifications done to the kernel text section. The reason for this is the pfn_is_nosave() function, which incorrectly returns that read-only pages don't need to be saved. This is incorrect since we mark the kernel text section read-only. We still need to make sure to not save and restore pages contained within NSS and DCSS segment. To fix this add an extra case for the kernel text section and only save those pages if they are not contained within an NSS segment. Fixes the following crash (and the above bugs as well): Jump label code mismatch at netif_receive_skb_internal+0x28/0xd0 Found: c0 04 00 00 00 00 Expected: c0 f4 00 00 00 11 New: c0 04 00 00 00 00 Kernel panic - not syncing: Corrupted kernel text CPU: 0 PID: 9 Comm: migration/0 Not tainted 3.19.0-01975-gb1b096e70f23 #4 Call Trace: [<0000000000113972>] show_stack+0x72/0xf0 [<000000000081f15e>] dump_stack+0x6e/0x90 [<000000000081c4e8>] panic+0x108/0x2b0 [<000000000081be64>] jump_label_bug.isra.2+0x104/0x108 [<0000000000112176>] __jump_label_transform+0x9e/0xd0 [<00000000001121e6>] __sm_arch_jump_label_transform+0x3e/0x50 [<00000000001d1136>] multi_cpu_stop+0x12e/0x170 [<00000000001d1472>] cpu_stopper_thread+0xb2/0x168 [<000000000015d2ac>] smpboot_thread_fn+0x134/0x1b0 [<0000000000158baa>] kthread+0x10a/0x110 [<0000000000824a86>] kernel_thread_starter+0x6/0xc Reported-and-tested-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 77bb36e57bbe5586bea29b67ba7f87cfe03610a0 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Mar 18 13:22:00 2015 +0100 s390/cacheinfo: add missing facility check Git commit d97d929f06d0 ("s390: move cacheinfo sysfs to generic cacheinfo infrastructure") removed the general-instructions-extension availability check before the ecag instruction is executed. Without this check this may lead to crashes on machines without this facility. Therefore add the check again where needed. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit eacf6e0a238923dfce0626450adcb6d486072f28 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 13 10:43:54 2015 +0200 ALSA: hda - Expose codec type sysfs The type field of HD-audio codec object should be exposed to user-space so that it can identify which driver type to bind (legacy / asoc). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7a4261d5d35362d1c9ec4f80ba01ad417ca467b7 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 10:50:16 2015 +0200 soc/mediatek: Remove unused variables The PMIC wrapper driver adds a couple of variables that are never used. Remove them to avoid build warnings. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit e1c78df1da112f2644058af2425dd5ca3eb1a96a Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Apr 12 10:12:25 2015 +0900 ALSA: ctl: fix to handle several elements added by one operation for userspace element An element instance can have several elements with the same feature. Some userspace applications can add such an element instance by add operation with the number of elements. Then, the element instance gets a memory object to keep states of these elements. But the element instance has just one memory object for the elements. This causes the same result to each read/write operations to the different elements. This commit fixes this bug by allocating enough memory objects to the element instance for each of elements. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9a4f35865ffcb2f4603375eadabe0d475fab1a0f Merge: eef0342 c30cf8c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 13 10:23:18 2015 +0200 Merge branch 'for-next' into for-linus commit 590ee7dbd569a012df705a5204fc5f1066f52b8c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Apr 13 10:04:59 2015 +0200 cpu: Provide smpboot_thread_init() on !CONFIG_SMP kernels as well Now that we are using smpboot_thread_init() in init/main.c as well, provide it for !CONFIG_SMP as well. This addresses a !CONFIG_SMP build failure. Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1d2add28edd268a8290801ccf46b37f6d5239cdb Merge: bb1dc08 5e501ed Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Apr 13 17:28:57 2015 +1000 Merge tag 'imx-drm-next-2015-03-31' of git://git.pengutronix.de/git/pza/linux into drm-next imx-drm changes to use media bus formats and LDB drm_panel support - Add media bus formats needed by imx-drm - Switch to use media bus formats to describe the pixel format on the internal parallel bus between display interface and encoders - Some preparations for TV Output via TVEv2 on i.MX5 - Add drm_panel support to the i.MX LVDS driver, allow to determine the bus pixel format from the panel descriptor. * tag 'imx-drm-next-2015-03-31' of git://git.pengutronix.de/git/pza/linux: drm/imx: imx-ldb: allow to determine bus format from the connected panel drm/imx: imx-ldb: reset display clock input when disabling LVDS drm/imx: imx-ldb: add drm_panel support drm/imx: consolidate bus format variable names drm/imx: switch to use media bus formats Add RGB666_1X24_CPADHI media bus format Add YUV8_1X24 media bus format Add BGR888_1X24 and GBR888_1X24 media bus formats Add LVDS RGB media bus formats Add RGB444_1X12 and RGB565_1X16 media bus formats drm/imx: ipuv3-crtc: Allow to divide DI clock from TVEv2 drm/imx: Add support for interlaced scanout commit bb1dc08c94ead1b98e750caf535422f79363c1a2 Merge: a7d6883 ecaa490 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Apr 13 17:28:16 2015 +1000 Merge tag 'of-graph-drm-2015-04-08' of git://git.pengutronix.de/git/pza/linux into drm-next drm: Use of-graph helpers to loop over endpoints Convert all drm callers that use of_graph_get_next_endpoint to loop over of-graph endpoints to the newly introduced for_each_endpoint_of_node helper macro. * tag 'of-graph-drm-2015-04-08' of git://git.pengutronix.de/git/pza/linux: drm/rockchip: use for_each_endpoint_of_node macro, drop endpoint reference on break drm/rcar-du: use for_each_endpoint_of_node macro drm/imx: use for_each_endpoint_of_node macro in imx_drm_encoder_get_mux_id drm: use for_each_endpoint_of_node macro in drm_of_find_possible_crtcs of: Explicitly include linux/types.h in of_graph.h dt-bindings: brcm: rationalize Broadcom documentation naming of/unittest: replace 'selftest' with 'unittest' Documentation: rename of_selftest.txt to of_unittest.txt Documentation: update the of_selftest.txt dt: OF_UNITTEST make dependency broken MAINTAINERS: Pantelis Antoniou device tree overlay maintainer of: Add of_graph_get_port_by_id function of: Add for_each_endpoint_of_node helper macro of: Decrement refcount of previous endpoint in of_graph_get_next_endpoint commit a7d6883619584c2dbeeb5f6a1cf86cde6a3993de Merge: 1d8ac08 68a2913 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Apr 13 17:26:58 2015 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next This pull request contains just cleanup for atomic pageflip/modeset support, and some fixeups. We wanted to merge atomic pageflip/modeset feature support, new drivers - MIC and DECON for exynos5433 SoC - and relevant patches this time. However, I'd found that these features are not only safe enough but also aren't tested yet. So for them, I'd like to have enough times for the reviews. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm/exynos: Fix FIMD buffer size calculation drm/exynos: Enable DP clock to fix display on Exynos5250 and other drm/exynos: fimd: check whether exynos_drm_crtc_create succeed or not drm/exynos: dsi: remove the empty mode_valid callback drm/exynos: add ratio calculation drm/exynos: use src_x and src_y instead of fb_x and fb_y drm/exynos: mixer: add 2x scaling to mixer_graph_buffer drm/exynos: remove superfluous error messages drm/exynos: fix typos in hdmi and mixer drm/exynos/ipp: Validate buffer enqueue requests drm/exynos: track vblank events on a per crtc basis drm/exynos: remove leftover functions declarations drm/exynos: remove exynos_plane_destroy() drm/exynos: make zpos property immutable drm/exynos: preset zpos value for overlay planes drm/exynos: remove struct *_win_data abstraction on planes drm/exynos: remove unused exynos_crtc->win_enable() callback drm/exynos: fimd: fix alpha setting for XR24 pixel format commit e0bf6c5ca2d3281f231c5f0c9bf145e9513644de Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sun Sep 8 06:58:38 2013 +0400 xtensa: xtfpga: add CY7C67300 USB controller support Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 00df35f991914db6b8bde8cf09808e19a9cffc3d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Apr 12 08:06:55 2015 -0700 cpu: Defer smpboot kthread unparking until CPU known to scheduler Currently, smpboot_unpark_threads() is invoked before the incoming CPU has been added to the scheduler's runqueue structures. This might potentially cause the unparked kthread to run on the wrong CPU, since the correct CPU isn't fully set up yet. That causes a sporadic, hard to debug boot crash triggering on some systems, reported by Borislav Petkov, and bisected down to: 2a442c9c6453 ("x86: Use common outgoing-CPU-notification code") This patch places smpboot_unpark_threads() in a CPU hotplug notifier with priority set so that these kthreads are unparked just after the CPU has been added to the runqueues. Reported-and-tested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b67c961cb86c2e296742c4e86096effb1f2c6ab8 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Tue Oct 7 00:45:13 2014 +0400 irqchip: xtensa-pic: xtensa-mx: document DT bindings Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 24e94454c8cb6a13634f5a2f5a01da53a546a58d Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Apr 3 09:56:21 2015 +0300 xtensa: ISS: fix locking in TAP network adapter - don't lock lp->lock in the iss_net_timer for the call of iss_net_poll, it will lock it itself; - invert order of lp->lock and opened_lock acquisition in the iss_net_open to make it consistent with iss_net_poll; - replace spin_lock with spin_lock_bh when acquiring locks used in iss_net_timer from non-atomic context; - replace spin_lock_irqsave with spin_lock_bh in the iss_net_start_xmit as the driver doesn't use lp->lock in the hard IRQ context; - replace __SPIN_LOCK_UNLOCKED(lp.lock) with spin_lock_init, otherwise lockdep is unhappy about using non-static key. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 3a29dd6d6f445212ddbcf43a2ba6352127ce9ee8 Merge: f7e9e35 51925fb Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Apr 13 15:29:36 2015 +1000 Merge branch 'next-dlpar' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next Merge series from Nathan Fontenot to do memory hotplug in the kernel. commit 03bc10ab5b0f9b8f81bffbe6e40c944f9d3dbcc5 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 03:48:48 2015 +0200 clk: check ->determine/round_rate() return value in clk_calc_new_rates ->determine_rate() and ->round_rate() can return the closest rate to the requested one or an error code. clk_calc_new_rates is assuming these functions can't return a negative value, which leads to a undefined behavior when the clk implementation returns such an error code. Fix this by returning NULL in case ->determine_rate() or ->round_rate() returned an error code. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 3abafaf2192b1712079edfd4232b19877d6f41a5 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Sat Apr 11 15:32:34 2015 +0200 crypto: arm - workaround for building with old binutils Old versions of binutils (before 2.23) do not yet understand the crypto-neon-fp-armv8 fpu instructions, and an attempt to build these files results in a build failure: arch/arm/crypto/aes-ce-core.S:133: Error: selected processor does not support ARM mode `vld1.8 {q10-q11},[ip]!' arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aese.8 q0,q8' arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aesmc.8 q0,q0' arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aese.8 q0,q9' arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aesmc.8 q0,q0' Since the affected versions are still in widespread use, and this breaks 'allmodconfig' builds, we should try to at least get a successful kernel build. Unfortunately, I could not come up with a way to make the Kconfig symbol depend on the binutils version, which would be the nicest solution. Instead, this patch uses the 'as-instr' Kbuild macro to find out whether the support is present in the assembler, and otherwise emits a non-fatal warning indicating which selected modules could not be built. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Link: http://storage.kernelci.org/next/next-20150410/arm-allmodconfig/build.log Fixes: 864cbeed4ab22d ("crypto: arm - add support for SHA1 using ARMv8 Crypto Instructions") [ard.biesheuvel: - omit modules entirely instead of building empty ones if binutils is too old - update commit log accordingly] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4591243102faa8de92da320edea47219901461e9 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 03:45:33 2015 +0200 clk: at91: usb: propagate rate modification to the parent clk The at91sam9n12 and at91sam9x5 usb clocks do not propagate rate modification requests to their parents. This causes a bug when the PLLB is left uninitialized by the bootloader (PLL multiplier set to 0, or in other words, PLL rate = 0 Hz). Implement the determinate_rate method and propagate the change rate request to the parent clk. Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Bo Shen <voice.shen@xxxxxxxxx> Tested-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit b48321def4c506057e22845f8e0dcdce2214dbfa Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Apr 11 10:48:44 2015 +0200 crypto: arm/sha256 - avoid sha256 code on ARMv7-M The sha256 assembly implementation can deal with all architecture levels from ARMv4 to ARMv7-A, but not with ARMv7-M. Enabling it in an ARMv7-M kernel results in this build failure: arm-linux-gnueabi-ld: error: arch/arm/crypto/sha256_glue.o: Conflicting architecture profiles M/A arm-linux-gnueabi-ld: failed to merge target specific data of file arch/arm/crypto/sha256_glue.o This adds a Kconfig dependency to prevent the code from being disabled for ARMv7-M. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3a9e9cb65be84d6c64fbe9c69a73c15d59f29454 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Mar 27 17:27:10 2015 +0100 clk: samsung: exynos4: Disable ARMCLK down feature on Exynos4210 SoC Commit 42773b28e71d ("clk: samsung: exynos4: Enable ARMCLK down feature") enabled ARMCLK down feature on all Exynos4 SoCs. Unfortunately on Exynos4210 SoC ARMCLK down feature causes a lockup when ondemand cpufreq governor is used. Fix it by limiting ARMCLK down feature to Exynos4x12 SoCs. This patch was tested on: - Exynos4210 SoC based Trats board - Exynos4210 SoC based Origen board - Exynos4412 SoC based Trats2 board - Exynos4412 SoC based Odroid-U3 board Cc: Daniel Drake <drake@xxxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Fixes: 42773b28e71d ("clk: samsung: exynos4: Enable ARMCLK down feature") Cc: <stable@xxxxxxxxxxxxxxx> # v3.17+ Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 68a2913407d8defac36f381e4877507a06e57c8e Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Wed Apr 8 16:39:06 2015 +0100 drm/exynos: Fix FIMD buffer size calculation Commit adacb228d72b ("drm: Exynos: Respect framebuffer pitch for FIMD/Mixer") fixed the buffer size calculation by using the FB pitch value but later commit 26b9c2813ede1 ("drm/exynos: remove struct *_win_data abstraction on planes") added a regression so fix the buffer size calculation again. Tested on Chromebook Snow / Peach Pit. Fixes: 26b9c2813ede1 ("drm/exynos: remove struct *_win_data abstraction on planes") Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1c363c7cccf64128087002b0779986ad16aff6dc Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Apr 7 22:28:50 2015 +0900 drm/exynos: Enable DP clock to fix display on Exynos5250 and other After adding display power domain for Exynos5250 in commit 2d2c9a8d0a4f ("ARM: dts: add display power domain for exynos5250") the display on Chromebook Snow and others stopped working after boot. The reason for this suggested Andrzej Hajda: the DP clock was disabled. This clock is required by Display Port and is enabled by bootloader. However when FIMD driver probing was deferred, the display power domain was turned off. This effectively reset the value of DP clock enable register. When exynos-dp is later probed, the clock is not enabled and display is not properly configured: exynos-dp 145b0000.dp-controller: Timeout of video streamclk ok exynos-dp 145b0000.dp-controller: unable to config video Fixes: 2d2c9a8d0a4f ("ARM: dts: add display power domain for exynos5250") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reported-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d1222842c1c7c2760ebd412238d9bb6234e6742c Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Tue Apr 7 22:19:43 2015 +0900 drm/exynos: fimd: check whether exynos_drm_crtc_create succeed or not >From the commit "drm/exynos: fix the execution order in FIMD initialization" (598285bfdce46d7c47632a2ba4b980f60be4a677), the error checking code is removed improperly. This patch fix the regression. Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 643c3024a5ee2bf74ee25c8dd03bcd287f3b2833 Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Thu Apr 2 18:52:20 2015 +0900 drm/exynos: dsi: remove the empty mode_valid callback Because the helper function which calls this callback checks whether it is registered or not. It is not necessary if it does nothing. So it would be better to remove the function for clarity. Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 3cabaf7ea7044d6a75fd76e2fc53304a55abe965 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Apr 7 15:59:39 2015 +0900 drm/exynos: add ratio calculation Calculation ratio from exynos_drm plane codes, then each hw drivers can use it without extra operation. Also this fixes width and height of source used for actual crtc shown via screen. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cb8a3db29f8fa8186185ba716f3f485a7f3fabe7 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Apr 7 15:59:38 2015 +0900 drm/exynos: use src_x and src_y instead of fb_x and fb_y It's more reasonable to use src_x and src_y to represent source as counterpart of destination(crtc). Already we are using src_width and src_height for width and height of source. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 2611015c7511106719bae904cac459383c55ffef Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 01:14:52 2015 +0200 drm/exynos: mixer: add 2x scaling to mixer_graph_buffer While the VP (video processor) supports arbitrary scaling of its input, the mixer just supports a simple 2x (line doubling) scaling. Expose this functionality and exit early when an unsupported scaling configuration is encountered. This was tested with modetest's DRM plane test (from the libdrm test suite) on an Odroid-X2 (Exynos4412). v2: Put if- and return-statement on different lines. Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7ded85885d49bac7df1836ea3ac5612d9afcc8de Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 01:14:51 2015 +0200 drm/exynos: remove superfluous error messages The messages are redundant since 'check_fb_gem_memory_type' already prints out exactly the same string when it fails. Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1e6d459df61f5386b9d00c9b5b4520240e70eded Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 01:14:50 2015 +0200 drm/exynos: fix typos in hdmi and mixer Use the correct spelling for 'progressive'. Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit e44bf6b7a50e331a1a97c23d726e39726b914dc8 Author: Beata Michalska <b.michalska@xxxxxxxxxxx> Date: Wed Mar 4 15:02:49 2015 +0100 drm/exynos/ipp: Validate buffer enqueue requests As for now there is no validation of incoming buffer enqueue request as far as the gem buffers are being concerned. This might lead to some undesired cases when the driver tries to operate on invalid buffers (wiht no valid gem object handle i.e.). Add some basic checks to rule out those potential issues. Signed-off-by: Beata Michalska <b.michalska@xxxxxxxxxxx> [mszyprow: rebased onto v4.0-rc1 and adapted to recent ipp changes] Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit e752747b98ae64ff0d1484a3b1b812fd2cafed53 Author: Mandeep Singh Baines <msb@xxxxxxxxxxxx> Date: Wed Apr 1 13:02:12 2015 -0300 drm/exynos: track vblank events on a per crtc basis The goal of the change is to make sure we send the vblank event on the current vblank. My hope is to fix any races that might be causing flicker. After this change I only see a flicker in the transition plymouth and X11. Simplified the code by tracking vblank events on a per-crtc basis. This allowed me to remove all error paths from the callback. It also allowed me to remove the vblank wait from the callback. Signed-off-by: Mandeep Singh Baines <msb@xxxxxxxxxxxx> Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5d09a67f1c102468ec8116c10bcd79bba6563508 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:02:11 2015 -0300 drm/exynos: remove leftover functions declarations These functions were already removed by previous cleanup work, but these ones were left behind. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 97464d7d9dd2443571ec4f113b10588ffd4abd79 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:02:10 2015 -0300 drm/exynos: remove exynos_plane_destroy() The .destroy() callback for exynos can be replaced by drm_plane_cleanup(). The only extra operation on exynos_plane_destroy() was a call to exynos_plane_disable() but the plane is already disabled by a earlier call to drm_framebuffer_remove(). Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 92104886e4834c2ceb8748efa49d040714018eb5 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:02:09 2015 -0300 drm/exynos: make zpos property immutable We already set each plane zpos at init, after that changes to zpos are not expected. This patch turns zpos into a read-only property so now it is impossible to set zpos. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 6e2a3b66e78b693065ee67af91175a1a7e4dc209 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Fri Apr 3 21:05:52 2015 +0900 drm/exynos: preset zpos value for overlay planes Usually userspace don't want to have two overlay planes on the same zpos so this change assign a different zpos for each plane. Before this change a zpos of value zero was created for all planes so the userspace had to set up the zpos of every plane it wanted to use. Also all places that were storing zpos positions are now unsigned int. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7ee14cdcbc4f813b9c5875d6e8e3daef71c366b3 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Fri Apr 3 21:03:40 2015 +0900 drm/exynos: remove struct *_win_data abstraction on planes struct {fimd,mixer,vidi}_win_data was just keeping the same data as struct exynos_drm_plane thus get ride of it and use exynos_drm_plane directly. It changes how planes are created and remove .win_mode_set() callback that was only filling all *_win_data structs. v2: check for return of exynos_plane_init() Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1be4b7ee800a57ca613131304e01cd91ec8bca2a Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:02:06 2015 -0300 drm/exynos: remove unused exynos_crtc->win_enable() callback None of the exynos crtc drivers implements win_enable() so remove it for better clarity of the code. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 453b44a3f6f3f43f50387a9af27c5356c273e831 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:02:05 2015 -0300 drm/exynos: fimd: fix alpha setting for XR24 pixel format XR24 planes were not shown properly, so now set the right registers to correctly enable displaying these planes. It also moves the alpha register settings to fimd_win_set_pixfmt() to keep all pixel format stuff together. v2: remove leftover var alpha Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 3add594bf60a901ba973cdcdafd47af2aac0ac1c Merge: cf7b6c0 f02dee2 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Mon Apr 13 12:07:47 2015 +1000 Merge branch 'tomoyo-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild into next commit 6a63ef064b2444883ce8b68b0779d0c739d27204 Merge: a448f8f 21c3ea1 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Apr 13 11:40:16 2015 +1000 Merge branch 'xfs-misc-fixes-for-4.1-3' into for-next Conflicts: fs/xfs/xfs_iops.c commit 21c3ea18819b5f650c75f59a0457415bc05d2b17 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Apr 13 11:38:29 2015 +1000 xfs: unlock i_mutex in xfs_break_layouts We want to drop all I/O path locks when recalling layouts, and that includes i_mutex for the write path. Without this we get stuck processe when recalls take too long. [dchinner: fix build with !CONFIG_PNFS] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e60a9de49c3744aa44128eaaed3aca965911ca2e Merge: 1ceb0b8 b641173 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 12 21:36:57 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-04-11 This series contains updates to iflink, ixgbe and ixgbevf. The entire set of changes come from Vlad Zolotarov to ultimately add the ethtool ops to VF driver to allow querying the RSS indirection table and RSS random key. Currently we support only 82599 and x540 devices. On those devices, VFs share the RSS redirection table and hash key with a PF. Letting the VF query this information may introduce some security risks, therefore this feature will be disabled by default. The new netdev op allows a system administrator to change the default behaviour with "ip link set" command. The relevant iproute2 patch has already been sent and awaits for this series upstream. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66db8104968ad8c0bf5a45a100ae586ddfadc1e1 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Apr 13 11:27:59 2015 +1000 xfs: kill unnecessary firstused overflow check on attr3 leaf removal xfs_attr3_leaf_remove() removes an attribute from an attr leaf block. If the attribute nameval data happens to be at the start of the nameval region, a new start offset (firstused) for the region is calculated (since the region grows from the tail of the block to the start). Once the new firstused is calculated, it is checked for zero in an apparent overflow check. Now that the in-core firstused is 32-bit, overflow is not possible and this check can be removed. Since the purpose for this check is not documented and appears to exist since the port to Linux, be conservative and replace it with an assert. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e87021a2bc100d330ae859c2cc0614be3e335c5a Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Apr 13 11:27:10 2015 +1000 xfs: use larger in-core attr firstused field and detect overflow The on-disk xfs_attr3_leaf_hdr structure firstused field is 16-bit and subject to overflow when fs block size is 64k. The field is typically initialized to block size when an attr leaf block is initialized. This problem is demonstrated by assert failures when running xfstests generic/117 on an fs with 64k blocks. To support the existing attr leaf block algorithms for insertion, rebalance and entry movement, increase the size of the in-core firstused field to 32-bit and handle the potential overflow on conversion to/from the on-disk structure. If the overflow condition occurs, set a special value in the firstused field that is translated back on header read. The special value is only required in the case of an empty 64k attr block. A value of zero is used because firstused is initialized to the block size and grows backwards from there. Furthermore, the attribute block header occupies the first bytes of the block. Thus, a value of zero has no other legitimate meaning for this structure. Two new conversion helpers are created to manage the conversion of firstused to and from disk. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2f6612415436bab4d923a61d8df399b134247810 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Apr 13 11:26:02 2015 +1000 xfs: pass attr geometry to attr leaf header conversion functions The firstused field of the xfs_attr3_leaf_hdr structure is subject to an overflow when fs blocksize is 64k. In preparation to handle this overflow in the header conversion functions, pass the attribute geometry to the functions that convert the in-core structure to and from the on-disk structure. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit bbe051c841d522bf2aaa1d362b57fe47457187bf Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Mon Apr 13 11:25:41 2015 +1000 xfs: disallow ro->rw remount on norecovery mount There's a bit of a loophole in norecovery mount handling right now: an initial mount must be readonly, but nothing prevents a mount -o remount,rw from producing a writable, unrecovered xfs filesystem. It might be possible to try to perform a log recovery when this is requested, but I'm not sure it's worth the effort. For now, simply disallow this sort of transition. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 1ceb0b8ca5be40d32b0fcf57b117cfb595c9bbfa Merge: d72da6aa 7a6c8c3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 12 21:25:14 2015 -0400 Merge branch 'fou-next' Cong Wang says: ==================== fou: some fixes and updates Patch 1~3 fix some minor bugs in net/ipv4/fou.c, the only thing I am not sure is if it's too late to change the byte order of FOU_ATTR_PORT, if so we have to fix iproute2 instead of kernel. Patch 4~5 add some new features to make it complete. v2: make fou->port be16 too ==================== Acked-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a6c8c34e5b71ac50e39588e20b39494a9e1d8e5 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 10 12:00:30 2015 -0700 fou: implement FOU_CMD_GET Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02d793c5bbebf2c750da03df4c950fc4e8e8a5a7 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 10 12:00:29 2015 -0700 fou: add network namespace support Also convert the spinlock to a mutex. Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cbcdf2b6c8065cb9f2e0eda8c12d33b1b617043 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 10 12:00:28 2015 -0700 fou: always use be16 for port udp_config.local_udp_port is be16. And iproute2 passes network order for FOU_ATTR_PORT. This doesn't fix any bug, just for consistency. Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67270636a8285166c4ee035e1b53e99a7c55d232 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 10 12:00:27 2015 -0700 fou: exit early when parsing config fails Not a big deal, just for corretness. Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9272f048727513c1b28e5cd7b1425dae49111d5d Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 10 12:00:26 2015 -0700 fou: avoid calling udp_del_offload() twice This fixes the following harmless warning: ./ip/ip fou del port 7777 [ 122.907516] udp_del_offload: didn't find offload for port 7777 Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72c1a73993cfa3572e45e1a878ff7acf31d14fc8 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Apr 13 11:25:04 2015 +1000 xfs: xfs_shift_file_space can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d72da6aa00497ed86836a1d41fc55e2809a8ca18 Merge: 52db70d bd2cba0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 12 21:19:40 2015 -0400 Merge branch 'selinux_xfrm_nl_cmd' Nicolas Dichtel says: ==================== selinux: add missing xfrm nl cmd With this series, xfrm commands are fully synchronized. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd2cba07381a6dba60bc1c87ed8b37931d244da1 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Apr 10 16:24:28 2015 +0200 selinux/nlmsg: add XFRM_MSG_MAPPING This command is missing. Fixes: 3a2dfbe8acb1 ("xfrm: Notify changes in UDP encapsulation via netlink") CC: Martin Willi <martin@xxxxxxxxxxxxxx> Reported-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d465bb777179c4bea731b828ec484088cc9fbc1 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Apr 10 16:24:27 2015 +0200 selinux/nlmsg: add XFRM_MSG_MIGRATE This command is missing. Fixes: 5c79de6e79cd ("[XFRM]: User interface for handling XFRM_MSG_MIGRATE") Reported-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0b59b0056acd6f157a04cc895f7e24692fb08aa Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Apr 10 16:24:26 2015 +0200 selinux/nlmsg: add XFRM_MSG_REPORT This command is missing. Fixes: 97a64b4577ae ("[XFRM]: Introduce XFRM_MSG_REPORT.") Reported-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52db70dca5c206741f4f5c89410a2d32864f9840 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Apr 10 06:07:18 2015 -0700 tcp: do not cache align timewait sockets With recent adoption of skc_cookie in struct sock_common, struct tcp_timewait_sock size increased from 192 to 200 bytes on 64bit arches. SLAB rounds then to 256 bytes. It is time to drop SLAB_HWCACHE_ALIGN constraint for twsk_slab. This saves about 12 MB of memory on typical configuration reaching 262144 timewait sockets, and has no noticeable impact on performance. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e78eb0dbf867ccf206706ff2af34084f71a99bf Merge: 716723c 6d00ec0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 12 20:43:46 2015 -0400 Merge tag 'mac80211-next-for-davem-2015-04-10' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== There isn't much left, but we have * new mac80211 internal software queue to allow drivers to have shorter hardware queues and pull on-demand * use rhashtable for mac80211 station table * minstrel rate control debug improvements and some refactoring * fix noisy message about TX power reduction * fix continuous message printing and activity if CRDA doesn't respond * fix VHT-related capabilities with "iw connect" or "iwconfig ..." * fix Kconfig for cfg80211 wireless extensions compatibility ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 716723c2d2f0d5af9911966fb3cd8ccd33480d63 Author: Wolfgang Steinwender <wsteinwender@xxxxxxx> Date: Fri Apr 10 11:42:56 2015 +0200 net/macb: sqe_test_errors are TX errors, not RX errors The statistics are grouped by TX and RX errors. The SQE Test Errors Register indicates problems with TX. Signed-off-by: Wolfgang Steinwender <wsteinwender@xxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 692d8328e8c039f9497eb862c6cf835de922c061 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Feb 18 10:59:45 2015 +0100 clk: don't use __initconst for non-const arrays The statement static const char *name[]; defines a modifiable array of pointers to constant chars. That is *name[0] = 'f'; is forbidden, but name[0] = "f"; is not. So marking an array that is defined as above with __initconst is wrong. Either an additional const must be added such that the whole definition reads: static const char *const name[] __initconst; or where this is not possible __initdata must be used. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit f354169e0f7dcd1b2c82cf1f98f6d976e85f74c3 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Apr 13 04:14:11 2015 +0930 hwmon: (pwm-fan) Update the duty cycle inorder to control the pwm-fan pwm_config() must be called with a duty cycle of 0 prior to calling pwm_disable() to ensure that the pwm signal is set to low. Reported-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Tested-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Reviewed-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Reviewed-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 92bac83dd79e60e65c475222e41a992a70434beb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Apr 12 15:42:35 2015 -0700 Input: alps - non interleaved V2 dualpoint has separate stick button bits Non interleaved V2 dualpoint touchpad / stick combos have separate stick button bits in the touchpad packets, if we do not check these then the trackpoint buttons will not work when using the touchpad, and when pressed when the user starts using the touchpad will report a release event even though the button is still pressed. This commit fixes this by checking the separate bits, note that we simply combine the buttons, since the hardware does the same when using the touchpad buttons with the trackpoint, so we do not have enough information to properly separate them. Reported-by: Hans de Bruin <jmdebruin@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6bcca19f5dcedc3a006ca0bcc3699a437cadee74 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Apr 8 09:26:42 2015 -0700 Input: alps - fix touchpad buttons getting stuck when used with trackpoint When the left touchpad button gets pressed, and then the trackpoint is moved, and then the button is released, the following happens: 1) touchpad packet is received, touchpad evdev node reports BTN_LEFT 1 2) pointing stick packet is received, the hw will report a BTN_LEFT 1 in this packet because when the trackstick is active it communicates the combined touchpad + pointing stick buttons in the trackstick packet, since alps_report_bare_ps2_packet passes NULL (*) for the dev2 parameter to alps_report_buttons the combining is not detected and the pointing stick evdev node will also report BTN_LEFT 1 3) on release of the button a pointing stick packet with BTN_LEFT 0 is received and the pointing stick evdev node will report BTN_LEFT 0 Note how because of the passing as NULL for dev2 the touchpad evdev node will never send BTN_LEFT 0 in this scenario leading to a stuck mouse button. This is a regression in 4.0 introduced by commit 04aae283ba6a8 ("Input: ALPS - do not mix trackstick and external PS/2 mouse data") This commit fixes this by passing in the touchpad evdev as dev2 parameter when calling alps_report_buttons for the pointingstick on alps v2 devices, so that alps_report_buttons correctly detect that we're already reporting the button as pressed via the touchpad evdev node, and will also send the release event there. Cc: stable@xxxxxxxxxxxxxxx # 4.0 Reported-by: Hans de Bruin <jmdebruin@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0fe0952b2191b19493adb847eb40c6f88e1caeaf Merge: 419a48c be77002 df6a0d6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:37:13 2015 +0200 Merge branches 'pm-sleep' and 'pm-domains' * pm-sleep: PM / watchdog: iTCO: stop watchdog during system suspend PM / sleep: add pm-trace support for suspending phase PM / sleep: add configurable delay for pm_test * pm-domains: PM / domains: avoid potential oops in pm_genpd_remove_device() PM / domains: factor out code to get the generic PM domain from a struct device PM / domains: quieten down generic pm domains PM / Domains: Sync runtime PM status with genpd after probe driver core / PM: Add PM domain callbacks for device setup/cleanup MAINTAINERS: add entry for Generic PM domains (genpd) commit 419a48ce8576e2617130bb6b6e20f824ddde1033 Merge: 17528b3 b34ef93 baa9a93 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:37:07 2015 +0200 Merge branches 'pm-cpufreq' and 'pm-cpuidle' * pm-cpufreq: intel_pstate: Knights Landing support intel_pstate: remove MSR test cpufreq: fix qoriq uniprocessor build cpufreq: hisilicon: add acpu driver cpufreq: powernv: Report cpu frequency throttling cpufreq: qoriq: rename the driver cpufreq: qoriq: Make the driver usable on all QorIQ platforms * pm-cpuidle: intel_idle: mark cpu id array as __initconst intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs intel_idle: Update support for Silvermont Core in Baytrail SOC ARM: cpuidle: Document the code ARM: cpuidle: Register per cpuidle device ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64 ARM64: cpuidle: Remove arm64 reference ARM64: cpuidle: Rename cpu_init_idle to a common function name ARM64: cpuidle: Replace cpu_suspend by the common ARM/ARM64 function ARM: cpuidle: Add a cpuidle ops structure to be used for DT ARM: cpuidle: Remove duplicate header inclusion commit 17528b31c5e2b2d40bb52954af88849303ebb915 Merge: 9a9ca16 71150d2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:36:15 2015 +0200 Merge branch 'pnp' * pnp: PNP: Avoid leaving unregistered device objects in lists PNP: Convert pnp_lock into a mutex PNP: tty/serial/8250/8250_fintek: Use module_pnp_driver to register driver PNP: platform/x86/apple-gmux: Use module_pnp_driver to register driver PNP: net/sb1000: Use module_pnp_driver to register driver PNP: media/rc: Use module_pnp_driver to register driver PNP: ide/ide-pnp: Use module_pnp_driver to register driver PNP: ata/pata_isapnp: Use module_pnp_driver to register driver PNP: tpm/tpm_infineon: Use module_pnp_driver to register driver PNP: Add helper macro for pnp_register_driver boilerplate PNP / ACPI: Use ACPI_COMPANION_SET() during initialization commit 9a9ca16e7a36a9daa93f6d2cf912170091d91ed6 Merge: 34a1b99 16ba08d Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:35:54 2015 +0200 Merge branch 'device-properties' * device-properties: device property: Introduce firmware node type for platform data device property: Make it possible to use secondary firmware nodes driver core: Implement device property accessors through fwnode ones driver core: property: Update fwnode_property_read_string_array() driver core: Add comments about returning array counts ACPI: Introduce has_acpi_companion() driver core / ACPI: Represent ACPI companions using fwnode_handle commit 34a1b99b9b4d81b0d835c08239c1180e83703bb7 Merge: 14bd8d7 8a5de52 6449188 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:35:38 2015 +0200 Merge branches 'acpi-blacklist' and 'acpi-video' * acpi-blacklist: ACPI / blacklist: Disable Vista compatibility for Sony VGN-SR19XN. * acpi-video: ACPI / video: Add force native backlight quirk for Lenovo Ideapad Z570 ACPI / video: Allow forcing native backlight on non win8 machines commit 14bd8d745afc1d84b1aae5357a8917127730373c Merge: 1a7fd41 1c832b3 9237516 dff1eb0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:35:21 2015 +0200 Merge branches 'acpi-ec', 'acpi-battery' and 'acpi-pmic' * acpi-ec: ACPI / EC: Call acpi_walk_dep_device_list() after installing EC opregion handler ACPI / EC: Add GPE reference counting debugging messages. ACPI / EC: Cleanup logging/debugging splitter support. * acpi-battery: ACPI / battery: make warning greppable * acpi-pmic: ACPI/PMIC: Fix typo in MODULE_DESCRIPTION in intel_pmic_crc.c commit 1a7fd41ac24004fa1d7527828e9cad88bb1f8f5e Merge: f303906 8765c5b Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:34:57 2015 +0200 Merge branch 'acpi-scan' * acpi-scan: ACPI / scan: Rework modalias creation when "compatible" is present ACPI / scan: Take the PRP0001 position in the list of IDs into account ACPI / scan: Simplify acpi_match_device() ACPI / scan: Generalize of_compatible matching ACPI / scan: fix fixed event handler return value commit f303906d4d5c22cdffe309807e2e21d9b8ff9a91 Merge: 39a8804 7b02cce 359597c 7b1a132 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:34:00 2015 +0200 Merge branches 'acpi-pm', 'acpi-enumeration' and 'acpi-sysfs' * acpi-pm: ACPI / PM: Enable all wakeup GPEs in suspend-to-idle ACPI / sleep: Drop acpi_suspend() which is not used * acpi-enumeration: ACPI: Add acpi_device_uid() for convenience ACPI: Update GPIO documentation to mention _DSD * acpi-sysfs: ACPI / sysfs: Treat the count field of counter_show() as unsigned commit 8765c5ba19490c9167fe0c4e05c2dfdcc39873a3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:29:36 2015 +0200 ACPI / scan: Rework modalias creation when "compatible" is present Currently, the ACPI modalias creation covers two mutually exclusive cases: If the PRP0001 device ID is present in the device's list of ACPI/PNP IDs and the "compatible" property is present in _DSD, the created modalias will follow the OF rules of modalias creation. Otherwise, ACPI rules are used. However, that is not really desirable, because the presence of PRP0001 in the list of device IDs generally does not preclude using other ACPI/PNP IDs with that device and those other IDs may be of higher priority. In those cases, the other IDs should take preference over PRP0001 and therefore they also should be present in the modalias. For this reason, rework the modalias creation for ACPI so that it shows both the ACPI-style and OF-style modalias strings if the device has a non-empty list of ACPI/PNP IDs (other than PRP0001) and a valid "compatible" property at the same time. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 39a8804455fb23f09157341d3ba7db6d7ae6ee76 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 12 15:12:50 2015 -0700 Linux 4.0 commit 720d70716d137c0cb83b9a5279c384286c02a1c0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Apr 11 19:58:25 2015 -0700 sparc: Fix execution domain removal ksp must be 8-byte aligned. Cc: Richard Weinberger <richard@xxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 9058f3b326dbe8cd2ebea7f3cfe367b0d101039b Author: Richard Weinberger <richard@xxxxxx> Date: Sat Apr 11 21:45:22 2015 +0200 Remove rest of exec domains. It is gone from all archs, now we can remove the final bits. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit fa41b1c7dfa0453931afb32c9988af67a2ee28ae Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 30 07:30:38 2015 +0200 arch: Remove exec_domain from remaining archs Signed-off-by: Richard Weinberger <richard@xxxxxx> commit e6de3ca91cd7ee252ef271c96a4c480c1f3e071e Author: Richard Weinberger <richard@xxxxxx> Date: Fri Mar 27 09:55:52 2015 +0100 arc: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 3e66701cbda2e04bb62e0afe2f3d86c9d3d76b24 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:45:11 2014 +0200 xtensa: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit cb418fdb33feba951187f6e01e9f78d3cd2dacbb Author: Richard Weinberger <richard@xxxxxx> Date: Sun Apr 12 18:10:36 2015 +0200 xtensa: Autogenerate offsets in struct thread_info Maintaining offsets by hand is no fun. Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 3050a35fba296196cb00e87f4a96aa7d9ed17a7b Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:43:51 2014 +0200 x86: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 19b6d0b6df3e6b244959d9fc373ff75323f28e92 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:42:53 2014 +0200 unicore32: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit fd223849f10a28fa40201652b5f13d52fa8f2bb0 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:41:57 2014 +0200 um: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 89f191b31ceeb8e79c46815533b7d96c15e83720 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:40:49 2014 +0200 tile: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 14464772c95d351e802b7f07c1860d9e5bf2cafc Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:39:47 2014 +0200 sparc: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> commit daea906dd31843edc062faba82cd43c8b720305d Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:37:45 2014 +0200 sh: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 6a32591a4a38948d785a3bb0dac32d5be1f76354 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Sep 9 23:50:11 2014 +0200 s390: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 78d156b8d8e5884cb5af07f9e57a45a1ae5d59cf Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:28:15 2014 +0200 mn10300: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 6140de5aae4a490e7320215b4197874e37e0969c Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:21:49 2014 +0200 microblaze: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit a0075cd1cb79971ed6162e27fdb2ae76fc3008cf Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:19:34 2014 +0200 m68k: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 445a626afb7f8050ac290fee89d4d9d2ce43b3f2 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:18:15 2014 +0200 m32r: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 37f078ff4c97ad143a6dc2adae31e20a3f780ca7 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Apr 3 18:20:58 2015 +0200 m32r: Autogenerate offsets in struct thread_info Maintaining offsets by hand is no fun. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 7bd8301084dfaf9210f66142fadb62a2bee7588b Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:15:06 2014 +0200 frv: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 61622aa399ecc65601331b946395ce095cb7c9d8 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Apr 3 18:58:10 2015 +0200 blackfin: Remove exec_domain usage As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ede45dd302385007b7ee83148753654ab8453167 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Apr 3 18:56:16 2015 +0200 blackfin: Autogenerate offsets in struct thread_info Maintaining offsets by hand is no fun. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 9699a517e0029c4dc34159787a26a746dfab858b Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:09:40 2014 +0200 arm64: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit a4980448ed658db313da3195bcca634c7a5adafa Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 15:24:03 2014 +0200 arm: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 973f911f55a0e510dd6db8bbb29cd82ff138d3c0 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 30 08:14:16 2015 +0200 Remove execution domain support All users of exec_domain are gone, now we can get rid of that abandoned feature. To not break existing userspace we keep a dummy /proc/execdomains file which will always contain "0-0 Linux [kernel]". Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 3c7a49d0745a82845f017929eefa9ac1ad117355 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 14:52:04 2014 +0200 ia64: Remove Linux/x86 exec domain support As this series removes exec domain support we can get rid of this hack. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 125ec7b4e90cbae4eed5a7ff1ee479cc331dcf3c Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 14:42:04 2014 +0200 arm: Remove RISC OS personality The RISC OS personality seems to be unused and untested for a long time. It is doubtful whether this personality worked ever as expected. Let's rip it out. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7667428f80526d908124e0647ac5dbe3dad88900 Merge: ff096ea f263fa3 905a808 99d4223 1a60667 159366e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:22 2015 +0100 Merge remote-tracking branches 'asoc/topic/wm2200', 'asoc/topic/wm5100', 'asoc/topic/wm8731', 'asoc/topic/wm8804' and 'asoc/topic/wm8996' into asoc-next commit ff096eae2ef7d5f1c62a340a4b670912c2df5b98 Merge: e343818 1b13fe7 f580f8a 5cf57f0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:20 2015 +0100 Merge remote-tracking branches 'asoc/topic/tegra', 'asoc/topic/tlv320aic23' and 'asoc/topic/ux500' into asoc-next commit e3438187d2a3b149f5c246ed740df3cf9d4df3d6 Merge: 1fa1e07 261e43a3 c36aa0a 1efb53a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:17 2015 +0100 Merge remote-tracking branches 'asoc/topic/rt5641', 'asoc/topic/rt5677' and 'asoc/topic/sh-cleanup' into asoc-next commit 1fa1e0731db9e5579afa60b6299b6c47447eee3a Merge: e1f0599 59c41d1 6a32888 8616774 d53d59e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:11 2015 +0100 Merge remote-tracking branches 'asoc/topic/omap', 'asoc/topic/qcom', 'asoc/topic/rcar' and 'asoc/topic/rt286' into asoc-next commit e1f059937a2b90a1dbf314959776d3f51b4ab20d Merge: 626761a 46172b6 c6b424f 5116ede fa41181 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:06 2015 +0100 Merge remote-tracking branches 'asoc/topic/link-param', 'asoc/topic/max98090', 'asoc/topic/max98925' and 'asoc/topic/nuc900' into asoc-next commit 626761ad022c01450330c5774399b35d7fc7a0ac Merge: b7af54a 02f5164 967beb2 7f2c52a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:03 2015 +0100 Merge remote-tracking branches 'asoc/topic/jack', 'asoc/topic/jz4740' and 'asoc/topic/kirkwood' into asoc-next commit b7af54a99218a110e6dcb8a1e9742d60d3c322c9 Merge: 41caf05 0aed112 9a42ab0 1169006 ca26418 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:59 2015 +0100 Merge remote-tracking branches 'asoc/topic/dmaengine', 'asoc/topic/fsi', 'asoc/topic/fsl' and 'asoc/topic/fsl-ssi' into asoc-next commit 41caf0564ea1a8a3b3cb572abc64d5116c150b6c Merge: 6ca4aba 3255639 b213b44 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:56 2015 +0100 Merge remote-tracking branches 'asoc/topic/cx20442' and 'asoc/topic/davinci' into asoc-next commit 6ca4aba43e52b0743c28a9fa7d550b96df63b4f0 Merge: 7ad2d1d f7d4bfe b3f5dbe 39c2618 158bf4e ada602b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:51 2015 +0100 Merge remote-tracking branches 'asoc/topic/4554', 'asoc/topic/ab8500', 'asoc/topic/ak4642', 'asoc/topic/arizona' and 'asoc/topic/atmel' into asoc-next commit 7ad2d1d5b069ce658d9c646c55278e161036dfca Merge: aab0bb1 3732255 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:49 2015 +0100 Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-next commit aab0bb17ef2440ef5f68dcde5f1a6b32dcdfa9fb Merge: 77b62fa a5e5e12 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:33 2015 +0100 Merge remote-tracking branch 'asoc/topic/intel' into asoc-next commit 77b62fa5d23988155132cf7fee44f2c209e3dc4c Merge: d1113af4 6b5b042 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:31 2015 +0100 Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next commit d1113af4e8c0f2cd71e52cb904447bd0eec8aa54 Merge: 89a88dd a5053a8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:30 2015 +0100 Merge remote-tracking branch 'asoc/topic/core' into asoc-next commit 89a88dd3d6823f46bfb1405c4b358f89d5526cd6 Merge: 3eaecb4 d7e3281 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:29 2015 +0100 Merge tag 'asoc-v4.1' into asoc-next ASoC: Changes for v4.1 A selection of changes for v4.1 so far. The main things are: - Move of jack registration to the card where it belongs. - Support for DAPM routes specified by both the machine driver and DT. # gpg: Signature made Thu 05 Mar 2015 01:10:27 GMT using RSA key ID 5D5487D0 # gpg: WARNING: digest algorithm MD5 is deprecated # gpg: please see https://gnupg.org/faq/weak-digest-algos.html for more information # gpg: Oops: keyid_from_fingerprint: no pubkey # 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 3eaecb4b50693378bb55cc633992e7f72be35687 Merge: 250acc7 8787041 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:27 2015 +0100 Merge remote-tracking branch 'asoc/fix/wm8741' into asoc-linus commit 250acc709ee23856eba8432f979e42ba64a9a8b6 Merge: a37a940 c01673e 3a82002 74ff960 a57069e 2f78dd7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:22 2015 +0100 Merge remote-tracking branches 'asoc/fix/ak4642', 'asoc/fix/atmel', 'asoc/fix/cs4271', 'asoc/fix/davinci' and 'asoc/fix/rcar' into asoc-linus commit a37a9407ca3cec1f9218657eaec43814db1673f6 Merge: a55ede1 cd02e3d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:21 2015 +0100 Merge remote-tracking branch 'asoc/fix/pcm512x' into asoc-linus commit a55ede1661268c1a6fe94078b7b08906dfa7b77a Merge: dad0e52 6212755 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:20 2015 +0100 Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus commit dad0e523ede5a6d2d20c54d0e179b36a54a9953b Merge: f22e6e8 14f0413c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:19 2015 +0100 Merge tag 'asoc-fix-v4.0-rc7' into asoc-linus ASoC: Last minute fix for v4.0 This patch backs out a change that came in during the merge window which selects a configuration for GPIO4 on pcm512x CODECs that may not be suitable for all systems using the device. Changes for v4.1 will make this properly configurable but for now it's safest to revert to the v3.19 behaviour and leave the pin configuration alone. Sorry for sending this direct at the last minute but due to the GPIO misuse it'd be really good to get it in the release and I'd not realised it hadn't been sent yet - between some travel, a job change and other non-urgent fixes coming in I'd lost track of the urgency. It's been in -next for several weeks now, is isolated to the driver and fairly clear to inspection. # gpg: Signature made Sat 11 Apr 2015 22:14:17 BST using RSA key ID 5D5487D0 # gpg: WARNING: digest algorithm MD5 is deprecated # gpg: please see https://gnupg.org/faq/weak-digest-algos.html for more information # gpg: Oops: keyid_from_fingerprint: no pubkey # 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 a5e5e12bd4ed5cd1123ace4300b5c07230fbf21e Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Apr 13 02:16:21 2015 +0800 ASoC: Intel: fix array_size.cocci warnings sound/soc/intel/haswell/sst-haswell-ipc.c:646:28-29: WARNING: Use ARRAY_SIZE Use ARRAY_SIZE instead of dividing sizeof array with sizeof an element Semantic patch information: This makes an effort to find cases where ARRAY_SIZE can be used such as where there is a division of sizeof the array by the sizeof its first element or by any indexed element or the element type. It replaces the division of the two sizeofs by ARRAY_SIZE. Generated by: scripts/coccinelle/misc/array_size.cocci CC: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6a23b45f1d4b9961e9bf38bc9fb64dc154272abf Merge: 54d8ccc 64b4e25 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 12 10:56:12 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs and fs fixes from Al Viro: "Several AIO and OCFS2 fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: ocfs2: _really_ sync the right range ocfs2_file_write_iter: keep return value and current position update in sync [regression] ocfs2: do *not* increment ->ki_pos twice ioctx_alloc(): fix vma (and file) leak on failure fix mremap() vs. ioctx_kill() race commit 54d8ccc30270586f869bfb46ff8a8ca330c8aa23 Merge: 56fd85b 541d529 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 12 10:43:30 2015 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal Pull last minute thermal-SoC management fixes from Eduardo Valentin: "Specifics: - Minor fixes on ST and RCAR thermal drivers. - Avoid flooding kernel log when driver returns -EAGAIN. Note: I am sending this pull on Rui's behalf while he fixes issues in his Linux box" * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal: drivers: thermal: st: remove several sparse warnings thermal: constify of_device_id array thermal: Do not log an error if thermal_zone_get_temp returns -EAGAIN thermal: rcar: Fix typo in r8a73a4 SoC name commit 59c41d15e63063545b1f91f7ad5411c25f6d046d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 10:47:58 2015 +0200 ASoC: n810: Automatically disconnect non-connected pins All CODEC input and output widgets are either in the DAPM routing table or manually marked as non-connected. This means the card is fully routed and we can let the core take care of disconnecting non-connected pins. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d4bdaced1a81ca2953557f8ecae842b42879fda4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 10:47:57 2015 +0200 ASoC: n810: Consistently pass the card DAPM context to n810_ext_control() Some callers of n810_ext_control() pass the card DAPM context and some pass the CODEC DAPM context. Given that some of the widgets that are accessed in the function are in the card's context, always passing it is the obvious choice. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b213b44a96ed1f868f68b094dbcf8fc9622984ef Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 13:11:28 2015 +0200 ASoC: davinci-evm: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5cf57f0f6b25d046e6ea219d99681077edca5d7c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 13:01:02 2015 +0200 ASoC: mop500_ab8500: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02f51640fedb61ab17fcddbd6fdb40239a4f46d9 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 12:52:01 2015 +0200 ASoC: wm1133-ev1: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ada602b30e070e786caa6e14a2e17100c6bd6998 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 11:16:19 2015 +0200 ASoC: atmel: Improve machine driver compile test coverage The Atmel ASoC machine drivers don't have any compile time arch dependencies anymore. Make it possible to select them when COMPILE_TEST is enabled to get better compile test coverage. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ca92b8f5ad80e0d97f093dad81a4e4143c8edeb Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 11:16:18 2015 +0200 ASoC: atmel: Add dependency to SND_SOC_I2C_AND_SPI where necessary The SND_AT91_SOC_SAM9G20_WM8731 and SND_AT91_SOC_SAM9X5_WM8731 machine driver symbols select SND_SOC_WM8731 which depends on SND_SOC_I2C_AND_SPI. So the machine driver symbols need to depend on SND_SOC_I2C_AND_SPI as well, otherwise we might end up with a invalid configuration, which will sooner or later upset the randconfig auto-builders. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 066450be419fa48007a9f29e19828f2a86198754 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Apr 12 11:11:21 2015 +0200 perf/x86/intel/pt: Clean up the control flow in pt_pmu_hw_init() Dan Carpenter pointed out that the control flow in pt_pmu_hw_init() is a bit messy: for example the kfree(de_attrs) is entirely superfluous. Another problem is the inconsistent mixing of label based and direct return error handling. Add modern, label based error handling instead and clean up the code a bit as well. Note that we'll still do a kfree(NULL) in the normal case - this does not matter as this is an init path and kfree() returns early if it sees a NULL. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150409090805.GG17605@mwanda Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c30cf8cbe55413cd643a0bdd3442d75950caa918 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sun Apr 12 09:16:11 2015 +0200 ALSA: control: Fix a typo of SNDRV_CTL_ELEM_ACCESS_TLV_* with SNDRV_CTL_TLV_OP_* The commit [39d118677baa: ALSA: ctl: evaluate macro instead of numerical value] replaced the numbers with constants, but one place was replaced wrongly with a different type. Fixed now. Fixes: 39d118677baa ('ALSA: ctl: evaluate macro instead of numerical value') Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eef0342cf32689f77d78ee3302999e5caaa6a8f3 Author: Adam Honse <calcprogrammer1@xxxxxxxxx> Date: Sun Apr 12 01:03:07 2015 -0500 ALSA: usb-audio: Don't attempt to get Microsoft Lifecam Cinema sample rate Adds Microsoft LifeCam Cinema USB ID to the snd_usb_get_sample_rate_quirk list as the Lifecam Cinema does not appear to support getting the sample rate. Fixes the issue where the LifeCam Cinema would wait for USB timeout and log the message "cannot get freq at ep 0x82" when accessed. Addresses bug report https://bugzilla.kernel.org/show_bug.cgi?id=95961. Signed-off-by: Adam Honse <calcprogrammer1@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4461471107b79bee16c497c9f7f69fa26126ae5b Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 01:09:05 2015 -0400 ext4 crypto: enable filename encryption Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1f3862b5575b138e83080232706e37ee24b8093e Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 01:09:03 2015 -0400 ext4 crypto: filename encryption modifications Modifies htree_dirblock_to_tree, dx_make_map, ext4_match search_dir, and ext4_find_dest_de to support fname crypto. Filename encryption feature is not yet enabled at this patch. Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b30984864406ad01b72eee486add103e9cb3526f Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 01:07:01 2015 -0400 ext4 crypto: partial update to namei.c for fname crypto Modifies dx_show_leaf and dx_probe to support fname encryption. Filename encryption not yet enabled. Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 4bdfc873ba34e425d6532581b4127b960274272a Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:56:28 2015 -0400 ext4 crypto: insert encrypted filenames into a leaf directory block Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 2f61830ae33e2944ad66bb8bb40916f534b2e494 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Apr 12 00:56:26 2015 -0400 ext4 crypto: teach ext4_htree_store_dirent() to store decrypted filenames For encrypted directories, we need to pass in a separate parameter for the decrypted filename, since the directory entry contains the encrypted filename. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit d5d0e8c7203a41c01ba05f4e053e16a94ce3c2e1 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:56:17 2015 -0400 ext4 crypto: filename encryption facilities Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit c9c7429c2e486f375bddd0c338cc3ad366123717 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:56:10 2015 -0400 ext4 crypto: implement the ext4 decryption read path Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 2058f83a728adffbe00bded4f804b37a5ee58cbe Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:55:10 2015 -0400 ext4 crypto: implement the ext4 encryption write path Pulls block_write_begin() into fs/ext4/inode.c because it might need to do a low-level read of the existing data, in which case we need to decrypt it. Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit dde680cefc842e58524772099a3b8219e5abf551 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:55:09 2015 -0400 ext4 crypto: inherit encryption policies on inode and directory create Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit d9cdc903318171571f1cd1e5737fd0cab94186be Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Apr 12 00:55:08 2015 -0400 ext4 crypto: enforce context consistency Enforce the following inheritance policy: 1) An unencrypted directory may contain encrypted or unencrypted files or directories. 2) All files or directories in a directory must be protected using the same key as their containing directory. As a result, assuming the following setup: mke2fs -t ext4 -Fq -O encrypt /dev/vdc mount -t ext4 /dev/vdc /vdc mkdir /vdc/a /vdc/b /vdc/c echo foo | e4crypt add_key /vdc/a echo bar | e4crypt add_key /vdc/b for i in a b c ; do cp /etc/motd /vdc/$i/motd-$i ; done Then we will see the following results: cd /vdc mv a b # will fail; /vdc/a and /vdc/b have different keys mv b/motd-b a # will fail, see above ln a/motd-a b # will fail, see above mv c a # will fail; all inodes in an encrypted directory # must be encrypted ln c/motd-c b # will fail, see above mv a/motd-a c # will succeed mv c/motd-a a # will succeed Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 88bd6ccdcdd638faa11e9746affc21d5f2fe2acf Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:55:06 2015 -0400 ext4 crypto: add encryption key management facilities Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <muslukhovi@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b30ab0e03407d2aa2d9316cba199c757e4bfc8ad Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:43:56 2015 -0400 ext4 crypto: add ext4 encryption facilities On encrypt, we will re-assign the buffer_heads to point to a bounce page rather than the control_page (which is the original page to write that contains the plaintext). The block I/O occurs against the bounce page. On write completion, we re-assign the buffer_heads to the original plaintext page. On decrypt, we will attach a read completion callback to the bio struct. This read completion will decrypt the read contents in-place prior to setting the page up-to-date. The current encryption mode, AES-256-XTS, lacks cryptographic integrity. AES-256-GCM is in-plan, but we will need to devise a mechanism for handling the integrity data. Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 7da839c475894ea872ec909a5d2e83dddccff5be Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 14:01:33 2015 -0400 ocfs2: use __generic_file_write_iter() we can do that now - all we need is to clear IOCB_DIRECT from ->ki_flags in "can't do dio" case. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2ba48ce513c4e545318d22b138861d5876edf906 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 13:52:01 2015 -0400 mirror O_APPEND and O_DIRECT into iocb->ki_flags ... avoiding write_iter/fcntl races. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3309dd04cbcd2cdad168485af5cf3576b5051e49 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 12:55:47 2015 -0400 switch generic_write_checks() to iocb and iter ... returning -E... upon error and amount of data left in iter after (possible) truncation upon success. Note, that normal case gives a non-zero (positive) return value, so any tests for != 0 _must_ be updated. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Conflicts: fs/ext4/file.c commit 90320251db0fe3d05f2b10686ec936c7d6ecd99a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 11:14:45 2015 -0400 ocfs2: move generic_write_checks() before the alignment checks Alignment checks for dio depend upon the range truncation done by generic_write_checks(). They can be done as soon as we got ocfs2_rw_lock() and that actually makes ocfs2_prepare_inode_for_write() simpler. The only thing to watch out for is restoring the original count in "unlock and redo without dio" case. Position doesn't need to be restored, since we change it only in O_APPEND case and in that case it will be reassigned anyway. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5dc3161cb63265adca0c34fac79512af59b776a4 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 07:25:03 2015 -0400 ocfs2_file_write_iter: stop messing with ppos it's &iocb->ki_pos; no need to obfuscate. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit dfea934575164497a9e36074ebce606a1a278ed9 Merge: 165f1a6 64b4e25 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 22:29:51 2015 -0400 Merge branch 'for-linus' into for-next commit 165f1a6e300d5a1ffb57cf9a9c8762de731228f2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 15:26:36 2015 -0400 udf_file_write_iter: reorder and simplify it's easier to do generic_write_checks() first Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6b775b18eecf60b8a44723e05f8eb6251b71a7a9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 15:06:19 2015 -0400 fuse: ->direct_IO() doesn't need generic_write_checks() already done by caller. We used to call __fuse_direct_write(), which called generic_write_checks(); now the former got expanded, bringing the latter to the surface. It used to be called all along and calling it from there had been wrong all along... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e768d7ff7b923a74a019d8782e6ee75dc1de12c1 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 14:48:22 2015 -0400 ext4_file_write_iter: move generic_write_checks() up simpler that way... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 99733fa372eaaa59cfb93fd383cee7b0ff056e1d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 14:25:18 2015 -0400 xfs_file_aio_write_checks: switch to iocb/iov_iter Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0fa6b005afdb3152ce85df963302e59b61115f9b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 04:05:48 2015 -0400 generic_write_checks(): drop isblk argument all remaining callers are passing 0; some just obscure that fact. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7ec7b94a3339756dfbb88234e3e45a428e8c08fb Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:35:14 2015 -0400 blkdev_write_iter: expand generic_file_checks() call in there Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5f380c7fa7e01f15ca0816bd241ece9a64a73192 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:28:12 2015 -0400 lift generic_write_checks() into callers of __generic_file_write_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0b8def9d6dfa6b2a9a2740cf81d8d2c134688d39 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 10:22:53 2015 -0400 __generic_file_write_iter: keep ->ki_pos and return value consistent A side effect worth noting: in O_APPEND case we set ->ki_pos early, so if it turns out to be an error or a zero-length write, we'll end up with ->ki_pos modified. Safe, since all callers never look at the ->ki_pos after the call of __generic_file_write_iter() returning non-positive, all the way to caller of ->write_iter() and those discard ->ki_pos when getting that. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e9d1593d4e9311bca040ecf6ec7599e6f235140c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 22:44:11 2015 -0400 cifs: fold cifs_iovec_write() into the only caller Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ccca26835dc27f7ba54e09d7aa03f462684a1927 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Apr 5 14:06:24 2015 -0400 ntfs: move iov_iter_truncate() closer to generic_write_checks() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit f765b134c0d3f294f6084d3e0a11de184059a387 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 20:50:38 2015 -0400 new_sync_write(): discard ->ki_pos unless the return value is positive That allows ->write_iter() instances much more convenient life wrt iocb->ki_pos (and fixes several filesystems with borderline POSIX violations when zero-length write succeeds and changes the current position). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 22c6186ecea0be9eff1c399298ad36e94a59995f Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Mon Mar 16 04:33:53 2015 -0700 direct_IO: remove rw from a_ops->direct_IO() Now that no one is using rw, remove it completely. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6f67376318abea58589ebe6d69dffeabb6f6c26a Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Mon Mar 16 04:33:52 2015 -0700 direct_IO: use iov_iter_rw() instead of rw everywhere The rw parameter to direct_IO is redundant with iov_iter->type, and treated slightly differently just about everywhere it's used: some users do rw & WRITE, and others do rw == WRITE where they should be doing a bitwise check. Simplify this with the new iov_iter_rw() helper, which always returns either READ or WRITE. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a95cd6311512bd954e88684eb39373f7f4b0a984 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Mon Mar 16 04:33:51 2015 -0700 Remove rw from dax_{do_,}io() And use iov_iter_rw() instead. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 17f8c842d24ac054e4212c82b5bd6ae455a334f3 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Mon Mar 16 04:33:50 2015 -0700 Remove rw from {,__,do_}blockdev_direct_IO() Most filesystems call through to these at some point, so we'll start here. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit bd8e0ff956456ad9071dbb6c2ed7d33bd22fc216 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Tue Mar 17 14:04:02 2015 -0700 new helper: iov_iter_rw() Get either READ or WRITE out of iter->type. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8436318205b9f29e45db88850ec60e326327e241 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 01:14:53 2015 -0400 ->aio_read and ->aio_write removed no remaining users Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1c65d98672e09a0cb28e1e9ae49e9d96355f522f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 00:19:32 2015 -0400 pcm: another weird API abuse readv() and writev() should _not_ ignore all but the first ->iov_len, among other things. Really weird abuse of those syscalls - it expects a vector element per channel, with identical lengths (it actually assumes them to be identical - no checking is done). readv() and writev() are really bad match for that. Unfortunately, userland API is userland API and we can't do anything about them. Converted to ->read_iter/->write_iter. Please, _please_ don't do anything of that kind when designing new interfaces. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4961772560d2f19695c73ece943716033ad62ac2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 00:11:32 2015 -0400 infinibad: weird APIs switched to ->write_iter() Things Not To Do When Writing A Driver, part 1001st: have writev() and write() on the same file doing completely different things. As in, "interpret very different sets of commands". We _can_ handle that, but it's a bloody bad idea. Don't do that in new drivers. Ever. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9a219bc70b54523c8f14a3c957179854785ee97c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 22:10:20 2015 -0400 kill do_sync_read/do_sync_write all remaining instances of aio_{read,write} (all 4 of them) have explicit ->read and ->write resp.; do_sync_read/do_sync_write is never called by __vfs_read/__vfs_write anymore and no other users had been left. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6c09e94a32e1094983d39879b9e8ccf9ffdcfa36 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 22:06:08 2015 -0400 fuse: use iov_iter_get_pages() for non-splice path store reference to iter instead of that to iovec Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fbdbacca6153101f85cbc4ad8eb19bf0dde6a5cc Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 21:53:39 2015 -0400 fuse: switch to ->read_iter/->write_iter we just change the calling conventions here; more work to follow. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cd28e28d801e052a3378161c9cb3231828cfaa77 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:57:04 2015 -0400 switch drivers/char/mem.c to ->read_iter/->write_iter Note that _these_ guys have ->read() and ->write() left in place - they are eqiuvalent to what we'd get if we replaced those with NULL, but we are talking about hot paths here. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5d5d568975307877e9195f5305f4240e506a2807 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:41:18 2015 -0400 make new_sync_{read,write}() static All places outside of core VFS that checked ->read and ->write for being NULL or called the methods directly are gone now, so NULL {read,write} with non-NULL {read,write}_iter will do the right thing in all cases. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 86cc05840a0da1afcb6b8151b53f3b606457c91b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:23:17 2015 -0400 coredump: accept any write method Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 283e7e5d249f4861c797679b6a5b53d525194c98 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:21:59 2015 -0400 switch /dev/loop to vfs_iter_write() all writable files that might be used as backing store for /dev/loop already support ->write_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 79ff50c09eee690985e178417b36d7128ece8b68 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:14:42 2015 -0400 serial2002: switch to __vfs_read/__vfs_write Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e145286685fe6a9eb3f984832b0667d0407081b1 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:09:38 2015 -0400 ashmem: use __vfs_read() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3d04c8a17f1a0041a6851cf64f3da8c40deed837 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:09:18 2015 -0400 export __vfs_read() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a35fb914ae62a58ca7519778fffac722c6ae255f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:07:48 2015 -0400 autofs: switch to __vfs_write() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 493c84c0722ac991a96df2fd6c7798b2126b626c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:06:43 2015 -0400 new helper: __vfs_write() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c48722c6364ec94738afa42e48b1e1f8f20e3192 Merge: 34d0640 dcdbd7b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 22:28:58 2015 -0400 Merge branch '9p-iov_iter' into for-next commit 34d0640e268923bb1fb9d244a047cdfcd3f77909 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:31:35 2015 -0400 switch hugetlbfs to ->read_iter() ... and fix the case when the area we are asked to read crosses a hugepage boundary Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c12c49e70218ed1bde28fc8182ac274889d15b9d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 10:58:11 2015 -0400 coda: switch to ->read_iter/->write_iter ... and request the same from the local cache - all filesystems with anything usable for that support those already. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 274a48869b26c53c641f146b312486e1693f4d61 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 23:30:18 2015 -0400 ncpfs: switch to ->read_iter/->write_iter Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit dcdbd7b269003bec7d729ca3fd143f93cf98f56e Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 23:11:36 2015 -0400 net/9p: remove (now-)unused helpers Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 21c9f5ccb103868c730aec6f8548e144ec397fed Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 21:47:49 2015 -0400 p9_client_attach(): set fid->uid correctly it's almost always equal to current_fsuid(), but there's an exception - if the first writeback fid is opened by non-root *and* that happens before root has done any lookups in /, we end up doing attach for root. The current code leaves the resulting FID owned by root from the server POV and by non-root from the client one. Unfortunately, it means that e.g. massive dcache eviction will leave that user buggered - they'll end up redoing walks from / *and* picking that FID every time. As soon as they try to create something, the things will get nasty. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ce85dd58ad5a6c209bb6e7413997b87b667db7ad Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 12:02:03 2015 -0400 9p: we are leaking glock.client_id in v9fs_file_getlock() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e494b6b5e1034db00571c44e089e6fe3845b6e8c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 23:59:57 2015 -0400 9p: switch to ->read_iter/->write_iter Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 42b1ab979d92d21ae2ea376e77f33f18973b9581 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 23:49:24 2015 -0400 9p: get rid of v9fs_direct_file_read() do it in ->direct_IO()... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e1200fe68f20759f359698f8a8dc81d06d1265f5 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 23:42:28 2015 -0400 9p: switch p9_client_read() to passing struct iov_iter * ... and make it loop Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9565a5445240cd441f2c670aa7260ee8eb5dff79 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 22:32:23 2015 -0400 9p: get rid of v9fs_direct_file_write() just handle it in ->direct_IO() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c711a6b111322941a41bb024dbcc22b9858d5dd6 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 22:04:46 2015 -0400 9p: fold v9fs_file_write_internal() into the caller Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 371098c6a689da81fbb53bf7acf128f89a6efa09 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 21:54:42 2015 -0400 9p: switch ->writepage() to direct use of p9_client_write() Don't mess with kmap() - just use ITER_BVEC. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 070b3656cf228eaaef7b28b59264c5c7cdbdd0fb Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 20:17:51 2015 -0400 9p: switch p9_client_write() to passing it struct iov_iter * ... and make it loop until it's done Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4f3b35c157e43107cc7e1f1aa06694e8b22e10bb Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 19:57:53 2015 -0400 net/9p: switch the guts of p9_client_{read,write}() to iov_iter ... and have get_user_pages_fast() mapping fewer pages than requested to generate a short read/write. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6e242a1ceeb1bcf55ffefa84d3079f711fe8a667 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:35:13 2015 -0400 nommu: use __vfs_read() ... instead of open-coding the call of ->read() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d0f88f8d5da674445f23ace60bb1896f4a3a3783 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:30:48 2015 -0400 acct: check FMODE_CAN_WRITE it's not calling ->write() directly anymore. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 47e393622bbdd48aa21837eb2c55ee1c359e080c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 11:54:59 2015 -0400 aio_run_iocb(): kill dead check We check if ->ki_pos is positive. However, by that point we have already done rw_verify_area(), which would have rejected such unless the file had been one of /dev/mem, /dev/kmem and /proc/kcore. All of which do not have vectored rw methods, so we would've bailed out even earlier. This check had been introduced before rw_verify_area() had been added there - in fact, it was a subset of checks done on sync paths by rw_verify_area() (back then the /dev/mem exception didn't exist at all). The rest of checks (mandatory locking, etc.) hadn't been added until later. Unfortunately, by the time the call of rw_verify_area() got added, the /dev/mem exception had already appeared, so it wasn't obvious that the older explicit check downstream had become dead code. It *is* a dead code, though, since the few files for which the exception applies do not have ->aio_{read,write}() or ->{read,write}_iter() and for them we won't reach that check anyway. What's more, even if we ever introduce vectored methods for /dev/mem and friends, they'll have to cope with negative positions anyway, since readv(2) and writev(2) are using the same checks as read(2) and write(2) - i.e. rw_verify_area(). Let's bury it. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 08397acdd0f02d566154c9ac7f625ae8e77133b3 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 11:43:52 2015 -0400 ioctx_alloc(): remove pointless check Way, way back kiocb used to be picked from arrays, so ioctx_alloc() checked for multiplication overflow when calculating the size of such array. By the time fs/aio.c went into the tree (in 2002) they were already allocated one-by-one by kmem_cache_alloc(), so that check had already become pointless. Let's bury it... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 23602adfee71894d04ce2b69cbd6d29ab2e77d6d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 23:39:16 2015 -0400 lustre: kill unused members of struct vvp_thread_info Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 812408fb51ef580200b169c5a0f653adb248f05b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 22:15:58 2015 -0400 expand __fuse_direct_write() in both callers it's actually shorter that way *and* later we'll want iocb in scope of generic_write_check() caller. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 15316263649d9eed393d75095b156781a877eb06 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 22:08:36 2015 -0400 fuse: switch fuse_direct_io_file_operations to ->{read,write}_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cfa86a74122942a18806f861eeb2a0b97676a598 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 09:01:45 2015 -0400 cuse: switch to iov_iter Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 39c853ebfe169f187a760b34f9cbf54751bfce00 Merge: fdc81f4 01e97e6 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 22:27:19 2015 -0400 Merge branch 'for-davem' into for-next commit fdc81f45e9f57858da6351836507fbcf1b7583ee Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:25:30 2015 -0400 sg_start_req(): use import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 451a2886b6bf90e2fb378f7c46c655450fb96e81 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:08:18 2015 -0400 sg_start_req(): make sure that there's not too many elements in iovec unfortunately, allowing an arbitrary 16bit value means a possibility of overflow in the calculation of total number of pages in bio_map_user_iov() - we rely on there being no more than PAGE_SIZE members of sum in the first loop there. If that sum wraps around, we end up allocating too small array of pointers to pages and it's easy to overflow it in the second loop. X-Coverup: TINC (and there's no lumber cartel either) Cc: stable@xxxxxxxxxxxxxxx # way, way back Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8f7e885a4cc167f8b1931800fa1319772ae4b11d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:06:04 2015 -0400 blk_rq_map_user(): use import_single_range() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e272b89ff8fb63902294ba6eadd14729e2880ade Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:02:55 2015 -0400 sg_io(): use import_iovec() ... and don't skip access_ok() validation. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 17d17e728224f69311675e2ff312e992b7cc7b1e Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 14:47:11 2015 -0400 process_vm_access: switch to {compat_,}import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b353a1f7bbd6c015e8563e902f7c78710348e28f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 09:59:38 2015 -0400 switch keyctl_instantiate_key_common() to iov_iter Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0504c074b546651f19f23a214b76d145d3a0f5af Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:40:11 2015 -0400 switch {compat_,}do_readv_writev() to {compat_,}import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 32a56afa23e157b444b6c2b943322ea0d119517b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:34:53 2015 -0400 aio_setup_vectored_rw(): switch to {compat_,}import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 345995fa48c599210fd339a768eb68dead430b79 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:17:55 2015 -0400 vmsplice_to_user(): switch to import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d4fb392f4c5e57197a43b729e6fad5e02e5acaca Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:11:55 2015 -0400 kill aio_setup_single_vector() identical to import_single_range() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 36e9f6535f398952772df5238b23e795a2810f86 Merge: a96114f bc917be Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 22:26:51 2015 -0400 Merge branch 'iov_iter' into for-next commit a96114fa1acaabca1091a27aacebd945a5733075 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:40:18 2015 -0400 aio: simplify arguments of aio_setup_..._rw() We don't need req in either of those. We don't need nr_segs in caller. We don't really need len in caller either - iov_iter_count(&iter) will do. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4c185ce06dca14f5cea192f5a2c981ef50663f2b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:17:32 2015 -0400 aio: lift iov_iter_init() into aio_setup_..._rw() the only non-trivial detail is that we do it before rw_verify_area(), so we'd better cap the length ourselves in aio_setup_single_rw() case (for vectored case rw_copy_check_uvector() will do that for us). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ac15ac0669d5f5ce7fddec0d9cf3721c42d77a2c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:10:21 2015 -0400 lift iov_iter into {compat_,}do_readv_writev() get it closer to matching {compat_,}rw_copy_check_uvector(). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c0fec3a98bd6c4d992f191ee1aa0b3599213f3d4 Merge: c1b8940 e2e40f2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 22:24:41 2015 -0400 Merge branch 'iocb' into for-next commit c1b8940b42bb6487b10f2267a96b486276ce9ff7 Author: Andrew Elble <aweits@xxxxxxx> Date: Mon Feb 23 08:51:24 2015 -0500 NFS: fix BUG() crash in notify_change() with patch to chown_common() We have observed a BUG() crash in fs/attr.c:notify_change(). The crash occurs during an rsync into a filesystem that is exported via NFS. 1.) fs/attr.c:notify_change() modifies the caller's version of attr. 2.) 6de0ec00ba8d ("VFS: make notify_change pass ATTR_KILL_S*ID to setattr operations") introduced a BUG() restriction such that "no function will ever call notify_change() with both ATTR_MODE and ATTR_KILL_S*ID set". Under some circumstances though, it will have assisted in setting the caller's version of attr to this very combination. 3.) 27ac0ffeac80 ("locks: break delegations on any attribute modification") introduced code to handle breaking delegations. This can result in notify_change() being re-called. attr _must_ be explicitly reset to avoid triggering the BUG() established in #2. 4.) The path that that triggers this is via fs/open.c:chmod_common(). The combination of attr flags set here and in the first call to notify_change() along with a later failed break_deleg_wait() results in notify_change() being called again via retry_deleg without resetting attr. Solution is to move retry_deleg in chmod_common() a bit further up to ensure attr is completely reset. There are other places where this seemingly could occur, such as fs/utimes.c:utimes_common(), but the attr flags are not initially set in such a way to trigger this. Fixes: 27ac0ffeac80 ("locks: break delegations on any attribute modification") Reported-by: Eric Meddaugh <etmsys@xxxxxxx> Tested-by: Eric Meddaugh <etmsys@xxxxxxx> Signed-off-by: Andrew Elble <aweits@xxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3d330dc175d3faf518cf035be5ae6a39bf256e6e Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Feb 10 10:55:53 2015 -0500 dcache: return -ESTALE not -EBUSY on distributed fs race On a distributed filesystem it's possible for lookup to discover that a directory it just found is already cached elsewhere in the directory heirarchy. The dcache won't let us keep the directory in both places, so we have to move the dentry to the new location from the place we previously had it cached. If the parent has changed, then this requires all the same locks as we'd need to do a cross-directory rename. But we're already in lookup holding one parent's i_mutex, so it's too late to acquire those locks in the right order. The (unreliable) solution in __d_unalias is to trylock() the required locks and return -EBUSY if it fails. I see no particular reason for returning -EBUSY, and -ESTALE is already the result of some other lookup races on NFS. I think -ESTALE is the more helpful error return. It also allows us to take advantage of the logic Jeff Layton added in c6a9428401c0 "vfs: fix renameat to retry on ESTALE errors" and ancestors, which hopefully resolves some of these errors before they're returned to userspace. I can reproduce these cases using NFS with: ssh root@$client ' mount -olookupcache=pos '$server':'$export' /mnt/ mkdir /mnt/TO mkdir /mnt/DIR touch /mnt/DIR/test.txt while true; do strace -e open cat /mnt/DIR/test.txt 2>&1 | grep EBUSY done ' ssh root@$server ' while true; do mv $export/DIR $export/TO/DIR mv $export/TO/DIR $export/DIR done ' It also helps to add some other concurrent use of the directory on the client (e.g., "ls /mnt/TO"). And you can replace the server-side mv's by client-side mv's that are repeatedly killed. (If the client is interrupted while waiting for the RENAME response then it's left with a dentry that has to go under one parent or the other, but it doesn't yet know which.) Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a632f5593041305c8adbf4727bc1ccdf0b45178b Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Wed Mar 11 10:43:32 2015 -0400 NTFS: Version 2.1.32 - Update file write from aio_write to write_iter. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 171a02032bf1e1bb35442a38d6e25e0dcbb85c63 Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Wed Mar 11 10:43:31 2015 -0400 VFS: Add iov_iter_fault_in_multipages_readable() simillar to iov_iter_fault_in_readable() but differs in that it is not limited to faulting in the first iovec and instead faults in "bytes" bytes iterating over the iovecs as necessary. Also, instead of only faulting in the first and last page of the range, all pages are faulted in. This function is needed by NTFS when it does multi page file writes. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e5b811e38af7540b385c898d83eb0198310343fd Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 23:36:51 2015 -0400 drop bogus check in file_open_root() For one thing, LOOKUP_DIRECTORY will be dealt with in do_last(). For another, name can be an empty string, but not NULL - no callers pass that and it would oops immediately if they would. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3f7036a071b879da017eddaedb10fba173fdf1ff Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 19:28:30 2015 -0400 switch security_inode_getattr() to struct path * Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2247386243747500977dc92b1ab833401303f9f0 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 19:24:30 2015 -0400 constify tomoyo_realpath_from_path() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 74008b365dcb921781f7430c1fc279be7778327b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 05:46:21 2015 -0500 whack-a-mole: there's no point doing set_fs(USER_DS) in sigframe setup Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a555ad450f973528825201a5fedbe46374f86644 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 03:21:31 2015 -0500 whack-a-mole: no need to set_fs(USER_DS) in {start,flush}_thread() flush_old_exec() has already done that. Back on 2011 a bunch of instances like that had been kicked out, but that hadn't taken care of then-out-of-tree architectures, obviously, and they served as reinfection vector... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9e7543e9398ddd9679fbc81748a3e62eff4ab105 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 02:49:48 2015 -0500 remove incorrect comment in lookup_one_len() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 74eb8cc5a5f8ec85b8f6b8daebbce05a27e77e2a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 02:44:36 2015 -0500 namei.c: fold do_path_lookup() into both callers Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fd2f7cb5bcac58b63717cd45366bff9a6ab961c6 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 20:07:13 2015 -0500 kill struct filename.separate just make const char iname[] the last member and compare name->name with name->iname instead of checking name->separate We need to make sure that out-of-line name doesn't end up allocated adjacent to struct filename refering to it; fortunately, it's easy to achieve - just allocate that struct filename with one byte in ->iname[], so that ->iname[0] will be inside the same object and thus have an address different from that of out-of-line name [spotted by Boqun Feng <boqun.feng@xxxxxxxxx>] Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 56fd85b5dd595c84ed12b4b12e9b271876ac34de Merge: 12522ee 14f0413c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 15:57:36 2015 -0700 Merge tag 'asoc-fix-v4.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound Pull last-minute ASoC fix from Mark Brown: "This patch backs out a change that came in during the merge window which selects a configuration for GPIO4 on pcm512x CODECs that may not be suitable for all systems using the device. Changes for v4.1 will make this properly configurable but for now it's safest to revert to the v3.19 behaviour and leave the pin configuration alone. Sorry for sending this direct at the last minute but due to the GPIO misuse it'd be really good to get it in the release and I'd not realised it hadn't been sent yet - between some travel, a job change and other non-urgent fixes coming in I'd lost track of the urgency. It's been in -next for several weeks now, is isolated to the driver and fairly clear to inspection" * tag 'asoc-fix-v4.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound: ASoC: pcm512x: Remove hardcoding of pll-lock to GPIO4 commit 56afdb70ca9140cdcbdcf01870f3e4e2e8be17f5 Merge: 165f228 956b200a 3006191 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:31 2015 +0100 Merge remote-tracking branches 'spi/topic/spidev' and 'spi/topic/spidev-test' into spi-next commit 165f2288e1fc82df0c429942f2b7aef69de17d72 Merge: 8afba18 612762e 76b17e6 c9bc3e8 0744ea2 b4e2754 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:25 2015 +0100 Merge remote-tracking branches 'spi/topic/qup', 'spi/topic/rockchip', 'spi/topic/rspi', 'spi/topic/s3c64xx' and 'spi/topic/sc18is602' into spi-next commit 8afba181b90fbad372c420c302a57c0c4f9fdae4 Merge: 35fbf84 db91841 d4f9dcd 7183d1e ea022bb eecacf7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:18 2015 +0100 Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/pl022', 'spi/topic/pm' and 'spi/topic/pxa2xx' into spi-next commit 35fbf8452ce6e7da4389d037a981c9d8d58dc1b7 Merge: 431959c 7f43a87 63031ed e8361f7 0935540 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:14 2015 +0100 Merge remote-tracking branches 'spi/topic/fsl-cspi', 'spi/topic/fsl-dspi', 'spi/topic/imx' and 'spi/topic/of-id' into spi-next commit 431959c0793e0d399303a061424dbaa1b33eb940 Merge: f9de734 057f606 38b6484 207cda9 ff61eb4 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:09 2015 +0100 Merge remote-tracking branches 'spi/topic/blackfin', 'spi/topic/cadence', 'spi/topic/dw' and 'spi/topic/err' into spi-next commit f9de73426c69ec3357c31a10af5f5acb037dbbaa Merge: 19655dd ea46732 b716c4f 704f32d b3e7766 232a5ad Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:03 2015 +0100 Merge remote-tracking branches 'spi/topic/atmel', 'spi/topic/bcm2385', 'spi/topic/bcm2835', 'spi/topic/bcm53xx' and 'spi/topic/bitbang' into spi-next commit 19655dd083290c371cbb5279839314a6927d9082 Merge: e897f79 8c2c8c0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:01 2015 +0100 Merge remote-tracking branch 'spi/topic/img-spfi' into spi-next commit e897f795a925c95082b6890c6c6a00286b702012 Merge: 31d25e5 22de3ef Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:00 2015 +0100 Merge remote-tracking branch 'spi/topic/core' into spi-next commit 31d25e5cdad8e627a6509261da8b1eb083d66107 Merge: 68a595c e689d6d f511ab0 754ec43 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:08:56 2015 +0100 Merge remote-tracking branches 'spi/fix/fsl-dspi', 'spi/fix/imx' and 'spi/fix/rockchip' into spi-linus commit 68a595c7754d22bfe741a27c7df0965160df575d Merge: f22e6e8 8543d0e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:08:54 2015 +0100 Merge remote-tracking branch 'spi/fix/img-spfi' into spi-linus commit 8616774968f3baf0c49fc6bcca9550cac49034ee Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Apr 11 00:18:37 2015 +0200 ASoC: rnsd: fix build regression without CONFIG_OF The r-car sound driver only works when CONFIG_OF is set, and after a recent change has a compile-time dependency as well: sound/built-in.o: In function `rsnd_dma_request_channel': :(.text+0x9fb84): undefined reference to `of_dma_request_slave_channel' This could be fixed either by adding a static inline wrapper for the function, or by adding a Kconfig dependency. This implements the second approach, which seems appropriate because the driver in fact has a hard dependency. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 72adc61f4637aa3 ("ASoC: rsnd: 1st DMAC dma-names cares subnode") Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f6194213cbe871341cd5dfcfe31b4de78ef9503f Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Thu Mar 26 13:07:29 2015 +0000 clk: at91: change to using endian agnositc IO Change to using endian agnostic _relaxed IO accessors instead of __raw Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> -- CC: Andrew Victor <linux@xxxxxxxxxxxx> CC: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Mike Turquette <mturquette@xxxxxxxxxx> (maintainer:COMMON CLK FRAMEWORK) CC: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> (maintainer:COMMON CLK FRAMEWORK) CC: linux-kernel@xxxxxxxxxxxxxxx (open list:COMMON CLK FRAMEWORK) Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 14f0413ce3c400a74213a861bc8f47dca5e4d231 Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Mon Mar 23 21:17:01 2015 +0000 ASoC: pcm512x: Remove hardcoding of pll-lock to GPIO4 Currently GPIO4 is hardcoded to output the pll-lock signal. Unfortunately this is after the pll-out GPIO is configured which is selectable in the device tree. Therefore it is not possible to use GPIO4 for pll-out. Therefore this patch removes the configuration of GPIO4. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 12522eeac88165d0db56a6a19ab607addf728995 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 13:46:07 2015 -0700 Revert "dmaengine: Add a warning for drivers not using the generic slave caps retrieval" This reverts commit ecc19d17868be9c9f8f00ed928791533c420f3e0. It added a new warning to try to encourage driver writers to set the device capabities properly, but drivers haven't been updated and in the meantime it just generaters a scary message that users cannot actually do anything about. Warnings like these are appropriate if you actually expect to fix the code that causes them. They are not appropriate for releases. Requested-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ac2111753ca9350c8634c5d5f592628b32652cf3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 14:12:22 2015 -0700 blk-mq: initialize 'struct request' and associated data to zero Jan Engelhardt reports a strange oops with an invalid ->sense_buffer pointer in scsi_init_cmd_errh() with the blk-mq code. The sense_buffer pointer should have been initialized by the call to scsi_init_request() from blk_mq_init_rq_map(), but there seems to be some non-repeatable memory corruptor. This patch makes sure we initialize the whole struct request allocation (and the associated 'struct scsi_cmnd' for the SCSI case) to zero, by using __GFP_ZERO in the allocation. The old code initialized a couple of individual fields, leaving the rest undefined (although many of them are then initialized in later phases, like blk_mq_rq_ctx_init() etc. It's not entirely clear why this matters, but it's the rigth thing to do regardless, and with 4.0 imminent this is the defensive "let's just make sure everything is initialized properly" patch. Tested-by: Jan Engelhardt <jengelh@xxxxxxx> Acked-by: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01e97e6517053d7c0b9af5248e944a9209909cf5 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Dec 15 21:39:31 2014 -0500 new helper: msg_data_left() convert open-coded instances Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a2dd3793a1c3ac709f1d7b48ad7751563f4c654f Merge: d8725c8 53d5864 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 15:51:09 2015 -0400 Merge remote-tracking branch 'dh/afs' into for-davem commit d8725c86aebaf3516e220760aaf5fefc73825188 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 11 00:02:50 2014 -0500 get rid of the size argument of sock_sendmsg() it's equal to iov_iter_count(&msg->msg_iter) in all cases Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b641173915ae7b51c79abfde9580c3a381876bb1 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:29 2015 +0300 ixgbevf: Add the appropriate ethtool ops to query RSS indirection table and key Added get_rxfh_indir_size, get_rxfh_key_size and get_rxfh ethtool_ops callbacks implementations. This enables the ethtool's "-x" and "--show-rxfh[-indir]" options for VF devices. This patch adds the support for 82599 and x540 devices only. Support for other devices will be added later. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ad1431e2db5590bcc32ded8a27b3b5c0ced9add7 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:28 2015 +0300 ixgbevf: Add RSS Key query code Add the ixgbevf_get_rss_key() function that queries the PF for an RSS Random Key using a new VF-PF channel IXGBE_VF_GET_RSS_KEY command. This patch adds the support for 82599 and x540 devices only. Support for other devices will be added later. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3c0841a9229d9d3c33bab06b661314b82896c2d9 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:27 2015 +0300 ixgbe: Add GET_RSS_KEY command to VF-PF channel commands set For 82599 and x540 VFs and PF share the same RSS Key. Therefore we will return the same RSS key for all VFs. Support for other devices will be added later. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8fa5975900ba4e91e14a63f11fb7a026f60cecd5 Merge: 545124e ffeb13a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 10:52:13 2015 -0700 Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma Pull dmaengine fix from Vinod Koul: "I have one more fix to fix the boot warning on cppi driver due to missing capabilities" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: cppi41: add missing bitfields commit 545124e7773fc2f5f0f9574e5763583f7920d872 Merge: 3259b12 d0acf73 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 10:47:17 2015 -0700 Merge tag 'for-linus-4.0-1' of git://git.code.sf.net/p/openipmi/linux-ipmi Pull late ipmi fixes from Corey Minyard: "Some annoying issues in the IPMI driver that would be good to have fixed before 4.0 is released. These got reported or discovered late, but they will avoid some situations that would cause lots of log spam and in one case a deadlock" * tag 'for-linus-4.0-1' of git://git.code.sf.net/p/openipmi/linux-ipmi: ipmi_ssif: Use interruptible completion for waiting in the thread ipmi/powernv: Fix minor locking bug ipmi: Handle BMCs that don't allow clearing the rcv irq bit commit df63b9994eaf942afcdb946d27a28661d7dfbf2a Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Apr 10 14:58:39 2015 +0300 drm/atomic: Add for_each_{connector,crtc,plane}_in_state helper macros This saves some typing whenever a iteration over all the connector, crtc or plane states in the atomic state is written, which happens quite often. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 99dcab46b5a5b470074bec6d8386e2c7807684cf Author: Michael Gernoth <michael@xxxxxxxxxxx> Date: Sat Apr 11 18:00:19 2015 +0200 ALSA: emu10k1: add toggles for E-mu 1010 optical ports The optical ports on the E-mu 1010 (and dock) can be configured for ADAT- or S/PDIF-mode, which is currently hardcoded to ADAT. Add two mixer elements to expose this setting. Tested on an E-mu 1010 PCIe with connected Micro Dock. Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 94cf66f87064b8e4b24412f042b98e7cba4ebce2 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:26 2015 +0300 ixgbevf: Add a RETA query code We will currently support only 82599 and x540 devices. Support for other devices will be added later. - Added a new API version support. - Added the query implementation in the ixgbevf. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ffeb13aab68e2d0082cbb147dc765beb092f83f4 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Apr 8 11:45:42 2015 -0500 dmaengine: cppi41: add missing bitfields Add missing directions, residue_granularity, srd_addr_widths and dst_addr_widths bitfields. Without those we will see a kernel WARN() when loading musb on am335x devices. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit cab2ed7474bffafd2a68a885e03b85526194abcd Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Apr 11 17:41:04 2015 +0900 ALSA: ctl: fill identical information to return value when adding userspace elements currently some members related identical information are not fiiled in returned parameter of SNDRV_CTL_IOCTL_ELEM_ADD. This is not better for userspace application. This commit copies information to returned value. When failing to copy into userspace, the added elements are going to be removed. Then, no applications can lock these elements between adding and removing because these are already locked. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c378c3b03c8d6eef2d2600d0279e2c718d6a0a44 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Apr 11 17:41:03 2015 +0900 ALSA: ctl: fix a bug to return no identical information in info operation for userspace controls In operations of SNDRV_CTL_IOCTL_ELEM_INFO, identical information in returned value is cleared. This is not better to userspace application. This commit confirms to return full identical information to the operations. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c78497e010ae62c8abfb33a45d0e0b361218e9bb Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Apr 11 17:41:02 2015 +0900 ALSA: ctl: confirm to return all identical information in 'activate' event When event originator doesn't set numerical ID in identical information, the event data includes no numerical ID, thus userspace applications cannot identify the control just by unique ID in event data. This commit fix this bug so as the event data includes all of identical information. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fa863b2d5e62e2ea7d86ccfa9a888bd28dd79ebe Author: Michael Gernoth <michael@xxxxxxxxxxx> Date: Sat Apr 11 14:34:44 2015 +0200 ALSA: emu10k1: handle dock disconnects When the dock on an E-mu 1010 card is disconnected, all outputs get muted by the hardware. Add logic to detect a disconnect and unmute. Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c0278669fb61596cc1a10ab8686d27c37269c37b Author: Yves-Alexis Perez <corsac@xxxxxxxxxx> Date: Sat Apr 11 09:31:35 2015 +0200 ALSA: hda - Add dock support for ThinkPad X250 (17aa:2226) This model uses the same dock port as the previous generation. Signed-off-by: Yves-Alexis Perez <corsac@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 197175427a221fe3200f7727ea35e261727e7228 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Apr 1 17:30:36 2015 +0300 Documentation/memcg: update memcg/kmem status Memcg/kmem reclaim support has been finally merged. Reflect this in the documentation. Acked-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 82c91e87642dd6f88b9d9b1e5cc09232b6701eb0 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Sun Apr 5 11:50:02 2015 +0800 Documentation: blackfin: Makefile: Typo building issue Miss a ')' for ifneq in Makefile, the related building error: Documentation/blackfin/Makefile:2: *** invalid syntax in conditional. Stop. make[1]: *** [Documentation/blackfin] Error 2 Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 3250af197b0ad7b6935a955c7e5492cf49d39ccd Author: Randy Wright <rwright@xxxxxx> Date: Fri Apr 10 15:00:02 2015 -0600 Documentation/vm/pagemap.txt: correct location of page-types tool The page-types tool was relocated to tools/vm in the 3.4 kernel timeframe. Signed-off-by: Randy Wright <rwright@xxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9bd8212f981ea6375911fe055382ad7529be5b28 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sat Apr 11 07:48:01 2015 -0400 ext4 crypto: add encryption policy and password salt support Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Ildar Muslukhov <muslukhovi@xxxxxxxxx> commit 887e2c452255fbfdc8bdb891ff2066fb26908466 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sat Apr 11 07:47:00 2015 -0400 ext4 crypto: add encryption xattr support Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit e875a2ddba06ff8e84d4ce1c2bf69b67e4bf3678 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sat Apr 11 07:46:49 2015 -0400 ext4 crypto: export ext4_empty_dir() Required for future encryption xattr changes. Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b17655fb7f4a1d27c1e50dcc28268612da944a54 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Apr 11 07:46:47 2015 -0400 ext4 crypto: add ext4 encryption Kconfig Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f542fbe8d5e842ed4e9ad6ccc6c2913407451c51 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Apr 11 07:44:12 2015 -0400 ext4 crypto: reserve codepoints used by the ext4 encryption feature Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 3b75232d55680ca166dffa274d0587d5faf0a016 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 10 15:06:59 2015 +0200 perf/x86/64: Report regs_user->ax too in get_regs_user() I don't see why we report e.g. orix_ax, which is not always meaningful, but don't report ax, which is meaningful. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1428671219-29341-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 32caa06091cc59651222cdc971dc21eaab36b097 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 10 15:06:58 2015 +0200 perf/x86/64: Simplify regs_user->abi setting code in get_regs_user() user_64bit_mode(regs) basically checks regs->cs to point to a 64-bit segment. This check used to be unreliable here because regs->cs was not always correct in syscalls. Now regs->cs is always correct: in syscalls, in interrupts, in exceptions. No need to emply heuristics here. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1428671219-29341-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5df71b396b2d1fdd9d9f5a33e2eda5dc27c5632d Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 10 15:06:57 2015 +0200 perf/x86/64: Do report user_regs->cx while we are in syscall, in get_regs_user() Yes, it is true that cx contains return address. It's not clear why we trash it. Stop doing that. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1428671219-29341-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aa21df0424468dbd991440d41ba0f700c5997103 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 10 15:06:56 2015 +0200 perf/x86/64: Do not guess user_regs->cs, ss, sp in get_regs_user() After recent changes to syscall entry points, user_regs->{cs,ss,sp} are always correct. (They used to be undefined while in syscalls). We can report them reliably, without guessing. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1428671219-29341-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f7e9e358362557c3aa2c1ec47490f29fe880a09e Author: Dave Olson <olson@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 21:28:45 2015 -0700 powerpc: Fix missing L2 cache size in /sys/devices/system/cpu This problem appears to have been introduced in 2.6.29 by commit 93197a36a9c1 "Rewrite sysfs processor cache info code". This caused lscpu to error out on at least e500v2 devices, eg: error: cannot open /sys/devices/system/cpu/cpu0/cache/index2/size: No such file or directory Some embedded powerpc systems use cache-size in DTS for the unified L2 cache size, not d-cache-size, so we need to allow for both DTS names. Added a new CACHE_TYPE_UNIFIED_D cache_type_info structure to handle this. Fixes: 93197a36a9c1 ("powerpc: Rewrite sysfs processor cache info code") Signed-off-by: Dave Olson <olson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c54b2bf1b5e99760d53ea0376e96a046f93df6ae Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Apr 9 12:52:56 2015 +1000 powerpc: Add ppc64 hard lockup detector support The hard lockup detector uses a PMU event as a periodic NMI to detect if we are stuck (where stuck means no timer interrupts have occurred). Ben's rework of the ppc64 soft disable code has made ppc64 PMU exceptions a partial NMI. They can get disabled if an external interrupt comes in, but otherwise PMU interrupts will fire in interrupt disabled regions. We disable the hard lockup detector by default for a few reasons: - It breaks userspace event based branches on POWER8. - It is likely to produce false positives on KVM guests. - Since PMCs can only count to 2^31, counting cycles means we might take multiple PMU exceptions per second per hardware thread even if our hard lockup timeout is 10 seconds. It can be enabled via a boot option, or via procfs. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit af9feebe60add19fdd15adee80ac5b4eeb2a489b Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Apr 9 12:52:55 2015 +1000 oprofile: Disable oprofile NMI timer on ppc64 We want to enable the hard lockup detector on ppc64, but right now that enables the oprofile NMI timer too. We'd prefer not to enable the oprofile NMI timer, it adds another element to our PMU testing and it requires us to increase our exported symbols (eg cpu_khz). Modify the config entry for OPROFILE_NMI_TIMER to disable it on PPC64. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Acked-by: Robert Richter <rric@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b816ce67fcb57f9d51681cb3d26fd6598b4351ed Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 17 14:14:36 2015 -0500 powerpc/perf/hv-24x7: Add missing put_cpu_var() Add missing put_cpu_var() for 24x7 requests. This went missing in commit f34b6c7 (3.18-rc3). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit aeab199d84c2616ffc5e29aa4831bd8a660bde96 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:47 2015 -0700 powerpc/perf/hv-24x7: Break up single_24x7_request Break up the function single_24x7_request() into smaller functions. This would later enable us to "prepare" a multi-event request buffer and then submit a single hcall for several events. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 529ce8c9ddd00bd1ee77727f7a83c02dff0684f8 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:46 2015 -0700 powerpc/perf/hv-24x7: Define update_event_count() Move the code to update an event count into a new function, update_event_count(). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3ca4ea71cb27b4de781dd86f06e322ee11c82975 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:45 2015 -0700 powerpc/perf/hv-24x7: Whitespace cleanup Fix minor whitespace damages. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e3ee15dc5d19d060012d0a89b085d56e50d40a2b Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:44 2015 -0700 powerpc/perf/hv-24x7: Define add_event_to_24x7_request() Move code that maps a perf_event to a 24x7 request buffer into a separate function, add_event_to_24x7_request(). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 33ba14c0d8ff64d51adb543f689cde7a9a227cd8 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:43 2015 -0700 powerpc/perf/hv-24x7: Rename hv_24x7_event_update For consistency with the pmu operation ->read() and with other pmus, rename hv_24x7_event_update() to hv_24x7_event_read(). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f954825dd9c47ffaa0e6ff86e16a2355ae8a81d7 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:42 2015 -0700 powerpc/perf/hv-24x7: Move debug prints to separate function To simplify/cleanup code, move the rather long printk() to a separate function. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8079876497653381c233445374465c3da6450766 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:41 2015 -0700 powerpc/perf/hv-24x7: Drop event_24x7_request() The function event_24x7_request() is essentially a wrapper to the function single_24x7_request() and can be dropped to simplify code. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7aabe0cec2bcfcb08a4e706ec7c794883cbbcf6f Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:40 2015 -0700 powerpc/perf/hv-24x7: Use pr_devel() to log message Use pr_devel_ratelimited() to log error message when the 24x7 HCALL fails. Since users specify events by their sysfs name, the HCALL should succeed. Any errors reported by the HCALL would be of interest to the developer, rather than the user/administrator. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f2b1237c732d3f3ce18e85c84782a4d1f3b5ba08 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:39 2015 -0700 powerpc/perf/hv-24x7: Remove unnecessary parameter Remove the 'success_expected' parameter and log the message unconditionally. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 145264e2129a5e2fca9bc75f666e80424020f9ea Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:38 2015 -0700 powerpc/perf/hv-24x7: Modify definition of request and result buffers The parameters to the 24x7 HCALL have variable number of elements in them. Set the minimum number of such elements to 1 rather than 0 and eliminate the temporary structures. This would enable us to submit multiple counter requests and process multiple results from a single HCALL (in a follow on patch). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ed59190e41b725e1cfd79541f5fc66c20adb0671 Author: Cyril Bur <cyrilbur@xxxxxxxxx> Date: Wed Apr 1 14:05:30 2015 +0800 powerpc/powernv: Add interfaces for flash device access This change adds the OPAL interface definitions to allow Linux to read, write and erase from system flash devices. We register platform devices for the flash devices exported by firmware. We clash with the existing opal_flash_init function, which is really for the FSP flash update functionality, so we rename that initcall to opal_flash_update_init(). A future change will add an mtd driver that uses this interface. Changes from Joel Stanley and Jeremy Kerr. Signed-off-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Joel Stanley <joel@xxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d1d915783d90b15236e73d261cd8909db7275001 Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Fri Apr 10 14:16:50 2015 +1000 powerpc/tm: Correct minor documentation typos Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7fe924d9d71c96598ed37719c53187b357d6edff Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Fri Apr 10 14:16:49 2015 +1000 selftests/powerpc: Add transactional syscall test Check that a syscall made during an active transaction will fail with the correct failure code and that one made during a suspended transaction will succeed. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2b03fc1db59d53da327cf21f77e189b4d0a8aced Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Fri Apr 10 14:16:48 2015 +1000 selftests/powerpc: Move get_auxv_entry() to harness.c Move get_auxv_entry() from pmu/lib.c up to harness.c in order to make it available to other tests. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit feba40362b11341bee6d8ed58d54b896abbd9f84 Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Fri Apr 10 14:16:47 2015 +1000 powerpc/tm: Abort syscalls in active transactions This patch changes the syscall handler to doom (tabort) active transactions when a syscall is made and return immediately without performing the syscall. Currently, the system call instruction automatically suspends an active transaction which causes side effects to persist when an active transaction fails. This does change the kernel's behaviour, but in a way that was documented as unsupported. It doesn't reduce functionality because syscalls will still be performed after tsuspend. It also provides a consistent interface and makes the behaviour of user code substantially the same across powerpc and platforms that do not support suspended transactions (e.g. x86 and s390). Performance measurements using http://ozlabs.org/~anton/junkcode/null_syscall.c indicate the cost of a system call increases by about 0.5%. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Acked-By: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 771e569e8200ab6f5cdbcd6513f7a476718bb44d Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:57 2015 +1100 powerpc: dart_iommu: Remove check for controller_ops == NULL case Now that we have ported the calls to iommu_init_early_dart to always supply a pci_controller_ops struct, we can safely drop the check. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 467efc2e4fdc44e6cd4be7dd4adf01c14b3d148e Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:56 2015 +1100 powerpc: Remove shims for pci_controller_ops operations Remove shims, patch callsites to use pci_controller_ops versions instead. Also move back the probe mode defines, as explained in the patch for pci_probe_mode. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9c1368fc50e78ff862a05d1a0995ce44413c49e2 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:55 2015 +1100 powerpc/cell: Move controller ops from ppc_md to controller_ops This moves the Cell platform to use the pci_controller_ops structure rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 97884e00e29ad6654b8b6939bb805b9d6303427c Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Apr 10 13:15:47 2015 +1000 powerpc: fsl_pci, swiotlb: Move controller ops from ppc_md to controller_ops Move the installation of DMA operations out of swiotlb's subsys initcall, and into the generic PCI controller operations struct. These ops are installed conditionally, based on the ppc_swiotlb_enable global. The global can be set in two places: - swiotlb_detect_4g, which is always called at the arch initcall level - setup_pci_atmu, which is called as part of the fsl_add_bridge and fsl_pci_syscore_do_resume. fsl_pci_syscore_do_resume is called late enough that any changes as a result of that call will have no effect. As such, if we test the global and set the operations as part of fsl_add_bridge, after the call to setup_pci_atmu, we can be confident that it will cover all the PCI implementations affected by the changes to dma-swiotlb.c. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 19124d6deed32c5c7096f1892dd9f3882cef4605 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:53 2015 +1100 powerpc/maple: Move controller ops from ppc_md to controller_ops This moves the Maple platform to use the pci_controller_ops structure rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d28a0d94d752354d9830f8cc0426e9119f9f227d Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:52 2015 +1100 powerpc/pasemi: Move controller ops from ppc_md to controller_ops This moves the PaSemi platform to use the pci_controller_ops structure rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 65ebf4b6370e8eabbf31076de022e49926dd4573 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:51 2015 +1100 powerpc/powernv: Move controller ops from ppc_md to controller_ops This moves the PowerNV platform to use the pci_controller_ops structure rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 38ae9ec40f06f3aef5c25314f432113cf2c1340a Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:50 2015 +1100 powerpc/pseries: Move controller ops from ppc_md to controller_ops This moves the pSeries platform to use the pci_controller_ops structure, rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e63f26d3757fb8c00116b7f7c75d2a2e15bb5549 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:49 2015 +1100 powerpc/powermac: Move controller ops from ppc_md to controller_ops This moves the Power Mac platform to use the pci_controller_ops structure rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 798248a3c083a4cf0ead44a85e66c6a18647abea Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:48 2015 +1100 powerpc: dart_iommu: optionally populate controller_ops on init If a pci_controller_ops struct is provided to iommu_init_early_dart, populate that with the DMA setup ops, rather than ppc_md. If NULL is provided, populate ppc_md as before. This also patches the call sites for Maple and Power Mac to pass NULL, so existing behaviour is preserved. The benefit of making this optional is that it means we don't have to change dart, Maple and Power Mac over to the controller_ops system in one fell swoop. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit cd16c7ba0cc21aa1563e4b8430519b6488d0de60 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:47 2015 +1100 powerpc: Create pci_controller_ops.reset_secondary_bus and shim Add pci_controller_ops.reset_secondary_bus, shadowing ppc_md.pcibios_reset_secondary_bus. Add a shim, and changes the callsites to use the shim. Use pcibios_reset_secondary_bus_shim, as both pcibios_reset_secondary_bus and pci_reset_secondary_bus are already taken. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 542070baf4a0fe9de14cc2c4ca3ff1b43f14f90f Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:46 2015 +1100 powerpc: Create pci_controller_ops.window_alignment and shim Add pci_controller_ops.window_alignment, shadowing ppc_md.pcibios_window_alignment. Add a shim, and changes the callsites to use the shim. Here, we use pci_window_alignment, as pcibios_window_alignment is already taken. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b31e79f8d92ca115a935e37cfd4da74048739689 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:45 2015 +1100 powerpc: Create pci_controller_ops.enable_device_hook and shim Add pci_controller_ops.enable_device_hook, shadowing ppc_md.pcibios_enable_device_hook. Add a shim, and changes the callsites to use the shim. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ff9df8c87d6807e90c5c3b0e1fd1649d09fd3bcd Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:44 2015 +1100 powerpc: Create pci_controller_ops.probe_mode and shim Add pci_controller_ops.probe_mode, shadowing ppc_md.pci_probe_mode. Add a shim, and changes the callsites to use the shim. We also need to move the probe mode defines to pci-bridge.h from pci.h. They are required by the shim in order to return a sensible default. Previously, the were defined in pci.h, but pci.h includes pci-bridge.h before the relevant #defines. This means the definitions are absent if pci.h is included before pci-bridge.h. This occurs in some drivers. So, move the definitons now, and move them back when we remove the shim. Anything that wants the defines would have had to include pci.h, and since pci.h includes pci-bridge.h, nothing will lose access to the defines. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b122c95494374ab848f8d9f41d98644c2c318ecc Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:43 2015 +1100 powerpc: Create pci_controller_ops.dma_bus_setup and shim Add pci_controller_ops.dma_bus_setup, shadowing ppc_md.pci_dma_bus_setup. Add a shim, and changes the callsites to use the shim. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e02def5bce12b472e9eb6dcdd9f7af72239e6330 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:42 2015 +1100 powerpc: Create pci_controller_ops.dma_dev_setup and shim Introduces the pci_controller_ops structure. Add pci_controller_ops.dma_dev_setup, shadowing ppc_md.pci_dma_dev_setup. Add a shim, and change the callsites to use the shim. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c88c2a188905cb3077c3c38dc498e7e9f8eebeee Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:41 2015 +1100 powerpc: pcibios_enable_device_hook: return bool rather than int pcibios_enable_device_hook returned an int. Every implementation returned either -EINVAL or 0. The return value wasn't propagated by the caller: any non-zero return value caused pcibios_enable_device to return -EINVAL itself. Therefore, make the hook return a bool. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ba9c8f227358bcbc80fca19e7a339883cbc956a5 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:40 2015 +1100 powerpc/powermac: move pmac_pci_probe_mode from setup.c to pci.c Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bdc728a849a7047e55014c6f968aa300cc9f57fa Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:39 2015 +1100 powerpc: move find_and_init_phbs() to pSeries specific code Previously, find_and_init_phbs() was used in both PowerNV and pSeries setup. However, since RTAS support has been dropped from PowerNV, we can move it into a platform-specific file. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b7dccbea6b079be01e07921264709f249009b8e8 Merge: 425b655 a01e7b3 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sat Apr 11 11:17:28 2015 +0200 Merge tag 'irqchip-core-4.1-3' of git://git.infradead.org/users/jcooper/linux into irq/core irqchip core change for v4.1 (round 3) from Jason Cooper Purge the gic_arch_extn hacks and abuse by using the new stacked domains NOTE: Due to the nature of these changes, patches crossing subsystems have been kept together in their own branches. - tegra - Handle the LIC properly - omap - Convert crossbar to stacked domains - kill arm,routable-irqs in GIC binding - exynos - Convert PMU wakeup to stacked domains - shmobile, ux500, zynq (irq_set_wake branch) - Switch from abusing gic_arch_extn to using gic_set_irqchip_flags commit 425b655ce479843abae07bf4dc7c496ca9538a5a Merge: fdb7144 7822335 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sat Apr 11 11:15:38 2015 +0200 Merge tag 'irqchip-core-4.1-2' of git://git.infradead.org/users/jcooper/linux into irq/core irqchip core changes for v4.1 (round 2) from Jason Cooper - gic - Tolerate uni-processor systems better in gic_get_cpumask() - mvebu - Handle per-cpu interrupts properly - Enable PMU interrupts - Enable wakeup source - vybrid - Add MSCM interrupt router - renesas - Add PM and wakeup support commit 54cfa458b492fcf76d653698d362743bcb329055 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 10 20:13:40 2015 +0200 x86/asm/entry/32: Tidy up JNZ instructions after TESTs After TESTs, use logically correct JNZ mnemonic instead of JNE. This doesn't change code: md5: c3005b39a11fe582b7df7908561ad4ee entry_32.o.before.asm c3005b39a11fe582b7df7908561ad4ee entry_32.o.after.asm Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428689620-21881-1-git-send-email-dvlasenk@xxxxxxxxxx [ Added object file comparison. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3e21a19d1d6775591415efd5617375ba42c41bbd Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Apr 11 13:24:47 2015 +0900 ALSA: seq: fill client ID in return value of pool operation The returned value of 'get/seq client pool' operation has zeroed value for its client ID, against requested client ID. This commit fix the bug by filling it with index value of referred client object. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8b8a518ef16be2de27207991e32fc32b0475c767 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Apr 9 09:52:31 2015 -0700 Input: atkbd - document "no new force-release quirks" policy To save people some time let's document that we do not want new quirks for "force-release" keys in the kernel and that they should patch userspace (udev) instead. Suggested-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 07f19e3db89507ff902b1bb0f64a25ea161d645c Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Fri Apr 10 23:54:31 2015 -0700 Input: ALPS - make alps_get_pkt_id_ss4_v2() and others static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5dafd7cb96ec75454eb1fcbf993000bf41175f13 Merge: 51ab715 7b8283b5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Apr 11 08:31:19 2015 +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: New user visible features: - Support multiple probes on different binaries on the same command line (Masami Hiramatsu) User visible changes: - Fix synthesizing fork_event.ppid for non-main thread (David Ahern) - Fix cross-endian analysis (David Ahern) - Fix segfault in 'perf buildid-list' when show DSOs with hits (He Kuang) Infrastructure changes: - Fix type for references to data_head/tail (David Ahern) - Fix error path to do closedir() when synthesizing threads (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0351b8f81392c6dbbbb036e5c8f73ceff68726e9 Author: James Bottomley <jbottomley@xxxxxxxx> Date: Wed Apr 1 09:09:36 2015 +0000 change SCSI Maintainer email We've recently suffered a rebranding and the Service Provider half of Parallels has become Odin. This means my email has changed so update the MAINTAINERS file (and tidy up the pointers to our git trees to be correct). Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4ce37a4c05cfb5bfd445419d5b880a91bb19228f Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 11:24:54 2015 +0300 ixgbe: Add a RETA query command to VF-PF channel API Add this new command for 82599 and x540 devices only. Support for other devices will be added later. 82599 and x540 VFs and PF share the same RSS redirection table (RETA). Therefore we just return it for all VFs. For 82599 and x540 RETA table is an array of 32 registers (128 bytes) and the maximum number of registers that may be delivered in a single VF-PF channel command is 15. On the other hand VFs of these devices can be configured to have up to 4 RSS queues. Therefore we will "compress" the RETA by transferring only 2 bits per entry and thereby it will take only 8 registers (DWORDS) to transfer the whole VF RETA. Thus this patch does the following: - Adds a new API version (to specify a new commands set). - Adds the IXGBE_VF_GET_RETA command to the VF-PF commands set. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e65ce0d395c2822e568faedad8bcf5770d3cdcdf Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:24 2015 +0300 ixgbe: Add a new netdev op to allow/prevent a VF from querying an RSS info Implements the new netdev op to allow user to enable/disable the ability of a specific VF to query its RSS Indirection Table and an RSS Hash Key. This patch limits the new feature support to 82599 and x540 devices only. Support for other devices will be added later. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 01a3d796813d6302af9f828f34b73d21a4b96c9a Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:23 2015 +0300 if_link: Add an additional parameter to ifla_vf_info for RSS querying Add configuration setting for drivers to allow/block an RSS Redirection Table and a Hash Key querying for discrete VFs. On some devices VF share the mentioned above information with PF and querying it may adduce a theoretical security risk. We want to let a system administrator to decide if he/she wants to take this risk or not. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7f276efb45f8b022eeb9a0453240937806dc27e3 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:18:58 2015 +0300 ixgbe: Add the appropriate ethtool ops to query RSS indirection table and key Added get_rxfh_indir_size, get_rxfh_key_size and get_rxfh ethtool_ops callbacks implementations. This enables the ethtool's "-x" and "--show-rxfh[-indir]" options. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit dfaf891dd3e1e2e4531c4fd800bd6d8e3079ed72 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:18:57 2015 +0300 ixgbe: Refactor the RSS configuration code This patch is a preparation for enablement of ethtool RSS indirection table and hash key querying. We don't want to read registers every time the RSS info is queried. Therefore we will store its current content in the arrays in the adapter struct and will read it from there (instead of from registers) when requested. Will change the code that writes the indirection table and hash key into the HW registers to take its content from these arrays. This will also simplify the indirection table updating ethtool callback implementation in the future. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d0acf734d886ce50bb5103cc75f7ca39f280e8a7 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Sat Apr 4 01:54:26 2015 -0500 ipmi_ssif: Use interruptible completion for waiting in the thread The code was using an normal completion, but that caused stuck task errors after a while. Use an interruptible one to avoid that. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit ad1ed2a9dd4c435d6a3ce470211db9a8d107c3e0 Author: Alistair Popple <alistair@xxxxxxxxxxxx> Date: Fri Apr 10 17:32:20 2015 +1000 ipmi/powernv: Fix minor locking bug If ipmi_powernv_recv(...) is called without a current message it prints a warning and returns. However it fails to release the message lock causing the system to dead lock during any subsequent IPMI operations. This error path should never normally be taken unless there are bugs elsewhere in the system. Signed-off-by: Alistair Popple <alistair@xxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 1e7d6a45f6b10bc48a1453bca3d829e210546571 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Fri Apr 3 12:13:48 2015 -0500 ipmi: Handle BMCs that don't allow clearing the rcv irq bit Some BMCs don't let you clear the receive irq bit in the global enables. This is kind of silly, but they give an error if you try to clear it. Compensate for this by detecting the situation and working around it. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Tested-by: Thomas D <whissi@xxxxxxxxx> Reviewed-by: Thomas D <whissi@xxxxxxxxx> commit c14deee398c344a5f93c8206fa91314388b4a8c2 Merge: 820ad97 c1d676c Author: Michael Turquette <mturquette@xxxxxxxxxx> Date: Fri Apr 10 18:06:55 2015 -0700 Merge tag 'clk/for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into clk-next clk/tegra: Changes for v4.1-rc1 These are mostly cleanups that I've been carrying in my local tree for far too long. In addition to those, there are some preparatory patches for the upcoming Tegra210 support and a patch to enable clocks needed for HDMI audio support. commit 820ad9752c232239d3278eafe71c2c251ae233d3 Author: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Date: Wed Mar 18 14:53:17 2015 +0100 clk: clk-gpio-gate: Fix active low The active low flag in the DT cell is currently ignored. This occurs because of_get_named_gpio_flags() does not apply the flags to the underlying struct gpio_desc so the test in clk_register_gpio_gate() was bogus. Note that this patch changes the internal kernel API for clk_register_gpio_gate() but there are currently no other users. Signed-off-by: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Acked-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 3259b12ae1c79c146809829412ddc0d11a1b8e26 Merge: 49850a1 bba0bdd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 17:41:47 2015 -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 our remaining set of three fixes for 4.0: two oops fixes(one for cable pulls triggering oopses and the other be2iscsi specific) and one warn on in sysfs on multipath devices using enclosures" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: Defer processing of REQ_PREEMPT requests for blocked devices be2iscsi: Fix kernel panic when device initialization fails enclosure: fix WARN_ON removing an adapter in multi-path devices commit baa9a93a4412330a49245e69c5e8b22086656482 Merge: d5cdc3c cab07a5 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Apr 11 02:28:00 2015 +0200 Merge branch 'cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux into pm-cpuidle Pull intel_idle material for v4.1 from Len Brown. * 'cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs intel_idle: Update support for Silvermont Core in Baytrail SOC commit d5cdc3c4c22fce5a187b51736f3d0dc3e6cbe282 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Wed Mar 25 22:15:14 2015 +0100 intel_idle: mark cpu id array as __initconst The CPU ids are only tested in intel_idle_probe() which is itself an __init function. For the MODULE_DEVICE_TABLE() file2alias doesn't care about the section, just about the symbol name. So it's safe to mark the cpu id array as __initconst so its memory can be released after initialization is done. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ea85dbcaec0ff29f2c3f84be4c8a01a94e8bd449 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Wed Mar 25 22:15:52 2015 +0100 powercap / RAPL: mark rapl_ids array as __initconst The RAPL ids are only tested in rapl_init() which is itself an __init function. For the MODULE_DEVICE_TABLE() file2alias doesn't care about the section, just about the symbol name. Therefore it's safe to mark the rapl_ids[] array as __initconst so its memory can be released after initialization is done. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 34dfa36c04c5883c325e8d62905c0ca5551fcf27 Author: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Date: Tue Apr 7 05:50:35 2015 -0700 powercap / RAPL: add ID for Broadwell server Validated RAPL functions on this platform. Add support to driver. Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b34ef932d79ac2a36e1d7ba2742e5d4ba54efa3c Author: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Date: Fri Apr 10 10:22:18 2015 -0700 intel_pstate: Knights Landing support 1. Add Knights Landing (KNL) CPUID to the list of CPUIDs supported by the intel_pstate driver. 2. Add a new cpu_default structure for KNL since KNL has a slightly different mechanism to get turbo pstates from MSRs. Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> [ rjw: Subject and changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5f97899d780787a8bbb42dee3be91ab5d8003b7f Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Date: Fri Apr 10 10:21:09 2015 -0700 intel_pstate: remove MSR test x86_match_cpu will not match our cpuid unless APERF/MPERF flag is set, so there is no need to do the manual check for this MSR. Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4492d1a2e9566495858d25b35093e11509707407 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Apr 11 00:17:11 2015 +0200 cpufreq: fix qoriq uniprocessor build The qoriq-cpufreq driver contains a hack for powerpc to include asm/smp.h on uniprocessor builds so it can get the hardware CPU number. On ARM, it does not require this hack, but instead gets a compile error: In file included from drivers/cpufreq/qoriq-cpufreq.c:24:0: arch/arm/include/asm/smp.h:18:3: error: #error "<asm/smp.h> included in non-SMP build" arch/arm/include/asm/smp.h:21:0: warning: "raw_smp_processor_id" redefined This adds an #ifdef to mirror the one in its get_cpu_physical_id() function. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 2f249358eedaf ("cpufreq: qoriq: rename the driver") Cc: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 49850a147c9cba958ce411f93f2aa6d4d92fe5e3 Merge: cfc4957 b815fc1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 16:56:40 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending Pull SCSI target fixes from Nicholas Bellinger: "Just a few small fixes: Two from Andy, the first addresses a v4.0 target specific regression to a user visible configfs attribute, and the second adds a set of missing brackets around IPv6 discovery portal information within iscsi-target. And one from Mike that fixes an OOPs regression in traditional iscsi-target when an iovec allocation fails, that has been present since v3.10.y code. (CC'd to stable)" * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: iscsi target: fix oops when adding reject pdu iscsi-target: TargetAddress in SendTargets should bracket ipv6 addresses target: Allow userspace to write 1 to attrib/emulate_fua_write commit b9f28d863594c429e1df35a0474d2663ca28b307 Author: James Bottomley <JBottomley@xxxxxxxx> Date: Thu Mar 5 18:47:01 2015 -0800 sd, mmc, virtio_blk, string_helpers: fix block size units The current string_get_size() overflows when the device size goes over 2^64 bytes because the string helper routine computes the suffix from the size in bytes. However, the entirety of Linux thinks in terms of blocks, not bytes, so this will artificially induce an overflow on very large devices. Fix this by making the function string_get_size() take blocks and the block size instead of bytes. This should allow us to keep working until the current SCSI standard overflows. Also fix virtio_blk and mmc (both of which were also artificially multiplying by the block size to pass a byte side to string_get_size()). The mathematics of this is pretty simple: we're taking a product of size in blocks (S) and block size (B) and trying to re-express this in exponential form: S*B = R*N^E (where N, the exponent is either 1000 or 1024) and R < N. Mathematically, S = RS*N^ES and B=RB*N^EB, so if RS*RB < N it's easy to see that S*B = RS*RB*N^(ES+EB). However, if RS*BS > N, we can see that this can be re-expressed as RS*BS = R*N (where R = RS*BS/N < N) so the whole exponent becomes R*N^(ES+EB+1) [jejb: fix incorrect 32 bit do_div spotted by kbuild test robot <fengguang.wu@xxxxxxxxx>] Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a01e7b3258bea93fbf1f028fab1c739d80c61823 Merge: fb414e9 008e4d6 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Fri Apr 10 22:58:19 2015 +0000 Merge branch 'irqchip/stacked-irq_set_wake' into irqchip/core Conflicts: drivers/irqchip/irq-gic.c commit fb414e908b15ae3d704aa0572f77981a516279b9 Merge: 07c523f d4ad075 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Fri Apr 10 22:57:58 2015 +0000 Merge branch 'irqchip/stacked-exynos' into irqchip/core commit 07c523f1493b6860662e74a3d7e1ae0e7d67d416 Merge: 37b25ff 7136d45 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Fri Apr 10 22:57:56 2015 +0000 Merge branch 'irqchip/stacked-omap' into irqchip/core commit 37b25fffd1435dd9b77ac5882a6791f7d5691097 Merge: 7822335 1eec582 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Fri Apr 10 22:57:53 2015 +0000 Merge branch 'irqchip/stacked-tegra' into irqchip/core commit e03b07d9084d03e896b7f1a598a7f6aa18f6eeda Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Apr 1 19:38:20 2015 -0700 f2fs: do not recover wrong data index During the roll-forward recovery, if we found a new data index written fsync lastly, we need to recover new block address. But, if that address was corrupted, we should not recover that. Otherwise, f2fs gets kernel panic from: In check_index_in_prev_nodes(), sentry = get_seg_entry(sbi, segno); --------------------------> out-of-range segno. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 418f6c277011d89c394309e72df9ad058e0a3f7d Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Mar 31 18:03:29 2015 -0700 f2fs: do not increase link count during recovery If there are multiple fsynced dnodes having a dent flag, roll-forward routine sets FI_INC_LINK for their inode, and recovery_dentry increases its link count accordingly. That results in normal file having a link count as 2, so we can't unlink those files. This was added to handle several inode blocks having same inode number with different directory paths. But, current f2fs doesn't replay all of path changes and only recover its dentry for the last fsynced inode block. So, there is no reason to do this. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit cb58463bc94470c428f3b9f4cda748e7755218ca Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Mar 30 15:23:45 2015 -0700 f2fs: assign parent's i_mode for empty dir When assigning i_mode for dotdot, it needs to assign parent's i_mode. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 510022a85839a8409d1e6a519bb86ce71a84f30a Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Mar 30 15:07:16 2015 -0700 f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries If f2fs was corrupted with missing dot dentries, it needs to recover them after fsck.f2fs detection. The underlying precedure is: 1. The fsck.f2fs remains F2FS_INLINE_DOTS flag in directory inode, if it detects missing dot dentries. 2. When f2fs looks up the corrupted directory, it triggers f2fs_add_link with proper inode numbers and their dot and dotdot names. 3. Once f2fs recovers the directory without errors, it removes F2FS_INLINE_DOTS finally. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c9ef481097d17fb8ff8ea7930ce715b5a676f10f Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Mar 26 18:46:38 2015 -0700 f2fs: fix mismatching lock and unlock pages for roll-forward recovery Previously, inode page is not correctly locked and unlocked in pair during the roll-forward recovery. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit adad81ed42bbc537f37192dcdd9a83e34bb61987 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Mar 24 12:04:20 2015 -0700 f2fs: fix sparse warnings This patch fixes the below warning. sparse warnings: (new ones prefixed by >>) >> fs/f2fs/inode.c:56:23: sparse: restricted __le32 degrades to integer >> fs/f2fs/inode.c:56:52: sparse: restricted __le32 degrades to integer Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1b3e27a92ab60452b8fbb35e3ba691ac34f2c0fb Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Mar 24 13:08:05 2015 +0800 f2fs: limit b_size of mapped bh in f2fs_map_bh Map bh over max size which caller defined is not needed, limit it in f2fs_map_bh. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 30c62fdb25cc0c55fa442245f7aaab074d2e701a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 23 10:37:39 2015 +0800 f2fs: persist system.advise into on-disk inode This patch fixes to dirty inode for persisting i_advise of f2fs inode info into on-disk inode if user sets system.advise through setxattr. Otherwise the new value will be lost. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 84e97c2767f9ed711718b47b8722ddd137f1dfe9 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 23 10:36:15 2015 +0800 f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get We will encounter oops by executing below command. getfattr -n system.advise /mnt/f2fs/file Killed message log: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<f8b54d69>] f2fs_xattr_advise_get+0x29/0x40 [f2fs] *pdpt = 00000000319b7001 *pde = 0000000000000000 Oops: 0002 [#1] SMP Modules linked in: f2fs(O) snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq joydev snd_seq_device snd_timer bnep snd rfcomm microcode bluetooth soundcore i2c_piix4 mac_hid serio_raw parport_pc ppdev lp parport binfmt_misc hid_generic psmouse usbhid hid e1000 [last unloaded: f2fs] CPU: 3 PID: 3134 Comm: getfattr Tainted: G O 4.0.0-rc1 #6 Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 task: f3a71b60 ti: f19a6000 task.ti: f19a6000 EIP: 0060:[<f8b54d69>] EFLAGS: 00010246 CPU: 3 EIP is at f2fs_xattr_advise_get+0x29/0x40 [f2fs] EAX: 00000000 EBX: f19a7e71 ECX: 00000000 EDX: f8b5b467 ESI: 00000000 EDI: f2008570 EBP: f19a7e14 ESP: f19a7e08 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 80050033 CR2: 00000000 CR3: 319b8000 CR4: 000007f0 Stack: f8b5a634 c0cbb580 00000000 f19a7e34 c1193850 00000000 00000007 f19a7e71 f19a7e64 c0cbb580 c1193810 f19a7e50 c1193c00 00000000 00000000 00000000 c0cbb580 00000000 f19a7f70 c1194097 00000000 00000000 00000000 74737973 Call Trace: [<c1193850>] generic_getxattr+0x40/0x50 [<c1193810>] ? xattr_resolve_name+0x80/0x80 [<c1193c00>] vfs_getxattr+0x70/0xa0 [<c1194097>] getxattr+0x87/0x190 [<c11801d7>] ? path_lookupat+0x57/0x5f0 [<c11819d2>] ? putname+0x32/0x50 [<c116653a>] ? kmem_cache_alloc+0x2a/0x130 [<c11819d2>] ? putname+0x32/0x50 [<c11819d2>] ? putname+0x32/0x50 [<c11819d2>] ? putname+0x32/0x50 [<c11827f9>] ? user_path_at_empty+0x49/0x70 [<c118283f>] ? user_path_at+0x1f/0x30 [<c11941e7>] path_getxattr+0x47/0x80 [<c11948e7>] SyS_getxattr+0x27/0x30 [<c163f748>] sysenter_do_call+0x12/0x12 Code: 66 90 55 89 e5 57 56 53 66 66 66 66 90 8b 78 20 89 d3 ba 67 b4 b5 f8 89 d8 89 ce e8 42 7c 7b c8 85 c0 75 16 0f b6 87 44 01 00 00 <88> 06 b8 01 00 00 00 5b 5e 5f 5d c3 8d 76 00 b8 ea ff ff ff eb EIP: [<f8b54d69>] f2fs_xattr_advise_get+0x29/0x40 [f2fs] SS:ESP 0068:f19a7e08 CR2: 0000000000000000 ---[ end trace 860260654f1f416a ]--- The reason is that in getfattr there are two steps which is indicated by strace info: 1) try to lookup and get size of specified xattr. 2) get value of the extented attribute. strace info: getxattr("/mnt/f2fs/file", "system.advise", 0x0, 0) = 1 getxattr("/mnt/f2fs/file", "system.advise", "\x00", 256) = 1 For the first step, getfattr may pass a NULL pointer in @value and zero in @size as parameters for ->getxattr, but we access this @value pointer directly without checking whether the pointer is valid or not in f2fs_xattr_advise_get, so the oops occurs. This patch fixes this issue by verifying @value pointer before using. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit df6136ef5533421e68ea7ff9c33d5b2ac9005ff9 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 23 10:33:37 2015 +0800 f2fs: preallocate fallocated blocks for direct IO Normally, due to DIO_SKIP_HOLES flag is set by default, blockdev_direct_IO in f2fs_direct_IO tries to skip DIO in holes when writing inside i_size, this makes us falling back to buffered IO which shows lower performance. So in commit 59b802e5a453 ("f2fs: allocate data blocks in advance for f2fs_direct_IO"), we improve perfromance by allocating data blocks in advance if we meet holes no matter in i_size or not, since with it we can avoid falling back to buffered IO. But we forget to consider for unwritten fallocated block in this commit. This patch tries to fix it for fallocate case, this helps to improve performance. Test result: Storage info: sandisk ultra 64G micro sd card. touch /mnt/f2fs/file truncate -s 67108864 /mnt/f2fs/file fallocate -o 0 -l 67108864 /mnt/f2fs/file time dd if=/dev/zero of=/mnt/f2fs/file bs=1M count=64 conv=notrunc oflag=direct Time before applying the patch: 67108864 bytes (67 MB) copied, 36.16 s, 1.9 MB/s real 0m36.162s user 0m0.000s sys 0m0.180s Time after applying the patch: 67108864 bytes (67 MB) copied, 27.7776 s, 2.4 MB/s real 0m27.780s user 0m0.000s sys 0m0.036s Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 75342797988a0f9ebec400a2dde8d4de581c4079 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Mar 24 10:20:27 2015 +0800 f2fs: enable inline data by default Enable inline_data feature by default since it brings us better performance and space utilization and now has already stable. Add another option noinline_data to disable it during mount. Suggested-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Suggested-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 0bdee482509fe8c3cf0e66231ed37b8e70954093 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Mar 19 19:27:51 2015 +0800 f2fs: preserve extent info for extent cache This patch tries to preserve last extent info in extent tree cache into on-disk inode, so this can help us to reuse the last extent info next time for performance. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 028a41e89383e1208dff1afe3e260b8cb6d3431c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Mar 19 19:26:02 2015 +0800 f2fs: initialize extent tree with on-disk extent info of inode With normal extent info cache, we records largest extent mapping between logical block and physical block into extent info, and we persist extent info in on-disk inode. When we enable extent tree cache, if extent info of on-disk inode is exist, and the extent is not a small fragmented mapping extent. We'd better to load the extent info into extent tree cache when inode is loaded. By this way we can have more chance to hit extent tree cache rather than taking more time to read dnode page for block address. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 93dfc52656e9ae1009ccba67e67ff69285b7743f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Mar 19 19:24:59 2015 +0800 f2fs: introduce __{find,grab}_extent_tree This patch introduces __{find,grab}_extent_tree for reusing by following patches. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 216a620a7c3d35ae604ba519c99c5cd1ce4dad6e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Mar 19 19:23:32 2015 +0800 f2fs: split set_data_blkaddr from f2fs_update_extent_cache Split __set_data_blkaddr from f2fs_update_extent_cache for readability. Additionally rename __set_data_blkaddr to set_data_blkaddr for exporting. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 368a0e40b5aedb036de3d78333571c8689869490 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Thu Mar 19 13:23:48 2015 +0800 f2fs: enable fast symlink by utilizing inline data Fast symlink can utilize inline data flow to avoid using any i_addr region, since we need to handle many cases such as truncation, roll-forward recovery, and fsck/dump tools. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 8ce67cb07dbf6ba35aea1e07e8ad1ea004ced27b Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Mar 17 17:58:08 2015 -0700 f2fs: add some tracepoints to debug volatile and atomic writes Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3c6c2bebef79999b1827041696dc1881e637e3af Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Mar 17 17:16:35 2015 -0700 f2fs: avoid punch_hole overhead when releasing volatile data This patch is to avoid some punch_hole overhead when releasing volatile data. If volatile data was not written yet, we just can make the first page as zero. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 83e21db6939dd6ff50a81d54aaef4b44847aefff Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Mar 16 16:54:52 2015 -0700 f2fs: avoid wrong f2fs_bug_on when truncating inline_data This patch removes wrong f2fs_bug_on in truncate_inline_inode. When there is no space, it can happen a corner case where i_isze is over MAX_INLINE_SIZE while its inode is still inline_data. The scenario is 1. write small data into file #A. 2. fill the whole partition to 100%. 3. truncate 4096 on file #A. 4. write data at 8192 offset. --> f2fs_write_begin -> -ENOSPC = f2fs_convert_inline_page -> f2fs_write_failed -> truncate_blocks -> truncate_inline_inode BUG_ON, since i_size is 4096. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 78373b7319abdf15050af5b1632c4c8b8b398f33 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Mar 13 21:44:36 2015 -0700 f2fs: enhance multi-threads performance Previously, f2fs_write_data_pages has a mutex, sbi->writepages, to serialize data writes to maximize write bandwidth, while sacrificing multi-threads performance. Practically, however, multi-threads environment is much more important for users. So this patch tries to remove the mutex. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3402e87cfb5e762f9c95071bf4a2ad65fd9392a2 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Mar 11 23:27:25 2015 -0400 f2fs: set buffer_new when new blocks are allocated This patch modifies to call set_buffer_new, if new blocks are allocated. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2adc3505cfb819c91855a64d997a7cdd9731ee6e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 16 21:08:44 2015 +0800 f2fs: set SBI_NEED_FSCK when encountering exception in recovery This patch tries to set SBI_NEED_FSCK flag into sbi only when we fail to recover in fill_super, so we could skip fscking image when we fail to fill super for other reason. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 21cb1d99bcc77252e6426010bcc6433f75b581bb Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Mar 11 13:42:48 2015 -0400 f2fs: fix to cover sentry_lock for block allocation In the following call stack, f2fs changes the bitmap for dirty segments and # of dirty sentries without grabbing sit_i->sentry_lock. This can result in mismatch on bitmap and # of dirty sentries, since if there are some direct_io operations. In allocate_data_block, - __allocate_new_segments - mutex_lock(&curseg->curseg_mutex); - s_ops->allocate_segment - new_curseg/change_curseg - reset_curseg - __set_sit_entry_type - __mark_sit_entry_dirty - set_bit(dirty_sentries_bitmap) - dirty_sentries++; Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d6d4f1cb912d9bcf988a529d0934568d4550f7b5 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Mar 12 17:04:24 2015 +0800 f2fs: fix to check current blkaddr in __allocate_data_blocks In __allocate_data_blocks, we should check current blkaddr which is located at ofs_in_node of dnode page instead of checking first blkaddr all the time. Otherwise we can only allocate one blkaddr in each dnode page. Fix it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 0bfcfcca3d4351f129b8c8a73c114c7ffa99228e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Mar 10 13:16:25 2015 +0800 f2fs: fix to truncate inline data past EOF Previously if inode is with inline data, we will try to invalid partial inline data in page #0 when we truncate size of inode in truncate_partial_data_page(). And then we set page #0 to dirty, after this we can synchronize inode page with page #0 at ->writepage(). But sometimes we will fail to operate page #0 in truncate_partial_data_page() due to below reason: a) if offset is zero, we will skip setting page #0 to dirty. b) if page #0 is not uptodate, we will fail to update it as it has no mapping data. So with following operations, we will meet recent data which should be truncated. 1.write inline data to file 2.sync first data page to inode page 3.truncate file size to 0 4.truncate file size to max_inline_size 5.echo 1 > /proc/sys/vm/drop_caches 6.read file --> meet original inline data which is remained in inode page. This patch renames truncate_inline_data() to truncate_inline_inode() for code readability, then use truncate_inline_inode() to truncate inline data in inode page in truncate_blocks() and truncate page #0 in truncate_partial_data_page() for fixing. v2: o truncate partially #0 page in truncate_partial_data_page to avoid keeping old data in #0 page. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 83dfe53c185e3554c102708c70dc1e5ff4bcac2c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 9 18:18:19 2015 +0800 f2fs: fix reference leaks in f2fs_acl_create Our f2fs_acl_create is copied and modified from posix_acl_create to avoid deadlock bug when inline_dentry feature is enabled. Now, we got reference leaks in posix_acl_create, and this has been fixed in commit fed0b588be2f ("posix_acl: fix reference leaks in posix_acl_create") by Omar Sandoval. https://lkml.org/lkml/2015/2/9/5 Let's fix this issue in f2fs_acl_create too. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Reviewed-by: Changman Lee <cm224.lee@xxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit bda190760b07a7350de7ca8d9afe0fd8c667ad2d Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 9 17:33:16 2015 +0800 f2fs: fix to calculate max length of contiguous free slots correctly When lookuping for creating, we will try to record the level of current dentry hash table if current dentry has enough contiguous slots for storing name of new file which will be created later, this can save our lookup time when add a link into parent dir. But currently in find_target_dentry, our current length of contiguous free slots is not calculated correctly. This make us leaving some holes in dentry block occasionally, it wastes our space of dentry block. Let's refactor the lookup flow for max slots as following to fix this issue: a) increase max_len if current slot is free; b) update max_slots with max_len if max_len is larger than max_slots; c) reset max_len to zero if current slot is not free. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 57ed1e95babbd2df33f70eb820c7a9984199557b Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Mon Mar 9 11:00:55 2015 +0800 f2fs: fix unlocked nat set cache operation nm_i->nat_tree_lock is used to sync both the operations of nat entry cache tree and nat set cache tree, however, it isn't held when flush nat entries during checkpoint which lead to potential race, this patch fix it by holding the lock when gang lookup nat set cache and delete item from nat set cache. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit e0150392ddfaaf5ccf338893f6db177a2c64a7ee Author: Changman Lee <cm224.lee@xxxxxxxxxxx> Date: Mon Mar 9 08:07:04 2015 +0900 f2fs: cleanup statement about max orphan inodes calc Through each macro, we can read the meaning easily. Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d9f46bb1a84ee15f58c9c58ab91962b7dc6eb9a4 Author: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx> Date: Mon Mar 9 02:43:50 2015 +0000 f2fs: remove unnecessary condition judgment Remove the unnecessary condition judgment, because 'max_slots' has been initialized to '0' at the beginging of the function, as following: if (max_slots) *max_slots = 0; Signed-off-by: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit b1f73b79d26ffd8966404c268e558d6fec448814 Author: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx> Date: Sat Mar 7 10:07:42 2015 +0000 f2fs: set the correct place of initializing *res_page The function 'find_in_inline_dir()' contain 'res_page' as an argument. So, we should initiaize 'res_page' before this function. Signed-off-by: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7fd97019b8db0668a4eb8b08d707bdce9f51d58e Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Mar 6 15:00:55 2015 +0800 f2fs: reduce searching region of segmap when set free section In __set_free we will check whether all segment are free in one section when free one segment, in order to set section to free status. But the searching region of segmap is from start segno to last segno of main area, it's not necessary. So let's just only check all segment bitmap of target section. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit fdf6c8be337af72b066548f325abcbcdf626dea8 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Mar 6 15:00:54 2015 +0800 f2fs: fix extent cache memory leak extent tree/node slab cache is created during f2fs insmod, how, it isn't destroyed during f2fs rmmod, this patch fix it by destroy extent tree/node slab cache once rmmod f2fs. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d7196c5a32caf6ebbe60771ff04ee7d797039d74 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Mar 3 17:06:55 2015 -0800 f2fs: relocate Kconfig from misc filesystems The f2fs has been shipped on many smartphone devices during a couple of years. So, it is worth to relocate Kconfig into main page from misc filesystems for developers to choose it more easily. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 76629165913a6d5542bbe735191b021f31dd3798 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Mar 2 16:28:16 2015 -0800 f2fs: report -ENOENT for unreached data indices If inode has inline_data, it should report -ENOENT when accessing out-of-bound region. This is used by f2fs_fiemap which treats -ENOENT with no error. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit cff28521bbbfcd97ba56c515d4be5554c0d26014 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Mar 2 10:48:56 2015 -0800 f2fs: clear append/update flags once fsync is done When fsync is done through checkpoint, previous f2fs missed to clear append and update flag. This patch fixes to clear them. This was originally catched by Changman Lee before. Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d5669f7b9b0344a7f1e874ac86b9403434381ba8 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Feb 27 13:37:39 2015 -0800 f2fs: avoid to trigger writepage during POR This patch doesn't make any effect on previous behavior, since f2fs_write_data_page bypasses writing the page during POR. But, the difference is that this patch avoids holding writepages mutex. This is to avoid the following false warning, since this can happen only when mount and shutdown are triggered at the same time. ====================================================== [ INFO: possible circular locking dependency detected ] 4.0.0-rc1+ #3 Tainted: G O ------------------------------------------------------- kworker/u8:0/2270 is trying to acquire lock: (&sbi->gc_mutex){+.+.+.}, at: [<ffffffffa02bdd33>] f2fs_balance_fs+0x73/0x90 [f2fs] but task is already holding lock: (&sbi->writepages){+.+...}, at: [<ffffffffa02b261b>] f2fs_write_data_pages+0xcb/0x3a0 [f2fs] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (&sbi->writepages){+.+...}: [<ffffffff810e2b11>] lock_acquire+0xe1/0x2f0 [<ffffffff8185e1b3>] mutex_lock_nested+0x63/0x530 [<ffffffffa02b261b>] f2fs_write_data_pages+0xcb/0x3a0 [f2fs] [<ffffffff811c38c1>] do_writepages+0x21/0x50 [<ffffffff8126c5a6>] __writeback_single_inode+0x76/0xbf0 [<ffffffff8126e23a>] writeback_single_inode+0xea/0x1c0 [<ffffffff8126e425>] write_inode_now+0x95/0xa0 [<ffffffff81259dab>] iput+0x20b/0x3f0 [<ffffffffa02c1c8b>] recover_data.constprop.14+0x26b/0xa80 [f2fs] [<ffffffffa02c2776>] recover_fsync_data+0x2b6/0x5e0 [f2fs] [<ffffffffa02a9744>] f2fs_fill_super+0xb24/0xb90 [f2fs] [<ffffffff8123d7f4>] mount_bdev+0x1a4/0x1e0 [<ffffffffa02a3c85>] f2fs_mount+0x15/0x20 [f2fs] [<ffffffff8123e159>] mount_fs+0x39/0x180 [<ffffffff8125e51b>] vfs_kern_mount+0x6b/0x160 [<ffffffff81261554>] do_mount+0x204/0xbe0 [<ffffffff8126223b>] SyS_mount+0x8b/0xe0 [<ffffffff81863e6d>] system_call_fastpath+0x16/0x1b -> #1 (&sbi->cp_mutex){+.+...}: [<ffffffff810e2b11>] lock_acquire+0xe1/0x2f0 [<ffffffff8185e1b3>] mutex_lock_nested+0x63/0x530 [<ffffffffa02acbf2>] write_checkpoint+0x42/0x1230 [f2fs] [<ffffffffa02a847d>] f2fs_sync_fs+0x9d/0x2a0 [f2fs] [<ffffffff81272f82>] sync_filesystem+0x82/0xb0 [<ffffffff8123c214>] generic_shutdown_super+0x34/0x100 [<ffffffff8123c5f7>] kill_block_super+0x27/0x70 [<ffffffffa02a3c60>] kill_f2fs_super+0x20/0x30 [f2fs] [<ffffffff8123ca49>] deactivate_locked_super+0x49/0x80 [<ffffffff8123d05e>] deactivate_super+0x4e/0x70 [<ffffffff8125df63>] cleanup_mnt+0x43/0x90 [<ffffffff8125e002>] __cleanup_mnt+0x12/0x20 [<ffffffff810a82e4>] task_work_run+0xc4/0xf0 [<ffffffff8101f0bd>] do_notify_resume+0x8d/0xa0 [<ffffffff81864141>] int_signal+0x12/0x17 -> #0 (&sbi->gc_mutex){+.+.+.}: [<ffffffff810e2866>] __lock_acquire+0x1ac6/0x1c90 [<ffffffff810e2b11>] lock_acquire+0xe1/0x2f0 [<ffffffff8185e1b3>] mutex_lock_nested+0x63/0x530 [<ffffffffa02bdd33>] f2fs_balance_fs+0x73/0x90 [f2fs] [<ffffffffa02b5938>] f2fs_write_data_page+0x348/0x5b0 [f2fs] [<ffffffffa02af9da>] __f2fs_writepage+0x1a/0x50 [f2fs] [<ffffffff811c1b54>] write_cache_pages+0x274/0x6f0 [<ffffffffa02b2630>] f2fs_write_data_pages+0xe0/0x3a0 [f2fs] [<ffffffff811c38c1>] do_writepages+0x21/0x50 [<ffffffff8126c5a6>] __writeback_single_inode+0x76/0xbf0 [<ffffffff8126d44a>] writeback_sb_inodes+0x32a/0x710 [<ffffffff8126d8cf>] __writeback_inodes_wb+0x9f/0xd0 [<ffffffff8126dcdb>] wb_writeback+0x3db/0x850 [<ffffffff8126e848>] bdi_writeback_workfn+0x148/0x980 [<ffffffff810a3782>] process_one_work+0x1e2/0x840 [<ffffffff810a3f01>] worker_thread+0x121/0x460 [<ffffffff810a9dc8>] kthread+0xf8/0x110 [<ffffffff81863dbc>] ret_from_fork+0x7c/0xb0 Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit e1235983e385afafb33bab3578bfc83a7d871ce1 Author: Changman Lee <cm224.lee@xxxxxxxxxxx> Date: Tue Dec 23 08:37:39 2014 +0900 f2fs: add stat info for moved blocks by background gc This patch is for looking into gc performance of f2fs in detail. Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> [Jaegeuk Kim: fix build errors] Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit b28c3f94933dae663eeca24637bf9ff962bf02dc Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Sat Feb 28 17:23:30 2015 +0800 f2fs: fix to issue small discard in real-time mode discard Now in f2fs, we share functions and structures for batch mode and real-time mode discard. For real-time mode discard, in shared function add_discard_addrs, we will use uninitialized trim_minlen in struct cp_control to compare with length of contiguous free blocks to decide whether skipping discard fragmented freespace or not, this makes us ignore small discard sometimes. Fix it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Reviewed-by : Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7ecebe5e07958a0b7e54a560dbc24144287c6b41 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Feb 27 13:13:14 2015 +0100 f2fs: add cond_resched() to sync_dirty_dir_inodes() In a preempt-off enviroment a alot of FS activity (write/delete) I run into a CPU stall: | NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [kworker/u2:2:59] | Modules linked in: | CPU: 0 PID: 59 Comm: kworker/u2:2 Tainted: G W 3.19.0-00010-g10c11c51ffed #153 | Workqueue: writeback bdi_writeback_workfn (flush-179:0) | task: df230000 ti: df23e000 task.ti: df23e000 | PC is at __submit_merged_bio+0x6c/0x110 | LR is at f2fs_submit_merged_bio+0x74/0x80 â?¦ | [<c00085c4>] (gic_handle_irq) from [<c0012e84>] (__irq_svc+0x44/0x5c) | Exception stack(0xdf23fb48 to 0xdf23fb90) | fb40: deef3484 ffff0001 ffff0001 00000027 deef3484 00000000 | fb60: deef3440 00000000 de426000 deef34ec deefc440 df23fbb4 df23fbb8 df23fb90 | fb80: c02191f0 c0218fa0 60000013 ffffffff | [<c0012e84>] (__irq_svc) from [<c0218fa0>] (__submit_merged_bio+0x6c/0x110) | [<c0218fa0>] (__submit_merged_bio) from [<c02191f0>] (f2fs_submit_merged_bio+0x74/0x80) | [<c02191f0>] (f2fs_submit_merged_bio) from [<c021624c>] (sync_dirty_dir_inodes+0x70/0x78) | [<c021624c>] (sync_dirty_dir_inodes) from [<c0216358>] (write_checkpoint+0x104/0xc10) | [<c0216358>] (write_checkpoint) from [<c021231c>] (f2fs_sync_fs+0x80/0xbc) | [<c021231c>] (f2fs_sync_fs) from [<c0221eb8>] (f2fs_balance_fs_bg+0x4c/0x68) | [<c0221eb8>] (f2fs_balance_fs_bg) from [<c021e9b8>] (f2fs_write_node_pages+0x40/0x110) | [<c021e9b8>] (f2fs_write_node_pages) from [<c00de620>] (do_writepages+0x34/0x48) | [<c00de620>] (do_writepages) from [<c0145714>] (__writeback_single_inode+0x50/0x228) | [<c0145714>] (__writeback_single_inode) from [<c0146184>] (writeback_sb_inodes+0x1a8/0x378) | [<c0146184>] (writeback_sb_inodes) from [<c01463e4>] (__writeback_inodes_wb+0x90/0xc8) | [<c01463e4>] (__writeback_inodes_wb) from [<c01465f8>] (wb_writeback+0x1dc/0x28c) | [<c01465f8>] (wb_writeback) from [<c0146dd8>] (bdi_writeback_workfn+0x2ac/0x460) | [<c0146dd8>] (bdi_writeback_workfn) from [<c003c3fc>] (process_one_work+0x11c/0x3a4) | [<c003c3fc>] (process_one_work) from [<c003c844>] (worker_thread+0x17c/0x490) | [<c003c844>] (worker_thread) from [<c0041398>] (kthread+0xec/0x100) | [<c0041398>] (kthread) from [<c000ed10>] (ret_from_fork+0x14/0x24) As it turns out, the code loops in sync_dirty_dir_inodes() and waits for others to make progress but since it never leaves the CPU there is no progress made. At the time of this stall, there is also a rm process blocked: | rm R running 0 1989 1774 0x00000000 | [<c047c55c>] (__schedule) from [<c00486dc>] (__cond_resched+0x30/0x4c) | [<c00486dc>] (__cond_resched) from [<c047c8c8>] (_cond_resched+0x4c/0x54) | [<c047c8c8>] (_cond_resched) from [<c00e1aec>] (truncate_inode_pages_range+0x1f0/0x5e8) | [<c00e1aec>] (truncate_inode_pages_range) from [<c00e1fd8>] (truncate_inode_pages+0x28/0x30) | [<c00e1fd8>] (truncate_inode_pages) from [<c00e2148>] (truncate_inode_pages_final+0x60/0x64) | [<c00e2148>] (truncate_inode_pages_final) from [<c020c92c>] (f2fs_evict_inode+0x4c/0x268) | [<c020c92c>] (f2fs_evict_inode) from [<c0137214>] (evict+0x94/0x140) | [<c0137214>] (evict) from [<c01377e8>] (iput+0xc8/0x134) | [<c01377e8>] (iput) from [<c01333e4>] (d_delete+0x154/0x180) | [<c01333e4>] (d_delete) from [<c0129870>] (vfs_rmdir+0x114/0x12c) | [<c0129870>] (vfs_rmdir) from [<c012d644>] (do_rmdir+0x158/0x168) | [<c012d644>] (do_rmdir) from [<c012dd90>] (SyS_unlinkat+0x30/0x3c) | [<c012dd90>] (SyS_unlinkat) from [<c000ec40>] (ret_fast_syscall+0x0/0x4c) As explained by Jaegeuk Kim: |This inode is the directory (c.f., do_rmdir) causing a infinite loop on |sync_dirty_dir_inodes. |The sync_dirty_dir_inodes tries to flush dirty dentry pages, but if the |inode is under eviction, it submits bios and do it again until eviction |is finished. This patch adds a cond_resched() (as suggested by Jaegeuk) after a BIO is submitted so other thread can make progress. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> [Jaegeuk Kim: change fs/f2fs to f2fs in subject as naming convention] Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 14b42817763903070fa8cbf087369461400cc021 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Feb 27 17:38:13 2015 +0800 f2fs: fix max orphan inodes calculation cp_payload is introduced for sit bitmap to support large volume, and it is just after the block of f2fs_checkpoint + nat bitmap, so the first segment should include F2FS_CP_PACKS + NR_CURSEG_TYPE + cp_payload + orphan blocks. However, current max orphan inodes calculation don't consider cp_payload, this patch fix it by reducing the number of cp_payload from total blocks of the first segment when calculate max orphan inodes. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2b11a74b21b040270d19fc3b61265c75413c0dc1 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Feb 27 16:52:50 2015 +0800 f2fs: don't need to collect dirty sit entries and flush journal when there's no dirty sit entries Don't need to collect dirty sit entries and flush sit journal to sit entries when there's no dirty sit entries. This patch check dirty_sentries earlier just like flush_nat_entries. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2bda542d59f970b61095bd8205c6c76062f286e3 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:56:16 2015 +0800 f2fs: fix block_ops trace point block operations is used to flush all dirty node and dentry blocks in the page cache and suspend ordinary writing activities, however, there are some facts such like cp error or mount read-only etc which lead to block operations can't be invoked. Current trace point print block_ops start premature even if block_ops doesn't have opportunity to execute. This patch fix it by move block_ops trace point just before block_ops. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit b7f204cca4b7155f47e64555614b1f534a53737e Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Feb 25 19:54:48 2015 -0800 f2fs: check its block allocation to avoid producing wrong dirty pages If a page is cached but its block was deallocated, we don't need to make the page dirty again by gc and truncate_partial_data_page. In that case, it needs to check its block allocation all the time instead of giving up-to-date page. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2bca1e2388a8a9e8a3db0daf54fcc124516a3e83 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Feb 25 19:25:01 2015 -0800 f2fs: clear page's up-to-date if block was deallocated If page's on-disk block was deallocated, let's remove up-to-date flag to avoid further access with wrong contents. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3c64298579a1343cbdf3d2f17adf774a58546aae Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Thu Feb 26 07:57:21 2015 +0800 f2fs: fix the number of orphan inode blocks cp_pack_start_sum is calculated in do_checkpoint and is equal to cpu_to_le32(1 + cp_payload_blks + orphan_blocks). The number of orphan inode blocks is take advantage of by recover_orphan_inodes to readahead meta pages and recovery inodes. However, current codes forget to reduce the number of cp payload blocks when calculate the number of orphan inode blocks. This patch fix it. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 551414861fbd494d58d50f4750d1d1b7f42b6df1 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Thu Feb 26 07:57:20 2015 +0800 f2fs: introduce macro __cp_payload This patch introduce macro __cp_payload. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1abff93d01eddaab7ccdcf15f8cda4d91cbbcd9a Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Jan 8 19:15:53 2015 -0800 f2fs: support fs shutdown This patch introduces a generic ioctl for fs shutdown, which was used by xfs. If this shutdown is triggered, filesystem stops any further IOs according to the following options. 1. FS_GOING_DOWN_FULLSYNC : this will flush all the data and dentry blocks, and do checkpoint before shutdown. 2. FS_GOING_DOWN_METASYNC : this will do checkpoint before shutdown. 3. FS_GOING_DOWN_NOSYNC : this will trigger shutdown as is. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9a74ccdbbb8fa6302ae1ba606f2ef0c03d3242ab Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Feb 13 20:18:52 2015 +0100 clk: Add PWM clock driver Some board designers, when running out of clock output pads, decide to (mis)use PWM output pads to provide a clock to external components. This driver supports this practice by providing an adapter between the PWM and clock bindings in the device tree. As the PWM bindings specify the period in the device tree, this is a fixed clock. Tested-by: Janusz Uzycki <j.uzycki@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit cdfb080e1853660952db5e5332727e59427856df Author: Chris Mason <clm@xxxxxx> Date: Mon Apr 6 18:17:00 2015 -0700 Btrfs: fix use after free when close_ctree frees the orphan_rsv Near the end of close_ctree, we're calling btrfs_free_block_rsv to free up the orphan rsv. The problem is this call updates the space_info, which has already been freed. This adds a new __ function that directly calls kfree instead of trying to update the space infos. Signed-off-by: Chris Mason <clm@xxxxxx> commit 1bbc621ef28462456131c035eaeb5567a1a2a2fe Author: Chris Mason <clm@xxxxxx> Date: Mon Apr 6 12:46:08 2015 -0700 Btrfs: allow block group cache writeout outside critical section in commit We loop through all of the dirty block groups during commit and write the free space cache. In order to make sure the cache is currect, we do this while no other writers are allowed in the commit. If a large number of block groups are dirty, this can introduce long stalls during the final stages of the commit, which can block new procs trying to change the filesystem. This commit changes the block group cache writeout to take appropriate locks and allow it to run earlier in the commit. We'll still have to redo some of the block groups, but it means we can get most of the work out of the way without blocking the entire FS. Signed-off-by: Chris Mason <clm@xxxxxx> commit 2b108268006e06d57ec9810f4ccf5d99d7e5b598 Author: Chris Mason <clm@xxxxxx> Date: Mon Apr 6 07:48:20 2015 -0700 Btrfs: don't use highmem for free space cache pages In order to create the free space cache concurrently with FS modifications, we need to take a few block group locks. The cache code also does kmap, which would schedule with the locks held. Instead of going through kmap_atomic, lets just use lowmem for the cache pages. Signed-off-by: Chris Mason <clm@xxxxxx> commit c9dc4c6578502c2085705347375b82089aad18d0 Author: Chris Mason <clm@xxxxxx> Date: Sat Apr 4 17:14:42 2015 -0700 Btrfs: two stage dirty block group writeout Block group cache writeout is currently waiting on the pages for each block group cache before moving on to writing the next one. This commit switches things around to send down all the caches and then wait on them in batches. The end result is much faster, since we're keeping the disk pipeline full. Signed-off-by: Chris Mason <clm@xxxxxx> commit 4c6d1d85ad89fd8e32dc9204b7f944854399bda9 Author: Chris Mason <clm@xxxxxx> Date: Mon Apr 6 13:17:20 2015 -0700 btrfs: move struct io_ctl into ctree.h and rename it We'll need to put the io_ctl into the block_group cache struct, so name it struct btrfs_io_ctl and move it into ctree.h Signed-off-by: Chris Mason <clm@xxxxxx> commit 3bce876fd58a745b8a1bc0bd8325c3e5b4cebeb0 Author: Josef Bacik <jbacik@xxxxxx> Date: Tue Feb 24 12:35:51 2015 -0800 Btrfs: don't steal from the global reserve if we don't have the space btrfs_evict_inode() needs to be more careful about stealing from the global_rsv. We dont' want to end up aborting commit with ENOSPC just because the evict_inode code was too greedy. Signed-off-by: Chris Mason <clm@xxxxxx> commit 365c5313776730acf433d54226f0216a1d075e9a Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Feb 18 13:58:15 2015 -0800 Btrfs: don't commit the transaction in the async space flushing We're triggering a huge number of commits from btrfs_async_reclaim_metadata_space. These aren't really requried, because everyone calling the async reclaim code is going to end up triggering a commit on their own. Signed-off-by: Chris Mason <clm@xxxxxx> commit cb723e491955ac11a1591ae25cada7c3b1470609 Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Feb 18 08:06:57 2015 -0800 Btrfs: reserve space for block groups This changes our delayed refs calculations to include the space needed to write back dirty block groups. Signed-off-by: Chris Mason <clm@xxxxxx> commit 28f75a0e6cdfbce8115487ecbc0968a2c4e01806 Author: Chris Mason <clm@xxxxxx> Date: Wed Feb 4 06:59:29 2015 -0800 Btrfs: refill block reserves during truncate When truncate starts, it allocates some space in the block reserves so that we'll have enough to update metadata along the way. For very large files, we can easily go through all of that space as we loop through the extents. This changes truncate to refill the space reservation as it progresses through the file. Signed-off-by: Chris Mason <clm@xxxxxx> commit 1262133b8d6f10f5ca7621cd4cf65ddf6254126a Author: Josef Bacik <jbacik@xxxxxx> Date: Tue Feb 3 07:50:16 2015 -0800 Btrfs: account for crcs in delayed ref processing As we delete large extents, we end up doing huge amounts of COW in order to delete the corresponding crcs. This adds accounting so that we keep track of that space and flushing of delayed refs so that we don't build up too much delayed crc work. This helps limit the delayed work that must be done at commit time and tries to avoid ENOSPC aborts because the crcs eat all the global reserves. Signed-off-by: Chris Mason <clm@xxxxxx> commit 28ed1345a50491d78e1454ad4005dc5d3557a69e Author: Chris Mason <clm@xxxxxx> Date: Wed Dec 17 09:41:04 2014 -0800 btrfs: actively run the delayed refs while deleting large files When we are deleting large files with large extents, we are building up a huge set of delayed refs for processing. Truncate isn't checking often enough to see if we need to back off and process those, or let a commit proceed. The end result is long stalls after the rm, and very long commit times. During the commits, other processes back up waiting to start new transactions and we get into trouble. Signed-off-by: Chris Mason <clm@xxxxxx> commit 1ccdd04f536510b7bd9b09efe31b7002ebfedf9c Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Wed Mar 4 19:04:03 2015 +0800 clk: Add clock driver for mb86s7x The CRG11 clock controller is managed by remote f/w. This driver simply maps Linux CLK ops onto mailbox api. Signed-off-by: Andy Green <andy.green@xxxxxxxxxx> Signed-off-by: Vincent Yang <vincent.yang@xxxxxxxxxxxxx> Signed-off-by: Tetsuya Nuriya <nuriya.tetsuya@xxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit c7739aebec22d43fa78389f286bd5520fc53562b Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Feb 14 15:54:58 2015 +0100 clk: pxa: pxa3xx: add missing os timer clock The pxa3xx scheduler relies on the pxa-timer, which requires a clock for its rate. As the clock handling will be taken over by the clock framework, add this missing clock. The miss was discovered by attempting to run a zylonite platform in a device-tree configuration, with the future patch to shift clocks handling to clock framework applied. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit b2eafd7282fdfd148fc09032540b0ff42bfedfbf Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Fri Apr 10 11:22:23 2015 -0700 HID: sensor: Update document for custom sensor Added custom sensor documentation Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Fri Apr 10 11:22:22 2015 -0700 HID: sensor: Custom and Generic sensor support HID Sensor Spec defines two usage ids for custom sensors HID_USAGE_SENSOR_TYPE_OTHER_CUSTOM (0x09, 0xE1) HID_USAGE_SENSOR_TYPE_OTHER_GENERIC(0x09, 0xE2) In addition the standard also defines usage ids for custom fields. The purpose of these sensors is to extend the functionality or provide a way to obfuscate the data being communicated by a sensor. Without knowing the mapping between the data and its encapsulated form, it is difficult for an driver to determine what data is being communicated by the sensor. This allows some differentiating use cases, where vendor can provide applications. Since these can't be represented by standard sensor interfaces like IIO, we present these as fields with - type (input/output) - units - min/max - get/set value In addition an dev interface to transfer report events. Details about this interface is described in /Documentation/hid/hid-sensor.txt. Manufacturers should not use these ids for any standard sensors, otherwise the the product/vendor id can be added to black list. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Reviewed-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5288ec157cf1d1bf7cfa3581f958b1812a37fec9 Merge: 78ebb0d 020f1d9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 10 12:49:34 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-04-10 This series contains updates to ixgbe and documentation for igb, ixgbe and ixgb. Stephen cleans up documentation to igb, ixgbe and ixgb. Don updates how bridge mode is stored to minimize obfuscation and makes updates for future silicon easier. Adds a new bridge mode support function which gathers all the logic needed to configure bridge modes. Adds Source Address Prunning for VEPA bridge mode for x550 devices. Vasu adds specific FCoE offloads for x550 for DDP context programming and increased DDP exchanges. Alex Duyck cleans up the use of HW_VLAN_CTAG_FILTER in hw_features, where the driver was actually ignoring the value of the bit and was just assuming it was always set. Also cleans up the use of rcu_barrier() since the driver has not used call_rcu() to free the rings for some time now. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78ebb0d00b49125ea03a1adcaa4db39de38be41c Author: Thomas Graf <tgraf@xxxxxxx> Date: Fri Apr 10 01:45:53 2015 +0200 rtnetlink: Mark name argument of rtnl_create_link() const Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b815fc12d4dd2b5586184fb4f867caff05a810d4 Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Fri Apr 10 02:47:27 2015 -0500 iscsi target: fix oops when adding reject pdu This fixes a oops due to a double list add when adding a reject PDU for iscsit_allocate_iovecs allocation failures. The cmd has already been added to the conn_cmd_list in iscsit_setup_scsi_cmd, so this has us call iscsit_reject_cmd. Note that for ERL0 the reject PDU is not actually sent, so this patch is not completely tested. Just verified we do not oops. The problem is the add reject functions return -1 which is returned all the way up to iscsi_target_rx_thread which for ERL0 will drop the connection. Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 704f32d48af221fd6d6ffcafe679f04ddcf5e7f6 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Mon Apr 6 17:16:30 2015 +0000 spi: bcm2835: enabling polling mode for transfers shorter than 30us In cases of short transfer times the CPU is spending lots of time in the interrupt handler and scheduler to reschedule the worker thread. Measurements show that we have times where it takes 29.32us to between the last clock change and the time that the worker-thread is running again returning from wait_for_completion_timeout(). During this time the interrupt-handler is running calling complete() and then also the scheduler is rescheduling the worker thread. This time can vary depending on how much of the code is still in CPU-caches, when there is a burst of spi transfers the subsequent delays are in the order of 25us, so the value of 30us seems reasonable. With polling the whole transfer of 4 bytes at 10MHz finishes after 6.16us (CS down to up) with the real transfer (clock running) taking 3.56us. So the efficiency has much improved and is also freeing CPU cycles, reducing interrupts and context switches. Because of the above 30us seems to be a reasonable limit for polling. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a30a555d7435a440fab06fe5960cf3448d8cedd3 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Mon Apr 6 17:16:31 2015 +0000 spi: bcm2835: transform native-cs to gpio-cs on first spi_setup Transforms the bcm-2835 native SPI-chip select to their gpio-cs equivalent. This allows for some support of some optimizations that are not possible due to HW-gliches on the CS line - especially filling the FIFO before enabling SPI interrupts (by writing to CS register) while the transfer is already in progress (See commit: e3a2be3030e2) This patch also works arround some issues in bcm2835-pinctrl which does not set the value when setting the GPIO as output - it just sets up output and (typically) leaves the GPIO as low. When a fix for this is merged then this gpio_set_value can get removed from bcm2835_spi_setup. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cfc4957b46d78115351ad6ff3ce0cd0da7b83730 Merge: 6fb805f 3dc8523 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 11:16:54 2015 -0700 Merge tag 'sound-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Here are fixes gathered for 4.0-final; one FireFire endian fix, two USB-audio quirks, and three HD-audio quirks. All relatively small and device-specific fixes, should be pretty safe to apply" * tag 'sound-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support ALSA: hda - Fix headphone pin config for Lifebook T731 ALSA: bebob: fix to processing in big-endian machine for sending cue ALSA: hda/realtek - Make more stable to get pin sense for ALC283 ALSA: usb-audio: don't try to get Benchmark DAC1 sample rate ALSA: hda/realtek - Support Dell headset mode for ALC256 commit 4ec0853ac5d55e8984d7f727bc16bf16675e6484 Merge: bea3672 1b42085 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:16:06 2015 +0100 Merge remote-tracking branch 'regulator/topic/wm8350' into regulator-next commit bea3672833dac06e37651e755d24ffdb0c471907 Merge: 3984c9d 7e476c7 046db76 e999c72 ce8ae17 14aef29 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:16:03 2015 +0100 Merge remote-tracking branches 'regulator/topic/mode', 'regulator/topic/notifier', 'regulator/topic/palmas', 'regulator/topic/qcom' and 'regulator/topic/stw481x' into regulator-next commit 3984c9da458dbdc352a82909a51c42cf2860a4a5 Merge: e507384 af78114 2b85c28 eb2d90c c0cf5a59 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:16:02 2015 +0100 Merge remote-tracking branches 'regulator/topic/dbx500', 'regulator/topic/load-op', 'regulator/topic/max77693' and 'regulator/topic/max8660' into regulator-next commit e5073849f9d78cd091dccc2a993c0fa5d65f0014 Merge: 5fc31b4 c8b263c ec454d7 a7b976a a46a073 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:16:00 2015 +0100 Merge remote-tracking branches 'regulator/topic/act8865', 'regulator/topic/arizona-ldo1', 'regulator/topic/arizona-micsupp' and 'regulator/topic/da9211' into regulator-next commit 5fc31b43d59a983c47c37b7a6d327f83395609ed Merge: f22e6e8 498e530 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:15:59 2015 +0100 Merge remote-tracking branch 'regulator/topic/core' into regulator-next commit 498e530e50ffccb979cf5f2f2e5bbce01afe1b6e Merge: 6261b06 2329609 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:05:21 2015 +0100 Merge branch 'topic/debugfs' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-core commit 0e7921e9583b72be93d8fa82536a7594974b7eea Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Apr 7 09:33:32 2015 +0800 ASoC: Intel: Use the generic IPC/mailbox APIs in Broadwell Use the generic IPC/mailbox APIs to replace the original processing code for Broadwell platform. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Acked-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 48cec59b6f383c63b2b828b93656ee2030abecc0 Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Apr 7 09:33:31 2015 +0800 ASoC: Intel: Use the generic IPC/mailbox APIs in Baytrail Use the generic IPC/mailbox APIs to replace the original processing code for Baytrail platform. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Acked-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a33c1ec5cf82efb76f0e7339b13f11cfb53a2a2f Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Apr 7 09:33:30 2015 +0800 ASoC: Intel: Refactor common IPC/mailbox code into generic APIs Currently in Intel SST driver, some similar IPC/mailbox processing code are used in different platforms (e.g. in baytrail/broadwell). This patch extracts the common code and creates new files (sst-ipc.c/sst-ipc.h) to contain the common code and provide the generic APIs for IPC/mailbox processing. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Acked-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6fb805fb104de653ad28384192c1e469505b6bdd Merge: e5e02de 4a89c30 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 10:51:34 2015 -0700 Merge tag 'nios2-fixes-v4.0-final' of git://git.rocketboards.org/linux-socfpga-next Pull arch/nios2 fixes from Ley Foon Tan: "There are 3 arch/nios2 fixes for 4.0 final: - fix cache coherency issue when debugging with gdb - move restart_block to struct task_struct (aligned with other architectures) - fix for missing registers defines for ptrace" * tag 'nios2-fixes-v4.0-final' of git://git.rocketboards.org/linux-socfpga-next: nios2: fix cache coherency issue when debug with gdb nios2: add missing ptrace registers defines nios2: signal: Move restart_block to struct task_struct commit 1169006b054ed98f6056b67fd7f18231b65794a0 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Apr 9 15:32:09 2015 -0300 ASoC: fsl: Add the audio interface acronyms in Kconfig text To keep consistency with the other Kconfig entries, use the audio interface acronyms (SSI and SPDIF) in the Kconfig menu text. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c0cf5a59fb69527151eb8e332a1b9660200f66c6 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Apr 10 15:23:42 2015 +0200 regulator: max8660: Handle empty regulator data It is not necessary to have regulator init data for a regulator. This patch removes the necessity of this data and handles a NULL pointer properly. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2bbd681ba2bfa0f3805fb541b0840b96893c5727 Author: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Date: Wed Mar 18 17:20:29 2015 +0530 i2c: xlp9xx: Driver for Netlogic XLP9XX/5XX I2C controller Add an I2C bus driver i2c-xlp9xx.c to support the I2C block in the XLP9xx/XLP5xx MIPS SoC. Update Kconfig and Makefile to add the CONFIG_I2C_XLP9XX option. Signed-off-by: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 85e4564ab234221f81b13e08ec5eb235734e51b0 Author: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Date: Wed Mar 18 17:20:28 2015 +0530 of: Add vendor prefix 'netlogic' Add vendor name "netlogic" in vendor-prefixes.txt, which will be used for the Netlogic XLP and XLPII MIPS SoCs. These processors were from NetLogic Microsystems that is now a part of Broadcom Corporation. Signed-off-by: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7ef97e9a312c359a2b32a7b5d918c60f238b69b2 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Apr 6 15:38:41 2015 +0300 i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery Having a board where the I2C bus locks up occasionally made it clear that the bus recovery in the i2c-davinci driver will only work on some boards, because on regular boards, this will only toggle GPIO lines that aren't muxed to the actual pins. The I2C controller on SoCs like da850 (and da830), Keystone 2 has the built-in capability to bit-bang its lines by using the ICPFUNC registers of the i2c controller. Implement the suggested procedure by toggling SCL and checking SDA using the ICPFUNC registers of the I2C controller when present. Allow platforms to indicate the presence of the ICPFUNC registers with a has_pfunc platform data flag and add optional DT property "ti,has-pfunc" to indicate the same in DT. Reviewed-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Tested-by: Michael Lawnick <michael.lawnick@xxxxxxxxx> Signed-off-by: Ben Gardiner <bengardiner@xxxxxxxxxxxxxx> Signed-off-by: Mike Looijmans <milo-software@xxxxxxxxxxxxxxxxxxxxx> [grygorii.strashko@xxxxxx: combined patches from Ben Gardiner and Mike Looijmans and reimplemented ICPFUNC bus recovery using I2C bus recovery infrastructure] Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2e65676f710e8feb9f76a7beee649b0e5ff95ca3 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Apr 6 15:38:40 2015 +0300 i2c: davinci: use bus recovery infrastructure This patch converts Davinci I2C driver to use I2C bus recovery infrastructure, introduced by commit 5f9296ba21b3 ("i2c: Add bus recovery infrastructure"). The i2c_bus_recovery_info is configured for Davinci I2C adapter only in case scl_pin is provided in platform data. As the controller must be held in reset while doing so, the recovery routine must re-init the controller. Since this was already being done after each call to i2c_recover_bus, move those calls into the recovery_prepare/unprepare routines and as well. Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2b2190a375d796a5ad9ec557cb51269f36b264d4 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Apr 6 15:38:39 2015 +0300 i2c: change input parameter to i2c_adapter for prepare/unprepare_recovery This patch changes type of input parameter for prepare/unprepare_recovery() callbacks from struct i2c_bus_recovery_info * to struct i2c_adapter *. This allows to simplify implementation of these callbacks and avoid type conversations from i2c_bus_recovery_info to i2c_adapter. The i2c_bus_recovery_info can be simply retrieved from struct i2c_adapter which contains pointer on it. There are no users currently, so this is safe to do. Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit cad2e03d8607793fd71a830b4b41fc8e9e9995ea Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Tue Mar 31 17:37:14 2015 +0300 ufs: add support to allow non standard behaviours (quirks) Some implementation of UFS host controller HW might have some non-standard behaviours (quirks) when compared to behaviour specified by UFSHCI specification. This patch add support to allow specifying all such quirks to standard UFS host controller driver so standard driver takes them into account. In this change a UFSHCD_QUIRK_DELAY_BEFORE_DME_CMDS is introduced, where a minimum delay of 1ms is required before DME commands for stability purposes. Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit bfdbe8ba21291c024afcec95b7bd515b5bf69689 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Tue Mar 31 17:37:13 2015 +0300 ufs-qcom: save controller revision info in internal structure Sometimes, specific information about the UFS controller revision is required in order to determine certain operations or execute controller dependent quirks. In order to avoid reading the controller revision multiple times, we simply read it once and save this information in internal structure. Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a776e39416cc4580b5a1688c3e44258888955996 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:08 2015 -0400 qla2xxx: Update driver version to 8.07.00.18-k Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 718abbdca79f8ad87b359cc2cbcc4b1cb3aa6759 Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Thu Apr 9 15:00:07 2015 -0400 qla2xxx: Restore physical port WWPN only, when port down detected for FA-WWPN port. For FA-WWPN is enabled port, if NPIV created on that port and, if port link is brought down, then WWPN was restored from flash for both physical and NPIV port. This will result in NPIV port and physical port sharing same WWPN. Any application refreshing ports information will not be able to scan NPIV port because of this behavior. So while restoring WWPN, only restore physical port WWPN. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ded6411fd88267510dcee6d6c29cfd0bd82d4f0e Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Thu Apr 9 15:00:06 2015 -0400 qla2xxx: Fix virtual port configuration, when switch port is disabled/enabled. On some vendor switches, when switch port is toggled (down /up), then in some condition driver tries to configure virtual port, before FW is actually in ready state to process any commands on wire. At this time, configuring virtual port can fail. Add fix in driver to make driver wait, for FW to be ready state before Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e8fb1250ba5898c6c53e0063bbdcc9cadd580797 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:05 2015 -0400 qla2xxx: Prevent multiple firmware dump collection for ISP27XX. For ISP27XX, driver will capture new firmware dump even if there is one already collected. Prevent this from happening by checking fw_dumped flag. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fd564b5d5ddeead05f5b5cb8fbac6694f13f1007 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:04 2015 -0400 qla2xxx: Disable Interrupt handshake for ISP27XX. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d14e72fb859cf9a767ce3758342466883611cc57 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:03 2015 -0400 qla2xxx: Add debugging info for MBX timeout. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 064135e01e0abc21bad9dfb9ae42d0b88c87ed32 Author: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx> Date: Thu Apr 9 15:00:02 2015 -0400 qla2xxx: Add serdes read/write support for ISP27XX Signed-off-by: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx> Signed-off-by: Harish Zunjarrao <harish.zunjarrao@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0137e59e6271fc91f9e6c854d7833ad8ff8cb50b Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:01 2015 -0400 qla2xxx: Add udev notification to save fw dump for ISP27XX Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f4bf5e3c11dbc1e030ad245d970ce7a2df4b21dd Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:00 2015 -0400 qla2xxx: Add message for sucessful FW dump collected for ISP27XX. o Added message indicating firmware dump was sucessfully collected for ISP27XX. o Improve logging to help debug firmware dump process for ISP27XX. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f1458cda44eb89c0222bae4a964aae2bc5ad1e76 Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Thu Apr 9 14:59:59 2015 -0400 qla2xxx: Add support to load firmware from file for ISP 26XX/27XX. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b21ba319dc4c68045a982b64b710c84f482f32d8 Author: Nigel Kirkland <nigel.kirkland@xxxxxxxxxx> Date: Thu Apr 9 14:59:58 2015 -0400 qla2xxx: Fix beacon blink for ISP27XX. Signed-off-by: Nigel Kirkland <nigel.kirkland@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 334614912b252b49f2e218e3efaddf86edd7f91a Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Apr 9 14:59:57 2015 -0400 qla2xxx: Increase the wait time for firmware to be ready for P3P. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6cbfb1ebbbcdc49eac2f49e146452507b05fcae5 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 14:59:56 2015 -0400 qla2xxx: Fix crash due to wrong casting of reg for ISP27XX. [Bart: additional sparse warning caused by this patch] [jejb: fix sparse warning] Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Cc: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8fec02a73e31407e14986fca67dab48d4f777f0e Author: Jiri Kosina <jkosina@xxxxxxx> Date: Thu Apr 9 13:32:35 2015 +0200 HID: debug: fix error handling in hid_debug_events_read() In the unlikely case of hdev vanishing while hid_debug_events_read() was sleeping, we can't really break out of the case switch as with other cases, as on the way out we'll try to remove ourselves from the hdev waitqueue. Fix this by taking a shortcut exit path and avoiding cleanup that doesn't make sense in case hdev doesn't exist any more anyway. Reported-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dd83cb2c168f32a8d2ad0acaacb56b2a4078df3a Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 14:59:55 2015 -0400 qla2xxx: Fix warnings reported by static checker. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a5053a8e200e865ab786384df3f985a3cbb346fe Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Apr 10 09:47:00 2015 +0000 ASoC: core: call snd_soc_runtime_set_dai_fmt() before soc_new_pcm() Current snd_soc_runtime_set_dai_fmt() is called after soc_probe_link_dais(). this means snd_soc_dai_set_fmt() will be called after soc_new_pcm(). Before appling 1efb53a220b78fdfdbb97b726a2156713e75bdab (ASoC: simple-card: Remove support for setting differing DAI formats) simple-card user had (1) snd_soc_dai_set_fmt() -> soc_new_pcm(), but, after that it is (2) soc_new_pcm() -> snd_soc_dai_set_fmt(). At least rsnd driver is assuming (1) pattern. This patch move snd_soc_dai_set_fmt() into soc_probe_link_dais() after the dai_link->init section to solve this issue. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ddca24c532247894eb4430e9315e690306cf860 Merge: 5f97a4b 3185878 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 16:09:21 2015 +0100 Merge branch 'topic/dapm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-core commit 5f97a4bd2c92aff216581d662a37163881ac3888 Merge: 6553bf06 7c0e3fa Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 16:04:46 2015 +0100 Merge branch 'topic/delay' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-core commit d09c78f8f3ab6dc77dd12049447921ba4a132bc2 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:29 2015 -0400 lpfc: Update version to 10.5.0.0 for upstream patch set Update version to 10.5.0.0 for upstream patch set Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f25e8e79bdb269b47de28ac263af09b9e29c775a Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:28 2015 -0400 lpfc: Update copyright to 2015 Update copyright to 2015 Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4fbdf9cbcc5c0e154d9eb9da4ac3a6d8f9df7ada Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:27 2015 -0400 lpfc: Fix for lun discovery issue with saturn adapter. FCP_CMD payload was not always properly initialized on SLI-3 devices. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ad490b6e70c5756d0479ce1a7336626859b8b546 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:26 2015 -0400 lpfc: Fix crash in device reset handler. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6c7cf486d35e0441c81f9bb8c49e6c826028bbb6 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:25 2015 -0400 lpfc: Fix OS crash when running loopback test in applications Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6eae430328d23e2d6adaa649a7c0bac18e04dda8 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:23 2015 -0400 lpfc: Fix internal loopback failure. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit be6bb94100dc6803a530e20aad05360e6267f56b Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:22 2015 -0400 lpfc: Fix premature release of rpi bit in bitmask Currently, the driver plays off the fact that older sli4 adapters have a different rpi access pattern that allowed for the rpi reference to be released earlier in the teardown sequence, allowing the driver to recycle the rpi value sooner. Newer sli4 adapters have a different access pattern that requires us to wait for a later mailbox completion. This changes the put call location on the newer sli4 adapters. Symptoms of the error are "0110 ELS" and the "0372 iotag" errors. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 34154e05bc135f16804584d81a8c810611a4abe9 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:21 2015 -0400 lpfc: Initiator sends wrong BBCredit value for either FLOGI or FLOGI_ACC Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 63e480fd2f598e9ad37f89e79c36834e7dd60ba0 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:20 2015 -0400 lpfc: Fix null ndlp dereference in target_reset_handler Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 76b2c34aeb947a649e52e0f03f5b930ef936e506 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:19 2015 -0400 lpfc: Fix FDMI Fabric support in driver for Brocade Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f0bf5f91908f7c8819d4111c7bd793178021aa3f Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:18 2015 -0400 lpfc: Fix provide host name and OS name in RSNN-NN FC-GS command Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 26d830ec7fb660130a00f5d27601f37da70a4c1e Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:17 2015 -0400 lpfc: Parse the new 20G, 25G and 40G link speeds in the lpfc driver Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a0683bf67a0502c6ed8b75a1f1a65762c7790635 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:16 2015 -0400 lpfc: Add support for reporting option_rom_version on newer adapters Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2c9c5a001002cf95d36636c2debd897a17781b06 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:15 2015 -0400 lpfc: Fix setting of EQ (interrupt) delay Multiplier Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ea4142f6b10585f271a40ee52eec2f55e48aeccf Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:13 2015 -0400 lpfc: Fix host reset escalation killing all IOs. Fix host reset escalation killing all IOs. SLI-3 adapters will use a new host template. The template differs from SLI-4 adapters in that it does not have an eh_host_reset_handler. Lpfc has traditionally never had a host_reset. The host reset handler was added when we ran into a stuck hardware condition on a SLI-4 adapter. The host_reset will reset and reinit the pci function, clearing the hardware condition. Unfortunately, the host reset handler uses attach/detach code paths, which makes scsi_add_host() and scsi_remove_host() calls. Meaning, a host_reset will completely remove the scsi_host from the system. As a new call to scsi_add_host() is made, the shost# changes, which results in completely new scsi_devices and device names. All the older scsi devices on the old shost# are now orphaned and unrecoverable. We realize we need to re-implement the host_reset_handler so the scsi_host stays registered across the host_reset, but that will be a rather lengthy effort. In the short term, we had an immediate need to restore the SLI-3 devices to their working behavior, with the easiest path being to remove their host_reset handler. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 23296099e70854a272fc369bab8ddcc57f27f97a Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Fri Apr 10 13:48:41 2015 +0200 regulator: output current-limit for all regulators in summary Voltage regulators can have (unregulated) current limits too, so we should probably output both voltage and current for all regulators. Holding the rdev->mutex actually conflicts with _regulator_get_current_limit but also is not really necessary, as the global regulator_list_mutex already protects us from the regulator vanishing while we go through the list. On the rk3288-firefly the summary now looks like: regulator use open bypass voltage current min max ------------------------------------------------------------------------------- vcc_sys 0 12 0 5000mV 0mA 5000mV 5000mV vcc_lan 1 1 0 3300mV 0mA 3300mV 3300mV ff290000.ethernet 0mV 0mV vcca_33 0 0 0 3300mV 0mA 3300mV 3300mV vcca_18 0 0 0 1800mV 0mA 1800mV 1800mV vdd10_lcd 0 0 0 1000mV 0mA 1000mV 1000mV [...] Suggested-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7c225ec90c368a474daa9803922f4b7d6fe6d5c8 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Tue Apr 7 16:16:39 2015 +0200 regulator: add a summary tree in debugfs On modern systems the regulator hierarchy can get quite long and nested with regulators supplying other regulators. In some cases when debugging it might be nice to get a tree of these regulators, their consumers and the regulation constraints in one go. To achieve this add a regulator_summary sysfs node, similar to clk_summary in the common clock framework, that walks the regulator list and creates a tree out of the regulators, their consumers and core per-regulator settings. On a rk3288-firefly the regulator_summary would for example look something like: regulator use open bypass value min max ----------------------------------------------------------------------- vcc_sys 0 12 0 5000mV 5000mV 5000mV vcc_lan 1 1 0 3300mV 3300mV 3300mV ff290000.ethernet 0mV 0mV vcca_33 0 0 0 3300mV 3300mV 3300mV vcca_18 0 0 0 1800mV 1800mV 1800mV vdd10_lcd 0 0 0 1000mV 1000mV 1000mV vccio_sd 0 0 0 3300mV 3300mV 3300mV vcc_20 0 3 0 2000mV 2000mV 2000mV vcc18_lcd 0 0 0 1800mV 1800mV 1800mV vcc_18 0 2 0 1800mV 1800mV 1800mV ff100000.saradc 0mV 0mV ff0d0000.dwmmc 1650mV 1950mV vdd_10 0 0 0 1000mV 1000mV 1000mV vdd_log 0 0 0 1100mV 1100mV 1100mV vcc_io 0 3 0 3300mV 3300mV 3300mV ff0f0000.dwmmc 3300mV 3400mV vcc_flash 1 1 0 1800mV 1800mV 1800mV ff0f0000.dwmmc 1700mV 1950mV vcc_sd 1 1 0 3300mV 3300mV 3300mV ff0c0000.dwmmc 3300mV 3400mV vcc_ddr 0 0 0 1200mV 1200mV 1200mV vdd_gpu 0 0 0 1000mV 850mV 1350mV vdd_cpu 0 1 0 900mV 850mV 1350mV cpu0 900mV 900mV vcc_5v 0 2 0 5000mV 5000mV 5000mV vcc_otg_5v 0 0 0 5000mV 5000mV 5000mV vcc_host_5v 0 0 0 5000mV 5000mV 5000mV regulator-dummy 0 0 0 0mV 0mV 0mV Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85c0f177200b49cbed0f9c9ac67fe2656749f9cd Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:12 2015 -0400 lpfc: Linux lpfc driver doesn't re-establish the link after a cable pull on LPe12002 Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ed4afe7405f3839236fd34c7918204640c00e4e8 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:11 2015 -0400 lpfc: Fix to handle PLOGI when already logged in Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c63779702094bcfdb2ead17181fbcd04b71b0215 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:10 2015 -0400 lpfc: Add new mbx cmd recognition Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 946727dc073dbac5751f98902c1c73e3b7268218 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:09 2015 -0400 lpfc: Add Lancer Temperature Event support to the lpfc driver This will detect and send an async event if overtemp is detected Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 77d093fb009c339f9fa15a2865787eb94eee22c6 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:08 2015 -0400 lpfc: Fix the iteration count to match the 30 sec comment in the routine lpfc_pci_function_reset Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c749e6bca57ffcc161c1ede8d9dcf274044eca15 Author: James Smart <james.smart@xxxxxxxxxx> Date: Thu Apr 2 15:50:52 2015 -0400 scsi_transport_fc: Add support for 25Gbit speed Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ca2641891d8f0503f166502d168690c1e7d38e49 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Apr 10 07:12:29 2015 -0300 ASoC: fsl_ssi: Use devm_ioremap_resource() Using platform_get_resource() and devm_ioremap_resource() can make the code a bit simpler. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7b8283b56d9fb36106ff1c459dfd399a20bd374d Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue Apr 7 09:20:37 2015 -0600 perf evlist: Fix type for references to data_head/tail The data_head and data_tail fields are defined as __u64 in linux/perf_event.h, but perf userspace uses int and unsigned int. Convert all references to u64 for consistency. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428420037-26599-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2b9c698efa58bf7d9a0d3d3b28115cf9e55ca818 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 16:07:51 2015 +0200 ACPI / scan: Take the PRP0001 position in the list of IDs into account If the special PRP0001 device ID is present in a device's _CID list, it should not prevent any ACPI/PNP IDs preceding it in the device's list of identifiers from being matched first. That is, only if none of the IDs preceding PRP0001 in the device's PNP/ACPI IDs list matches the IDs recognized by the driver, the driver's list of "compatible" IDs should be matched against the device's "compatible" property, if present. In addition to that, drivers can provide both acpi_match_table and of_match_table at the same time and the of_compatible matching should be used in that case too if PRP0001 is present in the device's list of identifiers. To make that happen, rework acpi_driver_match_device() to do the "compatible" property check in addition to matching the driver's list of ACPI IDs against the device's one. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit e1acdeb0e7707f4220aa14ad6739102ba26e07c0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 16:07:38 2015 +0200 ACPI / scan: Simplify acpi_match_device() Redefine acpi_companion_match() to return an ACPI device object pointer instead of a bool and use it to remove some redundant code from acpi_match_device(). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 54fe9ce385d499fe5a2bb0c68f092c97dad9365c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 16:07:30 2015 +0200 ACPI / scan: Generalize of_compatible matching Redefine the function used for matching the device's "compatible" property against a given list of "compatible" strings to take a pointer to that list instead of a driver object pointer to make it more general. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit ca3f0874723fad81d0c701b63ae3a17a408d5f25 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Wed Apr 8 14:16:48 2015 +0200 KVM: use slowpath for cross page cached accesses kvm_write_guest_cached() does not mark all written pages as dirty and code comments in kvm_gfn_to_hva_cache_init() talk about NULL memslot with cross page accesses. Fix all the easy way. The check is '<= 1' to have the same result for 'len = 0' cache anywhere in the page. (nr_pages_needed is 0 on page boundary.) Fixes: 8f964525a121 ("KVM: Allow cross page reads and writes from cached translations.") Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <20150408121648.GA3519@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c1d676cec572544616273d5853cb7cc38fbaa62b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Mar 26 17:53:01 2015 +0100 clk: tegra: Use the proper parent for plld_dsi The current parent, plld_out0, does not exist. The proper name is pll_d_out0. While at it, rename the plld_dsi clock to pll_d_dsi_out to be more consistent with other clock names. Fixes: b270491eb9a0 ("clk: tegra: Define PLLD_DSI and remove dsia(b)_mux") Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a84724a1c3cccd03b4ca1c8aea135095d0a6204e Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Mar 26 17:50:06 2015 +0100 clk: tegra: Use generic tegra_osc_clk_init() on Tegra114 There is no reason why Tegra114 cannot use the same generic code to set up the oscillator, clk_m and pll_ref clocks. The only effective change that this causes is that the CLK_SET_PARENT_RATE flag is dropped, but since these clocks are all fixed it is not needed anyway. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 63cc5a4da1fafedee24d8f5af67c1dd9d08f95c7 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Mar 26 17:43:56 2015 +0100 clk: tegra: Model oscillator as clock Currently the Tegra clock driver simplifies the clock tree somewhat by taking advantage of the fact that clk_m runs at the same frequency as the oscillator. While that's true on all currently supported SoCs, it does not apply to Tegra210 anymore. On Tegra210 clk_m is typically divided down from the oscillator frequency. To support that setup, add a separate clock for the oscillator that both clk_m and pll_ref derive from. Modify the tegra_osc_clk_init() function to take an additional divider parameter for clk_m. Existing SoCs always pass in 1, whereas Tegra210 will read the divider from a register in the clock & reset controller. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 699b477a0d3a5bc68034a1520a4337ea0a20f63b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 10:52:45 2015 +0100 clk: tegra: Add peripheral registers for bank Y Tegra210 has an extra bank of peripheral clock registers. Add it to the generic peripheral clock code. Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5e43e259171e1eee8bc074d9c44be434e685087b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 10:57:46 2015 +0100 clk: tegra: Register the proper number of resets The number of resets controls is 32 times the number of peripheral register banks rather than 32 times the number of clocks. This reduces (drastically) the number of reset controls registered from 10080 (315 clocks * 32) to 224 (6 peripheral register banks * 32). This also fixes a potential crash because trying to use any of the excess reset controls (224-10079) would have caused accesses beyond the array bounds of the peripheral register banks definition array. Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> Fixes: 6d5b988e7dc5 ("clk: tegra: implement a reset driver") Cc: stable@xxxxxxxxxxxxxxx # 3.14+ Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 44a6f3dbf1ac63b4d689cf081a3540cde03aa5d5 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Feb 18 16:25:16 2015 +0100 clk: tegra: Remove needless initializations The ret variable is often explicitly initialized to 0, but there is no need to do so in many cases because it will immediately be overwritten with the return value from a function. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 12cf33c0eb7fbedb2a26b6da2f9f7863b2f4ddda Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 23 09:42:33 2015 +0100 clk: tegra: Use consistent indentation Some of the .dev_id entries in the devclks table were oddly indented. Make them consistent with the rest of the table. Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 6bb18c532d08438f4ae4e282da6d12e86a86dcfb Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 1 10:44:20 2014 +0200 clk: tegra: Various whitespace cleanups Make usage of blank lines as separators more consistent. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 04794d982e830d4fdc39c1e1b8699fe53a7bd947 Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Mon May 19 19:17:23 2014 -0700 clk: tegra: Enable HDA to HDMI clocks on Tegra124 Add the clocks used for HDMI audio played through the HDA controller. Initialize the codec clock to 48Mhz and the HDA clock to 102MHz per the TRM. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit f081c89606f2abba40fafae7133082801d332009 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Jul 21 13:16:36 2014 +0200 clk: tegra: Fix a bunch of sparse warnings The second to last parameter of the TEGRA_CLK_PERIPH macro denotes a table and should therefore users should pass in NULL instead of 0. Fixes a bunch of sparse warnings like this: warning: Using plain integer as NULL pointer Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8106462faa3e9f140c8953939745fe2c0d8a6435 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 5 13:26:12 2014 +0200 clk: tegra: Fix typo tabel -> table The clock initialization structure is named struct clk_init_table. Update the kerneldoc comment to use the correct name. Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5306a5450824691e27d68f711758515debedeeac Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Apr 2 14:42:52 2015 +0100 MIPS: Makefile: Fix MIPS ASE detection code Commit 32098ec7bcba ("MIPS: Makefile: Move the ASEs checks after setting the core's CFLAGS") re-arranged the MIPS ASE detection code and also added the current cflags to the detection logic. However, this introduced a few bugs. First of all, the mips-cflags should not be quoted since that ends up being passed as a string to subsequent commands leading to broken detection from the cc-option-* tools. Moreover, in order to avoid duplicating the cflags-y because of how cc-option works, we rework the logic so we pass only those cflags which are needed by the selected ASE. Finally, fix some typos resulting in MSA not being detected correctly. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: Commit 32098ec7bcba ("MIPS: Makefile: Move the ASEs checks after setting the core's CFLAGS") Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9661/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 48f8eaee3f59848809644507fc47363b37e54450 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Feb 26 11:11:30 2015 +0000 MIPS: asm: elf: Set O32 default FPU flags Set good default FPU flags (FR0) for O32 binaries similar to what the kernel does for the N64/N32 ones. This also fixes a regression introduced in commit 46490b572544 ("MIPS: kernel: elf: Improve the overall ABI and FPU mode checks") when MIPS_O32_FP64_SUPPORT is disabled. In that case, the mips_set_personality_fp() did not set the FPU mode at all because it assumed that the FPU mode was already set properly. That led to O32 userland problems. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Reported-by: Mans Rullgard <mans@xxxxxxxxx> Fixes: 46490b572544 ("MIPS: kernel: elf: Improve the overall ABI and FPU mode checks") Tested-by: Mans Rullgard <mans@xxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Matthew Fortune <Matthew.Fortune@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: http://patchwork.linux-mips.org/patch/9344/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 96f7c21363e0e0d19f3471f54a719ed06d708513 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 16:01:02 2015 +0200 MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G Since the day of adding this code it was broken. We were iterating over a wrong array and checking for wrong NVRAM entry. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9654/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6ca716f2e5571d25a3899c6c5c91ff72ea6d6f5e Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Nov 25 09:15:45 2014 +0000 MIPS: Kconfig: Disable SMP/CPS for 64-bit A 64-bit build for Malta produces far too many build problems when SMP/CPS is selected. Moreover, there is currently no 64-bit product with SMP/CPS so we disable SMP/CPS when building for 64-bit until it is properly supported. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8573/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a843d00d038b11267279e3b5388222320f9ddc1d Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:05 2015 +0800 MIPS: Hibernate: flush TLB entries earlier We found that TLB mismatch not only happens after kernel resume, but also happens during snapshot restore. So move it to the beginning of swsusp_arch_suspend(). Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9621/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 90db024f140d0d6ad960cc5f090e3c8ed890ca55 Author: Niklas Cassel <niklas.cassel@xxxxxxxx> Date: Thu Jan 15 16:41:13 2015 +0100 MIPS: smp-cps: cpu_set FPU mask if FPU present If we have an FPU, enroll ourselves in the FPU-full mask. Matching the MT_SMP and CMP implementations of smp_setup. Signed-off-by: Niklas Cassel <niklass@xxxxxxxx> Cc: paul.burton@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8948/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f8483988cadd7dd22de928db29ed3bcbe02faf78 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Feb 25 13:08:05 2015 +0000 MIPS: lose_fpu(): Disable FPU when MSA enabled The lose_fpu() function only disables the FPU in CP0_Status.CU1 if the FPU is in use and MSA isn't enabled. This isn't necessarily a problem because KSTK_STATUS(current), the version of CP0_Status stored on the kernel stack on entry from user mode, does always get updated and gets restored when returning to user mode, but I don't think it was intended, and it is inconsistent with the case of only the FPU being in use. Sometimes leaving the FPU enabled may also mask kernel bugs where FPU operations are executed when the FPU might not be enabled. So lets disable the FPU in the MSA case too. Fixes: 33c771ba5c5d ("MIPS: save/disable MSA in lose_fpu") Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9323/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a7b7aad383c5dd9221a06e378197350dd27c1163 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Mon Feb 23 06:17:33 2015 +0100 MIPS: ralink: add missing symbol for RALINK_ILL_ACC A driver was added in commit 5433acd81e87 ("MIPS: ralink: add illegal access driver") without the Kconfig section being added. Fix this by adding the symbol to the Kconfig file. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Reported-by: Paul Bolle <pebolle@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9299/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 93a7de8819a661d06eb11f4de3d6888b9a842b30 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Mon Feb 23 06:17:32 2015 +0100 MIPS: ralink: Fix bad config symbol in PCI makefile. A wrong symbol is referenced by commit 187c26ddf0b2 ("MIPS: ralink: add rt2880 pci driver"). Fix this by changing it to the correct symbol. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Reported-by: Paul Bolle <pebolle@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9298/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 179fa46fb666c8f2aa2bbb1f3114d5d826d59d3d Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Wed Mar 25 16:31:42 2015 +0100 SSB: fix Kconfig dependencies The commit 21400f252a97 ("MIPS: BCM47XX: Make ssb init NVRAM instead of bcm47xx polling it") introduces a dependency to SSB_SFLASH but did not add it to the Kconfig. drivers/ssb/driver_mipscore.c:216:36: error: 'struct ssb_mipscore' has no member named 'sflash' struct ssb_sflash *sflash = &mcore->sflash; ^ drivers/ssb/driver_mipscore.c:249:12: error: dereferencing pointer to incomplete type if (sflash->present) { ^ Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Cc: m@xxxxxxx Cc: zajec5@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9598/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f7f8aea4b97c4d48e42f02cb37026bee445f239f Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Feb 27 07:51:32 2015 +0000 MIPS: Malta: Detect and fix bad memsize values memsize denotes the amount of RAM we can access from kseg{0,1} and that should be up to 256M. In case the bootloader reports a value higher than that (perhaps reporting all the available RAM) it's best if we fix it ourselves and just warn the user about that. This is usually a problem with the bootloader and/or its environment. [ralf@xxxxxxxxxxxxxx: Remove useless parens as suggested bei Sergei. Reformat long pr_warn statement to fit into 80 column limit.] Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9362/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9eaffa84a8a46adab065c983401fc9d5949c958f Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Mar 25 13:18:27 2015 +0100 Revert "MIPS: Avoid pipeline stalls on some MIPS32R2 cores." For a discussion, see http://patchwork.linux-mips.org/patch/9539/. This reverts commit 625c0a21700bdb90844d926a1508a17a77e369c9. commit f05ff43355e6997c18f82ddcee370a6e5f8643ce Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Mar 25 13:21:51 2015 +0100 MIPS: Octeon: Delete override of cpu_has_mips_r2_exec_hazard. This is no longer needed with the fixed, new and improved definition of cpu_has_mips_r2_exec_hazard in <asm/cpu-features.h>. For a discussion, see http://patchwork.linux-mips.org/patch/9539/. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9cdf30bd3bac697fc533988f44a117434a858f69 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Mar 25 13:14:16 2015 +0100 MIPS: Fix cpu_has_mips_r2_exec_hazard. Returns a non-zero value if the current processor implementation requires an IHB instruction to deal with an instruction hazard as per MIPS R2 architecture specification, zero otherwise. For a discussion, see http://patchwork.linux-mips.org/patch/9539/. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit aebac99384f7a6d83a3dcd42bf2481eed2670083 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Mar 3 18:48:49 2015 +0000 MIPS: kernel: entry.S: Set correct ISA level for mips_ihb Commit 6ebb496ffc7e("MIPS: kernel: entry.S: Add MIPS R6 related definitions") added the MIPSR6 definition but it did not update the ISA level of the actual assembly code so a pre-MIPSR6 jr.hb instruction was generated instead. Fix this by using the MISP_ISA_LEVEL_RAW macro. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: 6ebb496ffc7e("MIPS: kernel: entry.S: Add MIPS R6 related definitions") Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9386/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 518222161d4a2d3f3b2700098563b62383f83878 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Mar 3 18:48:48 2015 +0000 MIPS: asm: spinlock: Fix addiu instruction for R10000_LLSC_WAR case Commit 5753762cbd1c("MIPS: asm: spinlock: Replace "sub" instruction with "addiu") replaced the "sub" instruction with addiu but it did not update the immediate value in the R10000_LLSC_WAR case. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: 5753762cbd1c("MIPS: asm: spinlock: Replace "sub" instruction with "addiu"") Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9385/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f6b39ae6f4d6ee835bb16e452086121aa010f1a7 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Mar 3 18:48:47 2015 +0000 MIPS: r4kcache: Use correct base register for MIPS R6 cache flushes Commit 934c79231c1b("MIPS: asm: r4kcache: Add MIPS R6 cache unroll functions") added support for MIPS R6 cache flushes but it used the wrong base address register to perform the flushes so the same lines were flushed over and over. Moreover, replace the "addiu" instructions with LONG_ADDIU so the correct base address is calculated for 64-bit cores. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: 934c79231c1b("MIPS: asm: r4kcache: Add MIPS R6 cache unroll functions") Cc: linux-mips@xxxxxxxxxxxxxx Reviewed-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9384/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 07edf0d46c07568d08feee95bbaa38c71b084150 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Mar 10 12:30:56 2015 +0000 MIPS: Kconfig: Fix typo for the r2-to-r6 emulator kernel parameter Commit b0a668fb2038 ("MIPS: kernel: mips-r2-to-r6-emul: Add R2 emulator for MIPS R6") added the mips r2-to-r6 emulator so an R2 userland can be executed on R6 kernels. This needed both build time and runtime support. The runtime support needed the "mipsr2emu" kernel parameter instead of the "mipsr2emul" listed in the Kconfig help message. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: b0a668fb2038 ("MIPS: kernel: mips-r2-to-r6-emul: Add R2 emulator for MIPS R6") Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9504/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6eae35485b26f9e51ab896eb8a936bed9908fdf6 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 9 14:54:52 2015 +0000 MIPS: unaligned: Fix regular load/store instruction emulation for EVA When emulating a regular lh/lw/lhu/sh/sw we need to use the appropriate instruction if we are in EVA mode. This is necessary for userspace applications which trigger alignment exceptions. In such case, the userspace load/store instruction needs to be emulated with the correct eva/non-eva instruction by the kernel emulator. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: c1771216ab48 ("MIPS: kernel: unaligned: Handle unaligned accesses for EVA") Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9503/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3563c32d6532ece53c9dd8905a8e41983ef9952f Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 9 14:54:51 2015 +0000 MIPS: unaligned: Surround load/store macros in do {} while statements It's best to surround such complex macros with do {} while statements so they can appear as independent logical blocks when used within other control blocks. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9502/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit eeb538950367e3966cbf0237ab1a1dc30e059818 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 9 14:54:50 2015 +0000 MIPS: unaligned: Prevent EVA instructions on kernel unaligned accesses Commit c1771216ab48 ("MIPS: kernel: unaligned: Handle unaligned accesses for EVA") allowed unaligned accesses to be emulated for EVA. However, when emulating regular load/store unaligned accesses, we need to use the appropriate "address space" instructions for that. Previously, an unaligned load/store instruction in kernel space would have used the corresponding EVA instructions to emulate it which led to segmentation faults because of the address translation that happens with EVA instructions. This is now fixed by using the EVA instruction only when emulating EVA unaligned accesses. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: c1771216ab48 ("MIPS: kernel: unaligned: Handle unaligned accesses for EVA") Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9501/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 60cd7e08e453bc6828ac4b539f949e4acd80f143 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 9 14:54:49 2015 +0000 MIPS: asm: asm-eva: Introduce kernel load/store variants Introduce new macros for kernel load/store variants which will be used to perform regular kernel space load/store operations in EVA mode. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9500/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 872cd4c2c617bb3a203ebe18115fd0c697112b87 Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:26 2015 +0530 MIPS: Netlogic: Fix for SATA PHY init Update to the SATA PHY initialization. This is needed for SATA detection to succeed in all configurations. Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8886/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b083518c52ab75a345d668ca7fa41e530df08d51 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:55:39 2015 +0200 MIPS: OCTEON: fix PCI interrupt mapping for D-Link DSR-1000N Fix PCI interrupt mapping for DSR1000N. This will get the PCI slot interrupts working. The mapping is based on D-Link GPL tarball. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9593/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 73bf3c2a500b2db8ac966469591196bf55afb409 Author: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Date: Wed Mar 18 14:05:21 2015 +0100 MIPS: Octeon: Remove udelay() causing huge IRQ latency udelay() in PCI/PCIe read/write callbacks cause 30ms IRQ latency on Octeon platforms because these operations are called from PCI_OP_READ() and PCI_OP_WRITE() under raw_spin_lock_irqsave(). Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: David Daney <ddaney@xxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Mathias <mathias.rulf@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9576/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e68410ebf62676dfb93aafff7c55b76644f37072 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:48 2015 +0200 crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. It also changes the prototypes of the core asm functions to be compatible with the base prototype void (sha512_block_fn)(struct sha256_state *sst, u8 const *src, int blocks) so that they can be passed to the base layer directly. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1631030ae63aef0a54fe08813e0f4e26c8ef9c78 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:47 2015 +0200 crypto: x86/sha256_ssse3 - move SHA-224/256 SSSE3 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. It also changes the prototypes of the core asm functions to be compatible with the base prototype void (sha256_block_fn)(struct sha256_state *sst, u8 const *src, int blocks) so that they can be passed to the base layer directly. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 824b43763c562ee2feec16bb4017785528f3b54c Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:46 2015 +0200 crypto: x86/sha1_ssse3 - move SHA-1 SSSE3 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 03802f6a80b3a993067af97b0dc094f60d6fbc8b Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:45 2015 +0200 crypto: arm64/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 07eb54d306f4f0efabe0a0d5dd6739d079d90e0e Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:44 2015 +0200 crypto: arm64/sha1-ce - move SHA-1 ARMv8 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9205b94923213ee164d7398fdc90826e463c281a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:43 2015 +0200 crypto: arm/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b59e2ae3690c8ef5f8ddeeb0b6b3313521b915e6 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:42 2015 +0200 crypto: arm/sha256 - move SHA-224/256 ASM/NEON implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dde00981e64b3c6621cafe3eea2eef6a4055208c Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:41 2015 +0200 crypto: arm/sha1-ce - move SHA-1 ARMv8 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 51e515faa887e40e7e30a3e13607ea6be418e4c4 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:40 2015 +0200 crypto: arm/sha1_neon - move SHA-1 NEON implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 90451d6bdb787e1631c6ce4619221eb59562343c Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:39 2015 +0200 crypto: arm/sha1 - move SHA-1 ARM asm implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ca142584bc8ebc8e15b317680771ade58ca96315 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:38 2015 +0200 crypto: sha512-generic - move to generic glue implementation This updated the generic SHA-512 implementation to use the generic shared SHA-512 glue code. It also implements a .finup hook crypto_sha512_finup() and exports it to other modules. The import and export() functions and the .statesize member are dropped, since the default implementation is perfectly suitable for this module. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a2e5ba4fedd6e590bb2cd83817c2bf0cd0de69d1 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:37 2015 +0200 crypto: sha256-generic - move to generic glue implementation This updates the generic SHA-256 implementation to use the new shared SHA-256 glue code. It also implements a .finup hook crypto_sha256_finup() and exports it to other modules. The import and export() functions and the .statesize member are dropped, since the default implementation is perfectly suitable for this module. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7c71f0f760d65f270aca0849caebb1fd5d53c66b Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:36 2015 +0200 crypto: sha1-generic - move to generic glue implementation This updated the generic SHA-1 implementation to use the generic shared SHA-1 glue code. It also implements a .finup hook crypto_sha1_finup() and exports it to other modules. The import and export() functions and the .statesize member are dropped, since the default implementation is perfectly suitable for this module. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b84a2a0b4ec214fc5d4ba1d3d5b26d4f88733dba Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:35 2015 +0200 crypto: sha512 - implement base layer for SHA-512 To reduce the number of copies of boilerplate code throughout the tree, this patch implements generic glue for the SHA-512 algorithm. This allows a specific arch or hardware implementation to only implement the special handling that it needs. The users need to supply an implementation of void (sha512_block_fn)(struct sha512_state *sst, u8 const *src, int blocks) and pass it to the SHA-512 base functions. For easy casting between the prototype above and existing block functions that take a 'u64 state[]' as their first argument, the 'state' member of struct sha512_state is moved to the base of the struct. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 11b8d5ef91388162103bf28f2e9d6dfd400d192d Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:34 2015 +0200 crypto: sha256 - implement base layer for SHA-256 To reduce the number of copies of boilerplate code throughout the tree, this patch implements generic glue for the SHA-256 algorithm. This allows a specific arch or hardware implementation to only implement the special handling that it needs. The users need to supply an implementation of void (sha256_block_fn)(struct sha256_state *sst, u8 const *src, int blocks) and pass it to the SHA-256 base functions. For easy casting between the prototype above and existing block functions that take a 'u32 state[]' as their first argument, the 'state' member of struct sha256_state is moved to the base of the struct. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c4d5b9ffa31f7283b34cba991514dacae4c8d3de Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:33 2015 +0200 crypto: sha1 - implement base layer for SHA-1 To reduce the number of copies of boilerplate code throughout the tree, this patch implements generic glue for the SHA-1 algorithm. This allows a specific arch or hardware implementation to only implement the special handling that it needs. The users need to supply an implementation of void (sha1_block_fn)(struct sha1_state *sst, u8 const *src, int blocks) and pass it to the SHA-1 base functions. For easy casting between the prototype above and existing block functions that take a 'u32 state[]' as their first argument, the 'state' member of struct sha1_state is moved to the base of the struct. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9c521a200bc3c12bd724e48a75c57d5358f672be Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Thu Apr 9 12:09:55 2015 +0200 crypto: api - remove instance when test failed A cipher instance is added to the list of instances unconditionally regardless of whether the associated test failed. However, a failed test implies that during another lookup, the cipher instance will be added to the list again as it will not be found by the lookup code. That means that the list can be filled up with instances whose tests failed. Note: tests only fail in reality in FIPS mode when a cipher is not marked as fips_allowed=1. This can be seen with cmac(des3_ede) that does not have a fips_allowed=1. When allocating the cipher, the allocation fails with -ENOENT due to the missing fips_allowed=1 flag (which causes the testmgr to return EINVAL). Yet, the instance of cmac(des3_ede) is shown in /proc/crypto. Allocating the cipher again fails again, but a 2nd instance is listed in /proc/crypto. The patch simply de-registers the instance when the testing failed. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e9b8e5beb7befe682f9fe90428ea534b01d66568 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 17:40:35 2015 +0800 crypto: api - Move alg ref count init to crypto_check_alg We currently initialise the crypto_alg ref count in the function __crypto_register_alg. As one of the callers of that function crypto_register_instance needs to obtain a ref count before it calls __crypto_register_alg, we need to move the initialisation out of there. Since both callers of __crypto_register_alg call crypto_check_alg, this is the logical place to perform the initialisation. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Stephan Mueller <smueller@xxxxxxxxxx> commit e183201b9e917daf2530b637b2f34f1d5afb934d Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Mar 14 14:04:00 2015 -0300 [media] uvcvideo: add support for VIDIOC_QUERY_EXT_CTRL Add support for the new VIDIOC_QUERY_EXT_CTRL ioctl. Since uvc doesn't use the control framework, support for this ioctl isn't automatic. This is makes v4l2-compliance happy as well. [Added blank lines for improved readability] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5468d5a64bf1e002e5081fa280186d0eba09fa0e Merge: 4dd1f57 55db320 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Apr 10 08:27:18 2015 -0500 Merge branch 'pci/misc' into next * pci/misc: PCI: Read capability list as dwords, not bytes PCI: Don't clear ASPM bits when the FADT declares it's unsupported PCI: Clarify policy for vendor IDs in pci.txt PCI/ACPI: Optimize device state transition delays PCI: Export pci_find_host_bridge() for use inside PCI core PCI: Make a shareable UUID for PCI firmware ACPI _DSM PCI: Fix typo in Thunderbolt kernel message commit 4dd1f57956ada782fd80b1c11c30a9595d6caafc Merge: 8e79584 01d06a9 1fb37a8 f76ea57 e3dc17a ab14d45 7a27db2 8735816 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Apr 10 08:26:54 2015 -0500 Merge branches 'pci/host-exynos', 'pci/host-iproc', 'pci/host-keystone', 'pci/host-layerscape', 'pci/host-mvebu', 'pci/host-rcar' and 'pci/host-versatile' into next * pci/host-exynos: PCI: exynos: Fix INTx enablement statement termination error * pci/host-iproc: PCI: iproc: Add Broadcom iProc PCIe support PCI: iproc: Add DT docs for Broadcom iProc PCIe driver PCI: Export symbols required for loadable host driver modules * pci/host-keystone: PCI: keystone: Don't dereference possible NULL pointer * pci/host-layerscape: PCI: layerscape: Simplify platform_get_resource_byname() failure checking * pci/host-mvebu: PCI: mvebu: Add suspend/resume support * pci/host-rcar: PCI: rcar: Verify that mem_res is 64K-aligned PCI: rcar: Change PCIEPARL and PCIEPARH to PCIEPALR and PCIEPAUR PCI: rcar: Write zeroes to reserved PCIEPARL bits PCI: rcar: Fix position of MSI enable bit * pci/host-versatile: PCI: versatile: Check for devm_ioremap_resource() failures commit 1461fe7ab6e61c4ad59f54e308872c0bae09d609 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Apr 3 06:53:42 2015 -0300 [media] uvcvideo: fix cropcap v4l2-compliance failure The v4l2-compliance tool expects that if VIDIOC_CROPCAP is defined, then VIDIOC_G_SELECTION for TGT_CROP_BOUNDS/DEFAULT is also defined (or COMPOSE in the case of an output device). In fact, all that a driver has to do to implement cropcap is to support those two targets since the v4l2 core will implement cropcap and fill in the pixelaspect to 1/1 by default. Implementing cropcap is only needed if the pixelaspect isn't square. So implement g_selection instead of cropcap in uvc to fix the v4l2-compliance failure. [Added blank lines for improved readability] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit befd25a2bd61f1706508280f705e18be8b283e3e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 14:12:58 2015 -0300 [media] media: omap3isp: remove unused clkdev No merged platform supplies xclks via platform data. As we want to slightly change the clkdev interface, rather than fixing this unused code, remove it instead. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8cb0aa4c2db395b143cd5165586dc17677960002 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Apr 1 19:25:42 2015 +0900 perf probe: Check the orphaned -x option To avoid probing in unintended binary, the orphaned -x option must be checked and warned. Without this patch, following command sets up the probe in the kernel. ----- # perf probe -a strcpy -x ./perf Added new event: probe:strcpy (on strcpy) You can now use it in all perf tools, such as: perf record -e probe:strcpy -aR sleep 1 ----- But in this case, it seems that the user may want to probe in the perf binary. With this patch, perf-probe correctly handles the orphaned -x. ----- # perf probe -a strcpy -x ./perf Error: -x/-m must follow the probe definitions. ... ----- Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150401102541.17137.75477.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7afb3fab390871b1d20b1dbb94e03b8a3861cb0d Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Apr 1 19:25:39 2015 +0900 perf probe: Support multiple probes on different binaries Support multiple probes on different binaries with just one command. In the result, this example sets up the probes on icmp_rcv in kernel, on main and set_target in perf, and on pcspkr_event in pcspker.ko driver. ----- # perf probe -a icmp_rcv -x ./perf -a main -a set_target \ -m /lib/modules/4.0.0-rc5+/kernel/drivers/input/misc/pcspkr.ko \ -a pcspkr_event Added new event: probe:icmp_rcv (on icmp_rcv) You can now use it in all perf tools, such as: perf record -e probe:icmp_rcv -aR sleep 1 Added new event: probe_perf:main (on main in /home/mhiramat/ksrc/linux-3/tools/perf/perf) You can now use it in all perf tools, such as: perf record -e probe_perf:main -aR sleep 1 Added new event: probe_perf:set_target (on set_target in /home/mhiramat/ksrc/linux-3/tools/perf/perf) You can now use it in all perf tools, such as: perf record -e probe_perf:set_target -aR sleep 1 Added new event: probe:pcspkr_event (on pcspkr_event in pcspkr) You can now use it in all perf tools, such as: perf record -e probe:pcspkr_event -aR sleep 1 ----- Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150401102539.17137.46454.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5e78c69b72276853ac64070a010e6df64723dba9 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Fri Apr 10 17:35:00 2015 +0800 perf buildid-list: Fix segfault when show DSOs with hits commit: f3b623b8490a ("perf tools: Reference count struct thread") appends every thread->node to dead_threads in machine__remove_thread() and list_del_init() this node in thread__put(). perf_event__exit_del_thread() releases thread wihout using machine__remove_thread(), and causes a NULL pointer crash when list_del_init(&thread->node) is called. Fix this by using machine_remove_thread() instead of using thread__put() directly. This problem can be reproduced as following: $ perf record ls $ perf buildid-list --with-hits [ 3874.195070] perf[1018]: segfault at 0 ip 00000000004b0b15 sp 00007ffc35b44780 error 6 in perf[400000+166000] Segmentation fault After this patch: $ perf record ls $ perf buildid-list --with-hits bc23e7c3281e542650ba4324421d6acf78f4c23e /proc/kcore 643324cb0e969f30c56d660f167f84a150845511 [vdso] 0000000000000000000000000000000000000000 /bin/busybox ... Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428658500-6483-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1060ab857f64f33a9445881fd31fa91470aeb622 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Thu Apr 9 16:15:46 2015 -0400 perf tools: Fix cross-endian analysis Trying to analyze a big endian data file on little endian system fails with the error: 0xa9b40 [0x70]: failed to process type: 9 The problem is that header parsing is not done correctly because the file attributes are not swapped. Make it so. With this patch able to analyze a sparc64 data file on x86_64. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428610546-178789-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d998b732599b304c3865e8e5c7ba6250faba6589 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Apr 8 11:57:03 2015 -0300 perf tools: Fix error path to do closedir() when synthesizing threads When traversing /proc to synthesize the PERF_RECORD_FORK et al events we were bailing out on errors without calling closedir(), fix it. Reported-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> 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: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-vxtp593rfztgbi8noy0m967p@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9a1a8f9953f3f101ce769878fc7bbbc43a4fd2dc Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jan 29 14:36:00 2015 -0300 [media] coda: Add tracing support This patch adds tracepoints to the coda driver that can be used together with the v4l2:v4l2_qbuf and v4l2:v4l2_dqbuf tracepoints to to follow video frames through the mem2mem device. For encoding with the BIT processor: coda:coda_enc_pic_run coda:coda_enc_pic_done For decoding with the BIT processor: coda:coda_bit_queue coda:coda_dec_pic_run coda:coda_dec_pic_done coda:coda_dec_rot_done Additionally, two low level tracepoints register whenever the BIT processor is started and returns: coda:coda_bit_run coda:coda_bit_done 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 8191919bff678ae16050c60e1f86355d7731ac73 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Mar 25 13:45:09 2015 -0300 [media] coda: drop dma_sync_single_for_device in coda_bitstream_queue Issuing a cache flush for the whole bitstream buffer is not optimal in the first place when only a part of it was written. But given that the buffer is mapped in writecombine mode, it is not needed at all. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Ian Molton <imolton@xxxxxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 582d887211612c197fc8ea9435503f9b278ce76f Author: Philipp Zabel <philipp.zabel@xxxxxxxxx> Date: Tue Mar 24 14:30:57 2015 -0300 [media] coda: fix fill bitstream errors in nonstreaming case When queueing a buffer into the bitstream fails, it has to be requeued in the videobuf2 queue before streaming starts, but while streaming it should be returned to userspace with an error. Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7764a385f60bd200304a33124bdb4e684caeabdf Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Thu Apr 9 12:48:27 2015 -0400 perf tools: Fix synthesizing fork_event.ppid for non-main thread Commit ca6c41c59b9 sets the ppid based on what is read from the /proc/pid/status file when synthesizing fork events. This is correct thing to do for new processes but not threads of a process. Fix ppid for threads to be the main thread when synthesizing fork events (ie., assume main thread spawned all sub-threads in a process). Reported-by: Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428598107-178999-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5c76c2c3e2783886975ff536c50d9c446e0ecb6e Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:56 2015 -0300 [media] coda: call SEQ_END when the first queue is stopped This allows to stop and restart the output queue to start a new sequence while keeping the capture queue running. Before, sequence end would only be issued if both output and capture queue were stopped and the sequence start issued when reenabling the output queue would fail. 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 23b6ee5cd9d99d9d99d92ff923d6971a33dc7b03 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:55 2015 -0300 [media] coda: fail to start streaming if userspace set invalid formats 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 6ba53b81b6f8ad0fde3d7834ad7714abc12aacaa Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:54 2015 -0300 [media] coda: remove duplicate error messages for buffer allocations coda_alloc_aux_buf already prints an error, no need to print duplicate error messages all over the place. 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 650b939ecd3f0a1a9dc800155f7efadeb1794868 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:53 2015 -0300 [media] coda: move parameter buffer in together with context buffer allocation The parameter buffer is a per-context buffer, so we can allocate and free it together with the other context buffers during REQBUFS. Since this was the last context buffer allocated in coda-common.c, we can now move coda_alloc_context_buf 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 <mchehab@xxxxxxxxxxxxxxx> commit ad532d37b2958f6c7652429be36ddd46a65ab67a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:52 2015 -0300 [media] coda: allocate bitstream buffer from REQBUFS, size depends on the format Allocating the bitstream buffer only when the format is set allows to guarantee that at least two frames fit into the bitstream buffer. For small frame sizes a smaller bitstream buffer can be allocated. Since the bitstream buffer size now depends on the format, replace CODA_MAX_FRAME_SIZE with ctx->bitstream.size where appropriate and remove the now unused constant. Since REQBUFS can be called multiple times, but the format can't be changed unless REQBUFS 0 was called before, we can just keep the allocated context and bitstream buffers if REQBUFS is called multiple times with a non-zero buffer count. [fixed a resource leak preventing repeatedly decoding] Signed-off-by: Peter Seiderer <ps.report@xxxxxxx> 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 73751da61c00db9914ae1c47a25f7462722bc76b Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:51 2015 -0300 [media] coda: allocate per-context buffers from REQBUFS Allocate the per-context buffers from REQBUFS instead in start_encoding or start_decoding. This allows to stop and start streaming independently of buffer (re)allocation 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 bf249daf079492d60306ad1c5c78d53255ff15a3 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:50 2015 -0300 [media] coda: use strlcpy instead of snprintf There is no need to take the detour through a "%s" format string to create a copy of a string. 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 2b7684683d4b6e41717b9d1354d4080fdee970fc Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:49 2015 -0300 [media] coda: bitstream payload is unsigned kfifo_len is unsigned int, return it as such. 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 d446ec8e122c210a9260f103cbf8da5a56de9c82 Author: Peter Seiderer <ps.report@xxxxxxx> Date: Tue Mar 24 14:30:48 2015 -0300 [media] coda: fix double call to debugfs_remove In coda_free_aux_buf() call debugfs_remove only if buffer entry is valid (and therfore dentry is valid), double protect by invalidating dentry value. Fixes erroneous prematurely dealloc of debugfs caused by incorrect reference count incrementing. Signed-off-by: Peter Seiderer <ps.report@xxxxxxx> 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 a7f933a56908587e30539d649a9ae808d0601bc5 Author: Peter Seiderer <ps.report@xxxxxxx> Date: Tue Mar 24 14:30:47 2015 -0300 [media] coda: check kasprintf return value in coda_open kasprintf might fail if free memory is low. Signed-off-by: Peter Seiderer <ps.report@xxxxxxx> 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 92b042ecedea7aa3d47391be57411709dab52cd7 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Mar 18 08:15:36 2015 -0300 [media] coda: bitrate can only be set in kbps steps We divide the bitrate by 1000 before writing it to the register. Communicate to userspace that the bitrate granularity is kbps. 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 d5451c1d9257622105a1c5bee732c050b3e82cf0 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Mar 11 12:57:50 2015 -0300 [media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and v4l2_m2m_buf_remove The first time b is used, it is assigned to the first element of the rdy_queue list. There is no need to set it to NULL before. 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 e6c9dec3e7d68c477768e2955c7f8ed78a09bfd6 Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Mon Feb 23 09:26:19 2015 -0300 [media] s5p-mfc: set allow_zero_bytesused flag for vb2_queue_init The s5p-mfc driver interprets a buffer with bytesused equal to 0 as a special case indicating end-of-stream. After vb2: fix bytesused == 0 handling (8a75ffb) patch videobuf2 modified the value of bytesused if it was 0. The allow_zero_bytesused flag was added to videobuf2 to keep backward compatibility. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e4af23d33193c4da52fa84b835374e975085f8fd Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Mon Feb 23 09:26:18 2015 -0300 [media] coda: set allow_zero_bytesused flag for vb2_queue_init The coda driver interprets a buffer with bytesused equal to 0 as a special case indicating end-of-stream. After vb2: fix bytesused == 0 handling (8a75ffb) patch videobuf2 modified the value of bytesused if it was 0. The allow_zero_bytesused flag was added to videobuf2 to keep backward compatibility. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f61bf13b6a07a93b9348e77808d369803f40b681 Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Mon Feb 23 09:26:17 2015 -0300 [media] vb2: add allow_zero_bytesused flag to the vb2_queue struct The vb2: fix bytesused == 0 handling (8a75ffb) patch changed the behavior of __fill_vb2_buffer function, so that if bytesused is 0 it is set to the size of the buffer. However, bytesused set to 0 is used by older codec drivers as as indication used to mark the end of stream. To keep backward compatibility, this patch adds a flag passed to the vb2_queue_init function - allow_zero_bytesused. If the flag is set upon initialization of the queue, the videobuf2 keeps the value of bytesused intact in the OUTPUT queue and passes it to the driver. Reported-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 06e7a9b638467fddf8f62ca9f07adc7754319461 Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Mon Feb 23 09:26:16 2015 -0300 [media] vb2: split the io_flags member of vb2_queue into a bit field This patch splits the io_flags member of vb2_queue into a bit field. Instead of an enum with flags separate bit fields were introduced. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5dbc32a88f1e73f244e6134fc119dd4d60a398c0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Mar 29 14:54:13 2015 +0200 n_gsm: Drop unneeded cast on netdev_priv The result of netdev_priv is already implicitly cast to the type of the left side of the assignment. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; T *x; @@ x = - (T *) netdev_priv(...) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0e381158a95a63a283be4cde64795d37e32134b Author: Jakub Kicinski <kubakici@xxxxx> Date: Tue Mar 31 21:11:40 2015 +0200 sc16is7xx: expose RTS inversion in RS-485 mode Hardware is capable of inverting RTS signal when working in RS-485 mode. Expose this functionality to user space. Relay on a matching combination of standard flags (SER_RS485_RTS_ON_SEND and SER_RS485_RTS_AFTER_SEND) to detect when user space is requesting inverted RTS mode. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a8bc239a8c3e6ad34fceabb61ff8ec6222dad4e Author: Peter Hung <hpeter@xxxxxxxxx> Date: Wed Apr 1 14:00:21 2015 +0800 serial: 8250_pci: port failed after wakeup from S3 Serial ports of F81504/F81508/F81512 will failed when wakeup from S3(STR). It's due to when the system wakeup from S3(STR), this PCI device's configuration space from 0x40 to 0x40 + max_port * 0x08 should be re-configured. We move all initialization from pci_fintek_setup() to pci_fintek_init() and set it to pci_serial_quirks .init section. It's will re-init this device when system wakeup from pciserial_resume_ports(). Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca782f16ce02e3f4fa2ae28a5ff256ac69f731e2 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 10:52:39 2015 -0400 earlycon: 8250: Document kernel command line options Document the expected behavior of kernel command lines of the forms: console=uart[8250],io|mmio|mmio32,<addr>[,options] console=uart[8250],<addr>[,options] and earlycon=uart[8250],io|mmio|mmio32,<addr>[,options] earlycon=uart[8250],<addr>[,options] Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87515772c33ee8a0cc08d984a7d2401eeff074cd Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 10:48:49 2015 -0400 earlycon: 8250: Fix command line regression Restore undocumented behavior of kernel command line parameters of the forms: console=uart[8250],io|mmio|mmio32,<addr>[,options] console=uart[8250],<addr>[,options] where 'options' have not been specified; in this case, the hardware is assumed to be initialized. Fixes: c7cef0a84912cab3c9df8 ("console: Add extensible console matching") Reported-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99492c39f39fc2d8c4ae36ecfb88d7de5d8106b5 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 08:57:51 2015 -0400 earlycon: Fix __earlycon_table stride The compiler and the linker must agree on the alignment of struct earlycon_id; empirical testing and commit 07fca0e57fca92 ("tracing: Properly align linker defined symbols") suggests 32-byte alignment is the LCD. Reported-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00fe52deb45b1a5ef42b0aa82e632e2df012eddc Author: Chase Metzger <chasemetzger15@xxxxxxxxx> Date: Thu Apr 9 21:41:52 2015 -0700 drivers/usb/core: devio.c: Removed an uneeded space before tab Ran checkpatch.pl on file and removed a warning about an unwanted space before a tab. Signed-off-by: Chase Metzger <chasemetzger15@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42a6630a875c17b8ad129d2cc0472217107147ad Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Fri Apr 3 10:53:25 2015 +0200 usb: dwc2: host: sleep USB_RESUME_TIMEOUT during resume msleep(USB_RESUME_TIMEOUT) must be done when the controller drives the resume. This is true after HPRT0_RES is written. Moreover, restore the delay after controller power is up. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9cd825d066c911cd6076a539986bcf22f1cbcd7 Merge: 2aebe3f 0c4d6af Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 13:51:20 2015 +0200 Merge tag 'usb-ci-v4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-next Peter writes: Two Chipidea updates - Forbid dumpping registers when the controller in low power mode - dp pullup needs to be controlled by fsm when working at otg fsm mode commit 2aebe3f3b20724e09ec76b196e16404d1ea573d9 Merge: c8d1bc1 e95cf39 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 13:47:50 2015 +0200 Merge tag 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next Kishon writes: New Features ============ *) Add driver for USB PHYs on sun9i *) Add driver for USB PHY on dm816x *) Modified exynos5-usbdrd driver to add support for Exynos5433 SoC Fixes ===== *) Fix power_on/power_off failure paths in some drivers *) Make miphy365x use generic PHY type constants *) Fix build errors due to missing export symbols in qcom-ufs driver *) Make all the functions return proper error values Cleanups ======== *) use PTR_ERR_OR_ZERO to simplify code *) use devm_kcalloc instead of devm_kzalloc with multiply *) remove un-necessary ifdef CONFIG_OF commit c8d1bc12c7986c166bd3504213d9df2bc11ad7d6 Merge: b7a4abb bbc78c0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 13:45:27 2015 +0200 Merge tag 'usb-for-v4.1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-testing Felipe writes: usb: generic resume timeout for v4.1 This part 2 pull request contains only the patches which make sure everybody on linux uses the same resume timeout value. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit af8fcb9c58f1b2f02ddc04ba64710aaa52da00db Author: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Date: Thu Apr 9 13:42:06 2015 -0700 drm/i915/chv: Remove DPIO force latency causing interpair skew issue Latest version of the "CHV DPIO programming notes" no longer requires writes to TX DW 11 to fix a +2UI interpair skew issue. The current code from April 2014 was actually causing additional skew issues between all TMDS pairs. ver2: added same treatment to intel_dp.c based on Ville's testing. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 88f933a8b03474ebcd16935d3620e5c10b557f6f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Apr 9 16:44:16 2015 +0200 drm/i915: Don't cancel DRRS worker synchronously for flush/invalidate It's not needed since the worker rechecks that it didn't race. We only need to cancel synchronously after disabling drrs to make sure the worker really is gone (e.g. for driver unload). But for normal operation the stall is just wasted time. Reported-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Ramalingam C <ramalingam.c@xxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Vandana Kannan <vandana.kannan@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9da7d69357389ea63893434fe3b17b9fbc2c2d2d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Apr 9 16:44:15 2015 +0200 drm/i915: Fix locking in DRRS flush/invalidate hooks We must acquire the mutex before we can check drrs.dp, otherwise someone might sneak in with a modeset, clear the pointer after we've checked it and then the code will Oops. This issue has been introduced in commit a93fad0f7fb8a3ff12e8814b630648f6d187954c Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Sat Jan 10 02:25:59 2015 +0530 drm/i915: DRRS calls based on frontbuffer v2: Don't blow up on uninitialized mutex and work item by checking whether DRRS is support or not first. Also unconditionally initialize the mutex/work item to avoid future trouble. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Ramalingam C <ramalingam.c@xxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Vandana Kannan <vandana.kannan@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx (4.0+ only) Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Tested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 91bf0c2dcb935a87e5c0795f5047456b965fd143 Author: Michael Gernoth <michael@xxxxxxxxxxx> Date: Thu Apr 9 23:42:15 2015 +0200 ALSA: emu10k1: don't deadlock in proc-functions The functions snd_emu10k1_proc_spdif_read and snd_emu1010_fpga_read acquire the emu_lock before accessing the FPGA. The function used to access the FPGA (snd_emu1010_fpga_read) also tries to take the emu_lock which causes a deadlock. Remove the outer locking in the proc-functions (guarding only the already safe fpga read) to prevent this deadlock. [removed superfluous flags variables too -- tiwai] Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 69f0fb2a592fc9ebc5e3e55178055d1cff31d479 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:29 2015 +0100 mmc: sdhci-st: Update ST SDHCI binding documentation. This patch updates the binding information to reflect the extra dt options which are now supported by the sdhci-st.c driver which enable support for stih407 family silicon. STiH410 SoC and later support UHS modes for eMMC, so the driver now makes use of these common bindings. Examples are provided for both eMMC (which has additional bindings) and also sd slot for STiH407. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4e187d3154e6a47dfb8561aa0003d93243ec7e4a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:28 2015 +0100 mmc: sdhci-st: Update the quirks for this controller. Some additional quirks need to be enabled now we support UHS modes. This avoids some spurious warnings like "Got data interrupt 0x00000002 even though no data operation was in progress" Testing on stih410-b2120 board achieves the following speeds with HS200 eMMC card. max-frequency = 200Mhz /dev/mmcblk0p1: Timing buffered disk reads: 270 MB in 3.02 seconds = 89.54 MB/sec max-frequency = 100Mhz root@debian-armhf:~# hdparm -t /dev/mmcblk0p1 /dev/mmcblk0p1: Timing buffered disk reads: 210 MB in 3.00 seconds = 70.00 MB/sec max-frequency = 50Mhz root@debian-armhf:~# hdparm -t /dev/mmcblk0p1 /dev/mmcblk0p1: Timing buffered disk reads: 118 MB in 3.00 seconds = 39.28 MB/sec This is better than the 3.10 kernel which achieves 77.59 MB/sec at 200Mhz clock (same board/soc/eMMC). Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit cf48d32efb4b9e70ca1e17f2c38f77756e9aae58 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:27 2015 +0100 mmc: sdhci-st: Add sdhci_st_set_uhs_signaling function. To allow UHS modes to work properly we need to provide the st specific set_uhs_signaling callback function. This function differs from the generic sdhci_set_uhs_signaling callback in that we need to configure the correct delay depending on the UHS mode, and also set the V18_EN bit. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2053812f6e1af0b8c3d18d4d6d9f356b0c0d0039 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:26 2015 +0100 mmc: sdhci-st: Add st_mmcss_cconfig function to configure mmcss glue registers. STiH407 family SoC's have glue registers in the flashSS subsystem which are used to configure the Arasan HC. This patch configures these glue registers according to what has been specified in the DT. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bfa448041fb51311e32f0fd6342619b8c5672175 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:25 2015 +0100 mmc: sdhci-st: Add delay management functions for top registers (eMMC). Due to the tight timing constraints in some UHS modes, it is required to have some delay management in the design. Two types of delay management are supported in the HW: - 1) Static delay management 2) Dynamic delay management NB: The delay management is only there when eMMC interface is selected. 1: Static delay management: is used to provide PVT dependent static delay on the clock/data lines to manage setup/hold requirements of the interface. The maximum delay possible is 3.25ns. These delays are PVT dependent, and thus delay values applied are not accurate and vary across provcess voltage and temperature range. Due to this these delays must not be used on the very time critical paths. 2. Dynamic delay locked loop (DLL): is used to provide dynamic delay management. The advantage of DLL is that it provides accurate & PVT indepedent delay. The DLL is used to provide delay on the loopback clock on "Read Path" to capture read data reliably. On TX path the clock on which output data is transmitted is delayed, resulting in delay of TX data. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 406c24310a7bd7ce152662647fcb76c4a67971a5 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:24 2015 +0100 mmc: sdhci-st: Add support for de-asserting reset signal and top regs resource STiH407 family SoC's can have a reset signal for the controller which needs to be managed. Also the eMMC controller has some additional 'top' memory mapped registers which are used to manage the dynamic and static delay required for UHS modes. This patch adds support for creating the mapping, which will be used by subsequent patches. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8bef7178a630dc41ca5868e6bb54ffee91e1c83a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:23 2015 +0100 mmc: sdhci-st: Add macros for register offsets and bitfields for mmcss glue regs The stih407 family SoC's have additional glue registers in the flashSS which are used to configure the Arasan controller. This patch adds macros for the register offsets and bitfields which will be used by subsequent patches to support stih407 family SoC's. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 299e7e97cc33d2d8894250ae2a3101bfb5670141 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Apr 9 14:56:41 2015 -0300 ASoC: fsl_ssi: Use devm_snd_soc_register_component() Using devm_snd_soc_register_component() can make the code shorter and cleaner. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c01673e0b7236140eb5bbe1c7b30aa262f142d7e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Apr 10 08:46:22 2015 +0000 ASoC: ak4642: fixup channels_min ak4642 doesn't have Mono record, ak4643 have it, but not supported. This patch fixes channel mismatch Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a7f4ee1fe93aa9ae191971be9324edb8f9fbcb4a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Sat Apr 4 19:28:50 2015 +1100 powerpc: Drop return value of smp_ops->probe() smp_ops->probe() is currently supposed to return the number of cpus in the system. The last actual usage of the value was removed in May 2007 in e147ec8f1808 "[POWERPC] Simplify smp_space_timers". We still passed the value around until June 2010 when even that was finally removed in c1aa687d499a "powerpc: Clean up obsolete code relating to decrementer and timebase". So drop that requirement, probe() now returns void, and update all implementations. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7261b956b276aa97fbf60d00f1d7717d2ea6ee78 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Apr 3 14:11:54 2015 +1100 powerpc/cell: Fix cell iommu after it_page_shift changes The patch to add it_page_shift incorrectly changed the increment of uaddr to use it_page_shift, rather then (1 << it_page_shift). This broke booting on at least some Cell blades, as the iommu was basically non-functional. Fixes: 3a553170d35d ("powerpc/iommu: Add it_page_shift field to determine iommu page size") Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b0dd00addc5035f87ec9c5820dacc1ebc7fcb3e6 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Apr 3 14:11:53 2015 +1100 powerpc/cell: Fix crash in iic_setup_cpu() after per_cpu changes The conversion from __get_cpu_var() to this_cpu_ptr() in iic_setup_cpu() is wrong. It causes an oops at boot. We need the per-cpu address of struct cpu_iic, not cpu_iic.regs->prio. Sparse noticed this, because we pass a non-iomem pointer to out_be64(), but we obviously don't check the sparse results often enough. Fixes: 69111bac42f5 ("powerpc: Replace __get_cpu_var uses") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7e862d7e7d118e3becc5b495af10ca076f087180 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Mar 30 17:38:09 2015 +1100 powerpc: Reword the "returning from prom_init" message We get way too many bug reports that say "the kernel is hung in prom_init", which stems from the fact that the last piece of output people see is "returning from prom_init". The kernel is almost never hung in prom_init(), it's just that it's crashed somewhere after prom_init() but prior to the console coming up. The existing message should give a clue to that, ie. "returning from" indicates that prom_init() has finished, but it doesn't seem to work. Let's try something different. This prints: Quiescing Open Firmware ... Booting Linux via __start() ... Which hopefully makes it clear that prom_init() is not the problem, and although __start() probably isn't either, it's at least the right place to begin looking. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Wistfully-Acked-by: Jeremy Kerr <jk@xxxxxxxxxx> commit f691fa1080c37c48da0cdfeae082c3bef5df2643 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Mar 30 14:10:37 2015 +1100 powerpc: Replace mem_init_done with slab_is_available() We have a powerpc specific global called mem_init_done which is "set on boot once kmalloc can be called". But that's not *quite* true. We set it at the bottom of mem_init(), and rely on the fact that mm_init() calls kmem_cache_init() immediately after that, and nothing is running in parallel. So replace it with the generic and 100% correct slab_is_available(). Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4f9c53c8cc76ed84e3bb0cca8c4ffa2b170d0239 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 25 20:11:57 2015 +1100 powerpc: Fix compile errors with STRICT_MM_TYPECHECKS enabled Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> [mpe: Fix the 32-bit code also] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit be770021011f00bd6220c87876292053221ca5f1 Merge: e5e02de f321c9cb Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 12:01:59 2015 +0200 Merge back earlier suspend/hibernate material for v4.1. commit cdde51b9fe83a20fd6c50e81473e6ffb5ba63b92 Merge: e5e02de 993c592 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 12:01:24 2015 +0200 Merge back earlier cpuidle material for v4.1. commit 38fc7839bae2db7a1321d9f6bfc7b5b3ccb59d2a Merge: e5e02de 5acb972 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 12:00:36 2015 +0200 Merge back earlier cpufreq material for v4.1. commit 6c5c2a01fcfdb70f2e95e30e96ccf53b88e81023 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Apr 4 23:22:07 2015 +0100 ARM: proc-arm94*.S: fix setup function Both ARM946 and ARM940 setup functions were corrupting r1 and r2, which is not permissible - these are used to carry the machine ID and boot data into the kernel, and must be preserved. The code responsible for this was the same in both files: they were using the registers to generate a protection region register value. Fix this by turning this process into a macro, and using that macro in both these files with an alternative register allocation. r0, r3 and r7 can be used for temporary values here. Reported-by: Alex Dumitrache <broscutamaker@xxxxxxxxx> Tested-by: Georg Hofstetter <g3gg0.de@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 03daa6f82f2b634019fe8261698f6af3c133497f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Apr 10 11:35:45 2015 +0200 Revert "gpio: sch: use uapi/linux/pci_ids.h directly" This reverts commit d1e10dc8c104d533547f6e499550fafc36809943. This commit should not go through this tree. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1912c7afa39d2683a574011ff455fe49ada8016c Author: Mike Travis <travis@xxxxxxx> Date: Thu Apr 9 13:26:31 2015 -0500 x86/apic/uv: Update the UV APIC HUB check Update the check for UV2000/3000. Note when the HUB is not recognized. Signed-off-by: Mike Travis <travis@xxxxxxx> Acked-by: Hedi Berriche <hedi@xxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Link: http://lkml.kernel.org/r/20150409182629.267239403@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 379b97e280971ef7673db5166c7e0f7ab49b81de Author: Mike Travis <travis@xxxxxxx> Date: Thu Apr 9 13:26:30 2015 -0500 x86/apic/uv: Update the UV APIC driver check Fix a bug in the OEM check function that determines if the system is a UV system and the BIOS is compatible with the kernel's UV apic driver. This prevents some possibly obscure panics and guards the system against being started on SGI hardware that does not have the required kernel support. Signed-off-by: Mike Travis <travis@xxxxxxx> Acked-by: Hedi Berriche <hedi@xxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Link: http://lkml.kernel.org/r/20150409182629.112998930@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7a4e017041136de05527722b97e0c1f8702a5cbe Author: Mike Travis <travis@xxxxxxx> Date: Thu Apr 9 13:26:29 2015 -0500 x86/apic/uv: Update the APIC UV OEM check Optimize the first "SGI" OEM check to return faster if the system is not an SGI or UV system. Signed-off-by: Mike Travis <travis@xxxxxxx> Acked-by: Hedi Berriche <hedi@xxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Link: http://lkml.kernel.org/r/20150409182628.952357922@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f4d3129c2b580ad2b82aa3211a6216bbf7ad007c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Apr 10 09:53:04 2015 +0200 ALSA: hda/realtek - Fix a typo A comma was used instead of a semicolon, which may lead to a build error. Fixes: cffd39668177 ('ALSA: hda/realtek - Fix the regression by widget power-saving') Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 39d118677baa531cd9ee4c025a34f243746a3d18 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Apr 10 08:43:00 2015 +0900 ALSA: ctl: evaluate macro instead of numerical value SNDRV_CTL_TLV_OP_XXX is defined but not used in core code. Instead, raw numerical value is evaluated. This commit replaces these values to these macros for better looking. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 834a316eeebcb75316c0a7d9088fa638c52dc584 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Apr 7 22:49:54 2015 -0700 xtensa: Fix fix linker script transformation for .text / .text.fixup Commit 779c88c94c34 ("ARM: 8321/1: asm-generic: introduce .text.fixup input section") introduced a new .text.fixup section which is merged with .text at link time. This causes xtensa builds to fail with lots of error messages similar to the following. lib/lib.a(kobject.o): In function `kobject_create': (.text+0x498): dangerous relocation: l32r: literal placed after use: (.literal+0x150) Linker script transformation needs to be updated to detect and handle the new section. Fixes: 779c88c94c34 ("ARM: 8321/1: asm-generic: introduce .text.fixup input section") Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Chris Zankel <chris@xxxxxxxxxx> commit 020f1d9d9ae3f476d887f2b043223d8a89652174 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Apr 9 22:03:24 2015 -0700 ixgbe: Drop unnecessary call to rcu_barrier The ixgbe driver hasn't used call_rcu to free the rings for some time now. Since that is the case the call to rcu_barrier can be dropped since calls to kfree_rcu don't require it. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 87031c0df521d80af3b168bb2425a8faa999b629 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Apr 9 22:03:24 2015 -0700 ixgbe: Remove NETIF_F_HW_VLAN_CTAG_FILTER from hw_features This change makes it so that the HW_VLAN_CTAG_FILTER bit is not falsely advertised as being a feature that can be toggled on ixgbe parts. The driver was setting the bit in features and letting it be inherited by hw_features, however the driver was actually ignoring the value of the bit and just assuming it was always set. As a result VLAN filtering was always enabled which is a requirement for SR-IOV, VMDq, DCB, FCoE, and possibly other features within the adapters. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ea412015a2e72faf066e90765bdd1dc4e4ecea41 Author: Vasu Dev <vasu.dev@xxxxxxxxx> Date: Thu Apr 9 22:03:23 2015 -0700 ixgbe: adds x550 specific FCoE offloads Adds x550 specific FCoE offloads for DDP context programming and increased DDP exchanges. Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6d4c96ad4afd7265d2d214e02d28e66cfdaf9bb4 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Thu Apr 9 22:03:23 2015 -0700 ixgbe: add support for X550 source_address_prunning This patch will enable X550 Source Address Prunning for VEPA bridge mode. This requires that we also have replication enabled as well, while in this mode. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 219efe97bb8a6989dfc93ae6bf97cd72e5b72de3 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Thu Apr 9 22:03:22 2015 -0700 ixgbe: add new bridge mode support function. This patch gathers together all the logic needed to configure bridge modes. Currently that it is rather simple but this is really laying the ground work for future X550 feature enhancement. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 47d68979cc968535cb87f3e5f2e6a3533ea48fbd Author: NeilBrown <neilb@xxxxxxx> Date: Fri Apr 10 13:19:04 2015 +1000 md/raid0: fix bug with chunksize not a power of 2. Since commit 20d0189b1012a37d2533a87fb451f7852f2418d1 in v3.14-rc1 RAID0 has performed incorrect calculations when the chunksize is not a power of 2. This happens because "sector_div()" modifies its first argument, but this wasn't taken into account in the patch. So restore that first arg before re-using the variable. Reported-by: Joe Landman <joe.landman@xxxxxxxxx> Reported-by: Dave Chinner <david@xxxxxxxxxxxxx> Fixes: 20d0189b1012a37d2533a87fb451f7852f2418d1 Cc: stable@xxxxxxxxxxxxxxx (3.14 and later). Signed-off-by: NeilBrown <neilb@xxxxxxx> commit aa2bacb60963870919ec5bc59ac69f0c31572d26 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Thu Apr 9 22:03:22 2015 -0700 ixgbe: Move bridge mode from flag to variable We are currently storing our BRIDGE_MODE as a bit in our adapter flags. This patch will store the actual mode instead which minimizes obfuscation and makes following patches for X550 simpler. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 322d3ed1679047e4ed0c9997d84acf3cdd4f1d29 Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 22:03:21 2015 -0700 ixgb: remove references to ifconfig Move documentation into this century, even if this device hasn't been available for some time. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d7018be0ae2aee988331d2908234d1a1ee3196ac Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 22:03:21 2015 -0700 ixgbe: fix documentation The MTU values in the documentation do not match the source. The source has frame limit of IXGBE_MAX_JUMBO_FRAME_SIZE (9728) which is MTU of 9710 because of the accounting for Ethernet header and CRC. Also, don't refer to the obsolete ifconfig command. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c0a34ebd43959ca83df86ba2ffc63ab0ddb2ea75 Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 21:02:02 2015 -0700 igb: doc don't refer to ifconfig ifconfig command is obsolete, best to remove all references so that new users learn ip. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4a89c3088ff61aa24754e9cd6dc665cc719f7efe Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Fri Apr 10 11:10:08 2015 +0800 nios2: fix cache coherency issue when debug with gdb Remove the end address checking for flushda function. We need to flush each address line for flushda instruction, from start to end address. This is because flushda instruction only flush the cache if tag and line fields are matched. Change to use ldwio instruction (bypass cache) to load the instruction that causing trap. Our interest is the actual instruction that executed by the processor, this should be uncached. Note, EA address might be an userspace cached address. Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit eef77801b56b098cd7e1daf8a03854dd203a051c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:57 2015 +0100 aha1542: remove loop from aha1542_outb The loop in aha1542_outb with double-check is no longer needed, remove it. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 7061dec40c07265f819ae0a6842846f74f889aa9 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:56 2015 +0100 aha1542: Fix bus reset Bus reset always fails because aha1542_reset waits for the controller to assert the INIT bit (Mailbox Initialization Required) which it never does. This bit is asserted only after host reset. Remove the requirement for INIT bit (we really need only the IDLE bit). Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1b0224b0ec6003c06cc369188510642a5fb3b864 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:55 2015 +0100 aha1542: rework locking Remove aha1542_lock and use host_lock instead. Remove interrupt and queuecommand function wrappers. Remove locking from lowlevel _out and _in functions, they now can onle be called (at runtime) with host_lock being held. Remove ssleep(4) in aha1542_reset as we can't sleep while holding a spinlock. It's useless anyway as wait_mask will wait until the controller is idle and kernel waits for 10 seconds (HOST_RESET_SETTLE_TIME) after that. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 764a0c7e840085828afbc16fb9b47be5712f5531 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:54 2015 +0100 aha1542: Don't reduce functionality with DEBUG enabled Enabling DEBUG disables write commands and devices with ID > 1. Remove this "feature" to allow real debugging. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6ddc8cf40a2011af0c1a5dd300cc75d727c3c3a8 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:53 2015 +0100 aha1542: Use print_hex_dump_bytes in debug code Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fde1fb8a4a74607c82a47389be9ee3a134c854cb Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:52 2015 +0100 aha1542: remove DEB macro and simplify debug code Remove DEB macro and join ifdef DEBUG blocks Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2906b3ceb1bfc4a1abd59dd7a5f09268b8d585a6 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:51 2015 +0100 aha1542: Use shost_printk instead of printk Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 37d607bd7944ce8d9d7b3baecc4f0ca725240fb8 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:50 2015 +0100 aha1542: Change aha1542_set_bus_times parameters Pass struct Scsi_Host *sh and dma parameters instead of index to aha1542_set_bus_times. This is required for printk conversion. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 68ea9de3a6256195ab4d92fa7d0edf6ed657a500 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:49 2015 +0100 aha1542: Pass struct Scsi_Host * to functions Pass struct Scsi_Host * to functions instead of base address. This reduces the number of parameters and is also required for printk conversion. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 954a9fd79b165c14e136e8f90e822ba3d186f6b1 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:48 2015 +0100 aha1542: cleanup includes Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1d084d200d2a57219ec2c912c700ddff09f0676c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:47 2015 +0100 aha1542: remove useless changelog Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e51dacbf4eadcae006aeac5dcf87f29a37b770e9 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:46 2015 +0100 aha1542: fix include guard and remove useless changelog Fix include guard in header file and remove useless changelog Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c2532f68266d3b10fe71e0b3e63f4c29d73e6ee5 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:45 2015 +0100 aha1542: Always name Scsi_Host variables sh Make Scsi_Host variable names consistent - use sh everywhere. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 55b28f9fc033f9af090a58ea97063ca51552a2a6 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:44 2015 +0100 aha1524: Use struct scsi_cmnd Use struct scsi_cmnd instead of Scsi_Cmnd and also rename the variables to get rid of SC prefix Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cad2fc72cfc092ed3448a0235f59fe003f4f85c3 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:43 2015 +0100 aha1542: clean up cmd variables Make sure that there's no variable named cmd Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 17787a09fdfcb07ccc361758737af0dfa1ea4214 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:42 2015 +0100 aha1542: Simplify aha1542_biosparam Simplify aha1542_biosparam, use sector_div, remove unused BIOS_TRANSLATION_1632. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f71429ab535d90806a35bc346adcdebfc8996008 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:41 2015 +0100 aha1542: rework configuration parameters Remove __setup and introduce separate io, bus_on, bus_off and dma_speed module parameters. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3a70c006edbe6071bd78e1e0c8004791cd4b531c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:40 2015 +0100 aha1542: rework hw_init Cleanup hw_init, use goto for error handling. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 23e6940a9ecfc6477fb1216cad062e2fa12ea98f Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:39 2015 +0100 aha1542: Call wait_mask from aha1542_out aha1542_out call is always followed by wait_mask. Move the call into aha1542_out to simplify code. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b847fd0d85060fa213a14fa78b46e0ca5b09c5df Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:38 2015 +0100 aha1542: split out code from aha1542_hw_init Split out bus times related block of aha1542_hw_init into separate function aha1542_set_bus_times. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8537cba8b6e14ff86f088dd71592090606c97050 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:37 2015 +0100 aha1542: Merge aha1542_host_reset and aha1542_bus_reset aha1542_host_reset and aha1542_bus_reset are almost same, merge them into aha1542_reset Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit dfd7c991f31261fb4fb14adf0479206b178d270d Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:36 2015 +0100 aha1542: Remove aha1542_restart aha1542_restart does nothing (except useless printk), remove it Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit bdebe2241eb49bf2308571b6158fa5635b9e708e Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:35 2015 +0100 aha1542: remove useless code from aha1542_test_port Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a13b3722a352dffa838994eb713573e2e189d928 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:34 2015 +0100 aha1542: Remove unneeded gotos Remove gotos that are no longer needed. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0c2b64819105986c12d7412a1cb5b91e3d80c15c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:33 2015 +0100 aha1542: Split aha1542_out aha1542_out are in fact two separate functions. Split them into aha1542_out and aha1542_outb to simplify the code. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f8846be334443b432f5daf22099e9f4bdd02ba9f Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:32 2015 +0100 aha1542: Unify aha1542_in and aha1542_in1 Unify aha1542_in and aha1542_in1 functions, they differ only in timeout and printk. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2093bfa1364472759d4711d034c634594d35188a Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:31 2015 +0100 aha1542: Remove WAIT and WAITd macros Convert the ugly WAIT and WAITd macros into wait_mask function. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6d9ffe6a01be435dae0984d94f92e2e85e3e5195 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:30 2015 +0100 aha1542: Use BIT() macro Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f232d538017ec0da1df66cf22dc5a5842077b0e6 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:29 2015 +0100 aha1542: remove empty aha1542_stat Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 09a44833887dfc856facff0a9b21f3def0367f0c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:28 2015 +0100 aha1542: Reorder functions to remove forward declarations Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cb5b570ce3cc7e91f47339e60efba75a4bbc347c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:27 2015 +0100 aha1542: Use u8 instead of unchar Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f1bbef63442f36f5a0fc91f73da104aa8a39a873 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:26 2015 +0100 aha1542: Convert aha1542_intr_reset to function Convert aha1542_intr_reset macro to inline function Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e98878f737293d8c43e5e5982f3cd4317c423ba5 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:25 2015 +0100 aha1542: Remove HOSTDATA macro Remove HOSTDATA macro and use shost_priv instead Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 10be62506f5dd8013bf76f168c89ed4f7608c4d4 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:24 2015 +0100 aha1542: Remove SCSI_BUF_PA, SCSI_SG_PA, AHA1542_SCATTER and AHA1542_CMDLUN Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6f82fbf3868712576f137ebdf0b9a72aa99b5935 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:23 2015 +0100 aha1542: remove dead code Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 643a7c43f11ee776701e06410d7b3f9a41e5d284 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:22 2015 +0100 aha1542: Stop using scsi_module.c Convert aha1542 to use scsi_add_host instead of scsi_module.c Use pnp_driver and isa_driver to manage cards. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e5e02de0665ef2477e7a018193051387c6fe0fbc Merge: 3cfb2f7 b2d5fb9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 17:44:27 2015 -0700 Merge tag 'pm+acpi-4.0-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI fixes from Rafael Wysocki: "These are stable-candidate fixes of some recently reported issues in the cpufreq core, cpuidle core, the ACPI cpuidle driver and the hibernate core. Specifics: - Revert a 3.17 hibernate commit that was supposed to fix an issue related to e820 reserved regions, but broke resume from hibernation on Lenovo x230 (Rafael J Wysocki). - Prevent the ACPI cpuidle driver from overwriting the name and description of the C0 state set by the core when the list of C-states changes (Thomas Schlichter). - Remove the no longer needed state_count field from struct cpuidle_device which prevents the list of C-states shown by the sysfs interface from becoming incorrect when the current number of them is different from the number of C-states on boot (Bartlomiej Zolnierkiewicz). - The cpufreq core updates the policy object of the only online CPU during system resume to make it reflect the current hardware state, but it always assumes that CPU to be CPU0 which need not be the case, so fix the code to avoid that assumption (Viresh Kumar)" * tag 'pm+acpi-4.0-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions" cpuidle: ACPI: do not overwrite name and description of C0 cpuidle: remove state_count field from struct cpuidle_device cpufreq: Schedule work for the first-online CPU on resume commit f20dffc7c67b1c88aedd600031229cc97a4ddb97 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:32 2015 -0400 aacraid: driver version change Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit dab04b0151975103ed6c56a0c03e66dd85f6c158 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:31 2015 -0400 aacraid: AIF raw device remove support Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ef6162333a6910007c0ae2237e750ffd5bf25811 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:30 2015 -0400 aacraid: performance improvement changes Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f9c4259678cbde854a4e94398d66ef379178fd7c Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:29 2015 -0400 aacraid: IOCTL fix After getting the platform shutdown command "VM_CloseAll" response from the firmware, driver was getting configuration IOCTL request from the upper layers and it sends down to firmware. This causes firmware assert issue. This patch fixes the firmware assert issue. During the shutdown, if driver gets commands from the upper layer, driver sends error code to the upper layers. Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit dafde947bce37b10f3681d6b9df473ba7136fc05 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:28 2015 -0400 aacraid: IOP RESET command handling changes This patch fixes the IOP_RESET issue. Sending IOP_RESET command need to wait for only 10 sec instead of 5 minutes in case of firmware does not response IOP_RESET command. Disable interrupt before setup interrupt routine to prevent spurious interrupts. Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a7129a5443cd01b0a3544785974e09032f19b464 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:27 2015 -0400 aacraid: 240 simple volume support Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5d9106490c7f7533abc6b8e15ceab64f2c7f466a Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:26 2015 -0400 aacraid: vpd page code 0x83 support Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 495c021767bd78c998a46cf8cdd7a4ebf3a9cfd1 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:25 2015 -0400 aacraid: MSI-x support Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b836439faf04b16c80ffd9a0699a2354ebde13e1 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:24 2015 -0400 aacraid: 4KB sector support Also fix up a name truncation problem Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2f5d1f7998b67d49263ee9d9a49669e1b8d0e302 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:23 2015 -0400 aacraid: IOCTL pass-through command fix The Linux aacriad driver fails to detect the case of SG list count=0 on IOCTL pass-through command and cause intermittent fault. The result is the Linux aacriad driver send down IOCTL pass-through command with one not initialized SG list to firmware when receiving SG list count =0 on pass-through command. Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 46154a0224cfb82a14405e7d7ce486b6e6af63e0 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:22 2015 -0400 aacraid: AIF support for SES device add/remove Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c3d0dac6935e388547d7b7721e80b9c996eb90a1 Merge: b52e692 23310f6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 18:31:50 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-04-09 We've had enough new patches during the past week (especially from Marcel) that it'd be good to still get these queued for 4.1. The majority of the changes are from Marcel with lots of cleanup & refactoring patches for the HCI UART driver. Marcel also split out some Broadcom & Intel vendor specific functionality into two new btintel & btbcm modules. In addition to the HCI driver changes there's the completion of our local OOB data interface for pairing, added support for requesting remote LE features when connecting, as well as a couple of minor fixes for mac802154. Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b52e69217b5a02469f8431934f59c0d7103dd32f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 9 14:36:42 2015 -0700 tcp: md5: fix a typo in tcp_v4_md5_lookup() Lookup key for tcp_md5_do_lookup() has to be taken from addr_sk, not sk (which can be the listener) Fixes: fd3a154a00fb ("tcp: md5: get rid of tcp_v[46]_reqsk_md5_lookup()") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55db3208f238ee776f1f747734051723d8a3c13e Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Thu Apr 2 14:10:19 2015 -0700 PCI: Read capability list as dwords, not bytes Reading both the capability ID and "next" pointer at the same time lets us parse the list with half the number of config reads. Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 2963e3f7e8e3465895897a175560210120b932ac Author: Jens Axboe <axboe@xxxxxx> Date: Thu Apr 9 15:54:05 2015 -0600 blk-mq: cleanup blk_mq_rq_to_pdu() Casting to void and adding the size of the request is "shit code" and only a "crazy monkey on crack" would write that. So lets clean it up. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2e9095234daa5ac3aa5f53f66b00c92d32271343 Merge: 1e53d5b a8373f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 17:35:37 2015 -0400 Merge branch 'xgbe-next' Tom Lendacky says: ==================== amd-xgbe: AMD XGBE driver updates 2015-04-09 The following series of patches includes functional updates and changes to the driver. - Allow ethtool rx-frames coalescing to be changed while the device is up - Consolidate initialization routine into the init function - Add support for the TX watchdog timeout This patch series is based on net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8373f1a60d0716e25f5c4cd4d6e3909bfdb41bd Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Thu Apr 9 12:12:03 2015 -0500 amd-xgbe: Add support for the netdev Tx watchdog Add support to be able to detect a hung Tx task by adding the netdev ndo_tx_timeout function callback. Do not set the watchdog_timeo value so as to use the system default time (currently 5 seconds). Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b876382bac0fe2ed1129247c47029799bb4d763a Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Thu Apr 9 12:11:57 2015 -0500 amd-xgbe: Move Rx mode configuration into init Currently a call to configure the Rx mode (promiscuous mode, all multicast mode, etc.) is made in xgbe_start separate from the xgbe_init function. This call to set the Rx mode should be part of the xgbe_init function so that calls to the init function don't have to be preceded with calls to configure the Rx mode. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8dee19e619bb6d4aefdf0ce5260099fec08601a3 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Thu Apr 9 12:11:51 2015 -0500 amd-xgbe: Allow rx-frames coalescing to be changed anytime Currently the device must be down in order to update the rx-frames coalescing setting because the interrupt indicator is set in the descriptor data during initialization. Allow this setting to be changed while the device is up by moving the interrupt decision into the descriptor reset function and base the decision off of the supplied descriptor index value. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e53d5bb8878dcbdbffde334ab89b1f57778b48c Author: Hubert Sokolowski <hubert.sokolowski@xxxxxxxxx> Date: Thu Apr 9 12:16:17 2015 +0000 net: Pass VLAN ID to rtnl_fdb_notify. When an FDB entry is added or deleted the information about VLAN is not passed to listening applications like 'bridge monitor fdb'. With this patch VLAN ID is passed if it was set in the original netlink message. Also remove an unused bdev variable. Signed-off-by: Hubert Sokolowski <hubert.sokolowski@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b50edd7812852d989f2ef09dcfc729690f54a42d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 9 13:31:56 2015 -0700 tcp: tcp_make_synack() should clear skb->tstamp I noticed tcpdump was giving funky timestamps for locally generated SYNACK messages on loopback interface. 11:42:46.938990 IP 127.0.0.1.48245 > 127.0.0.2.23850: S 945476042:945476042(0) win 43690 <mss 65495,nop,nop,sackOK,nop,wscale 7> 20:28:58.502209 IP 127.0.0.2.23850 > 127.0.0.1.48245: S 3160535375:3160535375(0) ack 945476043 win 43690 <mss 65495,nop,nop,sackOK,nop,wscale 7> This is because we need to clear skb->tstamp before entering lower stack, otherwise net_timestamp_check() does not set skb->tstamp. Fixes: 7faee5c0d514 ("tcp: remove TCP_SKB_CB(skb)->when") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2d5fb97d37fb35708a0811af74d9e76e44d421c Merge: f22e6e8 f82daee c75de0a c7e8bdf Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Apr 9 23:25:23 2015 +0200 Merge branches 'pm-sleep', 'pm-cpufreq' and 'pm-cpuidle' * pm-sleep: Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions" * pm-cpufreq: cpufreq: Schedule work for the first-online CPU on resume * pm-cpuidle: cpuidle: ACPI: do not overwrite name and description of C0 cpuidle: remove state_count field from struct cpuidle_device commit 29854a4f7b035204c821a67e4e7a60c6d216b794 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:24:00 2015 -0500 ipr: Driver version 2.6.1 Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f8ee25d7d2395212ba614ba08c12d1255f612f0e Author: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:23:58 2015 -0500 ipr: AF DASD raw mode implementation in ipr driver This patch implements raw mode support for AF DASD in ipr driver which allows for tools to send commands directly to physical devices which are members of RAID arrays when enabled in the firmware. [jejb: fix up whitespace] Signed-off-by: Wen Xiong<wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ea30c1deb6c6ccbceb29b6a3d48e1f601aefddf1 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:23:56 2015 -0500 ipr: Re-enable write same Re-enable write same support for ipr RAID adapters. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a65e8f128eca1efafeb16039650ae36b25cfd0dc Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:23:55 2015 -0500 ipr: Fix possible error path oops during initialization Fixes a possible oops during adapter initialization in some memory allocation failure error paths scenarios. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2796ca5e51737ed0be8ebb6cf73fd56af05da0a7 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:23:52 2015 -0500 ipr: Reset in task context The pci_set_pcie_reset_state has changed semantics to not be callable from interrupt context, so change ipr's usage of the API to comply with this change by ensuring this occurs from a workqueue. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4fdd7c7aabbec3aa9e5dc41c129bc9f6aed7e615 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:23:50 2015 -0500 ipr: Reboot speed improvements Currently when performing a reboot with an ipr adapter, the adapter gets shutdown completely, flushing all write cache, as well as performing a full hardware reset of the card during the shutdown phase of the old kernel. This ensures the adapter is in a fully quiesced state across the reboot. There are scenarios, however, such as when performing kexec, where this full adapter shutdown is not required and not desired, since it can make the reboot process take noticeably longer. This patch adds a module parameter to allow for skipping the full shutdown during reboot. Rather than performing a full adapter shutdown and reset, we simply cancel any outstanding error buffers, place the adapter into a state where it has no memory of any DMA addresses from the old kernel, then disable the device. This significantly speeds up kexec boot, particularly in configurations with multiple ipr adapters. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit be0cf6ca301c61458dc4aa1a37acf4f58d2ed3d6 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:20 2015 -0700 scsi: storvsc: Set the tablesize based on the information given by the host Set the tablesize based on the information given by the host. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Tested-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit aaced9934d2231227fec4255f394eb86af818ce2 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:19 2015 -0700 scsi: storvsc: Don't assume that the scatterlist is not chained The current code assumes that the scatterlists presented are not chained. Fix the code to not make this assumption. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8de580742fee8bc34d116f57a20b22b9a5f08403 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:18 2015 -0700 scsi: storvsc: Fix a bug in copy_from_bounce_buffer() We may exit this function without properly freeing up the maapings we may have acquired. Fix the bug. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5117b93696fae092be92acf1b80ae19cb28f4ba3 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:17 2015 -0700 scsi: storvsc: Retrieve information about the capability of the target The storage protocol informs the guest of the I/O capabilities of the storage stack. Retrieve this information and use it in the guest. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0147dabc4404b3c91d65a47151283d9aa478b666 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:16 2015 -0700 scsi: storvsc: Always send on the selected outgoing channel The current code always sent packets without data on the primary channel. Properly distribute sending of packets with no data amongst all available channels. I would like to thank Long Li for noticing this problem. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f458aada75891e6e9aff391f8f12a2cb2aac7d58 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:15 2015 -0700 scsi: storvsc: Size the queue depth based on the ringbuffer size Size the queue depth based on the ringbuffer size. Also accommodate for the fact that we could have multiple channels (ringbuffers) per adaptor. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b9ec3a55389560a13e226c8d835db6bf0b3d61fd Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:14 2015 -0700 scsi: storvsc: Increase the ring buffer size Increase the default ring buffer size as this can significantly improve performance especially on high latency storage back-ends. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 114fc1d9a8cc7e8eb34fb3896d908992dac09b58 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 17:51:46 2015 -0700 aic7xxx: replace kmalloc/memset by kzalloc This replaces kmalloc + memset by a call to kzalloc This also fixes one checkpatch.pl issue in the process. This improvement was suggested by "make coccicheck" Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit e3dc17a53f9649d0a67ec69ec883e781fa9dd920 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Apr 9 14:36:52 2015 -0500 PCI: layerscape: Simplify platform_get_resource_byname() failure checking devm_ioremap_resource() validates the resource it receives, so if we check for devm_ioremap_resource() failure, we need not check for failure of the preceding platform_get_resource(). Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit f76ea574d615cd003b2fc51580006f7dc220897c Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Apr 9 14:34:10 2015 -0500 PCI: keystone: Don't dereference possible NULL pointer Check for failure from platform_get_resource() (this check actually happens inside devm_ioremap_resource()) before dereferencing the pointer returned from platform_get_resource(). Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 873581698d391ff070fc1eb8fb298c85e873c07c Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Apr 3 21:17:05 2015 +0800 PCI: versatile: Check for devm_ioremap_resource() failures Check for failure of devm_ioremap_resource(). devm_ioremap_resource() validates the resource it receives, so if we check for devm_ioremap_resource() failure, we need not check for failure of the preceding platform_get_resource(). [bhelgaas: changelog] Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 387d37577fdd05e9472c20885464c2a53b3c945f Author: Matthew Garrett <mjg59@xxxxxxxxxx> Date: Tue Apr 7 11:07:00 2015 -0700 PCI: Don't clear ASPM bits when the FADT declares it's unsupported Communications with a hardware vendor confirm that the expected behaviour on systems that set the FADT ASPM disable bit but which still grant full PCIe control is for the OS to leave any BIOS configuration intact and refuse to touch the ASPM bits. This mimics the behaviour of Windows. Signed-off-by: Matthew Garrett <mjg59@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b736a623bd099cdf5521ca9bd03559f3bc7fa31c Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Thu Apr 9 11:19:14 2015 -0700 udptunnels: Call handle_offloads after inserting vlan tag. handle_offloads() calls skb_reset_inner_headers() to store the layer pointers to the encapsulated packet. However, we currently push the vlag tag (if there is one) onto the packet afterwards. This changes the MAC header for the encapsulated packet but it is not reflected in skb->inner_mac_header, which breaks GSO and drivers which attempt to use this for encapsulation offloads. Fixes: 1eaa8178 ("vxlan: Add tx-vlan offload support.") Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca69d7102fde3e22b09536867ba14ace84ea80e1 Merge: 3ab1a30 aadd51a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 14:46:04 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for your net-next tree. They are: * nf_tables set timeout infrastructure from Patrick Mchardy. 1) Add support for set timeout support. 2) Add support for set element timeouts using the new set extension infrastructure. 4) Add garbage collection helper functions to get rid of stale elements. Elements are accumulated in a batch that are asynchronously released via RCU when the batch is full. 5) Add garbage collection synchronization helpers. This introduces a new element busy bit to address concurrent access from the netlink API and the garbage collector. 5) Add timeout support for the nft_hash set implementation. The garbage collector peridically checks for stale elements from the workqueue. * iptables/nftables cgroup fixes: 6) Ignore non full-socket objects from the input path, otherwise cgroup match may crash, from Daniel Borkmann. 7) Fix cgroup in nf_tables. 8) Save some cycles from xt_socket by skipping packet header parsing when skb->sk is already set because of early demux. Also from Daniel. * br_netfilter updates from Florian Westphal. 9) Save frag_max_size and restore it from the forward path too. 10) Use a per-cpu area to restore the original source MAC address when traffic is DNAT'ed. 11) Add helper functions to access physical devices. 12) Use these new physdev helper function from xt_physdev. 13) Add another nf_bridge_info_get() helper function to fetch the br_netfilter state information. 14) Annotate original layer 2 protocol number in nf_bridge info, instead of using kludgy flags. 15) Also annotate the pkttype mangling when the packet travels back and forth from the IP to the bridge layer, instead of using a flag. * More nf_tables set enhancement from Patrick: 16) Fix possible usage of set variant that doesn't support timeouts. 17) Avoid spurious "set is full" errors from Netlink API when there are pending stale elements scheduled to be released. 18) Restrict loop checks to set maps. 19) Add support for dynamic set updates from the packet path. 20) Add support to store optional user data (eg. comments) per set element. BTW, I have also pulled net-next into nf-next to anticipate the conflict resolution between your okfn() signature changes and Florian's br_netfilter updates. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ab1a30fbded99936956442d8cf8f379064e4a26 Merge: 9399bdc f56d9e2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 14:43:13 2015 -0400 Merge tag 'wireless-drivers-next-for-davem-2015-04-09' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: iwlwifi: * some more work on LAR * fixes for UMAC scan * more work on debugging framework * more work for 8000 devices * cleanups and small bugfixes ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9399bdcbb54b1e224a8532c01d496ada87e526bd Merge: 6fb8c38 7400599 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 14:41:47 2015 -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 2015-04-09 1) Prohibit the use/abuse of the xfrm netlink interface on 32/64 bit compatibility tasks. We need a full compat layer before we can allow this. From Fan Du. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 634d8ee4de9e41726d4f6f68f57cdd8647b3d204 Merge: 11f17ef 092a29a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 14:39:37 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec Steffen Klassert says: ==================== pull request (net): ipsec 2015-04-09 1) We dereferenced the xfrm outer_mode too early, larval SAs don't have it set. Move the dereference of the outer mode below the larval SA check to fix it. From Alexey Dobriyan. 2) Fix vti6 tunnel uninit on namespace crosssing. From Yao Xiwei. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11f17ef3154fc8a7876a9ada1d1b80d41106960a Author: Oliver Neukum <oneukum@xxxxxxx> Date: Thu Apr 9 10:09:04 2015 +0200 usbnet: rename work handler "kevent" is an extremely generic name that causes trouble if debugging for work queues is used. So change it to something clear. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37a9c502c0af013aaae094556830100c2bb133ac Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 30 10:32:34 2015 +0200 PCI: Clarify policy for vendor IDs in pci.txt Clarify pci.txt so it matches the "do not add new entries unless they are shared between multiple drivers" comment in include/linux/pci_ids.h. [bhelgaas: changelog, strengthen language] Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 6fb8c381a6412981c05741d7d077c3f537eb5d14 Merge: f13b168 c335869 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 14:25:26 2015 -0400 Merge branch 'dma_rmb_wmb' Alexander Duyck says: ==================== Replace wmb()/rmb() with dma_wmb()/dma_rmb() where appropriate, round 2 More cleanup of drivers in order to start making use of dma_rmb and dma_wmb calls. This is another pass of what I would consider to be low hanging fruit. There may be other opportunities to make use of the barriers in the Mellanox and Chelsio drivers but I didn't want to risk meddling with code I was not completely familiar with so I am leaving that for future work. I have revisited the Mellanox driver changes. This time around I went only for the sections with a clearly defined pattern. For dma_wmb I used it between accesses of the descriptor bits followed by owner or size. For dma_rmb I used it to replace rmb following a read of the ownership bit in the descriptor. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c335869fb934ebcccab69315f1cbe7b34f6d9414 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 8 18:49:49 2015 -0700 e100: Use dma_rmb/wmb where appropriate Reduce the CPU overhead for transmit and receive by using lightweight dma_ barriers instead of full barriers where they are applicable. Cc: Jeff Kirsher <jeffrey.t.kirsher@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 67317166dd6e8e78f20768e9f07fcc80846b207b Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 8 18:49:43 2015 -0700 i40e/i40evf: Use dma_rmb where appropriate Update i40e and i40evf to use dma_rmb. This should improve performance by decreasing the barrier overhead on strong ordered architectures. Cc: Jeff Kirsher <jeffrey.t.kirsher@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 12b3375f3963536ba3ad47d2db49f72067b4905e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 8 18:49:36 2015 -0700 mlx4/mlx5: Use dma_wmb/rmb where appropriate This patch should help to improve the performance of the mlx4 and mlx5 on a number of architectures. For example, on x86 the dma_wmb/rmb equates out to a barrer() call as the architecture is already strong ordered, and on PowerPC the call works out to a lwsync which is significantly less expensive than the sync call that was being used for wmb. I placed the new barriers between any spots that seemed to be trying to order memory/memory reads or writes, if there are any spots that involved MMIO I left the existing wmb in place as the new barriers cannot order transactions between coherent and non-coherent memories. v2: Reduced the replacments to just the spots where I could clearly identify the usage pattern. Cc: Amir Vadai <amirv@xxxxxxxxxxxx> Cc: Ido Shamay <idos@xxxxxxxxxxxx> Cc: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 019be1cff44bdfed23163be7469419be4f38589b Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 8 18:49:29 2015 -0700 cxgb3/4/4vf: Update drivers to use dma_rmb/wmb where appropriate Update the Chelsio Ethernet drivers to use the dma_rmb/wmb calls instead of the full barriers in order to improve performance. Cc: Santosh Raspatur <santosh@xxxxxxxxxxx> Cc: Hariprasad S <hariprasad@xxxxxxxxxxx> Cc: Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27015f8c17578e14b3c6cc098b915b0f8db3ac36 Author: Phil Reid <preid@xxxxxxxxxxxxxxxxx> Date: Wed Apr 8 18:41:34 2015 -0700 stmmac: devm_reset_control_get can return PROBE_DEFER In socfpga_dwmac_parse_data forward error code from devm_reset_control_get. This gives the driver another chance to laod if altr,rst-mgr is loaded after the network driver. Signed-off-by: Phil Reid <preid@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 23310f6f3a8f30f4b6794e941763da4708f7471a Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Thu Apr 9 13:55:11 2015 +0530 mac802154: fix transmission power datatype Netlink attribute for the power is s8. But for the driver level operations we are collection power level value into integer. It has to be change to s8 from int. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3cfb2f7976a2f9cfe48eda4e6d7e4ce74fee09e3 Merge: 20624d1 d10b730 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 10:17:44 2015 -0700 Merge tag 'pci-v4.0-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI fixes from Bjorn Helgaas: "Here are some fixes for v4.0. I apologize for how late they are. We were hoping for some better fixes, but couldn't get them polished in time. These fix: - a Xen domU oops with PCI passthrough devices - a sparc T5 boot failure - a STM SPEAr13xx crash (use after initdata freed) - a cpcihp hotplug driver thinko - an AER thinko that printed stack junk Details: Enumeration - Don't look for ACPI hotplug parameters if ACPI is disabled (Bjorn Helgaas) Resource management - Revert "sparc/PCI: Clip bridge windows to fit in upstream windows" (Bjorn Helgaas) AER - Avoid info leak in __print_tlp_header() (Rasmus Villemoes) PCI device hotplug - Add missing curly braces in cpci_configure_slot() (Dan Carpenter) ST Microelectronics SPEAr13xx host bridge driver - Drop __initdata from spear13xx_pcie_driver (Matwey V. Kornilov) * tag 'pci-v4.0-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: Revert "sparc/PCI: Clip bridge windows to fit in upstream windows" PCI: Don't look for ACPI hotplug parameters if ACPI is disabled PCI: cpcihp: Add missing curly braces in cpci_configure_slot() PCI/AER: Avoid info leak in __print_tlp_header() PCI: spear: Drop __initdata from spear13xx_pcie_driver commit e0c9c0afd2fc958ffa34b697972721d81df8a56f Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Apr 1 18:30:06 2015 -0500 mnt: Update detach_mounts to leave mounts connected Now that it is possible to lazily unmount an entire mount tree and leave the individual mounts connected to each other add a new flag UMOUNT_CONNECTED to umount_tree to force this behavior and use this flag in detach_mounts. This closes a bug where the deletion of a file or directory could trigger an unmount and reveal data under a mount point. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit f53e57975151f54ad8caa1b0ac8a78091cd5700a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Jan 19 11:48:45 2015 -0600 mnt: Fix the error check in __detach_mounts lookup_mountpoint can return either NULL or an error value. Update the test in __detach_mounts to test for an error value to avoid pathological cases causing a NULL pointer dereferences. The callers of __detach_mounts should prevent it from ever being called on an unlinked dentry but don't take any chances. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit ce07d891a0891d3c0d0c2d73d577490486b809e1 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Dec 23 21:37:03 2014 -0600 mnt: Honor MNT_LOCKED when detaching mounts Modify umount(MNT_DETACH) to keep mounts in the hash table that are locked to their parent mounts, when the parent is lazily unmounted. In mntput_no_expire detach the children from the hash table, depending on mnt_pin_kill in cleanup_mnt to decrement the mnt_count of the children. In __detach_mounts if there are any mounts that have been unmounted but still are on the list of mounts of a mountpoint, remove their children from the mount hash table and those children to the unmounted list so they won't linger potentially indefinitely waiting for their final mntput, now that the mounts serve no purpose. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 820f9f147dcce2602eefd9b575bbbd9ea14f0953 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Apr 2 16:35:48 2015 -0500 fs_pin: Allow for the possibility that m_list or s_list go unused. This is needed to support lazily umounting locked mounts. Because the entire unmounted subtree needs to stay together until there are no users with references to any part of the subtree. To support this guarantee that the fs_pin m_list and s_list nodes are initialized by initializing them in init_fs_pin allowing for the possibility that pin_insert_group does not touch them. Further use hlist_del_init in pin_remove so that there is a hlist_unhashed test before the list we attempt to update the previous list item. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 6a46c5735c29175da55b2fa9d53775182422cdd7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Jan 15 22:58:33 2015 -0600 mnt: Factor umount_mnt from umount_tree For future use factor out a function umount_mnt from umount_tree. This function unhashes a mount and remembers where the mount was mounted so that eventually when the code makes it to a sleeping context the mountpoint can be dput. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 7bdb11de8ee4f4ae195e2fa19efd304e0b36c63b Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Dec 29 13:03:41 2014 -0600 mnt: Factor out unhash_mnt from detach_mnt and umount_tree Create a function unhash_mnt that contains the common code between detach_mnt and umount_tree, and use unhash_mnt in place of the common code. This add a unncessary list_del_init(mnt->mnt_child) into umount_tree but given that mnt_child is already empty this extra line is a noop. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit cd4a40174b71acd021877341684d8bb1dc8ea4ae Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Jan 7 14:28:26 2015 -0600 mnt: Fail collect_mounts when applied to unmounted mounts The only users of collect_mounts are in audit_tree.c In audit_trim_trees and audit_add_tree_rule the path passed into collect_mounts is generated from kern_path passed an audit_tree pathname which is guaranteed to be an absolute path. In those cases collect_mounts is obviously intended to work on mounted paths and if a race results in paths that are unmounted when collect_mounts it is reasonable to fail early. The paths passed into audit_tag_tree don't have the absolute path check. But are used to play with fsnotify and otherwise interact with the audit_trees, so again operating only on mounted paths appears reasonable. Avoid having to worry about what happens when we try and audit unmounted filesystems by restricting collect_mounts to mounts that appear in the mount tree. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 0a1f00a1c86421cc07cec87011c7cf4df68ee54b Author: Michal Marek <mmarek@xxxxxxx> Date: Wed Apr 8 13:30:42 2015 +0200 kconfig: Do not print status messages in make -s mode Add an -s option to the various frontends and pass it when make -s is used. Also, use $(kecho) instead of @echo in the Makefile. Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 3dc8523fa7412e731441c01fb33f003eb3cfece1 Author: Dmitry M. Fedin <dmitry.fedin@xxxxxxxxx> Date: Thu Apr 9 17:37:03 2015 +0300 ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support Adds an entry for Creative USB X-Fi to the rc_config array in mixer_quirks.c to allow use of volume knob on the device. Adds support for newer X-Fi Pro card, known as "Model No. SB1095" with USB ID "041e:3237" Signed-off-by: Dmitry M. Fedin <dmitry.fedin@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e52786ac3ca721636a6fb0ae88521f5b9ece88a3 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Apr 4 16:59:29 2015 +0200 clk: versatile: test returned value Put NULL test on the result of the previous call instead on one of its arguments. A simplified version of the semantic match that finds this problem is as follows (http://coccinelle.lip6.fr/): // <smpl> r@ expression *e1; expression *e2; identifier f; statement S1,S2; @@ e1 = f(...,e2,...); ( if (e1 == NULL || ...) S1 else S2 | *if (e2 == NULL || ...) S1 else S2 ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f83a9cb6228472a464c2ab4abb9bd1e83939aec2 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Mar 31 09:31:34 2015 -0700 hwmon: (it87) Use feature macros on sio_data Feature macros work on sio_data as well, so use them there. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit cfd3113e7cc358b68bc13a2ca46714b0445dca56 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 15:23:59 2015 +0200 ALSA: hda/via - Add missing stream_pm ops setup Similar like the case for Realtek, VIA codec driver needs this ops as well for making the widget power-save working. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6553bf06a369683408895b87e5172aa99a9266bd Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Apr 9 10:52:38 2015 +0200 ASoC: Don't try to register debugfs entries if the parent does not exist If the registration of a debugfs directory fails this is treated as a non-fatal error in ASoC and operation continues as normal. This means we need to be careful and check if the parent debugfs directory exists if we try to register a debugfs file or sub-directory. Otherwise we might end up passing NULL for the parent and the file or directory will be registered in the top-level debugfs directory. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 64b4e2526d1cf6e6a4db6213d6e2b6e6ab59479a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 17:00:32 2015 -0400 ocfs2: _really_ sync the right range "ocfs2 syncs the wrong range" had been broken; prior to it the code was doing the wrong thing in case of O_APPEND, all right, but _after_ it we were syncing the wrong range in 100% cases. *ppos, aka iocb->ki_pos is incremented prior to that point, so we are always doing sync on the area _after_ the one we'd written to. Spotted by Joseph Qi <joseph.qi@xxxxxxxxxx> back in January; unfortunately, I'd missed his mail back then ;-/ Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit be8e58d93fba531b12ef2fce4fb33c9c5fb5b69f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Apr 9 07:33:45 2015 -0300 Revert "[media] Add device tree support to adp1653 flash driver" As requested by Sakari: "The driver changes are still being reviewed. It's been proposed that the max-microamp property be renamed." So, as the DT bindings are not agreed upstream yet, let's revert it. Requested-by: Sakari Ailus <sakari.ailus@xxxxxx> This reverts commit b6100f10bdc2019a65297d2597c388de2f7dd653. commit 2e55b90a5e234524f8195c657006ec4f71103dff Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Apr 9 10:52:37 2015 +0200 ASoC: Make soc_dpcm_debugfs_add() non-fatal Failing to register the debugfs entries is not fatal and will not affect normal operation of the sound card. Don't abort the card registration if soc_dpcm_debugfs_add() fails. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d53d59ecad74f3e90c6eefedd2186abbadd64d7c Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Thu Apr 9 11:20:32 2015 +0800 ASoC: rt286: Restore default in probe RT286 can't do register reset. If the hardware power is still existing in power off, rt286 will keep the register settings. So, we need to restore the default register value in probe to make sure the cache value is the same as the real register value. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e3e29f990cc77c5b23280c77275812a3f010cc41 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Thu Apr 9 18:28:05 2015 +0800 nios2: add missing ptrace registers defines These are all register available in nios2. Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 0757d834eb7482e5763fb9ee014abb50789f906a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Apr 9 10:52:36 2015 +0200 ASoC: Create card debugfs directory earlier Create the card debugfs directory at the begining of the initilization rather then the end as various steps in the initilization sequence will try to register files and sub-directories in the card directory. Fixes: 4e2576bd36a1 ("ASoC: soc-core: initialize debugfs in snd_soc_instantiate_card()") Reported-by: Fabio Estevam <festevam@xxxxxxxxx> Reported-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 95a9ca74768089d89c17ba958d6f009aa9c18525 Merge: 4e2576b f22e6e8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Apr 9 11:23:57 2015 +0100 Merge tag 'v4.0-rc7' into asoc-core Linux 4.0-rc7 commit cffd39668177afe5566104a2f289242c3c5ce3d1 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 10:30:25 2015 +0200 ALSA: hda/realtek - Fix the regression by widget power-saving While enabling the widget power-saving for ALC269 & co, the important setup was forgotten -- stream_pm ops. Without this setup, the paths for PCM won't be powered up at all. Also, the power_filter callbacks used in ALC269 & co need to chain to the default snd_hda_gen_path_power_filter(). Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 75afbd052b3675e9b812f9327e19be63f3e7b5de Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Apr 9 12:02:39 2015 +0300 ASoC: Intel: do cast earlier in sst_cdev_tstamp() My static checker complains about these because it looks like the multiply can overflow and then we cast to a larger data type. I don't think this is a problem, but it's also harmless to do the cast earlier so let's silence the static checker warning. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b1f85c0fec20e6cde2a511345f24f6133f247e70 Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Wed Jan 21 18:06:08 2015 +0300 backlight: da9052_bl: Terminate da9052_wled_ids array with empty element Array of platform_device_id elements should be terminated with empty element. Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c6f77bc2b3f9512fd8d637a45060408061a035a9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jan 14 14:51:59 2015 +0100 backlight: 88pm860x_bl: Use of_get_child_by_name() instead of refcount hack of_find_node_by_name() calls of_node_put() on its "from" parameter. To counter this, pm860x_backlight_dt_init() calls of_node_get() first. Use of_get_child_by_name() instead to get rid of the refcount hack. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e554a99ee8d09132e80dc467433c9a4df9054645 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 2 16:36:15 2015 +0200 mfd: sec: Fix RTC alarm interrupt number on S2MPS11 The RTC on S2MPS11 is the same as S2MPS14. However interrupt numbers of RTC alarms 0 and 1 were inversed between these two devices. So when rtc-s5m driver requested S2MPS14_IRQ_RTCA0 interrupt, it matched to S2MPS11_IRQ_RTCA1, not RTCA0. Fix this by using consistent RTC alarm interrupt numbers and adding a BUILD_BUG_ON for future generations. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit dcbbcba92601dc05e5c9a844cb35a9112cb7d7ad Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 18:25:59 2015 +0100 mfd: wm5102: Remove registers for output 3R from readable list The earpiece on 5102 is mono, thus there is no output 3R. Remove the registers associated with the unused right channel from the readable registers list. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bb733707913389d77223fa3b2849b41ab540f69b Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 10:47:15 2015 -0700 mfd: tps65010: Remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8d2f1a9d36f270b28cca960510f293f2b9eb905d Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Apr 6 16:33:56 2015 -0700 mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes Add the regulator subnodes to the Qualcomm RPM MFD device tree bindings. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bdb01f78235537e6eee3bb8a985e2af00058c4db Author: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Date: Fri Apr 3 00:49:47 2015 +0530 mfd: axp20x: Add support for extcon cell This patch adds the mfd cell info for axp288 extcon device. Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 72715757880b36bdd7ff67f768a31324ee31c156 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 31 14:47:29 2015 +0300 mfd: lpc_ich: Sort IDs The patch sorts IDs in the table for easier maintenance. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b44915927ca88084a7292e4ddd4cf91036f365e1 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Thu Apr 9 10:51:48 2015 +0200 x86/iommu: Fix header comments regarding standard and _FINISH macros The comment line regarding IOMMU_INIT and IOMMU_INIT_FINISH macros is incorrect: "The standard vs the _FINISH differs in that the _FINISH variant will continue detecting other IOMMUs in the call list..." It should be "..the *standard* variant will continue detecting..." Fix that. Also, make it readable while at it. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: konrad.wilk@xxxxxxxxxx Fixes: 6e9636693373 ("x86, iommu: Update header comments with appropriate naming") Link: http://lkml.kernel.org/r/1428508017-5316-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 549c5dc19ee33f4af5a343884c3a559adc53a44c Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Apr 9 10:32:50 2015 +0200 gpio: dwapb: remove dependencies The Synopsys DesignWare DWAPB GPIO block is popular to synthesize amongst many architectures: X86, ARM, ARC. The driver was restricted to only these archs due to using [read|write]l_relaxed() accessors that were not universally available in the past, but as of commit 9439eb3ab9d1ece6e4ad7baaa4a7f534f9b9dab0 "asm-generic: io: implement relaxed accessor macros as conditional wrappers" these accessors are available on all archs so this should not be a problem any more. Enable the driver for all archs. Cc: Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 24fef9022a83d789ee372a393ea4782dc22b9b51 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 10:28:15 2015 +0200 ALSA: hda/generic - Don't override power_filter when power_save_node is set Currently the generic parser sets codec->power_filter when power_save_node flag is set. But this overrides the existing filter that has been already set by the codec driver, thus it looses some features. Instead, set the default power_filter only when it's not set yet. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b6c09b3c7b54743cbc58af8c27bbae8299c4f8cc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 10:25:03 2015 +0200 ALSA: hda/generic - Make snd_hda_gen_path_power_filter() always applicable Add the check of power_save_node flag at the beginning of the function so that it skips the rest if the flag isn't set. In this way, we can call this function safely no matter whether the widget power-saving is really used or not. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d5ac0100a9027bdf488cf20247b1041f26f796f3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 10:21:30 2015 +0200 ALSA: hda/generic - Fix wrong initial power state for fixed pins When the widget power-saving is enabled, the first automute hook invocation checks through the whole pins and it also tries to synchronize the power state. However, this results in a wrong state because it calls unconditionally snd_hda_jack_detect_state(). This patch adds a check of jack detectability before the actual jack detection call. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2206dc949286fe0010c69213d3d8b4c53e6a2295 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 10:18:31 2015 +0200 ALSA: hda/generic - Check power state cap at updating the widget power The new widget power-saving tries to apply the power change no matter whether the node has a power cap or not. It's bad (although most of codecs chip just ignore it). Check the capability properly beforehand. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a37f34a325d90856314ccd4994e1070dcc6bdcc4 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:44 2015 +0200 x86/asm/entry/64: Reduce padding in execve stubs execve stubs are 7 bytes only. Padding them to 16 bytes is a waste. text data bss dec hex filename 12594 0 0 12594 3132 entry_64.o.before 12530 0 0 12530 30f2 entry_64.o Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-8-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 54a81e914b2432a86dd49cf611b0f71ef44ca7ad Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:43 2015 +0200 x86/asm/entry/64: Remove GET_THREAD_INFO() in ret_from_fork It used to be used to check for _TIF_IA32, but the check has been removed. Remove GET_THREAD_INFO() too. Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-7-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 66ad4efa51805964521db03d8aa827a8dd9058b9 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:42 2015 +0200 x86/asm/entry/64: Simplify jumps in ret_from_fork Replace test jz 1f jmp label 1: with test jnz label Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-6-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a30b0085f54efae11f6256df4e4a16af7eefc1c4 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:41 2015 +0200 x86/asm/entry/64: Remove a redundant jump Jumping to the very next instruction is not very useful: jmp label label: Removing the jump. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-5-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 772951c4e4b06cdffeff499259dba07b544f3166 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:40 2015 +0200 x86/asm/entry/64: Optimize [v]fork/clone stubs Replace "call func; ret" with "jmp func". Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0f90fb979d7b53d80a6d5cb6e127b4b4b249907e Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:39 2015 +0200 x86/asm/entry: Zero EXTRA_REGS for stub32_execve() too The change which affected how execve clears EXTRA_REGS missed 32-bit execve syscalls. Fix this by using 64-bit execve stub epilogue for them too. Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 05f1752d195c145d02ae40881d0985c2cfbee473 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:38 2015 +0200 x86/asm/entry/64: Move stub_x32_execvecloser() to stub_execveat() This is a preparatory patch for moving stub32_execve[at]() to this file. It makes sense to have all execve stubs in one place, so that they can reuse code. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 31f0119b817f6474a7b4c48fed7588af1b62c543 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:37 2015 +0200 x86/asm/entry/64: Use common code for rt_sigreturn() epilogue Similarly to stub_execve, we can reuse the epilogue in stub_rt_sigreturn() and stub_x32_rt_sigreturn(). Add a comment explaining why we can't eliminage SAVE_EXTRA_REGS here. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1dfe0d159dc7f7b6d1734b2010aabda2bbe87d5a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 23 23:13:01 2014 +0200 pinctrl: sirf: move sgpio lock into state container Instead of referring to a global static variable for the sgpio locking, use the state container to contain the lock. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ccd6da2ab81815e03c0713069597a8fc8f6f8431 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Apr 9 00:35:19 2015 -0700 Bluetooth: btusb: Use proper data structures for Intel vendor events The Intel vendors events indicating firmware loading result and the bootup of the operational firmware are currently hardcoded byte comparisons. So intead of doing that, provide proper data structures and actually use them. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 58995a9a5b292458f94a2356b8c878230fa56fe0 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Apr 9 13:51:32 2015 +1000 powerpc, jump_label: Include linux/jump_label.h to get HAVE_JUMP_LABEL define Commit 1bc9e47aa8e4 ("powerpc/jump_label: Use HAVE_JUMP_LABEL") converted uses of CONFIG_JUMP_LABEL to HAVE_JUMP_LABEL in some assembly files. HAVE_JUMP_LABEL is defined in linux/jump_label.h, so we need to include this or we always get the non jump label fallback code. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: catalin.marinas@xxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: jbaron@xxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: mgorman@xxxxxxx Cc: mmarek@xxxxxxx Cc: paulus@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: schwidefsky@xxxxxxxxxx Cc: will.deacon@xxxxxxx Fixes: 1bc9e47aa8e4 ("powerpc/jump_label: Use HAVE_JUMP_LABEL") Link: http://lkml.kernel.org/r/1428551492-21977-3-git-send-email-anton@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c0ccf6f99e3a43b87980c9df7da48427885206d0 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Apr 9 13:51:31 2015 +1000 jump_label: Allow jump labels to be used in assembly To use jump labels in assembly we need the HAVE_JUMP_LABEL define, so we select a fallback version if the toolchain does not support them. Modify linux/jump_label.h so it can be included by assembly files. We also need to add -DCC_HAVE_ASM_GOTO to KBUILD_AFLAGS. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: catalin.marinas@xxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: jbaron@xxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: mgorman@xxxxxxx Cc: mmarek@xxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: paulus@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: schwidefsky@xxxxxxxxxx Cc: will.deacon@xxxxxxx Link: http://lkml.kernel.org/r/1428551492-21977-2-git-send-email-anton@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 55dd0df781e58ec23d218376ea4a676e7362a98c Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Apr 9 13:51:30 2015 +1000 jump_label: Allow asm/jump_label.h to be included in assembly Wrap asm/jump_label.h for all archs with #ifndef __ASSEMBLY__. Since these are kernel only headers, we don't need #ifdef __KERNEL__ so can simplify things a bit. If an architecture wants to use jump labels in assembly, it will still need to define a macro to create the __jump_table entries (see ARCH_STATIC_BRANCH in the powerpc asm/jump_label.h for an example). Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: catalin.marinas@xxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: jbaron@xxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: mgorman@xxxxxxx Cc: mmarek@xxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: paulus@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: schwidefsky@xxxxxxxxxx Cc: will.deacon@xxxxxxx Link: http://lkml.kernel.org/r/1428551492-21977-1-git-send-email-anton@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 94910d419a506a8e21333cc87ffb80db8b89d88a Author: Varka Bhadram <varkab@xxxxxxx> Date: Thu Apr 9 12:05:43 2015 +0530 mac802154: fix typo for device Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8d86e4fcccf61bafe54212f6ea9fb47a455abc56 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Apr 8 10:17:44 2015 -0300 mmc: sdhci-esdhc-imx: Call mmc_of_parse() Currently it is not possible to use 'mmc-pwrseq-simple' property with this driver because mmc_of_parse() is never called. mmc_of_parse() calls mmc_pwrseq_alloc() that manages MMC power sequence and allows passing GPIOs in the devicetree to properly power/reset the Wifi chipset. When using mmc_of_parse() we no longer need to have custom code to request card-detect and write-protect pins, as this can now be handled by the mmc core. Tested on a imx6sl-warp board where BT/Wifi is functional and also on a imx6q-sabresd. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 49ba030221d23ad8e35deb66b74873b852f4d7bf Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Apr 3 11:13:07 2015 -0700 mmc: dw_mmc: Add locking around cmd11 timer It is possible for the cmd11 interrupt to fire and delete the cmd11_timer before the cmd11_timer was actually setup. Let's fix this race by adding a few spinlocks. Note that the race wasn't seen in practice without adding some printk statements, but it still seems wise to fix. Fixes: 5c935165da79 ("mmc: dw_mmc: Add a timeout for sending CMD11") Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fd6741983386a7ec1c707a4c93e7a26e383cc571 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Apr 3 11:13:06 2015 -0700 mmc: dw_mmc: Add a return in an unexpected cmd11 timeout If we get an unexpected cmd11 timeout we shouldn't actually treat it as a timeout (not that we really expect to get an unexpected cmd11 timeout, but still). Fixes: 5c935165da79 ("mmc: dw_mmc: Add a timeout for sending CMD11") Reported-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8886a6fd19775eb43b7834850d0ad3f749b70053 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Apr 3 11:13:05 2015 -0700 mmc: dw_mmc: Increase cmd11 timeout to 500ms Although the cmd11 interrupt should come within 2ms, that's a very short time. Let's increase the timeout to be really sure that we don't get an accidnetal timeout. One case in particular this is useful is if you've got a serial console and printk in just the right places. Under that scenario I've seen delays of up to 130ms before the interrupt fired. CMD11 is only sent during card insertion, so this extra timeout shouldn't be terrible. Fixes: 5c935165da79 ("mmc: dw_mmc: Add a timeout for sending CMD11") Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 76184ac17edf3c640390b0eddc3aa7be1095fb9f Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 25 11:27:52 2015 +0000 mmc: dw_mmc: fix fifo ordering in big endian The dw_mmc driver changes to make the IO accesors endian agnostic did not take into account the fifo accesses do not need to be swapped. To fix this add a mmci_fifo_read/write wrapper to allow these to be passed through the IO without being swapped. Since these are now specific functions, it would be easier just to store the pointer to the fifo registers in the host block instead of the offset to them. So change the host->data_offset to host->fifo_reg (which also means we catch all the places this is read or written). Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6687c42fa71acd6ae39608c5af4146c82bd0c0ea Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 25 11:27:51 2015 +0000 mmc: dw_mmc: change idmac descriptor files to __le32 The dw_mmc driver does not take into account the processor may be in big endian when writing the descriptors. Change the descriptors for the 32bit IDMA to use __le32 and ensure they are suitably swapped before writing. Note, this has not been tested as the socfpga driver does not try to use idma. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a2f17680f42878ee8d55a5e66c1466465a412f62 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 25 11:27:50 2015 +0000 mmc: dw_mmc: make IO accessors endian agnostic The dw_mmc driver does not use endian agnostic IO accessors, so fix the use of __raw reads and writes to be the relaxed versions. This fixes the dw_mmc driver initialisation on Altera socfpga in big endian. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9efe2731db3a8944d26233bb47532011411810fb Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 07:58:46 2015 +0200 ALSA: hda - Always allow access for POWER_STATE verbs via regmap The hdac regmap code checks whether the codec is powered on while accessing, but there must be an exception -- the verbs to control the power state. Currently HD-audio driver doesn't access them via regmap, so this patch doesn't fix any current behavior, but it's just for future. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 01ac33c1f907b366dcc50551316b372f1519cca9 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Apr 8 12:39:19 2015 -0700 locking/mutex: Further simplify mutex_spin_on_owner() Similar to what Linus suggested for rwsem_spin_on_owner(), in mutex_spin_on_owner() instead of having while (true) and breaking out of the spin loop on lock->owner != owner, we can have the loop directly check for while (lock->owner == owner) to improve the readability of the code. It also shrinks the code a bit: text data bss dec hex filename 3721 0 0 3721 e89 mutex.o.before 3705 0 0 3705 e79 mutex.o.after Signed-off-by: Jason Low <jason.low2@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Aswin Chandramouleeswaran <aswin@xxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428521960-5268-2-git-send-email-jason.low2@xxxxxx [ Added code generation info. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0fe29fd1cd77ffbdb8e36ec1715868d9d8011c9b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 8 09:05:27 2015 -0700 Bluetooth: Read LE remote features during connection establishment When establishing a Bluetooth LE connection, read the remote used features mask to determine which features are supported. This was not really needed with Bluetooth 4.0, but since Bluetooth 4.1 and also 4.2 have introduced new optional features, this becomes more important. This works the same as with BR/EDR where the connection enters the BT_CONFIG stage and hci_connect_cfm call is delayed until the remote features have been retrieved. Only after successfully receiving the remote features, the connection enters the BT_CONNECTED state. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8416915c16d4335980c5d5d6d39957adbfe40b55 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Apr 8 21:02:47 2015 -0700 hwmon: (ibmpowernv) Fix build error seen for some configurations Fix drivers/hwmon/ibmpowernv.c: In function 'get_logical_cpu': drivers/hwmon/ibmpowernv.c:121:3: error: implicit declaration of function 'get_hard_smp_processor_id' seen for some configurations, possibly if SMP is not configured. Fixes: 3df2f59f0aae ("hwmon: (ibmpowernv) pretty print labels") Cc: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 6aa248145ab0b1809de2411cf129ec1fc315a46f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:56:16 2015 -0400 switch kernel_sendmsg() and kernel_recvmsg() to iov_iter_kvec() For kernel_sendmsg() that eliminates the need to play with setfs(); for kernel_recvmsg() it does *not* - a couple of callers are using it with non-NULL ->msg_control, which would be treated as userland address on recvmsg side of things. In all cases we are really setting a kvec-backed iov_iter, though. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit da18428498fb24438a23d982259461fe22bc1f46 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:29:06 2015 -0400 net: switch importing msghdr from userland to {compat_,}import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 602bd0e90e14c0b50246b361290dbbbe551ada98 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:12:32 2015 -0400 net: switch sendto() and recvfrom() to import_single_range() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fe3cce2e01ef7a2796c9674b1ec3a28a85f53547 Merge: 237dae8 bc917be Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 00:02:06 2015 -0400 Merge branch 'iov_iter' into for-davem commit 237dae889051ed4ebf438b08ca6c0e7c54b97774 Merge: 7abccdb e2e40f2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 00:00:30 2015 -0400 Merge branch 'iocb' into for-davem trivial conflict in net/socket.c and non-trivial one in crypto - that one had evaded aio_complete() removal. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e76ea26142821894bf78b0b311c8f7aceff0aa9b Author: Nishanth Menon <nm@xxxxxx> Date: Wed Apr 8 18:23:52 2015 -0500 hwmon: (gpio-fan) Move the thermal registration after registration is complete Thermal framework may already be ready and cooling policies might already be functional when we are attempting to register gpio fan as a cooling device. This can be reproduced by changing probe order in which registration of various modules are done in a system. In such a case, kernel generates an oops since the data structures are not completely populated with the wrong assumption that thermal framework is not yet ready. Fix this by reordering the thermal framework registration to occur after hwmon registration of the fan is complete. Example kernel oops: [ 149.005828] Unable to handle kernel NULL pointer dereference at virtual address 0000008c [ 149.014369] pgd = ecf48000 [ 149.017204] [0000008c] *pgd=ac065831, *pte=00000000, *ppte=00000000 [ 149.023820] Internal error: Oops: 17 [#1] SMP ARM [ 149.028745] Modules linked in: gpio_fan(+) cpufreq_dt ipv6 evdev leds_gpio led_class omap_wdt phy_omap_usb2 rtc_palmas palmas_pwrbutton tmp102 ti_soc_thermal dwc3_omap thermal_sys extcon rtc_omap rtc_ds1307 hwmon [ 149.048629] CPU: 1 PID: 1183 Comm: modprobe Not tainted 4.0.0-rc7-next-20150407-00002-g7a82da074c99 #3 [ 149.058383] Hardware name: Generic DRA74X (Flattened Device Tree) [ 149.064763] task: edec1240 ti: ec0e0000 task.ti: ec0e0000 [ 149.070421] PC is at dev_driver_string+0x0/0x38 [ 149.075165] LR is at __dev_printk+0x24/0x70 [ 149.079540] pc : [<c03d6cd0>] lr : [<c03d72c4>] psr: 20000013 [ 149.079540] sp : ec0e1c28 ip : edec1240 fp : 00000000 [ 149.091568] r10: edf3eee0 r9 : 00000000 r8 : ffffffff [ 149.097040] r7 : edf3eea0 r6 : 00000034 r5 : 00000010 r4 : ec0e1c44 [ 149.103871] r3 : ec0e1c4c r2 : ec0e1c44 r1 : c079d800 r0 : 00000010 [ 149.110709] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user [ 149.118182] Control: 10c5387d Table: acf4806a DAC: 00000015 [ 149.124198] Process modprobe (pid: 1183, stack limit = 0xec0e0218) [ 149.130673] Stack: (0xec0e1c28 to 0xec0e2000) [ 149.135235] 1c20: 60000013 c05e2ae0 00000000 edf3ec00 ec934a10 c03d73d4 ... [ 149.392230] 1fe0: befe1888 befe1878 00019418 b6ea08f0 80000010 00000003 00000000 00000000 [ 149.400798] [<c03d6cd0>] (dev_driver_string) from [<c03d72c4>] (__dev_printk+0x24/0x70) [ 149.409193] [<c03d72c4>] (__dev_printk) from [<c03d73d4>] (dev_warn+0x34/0x48) [ 149.416767] [<c03d73d4>] (dev_warn) from [<bf0f54fc>] (get_fan_speed_index+0x94/0xa4 [gpio_fan]) [ 149.425980] [<bf0f54fc>] (get_fan_speed_index [gpio_fan]) from [<bf0f5524>] (gpio_fan_get_cur_state+0x18/0x30 [gpio_fan]) [ 149.437476] [<bf0f5524>] (gpio_fan_get_cur_state [gpio_fan]) from [<bf02767c>] (thermal_zone_trip_update+0xe8/0x2a4 [thermal_sys]) [ 149.449794] [<bf02767c>] (thermal_zone_trip_update [thermal_sys]) from [<bf027844>] (step_wise_throttle+0xc/0x74 [thermal_sys]) [ 149.461832] [<bf027844>] (step_wise_throttle [thermal_sys]) from [<bf024ff4>] (handle_thermal_trip+0x5c/0x188 [thermal_sys]) [ 149.473603] [<bf024ff4>] (handle_thermal_trip [thermal_sys]) from [<bf0256c4>] (thermal_zone_device_update+0x94/0x108 [thermal_sys]) [ 149.486104] [<bf0256c4>] (thermal_zone_device_update [thermal_sys]) from [<bf026470>] (__thermal_cooling_device_register+0x2e8/0x374 [thermal_sys]) [ 149.499956] [<bf026470>] (__thermal_cooling_device_register [thermal_sys]) from [<bf0f58e4>] (gpio_fan_probe+0x350/0x4d0 [gpio_fan]) [ 149.512438] [<bf0f58e4>] (gpio_fan_probe [gpio_fan]) from [<c03db8a0>] (platform_drv_probe+0x48/0x98) [ 149.522109] [<c03db8a0>] (platform_drv_probe) from [<c03da30c>] (driver_probe_device+0x1b0/0x26c) [ 149.531399] [<c03da30c>] (driver_probe_device) from [<c03da45c>] (__driver_attach+0x94/0x98) [ 149.540238] [<c03da45c>] (__driver_attach) from [<c03d8bb0>] (bus_for_each_dev+0x54/0x88) [ 149.548814] [<c03d8bb0>] (bus_for_each_dev) from [<c03d9a34>] (bus_add_driver+0xdc/0x1d4) [ 149.557381] [<c03d9a34>] (bus_add_driver) from [<c03dac30>] (driver_register+0x78/0xf4) [ 149.565765] [<c03dac30>] (driver_register) from [<c0009784>] (do_one_initcall+0x80/0x1d8) [ 149.574340] [<c0009784>] (do_one_initcall) from [<c00c2278>] (do_init_module+0x5c/0x1b8) [ 149.582833] [<c00c2278>] (do_init_module) from [<c00c3bbc>] (load_module+0x1720/0x1dcc) [ 149.591212] [<c00c3bbc>] (load_module) from [<c00c43d0>] (SyS_finit_module+0x68/0x6c) [ 149.599418] [<c00c43d0>] (SyS_finit_module) from [<c000f3c0>] (ret_fast_syscall+0x0/0x4c) [ 149.607994] Code: 15830000 e1a00006 e28dd008 e8bd8070 (e590307c) Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Fixes: b5cf88e46bad ("(gpio-fan): Add thermal control hooks") Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit f13b1689d753f333459878ac27cb12d414502a09 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Apr 8 14:48:30 2015 -0700 vxlan: do not exit on error in vxlan_stop() We need to clean up vxlan despite vxlan_igmp_leave() fails. This fixes the following kernel warning: WARNING: CPU: 0 PID: 6 at lib/debugobjects.c:263 debug_print_object+0x7c/0x8d() ODEBUG: free active (active state 0) object type: timer_list hint: vxlan_cleanup+0x0/0xd0 CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted 4.0.0-rc7+ #953 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Workqueue: netns cleanup_net 0000000000000009 ffff88011955f948 ffffffff81a25f5a 00000000253f253e ffff88011955f998 ffff88011955f988 ffffffff8107608e 0000000000000000 ffffffff814deba2 ffff8800d4e94000 ffffffff82254c30 ffffffff81fbe455 Call Trace: [<ffffffff81a25f5a>] dump_stack+0x4c/0x65 [<ffffffff8107608e>] warn_slowpath_common+0x9c/0xb6 [<ffffffff814deba2>] ? debug_print_object+0x7c/0x8d [<ffffffff81076116>] warn_slowpath_fmt+0x46/0x48 [<ffffffff814deba2>] debug_print_object+0x7c/0x8d [<ffffffff81666bf1>] ? vxlan_fdb_destroy+0x5b/0x5b [<ffffffff814dee02>] __debug_check_no_obj_freed+0xc3/0x15f [<ffffffff814df728>] debug_check_no_obj_freed+0x12/0x16 [<ffffffff8117ae4e>] slab_free_hook+0x64/0x6c [<ffffffff8114deaa>] ? kvfree+0x31/0x33 [<ffffffff8117dc66>] kfree+0x101/0x1ac [<ffffffff8114deaa>] kvfree+0x31/0x33 [<ffffffff817d4137>] netdev_freemem+0x18/0x1a [<ffffffff817e8b52>] netdev_release+0x2e/0x32 [<ffffffff815b4163>] device_release+0x5a/0x92 [<ffffffff814bd4dd>] kobject_cleanup+0x49/0x5e [<ffffffff814bd3ff>] kobject_put+0x45/0x49 [<ffffffff817d3fc1>] netdev_run_todo+0x26f/0x283 [<ffffffff817d4873>] ? rollback_registered_many+0x20f/0x23b [<ffffffff817e0c80>] rtnl_unlock+0xe/0x10 [<ffffffff817d4af0>] default_device_exit_batch+0x12a/0x139 [<ffffffff810aadfa>] ? wait_woken+0x8f/0x8f [<ffffffff817c8e14>] ops_exit_list+0x2b/0x57 [<ffffffff817c9b21>] cleanup_net+0x154/0x1e7 [<ffffffff8108b05d>] process_one_work+0x255/0x4ad [<ffffffff8108af69>] ? process_one_work+0x161/0x4ad [<ffffffff8108b4b1>] worker_thread+0x1cd/0x2ab [<ffffffff8108b2e4>] ? process_scheduled_works+0x2f/0x2f [<ffffffff81090686>] kthread+0xd4/0xdc [<ffffffff8109eca3>] ? local_clock+0x19/0x22 [<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83 [<ffffffff81a31c48>] ret_from_fork+0x58/0x90 [<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83 For the long-term, we should handle NETDEV_{UP,DOWN} event from the lower device of a tunnel device. Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope") Cc: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69304cc986bdcd7a09df179aeda3736f7e1544a5 Author: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx> Date: Wed Apr 8 16:59:48 2015 -0500 be2net: Fix a bug in Rx buffer posting The numPosted field in the ERX Doorbell register is 8-bits wide. So the max buffers that we can post at a time is 255 and not 256 which we are doing currently. Signed-off-by: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dd929c1b3df94a7236c637fe294f04653d07b0d5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Apr 8 15:34:04 2015 -0700 tcp: do not rearm rsk_timer on FastOpen requests FastOpen requests are not like other regular request sockets. They do not yet use rsk_timer : tcp_fastopen_queue_check() simply manually removes one expired request from fastopenq->rskq_rst list. Therefore, tcp_check_req() must not call mod_timer_pending(), otherwise we crash because rsk_timer was not initialized. Fixes: fa76ce7328b ("inet: get rid of central tcp/dccp listener timer") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20624d17963c737bbd9f242402bf3136cb664d10 Merge: 9a08da1 f4274e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 15:12:25 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Final drm fixes: one core locking imbalance regression, and a bunch of i915 baytrail s/r fixes" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm: fix drm_mode_getconnector() locking imbalance regression drm/i915/vlv: remove wait for previous GFX clk disable request drm/i915/chv: Remove Wait for a previous gfx force-off drm/i915/vlv: save/restore the power context base reg commit 1957d6bed15fd7635c2867f7c21c17e6baa9a672 Author: Leo Liu <leo.liu@xxxxxxx> Date: Tue Mar 31 11:19:50 2015 -0400 drm/radeon: add video usability info support for VCE v2: bump version to make sure userspace backward compatibility Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Leo Liu <leo.liu@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3cf29543413207d3ab1c3f62a88c09bb46f2264e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Apr 7 13:34:02 2015 -0700 MIPS: BCM63xx: Provide a plat_post_dma_flush hook Broadcom BCM63xx DSL SoCs utilize BMIPS CPUs, and as such are required to perform a read-ahead cache flush after a DMA transfer. Utilize asm/bmips.h to provide a plat_post_dma_flush_hook, and mach-generic/dma-coherence.h for everything else. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: cernekee@xxxxxxxxx Cc: jogo@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9726/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 68ba7cb083300409eb92282417db4c179081ade3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Apr 7 13:34:01 2015 -0700 MIPS: DMA: Allow platforms to override only the post DMA hook Instead of having platforms to copy the entirety of mach-generic/dma-coherence.h, check whether these platforms have already defined a plat_post_dma_flush hook, and if not, provide an inline stub. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: cernekee@xxxxxxxxx Cc: jogo@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9725/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 36fe97635826d54d07c51a5953148235b7dd6a04 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Apr 7 13:34:00 2015 -0700 MIPS: BMIPS: Move post DMA flush implementation to common header arch/mips/include/asm/mach-bmips/dma-coherence.h contains the plat_post_dma_flush implementation which is not specific to mach-bmips, but required for all BMIPS-based systems. Move plat_post_dma_flush to arch/mips/include/asm/bmips.h, rename it to bmips_post_dma_flush such that other platforms like bcm63xx can utilize it. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: cernekee@xxxxxxxxx Cc: jogo@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9724/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9a08da1c8b4865a16eb991776d4c53770eb6f31f Merge: b97fdef 6d7fdb0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 14:51:56 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull ceph revert from Sage Weil: "This corrects a recent misadventure with __GFP_MEMALLOC and PF_MEMALLOC; it turns out it's not a good fit for RBD and we're better off relying on dirty page throttling" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: Revert "libceph: use memalloc flags for net IO" commit 1d8ac08d498d579aae36221a80b4b724b2f52f39 Merge: 5c7f0c2 f22e6e8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 9 07:48:27 2015 +1000 Merge tag 'v4.0-rc7' into drm-next Linux 4.0-rc7 Requested by Alex for fixes -next needs. Conflicts: drivers/gpu/drm/i915/intel_sprite.c commit b97fdef8e680ca8bdfea6114eea19fb6832d54be Merge: 3afe9f8 6b79c57 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 14:42:49 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge misc fixes from Andrew Morton: "Three fixes" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: mm: numa: disable change protection for vma(VM_HUGETLB) include/linux/dmapool.h: declare struct device mm: move zone lock to a different cache line than order-0 free page lists commit fdb7144ba36ef0c1882df3484cc9dfb7d57b2a26 Merge: b594c6e c955865 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Apr 8 23:41:28 2015 +0200 Merge tag 'irqchip-core-4.0' of git://git.infradead.org/users/jcooper/linux into irq/core irqchip core changes for v4.0 from Jason Cooper - ST - New driver, irq-st - Renesas - Use u32 type for 32bit regs commit 3afe9f849600645723246baa95e7559caeca6ce9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 10:33:49 2015 -0700 Copy the kernel module data from user space in chunks Unlike most (all?) other copies from user space, kernel module loading is almost unlimited in size. So we do a potentially huge "copy_from_user()" when we copy the module data from user space to the kernel buffer, which can be a latency concern when preemption is disabled (or voluntary). Also, because 'copy_from_user()' clears the tail of the kernel buffer on failures, even a *failed* copy can end up wasting a lot of time. Normally neither of these are concerns in real life, but they do trigger when doing stress-testing with trinity. Running in a VM seems to add its own overheadm causing trinity module load testing to even trigger the watchdog. The simple fix is to just chunk up the module loading, so that it never tries to copy insanely big areas in one go. That bounds the latency, and also the amount of (unnecessarily, in this case) cleared memory for the failure case. Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cae2a173fe94ab3a437416af6f092fae2e65837e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 10:26:17 2015 -0700 x86: clean up/fix 'copy_in_user()' tail zeroing The rule for 'copy_from_user()' is that it zeroes the remaining kernel buffer even when the copy fails halfway, just to make sure that we don't leave uninitialized kernel memory around. Because even if we check for errors, some kernel buffers stay around after thge copy (think page cache). However, the x86-64 logic for user copies uses a copy_user_generic() function for all the cases, that set the "zerorest" flag for any fault on the source buffer. Which meant that it didn't just try to clear the kernel buffer after a failure in copy_from_user(), it also tried to clear the destination user buffer for the "copy_in_user()" case. Not only is that pointless, it also means that the clearing code has to worry about the tail clearing taking page faults for the user buffer case. Which is just stupid, since that case shouldn't happen in the first place. Get rid of the whole "zerorest" thing entirely, and instead just check if the destination is in kernel space or not. And then just use memset() to clear the tail of the kernel buffer if necessary. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b594c6e20c7ff65e0f0775cb1866e97501c96846 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 18 11:01:24 2015 +0000 irqchip: GICv3: Add support for irq_[get, set]_irqchip_state() Add the required hooks for the internal state of an interrupt to be exposed to other subsystems. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Phong Vo <pvo@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Tin Huynh <tnhuynh@xxxxxxx> Cc: Y Vo <yvo@xxxxxxx> Cc: Toan Le <toanle@xxxxxxx> Cc: Bjorn Andersson <bjorn@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Link: http://lkml.kernel.org/r/1426676484-21812-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 567178077c369ae6a32f90926fb4172f7cf1f87f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 18 11:01:23 2015 +0000 irqchip: GIC: Add support for irq_[get, set]_irqchip_state() Add the required hooks for the internal state of an interrupt to be exposed to other subsystems. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Phong Vo <pvo@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Tin Huynh <tnhuynh@xxxxxxx> Cc: Y Vo <yvo@xxxxxxx> Cc: Toan Le <toanle@xxxxxxx> Cc: Bjorn Andersson <bjorn@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Link: http://lkml.kernel.org/r/1426676484-21812-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1b7047edfcfb257f69e306c9afbab150cb987717 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 18 11:01:22 2015 +0000 genirq: Allow the irqchip state of an IRQ to be save/restored There is a number of cases where a kernel subsystem may want to introspect the state of an interrupt at the irqchip level: - When a peripheral is shared between virtual machines, its interrupt state becomes part of the guest's state, and must be switched accordingly. KVM on arm/arm64 requires this for its guest-visible timer - Some GPIO controllers seem to require peeking into the interrupt controller they are connected to to report their internal state This seem to be a pattern that is common enough for the core code to try and support this without too many horrible hacks. Introduce a pair of accessors (irq_get_irqchip_state/irq_set_irqchip_state) to retrieve the bits that can be of interest to another subsystem: pending, active, and masked. - irq_get_irqchip_state returns the state of the interrupt according to a parameter set to IRQCHIP_STATE_PENDING, IRQCHIP_STATE_ACTIVE, IRQCHIP_STATE_MASKED or IRQCHIP_STATE_LINE_LEVEL. - irq_set_irqchip_state similarly sets the state of the interrupt. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Phong Vo <pvo@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Tin Huynh <tnhuynh@xxxxxxx> Cc: Y Vo <yvo@xxxxxxx> Cc: Toan Le <toanle@xxxxxxx> Cc: Bjorn Andersson <bjorn@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Link: http://lkml.kernel.org/r/1426676484-21812-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fe0c52fc003bc046380e52fe6799c96d770770cc Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jan 26 19:10:19 2015 +0000 genirq: MSI: Fix freeing of unallocated MSI While debugging an unrelated issue with the GICv3 ITS driver, the following trace triggered: WARNING: CPU: 1 PID: 1 at kernel/irq/irqdomain.c:1121 irq_domain_free_irqs+0x160/0x17c() NULL pointer, cannot free irq Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 3.19.0-rc6+ #3690 Hardware name: FVP Base (DT) Call trace: [<ffffffc000089398>] dump_backtrace+0x0/0x13c [<ffffffc0000894e4>] show_stack+0x10/0x1c [<ffffffc00066d134>] dump_stack+0x74/0x94 [<ffffffc0000a92f8>] warn_slowpath_common+0x9c/0xd4 [<ffffffc0000a938c>] warn_slowpath_fmt+0x5c/0x80 [<ffffffc0000ee04c>] irq_domain_free_irqs+0x15c/0x17c [<ffffffc0000ef918>] msi_domain_free_irqs+0x58/0x74 [<ffffffc000386f58>] free_msi_irqs+0xb4/0x1c0 // The msi_prepare callback fails here [<ffffffc0003872c0>] pci_enable_msix+0x25c/0x3d4 [<ffffffc00038746c>] pci_enable_msix_range+0x34/0x80 [<ffffffc0003924ac>] vp_try_to_find_vqs+0xec/0x528 [<ffffffc000392954>] vp_find_vqs+0x6c/0xa8 [<ffffffc0003ee2a8>] init_vq+0x120/0x248 [<ffffffc0003eefb0>] virtblk_probe+0xb0/0x6bc [<ffffffc00038fc34>] virtio_dev_probe+0x17c/0x214 [<ffffffc0003d4a04>] driver_probe_device+0x7c/0x23c [<ffffffc0003d4cb0>] __driver_attach+0x98/0xa0 [<ffffffc0003d2c60>] bus_for_each_dev+0x60/0xb4 [<ffffffc0003d455c>] driver_attach+0x1c/0x28 [<ffffffc0003d41b0>] bus_add_driver+0x150/0x208 [<ffffffc0003d54c0>] driver_register+0x64/0x130 [<ffffffc00038f9e8>] register_virtio_driver+0x24/0x68 [<ffffffc00091320c>] init+0x70/0xac [<ffffffc0000828f0>] do_one_initcall+0x94/0x1d0 [<ffffffc0008e9b00>] kernel_init_freeable+0x144/0x1e4 [<ffffffc00066a434>] kernel_init+0xc/0xd8 ---[ end trace f9ee562a77cc7bae ]--- The ITS msi_prepare callback having failed, we end-up trying to free MSIs that have never been allocated. Oddly enough, the kernel is pretty upset about it. It turns out that this behaviour was expected before the MSI domain was introduced (and dealt with in arch_teardown_msi_irqs). The obvious fix is to detect this early enough and bail out. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422299419-6051-1-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 462b69b1e43ceccab68a47d65b1e46520cd0fdc0 Merge: d8bf368 f22e6e8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Apr 8 23:26:21 2015 +0200 Merge branch 'linus' into irq/core to get the GIC updates which conflict with pending GIC changes. Conflicts: drivers/usb/isp1760/isp1760-core.c commit e33caa82e221b0bbeba373b507e3f134dc2efa1a Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Wed Mar 25 14:37:06 2015 +0800 PCI/ACPI: Optimize device state transition delays The PCI "ACPI additions for FW latency optimizations" ECN (link below) defines two functions in the PCI _DSM: Function 8, "Reset Delay," applies to the entire hierarchy below a PCI host bridge. If it returns one, the OS may assume that all devices in the hierarchy have already completed power-on reset delays. Function 9, "Device Readiness Durations," applies only to the object where it is located. It returns delay durations required after various events if the device requires less time than the spec requires. Delays from this function take precedence over the Reset Delay function. Add support for Reset Delay and part of Device Readiness Durations. [bhelgaas: changelog, comments] Link: https://www.pcisig.com/specifications/conventional/pci_firmware/ECN_fw_latency_optimization_final.pdf Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 82740b9ac2fbd935361c1dc770ec49b692c28e7d Merge: 51df60f 3590ebc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 17:12:50 2015 -0400 Merge tag 'nfc-next-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next Samuel Ortiz says: ==================== NFC: 4.1 pull request This is the NFC pull request for 4.1. This is a shorter one than usual, as the Intel Field Peak NFC driver could not make it in time. We have: - A new driver for NXP NCI based chipsets, like e.g. the NPC100 or the PN7150. It currently only supports an i2c physical layer, but could easily be extended to work on top of e.g. SPI. This driver also includes support for user space triggered firmware updates. - A few minor st21nfc[ab] fixes, cleanups, and comments improvements. - A pn533 error return fix. - A few NFC related logs formatting cleanups. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4274e23fb16721449d973ed607505f5dbdcd2df Merge: 04bdf44 5df0582 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 9 06:59:50 2015 +1000 Merge tag 'drm-intel-fixes-2015-04-08' of git://anongit.freedesktop.org/drm-intel into drm-fixes three commits, all cc: stable, to address Baytrail suspend/resume issues. * tag 'drm-intel-fixes-2015-04-08' of git://anongit.freedesktop.org/drm-intel: drm/i915/vlv: remove wait for previous GFX clk disable request drm/i915/chv: Remove Wait for a previous gfx force-off drm/i915/vlv: save/restore the power context base reg commit 9ce5a232b8a941be9e74c055535d81508207a570 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 15:45:02 2015 -0400 ocfs2_file_write_iter: keep return value and current position update in sync Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cf1b5ea1c5cd26a003b01d4798266a4bdf0ffe64 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 15:41:17 2015 -0400 [regression] ocfs2: do *not* increment ->ki_pos twice generic_file_direct_write() already does that. Broken by "ocfs2: do not fallback to buffer I/O write if appending" Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b6100f10bdc2019a65297d2597c388de2f7dd653 Author: Pavel Machek <pavel@xxxxxx> Date: Fri Mar 13 17:48:40 2015 -0300 [media] Add device tree support to adp1653 flash driver Nokia N900 is switching to device tree, make sure we can use flash there, too. Signed-off-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 51df60f5a428c249cd458451e0b56269417f3cda Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 16:30:01 2015 -0400 sfc: Revert SRIOV changes. This reverts commits: d92916f71a57582ce7276547510cedb2c10b6bd6 ("sfc: Own header for nic-specific sriov functions,") 25672dba9535b804331145379c79f835ba2205c5 ("sfc: Enable VF's via a write to the sysfs file sriov_numvfs") As they break the build with SRIOV disabled and there is no easy way to fix it the way things are arranged. Reported-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a4580075d37d334b40f510cab54008d2dc66827 Author: Sylvain Trias <bozo@xxxxxxxxxxx> Date: Wed Apr 8 10:27:57 2015 +0200 Documentation/memory-barriers.txt: typo fix Fix an obvious typo in the documentation. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 1b13fe718b6ebca2b12cfa3d6cd32b8b68a03e38 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Apr 3 13:04:08 2015 +0200 ASoC: tegra_wm9712: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 14e954f5ddc56c0dc9c32fadf188f44f5855e0fa Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Apr 3 13:04:07 2015 +0200 ASoC: tegra_wm8903: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c67a443b11d96f35f8514283334c50302253f2b4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Apr 3 13:04:06 2015 +0200 ASoC: tegra_rt5677: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 884c0f5b2ad542037b6f04de84a3fd3f82b15828 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Apr 3 13:04:05 2015 +0200 ASoC: tegra_alc5632: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c77dc2c203908fe03582770b016ffc7c84242939 Merge: 012baec 77c7176 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 8 21:09:54 2015 +0100 Merge branch 'topic/jack' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-tegra commit 8c2c8c03cdcb9b0a75b5585e611715fdd8096c38 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Wed Apr 8 10:03:16 2015 -0700 spi: img-spfi: Control CS lines with GPIO When the CONTINUE bit is set, the interrupt status we are polling to identify if a transaction has finished can be sporadic. Even though the transfer has finished, the interrupt status may erroneously indicate that there is still data in the FIFO. This behaviour causes random timeouts in large PIO transfers. Instead of using the CONTINUE bit to control the CS lines, use the SPI core's CS GPIO handling. Also, now that the CONTINUE bit is not being used, we can poll for the ALLDONE interrupt to indicate transfer completion. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a25202b04f17830dbf241a24838f8c8575a56611 Merge: ba33d8a 8543d0e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 8 21:04:43 2015 +0100 Merge branch 'fix/img-spfi' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-img-spfi commit ba33d8ac0c93fdfbdbc825ef690caab5d57e22c2 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Wed Apr 8 10:03:15 2015 -0700 spi: img-spfi: Reset controller after each message Imagination has recommended that the SPFI controller be reset after each message, regardless of success or failure. Do this in an unprepare_message() callback. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 824ab37df006ea2d06e4c4817344c0e8c056b744 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Wed Apr 8 10:03:14 2015 -0700 spi: img-spfi: Implement a handle_err() callback The driver can be greatly simplified by moving the transfer timeout handling to a handle_err() callback. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 89cda06d7f9c3c111a81fcdf5464926f5f984ebc Merge: ede8342b f22e6e8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 8 21:04:25 2015 +0100 Merge tag 'v4.0-rc7' into spi-img-spfi Linux 4.0-rc7 commit 3390e0850b711d163b35508464cfbe0a4477dfe2 Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Wed Mar 25 14:32:25 2015 +0800 PCI: Export pci_find_host_bridge() for use inside PCI core The find_pci_host_bridge() function can be useful to other PCI code so export it. Change its name to pci_find_host_bridge(). Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 18e94a3384368340d438cf67fcaebd72084f34f8 Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Wed Mar 25 14:31:41 2015 +0800 PCI: Make a shareable UUID for PCI firmware ACPI _DSM The PCI Firmware Specification, r3.0, sec 4.6.4.1.3, defines a single UUID for an ACPI _DSM method to provide device-specific control functions. This _DSM method support several functions, including PCI Express Slot Information, PCI Express Slot Number, PCI Bus Capabilities, etc. Move the UUID definition from pci/pci-label.c, where it could be used only for one function, to pci/pci-acpi.c where it can be shared for all these functions. [bhelgaas: changelog] Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c89ac4433030fa95a453b14857358cc6ec2e30db Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Tue Mar 31 19:38:38 2015 -0700 PCI: Fix typo in Thunderbolt kernel message Fix a typo in one of the kernel messages. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 5eeb2922152042b78eccfb6cf70458019296654f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Apr 8 06:04:31 2015 -0700 fou: Don't use const __read_mostly const __read_mostly is a senseless combination. If something is already const it cannot be __read_mostly. Remove the bogus __read_mostly in the fou driver. This fixes section conflicts with LTO. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bca4cf6022ee2ff1ff2142bed28a6fca00d3a44 Author: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx> Date: Wed Apr 8 12:15:18 2015 +0200 net: phy: broadcom: Add BCM54616S phy entry Signed-off-by: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 01d06a9a4c28b6b0121014591a3c3da5e908d51e Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Wed Mar 25 14:13:12 2015 +0900 PCI: exynos: Fix INTx enablement statement termination error Use a semicolon, not a comma, to terminate a statement. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit c1f866767777d1c6abae0ec57effffcb72017c00 Author: David Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 7 23:05:42 2015 -0400 netfilter: Fix switch statement warnings with recent gcc. More recent GCC warns about two kinds of switch statement uses: 1) Switching on an enumeration, but not having an explicit case statement for all members of the enumeration. To show the compiler this is intentional, we simply add a default case with nothing more than a break statement. 2) Switching on a boolean value. I think this warning is dumb but nevertheless you get it wholesale with -Wswitch. This patch cures all such warnings in netfilter. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1fb37a8178da007cad75f48e2355b9dcb0711e06 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Apr 8 11:21:35 2015 -0700 PCI: iproc: Add Broadcom iProc PCIe support Add support for the Broadcom iProc PCIe controller. pcie-iproc.c is the common core driver, and a front-end bus interface needs to be added to support different bus interfaces. pcie-iproc-platform.c contains the support for the platform bus interface. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 1b55d62259187fe77ade87dccc33522d51f113ee Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Apr 8 11:21:34 2015 -0700 PCI: iproc: Add DT docs for Broadcom iProc PCIe driver Document the Broadcom iProc PCIe platform interface device tree binding. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit e85e85c85a6ae250ef2549065fc0c7377ba4689b Merge: 5f9755d 5b5800f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 15:19:17 2015 -0400 Merge branch 'selinux-nlmsg' Nicolas Dichtel says: ==================== selinux: add some missing nlmsg commands It's not a critical issue, thus the patches are based on net-next. Patches are splitted because the 'Fixes' tag is not the same for all commands. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b5800fad072133e4a9c2efbf735baaac83dec86 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Wed Apr 8 18:36:42 2015 +0200 selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO These commands are missing. Fixes: 28d8909bc790 ("[XFRM]: Export SAD info.") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e6deebafb45fb271ae6939d48832e920b8fb74e Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Wed Apr 8 18:36:41 2015 +0200 selinux/nlmsg: add XFRM_MSG_GETSPDINFO This command is missing. Fixes: ecfd6b183780 ("[XFRM]: Export SPD info") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b7834d3e1b828429faa5dc41a480919e52d3f31 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Wed Apr 8 18:36:40 2015 +0200 selinux/nlmsg: add XFRM_MSG_NEWSPDINFO This new command is missing. Fixes: 880a6fab8f6b ("xfrm: configure policy hash table thresholds by netlink") Reported-by: Christophe Gouault <christophe.gouault@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 387f989a60db00207c39b9fe9ef32c897356aaba Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Wed Apr 8 18:36:39 2015 +0200 selinux/nlmsg: add RTM_GETNSID This new command is missing. Fixes: 9a9634545c70 ("netns: notify netns id events") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5bdfbc1f19d047a182d2bab102c22bbf2a1ea244 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Wed Apr 8 18:36:38 2015 +0200 selinux/nlmsg: add RTM_NEWNSID and RTM_GETNSID These new commands are missing. Fixes: 0c7aecd4bde4 ("netns: add rtnl cmd to add and get peer netns ids") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ec1e23d1d43ce96fe9a3b96ffbf3fbb702a8db7 Merge: 0ad2a83 443be0e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 15:17:38 2015 -0400 Merge branch 'rds' Sowmini Varadhan says: ==================== RDS: RDS-core fixes This patch-series updates the RDS core and rds-tcp modules with some bug fixes that were originally authored by Andy Grover, Zach Brown, and Chris Mason. v2: Code review comment by Sergei Shtylov V3: DaveM comments: - dropped patches 3, 5 for "heuristic" changes in rds_send_xmit(). Investigation into the root-cause of these IB-triggered changes produced the feedback: "I don't remember seeing "RDS: Stuck RM" message in last 1-1.5 years and checking with other folks. It may very well be some old workaround for stale connection for which long term fix is already made and this part of code not exercised anymore." Any such fixes, *if* they are needed, can/should be done in the IB specific RDS transport modules. - similarly dropped the LL_SEND_FULL patch (patch 6 in v2 set) v4: Documentation/networking/rds.txt contains incorrect references to "missing sysctl values for pf_rds and sol_rds in mainline". The sysctl values were never needed in mainline, thus fix the documentation. v5: Clarify comment per http://www.spinics.net/lists/netdev/msg324220.html v6: Re-added entire version history to cover letter. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 443be0e5affe3acb6dd81e7402951677e0a0eb35 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Apr 8 12:33:47 2015 -0400 RDS: make sure not to loop forever inside rds_send_xmit If a determined set of concurrent senders keep the send queue full, we can loop forever inside rds_send_xmit. This fix has two parts. First we are dropping out of the while(1) loop after we've processed a large batch of messages. Second we add a generation number that gets bumped each time the xmit bit lock is acquired. If someone else has jumped in and made progress in the queue, we skip our goto restart. Original patch by Chris Mason. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1789b2c077f6d6c82b04cfe49a0fec020dc42488 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Apr 8 12:33:46 2015 -0400 RDS: only use passive connections when addresses match Passive connections were added for the case where one loopback IB connection between identical addresses needs another connection to store the second QP. Unfortunately, they were also created in the case where the addesses differ and we already have both QPs. This lead to a message reordering bug. - two different IB interfaces and addresses on a machine: A B - traffic is sent from A to B - connection from A-B is created, connect request sent - listening accepts connect request, B-A is created - traffic flows, next_rx is incremented - unacked messages exist on the retrans list - connection A-B is shut down, new connect request sent - listen sees existing loopback B-A, creates new passive B-A - retrans messages are sent and delivered because of 0 next_rx The problem is that the second connection request saw the previously existing parent connection. Instead of using it, and using the existing next_rx_seq state for the traffic between those IPs, it mistakenly thought that it had to create a passive connection. We fix this by only using passive connections in the special case where laddr and faddr match. In this case we'll only ever have one parent sending connection requests and one passive connection created as the listening path sees the existing parent connection which initiated the request. Original patch by Zach Brown Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e6b29deafad3ce020dcf873a27a95c0cb9966c5b Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Apr 8 11:21:33 2015 -0700 PCI: Export symbols required for loadable host driver modules Export the following symbols so they can be referenced by a PCI host bridge driver compiled as a kernel loadable module: pci_common_swizzle pci_create_root_bus pci_stop_root_bus pci_remove_root_bus pci_assign_unassigned_bus_resources pci_fixup_irqs Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit ebe96e641dee2cbd135ee802ae7e40c361640088 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Apr 8 12:33:45 2015 -0400 RDS: Documentation: Document AF_RDS, PF_RDS and SOL_RDS correctly. AF_RDS, PF_RDS and SOL_RDS are available in header files, and there is no need to get their values from /proc. Document this correctly. Fixes: 0c5f9b8830aa ("RDS: Documentation") Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f9755d26fbfcb6787a6746653f1760fef0d5ba5 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Apr 7 13:38:45 2015 -0700 stmmac: Add an optional register interface clock The DWMAC block on certain SoCs (such as IMG Pistachio) have a second clock which must be enabled in order to access the peripheral's register interface, so add support for requesting and enabling an optional "pclk". Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2790460e145d198fe6925d405301a49b2d8cb03f Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Apr 8 10:17:58 2015 -0700 vxlan: fix a shadow local variable Commit 79b16aadea32cce077 ("udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb()") introduce 'sk' but we already have one inner 'sk'. Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc7016ab1a22fb26f388c2fb2b692b89897cbc3e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Apr 8 20:47:55 2015 +0200 ALSA: hda - Fix headphone pin config for Lifebook T731 Some BIOS version of Fujitsu Lifebook T731 seems to set up the headphone pin (0x21) without the assoc number 0x0f while it's set only to the output on the docking port (0x1a). With the recent commit [03ad6a8c93b6: ALSA: hda - Fix "PCM" name being used on one DAC when there are two DACs], this resulted in the weird mixer element mapping where the headphone on the laptop is assigned as a shared volume with the speaker and the docking port is assigned as an individual headphone. This patch improves the situation by correcting the headphone pin config to the more appropriate value. Reported-and-tested-by: Taylor Smock <smocktaylor@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 09f50121e3b96a613e7c9724e7bbf31fdec640f7 Author: Christian Dale <kernel@xxxxxxxxxxxx> Date: Mon Mar 9 02:19:01 2015 -0300 [media] WinFast DTV2000 DS Plus Add Leadtek WinFast DTV2000DS Plus device based on Realtek RTL2832U. I have not tested the remote, but it is the Y04G0051 model. Signed-off-by: Christian Dale <kernel@xxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1a60667fc81fdab3733a1d41480da3a5d0ccecea Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 12:55:10 2015 +0100 ASoC: wm8804: Enable runtime PM Currently both the oscillator and the PLL are powered up in set_bias_level. This can be problematic when using output clocks from the wm8804 for other devices. The snd_soc_codec_set_pll API defines that a clock should be available once the call returns, however, with all the clocking controlled in set_bias_level this is not currently the case. This patch enables pm_runtime for the wm8804, enabling both the regulators and the oscillator when the chip resumes, and enabling the PLL in the snd_soc_codec_set_pll call. Naturally the enabling the PLL will also cause the chip to resume. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5631f18763f1b0989cec7cbf8f3badcb74dfe469 Author: Sapthagiri Baratam <sapthagiri.baratam@xxxxxxxxxxxxx> Date: Tue Apr 7 12:55:09 2015 +0100 ASoC: wm8804: Add DAPM widgets for SPDIF/AIF This change converts the driver to use DAPM to control the power for the various blocks on the chip. As part of this change the existing controls "TX Playback Switch" (controlled power for the SPDIF TX block) and "AIF Playback Switch" (controlled power for the AIF block) are both removed, as they are now redundant since the power state of those blocks is controlled automatically by DAPM. There are several benefits of this change, the most important of which is this change adds support for powering down the SPDIF RX block. The RX block will automatically assume control of the PLL on the chip when it is receiving a signal, so leaving this enabled all the time as was currently done in the driver can be problematic. An incoming SPDIF signal that is not being used can completely destroy the clocking for an in use TX signal. But this change ensures that the RX block will only be powered when the user intends to be receiving data, thus avoiding this issue. Additional benefits include the chip being simpler to operate as the power no longer needs to be manually controlled between use-cases and a small power saving (although it is acknowledged that this is likely unimportant in the typical use-cases for this chip). Signed-off-by: Sapthagiri Baratam <sapthagiri.baratam@xxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2f272e7b015c6d0f308d1a03e71557c962b10ce9 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Tue Apr 7 17:14:51 2015 +0300 clk: qcom: Fix parent_map translations When we introduced the parent_map tables, we missed to update some of the functions where mapping is translated. Fix this. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Tested-by: Nicolas Dechesne <nicolas.dechesne@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 00c78a3728dff798b4c9d5e2d38c86106ff6e8c7 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Apr 8 15:04:35 2015 -0300 dvb-frontends: use IS_REACHABLE() instead of IS_ENABLED() Changeset 9b174527e7b7 added this new macro, ensuring that it is true only if the function is actually reachable. However, newer drivers were added since when it was written. So, change those drivers to also use it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9b174527e7b756cda9f5d9e541f87b7fec9cfdf0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Feb 18 14:12:42 2015 -0300 [media] Add and use IS_REACHABLE macro In the media drivers, the v4l2 core knows about all submodules and calls into them from a common function. However this cannot work if the modules that get called are loadable and the core is built-in. In that case we get drivers/built-in.o: In function `set_type': drivers/media/v4l2-core/tuner-core.c:301: undefined reference to `tea5767_attach' drivers/media/v4l2-core/tuner-core.c:307: undefined reference to `tea5761_attach' drivers/media/v4l2-core/tuner-core.c:349: undefined reference to `tda9887_attach' drivers/media/v4l2-core/tuner-core.c:405: undefined reference to `xc4000_attach' This was working previously, until the IS_ENABLED() macro was used to replace the construct like #if defined(CONFIG_DVB_CX24110) || (defined(CONFIG_DVB_CX24110_MODULE) && defined(MODULE)) with the difference that the new code no longer checks whether it is being built as a loadable module itself. To fix this, this new patch adds an 'IS_REACHABLE' macro, which evaluates true in exactly the condition that was used previously. The downside of this is that this trades an obvious link error for a more subtle runtime failure, but it is clear that the change that introduced the link error was unintentional and it seems better to revert it for now. Also, a similar change was originally created by Trent Piepho and then reverted by teh change to the IS_ENABLED macro. Ideally Kconfig would be used to avoid the case of a broken dependency, or the code restructured in a way to turn around the dependency, but either way would require much larger changes here. Fixes: 7b34be71db53 ("[media] use IS_ENABLED() macro") See-also: c5dec9fb248e ("V4L/DVB (4751): Fix DBV_FE_CUSTOMISE for card drivers compiled into kernel") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a87a4d34286e5f790d2b495db5f37753ef75a80d Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Thu Feb 26 07:13:06 2015 -0300 [media] si2168: tda10071: m88ds3103: Fix trivial typos Change 'firmare' to 'firmware' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 856260a57cdfa5c121c7b7a6e816409bab07885c Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Mon Sep 22 21:30:46 2014 -0300 [media] xc5000: fix memory corruption when unplugging device This patch addresses a regression introduced in the following patch: commit 5264a522a597032c009f9143686ebf0fa4e244fb Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> [media] media: tuner xc5000 - release firmwware from xc5000_release() The "priv" struct is actually reference counted, so the xc5000_release() function gets called multiple times for hybrid devices. Because release_firmware() was always being called, it would work fine as expected on the first call but then the second call would corrupt aribtrary memory. Set the pointer to NULL after releasing so that we don't call release_firmware() twice. This problem was detected in the HVR-950q where plugging/unplugging the device multiple times would intermittently show panics in completely unrelated areas of the kernel. Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3df2f59f0aae2f5380a9d8037c91dcab75c4478d Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Wed Apr 8 19:19:50 2015 +0200 hwmon: (ibmpowernv) pretty print labels The new OPAL device tree adds a few properties which can be used to add extra information on the sensor label. In the case of a cpu core sensor, the firmware exposes the physical identifier of the core in the "ibm,pir" property. The driver translates this identifier in a linux cpu number and prints out a range corresponding to the hardware threads of the core (as they share the same sensor). The numbering gives a hint on the localization of the core in the system (which socket, which chip). Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2bcd3787b946b725a37763c0877da0996f5ec064 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Wed Apr 8 19:19:49 2015 +0200 hwmon: (ibmpowernv) add a label attribute Currently, sensors are only identified by their type and index. The new OPAL device tree can expose extra properties to identify some sensors by their name or location. This patch adds the creation of a new hwmon *_label attribute when such properties are detected. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 14681637ab3013d3577cc59633159f425733532e Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Wed Apr 8 19:19:48 2015 +0200 hwmon: (ibmpowernv) add support for the new device tree The new OPAL device tree for sensors has a different layout and uses new property names, for the type and for the handler used to capture the sensor data. This patch modifies the ibmpowernv driver to support such a tree in a way preserving compatibility with older OPAL firmwares. This is achieved by changing the error path of the routine parsing an OPAL node name. The node is simply considered being from the new device tree layout and fallback values are used. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9e4f74b11925d033dcbe429f1fb6202cab03ad8f Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Wed Apr 8 19:19:47 2015 +0200 hwmon: (ibmpowernv) add a helper routine create_hwmon_attr This should shorten a bit the code necessary to create a hmwon attribute. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit c6b424fee7511407107403d3a7c50e0756ae282e Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Wed Apr 8 19:05:56 2015 +0800 ASoC: max98090: add shutdown callback for max98090 To fix pop noise when shutdown,the pop noise during shutdown is the pmic cutoff power of codec without any notice. Signed-off-by: jay.xu <xjq@xxxxxxxxxxxxxx> Signed-off-by: zhengxing <zhengxing@xxxxxxxxxxxxxx> Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1f544fd8ff377127a512e20358045cc9b92c245c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Apr 8 18:34:25 2015 +0530 ASoC: Intel: remove unused functions these functions were never called by anyone. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bba0bdd7ad4713d82338bcd9b72d57e9335a664b Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Wed Mar 4 10:31:47 2015 +0100 Defer processing of REQ_PREEMPT requests for blocked devices SCSI transport drivers and SCSI LLDs block a SCSI device if the transport layer is not operational. This means that in this state no requests should be processed, even if the REQ_PREEMPT flag has been set. This patch avoids that a rescan shortly after a cable pull sporadically triggers the following kernel oops: BUG: unable to handle kernel paging request at ffffc9001a6bc084 IP: [<ffffffffa04e08f2>] mlx4_ib_post_send+0xd2/0xb30 [mlx4_ib] Process rescan-scsi-bus (pid: 9241, threadinfo ffff88053484a000, task ffff880534aae100) Call Trace: [<ffffffffa0718135>] srp_post_send+0x65/0x70 [ib_srp] [<ffffffffa071b9df>] srp_queuecommand+0x1cf/0x3e0 [ib_srp] [<ffffffffa0001ff1>] scsi_dispatch_cmd+0x101/0x280 [scsi_mod] [<ffffffffa0009ad1>] scsi_request_fn+0x411/0x4d0 [scsi_mod] [<ffffffff81223b37>] __blk_run_queue+0x27/0x30 [<ffffffff8122a8d2>] blk_execute_rq_nowait+0x82/0x110 [<ffffffff8122a9c2>] blk_execute_rq+0x62/0xf0 [<ffffffffa000b0e8>] scsi_execute+0xe8/0x190 [scsi_mod] [<ffffffffa000b2f3>] scsi_execute_req+0xa3/0x130 [scsi_mod] [<ffffffffa000c1aa>] scsi_probe_lun+0x17a/0x450 [scsi_mod] [<ffffffffa000ce86>] scsi_probe_and_add_lun+0x156/0x480 [scsi_mod] [<ffffffffa000dc2f>] __scsi_scan_target+0xdf/0x1f0 [scsi_mod] [<ffffffffa000dfa3>] scsi_scan_host_selected+0x183/0x1c0 [scsi_mod] [<ffffffffa000edfb>] scsi_scan+0xdb/0xe0 [scsi_mod] [<ffffffffa000ee13>] store_scan+0x13/0x20 [scsi_mod] [<ffffffff811c8d9b>] sysfs_write_file+0xcb/0x160 [<ffffffff811589de>] vfs_write+0xce/0x140 [<ffffffff81158b53>] sys_write+0x53/0xa0 [<ffffffff81464592>] system_call_fastpath+0x16/0x1b [<00007f611c9d9300>] 0x7f611c9d92ff Reported-by: Max Gurtuvoy <maxg@xxxxxxxxxxxx> Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2e7cee027b26cbe7e6685a7a14bd2850bfe55d33 Author: John Soni Jose <sony.john-n@xxxxxxxxxx> Date: Thu Feb 12 06:45:47 2015 +0530 be2iscsi: Fix kernel panic when device initialization fails Kernel panic was happening as iscsi_host_remove() was called on a host which was not yet added. Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit aadd51aa71f8d013c818a312bb2a0c5714830dbc Merge: 68e942e ee90b81 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Apr 8 17:40:17 2015 +0200 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Resolve conflicts between 5888b93 ("Merge branch 'nf-hook-compress'") and Florian Westphal br_netfilter works. Conflicts: net/bridge/br_netfilter.c Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 803afb316eba2df2bba16d984eb90b67c147c922 Merge: 8ae178f e88f7e0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 12:27:26 2015 -0400 Merge branch 'hv_netvsc_linearize' Vitaly Kuznetsov says: ==================== hv_netvsc: linearize SKBs bigger than MAX_PAGE_BUFFER_COUNT-2 pages This patch series fixes the same issue which was fixed in Xen with commit 97a6d1bb2b658ac85ed88205ccd1ab809899884d ("xen-netfront: Fix handling packets on compound pages with skb_linearize"). It is relatively easy to create a packet which is small in size but occupies more than 30 (MAX_PAGE_BUFFER_COUNT-2) pages. Here is a kernel-mode reproducer which tries sending a packet with only 34 bytes of payload (but on 34 pages) and fails: static int __init sendfb_init(void) { struct socket *sock; int i, ret; struct sockaddr_in in4_addr = { 0 }; struct page *pages[17]; unsigned long flags; ret = sock_create_kern(AF_INET, SOCK_STREAM, IPPROTO_TCP, &sock); if (ret) { pr_err("failed to create socket: %d!\n", ret); return ret; } in4_addr.sin_family = AF_INET; /* www.google.com, 74.125.133.99 */ in4_addr.sin_addr.s_addr = cpu_to_be32(0x4a7d8563); in4_addr.sin_port = cpu_to_be16(80); ret = sock->ops->connect(sock, (struct sockaddr *)&in4_addr, sizeof(in4_addr), 0); if (ret) { pr_err("failed to connect: %d!\n", ret); return ret; } /* We can send up to 17 frags */ flags = MSG_MORE; for (i = 0; i < 17; i++) { if (i == 16) flags = MSG_EOR; pages[i] = alloc_pages(GFP_KERNEL | __GFP_COMP, 1); if (!pages[i]) { pr_err("out of memory!"); goto free_pages; } sock->ops->sendpage(sock, pages[i], PAGE_SIZE -1, 2, flags); } free_pages: for (; i > 0; i--) __free_pages(pages[i - 1], 1); printk("sendfb_init: test done\n"); return -1; } module_init(sendfb_init); MODULE_LICENSE("GPL"); A try to load such module results in multiple 'kernel: hv_netvsc vmbus_15 eth0: Packet too big: 100' messages as all retries fail as well. It should also be possible to trigger the issue from userspace, I expect e.g. NFS under heavy load to get stuck sometimes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e88f7e078e47d4261a22e6f20a574620cbfc7a4b Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Apr 8 17:54:06 2015 +0200 hv_netvsc: try linearizing big SKBs before dropping them In netvsc_start_xmit() we can handle packets which are scattered around not more than MAX_PAGE_BUFFER_COUNT-2 pages. It is, however, easy to create a packet which is not big in size but occupies more pages (e.g. if it uses frags on compound pages boundaries). When we drop such packet it cases sender to try resending it but in most cases it will try resending the same packet which will also get dropped, this will cause the particular connection to stick. To solve the issue we can try linearizing skb. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 981a1bd85a959bb3b44e07c212ebc61c62ad7cf9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Apr 8 17:54:05 2015 +0200 hv_netvsc: use single existing drop path in netvsc_start_xmit ... which validly uses dev_kfree_skb_any() instead of dev_kfree_skb(). Setting ret to -EFAULT and -ENOMEM have no real meaning here (we need to set it to anything but -EAGAIN) as we drop the packet and return NETDEV_TX_OK anyway. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a053fc318bc5d28cd25168c948255fd48a29ea26 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Apr 9 01:15:03 2015 +0900 ALSA: bebob: fix to processing in big-endian machine for sending cue Some M-Audio devices require to receive bootup command just after powering on, while codes in BeBoB driver doesn't work properly in big-endian machine because the command should be aligned by little-endian. This commit fixes this bug. This fix should go to stable kernel. Cc: Takayuki Shiroma <t.shiroma.oki@xxxxxxxxx> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8ae178fb1ce0428d1a22c36c8493bda4807ad3b8 Merge: b5de97b 25672db Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 12:21:36 2015 -0400 Merge branch 'sfc-next' Shradha Shah says: ==================== sfc: Nic specific sriov functions, netdev_ops and sriov_configure First two patches among the series of patches to support SRIOV on EF10. First patch declares nic specific sriov functions in nic specific headers, creates only one instance of the netdev_ops, removes sriov functionality from Falcon code. Second patch adds support for sriov_configure. The Virtual Functions can be enabled but they do not bind to the SFC driver just yet. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25672dba9535b804331145379c79f835ba2205c5 Author: Shradha Shah <sshah@xxxxxxxxxxxxxx> Date: Wed Apr 8 15:25:04 2015 +0100 sfc: Enable VF's via a write to the sysfs file sriov_numvfs This patch adds support for the use of sriov_configure on EF10 to enable Virtual Functions while the driver is loaded. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d92916f71a57582ce7276547510cedb2c10b6bd6 Author: Shradha Shah <sshah@xxxxxxxxxxxxxx> Date: Wed Apr 8 15:24:45 2015 +0100 sfc: Own header for nic-specific sriov functions, single instance of netdev_ops and sriov removed from Falcon code By putting all the efx_{siena,ef10}_sriov_* declarations in {siena,ef10}_sriov.h, ensure they cannot be called from nic-generic code. Also fixes up an instance of this, where mcdi.c was calling efx_siena_sriov_flr. The single instance of netdev_ops should call general high level functions that can then call something adapter specific in efx_nic_type. We should only do adapter specialisation via efx_nic_type. Removal of sriov functionality from the Falcon code means that tests are needed for the presence of some callbacks. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09bf4a858d72a632dd12a61bda1d5272d67b2ce9 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Apr 8 13:16:57 2015 -0300 Revert "[media] v4l: vb2-memops: use vma slab when vma allocation" Please revert this patch: vm_area_cachep is not exported, so you cannot use this in a module. This reverts commit 5ed1c328ea077d70e1ebcd5188dc77cdc754df3a. Reported-by: Hans Verkuil <hverkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b5de97bc1753fb9c5be103a820ea5473923ca067 Merge: 04abac5 837a1db Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 12:15:15 2015 -0400 Merge branch 'dma_rmb_wmb' Alexander Duyck says: ==================== Replace wmb()/rmb() with dma_wmb()/dma_rmb() where appropriate This is a start of a side project cleaning up the drivers that can make use of the dma_wmb and dma_rmb calls. The general idea is to start removing the unnecessary wmb/rmb calls from a number of drivers and to make use of the lighter weight dma_wmb/dma_rmb calls as this should allow for an overall improvement in performance as each barrier can cost a significant number of cycles and on architectures such as x86 this is unnecessary. These changes are what I would consider low hanging fruit. The likelihood of the changes introducing an error should be low since the use of the barriers in these cases are fairly obvious. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 837a1dba0078d0bad755f6cb13a48c1623d11ff5 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Apr 7 16:55:27 2015 -0700 e1000, e1000e: Use dma_rmb instead of rmb for descriptor read ordering This change replaces calls to rmb with dma_rmb in the case where we want to order all follow-on descriptor reads after the check for the descriptor status bit. 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 03cc864a2571af278fc83d24b6a78d8424f92736 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Apr 7 16:55:21 2015 -0700 s2io: Update driver to use dma_wmb This change updates several spots where a wmb was being used to instead use a dma_wmb to flush out writes before updating the control portion of the descriptor. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4468cc6f2aeccaea74baa3b211a49851fd84158 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Apr 7 16:55:14 2015 -0700 sungem, sunhme, sunvnet: Update drivers to use dma_wmb/rmb This patch goes through and replaces wmb/rmb with dma_wmb/dma_rmb in cases where the barrier is being used to order writes or reads to just memory and doesn't involve any programmed I/O. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 882302c8598aa9d3d82adef10f283fa7ec29fb32 Author: Dimitris Lampridis <dlampridis@xxxxxxxxx> Date: Sat Feb 14 11:11:34 2015 -0300 [media] rtl28xxu: add support for Turbo-X DTT2000 ID 1b80:d3a4 Afatech Simply added the PID (0xd3a4) of this DVB-T USB device to the list of rtl2832u-supported devices. VID (0x1b80) is same as KWORLD2. Tested and verified to work in amd64 with kernels 3.13.0 and 3.16.0. Signed-off-by: Dimitris Lampridis <dlampridis@xxxxxxxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 203577562449c1889caa3a321be572ed2b972ac9 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Feb 11 08:08:51 2015 -0300 [media] rtl2832: remove compiler warning Cleaning up the following compiler warning: rtl2832.c:703:12: warning: 'tmp' may be used uninitialized in this function Even though it could never happen since if rtl2832_rd_demod_reg () doesn't set tmp, this line would never run because we go to err. It is still nice to avoid compiler warnings. [mchehab@xxxxxxxxxxxxxxx: fix a merge conflict with another patch meant to fix the same bug, but doing it at the wrong way] Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 04abac5fd6ad9341434add1c27047f4b16ada92c Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Tue Apr 7 16:16:29 2015 -0700 bonding: Remove unnecessary initialization bond_3ad_bind_slave() calls ad_initialize_port() and then immediately assigns correct values making some of that initialization unnecessary. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3cd9ee11dd72cfb8ff5d3dde47cd197e9b22cd2 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Tue Apr 7 16:16:11 2015 -0700 bonding: Code re-factoring for admin, oper-key operations This patch breaks the rich assignments into it's own statements and removes some duplicate code where admin-key, & oper-key are updated. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b112871186e3ab8333851c0caf203b47d7561b9 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 17:01:23 2015 +0200 ipv6: call iptunnel_xmit with NULL sock pointer if no tunnel sock is available Fixes: 79b16aadea32cce ("udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb().") Reported-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 926a882f6916fd76b6f8ee858d45a2241c5e7999 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 17:01:22 2015 +0200 ipv4: ip_tunnel: use net namespace from rtable not socket The socket parameter might legally be NULL, thus sock_net is sometimes causing a NULL pointer dereference. Using net_device pointer in dst_entry is more reliable. Fixes: b6a7719aedd7e5c ("ipv4: hash net ptr into fragmentation bucket selection") Reported-by: Rick Jones <rick.jones2@xxxxxx> Cc: Rick Jones <rick.jones2@xxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80ccf4ad06dc9d2f06a8347b2d309cdc959f72b3 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Tue Feb 10 07:41:56 2015 -0300 [media] rc: img-ir: fix error in parameters passed to irq_free() img_ir_remove() passes a pointer to the ISR function as the 2nd parameter to irq_free() instead of a pointer to the device data structure. This issue causes unloading img-ir module to fail with the below warning after building and loading img-ir as a module. WARNING: CPU: 2 PID: 155 at ../kernel/irq/manage.c:1278 __free_irq+0xb4/0x214() Trying to free already-free IRQ 58 Modules linked in: img_ir(-) CPU: 2 PID: 155 Comm: rmmod Not tainted 3.14.0 #55 ... Call Trace: ... [<8048d420>] __free_irq+0xb4/0x214 [<8048d6b4>] free_irq+0xac/0xf4 [<c009b130>] img_ir_remove+0x54/0xd4 [img_ir] [<8073ded0>] platform_drv_remove+0x30/0x54 ... Fixes: 160a8f8aec4d ("[media] rc: img-ir: add base driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.15+ Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 974e08d8f02fdfc97915054d8e0c7d3cbe6b9e6e Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Feb 17 11:30:34 2015 -0300 [media] cxusb: Use enum to represent table offsets rather than hard-coding numbers Use enum to represent table offsets rather than hard-coding numbers to avoid problems with the numbers becoming out of sync with the table. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d10b730f97a7f1fa58c9ec300828f87157cd6b95 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Apr 8 10:04:55 2015 -0500 Revert "sparc/PCI: Clip bridge windows to fit in upstream windows" This reverts commit d63e2e1f3df904bf6bd150bdafb42ddbb3257ea8. David Ahern reported that d63e2e1f3df9 breaks booting on an 8-socket T5 sparc system. He also verified that the system boots with d63e2e1f3df9 reverted. Yinghai has some fixes, but they need a little more polishing than we can do before v4.0. Link: http://lkml.kernel.org/r/5514391F.2030300@xxxxxxxxxx # report Link: http://lkml.kernel.org/r/1427857069-6789-1-git-send-email-yinghai@xxxxxxxxxx # patches Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.19+ commit 51ab7155c08baf45cc2aa911961e5b78422e478f Merge: 6645f31 a1e12da Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Apr 8 17:03:47 2015 +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: - Teach 'perf record' about perf_event_attr.clockid (Peter Zijlstra) - Improve 'perf sched replay' on high CPU core count machines (Yunlong Song) - Consider PERF_RECORD_ events with cpumode == 0 in 'perf top', removing one cause of long term memory usage buildup, i.e. not processing PERF_RECORD_EXIT events (Arnaldo Carvalho de Melo) - Add 'I' event modifier for perf_event_attr.exclude_idle bit (Jiri Olsa) - Respect -i option 'in perf kmem' (Jiri Olsa) Infrastructure changes: - Honor operator priority in libtraceevent (Namhyung Kim) - Merge all perf_event_attr print functions (Peter Zijlstra) - Check kmaps access to make code more robust (Wang Nan) - Fix inverted logic in perf_mmap__empty() (He Kuang) - Fix ARM 32 'perf probe' building error (Wang Nan) - Fix perf_event_attr tests (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a490c656c96b54e7582a6c846c7d1d3dba61e373 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Mar 31 11:30:07 2015 +0300 gpio: dwapb: enable for ARC Synopsys SDP platform uses DW GPIO controller in design with ARC cores. So adding ARC to architectures that may select this GPIO controller. Even though support for Synopsys SDP is yet to be submitted we'll need this tiny option enabled at least for properly working interrupts (DW GPIO controller is used as interrupt controller). Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7414b0993cd020aea14574065c28b55f3f849688 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Tue Mar 31 12:37:18 2015 +0300 pinctrl: Add support for PM8916 GPIO's and MPP's Add compatible string definitions and supported pin functions. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8647ca9ad5a0065ad53a2ad7e39163592b6ed35e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Mar 24 11:12:45 2015 -0500 PCI: Don't look for ACPI hotplug parameters if ACPI is disabled Booting a v3.18 or newer Xen domU kernel with PCI devices passed through results in an oops (this is a 32-bit 3.13.11 dom0 with a 64-bit 4.4.0 hypervisor and 32-bit domU): BUG: unable to handle kernel paging request at 0030303e IP: [<c06ed0e6>] acpi_ns_validate_handle+0x12/0x1a Call Trace: [<c06eda4d>] ? acpi_evaluate_object+0x31/0x1fc [<c06b78e1>] ? pci_get_hp_params+0x111/0x4e0 [<c0407bc7>] ? xen_force_evtchn_callback+0x17/0x30 [<c04085fb>] ? xen_restore_fl_direct_reloc+0x4/0x4 [<c0699d34>] ? pci_device_add+0x24/0x450 Don't look for ACPI configuration information if ACPI has been disabled. I don't think this is the best fix, because we can boot plain Linux (no Xen) with "acpi=off", and we don't need this check in pci_get_hp_params(). There should be a better fix that would make Xen domU work the same way. The domU kernel has ACPI support but it has no AML. There should be a way to initialize the ACPI data structures so things fail gracefully rather than oopsing. This is an interim fix to address the regression. Fixes: 6cd33649fa83 ("PCI: Add pci_configure_device() during enumeration") Link: https://bugzilla.kernel.org/show_bug.cgi?id=96301 Reported-by: Michael D Labriola <mlabriol@xxxxxxxx> Tested-by: Michael D Labriola <mlabriol@xxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.18+ commit 9828413d4715d4ed12bc92b161f4ed377d777ffb Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 31 17:23:45 2015 -0400 tracing: Add enum_map file to show enums that have been mapped Add a enum_map file in the tracing directory to see what enums have been saved to convert in the print fmt files. As this requires the enum mapping to be persistent in memory, it is only created if the new config option CONFIG_TRACE_ENUM_MAP_FILE is enabled. This is for debugging and will increase the persistent memory footprint of the kernel. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 91df6089aa330f12f31cf4b710350a3d6e3d66e6 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 17:08:41 2015 -0400 writeback: Export enums used by tracepoint to user space The enums used in tracepoints for __print_symbolic() do not have their values shown in the tracepoint format files and this makes it difficult for user space tools to convert the binary values to the strings they are to represent. Add TRACE_DEFINE_ENUM(x) macros to export the enum names to their values to make the tracing output from user space tools more robust. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Dave Chinner <dchinner@xxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 68e942e88add0ac8576fc8397e86495edf3dcea7 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sun Apr 5 14:43:38 2015 +0200 netfilter: nf_tables: support optional userdata for set elements Add an userdata set extension and allow the user to attach arbitrary data to set elements. This is intended to hold TLV encoded data like comments or DNS annotations that have no meaning to the kernel. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 22fe54d5fefcfa98c58cc2f4607dd26d9648b3f5 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sun Apr 5 14:41:08 2015 +0200 netfilter: nf_tables: add support for dynamic set updates Add a new "dynset" expression for dynamic set updates. A new set op ->update() is added which, for non existant elements, invokes an initialization callback and inserts the new element. For both new or existing elements the extenstion pointer is returned to the caller to optionally perform timer updates or other actions. Element removal is not supported so far, however that seems to be a rather exotic need and can be added later on. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 11113e190bf0ad73086884f87efccc994ff28b3d Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sun Apr 5 14:41:07 2015 +0200 netfilter: nf_tables: support different set binding types Currently a set binding is assumed to be related to a lookup and, in case of maps, a data load. In order to use bindings for set updates, the loop detection checks must be restricted to map operations only. Add a flags member to the binding struct to hold the set "action" flags such as NFT_SET_MAP, and perform loop detection based on these. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3dd0673ac3cd7d05cde103396ec7ec410a901de2 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sun Apr 5 14:41:06 2015 +0200 netfilter: nf_tables: prepare set element accounting for async updates Use atomic operations for the element count to avoid races with async updates. To properly handle the transactional semantics during netlink updates, deleted but not yet committed elements are accounted for seperately and are treated as being already removed. This means for the duration of a netlink transaction, the limit might be exceeded by the amount of elements deleted. Set implementations must be prepared to handle this. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4a8678efbec6b0ea46baafb77cd297e6e02da933 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sun Apr 5 14:41:05 2015 +0200 netfilter: nf_tables: fix set selection when timeouts are requested The NFT_SET_TIMEOUT flag is ignore in nft_select_set_ops, which may lead to selection of a set implementation that doesn't actually support timeouts. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 43d0f71f0e3f36cc54de8e95bd8005063fa9e818 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 17:04:45 2015 -0400 v4l: Export enums used by tracepoints to user space Enums used by tracepoints for __print_symbolic() are shown in the tracepoint format files with just their names and not their values. This makes it difficult for user space tools to know how to convert the binary data into their string representations. By adding the use of TRACE_DEFINE_ENUM(), the enum names will be mapped to their values and shown in the tracing file system to let tools convert the data as necessary. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit c54c719b558e0eb3ba60b1390aeb47ed25ff4352 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Apr 8 14:34:10 2015 +0200 ata: remove deprecated use of pci api Replace occurences of the pci api by appropriate call to the dma api. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @deprecated@ idexpression id; position p; @@ ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @bad1@ idexpression id; position deprecated.p; @@ ...when != &id->dev when != pci_get_drvdata ( id ) when != pci_enable_device ( id ) ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @depends on !bad1@ idexpression id; expression direction; position deprecated.p; @@ ( - pci_dma_supported@p ( id, + dma_supported ( &id->dev, ... + , GFP_ATOMIC ) | - pci_alloc_consistent@p ( id, + dma_alloc_coherent ( &id->dev, ... + , GFP_ATOMIC ) ) Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit c4941e072ed5ac1aaad7365ba1290fdd44e7058c Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Apr 7 21:34:40 2015 +0530 gpio: removing kfree remove functionality commit 3de07e5aaf290a0b58919 ("drivers: gpio: use devm_kzalloc") introduce devm_kzalloc() for allocating the memory. In this case kfree is not required to use. Above commit id introduced the bug that kfree is not removed from the remove function. This patch fix the above bug. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a1e67951e6c0b11bb11c256f8e1c45ed51fcd760 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:45 2015 +0200 netfilter: bridge: make BRNF_PKT_TYPE flag a bool nf_bridge_info->mask is used for several things, for example to remember if skb->pkt_type was set to OTHER_HOST. For a bridge, OTHER_HOST is expected case. For ip forward its a non-starter though -- routing expects PACKET_HOST. Bridge netfilter thus changes OTHER_HOST to PACKET_HOST before hook invocation and then un-does it after hook traversal. This information is irrelevant outside of br_netfilter. After this change, ->mask now only contains flags that need to be known outside of br_netfilter in fast-path. Future patch changes mask into a 2bit state field in sk_buff, so that we can remove skb->nf_bridge pointer for good and consider all remaining places that access nf_bridge info content a not-so fastpath. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3eaf402502e49ad9c58c73e8599c7c4f345d62da Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:44 2015 +0200 netfilter: bridge: start splitting mask into public/private chunks ->mask is a bit info field that mixes various use cases. In particular, we have flags that are mutually exlusive, and flags that are only used within br_netfilter while others need to be exposed to other parts of the kernel. Remove BRNF_8021Q/PPPoE flags. They're mutually exclusive and only needed within br_netfilter context. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 383307838d41935841ba6b2e939b968326e2dea1 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:43 2015 +0200 netfilter: bridge: add and use nf_bridge_info_get helper Don't access skb->nf_bridge directly, this pointer will be removed soon. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a99074ae1f5cce08c769542440391981899ac04c Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:42 2015 +0200 netfilter: physdev: use helpers Avoid skb->nf_bridge accesses where possible. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c737b7c4510026c200e14de51eb0006adea0fb2f Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:41 2015 +0200 netfilter: bridge: add helpers for fetching physin/outdev right now we store this in the nf_bridge_info struct, accessible via skb->nf_bridge. This patch prepares removal of this pointer from skb: Instead of using skb->nf_bridge->x, we use helpers to obtain the in/out device (or ifindexes). Followup patches to netfilter will then allow nf_bridge_info to be obtained by a call into the br_netfilter core, rather than keeping a pointer to it in sk_buff. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e70deecbf8e1562cac0b19f23848919e2f5d65aa Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:40 2015 +0200 netfilter: bridge: don't use nf_bridge_info data to store mac header br_netfilter maintains an extra state, nf_bridge_info, which is attached to skb via skb->nf_bridge pointer. Amongst other things we use skb->nf_bridge->data to store the original mac header for every processed skb. This is required for ip refragmentation when using conntrack on top of bridge, because ip_fragment doesn't copy it from original skb. However there is no need anymore to do this unconditionally. Move this to the one place where its needed -- when br_netfilter calls ip_fragment(). Also switch to percpu storage for this so we can handle fragmenting without accessing nf_bridge meta data. Only user left is neigh resolution when DNAT is detected, to hold the original source mac address (neigh resolution builds new mac header using bridge mac), so rename ->data and reduce its size to whats needed. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d64d80a2cde94f3e89caebd27240be419fec5b81 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Apr 2 14:28:30 2015 +0200 netfilter: x_tables: don't extract flow keys on early demuxed sks in socket match Currently in xt_socket, we take advantage of early demuxed sockets since commit 00028aa37098 ("netfilter: xt_socket: use IP early demux") in order to avoid a second socket lookup in the fast path, but we only make partial use of this: We still unnecessarily parse headers, extract proto, {s,d}addr and {s,d}ports from the skb data, accessing possible conntrack information, etc even though we were not even calling into the socket lookup via xt_socket_get_sock_{v4,v6}() due to skb->sk hit, meaning those cycles can be spared. After this patch, we only proceed the slower, manual lookup path when we have a skb->sk miss, thus time to match verdict for early demuxed sockets will improve further, which might be i.e. interesting for use cases such as mentioned in 681f130f39e1 ("netfilter: xt_socket: add XT_SOCKET_NOWILDCARD flag"). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b8a19382ac6212d18b21fcc7867060a5d54fe1a2 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:43:45 2015 +0100 pinctrl: bcm2835: Fix support for threaded level triggered IRQs Currently, the driver uses handle_simple_irq for all IRQ types and hard codes the acknowledge for different IRQ types into the handler. It is better to use the IRQ core as intended and let it handle the differences between the various types of IRQ. For example the current system does not work for threaded level triggered IRQs as these need to be masked until the threaded handler has run. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4f054d445139d63868f931328f897ac5ef87242e Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 14:23:03 2015 +0200 ARM: mvebu: use 0xf1000000 as internal registers on Armada 370 DB All Marvell EBU SoCs (Kirkwood, Dove, Orion, Armada) have the capability of changing the location of their internal registers (i.e the registers for most hardware blocks inside the SoC). When coming out of reset, the internal registers are mapped at 0xd0000000, but since years and years, the tradition has been to have the internal registers remapped at 0xf1000000 by the bootloader, and Linux has since then assumed that the internal registers for the SoC were located at 0xf1000000 on Kirkwood, Dove, Orion, etc. Linux has never been aware that those registers are remappable (and there is no way to know where they are mapped at runtime, since the register to configure the address of the registers is itself within the internal registers). Then came the Armada 370 and Armada XP, in which some of the very early silicon steppings had an issue, which forced to use 0xd0000000: the SoC was no longer working properly when the internal registers were remapped at 0xf1000000. This issue is only affecting very early silicon steppings and production steppings are not affected: the issue has been fixed in between. Since what we (Free Electrons) used to do the initial submission of the Armada 370 and Armada XP platforms was evaluation boards with those very early steppings, we submitted Device Tree that assumed the internal registers were mapped at 0xd0000000. This is the case for Armada 370 DB, Armada XP DB and Armada XP GP. However, in practice, since Marvell has been shipping the evaluation boards with production steppings of the SoC, they are shipping those boards with bootloaders that remap the registers to 0xf1000000. We have already changed this internal register address to 0xf1000000 for the Armada XP DB in commit 82066bdb5a75 and for the Armada XP GP in commit 91ed32200e6e (both merged in v3.15). We only recently got our hand on an Armada 370 DB with a production stepping of the SoC, which uses a bootloader that remaps internal registers at 0xf1000000. Therefore, this commit aligns the Armada 370 DB to be like the Armada XP DB and Armada XP GP: assume that the internal registers are mapped at 0xf1000000. We would like to stress out the fact that the usage of 0xd0000000 as the internal register base address was a temporary workaround for early steppings deficiencies, and that the real long-term solution is the usage of 0xf1000000. Having 0xd0000000 is an *accident* in the life of the Marvell platform support in the kernel, as is confirmed by the usage of 0xf1000000 in all previous Marvell platforms (Dove, Kirkwood, Orion). There are unfortunately a number of commercial devices that continue to use 0xd0000000 even though they use production steppings of the SoC, simply because the vendors of such devices have never bothered using a more recent bootloader version from Marvell. There is not much we can do about it, and we plan on keeping 0xd0000000 in the Device Tree of such devices. The main reason for remapping the internal registers at 0xf1000000 instead of 0xd0000000 is that it leaves more space in the 0 -> 4 GB part of the physical address space for RAM. With registers at 0xd0000000, all RAM between 0xd0000000 to 0xffffffff is lost because it's covered by the I/O registers. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 61819549f572edd7fce53f228c0d8420cdc85f71 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:11:11 2015 +0200 gpio: mvebu: Fix mask/unmask managment per irq chip type Level IRQ handlers and edge IRQ handler are managed by tow different sets of registers. But currently the driver uses the same mask for the both registers. It lead to issues with the following scenario: First, an IRQ is requested on a GPIO to be triggered on front. After, this an other IRQ is requested for a GPIO of the same bank but triggered on level. Then the first one will be also setup to be triggered on level. It leads to an interrupt storm. The different kind of handler are already associated with two different irq chip type. With this patch the driver uses a private mask for each one which solves this issue. It has been tested on an Armada XP based board and on an Armada 375 board. For the both boards, with this patch is applied, there is no such interrupt storm when running the previous scenario. This bug was already fixed but in a different way in the legacy version of this driver by Evgeniy Dushistov: 9ece8839b1277fb9128ff6833411614ab6c88d68 "ARM: orion: Fix for certain sequence of request_irq can cause irq storm". The fact the new version of the gpio drive could be affected had been discussed there: http://thread.gmane.org/gmane.linux.ports.arm.kernel/344670/focus=364012 Reported-by: Evgeniy A. Dushistov <dushistov@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.7 + Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 30133177957dca9a3e2a37b720f891d3225a92a1 Author: Abhi Das <adas@xxxxxxxxxx> Date: Wed Apr 8 09:03:56 2015 -0500 gfs2: fix quota refresh race in do_glock() quotad periodically syncs in-memory quotas to the ondisk quota file and sets the QDF_REFRESH flag so that a subsequent read of a synced quota is re-read from disk. gfs2_quota_lock() checks for this flag and sets a 'force' bit to force re-read from disk if requested. However, there is a race condition here. It is possible for gfs2_quota_lock() to find the QDF_REFRESH flag unset (i.e force=0) and quotad comes in immediately after and syncs the relevant quota and sets the QDF_REFRESH flag. gfs2_quota_lock() resumes with force=0 and uses the stale in-memory quota usage values that result in miscalculations. This patch fixes this race by moving the check for the QDF_REFRESH flag check further out into the gfs2_quota_lock() process, i.e, in do_glock(), under the protection of the quota glock. Signed-off-by: Abhi Das <adas@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 1711045fb11b4aa9afda066ce5fe68b2345d52c5 Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Date: Tue Apr 7 17:13:42 2015 +0200 crypto: sahara - fix AES descriptor create The AES implementation still assumes, that the hw_desc[0] has a valid key as long as no new key needs to be set; consequentialy it always sets the AES key header for the first descriptor and puts data into the second one (hw_desc[1]). Change this to only update the key in the hardware, when a new key is to be set and use the first descriptor for data otherwise. Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ddacc621f6597d503ed6a06e2beb1ed21df759f6 Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Date: Tue Apr 7 17:13:41 2015 +0200 crypto: sahara - use the backlog With commit 7e77bdebff5cb1e9876c561f69710b9ab8fa1f7e crypto: af_alg - fix backlog handling in place, the backlog works under all circumstances where it previously failed, atleast for the sahara driver. Use it. Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 016baaa1183bb0c5fb2a7de42413bba8a51c1bc8 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 21:27:01 2015 +0800 crypto: user - Fix crypto_alg_match race The function crypto_alg_match returns an algorithm without taking any references on it. This means that the algorithm can be freed at any time, therefore all users of crypto_alg_match are buggy. This patch fixes this by taking a reference count on the algorithm to prevent such races. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9cd223239a79df3cc758ecabb8473ca91599021b Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:11 2015 +0800 crypto: atmel-aes - correct usage of dma_sync_* API The output buffer is used for CPU access, so the API should be dma_sync_single_for_cpu which makes the cache line invalid in order to reload the value in memory. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 289b2623df34ebec4c25b7d31804b70fc90b92c6 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:10 2015 +0800 crypto: atmel-aes - sync the buf used in DMA or CPU The input buffer and output buffer are mapped for DMA transfer in Atmel AES driver. But they are also be used by CPU when the requested crypt length is not bigger than the threshold value 16. The buffers will be cached in cache line when CPU accessed them. When DMA uses the buffers again, the memory can happened to be flushed by cache while DMA starts transfer. So using API dma_sync_single_for_device and dma_sync_single_for_cpu in DMA to ensure DMA coherence and CPU always access the correct value. This fix the issue that the encrypted result periodically goes wrong when doing performance test with OpenSSH. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8a10eb8d36ffc86512ae66a35c8888f07b8ec921 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:09 2015 +0800 crypto: atmel-aes - initialize spinlock in probe Kernel will report "BUG: spinlock lockup suspected on CPU#0" when CONFIG_DEBUG_SPINLOCK is enabled in kernel config and the spinlock is used at the first time. It's caused by uninitialized spinlock, so just initialize it in probe. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1d1b91637ce1d0968d17b0a288de557946a9494e Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:08 2015 +0800 crypto: atmel-tdes - initialize spinlock in probe Kernel will report "BUG: spinlock lockup suspected on CPU#0" when CONFIG_DEBUG_SPINLOCK is enabled in kernel config and the spinlock is used at the first time. It's caused by uninitialized spinlock, so just initialize it in probe. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3f1992c002064f5628eafbec9649f7a82f439eaf Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:07 2015 +0800 crypto: atmel-sha - correct the max burst size The maximum source and destination burst size is 16 according to the datasheet of Atmel DMA. And the value is also checked in function at_xdmac_csize of Atmel DMA driver. With the restrict, the value beyond maximum value will not be processed in DMA driver, so SHA384 and SHA512 will not work and the program will wait forever. So here change the max burst size of all the cases to 16 in order to make SHA384 and SHA512 work and keep consistent with DMA driver and datasheet. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 62728e82026c90af004dd2c328c1314f2f3e6b58 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:06 2015 +0800 crypto: atmel-sha - initialize spinlock in probe Kernel will report "BUG: spinlock lockup suspected on CPU#0" when CONFIG_DEBUG_SPINLOCK is enabled in kernel config and the spinlock is used at the first time. It's caused by uninitialized spinlock, so just initialize it in probe. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 803eeae8f3eb394d898a7aa65ba706628dd6a85c Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:05 2015 +0800 crypto: atmel-sha - fix sg list management Having a zero length sg doesn't mean it is the end of the sg list. This case happens when calculating HMAC of IPSec packet. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0099286b664493c85f0f2248f09f3b467a0e3a78 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Tue Apr 7 17:45:04 2015 +0800 crypto: atmel-sha - correct the way data are split When a hash is requested on data bigger than the buffer allocated by the SHA driver, the way DMA transfers are performed is quite strange: The buffer is filled at each update request. When full, a DMA transfer is done. On next update request, another DMA transfer is done. Then we wait to have a full buffer (or the end of the data) to perform the dma transfer. Such a situation lead sometimes, on SAMA5D4, to a case where dma transfer is finished but the data ready irq never comes. Moreover hash was incorrect in this case. With this patch, dma transfers are only performed when the buffer is full or when there is no more data. So it removes the transfer whose size is equal the update size after the full buffer transmission. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 141824d0ae3b125a499b35138c01c985e81c0aca Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:03 2015 +0800 crypto: atmel-sha - add new version Add new version of atmel-sha available with SAMA5D4 devices. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cf1f0d12792cc57404582c9a7a693cf8f975e967 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:02 2015 +0800 crypto: atmel-aes - add new version Add new version of atmel-aes available with SAMA5D4 devices. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5a0ff17741c1785b27229a16b5ab77470d71b170 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Apr 8 08:11:51 2015 -0600 vfio-pci: Fix use after free Reported by 0-day test infrastructure. Fixes: ecaa1f6a0154 ("vfio-pci: Add VGA arbiter client") Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit a1e12da4796a4ddd0e911687a290eb396d1c64bf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Apr 7 23:25:14 2015 +0200 perf tools: Add 'I' event modifier for exclude_idle bit Adding 'I' event modifier to have complete set of modifiers for perf_event_attr:exclude_* bits. Any event specified with 'I' modifier will have the perf_event_attr:exclude_idle bit set. $ perf record -e cycles:I -vv ls 2>&1 | grep exclude_idle exclude_hv 0 exclude_idle 1 Adding automated tests. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: William Cohen <wcohen@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428441919-23099-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6fcc1433a4a9057b2977313f31eadbc1c84268b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Apr 8 10:59:32 2015 +0000 perf report: Don't call map__kmap if map is NULL. report__warn_kptr_restrict() calls map__kmap(kernel_map) before checking kernel_map againest NULL. Which is dangerous, since map__kmap() will return a invalid and not NULL address. It will trigger a warning message in map__kmap() after the patch "perf: kmaps: enforce usage of kmaps to protect futher bugs." was applied. This patch fixes it by adding the missing checking. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1428490772-135393-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 54a50f93eb13ab5efa7366627534e2b0f7caa8e5 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Apr 7 19:17:15 2015 +0200 perf tests: Fix attr tests Following commit: 1a5941312414 perf: Add wakeup watermark control to the AUX area enlarged perf_event_attr, but did not updated attr tests. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Markus T Metzger <markus.t.metzger@xxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Link: http://lkml.kernel.org/n/20150407171715.GA22603@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6c15621f04b97ce882c66e5055f0ac325fb8eb8 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Apr 8 02:14:34 2015 +0000 perf probe: Fix ARM 32 building error Commit 9b118acae310f57baee770b5db402500d8695e50 ("perf probe: Fix to handle aliased symbols in glibc") uses an absolute format '%lx' to print u64 argument, which causes compiling error on ARM 32. This patch replaces it with PRIx64. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1428459274-138470-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6ba16eefcdaa8634e1c1d70d5c31b0495c99ab02 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 16:53:03 2015 -0400 SUNRPC: Export enums in tracepoints to user space The enums used in the tracepoints for __print_symbolic() have their names shown in the tracepoint format files. User space tools do not know how to convert those names into their values to be able to convert the binary data. Use TRACE_DEFINE_ENUM() to export the enum names to their values for userspace to do the parsing correctly. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Acked-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 190f0b76ca498789b4dc6acb8c8e9a31b6548f9d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 16:48:57 2015 -0400 mm: tracing: Export enums in tracepoints to user space The enums used in tracepoints with __print_symbolic() have their names shown in the tracepoint format files and not their values. This makes it difficult for user space tools to convert the binary data to the strings as user space does not know what those enums are about. By having them use TRACE_DEFINE_ENUM(), the names of the enums will be mapped to the values and shown to user space. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f0a91b3caa053c9964f1d1e6941f0963d002a670 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 16:31:44 2015 -0400 irq/tracing: Export enums in tracepoints to user space The enums used by the softirq mapping is what is shown in the output of the __print_symbolic() and not their values, that are needed to map them to their strings. Export them to userspace with the TRACE_DEFINE_ENUM() macro so that user space tools can map the enums with their values. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 5511b9a471f3bb2f1cd5d7bf6b4191403e49315e Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 16:18:07 2015 -0400 f2fs: Export the enums in the tracepoints to userspace The tracepoints that use __print_symbolic() use enums as the value to convert to strings. Unfortunately, the format files for these tracepoints show the enum name and not their value. This causes some userspace tools not to know how to convert __print_symbolic() to their strings. Add TRACE_DEFINE_ENUM() macros to export the enums used to userspace to let those tools know what those enum values are. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Cc: Pankaj Kumar <pankaj.km@xxxxxxxxxxx> Cc: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 56e1b226088b07d14ad863bb73753ae24d48c113 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 16:15:07 2015 -0400 net/9p/tracing: Export enums in tracepoints to userspace The tracepoints in the 9p code use a lot of enums for the __print_symbolic() function. These enums are shown in the tracepoint format files, and user space tools such as trace-cmd does not have the information to parse it. Add helper macros to export the enums with TRACE_DEFINE_ENUM(). Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 23b9766261aa9bd4cc9ba770deda794608708bdc Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 18:15:57 2015 -0400 x86/tlb/trace: Export enums in used by tlb_flush tracepoint Have the enums used in __print_symbolic() by the trace_tlb_flush() tracepoint exported to userpace such that they can be parsed by userspace tools. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Dave Hansen <dave@xxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 32eb3d0d09943ab9dcc01fb8d2619b64e965992c Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Apr 1 15:55:36 2015 -0400 tracing/samples: Update the trace-event-sample.h with TRACE_DEFINE_ENUM() Document the use of TRACE_DEFINE_ENUM() by adding enums to the trace-event-sample.h and using this macro to convert them in the format files. Also update the comments and sho the use of __print_symbolic() and __print_flags() as well as adding comments abount __print_array(). Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3673b8e4ce7237160fa31ee8d7e94a4d5a9976a1 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Mar 25 15:44:21 2015 -0400 tracing: Allow for modules to convert their enums to values Update the infrastructure such that modules that declare TRACE_DEFINE_ENUM() will have those enums converted into their values in the tracepoint print fmt strings. Link: http://lkml.kernel.org/r/87vbhjp74q.fsf@xxxxxxxxxxxxxxx Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0c564a538aa934ad15b2145aaf8b64f3feb0be63 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 17:58:09 2015 -0400 tracing: Add TRACE_DEFINE_ENUM() macro to map enums to their values Several tracepoints use the helper functions __print_symbolic() or __print_flags() and pass in enums that do the mapping between the binary data stored and the value to print. This works well for reading the ASCII trace files, but when the data is read via userspace tools such as perf and trace-cmd, the conversion of the binary value to a human string format is lost if an enum is used, as userspace does not have access to what the ENUM is. For example, the tracepoint trace_tlb_flush() has: __print_symbolic(REC->reason, { TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" }, { TLB_REMOTE_SHOOTDOWN, "remote shootdown" }, { TLB_LOCAL_SHOOTDOWN, "local shootdown" }, { TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" }) Which maps the enum values to the strings they represent. But perf and trace-cmd do no know what value TLB_LOCAL_MM_SHOOTDOWN is, and would not be able to map it. With TRACE_DEFINE_ENUM(), developers can place these in the event header files and ftrace will convert the enums to their values: By adding: TRACE_DEFINE_ENUM(TLB_FLUSH_ON_TASK_SWITCH); TRACE_DEFINE_ENUM(TLB_REMOTE_SHOOTDOWN); TRACE_DEFINE_ENUM(TLB_LOCAL_SHOOTDOWN); TRACE_DEFINE_ENUM(TLB_LOCAL_MM_SHOOTDOWN); $ cat /sys/kernel/debug/tracing/events/tlb/tlb_flush/format [...] __print_symbolic(REC->reason, { 0, "flush on task switch" }, { 1, "remote shootdown" }, { 2, "local shootdown" }, { 3, "local mm shootdown" }) The above is what userspace expects to see, and tools do not need to be modified to parse them. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Guilherme Cox <cox@xxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 889204278ccf98c5c097b1d1ae69babc6a3222fd Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Apr 1 14:57:27 2015 -0400 tracing: Update trace-event-sample with TRACE_SYSTEM_VAR documentation Add documentation about TRACE_SYSTEM needing to be alpha-numeric or with underscores, and that if it is not, then the use of TRACE_SYSTEM_VAR is required to make something that is. An example of this is shown in samples/trace_events/trace-events-sample.h Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit acd388fd3af350ab24c6ab6f19b83fc4a4f3aa60 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 31 14:37:12 2015 -0400 tracing: Give system name a pointer Normally the compiler will use the same pointer for a string throughout the file. But there's no guarantee of that happening. Later changes will require that all events have the same pointer to the system string. Name the system string and have all events point to it. Testing this, it did not increases the size of the text, except for the notes section, which should not harm the real size any. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 6e9dd8ddbdbb3b7aeba7fd9b987579534cfc260b Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Apr 7 12:08:37 2015 -0400 brcmsmac: Move each system tracepoints to their own header Every tracing file must have its own TRACE_SYSTEM defined. The brcmsmac tracepoint header broke this and added in the middle of the file: #undef TRACE_SYSTEM #define TRACE_SYSTEM brcmsmac #undef TRACE_SYSTEM #define TRACE_SYSTEM brcmsmac_tx #undef TRACE_SYSTEM #define TRACE_SYSTEM brcmsmac_msg Unfortunately, this broke new code in the ftrace infrastructure. Moving each of these TRACE_SYSTEMs into their own trace file with just one TRACE_SYSTEM per file fixes the issue. Link: http://lkml.kernel.org/r/5524D99C.1050902@xxxxxxxxxxxx Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit c5ef935d01a29211551073f2620c93ba5ca897c4 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Apr 7 11:25:14 2015 -0400 iwlwifi: Move each system tracepoints to their own header Every tracing file must have its own TRACE_SYSTEM defined. The iwlwifi tracepoint header broke this and added in the middle of the file: #undef TRACE_SYSTEM #define TRACE_SYSTEM iwlwifi_io #undef TRACE_SYSTEM #define TRACE_SYSTEM iwlwifi_ucode #undef TRACE_SYSTEM #define TRACE_SYSTEM iwlwifi_msg #undef TRACE_SYSTEM #define TRACE_SYSTEM iwlwifi_data #undef TRACE_SYSTEM #define TRACE_SYSTEM iwlwifi Unfortunately, this broke new code in the ftrace infrastructure. Moving each of these TRACE_SYSTEMs into their own trace file with just one TRACE_SYSTEM per file fixes the issue. Link: http://lkml.kernel.org/r/1428479094.2809.3.camel@xxxxxxxxxxxxxxxx Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 177b0381c5e39180b237284231a02fa783a3af3b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 15:11:16 2015 +0200 gpio: split GPIO drivers in submenus Create Kconfig submenus for memory mapped, I2C, MFD, PCI, SPI and USB GPIO drivers to help navigate the forest of drivers in this subsystem. The I2C, SPI and USB menus get dependencies so we don't have to see them unless we have the required subsystem enabled in the first place. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit be9cab5bed454acfb253fe703682bc05ed370e99 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 14:51:23 2015 +0200 gpio: move MFD GPIO drivers under their own comment Get rid of AC97, MODULbus and other weird subheadings for GPIO drivers. Move all MFD drivers out of I2C etc and in under the MFD comment. This is too weird as it is and makes no sense, if the dependent parent driver is MFD, group these as MFD GPIO drivers. Alphabetize and move this comment group inbetween "I2C" and "PCI" to also have the groups in alphabetic order. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2c5e8c52c6354f77c4019357be8231bcc34456f8 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Apr 7 11:09:54 2015 +0200 perf tools: Merge all perf_event_attr print functions Currently there's 3 (that I found) different and incomplete implementations of printing perf_event_attr. This is quite silly. Merge the lot. While this patch does not retain the exact form all printing that I found is debug output and thus it should not be critical. Also, I cannot find a single print_event_desc() caller. Pre: $ perf record -vv -e cycles -- sleep 1 ------------------------------------------------------------ perf_event_attr: type 0 size 104 config 0 sample_period 4000 sample_freq 4000 sample_type 0x107 read_format 0 disabled 1 inherit 1 pinned 0 exclusive 0 exclude_user 0 exclude_kernel 0 exclude_hv 0 exclude_idle 0 mmap 1 comm 1 mmap2 1 comm_exec 1 freq 1 inherit_stat 0 enable_on_exec 1 task 1 watermark 0 precise_ip 0 mmap_data 0 sample_id_all 1 exclude_host 0 exclude_guest 1 excl.callchain_kern 0 excl.callchain_user 0 wakeup_events 0 wakeup_watermark 0 bp_type 0 bp_addr 0 config1 0 bp_len 0 config2 0 branch_sample_type 0 sample_regs_user 0 sample_stack_user 0 sample_regs_intr 0 ------------------------------------------------------------ $ perf evlist -vv cycles: sample_freq=4000, size: 104, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, mmap2: 1, comm: 1, comm_exec: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1 Post: $ ./perf record -vv -e cycles -- sleep 1 ------------------------------------------------------------ perf_event_attr: size 112 { sample_period, sample_freq } 4000 sample_type IP|TID|TIME|PERIOD disabled 1 inherit 1 mmap 1 comm 1 freq 1 enable_on_exec 1 task 1 sample_id_all 1 exclude_guest 1 mmap2 1 comm_exec 1 ------------------------------------------------------------ $ ./perf evlist -vv cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150407091150.644238729@xxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 814c8c38e13c7050259c72f89bb01f3fc903f642 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Mar 31 00:19:31 2015 +0200 perf record: Add clockid parameter Teach perf-record about the new perf_event_attr::{use_clockid, clockid} fields. Add a simple parameter to set the clock (if any) to be used for the events to be recorded into the data file. Since we store the entire perf_event_attr in the EVENT_DESC section we also already store the used clockid in the data file. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Yunlong Song <yunlong.song@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150407154851.GR23123@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ Conditionally define CLOCK_BOOTTIME, at least rhel6 doesn't have it - dsahern Ditto for CLOCK_MONOTONIC_RAW, sles11sp2 doesn't have it - yunlong.song ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ea948cff41999cdf891e955cf08a8f918e3a1546 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 14:36:17 2015 +0200 gpio: move BCM Kona Kconfig option Move the Kconfig option for the Broadcom BCM Kona up to the commin GPIO controllers, as it is currently grouped under MODULbus expanders which it definately is not. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a7ec2e7f150c193f3ea6ffd6bf7b6cedfbdc7a25 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 14:34:51 2015 +0200 gpio: arrange SPI Kconfig symbols alphabetically Rearrange the SPI GPIO expanders in alphabetic order as already indicated by the comment in the file. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 92c33ef7ef1ed232199ffaeecbe65b7b6fab2302 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 14:30:37 2015 +0200 gpio: arrange PCI GPIO controllers alphabetically Rearrange PCI GPIO controllers in alphabetic order as already indicated by the comment in the file. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bf5a16bae51808d1748508f122bacd858bad2837 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 14:14:40 2015 +0200 gpio: arrange I2C Kconfig symbols alphabetically Rearrange the I2C GPIO expanders in alphabetic order as already indicated by the comment in the file. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ff5f3bbd40bfb8632f826f1f83223d95363f36af Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:36 2015 +0800 perf sched replay: Use replay_repeat to calculate the runavg of cpu usage instead of the default value 10 Since sched->replay_repeat is set to 10 as default, the sched->run_avg, sched->runavg_cpu_usage, and sched->runavg_parent_cpu_usage all use 10 to calculate their value. However, the replay_repeat can be changed to other value by using -r option, so the calculation above should use replay_repeat to achieve more accurate results instead of the default value 10. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-10-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f0dd330fdf07d295ac468660cf60341796d5d501 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:35 2015 +0800 perf sched replay: Support using -f to override perf.data file ownership Enable to use perf.data when it is not owned by current user or root. Example: $ ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 5321918 Mar 25 15:14 perf.data $ sudo id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: $ sudo perf sched replay -f run measurement overhead: 98 nsecs sleep measurement overhead: 52909 nsecs the run test took 1000015 nsecs the sleep test took 1054253 nsecs File perf.data not owned by current user or root (use -f to override) As shown above, the -f option does not work at all. After this patch: $ sudo perf sched replay -f run measurement overhead: 221 nsecs sleep measurement overhead: 40514 nsecs the run test took 1000003 nsecs the sleep test took 1056098 nsecs nr_run_events: 10 nr_sleep_events: 1562 nr_wakeup_events: 5 task 0 ( :1: 1), nr_events: 1 task 1 ( :2: 2), nr_events: 1 task 2 ( :3: 3), nr_events: 1 ... ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 ------------------------------------------------------------ #1 : 50.198, ravg: 50.20, cpu: 2335.18 / 2335.18 #2 : 219.099, ravg: 67.09, cpu: 2835.11 / 2385.17 #3 : 238.626, ravg: 84.24, cpu: 3278.26 / 2474.48 #4 : 200.364, ravg: 95.85, cpu: 2977.41 / 2524.77 #5 : 176.882, ravg: 103.96, cpu: 2801.35 / 2552.43 #6 : 191.093, ravg: 112.67, cpu: 2813.70 / 2578.56 #7 : 189.448, ravg: 120.35, cpu: 2809.21 / 2601.62 #8 : 200.637, ravg: 128.38, cpu: 2849.91 / 2626.45 #9 : 248.338, ravg: 140.37, cpu: 4380.61 / 2801.87 #10 : 511.139, ravg: 177.45, cpu: 3077.73 / 2829.45 As shown above, the -f option really works now. Besides for replay, -f option can also work for latency and map. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-9-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 939cda521a24ae4dbf3beec983abd519bce56231 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:34 2015 +0800 perf sched replay: Fix the EMFILE error caused by the limitation of the maximum open files The soft maximum number of open files for a calling process is 1024, which is defined as INR_OPEN_CUR in include/uapi/linux/fs.h, and the hard maximum number of open files for a calling process is 4096, which is defined as INR_OPEN_MAX in include/uapi/linux/fs.h. Both INR_OPEN_CUR and INR_OPEN_MAX are used to limit the value of RLIMIT_NOFILE in include/asm-generic/resource.h. And the soft maximum number finally decides the limitation of the maximum files which are allowed to be opened. That is to say a process can use at most 1024 file descriptors for its o pened files, or an EMFILE error will happen. This error can be fixed by increasing the soft maximum number, under the constraint that the soft maximum number can not exceed the hard maximum number, or both soft and hard maximum number should be increased simultaneously with privilege. For perf sched replay, it uses sys_perf_event_open to create the file descriptor for each of the tasks in order to handle information of perf events. That is to say each task needs a unique file descriptor. In x86_64, there may be over 1024 or 4096 tasks correspoinding to the record in perf.data, which causes that no enough file descriptors can be used. As a result, EMFILE error happens and stops the replay process. To solve this problem, we adaptively increase the soft and hard maximum number of open files with a '-f' option. Example: Test environment: x86_64 with 160 cores $ cat /proc/sys/kernel/pid_max 163840 $ cat /proc/sys/fs/file-max 6815744 $ ulimit -Sn 1024 $ ulimit -Hn 4096 Before this patch: $ perf sched replay ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 Error: sys_perf_event_open() syscall returned with -1 (Too many open files) After this patch: $ perf sched replay ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 Error: sys_perf_event_open() syscall returned with -1 (Too many open files) Have a try with -f option $ perf sched replay -f ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 ------------------------------------------------------------ #1 : 54.401, ravg: 54.40, cpu: 3285.21 / 3285.21 #2 : 199.548, ravg: 68.92, cpu: 4999.65 / 3456.66 #3 : 170.483, ravg: 79.07, cpu: 1349.94 / 3245.99 #4 : 192.034, ravg: 90.37, cpu: 1322.88 / 3053.67 #5 : 182.929, ravg: 99.62, cpu: 1406.51 / 2888.96 #6 : 152.974, ravg: 104.96, cpu: 1167.54 / 2716.82 #7 : 155.579, ravg: 110.02, cpu: 2992.53 / 2744.39 #8 : 130.557, ravg: 112.08, cpu: 1126.43 / 2582.59 #9 : 138.520, ravg: 114.72, cpu: 1253.22 / 2449.65 #10 : 134.328, ravg: 116.68, cpu: 1587.95 / 2363.48 Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-8-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1aff59be53ef37aa9943fb5f772f03148f789bb6 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:33 2015 +0800 perf sched replay: Handle the dead halt of sem_wait when create_tasks() fails for any task Since there is sem_wait for each task in the wait_for_tasks(), e.g. sem_wait(&task->work_done_sem). The sem_wait can continue only when work_done_sem is greater than 0, or it will be blocked. For perf sched replay, one task may sem_post the work_done_sem of another task, which causes the work_done_sem of that task processed in a reasonable sequence, e.g. sem_post, sem_wait, sem_wait, sem_post... This sequence simulates the sched process of the running tasks at the time when perf sched record runs. As a result, all the tasks are required and their threads must be successfully created. If any one (task A) of the tasks fails to create its thread, then another task (task B), whose work_done_sem needs sem_post from that failed task A, may likely block itself due to seg_wait. And this is a dead halt, since task B's thread_func cannot continue at all. To solve this problem, perf sched replay should exit once any task fails to create its thread. Example: Test environment: x86_64 with 160 cores Before this patch: $ perf sched replay ... Error: sys_perf_event_open() syscall returned with -1 (Too many open files) ------------------------------------------------------------ <- dead halt After this patch: $ perf sched replay ... task 1551 ( <unknown>: 0), nr_events: 10 Error: sys_perf_event_open() syscall returned with -1 (Too many open files) $ As shown above, perf sched replay finishes the process after printing an error message and does not block itself. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-7-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 08097abc11bcee21355dd857852a807b2a30b79f Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:32 2015 +0800 perf sched replay: Fix the segmentation fault problem caused by pr_err in threads The pr_err in self_open_counters() prints error message to stderr. Unlike stdout, stderr uses memory buffer on the stack of each calling process. The pr_err in self_open_counters() works in a thread called thread_func created in function create_tasks, which concurrently creates sched->nr_tasks threads. If the error happens and pr_err prints the error message in each of these threads, the stack size of the perf process (default is 8192 kbytes) will quickly run out and the segmentation fault will happen then. To solve this problem, pr_err with self_open_counters() should be moved from newly created threads to the old main thread of the perf process. Then the pr_err can work in a stable situation without the strange segmentation fault problem. Example: Test environment: x86_64 with 160 cores Before this patch: $ perf sched replay ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 Segmentation fault After this patch: $ perf sched replay ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 ... As shown above, the result continues without any segmentation fault. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-6-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3a423a5c36d1a28a258beaa7db855568b82d07ab Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:31 2015 +0800 perf sched replay: Realloc the memory of pid_to_task stepwise to adapt to the different pid_max configurations Although the memory of pid_to_task can be allocated via calloc according to the value of /proc/sys/kernel/pid_max, it cannot handle the case when pid_max is changed after 'perf sched record' has created its perf.data. If the new pid_max configured in 'perf sched replay' is smaller than the old pid_max configured in 'perf sched record', then it will cause the assertion failure problem. To solve this problem, we realloc the memory of pid_to_task stepwise once the passed-in pid parameter in register_pid is larger than the current pid_max. Example: Test environment: x86_64 with 160 cores $ cat /proc/sys/kernel/pid_max 163840 $ perf sched record ls $ echo 5000 > /proc/sys/kernel/pid_max $ cat /proc/sys/kernel/pid_max 5000 Before this patch: $ perf sched replay run measurement overhead: 221 nsecs sleep measurement overhead: 55356 nsecs the run test took 1000011 nsecs the sleep test took 1060940 nsecs perf: builtin-sched.c:337: register_pid: Assertion `!(pid >= (unsigned long)pid_max)' failed. Aborted After this patch: $ perf sched replay run measurement overhead: 221 nsecs sleep measurement overhead: 55611 nsecs the run test took 1000026 nsecs the sleep test took 1060486 nsecs nr_run_events: 10 nr_sleep_events: 1562 nr_wakeup_events: 5 task 0 ( :1: 1), nr_events: 1 task 1 ( :2: 2), nr_events: 1 task 2 ( :3: 3), nr_events: 1 task 3 ( :5: 5), nr_events: 1 ... Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-5-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb06ac256a16fc1a5ab063107c2b35b3b9e95102 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:30 2015 +0800 perf sched replay: Alloc the memory of pid_to_task dynamically to adapt to the unexpected change of pid_max The current memory allocation of struct task_desc *pid_to_task[MAX_PID] is in a permanent and preset way, and it has two problems: Problem 1: If the pid_max, which is the max number of pids in the system, is much smaller than MAX_PID (1024*1000), then it causes a waste of stack memory. This may happen in the case where the number of cpu cores is much smaller than 1000. Problem 2: If the pid_max is changed from the default value to a value larger than MAX_PID, then it will cause assertion failure problem. The maximum value of pid_max can be set to pid_max_max (see pidmap_init defined in kernel/pid.c), which equals to PID_MAX_LIMIT. In x86_64, PID_MAX_LIMIT is 4*1024*1024 (defined in include/linux/threads.h). This value is much larger than MAX_PID, and will take up 32768 Kbytes (4*1024*1024*8/1024) for memory allocation of pid_to_task, which is much larger than the default 8192 Kbytes of the stack size of calling process. Due to these two problems, we use calloc to allocate the memory of pid_to_task dynamically. Example: Test environment: x86_64 with 160 cores $ cat /proc/sys/kernel/pid_max 163840 $ echo 1025000 > /proc/sys/kernel/pid_max $ cat /proc/sys/kernel/pid_max 1025000 Run some applications until the pid of some process is greater than the value of MAX_PID (1024*1000). Before this patch: $ perf sched replay run measurement overhead: 221 nsecs sleep measurement overhead: 55480 nsecs the run test took 1000008 nsecs the sleep test took 1063151 nsecs perf: builtin-sched.c:330: register_pid: Assertion `!(pid >= 1024000)' failed. Aborted After this patch: $ perf sched replay run measurement overhead: 221 nsecs sleep measurement overhead: 55435 nsecs the run test took 1000004 nsecs the sleep test took 1059312 nsecs nr_run_events: 10 nr_sleep_events: 1562 nr_wakeup_events: 5 task 0 ( :1: 1), nr_events: 1 task 1 ( :2: 2), nr_events: 1 task 2 ( :3: 3), nr_events: 1 task 3 ( :5: 5), nr_events: 1 ... Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-4-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a35e27d0e5d801ff75481a8f639bb4d59ea1aafa Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:29 2015 +0800 perf sched replay: Increase the MAX_PID value to fix assertion failure problem Current MAX_PID is only 65536, which will cause assertion failure problem when CPU cores are more than 64 in x86_64. This is because the pid_max value in x86_64 is at least PIDS_PER_CPU_DEFAULT * num_possible_cpus() (see function pidmap_init defined in kernel/pid.c), where PIDS_PER_CPU_DEFAULT is 1024 (defined in include/linux/threads.h). Thus for MAX_PID = 65536, the correspoinding CPU cores are 65536/1024=64. This is obviously not enough at all for x86_64, and will cause an assertion failure problem due to BUG_ON(pid >= MAX_PID) in the codes. We increase MAX_PID value from 65536 to 1024*1000, which can be used in x86_64 with 1000 cores. This number is finally decided according to the limitation of stack size of calling process. Use 'ulimit -a', the result shows the stack size of any process is 8192 Kbytes, which is defined in include/uapi/linux/resource.h (#define _STK_LIM (8*1024*1024)). Thus we choose a large enough value for MAX_PID, and make it satisfy to the limitation of the stack size, i.e., making the perf process take up a memory space just smaller than 8192 Kbytes. We have calculated and tested that 1024*1000 is OK for MAX_PID. This means perf sched replay can now be used with at most 1000 cores in x86_64 without any assertion failure problem. Example: Test environment: x86_64 with 160 cores $ cat /proc/sys/kernel/pid_max 163840 Before this patch: $ perf sched replay run measurement overhead: 240 nsecs sleep measurement overhead: 55379 nsecs the run test took 1000004 nsecs the sleep test took 1059424 nsecs perf: builtin-sched.c:330: register_pid: Assertion `!(pid >= 65536)' failed. Aborted After this patch: $ perf sched replay run measurement overhead: 221 nsecs sleep measurement overhead: 55397 nsecs the run test took 999920 nsecs the sleep test took 1053313 nsecs nr_run_events: 10 nr_sleep_events: 1562 nr_wakeup_events: 5 task 0 ( :1: 1), nr_events: 1 task 1 ( :2: 2), nr_events: 1 task 2 ( :3: 3), nr_events: 1 task 3 ( :5: 5), nr_events: 1 ... Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0755bc4dc77a876aa60d4b3d33b5f6506f21f91b Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:28 2015 +0800 perf sched replay: Use struct task_desc instead of struct task_task for correct meaning There is no struct task_task at all, thus it is a typo error in the old commits, now fix it to what it should be in order to avoid unnecessary misunderstanding. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-2-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 28939e1a1f6d198239d86b1d77fa9fd55773189a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Apr 6 14:36:08 2015 +0900 perf kmem: Respect -i option Currently the perf kmem does not respect -i option. Initializing the file.path properly after options get parsed. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1428298576-9785-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3201f0dc42f7fad9387afc4692cea3d0c730cba2 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Apr 6 14:36:16 2015 +0900 tools lib traceevent: Honor operator priority Currently it ignores operator priority and just sets processed args as a right operand. But it could result in priority inversion in case that the right operand is also a operator arg and its priority is lower. For example, following print format is from new kmem events. "page=%p", REC->pfn != -1UL ? (((struct page *)(0xffffea0000000000UL)) + (REC->pfn)) : ((void *)0) But this was treated as below: REC->pfn != ((null - 1UL) ? ((struct page *)0xffffea0000000000UL + REC->pfn) : (void *) 0) In this case, the right arg was '?' operator which has lower priority. But it just sets the whole arg so making the output confusing - page was always 0 or 1 since that's the result of logical operation. With this patch, it can handle it properly like following: ((REC->pfn != (null - 1UL)) ? ((struct page *)0xffffea0000000000UL + REC->pfn) : (void *) 0) Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1428298576-9785-10-git-send-email-namhyung@xxxxxxxxxx [ Replaced 'swap' with 'rotate' in a comment as requested by Steve and agreed by Namhyung ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba92732e9808df679ddf75c5ea1c0caae6d7dce2 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Apr 7 08:22:45 2015 +0000 perf kmaps: Check kmaps to make code more robust This patch add checks in places where map__kmap is used to get kmaps from struct kmap. Error messages are added at map__kmap to warn invalid accessing of kmap (for the case of !map->dso->kernel, kmap(map) does not exists at all). Also, introduces map__kmaps() to warn uninitialized kmaps. Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428394966-131044-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8ea92ceb748535799e3e9f35afb85bdc23bf6d7c Author: He Kuang <hekuang@xxxxxxxxxx> Date: Tue Apr 7 17:31:10 2015 +0800 perf evlist: Fix inverted logic in perf_mmap__empty perf_evlist__mmap_consume() uses perf_mmap__empty() to judge whether perf_mmap is empty and can be released. But the result is inverted so fix it. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428399071-7141-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 664c715573c2c116c2d8f5de7d59ce85a98a1751 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Apr 8 11:43:14 2015 +0200 ALSA: hda - Work around races of power up/down with runtime PM Currently, snd_hdac_power_up()/down() helpers checks whether the codec is being in pm (suspend/resume), and skips the call of runtime get/put during it. This is needed as there are lots of power up/down sequences called in the paths that are also used in the PM itself. An example is found in hda_codec.c::codec_exec_verb(), where this can power up the codec while it may be called again in its power up sequence, too. The above works in most cases, but sometimes we really want to wait for the real power up. For example, the control element get/put may want explicit power up so that the value change is assured to reach to the hardware. Using the current snd_hdac_power_up(), however, results in a race, e.g. when it's called during the runtime suspend is being performed. In the worst case, as found in patch_ca0132.c, it can even lead to the deadlock because the code assumes the power up while it was skipped due to the check above. For dealing with such cases, this patch makes snd_hdac_power_up() and _down() to two variants: with and without in_pm flag check. The version with pm flag check is named as snd_hdac_power_up_pm() while the version without pm flag check is still kept as snd_hdac_power_up(). (Just because the usage of the former is fewer.) Then finally, the patch replaces each call potentially done in PM with the new _pm() variant. In theory, we can implement a unified version -- if we can distinguish the current context whether it's in the pm path. But such an implementation is cumbersome, so leave the code like this a bit messy way for now... Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=96271 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 67a260f1eb5020888b157794007b4bdabdd85898 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Feb 12 19:11:47 2015 -0300 [media] dib0700: remove unused macros Remove unused macros RC_REPEAT_DELAY and RC_REPEAT_DELAY_V1_20 Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ce8ae17c5d86db92cecd8291ad6a137dc19031ad Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Apr 6 16:34:00 2015 -0700 regulator: qcom: Tidy up probe() Tidy up error reporting and move rpm reference retrieval out of the for loop for improved readability. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 087a1b5cdd555970feb8a340dc008b6914f05128 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Apr 6 16:33:59 2015 -0700 regulator: qcom: Rework to single platform device Modeling the individual RPM resources as platform devices consumes at least 12-15kb of RAM, just to hold the platform_device structs. Rework this to instead have one device per pmic exposed by the RPM. With this representation we can more accurately define the input pins on the pmic and have the supply description match the data sheet. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 469a951446460da843028014a90100428ff6e0c1 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Apr 6 16:33:58 2015 -0700 regulator: qcom: Refactor of-parsing code Refactor out all custom property parsing code from the probe function into a function suitable for regulator_desc->of_parse_cb usage. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d1e4d629a484b725d5fc88d7e0f967435ab6edd Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Apr 6 16:33:57 2015 -0700 regulator: qcom: Don't enable DRMS in driver The driver itself should not flag regulators as being DRMS compatible, this should come from board or dt files. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ec73b9fdc7c4fe3da8937a8e7b6a03a1e002d6ac Author: Christian Engelmayer <cengelma@xxxxxx> Date: Wed Feb 11 17:58:23 2015 -0300 [media] si2165: Fix possible leak in si2165_upload_firmware() In case of an error function si2165_upload_firmware() releases the already requested firmware in the exit path. However, there is one deviation where the function directly returns. Use the correct cleanup so that the firmware memory gets freed correctly. Detected by Coverity CID 1269120. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Reviewed-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1cba0c305758c3c1786ecaceb03e142c95a4edc9 Author: Michal Marek <mmarek@xxxxxxx> Date: Wed Apr 8 11:11:57 2015 +0200 kconfig: Simplify Makefile Use a single rule for targets handled directly by the conf program. Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit dfb85ba1140ab649f6f0bf3e502ac37c0f69dbcb Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Tue Apr 7 23:06:46 2015 +0100 regulator: max8660: fix assignment of pdata to data that becomes dead pdata is assigned to &pdata_of, however, pdata_of becomes dead (when it goes out of scope) so pdata effectively becomes a dead pointer to the out of scope object. This is detected by static analysis: [drivers/regulator/max8660.c:411]: (error) Dead pointer usage. Pointer 'pdata' is dead if it has been assigned '&pdata_of' at line 404. Move declaration of pdata_of so it is always in scope. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 51b5b3d6c96ee244c51ec57265fc3c5ae5897610 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Thu Feb 5 07:09:10 2015 -0300 [media] s5k5baf: Add missing error check for devm_kzalloc This patch add a missing a check on the return value of devm_kzalloc, which would cause a NULL pointer dereference in a OOM situation. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Acked-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ed1c328ea077d70e1ebcd5188dc77cdc754df3a Author: KyongHo Cho <pullip.cho@xxxxxxxxxxx> Date: Thu Feb 5 02:52:42 2015 -0300 [media] v4l: vb2-memops: use vma slab when vma allocation The slab for vm_area_struct which is vm_area_cachep is already prepared for the general use. Instead of kmalloc() for the vma copy for userptr, allocation from vm_area_cachep is more beneficial. CC: Hans Verkuil <hans.verkuil@xxxxxxxxx> CC: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Cho KyongHo <pullip.cho@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cc4e8c3dc95369c08615a4151bce8506b00356d9 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Wed Feb 4 13:48:14 2015 -0300 [media] rc: img-ir: Add and enable sys clock for img-ir Gets a handle to the system clock, already described in the binding document, and calls the appropriate common clock framework functions to mark it prepared/enabled, the common clock framework initially enables the clock and doesn't disable it at least until the device/driver is removed. It's important the systen clock is enabled before register interface is accessed by the driver. The system clock to IR is needed for the driver to communicate with the IR hardware via MMIO accesses on the system bus, so it must not be disabled during use or the driver will malfunction. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a2bbf5d05918a3156e9854a7144a8b2806badb53 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 12:47:48 2015 -0300 [media] DVB: Less function calls in dvb_ca_en50221_init() after error detection The functions "dvb_unregister_device" and "kfree" could still be called by the dvb_ca_en50221_init() function in the case that a previous resource allocation failed. * Corresponding details could be improved by adjustments for jump targets. * Let us delete also an unnecessary check for the variable "ca" there. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 07d0e554b5d10522b4cd6448108c0ad16403fea6 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 12:01:40 2015 -0300 [media] DVB: Delete an unnecessary check before the function call "dvb_unregister_device" The dvb_unregister_device() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e68c2fe64c52c33e55f2d259d41a956a9e1f2a83 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Feb 4 10:42:12 2015 -0300 [media] dvb-usb: fix spaces after commas Fixing a few checkpatch errors of type: space required after that ',' Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5164d6aac0ed1b711a7b29bb556844e40f422ec6 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 11:27:38 2015 -0300 [media] V4L2: Delete an unnecessary check before the function call "media_entity_put" The media_entity_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0ea4bce7c09e29dc0a1891f6c7ba17794ec5f2b1 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 11:05:26 2015 -0300 [media] sp2: Delete an unnecessary check before the function call "kfree" The kfree() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ede8342bf63166e8d8fc3c05fc0985b27cc8186b Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Mon Apr 6 14:29:06 2015 -0700 spi: img-spfi: Setup TRANSACTION register before CONTROL register Setting the transfer length in the TRANSACTION register after the CONTROL register is programmed causes intermittent timeout issues in SPFI transfers when using the SPI framework to control the CS GPIO lines. To avoid this issue, set transfer length before programming the CONTROL register. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e64aedf80ae14b852abc0d7ca262530b69e9a18 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Tue Apr 7 20:14:59 2015 +0800 ASoC: Intel: Fix a buffer overflow issue 0day robot reported a buffer overflow issue: ... sound/soc/intel/haswell/sst-haswell-pcm.c:1107 hsw_pcm_probe() error: buffer\ overflow 'hsw_dais' 4 <= 4 sound/soc/intel/haswell/sst-haswell-pcm.c:1109 hsw_pcm_probe() error: buffer\ overflow 'hsw_dais' 4 <= 4 ... Fix it by initializing the index(i) to correct value. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 275350a0467ef50c3d9a820fe7a45a9c01a69d18 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Mon Jan 12 16:10:02 2015 -0300 [media] r820t: enable flt_ext_wide for SYS_DVBC_ANNEX_A standard Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d03b550910e6ad99a56b0d3a17163df13810e816 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Mon Jan 12 16:10:03 2015 -0300 [media] r820t: add settings for SYS_DVBC_ANNEX_C standard Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5c5179b9a8ab8e3255f78e233d94ea54f23f832 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Mar 31 12:41:55 2015 +0200 mmc: core: Convert the error field in struct mmc_command|data into an int Everybody expects the error field in the struct mmc_command|data to be and int but it's actually an unsigned int. Let's convert it into an int to meet the expectations. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 16b23787fc709fe60c5d2bd05927b1a3da33d4e9 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Tue Apr 7 07:57:32 2015 +0200 mmc: sdhci-of-arasan: Call OF parsing for MMC Also check MMC OF properties. The controller supports MMC too. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e30b978f17446d10dcb92c6979b4da9991a18005 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Tue Apr 7 11:32:01 2015 +0800 mmc: sdhci-pci: fix 64 BIT DMA quirks for rtsx rts5250 chip failed handle 64 bit ADMA for address below 4G. Add 64 BIT quirks to disable this feature. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 021cd2d21b5d68d6e7c1edb468e990e1c0caf6fb Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Fri Dec 5 21:25:33 2014 -0300 [media] mn88472: add ts mode and ts clock to driver Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d8da7513bcf9834abbb1963f909f96a9f513dd65 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:11 2015 -0300 [media] uvc: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d4352f3639d780f1727c26708cb511a3e3702226 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:06 2015 -0300 [media] em28xx: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 23fb4c5ea11814f48249ea3ab9f3ddb4dff77be1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:02 2015 -0300 [media] bttv: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 34080bc25fa04e07691e853cd516c431b67be5f4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:00 2015 -0300 [media] cx88: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 55cda4ab5386418b31e626e91bbf4eedf209b9bb Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Apr 2 08:34:31 2015 -0300 [media] cx18: replace cropping ioctls by selection ioctls Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3a29a4f177e99af0d80b5c4396a7aa1e9418742c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Apr 2 08:34:30 2015 -0300 [media] cx18: fix VIDIOC_ENUMINPUT: wrong std value The std field of v4l2_input is always V4L2_STD_ALL. For tuner inputs this should be cx->tuner_std. This fixes a v4l2-compliance failure. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 142267c9e026827ca5fa622f1f13780b6db26cf8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Apr 8 11:41:59 2015 +0200 ALSA: hda - Create AFG sysfs node at last ... so that user-space can know that the whole nodes have been created. Unfortunately, this can't be implemented easily in race-free way, so it's a kind of compromise. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eaa80c44d69a790feab29ccb07ced5ac38e98e4d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Apr 2 08:34:29 2015 -0300 [media] cx18: add support for control events v4l2-compliance failed due to missing control event support in cx18. Add this to the driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b36ae8532f48916d46f92c048d4866ee50e5fc67 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Mar 26 17:47:53 2015 -0300 [media] media: radio-si4713: improve usage of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify accordingly. Moreover use the _optional variant which has tighter error checking, but is simpler to use which allows further simplification. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4a203349593a636bff46c49be3f955e0a0c0b0d2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 20 14:05:06 2015 -0300 [media] vivid: use V4L2_DV_FL_IS_CE_VIDEO instead of V4L2_DV_BT_STD_CEA861 Don't rely on V4L2_DV_BT_STD_CEA861 since that include the 640x480p format, which is an IT format, not CE. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 680fee04a227d60dca5850e55597a09d15b92eb3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 20 14:05:05 2015 -0300 [media] adv: use V4L2_DV_FL_IS_CE_VIDEO instead of V4L2_DV_BT_STD_CEA861 Don't rely on V4L2_DV_BT_STD_CEA861 since that include the 640x480p format, which is an IT format, not CE. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Martin Bugge <marbugge@xxxxxxxxx> Cc: Mats Randgaard <mats.randgaard@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8b44b4e513a8da1d68759897445431b5d2e99d91 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 20 14:05:04 2015 -0300 [media] DocBook media: document the new V4L2_DV_FL_IS_CE_VIDEO flag Document this new flag. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Martin Bugge <marbugge@xxxxxxxxx> Cc: Mats Randgaard <mats.randgaard@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e1e62b98ebddc3234f3259019d3236f66fc667f8 Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Wed Apr 8 16:01:22 2015 +0800 ALSA: hda/realtek - Support Dell headset mode for ALC288 Dell create new platform with ALC288 codec. This patch will enable headset mode for Dino platform. [slight code refactoring and compile fix by tiwai] Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 74d802d8888667fce5d943f6e415d04418c2ee29 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Apr 3 06:27:02 2015 -0300 [media] v4l2-dv-timings: log new V4L2_DV_FL_IS_CE_VIDEO flag Add support for the new flag to v4l2_print_dv_timings(). Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ce65d1f874ddc109780fc781bb3b099bff82001 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 20 14:05:03 2015 -0300 [media] videodev2.h/v4l2-dv-timings.h: add V4L2_DV_FL_IS_CE_VIDEO flag In the past the V4L2_DV_BT_STD_CEA861 standard bit was used to determine whether the format is a CE (Consumer Electronics) format or not. However, the 640x480p59.94 format is part of the CEA-861 standard, but it is *not* a CE video format. Add a new flag to make this explicit. This information is needed in order to determine the default R'G'B' encoding for the format: for CE video this is limited range (16-235) instead of full range (0-255). The header with all the timings has been updated with this new flag. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Martin Bugge <marbugge@xxxxxxxxx> Cc: Mats Randgaard <mats.randgaard@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit acd2b672b45e557829c1f080e46457586aab9d74 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Mar 20 11:13:14 2015 -0300 [media] media/Documentation: New flag EXECUTE_ON_WRITE Document new flag V4L2_CTRL_FLAG_EXECUTE_ON_WRITE, and the new behavior of CH_VALUE event on VOLATILE controls. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 45f014c5264f5e68ef0e51b36f4ef5ede3d18397 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Mar 20 10:55:37 2015 -0300 [media] media/v4l2-ctrls: Always execute EXECUTE_ON_WRITE ctrls Any control with V4L2_CTRL_FLAG_EXECUTE_ON_WRITE set should return changed == true in cluster_changed. This forces the value to be passed to the driver even if it has not changed. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ef66c0ca09595d72f058b11bd7b542b0d95a1350 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Mar 20 11:21:28 2015 -0300 [media] media/v4l2-ctrls: Add execute flags to write_only controls Any control that sets FLAG_WRITE_ONLY should OR it with FLAG_EXECUTE_ON_WRITE. So we can keep the current meaning of WRITE_ONLY. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b6e5b8f1a90230f922de8af59cdaf1ad83e1ac1e Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Mar 20 10:45:43 2015 -0300 [media] media: New flag V4L2_CTRL_FLAG_EXECUTE_ON_WRITE Create a new flag that represent controls which its value needs to be passed to the driver even if it has not changed. They typically represent actions, like triggering a flash or clearing an error flag. So writing to such a control means some action is executed. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b08d8d26f4520187e09191f0c45374383b5a74eb Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Mar 20 10:30:46 2015 -0300 [media] media/v4l2-ctrls: volatiles should not generate CH_VALUE Volatile controls should not generate CH_VALUE events. Set has_changed to false to prevent this happening. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5190931d1d992fadc6ad9cc53b630783cf8e39c5 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Sat Mar 21 09:29:14 2015 -0300 [media] vivid: add support to set CVT, GTF timings In addition to v4l2_find_dv_timings_cap(), where timings are searched against the list of preset timings, the incoming timing from v4l2-ctl is checked against CVT and GTF standards. If it confirms to be CVT or GTF, it is treated as valid timing and vivid format is updated with new timings. Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 29103668e9be0aa28e3c893b398cb69978b920ad Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Fri Mar 20 03:41:45 2015 -0300 [media] vivid: add CVT,GTF standards to vivid dv timings caps Currently vivid supports V4L2_DV_BT_STD_DMT and V4L2_DV_BT_STD_CEA861 discrete video standards. Extending the capability set to allow for setting CVT and GTF standards. This change, along with adding the support for calculating CVT, GTF timings in v4l2-ctl would extend the number of resolutions supported by vivid to almost any custom resolution. Also extending the limits on min and max pixel clock to accommodate pixel clock range provided by cvt/gtf for resolutions ranging from 640x360p50 to 4kx2Kp60. Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f3b703326541d0c1ce85f5e570f6d2b6bd4296ec Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Wed Apr 8 15:01:17 2015 +0800 ALSA: hda/realtek - Support headset mode for ALC286/288 Support headset mode for ALC286 and ALC288 platforms. Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0a599838737a2527c35e4d94f794aefe59df1781 Merge: 2d846c7 a59d719 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Apr 8 11:29:56 2015 +0200 Merge branch 'for-linus' into for-next Back merge HD-audio quirks to for-next branch, so that we can apply a couple of more quirks. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a59d7199f62b8336570972dcc288321d0ec999fe Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Wed Apr 8 16:34:00 2015 +0800 ALSA: hda/realtek - Make more stable to get pin sense for ALC283 Pin sense will active when power pin is wake up. Power pin will not wake up immediately during resume state. Add some delay to wait for power pin activated. Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d3633329e88fb33eecbc9448730e9f3125763313 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Apr 3 05:15:09 2015 -0300 [media] ov2640: add missing consumer.h include Needed for mips and sh platforms Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c2529908a1905cd8b76bed0a6039975226cb24eb Author: Florian Echtler <floe@xxxxxxxxxxxxxx> Date: Tue Mar 31 06:43:28 2015 -0300 [media] sur40: fix occasional hard freeze due to buffer queue underrun This patch fixes a kernel panic which occurs when buf_list is empty. This can happen occasionally when user space is under heavy load (e.g. due to image processing on the CPU) and new buffers aren't re-queued fast enough. In that case, vb2_start_streaming_called can return true, but when the spinlock is taken and sur40_poll attempts to fetch the next buffer from buf_list, the list is in fact empty. This patch needs to be applied on top of the queued one adding V4L2 support to the sur40 driver. Signed-off-by: Florian Echtler <floe@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit af7f388e7452e1707f862378f38a0372c6c33728 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Mar 26 10:06:21 2015 -0300 [media] cx23885: Always initialise dev->slock spinlock The slock spinlock in the cx23885_dev struct is only initialised if analogue video is being used, but is used in other places too, leading to the attached lockdep complaint. Move the lock initialisation so that it is done unconditionally. INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. CPU: 1 PID: 4413 Comm: scandvb Tainted: G W 4.0.0-rc1-fsdevel+ #25 Hardware name: System manufacturer System Product Name/P5Q PRO TURBO, BIOS 0701 10/08/2012 0000000000000000 ffff880129d779d8 ffffffff8162bbdf 0000000000000006 0000000000000000 ffff880129d77aa8 ffffffff810780e3 0000000000000001 0000000000000046 0000000000000004 ffffffff81c3f180 0000000000000000 Call Trace: [<ffffffff8162bbdf>] dump_stack+0x4c/0x65 [<ffffffff810780e3>] __lock_acquire+0x7b5/0x1a0e [<ffffffff810799ee>] lock_acquire+0x97/0x10c [<ffffffffa006494e>] ? cx23885_buf_queue+0x69/0x142 [cx23885] [<ffffffff8102e9bc>] ? amd_set_subcaches+0x19b/0x19b [<ffffffff816313b4>] _raw_spin_lock_irqsave+0x36/0x4a [<ffffffffa006494e>] ? cx23885_buf_queue+0x69/0x142 [cx23885] [<ffffffffa006494e>] cx23885_buf_queue+0x69/0x142 [cx23885] [<ffffffffa00662cb>] buffer_queue+0x17/0x19 [cx23885] [<ffffffffa00382d5>] __enqueue_in_driver+0x6a/0x6f [videobuf2_core] [<ffffffffa0038ead>] vb2_start_streaming+0x37/0x129 [videobuf2_core] [<ffffffffa003a6c0>] vb2_internal_streamon+0xc5/0x105 [videobuf2_core] [<ffffffffa003b889>] __vb2_init_fileio+0x224/0x286 [videobuf2_core] [<ffffffffa003bcc0>] ? vb2_thread_start+0x7b/0x15f [videobuf2_core] [<ffffffffa0050182>] ? vb2_dvb_start_feed+0x86/0x86 [videobuf2_dvb] [<ffffffffa003bd06>] vb2_thread_start+0xc1/0x15f [videobuf2_core] [<ffffffff8150d393>] ? dmx_section_feed_start_filtering+0x2f/0x14f [<ffffffffa0050157>] vb2_dvb_start_feed+0x5b/0x86 [videobuf2_dvb] [<ffffffff8150d461>] dmx_section_feed_start_filtering+0xfd/0x14f [<ffffffff8150afc7>] dvb_dmxdev_filter_start+0x23f/0x315 [<ffffffff8150b6ad>] dvb_demux_do_ioctl+0x1fb/0x556 [<ffffffff81509e94>] dvb_usercopy+0xb4/0x11c [<ffffffff8150b4b2>] ? dvb_dmxdev_ts_callback+0xd0/0xd0 [<ffffffff8150a11a>] dvb_demux_ioctl+0x10/0x14 [<ffffffff81144ac4>] do_vfs_ioctl+0x3c1/0x474 [<ffffffff8126f181>] ? file_has_perm+0x5b/0x7f [<ffffffff810bf6ca>] ? __audit_syscall_entry+0xbc/0xde [<ffffffff81144bcc>] SyS_ioctl+0x55/0x7a [<ffffffff81631d52>] system_call_fastpath+0x12/0x17 Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ecaa4902222fd4d28692203bec028513fbac29c7 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Sun Dec 21 15:38:02 2014 +0100 drm/rockchip: use for_each_endpoint_of_node macro, drop endpoint reference on break Using the for_each_... macro should make the code a bit shorter and easier to read. Also, when breaking out of the loop, the endpoint node reference count needs to be decremented. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 4af642d5bf75c726c874a198daf742589db30981 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Dec 22 11:46:40 2014 +0100 drm/rcar-du: use for_each_endpoint_of_node macro Using the for_each_... macro should make the code a bit shorter and easier to read. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 539bb6a248858edd99d8645677345799f37ca51d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 3 23:07:49 2014 +0200 drm/imx: use for_each_endpoint_of_node macro in imx_drm_encoder_get_mux_id Using the for_each_... macro should make the code bit shorter and easier to read. This patch also properly decrements the endpoint node reference count before returning out of the loop. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7416f4e33b5e924baa030ddab1f261a0a85fa32e Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 3 22:59:51 2014 +0200 drm: use for_each_endpoint_of_node macro in drm_of_find_possible_crtcs Using the for_each_... macro should make the code a bit shorter and easier to read. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 3ea3b7fa9af067982f34b6745584558821eea79d Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Apr 3 15:40:25 2015 +0800 kvm: mmu: lazy collapse small sptes into large sptes Dirty logging tracks sptes in 4k granularity, meaning that large sptes have to be split. If live migration is successful, the guest in the source machine will be destroyed and large sptes will be created in the destination. However, the guest continues to run in the source machine (for example if live migration fails), small sptes will remain around and cause bad performance. This patch introduce lazy collapsing of small sptes into large sptes. The rmap will be scanned in ioctl context when dirty logging is stopped, dropping those sptes which can be collapsed into a single large-page spte. Later page faults will create the large-page sptes. Reviewed-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Message-Id: <1428046825-6905-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1119022c71fb11826041787cf0ebffc1a1b0ba5b Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Thu Apr 2 03:10:38 2015 +0300 KVM: x86: Clear CR2 on VCPU reset CR2 is not cleared as it should after reset. See Intel SDM table named "IA-32 Processor States Following Power-up, Reset, or INIT". Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427933438-12782-5-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ae561edeb421fbc24f97df7af8607c14009c16b2 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Thu Apr 2 03:10:37 2015 +0300 KVM: x86: DR0-DR3 are not clear on reset DR0-DR3 are not cleared as they should during reset and when they are set from userspace. It appears to be caused by c77fb5fe6f03 ("KVM: x86: Allow the guest to run with dirty debug registers"). Force their reload on these situations. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427933438-12782-4-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 58d269d8cccc53643f1a0900cfc0940e85ec9691 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Thu Apr 2 03:10:36 2015 +0300 KVM: x86: BSP in MSR_IA32_APICBASE is writable After reset, the CPU can change the BSP, which will be used upon INIT. Reset should return the BSP which QEMU asked for, and therefore handled accordingly. To quote: "If the MP protocol has completed and a BSP is chosen, subsequent INITs (either to a specific processor or system wide) do not cause the MP protocol to be repeated." [Intel SDM 8.4.2: MP Initialization Protocol Requirements and Restrictions] Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427933438-12782-3-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3b5a5ffa928a3f875b0d5dd284eeb7c322e1688a Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Feb 12 19:41:34 2015 +0100 KVM: x86: simplify kvm_apic_map recalculate_apic_map() uses two passes over all VCPUs. This is a relic from time when we selected a global mode in the first pass and set up the optimized table in the second pass (to have a consistent mode). Recent changes made mixed mode unoptimized and we can do it in one pass. Format of logical MDA is a function of the mode, so we encode it in apic_logical_id() and drop obsoleted variables from the struct. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <1423766494-26150-5-git-send-email-rkrcmar@xxxxxxxxxx> [Add lid_bits temporary in apic_logical_id. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3548a259f6990d8cb4f520e6c14f4b45b1f2fd38 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Feb 12 19:41:33 2015 +0100 KVM: x86: avoid logical_map when it is invalid We want to support mixed modes and the easiest solution is to avoid optimizing those weird and unlikely scenarios. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <1423766494-26150-4-git-send-email-rkrcmar@xxxxxxxxxx> [Add comment above KVM_APIC_MODE_* defines. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9ea369b032d87b88f1a47187b51ad4321dea5766 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Feb 12 19:41:32 2015 +0100 KVM: x86: fix mixed APIC mode broadcast Broadcast allowed only one global APIC mode, but mixed modes are theoretically possible. x2APIC IPI doesn't mean 0xff as broadcast, the rest does. x2APIC broadcasts are accepted by xAPIC. If we take SDM to be logical, even addreses beginning with 0xff should be accepted, but real hardware disagrees. This patch aims for simple code by considering most of real behavior as undefined. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <1423766494-26150-3-git-send-email-rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 03d2249ea60818e97475ac529aa183cf130935bb Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Feb 12 19:41:31 2015 +0100 KVM: x86: use MDA for interrupt matching In mixed modes, we musn't deliver xAPIC IPIs like x2APIC and vice versa. Instead of preserving the information in apic_send_ipi(), we regain it by converting all destinations into correct MDA in the slow path. This allows easier reasoning about subsequent matching. Our kvm_apic_broadcast() had an interesting design decision: it didn't consider IOxAPIC 0xff as broadcast in x2APIC mode ... everything worked because IOxAPIC can't set that in physical mode and logical mode considered it as a message for first 8 VCPUs. This patch interprets IOxAPIC 0xff as x2APIC broadcast. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <1423766494-26150-2-git-send-email-rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 19456060315cedc5595a47007f886369871dfbc5 Author: Arseny Solokha <asolokha@xxxxxxxxxx> Date: Tue Feb 24 16:05:04 2015 +0700 kvm/ppc/mpic: drop unused IRQ_testbit Drop unused static procedure which doesn't have callers within its translation unit. It had been already removed independently in QEMU[1] from the OpenPIC implementation borrowed from the kernel. [1] https://lists.gnu.org/archive/html/qemu-devel/2014-06/msg01812.html Signed-off-by: Arseny Solokha <asolokha@xxxxxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-Id: <1424768706-23150-3-git-send-email-asolokha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 92d71bc6951364c20f7d8c70a83cd93a68a63ea7 Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Date: Sun Mar 29 23:56:44 2015 +0300 KVM: nVMX: remove unnecessary double caching of MAXPHYADDR After speed-up of cpuid_maxphyaddr() it can be called frequently: instead of heavyweight enumeration of CPUID entries it returns a cached pre-computed value. It is also inlined now. So caching its result became unnecessary and can be removed. Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Message-Id: <20150329205644.GA1258@gnote> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9090422f1ca5270795738549cf91a4ae7cb47662 Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Date: Sun Mar 29 23:56:27 2015 +0300 KVM: nVMX: checks for address bits beyond MAXPHYADDR on VM-entry On each VM-entry CPU should check the following VMCS fields for zero bits beyond physical address width: - APIC-access address - virtual-APIC address - posted-interrupt descriptor address This patch adds these checks required by Intel SDM. Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Message-Id: <20150329205627.GA1244@gnote> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5a4f55cde81f1633cb7ae9f0963b722e47acdc36 Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Date: Sun Mar 29 23:56:12 2015 +0300 KVM: x86: cache maxphyaddr CPUID leaf in struct kvm_vcpu cpuid_maxphyaddr(), which performs lot of memory accesses is called extensively across KVM, especially in nVMX code. This patch adds a cached value of maxphyaddr to vcpu.arch to reduce the pressure onto CPU cache and simplify the code of cpuid_maxphyaddr() callers. The cached value is initialized in kvm_arch_vcpu_init() and reloaded every time CPUID is updated by usermode. It is obvious that these reloads occur infrequently. Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Message-Id: <20150329205612.GA1223@gnote> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 80f0e95d1b221688b2608e0a80134e7acccd9a89 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Apr 2 21:11:05 2015 +0200 KVM: vmx: pass error code with internal error #2 Exposing the on-stack error code with internal error is cheap and potentially useful. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <1428001865-32280-1-git-send-email-rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 80f7fdb1c7f0f9266421f823964fd1962681f6ce Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Apr 2 20:44:23 2015 +0200 x86: vdso: fix pvclock races with task migration If we were migrated right after __getcpu, but before reading the migration_count, we wouldn't notice that we read TSC of a different VCPU, nor that KVM's bug made pvti invalid, as only migration_count on source VCPU is increased. Change vdso instead of updating migration_count on destination. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Fixes: 0a4e6be9ca17 ("x86: kvm: Revert "remove sched notifier for cross-cpu migrations"") Message-Id: <1428000263-11892-1-git-send-email-rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3180a7fcbc0ec7ed7cc85ed5015bdd7a8c2176e8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 2 14:08:20 2015 +0200 KVM: remove kvm_read_hva and kvm_read_hva_atomic The corresponding write functions just use __copy_to_user. Do the same on the read side. This reverts what's left of commit 86ab8cffb498 (KVM: introduce gfn_to_hva_read/kvm_read_hva/kvm_read_hva_atomic, 2012-08-21) Cc: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-Id: <1427976500-28533-1-git-send-email-pbonzini@xxxxxxxxxx> commit 9c8fd1ba2201c072bd3cf6940e2ca4d0a7aed723 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 6 12:58:42 2015 +0100 KVM: x86: optimize delivery of TSC deadline timer interrupt The newly-added tracepoint shows the following results on the tscdeadline_latency test: qemu-kvm-8387 [002] 6425.558974: kvm_vcpu_wakeup: poll time 10407 ns qemu-kvm-8387 [002] 6425.558984: kvm_vcpu_wakeup: poll time 0 ns qemu-kvm-8387 [002] 6425.561242: kvm_vcpu_wakeup: poll time 10477 ns qemu-kvm-8387 [002] 6425.561251: kvm_vcpu_wakeup: poll time 0 ns and so on. This is because we need to go through kvm_vcpu_block again after the timer IRQ is injected. Avoid it by polling once before entering kvm_vcpu_block. On my machine (Xeon E5 Sandy Bridge) this removes about 500 cycles (7%) from the latency of the TSC deadline timer. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 362c698f8220e636edf1c40b1935715fa57f492f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 6 12:48:04 2015 +0100 KVM: x86: extract blocking logic from __vcpu_run Rename the old __vcpu_run to vcpu_run, and extract part of it to a new function vcpu_block. The next patch will add a new condition in vcpu_block, avoid extra indentation. Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 35fd68a38d574188835110cde2937d18fe9b46dd Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Wed Apr 8 14:08:14 2015 +0800 kvm: x86: fix x86 eflags fixed bit Guest can't be booted w/ ept=0, there is a message dumped as below: If you're running a guest on an Intel machine without unrestricted mode support, the failure can be most likely due to the guest entering an invalid state for Intel VT. For example, the guest maybe running in big real mode which is not supported on less recent Intel processors. EAX=00000011 EBX=f000d2f6 ECX=00006cac EDX=000f8956 ESI=bffbdf62 EDI=00000000 EBP=00006c68 ESP=00006c68 EIP=0000d187 EFL=00000004 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =e000 000e0000 ffffffff 00809300 DPL=0 DS16 [-WA] CS =f000 000f0000 ffffffff 00809b00 DPL=0 CS16 [-RA] SS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA] DS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA] FS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA] GS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA] LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy GDT= 000f6a80 00000037 IDT= 000f6abe 00000000 CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 EFER=0000000000000000 Code=01 1e b8 6a 2e 0f 01 16 74 6a 0f 20 c0 66 83 c8 01 0f 22 c0 <66> ea 8f d1 0f 00 08 00 b8 10 00 00 00 8e d8 8e c0 8e d0 8e e0 8e e8 89 c8 ff e2 89 c1 b8X X86 eflags bit 1 is fixed set, which means that 1 << 1 is set instead of 1, this patch fix it. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Message-Id: <1428473294-6633-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 223fa2725a0fb43b303a29fe215a1997e70acd82 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 10:08:56 2015 +0200 gpio: arrange Kconfig symbols alphabetically This rearranges the GPIO drivers Kconfig symbols alphabetically as the top comment in the file already states they should be. No functional changes whatsoever. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 62e08f25bd09b088f266ea6fc34d2f596d83c04e Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Tue Mar 31 10:11:47 2015 -0500 gpio: ich: Implement get_direction function Allow the kernel to query the driver for a GPIO's pin direction. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit afeb7b45e96239f0bfa610dd40945786f5a9b164 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Mar 31 09:49:11 2015 +0530 gpio: use (!foo) instead of (foo == NULL) Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4878b46679f5b0ec86cc6ff48f4edb8a54e2a4d0 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Mar 31 09:49:10 2015 +0530 gpio: arizona: drop owner assignment from platform_drivers This driver no need to set the owner field, it will be populated by driver core. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 76a2dae0e69b0ee511c6d64ad5c37596e7356a93 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Mar 31 09:49:09 2015 +0530 gpio: max7300: remove 'ret' variable Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7898b31ebafbf01d2ad56d251cfc9bfa4e5c644a Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Mar 31 09:49:08 2015 +0530 gpio: use devm_kzalloc We can use devres API for allocating memory. No need of using kfree. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d1e10dc8c104d533547f6e499550fafc36809943 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Mar 29 15:40:39 2015 +0200 gpio: sch: use uapi/linux/pci_ids.h directly Header moved from linux/pci_ids.h to uapi/linux/pci_ids.h, use the new header directly so we can drop the wrapper in include/linux/pci_ids.h. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 33c07b46774219ceaa2e6650413aa4d2cd6d6dd0 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sun Mar 29 05:37:20 2015 +0300 gpio: x-gene: fix devm_ioremap_resource() check devm_ioremap_resource() returns IOMEM_ERR_PTR() and it never returns NULL, fix the check to prevent access to invalid virtual address. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cbfb3ea7f8c8da2e12d6d5aeca6d483de4297427 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Wed Apr 1 10:20:09 2015 +0800 gpio: loongson: Add Loongson-3A/3B GPIO driver support Improve Loongson-2's GPIO driver to support Loongson-3A/3B, and update Loongson-3's default config file. Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6d00ec0514bd909e89ede59501342732dbef49fd Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Apr 8 09:16:32 2015 +0200 cfg80211: don't allow disabling WEXT if it's required The change to only export WEXT symbols when required could break the build if CONFIG_CFG80211_WEXT was explicitly disabled while a driver like orinoco selected it. Fix this by hiding the symbol when it's required so it can't be disabled in that case. Fixes: 2afe38d15cee ("cfg80211-wext: export symbols only when needed") Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8b3607b5b8c591d8bf045911cb7c90ecaa6e7b73 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 18:42:47 2015 +0200 x86/asm/entry/64: Add forgotten CFI annotation Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428424967-14460-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3304c9c37bef30ebd2ef71d986e6568372ce80f8 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 3 21:49:13 2015 +0200 x86/asm/entry/irq: Simplify interrupt dispatch table (IDT) layout Interrupt entry points are handled with the following code, each 32-byte code block contains seven entry points: ... [push][jump 22] // 4 bytes [push][jump 18] // 4 bytes [push][jump 14] // 4 bytes [push][jump 10] // 4 bytes [push][jump 6] // 4 bytes [push][jump 2] // 4 bytes [push][jump common_interrupt][padding] // 8 bytes [push][jump] [push][jump] [push][jump] [push][jump] [push][jump] [push][jump] [push][jump common_interrupt][padding] [padding_2] common_interrupt: And there is a table which holds pointers to every entry point, IOW: to every push. In cold cache, two jumps are still costlier than one, even though we get the benefit of them residing in the same cacheline. This change replaces short jumps with near ones to 'common_interrupt', and pads every push+jump pair to 8 bytes. This way, each interrupt takes only one jump. This change replaces ".p2align CONFIG_X86_L1_CACHE_SHIFT" before dispatch table with ".align 8" - we do not need anything stronger than that. The table of entry addresses (the interrupt[] array) is no longer necessary, the address of entries can be easily calculated as (irq_entries_start + i*8). text data bss dec hex filename 12546 0 0 12546 3102 entry_64.o.before 11626 0 0 11626 2d6a entry_64.o The size decrease is because 1656 bytes of .init.rodata are gone. That's initdata, though. The resident size does go up a bit. Run-tested (32 and 64 bits). Acked-and-Tested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428090553-7283-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fffbb5dcfd29f8831e41b4dd2ab938bd36d35283 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Apr 2 18:46:59 2015 +0200 x86/asm/entry/64: Move opportunistic sysret code to syscall code path This change does two things: Copy-pastes "retint_swapgs:" code into syscall handling code, the copy is under "syscall_return:" label. The code is unchanged apart from some label renames. Removes "opportunistic sysret" code from "retint_swapgs:" code block, since now it won't be reached by syscall return. This in fact removes most of the code in question. text data bss dec hex filename 12530 0 0 12530 30f2 entry_64.o.before 12562 0 0 12562 3112 entry_64.o Run-tested. Acked-and-Tested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427993219-7291-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4bcc7827b02feea2c762fa6d46a1bffb300d7403 Merge: 3f705df f22e6e8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Apr 8 09:01:54 2015 +0200 Merge tag 'v4.0-rc7' into x86/asm, to resolve conflicts Conflicts: arch/x86/kernel/entry_64.S Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0c4d6af42d8375e003f0e4626f2f661862b5df4b Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Fri Mar 27 19:43:01 2015 +0800 usb: chipidea: debug: add low power mode check before print registers Since the required clock to access registers is gated off in low power mode, add ci->in_lpm check before try to dump registers value. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 2c336e3a2e1728d9b3116422655832184dc7046c Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Apr 7 19:11:17 2015 +0200 target: simplify target_xcopy_init_pt_lun Drop unused argument & return value and consolidate a duplicate assignment. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c3d0a7c21db219ef87679c2a667aba9f138524db Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Apr 7 19:11:16 2015 +0200 target: remove the unused SCF_CMD_XCOPY_PASSTHROUGH flag Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6766cc81191c946dcb8e8bfe49f220f9a1cc8b5c Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Sun Apr 5 23:59:38 2015 +0900 target/rd: reduce code duplication in rd_execute_rw() Factor out code duplication in rd_execute_rw() into a helper function rd_do_prot_rw(). This change is required to minimize the forthcoming fix in rd_do_prot_rw(). (Fix up v4.1 for-next fuzz - nab) Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: target-devel@xxxxxxxxxxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 2e1cd90d718a5fc721e0caa0dc9f037d9b1f46b8 Author: Ming Lin <mlin@xxxxxxxxxx> Date: Sun Mar 29 23:11:30 2015 -0700 tcm_loop: fixup tpgt string to integer conversion Currently, for example, mkdir "tpgt_xyz" doesn't return error. mkdir /sys/kernel/config/target/loopback/naa.60014055f195952b/tpgt_xyz Replace obsoleted simple_strtoul with kstrtoul and check the conversion. Signed-off-by: Ming Lin <mlin@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9e35eff449fc7c7106ea0fd64457afacf68f3bb3 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:20 2015 +0300 iser-target: Bump version to 1.0 Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit dac6ab305d73b5a67bbb2a0b3d8e2bd6a1383447 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:19 2015 +0300 iser-target: Remove conn_ prefix from struct isert_conn members These variables are always accessed via struct isert_conn so no need to have a "conn_" prefix for them. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 992607e813811778a76f9ff25f31e33a1660e146 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:18 2015 +0300 iser-target: Remove un-needed rdma_listen backlog iser target can handle as many connect request as the fabric sends to it. This backlog should not set as a back-pressure mechanism (which is not very useful). isert does need a back-pressure mechanism, but it should be added in isert by monitoring the number of pending established connections (will be added in a later stage). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 57df81e3b1bc7e65f48c2146ba1b3affbd709d5c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:17 2015 +0300 iser-target: Remove redundant check on the device In iser_connect_release there is no chance that the iser device is set to NULL, if this happens we have a BUG. So use BUG_ON. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c6b8e9180de76624d0a01148d6edd0107edebed1 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:16 2015 +0300 iser-target: Get rid of redundant max_accept Not sure what it was used for, but there is no real need for it now as I see it. Go ahead and get rid of it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ae9ea9ed38c9c8f6cf19c669d7b032cab3dadede Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:15 2015 +0300 iser-target: Split some logic in isert_connect_request to routines Move login buffer alloc/free code to dedicated routines and introduce isert_conn_init which initializes the connection lists and locks. Simplifies and cleans up the code a little bit. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cf8ae95823ae99186729834a630f24ff9e7b1501 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:14 2015 +0300 iser-target: Rename device find/release routines isert_device_find_by_ib_dev and isert_device_try_release can have a better, more common name like isert_device_[get|put]. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7748681bb8100f24571a53d42f180e9f4fe8f39f Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:13 2015 +0300 iser-target: Rename rend/recv completion routines Make receive/send completion handling routines symmetrical. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit fd8205e883cd3a7ca4ca86baecf44be3114bafcf Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:12 2015 +0300 iser-target: Remove redundant assignment to local variable No need to keep a local ib_dev as a device pointer. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 172369c5703861ca54ec1dcd2708ad75e1ec171a Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:11 2015 +0300 iser-target: Introduce isert_[alloc|free]_comps Move the code for completion context handling to dedicated routines. This simplifies the code and removes code duplication. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 40fc069ad8c910e2c20348bd9adeb79b3a945fef Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:10 2015 +0300 iser-target: Split isert_setup_qp Simplify iser QP creation by splitting some unrelated logic bulks to routines. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6700425eb0fc92a5e3944ec3e43711877d2d5862 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:09 2015 +0300 iser-target: Remove redundant casting on void pointers No need to cast void pointers. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit fb140271414be416c5d13d2a16a96fbe6e8cde01 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:08 2015 +0300 iser-target: Remove redundant local variable No need for this assignment. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit b859203473d5d61260e8447915e22328442deb0b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:07 2015 +0300 iser-target: Remove dead code unmap_list is unused. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit e26e6ef703f78943e1a4e69ad82f6e5143925ffc Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:06 2015 +0300 iser-target: Remove redundant check on recv completion We have a switch default for this. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 67cb39492571433b95eb2952edca46f024ddf16c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:05 2015 +0300 iser-target: Use a single DMA MR and PD per device This is to favor the HCA cache hit rate using less MRs and PDs. This commit partially reverts commit: "eb6ab13 IB/isert: separate connection protection domains and dma MRs" At the time I thought this would be needed. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4a579da2586bd3b79b025947ea24ede2bbfede62 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:04 2015 +0300 iser-target: Fix possible deadlock in RDMA_CM connection error Before we reach to connection established we may get an error event. In this case the core won't teardown this connection (never established it), so we take care of freeing it ourselves. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 364189f0ada5478e4faf8a552d6071a650d757cd Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:03 2015 +0300 iser-target: Fix session hang in case of an rdma read DIF error This hang was a result of a missing command put when a DIF error occurred during a rdma read (and we sent an CHECK_CONDITION error without passing it to the backend). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 901c04a33f138e5fb935a1621375a1a0997fe7b1 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Mar 29 19:36:16 2015 -0700 iscsi/iser-target: Add fabric_prot_type attribute support This patch updates iscsi/iser-target to add a new fabric_prot_type TPG attribute for iser-target, used for controlling LLD level protection into LIO when the backend device does not support T10-PI. This is required for ib_isert to enable WRITE_STRIP + READ_INSERT hardware offloads. It's disabled by default and controls which se_sesion->sess_prot_type are set at iscsi_target_locate_portal() session registration time. Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 64b16887749fd8e8000cc2ad1acca3cd29f84086 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 27 23:30:57 2015 -0700 tcm_qla2xxx: Add fabric_prot_type attribute support This patch updates qla2xxx target to add a new fabric_prot_type TPG attribute, used for controlling LLD level protection into LIO when the backend device does not support T10-PI. This is required for qla_target.c to enable WRITE_STRIP + READ_INSERT hardware offloads. It's disabled by default and controls which se_sesion->sess_prot_type are set at tcm_qla2xxx_check_initiator_node_acl() session registration time. Cc: Quinn Tran <quinn.tran@xxxxxxxxxx> Cc: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Cc: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 59bb0ff5db755a6a833acd633015b406d0894253 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 12:49:46 2015 -0800 tcm_qla2xxx: Set TARGET_PROT_ALL for sup_prot_ops This patch adds the missing TARGET_PROT_ALL when initializing a new session and declaring the capable se_sess->sup_prot_ops for T10-PI. This is required in order to function with existing qla_target.c DIF protection offload support. Cc: Quinn Tran <quinn.tran@xxxxxxxxxx> Cc: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Cc: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit b1d75fe53ef20b90bb64b1e48b905416f0dfde23 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sat Mar 28 00:03:51 2015 -0700 vhost/scsi: Add fabric_prot_type attribute support This patch updates vhost-scsi to add a new fabric_prot_type TPG attribute, used for controlling LLD level protection into LIO when the backend device does not support T10-PI. This is required for vhost-scsi to enable WRITE_STRIP + READ_INSERT operations using software emulation + crct10dif instruction offload. It's disabled by default and controls which se_sesion->sess_prot_type are set at vhost_scsi_make_nexus() session registration time. Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 436f4a0a99520623ef3fb994d70d2938fc9f00b6 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 12:31:39 2015 -0800 loopback: Add fabric_prot_type attribute support This patch updates loopback to add a new fabric_prot_type TPG attribute, used for controlling LLD level protection into LIO when the backend device does not support T10-PI. Also, go ahead and set DIN_PASS + DOUT_PASS so target-core knows that it will be doing any WRITE_STRIP and READ_INSERT operations. Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 1762742f3fd276570456eb669922e34e11bd98b7 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 27 23:15:04 2015 -0700 target/rd: Add checks for backend DIF emulation Make sure that RAMDISK only attempts to use backend DIF emulation when it's actually enabled at device level. Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6f16ec43e06e37dc5c3bed52ae76803c13ee2f8c Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 27 23:14:16 2015 -0700 target/iblock: Add checks for backend DIF emulation Make sure that IBLOCK only attempts to use backend DIF emulation when it's actually enabled at device level. Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ee920469d61e896d124fec528250ecfba1ec9f8d Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sat Feb 28 02:44:19 2015 -0800 target/file: Add checks for backend DIF emulation Make sure that FILEIO only attempts to use backend DIF emulation when it's actually enabled at device level. Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 72c0385014a140b6029c5c8bf88efb9ad166ae48 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 04:02:08 2015 -0800 target: Add internal READ_INSERT support This patch adds READ_INSERT support in target_read_prot_action() that invokes sbc_dif_generate() when LIO is responsible for generating the outgoing T10-PI. Required for supporting fabrics that exchange protection information, and would like to function with un-protected devices. Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit fdeab852983249fd1b8859f8bf54a5bfd8581c90 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 02:53:25 2015 -0800 target: Move cmd->prot_op check into target_read_prot_action This patch moves the existing target_complete_ok_work() check for cmd->prot_op into it's own function, so it's easier to add future support for READ INSERT. Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 5132d1e655dc4befcc075ef32a261eb9733bb04c Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 03:06:17 2015 -0800 target: Add internal WRITE_STRIP support This patch adds WRITE_STRIP support in target_write_prot_action() that invokes sbc_dif_verify_write() for checking T10-PI metadata before submitting the I/O to a backend driver. Upon verify failure, the specific sense code is propigated up the failure path up to transport_generic_request_failure(). Also, update sbc_dif_verify_write() to only perform the subsequent protection metadata copy when a valid *sg is passed. (Use ilog2 instead of division and unlikely for pi_err - Sagi) Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit aa58b53168e12342aa0561c12bf5d6729487c63e Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 12:39:06 2015 -0800 target: Move cmd->prot_op check into target_write_prot_action This patch moves the existing target_execute_cmd() check for cmd->prot_op into it's own function, so it's easier to add future support for WRITE STRIP. (Use better target_write_prot_action name - Sagi) Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9ef5466ee2f0599caf8d84203d36e581c6fc7035 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Feb 27 22:05:33 2015 -0800 target: Update SPC/SBC emulation for sess_prot_type This patch updates standard INQUIRY, INQUIRY EVPD=0x86, READ_CAPACITY_16 and control mode pages to use se_sess->sess_prot_type when determing which type of T10-PI related feature bits can be exposed. This is required for fabric sessions supporting T10-PI metadata to backend devices that don't have protection enabled. Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Doug Gilbert <dgilbert@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 38b57f82f66dfb21ebe321d71c84c0e3469980c4 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Feb 27 22:05:21 2015 -0800 target: Add protected fabric + unprotected device support This patch adds a new target_core_fabric_ops callback for allowing fabric drivers to expose a TPG attribute for signaling when a T10-PI protected fabric wants to function with an un-protected device without T10-PI. This specifically is to allow LIO to perform WRITE_STRIP + READ_INSERT operations when functioning with non T10-PI enabled devices, seperate from any available hw offloads the fabric supports. This is done using a new se_sess->sess_prot_type that is set at fabric session creation time based upon the TPG attribute. It currently cannot be changed for individual sessions after initial creation. Also, update existing target_core_sbc.c code to honor sess_prot_type when setting up cmd->prot_op + cmd->prot_type assignments. (Add unlikely and !! boolean conversion in sbc_check_prot - Sagi) Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Doug Gilbert <dgilbert@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 823ddd877f3a5c301490196d369f68baa6c020e4 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Feb 27 22:42:11 2015 -0800 target: Convert DIF emulation to use cmd->prot_type This patch changes existing DIF emulation to check the command descriptor's prot_type, instead of what the backend device is exposing in pi_prot_type. Since this value is already set in sbc_check_prot(), go ahead and use it to allow protected fabrics to function with unprotected devices. Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3f705dfdf85a6416f5f12e52b7610144a99cbedc Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Apr 6 23:11:06 2015 -0700 x86, selftests: Add sigreturn selftest This is my sigreturn test, added mostly unchanged from its old home. It exercises the sigreturn(2) syscall, specifically focusing on its interactions with various IRET corner cases. It tests for correct behavior in several areas that were historically dangerously buggy. For example, it exercises espfix on kernels of both bitnesses under various conditions, and it contains testcases for several now-fixed bugs in IRET error handling. If you run it on older kernels without the fixes, your system will crash. It probably won't eat your data in the process. There is no released kernel on which the sigreturn_64 test will pass, but it passes on tip:x86/asm. I plan to switch to lib.mk for Linux 4.2. I'm not using the ksft_ helpers at all yet. I can do that later. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuah.kh@xxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/89d10b76b92c7202d8123654dc8d36701c017b3d.1428386971.git.luto@xxxxxxxxxx [ Fixed empty format string GCC build warning in trivial_32bit_program.c ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9b6567e19bc55187bc1bb094b00a9f63acb30071 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Mon Mar 23 16:03:35 2015 +0800 usb: chipidea: udc: bypass pullup DP when gadget connect in OTG fsm mode By pass pullup DP in OTG fsm mode when do gadget connect, to let it handled by OTG state machine. This patch can fix the problem you found with my HNP polling patchset after below 3 patches introduced: 467a78c usb: chipidea: udc: apply new usb_udc_vbus_handler interface 628ef0d usb: udc: add usb_udc_vbus_handler dfea9c9 usb: udc: store usb_udc pointer in struct usb_gadget Problem: - Connect USB cable and MicroAB cable between two boards - Boot up two boards - load g_mass_storage at B-device side, the enumeration will success, and A will see a usb mass-storage device - load g_mass_storage at A-device side, the problem has occurred, the connection will be lost at the beginning, then connect again. This patch is based on commit eff933c1d3a2e046492b3dfc86db813856553a29 (chipidea: pci: make it depends on NOP_USB_XCEIV) on branch peter-usb-dev of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 7587d12647f1d952a4fbe5fb54a52e98b5509dcc Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Wed Apr 8 13:44:18 2015 +0800 nios2: signal: Move restart_block to struct task_struct See https://lkml.org/lkml/2014/10/29/643 and commit f56141e3e2d9 ("all arches, signal: move restart_block to struct task_struct") Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 04bdf441787a385487fb7b08d9a3f35a1271b474 Author: Tommi Rantala <tt.rantala@xxxxxxxxx> Date: Fri Apr 3 10:45:29 2015 +0300 drm: fix drm_mode_getconnector() locking imbalance regression Regression in commit 2caa80e72b57c6216aec6f6a11fcfb4fec46daa0 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 11:38:36 2015 +0100 drm: Fix deadlock due to getconnector locking changes If the drm_connector_find() call returns NULL, we should no longer call drm_modeset_unlock() to avoid locking imbalance. Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit f64e02fe9bc6a359cab95632b33900094d225ae1 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Wed Apr 8 00:00:32 2015 -0400 ext4 crypto: add ext4_mpage_readpages() This takes code from fs/mpage.c and optimizes it for ext4. Its primary reason is to allow us to more easily add encryption to ext4's read path in an efficient manner. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit cdbff611940882b36d6964ced177bc167012f5c0 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Sun Mar 29 15:38:50 2015 +0200 MAINTAINERS: Add me on list of Dell laptop drivers I have written many parts of dell laptop drivers dell-laptop.c, dell-wmi.c and dell-smo8800.c Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 6cff8d60aa0aba5583ecda09984dbcb2f24cc28d Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Thu Feb 19 11:58:29 2015 +0100 platform: x86: dell-laptop: Add support for keyboard backlight This patch adds the support for the configuration of the keyboard backlight on supported Dell laptops. With this patch it is possible to set: * keyboard backlight level * timeout after which the backlight will be automatically turned off * input activity triggers (keyboard, touchpad, mouse) that enable the backlight * ambient light settings The settings are exposed via /sys/class/leds/dell::kbd_backlight/ The code is based on the newly released documentation by Dell in the libsmbios project. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 9659bee43bf010d4c7037fee9c023124f144c6ca Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Apr 2 19:28:07 2015 -0600 Documentation/ABI: Update sysfs-driver-toshiba_acpi entry This patch updates the sysfs-driver-toshiba_acpi entry, adding the missing entries for USB Sleep functions. And also, while at the neighborhood, fix some typos and add a note that some features require a reboot. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit bb26f1893a086db77edca73529d5f59a8338ff30 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Apr 2 19:26:21 2015 -0600 toshiba_acpi: Fix pr_* messages from USB Sleep Functions This patch fixes the messages displayed by the USB Sleep Functions, they were printing wrong messages not associated to the feature currently queried. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit c8c918425ac88cf314db3a223dbbfd75ed6306d6 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Apr 2 19:26:20 2015 -0600 toshiba_acpi: Update and fix USB Sleep and Charge modes This patch fixes the USB Sleep and Charge mode on certain models where the value returned by the BIOS is different, and thus, making this feature not to work for those models. Also, the "Typical" charging mode was added as a supported mode. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 097c27fcb256415e7c1612e7ab916aa906874f9b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 10:43:20 2015 -0700 wmi: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 74672d069b298b03e9f657fd70915e055739882e Author: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Date: Fri Apr 3 08:44:47 2015 +0800 md: fix md io stats accounting broken Simon reported the md io stats accounting issue: " I'm seeing "iostat -x -k 1" print this after a RAID1 rebuild on 4.0-rc5. It's not abnormal other than it's 3-disk, with one being SSD (sdc) and the other two being write-mostly: Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 345.00 0.00 0.00 0.00 0.00 100.00 md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 58779.00 0.00 0.00 0.00 0.00 100.00 md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12.00 0.00 0.00 0.00 0.00 100.00 " The cause is commit "18c0b223cf9901727ef3b02da6711ac930b4e5d4" uses the generic_start_io_acct to account the disk stats rather than the open code, but it also introduced the increase to .in_flight[rw] which is needless to md. So we re-use the open code here to fix it. Reported-by: Simon Kirby <sim@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 3.19 Signed-off-by: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 8bc0034cf6951a107e0c75c2d10b17b57d681229 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Wed Apr 8 01:26:18 2015 +0000 net: remove extra newlines Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 976f2ab4985a1dbe3f3f0777ce01d4fdb404c62a Merge: a67a951 77387b8 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Apr 7 20:00:45 2015 -0600 Merge branch 'stable/for-jens-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-4.1/drivers Konrad writes: This pull has one fix and an cleanup. Note that David Vrabel in the xen/tip.git tree has other changes for the Xen block drivers that are related to his grant work - and they do not conflict with this git pull. commit 5c7f0c27956a9884e29dbe5f83e56609fa00290f Merge: fa37a8c 8f361b2 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:19:24 2015 +1000 Merge tag 'imx-drm-fixes-2015-03-31' of git://git.pengutronix.de/git/pza/linux into drm-next imx-drm limit fixes Fix IPU IC downscaler to its hardware limitation of 4:1 and the IPU DI pixel clock divider integer part to 8-bit. * tag 'imx-drm-fixes-2015-03-31' of git://git.pengutronix.de/git/pza/linux: gpu: ipu-v3: turns out the IPU can only downsize 4:1 gpu: ipu-v3: limit pixel clock divider to 8-bits drm/radeon: programm the VCE fw BAR as well drm/radeon: always dump the ring content if it's available radeon: Do not directly dereference pointers to BIOS area. drm/radeon/dpm: fix 120hz handling harder commit fa37a8c8237613d525437c4f9ec8add41749b314 Merge: a08aad5 d5af49c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:14:40 2015 +1000 Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next 1) support for "stolen mem" for splash-screen take-over 2) additional hdmi pixel clks 3) various pipe flush related fixes 4) support for snapdragon 410 (8x16) 5) support for DSI and dual-DSI It includes one small patch to export tile-group functions (which was ack'd by you), as these are used to explain to userspace dual-dsi configurations (with left and right tile). * 'msm-next' of git://people.freedesktop.org/~robclark/linux: (24 commits) drm/msm/mdp5: Enable DSI connector in msm drm driver drm/msm: Initial add DSI connector support drm/msm: Add split display interface drm/msm/mdp5: Move *_modeset_init out of construct_encoder function drm: export tile-group functions drm/msm/mdp5: Remove CTL flush dummy bits drm/msm/mdp5: Update headers (add CTL flush bits) drm/msm/mdp5: Add hardware configuration for msm8x16 drm/msm/mdp5: Get SMP client list from mdp5_cfg drm/msm/mdp5: Update headers (remove enum mdp5_client_id) drm/msm/mdp5: Separate MDP5 domain from MDSS domain drm/msm/mdp5: Update headers (introduce MDP5 domain) drm/msm/dsi: Update generated DSI header file drm/msm/mdp5: Fix PIPE source image size settings drm/msm/mdp5: Update generated mdp5 header file with DSI support drm/msm/mdp5: Add pingpong entry to mdp5 config table drm/msm/mdp5: Make the intf connection in config module drm/msm/mdp5: Add START signal to kick off certain pipelines drm/msm/mdp5: Enhance operation mode for pipeline configuration drm/msm/mdp5: Update generated header files ... commit a08aad54be7fca595af2cc7f482961e1af99c4a8 Merge: 1ddd36e 1c550fa1 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:14:10 2015 +1000 Merge tag 'drm/panel/for-4.1-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/panel: Changes for v4.1-rc1 This set of changes adds support for a whole bunch of new panels, mostly simple ones. There's now also support for panels to provide display timings rather than fixed modes, which should allow panels to work with a larger number of display drivers. Eventually drivers should migrate to this new interface and the fixed modes removed from panels. There are also a couple of sparse fixes for the PS8622 and PS8625 bridge drivers. * tag 'drm/panel/for-4.1-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/panel: Add support for Ampire AM-800480R3TMQW-A1H 800x480 7" panel of: Add vendor prefix for Ampire Co., Ltd. drm/panel: Add display timing for HannStar HSD070PWW1 drm/panel: simple: Add display timing support drm/panel: Add display timing support drm/panel: Add support for OrtusTech COM43H4M85ULC panel of: Add vendor prefix for Ortus Technology Co., Ltd. drm/panel: Add bus format for Giantplus GPG482739QS5 panel drm/panel: simple: Add support for AUO b101ean01 panel drm/panel: simple: Add support for Innolux ZJ070NA-01P drm/panel: simple: Add support for Innolux AT043TN24 drm/panel: simple: Add support for Shelly SCA07010-BFN-LNN drm/panel: simple: Add support for Samsung LTN140AT29 panel drm: Remove unused DRM_MODE_OBJECT_BRIDGE drm/bridge: ptn3460: Fix sparse warnings drm/bridge: ps8622: Fix sparse warnings drm/bridge: Add I2C based driver for ps8622/ps8625 bridge commit 1ddd36eda1a577837826a8e465ab9d43b024d382 Merge: 67a0375 535a65d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:13:06 2015 +1000 Merge tag 'drm/tegra/for-4.1-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/tegra: Changes for v4.1-rc1 Perhaps the most noteworthy change in this set is the implementation of a hardware VBLANK counter using host1x syncpoints. The SOR registers can now be dumped via debugfs, which can be useful while debugging. The IOVA address space maintained by the driver can also be dumped via debugfs. Other than than, these changes are mostly cleanup work, such as making register names more consistent or removing unused code (that was left over after the atomic mode-setting conversion). There's also a fix for eDP that makes the driver cope with firmware that already initialized the display (such as the firmware on the Tegra-based Chromebooks). * tag 'drm/tegra/for-4.1-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/tegra: sor: Reset during initialization drm/tegra: gem: Return 64-bit offset for mmap(2) drm/tegra: hdmi: Name register fields consistently drm/tegra: hdmi: Resets are synchronous drm/tegra: dc: Document tegra_dc_state_setup_clock() drm/tegra: dc: Remove unused callbacks drm/tegra: dc: Remove unused function drm/tegra: dc: Use base atomic state helpers drm/atomic: Add helpers for state-subclassing drivers drm/tegra: dc: Implement hardware VBLANK counter gpu: host1x: Export host1x_syncpt_read() drm/tegra: sor: Dump registers via debugfs drm/tegra: sor: Registers are 32-bit drm/tegra: Provide debugfs file for the IOVA space drm/tegra: dc: Check for valid parent clock commit 67a0375f5e27c1daa50554de7a01fdfa4a9ea0bf Merge: 4d0982c 1d601da Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:11:48 2015 +1000 Merge tag 'omapdrm-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next omapdrm changes for 4.1 * universal plane support * refactoring to prepare work atomic modesetting work * a lot of small fixes * tag 'omapdrm-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (36 commits) drm/omap: tiler: add hibernation callback drm/omap: add hibernation callbacks drm/omap: keep ref to old_fb drm/omap: fix race conditon in DMM drm/omap: fix race condition with dev->obj_list drm/omap: do not use BUG_ON(!spin_is_locked(x)) drm/omap: only ignore DIGIT SYNC LOST for TV output drm/omap: fix race with error_irq drm/omap: use DRM_ERROR_RATELIMITED() for error irqs drm/omap: stop connector polling during suspend drm/omap: remove dummy PM functions drm/omap: tiler: fix race condition with engine->async drm/omap: fix plane's channel selection drm/omap: fix TILER on OMAP5 drm/omap: handle incompatible buffer stride and pixel size drm/omap: fix error handling in omap_framebuffer_create() drm/omap: fix operation without fbdev drm/omap: add a comment why locking is missing drm/omap: add pin refcounting to omap_framebuffer drm/omap: clear omap_obj->paddr in omap_gem_put_paddr() ... commit a67a95134ffddd0ca4527c77e86375c3deb2938f Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Apr 7 16:57:19 2015 -0600 NVMe: Meta data handling through submit io ioctl This adds support for the extended metadata formats through the submit IO ioctl, and simplifies the rest when using a separate metadata format. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7f749d9c109223e4d1724e674e7d603082e85839 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Apr 7 15:34:18 2015 -0600 NVMe: Add translation for block limits Adds SCSI-to-NVMe translation for VPD B0h, block limits inquiry data. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4d0982c6eab072d17201c83d5c7af495fb1dec33 Merge: 502e95c 5d82d1a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:10:56 2015 +1000 Merge branch 'drm-next0401' of git://github.com/markyzq/kernel-drm-rockchip into drm-next These are based on drm-next branch, fix some drm/rockchip problem. Please pull them. * 'drm-next0401' of git://github.com/markyzq/kernel-drm-rockchip: drm/rockchip: vop: add vop power domain support drm: rockchip: Turn off VT switching on suspend drm/rockchip: register all connectors after bind drm/rockchip: fix clk enable disable mismatch in vop_crtc_mode_set commit 447228023eaa8c96a48a8a459be7a992008df830 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Apr 7 15:48:26 2015 -0600 NVMe: Remove check for null Checking fails static analysis due to additional arithmetic prior to the NULL check. Mapping doesn't return NULL here anyway, so removing the check. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c727040bdaa28cd7aa9dbc086eee7b236e0fb270 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Mar 7 01:43:41 2015 +0300 NVMe: Fix error handling of class_create("nvme") class_create() returns ERR_PTR on failure, so IS_ERR() should be used instead of check for NULL. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1997e625963e24994a81070fef169e78965f6496 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Tue Mar 31 10:43:18 2015 -0700 iscsi-target: TargetAddress in SendTargets should bracket ipv6 addresses "The domainname can be specified as either a DNS host name, a dotted-decimal IPv4 address, or a bracketed IPv6 address as specified in [RFC2732]." See https://bugzilla.redhat.com/show_bug.cgi?id=1206868 Reported-by: Kyle Brantley <kyle@xxxxxxxxxxxxxx> Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7b43b47373d40d557cd7e1a84a0bd8ebc4d745ab Merge: f22e6e8 b18042a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 17:38:31 2015 -0700 Merge tag 'media/v3.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: "A series of fixup patches for version 4.0: - one VB2 core fixup, when stopping the stream; - one VB2 core fixup for dma-contig memory type; - driver fixes at rtl28xx, s5p (tv, jpeg, mfc, soc-camera, sh_veu, cx23885, gspca" * tag 'media/v3.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] rtl28xxu: return success for unimplemented FE callback [media] rtl2832: disable regmap register cache [media] vb2: Fix dma_dir setting for dma-contig mem type [media] media: s5p-mfc: fix broken pointer cast on 64bit arch [media] media: s5p-mfc: fix mmap support for 64bit arch [media] cx23885: fix querycap [media] sh_veu: v4l2_dev wasn't set [media] s5p-mfc: Fix NULL pointer dereference caused by not set q->lock [media] s5p-jpeg: exynos3250: fix erroneous reset procedure [media] s5p-tv: hdmi needs I2C support [media] s5p-jpeg: Initialize cb and cr to zero [media] media: fix gspca drivers build dependencies [media] soc-camera: Fix devm_kfree() in soc_of_bind() [media] media: atmel-isi: increase the burst length to improve the performance [media] vb2: fix 'UNBALANCED' warnings when calling vb2_thread_stop() commit 6b79c57b92cdd90853002980609af516d14c4f9c Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue Apr 7 14:26:47 2015 -0700 mm: numa: disable change protection for vma(VM_HUGETLB) Currently when a process accesses a hugetlb range protected with PROTNONE, unexpected COWs are triggered, which finally puts the hugetlb subsystem into a broken/uncontrollable state, where for example h->resv_huge_pages is subtracted too much and wraps around to a very large number, and the free hugepage pool is no longer maintainable. This patch simply stops changing protection for vma(VM_HUGETLB) to fix the problem. And this also allows us to avoid useless overhead of minor faults. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Suggested-by: Mel Gorman <mgorman@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ce66b032ad7b838bf376e3b1bb4d8bce1a69ee5c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Apr 7 14:26:44 2015 -0700 include/linux/dmapool.h: declare struct device dmapool uses struct device in function arguments but relies on an implicit inclusion to declare struct device causing warnings in some configurations: include/linux/dmapool.h:31:7: warning: 'struct device' declared inside parameter list Fix this by adding a struct device declaration to the file. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a368ab67aa55615a03b2c9c00fb965bee3ebeaa4 Author: Mel Gorman <mgorman@xxxxxxx> Date: Tue Apr 7 14:26:41 2015 -0700 mm: move zone lock to a different cache line than order-0 free page lists Huang Ying reported the following problem due to commit 3484b2de9499 ("mm: rearrange zone fields into read-only, page alloc, statistics and page reclaim lines") from the Intel performance tests 24b7e5819ad5cbef 3484b2de9499df23c4604a513b ---------------- -------------------------- %stddev %change %stddev \ | \ 152288 \261 0% -46.2% 81911 \261 0% aim7.jobs-per-min 237 \261 0% +85.6% 440 \261 0% aim7.time.elapsed_time 237 \261 0% +85.6% 440 \261 0% aim7.time.elapsed_time.max 25026 \261 0% +70.7% 42712 \261 0% aim7.time.system_time 2186645 \261 5% +32.0% 2885949 \261 4% aim7.time.voluntary_context_switches 4576561 \261 1% +24.9% 5715773 \261 0% aim7.time.involuntary_context_switches The problem is specific to very large machines under stress. It was not reproducible with the machines I had used to justify the original patch because large numbers of CPUs are required. When pressure is high enough, the cache line is bouncing between CPUs trying to acquire the lock and the holder of the lock adjusting free lists. The intention was that the acquirer of the lock would automatically have the cache line holding the free lists but according to Huang, this is not a universal win. One possibility is to move the zone lock to its own cache line but it increases the size of the zone. This patch moves the lock to the other end of the free lists where they do not contend under high pressure. It does mean the page allocator paths now require more cache lines but Huang reports that it restores performance to previous levels on large machines %stddev %change %stddev \ | \ 84568 \261 1% +94.3% 164280 \261 1% aim7.jobs-per-min 2881944 \261 2% -35.1% 1870386 \261 8% aim7.time.voluntary_context_switches 681 \261 1% -3.4% 658 \261 0% aim7.time.user_time 5538139 \261 0% -12.1% 4867884 \261 0% aim7.time.involuntary_context_switches 44174 \261 1% -46.0% 23848 \261 1% aim7.time.system_time 426 \261 1% -48.4% 219 \261 1% aim7.time.elapsed_time 426 \261 1% -48.4% 219 \261 1% aim7.time.elapsed_time.max 468 \261 1% -43.1% 266 \261 2% uptime.boot Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Reported-by: Huang Ying <ying.huang@xxxxxxxxx> Tested-by: Huang Ying <ying.huang@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3937567ded412bd03b327b596a21eb4bb6377702 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Apr 7 14:12:04 2015 +0200 clk: qcom: fix driver dependencies Support for Qualcomm's clock controllers should be available only on Qualcomm platforms. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 87842661a315618dfdeeede188257e4011164023 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Apr 7 20:29:08 2015 +0200 MIPS: Octeon: Don't set .owner. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 04f156c9a5cc34729554e561b33cd3f0efd953a6 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Apr 7 15:01:48 2015 +0200 MIPS: Netlogic: Fix double inclusion of <asm/netlogic/common.h>. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8af2f6967cb9eeedb0f85979a8c20a59a6332d50 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Apr 7 14:59:18 2015 +0200 MIPS: Fix double inclusion of headers in misalignment emulator. Introduced in 34c2f668d0f6b2ca1c076d8170d6cd4f2235a9d4 (MIPS: microMIPS: Add unaligned access support.) Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5ffd7c8b13643f4bb6e35b2eababf5336d5e8353 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:32:22 2015 +0100 MIPS: DEC: Do not set up the FPU interrupt if no FPU Following the arrangement for processors that wire FPU exceptions to the FPE CPU exception handle the case where no FPU is in use -- which for DECstation systems will only ever happen when the "nofpu" kernel option has been used -- do not register the FPU interrupt in such a case either. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9714/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f02cf4691e19ab61d4415b2fbfeb64aa8a93757e Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:32:08 2015 +0100 MIPS: DEC: Implement FPU interrupt counter Implement a cheap way to count FPU interrupts for R2k/R3k DECstation systems. Do this manually in handcoded assembly, rather than calling `kstat_incr_irq_this_cpu' that would require setting up a stack frame and a lot of redirection. This is not going to be a problem because the FPU interrupt is local to the CPU and also there is one CPU only anyway. So at bootstrap determine the address of the correct location within `struct irq_desc', and then only refer to it directly in the interrupt handler. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9713/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7aecd5ca80d1c08f882a5357ddae8c677c7fd1af Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:54 2015 +0100 MIPS: Factor out FPU feature probing Factor out FPU feature probing, mainly to remove code duplication from `fpu_disable'. No functional change although shuffle some code to avoid forward references. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9712/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9b26616c8d9dae53fbac7f7cb2c6dd1308102976 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:48 2015 +0100 MIPS: Respect the ISA level in FCSR handling Define the central place the default FCSR value is set from, initialised in `cpu_probe'. Determine the FCSR mask applied to values written to the register with CTC1 in the full emulation mode and via ptrace(2), according to the ISA level of processor hardware or the writability of bits 31:18 if actual FPU hardware is used. Software may rely on FCSR bits whose functions our emulator does not implement, so it should not allow them to be set or software may get confused. For ptrace(2) it's just sanity. [ralf@xxxxxxxxxxxxxx: Fixed double inclusion of <asm/current.h>.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9711/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 232b6ec5df874236166fb0167cd473601a631715 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:43 2015 +0100 MIPS: math-emu: Make ABS.fmt and NEG.fmt arithmetic again The ABS.fmt and NEG.fmt instructions have been specified as arithmetic in the MIPS architecture, which in particular implies handling NaN data in the usual way with qNaN bit patterns propagated unchanged and sNaN bit patterns signalling the usual IEEE 754 Invalid Operation exception and quieted by default. A series of changes applied over time to our implementation: c5033d78 [MIPS] ieee754[sd]p_neg workaround cea2be44 MIPS: Fix abs.[sd] and neg.[sd] emulation for NaN operands has led to the current situation where the sign bit is updated according to the operation requested even for NaN inputs. This is according to these commits a workaround so that broken binaries produced by GCC disregarding the properties of these instructions have a chance to work. For sNaN inputs this remains within IEEE Std 754 as the standard leaves the choice of output qNaN bit patterns produced under the default Invalid Operation exception handling for individual sNaN input bit patterns to implementer's discretion, even though it still recommends as much NaN input information to be preserved in NaN outputs. For qNaN inputs however it violates the standard as it requires a qNaN input bit patterns to propagate unchanged to output. This is also unlike real MIPS FPU hardware behaves where sNaN and/or qNaN processing has been fully implemented with no Unimplemented Operation exception signalled. Such hardware propagates any input qNaN bit pattern unchanged. It also quiets any input sNaN bit pattern in an implementer-specific manner, for example the MIPS 74Kf processor returns the default qNaN pattern with the sign bit always clear and the Broadcom SB-1 and BMIPS5000 processors propagate the input sNaN bit pattern with the sign bit unchanged and the quiet bit first cleared in the trailing significand field and then the next lower bit set if clearing the quiet bit left the field with no other bit set. Especially the latter observation indicates the limited usefulness of the workaround as it will cover many hardware configurations, but not all of them, only making it harder to discover such broken binaries that need to be recompiled with GCC told to avoid the use of ABS.fmt and NEG.fmt instructions where non-arithmetic semantics is required by the algorithm used. Revert the damage done by the series of changes then, and take the opportunity to simplify implementation by calling `ieee754dp_sub' and `ieee754dp_add' as required and also the rounding mode set towards -Inf temporarily so that the sign of 0 is correctly handled. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9710/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f1f3b7ebac08161761c352fd070cfa07b7b94c54 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:38 2015 +0100 MIPS: math-emu: Define IEEE 754-2008 feature control bits Define IEEE 754-2008 feature control bits: FIR.HAS2008, FCSR.ABS2008 and FCSR.NAN2008, and update the `_ieee754_csr' structure accordingly. For completeness define FIR.UFRP too. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9709/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c491cfa2ca804e58f4e88386736c1608c82da08a Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:33 2015 +0100 MIPS: math-emu: Implement the FCCR, FEXR and FENR registers Implement the FCCR, FEXR and FENR "shadow" FPU registers for the architecture levels that include them, for the CFC1 and CTC1 instructions in the full emulation mode. For completeness add macros for the CP1 UFR and UNFR registers too, no actual implementation though. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9708/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f684362689ddc4a4e055be438d6416cc280a1372 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:26 2015 +0100 MIPS: math-emu: Set FIR feature flags for full emulation Implement FIR feature flags in the FPU emulator according to features supported and architecture level requirements. The W, L and F64 bits have only been added at level #2 even though the features they refer to were also included with the MIPS64r1 ISA and the W fixed-point format also with the MIPS32r1 ISA. This is only relevant for the full emulation mode and the emulated CFC1 instruction as well as ptrace(2) accesses. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9707/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9cb60e202631d71b7b8d38fa84ae7663805244b6 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:21 2015 +0100 MIPS: Correct ISA masking in FPU feature determination Correct an ISA level determination problem introduced with 8b8aa636 [MIPS: kernel: cpu-probe.c: Add support for MIPS R6], reverting explicit masking against individual `MIPS_CPU_ISA_*' macros in FPU feature determination. Feature macros such as `cpu_has_mips_r' cannot be used here, because they operate on CPU #0 and we want to refer to the current CPU instead. They cannot be used for masking against the current CPU either because they mask against CPU #0 too, e.g.: # define cpu_has_mips32r1 (cpu_data[0].isa_level & MIPS_CPU_ISA_M32R1) Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9706/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 304acb717e5b67cf56f05bc5b21123758e1f7ea0 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:15 2015 +0100 MIPS: Set `si_code' for SIGFPE signals sent from emulation too Rework `process_fpemu_return' and move IEEE 754 exception interpretation there, from `do_fpe'. Record the cause bits set in FCSR before they are cleared and pass them through to `process_fpemu_return' so as to set `si_code' correctly too for SIGFPE signals sent from emulation rather than those issued by hardware with the FPE processor exception only. For simplicity `mipsr2_decoder' assumes `*fcr31' has been preinitialised and only sets it to anything if an FPU instruction has been emulated, which in turn is the only case SIGFPE can be issued for here. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9705/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 443c44032a54f9acf027a8e688380fddc809bc19 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:10 2015 +0100 MIPS: Always clear FCSR cause bits after emulation Clear any FCSR cause bits recorded in the saved FPU context after emulation in all cases rather than in `do_fpe' only, so that any unmasked IEEE 754 exception left from emulation does not cause a fatal kernel-mode FPE hardware exception with the CTC1 instruction used by the kernel to subsequently restore FCSR hardware from the saved FPU context. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9704/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ed2d72c1eb3643b7c109bdf387563d9b9a30c279 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:06 2015 +0100 MIPS: Respect the FCSR exception mask for `si_code' Respect the FCSR exception mask when interpreting the IEEE 754 exception condition to report with SIGFPE in `si_code', so as not to use one that has been masked where a different one set in parallel caused the FPE hardware exception to trigger. As per the IEEE Std 754 the Inexact exception can happen together with Overflow or Underflow. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9703/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cfafc4feb39a5f5f12cf30da33c0b6ae89ce907d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:01 2015 +0100 MIPS: math-emu: Move long fixed-point support into an `ar' library Complement 593d33fe [MIPS: math-emu: Move various objects into an ar library.] and also move sp_tlong.o, sp_flong.o, dp_tlong.o, and dp_flong.o into an `ar' library. These objects implement long fixed-point format support that can be omitted from MIPS I, MIPS II and MIPS32r1 configurations. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9702/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9ab4471c9f1b3e986f4d429951492f736c888ff6 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:56 2015 +0100 MIPS: math-emu: Correct delay-slot exception propagation Restore EPC at the branch whose delay slot is emulated if the delay-slot instruction signals. This is so that code in `fpu_emulator_cop1Handler' does not see EPC having advanced and mistakenly successfully resume userland execution from the location at the branch target in that case. Restoring EPC guarantees an immediate exit from the emulation loop and if EPC hasn't advanced at all since entering the loop, also issuing the signal reported by the delay-slot instruction. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9701/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2d83fea786d7aeb5b3b76bd492d9b3bccc0f823c Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:49 2015 +0100 MIPS: Correct FP ISA requirements Correct ISA requirements for floating-point instructions: * the CU3 exception signifies a real COP3 instruction in MIPS I & II, * the BC1FL and BC1TL instructions are not supported in MIPS I, * the SQRT.fmt instructions are indeed supported in MIPS II, * the LDC1 and SDC1 instructions are indeed supported in MIPS32r1, * the CEIL.W.fmt, FLOOR.W.fmt, ROUND.W.fmt and TRUNC.W.fmt instructions are indeed supported in MIPS32, * the CVT.L.fmt and CVT.fmt.L instructions are indeed supported in MIPS32r2 and MIPS32r6, * the CEIL.L.fmt, FLOOR.L.fmt, ROUND.L.fmt and TRUNC.L.fmt instructions are indeed supported in MIPS32r2 and MIPS32r6, * the RSQRT.fmt and RECIP.fmt instructions are indeed supported in MIPS64r1, Also simplify conditionals for MIPS III and MIPS IV FPU instructions and the handling of the MOVCI minor opcode. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9700/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 80cbfad790962125b542cb0cb637954c04386b30 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:44 2015 +0100 MIPS: Correct MIPS I FP context layout Implement the correct ordering of individual floating-point registers within double-precision register pairs for the MIPS I FP context, as required by our FP emulation code and expected by userland talking via ptrace(2). Use L.D and S.D assembly macros that do the right thing like LDC1 and SDC1 from MIPS II up, avoiding the need to mess up with endianness conditionals. This in particular fixes the handling of denormals and NaN generation in Unimplemented Operation emulation traps. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9699/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7737b20b9e071f3595582686e894bf56377c43e4 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:37 2015 +0100 MIPS: math-emu: Fix delay-slot emulation cache incoherency Correct a cache coherency regression introduced with be1664c4 [Another round of fixes for the fp emulator.] for the emulation frame used in delay-slot emulation. Two instructions are copied into the frame and as from the commit referred a cache synchronisation call is made for the second instruction aka `badinst' of the two only. The `flush_cache_sigtramp' interface is reused that guarantees that synchronisation will be made for 8 bytes or 2 instructions starting from the address requested, although if cache lines are wider then a larger area may be synchronised. Change the call to point to the first of the two instructions aka `emul' instead, removing unpredictable behaviour resulting from cache incoherency. This bug only ever manifested itself on systems implementing 4-byte cache lines, typically MIPS I systems, causing all kinds of weirdness. This is because the sequence of two instructions starting from `emul' is 8-byte aligned and for 8-byte or wider cache lines the line synchronised will span both, so the vast majority of systems have escaped unharmed. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9698/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c9875032015ec94033295382a098657d4e38bf89 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:32 2015 +0100 MIPS: Fix BREAK code interpretation heuristics Do not lose the other half of the BREAK code where there is an upper half. This is so that e.g. `BREAK 7, 7' is not interpreted as a divide by zero trap, while `BREAK 0, 7' or `BREAK 7, 0' still are. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9697/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f6a31da50158c1003bd487968d89a6b27ff25bb6 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:27 2015 +0100 MIPS: BREAK instruction interpretation corrections Add the missing microMIPS BREAK16 instruction code interpretation and reshape code removing instruction fetching duplication and the separate call to `do_trap_or_bp' in the MIPS16 path. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9696/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 68893e0051419ccdc14fd6eafcdecc96533c6cc3 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:21 2015 +0100 MIPS: Correct MIPS16 BREAK code interpretation Correct the interpretation of the immediate MIPS16 BREAK instruction code embedded in the instruction word across bits 10:5 rather than 11:6 as current code implies, fixing the interpretation of integer overflow and divide by zero traps. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9695/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 18a2c2c6b9319503eeac8a38b62fc82c9ff81b0d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:04 2015 +0100 MIPS: Correct `nofpu' non-functionality The `cpu_has_fpu' feature flag must not be hardcoded to 1 or the `nofpu' kernel option will be ignored. Remove any such overrides and add a cautionary note. Hardcoding to 0 is fine for FPU-less platforms. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9694/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e06b530b92364b2d6ce2981f2c775d2e79dc8f21 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:57 2015 +0100 MIPS: math-emu: Make NaN classifiers static The `ieee754sp_isnan' and `ieee754dp_isnan' NaN classifiers are now no longer externally referred, remove their header prototypes and make them local to the two only respective places still making use of them. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9693/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b0c2f8fbdb52b95b969c96994bcab7c084530199 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:52 2015 +0100 MIPS: math-emu: Optimise qNaN handling in `ieee754sp_fdp' Rewrite qNaN handling in `ieee754sp_fdp' using the `ieee754_class_nan' helper recently added, removing the external call to `ieee754sp_isnan' and reducing the size of code by 16 instructions or 64 bytes. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9692/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 42fa24242182771394ae93361914b7da4099a60d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:48 2015 +0100 MIPS: math-emu: Remove dead comparison helpers None of the comparison helpers in ieee754.h is used, remove them. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9691/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bd267a53055c1a0fb3a8ad7fa74ae91ece13dcfb Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:43 2015 +0100 MIPS: math-emu: Remove redundant code from NaN comparison Remove a redundant call to `ieee754_setandtestcx' in `ieee754sp_cmp' and `ieee754dp_cmp'. The IEEE 754 exception requested will have already been set by a call to `ieee754_setcx' immediately above, because `sig' has to be non-zero to reach here, and the comparison result returned will be 0 regardless of the result from the call. Simplify the return expression remaining. All this reducing the size of code by 16 and 12 instructions or 64 and 48 bytes respectively. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9690/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c9a1084516e35ff4f1d5b83e77530ed019ca364b Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:38 2015 +0100 MIPS: math-emu: Optimise NaN handling in comparisons We have the input operands already classified in `ieee754sp_cmp' and `ieee754dp_cmp' comparison operations, so use the class obtained to tell NaNs and numbers apart rather than classifying inputs again for this purpose, reducing the size of code by 24 and 40 instructions or 96 and 160 bytes respectively. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9689/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d5afa7e905544a3d9e2bb29d9cafebc8e544c978 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:34 2015 +0100 MIPS: math-emu: Reinstate sNaN quieting handlers Revert the changes made by commit fdffbafb [Lots of FPU bug fixes from Kjeld Borch Egevang.] to `ieee754sp_nanxcpt' and `ieee754dp_nanxcpt' sNaN quieting handlers and their callers so that sNaN processing is done within the handlers againg. Pass the sNaN causing an IEEE 754 invalid operation exception down to the relevant handler. Pass the sNaN in `fs' where two sNaNs are supplied to a binary operation. Set the Invalid Operation FCSR exception bits in the quieting handlers rather than at their call sites throughout. Make the handlers exclusive for sNaN processing. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9688/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 539bfb579babbe5a14b405370ecc99b4ed53bc4e Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:30 2015 +0100 MIPS: math-emu: Don't pass qNaNs through quieting handlers Don't call the `ieee754sp_nanxcpt' and `ieee754dp_nanxcpt' sNaN quieting handlers for a qNaN supplied to floating-point format conversions or SQRT.S/SQRT.D instructions, or for a qNaN produced out of a negative operand supplied to SQRT.S/SQRT.D instructions. Return the qNaN right away in these cases. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9687/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d19cf86e2e295b0406b5fa3a35609fb0a99f1bde Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:23 2015 +0100 MIPS: math-emu: Factor out NaN FP format conversions Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9686/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ec98f9a01ffb23ea72471ccbc8c390c8c2e4c0b3 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:18 2015 +0100 MIPS: math-emu: Update sNaN quieting handlers Commit fdffbafb [Lots of FPU bug fixes from Kjeld Borch Egevang.] replaced the two single `ieee754sp_nanxcpt' and `ieee754dp_nanxcpt' places, where sNaN quieting used to happen for single and double floating-point operations respectively, with individual qNaN instantiations across all the call sites instead. It also made most of these two functions dead code as where called on a qNaN they return right away. To revert the damage and make sNaN quieting uniform again first rewrite `ieee754sp_nanxcpt' and `ieee754dp_nanxcpt' to do the same quieting all the call sites do, that is return the default qNaN encoding for all input sNaN values; never propagate any sNaN payload bits from its trailing significand field. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9685/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1f6d2c29b08bbd29a3d3b8476e9a26546e03104e Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:14 2015 +0100 MIPS: Use `FPU_CSR_ALL_X' in `__build_clear_fpe' Replace a hardcoded numeric bitmask for FCSR cause bits with `FPU_CSR_ALL_X' in `__build_clear_fpe'. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9684/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 27e28e8ec47a5ce335ebf25d34ca356c80635908 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:08 2015 +0100 MIPS: Normalise code flow in the CpU exception handler Changes applied to `do_cpu' over time reduced the use of the SIGILL issued with `force_sig' at the end to a single CU3 case only in the switch statement there. Move that `force_sig' call over to right where required then and toss out the pile of gotos now not needed to skip over the call, replacing them with regular breaks out of the switch. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9683/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d4f5b088937e2dae7528245c597dcab7e57eb5f3 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:04 2015 +0100 MIPS: math-emu: Factor out CFC1/CTC1 emulation Move CFC1/CTC1 emulation code to separate functions to avoid excessive indentation in forthcoming changes. Adjust formatting in a minor way and remove extraneous round brackets. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9682/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cb5d4aad6844cdbe2f3b9f5d581ae1c9ec342009 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:00 2015 +0100 MIPS: bitops.h: Avoid inline asm for constant FLS GCC is smart enough to substitute the final result for FLS calculations as implemented in the fallback C code we have in `__fls' and `fls' applied to constant values. The presence of inline asm defeats the compiler though, forcing it to emit extraneous CLZ/DCLZ calculation for processors that support these instructions. Use `__builtin_constant_p' then to avoid inline asm altogether for constants. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9681/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2cfcf8a8313bd9bdb54d62ca4ea581f130869aca Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:56 2015 +0100 MIPS: math-emu: Remove `modeindex' macro Commit 56a64733 [MIPS: math-emu: Switch to using the MIPS rounding modes.] removed the distinction between hardware and emulator rounding mode encodings, the hardware encoding is now used in emulation as well. Complement the change and remove the `modeindex' macro previously used for indexing into encoding translation tables, it now does nothing and only obfuscates code by reinserting the value extracted from FCSR. Adjust comments accordingly. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9680/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4a7c2371823a4d35eb4d4f5802c472469934c57d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:51 2015 +0100 MIPS: Reindent R6 RI exception emulation Fold a nested `if' statement for the R6 case in `do_ri' into its containing `if' block, removing excessive indentation causing code to extend beyond 79 columns. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9679/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fad0bfdb893acfc2444deba6111e700ef013a954 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:46 2015 +0100 MIPS: mips-r2-to-r6-emul.h: Inline empty `mipsr2_decoder' Use `static inline' rather than `static __maybe_unused' for `mipsr2_decoder' in the empty case, making inlining explicit where it will happen anyway. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9678/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a49dc4276e07fb94858bcaf46bf99ac3effd026a Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:41 2015 +0100 MIPS: ELF: Drop `get_fp_abi' Commit 46490b57 [MIPS: kernel: elf: Improve the overall ABI and FPU mode checks] reduced `get_fp_abi' to an elaborate pass-through. Drop it then. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9677/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b844bc781b7bb4fa49c0a26f998d9ba10ecc3742 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:35 2015 +0100 MIPS: math-emu: Fix oversize lines in comparisons Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9676/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 241e9c465f5ff424b1b6de0d8100962a9bddc3f3 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:29 2015 +0100 MIPS: Correct the comment for and reformat `movf_func' Correct a copy-and-paste issue with the description for `movf_func' referring to `movt_func'. Reformat the former function to match the latter. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9675/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5d77cf2895edea277878a526b4c47abfdbf6ffd2 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:24 2015 +0100 MIPS: math-emu: Reindent `bc_op' emulation Correct the double-tab indentation of the branch-likely not-taken case. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9674/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f6c70ff4de7f244f2aac0b25925fdcfcfdfe4578 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:18 2015 +0100 MIPS: Clarify the comment for `__cpu_has_fpu' Reword the comment for `__cpu_has_fpu' to make it unambiguous this code is for external floating-point units only, generally MIPS I processors using the original CP1 hardware interface. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9673/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1f443779009c10e118e03569939807a4bfe0d330 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:14 2015 +0100 MIPS: Correct the comment for FPU emulator traps Adjust the explanatory comment for FPU emulator traps according to ba3049ed [MIPS: Switch FPU emulator trap to BREAK instruction.]; originally coming from `do_ade'. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9672/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1796ec774237948156936cd4b8f543585699e8a9 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:09 2015 +0100 MIPS: ieee754.h: Supplement comments for special values Add the remaining missing comments for IEEE 754 special value array indices. Reindent macro definitions for consistency. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9671/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b3fea96269679a50802ffb5051d19b8e3f7dd80e Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:01 2015 +0100 MIPS: ieee754.h: Correct comments for special values IEEE754_SPCVAL_NMIN denotes the index into the special value array where the closest to zero negative normal number expressible is stored. Similarly IEEE754_SPCVAL_NMIND denotes such index for the closest to zero negative subnormal number expressible. Make comments match that. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9670/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1054533a322204042344b563012421e2dff6104d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:23:56 2015 +0100 MIPS: mipsregs.h: Reindent CP0 Cause macros Reindent CP0 Cause macros for a single space after #define, leaving extra indentation for individual Interrupt Pending bits as with CP0 Status register's Interrupt Mask bits. [ralf@xxxxxxxxxxxxxx: Fix conflict.] [ralf@xxxxxxxxxxxxxx: Fix indentation of the CAUSEB_FDCI and CAUSEF_FDCI definitions.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9669/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e08384cad86b5ddd78ff8ef3262e846a1c4b2faa Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:23:50 2015 +0100 MIPS: mipsregs.h: Move TX39 macros out of the way TX39 CP0 Configuration Register 3 macro definitions have been randomly thrown in the middle of a block of CP0 Status register value macros. Move them to the end of the whole CP0 register value macro block, complementing the location of the TX39 Cache register name macro at the end of the CP0 register name macro block. [ralf@xxxxxxxxxxxxxx: Fix conflict.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9668/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fda51906ea282c554fbe735d2000d9b00a0c6669 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:23:46 2015 +0100 MIPS: mipsregs.h: Reorder CP1 macro definitions Originally CP1 macros were placed between CP0 register name macros and CP0 register value macros. As changes were applied to the header the position of CP1 macros gradually has become more and more arbitrary and two separate blocks were created. This may only cause confusion. Move them out of the way then and place together after all the CP0 macros. No semantic change. [ralf@xxxxxxxxxxxxxx: Fix conflict.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9667/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 124f43d30ffe84a9ffd1fe448022467a2bfb70bc Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:23:41 2015 +0100 MIPS: mipsregs.h: Remove broken comments Remove a duplicate FPU Status Register reference that has been there since forever and a mistakenly copied and pasted R4xx0 manual reference. [ralf@xxxxxxxxxxxxxx: Fix conflict.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9666/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fab43ef4c8b825d8cbe05e8f70c9138de1951980 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:23:34 2015 +0100 DOC: kernel-parameters.txt: Mark `nofpu' for MIPS too The MIPS port has supported this option since forever, long before SH was even in plans. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9665/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ee90b81203a91d4e5385622811ee7872b5bcfe76 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Apr 6 15:22:54 2015 -0700 hv_netvsc: Fix the packet free when it is in skb headroom In the two places changed, we now use netvsc_xmit_completion() which properly frees hv_netvsc_packet in or not in skb headroom. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 721514222db13498613706709409c21c105e0f4a Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Apr 6 15:22:53 2015 -0700 hv_netvsc: Define a macro RNDIS_AND_PPI_SIZE The sum of RNDIS msg and PPI struct sizes is used in multiple places, so we define a macro for them. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d158852a8089099a6959ae235b20f230871982f Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Apr 6 15:22:52 2015 -0700 hv_netvsc: Clean up two unused variables Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2646c831c00c5d22aa72b79d24069c1b412cda7c Author: Daniel Lee <Longinus00@xxxxxxxxx> Date: Mon Apr 6 14:37:27 2015 -0700 tcp: RFC7413 option support for Fast Open client Fast Open has been using an experimental option with a magic number (RFC6994). This patch makes the client by default use the RFC7413 option (34) to get and send Fast Open cookies. This patch makes the client solicit cookies from a given server first with the RFC7413 option. If that fails to elicit a cookie, then it tries the RFC6994 experimental option. If that also fails, it uses the RFC7413 option on all subsequent connect attempts. If the server returns a Fast Open cookie then the client caches the form of the option that successfully elicited a cookie, and uses that form on later connects when it presents that cookie. The idea is to gradually obsolete the use of experimental options as the servers and clients upgrade, while keeping the interoperability meanwhile. Signed-off-by: Daniel Lee <Longinus00@xxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f9b838b71eb78a27de27a12ca5de8542fac3115 Author: Daniel Lee <Longinus00@xxxxxxxxx> Date: Mon Apr 6 14:37:26 2015 -0700 tcp: RFC7413 option support for Fast Open server Fast Open has been using the experimental option with a magic number (RFC6994) to request and grant Fast Open cookies. This patch enables the server to support the official IANA option 34 in RFC7413 in addition. The change has passed all existing Fast Open tests with both old and new options at Google. Signed-off-by: Daniel Lee <Longinus00@xxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ad2a8365975d6794d79a4e4dde60fcc036692c7 Author: Beshay, Joseph <jdb109120@xxxxxxxxxxxx> Date: Mon Apr 6 18:00:56 2015 +0000 netem: Fixes byte backlog accounting for the first of two chained netem instances Fixes byte backlog accounting for the first of two chained netem instances. Bytes backlog reported now corresponds to the number of queued packets. When two netem instances are chained, for instance to apply rate and queue limitation followed by packet delay, the number of backlogged bytes reported by the first netem instance is wrong. It reports the sum of bytes in the queues of the first and second netem. The first netem reports the correct number of backlogged packets but not bytes. This is shown in the example below. Consider a chain of two netem schedulers created using the following commands: $ tc -s qdisc replace dev veth2 root handle 1:0 netem rate 10000kbit limit 100 $ tc -s qdisc add dev veth2 parent 1:0 handle 2: netem delay 50ms Start an iperf session to send packets out on the specified interface and monitor the backlog using tc: $ tc -s qdisc show dev veth2 Output using unpatched netem: qdisc netem 1: root refcnt 2 limit 100 rate 10000Kbit Sent 98422639 bytes 65434 pkt (dropped 123, overlimits 0 requeues 0) backlog 172694b 73p requeues 0 qdisc netem 2: parent 1: limit 1000 delay 50.0ms Sent 98422639 bytes 65434 pkt (dropped 0, overlimits 0 requeues 0) backlog 63588b 42p requeues 0 The interface used to produce this output has an MTU of 1500. The output for backlogged bytes behind netem 1 is 172694b. This value is not correct. Consider the total number of sent bytes and packets. By dividing the number of sent bytes by the number of sent packets, we get an average packet size of ~=1504. If we divide the number of backlogged bytes by packets, we get ~=2365. This is due to the first netem incorrectly counting the 63588b which are in netem 2's queue as being in its own queue. To verify this is the case, we subtract them from the reported value and divide by the number of packets as follows: 172694 - 63588 = 109106 bytes actualled backlogged in netem 1 109106 / 73 packets ~= 1494 bytes (which matches our MTU) The root cause is that the byte accounting is not done at the same time with packet accounting. The solution is to update the backlog value every time the packet queue is updated. Signed-off-by: Joseph D Beshay <joseph.beshay@xxxxxxxxxxxx> Acked-by: Hagen Paul Pfeifer <hagen@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 812034f11628aaaab0e2d7af1d3bc50a49eb396b Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Mon Apr 6 20:23:23 2015 +0530 cxgb4: Move ethtool related code to a separate file Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40f66c05c360777e847033ddbe076d88123719d1 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Apr 7 21:52:22 2015 +0300 Bluetooth: Add local SSP OOB data to OOB ext data mgmt command The Read Local Out Of Band Extended Data mgmt command is specified to return the SSP values when given a BR/EDR address type as input parameter. The returned values may include either the 192-bit variants of C and R, or their 256-bit variants, or both, depending on the status of Secure Connections and Secure Connections Only modes. If SSP is not enabled the command will only return the Class of Device value (like it has done so far). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 388069d30240e9524ad69ce6cc692fff2a5a7829 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 7 12:10:16 2015 +0200 netdevice.h: remove iflink description Also move 'group' description to match the order of the net_device structure. Fixes: 7a66bbc96ce9 ("net: remove iflink field from struct net_device") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26ba9e8c3f455b1328d805937a320719cb152e80 Merge: e0e8db2 a143c40 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 7 17:29:47 2015 -0400 Merge branch 'netns-next' Nicolas Dichtel says: ==================== netns: enhance netlink interface for nsid The first patch is a small cleanup. The second patch implements notifications for netns id events. And the last one allows to dump existing netns id from userland. iproute2 patches are available, I can send them on demand. v2: drop the first patch (the fix is now in net-next) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a143c40c32bb8a6d6a556920646021d7e96d1f91 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 7 11:51:54 2015 +0200 netns: allow to dump netns ids Which this patch, it's possible to dump the list of ids allocated for peer netns. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a9634545c7051f567096117d417e9c3be24706d Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 7 11:51:53 2015 +0200 netns: notify netns id events With this patch, netns ids that are created and deleted are advertised into the group RTNLGRP_NSID. Because callers of rtnl_net_notifyid() already know the id of the peer, there is no need to call __peernet2id() in rtnl_net_fill(). Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b111e4e1112316e800dd1f1debdf017d2cf940b2 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 7 11:51:52 2015 +0200 netns: minor cleanup in rtnl_net_getid() No need to initialize err, it will be overridden by the value of nlmsg_parse(). Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d619ffcfbd07983d34dc87d474af6cb5c21adf27 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Apr 7 21:52:21 2015 +0300 Bluetooth: Update SSP OOB data EIR definitions Since Bluetooth 4.1 there are two additional values for SSP OOB data, namely C-256 and R-256. This patch updates the EIR definitions to take into account both the 192 and 256 bit variants of C and R. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 541d529f9845d249d1cb84f1b395e48f0a117e3f Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Tue Apr 7 13:42:12 2015 -0700 drivers: thermal: st: remove several sparse warnings Simple patch to make symbols static. Symbols that are not shared with other parts of the kernel can be made static. This change also removes several sparse complains. Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Lee Jones <lee.jones@xxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Ajit Pal Singh <ajitpal.singh@xxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit d877a62b20f0592971a3c434486b58c425492732 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:09 2015 +0100 thermal: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 7e497a7375fe5d5c5d751a71d006f4fd515bbcd8 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Mar 21 15:02:55 2015 +0100 thermal: Do not log an error if thermal_zone_get_temp returns -EAGAIN Some temperature sensors only get updated every few seconds and while waiting for the first irq reporting a (new) temperature to happen there get_temp operand will return -EAGAIN as it does not have any data to report yet. Not logging an error in this case avoids messages like these from showing up in dmesg on affected systems: [ 1.219353] thermal thermal_zone0: failed to read out thermal zone 0 [ 2.015433] thermal thermal_zone0: failed to read out thermal zone 0 [ 2.416737] thermal thermal_zone0: failed to read out thermal zone 0 Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 2771d00081a4e70f52a9b290dae1b68b1bdf41f6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:42:41 2015 +0100 thermal: rcar: Fix typo in r8a73a4 SoC name r8a73a4 is R-Mobile APE6, not AP6. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit e0e8db2f89bac4529fa12dde2595d6295e313952 Merge: a3786a5 79b16aa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 7 15:29:30 2015 -0400 Merge branch 'udp_tunnel_sk' Prevent UDP tunnels from operating on garbage socket So this should do the rest of the work such that when we encapsulate into a UDP tunnel, the output path works on the UDP tunnel's socket rather than skb->sk. Part of this work is based upon changes done by Jiri Pirko some time ago. Basically the first step is to pass the socket through the nf_hook okfn(), and then next we do the same for the UDP tunnel xmit routines. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79b16aadea32cce077acbe9e229fcb58a7801687 Author: David Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 5 22:19:09 2015 -0400 udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb(). That was we can make sure the output path of ipv4/ipv6 operate on the UDP socket rather than whatever random thing happens to be in skb->sk. Based upon a patch by Jiri Pirko. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> commit f02dee2d148ba854464e7dbf09f1241ee159173a Author: Michal Marek <mmarek@xxxxxxx> Date: Thu Jan 15 10:39:22 2015 +0100 tomoyo: Do not generate empty policy files The Makefile automatically generates the tomoyo policy files, which are not removed by make clean (because they could have been provided by the user). Instead of generating the missing files, use /dev/null if a given file is not provided. Store the default exception_policy in exception_policy.conf.default. Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit bf7a9ab43c2f692bce4ee3ed1456f42c77eb1346 Author: Michal Marek <mmarek@xxxxxxx> Date: Fri Jan 9 14:36:27 2015 +0100 tomoyo: Use if_changed when generating builtin-policy.h Combine the generation of builtin-policy.h into a single command and use if_changed, so that the file is regenerated each time the command changes. The next patch will make use of this. Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 7e114bbf51fbb015dc25d8123e090afcce5b5048 Author: Michal Marek <mmarek@xxxxxxx> Date: Fri Jan 9 14:08:26 2015 +0100 tomoyo: Use bin2c to generate builtin-policy.h Simplify the Makefile by using a readily available tool instead of a custom sed script. The downside is that builtin-policy.h becomes unreadable for humans, but it is only a generated file. Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 7026b1ddb6b8d4e6ee33dc2bd06c0ca8746fa7ab Author: David Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 5 22:19:04 2015 -0400 netfilter: Pass socket pointer down through okfn(). On the output paths in particular, we have to sometimes deal with two socket contexts. First, and usually skb->sk, is the local socket that generated the frame. And second, is potentially the socket used to control a tunneling socket, such as one the encapsulates using UDP. We do not want to disassociate skb->sk when encapsulating in order to fix this, because that would break socket memory accounting. The most extreme case where this can cause huge problems is an AF_PACKET socket transmitting over a vxlan device. We hit code paths doing checks that assume they are dealing with an ipv4 socket, but are actually operating upon the AF_PACKET one. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c984f8a5df085bcf35364a8a870bd4db4da4ed3 Author: David Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 5 22:19:00 2015 -0400 netfilter: Add socket pointer to nf_hook_state. It is currently always set to NULL, but nf_queue is adjusted to be prepared for it being set to a real socket by taking and releasing a reference to that socket when necessary. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 107a9f4dc9211c1f91703d1739d7fd22ac58b332 Author: David Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 5 22:18:54 2015 -0400 netfilter: Add nf_hook_state initializer function. This way we can consolidate where we setup new nf_hook_state objects, to make sure the entire thing is initialized. The only other place an nf_hook_object is instantiated is nf_queue, wherein a structure copy is used. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3786a5ff7551d03029219f93306106d0a6bdf55 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Apr 5 14:06:28 2015 +0200 cosa: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: David S. Miller <davem@xxxxxxxxxxxxx> commit 27d751bfa41bdc022d1357479ff67c6902c02c8c Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Apr 5 14:06:21 2015 +0200 wan: lmc: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: David S. Miller <davem@xxxxxxxxxxxxx> commit ff61eb422024a4614f898c1c73625e222b219a5d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Apr 7 20:39:19 2015 +0200 spi: Make master->handle_err() callback optional to avoid crashes If a driver doesn't implement the master->handle_err() callback and an SPI transfer fails, the kernel will crash with a NULL pointer dereference: Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0003000 [00000000] *pgd=80000040004003, *pmd=00000000 Internal error: Oops: 80000206 [#1] SMP ARM Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc7-koelsch-05861-g1fc9fdd4add4f783 #1046 Hardware name: Generic R8A7791 (Flattened Device Tree) task: eec359c0 ti: eec54000 task.ti: eec54000 PC is at 0x0 LR is at spi_transfer_one_message+0x1cc/0x1f0 Make the master->handle_err() callback optional to avoid the crash. Also fix a spelling mistake in the callback documentation while we're at it. Fixes: b716c4ffc6a2b0bf ("spi: introduce master->handle_err() callback") Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bbc78c07a51f6fd29c227b1220a9016e585358ba Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 15:38:33 2015 -0600 usb: core: hub: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 59c9904cce77b55892e15f40791f1e66e4d3a1e6 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 15:04:06 2015 -0600 usb: isp1760: hcd: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 74bd7b69801819707713b88e9d0bc074efa2f5e7 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 15:03:13 2015 -0600 usb: dwc2: hcd: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 08debfb13b199716da6153940c31968c556b195d Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 15:00:38 2015 -0600 usb: host: sl811: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7a606ac29752a3e571b83f9b3fceb1eaa1d37781 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:58:53 2015 -0600 usb: host: r8a66597: use new USB_RESUME_TIMEOUT While this driver was already using a 50ms resume timeout, let's make sure everybody uses the same macro so it's easy to fix later should anything go wrong. It also gives a more "stable" expectation to Linux users. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 84c0d178eb9f3a3ae4d63dc97a440266cf17f7f5 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:57:54 2015 -0600 usb: host: oxu210hp: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 595227db1f2d98bfc33f02a55842f268e12b247d Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:55:34 2015 -0600 usb: host: fusbh200: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7e136bb71a08e8b8be3bc492f041d9b0bea3856d Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:54:38 2015 -0600 usb: host: fotg210: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8c0ae6574ccfd3d619876a65829aad74c9d22ba5 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:50:10 2015 -0600 usb: host: isp116x: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 309be239369609929d5d3833ee043f7c5afc95d1 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:46:27 2015 -0600 usb: musb: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Based on original work by Bin Liu <Bin Liu <b-liu@xxxxxx>> Cc: Bin Liu <b-liu@xxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b8fb6f79f76f478acbbffccc966daa878f172a0a Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:44:17 2015 -0600 usb: host: uhci: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ea16328f80ca8d74434352157f37ef60e2f55ce2 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:42:25 2015 -0600 usb: host: ehci: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9e451885deb6262dbaf5cd14aa77d192d9ac759 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:39:13 2015 -0600 usb: host: xhci: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Acked-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 62f0342de1f012f3e90607d39e20fce811391169 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:34:25 2015 -0600 usb: define a generic USB_RESUME_TIMEOUT macro Every USB Host controller should use this new macro to define for how long resume signalling should be driven on the bus. Currently, almost every single USB controller is using a 20ms timeout for resume signalling. That's problematic for two reasons: a) sometimes that 20ms timer expires a little before 20ms, which makes us fail certification b) some (many) devices actually need more than 20ms resume signalling. Sure, in case of (b) we can state that the device is against the USB spec, but the fact is that we have no control over which device the certification lab will use. We also have no control over which host they will use. Most likely they'll be using a Windows PC which, again, we have no control over how that USB stack is written and how long resume signalling they are using. At the end of the day, we must make sure Linux passes electrical compliance when working as Host or as Device and currently we don't pass compliance as host because we're driving resume signallig for exactly 20ms and that confuses certification test setup resulting in Certification failure. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f56d9e23b78e311fbd992a1bd80b8bf2adaee29b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Apr 5 18:39:27 2015 +0200 ssb: add delay after PCI reset to fix SoC reboots Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 61b559dea40ec1712be4a0ea712a2922a8f38588 Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Date: Wed Apr 1 10:19:57 2015 +0800 ath9k: add extra GPIO led support ar9550 or later chips, the AR_GPIO_IN_OUT register only can control GPIO[0:3]. For the extra GPIO, use standard GPIO calls instead of WMAC internal registers. Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6eb7018705de09b4138ca05d6a157203e0ea791a Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:46 2015 -0600 vfio-pci: Move idle devices to D3hot power state We can save some power by putting devices that are bound to vfio-pci but not in use by the user in the D3hot power state. Devices get woken into D0 when opened by the user. Resets return the device to D0, so we need to re-apply the low power state after a bus reset. It's tempting to try to use D3cold, but we have no reason to inhibit hotplug of idle devices and we might get into a loop of having the device disappear before we have a chance to try to use it. A new module parameter allows this feature to be disabled if there are devices that misbehave as a result of this change. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 561d72ddbbe480e2cae6c1a63c688986586ef2b1 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:44 2015 -0600 vfio-pci: Remove warning if try-reset fails As indicated in the comment, this is not entirely uncommon and causes user concern for no reason. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 80c7e8cc2aaa36944acdfbce46f373101b9f21ff Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:43 2015 -0600 vfio-pci: Allow PCI IDs to be specified as module options This copies the same support from pci-stub for exactly the same purpose, enabling a set of PCI IDs to be automatically added to the driver's dynamic ID table at module load time. The code here is pretty simple and both vfio-pci and pci-stub are fairly unique in being meta drivers, capable of attaching to any device, so there's no attempt made to generalize the code into pci-core. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit ecaa1f6a01544604de5f9531379a303eee886162 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:41 2015 -0600 vfio-pci: Add VGA arbiter client If VFIO VGA access is disabled for the user, either by CONFIG option or module parameter, we can often opt-out of VGA arbitration. We can do this when PCI bridge control of VGA routing is possible. This means that we must have a parent bridge and there must only be a single VGA device below that bridge. Fortunately this is the typical case for discrete GPUs. Doing this allows us to minimize the impact of additional GPUs, in terms of VGA arbitration, when they are only used via vfio-pci for non-VGA applications. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 88c0dead9fb2cc66962b64064770558eecf3eafd Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:40 2015 -0600 vfio-pci: Add module option to disable VGA region access Add a module option so that we don't require a CONFIG change and kernel rebuild to disable VGA support. Not only can VGA support be troublesome in itself, but by disabling it we can reduce the impact to host devices by doing a VGA arbitration opt-out. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 0ea18b40cdd382a8a338d02e06c4646c35bd753b Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:38 2015 -0600 vgaarb: Stub vga_set_legacy_decoding() vga_set_legacy_decoding() is defined in drivers/gpu/vga/vgaarb.c, which is only compiled with CONFIG_VGA_ARB. A caller would therefore get an undefined symbol if the VGA arbiter is not enabled. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> commit fcc658dabf5ef0320de1fbb28a9478e265e60422 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Mar 30 22:27:47 2015 +0900 wl1251: Fix typo in MODULE_DESCRIPTION in wl1251/main.c This patch fix a spelling typo in MODULE_DESCRIPTION in wl1251/main.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 12827fecf4dd47cc6e2b3a37edcdf81b52c9e2fa Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Mar 29 18:29:42 2015 -0700 wireless: Use bool function returns of true/false instead of 1/0 Use bool constants as the return values instead of 1 and 0. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cad737dfde3566e3293e884e8b391e2cae7e8068 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Sat Mar 28 00:22:39 2015 +0900 rtlwifi: Add encryption argument in rtl_is_special_data for checking DHCP packet. rtl8192cu can't connect to AP after physical reconnect. according to dmesg, that problem's cause was DHCP timeout. rtl_is_special_data function checks packet type for adjusting rate. when that function is called from _rtl_rc_get_highest_rix, it can not calculate offset correctly. so i add argument is_encn in rtl_is_special_data. is_enc variable mean that iv header is added in skb parameter. i test only rtl8192cu chipset. because i doesn't have other rtlwifi chipsets. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 00ca18034f62a6a3f29b8e660198e4ea573f2657 Author: Fred Chou <fred.chou.nd@xxxxxxxxx> Date: Fri Mar 13 16:32:38 2015 +0800 ath9k_htc: check seq number instead of cmd id for timeout As the driver may send multiple wmi commands with identical cmd id, it is more robust to check seq number for timeout instead. Signed-off-by: Fred Chou <fred.chou.nd@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6dcaac59d08b77d5730f2ae824bca1c0bf8130dc Merge: 7abccdb 3175520 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Apr 7 19:55:57 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-04-02' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * some more work on LAR * fixes for UMAC scan * more work on debugging framework * more work for 8000 devices * cleanups and small bugfixes commit bca03c959ab377010d87bef2679890a4a4e66e37 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Apr 6 00:52:14 2015 -0700 Bluetooth: hci_uart: Use generic Intel support for address setting The Bluetooth address setting for Intel devices is provided by a generic module now. Start using that module instead of relying it being included in the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 59a077c4792e2226b8a95430c0f17d1098939647 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Apr 6 00:52:13 2015 -0700 Bluetooth: btusb: Move Intel command structs into its own header Since the Intel Bluetooth support has its own header, it makes sense to move all command structs into it. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4185a0f5d0431bf91ea1ec202fdf12e6e3b73c46 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Apr 6 00:52:12 2015 -0700 Bluetooth: btusb: Use generic Intel support for address support The Bluetooth address handling for Intel devices is provided by a generic module now. Start using that module instead of relying it being included in the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 48f0ed1bb68589db5d6566bd3cd28ec675feaf2f Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Apr 6 00:52:11 2015 -0700 Bluetooth: btintel: Introduce generic Intel Bluetooth support The majority of Intel Bluetooth vendor commands are shared between USB and UART transports. This creates a separate module that eventually will hold all Intel specific commands, but for now just start with the commands to change the Bluetooth public address and check for the default address. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 79b8df9362e8bd1951e1fddbd65ca87af8df52c8 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 23:44:59 2015 -0700 Bluetooth: hci_uart: Provide generic H:4 receive framework Future H:4 based UART drivers require custom packet types and custom receive functions. To support this, extended the h4_recv_buf function with a packet definition table. For the default H:4 packets types of ACL data, SCO data and events, provide helpers to reduce the amount of code duplication. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 9a0bb57d2d08f1923aeef3af1877ec0b6f3209ba Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:19 2015 -0700 Bluetooth: btbcm: Add firmware table for UART based devices The Broadcom UART based devices seem to use a little bit different firmare naming prefix. So add a separate table for these devices. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bdd8818e05da187cd028f64ef2c0a2a6a582bcb1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:18 2015 -0700 Bluetooth: hci_uart: Add protocol support for Broadcom UART devices This adds the protocol support for Broadcom based UART devices to enable firmware and patchram download procedure. It is a pretty straight forward H:4 driver with the exception of actually having its own setup and address configuration callbacks. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6ae4fddf78c11dedfb13a518a9050e9b265529ca Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:17 2015 -0700 Bluetooth: hci_uart: Move setup callback into different location The setup callback got wrongly inserted between the enqueue and dequeue callbacks. Move it to a better location. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 34dced9bd6baf677fa6cfbfb65f002601a10d1e7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:16 2015 -0700 Bluetooth: btusb: Update version number of the module The version number is cosmetic, but pretty handy for debugging purposes and since the Broadcom protocol support is now optional, just increase it to indicate the difference. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 941521e24fa8019b94eedecdd0b39942b0060399 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:15 2015 -0700 Bluetooth: btusb: Move Broadcom quirk setting into support module The quirks for Broadcom devices can be set from the setup function and to keep the code simple, just move them into Broadcom support module. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c2bfb10092ece07f9e9cf5096cfeec0ef92a97c5 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:14 2015 -0700 Bluetooth: btusb: Add option for Broadcom protocol support With the generic Broadcom Bluetooth support module, it is possible to turn support for firmware and patchram download into an optional feature. To keep backwards compatibility with previous kernel configurations, the new option defaults to enabled. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1c8ba6d013c553bd13c50c139d652daac3348685 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:13 2015 -0700 Bluetooth: btbcm: Add support for Broadcom controller setup To unify the controller setup of Broadcom devices between USB and UART transport, add the patchram download support into the Broadcom module. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 3e0ac12a1a610b4ab47282a25ee5945064228e35 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:12 2015 -0700 Bluetooth: hci_uart: Use generic functionality from Broadcom module The new Broadcom Bluetooth support module provides generic functionality for changing and checking the Bluetooth device address. Use these new features instead of keeping a duplicate in the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1df1f5910825821ebac5eb1a74da2af8fdcaebf3 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:11 2015 -0700 Bluetooth: btusb: Use generic functionality by Broadcom module The new Broadcom Bluetooth support module provides generic functionality for changing and checking the Bluetooth device address. Use these new features instead of keeping a duplicate in the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4fba30f07f51617438835f75b58e37fb610b2d8d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:10 2015 -0700 Bluetooth: btbcm: Introduce generic Broadcom Bluetooth support The majority of Broadcom Bluetooth vendor commands are shared between USB and UART transports. This creates a separate module that eventually will hold all Broadcom specific commands, but for now just start with the commands to change the Bluetooth public address and check for the default address. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 788a675675b3ec5b64d232eae25e8e3e897cd31b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 22:36:04 2015 -0700 Bluetooth: hci_uart: Update version number driver This version number is more cosmetic and for debugging purposes, but since there has been a few changes lately, increase it now. Two left-over and not used version constants that were never exposed anywhere are removed since they have no actual value. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 01009eec70a7d80773267b34522b0bb1208a73e9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 22:27:35 2015 -0700 Bluetooth: hci_uart: Remove the manual protocol init message The init function for each HCI UART protocol prints the same on success and failure. This information is so generic, remove it and let the main HCI UART handling print it instead. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7c40fb8db135288485f4f6226ceb69d64610a84e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 22:27:34 2015 -0700 Bluetooth: hci_uart: Add name information to hci_uart_proto struct This adds an extra name field to the hci_uart_proto struct that provides a simple way of adding a string identifier to the protocol. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4ee7ef19894c0ac35cc6dc374d65658a26d7496a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 22:11:43 2015 -0700 Bluetooth: hci_uart: Make struct hci_uart_proto always const The usage of struct hci_uart_proto should always be const. Change the function headers and individual protocol drivers. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 2d7cc19eebc182dbdda228aa26eb5bfff97ac072 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 21:59:27 2015 -0700 Bluetooth: Remove hci_recv_stream_fragment function The hci_recv_stream_fragment function should have never been introduced in the first place. The Bluetooth core does not need to know anything about the HCI transport protocol. With all transport protocol specific detailed moved back into the drivers where they belong (mainly generic USB and UART drivers), this function can now be removed. This reduces the size of hci_dev structure and also removes an exported symbol from the Bluetooth core module. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d90aa68236137d4170e39055dba41a5a000c568e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 21:59:26 2015 -0700 Bluetooth: hci_uart: Use h4_recv_buf helper for Atheros AR300x Instead of using hci_recv_stream_fragment, use the local available h4_recv_buf helper function. To ensure that the function is available select BT_HCIUART_H4. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c27799f99f589e76ea84642508a32638091a409a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 21:59:25 2015 -0700 Bluetooth: hci_uart: Use h4_recv_buf helper for H:4 protocol Instead of using hci_recv_stream_fragment, use the local available h4_recv_buf helper function. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e1a38d70d8e07db6fbf93621f289c08bbcca0ba3 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 21:59:24 2015 -0700 Bluetooth: hci_uart: Introduce h4_recv_buf helper function The h4_recv_buf helper function can be used for receiving H:4 packets out of a TTY stream. It is self-contained and allows for reuse by all HCI UART protocols. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 9d1c40ebb66416f166b92c6828af48549ca99307 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 20:59:41 2015 -0700 Bluetooth: hci_uart: Use const data pointer for received data The TTY layer provides its data pointers as const, but the HCI UART callbacks expect them as general data pointers. This is of course wrong and instead of casting them, just fix the individual drivers to actually take a const data pointer. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5c7d2dd2852c7cd8f07cf91291b351c01b781044 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 20:59:40 2015 -0700 Bluetooth: Make data pointer of hci_recv_stream_fragment const The data pointer provided to hci_recv_stream_fragment function should have been marked const. The function has no business in modifying the original data. So fix this now. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 940cbe3a6b2282551e2e458d307967ae37cbba18 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 20:29:27 2015 -0700 Bluetooth: hci_uart: Remove unused h4->rx_state and h4->rx_count field The fields h4->rx_state and h4->rx_count are not used at all and with that they can be just removed. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 72b9439be96ffc816a131cd92fd33ef6541871d7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 20:25:50 2015 -0700 Bluetooth: hci_uart: Remove unused h4->rx_skb field The h4->rx_skb is not used anymore and with that just remove it. Seems this was a leftover and even the kfree_skb call freeing it is rather pointless since it got never allocated. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit facf5225e88c03170e66f76ff498e0c29f41a64a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 19:57:22 2015 -0700 Bluetooth: hci_uart: Fix indentation issues for multi-line functions Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit dfe19d28200f0d2306ef1510bbea3df18e22a6bc Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 19:57:21 2015 -0700 Bluetooth: hci_uart: Remove unneeded cast of tty->disc_data Casting the tty->disc_data to (void *) is not needed at all. So just remove this cast and assign the object without a cast. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e9a2dd261ac3d7bffbf55368a60401f5982dcc59 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 16:13:03 2015 -0700 Bluetooth: hci_uart: Add support Broadcom address configuration When using vendor detection, this adds support for the Broadcom specific address configuration command. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 16e3887f9c625dbcbc5d7cc939881dd4515141c5 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 16:13:02 2015 -0700 Bluetooth: hci_uart: Add support Intel address configuration When using vendor detection, this adds support for the Intel specific address configuration command. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit fb2ce8d11f0399a1359e02fa2fcc5ad7e595544a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 16:13:01 2015 -0700 Bluetooth: hci_uart: Add support for vendor detection flag This adds a new HCI_UART_VND_DETECT flag to allow automatic vendor detection. This allows to enable known vendor commands (for example for setting the public device address) when using a standard H:4 UART protocol or when running in virtual machines. When this new flag is configured and no vendor specific setup routine is provided, then the local version information are read and the provided manufacturer information can be evaluated to configure extra vendor callbacks. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1bc1e4d048d372a0191e78124b247747864dfde3 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Apr 6 23:02:22 2015 -0400 mac80211: Move message tracepoints to their own header Every tracing file must have its own TRACE_SYSTEM defined. The mac80211 tracepoint header broke this and add in the middle of the file had: #undef TRACE_SYSTEM #define TRACE_SYSTEM mac80211_msg Unfortunately, this broke new code in the ftrace infrastructure. Moving the mac80211_msg into its own trace file with its own TRACE_SYSTEM defined fixes the issue. Link: http://lkml.kernel.org/r/1428389938.1841.1.camel@xxxxxxxxxxxxxxxx Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 7267b23859ba4188873e3d1c90c9b29031cc9356 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Apr 1 14:22:01 2015 -0400 tracing: Add TRACE_SYSTEM_VAR to xhci-hcd New code will require TRACE_SYSTEM to be a valid C variable name, but some tracepoints have TRACE_SYSTEM with '-' and not '_', so it can not be used. Instead, add a TRACE_SYSTEM_VAR that can give the tracing infrastructure a unique name for the trace system. Cc: Xenia Ragiadakou <burzalodowa@xxxxxxxxx> Cc: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit bd41202214f8e89db3a64f8031d29d081f268190 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Apr 1 14:19:06 2015 -0400 tracing: Add TRACE_SYSTEM_VAR to kvm-s390 New code will require TRACE_SYSTEM to be a valid C variable name, but some tracepoints have TRACE_SYSTEM with '-' and not '_', so it can not be used. Instead, add a TRACE_SYSTEM_VAR that can give the tracing infrastructure a unique name for the trace system. Link: http://lkml.kernel.org/r/20150402111500.5e52c1ed.cornelia.huck@xxxxxxxxxx Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 882156e0407f06ca3d4c6500a7d347c3a2ed88b4 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Apr 1 14:14:53 2015 -0400 tracing: Add TRACE_SYSTEM_VAR to intel-sst New code will require TRACE_SYSTEM to be a valid C variable name, but some tracepoints have TRACE_SYSTEM with '-' and not '_', so it can not be used. Instead, add a TRACE_SYSTEM_VAR that can give the tracing infrastructure a unique name for the trace system. Link: http://lkml.kernel.org/r/20150402142831.GT6023@xxxxxxxxxxxxx Acked-by: Mark Brown <broonie@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 77cb2fea1e5fc4b083dd967f231bbf6edd96150e Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Thu Apr 2 12:37:36 2015 -0400 tracing/drm: Remove unused TRACE_SYSTEM_STRING define The tracing infrastructure is adding a macro TRACE_SYSTEM_STRING, and hit the following build failure: In file included from include/trace/define_trace.h:90:0, from drivers/gpu/drm/.//radeon/radeon_trace.h:209, from drivers/gpu/drm/.//radeon/radeon_trace_points.c:9: >> include/trace/ftrace.h:28:0: warning: "TRACE_SYSTEM_STRING" redefined #define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name) Seems that the DRM folks have added their own use to the TRACE_SYSTEM_STRING, with: #define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM) Although, I can not find its use anywhere. I could simply use another name, but if this macro is not being used, it should be removed. Link: http://lkml.kernel.org/r/20150402123736.01eda052@xxxxxxxxxxxxxxxxxx Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: Christian König <christian.koenig@xxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0578be680c6623ad6515b60a0b41ec70ebc1f204 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Apr 7 15:56:07 2015 +0200 drm: Use kref_put_mutex in drm_gem_object_unreference_unlocked If kref_put_mutex returns true then the caller or the put function is responsible for unlocking the mutex. The usual pattern assumes that the free callback unlocks the mutex, but since that is shared with the locked variant we need to explicitly unlock here. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be26a66de5f5722388966a62d772df832818bcb9 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:06 2015 +0200 drm/drm: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 71279a11380faabf70ea2827dc168b4156a10971 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:05 2015 +0200 drm/qxl: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d58ded7625a6811593616420cf1bcea902ce2c76 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:04 2015 +0200 drm/nouveau: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f22b45d66b8e603e2e85e78f209531779f8b1cc Merge: bf0fb67 816c766 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 7 18:10:03 2015 +0200 Merge tag 'kvm-s390-next-20150331' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD Features and fixes for 4.1 (kvm/next) 1. Assorted changes 1.1 allow more feature bits for the guest 1.2 Store breaking event address on program interrupts 2. Interrupt handling rework 2.1 Fix copy_to_user while holding a spinlock (cc stable) 2.2 Rework floating interrupts to follow the priorities 2.3 Allow to inject all local interrupts via new ioctl 2.4 allow to get/set the full local irq state, e.g. for migration and introspection commit bf0fb67cf957fc8ecfaaa2819b7d6a0f795e2ef2 Merge: 8999602 d44758c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 7 18:09:20 2015 +0200 Merge tag 'kvm-arm-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into 'kvm-next' KVM/ARM changes for v4.1: - fixes for live migration - irqfd support - kvm-io-bus & vgic rework to enable ioeventfd - page ageing for stage-2 translation - various cleanups commit 6d7fdb0ab351b33d4c12d53fe44be030b90fc9d4 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Thu Apr 2 14:40:58 2015 +0300 Revert "libceph: use memalloc flags for net IO" This reverts commit 89baaa570ab0b476db09408d209578cfed700e9f. Dirty page throttling should be sufficient for us in the general case so there is no need to use __GFP_MEMALLOC - it would be needed only in the swap-over-rbd case, which we currently don't support. (It would probably take approximately the commit that is being reverted to add that support, but we would also need the "swap" option to distinguish from the general case and make sure swap ceph_client-s aren't shared with anything else.) See ceph-devel threads [1] and [2] for the details of why enabling pfmemalloc reserves for all cases is a bad thing. On top of potential system lockups related to drained emergency reserves, this turned out to cause ceph lockups in case peers are on the same host and communicating via loopback due to sk_filter() dropping pfmemalloc skbs on the receiving side because the receiving loopback socket is not tagged with SOCK_MEMALLOC. [1] "SOCK_MEMALLOC vs loopback" http://www.spinics.net/lists/ceph-devel/msg22998.html [2] "[PATCH] libceph: don't set memalloc flags in loopback case" http://www.spinics.net/lists/ceph-devel/msg23392.html Conflicts: net/ceph/messenger.c [ context: tcp_nodelay option ] Cc: Mike Christie <michaelc@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Sage Weil <sage@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.18+, needs backporting Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Acked-by: Mike Christie <michaelc@xxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> commit 8999602d08a804ae9cb271fdd5378f910058112d Merge: 1d804d0 ae70593 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 7 18:06:01 2015 +0200 Merge tag 'kvm-arm-fixes-4.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into 'kvm-next' Fixes for KVM/ARM for 4.0-rc5. Fixes page refcounting issues in our Stage-2 page table management code, fixes a missing unlock in a gicv3 error path, and fixes a race that can cause lost interrupts if signals are pending just prior to entering the guest. commit 7abccdba25be45630eede85053496f1f48d36ec8 Merge: c85d697 38c8af6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 7 11:47:52 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-04-04 Here's what's probably the last bluetooth-next pull request for 4.1: - Fixes for LE advertising data & advertising parameters - Fix for race condition with HCI_RESET flag - New BNEPGETSUPPFEAT ioctl, needed for certification - New HCI request callback type to get the resulting skb - Cleanups to use BIT() macro wherever possible - Consolidate Broadcom device entries in the btusb HCI driver - Check for valid flags in CMTP, HIDP & BNEP - Disallow local privacy & OOB data combo to prevent a potential race - Expose SMP & ECDH selftest results through debugfs - Expose current Device ID info through debugfs Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d289842c8ab99edc9437609bd41656295b72cf9 Author: Masaki Ota <masaki.ota@xxxxxxxxxxx> Date: Fri Mar 27 21:30:46 2015 -0700 Input: ALPS - V7 devices can report 5-finger taps Signed-off-by: Masaki Ota <masaki.ota@xxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3db5b9f782b50a309fe0fb89fb890f6b4f66d9ae Author: Masaki Ota <masaki.ota@xxxxxxxxxxx> Date: Fri Mar 27 20:57:52 2015 -0700 Input: ALPS - add support for SS4 touchpad devices This change adds support for SS4 touchpad devices as ALPS_PROTO_V8 protocol. They are real multi-touch devices and can be found in TOSHIBA Tecra C50. Signed-off-by: Masaki Ota <masaki.ota@xxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8eccd39340adb502ac7131552e8a4a2f35c35e06 Author: Masaki Ota <masaki.ota@xxxxxxxxxxx> Date: Fri Mar 27 20:44:21 2015 -0700 Input: ALPS - refactor alps_set_abs_params_mt() In preparation for adding support for SS4 touchpads, let's split alps_set_abs_params_mt into common, v7-specific, and other protocols portions. Signed-off-by: Masaki Ota <masaki.ota@xxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5f63e885ac32429fc1340f5a61e1484022efc773 Merge: b6d2d32 f22e6e8 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 7 08:46:23 2015 -0700 Merge tag 'v4.0-rc7' into next Sync up with Linux 4.0-rc7 to bring in ALPS changes. commit 319d1e14109047b4f002394a80fe89a96ced64ed Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:02 2015 +0200 drm/radeon: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 45fe734c304edc36acb9bee653f16fa6fed64351 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:01 2015 +0200 drm/gma500: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d584ff822b19ac788dcda7d764b567001178cfe5 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:00 2015 +0200 drm/mgag200: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ian Romanick <ian.d.romanick@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b0f8778a34186455f3661308676f068f43fc9335 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:50:59 2015 +0200 drm/exynos: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 16d78bc2e4d69df962a750ac37ce69dd8eda401b Author: John Hunter <zhaojunwang@xxxxxxxxxx> Date: Tue Apr 7 19:38:50 2015 +0800 drm: Fix some typos Signed-off-by: John Hunter <zhjwpku@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f6ac49ba29499387e12e864a22e6d4bf46dafe9b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Apr 2 15:38:18 2015 +0100 ARM: vexpress: fix CPU hotplug with CT9x4 tile. The Cortex A9 tile fails to unplug CPUs if errata 643719 is not enabled. This leads to random weird behaviours, but ultimately seem to lock the kernel one way or another when a CPU is hot unplugged. Symptoms range from a spinlock lockup in the scheduler, the entire system hanging, to dumping out the kernel printk buffer a few lines at a time, and other weird behaviours. This is caused by the outgoing CPU not having its inner caches properly flushed before it exits coherency - flush_cache_louis() is used to achieve this, but as a result of the hardware bug, this function ends up doing nothing without the errata workaround enabled. As the Versatile Express has an affected CPU, this errata must always be enabled. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 77387b82d1b2bada25a7b566ab7716408fedc5e9 Author: Tao Chen <boby.chen@xxxxxxxxxx> Date: Wed Apr 1 15:04:22 2015 +0000 xen-blkback: define pr_fmt macro to avoid the duplication of DRV_PFX Define pr_fmt macro with {xen-blkback: } prefix, then remove all use of DRV_PFX in the pr sentences. Replace all DPRINTK with pr sentences, and get rid of DPRINTK macro. It will simplify the code. And if the pr sentences miss a \n, add it in the end. If the DPRINTK sentences have redundant \n, remove it. It will format the code. These all make the readability of the code become better. Signed-off-by: Tao Chen <boby.chen@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> commit 1375590d3e18b4d87d2f768178e93a0c8644a7dc Author: Tao Chen <boby.chen@xxxxxxxxxx> Date: Fri Mar 27 13:15:54 2015 +0000 xen-blkback: enlarge the array size of blkback name The blkback name is like blkback.domid.xvd[a-z], if domid has four digits (means larger than 1000), then the backmost xvd wouldn't be fully shown. Define a BLKBACK_NAME_LEN macro to be 20, enlarge the array size of blkback name, so it will be fully shown in any case. Signed-off-by: Tao Chen <boby.chen@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> commit 22ef882e6b5bd2bf668d10b1e2be3dc2fc365b99 Author: Dave Young <dyoung@xxxxxxxxxx> Date: Tue Apr 7 21:41:32 2015 +0800 x86/mm/numa: Fix kernel stack corruption in numa_init()->numa_clear_kernel_node_hotplug() I got below kernel panic during kdump test on Thinkpad T420 laptop: [ 0.000000] No NUMA configuration found [ 0.000000] Faking a node at [mem 0x0000000000000000-0x0000000037ba4fff] [ 0.000000] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: ffffffff81d21910 ... [ 0.000000] Call Trace: [ 0.000000] [<ffffffff817c2a26>] dump_stack+0x45/0x57 [ 0.000000] [<ffffffff817bc8d2>] panic+0xd0/0x204 [ 0.000000] [<ffffffff81d21910>] ? numa_clear_kernel_node_hotplug+0xe6/0xf2 [ 0.000000] [<ffffffff8107741b>] __stack_chk_fail+0x1b/0x20 [ 0.000000] [<ffffffff81d21910>] numa_clear_kernel_node_hotplug+0xe6/0xf2 [ 0.000000] [<ffffffff81d21e5d>] numa_init+0x1a5/0x520 [ 0.000000] [<ffffffff81d222b1>] x86_numa_init+0x19/0x3d [ 0.000000] [<ffffffff81d22460>] initmem_init+0x9/0xb [ 0.000000] [<ffffffff81d0d00c>] setup_arch+0x94f/0xc82 [ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120 [ 0.000000] [<ffffffff817bd0bb>] ? printk+0x55/0x6b [ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120 [ 0.000000] [<ffffffff81d05d9b>] start_kernel+0xe8/0x4d6 [ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120 [ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120 [ 0.000000] [<ffffffff81d055ee>] x86_64_start_reservations+0x2a/0x2c [ 0.000000] [<ffffffff81d05751>] x86_64_start_kernel+0x161/0x184 [ 0.000000] ---[ end Kernel panic - not syncing: stack-protector: Kernel sta This is caused by writing over the end of numa mask bitmap in numa_clear_kernel_node(). numa_clear_kernel_node() tries to set the node id in a mask bitmap, by iterating all reserved regions and assuming that every region has a valid nid. This assumption is not true because there's an exception for some graphic memory quirks. See trim_snb_memory() in arch/x86/kernel/setup.c It is easily to reproduce the bug in the kdump kernel because kdump kernel use pre-reserved memory instead of the whole memory, but kexec pass other reserved memory ranges to 2nd kernel as well. like below in my test: kdump kernel ram 0x2d000000 - 0x37bfffff One of the reserved regions: 0x40000000 - 0x40100000 which includes 0x40004000, a page excluded in trim_snb_memory(). For this memblock reserved region the nid is not set, it is still default value MAX_NUMNODES. later node_set will set bit MAX_NUMNODES thus stack corruption happen. This also happens when booting with mem= kernel commandline during my test. Fixing it by adding a check, do not call node_set in case nid is MAX_NUMNODES. Signed-off-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: bhe@xxxxxxxxxx Cc: qiuxishi@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150407134132.GA23522@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b4e97050248d9cbf84a5fd023eb20c253b7ab35b Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Apr 3 08:41:17 2015 -0700 crypto: qat - fix double release_firmware on error path release_firmware was called twice on error path causing an Oops. Reported-by: Ahsan Atta <ahsan.atta@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8b5cf097c3b0940f2be0d20dd16178405ebb63ec Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Apr 3 08:40:58 2015 -0700 crypto: qat - print ring name in debug output Ring name was allocated but never refenenced. It was supposed to be printed out in debug output. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1e6232f87b2d8b45f561cbb37a60cfc40b1a1b0d Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Apr 4 00:20:30 2015 +0900 crypto: serpent_sse2 - Fix a typo in Kconfig This patch fix a spelling typo in crypto/Kconfig. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7374ccc0c322a6dc55f783a1a9c816c6f308d990 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Apr 3 14:50:28 2015 +0200 fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex If sh_mobile_lcdc_probe() fails after the allocation of driver-private data, but before the initialization of all channels, a warning will be printed due to the destruction of an uninitialized mutex: WARNING: CPU: 0 PID: 1 at kernel/locking/mutex-debug.c:116 mutex_destroy+0x5c/0x7c() DEBUG_LOCKS_WARN_ON(mutex_is_locked(lock)) ... Backtrace: ... [<c00425b4>] (mutex_destroy) from [<c01d5858>] (sh_mobile_lcdc_remove+0x1bc/0x230) r4:df6a4800 r3:00000000 [<c01d569c>] (sh_mobile_lcdc_remove) from [<c01d6620>] (sh_mobile_lcdc_probe+0xd54/0xe28) Move the initialization of the mutexes from sh_mobile_lcdc_channel_init() to immediately after the allocation of driver-private data to fix this. Note that the interrupt number is moved to a new variable "irq", so we can reuse the existing variable "i" for iterating over the channels. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 19ef697d1eb7be06dcd0d0eb170ee5cc206e8f84 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 00:30:02 2015 +0300 sh-pfc: r8a7790: add EtherAVB pin groups Add EtherAVB pin groups to R8A7790 PFC driver. Based on original patch by Mitsuhiro Kimura <mitsuhiro.kimura.kc@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cec656501fc20a5d1b20a43cfa4679705fa7e1ef Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Mar 30 16:16:54 2015 -0700 pinctrl: Document "function" + "pins" pinmux binding Currently the "function" + "groups" combination is the only documented format for pinmux nodes, although many drivers use "function" + "pins". Update the generic pinctrl binding to include the "function" + "pins" combination 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> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c627589282213bbef12a482c0b87f23526ceb3f0 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Mon Mar 30 14:54:15 2015 -0400 Input - mt: Fix input_mt_get_slot_by_key The case occurred recently with a touchscreen using twice a slot during a single EV_SYN event: E: 0.288415 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- E: 0.296207 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0 E: 0.296207 0003 0039 -001 # EV_ABS / ABS_MT_TRACKING_ID -1 E: 0.296207 0003 002f 0001 # EV_ABS / ABS_MT_SLOT 1 E: 0.296207 0003 0035 0908 # EV_ABS / ABS_MT_POSITION_X 908 E: 0.296207 0003 0036 1062 # EV_ABS / ABS_MT_POSITION_Y 1062 E: 0.296207 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0 E: 0.296207 0003 0039 8787 # EV_ABS / ABS_MT_TRACKING_ID 8787 E: 0.296207 0003 0035 1566 # EV_ABS / ABS_MT_POSITION_X 1566 E: 0.296207 0003 0036 0861 # EV_ABS / ABS_MT_POSITION_Y 861 E: 0.296207 0003 0000 0908 # EV_ABS / ABS_X 908 E: 0.296207 0003 0001 1062 # EV_ABS / ABS_Y 1062 E: 0.296207 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- This occurred because while having already slots 0 and 1 assigned, the touchscreen sent: 0.293377 Tip Switch: 0 | Contact Id: 0 | X: 539 | Y: 1960 | Contact Count: 3 0.294783 Tip Switch: 1 | Contact Id: 1 | X: 908 | Y: 1062 | Contact Count: 0 0.296187 Tip Switch: 1 | Contact Id: 2 | X: 1566 | Y: 861 | Contact Count: 0 Slot 0 is released correclty, but when we look for Contact ID 2, the slot 0 is then picked up again because it is marked as inactive (trackingID < 0). This is wrong, and we should not reuse a slot in the same frame. The test should also check for input_mt_is_used(). In addition, we need to initialize mt->frame to an other value than 0. With mt->frame being 0, all slots are tags as currently used, and so input_mt_get_slot_by_key() would return -1 for all requests. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=88903 Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7981c0015af26323281c937c8983dfeabc3395fe Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:31:49 2015 +0300 pinctrl: intel: Add Intel Sunrisepoint pin controller and GPIO support This driver supports pinctrl/GPIO hardware found on Intel Sunrisepoint (a Skylake PCH) providing users a pinctrl and GPIO interfaces (including GPIO interrupts). The driver is split into core and platform parts so that the same core driver can be reused in other drivers for other Intel GPIO hardware that is based on the same host controller design. Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5df0582bf036bb5f9a8ad8db5884fe13a55347d1 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Wed Apr 1 14:22:58 2015 -0700 drm/i915/vlv: remove wait for previous GFX clk disable request Looks like it was introduced in: commit 650ad970a39f8b6164fe8613edc150f585315289 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Fri Apr 18 16:35:02 2014 +0300 drm/i915: vlv: factor out vlv_force_gfx_clock and check for pending force-of but I'm not sure why. It has caused problems for us in the past (see 85250ddff7a6 "drm/i915/chv: Remove Wait for a previous gfx force-off" and 8d4eee9cd7a1 "drm/i915: vlv: increase timeout when forcing on the GFX clock") and doesn't seem to be required, so let's just drop it. References: https://bugs.freedesktop.org/show_bug.cgi?id=89611 Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Tested-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # c9c52e24194a: drm/i915/chv: Remove Wait ... Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 16837f9588819c06469e635c04a8135f98ab9ae6 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Tue Mar 24 16:26:18 2015 +0100 pinctrl: fsl: imx: Check for 0 config register 0 is used in all pinfunction definitions when a config register is not available, for example imx25-pinfunc.h. If a configuration value is used for such a pinfunction the driver will always write it to the configuration register if it is not -1. For a 0 configuration register the configuration value is written to offset 0x0. This can lead to a crashing/hanging system without any warning message. This patch checks for 0 config register and sets the internal value to -1. If the configuration value is not NO_PADCTL this leads to an error message that applying the configuration failed. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Tested-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2d846c74027231264e57e4e34faf9576394e3ce0 Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Tue Apr 7 20:32:20 2015 +0800 ALSA: hda_intel: add AZX_DCAPS_I915_POWERWELL for SKL and BSW HDMI/DP codec on SKL/BSW is in the power well. The power well must be turned on before probing the HDMI/DP codec. This is a temporary patch, which will power on the powerwell by adding AZX_DCAPS_I915_POWERWELL for SKL and BSW. After restructuring and new flag is added, this patch will be reverted. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c9c52e24194a741f9fca96e7aa965f0fa36af504 Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Date: Sat Mar 28 15:23:34 2015 +0530 drm/i915/chv: Remove Wait for a previous gfx force-off On CHV, PUNIT team confirmed that 'VLV_GFX_CLK_STATUS_BIT' is not a sticky bit and it will always be set. So ignore Check for previous Gfx force off during suspend and allow the force clk as part S0ix Sequence Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9c25210fd30991e68f93e2ec0857de2d967b5766 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Wed Apr 1 14:22:57 2015 -0700 drm/i915/vlv: save/restore the power context base reg Some BIOSes (e.g. the one on the Minnowboard) don't save/restore this reg. If it's unlocked, we can just restore the previous value, and if it's locked (in case the BIOS re-programmed it for us) the write will be ignored and we'll still have "did it move" sanity check in the PM code to warn us if something is still amiss. References: https://bugs.freedesktop.org/show_bug.cgi?id=89611 Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Tested-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 46b9d180141dac76cd6065bf497cec44816ab4c6 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 31 16:09:13 2015 +0200 cfg80211: send extended capabilities IE in connect If the connect request from userspace didn't include an extended capabilities IE, create one using the driver capabilities. This fixes VHT associations, since those need to set the operating mode notification capability. Reviewed-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 29464ccc78f1e8f77b8c37ddbe95af46d13c2ec2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 31 15:36:22 2015 +0200 cfg80211: move IE split utilities here from mac80211 As the next patch will require the IE splitting utility functions in cfg80211, move them there from mac80211. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9b5c352e5425622b4371387d4718060da5d3ae32 Author: Charles Keepax <ckeepax@xxxxxxxxx> Date: Tue Apr 7 11:34:51 2015 +0100 ASoC: wm8804: Update binding documentation to include reset GPIO Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7e5ee1c33e9ce4e4be0a6b8955c760e9a41a9e84 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:34:50 2015 +0100 ASoC: wm8804: Add support for hardware reset line It is best to use the physical reset if it is available. This patch adds support for a GPIO controlled physical reset for the chip. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8543d0e72d4340001d756bd89bee70ce239e1ea5 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Apr 6 14:29:03 2015 -0700 spi: img-spfi: Limit bit clock to 1/4th of input clock Although the SPFI BITCLK divider supports a value of up to 255, only values up to 128 are usable. This results in a maximum possible bit clock rate of 1/4th the input clock rate. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b6fe39770aa63d14129bc7e061c95cfc3cb1419a Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Apr 6 14:29:04 2015 -0700 spi: img-spfi: Implement a prepare_message() callback In preparation for switching to using the SPI core's CS GPIO handling, move setup of the PORT_STATE register, which must be configured before CS is asserted, to a prepare_message() callback. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c8c7c44b7cf5ef7163e4bd6aedbdeb6f6031ee3e Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 4 12:32:45 2015 -0300 [media] s5p-jpeg: Remove some unused functions Removes some functions that are not used anywhere: s5p_jpeg_input_raw_y16() s5p_jpeg_timer_disable() s5p_jpeg_timer_enable(). This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 12b055662ac6216c518d7ec09bf2f7d75435015c Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Mar 5 10:56:25 2015 -0300 [media] s5p-jpeg: Initialize jpeg_addr fields to zero JPEG codecs on Exynos4 and Exynos3250 SoCs utilize different number of planes for storing the raw image data, depending on the format of the image being processed. For the unused planes a random data was being written to the related registers. Regardless of the fact that this seemed not to be harmful, fix the issue for clarity reasons. Reported-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7c15fd4bf3d367bfc80f76814559f51f75c4d28a Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Mon Mar 9 09:32:46 2015 -0300 [media] s5p-jpeg: add 5420 family support JPEG IP found in Exynos5420 is similar to what is in Exynos3250, but there are some subtle differences which this patch takes into account. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4eb297e068736f3f67586077799c1233154209ec Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Apr 4 09:04:32 2015 -0300 [media] m88ts2022: remove from Makefile Remove target from Makefile: this driver no longer exists. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4cd9db08598454e4d051b818c5f1d61ac7539a47 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Apr 7 14:03:53 2015 +0300 ASoC: davinci-mcasp: Fix ruledata setup in davinci_mcasp_startup Passing &mcasp->ruledata[dir] to snd_pcm_hw_rule_add() is not correct since commit: 7b3d165a2821 ASoC: davinci-mcasp: Index ruledata in drvdata with substream->stream now sets up the struct based on the substream->stream (0 or 1) while we pass a pointer which we take with dir (1 or 2). This will lead kernel crash. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 41b585b2ed793db6f02ec87d0026d73382e8180a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Mar 30 15:20:32 2015 +0200 Kbuild: kallsyms: drop special handling of pre-3.0 GCC symbols Since we have required at least GCC v3.2 for some time now, we can drop the special handling of the 'gcc[0-9]_compiled.' label which is not emitted anymore since GCC v3.0. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit bd8b22d2888e75063c9012b95341d6cb36456434 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Mar 30 15:20:31 2015 +0200 Kbuild: kallsyms: ignore veneers emitted by the ARM linker When linking large kernels on ARM, the linker will insert veneers (i.e., PLT like stubs) when function symbols are out of reach for the ordinary relative branch/branch-and-link instructions. However, due to the fact that the kallsyms region sits in .rodata, which is between .text and .init.text, additional veneers may be emitted in the second pass due to the fact that the size of the kallsyms region itself has pushed the .init.text section further apart, requiring even more veneers. So ignore the veneers when generating the symbol table. Veneers have no corresponding source code, and they will not turn up in backtraces anyway. This patch also lightly refactors the symbol_valid() function to use a local 'sym_name' rather than the obfuscated 'sym + 1' and 'sym + offset' Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 63031ed6b8bd69d4baff6a46f5c9b79b51bd1eaa Merge: 95bf15f e689d6d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Apr 7 11:54:40 2015 +0100 Merge branch 'fix/fsl-dspi' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-fsl-dspi Conflicts: drivers/spi/spi-fsl-dspi.c commit 3590ebc040c9ee5d06754ce926f0e7c3a595e46d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Apr 7 00:17:00 2015 -0700 NFC: logging neatening Add missing terminating newlines to nfc_info and nfc_err to avoid possible interleaving from other messages. Miscellanea: o typo fix of "unknonwn" in message o remove unnecessary OOM messages as there's a generic dump_stack() o realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0fefcb6876d0d650ac2255c57051b31c48c1b165 Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Sun Mar 29 12:56:42 2015 +0200 pinctrl: Add support for Meson8b This patch adds support for the AmLogic Meson8b SoC. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Acked-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit faa246debff1cfc0950f73c778f2db83451aa38b Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Thu Mar 19 22:34:11 2015 +0100 documentation: Extend pinctrl docs for Meson8b Add the compatible string for Meson8b in Meson pinctrl documentation and add new information for Meson8b in source code comments. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Acked-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0cf6f3c2b5ef0b5b3bb82f02edbeda4751b27763 Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Thu Mar 19 22:34:10 2015 +0100 pinctrl: Cleanup Meson8 driver This patch introduces a new PIN macro and few small modifications to simplify and shorten the Meson pinctrl drivers and cleanup the support file for the AmLogic Meson8 SoC. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Acked-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 25a853d037a40b7ac2c317adef6442ef92d8407e Author: Ken Xue <Ken.Xue@xxxxxxx> Date: Fri Mar 27 17:44:26 2015 +0800 Fix inconsistent spinlock of AMD GPIO driver which can be recognized by static analysis tool smatch. Declare constant Variables with Sparse's suggestion. Signed-off-by: Ken Xue <Ken.Xue@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b7a4abb67416aa07cd65446dd39e64525ccfe8e5 Merge: d30323f f22e6e8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:17:34 2015 +0200 Merge 4.0-rc7 into usb-next We want the fixes in here, and to help resolve merge issues. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 991ff4e3d71dcad184d18f9b1b241f3191601909 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Wed Apr 1 10:20:08 2015 +0800 MIPS: Move Loongson GPIO driver to drivers/gpio Move Loongson-2's GPIO driver to drivers/gpio and add Kconfig options. Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit df5dade4a7b29b003e000c5db5c35612e0b1019b Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Wed Apr 1 10:20:07 2015 +0800 MIPS: Cleanup Loongson-2F's gpio driver This cleanup is prepare to move the driver to drivers/gpio. Custom definitions of gpio_get_value()/gpio_set_value() are dropped. Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b3e3bf2ef2c74f5ce5c19510edbbb9bfc1d249c2 Merge: fbf4763 f22e6e8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:07:20 2015 +0200 Merge 4.0-rc7 into tty-next We want the fixes in here as well, also to help out with merge issues. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d480239ba4963c7d994582ccddc9310127593e14 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Thu Mar 26 12:18:49 2015 +0000 pinctrl: at91: convert __raw to endian agnostic IO Use endian agnostic _relaxed IO accessors instead of the __raw ones. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Cc: Andrew Victor <linux@xxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c610f7f772aa06ae2bd8e5ace87cde4d90f70198 Merge: f9541f8 f22e6e8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:03:02 2015 +0200 Merge 4.0-rc7 into staging-next We want those fixes (iio primarily) into the -next branch to help with merge and testing issues. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dd4e4f6fe9495f02d4594bd460b84008a3e8e93 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 25 20:11:55 2015 +1100 powerpc/mm: Change setbat() to take a pgprot_t rather than flags The callers of setbat() are actually passing a pgprot_t for the flags parameter. This doesn't matter unless STRICT_MM_TYPECHECKS is enabled. So we can turn that on without breaking the build, change setbat() to take a pgprot_t and have it convert it to an unsigned long internally. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 911083350e010e23719a8ecb4dd5f170f22854eb Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 25 20:11:54 2015 +1100 powerpc/mm: Remove duplicate declaration of setbat() This is already declared in mmu_decl.h, so we don't need a second version in the C file. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bf4981a00636347ddcef3fc008e4dd979380a851 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Mar 19 15:15:20 2015 +1100 powerpc: Remove the celleb support The celleb code has seen no actual development for ~7 years. We (maintainers) have no access to test hardware, and it is highly likely the code has bit-rotted. As far as we're aware the hardware was never widely available, and is certainly no longer available, and no one on the list has shown any interest in it over the years. So remove it. If anyone has one and cares please speak up. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Jeremy Kerr <jk@xxxxxxxxxx> commit 646b54f2f2041473495f166479e3e17fd59a9dd1 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Mar 12 17:27:11 2015 +1100 powerpc/powernv: Remove powernv RTAS support The powernv code has some conditional support for running on bare metal machines that have no OPAL firmware, but provide RTAS. No released machines ever supported that, and even in the lab it was just a transitional hack in the days when OPAL was still being developed. So remove the code. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> commit 092a29a40bab8bb4530bb3e58a0597001cdecdef Author: Yao Xiwei <xiwei.yao@xxxxxxxxx> Date: Thu Apr 2 17:31:17 2015 +0200 vti6: fix uninit when using x-netns When the kernel deleted a vti6 interface, this interface was not removed from the tunnels list. Thus, when the ip6_vti module was removed, this old interface was found and the kernel tried to delete it again. This was leading to a kernel panic. Fixes: 61220ab34948 ("vti6: Enable namespace changing") Signed-off-by: Yao Xiwei <xiwei.yao@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 68c11e98ef6748ddb63865799b12fc45abb3755d Author: Alexey Dobriyan <adobriyan@xxxxxxxxx> Date: Thu Apr 2 10:58:24 2015 +0300 xfrm: fix xfrm_input/xfrm_tunnel_check oops https://bugzilla.kernel.org/show_bug.cgi?id=95211 Commit 70be6c91c86596ad2b60c73587880b47df170a41 ("xfrm: Add xfrm_tunnel_skb_cb to the skb common buffer") added check which dereferences ->outer_mode too early but larval SAs don't have this pointer set (yet). So check for tunnel stuff later. Mike Noordermeer reported this bug and patiently applied all the debugging. Technically this is remote-oops-in-interrupt-context type of thing. BUG: unable to handle kernel NULL pointer dereference at 0000000000000034 IP: [<ffffffff8150dca2>] xfrm_input+0x3c2/0x5a0 ... [<ffffffff81500fc6>] ? xfrm4_esp_rcv+0x36/0x70 [<ffffffff814acc9a>] ? ip_local_deliver_finish+0x9a/0x200 [<ffffffff81471b83>] ? __netif_receive_skb_core+0x6f3/0x8f0 ... RIP [<ffffffff8150dca2>] xfrm_input+0x3c2/0x5a0 Kernel panic - not syncing: Fatal exception in interrupt Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit b7f859dda95c231a276f2ec915253708f1ca7bdb Merge: 428d4d6 0eebf9b Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 7 13:25:14 2015 +1000 Merge branch 'next-remove-ldst' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next commit 428d4d6520a0b8683fe9eac6df3077001e13d00b Merge: 28ea605 027fa02 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 7 13:24:55 2015 +1000 Merge branch 'next-eeh' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next commit 28ea605caac49497e5e34a73ee4f4682fc035f1d Merge: 6a84079 d41444d Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 7 13:07:42 2015 +1000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next Freescale updates from Scott: "Highlights include BMan device tree nodes, an MSI erratum workaround, a couple minor performance improvements, config updates, and misc fixes/cleanup." commit c85d6975ef923cffdd56de3e0e6aba0977282cff Merge: 60302ff f22e6e8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 6 21:52:19 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/mellanox/mlx4/cmd.c net/core/fib_rules.c net/ipv4/fib_frontend.c The fib_rules.c and fib_frontend.c conflicts were locking adjustments in 'net' overlapping addition and removal of code in 'net-next'. The mlx4 conflict was a bug fix in 'net' happening in the same place a constant was being replaced with a more suitable macro. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf7b6c0205f11cdb015384244c0b423b00e35c69 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Tue Mar 24 16:54:18 2015 -0400 selinux: increase avtab max buckets Now that we can safely increase the avtab max buckets without triggering high order allocations and have a hash function that will make better use of the larger number of buckets, increase the max buckets to 2^16. Original: 101421 entries and 2048/2048 buckets used, longest chain length 374 With new hash function: 101421 entries and 2048/2048 buckets used, longest chain length 81 With increased max buckets: 101421 entries and 31078/32768 buckets used, longest chain length 12 Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 33ebc1932a07efd8728975750409741940334489 Author: John Brooks <john.brooks@xxxxxxxxx> Date: Tue Mar 24 16:54:17 2015 -0400 selinux: Use a better hash function for avtab This function, based on murmurhash3, has much better distribution than the original. Using the current default of 2048 buckets, there are many fewer collisions: Before: 101421 entries and 2048/2048 buckets used, longest chain length 374 After: 101421 entries and 2048/2048 buckets used, longest chain length 81 The difference becomes much more significant when buckets are increased. A naive attempt to expand the current function to larger outputs doesn't yield any significant improvement; so this function is a prerequisite for increasing the bucket size. sds: Adapted from the original patches for libsepol to the kernel. Signed-off-by: John Brooks <john.brooks@xxxxxxxxx> Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit ba39db6e0519aa8362dbda6523ceb69349a18dc3 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Tue Mar 24 16:54:16 2015 -0400 selinux: convert avtab hash table to flex_array Previously we shrank the avtab max hash buckets to avoid high order memory allocations, but this causes avtab lookups to degenerate to very long linear searches for the Fedora policy. Convert to using a flex_array instead so that we can increase the buckets without such limitations. This change does not alter the max hash buckets; that is left to a separate follow-on change. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit da8026fa0f9154b1c571c4d160dd51a7b8c34495 Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Tue Feb 17 15:30:23 2015 -0500 selinux: reconcile security_netlbl_secattr_to_sid() and mls_import_netlbl_cat() Move the NetLabel secattr MLS category import logic into mls_import_netlbl_cat() where it belongs, and use the mls_import_netlbl_cat() function in security_netlbl_secattr_to_sid(). Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 83d4a806ae46397f606de7376b831524bd3a21e5 Author: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Date: Thu Feb 26 13:54:17 2015 -0800 selinux: remove unnecessary pointer reassignment Commit f01e1af445fa ("selinux: don't pass in NULL avd to avc_has_perm_noaudit") made this pointer reassignment unnecessary. Avd should continue to reference the stack-based copy. Signed-off-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> [PM: tweaked subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit f82daee49c09cf6a99c28303d93438a2566e5552 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Apr 7 01:07:39 2015 +0200 Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions" Commit 84c91b7ae07c (PM / hibernate: avoid unsafe pages in e820 reserved regions) is reported to make resume from hibernation on Lenovo x230 unreliable, so revert it. We will revisit the issue the commit in question was supposed to fix in the future. Link: https://bugzilla.kernel.org/show_bug.cgi?id=96111 Reported-by: rhn <kebuac.rhn@xxxxxxxxxxxxxxxxxxxx> Cc: 3.17+ <stable@xxxxxxxxxxxxxxx> # 3.17+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f22e6e847115abc3a0e2ad7bb18d243d42275af1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 15:39:45 2015 -0700 Linux 4.0-rc7 commit bd884149aca61de269fd9bad83fe2a4232ffab21 Author: Ulrik De Bie <ulrik.debie-os@xxxxxxxxx> Date: Mon Apr 6 15:35:38 2015 -0700 Input: elantech - fix absolute mode setting on some ASUS laptops On ASUS TP500LN and X750JN, the touchpad absolute mode is reset each time set_rate is done. In order to fix this, we will verify the firmware version, and if it matches the one in those laptops, the set_rate function is overloaded with a function elantech_set_rate_restore_reg_07 that performs the set_rate with the original function, followed by a restore of reg_07 (the register that sets the absolute mode on elantech v4 hardware). Also the ASUS TP500LN and X750JN firmware version, capabilities, and button constellation is added to elantech.c Cc: stable@xxxxxxxxxxxxxxx Reported-and-tested-by: George Moutsopoulos <gmoutso@xxxxxxxxxxx> Signed-off-by: Ulrik De Bie <ulrik.debie-os@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 442bb4bad90134e1c49ffb3ccdefca391ce05600 Merge: 9e44163 fde913e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 15:19:59 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) In TCP, don't register an FRTO for cumulatively ACK'd data that was previously SACK'd, from Neal Cardwell. 2) Need to hold RNL mutex in ipv4 multicast code namespace cleanup, from Cong WANG. 3) Similarly we have to hold RNL mutex for fib_rules_unregister(), also from Cong WANG. 4) Revert and rework netns nsid allocation fix, from Nicolas Dichtel. 5) When we encapsulate for a tunnel device, skb->sk still points to the user socket. So this leads to cases where we retraverse the ipv4/ipv6 output path with skb->sk being of some other address family (f.e. AF_PACKET). This can cause things to crash since the ipv4 output path is dereferencing an AF_PACKET socket as if it were an ipv4 one. The short term fix for 'net' and -stable is to elide these socket checks once we've entered an encapsulation sequence by testing xmit_recursion. Longer term we have a better solution wherein we pass the tunnel's socket down through the output paths, but that is way too invasive for 'net' and -stable. From Hannes Frederic Sowa. 6) l2tp_init() failure path forgets to unregister per-net ops, from Cong WANG. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: net/mlx4_core: Fix error message deprecation for ConnectX-2 cards net: dsa: fix filling routing table from OF description l2tp: unregister l2tp_net_ops on failure path mvneta: dont call mvneta_adjust_link() manually ipv6: protect skb->sk accesses from recursive dereference inside the stack netns: don't allocate an id for dead netns Revert "netns: don't clear nsid too early on removal" ip6mr: call del_timer_sync() in ip6mr_free_table() net: move fib_rules_unregister() under rtnl lock ipv4: take rtnl_lock and mark mrt table as freed on namespace cleanup tcp: fix FRTO undo on cumulative ACK of SACKed range xen-netfront: transmit fully GSO-sized packets commit deeb8525f9bcea60f5e86521880c1161de7a5829 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 17:57:44 2015 -0400 ioctx_alloc(): fix vma (and file) leak on failure If we fail past the aio_setup_ring(), we need to destroy the mapping. We don't need to care about anybody having found ctx, or added requests to it, since the last failure exit is exactly the failure to make ctx visible to lookups. Reproducer (based on one by Joe Mario <jmario@xxxxxxxxxx>): void count(char *p) { char s[80]; printf("%s: ", p); fflush(stdout); sprintf(s, "/bin/cat /proc/%d/maps|/bin/fgrep -c '/[aio] (deleted)'", getpid()); system(s); } int main() { io_context_t *ctx; int created, limit, i, destroyed; FILE *f; count("before"); if ((f = fopen("/proc/sys/fs/aio-max-nr", "r")) == NULL) perror("opening aio-max-nr"); else if (fscanf(f, "%d", &limit) != 1) fprintf(stderr, "can't parse aio-max-nr\n"); else if ((ctx = calloc(limit, sizeof(io_context_t))) == NULL) perror("allocating aio_context_t array"); else { for (i = 0, created = 0; i < limit; i++) { if (io_setup(1000, ctx + created) == 0) created++; } for (i = 0, destroyed = 0; i < created; i++) if (io_destroy(ctx[i]) == 0) destroyed++; printf("created %d, failed %d, destroyed %d\n", created, limit - created, destroyed); count("after"); } } Found-by: Joe Mario <jmario@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b2edffdd912b4205899a8efa0974dfbbc3216109 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 17:48:54 2015 -0400 fix mremap() vs. ioctx_kill() race teach ->mremap() method to return an error and have it fail for aio mappings in process of being killed Note that in case of ->mremap() failure we need to undo move_page_tables() we'd already done; we could call ->mremap() first, but then the failure of move_page_tables() would require undoing whatever _successful_ ->mremap() has done, which would be a lot more headache in general. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fde913e25496761a4e2a4c81230c913aba6289a2 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Sun Apr 5 17:50:48 2015 +0300 net/mlx4_core: Fix error message deprecation for ConnectX-2 cards Commit 1daa4303b4ca ("net/mlx4_core: Deprecate error message at ConnectX-2 cards startup to debug") did the deprecation only for port 1 of the card. Need to deprecate for port 2 as well. Fixes: 1daa4303b4ca ("net/mlx4_core: Deprecate error message at ConnectX-2 cards startup to debug") Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 303038135afbd0520d1e241c02592be6e4ea7204 Author: Pavel Nakonechny <pavel.nakonechny@xxxxxxxxxx> Date: Sun Apr 5 00:46:21 2015 +0300 net: dsa: fix filling routing table from OF description According to description in 'include/net/dsa.h', in cascade switches configurations where there are more than one interconnected devices, 'rtable' array in 'dsa_chip_data' structure is used to indicate which port on this switch should be used to send packets to that are destined for corresponding switch. However, dsa_of_setup_routing_table() fills 'rtable' with port numbers of the _target_ switch, but not current one. This commit removes redundant devicetree parsing and adds needed port number as a function argument. So dsa_of_setup_routing_table() now just looks for target switch number by parsing parent of 'link' device node. To remove possible misunderstandings with the way of determining target switch number, a corresponding comment was added to the source code and to the DSA device tree bindings documentation file. This was tested on a custom board with two Marvell 88E6095 switches with following corresponding routing tables: { -1, 10 } and { 8, -1 }. Signed-off-by: Pavel Nakonechny <pavel.nakonechny@xxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e441639d1ed78245600191f0fa45e106935a9dc Merge: f8b3d8a 58d8a3b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 14:10:08 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input fixes from Dmitry Torokhov: "Updates for the input subsystem - two more tweaks for ALPS driver to work out kinks after splitting the touchpad, trackstick, and potential external PS/2 mouse into separate input devices. Changes to support ALPS SS4 devices (protocol V8) will be coming in 4.1..." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: alps - document stick behavior for protocol V2 Input: alps - report V2 Dualpoint Stick events via the right evdev node Input: alps - report interleaved bare PS/2 packets via dev3 commit 4c385b25fab119144bffb255ad77712fe586ac10 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Thu Apr 2 11:20:41 2015 +0530 clk: qcom: Add EBI2 clocks for IPQ806x The NAND controller within EBI2 requires EBI2_CLK and EBI2_ALWAYS_ON_CLK clocks. Create structs for these clocks so that they can be used by the NAND controller driver. Add an entry for EBI2_AON_CLK in the gcc-ipq806x DT binding document. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 67e04c29ec0daad9ba29341b4dab4b89526994cf Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 3 13:46:09 2015 -0700 l2tp: unregister l2tp_net_ops on failure path Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60302ff631f0f3eac0ec592e128b776f0676b397 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Apr 2 13:05:47 2015 +0200 virtio: document queue state logic commit d631b94e7a15277858ec5f88d674d93080506999 virtio: change comment in transmit started clarifying the logic behind queue state management, but introduced an inaccuracy: TX_BUSY does not cause a BUG message. Clean this up some more, explaining the tradeoffs in detail. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91bc4822c3d61b9bb7ef66d3b77948a4f9177954 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Apr 1 17:12:13 2015 -0700 tc: bpf: add checksum helpers Commit 608cd71a9c7c ("tc: bpf: generalize pedit action") has added the possibility to mangle packet data to BPF programs in the tc pipeline. This patch adds two helpers bpf_l3_csum_replace() and bpf_l4_csum_replace() for fixing up the protocol checksums after the packet mangling. It also adds 'flags' argument to bpf_skb_store_bytes() helper to avoid unnecessary checksum recomputations when BPF programs adjusting l3/l4 checksums and documents all three helpers in uapi header. Moreover, a sample program is added to show how BPF programs can make use of the mangle and csum helpers. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6d2d3289f84e9c7449dff04fb959e29207acd80 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Mon Apr 6 13:10:30 2015 -0700 Input: atmel_mxt_ts - split out touchpad initialisation logic If the "linux,gpio-keymap" DT property is defined, the T19 keys are configured and the device is setup as a touchpad rather than a touchscreen. The logic is part of the input device initialization routine but it can be factored out to its own function to simplify the former. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b23157dc74272ac8ebffd1a566e3e822dbc3e65f Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Mon Apr 6 11:25:13 2015 -0700 Input: atmel_mxt_ts - implement support for T100 touch object Add support for the new T100 object which replaces the previous T9 multitouch touchscreen object in recent maXTouch devices. T100 provides improved reporting with selectable auxiliary information, and a type field for hover/stylus/glove reporting. The hovering finger support was based on Chung-Yih's work in the ChromiumOS downstream kernel: https://chromium-review.googlesource.com/#/c/219280/ Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Acked-by: Yufeng Shen <miletus@xxxxxxxxxxxx> [javier: Factor out T9 and T100 init functions and rework hover support] Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ecf7b361a6bc1fd5441e4d6a3d7433abbe577064 Author: Stas Sergeev <stsp@xxxxxxx> Date: Wed Apr 1 19:23:29 2015 +0300 mvneta: dont call mvneta_adjust_link() manually mvneta_adjust_link() is a callback for of_phy_connect() and should not be called directly. The result of calling it directly is as below: Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f60e5990d9c1424af9dbca60a23ba2a1c7c1ce90 Author: hannes@xxxxxxxxxxxxxxxxxxx <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 17:07:44 2015 +0200 ipv6: protect skb->sk accesses from recursive dereference inside the stack We should not consult skb->sk for output decisions in xmit recursion levels > 0 in the stack. Otherwise local socket settings could influence the result of e.g. tunnel encapsulation process. ipv6 does not conform with this in three places: 1) ip6_fragment: we do consult ipv6_npinfo for frag_size 2) sk_mc_loop in ipv6 uses skb->sk and checks if we should loop the packet back to the local socket 3) ip6_skb_dst_mtu could query the settings from the user socket and force a wrong MTU Furthermore: In sk_mc_loop we could potentially land in WARN_ON(1) if we use a PF_PACKET socket ontop of an IPv6-backed vxlan device. Reuse xmit_recursion as we are currently only interested in protecting tunnel devices. Cc: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f34c4bc7e599bb895f77381c4d91ccc77635d68f Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Apr 7 03:06:06 2015 +0800 ASoC: Intel: read_shim_data() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5939d9dfe4406a49d8688eb827d88abcaf233c42 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Mar 10 22:27:27 2015 +0100 power: twl4030_madc_battery: Add missing MODULE_ALIAS Without MODULE_ALIAS twl4030_madc_battery won't get loaded automatically. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7e5e43893d24b44507f8239a07064596401820d8 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Mar 10 22:27:22 2015 +0100 power: twl4030-madc-battery: Convert to iio consumer. Because of added iio error handling private data allocation was converted to managed to simplify code. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Reviewed-By: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 95bf15f386417f3ba80bb860c1385b1ebfdcdffa Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Date: Fri Apr 3 13:39:31 2015 -0700 spi: fsl-dspi: Add ~50ns delay between cs and sck Add delay between chip select and clock signals, before clock starts and after clock stops. Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c1c14957afd3026dcbc2e7ca599e6d035c7d8e01 Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Date: Fri Apr 3 13:39:30 2015 -0700 spi: fsl-dspi: Add cs-sck delays Adding fsl,spi-cs-sck-delay and fsl,spi-sck-cs-delay properties to support delays before and after starting the clock in a transfer. Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e689d6df8257f92abf59e93736632b79c9b2aa66 Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Date: Fri Apr 3 13:39:29 2015 -0700 spi: fsl-dspi: Fix clock rate scale values Previous algorithm had an outer loop with the values {2,3,5,7} and an inner loop with {2,4,6,8,16,32,...,32768}, and would pick the first value over the required scaling value (where the total scale was the two numbers multiplied). Since the inner loop went up to 32768 it would always pick a value of 2 for PBR and a much higher than necessary value for BR. The desired scale factor was being divided by two I believe to compensate for the much higher scale factors (the divide by two not specified in the reference manual). Updated to check all values and find the smallest scale factor possible without going over the desired clock rate. Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ef30a406468a3eae007210ae0dc5ed8d5eb59b7d Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Apr 6 09:44:59 2015 -0700 Input: cros_ec_keyb - fix clearing keyboard state on wakeup As the comment right before explains, the keyboard state is to be cleared only if the EC wasn't a wakeup source in the last suspend. Without this commit, there's an unneeded delay when resuming from suspend and we also lose the key that was pressed while suspended. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0db739fa06f95a040313c4479e1940caeb48e92f Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Wed Mar 11 17:37:19 2015 -0700 dt: power: Add docs for generic SYSCON poweroff driver. Add documentation for generic SYSCON poweroff driver. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8a577608ba4a3cab1d74025cea382e40544ab9cd Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Wed Mar 11 17:37:18 2015 -0700 power: reset: Add generic SYSCON register mapped poweroff. Add a generic SYSCON register mapped poweroff mechanism. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b97169da06992ef04081e66ed22bbdb23dbf6610 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Apr 2 15:37:04 2015 +0800 ASoC: Intel: create atom folder and move atom platform files in Restructure the sound/soc/intel/ directory: create atom folder, and move sst atom platform files here. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 66a6fd9846f0aecdbab9324b792b319fd8e95e77 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Apr 2 15:37:03 2015 +0800 ASoC: Intel: create baytrail folder and move baytrail platform files in Restructure the sound/soc/intel/ directory: create baytrail folder, and move sst baytrail platform files here. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e56c72d5f201044b14191c5b83a25e17f2d68ccf Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Apr 2 15:37:02 2015 +0800 ASoC: Intel: create boards folder and move sst boards files in Restructure the sound/soc/intel/ directory: create boards folder, and move sst boards files here. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ba57f68235cf6e9105bf649b01cf9eafc321ea7b Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Apr 2 15:37:01 2015 +0800 ASoC: Intel: create haswell folder and move haswell platform files in Restructure the sound/soc/intel/ directory: create haswell folder, and move haswell platform files here. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Reviewed-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2106241a680397f6f49da796a4ce11eb5cf2698e Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Apr 2 15:37:00 2015 +0800 ASoC: Intel: create common folder and move common files in Restructure the sound/soc/intel/ directory: create common folder, and move sst common files here. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a54aecbd3ad08f6a5e9546a3602af7d88cc5a613 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Apr 6 09:23:30 2015 -0700 Input: gscps2 - drop pci_ids dependency This driver does not use any PCI IDs, don't include the pci_ids.h header. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 63c4fda3c0bb841b1aad1298fc7fe94058fc79f8 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Sun Apr 5 13:45:04 2015 -0700 Input: synaptics - allocate 3 slots to keep stability in image sensors When slowly dropping 1, 2 and then 3 fingers on an image sensor touchpad, we can see that the first finger gets reassigned a new slot while it did not move. This is due to the kernel tracking algorithm which can not assign correctly the 3 touches, being out of slots. Declaring that we support 3 slots allows to actually forward: slot 0 -> down, slot 1 -> up, slot 2 -> down Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Henrik Rydberg <rydberg@xxxxxxxxxxx Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 58fd9af6e1ccabec6bc799b32eea22a82103d5ae Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Sun Apr 5 13:44:12 2015 -0700 Input: Revert "Revert "synaptics - use dmax in input_mt_assign_slots"" This reverts commit 09d042a2eb90 ("Revert "Input: synaptics - use dmax in input_mt_assign_slots"") Now that balanced slots assignments seem to be fixed, let's re-enable the use in synaptics.c and wait for users to complain if there are still problems. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Henrik Rydberg <rydberg@xxxxxxxxxxx Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 73e8a8e777d8dde6a67df1cf4b18371e27d080d8 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Sun Apr 5 13:41:35 2015 -0700 Input: MT - make slot assignment work for overcovered solutions The recent inclusion of a deassignment cost in the slot assignment algorithm did not properly account for the corner cases where the solutions are overcovered. This change makes sure the resulting assignment is unique, allocating new slots when necessary. Signed-off-by: Henrik Rydberg <rydberg@xxxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c9bc3e8bf04225968f1cee34b50216263ed58000 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Apr 3 11:45:27 2015 +0300 spi: signedness bug in qspi_trigger_transfer_out_int() We need "ret" to be unsigned for the error handling to work. The signedness of "i" and "n" don't matter but qspi_set_send_trigger() returns an int so I've changed them to int as well. Fixes: 4b6fe3edcbba ('spi: Using Trigger number to transmit/receive data') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 158bf4ed7f686f92ea6c046c5d9d04afad92eb17 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 18:28:32 2015 +0100 ASoC: wm5102: Remove set of volume update bits for output 3R The earpiece on wm5102 is mono, thus there is no output 3R. Don't toggle the volume update bits for this output, although worth noting that doing so had no negative effects it is just redundant. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bbaeeaaf314aaf5e32e20070378bc14792ae3752 Author: Beomho Seo <beomho.seo@xxxxxxxxxxx> Date: Fri Apr 3 17:26:09 2015 +0900 power: max17042_battery: add missed blank This patch add missed blank line after decalations. Signed-off-by: Beomho Seo <beomho.seo@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 709c2c70c8ea73f488971f1de3c39fbdac995951 Author: Beomho Seo <beomho.seo@xxxxxxxxxxx> Date: Fri Apr 3 17:26:08 2015 +0900 power: max17042_battery: Use reg type instead of chip type Currently, max17042 battery driver choose register map by MAX17042_DevName register. But it is return IC specific firmware version. So other maxim chip hard to use this drvier. This patch choose chip type from driver_data. Signed-off-by: Beomho Seo <beomho.seo@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6ba94429c8e7b87b0fff13c5ac90731b239b77fa Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Thu Apr 2 19:14:39 2015 +0800 workqueue: Reorder sysfs code The sysfs code usually belongs to the botom of the file since it deals with high level objects. In the workqueue code it's misplaced and such that we'll need to work around functions references to allow the sysfs code to call APIs like apply_workqueue_attrs(). Lets move that block further in the file, almost the botom. And declare workqueue_sysfs_unregister() just before destroy_workqueue() which reference it. tj: Moved workqueue_sysfs_unregister() forward declaration where other forward declarations are. Suggested-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Mike Galbraith <bitbucket@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 69df353ff305805fc16082d0c5bfa6e20fa8b863 Author: Borislav Petkov <bp@xxxxxxx> Date: Sat Apr 4 23:07:42 2015 +0200 x86/alternatives: Guard NOPs optimization Take a look at the first instruction byte before optimizing the NOP - there might be something else there already, like the ALTERNATIVE_2() in rdtsc_barrier() which NOPs out on AMD even though we just patched in an MFENCE. This happens because the alternatives sees X86_FEATURE_MFENCE_RDTSC, AMD CPUs set it, we patch in the MFENCE and right afterwards it sees X86_FEATURE_LFENCE_RDTSC which AMD CPUs don't set and we blindly optimize the NOP. Checking whether at least the first byte is 0x90 prevents that. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428181662-18020-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fc3e958a2b552fe6210e6de3bebb4348156a0b5f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Sat Apr 4 20:55:19 2015 +0200 x86/asm/entry: Clear EXTRA_REGS for all executable formats On failure, sys_execve() does not clobber EXTRA_REGS, so we can just return to userpsace without saving/restoring them. On success, ELF_PLAT_INIT() in sys_execve() clears all these registers. On other executable formats: - binfmt_flat.c has similar FLAT_PLAT_INIT, but x86 (and everyone else except sh) doesn't define it. - binfmt_elf_fdpic.c has ELF_FDPIC_PLAT_INIT, but x86 (and most others) doesn't define it. - There are no such hooks in binfmt_aout.c et al. We inherit EXTRA_REGS from the prior executable. This inconsistency was not intended. This change removes SAVE/RESTORE_EXTRA_REGS in stub_execve, removes register clearing in ELF_PLAT_INIT(), and instead simply clears them on success in stub_execve. Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428173719-7637-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6a3713f001b3b53587e411ab0d3036ae9b0fb93b Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Sat Apr 4 08:58:23 2015 -0400 x86/signal: Remove pax argument from restore_sigcontext The 'pax' argument is unnecesary. Instead, store the RAX value directly in regs. This pattern goes all the way back to 2.1.106pre1, when restore_sigcontext() was changed to return an error code instead of EAX directly: https://git.kernel.org/cgit/linux/kernel/git/history/history.git/diff/arch/i386/kernel/signal.c?id=9a8f8b7ca3f319bd668298d447bdf32730e51174 In 2007 sigaltstack syscall support was added, where the return value of restore_sigcontext() was changed to carry the memory-copying failure code. But instead of putting 'ax' into regs->ax directly, it was carried in via a pointer and then returned, where the generic syscall return code copied it to regs->ax. So there was never any deeper reason for this suboptimal pattern, it was simply never noticed after being introduced. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428152303-17154-1-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 81a1209c90914cbf5639a2bc9a325d9821f89faa Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Feb 5 18:39:03 2015 +0200 mtd: spi-nor: Add support for Macronix mx25u6435f serial flash Add Macronix (mx25u6435f) 8MB flash to the list of supported chips. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e88e567f15a26fc62da8e4e0c56d5319b40f628b Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Feb 5 18:39:02 2015 +0200 mtd: spi-nor: Add support for Winbond w25q64dw serial flash Add Winbond (w25q64dw) 8MB flash to the list of supported chips. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 40d19ab69c79da373cdf561a444fbb9778a2ab7d Author: Gabor Juhos <juhosg@xxxxxxxxxxx> Date: Thu Mar 26 23:58:02 2015 +0100 mtd: spi-nor: add support for the Winbond W25X05 flash Signed-off-by: Gabor Juhos <juhosg@xxxxxxxxxxx> Signed-off-by: Luka Perkov <luka@xxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 072b56ab86d2bb2eb6aea4a810cebfa9f105b732 Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Date: Fri Mar 27 17:38:30 2015 +0800 mtd: spi-nor: support en25s64 device Add support for EON en25s64 SPI flash. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1103b8517041b08286cae0da8481bef9164c961a Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Mar 27 10:29:50 2015 -0700 mtd: m25p80: bind to "nor-jedec" ID, for auto-detection Use the new 'nor-jedec' binding to provide automatic detection of flash that use the 0x9F READ ID opcode. This can help for use cases where platforms just specify compatibility with "m25p80", and then see messages like this: m25p80 spi32766.0: found s25fl256s1, expected m25p80 Instead, they can just specify the generic string and see this: m25p80 spi32766.0: s25fl256s1 (32768 Kbytes) Also, update the language about m25p_ids[] to straighten out the expectations here. We should no longer need to continuously grow the m25p_ids[] table, and in fact, we might want to start removing entries which are not used in device trees so far, so we can just default to auto-detection as much as possible in the future. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> commit 8ff16cf77ce314c20d7bd57c788f5b7719b450e1 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Mar 27 10:29:49 2015 -0700 Documentation: devicetree: m25p80: add "nor-jedec" binding Almost all flash that are "compatible" with m25p80 support the JEDEC READ ID opcode (0x9F), and in fact, that is often the only thing that is used to differentiate them. Let's add a compatible string that represents this lowest common denominator of compatibility. Device trees can still specify manufacturer/device names in addition, but (until some reason is found to differentiate between them through device tree) software will likely want to bind just against the generic name, and avoid unnecessarily growing its device ID binding tables. This is related to the work of commit a5b7616c55e1 ("mtd: m25p80,spi-nor: Fix module aliases for m25p80"), which showed that maintaining these device tables as stable device-tree/modalias binding tables is not a worthwhile burden for mostly-comptatible flash. At the same time, let's update the binding doc to point to the m25p_ids[] ID list instead of spi_nor_ids[]. The former can be used for device tree bindings, but the latter cannot. In the future, we should pare down the m25p_ids[] list to only those IDs which are actually used in device trees. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> commit 2a6a28e7922c07c116ba8f2aa3682c03ef8be678 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Mar 29 21:52:06 2015 +0200 mtd: Make MTD tests cancelable I always go nuts when I start an MTD test on a slow device and have to wait forever until it finishes. From the debug output I already know what the issue is but I have to wait or reset the board hard. Resetting is often not an option (remote access, you don't want lose the current state, etc...). The solution is easy, check for pending signals at key positions in the code. Using that one can even stop a test by pressing CTRL-C as insmod/modprobe have SIGINT pending. Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d2b51c808745ca93c020ba34a3cf256ad52adc63 Author: Roger Quadros <rogerq@xxxxxx> Date: Fri Dec 5 17:18:39 2014 +0200 mtd: mtd_oobtest: Fix bitflip_limit usage in test case 3 In test case 3, we set vary_offset to write at different offsets and lengths in the OOB available area. We need to do the bitflip_limit check while checking for 0xff outside the OOB offset + length area that we didn't modify during write. Signed-off-by: Roger Quadros <rogerq@xxxxxx> [Brian: whitespace fixup] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 45fd357a491ecc56c0f9bb110bd05d9caf28889f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Mar 31 09:53:37 2015 -0700 mtd: docg3: remove invalid __exit annotations The .remove callback may be used when detaching a device via sysfs, so we can't expect to free up this memory. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 95d706657311f24407d0f7a0cf79b55904ec6524 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Mar 13 07:23:47 2015 -0400 mtd: fsl_ifc_nand: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var) which helps readability and also handles all corner-cases properly. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 41c7540d0c4e362212845aa2258c15aaa878665f Author: Wu, Josh <Josh.wu@xxxxxxxxx> Date: Thu Apr 2 14:13:47 2015 +0800 mtd: atmel_nand: don't map the ROM table if no pmecc table offset in DT if atmel,pmecc-lookup-table-offset is not found in DT node, we don't need to map the ROM table as we will build a runtime gf table anyway. Reported-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 477478aedc8bdf1925785835609bc7e790f69aef Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Apr 2 14:12:33 2015 +0800 mtd: atmel_nand: add a definition for the oob reserved bytes It's better to use a macro instead of just a number. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3a434f66e6dab645d74a59c95651cdbe16497a50 Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Thu Apr 2 15:15:12 2015 -0700 mtd: part: Remove partition overlap checks This patch makes MTD dynamic partitioning more flexible by removing overlap checks for dynamic partitions. I don't see any particular reason why overlapping dynamic partitions should be prohibited while static partitions are allowed to overlap freely. The checks previously had an off-by-one error, where 'end' should be one less than what it is currently set at, and adding partitions out of increasing order will fail. Disabling the checks resolves this issue. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a62c24d75529118d10c45350c3b75715d52ff574 Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Thu Apr 2 15:15:11 2015 -0700 mtd: part: Add sysfs variable for offset of partition This patch makes a sysfs variable called 'offset' on each partition which contains the offset in bytes from the beginning of the master device that the partition starts. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 727dc612c46b8f3858537ea23805b3e897cf127e Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Thu Apr 2 15:15:10 2015 -0700 mtd: part: Create the master device node when partitioned For many use cases, it helps to have a device node for the entire MTD device as well as device nodes for the individual partitions. For example, this allows querying the entire device's properties. A common idiom is to create an additional partition which spans over the whole device. This patch makes a config option, CONFIG_MTD_PARTITIONED_MASTER, which makes the master partition present even when the device is partitioned. This isn't turned on by default since it presents a backwards-incompatible device numbering. The patch also makes the parent of a partition device be the master, if the config flag is set, now that the master is a full device. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5df848f37b1d20e5dd64bea16ba9f69ed321e11b Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Apr 5 14:06:36 2015 +0200 NFC: pn533: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9421ce10ad87f799263bddad74b91e2166f020a1 Author: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Date: Mon Apr 6 00:58:51 2015 +0200 NFC: nxp-nci: Release firmware when switching to FW mode fails In that case, the firmware work will never be scheduled, will never complete and thus the firmware will never be released. Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2b591257d97550e575f761e83c607d99b0f86899 Author: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Date: Mon Apr 6 00:51:17 2015 +0200 NFC: nxp-nxi: Remove useless fw pointer check It request_firmware returns 0, the request succeeded and the firmware pointer is valid. No need to check for it. Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9dbe776338e7f97483452cc00adf0d527d6900dd Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:23 2015 +0200 nfc: st21nfca: Add additional comments about EVT_TRANSACTION Add comments about HCI EVT_TRANSACTION in order to make the code understandable by other readers. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1dab57f0ed753ddef07a8aa987d490c74884ff18 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:22 2015 +0200 nfc: st21nfcb: Add additional comments about EVT_TRANSACTION Add comments about HCI EVT_TRANSACTION in order to make the code understandable by other readers. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1f74f323e2c30b7fd53f6ad16c1990f2c80bbfc0 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:21 2015 +0200 nfc: nci: Add comment to explain NCI_HCI_MAX_PIPES According to specification etsi 102 622 chapter 4.4 pipes identifier is 7 bits long giving a 127 possible pipes value. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 05db6e94fe7f63e10df94bd628a033b2ecb0bf7b Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:20 2015 +0200 nfc: st21nfcb: Add missing break statement in switch section Add missing break statement when ST21NFCB_EVT_TRANSACTION switch section ends. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0fc4a1291aeef338593e44e5396559df27f0bfdf Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:19 2015 +0200 nfc: Reduce nfc_evt_transaction params length to 0 According to etsi 102 622 chapter 11.2.2.4 EVT_TRANSACTION, the nfc_evt_transaction parameters can be 0 up to 255 byte long. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0b040964a01ccfd880207ddc498e55e6c990a5d5 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:18 2015 +0200 nfc: hci: Add comment to explain NFC_HCI_MAX_PIPES According to specification etsi 102 622 chapter 4.4 pipes identifier is 7 bits long giving a 127 possible pipes value. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a8f686ec1041bd704748a2d919cea9652e8e943e Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:17 2015 +0200 NFC: st21nfca: Change st21nfca_get_iso14443_3_uid parameter name st21nfca_get_iso14443_3_uid gate parameter name is incorrect and should be uid. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9906a88df224bc2b8be50fdb14df5eda0936fe34 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:16 2015 +0200 NFC: st21nfca: fix st21nfca_get_iso14443_3_uid data copy st21nfca_get_iso14443_3_uid() does not correctly copy the uid from uid_skb->data to its gate parameter. "gate = uid_skb->data;" only puts a pointer to uid_skb->data to the local variable gate. This means that in st21nfca_hci_target_from_gate() the content of "u8 uid[NFC_NFCID1_MAXSIZE]" local variable is never initialized before being used in memcpy(target->nfcid1, uid, len). Fix this by replacing the local variable assignment with a memcpy. This was found by compiling Linux with "gcc -Wunused-but-set-parameter". Acked-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d4a41d10b2cb5890aeda6b2912973b2a754b05b1 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:15 2015 +0200 NFC: st21nfcb: Retry i2c_master_send if it returns a negative value i2c_master_send may return many negative values different than -EREMOTEIO. In case an i2c transaction is NACK'ed, on raspberry pi B+ kernel 3.18, -EIO is generated instead. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2ca21002798a1a88196a90f407b80df3a25c69dc Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:14 2015 +0200 NFC: st21nfcb: Fix memory leak in secure element probing stage In case the hci session is successfully initialized we never release the nci_core_conn_create dest_params. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b832da56024b33e6c7f06f766c59d90e4f377a9b Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Apr 5 14:06:29 2015 +0200 HID: logitech-hidpp: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7ab7ef741a467e7af50c9b7446ec992bec9ea6a7 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 14:17:48 2015 +0100 clocksource: atmel-st: select MFD_SYSCON Enforce MFD_SYSCON selection as the driver needs it. Else, it will still compile with some warning about X1, x2 or sr being used uninitialized. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 2e57dc087c27b8b0bd4a9e5f2c6f28f3cd0b47ff Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 23:44:38 2015 +0100 ARM: at91/pm: move AT91_MEMCTRL_* to pm.h the AT91_MEMCTRL_* defines are only used by the pm code, move them to pm.h Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit a18d0699dd18ba5661c321ebd67e6056656b6765 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 23:44:37 2015 +0100 ARM: at91/pm: move the standby functions to pm.c The standby functions are now only used in pm.c, move them there. Also, they are not inlined as a pointer to those functions is passed to the cpuidle driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 176a1b3dadf08835b9435bed4957daa066702a39 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 21:14:40 2015 +0100 ARM: at91: fix pm_suspend.S compilation when ARMv6 is selected When compiling for multiplatform for both ARMv6 and ARMv7, the default compiler flags are for ARMv6, and results in: arch/arm/mach-at91/pm_suspend.S:144: Error: selected processor does not support ARM mode `dsb' Enforce ARMv7 flags for pm_suspend.o when CPU_V7 is selected. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit f32c1c1b46c2bd5fda77b49e28b9f9329cd830d1 Author: Michael Gernoth <michael@xxxxxxxxxxx> Date: Sat Mar 28 19:20:35 2015 +0100 ALSA: emu10k1: add Audigy 5/Rx The Audigy 5/Rx is essentially an Audigy 4 behind a PLX PCIe- bridge with an additional TOSLINK output. Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 58d8a3be36cf0fe2eb2609e205bb07a141c29a7c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 3 17:30:31 2015 -0700 Input: alps - document stick behavior for protocol V2 Document that protocol V2 uses standard (bare) PS/2 mouse packets for the DualPoint stick. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-By: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e3a79212eae6eb64ed68c78409778f8d1a84c2a1 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 3 17:20:05 2015 -0700 Input: alps - report V2 Dualpoint Stick events via the right evdev node On V2 devices the DualPoint Stick reports bare packets, these should be reported via the "AlpsPS/2 ALPS DualPoint Stick" dev2 evdev node, which also has the INPUT_PROP_POINTING_STICK propbit set. Note that since there is no way to distinguish these packets from an external PS/2 mouse (insofar as these laptops have an external PS/2 port) this means that we will be reporting PS/2 mouse events via this evdev node too, as we've been doing in kernel 3.19 and older. This has been tested on a Dell Latitude D620 and a Dell Latitude E6400, which both have a V2 touchpad + a DualPoint Stick which reports bare packets. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 59c30afbd37c26168597e737297a1de68848c332 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 3 17:14:40 2015 -0700 Input: alps - report interleaved bare PS/2 packets via dev3 Bare packets should be reported via the same evdev device independent on whether they are detected on the beginning of a packet or in the middle of a packet. This has been tested on a Dell Latitude E6400, where the DualPoint Stick reports bare packets, which get reported via dev3 when the touchpad is idle, and via dev2 when the touchpad and stick are used simultaneously. This commit fixes this inconsistency by always reporting bare packets via dev3. Note that since the come from a DualPoint Stick they really should be reported via dev2, this gets fixed in a later commit. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f9541f8239a5765595543b021b2dce6a8d6653ab Author: Amaury.Bouchra.Pilet@xxxxxx <Amaury.Bouchra.Pilet@xxxxxx> Date: Sun Apr 5 00:58:16 2015 +0200 staging: lustre: orthography & coding style Orthography and coding style corrections. Signed-off-by: Amaury Bouchra Pilet <Amaury.Bouchra.Pilet@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a18ac314ebff427b972a0bb5ddfc205b8145e04e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Apr 5 14:06:35 2015 +0200 staging: lustre: lnet: lnet: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b183c11217e10c274720795daed5703c2186a459 Author: Tal Shorer <tal.shorer@xxxxxxxxx> Date: Sun Apr 5 13:54:09 2015 +0300 staging: lustre: fix sparse warning Sparse reports: drivers/staging/lustre/lustre/obdclass/obd_mount.c:1284:6: warning: symbol 'lustre_kill_super' was not declared. Should it be static? Fix this warning by making lustre_kill_super static. It is not used outside this file. Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 646cb6dae4994eb332ddf7376520eed255c5a8b4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Apr 5 14:06:33 2015 +0200 ALSA: au1x00: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: Takashi Iwai <tiwai@xxxxxxx> commit fa3f70d62844bd91880ea634c06b46585fefd74b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Mar 25 23:15:32 2015 -0700 hwmon: (it87) Add support for 6th fan of IT8620E IT8620E supports up to 6 fan tachometers. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 3ba9d977a9b8a90c586f46444448d977bdbdcc3b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 13 20:13:20 2015 -0800 hwmon: (it87) Add support for IT8620E IT8620E is mostly compatible to IT7828F. Add generic support for it. IT8620E supports up to 6 fan tachometers and 6 pwm controls. Support for the 6th tachometer and for the additional pwm controls are addded in separate patches. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 4ee07157d690b1b824328a473816a371130de6f2 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Mar 25 23:26:28 2015 -0700 hwmon: (it87) Add support for IT8790E IT8790E is a super-IO chip with three fan tachometers. It is mostly compatible to IT8728F, but only supports three fan tachometers instead of five. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 7f5726c39ad469447545233f41a13d202a233d6b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 08:49:18 2015 -0700 hwmon: (it87) Introduce feature flag to reflect internal in7 sensor On some chips, in7 is always an internal voltage sensor. Introduce feature flag to reflect this condition to simplify adding support for new chips. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit faf392fb843007ade20720f18920f8444660cd8b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 08:36:18 2015 -0700 hwmon: (it87) Introduce configuration field for chip suffix ITE chips may have 'E', 'F', or both 'E' and 'F' suffixes. Introduce suffic configuration to the it87_devices structure to simplify adding new chips. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit f56c9c0aa66034b0de4f6fdeb0d41d38cdbb6dc1 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 20:01:24 2015 -0700 hwmon: (it87) Fix PWM frequency display for chips with newer PWM control On chips with newer PWM control, the PWM frequency divider is 256 instead of 128. Since the base PWM frequency remained the same, the actual PWM frequency is half of what it used to be with the older PWM control mechanism. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 265ef3ee9575e6d150f485d28dbe153a50d27f4c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Apr 5 14:06:26 2015 +0200 HSI: cmt_speech: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: Sebastian Reichel <sre@xxxxxxxxxx> commit eab0fbfa41040f4f76b173cad17c0c8ed40cba33 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Apr 4 13:38:25 2015 -0700 ALSA: Use const struct ac97_quirk Use const to reduce data by ~3Kb. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f8b3d8a5af7559a58613384cd23fc03a3c787acf Merge: 8eb6dcf d3a3d28 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 12:26:28 2015 -0700 Merge tag 'usb-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are some small USB fixes and new device ids for 4.0-rc6. Nothing major, some xhci fixes for reported problems, and some usb-serial device ids. All have been in linux-next for a while" * tag 'usb-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: USB: ftdi_sio: Use jtag quirk for SNAP Connect E10 usb: isp1760: fix spin unlock in the error path of isp1760_udc_start usb: xhci: apply XHCI_AVOID_BEI quirk to all Intel xHCI controllers usb: xhci: handle Config Error Change (CEC) in xhci driver USB: keyspan_pda: add new device id USB: ftdi_sio: Added custom PID for Synapse Wireless product commit 5888b93b750609680735d6b8b737703083ef40ff Merge: b81b7be b85c3dc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Apr 4 15:23:15 2015 -0400 Merge branch 'nf-hook-compress' netfilter: Compress hook function signatures. Currently netfilter hooks have a function signature that is huge and has many arguments. This propagates from the hook entry points down into the individual hook implementations themselves. This means that if, for example, we want to change the type of one of these arguments then we have to touch hundreds of locations. The main initial motivation behind this is that we'd like to change the signature of "okfn" so that a socket pointer can be passed in (and reference counted properly) for the sake of using the proper socket context in the case of tunnels whilst not releasing the top level user socket from skb->sk (and thus releasing it's socket memory quota usage) in order to accomodate this. This also makes it clear who actually uses 'okfn', nf_queue(). It is absolutely critical to make this obvious because any user of 'okfn' down in these hook chains have the be strictly audited for escapability. Specifically, escapability of references to objects outside of the packet processing path. And that's exactly what nf_queue() does via it's packet reinjection framework. In fact this points out a bug in Jiri's original attempt to push the socket pointer down through netfilter's okfn. It didn't grab and drop a reference to the socket in net/netfilter/nf_queue.c as needed. Furthermore, so many code paths are simplified, and should in fact be more efficient because we aren't passing in arguments that often are simply not used by the netfilter hook at all. Further simplifications are probably possible, but this series takes care of the main cases. Unfortunately I couldn't convert ebt_do_table() because ebtables is complete and utter crap and uses ebt_do_table() outside of the hook call chains. But that should not be news to anyone. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8eb6dcf9d2b15bb1ac066d378e503f79efcbe65c Merge: eca8258 dce5bdf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 12:22:31 2015 -0700 Merge tag 'staging-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver fixes from Greg KH: "Here are some staging driver fixes, well, really all just IIO driver fixes, for 4.0-rc6. They fix issues that have been reported with these drivers. All of these patches have been in linux-next for a while" * tag 'staging-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: iio: imu: Use iio_trigger_get for indio_dev->trig assignment iio: adc: vf610: use ADC clock within specification iio/adc/cc10001_adc.c: Fix !HAS_IOMEM build iio: core: Fix double free. iio:inv-mpu6050: Fix inconsistency for the scale channel staging: iio: dummy: Fix undefined symbol build error iio: inv_mpu6050: Clear timestamps fifo while resetting hardware fifo staging: iio: hmc5843: Set iio name property in sysfs iio: bmc150: change sampling frequency iio: fix drivers that check buffer->scan_mask commit eca8258be3e60c88383aa439751d3e2069b56241 Merge: 1cced50 8e4934c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 12:11:57 2015 -0700 Merge tag 'tty-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial fixes from Greg KH: "Here are 3 serial driver fixes for 4.0-rc6. They fix some reported issues with the samsung and fsl_lpuart drivers. All have been in linux-next for a while" * tag 'tty-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: tty: serial: fsl_lpuart: clear receive flag on FIFO flush tty: serial: fsl_lpuart: specify transmit FIFO size serial: samsung: Clear operation mode on UART shutdown commit b85c3dc9bd5347ad9540ec8d103b7c049c48b7cd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 21:18:46 2015 -0400 netfilter: Pass nf_hook_state through arpt_do_table(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 073bfd56860446a2cb349bcf282fc17a36ca386c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 21:16:25 2015 -0400 netfilter: Pass nf_hook_state through nft_set_pktinfo*(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f8a37152df49d541c43f010543f2b0176fcfb8e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 21:09:51 2015 -0400 netfilter: Pass nf_hook_state through ip6t_do_table(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fe22382d1e73dc0ded8098ccf761c986149f72b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 21:05:07 2015 -0400 netfilter: Pass nf_hook_state through nf_nat_ipv6_{in,out,fn,local_fn}(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c491ba2592f621f21a693d43fab06302527fc0f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 20:56:08 2015 -0400 netfilter: Pass nf_hook_state through ipt_do_table(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7cf4081ed454dba02cb632e492ecf5e29d1ee44 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 20:51:13 2015 -0400 netfilter: Pass nf_hook_state through nf_nat_ipv4_{in,out,fn,local_fn}(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 238e54c9cb9385a1ba99e92801f3615a2fb398b6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 20:32:56 2015 -0400 netfilter: Make nf_hookfn use nf_hook_state. Pass the nf_hook_state all the way down into the hook functions themselves. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d1de89b9a4746f1dd055a3b8d073dd2f962a3b6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 16:31:01 2015 -0400 netfilter: Use nf_hook_state in nf_queue_entry. That way we don't have to reinstantiate another nf_hook_state on the stack of the nf_reinject() path. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cfdfab314647b1755afedc33ab66f3f247e161ae Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 16:23:58 2015 -0400 netfilter: Create and use nf_hook_state. Instead of passing a large number of arguments down into the nf_hook() entry points, create a structure which carries this state down through the hook processing layers. This makes is so that if we want to change the types or signatures of any of these pieces of state, there are less places that need to be changed. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbe4058a6a44af4ca5d146aebe01b0a1f9b7fd2a Author: Borislav Petkov <bp@xxxxxxx> Date: Sat Apr 4 15:34:43 2015 +0200 x86/alternatives: Fix ALTERNATIVE_2 padding generation properly Quentin caught a corner case with the generation of instruction padding in the ALTERNATIVE_2 macro: if len(orig_insn) < len(alt1) < len(alt2), then not enough padding gets added and that is not good(tm) as we could overwrite the beginning of the next instruction. Luckily, at the time of this writing, we don't have ALTERNATIVE_2() invocations which have that problem and even if we did, a simple fix would be to prepend the instructions with enough prefixes so that that corner case doesn't happen. However, best it would be if we fixed it properly. See below for a simple, abstracted example of what we're doing. So what we ended up doing is, we compute the max(len(alt1), len(alt2)) - len(orig_insn) and feed that value to the .skip gas directive. The max() cannot have conditionals due to gas limitations, thus the fancy integer math. With this patch, all ALTERNATIVE_2 sites get padded correctly; generating obscure test cases pass too: #define alt_max_short(a, b) ((a) ^ (((a) ^ (b)) & -(-((a) < (b))))) #define gen_skip(orig, alt1, alt2, marker) \ .skip -((alt_max_short(alt1, alt2) - (orig)) > 0) * \ (alt_max_short(alt1, alt2) - (orig)),marker .pushsection .text, "ax" .globl main main: gen_skip(1, 2, 4, 0x09) gen_skip(4, 1, 2, 0x10) ... .popsection Thanks to Quentin for catching it and double-checking the fix! Reported-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150404133443.GE21152@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c8a329c777f5a38e39b25425d29b2e37cbb06614 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Mon Mar 30 15:49:26 2015 +0200 doc: Add guest_nice column to example output of `cat /proc/stat' Commit ce0e7b28fb75cb00 ("sched, cpuacct: Fix niced guest time accounting") added the guest_nice column to /proc/stat, but the example output of `cat /proc/stat' in Documentation/filesystems/proc.txt wasn't updated accordingly. Do so now. Cc: Ryota Ozaki <ozaki.ryota@xxxxxxxxx> Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit f29ba61d0abad6ad0beed5237cd337b5e25adad7 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Mar 27 16:15:18 2015 +0100 Documentation/kernel-parameters: Move "eagerfpu" to its right place We're at least trying to be alphabetically sorted. So move "eagerfpu=" in the vicinity of where it belongs at least. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit cfc507648c2c9060aeba0d1a41bb5e5985f16636 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Apr 1 11:13:16 2015 +0300 Documentation: gpio: Update ACPI part of the document to mention _DSD With ACPI 5.1 _DSD (Device Specific Data) it is now possible to name functions just like Device Tree is doing. Make sure that the documentation mentions _DSD as the recommended way to describe GPIOs in ACPI systems. Reported-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 7085f6c354e1d0b1cc6efafc1389dc63f8b0699a Author: Jonathan Corbet <corbet@xxxxxxx> Date: Fri Mar 27 10:16:35 2015 -0600 docs/completion.txt: Various tweaks and corrections Mostly language improvements to the new completions.txt document, but there is also a semantic correction in the description of completion_done() at the very end. Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 4988aaa6e508614e5d4c4f08723635fc8191188b Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 20 12:28:48 2015 -0500 doc: completion: context, scope and language fixes Fix for imprecise/wrong statements on context in which wait_for_completion*() can be called, updated notes on "going out of scope" problems and some language fixups. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 4997166a393851d0595f85cbe1195208d582e172 Author: Fu Wei <wefu@xxxxxxxxxx> Date: Tue Mar 24 00:43:17 2015 +0800 Documentation:Update Documentation/zh_CN/arm64/memory.txt This is a update of Chinese documentation:Documentation/zh_CN/arm64/memory.txt It is based on the modifications of Documentation/arm64/memory.txt in submission: "08375198", "4edae01e", "a24637d5", "383c2799". Signed-off-by: Fu Wei <wefu@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 89098bfcf5944e4aab98c83de3cf4c0d802e8d3f Author: Fu Wei <wefu@xxxxxxxxxx> Date: Tue Mar 24 17:37:19 2015 +0800 Documentation:Update Documentation/zh_CN/arm64/booting.txt This is a update of Chinese documentation: Documentation/zh_CN/arm64/booting.txt It is based on the modifications of Documentation/arm64/booting.txt in submission: "a2c1d73b", "cdd78578", "c218bca7", "63f8344c". Signed-off-by: Fu Wei <wefu@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 007c33bb9c8ee4ca7a7f0003a4529ad7df0c9e5c Author: Fu Wei <wefu@xxxxxxxxxx> Date: Thu Mar 26 17:49:25 2015 +0800 Documentation: Chinese translation of arm64/legacy_instructions.txt This is a Chinese translated version of Documentation/arm64/legacy_instructions.txt It is based on the modifications of Documentation/arm64/legacy_instructions.txt in submission: "587064b6", "bd35a4ad", "2d888f48", "c852f320". Signed-off-by: Fu Wei <wefu@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 751e2216899cb143fe1d5909fe762870faa945f6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Apr 2 16:51:43 2015 +0530 ALSA: hda: fix possible null dereference we are dereferencing pcm first then checking pcm. instead now lets put them in same if condition so that pcm is checked first. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9fc88ad6fd86ff6ce979105c633c58cc3980129c Author: Eric Wong <normalperson@xxxxxxxx> Date: Tue Mar 31 07:34:05 2015 +0000 ALSA: usb-audio: don't try to get Benchmark DAC1 sample rate Adding this quirk allows us to avoid the noisy "cannot get freq at ep 0x1" message in dmesg output every time playback starts. This ought to affect other Benchmark DAC1 variations using the same "Microchip Technology, Inc." chip as well, but I have only tested with the "Pre" variant. Signed-off-by: Eric Wong <normalperson@xxxxxxxx> Cc: Joe Turner <joe@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7081adf3f98f4c39dc6758208775b2aa48f51f8a Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Mon Mar 30 17:05:37 2015 +0800 ALSA: hda/realtek - Support Dell headset mode for ALC256 Dell new platform of ALC256 audio codec. Support headset mode for Dell ALC256 platform. Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 382fd7becc409be9cc18dea8e3d53f6d184f9a5c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Apr 4 12:24:00 2015 +0200 ALSA: hda - Enable widget power saving for Realtek codecs Recent Realtek codecs support the finer power state control on each widget. Let's enable the new feature. Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d545a57c5f84c01b50187177921e232a450858c7 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Apr 4 12:17:28 2015 +0200 ALSA: hda - Sync node attributes at resume from widget power saving So far we assumed that the node attributes like amp values remain during the power state transition of the node itself. While this is true for IDT/STAC codecs I've tested, but some other codecs don't seem behaving in that way. This patch implements a partial sync mechanism specific to the given widget node. Now we've merged the regmap support, and it can be easily written with regcache_sync_region(). Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 664bc5c55923712a8aabd2a390ed7477325e32df Merge: ffda568 9d82f92 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Apr 4 12:15:32 2015 +0200 Merge branch 'topic/hda-regmap' into for-next This merges the support of regmap in HD-audio infrastructure. Many in-house cache codes in HD-audio driver are relaced with the more standard regmap base now. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ffda568e8b4979c6a04bbdd92acfd93b5dc5e163 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Apr 1 12:43:00 2015 +0200 ALSA: hda - Fix subsystem ID read regression A regression was introduced in 7639a06c23c7d4cda3: if AC_PAR_SUBSYSTEM_ID reads as zero, one should retry using AC_VERB_GET_SUBSYSTEM_ID. This seems to hit many codecs (my own laptop included), and causes quirks for some machines not to apply correctly. Reported-by: TienFu Chen <tienfu.chen@xxxxxxxxxxxxx> Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 97498bb5764b8ddb3e14f7699c50e6bacbc4581c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 12:00:25 2015 +0200 Revert "Staging: sm750fb: Fix C99 Comments" This reverts commit 6ad6b5ed3e2472b399b567a2f036006bf25df467. It added a file that should not be in the kernel source tree. Cc: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38c8af60046edab4c9db5f26e79746b1bd52c837 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Apr 3 13:23:12 2015 -0700 Bluetooth: Fix location of TX power field in LE advertising data The TX power field in the LE advertising data should be placed last since it needs to be possible to enable kernel controlled TX power, but still allow for userspace provided flags field. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit fd6413d882304ca66d99199db1561382e18396e4 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Apr 3 11:02:10 2015 -0700 Bluetooth: hidp: Use BIT(x) instead of (1 << x) Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b2ddeb11738464ce8f75c15384a3b8132cb80357 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Apr 3 11:02:09 2015 -0700 Bluetooth: cmtp: Use BIT(x) instead of (1 << x) Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 61125591e1de23992279938eebf8c54f47d7e0a9 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Mar 27 09:32:06 2015 -0700 mfd: tc3589x: enforce device-tree only mode All systems using the TC3589x multifunction expander uses devicetree, so don't clutter the place with a lot of and assume it is there. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8b6f53c2f6d3d04c077e74fdb07130242a2d6f58 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Mar 27 09:28:16 2015 -0700 Input: tc3589x - localize platform data This driver can only get its platform data from the device tree, and all platforms using it do that. Localize the platform data for the keypad. A later patch will enforce the device tree / OF dependence. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7cef9875f304d10fff18c2625ebd8a5bd748ce8b Merge: f83255c bd0d888 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 15:05:41 2015 -0700 Merge tag 'samsung-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc Merge "Samsung mach updates for v4.1" from Kukjin Kim: - for s3c64xx : use fixed IRQ bases to avoid conflicts on Cragganmore - for exynos3250 : add cpuidle and AFTR mode support : fix CPU1 hotplug - for exynos SoCs : add code for setting/clearing boot flag for cpuidle AFTR : remove left over 'extra_save' and constify 'exynos_pm_data' array : use static in suspend.c as per compiler suggestions : use platform device name as power domain name : add support for async-bridge clocks for pm_domains (exynos5420) * tag 'samsung-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: allow cpuidle driver usage on Exynos3250 SoC ARM: EXYNOS: add AFTR mode support for Exynos3250 ARM: EXYNOS: add code for setting/clearing boot flag ARM: EXYNOS: fix CPU1 hotplug on Exynos3250 ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore ARM: EXYNOS: Remove left over 'extra_save' ARM: EXYNOS: Constify exynos_pm_data array ARM: EXYNOS: use static in suspend.c ARM: EXYNOS: Use platform device name as power domain name ARM: EXYNOS: add support for async-bridge clocks for pm_domains Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fb0d305dcb05f2ab11d77e900362811019b4983b Merge: 4b3be93 f27b907 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:59:52 2015 -0700 Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Merge "Samsung DT updates for v4.1" from Kukjin Kim: - for exynos3250 : add assigned clock parents for CMU nodes - for exynos4412-odroid : add eMMC reset line - for exynos5250 : fixed typo for interrupt-cells - for exynos5250-snow : define stdout-path property : represent bridge and panel connection : enable wifi power-on and add cap-sdio-irq to wifi mmc node - for exynos5250-spring : define stdout-path property - for exynos5420 : fixed typo for interrupt-cells : add async-bridge clocks for gsc and disp1 PDs - for exynos5420 boards : Mux XMMCnDATA[0] pad correctly - for exynos5420-odroidxu3 : add eMMC reset line - for Peach boards : add HS400 support and define stdout-path property : add mclk entry and add WiFi module support : represent bridge and panel connection * tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Fixed typo interrupt-cells for exynos5420 and exynos5250 ARM: dts: Add HS400 support for exynos5420 and exynos5800 ARM: dts: add async-bridge clocks to gsc power domain for exynos5420 ARM: dts: add async-bridge clocks to disp1 power domain for exynos5420 dt-bindings: add asynchronous bridge clock for exynos ARM: dts: Define stdout-path property for exynos5250-spring ARM: dts: Define stdout-path property for exynos5250-snow ARM: dts: Define stdout-path property for Peach boards ARM: dts: Add assigned clock parents to CMU node for exynos3250 ARM: dts: Add mclk entry for Peach boards ARM: dts: Add WiFi module support for Peach boards ARM: dts: Mux XMMCnDATA[0] pad correctly for Exynos5420 boards ARM: dts: add eMMC reset line for exynos5422-odroidxu3 ARM: dts: add eMMC reset line for exynos4412-odroid-common ARM: dts: represent bridge and panel connection for exynos5420-peach-pit ARM: dts: represent bridge and panel connection for exynos5250-snow ARM: dts: Add cap-sdio-irq to wifi mmc node for exynos5250-snow ARM: dts: Enable wifi power-on for exynos5250-snow Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1cced5015b171415169d938fb179c44fe060dc15 Merge: 57a9d89 3309677 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 14:58:48 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input subsystem fixes from Dmitry Torokhov: "A fix for ALPS driver for issue introduced in the latest update and a tweak for yet another Lenovo box in Synaptics. There will be more ALPS tweaks coming.." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: define INPUT_PROP_ACCELEROMETER behavior Input: synaptics - fix min-max quirk value for E440 Input: synaptics - add quirk for Thinkpad E440 Input: ALPS - fix max coordinates for v5 and v7 protocols Input: add MT_TOOL_PALM commit d66e8d2e3c03bd380f23b29699d1991b1f064f22 Merge: d8ea264 bb84296 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:57:51 2015 -0700 Merge tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/defconfig Merge "Samsung defconfig updates for v4.1" from Kukjin Kim: - update exynos-defconfig : enable HDMI, CPUidle, ChromeOS EC chardev driver and thermal emulation, Marvell WiFi-Ex, CPUfreq, and support for NFS rootfs : remove EXYNOS_THERMAL_CORE define and disable IOMMU support until support it * tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: exynos_defconfig: Enable HDMI support ARM: exynos_defconfig: Enable options to mount a rootfs via NFS ARM: exynos_defconfig: Enable ChromeOS EC chardev driver ARM: exynos_defconfig: Enable CPU idle ARM: exynos_defconfig: Enable Marvell WiFi-Ex support ARM: exynos_defconfig: Disable IOMMU support ARM: exynos_defconfig: Enable support for cpufreq on Exynos SoCs ARM: exynos_defconfig: Enable thermal emulation for Exynos TMU ARM: exynos_defconfig: Remove CONFIG_EXYNOS_THERMAL_CORE define Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 30a5c1894a4c932f5a417f0a6ec369c7da81204b Merge: 77e3c09 a11176e Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:56:56 2015 -0700 Merge tag 'samsung-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/fixes-non-critical Merge "Samsung non-critical fixes for v4.1" from Kukjin Kim: - mostly trivial build fixes with random configurations from Arnd Bergmann for s3c24xx: avoid a Kconfig warning and fix header file inclusions, and fix building without PM_SLEEP and use SAMSUNG_WAKEMASK for s3c64xx: fix __initdata section mismatch and add I2C dependencies, and fix building with PM_SLEEP * tag 'samsung-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: S3C24XX: avoid a Kconfig warning ARM: S3C24XX: fix header file inclusions ARM: S3C24XX: fix building without PM_SLEEP ARM: S3C24XX: use SAMSUNG_WAKEMASK for s3c2416 ARM: S3C64XX: fix __initdata section mismatch ARM: S3C64XX: fix building without CONFIG_PM_SLEEP ARM: S3C64XX: add I2C dependencies where needed Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 98b80987c940956da48f0c703f60340128bb8521 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 10:56:10 2015 +0200 ARM: at91/dt: sama5d3 xplained: add phy address for macb1 After 57a38effa598 (net: phy: micrel: disable broadcast for KSZ8081/KSZ8091) the macb1 interface refuses to work properly because it tries to cling to address 0 which isn't able to communicate in broadcast with the mac anymore. The micrel phy on the board is actually configured to show up at address 1. Adding the phy node and its real address fixes the issue. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Johan Hovold <johan@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #3.19 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4b3be93dd095af7488b0aee6e53c0e74a6130303 Merge: ccca5d7 292a354 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:54:13 2015 -0700 Merge tag 'mvebu-dt-4.1-3' of git://git.infradead.org/linux-mvebu into next/dt Merge "ARM: mvebu: dt changes for v4.1 (round 3)" from Gregory Clement: mvebu dt changes for v4.1 (part #3) These changes have no influence on the kernel behavior (except removing a warning message), but they allow to have a better representation of the hardware. - conform L2CC node with ePAPR specification by adding cache-level - remove cpuclk resources overlapping coredivclk registers on Armada XP * tag 'mvebu-dt-4.1-3' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Conform L2CC node with ePAPR specification by adding cache-level ARM: mvebu: clk: remove cpuclk resources overlapping coredivclk registers on Armada XP Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 03a1e74cad817a381b4789fb9cc39c47c263c8a8 Merge: 1eddf57 cfdda35 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:51:10 2015 -0700 Merge tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Merge "Samsung 2nd fixes for v4.0" from Kukjin Kim: - Fix build breakage exynos cpuidle driver on !SMP because it is coupled built-in so added check for SMP. - Fix lid, power pin-functions and mmc node updates for exynos5250-spring: Fixes commit ID 53dd4138bb0a ("ARM: dts: Add exynos5250-spring device tree") * tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: Fix build breakage cpuidle on !SMP ARM: dts: fix lid and power pin-functions for exynos5250-spring ARM: dts: fix mmc node updates for exynos5250-spring Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9d8633915ba52158d53b016d276ca30616a6e6b3 Merge: 47f36e4 1f022d8 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:49:52 2015 -0700 Merge tag 'v4.0-next-soc' of https://github.com/mbgg/linux-mediatek into next/drivers Merge "ARM: mediatek: soc updates for v4.1" from Matthias Brugger: - enable the pin controller in Kconfig - Add PMIC wrapper for MT8135 and MT8173 SoCs * tag 'v4.0-next-soc' of https://github.com/mbgg/linux-mediatek: soc: mediatek: Add PMIC wrapper for MT8135 and MT8173 SoCs ARM: mediatek: enable the pin controller Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 57a9d89dc093d86920748fa706fd55f4fcd2399a Merge: 567cfea e963741 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 14:49:26 2015 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block layer fix from Jens Axboe: "Just one patch in this pull request, fixing a regression caused by a 'mathematically correct' change to lcm()" * 'for-linus' of git://git.kernel.dk/linux-block: block: fix blk_stack_limits() regression due to lcm() change commit ccca5d7d0844f9d97a985dc159056cf6d2e5d9eb Merge: efc98f7 85fc20b Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:47:54 2015 -0700 Merge tag 'v4.0-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt Merge "ARM: mediatek: dts updates for v4.1" from Matthias Brugger: - Add pinctrl/GPIO/EINT node for mt8135. - document binding for the PMIC wrapper - Add watchdog to mt6589 * tag 'v4.0-next-dts' of https://github.com/mbgg/linux-mediatek: ARM: DTS: Add watchdog to mt6589 dt-bindings: ARM: Mediatek: document binding for the PMIC wrapper ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit bb1518f39bec1b3061425ad378793cf9c4bdb3d2 Merge: 2b01311 359f936 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:47:11 2015 -0700 Merge tag 'v4.0-next-arm64' of https://github.com/mbgg/linux-mediatek into next/arm64 Merge "ARM: mediatek: arm64 changes for 4.1" from Matthias Brugger: - Select PINCTRL for Mediatek platform - Add pinctrl/GPIO/EINT node for mt8173. * tag 'v4.0-next-arm64' of https://github.com/mbgg/linux-mediatek: arm64: dts: mt8173: Add pinctrl/GPIO/EINT node for mt8173. arm64: mediatek: Select PINCTRL for Mediatek platform Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d8ea2645e91c8a6446bc987a74ed67688763e7d4 Merge: b98849c bfc6dc1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:46:26 2015 -0700 Merge tag 'imx-defconfig-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig Merge "ARM: imx: defconfig updates for 4.1" from Shawn Guo: The i.MX defconfig updates for 4.1: - Enable VFAT, Bluetooth and PCA953X GPIO expander support * tag 'imx-defconfig-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v6_v7_defconfig: Enable Bluetooth support ARM: imx_v6_v7_defconfig: Add CONFIG_GPIO_PCA953X ARM: imx_v4_v5_defconfig: Add VFAT support ARM: mxs_defconfig: Add VFAT support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 16ba08d5c9ec44f89ec03c67ecf7a9c5e2d204fd Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 16:05:11 2015 +0200 device property: Introduce firmware node type for platform data Introduce data structures and code allowing "built-in" properties to be associated with devices in such a way that they will be used by the device_property_* API if no proper firmware node (neither DT nor ACPI) is present for the given device. Each property is to be represented by a property_entry structure. An array of property_entry structures (terminated with a null entry) can be pointed to by the properties field of struct property_set that can be added as a firmware node to a struct device using device_add_property_set(). That will cause the device_property_* API to use that property_set as the source of properties if the given device does not have a DT node or an ACPI companion device object associated with it. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97badf873ab60e841243b66133ff9eff2a46ef29 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 23:23:37 2015 +0200 device property: Make it possible to use secondary firmware nodes Add a secondary pointer to struct fwnode_handle so as to make it possible for a device to have two firmware nodes associated with it at the same time, for example, an ACPI node and a node with a set of properties provided by platform initialization code. In the future that will allow device property lookup to fall back from the primary firmware node to the secondary one if the given property is not present there to make it easier to provide defaults for device properties used by device drivers. Introduce two helper routines, set_primary_fwnode() and set_secondary_fwnode() allowing callers to add a primary/secondary firmware node to the given device in such a way that (1) If there's only one firmware node for that device, it will be pointed to by the device's firmware node pointer. (2) If both the primary and secondary firmware nodes are present, the primary one will be pointed to by the device's firmware node pointer, while the secondary one will be pointed to by the primary node's secondary pointer. (3) If one of these nodes is removed (by calling one of the new nelpers with NULL as the second argument), the other one will be preserved. Make ACPI use set_primary_fwnode() for attaching its firmware nodes to devices. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 836a061b19d7b4e2e5e05c2a87a366e33127cf88 Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Date: Fri Apr 3 12:14:55 2015 +0200 Bluetooth: bnep: Handle BNEP connection setup request With this patch kernel will be able to handle setup request. This is needed if we would like to handle control mesages with extension headers. User space will be only resposible for reading setup data and checking if scenario is conformance to specification (dst and src device bnep role). In case of new user space, setup data must be leaved(peek msg) on queue. New bnep session will be responsible for handling this data. Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bf8b9a9cb77b14e37a8bc925be5db7bfd54d69a8 Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Date: Fri Apr 3 12:14:54 2015 +0200 Bluetooth: bnep: Add support to extended headers of control frames Handling extended headers of control frames is required BNEP functionality. This patch refractor bnep rx frame handling function. Extended header for control frames shouldn't be omitted as it was previously done. Every control frame should be checked if it contains extended header and then every extension should be parsed separately. Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0477e2e868ceead7fd96218e1a062e01631ce717 Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Date: Fri Apr 3 12:14:53 2015 +0200 Bluetooth: bnep: Add support for get bnep features via ioctl This is needed if user space wants to know supported bnep features by kernel, e.g. if kernel supports sending response to bnep setup control message. By now there is no possibility to know supported features by kernel in case of bnep. Ioctls allows only to add connection, delete connection, get connection list, get connection info. Adding connection if it's possible (establishing network device connection) is equivalent to starting bnep session. Bnep session handles data queue of transmit, receive messages over bnep channel. It means that if we add connection the received/transmitted data will be parsed immediately. In case of get bnep features we want to know before session start, if we should leave setup data on socket queue and let kernel to handle with it, or in case of no setup handling support, if we should pull this message and handle setup response within user space. Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f83255cca7ce437e9a071a6e177453371cec78b8 Merge: 50ae4bb ae4aee9 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:57:26 2015 -0700 Merge tag 'imx-soc-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc Merge "ARM: imx: soc changes for 4.1" from Shawn Guo: The i.MX SoC changes for 4.1: - An error handling improvement on imx-weim bus driver - A number of imx6q clock tree update around MIPI support - Add support for i.MX6 GPU/VPU power domain - Enable SMP_ON_UP build for Vybrid - Let MXC_DEBUG_BOARD depend on 3-stack (3DS) boards * tag 'imx-soc-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: depend MXC debug board on 3DS machines ARM: imx6: gpc: Add PU power domain for GPU/VPU Documentation: Add device tree bindings for Freescale i.MX GPC bus: imx-weim: improve error handling upon child probe-failure ARM: imx6q: clk: Add support for mipi_ipg clock as a shared clock gate ARM: imx6q: clk: Add support for mipi_core_cfg clock as a shared clock gate ARM: imx6q: clk: Change hsi_tx clock to be a shared clock gate ARM: imx6q: clk: Change hdmi_isfr clock's parent to be video_27m clock ARM: imx6q: clk: Add the video_27m clock ARM: imx6q: Add GPR3 MIPI muxing control register field shift bits definition ARM: vf610: use SMP_ON_UP for Vybrid SoC Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c4c14f393fe4991a423c21516511ff1011140143 Merge: 5602d12 dc98b0c Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:56:36 2015 -0700 Merge tag 'imx-cleanup-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/cleanup Merge "ARM: imx: cleanup for 4.1" from Shawn Guo: The i.MX cleanup for v4.1: - Convert i.MX25 to be a DT only platform and remove the code that is only used by non-DT support - A couple trivial cleanup on iomux-v3 code * tag 'imx-cleanup-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v4_v5_defconfig: Remove CONFIG_MACH_MX25_3DS ARM: mx25: Remove imxdi_rtc platform code ARM: mx25: Remove "mx25.h" header file ARM: mx25: Remove static memory mapping ARM: mx25: Retrieve IIM base from dt ARM: mx25: Remove mx25_clocks_init() ARM: mx25: Remove platform code support files ARM: mx25: Convert to a dt-only platform ARM: imx25: Remove eukrea mx25 board files ARM: mx25: Remove mach-mx25_3ds board file ARM: imx: Fix trivial typo in comments ARM: imx: Kconfig: Fix grammar in help text ARM: imx/iomux-v3: allow pad_list to be const Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1eddf578e25521267cf734935b2a856ed2be28fc Merge: 77479b3 548ae94 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:55:38 2015 -0700 Merge tag 'mvebu-fixes-4.0' of git://git.infradead.org/linux-mvebu into fixes Merge "ARM: mvebu: fixes for v4.0" from Gregory Clement: mvebu fix for 4.0 Disable CPU Idle on Armada 38x * tag 'mvebu-fixes-4.0' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Disable CPU Idle on Armada 38x Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b98849ccc7b906b38646dac60558ea9e46de443a Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 16:40:16 2015 +0200 ARM: multi_v7_defconfig: Add gpio-restart driver Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3021af88d5fb59ee9ec4319b08f69be69c4cd124 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 16:40:15 2015 +0200 ARM: multi_v7_defconfig: Build the Marvell WiFi-Ex driver as a module Needed in several Chromebook models such as the Tegra-based ones. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 049b94d614a0bd60602d433fe68a7e8a02e11f46 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 16:40:14 2015 +0200 ARM: multi_v7_defconfig: Enable support for ELAN i2c trackpads Needed in several Chromebook models such as the Tegra-based ones. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d0c0639e6d864e1b201bae41d937467a09fce9b3 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 16:40:13 2015 +0200 ARM: multi_v7_defconfig: Enable Tegra ACTMON support This brings the DevFreq framework in and builds the ACTMON driver that on Tegra124 will scale the external memory clock based on current load. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 77479b38e2f58890eb221a0418357502a5b41cd6 Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Date: Mon Mar 30 14:39:08 2015 +0200 kbuild: Create directory for target DTB When building specific DTBs out of the kernel tree the vendor subdirs (boot/dts/<vendor>) are not created, ensure that they are before building the DTB. Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit efc98f776234fedf5fc1069c6dc22c7d5bb1916a Merge: 06c49f2 03650bd Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:50:55 2015 -0700 Merge tag 'tegra-for-4.1-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt Merge "ARM: tegra: Device tree changes for v4.1-rc1" from Thierry Reding: A bunch of changes to improve support on the Nyan Big (Acer Chromebook 13). These enable the trackpad and make the WiFi card work. Changes to the userspace-exposed name of the soundcard are required for a better audio experience. Support for Nyan Blaze (HP Chromebook 14) is added. It is very similar to Nyan Big and therefore can enjoys many of the above improvements. Since the EMC driver can now be used to scale the frequency at which external memory is clocked, corresponding EMC frequency tables are added for Jetson TK1 and the Nyan boards. The Jetson TK1, Beaver and Nyan boards now also use generated pinmux data, which makes it easier to keep it in sync with the data provided by syseng. * tag 'tegra-for-4.1-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Add EMC timings to Nyan Blaze device tree ARM: tegra: Add EMC timings to Nyan Big device tree ARM: tegra: Add EMC timings to Jetson TK1 device tree ARM: tegra: Add EMC to Tegra124 device tree ARM: tegra: Add Tegra124 ACTMON support of: Add binding for NVIDIA Tegra ACTMON node ARM: tegra: nyan: The WiFi card is kept powered during suspend ARM: tegra: nyan: Add gpio-restart node ARM: tegra: nyan: Set maximum frequency for SPI flash ARM: tegra: Use generated pinmux data for Nyan Big ARM: tegra: Use pwrseq-simple for the wifi in Nyan ARM: tegra: Add node for trackpad in Nyan boards ARM: tegra: Add DTS for the nyan-blaze board ARM: tegra: Move generic parts out of the nyan-big DT ARM: tegra: Change model of sound card in Nyan Big ARM: tegra: Use generated pinmux for Beaver board ARM: tegra: Import latest Jetson TK1 pinmux Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 2b01311afc120ffb0ce5ec94721a77f05c84763f Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Mar 30 10:59:30 2015 +0100 arm64: dts: add interrupt-affinity property to pmu node for juno Make the Juno .dts robust against potential reordering of the CPU nodes by adding an explicit interrupt-affinity property to the PMU node. While we're at it, fix the PMU interrupts numbers too. Cc: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Liviu Dudau <liviu.dudau@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 50ae4bb946126d1ae52b83446eb125117af9dcd3 Merge: 5f493ac a6b188e Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:41:29 2015 -0700 Merge tag 'v4.1-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Merge "omap soc changes for v4.1" from Tony Lindgren: SoC related changes for omaps. Mostly hwmod related changes via Paul Walmsley <paul@xxxxxxxxx>: OMAP hwmod data changes for AM43xx and DRA7xx for v4.1 Add support for the AM43xx HDQ/1-wire driver and fix the GPTIMER data for DRA7xx. Note that I do not have AM43xx nor DRA7xx boards, and cannot test these patches on those platforms. Basic build, boot, and PM test logs are available at: http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v4.1/20150324185246/ * tag 'v4.1-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: DRA7: hwmod: Fix the hwmod class for GPTimer4 ARM: DRA7: hwmod: Add data for GPTimers 13 through 16 ARM: omap-device: add missed callback for suspend-to-disk ARM: OMAP2: hwmod: AM43XX: Add hwmod support for HDQ-1W Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 77e3c09e451ae78b64f7b89fc1690804da726787 Merge: dc0961b 209431e Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:40:34 2015 -0700 Merge tag 'omap-for-v4.1/fixes-0' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical Merge "omap non-urgent fixes for v4.1" from Tony Lindgren: Fixes for omaps that were not considered urgent enough for the -rc cycle. This is mostly to enable errata 798181 and thermal support for dra7, configure ocp2scp for am437x, remove dead code for OMAP4_ERRATA_I688 and fix build warnings for omap1510 only config. * tag 'omap-for-v4.1/fixes-0' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: DRA7: Enable Cortex A15 errata 798181 ARM: dts: am57xx-beagle-x15: Add thermal map to include fan and tmp102 ARM: dts: DRA7: Add bandgap and related thermal nodes bus: ocp2scp: SYNC2 value should be changed to 0x6 ARM: dts: am4372: Add "ti,am437x-ocp2scp" as compatible string for OCP2SCP ARM: OMAP2+: remove superfluous NULL pointer check ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688 MAINTAINERS: add OMAP defconfigs under OMAP SUPPORT ARM: OMAP1: PM: fix some build warnings on 1510-only Kconfigs Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 47f36e4921ae11dccf3163f75f70bb55686780f1 Merge: 63fad06 874c571 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:38:43 2015 -0700 Merge tag 'arm-perf-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into next/drivers Merge "arm-cci PMU updates for 4.1" from Will Deacon: CCI-400 PMU updates This series reworks some of the CCI-400 PMU code so that it can be used on both ARM and ARM64-based systems, without the need to boot in secure mode on the latter. This paves the way for CCI-500 support in future. * tag 'arm-perf-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux: arm-cci: Fix CCI PMU event validation arm-cci: Split the code for PMU vs driver support arm-cci: Get rid of secure transactions for PMU driver arm-cci: Abstract the CCI400 PMU specific definitions arm-cci: Rearrange code for splitting PMU vs driver code drivers: cci: reject groups spanning multiple HW PMUs + Linux 4.0-rc4 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 06c49f2b88eb177f4f96d68d561f28fb125e7c0c Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:35 2015 -0600 ARM: dts: qcom: Add idle state device nodes for 8064 Add ARM common idle state device bindings for cpuidle support for APQ 8064. Support Standalone power collapse (SPC) idle state (power down that does not affect any SoC idle states) for each cpu. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d8664979e6ba97024c43d6248f94982ee0c8d1ee Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:34 2015 -0600 ARM: dts: qcom: Add idle states device nodes for 8084 Add ARM common idle states device bindings for cpuidle support for APQ 8084. Support Standalone power collapse (SPC) idle state (power down that does not affect any SoC idle states) for each cpu. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d596d620d82f64989aaf73144bac82002204d88c Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:33 2015 -0600 ARM: dts: qcom: Add idle states device nodes for 8974/8074 Add ARM common idle states device bindings for cpuidle support for APQ 8974/8074. Support Standalone power collapse (SPC) idle state (power down that does not affect any SoC idle states) for each cpu. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9fc23ce3bfb8c205f2a43de94f3730aa301f2efe Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:32 2015 -0600 ARM: dts: qcom: Update power-controller device node for 8064 Krait CPUs Update the SAW2 DT bindings to add qcom,apq8064-saw2-v1.1-cpu compatible binding string to configure SPM registers and allow the SPM to put the core in deeper idle states when the core is idle. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 030e27f6c60d37a24bbbff060936954ad6f77b0b Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:31 2015 -0600 ARM: dts: qcom: Add power-controller device node for 8084 Krait CPUs Each Krait CPU in the QCOM 8084 SoC has an SAW power controller to regulate the power to the cpu and aide the core in entering idle states. Reference the SAW instance and associate the instance with the CPU core. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 8c76a6382eb0c45d152c0cf37206e4ec9c3781cd Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:30 2015 -0600 ARM: dts: qcom: Add power-controller device node for 8074 Krait CPUs Each Krait CPU in the QCOM 8074/8974 SoC has an SAW power controller to regulate the power to the cpu and aide the core in entering idle states. Reference the SAW instance and associate the instance with the CPU core. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 52cd8451818bffa25bec2f69bc6286b3cc045bf7 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:28 2015 -0600 devicetree: bindings: Document qcom,idle-states Document cpuidle states of QCOM cpus. In addition to arm-idle-state compatible string, the ARM idle state definition must define one of the following compatible strings - "qcom,idle-state-ret", "qcom,idle-state-spc", "qcom,idle-state-pc", The compatibles helps the SPM platform driver to use the correct idle function when the index to the idle state is passed to the platform driver. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 005c5dc9b3dd72970992d05ea63f1148d020112c Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:27 2015 -0600 devicetree: bindings: Update qcom,saw2 node bindings Update qcom,saw2 node bindings with compatible strings to identify nodes that provides cpuidle functionality for a particular SoC. Remove unused compatible strings. Update examples for different SAW nodes. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 83bd147952ef5c8a99df27b8597ee21f2424348d Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Wed Mar 18 16:08:21 2015 +0200 dt-bindings: Add #defines for MSM8916 clocks and resets Add clocks/resets defines for the global clock controller found on Qualcomm MSM8916 SoCs. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f49cadeb48a2717d1baaab701066bda9b69cfed4 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 01:01:08 2015 -0700 arm: dts: qcom: Add LPASS Audio HW to IPQ8064 device tree Model the Qualcomm Technologies LPASS hardware for the ipq806x SOC. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e321cbbd55270bcced00ab73ea8e2ee1390861af Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Tue Feb 3 14:18:00 2015 +0200 arm: dts: qcom: Add APQ8084 chipset SPMI PMIC's nodes PMA8084 have 2 SPMI devices per physical package. Add their configuration nodes and include them in boards which are using AQP8084 based chipset. Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c91278931d7b469d8203b7c3ea6d202df5832755 Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Tue Feb 3 14:17:59 2015 +0200 arm: dts: qcom: Add 8x74 chipset SPMI PMIC's nodes PM8841 and PM8941 have 2 SPMI devices per physical package. Add their configuration nodes and include them in boards which are using 8x74 based chipset. Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit af22e46d3e8e29d7a1edb6f171745e4991d40cf1 Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Tue Feb 3 14:17:58 2015 +0200 arm: dts: qcom: Add SPMI PMIC Arbiter nodes for APQ8084 and MSM8974 Add SPMI PMIC Arbiter configuration nodes for APQ8084 and MSM8974. Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1e1177bf4c24d593afddf40f9f63538136aee6c9 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Wed Jan 28 13:36:12 2015 -0800 arm: dts: qcom: Add LCC nodes Add the node for the LPASS clock controller found on a few qcom SoCs so that the clock driver can probe. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Added apq8064 and msm8960 nodes] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3860d43c807c40ad6193280716be2f241f7a4c28 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:11 2015 -0600 arm: dts: qcom: Add TCSR support for MSM8960 This patch adds TCSR support for use by the GSBI to automatically configure ADM CRCI values based on the GSBI port configuration. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit da047acd173478fd0dd901bfd268d91d35c4f4b8 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:10 2015 -0600 arm: dts: qcom: Add TCSR support for MSM8660 This patch adds TCSR support for use by the GSBI to automatically configure ADM CRCI values based on the GSBI port configuration. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4d9b766bfe08d63ca1b6867be005a7bc603f9985 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:09 2015 -0600 arm: dts: qcom: Add TCSR support for IPQ8064 This patch adds TCSR support for use by the GSBI to automatically configure ADM CRCI values based on the GSBI port configuration. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4105d9d60a7f28a60198302e8d4b79bd308cac35 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:08 2015 -0600 arm: dts: qcom: Add TCSR support for APQ8064 This patch adds TCSR support for use by the GSBI to automatically configure ADM CRCI values based on the GSBI port configuration. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a8b21018de2ec8864176670c87015b19babdfe58 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:07 2015 -0600 mfd: qcom,tcsr: Add device tree binding for TCSR This patch adds the device tree binding for the Qualcomm Top Control and Status Register device. The TCSR is comprised of a set of registers that provide various control and status functions for attached peripherals. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 2d9ad4f85ed43101f55816472895e112203f9881 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Wed Mar 4 13:52:44 2015 -0600 arm: qcom: dts: gic: add compatible string for Qualcomm MSM GICs Document the Qualcomm MSM GICs implementation as compatible with the ARM GIC standard. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 282703e8285026dbb051055ebeba1baa13be4a21 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Fri Mar 20 13:39:54 2015 -0500 arm64: dts: Add Qualcomm APQ8016 SBC evaluation board dts Add initial device tree support for Qualcomm APQ8016 SBC Evaluation board. This board is also referred to as the DragonBoard 410c. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 57f0a7eae6bd5f5811f070f63ffa482c7d6faad7 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Fri Feb 27 15:48:59 2015 -0600 arm64: dts: Add Qualcomm MSM8916 SoC and evaluation board dts Add initial device tree support for Qualcomm MSM8916 SoC and MTP8916 evaluation board. At the current time we only boot up a single processor. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a6964d90fe54ac0a5c610fea0f5b6f6608c22b2a Merge: 3726767 dc344b6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:23:33 2015 -0700 Merge tag 'qcom-defconfig-for-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/defconfig Merge "qcom defconfig changes for 4.1-1" from Kumar Gala: Qualcomm ARM Based defconfig Updates for v4.1-1 * Increase MMC_BLOCK_MINORS to 32 since qcom platforms have more than 16 partitions * tag 'qcom-defconfig-for-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: qcom: Increase MMC_BLOCK_MINORS in defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ee327179b9f5f9c0259f43493a5a7e96854094de Merge: 6054ef2 83c3a7d Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:22:39 2015 -0700 Merge tag 'omap-for-v4.1/wl12xx-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "wireless wl12xx and omap device tree changes for v4.1" from Tony Lindgren: Wireless and omap changes to make wl12xx driver to use device tree data instead of platform data from Eliad Peller <eliad@xxxxxxxxxx>: - Add device-tree support to the wlcore (wl12xx/wl18xx) driver. - Update the current users to use the bindings instead of pdata-quirks. - Finally, remove the deprecated wl12xx_platform_data struct Note that da850 board file code that still uses the platform data, but we have da850.dtsi that can be used instead. So it was decided that we should try to remove the wl12xx support from the da850 board file as suggested by Sekhar Nori <nsekhar@xxxxxx>. As it's the last patch in the series, the last patch can be simply reverted if needed. As this series touches quite a bit of arch code, it was suggested by Kalle Valo <kvalo@xxxxxxxxxxxxxx> that the whole series should be merged via the arm-soc tree. * tag 'omap-for-v4.1/wl12xx-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: wlcore: remove wl12xx_platform_data ARM: dts: add wl12xx/wl18xx bindings wlcore: add device-tree support dt: bindings: add TI's wilink wireless device wl12xx: use frequency instead of enumerations for pdata clocks wlcore: set irq_trigger in board files instead of hiding behind a quirk + Linux 4.0-rc4 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5602d12a861340e9ed2c17cdefc500fa12b52446 Merge: 0a47acf 27842bb Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:20:42 2015 -0700 Merge tag 'qcom-cleanup-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/cleanup Merge "qcom cleanup changes for 4.1" from Kumar Gala: General cleanups for MSM/QCOM for 4.1 * Removal of mach-msm and associated drivers cleanups that have been ack'd by associated maintainers * tag 'qcom-cleanup-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: mmc: Remove msm_sdcc driver gpio: Remove gpio-msm-v1 driver ARM: Remove mach-msm and associated ARM architecture code + Linux 4.0-rc3 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 37267675c9f0037b550d6c4c253a669fb728dfe5 Merge: f28ae3b a198d27 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:06:52 2015 -0700 Merge tag 'sunxi-defconfig-for-4.1' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/defconfig Merge "Allwinner defconfig changes for 4.1" from Maxime Ripard: Nothing really standing out here, just a few options to enable in the defconfigs * tag 'sunxi-defconfig-for-4.1' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: sunxi_defconfig: increase the number of maximum number of CPUs to 8 ARM: multi_v7_defconfig: Enable CONFIG_PHY_SUN9I_USB ARM: sunxi_defconfig: Enable CONFIG_PHY_SUN9I_USB Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 623e4ecb869ea5c643715a08f376987887664de1 Author: Ioan Nicu <ioan.nicu.ext@xxxxxxxxx> Date: Mon Mar 30 15:03:38 2015 +0200 i2c: i2c-mux-gpio: remove error messages for probe deferrals Probe deferral is not an error case. It happens only when the necessary dependencies are not there yet. The driver core is already printing a message when a driver requests probe deferral, so this can be traced in the logs without these error prints. This patch removes the error messages for these deferral cases. Signed-off-by: Ionut Nicu <ioan.nicu.ext@xxxxxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Acked-by: Peter Korsgaard <peter.korsgaard@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5f493ace72db9fdb59301366d77d8b9a1d2f68b9 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Mon Mar 16 17:16:07 2015 -0400 ARM: Exynos: migrate DCSCB to the new MCPM backend abstraction The custom suspend callback is removed for this change. The extra call to exynos_cpu_power_up(() that was present at the end of exynos_suspend() is now relocated to the cpu_is_up callback. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Tested-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 323ab95339b515330a4e0908e53b06498f2cafde Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Sat Mar 14 21:13:48 2015 -0400 ARM: vexpress: migrate DCSCB to the new MCPM backend abstraction Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 03fd5db717918b36a4ac1dbfc197222041608eab Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Sat Mar 14 20:29:44 2015 -0400 ARM: vexpress: DCSCB: tighten CPU validity assertion Currently the cpu argument validity check uses a hardcoded limit of 4. The DCSCB configuration data provides the actual number of CPUs and we already use it elsewhere. Let's improve the cpu argument validity check by using that information instead. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 41f26e2d94374f7a31d3dc0b03223df7006a83cd Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Sat Mar 14 17:58:33 2015 -0400 ARM: vexpress: migrate TC2 to the new MCPM backend abstraction Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d3a875444ad8d5e64c5a932361ca579312e49801 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Wed Mar 11 18:16:13 2015 -0400 ARM: MCPM: move the algorithmic complexity to the core code All backends are reimplementing a variation of the same CPU reference count handling. They are also responsible for driving the MCPM special low-level locking. This is needless duplication, involving algorithmic requirements that are not necessarily obvious to the uninitiated. And from past code review experience, those were all initially implemented badly. After 3 years, it is time to refactor as much common code to the core MCPM facility to make the backends as simple as possible. To avoid a flag day, the new scheme is introduced in parallel to the existing backend interface. When all backends are converted over, the compatibility interface could be removed. The new MCPM backend interface implements simpler methods addressing very platform specific tasks performed under lock protection while keeping the algorithmic complexity and race avoidance local to the core code. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Tested-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3341ada4367df002603354e0570048e3fa2b1a18 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Wed Mar 25 20:52:11 2015 +0800 arm64: dts: sprd: adding coresight entries to Spreadtrum SC9836 Support only for ETF, FUNNEL, STM are included currently. Support for ETM, TPIU and the replicator linked to it are not included in this version patch. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ba92222ed63a12d09120df9b92f56cc990abac19 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Tue Mar 31 14:03:55 2015 +0100 i2c: jz4780: Add i2c bus controller driver for Ingenic JZ4780 Adds the i2c bus controller driver for the Ingenic JZ4780 SoC. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b81b7be6ae830a507d15cf4fc626be02cc9ab79b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 12:29:50 2015 +0800 test_rhashtable: Remove bogus max_size setting Now that resizing is completely automatic, we need to remove the max_size setting or the test will fail. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b98d8075e65c9cb688e73b941d873986e7bbf7ae Merge: bcad571 898b297 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 15:08:20 2015 -0400 Merge branch 'mvneta-sgmii' Stas Sergeev says: ==================== mvneta: SGMII-based in-band link state signaling Currently the fixed-link DT binding is pre-configured and cannot be changed in run-time. This means the cable unplug events are not being detected, and the link parameters can't be negotiated. The following patches are needed when mvneta is used in fixed-link mode (without MDIO). They add an API to fixed_phy that allows to update status, and use that API in the mvneta driver when parsing the SGMII in-band status. There is also another implementation that doesn't add any API and does everything in mvneta driver locally: https://lkml.org/lkml/2015/3/31/327 I'll let people decide which approach is better. No strong opinion on my side. ==================== Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 898b2970e2c91e4543b579998922822894325866 Author: Stas Sergeev <stsp@xxxxxxx> Date: Wed Apr 1 20:32:49 2015 +0300 mvneta: implement SGMII-based in-band link state signaling When MDIO bus is unavailable (common setup for SGMII), the in-band signaling must be used to correctly track link state. This patch enables the in-band status delivery for link state changes, namely: - link up/down - link speed - duplex full/half fixed_phy_update_state() is used to update phy status. CC: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> CC: Florian Fainelli <f.fainelli@xxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3bebdce4135a44d09e96ba66c40797c8f9fa902 Author: Stas Sergeev <stsp@xxxxxxx> Date: Wed Apr 1 20:30:31 2015 +0300 add fixed_phy_update_state() - update state of fixed_phy Currently fixed_phy uses a callback to periodically poll the link state. This patch adds the fixed_phy_update_state() API. It solves the following problems: - On link state interrupt, MAC driver can't update status. Instead it needs to provide the callback to periodically query the HW about the link state. It is more efficient to update status after interrupt. - The callback needs to be unregistered before phy_disconnect(), or otherwise it will be called with net_dev==NULL. phy_disconnect() does not have enough info to unregister the callback automatically. - The callback needs to be registered before of_phy_connect() to avoid running with outdated state, but of_phy_connect() returns the phy_device pointer, which is needed to register the callback. Registering it before of_phy_connect() will therefore require a hack to get the pointer earlier. Overall, this addition makes the subsequent patch that implements SGMII link status for mvneta, much cleaner. CC: Florian Fainelli <f.fainelli@xxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bcad57182425426dd4aa14deb27f97acb329f3cd Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Apr 3 20:52:24 2015 +0200 ebpf: add skb->priority to offset map for usage in {cls, act}_bpf This adds the ability to read out the skb->priority from an eBPF program, so that it can be taken into account from a tc filter or action for the use-case where the priority is not being used to directly override the filter classification in a qdisc, but to tag traffic otherwise for the classifier; the priority can be assigned from various places incl. user space, in future we may also mangle it from an eBPF program. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a47acfa16a5043f5fad562abb8e3e4b53367a43 Merge: c25a9fa df67a2b Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 11:26:08 2015 -0700 Merge tag 'renesas-soc-cleanup3-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Third Round of Renesas ARM Based SoC Cleanup for v4.1" from Simon Horman: * Remove default cpuidle driver, it does not appear to serve any purpose * tag 'renesas-soc-cleanup3-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: cpuidle: Remove the pointless default driver Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6054ef25e20219a604429c1437bc601f8ead87a4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 11:24:26 2015 -0700 ARM: dts: fix typo in bcm7445.dtsi Reported-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ceca038a354f65005babf4c462eaf4af9604f4d1 Merge: e0199d9 0c02ace Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 11:23:19 2015 -0700 Merge tag 'arm-soc/for-4.1/devicetree-part-3' of http://github.com/broadcom/stblinux into next/dt Merge "Broadcom Device Tree changes for 4.1 #3" from Brian Norris: This pull request contains changes to the BCM7445 reference DTS files from Brian: - making a clock-frequency property decimal instead of hexadecimal - adding the irq0 interrupt controller node to make the reference DTS bootable again * tag 'arm-soc/for-4.1/devicetree-part-3' of http://github.com/broadcom/stblinux: ARM: dts: brcmstb: add IRQ0 controller ARM: dts: brcmstb: un-hexify clock frequency Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e0199d9829e56d3b3a85b14bb3480fa1c4d151b9 Merge: c674695 3c42ae3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 11:08:28 2015 -0700 Merge tag 'at91-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt Merge "at91: dt for 4.1 #2" from Nicolas Ferre: Second batch of DT changes for 4.1: - RTC nodes for at91sam9x5 boards and at91sam9n12ek - HLCDC nodes and pin definitions for sama5d3 & sama5d4 - additional uarts for sama5d3 * tag 'at91-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91/dt: sama5d4: add rgb777 LCD line configuration ARM: at91/dt: sama5d4: fix LCD pins for RGB666 format ARM: at91/dt: sama5d4: add hlcdc node ARM: at91/dt: sama5d4: add lcdc pin definitions ARM: at91/dt: sama5d3: add uart1 pinctrl definition ARM: at91/dt: sama5d3: add uart0 ARM: at91/dt: define the HLCDC node available on sama5d3 SoCs ARM: at91/dt: add alternative pin muxing for sama5d3 lcd pins ARM: at91/dt: split sama5d3 lcd pin definitions to match RGB mode configs ARM: at91/dt: at91sam9n12ek: enable RTC ARM: at91/dt: at91sam9x5cm: enable RTC DT: video: atmel_lcdc: Add example of fixed framebuffer memory Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 63fad06a2733f78f7565a436a97848aee8099600 Merge: aabab88 4b613e9 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 11:00:47 2015 -0700 Merge tag 'gpmc-omap-for-v4.1' of git://github.com/rogerq/linux into next/drivers Merge "OMAP-GPMC driver fixes for v4.1" from Roger Quandros: * Fixed WAITMONITORINGTIME programming to be based on GPMC_CLK instead of GPMC_FCLK. The GPMC clock divider programming is fixed for both synchronous and asynchronous modes. * Allow GPMC's children of default bus type to be populated in the device tree. * Improved DEBUG output data and format. * Prevent writing 1 into reserved bits of GPMC_CONFIG7. * tag 'gpmc-omap-for-v4.1' of git://github.com/rogerq/linux: ARM OMAP2+ GPMC: fix programming/showing reserved timing parameters ARM OMAP2+ GPMC: fix WAITMONITORINGTIME divider bug ARM OMAP2+ GPMC: calculate GPMCFCLKDIVIDER based on WAITMONITORINGTIME ARM OMAP2+ GPMC: always program GPMCFCLKDIVIDER ARM OMAP2+ GPMC: change get_gpmc_timing_reg output for DTS ARM OMAP2+ GPMC: fix debug output alignment ARM OMAP2+ GPMC: add bus children ARM OMAP2+ GPMC: don't undef DEBUG ARM: OMAP2+: gpmc: make gpmc_cs_get_name() static ARM: OMAP2+: gpmc: Fix writing in gpmc_cs_set_memconf Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c6746958bc1ea33489c946aec1b90114e9d9e74b Merge: 263c3f5 7776ab7 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:55:21 2015 -0700 Merge tag 'mvebu-dt-4.1-2' of git://git.infradead.org/linux-mvebu into next/dt Merge "ARM: mvebu: dt changes for v4.1 (round 2)" from Gregory Clement: mvebu dt changes for v4.1 (part #2) - add support for Performance Monitor Unit on most of mvebu SoCs - add nas2big support - add support for USB3 port On Armada 385 AP * tag 'mvebu-dt-4.1-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: armada-385-ap: Enable USB3 port ARM: mvebu: Enable Performance Monitor Unit on Armada 380/385 SoC ARM: mvebu: Enable Performance Monitor Unit on Armada 375 SoC ARM: mvebu: Enable Performance Monitor Unit on Armada XP/370 SoCs ARM: Kirkwood: add DT description for nas2big Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f28ae3ba10f3d9535289e7902293c52a494ed476 Merge: cef9f50 76b21e3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:54:34 2015 -0700 Merge tag 'mvebu-defconfig-4.1-2' of git://git.infradead.org/linux-mvebu into next/defconfig Merge "ARM: mvebu: defconfig changes for v4.1 (round 2)" from Gregory Clement: mvebu defconfig changes for v4.1 (part #2) - add perf support in mvebu_v7_defconfig * tag 'mvebu-defconfig-4.1-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Enable perf support in mvebu_v7_defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit cef9f501305480c2bff7259b5d260131aca4445a Merge: 342f346 bb3ab87 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:53:09 2015 -0700 Merge tag 'renesas-defconfig-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Merge "Renesas ARM Based SoC Defconfig Updates for v4.1" from Simon Horman: Multiplatform defconfig updates * Enable bockw and ape6evm boards * Drop useless SERIAL_8250_EXTENDED=y * Enable R-Mobile reset * tag 'renesas-defconfig-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Enable bockw board in multiplatform defconfig ARM: shmobile: defconfig: Drop useless SERIAL_8250_EXTENDED=y ARM: shmobile: Enable R-Mobile reset driver in multiplatform defconfig ARM: shmobile: Enable ape6evm board in multiplatform defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e0fdbab1699b89a9b0c192d4cb355f8ab43a8f17 Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Date: Fri Apr 3 12:14:52 2015 +0200 Bluetooth: bnep: Return err value while sending cmd is not understood Send command not understood response should be verified if it was successfully sent, like all send responses. Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c25a9fada42395b43ad332a208f328975471f38e Merge: 69f2a08 a8caad6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:52:29 2015 -0700 Merge tag 'renesas-pm-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Renesas ARM Based SoC PM Updates for v4.1" from Simon Horman: * Consolidate the pm code for R-Car Gen2 * Correct SYSCIER value for r8a7790 and r8a7791 SoCs * tag 'renesas-pm-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Consolidate the pm code for R-Car Gen2 ARM: shmobile: r8a7791: Correct SYSCIER value ARM: shmobile: r8a7790: Correct SYSCIER value Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 69f2a08047d0e5177f92835d8dc06d6d8b17fb93 Merge: 5ec5e79 01ea0d4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:51:02 2015 -0700 Merge tag 'v4.1-legacy' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Merge "omap legacy boot clean-up for v4.1" from Tony Lindgren: Drop three omap3 legacy board-*.c files We want to get omap3 moved over to device tree only based booting. These three board-*.c files seem to be inactive, so let's attempt to drop them now rather than later. With these dropped, we have omap3 device tree conversion status in a known state. Then we know that we have .dts support for the remaining omap3 board-*.c files, or it's being worked on. By dropping these files now, we can simply revert them if really needed for the next few merge cycles if we run into suprises. Reverting things later on will not be so easily done. * tag 'v4.1-legacy' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Remove legacy support for omap3 TouchBook ARM: OMAP3: Remove legacy support for devkit8000 ARM: OMAP3: Remove legacy support for EMA-Tech Stalker board Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 342f346af11dbe9b05466ecaeb8d853cfd06327d Merge: e7199d3 1fd6d08 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:49:51 2015 -0700 Merge tag 'v4.1-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/defconfig Merge "omap defconfig changes for v4.1" from Tony Lindgren: Few omap2plus_defconfig updates to add commonly used drivers as loadable modules. Note that I'll do patches for armv7_defconfig for these at some point too once we're happy with omap2plus_defconfig to avoid extra churn on the defconfig files. * tag 'v4.1-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: omap2plus_defconfig: Enable n900 modem as loadable modules ARM: omap2plus_defconfig: Update bluetooth options ARM: omap2plus_defconfig: Enable leds-pwm ARM: omap1_defconfig: drop obsolete Kconfig symbols arm: config: omap2plus_defconfig: switch over to LZMA compression ARM: omap2plus_defconfig: Enable EXTCON_GPIO_USB Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 263c3f50bec8f868aa454d78ae2809c28e0f8cf8 Merge: ebdf8cc 10709c0 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:48:38 2015 -0700 Merge tag 'v4.1-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap device tree changes for v4.1, part1" from Tony Lindgren: Device tree related changes for omaps: - Add support for ChiliSOM - Add support for OpenPandora - Add support for BeagleBoard NAND - Enable crypto devices for omap3 devices - Add bindings for omap3 camera support - Updates for am437x and dra7x and dm816x SoCs * tag 'v4.1-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (27 commits) ARM: dts: Update Nanobone dts file ARM: dts: n950, n9: Add primary camera support ARM: dts: omap3: Add DT entries for OMAP 3 ISP Documentation: DT: Add bindings for omap3isp ARM: dts: Remove files omap34xx-hs.dtsi and omap36xx-hs.dtsi ARM: dts: omap3-tao3530: Include directly omap34xx.dtsi ARM: dts: n900: Enable omap sham and include directly omap34xx.dtsi ARM: dts: n9/n950: Enable omap crypto support ARM: dts: Remove PIN_INPUT for dm816x McSPI ARM: dts: Add cppi41 support for dm816x MUSB ARM: dts: Fix typo for dm816x usb0_pins ARM: dts: dra7x-evm: beagle-x15: Fix USB Peripheral ARM: dts: am57xx-beagle-x15: Do not include the atl header ARM: dts: DRA7: Remove ti,timer-dsp and ti,timer-pwm properties Documentation: omap-twl4030: Move ti,codec property to optional ARM: dts: omap3: Remove all references to ti,codec property ARM: dts: omap3-beagle: Add NAND device ARM: dts: AM4372: update hdq compatible property ARM: dts: omap3-pandora: add DM3730 1 GHz version ARM: dts: omap3-pandora: add OMAP3530 600 MHz version ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e8621d83c10ee95798bdb5e04f54439a7c1c9a2b Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Apr 2 17:07:57 2015 +0200 ARM: at91: add a Kconfig dependency on multi-platform When building a legacy (non-multi) platforms and if the ARCH_AT91 config option is enabled there is a build error. We need AT91 to depend on multi-platform core type options. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit aabab880c5441cd39aef75fc1ecaa3125efb7a89 Merge: 4580cb8 8590ca6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:44:28 2015 -0700 Merge tag 'at91-cleanup3' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/drivers Merge "at91: cleanup for 4.1 #3" from Nicolas Ferre: Third batch of cleanup for 4.1: - System Timer (ST) for at91rm9200 re-work (syscon/regmap): - watchdog - restart handler - timer as a proper clocksource => remove mach dependency + cleanup * tag 'at91-cleanup3' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (54 commits) ARM: at91: remove useless include clocksource: atmel-st: remove mach/hardware dependency clocksource: atmel-st: use syscon/regmap ARM: at91: time: move the system timer driver to drivers/clocksource ARM: at91: properly initialize timer ARM: at91: at91rm9200: remove deprecated arm_pm_restart watchdog: at91rm9200: implement restart handler watchdog: at91rm9200: use the system timer syscon mfd: syscon: Add atmel system timer registers definition ARM: at91/dt: declare atmel,at91rm9200-st as a syscon ARM: at91: remove old setup ARM: at91: sama5d4: remove useless map_io ARM: at91: sama5 use SoC detection infrastructure ARM: at91: at91sam9: use SoC detection infrastructure ARM: at91: at91rm9200 use SoC detection infrastructure ARM: at91: add soc detection infrastructure ARM: at91/dt: introduce atmel,<chip>-dbgu ARM: at91: remove unused _matrix.h headers ARM: at91: remove unused at91_ioremap_matrix and header ARM: at91: remove NEED_MACH_IO_H ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 567cfea99af61ef19da42f8491da98cf94a4d166 Merge: ec2e76b f59df35 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 10:42:32 2015 -0700 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 fixes: a SYSRET single-stepping fix, a dmi-scan robustization fix, a reboot quirk and a kgdb fixlet" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: kgdb/x86: Fix reporting of 'si' in kgdb on x86_64 x86/asm/entry/64: Disable opportunistic SYSRET if regs->flags has TF set x86/reboot: Add ASRock Q1900DC-ITX mainboard reboot quirk MAINTAINERS: Change the x86 microcode loader maintainer firmware: dmi_scan: Prevent dmi_num integer overflow commit ec2e76b4c73362231e7d6903e14fc9817d99f3ae Merge: ccc20a3 c420f19 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 10:38:36 2015 -0700 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 x86 Intel PMU constraint handling fixes" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf/x86/intel: Fix Haswell CYCLE_ACTIVITY.* counter constraints perf/x86/intel: Filter branches for PEBS event commit ccc20a3317c4985febbcb7e3d9e73ab639f45c0a Merge: b010a0f 41d9489 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 10:15:19 2015 -0700 Merge tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux Pull devicetree fix from Grant Likely: "Simple bugfix for bad device tree data on the PA-Semi platform" * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux: drivers/of: Add empty ranges quirk for PA-Semi commit d30323f810e4da94eb75cf4bfe5165b9518c64df Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Mar 25 14:18:37 2015 -0700 usb: musb: dsps: fix build on i386 when COMPILE_TEST is set Commit 3e457371f436 ("usb: musb: Fix fifo reads for dm816x with musb_dsps") fixed a USB error on dm816x, but introduced a new build error on i386 when COMPILE_TEST is set: drivers/usb/musb/musb_dsps.c: In function â??dsps_read_fifo32â??: drivers/usb/musb/musb_dsps.c:624:3: error: implicit declaration of function â??readslâ?? [-Werror=implicit-function-declaration] readsl(fifo, dst, len >> 2); Let's fix this by using ioread32_rep() instead of readsl() as that's more portable. Fixes: 3e457371f436 ("usb: musb: Fix fifo reads for dm816x with musb_dsps") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Bin Liu <binmlist@xxxxxxxxx> Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: George Cherian <george.cherian@xxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 625a4c5910cc8aa63da2afcf662aeb2ca64458e1 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:03:03 2015 +0300 ehci-hub: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51a114bc5d20d6540418bc40422a9631cfa73da8 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:04:50 2015 +0300 fhci-hub: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4631f4e9856efc296c1e80bcd69b3375d75bf834 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:06:21 2015 +0300 fotg210-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87327b14621a10f0382c49ac181de7aaa5c2c88a Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:07:43 2015 +0300 fusbh200-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72cce8cb05bfe9ff545520606e51651adb1bac33 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:09:06 2015 +0300 imx21-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a0855673ea81f436625ff0e471e990e503232c9 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:10:43 2015 +0300 isp116x-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00d29b3e9320112c3d53d6865af60492dbc29163 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:12:31 2015 +0300 isp1362-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3d02e0e54bce76e331529dd6f47d61cecc9d375 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:14:03 2015 +0300 max3421-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a2d2672b89d402312b4b741544ab5fdcd48df19 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:19:48 2015 +0300 ohci-hub: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c42c08774f07824ac689cf198e26ffba7831564 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:21:10 2015 +0300 oxu210hp-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e77beafb10e451b8370e8248b25207810110ed8 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:24:24 2015 +0300 r8a66597-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e283ef1549f7e9de198d1a8988eff97c9e42f878 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:26:55 2015 +0300 sl811-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ce6fe9e1b4666ebccb403e6fa4e8304599d50bd Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:28:15 2015 +0300 u132-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e5dd4c349465066b85a487af6fabd4fc32c7987 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:30:04 2015 +0300 uhci-hub: use USB_DT_HUB Fix using the bare numbers to set the 'bHubCharacteristics' field of the Hub Descriptor while the values are #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e27465f51aa40f9826553547f3de25330bfcdeec Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:34:12 2015 +0300 c67x00-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5dd03950aa8be19b61a802cea8e9edde462d4ea Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:36:28 2015 +0300 dwc2: hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2569ffd58b03d900f53b073054df4dc45ca67873 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:39:09 2015 +0300 dummy_hcd: use USB_DT[_SS]_HUB Fix using the bare numbers to set the 'bDescriptorType' field of the Hub Descriptors while the values are #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cf6563b3e9ecdfd8378fb81484632f715607a04 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:40:24 2015 +0300 isp1760-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e95af3aa1dc791d04795dbd12597cbe71405765d Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:42:06 2015 +0300 musb_virthub: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b11373debee613760e81f520899e8807368188ad Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:43:25 2015 +0300 renesas_usbhs: mod_host: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f413d807b37efcc7c7fa45f824f08d614a8cc0a Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:45:02 2015 +0300 usbip: vhci_hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Valentina Manea <valentina.manea.m@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22299d13c28b13fe6140037980e79bc6fdb5f329 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:46:39 2015 +0300 wusbcore: rh: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9aab404e60d122ded979fa0b81db42fb680d867 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Thu Apr 2 17:10:55 2015 -0700 usb/misc: fix chaoskey build, needs HW_RANDOM Fix build errors when HW_RANDOM is not enabled: drivers/built-in.o: In function `chaoskey_disconnect': chaoskey.c:(.text+0x5f3f00): undefined reference to `hwrng_unregister' drivers/built-in.o: In function `chaoskey_probe': chaoskey.c:(.text+0x5f42a6): undefined reference to `hwrng_register' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6ab3aec4bc4beda2d6eb8ea43c6f5be3b215d3f Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Thu Apr 2 20:22:34 2015 +0900 usb: phy: rcar-gen2-usb: Fix USBHS_UGSTS_LOCK value According to the technical update (No. TN-RCS-B011A/E), the UGSTS LOCK bit location is bit 8, not bits 9 and 8. So, this patch fixes the USBHS_UGSTS_LOCK value. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e845d64743ee397ff132e7f81e6bfb3597f9f479 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Mar 29 02:21:20 2015 -0700 Revert "usb: host/sl811-hcd: fix sparse warning" This reverts commit 1dc6120ef7f003305d99ef12f598a6b05eacc38c. Commit 1dc6120ef7f0 results in the following error when compiling x86_64:allyesconfig. sl811_cs.c:(.text+0x1d3cb72): undefined reference to `sl811h_driver' Fixes: 1dc6120ef7f0 ("usb: host/sl811-hcd: fix sparse warning") Cc: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3510c8164ccbda7150379900f71078ce6ab23550 Merge: 8b86ed0 65dd82a Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 18:59:34 2015 +0200 Merge tag 'usb-serial-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next Johan writes: USB-serial updates for v4.1-rc1 Fix up the f81232 driver, which up to this point has mostly been a placeholder without a proper implementation. Included is also a minor clean up of ch341. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit b010a0f77a9b3b05d6268d863695694c3d377847 Merge: 8f778bb 4c5930e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 09:54:36 2015 -0700 Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 Pull CIFS fixes from Steve French: "A set of small cifs fixes fixing a memory leak, kernel oops, and infinite loop (and some spotted by Coverity)" * 'for-next' of git://git.samba.org/sfrench/cifs-2.6: Fix warning Fix another dereference before null check warning CIFS: session servername can't be null Fix warning on impossible comparison Fix coverity warning Fix dereference before null check warning Don't ignore errors on encrypting password in SMBTcon Fix warning on uninitialized buftype cifs: potential memory leaks when parsing mnt opts cifs: fix use-after-free bug in find_writable_file cifs: smb2_clone_range() - exit on unhandled error commit 2e7056c433216f406b90a003aa0ba42e19d3bdcf Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Mar 31 14:19:10 2015 -0700 jhash: Update jhash_[321]words functions to use correct initval Looking over the implementation for jhash2 and comparing it to jhash_3words I realized that the two hashes were in fact very different. Doing a bit of digging led me to "The new jhash implementation" in which lookup2 was supposed to have been replaced with lookup3. In reviewing the patch I noticed that jhash2 had originally initialized a and b to JHASH_GOLDENRATIO and c to initval, but after the patch a, b, and c were initialized to initval + (length << 2) + JHASH_INITVAL. However the changes in jhash_3words simply replaced the initialization of a and b with JHASH_INITVAL. This change corrects what I believe was an oversight so that a, b, and c in jhash_3words all have the same value added consisting of initval + (length << 2) + JHASH_INITVAL so that jhash2 and jhash_3words will now produce the same hash result given the same inputs. Fixes: 60d509c823cca ("The new jhash implementation") Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c5e0ad3f9dca572198f3ad6fbf7dc2e647bcf0c Merge: e79d842 42d255c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 12:40:50 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-04-03 This series contains updates to i40e and i40evf only. Anjali provides a fix for verifying outer UDP receive checksum. Also adds helpful information to display when figuring out the cause of HMC errors. Mitch provides a fix to prevent a malicious or buggy VF driver from sending an invalid index into the VSI array which could panic the host. Cleans up the code where a function was moved, but the message did not follow. Adds protection to the VLAN filter list, same as the MAC filter list, to protect from corruption if the watchdog happens to run at the same time as a VLAN filter is being added/deleted. Jesse changes several memcpy() statements to struct assignments which are type safe and preferable. Fixed a bug when skb allocation fails, where we should not continue using the skb pointer. Also fixed a void function in FCoE which should not be returning anything. Greg fixes both i40e and i40evf to set the Ethernet protocol correctly when transmit VLAN offloads are disabled. Shannon fixes up VLAN messages when ports are added or removed, which were giving bogus index info. Also aligned the message text style with other messages in the driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e79d8429aac95a5cbe4c235795c7cd554c91f924 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Fri Apr 3 22:17:17 2015 +1030 netdevice: document NETDEV_TX_BUSY deprecation. This paraphrases DaveM (and steals some of his words) explaining why a device shouldn't return NETDEV_TX_BUSY, even though it looks so inviting to driver authors. See http://www.spinics.net/lists/netdev/msg322350.html Inspired-by: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 576b7cd2f6ff1e90b3fc0a000d2fe74f8a50a4bb Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Apr 3 12:02:37 2015 +0200 netns: don't allocate an id for dead netns First, let's explain the problem. Suppose you have an ipip interface that stands in the netns foo and its link part in the netns bar (so the netns bar has an nsid into the netns foo). Now, you remove the netns bar: - the bar nsid into the netns foo is removed - the netns exit method of ipip is called, thus our ipip iface is removed: => a netlink message is built in the netns foo to advertise this deletion => this netlink message requests an nsid for bar, thus a new nsid is allocated for bar and never removed. This patch adds a check in peernet2id() so that an id cannot be allocated for a netns which is currently destroyed. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d458f5b4ece8542a5c2281e40008823fec91814 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Apr 3 12:02:36 2015 +0200 Revert "netns: don't clear nsid too early on removal" This reverts commit 4217291e592d ("netns: don't clear nsid too early on removal"). This is not the right fix, it introduces races. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0bd66827220a7292bfbed54fb547c83363e07405 Merge: 11a9c78 00db412 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 12:11:15 2015 -0400 Merge branch 'ipv4-null-cmp' Ian Morris says: ==================== ipv4: coding style - comparisons with NULL Per the suggestion of Joe Perches, attached is a patch which aligns the coding style in ipv4 for comparisons with NULL. The code uses multiple different styles when comparing with NULL (I.e. x == NULL and !x as well as x != NULL and x). Generally the latter form is preferred in netdev and so this changes aligns the code to this style. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00db41243e8d5032c2e0f5bf6063bb19324bfdb3 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 09:17:27 2015 +0100 ipv4: coding style: comparison for inequality with NULL The ipv4 code uses a mixture of coding styles. In some instances check for non-NULL pointer is done as x != NULL and sometimes as x. x is preferred according to checkpatch and this patch makes the code consistent by adopting the latter form. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51456b2914a34d16b1255b7c55d5cbf6a681d306 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 09:17:26 2015 +0100 ipv4: coding style: comparison for equality with NULL The ipv4 code uses a mixture of coding styles. In some instances check for NULL pointer is done as x == NULL and sometimes as !x. !x is preferred according to checkpatch and this patch makes the code consistent by adopting the latter form. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2bfd4d1f8c2bee8b0b8832be0c38d3916713625f Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Apr 3 09:27:58 2015 +0900 ftracetest: Do not use usleep directly The usleep is only provided on distros from Redhat so running ftracetest on other distro resulted in failures due to the missing usleep. The reason of using [u]sleep in the test was to generate (scheduler) events. It can be done various ways like this: yield() { ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1; } For more information to the history of this patch, please refer to: Link: http://lkml.kernel.org/r/1427329943-16896-1-git-send-email-namhyung@xxxxxxxxxx Reported-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reported-by: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Reported-by: Luis Henriques <luis.henriques@xxxxxxxxxxxxx> Suggested-by: Pádraig Brady <P@xxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit e12fb97222fc41e8442896934f76d39ef99b590a Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Fri Apr 3 10:46:58 2015 -0400 ext4: make fsync to sync parent dir in no-journal for real this time Previously commit 14ece1028b3ed53ffec1b1213ffc6acaf79ad77c added a support for for syncing parent directory of newly created inodes to make sure that the inode is not lost after a power failure in no-journal mode. However this does not work in majority of cases, namely: - if the directory has inline data - if the directory is already indexed - if the directory already has at least one block and: - the new entry fits into it - or we've successfully converted it to indexed So in those cases we might lose the inode entirely even after fsync in the no-journal mode. This also includes ext2 default mode obviously. I've noticed this while running xfstest generic/321 and even though the test should fail (we need to run fsck after a crash in no-journal mode) I could not find a newly created entries even when if it was fsynced before. Fix this by adjusting the ext4_add_entry() successful exit paths to set the inode EXT4_STATE_NEWENTRY so that fsync has the chance to fsync the parent directory as well. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Cc: Frank Mayhar <fmayhar@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit c9e15f25f514a76d906be01e621f400cdee94558 Author: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 14:59:15 2015 +0200 debugfs: allow bad parent pointers to be passed in If something went wrong with creating a debugfs file/symlink/directory, that value could be passed down into debugfs again as a parent dentry. To make caller code simpler, just error out if this happens, and don't crash the kernel. Reported-by: Alex Elder <elder@xxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 1ac4e6fee41d6534b6e54dcbed381590e242bdcb Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Mar 27 15:39:46 2015 +0100 DTS: ARM: OMAP3-N900: Add lis3lv02d support This adds support for the N900's accelerometer to the Nokia N900 DTS file. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21e8681862a544517c1c9d6515770efe3897e326 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Mar 27 15:39:45 2015 +0100 Documentation: DT: lis302: update wakeup binding This updated the documentation of the DT binding to describe the added wakeup threshold and second wakeup engine. It also adds a note, that the axis values may be negative. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5131a373613713fccd3b7a377d957391c498f21 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Mar 27 15:39:44 2015 +0100 lis3lv02d: DT: add wakeup unit 2 and wakeup threshold This adds support for the the wakeup threshold and support for the second wakeup unit to the DT based setup. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdcd6f824ecb6b5e5fd6729c2552c1254012c3ca Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Mar 27 15:39:43 2015 +0100 lis3lv02d: DT: use s32 to support negative values st,axis-{x,y,z} can be negative to imply inverted axis. Apart from that the minimal and maximal threshold may be negative. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 797f88c987b02a8de8d4fac94ec2877b92ec35a2 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Tue Mar 31 11:16:41 2015 -0700 Drivers: hv: hv_balloon: correctly handle num_pages>INT_MAX case balloon_wrk.num_pages is __u32 and it comes from host in struct dm_balloon where it is also __u32. We, however, use 'int' in balloon_up() and in case we happen to receive num_pages>INT_MAX request we'll end up allocating zero pages as 'num_pages < alloc_unit' check in alloc_balloon_pages() will pass. Change num_pages type to unsigned int. In real life ballooning request come with num_pages in [512, 32768] range so this is more a future-proof/cleanup. Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba0c444153889a9b672974d85a4a57a8eeb49fe3 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Tue Mar 31 11:16:40 2015 -0700 Drivers: hv: hv_balloon: correctly handle val.freeram<num_pages case 'Drivers: hv: hv_balloon: refuse to balloon below the floor' fix does not correctly handle the case when val.freeram < num_pages as val.freeram is __kernel_ulong_t and the 'val.freeram - num_pages' value will be a huge positive value instead of being negative. Usually host doesn't ask us to balloon more than val.freeram but in case he have a memory hog started after we post the last pressure report we can get into troubles. Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a84d63d22a0ac79ab422b69ef2b4d75002c5641 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Fri Mar 27 00:27:59 2015 +0200 mei: replace check for connection instead of transitioning The function mei_cl_is_transitioning is just opposite of mei_cl_is_connected. What we actually wanted to check is if we lost connection so we can discard the check for transition and check for 'not connected' Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3de9b635d93a3d268adda428e1df94091506a42 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Fri Mar 27 00:27:58 2015 +0200 mei: use mei_cl_is_connected consistently Replace open coded check for cl->state !=/== MEI_FILE_CONNECTED with mei_cl_is_connected function. Note that cl->state != MEI_FILE_CONNECTED is not the same as cl->state == MEI_FILE_DISCONNECTED Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d9013f09203c694e2cba478b05afc6484d55180 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Fri Mar 27 00:27:57 2015 +0200 mei: fix mei_poll operation mei_poll returned with POLLIN w/o checking whether the operation has really completed. remove redundant check and locking in amthif specific handler Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1c0d82dab4a4605d3bd1968436f030dfed4a829 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Fri Mar 27 09:10:14 2015 -0700 hv_vmbus: Add gradually increased delay for retries in vmbus_post_msg() Most of the retries can be done within a millisecond successfully, so we sleep 1ms before the first retry, then gradually increase the retry interval to 2^n with max value of 2048ms. Doing so, we will have shorter overall delay time, because most of the cases succeed within 1-2 attempts. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a1a86ac046091d7228c9f3a283dea5be96275dd Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Mar 27 09:10:13 2015 -0700 Drivers: hv: hv_balloon: survive ballooning request with num_pages=0 ... and simplify alloc_balloon_pages() interface by removing redundant alloc_error from it. If we happen to enter balloon_up() with balloon_wrk.num_pages = 0 we will enter infinite 'while (!done)' loop as alloc_balloon_pages() will be always returning 0 and not setting alloc_error. We will also be sending a meaningless message to the host on every iteration. The 'alloc_unit == 1 && alloc_error -> num_ballooned == 0' change and alloc_error elimination requires a special comment. We do alloc_balloon_pages() with 2 different alloc_unit values and there are 4 different alloc_balloon_pages() results, let's check them all. alloc_unit = 512: 1) num_ballooned = 0, alloc_error = 0: we do 'alloc_unit=1' and retry pre- and post-patch. 2) num_ballooned > 0, alloc_error = 0: we check 'num_ballooned == num_pages' and act accordingly, pre- and post-patch. 3) num_ballooned > 0, alloc_error > 0: we report this chunk and remain within the loop, no changes here. 4) num_ballooned = 0, alloc_error > 0: we do 'alloc_unit=1' and retry pre- and post-patch. alloc_unit = 1: 1) num_ballooned = 0, alloc_error = 0: this can happen in two cases: when we passed 'num_pages=0' to alloc_balloon_pages() or when there was no space in bl_resp to place a single response. The second option is not possible as bl_resp is of PAGE_SIZE size and single response 'union dm_mem_page_range' is 8 bytes, but the first one is (in theory, I think that Hyper-V host never places such requests). Pre-patch code loops forever, post-patch code sends a reply with more_pages = 0 and finishes. 2) num_ballooned > 0, alloc_error = 0: we ran out of space in bl_resp, we report partial success and remain within the loop, no changes pre- and post-patch. 3) num_ballooned > 0, alloc_error > 0: pre-patch code finishes, post-patch code does one more try and if there is no progress (we finish with 'num_ballooned = 0') we finish. So we try a bit harder with this patch. 4) num_ballooned = 0, alloc_error > 0: both pre- and post-patch code enter 'more_pages = 0' branch and finish. So this patch has two real effects: 1) We reply with an empty response to 'num_pages=0' request. 2) We try a bit harder on alloc_unit=1 allocations (and reply with an empty tail reply in case we fail). An empty reply should be supported by host as we were able to send it even with pre-patch code when we were not able to allocate a single page. Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7fb0e1a65075a871c58cbcf8c877d1f9ae5cd83c Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Mar 27 09:10:12 2015 -0700 Drivers: hv: hv_balloon: eliminate jumps in piecewiese linear floor function Commit 79208c57da53 ("Drivers: hv: hv_balloon: Make adjustments in computing the floor") was inacurate as it introduced a jump in our piecewiese linear 'floor' function: At 2048MB we have: Left limit: 104 + 2048/8 = 360 Right limit: 256 + 2048/16 = 384 (so the right value is 232) We now have to make an adjustment at 8192 boundary: 232 + 8192/16 = 744 512 + 8192/32 = 768 (so the right value is 488) Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6cbd2c3a3db437708520c66f285c69ef028ac1f Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Mar 27 09:10:11 2015 -0700 Drivers: hv: hv_balloon: do not online pages in offline blocks Currently we add memory in 128Mb blocks but the request from host can be aligned differently. In such case we add a partially backed block and when this block goes online we skip onlining pages which are not backed (hv_online_page() callback serves this purpose). When we receive next request for the same host add region we online pages which were not backed before with hv_bring_pgs_online(). However, we don't check if the the block in question was onlined and online this tail unconditionally. This is bad as we avoid all online_pages() logic: these pages are not accounted, we don't send notifications (and hv_balloon is not the only receiver of them),... And, first of all, nobody asked as to online these pages. Solve the issue by checking if the last previously backed page was onlined and onlining the tail only in case it was. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aadc3780f31865edc84c587ab718a33a8eeeb09d Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Mar 27 09:10:10 2015 -0700 hv: remove the per-channel workqueue It's not necessary any longer, since we can safely run the blocking message handlers in vmbus_connection.work_queue now. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d43e2fe7da320310834467a3fd87a10adb25a221 Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Mar 27 09:10:09 2015 -0700 hv: don't schedule new works in vmbus_onoffer()/vmbus_onoffer_rescind() Since the 2 fucntions can safely run in vmbus_connection.work_queue without hang, we don't need to schedule new work items into the per-channel workqueue. Actally we can even remove the per-channel workqueue now -- we'll do it in the next patch. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 652594c7dfd9bf6392e3a727bc69d89a2562d953 Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Mar 27 09:10:08 2015 -0700 hv: run non-blocking message handlers in the dispatch tasklet A work item in vmbus_connection.work_queue can sleep, waiting for a new host message (usually it is some kind of "completion" message). Currently the new message will be handled in the same workqueue, but since work items in the workqueue is serialized, we actually have no chance to handle the new message if the current work item is sleeping -- as as result, the current work item will hang forever. K. Y. has posted the below fix to resolve the issue: Drivers: hv: vmbus: Perform device register in the per-channel work element Actually we can simplify the fix by directly running non-blocking message handlers in the dispatch tasklet (inspired by K. Y.). This patch is the fundamental change. The following 2 patches will simplify the message offering and rescind-offering handling a lot. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01081f5ab9916603555f236b11f76bb00e4e01e9 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:41 2015 -0600 coresight: moving to new "hwtracing" directory Keeping drivers related to HW tracing on ARM, i.e coresight, under "drivers/coresight" doesn't make sense when other architectures start rolling out technologies of the same nature. As such creating a new "drivers/hwtracing" directory where all drivers of the same kind can reside, reducing namespace pollution under "drivers/". Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2d6e1849329b7735f2872af4221727c7b9502dd Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:40 2015 -0600 coresight-tmc: Adding a status interface to sysfs Knowing the state of various control register is always useful for degging and tuning. As such add an entry in sysfs that expose to userspace the most important registers. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 223437c72ae008094e43199dea93c3a144c4e153 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Mon Mar 30 14:13:39 2015 -0600 coresight: remove the unnecessary configuration coresight-default-sink The coresight-default-sink configuration option has been removed from the framework. As such remove it from DT and bindings. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0a500efab41c761a1d1fd919d2e42a3a3545b2e Author: Xia Kaixu <kaixu.xia@xxxxxxxxxx> Date: Mon Mar 30 14:13:38 2015 -0600 coresight: adding the LINKSINK block as a sink type >From the TMC TRM, the ETF can be configured as buffer mode, so ETF can be a sink type. Signed-off-by: Xia Kaixu <kaixu.xia@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b29d5c1f057f583bc15be3d1ec4993e90cc53641 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:37 2015 -0600 coresight: Correcting documentation typographical error Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3288731e628e0269c20d86e43b647d0b92f2b3fc Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:36 2015 -0600 coresight: Adding coresight support for arm64 architecture Most CoreSight blocks are 64-bit ready. As such move configuration entries from "arch/arm/Kconfig.config" to the driver's subdirectory and source the newly created Kconfig from architecture specific Kconfig.debug files. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72f641fe6818a403aed52fb3a5b8a241ff76c24f Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:35 2015 -0600 coresight: fixing compilation warnings picked up by 64bit compiler Compiling coresight drivers with a 64-bit compiler highlights a couple of formatting issues, which are fixed by this patch. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c02a5ba34a1fae6def8cb5a39bb582f09bca49c Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:34 2015 -0600 coresight: making cpu index lookup arm64 compliant Function "get_logical_index()" is not available on arm64. Instead of adding the function simply using "of_get_cpu_node()" and comparing the return value with cpu handles yields the same result. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d86fb45b5c52d8f2a3e78e81afd85a2a9d4478d7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 26 22:12:49 2015 +0300 mcb: request_mem_region() returns NULL on error The code here is checking for IS_ERR() when request_mem_region() only returns NULL on error and never an ERR_PTR. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 127af8828518074ab24e9b5678229513d198d832 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Fri Mar 27 11:56:06 2015 +0300 char: xillybus: Don't return -EFAULT on user-triggered flush The API allows the application to flush a host-to-FPGA stream by calling write() with the data count set to zero. Before this patch, copy_from_user() was called with a non-zero byte count, which possibly made it attempt to read from unmapped user memory. Such attempts caused the driver to return -EFAULT instead of 0, even though the desired operation went through fine. This patch ensures the driver returns 0 on a successful flush. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be29bc2eaa5360537df422a237c889dc493492f4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Mar 29 17:04:27 2015 +0200 mic: drop pci_msi_off call on probe pci core now disables msi on probe automatically, drop this from device-specific code. Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 149cb911ae242242e5aae698710bf59e804a96e6 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Apr 1 10:46:19 2015 +0300 spmi: pmic_arb: remove ARM build time dependency Qualcomm PMIC arbiter driver already depends on ARCH_QCOM, which could be either ARM or ARM64. New version of the PMIC arbiter controller is available on 64 bit platforms. Remove ARM dependency to allow driver to be build for 64 bit platforms. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f580d730c90c11be0ef4fe88aff3de80845176cb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 16:46:10 2015 -0700 virtio_console: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b509d8d336eef6d622d66b3ae2a1fc3a072bf92 Author: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx> Date: Tue Mar 31 16:39:21 2015 +0200 misc: pass miscdevice through file's private_data Make the miscdevice accessible through the file's private_data. Previously, this was done only when an open() file operation had been registered. If no custom open() file operation was defined, private_data was set to NULL. This subtle quirk was confusing, to the point where kernel code registered *empty* file open operations to have private_data point to the misc device structure and avoid duplicating that logic. And it could easily lead to bugs, where the addition or removal of a custom open() file operation surprisingly changes the initial value of a file's private_data structure. To resolve this, we now place the miscdevice in the file's private_data member unconditionally when open() is called. Signed-off-by: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16c9c8e1ae228e89b66cbc03ec6c753ee44d39bc Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 16:04:21 2015 +0200 Revert "uio: constify of_device_id array" This reverts commit 4d8beff2ae07fad85d723b4cdf704b05f0ed4794. It causes build warnings, and it's incorrect as we do write to this structure. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b3075c59f858d64478f46a15daa6ecda3cf2318 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed Apr 1 01:37:05 2015 -0700 nfsd: add NFSEXP_PNFS to the exflags array Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c4151700bbf661d0f73c1beffb35b2039f5306fd Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Mar 31 11:58:55 2015 +0300 Staging: rtl8192u: use correct array for debug output This is supposed to be ->rates_ex[] instead of ->rates[]. I found this because static checkers complain than ->rates is too small so we're reading beyond the end of the array. It has 12 elements instead of 15. This bug was apparently copy and pasted from ipw2x00. I fixed it before in that driver 428e3cf5f98c ('ipw2x00: printing the wrong array in debug code') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8852112e1c23a27e41f1b6b401c254c2de0f82b5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:38 2015 +0200 staging: rtl8192e: Remove dead code Remove commented-out code Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14b40d92881533dca8b25647f105b9546433cda2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:37 2015 +0200 staging: rtl8192e: Comment cleanup (style/format) - Multiline comments use "network subsystem comment style" - Merge short multiline comments - Remove empty comments - Remove function name comment at the end of small (<1 screen) functions - Reformat 802.11 data frame format to use spaces and network format Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e725fb6f814b290fbf967e475f2a136efca66986 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:36 2015 +0200 staging: rtl8192e: Fix indentation in rtllib_rx_auth_resp() Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7567e20708ed4129ccec1a21c4c55b9725b66d0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:35 2015 +0200 staging: rtl8192e: Decrease nesting of rtllib_rx_auth_resp() Return from rtllib_rx_auth_resp() if auth_parse() fails. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f05b0b01ea1593c8cc6311704c227fb0d08b04 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:34 2015 +0200 staging: rtl8192e: Divide rtllib_rx_auth() Move authentication response processing to rtllib_rx_auth_resp() function. No logic is affected. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61dbdf36f2f1083a0b224afbb0feb13ad44792a5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:33 2015 +0200 staging: rtl8192e: Fix PRINTK_WITHOUT_KERN_LEVEL warnings Replace custom hex dumping function with print_hex_dump_bytes() to make checkpatch.pl happy Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff28b74c1c1d2fdb899dc646fc1e536365794af4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:32 2015 +0200 staging: rtl8192e: Fix DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON warning Fix 'do {} while (0) macros should not be semicolon terminated' checkpatch.pl warning Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bec027ea3845058bf8e7cf2c00626374963c3ca5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:31 2015 +0200 staging: rtl8192e: Fix BRACES warning Fix 'braces {} are not necessary for single statement blocks' checkpatch.pl warning Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2ac043118eed826444972bd81ab0bf70461a0fe Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:30 2015 +0200 staging: rtl8192e: Fix LINE_CONTINUATIONS warning Fix 'Avoid unnecessary line continuations' checkpatch.pl warning Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 025b8bbe49939dfd68a57cc94bca65c39a5409b8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:29 2015 +0200 staging: rtl8192e: Fix UNNECESSARY_PARENTHESES warnings Fix 'Unnecessary parentheses' checkpatch.pl warning Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2e70746e9ae42620a5790926736864c03ac5245 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:28 2015 +0200 staging: rtl8192e: remove unused EXPORT_SYMBOL_RSL macro This macro caused checkpatch.pl warning and is not used. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f0688b3ced6cf085a1bce52fb9984ecc8f39a45 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:27 2015 +0200 staging: rtl8192e: Fix RETURN_VOID warnings Fix 'void function return statements are not generally useful' checkpatch.pl warnings Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 285b7c00e06b4fdd6e9ac63b9b8082508340f1ab Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:26 2015 +0200 staging: rtl8192e: Fix UNNECESSARY_ELSE warning Fix checkpatch warnings 'else is not generally useful after a break or return' Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b51311c976593fb7311322b1647a912cd456ec4 Author: Borislav Petkov <bp@xxxxxxxxx> Date: Fri Apr 3 14:25:28 2015 +0200 x86/asm/entry/64: Use a define for an invalid segment selector ... instead of a naked number, for better readability. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428054130-25847-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7c74d5b7b7b63fc279ed446ebd78de20d81f2824 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Apr 3 11:42:10 2015 +0200 x86/asm/entry/64: Fix MSR_IA32_SYSENTER_CS MSR value Commit: d56fe4bf5f3c ("x86/asm/entry/64: Always set up SYSENTER MSRs") missed to add "ULL" to the 0 and wrmsrl_safe() complains: arch/x86/kernel/cpu/common.c: In function â??syscall_initâ??: arch/x86/kernel/cpu/common.c:1226:2: warning: right shift count >= width of type wrmsrl_safe(MSR_IA32_SYSENTER_CS, 0); Fix it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428054130-25847-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 78cac48c0434c82e860fade3cd0420a7a4adbb08 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Apr 1 12:49:52 2015 +0200 x86/mm/KASLR: Propagate KASLR status to kernel proper Commit: e2b32e678513 ("x86, kaslr: randomize module base load address") made module base address randomization unconditional and didn't regard disabled KKASLR due to CONFIG_HIBERNATION and command line option "nokaslr". For more info see (now reverted) commit: f47233c2d34f ("x86/mm/ASLR: Propagate base load address calculation") In order to propagate KASLR status to kernel proper, we need a single bit in boot_params.hdr.loadflags and we've chosen bit 1 thus leaving the top-down allocated bits for bits supposed to be used by the bootloader. Originally-From: Jiri Kosina <jkosina@xxxxxxx> Suggested-by: H. Peter Anvin <hpa@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 28eb1f3b640f793371a7cac599f3ac0f89f63b54 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:58 2015 -0400 staging: rtl8723au: Remove unneeded comments This commit removes a number of unneeded comments. Two of the aforementioned comments were most likely meant to aid with version control, whereas the remaining two comments relate to (now unused) local variable names. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58b39a90977c3ac067895c87c3940132f6adc1c4 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:57 2015 -0400 staging: rtl8723au: Use __func__ in trace logs Rework the trace log-related lines in rtl8723au's rtw_security.c to use the __func__ GCC magic variable instead of hardcoding the function names into the trace log strings. This also corrects a copy-paste-related typo in the function named rtw_tkip_decrypt23a. Thanks to Jes Sorensen for the suggestion to use __func__. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87a432944f13b408167208dc509a8af62c66312c Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:56 2015 -0400 staging: rtl8723au: Rework two byte array comparisons Prior to this commit, rtl8723au's rtw_security.c had two instances of byte array comparisons (for CRC checks) where the individual elements of the byte arrays were compared one by one and an error trace would be output if the byte arrays were determined to be different. This commit improves the readability of the CRC verification by placing the individual 4 bytes of each byte array into an 32-bit unsigned integer and comparing the two resulting integers. Thanks to Larry Finger for spotting the code style issues in the previous version of this commit, and thanks to Joe Perches for suggesting the use of 32-bit integer comparisons instead of byte array comparisons. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 046ca5f7e10c476a6fd762c1561cc07f259f97a8 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:55 2015 -0400 staging: rtl8723au: suspect code indent for conditional statements Correct a number of indentation-with-spaces-and-tabs issues in rtl8723au's rtw_security.c, according to checkpatch.pl: WARNING: suspect code indent for conditional statements Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d6b1ac0b654e5d94b6f92292a7047d33af44d2e Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:54 2015 -0400 staging: rtl8723au: Adjust whitespace in and around comments As the subject indicates, adjust whitespace in and around comments in rtl8723au's rtw_security.c. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 268523aa6a408f9b9ea04fdd8b344c2b5fbcf2e4 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:53 2015 -0400 staging: rtl8723au: No spaces at the start of a line Prior to this commit, a large block of constants used to represent an AES S-box table were indented with spaces in rtl8723au's rtw_security.c. Correct the checkpatch.pl warnings indicating that spaces should not be used to indent lines: WARNING: please, no spaces at the start of a line Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3104ebad91c15b9b3b17d28837b67f0a74088dbe Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:52 2015 -0400 staging: rtl8723au: that open brace should be on the previous line Correct two instances of the checkpatch.pl error indicating that the opening curly braces should not be on new lines: ERROR: that open brace { should be on the previous line Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06641b2a38447c2c446af5e6b1a15b06f7535433 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:51 2015 -0400 staging: rtl8723au: trailing statements should be on next line Correct a number of checkpatch.pl errors in rtl8723au's rtw_security.c related to trailing statements: ERROR: trailing statements should be on next line Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47b720a16cff11ba822000104bac7dcf6fa1cfbb Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:50 2015 -0400 staging: rtl8723au: Remove unneeded curly braces Correct a number of checkpatch.pl warnings in rtl8723au's rtw_security.c related to the existence of unnecessary curly braces around single statement blocks: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 444c704321a6e97efbc16d252cbecb5897749221 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:49 2015 -0400 staging: rtl8723au: else is not generally useful after a return Correct a checkpatch.pl warning regarding rtl8723au's rtw_security.c::crc32_init pointing out that having an else statement after a break or a return is not useful. drivers/staging/rtl8723au/core/rtw_security.c:105: WARNING: else is not generally useful after a break or return Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3cc7593ecaf1c2b84e36fccccd81b6d3a8dd104 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:48 2015 -0400 staging: rtl8723au: Reorganize a few functions to remove indentation Prior to this commit, functions rtw_tkip_encrypt23a and rtw_tkip_decrypt23a had large if blocks which contained the majority of the logic in the functions. Rework these functions so that if the negated version of the aforementioned if blocks' conditions are true, we return from the function with _FAIL, as expected by the calling code. This lets us remove two levels of indentation from the functions in question, making them more readable. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2390239582fbb16564bed93e37ca4cf8d219c79 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:47 2015 -0400 staging: rtl8723au: Fix the indentation of two lines Correct the indentation of two lines in rtw_tkip_encrypt23a function in rtl8723au's rtw_security.c. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d7b3a7bb81fb585a4f794667297406438605090 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:46 2015 -0400 staging: rtl8723au: else should follow close brace Correct checkpatch.pl errors in rtl8723au's rtw_security.c indicating that an else statement should follow the closing brace of the previous if/else if code block: ERROR: else should follow close brace '}' Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c0cfd4b6f51af9a935dbec680a60a4521b5f2b8 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:45 2015 -0400 staging: rtl8723au: Fix "before/around/after" whitespace issues Correct a number of "space(s) required before/around/after" checkpatch.pl issues in a number of functions in rtl8723au's rtw_security.c. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f321c9cbf3bbf86f6e6153419eaf93ad085e3d74 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 15:25:04 2015 +0200 PM / watchdog: iTCO: stop watchdog during system suspend If the target sleep state of the system is not an ACPI sleep state (S1, S2 or S3), the TCO watchdog needs to be stopped during system suspend, because it may not be possible to ping it any more after timekeeping has been suspended (suspend-to-idle does that for one example). For this reason, provide ->suspend_noirq and ->resume_noirq callbacks for the iTCO watchdog driver and use them to stop and restart the watchdog during system suspend and resume, respectively, if the system is not going to enter an ACPI sleep state (in which case the watchdog will be stopped by the platform firmware before the state is entered). Reported-and-tested-by: Borun Fu <borun.fu@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 7f99f8b94c9355acdb14f1be28cb19aac741da68 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Apr 1 22:32:04 2015 +0100 x86/earlyprintk: Put CONFIG_PCI-only functions under the #ifdef Two static functions are only used if CONFIG_PCI is defined, so only build them if this is the case. Fixes the build warnings: arch/x86/kernel/early_printk.c:98:13: warning: â??mem32_serial_outâ?? defined but not used [-Wunused-function] static void mem32_serial_out(unsigned long addr, int offset, int value) ^ arch/x86/kernel/early_printk.c:105:21: warning: â??mem32_serial_inâ?? defined but not used [-Wunused-function] static unsigned int mem32_serial_in(unsigned long addr, int offset) ^ Also convert a few related instances of uintXX_t to kernel specific uXX defines. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: stuart.r.anderson@xxxxxxxxx Link: http://lkml.kernel.org/r/1427923924-22653-1-git-send-email-mark.einon@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cee8f5a6c8c917613dd021552909d071b1dab592 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Tue Mar 31 10:04:41 2015 -0500 x86/mce/severity: Fix warning about indented braces Dan reported compiler warnings about missing curly braces in mce_severity_amd(). Reindent the catch-all "return MCE_AR_SEVERITY" correctly to single tab. While at it, chain ctx == IN_KERNEL check with mcgstatus check to make it cleaner, as suggested by Boris. No functional changes are introduced by this patch. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427814281-18192-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit def747087e83aa5f6a71582cfa71e18341988688 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 15:31:32 2015 +0200 timers/PM: Drop unnecessary braces from tick_freeze() Some braces in tick_freeze() are not necessary, so drop them. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: peterz@xxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1534128.H5hN3KBFB4@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 422fe7502e3f16dc1c680f22d31f59f022edc10d Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 15:21:51 2015 +0200 timers/PM: Fix up tick_unfreeze() A recent conflict resolution has left tick_resume() in tick_unfreeze() which leads to an unbalanced execution of tick_resume_broadcast() every time that function runs. Fix that by replacing the tick_resume() in tick_unfreeze() with tick_resume_local() as appropriate. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: boris.ostrovsky@xxxxxxxxxx Cc: david.vrabel@xxxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: peterz@xxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8099075.V0LvN3pQAV@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f5d8bde742a5dbea11eed35a026bc4d968001119 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:44 2015 -0400 staging: rtl8723au: Reformat whitespace to increase readability Adjust the whitespace in the signature, local variable declaration and initialization parts of a number of functions to increase readability in rtl8723au's rtw_security.c. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f47c28b5a0346728259291d9e4a1de90a5d3624 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Mar 29 14:54:12 2015 +0200 staging: rtl8712: Drop unneeded cast on netdev_priv The result of netdev_priv is already implicitly cast to the type of the left side of the assignment. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; T *x; @@ x = - (T *) netdev_priv(...) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86d7b29e12b3bfba9b46761448476c878cf6e8b1 Author: Phong Tran <tranmanphong@xxxxxxxxx> Date: Thu Apr 2 21:36:05 2015 +0700 staging: android: ion_test: Add the MODULE_LICENSE macro Base on the file comment should define GPL v2 for ion test driver Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6388e68321a1e0a0f408379c2a36396807745b3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Apr 1 22:32:52 2015 +0100 staging: vt6655: use ieee80211_tx_info to select packet type. Information for packet type is in ieee80211_tx_info band IEEE80211_BAND_5GHZ for PK_TYPE_11A. IEEE80211_TX_RC_USE_CTS_PROTECT via tx_rate flags selects PK_TYPE_11GB This ensures that the packet is always the right type. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+ Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df18480650df1d9dc94188bc7dd7e47b5c888d05 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Apr 1 22:32:51 2015 +0100 staging: vt6655: s_vGenerateTxParameter Replace PSTxBufHead with struct vnt_tx_fifo_head With endian correction on fifo_ctl and current_rate. Removing pTxBufHead, pFifoHead and wFifoCtl Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d049c7f8191440d881bf2224af8ed0de74d8d9a3 Author: Piotr Witoslawski <pwitos@xxxxxxxxx> Date: Thu Apr 2 15:37:30 2015 +0200 drivers: staging: rtl8723au: fix "warning: cast to restricted __le16" This patch fixes the sparse warning: "cast to restricted __le16" reported for rtl8723au/hal/rtl8723au_xmit.c Signed-off-by: Piotr Witoslawski <pwitos@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0429c2b5c1c4c8ba6cd563c1964baf3ed238df26 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Fri Apr 3 09:04:04 2015 -0400 locks: use cmpxchg to assign i_flctx pointer During the v3.20/v4.0 cycle, I had originally had the code manage the inode->i_flctx pointer using a compare-and-swap operation instead of the i_lock. Sasha Levin though hit a problem while testing with trinity that made me believe that that wasn't safe. At the time, changing the code to protect the i_flctx pointer seemed to fix the issue, but I now think that was just coincidence. The issue was likely the same race that Kirill Shutemov hit while testing the pre-rc1 v4.0 kernel and that Linus spotted. Due to the way that the spinlock was dropped in the middle of flock_lock_file, you could end up with multiple flock locks for the same struct file on the inode. Reinstate the use of a CAS operation to assign this pointer since it's likely to be more efficient and gets the i_lock completely out of the file locking business. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 3648888e90bb7fe6d0586ec177511e6678ee22c3 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Fri Apr 3 09:04:04 2015 -0400 locks: get rid of WE_CAN_BREAK_LSLK_NOW dead code As Bruce points out, there's no compelling reason to change /proc/locks output at this point. If we did want to do this, then we'd almost certainly want to introduce a new file to display this info (maybe via debugfs?). Let's remove the dead WE_CAN_BREAK_LSLK_NOW ifdef here and just plan to stay with the legacy format. Reported-by: J. Bruce Fields <bfields@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit cae80b305e1c3944746dd93e33e9b2ccd5a490c1 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Fri Apr 3 09:04:04 2015 -0400 locks: change lm_get_owner and lm_put_owner prototypes The current prototypes for these operations are somewhat awkward as they deal with fl_owners but take struct file_lock arguments. In the future, we'll want to be able to take references without necessarily dealing with a struct file_lock. Change them to take fl_owner_t arguments instead and have the callers deal with assigning the values to the file_lock structs. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 5c1c669a1b2435e071d566b6db1a8e6b26542ba1 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Fri Apr 3 09:04:03 2015 -0400 locks: don't allocate a lock context for an F_UNLCK request In the event that we get an F_UNLCK request on an inode that has no lock context, there is no reason to allocate one. Change locks_get_lock_context to take a "type" pointer and avoid allocating a new context if it's F_UNLCK. Then, fix the callers to return appropriately if that function returns NULL. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 663d5af750b8c025d0dfea2cf2a4b4a78cafa3a7 Author: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Date: Fri Apr 3 09:04:03 2015 -0400 locks: Add lockdep assertion for blocked_lock_lock Annonate insert, remove and iterate function that we need blocked_lock_lock held. Signed-off-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 9b8c86956dea44276e2b2bb368f1f34895f4c5ea Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Fri Apr 3 09:04:02 2015 -0400 locks: remove extraneous IS_POSIX and IS_FLOCK tests We know that the locks being passed into this function are of the correct type, now that they live on their own lists. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 9cd29044bd7be430f0d38620a6b0b6a0c017c6c9 Author: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Date: Fri Apr 3 09:04:02 2015 -0400 locks: Remove unnecessary IS_POSIX test Since following change commit bd61e0a9c852de2d705b6f1bb2cc54c5774db570 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Jan 16 15:05:55 2015 -0500 locks: convert posix locks to file_lock_context all Posix locks are kept on their a separate list, so the test is redudant. Signed-off-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Cc: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Cc: "J. Bruce Fields" <bfields@xxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit e95cf393d2097a7744f98de1c7936fcbde0843e3 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Apr 1 07:42:41 2015 +0100 MAINTAINERS: Add phy-miphy28lp.c and phy-miphy365x.c to ARCH/STI architecture This patch adds the phy-miphy28lp.c and phy-miphy365x.c phy drivers found on STMicroelectronics stih407 family 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: Kishon Vijay Abraham I <kishon@xxxxxx> commit 407ed8357464851cf12d68c4a969cd933f8dbcaf Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Apr 1 08:45:33 2015 +0800 phy: spear1340-miphy: Return proper error for spear1340_miphy_xlate The of_xlate callback should return ERR_PTR on error. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 247e21c613649f34bcf2f71e57e813e6ed18b458 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Apr 1 08:44:32 2015 +0800 phy: spear1310-miphy: Return proper error for spear1310_miphy_xlate The of_xlate callback should return ERR_PTR on error. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit fbea230e7884044ee2e84bb28f6879dc30e1db24 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Mar 30 16:17:07 2015 +0100 phy: miphy365x: Use the generic phy type constants in dt-bindings/phy/phy.h Now there are generic phy type constants declared in phy.h, migrate over to using them rather than defining our own. This change has been done as one atomic commit to be bisectable. Note: The values of the defines are the same, so there is no ABI breakage with this patch. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 9c3b443026368583d2df3373a11b1c18c361d9a6 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Mar 14 11:57:16 2015 +0800 phy: Add driver to support individual USB PHYs on sun9i Unlike previous Allwinner SoCs, there is no central PHY control block on the A80. Also, OTG support is completely split off into a different controller. This adds a new driver to support the regular USB PHYs. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 609adde838f4557f9d209b0432f4bac5c5eb5e86 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 19 17:08:07 2015 -0700 phy: Add a driver for dm816x USB PHY Add a minimal driver for dm816x USB. This makes USB work on dm816x without any other changes needed as it can use the existing musb_dsps glue layer for the USB controller. Note that this phy is different from dm814x and am335x. Cc: Bin Liu <binmlist@xxxxxxxxx> Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 52ea796b9161b1b81242e6831d9e128ee207ad2d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Mar 23 12:08:18 2015 +0800 phy: qcom-ufs: Don't return error if fail to get optional resource "dev_ref_clk_ctrl_mem" is optional resource, so don't return error if fail to get the resource. Since it's an optional resource, don't emit error if fail to get dev_ref_clk_ctrl_mem. Also remove redundant test for res, it's done by devm_ioremap_resource(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 358d6c87e73310c8e6564153cb556c0cd9e523fc Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Mar 23 11:54:50 2015 +0800 phy: qcom-ufs: Fix build error due to missing export symbols Fix below build error when compile the driver as a module. ERROR: "ufs_qcom_phy_power_off" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_power_on" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_exit" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_calibrate" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_generic_probe" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_init_vregulators" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_init_clks" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_remove" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "get_ufs_qcom_phy" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_power_off" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_power_on" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_exit" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_generic_probe" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_init_vregulators" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_init_clks" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_calibrate" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_remove" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "get_ufs_qcom_phy" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a4820acfaf179982a86783ee0c0d5d39a9c5ab20 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Mar 29 14:54:14 2015 +0200 staging: ft1000: Drop unneeded cast on netdev_priv The result of netdev_priv is already implicitly cast to the type of the left side of the assignment. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; T *x; @@ x = - (T *) netdev_priv(...) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 528a5691ad2f687d8f59ce1f3d058507a00927b6 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 21:46:29 2015 +0200 staging: octeon-ethernet: delete cvm_oct_set_carrier() Delete unused function cvm_oct_set_carrier(). Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 203d77621405345c1f3ffc4c1db3f7ff89571b58 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 21:24:34 2015 +0200 staging: octeon-usb: make CVMX_WAIT_FOR_FIELD32 to take condition expression Make CVMX_WAIT_FOR_FIELD32 to take full condition expression. This should make the usage simpler, and the macro more readable. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6068e81879c81f83b1e3dcaa02746b20be2af0c0 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 21:24:33 2015 +0200 staging: octeon-usb: assume union type for FIELD32 macros Assume union type for FIELD32 macros to simplify usage. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a02e8d211d54d2e8f6a3b22cff72f2a4b2933e1 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 21:24:32 2015 +0200 staging: octeon-usb: octeon_usb_probe: delete unused variable "flags" is not used, delete it. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3d3390d1ee4a7e30cc48402c434eca82c16cb38 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 21:24:31 2015 +0200 staging: octeon-usb: make cvmx_fifo_setup void Make cvmx_fifo_setup void, it does not return any value. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a227437e860d3b7d5584a14b60953992b0634f7f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 30 12:59:49 2015 +0200 staging/olpc: drop pci dependencies This file does not use any pci APIs, drop pci header includes. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b0a9b10378d25b9ecb11ed85a983a82d3b7799e Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:09 2015 -0500 staging: fsl-mc: Changed version matching rules for MC object drivers Before this change, we were requiring a complete version match (major and minor version numbers) between MC objects and corresponding drivers, to allow MC objects to be bound to their drivers. We realized that a mismatch in minor version numbers should be tolerated, as long as the major version numbers match. This allows the driver to decide what to do in the minor version mismatch case. For example, a driver may decide to run with downgraded functionality if the MC firmware object has older minor version number than the driver. Also, a driver with older minor version than the MC firmware object may decide to run even though it cannot use newer functionality of the MC object. As part of this change, the dpmng Flib version was also updated to match the latest MC firmware version. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e91ffa9ec18e79214eef9bafc400f5d3b8d4aa98 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:08 2015 -0500 staging: fsl-mc: Refactored fsl_mc_object_allocator driver init/exit The fsl_mc_allocator driver does not need to be its own module as it is tightly integrated into the MC bus main driver. It is really just a sub-component of the MC bus driver. By not making fsl_mc_allocator its own module, we can have more control of when its initialization happens and we want it to happen before any driver that depends on the MC bus driver gets initialized. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bdc55d94fef59296f9f1aeda2a503d4c64cad86 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:07 2015 -0500 staging: fsl-mc: Fix crash in fsl_mc_device_remove() Only call fsl_mc_io_destroy() if the DPRC being removed actually had an mc_io object associated with. Child DPRCs that have not been bound to the DPRC driver or the VFIO driver will not have an mc_io associated with them. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1663e80982eef51892576cb2e3d4978af787ca4d Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:06 2015 -0500 staging: fsl-mc: Bind/unbind driver when MC object is plugged/unplugged Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b528775948d9224c0eb26ed1c0fab973e6b2502 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:05 2015 -0500 staging: fsl-mc: Removed reordering of MC objects during bus scan MC objects discovered during an MC bus scan were being reordered to ensure that all allocatable objects are probed before all non-allocatable objects. However, this is not necessary, as drivers of non-allocatable objects, that allocate allocatable objects in their probe function, can return -EPROBE_DEFER if such allocations fail. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f83e775d6ef55ea4edbe2740b8a56a94f97158b5 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Mar 28 14:33:41 2015 +0530 staging: sm7xxfb: disable pci device disable the pci device when the module exits. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77371fbd440f482bc6f092d8a33d141f45dc3b70 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:04 2015 -0500 staging: fsl-mc: Name MC object devices using decimal numbers MC object devices were being named using hexadecimaal numbers. This was not consistent with the object naming conventions used by MC DPLs and the MC restool. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f30a746bec5507d9781e876626d4bba7f5ab0c8e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Mar 28 14:33:40 2015 +0530 staging: sm7xxfb: reserve PCI resource before starting to access any address inside the PCI region we should reserve the resource and release the resource when the module exits. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63b8ebe44ab6bc812f849818250e49e9157c309c Author: Shirish Gajera <gshirishfree@xxxxxxxxx> Date: Sat Mar 28 13:21:39 2015 -0700 staging: speakup: Fix warning of line over 80 characters. This patch fixes the checkpatch.pl warning: WARNING: line over 80 characters All line over 80 characters in driver/staging/speakup/* are fixed. Signed-off-by: Shirish Gajera <gshirishfree@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f688833662dac4c48dcc18198a1a3a35fcbf0cd Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Mar 27 15:26:11 2015 +0530 staging: unisys: remove forward declaration rearranged the functions to get rid of the forward declarations. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e71c9e42799ad5a7ece815a14cd8467eaa3be26 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Mar 27 15:26:10 2015 +0530 staging: unisys: use error codes we were just returning -1 to the calling function which was again returning that if the module failed to load. Now we are returning the actual error codes. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bdb610142fc0433077e24bb36f90e7c52bcaded Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Mar 27 15:26:09 2015 +0530 staging: unisys: unregister chardev on error after registering the major numbers if the cdev_add fails then we were not releasing the major numbers. now we are doing that. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61c507cf652da1bc8436bdb909343f33175fd566 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:27:25 2015 +0100 staging: sm750: move assignment out of if cond This patch moves the assignments from the if conditions to the line before the condition. The 3 occurrence are return values and the checks for errors. Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb1167a36cdb48ae6328132ad68bf1bdc29339cf Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:27:09 2015 +0100 staging: sm750: fix whitspace for cast to pointer This patch fixes the checkpatch.pl warning: 'ERROR: "(foo*)" should be "(foo *)"' Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0c838f10a18982a02f1a46904637748d066a6b9 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:26:52 2015 +0100 staging: sm750: fix whitespace This patch fixes whitespace checkpatch.pl warnings and errors. Mainly whitespaces around operators. - ERROR: spaces required around that ':' (ctx:VxW) - ERROR: space required after that ';' (ctx:VxV) - ERROR: spaces required around that '<' (ctx:VxV) - ERROR: spaces required around that '!=' (ctx:VxV) And some small warnings around whitespace: - ERROR: trailing whitespace - WARNING: space prohibited before semicolon - WARNING: unnecessary whitespace before a quoted newline Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 876e5a701f17e447ca6a828b9eda320f1cd835d7 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:26:37 2015 +0100 staging: sm750: blank line after declaration This patch fixes "WARNING: Missing a blank line after declaration" checkpatch.pl warnings. Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3318bb5e945f7007842fef4b6c69e559bc6a0e79 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:26:23 2015 +0100 staging: sm750: 80 characters per line This patch inserts line breaks to make lines fit into 80 characters and increase readability. Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bd9503d0becdb6f825fc13b3f4f5a194a91f7be Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:26:04 2015 +0100 staging: sm750: comment formating This patch fixes checkpatch.pl warnings / errors: - "WARNING: please, no space before tabs" - "ERROR: do not use C99 // comments" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f46a04c75605fd55879c797fd7f349f8cb32bb88 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Fri Mar 27 19:42:48 2015 +0100 staging: sm750: no braces for single stmt if blocks This patches fixes checkpatch.pl warning: "WARNING: braces {} are not necessary for single statement blocks" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27fa159bd2958ed2146d794c295c32e4fe4dd055 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:25:37 2015 +0100 staging: sm750: fix whitespaces around pointers This patch fixes checkpatch.pl errors: - ERROR: "foo * bar" should be "foo *bar" - ERROR: "foo* bar" should be "foo *bar" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ace4e10c1cf7c8e9069b1299582899a61c9994f Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:25:22 2015 +0100 staging: sm750: fix whitespace around braces Fix multiple similar checkpatch.pl errors: - "ERROR: space required before the open parenthesis '('" - "ERROR: space required before the open brace '{'" - "ERROR: space prohibited after that open parenthesis '('" - "ERROR: space prohibited before that close parenthesis ')'" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70407df77665c0e6bb6f6dea5e1561670fbadf18 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:25:08 2015 +0100 staging: sm750: move '{' to previous line Fix checkpatch.pl error: "ERROR: that open brace { should be on the previous line" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45e3b3da820ae612268294caac44776beb5ab885 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:24:53 2015 +0100 staging: sm750: add missing spaces after ',' Fixes checkpatch.pl error: "ERROR: space required after that ',' (ctx:VxV)" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c52c3700d8a603dace184aed453c5e635645c523 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:24:32 2015 +0100 staging: sm750: Reindent The reindent fixes the "WARNING: please, no spaces at the start of a line", "ERROR: code indent should use tabs where possible" and some other small checkpatch.pl warnings and errors. Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7e8bdf5872c5a8f5a6494e16fe839c38a0d3d3d Author: Thomas Schlichter <thomas.schlichter@xxxxxx> Date: Tue Mar 31 20:24:39 2015 +0200 cpuidle: ACPI: do not overwrite name and description of C0 Fix a bug that leads to showing the name and description of C-state C0 as "<null>" in sysfs after the ACPI C-states changed (e.g. after AC->DC or DC->AC transition). The function poll_idle_init() in drivers/cpuidle/driver.c initializes the state 0 during cpuidle_register_driver(), so we better do not overwrite it again with '\0' during acpi_processor_cst_has_changed(). Signed-off-by: Thomas Schlichter <thomas.schlichter@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: 3.13+ <stable@xxxxxxxxxxxxxxx> # 3.13+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d75e4af14e228bbe3f86e29bcecb8e6be98d4e04 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Mar 31 20:15:09 2015 +0200 cpuidle: remove state_count field from struct cpuidle_device Thomas Schlichter reports the following issue on his Samsung NC20: "The C-states C1 and C2 to the OS when connected to AC, and additionally provides the C3 C-state when disconnected from AC. However, the number of C-states shown in sysfs is fixed to the number of C-states present at boot. If I boot with AC connected, I always only see the C-states up to C2 even if I disconnect AC. The reason is commit 130a5f692425 (ACPI / cpuidle: remove dev->state_count setting). It removes the update of dev->state_count, but sysfs uses exactly this variable to show the C-states. The fix is to use drv->state_count in sysfs. As this is currently the last user of dev->state_count, this variable can be completely removed." Remove dev->state_count as per the above. Reported-by: Thomas Schlichter <thomas.schlichter@xxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: 3.14+ <stable@xxxxxxxxxxxxxxx> # 3.14+ [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4c97b37a8447976f95493afc45dfdcb160dae4bf Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:40 2015 +0000 staging: comedi: remove "comedi_fc.h" None of the comedi low-level drivers include "comedi_fc.h" any longer, 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 8a8626b4f83a66bd219964127b1bfad75ff55615 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:39 2015 +0000 staging: comedi: usbduxsigma: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f53398ebde69e7f554cdb7ab3d7e34f855557701 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:38 2015 +0000 staging: comedi: usbduxfast: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b012d948c00f1c74c7e70ab7444ff3f3944778f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:37 2015 +0000 staging: comedi: usbdux: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d044e28f38dcc5b9de460eb0ce8a68df5cc2707b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:36 2015 +0000 staging: comedi: s626: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57fab5a22edc3841ae2b9be189a756afd92fe29d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:35 2015 +0000 staging: comedi: rtd520: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75a12586cb717fb57197d3b3a9467ebab216c984 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:34 2015 +0000 staging: comedi: quatech_daqp_cs: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21de3b8d84dd8ec0e129c7d2909e135e8af6f58e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:33 2015 +0000 staging: comedi: pcmuio: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b21a766f7c5476db7730653bee2915ff0a9e40a8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:32 2015 +0000 staging: comedi: pcmmio: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95373ceb1e236c0d9ca298b7db028a11115b5297 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:31 2015 +0000 staging: comedi: pcl818: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cf36bd747a631afa78e59518f65368ab3f6708f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:30 2015 +0000 staging: comedi: pcl816: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75ebc7fe7a55bc19f6c56742aa34cccb42c754b7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:29 2015 +0000 staging: comedi: pcl812: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdd62d8dde7dd13f6640b3de89613a70aa68ed0e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:28 2015 +0000 staging: comedi: pcl726: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1efa78f6bcbbde6437ac487411dcc1ca672b4e77 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:27 2015 +0000 staging: comedi: pcl711: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eeae1cc974a711478cf7b229dec7f69321f999ad Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:26 2015 +0000 staging: comedi: ni_tiocmd: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21ebbb1473fa5b148c77a218a77e008179643309 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:25 2015 +0000 staging: comedi: ni_pcidio: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 311fd9b2e59fee401c884bb4eca8897a25d5e6d2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:24 2015 +0000 staging: comedi: ni_mio_common: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4179164e9f9e3fd6d2d8be6eb37df8135f106354 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:23 2015 +0000 staging: comedi: ni_labpc_common: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2684a5e94a3b126a46d14ab438769db228112d79 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:22 2015 +0000 staging: comedi: ni_atmio16d: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ded2468314ea8f81be3ee16f398ee8206fe22f37 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:21 2015 +0000 staging: comedi: ni_at_a2150: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e9782c1c20412f535b10f62dce5d525a2fd4e41 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:20 2015 +0000 staging: comedi: ni_65xx: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6664e2efa2e643975c6eba712fd0c1034681410c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:19 2015 +0000 staging: comedi: ni_6527: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51ec1db9d93422b1bbe536bd93e0589bafafd336 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:18 2015 +0000 staging: comedi: me4000: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86ca1cdda3e8e4aa76dd9289f302349f96414fc5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:17 2015 +0000 staging: comedi: gsc_hpdi: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9a3c4317b96b794ea013f512adbf1aab4121185 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:16 2015 +0000 staging: comedi: dt3000: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34e444c8581866a32e7f3ed3229909c732c621f5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:15 2015 +0000 staging: comedi: dt282x: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71bb49d055e510a8c0ff0bb02529b5859d587b84 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:14 2015 +0000 staging: comedi: dt2814: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b504252a768c3d939f017f2c9044e3f7309be51e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:13 2015 +0000 staging: comedi: dmm32at: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5519108b114e7a5bc012d51e33a2d651efe4047a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:12 2015 +0000 staging: comedi: das800: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e70d6377525618f4b206bf3614865d3ab9617dea Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:11 2015 +0000 staging: comedi: das6402: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05e07db18552de231f0a62172c2f7715a58c46cd Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:10 2015 +0000 staging: comedi: das1800: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dedb59fc69f72f5af8cee8ca6e3c646a2e0b83cb Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:09 2015 +0000 staging: comedi: das16m1: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8cfb3fb9b22d38214791789565e4ecf0bc7337e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:08 2015 +0000 staging: comedi: das16: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61f7697033bff3a1696ff1434d84aeda269e505b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:07 2015 +0000 staging: comedi: comedi_test: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 070c8e167bec5fba8ea020eb615c583062f8f9b0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:06 2015 +0000 staging: comedi: comedi_parport: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b339d322b279e234533a98cbc644e95e8077198 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:05 2015 +0000 staging: comedi: cb_pcidas: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 571cea09014711d801f8a6a81a8cb18aa78eba14 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:04 2015 +0000 staging: comedi: cb_pcidas64: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a716811441368c90efd55955d1404c3f51aac391 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:03 2015 +0000 staging: comedi: amplc_pci230: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0703e09e719819da1cc5e380c70a56f9c248663 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:02 2015 +0000 staging: comedi: amplc_pci224: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29d9edd0d0e03211b4b6c2e8057a043eb94a91a5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:01 2015 +0000 staging: comedi: amplc_pc236_common: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f95354325eee75d67d632a60c3b91aa83254028a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:00 2015 +0000 staging: comedi: amplc_dio200_common: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f900aec97b52ce875d97b566c3882ff825c53c95 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:59 2015 +0000 staging: comedi: aio_iiro_16: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3087f440c226c014e2461e909e5669a53db7fb03 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:58 2015 +0000 staging: comedi: adv_pci1710: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94fff03def69fa26b85057f2a57e186ea7310946 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:57 2015 +0000 staging: comedi: adl_pci9118: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a4888c18fe0e2331087bcb690191036eea3b187 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:56 2015 +0000 staging: comedi: adl_pci9111: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0618689e58d08b27c99c1f0acb472bff65e4586 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:55 2015 +0000 staging: comedi: addi_apci_3xxx: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25e8046478c7755319eea0a77734bdf97139555d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:54 2015 +0000 staging: comedi: addi_apci_3120: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea7040e6364fc69291a0a3d5ded5948d66ceaa09 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:53 2015 +0000 staging: comedi: addi_apci_2032: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39a89e14697a82678ecfd68155ad2494b21d8d04 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:52 2015 +0000 staging: comedi: addi_apci_1564: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a7c337c49969d7c842718503e82bccd4b5fda8c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:51 2015 +0000 staging: comedi: addi_apci_1500: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e63db6f775b803bcdc66d28c983b0c1f552dbe29 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:50 2015 +0000 staging: comedi: addi_apci_1032: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 557e0c1c6575aaaf190534b291131afb972e6774 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:49 2015 +0000 staging: comedi: ni_labpc_isadma: remove #include "comedi_fc.h" "ni_labpc_isadma.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3baeea2848e939c55a6d8ff0c8e2375c52e6e90 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:48 2015 +0000 staging: comedi: ni_660x: remove #include "comedi_fc.h" "ni_660x.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8044cc3b314d751000fc0fa7e0e15eff9c380fa Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:47 2015 +0000 staging: comedi: mite: remove #include "comedi_fc.h" "mite.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8bac7d15718a9703380e8e55ebfe02225fdb00ed Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:46 2015 +0000 staging: comedi: cb_pcidda: remove #include "comedi_fc.h" "cb_pcidda.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 830c6190466a487ee36d93b451614ab5fe7f907b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:45 2015 +0000 staging: comedi: cb_das16_cs: remove #include "comedi_fc.h" "cb_das16_cs.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49da482e691e921e51967e71f7b639cf3789c5e7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:44 2015 +0000 staging: comedi: addi_apci_3501: remove #include "comedi_fc.h" "addi_apci_3501.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 782658427b89a0beaf891eeac98e9ebc211bb057 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:43 2015 +0000 staging: comedi: addi_apci_1516: remove #include "comedi_fc.h" "addi_apci_1516.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39d9333eaa75c25d7a9b597d53b2db449e703108 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:42 2015 +0000 staging: comedi: 8255: remove #include "comedi_fc.h" "8255.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e1a61928eb9622d2bc8eec2a354616281c0e475 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:41 2015 +0000 staging: comedi: comedi_fc.h: begin migration to comedidev.h "comedi_fc.h" contains a few inline functions used by the `do_cmdtest` handler functions for comedi subdevices in several low-level comedi drivers for checking asynchronous command trigger sources and arguments. They all use the prefix `cfc_check_trigger_arg`. Copy them over to "../comedidev.h", but change the `cfc_` prefix to `comedi_`. Change the original functions in "comedi_fc.h" into simple wrappers for their replacements. Once the drivers have been changed to call the replacement functions, "comedi_fc.h" 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 78cff59e88eb0f3ae81f50741a8ce2e38f890139 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:58:19 2015 +0000 staging: comedi: make comedi_internal.h self-reliant Add `#include`s and declare incomplete types to "comedi_internal.h" so that .c files still compile when it is the first file included. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef4b4b274cf96a857dd78b49558509b55d75163a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:06 2015 +0000 staging: comedi: comedi_fops: extend spin-lock scope in comedi_event() `comedi_event()` is called from low-level drivers to handle comedi asynchronous command event flags. As a safety check, it checks the subdevice's "run" flags to make sure an asynchronous command is running. It can also change the run flags to mark the command as no longer running (possibly also marking it as terminated with an error). Checking the runflags and modifying them involves two uses of the subdevice's spin-lock. It seems better to do it with a single use of the spin-lock. This also avoids possible interactions with `do_become_nonbusy()`. Acquire the subdevice's spin-lock at the start of `comedi_event()` and release it near the end, before a possible call to `kill_fasync()` (but after it's parameter values have been determined). Add and make use of few new inline helper functions: * `__comedi_clear_subdevice_runflags()` -- clears some run flags without using the spin-lock * `__comedi_set_subdevice_runflags()` -- sets some run flags without using the spin-lock * `__comedi_get_subdevice_runflags()` -- a spin-lockless version of `comedi_get_subdevice_runflags() * `__comedi_is_subdevice_running()` -- a spin-lockless version of * `comedi_is_subdevice_running()` Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa33122f005069cb3408acf609b78b9a62f58021 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:05 2015 +0000 staging: comedi: comedi_fops: send SIGIO according to command direction `comedi_event()` is called from low-level drivers to handle comedi asynchronous command event flags. Some events cause waiting tasks to be woken up, and a `SIGIO` signal to be sent via `kill_fasync()`. The signal code is `POLL_OUT` if the subdevice supports commands in the "write" direction, or `POLL_IN` for the "read" direction. If the subdevice supports commands in either direction, it sends two `SIGIO` signals, one with each code. Change that latter case to only send one `SIGIO` signal, using the direction of the current command to determine the signal code. If the `CMDF_WRITE` flag is set in the current command, it's in the "write" direction, otherwise it's in the "read" direction. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 922d9ced718268e464a0884ecee09da436e00d70 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:04 2015 +0000 staging: comedi: comedi_fops: always clear events `comedi_event()` is called from low-level drivers to handle asynchronous command event flags that are stored in `s->async->events` for subdevice `s`. It normally clears the event flags as well. As a safety check, it does nothing if no asynchronous command is running, but it leaves `s->async->events` unchanged in this case. For additional safety, change it to always clear the event flags to avoid leaving stale event flags set when another asynchronous command is set up. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 258c1dd76bf1223a0f67ff8d799b5eb383a3a632 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:03 2015 +0000 staging: comedi: comedi_fops: remove unnecessary s->async use In places where the `s->async` value has been stored in a local variable, use the variable instead of repeating `s->async`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38ee1fd309a629a618c031238c5d681ed4239af4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:02 2015 +0000 staging: comedi: comedi_fops: simplify comedi_is_subdevice_idle() Don't use a conditional operator when a simple "not" will do. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b183a836fe02a59c2b55273655196ba288f3adb7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:01 2015 +0000 staging: comedi: comedi_fops: eliminate a use of subdevice spin-lock `comedi_is_subdevice_in_error()` is only used by `comedi_read()` and `comedi_write()` and is only called (soon) after `comedi_is_subdevice_running()` returns `false` (with extra conditions in the case of `comedi_write()`). `comedi_is_subdevice_running()` and `comedi_get_subdevice_runflags()` both call `comedi_get_subdevice_runflags()` which uses the subdevice's spin-lock. Eliminate one use of the subdevice's spin-lock in `comedi_read()` and `comedi_write()` by calling `comedi_get_subdevice_runflags()` and checking the runflags directly. Add a couple of inline functions to check the runflags: `comedi_is_runflags_running()` and `comedi_is_runflags_in_error()`. These do the same test on runflags as `comedi_is_subdevice_running()` and `comedi_is_subdevice_in_error()` but get passed the runflags value directly. `comedi_is_subdevice_in_error()` is no longer used, 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 cc64ea4239c354d30f88130ecf5aa81a506b57e3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:00 2015 +0000 staging: comedi: comedi_fops: rename comedi_set_subdevice_runflags() `comedi_set_subdevice_runflags()` changes the comedi subdevice's `runflags` member according to a bit-mask and new bit values. It's name might suggest that it only "sets", not "clears". Rename it to `comedi_update_subdevice_runflags()` to avoid confusion. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c75de0ac0756d4b442f460e10461720c7c2412c2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Apr 2 10:21:33 2015 +0530 cpufreq: Schedule work for the first-online CPU on resume All CPUs leaving the first-online CPU are hotplugged out on suspend and and cpufreq core stops managing them. On resume, we need to call cpufreq_update_policy() for this CPU's policy to make sure its frequency is in sync with cpufreq's cached value, as it might have got updated by hardware during suspend/resume. The policies are always added to the top of the policy-list. So, in normal circumstances, CPU 0's policy will be the last one in the list. And so the code checks for the last policy. But there are cases where it will fail. Consider quad-core system, with policy-per core. If CPU0 is hotplugged out and added back again, the last policy will be on CPU1 :( To fix this in a proper way, always look for the policy of the first online CPU. That way we will be sure that we are calling cpufreq_update_policy() for the only CPU that wasn't hotplugged out. Cc: 3.15+ <stable@xxxxxxxxxxxxxxx> # 3.15+ Fixes: 2f0aea936360 ("cpufreq: suspend governors on system suspend/hibernate") Reported-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7928848997a708dcdf21e2d2f0875fe6764c5870 Merge: 7a3888a e416a89 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 12:56:05 2015 +0200 Merge lustre patches based on 4.0-rc5 into staging-testing This is done to handle some lustre patches that were made against the wrong kernel branch, which was my fault, as I gave a lecture where I messed things up for the students, it wasn't their fault. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42d255ce43e1dbe28b5907ec276cd88330952661 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Tue Mar 31 00:45:06 2015 -0700 i40e: Bump to version 1.3.1 Bump. Change-ID: I7dc88baa33264e5919bc938adf76706573209432 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9a9c8ae1c1b43e12a5ab786d3463b251fe2fd4aa Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Mar 31 00:45:06 2015 -0700 i40evf: Refactor VF RSS code Refactor VF RSS code to allow RSS on a single queue and eliminate the need for the next_queue function. Change-ID: I9253bad96b7f542ee7036e15636db0e5d58d8ef2 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 13acb54683f834cb16baf7ad7fd6e15a97b0762f Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Mar 31 00:45:05 2015 -0700 i40evf: protect VLAN filter list The MAC filter list is protected by a critical task bit, and the VLAN list should be protected as well. This prevents list corruption if the watchdog happens to run at the same time as a VLAN filter is being added or deleted. Change-ID: Ia4867cebbbb046a1f38012771b288a634ca5882b Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fdf0e0bfc363a9b5380ecb5e9c46d6f5a39a9b75 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Mar 31 00:45:05 2015 -0700 i40e: Communicate VSI id in place of VSI index to the VFs This does not affect the Virtual channel API as such but it changes the meaning of what is communicated to the VSI resource struct as vsi_id. Earlier vsi_idx was being passed in, which was the index in the PF's VSI array. Now we pass vsi_id as communicated by the FW to the driver. This will help with future expansion of VF and FW communication. With this in place now the VF and Virtual channel driver change to move over to VSI id use is complete and is validated. Change-ID: I14246ef82b3b3dc1fa76291d2dd0c05d12cedb7c Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3932dbfe1ecdcf05578cc6aca7ca1b6c6dbd311e Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Mar 31 00:45:04 2015 -0700 i40e: stop flow director on shutdown In some cases, the hardware would continue to try to access the FDIR ring after entering D3Hot state, which would cause either PCIe errors or NMIs, depending upon system configuration. Explicitly stop FDIR in our shutdown routine to eliminate this possibility. Change-ID: Ib98060d6352ec595ab9a78bfe252675a9fa5d8bc Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c22c06c8d1b62cd2a42a8f276c7e72bc17067183 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Tue Mar 31 00:45:04 2015 -0700 i40e: fix up VXLAN messages When the VXLAN ports are added and removed, the messaging was giving some bogus index info, the port was always '0' for the delete, and the message text style didn't match other messages in the driver. Also, there was an over-use of the tertiary statement which made reading a little harder than necessary. Change-ID: Ie805182a697b8b4c12024403ada87fd4e4fa2358 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c142b1dc898efd4702aeacc787bbef8918c401e7 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Tue Mar 31 00:45:03 2015 -0700 i40e: Don't register/de-register apps on NIC partitions in MFP mode Do not register or try to de-register DCB applications with the DCBNL layer in case of NIC partitions when adapter is in MFP mode. Change-ID: I603d042a61983a6562be471c6a2b181572504118 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 31eaaccff0fedb7cf6b6716efa3a2b8b8315ec68 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Tue Mar 31 00:45:03 2015 -0700 i40e/i40evf: Set Ethernet protocol correctly when Tx VLAN offloads are disabled If transmit VLAN HW offloads are disabled then the network stack sends up an skb with the protocol set to 8021q. In that case to get the correct checksum offloads we have to reset the skb protocol to the encapsulated ethertype. Change-ID: I903d78533de09b1c5d3ec695ee1990dd0fa5dd0d Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6d7b967db3b1607c789f62936d68ced6321482ed Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Mar 31 00:45:02 2015 -0700 i40e: warn at the right time The call to pci_disable_sriov got moved, but the message about not disabling VFs didn't move. So move it. While we're at, reword the message a bit to make it more consistent with other driver messages. Change-ID: I17d3e15e4fcfd5c9431a96ecb0117d728d3da18b Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b38da40190a1f8a1a0edcc70f983f7838aabadd4 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Mar 31 00:45:02 2015 -0700 i40e: fix invalid void return in FCoE code A function was calling i40e_tx_map with return, but tx_map returns void, and the caller returns void, so just drop the return, and everything is good. Change-ID: I53fc676d517864761e7cbb8ca83f1ef0c15b1f8f Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8b6ed9c202c0c7c179ab7a6cf8010ff0b63d2d4f Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Mar 31 00:45:01 2015 -0700 i40e/i40evf: fix bug when skb allocation fails If the skb allocation fails we should not continue using the skb pointer. Breaking out at the point of failure means that at the next RX interrupt the driver will try the allocation again. Change-ID: Iefaad69856ced7418bfd92afe55322676341f82e Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1a2f62489b5dc15bd2aadb1de2e38f732e2c4553 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Mar 31 00:45:01 2015 -0700 i40e: Change some memcpys to struct assignments Several memcpys are not necessary and can be changed to structure assignments. Struct assignments are always type safe so this is preferable. Change-ID: I7daf45a4b5e799c686b9d5c8ba9db047584ab82b Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 25fc0e6590d7c18886cab667430c0da16f0586c4 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Mar 31 00:45:01 2015 -0700 i40e: Print some more info to help figure out the cause of HMC error HMC_ERRORINFO and HMC_ERRORDATA helps explain the cause of HMC error. Change-ID: I053bbc175a5f4c5c3e9ec2ea7400d5c56aaa4ec1 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b57459e913afeca56b43b09f35588e3e8b2b0f26 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Mar 31 00:45:00 2015 -0700 i40e: validate VSI param from VFs Validate that the VF has sent us a valid VSI index before actually using that index. Without this code, a malicious or buggy VF driver could panic the host by sending an invalid index into the VSI array. Change-ID: I66a177687a0dcc281ec83e714d3813d70d18c8b4 Reported-by: Nick Nunley <nicholas.d.nunley@xxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 818f2e7b25ac3ae12b1a40690e3aa082ff5896ee Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Mar 31 00:44:59 2015 -0700 i40evf: Fix Outer UDP RX checksum code Inner protocol being UDP should not stop us from verifying Outer UDP checksum correctness. If the Outer protocol is not UDP (NVGRE) we should not be doing a UDP checksum check. If the packet has zero checksum, skip checksum check. Change-ID: Ie7f153feb276a59f66a54a0938901b2c0a8100fa Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7a3888a3ad15796c834dc6cb00d247d27021f01b Author: Guillaume Matheron <guillaume.matheron@xxxxxx> Date: Thu Apr 2 19:52:07 2015 +0200 Staging: lustre: o2iblnd.c: Finished cleaning code style I fixed lines over 80 characters and unnecessary returns Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fe7f9624d64831c6ebf8845c90c56ae5244a155 Author: Guillaume Matheron <guillaume.matheron@xxxxxx> Date: Thu Apr 2 17:04:55 2015 +0200 Staging: lustre: o2iblnd_cb.c: Removed the rest of unnecessary spaces before parenthesis I removed all the 'unneeded space' warnings given by checkpatch.pl Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit febe73bdab9ab069144d6068248631ce1b5e80cd Author: Guillaume Matheron <guillaume.matheron@xxxxxx> Date: Thu Apr 2 19:35:45 2015 +0200 Staging: lustre: o2iblnd.c: Started fixing coding style I focused on function declarations (placed return type on the same line as function name), and spaces between function name and parenthesis Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fb186cf6907ba4e873d8396d7e5abfa4f22ca4e Author: Georges-Axel Jaloyan <georges-axel.jaloyan@xxxxxx> Date: Thu Apr 2 16:10:31 2015 +0200 Staging: Lustre: rw26.c: include according to checkpatch.pl Signed-off-by: Georges-Axel Jaloyan <georges-axel.jaloyan@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acc59a8b93ed4b57598506f30c89275dbb3f7f61 Author: Cyrille Ruggero <cyrille.ruggero@xxxxxx> Date: Thu Apr 2 16:09:14 2015 +0200 Staging: lustre: dir.c: adding a blank after a declaration. Adding a blank in this file after a declaration as reported by checkpatch.pl. Signed-off-by: Cyrille Ruggero <cyrille.ruggero@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21c25a9ff87502e74130b568c102802b27891f1b Author: Luca Wehrstedt <luca.wehrstedt@xxxxxx> Date: Thu Apr 2 16:33:34 2015 +0200 Staging: lustre: lov_io.c: remove useless unary pluses Replace two occurrences of "+1" with simply "1". Signed-off-by: Luca Wehrstedt <luca.wehrstedt@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b0033a15f6fe79015eea477c4e7b4c2ff4357c5 Author: Gwendoline Chouasne-Guillon <chouasne@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:11:04 2015 +0200 Staging: lustre: o2iblnd_modparam.c: remove unneeded space before the arguments of a function Remove unneeded space before the arguments of a function Signed_off_by: Gwendoline Chouasne-guillon <chouasne@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af967b29c810bfceb547f312ea62920675094738 Author: Guillaume Matheron <guillaume.matheron@xxxxxx> Date: Thu Apr 2 16:10:15 2015 +0200 Staging: lustre: o2iblnd_cb.c: Removed a bunch of spaces before parenthesis Fixed warnings as reported by checkpatch.pl Also fixed padding before function arguments when needed Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e416a893210a4b4f17bb7e6670f8cd218080a3d5 Author: Rafaël Bocquet <rafaelbocquet+personnel@xxxxxxxxx> Date: Thu Apr 2 17:12:34 2015 +0200 Staging: lustre: config.c: fix a "do not add new typedefs" warning reported by checkpatch.pl Signed-off-by: Rafaël Bocquet <rafael.bocquet@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a338e201486897ce7d633dcbb8c43983cb1d237 Author: Rafaël Bocquet <rafaelbocquet+personnel@xxxxxxxxx> Date: Thu Apr 2 17:12:33 2015 +0200 Staging: lustre: config.c: fix lines exceeding 80 characters reported by checkpatch.pl Signed-off-by: Rafaël Bocquet <rafael.bocquet@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2f770d74a8d12265e023f2792ad2eb996cabe1a Author: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Date: Fri Apr 3 18:03:40 2015 +0800 crypto: arm/sha256 - Add optimized SHA-256/224 Add Andy Polyakov's optimized assembly and NEON implementations for SHA-256/224. The sha256-armv4.pl script for generating the assembly code is from OpenSSL commit 51f8d095562f36cdaa6893597b5c609e943b0565. Compared to sha256-generic these implementations have the following tcrypt speed improvements on Motorola Nexus 6 (Snapdragon 805): bs b/u sha256-neon sha256-asm 16 16 x1.32 x1.19 64 16 x1.27 x1.15 64 64 x1.36 x1.20 256 16 x1.22 x1.11 256 64 x1.36 x1.19 256 256 x1.59 x1.23 1024 16 x1.21 x1.10 1024 256 x1.65 x1.23 1024 1024 x1.76 x1.25 2048 16 x1.21 x1.10 2048 256 x1.66 x1.23 2048 1024 x1.78 x1.25 2048 2048 x1.79 x1.25 4096 16 x1.20 x1.09 4096 256 x1.66 x1.23 4096 1024 x1.79 x1.26 4096 4096 x1.82 x1.26 8192 16 x1.20 x1.09 8192 256 x1.67 x1.23 8192 1024 x1.80 x1.26 8192 4096 x1.85 x1.28 8192 8192 x1.85 x1.27 Where bs refers to block size and b/u to bytes per update. Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Cc: Andy Polyakov <appro@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 87b1675634e1e9f1570445c55604204771ac9078 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 22:39:40 2015 +0800 crypto: api - Change crypto_unregister_instance argument type This patch makes crypto_unregister_instance take a crypto_instance instead of a crypto_alg. This allows us to remove a duplicate CRYPTO_ALG_INSTANCE check in crypto_unregister_instance. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1f7237109951ebe8dc194461716443a5d8caf308 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 22:31:22 2015 +0800 crypto: api - Fix races in crypto_unregister_instance There are multiple problems in crypto_unregister_instance: 1) The cra_refcnt BUG_ON check is racy and can cause crashes. 2) The cra_refcnt check shouldn't exist at all. 3) There is no reference on tmpl to protect the tmpl->free call. This patch rewrites the function using crypto_remove_spawn which now morphs into crypto_remove_instance. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 13cf394c8c79b5655cdc76f7ae0d9869a1434103 Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Thu Apr 2 15:32:45 2015 +0530 crypto: omap-sham - Add the offset of sg page to vaddr kmap_atomic() gives only the page address of the input page. Driver should take care of adding the offset of the scatterlist within the page to the returned page address. omap-sham driver is not adding the offset to page and directly operates on the return vale of kmap_atomic(), because of which the following error comes when running crypto tests: 00000000: d9 a1 1b 7c aa 90 3b aa 11 ab cb 25 00 b8 ac bf [ 2.338169] 00000010: c1 39 cd ff 48 d0 a8 e2 2b fa 33 a1 [ 2.344008] alg: hash: Chunking test 1 failed for omap-sha256 So adding the scatterlist offset to vaddr. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 07eb422db401fd584801197cff156b585c9ce7a9 Author: Martin Vassor <martin.vassor@xxxxxxx> Date: Thu Apr 2 16:47:39 2015 +0200 Staging: lustre: lib-md.c format line too long Format comment such that it is under 80 chars Signed-off-by: Martin Vassor <martin.vassor@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 659dc3417e8502bf93c189b891d4a048edc10683 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Apr 2 20:01:15 2015 +0200 staging: lustre: include: remove unused macros OBD_CHECK_DEV and OBD_CHECK_DEV_ACTIVE have been replaced by static inline functions. They are removed since they are not used anymore. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f36b6553e0ffe2c06ffc025b23c13967754ce7f4 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Apr 2 20:00:24 2015 +0200 staging: lustre: include: replace OBD_CHECK_DEV_ACTIVE by obd_check_dev_active Static inline functions are preferred over macros. The inline function obd_check_dev_active is introduced to replace OBD_CHECK_DEV_ACTIVE. All functions that call obd_check_dev_active store the return values and return them if they represent an error code. Some of the changes were carried out manually while others were done using coccinelle. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ca1b8fbe609b7c52aeaa78a5f4678efcc9b8d73 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Apr 2 19:59:15 2015 +0200 staging: lustre: include: replace OBD_CHECK_DEV by obd_check_dev Static inline functions are preferred over macros. Hence, the function obd_check_dev was introduced. obd_check_dev replaces the macro OBD_CHECK_DEV. All functions that call obd_check_dev store the return values and return them if they represent an error code. Some of the changes were carried out manually while others were done using coccinelle. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a18dd4702c923167e98acbb0c9d94463ce19546f Author: Théotime Grohens <theotime.grohens@xxxxxx> Date: Thu Apr 2 16:24:36 2015 +0200 Staging: lustre: lnet: selftest: lconctl.c: fixed indentation of the switch Signed-off-by: Théotime Grohens <theotime.grohens@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c209069e9b81b1d2a9f344c1da102f3256460c16 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 16:28:12 2015 +0200 Staging: lustre: module.c: remove unneeded return statement Remove an unneeded return statement in this file as reported by checkpatch.pl. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59f084070c96f777f977ebd58dc934b9d2a1d95b Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Apr 2 23:01:04 2015 +0530 Staging: sm750fb: Remove zero testing pointer typed value Removes variable comparison with 0. Done using following coccinelle script. @ disable is_zero,isnt_zero @ expression *E; expression E1,f; @@ E = f(...) <... ( - E == 0 + !E | - E != 0 + E | - 0 == E + !E | - 0 != E + E ) ...> ?E = E1 @ disable is_zero,isnt_zero @ expression *E; @@ ( E == - 0 + NULL | E != - 0 + NULL | - 0 + NULL == E | - 0 + NULL != E ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e261e69e2d16b69eb712123b9e73bac50282b6a7 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Apr 2 22:57:55 2015 +0530 Staging: sm750fb: Fixed indent of switch-case Fixed indent of switch-case by adding space using tabs. Problem found using checkpatch.pl ERROR: space required after that ';' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ad6b5ed3e2472b399b567a2f036006bf25df467 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Apr 2 22:55:18 2015 +0530 Staging: sm750fb: Fix C99 Comments Used C89 instead of C99 Comment and removed C99 comments performing prints only. Problem found using checkpatch.pl ERROR: do not use C99 // comments Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecfd2267311ebe3fb2fe5e173dfd8f84f981ba0f Author: Charlie Wong Super <1213charlie@xxxxxxxxx> Date: Thu Apr 2 18:10:04 2015 +0800 Staging: comedi: addi_apci_1564: Delete a tap Fix the checkpatch.pl WARNING: line over 80 characters Signed-off-by: Charlie Wong Super <1213charlie@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 005b23d6b6e7e798b6799bedffc60f33494058ea Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Apr 1 11:13:03 2015 +0300 staging: lustre: prevent underflows in lnet_parse_reply() I don't know if "hdr->payload_length;" can really be negative, but if so then we shouldn't allow it. Do the comparison as an unsigned. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit faec8ab42b4a0f119a1cfbceef0c14b7b61059cb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Apr 1 11:12:15 2015 +0300 Staging: lustre: integer overflow in ioctl hdr->ioc_len is a user controlled u32 so the addition can overflow, especially on 32 bit systems. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b311ebac5babac7ce2b11e35a1462815580324b8 Author: Achille Aknin <achille.aknin@xxxxxx> Date: Thu Apr 2 16:12:04 2015 +0200 Staging: lustre: brw_test.c: remove unneeded return statement Remove an unneeded return statement in this file Signed-off-by: Achille Aknin <achille.aknin@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62a935b256f68a71697716595347209fb5275426 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Apr 3 10:42:50 2015 +0200 sched/core: Drop debugging leftover trace_printk call Commit: 3c18d447b3b3 ("sched/core: Check for available DL bandwidth in cpuset_cpu_inactive()") forgot a trace_printk() debugging piece in and Steve's banner screamed in dmesg. Remove it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428050570-21041-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 47091e3c5b072daca29a15d2a3caf40359b0d140 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Apr 3 10:28:34 2015 +0200 x86/asm/entry: Drop now unused ENABLE_INTERRUPTS_SYSEXIT32 Commit: 4214a16b0297 ("x86/asm/entry/64/compat: Use SYSRETL to return from compat mode SYSENTER") removed the last user of ENABLE_INTERRUPTS_SYSEXIT32. Kill the macro now too. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1428049714-829-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4214a16b02971c60960afd675d03544e109e0d75 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Apr 2 17:12:12 2015 -0700 x86/asm/entry/64/compat: Use SYSRETL to return from compat mode SYSENTER SYSEXIT is scary on 64-bit kernels -- SYSEXIT must be invoked with usergs and IRQs on. That means that we rely on STI to correctly mask interrupts for one instruction. This is okay by itself, but the semantics with respect to NMIs are unclear. Avoid the whole issue by using SYSRETL instead. For background, Intel CPUs don't allow SYSCALL from compat mode, but they do allow SYSRETL back to compat mode. Go figure. To avoid doing too much at once, this doesn't revamp the calling convention. We still return with EBP, EDX, and ECX on the user stack. Oddly this seems to be 30 cycles or so faster. Avoiding POPFQ and STI will account for under half of that, I think, so my best guess is that Intel just optimizes SYSRET much better than SYSEXIT. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/57a0bf1b5230b2716a64ebe48e9bc1110f7ab433.1428019097.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 347c6f6dda1098318088feb8e60188f0161e743d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:39:05 2015 +0200 timekeeping: Get rid of stale comment Arch specific management of xtime/jiffies/wall_to_monotonic is gone for quite a while. Zap the stale comment. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Link: http://lkml.kernel.org/r/2422730.dmO29q661S@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a49b116dcb1265f238f3169507424257b0519069 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:38:05 2015 +0200 clockevents: Cleanup dead cpu explicitely clockevents_notify() is a leftover from the early design of the clockevents facility. It's really not a notification mechanism, it's a multiplex call. We are way better off to have explicit calls instead of this monstrosity. Split out the cleanup function for a dead cpu and invoke it directly from the cpu down code. Make it conditional on CPU_HOTPLUG as well. Temporary change, will be refined in the future. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Rebased, added clockevents_notify() removal ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1735025.raBZdQHM3m@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 52c063d1adbc16c76e70fffa20727fcd4e9343b3 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:37:24 2015 +0200 clockevents: Make tick handover explicit clockevents_notify() is a leftover from the early design of the clockevents facility. It's really not a notification mechanism, it's a multiplex call. We are way better off to have explicit calls instead of this monstrosity. Split out the tick_handover call and invoke it explicitely from the hotplug code. Temporary solution will be cleaned up in later patches. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Rebase ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1658173.RkEEILFiQZ@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ffa48c0d76803057ee89bf220305466d74256d7b Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 02:36:10 2015 +0200 clockevents: Remove broadcast oneshot control leftovers Now that all users are converted over to explicit calls into the clockevents state machine, remove the notification chain leftovers. Original-from: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Link: http://lkml.kernel.org/r/14018863.NQUzkFuafr@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 335f49196fd6011521f078cb44f445847e5aa183 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:34:49 2015 +0200 sched/idle: Use explicit broadcast oneshot control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/6422336.RMm7oUHcXh@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a0b4122447a3c1a467ce4e4f1bb863e1170394d5 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:32:14 2015 +0200 ARM: Tegra: Use explicit broadcast oneshot control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Link: http://lkml.kernel.org/r/2131111.rjxRLX1eZB@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fb7f0398a98020def9429ddd7b4a8fc2d948b092 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:31:29 2015 +0200 ARM: OMAP: Use explicit broadcast oneshot control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/3123047.uVjevtxDV7@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f6cee191fc6b286f9056a13456c4c8ade0aeb890 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:14:23 2015 +0200 intel_idle: Use explicit broadcast oneshot control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20714596.QMfNNPbuyU@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7815701c5cd7276b712d898b3cf49c55e587dbb1 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:12:03 2015 +0200 ACPI/idle: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2653377.MSAlfA939I@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c79521354e71a1fbcee040ee3147cadc0f8e3c97 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:06:37 2015 +0200 ACPI/PAD: Use explicit broadcast oneshot control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1552509.UntNmyqF5v@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 435c350e8197488f12c97e7df28a9c2199bd1673 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:05:53 2015 +0200 x86/amd/idle, clockevents: Use explicit broadcast oneshot control functions Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8569669.lgxIty9PKW@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1fe5d5c3c9ba0c4ade18e3325cba0ffe35127941 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:05:15 2015 +0200 clockevents: Provide explicit broadcast oneshot control functions clockevents_notify() is a leftover from the early design of the clockevents facility. It's really not a notification mechanism, it's a multiplex call. We are way better off to have explicit calls instead of this monstrosity. Split out the broadcast oneshot control into a separate function and provide inline helpers. Switch clockevents_notify() over. This will go away once all callers are converted. This also gets rid of the nested locking of clockevents_lock and broadcast_lock. The broadcast oneshot control functions do not require clockevents_lock. Only the managing functions (setup/shutdown/suspend/resume of the broadcast device require clockevents_lock. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/13000649.8qZuEDV0OA@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 89feddbfe7023ccfb4a6d7f5e3f5161d91b28b18 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:03:42 2015 +0200 clockevents: Remove the broadcast control leftovers All users converted. Remove the notify leftovers. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2076318.76XJZ8QYP3@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fa8589fe3bfafadd80677c8eabae97dc5dab22c0 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:02:47 2015 +0200 ARM: OMAP: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/2124877.3nbWGILHCV@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76962caa4b691ad09556903602143fc8b16802ae Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:02:34 2015 +0200 intel_idle: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/3878165.rXNXrtVNuy@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ee7a1438b548fb5e206058d6bd0e2a5adf081dbf Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:02:18 2015 +0200 cpuidle: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2106401.cYdJzzA6Ic@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ee41eebf9cef624b2e766a4b8688eeeedb65114c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:02:00 2015 +0200 ACPI/processor: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/25071624.dkenaL3SGT@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 979081e7440056da28b19e57acf20098caf49103 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:01:49 2015 +0200 ACPI/PAD: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1521832.mm0ZfkTzTA@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 162a688e84df49c5bcc855a5e5bf812d0ec89ad5 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:01:28 2015 +0200 x86/amd/idle, clockevents: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1528188.S1pjqkSL1P@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 592a438ff3fea61d303c5784c209b3f1fd3e16df Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:01:10 2015 +0200 clockevents: Provide explicit broadcast control functions clockevents_notify() is a leftover from the early design of the clockevents facility. It's really not a notification mechanism, it's a multiplex call. We are way better off to have explicit calls instead of this monstrosity. Split out the broadcast control into a separate function and provide inline helpers. Switch clockevents_notify() over. This will go away once all callers are converted. This also gets rid of the nested locking of clockevents_lock and broadcast_lock. The broadcast control functions do not require clockevents_lock. Only the managing functions (setup/shutdown/suspend/resume of the broadcast device require clockevents_lock. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/8086559.ttsuS0n1Xr@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3ff70551a942b4c1d3c2e96e31a5c6e369a6d0be Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 01:46:34 2015 +0200 ACPI/PAD: Remove the local APIC nonsense While looking through the (ab)use of the clockevents_notify() function I stumbled over the following gem in the acpi_pad code: if (lapic_detected_unstable && !lapic_marked_unstable) { /* LAPIC could halt in idle, so notify users */ for_each_online_cpu(i) clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ON, &i); lapic_marked_unstable = 1; } This code calls on the cpu which detects the lapic unstable condition first clockevents_notify() to tell the core code that the broadcast should be enabled on all online cpus. Brilliant stuff that as it notifies the core code a num_online_cpus() times that the broadcast should be enabled on the current cpu. This probably has never been noticed because that code got never tested with NOHZ=n and HIGHRES_TIMER=n or it just worked by chance because one of the other mechanisms told the core in the right way that the local apic timer is wreckaged. Sigh, this is: - The 4th incarnation of idle drivers which has their own mechanism to detect and deal with X86_FEATURE_ARAT. - The 2nd incarnation of fake idle mechanisms with a different set of brainmelting bugs. - Has been merged against an explicit NAK of the scheduler maintainer with the promise to improve it over time. - Another example of featuritis driven trainwreck engineering. - Another pointless waste of my time. Fix this nonsense by removing that lapic detection and notification logic and simply call into the clockevents code unconditonally. The ARAT feature is marked in the lapic clockevent already so the core code will just ignore the requests and return. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1887788.RObRuI4tSv@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cf9328cc9989e028fdc64d8c0a7b1b043dc96735 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Apr 2 12:41:45 2015 -0700 x86/asm/entry/32: Stop caching MSR_IA32_SYSENTER_ESP in tss.sp1 We write a stack pointer to MSR_IA32_SYSENTER_ESP exactly once, and we unnecessarily cache the value in tss.sp1. We never read the cached value. Remove all of the caching. It serves no purpose. Suggested-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/05a0163eb33ef5208363f0015496855da7cebadd.1428002830.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ff8287f36381deff729aa4e7b02296a080519fd0 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Apr 2 12:41:44 2015 -0700 x86/asm/entry/32: Improve a TOP_OF_KERNEL_STACK_PADDING comment At Denys' request, clean up the comment describing stack padding in the 32-bit sysenter path. No code changes. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/41fee7bb8490ae840fe7ef2699f9c2feb932e729.1428002830.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5d82d1a785155fe4ff65628a88b677cfacea863b Author: Mark Yao <yzq@xxxxxxxxxxxxxx> Date: Wed Apr 1 13:48:53 2015 +0800 drm/rockchip: vop: add vop power domain support Reference the power domain incase vop power down when in use. Signed-off-by: Mark Yao <yzq@xxxxxxxxxxxxxx> commit b340b3fb71473291ea924a47e0069828c83da729 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Mar 31 18:22:50 2015 +0800 drm: rockchip: Turn off VT switching on suspend drm/rockchip already has support for disabling all displays on suspend and enabling them on resume. Disable automatic VT switching on suspend by the pm console tracking layer. Tested on veyron, used `echo mem > sys/power/state` => verified no VT switch Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> commit d3007dabeff493d82416a7ed69e0ff055a579fa1 Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Fri Jan 30 10:14:17 2015 +0100 drm/rockchip: register all connectors after bind Register connectors with userspace after all components are bound. Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Reviewed-by: Dominik Behr <dbehr@xxxxxxxxxxxx> drm_connector_get_name -> connector->name This patch is necessary to make X11 see screens it seems. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 7f53fbba3cf8db8f584b26e89802413bc2e8d902 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Fri Jan 30 20:28:48 2015 +0100 drm/rockchip: fix clk enable disable mismatch in vop_crtc_mode_set The function disables the dclk at the beginning, so don't simply return when an error happens, but instead enable the clock again, so that enable and disable calls are balanced. ret_clk is introduced to hold the clk_enable result and not mangle the original error code. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 8e56f33f8439b2f8e7f4ae7f3d0bfe683ecc3b09 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Apr 1 20:34:39 2015 -0700 clocksource: Improve comment explaining clocks_calc_max_nsecs()'s 50% safety margin Ingo noted that the description of clocks_calc_max_nsecs()'s 50% safety margin was somewhat circular. So this patch tries to improve the comment to better explain what we mean by the 50% safety margin and why we need it. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-20-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0fa88cb4b82b5cf7429bc1cef9db006ca035754e Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:38 2015 -0700 time, drivers/rtc: Don't bother with rtc_resume() for the nonstop clocksource If a system does not provide a persistent_clock(), the time will be updated on resume by rtc_resume(). With the addition of the non-stop clocksources for suspend timing, those systems set the time on resume in timekeeping_resume(), but may not provide a valid persistent_clock(). This results in the rtc_resume() logic thinking no one has set the time and it then will over-write the suspend time again, which is not necessary and only increases clock error. So, fix this for rtc_resume(). This patch also improves the name of persistent_clock_exist to make it more grammatical. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-19-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 264bb3f79f2a465477cdcd2f0554e21aedc443a3 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:37 2015 -0700 time: Fix a bug in timekeeping_suspend() with no persistent clock When there's no persistent clock, normally timekeeping_suspend_time should always be zero, but this can break in timekeeping_suspend(). At T1, there was a system suspend, so old_delta was assigned T1. After some time, one time adjustment happened, and xtime got the value of T1-dt(0s<dt<2s). Then, there comes another system suspend soon after this adjustment, obviously we will get a small negative delta_delta, resulting in a negative timekeeping_suspend_time. This is problematic, when doing timekeeping_resume() if there is no nonstop clocksource for example, it will hit the else leg and inject the improper sleeptime which is the wrong logic. So, we can solve this problem by only doing delta related code when the persistent clock is existent. Actually the code only makes sense for persistent clock cases. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-18-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 814dcf8ead04f5ebcec74af06c705b207887f0fa Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:36 2015 -0700 drivers/rtc: Remove redundant rtc_valid_tm() from rtc_resume() rtc_read_time() has already judged valid tm by rtc_valid_tm(), so just remove it. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-17-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7f2981393af31a854879f2496cab4c978e886902 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:35 2015 -0700 time: Don't build timekeeping_inject_sleeptime64() if no one uses it timekeeping_inject_sleeptime64() is only used by RTC suspend/resume, so add build dependencies on the necessary RTC related macros. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> [ Improve commit message clarity. ] Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-16-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5312f56e0a67deed5c7d1191140e00b6d367e01 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:34 2015 -0700 alpha, rtc: Change to use rtc_class_ops's set_mmss64() Change alpha_rtc_set_mmss() and remote_set_mmss() to use rtc_class_ops's set_mmss64(), to be y2038 safe. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-15-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 933623c38f014b10db564f0ec44f9db64a5ced84 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:33 2015 -0700 drivers/rtc/mxc: Update driver to address y2038/y2106 issues This driver has a number of y2038/y2106 issues. This patch resolves them by: - Replacing rtc_time_to_tm() with rtc_time64_to_tm() - Replacing rtc_tm_to_time() with rtc_tm_to_time64() - Changing mxc_rtc_set_mmss() to use rtc_class_ops's set_mmss64() After this patch, the driver should not have any remaining y2038/y2106 issues. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-14-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a015b8aabfd2fb58875dea001f1eac8100eacc2e Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:32 2015 -0700 drivers/rtc/mxc: Convert get_alarm_or_time()/set_alarm_or_time() to use time64_t We want to convert mxc_rtc_set_mmss() to use rtc_class_ops's set_mmss64(), but it uses get_alarm_or_time()/set_alarm_or_time() internal interfaces which are y2038 unsafe. So here as a separate patch, it converts these two internal interfaces of "mxc" to use safe time64_t to make some preparations. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-13-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 482494a8d395877c4776a3d76f89342d7ad7c4c6 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:31 2015 -0700 drivers/rtc/mxc: Modify rtc_update_alarm() not to touch the alarm time rtc_class_ops's set_alarm() shouldn't deal with the alarm date, as this is handled in the rtc core. See rtc_dev_ioctl()'s RTC_ALM_SET and RTC_WKALM_SET cases. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-12-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0307b0d77a0830b0fd4a22b5db4a9fa723a5fa5f Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:30 2015 -0700 drivers/rtc/mc13xxx: Update driver to address y2038/y2106 issues This driver has a number of y2038/y2106 issues. This patch resolves them by: - Replacing rtc_time_to_tm() with rtc_time64_to_tm() - Changing mc13xxx_rtc_set_mmss() to use rtc_class_ops's set_mmss64() After this patch, the driver should not have any remaining y2038/y2106 issues. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-11-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5c7e11bc66647f2e4bc95de9b4302fff6d612f3a Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:29 2015 -0700 drivers/rtc/ab3100: Update driver to address y2038/y2106 issues This driver has a number of y2038/y2106 issues. This patch resolves them by: - Replacing rtc_tm_to_time() with rtc_tm_to_time64() - Replacing rtc_time_to_tm() with rtc_time64_to_tm() - Changing ab3100_rtc_set_mmss() to use rtc_class_ops's set_mmss64() After this patch, the driver should not have any remaining y2038/y2106 issues. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-10-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4d644ab84c6ed66f7a628c74d83c34d85bec13bf Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:28 2015 -0700 drivers/rtc/test: Update driver to address y2038/y2106 issues This driver has a number of y2038/y2106 issues. This patch resolves them by: - Replacing get_seconds() with ktime_get_real_seconds() - Replacing rtc_time_to_tm() with rtc_time64_to_tm() Also add test_rtc_set_mmss64() for testing rtc_class_ops's set_mmss64(), which can be activated by "test_mmss64" module parameter. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-9-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8e4ff1a81aa91d12856287c7103d0301ac91351a Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:27 2015 -0700 drivers/rtc: Provide y2038 safe rtc_class_ops.set_mmss() replacement Currently the rtc_class_op's set_mmss() function takes a 32-bit second value (on 32-bit systems), which is problematic for dates past y2038. This patch provides a safe version named set_mmss64() using y2038 safe time64_t. After this patch, set_mmss() is deprecated and all its users will be fixed to use set_mmss64(), it can be removed when having no users. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> [jstultz: Add whitespace fix for checkpatch] Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-8-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cb850717b076d979058d52529e15f1736359d811 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:26 2015 -0700 ARM, clocksource/drivers: Provide read_boot_clock64() and read_persistent_clock64() and use them As part of addressing "y2038 problem" for in-kernel uses, this patch converts read_boot_clock() to read_boot_clock64() and read_persistent_clock() to read_persistent_clock64() using timespec64 by converting clock_access_fn to use timespec64. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> (for tegra part) Cc: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-7-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a0c2998f918e7e597d3c686c5f3d5a30d0382dd6 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:25 2015 -0700 clocksource/drivers/tegra: Provide y2038-safe tegra_read_persistent_clock() replacement As part of addressing "y2038 problem" for in-kernel uses, this patch adds the y2038-safe tegra_read_persistent_clock64() using timespec64. Because we rely on some subsequent changes to convert arm multiarch support, tegra_read_persistent_clock() will be removed then. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-6-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a451570c008b9e19592e29f15cfd295bdf818c7a Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:24 2015 -0700 ARM: OMAP: 32k counter: Provide y2038-safe omap_read_persistent_clock() replacement As part of addressing "y2038 problem" for in-kernel uses, this patch adds the y2038-safe omap_read_persistent_clock64() using timespec64. Because we rely on some subsequent changes to convert arm multiarch support, omap_read_persistent_clock() will be removed then. Also remove the needless spinlock, because read_persistent_clock() doesn't run simultaneously. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-5-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3c00a1fe8496ff29ab62764bb3f4ce4b48089004 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:23 2015 -0700 time: Add y2038 safe update_persistent_clock64() As part of addressing in-kernel y2038 issues, this patch adds update_persistent_clock64() and replaces all the call sites of update_persistent_clock() with this function. This is a __weak implementation, which simply calls the existing y2038 unsafe update_persistent_clock(). This allows architecture specific implementations to be converted independently, and eventually y2038-unsafe update_persistent_clock() can be removed after all its architecture specific implementations have been converted to update_persistent_clock64(). Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-4-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2ee966320028ac846654eba5344540eeb4dc228d Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:22 2015 -0700 time: Add y2038 safe read_persistent_clock64() As part of addressing in-kernel y2038 issues, this patch adds read_persistent_clock64() and replaces all the call sites of read_persistent_clock() with this function. This is a __weak implementation, which simply calls the existing y2038 unsafe read_persistent_clock(). This allows architecture specific implementations to be converted independently, and eventually the y2038 unsafe read_persistent_clock() can be removed after all its architecture specific implementations have been converted to read_persistent_clock64(). Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-3-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a806ddbb9a18c510e4acdcc828b9a87f5fd3aef Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:21 2015 -0700 time: Add y2038 safe read_boot_clock64() As part of addressing in-kernel y2038 issues, this patch adds read_boot_clock64() and replaces all the call sites of read_boot_clock() with this function. This is a __weak implementation, which simply calls the existing y2038 unsafe read_boot_clock(). This allows architecture specific implementations to be converted independently, and eventually the y2038 unsafe read_boot_clock() can be removed after all its architecture specific implementations have been converted to read_boot_clock64(). Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-2-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6645f3187f5beb64f7a40515cfa18f3889264ece Merge: 2e54a5b bd05954 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Apr 3 07:00:02 2015 +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: - Support unnamed union/structure members data collection in 'perf probe'. (Masami Hiramatsu) - Support missing -f to override perf.data file ownership. (Yunlong Song) Infrastructure changes: - No need to lookup thread twice when processing samples in 'perf script'. (Arnaldo Carvalho de Melo) - No need to pass thread twice to the scripting callbacks. (Arnaldo Carvalho de Melo) - No need to pass thread twice to the db-export facility. (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d9dc64f30abe42f71bc7e9eb9d38c41006cf39f9 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Jan 27 09:53:51 2015 -0700 x86/asm: Add support for the CLWB instruction Add support for the new CLWB (cache line write back) instruction. This instruction was announced in the document "Intel Architecture Instruction Set Extensions Programming Reference" with reference number 319433-022. https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf The CLWB instruction is used to write back the contents of dirtied cache lines to memory without evicting the cache lines from the processor's cache hierarchy. This should be used in favor of clflushopt or clflush in cases where you require the cache line to be written to memory but plan to access the data again in the near future. One of the main use cases for this is with persistent memory where CLWB can be used with PCOMMIT to ensure that data has been accepted to memory and is durable on the DIMM. This function shows how to properly use CLWB/CLFLUSHOPT/CLFLUSH and PCOMMIT with appropriate fencing: void flush_and_commit_buffer(void *vaddr, unsigned int size) { void *vend = vaddr + size - 1; for (; vaddr < vend; vaddr += boot_cpu_data.x86_clflush_size) clwb(vaddr); /* Flush any possible final partial cacheline */ clwb(vend); /* * Use SFENCE to order CLWB/CLFLUSHOPT/CLFLUSH cache flushes. * (MFENCE via mb() also works) */ wmb(); /* PCOMMIT and the required SFENCE for ordering */ pcommit_sfence(); } After this function completes the data pointed to by vaddr is has been accepted to memory and will be durable if the vaddr points to persistent memory. Regarding the details of how the alternatives assembly is set up, we need one additional byte at the beginning of the CLFLUSH so that we can flip it into a CLFLUSHOPT by changing that byte into a 0x66 prefix. Two options are to either insert a 1 byte ASM_NOP1, or to add a 1 byte NOP_DS_PREFIX. Both have no functional effect with the plain CLFLUSH, but I've been told that executing a CLFLUSH + prefix should be faster than executing a CLFLUSH + NOP. We had to hard code the assembly for CLWB because, lacking the ability to assemble the CLWB instruction itself, the next closest thing is to have an xsaveopt instruction with a 0x66 prefix. Unfortunately XSAVEOPT itself is also relatively new, and isn't included by all the GCC versions that the kernel needs to support. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422377631-8986-3-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9d21c9fa2cc24e2a195a79c27b6550e1a96051a4 Author: Eric Whitney <enwlinux@xxxxxxxxx> Date: Fri Apr 3 00:17:31 2015 -0400 ext4: don't release reserved space for previously allocated cluster When xfstests' auto group is run on a bigalloc filesystem with a 4.0-rc3 kernel, e2fsck failures and kernel warnings occur for some tests. e2fsck reports incorrect iblocks values, and the warnings indicate that the space reserved for delayed allocation is being overdrawn at allocation time. Some of these errors occur because the reserved space is incorrectly decreased by one cluster when ext4_ext_map_blocks satisfies an allocation request by mapping an unused portion of a previously allocated cluster. Because a cluster's worth of reserved space was already released when it was first allocated, it should not be released again. This patch appears to correct the e2fsck failure reported for generic/232 and the kernel warnings produced by ext4/001, generic/009, and generic/033. Failures and warnings for some other tests remain to be addressed. Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 94426f4b9648154dc5a6760b59e6953e640ab3b1 Author: Eric Whitney <enwlinux@xxxxxxxxx> Date: Fri Apr 3 00:13:42 2015 -0400 ext4: fix loss of delalloc extent info in ext4_zero_range() In ext4_zero_range(), removing a file's entire block range from the extent status tree removes all records of that file's delalloc extents. The delalloc accounting code uses this information, and its loss can then lead to accounting errors and kernel warnings at writeback time and subsequent file system damage. This is most noticeable on bigalloc file systems where code in ext4_ext_map_blocks() handles cases where delalloc extents share clusters with a newly allocated extent. Because we're not deleting a block range and are correctly updating the status of its associated extent, there is no need to remove anything from the extent status tree. When this patch is combined with an unrelated bug fix for ext4_zero_range(), kernel warnings and e2fsck errors reported during xfstests runs on bigalloc filesystems are greatly reduced without introducing regressions on other xfstests-bld test scenarios. Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 0f2af21aae11972fa924374ddcf52e88347cf5a8 Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Fri Apr 3 00:09:13 2015 -0400 ext4: allocate entire range in zero range Currently there is a bug in zero range code which causes zero range calls to only allocate block aligned portion of the range, while ignoring the rest in some cases. In some cases, namely if the end of the range is past i_size, we do attempt to preallocate the last nonaligned block. However this might cause kernel to BUG() in some carefully designed zero range requests on setups where page size > block size. Fix this problem by first preallocating the entire range, including the nonaligned edges and converting the written extents to unwritten in the next step. This approach will also give us the advantage of having the range to be as linearly contiguous as possible. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit a5562f65b1371a0988b707c10c44fcc2bba56990 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed May 15 11:36:56 2013 -0300 [media] v4l: xilinx: Add Test Pattern Generator driver The TPG generates multiple static or dynamic test patterns. The driver currently hardcodes the pattern to the moving box pattern. Signed-off-by: Christian Kohn <christian.kohn@xxxxxxxxxx> Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5a4f3145aa685ddc2caf424763d42d3eaaebbc6f Author: Maurizio Lombardi <mlombard@xxxxxxxxxx> Date: Fri Apr 3 00:02:53 2015 -0400 ext4: remove unnecessary lock/unlock of i_block_reservation_lock This is a leftover of commit 71d4f7d032149b935a26eb3ff85c6c837f3714e1 Signed-off-by: Maurizio Lombardi <mlombard@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx> commit 40ac9b196d07813132e2d5a14aae40d5812f131e Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Mar 26 11:46:25 2014 -0300 [media] v4l: xilinx: Add Video Timing Controller driver The Video Timing Controller (VTC) includes a timing detector and/or a timing generator. Only the generator is currently supported. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit df3305156f989339529b3d6744b898d498fb1f7b Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed May 15 11:36:19 2013 -0300 [media] v4l: xilinx: Add Xilinx Video IP core Xilinx platforms have no hardwired video capture or video processing interface. Users create capture and memory to memory processing pipelines in the FPGA fabric to suit their particular needs, by instantiating video IP cores from a large library. The Xilinx Video IP core is a framework that models a video pipeline described in the device tree and expose the pipeline to userspace through the media controller and V4L2 APIs. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Signed-off-by: Radhey Shyam Pandey <radheys@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 08439fec266c3cc5702953b4f54bdf5649357de0 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 2 23:56:32 2015 -0400 ext4: remove block_device_ejected bdi->dev now never goes away, so this function became useless. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 5f80f62adae2a2920781a847805d34b36b323f7d Author: Wei Yuan <weiyuan.wei@xxxxxxxxxx> Date: Thu Apr 2 23:50:48 2015 -0400 ext4: remove useless condition in if statement. In this if statement, the previous condition is useless, the later one has covered it. Signed-off-by: Weiyuan <weiyuan.wei@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx> commit c9bca8b33118573da9b7ac2ea21947a8e4d287dd Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Fri May 17 07:31:04 2013 -0300 [media] v4l: of: Add v4l2_of_parse_link() function The function fills a link data structure with the device node and port number at both the local and remote ends of a link defined by one of its endpoint nodes. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2dca0551e4e2f3fc2b9beee784c7071e1e79c14b Author: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Date: Tue Mar 18 13:18:15 2014 -0300 [media] v4l: Add VUY8 24 bits bus format Add VUY8 24 bits bus format, V4L2_MBUS_FMT_VUY8_1X24. Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e8b2d7a565ae4fc8627ffe35b953062ff6119533 Author: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Date: Tue Mar 18 13:18:14 2014 -0300 [media] v4l: Sort YUV formats of v4l2_mbus_pixelcode Keep the formats sorted by type, bus_width, bits per component, samples per pixel and order of subsamples, in that order. Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 72b8e0f9fa8aee7e623808af1a5f33b70ebcb2c7 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Thu Apr 2 23:47:42 2015 -0400 ext4: remove unused header files Remove unused header files and header files which are included in ext4.h. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 7b0fd4568bee379474eb0d989ef1125064f19fa7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed May 15 11:34:26 2013 -0300 [media] v4l: Add RBG and RGB 8:8:8 media bus formats on 24 and 32 bit busses Add support and documentation for two media bus formats: MEDIA_BUS_FMT_RBG888_1X24 and MEDIA_BUS_FMT_RGB888_1X32_PADHI Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5a5394be30dd9725351cdd0f923c1e374dc140cc Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Mar 26 00:01:44 2014 -0300 [media] media: entity: Document the media_entity_ops structure Currently, there's no documentation for the structure. Add a kernel-doc nano documentation to it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 08569d6477d76e2fc8fdd41cfb0ce02f59333c69 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:03 2015 -0300 [media] cx18: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 38a1421ddd68edecb53e6dd16bae3a4b089fa1cf Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 30 04:53:11 2015 -0300 [media] ivtv: disable fbuf support if ivtvfb isn't loaded Disable all fbuf-related functionality if ivtvfb isn't loaded. This caused various v4l2-compliance failures. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bbc9fa2ece0f2bb1db9b195d7a6ac88468cd45d4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 30 13:54:13 2015 -0300 [media] ivtv: replace crop by selection Replace the old g/s_crop ioctls by the new g/s_selection ioctls. This solves a v4l2-compliance failure, and it is something that needs to be done anyway to eventually be able to remove the old g/s_crop ioctl ops. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4db4ca7450f97c300ebf74f5dca69015ad0d5ed3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:04 2015 -0300 [media] sta2x11: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Federico Vaga <federico.vaga@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d079f99f00f75065feb0c33cd7c7b8e4d224d3c9 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Mon Mar 9 19:10:51 2015 -0300 [media] media: sh_vou: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. 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 afd270d1a45043cef14341bcceff62ed50e8dc9a Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Fri Mar 27 19:39:09 2015 -0300 [media] usbvision: fix leak of usb_dev on failure paths in usbvision_probe() There is no usb_put_dev() on failure paths in usbvision_probe(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cc7d2dfb75b3ac0f248801ceed65f69465eb0389 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 15 14:30:25 2015 -0300 [media] v4l2_plane_pix_format: use __u32 bytesperline instead of __u16 While running v4l2-compliance tests on vivid I suddenly got errors due to a call to vmalloc_user with size 0 from vb2. Digging deeper into the cause I discovered that this was due to the fact that struct v4l2_plane_pix_format defines bytesperline as a __u16 instead of a __u32. The test I was running selected a format of 4 * 4096 by 4 * 2048 with a 32 bit pixelformat. So bytesperline was 4 * 4 * 4096 = 65536, which becomes 0 in a __u16. And bytesperline * height is suddenly 0 as well. While the vivid driver may be a virtual driver, it is to be expected that this limit will be hit for real hardware as well in the near future: 8k deep-color video will already reach it. The solution is to change the type to __u32. The only drivers besides vivid that use the multiplanar API are little-endian ARM and SH platforms (exynos, ti-vpe, vsp1), so this is safe. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 03c278f01d70ce168a24f85a08e11636df30f580 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Tue Mar 10 14:53:05 2015 -0300 [media] media: davinci: vpfe_capture: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. 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 60acf187681aa61f339030540aef74e4d0db875e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:13 2015 -0300 [media] cx231xx: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2aa689dd80575606a569951467eee6ac98710d33 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:12 2015 -0300 [media] usbvision: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 65b88c0be1f3fff0c652db19d5e13d8448764cf5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:10 2015 -0300 [media] tm6000: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4b30409b1b77975ed6197e3494662eedc7a1e26f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:09 2015 -0300 [media] hdpvr: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dbe98b30d3a0d703369fef9712482e12fc685805 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:08 2015 -0300 [media] gadget/uvc: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cab9bf11f8ef433151a15b9519e3e0a56302c9a4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:07 2015 -0300 [media] wl128x: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 650e629bf7a782ce3c646f12a0ec381147b2c9b9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:05 2015 -0300 [media] m2m-deinterlace: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Javier Martin <javier.martin@xxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e239129ca7c5aa1791fa66528bfdd43854cf0d48 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:01 2015 -0300 [media] meye: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f91fccde35cd41b085756b134d94b6f87ed1c94e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:33:59 2015 -0300 [media] dt3155v4l: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 54ad7b9d427e62f21138aacf92f8d7585344f6df Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:33:58 2015 -0300 [media] radio-bcm2048: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3ae863e0db47ae7815f9e52975e1fddfca59520a Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:33:57 2015 -0300 [media] saa7146: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 093654201e209b2a1aa59bd6c0bc1e33c1f6c4d2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:33:56 2015 -0300 [media] vim2m: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 635d62f073247e71b51167a01b84f08ff4ca000c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:33:55 2015 -0300 [media] ivtv: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0c56fe31420ca599c90240315f7959bf1b4eb6ce Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Jan 5 13:38:04 2015 -0600 mnt: Don't propagate unmounts to locked mounts If the first mount in shared subtree is locked don't unmount the shared subtree. This is ensured by walking through the mounts parents before children and marking a mount as unmountable if it is not locked or it is locked but it's parent is marked. This allows recursive mount detach to propagate through a set of mounts when unmounting them would not reveal what is under any locked mount. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 5d88457eb5b86b475422dc882f089203faaeedb5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Jan 3 05:39:35 2015 -0600 mnt: On an unmount propagate clearing of MNT_LOCKED A prerequisite of calling umount_tree is that the point where the tree is mounted at is valid to unmount. If we are propagating the effect of the unmount clear MNT_LOCKED in every instance where the same filesystem is mounted on the same mountpoint in the mount tree, as we know (by virtue of the fact that umount_tree was called) that it is safe to reveal what is at that mountpoint. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 411a938b5abc9cb126c41cccf5975ae464fe0f3e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Dec 22 19:12:07 2014 -0600 mnt: Delay removal from the mount hash. - Modify __lookup_mnt_hash_last to ignore mounts that have MNT_UMOUNTED set. - Don't remove mounts from the mount hash table in propogate_umount - Don't remove mounts from the mount hash table in umount_tree before the entire list of mounts to be umounted is selected. - Remove mounts from the mount hash table as the last thing that happens in the case where a mount has a parent in umount_tree. Mounts without parents are not hashed (by definition). This paves the way for delaying removal from the mount hash table even farther and fixing the MNT_LOCKED vs MNT_DETACH issue. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 590ce4bcbfb4e0462a720a4ad901e84416080bba Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Dec 22 18:30:08 2014 -0600 mnt: Add MNT_UMOUNT flag In some instances it is necessary to know if the the unmounting process has begun on a mount. Add MNT_UMOUNT to make that reliably testable. This fix gets used in fixing locked mounts in MNT_DETACH Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit c003b26ff98ca04a180ff34c38c007a3998d62f9 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Dec 18 13:10:48 2014 -0600 mnt: In umount_tree reuse mnt_list instead of mnt_hash umount_tree builds a list of mounts that need to be unmounted. Utilize mnt_list for this purpose instead of mnt_hash. This begins to allow keeping a mount on the mnt_hash after it is unmounted, which is necessary for a properly functioning MNT_LOCKED implementation. The fact that mnt_list is an ordinary list makding available list_move is nice bonus. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 8318e667f176f7ea34451a1a530634e293f216ac Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Dec 24 07:35:10 2014 -0600 mnt: Don't propagate umounts in __detach_mounts Invoking mount propagation from __detach_mounts is inefficient and wrong. It is inefficient because __detach_mounts already walks the list of mounts that where something needs to be done, and mount propagation walks some subset of those mounts again. It is actively wrong because if the dentry that is passed to __detach_mounts is not part of the path to a mount that mount should not be affected. change_mnt_propagation(p,MS_PRIVATE) modifies the mount propagation tree of a master mount so it's slaves are connected to another master if possible. Which means even removing a mount from the middle of a mount tree with __detach_mounts will not deprive any mount propagated mount events. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit e819f152104c9f7c9fe50e1aecce6f5d4bf06d65 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Dec 24 07:20:01 2014 -0600 mnt: Improve the umount_tree flags - Remove the unneeded declaration from pnode.h - Mark umount_tree static as it has no callers outside of namespace.c - Define an enumeration of umount_tree's flags. - Pass umount_tree's flags in by name This removes the magic numbers 0, 1 and 2 making the code a little clearer and makes it possible for there to be lazy unmounts that don't propagate. Which is what __detach_mounts actually wants for example. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit a3b3c5627c8301ac850962b04f645dfab81e6a60 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Apr 2 20:33:53 2015 -0500 mnt: Use hlist_move_list in namespace_unlock Small cleanup to make the code more readable and maintainable. Signed-off-by: Eric Biederman <ebiederm@xxxxxxxxxxxx> commit b3226f961aa91eb94971939400c7506e7dcc86c0 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Mar 24 09:40:58 2015 -0300 [media] ts2020: do not use i2c_transfer() on sleep() There is no need to use bulk i2c_transfer() to write single register. Use write register function instead. Tested-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ce0b065a7cc3cad8e974f1e8a5bead61563a3885 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 20:35:57 2015 -0300 [media] m88ts2022: remove obsolete driver This driver was replaced by ts2020 driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0fecb6c0944f841561067a2b7ae8738602f48cdb Author: Antti Palosaari <crope@xxxxxx> Date: Sun Mar 29 19:28:39 2015 -0300 [media] dw2102: switch ts2022 to ts2020 driver Change ts2022 driver to ts2020 driver. ts2020 driver supports both tuner chip models. That affects TechnoTrend TT-connect S2-4600 DVB-S/S2 device, which Olli just added. Cc: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f31a6386000eb1459e89099867723e9bcc513fd6 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 20:32:39 2015 -0300 [media] dvbsky: switch ts2022 to ts2020 driver Change ts2022 driver to ts2020 driver. ts2020 driver supports both tuner chip models. Cc: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2ad8dd417a6af899d6298869bf6d2f76b1eab6a6 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 20:22:28 2015 -0300 [media] smipcie: switch ts2022 to ts2020 driver Change ts2022 driver to ts2020 driver. ts2020 driver supports both tuner chip models. Cc: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d76e08784cb8c08669613b6c1103452b5e4094c0 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 18:52:46 2015 -0300 [media] cx23885: switch ts2022 to ts2020 driver Change ts2022 driver to ts2020 driver. ts2020 driver supports both chip models. Cc: Olli Salonen <olli.salonen@xxxxxx> Cc: Nibble Max <nibble.max@xxxxxxxxx> Tested-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 83c1b6ce7562efe157faac04d388144e1fd3c053 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 18:33:29 2015 -0300 [media] em28xx: switch PCTV 461e to ts2020 driver Change ts2022 driver to ts2020 driver as ts2020 driver now supports both models. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dc245a5f9b5163511e0c164c8aa47848f07b75a9 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 18:26:55 2015 -0300 [media] ts2020: implement I2C client bindings Implement I2C binding model. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit abd9025b95619c02f83583c9659298bc65dcdf50 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 14:14:40 2015 -0300 [media] ts2020: add support for TS2022 TS2022 is slightly newer and different version of same tuner, which could be supported with rather small changes. Tuner type is auto-detected. Tested-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 27254c36346b8c3990f4951c39afc495c7c2c2ad Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Mar 16 14:22:18 2015 -0300 [media] dw2102: TechnoTrend TT-connect S2-4600 DVB-S/S2 tuner TechnoTrend TT-connect S2-4600 is a USB2.0 DVB-S/S2 tuner using the popular Montage M88DS3103/M88TS2022 demod/tuner. The demodulator needs a firmware. Antti posted a firmware when releasing support for PCTV 461e, available here: http://palosaari.fi/linux/v4l-dvb/firmware/M88DS3103/ Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 70769b24d2973428907de3429dd2a5792e4ce317 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Mar 16 14:14:05 2015 -0300 [media] dw2102: store i2c client for tuner into dw2102_state Prepare the dw2102 driver for tuner drivers that are implemented as I2C drivers (such as m88ts2022). The I2C client is stored in to the state and released at disconnect. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2c4ffe27d0a45b50ee1c7ed4da37409098483fcd Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Mar 16 14:14:04 2015 -0300 [media] dw2102: combine su3000_state and s6x0_state into dw2102_state Two separate state structs are defined for different devices inside the dw2102. Combine them, as both only contain one element. This will also make it easier to further cleanup the driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 67e6590aa9384f87492e20f78a5943718baa695b Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Mar 20 10:37:38 2015 -0300 [media] m88ts2022: Nested loops shouldn't use the same index variable There are a pair of nested loops inside m88ts2022_cmd() that use the same index variable, but for different things. Split the variable. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0fd68f2f7aee2343f2396188362ba41447d8004f Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Mon Mar 9 20:44:40 2015 -0300 [media] smiapp: Clean up smiapp_get_pdata() Don't set rval when it's not used (the function returns a pointer to struct smiapp_platform_data). Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c4c0283ab3cd78f8c53e708f8e75e8ed80468a31 Author: Benoit Parrot <bparrot@xxxxxx> Date: Fri Mar 20 18:03:52 2015 -0300 [media] media: i2c: add support for omnivision's ov2659 sensor this patch adds support for omnivision's ov2659 sensor, the driver supports following features: 1: Asynchronous probing 2: DT support 3: Media controller support Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d16cae25cba9372fb504ba1c024b775cbbe62618 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 22 15:35:56 2015 -0300 [media] DocBook media: fix broken EIA hyperlink This fixes the bibliography hyperlink to "http://www.eia.org" which now redirects to a page with a "404 Not found" error. The latest update to the document referred to is now available on the Consumer Electronics Association website. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 924b34ea48252cdf258aec759638b61c7d82f282 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 20 14:05:02 2015 -0300 [media] DocBook media: improve V4L2_DV_FL_HALF_LINE documentation Explicitly specify where the half-line is added or removed in each field. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e202e515b7278e4b418df3ceafae3fdd2bd31128 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 20 13:23:06 2015 -0300 [media] vivid-tpg.c: fix wrong Bt.2020 coefficients Mistyping 0.2627 as 0.2726 I can understand, but -0.4598 as -0.4629? No idea how I managed that. Anyway, these coefficients are now correct again. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 486e56be5274848fb1adc68a39a5b4e69cab8ca8 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Mar 19 11:31:10 2015 -0300 [media] DocBook media: fix BT.2020 description One number was wrong (0.6789 -> 0.6780) and Y' should have been Yc'. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b766586b1a87c5417ee6d1f3806f06ccfc335277 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Mar 18 07:05:31 2015 -0300 [media] DocBook media: improve event documentation It always annoyed me that the event type documentation was separate from the struct v4l2_event documentation. This patch moves it all to one place, VIDIOC_DQEVENT. This makes much more sense. Also changed the 'changes-flags' ref to 'ctrl-changes-flags' since this referred to control changes. There is a src-changes-flags as well, so 'changes-flags' was a bit vague. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9a68c9fa760c958653def811ed7257e3e9bb2ee5 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Mon Mar 9 18:46:32 2015 -0300 [media] smiapp: Read link-frequencies property from the endpoint node The documentation stated that the link-frequencies property belongs to the endpoint node, not to the device's of_node. Fix this. There are no DT board descriptions using the driver yet, so a fix in the driver is sufficient. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0aa83bb1814e64bfc744abb6bae85e264edee4ef Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sat Mar 21 07:18:07 2015 -0300 [media] mn88473: implement lock for all delivery systems Add capability to check if digital TV has lock for all delivery systems. Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d73ab406137fb137f1ac56ed43cfb8a151179940 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 16 19:01:53 2015 -0300 [media] mn88472: define symbol rate limits w_scan complains about missing symbol rate limits: This dvb driver is *buggy*: the symbol rate limits are undefined - please report to linuxtv.org Lets add some reasonable limits in order to keep w_scan happy :) Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8459e41da53b48e9b5f92312f27e07a67ea6b27a Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 16 18:56:21 2015 -0300 [media] mn88473: define symbol rate limits w_scan complains about missing symbol rate limits: This dvb driver is *buggy*: the symbol rate limits are undefined - please report to linuxtv.org Lets add some reasonable limits in order to keep w_scan happy :) Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4752eb273133778816e7affe6c8381712f363c50 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:54 2015 -0300 [media] mn88472: check if firmware is already running before loading it Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 567627bfb2b5837315fe467e52c1bbca634acc00 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:53 2015 -0300 [media] mn88473: check if firmware is already running before loading it Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0f21ac7f92e8a014a3c653337fbae7af4c240c3a Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:52 2015 -0300 [media] mn88473: implement firmware parity check Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 307e95c92257fe2602b457ab6df56d9ef9a7444e Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:51 2015 -0300 [media] mn88472: implement firmware parity check Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7ba0c47c34a1ea5bc7a24ca67309996cce0569b5 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Mar 31 11:01:47 2015 -0700 ip6mr: call del_timer_sync() in ip6mr_free_table() We need to wait for the flying timers, since we are going to free the mrtable right after it. Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 419df12fb5fa558451319276838c1842f2b11f8f Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Mar 31 11:01:46 2015 -0700 net: move fib_rules_unregister() under rtnl lock We have to hold rtnl lock for fib_rules_unregister() otherwise the following race could happen: fib_rules_unregister(): fib_nl_delrule(): ... ... ... ops = lookup_rules_ops(); list_del_rcu(&ops->list); list_for_each_entry(ops->rules) { fib_rules_cleanup_ops(ops); ... list_del_rcu(); list_del_rcu(); } Note, net->rules_mod_lock is actually not needed at all, either upper layer netns code or rtnl lock guarantees we are safe. Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed785309c94445dd90e242370e1f7bb034e008fd Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Mar 31 11:01:45 2015 -0700 ipv4: take rtnl_lock and mark mrt table as freed on namespace cleanup This is the IPv4 part for commit 905a6f96a1b1 (ipv6: take rtnl_lock and mark mrt6 table as freed on namespace cleanup). Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba6d6d8a06c323782badf8cbead6e4ec1c742235 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:50 2015 -0300 [media] mn88472: implement lock for all delivery systems The increase of the lock timeout is needed for dvb-t2. Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 46cf7074828e148bdc9112d0f81bab2dfcbefe62 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:48 2015 -0300 [media] rtl28xxu: lower the rc poll time to mitigate i2c transfer errors The Astrometa device has issues with i2c transfers. Lowering the poll time somehow makes these errors disappear. Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b91bfcda45a984288f5977b3574aca56eee6f2e4 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:47 2015 -0300 [media] r820t: change read_gain() code to match register layout Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7b7ef4b4a5997229a42c02435e1775623e4ab379 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:46 2015 -0300 [media] r820t: add DVBC profile in sysfreq_sel This will make the Astrometa DVB-T/T2/C usb stick be able to pick up muxes around 290-314 MHz. Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f2272e1347c452fb6cc4cb6eeea8b7266cc87ae5 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jan 1 14:40:35 2014 -0300 [media] v4l: mt9v032: Add OF support Parse DT properties into a platform data structure when a DT node is available. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5888f9df0dcd5eb3479345301e0a35a19fcb52a9 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Mar 12 20:53:51 2015 -0300 [media] of: Add vendor prefix for Aptina Imaging Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2d01209fd2d96cb9cd07b5c353efc47b525d71dc Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jan 1 14:40:35 2014 -0300 [media] v4l: mt9v032: Consider control initialization errors as fatal The device requires control to be properly operated, they're not optional. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7c3be9f812be6c2466ecb705200fc13cc34caa9c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Sep 20 18:38:56 2014 -0300 [media] v4l: mt9p031: Convert to the gpiod API This simplifies platform data and DT integration. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reviewed-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9012d0888c8fc473d5760f2367b002dfddee80f9 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Fri Feb 27 13:10:19 2015 -0300 [media] media: i2c: mt9p031: add support for asynchronous probing Both synchronous and asynchronous mt9p031 subdevice probing is supported by this patch. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 15af4a532f7fb21f7e02973a4829735ce13190c0 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Thu Feb 26 15:05:38 2015 -0300 [media] media: i2c: mt9p031: make sure we destroy the mutex Make sure to call mutex_destroy() in case of probe failure or module unload. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 198b47ddd23498cd88f4ec2c2a050eb727cc357c Author: Enrico Scholz <enrico.scholz@xxxxxxxxxxxxxxxxx> Date: Wed Feb 4 11:53:32 2015 -0300 [media] mt9p031: fixed calculation of clk_div There must be used 'min_t', not 'max_t' for calculating the divider. Signed-off-by: Enrico Scholz <enrico.scholz@xxxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8f778bbc542ddf8f6243b21d6aca087e709cabdc Merge: 4e8a483 51b52fa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:18:57 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "One drm core fix, one exynos regression fix, two sets of radeon fixes (Alex was a bit behind last week), and two i915 fixes. Nothing too serious we seem to have calmed down i915 since last week" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/radeon: fix wait in radeon_mn_invalidate_range_start drm/radeon: add extra check in radeon_ttm_tt_unpin_userptr drm: Exynos: Respect framebuffer pitch for FIMD/Mixer drm/i915: Reject the colorkey ioctls for primary and cursor planes drm/i915: Skip allocating shadow batch for 0-length batches drm/radeon: programm the VCE fw BAR as well drm/radeon: always dump the ring content if it's available radeon: Do not directly dereference pointers to BIOS area. drm/radeon/dpm: fix 120hz handling harder drm/edid: set ELD for firmware and debugfs override EDIDs commit ac0eb4809e88357b885c72b4e95def98235613c8 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Mar 3 08:08:42 2015 -0300 [media] staging: media: omap4iss: video: Don't WARN() on unknown pixel formats When mapping from a V4L2 pixel format to a media bus format in the VIDIOC_TRY_FMT and VIDIOC_S_FMT handlers, the requested format may be unsupported by the driver. Return a hardcoded default format instead of WARN()ing in that case. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9d9104fb9db90f7d806b1f0ba270c209b8d4fa25 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Dec 11 10:23:57 2014 -0300 [media] staging: media: omap4iss: Cleanup media entities after unregistration The ipipeif, ipipe and resizer media entities are cleaned up before unregistering the media device, creating a race condition. Fix it by cleaning them up at cleanup time. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e831cd251fb91d6c25352d322743db0d17ea11dd Author: Florian Echtler <floe@xxxxxxxxxxxxxx> Date: Mon Mar 16 06:48:23 2015 -0300 [media] add raw video stream support for Samsung SUR40 This patch adds raw video support for the Samsung SUR40 using vbuf2-dma-sg. All tests from v4l2-compliance pass. Support for VB2_USERPTR is currently disabled due to unexpected interference with dma-sg buffer sizes. Signed-off-by: Florian Echtler <floe@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: fix compile warning: %ld -> %zd] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5f853487328ba4d9d99d5be4900d804b1fdf1f15 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 15 17:54:30 2015 -0300 [media] DocBook media: fix awkward language in VIDIOC_QUERYCAP Fix some awkward language in the VIDIOC_QUERYCAP description. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3c828ff8965630c757cceab8acfac060aa4da69f Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 15 17:51:54 2015 -0300 [media] DocBook media: fix VIDIOC_CROPCAP type description The type field of VIDIOC_CROPCAP does not allow the MPLANE variants, just as all the other crop/selection related ioctls. Fix the description of CROPCAP and G_CROP and make the text describing this consistent for all selection ioctls. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 82bdb26abcae2988c74be29203caf23dabbe4be3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 15 13:40:04 2015 -0300 [media] vivid: sanitize selection rectangle Handle values like ~0 as width, height, left or top fields. Just strip off the top 16 bits will ensure that the calculations remain OK. Found with v4l2-compliance. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 29813a6f34042da13d201694964d9dea3d4658ef Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 13 13:22:07 2015 -0300 [media] vivid: report only one frameinterval The vivid driver reports a range of frame intervals for non-webcams, when in fact the frame interval is fixed for those inputs as it depends on the DV timings or standard. Just report the single discrete frame interval instead. Caught by v4l2-compliance. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1bd0835a27a8651c0a2a06415a64fdab161cbeba Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Mar 14 09:35:23 2015 -0300 [media] vivid: allow s_dv_timings if it is the same as the current Allow setting the same timings as the current timings (i.e., do nothing in that case). The code was actually there, but the vb2_is_busy() call was done before the timings check instead of afterwards. Found by v4l2-compliance. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 02aa769d9fa12d51213e7b1db34bb9b200a967a3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 14 08:01:50 2015 -0300 [media] vivid: add support for 8-bit Bayer formats Add support for: PIX_FMT_SBGGR8, SGBRG8, SGRBG8 and SRGGB8. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 87c674e24362cf0f8d5b70d2e20f6160045fd753 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 07:41:05 2015 -0300 [media] vivid: use v4l2_device.release to clean up the driver Use the release callback of the v4l2_device to clean up the memory. This prevents vivid from breaking if someone tries to unbind the driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f46d740fb0258982f00ffdbddc6486e674edafb5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 05:40:37 2015 -0300 [media] vivid: turn this into a platform_device This turns this driver into a platform device. This ensures that it appears in /sys/bus/platform_device since it now has a proper parent device. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 628821c84e9047bffab8357668a6b1ef6c0038a5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 06:35:40 2015 -0300 [media] vivid: add support for packed YUV formats Add support for the packed YUV formats YUV444, YUV555, YUV565 and YUV32. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 68cd4e9f21d9d3b868f78eb3a85165229cb4f024 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 05:36:08 2015 -0300 [media] vivid: add support for BGR666 Add support for the four byte BGR666 format. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f234a76e10e700a01ad473358921bc695b6ef5c9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 07:54:12 2015 -0300 [media] DocBook media: clarify BGR666 The documentation is not clear whether this is a three or four byte format. Clarify this. Also move the BGR666 format to the other 32 bit formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 71491063b85c04e6b68803db52cca7a9f14a945e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Mar 12 15:40:36 2015 -0300 [media] vivid: add support for PIX_FMT_RGB332 Add support for the one-byte-per-pixel RGB332 format. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dde72bd773dfce36fd0fb193d8ac5096f31e041c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 05:51:21 2015 -0300 [media] vivid: add support for NV24 and NV42 Add support for the YUV 4:4:4 formats NV24 and NV42. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8f1ff5435d314d607504964f13593a074e8efac9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Mar 12 05:08:01 2015 -0300 [media] vivid: add support for [A|X]RGB555X Only RGB555X was supported, add support for the other two variants. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9e1b73cfed2e28061810221467aa3bdd5284cc83 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 11 08:16:03 2015 -0300 [media] vivid: fix format comments Clarify which formats have an alpha channel and which do not by using 'x' instead of 'a' if there is no alpha channel. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8aca230b6d2769a0441782bcba242d0d007f0cea Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 11 08:14:34 2015 -0300 [media] vivid: add RGB444 support Add support for (A/X)RGB444 formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b521c375519f7d2a2d703f004f122a0831d8f22e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 10:37:52 2015 -0300 [media] vivid: add the new planar and monochrome formats Everything is in place to support these formats, so add them to the list. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1f9f23f62fb46d6cef93febe57bf41fb21fd01fa Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 12:06:27 2015 -0300 [media] vivid: add downsampling support Add support in vivid for downsampling. Most of the changes are in vivid_copy_buffer which needs to know about the right line widths. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ddcaee9dd4c00174db8ddf913c87ddf3773c446e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 12:03:52 2015 -0300 [media] vivid: add support for single buffer planar formats Make vivid aware of the difference of planes and buffers. Note that this does not yet add support for hor/vert downsampled formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 96c76efae3211c7b798553602d3165b4ea34aa95 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 15:04:49 2015 -0300 [media] vivid: add new format fields These fields are necessary to handle the new planar formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ecb9e91b2dfa3ef69c17c03b2e73ce935254fa65 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:52:43 2015 -0300 [media] vivid-tpg: split off the pattern drawing code The last part of the vivid-tpg refactoring: split off the pattern drawing code into a function of its own. This greatly improves the readability and maintainability of this code. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c6ff1c1b5ba0cff72f899e3b3ba0343b5a0e0024 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:47:48 2015 -0300 [media] vivid-tpg: move the 'extras' drawing to a separate function This moves the drawing code for the extras (border, square, etc) to a function of its own instead of having this in the main for loop. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 07386b9ab1d2adcf83543dfee0e835db56ccb3d5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:39:19 2015 -0300 [media] vivid-tpg: move 'extras' parameters to tpg_draw_params Any parameters related to drawing 'extras' like the border, the square, etc. are moved to struct tpg_draw_params. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f0ce4fd6e03afcc22c6b2cd59e155832cea644a9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:30:05 2015 -0300 [media] vivid-tpg: move pattern-related fields to struct tpg_draw_params Add a new function that fills in pattern-related fields in struct tpg_draw_params. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5e72939322862770f5dea9634c3cd2700dff9ca2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:26:43 2015 -0300 [media] vivid-tpg: move common parameters to tpg_draw_params Replace local variables by fields in the tpg_draw_params struct. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e76036d8507ca8568661e5c4f5010219d7097497 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:07:23 2015 -0300 [media] vivid-tpg: add a new tpg_draw_params structure This is needed to refactor the drawing function which is much too big. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dfff048953eb1e38e1f1ee718ff1295f219f1a89 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:04:02 2015 -0300 [media] vivid-tpg: add const where appropriate Added 'const' to several functions where that is possible to do. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9991deff1ac9361abbe0c5938b27f903f16d1ca0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 8 05:53:10 2015 -0300 [media] vivid-tpg: add helper functions to simplify common calculations Add helper functions to handle horizontal downscaling and horizontal scaling. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 51f309683510ced24b1b3886f0935a0ab32d1e0b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:57:50 2015 -0300 [media] vivid-tpg: add support for V4L2_PIX_FMT_GREY Add monochrome support to the TPG. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 68c90d64964de8a0c8c19825f373943096e3f673 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:55:09 2015 -0300 [media] vivid-tpg: add support for more planar formats Now that the support for hor/vert downsampled planar formats is in place we can add support for such formats to the TPG. This patch adds support for: V4L2_PIX_FMT_YUV420M V4L2_PIX_FMT_YVU420M V4L2_PIX_FMT_YUV420 V4L2_PIX_FMT_YVU420 V4L2_PIX_FMT_YUV422P V4L2_PIX_FMT_NV16 V4L2_PIX_FMT_NV61 V4L2_PIX_FMT_NV12 V4L2_PIX_FMT_NV21 V4L2_PIX_FMT_NV12P V4L2_PIX_FMT_NV21P Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 280abe474ec3c4e14b9bf3bdbe19c12b08530408 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:50:41 2015 -0300 [media] vivid-tpg: finish hor/vert downsampling support Implement horizontal and vertical downsampling when filling in the plane. The TPG is now ready to support such formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3e14e7a82c1efdd15253a67cf5dccb84b1e9b7f1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:23:16 2015 -0300 [media] vivid-tpg: add hor/vert downsampling support to tpg_gen_text This will just skip lines/pixels since color fidelity is not quite as important here as it is with the test patterns themselves. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1f088dc162ff191b95d4737d9a3664d8b6a4fca8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:15:25 2015 -0300 [media] vivid-tpg: correctly average the two pixels in gen_twopix() gen_twopix() is always called twice: once for the first and once for the second pixel. Improve the code to properly average the two if the format requires horizontal downsampling. This is necessary for patterns like 1x1 red/blue checkers. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5d7c539e194af598a8f8d8f616ce97581f3d079a Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:06:43 2015 -0300 [media] vivid-tpg: precalculate downsampled lines When dealing with vertical downsampling two successive lines have to be averaged. In the case of the test pattern generator that only happens if the two lines are using different patterns. So precalculate the average between two pattern lines: one of pattern P and one of pattern P + 1. That way there is no need to do any on-the-fly downsampling: it's all done in the precalculate phase. This patch also implements horizontal downsampling in the precalculate phase. The only thing that needs to be done is to half the width since the actual downsampling happens when two pixels at a time are generated. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ba01f673e031ade4f60583ab1ac4f06dd260a972 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 13:57:27 2015 -0300 [media] vivid-tpg: add hor/vert downsampling fields This is step one of supporting horizontal and vertical downsampling. This just adds support for the h/vdownsampling fields and it increases the maximum number of planes to 3. Currently none of the planar formats need horizontal or vertical downsampling, so this change has no effect at the moment. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4e8a4830dc9f0883d5302b871adb9e6179338d24 Merge: b0838b1 dbcf988 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 16:37:56 2015 -0700 Merge tag 'irqchip-fixes-4.0-2' of git://git.infradead.org/users/jcooper/linux Pull irqchip fixes from Jason Cooper: "This is the second round of fixes for irqchip. It contains some fixes found while the arm64 guys were writing the kvm gicv3 its emulation. GICv3 ITS: - Small batch of fixes discovered while writing the kvm ITS emulation" * tag 'irqchip-fixes-4.0-2' of git://git.infradead.org/users/jcooper/linux: irqchip: gicv3-its: Use non-cacheable accesses when no shareability irqchip: gicv3-its: Fix PROP/PEND and BASE/CBASE confusion irqchip: gicv3-its: Fix device ID encoding irqchip: gicv3-its: Fix encoding of collection's target redistributor commit 4db22041892946348f98672a5524bdf2f18f66f5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 13:39:01 2015 -0300 [media] vivid-tpg: add helper functions for single buffer planar formats Add helpers functions to determine the line widths and image sizes for planar formats that are stores in a single buffer. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 06d1f0c2eaaebe04fa3ea780ca37dcd6e05ade16 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 13:01:53 2015 -0300 [media] vivid-tpg: separate planes and buffers Add a new field that contains the number of buffers. This may be less than the number of planes in case multiple planes are combined into one buffer. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ba24b442033b7f50e24798685f4b24b8e4c3aaa2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 10:06:55 2015 -0300 [media] vivid: do not allow video loopback for SEQ_TB/BT Sequential top-bottom/bottom-top fields are not supported as video loopback. This is too much work to implement for field settings that are rarely used. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9c35bd48d54345b2c89426dd2efdb33adaa0aac3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 12:53:39 2015 -0300 [media] vivid-tpg: don't add offset when switching to monochrome The grayscale values are still full range sRGB, so don't add the limited range offset. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1a05d3133f826c9578986d9ec6ffab64ced62a03 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 12:49:57 2015 -0300 [media] vivid: add new checkboard patterns Add a 2x2 checker patterns and 1x1 and 2x2 red/blue checker patterns. Useful for testing 4:2:2 and 4:2:0 formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 43047f6b7467c2c9e3ef0b8113469c40b0b78cc3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 12:38:42 2015 -0300 [media] vivid: fix test pattern movement for V4L2_FIELD_ALTERNATE The successive TOP/BOTTOM fields did not move as they should: only every other field actually changed position. The cause was that the tpg needs to know if it is dealing with a FIELD_ALTERNATE case since that requires slightly different handling. So tell the TPG whether or not the field setting is for the ALTERNATE case or not. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c501abcfbfd75da44f35992d0da39af92860fb01 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 12:30:43 2015 -0300 [media] vivid: use TPG_MAX_PLANES instead of hardcoding plane-arrays Two arrays of size 'max number of planes' have a hardcoded size instead of using TPG_MAX_PLANES. Fix that, since TPG_MAX_PLANES will be increased later on. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a94e7d6e825ac20f17436477120fb3fd8a755ebf Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 6 11:24:04 2015 -0300 [media] vivid: wrong top/bottom order for FIELD_ALTERNATE The condition to decide whether the current field is top or bottom was inverted. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 360565fcf72637258ebe6d3984c669bc9d86f7cd Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 12:19:36 2015 -0300 [media] vivid: fix typo in plane size checks The plane size check was hardcoded to plane 0 instead of using the plane index. This failed when using the NV61M format which has a larger plane size for the second plane compared to the first plane. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 51b52fac9b4ece9ec0c27a39b0ae1b3b4a829df9 Merge: 165b11b 22e2e86 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Apr 3 09:28:55 2015 +1000 Merge branch 'drm-fixes-4.0' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Just two small fixes for radeon, both destined for stable. * 'drm-fixes-4.0' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: fix wait in radeon_mn_invalidate_range_start drm/radeon: add extra check in radeon_ttm_tt_unpin_userptr commit 165b11bfe44a4c758fece6e5b1bd9dcb628d6b13 Merge: 3fa50dc adacb22 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Apr 3 09:28:18 2015 +1000 Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes Fix display on issue to Exynos5250 based Snow(1366x768) board. * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm: Exynos: Respect framebuffer pitch for FIMD/Mixer commit 9832e0e013c5cbbf688c1c2421a0b05e01fe409b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 12:34:32 2015 -0300 [media] vivid: the overlay API wasn't disabled completely for multiplanar If the vivid driver is loaded in multiplanar mode, then the capture overlay functionality should be disabled. This wasn't fully done, which led to v4l2-compliance errors. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3fa50dc3be89f721f4dd64c38fd45d330f98c1f0 Merge: c7d7487 840a1cf Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Apr 3 09:27:48 2015 +1000 Merge tag 'drm-intel-fixes-2015-04-02' of git://anongit.freedesktop.org/drm-intel into drm-fixes one oops fixes and a 0-length allocation fix from next backported. * tag 'drm-intel-fixes-2015-04-02' of git://anongit.freedesktop.org/drm-intel: drm/i915: Reject the colorkey ioctls for primary and cursor planes drm/i915: Skip allocating shadow batch for 0-length batches commit 78223354a64284fe1ef74c5a7900435776fcf2a0 Merge: 2a6c0f0 6f46aed Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Thu Apr 2 23:27:23 2015 +0000 Merge branch 'irqchip/renesas' into irqchip/core commit c7d748743f3ae73f1997a0a56e34674244b99a4a Merge: 91fd896 ad692b4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Apr 3 09:27:15 2015 +1000 Merge tag 'topic/drm-fixes-2015-04-02' of git://anongit.freedesktop.org/drm-intel into drm-fixes Here's a single drm core fix, cc: stable, that affects i915 users. * tag 'topic/drm-fixes-2015-04-02' of git://anongit.freedesktop.org/drm-intel: drm/edid: set ELD for firmware and debugfs override EDIDs commit 2a6c0f0ad5c0127d18b43674bd94785fae2ef5fe Merge: fa6ed4c 0d8e1d8 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Thu Apr 2 23:27:10 2015 +0000 Merge branch 'irqchip/mvebu' into irqchip/core commit 6f46aedb9c85873b67f6186a8b0f9d7a769b6b2c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Apr 1 14:00:06 2015 +0200 irqchip: renesas-irqc: Add wake-up support The IRQC module clock is managed through Runtime PM and PM Domains. If wake-up is enabled, this clock must not be disabled during system suspend. Hence implement irq_chip.irq_set_wake(), which increments/decrements the clock's enable_count when needed. This fixes wake-up by gpio-keys on r8a73a4/ape6evm. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1427889606-18671-1-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0d8e1d80bbe9852f42784072880df002534c6e0f Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 16:04:37 2015 +0200 irqchip: armada-370-xp: Allow using wakeup source On the Armada 370/XP SoCs, in standby mode the SoC stay powered and it is possible to wake-up from any interrupt sources. This patch adds flag to the MPIC irqchip driver to let linux know this. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1427724278-12379-5-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 739cfd9be9af6bbbe4c652077add59409adf2225 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 03:39:35 2015 -0300 [media] rcar-vin: Don't implement empty optional clock operations The clock_start and clock_stop operations are now optional, don't implement empty stubs. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3781760a3d2bed2df8ed4cc3d061f8541bf7bd1d Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 03:39:34 2015 -0300 [media] soc-camera: Make clock_start and clock_stop operations optional Instead of forcing drivers to implement empty clock operations, make them optional. v4l2 clock registration in the soc-camera core should probably be conditionned on the availability of those operations, but careful review and/or testing of all drivers would be needed, so that should be a separate step. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2af12f025870f664244defab14796da2fdb5009e Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 03:39:33 2015 -0300 [media] soc-camera: Unregister v4l2 clock in the OF bind error path The v4l2 clock registered in soc_of_bind() must be unregistered if an error occurs and makes the function fail. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4e65172f7bd20fcbfa87453d1e5711ad129d4216 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Feb 10 06:31:35 2015 -0300 [media] media: ov2640: add primary dt support Add device tree support for ov2640. In device tree, user needs to provide the master clock (xvclk). User can add the reset/pwdn pins if they have. Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 87838addf6143430061823c334792185b56ede47 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Feb 10 06:31:36 2015 -0300 [media] media: ov2640: dt: add the device tree binding document Add the document for ov2640 dt. Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f180ebae1ac05805acdb808eb92e63ddbd014934 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Sun Mar 1 22:52:38 2015 -0300 [media] media: ov2640: add async probe function In async probe, there is a case that ov2640 is probed before the host device which provided 'mclk'. To support this async probe, we will get 'mclk' at first in the probe(), if failed it will return -EPROBE_DEFER. That will let ov2640 wait for the host device probed. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0b9508aa030f8119c20fcf64b4b36bc792b59d41 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Feb 10 06:31:33 2015 -0300 [media] media: soc-camera: use icd->control instead of icd->pdev for reset() icd->control is the sub device dev, i.e. i2c device. icd->pdev is the soc camera device's device. To be consitent with power() function, we will call reset() with icd->control as well. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4f528afcfbcac540c8690b41307cac5c22088ff1 Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Date: Sun Feb 1 08:12:33 2015 -0300 [media] V4L: add CCF support to the v4l2_clk API V4L2 clocks, e.g. used by camera sensors for their master clock, do not have to be supplied by a different V4L2 driver, they can also be supplied by an independent source. In this case the standart kernel clock API should be used to handle such clocks. This patch adds support for such cases. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a37462b919e1368ea3cf4bb0cbdb00ca8e76959c Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Date: Sat Jan 31 20:21:32 2015 -0300 [media] V4L: remove clock name from v4l2_clk API All uses of the v4l2_clk API so far only register one clock with a fixed name. This allows us to get rid of it, which also will make CCF and DT integration easier. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9b239b22df3ced4629af97e7edda558f1e7531b6 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Mar 14 13:28:25 2015 -0300 [media] v4l2-ioctl: allow all controls if ctrl_class == 0 The check_ext_ctrls() function in v4l2-ioctl.c checks if all controls in the control array are from the same control class as c->ctrl_class. However, that check should only be done if c->ctrl_class != 0. A 0 value means that this restriction does not apply. So return 1 (OK) if c->ctrl_class == 0. Found by running v4l2-compliance on the uvc driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2c9fc463d60b9d09111fde5903e1f3e8e891a674 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 13 13:25:53 2015 -0300 [media] v4l2-dev: disable selection ioctls for non-video devices The selection/cropping ioctls are only valid for video nodes, not for vbi. Found by v4l2-compliance when run on a VBI device node. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8a55ddd94c3a763f701f003fd56e39f7c317063d Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 13 10:41:39 2015 -0300 [media] au0828: fix broken streaming Commit c5036d61e0bed3f4f51391a145638b426825e69c ("media: au0828: drop vbi_buffer_filled() and re-use buffer_filled()") broke video and vbi streaming. The vb2_buffer struct was copied instead of taking a pointer to it, but vb2_buffer_done() needs the real object, not a copy, since it is hooking the buffer into a different list. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b18042a673e88c9457a6d1716219c2367ca447b0 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Mar 14 13:03:55 2015 -0300 [media] rtl28xxu: return success for unimplemented FE callback Return success for FE callback on case we don't have any special implementation. fc0013 tuner driver calls that callback in order to switch antenna input, even we don't provide antenna switch. Returning error caused fc0013 driver given up tuning. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b3b2bf820e82d7581462dea28a9c3af1bd8cc747 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Mar 14 11:13:07 2015 -0300 [media] rtl2832: disable regmap register cache Caching register reads causes some random I/O errors on channel change. Disable caching now in order to avoid those errors. Reverts partly commit dcadb82 Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ba445432e384f86c1d8a4bff4b6f9ebc19d1b19c Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 13 08:00:05 2015 -0300 [media] DocBook media: fix PIX_FMT_SGRBR8 example Fix the example of the V4L2_PIX_FMT_SGRBG8 Bayer format. The even lines should read BGBG, not RBRB. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 27eb5e24e0d6f4e3be236e861475ed3aacd3c6d2 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 13 07:00:07 2015 -0300 [media] cx231xx: fix compiler warnings If CONFIG_VIDEO_CX231XX_RC is undefined, then these compiler warnings are generated: In file included from drivers/media/usb/cx231xx/cx231xx-cards.c:23:0: drivers/media/usb/cx231xx/cx231xx-cards.c: In function â??cx231xx_release_resourcesâ??: drivers/media/usb/cx231xx/cx231xx.h:982:30: warning: statement with no effect [-Wunused-value] #define cx231xx_ir_exit(dev) (0) ^ drivers/media/usb/cx231xx/cx231xx-cards.c:1158:2: note: in expansion of macro â??cx231xx_ir_exitâ?? cx231xx_ir_exit(dev); ^ drivers/media/usb/cx231xx/cx231xx-cards.c: In function â??cx231xx_init_devâ??: drivers/media/usb/cx231xx/cx231xx.h:981:30: warning: statement with no effect [-Wunused-value] #define cx231xx_ir_init(dev) (0) ^ drivers/media/usb/cx231xx/cx231xx-cards.c:1351:2: note: in expansion of macro â??cx231xx_ir_initâ?? cx231xx_ir_init(dev); ^ drivers/media/usb/cx231xx/cx231xx-cards.c: In function â??cx231xx_usb_probeâ??: drivers/media/usb/cx231xx/cx231xx.h:982:30: warning: statement with no effect [-Wunused-value] #define cx231xx_ir_exit(dev) (0) ^ drivers/media/usb/cx231xx/cx231xx-cards.c:1705:2: note: in expansion of macro â??cx231xx_ir_exitâ?? cx231xx_ir_exit(dev); ^ drivers/media/usb/cx231xx/cx231xx-cards.c: In function â??cx231xx_usb_disconnectâ??: drivers/media/usb/cx231xx/cx231xx.h:982:30: warning: statement with no effect [-Wunused-value] #define cx231xx_ir_exit(dev) (0) ^ drivers/media/usb/cx231xx/cx231xx-cards.c:1754:3: note: in expansion of macro â??cx231xx_ir_exitâ?? cx231xx_ir_exit(dev); ^ Fix by using static inlines instead of defines. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 78e9b7de78bb53e8bc7f4c4a60ebacb250c0c190 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Mar 12 07:29:42 2015 -0300 [media] wl128x-radio really depends on TI_ST All other drivers using the TI_ST infrastructure use 'depends on' for this symbol, and it makes no sense to only enable that if CONFIG_NET is enable, because the radio driver also depends on CONFIG_NET itself: ERROR: "skb_queue_purge" [drivers/media/radio/wl128x/fm_drv.ko] undefined! ERROR: "skb_push" [drivers/media/radio/wl128x/fm_drv.ko] undefined! ERROR: "skb_pull" [drivers/media/radio/wl128x/fm_drv.ko] undefined! Making the driver dependency explicit solves randconfig build problems and makes it more obvious to the reader. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f2e37b9b733c720de917aa7616cce3a1c52225eb Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Mar 12 04:27:43 2015 -0300 [media] rtl2832: fix compiler warning >From the daily build: rtl2832.c: In function 'rtl2832_read_status': rtl2832.c:703:12: warning: 'tmp' may be used uninitialized in this function [-Wmaybe-uninitialized] } else if (tmp == 10) { ^ The code is OK, it's just the compiler that cannot figure out what's going on. So just init 'tmp' to 0. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fae119beddb5c102f117f7f4bd59803e0f6637df Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 13:56:29 2015 -0300 [media] media: pci: cx23885: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 073e24f5217019850ac586a8b93cf596c9e1900b Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Mar 11 09:51:12 2015 -0300 [media] DocBook media: fix section IDs The colorspace section IDs were assigned to the title instead of to the section. Some links failed because of that. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2ddb77bb1138dccb5067690e8696e991093e22c6 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Mar 11 09:00:45 2015 -0300 [media] DocBook v4l: update bytesperline handling The documentation says that the bytesperline field in v4l2_pix_format refers to the largest plane in the case of planar formats (i.e. multiple planes stores in a single buffer). For almost all planar formats the first plane is also the largest (or equal) plane, except for two formats: V4L2_PIX_FMT_NV24/NV42. For this YUV 4:4:4 format the second chroma plane is twice the size of the first luma plane. Looking at the very few drivers that support this format the bytesperline value that they report is actually that of the first plane and not that of the largest plane. Rather than fixing the drivers it makes more sense to update the documentation since it is very difficult to use the largest plane for this. You would have to check what the format is in order to know to which plane bytesperline belongs, which makes calculations much more difficult. This patch updates the documentation accordingly. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3259aa57dba142c04da3f37e207f9cbcf30a76df Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 11:43:20 2015 -0300 [media] MAINTAINERS: Update the maintainer mail address for stk1160 I'd rather use my work mail address to get patches, so let's update it. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit aeff09276748b66072f2db2e668cec955cf41959 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 11:37:14 2015 -0300 [media] stk1160: Make sure current buffer is released The available (i.e. not used) buffers are returned by stk1160_clear_queue(), on the stop_streaming() path. However, this is insufficient and the current buffer must be released as well. Fix it. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e933c6bc67d8129d184d5add4230eb8250646cb8 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 18:57:24 2015 -0300 [media] media: davinci: vpif_display: embed video_device struct in channel_obj Embed video_device struct (video_dev) in channel_obj and also the Unregister path doesn't need to free the video_device structure, hence, change the video_device.release callback point to video_device_release_empty. 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 8eef6669d3d4a9a8694bb6703fb81bd17bb9080e Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 18:57:23 2015 -0300 [media] media: davinci: vpif_capture: embed video_device struct in channel_obj Embed video_device struct (video_dev) in channel_obj and also the Unregister path doesn't need to free the video_device structure, hence, change the video_device.release callback point to video_device_release_empty. 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 afb7a966b54600d678f57535be6e5ef3156f04f1 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:53 2015 -0300 [media] media: blackfin: bfin_capture: embed video_device struct in bcap_device Embed video_device struct (video_dev) in bcap_device and Unregister path doesn't need to free the video_device structure, hence, change the video_device.release callback point to video_device_release_empty. 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 225ccaa307b544f13014600a2ca689a7d9847f18 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:52 2015 -0300 [media] media: blackfin: bfin_capture: drop bcap_get_unmapped_area() this patch drops bcap_get_unmapped_area() and uses vb2_fop_get_unmapped_area() helper provided 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 9d490e529d567d15e984923aebe487c53e6c9ed3 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:51 2015 -0300 [media] media: blackfin: bfin_capture: set v4l2 buffer sequence this patch adds support to set the v4l2 buffer sequence. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 812447e5871da28aba8bd752d49c2620569ed797 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:50 2015 -0300 [media] media: blackfin: bfin_capture: add support for VIDIOC_EXPBUF this patch adds support for VIDIOC_EXPBUF. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 70753b5e70033c1f0ef649f6024c76615621f83a Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:49 2015 -0300 [media] media: blackfin: bfin_capture: add support for VB2_DMABUF this patch adds support for VB2_DMABUF. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8df229bdec3e13120b673713fbbb2aff0e9c0165 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:48 2015 -0300 [media] media: blackfin: bfin_capture: add support for vidioc_create_bufs this patch adds support for vidioc_create_bufs. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 116a6488d32ac62336b9c1a1dd989fdbfab128bd Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:47 2015 -0300 [media] media: blackfin: bfin_capture: return -ENODATA for *dv_timings calls this patch adds support to return -ENODATA for *dv_timings calls if the current output does not support it. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fe00b716e75f78cb9f90328b6a5f18cc88089050 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:46 2015 -0300 [media] media: blackfin: bfin_capture: return -ENODATA for *std calls this patch adds supports to return -ENODATA to *_std calls if the selected output does not support it. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2bf34b2f0952eeb15f10434ce0d1ee7356c005ff Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:45 2015 -0300 [media] media: blackfin: bfin_capture: make sure all buffers are returned on stop_streaming() callback In start_streaming() callback the buffer is removed from the dma_queue list and assigned to cur_frm, this patch makes sure that is returned to vb2 core with VB2_BUF_STATE_ERROR flag. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d61233bf4cc3cdd378cb20236f1209ed8c2023f5 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:44 2015 -0300 [media] media: blackfin: bfin_capture: use vb2_ioctl_* helpers this patch adds support to vb2_ioctl_* helpers. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f0e91c65a9eb9faa25ba6d0a63683cf0152eb77f Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:43 2015 -0300 [media] media: blackfin: bfin_capture: use v4l2_fh_open and vb2_fop_release this patch adds support to use v4l2_fh_open() and vb2_fop_release, which allows to drop driver specific struct bcap_fh, as this is handled by core. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8fd05b7eee4b5a8653751cab90b3d1aa7901ccf7 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:42 2015 -0300 [media] media: blackfin: bfin_capture: use vb2_fop_mmap/poll No need to reinvent the wheel. Just use the already existing functions provided by vb2. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f314002279a4984cca86b5fa3920b6c84171beab Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:41 2015 -0300 [media] media: blackfin: bfin_capture: improve queue_setup() callback This patch does the following: a: returns -EINVAL in case format image size is less then current image size. b: assigns nbuffers to two in case the total of vq->num_buffers and nbuffers is less then the number of buffers required by driver. c: sets the sizes[0] of plane according to the fmt passed or which is being set in the device. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cd3c38effc6f7eac1b1aa64ba08dc8d5c5d0c809 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:40 2015 -0300 [media] media: blackfin: bfin_capture: set vb2 buffer field set the vb2 buffer field in buf_prepare() callback, alongside drop local variable buf as we already have a pointer to vb2 buffer. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5f65ca81c321e8390645b80460444c3aa04c856f Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:39 2015 -0300 [media] media: blackfin: bfin_capture: set min_buffers_needed this patch sets the min_buffers_needed field of the vb2 queue so that the vb2 core will make sure start_streaming() callback is called only when we have minimum buffers queued. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6692871a7c898ff05b33e58f1eab3ec1975bc894 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:38 2015 -0300 [media] media: blackfin: bfin_capture: release buffers in case start_streaming() call back fails this patch adds support to release the buffer by calling vb2_buffer_done(), with state marked as VB2_BUF_STATE_QUEUED if start_streaming() call back fails. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b4e81b23788448c2ed9f4b8a3e3fdeb013a4a8f6 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:37 2015 -0300 [media] media: blackfin: bfin_capture: drop buf_init() callback this patch drops the buf_init() callback as init of buf list is not required. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c0b50d951283eddec292811440f1d38eb2a3f455 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 8 04:53:33 2015 -0300 [media] vivid: BT.2020 R'G'B' is limited range According to the standard the R'G'B' BT.2020 colorspace is limited range, not full range. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit aa05b979f14998fec16fa38f1c91eaa197e73148 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 8 04:53:32 2015 -0300 [media] videodev2.h: fix comment The quantization comment in the header was incorrect w.r.t. BT.2020. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1acb93ad3f68a0a509ccb50d78d65c1ea2f7ad7f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 8 04:53:31 2015 -0300 [media] DocBook media: BT.2020 RGB uses limited quantization range In contrast to all other colorspaces, the BT.2020 colorspace uses limited range R'G'B' quantization as the default. This was incorrected documented, so fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f658d133ba40af54b167a69b149a78bd966fa269 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 8 04:53:30 2015 -0300 [media] DocBook media: fix xv601/709 formulas The denominator for the scaling and offsets is 256, not 255. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1e8faa5945155ee8035cc3f9add6a715197f36ed Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 8 04:30:47 2015 -0300 [media] v4l2-ioctl: tidy up debug messages Make sure the format fields are reported consistently. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 66108e3cb39f28b5b165519f90ae2001ce8b82a5 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 8 04:30:03 2015 -0300 [media] v4l2-framework.txt: debug -> dev_debug The debug attribute was renamed to dev_debug. Update the doc accordingly. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8b97e0e3f437ba01efeece830817c6adddc32641 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sat Mar 7 13:12:09 2015 -0300 [media] media: am437x-vpfe: embed video_device struct in vpfe_device Embed video_device struct (video_dev) in vpfe_device and Unregister path doesn't need to free the video_device structure, hence, change the video_device.release callback point to video_device_release_empty. 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 7d87db3df00ccc138d6243ec12eb354e9c3f48ec Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sat Mar 7 12:30:50 2015 -0300 [media] media: am437x-vpfe: return error in case memory allocation failure return error in case devm_kzalloc() fails. 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 d37232390fd4d1f76061879390b0447287730e6b Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sat Mar 7 12:30:49 2015 -0300 [media] media: am437x-vpfe: match the OF node/i2c addr instead of name Instead of matching the subdevs with their name, match it with OF node/ i2c address and adapter number. 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 4eaa3a6cc4c577103d678492ec50979b3aa360a4 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Thu Mar 5 23:39:40 2015 -0300 [media] drivers: media: platform: vivid: Fix possible null derefrence Check for dev_fmt being null before derefrencing it, to assign it to planes. Found using Coccinelle. Signed-off-by: Tapasweni Pathak <tapaswenipathak@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 64bf8049a2ec1e61e1475eb02b5514d7061d443e Author: Masatake YAMATO <yamato@xxxxxxxxxx> Date: Wed Mar 4 17:13:24 2015 -0300 [media] am437x: include linux/videodev2.h for expanding BASE_VIDIOC_PRIVATE In am437x-vpfe.h BASE_VIDIOC_PRIVATE is used for making the name of ioctl command(VIDIOC_AM437X_CCDC_CFG). The definition of BASE_VIDIOC_PRIVATE is in linux/videodev2.h. However, linux/videodev2.h is not included in am437x-vpfe.h. As the result an application using has to include both am437x-vpfe.h and linux/videodev2.h. With this patch, the application can include just am437x-vpfe.h. Signed-off-by: Masatake YAMATO <yamato@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 ff05cb4b81d81e997476dc6d2c18e884389b5196 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Mar 3 08:23:59 2015 -0300 [media] vb2: check if vb2_fop_write/read is allowed Return -EINVAL if read() or write() is not supported by the queue. This makes it possible to provide both vb2_fop_read and vb2_fop_write in a struct v4l2_file_operations since the vb2_fop_* function will check if the file operation is allowed. A similar check exists in __vb2_init_fileio() which is called from __vb2_perform_fileio(), but that check is only done if no file I/O is active. So the sequence of read() followed by write() would be allowed, which is obviously a bug. In addition, vb2_fop_write/read should always return -EINVAL if the operation is not allowed, and by putting the check in the lower levels of the code it is possible that other error codes are returned (EBUSY or ERESTARTSYS). All these issues are avoided by just doing a quick explicit check. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ee662d44a23df45e2b3ff8b122e165b57672b656 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 11:49:21 2015 -0300 [media] media: am437x: Don't release OF node reference twice The remote port reference is released both at the end of the OF graph parsing loop, and in the error code path at the end of the function. Those two calls will release the same reference, causing the reference count to go negative. Fix the problem by removing the second call. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Benoit Parrot <bparrot@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b0838b150160f90be0903a38a2ce11d764962752 Merge: 1d51433 3c56b3a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 13:53:53 2015 -0700 Merge tag 'stable/for-linus-4.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen regression fixes from David Vrabel: "Fix two regressions in the balloon driver's use of memory hotplug when used in a PV guest" * tag 'stable/for-linus-4.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen/balloon: before adding hotplugged memory, set frames to invalid x86/xen: prepare p2m list for memory hotplug commit 4255c224b97f6d286d9d791962dec2b02c652b42 Author: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:53:11 2015 -0400 ext4: fix comments in ext4_can_extents_be_merged() Since commit a9b8241594add, we are allowed to merge unwritten extents, so here these comments are wrong, remove it. Signed-off-by: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1d514333da19410751c195cc715f9dbe1bb4b08f Merge: 06459fc d52356e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 13:48:43 2015 -0700 Merge tag 'powerpc-4.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc fix from Michael Ellerman: "Fix memory corruption by pnv_alloc_idle_core_states" * tag 'powerpc-4.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: powerpc: fix memory corruption by pnv_alloc_idle_core_states commit 80cfb71e2e9222b86399a554a69e299877f2dc27 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 16:42:43 2015 -0400 ext4: fix transposition typo in format string According to C99, %*.s means the same as %*.0s, in other words, print as many spaces as the field width argument says and effectively ignore the string argument. That is certainly not what was meant here. The kernel's printf implementation, however, treats it as if the . was not there, i.e. as %*s. I don't know if de->name is nul-terminated or not, but in any case I'm guessing the intention was to use de->name_len as precision instead of field width. [ Note: this is debugging code which is commented out, so this is not security issue; a developer would have to explicitly enable INLINE_DIR_DEBUG before this would be an issue. ] Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 666b805150efd62f05810ff0db08f44a2370c937 Author: Neal Cardwell <ncardwell@xxxxxxxxxx> Date: Wed Apr 1 20:26:46 2015 -0400 tcp: fix FRTO undo on cumulative ACK of SACKed range On processing cumulative ACKs, the FRTO code was not checking the SACKed bit, meaning that there could be a spurious FRTO undo on a cumulative ACK of a previously SACKed skb. The FRTO code should only consider a cumulative ACK to indicate that an original/unretransmitted skb is newly ACKed if the skb was not yet SACKed. The effect of the spurious FRTO undo would typically be to make the connection think that all previously-sent packets were in flight when they really weren't, leading to a stall and an RTO. Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Fixes: e33099f96d99c ("tcp: implement RFC5682 F-RTO") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06459fc02f53d8adf9ccd9111a6c434dd5b208cd Merge: 0a48127 8494057 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 13:35:58 2015 -0700 Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband Pull infiniband/rdma fix from Roland Dreier: "Fix for exploitable integer overflow in uverbs interface" * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic commit 11a9c7821c583aa22b35f37fba20539def9e8f14 Merge: c448b5e 64613d9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 2 16:33:43 2015 -0400 Merge branch 'mlx5-next' Eli Cohen says: ==================== mlx5 batch of patches for net-next This series contains small fixes to the mlx5 core driver and also preparation steps towards adding Ethernet support for ConnectX4 devices which will be part of mlx5 driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64613d9499c4887485d4350387919ea507330d90 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:34 2015 +0300 net/mlx5_core: Extend struct mlx5_interface to support multiple protocols Preparation for ethernet driver. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce0f75093282c5dca1e79ae3e3e893deaea86166 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:33 2015 +0300 net/mlx5_core: Modify arm CQ in preparation for upcoming Ethernet driver Pass consumer index as a parameter to arm CQ Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 233d05d28ad942929b6b4fbc48aa8dd083c16484 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:32 2015 +0300 net/mlx5_core: Move completion eqs from mlx5_ib to mlx5_core Preparation for ethernet driver. These functions will be used in drivers other than mlx5_ib. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ae6c18c59f1419202ab5e2a918e551099d88f9f Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:31 2015 +0300 net/mlx5_core: Update module info macros for ConnectX4 Support Declare the support of new ConnectX4 HCA in module info Pump up the module version Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cf0a15f07a5a4600beb72f3a246fcd9325e86aa Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:30 2015 +0300 IB/mlx5: Fix Mellanox copyright note Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 302bdf68fc56a6330bc6b10ce435b4d466417537 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:29 2015 +0300 net/mlx5_core: Fix Mellanox copyright note Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cbdd27c9c3abf87d6fe88cdd749218193ed3e12 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:28 2015 +0300 net/mlx5_core: Fix a bug in alloc_token In alloc_token(), the token '1' would be allocated twice consecutively. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21db507439ec3a76a9587f2ad50ad3e4d13f4440 Author: Ira Gusinsky <irenag@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:27 2015 +0300 net/mlx5_core: Avoid usage command work entry after writing command doorbell Avoid usage of command work entry in cmd_work_handler since it can be released by mlx5_cmd_invoke before the work handler returns to running. Signed-off-by: Ira Gusinsky <irenag@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05e4ecd1dc8b085a9010f20dcb5409b25488480a Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:26 2015 +0300 net/mlx5_core: Avoid copying outbox in aysnc command completion Avoid copying to the output buffer in cmd_exec since this is done after the command is completed. Failure to do this may cause cases where the callback handler is called before the copy done by cmd_exec which then overwrites it. Reported-by: Tamer Hleihel <tamerh@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64599cca51de08cef94bc13a0f98351e5bb01f41 Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:25 2015 +0300 net/mlx5_core: Use coherent memory for command interface page Use coherent memory for the commands descriptor page. Take measures to make sure the page is aligned to MLX5_ADAPTER_PAGE_SIZE as required by the hardware. Reported-by: Yevgeny Kliteynik <kliteyn@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60722c2ba02be052140998bc80ed77d74e3c03df Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:24 2015 +0300 net/mlx5_core: Use the right inbox struct in destroy mkey command struct mlx5_query_mkey_mbox_in rather than mlx5_destroy_mkey_mbox_in Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b812b5441e359adb9bd44108f7f91e5b0ba4a768 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:23 2015 +0300 net/mlx5_core: Clear doorbell record inside mlx5_db_alloc() Do it in one place instead of every where the function is invoked Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ef9baa2acda077f3831f6e7cdf751bc8691f78f Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:22 2015 +0300 net/mlx5_core: Avoid setting DC requestor/responder resources PRM does not support setting these values so avoid setting them. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7bef7ad24b9aa15cb06870f78ba8bd84bb7e1407 Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:21 2015 +0300 net/mlx5_core: Coding style fix Put a line of space before return and next statement. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3c6c9c810e100ab92c782e855f9ab9991065f4e Author: Haggai Abramonvsky <hagaya@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:20 2015 +0300 net/mlx5_core: Fix call to mlx5_core_qp_modify Pass 0 in the sqd_event parameter. Signed-off-by: Haggai Abramovsky <hagaya@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad1891062adcdacb5818e104707dca8c193c33d8 Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:19 2015 +0300 net/mlx5_core: Allocate firmware pages from device's NUMA node Allocate firmware pages from the NUMA node which is close to the device. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7071b715873a66b69a9c0c5839963bb51aeae41b Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:32:15 2015 -0400 ext4: fix bh leak on error paths in ext4_rename() and ext4_cross_rename() Release references to buffer-heads if ext4_journal_start() fails. Fixes: 5b61de757535 ("ext4: start handle at least possible moment when renaming files") Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 1cdf60c97a9e7bc1829cca2e52d61be75f02c13c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Fri Mar 6 09:54:47 2015 -0300 [media] uvcvideo: Validate index during step-wise frame intervals enumeration Frame intervals exposed as an interval and step (so-called step-wise) are restricted by the V4L2 API to a single enumeration entry. Return an error when the index is not zero. Reported-by: Alexey Smirnoff <fling@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [mchehab@xxxxxxxxxxxxxxx: add a missing collon at the end of the return statement, in order to avoid compilation breakage] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fe6524719d67623786f1a993421388d3b373ab9d Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 15:30:10 2015 -0300 [media] uvcvideo: Recognize the Tasco USB microscope The device is based on an Aveo chipset, implements UVC but advertises a vendor-specific class on all interfaces. Support it by listing the USB VID:PID explicitly. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9e68c53910721ffc55c05ee9bbc08129c796b470 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:38:28 2015 -0300 [media] uvcvideo: Don't call vb2 mmap and get_unmapped_area with queue lock held videobuf2 has long been subject to AB-BA style deadlocks due to the queue lock and mmap_sem being taken in different orders for the mmap and get_unmapped_area operations. The problem has been fixed by making those two operations callable without taking the queue lock, using an mmap_lock internal to videobuf2. The uvcvideo driver still calls the mmap and get_unmapped_area operations with the queue lock held, resulting in a potential deadlock. As the operations can now be called without locking the queue, fix it. Reported-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cfa967224382f8ac3adbb40117be776838b91ebc Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Sat Jan 31 21:11:46 2015 -0300 [media] smiapp: Make pixel_order_str static pixel_order_str is only referred to in smiapp-core.c, it should be thus static. Thanks to Hans Verkuil for pointing this out. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c448b5e7853b5921957c4cbf5ad54a20eff79882 Merge: c5531ca ed193ec Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 2 16:27:13 2015 -0400 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: remove some unnecessary complexity The TIPC code is unnecessarily complex in some places, often because the conditions or assumptions that were the cause for the complexity are not valid anymore. In these three commits, we eliminate some cases of such redundant complexity. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed193ece2649c194a87a9d8470195760d367c075 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Apr 2 09:33:02 2015 -0400 tipc: simplify link mtu negotiation When a link is being established, the two endpoints advertise their respective interface MTU in the transmitted RESET and ACTIVATE messages. If there is any difference, the lower of the two MTUs will be selected for use by both endpoints. However, as a remnant of earlier attempts to introduce TIPC level routing. there also exists an MTU discovery mechanism. If an intermediate node has a lower MTU than the two endpoints, they will discover this through a bisectional approach, and finally adopt this MTU for common use. Since there is no TIPC level routing, and probably never will be, this mechanism doesn't make any sense, and only serves to make the link level protocol unecessarily complex. In this commit, we eliminate the MTU discovery algorithm,and fall back to the simple MTU advertising approach. This change is fully backwards compatible. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dff29b1a88524fe6afe296d6c477c491d1e02af0 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Apr 2 09:33:01 2015 -0400 tipc: eliminate delayed link deletion at link failover When a bearer is disabled manually, all its links have to be reset and deleted. However, if there is a remaining, parallel link ready to take over a deleted link's traffic, we currently delay the delete of the removed link until the failover procedure is finished. This is because the remaining link needs to access state from the reset link, such as the last received packet number, and any partially reassembled buffer, in order to perform a successful failover. In this commit, we do instead move the state data over to the new link, so that it can fulfill the procedure autonomously, without accessing any data on the old link. This means that we can now proceed and delete all pertaining links immediately when a bearer is disabled. This saves us from some unnecessary complexity in such situations. We also choose to change the confusing definitions CHANGEOVER_PROTOCOL, ORIGINAL_MSG and DUPLICATE_MSG to the more descriptive TUNNEL_PROTOCOL, FAILOVER_MSG and SYNCH_MSG respectively. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2da7142516527a5213588f47ed302e79a5d9527a Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Apr 2 09:33:00 2015 -0400 tipc: drop tunneled packet duplicates at reception In commit 8b4ed8634f8b3f9aacfc42b4a872d30c36b9e255 ("tipc: eliminate race condition at dual link establishment") we introduced a parallel link synchronization mechanism that guarentees sequential delivery even for users switching from an old to a newly established link. The new mechanism makes it unnecessary to deliver the tunneled duplicate packets back to the old link, as we are currently doing. It is now sufficient to use the last tunneled packet's inner sequence number as synchronization point between the two parallel links, whereafter it can be dropped. In this commit, we drop the duplicate packets arriving on the new link, after updating the synchronization point at each new arrival. Although it would now have been sufficient for the other endpoint to only tunnel the last packet in its send queue, and not the entire queue, we must still do this to maintain compatibility with older nodes. This commit makes it possible to get rid if some complex interaction between the two parallel links. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f39fb0f1e52617fc502d989cac72dd3779fccd4 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Sun Nov 30 12:33:55 2014 -0300 [media] smiapp: Use of_property_read_u64_array() to read a 64-bit number array of_property_read_u64_array() wasn't yet part of the kernel tree when the functionality was needed. Do use it now. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5531ca2bf3de4e172d2dcc12b97b9f663ab0453 Merge: 9f0d34b db60304 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 2 16:25:27 2015 -0400 Merge branch 'mlx4-next' Or Gerlitz says: ==================== Mellanox mlx4 driver updates The main feature added by this series are Ido's changes to support Granular QoS for VFs, where for the time being only max rate is supported. Muhammad added support for setting rx-fcs and rx-all through ethtool, and Ido did the interface identify work. Last, add Ido as a maintainer for the mlx4 Ethernet driver! Some of next week is the Passover holiday here and I will be mostly OOO. If needed (...) Ido or Amir will send V1 and such. Rebased against net-next commit 033f46b "crypto: algif - explicitly mark end of data". ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db60304718583f99162adabb7dd96e2f7073f8f3 Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:23 2015 +0300 MAINTAINERS: Update mlx4_en entry Add Ido Shamay as co-maintainer for the mlx4 Ethernet driver. Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78500b8c03236a18d454c9cc8a24cccca506b200 Author: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:22 2015 +0300 net/mlx4_en: Add RX-ALL support Enabled when the device supports KEEP FCS and IGNORE FCS. When the flag is set, pass all received frames up the stack, even ones with invalid FCS, controlled by ethtool. Signed-off-by: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx> Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0df35037a0a0df902a31f79065222951888bbc9 Author: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:21 2015 +0300 net/mlx4_en: Add RX-FCS support Enabled when device supports KEEP FCS. When the flag is set, Ethernet FCS is appended to the end of the frame, controlled by ethtool. Signed-off-by: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx> Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51af33cfed248dc8f36fa82df06b85e10038a01e Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:20 2015 +0300 net/mlx4_en: Add interface identify support Add support for the interface ethtool identify feature. Make the physical port LED to blink with green and yellow colors. The device handles the LED blink by itself (synchrous use of set_phys_id), by returning 0 to ETHTOOL_ID_ACTIVE command. Signed-off-by: Eyal Grossman <eyalgr@xxxxxxxxxxxx> Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a130b59057320192b4b00ed0ba4bc8a38f66f289 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:19 2015 +0300 net/mlx4: Add SET_PORT opcode modifiers enumeration The calls to SET_PORT used hard-code numbers, when supplying command's opcode modifiers, fix that to use well defined constants. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 38438f7c7e8cdbb0e9f55aae0e43da67c460639f Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:18 2015 +0300 net/mlx4: Set enhanced QoS support by default when ETS supported If HCA supports ETS QoS feature, set enhanced QoS bit in init_hca as default. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3742cc65512cd4897a63dce94104f9a6e74997a0 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:17 2015 +0300 net/mlx4: Warn users of depracated QoS Firmware A new capability bit was introduced in the past to to differ devices using the QoS ETS feature. The old was deprecated since then. If driver sees device which set only the old capabilty, it will print warning to user suggesting to upgrade the FW. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cda373f4849d5dd6fedceb4aeba35682a0e1a833 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:16 2015 +0300 net/mlx4_en: Enable TX rate limit per VF Support granular QoS per VF, by implementing the ndo_set_vf_rate. Enforce a rate limit per VF when called, and enabled only for VFs in VST mode with user priority supported by the device. We don't enforce VFs to be in VST mode at the moment of configuration, but rather save the given rate limit and enforce it when the VF is moved to VST with user priority which is supported (currently 0). VST<->VGT or VST qos value state changes are disallowed when a rate limit is configured. Minimum BW share is not supported yet. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08068cd5683f11e4505aa9c8cc6ed5942f8ad299 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:15 2015 +0300 net/mlx4: Added qos_vport QP configuration in VST mode Granular QoS per VF feature introduce a new QP field, qos_vport. PF administrator can connect VF QPs to a certain QoS Vport, to inherit its proporties. Connecting QPs to the default QoS Vport (defined as 0) is always allowed, even when there are no allocated VPPs. At this point, only the default vport is connected to QPs. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 666672d480fbae1af2e086f2bea200ed5607f967 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:14 2015 +0300 net/mlx4: Allocate VPPs for each port on PF init Initialization of granular Qos per VF mechanism. Query the port availible VPPs and allocates those on all supported priorities in an equal share. Allocation is done only in SRIOV mode, when the feature is supported by the device and port type is Ethernet. Allocation currently is done only on the default priority 0. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d019fcb2244519d453694bfce868f3e717bfcebb Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:13 2015 +0300 net/mlx4: Query device for QoS per VF support Checks in QUERY_DEV_CAP if the granular QoS per VF feature is supported by the device. Disabled for guests. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c29146d3821be984030b49cf9509a269edc3b8b Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:12 2015 +0300 net/mlx4: Add mlx4_SET_VPORT_QOS implementation Add the SET_VPORT_QOS device command, which is ntended for virtual granular QoS configuration per VF in SRIOV mode. The SET_VPORT_QOS command sets and queries QoS parameters of a VPort. Each priority allowed for a VPort is assigned with a share of the BW, and a BW limitation. QoS parameters can be modified at any time, but must be initialized before any QP is associated with the VPort. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e95bb99a8f969d4534867452793e44cc4731ca9 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:11 2015 +0300 net/mlx4: Add mlx4_ALLOCATE_VPP implementation Implements device ALLOCATE_VPP command, to be used for granular QoS configuration of VFs by the PF device. Defines and queries the amount of VPPs assigned to each port, and the amount of VPPs assigned to each priority of each port. Once the total VPPs are split between the priorities of a port, they may be assigned with a share of the BW or a rate limit. Split into two functions (get/set) whoch are supplied with mlx4_alloc_vpp_context and physical port number. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12a889c057504fbf307dd237aedb87263ef2848a Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:10 2015 +0300 net/mlx4: New file for QoS related firmware commands Create two new files fw_qos.h and fw_qos.c in mlx4_core module. It gathers all relevant QoS firmware related commands etc, thus improving encapsulation of the mlx4_core module. For now it contains the QoS existing commands: mlx4_SET_PORT_SCHEDULER and mlx4_SET_PORT_PRIO2TC. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4abccb61578694372dc9b245afd41f55b5f1e546 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:09 2015 +0300 net/mlx4: Aesthetic code changes in multi_func_init Previous vf_oper and vf_admin code created very long lines, making it hard to read the code. Added relevant in-struct pointers to reduce code complexity and avoid code lines spread over 80 lines. Same logic is preserved. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fccea6436a5bd16aed6f722efce13ec2c90427d7 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:08 2015 +0300 net/mlx4: Make mlx4_is_eth visible inline funcion Currently implemented as static function in resource_tracker.c -- this change will allow other files in mlx4_core to use it as well. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 241a08c3a767ca2f6ab1c99c4db4c3ff867de8aa Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:07 2015 +0300 net/mlx4_en: Change loopback only upon feature change Currently any change of netdev features results in a call to mlx4_en_update_loopback_state(). Those calls are unnecessary, and should be called only upon loopback feature change. Also moved some of the logic into mlx4_en_update_loopback_state(). Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 802f42a8d99254b8602bf65cc50e8333bf479f13 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:06 2015 +0300 net/mlx4: Add RSS support for fragmented IP datagrams Enable RSS support for fragmented IP packets, when device supports it. Until now, fragmented IP packets were directed only to the default_qpn. Since IP fragments (datagram) have no upper protocols (L3 IP packets), hash is performed on 3-tuple - dst MAC, source IP and dest IP. The HW makes sure that this holds for the 1st fragment too, so all fragments go to the same QP. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c36820e2ab7d943ab1188230fdf2149826d33c0 Author: Jonathan Davies <jonathan.davies@xxxxxxxxxx> Date: Tue Mar 31 11:05:15 2015 +0100 xen-netfront: transmit fully GSO-sized packets xen-netfront limits transmitted skbs to be at most 44 segments in size. However, GSO permits up to 65536 bytes, which means a maximum of 45 segments of 1448 bytes each. This slight reduction in the size of packets means a slight loss in efficiency. Since c/s 9ecd1a75d, xen-netfront sets gso_max_size to XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER, where XEN_NETIF_MAX_TX_SIZE is 65535 bytes. The calculation used by tcp_tso_autosize (and also tcp_xmit_size_goal since c/s 6c09fa09d) in determining when to split an skb into two is sk->sk_gso_max_size - 1 - MAX_TCP_HEADER. So the maximum permitted size of an skb is calculated to be (XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER) - 1 - MAX_TCP_HEADER. Intuitively, this looks like the wrong formula -- we don't need two TCP headers. Instead, there is no need to deviate from the default gso_max_size of 65536 as this already accommodates the size of the header. Currently, the largest skb transmitted by netfront is 63712 bytes (44 segments of 1448 bytes each), as observed via tcpdump. This patch makes netfront send skbs of up to 65160 bytes (45 segments of 1448 bytes each). Similarly, the maximum allowable mtu does not need to subtract MAX_TCP_HEADER as it relates to the size of the whole packet, including the header. Fixes: 9ecd1a75d977 ("xen-netfront: reduce gso_max_size to account for max TCP header") Signed-off-by: Jonathan Davies <jonathan.davies@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f0d34bc344889c2e6c593bd949d7ab821f0f4a5 Merge: e4a924f 0a48127 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 2 16:16:53 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/usb/asix_common.c drivers/net/usb/sr9800.c drivers/net/usb/usbnet.c include/linux/usb/usbnet.h net/ipv4/tcp_ipv4.c net/ipv6/tcp_ipv6.c The TCP conflicts were overlapping changes. In 'net' we added a READ_ONCE() to the socket cached RX route read, whilst in 'net-next' Eric Dumazet touched the surrounding code dealing with how mini sockets are handled. With USB, it's a case of the same bug fix first going into net-next and then I cherry picked it back into net. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 152635c6eadf41931892cccaac5fe8b627d9951b Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Mon Feb 16 07:45:01 2015 -0300 [media] Revert "[media] smiapp: Don't compile of_read_number() if CONFIG_OF isn't defined" This reverts commit cb88d7384e5e05f90c1daa7750bdb467fd026261. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6c9fe765360efa97c63b89af685b620baf5e0012 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Mar 4 10:55:22 2015 -0300 [media] media: s5p-mfc: fix broken pointer cast on 64bit arch Unsigned int cannot be used to store casted pointer on 64bit architecture, so correct such casts to properly use unsigned long variables. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> [k.debski@xxxxxxxxxxx: removed volatile and __iomem from cast] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a301ea1f50e487393636901876ab44d22ec590b3 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Mar 4 10:55:21 2015 -0300 [media] media: s5p-mfc: fix mmap support for 64bit arch TASK_SIZE is depends on the systems architecture (32 or 64 bits) and it should not be used for defining offset boundary for mmaping buffers for CAPTURE and OUTPUT queues. This patch fixes support for MMAP calls on the CAPTURE queue on 64bit architectures (like ARM64). Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f95c16ea70cac9987f5cdc28b937ba83ce8f0f98 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:39 2015 -0300 [media] omap3isp: Deprecate platform data support Print a warning when the driver is used with platform data. Existing platform data users should move to DT now. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit da7f3843d2c797419af6befcc0fdd54f6e13b6f4 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:38 2015 -0300 [media] omap3isp: Add support for the Device Tree Add the ISP device to omap3 DT include file and add support to the driver to use it. Also obtain information on the external entities and the ISP configuration related to them through the Device Tree in addition to the platform data. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b6eec1c4939962838ff51b10a8feb7a49bccc0d2 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:37 2015 -0300 [media] v4l: of: Read lane-polarities endpoint property Add lane_polarities field to struct v4l2_of_bus_mipi_csi2 and write the contents of the lane-polarities property to it. The field tells the polarity of the physical lanes starting from the first one. Any unused lanes are ignored, i.e. only the polarity of the used lanes is specified. Also rework reading the "data-lanes" property a little. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9e1ee1b7307e384716a8c2cefca9036a2cf170e5 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:36 2015 -0300 [media] dt: bindings: Add lane-polarity property to endpoint nodes Add lane-polarity property to endpoint nodes. This essentially tells that the order of the differential signal wires is inverted. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8644cdf972dd6dfebf98161025900f6a9d1ad58a Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:35 2015 -0300 [media] omap3isp: Replace many MMIO regions by two The omap3isp MMIO register block is contiguous in the MMIO register space apart from the fact that the ISP IOMMU register block is in the middle of the area. Ioremap it at two occasions, and keep the rest of the layout of the register space internal to the omap3isp driver. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 503596a15225e00bdf24f0805567d5195f6c749f Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:34 2015 -0300 [media] omap3isp: Move the syscon register out of the ISP register maps The syscon register isn't part of the ISP, use it through the syscom driver regmap instead. The syscom block is considered to be from 343x on ISP revision 2.0 whereas 15.0 is assumed to have 3630 syscon. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 00ccbf2f5b7580cd7dcdaeda84828d14f0cba3c9 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Feb 19 15:56:14 2015 +0100 ftrace/x86: Let dynamic trampolines call ops->func even for dynamic fops Dynamically allocated trampolines call ftrace_ops_get_func to get the function which they should call. For dynamic fops (FTRACE_OPS_FL_DYNAMIC flag is set) ftrace_ops_list_func is always returned. This is reasonable for static trampolines but goes against the main advantage of dynamic ones, that is avoidance of going through the list of all registered callbacks for functions that are only being traced by a single callback. We can fix it by returning ops->func (or recursion safe version) from ftrace_ops_get_func whenever it is possible for dynamic trampolines. Note that dynamic trampolines are not allowed for dynamic fops if CONFIG_PREEMPT=y. Link: http://lkml.kernel.org/r/alpine.LNX.2.00.1501291023000.25445@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1424357773-13536-1-git-send-email-mbenes@xxxxxxx Reported-by: Miroslav Benes <mbenes@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4fcfeca833c48e8cb899ae9cff31de481ae52ca2 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:33 2015 -0300 [media] omap3isp: Replace mmio_base_phys array with the histogram block base Only the histogram sub-block driver uses the physical address. Do not store it for other sub-blocks. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6387b75284aa7b78c2e947934fb874444ab427e9 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:32 2015 -0300 [media] omap3isp: Calculate vpclk_div for CSI-2 The video port clock is l3_ick divided by vpclk_div. This clock must be high enough for the external pixel rate. The video port requires two clock cycles to process a pixel. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3494bb05940e4c392baeb85f77c1e7c8a78b4e1a Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:31 2015 -0300 [media] omap3isp: Rename regulators to better suit the Device Tree Rename VDD_CSIPHY1 as vdd-csiphy1 and VDD_CSIPHY2 as vdd-csiphy2. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6890874772e4c5e2925187f262893df0eb0322ba Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:30 2015 -0300 [media] omap3isp: Refactor device configuration structs for Device Tree Make omap3isp configuration data structures more suitable for consumption by the DT by separating the I2C bus information of all the sub-devices in a group and the ISP bus information from each other. The ISP bus information is made a pointer instead of being directly embedded in the struct. In the case of the DT only the sensor specific information on the ISP bus configuration is retained. The structs are renamed to reflect that. After this change the structs needed to describe device configuration can be allocated and accessed separately without those needed only in the case of platform data. The platform data related structs can be later removed once the support for platform data can be removed. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> (for cm-t35) Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4c8f14861cccb7b19cfd582e135847aa772f3854 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:29 2015 -0300 [media] omap3isp: Platform data could be NULL Only check for call platform data callback functions if there's platform data. Also take care of a few other cases where the NULL pdata pointer could have been accessed, and remove the check for NULL dev->platform_data pointer. Removing the check for NULL dev->platform_data isn't strictly needed by the DT support but there's no harm from that either: the device now can be used without sensors, for instance. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 64904b574e33f897cc425fcbe64cebab92b3c6fb Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Mar 25 19:57:28 2015 -0300 [media] omap3isp: DT support for clocks Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 703e6f625bd9400e76fd9dcda56011b67b954a10 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:27 2015 -0300 [media] omap3isp: Separate external link creation from platform data parsing Move the code which connects the external entity to an ISP entity into a separate function. This disconnects it from parsing the platform data. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8b3aff7cdd6c2e7c9a3df755b23525e393195102 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:26 2015 -0300 [media] omap3isp: Avoid a BUG_ON() in media_entity_create_link() If an uninitialised v4l2_subdev struct was passed to media_entity_create_link(), one of the BUG_ON()'s in the function will be hit since media_entity.num_pads will be zero. Avoid this by checking whether the num_pads field is non-zero for the interface. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 697cca21b09ce4c641bce821b90e90b3e95d17f6 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:25 2015 -0300 [media] omap3isp: Fix error handling in probe The mutex was not destroyed correctly if dma_coerce_mask_and_coherent() failed for some reason. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0ff4e419dc6a409a60dc492fbbc58288af78bed7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Feb 21 17:59:54 2015 -0300 [media] media: omap3isp: hist: Move histogram DMA to DMA engine Replace the custom OMAP DMA API usage by DMA engine. Feature-wise the driver has lost the ability to get notified of DMA transfers failure through the completion handler, as the DMA engine API doesn't expose that status information. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 32346b9cc01566126034f47afd94ff8a39238d3a Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 15:58:19 2015 -0300 [media] media: omap3isp: video: Use v4l2_get_timestamp() Replace the open-coded copy by a function call. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 13dab904d5575c494d54643079f690b2a698ac14 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Mon Feb 23 17:19:31 2015 -0300 [media] media: omap3isp: video: drop setting of vb2 buffer state to VB2_BUF_STATE_ACTIVE There isn't a need to assign the state of vb2_buffer to active as this is already done by the core. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9be29369598543ff1d4800c2591640bc11ef2197 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Feb 24 07:39:49 2015 -0300 [media] media: omap3isp: video: Don't call vb2 mmap with queue lock held videobuf2 has long been subject to AB-BA style deadlocks due to the queue lock and mmap_sem being taken in different orders for the mmap operation. The problem has been fixed by making this operation callable without taking the queue lock, using an mmap_lock internal to videobuf2. The omap3isp driver still calls the mmap operation with the queue lock held, resulting in a potential deadlock. As the operation can now be called without locking the queue, fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e213568ad6b06ac828fe2a050fe4ec7b69f09f37 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Apr 2 12:00:58 2015 -0700 Bluetooth: Disallow LE local out-of-band data when LE privacy is used When the LE pivacy feature is used, then pairing has to happen based on resolvable random addresses (RPA), but currently there is no clean way to retrieve the correct RPA. So instead of returning an outdated RPA, just disallow this command when LE privacy is in use. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6886f41d885e1a0c0e95069e3c73d27eed89d8ed Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Apr 1 16:20:20 2015 -0700 selftest/mqueue: enable cross compilation Use the CC variable instead of hard coding gcc. Also clean up the compiler options by creating a CFLAGS variable. Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 5de830490454315fa64fd42a6efa6ad83bf123da Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Apr 1 16:20:19 2015 -0700 selftest/ipc: enable cross compilation Use the CC variable instead of hard coding gcc. Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit ab923bb9e2aedc9333aa0153a610a9de8993345e Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Apr 1 16:20:18 2015 -0700 selftest/memfd: include default header install path Include the default path for INSTALL_HDR_PATH to make it less intrusive when cross building. Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 365ce9997b40c763413e965bd6a3a87dfce01f74 Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Apr 1 16:20:17 2015 -0700 selftest/mount: enable cross compilation Use the CC variable instead of hard coding gcc. Also clean up the compiler options by creating a CFLAGS variable. Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 52dd5576cd0d9d23b0b83b133d853a8ef074ee77 Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Apr 1 16:20:15 2015 -0700 selftest/memfd: enable cross compilation Use the CC variable instead of hard coding gcc. Also clean up the compiler options by creating a CFLAGS variable. Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit de9ad6d4edb63e0ba5d5aae365fb3565064fc00d Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:41 2015 +0200 nbd: Return error pointer directly Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dab5313aa4e668d87253dd4289c816cb08f63e52 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:40 2015 +0200 nbd: Return error code directly By returning the error code directly, we can avoid the jump label error_out. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e018e7570c8b0f9f5a4bb0e1eff9b1e7f768f49b Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:39 2015 +0200 nbd: Remove fixme that was already fixed The mentioned problem is not present anymore. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d18509f5979881ae326e910115ab2ba914c016b6 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:38 2015 +0200 nbd: Restructure debugging prints dprintk has some name collisions with other frameworks and drivers. It is also not necessary to have these custom debug print filters. Dynamic debug offers the same amount of filtered debugging. This patch replaces all dprintks with dev_dbg(). It also removes the ioctl dprintk which prints the ingoing ioctls which should be replaceable by strace or similar stuff. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b9c495bb6d8edc719fd23af2ac67de8303cfc1e8 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:37 2015 +0200 nbd: Fix device bytesize type The block subsystem uses loff_t to store the device size. Change the type for nbd_device bytesize to loff_t. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d06df60b9460838553d37d01049d04c43a36f396 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:36 2015 +0200 nbd: Replace kthread_create with kthread_run kthread_run includes the wake_up_process() call, so instead of kthread_create() followed by wake_up_process() we can use this macro. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 13e71d69cc7444b7d840bab581dbe831e440fb62 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:35 2015 +0200 nbd: Remove kernel internal header The header is not included anywhere. Remove it and include the private nbd_device struct in nbd.c. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4e5b44ca7b5c44872b6ec172331a5545116e2d46 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:34 2015 +0200 Documentation: nbd: Add list of module parameters Add a list of available module parameters as attachment to the documentation. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ef8d9e7db285ea3d26b13dfeb6762346c95dc0d1 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:33 2015 +0200 Documentation: nbd: Reformat to allow more documentation Reformat the existing documentation to have more structure. This allows for more documentation seperated from the existing paragraphs. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0a4812798fae4f6bfcaab51e31b3898ff5ea3108 Merge: 8172ba5 fbef403 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 11:30:36 2015 -0700 Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma Pull dmaengine fixes from Vinod Koul: "This time we have addition of caps for jz4740 which fixes intentional warning at boot. Then we have memory leak issues in drivers using virt-dma by Peter on few drive" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: moxart-dma: Fix memory leak when stopping a running transfer dmaengine: bcm2835-dma: Fix memory leak when stopping a running transfer dmaengine: omap-dma: Fix memory leak when terminating running transfer dmaengine: edma: fix memory leak when terminating running transfers dmaengine: jz4740: Define capabilities commit 8172ba51e257fdd353010cd7caaa37c8bc9eb44a Merge: d403931 f5f321c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 11:09:41 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix use-after-free with mac80211 RX A-MPDU reorder timer, from Johannes Berg. 2) iwlwifi leaks memory every module load/unload cycles, fix from Larry Finger. 3) Need to use for_each_netdev_safe() in rtnl_group_changelink() otherwise we can crash, from WANG Cong. 4) mlx4 driver does register_netdev() too early in the probe sequence, from Ido Shamay. 5) Don't allow router discovery hop limit to decrease the interface's hop limit, from D.S. Ljungmark. 6) tx_packets and tx_bytes improperly accounted for certain classes of USB network devices, fix from Ben Hutchings. 7) ip{6}mr_rules_init() mistakenly use plain kfree to release the ipmr tables in the error path, they must instead use ip{6}mr_free_table(). Fix from WANG Cong. 8) cxgb4 doesn't properly quiesce all RX activity before unregistering the netdevice. Fix from Hariprasad Shenai. 9) Fix hash corruptions in ipvlan driver, from Jiri Benc. 10) nla_memcpy(), like a real memcpy, should fully initialize the destination buffer, even if the source attribute is smaller. Fix from Jiri Benc. 11) Fix wrong error code returned from iucv_sock_sendmsg(). We should use whatever sock_alloc_send_skb() put into 'err'. From Eugene Crosser. 12) Fix slab object leak on module unload in TIPC, from Ying Xue. 13) Need a READ_ONCE() when reading the cached RX socket route in tcp_v{4,6}_early_demux(). From Michal Kubecek. 14) Still too many problems with TPC support in the ath9k driver, so disable it for now. From Felix Fietkau. 15) When in AP mode the rtlwifi driver can leak DMA mappings, fix from Larry Finger. 16) Missing kzalloc() failure check in gs_usb CAN driver, from Colin Ian King. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (52 commits) cxgb4: Fix to dump devlog, even if FW is crashed cxgb4: Firmware macro changes for fw verison 1.13.32.0 bnx2x: Fix kdump when iommu=on bnx2x: Fix kdump on 4-port device mac80211: fix RX A-MPDU session reorder timer deletion MAINTAINERS: Update Intel Wired Ethernet Driver info tipc: fix a slab object leak net/usb/r8152: add device id for Lenovo TP USB 3.0 Ethernet af_iucv: fix AF_IUCV sendmsg() errno openvswitch: Return vport module ref before destruction netlink: pad nla_memcpy dest buffer with zeroes bonding: Bonding Overriding Configuration logic restored. ipvlan: fix check for IP addresses in control path ipvlan: do not use rcu operations for address list ipvlan: protect against concurrent link removal ipvlan: fix addr hash list corruption net: fec: setup right value for mdio hold time net: tcp6: fix double call of tcp_v6_fill_cb() cxgb4vf: Fix sparse warnings netns: don't clear nsid too early on removal ... commit e4a924f5768c55002c02ceba9b9f86824c35f956 Merge: 033f46b a45253b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 2 14:05:02 2015 -0400 Merge branch 'netdev_iflink_remove' Nicolas Dichtel says: ==================== Remove iflink field from the net_device structure The first goal of this series was to advertise the veth peer via the IFLA_LINK attribute, but iflink was not ready for network namespaces. The iflink of an interface should be set to its ifindex for a physical interface and to another value (0 if not relevant) for a virtual interface. This was not the case for some interfaces, like vxlan, bond, or bridge for example. There is also a risk, if the targeted interface moves to another netns, that the ifindex changes without updating corresponding iflink fields (eg. vlan). Moving the management of this property into virtual interface drivers allows to better handle this last case because most of virtual interface drivers have a pointer to the link netdevice. Anyway, dev->iflink value was always a copy of some internal data of the virtual interface driver, thus let's use these internal data directly. So, this series removes the iflink field and let the drivers manage it. Only the last patch was present in the v1, but I fully rework it. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a45253bf32bf49cdb2807bad212b84f5ab51ac26 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:11 2015 +0200 veth: set iflink to the peer veth Now that the peer netns is advertised in rtnl messages, we can set this property so that IFLA_LINK will advertise the peer ifindex. It allows the userland to get the full veth configuration. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1622baf54df8cc958bf29d71de5ad545ea7d93c Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:10 2015 +0200 dev: set iflink to 0 for virtual interfaces Virtual interfaces are supposed to set an iflink value != of their ifindex. It was not the case for some of them, like vxlan, bond or bridge. Let's set iflink to 0 when dev->rtnl_link_ops is set. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a66bbc96ce9ad8261fa5f7f6ae65370eb6866ee Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:09 2015 +0200 net: remove iflink field from struct net_device Now that all users of iflink have the ndo_get_iflink handler available, it's possible to remove this field. By default, dev_get_iflink() returns the ifindex of the interface. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abd2be00d474956c542a1c2ec848af7196b7fd51 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:08 2015 +0200 dsa: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5aa7add8f14bc29105bca841c053f574c8d232dd Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:07 2015 +0200 infiniband/ipoib: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Roland Dreier <roland@xxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c4116588b2ad5f45c693e0f12b612b621604c92 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:06 2015 +0200 ipvlan: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef5fa6bc46ee516f732d1171323cf3b8524bb8c2 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:05 2015 +0200 macvlan: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2dbf6b5058ace6b12e0674b07d59d47177741ae7 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:04 2015 +0200 vlan: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee9b9596a8dd90fc59a910f840a419321be5917b Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:03 2015 +0200 ipmr,ip6mr: implement ndo_get_iflink Don't use dev->iflink anymore. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e99584b911cb6f3d2a681e2532d8dc3f9339c9c Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:02 2015 +0200 ipip,gre,vti,sit: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ecf2c06a88d2ed534a87b84b8c1a467ab23352dd Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:01 2015 +0200 ip6tnl,gre6,vti6: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a54acb3a6f853e8394c4cb7b6a4d93c88f13eefd Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:00 2015 +0200 dev: introduce dev_get_iflink() The goal of this patch is to prepare the removal of the iflink field. It introduces a new ndo function, which will be implemented by virtual interfaces. There is no functional change into this patch. All readers of iflink field now call dev_get_iflink(). Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74ff960222d90999508b4ba0d3449f796695b6d5 Author: Pascal Huerst <pascal.huerst@xxxxxxxxx> Date: Thu Apr 2 10:17:40 2015 +0200 ASoC: cs4271: Increase delay time after reset The delay time after a reset in the codec probe callback was too short, and did not work on certain hw because the codec needs more time to power on. This increases the delay time from 1us to 1ms. Signed-off-by: Pascal Huerst <pascal.huerst@xxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1c550fa193d08920255240743f57731d4d57cd4d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Feb 11 18:50:09 2015 +0100 drm/panel: Add support for Ampire AM-800480R3TMQW-A1H 800x480 7" panel This adds support for the AM-800480R3TMQW-A1H 7" 800x480 panel to the DRM simple panel driver. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9df6d49adb4eecc50538e56c0bb0ccdcaae8c697 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Feb 11 18:50:08 2015 +0100 of: Add vendor prefix for Ampire Co., Ltd. Add Ampire Co., Ltd. to the list of device tree vendor prefixes. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ab07725abc9aa1e3dbc41ee429ad19336b31f207 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Dec 11 18:32:46 2014 +0100 drm/panel: Add display timing for HannStar HSD070PWW1 The HannStar HSD070PWW1 LVDS panel data sheet lists allowed ranges additionally to the typical values for pixel clock rate (64.3-82 MHz) and blanking intervals (54-681 clock cycles horizontally, 3-23 lines vertically). This patch replaces this panel's display mode with the display timing information to describe acceptable timings. Since the HSYNC and VSYNC are unused, the distribution between front porches, back porches, and sync pulse lengths was chosen at will. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a5d3e625148073587955bb0c49dbbba231b3234a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Dec 11 18:32:45 2014 +0100 drm/panel: simple: Add display timing support The simple panel driver's ->get_modes() implementation calculates the display mode list from the typical timings and the ->get_timings() implementation returns the timings to the connected encoder for mode validation and fixup. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> [treding@xxxxxxxxxx: select VIDEOMODE_HELPERS] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 2938931f3732a4ec70c299e221ec8dea01dfd796 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Dec 11 18:32:44 2014 +0100 drm/panel: Add display timing support Many panel data sheets, additionally to typical values, list allowed ranges for timings such as hsync/vsync lengths, porches, and the pixel clock rate. These can be stored in a struct display_timing, to be used by an encoder mode_fixup callback to clamp user provided timing values or to validate workarounds for clock source limitations. This patch adds a new drm_panel_funcs callback that returns the panel's available display_timing entries. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 725c9d40f3fe61256903adfab868f302e249fa2a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Feb 11 18:50:11 2015 +0100 drm/panel: Add support for OrtusTech COM43H4M85ULC panel This adds support for the COM43H4M85ULC 3.7" 800x480 panel to the DRM simple panel driver. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d75ce3854bc95f8d439a9ffcebdeb473de0605f3 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Feb 11 18:50:10 2015 +0100 of: Add vendor prefix for Ortus Technology Co., Ltd. Add Ortus Technology Co., Ltd. to the list of device tree vendor prefixes. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 33536a09f02e4b179a4594fdb986dda1415339ee Author: Philipp Zabel <philipp.zabel@xxxxxxxxx> Date: Wed Feb 11 18:50:07 2015 +0100 drm/panel: Add bus format for Giantplus GPG482739QS5 panel This patch adds the bus_format field to the GPG482739QS5 panel structure. Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a531bc3d952ffd6ebe6452bd39cb3c64cfa5ceb3 Author: Huang Lin <hl@xxxxxxxxxxxxxx> Date: Sat Feb 28 10:18:58 2015 +0800 drm/panel: simple: Add support for AUO b101ean01 panel The AUO b101ean01 panel is a 10.1" 1280x800 panel which can be supported by the simple panel driver. Signed-off-by: Huang Lin <hl@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit bccac3f121d53b645c882cae7948facb50940043 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Mar 19 12:22:44 2015 +0100 drm/panel: simple: Add support for Innolux ZJ070NA-01P The Innolux ZJ070NA-01P is a 7.0" TFT LCD panel with an integrated LED backlight unit. This panel is used on the Technexion Toucan. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 41bcceb4de9c5b120459610fe8a9157dee418d75 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 19 14:43:01 2015 +0100 drm/panel: simple: Add support for Innolux AT043TN24 The Innolux AT043TN24 4.3" WQVGA TFT LCD panel. This panel with backlight is found in PDA 4.3" LCD screen (TM43xx series for instance). Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9c6615bc379d2a85d7ef593d1c89a72abcc8186c Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 14:43:00 2015 +0100 drm/panel: simple: Add support for Shelly SCA07010-BFN-LNN The Shelly SCA07010-BFN-LNN is a 7.0" WVGA TFT LCD panel. This panel with backlight is found in PDA 7" LCD screen (TM70xx series for instance). Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0c934306ec9a63bd271a4376caa014c21b20072b Author: Stéphane Marchesin <marcheu@xxxxxxxxxxxx> Date: Wed Mar 18 10:52:18 2015 +0100 drm/panel: simple: Add support for Samsung LTN140AT29 panel This panel is used by the Nyan Blaze board and can be supported by the simple-panel driver. Signed-off-by: Stéphane Marchesin <marcheu@xxxxxxxxxxxx> [tomeu.vizoso@xxxxxxxxxxxxx: add device tree binding document] Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8494057ab5e40df590ef6ef7d66324d3ae33356b Author: Shachar Raindel <raindel@xxxxxxxxxxxx> Date: Wed Mar 18 17:39:08 2015 +0000 IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic Properly verify that the resulting page aligned end address is larger than both the start address and the length of the memory area requested. Both the start and length arguments for ib_umem_get are controlled by the user. A misbehaving user can provide values which will cause an integer overflow when calculating the page aligned end address. This overflow can cause also miscalculation of the number of pages mapped, and additional logic issues. Addresses: CVE-2014-8159 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 535a65db484ff4e4654a037f2ea7e1ff21431b77 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 10:33:03 2015 +0200 drm/tegra: sor: Reset during initialization As there isn't a way for the firmware on the Nyan Chromebooks to hand over the display to the kernel, and the kernel isn't redoing the whole configuration at present. With this patch, the SOR is brought to a known state and we get correct display on every boot. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit bdf765071a8b573f7b1ba14c02881fa3e623825e Author: Sean Paul <seanpaul@xxxxxxxxxxxx> Date: Fri Jan 30 13:57:01 2015 -0500 drm/tegra: gem: Return 64-bit offset for mmap(2) On 64-bit targets, tegra_gem_mmap() only returns a partial offset to userspace. As such, subsequent calls to mmap(2) may fail. Change the arguments to use a 64-bit offset to fix this. Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Acked-by: Erik Faye-Lund <kusmabite@xxxxxxxxx> [treding@xxxxxxxxxx: tweak commit message] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5c1c071a3667600d1b8426dba031b2d4a20a3efa Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 16:32:52 2015 +0100 drm/tegra: hdmi: Name register fields consistently Name the fields of the SOR_SEQ_CTL register consistently. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 375e118437716acdccda224abb3d464ecfe92884 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 16:14:26 2015 +0100 drm/tegra: hdmi: Resets are synchronous Resets on Tegra are synchronous, so keep the clock enabled while asserting the reset. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9d910b6068be9b6670d0ebba2ddc3e7816dd8881 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 15:25:54 2015 +0100 drm/tegra: dc: Document tegra_dc_state_setup_clock() This function is called by output drivers so should be documented. While at it, move it to a more appropriate location. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d0852ab9bb63aaf8e31d39f8819e67ce210d8dbb Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 15:10:48 2015 +0100 drm/tegra: dc: Remove unused callbacks The ->mode_set() and ->mode_set_base() callbacks are no longer used with full atomic mode-setting drivers, so remove them. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3774363c75fa32cfb415df14b362e0d426418e93 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 15:08:40 2015 +0100 drm/tegra: dc: Remove unused function The tegra_dc_setup_clock() function is unused after the conversion to atomic mode-setting, so remove it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3b59b7ac02e434f267f7cb1ef8fe48c23ddbe9a2 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 15:01:22 2015 +0100 drm/tegra: dc: Use base atomic state helpers Instead of duplicating the code, make use of the newly introduced atomic state duplicate and destroy helpers. This allows changes to the base atomic state handling to automatically propagate to the Tegra driver and thereby prevent breakage resulting from both copies going out of sync. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit f5e7840b0c4368f8cdbb055188c2a0eef50c3052 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 14:54:32 2015 +0100 drm/atomic: Add helpers for state-subclassing drivers Drivers that subclass CRTC, plane or connector state need to carefully duplicate the code that the atomic helpers have. This is bound to cause breakage eventually because it requires auditing all drivers and update them when code is added to the helpers. In order to avoid that, implement new helpers that perform the required steps when copying and destroying state. These new helpers are exported so that state-subclassing drivers can use them. The default helpers are implemented using them as well, providing a single location that needs to be changed when adding to base atomic states. Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Eric Anholt <eric@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 42e9ce0523699b3f3383b7c5c0bcc2657a77d0ca Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 14:43:05 2015 +0100 drm/tegra: dc: Implement hardware VBLANK counter The display controller on Tegra can use syncpoints to count VBLANK events. syncpoints are 32-bit unsigned integers, so well suited as VBLANK counters. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b4a20144e0c0a45431695fa5968ce2ed8c9ce6ca Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 14:29:02 2015 +0100 gpu: host1x: Export host1x_syncpt_read() This function is used to read the current value of the syncpt and is useful in situations where drivers don't schedule work and wait for the syncpoint to increment. One particular use-case is using the syncpoint as a VBLANK counter. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit dab163366a2a0f134cfa13a64ab750945648a18a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Jan 26 16:04:08 2015 +0100 drm/tegra: sor: Dump registers via debugfs Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 28fe2076004da062e9affac1cec98c697de53eb1 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Jan 26 16:02:48 2015 +0100 drm/tegra: sor: Registers are 32-bit Use a sized unsigned 32-bit data type (u32) to store register contents. The SOR registers are 32 bits wide irrespective of the architecture's data width. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 28c23373b88bcc244b573ea45596a51e9db73d2c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 23 09:16:03 2015 +0100 drm/tegra: Provide debugfs file for the IOVA space The Tegra DRM driver uses a single IO virtual address space for buffer mappings. Provide a table of the address space usage in debugfs. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d29827484b9cf6026506a0e376fb5d246580ffd8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jan 22 08:48:25 2015 +0100 drm/tegra: dc: Check for valid parent clock Check that the desired parent clock is indeed a valid parent for the display controller clock. This is purely cosmetic at this point since the parent clocks are specified in DT and all the currently defined parents are in fact valid parents of the display controller clock. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 48fd77d1444a387435c3bbc773fa4e7ab6b6aca3 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Apr 1 20:43:39 2015 -0700 kselftests: timers: Make set-timer-lat fail more gracefully for !CAP_WAKE_ALARM The set-timer-lat test fails when testing CLOCK_BOOTTIME_ALARM or CLOCK_REALTIME_ALARM when the user isn't running as root or with CAP_WAKE_ALARM. So this patch improves the error checking so we report the issue more clearly and continue rather then reporting a failure. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit bd05954bfa17f03a7bd4454178ba09786b35e383 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:19 2015 +0800 perf data: Support using -f to override perf.data file ownership for 'convert' Enable perf data convert to use perf.data when it is not owned by current user or root. Example: # perf record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 28260 Apr 2 17:35 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf data convert --to-ctf=./ctf-data/ File perf.data not owned by current user or root (use -f to override) # perf data convert --to-ctf=./ctf-data/ -f Error: unknown switch `f' usage: perf data convert [<options>] -v, --verbose be more verbose -i, --input <file> input file name --to-ctf ... Convert to CTF format After this patch: # perf data convert --to-ctf=./ctf-data/ File perf.data not owned by current user or root (use -f to override) # perf data convert --to-ctf=./ctf-data/ -f # ls ctf-data/ metadata perf_stream_0 As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-11-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e366a6d8949f3cfab01906b42c591098d59f3f35 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:18 2015 +0800 perf trace: Support using -f to override perf.data file ownership Enable perf trace to use perf.data when it is not owned by current user or root. Example: # perf trace record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 4153101 Apr 2 15:28 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf trace -i perf.data File perf.data not owned by current user or root (use -f to override) # perf trace -i perf.data -f Error: unknown switch `f' usage: perf trace [<options>] [<command>] or: perf trace [<options>] -- <command> [<options>] or: perf trace record [<options>] [<command>] or: perf trace record [<options>] -- <command> [<options>] --event <event> event selector. use 'perf list' to list available events --comm show the thread COMM next to its id --tool_stats show tool stats -e, --expr <expr> list of events to trace -o, --output <file> output file name -i, --input <file> Analyze events in file -p, --pid <pid> trace events on existing process id -t, --tid <tid> trace events on existing thread id --filter-pids <float> ... As shown above, the -f option does not work at all. After this patch: # perf trace -i perf.data File perf.data not owned by current user or root (use -f to override) # perf trace -i perf.data -f 0.056 ( 0.002 ms): ls/47325 brk( ... 0.108 ( 0.018 ms): ls/47325 mmap(len: 4096, prot: READ|WRITE, ... 0.145 ( 0.013 ms): ls/47325 access(filename: 0x7f31259a0eb0, ... 0.172 ( 0.008 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ... 0.180 ( 0.004 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ... 0.185 ( 0.004 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ... 0.189 ( 0.003 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ... 0.195 ( 0.004 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ... 0.199 ( 0.002 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ... 0.205 ( 0.004 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ... 0.211 ( 0.004 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ... 0.220 ( 0.007 ms): ls/47325 open(filename: 0x7f312599e8ff, ... ... ... As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-10-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 44f7e432e3dc8a13f5661e8b722f53645df083d1 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:17 2015 +0800 perf timechart: Support using -f to override perf.data file ownership Enable perf timechart to use perf.data when it is not owned by current user or root. Example: # perf timechart record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 5471744 Apr 2 15:15 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf timechart File perf.data not owned by current user or root (use -f to override) # perf timechart -f Error: unknown switch `f' usage: perf timechart [<options>] {record} -i, --input <file> input file name -o, --output <file> output file name -w, --width <n> page width --highlight <duration or task name> highlight tasks. Pass duration in ns or process name. -P, --power-only output power data only -T, --tasks-only output processes data only -p, --process <process> process selector. Pass a pid or process name. --symfs <directory> Look for files with symbols relative to this directory -n, --proc-num <n> min. number of tasks to print -t, --topology sort CPUs according to topology --io-skip-eagain skip EAGAIN errors --io-min-time <time> all IO faster than min-time will visually appear longer --io-merge-dist <time> merge events that are merge-dist us apart As shown above, the -f option does not work at all. After this patch: # perf timechart File perf.data not owned by current user or root (use -f to override) # perf timechart -f Written 0.0 seconds of trace to output.svg. # cat output.svg <?xml version="1.0" standalone="no"?> <!DOCTYPE svg SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width="1000" height="10110" version="1.1" xmlns="http://www.w3.org/2000/svg"> <defs> <style type="text/css"> <![CDATA[ rect { stroke-width: 1; } ... ... As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-9-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 06af0f2c919d7c8f05efebe0d96a6f22297aafd4 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:16 2015 +0800 perf script: Support using -f to override perf.data file ownership Enable perf script to use perf.data when it is not owned by current user or root. Change the short option name of --fields to -F to avoid confusion with --force. Example: # perf record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 28360 Apr 2 14:53 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf script File perf.data not owned by current user or root (use -f to override) # perf script -f Error: switch `f' requires a value usage: perf script [<options>] or: perf script [<options>] record <script> [<record-options>] <command> or: perf script [<options>] report <script> [script-args] or: perf script [<options>] <script> [<record-options>] <command> or: perf script [<options>] <top-script> [script-args] -f, --fields <str> comma separated output fields prepend with 'type:'. Valid types: hw,sw,trace,raw. Fields: comm,tid,pid,time,cpu,event,trace,ip,sym,dso,addr,symoff,period As shown above, the -f option does not work at all. And -f is already taken up by --fields, which makes --force confused, so change the short option name of --fields to -F like what other perf commands do (e.g. perf report -F) and use -f as the short option name of --force. After this patch: # perf script File perf.data not owned by current user or root (use -f to override) # perf script -f :41298 41298 2590086.564226: 1 cycles: ffffffff8103efc6 native_write_msr_safe ([kernel.kallsyms]) :41298 41298 2590086.564244: 1 cycles: ffffffff8103efc6 native_write_msr_safe ([kernel.kallsyms]) :41298 41298 2590086.564249: 7 cycles: ffffffff8103efc6 native_write_msr_safe ([kernel.kallsyms]) :41298 41298 2590086.564255: 176 cycles: ffffffff8103efc6 native_write_msr_safe ([kernel.kallsyms]) ls 41298 2590086.567346: 4059 cycles: ffffffff8105a592 raise_softirq ([kernel.kallsyms]) ls 41298 2590086.567353: 3717 cycles: ffffffff8105a592 raise_softirq ([kernel.kallsyms]) ls 41298 2590086.567358: 63058 cycles: ffffffff8105a592 raise_softirq ([kernel.kallsyms]) ls 41298 2590086.567448: 1706255 cycles: 406ae0 [unknown] (/usr/bin/ls) As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-8-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 62a1a63a77451dee8fd318a5106ca108d6a8ebcb Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:15 2015 +0800 perf mem: Support using -f to override perf.data file ownership Enable perf mem to use perf.data when it is not owned by current user or root. Example: # perf mem -t load record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 16392 Apr 2 14:34 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf mem -D report File perf.data not owned by current user or root (use -f to override) # perf mem -D -f report Error: unknown switch `f' usage: perf mem [<options>] {record|report} -t, --type <type> memory operations(load,store) Default load,store -D, --dump-raw-samples dump raw samples in ASCII -U, --hide-unresolved Only display entries resolved to a symbol -i, --input <file> input file name -C, --cpu <cpu> list of cpus to profile -x, --field-separator <separator> separator for columns, no spaces will be added between columns '.' is reserved. As shown above, the -f option does not work at all. After this patch: # perf mem -D report File perf.data not owned by current user or root (use -f to override) # perf mem -D -f report # PID, TID, IP, ADDR, LOCAL WEIGHT, DSRC, SYMBOL 39095 39095 0xffffffff81127e40 0x016ffff887f45148338 8 0x68100142 /proc/kcore:perf_event_aux 39095 39095 0xffffffff8100a3fe 0xffff89007f8cb7d0 6 0x68100142 /proc/kcore:native_sched_clock 39095 39095 0xffffffff81309139 0xffff88bf44c9ded8 6 0x68100142 /proc/kcore:acpi_map_lookup 39095 39095 0xffffffff810f8c4c 0xffff89007f8ccd88 6 0x68100142 /proc/kcore:rcu_nmi_exit 39095 39095 0xffffffff81136346 0xffff88fea995dd50 6 0x68100142 /proc/kcore:unlock_page 39095 39095 0xffffffff812a64a2 0xffff88fea995dcc8 6 0x68100142 /proc/kcore:half_md4_transform 39095 39095 0x7f0cf877c7e9 0x25dfb94 6 0x68100142 /lib64/libc-2.19.so:__readdir64 39095 39095 0x7f0cf87575a3 0x7f0cf9163731 6 0x68100142 /lib64/libc-2.19.so:__strcoll_l 39095 39095 0xffffffff8116910e 0xffffea01c1bfbd50 23 0x68100242 /proc/kcore:page_remove_rmap As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-7-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c4ac732a0377d1544a8385393a9877b693ff0652 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:14 2015 +0800 perf lock: Support using -f to override perf.data file ownership Enable perf lock to use perf.data when it is not owned by current user or root. Example: # perf lock record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 4880686 Apr 2 14:14 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf lock report File perf.data not owned by current user or root (use -f to override) Initializing perf session failed # perf lock report -f Error: unknown switch `f' usage: perf lock report [<options>] -k, --key <acquired> key for sorting (acquired / contended / avg_wait / wait_total / wait_max / wait_min) As shown above, the -f option does not work at all. After this patch: # perf lock report File perf.data not owned by current user or root (use -f to override) Initializing perf session failed # perf lock report -f Name acquired contended avg wait (ns) total wait (ns) ... &ldata->output_l... 128 0 0 0 ... &ctx->lock 114 0 0 0 ... &p->pi_lock 112 0 0 0 ... &(&pool->lock)->... 112 0 0 0 ... &(&dentry->d_loc... 70 0 0 0 ... &(&newf->file_lo... 62 0 0 0 ... &(&fs->lock)->rl... 43 0 0 0 ... ... As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-6-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8cc5ec1f754355ed788838390e86389c9ffb7590 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:13 2015 +0800 perf kvm: Support using -f to override perf.data.guest file ownership Enable perf kvm to use perf.data.guest when it is not owned by current user or root. Example: # perf kvm stat record ls # chown Yunlong.Song:Yunlong.Song perf.data.guest # ls -al perf.data.guest -rw------- 1 Yunlong.Song Yunlong.Song 4128937 Apr 2 11:05 perf.data.guest # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf kvm stat report File perf.data.guest not owned by current user or root (use -f to override) Initializing perf session failed # perf kvm stat report -f Error: unknown switch `f' usage: perf kvm stat report [<options>] --event <report event> event for reporting: vmexit, mmio (x86 only), ioport (x86 only) --vcpu <n> vcpu id to report -k, --key <sort-key> key for sorting: sample(sort by samples number) time (sort by avg time) -p, --pid <pid> analyze events only for given process id(s) As shown above, the -f option does not work at all. After this patch: # perf kvm stat report File perf.data.guest not owned by current user or root (use -f to override) Initializing perf session failed # perf kvm stat report -f Analyze events for all VMs, all VCPUs: VM-EXIT Samples Samples% Time% Min Time Max Time Avg time Total Samples:0, Total events handled time:0.00us. As shown above, the -f option really works now. Since we have not launched any KVM related process, the result shows 0 sample here. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-5-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d1eeb77c1811fd178442ccb8f58004a19ec40dd3 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:12 2015 +0800 perf kmem: Support using -f to override perf.data file ownership Enable perf kmem to use perf.data when it is not owned by current user or root. Example: # perf kmem record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 5315665 Apr 2 10:54 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf kmem stat File perf.data not owned by current user or root (use -f to override) # perf kmem stat -f Error: unknown switch `f' usage: perf kmem [<options>] {record|stat} -i, --input <file> input file name -v, --verbose be more verbose (show symbol address, etc) --caller show per-callsite statistics --alloc show per-allocation statistics -s, --sort <key[,key2...]> sort by keys: ptr, call_site, bytes, hit, pingpong, frag -l, --line <num> show n lines --raw-ip show raw ip instead of symbol As shown above, the -f option does not work at all. After this patch: # perf kmem stat File perf.data not owned by current user or root (use -f to override) # perf kmem stat -f SUMMARY ======= Total bytes requested: 437599 Total bytes allocated: 615472 Total bytes wasted on internal fragmentation: 177873 Internal fragmentation: 28.900259% Cross CPU allocations: 6/1192 As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-4-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ccaa474c8a0983d26ecb3eac755672b546b997c3 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:11 2015 +0800 perf inject: Support using -f to override perf.data file ownership Enable perf inject to use perf.data when it is not owned by current user or root. Example: # perf record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 28260 Apr 2 10:37 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf inject -v -b -i perf.data -o perf.data.new File perf.data not owned by current user or root (use -f to override) # perf inject -v -b -i perf.data -o perf.data.new -f Error: unknown switch `f' usage: perf inject [<options>] -b, --build-ids Inject build-ids into the output stream -i, --input <file> input file name -o, --output <file> output file name -s, --sched-stat Merge sched-stat and sched-switch for getting events where and how long tasks slept -v, --verbose be more verbose (show build ids, etc) --kallsyms <file> kallsyms pathname As shown above, the -f option does not work at all. After this patch: # perf inject -v -b -i perf.data -o perf.data.new File perf.data not owned by current user or root (use -f to override) # perf inject -v -b -i perf.data -o perf.data.new -f build id event received for [kernel.kallsyms]: f6dcb66d8b98f1c0d9eb87bf043444b69f91d30c symsrc__init: cannot get elf header. Looking at the vmlinux_path (7 entries long) Using /proc/kcore for kernel object code Using /proc/kallsyms for symbols As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9e3b6ec17374299516d83c2e36135b958a895aa3 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:10 2015 +0800 perf evlist: Support using -f to override perf.data file ownership Enable perf evlist to use perf.data when it is not owned by current user or root. Example: # perf record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 28260 Apr 2 10:18 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf evlist File perf.data not owned by current user or root (use -f to override) # perf evlist -f Error: unknown switch `f' usage: perf evlist [<options>] -i, --input <file> Input file name -F, --freq Show the sample frequency -v, --verbose Show all event attr details -g, --group Show event group information As shown above, the -f option does not work at all. After this patch: # perf evlist File perf.data not owned by current user or root (use -f to override) # perf evlist -f cycles As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-2-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c72738355b2ac79506fbfa10ffee8fe3a27e69da Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Apr 2 16:33:12 2015 +0900 perf probe: Fix to track down unnamed union/structure members Fix 'perf probe' to track down unnamed union/structure members. perf probe did not track down the tree of unnamed union/structure members, since it just failed to find given "name" in a parent structure/union. To solve this issue, I've introduced 2 changes. - Fix die_find_member() to track down the type-DIE if it is unnamed, and if it contains the specified member, returns the unnamed member. (note that we don't return found member, since unnamed member has the offset in the parent structure) - Fix convert_variable_fields() to track down the unnamed union/ structure (one-by-one). With this patch, perf probe can access unnamed fields: ----- #./perf probe -nfx ./perf lock__delete ops 'locked_ops=ops->locked.ops' Added new event: probe_perf:lock__delete (on lock__delete in /home/mhiramat/ksrc/linux-3/tools/perf/perf with ops locked_ops=ops->locked.ops) You can now use it in all perf tools, such as: perf record -e probe_perf:lock__delete -aR sleep 1 ----- Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Report-Link: https://lkml.org/lkml/2015/3/5/431 Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150402073312.14482.37942.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b83e868d0a0350c107b98417b4dcc73834506f98 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Apr 2 11:16:05 2015 -0300 perf db-export: No need to have ->thread twice in struct export_sample As it comes from address_location->thread, that is already stored as export_sample->al, where the thread can be obtained. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150402141542.GA9630@xxxxxxxxxx Link: http://lkml.kernel.org/n/tip-bzotbl4epoztw0jd6sm2stpf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7327259d7ea96d04d02e7dbe51ee9201319dc204 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Apr 2 11:08:30 2015 -0300 perf db-export: No need to pass thread twice to db_export__sample As it is available via another parameter, address_location->thread. Acked-by: 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: lkml.kernel.org/r/551D08F8.3040706@xxxxxxxxx Link: http://lkml.kernel.org/n/tip-6dbn0tcm9hyv92g7h3zj2dbt@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f9d5d549d2c2934be84b0bc7e5e034834459f591 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Apr 1 13:29:25 2015 -0300 perf scripting: No need to pass thread twice to the scripting callbacks It is already in the addr_location, so remove the redundant 'thread' parameter from the callback signatures. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> 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: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427906210-10519-3-git-send-email-acme@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 79628f2cfe0f488b23e5dc99a4a9a599032fa653 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Apr 1 13:26:45 2015 -0300 perf script: No need to lookup thread twice We get the thread when we call perf_event__preprocess_sample(), no need to do it before that. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> 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: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427906210-10519-2-git-send-email-acme@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2e54a5bdba107f80a9ba90065fb43bba0498147d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 17:57:59 2015 +0200 perf/x86/intel/pt: Fix the 32-bit build On a 32-bit build I got: arch/x86/kernel/cpu/perf_event_intel_pt.c:413:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] arch/x86/kernel/cpu/perf_event_intel_bts.c:162:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] Fix it. The code should probably be (re-)tested on 32-bit systems to make sure all is fine. Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3650b57fdf208bc0e36cbe7b5e0744bd0e0cf34d Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Mar 31 20:49:02 2015 +0530 timer: Further simplify the SMP and HOTPLUG logic Remove one CONFIG_HOTPLUG_CPU #ifdef in trade for introducing one CONFIG_SMP #ifdef. The CONFIG_SMP ifdef avoids declaring the per-CPU __tvec_bases storage on UP systems since they already have boot_tvec_bases. Also (re)add a runtime check on the base alignment -- for the paranoid amongst us :-) Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/fdd2d35e169bdc554ffa3fe77f77716298c75ada.1427814611.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8def906044c02edcedac79aa3d6310ab4d90c4d8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Mar 31 20:49:01 2015 +0530 timer: Don't initialize 'tvec_base' on hotplug There is no need to call init_timers_cpu() on every CPU hotplug event, there is not much we need to reset. - Timer-lists are already empty at the end of migrate_timers(). - timer_jiffies will be refreshed while adding a new timer, after the CPU is online again. - active_timers and all_timers can be reset from migrate_timers(). Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/54a1c30ea7b805af55beb220cadf5a07a21b0a4d.1427814611.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b337a9380f7effd60d082569dd7e0b97a7549730 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Mar 31 20:49:00 2015 +0530 timer: Allocate per-cpu tvec_base's statically Memory for the 'tvec_base' array is allocated separately for the boot CPU (statically) and non-boot CPUs (dynamically). The reason is because __TIMER_INITIALIZER() needs to set ->base to a valid pointer (because we've made NULL special, hint: lock_timer_base()) and we cannot get a compile time pointer to per-cpu entries because we don't know where we'll map the section, even for the boot cpu. This can be simplified a bit by statically allocating per-cpu memory. The only disadvantage is that memory for one of the structures will stay unused, i.e. for the boot CPU, which uses boot_tvec_bases. This will also guarantee that tvec_base is cacheline aligned. Even though tvec_base has ____cacheline_aligned stuck on, kzalloc_node() does not actually respect that (but guarantees a minimum u64 alignment). Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/17cdf560f2727f687ab159707d0aa591f8a2f82d.1427814611.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fa9c9d10e97e38d9903fad1829535175ad261f45 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Mar 27 07:08:35 2015 +0800 sched/deadline: Support DL task migration during CPU hotplug I observed that DL tasks can't be migrated to other CPUs during CPU hotplug, in addition, task may/may not be running again if CPU is added back. The root cause which I found is that DL tasks will be throtted and removed from the DL rq after comsuming all their budget, which leads to the situation that stop task can't pick them up from the DL rq and migrate them to other CPUs during hotplug. The method to reproduce: schedtool -E -t 50000:100000 -e ./test Actually './test' is just a simple for loop. Then observe which CPU the test task is on and offline it: echo 0 > /sys/devices/system/cpu/cpuN/online This patch adds the DL task migration during CPU hotplug by finding a most suitable later deadline rq after DL timer fires if current rq is offline. If it fails to find a suitable later deadline rq then it falls back to any eligible online CPU in so that the deadline task will come back to us, and the push/pull mechanism should then move it around properly. Suggested-and-Acked-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427411315-4298-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3c18d447b3b36a8d3c90dc37dfbd363cdb685d0a Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Tue Mar 31 09:53:37 2015 +0100 sched/core: Check for available DL bandwidth in cpuset_cpu_inactive() Hotplug operations are destructive w.r.t. cpusets. In case such an operation is performed on a CPU belonging to an exlusive cpuset, the DL bandwidth information associated with the corresponding root domain is gone even if the operation fails (in sched_cpu_inactive()). For this reason we need to move the check we currently have in sched_cpu_inactive() to cpuset_cpu_inactive() to prevent useless cpusets reconfiguration in the CPU_DOWN_FAILED path. Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Link: http://lkml.kernel.org/r/1427792017-7356-2-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4cd57f97135840f637431c92380c8da3edbe44ed Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Tue Mar 31 09:53:36 2015 +0100 sched/deadline: Always enqueue on previous rq when dl_task_timer() fires dl_task_timer() may fire on a different rq from where a task was removed after throttling. Since the call path is: dl_task_timer() -> enqueue_task_dl() -> enqueue_dl_entity() -> replenish_dl_entity() and replenish_dl_entity() uses dl_se's rq, we can't use current's rq in dl_task_timer(), but we need to lock the task's previous one. Tested-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Fixes: 3960c8c0c789 ("sched: Make dl_task_time() use task_rq_lock()") Link: http://lkml.kernel.org/r/1427792017-7356-1-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 07c54f7a7ff77bb47bae26e566969e9c4b6fb0c6 Author: Abel Vesa <abelvesa@xxxxxxxxx> Date: Tue Mar 3 13:50:27 2015 +0200 sched/core: Remove unused argument from init_[rt|dl]_rq() Obviously, 'rq' is not used in these two functions, therefore, there is no reason for it to be passed as an argument. Signed-off-by: Abel Vesa <abelvesa@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425383427-26244-1-git-send-email-abelvesa@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cd1f11de69226cc7ce7e7f22bdab9010103ddaa6 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Mar 20 10:11:24 2015 -0700 perf/x86/intel: Avoid rewriting DEBUGCTL with the same value for LBRs perf with LBRs on has a tendency to rewrite the DEBUGCTL MSR with the same value. Add a little optimization to skip the unnecessary write. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1426871484-21285-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a78d93750bb5f61abdc59a91fc3bd06a214542a Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Mar 20 10:11:23 2015 -0700 perf/x86/intel: Streamline LBR MSR handling in PMI The perf PMI currently does unnecessary MSR accesses when LBRs are enabled. We use LBR freezing, or when in callstack mode force the LBRs to only filter on ring 3. So there is no need to disable the LBRs explicitely in the PMI handler. Also we always unnecessarily rewrite LBR_SELECT in the LBR handler, even though it can never change. 5) | /* write_msr: MSR_LBR_SELECT(1c8), value 0 */ 5) | /* read_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801 */ 5) | /* write_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801 */ 5) | /* write_msr: MSR_CORE_PERF_GLOBAL_CTRL(38f), value 70000000f */ 5) | /* write_msr: MSR_CORE_PERF_GLOBAL_CTRL(38f), value 0 */ 5) | /* write_msr: MSR_LBR_SELECT(1c8), value 0 */ 5) | /* read_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801 */ 5) | /* write_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801 */ This patch: - Avoids disabling already frozen LBRs unnecessarily in the PMI - Avoids changing LBR_SELECT in the PMI Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1426871484-21285-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 15fde1101a1aed11958e0d86bc360f01866a74b1 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Feb 27 09:48:32 2015 -0800 perf/x86: Only dump PEBS register when PEBS has been detected Technically PEBS_ENABLED is only guaranteed to exist when we detected PEBS. So add a check for this to the PMU dump function. I don't think it can happen on a real CPU, but could in a VM. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425059312-18217-4-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit da3e606d885a17525eb18afd423f5c438860b833 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Feb 27 09:48:31 2015 -0800 perf/x86: Dump DEBUGCTL in PMU dump LBRs and LBR freezing are controlled through the DEBUGCTL MSR. So dump the state of DEBUGCTL too when dumping the PMU state. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425059312-18217-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8882edf735738c949aba4b65d3ec3453066bab12 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Feb 27 09:48:30 2015 -0800 perf/x86/intel: Reset more state in PMU reset The PMU reset code didn't quite keep up with newer PMU features. Improve it a bit to really reset a modern PMU: - Clear all overflow status - Clear LBRs and freezing state - Disable fixed counters too Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425059312-18217-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b37609c30e41264c4df4acff78abfc894499a49b Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:07:04 2014 +0100 perf/x86/intel: Make the HT bug workaround conditional on HT enabled This patch disables the PMU HT bug when Hyperthreading (HT) is disabled. We cannot do this test immediately when perf_events is initialized. We need to wait until the topology information is setup properly. As such, we register a later initcall, check the topology and potentially disable the workaround. To do this, we need to ensure there is no user of the PMU. At this point of the boot, the only user is the NMI watchdog, thus we disable it during the switch and re-enable it right after. Having the workaround disabled when it is not needed provides some benefits by limiting the overhead is time and space. The workaround still ensures correct scheduling of the corrupting memory events (0xd0, 0xd1, 0xd2) when HT is off. Those events can only be measured on counters 0-3. Something else the current kernel did not handle correctly. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: maria.n.dimakopoulou@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-13-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b3738d29323344da3017a91010530cf3a58590fc Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:07:03 2014 +0100 watchdog: Add watchdog enable/disable all functions This patch adds two new functions to enable/disable the watchdog across all CPUs. This will be used by the HT PMU bug workaround code to disable/enable the NMI watchdog across quirk enablement. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: maria.n.dimakopoulou@xxxxxxxxx Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1416251225-17721-12-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c02cdbf60b51b8d98a49185535f5d527a2965142 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:07:02 2014 +0100 perf/x86/intel: Limit to half counters when the HT workaround is enabled, to avoid exclusive mode starvation This patch limits the number of counters available to each CPU when the HT bug workaround is enabled. This is necessary to avoid situation of counter starvation. Such can arise from configuration where one HT thread, HT0, is using all 4 counters with corrupting events which require exclusion the the sibling HT, HT1. In such case, HT1 would not be able to schedule any event until HT0 is done. To mitigate this problem, this patch artificially limits the number of counters to 2. That way, we can gurantee that at least 2 counters are not in exclusive mode and therefore allow the sibling thread to schedule events of the same type (system vs. per-thread). The 2 counters are not determined in advance. We simply set the limit to two events per HT. This helps mitigate starvation in case of events with specific counter constraints such a PREC_DIST. Note that this does not elimintate the starvation is all cases. But it is better than not having it. (Solution suggested by Peter Zjilstra.) Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: maria.n.dimakopoulou@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-11-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a90738c2cb0dceb882e0d7f7f9141e0062809b4d Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:07:01 2014 +0100 perf/x86/intel: Fix intel_get_event_constraints() for dynamic constraints With dynamic constraint, we need to restart from the static constraints each time the intel_get_event_constraints() is called. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-10-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b63b4b459a78a9a45ea47a4803b8d1868e9d17d5 Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Date: Mon Nov 17 20:07:00 2014 +0100 perf/x86/intel: Enforce HT bug workaround with PEBS for SNB/IVB/HSW This patch modifies the PEBS constraint tables for SNB/IVB/HSW such that corrupting events supporting PEBS activate the HT workaround. Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-9-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 93fcf72cc0fa286aa8c3e11a1a8fd4659f0e27c0 Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Date: Mon Nov 17 20:06:59 2014 +0100 perf/x86/intel: Enforce HT bug workaround for SNB/IVB/HSW This patches activates the HT bug workaround for the SNB/IVB/HSW processors. This covers non-PEBS mode. Activation is done thru the constraint tables. Both client and server processors needs this workaround. Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-8-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e979121b1b1556e184492e6fc149bbe188fc83e6 Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Date: Mon Nov 17 20:06:58 2014 +0100 perf/x86/intel: Implement cross-HT corruption bug workaround This patch implements a software workaround for a HW erratum on Intel SandyBridge, IvyBridge and Haswell processors with Hyperthreading enabled. The errata are documented for each processor in their respective specification update documents: - SandyBridge: BJ122 - IvyBridge: BV98 - Haswell: HSD29 The bug causes silent counter corruption across hyperthreads only when measuring certain memory events (0xd0, 0xd1, 0xd2, 0xd3). Counters measuring those events may leak counts to the sibling counter. For instance, counter 0, thread 0 measuring event 0xd0, may leak to counter 0, thread 1, regardless of the event measured there. The size of the leak is not predictible. It all depends on the workload and the state of each sibling hyper-thread. The corrupting events do undercount as a consequence of the leak. The leak is compensated automatically only when the sibling counter measures the exact same corrupting event AND the workload is on the two threads is the same. Given, there is no way to guarantee this, a work-around is necessary. Furthermore, there is a serious problem if the leaked count is added to a low-occurrence event. In that case the corruption on the low occurrence event can be very large, e.g., orders of magnitude. There is no HW or FW workaround for this problem. The bug is very easy to reproduce on a loaded system. Here is an example on a Haswell client, where CPU0, CPU4 are siblings. We load the CPUs with a simple triad app streaming large floating-point vector. We use 0x81d0 corrupting event (MEM_UOPS_RETIRED:ALL_LOADS) and 0x20cc (ROB_MISC_EVENTS:LBR_INSERTS). Given we are not using the LBR, the 0x20cc event should be zero. $ taskset -c 0 triad & $ taskset -c 4 triad & $ perf stat -a -C 0 -e r81d0 sleep 100 & $ perf stat -a -C 4 -r20cc sleep 10 Performance counter stats for 'system wide': 139 277 291 r20cc 10,000969126 seconds time elapsed In this example, 0x81d0 and r20cc ar eusing sinling counters on CPU0 and CPU4. 0x81d0 leaks into 0x20cc and corrupts it from 0 to 139 millions occurrences. This patch provides a software workaround to this problem by modifying the way events are scheduled onto counters by the kernel. The patch forces cross-thread mutual exclusion between counters in case a corrupting event is measured by one of the hyper-threads. If thread 0, counter 0 is measuring event 0xd0, then nothing can be measured on counter 0, thread 1. If no corrupting event is measured on any hyper-thread, event scheduling proceeds as before. The same example run with the workaround enabled, yield the correct answer: $ taskset -c 0 triad & $ taskset -c 4 triad & $ perf stat -a -C 0 -e r81d0 sleep 100 & $ perf stat -a -C 4 -r20cc sleep 10 Performance counter stats for 'system wide': 0 r20cc 10,000969126 seconds time elapsed The patch does provide correctness for all non-corrupting events. It does not "repatriate" the leaked counts back to the leaking counter. This is planned for a second patch series. This patch series makes this repatriation more easy by guaranteeing the sibling counter is not measuring any useful event. The patch introduces dynamic constraints for events. That means that events which did not have constraints, i.e., could be measured on any counters, may now be constrained to a subset of the counters depending on what is going on the sibling thread. The algorithm is similar to a cache coherency protocol. We call it XSU in reference to Exclusive, Shared, Unused, the 3 possible states of a PMU counter. As a consequence of the workaround, users may see an increased amount of event multiplexing, even in situtations where there are fewer events than counters measured on a CPU. Patch has been tested on all three impacted processors. Note that when HT is off, there is no corruption. However, the workaround is still enabled, yet not costing too much. Adding a dynamic detection of HT on turned out to be complex are requiring too much to code to be justified. This patch addresses the issue when PEBS is not used. A subsequent patch fixes the problem when PEBS is used. Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> [spinlock_t -> raw_spinlock_t] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-7-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6f6539cad926f55d5eb6e79d05bbe99f0d54d56d Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Date: Mon Nov 17 20:06:57 2014 +0100 perf/x86/intel: Add cross-HT counter exclusion infrastructure This patch adds a new shared_regs style structure to the per-cpu x86 state (cpuc). It is used to coordinate access between counters which must be used with exclusion across HyperThreads on Intel processors. This new struct is not needed on each PMU, thus is is allocated on demand. Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> [peterz: spinlock_t -> raw_spinlock_t] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-6-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 79cba822443a168c8f7f5b853d9c7225a6d5415e Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:06:56 2014 +0100 perf/x86: Add 'index' param to get_event_constraint() callback This patch adds an index parameter to the get_event_constraint() x86_pmu callback. It is expected to represent the index of the event in the cpuc->event_list[] array. When the callback is used for fake_cpuc (evnet validation), then the index must be -1. The motivation for passing the index is to use it to index into another cpuc array. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: maria.n.dimakopoulou@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-5-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5362c0c376486afcf3c91d3c2691d348ac1e2fd Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Date: Mon Nov 17 20:06:55 2014 +0100 perf/x86: Add 3 new scheduling callbacks This patch adds 3 new PMU model specific callbacks during the event scheduling done by x86_schedule_events(). ->start_scheduling(): invoked when entering the schedule routine. ->stop_scheduling(): invoked at the end of the schedule routine ->commit_scheduling(): invoked for each committed event To be used optionally by model-specific code. Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-4-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 90413464313e00fe4975f4a0ebf25fe31d01f793 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:06:54 2014 +0100 perf/x86: Vectorize cpuc->kfree_on_online Make the cpuc->kfree_on_online a vector to accommodate more than one entry and add the second entry to be used by a later patch. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-3-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a5e3fb52ae5458c8bf1a67129b96c39b541a582 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:06:53 2014 +0100 perf/x86: Rename x86_pmu::er_flags to 'flags' Because it will be used for more than just tracking the presence of extra registers. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: maria.n.dimakopoulou@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-2-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c2b078e78ace39710356a7bb6b984177d942a699 Merge: 8062382 c420f19 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 17:17:46 2015 +0200 Merge branch 'perf/urgent' into perf/core, before applying dependent patches Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8062382c8dbe2dc11d37e7f0b139508cf10de9d4 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Fri Jan 30 12:40:35 2015 +0200 perf/x86/intel/bts: Add BTS PMU driver Add support for Branch Trace Store (BTS) via kernel perf event infrastructure. The difference with the existing implementation of BTS support is that this one is a separate PMU that exports events' trace buffers to userspace by means of AUX area of the perf buffer, which is zero-copy mapped into userspace. The immediate benefit is that the buffer size can be much bigger, resulting in fewer interrupts and no kernel side copying is involved and little to no trace data loss. Also, kernel code can be traced with this driver. The old way of collecting BTS traces still works. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1422614435-114702-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 52ca9ced3f70779589e6ecc329baffe69d8f5f7a Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Fri Jan 30 12:39:52 2015 +0200 perf/x86/intel/pt: Add Intel PT PMU driver Add support for Intel Processor Trace (PT) to kernel's perf events. PT is an extension of Intel Architecture that collects information about software execuction such as control flow, execution modes and timings and formats it into highly compressed binary packets. Even being compressed, these packets are generated at hundreds of megabytes per second per core, which makes it impractical to decode them on the fly in the kernel. This driver exports trace data by through AUX space in the perf ring buffer, which is zero-copy mapped into userspace for faster data retrieval. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1422614392-114498-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4807034248bed58d49a4f9f450c024e3b0f58577 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:20 2015 +0200 perf/x86: Mark Intel PT and LBR/BTS as mutually exclusive Intel PT cannot be used at the same time as LBR or BTS and will cause a general protection fault if they are used together. In order to avoid fixing up GPs in the fast path, instead we disallow creating LBR/BTS events when PT events are present and vice versa. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-12-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ed69628b3b04578179334393d7f5fe60a2681f1c Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:19 2015 +0200 x86: Add Intel Processor Trace (INTEL_PT) cpu feature detection Intel Processor Trace is an architecture extension that allows for program flow tracing. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-11-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ec0d7729bbaed4b9d2d3fada693278e13a3d1368 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:23 2015 +0200 perf: Add ITRACE_START record to indicate that tracing has started For counters that generate AUX data that is bound to the context of a running task, such as instruction tracing, the decoder needs to know exactly which task is running when the event is first scheduled in, before the first sched_switch. The decoder's need to know this stems from the fact that instruction flow trace decoding will almost always require program's object code in order to reconstruct said flow and for that we need at least its pid/tid in the perf stream. To single out such instruction tracing pmus, this patch introduces ITRACE PMU capability. The reason this is not part of RECORD_AUX record is that not all pmus capable of generating AUX data need this, and the opposite is *probably* also true. While sched_switch covers for most cases, there are two problems with it: the consumer will need to process events out of order (that is, having found RECORD_AUX, it will have to skip forward to the nearest sched_switch to figure out which task it was, then go back to the actual trace to decode it) and it completely misses the case when the tracing is enabled and disabled before sched_switch, for example, via PERF_EVENT_IOC_DISABLE. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-15-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a5941312414c71dece6717da9a0fa1303127afa Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:18 2015 +0200 perf: Add wakeup watermark control to the AUX area When AUX area gets a certain amount of new data, we want to wake up userspace to collect it. This adds a new control to specify how much data will cause a wakeup. This is then passed down to pmu drivers via output handle's "wakeup" field, so that the driver can find the nearest point where it can generate an interrupt. We repurpose __reserved_2 in the event attribute for this, even though it was never checked to be zero before, aux_watermark will only matter for new AUX-aware code, so the old code should still be fine. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-10-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2023a0d2829e521fe6ad6b9907f3f90bfbf57142 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:17 2015 +0200 perf: Support overwrite mode for the AUX area This adds support for overwrite mode in the AUX area, which means "keep collecting data till you're stopped", turning AUX area into a circular buffer, where new data overwrites old data. It does not depend on data buffer's overwrite mode, so that it doesn't lose sideband data that is instrumental for processing AUX data. Overwrite mode is enabled at mapping AUX area read only. Even though aux_tail in the buffer's user page might be user writable, it will be ignored in this mode. A PERF_RECORD_AUX with PERF_AUX_FLAG_OVERWRITE set is written to the perf data stream every time an event writes new data to the AUX area. The pmu driver might not be able to infer the exact beginning of the new data in each snapshot, some drivers will only provide the tail, which is aux_offset + aux_size in the AUX record. Consumer has to be able to tell the new data from the old one, for example, by means of time stamps if such are provided in the trace. Consumer is also responsible for disabling any events that might write to the AUX area (thus potentially racing with the consumer) before collecting the data. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-9-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fdc2670666f40ab3e03143f04d1ebf4a05e2c24a Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:16 2015 +0200 perf: Add API for PMUs to write to the AUX area For pmus that wish to write data to ring buffer's AUX area, provide perf_aux_output_{begin,end}() calls to initiate/commit data writes, similarly to perf_output_{begin,end}. These also use the same output handle structure. Also, similarly to software counterparts, these will direct inherited events' output to parents' ring buffers. After the perf_aux_output_begin() returns successfully, handle->size is set to the maximum amount of data that can be written wrt aux_tail pointer, so that no data that the user hasn't seen will be overwritten, therefore this should always be called before hardware writing is enabled. On success, this will return the pointer to pmu driver's private structure allocated for this aux area by pmu::setup_aux. Same pointer can also be retrieved using perf_get_aux() while hardware writing is enabled. PMU driver should pass the actual amount of data written as a parameter to perf_aux_output_end(). All hardware writes should be completed and visible before this one is called. Additionally, perf_aux_output_skip() will adjust output handle and aux_head in case some part of the buffer has to be skipped over to maintain hardware's alignment constraints. Nested writers are forbidden and guards are in place to catch such attempts. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-8-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 68db7e98c3a6ebe7284b6cf14906ed7c55f3f7f0 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:15 2015 +0200 perf: Add AUX record When there's new data in the AUX space, output a record indicating its offset and size and a set of flags, such as PERF_AUX_FLAG_TRUNCATED, to mean the described data was truncated to fit in the ring buffer. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-7-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bed5b25ad9c8a2f5d735ef0bc746ec870c01c1b0 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Fri Jan 30 12:31:06 2015 +0200 perf: Add a pmu capability for "exclusive" events Usually, pmus that do, for example, instruction tracing, would only ever be able to have one event per task per cpu (or per perf_event_context). For such pmus it makes sense to disallow creating conflicting events early on, so as to provide consistent behavior for the user. This patch adds a pmu capability that indicates such constraint on event creation. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1422613866-113186-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6a279230391b63130070e0219b0ad09d34d28c89 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:13 2015 +0200 perf: Add a capability for AUX_NO_SG pmus to do software double buffering For pmus that don't support scatter-gather for AUX data in hardware, it might still make sense to implement software double buffering to avoid losing data while the user is reading data out. For this purpose, add a pmu capability that guarantees multiple high-order chunks for AUX buffer, so that the pmu driver can do switchover tricks. To make use of this feature, add PERF_PMU_CAP_AUX_SW_DOUBLEBUF to your pmu's capability mask. This will make the ring buffer AUX allocation code ensure that the biggest high order allocation for the aux buffer pages is no bigger than half of the total requested buffer size, thus making sure that the buffer has at least two high order allocations. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-5-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a4e38e64f5e91ce131cc42ee5bb3925377ec840 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:12 2015 +0200 perf: Support high-order allocations for AUX space Some pmus (such as BTS or Intel PT without multiple-entry ToPA capability) don't support scatter-gather and will prefer larger contiguous areas for their output regions. This patch adds a new pmu capability to request higher order allocations. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-4-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 45bfb2e50471abbbfd83d40d28c986078b0d24ff Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jan 14 14:18:11 2015 +0200 perf: Add AUX area to ring buffer for raw data streams This patch introduces "AUX space" in the perf mmap buffer, intended for exporting high bandwidth data streams to userspace, such as instruction flow traces. AUX space is a ring buffer, defined by aux_{offset,size} fields in the user_page structure, and read/write pointers aux_{head,tail}, which abide by the same rules as data_* counterparts of the main perf buffer. In order to allocate/mmap AUX, userspace needs to set up aux_offset to such an offset that will be greater than data_offset+data_size and aux_size to be the desired buffer size. Both need to be page aligned. Then, same aux_offset and aux_size should be passed to mmap() call and if everything adds up, you should have an AUX buffer as a result. Pages that are mapped into this buffer also come out of user's mlock rlimit plus perf_event_mlock_kb allowance. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-3-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e8c6deac69629c0cb97c3d3272f8631ef17f8f0f Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:10 2015 +0200 perf: Add data_{offset,size} to user_page Currently, the actual perf ring buffer is one page into the mmap area, following the user page and the userspace follows this convention. This patch adds data_{offset,size} fields to user_page that can be used by userspace instead for locating perf data in the mmap area. This is also helpful when mapping existing or shared buffers if their size is not known in advance. Right now, it is made to follow the existing convention that data_offset == PAGE_SIZE and data_offset + data_size == mmap_size. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-2-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9ab674e23872f5c13fa0ccb531c6bc52741d23a Author: Auguste Olivry <auguste.olivry@xxxxxx> Date: Thu Apr 2 16:07:17 2015 +0200 staging: lustre: ping_test.c : remove space after function names remove space between function names and open parentheses as reported by checkpatch.pl. Signed-off-by: Auguste Olivry <auguste.olivry@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c420f19b9cdc59662dbb56677417487efc1729ec Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Mar 9 11:20:22 2015 -0700 perf/x86/intel: Fix Haswell CYCLE_ACTIVITY.* counter constraints Some of the CYCLE_ACTIVITY.* events can only be scheduled on counter 2. Due to a typo Haswell matched those with INTEL_EVENT_CONSTRAINT, which lead to the events never matching as the comparison does not expect anything in the umask too. Fix the typo. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425925222-32361-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 687805e4a60fe83a11556c041840161f8016a367 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Mar 27 10:38:25 2015 -0400 perf/x86/intel: Filter branches for PEBS event For supporting Intel LBR branches filtering, Intel LBR sharing logic mechanism is introduced from commit b36817e88630 ("perf/x86: Add Intel LBR sharing logic"). It modifies __intel_shared_reg_get_constraints() to config lbr_sel, which is finally used to set LBR_SELECT. However, the intel_shared_regs_constraints() function is called after intel_pebs_constraints(). The PEBS event will return immediately after intel_pebs_constraints(). So it's impossible to filter branches for PEBS events. This patch moves intel_shared_regs_constraints() ahead of intel_pebs_constraints(). We can safely do that because the intel_shared_regs_constraints() function only returns empty constraint if its rejecting the event, otherwise it returns NULL such that we continue calling intel_pebs_constraints() and x86_get_event_constraint(). Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1427467105-9260-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 612544fbde1b3cf60eb1c06ce1b6640c5d61bcdd Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:26 2015 +0200 MIPS: SEAD3: Combine all platform device registrations in one file. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 822aa3e22f6eace077b53b28176aaf001a92a61d Author: Luca Wehrstedt <luca.wehrstedt@xxxxxx> Date: Thu Apr 2 16:33:34 2015 +0200 Staging: lustre: lov_io.c: remove useless unary pluses Replace two occurrences of "+1" with simply "1". Signed-off-by: Luca Wehrstedt <luca.wehrstedt@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4a4e3f5a3e8bcd8aa778120d5f902b06a0e1019 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 27 20:43:38 2015 +0900 kbuild: ia64: use $(src)/Makefile.gate rather than particular path Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 5f655c7a4c9fcf7152b8a34e987d936f7b5255b8 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 27 20:43:37 2015 +0900 kbuild: include $(src)/Makefile rather than $(obj)/Makefile This commit actually has no impact because $(src) and $(obj) point to the same path, but $(src)/Makefile looks better when we include source files. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit a436bb7b806383ae0593cab53d17fc9676270cd3 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 27 20:43:36 2015 +0900 kbuild: use relative path more to include Makefile Prior to this commit, it was impossible to use relative path to include Makefiles from the top level Makefile because the option "--include-dir=$(srctree)" becomes effective when Make enters into sub Makefiles. To use relative path in any places, this commit moves the option above the "sub-make" target. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 7aacad53aeb57b7ff52399f56eb6d7d4010e72e9 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 27 20:43:35 2015 +0900 kbuild: use relative path to include Makefile The "MAKEFLAGS += --include-dir=$(srctree)" line in the top Makefile allows us to do this. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 21c784b93b0a19af4ae7bcce0d22120ba91970cf Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:37:00 2015 +0200 MIPS: SEAD3: Make static in sead3-ehci what can be made static. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8a58e1628ce4416490fb00e958b867fb5b9b1f90 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Mar 26 20:59:52 2015 +0900 kbuild: do not add $(bounds-file) and $(offsets-file) to targets $(always) is added to targets by scripts/Makefile.build. Moreover, filechk does not need .*.cmd files. Adding these two files to targets is redundant. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit e1abf2cc8d5d80b41c4419368ec743ccadbb131e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 15:51:39 2015 +0200 bpf: Fix the build on BPF_SYSCALL=y && !CONFIG_TRACING kernels, make it more configurable So bpf_tracing.o depends on CONFIG_BPF_SYSCALL - but that's not its only dependency, it also depends on the tracing infrastructure and on kprobes, without which it will fail to build with: In file included from kernel/trace/bpf_trace.c:14:0: kernel/trace/trace.h: In function â??trace_test_and_set_recursionâ??: kernel/trace/trace.h:491:28: error: â??struct task_structâ?? has no member named â??trace_recursionâ?? unsigned int val = current->trace_recursion; [...] It took quite some time to trigger this build failure, because right now BPF_SYSCALL is very obscure, depends on CONFIG_EXPERT. So also make BPF_SYSCALL more configurable, not just under CONFIG_EXPERT. If BPF_SYSCALL, tracing and kprobes are enabled then enable the bpf_tracing gateway as well. We might want to make this an interactive option later on, although I'd not complicate it unnecessarily: enabling BPF_SYSCALL is enough of an indicator that the user wants BPF support. Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6b09adcf6a96bbc1d7456b0a4da160fa737c6c2f Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:26:32 2015 +0200 MIPS: SEAD3: sead3-ehci should not be a module. So let's remove everythig that only make sense for a kernel module and build the thing unconditionally. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 85f215cf9b8a8888e1742bbfb00a29f609f28022 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:20:04 2015 +0200 MIPS: SEAD3: sead3-platform is not a module. So let's remove everything that only makes sense for kernel modules. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9d4b5b9e869677154bc5dd27f9cb57c8141deca5 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:19:29 2015 +0200 MIPS: SEAD3: sead3-net is not a module. So let's remove everything that only makes sense for kernel modules. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1b9441f8ec426223f6f54f2af10ee01c8b743e5b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:13 2015 +0300 Bluetooth: Convert local OOB data reading to use HCI request Now that there's a HCI request API available where the callback receives the resulting skb, we can convert the local OOB data reading to use this new API. This patch does the necessary update in mgmt.c (which also requires moving the callback higher up since it's now a static function) and removes the custom calls from hci_event.c that are no-longer necessary. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 757aa0b56da5d1089c55bf349fa15836dae22b6f Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:12 2015 +0300 Bluetooth: Move hci_get_cmd_complete() to hci_event.c To make the hci_req_run_skb() API consistent with hci_cmd_sync_ev() the callback should receive the cmd_complete parameters in the 'normal' case and the full HCI event if a special event was expected. This patch moves the hci_get_cmd_complete() function from hci_core.c to hci_event.c where it's used to strip the skb from the needed headers before passing it on to the callback. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit abe66a4d036933c7376b40b0d7bb5de0458331aa Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:11 2015 +0300 Bluetooth: Remove unused hci_req_pending() function The hci_req_pending() function has no users anymore, so simply remove it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f7d9e97592aeb7742084814c5f37e25571b2d51d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:10 2015 +0300 Bluetooth: Remove unneeded recv_event variable Now that the synchronous HCI requests use the new API and a new private variable the recv_evt member of hci_dev is no-longer needed. This patch removes it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f60cb30579d3401cab1ed36b42df5c0568ae0ba7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:09 2015 +0300 Bluetooth: Convert hci_req_sync family of function to new request API Now that there's an API in place that allows passing the resulting skb to the request callback we can conveniently convert the hci_req_sync and related functions to use it. Since we still need to get the skb from the async callback into the sleeping _sync() function the patch adds another req_skb variable to hci_dev where the sync request state is tracked. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e6214487492566b15ff24e97c6747bb2e5d9e040 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:08 2015 +0300 Bluetooth: Add second hci_request callback option for full skb This patch adds a second possible callback for HCI requests where the callback will receive the full skb of the last successfully completed HCI command. This API is useful for cases where we want to use a request to read some data and the existing hci_event.c handlers do not store it e.g. in the hci_dev struct. The reason the patch is a bit bigger than just adding the new API is because the hci_req_cmd_complete() functions required some refactoring to enable it: now hci_req_cmd_complete() is simply used to request the callback pointers if any, and the actual calling of them happens from a single place at the end of hci_event_packet(). The reason for this is that we need to pass the original skb (without any skb_pull, etc modifications done to it) and it's simplest to keep track of it within the hci_event_packet() function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 444c6dd54d81edf81c606f571cb52eff4d47fa99 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:07 2015 +0300 Bluetooth: Add clarifying comment to command status handling When dealing with HCI command status events, the reasoning for trying to mark a request as complete if no specific event is being waited for and status was success is not self-evident. This patch adds a clarifying comment above the if-statement. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 22e2e86560c5fca6f9b9d078f221fcdab9947a5e Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Mar 31 17:36:58 2015 +0200 drm/radeon: fix wait in radeon_mn_invalidate_range_start We need to wait for all fences, not just the exclusive one. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 863653fed0f449fb738295255cc834b271cfa088 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Mar 31 17:36:57 2015 +0200 drm/radeon: add extra check in radeon_ttm_tt_unpin_userptr We somehow try to free the SG table twice. Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=89734 Signed-off-by: Christian König <christian.koenig@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit adacb228d72b9529f8de0769cc33414c3012054d Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Tue Mar 17 13:24:58 2015 +0000 drm: Exynos: Respect framebuffer pitch for FIMD/Mixer When performing a modeset, use the framebuffer pitch value to set FIMD IMG_SIZE and Mixer SPAN registers. These are both defined as pitch - the distance between contiguous lines (bytes for FIMD, pixels for mixer). Fixes display on Snow (1366x768). Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b4bf2120d40b96552326a6606d5fb90e2ab04841 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Mar 25 17:08:13 2015 -0700 HID: wacom: Add support for Cintiq 13HD Touch Cintiq 13HD Touch is a new display tablet with pen and 10 finger touches. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 9188dbaed68a4b23dc96eba165265c08caa7dc2a Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Mar 26 12:41:57 2015 -0400 HID: logitech-hidpp: add a module parameter to keep firmware gestures The Logitech T650 used to report 3 fingers swipes to the up as a press on the Super key. When we switched the touchpad to the raw mode, we also disable such firmware gesture and some users may rely on it. Unfortunately, 3 finger swipes are still not supported in most of the Linux environments, which means that we disabled a feature of the touchpad. Allow users to revert the raw reporting mode and keep going with the firmware gestures by providing a new module parameter. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 43faadfe96d3f049f4ae2c4090d2e57b9aafb995 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Mon Mar 30 12:36:36 2015 +0200 HID: usbhid: yet another mouse with ALWAYS_POLL The device exists with two device IDs instead of one as previously believed. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 003e817a9ecf6cfded59630858bbf04056d71e9a Author: Oliver Neukum <oneukum@xxxxxxx> Date: Mon Mar 30 12:36:35 2015 +0200 HID: usbhid: more mice with ALWAYS_POLL During a stress test these mice kept dropping and reappearing in runlevel 1 as opposed to 5. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 345527b1edce8df719e0884500c76832a18211c3 Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 14:59:19 2015 +0530 clockevents: Fix cpu_down() race for hrtimer based broadcasting It was found when doing a hotplug stress test on POWER, that the machine either hit softlockups or rcu_sched stall warnings. The issue was traced to commit: 7cba160ad789 ("powernv/cpuidle: Redesign idle states management") which exposed the cpu_down() race with hrtimer based broadcast mode: 5d1638acb9f6 ("tick: Introduce hrtimer based broadcast") The race is the following: Assume CPU1 is the CPU which holds the hrtimer broadcasting duty before it is taken down. CPU0 CPU1 cpu_down() take_cpu_down() disable_interrupts() cpu_die() while (CPU1 != CPU_DEAD) { msleep(100); switch_to_idle(); stop_cpu_timer(); schedule_broadcast(); } tick_cleanup_cpu_dead() take_over_broadcast() So after CPU1 disabled interrupts it cannot handle the broadcast hrtimer anymore, so CPU0 will be stuck forever. Fix this by explicitly taking over broadcast duty before cpu_die(). This is a temporary workaround. What we really want is a callback in the clockevent device which allows us to do that from the dying CPU by pushing the hrtimer onto a different cpu. That might involve an IPI and is definitely more complex than this immediate fix. Changelog was picked up from: https://lkml.org/lkml/2015/2/16/213 Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Preeti U. Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: peterz@xxxxxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Fixes: http://linuxppc.10917.n7.nabble.com/offlining-cpus-breakage-td88619.html Link: http://lkml.kernel.org/r/20150330092410.24979.59887.stgit@xxxxxxxxxxxxxxxxx [ Merged it to the latest timer tree, renamed the callback, tidied up the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0149931e6d2fa995fbcee590bb6cf9007a8839fc Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Fri Mar 20 14:58:01 2015 -0700 HID: wacom: set stylus_in_proximity before checking touch_down In wacom_bpt_pen, we checked touch_down before assigning new stylus_in_proximity value. This would cause stylus_in_proximity not updated properly if touch is down before pen is in proximity. [jkosina@xxxxxxx: fix if-else style] Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7d059ed01ca18d20e0a94ef785ee81a45c19d78c Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Fri Mar 20 14:57:21 2015 -0700 HID: wacom: use wacom_wac_finger_count_touches to set touch_down Counting number of touching fingers by wacom_wac_finger_count_touches so we don't have to count them inside individual routines. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f3586d2f819af6dbe5b08d2a6f1d22b1a97e2b64 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Fri Mar 20 14:57:00 2015 -0700 HID: wacom: remove hardcoded WACOM_QUIRK_MULTI_INPUT The quirk was added for devices that support both pen and touch. It decides if a device supports multiple inputs by hardcoded feature type. However, for some devices, we do not know if they support both before accessing their HID descriptors. This patch relies on dynamically assigned device_type to make the decision. Also, we make it certain that wacom_wac->shared is always created. That is, the driver will not be loaded if it fails to create wacom_wac->shared. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1fd29be5cede285e673d3ed73d9ed9db59536b33 Merge: 5fcad16 b70b825 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Thu Apr 2 14:09:09 2015 +0200 Merge branch 'for-4.0/upstream-fixes' into for-4.1/wacom Conflicts: drivers/hid/wacom_wac.c Need to fetch the 4.0 fixes to apply 4.1 patches based on top of those. Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e754dfcfe37f49c9249152e2e98e58887a4d87c8 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Apr 2 12:30:24 2015 +0200 MIPS: BCM47xx: Move filling most of SPROM to the generic function This simplifies code a lot by dropping many per-revision-group functions. There are still some paths left that use uncommon NVRAM read helpers or fill arrays. They will need to be handled in separated patch. I've tested this (by printing SPROM content) for regressions on: 1) BCM4704 (SPROM revision 2) 2) BCM4706 (SPROM revision 8 plus 11 & 9 on extra WiFi cards) The only difference is not reading board_type from SPROM rev 11 which is unsupported and treated as rev 1. This change for rev 1 is expected. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: Jonas Gorski <jonas.gorski@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9660/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4879785ed511083676f27a016c9ad6c46c8e5737 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Fri Feb 13 04:42:37 2015 -0300 [media] vb2: Fix dma_dir setting for dma-contig mem type The last argument of vb2_dc_get_user_pages() is of type enum dma_data_direction, but the caller, vb2_dc_get_userptr() passes a value which is the result of comparison dma_dir == DMA_FROM_DEVICE. This results in the write parameter to get_user_pages() being zero in all cases, i.e. that the caller has no intent to write there. This was broken by patch "vb2: replace 'write' by 'dma_dir'". Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # for v3.19 Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d55a52ccf8f80cdf51af2c5c6e56c825f98c4f85 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Apr 2 09:13:49 2015 +0200 MIPS: BCM47xx: Add generic function filling SPROM entries Handling many SPROM revisions became messy, we have tons of functions specific to various revision groups which are quite hard to track. For years there is yet another revision 11 asking for support, but adding it in current the form would make things even worse. To resolve this problem let's add new function with table-like entries that will contain revision bitmask for every SPROM variable. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: Jonas Gorski <jonas.gorski@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9659/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7ae7ef3ffdd62454a1c0e6b69ebc7a14b523f0cc Author: Wu Zhangjin <wuzhangjin@xxxxxxxxx> Date: Sat Dec 25 23:11:49 2010 +0800 MIPS: Reduce kernel image size for !CONFIG_DEBUG_ZBOOT !CONFIG_DEBUG_ZBOOT doesn't need puts() and puthex(), remove them and the corrospindig strings for !CONFIG_DEBUG_ZBOOT, as a result, it saves about 1280 bytes. [ralf@xxxxxxxxxxxxxx: Resolved reject.] Signed-off-by: Wu Zhangjin <wuzhangjin@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Wu Zhangjin <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/1898/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 160f14312b0b7d35759535b1f60be79247b263c4 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 18:18:02 2015 +0200 MIPS: BCM47xx: Devices database update for 4.1 (or 4.2?) Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9656/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7515c6f1da334184c3ece06e6f61461086d8e2b1 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 18:18:01 2015 +0200 MIPS: BCM47xx: Keep ID entries for non-standard devices together Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9655/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5db7ccdc9f685fd742cc32efe58aa0c036f380b9 Author: Daniel Walter <dwalter@xxxxxxxxxx> Date: Tue Jun 24 16:39:59 2014 +0100 MIPS: AR7: Replace mac address parsing Replace sscanf() with mac_pton(). [ralf@xxxxxxxxxxxxxx: Resolved conflict.] Signed-off-by: Daniel Walter <dwalter@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7151/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1f8d271385d542796ab7917692908beef10acdc9 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 1 17:48:23 2015 +0100 MIPS: Lasat: Remove unused function from sysctl code. Remove the function proc_dolasatint() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8868/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 40d12172c8a5c2f3fc39642fc564b053575cd000 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 08:23:05 2015 +0200 MIPS: BCM47XX: Don't try guessing NVRAM size on MTD partition When dealing with whole flash content (bcm47xx_nvram_init_from_mem) we need to find NVRAM start trying various partition sizes (nvram_sizes). This is not needed when using MTD as we have direct partition access. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9652/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6ab7c29099390b3d23c97f14498fd26a5ef6b22b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 08:23:04 2015 +0200 MIPS: BCM47XX: Increase NVRAM buffer size to 64 KiB For years Broadcom devices use 64 KiB NVRAM partition size and some of them indeed have it filled in more than 50%. This change allows reading whole NVRAM e.g. on Netgear WNDR4500 and Netgear R8000. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9651/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 50c979109c484c07358a1ac75b99df36d563c132 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 08:23:03 2015 +0200 MIPS: BCM47XX: Include io.h directly and fix brace indent We use IO functions like readl & ioremap_nocache, so include linux/io.h Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9650/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e2e7f29af84aa59dd8191b9f6fee80aafa4e06cd Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Date: Sun Nov 16 01:02:29 2014 +0000 MIPS: c-r4k.c: Fix the 74K D-cache alias erratum workaround Fix the 74K D-cache alias erratum workaround so that it actually works. Our current code sets MIPS_CACHE_VTAG for the D-cache, but that flag only has any effect for the I-cache. Additionally MIPS_CACHE_PINDEX is set for the D-cache if CP0.Config7.AR is also set for an affected processor, leading to confusing information in the bootstrap log (the flag isn't used beyond that). So delete the setting of MIPS_CACHE_VTAG and rely on MIPS_CACHE_ALIASES, set in a common place, removing I-cache coherency issues seen in GDB testing with software breakpoints, gdbserver and ptrace(2), on affected systems. While at it add a little piece of explanation of what CP0.Config6.SYND is so that people do not have to chase documentation. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8507/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 12a8471de9e8dc3c867e15bbf4a37152d2f690b8 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Feb 11 13:27:19 2015 -0800 MIPS: Remove prototype for copy_user_page MIPS architecture code does not provide copy_user_page, so it should not provide a prototype for it either. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9266/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7f65ef01e131650d455875598099cd06fea6096b Merge: 509fca8 2f119c7 d4b0366 b61e2e6 804cb54 89be34a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Apr 2 13:33:19 2015 +0200 Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'arm/smmu', 'arm/tegra' and 'core' into next Conflicts: drivers/iommu/amd_iommu.c drivers/iommu/tegra-gart.c drivers/iommu/tegra-smmu.c commit d4b036648402bb4ef6d4a0df51375a2fb705b6cc Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:52 2015 +0200 iommu/amd: Correctly encode huge pages in iommu page tables When a default page-size for given level should be mapped, the level encoding must be 0 rather than 7. This fixes an issue seen on IOMMUv2 hardware, where this encoding is enforced. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit b24b1b63a37d05d61601d643ef30f95dd2452048 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:51 2015 +0200 iommu/amd: Optimize amd_iommu_iova_to_phys for new fetch_pte interface Now that fetch_pte returns the page-size of the pte, this function can be optimized too. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5d7c94c3f4f20964b217d64ee44a9a08320c315a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:50 2015 +0200 iommu/amd: Optimize alloc_new_range for new fetch_pte interface Now that fetch_pte returns the page-size of the pte, the call in this function can also be optimized a little bit. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 71b390e9bec5121d25c45326ff0b0b96a143f9a8 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:49 2015 +0200 iommu/amd: Optimize iommu_unmap_page for new fetch_pte interface Now that fetch_pte returns the page-size of the pte, this function can be optimized a lot. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 3039ca1b1c37e61cc9239dbb3903db55141ecabd Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:48 2015 +0200 iommu/amd: Return the pte page-size in fetch_pte Extend the fetch_pte function to also return the page-size that is mapped by the returned pte. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 3b839a57998515bb44c091bbcb8ea0da9d2adef4 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:47 2015 +0200 iommu/amd: Add support for contiguous dma allocator Add code to allocate memory from the contiguous memory allocator to support coherent allocations larger than 8MB. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5fc872c7323534e8f7dc21bab635e7a9b9659e07 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:46 2015 +0200 iommu/amd: Don't allocate with __GFP_ZERO in alloc_coherent Don't explicitly add __GFP_ZERO to the allocator flags. Leave this up to the caller. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7139a2e929b9e3ca8d5c217cb8aec560be1faf00 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:45 2015 +0200 iommu/amd: Ignore BUS_NOTIFY_UNBOUND_DRIVER event Detaching a device from its domain at this event is problematic for several reasons: * The device might me in an alias group and detaching it will also detach all other devices in the group. This removes valid DMA mappings from the other devices causing io-page-faults and lets these devices fail. * Devices might have unity mappings specified by the IVRS table. These mappings are required for the device even when no device driver is attached. Detaching the device from its domain in driver unbind will also remove these unity mappings. This patch removes the handling of the BUS_NOTIFY_UNBOUND_DRIVER event to prevent these issues and align it better with the behavior of the VT-d driver. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 6c5cc8015793cdfd56d9997bcfddf2740ff716c5 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:44 2015 +0200 iommu/amd: Use BUS_NOTIFY_REMOVED_DEVICE Use the new device-notifier event instead of the old BUS_NOTIFY_DEL_DEVICE to make sure the device driver had a chance to uninit the device before all its mappings are teared down. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 9811e35359d4b18baf5bb603b225e957255b9c46 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:26 2015 -0700 samples/bpf: Add kmem_alloc()/free() tracker tool One BPF program attaches to kmem_cache_alloc_node() and remembers all allocated objects in the map. Another program attaches to kmem_cache_free() and deletes corresponding object from the map. User space walks the map every second and prints any objects which are older than 1 second. Usage: $ sudo tracex4 Then start few long living processes. The 'tracex4' will print something like this: obj 0xffff880465928000 is 13sec old was allocated at ip ffffffff8105dc32 obj 0xffff88043181c280 is 13sec old was allocated at ip ffffffff8105dc32 obj 0xffff880465848000 is 8sec old was allocated at ip ffffffff8105dc32 obj 0xffff8804338bc280 is 15sec old was allocated at ip ffffffff8105dc32 $ addr2line -fispe vmlinux ffffffff8105dc32 do_fork at fork.c:1665 As soon as processes exit the memory is reclaimed and 'tracex4' prints nothing. Similar experiment can be done with the __kmalloc()/kfree() pair. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-10-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5c7fc2d27d004f28f3a94b35edd40e68f779e35a Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:25 2015 -0700 samples/bpf: Add IO latency analysis (iosnoop/heatmap) tool BPF C program attaches to blk_mq_start_request()/blk_update_request() kprobe events to calculate IO latency. For every completed block IO event it computes the time delta in nsec and records in a histogram map: map[log10(delta)*10]++ User space reads this histogram map every 2 seconds and prints it as a 'heatmap' using gray shades of text terminal. Black spaces have many events and white spaces have very few events. Left most space is the smallest latency, right most space is the largest latency in the range. Usage: $ sudo ./tracex3 and do 'sudo dd if=/dev/sda of=/dev/null' in other terminal. Observe IO latencies and how different activity (like 'make kernel') affects it. Similar experiments can be done for network transmit latencies, syscalls, etc. '-t' flag prints the heatmap using normal ascii characters: $ sudo ./tracex3 -t heatmap of IO latency # - many events with this latency - few events |1us |10us |100us |1ms |10ms |100ms |1s |10s *ooo. *O.#. # 221 . *# . # 125 .. .o#*.. # 55 . . . . .#O # 37 .# # 175 .#*. # 37 # # 199 . . *#*. # 55 *#..* # 42 # # 266 ...***Oo#*OO**o#* . # 629 # # 271 . .#o* o.*o* # 221 . . o* *#O.. # 50 Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-9-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d822a192684912c80950d28a0b7adc96261e957c Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:24 2015 -0700 samples/bpf: Add counting example for kfree_skb() function calls and the write() syscall this example has two probes in one C file that attach to different kprove events and use two different maps. 1st probe is x64 specific equivalent of dropmon. It attaches to kfree_skb, retrevies 'ip' address of kfree_skb() caller and counts number of packet drops at that 'ip' address. User space prints 'location - count' map every second. 2nd probe attaches to kprobe:sys_write and computes a histogram of different write sizes Usage: $ sudo tracex2 location 0xffffffff81695995 count 1 location 0xffffffff816d0da9 count 2 location 0xffffffff81695995 count 2 location 0xffffffff816d0da9 count 2 location 0xffffffff81695995 count 3 location 0xffffffff816d0da9 count 2 557145+0 records in 557145+0 records out 285258240 bytes (285 MB) copied, 1.02379 s, 279 MB/s syscall write() stats byte_size : count distribution 1 -> 1 : 3 | | 2 -> 3 : 0 | | 4 -> 7 : 0 | | 8 -> 15 : 0 | | 16 -> 31 : 2 | | 32 -> 63 : 3 | | 64 -> 127 : 1 | | 128 -> 255 : 1 | | 256 -> 511 : 0 | | 512 -> 1023 : 1118968 |************************************* | Ctrl-C at any time. Kernel will auto cleanup maps and programs $ addr2line -ape ./bld_x64/vmlinux 0xffffffff81695995 0xffffffff816d0da9 0xffffffff81695995: ./bld_x64/../net/ipv4/icmp.c:1038 0xffffffff816d0da9: ./bld_x64/../net/unix/af_unix.c:1231 Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-8-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b896c4f95ab4052d6bad3acde95167d30242a84f Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:23 2015 -0700 samples/bpf: Add simple non-portable kprobe filter example tracex1_kern.c - C program compiled into BPF. It attaches to kprobe:netif_receive_skb() When skb->dev->name == "lo", it prints sample debug message into trace_pipe via bpf_trace_printk() helper function. tracex1_user.c - corresponding user space component that: - loads BPF program via bpf() syscall - opens kprobes:netif_receive_skb event via perf_event_open() syscall - attaches the program to event via ioctl(event_fd, PERF_EVENT_IOC_SET_BPF, prog_fd); - prints from trace_pipe Note, this BPF program is non-portable. It must be recompiled with current kernel headers. kprobe is not a stable ABI and BPF+kprobe scripts may no longer be meaningful when kernel internals change. No matter in what way the kernel changes, neither the kprobe, nor the BPF program can ever crash or corrupt the kernel, assuming the kprobes, perf and BPF subsystem has no bugs. The verifier will detect that the program is using bpf_trace_printk() and the kernel will print 'this is a DEBUG kernel' warning banner, which means that bpf_trace_printk() should be used for debugging of the BPF program only. Usage: $ sudo tracex1 ping-19826 [000] d.s2 63103.382648: : skb ffff880466b1ca00 len 84 ping-19826 [000] d.s2 63103.382684: : skb ffff880466b1d300 len 84 ping-19826 [000] d.s2 63104.382533: : skb ffff880466b1ca00 len 84 ping-19826 [000] d.s2 63104.382594: : skb ffff880466b1d300 len 84 Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-7-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9c959c863f8217a2ff3d7c296e8223654d240569 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:22 2015 -0700 tracing: Allow BPF programs to call bpf_trace_printk() Debugging of BPF programs needs some form of printk from the program, so let programs call limited trace_printk() with %d %u %x %p modifiers only. Similar to kernel modules, during program load verifier checks whether program is calling bpf_trace_printk() and if so, kernel allocates trace_printk buffers and emits big 'this is debug only' banner. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-6-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d9847d310ab4003725e6ed1822682e24bd406908 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:21 2015 -0700 tracing: Allow BPF programs to call bpf_ktime_get_ns() bpf_ktime_get_ns() is used by programs to compute time delta between events or as a timestamp Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-5-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2541517c32be2531e0da59dfd7efc1ce844644f5 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:20 2015 -0700 tracing, perf: Implement BPF programs attached to kprobes BPF programs, attached to kprobes, provide a safe way to execute user-defined BPF byte-code programs without being able to crash or hang the kernel in any way. The BPF engine makes sure that such programs have a finite execution time and that they cannot break out of their sandbox. The user interface is to attach to a kprobe via the perf syscall: struct perf_event_attr attr = { .type = PERF_TYPE_TRACEPOINT, .config = event_id, ... }; event_fd = perf_event_open(&attr,...); ioctl(event_fd, PERF_EVENT_IOC_SET_BPF, prog_fd); 'prog_fd' is a file descriptor associated with BPF program previously loaded. 'event_id' is an ID of the kprobe created. Closing 'event_fd': close(event_fd); ... automatically detaches BPF program from it. BPF programs can call in-kernel helper functions to: - lookup/update/delete elements in maps - probe_read - wraper of probe_kernel_read() used to access any kernel data structures BPF programs receive 'struct pt_regs *' as an input ('struct pt_regs' is architecture dependent) and return 0 to ignore the event and 1 to store kprobe event into the ring buffer. Note, kprobes are a fundamentally _not_ a stable kernel ABI, so BPF programs attached to kprobes must be recompiled for every kernel version and user must supply correct LINUX_VERSION_CODE in attr.kern_version during bpf_prog_load() call. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-4-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 72cbbc8994242b5b43753738c01bf07bf29cb70d Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:19 2015 -0700 tracing: Add kprobe flag add TRACE_EVENT_FL_KPROBE flag to differentiate kprobe type of tracepoints, since bpf programs can only be attached to kprobe type of PERF_TYPE_TRACEPOINT perf events. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-3-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4e537f7fbdce5e8ae7c33ebaa8a1956c7727d5a7 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Mar 25 12:49:18 2015 -0700 bpf: Make internal bpf API independent of CONFIG_BPF_SYSCALL #ifdefs Socket filter code and other subsystems with upcoming eBPF support should not need to deal with the fact that we have CONFIG_BPF_SYSCALL defined or not. Having the bpf syscall as a config option is a nice thing and I'd expect it to stay that way for expert users (I presume one day the default setting of it might change, though), but code making use of it should not care if it's actually enabled or not. Instead, hide this via header files and let the rest deal with it. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-2-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 223aa646d5aa6096230a9481e4c6c9cb67cfc4a6 Merge: aaa9fa3 34f4392 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 13:22:35 2015 +0200 Merge branch 'perf/timer' into perf/core This WIP branch is now ready to be merged. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a6fcb6d4804b51ffcae7881c7f99483f4981ddf1 Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:15:36 2015 +0100 x86/intel/quark: Run IMR self-test on IMR capble hw only Automated testing with LKP shows IMR self test code running and printing error messages on QEMU hardware lacking IMR support. Update IMR self-test code to run only when IMR hardware should be present. Tested on Quark X1000 and QEMU. Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Acked-by: Ong Boon Leong <boon.leong.ong@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: andriy.shevchenko@xxxxxxxxx Cc: dvhart@xxxxxxxxxxxxxxx Cc: huang.ying.caritas@xxxxxxxxx Cc: ying.huang@xxxxxxxxx Link: http://lkml.kernel.org/r/1427800536-32339-1-git-send-email-pure.logic@xxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 453dcdb5ba048011d823cd31710f78ce2fd57da3 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Apr 2 16:11:35 2015 +0530 dmaengine: fsl_raid: statify fsl_re_chan_probe Function fsl_re_chan_probe should be declared static, so do it Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ad80da658bbcaaac1d3617ea6cb0f4d5e16da422 Author: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx> Date: Tue Mar 3 14:26:22 2015 +0800 dmaengine: Driver support for FSL RaidEngine device. The RaidEngine is a new FSL hardware used for Raid5/6 acceration. This patch enables the RaidEngine functionality and provides hardware offloading capability for memcpy, xor and pq computation. It works with async_tx. Signed-off-by: Harninder Rai <harninder.rai@xxxxxxxxxxxxx> Signed-off-by: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a3f92e8ebe1547705dfda9c04bacb31417510692 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Apr 2 17:50:56 2015 +0800 dmaengine: xgene_dma_init_ring_mngr() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9eed56e889d8a0bb7870e1216d8d4326dd63ec50 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 11:26:23 2015 +0200 clockevents: Clean up clockchips.h Do various cleanups on the clockchips.h file: - indent preprocessor blocks to make it more clear which block we are in, this also makes merge resolution easier - comment larger preprocessor blocks consistently, using the: #if FOO ... #else /* !FOO: */ ... #endif /* !FOO */ notation. - unbreak lines - etc. No change in functionality. Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3f85483bd80ef1de8cbbf0361be59f6a069b59d4 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Wed Apr 1 10:12:14 2015 -0400 x86/cpu: Factor out common CPU initialization code, fix 32-bit Xen PV guests Some of x86 bare-metal and Xen CPU initialization code is common between the two and therefore can be factored out to avoid code duplication. As a side effect, doing so will also extend the fix provided by commit a7fcf28d431e ("x86/asm/entry: Replace this_cpu_sp0() with current_top_of_stack() to x86_32") to 32-bit Xen PV guests. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: konrad.wilk@xxxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427897534-5086-1-git-send-email-boris.ostrovsky@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 40e4f2d177f748a83e7639554ea7d11568a9fa1f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Apr 1 16:50:58 2015 +0200 x86/asm/boot/64: Use __BOOT_TSS instead of literal $0x20 __BOOT_TSS = (GDT_ENTRY_BOOT_TSS * 8) GDT_ENTRY_BOOT_TSS = (GDT_ENTRY_BOOT_CS + 2) GDT_ENTRY_BOOT_CS = 2 (2 + 2) * 8 = 4 * 8 = 32 = 0x20 No code changes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427899858-7165-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0784b36448a2a85b95b6eb21a69b9045c896c065 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Apr 1 16:50:57 2015 +0200 x86/asm/entry/64: Fold the 'test_in_nmi' macro into its only user No code changes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427899858-7165-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f59df35fc28167886a0caf9f15db2f4a1f5932da Author: Steffen Liebergeld <steffen.liebergeld@xxxxxxxxxxxxxxx> Date: Thu Apr 2 11:01:59 2015 +0200 kgdb/x86: Fix reporting of 'si' in kgdb on x86_64 This patch fixes an error in kgdb for x86_64 which would report the value of dx when asked to give the value of si. Signed-off-by: Steffen Liebergeld <steffen.liebergeld@xxxxxxxxxxxxxxx> Cc: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3ae7a939165c6159afb3c09e1d7405b6d1807f2b Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 11:26:06 2015 +0200 tick: Further simplify tick-internal.h Move the broadcasting related section to the GENERIC_CLOCKEVENTS=y section - this also solves build failures on architectures that don't use generic clockevents yet. Also standardize include file style to make it easier to read, and use nesting depth aware preprocessor directives to make future merges easier. Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7ea24169097d3d3a3eab2dcc5773bc43fd5593e7 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Apr 1 14:26:34 2015 -0700 x86/asm/entry/64: Disable opportunistic SYSRET if regs->flags has TF set When I wrote the opportunistic SYSRET code, I missed an important difference between SYSRET and IRET. Both instructions are capable of setting EFLAGS.TF, but they behave differently when doing so: - IRET will not issue a #DB trap after execution when it sets TF. This is critical -- otherwise you'd never be able to make forward progress when returning to userspace. - SYSRET, on the other hand, will trap with #DB immediately after returning to CPL3, and the next instruction will never execute. This breaks anything that opportunistically SYSRETs to a user context with TF set. For example, running this code with TF set and a SIGTRAP handler loaded never gets past 'post_nop': extern unsigned char post_nop[]; asm volatile ("pushfq\n\t" "popq %%r11\n\t" "nop\n\t" "post_nop:" : : "c" (post_nop) : "r11"); In my defense, I can't find this documented in the AMD or Intel manual. Fix it by using IRET to restore TF. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 2a23c6b8a9c4 ("x86_64, entry: Use sysret to return to userspace when possible") Link: http://lkml.kernel.org/r/9472f1ca4c19a38ecda45bba9c91b7168135fcfa.1427923514.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e1e2f6e4c5759aab3a8cfb1a0c19017ea770dfd2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Jan 9 19:34:43 2015 +0100 ARM: 8276/1: Make CPU_DCACHE_DISABLE depend on !SMP Enabling CPU_DCACHE_DISABLE on a SMP capable system will prevent the kernel from booting because of the following ldrex instruction in arch_spin_lock: (gdb) x/10i $pc => 0xc053cfa8 <_raw_spin_lock+4>: ldrex r3, [r0] 0xc053cfac <_raw_spin_lock+8>: add r2, r3, #65536 ; 0x10000 which is taken by the very first printk call: at /home/fainelli/work/linux/arch/arm/include/asm/spinlock.h:65 fmt=0xc0637650 " 01 66Booting Linux on physical CPU 0x%xn", args=<incomplete type>) at kernel/printk/printk.c:1525 fmt=0xc05370f4 <printk+52> " 24320215342 04340235344 20320215342 36377/341 17") at kernel/printk/printk.c:1688 ldrex requires exclusive monitor(s) (local or global) which are no longer working when the Data cache is disabled in CP15 and will just hang the CPU there. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 38e42f121601fc0640c032871a38efa5a59cff68 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Thu Mar 26 08:58:31 2015 +0100 ARM: 8335/1: Documentation: DT bindings: Tegra AHB: document the legacy base address Documentation: DT bindings: Tegra AHB: require the legacy base address for existing chips Per Stephen Warren, note in the Tegra AHB DT binding documentation that we specifically deprecate any attempt to use the IP block's actual hardware base address, and advocate the use of the legacy "off-by-four" address in the 'regs' property, for Tegra chips with existing upstream Linux DT files that include a Tegra AHB node. This patch updates the documentation accordingly. Changing the existing kernel DT data isn't under consideration because Linux kernel DT data policy is to preserve compatibility between newer DT data files and older kernels. However, this additional step of changing the documentation should discourage others from sending kernel patches to try to change the legacy kernel DT data. Furthermore, for out-of-tree software (such as bootloaders or other operating systems) that may rely on Linux kernel DT binding documentation as an ABI (but not the Linux kernel DT data itself), such a change may allow future convergence with the Linux kernel DT data without additional code changes. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ce7a10b0ff3db63a43d2d7885aa0f43dc8c96419 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Thu Mar 26 08:56:35 2015 +0100 ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address amba: tegra-ahb: detect and correct bogus base address From a hardware SoC integration point of view, the starting address of this IP block in the existing Tegra SoC DT files is off by 4 bytes from the actual base address. Since we attempt to make old DT files forward-compatible with newer kernels, we cannot fix the IP block base address in old DT data. This patch works around the problem by detecting the four byte base address offset in the driver code, and correcting it if it's detected. (In general, IP block base addresses almost always have a null low byte.) Future SoC DT data for Tegra AHB should use the correct Tegra AHB base address, in cases where there is no DT data backward compatibility requirement. This patch is a revision of the patch originally titled "amba: tegra-ahb: use correct base address for future chip support". This revision implements changes requested by Russell King: http://marc.info/?l=linux-tegra&m=142658851825062&w=2 http://marc.info/?l=linux-tegra&m=142658873925178&w=2 Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Hiroshi DOYU <hdoyu@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 049e4b3f801778569c619324a36b4518d955dba4 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Thu Mar 26 08:53:57 2015 +0100 ARM: 8333/1: amba: tegra-ahb: fix register offsets in the macros amba: tegra-ahb: fix register offsets in the macros From a hardware SoC integration point of view, the offsets of the Tegra AHB registers that are currently defined in tegra-ahb.c macros are all off by four bytes. Similarly, the starting address of this IP block in our existing DT files is also off by four bytes. Since we attempt to make old DT files forward-compatible with newer kernels, we cannot fix the IP block base address in old DT data. However, we can fix the offsets in the driver so that they are correct with respect to the hardware, which is what this patch does. And a subsequent patch will allow the offset to be removed for DT 'compatible' strings used in future DT files for newer Tegra chips that the kernel does not yet support. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Hiroshi DOYU <hdoyu@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c14e2591bf54c45c9f80cf728fb90976c4e10384 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:40:37 2015 +0200 ASoC: atmel-pcm-dma: increase buffer_bytes_max atmel-pcm-dma is not limited to a buffer size of 64kB like atmel-pcm-pdc. Increase buffer_bytes_max to 512kB to allow for higher bit rates (i.e. 32bps at 192kHz) to work correctly. By default, keep the prealloc at 64kB. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7c07005eea967db09163491d39bd0c1cda485c21 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Wed Apr 1 13:37:11 2015 +0100 ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL Several interrupt controllers support both edge and level interrupts, so it's useful to provide that information in /proc/interrupts. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit fee3fd4fd2ad136b26226346c3f8b446cc120bf5 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Wed Apr 1 13:36:57 2015 +0100 ARM: 8338/1: kexec: Relax SMP validation to improve DT compatibility When trying to kexec into a new kernel on a platform where multiple CPU cores are present, but no SMP bringup code is available yet, the kexec_load system call fails with: kexec_load failed: Invalid argument The SMP test added to machine_kexec_prepare() in commit 2103f6cba61a8b8b ("ARM: 7807/1: kexec: validate CPU hotplug support") wants to prohibit kexec on SMP platforms where it cannot disable secondary CPUs. However, this test is too strict: if the secondary CPUs couldn't be enabled in the first place, there's no need to disable them later at kexec time. Hence skip the test in the absence of SMP bringup code. This allows to add all CPU cores to the DTS from the beginning, without having to implement SMP bringup first, improving DT compatibility. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 81f8a7be6642b4c26ab681b2e0f4c4120a6de1b0 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Apr 1 17:26:23 2015 +0200 mmc: Add support for marking hpi as broken through devicetree The eMMC on a tablet I've will stop working / communicating as soon as the kernel executes: mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HPI_MGMT, 1, card->ext_csd.generic_cmd6_time); There seems to be no way to reliable identify eMMC-s which have a broken hpi implementation, but at least for eMMC's which are soldered onto a board we can work around this by specifying that hpi is broken in devicetree. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 49f28aa6b0d0735dbe5f04263c49a199ed0c5bb7 Author: Tomasz Figa <tfiga@xxxxxxxxxxxx> Date: Wed Apr 1 07:26:33 2015 +0100 ARM: 8337/1: mm: Do not invoke OOM for higher order IOMMU DMA allocations IOMMU should be able to use single pages as well as bigger blocks, so if higher order allocations fail, we should not affect state of the system, with events such as OOM killer, but rather fall back to order 0 allocations. This patch changes the behavior of ARM IOMMU DMA allocator to use __GFP_NORETRY, which bypasses OOM invocation, for orders higher than zero and, only if that fails, fall back to normal order 0 allocation which might invoke OOM killer. Signed-off-by: Tomasz Figa <tfiga@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 045ab94e10ee17038066d71abc8fdce719ab56f9 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Apr 1 17:02:45 2015 +0100 ARM: move reboot code to arch/arm/kernel/reboot.c Move shutdown and reboot related code to a separate file, out of process.c. This helps to avoid polluting process.c with non-process related code. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 767bf7e7a1e82a81c59778348d156993d0a6175d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Apr 1 16:20:39 2015 +0100 ARM: fix broken hibernation Normally, when a CPU wants to clear a cache line to zero in the external L2 cache, it would generate bus cycles to write each word as it would do with any other data access. However, a Cortex A9 connected to a L2C-310 has a specific feature where the CPU can detect this operation, and signal that it wants to zero an entire cache line. This feature, known as Full Line of Zeros (FLZ), involves a non-standard AXI signalling mechanism which only the L2C-310 can properly interpret. There are separate enable bits in both the L2C-310 and the Cortex A9 - the L2C-310 needs to be enabled and have the FLZ enable bit set in the auxiliary control register before the Cortex A9 has this feature enabled. Unfortunately, the suspend code was not respecting this - it's not obvious from the code: swsusp_arch_suspend() cpu_suspend() /* saves the Cortex A9 auxiliary control register */ arch_save_image() soft_restart() /* turns off FLZ in Cortex A9, and disables L2C */ cpu_resume() /* restores the Cortex A9 registers, inc auxcr */ At this point, we end up with the L2C disabled, but the Cortex A9 with FLZ enabled - which means any memset() or zeroing of a full cache line will fail to take effect. A similar issue exists in the resume path, but it's slightly more complex: swsusp_arch_suspend() cpu_suspend() /* saves the Cortex A9 auxiliary control register */ arch_save_image() /* image with A9 auxcr saved */ ... swsusp_arch_resume() call_with_stack() arch_restore_image() /* restores image with A9 auxcr saved above */ soft_restart() /* turns off FLZ in Cortex A9, and disables L2C */ cpu_resume() /* restores the Cortex A9 registers, inc auxcr */ Again, here we end up with the L2C disabled, but Cortex A9 FLZ enabled. There's no need to turn off the L2C in either of these two paths; there are benefits from not doing so - for example, the page copies will be faster with the L2C enabled. Hence, fix this by providing a variant of soft_restart() which can be used without turning the L2 cache controller off, and use it in both of these paths to keep the L2C enabled across the respective resume transitions. Fixes: 8ef418c7178f ("ARM: l2c: trial at enabling some Cortex-A9 optimisations") Reported-by: Sean Cross <xobs@xxxxxxxxxx> Tested-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0b67c43ce36a9964f1d5e3f973ee19eefd3f9f8f Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Apr 1 22:36:27 2015 +0200 netfilter: bridge: really save frag_max_size between PRE and POST_ROUTING We also need to save/store in forward, else br_parse_ip_options call will zero frag_max_size as well. Fixes: 93fdd47e5 ('bridge: Save frag_max_size between PRE_ROUTING and POST_ROUTING') Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit fe90ced9e9d7bdba75ccae83100ae656807a6261 Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Wed Mar 18 19:17:36 2015 +0530 Documentation: dma: Add documentation for the APM X-Gene SoC DMA device DTS binding This patch adds documentation for the APM X-Gene SoC DMA device DTS binding Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Loc Ho <lho@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 74e353e1530044ac0dac82d64012850358e60248 Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Wed Mar 18 19:17:35 2015 +0530 arm64: dts: Add APM X-Gene SoC DMA device and DMA clock DTS nodes This patch adds the device tree node for APM X-Gene SoC DMA controller and DMA clock. Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Loc Ho <lho@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9f2fd0dfa594d857fbdaeda523ff7a46f16567f5 Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Wed Mar 18 19:17:34 2015 +0530 dmaengine: Add support for APM X-Gene SoC DMA engine driver This patch implements the APM X-Gene SoC DMA engine driver. The APM X-Gene SoC DMA engine consists of 4 DMA channels for performing DMA operations. These DMA operations include memory copy, scatter-gather memory copy, raid5 xor, and raid6 p+q offloading. Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Loc Ho <lho@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1ca510b0ea6da1a4ff3a385f0613e045f670304e Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Apr 1 18:50:17 2015 +0300 iio: light: ltr501: Powerdown device on error Power down device when an error occurs in order to avoid wasting power. Move powerdown function up to be seen by the new call and align parameters for the ltr501_write_contr() call. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 840a1cf0cd533f30da792527ca5ff6a023d4a727 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 19:59:40 2015 +0200 drm/i915: Reject the colorkey ioctls for primary and cursor planes The legcy colorkey ioctls are only implemented for sprite planes, so reject the ioctl for primary/cursor planes. If we want to support colorkeying with these planes (assuming we have hw support of course) we should just move ahead with the colorkey property conversion. Testcase: kms_legacy_colorkey Cc: Tommi Rantala <tt.rantala@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reference: http://mid.gmane.org/CA+ydwtr+bCo7LJ44JFmUkVRx144UDFgOS+aJTfK6KHtvBDVuAw@xxxxxxxxxxxxxx Reported-and-tested-by: Tommi Rantala <tt.rantala@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 0c1c8ff32fa29e425b4938934c21afdb81104431 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Apr 1 15:22:45 2015 +0900 dmaengine: usb-dmac: Add Renesas USB DMA Controller (USB-DMAC) driver This DMAC is Renesas USB high-speed module DMA controller that supports slave transfer. This USB-DMAC has similar register sets with R-Car Gen2 DMAC, but the USB-DMAC has specific registers to control the USB transactions. If this code is added into the rcar-dmac driver, it will become unreadable. So, this driver is independent from the rcar-dmac. And, this USB-DMAC uses virt-dma infrastructure. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a7267831565030ab94dab76eb1afe5d4b63a1009 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Apr 1 15:22:44 2015 +0900 dmaengine: renesas,usb-dmac: Add device tree bindings documentation Document the device tree bindings for the Renesas USB DMA Controller (USB-DMAC). Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 31755207afc5d5a30e3eea9e4f2a518fc5b680c1 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 30 10:55:57 2015 +0300 iwlwifi: mvm: capture connection loss as part of MLME trigger The only other way to catch these would have been to monitor the Tx deauth event, but we can send a deauth when we roam. So it would have been tricky to make sure we capture the connection losses only. Define a separate trigger for the connection losses to make it easier to catch them. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 874c174eb9950a62032a7c90c4a23947a2bb863d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Mar 25 22:40:47 2015 +0200 iwlwifi: mvm: add trigger for time events This will allow to collect data when a time event notifcation with a certain id and action is coming from the firmware. This can be very useful to debug various flows. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5d4f929e3d0c09838677a116ffd168d9d519ada7 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 31 09:12:54 2015 +0200 iwlwifi: mvm: do string formatting in debug triggers The current code has a lot of duplicates of printing into a buffer (while having to make sure it's NUL-filled and -terminated) and then passing that to the debug trigger collection. Since that's error-prone, instead make the debug trigger collection function take a format string and format arguments (with compiler validity checking) and handle the buffer internally. This makes one behavioural change -- instead of sending the whole buffer to userspace (clearing is needed to not leak stack data) it just passes the actual string (including NUL-terminator.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0d365ae5f2715a4a749e41ce5e75e34f03090db6 Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Tue Mar 31 12:24:05 2015 +0300 iwlwifi: fix spelling errors Fix spelling error across the driver. Modified only comments and prints. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 10a7c028dbf9920ba6781bf1adde1811dc50de86 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Apr 1 10:00:31 2015 +0200 iwlwifi: mvm: don't return uninitialized value in get_survey() If ucode_loaded isn't true the function returns the 'ret' variable without having assigned a value properly. Fix that. Reported-by: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d42f53503406d5dcedbad9ea18c964f189f72d84 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 10 14:29:48 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon MLME failures This will allow to catch failures in MLME and get the firmware data when this happens. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b916693a7731670429609854c32de1a71775d070 Merge: 21023b1 2c44be8 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Apr 2 09:26:51 2015 +0300 Merge tag 'mac80211-next-for-davem-2015-03-30' into iwlwifi-next Lots of updates for net-next; along with the usual flurry of small fixes, cleanups and internal features we have: * VHT support for TDLS and IBSS (conditional on drivers though) * first TX performance improvements (the biggest will come later) * many suspend/resume (race) fixes * name_assign_type support from Tom Gundersen commit 21023b1e7f9862015fd8c91d5619217da8d9a06a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 31 08:58:16 2015 +0200 iwlwifi: mvm: remove unused arguments The str/len arguments to iwl_fw_dbg_trigger_simple_stop() aren't used, and for a simple trigger don't really need to be used as the trigger code itself encodes the reason, so remove them. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6ed13164450a916116cf7f0f38fe0da4679a45c9 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Mon Mar 30 16:50:07 2015 +0300 iwlwifi: mvm: Fix wrongfully flushing frames in the roc/off channel queue Sending multiple action frames off channel, one after the other can create a race that will result in a timeout: 1. Start sending action frame off channel. 2. Once the frame is sent or the time event is over, the flow will eventually call ieee80211_start_next_roc to start the next roc frame & iwl_mvm_roc_finished schedules to schedule a work to flush the queue. 3. Start sending new roc frame and write it to the queue before the flush work has started. 4. The work is called and it flushes the new packet that was placed on the on the queue so the packet is lost. This causes the frame to be removed & not sent, that causes a timeout in userspace. Flush the work queue that flushes the roc/off channel queue before starting to send a new frame off channel, in order to avoid a race between the new frame that is transmitted off channel & the flushing of the queue. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b6e160ab15c203fe77d13a121081b1a9bce7cbfe Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Mon Mar 23 14:32:53 2015 +0200 iwlwifi: mvm: always reconfigure last MCC on init Currently the last found MCC is reconfigured only in the recovery flow. But it should always be used when available, for the ifdown/up or RF-Kill/CT-Kill scenarios. While at it, fix a couple of bugs in the init-from-last-MCC flow. Return an error value when a current MCC is not found. Pass on the regdomain to cfg80211 only if it was changed and don't ignore the return value from the cfg80211-setter function. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 484b3d13b4ac3d721f3479433ad82100e1277580 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Mon Mar 30 20:46:32 2015 +0300 iwlwifi: mvm: add debugfs entry with the number of net-detect scans Our testers need to know the number of scans performed while in net-detect mode before the device wakes up. The firmware already passes this information to the driver, so we can save it and report it in a debugfs entry. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7b9d74e44a9f504e22a505e36327a00dc301a968 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Mar 29 18:38:07 2015 +0300 iwlwifi: mvm: rs: refactor rs_update_rate_tbl Minor cleanup and refactoring. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 64dd374eac154f747623b256c59ecaf5affba724 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 12:52:13 2015 -0700 Bluetooth: Export SMP selftest result in debugfs When SMP selftest is enabled, then besides printing the result into the kernel message buffer, also create a debugfs file that allows retrieving the same information. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6de50f9fdb60a8d4c1cd94556106200ab1592e2d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 12:52:12 2015 -0700 Bluetooth: Export ECDH selftest result in debugfs When ECDH selftest is enabled, then besides printing the result into the kernel message buffer, also create a debugfs file that allows retrieving the same information. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 0151e426b150db17992b49fa9ce96b79dace2aed Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 13:51:54 2015 -0700 Bluetooth: Restrict BNEP flags to only valid ones The BNEP flags should be clearly restricted to valid ones. So this puts extra checks in place to ensure this. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5f5da99f1da5b01c7c45473a500c7dbb77a00958 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 13:51:53 2015 -0700 Bluetooth: Restrict HIDP flags to only valid ones The HIDP flags should be clearly restricted to valid ones. So this puts extra checks in place to ensure this. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8bf17a3619250944957c732e71659787528131c3 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 13:51:52 2015 -0700 Bluetooth: Restrict CMTP flags to only valid ones The CMTP flags should be clearly restricted to valid ones. So this puts extra checks in place to ensure this. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 41533fe5b4f92adb3c40f263b889dc6addff550e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 13:51:51 2015 -0700 Bluetooth: Remove unneeded extra ( ) in valid flags check Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c3370de64d563fa0db5e773b97b77ea7a961d131 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 13:21:37 2015 -0700 Bluetooth: Expose current Device ID information via debugfs For debugging purposes it is good to be able to read the current configured Device ID details. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 86d65dc4fe74d5b3228fe13c5eff0b10ae6808eb Author: Andy Grover <agrover@xxxxxxxxxx> Date: Tue Mar 31 15:04:37 2015 -0700 target: Allow userspace to write 1 to attrib/emulate_fua_write Before 4.0, reading attrib/emulate_fua_write has returned 1. Saved configs created on a pre-4.0 kernel will try to write that back when restoring LIO configuration. This should succeed with no effect, and issue a warning. See https://bugzilla.redhat.com/show_bug.cgi?id=1206184 Reported-by: Yanko Kaneti <yaneti@xxxxxxxxxxx> Reported-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 033f46b3c13d4072d8ee6b26dd1e90fdd06895d0 Author: tadeusz.struk@xxxxxxxxx <tadeusz.struk@xxxxxxxxx> Date: Wed Apr 1 13:53:06 2015 -0700 crypto: algif - explicitly mark end of data After the TX sgl is expanded we need to explicitly mark end of data at the last buffer that contains data. Changes in v2 - use type 'bool' and true/false for 'mark'. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99949a74aa8f1b0b1befbd1afaa6959a3654cd72 Merge: 05e8bb8 f3a8b6b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 22:55:41 2015 -0400 Merge branch 'dsa-next' Andrew Lunn says: ==================== DSA Mavell drivers refactoring and cleanup v1->v2: * Add missing signed-of-by: For patches authored by Guenter Roeck. * Add Reviewed by from Guenter Roack to patch #5. This is a collection of patches again net-next from today containing refactoring and consolidate of code, cleanups and using #define's to replace register numbers. Patch #1 Swaps the 6131 driver to use the consolidated setup code. Patch #2 Moves the Switch IDs used during probe into a central location. We need these later so that we can differentiate the different features the devices have. Patch #3 Makes the 6131 driver set the number of ports in the private state structure. It then uses this, rather than hard coded maximum number of ports. Patch #4 Similar to Patch #3, but for the 6123_61_65 driver. Patch #5 Similar to Patch #3, and #4, but for all the remaining drivers. This greatly increases the similarity of the code between drivers, allow further patches to consolidate the duplicated code. Patch #6 Consolidate the switch reset code, which has two minor variants. Removes around 35 lines per driver. Patch #7 Moves phy page access functions out of the 6352 driver into the shared code. Currently only the 6352 driver uses this, but it is likely other devices will come along wanting this functionality. Patch #8 Consolidates the code used to access phy registers. Removes around 40 lines of code per driver. Patch #9 Fixes missing mutex locking in the EEE code, and refactors the code a bit to make it more understandable with respect to locks. Patch #10 Consolidates reading statistics. This is very similar code for all devices, but the number of available statistics differ, which can be determined from the product ID. Removes around 65 lines per driver. Patch #11 Add #defines for registers, and bits within the registers. For the moment, this is limited to the shared code. The individual drivers will be converted once the remaining duplicated code is consolidated Patch #12 Fix broken statistic counters on the 6172. The 6352 family requires the port number is poked into a different set of bits in the register compared to other devices. Many thanks to Guenter Roeck for repeatedly reviewing the patches and testing them on his hardware. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f3a8b6b6a155210dac1f2a6ec4eb1b9ad04219df Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:40 2015 +0200 net: dsa: mv88e6xxx: Fix stats counters for 6352 family The statistic counters for the mv88e6172 never worked. This device is a member of the 6352 family of chips, which has a slightly different layout of the register used for capturing statistics. Add support for detecting this family and poking the port in the right place in the register. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cca8b1337541253f0414f744919c09f8b10bd962 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:39 2015 +0200 net: dsa: Use mnemonics rather than register numbers Rather than refer to registers by number, define mnemonics. Also define mnemonics for the commonly used bits within the registers. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e413e7e1f7493910274c552d7f70ae396c93199a Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:38 2015 +0200 net: dsa: Consolidate getting the statistics Reading the statistics from the hardware is the same for all chips. What differs is the number of available statistics. Have just one copy of the code in the shared mv88e6xxx. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f40c6981ac0adcaa2b3fc64e6ae81f80809aec8 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:37 2015 +0200 net: dsa: mv88e6xxx: Add missing mutex's in EEE operations. The phy_mutex should be held while reading and writing to the phy. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd3a0ee4063e4f44d915df8f117d9e0d8b05950a Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:36 2015 +0200 net: dsa: Consolidate phy read and write functions Move the common code for reading and writing phy registers into the shared mv88e6xxx. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4914358567d81d6f1d95f7809c77658c55555f1c Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:35 2015 +0200 net: dsa: Move phy page access functions into shared code These functions could in future be used by other drivers. Move them into the shared area. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 143a83073aaea145aa050cd0ebb80454c9362608 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:34 2015 +0200 net: dsa: Centralize Marvell switch reset Marvell switches are all reset in nearly the same way. The only difference is if the PPU should be enabled or not. Move this code into the shared mv88x6xxx.c. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 44e50ddbc74a4bd6a862be9e6de22bce8c0b4150 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:33 2015 +0200 net: dsa: Consistently set and use ps->num_ports As a step towards consolidating code, consistently set the number of ports in the private state structure, and make use of it in loops. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14ef6ad22a2db28021e8ea8cd068fe5fcd88de7b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Apr 2 04:06:32 2015 +0200 net: dsa: mv88e6123_61_65: Determine and use number of switch ports Determine and use number of switch ports from chip ID instead of always using the maximum, and return error when an attempt is made to access a non-existing port. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d198893e73c66ceb36cc1b1c3f261e82b7cc5700 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Apr 2 04:06:31 2015 +0200 net: dsa: mv88e6131: Determine and use number of switch ports Determine and use number of switch ports from chip ID instead of always using the maximum, and return error when an attempt is made to access a non-existing port. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2eb06627718836f7d133141693ec9685b4c4ef5 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Apr 2 04:06:30 2015 +0200 net: dsa: mv88e6xxx: Move switch product IDs into common include file This will let us use the switch product IDs in the common source code. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d65da4a238d3e9fc358b8e1540a193d63f92e20 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Apr 2 04:06:29 2015 +0200 net: dsa: mv88e6131: Use common initialization functions Common initialization functions will be needed to enable HW bridging support. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05e8bb860b55acc2646b59cd5746c6b4189fa29e Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Thu Apr 2 11:20:23 2015 +0900 pkt_sched: fq: correct spelling of locally Correct spelling of locally. Also remove extra space before tab character in struct fq_flow. Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4b495128c5d941607179f18ec07c36bd2a3fc38 Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Thu Apr 2 11:17:58 2015 +0900 vxlan: correct spelling in comments Fix some spelling / typos: * droppped -> dropped * asddress -> address * compatbility -> compatibility Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7887456e9da0fc57e8cc5ab50743539440e50750 Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 15:33:08 2015 -0700 vmxnet3: spelling fixes Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58bc2d9b160e1d2ce517eb05552b5a07efa814ef Merge: c0b0bb6 1164f67 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:58:11 2015 -0700 Merge tag 'at91-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/multiplatform Merge "at91: multiplatform for 4.1 #1" from Nicolas Ferre: This is the multi-platform support for AT91: - reworked arch/arm/mach-at91/Kconfig and arch/arm/Kconfig to switch to multi-platform - updated at91_dt_defconfig - continue the cleanup of unneeded files and code chunks * tag 'at91-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (61 commits) ARM: at91: drop AT91_TIMER_HZ ARM: at91: remove hardware.h ARM: at91: remove SoC headers ARM: at91: remove useless mach/cpu.h ARM: at91: remove unused headers ARM: at91: switch at91_dt_defconfig to multiplatform ARM: at91: switch to multiplatform ARM: at91: remove useless include clocksource: atmel-st: remove mach/hardware dependency clocksource: atmel-st: use syscon/regmap ARM: at91: time: move the system timer driver to drivers/clocksource ARM: at91: properly initialize timer ARM: at91: at91rm9200: remove deprecated arm_pm_restart watchdog: at91rm9200: implement restart handler watchdog: at91rm9200: use the system timer syscon mfd: syscon: Add atmel system timer registers definition ARM: at91/dt: declare atmel,at91rm9200-st as a syscon ARM: at91: remove old setup ARM: at91: sama5d4: remove useless map_io ARM: at91: sama5 use SoC detection infrastructure ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5ec5e792feac6b52915dc68a1ec286bc6770281b Merge: 9fb71bc 6cfdf55 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:56:33 2015 -0700 Merge tag 'davinci-for-v4.1/mcasp' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/cleanup Merge "DaVinci McASP changes for v4.1" from Sekhar Nori: This pull request contains cleanups and non-urgent fixes for DaVinci McASP platform support code. * tag 'davinci-for-v4.1/mcasp' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: davinci: dm646x: Add interrupt resource for McASPs ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x ARM: davinci: dm646x: Clean up the McASP DMA resources ARM: davinci: devices-da8xx: Add support for McASP2 on da830 ARM: davinci: devices-da8xx: Clean up and correct the McASP device creation ARM: davinci: devices-da8xx: Add interrupt resource to McASP structs ARM: davinci: devices-da8xx: Add resource name for the McASP DMA request Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e7199d32608b4d59a92f82addb78afb69bccb094 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 05:30:09 2015 +0000 ARM: configs: remove all CONFIG_RCAR_AUDMAC_PP from ARM defconfigs Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC). And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine. But, in result of DMA ML discussion, 2nd DMAC was concluded that it is not a general purpose DMAC (2nd DMAC is for Device to Device inside sound system). Additionally, current DMAEngine can't support Device to Device, and we don't have correct DT bindings for it at this point. So the easiest solution for it is that move it from DMAEngine to rsnd driver. Audio DMAC peri peri DMAEngine is no longer needed. Remove all CONFIG_RCAR_AUDMAC_PP from ARM defconfigs Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ebdf8cc0009d535a79fb3ac34a2ee341886c7472 Merge: cdf77d7 6357333 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:54:16 2015 -0700 Merge tag 'renesas-dt3-for-v4.1' 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 v4.1" from Simon Horman: * Add DMA sound support to r8a7791 and r8a7790 SoCs * tag 'renesas-dt3-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7791: sound enables Audio DMAC entry on DTSI ARM: shmobile: r8a7790: sound enables Audio DMAC entry on DTSI ARM: shmobile: r8a7791: enable Audio DMAC peri peri via sound driver ARM: shmobile: r8a7790: enable Audio DMAC peri peri via sound driver ARM: shmobile: r8a7791: add reg-names for sound ARM: shmobile: r8a7790: add reg-names for sound Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit cdf77d767e0952bc45e45974c2874f4204993e83 Merge: d24363a 91d5cb7 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:52:46 2015 -0700 Merge tag 'v4.1-rockchip-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Merge "ARM: rockchip: dts changes for 4.1" from Heiko Stuebner: This adds and enables the usbphy nodes on the rk3288 boards and enables the gmac on the firefly board. A new board the Popmetal-rk3288 is also added. And finally the pmic supplies for act8846 based boards are added, as the act8865/act8846 driver gained supply handling in the regulator tree. * tag 'v4.1-rockchip-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: complete rk3288-evb pmic supplies ARM: dts: rockchip: add input supplies for the act8846 on Radxa Rock ARM: dts: add rk3288 PopMetal board dt-bindings: add root compatible property for PopMetal board ARM: dts: rockchip: enable gmac on rk3288-firefly ARM: dts: rockchip: enable usbphy on rk3288-firefly ARM: dts: rockchip: Enable usb PHY on rk3288-evb board ARM: dts: rockchip: add rk3288 usb PHY Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 824f25c1ccded5de2d3e18268b91cddccdad3868 Merge: ffe971e a0307d1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:52:02 2015 -0700 Merge tag 'v4.1-rockchip-soc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc Merge "ARM: rockchip: soc code changes for 4.1" from Heiko Stuebner: Some suspend improvements reducing resume time and making sure the watchdog does not reset after 12 hours and a change to constify and staticize some smp parts. * tag 'v4.1-rockchip-soc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: rockchip: disable watchdog during suspend ARM: rockchip: decrease the wait time for resume ARM: rockchip: Constify struct regmap_config and staticize local function Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 80737123e934547e32502c707c67c12cbfd9e8fb Merge: a90c138 9e0388c Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:38:19 2015 -0700 Merge tag 'qcom-defconfig-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/defconfig Merge "qcom defconfig changes for v4.1" from Kumar Gala: Qualcomm ARM Based defconfig Updates for v4.1 * Enable LPASS clock support for IPQ806x in defconfig * Update qcom_defconfig to select GPIOLIB * tag 'qcom-defconfig-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: arm: qcom: Update defconfig arm: qcom: Enable lpass clock driver in defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e5710319382e2e204b8386e05ee76cdcb41f651c Merge: c4bb799 d7f64a4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:36:52 2015 -0700 Merge tag 'qcom-arm64-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/arm64 Merge "qcom ARM64 changes for v4.1" from Kumar Gala: Qualcomm ARM64 Updates for v4.1 * Add support for Qualcomm MSM8916 SoC * tag 'qcom-arm64-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: arm64: qcom: Add support for Qualcomm MSM8916 SoC Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4580cb8a9812c3acc7a1663064d2a2800b3541bd Merge: 3f9b66b e5fdad6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:35:34 2015 -0700 Merge tag 'qcom-soc-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/drivers Merge "qcom SoC changes for v4.1" from Kumar Gala: Qualcomm ARM Based SoC Updates for v4.1 * Merged the based Qualcomm SCM and SCM boot support * Cleaned up SCM interface to only expose functional SCM APIs * Moved Qualcomm SCM code into drivers/firmware * Updated the SCM APIs for setting cpu cold and warm boot addresses * Added support for ADM CRCI muxing * tag 'qcom-soc-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: soc: qcom: gsbi: Add support for ADM CRCI muxing firmware: qcom: scm: Support cpu power down through SCM firmware: qcom: scm: Add qcom_scm_set_warm_boot_addr function firmware: qcom: scm: Clean cold boot entry to export only the API firmware: qcom: scm: Move the scm driver to drivers/firmware ARM: qcom: Prep scm code for move to drivers/firmware ARM: qcom: Cleanup scm interface to only export what is needed ARM: qcom: Merge scm and scm boot code together Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5acb972fed8bcfe6c38a4bdef4e74148eaad04b2 Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Mon Mar 30 13:26:37 2015 +0800 cpufreq: hisilicon: add acpu driver Add acpu driver for hisilicon SoC, acpu is application processor subsystem. Currently the acpu has the coupled clock domain for two clusters, so this driver will directly use cpufreq-dt driver as backend. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1c832b3e85b6ac35e5f113fa4204eb725c54794e Author: Lan Tianyu <tianyu.lan@xxxxxxxxx> Date: Wed Apr 1 09:47:18 2015 +0800 ACPI / EC: Call acpi_walk_dep_device_list() after installing EC opregion handler On some machines(E,G Mircosoft surface 3), ACPI battery depends on the EC operation region and it has _DEP method which contains EC. Current code doesn't support such devices whose dep_unmet will be not be decreased after EC opregion handler being installed. This blocks battery device to be attached with its driver. This patch is to fix the issue. Link: https://bugzilla.kernel.org/show_bug.cgi?id=90161 Reported-and-tested-by: Lompik <lompik@xxxxxxxx> Tested-by: Valentin Lab <valentin.lab_bugzilla.kernel.org@xxxxxxxxxxx> Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d24363a5a40a3b7f976faada311b623fc8047b1e Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:05:54 2015 -0700 ARM: dts: fix typo in makefile for alpine-db File uses dash in the filename, not underscore. Reported-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4f9a60f5c7e74f3e413a1ede1e8b959d01df4e57 Merge: 1018bc2 18779b7 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Apr 2 11:03:58 2015 +1100 Merge branch 'smack-for-4.1' of git://github.com/cschaufler/smack-next into next commit c0b0bb6e1490f48f2675c3557653fb554a9c8817 Merge: d36d520 3c7585b Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 16:37:30 2015 -0700 Merge tag 'renesas-sh73a0-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Merge "Renesas ARM Based SoC sh73a0 Multiplatform Updates for v4.1" from Simon Horman: * Add multiplatform support to sh73a0 and its kzm9g board * Use Bus State Controller to enable ethernet for multiplatform sh73a0/kzm9g * Add PM domain support to multiplatform sh73a0 * tag 'renesas-sh73a0-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (43 commits) ARM: shmobile: sh73a0: Remove restart callback ARM: shmobile: sh73a0 dtsi: Add PM domain support ARM: shmobile: sh73a0: Remove unused sh73a0_add_standard_devices_dt() ARM: shmobile: sh73a0 dtsi: Add Cortex-A9 TWD node ARM: shmobile: kzm9g-reference: Remove board C code and DT file ARM: shmobile: kzm9g dts: Move Ethernet node to BSC ARM: shmobile: sh73a0 dtsi: Add Bus State Controller node ARM: shmobile: kzm9g: Build DTS for Multiplatform ARM: shmobile: kzm9g dts: Sync with kzm9g-reference dts ARM: shmobile: sh73a0: Add Multiplatform support ARM: shmobile: sh73a0: Introduce generic setup callback ARM: shmobile: r8a7794: add SDHI DT support ARM: shmobile: r8a7790: add ADSP clocks ARM: shmobile: r8a7791: add ADSP clocks ARM: shmobile: henninger: add CAN0 DT support ARM: shmobile: r8a7791: add CAN DT support ARM: shmobile: r8a7791: add CAN clocks ARM: shmobile: r8a7790: add CAN DT support ARM: shmobile: r8a7790: add CAN clocks ARM: shmobile: emev2-kzm9d dts: Add PFC information for uart1 ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d5af49c92a8aff8236e7b0bb35e9af364000c017 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 26 19:25:17 2015 -0400 drm/msm/mdp5: Enable DSI connector in msm drm driver This change adds the support in mdp5 kms driver for single and dual DSI. Dual DSI case depends on the framework API and sequence change to support dual data path. v1: Initial change v2: Address Rob Clark's comment - Separate command mode encoder to a new file mdp5_cmd_encoder.c - Rebase to not depend on msm_drm_sub_dev change Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a689554ba6ed81cf606c16539f6ffc2a1dcdaf8e Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Tue Mar 31 14:36:33 2015 -0400 drm/msm: Initial add DSI connector support This change adds the DSI connector support in msm drm driver. v1: Initial change v2: - Address comments from Archit + minor clean-ups - Rebase to not depend on msm_drm_sub_dev change [Rob's comment] v3: Fix issues when initialization is failed Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 7a6dc9550d0a17e3f24b2c13582f093193cd08ef Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 26 19:25:15 2015 -0400 drm/msm: Add split display interface This change is to add an interface to MDP for connector devices setting split display information. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 5722a9e303be25adbe25c174f66c5e1e9e17c276 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 26 19:25:14 2015 -0400 drm/msm/mdp5: Move *_modeset_init out of construct_encoder function This change is to make the content in construct_encoder reflect its name. Also, DSI connector may be connected to video mode or command mode encoder, so that 2 different encoders need to be constructed for DSI. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 81ddd1bc5cff2df619559860f2481393ba74e3a0 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Mar 27 13:01:52 2015 -0400 drm: export tile-group functions Normally these are called from within drm core, from the EDID parsing code. But for dual-dsi in some drivers (at least drm/msm) we need to call these from the driver. So they should be exported. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> commit 531db9ff3d3aabc36772bb02a9c636e398d0f21c Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Mar 24 09:30:02 2015 -0400 drm/msm/mdp5: Remove CTL flush dummy bits This TODO can now be removed and replaced by the previous patch "drm/msm/mdp5: Update headers (add CTL flush bits)" Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 87ed66c41441589b9718331410ceea7aeb8a740b Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Mar 24 09:30:01 2015 -0400 drm/msm/mdp5: Update headers (add CTL flush bits) Some upcoming targets have more bits to set in CTL_FLUSH registers. Example: msm8x16 needs to set TIMING1 bit so that some of the INTF1's interface registers get flushed. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 02dfd9d2ba2b86068a23fb1ff8b9b633a61e732e Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Mar 24 15:06:02 2015 -0400 drm/msm/mdp5: Add hardware configuration for msm8x16 This change adds the hw configuration for msm8x16 chipsets in mdp5_cfg module. Note that only one external display interface is present in this configuration (DSI) but has not been enabled yet. It will be enabled once drm/msm driver supports DSI connectors. v2: add CTL flush register's hardware mask [pointed by Archit] Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 6fa6acdfa37737fce6f69a7aa50606825ccea5ea Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Mon Mar 9 09:11:06 2015 -0400 drm/msm/mdp5: Get SMP client list from mdp5_cfg SMP blocks are configured for specific client IDs (ports). These client IDs can be different from one chip to another for a given pipe. e.g.: DMA0 pipe fetch Y component is connected to: - port #10 for MDP5 v1.3 - port #4 for MDP5 v1.6 In order to be compatible for upcoming versions of MDP5, the client ID list is passed through the MDP5 config module rather than using a list of hard-coded enum values. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit de50d351b37ba43a8d9e944e78c4df37f88d4ae2 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Mon Mar 9 09:11:05 2015 -0400 drm/msm/mdp5: Update headers (remove enum mdp5_client_id) This patch contains the generated header file of the following change "drm/msm/mdp5: Get SMP client list from mdp5_cfg". Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit f52538125e4dfb2a74f2efd915430d6fc39d0124 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Mon Mar 9 09:11:04 2015 -0400 drm/msm/mdp5: Separate MDP5 domain from MDSS domain MDP block is actually contained inside the MDSS block. For some chipsets, the base address of the MDP registers is different from the current (assumed) 0x100 offset. Like CTL and LM blocks, this changes introduce a dynamic offset for the MDP instance, which can be found out at runtime, once the MDSS HW version is read. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit ba474a02cb1009574a7cdcc29de9ca2d0b3c6df6 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Mon Mar 9 09:11:03 2015 -0400 drm/msm/mdp5: Update headers (introduce MDP5 domain) This change contains the generated header file for the following change "drm/msm/mdp5: Separate MDP5 domain from MDSS domain". Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3b3627a35d866946aa34adf8a2c57d62bb9dc570 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Fri Mar 13 19:24:15 2015 -0400 drm/msm/dsi: Update generated DSI header file Prepare for initial DSI implementation Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit de31ea694466fa199b5ff3cc71fb8308a1f0791e Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 5 15:20:49 2015 -0500 drm/msm/mdp5: Fix PIPE source image size settings The width and height in SSPP_SRC_IMG_SIZE register should be the size of the entire source framebuffer, not the fetch size. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 81c71ad324beaf4776c45573cd620fab660fd476 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 5 15:20:48 2015 -0500 drm/msm/mdp5: Update generated mdp5 header file with DSI support This change adds the registers in mdp5 ping pong blocks and split display control registers. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 38305907ef28e2df3656bd17bcbf39aeb66f10fc Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 5 15:20:47 2015 -0500 drm/msm/mdp5: Add pingpong entry to mdp5 config table Pingpong register base addresses are different across platforms. This change adds this information to config table and initialize the values for 8x74 and 8084. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 67ac0a2d6994fef77a611106fa7f6fcc58f4bb8d Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Mar 13 15:49:34 2015 -0400 drm/msm/mdp5: Make the intf connection in config module Up until now, we assume that eDP is tight to intf_0 and HDMI to intf_3. This information shall actually come from the mdp5_cfg module since it can change from one chip to another. v2: rename macro to mdp5_cfg_intf_is_virtual() [pointed by Archit] v3: add sanity check before writing in INTF_TIMING_ENGINE_EN registers Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 389b09a1822db2bf5050060acc63611ea6c4670d Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Mar 13 15:49:33 2015 -0400 drm/msm/mdp5: Add START signal to kick off certain pipelines Some interfaces (WB, DSI Command Mode) need to be kicked off through a START Signal. This signal needs to be sent at the right time and requests in some cases to keep track of the pipeline status (eg: whether pipeline registers are flushed AND output WB buffers are ready, in case of WB interface). Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit d145dd78d7e72ac07c84f6919283569e6b45a5c3 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Mar 13 15:49:32 2015 -0400 drm/msm/mdp5: Enhance operation mode for pipeline configuration DSI and WB interfaces need a more complex pipeline configuration than the current mdp5_ctl_set_intf(). For example, memory output connections need to be selected for WB. Interface mode (Video vs. Command modes) also need to be configured for DSI. This change takes care of configuring the whole pipeline as far as operation mode goes. DSI and WB interfaces will be added later. v2: rename macro to mdp5_cfg_intf_is_virtual() [pointed by Archit] Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> [Remove temp bisectability hack -Rob] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a13cebabc81d709e1649c8d8475f0c0f66c0dd24 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Mar 13 15:49:31 2015 -0400 drm/msm/mdp5: Update generated header files Prepare for pipeline operation mode configuration, in particular for DSI and WB modes. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> [Throw in a #define temporarily to keep things bisectable -Rob] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a73f3382dae242261338588d8411057938501701 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Jan 27 11:35:56 2015 -0500 drm/msm/mdp5: only flush on a CRTC ->atomic_flush() MDP5 hardware has some limitation and requires to avoid flushing registers more than once between two Vblanks. This change removes all FLUSH operations (except for HW cursor) beside the one coming from a CRTC's ->atomic_flush(). This avoid this type of behavior (eg: CRTC + 1 plane overlay): [drm:mdp5_crtc_vblank_irq] vblank [drm:mdp5_ctl_commit] flush (20048) CTL + LM0 + RGB0 [drm:mdp5_ctl_commit] flush (20040) CTL + LM0 [drm:mdp5_crtc_vblank_irq] blank [drm:mdp5_ctl_commit] flush (20049) CTL + LM0 + RGB0 + VIG0 [drm:mdp5_crtc_vblank_irq] blank and replaces it by: [drm:mdp5_crtc_vblank_irq] vblank [drm:mdp5_ctl_commit] flush (20048) CTL + LM0 + RGB0 [drm:mdp5_crtc_vblank_irq] blank [drm:mdp5_ctl_commit] flush (20049) CTL + LM0 + RGB0 + VIG0 [drm:mdp5_crtc_vblank_irq] blank Only *one* FLUSH is called between Vblanks interrupts. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 034c5150ae8777265f5beae257f8e7f2721ebccc Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Jan 27 09:05:59 2015 -0500 drm/msm/hdmi: add 74.176MHz and 154.0MHz pix clks Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 072f1f9168ed67d6ddc94bb76b1dfc04795062b4 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Mar 3 15:04:25 2015 -0500 drm/msm: add support for "stolen" mem Add support to use the VRAM carveout (if specified in dtb) for fbdev scanout buffer. This allows drm/msm to take over a bootloader splash- screen, and avoids corruption on screen that results if the kernel uses memory that is still being scanned out for itself. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 5bf9c0b614542d69fb9a8681a0411715cc3e8ba8 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Mar 3 15:04:24 2015 -0500 drm/msm: split out vram initialization We'll want to extend this a bit to handle also a reserved-memory ("stolen") region, so that drm/msm can take-over bootloader splash screen. First split it out into it's own fxn to reduce noise in the following patch. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit d36d520ae669ab95e6113f3a5e52493dfaa59f8d Merge: 369237a 914d7d1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 16:29:08 2015 -0700 Merge tag 'renesas-r8a73a4-ccf-and-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Merge "Renesas ARM Based SoC r8a73a4 CCF and Multiplatform Updates for v4.1" from Simon Horman: * Add CCF and them multiplatform support to r8a73a4 SoC and its ape6evm board. * Then remove legacy r8a73a4 SoC and ape6evm board code. ---------------------------------------------------------------- Geert Uytterhoeven (6): ARM: shmobile: r8a73a4 dtsi: Add Bus State Controller node ARM: shmobile: ape6evm dts: Move Ethernet node to BSC ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug ARM: shmobile: ape6evm dts: Drop console= bootargs parameter PM / Domains: R-Mobile SYSC: Document R-Mobile APE6 (r8a73a4) binding ARM: shmobile: r8a73a4 dtsi: Add PM domain support Laurent Pinchart (1): ARM: shmobile: r8a73a4: Remove legacy code Simon Horman (1): ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform Ulrich Hecht (5): ARM: shmobile: r8a73a4: Add CPG register bits header ARM: shmobile: r8a73a4: Common clock framework DT description ARM: shmobile: ape6evm: Disable legacy clock initialization ARM: shmobile: r8a73a4: Add MSTP clock assignments to DT ARM: shmobile: ape6evm-reference: Remove board C code and DT file Documentation/devicetree/bindings/arm/shmobile.txt | 2 - .../bindings/power/renesas,sysc-rmobile.txt | 1 + MAINTAINERS | 1 - arch/arm/boot/dts/Makefile | 2 - arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts | 156 ----- arch/arm/boot/dts/r8a73a4-ape6evm.dts | 37 +- arch/arm/boot/dts/r8a73a4.dtsi | 557 ++++++++++++++++- arch/arm/configs/ape6evm_defconfig | 109 ---- arch/arm/mach-shmobile/Kconfig | 25 - arch/arm/mach-shmobile/Makefile | 3 - arch/arm/mach-shmobile/Makefile.boot | 2 - arch/arm/mach-shmobile/board-ape6evm-reference.c | 60 -- arch/arm/mach-shmobile/board-ape6evm.c | 306 ---------- arch/arm/mach-shmobile/clock-r8a73a4.c | 659 --------------------- arch/arm/mach-shmobile/r8a73a4.h | 17 - arch/arm/mach-shmobile/setup-r8a73a4.c | 273 +-------- include/dt-bindings/clock/r8a73a4-clock.h | 62 ++ 17 files changed, 615 insertions(+), 1657 deletions(-) delete mode 100644 arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts delete mode 100644 arch/arm/configs/ape6evm_defconfig delete mode 100644 arch/arm/mach-shmobile/board-ape6evm-reference.c delete mode 100644 arch/arm/mach-shmobile/board-ape6evm.c delete mode 100644 arch/arm/mach-shmobile/clock-r8a73a4.c delete mode 100644 arch/arm/mach-shmobile/r8a73a4.h create mode 100644 include/dt-bindings/clock/r8a73a4-clock.h * tag 'renesas-r8a73a4-ccf-and-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a73a4: Remove legacy code ARM: shmobile: r8a73a4 dtsi: Add PM domain support PM / Domains: R-Mobile SYSC: Document R-Mobile APE6 (r8a73a4) binding ARM: shmobile: ape6evm dts: Drop console= bootargs parameter ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform ARM: shmobile: ape6evm-reference: Remove board C code and DT file ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug ARM: shmobile: ape6evm dts: Move Ethernet node to BSC ARM: shmobile: r8a73a4 dtsi: Add Bus State Controller node ARM: shmobile: r8a73a4: Add MSTP clock assignments to DT ARM: shmobile: ape6evm: Disable legacy clock initialization ARM: shmobile: r8a73a4: Common clock framework DT description ARM: shmobile: r8a73a4: Add CPG register bits header Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a90c13819b17fed8ccbaaeb15433a86c87709df0 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:15 2015 +0100 ARM: configs: enable Marvell Armada 39x in multi_v7_defconfig Following the introduction of the Marvell Armada 39x support, let's enable this support by default in multi_v7_defconfig. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: <arm@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 502e95c6678505474f1056480310cd9382bacbac Author: Zach Reizner <zachr@xxxxxxxxxx> Date: Wed Mar 4 16:33:41 2015 -0800 drm/vgem: implement virtual GEM This patch implements the virtual GEM driver with PRIME sharing which allows vgem to import a gem object from other drivers for the purpose of mmap-ing them to userspace. The mmap is done using the mmap operation exported by other drivers. v2: remove platform_device and do not attach to dma bufs v3: use drm helpers for get/put pages v4: correct dumb create pitch Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> (v3) Reviewed-by: Stéphane Marchesin <marcheu@xxxxxxxxxxxx> (v3) Signed-off-by: Adam Jackson <ajax@xxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Zach Reizner <zachr@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 66776a67f7b1aeb4b0fac83df0a3379ed47af05c Merge: e42391c 358b615 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Apr 2 00:20:08 2015 +0200 Merge tag 'pull_req_20150331' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq into pm-devfreq Pull devfreq updates for v4.1 from MyungJoo Ham. "This set includes tegra driver update and style fixes." * tag 'pull_req_20150331' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq: PM / devfreq: tegra: Register governor on module init PM / devfreq: tegra: Enable interrupts after resuming the devfreq monitor PM / devfreq: tegra: Set drvdata before enabling the irq PM / devfreq: tegra: remove operating-points PM / devfreq: tegra: Use clock rate constraints PM / devfreq: tegra: Update to v5 of the submitted patches PM / devfreq: correct misleading comment PM / devfreq: event: Add const keyword for devfreq_event_ops structure commit 09a972d1620934142d30cfda455ffe429af751c4 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 15:16:34 2015 +0530 cpufreq: powernv: Report cpu frequency throttling The power and thermal safety of the system is taken care by an On-Chip-Controller (OCC) which is real-time subsystem embedded within the POWER8 processor. OCC continuously monitors the memory and core temperature, the total system power, state of power supply and fan. The cpu frequency can be throttled by OCC for the following reasons: 1)If a processor crosses its power and temperature limit then OCC will lower its Pmax to reduce the frequency and voltage. 2)If OCC crashes then the system is forced to Psafe frequency. 3)If OCC fails to recover then the kernel is not allowed to do any further frequency changes and the chip will remain in Psafe. The user can see a drop in performance when frequency is throttled and is unaware of throttling. So detect and report such a condition, so the user can check the OCC status to reboot the system or check for power supply or fan failures. The current status of the core is read from Power Management Status Register(PMSR) to check if any of the throttling condition is occurred and the appropriate throttling message is reported. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 53d5864bc673288f03bb7892a3cffa41a173082b Author: Nathaniel Wesley Filardo <nwf@xxxxxxxxxx> Date: Thu Aug 21 14:10:55 2014 -0400 kafs: Add more "unified AFS" error codes This should cover the set emitted by viced and the volume server. Signed-off-by: Nathaniel Wesley Filardo <nwf@xxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 7b3d165a282145e605247148d3dec034814e0a78 Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri Mar 27 11:47:51 2015 +0200 ASoC: davinci-mcasp: Index ruledata in drvdata with substream->stream The serializer direction definitions runs from 1 to 2, which does not suite the purpose. The substream->stream is perfect for the purpose and should have been used from the beginning. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f511ab09dfb0fe7b2335eccac51ff9f001a32e4a Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Apr 1 10:46:15 2015 +0200 spi: imx: read back the RX/TX watermark levels earlier They are used to decide if the controller can do DMA on a buffer of a specific length and thus are needed before any transfer is attempted. This fixes a memory leak where the SPI core uses the drivers can_dma() callback to determine if a buffer needs to be mapped. As the watermark levels aren't correct at that point the driver falsely claims to be able to DMA the buffer when it fact it isn't. After the transfer has been done the core uses the same callback to determine if it needs to unmap the buffers. As the driver now correctly claims to not being able to DMA the buffer the core doesn't attempt to unmap the buffer which leaves the SGT leaking. Fixes: f62caccd12c17e4 (spi: spi-imx: add DMA support) Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 7b425f264fc2572bea8b15fe97948659507c6a45 Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Apr 1 20:35:57 2015 +0300 ASoC: omap-hdmi-audio: No not use IEC958_AES1_PRO_MODE_NOTID No IEC958_AES?_PRO_* macros should be used in HDMI consumer audio mode and IEC958_AES1_PRO_MODE_NOTID should be applied to byte 1 when applicable. However IEC958_AES1_PRO_MODE_NOTID is defined as 0 so this fix does not affect the functionality in any way. Reported-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 057f6061a1972b0d63383cbbbb98795e8ef0a752 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Thu Apr 2 03:03:33 2015 +0800 spi: spi-bfin5xx: Initialize cr_width in bfin_spi_pump_transfers() cr_width may be not initialized before using by cr, the related warning (with defconfig under blackfin by gcc5): CC drivers/spi/spi-bfin5xx.o drivers/spi/spi-bfin5xx.c: In function 'bfin_spi_pump_transfers': drivers/spi/spi-bfin5xx.c:655:5: warning: 'cr_width' may be used uninitialized in this function [-Wmaybe-uninitialized] cr |= cr_width; ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7c0e3facf39a68f30c2eae69e969918eca1ff9d6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:52 2015 +0200 ASoC: dapm: Remove delayed_work from dapm context struct The delayed_work field in the snd_soc_dapm_context struct is now unused and can be removed. Removing it reduces the size of the snd_soc_dapm_context struct by ~50% from 100 bytes to 48 bytes. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd5d822688f3b32af286a76f7078dfe49c716282 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:51 2015 +0200 ASoC: wm8350: Move delayed work struct from DAPM context to driver state The wm8350 driver is the last driver that still uses the delayed_work field from the snd_soc_dapm_context struct. Moving this over to the driver's private data struct will allow us to remove the field from the DAPM context, which will drastically reduce its size. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 37660b6daf6d28bb2206c95ec75c8063f2db1606 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:50 2015 +0200 ASoC: Remove suspend_bias_level from DAPM context struct The only two users of the suspend_bias_level field were two rather old drivers which weren't exactly doing things by the book. Those drivers have been updated and field is now unused and can be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a1f0b9674936bf55d5d49813de01547de2667690 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:49 2015 +0200 ASoC: wm8753: 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: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 35afd9221b301d1959eadab2d45a2cb94dcb7d30 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:48 2015 +0200 ASoC: wm8753: Integrate capacitor charging into the DAPM sequence When being powered on, either initially on probe or when resuming from suspend, the wm8971 configures the device for quick output capacitor charging. Since the charging can take a rather long time (up to multiple seconds) it is done asynchronously without blocking. A delayed work item is run once the charging is finished and the device is switched to the target bias level. This all done asynchronously to the regular DAPM sequence accessing the same data structures and registers without any looking, which can lead to race conditions. Furthermore this potentially delays the start of stream on the CODEC while the rest of the system is already up and running, meaning the first bytes of audio are lost. It also does no comply with the assumption of the DAPM core that if set_bias_level() returned successfully the device will be at the requested bias level. This patch slightly refactors things and makes sure that the caps charging is properly integrated into the DAPM sequence. When transitioning from SND_SOC_BIAS_OFF to SND_SOC_BIAS_STANDBY the part will be put into fast charging mode and a work item will be scheduled that puts it back into standby charging once the charging period has elapsed. If a playback or capture stream is started while charging is in progress the driver will now wait in SND_SOC_BIAS_PREPARE until the charging is done. This makes sure that charging is done asynchronously in the background when the chip is idle, but at the same time makes sure that playback/capture is not started before the charging is done. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c59e6abba9dd7bc273c3dd389ae9927d1da88f35 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:47 2015 +0200 ASoC: wm8971: 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: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 643518403c3fdecd40d9edfd50f4bafcebeda79b Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:46 2015 +0200 ASoC: wm8971: Integrate capacitor charging into the DAPM sequence When being powered on, either initially on probe or when resuming from suspend, the wm8971 configures the device for quick output capacitor charging. Since the charging can take a rather long time (up to multiple seconds) it is done asynchronously without blocking. A delayed work item is run once the charging is finished and the device is switched to the target bias level. This all done asynchronously to the regular DAPM sequence accessing the same data structures and registers without any looking, which can lead to race conditions. Furthermore this potentially delays the start of stream on the CODEC while the rest of the system is already up and running, meaning the first bytes of audio are lost. It also does no comply with the assumption of the DAPM core that if set_bias_level() returned successfully the device will be at the requested bias level. This patch slightly refactors things and makes sure that the caps charging is properly integrated into the DAPM sequence. When transitioning from SND_SOC_BIAS_OFF to SND_SOC_BIAS_STANDBY the part will be put into fast charging mode and a work item will be scheduled that puts it back into standby charging once the charging period has elapsed. If a playback or capture stream is started while charging is in progress the driver will now wait in SND_SOC_BIAS_PREPARE until the charging is done. This makes sure that charging is done asynchronously in the background when the chip is idle, but at the same time makes sure that playback/capture is not started before the charging is done. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ab87ce1d9bb0501fccfc00d5e5ce7c16cd2bcc3e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:45 2015 +0200 ASoC: wm8971: Use system_power_efficient_wq instead of custom workqueue The delayed work used by the wm8971 driver to manage the caps charging doesn't have any special requirements that would justify using a custom workqueue, just use the generic system_power_efficient_wq instead. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 488cb533911b96fe41af68a0206878aa46b799bc Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 19:54:54 2015 +0200 ASoC: atmel-pcm-pdc: merge atmel-pcm back in atmel-pcm.c was split into two files to create a generic framework for both PDC and DMA. atmel-pcm-dma.c is using the generic dmaengine framework since 95e0e07e710e (ASoC: atmel-pcm: use generic dmaengine framework). Merge atmel-pcm.c in atmel-pcm-pdc.c as this is now the only user. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 43cb6954f8c8a68fdc354226fa045ff43c7e4d39 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Apr 1 04:15:16 2015 +0000 ASoC: rsnd: add Synchronous SRC mode Renesas R-Car sound SRC (= Sampling Rate Converter) has Asynchronous/Synchronous SRC mode. Asynchronous mode is already supported via DPCM. This patch adds Synchronous mode on it. The condition of enabling Synchronous mode are - SoC is clock master - Sound uses SRC - Sound doesn't use DVC - Sound card uses DPCM (= rsrc-card card) amixer set "SRC Out Rate" on aplay xxx.wav & amixer set "SRC Out Rate" 48000 Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6261b06de565baafa590e58a531a1a5522cea0b6 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Mar 24 18:56:05 2015 -0700 regulator: Defer lookup of supply to regulator_get Instead of resolving regulator supplies during registration move this to the time of a consumer retrieving a handle. The benefit is that it's possible for one driver to register regulators with internal dependencies out of order. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f1a8ff21d083c6b37bba9e4ad2c1d899ae41f75d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 1 12:29:13 2015 -0700 vxge: Add const to ethtool_driver_stats_keys Move about half a KB of data to text. Miscellanea: o Move strings out of the .h file into the .c file in case the .h file is ever #included twice Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 82d929207a11402f9cfe2131013a94939967828a Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Mar 30 14:25:44 2015 -0700 crypto: algif - use kmalloc instead of kzalloc No need to use kzalloc to allocate sgls as the structure is initialized anyway. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd50752034e4c4847d413e812f554f1bde1e668c Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Mar 30 14:25:43 2015 -0700 crypto: af_alg - make exports consistant Use EXPORT_SYMBOL_GPL instead of EXPORT_SYMBOL. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a3d1caf8a2c16c55424a0768eade54ee0922341 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Mar 13 01:58:46 2015 -0700 fs: btrfs: Add missing include file Building alpha:allmodconfig fails with fs/btrfs/inode.c: In function 'check_direct_IO': fs/btrfs/inode.c:8050:2: error: implicit declaration of function 'iov_iter_alignment' due to a missing include file. Fixes: 3737c63e1fb0 ("fs: move struct kiocb to fs.h") Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 21295368367beaa563b310d5492166dba158b884 Merge: 209431e ca125b5 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Apr 1 12:24:29 2015 -0700 Merge branch '4.0-rc1-prcm-cleanup-v6' of https://github.com/t-kristo/linux-pm into omap-for-v4.1/prcm-cleanup Conflicts: arch/arm/boot/dts/dra7.dtsi commit f5f321c43150cb4db8f342c8479c6fbdbe20b338 Merge: 877e45d 69628cd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 14:48:50 2015 -0400 Merge tag 'wireless-drivers-for-davem-2015-04-01' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers Kalle Valo says: ==================== iwlwifi: * fix a memory leak, we leaked memory each time the module was loaded. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 877e45d60cdf134b4f152ec7d426def5d0ca4a94 Merge: af3e09e ae469b6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 14:47:21 2015 -0400 Merge branch 'cxgb4-net' Hariprasad Shenai says: ==================== cxgb4 FW macro changes for new FW Fix to dump device log even in the case of firmware crash. Also incorporates changes for new FW. This patch series has been created against net tree and includes patches on cxgb4 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 ae469b68a557d1bd538c9122eaf99cf09fc242f2 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 1 21:41:16 2015 +0530 cxgb4: Fix to dump devlog, even if FW is crashed Add new Common Code routines to retrieve Firmware Device Log parameters from PCIE_FW_PF[7]. The firmware initializes its Device Log very early on and stores the parameters for its location/size in that register. Using the parameters from the register allows us to access the Firmware Device Log even when the firmware crashes very early on or we're not attached to the firmware 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 7ef65a42111270f343b26673c10e48180871326b Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 1 21:41:15 2015 +0530 cxgb4: Firmware macro changes for fw verison 1.13.32.0 Adds new macro and few macro changes for fw version 1.13.32.0 also changes version string in driver to match 1.13.32.0 Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba8c3d6f16a1f9305c23ac1d2fd3992508c5ac03 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Fri Mar 27 21:30:37 2015 +0100 mac80211: add an intermediate software queue implementation This allows drivers to request per-vif and per-sta-tid queues from which they can pull frames. This makes it easier to keep the hardware queues short, and to improve fairness between clients and vifs. The task of scheduling packet transmission is left up to the driver - queueing is controlled by mac80211. Drivers can only dequeue packets by calling ieee80211_tx_dequeue. This makes it possible to add active queue management later without changing drivers using this code. This can also be used as a starting point to implement A-MSDU aggregation in a way that does not add artificially induced latency. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> [resolved minor context conflict, minor changes, endian annotations] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cef2fc1ce4326f7f24c3cf938b94a661fbe773e3 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Tue Mar 31 10:49:14 2015 -0400 mac80211: reduce log spam from ieee80211_handle_pwr_constr This changes a couple of messages from sdata_info to sdata_dbg. This should reduce some log spam, as reported here: https://bugzilla.redhat.com/show_bug.cgi?id=1206468 Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5f919abc76fc3de1e5965ea03c925f7563c7fc15 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:43 2015 +0100 mac80211: add standard deviation to Minstrel stats This patch adds the statistical descriptor "standard deviation" to better describe the current properties of Minstrel and Minstrel-HTs success probability distribution. The standard deviation (SD) is calculated as exponential weighted moving standard deviation (EWMSD) and its current value is added as new column in all rc_stats (in debugfs). Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ade6d4a2ec57d258bc181a155288c267dd8cf094 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:42 2015 +0100 mac80211: reduce calculation costs of EWMA This patch reduces the calculation costs of the EWMA macro from "2x multiplication and 1 addition" down to "1x multiplication and 2x additions". This slightly improves performance depending on the CPU architecture. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 50e55a8ea76fb593403cc09767b6371c17364ba8 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:41 2015 +0100 mac80211: add max lossless throughput per rate This patch adds the new statistic "maximum possible lossless throughput" to Minstrels and Minstrel-HTs rc_stats (in debugfs). This enables comprehensive comparison between current per-rate throughput and max. achievable per-rate throughput. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6a27b2c40b4829e625bc1dfdd0705c5ece720ab4 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:40 2015 +0100 mac80211: restructure per-rate throughput calculation into function This patch moves Minstrels and Minstrel-HTs per-rate throughput calculation (EWMA(thr)) into a dedicated function to be called. Therefore the variable "unsigned int cur_tp" within struct "minstrel_rate_stats" becomes obsolete. and is removed to free up its space. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9134073bc693633b5e1f1a7252c93b3fb262aae4 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:39 2015 +0100 mac80211: improve Minstrel variable & function naming This patch ensures a consistent usage of variable names for type "minstrel_rate_stats" to be used as "mrs" and from type minstrel_rate as "mr" across both Minstrel & Minstrel-HT. In addition some variable and function names got changed to more meaningful ones. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f62838bcc5f58f580961aaf8c9fe59036b7be825 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:38 2015 +0100 mac80211: unify Minstrel & Minstrel-HTs calculation of rate statistics This patch unifies the calculation of Minstrels and Minstrel-HTs per-rate statistic. The new common function minstrel_calc_rate_stats() is called when a statistic update is performed. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2cae0b6a70d666f8905f0f4bf788e56df1273878 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:37 2015 +0100 mac80211: add new Minstrel-HT statistic output via csv This patch adds a new debugfs file "rc_stats_csv" to output Minstrel-HTs statistics in a common csv format that is easy to parse. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> [remove printing current time of day] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6d4885177929b1d978babe24d61ece687782c303 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:36 2015 +0100 mac80211: add new Minstrel statistic output via csv This patch adds a new debugfs file "rc_stats_csv" to output Minstrels statistics in a common csv format that is easy to parse. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> [remove printing current time of day] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9ca683c6d1482714a12170632afb74d43f0ece5a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 1 08:49:24 2015 -0700 chelsio cxgb/cxgb3: Make stats_strings arrays const Move ~2KB of strings in each driver from data to text. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45eb5168873c93b4f1c3c3867fea65aad4c6abd6 Merge: b9600d2 9374e7d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 14:27:28 2015 -0400 Merge tag 'wireless-drivers-next-for-davem-2015-04-01' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: ath9k: * add Active Interference Cancellation, a method implemented in the HW to counter WLAN RX > sensitivity degradation when BT is transmitting at the same time. This feature is supported by cards like WB222 based on AR9462. iwlwifi: * Location Aware Regulatory was added by Arik * 8000 device family work * update to the BT Coex firmware API brmcfmac: * add new BCM43455 and BCM43457 SDIO device support * add new BCM43430 SDIO device support wil6210: * take care of AP bridging * fix NAPI behavior * found approach to achieve 4*n+2 alignment of Rx frames rt2x00: * add new rt2800usb device DWA 130 rtlwifi: * add USB ID for D-Link DWA-131 * add USB ID ASUS N10 WiFi dongle mwifiex: * throughput enhancements ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af3e09e666428f9493e0dd309e0f2ac8480cde8a Merge: 9c02642 788211d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 14:19:22 2015 -0400 Merge tag 'mac80211-for-davem-2015-04-01' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 Johannes Berg says: ==================== This contains just a single fix for a crash I happened to randomly run into today during testing. It's clearly been around for a while, but is pretty hard to trigger, even when I tried explicitly (and modified the code to make it more likely) it rarely did. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f375573c96470a27b911aeb1c0a25212d0e145a2 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 31 20:50:42 2015 +0200 clk: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) __initdata updated to __initconst for static const struct of_device_id ti_clkdm_match_table[] Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b9600d2d0901cd0f91cb372e72bd53d22f49638d Merge: 8d88c6e 79d5eed Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 13:58:06 2015 -0400 Merge tag 'linux-can-next-for-4.1-20150401' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-04-01 this is a pull request of 5 patches for net-next/master. There are two patches for the ems_usb driver by Gerhard Uttenthaler and me, which fix sparse endianess warnings. Oliver Hartkopp adds two patches to improve and extend the CAN-ID filter handling on RAW CAN sockets. The last patch is by me, it silences an uninitialized variable warning in the peak_usb driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d88c6ebb34c3e54debe81e9b0d81b60411f8179 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Apr 1 00:40:00 2015 -0700 net: bcmgenet: enable MoCA link state change detection Currently, MoCA fixed PHYs are always in link-up state, regardless of whether the link is actually up or not. Add code to properly detect MoCA link state changes and to reflect the new state in MoCA fixed PHY. Only GENET V3 and V4 MACs are capable of detecting MoCA link state changes. The code works as follows: 1. GENET MAC detects MoCA link state change and issues UMAC_IRQ_LINK_UP or UMAC_IRQ_LINK_DOWN interrupt. 2. Link up/down interrupt is processed in bcmgenet_irq_task(), which calls phy_mac_interrupt(). 3. phy_mac_interrupt() updates the fixed PHY phydev->link and kicks the PHY state machine. 4. PHY state machine proceeds to read the fixed PHY link status register. 5. When the fixed PHY link status register is being read, the new function bcmgenet_fixed_phy_link_update() gets called. It copies the fixed PHY phydev->link value to the fixed PHY status->link. 6. PHY state machine receives the new link state of the fixed PHY. 7. MoCA fixed PHY link state now correctly reflects the real MoCA hardware link state. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4039314d0b1b57aa602490b7b9ae505e2467a44 Merge: e1b7c02 509fca8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 10:29:55 2015 -0700 Merge tag 'iommu-fixes-v4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull IOMMU fixes from Joerg Roedel: "This contains fixes for: - a VT-d issue where hardware domain-ids might be freed while still in use. - an ipmmu-vmsa issue where where the device-table was not zero terminated - unchecked register access issue in the arm-smmu driver" * tag 'iommu-fixes-v4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu/vt-d: Remove unused variable iommu: ipmmu-vmsa: Add terminating entry for ipmmu_of_ids iommu/vt-d: Detach domain *only* from attached iommus iommu/arm-smmu: fix ARM_SMMU_FEAT_TRANS_OPS condition commit e1b7c029a31a26e42c76f763b7cd566ecf62cbd2 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Apr 1 17:03:30 2015 +1030 lguest: now needs PCI_DIRECT. Since commit 8e7094694396 ("lguest: add a dummy PCI host bridge.") lguest uses PCI, but it needs you to frob the ports directly. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b6c3a5946c60ed2e3da33443a7db8f000ba108c5 Merge: 1e84891 1efff91 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 10:05:42 2015 -0700 Merge tag 'lazytime_fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull lazytime fixes from Ted Ts'o: "This fixes a problem in the lazy time patches, which can cause frequently updated inods to never have their timestamps updated. These changes guarantee that no timestamp on disk will be stale by more than 24 hours" * tag 'lazytime_fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: fs: add dirtytime_expire_seconds sysctl fs: make sure the timestamps for lazytime inodes eventually get written commit 2841a2d3a1b4b4e5cd22851928087b664a4dafad Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Mar 19 23:14:06 2015 +0200 iwlwifi: check the size of the trigger struct from the firmware file When we access the triggers we need to make sure that the data we expect was actually provided by the firmware file. Check this when we decode the triggers from the firmware file. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1e848913f017cb84256ef5fe4cdd5cc4b935bd36 Merge: 6c310bc f9c72d1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 09:45:47 2015 -0700 Merge branch 'for-4.0' of git://linux-nfs.org/~bfields/linux Pull nfsd fixes from Bruce Fields: "Two main issues: - We found that turning on pNFS by default (when it's configured at build time) was too aggressive, so we want to switch the default before the 4.0 release. - Recent client changes to increase open parallelism uncovered a serious bug lurking in the server's open code. Also fix a krb5/selinux regression. The rest is mainly smaller pNFS fixes" * 'for-4.0' of git://linux-nfs.org/~bfields/linux: sunrpc: make debugfs file creation failure non-fatal nfsd: require an explicit option to enable pNFS NFSD: Fix bad update of layout in nfsd4_return_file_layout NFSD: Take care the return value from nfsd4_encode_stateid NFSD: Printk blocklayout length and offset as format 0x%llx nfsd: return correct lockowner when there is a race on hash insert nfsd: return correct openowner when there is a race to put one in the hash NFSD: Put exports after nfsd4_layout_verify fail NFSD: Error out when register_shrinker() fail NFSD: Take care the return value from nfsd4_decode_stateid NFSD: Check layout type when returning client layouts NFSD: restore trace event lost in mismerge commit 687908c2b6498130172286f3387ec0eb0a20080e Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Mar 31 22:08:45 2015 +0200 net: phy: at803x: simplify using devm_gpiod_get_optional and its 4th argument Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Moreover use devm_gpiod_get_optional instead of ignoring all errors returned by devm_gpiod_get and simplify accordingly. The result is more strict error handling which is good. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 906a7985f72ee2f28433e2dd847a013da0e4cdea Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 16:05:23 2015 +0200 caif: remove unused struct member The tty_name member of struct ser_device is never set or used, so it can be removed. (The definition of struct ser_device is private to this .c file, and the identifier tty_name only occurs in this one place.) Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 072264fee89633b676f656613efff7dd5cdbf88a Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Fri Mar 27 10:07:33 2015 -0600 selftests: Change memory on-off-test.sh name to be unique cpu and memory hotplug scripts use the same name. Change memory on-off-test.sh to mem-on-off-test.sh. Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc16782169e5a7d523c82a45a24ead70d6e2275f Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Fri Mar 27 10:03:48 2015 -0600 selftests: change cpu on-off-test.sh name to be unique cpu and memory hotplug scripts use the same name. Change cpu on-off-test.sh to cpu-on-off-test.sh. Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c026424dbdb89e2cef9962562cbfd576b293d29 Merge: 2f30232 da254fb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 12:30:39 2015 -0400 Merge branch 'bnx2' Yuval Mintz says: ==================== bnx2x: kdump related fixes This patch series aims to fix bnx2x driver issues when loading in kdump kernel. Both issues fixed here would be fatal to the device, requiring full reset of the system in order to recover, preventing the device from serving its purpose in the kdump environment. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da254fbc6357a66a127e4e4e234b4f9c555d5ed1 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Apr 1 10:02:20 2015 +0300 bnx2x: Fix kdump when iommu=on When IOMM-vtd is active, once main kernel crashes unfinished DMAE transactions will be blocked, putting the HW in an error state which will cause further transactions to timeout. Current employed logic uses wrong macros, causing the first function to be the only function that cleanups that error state during its probe/load. This patch allows all the functions to successfully re-load in kdump kernel. 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 3d6b72534a109be4353b161a09a5683b441d0941 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Apr 1 10:02:19 2015 +0300 bnx2x: Fix kdump on 4-port device When running in a kdump kernel, it's very likely that due to sync. loss with management firmware the first PCI function to probe and reach the previous unload flow would decide it can reset the chip and continue onward. While doing so, it will only close its own Rx port. On a 4-port device where 2nd port on engine is a 1g-port, the 2nd port would allow ingress traffic after the chip is reset [assuming it was active on the first kernel]. This would later cause a HW attention. This changes driver flow to close both ports' 1g capabilities during the previous driver unload flow prior to the chip reset. 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 9a1e75e11a8d09c5cba022e1ac04b0785354f708 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Mar 31 08:35:09 2015 +0100 ahci: st: st_configure_oob must be called after IP is clocked. Currently the ahci_st driver will hang the system on probe, as the st_configure_oob function does some register writes before the IP is clocked. This patch moves the function call to after ahci_platform_enable_resources (which enables the IP clock), and resolves the hang. Addtionally st_ahci_configure_oob should be called in the st_ahci_resume function, so we also rectify that ensuring it is also called after the IP clock has been enabled. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9a8340bfeb03c5fc20b39aa533b164844ef582f9 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Mar 31 08:35:07 2015 +0100 ahci: st: Update the ahci_st DT documentation As part of testing ahci_st driver working on stih407 I noticed several things wrong in the DT documentation: - 1) Compatible string doesn't match the driver code 2) pwr-rst reset isn't documented (but exists in the driver) 3) some whitespace issues (spaces not tabs) Also add in a stih407 family example into the doc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b6305d62234642a37fa1a68d15e741cfc3428c45 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Mar 31 18:37:12 2015 +0100 ahci: st: Update the DT example for how to obtain the PHY. The example is wrong in that the phys property should take a phandle to the phy port. Also with the changing over to generic PHY type constants we also update that as well. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit c471c989addf4d806c62ece60d6cfd6d9ad50c95 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Tue Mar 31 02:29:35 2015 +0300 staging: dgnc_sysfs: Replace printk(KERN_ERR ) with pr_err() Fix the following checkpatch warning: WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ... Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd82525956744c3a5e6b7275cd468b6180cc5b72 Author: Chris Mason <clm@xxxxxx> Date: Wed Apr 1 08:36:05 2015 -0700 Btrfs: free and unlock our path before btrfs_free_and_pin_reserved_extent() The error handling path for alloc_reserved_tree_block is calling btrfs_free_and_pin_reserved_extent with a spinning tree lock held. This might sleep as we allocate extent_state objects: BUG: sleeping function called from invalid context at mm/slub.c:1268 in_atomic(): 1, irqs_disabled(): 0, pid: 11093, name: kworker/u4:7 5 locks held by kworker/u4:7/11093: #0: ("%s-%s""btrfs", name){++++.+}, at: [<ffffffff81091d51>] process_one_work+0x151/0x520 #1: ((&work->normal_work)){+.+.+.}, at: [<ffffffff81091d51>] process_one_work+0x151/0x520 #2: (sb_internal){++++.+}, at: [<ffffffffa003a70e>] start_transaction+0x43e/0x590 [btrfs] #3: (&head_ref->mutex){+.+...}, at: [<ffffffffa0089f8c>] btrfs_delayed_ref_lock+0x4c/0x240 [btrfs] #4: (btrfs-extent-00){++++..}, at: [<ffffffffa007697b>] btrfs_clear_lock_blocking_rw+0x9b/0x150 [btrfs] CPU: 0 PID: 11093 Comm: kworker/u4:7 Tainted: G W 4.0.0-rc6-default+ #246 Hardware name: Intel Corporation Santa Rosa platform/Matanzas, BIOS TSRSCRB1.86C.0047.B00.0610170821 10/17/06 Workqueue: btrfs-extent-refs btrfs_extent_refs_helper [btrfs] 00000000000004f4 ffff88006dd17848 ffffffff81ab0e3b ffff88006dd17848 ffff88007a944760 ffff88006dd17868 ffffffff8109d516 ffff88006dd17898 0000000000000000 ffff88006dd17898 ffffffff8109d5b2 ffffffff81aba2bb Call Trace: [<ffffffff81ab0e3b>] dump_stack+0x4f/0x6c [<ffffffff8109d516>] ___might_sleep+0xf6/0x140 [<ffffffff8109d5b2>] __might_sleep+0x52/0x90 [<ffffffff81aba2bb>] ? ftrace_call+0x5/0x34 [<ffffffff81196363>] kmem_cache_alloc+0x163/0x1b0 [<ffffffffa0056f31>] ? alloc_extent_state+0x31/0x150 [btrfs] [<ffffffffa0056f20>] ? alloc_extent_state+0x20/0x150 [btrfs] [<ffffffffa0056f31>] alloc_extent_state+0x31/0x150 [btrfs] [<ffffffffa005805b>] __set_extent_bit+0x37b/0x5d0 [btrfs] [<ffffffff81aba2bb>] ? ftrace_call+0x5/0x34 [<ffffffffa005888d>] ? set_extent_bit+0xd/0x30 [btrfs] [<ffffffffa00588a3>] set_extent_bit+0x23/0x30 [btrfs] [<ffffffffa0058e80>] set_extent_dirty+0x20/0x30 [btrfs] [<ffffffffa00195ba>] pin_down_extent+0xaa/0x170 [btrfs] [<ffffffffa001d8ef>] __btrfs_free_reserved_extent+0xcf/0x160 [btrfs] [<ffffffffa0023856>] btrfs_free_and_pin_reserved_extent+0x16/0x20 [btrfs] [<ffffffffa002482a>] __btrfs_run_delayed_refs+0xfca/0x1290 [btrfs] [<ffffffffa0026eae>] btrfs_run_delayed_refs+0x6e/0x2e0 [btrfs] [<ffffffffa0027378>] delayed_ref_async_start+0x48/0xb0 [btrfs] [<ffffffffa006c883>] normal_work_helper+0x83/0x350 [btrfs] [<ffffffffa006cd79>] ? btrfs_extent_refs_helper+0x9/0x20 [btrfs] [<ffffffffa006cd82>] btrfs_extent_refs_helper+0x12/0x20 [btrfs] [<ffffffff81091dcb>] process_one_work+0x1cb/0x520 [<ffffffff81091d51>] ? process_one_work+0x151/0x520 [<ffffffff811c7abf>] ? seq_read+0x3f/0x400 [<ffffffff8109260b>] worker_thread+0x5b/0x4e0 [<ffffffff81097be2>] ? __kthread_parkme+0x12/0xa0 [<ffffffff810925b0>] ? rescuer_thread+0x450/0x450 [<ffffffff81098686>] kthread+0xf6/0x120 [<ffffffff81098590>] ? flush_kthread_worker+0x1b0/0x1b0 [<ffffffff81ab8088>] ret_from_fork+0x58/0x90 [<ffffffff81098590>] ? flush_kthread_worker+0x1b0/0x1b0 ------------[ cut here ]------------ This changes things to free the path first, which will also unlock the extent buffer. Signed-off-by: Chris Mason <clm@xxxxxx> Reported-by: Dave Sterba <dsterba@xxxxxxx> Tested-by: Dave Sterba <dsterba@xxxxxxx> commit 4b80af40ebd61fcaaa9a2326a4ce401b5fe7c103 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:55:04 2015 +0530 Staging: lustre: Mark internal functions static in llog_cat.c This patch marks functions llog_cat_set_first_idx and cat_cancel_cb static as these are used only within this file. Also since cat_cancel_cb is made static do not export it. This eliminates the following sparse warning: warning: symbol * was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bf31f075c5138bab1a5d9c61798739424f51781 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:13:56 2015 +0530 Staging: lustre: Mark internal functions as static This patch makes functions mgc_logname2resid, mgc_set_info_async and mgc_init static as these are only used internally. This also eliminates sparse warnings of the type: warning: symbol * was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 171aee168e4fe04502e2e065750dcbe0b2e0ffa9 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:13:55 2015 +0530 Staging: lustre: Include header file that declares lprocfs_mdc_init_vars This patch includes the header file mdc_internal.h that declares the function lprocfs_mdc_init_vars. This also eliminates the sparse warning: warning: symbol 'lprocfs_mdc_init_vars' was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5edcf2f8679d2a4434f791ee19eb82b2d6997f3 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:13:54 2015 +0530 Staging: lustre: Include header for functions prototypes This patch includes the header lustre/include/lclient.h that declares the functions lov_lsm_put and lov_read_and_clear_async_rc defined in lov_object.c. This eliminates warnings reported by sparse: warning: symbol was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80e177380b3a9e08a3c74ae0562c020c80ce3c2c Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:13:53 2015 +0530 Staging: lustre: Add header that declares function lprocfs_lmv_init_vars This patch includes the header file lmv_internal.h that declares the function lprocfs_lmv_init_vars defined in lproc_lmv.c. This eliminates the sparse warning: warning: symbol 'lprocfs_lmv_init_vars' was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 132eacb7fbd32cbfd55d47a230aea636e48ee959 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:13:52 2015 +0530 Staging: lustre: Make obd_proc_version_seq_show static The function obd_proc_version_seq_show is only used in this file, so make it static. This eliminates the following sparse warning: warning: symbol 'obd_proc_version_seq_show' was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44ba06987c0b10faa998b9324850e8a6564c714d Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Apr 1 16:31:26 2015 +0100 RxRPC: Handle VERSION Rx protocol packets Handle VERSION Rx protocol packets. We should respond to a VERSION packet with a string indicating the Rx version. This is a maximum of 64 characters and is padded out to 65 chars with NUL bytes. Note that other AFS clients use the version request as a NAT keepalive so we need to handle it rather than returning an abort. The standard formulation seems to be: <project> <version> built <yyyy>-<mm>-<dd> for example: " OpenAFS 1.6.2 built 2013-05-07 " (note the three extra spaces) as obtained with: rxdebug grand.mit.edu -version from the openafs package. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 967db076bd3eddb36c4699743f8304a5ffcbd814 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 17:12:53 2015 +0530 Staging: lustre: Add function prototypes in console.h Sparse reported the following warnings: warning: symbol 'lstcon_console_init' was not declared. Should it be static? warning: symbol 'lstcon_console_fini' was not declared. Should it be static? warning: symbol 'lstcon_ioctl_entry' was not declared. Should it be static? However since these functions are used in other files, they cannot be made static, so add protoypes for the same in console.h. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c7d08c32d0cb96ec0e831539bb68b7fe5b45973 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Wed Apr 1 00:52:18 2015 +0530 Staging: rtl8712: Remove zero-testing pointer typed value Removes variable comparison with 0 by using !. Done using following coccinelle script. @ disable is_zero,isnt_zero @ expression *E; expression E1,f; @@ E = f(...) <... ( - E == 0 + !E | - E != 0 + E | - 0 == E + !E | - 0 != E + E ) ...> ?E = E1 @ disable is_zero,isnt_zero @ expression *E; @@ ( E == - 0 + NULL | E != - 0 + NULL | - 0 + NULL == E | - 0 + NULL != E ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6955a8f4350686321ccc4efd2b2333d91c5c2f5 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 28 03:30:12 2015 +0200 Staging: rtl8712: Remove duplicated argument to | Delete duplicated argument to | for the state argument in the _clr_fwstate_() function call as it is redundant. Detected with coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45de432775d6df1b349b02c4d783237937278906 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 28 02:57:34 2015 +0200 Staging: rtl8712: Use memdup_user() instead of copy_from_user() Use memdup_user() to avoid its duplicated implementation and simplify code. memdup_user() uses GFP_KERNEL instead of GFP_ATOMIC, which is valid because copy_from_user() might sleep and it's useless to make the allocation atomic. Found with coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66687e6aed4ab25ab5aac52ed94b277c4db2093f Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Apr 1 14:01:11 2015 +0300 iio: magnetometer: mag3110: Place driver on standby on error Place driver on standby mode on error in order to prevent wasting power. Move standby function above to be seen by the new call. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa5587f3cb9fde2db852b5549ee561198aa95748 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 13:04:29 2015 +0300 Staging: iio: accel: Remove explicit NULL comparison This patch removes explicit NULL comparison and writes it in its equivalent shorter form. Done with coccinelle. @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3f31e87dbcc2c6d3a9cf28e1404cf43ef265ebe Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 13:04:07 2015 +0300 Staging: iio: adc: Remove explicit NULL comparison This patch removes explicit NULL comparison and writes it in its shorter form. Detected with coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16d55be4cc694f76bff0cd99a8101e943e878d38 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 13:03:38 2015 +0300 Staging: iio: impedance-analyzer: Remove explicit NULL comparison This patch removes explicit NULL comparison and replaces it with its shorter form. Detected with coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e84d0724101ba8a38afab21c118135815f707733 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 13:03:12 2015 +0300 Staging: iio: trigger: Remove explicit NULL comparison This patch removes explicit NULL comparison and replaces it with its shorter form. Detected with coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45297571e90bd59195011ae8e328dae84534ecef Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 13:01:18 2015 +0300 Staging: iio: meter: Remove explicit NULL comparison This patch removes explicit NULL comparison and replaces it with its shorter form. Detected with coccinelle. @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f94c31feeba8b872ed18d075b57de5d04575d05 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 12:51:38 2015 +0300 Staging: iio: iio_simple_dummy: Remove explicit NULL comparison This patch removes explicit NULL comparison and writes it in its simpler form. Done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 025c7da9eeba3a6c77ef9485a4c1c1a797dd7a4e Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 12:51:10 2015 +0300 Staging: iio: iio_dummy_evgen: Simplify NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b72eb70209a0aac7651166d3f610ffb57b4c6e5f Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Mar 29 16:14:39 2015 +0300 Staging: iio: Add error check on iio_register_device() This patch checks if an error occurred on probe and stops the device in order to avoid wasting power. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c057b3e02184b111d3392be75efc7c94f0fdf20 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:10 2015 +0800 MIPS: Loongson-3: Add chipset ACPI platform driver This add south-bridge (SB700/SB710/SB800 chipset) ACPI platform driver for Loongson-3. This will be used by EC (Embedded Controller, used by laptops) driver and STR (Suspend To RAM). [ralf@xxxxxxxxxxxxxx: Fix build error if !CONFIG_CPU_LOONGSON3. Build doesn't like it if no obj-* variable is defined at all in a Makefile. Obviously this has not been tested on other platforms.] Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9619/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 64f09aa967e1a6effdffcbf14c912ec5f9e3715e Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:09 2015 +0800 MIPS: Loongson-3: Add CPU Hwmon platform driver This add CPU Hwmon (temperature sensor) platform driver for Loongson-3. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9617/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f14ceff75545f9a1e62430fe9cc796208569b972 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:08 2015 +0800 MIPS: perf: Add hardware perf events support for Loongson-3 This patch enable hardware performance counter support for Loongson-3's perf events. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9618/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a2e50f53d535fa885a432fb9fc3e3ca5ed97364c Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Mon Jan 19 04:19:20 2015 -0500 MIPS: PCI: Add a hook for IORESOURCE_BUS in pci_controller/bridge_controller On SGI Origin 2k/Onyx2 and SGI Octane systems, there can exist multiple PCI buses attached to the Xtalk bus. The current code will stop counting PCI buses after it finds the first one. If one installs the optional PCI cardcage ("shoebox") into these systems, because of the order of the Xtalk widgets, the current PCI code will find the cardcage first, and fail to detect the BaseIO PCI devices, which are on a higher Xtalk widget ID. This patch adds the hooks needed for resolving this issue in the IP27 PCI code (in a later patch). Verified on both an SGI Onyx2 and an SGI Octane. Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Linux MIPS List <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9074/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3db2742554bb7cc077de478c2ebf9c1efdd317f5 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 16:46:03 2015 -0700 MIPS: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9640/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 97b290b5637f473588a297834c10cd750718e980 Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:01:01 2015 +0100 MIPS: Octeon: Fix to IP checksum offloading in Little Endian When hardware checksum generation is switched on the checksum generation was only being signalled to the hardware correctly in Big Endian mode. Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9634/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d2a948d2db68bda8780df636cf6390748953793f Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:01:00 2015 +0100 MIPS: Octeon: Make octeon-md5 driver endian-agnostic The octeon crypto co-processor expects values to be big endian. Wrap the data transfers with cpu_to_be64() and be64_to_cpu() transformations. This passes for all the MD5 test vectors in crypto/testmgr.h Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9631/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8a5cc923af4298e7d40a434398743c03ef875fb1 Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:00:59 2015 +0100 MIPS: Octeon: Set up ethernet hardware for little endian Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9635/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f1e770cf51fc0567b7d2b1d242b5ab8d23399d09 Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:00:58 2015 +0100 MIPS: Octeon: Reverse the order of register accesses to the FAU 64 bit access is unaffected but for 32 bit access, swap high and low words. Similarly for 16 bit access, reverse the order of the four possible words, and for 8 bit access reverse the order of byte accesses. Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9630/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b0abf36ffdc2b7efbb74e02b9dad99b40e85ec3b Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:00:57 2015 +0100 MIPS: Octeon: Set appropriate endianness in L2C registers Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9629/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 11db04c8f3f2353b45848ceda2e6e3440520f7cb Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:00:56 2015 +0100 MIPS: Octeon: Turn hardware bitfields and structures inside out. Although the proper way to do this for bitfields would be to use the macro that Ralf has provided, this is a little easier to understand as a diff. Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9628/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0a1cd2c5887cc87178adf9f58191a18cca8c55c0 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Mar 30 23:02:51 2015 +0200 MIPS: IP32: ip32-platform is not a module. So let's remove everything that only makes sense for kernel modules. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3057739138eb8fbaa5154b149a864f5218898c73 Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Wed Jan 21 07:59:45 2015 -0500 MIPS: Add R16000 detection This allows the kernel to correctly detect an R16000 MIPS CPU on systems that have those. Otherwise, such systems will detect the CPU as an R14000, due to similarities in the CPU PRId value. Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Linux MIPS List <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9092/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5b4e845393d313af1d319b8bd01c9daaca3aa487 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Feb 23 18:28:34 2015 -0800 CLOCKSOURCE: mips-gic: Allow GIC clock to be specified in device-tree As an alternative to the "clock-frequency" property, allow the GIC timer operating clock to be specified in the device-tree instead. This is useful on systems which use common clock or where the GIC is not fixed to a particular frequency and is instead, for example, derived from the CPU clock. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hogan <james.hogan@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> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9309/ commit 615eb603f4e1da4f151c7fac4aa175753a9913ec Author: Chen Jie <chenj@xxxxxxxxxx> Date: Fri Mar 27 01:07:24 2015 +0800 MIPS: csum_partial: Improve instruction parallelism. Computing sum introduces true data dependency. This patch removes some true data depdendencies, hence increases instruction level parallelism. This patch brings up to 50% csum performance gain on Loongson 3a. One example about how this patch works is in CSUM_BIGCHUNK1: // ** original ** vs ** patch applied ** ADDC(sum, t0) ADDC(t0, t1) ADDC(sum, t1) ADDC(t2, t3) ADDC(sum, t2) ADDC(sum, t0) ADDC(sum, t3) ADDC(sum, t2) In the original implementation, each ADDC(sum, ...) depends on the sum value updated by previous ADDC(as source operand). With this patch applied, the first two ADDC operations are independent, hence can be executed simultaneously if possible. Another example is in the "copy and sum calculating chunk": // ** original ** vs ** patch applied ** STORE(t0, UNIT(0) ... STORE(t0, UNIT(0) ... ADDC(sum, t0) ADDC(t0, t1) STORE(t1, UNIT(1) ... STORE(t1, UNIT(1) ... ADDC(sum, t1) ADDC(sum, t0) STORE(t2, UNIT(2) ... STORE(t2, UNIT(2) ... ADDC(sum, t2) ADDC(t2, t3) STORE(t3, UNIT(3) ... STORE(t3, UNIT(3) ... ADDC(sum, t3) ADDC(sum, t2) With this patch applied, ADDC and the **next next** ADDC are independent. Signed-off-by: chenj <chenj@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9608/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d548ca6b0784a99f0fcae397f115823ccd0361a5 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Dec 10 17:38:26 2014 +0100 MIPS: BCM47XX: Fix coding style to match kernel standards [ralf@xxxxxxxxxxxxxx: Fixed conflicts.] Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Paul Walmsley <paul@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/8665/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 05f5507f59d6d3eab1c2172c6266b664b61599b5 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Mon Mar 30 00:04:56 2015 +0300 MIPS: OCTEON: add GPIO LED support for DSR-1000N DSR-1000N board has two GPIO LEDs next to USB ports. Add support for them. [ralf@xxxxxxxxxxxxxx: Resolved conflict due to the moving of the DTS files into vendor subdirectories.] Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9624/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f8fd30ebdb36f2598f382a6e57fa010477ad094f Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:06 2015 +0800 MIPS: Hibernate: Restructure files and functions This patch has no functional changes, it just to keep the assembler code to a minimum. Files and functions naming is borrowed from X86. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9616/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2a21dc7c196209d94cb570a0d340faa6c760f7f8 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:05 2015 +0800 MIPS: Hibernate: flush TLB entries earlier We found that TLB mismatch not only happens after kernel resume, but also happens during snapshot restore. So move it to the beginning of swsusp_arch_suspend(). Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9621/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4c9164b9f77cebe715db18f179329c48b95243bb Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Sun Mar 29 22:09:02 2015 +0200 MIPS: SEAD3: Nuke remaining I2C bits. With no I2C driver available, keeping the platform device registration makes no sense just as keeping the code to instantiage the I2C devices. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 968c94bcd891075ac06dd2f669c557f58a6523fc Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Sun Mar 29 22:06:51 2015 +0200 MIPS: SEAD3: Nuke I2C driver that never was wired up in Makefile. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e598e47144e41e8429bf127266bc3e8017d1a5f4 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Sun Mar 29 16:06:03 2015 +0200 MIPS: SEAD3: Use symbolic addresses from sead-addr.h in I2C driver. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fbacc8dfd8bab24d326b3055d38246ca7a2e1da5 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 23:50:58 2015 +0100 MIPS: SEAD3: Use symbolic addresses from sead-addr.h in LED driver. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit be2d960e0017a9a100edaccc18249d29b427b6ec Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 23:47:59 2015 +0100 MIPS: SEAD3: New header file sead3-addr.h with hardware addresses. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2c0916d4b706bff58221cf7f58a40ef8e997f537 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 21:57:36 2015 +0100 MIPS: SEAD3: Get rid of DRVNAME from LED driver for readability. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2ead2d73494ec86b8e35e0a8a1054b16bb66b5c0 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 21:56:01 2015 +0100 MIPS: SEAD3: Get rid of useless pr_debug calls in the LED driver. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 50a73f19e67a966f518192f808ed7bfa8f80ff97 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 21:47:42 2015 +0100 MIPS: SEAD3: Convert I2C driver to module_platform_driver. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4558e09469fe376752a8d3ba097a0cfe42691b72 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 21:47:01 2015 +0100 MIPS: SEAD3: Convert LED driver to module_platform_driver. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 01f7ab34325e76301915d5a4604834c5e2a91e74 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Oct 24 01:32:25 2014 +0200 MIPS: SEAD3: Collect LED platform device registration in a single file. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: linux-leds@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8203/ commit 8a5f1efbb1a13cd2e2a1c2d1ae3773821e8b1d67 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Mar 25 21:55:15 2015 -0700 MIPS: BMIPS: restrict DTB selection to BMIPS_GENERIC Since we are always sourcing arch/mips/bmips/Kconfig and there is no dependency on BMIPS_GENERIC, we will offer building BMIPS-related DTBs while this is not relevant for the other MIPS platforms. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: cernekee@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9603/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 554b7f56b998c72316ab2d5c21963512fd6c9a5e Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 15:17:31 2015 +0100 MIPS: BMIPS: Flush the readahead cache after DMA. BMIPS 3300/435x/438x CPUs have a readahead cache that is separate from the L1/L2. During a DMA operation, accesses adjacent to a DMA buffer may cause parts of the DMA buffer to be prefetched into the RAC. To avoid possible coherency problems, flush the RAC upon DMA completion. Derived from Kevin Cernekee's https://patchwork.linux-mips.org/patch/9602/. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0acbfc66d09e97e5a01e7a23ac7e99f360ff851b Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 15:10:30 2015 +0100 MIPS: DMA: Implement platform hook to perform post-DMA cache flushes. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 253073801363e5cea3cd368fed1afc3111a21c35 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 13:11:51 2015 +0100 MIPS: ath25: Remove unused DMA helper functions. These got merged with the ath25 support after 4e7f72660c39 (MIPS: Remove unnecessary platform dma helper functions) had already removed them for all other platforms. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit eec99f2079df0f58c346652f03f3c18c6799bd79 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 18:33:41 2015 -0700 MIPS: Loongson-3: remove deprecated IRQF_DISABLED This removes the use of the IRQF_DISABLED flag from arch/mips/loongson/loongson-3/hpet.c It's a NOOP since 2.6.35. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: chenhc@xxxxxxxxxx Cc: taohl@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9609/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 138173d4e826587da66c7d321da1a91283222536 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Dec 1 07:58:18 2014 +0100 MIPS: BCM47xx: Move NVRAM header to the include/linux/. There are two reasons for having this header in the common place: 1) Simplifying drivers that read NVRAM entries. We will be able to safely call bcm47xx_nvram_* functions without #ifdef-s. 2) Getting NVRAM driver out of MIPS arch code. This is needed to support BCM5301X arch which also requires this NVRAM driver. Patch for that will follow once we get is reviewed. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: linux-soc@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8619/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5ae03b1220ac22b823d8414997329806db16020c Author: David Daney <david.daney@xxxxxxxxxx> Date: Tue Feb 24 15:35:34 2015 -0800 MIPS: Expand __swp_offset() to carry 40 significant bits for 64-bit kernel. With CONFIG_MIGRATION, the PFN of the migrating pages is stored in __swp_offset(), so we must have enough bits to store the largest possible PFN. OCTEON NUMA systems have 41 bits of physical address space, so with 4K pages (12-bits), we need at least 29 bits to store the PFN. The current width of 24-bits is too narrow, so expand it all the way out to 40-bits. This leaves the low order 16 bits as zero which does not interfere with any of the PTE bits. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9315/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 80aaaa8b93d860f828e2cf883f307894640765f0 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Dec 10 11:49:54 2014 +0100 MIPS: BCM47XX: Use strnchr to avoid reading out of the buffer Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8662/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 23d2bc42aceb829eaf90c694941e4523c22865e8 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Dec 10 11:49:53 2014 +0100 MIPS: BCM47XX: Use helpers for reading NVRAM content Also drop some unneeded memset-s. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8661/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit aa816c1b390aacb698dd6faf5a8cbffb5123c03a Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Thu Feb 26 01:31:04 2015 +0200 MIPS: mark prom_free_prom_memory() everywhere with __init On OCTEON the function is non-trivial and we can potentially even save some memory. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9338/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f45e388ff0f90b922b77bef959a2cfb0645cffbe Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Wed Mar 25 10:25:44 2015 -0700 MIPS: Provide fallback reboot/poweroff/halt implementations If a machine-specific hook is not implemented for restart, poweroff, or halt, fall back to halting secondary CPUs, disabling interrupts, and spinning. In the case of restart, attempt to restart the system via do_kernel_restart() (which will call any registered restart handlers) before halting. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9600/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ea925a72a271f6868dddef98426b396f110da211 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Wed Mar 25 10:25:43 2015 -0700 MIPS: smp: Make stop_this_cpu() actually stop the CPU Since cpu_wait() enables interrupts upon return, CPUs which have entered stop_this_cpu() may still end up handling interrupts. This can lead to the softlockup detector firing on a panic or restart/poweroff/halt. Just disable interrupts and spin to ensure nothing else runs on the CPU once it has entered stop_this_cpu(). Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9601/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c1bed31f9c67f7d315ba13e6eb215fb412a33514 Author: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Date: Thu Dec 18 13:05:40 2014 +0100 MIPS: ath79: Increase max memory limit to 256MByte At least QCA955x can handle up to 256MBytes. Signed-off-by: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Gabor Juhos <juhosg@xxxxxxxxxxx> Cc: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/8738/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2707cd293cc2386f8eea6fee1ba72e8b190f25cc Author: David Daney <david.daney@xxxxxxxxxx> Date: Wed Dec 3 11:12:23 2014 -0800 MIPS: Add FPU emulator counter for emulated delay slots. Delay slot emulation in the FPU emulator is the only kernel user of an executable stack, it is also very slow. Add a counter so we can see how many of these emulations are done. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8634/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7d168923a35551ed6572d02a0f159e7d61f62cfc Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Thu Dec 11 21:15:35 2014 -0500 MIPS: Update arch/mips/include/asm/sgi/sgi.h Update arch/mips/include/asm/sgi/sgi.h with some updated information on SGI systems. Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Linux MIPS List <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/8666/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 02e47ca9bceb4f20c7e321590e17f1fb1e0cdf9b Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sun Dec 21 22:14:24 2014 +0100 MIPS: pci: Drop owner assignment from platform_drivers This platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8824/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1e294287bb5baec9a0173aff91df16e7eb68de09 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sun Dec 21 22:14:23 2014 +0100 MIPS: lantiq: xway: drop owner assignment from platform_drivers This platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8823/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 94e37fc22a99ce8f4b1995e4ead1c51c27923ae3 Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:38 2015 +0530 MIPS: Netlogic: Add built-in dts for XLP5xx boards Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8896/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 065d7029a83dab2c4d3947c0c8462e5c4ae5a5a6 Author: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:37 2015 +0530 MIPS: Netlogic: i2c IRQ mappings for XLP9XX The new I2C block in XLP9XX has 4 interrupts, add the mapping for these in nlm_hal.c Signed-off-by: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8897/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c982232a3c3627d5735fbc1be0ed9a77bf8e3de1 Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:36 2015 +0530 MIPS: Netlogic: Add irq mapping and setup for XHCI port 3 Add support for third XHCI port in XLPII processors. Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8895/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 94e2b96ecea3ee2a3cbd5147fa380e05a6c4b4bc Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:35 2015 +0530 MIPS: Netlogic: Do not enable SUE for core Enabling the SUE bit for core can can result in rare cache errors which are difficult to track down, so do not enable it. This can cause a minor performance loss in some tests. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8894/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5084e93dfeebd171e0ad02cc7ea560364a7f80b3 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Fri Jan 9 16:13:20 2015 +0530 MIPS: Netlogic: Handle XLP hardware errata Core configuration register IFU_BRUB_RESERVE has to be setup to handle a silicon errata which can result in a CPU hang. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8902/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b3b73ae62ca82744c92c1c2d49381add26d0a8bd Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:33 2015 +0530 MIPS: Netlogic: Update function to read DRAM BARs Change name of xlp_get_dram_map to nlm_get_dram_map to be consistent with the rest of the functions in the file. Pass the the size of the array 'dram_map' to the function, and ensure that it does not write past the end of the array. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8892/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ddba6833bbc5d0e1ed264ada2c00927c9f7cc11f Author: Prem Mallappa <pmallapp@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:32 2015 +0530 MIPS: Netlogic: Added HugeTLB as default Enable CPU_SUPPORTS_HUGEPAGES for XLP processors. Signed-off-by: Prem Mallappa <pmallapp@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8891/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7d1859dcf5bef2fb974c8b0617bee6b085767807 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:31 2015 +0530 MIPS: Netlogic: nlm_core_id for xlp9xx XLP9XX has 5 bits that specify the core in the EBASE register. XLP5XX case added as well for completeness. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8890/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c2736525465a5d6fe1456da8cc2bc701f9128682 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:30 2015 +0530 MIPS: Netlogic: Move cores per node out of multi-node.h Use the current_cpu_data package field to get the node of the current CPU. This allows us to remove xlp_cores_per_node and move nlm_threads_per_node() and nlm_cores_per_node() to netlogic/common.h, which simplifies code. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8889/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 65fecc2725e5c8d5ef988d971b798b28b94e1865 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:29 2015 +0530 MIPS: Netlogic: Use MIPS topology.h commit bda4584cd943 ("MIPS: Support CPU topology files in sysfs") added topology related macros for all MIPS platforms and commit bbbf6d8768f5 ("MIPS: NL: Fix nlm_xlp_defconfig build error") removed most of the contents from mach-netlogic/topology.h. The netlogic specific topology is not needed anymore, we just need to setup the package field in current_cpu_data. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8888/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 53f676977dddaa6784dab7b058cfe8895e3c8772 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:28 2015 +0530 MIPS: MSI: Update MSI handling for XLP The per-cpu interrupt ACK using EIRR has to be done just once after all the bits in the status register are processed. PIC ack has to be done once in case of MSI, and for every interrupt in case of MSI-X Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8887/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a3613be442aaf435d7d3b224c81cea0b0f702d6a Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:27 2015 +0530 MIPS: Netlogic: Fix frequency calculation register Change the PIC frequency calculation to use the register that has the current configuration. The existing code used the register that is written to change frequency, which can have an invalid value if the firmware did not set it up correctly. Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8885/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 72e0605b4346c3b018a5926ab0b3f535ab1f9b82 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:25 2015 +0530 MIPS: Netlogic: Disable writing IRT for disabled blocks If the device header of a block is not present, return invalid IRT value so that we do not program an incorrect offset. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8882/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9bbc6c7d35e2b3370e5e447f3d165892882d35a8 Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:24 2015 +0530 MIPS: Netlogic: Fix cop0 prid check in AHCI init PRID register should be masked with IMP_MASK to get processor ID. Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8883/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8db23f7df6be572d816f0d056fec16c954d3bdf6 Author: Qingmin Liu <qingmin@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:23 2015 +0530 MIPS: Netlogic: Fix nlm_xlp2_get_pic_frequency to use ref_div The variable ref_div is initialized to the correct divisor but not used in the frequency calculation. This caused incorrect frequency to be reported when the clock divisor is not 3. Signed-off-by: Qingmin Liu <qingmin@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8884/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 46ab6f24ac7b05c07e2936124b45da5f2f8fdc61 Author: Shanghui Liu <shliu@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:22 2015 +0530 MIPS: Netlogic: Fix wait for slave CPUs For core 0, the condition of "cpu == bootcpu" is always true, so it does not wait for other three threads to become ready. Fix this by using correct check. Signed-off-by: Shanghui Liu <shliu@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8881/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c775aa12307efecb00ea78265210535dc41cdd49 Author: Toma Tabacu <toma.tabacu@xxxxxxxxxx> Date: Tue Feb 24 15:25:11 2015 +0000 MIPS: LLVMLinux: Silence variable self-assignment warnings. Remove variable self-assignments. This silences a bunch of -Wself-assign warnings reported by clang. The changed code can be compiled without warnings by both gcc and clang. Signed-off-by: Toma Tabacu <toma.tabacu@xxxxxxxxxx> Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9314/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 20c82d93d3c284700c7749f51d4eff3eaaf3e13f Author: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Date: Tue Feb 24 15:25:10 2015 +0000 MIPS: LLVMLinux: Fix an 'inline asm input/output type mismatch' error. Replace incorrect matching constraint that caused the error with an alternative that still has the required constraints on the inline assembly. This is the error message reported by clang: arch/mips/include/asm/checksum.h:285:27: error: unsupported inline asm: input with type '__be32' (aka 'unsigned int') matching output with type 'unsigned short' "0" (htonl(len)), "1" (htonl(proto)), "r" (sum)); ^~~~~~~~~~~~ The changed code can be compiled successfully by both gcc and clang. Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Signed-off-by: Toma Tabacu <toma.tabacu@xxxxxxxxxx> Suggested-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9313/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e6baf0e0b6757082554b9fc217f1f036e9e4ee8f Author: Toma Tabacu <toma.tabacu@xxxxxxxxxx> Date: Tue Feb 24 15:25:09 2015 +0000 MIPS: LLVMLinux: Fix a 'cast to type not present in union' error. Remove a cast to the 'mips16e_instruction' union inside an if condition and instead do an assignment to a local 'union mips16e_instruction' variable's 'full' member before the if statement and use this variable in the if condition. This is the error message reported by clang: arch/mips/kernel/branch.c:38:8: error: cast to union type from type 'unsigned short' not present in union if (((union mips16e_instruction)inst).ri.opcode ^ ~~~~ The changed code can be compiled successfully by both gcc and clang. Signed-off-by: Toma Tabacu <toma.tabacu@xxxxxxxxxx> Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Cc: Andreas Herrmann <andreas.herrmann@xxxxxxxxxxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9312/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fe92da0f355e9f664a56702c36c50e20e84c51cd Author: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Date: Tue Feb 24 15:02:57 2015 +0000 MIPS: Changed current_thread_info() to an equivalent supported by both clang and GCC Without this, a 'break' instruction is executed very early in the boot and the boot hangs. The problem is that clang doesn't honour named registers on local variables and silently treats them as normal uninitialized variables. However, it does honour them on global variables. Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Acked-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9311/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 65c6896d266616e505d1c51fdd52120e90defa80 Author: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Date: Thu Feb 26 18:16:39 2015 -0600 MIPS: XPA: Add new configuration file. Add in new config files for enabling a XPA platform. Signed-off-by: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9354/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fe2360f8f505ea8340f710f1c80a8f56462bdd62 Author: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 18:06:11 2015 +0300 MIPS: OCTEON: Use correct CSR to soft reset This fixes reboot for Octeon III boards [ralf@xxxxxxxxxxxxxx: Dropped segment for function cvmx_reset_octeon() which was removed by the preceeding commit.] Signed-off-by: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9464/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 254f0bd99d37341b96977b9fdb153874e20db449 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Mar 25 11:44:09 2015 +0100 MIPS: Octeon: Remove unused function cvmx_reset_octeon(). As suggested by David Daney. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7f481716bc90442bb19e77b53b28c59a41499300 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Mar 5 17:31:31 2015 +0300 MIPS: OCTEON: Use device tree to probe for flash chips. Don't assume they are there, the device tree will tell us. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9461/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8c1e6b14e27d78fcea4aa6ba09e56c41f528f1cc Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Mar 5 17:31:30 2015 +0300 MIPS: OCTEON: Protect accesses to bootbus flash with octeon_bootbus_sem. Without this, we get bus errors. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9460/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 24d4e7f642882a8a13da170b4ba86eec8fa91bf2 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Mar 5 17:31:29 2015 +0300 MIPS: OCTEON: Add semaphore to serialize bootbus accesses. Some hardware blocks attached to the OCTEON bootbus run asynchronously to accesses from the CPUs. These include MMC/SD host, CF(when using DMA), and NAND controller. A bus error, or corrupt data may occur if a CPU is trying to access a bootbus connected device at the same time the bus is running asynchronous operations. To work around these problems we add this semaphore that must be acquired before initiating bootbus activity. Subsequent patches will add users for this. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> [aleksey.makarov@xxxxxxxxxx: combine the patches] Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Signed-off-by: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9459/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8945e37e103b165f12c403cc412740718969f811 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:20 2014 -0800 MIPS: BMIPS: Add DTS files for several platforms Most of the supported chips use legacy (non-DT) bootloaders, so they will need to select an appropriate builtin DTB at compile time until the bootloader is updated. Provide suitable DTS files, and a means to compile one of them into the kernel image. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8858/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 81a07b4abe1b574605b67e01e3167be44b541980 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:19 2014 -0800 MIPS: BMIPS: Update DT bindings to reflect new SoC support Add an entry for each supported Broadcom SoC. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8857/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cd586ebc324d7514ca1129f5847fbf83b0a59b60 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:18 2014 -0800 MIPS: BMIPS: Refresh BCM3384 DTS files The DT bindings for this platform have changed as the bootloader and product requirements evolved. In particular, there are both Linux-on-Zephyr and Linux-on-Viper configurations. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8856/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 60b858f225256a574d33e7321246ae501b7d8693 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:17 2014 -0800 MIPS: BMIPS: Enable additional peripheral and CPU support in defconfig Also, add an LE defconfig for set-top box (BCM7xxx). This will allow the BMIPS kernel to run on several non-BCM3384 platforms. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8855/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 66cc8ff3eb150850cd9230e3aae6c73dee93b06b Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:16 2014 -0800 MIPS: BMIPS: Use a non-default FIXADDR_TOP setting This will be required to support BMIPS3300 platforms. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8854/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e5a6fcc05831b269be35ec266639d901b43cba78 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:15 2014 -0800 MIPS: BMIPS: Delete the irqchip driver from irq.c BCM3384/BCM63xx can use the common drivers/irqchip/irq-bcm7120-l2.c for this purpose; BCM7xxx will use drivers/irqchip/irq-bcm7038-l1.c. We no longer need this code under arch/mips. [ralf@xxxxxxxxxxxxxx: Fix conflicts.] Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8853/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4b049a6b275db68c2c028937b89abd732dcdf536 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:14 2014 -0800 MIPS: BMIPS: Add quirks for several Broadcom platforms A couple of chips require special handling in order to make SMP secondary boot and/or exception vectors work correctly. Take care of these in setup.c. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8852/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c4b257091745170183e73d476906cabaf7edd540 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:13 2014 -0800 MIPS: BMIPS: Remove bogus bus name There is no "bcm3384" bus so let's just remove it to avoid confusion. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8851/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1ada656f67b0ada37309199997b9e4da9411ef7c Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:12 2014 -0800 MIPS: BMIPS: Rewrite DMA code to use "dma-ranges" property This is a more standardized way of handling DMA remapping, and it is suitable for the memory map found on BCM3384. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8850/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9c24ce29b2b8c60d4bcca90c0a4da54b28f0b4e7 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:11 2014 -0800 MIPS: BMIPS: Document the firmware->kernel DTB interface Add a new section covering the Generic BMIPS machine type. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8849/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5432eeb6fa5a43ec223ea7b5e06212ce422c9462 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:09 2014 -0800 MIPS: Reorder MIPS_L1_CACHE_SHIFT priorities Enabling support for more than one BMIPS CPU in the same build may result in different L1_CACHE_SHIFT values, e.g. CPU_BMIPS5000 selects MIPS_L1_CACHE_SHIFT_7 CPU_BMIPS4380 selects MIPS_L1_CACHE_SHIFT_6 anything else defaults to MIPS_L1_CACHE_SHIFT_5 Ensure that if more than one MIPS_L1_CACHE_SHIFT_x option is selected, Kconfig sets CONFIG_MIPS_L1_CACHE_SHIFT to the highest value. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8847/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9127dc478cd6c3bae3f20df78ea932528cd6b092 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:07 2014 -0800 MIPS: Let __dt_register_buses accept a single bus type Some machines only have one bus type to register (e.g. "simple-bus"). Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8845/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5f7f0317ed28b86bdae9baf65bb72d405b6f79ee Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:06 2014 -0800 IRQCHIP: Add new driver for BCM7038-style level 1 interrupt controllers This is the main peripheral IRQ controller on the BCM7xxx MIPS chips; it has the following characteristics: - 64 to 160+ level IRQs - Atomic set/clear registers - Reasonably predictable register layout (N status words, then N mask status words, then N mask set words, then N mask clear words) - SMP affinity supported on most systems - Typically connected to MIPS IRQ 2,3,2,3 on CPUs 0,1,2,3 This driver registers one IRQ domain and one IRQ chip to cover all instances of the block. Up to 4 instances of the block may appear, as it supports 4-way IRQ affinity on BCM7435. The same block exists on the ARM BCM7xxx chips, but typically the ARM GIC is used instead. So this driver is primarily intended for MIPS STB chips. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8844/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7b7230e70e9eda75356cf15c450b65b77924486f Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:05 2014 -0800 IRQCHIP: bcm7120-l2: Add support for BCM3380-style controllers These controllers support multiple enable/status pairs (64+ IRQs), can put the enable/status words at different offsets, and do not support multiple parent IRQs. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8843/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ca40f1b23df70c6f31b14a5743a6f3b60e862ce1 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:04 2014 -0800 IRQCHIP: bcm7120-l2: Split STB-specific logic into its own function The BCM7xxx instances of this block (listed in the register manual as simply "IRQ0") all have the following items in common: - brcm,int-map-mask: for routing different bits in the L2 to different parent IRQs - brcm,int-fwd-mask: for hardwiring certain IRQs to bypass the L2 and use dedicated L1 lines - one enable/status pair (32 bits only) Much of the driver code can be shared with BCM3380-style controllers, but in order to do this cleanly, let's split out the BCM7xxx-specific logic first. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8842/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5b5468cf1fe9d16e568b45685b31dd4c72588778 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:03 2014 -0800 IRQCHIP: bcm7120-l2: Refactor driver for arbitrary IRQEN/IRQSTAT offsets Currently the driver assumes that REG_BASE+0x00 is the IRQ enable mask, and REG_BASE+0x04 is the IRQ status mask. This is true on BCM3384 and BCM7xxx, but it is not true for some of the controllers found on BCM63xx chips. So we will change a couple of key assumptions: - Don't assume that both the IRQEN and IRQSTAT registers will be covered by a single ioremap() operation. - Don't assume any particular ordering (IRQSTAT might show up before IRQEN on some chips). - For an L2 controller with >=64 IRQs, don't assume that every IRQEN/IRQSTAT pair will use the same register spacing. This patch changes the "plumbing" but doesn't yet provide a way for users to instantiate a controller with arbitrary IRQEN/IRQSTAT offsets. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8841/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c9ae71e0f78fb72eedd674c788415cdf1eb34195 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Dec 25 09:49:02 2014 -0800 IRQCHIP: brcmstb-l2: don't clear wakeable interrupts at init time Wakeable interrupts might be pending at boot/init time, because wakeup interrupts might have triggered a resume from S5. So don't clear such wakeups. This means that any driver which requests a wakeable interrupt bit should be prepared to handle an interrupt as soon as they call request_irq(). (This is technically already the correct development practice, but some drivers probably expect not to receive interrupts until they have performed some I/O.) Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8840/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7e229fa07da10ee3dc3f88989b515293758c42eb Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:01 2014 -0800 IRQCHIP: Update docs regarding irq_domain_add_tree() Several drivers now use this API, including the ARM GIC driver, so remove the outdated comment. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8839/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5f2d44591fb374ae346a3df682d722b68552adc2 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:00 2014 -0800 MIPS: bcm3384: Rename "bcm3384" target to "bmips" This platform is configured primarily through device tree, and we can reuse the same code to support a bunch of other chips. Change the name to reflect this. [ralf@xxxxxxxxxxxxxx: Fix conflicts with other patches.] Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8838/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit eb2236ea580bb21c954c889cc3dc05b3e98238cd Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Dec 25 09:48:58 2014 -0800 MIPS: Add dtbs_install target Add the dtbs_install Makefile target to install the dtb files into $INSTALL_DTBS_PATH. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Tested-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8836/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8c0b9ee8665c43ee370108930ff51cab9a545c1c Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Dec 25 09:48:57 2014 -0800 MIPS: Move device-trees into vendor sub-directories Move the MIPS device-trees into the appropriate vendor sub-directories. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Tested-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8835/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ec9ddad3c6a5789373e4f67009a0dea276febc47 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:35 2015 -0800 MIPS: Add support for fine granularity task level IRQ time accounting With sched_clock being ready, it makes sense to add the option of IRQ time accounting -- When we have a fast enough sched_clock, IRQ time accounting will be enabled (see sched_clock_register). Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9489/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 262f1c92912fcf4150cafb1b1e78a2e4e646d008 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:34 2015 -0800 MIPS: csrc-sb1250: Implement read_sched_clock Use sb1250 hpt for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9488/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0dc886aba2c170118da8986c8ec73cc9902f7340 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:33 2015 -0800 MIPS: csrc-sb1250: Remove FSF mail address from GPL notice This is to make checkpatch.pl happy for the next patch. It would otherwise say -- ERROR: Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9487/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 02710fc8512f77597e9fa68d2d00000107b84242 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:32 2015 -0800 MIPS: csrc-sb1250: Extract hpt cycle acquisition from sb1250_hpt_read This is to prepare for the upcoming read_sched_clock implementation, which will also need to get cycles from the high precision timer. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9486/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 944081ac53c38f7f2b86165553bf9d4aa9fd5d97 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:31 2015 -0800 MIPS: jz4740: Implement read_sched_clock Use jz4740 timer counter for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9485/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a6071af914caec91d97d9db42a1bb0e9d6ad6890 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:30 2015 -0800 MIPS: cevt-txx9: Implement read_sched_clock Use txx9 up-counter for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9484/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c41cef36530a4b4afa79981e8f1a31f49b871a90 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:29 2015 -0800 MIPS: sgi-ip27: Implement read_sched_clock Use ip27 hub real time counter for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9483/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7cb24b700349f4287f4104bb9f3266d7f383d4cc Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:28 2015 -0800 MIPS: csrc-ioasic: Implement read_sched_clock Use DEC I/O ASIC's free-running counter for sched_clock source. This implementation will give high resolution cputime accounting. Acked-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9482/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 317adb12e5417167162bf7f8a3265c06ae9ef216 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:27 2015 -0800 MIPS: csrc-ioasic: Remove FSF mail address from GPL notice This is to make checkpatch.pl happy for the next patch. It would otherwise say -- ERROR: Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL. Acked-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9481/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 27acdea8fefeb6bec6f5af771df233c83aeac683 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:26 2015 -0800 MIPS: csrc-bcm1480: Implement read_sched_clock Use the ZBbus cycle counter for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9480/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 788049e2d523e64fa48a9a4bce99ed93a8dc943a Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:25 2015 -0800 MIPS: csrc-bcm1480: Remove FSF mail address from GPL notice This is to make checkpatch.pl happy for the next patch. It would otherwise say -- ERROR: Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9479/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e9cef549c34603cd312cf536d8b624243a7963d4 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:24 2015 -0800 MIPS: csrc-r4k: Implement read_sched_clock Use c0 count register for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9478/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 929de4cc9719398f3a7246854b6c254070e18b0a Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:23 2015 -0800 MIPS: Add sched_clock support This will provide sched_clock interface to implement individual read_sched_clock(). Not for CAVIUM_OCTEON_SOC as it defines its own sched_clock() directly (not using the sched_clock_register interface). Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9477/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ff37015b6d8078eed8641fa7602e09fee7db761a Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:22 2015 -0800 CLOCKSOURCE: versatile: Add PLAT_VERSATILE dependency GENERIC_SCHED_CLOCK can be selected by architectures other than ARM. The current dependencies of CLKSRC_VERSATILE make it possible that other architectures will have CLKSRC_VERSATILE available in configuration once they select GENERIC_SCHED_CLOCK, whereas this clock source should be solely available to ARM in reality. This patch adds one more dependency to CLKSRC_VERSATILE to fix the issue. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Reported-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9476/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bb877e96bea1f411106bdc639ce6858095775c3a Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:21 2015 -0800 MIPS: Add support for full dynticks CPU time accounting With the correct cmpxchg64 on 32-bit platforms, we can now add the config HAVE_VIRT_CPU_ACCOUNTING_GEN into arch/mips/Kconfig. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9475/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e2093c7b03c116238dd8e36bdbe03fff97e1cae9 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:20 2015 -0800 MIPS: Fall back to generic implementation of cmpxchg64 on 32-bit platforms This is in preparation of adding HAVE_VIRT_CPU_ACCOUNTING_GEN support in the next patch. Without having cmpxchg64 to use the generic implementation, kernel linking will complain: kernel/built-in.o: In function `cputime_adjust': cputime.c:(.text+0x33748): undefined reference to `__cmpxchg_called_with_bad_pointer' cputime.c:(.text+0x33810): undefined reference to `__cmpxchg_called_with_bad_pointer' Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9474/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 96685b17108b4dbbbaea06307c3fcdb32eb152d0 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:19 2015 -0800 MIPS: Add SCHED_HRTICK support We have HIGH_RES_TIMERS to support SCHED_HRTICK. But SCHED_HRTICK is in kernel/Kconfig.hz where HZ values unsuitable for MIPS are defined. So we simply add this config in arch/mips/Kconfig as opposed to including the whole kernel/Kconfig.hz. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9473/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 73569d87e2cc5fdc0010e612a3c94f919228e301 Author: David Daney <david.daney@xxxxxxxxxx> Date: Fri Mar 20 19:11:58 2015 +0300 MIPS: OCTEON: Enable little endian kernel. Now it is supported, so let people select it. [ralf@xxxxxxxxxxxxxx: Folded in fix for bogus CONFIG_ kconfig symbol prefix. Issue reported by Valentin Rothberg <valentinrothberg@xxxxxxxxx>.] Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Leonid Rosenboim <lrosenboim@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9592/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e7916357e7d037594ca356221b8595754bec1a8a Author: David Daney <david.daney@xxxxxxxxxx> Date: Fri Mar 20 19:11:57 2015 +0300 MIPS: OCTEON: Add mach-cavium-octeon/mangle-port.h Needed for little-endian ioport access. This fixes NOR flash in little-endian mode Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9591/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 534c158ea64b8977c7971a0a609018ab48c5c055 Author: David Daney <david.daney@xxxxxxxxxx> Date: Fri Mar 20 19:11:56 2015 +0300 MIPS: Octeon: Handle bootloader structures in little-endian mode. Compensate for the differences in the layout of in-memory bootloader information as seen from little-endian mode. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9590/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4c1eaa2344fb26bb5e936fb4d8ee307343ea0089 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Apr 1 09:12:19 2015 +0200 drivers/block/pmem: Fix 32-bit build warning in pmem_alloc() Fix: drivers/block/pmem.c: In function â??pmem_allocâ??: drivers/block/pmem.c:138:7: warning: format â??%llxâ?? expects argument of type â??long long unsigned intâ??, but argument 3 has type â??phys_addr_tâ?? [-Wformat=] By using the proper %pa format specifier we use for 'phys_addr_t' arguments. Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Keith Busch <keith.busch@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-nvdimm@xxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9e853f2313e5eb163cb1ea461b23c2332cf6438a Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Wed Apr 1 09:12:19 2015 +0200 drivers/block/pmem: Add a driver for persistent memory PMEM is a new driver that presents a reserved range of memory as a block device. This is useful for developing with NV-DIMMs, and can be used with volatile memory as a development platform. This patch contains the initial driver from Ross Zwisler, with various changes: converted it to use a platform_device for discovery, fixed partition support and merged various patches from Boaz Harrosh. Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Keith Busch <keith.busch@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-nvdimm@xxxxxxxxxxx Link: http://lkml.kernel.org/r/1427872339-6688-3-git-send-email-hch@xxxxxx [ Minor cleanups. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bfd4e9562c8769feadba9b5262200448656b8048 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Apr 1 16:03:46 2015 +0100 AFS: afs_send_empty_reply() doesn't require an iovec array afs_send_empty_reply() doesn't require an iovec array with which to initialise the msghdr, but can pass NULL instead. Suggested-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit ec776ef6bbe1734c29cd6bd05219cd93b2731bd4 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Apr 1 09:12:18 2015 +0200 x86/mm: Add support for the non-standard protected e820 type Various recent BIOSes support NVDIMMs or ADR using a non-standard e820 memory type, and Intel supplied reference Linux code using this type to various vendors. Wire this e820 table type up to export platform devices for the pmem driver so that we can use it in Linux. Based on earlier work from: Dave Jiang <dave.jiang@xxxxxxxxx> Dan Williams <dan.j.williams@xxxxxxxxx> Includes fixes for NUMA regions from Boaz Harrosh. Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Keith Busch <keith.busch@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-nvdimm@xxxxxxxxxxx Link: http://lkml.kernel.org/r/1427872339-6688-2-git-send-email-hch@xxxxxx [ Minor cleanups. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 382d7974de31ef5e64dceee0d9cada3d3864b767 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Apr 1 15:43:26 2015 +0100 RxRPC: Use iov_iter_count() in rxrpc_send_data() instead of the len argument Use iov_iter_count() in rxrpc_send_data() to get the remaining data length instead of using the len argument as the len argument is now redundant. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit aab94830a7fdf17aac07fea54d4cb43b0ad001b8 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Apr 1 15:48:00 2015 +0100 RxRPC: Don't call skb_add_data() if there's no data to copy Don't call skb_add_data() in rxrpc_send_data() if there's no data to copy and also skip the calculations associated with it in such a case. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 64a31be39b8c0c0b0a00cf46a3e10a90dc336a0e Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:55 2015 -0700 crypto: qat - fix checkpatch CODE_INDENT issue ERROR:CODE_INDENT: code indent should use tabs where possible Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 724c76ce30aeb7699561f7dd4c8bd63d30f65938 Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:50 2015 -0700 crypto: qat - fix checkpatch COMPARISON_TO_NULL issue CHECK:COMPARISON_TO_NULL: Comparison to NULL could be written "!device_reset_wq" Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit af6f2a7bb56cfb9face2155c6c823a3b5a7cb1ab Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:45 2015 -0700 crypto: qat - fix checkpatch BIT_MACRO issues CHECK:BIT_MACRO: Prefer using the BIT macro Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f7b3c2d34f9e2d02254d550b557ddf7c76ab8057 Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:40 2015 -0700 crypto: qat - fix checkpatch CONCATENATED_STRING issues CHECK:CONCATENATED_STRING: Concatenated strings should use spaces between elements Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b21582dfd5865fe83b690153eed9622981834598 Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:35 2015 -0700 crypto: qat - checkpatch PARENTHESIS_ALIGNMENT and LOGICAL_CONTINUATIONS Cleanup code to fix the subject checkpatch warnings Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 304989fe59eb8edb4bf015cd6ebfd4f4a857c3b0 Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:29 2015 -0700 crypto: qat - fix checkpatch CHECK_SPACING issues Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 754a90d3f38979677490994189bf371ec2dd118d Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:24 2015 -0700 crypto: qat - fix typo adt_ctl_drv should be adf_ctl_drv Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6d7e7e02a044025237b6f62a20521170b794537f Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Mar 31 09:52:25 2015 +0530 crypto: omap-aes - Fix support for unequal lengths For cases where total length of an input SGs is not same as length of the input data for encryption, omap-aes driver crashes. This happens in the case when IPsec is trying to use omap-aes driver. To avoid this, we copy all the pages from the input SG list into a contiguous buffer and prepare a single element SG list for this buffer with length as the total bytes to crypt, which is similar thing that is done in case of unaligned lengths. Fixes: 6242332ff2f3 ("crypto: omap-aes - Add support for cases of unaligned lengths") Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b0a3d8986a768c8b6a95ea6dd36e975bb3a44c44 Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Mar 31 09:52:24 2015 +0530 crypto: omap-sham - Use pm_runtime_irq_safe() omap_sham_handle_queue() can be called as part of done_task tasklet. During this its atomic and any calls to pm functions cannot sleep. But there is a call to pm_runtime_get_sync() (which can sleep) in omap_sham_handle_queue(), because of which the following appears: " [ 116.169969] BUG: scheduling while atomic: kworker/0:2/2676/0x00000100" Add pm_runtime_irq_safe() to avoid this. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 84a87c628a12f95d8b0c86cc7b8edb28ea5edf90 Merge: e42391c a643375 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Apr 1 15:10:25 2015 +0200 Merge tag 'efi-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into core/efi Pull EFI updates from Matt Fleming: - Fixes and cleanups for SMBIOS 3.0 DMI code. (Ivan Khoronzhuk) - A new efi=debug command line option that enables debug output in the EFI boot stub and results in less verbose EFI memory map output by default. (Borislav Petkov) - Disable interrupts around EFI calls and use a more standard page table saving and restoring idiom when making EFI calls. (Ingo Molnar) - Reduce the number of memory allocations performed when allocating the FDT in EFI boot stub by retrieving size from the FDT header in the EFI config table. (Ard Biesheuvel) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3af6878ecad229346fbc2c8f2663089aa6aef20d Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Apr 1 14:06:00 2015 +0100 RxRPC: Fix the conversion to iov_iter This commit: commit af2b040e470b470bfc881981db3c796072853eae Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 27 21:44:24 2014 -0500 Subject: rxrpc: switch rxrpc_send_data() to iov_iter primitives incorrectly changes a do-while loop into a while loop in rxrpc_send_data(). Unfortunately, at least one pass through the loop is required - even if there is no data - so that the packet the closes the send phase can be sent if MSG_MORE is not set. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 788211d81bfdf9b6a547d0530f206ba6ee76b107 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Apr 1 14:20:42 2015 +0200 mac80211: fix RX A-MPDU session reorder timer deletion There's an issue with the way the RX A-MPDU reorder timer is deleted that can cause a kernel crash like this: * tid_rx is removed - call_rcu(ieee80211_free_tid_rx) * station is destroyed * reorder timer fires before ieee80211_free_tid_rx() runs, accessing the station, thus potentially crashing due to the use-after-free The station deletion is protected by synchronize_net(), but that isn't enough -- ieee80211_free_tid_rx() need not have run when that returns (it deletes the timer.) We could use rcu_barrier() instead of synchronize_net(), but that's much more expensive. Instead, to fix this, add a field tracking that the session is being deleted. In this case, the only re-arming of the timer happens with the reorder spinlock held, so make that code not rearm it if the session is being deleted and also delete the timer after setting that field. This ensures the timer cannot fire after ___ieee80211_stop_rx_ba_session() returns, which fixes the problem. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3adc12e9648291149a1e3f354d0ad158fc2571e7 Author: Jan Kara <jack@xxxxxxx> Date: Tue Mar 24 16:47:25 2015 -0400 udf: Update ctime and mtime when directory is modified We failed to update ctime & mtime of a directory when new entry was created in it during rename, link, create, etc. Fix that. Reported-by: Taesoo Kim <tsgatesv@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 7270d11c56f594af4d166b2988421cd8ed933dc1 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:11:52 2015 +0100 arm/bL_switcher: Kill tick suspend hackery Use the new tick_suspend/resume_local() and get rid of the homebrewn implementation of these in the ARM bL switcher. The check for the cpumask is completely pointless. There is no harm to suspend a per cpu tick device unconditionally. If that's a real issue then we fix it proper at the core level and not with some completely undocumented hacks in some random core code. Move the tick internals to the core code, now that this nuisance is gone. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ rjw: Rebase, changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1655112.Ws17YsMfN7@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f46481d0a7cb942b84145acb80ad43bdb1ff8eb4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:11:04 2015 +0100 tick/xen: Provide and use tick_suspend_local() and tick_resume_local() Xen calls on every cpu into tick_resume() which is just wrong. tick_resume() is for the syscore global suspend/resume invocation. What XEN really wants is a per cpu local resume function. Provide a tick_resume_local() function and use it in XEN. Also provide a complementary tick_suspend_local() and modify tick_unfreeze() and tick_freeze(), respectively, to use the new local tick resume/suspend functions. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Combined two patches, rebased, modified subject/changelog. ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1698741.eezk9tnXtG@xxxxxxxxxxxxxx [ Merged to latest timers/core. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 080873ce2d1abd8c0a2b8c87bfa0762546a6b713 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:09:55 2015 +0100 tick: Make tick_resume_broadcast_oneshot() static Solely used in tick-broadcast.c and the return value is hardcoded 0. Make it static and void. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1689058.QkHYDJSRKu@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4ffee521f36390c7720d493591b764ca35c8030b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:09:16 2015 +0100 clockevents: Make suspend/resume calls explicit clockevents_notify() is a leftover from the early design of the clockevents facility. It's really not a notification mechanism, it's a multiplex call. We are way better off to have explicit calls instead of this monstrosity. Split out the suspend/resume() calls and invoke them directly from the call sites. No locking required at this point because these calls happen with interrupts disabled and a single cpu online. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Rebased on top of 4.0-rc5. ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/713674030.jVm1qaHuPf@xxxxxxxxxxxxxx [ Rebased on top of latest timers/core. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db6f672ef11d7a3c5aa128a3c3e57c92580a25f7 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:08:27 2015 +0100 clockevents: Remove extra local_irq_save() in clockevents_exchange_device() Called with 'clockevents_lock' held and interrupts disabled already. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/51005827.yXt5tjZMBs@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c1797baf6880174f899ce3960d0598f5bbeeb7ff Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:07:37 2015 +0100 tick: Move core only declarations and functions to core No point to expose everything to the world. People just believe such functions can be abused for whatever purposes. Sigh. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Rebased on top of 4.0-rc5 ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Nicolas Pitre <nico@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/28017337.VbCUc39Gme@xxxxxxxxxxxxxx [ Merged to latest timers/core ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b7475eb599ddb2e8cab2dc86ff38a9507463ad6b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:06:47 2015 +0100 tick: Simplify tick-internal.h tick-internal.h is pretty confusing as a lot of the stub inlines are there several times. Distangle the maze and make clear functional sections. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ rjw: Subject ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/16068264.vcNp79HLaT@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bfb83b27519aa7ed9510f601a8f825a2c1484bc2 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:06:04 2015 +0100 tick: Move clocksource related stuff to timekeeping.h Move clocksource related stuff to timekeeping.h and remove the pointless include from ntp.c Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ rjw: Subject ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2714218.nM5AEfAHj0@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9f083b74df3a7eaa100b456f2dc195512daf728e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:05:19 2015 +0100 clockevents: Remove CONFIG_GENERIC_CLOCKEVENTS_BUILD This option was for simpler migration to the clock events code. Most architectures have been converted and the option has been disfunctional as a standalone option for quite some time. Remove it. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/5021859.jl9OC1medj@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 80313b3078fcd2ca51970880d90757f05879a193 Author: Stefan Lippers-Hollmann <s.l-h@xxxxxx> Date: Mon Mar 30 22:44:27 2015 +0200 x86/reboot: Add ASRock Q1900DC-ITX mainboard reboot quirk The ASRock Q1900DC-ITX mainboard (Baytrail-D) hangs randomly in both BIOS and UEFI mode while rebooting unless reboot=pci is used. Add a quirk to reboot via the pci method. The problem is very intermittent and hard to debug, it might succeed rebooting just fine 40 times in a row - but fails half a dozen times the next day. It seems to be slightly less common in BIOS CSM mode than native UEFI (with the CSM disabled), but it does happen in either mode. Since I've started testing this patch in late january, rebooting has been 100% reliable. Most of the time it already hangs during POST, but occasionally it might even make it through the bootloader and the kernel might even start booting, but then hangs before the mode switch. The same symptoms occur with grub-efi, gummiboot and grub-pc, just as well as (at least) kernel 3.16-3.19 and 4.0-rc6 (I haven't tried older kernels than 3.16). Upgrading to the most current mainboard firmware of the ASRock Q1900DC-ITX, version 1.20, does not improve the situation. ( Searching the web seems to suggest that other Bay Trail-D mainboards might be affected as well. ) -- Signed-off-by: Stefan Lippers-Hollmann <s.l-h@xxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Matt Fleming <matt.fleming@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150330224427.0fb58e42@mir Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b86ed078a65433a60ff59091a136d23724bd6d3 Author: Keith Packard <keithp@xxxxxxxxxx> Date: Thu Mar 26 16:49:38 2015 -0700 usb: Fix warnings in chaoskey driver > drivers/usb/misc/chaoskey.c: In function 'chaoskey_read': > >> drivers/usb/misc/chaoskey.c:412:3: error: implicit declaration of function 'copy_to_user' > >> [-Werror=implicit-function-declaration] > remain = copy_to_user(buffer, dev->buf + dev->used, this_time); I was unable to reproduce this locally, but added an explicit #include <linux/uaccess.h> which should ensure the definition on all architectures. > sparse warnings: (new ones prefixed by >>) > > >> drivers/usb/misc/chaoskey.c:117:30: sparse: incorrect type in assignment (different base types) > drivers/usb/misc/chaoskey.c:117:30: expected int [signed] size > drivers/usb/misc/chaoskey.c:117:30: got restricted __le16 [usertype] wMaxPacketSize Switched the code to using the USB descriptor accessor functions. Signed-off-by: Keith Packard <keithp@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86d39839bc6bccc9b6b89de8c9c38beb9709f559 Merge: 911a888 66bee35 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 13:51:59 2015 +0200 Merge tag 'extcon-next-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next Chanwoo writes: Update extcon for v4.1 This patchset include two new extcon driver and fix minor issue of extcon driver. Detailed description for patchset: 1. new extcon-max77843.c and extcon-usb-gpio.c extcon driver - extcon-max77843.c driver support the MAXIM MAX77843 MUIC (Micor-USB Interface Controller) device which handles the various external connectors such as TA/USB /USB-HOST/JIG and so on. - extcon-usb-gpio.c driver support the USB and USB-HOST cable detection by using the GPIO pin which is connected to USB ID pin. This GPIO pin updates the USB cable states. 2. Rename the filename of extcon core driver and add missing locking mechanism - Rename the previous extcon-class driver.c as extcon.c because '-class' postfix is not necessary word. - extcon core driver (extcon.c) used the raw_notifier_chain. It must be protected by locking mechanism to avoid the list changing while extcon_update_state() is executed. 3. Fix minor issue of extcon drviers - Fix cable name by using the capital letter instead of small letter on extcon-max77693.c driver. - Clean-up code of extcon-arizona.c to detect headphone cable. - Fix the wrong return type and variable type on extcon-max77843.c. - Fix the checkpatch warning of all extcon drivers. commit dce5bdfe8fc1e3b49fa6fcf21e07bb12360e1b98 Merge: 3d8bbe2 4ce7ca8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 13:51:02 2015 +0200 Merge tag 'iio-fixes-for-4.0d' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus Jonathan writes: IIO fixes for 4.0 set 4 A couple more IIO fixes. * Fix check for HAS_IOMEM in the cc100001_adc driver to avoid build errors. Rather curiously it was ORed with Regulator and clock support. * vf610 driver was trying to use an ADC clock outside the possible spec on some boards. The driver assumed a fixed clock speed previously across all boards, but that is not true. This fix ensures that the reported frequency is correct on all boards. * The adis imu common code directly set the current trigger to the driver supplied one. Unfortunately this didn't increase the use count leading to a double free via a particular path of changing the trigger then removing the driver. commit a643375f4b175569bc3c03c7a3e758f845c1ccd9 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 4 13:02:29 2015 +0100 efi/libstub: Retrieve FDT size when loaded from UEFI config table When allocating memory for the copy of the FDT that the stub modifies and passes to the kernel, it uses the current size as an estimate of how much memory to allocate, and increases it page by page if it turns out to be too small. However, when loading the FDT from a UEFI configuration table, the estimated size is left at its default value of zero, and the allocation loop runs starting from zero all the way up to the allocation size that finally fits the updated FDT. Instead, retrieve the size of the FDT from the FDT header when loading it from the UEFI config table. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Roy Franz <roy.franz@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 744937b0b12a669f298949c4a810794c59fead98 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 07:48:50 2015 +0100 efi: Clean up the efi_call_phys_[prolog|epilog]() save/restore interaction Currently x86-64 efi_call_phys_prolog() saves into a global variable (save_pgd), and efi_call_phys_epilog() restores the kernel pagetables from that global variable. Change this to a cleaner save/restore pattern where the saving function returns the saved object and the restore function restores that. Apply the same concept to the 32-bit code as well. Plus this approach, as an added bonus, allows us to express the !efi_enabled(EFI_OLD_MEMMAP) situation in a clean fashion as well, via a 'NULL' return value. Cc: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 23a0d4e8fa6d3a1d7fb819f79bcc0a3739c30ba9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 07:34:33 2015 +0100 efi: Disable interrupts around EFI calls, not in the epilog/prolog calls Tapasweni Pathak reported that we do a kmalloc() in efi_call_phys_prolog() on x86-64 while having interrupts disabled, which is a big no-no, as kmalloc() can sleep. Solve this by removing the irq disabling from the prolog/epilog calls around EFI calls: it's unnecessary, as in this stage we are single threaded in the boot thread, and we don't ever execute this from interrupt contexts. Reported-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit fed6cefe3b6e862dcc74d07324478caa07e84eaf Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 5 11:44:41 2015 +0100 x86/efi: Add a "debug" option to the efi= cmdline ... and hide the memory regions dump behind it. Make it default-off. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Link: http://lkml.kernel.org/r/20141209095843.GA3990@xxxxxxx Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx> Acked-by: Dave Young <dyoung@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 675732707f29d6714bc756a75e70a6ec2b16a478 Merge: f8da055 e0631a3 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 13:43:39 2015 +0200 Merge tag 'iio-for-4.1b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: Second set of new devices, functionality and cleanup for IIO in the 4.1 cycle. New Functionality * Watermark logic for buffers. Allows for blocking reads to block until their requested amount is available - previously they only blocked until a single scan of data was available. Also allows for polling for a watermark amount of data to be available. This feature was first proposed some time ago to good responses, but not taken further by the original author Octavian has picked up the gauntlet and taken it through to merging (along with the hardware fifo support that follows). * New approach to hardware fifo handling - in particular handling the interaction of a hardware fifo feeding into a software fifo and their watershed events. We don't have every possible case well covered yet, but this is certainly a good, flexible starting point. This will replace the previous approach used in ancient drivers (sca3000) where we just exposed the hardware buffer directly to userspace. Very few pieces of hardware have sufficiently long buffers for that to be an adequate solution. * bmc150_accel - hardware fifo support. * mlx90614 - support dual IR sensor devices + some refactoring to clean up the code and allow some other functionality currently under review. * L3GD20H gyroscope support added to the st_gyro driver. * lis3lv02d accelerometer added to the st_gyro driver. Note this part is also supported by the older lis3 driver under misc. A lengthy discussion took place and concluded that holding parts out on the basis that whole driver would be subsumed into this one was counter productive. Better to add part support and add additional features as people need them. Basically there was not advantage in not merging the support. * max517 driver gains support for MAX520 and MAX521 DACs. Documentation * 3.20 -> 4.0 renaming for recent docs. Whilst technically a fix, I think people will cope until the next merge merge window. * An ABI typo hat -> What: More ABIs should have hats. * Document in_rot_offset, illuminance_raw and illuminance_scale. Cleanups * Fix a scale extraction bug in generic_buffer.c example. * Constify a load of device tree related structures. commit d3a3d28f1c7eaec42bdc26aab2dc53bc602887a4 Merge: baf7a6c b229a0f Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 13:42:58 2015 +0200 Merge tag 'usb-serial-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus Johan writes: USB-serial fixes for v4.0-rc6 Here are a few new device IDs. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit a6de5a21fb25cdbbdf3c3e9afd8481581c4f2464 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:11 2015 +0200 x86/asm/entry/64: Use local label to skip around sycall dispatch Logically, we just want to jump around the following instruction and its prologue/epilogue: call *sys_call_table(,%rax,8) if the syscall number is too big - we do not specifically target the "int_ret_from_sys_call" label. Use a local, numerical label for this jump, for more clarity. This also makes the code smaller: -ffffffff8187756b: 0f 87 0f 00 00 00 ja ffffffff81877580 <int_ret_from_sys_call> +ffffffff8187756b: 77 0f ja ffffffff8187757c <int_ret_from_sys_call> because jumps to global labels are never translated to short jump instructions by GAS. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-9-git-send-email-dvlasenk@xxxxxxxxxx [ Improved the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a734b4a23e4b5a5bba577d11b6e2ff21f6ca4fce Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:10 2015 +0200 x86/asm: Replace "MOVQ $imm, %reg" with MOVL There is no reason to use MOVQ to load a non-negative immediate constant value into a 64-bit register. MOVL does the same, since the upper 32 bits are zero-extended by the CPU. This makes the code a bit smaller, while leaving functionality unchanged. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-8-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 36acef2510853e2831047ca9e22d333ba7a1047b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:07 2015 +0200 x86/asm/entry/64: Simplify looping around preempt_schedule_irq() At the 'exit_intr' label we test whether interrupt/exception was in kernel. If it did, we jump to the preemption check. If preemption does happen (IOW if we call preempt_schedule_irq()), we go back to 'exit_intr'. But it's pointless, we already know that the test succeeded last time, preemption doesn't change the fact that interrupt/exception was in the kernel. We can go back directly to checking PER_CPU_VAR(__preempt_count) instead. This makes the 'exit_intr' label unused, drop it. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-5-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 32a04077fe401842424a4b555572fa459c01e0a3 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:06 2015 +0200 x86/asm/entry/64: Remove redundant DISABLE_INTERRUPTS() At this location, we already have interrupts off, always. To be more specific, we already disabled them here: ret_from_intr: DISABLE_INTERRUPTS(CLBR_NONE) Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6ba71b7617f1fa65f19bd34f4484a0694ef9a520 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:05 2015 +0200 x86/asm/entry/64: Simplify retint_kernel label usage, make retint_restore_args label local Get rid of #define obfuscation of retint_kernel in CONFIG_PREEMPT case by defining retint_kernel label always, not only for CONFIG_PREEMPT. Strip retint_kernel of .global-ness (ENTRY macro) - it has no users outside of this file. This looks like cosmetics, but it is not: "je LABEL" can be optimized to short jump by assember only if LABEL is not global, for global labels jump is always a near one with relocation. Convert retint_restore_args to a local numeric label, making it clearer that it is not used elsewhere in the file. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4c9c0e919fef05b3bc6a8aff1db7a31b2ba4f4b6 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:04 2015 +0200 x86/asm/entry/32: Use smaller PUSH instructions instead of MOV, to build 'pt_regs' on stack This mimics the recent similar 64-bit change. Saves ~110 bytes of code. Patch was run-tested on 32 and 64 bits, Intel and AMD CPU. I also looked at the diff of entry_64.o disassembly, to have a different view of the changes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4416c5a6dacdddd55378e7011f9c8720d2a7470f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:03 2015 +0200 x86/asm/entry/64: Do not TRACE_IRQS fast SYSRET64 path SYSRET code path has a small irq-off block. On this code path, TRACE_IRQS_ON can't be called right before interrupts are enabled for real, we can't clobber registers there. So current code does it earlier, in a safe place. But with this, TRACE_IRQS_OFF/ON frames just two fast instructions, which is ridiculous: now most of irq-off block is _outside_ of the framing. Do the same thing that we do on SYSCALL entry: do not track this irq-off block, it is very small to ever cause noticeable irq latency. Be careful: make sure that "jnz int_ret_from_sys_call_irqs_off" now does invoke TRACE_IRQS_OFF - move int_ret_from_sys_call_irqs_off label before TRACE_IRQS_OFF. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2391b340ca5b7dd041a2bf86afe12bc004acb583 Author: Mylene JOSSERAND <josserand.mylene@xxxxxxxxx> Date: Mon Mar 30 23:39:25 2015 +0200 mmc: sdhci-tegra: convert to use GPIO descriptors Modify the driver to handle GPIOs using the descriptor API. Signed-off-by: Mylene JOSSERAND <josserand.mylene@xxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Tested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0fd2ba36b8e4c720e5fb5ee40171919c8207237e Author: Changwoo Min <changwoo.m@xxxxxxxxx> Date: Sun Mar 22 19:17:49 2015 -0400 udf: return correct errno for udf_update_inode() Instead of -ENOMEM, properly return -EIO udf_update_inode() error, similar/consistent to the rest of filesystems. Signed-off-by: Changwoo Min <changwoo.m@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 6d1966dfd6e0ad2f8aa4b664ae1a62e33abe1998 Author: Bo Yan <byan@xxxxxxxxxx> Date: Tue Mar 31 21:30:48 2015 +0100 arm64: fix midr range for Cortex-A57 erratum 832075 Register MIDR_EL1 is masked to get variant and revision fields, then compared against midr_range_min and midr_range_max when checking whether CPU is affected by any particular erratum. However, variant and revision fields in MIDR_EL1 are separated by 16 bits, so the min and max of midr range should be constructed accordingly, otherwise the patch will not be applied when variant field is non-0. Cc: stable@xxxxxxxxxxxxxxx # 3.19+ Acked-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Bo Yan <byan@xxxxxxxxxx> [will: use MIDR_VARIANT_SHIFT to construct upper bound] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a0f10c131cc49d7d84394beb7903e1f246331224 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Mar 4 05:55:22 2015 -0800 [media] media: s5p-mfc: fix broken pointer cast on 64bit arch Unsigned int cannot be used to store casted pointer on 64bit architecture, so correct such casts to properly use unsigned long variables. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> [k.debski@xxxxxxxxxxx: removed volatile and __iomem from cast] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 05b676ab42f624425d5f6519276e506b812fa058 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Mar 4 05:55:21 2015 -0800 [media] media: s5p-mfc: fix mmap support for 64bit arch TASK_SIZE is depends on the systems architecture (32 or 64 bits) and it should not be used for defining offset boundary for mmaping buffers for CAPTURE and OUTPUT queues. This patch fixes support for MMAP calls on the CAPTURE queue on 64bit architectures (like ARM64). Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6b46211f0a3b18b2360275ac29c4d6bfdf7bc015 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 8 23:20:03 2015 -0800 [media] cx23885: fix querycap cap->device_caps wasn't set in cx23885-417.c causing a warning from the v4l2-core. Reported-by: Joseph Jasi <joe.yasi@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.19 and up Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ab3120300be067a2d41a027c41db0b2c662ab200 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Dec 10 12:35:34 2014 -0300 [media] sh_veu: v4l2_dev wasn't set The v4l2_dev field of struct video_device must be set correctly. This was never done for this driver, so no video nodes were created anymore. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.11 and up Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1dbee1a3c38a8792c235048df1d709fc5ca3a185 Author: Yakir Yang <ykk@xxxxxxxxxxxxxx> Date: Tue Mar 31 23:57:10 2015 -0400 drm: rockchip/dw_hdmi-rockchip: improve for HDMI electrical test When pixel clock less than 148.5MHz, make sloopboost=2 tklvl=20 cklvl=13 increase rasing/falling time and increase data & clock voltage driver. When pixel clock less than 74.25MHz, make sloopboost=0 tklvl=19 cklvl=18, increase data and clock voltage driver. Signed-off-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 034705a48bcae9d51661c461b7dd21e0d5b85afc Author: Yakir Yang <ykk@xxxxxxxxxxxxxx> Date: Tue Mar 31 23:56:10 2015 -0400 drm: bridge/dw_hdmi: separate VLEVCTRL settting into platform driver Because of iMX6 & Rockchip have differnet mpll config parameter, the VLEVCTRL parameter would be different. In this case we should separate VLEVCTRL setting from the common dw_hdmi driver, config this parameter in platform driver(dw_hdmi-imx and dw_hdmi-rockchip) Signed-off-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ca44b9d16423e5c8bd75328a217e5ed8d30c5b1d Author: Yakir Yang <ykk@xxxxxxxxxxxxxx> Date: Tue Mar 31 23:55:59 2015 -0400 drm: bridge/dw_hdmi: fixed codec style Using a local struct pointer to reduce one level of indirection makes the code slightly more readable. Signed-off-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 79d5eeddd7d23bd4588e370072977928b7075911 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Wed Apr 1 11:49:59 2015 +0200 can: pcan_usb: pcan_usb_fd_send_cmd(): silence compiler warning about uninitialized var This patch silences the compiler warning: drivers/net/can/usb/peak_usb/pcan_usb_fd.c: In function 'pcan_usb_fd_send_cmd': drivers/net/can/usb/peak_usb/pcan_usb_fd.c:185:6: warning: 'err' may be used uninitialized in this function [-Wuninitialized] by initialising the variable as 0. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit c5035c77f89364d2da2871d829553bd1a4321940 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Mar 27 12:14:13 2015 +0100 netfilter: nft_meta: fix cgroup matching We have to stop iterating on the rule expressions if the cgroup mismatches. Moreover, make sure a non-full socket from the input path leads us to a crash. Fixes: ce67417 ("netfilter: nft_meta: add cgroup support") Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a5581ef4c2eac6449188862e903eb46c7233582a Author: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Date: Wed Apr 1 07:50:29 2015 +0200 can: introduce new raw socket option to join the given CAN filters The CAN_RAW socket can set multiple CAN identifier specific filters that lead to multiple filters in the af_can.c filter processing. These filters are indenpendent from each other which leads to logical OR'ed filters when applied. This socket option joines the given CAN filters in the way that only CAN frames are passed to user space that matched *all* given CAN filters. The semantic for the applied filters is therefore changed to a logical AND. This is useful especially when the filterset is a combination of filters where the CAN_INV_FILTER flag is set in order to notch single CAN IDs or CAN ID ranges from the incoming traffic. As the raw_rcv() function is executed from NET_RX softirq the introduced variables are implemented as per-CPU variables to avoid extensive locking at CAN frame reception time. Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 514ac99c64b22d83b52dfee3b8becaa69a92bc4a Author: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Date: Wed Apr 1 07:50:28 2015 +0200 can: fix multiple delivery of a single CAN frame for overlapping CAN filters The CAN_RAW socket can set multiple CAN identifier specific filters that lead to multiple filters in the af_can.c filter processing. These filters are indenpendent from each other which leads to logical OR'ed filters when applied. This patch makes sure that every CAN frame which is filtered for a specific socket is only delivered once to the user space. This is independent from the number of matching CAN filters of this socket. As the raw_rcv() function is executed from NET_RX softirq the introduced variables are implemented as per-CPU variables to avoid extensive locking at CAN frame reception time. Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit afb7718016fcb0370ac29a83b2839c78b76c2960 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Mar 27 19:37:41 2015 +0100 netfilter: x_tables: fix cgroup matching on non-full sks While originally only being intended for outgoing traffic, commit a00e76349f35 ("netfilter: x_tables: allow to use cgroup match for LOCAL_IN nf hooks") enabled xt_cgroups for the NF_INET_LOCAL_IN hook as well, in order to allow for nfacct accounting. Besides being currently limited to early demuxes only, commit a00e76349f35 forgot to add a check if we deal with full sockets, i.e. in this case not with time wait sockets. TCP time wait sockets do not have the same memory layout as full sockets, a lower memory footprint and consequently also don't have a sk_classid member; probing for sk_classid member there could potentially lead to a crash. Fixes: a00e76349f35 ("netfilter: x_tables: allow to use cgroup match for LOCAL_IN nf hooks") Cc: Alexey Perevalov <a.perevalov@xxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 905e8c5dcaa147163672b06fe9dcb5abaacbc711 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Mar 23 19:07:02 2015 +0000 arm64: errata: add workaround for cortex-a53 erratum #845719 When running a compat (AArch32) userspace on Cortex-A53, a load at EL0 from a virtual address that matches the bottom 32 bits of the virtual address used by a recent load at (AArch64) EL1 might return incorrect data. This patch works around the issue by writing to the contextidr_el1 register on the exception return path when returning to a 32-bit task. This workaround is patched in at runtime based on the MIDR value of the processor. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9c00bb7210e5bc0691c93b05a0edfab0e93b3ec9 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:35 2015 +0100 mac80211: enhance readability of Minstrel-HTs rc_stats output This patch restructures the rc_stats debugfs table of Minstrel-HT in order to achieve better human readability. A new layout of the statistics and a new header is added. In addition to the old layout there are two new columns of information added: idx - representing the rate index of each rate in mac80211 which can be used to set specific rates as fixed rate via debugfs airtime - the tx-time in micro seconds that a 1200 Byte packet takes to be transmitted over the air at the given rate The old layout of rc_stats: type rate tpt eprob *prob ret *ok(*cum) ok( cum) HT20/LGI MCS0 5.6 100.0 100.0 1 0( 0) 1( 1) HT20/LGI B MCS1 10.5 100.0 100.0 0 0( 0) 1( 1) HT20/LGI A MCS2 14.8 100.0 100.0 0 0( 0) 1( 1) ... is changed into this new layout: best ________rate______ __statistics__ ________last_______ ______sum-of________ mode guard # rate [name idx airtime] [ ø(tp) ø(prob)] [prob.|retry|suc|att] [#success | #attempts] HT20 LGI 1 MCS0 0 1480 0.0 0.0 0.0 1 0 0 0 0 HT20 LGI 1 B MCS1 1 740 10.5 100.0 100.0 0 0 0 1 1 HT20 LGI 1 A MCS2 2 496 14.8 100.0 100.0 0 0 0 1 1 ... Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e161f7f6c4143ef0d945e98b2d1032cf82939fb6 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:34 2015 +0100 mac80211: enhance readability of Minstrels rc_stats output This patch restructures the rc_stats debugfs table of Minstrel in order to achieve better human readability. A new layout of the statistics and a new header is added. In addition to the old layout there are two new columns of information added: idx - representing the rate index of each rate in mac80211 which can be used to set specific rates as fixed rate via debugfs airtime - the tx-time in micro seconds that a 1200 Byte packet takes to be transmitted over the air at the given rate The old layout of rc_stats: rate tpt eprob *prob ret *ok(*cum) ok( cum) DP 1 0.9 93.5 100.0 1 0( 0) 2( 2) 2 0.4 40.0 100.0 0 0( 0) 4( 10) 5.5 0.0 0.0 0.0 0 0( 0) 0( 0) ... is changed into this new layout: best _______rate_____ __statistics__ ________last_______ ______sum-of________ rate [name idx tx-time] [ ø(tp) ø(prob)] [prob.|retry|suc|att] [#success | #attempts] DP 1 0 9738 0.9 93.5 100.0 1 1 1 2 2 2 1 4922 0.4 40.0 100.0 1 0 0 4 10 5.5 2 1858 0.0 0.0 0.0 2 0 0 0 0 ... Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c37722bd1972118142ee54c0e1a727142d944068 Author: Ilan peer <ilan.peer@xxxxxxxxx> Date: Mon Mar 30 15:15:49 2015 +0300 cfg80211: Stop calling crda if it is not responsive Patch eeca9fce1d71a4955855ceb0c3b13c1eb9db27c1 (cfg80211: Schedule timeout for all CRDA call) introduced a regression, where in case that crda is not installed (or not configured properly etc.), the regulatory core will needlessly continue to call it, polluting the log with the following log: "cfg80211: Calling CRDA to update world regulatory domain" Fix this by limiting the number of continuous CRDA request failures. Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit bf104c238dc1c7172460853882a545141eaa8222 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Feb 1 15:34:37 2015 -0300 [media] mn88472: One function call less in mn88472_init() after error detection The release_firmware() function was called in three cases by the mn88472_init() function during error handling even if the passed variable "fw" contained still a null pointer. This implementation detail could be improved by the introduction of another jump label. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 68feaa6b8bc537de1d02732fb1b74fe5433ceff1 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Feb 1 15:12:56 2015 -0300 [media] mn88472: Deletion of an unnecessary check before the function call "release_firmware" The release_firmware() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 18acc6ace529f331cf6a780ac0d68216df47ca27 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Tue Mar 3 13:28:35 2015 -0300 [media] si2157: extend frequency range for ATSC The Si2157 tuner supports ATSC in addition to DVB-T and DVB-C. Extend minimum frequency range to cover the complete ATSC/QAM-B range. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9d0982927e79049675cb6c6c04a0ebb3dad5a434 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Mar 26 12:39:40 2015 +0000 netfilter: nft_hash: add support for timeouts Add support for element timeouts to nft_hash. The lookup and walking functions are changed to ignore timed out elements, a periodic garbage collection task cleans out expired entries. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6908665826d56ddd024f3e131a9ee36f0d140943 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Mar 26 12:39:39 2015 +0000 netfilter: nf_tables: add GC synchronization helpers GC is expected to happen asynchrously to the netlink interface. In the netlink path, both insertion and removal of elements consist of two steps, insertion followed by activation or deactivation followed by removal, during which the element must not be freed by GC. The synchronization helpers use an unused bit in the genmask field to atomically mark an element as "busy", meaning it is either currently being handled through the netlink API or by GC. Elements being processed by GC will never survive, netlink will simply ignore them. Elements being currently processed through netlink will be skipped by GC and reprocessed during the next run. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit cfed7e1b1f8ed9b3d81ab12203cfb69c3ef24ac6 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Mar 26 12:39:38 2015 +0000 netfilter: nf_tables: add set garbage collection helpers Add helpers for GC batch destruction: since element destruction needs a RCU grace period for all set implementations, add some helper functions for asynchronous batch destruction. Elements are collected in a batch structure, which is asynchronously released using RCU once its full. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c3e1b005ed1cc068fc9d454a6e745830d55d251d Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Mar 26 12:39:37 2015 +0000 netfilter: nf_tables: add set element timeout support Add API support for set element timeouts. Elements can have a individual timeout value specified, overriding the sets' default. Two new extension types are used for timeouts - the timeout value and the expiration time. The timeout value only exists if it differs from the default value. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 761da2935d6e18d178582dbdf315a3a458555505 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Mar 26 12:39:36 2015 +0000 netfilter: nf_tables: add set timeout API support Add set timeout support to the netlink API. Sets with timeout support enabled can have a default timeout value and garbage collection interval specified. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a0bc163a7cf2ceb413a76cfd7149c6591db829ea Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Wed Mar 25 10:36:17 2015 +0100 can: ems_usb: mark timestamp as little endian The struct ems_cpc_msg describes the a message received from the USB device, which uses little endian byte order. This patch marks the timestamp in struct ems_cpc_msg accordingly. Acked-by: Gerhard Uttenthaler <uttenthaler@xxxxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 8a4b5b0fb765947ff8d254e6078ca64ac0439a66 Author: Gerhard Uttenthaler <uttenthaler@xxxxxxxxxxxxxxxx> Date: Tue Mar 24 19:02:29 2015 +0100 can: ems_usb: fix endianess of CAN ID The device expects the CAN ID in little endian format. Signed-off-by: Gerhard Uttenthaler <uttenthaler@xxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 969b8619069f0e4da767c54481dcc10812f949a5 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Mar 31 20:35:09 2015 +0200 ASoC: rcar: mark device data as constant A driver's device data should and can be const. This is a follow-up on commit 33187fb4a203 (ASoC: rsnd: constify of_device_id array) which marked the of_device_id as const. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4399c03c6780ed75fa26e09a7b3a175b3aac5760 Author: Bandan Das <bsd@xxxxxxxxxx> Date: Tue Mar 31 16:43:17 2015 -0400 x86/apic: Remove verify_local_APIC() __verify_local_APIC() is detritus from the early APIC days. Its return value isn't used anywhere and the information it prints when debug is enabled is already part of APIC initialization messages printed to syslog. Off with it! Signed-off-by: Bandan Das <bsd@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/jpgy4mcsxsq.fsf@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a42ab04aae96d47cd86e065b5127e472fd9eab9 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Mar 31 16:48:57 2015 +0200 ASoC: fsi: mark several data structures as const A driver's platform_device_id and device data should and can be const. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3b6281cf2893a3c140a37be817b0802c46af292b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Mar 31 16:48:56 2015 +0200 ASoC: fsi: reorder code to make a forward declaration superfluous Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7bedd0cfad4e122bc0ddaf3fc955a38c88c95d35 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Feb 13 21:55:15 2015 +0100 mac80211: use rhashtable for station table We currently have a hand-rolled table with 256 entries and are using the last byte of the MAC address as the hash. This hash is obviously very fast, but collisions are easily created and we waste a lot of space in the common case of just connecting as a client to an AP where we just have a single station. The other common case of an AP is also suboptimal due to the size of the hash table and the ease of causing collisions. Convert all of this to use rhashtable with jhash, which gives us the advantage of a far better hash function (with random perturbation to avoid hash collision attacks) and of course that the hash table grows and shrinks dynamically with chain length, improving both cases above. Use a specialised hash function (using jhash, but with fixed length) to achieve better compiler optimisation as suggested by Sergey Ryazanov. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit aaa9fa387541a30f6f4138bea6e082319de5e3fe Merge: ccd41c8 9870d78 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Apr 1 09:55:17 2015 +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 'perf script' pipe mode segfault, by always initializing ordered_events in perf_session__new(). (Arnaldo Carvalho de Melo) - Fix ppid for synthesized fork events. (David Ahern) - Fix kernel symbol resolution of callchains in S/390 by remembering the cpumode. (David Hildenbrand) Infrastructure changes: - Disable libbabeltrace check by default in the build system. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 78c3eb3c84470a654b283103deff0ba128759dcd Author: Wei Yuan <weiyuan.wei@xxxxxxxxxx> Date: Fri Mar 20 11:09:10 2015 +0800 ext3: Remove useless condition in if statement. In this if statement, the previous condition is useless, the later one has covered it. Signed-off-by: Weiyuan <weiyuan.wei@xxxxxxxxxx> Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 4c5930e8056127e9a89bb7836bfa34318a89ab14 Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Mar 30 22:03:06 2015 -0500 Fix warning Coverity reports a warning due to unitialized attr structure in one code path. Reported by Coverity (CID 728535) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxx> commit dfebe40076f3b4966e818eaf94021a7ff788df04 Author: Steve French <smfrench@xxxxxxxxx> Date: Fri Mar 27 01:00:06 2015 -0500 Fix another dereference before null check warning null tcon is not possible in these paths so remove confusing null check Reported by Coverity (CID 728519) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxx> commit 8b7a454443bdb73df4fd200af7f013f3319a3855 Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Mar 30 16:58:17 2015 -0500 CIFS: session servername can't be null remove impossible check Pointed out by Coverity (CID 115422) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxx> commit c85c35f8fc1d3f5ca60cd713f10af387de73cb94 Author: Steve French <smfrench@xxxxxxxxx> Date: Fri Mar 27 01:15:02 2015 -0500 Fix warning on impossible comparison workstation_RFC1001_name is part of the struct and can't be null, remove impossible comparison (array vs. null) Pointed out by Coverity (CID 140095) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxx> commit 064bcc0702a83aed29220bee3b3db3f968c5d8ae Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Mar 26 22:41:59 2015 -0500 Fix coverity warning Coverity reports a warning for referencing the beginning of the SMB2/SMB3 frame using the ProtocolId field as an array. Although it works the same either way, this patch should quiet the warning and might be a little clearer. Reported by Coverity (CID 741269) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Acked-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Acked-by: Sachin Prabhu <sprabhu@xxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 8e3531060556bf5e09444acd2aa5c78bce9c9f70 Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Mar 26 19:47:02 2015 -0500 Fix dereference before null check warning null tcon is not likely in these paths in current code, but obviously it does clarify the code to check for null (if at all) before derefrencing rather than after. Reported by Coverity (CID 1042666) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Acked-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Acked-by: Sachin Prabhu <sprabhu@xxxxxxxxxx> commit f3a31a2bbbfe22db0313a4e270c7ba91baa7b630 Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Mar 26 19:23:20 2015 -0500 Don't ignore errors on encrypting password in SMBTcon Although unlikely to fail (and tree connect does not commonly send a password since SECMODE_USER is the default for most servers) do not ignore errors on SMBNTEncrypt in SMB Tree Connect. Reported by Coverity (CID 1226853) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Acked-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Acked-by: Sachin Prabhu <sprabhu@xxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 75fdfc849ae0636853add4b7dbdc5753160ad0cb Author: Steve French <smfrench@xxxxxxxxx> Date: Wed Mar 25 18:51:57 2015 -0500 Fix warning on uninitialized buftype Pointed out by coverity analyzer. resp_buftype is not initialized in one path which can rarely log a spurious warning (buf is null so there will not be a problem with freeing data, but if buf_type were randomly set to wrong value could log a warning) Reported by Coverity (CID 1269144) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Acked-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Acked-by: Sachin Prabhu <sprabhu@xxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 2f30232481ef39aa1657ac76b16c47d0c0241a69 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Wed Mar 25 17:01:03 2015 -0700 MAINTAINERS: Update Intel Wired Ethernet Driver info Update the git tree info with a recent change in tree names. Also add our new mailing list created solely for Linux kernel patches and kernel development, as well as the new patchwork project for tracking patches. Lastly update the list of "reviewers" since a couple of developers have moved on to different projects. Made an update to the section header so that it is more manageable going forward as we add new drivers. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a8557d32fe90a91d70dbbf57a034ad0c660ce237 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 1 14:43:15 2015 +1030 virtio_pci_modern: switch to type-safe io accessors As Rusty noted, we were accessing queue_enable with an incorrect width. Switch to type-safe accessors so we don't make this mistake again in the future. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit c5d4c2c9ce4f4b6980a71dec50f2db4c2e55778d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 1 13:33:20 2015 +1030 virtio_pci_modern: type-safe io accessors The spec is very clear on this: 4.1.3.1 Driver Requirements: PCI Device Layout The driver MUST access each field using the â??naturalâ?? access method, i.e. 32-bit accesses for 32-bit fields, 16-bit accesses for 16-bit fields and 8-bit accesses for 8-bit fields. Add type-safe wrappers to prevent access with incorrect width. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 3eebd233fcb392286d385e764eb91e90d6218cdf Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:32:20 2015 +1030 lguest: handle traps on the "interrupt suppressed" iret instruction. Lguest's "iret" is non-atomic, as it needs to restore the interrupt state before the real iret (the guest can't actually suppress interrupts). For this reason, the host discards an interrupt if it occurs in this (1-instruction) window. We can do better, by emulating the iret execution, then immediately setting up the interrupt handler. In fact, we don't need to do much, as emulating the iret and setting up th stack for the interrupt handler basically cancel each other out. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 012665391dfe12bf8a88d1000e627be012c39dbf Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 1 13:31:20 2015 +1030 virtio: drop a useless config read "virtio: core support for config generation" fixed reading up 64 bit values, adding generation checks for such reads. By mistake, it left an explicit get call in place as well. the result is that the value is read twice, the first result is discarded. Not a big deal since this only happens with virtio blk and only on boot ATM, so performance isn't affected, but let's clean it up. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit caa0e2d0e331a04cbc1cb9bca3169c1d94b80838 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 1 08:21:51 2015 +1030 virtio_config: reorder functions This simply reorders functions in virtio_config so width access wrapper helpers are all together. Drops an extra empty line while we are at it. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit ab7add30ce63a7147f045f00c65a44c0f14ad6b2 Author: Petr Kulhavy <petr@xxxxxxxxx> Date: Mon Mar 23 21:35:01 2015 +0100 dmaengine: edma: fixed wrongly initialized data parameter to the edma callback The "data" parameter passed indirectly to the edma_callback() should be edma_chan and not the dma_chan. This bug was so far harmless since the offset of struct dma_chan within struct edma_chan is 0. However as soon as someone changes struct edma_chan this would cause troubles. Signed-off-by: Petr Kulhavy <petr@xxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit de6b641e2d23d116dcf6b6a67e2ee4856e3c3026 Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 22 00:51:08 2015 +0100 dmaengine: ste_dma40: fix implicit conversion The function d40_prep_sg takes the type enum dma_transfer_direction as second last parameter. However, the memcpy calls pass DMA_NONE which is of type enum dma_data_direction. Fix this by passing the actual transfer direction DMA_MEM_TO_MEM. This does not change the actual code flow since only the transfer direction DMA_MEM_TO_DEV and DMA_DEV_TO_MEM are actually used in the function d40_prep_sg. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d41444daba1fd65e5a998c83398f44524f638d07 Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Date: Fri Mar 27 18:45:35 2015 +0800 powerpc/corenet: enable CONFIG_I2C_MUX and CONFIG_I2C_MUX_PCA954x By default we enable CONFIG_I2C_MUX and CONFIG_I2C_MUX_PCA954x, which are needed on T2080QDS, T4240QDS, B4860QDS, etc. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> [scottwood@xxxxxxxxxxxxx: fixed subject line] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7f9af0a6d5ab78e3cd40bf7aef1da45ace1d69f6 Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Date: Fri Mar 27 18:49:17 2015 +0800 powerpc/t2080qds: fix rtc interrupt RTC interrupt uses IRQ11 on T2080QDS. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> [scottwood@xxxxxxxxxxxxx: fix subject line] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 56302c53d3dc477b8360954fc92c1dfc4fc0ec54 Author: Bogdan Purcareata <bogdan.purcareata@xxxxxxxxxxxxx> Date: Tue Mar 24 10:43:43 2015 +0000 powerpc/mpic: Remove WHOAMI readback after EOI After previous discussions regarding the subject [1][2], there's no clear explanation or reason why the call was needed in the first place. The sensible argument is some sort of synchronization between the CPU and the MPIC, which hasn't been pointed out precisely and is no longer required (at least on BookE platforms). The benefit of this change is saving a MMIO trap per interrupt when running in a KVM guest. [1] https://patchwork.ozlabs.org/patch/429098/ [2] https://patchwork.ozlabs.org/patch/433557/ Signed-off-by: Bogdan Purcareata <bogdan.purcareata@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 88b7936da39618be04a6e1c2fb052dc528633392 Author: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Date: Mon Mar 2 16:35:35 2015 +0800 powerpc/mpc85xx: call k(un)map_atomic rather than k(un)map The k(un)map function may be called in atomic context in the function map_and_flush(), so use k(un)map_atomic to replace it, else we would get the below warning during kdump: BUG: sleeping function called from invalid context at include/linux/highmem.h:58 in_atomic(): 1, irqs_disabled(): 1, pid: 736, name: sh INFO: lockdep is turned off. irq event stamp: 0 hardirqs last enabled at (0): [< (null)>] (null) hardirqs last disabled at (0): [<c000000000066d1c>] .copy_process.part.44+0x50c/0x1360 softirqs last enabled at (0): [<c000000000066d1c>] .copy_process.part.44+0x50c/0x1360 softirqs last disabled at (0): [< (null)>] (null) CPU: 1 PID: 736 Comm: sh Tainted: G D W 3.10.62-ltsi-WR6.0.0.0_standard #2 Call Trace: [c0000000f47cf120] [c00000000000b150] .show_stack+0x170/0x290 (unreliable) [c0000000f47cf210] [c000000000b71334] .dump_stack+0x28/0x3c [c0000000f47cf280] [c0000000000bb5d8] .__might_sleep+0x1a8/0x270 [c0000000f47cf310] [c0000000000440cc] .map_and_flush+0x4c/0xc0 [c0000000f47cf390] [c0000000000441cc] .mpc85xx_smp_machine_kexec+0x8c/0xec0 [c0000000f47cf420] [c00000000002ae00] .machine_kexec+0x60/0x90 [c0000000f47cf4b0] [c00000000010957c] .crash_kexec+0x8c/0x100 [c0000000f47cf6a0] [c000000000015df8] .die+0x348/0x450 [c0000000f47cf740] [c00000000002f3a0] .bad_page_fault+0xe0/0x130 [c0000000f47cf7c0] [c00000000001f3e4] storage_fault_common+0x40/0x44 Signed-off-by: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> [scottwood@xxxxxxxxxxxxx: fix subject line] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit bb65f5048ee34bd6a81288382ef0a608ccfcd914 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:24 2015 +0100 powerpc: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Furthermore, the function is never used, so its definition is dropped as well. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 016f8cf0d87bb2bda15ccb8708748a013c27423f Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Tue Mar 10 20:41:31 2015 +0800 powerpc: book3e_64: fix the align size for paca_struct All the cache line size of the current book3e 64bit SoCs are 64 bytes. So we should use this size to align the member of paca_struct. This only change the paca_struct's members which are private to book3e CPUs, and should not have any effect to book3s ones. With this, we save 192 bytes. Also change it to __aligned(size) since it is preferred over __attribute__((aligned(size))). Before: /* size: 1920, cachelines: 30, members: 46 */ /* sum members: 1667, holes: 6, sum holes: 141 */ /* padding: 112 */ After: /* size: 1728, cachelines: 27, members: 46 */ /* sum members: 1667, holes: 4, sum holes: 13 */ /* padding: 48 */ Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 2e51563d07cf0caae03dd7f693d7545825326c29 Author: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Date: Tue Mar 10 15:19:42 2015 +0200 powerpc/fsl-booke: Add T4080 SVR value Signed-off-by: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 8adc53fdc9721ef6f71fbaad07c486abdc4c8f60 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Mar 18 16:16:37 2015 +0000 MAINTAINERS: Add Ingenic JZ4780 DMA driver maintainer entry Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d894fc6046fecd66b0d8ec35c7d2515781cc030b Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Wed Mar 18 16:16:36 2015 +0000 dmaengine: jz4780: add driver for the Ingenic JZ4780 DMA controller This patch adds a driver for the DMA controller found in the Ingenic JZ4780. It currently does not implement any support for the programmable firmware feature of the controller - this is not necessary for most uses. It also does not take priority into account when allocating channels, it just allocates the first available channel. This can be implemented later. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> [Updated for dmaengine api changes, Add residue support, couple of minor fixes] Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c8307106f5fa53b8fe8763b488d629e3cce9fae3 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Wed Mar 18 16:16:35 2015 +0000 dt-bindings: dma: Add binding for jz4780-dma Add device tree bindings for the DMA controller on JZ4780 SoCs, used by the dma-jz4780 driver. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7e436905780659d6dc12d0581944934bf91a9919 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Apr 1 09:42:50 2015 +0800 tipc: fix a slab object leak When remove TIPC module, there is a warning to remind us that a slab object is leaked like: root@localhost:~# rmmod tipc [ 19.056226] ============================================================================= [ 19.057549] BUG TIPC (Not tainted): Objects remaining in TIPC on kmem_cache_close() [ 19.058736] ----------------------------------------------------------------------------- [ 19.058736] [ 19.060287] INFO: Slab 0xffffea0000519a00 objects=23 used=1 fp=0xffff880014668b00 flags=0x100000000004080 [ 19.061915] INFO: Object 0xffff880014668000 @offset=0 [ 19.062717] kmem_cache_destroy TIPC: Slab cache still has objects This is because the listening socket of TIPC topology server is not closed before TIPC proto handler is unregistered with proto_unregister(). However, as the socket is closed in tipc_exit_net() which is called by unregister_pernet_subsys() during unregistering TIPC namespace operation, the warning can be eliminated if calling unregister_pernet_subsys() is moved before calling proto_unregister(). Fixes: e05b31f4bf89 ("tipc: make tipc socket support net namespace") Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cab07a5652d1d124b505c2b7ed21c6823295c5d7 Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Mar 27 20:54:01 2015 -0400 intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs Support C-states for the Airmont core in the Cherrytrail and Braswell SOCs. The states are similar to those of Silvermont in Baytrail, except both flavors of C6 states are faster. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit d7ef76717322c8e2df7d4360b33faa9466cb1a0d Author: Len Brown <len.brown@xxxxxxxxx> Date: Tue Mar 24 23:23:20 2015 -0400 intel_idle: Update support for Silvermont Core in Baytrail SOC On some Silvermont-Core/Baytrail-SOC systems, C1E latency is higher than original specifications. Although C1E is still enumerated in CPUID.MWAIT.EDX, we delete the state from intel_idle to avoid latency impact. Under some conditions, the latency of the C6N-BYT and C6S-BYT states may exceed the specified values of 40 and 140 usec, respectively. Increase those values to 300 and 500 usec; to assure that the hardware does not violate constraints that may be set by the Linux PM_QOS sub-system. Also increase the C7-BYT target residency to 4.0 ms from 1.5 ms. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit aa571b148c6ab9843e79622f0209b6163d8d4fc5 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Wed Mar 25 18:32:59 2015 +0000 MAINTAINERS: clk: discuss on the linux-clk@xxxxxxxxxxxxxxx list Most Linux clock framework discussions take place on the linux-kernel@xxxxxxxxxxxxxxx or linux-arm-kernel@xxxxxxxxxxxxxxxxxxx mailing lists. The volume of unrelated messages on these lists makes it difficult for non-maintainers to follow along with discussions. Switch the discussion list for clock framework discussions to linux-clk@xxxxxxxxxxxxxxxx Also, add linux-clk@xxxxxxxxxxxxxxx as a mailing list for clock API discussions. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Viresh Kumar <viresh.linux@xxxxxxxxx> Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit d52356e7f48e400ca258c6763a232a92fa82ff68 Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Tue Mar 31 18:11:46 2015 +0200 powerpc: fix memory corruption by pnv_alloc_idle_core_states Space allocated for paca is based off nr_cpu_ids, but pnv_alloc_idle_core_states() iterates paca with cpu_nr_cores()*threads_per_core, which is using NR_CPUS. This causes pnv_alloc_idle_core_states() to write over memory, which is outside of paca array and may later lead to various panics. Fixes: 7cba160ad789 (powernv/cpuidle: Redesign idle states management) Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 564b687b031ccc647943f946b93037cf0780612a Author: Chris Ruffin <chris.ruffin@xxxxxxxxx> Date: Tue Mar 24 16:57:42 2015 -0400 drm/bochs: disable video before changing video mode qemu and simics simulators both seem to expect that video should be disabled before changing the video mode. references: http://git.qemu.org/?p=qemu.git;a=blob;f=hw/display/vga.c;h=c0f7b343bbab586c8593d29c7a765f1e6ca3662c;hb=HEAD#l727 http://wiki.osdev.org/Bochs_VBE_Extensions#Setting_display_resolution_and_bit_depth Signed-off-by: Chris Ruffin <chris.ruffin@xxxxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 53d8858bb81ccf47ddca8b94d21f39972549e166 Merge: 9e87e48 066626d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 1 08:23:25 2015 +1000 Merge tag 'topic/drm-misc-2015-03-31' of git://anongit.freedesktop.org/drm-intel into drm-next Final drm-misc pull for 4.0, just various things all over, including a few more important atomic fixes. btw I didn't pick up the vmwgfx patch from Ville's series, but one patch has one hunk touching vmwgfx and Thomas/Jakob didn't get around to ack it. I figured it's simple enough to be ok though. * tag 'topic/drm-misc-2015-03-31' of git://anongit.freedesktop.org/drm-intel: drm: line wrap DRM_IOCTL_DEF* macros drm/atomic: Don't try to free a NULL state drm/atomic: Clear crtcs, connectors and planes when clearing state drm: Rewrite drm_ioctl_flags() to resemble the new drm_ioctl() code drm: Use max() to make the ioctl alloc size code cleaner drm: Simplify core vs. drv ioctl handling drm: Drop ioctl->cmd_drv drm: Fix DRM_IOCTL_DEF_DRV() drm/atomic-helpers: Properly avoid full modeset dance drm: atomic: Allow setting CRTC active property drm: atomic: Expose CRTC active property drm: crtc_helper: Update hwmode before mode_set call drm: mode: Allow NULL modes for equality check drm: fb_helper: Simplify exit condition drm: mode: Fix typo in kerneldoc drm/dp: Print the number of bytes processed for aux nacks commit 9e87e48f8e5de2146842fd0ff436e0256b52c4a9 Merge: d7de390 6e0aa80 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 1 08:21:46 2015 +1000 Merge tag 'drm-intel-next-2015-03-27-merge' of git://anongit.freedesktop.org/drm-intel into drm-next This backmerges 4.0-rc6 due to the recent fixes in rc5/6 - DP link rate refactoring from Ville - byt/bsw rps tuning from Chris - kerneldoc for the shrinker code - more dynamic ppgtt pte work (Michel, Ben, ...) - vlv dpll code refactoring to prep fro bxt (Imre) - refactoring the sprite colorkey code (Ville) - rotated ggtt view support from Tvrtko - roll out struct drm_atomic_state to prep for atomic update (Ander) * tag 'drm-intel-next-2015-03-27-merge' of git://anongit.freedesktop.org/drm-intel: (473 commits) Linux 4.0-rc6 arm64: juno: Fix misleading name of UART reference clock drm/i915: Update DRIVER_DATE to 20150327 drm/i915: Skip allocating shadow batch for 0-length batches drm/i915: Handle error to get connector state when staging config drm/i915: Compare GGTT view structs instead of types drm/i915: fix simple_return.cocci warnings drm/i915: Add module param to test the load detect code drm/i915: Remove usage of encoder->new_crtc from clock computations drm/i915: Don't look at staged config crtc when changing DRRS state drm/i915: Convert intel_pipe_will_have_type() to using atomic state drm/i915: Pass an atomic state to modeset_global_resources() functions drm/i915: Add dynamic page trace events drm/i915: Finish gen6/7 dynamic page table allocation drm/i915: Remove unnecessary gen6_ppgtt_unmap_pages drm/i915: Fix i915_dma_map_single positive error code drm/i915: Prevent out of range pt in gen6_for_each_pde drm/i915: fix definition of the DRM_IOCTL_I915_GET_SPRITE_COLORKEY ioctl drm/i915: Rip out GET_SPRITE_COLORKEY ioctl watchdog: imgpdc: Fix default heartbeat ... commit 33096777519a66e632fed7f1e54e6480b4228827 Author: Peter Hutterer <peter.hutterer@xxxxxxxxx> Date: Fri Mar 27 09:59:55 2015 -0700 Input: define INPUT_PROP_ACCELEROMETER behavior Spell out what this property means to userspace. If the property is set, all directional axes must be accelerometer axes, any other axes are left as-is. This allows an accelerometer device to e.g. have an ABS_WHEEL. It is not permitted to mix normal directional axes and accelerometer axes on the same device node. Signed-off-by: Peter Hutterer <peter.hutterer@xxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> Reviewed-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 85734b1a5de80341d7d01cd29bbea9cf6f77094b Author: Filip Ayazi <filipayazi@xxxxxxxxx> Date: Wed Mar 25 15:53:04 2015 -0700 Input: synaptics - fix min-max quirk value for E440 Commit 98dc070373 ("Input: synaptics - add quirk for Thinkpad E440") had a typo in ymax, this changes the value to the one reported by touchpad-edge-detector and mentioned in the commit. Signed-off-by: Filip Ayazi <filipayazi@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit bbdb38a22e8a5197a6db1e4d22d7e5c6c368e7f7 Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Tue Mar 31 14:35:36 2015 -0700 Input: tsc2007 - Convert msecs to jiffies only once Eliminate redundant calculations by performing millisecond to jiffy calculations once during driver initialization. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9911674fcf1f239ff3c87e56177c4826e33dfd95 Merge: f6a69a8 0704fae Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 17:19:19 2015 -0400 Merge branch 'ptp-ns_to_timespec64' Richard Cochran says: ==================== ptp: remove open coded ns_to_timespec64 and reverse This patch series is a follow up to the recent timespec64 work for the PTP Hardware Clock drivers. Arnd noticed that drivers are using open coded implementations of ns_to_timespec64 and timespec64_to_ns. This series replaces the open coded logic with the helper functions. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0704fae33c201dbda338f748b45ebae54eeb4a69 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:13 2015 +0200 ptp: ixgbe: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6630514fcee9987a06e991956a1e8eaa2a421a70 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:09 2015 +0200 ptp: fec: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a20efb07437f8716977401c5bd183c3d192ff12 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:08 2015 +0200 ptp: tg3: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96ff1c37a8453e72d91179987337d6159768a9e4 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:06 2015 +0200 ptp: blackfin: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84d923ce4a70858c0b23afa5efb812df791b29f2 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:16 2015 +0200 ptp: cpts: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7ea55be29bb65e393ff17bd49ec9f5c12614108 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:15 2015 +0200 ptp: stmmac: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f75419c81edf8e5c287cefd6e9a419b6e3c1300a Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:14 2015 +0200 ptp: mlx4: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 350f66d58a62e63ef3163450f68ed4b2a0ab507b Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:12 2015 +0200 ptp: igb: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdf36d947134baced573594118ff575f5c6cb77b Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:11 2015 +0200 ptp: e1000e: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3359e7c2e904eac4e76d5b8b5e9390a622863df8 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:10 2015 +0200 ptp: gianfar: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7dcdefe362c06a36483679defb116dda02177e1 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:07 2015 +0200 ptp: bnx2x: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 347eec348a9b0ba6968145cc7b1995d2475ae31b Author: Christian Hesse <mail@xxxxxxxx> Date: Tue Mar 31 14:10:07 2015 +0200 net/usb/r8152: add device id for Lenovo TP USB 3.0 Ethernet This device is sold as 'Lenovo Tinkpad USB 3.0 Ethernet 4X90E51405'. Chipset is RTL8153 and works with r8152. Signed-off-by: Christian Hesse <mail@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6a69a8fd6c009c0f5958f769dd4165773c75695 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Mon Mar 30 14:31:16 2015 -0700 bonding: Fix another case of LACPDU not sent on slave When mii-mon discovers that the link is up, it will call bond_3ad_handle_link_change() but we forget to add the LACP_ENABLED flag when we discover the speed and duplex for the slave link are normal. Change-Id: Ie8b268ecfeea0f99bf9fdcd72706c0653f9d9e49 Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef015d72e55166c8785e897ecec149e0a20b742f Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Mon Mar 30 14:30:40 2015 -0700 bonding: deprecate BOND_MONITOR_CHURNED in favor of existing definitions AD_PORT_ACTOR_CHURN and AD_PORT_PARTNER_CHURN are already present and essentially BOND_MONITOR_CHURNED is a combination of these two definitions. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9870d7809575515e26194f4b3df1750872a6ee60 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 31 12:48:16 2015 -0300 perf ordered_samples: Remove references to perf_{evlist,tool} and machines As these can be obtained from the ordered_events pointer, via container_of, reducing the cross section of ordered_samples. These were added to ordered_samples in: commit b7b61cbebd789a3dbca522e3fdb727fe5c95593f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 11:58:45 2015 -0300 perf ordered_events: Shorten function signatures By keeping pointers to machines, evlist and tool in ordered_events. But that was more a transitional patch while moving stuff out from perf_session.c to ordered_events.c and possibly not even needed by then, as we could use the container_of() method and instead of having the nr_unordered_samples stats in events_stats, we can have it in ordered_samples. Based-on-a-patch-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-4lk0t9js82g0tfc0x1onpkjt@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit aae59fab978e143f24d22e52f075c4be3ee4e628 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 31 09:53:50 2015 -0300 perf session: Always initialize ordered_events Even when it is not used to actually reorder events, some of its fields are used, like session->ordered_events->tool, to shorten function signatures where tool, for instance, was being passed, as the tool is needed for the ordered_events code, we need it there and might as well use it for other perf_session needs. This fixes a problem where 'perf script' had some condition that made session->ordered_events not to be initialized even with its script->tool ordered_events related flags asking for it to be, which looks like another bug and needs to be investigated further. Always initializing session->ordered_events at least leaves the current assumptions in place, so do it now. Reported-by: David Ahern <dsahern@xxxxxxxxx> Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Tested-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-b1xxk0rwkz2a0gip1uufmjqg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ca6c41c59b964d362823e80442e9e32c31106b29 Author: David Ahern <dsahern@xxxxxxxxx> Date: Mon Mar 30 14:35:58 2015 -0600 perf tools: Fix ppid for synthesized fork events 363b785f38 added synthesized fork events and set a thread's parent id to itself. Since we are already processing /proc/<pid>/status the ppid can be determined properly. Make it so. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joe Mario <jmario@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427747758-18510-2-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5aa0b030e8d29d6719c144818814b519cfcb105c Author: David Ahern <dsahern@xxxxxxxxx> Date: Mon Mar 30 14:35:57 2015 -0600 perf tools: Refactor comm/tgid lookup Rather than parsing /proc/pid/status file one line at a time, read it into a buffer in one shot and search for all strings in one pass. tgid conversion also simplified -- removing the isspace walk. As noted by Arnaldo those are not needed for atoi == strtol calls. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joe Mario <jmario@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427747758-18510-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 73dbcd6537f0ef6bf98d84f8fd7f8ab9994c6cd8 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 10:11:00 2015 +0200 perf callchain: Fix kernel symbol resolution by remembering the cpumode Commit 2e77784bb7d8 ("perf callchain: Move cpumode resolve code to add_callchain_ip") promised "No change in behavior.". As this commit breaks callchains on s390x (symbols not getting resolved, observed when profiling the kernel), this statement is wrong. The cpumode must be kept when iterating over all ips, otherwise the default (PERF_RECORD_MISC_USER) will be used by error. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1427703060-59883-1-git-send-email-dahi@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ec9a82fbb10951b1841d8bbbe599f91e8ab2f67f Merge: 34d21e3 fa69359 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 16:51:18 2015 -0400 Merge branch 'macb-next' Nicolas Ferre says: ==================== net/macb: fixes after big driver update The recent modifications to the macb driver lead to issues with the probe function code flow. Here are some attempt to fix them. This time, some more issues are fixed related to the clock as reported by Boris Brezillon. The series is written on top of net-next. Changes in v2: - address Cyrille comment about exit condition of queue configuration loop - add fixes for probe sequence related to clocks - add ethtool register dump - fix peripheral version test ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa6935981af81706f363df4b6f1285a20dc7ae17 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:06 2015 +0200 net/macb: unify peripheral version testing As we need to check peripheral version from the hardware during probe, I introduce a little helper to unify these tests. It would prevent to de-synchronize the test like previously observed. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 361918970b7426bba97a64678ef2b2679c37199b Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:05 2015 +0200 net/macb: fix the peripheral version test We currently need two checks of the peripheral version in MACB_MID register. One of them got out of sync after modification by 8a013a9c71b2 (net: macb: Include multi queue support for xilinx ZynqMP ethernet version). Fix this in macb_configure_caps() so that xilinx ZynqMP will be considered as a GEM flavor. Fixes: 8a013a9c71b2 ("net: macb: Include multi queue support for xilinx ZynqMP ethernet version") Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #4.0 (if it doesn't make it for -final) Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c39994fc1e2b6a1bb5cb207a88e88a6b1ac1694 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:04 2015 +0200 net/macb: add the user i/o to ethtool register dump User i/o register EMAC_USRIO or GMAC_UR can be found on both macb and gem flavors of the peripheral. By using the proper accessor, we can add it to the register dump feature of ethtool. Increment the version of this API so it can be noticed from user space. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c69618b3e4f220f4990b91596d40ea3c4cdc938a Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:03 2015 +0200 net/macb: fix probe sequence to setup clocks earlier As accessing the peripheral registers need the clocks to be set, we have to enable them as soon as possible. Their configuration depend on the type of device used and determined by the DT compatible string. That lead to add another initialization function in the DT configuration structure. As the device private structure length depend on an information read in the registers, we have to store the clock pointers in temporary variables before feeding the structure fields. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad78347f06581e445790343bc1d9e34375f11fd4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:02 2015 +0200 net/macb: trivial: correct wording for caps As a non-native English speaker, I would correct "capacities" of the macb peripheral to "capabilities": correct me if I'm wrong! Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6970505defd0e7bb5dea9606939bb3b32e51768 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:01 2015 +0200 net/macb: fix capabilities configuration Capabilities configuration by macb_configure_caps() was moved far too late by 421d9df0628b (net/macb: merge at91_ether driver into macb driver) which would lead to badly configured hardware. So, move this function to early probe and modify its prototype to re-gain its original behavior. DT data retrieval is also moved to simplify the probe code flow. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da120112493460332b5b430070ca0ea205c37632 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:00 2015 +0200 net/macb: add comment in macb_probe_queues As we access the MID register directly, we need to tell why we don't use the macb_is_gem() dedicated function. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bfa0914afa95d44df9e1a1553e0c03a991223db3 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:01:59 2015 +0200 net/macb: only probe queues once and use stored values When merging at91_ether and macb driver during 421d9df0628b (net/macb: merge at91_ether driver into macb driver) the probe function has been split. The code dealing with initialization of queues is now moved in macb_init() which needs information computed in the parent macb_probe() function. So, add the queue_mask information to the private structure and use it when needed in macb_init(). Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ec8c0c47f63b4af66e3615618f842267ac88b4a Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sat Mar 28 23:46:09 2015 +0800 nfsd: Remove duplicate macro define for max sec label length NFS4_MAXLABELLEN has defined for sec label max length, use it directly. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit b14f4f7e61aaa4437a42e2e11055fc01782a15bf Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Thu Mar 26 10:37:51 2015 -0400 nfsd: allow setting acls with unenforceable DENYs We've been refusing ACLs that DENY permissions that we can't effectively deny. (For example, we can't deny permission to read attributes.) Andreas points out that any DENY of Window's "read", "write", or "modify" permissions would trigger this. That would be annoying. So maybe we should be a little less paranoid, and ignore entirely the permissions that are meaningless to us. Reported-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 629b8729cc2ca8fde7deb008dab09f3ad19fed52 Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Wed Mar 25 16:37:07 2015 -0400 nfsd: NFSD_FAULT_INJECTION depends on DEBUG_FS NFSD_FAULT_INJECTION depends on DEBUG_FS, otherwise the debugfs_create_* interface may return unexpected error -ENODEV, and cause system crash. Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4229789993ee23bf35ee87546655bbbb6013569a Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Mar 23 10:53:44 2015 -0400 nfsd: remove unused status arg to nfsd4_cleanup_open_state Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit fc26c3860a6a4a9396f401024f1cc91a95a59143 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Mar 23 10:53:43 2015 -0400 nfsd: remove bogus setting of status in nfsd4_process_open2 status is always reset after this (and it doesn't make much sense there anyway). Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit beaca2347f1b7986376e3906dfa7615a9d6f53d8 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 15 23:35:11 2015 +0800 NFSD: Use correct reply size calculating function ALLOCATE/DEALLOCATE only reply one status value to client, so, using nfsd4_only_status_rsize for reply size calculating. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit b77a4b2edb29459ad039a1d8f5769bb2192acae1 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 15 23:13:32 2015 +0800 NFSD: Using path_equal() for checking two paths Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 34d21e3f399729ca7c89636207fe41c481d99352 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Mar 30 13:43:38 2015 -0300 net: smc91x: Remove an unused variable Commit cb6e0b3690f48dff ("net: smc91x: make use of 4th parameter to devm_gpiod_get_index") caused the following build warning: drivers/net/ethernet/smsc/smc91x.c:2208:6: warning: unused variable 'res' [-Wunused-variable] Remove the unused 'res' variable. Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b6249bba940f57c20cdde793b306ca3831778c7 Merge: fbcb217 2c44be8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 16:39:04 2015 -0400 Merge tag 'mac80211-next-for-davem-2015-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== Lots of updates for net-next; along with the usual flurry of small fixes, cleanups and internal features we have: * VHT support for TDLS and IBSS (conditional on drivers though) * first TX performance improvements (the biggest will come later) * many suspend/resume (race) fixes * name_assign_type support from Tom Gundersen ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fbcb21705930f2930f506149d0b8d36dfbe45107 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Mon Mar 30 16:56:01 2015 +0200 net: rename dev to orig_dev in deliver_ptype_list_skb Unlike other places, this function uses name "dev" for what should be "orig_dev", which might be a bit confusing. So fix this. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3aa10dad5b1bafc6107f96ffe7b936d8cab75b92 Merge: c997533 a3333b3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 16:36:51 2015 -0400 Merge branch 'mlx4-next' Or Gerlitz says: ==================== mlx4: Extend statistics gathering and display This series from Eran and Matan extends the statistics collected and later reported to the user via ethtool for native mode and SRIOV PF. More Packet statistics, PFC statistics and global pause statistics are now displayed via ethtool. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3333b35da1634f49aca541f2574a084221e2616 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:26 2015 +0300 net/mlx4_en: Moderate ethtool callback to show more statistics More packet statistics are now calculated and visible to the user via ethtool: - RX packet errors statistics. - TX/RX drops are now calculated. - TX multicast and broadcast statistics. - RX/TX per priority bytes statistics. - RX/TX no vlan packets and bytes statistics. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b131561a7d639abb0a194d2d8fae839ce3b99e9 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:25 2015 +0300 net/mlx4_en: Add Flow control statistics display via ethtool Flow control per priority and Global pause counters are now visible via ethtool. The counters shows statistics regarding pauses in the device. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Shani Michaeli <shanim@xxxxxxxxxxxx> Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3da8a36cc5c2a172bb42f8dc89638f5b41d7d7a6 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:24 2015 +0300 net/mlx4_en: Protect access to the statistics bitmap This will allow parallel access to the statistics bitmap. A pre-step for adding PFC counters, where the statistics bitmap can be dynamically changed when modifying the PFC setting. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6fcd27354b36fb9234aabeecde337b40d5a16842 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:23 2015 +0300 net/mlx4_en: Support general selective view of ethtool statistics The driver uses a bitmask to indicate which statistics should be displayed to the user in ethtool. The bitmask is u64, therefore we are limited for a selective view of up to 64 statistics. Extend the bitmap in order to show more than 64 statistics. In addition, add packet statistics to the ethtool display for PF. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ffa88f37ffeaac398be68f9678b0e6046a5ba7f6 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:22 2015 +0300 net/mlx4_en: Move statistics bitmap setting to the Ethernet driver The statistics bitmap belongs to the Ethernet driver, move it there. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4b6e842fc590de809a2f5af472a4ba64999e6b1 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:21 2015 +0300 net/mlx4_en: Create new header file for all statistics info Add mlx4_stats.h file and move there all statistics structs and marcos. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66f24a7ebffc5eaef9b799a2a72dd61149ad846b Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:20 2015 +0300 net/mlx4_en: Fix port counters statistics bitmask Two counters (rx_chksum_complete and tx_chksum_offload) are not displayed under SRIOV for the PF via ethtool because their bit mask is off, fix that. Fixes: f8c6455bb ('net/mlx4_en: Extend checksum offloading by CHECKSUM COMPLETE') Fixes: 9fab426de ('mlx4: add a new xmit_more counter') Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9c0d76eb47e115f64006a8406f6494387fc428c Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Tue Mar 3 01:14:41 2015 +0100 HSI: nokia-modem: Add cmt-speech support Register cmt-speech driver in nokia-modem driver and forward hsi channel information. Acked-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Tested-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7f62fe8a5851db94e10d8d956c123d4011aaeed9 Author: Kai Vehmanen <kai.vehmanen@xxxxxxxxx> Date: Wed Jun 2 22:23:34 2010 +0300 HSI: cmt_speech: Add cmt-speech driver Introduces the cmt-speech driver, which implements a character device interface for transferring speech data frames over HSI/SSI. The driver is used to exchange voice/speech data between the Nokia N900/N950/N9's modem and its cpu. Signed-off-by: Kai Vehmanen <kai.vehmanen@xxxxxxxxx> Signed-off-by: Carlos Chinea <carlos.chinea@xxxxxxxxx> Signed-off-by: Joni Lapilainen <joni.lapilainen@xxxxxxxxx> Since the original driver has been written for 2.6.28 some build fixes and general cleanups have been added by me: * fix build for 4.0 kernel * replace GFP_ATOMIC with GFP_KERNEL in cs_alloc_cmds() * add sanity check for CS_SET_WAKELINE ioctl * cleanup driver initialisation * rename driver to cmt-speech to be consistent with ssi-protocol driver * move cs-protocol.h to include/uapi/linux/hsi, since it describes a userspace API * replace hardcoded channels numbers with values provided via the HSI framework (e.g. coming from DT) Acked-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Tested-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8f3d7346435e8db1719f8cacb2de4fe87a68cb55 Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Date: Sat Mar 28 09:51:13 2015 +0800 selftests/mount: Make git ignore all binaries in mount test suite This patch includes the mount test binaries into the .gitignore file listing in their respective directories. This will make sure that git ignores all of these test binaries when displaying status. Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit ed4ac4221776a5103faf71a4032ca00178d6e66b Author: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Date: Mon Mar 30 15:40:42 2015 +0200 af_iucv: fix AF_IUCV sendmsg() errno When sending over AF_IUCV socket, errno was incorrectly set to ENOMEM even when other values where appropriate, notably EAGAIN. With this patch, error indicator returned by sock_alloc_send_skb() is passed to the caller, rather than being overwritten with ENOMEM. Signed-off-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa2d8ff4e3522b4e05f590575d3eb8087f3a8cdc Author: Thomas Graf <tgraf@xxxxxxx> Date: Mon Mar 30 13:57:41 2015 +0200 openvswitch: Return vport module ref before destruction Return module reference before invoking the respective vport ->destroy() function. This is needed as ovs_vport_del() is not invoked inside an RCU read side critical section so the kfree can occur immediately before returning to ovs_vport_del(). Returning the module reference before ->destroy() is safe because the module unregistration is blocked on ovs_lock which we hold while destroying the datapath. Fixes: 62b9c8d0372d ("ovs: Turn vports with dependencies into separate modules") Reported-by: Pravin Shelar <pshelar@xxxxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e48f284d63ece564f8aa19fbf5434b3458af8d3f Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 25 16:44:33 2015 -0700 kselftests: timers: Reduce default runtime on inconsistency-check and set-timer-lat For the default run_timers target, the timers tests takes the majority of kselftests runtime. So this patch reduces the default runtime for inconsistentcy-check and set-timer-lat, which reduced the runtime almost in half. Before: 11m48.629s After: 6m47.723s Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 816c7667ea97c61884e014cfeedaede5b67b0e58 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Mon Nov 24 17:13:46 2014 +0100 KVM: s390: migrate vcpu interrupt state This patch adds support to migrate vcpu interrupts. Two new vcpu ioctls are added which get/set the complete status of pending interrupts in one go. The ioctls are marked as available with the new capability KVM_CAP_S390_IRQ_STATE. We can not use a ONEREG, as the number of pending local interrupts is not constant and depends on the number of CPUs. To retrieve the interrupt state we add an ioctl KVM_S390_GET_IRQ_STATE. Its input parameter is a pointer to a struct kvm_s390_irq_state which has a buffer and length. For all currently pending interrupts, we copy a struct kvm_s390_irq into the buffer and pass it to userspace. To store interrupt state into a buffer provided by userspace, we add an ioctl KVM_S390_SET_IRQ_STATE. It passes a struct kvm_s390_irq_state into the kernel and injects all interrupts contained in the buffer. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 79e87a103de1eda0cb4d726cd8581798e2d38f3e Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 15:12:12 2015 +0100 KVM: s390: refactor vcpu injection function Let's provide a version of kvm_s390_inject_vcpu() that does not acquire the local-interrupt lock and skips waking up the vcpu. To be used in a later patch for vcpu-local interrupt migration, where we are already holding the lock. Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 47b43c52ee4b0425449d1b2b1eedca7f6b7a578a Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 11 20:57:06 2014 +0100 KVM: s390: add ioctl to inject local interrupts We have introduced struct kvm_s390_irq a while ago which allows to inject all kinds of interrupts as defined in the Principles of Operation. Add ioctl to inject interrupts with the extended struct kvm_s390_irq Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit b4aec92567f3146167cbc262c686ff73730aa4ca Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Dec 1 15:55:42 2014 +0100 KVM: s390: cpu timer irq priority We now have a mechanism for delivering interrupts according to their priority. Let's inject them using our new infrastructure (instead of letting only hardware handle them), so we can be sure that the irq priorities are satisfied. For s390, the cpu timer and the clock comparator are to be checked for common code kvm_cpu_has_pending_timer(), although the cpu timer is only stepped when the guest is being executed. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 6d3da241416e6088f83a7ff1f37fb6bb518d9bc8 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 3 15:18:35 2013 +0200 KVM: s390: deliver floating interrupts in order of priority This patch makes interrupt handling compliant to the z/Architecture Principles of Operation with regard to interrupt priorities. Add a bitmap for pending floating interrupts. Each bit relates to a interrupt type and its list. A turned on bit indicates that a list contains items (interrupts) which need to be delivered. When delivering interrupts on a cpu we can merge the existing bitmap for cpu-local interrupts and floating interrupts and have a single mechanism for delivery. Currently we have one list for all kinds of floating interrupts and a corresponding spin lock. This patch adds a separate list per interrupt type. An exception to this are service signal and machine check interrupts, as there can be only one pending interrupt at a time. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 94aa033efcac47b09db22cb561e135baf37b7887 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 12:17:13 2015 +0100 KVM: s390: fix get_all_floating_irqs This fixes a bug introduced with commit c05c4186bbe4 ("KVM: s390: add floating irq controller"). get_all_floating_irqs() does copy_to_user() while holding a spin lock. Let's fix this by filling a temporary buffer first and copy it to userspace after giving up the lock. Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+: 69a8d4562638 KVM: s390: no need to hold... Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit ca125b5e31f5ada6844f57c5a8e7cd104d26c8fa Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 11:47:04 2015 +0200 ARM: OMAP4+: control: add support for initializing control module via DT OMAP4, OMAP5 and DRA7 now parse DT entries for control module address spaces, and set up syscon mappings appropriately. Low level IO init is updated to remove the legacy control module mappings for these devices also. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit d919501feffa8715147582c3ffce96fad0c7016f Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 11:37:13 2015 +0200 ARM: dts: dra7: add minimal l4 bus layout with control module support This patch creates the l4_cfg and l4_wkup interconnects for DRA7, and moves some of the generic peripherals under it. System control module support is added to the device tree also, and the existing SCM related functionality is moved under it. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit ed8509edddebf27e6e69f10c9c314f31ac4f2831 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 11:35:29 2015 +0200 ARM: dts: omap5: add minimal l4 bus layout with control module support This patch creates the l4_cfg and l4_wkup interconnects for OMAP5, and moves some of the generic peripherals under it. System control module support is added to the device tree also, and the existing SCM related functionality is moved under it. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit efde234674d9db08b762d9faef4dbbaa2eba3a2e Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Feb 20 10:08:52 2015 +0200 ARM: OMAP4+: control: remove support for legacy pad read/write omap4_ctrl_pad_readl/writel are no longer used by anybody, so remove these. Syscon / pinctrl should be used to access the padconf area instead. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 23d34981c7e36fb609d3eaacf0a52a05d75ae008 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 19 12:42:59 2015 +0200 ARM: OMAP4: display: convert display to use syscon for dsi muxing The legacy control module APIs will be gone, thus convert the display driver to use syscon. This change should eventually be moved to display driver from the board directory. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7415b0b4c645fe9897352f144f056fd557526667 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 11:32:14 2015 +0200 ARM: dts: omap4: add minimal l4 bus layout with control module support This patch creates the l4_cfg and l4_wkup interconnects for OMAP4, and moves some of the generic peripherals under it. System control module support is added to the device tree also, and the existing SCM related functionality is moved under it. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Reported-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 83a5d6c98af24bb4531dfc05e7c2d3ac2562c6d9 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 10:25:40 2015 +0200 ARM: dts: am4372: add minimal l4 bus layout with control module support This patch creates an l4_wkup interconnect for AM43xx, and moves some of the generic peripherals under it. System control module nodes are moved under this new interconnect also, and the SCM clock layout is changed to use the renamed SCM nodea as the clock provider. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit d7eaf3c40d8d7e9cd133f0aec85fdca0d546cc1b Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Feb 25 15:03:57 2015 +0200 ARM: dts: am43xx-epos-evm: fix pinmux node layout Pinmux node should be a reference to the base one, not a complete re-write of it. Having the node like this also prevents modifying the node layout in the base am4372.dtsi file, which is needed for control module changes. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e3bc5358e0977b95652625f9329ba68f1ebb1a42 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Mar 20 13:08:29 2015 +0200 ARM: dts: am33xx: add minimal l4 bus layout with control module support This patch creates an l4_wkup interconnect for AM33xx, and moves some of the generic peripherals under it. System control module nodes are moved under this new interconnect also, and the SCM clock layout is changed to use the renamed SCM node as the clock provider. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit b8845074cfbbd1d1b46720a1b563d7b4240dac21 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Feb 24 16:22:45 2015 +0200 ARM: dts: omap3: add minimal l4 bus layout with control module support This patch creates an l4_core interconnect for OMAP3, and moves some of the generic peripherals under it. System control module nodes are moved under this new interconnect also, and the SCM clock layout is changed to use the renamed SCM node as the clock provider. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Reported-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 72b10ac00eb1c154037e398371685d3f1d2d4793 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 10:38:16 2015 +0200 ARM: dts: omap24xx: add minimal l4 bus layout with control module support This patch creates an l4 / l4-wkup interconnects for omap2420 / omap2430 SoCs, and moves some of the generic peripherals under it. System control module nodes are moved under this new interconnect also, and the SCM clock layout is changed to use the new SCM node as the clock provider. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e5b635742e9824c8c0fc7fc524a24024cf88a448 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 11:24:11 2015 +0200 ARM: OMAP2+: control: add syscon support for register accesses Control module driver needs to support syscon for register accesses, as the DT hierarchy for control module driver is going to be changed. All the control module related features will be moved under control module node, including clocks, pinctrl, and generic configuration register access. Temporary iomap is still provided very early in the boot for access while syscon is not yet ready. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 23d240d661f42214bd372c0e5b21afaf71b9329c Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Feb 9 16:17:38 2015 +0200 ARM: OMAP2+: id: cache omap_type value There is no need to read the register with every invocation of the function, as the value is constant. Thus, cache the value in a static variable. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit ae0f6798474053eb76863fa9b3befd9deea58ba6 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Feb 6 16:20:13 2015 +0200 ARM: OMAP2+: control: remove API for getting control module base address This shall not be used anymore, as control module driver is converted into using regmap. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 80cbb224b789d256ad5cb36b0af3e5c04ed46bca Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Feb 6 16:00:32 2015 +0200 ARM: OMAP2+: clock: add low-level support for regmap Some of the TI clock providers will be converted to use syscon, thus low-level regmap support is needed for the clock drivers also. This patch adds this support, which can be enabled for individual drivers in later patches. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 219595b6ee139d883b98a9a32efbe2970802200a Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Sep 8 11:44:10 2014 +0300 ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init The compatible DT node is now passed with the prm init, so there is no need to do node matching here again. Added a new flag to the init data also, to detect default IRQ support for OMAP4. Also, any booting omap4 DT setup always has a PRM node, so there is no need to check against the special case where it would be missing. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 8b5b9a22b57c75905b368194b6fd4c472d5dc630 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Nov 21 14:45:29 2014 +0200 ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags Currently some cpu_is_X checks are used to setup prm_features, however the same can be accomplished by just passing these flags from the PRM init data. This is done in preparation to make PRM a separate driver. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 425dc8b2dff222ffd88f31f589dc647409cae0ce Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Nov 21 15:51:37 2014 +0200 ARM: OMAP2+: CM: move SoC specific init calls within a generic API This gets rid of need for some exported driver APIs, and simplifies the initialization of the CM driver. Done in preparation to make CM a separate driver. The init data is now also passed to the SoC specific implementations, allowing future expansion to add feature flags etc. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 48e0c1148d18de677f1b2aec179f36fb7c1e3839 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Sep 8 11:29:43 2014 +0300 ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility PRM device instance offset is now provided through the prm_init_data. This gets rid of some cpu_is_X / soc_is_X calls from PRM core code, preparing for PRM to be its own separate driver. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit ab7b2ffcf576a49b51c240dcd68ca4b7cd60b84d Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Nov 20 15:02:59 2014 +0200 ARM: OMAP2+: PRM: move SoC specific init calls within a generic API This gets rid of need for some exported driver APIs, and simplifies the initialization of the PRM driver. Done in preparation to make PRM a separate driver. The init data is now also passed to the SoC specific implementations, allowing future expansion to add feature flags etc. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit f9c72d10d6fbf949558cd088389a42213ed7b12d Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Tue Mar 31 12:03:28 2015 -0400 sunrpc: make debugfs file creation failure non-fatal We currently have a problem that SELinux policy is being enforced when creating debugfs files. If a debugfs file is created as a side effect of doing some syscall, then that creation can fail if the SELinux policy for that process prevents it. This seems wrong. We don't do that for files under /proc, for instance, so Bruce has proposed a patch to fix that. While discussing that patch however, Greg K.H. stated: "No kernel code should care / fail if a debugfs function fails, so please fix up the sunrpc code first." This patch converts all of the sunrpc debugfs setup code to be void return functins, and the callers to not look for errors from those functions. This should allow rpc_clnt and rpc_xprt creation to work, even if the kernel fails to create debugfs files for some reason. Symptoms were failing krb5 mounts on systems using gss-proxy and selinux. Fixes: 388f0c776781 "sunrpc: add a debugfs rpc_xprt directory..." Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c99753379ccb26ae0acf3059b579154876e0cf1e Merge: 3271e4f 451e1ca Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 14:15:01 2015 -0400 Merge branch 'bcmgenet-next' Petri Gynther says: ==================== net: bcmgenet: code cleanup Five patches to clean up bcmgenet code: 1. add UMAC_IRQ_RXDMA_DONE and UMAC_IRQ_TXDMA_DONE 2. remove __bcmgenet_fini_dma() 3. fix bcmgenet_open() 4. add UMAC_IRQ_LINK_EVENT 5. fix the call to phy_mac_interrupt() ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 451e1ca2ab68b9184379fde7867f278c4b3efc61 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 30 00:29:35 2015 -0700 net: bcmgenet: fix the call to phy_mac_interrupt() On phy_mac_interrupt() call, the new_link parameter should be 0 or 1. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e122966dd9aedb666df93f5ee6007e1688194611 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 30 00:29:24 2015 -0700 net: bcmgenet: add UMAC_IRQ_LINK_EVENT Add #define UMAC_IRQ_LINK_EVENT to simplify link event handling code. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fac25940c5e0d6f31d56bb2a704fadad6d5e382a Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 30 00:29:13 2015 -0700 net: bcmgenet: fix bcmgenet_open() If bcmgenet_init_dma() fails, it cleans up after itself. Rx and Tx DMAs are off, and NAPI instances haven't been netif_napi_add()'ed. Therefore, we need to skip calling bcmgenet_fini_dma() on the error handling path. bcmgenet_resume() already does this correctly. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9abab96d9feabf4df87464de035344e91aeefa0a Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 30 00:29:01 2015 -0700 net: bcmgenet: remove __bcmgenet_fini_dma() bcmgenet_fini_dma() is the only caller of __bcmgenet_fini_dma(). Move __bcmgenet_fini_dma() code inside bcmgenet_fini_dma(). Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee7d8c2067e1bc633f4df3159698b32a9714f724 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 30 00:28:50 2015 -0700 net: bcmgenet: add UMAC_IRQ_RXDMA_DONE and UMAC_IRQ_TXDMA_DONE Add #define for UMAC_IRQ_RXDMA_DONE and UMAC_IRQ_TXDMA_DONE in order to simplify the code that handles Rx and Tx default queue interrupts. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3271e4f18d9a4ec9ac5568f94444dac08f29c5a0 Merge: 4e833c5 b08cc79 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 14:12:37 2015 -0400 Merge branch 'hv_netvsc-next' K. Y. Srinivasan says: ==================== hv_netvsc: Eliminate memory allocation in the send path The network protocol used to communicate with the host is the remote ndis (rndis) protocol. We need to decorate each outgoing packet with a rndis header and additional rndis state (rndis per-packet state). To manage this state, we currently allocate memory in the transmit path. Eliminate this allocation by requesting additional head room in the skb. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b08cc79155fc26d0d112b1470d1ece5034651a4b Author: KY Srinivasan <kys@xxxxxxxxxxxxx> Date: Sun Mar 29 21:08:42 2015 -0700 hv_netvsc: Eliminate memory allocation in the packet send path The network protocol used to communicate with the host is the remote ndis (rndis) protocol. We need to decorate each outgoing packet with a rndis header and additional rndis state (rndis per-packet state). To manage this state, we currently allocate memory in the transmit path. Eliminate this allocation by requesting additional head room in the skb. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbacec76bcd03ff21b37ac331e652b5a8f3ea644 Author: KY Srinivasan <kys@xxxxxxxxxxxxx> Date: Sun Mar 29 21:08:41 2015 -0700 hv_netvsc: Cleanup the test for freeing skb when we use sendbuf mechanism In preparation for embedding the rndis state and other packet state into the skb, cleanup the test for freeing the skb. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e833c596ef5f699479a8ba2d3294a004895f5f4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Mar 29 18:25:12 2015 -0700 ethernet: Use bool function returns of true/false instead of 1/0 Use bool constants as the return values instead of 1 and 0. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5899f0478528b59ea9ced201eacb3e56ca406c39 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:05:28 2015 +0200 netlink: pad nla_memcpy dest buffer with zeroes This is especially important in cases where the kernel allocs a new structure and expects a field to be set from a netlink attribute. If such attribute is shorter than expected, the rest of the field is left containing previous data. When such field is read back by the user space, kernel memory content is leaked. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e1fa36b3f5347eabd02385883fb5757aed56687 Merge: f0ef312 67b61f6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 13:58:36 2015 -0400 Merge branch 'nla_in_addr' Jiri Benc says: ==================== netlink: access functions for IP address attributes There are many places that read or write IP addresses to netlink attributes. With IPv6 addresses, every such place currently has to use generic nla_put and nla_memcpy. Implementing IPv6 address access functions simplify things and makes the code more intelligible. IPv4 address access functions has lesser value but it would be better to be consistent between IPv6 and IPv4 and they still serve as documentation. The conversion is straightforward and the resulting patches are not that large, thus I kept all the changes in the patches that introduce the access functions. If anyone prefers to split the definition of access functions and the conversion and/or break it out by network protocols, please let me know. While doing the conversion, I came across ugly typecasting in inetpeer_addr_base and xfrm_address_t when dealing with IPv6 addresses. Instead of introducing more of this, I cleaned it up. Those are the first two patches, serving as a prerequisite to the latter two. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67b61f6c130a05b2cd4c3dfded49a751ff42c534 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:59:26 2015 +0200 netlink: implement nla_get_in_addr and nla_get_in6_addr Those are counterparts to nla_put_in_addr and nla_put_in6_addr. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 930345ea630405aa6e6f42efcb149c3f360a6b67 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:59:25 2015 +0200 netlink: implement nla_put_in_addr and nla_put_in6_addr IP addresses are often stored in netlink attributes. Add generic functions to do that. For nla_put_in_addr, it would be nicer to pass struct in_addr but this is not used universally throughout the kernel, in way too many places __be32 is used to store IPv4 address. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15e318bdc6dfb82914c82fb7ad00badaa8387d8e Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:59:24 2015 +0200 xfrm: simplify xfrm_address_t use In many places, the a6 field is typecasted to struct in6_addr. As the fields are in union anyway, just add in6_addr type to the union and get rid of the typecasting. Modifying the uapi header is okay, the union has still the same size. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f55db48608b109ad8c7ff4b946ad39b3189a540 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:59:23 2015 +0200 tcp: simplify inetpeer_addr_base use In many places, the a6 field is typecasted to struct in6_addr. As the fields are in union anyway, just add in6_addr type to the union and get rid of the typecasting. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0ef31264cde8b489a0b87149ebc3a72cef4c58a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:17:37 2015 +0200 vxlan: fix indentation Some lines in vxlan code are indented by 7 spaces instead of a tab. Fixes: e4c7ed415387 ("vxlan: add ipv6 support") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1695fb46eb5880dae70b4940a7d6bdf6e276104d Merge: bc48878 53b24b8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 13:51:59 2015 -0400 Merge branch 'ipv6_null' Ian Morris says: ==================== ipv6: coding style - comparisons with NULL The following patches address some coding style issues only. No functional changes and no changes detected by objdiff. The IPV6 code uses multiple different styles when comparing with NULL (I.e. x == NULL and !x as well as x != NULL and x). Generally the latter form is preferred according to checkpatch and so this changes aligns the code to this style. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53b24b8f94cb15e38e332db82177cf3f0f4df0c5 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Mar 29 14:00:05 2015 +0100 ipv6: coding style: comparison for inequality with NULL The ipv6 code uses a mixture of coding styles. In some instances check for NULL pointer is done as x != NULL and sometimes as x. x is preferred according to checkpatch and this patch makes the code consistent by adopting the latter form. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 63159f29be1df7f93563a8a0f78c5e65fc844ed6 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Mar 29 14:00:04 2015 +0100 ipv6: coding style: comparison for equality with NULL The ipv6 code uses a mixture of coding styles. In some instances check for NULL pointer is done as x == NULL and sometimes as !x. !x is preferred according to checkpatch and this patch makes the code consistent by adopting the latter form. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5e2dc5d7fe78fe4d8748d217338f4f7b6a5d7ea Author: Anton Nayshtut <anton@xxxxxxxxxxx> Date: Sun Mar 29 14:20:25 2015 +0300 bonding: Bonding Overriding Configuration logic restored. Before commit 3900f29021f0bc7fe9815aa32f1a993b7dfdd402 ("bonding: slight optimizztion for bond_slave_override()") the override logic was to send packets with non-zero queue_id through the slave with corresponding queue_id, under two conditions only - if the slave can transmit and it's up. The above mentioned commit changed this logic by introducing an additional condition - whether the bond is active (indirectly, using the slave_can_tx and later - bond_is_active_slave), that prevents the user from implementing more complex policies according to the Documentation/networking/bonding.txt. Signed-off-by: Anton Nayshtut <anton@xxxxxxxxxxx> Signed-off-by: Alexey Bogoslavsky <alexey@xxxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18779b75e90e75bf7f1aee8e71307b69fa5f7631 Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Tue Mar 31 09:49:40 2015 -0700 Smack: Updates for Smack documentation Document the Smack bringup features. Update the proper location for mounting smackfs from /smack to /sys/fs/smackfs. Fix some spelling errors. Suggest the use of the load2 interface instead of the load interface. Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit bc48878c06028f297e4fdf75be7dda88de050430 Merge: 19a1204 0f587f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 13:34:15 2015 -0400 Merge branch 'bnx2x-next' Yuval Mintz says: ==================== bnx2x: link and protection changes This patch series contains 2 small additions to link configuration, as well as a safeguard against loading the device on a hardware at a failed state. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f587f1bfb1fb15d9ebd94c565dd11ae6d4e03b6 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Mar 29 10:05:01 2015 +0300 bnx2x: Prevent probe as early as possible It's possible that due to errors [either on PCI or on device itself] registers reads would fail, returning all-Fs. This adds a check as early as possible so that driver will not read junk values and make incorrect probe decisions according to them; instead, gracefully fail the probe. 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 fcd02d27b5c543f2d4538d2ac402fed1154c6dfb Author: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx> Date: Sun Mar 29 10:05:00 2015 +0300 bnx2x: Count number of link changes Number of link changes are now being stored in shared memory [by all possible link owners], for management use [as well as possible debug information for dumps]. Signed-off-by: Yaniv Rosner <Yaniv.Rosner@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 30fd9ff0d9e0d1f83e0ae59cbef3b78648f42b46 Author: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx> Date: Sun Mar 29 10:04:59 2015 +0300 bnx2x: Configure IFir et al. according to nvram Enable controlling Post2, coeff, IPreDriver and IFir according to NVRAM setup. Signed-off-by: Yaniv Rosner <Yaniv.Rosner@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 d91e9015c78af1dc1f8ac4fdcf6118dbc2401668 Merge: 63c6073 e9997c2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 13:28:38 2015 -0400 Merge branch 'ipvlan-corruptions' Jiri Benc says: ==================== ipvlan: list corruption and rcu fixes This patch set fixes different issues leading to corrupted lists and incorrect rcu usage. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9997c2938b23d792528da1597b3aea9b0f2a324 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sat Mar 28 19:13:25 2015 +0100 ipvlan: fix check for IP addresses in control path When an ipvlan interface is down, its addresses are not on the hash list. Fix checks for existence of addresses not to depend on the hash list, walk through all interface addresses instead. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40891e8ad630558caae26788d37bf50137b6d5d2 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sat Mar 28 19:13:24 2015 +0100 ipvlan: do not use rcu operations for address list All accesses to ipvlan->addrs are under rtnl. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2afa650ce297bc2048bc3d059774be9c39734565 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sat Mar 28 19:13:23 2015 +0100 ipvlan: protect against concurrent link removal Adding and removing to the 'ipvlans' list is already done using _rcu list operations. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27705f7085ce2e124fac4c280ce824962cc90bb6 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sat Mar 28 19:13:22 2015 +0100 ipvlan: fix addr hash list corruption When ipvlan interface with IP addresses attached is brought down and then deleted, the assigned addresses are deleted twice from the address hash list, first on the interface down and second on the link deletion. Similarly, when an address is added while the interface is down, it is added second time once the interface is brought up. When the interface is down, the addresses should be kept off the hash list for performance reasons. Ensure this is true, which also fixes the double add problem. To fix the double free, check whether the address is hashed before removing it. Reported-by: Dan Williams <dcbw@xxxxxxxxxx> Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19a12049cd12ea2c5195f81e747adbc2c89e6560 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Fri Mar 27 22:34:31 2015 -0700 bonding: Remove hardcoded initialization Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e47d6caff9e8af6db0741ddbd260bdd36d24c13 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 27 14:14:22 2015 -0700 fib_trie: Cleanup ip_fib_net_exit code path While fixing a recent issue I noticed that we are doing some unnecessary work inside the loop for ip_fib_net_exit. As such I am pulling out the initialization to NULL for the locally stored fib_local, fib_main, and fib_default. In addition I am restoring the original code for flushing the table as there is no need to split up the fib_table_flush and hlist_del work since the code for packing the tnodes with multiple key vectors was dropped. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad88d05136386de3584867091a51927eab18dc39 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 27 14:14:16 2015 -0700 fib_trie: Fix warning on fib4_rules_exit This fixes the following warning: BUG: sleeping function called from invalid context at mm/slub.c:1268 in_atomic(): 1, irqs_disabled(): 0, pid: 6, name: kworker/u8:0 INFO: lockdep is turned off. CPU: 3 PID: 6 Comm: kworker/u8:0 Tainted: G W 4.0.0-rc5+ #895 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Workqueue: netns cleanup_net 0000000000000006 ffff88011953fa68 ffffffff81a203b6 000000002c3a2c39 ffff88011952a680 ffff88011953fa98 ffffffff8109daf0 ffff8801186c6aa8 ffffffff81fbc9e5 00000000000004f4 0000000000000000 ffff88011953fac8 Call Trace: [<ffffffff81a203b6>] dump_stack+0x4c/0x65 [<ffffffff8109daf0>] ___might_sleep+0x1c3/0x1cb [<ffffffff8109db70>] __might_sleep+0x78/0x80 [<ffffffff8117a60e>] slab_pre_alloc_hook+0x31/0x8f [<ffffffff8117d4f6>] __kmalloc+0x69/0x14e [<ffffffff818ed0e1>] ? kzalloc.constprop.20+0xe/0x10 [<ffffffff818ed0e1>] kzalloc.constprop.20+0xe/0x10 [<ffffffff818ef622>] fib_trie_table+0x27/0x8b [<ffffffff818ef6bd>] fib_trie_unmerge+0x37/0x2a6 [<ffffffff810b06e1>] ? arch_local_irq_save+0x9/0xc [<ffffffff818e9793>] fib_unmerge+0x2d/0xb3 [<ffffffff818f5f56>] fib4_rule_delete+0x1f/0x52 [<ffffffff817f1c3f>] ? fib_rules_unregister+0x30/0xb2 [<ffffffff817f1c8b>] fib_rules_unregister+0x7c/0xb2 [<ffffffff818f64a1>] fib4_rules_exit+0x15/0x18 [<ffffffff818e8c0a>] ip_fib_net_exit+0x23/0xf2 [<ffffffff818e91f8>] fib_net_exit+0x32/0x36 [<ffffffff817c8352>] ops_exit_list+0x45/0x57 [<ffffffff817c8d3d>] cleanup_net+0x13c/0x1cd [<ffffffff8108b05d>] process_one_work+0x255/0x4ad [<ffffffff8108af69>] ? process_one_work+0x161/0x4ad [<ffffffff8108b4b1>] worker_thread+0x1cd/0x2ab [<ffffffff8108b2e4>] ? process_scheduled_works+0x2f/0x2f [<ffffffff81090686>] kthread+0xd4/0xdc [<ffffffff8109ec8f>] ? local_clock+0x19/0x22 [<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83 [<ffffffff81a2c0c8>] ret_from_fork+0x58/0x90 [<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83 The issue was that as a part of exiting the default rules were being deleted which resulted in the local trie being unmerged. By moving the freeing of the FIB tables up we can avoid the unmerge since there is no local table left when we call the fib4_rules_exit function. Fixes: 0ddcf43d5d4a ("ipv4: FIB Local/MAIN table collapse") Reported-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 548ae94c1cc7fc120848757249b9a542b1080ffb Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 30 12:34:25 2015 +0100 ARM: mvebu: Disable CPU Idle on Armada 38x On Armada 38x SoCs, under heavy I/O load, the system hangs when CPU Idle is enabled. Waiting for a solution to this issue, this patch disables the CPU Idle support for this SoC. As CPU Hot plug support also uses some of the CPU Idle functions it is also affected by the same issue. This patch disables it also for the Armada 38x SoCs. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.17 + commit 89a3f3c55ba54e08968b12a5f8e7d1787a0bbb4a Merge: 32eaf12 a7a484b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 12:45:58 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-03-27 Here's another set of Bluetooth & 802.15.4 patches for 4.1: - New API to control LE advertising data (i.e. peripheral role) - mac802154 & at86rf230 cleanups - Support for toggling quirks from debugfs (useful for testing) - Memory leak fix for LE scanning - Extra version info reading support for Broadcom controllers Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d31af0a325ca4ff8e57b8616ab2228913df369ad Author: Jens Axboe <axboe@xxxxxx> Date: Fri Mar 6 12:56:13 2015 -0700 NVMe: increase depth of admin queue Usually the admin queue depth of 64 is plenty, but for some use cases we really need it larger. Examples are use cases like MAT, where you have to touch all of NAND for init/format like purposes. In those cases, we see a good 2x increase with an increased queue depth. Signed-off-by: Jens Axboe <axboe@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit f137e0f15101c0a0ff8a5d956042e50247f1fef9 Author: Murali Iyer <mniyer@xxxxxxxxxx> Date: Thu Mar 26 11:07:51 2015 -0500 nvme: Fix PRP list calculation for non-4k system page size PRP list calculation is supposed to be based on device's page size. Systems with page size larger than device's page size cause corruption to the name space as well as system memory with out this fix. Systems like x86 might not experience this issue because it uses PAGE_SIZE of 4K where as powerpc uses PAGE_SIZE of 64k while NVMe device's page size varies depending upon the vendor. Signed-off-by: Murali Iyer <mniyer@xxxxxxxxxx> Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1efccc9ddb98fd533169669160201b027562af7e Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Mar 31 10:37:17 2015 -0600 NVMe: Fix blk-mq hot cpu notification The driver may issue commands to a device that may never return, so its request_queue could always have active requests while the controller is running. Waiting for the queue to freeze could block forever, which is what blk-mq's hot cpu notification handler was doing when nvme drives were in use. This has the nvme driver make the asynchronous event command's tag reserved and does not keep the request active. We can't have more than one since the request is released back to the request_queue before the command is completed. Having only one avoids potential tag collisions, and reserving the tag for this purpose prevents other admin tasks from reusing the tag. I also couldn't think of a scenario where issuing AEN requests single depth is worse than issuing them in batches, so I don't think we lose anything with this change. As an added bonus, doing it this way removes "Cancelling I/O" warnings observed when unbinding the nvme driver from a device. Reported-by: Yigal Korman <yigal@xxxxxxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit fda631ffe5422424579e1649e04cc468d0215b85 Author: Chong Yuan <chong.yuan@xxxxxxxxxxxx> Date: Fri Mar 27 09:21:32 2015 +0800 NVMe: embedded iod mask cleanup Remove unused mask in nvme_alloc_iod Signed-off-by: Chong Yuan <chong.yuan@xxxxxxxxxxxx> Reviewed-by: Wenbo Wang <wenbo.wang@xxxxxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6df3dbc83fb8043a5975d75970d296d6d14f7273 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Thu Mar 26 13:49:33 2015 -0600 NVMe: Freeze admin queue on device failure This fixes a race accessing an invalid address when a controller's admin queue is in use during a reset for failure or hot removal occurs. The admin queue will be frozen to prevent new users from entering prior to the doorbell queue being unmapped. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 32eaf120e66b1763626ed564adf1e42e69da82f4 Merge: d482994 ed7c631 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 12:01:21 2015 -0400 Merge branch 'ptp-2038' Fixed two warnings in e1000e and igb, when switching to timespec64 some printf formats started to not match. In theses cases actually the new type is __kernel_time_t which is __kernel_long_t which unfortunately can be either "long" or "long long". So to solve this I cases the arguments to "long long". -DaveM Richard Cochran says: ==================== ptp: get ready for 2038 This series converts the core driver methods of the PTP Hardware Clock (PHC) subsystem to use the 64 bit version of the timespec structure, making the core API ready for the year 2038. In addition, I reviewed how each driver and device represents the time value at the hardware register level. Most of the drivers are ready, but a few will need some work before the year 2038, as shown: Patch Driver ------------------------------------------------ 12 drivers/net/ethernet/intel/igb/igb_ptp.c 15 ? drivers/net/ethernet/sfc/ptp.c 16 drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c The commit log messages document how each driver is ready or why it is not ready. For patch 15, I could not easily find out the hardware representation of the time value, and so the SFC maintainers will have to review their low level code in order to resolve any remaining issues. * ChangeLog ** V3 - dp83640: use timespec64 throughout per Arnd's suggestion - tilegx: use timespec64 throughout per Chris' suggestion - add Jeff's acked-bys ** V2 - use the new methods in the posix clock code right away (patch #3) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 232a5adc5199891efde6c844fd15b8d4d18245e6 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Tue Mar 31 16:35:01 2015 +0200 spi: bitbang: only toggle bitchanges The current implementation of bitbang_txrx_be_cpha0 and bitbang_txrx_be_cpha1 always call setmosi. That runs into several unnecessary calls into the gpiolib when the level of the GPIO actually has not to be changed. This patch changes the routines to remember the last GPIO level and only calls setmosi if an change has to be made. This way it improves the transfer throughput. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44164c4ba98c3dd3560d929ba66da51b5170ff1c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Mar 30 16:21:00 2015 +1100 ftracetest: Convert exit -1 to exit $FAIL POSIX says that exit takes an unsigned integer between 0 and 255, so using -1 doesn't work on POSIX shells. There is already a well-defined failure code, $FAIL (1), so use that. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit a05ffdce7155769ea5ac3409e1490fb9116dbaed Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Mar 30 16:21:40 2015 +1100 ftracetest: Cope properly with stack tracer not being enabled If the stack tracer (CONFIG_STACK_TRACER) is disabled, the fgraph-filter-stack test blows chunks: [8] ftrace - function graph filters with stack tracer [FAIL] + reset_tracer + echo nop ./ftracetest: 19: /home/michael/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc: cannot create /proc/sys/kernel/stack_tracer_enabled: Directory nonexistent Fix it by checking if the proc file exists before echoing to it. With the patch applied it fails correctly with: [8] ftrace - function graph filters with stack tracer [UNSUPPORTED] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 1d804d079a92138d011900785193b6b00b44bc00 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 16:46:09 2015 -0700 x86: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Message-Id: <9f593eb2f43b456851cd73f7ed09654ca58fb570.1427759009.git.joe@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d56b9b28a4a5d9e61dd99154b986e760373e2392 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Feb 23 19:10:15 2015 -0500 dm: remove request-based DM queue's lld_busy_fn hook DM multipath is the only caller of blk_lld_busy() -- which calls a queue's lld_busy_fn hook. Request-based DM doesn't support stacking multipath devices so there is no reason to register the lld_busy_fn hook on a multipath device's queue using blk_queue_lld_busy(). As such, remove functions dm_lld_busy and dm_table_any_busy_target. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 52b09914af86fa3e728175c1125c91520e437b2f Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Feb 23 16:36:41 2015 -0500 dm: remove unnecessary wrapper around blk_lld_busy There is no need for DM to export a wrapper around the already exported blk_lld_busy(). Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 09c2d53101da87f5ab4084643d2f8c718b3ab3cf Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Feb 27 22:25:26 2015 -0500 dm: rename __dm_get_reserved_ios() helper to __dm_get_module_param() __dm_get_module_param() could be useful for future DM module parameters besides those related to "reserved_ios". Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e73f6e8a0de8ce28edef986d86720ef83dd2864f Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Feb 27 15:25:31 2015 -0500 dm switch: fix Documentation to use plain text Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e65ff8703f56273c6dc8b77373f4d2bef6e35107 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Feb 20 14:22:17 2015 +0000 dm cache policy mq: try not to writeback data that changed in the last second Writeback takes out a lock on the cache block, so will increase the latency for any concurrent io. This patch works by placing 2 sentinel objects on each level of the multiqueues. Every WRITEBACK_PERIOD the oldest sentinel gets moved to the newest end of the queue level. When looking for writeback work: if less than 25% of the cache is clean: we select the oldest object with the lowest hit count otherwise: we select the oldest object that is not past a writeback sentinel. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit fdecee3224d90e51c611198baeb0c38e568ca0e8 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Feb 20 13:54:14 2015 +0000 dm cache policy mq: remove unused generation member of struct entry Remove to stop wasting memory. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 3e45c91e5cdd0cfd3cc1228628602c8e7e587157 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Feb 20 13:49:45 2015 +0000 dm cache policy mq: track entries hit this 'tick' via sentinel objects A sentinel object is placed on each level of the multiqueues. When an object is hit it is requeued behind the sentinel. When the tick is incremented we iterate through all objects behind the sentinel and update the hit_count, then reposition the sentinel at the very back. This saves memory by avoiding tracking the tick explicitly for every struct entry object in the multiqueues. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit c74ffc5c63b0b2753bedd49bdc1196d570f66803 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Feb 20 13:01:22 2015 +0000 dm cache policy mq: remove queue_shift_down() queue_shift_down() didn't adjust the hit_counts to the new levels, so it just had the effect of scrambling levels. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 75da39bf256c27e25f395b191ead79f323772672 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Feb 20 12:58:03 2015 +0000 dm cache policy mq: keep track of the number of entries in a multiqueue Small optimisation, now queue_empty() doesn't need to walk all levels of the multiqueue. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit ac1f9ef211d5dd70110fa4bec6e8866b2c3a965e Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Feb 12 15:20:35 2015 -0500 dm log userspace: split flush_entry_pool to be per dirty-log Use a single slab cache to allocate a mempool for each dirty-log. This _should_ eliminate DM's need for io_schedule_timeout() in mempool_alloc(); so io_schedule() should be sufficient now. Also, rename struct flush_entry to dm_dirty_log_flush_entry to allow KMEM_CACHE() to create a meaningful global name for the slab cache. Also, eliminate some holes in struct log_c by rearranging members. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> commit ed7c6317bc599502e1fdc7f5f95cb9a5550360a4 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:13 2015 +0200 ptp: remove 32 bit get/set methods. All of the PHC drivers have been converted to the new methods. This patch converts the three remaining callers within the core code and removes the older methods for good. As a result, the core PHC code is ready for the year 2038. However, some of the PHC drivers are not quite ready yet. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a043a72909b9ed9b3505f3be42d5329cea50c273 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:12 2015 +0200 ptp: pch: convert to the 64 bit get/set time methods. The device has a 64 bit clock register, where each clock tick is 32 nanoseconds, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ca13de26740dfd21e85769f08a89321c2ec1266 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:11 2015 +0200 ptp: ixp46x: convert to the 64 bit get/set time methods. The device has a 64 bit clock register, where each clock tick is 16 nanoseconds, and so with this patch the driver is ready for the year 2038. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41c2c18ffb4d5e46bca5b419784f67db9b0c1425 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:10 2015 +0200 ptp: dp83640: convert to the 64 bit get/set time methods. This device stores the number of seconds in a 32 bit register, and the stored value is unsigned. Therefore this driver and device are ready for the year 2038. However, more work will be needed prior to 2106. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9acf24f779c778b994a7dc017c977a18560f690 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:09 2015 +0200 ptp: tilegx: convert to the 64 bit get/set time methods. This driver is 64 bit only, and so this driver and device are ready for 2038. This patch changes the driver to the new PHC and also carries the timespec64 parameter on out to the gxio_mpipe_get- set_timestamp functions, making explicit the fact that the tv_sec field is 64 bits wide. Not even compile tested. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5c79c26e168018df201c07e046003a6ab226cdc Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:08 2015 +0200 ptp: cpts: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f6c4654c8bff4230ba279a7b5b6d8721b572ddf Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:07 2015 +0200 ptp: stmmac: convert to the 64 bit get/set time methods. This device stores the number of seconds in a 32 bit register. So more work is needed on this driver before the year 2038 comes around. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fcb5c76ca71afbef6c18d0710f2d4557b1d216a Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:06 2015 +0200 ptp: sfc: convert to the 64 bit get/set time methods. This patch changes the driver to use the newer API. Depending on how the hardware represents a time value, this driver may or may not yet be ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e394b80545a005fa9b2eea27036d670641a0c728 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:05 2015 +0200 ptp: mlx4: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91432d18eddd370f28ea77fd699a947bb893e5fe Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:04 2015 +0200 ptp: ixgbe: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4c496fe45de9dc33ace3a5796e4211e2e809231 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:03 2015 +0200 ptp: igb: convert to the 64 bit get/set time methods. For the 82576, the driver's clock is implemented using a timecounter, and so with this patch that device is ready for the year 2038. However, in the case of the i210, the device stores the number of seconds in a 32 bit register. Therefore, more work is needed on this driver before the year 2038 comes around. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f7a9b8ab327a2aa9ee5a6d1670439ce5ed47554 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:02 2015 +0200 ptp: i40e: convert to the 64 bit get/set time methods. The device appears to use a 64 bit nanoseconds register, and so with this patch the driver should be ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 843293e1bb7d8cccc3b4a528db9eef710113fb6a Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:01 2015 +0200 ptp: fm10k: convert to the 64 bit get/set time methods. The device appears to use a 64 bit nanoseconds register, and so with this patch the driver should be ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07c74eb775dd4a58c331529973111166f3683541 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:00 2015 +0200 ptp: e1000e: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d28fdf0fe3dc73df8f0e41424ec0bba0660baabe Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:59 2015 +0200 ptp: gianfar: convert to the 64 bit get/set time methods. The device features a 64 bit nanoseconds register, and so with this patch the driver is ready for the year 2038. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 241926bcb4546187363d6140a610e4bb7d12d85e Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:58 2015 +0200 ptp: fec: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f578b41812069e99504f0c2c54412e7ede08532b Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:57 2015 +0200 ptp: tg3: convert to the 64 bit get/set time methods. The device appears to use a 64 bit nanoseconds register, and so with this patch the driver should be ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d45186b4772512e6db9f1494735c983518e3a09 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:56 2015 +0200 ptp: bnx2x: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Sony Chacko <sony.chacko@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15dd95ffe424e336b2a2bc7a01603c0e1314901c Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:55 2015 +0200 ptp: xgbe: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20ca7fb6e4d6e8c44442ac0b82c24e74de2bad02 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:54 2015 +0200 ptp: blackfin: convert to the 64 bit get/set time methods. The device uses 64 bit nanoseconds register, and so with this patch the driver is ready for the year 2038. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7d38f5bd7bece539a6cbb59fc8121f29f63fbdb Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:53 2015 +0200 ptp: use the 64 bit get/set time methods for the posix clock. This patch changes the posix clock code to prefer the new methods whenever they are implemented by the PHC drivers. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e13cfcb03eeccb97d3f8deb393304c6190b61da9 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:52 2015 +0200 ptp: use the 64 bit gettime method for the SYS_OFFSET ioctl. This patch changes the code to use the new method whenever implemented by the PHC driver. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92f1719407b90475b3be0b7b9c983dec2ff8351e Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:51 2015 +0200 ptp: introduce get/set time methods with explicit 64 bit seconds. Converting the PHC drivers over to the new methods is one step along the way to making them ready for 2038. Once all the drivers are up to date, then the old methods will be removed. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 851c9f38e4199adb612366f8e202036d624d5de2 Merge: e963741 c76cbbc Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Mar 31 12:00:32 2015 -0400 Merge remote-tracking branch 'jens/for-4.1/core' into dm/for-next commit 3071efa466b30636bf958f3d13bc808e03105cd8 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:12:26 2015 +0200 clocksource/drivers/sun5i: Add clock notifiers The parent clock of the sun5i timer is the AHB clock, which rate might change because of other devices requirements. This is for example the case on the Allwinner A31, where the DMA controller needs a minimum rate higher than the default, that is enforced after the timer driver has probed. Add clock notifiers to make sure we reflect the clock rate changes in the timer rates. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427796746-373-5-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4a59058f0b09682200c04b1db236b4a3b92128d7 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:12:25 2015 +0200 clocksource/drivers/sun5i: Refactor the current code Refactor the code in order to remove the global variables and split the clock source and clock events registration in order to ease the addition of the clock notifiers needed to handle the parent clock rate changes. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427796746-373-4-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a45860d0ba433c217d359fa2cc2a4984d18ce263 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:12:24 2015 +0200 clocksource/drivers/sun5i: Use of_io_request_and_map() of_iomap doesn't do a request_mem_region() on the memory area defined in the DT it maps. Switch to of_io_request_and_map() to make sure we're the only users. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427796746-373-3-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5673bc5a863bd4391eab5bb85277f0f1dd1dca50 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:12:23 2015 +0200 clocksource/drivers/sun5i: Switch to request_irq() The current code uses setup_irq(), while it could perfectly use the much simpler request_irq(). Switch to that. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427796746-373-2-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 566e6dfad580a55084c29fe3e887c7273b16fc6a Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:12:22 2015 +0200 clocksource/drivers/arm_arch_timer: Rename 'arch_timer_probed()' to 'arch_timer_needs_probing()' to reflect behaviour The arch_timer_probed() function returns whether the given time doesn't need to be probed. This can be the case when the timer has been probed already, but also when it has no corresponding enabled node in DT. Rename the function to arch_timer_needs_probing() and invert its return value to better reflect the function's purpose and behaviour. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427796746-373-1-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9637415a92cf25ad800b7fdeddcd30cce7b44ab Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Mar 30 13:39:09 2015 -0400 block: fix blk_stack_limits() regression due to lcm() change Linux 3.19 commit 69c953c ("lib/lcm.c: lcm(n,0)=lcm(0,n) is 0, not n") caused blk_stack_limits() to not properly stack queue_limits for stacked devices (e.g. DM). Fix this regression by establishing lcm_not_zero() and switching blk_stack_limits() over to using it. DM uses blk_set_stacking_limits() to establish the initial top-level queue_limits that are then built up based on underlying devices' limits using blk_stack_limits(). In the case of optimal_io_size (io_opt) blk_set_stacking_limits() establishes a default value of 0. With commit 69c953c, lcm(0, n) is no longer n, which compromises proper stacking of the underlying devices' io_opt. Test: $ modprobe scsi_debug dev_size_mb=10 num_tgts=1 opt_blks=1536 $ cat /sys/block/sde/queue/optimal_io_size 786432 $ dmsetup create node --table "0 100 linear /dev/sde 0" Before this fix: $ cat /sys/block/dm-5/queue/optimal_io_size 0 After this fix: $ cat /sys/block/dm-5/queue/optimal_io_size 786432 Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.19+ Acked-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7676fa70feb2f3bcdd4b854a553a57d8ef8505aa Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Fri Mar 27 12:14:36 2015 +0000 ARM64 / ACPI: make acpi_map_gic_cpu_interface() as void function Since the only caller of acpi_parse_gic_cpu_interface() doesn't need the return value, make it have a void return type to avoid introducing subtle bugs, and update the comments of the function accordingly. Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ec81ad4eca9736bb73d4458fb7d8a5ccaf3e908e Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Fri Mar 27 12:14:35 2015 +0000 ARM64 / ACPI: Ignore the return error value of acpi_map_gic_cpu_interface() MADT scanning will stop when it gets an error from the handler, acpi_map_gic_cpu_interface(), on arm64. However, we need to find all of the enabled CPUs so that SMP initialization can work properly. So, if an error occurs in this case, ignore it for now so that we can find all of the enabled CPUs. Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit cc3979b54d5f1d5b5059b404892888c304d28080 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Mar 31 00:46:00 2015 +0100 arm64: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3a82002c7cbb166b891de515b5463aec41035c75 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:34:51 2015 +0200 MAINTAINERS: change the Atmel audio alsa driver entry I take over the the maintainship of Atmel alsa drivers from Voice. Thanks for your work! Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e03de74516ec434aea77cfcf276df9c87fc7285a Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Mar 3 13:28:18 2015 +0100 mmc: omap_hsmmc: use generic slot-gpio isr to manage card detect pin Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 11227d12397c6dd5c578e27210aa14e3fa44f11c Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Mar 3 13:28:17 2015 +0100 mmc: omap_hsmmc: simplify card/cover detect isr strip the card dectet logic from cover detect isr and vice versa the generic mmc_gpio_cd_irqt isr, uses 200ms on removal/insertion, hence that should be fine here as well Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b793f658b194edfe5e1d86aaeace01a7b03c68f9 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Mar 11 15:15:14 2015 -0700 mmc: dw_mmc: Don't try to enable the CD until we're sure we're not deferring If dw_mci_init_slot() returns that we got a probe deferral then it may leave slot->mmc as NULL. That will cause dw_mci_enable_cd() to crash when it calls mmc_gpio_get_cd(). Fix this by moving the call of dw_mci_enable_cd() until we're sure that we're good. Note that if we have more than one slot and one defers (but the others don't) things won't work so well. ...but that's not a new thing and everyone has already agreed that multislot support ought to be removed from dw_mmc eventually anyway since it is unused, untested, and you can see several bugs like this by inspecting the code. Fixes: bcafaf5470f0 ("mmc: dw_mmc: Only enable CD after setup and only if needed") Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5c935165da79644df90a647ecc140fb77b40dee5 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Mar 9 16:18:21 2015 -0700 mmc: dw_mmc: Add a timeout for sending CMD11 In the Designware databook's description of the "Voltage Switch Normal Scenario" it instructs us to set a timer and fail the voltage change if we don't see the voltage change interrupt within 2ms. Let's implement that. Without implementing this I have often been able to reproduce a hang while trying to send CMD11 on an rk3288-based board while constantly ejecting and inserting UHS cards. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 488b8d63a63400e2839062a99358815ca21a2860 Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Thu Mar 5 19:45:21 2015 +0900 mmc: dw_mmc: enable card read threshold when mode is HS400 Enable card-read-threshold, when eMMC mode is HS400. Refer to f1d2736c8156 (mmc: dw_mmc: control card read threshold) Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9250aea76bfcbf4c2a7868e5566281bf2bb7af27 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Mar 27 12:15:15 2015 +0100 mmc: core: Enable runtime PM management of host devices Currently those host drivers which have deployed runtime PM, deals with the runtime PM reference counting entirely by themselves. Since host drivers don't know when the core will send the next request through some of the host_ops callbacks, they need to handle runtime PM get/put between each an every request. In quite many cases this has some negative effects, since it leads to a high frequency of scheduled runtime PM suspend operations. That due to the runtime PM reference count will normally reach zero in-between every request. We can decrease that frequency, by enabling the core to deal with runtime PM reference counting of the host device. Since the core often knows that it will send a seqeunce of requests, it makes sense for it to keep a runtime PM reference count during these periods. More exactly, let's increase the runtime PM reference count by invoking pm_runtime_get_sync() from __mmc_claim_host(). Restore that action by invoking pm_runtime_mark_last_busy() and pm_runtime_put_autosuspend() in mmc_release_host(). In this way a runtime PM reference count will be kept during the complete cycle of a claim -> release host. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Konstantin Dorfman <kdorfman@xxxxxxxxxxxxxx> commit 804cb54cbb3ddac58218e830d64816617bdb6da8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Mar 27 11:07:27 2015 +0100 iommu/tegra: smmu: Compute PFN mask at runtime The SMMU on Tegra30 and Tegra114 supports addressing up to 4 GiB of physical memory. On Tegra124 the addressable physical memory was extended to 16 GiB. The page frame number stored in PTEs therefore requires 20 or 22 bits, depending on SoC generation. In order to cope with this, compute the proper value at runtime. Reported-by: Joseph Lo <josephl@xxxxxxxxxx> Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 836a8ac9fe60fb112e830464868791bf7470e7b6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Mar 27 11:07:26 2015 +0100 iommu/tegra: gart: Set aperture at domain initialization time The aperture of the domain should always be available, otherwise drivers need to attach first before they can use the aperture geometry. Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 471d9144b4ec2a2cbf497af7e186c1fe89b5150e Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Mar 27 11:07:25 2015 +0100 iommu/tegra: Setup aperture Each address space in the Tegra SMMU provides 4 GiB worth of addresses. Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit eecacf73a40f37e74dc9d0453283c79b91f34d51 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Mar 31 16:49:38 2015 +0300 spi: pxa2xx: missing break in pxa2xx_ssp_get_clk_div() We refactored this code but accidentally left out a break statement so QUARK_X1000_SSP isn't handled correctly. Fixes: 025ffe88ee60 ('spi: pxa2xx: shift clk_div in one place') Tested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d654788e98f74f2df8dfc6079fa314938f739486 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:35:44 2015 -0400 xprtrdma: Make rpcrdma_{un}map_one() into inline functions These functions are called in a loop for each page transferred via RDMA READ or WRITE. Extract loop invariants and inline them to reduce CPU overhead. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit e46ac34c3c34e408435656a5fed605c4c787d081 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:35:35 2015 -0400 xprtrdma: Handle non-SEND completions via a callout Allow each memory registration mode to plug in a callout that handles the completion of a memory registration operation. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 3968cb58501bf526eed1441f4ef237028aa9cd2d Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:35:26 2015 -0400 xprtrdma: Add "open" memreg op The open op determines the size of various transport data structures based on device capabilities and memory registration mode. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 4561f347d49c645fd81d1f47b0fb460e8a6e4587 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:35:17 2015 -0400 xprtrdma: Add "destroy MRs" memreg op Memory Region objects associated with a transport instance are destroyed before the instance is shutdown and destroyed. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 31a701a94751509bb72e13d851f18ddcf22ff722 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:35:07 2015 -0400 xprtrdma: Add "reset MRs" memreg op This method is invoked when a transport instance is about to be reconnected. Each Memory Region object is reset to its initial state. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 91e70e70e47b3355bb0a8b3b196c93897dcdb440 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:58 2015 -0400 xprtrdma: Add "init MRs" memreg op This method is used when setting up a new transport instance to create a pool of Memory Region objects that will be used to register memory during operation. Memory Regions are not needed for "physical" registration, since ->prepare and ->release are no-ops for that mode. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 6814baead86b5d44096ddfbb6f944163578e68c3 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:48 2015 -0400 xprtrdma: Add a "deregister_external" op for each memreg mode There is very little common processing among the different external memory deregistration functions. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 9c1b4d775f2d7dd5bb806e3de2f3e1244a7cbd16 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:39 2015 -0400 xprtrdma: Add a "register_external" op for each memreg mode There is very little common processing among the different external memory registration functions. Have rpcrdma_create_chunks() call the registration method directly. This removes a stack frame and a switch statement from the external registration path. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 1c9351ee0e346ec1b3c700a4bc8f881923e1808e Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:30 2015 -0400 xprtrdma: Add a "max_payload" op for each memreg mode The max_payload computation is generalized to ensure that the payload maximum is the lesser of RPC_MAX_DATA_SEGS and the number of data segments that can be transmitted in an inline buffer. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit a0ce85f595c22d28bf03c3fae8545b3077b7be1b Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:21 2015 -0400 xprtrdma: Add vector of ops for each memory registration strategy Instead of employing switch() statements, let's use the typical Linux kernel idiom for handling behavioral variation: virtual functions. Start by defining a vector of operations for each supported memory registration mode, and by adding a source file for each mode. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 41f97028969e4c88efa5fcf58bc6125210413a6d Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:12 2015 -0400 xprtrdma: Prevent infinite loop in rpcrdma_ep_create() If a provider advertizes a zero max_fast_reg_page_list_len, FRWR depth detection loops forever. Instead of just failing the mount, try other memory registration modes. Fixes: 0fc6c4e7bb28 ("xprtrdma: mind the device's max fast . . .") Reported-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 805272406a980cab0e11742e5423ba97b6f38836 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:02 2015 -0400 xprtrdma: Byte-align FRWR registration The RPC/RDMA transport's FRWR registration logic registers whole pages. This means areas in the first and last pages that are not involved in the RDMA I/O are needlessly exposed to the server. Buffered I/O is typically page-aligned, so not a problem there. But for direct I/O, which can be byte-aligned, and for reply chunks, which are nearly always smaller than a page, the transport could expose memory outside the I/O buffer. FRWR allows byte-aligned memory registration, so let's use it as it was intended. Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit e23779451ee05e824fedbb68bd17fc5c77e40166 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:33:53 2015 -0400 xprtrdma: Perform a full marshal on retransmit Commit 6ab59945f292 ("xprtrdma: Update rkeys after transport reconnect" added logic in the ->send_request path to update the chunk list when an RPC/RDMA request is retransmitted. Note that rpc_xdr_encode() resets and re-encodes the entire RPC send buffer for each retransmit of an RPC. The RPC send buffer is not preserved from the previous transmission of an RPC. Revert 6ab59945f292, and instead, just force each request to be fully marshaled every time through ->send_request. This should preserve the fix from 6ab59945f292, while also performing pullup during retransmits. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Acked-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 0dd39cae26f3990789b4a558f9abafe59adc6fc1 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:33:43 2015 -0400 xprtrdma: Display IPv6 addresses and port numbers correctly Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit dbbc14775ae395a50d91f22904670ca4c9297542 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:33:33 2015 -0400 SUNRPC: Introduce missing well-known netids Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit b61e2e62aa2dee89d6e71aa90a9341607c4a7a97 Merge: e42391c 63979b8 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Mar 31 15:38:02 2015 +0200 Merge branch 'for-joerg/arm-smmu/updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu commit 89be34a1ced886880a3219f9d2ba2192dc738ef2 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:19 2015 +0100 iommu: Remove domain_init and domain_free iommu_ops All drivers have been converted to the new domain_alloc and domain_free iommu-ops. So remove the old ones and get rid of iommu_domain->priv too, as this is no longer needed when the struct iommu_domain is embedded in the private structures of the iommu drivers. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 8d4bfe40bd001c49caa9079541ff25522e7ed55d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:18 2015 +0100 iommu/fsl: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit bcd516a32416aadd4f1ac40540407aa3b4ffd222 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:17 2015 +0100 iommu/rockchip: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5914c5fdde926604f65b249b662b26e3bc2c5923 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:16 2015 +0100 iommu/ipmmu-vmsa: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit dc8fb227ad9029f071c7de0a97b12a810a376364 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:15 2015 +0100 iommu/shmobile: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 3e116c3cd2a99fb9628fe3169b454482a7f07047 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:14 2015 +0100 iommu/msm: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit b5cbb386ae312b2028cee61c96f65581ac0d44ec Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:13 2015 +0100 iommu/tegra-gart: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d5f1a81ccb8947828f60b50d8e9ed7617259a9ec Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:12 2015 +0100 iommu/tegra-smmu: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e1fd1eaa3323b3ea68f2ad3116b8cbe1f34cb2a2 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:11 2015 +0100 iommu/exynos: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1d672638fca24db2a66101c2109d94dbee084e96 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:10 2015 +0100 iommu/arm-smmu: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 8cf851e0945251766e8bf1f966a9aef80663ed63 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:09 2015 +0100 iommu/omap: Make use of domain_alloc and domain_free Implement the new domain_alloc and domain_free call-backs and remove the old domain_init/destroy ones. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 00a77deb0f2f2c35cfeba183df98f92487d2e88b Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:08 2015 +0100 iommu/vt-d: Make use of domain_alloc and domain_free Get rid of domain_init and domain_destroy and implement domain_alloc/domain_free instead. Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 3f4b87b959eab362b89fce6ceb9d1badd102e5ea Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:07 2015 +0100 iommu/amd: Make use of domain_alloc and domain_free Implement the new iommu-ops function pointers and remove the obsolete domain_init and domain_destroy functions. Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a10315e5efb86c689142a7e7927125889f3682e6 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:06 2015 +0100 iommu: Only allow iommu_map/unmap for paging domains Check for the new __IOMMU_DOMAIN_PAGING flag before calling into the iommu drivers ->map and ->unmap call-backs. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 8539c7c16b970258e14761d8a1f7d10fe798031a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:05 2015 +0100 iommu: Introduce iommu domain types This allows to handle domains differently based on their type in the future. An IOMMU driver can implement certain optimizations for DMA-API domains for example. The domain types can be extended later and some of the existing domain attributes can be migrated to become domain flags. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 938c470976192590b4adc921b2e10fa31237eddc Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:04 2015 +0100 iommu: Introduce domain_alloc and domain_free iommu_ops These new call-backs defer the allocation and destruction of 'struct iommu_domain' to the iommu driver. This allows drivers to embed this struct into their private domain structures and to get rid of the domain_init and domain_destroy call-backs when all drivers have been converted. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1c6ae56c5d26d22e8ba9ea6d3a0afc8b22b4e207 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sun Mar 29 21:47:16 2015 +0200 ASoC: fsi: fix license specification According to the file header only GPL v2 applies to it. Fix the MODULE_LICENSE parameter accordingly. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 555fa17b2b8cc865c203de263443041eb75bc7f7 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:11:46 2015 +0200 crypto: sha-mb - mark Multi buffer SHA1 helper cipher Flag all Multi buffer SHA1 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f52bbf55d1957b9ab279998dd71ed1c89b36e3a7 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:10:58 2015 +0200 crypto: mcryptd - process CRYPTO_ALG_INTERNAL The mcryptd is used as a wrapper around internal ciphers. Therefore, the mcryptd must process the internal cipher by marking mcryptd as internal if the underlying cipher is an internal cipher. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cd98411c36b596f5bd64e7e670c13252ad0852c7 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:10:27 2015 +0200 crypto: arm64/aes - mark 64 bit ARMv8 AES helper ciphers Flag all 64 bit ARMv8 AES helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 94a7e5e8d86459da85ce90366346207e99fc052b Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:09:53 2015 +0200 crypto: aes-ce - mark ARMv8 AES helper ciphers Flag all ARMv8 AES helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 76aa9d5f2c129dab1c5f3f578fdae0f60cc0dff8 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:09:27 2015 +0200 crypto: aesbs - mark NEON bit sliced AES helper ciphers Flag all NEON bit sliced AES helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4dda66f62e01e832e09d6d1fbd9c9070d57b049e Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:08:53 2015 +0200 crypto: twofish_avx - mark Twofish AVX helper ciphers Flag all Twofish AVX helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 748be1f1bfddfe83d4b31c17191b082e96c86867 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:07:45 2015 +0200 crypto: serpent_sse2 - mark Serpent SSE2 helper ciphers Flag all Serpent SSE2 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 65aed5394120953ccb6e307d75f9abd17c15740e Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:07:05 2015 +0200 crypto: serpent_avx - mark Serpent AVX helper ciphers Flag all Serpent AVX helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f82419acd8ad6b045a040ba8f5f0289972189826 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:06:13 2015 +0200 crypto: serpent_avx2 - mark Serpent AVX2 helper ciphers Flag all Serpent AVX2 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e69b8a46ca0ec38ef419071b00574bc053664e18 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:05:35 2015 +0200 crypto: cast6_avx - mark CAST6 helper ciphers Flag all CAST6 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7d2c31dd70ed49210847ae8cc00f14064292b349 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:04:49 2015 +0200 crypto: camellia_aesni_avx - mark AVX Camellia helper ciphers Flag all AVX Camellia helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 680574e8b3b2f62e507cdd9ca35c77cad0344bb2 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:03:57 2015 +0200 crypto: cast5_avx - mark CAST5 helper ciphers Flag all CAST5 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a62356a978180eb3ccd2bcac49764dfd628c72f8 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:03:17 2015 +0200 crypto: camellia_aesni_avx2 - mark AES-NI Camellia helper ciphers Flag all AES-NI Camellia helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4b3f4e37ec9b0d95255e1b5b445ad063c7341f67 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:02:36 2015 +0200 crypto: ghash-ce - mark GHASH ARMv8 vmull.p64 helper ciphers Flag all GHASH ARMv8 vmull.p64 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6a9b52b7fa1a376c1749cf441d1aeb8572d3b691 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:01:49 2015 +0200 crypto: clmulni - mark ghash clmulni helper ciphers Flag all ash clmulni helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit eabdc320ece583e16e581306c720e5f1ff67c3bb Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 21:58:17 2015 +0200 crypto: aesni - mark AES-NI helper ciphers Flag all AES-NI helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b0cda2ba18a50abf0d7b248e3d588260e0194ab2 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 21:57:42 2015 +0200 crypto: proc - identify internal ciphers With ciphers that now cannot be accessed via the kernel crypto API, callers shall be able to identify the ciphers that are not callable. The /proc/crypto file is added a boolean field identifying that such internal ciphers. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 466a7b9e3e7833a0cc21a69a0bea9d50daf0ca10 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 21:57:06 2015 +0200 crypto: cryptd - process CRYPTO_ALG_INTERNAL The cryptd is used as a wrapper around internal ciphers. Therefore, the cryptd must process the internal cipher by marking cryptd as internal if the underlying cipher is an internal cipher. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 425a882991d9da8bfd2fe0fc495773fab5ac9988 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 21:56:31 2015 +0200 crypto: testmgr - use CRYPTO_ALG_INTERNAL Allocate the ciphers irrespectively if they are marked as internal or not. As all ciphers, including the internal ciphers will be processed by the testmgr, it needs to be able to allocate those ciphers. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 06ca7f68d4c861d549a8deb161e1527065a80bb1 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 21:55:52 2015 +0200 crypto: api - prevent helper ciphers from being used Several hardware related cipher implementations are implemented as follows: a "helper" cipher implementation is registered with the kernel crypto API. Such helper ciphers are never intended to be called by normal users. In some cases, calling them via the normal crypto API may even cause failures including kernel crashes. In a normal case, the "wrapping" ciphers that use the helpers ensure that these helpers are invoked such that they cannot cause any calamity. Considering the AF_ALG user space interface, unprivileged users can call all ciphers registered with the crypto API, including these helper ciphers that are not intended to be called directly. That means, with AF_ALG user space may invoke these helper ciphers and may cause undefined states or side effects. To avoid any potential side effects with such helpers, the patch prevents the helpers to be called directly. A new cipher type flag is added: CRYPTO_ALG_INTERNAL. This flag shall be used to mark helper ciphers. These ciphers can only be used if the caller invoke the cipher with CRYPTO_ALG_INTERNAL in the type and mask field. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a3ed8dae6e3db479ca275883ba7fe994170b0ae6 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Mar 18 13:54:31 2015 +0100 KVM: s390: enable more features that need no hypervisor changes After some review about what these facilities do, the following facilities will work under KVM and can, therefore, be reported to the guest if the cpu model and the host cpu provide this bit. There are plans underway to make the whole bit thing more readable, but its not yet finished. So here are some last bit changes and we enhance the KVM mask with: 9 The sense-running-status facility is installed in the z/Architecture architectural mode. ---> handled by SIE or KVM 10 The conditional-SSKE facility is installed in the z/Architecture architectural mode. ---> handled by SIE. KVM will retry SIE 13 The IPTE-range facility is installed in the z/Architecture architectural mode. ---> handled by SIE. KVM will retry SIE 36 The enhanced-monitor facility is installed in the z/Architecture architectural mode. ---> handled by SIE 47 The CMPSC-enhancement facility is installed in the z/Architecture architectural mode. ---> handled by SIE 48 The decimal-floating-point zoned-conversion facility is installed in the z/Architecture architectural mode. ---> handled by SIE 49 The execution-hint, load-and-trap, miscellaneous- instruction-extensions and processor-assist ---> handled by SIE 51 The local-TLB-clearing facility is installed in the z/Architecture architectural mode. ---> handled by SIE 52 The interlocked-access facility 2 is installed. ---> handled by SIE 53 The load/store-on-condition facility 2 and load-and- zero-rightmost-byte facility are installed in the z/Architecture architectural mode. ---> handled by SIE 57 The message-security-assist-extension-5 facility is installed in the z/Architecture architectural mode. ---> handled by SIE 66 The reset-reference-bits-multiple facility is installed in the z/Architecture architectural mode. ---> handled by SIE. KVM will retry SIE 80 The decimal-floating-point packed-conversion facility is installed in the z/Architecture architectural mode. ---> handled by SIE Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Tested-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 2ba459685204af53b034d269d5cdb3059d4b471e Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 13:12:32 2015 +0100 KVM: s390: store the breaking-event address on pgm interrupts If the PER-3 facility is installed, the breaking-event address is to be stored in the low core. There is no facility bit for PER-3 in stfl(e) and Linux always uses the value at address 272 no matter if PER-3 is available or not. We can't hide its existence from the guest. All program interrupts injected via the SIE automatically store this information if the PER-3 facility is available in the hypervisor. Also the itdb contains the address automatically. As there is no switch to turn this mechanism off, let's simply make it consistent and also store the breaking event address in case of manual program interrupt injection. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 6fd63087d87329a2a84f28d0adec875fd9efb782 Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Date: Mon Mar 30 10:49:15 2015 -0700 spi: fsl-dspi: Fix clock rate scale values Previous algorithm had an outer loop with the values {2,3,5,7} and an inner loop with {2,4,6,8,16,32,...,32768}, and would pick the first value over the required scaling value (where the total scale was the two numbers multiplied). Since the inner loop went up to 32768 it would always pick a value of 2 for PBR and a much higher than necessary value for BR. The desired scale factor was being divided by two I believe to compensate for the much higher scale factors (the divide by two not specified in the reference manual). Updated to check all values and find the smallest scale factor possible without going over the desired clock rate. Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5e501ed7253b369a8a9ec553c35238a3d6808f28 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Dec 2 20:22:49 2014 +0100 drm/imx: imx-ldb: allow to determine bus format from the connected panel This patch makes the fsl,data-width and fsl,data-mapping device tree properties optional if a panel is connected to the ldb output port via the of_graph bindings. The data mapping is determined from the display_info.bus_format field provided by the panel. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 3973aff06585309f6215c66ed9d11d74656a9fa6 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Nov 26 13:59:11 2014 +0100 drm/imx: imx-ldb: reset display clock input when disabling LVDS The LDB driver changes the attached display interface's input clock mux to the LDB_DI clock reference. Change it back again when disabling the LVDS display. Changing back to the PLL5 for example allows to configure the same DI for HDMI output later. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 751e2676ee9272a0fbde6566afde33c1106d7da1 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Mar 6 14:54:39 2014 +0100 drm/imx: imx-ldb: add drm_panel support This patch allows to optionally attach the lvds-channel to a panel supported by a drm_panel driver using of-graph bindings, instead of supplying the modes via display-timings in the device tree. This depends on of_graph_get_port_by_id and uses the OF graph to link the optional DRM panel to the LDB lvds-channel. The output port number is 1 on devices without the 4-port input multiplexer (i.MX5) and 4 on devices with the mux (i.MX6). Before: ldb { ... lvds-channel@0 { ... display-timings { native-timing = <&timing1>; timing1: etm0700g0dh6 { hactive = <800>; vactive = <480>; clock-frequency = <33260000>; hsync-len = <128>; hback-porch = <88>; hfront-porch = <40>; vsync-len = <2>; vback-porch = <33>; vfront-porch = <10>; hsync-active = <0>; vsync-active = <0>; ... }; }; ... }; }; After: ldb { ... lvds-channel@0 { ... port@4 { reg = <4>; lvds_out: endpoint { remote_endpoint = <&panel_in>; }; }; }; }; panel { compatible = "edt,etm0700g0dh6", "simple-panel"; ... port { panel_in: endpoint { remote-endpoint = <&lvds_out>; }; }; }; [Fixed build error due to missing select on DRM_PANEL --rmk] Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit be37a9900b0470fc424fe3382a414eabf759a8ac Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 23 12:32:03 2015 +0000 MIPS: Malta: malta-time: Ensure GIC counter is running Start the GIC counter before we try to determine its frequency. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9596/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7d9cd1f5189abaa9553ddcb966b749c65b669d5a Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 23 12:32:02 2015 +0000 CLOCKSOURCE: mips-gic-timer: Ensure GIC counter is running Start the GIC counter after configuring the clocksource since there are no guarantees the counter will be running after a CPU reset. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9595/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8fa4b93067b70a87785279a7c60158e58e4f2f20 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 23 12:32:01 2015 +0000 IRQCHIP: irq-mips-gic: Add new functions to start/stop the GIC counter We add new functions to start and stop the GIC counter since there are no guarantees the counter will be running after a CPU reset. The GIC counter is stopped by setting the 29th bit on the GIC Config register and it is started by clearing that bit. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9594/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c2d7ef51d731fd34ec2c5db0d9dc7501ad069484 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:14 2015 +0000 ttyFDC: Implement KGDB IO operations. Implement KGDB IO operations for MIPS Fast Debug Channel (FDC). This can be enabled via Kconfig, which also allows the channel number to be chosen. The magic sysrq hack is implemented in the TTY driver, detecting just ^C for the KGDB channel, and ^O followed by a letter for the FDC console channel. The KGDB operations are reasonably efficient thanks to the flush callback, with a 4 byte buffer being used in both directions to allow up to 4 bytes to be encoded per FDC word. Reading of data for KGDB will discard any data received on other channels, which clearly isn't ideal, but given that there is a single FIFO shared between channels we can't do much better. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kgdb-bugreport@xxxxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9147/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e934945db7625716f9cc469e31fc5da8666c8024 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:13 2015 +0000 MIPS, ttyFDC: Add early FDC console support Add support for early console of MIPS Fast Debug Channel (FDC) on channel 1 with a call very early from the MIPS setup_arch(). Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9145/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4cebec609aea6dff23e67a42b6516d852fa87d07 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:12 2015 +0000 TTY: Add MIPS EJTAG Fast Debug Channel TTY driver Add TTY driver and consoles for the MIPS EJTAG Fast Debug Channel (FDC), which is found on the per-CPU MIPS Common Device Mapped Memory (CDMM) bus. The FDC is a per-CPU device which is used to communicate with an EJTAG probe. RX and TX FIFOs exist, containing 32-bits of data and 4-bit channel numbers. 16 general data streams are implemented on this for TTY and console use by encoding up to 4 bytes on each 32-bit FDC word. The TTY devices are named e.g. /dev/ttyFDC3c2 for channel 2 of the FDC attached to logical CPU 3. These can be used for getting the kernel log, a login prompt, or as a GDB remote transport, all over EJTAG and without needing a serial port. It can have an interrupt to notify of when incoming data is available in the RX FIFO or when the TX FIFO is no longer full. The detection of this interrupt occurs in architecture / platform code, but it may be shared with the timer and/or performance counter interrupt. Due to the per-CPU nature of the hardware, all outgoing TTY data is written out from a kthread which is pinned to the appropriate CPU. The console is not bound to a specific CPU, so output will appear on the chosen channel on whichever CPU the code is executing on. Enable with e.g. console=fdc1 in kernel arguments. /dev/console is bound to the same channel on the boot CPU's FDC if it exists. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9146/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e38df288a9db56c1bdb60aa4fb2354cde57fdc5f Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:11 2015 +0000 MIPS: idle: Workaround wait + FDC problems On certain cores (namely proAptiv and P5600) incoming data via a Fast Debug Channel (FDC) while the core is blocked on a wait instruction will cause the wait not to wake up even when another interrupt is received. This makes an idle target stop as soon as you send FDC data to it, until the debug probe interrupts it and restarts the wait instruction. This is worked around by avoiding using r4k_wait on these cores if CONFIG_MIPS_EJTAG_FDC_TTY is enabled (which would imply the user intends to use the FDC). [ralf@xxxxxxxxxxxxxx: Fix conflict.] Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9144/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 602e8a345a916e91256497e13575d0690cd1565f Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:10 2015 +0000 MIPS: Malta: Implement get_c0_fdc_int() Implement the weak get_c0_fdc_int() function for Malta. The Fast Debug Channel (FDC) interrupt is obtained mainly depending on whether a GIC is present. Vectored external interrupt mode isn't yet supported. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9143/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6429e2b6fc05d8640bb94f5b67c047e936707f31 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:09 2015 +0000 IRQCHIP: mips-gic: Add function for retrieving FDC IRQ Add a function to the MIPS GIC driver for retrieving the Fast Debug Channel (FDC) interrupt number, similar to the existing ones for the timer and perf counter interrupts. This will be used by platform implementations of get_c0_fdc_int() if a GIC is present. A workaround exists for interAptiv and proAptiv which claim to be able to route the FDC interrupt but don't seem to be able to in practice (at least on Malta). [ralf@xxxxxxxxxxxxxx: Fix conflict.] Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9142/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b720fd8b66151a8bdf6ec1be32c338d73592ff15 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:08 2015 +0000 irqchip: mips-gic: Don't treat FDC IRQ as percpu devid Treat the Fast Debug Channel (FDC) interrupt the same as the timer and performance counter interrupts. Like them, the FDC IRQ is also per-VPE, and also doesn't use a per-CPU device ID yet. Per-CPU device IDs don't seem to work with IRQF_SHARED which is needed for compatibility with cores which don't route the FDC IRQ through the GIC. For hardware which routes FDC IRQs through the GIC this is something that could be added later. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9141/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8f7ff027965619b17488141a5f39d14c850696ab Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:07 2015 +0000 MIPS: Read CPU IRQ line that FDC to routed to Read the CPU IRQ line reportedly used for the Fast Debug Channel (FDC) interrupt from the IntCtl register and store it in cp0_fdc_irq where platform implementations of the new weak platform function get_c0_fdc_int() can refer to it. [ralf@xxxxxxxxxxxxxx: Fixed conflict.] Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9140/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9323f84f22c0e1b84d940062f0b756a49956f8d5 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:06 2015 +0000 MIPS: Add architectural FDC IRQ fields Add architectural field definitions relating to the Fast Debug Channel (FDC) interrupt, namely the pending bit in Cause and the field in IntCtl to specify which CPU IRQ line the FDC interrupt is routed to. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9139/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 296b7c68c0b675b2a9fd44290b8d18719afc9abf Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Feb 2 11:45:10 2015 +0000 MIPS: Malta: Implement mips_cdmm_phys_base() Implement mips_cdmm_phys_base() for Malta, returning the physical base address 0x1fc10000 which is "typically unused". This allows the Common Device Memory Map (CDMM) region to be mapped, and devices in that region (such as the Fast Debug Channel (FDC) hardware for communication over EJTAG) to be discovered. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9177/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8286ae03308c6f97f346f9f8cb9174b04969add5 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Mar 25 15:39:50 2015 +0000 MIPS: Add CDMM bus support Add MIPS Common Device Memory Map (CDMM) support in the form of a bus in the standard Linux device model. Each device attached via CDMM is discoverable via an 8-bit type identifier and may contain a number of blocks of memory mapped registers in the CDMM region. IRQs are expected to be handled separately. Due to the per-cpu (per-VPE for MT cores) nature of the CDMM devices, all the driver callbacks take place from workqueues which are run on the right CPU for the device in question, so that the driver doesn't need to be as concerned about which CPU it is running on. Callbacks also exist for when CPUs are taken offline, so that any per-CPU resources used by the driver can be disabled so they don't get forcefully migrated. CDMM devices are created as children of the CPU device they are attached to. Any existing CDMM configuration by the bootloader will be inherited, however platforms wishing to enable CDMM should implement the weak mips_cdmm_phys_base() function (see asm/cdmm.h) so that the bus driver knows where it should put the CDMM region in the physical address space if the bootloader hasn't already enabled it. A mips_cdmm_early_probe() function is also provided to allow early boot or particularly low level code to set up the CDMM region and probe for a specific device type, for example early console or KGDB IO drivers for the EJTAG Fast Debug Channel (FDC) CDMM device. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9599/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9b3274bd585c6dff7848119e837bd5ce6c9173e2 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Feb 2 11:45:08 2015 +0000 MIPS: Add arch CDMM definitions and probing Add architectural definitions and probing for the MIPS Common Device Memory Map (CDMM) region. When supported and enabled at a particular physical address, this region allows some number of per-CPU devices to be discovered and controlled via MMIO. A bit exists in Config3 to determine whether the feature is present, and a CDMMBase CP0 register allows the region to be enabled at a particular physical address. [ralf@xxxxxxxxxxxxxx: Sort conflict with other patches.] Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9178/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4a91d8fb61e2b5218acc7a46d5dd28ff1f44f927 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:55 2015 +0000 MIPS: Allow shared IRQ for timer & perf counter Before release 2 of the architecture there weren't separate interrupt pending bits for the local CPU interrupts (timer & perf counter overflow), so when they were connected to the same interrupt line the timer handler had to call the performance counter handler before knowing whether a timer interrupt was actually pending. Now another CPU local interrupt, for the Fast Debug Channel (FDC), can also be routed to an arbitrary interrupt line. It isn't scalable to keep adding cross-calls between handlers for these cases of shared interrupt lines, especially since the FDC could in theory share its interrupt line with the performance counter, timer, or both. Fortunately since release 2 of the architecture separate interrupt pending bits do exist in the Cause register. This allows local interrupts which share an interrupt line to have separate handlers using IRQF_SHARED. Unfortunately they can't easily have their own irqchip as there is no generic way to individually mask them. Enable this sharing to happen by removing the special case for when the perf count shares an IRQ with the timer. cp0_perfcount_irq and cp0_compare_irq can then be set to the same value with shared interrupt handlers registered for both of them. Pre-R2 code should be unaffected. cp0_perfcount_irq will always be -1 and the timer handler will contnue to call into the perf counter handler. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9131/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 369a93bbc78dd7848d433d60e3c88a0c698dde57 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:54 2015 +0000 MIPS: OProfile: Allow sharing IRQ with timer When requesting the performance counter overflow interrupt, pass flags which are compatible with the cevt-r4k driver, in particular IRQF_SHARED so that the two handlers can share the same IRQ. This is possible since release 2 of the architecture where there are separate pending interrupt bits for the timer interrupt and the performance counter interrupt. This will be necessary since the FDC interrupt can also be arbitrarily routed to a CPU interrupt, possibly sharing with the timer, the performance counters, or both, and it isn't scalable to have all the handlers able to call other handlers that may be on the same IRQ line. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: oprofile-list@xxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9130/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a1ec0e18833088673d2bdfe6e89b67b4f6ab00d7 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:53 2015 +0000 MIPS: perf: Allow sharing IRQ with timer When requesting the performance counter overflow interrupt, pass flags which are compatible with the cevt-r4k driver, in particular IRQF_SHARED so that the two handlers can share the same IRQ. This is possible since release 2 of the architecture where there are separate pending interrupt bits for the timer interrupt and the performance counter interrupt. This will be necessary since the FDC interrupt can also be arbitrarily routed to a CPU interrupt, possibly sharing with the timer, the performance counters, or both, and it isn't scalable to have all the handlers able to call other handlers that may be on the same IRQ line. Shared handlers must also have a unique device pointer so they can be individually removed, so &mipspmu is now passed in for that instead of NULL. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9129/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f0c5b8944b39896821e5d64b2d731564498160a9 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 20 19:45:09 2015 +0100 MIPS: cevt-r4k: Cleanup c0_compare_interrupt. The attempt to get gcc to generate best possible code turned c0_compare_interrupt() into a bit of Italian pasta code. Tweak for sanity. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7dfe819803898c824d55a4afe3a0089861681041 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:52 2015 +0000 MIPS: cevt-r4k: Make interrupt handler shared Make the cevt-r4k interrupt handler shared so that other interrupt handlers (specifically the performance counter overflow handler and fast debug channel interrupt handler) can share the same interrupt line. This simply imvolves returning IRQ_NONE when no timer interrupt has been handled to allow other handlers to run, and passing IRQF_SHARED when setting up the IRQ handler so that other handlers (with compatible flags) can be registered. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9128/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ea3c023ebf7130d72f9f00a3992c22176ef6703b Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:51 2015 +0000 IRQCHIP: mips-gic: Add missing definitions for FDC IRQ Add missing VPE_PEND, VPE_RMASK and VPE_SMASK definitions for the local FDC interrupt. These local interrupt definitions aren't directly used, but if they exist they should be complete. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9127/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7e3e6cb29aeb64df24a0325ffd18892eca33e9b4 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:50 2015 +0000 IRQCHIP: mips-gic: Fix typo in comment Fix typo in comment in gic_get_c0_perfcount_int: "erformance" -> "performance". Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9126/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7eca5b1460f3f1ad3891252743c36f309df53d53 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:49 2015 +0000 MIPS: Remove redundant IPTI==IPPCI logic The situation where the timer interrupt is on the same line as the performance counter interrupt is handled in per_cpu_trap_init() by setting cp0_perfcount_irq to -1, so there is no need to duplicate the logic conditional upon cp0_perfcount_irq >= 0 in perf (init_hw_perf_events()) and oprofile (mipsxx_init()). Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9125/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3ba5040af01fb06a36198f5f6065e25b0655ca0d Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:48 2015 +0000 MIPS: cevt-r4k: Use CAUSEF_TI, CAUSEF_PCI constants Use CAUSEF_TI and CAUSEF_PCI constants from asm/mipsregs.h rather than the magic values (1 << 30) and (1 << 26). Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9124/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 19971c0bcb45f264c83cb2fd2bce50457bd17cc4 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:47 2015 +0000 MIPS: cevt-r4k: Move handle_perf_irq() out of header Long ago, commit 8531a35e5e27 ("[MIPS] SMTC: Fix SMTC dyntick support.") moved handle_perf_irq() out of cevt-r4k.c into a header so it could be shared with cevt-smtc.c. Slightly less long ago, commit b633648c5ad3 ("MIPS: MT: Remove SMTC support") removed all traces of SMTC support, including cevt-smtc.c, leaving cevt-r4k.c once again the sole user of handle_perf_irq(), therefore move it back into cevt-r4k.c from the header. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9123/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c9d6c8b0eba2421b9bf812919bece0b82d923689 Author: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Date: Mon Mar 16 14:43:11 2015 -0700 MIPS: pistachio: Add an initial defconfig Add a defconfig for Pistachio which enables drivers for all the currently supported peripherals on the SoC. Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9570/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6a438309a5fe00480fe4c68fbad402617ac05813 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Mar 16 14:43:10 2015 -0700 MIPS: Add support for the IMG Pistachio SoC Add initial support for boards based on the Imagination Pistachio SoC. Pistachio is based on a dual-core MIPS interAptiv CPU and will boot using device-tree. Signed-off-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9569/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e14ba3cdd6dddb004def9811ee057576e53ca9a0 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Mar 16 14:43:09 2015 -0700 MIPS: Document Pistachio boot protocol and device-tree bindings The Pistachio SoC boots only with device-tree. Document the required properties and nodes as well as the boot protocol between the bootlaoder and the kernel. 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: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9568/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b76a4c1ae1923b0b21d1a97e972cb2ce39791aa1 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Mar 16 14:43:08 2015 -0700 MIPS: Allow platforms to specify the decompressor load address Platforms which use raw zboot images may need to link the image at a fixed address if there is no other way to communicate the load address to the bootloader. Allow the per-platform Kbuild files to specify an optional zboot image load address (zload-y) and fall back to calc_vmlinuz_load_addr if unset. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9566/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8f361b279f76b1e9548c9b3e59da63d3dec11bea Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Mar 23 11:16:21 2015 +0100 gpu: ipu-v3: turns out the IPU can only downsize 4:1 The value for downsizing 8:1 is marked as reserved in the technical reference manual and the documentation states downsizing capability up to 4:1 only. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit f7089d923eacb9c8e57d8492699662756881b54d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 10 15:03:43 2015 +0100 gpu: ipu-v3: limit pixel clock divider to 8-bits The DI pixel clock divider bit field is only 8 bits wide for the integer part, so limit the divider to the 1...255 interval before deciding whether the internal clock can be used and before writing to the register. Reported-by: Felix Mellmann <felix.mellmann@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit d631fc60706ccd86c5c2b0084bcea0739952ce90 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Mon Mar 16 14:43:07 2015 -0700 MIPS: Create a common <asm/mach-generic/war.h> 11 platforms require at least one of these workarounds to be enabled; 22 platforms do not. In the latter case we can fall back to a generic version. Note that this also deletes an orphaned reference to RM9000_CDEX_SMP_WAR. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9567/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2872c8072aae65fa55cafea50e73d69d423df168 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 2 17:25:59 2015 +0100 drm/imx: consolidate bus format variable names This patch consolidates the different interface_pix_fmt, pixel_fmt, pix_fmt, and pixfmt variables to a common name "bus_format" wherever they describe the pixel format on the bus between display controller and encoder hardware. At the same time, it renames imx_drm_panel_format to imx_drm_set_bus_format. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Emil Renner Berthing <kernel@xxxxxxxx> commit a7c6e76feeb19de1a5cefa50ea6c0fc5ad45bbe1 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Dec 2 17:51:36 2014 +0100 drm/imx: switch to use media bus formats imx-drm internally misused the V4L2_PIX_FMT constants, which are supposed to describe the pixel format of frame buffers in memory, to describe the pixel format on the bus between the display controller and the encoder hardware. Now that MEDIA_BUS_FMT constants are available to drm drivers, use those instead. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Emil Renner Berthing <kernel@xxxxxxxx> commit 203508ef52e3fee93b71262928541ecea82c735d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Dec 2 17:56:04 2014 +0100 Add RGB666_1X24_CPADHI media bus format Commit 9e74d2926a28 ("staging: imx-drm: add LVDS666 support for parallel display") describes a 24-bit bus format where three 6-bit components each take the lower part of 8 bits with the two high bits zero padded. Add a component-wise padded media bus format RGB666_1X24_CPADHI to support this connection. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Tested-by: Emil Renner Berthing <kernel@xxxxxxxx> commit 0fc63eb104d76e20654cd97eeb1bfd0f35bc3d3a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Dec 3 11:01:54 2014 +0100 Add YUV8_1X24 media bus format This patch adds the media bus format for a 24-bit bus format with three 8-bit YUV components. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> commit 08c38458be7efa36a1d2dffd40500448e46d29c5 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Dec 2 15:45:25 2014 +0100 Add BGR888_1X24 and GBR888_1X24 media bus formats This patch adds two more 24-bit RGB formats. BGR888 is more or less common, GBR888 is used on the internal connection between the IPU display interface and the TVE (VGA DAC) on i.MX53 SoCs. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> commit b295c22978b86fc62019d12f4108b68b7e795610 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Dec 2 17:49:04 2014 +0100 Add LVDS RGB media bus formats This patch adds three new RGB media bus formats that describe 18-bit or 24-bit samples transferred over an LVDS bus with three or four differential data pairs, serialized into 7 time slots, using standard SPWG/PSWG/VESA or JEIDA data ordering. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> commit 4b3a81a917a5ef21a4483d699cefd4d9fa35b841 Author: Boris Brezillion <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 28 17:49:51 2015 +0100 Add RGB444_1X12 and RGB565_1X16 media bus formats Add RGB444_1X12 and RGB565_1X16 format definitions and update the documentation. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit e0d155cadbc569319e49b97ebb8b062e241483e6 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 11 17:28:45 2014 +0200 drm/imx: ipuv3-crtc: Allow to divide DI clock from TVEv2 This patch allows the IPU to divide the 27 MHz input clock from the TVE by two to obtain the 13.5 MHz pixel clock needed for NTSC/PAL SD modes. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit dd7fa6d88796b1aaa511abbac38963aa1c443443 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 11 18:02:06 2014 +0200 drm/imx: Add support for interlaced scanout This patch allows interlaced frame buffer scanout for interlaced output via HDMI or TV-Encoder. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit a47eb351d2bd17cdf01de070f13cb12f6be4a0c5 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:07 2015 -0800 CLK: Pistachio: Register external clock gates Register the clock gates for the external audio and ethernet reference clocks provided by the top-level general control block. Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9321/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8cb94af684ecfea38e8c9ff8d8519ff751a66968 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:06 2015 -0800 CLK: Pistachio: Register system interface gate clocks Register the system interface gate clocks provided by the peripheral general control block. These clocks gate register access for various peripherals. Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9322/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 44960ab862a6db088f46fbf582d16a25fb999a83 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:05 2015 -0800 CLK: Pistachio: Register peripheral clocks Register the clocks generated by the peripheral clock controller. This includes the clocks for several peripherals, including I2C, PWM, watchdog, and timer. Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9320/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b35d7c33419cb0d000d23d3a5ab524ab8d3d8bf9 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:04 2015 -0800 CLK: Pistachio: Register core clocks Register the clocks generated by the core clock controller. This includes the 7 PLLs and clocks for the CPU, RPU co-processor, audio, WiFi, bluetooth, and several other peripherals. The MIPS and PERIPH_SYS clocks must remain enabled at all times. Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9317/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 43049b0c83f177083a56d69e64e47c82bcc04185 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:03 2015 -0800 CLK: Pistachio: Add PLL driver Add a driver for the integer (GF40LP_LAINT) and fractional (GF40LP_FRAC) PLLs present on Pistachio. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9316/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8e4b7721f61e70396ad8ec2d866c91300f2afbd1 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:02 2015 -0800 CLK: Add basic infrastructure for Pistachio clocks Add helpers for registering clocks and clock providers on Pistachio. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9318/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 55474c48b4726fd3914c1ec47fced0f931729979 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Mar 29 11:02:34 2015 +0200 x86/asm/entry: Remove user_mode_ignore_vm86() user_mode_ignore_vm86() can be used instead of user_mode(), in places where we have already done a v8086_mode() security check of ptregs. But doing this check in the wrong place would be a bug that could result in security problems, and also the naming still isn't very clear. Furthermore, it only affects 32-bit kernels, while most development happens on 64-bit kernels. If we replace them with user_mode() checks then the cost is only a very minor increase in various slowpaths: text data bss dec hex filename 10573391 703562 1753042 13029995 c6d26b vmlinux.o.before 10573423 703562 1753042 13030027 c6d28b vmlinux.o.after So lets get rid of this distinction once and for all. Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andrew Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150329090233.GA1963@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f5c8a104116a56503b6e824e7782b2e805b29abb Merge: c9ce871 43eaa2a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 31 10:47:18 2015 +0200 Merge tag 'amd_severity' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras into x86/ras Pull RAS update from Borislav Petkov: "This has been long in the making - an AMD-specific MCE-severity grading function. And it is actually readable at a quick glance. Further error recovery actions will be based on its output. Patches tested on every relevant AMD family out there." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 36cbf25dc79cc33d623889cafba2c672b161c1ad Merge: ca68a52 bfbaafa Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 31 10:45:47 2015 +0200 Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into x86/urgent Pull EFI fix from Matt Fleming: - Fix integer overflow issue in the DMI SMBIOS 3.0 code when calculating the number of DMI table entries. (Jean Delvare) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 115db5c68bd4ed7fbcb73f300e666ff127b359b6 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Mar 27 11:48:19 2015 -0700 x86/vdso: Remove x32 intermediates during 'make clean' The existing clean-files rule was missing vdsox32.so and vdsox32.so.dbg. We should really rename the intermediates to allow a single rule to get them all. Also-reported-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Link: http://lkml.kernel.org/r/7fa2ad4a63bc6f52e214125900d54165ef06cc10.1427482099.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ef37507d99ab29c253de3c55e7ee9fa4f6d50834 Author: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Date: Fri Mar 27 11:48:18 2015 -0700 x86/vdso: Teach 'make clean' to remove generated vdso-image-*.c files After 'make clean' the following files were left in arch/x86/vdso/: vdso-image-32-int80.c vdso-image-32-syscall.c vdso-image-32-sysenter.c These file are generated during the build process and are present in .gitignore, so remove them. Signed-off-by: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Link: http://lkml.kernel.org/r/f85bb7ef6f8c6f6aa4bf422348018c84321454f8.1427482099.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e7d6eefaaa443130079d73cd05039d90b3db7a4a Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 27 11:48:17 2015 -0700 x86/vdso32/syscall.S: Do not load __USER32_DS to %ss This vDSO code only gets used by 64-bit kernels, not 32-bit ones. On 64-bit kernels, the data segment is the same for 32-bit and 64-bit userspace, and the SYSRET instruction loads %ss with its selector. So there's no need to repeat it by hand. Segment loads are somewhat expensive: tens of cycles. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> [ Removed unnecessary comment. ] Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/63da6d778f69fd0f1345d9287f6764d58be519fa.1427482099.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a4f59d6e09ef16fbb7d213cfa1bf472c7845fda Author: Tommi Kyntola <tommi.kyntola@xxxxxxxxx> Date: Fri Mar 27 11:48:16 2015 -0700 x86/vdso: Fix the x86 vdso2c tool includes The build-time tool arch/x86/vdso/vdso2c.c includes <linux/elf.h>, but cannot find it, unless the build host happens to provide it. It should be reading the uapi linux/elf.h This build regression came along with the vdso2c changes between v3.15 and v3.16. Signed-off-by: Tommi Kyntola <tommi.kyntola@xxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1525002.3cJ7BySVpA@musta Link: http://lkml.kernel.org/r/efe1ec29eda830b1d0030882706f3dac99ce1f73.1427482099.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6a840791182c7dab3428c6f005776b50e62e53ef Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Mon Dec 8 15:16:44 2014 +0100 powerpc32/chrp: fix section mismatch warning This patch fixes a section mismatch warning WARNING: vmlinux.o(.text+0x213b6): Section mismatch in reference from the function chrp_init_early() to the variable .init.data:boot_command_line The function chrp_init_early() references the variable __initdata boot_command_line. This is often because chrp_init_early lacks a __initdata annotation or the annotation of boot_command_line is wrong. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ca68a525ff6b62e77dc8a8c3020a63321bfb864f Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Mar 29 15:54:13 2015 +0200 MAINTAINERS: Change the x86 microcode loader maintainer Let's make it official - I've been doing this for a while now anyway. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tigran Aivazian <tigran@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4e26d11f52684dc8b1632a8cfe450cb5197a8464 Author: Hector Marco-Gisbert <hecmargi@xxxxxx> Date: Fri Mar 27 12:38:21 2015 +0100 x86/mm: Improve AMD Bulldozer ASLR workaround The ASLR implementation needs to special-case AMD F15h processors by clearing out bits [14:12] of the virtual address in order to avoid I$ cross invalidations and thus performance penalty for certain workloads. For details, see: dfb09f9b7ab0 ("x86, amd: Avoid cache aliasing penalties on AMD family 15h") This special case reduces the mmapped file's entropy by 3 bits. The following output is the run on an AMD Opteron 62xx class CPU processor under x86_64 Linux 4.0.0: $ for i in `seq 1 10`; do cat /proc/self/maps | grep "r-xp.*libc" ; done b7588000-b7736000 r-xp 00000000 00:01 4924 /lib/i386-linux-gnu/libc.so.6 b7570000-b771e000 r-xp 00000000 00:01 4924 /lib/i386-linux-gnu/libc.so.6 b75d0000-b777e000 r-xp 00000000 00:01 4924 /lib/i386-linux-gnu/libc.so.6 b75b0000-b775e000 r-xp 00000000 00:01 4924 /lib/i386-linux-gnu/libc.so.6 b7578000-b7726000 r-xp 00000000 00:01 4924 /lib/i386-linux-gnu/libc.so.6 ... Bits [12:14] are always 0, i.e. the address always ends in 0x8000 or 0x0000. 32-bit systems, as in the example above, are especially sensitive to this issue because 32-bit randomness for VA space is 8 bits (see mmap_rnd()). With the Bulldozer special case, this diminishes to only 32 different slots of mmap virtual addresses. This patch randomizes per boot the three affected bits rather than setting them to zero. Since all the shared pages have the same value at bits [12..14], there is no cache aliasing problems. This value gets generated during system boot and it is thus not known to a potential remote attacker. Therefore, the impact from the Bulldozer workaround gets diminished and ASLR randomness increased. More details at: http://hmarco.org/bugs/AMD-Bulldozer-linux-ASLR-weakness-reducing-mmaped-files-by-eight.html Original white paper by AMD dealing with the issue: http://developer.amd.com/wordpress/media/2012/10/SharedL1InstructionCacheonAMD15hCPU.pdf Mentored-by: Ismael Ripoll <iripoll@xxxxxxxxxxxx> Signed-off-by: Hector Marco-Gisbert <hecmargi@xxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jan-Simon <dl9pf@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-fsdevel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427456301-3764-1-git-send-email-hecmargi@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 46423ffaf45c2494626841238d8bf75123a28caa Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Mar 29 15:43:09 2015 +0200 x86/microcode/amd: Drop the pci_ids.h dependency This file doesn't use any macros from pci_ids.h anymore, drop the include. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427635734-24786-80-git-send-email-mst@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a3675b32aac81c2c4733568844f8276527a37423 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 30 20:09:34 2015 +0200 x86/asm/entry/64: Do not GET_THREAD_INFO() too early At exit_intr, we GET_THREAD_INFO(%rcx) and then jump to retint_kernel if saved CS was from kernel. But the code at retint_kernel doesn't need %rcx. Move GET_THREAD_INFO(%rcx) down, after CS check and branch. While at it, remove "has a correct top of stack" comment. After recent changes which eliminated FIXUP_TOP_OF_STACK, we always have a correct pt_regs layout. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427738975-7391-5-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 627276cb55f33e2dc56eab5b973937c128b7704c Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 30 20:09:31 2015 +0200 x86/asm/entry/64: Move retint_kernel code block closer to its user The "retint_kernel" code block is misplaced. Since its logical continuation is "retint_restore_args", it is more natural to place it above that label. This also makes two jumps "short". This change only moves code block around, without changing logic. This enables the next simplification: making "retint_restore_args" label a local numeric one. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427738975-7391-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 066626d5d5548d7ff63772a840b8d40a0d278825 Author: Emil Velikov <emil.l.velikov@xxxxxxxxx> Date: Mon Mar 30 17:10:36 2015 +0000 drm: line wrap DRM_IOCTL_DEF* macros Improve the readability and keeps the lines shorter than 80 columns. Signed-off-by: Emil Velikov <emil.l.velikov@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4806c87f017d8a7003ad34886f58c3b9e023df6a Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Mon Mar 30 22:17:09 2015 +0200 clocksource/drivers/at91: Fix IO endianness Fix the use of __raw IO accessor with the readl/writel_relaxed() versions to allow the code to be used on a system running in big endian mode. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Andrew Victor <linux@xxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: digetx@xxxxxxxxx Cc: hdegoede@xxxxxxxxxx Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx Cc: viresh.kumar@xxxxxxxxxx Link: http://lkml.kernel.org/r/1427746633-9137-7-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 37b8b003c483191a327a740fc32c1993959e7ae9 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Mar 30 22:17:10 2015 +0200 clocksource/drivers/sun4i-timer: Only register a sched_clock on sun4i and sun5i sun6i and newer have an arm arch timer which is a better sched_clock source then the sun4i-timer, and sched_clock does not have priorities, so do not register the sun4i-timer sched_clock at all on sun6i and newer. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: ben.dooks@xxxxxxxxxxxxxxx Cc: digetx@xxxxxxxxx Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: viresh.kumar@xxxxxxxxxx Link: http://lkml.kernel.org/r/1427746633-9137-8-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 59196bcef5c1034f020fe5bf3579f89767537246 Author: Dmitry Osipenko <digetx@xxxxxxxxx> Date: Mon Mar 30 22:17:11 2015 +0200 clocksource/drivers/tegra: Fix IO endianness Support big-endian kernel by using endian-aware register access functions. Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Cc: ben.dooks@xxxxxxxxxxxxxxx Cc: hdegoede@xxxxxxxxxx Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx Cc: viresh.kumar@xxxxxxxxxx Link: http://lkml.kernel.org/r/1427746633-9137-9-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3a10013b6a5975346fe5a8db59500a8d176d64e0 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Mon Mar 30 22:17:12 2015 +0200 clocksource/drivers/dw_apb_timers_of: Fix IO endianness causing time jumps The dw_apb_timer_of timer is using __raw_readl() to access the timer register, which is causing issues when the system is running in big endian mode. Fix this by using readl_relaxed() which should account for the endian settings. This fixes issues where the time jumps around in the dmesg output due to returnling __le32 values. For an example, these two console lines show time running backwards: [ 49.882572] CPU1: failed to come online [ 43.282457] Brought up 1 CPUs Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: digetx@xxxxxxxxx Cc: hdegoede@xxxxxxxxxx Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx Cc: viresh.kumar@xxxxxxxxxx Link: http://lkml.kernel.org/r/1427746633-9137-10-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ad834a346853b7ee7c684efa56b1d415a850a710 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Mar 30 22:17:13 2015 +0200 clocksource/drivers/efm32: Use CLOCK_EVT_FEAT_PERIODIC for defining features We have used CLOCK_EVT_MODE_PERIODIC instead of CLOCK_EVT_FEAT_PERIODIC while defining features. Fix it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx> Cc: ben.dooks@xxxxxxxxxxxxxxx Cc: digetx@xxxxxxxxx Cc: hdegoede@xxxxxxxxxx Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427746633-9137-11-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5e77f5216abdd1d98e6d14d9a3eb4e88d80011a Merge: de81e64 e42391c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 31 09:08:13 2015 +0200 Merge tag 'v4.0-rc6' into timers/core, before applying new patches Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 11e52a699afff576606ceb6cf697270459f1a4aa Author: James Bottomley <JBottomley@xxxxxxxxxxxxx> Date: Wed Mar 18 15:56:16 2015 -0700 enclosure: fix WARN_ON removing an adapter in multi-path devices We have peculiar problems with multi-path and enclosures: physically, we know each bay can only be occupied by a single disk device. However in multi-path, it appears we have many (because each path to the device appears in Linux as a different kernel device). We try to fix this by only having the last seen device show up in the bay. Sysfs gets very annoyed if we try to manipulate links when the kobject sysfs directory (kobj.sd) doesn't exist and drops a huge WARN_ON which most users panic and report an oops for. This happens on a few path removal situations and IBM reports seeing it when one of their multi-path adapters is removed. Add a check to enclosure device removal for the existence the sysfs directory containing both the forward and back links so that the remnants (if any) get removed in either direction but no scary warnings are dumped. Reported-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Tested-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 18e1d1b115f79ab1f9137f2b4c72f87c218a5fb9 Author: Alex Dowad <alexinbeijing@xxxxxxxxx> Date: Fri Mar 13 20:04:18 2015 +0200 arc: copy_thread(): rename 'arg' argument to 'kthread_arg' The 'arg' argument to copy_thread() is only ever used when forking a new kernel thread. Hence, rename it to 'kthread_arg' for clarity. Signed-off-by: Alex Dowad <alexinbeijing@xxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 358b615f5812e28dd763d2aa1297563927a2f89d Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 17:33:23 2015 +0200 PM / devfreq: tegra: Register governor on module init So this driver builds as a module. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 34ed504008b2d8d3578191424fc5cddcb76d69f5 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:17 2015 +0100 PM / devfreq: tegra: Enable interrupts after resuming the devfreq monitor Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 2da19b1a4d4fadf8d84a5cb6a953749a559a29fb Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:16 2015 +0100 PM / devfreq: tegra: Set drvdata before enabling the irq To avoid a race in which the interrupt will be handled before the drvdata has been set up. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 5d498b463a3cdef51e6d4cc7066ac89c360e7a98 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:15 2015 +0100 PM / devfreq: tegra: remove operating-points As the DT bindings don't have an operating-points property any more, build the OPP table from the frequencies supported by the EMC clock. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit c70eea739f5e765b5d6aadf9621cbdeb024dfbd6 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:14 2015 +0100 PM / devfreq: tegra: Use clock rate constraints Now that we have per-user clocks and the possibility to set constraints in a clock, set a floor constraint on the EMC clock. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 11573e9132ae40239195fe5162d48caf2b7d85bb Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:12 2015 +0100 PM / devfreq: tegra: Update to v5 of the submitted patches There seemed to be some miscommunication and an old version of the submitted patches was merged. This commit updates the driver to v5, which had this changelog: * Clarify the units of avg_dependency_threshold * Remove unused references to platform_device * Enable and disable interrupts on governor events * Make sure we handle all interrupts for any of the devices we are sampling * Move locking to be per-actmon-device Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> CC: Alex Frid <afrid@xxxxxxxxxx> CC: Mikko Perttunen <mikko.perttunen@xxxxxxxx> [Added const to device ID by MyungJoo] Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 6bc08d03e745a0b369bd28294b969e4fdaf7be9f Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Mon Mar 30 12:06:10 2015 +0200 powerpc/powernv: handle OPAL_SUCCESS return in opal_sensor_read Currently, when a sensor value is read, the kernel calls OPAL, which in turn builds a message for the FSP, and waits for a message back. The new device tree for OPAL sensors [1] adds new sensors that can be read synchronously (core temperatures for instance) and that don't need to wait for a response. This patch modifies the opal call to accept an OPAL_SUCCESS return value and cover the case above. [1] https://lists.ozlabs.org/pipermail/skiboot/2015-March/000639.html Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e3c5c2e0bc857c7cbdb81f35a6b90236c5f330e9 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Mon Mar 30 12:06:09 2015 +0200 powerpc/powernv: convert codes returned by OPAL calls OPAL has its own list of return codes. The patch provides a translation of such codes in errnos for the opal_sensor_read call, and possibly others if needed. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d7de390bff7ad0f551fc0e409543e98db86a65df Merge: b1f389e f026eb6 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Mar 31 13:38:01 2015 +1000 Merge branch 'drm-atmel-hlcdc-4.1-fixes' of git://github.com/bbrezillon/linux-at91 into drm-next add PM fix. * 'drm-atmel-hlcdc-4.1-fixes' of git://github.com/bbrezillon/linux-at91: drm: atmel-hlcdc: use appropriate enabled flag in suspend/resume commit b1f389ecc20b95f0f64515588d3736e85146848f Merge: 517bc04 cea405b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Mar 31 13:36:25 2015 +1000 Merge tag 'drm-amdkfd-next-2015-03-25' of git://people.freedesktop.org/~gabbayo/linux into drm-next - Allow amdkfd to work with multiple kgd instances. This is in preparation for AMD's new open source kernel graphic driver (amdgpu), and for the new AMD APU, Carrizo. - Convert timestamping to use 64bit time accessors - Three other minor changes. * tag 'drm-amdkfd-next-2015-03-25' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: Add multiple kgd support drm/amdkfd: Convert timestamping to use 64bit time accessors drm/amdkfd: add debug prints for process teardown drm/amdkfd: Remove unused field from struct qcm_process_device drm/amdkfd: rename fence_wait_timeout commit 3bbf7f4624856751aa4cf279a472bd14a8eb16fd Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 13:25:05 2015 +1030 linux/cpumask.h: add typechecking to cpumask_test_cpu The Subtlety (1) referred to vanished with 6ba2ef7baac2 ("cpumask: Move deprecated functions to end of header."). That used to mention some suboptimal code generation by a, by now, rather ancient gcc. With gcc 4.7, I don't see any change in the generated code by making it a static inline, so let's add type checking and get rid of the ghost reference. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit acdb66857fb9a713c93bb3e6edba5ee478ba0678 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 16:46:04 2015 -0700 powerpc: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9cd5196ed25979a3760f97225aae3e17caf21512 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Mar 30 19:06:22 2015 +0900 mtd: ts5500_flash: Fix typo in MODULE_DESCRIPTION in ts5500_flash.c This patch fixes a spelling typo in MODULE_DESCRIPTION in ts5500_flash.c. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> [ Brian: fixed grammar in a spelling patch :) ] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d4ed11aa4881246e1e36e0189f30f053f140370c Merge: 3305244 027fa02 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 13:11:17 2015 +1100 Merge branch 'next-eeh' into next-sriov Merge in Gavin EEH fixes commit 027fa02f84e851e21daffdf8900d6117071890f8 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 11:29:00 2015 +1100 powerpc/powernv: Don't map M64 segments using M32DT If M64 has been supported, the prefetchable 64-bits memory resources shouldn't be mapped to the corresponding PE# via M32DT. Unfortunately, we're doing that in pnv_ioda_setup_pe_seg() wrongly. The issue was introduced by commit 262af55 ("powerpc/powernv: Enable M64 aperatus for PHB3"). The patch fixes the issue by simply skipping M64 resources when updating to M32DT. Cc: <stable@xxxxxxxxxxxxxxx> # v3.17+ Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 433185d2b4e9c25f2a444424c05af72fbadd4275 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 11:22:17 2015 +1100 powerpc/eeh: Fix PE#0 check in eeh_add_to_parent_pe() The function eeh_add_parent_pe() is used to create a PE or add one edev to its parent PE. Current code checks if PE#0 is valid for the later case. Actually, we should validate PE#0 for both cases when EEH core regards PE#0 as invalid one (without flag EEH_VALID_PE_ZERO). Otherwise, not all EEH devices can be added to its parent PE#0 for EEH on P7IOC. The patch fixes the issue by validating PE#0 for the two cases. So far, we don't have PE#0 for EEH on P7IOC, but it will show up when we enable M64 for P7IOC. The patch also makes the error message more meaningful. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 330524404298b2142d2e3a2f64251ca855d55d72 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:24:01 2015 +0800 powerpc/pci: Add PCI resource alignment documentation In order to enable SRIOV on PowerNV platform, the PF's IOV BAR needs to be adjusted: 1. size expanded 2. aligned to M64BT size This patch documents this change on the reason and how. [bhelgaas: reformat, clarify, expand] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 250c7b277c65e801a3312061dc2e919233468916 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:24:00 2015 +0800 powerpc/pci: Remove unused struct pci_dn.pcidev field In struct pci_dn, the pcidev field is assigned but not used, so remove it. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 02639b0e1326c3eff88d74fde6b5dbd04ace564e Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:59 2015 +0800 powerpc/powernv: Group VF PE when IOV BAR is big on PHB3 When IOV BAR is big, each is covered by 4 M64 windows. This leads to several VF PE sits in one PE in terms of M64. Group VF PEs according to the M64 allocation. [bhelgaas: use dev_printk() when possible] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 5b88ec228498b7d41de6599eca12cc0032056e3f Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:58 2015 +0800 powerpc/powernv: Reserve additional space for IOV BAR, with m64_per_iov supported M64 aperture size is limited on PHB3. When the IOV BAR is too big, this will exceed the limitation and failed to be assigned. Introduce a different mechanism based on the IOV BAR size: - if IOV BAR size is smaller than 64MB, expand to total_pe - if IOV BAR size is bigger than 64MB, roundup power2 [bhelgaas: make dev_printk() output more consistent, use PCI_SRIOV_NUM_BARS] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 781a868f3136c6eb8e8c5c19d148416d7da86610 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:57 2015 +0800 powerpc/powernv: Shift VF resource with an offset On PowerNV platform, resource position in M64 BAR implies the PE# the resource belongs to. In some cases, adjustment of a resource is necessary to locate it to a correct position in M64 BAR . This patch adds pnv_pci_vf_resource_shift() to shift the 'real' PF IOV BAR address according to an offset. Note: After doing so, there would be a "hole" in the /proc/iomem when offset is a positive value. It looks like the device return some mmio back to the system, which actually no one could use it. [bhelgaas: rework loops, rework overlap check, index resource[] conventionally, remove pci_regs.h include, squashed with next patch] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 5350ab3fd794f899079d9f6b2b6fe1a7917087ef Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:56 2015 +0800 powerpc/powernv: Implement pcibios_iov_resource_alignment() on powernv Implement pcibios_iov_resource_alignment() on powernv platform. On PowerNV platform, there are 3 cases for the IOV BAR: 1. initial state, the IOV BAR size is multiple times of VF BAR size 2. after expanded, the IOV BAR size is expanded to meet the M64 segment size 3. sizing stage, the IOV BAR is truncated to 0 pnv_pci_iov_resource_alignment() handle these three cases respectively. [bhelgaas: adjust to drop "align" parameter, return pci_iov_resource_size() if no ppc_md machdep_call version] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 6e628c7d33d99406cef374972c89389edcc3570f Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:55 2015 +0800 powerpc/powernv: Reserve additional space for IOV BAR according to the number of total_pe On PHB3, PF IOV BAR will be covered by M64 BAR to have better PE isolation. M64 BAR is a type of hardware resource in PHB3, which could map a range of MMIO to PE numbers on powernv platform. And this range is divided equally by the number of total_pe with each divided range mapping to a PE number. Also, the M64 BAR must map a MMIO range with power-of-two size. The total_pe number is usually different from total_VFs, which can lead to a conflict between MMIO space and the PE number. For example, if total_VFs is 128 and total_pe is 256, the second half of M64 BAR will be part of other PCI device, which may already belong to other PEs. This patch prevents the conflict by reserving additional space for the PF IOV BAR, which is total_pe number of VF's BAR size. [bhelgaas: make dev_printk() output more consistent, index resource[] conventionally] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 9e8d4a19ab66ec9e132d405357b9108a4f26efd3 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:54 2015 +0800 powerpc/powernv: Allocate struct pnv_ioda_pe iommu_table dynamically Previously the iommu_table had the same lifetime as a struct pnv_ioda_pe and was embedded in it. The pnv_ioda_pe was assigned to a PE on the bootup stage. Since PEs are based on the hardware layout which is static in the system, they will never get released. This means the iommu_table in the pnv_ioda_pe will never get released either. This no longer works for VF PE. VF PEs are created and released dynamically when VFs are created and released. So we need to assign pnv_ioda_pe to VF PEs respectively when VFs are enabled and clean up those resources for VF PE when VFs are disabled. And iommu_table is one of the resources we need to handle dynamically. Current iommu_table is a static field in pnv_ioda_pe, which will face a problem when freeing it. During the disabling of a VF, pnv_pci_ioda2_release_dma_pe will call iommu_free_table to release the iommu_table for this PE. A static iommu_table will fail in iommu_free_table. According to these requirement, this patch allocates iommu_table dynamically. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit c3b80fb0f22f464f35a970d65e76d2fe904d4923 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:53 2015 +0800 powerpc/pci: Don't unset PCI resources for VFs Flag PCI_REASSIGN_ALL_RSRC is used to ignore resources information setup by firmware, so that kernel would re-assign all resources of pci devices. On powerpc arch, this happens in a header fixup function pcibios_fixup_resources(), which will clean up the resources if this flag is set. This works fine for PFs, since after clean up, kernel will re-assign the resources in pcibios_resource_survey(). Below is a simple call flow on how it works: pcibios_init pcibios_scan_phb pci_scan_child_bus ... pci_device_add pci_fixup_device(pci_fixup_header) pcibios_fixup_resources # header fixup for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) dev->resource[i].start = 0 pcibios_resource_survey # re-assign pcibios_allocate_resources However, the VF resources won't be re-assigned, since the VF resources are completely determined by the PF resources, and the PF resources have already been reassigned. This means we need to leave VF's resources un-cleared in pcibios_fixup_resources(). In this patch, we skip the resource unset process in pcibios_fixup_resources(), if the pci_dev is a VF. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit a8b2f8288a3fdef8d93efef2b1ead7563004275e Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:52 2015 +0800 powerpc/pci: Create pci_dn for VFs pci_dn is the extension of PCI device node and is created from device node. Unfortunately, VFs are enabled dynamically by PF's driver and they don't have corresponding device nodes and pci_dn, which is required to access VFs' config spaces. The patch creates pci_dn for VFs in pcibios_sriov_enable() on their PF, and removes pci_dn for VFs in pcibios_sriov_disable() on their PF. When VF's pci_dn is created, it's put to the child list of the pci_dn of PF's upstream bridge. The pci_dn is linked to pci_dev during early fixup time to setup the fast path. [bhelgaas: add ifdef around add_one_dev_pci_info(), use dev_printk()] Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit d74b9027a4dafa44d3a3c2a44ce135e50a13ec10 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:51 2015 +0800 PCI: Consider additional PF's IOV BAR alignment in sizing and assigning When sizing and assigning resources, we divide the resources into two lists: the requested list and the additional list. We don't consider the alignment of additional VF(n) BAR space. This is because the alignment required for the VF(n) BAR space is the size of an individual VF BAR, not the size of the space for *all* VFs. But we want additional alignment to support partitioning on PowerNV. Consider the additional IOV BAR alignment when sizing and assigning resources. When there is not enough system MMIO space to accomodate both the requested list and the additional list, the PF's IOV BAR alignment will not contribute to the bridge. When there is enough system MMIO space for both lists, the additional alignment will contribute to the bridge. The additional alignment is stored in the min_align of pci_dev_resource, which is stored in the additional list by add_to_list() at the end of pbus_size_mem(). The additional alignment is calculated in pci_resource_alignment(). For an IOV BAR, we have arch dependent function to get the alignment for different arch. [bhelgaas: changelog, printk cast] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 978d2d68312326b715a5913aaab1eaf24fe99108 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:50 2015 +0800 PCI: Add pcibios_iov_resource_alignment() interface Per the SR-IOV spec r1.1, sec 3.3.14, the required alignment of a PF's IOV BAR is the size of an individual VF BAR, and the size consumed is the individual VF BAR size times NumVFs. The PowerNV platform has additional alignment requirements to help support its Partitionable Endpoint device isolation feature (see Documentation/powerpc/pci_iov_resource_on_powernv.txt). Add a pcibios_iov_resource_alignment() interface to allow platforms to request additional alignment. [bhelgaas: changelog, adapt to reworked pci_sriov_resource_alignment(), drop "align" parameter] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 995df527f3990d91fe8f3d7d1917a7adc3938320 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:49 2015 +0800 PCI: Add pcibios_sriov_enable() and pcibios_sriov_disable() VFs are dynamically created when a driver enables them. On some platforms, like PowerNV, special resources are necessary to enable VFs. Add platform hooks for enabling and disabling VFs. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit b07579c0924eee1543eb6cd2c19544d15a4b5236 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:48 2015 +0800 PCI: Export pci_iov_virtfn_bus() and pci_iov_virtfn_devfn() On PowerNV, some resource reservation is needed for SR-IOV VFs that don't exist at the bootup stage. To do the match between resources and VFs, the code need to get the VF's BDF in advance. Rename virtfn_bus() and virtfn_devfn() to pci_iov_virtfn_bus() and pci_iov_virtfn_devfn() and export them. [bhelgaas: changelog, make "busnr" int] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 4449f079722c86d2f6925da039835acdd8e973a8 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:47 2015 +0800 PCI: Calculate maximum number of buses required for VFs An SR-IOV device can change its First VF Offset and VF Stride based on the values of ARI Capable Hierarchy and NumVFs. The number of buses required for all VFs is determined by NumVFs, First VF Offset, and VF Stride (see SR-IOV spec r1.1, sec 2.1.2). Previously pci_iov_bus_range() computed how many buses would be required by TotalVFs, but this was based on a single NumVFs value and may not have been the maximum for all NumVFs configurations. Iterate over all valid NumVFs and calculate the maximum number of bus numbers that could ever be required for VFs of this device. [bhelgaas: changelog, compute busnr of NumVFs, not TotalVFs, remove kerenl-doc comment marker] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit f59dca27d20c73500c4a88ab9a077e40669755db Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:46 2015 +0800 PCI: Refresh First VF Offset and VF Stride when updating NumVFs The First VF Offset and VF Stride fields depend on the NumVFs setting, so refresh the cached fields in struct pci_sriov when updating NumVFs. See the SR-IOV spec r1.1, sec 3.3.9 and 3.3.10. [bhelgaas: changelog, remove kernel-doc comment marker] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit c1fe1f96e30d31cc99826f19a058d9e9eef87712 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Mar 25 16:23:45 2015 +0800 PCI: Index IOV resources in the conventional style Most of PCI uses "res = &dev->resource[i]", not "res = dev->resource + i". Use that style in iov.c also. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 0e6c9122a6ec96d19f1db61e9750287d86b6829c Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:44 2015 +0800 PCI: Keep individual VF BAR size in struct pci_sriov Currently we don't store the individual VF BAR size. We calculate it when needed by dividing the PF's IOV resource size (which contains space for *all* the VFs) by total_VFs or by reading the BAR in the SR-IOV capability again. Keep the individual VF BAR size in struct pci_sriov.barsz[], add pci_iov_resource_size() to retrieve it, and use that instead of doing the division or reading the SR-IOV capability BAR. [bhelgaas: rename to "barsz[]", simplify barsz[] index computation, remove SR-IOV capability BAR sizing] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit e88ae01d2c43be3c3a6f340bfa7bab8b87127f57 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:43 2015 +0800 PCI: Print PF SR-IOV resource that contains all VF(n) BAR space When we size VF BAR0, VF BAR1, etc., from the SR-IOV Capability of a PF, we learn the alignment requirement and amount of space consumed by a single VF. But when VFs are enabled, *each* of the NumVFs consumes that amount of space, so the total size of the PF resource is "VF BAR size * NumVFs". Add a printk of the total space consumed by the VFs corresponding to what we already do for normal non-IOV BARs. No functional change; new message only. [bhelgaas: split out into its own patch] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 68f8e9fa56ce6b5cb18323e8d8fa536fee0f89ca Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Mar 25 16:23:42 2015 +0800 PCI: Print more info in sriov_enable() error message If we don't have space for all the bus numbers required to enable VFs, print the largest bus number required and the range available. No functional change; improved error message only. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit d99d72829ec00a96d2d71f30a704b901c198a673 Author: Graham Moore <grmoore@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 09:38:50 2015 -0600 mtd: denali: Disable sub-page writes in Denali NAND driver The Denali Controller IP does not support sub-page writes. Signed-off-by: Graham Moore <grmoore@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e5860c18e68606446a10c3e926a2a0162c385cbf Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 1 11:55:37 2015 -0500 mtd: pxa3xx_nand: cleanup wait_for_completion handling return type of wait_for_completion_timeout is unsigned long not int, this patch uses the return value of wait_for_completion_timeout in the condition directly rather than assigning it to an incorrect type variable. The variable used for handling the return of wait_for_cmpletion_timeout was int but should be unsigned long, where it was not in use for anything else and the return value in case of completion (>0) is not used it was removed and wait_for_completion_timeout() used directly in the if condition. To make the timeout values a bit simpler to read and also handle all of the corner cases correctly the declarations are moved to msecs_to_jiffies(). The timeout declaration cleanup is just for readability Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 899b834a462921a087f92f705d9f85def5892242 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Feb 9 19:22:33 2015 -0200 mtd: nand: gpmi: Check for scan_bbt() error In case of scan_bbt() failure, we should better propagate it. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Huang Shijie <shijie.huang@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 706d5b289924678de9d8af67bcb00e28c1a5000c Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 11:37:33 2015 -0500 mtd: nand: gpmi: fixup return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. The return variable is renamed to reflect its use and the type adjusted to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Huang Shijie <shijie.huang@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 219a8d13dd2bd0536e359405d046bdce9cc9d134 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 1 06:15:46 2015 -0500 mtd: fsl-quadspi: cleanup wait_for_completion return handling return type of wait_for_completion_timeout is unsigned long not int, this patch uses the return value of wait_for_completion_timeout in the condition directly rather than adding a additional appropriately typed variable. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Han Xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit dc6525c61f0fc1e41611d91134f56ed2c297feac Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Feb 9 10:07:19 2015 -0200 mtd: fsl-quadspi: Print the error value When displaying dev_err() messages it is useful to print the error value. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Han Xu <han.xu@xxxxxxxxxxxxx> [Brian: fix up "can not" at the same time] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 35cc3337b6d5bb71ec80daaaf268bf25514fb6a2 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:15:58 2015 +0300 mtd: cfi: clean up some indenting These lines were all indented one tab more than they should be. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 271afb4c96b70292c5eae0744e08bc2d2b5f4fae Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 11:10:41 2015 -0700 mtd: maps: sa1100-flash: remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 318157ab1fc843b7e08b7bf1fc2c431c4da9f3ff Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Thu Mar 12 16:24:04 2015 +0100 mtd: replace CONFIG_8xx by CONFIG_PPC_8xx Two config options exist to define powerpc MPC8xx: * CONFIG_PPC_8xx * CONFIG_8xx In addition, CONFIG_PPC_8xx also defines CONFIG_CPM1 as communication co-processor arch/powerpc/platforms/Kconfig.cputype has contained the following comment about CONFIG_8xx item for some years: "# this is temp to handle compat with arch=ppc" It looks like not many places still have that old CONFIG_8xx used, so it is likely to be a good time to get rid of it completely ? Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 62b57f4c1475a4c452000192e5cad2ae86164be5 Author: Stefan Roese <sr@xxxxxxx> Date: Thu Mar 19 14:34:29 2015 +0100 mtd: fsmc_nand.c: Use default timings if none are provided in the dts Without this patch the timings are all set to 0 if not specified in the dts. With this patch the driver falls back to use the defaults that are already present in the driver and are known to work okay for some (older) boards. Tested on a custom SPEAr600 based board. Signed-off-by: Stefan Roese <sr@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Viresh Kumar <viresh.linux@xxxxxxxxx> Cc: Mian Yousaf Kaukab <mian.yousaf.kaukab@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d800fcabc75a091569b6e19a67844eb264c7db9b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 12:35:19 2015 +0300 jffs2: remove an unneeded condition We know "rc" is set so there is no need to check again. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 60c70d66cdd39eb560bba5a95c429bf2ad5294d0 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Feb 23 17:26:39 2015 +0200 mtd: nand: Prevent possible kernel lockup in nand_command() If a NAND device is not really present or pin muxes are not correctly configured we can lock up the kernel waiting infinitely for NAND_STATUS to be ready. This can be easily reproduced on TI's DRA7-evm board by booting it without NAND support in u-boot and disabling NAND pin muxes in the kernel. Add timeout when waiting for NAND_CMD_RESET completion. As per ONFi v4.0 tRST can be upto 250ms for EZ-NAND and 5ms for raw NAND. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Tested-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 045ecad0fdb23f34a2769fa9d49384a3130f7831 Author: Tomasz Figa <t.figa@xxxxxxxxxxx> Date: Mon Mar 2 14:17:29 2015 +0100 clk: samsung: exynos3250: Add driver for CMU_ISP clock domain Add clock controller for CMU ISP clock domain on Exynos3250, providing clocks for FIMC-IS subsystem. [b.michalska: use samsung_cmu_register_one to register the provider; updated DT binding documentation] Signed-off-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Beata Michalska <b.michalska@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> [s.nawrocki: added __init attribute which was missing in function exynos3250_cmu_platform_init() in function, which has been] Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit abec147faa071af48e70f368319ba784284dc016 Author: Inha Song <ideal.song@xxxxxxxxxxx> Date: Mon Mar 2 11:15:00 2015 +0900 clk: samsung: Add CLKOUT driver support for Exynos3250 SoC This patch add CLKOUT driver support for Exynos3250 SoC. Exynos3250 SoC PMU_DEBUG is the same with Exynos4's PMU_DEBUG including CLKOUT mux. So we can use the exynos4's clkout init function for Exynos3250 without the need to add new function. Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit ccdc45075aeaaa144af4177b85570eb26c2f5a8b Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Thu Mar 26 16:42:06 2015 -0700 leds: Don't treat the LED name as a format string The LED name was wrongly interpreted as format string. Stop doing that. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> commit 6f06c7f87cf54fa0fa6f95963d7c0d436eb56f43 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Thu Mar 26 16:42:05 2015 -0700 leds: Use log level warn instead of info when telling about a name clash The LED names are expected to be unique in the system. Use KERN_WARNING log level to notify the user about the matter. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> commit db6e3e8d016823c6b0f773c70a69ce65807d8a44 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 30 23:21:02 2015 +0300 Bluetooth: Refactor HCI request variables into own struct In order to shrink the size of bt_skb_cb, this patch moves the HCI request related variables into their own req_ctrl struct. Additionall the L2CAP and HCI request structs are placed inside the same union since they will never be used at the same time for the same skb. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a4368ff3ed3b57e4b5e36d83b75604f68bbcdaad Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 30 23:21:01 2015 +0300 Bluetooth: Refactor L2CAP variables into l2cap_ctrl We're getting very close to the maximum possible size of bt_skb_cb. To prepare to shrink the struct with the help of a union this patch moves all L2CAP related variables into the l2cap_ctrl struct. To later add other 'ctrl' structs the L2CAP one is renamed simple 'l2cap' instead of 'control'. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f3f03330dee0526d82f2a0fd1a79d207ed1ac439 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Mar 30 18:46:29 2015 +0200 nfsd: require an explicit option to enable pNFS Turns out sending out layouts to any client is a bad idea if they can't get at the storage device, so require explicit admin action to enable pNFS. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e0631a31b9ed501415e552a783b1f1e3988c7c46 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Mon Mar 30 14:22:13 2015 +0300 iio: Documentation: fix kernel version for 4.0 new ABI Kernel version for new ABI in 4.0 has been documented as 3.20, since the changes have been merged before the kernel version number change. Change kernel version from 3.20 to 4.0. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a96aa64cb5723d941de879a9cd1fea025d6acb1b Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Mon Mar 30 10:45:59 2015 -0700 leds/led-class: Handle LEDs with the same name The current code expected that every LED had an unique name. This is a legit expectation when the device tree can no be modified or extended. But with device tree overlays this requirement can be easily broken. This patch finds out if the name is already in use and adds the suffix _1, _2... if not. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 5ee047fb7ddd5ce65b804b0888fa32dd8536cda6 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Mar 30 02:50:11 2015 -0700 leds: lp8860: Fix typo in MODULE_DESCRIPTION in leds-lp8860.c This patch fix a spelling typo in MODULE_DESCRIPTION in leds-lp8860.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 336af37e38828dcc822d0ba53738d8996ca842a6 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Mar 30 02:50:10 2015 -0700 leds: lp8501: Fix typo in MODULE_DESCRIPTION in leds-lp8501.c This patch fix a spelling typo in MODULE_DESCRIPTION in leds-lp8501.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 116b8e164116be537f50cdcce84d80be0facd0cf Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Mar 26 07:03:09 2015 -0700 DT: leds: Add uniqueness requirement for 'label' property. Label is used for naming LED class devices. Since ePAPR doesn't require uniqueness for label properties, it has to be explicitly required in the LEDs common bindings documentation. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 5e23a35cf8b3c5c07111409d589590b9fb4305f6 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Mar 12 08:45:03 2015 -0700 dt-binding: leds: Add common LED DT bindings macros Add macros for defining boost mode and trigger type properties of flash LED devices. 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 93c64f1ea1e886a1e43e9b0215affdb696f1fe66 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Mar 12 08:47:08 2015 -0700 leds: add Qualcomm PM8941 WLED driver This adds support for the WLED ('White' LED) block on Qualcomm's PM8941 PMICs. (cooloney@xxxxxxxxx: remove unneeded semicolon) Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit cbbd896f25316e823af228432c690c35992d60f4 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Mar 12 08:47:07 2015 -0700 leds: add DT binding for Qualcomm PM8941 WLED block This adds device tree binding documentation for the WLED ('White' LED) block on Qualcomm's PM8941 PMICs. Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit a44b0f5edfc63dc06af9bb0ae473f7852d8d2cb6 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Mar 15 03:41:52 2015 -0700 leds: pca963x: Add missing initialiation of struct led_info.flags Only the name and default_trigger fields are initialized. Other fields (currently flags only) contain random stack data. Pre-initialize the led structure completely to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 9647507aff4d885d98a884a634d360b8f2d24c10 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Mar 12 08:45:02 2015 -0700 leds: flash: Fix the size of sysfs_groups array LED_FLASH_MAX_SYSFS_GROUPS macro had value that was relevant for previous version of the patches introducing LED Flash class. Currently it is required to reserve the room for maximum 4 sysfs groups. Since the last element of the struct attribute_group array passed to the function device_create_with_groups has to be NULL, the size of the array has to be greater by one than maximum allowed number of groups. Therefore, the name of the macro is being changed to LED_FLASH_SYSFS_GROUPS_SIZE, to make it more accurrate. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 622494a3560b13e05c9f2049bfab8e7fb12c67a2 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Feb 2 10:55:38 2015 +0000 drm: bridge/dw_hdmi: adjust n/cts setting order Patch derived from one from Yakir Yang. Yakir Yang says: For Designerware HDMI, the following write sequence is recommended: 1. aud_n3 (set bit ncts_atomic_write if desired) 2. aud_cts3 (set CTS_manual and CTS value if desired/enabled) 3. aud_cts2 (required in CTS_manual) 4. aud_cts1 (required in CTS_manual) 5. aud_n3 (bit ncts_atomic_write with same value as in step 1.) 6. aud_n2 7. aud_n1 However, avoid the ncts_atomic_write_bit and CTS_manual settings in this patch, both of which are marked reserved in the iMX6 documentation. All iMX6 code in the wild seems to want CTS_manual cleared. Having requested clarification from FSL, it appears that neither of these bits are implemented in their version of the IP. Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6bcf495317857e4e4cfb2e6f57fa8230cedc1362 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Feb 2 11:01:08 2015 +0000 drm: bridge/dw_hdmi: protect n/cts setting with a mutex The HDMI n/cts settings need to be updated whenever the audio sample rate or the video pixel clock changes. This needs to be protected against concurrency as there is no synchronisation between these two operations. Introduce a mutex (called audio_mutex) to protect against two threads trying to update the video clock rate and pixel clock simultaneously. Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 351e1354fcd06e96245f8fda141ac3cc2f68f763 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jan 31 14:50:23 2015 +0000 drm: bridge/dw_hdmi: combine hdmi_set_clock_regenerator_n() and hdmi_regenerate_cts() Combine these two functions into a single implementation. These two functions are called consecutively anyway. Idea from a patch by Yakir Yang. Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit fbef403aa7b377eb238dc6cade21213c315bc1a7 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Mar 27 13:35:55 2015 +0200 dmaengine: moxart-dma: Fix memory leak when stopping a running transfer The vd->node is removed from the lists when the transfer started so the vchan_get_all_descriptors() will not find it. This results memory leak. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f93178291712772983845700b12fc1c8b32f2eb1 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Mar 27 13:35:53 2015 +0200 dmaengine: bcm2835-dma: Fix memory leak when stopping a running transfer The vd->node is removed from the lists when the transfer started so the vchan_get_all_descriptors() will not find it. This results memory leak. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 02d88b735f5a60f04dbf6d051b76e1877a0d0844 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Mar 27 13:35:52 2015 +0200 dmaengine: omap-dma: Fix memory leak when terminating running transfer In omap_dma_start_desc the vdesc->node is removed from the virt-dma framework managed lists (to be precise from the desc_issued list). If a terminate_all comes before the transfer finishes the omap_desc will not be freed up because it is not in any of the lists and we stopped the DMA channel so the transfer will not going to complete. There is no special sequence for leaking memory when using cyclic (audio) transfer: with every start and stop of a cyclic transfer the driver leaks struct omap_desc worth of memory. Free up the allocated memory directly in omap_dma_terminate_all() since the framework will not going to do that for us. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> CC: <stable@xxxxxxxxxxxxxxx> CC: <linux-omap@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5ca9e7ce6eebec53362ff779264143860ccf68cd Author: Petr Kulhavy <petr@xxxxxxxxx> Date: Fri Mar 27 13:35:51 2015 +0200 dmaengine: edma: fix memory leak when terminating running transfers If edma_terminate_all() was called while a transfer was running (i.e. after edma_execute() but before edma_callback()) the echan->edesc was not freed. This was due to the fact that a running transfer is on none of the vchan lists: desc_submitted, desc_issued, desc_completed (edma_execute() removes it from the desc_issued list), so the vchan_dma_desc_free_list() called at the end of edma_terminate_all() didn't find it and didn't free it. This bug was found on an AM1808 based hardware (very similar to da850evm, however using the second MMC/SD controller), where intense operations on the SD card wasted the device 128MB RAM within a couple of days. Peter Ujfalusi: The issue is even more severe since it affects cyclic (audio) transfers as well. In this case starting/stopping audio will results memory leak. Signed-off-by: Petr Kulhavy <petr@xxxxxxxxx> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> CC: <stable@xxxxxxxxxxxxxxx> CC: <linux-omap@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d631c8cceb1d1d06f372878935949d421585186b Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 17:39:49 2015 -0400 ring-buffer: Remove duplicate use of '&' in recursive code A clean up of the recursive protection code changed val = this_cpu_read(current_context); val--; val &= this_cpu_read(current_context); to val = this_cpu_read(current_context); val &= val & (val - 1); Which has a duplicate use of '&' as the above is the same as val = val & (val - 1); Actually, it would be best to remove that line altogether and just add it to where it is used. And Christoph even mentioned that it can be further compacted to just a single line: __this_cpu_and(current_context, __this_cpu_read(current_context) - 1); Link: http://lkml.kernel.org/alpine.DEB.2.11.1503271423580.23114@xxxxxxxxxx Suggested-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit ca76683930a1c6acb8dd22867eca2bedaab998e3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Mar 28 18:05:44 2015 +0100 dmaengine: jz4740: Define capabilities Setup the capabilities of the device/driver, so that users of the DMAengine API can query them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8d5fe8d5eda6854a4c7f5e1b98f3d884f0604137 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 30 13:30:25 2015 +0300 sata_dwc_460ex: indent an if statement We shuffled some code around in 8b3444852a2b ('sata_dwc_460ex: move to generic DMA driver') an accidentally deleted a tab character here. It causes a Smatch warning "if statement not indented". Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d44758c0dfc5993a4b9952935a7eae4c91ebb6b4 Author: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 24 12:00:02 2015 +0000 KVM: arm/arm64: enable KVM_CAP_IOEVENTFD As the infrastructure for eventfd has now been merged, report the ioeventfd capability as being supported. Signed-off-by: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx> [maz: grouped the case entry with the others, fixed commit log] Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 950324ab81bf006542f30a1d1ab3d65fcf15cbc1 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Sat Mar 28 01:13:13 2015 +0000 KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus Currently we have struct kvm_exit_mmio for encapsulating MMIO abort data to be passed on from syndrome decoding all the way down to the VGIC register handlers. Now as we switch the MMIO handling to be routed through the KVM MMIO bus, it does not make sense anymore to use that structure already from the beginning. So we keep the data in local variables until we put them into the kvm_io_bus framework. Then we fill kvm_exit_mmio in the VGIC only, making it a VGIC private structure. On that way we replace the data buffer in that structure with a pointer pointing to a single location in a local variable, so we get rid of some copying on the way. With all of the virtual GIC emulation code now being registered with the kvm_io_bus, we can remove all of the old MMIO handling code and its dispatching functionality. I didn't bother to rename kvm_exit_mmio (to vgic_mmio or something), because that touches a lot of code lines without any good reason. This is based on an original patch by Nikolay. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Cc: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit fb8f61abab48467ef670ef165ff664cdc94f742e Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:37 2015 +0000 KVM: arm/arm64: prepare GICv3 emulation to use kvm_io_bus MMIO handling Using the framework provided by the recent vgic.c changes, we register a kvm_io_bus device on mapping the virtual GICv3 resources. The distributor mapping is pretty straight forward, but the redistributors need some more love, since they need to be tagged with the respective redistributor (read: VCPU) they are connected with. We use the kvm_io_bus framework to register one devices per VCPU. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 0ba10d53920d030cd7772a9553b13b5ea1aa4115 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:36 2015 +0000 KVM: arm/arm64: merge GICv3 RD_base and SGI_base register frames Currently we handle the redistributor registers in two separate MMIO regions, one for the overall behaviour and SPIs and one for the SGIs/PPIs. That latter forces the creation of _two_ KVM I/O bus devices for each redistributor. Since the spec mandates those two pages to be contigious, we could as well merge them and save the churn with the second KVM I/O bus device. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 1696d1deb05710f246f62e810034fb5d8d7713bd Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Mar 27 06:03:41 2015 -0700 hwmon: (it87) Fix pwm sysfs attribute removal Detection if a pwm channel is supported was wrong on removal, causing the code to try removing non-existing sysfs attributes. That didn't matter much because sysfs attribute removal of non-existing files fails silently, and because the wrong evaluation always returned false, but should nevertheless be fixed. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit bc917be8105993c256338ad1189650364a741483 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 17:45:43 2015 -0400 saner iov_iter initialization primitives iovec-backed iov_iter instances are assumed to satisfy several properties: * no more than UIO_MAXIOV elements in iovec array * total size of all ranges is no more than MAX_RW_COUNT * all ranges pass access_ok(). The problem is, invariants of data structures should be established in the primitives creating those data structures, not in the code using those primitives. And iov_iter_init() violates that principle. For a while we managed to get away with that, but once the use of iov_iter started to spread, it didn't take long for shit to hit the fan - missed check in sys_sendto() had introduced a roothole. We _do_ have primitives for importing and validating iovecs (both native and compat ones) and those primitives are almost always followed by shoving the resulting iovec into iov_iter. Life would be considerably simpler (and safer) if we combined those primitives with initializing iov_iter. That gives us two new primitives - import_iovec() and compat_import_iovec(). Calling conventions: iovec = iov_array; err = import_iovec(direction, uvec, nr_segs, ARRAY_SIZE(iov_array), &iovec, &iter); imports user vector into kernel space (into iov_array if it fits, allocated if it doesn't fit or if iovec was NULL), validates it and sets iter up to refer to it. On success 0 is returned and allocated kernel copy (or NULL if the array had fit into caller-supplied one) is returned via iovec. On failure all allocations are undone and -E... is returned. If the total size of ranges exceeds MAX_RW_COUNT, the excess is silently truncated. compat_import_iovec() expects uvec to be a pointer to user array of compat_iovec; otherwise it's identical to import_iovec(). Finally, import_single_range() sets iov_iter backed by single-element iovec covering a user-supplied range - err = import_single_range(direction, address, size, iovec, &iter); does validation and sets iter up. Again, size in excess of MAX_RW_COUNT gets silently truncated. Next commits will be switching the things up to use of those and reducing the amount of iov_iter_init() instances. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c76cbbcf404475f8885b2252049dac99b0614868 Author: Wei Fang <fangwei1@xxxxxxxxxx> Date: Mon Mar 30 09:07:00 2015 -0600 blk-mq: put blk_queue_rq_timeout together in blk_mq_init_queue() Don't assign ->rq_timeout twice. Signed-off-by: Wei Fang <fangwei1@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f9018ac9308ea415e659cfbdda040504ef92597b Author: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Date: Mon Mar 30 13:19:14 2015 +0800 block: remove redundant check about 'set->nr_hw_queues' in blk_mq_alloc_tag_set() At the beginning of blk_mq_alloc_tag_set(), we have already checked whether 'set->nr_hw_queues' is zero, so here remove this redundant check. Signed-off-by: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ee73c61c0af590ff2c03fb83e68a5664bd8b38d0 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 11:02:10 2015 +0000 drm/i915: Skip allocating shadow batch for 0-length batches Since commit 17cabf571e50677d980e9ab2a43c5f11213003ae Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 11:20:57 2015 +0000 drm/i915: Trim the command parser allocations we may then try to allocate a zero-sized object and attempt to extract its pages. Understandably this fails. Note that the real offender seems to be commit b9ffd80ed659c559152c042e74741f4f60cac691 Author: Brad Volkin <bradley.d.volkin@xxxxxxxxx> Date: Thu Dec 11 12:13:10 2014 -0800 drm/i915: Use batch length instead of object size in command parser Testcase: igt/gem_exec_nop #ivb,byt,hsw Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [cherry picked from commit 743e78c1d726d875b98ff9689cc77c4d3d5d9ae2 from drm-intel-next because 4.0 seems to be affected by this too, despite that the obvious culprit is definitely not in 4.0. Whatever, if fixes a bug. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 2f729b10bb74f97797beb310113f6182f262d36a Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Date: Sun Mar 29 01:27:17 2015 +0300 KVM: remove useless check of "ret" variable prior to returning the same value A trivial code cleanup. This `if` is redundant. Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Message-Id: <20150328222717.GA6508@gnote> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a0211bb482c346820506c546a6a58b8357999a99 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Mar 30 14:05:43 2015 +0300 drm/atomic: Don't try to free a NULL state Consistently with other free functions, handle the NULL case without oopsing. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b32a99180027ec980af971d548781eac1f6bb9b5 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Sun Mar 29 16:33:04 2015 +0300 KVM: x86: Remove redundant definitions Some constants are redfined in emulate.c. Avoid it. s/SELECTOR_RPL_MASK/SEGMENT_RPL_MASK s/SELECTOR_TI_MASK/SEGMENT_TI_MASK No functional change. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427635984-8113-3-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0efb04406de834d820f7ba150a00d1d3194aa8a6 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Sun Mar 29 16:33:03 2015 +0300 KVM: x86: removing redundant eflags bits definitions The eflags are redefined (using other defines) in emulate.c. Use the definition from processor-flags.h as some mess already started. No functional change. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427635984-8113-2-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 900efe200e317649aecbeaa55619a4fc3adb2251 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Mon Mar 30 15:39:21 2015 +0300 KVM: x86: BSF and BSR emulation change register unnecassarily If the source of BSF and BSR is zero, the destination register should not change. That is how real hardware behaves. If we set the destination even with the same value that we had before, we may clear bits [63:32] unnecassarily. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427719163-5429-4-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6fd8e1275709a5bb084847eda6730b983538a572 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Mon Mar 30 15:39:20 2015 +0300 KVM: x86: POPA emulation may not clear bits [63:32] POPA should assign the values to the registers as usual registers are assigned. In other words, 32-bits register assignments should clear bits [63:32] of the register. Split the code of register assignments that will be used by future changes as well. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427719163-5429-3-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b91aa14d95bf4cf8ed0426bd25c0af1548519696 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Mon Mar 30 15:39:19 2015 +0300 KVM: x86: CMOV emulation on legacy mode is wrong On legacy mode CMOV emulation should still clear bits [63:32] even if the assignment is not done. The previous fix 140bad89fd ("KVM: x86: emulation of dword cmov on long-mode should clear [63:32]") was incomplete. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427719163-5429-2-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2dccb4cdbf8fd4cb1d779a6f7ddd66d193bb5805 Author: Petr Matousek <pmatouse@xxxxxxxxxx> Date: Wed Mar 11 12:16:09 2015 +0100 kvm: x86: i8259: return initialized data on invalid-size read If data is read from PIC with invalid access size, the return data stays uninitialized even though success is returned. Fix this by always initializing the data. Signed-off-by: Petr Matousek <pmatouse@xxxxxxxxxx> Reported-by: Nadav Amit <nadav.amit@xxxxxxxxx> Message-Id: <20150311111609.GG8544@xxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6e0aa8018f9c676b115b7ca6c20a056fc57c68a9 Merge: 1ff27a3 e42391c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Mar 30 16:37:08 2015 +0200 Merge tag 'v4.0-rc6' into drm-intel-next Backmerge Linux 4.0-rc6 because conflicts are (again) getting out of hand. To make sure we don't lose any bugfixes from the 4.0-rc5-rc6 flurry of patches we've applied them all to -next too. Conflicts: drivers/gpu/drm/i915/intel_display.c Always take the version from -next, we've already handled all conflicts with explicit cherrypicking. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 65844bb0a7861eefa3ce44cd788163ecc4e14f2d Merge: b3a2a90 d952bd0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Mar 30 16:37:06 2015 +0200 Merge tag 'kvm_mips_20150327' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/kvm-mips into kvm-next MIPS KVM Guest FPU & SIMD (MSA) Support Add guest FPU and MIPS SIMD Architecture (MSA) support to MIPS KVM, by enabling the host FPU/MSA while in guest mode. This adds two new KVM capabilities, KVM_CAP_MIPS_FPU & KVM_CAP_MIPS_MSA, and supports the 3 FP register modes (FR=0, FR=1, FRE=1), and 128-bit MSA vector registers, with lazy FPU/MSA context save and restore. Some required MIPS FP/MSA fixes are merged in from a branch in the MIPS tree first. commit 7b4ddfa7c9523a19fca30830f8b426964d359da2 Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Tue Mar 24 09:37:53 2015 -0500 gfs2: incorrect check for debugfs returns debugfs_create_dir and debugfs_create_file may return -ENODEV when debugfs is not configured, so the return value should be checked against ERROR_VALUE as well, otherwise the later dereference of the dentry pointer would crash the kernel. Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 6ab2b762befd192b90704c5c7898f5abf8ebb387 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Mar 28 11:30:30 2015 +0100 perf build: Disable libbabeltrace check by default Disabling libbabeltrace check by default and replacing the NO_LIBBABELTRACE make variable with LIBBABELTRACE. Users wanting the libbabeltrace feature need to build via: $ make LIBBABELTRACE=1 The reason for this is that the libababeltrace interface we use (version 1.3) hasn't been packaged/released yet, thus the failing feature check only slows down build and confuses other (non CTF) developers. Requested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150328103030.GA8431@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2c44be81f0fc147eed9dc63e2601318b2c007aeb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Mar 30 15:09:20 2015 +0200 mac80211: set QoS capability before changing station state In the upcoming fast-xmit patch, changing station state will build a header cache based on the station's capabilities, and as the QoS capability (sta.wme) impacts the header, it needs to be set before. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8e047c120fb2ccb7b7aba8f5e9224e463f86bebc Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Mar 30 13:06:57 2015 +0100 ARM: dts: hummingboard: add sgtl5000 support for Hummingboard Pro Add the DT description for the SGTL5000 found on the Hummingboard Pro model. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit ba867bc60a44cb8519b7d674c8ab37d139da6910 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Mar 30 16:12:55 2015 +0800 mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias This is a I2C driver, so it's wrong to use platform prefix for the modalias. We have all needed i2c aliases coming form MODULE_DEVICE_TABLE, so let's remove the wrong and unneeded "platform:twl6040" modalias. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1a327ffd3d6a79ed85d53b683c185196060ac3b3 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Mar 30 11:11:49 2015 +0200 s390/syscalls: simplify syscall_get_arch() Given that sizeof(long) is now always 8, we can simplify syscall_get_arch() a bit. Just another piece I didn't find when removing 31 bit support. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5c5506bdaf9a2ce79855eb4fd535b6399dcbfed4 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Sun Mar 29 22:00:35 2015 +0200 ARM: dts: imx25-pinfunc: Add several pinfunctions This patch adds some not yet defined pinfunctions. It also adds two comments about mistakes in the i.MX25 reference manual so it is easier to spot the difference between reference manual and pinfunction definitions. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 53f643d23b6025fc4ddfbb0370d56aa8745bd85c Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Mar 30 12:10:39 2015 +0800 ARM: dts: vf610: fix missing irqs While adding the MSCM interrupt router, all interrupts have been moved to vfxxx.dtsi again. However, some properties got lost. Readd the missing interrupt properties. Fixes: 97e6466ab9d0 ("ARM: dts: vf610: add Miscellaneous System Control Module (MSCM)") Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 3274af07c924fbb682bd4a8eb25bcf41f899d50a Author: George Joseph <george.joseph@xxxxxxxxxxxxx> Date: Tue Mar 24 10:31:35 2015 -0600 ARM: dts: cubox: Map gpio-keys to gpio3 8 The Cubox has a recessed button between the HDMI and RJ-45 connectors that wasn't mapped in the device tree, so I've mapped it to gpio-keys BTN_0. Signed-off-by: George Joseph <george.joseph@xxxxxxxxxxxxx> Tested-by: George Joseph <george.joseph@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 85fc20b2ad9937fccbff3b47841f33d47e5e62c8 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Mar 16 10:47:25 2015 +0100 ARM: DTS: Add watchdog to mt6589 This patch adds the watchdog to the device tree of Mediatek mt6589 SoC. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 475bfd3d67fa8f7e9cbc08a943b5e8cb6f70044d Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Mar 30 11:29:35 2015 +0100 arm64: defconfig: updates for 4.1 Enable a few useful options in our defconfig: - New platform support (exynos7, seattle, tegra132) - SKY2 (ethernet in newer revisions of Juno) - Xgene reboot support - Virtio-pci for kvmtool and qemu - EFIVAR_FS (previously selected as a module) - NFSv4 Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 979275897e5c52945ae10adba98453cf9e2715d2 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Mar 17 11:14:33 2015 +0100 dt-bindings: ARM: Mediatek: document binding for the PMIC wrapper This adds documentation for the PMIC wrapper unit found on Mediatek SoCs. Currently support are the MT8135 and MT8173 SoCs, but the PMIC wrapper can also be found on MT6xxx and possibly other SoCs. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 1f022d84bd193ec88b01c6d2cb5b6647cb20a02f Author: Flora Fu <flora.fu@xxxxxxxxxxxx> Date: Tue Mar 17 11:14:34 2015 +0100 soc: mediatek: Add PMIC wrapper for MT8135 and MT8173 SoCs This adds support for the PMIC wrapper found on MediaTek MT8135 and MT8173 SoCs. The PMIC wrapper is found on MT6xxx SoCs aswell but these are currently not supported. On MediaTek MT8135, MT8173 and other SoCs the PMIC is connected via SPI. The SPI master interface is not directly visible to the CPU, but only through the PMIC wrapper inside the SoC. The communication between the SoC and the PMIC can optionally be encrypted. Also a non standard Dual IO SPI mode can be used to increase speed. The MT8135 also supports a special feature named "IP Pairing". With IP Pairing the pins of some SoC internal peripherals can be on the PMIC. The signals of these pins are routed over the SPI bus using the pwrap bridge. Because of these optional non SPI conform features the PMIC driver is not implemented as a SPI bus master driver. Signed-off-by: Flora Fu, MediaTek Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 359b706473b47da3c93bd99fd10d798fe411ab67 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 13:09:23 2015 +0000 arm64: Extract feature parsing code from cpu_errata.c As we detect more architectural features at runtime, it makes sense to reuse the existing framework whilst avoiding to call a feature an erratum... This patch extract the core capability parsing, moves it into a new file (cpufeature.c), and let the CPU errata detection code use it. Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fef7f2b2010381c795ae43743ad31931cc58f5ad Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 13:09:22 2015 +0000 arm64: alternative: Allow immediate branch as alternative instruction Since all immediate branches are PC-relative on Aarch64, these instructions cannot be used as an alternative with the simplistic approach we currently have (the immediate has been computed from the .altinstr_replacement section, and end-up being completely off if we insert it directly). This patch handles the b and bl instructions in a different way, using the insn framework to recompute the immediate, and generate the right displacement. Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0978fb25f86b7595821cee6955679250d47c6438 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 13:09:21 2015 +0000 arm64: insn: Add aarch64_insn_decode_immediate Patching an instruction sometimes requires extracting the immediate field from this instruction. To facilitate this, and avoid potential duplication of code, add aarch64_insn_decode_immediate as the reciprocal to aarch64_insn_encode_immediate. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 03650bd2010b117c5c16a75278b0d01def8e9376 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Mar 12 15:48:09 2015 +0100 ARM: tegra: Add EMC timings to Nyan Blaze device tree This adds a new file, tegra124-nyan-blaze-emc.dtsi that contains valid timings for the EMC memory clock. The file is included to the main device tree file for the Nyan Blaze. The frequency 528MHz is missing because we don't currently have a timing configuration that works. Additionally, only the timings for the ram-code 1 is present as that's what could be tested currently, though downstream has timings for more ram-codes. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3182c7c6c7244c0ecfc47dad35acfd5f67203a25 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Mar 12 15:48:08 2015 +0100 ARM: tegra: Add EMC timings to Nyan Big device tree This adds a new file, tegra124-nyan-big-emc.dtsi that contains valid timings for the EMC memory clock. The file is included to the main device tree file for the Nyan Big. The frequency 528MHz is missing because we don't currently have a timing configuration that works. Additionally, only the timings for the ram-code 1 is present as that's what could be tested currently, though downstream has timings for more ram-codes. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 6e72cf002708ea636555beacda455cca4a5548d4 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Thu Mar 12 15:48:01 2015 +0100 ARM: tegra: Add EMC timings to Jetson TK1 device tree This adds a new file, tegra124-jetson-tk1-emc.dtsi that contains valid timings for the EMC memory clock. The file is included to the main Jetson TK1 device tree. The data is generated from the V5.0.17 version of the DVFS tables. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b273c8873757a9f990d5aa62af7eeea168bc20c6 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Thu Mar 12 15:48:00 2015 +0100 ARM: tegra: Add EMC to Tegra124 device tree This adds a node for the EMC memory controller. It is always enabled, but only provides read-only functionality without board-specific timing tables. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c5f8e8ca09e5700cb643ffa78d311f43a16e6432 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:18 2015 +0100 ARM: tegra: Add Tegra124 ACTMON support Add device node for the ACTMON block to the Tegra124 device tree. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 552644687838089766457612f6dcf1c897ea09a8 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:11 2015 +0100 of: Add binding for NVIDIA Tegra ACTMON node This block gathers statistics about various counters and can be configured to fire interrupts when thresholds are crossed. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> [treding@xxxxxxxxxx: rename document, minor cleanups] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8a5c0bde54ca0354ae8b7e9d37d17bc514aa6c42 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Mar 30 10:41:19 2015 +0300 drm/atomic: Clear crtcs, connectors and planes when clearing state Users of the atomic state assume that if the pointer to a crtc, plane or connector is not NULL in the respective object vector, than the state for that object in *_states vector also won't be NULL. That assumption was broken by drm_atomic_state_clear(), which would clear the state pointer but leave the pointer to the object still set. This fixes a NULL pointer dereference in i915 caused by the use of drm_atomic_state_clear(). Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dc716bbf1d487503110139b019c3e6e526bf7cc8 Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Tue Mar 17 12:47:24 2015 +0200 mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's Some of the PMIC's could have specific regmap configuration tables in future, so add specific compatible strings for known PMIC's. Also print runtime detected chip revision information. Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c31e858b1ae5a7d0b0beb37f66b1f0e1effa0c6e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Mar 24 11:21:17 2015 +0100 mfd: axp20x: Fix duplicate const for model names Replace duplicated const keyword for 'axp20x_model_names' with proper array of const pointers to const strings. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit dfe514b67a05edc14a7aa0579d1ab2378fa9e4c5 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 22:45:37 2015 +0200 mfd: menelaus: Use macro for magic number Use macro to check a register bit. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1ea8684e1e0d7453f65a1ed69c2d0b890bfb9e33 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 22:45:36 2015 +0200 mfd: menelaus: Drop support for SW controller VCORE Drop support for SW controlled VCORE, nobody uses it. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5cdc7f02162aa8b980bd5d89e86fd94de0285ca3 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 22:45:35 2015 +0200 mfd: menelaus: Delete omap_has_menelaus Delete unused macro. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6e00ff079354ee72fe95cb61a3993962074a2592 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 12:45:42 2015 +0100 mfd: arizona: Correct type of gpio_defaults gpio_defaults needs to be specified as an unsigned int rather than an int, because the intention of the DT binding is that all out of range values for a 16-bit register will cause the defaults to be used, however, if gpio_defaults is an int then values that are larger than INT_MAX will become negative numbers and be written out directly to the hardware. As no where in the code replies on gpio_defaults being an int, the simplest fix is to just change it to unsigned. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit aec9038ec9c60a6ffbf2617859201befa87746d6 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 27 20:06:01 2015 +0200 mfd: lpc_ich: Sort IDs This patch just sorts IDs in the table for better maintenance. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 78c059c65a8d6f4d06803295a776d70fe0fab521 Author: Å?ukasz Stelmach <stlman@xxxxxxxxx> Date: Fri Mar 27 21:39:59 2015 +0100 mfd: Fix a typo in Kconfig Signed-off-by: Å?ukasz Stelmach <stlman@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 070e176a758e5c96f112d6fc6c348fe4daef99a5 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Mon Mar 30 11:16:23 2015 +0300 mac80211: send HT/VHT IEs in TDLS discovery response These are mandated by IEEE802.11-2012 section 8.5.8.6 and IEEE802.11ac-2013 section 8.5.8.16. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit abcff6ef01f9ffa6958e50457574132f8f786308 Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Fri Mar 20 06:37:01 2015 +0100 mac80211: add VHT support for IBSS Add VHT support for IBSS. Drivers could activate this feature by setting NL80211_EXT_FEATURE_VHT_IBSS flag. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 76bed0f43b27d37cbe5fe9f3c27362db59451dea Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Fri Mar 20 06:37:00 2015 +0100 mac80211: IBSS fix scan request In case of wide bandwidth (wider than 20MHz) used by IBSS, scan all channels in chandef to be able to find neighboring IBSS netwqworks that use the same overall channels but a different control channel. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 97ffe75791b3e9c0797d5891070e41321c3beccb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sat Mar 21 09:13:45 2015 +0100 mac80211: factor out station lookup from ieee80211_build_hdr() In order to look up the RA station earlier to implement a TX fastpath, factor out the lookup from ieee80211_build_hdr(). To always have a valid station pointer, also move some of the checks into the new function. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 527871d7206dac2733d0bae52f5a328811d299ee Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sat Mar 21 08:09:55 2015 +0100 mac80211: make sta.wme indicate whether QoS is used Indicating just the peer's capability is fairly pointless if the local device doesn't support it. Make the variable track both combined, and remove the 'local support' check in the TX path. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a73f8e21f3f93159bc19e154e8f50891c22c11db Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sat Mar 21 07:41:04 2015 +0100 mac80211: send AP probe as unicast again Louis reported that a static checker was complaining that the 'dst' variable was set (multiple times) but not used. This is due to a previous commit having removed the usage (apparently erroneously), so add it back. Fixes: a344d6778a98 ("mac80211: allow drivers to support NL80211_SCAN_FLAG_RANDOM_ADDR") Reported-by: Louis Langholtz <lou_langholtz@xxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ffbae6b719227662f3baca349d1e17ac7e652ec4 Author: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Date: Mon Mar 2 20:03:59 2015 +0000 ARM: dts: hummingboard: Setup pwm lines Setup pwm lines as follows - pwm1: In case HummingBoard base carrier; this pin drives through a serial capacitor the mono out of the audio jack. In case HummingBoard pro the this pad can be reached by wiring to C8 capacitors on the board. pwm2: Setup pwm2 on gpio-1 but leave the default function of the iopad as a gpio. The user can change the io pad mux in user space and therefore use this function on gpio-1 (pin number 7 on the 26 pin header). pwm3,pwm4: unused Signed-off-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> [tweaked alias for pwm pinctrl group --rmk] Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit a931bbbc64f671340f98dfd3f74f3a2901a60cfc Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Mar 2 20:03:54 2015 +0000 ARM: dts: hummingboard: enable PCF8523 RTC support Enable the commented out PCF8523 RTC support for Hummingboard pro base boards. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 42919c5c1487dcd7e886da7c3818e28b1455b00a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Mar 2 20:00:50 2015 +0000 ARM: dts: Re-license SolidRun iMX6 platform DT GPL v2/X11 Update SolidRun iMX6 platforms DT descriptions to be dual-licensed. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Acked-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 8f0b07a4285c03ee8aed286ff32bcbd7f9b47c42 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Mar 19 10:55:47 2015 +0100 ARM: dts: imx28: add alternative pinmuxing for spi3 Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 6f9dbfda4893e2203b40e9d1d25de1e0902de92b Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Mar 14 12:47:48 2015 -0300 ARM: dts: imx6sx: Add label snvs_rtc It may be useful to disable the internal snvs-rtc when an external rtc is available. This patch adds a label so that dts files can disable it. Based on a patch from Markus Pargmann for imx6qdl.dtsi. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 8716186f5c3c0d647fbac8d216fc86263e1c6cdb Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Mar 14 12:47:47 2015 -0300 ARM: dts: imx6sl: Add label snvs_rtc It may be useful to disable the internal snvs-rtc when an external rtc is available. This patch adds a label so that dts files can disable it. Based on a patch from Markus Pargmann for imx6qdl.dtsi. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 14517564795a5cd22e2da3119037f9883383fae9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 13 16:05:37 2015 +0000 ARM: imx6: Warn when an old DT is detected Now that the GPC has been converted to be a full blown irqchip (and not a mole on the side of the GIC), booting a new kernel with an old DT is likely to result in a rough ride for the user. This patch makes sure such a situation is promptly detected and the user made aware that a DT update is in order. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit e33b67523f556aa7ddb09f1c7fa4de5c080670c9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Mar 12 08:40:37 2015 +0000 ARM: imx6: Allow GPC interrupts affinity to be changed While converting the GPC code to a stacked irqchip, we lost the possibility to change the CPU affinity of an interrupt routed through the GPC. This patch restore the expected behaviour by forwarding the affinity setup to the underlying irqchip (GIC). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 4e18a2243a8783010cc2c3c1c454e2eb279c0486 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 13 14:21:42 2015 +0800 ARM: imx6qdl-sabreauto.dtsi: add max7310 support max7310 is an i2c interface gpio expander Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 159097f86d6fa90bbd5dc954c1beeb7b800af92f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Mar 12 19:07:12 2015 -0300 ARM: dts: imx6sl-warp: Add BCM4330 support Warp has a Murata chip based on a BCM4330 that provides Wifi and Bluetooth functionality. Add support for it. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit e9b16e9cae90e9e588f2a35df54b50439dd8fed8 Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Wed Mar 11 16:06:01 2015 +0100 ARM: dts: imx28-apf28dev: add wakeup function to user button Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 816bd40186bfc7daad1ac66f73933a52669b8482 Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Wed Mar 11 16:06:00 2015 +0100 ARM: dts: imx28-apf28dev: fix user button polarity Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 6ada7bf59ba7e8c9af74bda44c49d37989922a35 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Mar 12 16:03:08 2015 +0100 ARM: dts: imx25-pinfunc: remove input values for pinfuncs without input register input values are only useful for pin functions which define a input register. This patch removes all input values of pin functions which do not have an input configuration register. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit c09d0f7ce05fb2d85edab12c99f0beb8f5c8f487 Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 1 23:41:29 2015 +0100 ARM: dts: vf610: add Miscellaneous System Control Module (MSCM) Add the Miscellaneous System Control Module (MSCM) to the base device tree for Vybrid SoC's. This module contains registers to get information of the individual and current (accessing) CPU. In a second block, there is an interrupt router, which handles the routing of the interrupts between the two CPU cores on VF6xx variants of the SoC. However, also on single core variants the interrupt router needs to be configured in order to receive interrupts on the CPU's interrupt controller. Almost all peripheral interrupts are routed through the router, hence the MSCM module is the default interrupt parent for this SoC. In a earlier commit the interrupt nodes were moved out of the peripheral nodes and specified in the CPU specific vf500.dtsi device tree. This allowed to use the base device tree vfxxx.dtsi also for a Cortex-M4 specific device tree, which uses different interrupt nodes due to the NVIC interrupt controller. However, since the interrupt parent for peripherals is the MSCM module independently which CPU the device tree is used for, we can move the interrupt nodes into the base device tree vfxxx.dtsi again. Depending on which CPU this base device tree will be used with, the correct parent interrupt controller has to be assigned to the MSCM-IR node (GIC or NVIC). The driver takes care of the parent interrupt controller specific needs (interrupt-cells). Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 649b1fe856ad577a5db1b613c9fb0167a10abd8c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Mar 9 23:33:22 2015 -0300 ARM: dts: imx6sl-warp: Pass 'bus-width' property USDHC2 port uses all the 8 data signals, so pass the 'bus-width' property accordingly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit e2675266b39b979d1d60b3671d5053af4a719be0 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Mar 9 17:40:36 2015 +0100 ARM: dts: imx6qdl: disable PWMs by default Since PWMs are only useful if they are actually connected to an output pin, let users enable them explicitly in their device trees where they should also set up the pin configuration. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 7cdbec1f5d30fca90a73099505ea833ad3b6d027 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Mar 9 17:40:35 2015 +0100 ARM: dts: hummingboard/cubox-i: enable front LED PWM explicitly All PWM users should explicitly enable the used PWMs in their device tree so they can be disabled by default in imx6qdl.dtsi. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 22c765b9210f13aa8b6857a226b6600b68b54e2e Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Mar 9 17:40:34 2015 +0100 ARM: dts: imx6dl-aristainetos: enable backlight PWM explicitly All PWM users should explicitly enable the used PWMs in their device tree so they can be disabled by default in imx6qdl.dtsi. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 40130d327f7206c76838cf8efd180d960e4ce454 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 23 18:40:15 2015 +0100 ARM: dts: imx6qdl: Allow disabling the PU regulator, add a enable ramp delay The PU regulator is enabled during boot, but not necessarily always-on. It can be disabled by the generic pm domain framework when the PU power domain is shut down. The ramp delay of 150 us might be a bit conservative, the value is taken from the Freescale kernel. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 016dbd7ad54cc6cdf05df5df5d98fbef09d82ebd Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 23 18:40:14 2015 +0100 ARM: dts: imx6sl: Add power-domain information to gpc node The PGC that is part of GPC controls isolation and power sequencing of the power domains. The PU power domain will be handled by the generic pm domain framework. It needs a phandle to the PU regulator to turn off power when the domain is disabled and a list of clocks to be enabled during powerup for reset propagation. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 729c88812fa0fdb5188b23b6da425619741faf6d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 23 18:40:13 2015 +0100 ARM: dts: imx6qdl: Add power-domain information to gpc node The PGC that is part of GPC controls isolation and power sequencing of the power domains. The PU power domain will be handled by the generic pm domain framework. It needs a phandle to the PU regulator to turn off power when the domain is disabled, and a list of phandles to all clocks that must be enabled during powerup for reset propagation. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 3ec481ed05a5d4b567d5063483a0fdca5b81a6ae Author: Matt Porter <mporter@xxxxxxxxxxxx> Date: Fri Feb 27 09:06:00 2015 -0500 ARM: dts: imx: Add dr_mode host setting to all host-only usb instances The chipidea driver adds an extra line of spam to the log when a host-only chipidea instance is left set to the default of a dual role controller. [ 2.010873] ci_hdrc ci_hdrc.1: doesn't support gadget Set the dr_mode property to host on all the host-only nodes to avoid this warning. Signed-off-by: Matt Porter <mporter@xxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 27b0b9d8515f1315ba3ec848aa58cf936200fe07 Author: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Date: Tue Mar 3 00:41:45 2015 -0300 ARM: dts: warp: Add initial WaRP Board support The WaRP Board is a Wearable Reference Plaform. The board features: - Freescale i.MX6 SoloLite processor with 512MB of RAM - Freescale FXOS8700CQ 6-axis Xtrinsic sensor - Freescale Kinetis KL16 MCU - Freescale Xtrinsic MMA955xL intelligent motion sensing platform The board implements a hybrid architecture to address the evolving needs of the wearables market. The platform consists of a main board and an example daughtercard with the ability to add additional daughtercards for different usage models. For more information about the project, visit: http://www.warpboard.org/ Signed-off-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 7c8a0353799b2813a606b8862a6c43ed33df079a Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Mar 2 16:58:01 2015 +0100 ARM: dts: vf610: remove unused gpio-range-cells property The anyway depricated gpio-range-cells property was never used by the pin controller driver. This patch removes it. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit b923ff6af0d5a806a3996dac6d4393cd9792d0f4 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Feb 23 17:45:18 2015 +0000 ARM: imx6: convert GPC to stacked domains IMX6 has been (ab)using the gic_arch_extn to provide wakeup from suspend, and it makes a lot of sense to convert this code to use stacked domains instead. This patch does just this, updating the DT files to actually reflect what the HW provides. BIG FAT WARNING: because the DTs were so far lying by not exposing the fact that the GPC block is actually the first interrupt controller in the chain, kernels with this patch applied wont have any suspend-resume facility when booted with old DTs, and old kernels with updated DTs won't even boot. Tested-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 07862e13e60305e3026aaff88c764b4bafa02a64 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Mar 23 17:08:14 2015 +0300 mac80111: aes_gcm: clean up ieee80211_aes_gcm_key_setup_encrypt() This code is written using an anti-pattern called "success handling" which makes it hard to read, especially if you are used to normal kernel style. It should instead be written as a list of directives in a row with branches for error handling. (Basically copied from Dan's previous patch for CCM) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 45fd63293a214c48d6d3856bb39cf207a805dfda Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 17:08:14 2015 +0300 mac80111: aes_ccm: cleanup ieee80211_aes_key_setup_encrypt() This code is written using an anti-pattern called "success handling" which makes it hard to read, especially if you are used to normal kernel style. It should instead be written as a list of directives in a row with branches for error handling. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit fc26d5f29b0d056699e8921bcb1a0ec709122596 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Feb 21 16:27:18 2015 -0200 ARM: dts: imx25-pdk: Add LCD support Add support for the CLAA057VC01CW display. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 18e2b50407fb82bc7e35abd4affd2da623b6b653 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sat Feb 21 15:31:23 2015 +0100 ARM: dts: imx25-pinfunc: more defines Add some defines currently missing, fix ordering to make the list sorted by (mux_reg, mux_val), make sure pins are grouped by mux_reg. The same definitions are missing from the old pinmux header (arch/arm/mach-imx/iomux-mx25.h) but as only legacy machine support uses that and therefor the existing list is obviously good enough I didn't spend the effort to add the corresponding definitions there, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 54a6bcb82ec06ba656f64b0ce470b26f3cd050b0 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sat Feb 21 15:31:22 2015 +0100 ARM: imx25: fix some wrong iomux definitions Noticed while looking over the pad definitions. None of the bogus definitions is used in-tree. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit b1df649b4a765cf2e5fe7411081ed782cf27e550 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Feb 20 17:04:09 2015 +0100 ARM: dts: imx6qdl: Add label snvs_rtc It may be useful to disable the internal rtc snvs-rtc because an external rtc is available. This patch adds a label so that board files can disable this rtc. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit f1646e88ddf29d04527b9b3c649229083bdae3cd Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Fri Feb 13 15:12:05 2015 +0100 ARM: dts: imx28-apf28dev: add support for auart0 Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit d5ee087a664403c92f70a25e5d31e8d7d348241d Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Fri Feb 13 15:12:04 2015 +0100 ARM: dts: imx28-apf28dev: add support for can0 Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 9648bb4873e9dc73172584dd9bb07d63372d94a8 Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Fri Feb 13 15:12:03 2015 +0100 ARM: dts: imx28-apf28dev: fix mac1 gpio location and polarity Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 2fd05c97ac1fec9c69384a89afcdd0cddc462170 Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Fri Feb 13 15:12:02 2015 +0100 ARM: dts: imx28-apf28: fix mac0 gpio polarity Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 94d5f33c8e1bd527ceac54d6ea811666a0e563c0 Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Fri Feb 13 15:12:01 2015 +0100 ARM: dts: imx28-apf28dev: Add pinctrl for USB OTG ID pin Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 70c2652c6c5be75b897bc172f6dbdd3c491edc54 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:31 2015 +0800 ARM: dts: imx6qdl: Move existing MIPI DSI ports into a new 'ports' node The MIPI DSI node contains some ports which represent possible DRM CRTCs it can connect with. Each port has a 'reg' property embedded. This property will be wrongly interpretted by the MIPI DSI bus driver, because the driver will take each subnode which contains a 'reg' property as a DSI peripheral device. This patch moves the existing MIPI DSI ports into a new 'ports' node so that the MIPI DSI bus driver may distinguish its DSI peripheral device(s) from the existing ports. Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 54183bd7f7662930ec52ef6bbe20ed1a805262d7 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Feb 26 16:28:30 2015 +0800 ARM: imx6sx-sdb: add revb board and make it default Since imx6sx-sdb reva board is experimental and will not be used formally (eg, no software release based on it), we set revb board as the formal imx6sx-sdb board. The imx6sx-sdb uses pfuse200 as pmic which has only one power supply for both VDDARM_IN and VDDSOC_IN, so VDDARM_IN and VDDSOC_IN have to use the same (higher one in the same frequency) one as its power supply, that's the reason we override the OPP setting in board dts file. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 1bb733f64f2abdf5bf113244ace3e4083bac4f91 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Feb 26 16:28:29 2015 +0800 ARM: imx6sx-sdb: change default board as reva board The imx6sx sdb board has two revisions, the current mainline one is reva which is experimental and mainly for internal use. In this commit, we rename imx6sx-sdb.dts to imx6sx-sdb.dtsi, and move the reva dedicated contents to imx6sx-sdb-reva.dts. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 9fca015177f9c8ecf4a25805b69c046867e7d53e Author: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Date: Thu Jan 29 21:57:45 2015 +0530 ARM: vf-colibri: add SPI support and enable MCP2515 CAN MCP2515 CAN controller is available on Colibri Evaluation board. Hence enable MCP2515 CAN. Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 1b545c172ea70f3019c6c144ba7b77f80f927740 Author: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Date: Tue Jan 27 16:27:18 2015 +0530 ARM: vf610: add second DSPI instance Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 9374e7d2fdcad3c36dafc8d3effd554bc702c4b6 Author: Marek Vasut <marex@xxxxxxx> Date: Thu Mar 26 02:16:06 2015 +0100 rtlwifi: rtl8192cu: Add new device ID Add new ID for ASUS N10 WiFi dongle. Signed-off-by: Marek Vasut <marex@xxxxxxx> Tested-by: Marek Vasut <marex@xxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: John W. Linville <linville@xxxxxxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 82ca6ef686f0fcefe2c1ad4ab74d5caf41be03a9 Author: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> Date: Mon Mar 23 15:41:15 2015 +0200 mac80211: Fix misplaced return in AES-GMAC key setup Commit 8ade538bf39b ("mac80111: Add BIP-GMAC-128 and BIP-GMAC-256 ciphers") had the success return in incorrect place before the crypto_aead_setauthsize() call which practically ended up skipping that call unconditionally. The missing call did not actually change any functionality since GMAC_MIC_LEN (16) is identical to the maxauthsize in gcm(aes) and as such, the default value used for the authsize parameter. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2f92b314f4daff2117847ac5343c54d3d041bf78 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Mar 23 18:14:10 2015 -0500 rtlwifi: rtl8192cu: Add new USB ID USB ID 2001:330d is used for a D-Link DWA-131. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c5455f708b968dc462a292ba99da0d17100461d8 Merge: 40cb198 4a07317 Author: Shawn Guo <shawn.guo@xxxxxxxxxx> Date: Mon Mar 30 16:37:21 2015 +0800 Merge remote-tracking branch 'jcooper/irqchip/vybrid' into imx/dt commit 40cb1981b387f70ae750da57c2310539f4b813c7 Merge: dc98b0c ae4aee9 Author: Shawn Guo <shawn.guo@xxxxxxxxxx> Date: Mon Mar 30 16:37:04 2015 +0800 Merge branch 'imx/soc' into imx/dt commit 6bab2e19c5ffd1f21b28c2cabb3801a37b77ae69 Author: Tom Gundersen <teg@xxxxxxx> Date: Wed Mar 18 11:13:39 2015 +0100 cfg80211: pass name_assign_type to rdev_add_virtual_intf() This will expose in /sys whether the ifname of a device is set by userspace or generated by the kernel. The latter kind (wlanX, etc) is not deterministic, so userspace needs to rename these devices to names that are guaranteed to stay the same between reboots. The former, however should never be renamed, so userspace needs to be able to reliably tell the difference. Similar functionality was introduced for the rtnetlink core in commit 5517750f058e ("net: rtnetlink - make create_link take name_assign_type") Signed-off-by: Tom Gundersen <teg@xxxxxxx> Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Cc: Brett Rudley <brudley@xxxxxxxxxxxx> Cc: Arend van Spriel <arend@xxxxxxxxxxxx> Cc: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Cc: Hante Meuleman <meuleman@xxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> [reformat changelog to fit 72 cols] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4acaf048b1d27cb6e1b214d370ed993bb2aac664 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Mon Mar 23 19:50:56 2015 +0530 mwifiex: recover from skb allocation failures during RX This patch adds recovery mechanism for SDIO RX during SKB allocation failures. For allocation failures during multiport aggregation, we skip and drop RX packets. For single port read case, we will use preallocated card->mpa_rx.buf to complete cmd53 read. Now we terminate SDIO operations only upon cmd53 failures. CC: James Cameron <quozl@xxxxxxxxxx> Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5ff46f7923b87f6cc5d5d66df08c9b6379a0461e Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Mar 23 19:50:55 2015 +0530 mwifiex: stop command path in suspend handler Cancel all pending commands including scan commands and stop CAC during cfg80211 suspend handler. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6a8b4adb47aea322e376cd1be62781c50dc1a9b5 Author: Michael Braun <michael-dev@xxxxxxxxxxxxx> Date: Wed Mar 18 07:17:37 2015 +0100 mac80211: fix typo in debug output Signed-off-by: Michael Braun <michael-dev@xxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2d7defb07bbee286537457e5eab534bac01d126a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 12:35:51 2015 +0300 mwifiex: remove an unneede NULL check in mwifiex_init_adapter() "adapter->sleep_cfm" is always non-NULL at this point. Static checkers complain that we already dereference it at the start of the function when we do: skb_put(adapter->sleep_cfm, sizeof(struct mwifiex_opt_sleep_confirm)); Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8f9c77fc1e8d4dfc1e7dc631d193162c75feef2e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Mar 9 11:13:04 2015 +0100 mac80211: reject aggregation sessions with non-HT peers If a peer or some local agent (rate control, ...) decides to start an aggregation session but doesn't support HT (which also implies QoS), reject it. This is mostly a corner case as such peers normally won't try to use block-ack sessions and rate control wouldn't start them, but technically QoS stations could request it according to the spec. However, since drivers don't really support such non-HT sessions it's better to reject them. Also, while at it, move the tracing for TX sessions earlier so it captures the error cases as well. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2f5872b60146eadf74b8d349a3596f5aaf687401 Author: Maithili Hinge <maithili@xxxxxxxxxxx> Date: Sun Mar 22 23:01:25 2015 -0700 mwifiex: Fix issue in the SDIO reset path of mwifiex. SDIO reset was not happening properly on mwifiex as cancel_work_sync in mwifiex_sdio_remove used to kill the calling work function itself. Due to this, the interface was not getting removed and card was not getting added again. Reset work function has been made independent of adapter variable and cancel_work_sync has been moved to cleanup function. Signed-off-by: Maithili Hinge <maithili@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit eaa4059d56fdbeb1633c94e82d54849688d96777 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:30:03 2015 +0100 ath9k: use REG_RMW and rmw buffer in ath9k_hw_def_set_gain Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b1c1a26461a79a289e08d0c04bf8520e305bf05d Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:30:02 2015 +0100 ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_board_values replace REG_WRITE to REG_RMW and place every thing in one RMW buffer. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2dfc0247f0ff755296ab72ab3ddb8309fb35c660 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:30:01 2015 +0100 ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_gain it is possible to reduce time needed for this function by rplacing REG_WRITE with REG_RMW (plus dummy 0) and putt all commands in same buffer. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ad10e0d65030d39c218e96f7e5269b301913b477 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:30:00 2015 +0100 ath9k: ath9k_hw_4k_set_board_values: use rmw buffer it will reduce exution time from 14ms to 2ms on ar9271 Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2028523b6dcead43ddbbe4dc14f59f07b6238d34 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:59 2015 +0100 ath9k: ath9k_hw_analog_shift_rmw: use REG_RMW use REG_RMW in ath9k_hw_analog_shift_rmw. It will double execution speed on usb bus. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 18d6616f1bb14a29b14c6b0d4cde7fd527579b72 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:58 2015 +0100 ath9k: ath9k_hw_4k_set_board_values: use rmw buffer Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7b37e0d4db038d37bbb88a4c8ea2b828707cbd12 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:57 2015 +0100 ath9k: use rmw buffer in ath9k_hw_set_operating_mode and ath9k_hw_reset Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 10e03ef6b4669c56d5d6858d80866bfa9bb2dc57 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:56 2015 +0100 ath9k: ath9k_hw_set_4k_power_cal_tabl: use rmw buffer Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 3df5dd901d1a4eddcb386d6a5321ef8a61edf376 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:55 2015 +0100 ath9k: write buffer related optimisation in ar5008_hw_set_channel_regs Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9830ba6c9ad0165f4aa1025bcfc8e75d76083907 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:54 2015 +0100 ath9k: ath9k_hw_loadnf: use REG_RMW Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9c05babd933e1c4a811867c4d5aa170d788eeaf9 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:53 2015 +0100 ath9k: use one shot read in ath9k_hw_update_mibstats this will reduce some overhead on usb bus. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 03822782e8293db08f28507b85588656ff02f354 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:52 2015 +0100 ath9k: ar9271_hw_pa_cal: use REG_READ_ARRAY insted of reading each register separatly and waste 4ms on each operation, we can use one shot read. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a57cb45a0a051601e14f81436b62750cc4f478c3 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:51 2015 +0100 ath9k: add new function ath9k_hw_read_array REG_READ generate most overhead on usb bus. It send and read micro packages and reduce usb bandwidth. To reduce this overhead we should read in batches. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d55ce0a6f98305c75c4581d7a19be622bb95179a Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:50 2015 +0100 ath9k: add multi_read to be compatible with ath9k_htc Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 93442c85d23a1e86c693de4b00915168a4a99d92 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:49 2015 +0100 ath9k: ar9271_hw_pa_cal: use RMW buffer Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0202a553f59b7d0df4db56d0ce64c702afea64d0 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:48 2015 +0100 ath9k: ar9271_hw_pa_cal: use proper makroses. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8d1cbdef8a640536d0af1ee57930f671127329d5 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:47 2015 +0100 ath9k: ar9271_hw_pa_cal - use defs instead of magin numbers This function uses mixed styles for register names/numbers which is make harder reading and optimisation. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8badb50cfab6d433622dbfd5a90b6adf27333107 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:46 2015 +0100 ath9k_htc: add new WMI_REG_RMW_CMDID command Since usb bus add extra delay on each request, a command with read + write requests is too expensive. We can dramtically reduce usb load by moving this command to firmware. In my tests, this patch will reduce channel scan time for about 5-10 seconds. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e480e1344873b6a715d06a003e603d86a11a4033 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Fri Mar 20 19:31:33 2015 +0900 rtlwifi: Change REG_CR+2 to MSR I changed REG_CR+2 and (MSR) to MSR because MSR is defined as (REG_CR + 2). Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 01fbd4ecff4f8dc8ca9614778326cc159705623e Author: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Date: Thu Mar 19 15:32:49 2015 +0100 rt2800usb: check Autorun mode on FW load only once Seems H/W report correctly firmware Autorun value only at initialization stage. When we close interface and open it again, Autorun value is 0 and we try to load firmware what kills the device. To fix clear REQUIRE_FIRMWARE firmware flag, to do not load firmware again, once we discover Autorun mode. Reported-and-tested-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a38700dd486f3def34cef47d00e2d360a04a7bc8 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Mar 18 08:46:08 2015 +0200 cfg/mac80211: add regulatory classes IE during TDLS setup Seems Broadcom TDLS peers (Nexus 5, Xperia Z3) refuse to allow TDLS connection when channel-switching is supported but the regulatory classes IE is missing from the setup request. Add a chandef to reg-class translation function to cfg80211 and use it to add the required IE during setup. For now add only the current regulatory class as supported - it is enough to resolve the compatibility issue. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3a323d4e17dd5a84f6ad036e6f985d263ca973ed Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Mar 18 10:47:02 2015 +0200 nl80211: small clarification of the sched_scan delay attribute Just clarify that the delay is only before the first cycle. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7d830a198689bd33057923e0370147d43241c7f0 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Tue Mar 17 19:58:38 2015 +0200 mac80211: stop scan before connection Stop scan before authentication or association to make sure that nothing interferes with connection flow. Currently mac80211 defers RX auth and assoc packets (among other ones) until after the scan is complete, so auth during scan is likely to fail if scan took too much time. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 21fea567313641b6be69e0c684dc36c871ac848c Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Mar 17 16:36:01 2015 +0200 nl80211: add net-detect delay to wowlan info Pass the initial net-detect delay (NL80211_ATTR_SCHED_SCAN_DELAY) attribute in the WoWLAN info response. Additionally, remove a bogus TODO comment. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a90faa9d6449f3861428bafeaf4d1fcf2be4ba7f Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 16 23:23:37 2015 +0200 mac80211: notify the driver about deauth This can allow the driver to take action based on the reason of the deauth. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d0d1a12f9cc665f3fcac5288ab84429a91abd4e9 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 16 23:23:36 2015 +0200 mac80211: notify the driver about association status This can allow the driver to take action based on the success / failure of the association. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a9409093d23c822d13a73f8d2df7e6fa987ae485 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 16 23:23:35 2015 +0200 mac80211: notify the driver about authentication status This can allow the driver to take action based on the success / failure of the authentication. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a818292952bbfad12ec5a32ab01330cb1ceed013 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 16 23:23:34 2015 +0200 mac80211: convert rssi_callback() to event_callback() We will be able to add more events, such as MLME events and others. The low level driver may be interested in knowing about these events to dump firmware data upon failures, or to change parameters in case connection attempts fail etc... Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b24f670b7f5b2058b95370caa9f104b3cefb9f1d Author: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 12:22:30 2015 +1100 m68k/mac: Fix out-of-bounds array index in OSS IRQ source initialization Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 4b524f12188c20c64c602ff09ba26a5d39d16b1c Author: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Date: Wed Mar 18 13:35:09 2015 +0900 PM / devfreq: correct misleading comment _remove_devfreq() does not have @skip anymore after 3.16. The comment for _remove_devfreq() has been updated correspondingly. Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 6f240fbc474018872f6d9664a3bd350bd22cc8d9 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Mar 10 09:27:35 2015 +0900 PM / devfreq: event: Add const keyword for devfreq_event_ops structure This patch adds the const keyword for devfreq_event_ops structure because the ops of devfreq_event_desc structure should not be changed after initialization. Cc: Myungjoo Ham <myungjoo.ham@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 2c158887f1185e04b3763ae346da9f71fcbc4429 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Mar 12 19:28:31 2015 +0100 mac80211: agg-tx: avoid sending DelBA with sta->lock held The rate control locking caused a potential deadlock here due to the locks being acquired in different orders, so that change cannot yet be applied. However, there's no fundamental reason for this code to hold the sta->lock while transmitting frames. Clearly it's better not to hold the lock for longer periods of time, which can happen here since we call all the way down to the driver. Change the code a bit to not hold it while doing that. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4d54b0adfa67476e6509bc8646b9dbac642e8a29 Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Thu Mar 26 11:29:26 2015 -0700 mfd: qcom_rpm: Add support for IPQ8064 The IPQ8064 also includes an RPM following the same message structure as other chips. In addition, it supports a few new resource types to support the NSS fabric clocks and the SMB208/SMB209 regulators found on the reference boards. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 30bc3aa5c4ed3072bdff7d915772df1b91307ed4 Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Thu Mar 26 11:29:25 2015 -0700 mfd: devicetree: qcom_rpm: Document IPQ8064 resources The IPQ8064 SoC has several RPM-controlled resources, an NSS fabrick clock and four regulator resources. Provide definitions for them. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Drop regulator part of binding] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a77c50b44cfb663ad03faba9800fec19bdf83577 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Wed Mar 25 12:07:05 2015 +0100 mfd: core: Fix platform-device name collisions Since commit 6e3f62f0793e ("mfd: core: Fix platform-device id generation") we honour PLATFORM_DEVID_AUTO and PLATFORM_DEVID_NONE when registering mfd-devices. Unfortunately, some mfd-drivers rely on the old behaviour of generating platform-device ids by adding the cell id also to the special value of PLATFORM_DEVID_NONE. The resulting platform ids are not only used to generate device-unique names, but are also used instead of the cell id to identify cells when probing subdevices. These drivers should be updated to use PLATFORM_DEVID_AUTO, which would also allow more than one device to be registered without resorting to hacks (see for example wm831x), but lets fix the regression first by partially reverting the above mentioned commit with respect to PLATFORM_DEVID_NONE. Fixes: 6e3f62f0793e ("mfd: core: Fix platform-device id generation") Cc: stable <stable@xxxxxxxxxxxxxxx> # v3.19 Reported-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bafc1face21f34005d34b72010ad6d7235bd448e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Mar 25 20:03:55 2015 +0200 mfd: intel_quark_i2c_gpio: Don't crash if !DMI dmi_get_system_info() may return NULL either when CONFIG_DMI is not set or when board has an old firmware. The patch prevents a crash and changes the default frequency to be in align with older board. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> [Lee: Removed overt "sentinel" comment and extra lines] Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0787ded88e620c81ee2e42cee56cbb5cc26077de Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Fri Feb 20 19:19:28 2015 +0800 dt-bindings: Add vendor-prefix for X-Powers Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit cf1d54394dd5ee04ca4a88283deaaade37d12882 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Fri Feb 20 19:19:27 2015 +0800 mfd: AXP20x: Add bindings documentation Bindings documentation for the AXP20x driver. In this file also sub-nodes are documented. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> [wens@xxxxxxxx: clarify interrupt source for the axp PMIC] [wens@xxxxxxxx: explain dcdc-workmode in detail and trim lines to 80 chars] [wens@xxxxxxxx: make regulator supplies optional if using unregulated input] [wens@xxxxxxxx: use cubieboard2 regulator nodes as example] [wens@xxxxxxxx: x-powers,dcdc-workmode default changed to 'current hardware setting'] [wens@xxxxxxxx: reorganized regulator related properties into separate section.] Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 69628cd0652a091591ef44ac07c150063b789c4a Merge: 6ae4ccf a71aaf6 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Mon Mar 30 09:39:12 2015 +0300 Merge tag 'iwlwifi-for-kalle-2015-03-30' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes * fix a memory leak: we leaked memory each time the module was loaded. commit 90cb12372bf2779406bd0378195d8b5357a06dc3 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Sun Mar 29 11:39:34 2015 +0300 iwlwifi: mvm: rs: fix comment indentation Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 963221bea4b46b175d51329c63dd6f16601d411b Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Thu Mar 26 11:07:35 2015 +0200 iwlwifi: mvm: Clean up UMAC scan UIDs in the reset and drv_stop flows In the reset flow, the driver cancels ongoing scan and sends scan complete notification to mac80211. However it does not clean its UID. Add cleaning scan UID for the ongoing scan. Loop over all other UIDs to make sure there's nothing left there and warn if any is found. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d383c7409171452aaa6569f1451f9975d44f3d76 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Tue Mar 24 10:59:46 2015 +0200 iwlwifi: 8000: change PNVM in case it doesn't match to the HW step There is a strong relationship between the NVM version and the hardware step. Enforce that in the driver in case the default NVM on the platform is the wrong one. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1e16707166caf7499e9e3decc403267d346a5fb7 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Thu Mar 19 13:01:07 2015 +0200 iwlwifi: mvm: fix debug print in the RSA ownership workaround The semaphore may not be accessible. Fix the debug prints accordingly. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5d42e7b2a39d015180af44f8e56b0c2fc46874e1 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Mar 19 20:04:51 2015 +0200 iwlwifi: mvm: allow to configure the timeout for the Tx queues Sometimes we will want to configure the timeouts for the Tx queues based on the vif type. Allow to do that using the trigger mechanism. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4b6fe3edcbbaa3d0e5513adcb9577c7e184ad1b5 Author: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Date: Thu Oct 23 12:14:13 2014 +0900 spi: Using Trigger number to transmit/receive data In order to transmit and receive data when have 32 bytes of data that ready has prepared on Transmit/Receive Buffer to transmit or receive. Instead transmits/receives a byte data using Transmit/Receive Buffer Data Triggering Number will improve the speed of transfer data. Signed-off-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eb2d90c058280b41c8493cb17271e053b5ebba39 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 26 11:35:59 2015 +0100 mfd: max77693: Remove unused structures The max77693 regulator driver no longer supports board files. Remove the left-overs. Additionally fix name of device in comment. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 222d0f04340c686b136ec3a610cc50ba46baaea1 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 26 11:35:58 2015 +0100 regulator: max77693: Let core parse DT and drop board files support Simplify the driver by removing board file support and letting regulator core to parse DT. The max77693 regulator driver is used only on Exynos based boards which are DT-only. Board files for Exynos are not supported. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 91fd89660ba2e8ee59a587294fa9b17761691b05 Merge: e42391c 88f9eae Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 30 12:17:27 2015 +1000 Merge branch 'drm-fixes-4.0' of git://people.freedesktop.org/~agd5f/linux into drm-fixes A few more fixes for 4.0 for radeon. Sorry for the delay, I was a little under the weather this week and time got away from me. * 'drm-fixes-4.0' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: programm the VCE fw BAR as well drm/radeon: always dump the ring content if it's available radeon: Do not directly dereference pointers to BIOS area. drm/radeon/dpm: fix 120hz handling harder commit 6e4206136faa9a4d588946dfa604e1d989a9b3b6 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Tue Mar 24 11:08:22 2015 +1000 m68knommu: fix fec setup warning for ColdFire 5271 builds Building for the ColdFire 5271 produces the following warning: arch/m68k/coldfire/m527x.c: In function â??m527x_fec_initâ??: arch/m68k/coldfire/m527x.c:95:6: warning: unused variable â??parâ?? Fix it by moving the definition of par inside the 5271 conditional code. Reported-by: ertheb <3rth3bnospam@xxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit a630ec1b64c57f681877cc19c8e7ea5640cf7fcb Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Wed Mar 18 10:14:45 2015 +1000 m68knommu: ColdFire 5271 only has a single FEC controller The inclusion of multiple FEC ethernet platform devices is based around the FEC address definitions in the platform headers. The ColdFire m527x platform is defining 2 FEC modules, but the 5271 SoC only has a single FEC hardware module. The attempt to probe and init a second FEC module causes a trap and dump on boot on this platform. Fix the definitions so that only the 5275 SoC platform (which has 2 FEC hardware modules) defines the second base address. Reported-by: ertheb <3rth3bnospam@xxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit faa7cc2862c861d241cdb052e495e296bece1ccb Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Mon Mar 9 22:29:24 2015 +0100 m68k: Fix trivial typos in comments Change 'Reaceive' to 'Receive' Change 'alighnment' to 'alignment' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit 7b02ccea2e70e5e3e9fccf36123b77240323b8d6 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Fri Mar 27 18:08:48 2015 +0800 ACPI / PM: Enable all wakeup GPEs in suspend-to-idle Currently, in suspend-to-idle, wakeup GPE for PCI devices are handled properly because acpi_pci_sleep_wake() invokes acpi_enable_gpe() to enable the wakeup GPE directly. But for the other wakeup-capable devices in ACPI bus, acpi_enable_wakeup_devices() should be invoked to update enable_for_wake mask in gpe_register_info structure, thus acpi_enable_all_wakeup_gpes() can enable the wakeup GPE referred in _PRW methods. And acpi_disable_wakeup_devices() will be called before disable_irq_wake() in acpi_freeze_restore() to restore the mask. This patch fixes a power button wakeup problem on Surface Pro 3, on which platform power button uses EC to deliver event (EC GPE is referred in _PRW). Note: enabling EC GPE during freeze state may bring some risks because EC events are expected to fire more frequently than others. Thus it may bring the system out of freeze state unnecessarily. (We already have comments about this in bugzilla) Link: https://bugzilla.kernel.org/show_bug.cgi?id=84651 Reported-and-tested-by: Ethan Schoonover <es@xxxxxxxxxxxxxxxxxxx> Tested-by: Peter Amidon <psa.pub.0@xxxxxxxxxxxxxx> Tested-by: Yani Ioadnnou <yani.ioannou@xxxxxxxxx> Tested-by: Mister Wardrop <mister.wardrop@xxxxxxxxx> Tested-by: Anton Anikin <anton@xxxxxxxxxxx> Tested-by: Keith McClelland <zismylaptop@xxxxxxxxx> Reviewed-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 00ee68ecc2bf714ee97bc3629c29eef502e69c4b Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 25 07:42:49 2015 +0100 ARM: 8326/1: s5pv210: move resume code to .text section This code calls cpu_resume() using a straight branch (b), so now that we have moved cpu_resume() back to .text, this should be moved there as well. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 12833bacf5d904c2dac0c3f52b2ebde5f2c5a2bc Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 25 07:41:43 2015 +0100 ARM: 8325/1: exynos: move resume code to .text section This code calls cpu_resume() using a straight branch (b), so now that we have moved cpu_resume() back to .text, this should be moved there as well. Any direct references to symbols that will remain in the .data section are replaced with explicit PC-relative references. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d0776aff9a38b1390cc06ffc2c4dcf6ece7c05b9 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 25 07:39:21 2015 +0100 ARM: 8324/1: move cpu_resume() to .text section Move cpu_resume() to the .text section where it belongs. Change the adr reference to sleep_save_sp to an explicit PC relative reference so sleep_save_sp itself can remain in .data. This helps prevent linker failure on large kernels, as the code in the .data section may be too far away to be in range for normal b/bl instructions. Reviewed-by: Nicolas Pitre <nico@xxxxxxxxxx> Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 02e541db0540a2830f4af749c6f2b650abbbb77c Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 25 07:37:57 2015 +0100 ARM: 8323/1: force linker to use PIC veneers When building a very large kernel, it is up to the linker to decide when and where to insert stubs to allow calls to functions that are out of range for the ordinary b/bl instructions. However, since the kernel is built as a position dependent binary, these stubs (aka veneers) may contain absolute addresses, which will break far calls performed with the MMU off. For instance, the call from __enable_mmu() in the .head.text section to __turn_mmu_on() in the .idmap.text section may be turned into something like this: c0008168 <__enable_mmu>: c0008168: f020 0002 bic.w r0, r0, #2 c000816c: f420 5080 bic.w r0, r0, #4096 c0008170: f000 b846 b.w c0008200 <____turn_mmu_on_veneer> [...] c0008200 <____turn_mmu_on_veneer>: c0008200: 4778 bx pc c0008202: 46c0 nop c0008204: e59fc000 ldr ip, [pc] c0008208: e12fff1c bx ip c000820c: c13dfae1 teqgt sp, r1, ror #21 [...] c13dfae0 <__turn_mmu_on>: c13dfae0: 4600 mov r0, r0 [...] After adding --pic-veneer to the LDFLAGS, the veneer is emitted like this instead: c0008200 <____turn_mmu_on_veneer>: c0008200: 4778 bx pc c0008202: 46c0 nop c0008204: e59fc004 ldr ip, [pc, #4] c0008208: e08fc00c add ip, pc, ip c000820c: e12fff1c bx ip c0008210: 013d7d31 teqeq sp, r1, lsr sp c0008214: 00000000 andeq r0, r0, r0 Note that this particular example is best addressed by moving .head.text and .idmap.text closer together, but this issue could potentially affect any code that needs to execute with the MMU off. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c4a84ae39b4a5bdf609c0001e14207aa731aab30 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 24 10:41:09 2015 +0100 ARM: 8322/1: keep .text and .fixup regions closer together This moves all fixup snippets to the .text.fixup section, which is a special section that gets emitted along with the .text section for each input object file, i.e., the snippets are kept much closer to the code they refer to, which helps prevent linker failure on large kernels. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 779c88c94c34bd3b521da97b456a1aa51d870dec Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 24 10:39:10 2015 +0100 ARM: 8321/1: asm-generic: introduce .text.fixup input section This introduces a new .text.fixup input section that gets emitted together with the .text section for each input object file. Note that *(.text) *(.text.fixup) is not the same as *(.text .text.fixup) and we are looking for the latter, to ensure that fixup snippets that are assembled into a separate section in the object file do not end up out of range for the relative branch instructions it contains if the .text section itself grows very large. This helps prevent linker failures on large ARM kernels. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c097877319ab61dd045b6497953b4e3df8f2bb44 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Mar 6 12:08:30 2015 +0100 ARM: 8307/1: psci: move psci firmware calls out of line arm64 builds with GCC 5 have caused the __asmeq assertions in the PSCI calling code to fire, so move the ARM PSCI calls out of line into their own assembly file for consistency and to safeguard against the same issue occuring with the 32-bit toolchain. [will: brought into line with arm64 implementation] Reported-by: Andy Whitcroft <apw@xxxxxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d482994fca82380912b3a80201b74d5118ff0487 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 27 10:19:19 2015 -0400 tipc: fix two bugs in secondary destination lookup A message sent to a node after a successful name table lookup may still find that the destination socket has disappeared, because distribution of name table updates is non-atomic. If so, the message will be rejected back to the sender with error code TIPC_ERR_NO_PORT. If the source socket of the message has disappeared in the meantime, the message should be dropped. However, in the currrent code, the message will instead be subject to an unwanted tertiary lookup, because the function tipc_msg_lookup_dest() doesn't check if there is an error code present in the message before performing the lookup. In the worst case, the message may now find the old destination again, and be redirected once more, instead of being dropped directly as it should be. A second bug in this function is that the "prev_node" field in the message is not updated after successful lookup, something that may have unpredictable consequences. The problems arising from those bugs occur very infrequently. The third change in this function; the test on msg_reroute_msg_cnt() is purely cosmetic, reflecting that the returned value never can be negative. This commit corrects the two bugs described above. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 63c607321492c5efc7a31bc4ea734b877f8e7f87 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Mar 27 11:08:32 2015 +0100 net: fec: setup right value for mdio hold time The FEC modules used on i.MX28 and newer have a register to tune the MDIO output hold time that should be at least 10 ns. Up to now this value was not explicitly set and so resulted in less hold time if the fec clock was faster than 100 MHz. This was noticed on an i.MX28 machine that uses an input clock of ~150 Mhz which resulted in unreliable communication with a Marvell switch. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d92a3e9b90e23eaf7d893d1841cd0391403b99a Merge: afb0bc9 3182b25 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 13:38:08 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-27 This series contains updates to i40e and i40evf. Jesse adds new device IDs to handle the new 20G speed for KR2. Mitch provides a fix for an issue that shows up as a panic or memory corruption when the device is brought down while under heavy stress. This is resolved by delaying the releasing of resources until we receive acknowledgment from the PF driver that the rings have indeed been stopped. Also adds firmware version information to ethtool reporting to align with ixgbevf behavior. Akeem increases the polling loop limiter, sine we found that in certain circumstances the firmware can take longer to be ready after a reset. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ad19de8774e2a7b075b3e8ea48db85adcf33fa6 Author: Alexey Kodanev <alexey.kodanev@xxxxxxxxxx> Date: Fri Mar 27 12:24:22 2015 +0300 net: tcp6: fix double call of tcp_v6_fill_cb() tcp_v6_fill_cb() will be called twice if socket's state changes from TCP_TIME_WAIT to TCP_LISTEN. That can result in control buffer data corruption because in the second tcp_v6_fill_cb() call it's not copying IP6CB(skb) anymore, but 'seq', 'end_seq', etc., so we can get weird and unpredictable results. Performance loss of up to 1200% has been observed in LTP/vxlan03 test. This can be fixed by copying inet6_skb_parm to the beginning of 'cb' only if xfrm6_policy_check() and tcp_v6_fill_cb() are going to be called again. Fixes: 2dc49d1680b53 ("tcp6: don't move IP6CB before xfrm6_policy_check()") Signed-off-by: Alexey Kodanev <alexey.kodanev@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afb0bc972b5269a2046a1194c475d929c62fc1a3 Merge: 608cd71 1abbc98 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 13:33:32 2015 -0700 Merge branch 'stacked_vlan_tso' Toshiaki Makita says: ==================== Stacked vlan TSO On the basis of Netdev 0.1 discussion[1], I made a patch set to enable TSO for packets with multiple vlans. Currently, packets with multiple vlans are always segmented by software, which is caused by that netif_skb_features() drops most feature flags for multiple tagged packets. To allow NICs to segment them, we need to get rid of that check from core. Fortunately, recently introduced ndo_features_check() can be used to move the check to each driver, and this patch set is based on the idea. For the initial patch set, I chose 3 drivers, bonding, team, and igb, as candidates to enable TSO. I tested them and confirmed they works fine with this change. Here are samples of performance test results. As I expected, %sys gets pretty lower than before. * TEST1: vlan (.1Q) on vlan (.1ad) on igb (I350) - before $ netperf -t TCP_STREAM -H 192.168.10.1 -l 60 Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.02 933.72 Average: CPU %user %nice %system %iowait %steal %idle Average: all 0.13 0.00 11.28 0.01 0.00 88.58 - after $ netperf -t TCP_STREAM -H 192.168.10.1 -l 60 Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.01 936.13 Average: CPU %user %nice %system %iowait %steal %idle Average: all 0.24 0.00 4.17 0.01 0.00 95.58 * TEST2: vlan (.1Q) on bridge (.1ad vlan filtering) on team on igb (I350) - before $ netperf -t TCP_STREAM -H 192.168.10.1 -l 60 Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.01 936.28 Average: CPU %user %nice %system %iowait %steal %idle Average: all 0.41 0.00 11.57 0.01 0.00 88.01 - after $ netperf -t TCP_STREAM -H 192.168.10.1 -l 60 Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.02 935.72 Average: CPU %user %nice %system %iowait %steal %idle Average: all 0.14 0.00 7.66 0.01 0.00 92.19 In addition to above, I tested these configurations: - vlan (.1Q) on vlan (1.ad) on bonding on igb (I350) - vlan (.1Q) on vlan (1.Q) on igb (I350) - vlan (.1Q) on vlan (1.Q) on team on igb (I350) And didn't find any problem. [1] https://netdev01.org/sessions/18 https://netdev01.org/docs/netdev01_bof_8021ad_makita_150212.pdf ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1abbc98a8ac5c6cc016e672e5888b6416ae243f6 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:16 2015 +0900 igb: Enable TSO for stacked vlan As datasheets for igb (I210, I350, 82576, etc.) say, maclen can be from 14 to 127, which is enough for reasonable number of vlan tags. My netperf test showed I350's TSO works pretty fine with multiple vlans. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9f4cf7531ac7a0c99db9e08d0a83cb559251bea Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:15 2015 +0900 team: Don't segment multiple tagged packets on team device Team devices don't need to segment multiple tagged packets since their slaves can segment them. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4847f04982c360ffb233a10e8ef79a16e8be5c28 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:14 2015 +0900 bonding: Don't segment multiple tagged packets on bonding device Bonding devices don't need to segment multiple tagged packets since their slaves can segment them. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e38f30256b36700aa63aa709dc091bf6eb69c257 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:13 2015 +0900 net: Introduce passthru_features_check As there are a number of (especially virtual) devices that don't need the multiple vlan check, introduce passthru_features_check() for convenience. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8cb65d00086bfba22bac87ff18b751432fc74003 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:12 2015 +0900 net: Move check for multiple vlans to drivers To allow drivers to handle the features check for multiple tags, move the check to ndo_features_check(). As no drivers currently handle multiple tagged TSO, introduce dflt_features_check() and call it if the driver does not have ndo_features_check(). Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5a7fb88e1f82542ca14ba93a1d4fa35471c60ca Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:11 2015 +0900 vlan: Introduce helper functions to check if skb is tagged Separate the two checks for single vlan and multiple vlans in netif_skb_features(). This allows us to move the check for multiple vlans to another function later. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d463504c191c2126d097ac94fb258aabe6d3e62 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:10 2015 +0900 vlan: Add features for stacked vlan device Stacked vlan devices curretly have few features (GRO, HIGHDMA, LLTX). Since we have software fallbacks in case the NIC can not handle some features for multiple vlans, we can add the same features as the lower vlan devices for stacked vlan devices. This allows stacked vlan devices to create large (GSO) packets and not to segment packets. Those packets will be segmented by software on the real device, or even can be segmented by the NIC once TSO for multiple vlans becomes enabled by the following patches. The exception is those related to FCoE, which does not have a software fallback. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ff2acf1fb65f1c83c41b67aba990c6d49a2274c Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Mar 27 11:01:18 2015 +0530 cxgb4vf: Fix sparse warnings Fixes sparse warnings introduced in commit e85c9a7abfa407ed ("cxgb4/cxgb4vf: Add code to calculate T5 BAR2 Offsets for SGE Queue Registers") and df64e4d38c904dd3 ("cxgb4/cxgb4vf: Use new interfaces to calculate BAR2 SGE Queue Register addresses") and few old ones sparse warnings: >> drivers/net/ethernet/chelsio/cxgb4vf/sge.c:1006:48: sparse: cast removes >> address space of expression >> drivers/net/ethernet/chelsio/cxgb4vf/sge.c:1006:48: sparse: incorrect type in >> initializer (different address space) >> drivers/net/ethernet/chelsio/cxgb4vf/sge.c:1020:40: sparse: incorrect type in >> argument 1 (different base types) Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 608cd71a9c7c9db76e78a792c5a4101e12fea43f Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Mar 26 19:53:57 2015 -0700 tc: bpf: generalize pedit action existing TC action 'pedit' can munge any bits of the packet. Generalize it for use in bpf programs attached as cls_bpf and act_bpf via bpf_skb_store_bytes() helper function. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7836b16c0dd1d3039ccc35ceeff6d75401fbba8c Merge: 5ce58c2 b2a6b93 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 13:24:05 2015 -0700 Merge branch 'dsa-hw-bridging' Guenter Roeck says: ==================== net: dsa: HW bridging, EEE support Patch 1 to 7 of this series prepare the drivers using the mv88e6xxx code for HW bridging support, without adding the code itself. For the most part this factors out common port initialization code. There is no functional change except for patch 3, which disables the message port bit for the CPU port to prevent packet duplication if HW bridging is configured. Patch 8 adds the infrastructure for hardware bridging support to the mv88e6xxx code. Patch 9 wires the MV88E6352 driver to support hardware bridging. Patches 10 to 12 add support for ndo_fdb functions to the dsa subsystem, and wire up the MV88E6352 driver to support those functions. Patches 13 to 16 add EEE support and HW bridging support to the mv88e6171 driver. This set of patches is from Andrew, applied on top of the first set of patches. The series applies to net-next as of 3/24/2015. Thanks a lot to Andrew Lunn for testing and valuable feedback. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2a6b93a0c5730dd96f224ed22ccd0662d06b3b0 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Mar 26 18:36:43 2015 -0700 net: dsa: mv88e6171: Add support for hardware bridging Wire up the common code for setting up hardware bridging and access to the forwarding database. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit baae51d5242d7e4e94ce4cce6d4bca639eec07e0 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Mar 26 18:36:42 2015 -0700 net: dsa: mv88e6171: Add EEE support to the mv88e6172 The mv88e6172 has support for EEE. Check for the product ID and call the common code if applicable. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 464caa2f5ba8d937ce3d434b1be4179fefb011e5 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Mar 26 18:36:41 2015 -0700 net: dsa: mv88e6171: Add defines for switch product IDs Make the code more readable by using defines for the switch IDs. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8f064c602cf0170d41274e173a26151d7520dbe Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Mar 26 18:36:40 2015 -0700 net: dsa: Centralise getting switch id Get the switch id and save it away in the private mv88x6xxx structure in a centralised piece of code, rather than each driver doing it itself. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f431e56625761b1d81a4a6544fda92c02bed917 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:39 2015 -0700 net: dsa: mv88e6352: Add support for ndo_fdb functions Add support for manipulating switch fdb entries by pointing to the ndo_fdb functions implemented for mv88e6xxxx. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit defb05b9b9b4376aeb9db366cdb6ffa5ef0fa176 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:38 2015 -0700 net: dsa: mv88e6xxx: Add support for fdb_add, fdb_del, and fdb_getnext No vlan support at this time. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 339d82626d225e9b876665e4e89b7eb123e96b3d Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:37 2015 -0700 net: dsa: Add basic framework to support ndo_fdb functions Provide callbacks for ndo_fdb_add, ndo_fdb_del, and ndo_fdb_dump. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f244abb53665bf1ae0a762bb452d33b6648b7df Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:36 2015 -0700 net: dsa: mv88e6352: Add support for hardware bridging Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit facd95b2e0ec02ccf6d13f4d08c060628dca0862 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:35 2015 -0700 net: dsa: mv88e6xxx: Add Hardware bridging support Bridge support is similar for all chips supported by the mv88e6xxx code, so add the code there. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0019b70d02bae9757b5b9237f38fb8cf2899009 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:34 2015 -0700 net: dsa: mv88e6171: Use common port configuration Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54af0cf0d25eb3147ea6f1e121c641856486331a Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:33 2015 -0700 net: dsa: mv88e6123_61_65: Use common port configuration This will simplify adding offloaded bridge support later on. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2089052f82fdd85214542ece1ec39a383ab4c076 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:32 2015 -0700 net: dsa: mv88e6352: Use common port initialization code This prepares the driver for hardware bridging. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d6d09e7a0149b60a8b504b21cafe5f4b304fd97 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:31 2015 -0700 net: dsa: mv88e6xxx: Split mv88e6xxx_reg_read and mv88e6xxx_reg_write Split mv88e6xxx_reg_read and mv88e6xxx_reg_write into two functions each, one to acquire smi_mutex and one to get struct mii_bus *bus from struct dsa_switch *ds and to call the actual read/write function. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 366f0a0f98370d435de64978d623e6abf2630b01 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:30 2015 -0700 net: dsa: mv88e6xxx: Disable Message Port bit for CPU port Datasheet says that the Message Port bit should not be set for the CPU port. Having it set causes DSA tagged packets to be sent to the CPU port roughly every 30 seconds. Those packets are the same as real packets forwarded between switch ports if the switch is configured for switching between multiple ports. The packets are then bridged by the software bridge, resulting in duplicated packets on the network. Reported-by: Andrew Lunn <andrew@xxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d827e88a3f48606f1fcd0c285613befce375e076 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:29 2015 -0700 net: dsa: mv88e6xxx: Provide function for common port initialization Provide mv88e6xxx_setup_port_common() for common port initialization. Currently only write Port 1 Control and VLAN configuration since this will be needed for hardware bridging. More can be added later if desired/needed. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit acdaffcc890a29262c9bb47e287b62488c85eb59 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:28 2015 -0700 net: dsa: mv88e6xxx: Factor out common initialization code Code used and needed in mv886xxx.c should be initialized there as well, so factor it out from the individual initialization files. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ce58c2f13eaa8ca6d7e1041175433bd8cc55756 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Thu Mar 26 16:20:58 2015 -0700 hv_netvsc: remove vmbus_are_subchannels_present() in rndis_filter_device_add() The vmbus_are_subchannels_present() also involves opening the channels, which may be too early at this point. Checking for subchannels is not necessary here. So this patch removes it. Subchannels will be opened when offer messages arrive. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa6ed4cb6fd44ef4c6fad4d9572119d22381f32c Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 23 12:32:01 2015 +0000 irqchip: mips-gic: Add new functions to start/stop the GIC counter We add new functions to start and stop the GIC counter since there are no guarantees the counter will be running after a CPU reset. The GIC counter is stopped by setting the 29th bit on the GIC Config register and it is started by clearing that bit. Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: <linux-kernel@xxxxxxxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1427113923-9840-2-git-send-email-markos.chandras@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit cb6e0b3690f48dffb9397c3e868164b689420441 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Mar 26 22:26:08 2015 +0100 net: smc91x: make use of 4th parameter to devm_gpiod_get_index Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify accordingly. Moreover use devm_gpiod_get_index_optional for still simpler handling. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4217291e592da0e4258b652e82e5428639d29acc Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Mar 26 17:56:38 2015 +0100 netns: don't clear nsid too early on removal With the current code, ids are removed too early. Suppose you have an ipip interface that stands in the netns foo and its link part in the netns bar (so the netns bar has an nsid into the netns foo). Now, you remove the netns bar: - the bar nsid into the netns foo is removed - the netns exit method of ipip is called, thus our ipip iface is removed: => a netlink message is sent in the netns foo to advertise this deletion => this netlink message requests an nsid for bar, thus a new nsid is allocated for bar and never removed. We must remove nsids when we are sure that nobody will refer to netns currently cleaned. Fixes: 0c7aecd4bde4 ("netns: add rtnl cmd to add and get peer netns ids") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1eec582158e2d1d1d3978449d2d01da2d1c3feb8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 11:26:19 2015 +0100 irqchip: tegra: Add Tegra210 support Tegra210 uses the same legacy interrupt controller as older generations but it adds a sixth instance. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1427106379-14037-1-git-send-email-thierry.reding@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 7c3877f275ee6b479fa828947811c76d431501ca Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Thu Mar 26 09:03:37 2015 -0700 hv_netvsc: Implement batching in send buffer With this patch, we can send out multiple RNDIS data packets in one send buffer slot and one VMBus message. It reduces the overhead associated with VMBus messages. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ef295e04722c955cd60723d78ec525a2e80de27 Merge: ae7633c cc02e45 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 12:43:43 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for your net-next tree. Basically, nf_tables updates to add the set extension infrastructure and finish the transaction for sets from Patrick McHardy. More specifically, they are: 1) Move netns to basechain and use recently added possible_net_t, from Patrick McHardy. 2) Use LOGLEVEL_<FOO> from nf_log infrastructure, from Joe Perches. 3) Restore nf_log_trace that was accidentally removed during conflict resolution. 4) nft_queue does not depend on NETFILTER_XTABLES, starting from here all patches from Patrick McHardy. 5) Use raw_smp_processor_id() in nft_meta. Then, several patches to prepare ground for the new set extension infrastructure: 6) Pass object length to the hash callback in rhashtable as needed by the new set extension infrastructure. 7) Cleanup patch to restore struct nft_hash as wrapper for struct rhashtable 8) Another small source code readability cleanup for nft_hash. 9) Convert nft_hash to rhashtable callbacks. And finally... 10) Add the new set extension infrastructure. 11) Convert the nft_hash and nft_rbtree sets to use it. 12) Batch set element release to avoid several RCU grace period in a row and add new function nft_set_elem_destroy() to consolidate set element release. 13) Return the set extension data area from nft_lookup. 14) Refactor existing transaction code to add some helper functions and document it. 15) Complete the set transaction support, using similar approach to what we already use, to activate/deactivate elements in an atomic fashion. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae7633c841b3d17ab54e372ad9cc0f37a9a7c72d Merge: faadb05 8a0f6eb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 12:40:37 2015 -0700 Merge branch 'tipc-next' Ying Xue says: ==================== tipc: fix two corner issues The patch set aims at resolving the following two critical issues: Patch #1: Resolve a deadlock which happens while all links are reset Patch #2: Correct a mistake usage of RCU lock which is used to protect node list ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a0f6ebe8494c5c6ccfe12264385b64c280e3241 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Thu Mar 26 18:10:24 2015 +0800 tipc: involve reference counter for node structure TIPC node hash node table is protected with rcu lock on read side. tipc_node_find() is used to look for a node object with node address through iterating the hash node table. As the entire process of what tipc_node_find() traverses the table is guarded with rcu read lock, it's safe for us. However, when callers use the node object returned by tipc_node_find(), there is no rcu read lock applied. Therefore, this is absolutely unsafe for callers of tipc_node_find(). Now we introduce a reference counter for node structure. Before tipc_node_find() returns node object to its caller, it first increases the reference counter. Accordingly, after its caller used it up, it decreases the counter again. This can prevent a node being used by one thread from being freed by another thread. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b952b2befb6f6b009e91f087285b9a0a6beb1cc8 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Thu Mar 26 18:10:23 2015 +0800 tipc: fix potential deadlock when all links are reset [ 60.988363] ====================================================== [ 60.988754] [ INFO: possible circular locking dependency detected ] [ 60.989152] 3.19.0+ #194 Not tainted [ 60.989377] ------------------------------------------------------- [ 60.989781] swapper/3/0 is trying to acquire lock: [ 60.990079] (&(&n_ptr->lock)->rlock){+.-...}, at: [<ffffffffa0006dca>] tipc_link_retransmit+0x1aa/0x240 [tipc] [ 60.990743] [ 60.990743] but task is already holding lock: [ 60.991106] (&(&bclink->lock)->rlock){+.-...}, at: [<ffffffffa00004be>] tipc_bclink_lock+0x8e/0xa0 [tipc] [ 60.991738] [ 60.991738] which lock already depends on the new lock. [ 60.991738] [ 60.992174] [ 60.992174] the existing dependency chain (in reverse order) is: [ 60.992174] -> #1 (&(&bclink->lock)->rlock){+.-...}: [ 60.992174] [<ffffffff810a9c0c>] lock_acquire+0x9c/0x140 [ 60.992174] [<ffffffff8179c41f>] _raw_spin_lock_bh+0x3f/0x50 [ 60.992174] [<ffffffffa00004be>] tipc_bclink_lock+0x8e/0xa0 [tipc] [ 60.992174] [<ffffffffa0000f57>] tipc_bclink_add_node+0x97/0xf0 [tipc] [ 60.992174] [<ffffffffa0011815>] tipc_node_link_up+0xf5/0x110 [tipc] [ 60.992174] [<ffffffffa0007783>] link_state_event+0x2b3/0x4f0 [tipc] [ 60.992174] [<ffffffffa00193c0>] tipc_link_proto_rcv+0x24c/0x418 [tipc] [ 60.992174] [<ffffffffa0008857>] tipc_rcv+0x827/0xac0 [tipc] [ 60.992174] [<ffffffffa0002ca3>] tipc_l2_rcv_msg+0x73/0xd0 [tipc] [ 60.992174] [<ffffffff81646e66>] __netif_receive_skb_core+0x746/0x980 [ 60.992174] [<ffffffff816470c1>] __netif_receive_skb+0x21/0x70 [ 60.992174] [<ffffffff81647295>] netif_receive_skb_internal+0x35/0x130 [ 60.992174] [<ffffffff81648218>] napi_gro_receive+0x158/0x1d0 [ 60.992174] [<ffffffff81559e05>] e1000_clean_rx_irq+0x155/0x490 [ 60.992174] [<ffffffff8155c1b7>] e1000_clean+0x267/0x990 [ 60.992174] [<ffffffff81647b60>] net_rx_action+0x150/0x360 [ 60.992174] [<ffffffff8105ec43>] __do_softirq+0x123/0x360 [ 60.992174] [<ffffffff8105f12e>] irq_exit+0x8e/0xb0 [ 60.992174] [<ffffffff8179f9f5>] do_IRQ+0x65/0x110 [ 60.992174] [<ffffffff8179da6f>] ret_from_intr+0x0/0x13 [ 60.992174] [<ffffffff8100de9f>] arch_cpu_idle+0xf/0x20 [ 60.992174] [<ffffffff8109dfa6>] cpu_startup_entry+0x2f6/0x3f0 [ 60.992174] [<ffffffff81033cda>] start_secondary+0x13a/0x150 [ 60.992174] -> #0 (&(&n_ptr->lock)->rlock){+.-...}: [ 60.992174] [<ffffffff810a8f7d>] __lock_acquire+0x163d/0x1ca0 [ 60.992174] [<ffffffff810a9c0c>] lock_acquire+0x9c/0x140 [ 60.992174] [<ffffffff8179c41f>] _raw_spin_lock_bh+0x3f/0x50 [ 60.992174] [<ffffffffa0006dca>] tipc_link_retransmit+0x1aa/0x240 [tipc] [ 60.992174] [<ffffffffa0001e11>] tipc_bclink_rcv+0x611/0x640 [tipc] [ 60.992174] [<ffffffffa0008646>] tipc_rcv+0x616/0xac0 [tipc] [ 60.992174] [<ffffffffa0002ca3>] tipc_l2_rcv_msg+0x73/0xd0 [tipc] [ 60.992174] [<ffffffff81646e66>] __netif_receive_skb_core+0x746/0x980 [ 60.992174] [<ffffffff816470c1>] __netif_receive_skb+0x21/0x70 [ 60.992174] [<ffffffff81647295>] netif_receive_skb_internal+0x35/0x130 [ 60.992174] [<ffffffff81648218>] napi_gro_receive+0x158/0x1d0 [ 60.992174] [<ffffffff81559e05>] e1000_clean_rx_irq+0x155/0x490 [ 60.992174] [<ffffffff8155c1b7>] e1000_clean+0x267/0x990 [ 60.992174] [<ffffffff81647b60>] net_rx_action+0x150/0x360 [ 60.992174] [<ffffffff8105ec43>] __do_softirq+0x123/0x360 [ 60.992174] [<ffffffff8105f12e>] irq_exit+0x8e/0xb0 [ 60.992174] [<ffffffff8179f9f5>] do_IRQ+0x65/0x110 [ 60.992174] [<ffffffff8179da6f>] ret_from_intr+0x0/0x13 [ 60.992174] [<ffffffff8100de9f>] arch_cpu_idle+0xf/0x20 [ 60.992174] [<ffffffff8109dfa6>] cpu_startup_entry+0x2f6/0x3f0 [ 60.992174] [<ffffffff81033cda>] start_secondary+0x13a/0x150 [ 60.992174] [ 60.992174] other info that might help us debug this: [ 60.992174] [ 60.992174] Possible unsafe locking scenario: [ 60.992174] [ 60.992174] CPU0 CPU1 [ 60.992174] ---- ---- [ 60.992174] lock(&(&bclink->lock)->rlock); [ 60.992174] lock(&(&n_ptr->lock)->rlock); [ 60.992174] lock(&(&bclink->lock)->rlock); [ 60.992174] lock(&(&n_ptr->lock)->rlock); [ 60.992174] [ 60.992174] *** DEADLOCK *** [ 60.992174] [ 60.992174] 3 locks held by swapper/3/0: [ 60.992174] #0: (rcu_read_lock){......}, at: [<ffffffff81646791>] __netif_receive_skb_core+0x71/0x980 [ 60.992174] #1: (rcu_read_lock){......}, at: [<ffffffffa0002c35>] tipc_l2_rcv_msg+0x5/0xd0 [tipc] [ 60.992174] #2: (&(&bclink->lock)->rlock){+.-...}, at: [<ffffffffa00004be>] tipc_bclink_lock+0x8e/0xa0 [tipc] [ 60.992174] The correct the sequence of grabbing n_ptr->lock and bclink->lock should be that the former is first held and the latter is then taken, which exactly happened on CPU1. But especially when the retransmission of broadcast link is failed, bclink->lock is first held in tipc_bclink_rcv(), and n_ptr->lock is taken in link_retransmit_failure() called by tipc_link_retransmit() subsequently, which is demonstrated on CPU0. As a result, deadlock occurs. If the order of holding the two locks happening on CPU0 is reversed, the deadlock risk will be relieved. Therefore, the node lock taken in link_retransmit_failure() originally is moved to tipc_bclink_rcv() so that it's obtained before bclink lock. But the precondition of the adjustment of node lock is that responding to bclink reset event must be moved from tipc_bclink_unlock() to tipc_node_unlock(). Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit faadb05f4b7f11b3063a20d7fc5afcbf1124dbeb Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Mar 26 15:39:45 2015 +0800 virtio: simplify the using of received in virtnet_poll received is 0, no need to minus it and use "+=" to reassign it Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbcf988653e91681305189fc8b8c54aa4ae9033c Merge: aaa95f7 241a386 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Mar 29 19:34:05 2015 +0000 Merge branch 'irqchip/urgent-gic' into irqchip/urgent commit 3556eaaab566e478a4ed68041a7cacfd8974662a Merge: 41d25fe 265ec92 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 12:34:05 2015 -0700 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Hi David, this patch set includes 2 feature additions to the be2net driver: Patch 1 sets up cpu affinity hints for be2net irqs using the cpumask_set_cpu_local_first() API that first picks the near numa cores and when they are exhausted, selects the far numa cores. Patch 2 setups up xps queue mapping for be2net's TXQs to avoid, by default, TX lock contention. Patch 3 just bumps up the driver version. Pls consider applying this patch set to the net-next queue. Thanks! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 265ec9275809067fa6925508bed0a590f48286d3 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Thu Mar 26 03:05:10 2015 -0400 be2net: bump up the driver version to 10.6.0.1 Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73f394e6290b9a2f3d297623c3db2d975111b445 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Thu Mar 26 03:05:09 2015 -0400 be2net: setup xps queue mapping This patch sets up xps queue mapping on load, so that TX traffic is steered to the queue whose irqs are being processed by the current cpu. This helps in avoiding TX lock contention. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d658d98aa55a0a6e1f3b818645b098bc3187777a Author: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxx> Date: Thu Mar 26 03:05:08 2015 -0400 be2net: assign CPU affinity hints to be2net IRQs This patch provides hints to irqbalance to map be2net IRQs to specific CPU cores. cpumask_set_cpu_local_first() is used, which first maps IRQs to near NUMA cores; when those cores are exhausted, IRQs are mapped to far NUMA cores. Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 241a386c7dbb8b0db400a1f92f2ebe3b10eb661d Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 14:15:05 2015 +0000 irqchip: gicv3-its: Use non-cacheable accesses when no shareability If the ITS or the redistributors report their shareability as zero, then it is important to make sure they will no generate any cacheable traffic, as this is unlikely to produce the expected result. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1427465705-17126-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 4ad3e3634a6cbe916722c7113c5b488d52c7a3dc Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 14:15:04 2015 +0000 irqchip: gicv3-its: Fix PROP/PEND and BASE/CBASE confusion The ITS driver sometime mixes up the use of GICR_PROPBASE bitfields for the GICR_PENDBASE register, and GITS_BASER for GICR_CBASE. This does not lead to any observable bug because similar bits are at the same location, but this just make the code even harder to understand... This patch provides the required #defines and fixes the mixup. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1427465705-17126-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 7e195ba03738dec72fe337dcd3cb3c3c2bd66c30 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Fri Mar 27 14:15:03 2015 +0000 irqchip: gicv3-its: Fix device ID encoding When building ITS commands which have the device ID in it, we should mask off the whole upper 32 bits of the first command word before inserting the new value in there. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1427465705-17126-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 263fcd312deffb9bf10f007f958dccfa64a807f5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 14:15:02 2015 +0000 irqchip: gicv3-its: Fix encoding of collection's target redistributor With a monolithic GICv3, redistributors are addressed using a linear number, while a distributed implementation uses physical addresses. When encoding a target address into a command, we strip the lower 16 bits, as redistributors are always 64kB aligned. This works perfectly well with a distributed implementation, but has the silly effect of always encoding target 0 in the monolithic case (unless you have more than 64k CPUs, of course). The obvious fix is to shift the linear target number by 16 when computing the target address, so that we don't loose any precious bit. Reported-by: Andre Przywara <andre.przywara@xxxxxxx> Tested-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1427465705-17126-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 17f5ddd5a3b31bdb3acc6f7a41785503c9d113ee Merge: f243e5a b37987e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 12:24:46 2015 -0700 Merge branch 'cxgb4' Hariprasad Shenai says: ==================== cxgb4: Fixes ingress queue mapping and other fixes The below series fixes ingress queue mapping by allocating them dynamically to prevent stack overflow. Disable napi and interrupts before unregistering netdev to avoid crash while unloading driver when traffic is flowing. The patches series is created against 'net' tree. And includes patches on cxgb4 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 b37987e8db5faee3fc12baecc4699f9d92bc0695 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Mar 26 10:04:26 2015 +0530 cxgb4: Disable interrupts and napi before unregistering netdev Disable interrupts and quiesce rx before unregistering net device to avoid crash while unloading driver when traffic is flowing through. Based on original work by Shameem Khalid <shameem@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b8e27a86d209063d8aacfb918668bbb75e56019 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Mar 26 10:04:25 2015 +0530 cxgb4: Allocate dynamic mem. for egress and ingress queue maps QIDs (egress/ingress) from firmware in FW_*_CMD.alloc command can be anywhere in the range from EQ(IQFLINT)_START to EQ(IQFLINT)_END. For eg, in the first load eqid can be from 100 to 300. In the next load it can be from 301 to 500 (assume eq_start is 100 and eq_end is 1000). The driver was assuming them to always start from EQ(IQFLINT)_START till MAX_EGRQ(INGQ). This was causing stack overflow and subsequent crash. Fixed it by dynamically allocating memory (of qsize (x_END - x_START + 1)) for these structures. Based on original work by Santosh Rastapur <santosh@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41d25fe0927aabb1d4b671871a99a55bcd203257 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 25 15:08:47 2015 -0700 tcp: tcp_syn_flood_action() can be static After commit 1fb6f159fd21 ("tcp: add tcp_conn_request"), tcp_syn_flood_action() is no longer used from IPv6. We can make it static, by moving it above tcp_conn_request() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reviewed-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fb7cd4ef02bea6416b5afd60617d12ceb3533c1 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Thu Mar 26 05:55:25 2015 +0800 cxgb4: fix boolreturn.cocci warnings drivers/net/ethernet/chelsio/cxgb4/cxgb4_fcoe.c:49:9-10: WARNING: return of 0/1 in function 'cxgb_fcoe_sof_eof_supported' with return type bool Return statements in functions returning bool should use true/false instead of 1/0. Generated by: scripts/coccinelle/misc/boolreturn.cocci CC: Varun Prakash <varun@xxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f243e5a7859a24d10975afb9a1708cac624ba6f1 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Mar 25 14:45:03 2015 -0700 ipmr,ip6mr: call ip6mr_free_table() on failure path Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85b9909272f128757dcb6d053ca12e15931747d4 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Mar 25 14:45:02 2015 -0700 fib6: install fib6 ops in the last step We should not commit the new ops until we finish all the setup, otherwise we have to NULL it on failure. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a1e890e2168e33fb62d84528e996b8b4b478fea Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Wed Mar 25 21:41:33 2015 +0100 usbnet: Fix tx_bytes statistic running backward in cdc_ncm cdc_ncm disagrees with usbnet about how much framing overhead should be counted in the tx_bytes statistics, and tries 'fix' this by decrementing tx_bytes on the transmit path. But statistics must never be decremented except due to roll-over; this will thoroughly confuse user-space. Also, tx_bytes is only incremented by usbnet in the completion path. Fix this by requiring drivers that set FLAG_MULTI_FRAME to set a tx_bytes delta along with the tx_packets count. Fixes: beeecd42c3b4 ("net: cdc_ncm/cdc_mbim: adding NCM protocol statistics") Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> commit 1e9e39f4a29857a396ac7b669d109f697f66695e Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 19:34:37 2015 +0000 usbnet: Fix tx_packets stat for FLAG_MULTI_FRAME drivers Currently the usbnet core does not update the tx_packets statistic for drivers with FLAG_MULTI_PACKET and there is no hook in the TX completion path where they could do this. cdc_ncm and dependent drivers are bumping tx_packets stat on the transmit path while asix and sr9800 aren't updating it at all. Add a packet count in struct skb_data so these drivers can fill it in, initialise it to 1 for other drivers, and add the packet count to the tx_packets statistic on completion. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Tested-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3a2be3030e2fec27a2577d3c52203da090a4366 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Sun Mar 29 16:03:25 2015 +0200 spi: bcm2835: fill FIFO before enabling interrupts to reduce interrupts/message To reduce the number of interrupts/message we fill the FIFO before enabling interrupts - for short messages this reduces the interrupt count from 2 to 1 interrupt. There have been rare cases where short (<200ns) chip-select switches with native CS have been observed during such operation, this is why this optimization is only enabled for GPIO-CS. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Tested-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1e4df62d46fa45109123f2b265b2d8146031db16 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Sun Mar 29 16:03:23 2015 +0200 spi: bcm2835: fix code formatting issue Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Tested-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5798cd23f87a93a7f187c0314804b9a736a5319a Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Sun Mar 29 01:59:49 2015 +0100 Documentation/ABI:iio:fix typo Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bad4d1a074c7ba29636b951520574e18aec4c7fe Author: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Date: Tue Mar 24 16:54:15 2015 +0100 iio: mlx90614: Support devices with dual IR sensor The model is detected by reading the EEPROM configuration during probing. Signed-off-by: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 209c00691938c4b3d58142b05ca6f50b8971e521 Author: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Date: Tue Mar 24 16:54:14 2015 +0100 iio: mlx90614: Add symbols for accessible registers Add symbols for all accessible RAM and EEPROM registers, as well as the sleep command and timings defined in the datasheet. Signed-off-by: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3bbec9773389112330954a6a64422eaa78d546c1 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sun Mar 22 20:33:40 2015 +0200 iio: bmc150_accel: add support for hardware fifo We only advertise hardware fifo support if the I2C bus supports full I2C or smbus I2C block data reads since it is mandatory to read the full frame in one read (otherwise the rest of the frame is discarded). The hardware fifo is enabled only when triggers are not active because: (a) when using the any-motion trigger the user expects to see samples based on ROC events, but the fifo stores samples based on the sample frequency (b) the data-ready trigger is waking the CPU for for every sample, so using the hardware fifo does not have any benefit Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f4f4673b7535eff4ee1a8cfb1685fa1e1a0cb79d Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sun Mar 22 20:33:39 2015 +0200 iio: add support for hardware fifo Some devices have hardware buffers that can store a number of samples for later consumption. Hardware usually provides interrupts to notify the processor when the FIFO is full or when it has reached a certain watermark level. This helps with reducing the number of interrupts to the host processor and thus it helps decreasing the power consumption. This patch enables usage of hardware FIFOs for IIO devices in conjunction with software device buffers. When the hardware FIFO is enabled the samples are stored in the hardware FIFO. The samples are later flushed to the device software buffer when the number of entries in the hardware FIFO reaches the hardware watermark or when a flush operation is triggered by the user when doing a non-blocking read on an empty software device buffer. In order to implement hardware FIFO support the device drivers must implement the following new operations: setting and getting the hardware FIFO watermark level, flushing the hardware FIFO to the software device buffer. The device must also expose information about the hardware FIFO such it's minimum and maximum watermark and if necessary a list of supported watermark values. Finally, the device driver must activate the hardware FIFO when the device buffer is enabled, if the current device settings allows it. The software device buffer watermark is passed by the IIO core to the device driver as a hint for the hardware FIFO watermark. The device driver can adjust this value to allow for hardware limitations (such as capping it to the maximum hardware watermark or adjust it to a value that is supported by the hardware). It can also disable the hardware watermark (and implicitly the hardware FIFO) it this value is below the minimum hardware watermark. Since a driver may support hardware FIFO only when not in triggered buffer mode (due to different semantics of hardware FIFO sampling and triggered sampling) this patch changes the IIO core code to allow falling back to non-triggered buffered mode if no trigger is enabled. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 37d3455672732b29a477732a94abfe95e199f0ce Author: Josselin Costanzi <josselin.costanzi@xxxxxxxxxxxxxxxxx> Date: Sun Mar 22 20:33:38 2015 +0200 iio: add watermark logic to iio read and poll Currently the IIO buffer blocking read only wait until at least one data element is available. This patch makes the reader sleep until enough data is collected before returning to userspace. This should limit the read() calls count when trying to get data in batches. Co-author: Yannick Bedhomme <yannick.bedhomme@xxxxxxxxxxxxxxxxx> Signed-off-by: Josselin Costanzi <josselin.costanzi@xxxxxxxxxxxxxxxxx> [rebased and remove buffer timeout] Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a2166ca5f3204794e8b59f01c93a0f1564e3e138 Merge: 37791b6 01218bf Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Sun Mar 29 08:59:58 2015 +0100 Merge remote-tracking branch 'robh/for-next' into devicetree/next Conflicts: drivers/of/unittest.c commit 37791b6fbe7ab772020e714d34515f144fa981a0 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Fri Mar 27 20:30:04 2015 -0700 of/unittest: Fix of_platform_depopulate test case The previous commit, "of/unittest: early return from test skips tests" exposed broken tests for the of_platform_unpopulate() function. The problem was the populate and depopulate calls were not symmetrical like they were intended to be, and unpopulate depends on the parent device to have it's of_node pointer pointing to the parent device node. Fix these bugs so that the test case works correctly. In the process, the test_bus used as a container for the test devices has been changed from a statically allocated struct device (which is bad) to a properly allocated device with a .release() method (which is good). This stops the test code from being a bad example of abusing the device model. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Cc: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> commit 716e1d493a8717251158c708b2f161017bdcb3f9 Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Fri Mar 13 23:57:40 2015 -0700 of/unittest: early return from test skips tests Fix bugs pointed out by checkpatch: Mis-coding of two if statements caused early return from function. Number of tests completed increased from 102 to 107. Number of tests failed increased from 0 to 2. Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit c8547119ce54ef6d3c0685ef3837514fa6e11d28 Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Sat Mar 14 00:04:24 2015 -0700 of/unittest: breadcrumbs to reduce pain of future maintainers Fix warnings pointed out by checkpatch. Checkpatch warns: externs should be avoided in .c files Reducing pain for future maintainers - adding a comment so that anyone trying to find where the extern data is created will be able to find it. (grep will not find that location) Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 3db316d00bfa60c673c54f27cd5edc329a3b28b5 Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Sat Mar 14 00:02:31 2015 -0700 of/unittest: reduce checkpatch noise - line after declarations Fix warnings pointed out by checkpatch. No bug fixes, but reduce the number of checkpatch warnings so that future problems will stand out better. Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit a6bb121e16ae1e1cedc8cf37616a4d13c5a9a65b Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Fri Mar 13 23:59:01 2015 -0700 of/unittest: typo in error string Fix bug pointed out by checkpatch. Splitting string incorrectly removed a space between two words. Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit afaed7a993ceae468dabdbbda8a5eaf3e41b7a69 Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Sat Mar 14 00:00:36 2015 -0700 of/unittest: add const where needed Fix warnings pointed out by checkpatch. No bugs fixed, but the test code should be a good example of how to use the devicetree API. Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 3eb46a1da78dfff0c9e03313e11ee99841a9efdb Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 22:25:46 2015 +0300 of_net: factor out repetitive code from of_get_mac_address() of_get_mac_address() basically does the same thing thrice, every time with a different property name, so it makes sense to factor out the repetitive code into separate function. While at it, we can start using ETH_ALEN instead of the bare number and drop unnecessary parens around the property length check. The resulting ARM object file is 100 bytes less in size than before the patch. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 20fa110a54d8070a7d68fb44a6c0ea2d8b09fddc Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 28 15:32:52 2015 -0700 Bluetooth: Remove superfluous extra empty line between functions Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 57b0d3e8e7d570b693a1a253c637308130134a23 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 28 15:18:59 2015 -0700 Bluetooth: Fix error returns for Read Local OOB Extended Data commands The Read Local OOB Extended Data commands are required to return the address type and the data length at least. However currently the error returns only the address type. To fix this and avoid any extra allocations or stack memory, rearrange the code so that the same path can be used for error returns. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit efcd8c98e0d195c09fd9141a7af32dd83e62a5cb Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 28 15:18:58 2015 -0700 Bluetooth: Move memory location outside of hci_dev lock Taking the hci_dev lock for just a memory allocation seems a bit too much and not really needed. So instead try to allocate the memory first and then take the lock. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 271c865161c57cfabca45b93eaa712b19da365bc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 27 12:46:12 2015 +1030 Add virtio-input driver. virtio-input is basically evdev-events-over-virtio, so this driver isn't much more than reading configuration from config space and forwarding incoming events to the linux input layer. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 880897d4c9eedd69b33b9905a6919e3e4f58eae8 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Sat Mar 28 12:39:00 2015 -0700 Bluetooth: Update adv. parameters when conn. setting changes This patch fixes a bug where the advertising parameters weren't updated after a call to "Set Connectable" if the HCI_ADVERTISING_INSTANCE setting was set. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c7d4883b0684a732af779f88768c57ab006ce3a1 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Sat Mar 28 12:38:59 2015 -0700 Bluetooth: Use ADV_SCAN_IND for adv. instances With this patch, ADV_SCAN_IND will be used for advertising instances that have non-zero scan response data while the global "connectable" setting is "off". Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit faccb950f7170c37c9c2e1f82a6e33cd7a23a5c9 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Sat Mar 28 12:38:58 2015 -0700 Bluetooth: Fix using global connectable settings for adv This patch fixes a bug where ADV_NONCONN_IND was being used for advertising instances >0 while the global connectable setting was set to "on". Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 600b21507eb64bcd85bb87d06c2c2c451b565f02 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sat Mar 28 11:17:36 2015 +0200 Bluetooth: Fix race condition with HCI_RESET flag During the HCI init phase a completed request might be the last part of the setup procedure after which the actual init procedure starts. The init procedure begins with a call to hci_reset_req() which sets the HCI_RESET flag. The purpose of this flag is to make us ignore any updates to ncmd/cmd_cnt as long as we haven't received the command complete event for the HCI_Reset. There's a potential race with this however: hci_req_cmd_complete(hdev, opcode, status); if (ev->ncmd && !test_bit(HCI_RESET, &hdev->flags)) { atomic_set(&hdev->cmd_cnt, 1); if (!skb_queue_empty(&hdev->cmd_q)) queue_work(hdev->workqueue, &hdev->cmd_work); } Since the hci_req_cmd_complete() will trigger the completion of the setup stage, it's possible that hci_reset_req() gets called before we try to read ev->ncmd and the HCI_RESET flag. Because of this the cmd_cnt would never be updated and the hci_reset_req() in practice ends up blocking itself. This patch fixes the issue by updating cmd_cnt before notifying the request completion, and then reading it again to determine whether the cmd_work should be queued or not. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 15955e70320bdc5d60b153a572ee4d89ab34e3d3 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Mar 25 11:44:14 2015 +0100 ARM: 8328/1: remove empty preprocessor #else branch When the patch for e16343c47e42 (ARM: 8160/1: drop warning about return_address not using unwind tables) was created there was still more code in said branch. Probably this simplification was just missed during conflict resolution when the patch was applied. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c20611df13c3e3070607c267cf781ba8645a185e Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Mar 25 08:47:18 2015 +0100 ARM: 8327/1: zImage: add support for ARMv7-M This patch makes it possible to enter zImage in Thumb mode for ARMv7-M (Cortex-M) CPUs that do not support ARM mode. The kernel entry is also made in Thumb mode. [ukl: fix spelling in commit log, return early in call_cache_fn] Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Tested-by: Stefan Agner <stefan@xxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8defb3367fcd19d1af64c07792aade0747b54e0f Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Fri Mar 20 15:42:27 2015 +0100 ARM: 8320/1: fix integer overflow in ELF_ET_DYN_BASE Usually ELF_ET_DYN_BASE is 2/3 of TASK_SIZE. With 3G/1G user/kernel split this is not so, because 2*TASK_SIZE overflows 32 bits, so the actual value of ELF_ET_DYN_BASE is: (2 * TASK_SIZE / 3) = 0x2a000000 When ASLR is disabled PIE binaries will load at ELF_ET_DYN_BASE address. On 32bit platforms AddressSanitzer uses addresses [0x20000000 - 0x40000000] for shadow memory [1]. So ASan doesn't work for PIE binaries when ASLR disabled as it fails to map shadow memory. Also after Kees's 'split ET_DYN ASLR from mmap ASLR' patchset PIE binaries has a high chance of loading somewhere in between [0x2a000000 - 0x40000000] even if ASLR enabled. This makes ASan with PIE absolutely incompatible. Fix overflow by dividing TASK_SIZE prior to multiplying. After this patch ELF_ET_DYN_BASE equals to (for CONFIG_VMSPLIT_3G=y): (TASK_SIZE / 3 * 2) = 0x7f555554 [1] https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerAlgorithm#Mapping Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Reported-by: Maria Guseva <m.guseva@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a092aedb8115c16cb49bc64dd09cb20471ff942b Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Mar 19 19:04:05 2015 +0100 ARM: 8319/1: advertise availability of v8 Crypto instructions When running the 32-bit ARM kernel on ARMv8 capable bare metal (e.g., 32-bit Android userland and kernel on a Cortex-A53), or as a KVM guest on a 64-bit host, we should advertise the availability of the Crypto instructions, so that userland libraries such as OpenSSL may use them. (Support for the v8 Crypto instructions in the 32-bit build was added to OpenSSL more than six months ago) This adds the ID feature bit detection, and sets elf_hwcap2 accordingly. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b8c9592b4a6c93211c8163888a97880d608503b5 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Mar 19 19:03:25 2015 +0100 ARM: 8318/1: treat CPU feature register fields as signed quantities The various CPU feature registers consist of 4-bit blocks that represent signed quantities, whose positive values represent incremental features, and whose negative values are reserved. To improve forward compatibility, update the feature detection code to take possible future higher values into account, but ignore negative values. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit eb765c1ceb275b839ec67ff5779148b9298369c2 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 18 07:35:01 2015 +0100 ARM: 8317/1: move the .idmap.text section closer to .head.text This moves the .idmap.text section closer to .head.text, so that relative branches are less likely to go out of range if the kernel text gets bigger. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit bf35706f3d0929b413e90b32cf9dd453f200a570 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 18 07:29:32 2015 +0100 ARM: 8314/1: replace PROCINFO embedded branch with relative offset This patch replaces the 'branch to setup()' instructions embedded in the PROCINFO structs with the offset to that setup function relative to the base of the struct. This preserves the position independent nature of that field, but uses a data item rather than an instruction. This is mainly done to prevent linker failures on large kernels, where the setup function is out of reach for the branch. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4ce7ca89d6e8eae9e201cd0e972ba323f33e2fb4 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 12:07:14 2015 +0530 iio: imu: Use iio_trigger_get for indio_dev->trig assignment This patch uses iio_trigger_get to increment the reference count of trigger device, to avoid incorrect assignment. Can result in a null pointer dereference during removal if the trigger has been changed before removal. This patch refers to a similar situation encountered through the following discussion: http://www.spinics.net/lists/linux-iio/msg13669.html Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f54e9f2be312a4e71b54aea865b2e33ccb95ef0c Author: Stefan Agner <stefan@xxxxxxxx> Date: Tue Mar 24 13:47:47 2015 +0100 iio: adc: vf610: use ADC clock within specification Depending on conversion mode used, the ADC clock (ADCK) needs to be below a maximum frequency. According to Vybrid's data sheet this is 20MHz for the low power conversion mode. The ADC clock is depending on input clock, which is the bus clock by default. Vybrid SoC are typically clocked at at 400MHz or 500MHz, which leads to 66MHz or 83MHz bus clock respectively. Hence, a divider of 8 is required to stay below the specified maximum clock of 20MHz. Due to the different bus clock speeds, the resulting sampling frequency is not static. Hence use the ADC clock and calculate the actual available sampling frequency dynamically. This fixes bogous values observed on some 500MHz clocked Vybrid SoC. The resulting value usually showed Bit 9 being stuck at 1, or 0, which lead to a value of +/-512. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bbc45f3ab78edb8c97e563ddd351f851da47dab1 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 16 22:27:10 2015 +0100 iio/adc/cc10001_adc.c: Fix !HAS_IOMEM build Fixes: drivers/built-in.o: In function `cc10001_adc_probe': cc10001_adc.c:(.text+0x412e92): undefined reference to `devm_ioremap_resource' Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9444a300c2be3ce6266462e3171ceb6636cc62e8 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Mon Mar 23 15:40:25 2015 +0200 IIO: Add support for L3GD20H gyroscope It can be used exactly like L3GD20 but it has a different WhoAmI register value. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4cd968ef4249fde24194b7b9a74be87dd7f8ed0f Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Sat Mar 28 21:35:17 2015 +1100 selftests/powerpc: Add a test of the switch_endian() syscall This adds a test of the switch_endian() syscall we added in the previous commit. We test it by calling the endian switch syscall, and then executing some code in the other endian to check everything went as expected. That code checks registers we expect to be maintained are. If the endian switch failed to happen that code sequence will be illegal and cause the test to abort. We then switch back to the original endian, do the same checks and finally write a success message and exit(0). Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 529d235a0e190ded1d21ccc80a73e625ebcad09b Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Sat Mar 28 21:35:16 2015 +1100 powerpc: Add a proper syscall for switching endianness We currently have a "special" syscall for switching endianness. This is syscall number 0x1ebe, which is handled explicitly in the 64-bit syscall exception entry. That has a few problems, firstly the syscall number is outside of the usual range, which confuses various tools. For example strace doesn't recognise the syscall at all. Secondly it's handled explicitly as a special case in the syscall exception entry, which is complicated enough without it. As a first step toward removing the special syscall, we need to add a regular syscall that implements the same functionality. The logic is simple, it simply toggles the MSR_LE bit in the userspace MSR. This is the same as the special syscall, with the caveat that the special syscall clobbers fewer registers. This version clobbers r9-r12, XER, CTR, and CR0-1,5-7. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d9d7b990473889a17b0f54e860a65b141733799c Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Fri Mar 27 13:53:00 2015 +0200 tools: iio: generic_buffer: Fix generic scale extraction When using generic_buffer to read data, the scale is not properly detected for scale shared by type. This is caused by a problem with the generation of generic name out of the full name. E.g.: for current->name in_accel_z, the extracted generic name is "in" (when it should be "in_accel"). This is used in generic_buffer to generate scale and offset paths (in_accel_scale). Consider the in_ or out_ prefix when extracting the generic name from the full name. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8ea06893e66d03dc567845d65b42812efd71b9f3 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Mar 28 03:02:39 2015 +0300 iio: Add ABI documentation for in_rot offset value This patch adds ABI documentation entries for in_rot_offset. At least one user for these is present that is the HID Sensors Driver. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a878a1a61a1f0e4b23602ddd87b1408a7a748d0e Author: Antonio Fiol <antonio@xxxxxxx> Date: Sat Mar 28 09:07:14 2015 +0100 iio: max517: Add support for MAX520 and MAX521 chips. MAX520 and MAX521 are protocol-compatible with the already supported chips, just have more channels. Signed-off-by: Antonio Fiol <antonio@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7253606d383954c5b0470b5f27fbcedeec2e6d72 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:15 2015 +0100 iio: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7cf78db585b13d5f43e5108cca6cdc5d9682793a Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Mon Mar 16 17:18:20 2015 +0530 iio: Add ABI documentation for illuminance raw and scale values in light This patchset adds ABI documentation for the following attributes: in_illuminance_scale, used atleast once in al3320a staging/iio/light/ in_illuminance_calibscale, used atleast once in cm32181 in_illuminance_input, used in cm3232 at least once in_illuminance_raw used atleast once in al3320a in_illuminance_clear_raw and in_illuminance_ir_raw exposed by gp2ap020a00f with modifiers IIO_MOD_LIGHT_CLEAR and IIO_MOD_LIGHT_IR respectively. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3acddf74f807778f0593ab4aaf26189c93e55ff1 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Mar 18 10:52:06 2015 +0100 iio: st-sensors: add support for lis3lv02d accelerometer This adds support for the LIS3LV02 accelerometer found in the ST Microelectronics Nomadik board series. Cc: devicetree@xxxxxxxxxxxxxxx Cc: Denis CIOCCA <denis.ciocca@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 6331c686e664909988ecc35b040e1e96c137f5e0 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 27 15:11:41 2015 -0700 Bluetooth: btusb: Consolidate Broadcom based device entries For all modern Bluetooth USB devices from Broadcom it makes a lot more sense to use USB_VENDOR_AND_INTERFACE_INFO instead of manually adding USB_DEVICE for each one of them. There are already interface entries for these vendors and so just remove the duplicate device entries. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a5ed1ad07b3a75894311e12fdd401bf64d0667fe Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 14:16:38 2015 +1100 drivers/of: Add empty ranges quirk for PA-Semi The "sdc" node is missing the ranges property, it needs to be treated as having an empty one otherwise translation fails for its children. Fixes 746c9e9f92dd, "of/base: Fix PowerPC address parsing hack" Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> # v3.18+ commit 121c92cad33db29685f09e11c892b99c1b87ce7d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Jan 23 17:10:04 2015 +0100 of: Allow selection of OF_DYNAMIC and OF_OVERLAY if OF_UNITTEST Currently OF_DYNAMIC and OF_OVERLAY are not visible to the user, and are selected automatically only when needed. Allow them to be enabled manually to improve device tree unit test coverage. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 0384e8c6c6fa49dae44ffad31958e9b897da0160 Author: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Date: Wed Jan 21 19:05:57 2015 +0200 of: Empty node & property flag accessors when !OF Introduce empty node and property flag accessors when CONFIG_OF is not defined. This allows us to use them without ifdef'ing them in places where it makes sense to do so. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 41d9489319f28f06cf51731131bc353d5a6bce59 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 14:16:38 2015 +1100 drivers/of: Add empty ranges quirk for PA-Semi The "sdc" node is missing the ranges property, it needs to be treated as having an empty one otherwise translation fails for its children. Fixes 746c9e9f92dd, "of/base: Fix PowerPC address parsing hack" Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> # v3.18+ commit c03e73740d24fbe990291cd9ac2d6ae0d95b975f Author: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 12:47:25 2015 -0700 powerpc/pseries: Simplify check for suspendability during suspend/migration During suspend/migration operation we must wait for the VASI state reported by the hypervisor to become Suspending prior to making the ibm,suspend-me RTAS call. Calling routines to rtas_ibm_supend_me() pass a vasi_state variable that exposes the VASI state to the caller. This is unnecessary as the caller only really cares about the following three conditions; if there is an error we should bailout, success indicating we have suspended and woken back up so proceed to device tree update, or we are not suspendable yet so try calling rtas_ibm_suspend_me again shortly. This patch removes the extraneous vasi_state variable and simply uses the return code to communicate how to proceed. We either succeed, fail, or get -EAGAIN in which case we sleep for a second before trying to call rtas_ibm_suspend_me again. The behaviour of ppc_rtas() remains the same, but migrate_store() now returns the propogated error code on failure. Previously -1 was returned from migrate_store() in the failure case which equates to -EPERM and was clearly wrong. Signed-off-by: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx> Cc: Nathan Fontenont <nfont@xxxxxxxxxxxxxxxxxx> Cc: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 956b200a846e324322f6211034c734c65a38e550 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Mar 27 16:36:04 2015 -0700 spi: spidev: Warn loudly if instantiated from DT as "spidev" Since spidev is a detail of how Linux controls a device rather than a description of the hardware in the system we should never have a node described as "spidev" in DT, any SPI device could be a spidev so this is just not a useful description. In order to help prevent users from writing such device trees generate a warning if spidev is instantiated as a DT node without an ID in the match table. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a9eaa8130707d4013fb109b80323489c0d0111ac Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Oct 17 08:17:03 2014 -0700 regulator: Ensure unique regulator debugfs directory names If multiple regulator devices of the same type exist in a system, the regulator driver assigns generic names for the regulators it provides, and debugfs is enabled, the regulator subsystem attempts to create multiple entries with the same name in the regulator debugfs directory. This fails for all but the first regulator, resulting in multiple "Failed to create debugfs directory" log entries. To avoid the problem, prepend the debugfs directory name for a regulator with its parent device name if available, but only if no explicit regulator name was provided. Cc: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3b7843ff618f63d1776abd71de7eea9130987037 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 26 04:02:51 2015 +0000 ASoC: rsnd: add DPCM based sampling rate convert This patch supports DPCM based sampling rate convert on Renesas sound driver. It assumes... 1. SRC is implemented as FE 2. BE dai_link supports .be_hw_params_fixup Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b543b52a44c4e45283cd17721af1299049405136 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 26 04:02:32 2015 +0000 ASoC: rsnd: remove useless debug message This patch removes useless debug message. especially some kind of "probed" message will be printed from core.c if it has #define DEBUG Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f8d04e7d91f86c61dbb096d81b99cd692b87fa19 Merge: af7e2be 2f78dd7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Mar 27 16:00:39 2015 -0700 Merge branch 'asoc-fix-rcar' into HEAD commit 2f78dd7f40264697afed4c2ac0890df8f0588e49 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 26 04:02:09 2015 +0000 ASoC: rsnd: call clk_prepare/unprepare() in probe/remove clk_prepare_enable()/clk_disable_unprepare() uses mutex inside, in concretely clk_prepare()/clk_unprepare().And it uses __schedule(). Then, raw_spin_lock/unlock_irq() is called, and it breaks Renesas sound driver's spin lock irq. This patch separates thesse into clk_prepare()/clk_unprepare() and clk_enable/clk_disable. And call clk_prepare()/clk_unprepare() from probe/remove function. Special thanks to Das Biju. Reported-by: Das Biju <biju.das@xxxxxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af7e2be96623785816c1a6e521307b7af11ad016 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 26 04:01:46 2015 +0000 ASoC: rsrc-card: add .be_hw_params_fixup support for convert rate Current rsnd-dpcm-card is supporting DPCM FE/BE sound card. This patch adds .be_hw_params_fixup and enabled sampling convert rate. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 415f1cb29d3be865b034b528058c7115bc262f43 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 26 04:01:27 2015 +0000 ASoC: rsrc-card: add Renesas sampling rate convert sound card support Renesas sound card has "sampling rate convert" feature which should be implemented via DPCM. But, sound card driver point of view, it is difficult to add this DPCM feature on simple-card driver. Especially, DT binding support is very difficult. This patch implements DPCM feature on DT as Renesas specific sound card. This new driver is copied from current simple-card driver. Main difference between simple-card and this driver are... 1. removed unused feature from simple-card 2. removed driver named prefix from DT property 3. CPU will be FE, CODEC will be BE with snd-soc-dummy 4. it supports sampling rate convert via .be_hw_params_fixup 5. board specific routing is implemented in driver Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0a6a78b8b3c1c1757fbeca4bbf518e44c70c9e4b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 09:41:33 2015 +0000 ARM: add documentation for finding start of physical memory Occasionally, there's a question about the method we use to find the start of physical memory. Add some documentation so we don't have to keep repeating outselves on the mailing list. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e5b61deb3af465f11db7e5e11944ba00a33ece1f Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Wed Mar 25 19:16:05 2015 +0100 ARM: 8332/1: add CONFIG_VDSO Kconfig and Makefile bits Allow users to enable the vdso in Kconfig; include the vdso in the build if CONFIG_VDSO is enabled. Add 'vdso_install' target. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ecf99a439105ebd0a507af1a9cd901a2e166bf9a Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Wed Mar 25 19:15:08 2015 +0100 ARM: 8331/1: VDSO initialization, mapping, and synchronization Initialize the VDSO page list at boot, install the VDSO mapping at exec time, and update the data page during timer ticks. This code is not built if CONFIG_VDSO is not enabled. Account for the VDSO length when randomizing the offset from the stack. The [vdso] and [vvar] pages are placed immediately following the sigpage with separate _install_special_mapping calls. We want to "penalize" systems lacking the arch timer as little as possible. Previous versions of this code installed the VDSO unconditionally and unmodified, making it a measurably slower way for glibc to invoke the real syscalls on such systems. E.g. calling gettimeofday via glibc goes from ~560ns to ~630ns on i.MX6Q. If we can indicate to glibc that the time-related APIs in the VDSO are not accelerated, glibc can continue to invoke the syscalls directly instead of dispatching through the VDSO only to fall back to the slow path. Thus, if the architected timer is unusable for whatever reason, patch the VDSO at boot time so that symbol lookups for gettimeofday and clock_gettime return NULL. (This is similar to what powerpc does and borrows code from there.) This allows glibc to perform the syscall directly instead of passing control to the VDSO, which minimizes the penalty. In my measurements the time taken for a gettimeofday call via glibc goes from ~560ns to ~580ns (again on i.MX6Q), and this is solely due to adding a test and branch to glibc's gettimeofday syscall wrapper. An alternative to patching the VDSO at boot would be to not install the VDSO at all when the arch timer isn't usable. Another alternative is to include a separate "dummy" vdso.so without gettimeofday and clock_gettime, which would be selected at boot time. Either of these would get cumbersome if the VDSO were to gain support for an API such as getcpu which is unrelated to arch timer support. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8512287a8165592466cb9cb347ba94892e9c56a5 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Wed Mar 25 19:14:22 2015 +0100 ARM: 8330/1: add VDSO user-space code Place VDSO-related user-space code in arch/arm/kernel/vdso/. It is almost completely written in C with some assembly helpers to load the data page address, sample the counter, and fall back to system calls when necessary. The VDSO can service gettimeofday and clock_gettime when CONFIG_ARM_ARCH_TIMER is enabled and the architected timer is present (and correctly configured). It reads the CP15-based virtual counter to compute high-resolution timestamps. Of particular note is that a post-processing step ("vdsomunge") is necessary to produce a shared object which is architecturally allowed to be used by both soft- and hard-float EABI programs. The 2012 edition of the ARM ABI defines Tag_ABI_VFP_args = 3 "Code is compatible with both the base and VFP variants; the user did not permit non-variadic functions to pass FP parameters/results." Unfortunately current toolchains do not support this tag, which is ideally what we would use. The best available option is to ensure that both EF_ARM_ABI_FLOAT_SOFT and EF_ARM_ABI_FLOAT_HARD are unset in the ELF header's e_flags, indicating that the shared object is "old" and should be accepted for backward compatibility's sake. While binutils < 2.24 appear to produce a vdso.so with both flags clear, 2.24 always sets EF_ARM_ABI_FLOAT_SOFT, with no way to inhibit this behavior. So we have to fix things up with a custom post-processing step. In fact, the VDSO code in glibc does much less validation (including checking these flags) than the code for handling conventional file-backed shared libraries, so this is a bit moot unless glibc's VDSO code becomes more strict. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1713ce7c43755fe8b0f31ea317513129bf784909 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Wed Mar 25 19:13:16 2015 +0100 ARM: 8329/1: miscellaneous vdso infrastructure, preparation Define the layout of the data structure shared between kernel and userspace. Track the vdso address in the mm_context; needed for communicating AT_SYSINFO_EHDR to the ELF loader. Add declarations for arm_install_vdso; implementation is in a following patch. Define AT_SYSINFO_EHDR, and, if CONFIG_VDSO=y, report the vdso shared object address via the ELF auxiliary vector. Note - this adds the AT_SYSINFO_EHDR in a new user-visible header asm/auxvec.h; this is consistent with other architectures. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 209431eff8afb928d72200c79153165c7d860ca0 Author: Praneeth Bajjuri <praneeth@xxxxxx> Date: Wed Mar 25 18:25:09 2015 -0500 ARM: DRA7: Enable Cortex A15 errata 798181 ARM errata 798181 is applicable for OMAP5/DRA7 based devices. So enable the same in the build. DRA7xx is based on Cortex-A15 r2p2 revision. ARM Errata extract and workaround information is as below. On Cortex-A15 (r0p0..r3p2) the TLBI*IS/DSB operations are not adequately shooting down all use of the old entries. The ARM_ERRATA_798181 option enables the Linux kernel workaround for this erratum which sends an IPI to the CPUs that are running the same ASID as the one being invalidated. Signed-off-by: Praneeth Bajjuri <praneeth@xxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7145074b374dd90a4512fe52c062b336b724f276 Merge: 19cc2de 4055eae Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 27 14:26:21 2015 -0700 Merge branch 'bcmgenet-next' Petri Gynther says: ==================== net: bcmgenet: multiple Rx queues support Final patch set to add support for multiple Rx queues: 1. remove priv->int0_mask and priv->int1_mask 2. modify Tx ring int_enable and int_disable vectors 3. simplify bcmgenet_init_dma() 4. tweak init_umac() 5. rework Tx NAPI code 6. rework Rx NAPI code 7. add support for multiple Rx queues ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4055eaefb3603a2a55305c81292379922a742131 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:16 2015 -0700 net: bcmgenet: add support for multiple Rx queues Add support for multiple Rx queues: 1. Add NAPI context per Rx queue 2. Modify Rx interrupt and Rx NAPI code to handle multiple Rx queues Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ab113399b633bacb500a903d2f96f25ded2226c Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:15 2015 -0700 net: bcmgenet: rework Rx NAPI code Introduce new bcmgenet functions to handle the NAPI calls to: netif_napi_add() napi_enable() napi_disable() netif_napi_del() Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2aadb4aa9fe4619a78dd925a4756535e9bf3d74 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:14 2015 -0700 net: bcmgenet: rework Tx NAPI code Introduce new bcmgenet functions to handle the NAPI calls to: netif_napi_add() napi_enable() napi_disable() netif_napi_del() Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2e97eca88f07d1a4dae691ad8d751ba1de15645 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:12 2015 -0700 net: bcmgenet: tweak init_umac() Use more meaningful variable names int0_enable and int1_enable when enabling bcmgenet interrupts. For Rx default queue interrupts, use: UMAC_IRQ_RXDMA_BDONE | UMAC_IRQ_RXDMA_PDONE For Tx default queue interrupts, use: UMAC_IRQ_TXDMA_BDONE | UMAC_IRQ_TXDMA_PDONE Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebbd96fb2861f591df011cd0eac67dd367596cca Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:11 2015 -0700 net: bcmgenet: simplify bcmgenet_init_dma() Do the two kcalloc() calls first, before proceeding into Rx/Tx DMA init. Makes the error case handling much simpler. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9dbac28fc193e3972f566f120dce67d69a1df634 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:10 2015 -0700 net: bcmgenet: modify Tx ring int_enable and int_disable vectors Remove unnecessary function parameter priv. Use ring->priv instead. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e412b1045c3bddd31e16f9e93d6843de2482be0c Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:09 2015 -0700 net: bcmgenet: remove priv->int0_mask and priv->int1_mask Remove unused priv->int0_mask and priv->int1_mask. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d952bd070f79b6dcbad52c03dbc41cbc8ba086c8 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Dec 8 23:07:56 2014 +0000 MIPS: KVM: Wire up MSA capability Now that the code is in place for KVM to support MIPS SIMD Architecutre (MSA) in MIPS guests, wire up the new KVM_CAP_MIPS_MSA capability. For backwards compatibility, the capability must be explicitly enabled in order to detect or make use of MSA from the guest. The capability is not supported if the hardware supports MSA vector partitioning, since the extra support cannot be tested yet and it extends the state that the userland program would have to save. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx commit ab86bd600400357ffa0dfdb1797f587476d01352 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Dec 2 15:48:24 2014 +0000 MIPS: KVM: Expose MSA registers Add KVM register numbers for the MIPS SIMD Architecture (MSA) registers, and implement access to them with the KVM_GET_ONE_REG / KVM_SET_ONE_REG ioctls when the MSA capability is enabled (exposed in a later patch) and present in the guest according to its Config3.MSAP bit. The MSA vector registers use the same register numbers as the FPU registers except with a different size (128bits). Since MSA depends on Status.FR=1, these registers are inaccessible when Status.FR=0. These registers are returned as a single native endian 128bit value, rather than least significant half first with each 64-bit half native endian as the kernel uses internally. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx commit c2537ed9fb8e17d713e5e67fcede047699d25814 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Feb 6 10:56:27 2015 +0000 MIPS: KVM: Add MSA exception handling Add guest exception handling for MIPS SIMD Architecture (MSA) floating point exceptions and MSA disabled exceptions. MSA floating point exceptions from the guest need passing to the guest kernel, so for these a guest MSAFPE is emulated. MSA disabled exceptions are normally handled by passing a reserved instruction exception to the guest (because no guest MSA was supported), but the hypervisor can now handle them if the guest has MSA by passing an MSA disabled exception to the guest, or if the guest has MSA enabled by transparently restoring the guest MSA context and enabling MSA and the FPU. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 2b6009d646887cac8888f1ce8694af0beefce88b Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Feb 6 23:01:00 2015 +0000 MIPS: KVM: Emulate MSA bits in COP0 interface Emulate MSA related parts of COP0 interface so that the guest will be able to enable/disable MSA (Config5.MSAEn) once the MSA capability has been wired up. As with the FPU (Status.CU1) setting Config5.MSAEn has no immediate effect if the MSA state isn't live, as MSA state is restored lazily on first use. Changes after the MSA state has been restored take immediate effect, so that the guest can start getting MSA disabled exceptions right away for guest MSA operations. The MSA state is saved lazily too, as MSA may get re-enabled in the near future anyway. A special case is also added for when Status.CU1 is set while FR=0 and the MSA state is live. In this case we are at risk of getting reserved instruction exceptions if we try and save the MSA state, so we lose the MSA state sooner while MSA is still usable. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 539cb89fbdfe082d00be6f83d0f2140b7802151c Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Mar 5 11:43:36 2015 +0000 MIPS: KVM: Add base guest MSA support Add base code for supporting the MIPS SIMD Architecture (MSA) in MIPS KVM guests. MSA cannot yet be enabled in the guest, we're just laying the groundwork. As with the FPU, whether the guest's MSA context is loaded is stored in another bit in the fpu_inuse vcpu member. This allows MSA to be disabled when the guest disables it, but keeping the MSA context loaded so it doesn't have to be reloaded if the guest re-enables it. New assembly code is added for saving and restoring the MSA context, restoring only the upper half of the MSA context (for if the FPU context is already loaded) and for saving/clearing and restoring MSACSR (which can itself cause an MSA FP exception depending on the value). The MSACSR is restored before returning to the guest if MSA is already enabled, and the existing FP exception die notifier is extended to catch the possible MSA FP exception and step over the ctcmsa instruction. The helper function kvm_own_msa() is added to enable MSA and restore the MSA context if it isn't already loaded, which will be used in a later patch when the guest attempts to use MSA for the first time and triggers an MSA disabled exception. The existing FPU helpers are extended to handle MSA. kvm_lose_fpu() saves the full MSA context if it is loaded (which includes the FPU context) and both kvm_lose_fpu() and kvm_drop_fpu() disable MSA. kvm_own_fpu() also needs to lose any MSA context if FR=0, since there would be a risk of getting reserved instruction exceptions if CU1 is enabled and we later try and save the MSA context. We shouldn't usually hit this case since it will be handled when emulating CU1 changes, however there's nothing to stop the guest modifying the Status register directly via the comm page, which will cause this case to get hit. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 5fafd8748b366105e08c198892e9fe02ef15c021 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Dec 8 23:07:56 2014 +0000 MIPS: KVM: Wire up FPU capability Now that the code is in place for KVM to support FPU in MIPS KVM guests, wire up the new KVM_CAP_MIPS_FPU capability. For backwards compatibility, the capability must be explicitly enabled in order to detect or make use of the FPU from the guest. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx commit 379245cdf1d1efc1eccc38bf0cc985dae232123d Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Dec 2 15:48:24 2014 +0000 MIPS: KVM: Expose FPU registers Add KVM register numbers for the MIPS FPU registers, and implement access to them with the KVM_GET_ONE_REG / KVM_SET_ONE_REG ioctls when the FPU capability is enabled (exposed in a later patch) and present in the guest according to its Config1.FP bit. The registers are accessible in the current mode of the guest, with each sized access showing what the guest would see with an equivalent access, and like the architecture they may become UNPREDICTABLE if the FR mode is changed. When FR=0, odd doubles are inaccessible as they do not exist in that mode. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx commit 1c0cd66adbac8aa339b9521eceb18b00d1b0699e Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Feb 6 10:56:27 2015 +0000 MIPS: KVM: Add FP exception handling Add guest exception handling for floating point exceptions and coprocessor 1 unusable exceptions. Floating point exceptions from the guest need passing to the guest kernel, so for these a guest FPE is emulated. Also, coprocessor 1 unusable exceptions are normally passed straight through to the guest (because no guest FPU was supported), but the hypervisor can now handle them if the guest has its FPU enabled by restoring the guest FPU context and enabling the FPU. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 6cdc65e31d4f70561d71eeaf34a2a70ab68bf146 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Feb 3 13:59:38 2015 +0000 MIPS: KVM: Emulate FPU bits in COP0 interface Emulate FPU related parts of COP0 interface so that the guest will be able to enable/disable the following once the FPU capability has been wired up: - The FPU (Status.CU1) - 64-bit FP register mode (Status.FR) - Hybrid FP register mode (Config5.FRE) Changing Status.CU1 has no immediate effect if the FPU state isn't live, as the FPU state is restored lazily on first use. After that, changes take place immediately in the host Status.CU1, so that the guest can start getting coprocessor unusable exceptions right away for guest FPU operations if it is disabled. The FPU state is saved lazily too, as the FPU may get re-enabled in the near future anyway. Any change to Status.FR causes the FPU state to be discarded and FPU disabled, as the register state is architecturally UNPREDICTABLE after such a change. This should also ensure that the FPU state is fully initialised (with stale state, but that's fine) when it is next used in the new FP mode. Any change to the Config5.FRE bit is immediately updated in the host state so that the guest can get the relevant exceptions right away for single-precision FPU operations. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 98e91b8457d81f53fab990fac6c57e2a43c47627 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Nov 18 14:09:12 2014 +0000 MIPS: KVM: Add base guest FPU support Add base code for supporting FPU in MIPS KVM guests. The FPU cannot yet be enabled in the guest, we're just laying the groundwork. Whether the guest's FPU context is loaded is stored in a bit in the fpu_inuse vcpu member. This allows the FPU to be disabled when the guest disables it, but keeping the FPU context loaded so it doesn't have to be reloaded if the guest re-enables it. An fpu_enabled vcpu member stores whether userland has enabled the FPU capability (which will be wired up in a later patch). New assembly code is added for saving and restoring the FPU context, and for saving/clearing and restoring FCSR (which can itself cause an FP exception depending on the value). The FCSR is restored before returning to the guest if the FPU is already enabled, and a die notifier is registered to catch the possible FP exception and step over the ctc1 instruction. The helper function kvm_lose_fpu() is added to save FPU context and disable the FPU, which is used when saving hardware state before a context switch or KVM exit (the vcpu_get_regs() callback). The helper function kvm_own_fpu() is added to enable the FPU and restore the FPU context if it isn't already loaded, which will be used in a later patch when the guest attempts to use the FPU for the first time and triggers a co-processor unusable exception. The helper function kvm_drop_fpu() is added to discard the FPU context and disable the FPU, which will be used in a later patch when the FPU state will become architecturally UNPREDICTABLE (change of FR mode) to force a reload of [stale] context in the new FR mode. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit b86ecb3766abd9138289ff2a18381d25b73f4622 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Feb 9 16:35:20 2015 +0000 MIPS: KVM: Add vcpu_get_regs/vcpu_set_regs callback Add a vcpu_get_regs() and vcpu_set_regs() callbacks for loading and restoring context which may be in hardware registers. This may include floating point and MIPS SIMD Architecture (MSA) state which may be accessed directly by the guest (but restored lazily by the hypervisor), and also dedicated guest registers as provided by the VZ ASE. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit c771607af959f282704268a209743560d3264eb3 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jun 26 15:11:29 2014 +0100 MIPS: KVM: Add Config4/5 and writing of Config registers Add Config4 and Config5 co-processor 0 registers, and add capability to write the Config1, Config3, Config4, and Config5 registers using the KVM API. Only supported bits can be written, to minimise the chances of the guest being given a configuration from e.g. QEMU that is inconsistent with that being emulated, and as such the handling is in trap_emul.c as it may need to be different for VZ. Currently the only modification permitted is to make Config4 and Config5 exist via the M bits, but other bits will be added for FPU and MSA support in future patches. Care should be taken by userland not to change bits without fully handling the possible extra state that may then exist and which the guest may begin to use and depend on. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 2211ee810ac6fdcdb42b7a126e20d1b4e5c55124 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Mar 4 15:56:47 2015 +0000 MIPS: KVM: Simplify default guest Config registers Various semi-used definitions exist in kvm_host.h for the default guest config registers. Remove them and use the appropriate values directly when initialising the Config registers. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 7bd4acec42670a18b023392db6f4bfaa4dee179e Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Dec 2 15:47:04 2014 +0000 MIPS: KVM: Clean up register definitions a little Clean up KVM_GET_ONE_REG / KVM_SET_ONE_REG register definitions for MIPS, to prepare for adding a new group for FPU & MSA vector registers. Definitions are added for common bits in each group of registers, e.g. KVM_REG_MIPS_CP0 = KVM_REG_MIPS | 0x10000, for the coprocessor 0 registers. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 58a115bcec06f2de26923bc13e88cb73b780ae41 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jun 26 15:21:11 2014 +0100 MIPS: KVM: Drop pr_info messages on init/exit The information messages when the KVM module is loaded and unloaded are a bit pointless and out of line with other architectures, so lets drop them. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit e93d4c159caaf746422c1af4c4f09fce9b456f8c Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jun 26 13:47:22 2014 +0100 MIPS: KVM: Sort kvm_mips_get_reg() registers Sort the registers in the kvm_mips_get_reg() switch by register number, which puts ERROREPC after the CONFIG registers. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 1068eaaf2f64ffb44d97fbaa9ff7a4662b76cf9e Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jun 26 13:56:52 2014 +0100 MIPS: KVM: Implement PRid CP0 register access Implement access to the guest Processor Identification CP0 register using the KVM_GET_ONE_REG and KVM_SET_ONE_REG ioctls. This allows the owning process to modify and read back the value that is exposed to the guest in this register. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 0a5604272d80c985f87de959f0bb7e36fd53d3c7 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Feb 6 16:03:57 2015 +0000 MIPS: KVM: Handle TRAP exceptions from guest kernel Trap instructions are used by Linux to implement BUG_ON(), however KVM doesn't pass trap exceptions on to the guest if they occur in guest kernel mode, instead triggering an internal error "Exception Code: 13, not yet handled". The guest kernel then doesn't get a chance to print the usual BUG message and stack trace. Implement handling of the trap exception so that it gets passed to the guest and the user is left with a more useful log message. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: kvm@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx commit 64bedffe496820dbb6b53302d80dd0f04db33d8e Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Dec 2 13:44:13 2014 +0000 MIPS: Clear [MSA]FPE CSR.Cause after notify_die() When handling floating point exceptions (FPEs) and MSA FPEs the Cause bits of the appropriate control and status register (FCSR for FPEs and MSACSR for MSA FPEs) are read and cleared before enabling interrupts, presumably so that it doesn't have to go through the pain of restoring those bits if the process is pre-empted, since writing those bits would cause another immediate exception while still in the kernel. The bits aren't normally ever restored again, since userland never expects to see them set. However for virtualisation it is necessary for the kernel to be able to restore these Cause bits, as the guest may have been interrupted in an FP exception handler but before it could read the Cause bits. This can be done by registering a die notifier, to get notified of the exception when such a value is restored, and if the PC was at the instruction which is used to restore the guest state, the handler can step over it and continue execution. The Cause bits can then remain set without causing further exceptions. For this to work safely a few changes are made: - __build_clear_fpe and __build_clear_msa_fpe no longer clear the Cause bits, and now return from exception level with interrupts disabled instead of enabled. - do_fpe() now clears the Cause bits and enables interrupts after notify_die() is called, so that the notifier can chose to return from exception without this happening. - do_msa_fpe() acts similarly, but now actually makes use of the second argument (msacsr) and calls notify_die() with the new DIE_MSAFP, allowing die notifiers to be informed of MSA FPEs too. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 98119ad53376885819d93dfb8737b6a9a61ca0ba Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Feb 6 11:11:56 2015 +0000 MIPS: KVM: Handle MSA Disabled exceptions from guest Guest user mode can generate a guest MSA Disabled exception on an MSA capable core by simply trying to execute an MSA instruction. Since this exception is unknown to KVM it will be passed on to the guest kernel. However guest Linux kernels prior to v3.15 do not set up an exception handler for the MSA Disabled exception as they don't support any MSA capable cores. This results in a guest OS panic. Since an older processor ID may be being emulated, and MSA support is not advertised to the guest, the correct behaviour is to generate a Reserved Instruction exception in the guest kernel so it can send the guest process an illegal instruction signal (SIGILL), as would happen with a non-MSA-capable core. Fix this as minimally as reasonably possible by preventing kvm_mips_check_privilege() from relaying MSA Disabled exceptions from guest user mode to the guest kernel, and handling the MSA Disabled exception by emulating a Reserved Instruction exception in the guest, via a new handle_msa_disabled() KVM callback. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ commit 8e6c94910320e8ff0f6a4f2fdd809f50289d2852 Merge: b3a2a90 1f3a2c6 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Mar 27 19:03:40 2015 +0000 Merge branch '4.1-fp' of git://git.linux-mips.org/pub/scm/ralf/upstream-sfr into kvm_mips_queue MIPS FP/MSA fixes from the MIPS tree. Includes a fix to ensure that the FPU is properly disabled by lose_fpu() when MSA is in use, and Paul Burton's "FP/MSA fixes" patchset which is required for FP/MSA support in KVM: > This series fixes a bunch of bugs, both build & runtime, with FP & MSA > support. Most of them only affect systems with the new FP modes & MSA > support enabled but patch 6 in particular is more general, fixing > problems for mips64 systems. commit 19cc2dec8ab0fd258b023be1835aa8d710232877 Merge: 5a352dd 6772b65 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 27 14:18:52 2015 -0700 Merge branch 'xgene-next' Iyappan Subramanian says: ==================== drivers: net: xgene: Add separate tx completion ring SGMII based 1GbE and 10GbE interfaces support multiple interrupts. Adding separate tx completion descriptor ring and associating a dedicated irq for the TX completion. ==================== Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> commit 6772b653f8c2fd0a54a23da28a0a761685deec85 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Wed Mar 25 12:19:12 2015 -0700 drivers: net: xgene: Add separate tx completion ring - Added wrapper functions around napi_add, napi_del, napi_enable and napi_disable - Moved platform_get_irq function call after reading phy_mode - Associating the new irq to tx completion for the supported ethernet interfaces Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d31346494bd2b1185949dc64ab6467186b80fb05 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Wed Mar 25 12:19:11 2015 -0700 dtb: xgene: Add interrupt for Tx completion Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e7d638ab1542d22ff9b14e56f323e1f6cd25cf1 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Wed Mar 25 12:19:10 2015 -0700 Documentation: dts: xgene: Update interrupt field description Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5116ede10dc92d7a11a38fc59f545c24a33809cd Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Mar 27 17:25:21 2015 +0800 ASoC: max98925: Fix bit-width 24 settings in max98925_dai_hw_params Trivial typo fix. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Anish Kumar <Anish.Kumar@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ff27a3443addb19af609245b218fa510c7d37dd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Mar 27 20:21:01 2015 +0100 drm/i915: Update DRIVER_DATE to 20150327 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1f3a2c6e229ccb8df8115b04d16ad4832767cf3a Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Jan 30 12:09:39 2015 +0000 MIPS: MSA: Fix big-endian FPR_IDX implementation The maximum word size is 64-bits since MSA state is saved using st.d which stores two 64-bit words, therefore reimplement FPR_IDX using xor, and only within each 64-bit word. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9169/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 466aec5f292be469e15b3dc3d17b731dab93727c Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Jan 30 12:09:38 2015 +0000 Revert "MIPS: Don't assume 64-bit FP registers for context switch" This reverts commit 02987633df7ba2f62967791dda816eb191d1add3. The basic premise of the patch was incorrect since MSA context (including FP state) is saved using st.d which stores two consecutive 64-bit words in memory rather than a single 128-bit word. This means that even with big endian MSA, the FP state is still in the first 64-bit word. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9168/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 84ab45b33858a87632e1f5e207e302bf48eaf52e Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:37 2015 +0000 MIPS: disable FPU if the mode is unsupported The expected semantics of __enable_fpu are for the FPU to be enabled in the given mode if possible, otherwise for the FPU to be left disabled and SIGFPE returned. The FPU was incorrectly being left enabled in cases where the desired value for FR was unavailable. Without ensuring the FPU is disabled in this case, it would be possible for userland to go on to execute further FP instructions natively in the incorrect mode, rather than those instructions being trapped & emulated as they need to be. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9167/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ac9ad83bc318635ed7496e9dff30beaa522eaec7 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:36 2015 +0000 MIPS: prevent FP context set via ptrace being discarded If a ptracee has not used the FPU and the ptracer sets its FP context using PTRACE_POKEUSR, PTRACE_SETFPREGS or PTRACE_SETREGSET then that context will be discarded upon either the ptracee using the FPU or a further write to the context via ptrace. Prevent this loss by recording that the task has "used" math once its FP context has been written to. The context initialisation code that was present for the PTRACE_POKEUSR case is reused for the other 2 cases to provide consistent behaviour for the different ptrace requests. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9166/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ad70c13a938daf833cad86830f23865ee37aa5c7 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:35 2015 +0000 MIPS: Ensure FCSR cause bits are clear after invoking FPU emulator When running the emulator to handle an instruction that raised an FP unimplemented operation exception, the FCSR cause bits were being cleared. This is done to ensure that the kernel does not take an FP exception when later restoring FP context to registers. However, this was not being done when the emulator is invoked in response to a coprocessor unusable exception. This happens in 2 cases: - There is no FPU present in the system. In this case things were OK, since the FP context is never restored to hardware registers and thus no FP exception may be raised when restoring FCSR. - The FPU could not be configured to the mode required by the task. In this case it would be possible for the emulator to set cause bits which are later restored to hardware if the task migrates to a CPU whose associated FPU does support its mode requirements, or if the tasks FP mode requirements change. Consistently clear the cause bits after invoking the emulator, by moving the clearing to process_fpemu_return and ensuring this is always called before the tasks FP context is restored. This will make it easier to catch further paths invoking the emulator in future, as will be introduced in further patches. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9165/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 091be550a70a086c3b4420c6155e733dc410f190 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:34 2015 +0000 MIPS: clear MSACSR cause bits when handling MSA FP exception Much like for traditional scalar FP exceptions, the cause bits in the MSACSR register need to be cleared following an MSA FP exception. Without doing so the exception will simply be raised again whenever the kernel restores MSACSR from a tasks saved context, leading to undesirable spurious exceptions. Clear the cause bits from the handle_msa_fpe function, mirroring the way handle_fpe clears the cause bits in FCSR. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9164/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e1bebbab1eaecac77d77033010b5e0f51b737e64 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:33 2015 +0000 MIPS: wrap cfcmsa & ctcmsa accesses for toolchains with MSA support Uses of the cfcmsa & ctcmsa instructions were not being wrapped by a macro in the case where the toolchain supports MSA, since the arguments exactly match a typical use of the instructions. However using current toolchains this leads to errors such as: arch/mips/kernel/genex.S:437: Error: opcode not supported on this processor: mips32r2 (mips32r2) `cfcmsa $5,1' Thus uses of the instructions must be in the context of a ".set msa" directive, however doing that from the users of the instructions would be messy due to the possibility that the toolchain does not support MSA. Fix this by renaming the macros (prepending an underscore) in order to avoid recursion when attempting to emit the instructions, and provide implementations for the TOOLCHAIN_SUPPORTS_MSA case which ".set msa" as appropriate. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9163/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a3a49810c55e3489dfb5d72a9b2e41ab1db9ffb9 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:32 2015 +0000 MIPS: remove MSA macro recursion Recursive macros made the code more concise & worked great for the case where the toolchain doesn't support MSA. However, with toolchains which do support MSA they lead to build failures such as: arch/mips/kernel/r4k_switch.S: Assembler messages: arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w(0+1)[2],$1' arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w(0+1)[3],$1' arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w((0+1)+1)[2],$1' arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w((0+1)+1)[3],$1' ... Drop the recursion from msa_init_all_upper invoking the msa_init_upper macro explicitly for each vector register. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9162/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f23ce3883a30743a5b779dc6fb90ca8620688a23 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:31 2015 +0000 MIPS: assume at as source/dest of MSA copy/insert instructions Assuming at ($1) as the source or destination register of copy or insert instructions: - Simplifies the macros providing those instructions for toolchains without MSA support. - Avoids an unnecessary move instruction when at is used as the source or destination register anyway. - Is sufficient for the uses to be introduced in the kernel by a subsequent patch. Note that due to a patch ordering snafu on my part this also fixes the currently broken build with MSA support enabled. The build has been broken since commit c9017757c532 "MIPS: init upper 64b of vector registers when MSA is first used", which this patch should have preceeded. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9161/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 631afc65e8f4f845945ef9e90236d10cee601498 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Mar 27 17:00:03 2015 +0000 MIPS: Push .set mips64r* into the functions needing it The {save,restore}_fp_context{,32} functions require that the assembler allows the use of sdc instructions on any FP register, and this is acomplished by setting the arch to mips64r2 or mips64r6 (using MIPS_ISA_ARCH_LEVEL_RAW). However this has the effect of enabling the assembler to use mips64 instructions in the expansion of pseudo-instructions. This was done in the (now-reverted) commit eec43a224cf1 "MIPS: Save/restore MSA context around signals" which led to my mistakenly believing that there was an assembler bug, when in reality the assembler was just emitting mips64 instructions. Avoid the issue for future commits which will add code to r4k_fpu.S by pushing the .set MIPS_ISA_ARCH_LEVEL_RAW directives into the functions that require it, and remove the spurious assertion declaring the assembler bug. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> [james.hogan@xxxxxxxxxx: Rebase on v4.0-rc1 and reword commit message to reflect use of MIPS_ISA_ARCH_LEVEL_RAW] Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9612/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit acaf6a97d623af123314c2f8ce4cf7254f6b2fc1 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Feb 25 13:08:05 2015 +0000 MIPS: lose_fpu(): Disable FPU when MSA enabled The lose_fpu() function only disables the FPU in CP0_Status.CU1 if the FPU is in use and MSA isn't enabled. This isn't necessarily a problem because KSTK_STATUS(current), the version of CP0_Status stored on the kernel stack on entry from user mode, does always get updated and gets restored when returning to user mode, but I don't think it was intended, and it is inconsistent with the case of only the FPU being in use. Sometimes leaving the FPU enabled may also mask kernel bugs where FPU operations are executed when the FPU might not be enabled. So lets disable the FPU in the MSA case too. Fixes: 33c771ba5c5d ("MIPS: save/disable MSA in lose_fpu") Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9323/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a7a484bfca218f9671a3e3bc98851eab6b628310 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Mar 26 12:46:30 2015 +0100 at86rf230: fix is_tx while error handling This patch fix the error handling when is_tx is true. The error handling tries to get the transceiver into RX_AACK_ON mode then we need to be sure that is_tx is false. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3ff7092bc83b50e831c43d83141084756f4e6ae1 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Mar 26 12:46:29 2015 +0100 at86rf230: remove unnecessary spinlock This spinlock isn't necessary because if we are in TX_ON/TX_ARET_ON state the transceiver can't be interrupted e.g. by receiving a frame when a SHR was detected. In this time the transceiver doesn't leave the TX_ON/TX_ARET_ON state until the tx complete irq change the state into RX_AACK_ON again. This means a receiving interrupt in state TX_ON/TX_ARET_ON can't happen and is_tx is protected by transceiver. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8bf9538a5de5f6496993fb294ef606e453232ea4 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Mar 26 12:46:28 2015 +0100 mac802154: cleanup concurrent check This patch cleanups the checking of different mac phy depended values by handling depended mac settings per hw support flag in one condition. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1006e3c93161431c81135b8a23fbfa69dcd43ab0 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:01 2015 -0800 CLK: Add binding document for Pistachio clock controllers Add a device-tree binding document describing the four clock controllers present on the IMG Pistachio SoC. Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx> 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: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9319/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a6b188e50a6ad6fa4d2da163a44f21280cea01c2 Merge: 6248015 edec178 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Mar 27 10:42:16 2015 -0700 Merge tag 'for-v4.1/omap-hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.1/soc OMAP hwmod data changes for AM43xx and DRA7xx for v4.1 Add support for the AM43xx HDQ/1-wire driver and fix the GPTIMER data for DRA7xx. Note that I do not have AM43xx nor DRA7xx boards, and cannot test these patches on those platforms. Basic build, boot, and PM test logs are available at: http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v4.1/20150324185246/ commit 8cc7f33aadc8fb37b5a3f4c46f5fa83748a92a01 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Mar 13 00:38:39 2015 -0700 mtd: spi-nor: factor out replace-able flash_{lock,unlock} Flash lock/unlock is a flash-specific operations. Factor out a callback for it to more readily support other vendors. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: VIET NGA DAO <vndao@xxxxxxxxxx> commit 373225510f9608150a18b3491e756fbf3f58ff24 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Mar 27 20:19:09 2015 +0800 ASoC: rt5645: Restore HP depop setting in HP off This driver will set RT5645_DEPOP_MAN bit in headphone power up depop process. We need to restore it in headphone power down process. Otherwise, we will get headphone noise when push button function is enabled. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1b5d0160e8f17db0714016a2550d3b1d65c70c3e Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Mar 27 20:19:08 2015 +0800 ASoC: rt5645: Use update_bits for bit control In codec bias level off, we need to disable gate mode with MCLK for power saving. It is set by one bit. We don't need to write while register for that. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit afefc12801e501fea90f1d9a678e0985f47dc1bf Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Mar 27 20:19:07 2015 +0800 ASoC: rt5645: Set use_single_rw flag for regmap RT5645 doesn't support auto incrementing writes so driver should set the use_single_rw flag for regmap. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 57bf27365c56b547097253004768904419df6c69 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Mar 27 20:19:06 2015 +0800 ASoC: rt5645: Redefine format config for rt5650 rt5650 and rt5645 use different register bits for format configuration. This patch modifies rt5645_hw_params and rt5645_set_dai_fmt to support both codecs. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8c18d76bcba874e872410ca63c7e59b10aafa17d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 16:40:07 2015 -0400 NFS: Block new writes while syncing data in nfs_getattr() Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5bb89b4702e22981445ae01af733a57d1cae2018 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 14:14:42 2015 -0400 NFSv4.1/pnfs: Separate out metadata and data consistency for pNFS The LAYOUTCOMMIT operation means different things to different layout types. For blocks and objects, it is both a data and metadata consistency operation. For files and flexfiles, it is only a metadata consistency operation. This patch separates out the 2 cases, allowing the files/flexfiles layout drivers to optimise away the data consistency calls to layoutcommit. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7140171ea9be4143736c35acf6f31b6feb195ca0 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 12:36:13 2015 -0400 NFSv4.1/pnfs: Ensure we send layoutcommit before return-on-close We must not send a close or delegreturn that would result in a return-on-close of the layout without ensuring that we've also sent the necessary layoutcommit. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a0815d556d1cfb686b46995f86fb081f623fa720 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 18:58:53 2015 -0400 NFSv4.1/pnfs: Ensure that writes respect the O_SYNC flag when doing O_DIRECT If the caller does not specify the O_SYNC flag, then it is legitimate to return from O_DIRECT without doing a pNFS layoutcommit operation. However if the file is opened O_DIRECT|O_SYNC then we'd better get it right. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9e1681c2e74bdd84bad6f74b47a4d88ad2f433df Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 17:23:31 2015 -0400 NFSv4: Truncating file opens should also sync O_DIRECT writes We don't just want to sync out buffered writes, but also O_DIRECT ones. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit d9dabc1a01656868d53a1d08309ca24d922b1376 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Mar 26 15:55:49 2015 -0400 NFS: File unlock needs to be a metadata synchronisation point File unlock needs to update both data and metadata on the NFS server in order to act as a synchronisation point for other clients. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4d346bea8f0bf6d6351037899586a85435c15b9b Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 16:38:33 2015 -0400 NFS: Add a helper to sync both O_DIRECT and buffered writes Then apply it to nfs_setattr() and nfs_getattr(). Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 67af7611ec57dbcbc96f9d9daa4d3c7b0999aa73 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 20:40:38 2015 -0400 NFSv4.1/pnfs: Refactor pnfs_set_layoutcommit() pnfs_set_layoutcommit() and pnfs_commit_set_layoutcommit() are 100% identical except for the function arguments. Refactor to eliminate the difference. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 29559b11aef072f893cd32280dcec9d7380ca011 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 20:10:20 2015 -0400 NFSv4.1/pnfs: Fix setting of layoutcommit last write byte If the NFS_INO_LAYOUTCOMMIT flag was unset, then we _must_ ensure that we also reset the last write byte (lwb) for that layout. The current code depends on us clearing the lwb when we clear NFS_INO_LAYOUTCOMMIT, which is not the case when we call pnfs_clear_layoutcommit(). Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 415320fc14eca40b564d1797e68895d15b51ac49 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 13:26:18 2015 -0400 NFSv4: Return the delegation before returning the layout in evict_inode() Minor optimisation for the case where the layout has return-on-close enabled. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 81b79afb504870a31ee1f764e81a202685cde795 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 19:09:08 2015 -0400 NFSv4: Allow tracing of NFSv4 fsync calls I appear to have missed this when adding the ftrace probes. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 65dd82ae453f5290be0ea83ed0f23163ea49c0eb Author: Johan Hovold <johan@xxxxxxxxxx> Date: Fri Mar 27 17:33:38 2015 +0100 USB: f81232: fix some minor style issues Fix some really minor coding-style issues. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit fc87701b918c05c2d78f8191f5bc3c6c178bdb3d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 9 17:25:14 2015 -0400 NFS: Fix free_deveiceid -> free_deviceid Make it easier to grep for these functions by name. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit df52699e4fcefe30ebe4f1db48bd161254a0b102 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 9 14:48:32 2015 -0400 NFSv4.1: Don't cache deviceids that have no notifications The spec says that once all layouts that reference a given deviceid have been returned, then we are only allowed to continue to cache the deviceid if the metadata server supports notifications. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4e59080397faadee59d39ffa2116dc8607adc9c9 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 9 14:01:25 2015 -0400 NFSv4.1: Allow getdeviceinfo to return notification info back to caller We are only allowed to cache deviceinfo if the server supports notifications and actually promises to call us back when changes occur. Right now, we request those notifications, but then we don't check the server's reply. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fb1458f4578c8dc78dc124de2a58950a6d4e3492 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 9 15:37:00 2015 -0400 NFSv4.1: Cleanup - don't opencode nfs4_put_deviceid_node() There really is no reason to do so. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 84a80f62f71beac20a426709c04b49f2bd352291 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 9 15:23:35 2015 -0400 NFSv4.1: Convert pNFS deviceid to use kfree_rcu() Use of synchronize_rcu() when unmounting and potentially freeing a lot of deviceids is problematic. There really is no reason why we can't just use kfree_rcu() here. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 27842bb18b004a2802f4b3221c79ce638c4bf6ee Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:39 2015 -0700 mmc: Remove msm_sdcc driver This driver is orphaned now that mach-msm has been removed. Delete it. Cc: Chris Ball <chris@xxxxxxxxxx> Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 8c7b69ae430c449414b34230946ef707ea95dcc6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:35 2015 -0700 gpio: Remove gpio-msm-v1 driver This driver is orphaned now that mach-msm has been removed. Delete it. Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit c0c89fafa289ea241ba3fb22d6f583f8089a719e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:34 2015 -0700 ARM: Remove mach-msm and associated ARM architecture code The maintainers for mach-msm no longer have any plans to support or test the platforms supported by this architecture[1]. Most likely there aren't any active users of this code anyway, so let's delete it. [1] http://lkml.kernel.org/r/20150307031212.GA8434@xxxxxxxxxx Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 96ee85c06515407453e2ac09d6fbdece0c791087 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:28 2015 +0800 USB: f81232: modify/add author Add me to co-author and fix no '>' in greg kh's email Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 9e7d953bbf746cf704238965a716e0afcfe0f5f4 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:27 2015 +0800 USB: f81232: cleanup non-used define We remove non-used define in this patch to avoid wrong usage. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 88d35cffff83cc0b11d6e7a2bef73b602f156da0 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:26 2015 +0800 USB: f81232: clarify f81232_ioctl() and fix We extract TIOCGSERIAL section in f81232_ioctl() to f81232_get_serial_info() to make it clarify. Also we fix device type from 16654 to 16550A, and set it's baud_base to 115200 (1.8432MHz/16). Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 8bb4ca6b56bdf65944d0848561ea8dcf53a87507 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:25 2015 +0800 USB: f81232: implement set_termios() The original driver had do not any h/w change in driver. This patch implements with configure H/W for baud/parity/word length/stop bits functional in f81232_set_termios(). This patch also implement DTR/RTS control when baudrate B0. We drop DTR/RTS when B0, otherwise enable it. We are checking baudrate in set_termios() too, If baudrate larger then 115200, it will be changed to 115200 and use tty_encode_baud_rate() to encode into tty Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 94f87309fb12e3d41dbc56df899f3b357277d0bf Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:24 2015 +0800 USB: f81232: implement port enable/disable method We put FCR/IER initial step to f81232_port_enable()/f81232_port_disable(). When port is open, it set MSR interrupt on. Otherwise set it off. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 691545fd92551baea6207781b33c95aa6444bf0d Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:23 2015 +0800 USB: f81232: implement MCR/MSR function This patch implement relative MCR/MSR function, such like tiocmget()/tiocmset()/dtr_rts()/carrier_raised() original f81232_carrier_raised() compared with wrong value UART_DCD. It's should compared with UART_MSR_DCD. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 87fe5adcd8de001160d9208def72cc11f3780845 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:22 2015 +0800 USB: f81232: implement read IIR/MSR with endpoint The interrupt endpoint will report current IIR. If we got IIR with MSR changed , We will do read MSR with interrupt_work worker to do f81232_read_msr() function. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 7139c932859f5b35b5a928b445e03f5a43610fa7 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:21 2015 +0800 USB: f81232: change lock mechanism The original driver lock with spin_lock_irqsave()/spin_unlock_irqrestore() because of it's maybe used in interrupt context f81232_process_read_urb(). We had remove it from previous patch "implement RX bulk-in EP", so we can change it from busying loop spin_lock to sleepable mutex_lock. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 8885078949fbb78c6be39ed2c653e4e883568e2f Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:20 2015 +0800 USB: f81232: implement RX bulk-in EP The F81232 bulk-in is RX data + LSR channel, data format is [LSR+Data][LSR+Data]..... , We had implemented in f81232_process_read_urb(). Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> [johan: reword comment in process_read_urb ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit b830d07dc3f6891cd4788f651fa240d32fdbc068 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:19 2015 +0800 USB: f81232: rename private struct member name Change private struct member name from line_status to modem_status. It will store MSR for some functions used Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 2c0ed6349287a15f7be73bba00e520106087cd1b Author: Lu, Han <han.lu@xxxxxxxxx> Date: Fri Mar 27 15:03:57 2015 +0800 ASoC: Intel: fix warning reported by static check tool smatch The smatch tool report warning: ... CHECK sound/soc/intel/sst-haswell-pcm.c sound/soc/intel/sst-haswell-pcm.c:1110 hsw_pcm_probe() error: buffer overflow\ 'hsw_dais' 4 <= 4 sound/soc/intel/sst-haswell-pcm.c:1112 hsw_pcm_probe() error: buffer overflow\ 'hsw_dais' 4 <= 4 ... fix it by use its own struct member for post-process module, rather than sharing unused pcm member. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Acked-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5fcdfacc01f3a3415b75acb172cd75c9fe1cbda5 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 13:19:42 2015 -0400 NFSv4: Return delegations synchronously in evict_inode Kinglong Mee reports that asynchronous delegations are being killed by the call to rpc_shutdown_client() when unmounting. This can lead to state leakage on the server until the client lease expires. Reported-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0695314ef0920b745423510f1e96bf60415a404a Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 23 16:10:00 2015 -0400 SUNRPC: Fix a regression when reconnecting If the task needs to give up the socket lock in order to allow a reconnect to occur, then it must also clear the 'rq_bytes_sent' field so that when it retransmits, it knows to start from the beginning. Fixes: 718ba5b87343 ("SUNRPC: Add helpers to prevent socket create from racing") Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 255c03d15a29a3ccb7a40d247f02bf38ba3f3592 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:38 2015 +0100 libata: Add tracepoints Add some tracepoints for ata_qc_issue, ata_qc_complete, and ata_eh_link_autopsy. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a1524f226a02aa6edebd90ae0752e97cfd78b159 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:37 2015 +0100 libata-eh: Set 'information' field for autosense If NCQ autosense or the sense data reporting feature is enabled the LBA of the offending command should be stored in the sense data 'information' field. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit fe7173c206de63fc28475ee6ae42ff95c05692de Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:36 2015 +0100 libata: Implement support for sense data reporting ACS-4 defines a sense data reporting feature set. This patch implements support for it. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 42b966fbf35da9c87f08d98f9b8978edf9e717cf Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:35 2015 +0100 libata: Implement NCQ autosense Some newer devices support NCQ autosense (cf ACS-4), so we should be using it to retrieve the sense code and speed up recovery. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 1308d7f0107b264b480e7048dc345fc6b7408e7e Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:34 2015 +0100 libata: use status bit definitions in ata_dump_status() Use the bit definitions for better readability. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 27f00e53af72702d3a9e6f75590e66fe04914149 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:33 2015 +0100 ide,ata: Rename ATA_IDX to ATA_SENSE ATA-8 defines bit 1 as 'ATA_SENSE', not 'ATA_IDX'. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 8ae720449fca4b1d0294c0a0204c0c45556a3e61 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:32 2015 +0100 libata: whitespace fixes in ata_to_sense_error() Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 825e2d878319faf75a0cd432fa92f290f6ffd130 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:31 2015 +0100 libata: whitespace cleanup in ata_get_cmd_descript() Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9faa643855df6f673f08543576c759b82dd270d3 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:30 2015 +0100 libata: use READ_LOG_DMA_EXT If READ_LOG_DMA_EXT is supported we should try to use it for reading the log pages. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3b10db23c0411524357c5834731df2e24897b53b Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Fri Mar 27 17:37:10 2015 +0200 i2c: dln2: set the device tree node of the adapter This patch makes sure the platform device tree node is inherited by the adapter device. This allows the DLN2 bus to work with i2c devices defined in the device tree. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d9e1f4417a43cd0871253b2158eae07a48d656b5 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Mar 17 03:51:13 2015 -0400 i2c: davinci: fixup wait_for_completion_timeout handling wait_for_completion_timeout return 0 (timeout) or >=1 (completion) so the check for >= 0 is always true and can be dropped implying that r==-EREMOTEIO and thus the return of -EREMOTEIO can be done in the if (dev->buf_len) branch. As wait_for_completion_timeout returns unsigned long not int, and int r is exclusively used for wait_for_completion_timeout it is renamed and the type changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9c836d0c44798227a75c410cf33a76992cf93437 Author: Amit Tomar <Amit.Tomar@xxxxxxxxxxxxx> Date: Fri Mar 27 18:19:00 2015 +0530 i2c: mpc: Fix ISR return value ISR should not return IRQ_HANDLED for not handling anything. This patch fixes the return value of ISR for the same case. Signed-off-by: Amit Singh Tomar <amit.tomar@xxxxxxxxxxxxx> Acked-by: Danielle Costantino <danielle.costantino@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 98e982b3a29829b676b723e42c1184c87e5242d0 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 09:26:39 2015 +0100 i2c: slave-eeprom: add more info when to increase the pointer It is a bit subtle when to correctly increase the buffer index when reading. Make this clearer by adding some more comments and pointers to the docs. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d0c892f59c918535f902caea63637af87d931d91 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 09:26:38 2015 +0100 i2c: slave: add documentation for i2c-slave-eeprom Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7c6037508357b553670a713ec537b8a76941b952 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 09:26:37 2015 +0100 Documentation: i2c: describe the new slave mode Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5b77d162a3d7359a8a8d83776720da065bf4e77b Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 09:26:36 2015 +0100 i2c: slave: rework the slave API After more discussion, brave users, and additional datasheet evaluation, some API updates for the new I2C slave framework became imminent. The slave events now get some easier to understand naming. Also, the event handling has been simplified to only need a single call to the slave callback when an action by the backend is required. Reported-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7ef5f82b100716b23de7d2da6ff602b0842e5804 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 15:52:00 2015 +0200 drm: Rewrite drm_ioctl_flags() to resemble the new drm_ioctl() code Use the same logic when checking for valid ioctl range in drm_ioctl_flags() that is used in drm_ioctl() to avoid confusion. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53615af7a27400d252307093ce49768ccf6442a9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 15:51:59 2015 +0200 drm: Use max() to make the ioctl alloc size code cleaner Use max() to make the code to determine the allocation size for the ioctl data easier to read. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83be003807415a07465fc5d748803b702409f3da Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 15:51:58 2015 +0200 drm: Simplify core vs. drv ioctl handling Now that cmd_drv is gone the handling for core and driver ioctls is mostly identical, so eliminate the duplication. Also take the opportunity to simplify the range checks to be less cluttered. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7e7392a6e854a29016377b87bebe5ae263f65e5c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 15:51:56 2015 +0200 drm: Drop ioctl->cmd_drv ioctl->cmd_drv is pointless and we can just as well stick the full ioctl definition into ioctl->cmd. Cc: Jakob Bornecrantz <jakob@xxxxxxxxxx> Cc: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9c7d3d3e289c9870ae688780a0f9807bb5ae9faf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 15:51:55 2015 +0200 drm: Fix DRM_IOCTL_DEF_DRV() Currently DRM_IOCTL_DEF_DRV does '[DRM_IOCTL_NR(DRM_##ioctl)]' which doesn't make much sense since DRM_##ioctl is already a the raw ioctl number. So change it to 'DRM_IOCTL_NR(DRM_IOCTL_##ioctl) - DRM_COMMAND_BASE' which means the DRM_IOCTL_NR() now makes sense, and also this also means if there's a mistake in the DRM_IOCTL_##ioctl macros we might get a warning about it (eg. we would have gotten a sparse warning about the i915 colorkey get/set ioctl being defined to be the same thing). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b9e9cd32ba33d13c7ecbc15b9f4418beded403d2 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Fri Mar 27 16:03:26 2015 +0100 HID: pidff: effect can't be NULL Force-beedback core guarantees that the 'effect' pointer that's being passed to ->upload() callback is non-NULL. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 743e78c1d726d875b98ff9689cc77c4d3d5d9ae2 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 11:02:10 2015 +0000 drm/i915: Skip allocating shadow batch for 0-length batches Since commit 17cabf571e50677d980e9ab2a43c5f11213003ae Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 11:20:57 2015 +0000 drm/i915: Trim the command parser allocations we may then try to allocate a zero-sized object and attempt to extract its pages. Understandably this fails. Testcase: igt/gem_exec_nop #ivb,byt,hsw Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 88f9eae4d74c1b5c35adb026d7f0d4d44d2fdf70 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Mar 23 11:33:00 2015 +0100 drm/radeon: programm the VCE fw BAR as well Otherwise the VCE firmware needs to be in the first 256MB of VRAM. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1b01fc347ae7d2b76ac849f7040a32582cb5aee3 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Mar 23 11:32:59 2015 +0100 drm/radeon: always dump the ring content if it's available Dumping is still possible if a ring isn't ready, only when it isn't allocated at all we need to abort here. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f2c9e560b406f2f6b14b345c7da33467dee9cdf2 Author: David Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 23:18:40 2015 -0400 radeon: Do not directly dereference pointers to BIOS area. Use readb() and memcpy_fromio() accessors instead. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3899ca844b82fb201fb764f56eec483acb59a29c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Mar 18 17:05:10 2015 -0400 drm/radeon/dpm: fix 120hz handling harder Need to expand the check to handle short circuiting if the selected state is the same as current state. bug: https://bugs.freedesktop.org/show_bug.cgi?id=87796 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9d918c157fc27716ca8d601745b4776a3145cc93 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 27 15:33:51 2015 +0200 drm/i915: Handle error to get connector state when staging config The return value of one of the calls to drm_atomic_get_connector_state() in intel_modeset_stage_output_state() wasn't checked for errors. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21042d43b34129cef00d185b7aa2705d1249f879 Author: Jiri Slaby <jslaby@xxxxxxx> Date: Thu Mar 26 10:10:17 2015 +0100 livepatch: add support on s390 This is a trivial port from kGraft. Module relocations are not supported yet. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 9abc464854cf12273ebe66dc5e4a9d82b6e0c303 Author: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Date: Fri Mar 27 13:09:22 2015 +0200 drm/i915: Compare GGTT view structs instead of types To allow for views where the view type is not defined by the view type only, like it is in stereo or rotated 90 degree view, change the semantic to require the whole view structure for comparison when we match a GGTT view. This allows including parameters like offset to be included in the view which is useful for eg. partial views. v3: - Rely on ggtt_view type being 0 for non-GGTT vma's, which equals to I915_GGTT_VIEW_NORMAL. (Daniel Vetter) - Do not use potentially slower comparison when we only want to know if something is or is not a normal view. - Rebase on top of rotated view patches. Add rotated view singleton. - If one view is missing in comparison they're equal only if both are missing. v4: - Use comparison helper in obj_to_ggtt_view too. (Tvrtko Ursulin) - Do WARN_ON if one view is NULL. (Tvrtko Ursulin) Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2f2cf68261acc4c5356dd07e8a8966612ae5a0d4 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Mar 27 19:26:35 2015 +0800 drm/i915: fix simple_return.cocci warnings drivers/gpu/drm/i915/i915_gem_gtt.c:1349:1-4: WARNING: end returns can be simpified and declaration on line 1347 can be dropped Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4218a32f55fc71983e4c1c6e5b98b28db8226b3b Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Mar 26 22:18:40 2015 +0100 drm/atomic-helpers: Properly avoid full modeset dance Legacy setCrtc has a nice fastpath for just updating the frontbuffer when the output routing doesn't change. Which I of course tried to keep working, except that I fumbled the job: The helpers correctly compute ->mode_changed, CRTC updates get correctly skipped but connector functions are called unconditionally. Fix this. v2: For the disable sided connector->state->crtc might be NULL. Instead look at the old_connector_state->crtc, but still use the new crtc state for that old crtc. Reported by Thierry. Reported-and-Tested-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> (v1) Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 874c571414d5617f4042298986b6a826816ee885 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Mar 18 12:24:42 2015 +0000 arm-cci: Fix CCI PMU event validation We mask the event with the CCI_PMU_EVENT_MASK, before passing the config to pmu_validate_hw_event(), which causes extra bits to be ignored and qualifies an invalid event code as valid. e.g, $ perf stat -a -C 0 -e CCI_400/config=0x1ff,name=cycles/ sleep 1 Performance counter stats for 'system wide': 506951142 cycles 1.013879626 seconds time elapsed where, cycles has an event coding of 0xff. This patch also removes the unnecessary 'event' mask in pmu_write_register, since the config_base is set by the pmu code after the event is validated. Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx> Reviewed-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ee8e5d5fbec0e880b18bbdbfe12de53ab1dec21f Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Mar 18 12:24:41 2015 +0000 arm-cci: Split the code for PMU vs driver support This patch separates the PMU driver code from the low level CCI driver code and enables the PMU driver for ARM64. Introduces config options for both. ARM_CCI400_PORT_CTRL - controls the low level driver code for CCI400 ports. ARM_CCI400_PMU - controls the PMU driver code ARM_CCI400_COMMON - Common defintions for CCI400 This patch also changes: ARM_CCI - common code for probing the CCI devices. This can be used for adding support for newer CCI versions(e.g, CCI-500). Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Cc: Liviu Dudau <liviu.dudau@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Punit Agrawal <punit.agrawal@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 772742a6c7ea4612fe043353531e6435ed33e719 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Mar 18 12:24:40 2015 +0000 arm-cci: Get rid of secure transactions for PMU driver Avoid secure transactions while probing the CCI PMU. The existing code makes use of the Peripheral ID2 (PID2) register to determine the revision of the CCI400, which requires a secure transaction. This puts a limitation on the usage of the driver on systems running non-secure Linux(e.g, ARM64). Updated the device-tree binding for cci pmu node to add the explicit revision number for the compatible field. The supported strings are : arm,cci-400-pmu,r0 arm,cci-400-pmu,r1 arm,cci-400-pmu - DEPRECATED. See NOTE below NOTE: If the revision is not mentioned, we need to probe the cci revision, which could be fatal on a platform running non-secure. We need a reliable way to know if we can poke the CCI registers at runtime on ARM32. We depend on 'mcpm_is_available()' when it is available. mcpm_is_available() returns true only when there is a registered driver for mcpm. Otherwise, we assume that we don't have secure access, and skips probing the revision number(ARM64 case). The MCPM should figure out if it is safe to access the CCI. Unfortunately there isn't a reliable way to indicate the same via dtb. This patch doesn't address/change the current situation. It only deals with the CCI-PMU, leaving the assumptions about the secure access as it has been, prior to this patch. Cc: devicetree@xxxxxxxxxxxxxxx Cc: Punit Agrawal <punit.agrawal@xxxxxxx> Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fc17c839448e498393009e06ca30a204eefaccee Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Mar 18 12:24:39 2015 +0000 arm-cci: Abstract the CCI400 PMU specific definitions CCI400 has different event specifications for PMU, for revsion 0 and revision 1. As of now, we check the revision every single time before using the parameters for the PMU. This patch abstracts the details of the pmu models in a struct (cci_pmu_model) and stores the information in cci_pmu at initialisation time, avoiding multiple probe operations. Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx> Reviewed-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit f6b9e83ce05e362f4190cf2b4281d85cd094e541 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Mar 18 12:24:38 2015 +0000 arm-cci: Rearrange code for splitting PMU vs driver code No functional changes, only code re-arrangements for easier split of the PMU code vs low level driver code. Extracts the port handling code to cci_probe_ports(). Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b1862199be6098855b598b69f5098d2fb4cecfcb Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Tue Mar 17 18:15:00 2015 +0000 drivers: cci: reject groups spanning multiple HW PMUs The perf core implicitly rejects events spanning multiple HW PMUs, as in these cases the event->ctx will differ. However this validation is performed after pmu::event_init() is called in perf_init_event(), and thus pmu::event_init() may be called with a group leader from a different HW PMU. The CCI PMU driver does not take this fact into account, and assumes that the any other hardware event belongs to the CCI. There are two issues with it : 1) It is wrong and we should reject such groups. 2) Validation allocates an temporary idx for this non-cci event, which leads to wrong calculation of the counter availability, and eventually lesser number of events in the group. This patch updates the CCI PMU driver to first test for and reject events from other PMUs, which is the right thing to do. Cc: Will Deacon <will.deacon@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Peter Ziljstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 63979b8da30013ce58d8447f34dde60802d1ccba Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Mar 18 10:22:18 2015 +0000 iommu/io-pgtable-arm: avoid speculative walks through TTBR1 Although we set TCR.T1SZ to 0, the input address range covered by TTBR1 is actually calculated using T0SZ in this case on the ARM SMMU. This could theoretically lead to speculative table walks through physical address zero, leading to all sorts of fun and games if we have MMIO regions down there. This patch avoids the issue by setting EPD1 to disable walks through the unused TTBR1 register. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 03edb2264cadddc38ca9030887c2902affbfca3f Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jan 19 14:27:33 2015 +0000 iommu/arm-smmu: handle multi-alias IOMMU groups for PCI devices IOMMU groups for PCI devices can correspond to multiple DMA aliases due to things like ACS and PCI quirks. This patch extends the ARM SMMU ->add_device callback so that we consider all of the DMA aliases for a PCI IOMMU group, rather than creating a separate group for each Requester ID. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit f1d84548694fe45f3348c0379d7277fed05bbcf0 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Mar 4 16:41:05 2015 +0000 iommu/arm-smmu: set a more appropriate DMA mask Since we use dma_map_page() as an architecture-independent means of making page table updates visible to non-coherent SMMUs, we need to have a suitable DMA mask set to discourage the DMA mapping layer from creating bounce buffers and flushing those instead, if said page tables happen to lie outside the default 32-bit mask. Tested-by: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> [will: added error checking] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4a1c93cbe9b2cf559fee3316ee287bb042eb1aba Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Mar 4 12:21:03 2015 +0000 iommu/arm-smmu: ensure CBA2R is initialised before CBAR on SMMUv2 The VMID16 (8.1) extension to SMMUv2 added a 16-bit VMID16 field to the CBA2R registers. Unfortunately, if software writes this field as zero after setting an 8-bit VMID in a stage-2 CBAR, then the VMID may also be overwritten with zero on some early implementations (the architecture was later updated to fix this issue). This patch ensures that we initialise CBA2R before CBAR, therefore ensuring that the VMID is set correctly. Tested-by: Manish Jaggi <mjaggi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9d82f9272ddd8492afdd721c9999171741be835b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 27 14:07:26 2015 +0100 ALSA: hda - Set use_single_rw flag for regmap HD-audio doesn't support the bulk access. Currently it works even without this flag as implicitly assumed, but it's safer to set explicitly. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 849176c96dab827548176e851525bd1c3fff5a6a Merge: 24deabf a9fea8b Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Mar 27 12:22:50 2015 +0000 Merge branch 'aarch64/kvm-bounce-page' into aarch64/for-next/core Just as we thought we'd fixed this, another old linker reared its ugly head trying to build linux-next. Unfortunately, it's the linker binary provided on kernel.org, so give up trying to be clever and align the hyp page to 4k. commit a9fea8b388ed5838fe0744970e67f7019d420824 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Mar 27 10:18:01 2015 +0000 ARM: kvm: round HYP section to page size instead of log2 upper bound Older binutils do not support expressions involving the values of external symbols so just round up the HYP region to the page size. Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> [will: when will this ever end?!] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4a1c683c98e4e2997c79258bffbb9be4af4fba83 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Mar 5 09:14:03 2015 +0100 pwm: samsung: Fix output race on disabling When disabling the Samsung PWM the output state remains at the level it was at the end of a PWM cycle. In other words, calling pwm_disable() when at 100% duty cycle will keep the output active, while at all other settings the output will go/stay inactive. On top of that the Samsung PWM settings are double-buffered, which means the new settings only get applied at the start of a new PWM cycle. This results in a race if the PWM is at 100% duty cycle and a driver calls: pwm_config(pwm, 0, period); pwm_disable(pwm); In this case the PWMs output will unexpectedly stay active, unless a new PWM cycle happened to start between the register writes in pwm_config() and pwm_disable(). As far as I can tell this is a regression introduced by 3bdf878, before that a call to pwm_config() would call pwm_samsung_enable() which, while heavy-handed, made sure the expected settings were live. To resolve this, while not re-introducing the issues 3bdf878 (flickering as the PWM got reset while in a PWM cycle) fixed, only force an update of the settings when at 100% duty cycle, which shouldn't have any noticeable effect on the output but is enough to ensure the behaviour is as expected on disable. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 4ee8ec17ba00fce4af042543771f996fb9d98d34 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 27 11:36:21 2015 +0100 x86/asm/entry/32: Make register zero-extension more prominent There are a couple of syscall argument zero-extension instructions in the 32-bit compat entry code, and it was mentioned that people keep trying to optimize them out, introducing bugs. Make them more visible, and add a "do not remove" comment. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427452582-21624-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a232e3d558eef421fbb539ede5483dfb668e38f2 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 27 11:36:20 2015 +0100 x86/asm/entry/32: Update "interrupt off" comments The existing comment has proven to be not very clear. Replace it with a comment similar to the one we now have in the 64-bit syscall entry point. (Three instances, one per 32-bit syscall entry). In the INT80 entry point's CFI annotations, replace mysterious expressions with numric constants. In this case, raw numbers look more understandable. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427452582-21624-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27be87c5d53117f048d590d6fc6febb21176c3e9 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 27 11:36:19 2015 +0100 x86/asm/entry/64: Add missing CFI annotation This is a missing bit of the recent MOV-to-PUSH conversion. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427452582-21624-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ad692b46dbf122ef90aadce3b389ef64c90e861d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Mar 26 10:42:00 2015 +0200 drm/edid: set ELD for firmware and debugfs override EDIDs If the user supplies EDID through firmware or debugfs override, the driver callbacks are bypassed and the connector ELD does not get updated, and audio fails. Set ELD for firmware and debugfs EDIDs too. There should be no harm in gratuitously doing this for non HDMI/DP connectors, as it's still up to the driver to use the ELD, if any. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82349 Reference: https://bugs.freedesktop.org/show_bug.cgi?id=80691 Reported-by: Emil <emilsvennesson@xxxxxxxxx> Reported-by: Rob Engle <grenoble@xxxxxxxxx> Tested-by: Jolan Luff <jolan@xxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 487d1edb9a6005cf790c7fe59f25ad1e5cb5817b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 27 11:59:16 2015 +0100 x86/asm/entry/64: Fix comment about SYSENTER MSRs The comment is ancient, it dates to the time when only AMD's x86_64 implementation existed. AMD wasn't (and still isn't) supporting SYSENTER, so these writes were "just in case" back then. This has changed: Intel's x86_64 appeared, and Intel does support SYSENTER in long mode. "Some future 64-bit CPU" is here already. The code may appear "buggy" for AMD as it stands, since MSR_IA32_SYSENTER_EIP is only 32-bit for AMD CPUs. Writing a kernel function's address to it would drop high bits. Subsequent use of this MSR for branch via SYSENTER seem to allow user to transition to CPL0 while executing his code. Scary, eh? Explain why that is not a bug: because SYSENTER insn would not work on AMD CPU. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427453956-21931-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b7a5646fa5d5d319b2b1a3db07f615e40b184205 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Fri Mar 20 15:53:54 2015 +0100 ARM: OMAP2: HSMMC: explicit fields to declare cover/card detect pin board-rx51 has no card detect pin in the mmc slot, but can detect that the (cell-phone) cover has been removed and the card is accessible. The semantics between cover/card detect differ, the gpio on the slot informs you after the card has been removed, cover removal does not necessarily mean that the card has been removed. This means different code paths are necessary. To complete this we also want different fields in the platform data for cover and card detect. This separation is not pushed all the way down into struct omap2_hsmmc_info which is used to initialize the platform data. If we did that we had to go over all board files and set the new gpio_cod pin to -EINVAL. If we forget one board or some out-of-tree archicture forgets that the default '0' is used which is a valid pin number. Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bfbaafae8519d82d10da6abe75f5766dd5b20475 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Mar 20 09:59:47 2015 +0100 firmware: dmi_scan: Prevent dmi_num integer overflow dmi_num is a u16, dmi_len is a u32, so this construct: dmi_num = dmi_len / 4; would result in an integer overflow for a DMI table larger than 256 kB. I've never see such a large table so far, but SMBIOS 3.0 makes it possible so maybe we'll see such tables in the future. So instead of faking a structure count when the entry point does not provide it, adjust the loop condition in dmi_table() to properly deal with the case where dmi_num is not set. This bug was introduced with the initial SMBIOS 3.0 support in commit fc43026278b2 ("dmi: add support for SMBIOS 3.0 64-bit entry point"). Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit b8a51a2e8a9f8e24f8f155772168a7ca35ce7f75 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 11:04:09 2015 -0700 gpio: gpio-tb10x: remove incorrect __exit markup Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5bedeb2de2127b3b80b40d977a17fe4fce83fe25 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Mar 3 18:03:47 2015 +0100 drm/i915: Add module param to test the load detect code This is useful for writing igts to make sure we don't break this, without being forced to own a one of these dinosaurs. Suggested-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17d33a450a776c0ce6c3659e1154396dc1eecba8 Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:30 2015 +0200 gpio: omap: get rid of GPIO_INDEX() macro Now OMAP GPIO driver prepared for GPIO_INDEX() macro removing. Do It ;) Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ea5fbe8dea85056b028184459ad86d76f5ceeca4 Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:29 2015 +0200 gpio: omap: get rid of omap_irq_to_gpio() Now OMAP GPIO driver prepared for omap_irq_to_gpio() removing. Do it ;) Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8ac58a0a7286a7cd8e70141309cc04ca4677216e Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:28 2015 +0200 gpio: omap: get rid of GPIO_BIT() macro Now OMAP GPIO driver prepared for GPIO_BIT() macro removing. Do it ;) Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9943f2611c33b9f651b23600d6c3f13478c7fb0d Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:27 2015 +0200 gpio: omap: convert gpio irq functions to use GPIO offset Convert GPIO IRQ functions to use GPIO offset instead of system GPIO numbers. This allows to drop unneeded conversations between system GPIO <-> GPIO offset which are done in many places and many times. It is safe to do now because: - gpiolib always passes GPIO offset to GPIO controller - OMAP GPIO driver converted to use IRQ domain, so struct irq_data->hwirq contains GPIO offset This is preparation step before removing: #define GPIO_INDEX(bank, gpio) #define GPIO_BIT(bank, gpio) int omap_irq_to_gpio() Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 37e14ecfb1f461621d4dd0b2d83a790c176212a4 Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:26 2015 +0200 gpio: omap: drop 'gpio' param from omap_gpio_init_irq() The 'gpio' parameter isn't needed any more as it duplicates 'offset' parameter, so drop it. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4a58d2296f602202839d563d680cf0b2d677337f Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:25 2015 +0200 gpio: omap: convert debounce functions switch to use gpio offset Convert debounce functions to use GPIO offset instead of system GPIO numbers. This allows to drop unneeded conversations between system GPIO <-> GPIO offset which are done in many places and many times. It is safe to do now because: - gpiolib always passes GPIO offset to GPIO controller - OMAP GPIO driver converted to use IRQ domain This is preparation step before removing: #define GPIO_INDEX(bank, gpio) #define GPIO_BIT(bank, gpio) int omap_irq_to_gpio() Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 52fd475042dc145284d05f86ceac66ef5ed6665c Author: Philippe Bergheaud <felix@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:46:56 2015 +0100 cxl: Fix a typo in ABI documentation Fix the attribute name of the configuration record class ID. Signed-off-by: Philippe Bergheaud <felix@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 04ebcbd82ec3b6fb88644e983f85224e95cf55e5 Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:24 2015 +0200 gpio: omap: simplify omap_set_gpio_dataout_x() Both functions omap_set_gpio_dataout_reg() and omap_set_gpio_dataout_mask() accept GPIO offset as 'gpio' input parameter, so rename it to 'offset' and drop usage of GPIO_BIT() macro. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b2b2004550f4b18ed16929107f478005fadfdb5c Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:23 2015 +0200 gpio: omap: convert omap_gpio_is_input() to use gpio offset Convert omap_gpio_is_input() to use GPIO offset instead of mask and, in such way, make code simpler and remove few lines of code. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3182b25e1764142600a231050ae0182ba627da72 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Mar 27 00:12:11 2015 -0700 i40e: Bump version to 1.2.43 Bump. Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit cc470a811b22a566c66569e09d094a82431e1124 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Mar 27 00:12:11 2015 -0700 i40evf: add FW version to ethtool info Customers reported that the firmware version information from i40evf is unlike that of ixgbevf and was causing problems with their scripts. To resolve this, populate the field to align with ixgbevf. Change-ID: I9f4e24f6a76cd819bbe07087aab2b74f715ec103 Reported-by: Sourav Chatterjee <sourav.chatterjee@xxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8af580dff23e5323120c1c9b206fb2c06ec6fcf6 Author: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Date: Fri Mar 27 00:12:10 2015 -0700 i40e: Increase PF reset max loop limit In some circumstances the firmware can take longer to be ready after a reset than we're currently waiting. This patch increases the polling loop limiter to much longer than expected. Change-ID: I4b2c4c100dfa4abb77d02e5ecdec1cdd253b8c7e Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 40433267331bc6b9d70d5cdd14bfa2c8e3e5f0ec Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Mar 26 08:43:37 2015 +1100 mmc: core: Remove the ->enable|disable() callbacks These callbacks have been set to deprecated for some time. The last user (omap_hsmmc) has moved away from using them, which thus enables us to completely remove them. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 63e18c252068da46ba5ab11ad8861c310afc79fd Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Mar 27 00:12:10 2015 -0700 i40evf: resequence close operations Call the netdev carrier off and TX disable functions first, before other shutdown operations. This stops the stack from hitting us with transmits while we're shutting down. Additionally, disable NAPI before disabling interrupts, or the interrupt might get re-enabled inappropriately. Finally, remove the call to netif_tx_stop_all_queues, as it is redundant - the call to netif_tx_disable already did the same thing. Change-ID: I8b2dd25231b82817746cc256234a5eeeb4abaccc Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e284fc88dfb6ceb69c547abb8d78b9fde6b9dc85 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Mar 27 00:12:09 2015 -0700 i40evf: delay releasing rings When the VF interface is closed, we cannot immediately free our rings and RX buffers, because the hardware hasn't yet stopped accessing this memory. This shows up as a panic or memory corruption when the device is brought down while under heavy stress. To fix this, delay releasing resources until we receive acknowledgment from the PF driver that the rings have indeed been stopped. Because of this delay, we also need to check to make sure that all of our admin queue requests have been handled before allowing the device to be opened. Change-ID: I44edd35529ce2fa2a9512437a3a8e6f14ed8ed63 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 55bb9992db9b2c65cc3dd11cc75785f80e8d7e66 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:19 2015 +0200 drm/i915: Remove usage of encoder->new_crtc from clock computations Some of the crtc_compute_clock() still depended on encoder->new_crtc since they didn't use intel_pipe_will_have_type() and used an open coded version of that function instead. This patch replaces those with the appropriate code that checks the atomic state intead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Separate the if (!connector) continue to facility easier extraction of a loop iterator for all of these (there's lots more in i915 and atomic helpers).] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f57ba4ca483a3e7d0ca31677f3baf036740c883b Author: NeilBrown <neilb@xxxxxxx> Date: Thu Mar 26 12:18:23 2015 +1100 mmc: omap_hsmmc: stop using ->enable|disable() callbacks The ->enable|disable() callbacks are only used to get and put runtime PM references. Currently omap_hsmmc's ->set_ios() already does this itself. Other host drivers deals with runtime PM without using the ->enable|disable() callbacks and thus do the runtime PM reference counting themselves. Apply that approach for omap_hsmmc as well and then discard the ->enable|disable() callbacks. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 723f9aab5537eabd88f96fa49a73a5e8df2ebf7b Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:18 2015 +0200 drm/i915: Don't look at staged config crtc when changing DRRS state The function intel_dp_set_drrs_state() would decide which pipe to downclock based on the staged config for the given connector. However, the result of that function is immediate, and it uses input values from crtc->config, so it should be looking at the current crtc instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a93e255f819cae49dff7319b6686f718b8069fec Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:17 2015 +0200 drm/i915: Convert intel_pipe_will_have_type() to using atomic state Pass a crtc_state to it and find whether the pipe has an encoder of a given type by looking at the drm_atomic_state the crtc_state points to. Until recently i9xx_get_refclk() used to be called indirectly from vlv_force_pll_on() with a dummy crtc_state. That dummy crtc state is not converted to be part of a full drm atomic state, so add a WARN in case someone decides to call that again with a such dummy state. This was removed in commit 9cbe40c15a753e02f5da16f6de901decf3276cf1 Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Thu Mar 5 19:33:08 2015 +0530 drm/i915: Update prop, int co-eff and gain threshold for CHV v2: Warn if there is no connectors for a given crtc. (Daniel) Replace comment i9xx_get_refclk() with a WARN_ON(). (Ander) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Add commit reference for when i9xx_get_refclk was removed.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de81e64b250d3865a75d221a80b4311e3273670a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 17:21:34 2015 +0530 clockevents: Don't validate dev->mode against CLOCK_EVT_MODE_UNUSED for new interface It was a requirement in the legacy interface that drivers must initialize ->mode field to 'CLOCK_EVT_MODE_UNUSED'. This field isn't used anymore by the new interface and so should be only checked for the legacy interface. Probably it can be dropped as well as core doesn't rely on it anymore, but lets keep it to support legacy interface. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: linaro-networking@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/c6604fa1a77fe1fc8dcab87769857228fb1dadd5.1425037853.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 77e32c89a7117614ab3d66d20c1088de721abfaa Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 17:21:33 2015 +0530 clockevents: Manage device's state separately for the core 'enum clock_event_mode' is used for two purposes today: - to pass mode to the driver of clockevent device::set_mode(). - for managing state of the device for clockevents core. For supporting new modes/states we have moved away from the legacy set_mode() callback to new per-mode/state callbacks. New modes/states shouldn't be exposed to the legacy (now OBSOLOTE) callbacks and so we shouldn't add new states to 'enum clock_event_mode'. Lets have separate enums for the two use cases mentioned above. Keep using the earlier enum for legacy set_mode() callback and mark it OBSOLETE. And add another enum to clearly specify the possible states of a clockevent device. This also renames the newly added per-mode callbacks to reflect state changes. We haven't got rid of 'mode' member of 'struct clock_event_device' as it is used by some of the clockevent drivers and it would automatically die down once we migrate those drivers to the new interface. It ('mode') is only updated now for the drivers using the legacy interface. Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: linaro-networking@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/b6b0143a8a57bd58352ad35e08c25424c879c0cb.1425037853.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 554ef3876c6acdff1331feab10275e9e9e0adb84 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 17:21:32 2015 +0530 clockevents: Handle tick device's resume separately Upcoming patch will redefine possible states of a clockevent device. The RESUME mode is a special case only for tick's clockevent devices. In future it can be replaced by ->resume() callback already available for clockevent devices. Lets handle it separately so that clockevents_set_mode() only handles states valid across all devices. This also renames set_mode_resume() to tick_resume() to make it more explicit. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: linaro-networking@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/c1b0112410870f49e7bf06958e1483eac6c15e20.1425037853.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 34f439278cef7b1177f8ce24f9fc81dfc6221d3b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Feb 20 14:05:38 2015 +0100 perf: Add per event clockid support While thinking on the whole clock discussion it occurred to me we have two distinct uses of time: 1) the tracking of event/ctx/cgroup enabled/running/stopped times which includes the self-monitoring support in struct perf_event_mmap_page. 2) the actual timestamps visible in the data records. And we've been conflating them. The first is all about tracking time deltas, nobody should really care in what time base that happens, its all relative information, as long as its internally consistent it works. The second however is what people are worried about when having to merge their data with external sources. And here we have the discussion on MONOTONIC vs MONOTONIC_RAW etc.. Where MONOTONIC is good for correlating between machines (static offset), MONOTNIC_RAW is required for correlating against a fixed rate hardware clock. This means configurability; now 1) makes that hard because it needs to be internally consistent across groups of unrelated events; which is why we had to have a global perf_clock(). However, for 2) it doesn't really matter, perf itself doesn't care what it writes into the buffer. The below patch makes the distinction between these two cases by adding perf_event_clock() which is used for the second case. It further makes this configurable on a per-event basis, but adds a few sanity checks such that we cannot combine events with different clocks in confusing ways. And since we then have per-event configurability we might as well retain the 'legacy' behaviour as a default. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b381e63b48a0b6befc7b4e55408c39012a0dcf8c Merge: 4e6d7c2 ccd41c8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 10:10:47 2015 +0100 Merge branch 'perf/core' into perf/timer, before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4e6d7c2aa95158315902647963b359b32da5c295 Merge: 3c435c1 fe5fba0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 10:09:21 2015 +0100 Merge branch 'timers/core' into perf/timer, to apply dependent patch An upcoming patch will depend on tai_ns() and NMI-safe ktime_get_raw_fast(), so merge timers/core here in a separate topic branch until it's all cooked and timers/core is merged upstream. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 68de8867ea5d99127e836c23f6bccf4d44859623 Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Tue Mar 24 08:33:22 2015 -0400 powerpc/perf: add missing put_cpu_var in power_pmu_event_init One path in power_pmu_event_init() calls get_cpu_var(), but is missing matching call to put_cpu_var(), which causes preemption imbalance and crash in user-space: Page fault in user mode with in_atomic() = 1 mm = c000001fefa5a280 NIP = 3fff9bf2cae0 MSR = 900000014280f032 Oops: Weird page fault, sig: 11 [#23] SMP NR_CPUS=2048 NUMA PowerNV Modules linked in: <snip> CPU: 43 PID: 10285 Comm: a.out Tainted: G D 4.0.0-rc5+ #1 task: c000001fe82c9200 ti: c000001fe835c000 task.ti: c000001fe835c000 NIP: 00003fff9bf2cae0 LR: 00003fff9bee4898 CTR: 00003fff9bf2cae0 REGS: c000001fe835fea0 TRAP: 0401 Tainted: G D (4.0.0-rc5+) MSR: 900000014280f032 <SF,HV,VEC,VSX,EE,PR,FP,ME,IR,DR,RI> CR: 22000028 XER: 00000000 CFAR: 00003fff9bee4894 SOFTE: 1 GPR00: 00003fff9bee494c 00003fffe01c2ee0 00003fff9c084410 0000000010020068 GPR04: 0000000000000000 0000000000000002 0000000000000008 0000000000000001 GPR08: 0000000000000001 00003fff9c074a30 00003fff9bf2cae0 00003fff9bf2cd70 GPR12: 0000000052000022 00003fff9c10b700 NIP [00003fff9bf2cae0] 0x3fff9bf2cae0 LR [00003fff9bee4898] 0x3fff9bee4898 Call Trace: ---[ end trace 5d3d952b5d4185d4 ]--- BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:41 in_atomic(): 1, irqs_disabled(): 0, pid: 10285, name: a.out INFO: lockdep is turned off. CPU: 43 PID: 10285 Comm: a.out Tainted: G D 4.0.0-rc5+ #1 Call Trace: [c000001fe835f990] [c00000000089c014] .dump_stack+0x98/0xd4 (unreliable) [c000001fe835fa10] [c0000000000e4138] .___might_sleep+0x1d8/0x2e0 [c000001fe835faa0] [c000000000888da8] .down_read+0x38/0x110 [c000001fe835fb30] [c0000000000bf2f4] .exit_signals+0x24/0x160 [c000001fe835fbc0] [c0000000000abde0] .do_exit+0xd0/0xe70 [c000001fe835fcb0] [c00000000001f4c4] .die+0x304/0x450 [c000001fe835fd60] [c00000000088e1f4] .do_page_fault+0x2d4/0x900 [c000001fe835fe30] [c000000000008664] handle_page_fault+0x10/0x30 note: a.out[10285] exited with preempt_count 1 Reproducer: #include <stdio.h> #include <unistd.h> #include <syscall.h> #include <sys/types.h> #include <sys/stat.h> #include <linux/perf_event.h> #include <linux/hw_breakpoint.h> static struct perf_event_attr event = { .type = PERF_TYPE_RAW, .size = sizeof(struct perf_event_attr), .sample_type = PERF_SAMPLE_BRANCH_STACK, .branch_sample_type = PERF_SAMPLE_BRANCH_ANY_RETURN, }; int main() { syscall(__NR_perf_event_open, &event, 0, -1, -1, 0); } Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4bfe186dbe0a058680e4bfb0d673194f0ceaffd4 Merge: 3c435c1 4252879 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 10:04:06 2015 +0100 Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull RCU updates from Paul E. McKenney: - Documentation updates. - Changes permitting use of call_rcu() and friends very early in boot, for example, before rcu_init() is invoked. - Miscellaneous fixes. - Add in-kernel API to enable and disable expediting of normal RCU grace periods. - Improve RCU's handling of (hotplug-) outgoing CPUs. Note: ARM support is lagging a bit here, and these improved diagnostics might generate (harmless) splats. - NO_HZ_FULL_SYSIDLE fixes. - Tiny RCU updates to make it more tiny. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aa6d9a128b861fe7e9dc37bcc37179837674b739 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Mar 25 21:14:28 2015 +0100 x86/irq/tracing: Do not save callee-preserved registers around lockdep_sys_exit_thunk Internally, lockdep_sys_exit_thunk saves callee-clobbered registers, and calls a C function, lockdep_sys_exit. Thus, callee-preserved registers won't be mangled, there is no need to save them. Patch was run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427314468-12763-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7dc7cc0780b04935f1127fa22ee23e9d6daf166a Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Mar 25 21:14:27 2015 +0100 x86/irq/tracing: Fold ARCH_LOCKDEP_SYS_EXIT defines into their users There is no need to have an extra level of macro indirection here. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427314468-12763-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 679dacd430cac3f58fc80db69c1694621ede00fc Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:15 2015 +0200 drm/i915: Pass an atomic state to modeset_global_resources() functions Follow up patches will convert some functions called from there to use the atomic state, instead of directly accessing the new or current config. This patch just changes the parameters, but shouldn't have any functional changes. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40e2ec657dcb0ae328db1abc8e37df4caa893391 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Mar 25 21:14:26 2015 +0100 x86/irq/tracing: Move ARCH_LOCKDEP_SYS_EXIT defines closer to their users This change simply moves defines around (even if it's not obvious in a patch form). Nothing is changed. This is a preparation for folding ARCH_LOCKDEP_SYS_EXIT defines into their users. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427314468-12763-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit baa9946e32f9f26e740721c1f972de87c095baa9 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:59:09 2015 +0100 pinctrl: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Acked-by: Lee Jones <lee@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 47eb582e702880c302036d17341c7ea1a7dc2a53 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Mar 25 18:18:15 2015 +0100 x86/asm/entry/64: Use smaller instructions The $AUDIT_ARCH_X86_64 parameter to syscall_trace_enter_phase1/2 is a 32-bit constant, loading it with 32-bit MOV produces 5-byte insn instead of 10-byte MOVABS one. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427303896-24023-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 146b2b097d7a322b64b88a927fc5d870fc79a60b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Mar 25 18:18:13 2015 +0100 x86/asm/entry/64: Use better label name, fix comments A named label "ret_from_sys_call" implies that there are jumps to this location from elsewhere, as happens with many other labels in this file. But this label is used only by the JMP a few insns above. To make that obvious, use local numeric label instead. Improve comments: "and return regs->ax" isn't too informative. We always return regs->ax. The comment suggesting that it'd be cool to use rip relative addressing for CALL is deleted. It's unclear why that would be an improvement - we aren't striving to use position-independent code here. PIC code here would require something like LEA sys_call_table(%rip),reg + CALL *(reg,%rax*8)... "iret frame is also incomplete" is no longer true, fix that too. Also fix typo in comment. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427303896-24023-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2208bf115fecae211480ea41d25e6d56ec20d405 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Nov 13 19:17:34 2014 +0200 ARM: OMAP2+: control: determine control module base address from DT There is no need to provide the control module base address through a low-level API from the low-level IO init, as this information is available through DT. This patch adds a new API to initialize the control module though, but mostly makes the old API obsolete. The old API can be completely removed once OMAP3 is made DT only. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit ae521d4d9c54995df1e0fb53ef6820374a3cae4e Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Nov 11 17:17:18 2014 +0200 ARM: OMAP2+: PRM: determine PRM base address from device tree There is no need to provide the PRM base address through a low-level API from the low-level IO init, as this information is available through DT. Re-routed the parsing function to be called from the PRM drivers also to simplify the implementation under io.c. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 5970ca2db960b2c14e077d27950e402e063298e6 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Nov 11 16:51:52 2014 +0200 ARM: OMAP2+: CM: determine CM base address from device tree There is no need to provide the CM base address through a low-level API from the low-level IO init, as this information is available through DT. Re-routed the parsing function to be called from the CM drivers also to simplify the implementation under io.c. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit fe87414f71d0035756cf91a80ac256557d16b488 Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Mar 12 18:33:45 2014 +0200 ARM: OMAP2+: PRCM: split PRCM module init to their own driver files Splits the clock related provider module inits under their own driver files. Previously this was done for all modules under the common PRM driver. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 9f029b1579b2dfe291006e5bfe8e7d0c4ef20828 Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Oct 22 15:15:36 2014 +0300 ARM: OMAP2+: clock: move clock provider infrastructure to clock driver Splits the clock provider init out of the PRM driver and moves it to clock driver. This is needed so that once the PRCM drivers are separated, they can logically just access the clock driver not needing to go through common PRM code. This would be wrong in the case of control module for example. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 4024efb4047df0f317065571bd6ee9de3ab79512 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Mar 19 22:17:42 2015 +0200 pinctrl: pinconf-generic: add dt node names to error messages This makes the error message much more useful. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c7289500e29df3441a7167861424e7d77a167dfb Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Mar 19 22:17:41 2015 +0200 pinctrl: pinconf-generic: scan also referenced phandle node Make pinconf_generic_dt_node_to_map() also scan the dt pin configuration node directly referenced by phandle, not only its child nodes. The "parent scan" feature needs a few other changes: * Move the pinconf_generic_dt_node_to_map() error handling code to a common place, under the 'exit' label. * Move the pins/groups strings count earlier in pinconf_generic_dt_subnode_to_map(), to allow us to bail out early when these properties are missing or wrong Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ccd41c86ad4d464d0ed4e48d80759ff85c2115b0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Feb 25 15:56:04 2015 +0100 perf: Fix racy group access While looking at some fuzzer output I noticed that we do not hold any locks on leader->ctx and therefore the sibling_list iteration is unsafe. Acquire the relevant ctx->mutex before calling into the pmu specific code. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150225151639.GL5029@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9332d250b4b4f67c633894b311e022e3cf943bd5 Author: David Ahern <dsahern@xxxxxxxxx> Date: Wed Feb 18 10:45:43 2015 -0700 perf/x86: Remove redundant calls to perf_pmu_{dis|en}able() perf_pmu_disable() is called before pmu->add() and perf_pmu_enable() is called afterwards. No need to call these inside of x86_pmu_add() as well. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424281543-67335-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 936c663aed930972f7e185485fd6c2da69e33819 Merge: 072e5a1 50f16a8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 09:46:19 2015 +0100 Merge branch 'perf/x86' into perf/core, because it's ready Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 072e5a1cfabca7276744d24726e094d85721df5c Merge: 294fe0f d525211 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 09:46:03 2015 +0100 Merge branch 'perf/urgent' into perf/core, to pick up fixes and to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe5fba05b46c791c95a9f34228ac495f81f72fc0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Mar 17 12:39:10 2015 +0100 time: Add ktime_get_tai_ns() Because it was the only clock for which we didn't have a _ns() accessor yet. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f09cb9a1808e35ad7502ea39b6bfb443c7fa0f19 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 19 09:39:08 2015 +0100 time: Introduce tk_fast_raw Add the NMI safe CLOCK_MONOTONIC_RAW accessor.. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150319093400.562746929@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4498e7467e9e441c18ca12f1ca08460356e0508a Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 19 09:36:19 2015 +0100 time: Parametrize all tk_fast_mono users In preparation for more tk_fast instances, remove all hard-coded tk_fast_mono references. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150319093400.484279927@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4a4ad80d32cea69ee93bd4589f24dc478804cd80 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 19 09:28:44 2015 +0100 time: Add timerkeeper::tkr_raw Introduce tkr_raw and make use of it. base_raw -> tkr_raw.base clock->{mult,shift} -> tkr_raw.{mult.shift} Kill timekeeping_get_ns_raw() in favour of timekeeping_get_ns(&tkr_raw), this removes all mono_raw special casing. Duplicate the updates to tkr_mono.cycle_last into tkr_raw.cycle_last, both need the same value. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150319093400.422589590@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 876e78818def2983be55878b21f7152fbaebbd36 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 19 10:09:06 2015 +0100 time: Rename timekeeper::tkr to timekeeper::tkr_mono In preparation of adding another tkr field, rename this one to tkr_mono. Also rename tk_read_base::base_mono to tk_read_base::base, since the structure is not specific to CLOCK_MONOTONIC and the mono name got added to the tk_read_base instance. Lots of trivial churn. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150319093400.344679419@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7bd3e239d6c6d1cad276e8f130b386df4234dcd7 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 26 17:45:37 2015 +0100 locking: Remove atomicy checks from {READ,WRITE}_ONCE The fact that volatile allows for atomic load/stores is a special case not a requirement for {READ,WRITE}_ONCE(). Their primary purpose is to force the compiler to emit load/stores _once_. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a1963b81deec54c113e770b0020e5f1c3188a087 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Mar 17 19:15:31 2015 +0800 sched/deadline: Fix rt runtime corruption when dl fails its global constraints One version of sched_rt_global_constaints() (the !rt-cgroup one) changes state, therefore if we fail the later sched_dl_global_constraints() call the state is left in an inconsistent state. Fix this by changing the order of the calls. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> [ Improved the changelog. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Juri Lelli <juri.lelli@xxxxxxx> Link: http://lkml.kernel.org/r/1426590931-4639-2-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bd4bde14b93cce8fa77765ff709e0be55abdba2c Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Mar 17 19:15:30 2015 +0800 sched/deadline: Avoid a superfluous check Since commit 40767b0dc768 ("sched/deadline: Fix deadline parameter modification handling") we clear the thottled state when switching from a dl task, therefore we should never find it set in switching to a dl task. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> [ Improved the changelog. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Juri Lelli <juri.lelli@xxxxxxx> Link: http://lkml.kernel.org/r/1426590931-4639-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d4573c3e1c992668f5dcd57d1c2ced56ae9650b9 Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 18:32:44 2015 +0530 sched: Improve load balancing in the presence of idle CPUs When a CPU is kicked to do nohz idle balancing, it wakes up to do load balancing on itself, followed by load balancing on behalf of idle CPUs. But it may end up with load after the load balancing attempt on itself. This aborts nohz idle balancing. As a result several idle CPUs are left without tasks till such a time that an ILB CPU finds it unfavorable to pull tasks upon itself. This delays spreading of load across idle CPUs and worse, clutters only a few CPUs with tasks. The effect of the above problem was observed on an SMT8 POWER server with 2 levels of numa domains. Busy loops equal to number of cores were spawned. Since load balancing on fork/exec is discouraged across numa domains, all busy loops would start on one of the numa domains. However it was expected that eventually one busy loop would run per core across all domains due to nohz idle load balancing. But it was observed that it took as long as 10 seconds to spread the load across numa domains. Further investigation showed that this was a consequence of the following: 1. An ILB CPU was chosen from the first numa domain to trigger nohz idle load balancing [Given the experiment, upto 6 CPUs per core could be potentially idle in this domain.] 2. However the ILB CPU would call load_balance() on itself before initiating nohz idle load balancing. 3. Given cores are SMT8, the ILB CPU had enough opportunities to pull tasks from its sibling cores to even out load. 4. Now that the ILB CPU was no longer idle, it would abort nohz idle load balancing As a result the opportunities to spread load across numa domains were lost until such a time that the cores within the first numa domain had equal number of tasks among themselves. This is a pretty bad scenario, since the cores within the first numa domain would have as many as 4 tasks each, while cores in the neighbouring numa domains would all remain idle. Fix this, by checking if a CPU was woken up to do nohz idle load balancing, before it does load balancing upon itself. This way we allow idle CPUs across the system to do load balancing which results in quicker spread of load, instead of performing load balancing within the local sched domain hierarchy of the ILB CPU alone under circumstances such as above. Signed-off-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Jason Low <jason.low2@xxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: efault@xxxxxx Cc: iamjoonsoo.kim@xxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: srikar@xxxxxxxxxxxxxxxxxx Cc: svaidy@xxxxxxxxxxxxxxxxxx Cc: tim.c.chen@xxxxxxxxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150326130014.21532.17158.stgit@xxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dfbca41f347997e57048a53755611c8e2d792924 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Mar 23 14:19:05 2015 +0100 sched: Optimize freq invariant accounting Currently the freq invariant accounting (in __update_entity_runnable_avg() and sched_rt_avg_update()) get the scale factor from a weak function call, this means that even for archs that default on their implementation the compiler cannot see into this function and optimize the extra scaling math away. This is sad, esp. since its a 64-bit multiplication which can be quite costly on some platforms. So replace the weak function with #ifdef and __always_inline goo. This is not quite as nice from an arch support PoV but should at least result in compile time errors if done wrong. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150323131905.GF23123@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1aaf90a4b88aae26a4535ba01dacab520a310d17 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:14 2015 +0100 sched: Move CFS tasks to CPUs with higher capacity When a CPU is used to handle a lot of IRQs or some RT tasks, the remaining capacity for CFS tasks can be significantly reduced. Once we detect such situation by comparing cpu_capacity_orig and cpu_capacity, we trig an idle load balance to check if it's worth moving its tasks on an idle CPU. It's worth trying to move the task before the CPU is fully utilized to minimize the preemption by irq or RT tasks. Once the idle load_balance has selected the busiest CPU, it will look for an active load balance for only two cases: - There is only 1 task on the busiest CPU. - We haven't been able to move a task of the busiest rq. A CPU with a reduced capacity is included in the 1st case, and it's worth to actively migrate its task if the idle CPU has got more available capacity for CFS tasks. This test has been added in need_active_balance. As a sidenote, this will not generate more spurious ilb because we already trig an ilb if there is more than 1 busy cpu. If this cpu is the only one that has a task, we will trig the ilb once for migrating the task. The nohz_kick_needed function has been cleaned up a bit while adding the new test env.src_cpu and env.src_rq must be set unconditionnally because they are used in need_active_balance which is called even if busiest->nr_running equals 1 Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-12-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit caff37ef96eac7fe96a582d032f6958e834e9447 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:13 2015 +0100 sched: Add SD_PREFER_SIBLING for SMT level Add the SD_PREFER_SIBLING flag for SMT level in order to ensure that the scheduler will place at least one task per core. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Preeti U. Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-11-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dc7ff76eadb4b89fd39bb466b8f3773e5467c11d Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Mar 3 11:35:03 2015 +0100 sched: Remove unused struct sched_group_capacity::capacity_orig The 'struct sched_group_capacity::capacity_orig' field is no longer used in the scheduler so we can remove it. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425378903-5349-1-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ea67821b9a3edadf602b7772a0b2a69657ced746 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:11 2015 +0100 sched: Replace capacity_factor by usage The scheduler tries to compute how many tasks a group of CPUs can handle by assuming that a task's load is SCHED_LOAD_SCALE and a CPU's capacity is SCHED_CAPACITY_SCALE. 'struct sg_lb_stats:group_capacity_factor' divides the capacity of the group by SCHED_LOAD_SCALE to estimate how many task can run in the group. Then, it compares this value with the sum of nr_running to decide if the group is overloaded or not. But the 'group_capacity_factor' concept is hardly working for SMT systems, it sometimes works for big cores but fails to do the right thing for little cores. Below are two examples to illustrate the problem that this patch solves: 1- If the original capacity of a CPU is less than SCHED_CAPACITY_SCALE (640 as an example), a group of 3 CPUS will have a max capacity_factor of 2 (div_round_closest(3x640/1024) = 2) which means that it will be seen as overloaded even if we have only one task per CPU. 2 - If the original capacity of a CPU is greater than SCHED_CAPACITY_SCALE (1512 as an example), a group of 4 CPUs will have a capacity_factor of 4 (at max and thanks to the fix [0] for SMT system that prevent the apparition of ghost CPUs) but if one CPU is fully used by rt tasks (and its capacity is reduced to nearly nothing), the capacity factor of the group will still be 4 (div_round_closest(3*1512/1024) = 5 which is cap to 4 with [0]). So, this patch tries to solve this issue by removing capacity_factor and replacing it with the 2 following metrics: - The available CPU's capacity for CFS tasks which is already used by load_balance(). - The usage of the CPU by the CFS tasks. For the latter, utilization_avg_contrib has been re-introduced to compute the usage of a CPU by CFS tasks. 'group_capacity_factor' and 'group_has_free_capacity' has been removed and replaced by 'group_no_capacity'. We compare the number of task with the number of CPUs and we evaluate the level of utilization of the CPUs to define if a group is overloaded or if a group has capacity to handle more tasks. For SD_PREFER_SIBLING, a group is tagged overloaded if it has more than 1 task so it will be selected in priority (among the overloaded groups). Since [1], SD_PREFER_SIBLING is no more concerned by the computation of 'load_above_capacity' because local is not overloaded. [1] 9a5d9ba6a363 ("sched/fair: Allow calculate_imbalance() to move idle cpus") Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425052454-25797-9-git-send-email-vincent.guittot@xxxxxxxxxx [ Tidied up the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8bb5b00c2f90100a272b09a9d17ec7875d088aa7 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Wed Mar 4 08:48:47 2015 +0100 sched: Calculate CPU's usage statistic and put it into struct sg_lb_stats::group_usage Monitor the usage level of each group of each sched_domain level. The usage is the portion of cpu_capacity_orig that is currently used on a CPU or group of CPUs. We use the utilization_load_avg to evaluate the usage level of each group. The utilization_load_avg only takes into account the running time of the CFS tasks on a CPU with a maximum value of SCHED_LOAD_SCALE when the CPU is fully utilized. Nevertheless, we must cap utilization_load_avg which can be temporally greater than SCHED_LOAD_SCALE after the migration of a task on this CPU and until the metrics are stabilized. The utilization_load_avg is in the range [0..SCHED_LOAD_SCALE] to reflect the running load on the CPU whereas the available capacity for the CFS task is in the range [0..cpu_capacity_orig]. In order to test if a CPU is fully utilized by CFS tasks, we have to scale the utilization in the cpu_capacity_orig range of the CPU to get the usage of the latter. The usage can then be compared with the available capacity (ie cpu_capacity) to deduct the usage level of a CPU. The frequency scaling invariance of the usage is not taken into account in this patch, it will be solved in another patch which will deal with frequency scaling invariance on the utilization_load_avg. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425455327-13508-1-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ca6d75e6908efbc350d536e0b496ebdac36b20d2 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:09 2015 +0100 sched: Add struct rq::cpu_capacity_orig This new field 'cpu_capacity_orig' reflects the original capacity of a CPU before being altered by rt tasks and/or IRQ The cpu_capacity_orig will be used: - to detect when the capacity of a CPU has been noticeably reduced so we can trig load balance to look for a CPU with better capacity. As an example, we can detect when a CPU handles a significant amount of irq (with CONFIG_IRQ_TIME_ACCOUNTING) but this CPU is seen as an idle CPU by scheduler whereas CPUs, which are really idle, are available. - evaluate the available capacity for CFS tasks Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Kamalesh Babulal <kamalesh@xxxxxxxxxxxxxxxxxx> Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-7-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b5b4860d1d61ddc5308c7d492cbeaa3a6e508d7f Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:08 2015 +0100 sched: Make scale_rt invariant with frequency The average running time of RT tasks is used to estimate the remaining compute capacity for CFS tasks. This remaining capacity is the original capacity scaled down by a factor (aka scale_rt_capacity). This estimation of available capacity must also be invariant with frequency scaling. A frequency scaling factor is applied on the running time of the RT tasks for computing scale_rt_capacity. In sched_rt_avg_update(), we now scale the RT execution time like below: rq->rt_avg += rt_delta * arch_scale_freq_capacity() >> SCHED_CAPACITY_SHIFT Then, scale_rt_capacity can be summarized by: scale_rt_capacity = SCHED_CAPACITY_SCALE * available / total with available = total - rq->rt_avg This has been been optimized in current code by: scale_rt_capacity = available / (total >> SCHED_CAPACITY_SHIFT) But we can also developed the equation like below: scale_rt_capacity = SCHED_CAPACITY_SCALE - ((rq->rt_avg << SCHED_CAPACITY_SHIFT) / total) and we can optimize the equation by removing SCHED_CAPACITY_SHIFT shift in the computation of rq->rt_avg and scale_rt_capacity(). so rq->rt_avg += rt_delta * arch_scale_freq_capacity() and scale_rt_capacity = SCHED_CAPACITY_SCALE - (rq->rt_avg / total) arch_scale_frequency_capacity() will be called in the hot path of the scheduler which implies to have a short and efficient function. As an example, arch_scale_frequency_capacity() should return a cached value that is updated periodically outside of the hot path. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-6-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0c1dc6b27dac883ee78392189c8e20e764d79bfa Author: Morten Rasmussen <morten.rasmussen@xxxxxxx> Date: Wed Mar 4 08:46:26 2015 +0100 sched: Make sched entity usage tracking scale-invariant Apply frequency scale-invariance correction factor to usage tracking. Each segment of the running_avg_sum geometric series is now scaled by the current frequency so the utilization_avg_contrib of each entity will be invariant with frequency scaling. As a result, utilization_load_avg which is the sum of utilization_avg_contrib, becomes invariant too. So the usage level that is returned by get_cpu_usage(), stays relative to the max frequency as the cpu_capacity which is is compared against. Then, we want the keep the load tracking values in a 32-bit type, which implies that the max value of {runnable|running}_avg_sum must be lower than 2^32/88761=48388 (88761 is the max weigth of a task). As LOAD_AVG_MAX = 47742, arch_scale_freq_capacity() must return a value less than (48388/47742) << SCHED_CAPACITY_SHIFT = 1037 (SCHED_SCALE_CAPACITY = 1024). So we define the range to [0..SCHED_SCALE_CAPACITY] in order to avoid overflow. Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425455186-13451-1-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a8faa8f55d48496f64d96df48298e54fd380f6af Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:06 2015 +0100 sched: Remove frequency scaling from cpu_capacity Now that arch_scale_cpu_capacity has been introduced to scale the original capacity, the arch_scale_freq_capacity is no longer used (it was previously used by ARM arch). Remove arch_scale_freq_capacity from the computation of cpu_capacity. The frequency invariance will be handled in the load tracking and not in the CPU capacity. arch_scale_freq_capacity will be revisited for scaling load with the current frequency of the CPUs in a later patch. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-4-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 21f4486630b0bd1b6dbcc04f61836987fa54278f Author: Morten Rasmussen <morten.rasmussen@xxxxxxx> Date: Fri Feb 27 16:54:05 2015 +0100 sched: Track group sched_entity usage contributions Add usage contribution tracking for group entities. Unlike se->avg.load_avg_contrib, se->avg.utilization_avg_contrib for group entities is the sum of se->avg.utilization_avg_contrib for all entities on the group runqueue. It is _not_ influenced in any way by the task group h_load. Hence it is representing the actual cpu usage of the group, not its intended load contribution which may differ significantly from the utilization on lightly utilized systems. Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-3-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 36ee28e45df50c2c8624b978335516e42d84ae1f Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:04 2015 +0100 sched: Add sched_avg::utilization_avg_contrib Add new statistics which reflect the average time a task is running on the CPU and the sum of these running time of the tasks on a runqueue. The latter is named utilization_load_avg. This patch is based on the usage metric that was proposed in the 1st versions of the per-entity load tracking patchset by Paul Turner <pjt@xxxxxxxxxx> but that has be removed afterwards. This version differs from the original one in the sense that it's not linked to task_group. The rq's utilization_load_avg will be used to check if a rq is overloaded or not instead of trying to compute how many tasks a group of CPUs can handle. Rename runnable_avg_period into avg_period as it is now used with both runnable_avg_sum and running_avg_sum. Add some descriptions of the variables to explain their differences. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-2-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 12149a20b86330d6eac71edaad0357541abdcd05 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 11:30:47 2015 +0100 pinctrl: mvebu: add suspend/resume support to Armada XP pinctrl driver This commit adds suspend/resume support to the Armada XP pinctrl driver, by simply saving and restoring the MPP registers. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c4b40493de668a86856602a4cf19bf0d809e2681 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 19 17:40:02 2015 +0800 altera_gpio_probe() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 72744cb13c9ccc248331462f35468398160338bf Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Mar 24 15:46:23 2015 +0000 drm/i915: Add dynamic page trace events Traces for page directories and tables allocation and map. v2: Removed references to teardown. v3: bitmap_scnprintf has been deprecated. v4: Replace bitmap_scnprintf with scnprintf correctly, and get right range lengths. (Mika) Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4933d51955aca6d2b05da5a7afe25f156016dfa8 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Mar 24 15:46:22 2015 +0000 drm/i915: Finish gen6/7 dynamic page table allocation This patch continues on the idea from "Track GEN6 page table usage". From here on, in the steady state, PDEs are all pointing to the scratch page table (as recommended in the spec). When an object is allocated in the VA range, the code will determine if we need to allocate a page for the page table. Similarly when the object is destroyed, we will remove, and free the page table pointing the PDE back to the scratch page. Following patches will work to unify the code a bit as we bring in GEN8 support. GEN6 and GEN8 are different enough that I had a hard time to get to this point with as much common code as I do. The aliasing PPGTT must pre-allocate all of the page tables. There are a few reasons for this. Two trivial ones: aliasing ppgtt goes through the ggtt paths, so it's hard to maintain, we currently do not restore the default context (assuming the previous force reload is indeed necessary). Most importantly though, the only way (it seems from empirical evidence) to invalidate the CS TLBs on non-render ring is to either use ring sync (which requires actually stopping the rings in order to synchronize when the sync completes vs. where you are in execution), or to reload DCLV. Since without full PPGTT we do not ever reload the DCLV register, there is no good way to achieve this. The simplest solution is just to not support dynamic page table creation/destruction in the aliasing PPGTT. We could always reload DCLV, but this seems like quite a bit of excess overhead only to save at most 2MB-4k of memory for the aliasing PPGTT page tables. v2: Make the page table bitmap declared inside the function (Chris) Simplify the way scratching address space works. Move the alloc/teardown tracepoints up a level in the call stack so that both all implementations get the trace. v3: Updated trace event to spit out a name v4: Aliasing ppgtt is now initialized differently (in setup global gtt) v5: Rebase to latest code. Also removed unnecessary aliasing ppgtt check for trace, as it is no longer possible after the PPGTT cleanup patch series of a couple of months ago (Daniel). v6: Implement changes from code review (Daniel): - allocate/teardown_va_range calls added. - Add a scratch page allocation helper (only need the address). - Move trace events to a new patch. - Use updated mark_tlbs_dirty. - Moved pt preallocation for aliasing ppgtt into gen6_ppgtt_init. v7: teardown_va_range removed (Daniel). In init, gen6_ppgtt_clear_range call is only needed for aliasing ppgtt. v8: Rebase after s/page_tables/page_table/. v9: Remove unnecessary scratch flag in page_table struct, future patches can just compare against ppgtt->scratch_pt, and alloc_pt_scratch becomes redundant. Initialize scratch_pt and pt. (Mika) v10: Clean up aliasing ppgtt init error path and prevent leaking the ppgtt obj when init fails. (Mika) Updated commit author. (Daniel) Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v4+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 59568eb59a20c743623de9c3247d4e22af1a3573 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Mar 24 15:46:21 2015 +0000 drm/i915: Remove unnecessary gen6_ppgtt_unmap_pages We are already unmapping them in gen6_ppgtt_free. This function became redundant since commit 06fda602dbca9c59d87db7da71192e4b54c9f5ff ("drm/i915: Create page table allocators"). Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1266cdb1c236eabd49cbf1e45f401159fb4c21d1 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Mar 24 17:06:33 2015 +0000 drm/i915: Fix i915_dma_map_single positive error code i915_dma_map_single relies on dma_mapping_error, which returns positive error codes. Found by static checker. Introduced by commit 678d96fbb3b5995a2fdff2bca5e1ab4a40b7e968 ("drm/i915: Track GEN6 page table usage"). v2: Return negative error code and renamed commit title. (Dan) v3: Missing reported-by tag (Daniel) Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fdc454c1484a20e1345cf4e4d7a9feaee814147f Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Mar 24 15:46:19 2015 +0000 drm/i915: Prevent out of range pt in gen6_for_each_pde Found by static analysis tool, this was harmless as the pt was not used out of scope though. Introduced by commit 678d96fbb3b5995a2fdff2bca5e1ab4a40b7e968 ("drm/i915: Track GEN6 page table usage"). Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 294fe0f52a44c6f207211de0686c369a961b5533 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Feb 17 18:18:06 2015 -0800 perf/x86/intel: 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. This is erratum BDM11 and BDM55: http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/5th-gen-core-family-spec-update.pdf BDM11: When using a period < 100; we may get incorrect PEBS/PMI interrupts and/or an invalid counter state. BDM55: When bit0-5 of the period are !0 we may get redundant PEBS records on overflow. Add a new callback to enforce this, and set it for Broadwell. How does this handle the case when an app requests a specific period with some of the bottom bits set? 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 (by Peterz): 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> [ Updated comments and changelog a bit. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424225886-18652-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 91f1b70582c62576f429cf78d53751c66677553d Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Feb 17 18:18:05 2015 -0800 perf/x86/intel: Add Broadwell core support Add Broadwell support for Broadwell to perf. The basic support is very similar to Haswell. We use the new cache event list added for Haswell earlier. The only differences are a few bits related to remote nodes. To avoid an extra, mostly identical, table these are patched up in the initialization code. The constraint list has one new event that needs to be handled over Haswell. Includes code and testing from Kan Liang. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424225886-18652-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0f1b5ca240c65ed9533f193720f337bf24fb2f2f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Feb 17 18:18:04 2015 -0800 perf/x86/intel: Add new cache events table for Haswell Haswell offcore events are quite different from Sandy Bridge. Add a new table to handle Haswell properly. Note that the offcore bits listed in the SDM are not quite correct (this is currently being fixed). An uptodate list of bits is in the patch. The basic setup is similar to Sandy Bridge. The prefetch columns have been removed, as prefetch counting is not very reliable on Haswell. One L1 event that is not in the event list anymore has been also removed. - data reads do not include code reads (comparable to earlier Sandy Bridge tables) - data counts include speculative execution (except L1 write, dtlb, bpu) - remote node access includes both remote memory, remote cache, remote mmio. - prefetches are not included in the counts for consistency (different from Sandy Bridge, which includes prefetches in the remote node) Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> [ Removed the HSM30 comments; we don't have them for SNB/IVB either. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424225886-18652-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2c60fae1489c70206e66c28d72b69a3e496c313d Author: Tommi Rantala <tt.rantala@xxxxxxxxx> Date: Thu Mar 26 21:47:16 2015 +0200 drm/i915: fix definition of the DRM_IOCTL_I915_GET_SPRITE_COLORKEY ioctl Fix definition of the DRM_IOCTL_I915_GET_SPRITE_COLORKEY ioctl, so that it is different from the DRM_IOCTL_I915_SET_SPRITE_COLORKEY ioctl. Note that this is just for accuracy, the ioctl implementation itself is totally unused and already ripped out. Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx> [danvet: Add note that this is a dead ioctl.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a8265c59e22ae636617019dda602e1913bdaeca7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Mar 27 09:08:04 2015 +0100 drm/i915: Rip out GET_SPRITE_COLORKEY ioctl It's completely unused and Tommi noticed that the #define is borked since forever. I've done a git search in userspace and only found broken definitions and no users anywhere. Cc: Tommi Rantala <tt.rantala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 30fdaa6b11834fc19656c6127a50229ea42ec27b Merge: baa5a7b 7c27f78 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 08:36:01 2015 +0100 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: - Show the first event with an invalid filter (David Ahern, Arnaldo Carvalho de Melo) - Fix garbage output when intermixing syscalls from different threads in 'perf trace' (Arnaldo Carvalho de Melo) - Fix 'perf timechart' SIBGUS error on sparc64 (David Ahern) Infrastructure changes: - Set JOBS based on CPU or processor, making it work on SPARC, where /proc/cpuinfo has "CPU", not "processor" (David Ahern) - Zero should not be considered "not found" in libtraceevent's eval_flag() (Steven Rostedt) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 32fea568aec5b73ae27253125522b5c2a970a1f0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 07:08:06 2015 +0100 timers, sched/clock: Clean up the code a bit Trivial cleanups, to improve the readability of the generic sched_clock() code: - Improve and standardize comments - Standardize the coding style - Use vertical spacing where appropriate - etc. No code changed: md5: 19a053b31e0c54feaeff1492012b019a sched_clock.o.before.asm 19a053b31e0c54feaeff1492012b019a sched_clock.o.after.asm Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1809bfa44e1019e397fabaa6f2349bb7237e57a4 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Thu Mar 26 12:23:26 2015 -0700 timers, sched/clock: Avoid deadlock during read from NMI Currently it is possible for an NMI (or FIQ on ARM) to come in and read sched_clock() whilst update_sched_clock() has locked the seqcount for writing. This results in the NMI handler locking up when it calls raw_read_seqcount_begin(). This patch fixes the NMI safety issues by providing banked clock data. This is a similar approach to the one used in Thomas Gleixner's 4396e058c52e("timekeeping: Provide fast and NMI safe access to CLOCK_MONOTONIC"). Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1427397806-20889-6-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9fee69a8c8070b38b558161a3f18bd5e2b664682 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Thu Mar 26 12:23:25 2015 -0700 timers, sched/clock: Remove redundant notrace from update function Currently update_sched_clock() is marked as notrace but this function is not called by ftrace. This is trivially fixed by removing the mark up. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1427397806-20889-5-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13dbeb384d2d3aa555ea48d511e8cb110bd172e0 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Thu Mar 26 12:23:24 2015 -0700 timers, sched/clock: Remove suspend from clock_read_data() Currently cd.read_data.suspended is read by the hotpath function sched_clock(). This variable need not be accessed on the hotpath. In fact, once it is removed, we can remove the conditional branches from sched_clock() and install a dummy read_sched_clock function to suspend the clock. The new master copy of the function pointer (actual_read_sched_clock) is introduced and is used for all reads of the clock hardware except those within sched_clock itself. Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1427397806-20889-4-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cf7c9c170787d6870af54684822f58acc00a966c Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Thu Mar 26 12:23:23 2015 -0700 timers, sched/clock: Optimize cache line usage Currently sched_clock(), a very hot code path, is not optimized to minimise its cache profile. In particular: 1. cd is not ____cacheline_aligned, 2. struct clock_data does not distinguish between hotpath and coldpath data, reducing locality of reference in the hotpath, 3. Some hotpath data is missing from struct clock_data and is marked __read_mostly (which more or less guarantees it will not share a cache line with cd). This patch corrects these problems by extracting all hotpath data into a separate structure and using ____cacheline_aligned to ensure the hotpath uses a single (64 byte) cache line. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1427397806-20889-3-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8710e914027e4f64058ebbf0501cc6db3cc8454f Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Thu Mar 26 12:23:22 2015 -0700 timers, sched/clock: Match scope of read and write seqcounts Currently the scope of the raw_write_seqcount_begin/end() in sched_clock_register() far exceeds the scope of the read section in sched_clock(). This gives the impression of safety during cursory review but achieves little. Note that this is likely to be a latent issue at present because sched_clock_register() is typically called before we enable interrupts, however the issue does risk bugs being needlessly introduced as the code evolves. This patch fixes the problem by increasing the scope of the read locking performed by sched_clock() to cover all data modified by sched_clock_register. We also improve clarity by moving writes to struct clock_data that do not impact sched_clock() outside of the critical section. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> [ Reworked it slightly to apply to tip/timers/core] Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1427397806-20889-2-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d7ef4a6c03da2513beb21cc8028f1ac3075f64a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Mar 20 12:34:12 2015 +0100 clk: cdce706: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 217c8df6c9f3ba5b2831c01936a478b27d9c2fa9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Mar 20 12:34:11 2015 +0100 clk: si570: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8234caed27f7bce141c9fb1f7e76c91a2a66d248 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Mar 20 12:34:10 2015 +0100 clk: si5351: Constify clock names and struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Replace doubled const in the arrays of clock names with proper const pointer to const data. This fixes the warnings: drivers/clk/clk-si5351.c:71:25: warning: duplicate const drivers/clk/clk-si5351.c:74:25: warning: duplicate const drivers/clk/clk-si5351.c:77:25: warning: duplicate const drivers/clk/clk-si5351.c:80:25: warning: duplicate const Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ae24b4095c2f9547d0f2ab2845155aabe4e564d0 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Mar 27 00:12:09 2015 -0700 i40e/i40evf: implement KR2 support The new devices need a new device ID some other defines to handle the new 20G speed for KR2. Change-ID: I03f717e364afe59657e8c9ce5ffaad856b4b21df Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Piotr Raczynski <piotr.raczynski@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d41bd923d3e624462c9d7a2fcff5b62eee5e7f7f Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Sat Nov 29 02:01:38 2014 +0800 clk: qcom: fix simple_return.cocci warnings drivers/clk/qcom/clk-pll.c:74:1-4: WARNING: end returns can be simpified Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b3261d768bcdd4b368179ed85becf38c95461848 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Feb 26 19:34:35 2015 -0800 clk: qcom: Fix ipq806x LCC frequency tables These frequency tables list the wrong rates. Either they don't have the correct frequency at all, or they're specified in kHz instead of Hz. Fix it. Fixes: c99e515a92e9 "clk: qcom: Add IPQ806X LPASS clock controller (LCC) driver" Tested-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1018bc268864b20c1ae7b0bc5c5c396ee6d33fe3 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Mar 23 22:29:58 2015 +0100 tpm/st33zp24/spi: Add missing device table for spi phy. MODULE_DEVICE_TABLE is missing in spi phy in case CONFIG_OF is not set. Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 7216ebc51bdd62517be6878dd37555ff428a80c9 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Mar 23 22:29:56 2015 +0100 tpm/st33zp24: Add proper wait for ordinal duration in case of irq mode In case the driver is configured to use irq, we are not waiting the answer for a duration period to see the DATA_AVAIL status bit to raise but at maximum timeout_c. This may result in critical failure as we will not wait long enough for the command completion. Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Fixes: bf38b8710892 ("tpm/tpm_i2c_stm_st33: Split tpm_i2c_tpm_st33 in 2 layers (core + phy)") Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 1efb53a220b78fdfdbb97b726a2156713e75bdab Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Mar 24 01:07:08 2015 +0000 ASoC: simple-card: Remove support for setting differing DAI formats Having to set different formats on the CPU side and the CODEC side of a DAI link is usually indication that something is terribly wrong and in most cases is a result of a broken driver that implements a set_fmt() callback which does not follow the specification. In the past this feature has been used to work around broken drivers, rather than fixing them. We don't really want to encourage this, so remove support for setting different formats on both ends of the link. Along the way switch to static DAI format setup by setting the the dai_fmt field of the snd_soc_dai_link rather than calling snd_soc_dai_fmt(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 947a37cd38796f5b196a934353165a001cbcb0a9 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Mar 24 01:06:40 2015 +0000 ARM: shmobile: armadillo800eva: fix clock inversion When operating in left-justfied mode both the frame-clock and the bit-clock need to be inverted to be standards compliant. This means that the exta clock inversion setting in the armadillo800eva machine driver for CPU component should now be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd38c1d4a17cda2486883cef7ec1bd84b5095260 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Mar 24 01:06:01 2015 +0000 ARM: shmobile: armadillo800eva: Properly specify HDMI audio link format The DAI link format should be specified for the whole link rather than just one component on the link. So move the format specification for the HDMI audio link from the CPU component to the link itself. Since the sh-mobile-hdmi DAI driver doesn't implement the set_fmt() callback in this case there is no functional difference between only specifying the the format for the CPU side or for the whole link, but the later it will allow us to remove support for just specifying the format for one component. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b3a2a9076d3149781c8622d6a98a51045ff946e4 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Mar 23 19:27:19 2015 +0100 KVM: nVMX: Add support for rdtscp If the guest CPU is supposed to support rdtscp and the host has rdtscp enabled in the secondary execution controls, we can also expose this feature to L1. Just extend nested_vmx_exit_handled to properly route EXIT_REASON_RDTSCP. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit e34ff011c70e5f4ef219141711142d5111ae6ebb Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:08:36 2015 +0100 spi: bcm2835: move to the transfer_one driver model This also allows for GPIO-CS to get used removing the limitation of 2/3 SPI devises on the SPI bus. Fixes: spi-cs-high with native CS with multiple devices on the spi-bus resetting the chip selects to "normal" polarity after a finished transfer. No other functionality/improvements added. Tested with the following 4 devices on the spi-bus: * mcp2515 with native CS * mcp2515 with gpio CS * fb_st7735r with native CS (plus spi-cs-high via transistor inverting polarity) * enc28j60 with gpio-CS Tested-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e56a951e01bf55f49533c47ad2ce61dbd613a3f3 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Mar 17 14:34:16 2015 +0800 Btrfs: Remove the check for old-style mkfs This was used to make sure that a fresh btrfs from an older mkfs.btrfs, but it also allows us to mount a buggy btrfs if this btrfs has the right superblock head part but has something wrong with chunk tree part[1], and after that we can hit BUG_ON()s set in the code to prevent something impossible. Since David has released "Btrfs progs v3.19-rc2", just remove the check, if anyone who wants to make a fresh btrfs, please use the latest one. [1]: http://www.spinics.net/lists/linux-btrfs/msg42358.html Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Reviewed-by: Omar Sandoval <osandov@xxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 727b9784b6085c99c2f836bf4fcc2848dc9cf904 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Fri Mar 20 14:02:09 2015 -0400 btrfs: cleanup orphans while looking up default subvolume Orphans in the fs tree are cleaned up via open_ctree and subvolume orphans are cleaned via btrfs_lookup_dentry -- except when a default subvolume is in use. The name for the default subvolume uses a manual lookup that doesn't trigger orphan cleanup and needs to trigger it manually as well. This doesn't apply to the remount case since the subvolumes are cleaned up by walking the root radix tree. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d8620958296e4fa61afde421f1de16a5c2234b28 Author: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx> Date: Tue Mar 24 16:35:49 2015 +0100 btrfs: explicitly set control file's private_data The private_data member of the Btrfs control device file (/dev/btrfs-control) is used to hold the current transaction and needs to be initialized to NULL to signify that no transaction is in progress. We explicitly set the control file's private_data to NULL to be independent of whatever value the misc subsystem initializes it to. Backstory: ---------- The misc subsystem (which is used by /dev/btrfs-control) initializes a file's private_data to point to the misc device when a driver has registered a custom open file operation and initializes it to NULL when a custom open file operation has *not* been provided. This subtle quirk is confusing, to the point where kernel code registers *empty* file open operations to have private_data point to the misc device structure. And it leads to bugs, where the addition or removal of a custom open file operation surprisingly changes the initial contents of a file's private_data structure. To simplify things in the misc subsystem, a patch [1] has been proposed to *always* set private_data to point to the misc device instead of only doing this when a custom open file operation has been registered. But before we can fix this in the misc subsystem itself, we need to modify the (few) drivers that rely on this very subtle behavior. [1] https://lkml.org/lkml/2014/12/4/939 Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 26e726afe01c1c82072cf23a5ed89ce25f39d9f2 Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Tue Mar 24 18:12:56 2015 -0400 btrfs: incorrect handling for fiemap_fill_next_extent return fiemap_fill_next_extent returns 0 on success, -errno on error, 1 if this was the last extent that will fit in user array. If 1 is returned, the return value may eventually returned to user space, which should not happen, according to manpage of ioctl. Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3c3b04d10ff1811a27f86684ccd2f5ba6983211d Author: David Sterba <dsterba@xxxxxxx> Date: Wed Mar 25 19:26:41 2015 +0100 btrfs: don't accept bare namespace as a valid xattr Due to insufficient check in btrfs_is_valid_xattr, this unexpectedly works: $ touch file $ setfattr -n user. -v 1 file $ getfattr -d file user.="1" ie. the missing attribute name after the namespace. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94291 Reported-by: William Douglas <william.douglas@xxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> # 2.6.29+ Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dcc82f4783ad91d4ab654f89f37ae9291cdc846a Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Mar 23 14:07:40 2015 +0000 Btrfs: fix log tree corruption when fs mounted with -o discard While committing a transaction we free the log roots before we write the new super block. Freeing the log roots implies marking the disk location of every node/leaf (metadata extent) as pinned before the new super block is written. This is to prevent the disk location of log metadata extents from being reused before the new super block is written, otherwise we would have a corrupted log tree if before the new super block is written a crash/reboot happens and the location of any log tree metadata extent ended up being reused and rewritten. Even though we pinned the log tree's metadata extents, we were issuing a discard against them if the fs was mounted with the -o discard option, resulting in corruption of the log tree if a crash/reboot happened before writing the new super block - the next time the fs was mounted, during the log replay process we would find nodes/leafs of the log btree with a content full of zeroes, causing the process to fail and require the use of the tool btrfs-zero-log to wipeout the log tree (and all data previously fsynced becoming lost forever). Fix this by not doing a discard when pinning an extent. The discard will be done later when it's safe (after the new super block is committed) at extent-tree.c:btrfs_finish_extent_commit(). Fixes: e688b7252f78 (Btrfs: fix extent pinning bugs in the tree log) CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2f2ff0ee5e4303e727cfd7abd4133d1a8ee68394 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Mar 20 17:19:46 2015 +0000 Btrfs: fix metadata inconsistencies after directory fsync We can get into inconsistency between inodes and directory entries after fsyncing a directory. The issue is that while a directory gets the new dentries persisted in the fsync log and replayed at mount time, the link count of the inode that directory entries point to doesn't get updated, staying with an incorrect link count (smaller then the correct value). This later leads to stale file handle errors when accessing (including attempt to delete) some of the links if all the other ones are removed, which also implies impossibility to delete the parent directories, since the dentries can not be removed. Another issue is that (unlike ext3/4, xfs, f2fs, reiserfs, nilfs2), when fsyncing a directory, new files aren't logged (their metadata and dentries) nor any child directories. So this patch fixes this issue too, since it has the same resolution as the incorrect inode link count issue mentioned before. This is very easy to reproduce, and the following excerpt from my test case for xfstests shows how: _scratch_mkfs >> $seqres.full 2>&1 _init_flakey _mount_flakey # Create our main test file and directory. $XFS_IO_PROG -f -c "pwrite -S 0xaa 0 8K" $SCRATCH_MNT/foo | _filter_xfs_io mkdir $SCRATCH_MNT/mydir # Make sure all metadata and data are durably persisted. sync # Add a hard link to 'foo' inside our test directory and fsync only the # directory. The btrfs fsync implementation had a bug that caused the new # directory entry to be visible after the fsync log replay but, the inode # of our file remained with a link count of 1. ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/foo_2 # Add a few more links and new files. # This is just to verify nothing breaks or gives incorrect results after the # fsync log is replayed. ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/foo_3 $XFS_IO_PROG -f -c "pwrite -S 0xff 0 64K" $SCRATCH_MNT/hello | _filter_xfs_io ln $SCRATCH_MNT/hello $SCRATCH_MNT/mydir/hello_2 # Add some subdirectories and new files and links to them. This is to verify # that after fsyncing our top level directory 'mydir', all the subdirectories # and their files/links are registered in the fsync log and exist after the # fsync log is replayed. mkdir -p $SCRATCH_MNT/mydir/x/y/z ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/x/y/foo_y_link ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/x/y/z/foo_z_link touch $SCRATCH_MNT/mydir/x/y/z/qwerty # Now fsync only our top directory. $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/mydir # And fsync now our new file named 'hello', just to verify later that it has # the expected content and that the previous fsync on the directory 'mydir' had # no bad influence on this fsync. $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/hello # Simulate a crash/power loss. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey # Verify the content of our file 'foo' remains the same as before, 8192 bytes, # all with the value 0xaa. echo "File 'foo' content after log replay:" od -t x1 $SCRATCH_MNT/foo # Remove the first name of our inode. Because of the directory fsync bug, the # inode's link count was 1 instead of 5, so removing the 'foo' name ended up # deleting the inode and the other names became stale directory entries (still # visible to applications). Attempting to remove or access the remaining # dentries pointing to that inode resulted in stale file handle errors and # made it impossible to remove the parent directories since it was impossible # for them to become empty. echo "file 'foo' link count after log replay: $(stat -c %h $SCRATCH_MNT/foo)" rm -f $SCRATCH_MNT/foo # Now verify that all files, links and directories created before fsyncing our # directory exist after the fsync log was replayed. [ -f $SCRATCH_MNT/mydir/foo_2 ] || echo "Link mydir/foo_2 is missing" [ -f $SCRATCH_MNT/mydir/foo_3 ] || echo "Link mydir/foo_3 is missing" [ -f $SCRATCH_MNT/hello ] || echo "File hello is missing" [ -f $SCRATCH_MNT/mydir/hello_2 ] || echo "Link mydir/hello_2 is missing" [ -f $SCRATCH_MNT/mydir/x/y/foo_y_link ] || \ echo "Link mydir/x/y/foo_y_link is missing" [ -f $SCRATCH_MNT/mydir/x/y/z/foo_z_link ] || \ echo "Link mydir/x/y/z/foo_z_link is missing" [ -f $SCRATCH_MNT/mydir/x/y/z/qwerty ] || \ echo "File mydir/x/y/z/qwerty is missing" # We expect our file here to have a size of 64Kb and all the bytes having the # value 0xff. echo "file 'hello' content after log replay:" od -t x1 $SCRATCH_MNT/hello # Now remove all files/links, under our test directory 'mydir', and verify we # can remove all the directories. rm -f $SCRATCH_MNT/mydir/x/y/z/* rmdir $SCRATCH_MNT/mydir/x/y/z rm -f $SCRATCH_MNT/mydir/x/y/* rmdir $SCRATCH_MNT/mydir/x/y rmdir $SCRATCH_MNT/mydir/x rm -f $SCRATCH_MNT/mydir/* rmdir $SCRATCH_MNT/mydir # An fsck, run by the fstests framework everytime a test finishes, also detected # the inconsistency and printed the following error message: # # root 5 inode 257 errors 2001, no inode item, link count wrong # unresolved ref dir 258 index 2 namelen 5 name foo_2 filetype 1 errors 4, no inode ref # unresolved ref dir 258 index 3 namelen 5 name foo_3 filetype 1 errors 4, no inode ref status=0 exit The expected golden output for the test is: wrote 8192/8192 bytes at offset 0 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 65536/65536 bytes at offset 0 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) File 'foo' content after log replay: 0000000 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa * 0020000 file 'foo' link count after log replay: 5 file 'hello' content after log replay: 0000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff * 0200000 Which is the output after this patch and when running the test against ext3/4, xfs, f2fs, reiserfs or nilfs2. Without this patch, the test's output is: wrote 8192/8192 bytes at offset 0 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 65536/65536 bytes at offset 0 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) File 'foo' content after log replay: 0000000 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa * 0020000 file 'foo' link count after log replay: 1 Link mydir/foo_2 is missing Link mydir/foo_3 is missing Link mydir/x/y/foo_y_link is missing Link mydir/x/y/z/foo_z_link is missing File mydir/x/y/z/qwerty is missing file 'hello' content after log replay: 0000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff * 0200000 rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/x/y/z': No such file or directory rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/x/y': No such file or directory rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/x': No such file or directory rm: cannot remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/foo_2': Stale file handle rm: cannot remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/foo_3': Stale file handle rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/mydir': Directory not empty Fsck, without this fix, also complains about the wrong link count: root 5 inode 257 errors 2001, no inode item, link count wrong unresolved ref dir 258 index 2 namelen 5 name foo_2 filetype 1 errors 4, no inode ref unresolved ref dir 258 index 3 namelen 5 name foo_3 filetype 1 errors 4, no inode ref So fix this by logging the inodes that the dentries point to when fsyncing a directory. A test case for xfstests follows. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit bf69196045a8c5c42b10493a26ed45c33014371e Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Sat Mar 14 07:03:27 2015 +0000 Btrfs: change the insertion criteria for the qgroup operations rbtree After looking at Liu Bo's recent patch (titled "Btrfs: fix comp_oper to get right order") I realized the search made by qgroup_oper_exists() was buggy because its rbtree navigation comparison function, comp_oper_exist(), only looks at the fields bytenr and ref_root of a tree node, ignoring the seq field completely. This was wrong because when we insert a node into the rbtree we use comp_oper(), which takes a decision based first on bytenr, then on seq and then on the ref_root field. That means qgroup_oper_exists() could miss the fact that at least one operation with given bytenr and ref_root exists. Consider the following simple example of a 3 nodes qgroup operations rbtree (created using comp_oper before this patch), where each node's key is a tuple with the shape (bytenr, seq, ref_root, op): [ (4096, 2, 20, op X) ] / \ / \ [ (4096, 1, 5, op Y) ] [ (4096, 3, 10, op Z) ] qgroup_oper_exists() when called to search for an existing operation for bytenr 4096 and ref root 10 wouldn't find anything because it would go to the left subtree instead of the right subtree, since comp_oper_exits() ignores the seq field completely. Fix this by changing the insertion navigation function to use the ref_root field right after using the bytenr field and before using the seq field, so that qgroup_oper_exists() / comp_oper_exist() work as expected. This patch applies on top of the patch mentioned above from Liu. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3d850dd44889d3aa67d0b8007c2cdd259bff7da4 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Mar 12 23:23:13 2015 +0000 Btrfs: add missing inode item update in fallocate() If we fallocate(), without the keep size flag, into an area already covered by an extent previously fallocated, we were updating the inode's i_size but we weren't updating the inode item in the fs/subvol tree. A following umount + mount would result in a loss of the inode's size (and an fsync would miss too the fact that the inode changed). Reproducer: $ mkfs.btrfs -f /dev/sdd $ mount /dev/sdd /mnt $ fallocate -n -l 1M /mnt/foobar $ fallocate -l 512K /mnt/foobar $ umount /mnt $ mount /dev/sdd /mnt $ od -t x1 /mnt/foobar 0000000 The expected result is: $ od -t x1 /mnt/foobar 0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 * 2000000 A test case for fstests follows soon. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5f806c3ae2ff6263a10a6901f97abb74dac03d36 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Mar 12 16:04:50 2015 +0000 Btrfs: incremental send, remove dead code The logic to detect path loops when attempting to apply a pending directory rename, introduced in commit f959492fc15b (Btrfs: send, fix more issues related to directory renames) is no longer needed, and the respective fstests test case for that commit, btrfs/045, now passes without this code (as well as all the other test cases for send/receive). Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8996a48c0a8ed01c55f52e6794625c95a9977ee6 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Mar 12 15:16:20 2015 +0000 Btrfs: incremental send, clear name from cache after orphanization If a directory's reference ends up being orphanized, because the inode currently being processed has a new path that matches that directory's path, make sure we evict the name of the directory from the name cache. This is because there might be descendent inodes (either directories or regular files) that will be orphanized later too, and therefore the orphan name of the ancestor must be used, otherwise we send issue rename operations with a wrong path in the send stream. Reproducer: $ mkfs.btrfs -f /dev/sdb $ mount /dev/sdb /mnt $ mkdir -p /mnt/data/n1/n2/p1/p2 $ mkdir /mnt/data/n4 $ mkdir -p /mnt/data/p1/p2 $ btrfs subvolume snapshot -r /mnt /mnt/snap1 $ mv /mnt/data/p1/p2 /mnt/data $ mv /mnt/data/n1/n2/p1/p2 /mnt/data/p1 $ mv /mnt/data/p2 /mnt/data/n1/n2/p1 $ mv /mnt/data/n1/n2 /mnt/data/p1 $ mv /mnt/data/p1 /mnt/data/n4 $ mv /mnt/data/n4/p1/n2/p1 /mnt/data $ btrfs subvolume snapshot -r /mnt /mnt/snap2 $ btrfs send /mnt/snap1 -f /tmp/1.send $ btrfs send -p /mnt/snap1 /mnt/snap2 -f /tmp/2.send $ mkfs.btrfs -f /dev/sdc $ mount /dev/sdc /mnt2 $ btrfs receive /mnt2 -f /tmp/1.send $ btrfs receive /mnt2 -f /tmp/2.send ERROR: rename data/p1/p2 -> data/n4/p1/p2 failed. no such file or directory Directories data/p1 (inode 263) and data/p1/p2 (inode 264) in the parent snapshot are both orphanized during the incremental send, and as soon as data/p1 is orphanized, we must make sure that when orphanizing data/p1/p2 we use a source path of o263-6-o/p2 for the rename operation instead of the old path data/p1/p2 (the one before the orphanization of inode 263). A test case for xfstests follows soon. Reported-by: Robbie Ko <robbieko@xxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2f1f465ae6da244099af55c066e5355abd8ff620 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Mar 2 20:53:53 2015 +0000 Btrfs: send, don't leave without decrementing clone root's send_progress If the clone root was not readonly or the dead flag was set on it, we were leaving without decrementing the root's send_progress counter (and before we just incremented it). If a concurrent snapshot deletion was in progress and ended up being aborted, it would be impossible to later attempt to delete again the snapshot, since the root's send_in_progress counter could never go back to 0. We were also setting clone_sources_to_rollback to i + 1 too early - if we bailed out because the clone root we got is not readonly or flagged as dead we ended up later derreferencing a null pointer because we didn't assign the clone root to sctx->clone_roots[i].root: for (i = 0; sctx && i < clone_sources_to_rollback; i++) btrfs_root_dec_send_in_progress( sctx->clone_roots[i].root); So just don't increment the send_in_progress counter if the root is readonly or flagged as dead. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5cc2b17e80cf5770f2e585c2d90fd8af1b901258 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Mar 2 20:53:52 2015 +0000 Btrfs: send, add missing check for dead clone root After we locked the root's root item, a concurrent snapshot deletion call might have set the dead flag on it. So check if the dead flag is set and abort if it is, just like we do for the parent root. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4f764e5153616fccaed38e7524d6f5f89a49a060 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Feb 23 19:53:35 2015 +0000 Btrfs: remove deleted xattrs on fsync log replay If we deleted xattrs from a file and fsynced the file, after a log replay the xattrs would remain associated to the file. This was an unexpected behaviour and differs from what other filesystems do, such as for example xfs and ext3/4. Fix this by, on fsync log replay, check if every xattr in the fs/subvol tree (that belongs to a logged inode) has a matching xattr in the log, and if it does not, delete it from the fs/subvol tree. This is a similar approach to what we do for dentries when we replay a directory from the fsync log. This issue is trivial to reproduce, and the following excerpt from my test for xfstests triggers the issue: _crash_and_mount() { # Simulate a crash/power loss. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey } rm -f $seqres.full _scratch_mkfs >> $seqres.full 2>&1 _init_flakey _mount_flakey # Create out test file and add 3 xattrs to it. touch $SCRATCH_MNT/foobar $SETFATTR_PROG -n user.attr1 -v val1 $SCRATCH_MNT/foobar $SETFATTR_PROG -n user.attr2 -v val2 $SCRATCH_MNT/foobar $SETFATTR_PROG -n user.attr3 -v val3 $SCRATCH_MNT/foobar # Make sure everything is durably persisted. sync # Now delete the second xattr and fsync the inode. $SETFATTR_PROG -x user.attr2 $SCRATCH_MNT/foobar $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foobar _crash_and_mount # After the fsync log is replayed, the file should have only 2 xattrs, the ones # named user.attr1 and user.attr3. The btrfs fsync log replay bug left the file # with the 3 xattrs that we had before deleting the second one and fsyncing the # file. echo "xattr names and values after first fsync log replay:" $GETFATTR_PROG --absolute-names --dump $SCRATCH_MNT/foobar | _filter_scratch # Now write some data to our file, fsync it, remove the first xattr, add a new # hard link to our file and commit the fsync log by fsyncing some other new # file. This is to verify that after log replay our first xattr does not exist # anymore. echo "hello world!" >> $SCRATCH_MNT/foobar $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foobar $SETFATTR_PROG -x user.attr1 $SCRATCH_MNT/foobar ln $SCRATCH_MNT/foobar $SCRATCH_MNT/foobar_link touch $SCRATCH_MNT/qwerty $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/qwerty _crash_and_mount # Now only the xattr with name user.attr3 should be set in our file. echo "xattr names and values after second fsync log replay:" $GETFATTR_PROG --absolute-names --dump $SCRATCH_MNT/foobar | _filter_scratch status=0 exit The expected golden output, which is produced with this patch applied or when testing against xfs or ext3/4, is: xattr names and values after first fsync log replay: # file: SCRATCH_MNT/foobar user.attr1="val1" user.attr3="val3" xattr names and values after second fsync log replay: # file: SCRATCH_MNT/foobar user.attr3="val3" Without this patch applied, the output is: xattr names and values after first fsync log replay: # file: SCRATCH_MNT/foobar user.attr1="val1" user.attr2="val2" user.attr3="val3" xattr names and values after second fsync log replay: # file: SCRATCH_MNT/foobar user.attr1="val1" user.attr2="val2" user.attr3="val3" A patch with a test case for xfstests follows soon. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1be38e041f8eaa935f370aa0f34dd7a2fe39b1d8 Merge: 6935224 bc465aa Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 26 17:50:42 2015 -0700 Merge tag 'v4.0-rc5' into spi-bcm2835 Linux 4.0-rc5 commit 76b17e6e4923e4138ed9a4d480cba148ff239dc9 Author: Julius Werner <jwerner@xxxxxxxxxxxx> Date: Thu Mar 26 16:30:25 2015 -0700 spi/rockchip: Add device tree property to configure Rx Sample Delay We have found that we can sometimes see read failures on boards with high-capacitance SPI lines. It seems that the controller samples the Rx data line too early, and its register interface has an "Rx Sample Delay" setting to fine-tune against this issue. This patch adds a new optional device tree entry that can configure this delay in terms of nanoseconds. The kernel will calculate the best-fitting amount of parent clock ticks to program the controller with based on that. Signed-off-by: Julius Werner <jwerner@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 754ec43c0184aae48f5a8c917d8282449ab564a9 Author: Julius Werner <jwerner@xxxxxxxxxxxx> Date: Thu Mar 26 16:30:24 2015 -0700 spi/rockchip: Round up clock rate divisor to err on the safe side The Rockchip SPI driver currently calculates its clock rate divisor by integer dividing the parent rate by the target rate, and then rounding the result up to the next even number (since the divisor must be even). Clock rate divisors should always be rounded up, so that the resulting frequency is lower or equal to the target. This is correctly done in the second step here but not in the first, so we still have a risk of exceeding the desired target frequency (e.g. setting spi-max-frequency to 40000000 with a parent clock of 99000000 could lead to a divisor of 99000000 / 40000000 == 2 (which is even) that then results in an effective frequency of 99000000 / 2 == 49500000 (potentially exceeding the flash chip's specifications). This patch changes the division to round up to fix this problem. Signed-off-by: Julius Werner <jwerner@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 517bc04582afbd3cd441d363656a064d0e285fbe Merge: 74ccbff de4b00b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Mar 27 09:17:20 2015 +1000 Merge branch 'drm-st-next-2015-03-19' of git://git.linaro.org/people/benjamin.gaignard/kernel into drm-next This patch makes STI driver use the atomic helpers. I have fix the comments done by Daniel on the first version and get his ack with this second version. * 'drm-st-next-2015-03-19' of git://git.linaro.org/people/benjamin.gaignard/kernel: drm: sti: convert driver to atomic modeset commit f8da055aafec0483c12132554504ec683868c655 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:20 2015 -0300 staging: sm750fb: Change "foo * bar" style to "foo *bar" This patch fixes the checkpatch.pl error: ERROR: "foo * bar" should be "foo *bar" +int ddk750_initHw(initchip_param_t * pInitParam) Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae59c465417a726453f36fc6167e92b14e8bda36 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:19 2015 -0300 staging: sm750fb: Move switch case trailing statment This patch fixes the checkpatch.pl error: ERROR: trailing statements should be on next line Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c04051f533da0408e21782f2e39f88281201f511 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:18 2015 -0300 staging: sm750fb: Add spaces after ',' This patch fixes the checkpatch.pl error: ERROR: space required after that ',' (ctx:VxV) Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c107243b09a62d17956362b6780c07cd5bbb071c Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:17 2015 -0300 staging: sm750fb: Add space before switch statement This patch fixes the checkpatch.pl warnings: ERROR: space required before the open parenthesis '(' + switch(divisor) { ERROR: space required before the open parenthesis '(' + switch(divisor) { ERROR: space required before the open parenthesis '(' + switch(reg) { Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82736d2244a059962bf9efec3338036ae9464986 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:16 2015 -0300 staging: sm750fb: Add space before if statement This patch fix the checkpatch.pl warning: ERROR: space required before the open parenthesis '(' Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce02a16ae444f8a80877d660e41f162f7b2a967a Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:15 2015 -0300 staging: sm750fb: Fix for statement style This patch fixes the checkpatch.pl warnings: ERROR: spaces required around that '=' (ctx:VxV) ERROR: spaces required around that '<=' (ctx:VxV) ERROR: spaces required around that '>' (ctx:VxV) ERROR: space required before the open parenthesis '(' ERROR: space required after that ';' (ctx:VxV) Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9767fc5126c5eff780adff6b4beae81134655206 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:14 2015 -0300 staging: sm750fb: Fix if/else/for/switch braces style This patch fixes the checkpatch.pl errors: ERROR: that open brace { should be on the previous line ERROR: else should follow close brace '}' WARNING: braces {} are not necessary for single statement blocks ERROR: space required before the open brace '{' Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 569a6dcf3d7f7b6b84ba20fdf419df5a1c4f885d Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:13 2015 -0300 staging: sm750fb: Add space after struct definition This patch fixes checkpatch.pl warning: WARNING: missing space after struct definition +typedef struct _pllcalparam{ Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3866a3c6e554cb3f3d6e7fadb1ff4dac1fde2348 Author: Niranjan Dighe <niranjan.dighe@xxxxxxxxx> Date: Thu Mar 26 23:51:58 2015 +0530 Staging: slicoss: Remove redundant and disabled code block Removing code guarded by undefined macro SLIC_TRACE_DUMP_ENABLED Signed-off-by: Niranjan Dighe <niranjan.dighe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b82fa8388db5ccd50bad172d3e885dcea22596d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 20:47:30 2015 +0530 staging: unisys: remove comparison the comparison is always true as the dev_t has been initialized in the init function and we are sending that initialized dev_t to the cleanup(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb79db2b59ce9acda94cd8f0e27cdba0bea0bad1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 20:47:29 2015 +0530 staging: unisys: remove global dev_t the global variable majordev is no longer required, as it is not being used anywhere. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit addceb12a3ed62e50c842f4c8f6099e1ead29ba8 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 20:47:28 2015 +0530 staging: unisys: use local variable in cleanup the dev_t was being stored in visorchipset_platform_device.dev.devt while initializing the module. so pass that value as an argument to cleanup() so that it can use this local variable instead of the global variable. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1191146c9a6ebc0e15ef50788bd392339510c0d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 20:47:27 2015 +0530 staging: unisys: use local variable we are getting dev_t as an argument in the function, so use the local variable instead of the global variable "majordev". this global variable will be removed in one of the next patch of the series. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61986f730eb83912ac4a0c59b671232bdee07c40 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 20:47:26 2015 +0530 staging: unisys: remove redundant variable remove the variable "registered", which was used in the cleanup() to detect if the driver has successfully initialized. the cleanup() is called from module_exit, so its obvious that the module has successfully initialized. if the initialization had failed, then we will never be in the cleanup(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdc81b7910ad5153bf257e5f7861be71f75a02ef Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Mar 26 10:09:08 2015 -0700 stable_kernel_rules: Add clause about specification of kernel versions to patch. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 911a88829725572820dad9a168e735c606a2fdcb Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Mon Mar 9 14:29:04 2015 +0000 memory: jz4780-nemc: driver for the NEMC on JZ4780 SoCs Add a driver for the NAND/External Memory Controller (NEMC) on JZ4780 and later SoCs. The primary function of this driver is to configure parameters, such as timings, for external memory devices using data supplied in the device tree. Devices connected to the NEMC are represented in the DT as children of the NEMC node, the driver uses optional properties specified in these child nodes to configure the parameters of each bank. Signed-off-by: Alex Smith <alex@xxxxxxxxxxxxxxxx> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0e6841653e9e96fea9e0f973a785bc66f45b532 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Mon Mar 9 14:29:03 2015 +0000 dt-bindings: memory-controllers: Add binding for jz4780-nemc Add device tree bindings for the NAND/External Memory Controller (NEMC) on Ingenic JZ4780 Signed-off-by: Alex Smith <alex@xxxxxxxxxxxxxxxx> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0c6ae41d12ad7b2ba271f279936327320b6671c Author: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Date: Wed Mar 25 11:37:32 2015 -0600 spmi: pmic_arb: add support for hw version 2 Qualcomm PMIC Arbiter version-2 changes from version-1 are: - Some different register offsets. - New channel register space, one per PMIC peripheral (ppid). All tx traffic uses these channels. - New observer register space. All rx trafic uses this space. - Different command format for spmi command registers. Reviewed-by: Sagar Dharia <sdharia@xxxxxxxxxxxxxx> Signed-off-by: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b9641f5722a9c08cacb534d633ff469ab02a288 Author: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Date: Wed Mar 25 11:37:31 2015 -0600 spmi: remove wakeup command before slave probe According to spmi spec a slave powers up into startup state and then transitions into active state. Thus, the wakeup command is not required before calling the slave's probe. The wakeup command is only needed for slaves that are in sleep state after receiving the sleep command. Cc: galak@xxxxxxxxxxxxxx Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Sagar Dharia <sdharia@xxxxxxxxxxxxxx> Acked-by: Josh Cartwright <joshc@xxxxxxxxxxxx> Signed-off-by: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03515f323c3766f0a69b62743794577bbd9f87c9 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 19 10:49:42 2015 +0100 MAINTAINERS: change Atmel ssc driver entry I take over the maintainship from Voice. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73cffdb65e679b98893f484063462c045adcf212 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Thu Mar 19 08:11:34 2015 -0700 Drivers: hv: vmbus: Don't wait after requesting offers Don't wait after sending request for offers to the host. This wait is unnecessary and simply adds 5 seconds to the boot time. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b98b91029cf8a6defc6311d4018c44f3b05fbec7 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 23:44:54 2015 +0100 hostfs: No need to box and later unbox the file mode There is really no point in having a function with 10 arguments. Reported-by: Daniel Walter <d.walter@xxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit af6aa1b9cad7350d675fe3523ab062e0e4c829cb Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 20:58:39 2015 +0100 hostfs: Use page_offset() The kernel offers a helper function for that, use it. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit b86b413a321105cb75373b48fd7ba53fcbc7ec4c Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 12:44:03 2015 +0100 hostfs: Set page flags in hostfs_readpage() correctly In case of an error set the page error flag and clear the up-to-date flag. If the read was successful clear the error flag unconditionally. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit bd1052a245c004068a7123aa077c576be64639e4 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 00:06:38 2015 +0100 hostfs: Remove superfluous initializations in hostfs_open() Only initialize what we really need. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit a9d1958b4b9a688becceda44938baac99a62fbd7 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 22:39:48 2015 +0100 hostfs: hostfs_open: Reset open flags upon each retry ...otherwise we might end up with an incorrect mode mode. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 112a5da717f86250bc6be2c63e7af174be7c5507 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 00:05:11 2015 +0100 hostfs: Remove superfluous test in hostfs_open() Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 7f74a6687992f29c14b98a7bc8d5d924d5883434 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 00:00:54 2015 +0100 hostfs: Report append flag in ->show_options() hostfs has an "append" mount option. Report it. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 7c9509924c711d45d7932548d2c632f44f64e7e3 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Mar 3 23:55:49 2015 +0100 hostfs: Use __getname() in follow_link Be consistent with all other functions in hostfs and just use __getname(). Signed-off-by: Richard Weinberger <richard@xxxxxx> commit c278e81b8a0291f5adce43c4613ad569d76dc384 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Mar 3 23:42:25 2015 +0100 hostfs: Remove open coded strcpy() Signed-off-by: Richard Weinberger <richard@xxxxxx> commit aad50b1e06081de0e4ff25335ab6f52e58bfcef1 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Mar 3 23:41:52 2015 +0100 hostfs: Add a BUG_ON to detect behavior changes of dentry_path_raw() hostfs' __dentry_name() relies on the fact that dentry_path_raw() will place the path name at the end of the provided buffer. While this is okay, add a BUG_ON() to detect behavior changes as soon as possible. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 41761ddfaecb30e1f0ecac4ce568e3e641d10bec Author: Richard Weinberger <richard@xxxxxx> Date: Tue Mar 3 21:40:55 2015 +0100 hostfs: Make hostfs_readpage more readable ...to make life easier for future readers of that code. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 2ad2dca6fd28cf24ed64110a8b374fc838838c81 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 2 00:10:25 2015 +0100 hostfs: Handle bogus st.mode Make sure that we return EIO if one passes an invalid st.mode into hostfs. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 4c6dcafc691bbd1e3258b623121d8859d3213ae9 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 2 00:09:33 2015 +0100 hostfs: Allow fsync on directories Historically hostfs did not open directories on the host filesystem for performance and memory reasons. But it turned out that this optimization has a drawback. Calling fsync() on a hostfs directory returns immediately with -EINVAL as fsync is not implemented. While this is behavior is strictly speaking correct common userspace like dpkg(1) stumbles over that and makes it impossible to use hostfs as root filesystem. The fix is easy, wire up the existing host open/fsync functions to the directory file operations. Reported-by: Daniel Gröber <dxld@xxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit af9556586a906106453ff7df8bcacf795b2b7d0a Author: Richard Weinberger <richard@xxxxxx> Date: Fri Feb 27 22:56:28 2015 +0100 hostfs: hostfs_file_open: Fix a fd leak in hostfs_file_open In case of a race between to callers of hostfs_file_open() it can happen that a file describtor is leaked. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 69886e676e89534953b12df77382504a7731f7bb Author: Richard Weinberger <richard@xxxxxx> Date: Fri Feb 27 22:55:20 2015 +0100 hostfs: hostfs_file_open: Switch to data locking model Instead of serializing hostfs_file_open() we can use a per inode mutex to protect ->mode. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 160b7daab96636d089fee4e0487da49c70ca4e15 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:33 2015 +0100 coresight-replicator: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e4934c6d6c659e22b1b746af4196683e77ce6ca Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Mar 13 14:51:51 2015 +0100 tty: serial: fsl_lpuart: clear receive flag on FIFO flush When the receiver was enabled during startup, a character could have been in the FIFO when the UART get initially used. The driver configures the (receive) watermark level, and flushes the FIFO. However, the receive flag (RDRF) could still be set at that stage (as mentioned in the register description of UARTx_RWFIFO). This leads to an interrupt which won't be handled properly in interrupt mode: The receive interrupt function lpuart_rxint checks the FIFO count, which is 0 at that point (due to the flush during initialization). The problem does not manifest when using DMA to receive characters. Fix this situation by explicitly read the status register, which leads to clearing of the RDRF flag. Due to the flush just after the status flag read, a explicit data read is not to required. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e8f245937091b2c9eebf3d4909c9ceda4f0a78e Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Mar 13 14:51:50 2015 +0100 tty: serial: fsl_lpuart: specify transmit FIFO size Specify transmit FIFO size which might be different depending on LPUART instance. This makes sure uart_wait_until_sent in serial core getting called, which in turn waits and checks if the FIFO is really empty on shutdown by using the tx_empty callback. Without the call of this callback, the last several characters might not yet be transmitted when closing the serial port. This can be reproduced by simply using echo and redirect the output to a ttyLP device. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e91d863d1aaeda0349aed42dfbd75c98e042a2c9 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Mar 13 12:38:51 2015 +0100 serial: samsung: Clear operation mode on UART shutdown Exynos serial ports operate either in a DMA-based or interrupt-based modes. In DMA-based mode, the UART generates a transfer data request and a Transmission (Tx) interrupt in interrupt-based mode. The Tx IRQ is only unmasked in interrupt-based mode and it was done in s3c24xx_serial_start_tx(). Commit ba019a3e2ad5 ("serial: samsung: remove redundant interrupt enabling") removed the IRQ enable on that function since it is enabled when the mode is set in enable_tx_pio(). The problem is that enable_tx_pio() is only called if the port mode has not been set before but the mode was not cleared on .shutdown(). So if the UART was shutdown and then started up again, the mode set will remain and the Tx IRQ won't be unmasked. This caused a hang on at least Exynos5250, Exynos5420 and Exynos5800 when the system is rebooted or powered off. Fixes: ba019a3e2ad5 ("serial: samsung: remove redundant interrupt enabling") Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbf47635315ab308c9b58a1ea0906e711a9228de Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 23:10:27 2015 +0100 tty: clean up the tty time logic a bit We only care if anything other than the lower 3 bits of the tty has changed, so just check that way, which makes it a bit faster, and more obvious what is going on. Also, document this for future developers to understand why we did this. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx commit 23f5b3fdd04e89b4c67fd9ffa60a193d239acf0f Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Wed Mar 18 12:55:13 2015 +0200 serial: 8250_dw: only get the clock rate in one place The clock rate is requested from a property called "clock-frequency" in both dw8250_probe_of and dw8250_probe_acpi. Moving the requests to dw8250_probe. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9001c07995fdd1f3657408c71bca7d6c5fb87fd3 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Wed Mar 18 12:55:12 2015 +0200 serial: 8250_dw: remove useless ACPI ID check Having ACPI handle does not mean the same as having ACPI identifier. The check is in any case useless, but having it prevents this driver from being used for example with multifunctional PCI devices, such as the newer Intel LPSS devices. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 180a53577b809026af744e99a35b3a3a0056520b Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 9 10:04:09 2015 +0100 UBI: Fastmap: Fall back to scanning mode after ECC error If we encounter an uncorrectable ECC error while scanning for the fastmap UBI must not fail hard. Instead fall back to scanning mode. Reported-by: Alexander Block <Alexander.Block@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ad53b26cd140fbea92d79a449c8ddb8d1a6f5f26 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 16 10:53:58 2015 +0200 dmaengine: hsu: move memory allocation to GFP_NOWAIT The GFP_ATOMIC is too strict, and DMAEngine documentation make an advice to use GFP_NOWAIT. This patch does the conversion. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bb82458ec76edc6d2a91fd3b2d2daae44561443 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 16 10:53:57 2015 +0200 dmaengine: hsu: remove redundant pieces of code There are few places where the implemented pieces of code are not needed, i.e.: - direction can't be wrong in hsu_dma_chan_start() - desc->active set to 0 by kzalloc - DMAEngine is NULL-aware when call ->device_alloc_chan_resources() Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90b9aacf912af38a177114ca232051c61be8b93e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 13 17:44:26 2015 +0200 serial: 8250_pci: add Intel Tangier support Intel Tangier contains 4 HSUART ports as found on Intel Edison board which are 8250 compatible. The patch adds necessary bits to the driver. Note that the HSU port0 is currently unavailable and thus not supported. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 594eb4a4be013b27a4ed28ccf5a3431432723719 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 13 17:44:25 2015 +0200 dmaengine: hsu: add Intel Tangier PCI ID Intel Tangier is known to have the HSU DMA IP as PCI device 00:05.0. The patch adds the ID as found on Intel Edison board to the PCI device table. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1a67b48f6a5878b7ec9f49144faa02f94e965cc Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 13 18:51:13 2015 +0200 serial: 8250_pci: replace switch-case by formula for Intel MID This patch replaces a switch-case by a formula using rational best approximation that does necessary calculations for intel_mid_set_termios(). Below is a list of the calculations done for all defined baud rates. Each line in a format: 1) nominator, 2) denominator, 3) prescaler, 4) Fuart, 5) port UART clock, 6) list of baud rates with DLAB values. 24 25 12 48000000 64000000 4000000(1) 49 50 14 49000000 56000000 3500000(1) 4 5 16 40000000 40000000 2500000(1) 16 25 16 32000000 32000000 500000(4),1000000(2),2000000(1) 24 25 16 48000000 48000000 1500000(2),3000000(1) 2304 3125 16 36864000 36864000 576000(4),1152000(2) 8192 15625 16 26214400 26214400 50(32768),200(8192) 9216 15625 16 29491200 29491200 1800(1024),57600(32),115200(16), 230400(8),460800(4),921600(2),1843200(1) 12288 15625 16 39321600 39321600 75(32768),150(16384),300(8192), 600(4096),1200(2048),2400(1024),4800(512), 9600(256),19200(128),38400(64) 45056 78125 16 28835840 28835840 110(16384) 274432 390625 16 35127296 35127296 134(16384) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21947ba654a685ab48f2d4089c5c2d27443c2d0d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 13 18:51:12 2015 +0200 serial: 8250_pci: replace switch-case by formula This patch replaces a switch-case by a formula using rational best approximation that does necessary calculations for byt_set_termios(). Below is a list of the calculations done for all defined baud rates. Each line in a format: 1) numerator, 2) denominator, 3) prescaler, 4) Fuart, 5) port UART clock, 6) list of baud rates with DLAB values. 4 5 16 80000000 80000000 2500000(2) 14 25 16 56000000 56000000 3500000(1) 16 25 16 64000000 64000000 500000(8),1000000(4),2000000(2), 4000000(1) 24 25 16 96000000 96000000 1500000(4),3000000(2) 2180 3103 16 70254592 70254592 134(32768) 2304 3125 16 73728000 73728000 576000(8),1152000(4) 8192 15625 16 52428800 52428800 50(65536),200(16384) 9216 15625 16 58982400 58982400 1800(2048),57600(64),115200(32), 230400(16),460800(8),921600(4),1843200(2) 12288 15625 16 78643200 78643200 75(65536),150(32768),300(16384), 600(8192),1200(4096),2400(2048), 4800(1024),9600(512),19200(256),38400(128) 9893 17154 16 57671680 57671680 110(32768) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49708c9e6cbb3c534677f429053bd18c2e948069 Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Thu Mar 12 16:23:59 2015 +0100 tty: cpm_uart: replace CONFIG_8xx by CONFIG_CPM1 Two config options exist to define powerpc MPC8xx: * CONFIG_PPC_8xx * CONFIG_8xx In addition, CONFIG_PPC_8xx also defines CONFIG_CPM1 as communication co-processor arch/powerpc/platforms/Kconfig.cputype has contained the following comment about CONFIG_8xx item for some years: "# this is temp to handle compat with arch=ppc" It looks like not many places still have that old CONFIG_8xx used, so it is likely to be a good time to get rid of it completely ? Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a666b54adabc7dd40d754671a26996e6c985ae1b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Mar 17 12:17:28 2015 +0300 serial: jsm: some off by one bugs "brd->nasync" amd "brd->maxports" are the same. They hold the number of filled out channels in the brd->channels[] array. These tests should be ">=" instead of ">" so that we don't read one element past the end. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 136debf707d2b3cd8e74d0fff8e29d11a78bf5c2 Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Wed Mar 11 22:39:28 2015 +0100 serial: xuartps: Fix check in console_setup(). cdns_uart_console_setup() checks port->mapbase != 0, but the port may not be initialized yet even if this condition is met [e.g., ioremap() may have failed]. Check port->membase != NULL instead, similar to cdns_early_console_setup(). Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19f22efdb653642814e6c8710fca974c1dbe7cfa Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 22:11:59 2015 +0100 serial: xuartps: Get rid of register access macros. Get rid of cdns_uart_readl() and cdns_uart_writel() and just call readl() and writel() directly. Most of the patch was created by search-and-replace (I had to convert a few lines manually, and break some lines longer than 80 columns): * s/cdns_uart_readl(/readl(port->membase + /g * s/cdns_uart_writel(\([^,]*\),/writel(\1, port->membase +/g Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3c951726edbec6219ba75b34a2151d7c0fa9fc7 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:36 2015 +0100 target: add missing __user annotations Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3abff1e5b0ab19900364cf1faddb92d64f9ee2cb Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:35 2015 +0100 target: add missing sense_reason_t annotations Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 077aa3b2db67dd43781e9ca1635e542696c39269 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:34 2015 +0100 target: add __releases annotation to target_release_cmd_kref Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0c39a467e7ba68a0d94439c1ebe260dc5b26302b Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Wed Mar 11 22:39:27 2015 +0100 serial: xuartps: Fix iobase use. cdns_uart_get_port() sets port->iobase = 1 to "mark port in use", but this "in use" condition is not checked anywhere else in the code. So remove the line, keeping port->iobase = 0 (which also makes more sense). Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db6df0e4a1b913810fc9063bbb332476ce316b7 Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Wed Mar 11 22:39:26 2015 +0100 serial: xuartps: Fix cdns_uart_port[] definition. The code assumes that the array cdns_uart_port[] has dimension CDNS_UART_NR_PORTS, so let us define it this way. Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9646e4fee42d080ad484eef005691a17ed9cb8e7 Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Wed Mar 11 22:39:25 2015 +0100 serial: xuartps: Fix register space size. The register space size is 0x1000, and this value [not 0xfff] should be provided to request_mem_region(), ioremap(), etc. Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 964949169e0aef56f729e5fca3478ca0ee634478 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:33 2015 +0100 target: mark iscsit_start_kthreads static Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6e1a27b919c643a1570885425d639f77f04d8690 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:32 2015 +0100 target: mark tcm_loop_primary static Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit b13876d23a24f7fb5307183ee3314434193870af Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:31 2015 +0100 target: move external declarations to a headers We should not declare extrnal .c symbols in C files to make sure they match the actual prototype, and sparse correctly warns about this. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0787691230d88af8cdfc6d4085957bbf7cec1e5d Author: Mans Rullgard <mans@xxxxxxxxx> Date: Sun Mar 8 14:30:05 2015 +0000 serial: of: set port iomem size from devicetree Make the 8250 driver reserve exactly the mmio region specified in the devicetree. This prevents conflicts between UPIO_AU type UARTs and other devices mapped closer than the default size of 0x1000 (or 0x100 for RT2880). Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee97d0e3f06498487671c23cad4230bf9aa5fd88 Author: Mans Rullgard <mans@xxxxxxxxx> Date: Sun Mar 8 14:30:04 2015 +0000 serial: 8250: allow specifying iomem size in addition to address This adds a mapsize field to struct uart_port to be used in conjunction with mapbase. If set, it overrides whatever value serial8250_port_size() would otherwise report. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e673dc920b805f08429e122321f8355cb97c2120 Author: Ilias Tsitsimpis <iliastsi@xxxxxxxxxxx> Date: Thu Mar 26 17:12:42 2015 +0200 target: Better handling of AllRegistrants reservations Fix AllRegistrants reservations in register_and_move() function where the code didn't handle all of the registered devices as reservation holders, resulting in the wrong warning message being displayed. At the same time, introduce a helper function named 'is_reservation_holder()' that properly checks if a device is a reservation holder, taking into account the reservation type. This function cleans up the code and improves readability. Signed-off-by: Ilias Tsitsimpis <iliastsi@xxxxxxxxxxx> Signed-off-by: Vangelis Koukis <vkoukis@xxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 073900bdb4e34109a647c7cb871856a771634460 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Feb 27 10:21:06 2015 +0000 iscsi-target: Drop legacy iscsi_target_tq.c logic Now that iscsi_conn allocates new [rx,tx] threads using kthread.h primitives on the fly, and kthread_stop() is called directly during connection shutdown, it's time to go ahead and drop iscsi_target_tq.c legacy code. The use of multiple struct completion in iscsi_activate_thread_set() has been proven to cause issues during repeated iser login/logout. Tested-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Slava Shwartsman <valyushash@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 88dcd2dab5c23b1c9cfc396246d8f476c872f0ca Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Thu Feb 26 22:19:15 2015 -0800 iscsi-target: Convert iscsi_thread_set usage to kthread.h This patch converts iscsi-target code to use modern kthread.h API callers for creating RX/TX threads for each new iscsi_conn descriptor, and releasing associated RX/TX threads during connection shutdown. This is done using iscsit_start_kthreads() -> kthread_run() to start new kthreads from within iscsi_post_login_handler(), and invoking kthread_stop() from existing iscsit_close_connection() code. Also, convert iscsit_logout_post_handler_closesession() code to use cmpxchg when determing when iscsit_cause_connection_reinstatement() needs to sleep waiting for completion. Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Slava Shwartsman <valyushash@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 5ef86b74209db33c133b5f18738dd8f3189b63a1 Author: Ken Xue <Ken.Xue@xxxxxxx> Date: Mon Mar 9 17:10:13 2015 +0800 serial: 8250_dw: add support for AMD SOC Carrizo Add ACPI identifier for UART on AMD SOC Carrizo. Signed-off-by: Ken Xue <Ken.Xue@xxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed0bb2323c9321b91dfa0ea8317fdc4d9592dce4 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:11 2015 +0100 tty: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Peter Korsgaard <peter@xxxxxxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37ff5252b3ae141eba2dcf20693484e4b53176b1 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:10 2015 +0100 tty/hvc_opal: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56794c0a1ae738cb4184ab27501e4d152b0b2771 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Nov 7 13:35:41 2014 +0100 UBI: Fastmap: Remove is_fm_block() This function was added to fastmap in a very early stage to have paranoid assertions. With the current fastmap implementation this assert will never trigger as fastmap PEBs are not seen by the WL sub-system. Remove it to save us some CPU cycles. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 1841fcfd910b4e841de40e1f6bc3dad6109a4054 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 29 11:47:22 2014 +0100 UBI: Fastmap: Add blank line after declarations Another checkpatch complaint: WARNING: Missing a blank line after declarations Signed-off-by: Richard Weinberger <richard@xxxxxx> commit e1bc37ceafc04dff20a8cdc88ed250941ec2ea92 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 29 11:44:45 2014 +0100 UBI: Fastmap: Remove else after return. checkpatch.pl complains: WARNING: else is not generally useful after a break or return Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 2f84c2469e2f2e94a45d86597baec10bfbf06847 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 29 10:31:41 2014 +0100 UBI: Fastmap: Introduce may_reserve_for_fm() ...and kill another #ifdef. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit acfda79f8808518b0235eb9a13c8b5f762e43a75 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 28 17:07:06 2014 +0100 UBI: Fastmap: Introduce ubi_fastmap_init() ...and kill another #ifdef in wl.c. :-) Signed-off-by: Richard Weinberger <richard@xxxxxx> commit c5c3f3cf969e45c53345283fce0ba11fae7abd32 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 28 16:24:27 2014 +0100 UBI: Fastmap: Wire up WL accessor functions Use the new WL accessor functions in fastmap. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 23c482ef7b7611225f70efe46a3627b889cab1a4 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 28 16:18:42 2014 +0100 UBI: Add accessor functions for WL data structures Fastmap need access to various WL data structures as fastmap tightly depends on WL. To make the access less invasive add accessor functions. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 78d6d497a648cc04ae26b27af1e01ce3e41a9c72 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 18:21:51 2014 +0100 UBI: Move fastmap specific functions out of wl.c Fastmap is tightly connected to the WL sub-system, many fastmap-specific functionslive in wl.c. To get rid of most #ifdefs in wl.c move this functions into a new file and include it into wl.c Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 479c2c0cac0c1d23655df15cf039b4f8e3623d23 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 8 15:14:09 2014 +0200 UBI: Fastmap: Add new module parameter fm_debug If fm_debug is set fastmap debugging is enabled by default. This is useful if one wants to debug fastmap on an UBI device with serves the rootfs. The the UBI attach mechanism runs long before debugfs can be mounted and chk_fastmap set. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 560d86a1a210000b33859cd66e051fcb516a3559 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 27 13:00:26 2014 +0100 UBI: Fastmap: Make self_check_eba() depend on fastmap self checking ...instead of generic self checking. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit daef3dd1f0ae71bf04a32af4ef643baf040bb73d Author: Richard Weinberger <richard@xxxxxx> Date: Mon Sep 22 15:36:40 2014 +0200 UBI: Fastmap: Add self check to detect absent PEBs This self check allows Fastmap to detect absent PEBs while writing a new fastmap to the MTD device. It will help to find implementation issues in Fastmap. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ee59ba8b064f692a1dee99b6f3ba30b0e904b2c1 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 16:16:23 2014 +0100 UBI: Fix stale pointers in ubi->lookuptbl In some error paths the WL sub-system gives up on a PEB and frees it's ubi_wl_entry struct but does not set the entry in ubi->lookuptbl to NULL. Fastmap can stumble over such a stale pointer as it uses ubi->lookuptbl to find all PEBs. Fix this by introducing a new helper function which free()s a WL entry and removes the reference from the lookup table. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 24b7a347c37f99c9d08d2d3ae9c6a56a8333429b Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 15:18:41 2014 +0200 UBI: Fastmap: Enhance fastmap checking Don't update the fastmap upon detach if fastmap checking is enabled. This is poor men's power cut testing feature. :-) Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 5fa7fa5dad0cf8f2b47bb8dca91c605c48d282f6 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Sep 22 11:44:50 2014 +0200 UBI: Add initial support for fastmap self checks Using this debugfs knob fastmap self checks can be controlled. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> commit 5ca97ad83800938e8aeea622821a26d69d2052bf Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 16:11:40 2014 +0100 UBI: Fastmap: Rework fastmap error paths If UBI is unable to write the fastmap to the device we have make sure that upon next attach UBI will fall back to scanning mode. In case we cannot ensure that they only thing we can do is falling back to read-only mode. The current error handling code is not powercut proof. It could happen that a powercut while invalidating would lead to a state where an too old fastmap could be used upon attach. This patch addresses the issue by writing a fake fastmap super block to a fresh PEB instead of reerasing the existing one. The fake fastmap super block will UBI case to do a full scan. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 61de74ce2fa2cc9eee85cf5edc6525b12831b507 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 29 16:59:32 2014 +0100 UBI: Fastmap: Prepare for variable sized fastmaps The current code assumes that each fastmap has the same amount of PEBs. So far this is true but will change soon. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 111ab0b26fc1bfad575d1e376e146d194d261e22 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 16:28:08 2014 +0100 UBI: Fastmap: Locking updates a) Rename ubi->fm_sem to ubi->fm_eba_sem as this semaphore protects EBA changes. b) Turn ubi->fm_mutex into a rw semaphore. It will still serialize fastmap writes but also ensures that ubi_wl_put_peb() is not interrupted by a fastmap write. We use a rw semaphore to allow ubi_wl_put_peb() still to be executed in parallel if no fastmap write is happening. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 42dd3cdcd6b5671ebedc3df76ca8dcc3473bcc67 Author: Richard Weinberger <richard@xxxxxx> Date: Sat Oct 25 13:26:49 2014 +0200 UBI: Fastmap: Set used_ebs only for static volumes If we set it for dynamic ones we might confuse various self checks. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 8fb2a514780eee48602424a86e3cd72d3f1bdfb2 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 16:27:10 2014 +0100 UBI: Fastmap: Fix race after ubi_wl_get_peb() ubi_wl_get_peb() returns a fresh PEB which can be used by user of UBI. Due to the pool logic fastmap will correctly map this PEB upon attach time because it will be scanned. If a new fastmap is written (due to heavy parallel io) while the before the fresh PEB is assigned to the EBA table it will not be scanned as it is no longer in the pool. So, the race window exists between ubi_wl_get_peb() and the EBA table assignment. We have to make sure that no new fastmap can be written while that. To ensure that ubi_wl_get_peb() will grab ubi->fm_sem in read mode and the user of ubi_wl_get_peb() has to release it after the PEB got assigned. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ad3d6a05ee45eebf68ff08da0d3f86251b530a27 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Oct 24 15:22:05 2014 +0200 UBI: Fastmap: Fix leb_count unbalance If a LEB is unmapped we have to decrement leb_count as well. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 68e3226bd4e05c4be1f6286e4e708e1163ffa092 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 8 14:55:58 2014 +0200 UBI: Fastmap: Make WL pool size 50% of user pool size Don't use a fixed size for the WL pool. Make it instead 50% of the user pool. We don't make it 100% as it is not as heavily used as the user pool. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 2d93fb3632755c170bc684989709e28ef3d22a80 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 7 21:45:19 2014 +0200 UBI: Fastmap: Switch to ro mode if invalidate_fastmap() fails We have to switch to ro mode to guarantee that upon next UBI attach all data is consistent. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d141a8ef21ab496ab6f8d188dfe7ca33e16fe798 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 7 21:39:20 2014 +0200 UBI: Fastmap: Remove eba_orphans logic This logic is in vain as we treat protected PEBs also as used, so this case must not happen. If a PEB is found which is in the EBA table but not known as used has to be issued as fatal error. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit a83832a7c8d023f446ec865926190951bd18a4b1 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 7 18:51:07 2014 +0200 UBI: Fastmap: Remove bogus ubi_assert() It is legal to have PEBs left in the used list. This can happen if UBI copies a PEB and a powercut happens between writing a new fastmap and adding this PEB into the EBA table. In this case the old PEB will be used. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 36a87e44f642966442fd0d23f2ec536851e00236 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 7 16:31:22 2014 +0200 UBI: Fastmap: Fix race in ubi_eba_atomic_leb_change() This function a) requests a new PEB, b) writes data to it, c) returns the old PEB and d) registers the new PEB in the EBA table. For the non-fastmap case this works perfectly fine and is powercut safe. Is fastmap enabled this can lead to issues. If a new fastmap is written between a) and c) the freshly requested PEB is no longer in a pool and will not be scanned upon attaching. If now a powercut happens between c) and d) the freshly requested PEB will not be scanned and the old one got already scheduled for erase. After attaching the EBA table will point to a erased PEB. Fix this issue by swapping steps c) and d). Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d2158f69a7d469c21c37f7028c18aa8c54707de3 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 15:58:07 2014 +0200 UBI: Remove alloc_ai() slab name from parameter list There is always exactly one ubi_attach_info object allocated, therefore we don't have to care about the name. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 98105d0819daf569e741ddfba73cedcac371b9d8 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 15:39:01 2014 +0200 UBI: Fastmap: Fix memory leak while attaching Currently we leak a few ubi_ainf_pebs while attaching. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 84b678f497c6eda650f0640bd7cf165e2c1acb49 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 15:14:16 2014 +0200 UBI: Fastmap: Fix fastmap usage in ubi_volume_notify() There is no need to switch to ro mode if ubi_update_fastmap() fails. Also get rid of the ifdef. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> commit 5e0246e332349751d39d186ea0b7ec1e371ab2f8 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 15:12:16 2014 +0200 UBI: Fastmap: Wrap fastmap specific function in a ifdef ...such that we can implement NOP variants of some functions. This will help to reduce fastmap specific ifdefs in other c files. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> commit 943b33564e78130014ca91b575181becc828179e Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 14:57:18 2014 +0200 UBI: Fastmap: Notify user in case of an ubi_update_fastmap() failure If ubi_update_fastmap() fails notify the user. This is not a hard error as ubi_update_fastmap() makes sure that upon failure the current on-flash fastmap will no be used upon next UBI attach. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 74cdaf24004aea8de350f58979548b3eddc11e9a Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 14:42:01 2014 +0200 UBI: Fastmap: Fix memory leaks while closing the WL sub-system Add a ubi_fastmap_close() to free all resources used by fastmap at WL shutdown. Signed-off-by: Richard Weinberger <richard@xxxxxx> Tested-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> commit a9cf86f62b785202684c3ba92895946f03d910c8 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:35 2015 +0000 KVM: arm/arm64: prepare GICv2 emulation to be handled by kvm_io_bus Using the framework provided by the recent vgic.c changes we register a kvm_io_bus device when initializing the virtual GICv2. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 6777f77f0f544f686ee3158ff0db6a7d81b7d3a2 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:34 2015 +0000 KVM: arm/arm64: implement kvm_io_bus MMIO handling for the VGIC Currently we use a lot of VGIC specific code to do the MMIO dispatching. Use the previous reworks to add kvm_io_bus style MMIO handlers. Those are not yet called by the MMIO abort handler, also the actual VGIC emulator function do not make use of it yet, but will be enabled with the following patches. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 9f199d0a0eeb8efb564ff41a6b9f819c4c0285ea Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:33 2015 +0000 KVM: arm/arm64: simplify vgic_find_range() and callers The vgic_find_range() function in vgic.c takes a struct kvm_exit_mmio argument, but actually only used the length field in there. Since we need to get rid of that structure in that part of the code anyway, let's rework the function (and it's callers) to pass the length argument to the function directly. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit cf50a1eb43b98daa181714e40e22c8e5ad5007d6 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:32 2015 +0000 KVM: arm/arm64: rename struct kvm_mmio_range to vgic_io_range The name "kvm_mmio_range" is a bit bold, given that it only covers the VGIC's MMIO ranges. To avoid confusion with kvm_io_range, rename it to vgic_io_range. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit f0e4b2776c12c1633ccef17f210733d6e1b6b2b3 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:31 2015 +0000 KVM: x86: remove now unneeded include directory from Makefile virt/kvm was never really a good include directory for anything else than locally included headers. With the move of iodev.h there is no need anymore to add this directory the compiler's include path, so remove it from the x86 kvm Makefile. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5d9d15af1cade35e84979f222b911cbc97106032 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:30 2015 +0000 KVM: arm/arm64: remove now unneeded include directory from Makefile virt/kvm was never really a good include directory for anything else than locally included headers. With the move of iodev.h there is no need anymore to add this directory the compiler's include path, so remove it from the arm and arm64 kvm Makefile. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit af669ac6dc3f66bb56fb9612b9826adac6292794 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:29 2015 +0000 KVM: move iodev.h from virt/kvm/ to include/kvm iodev.h contains definitions for the kvm_io_bus framework. This is needed both by the generic KVM code in virt/kvm as well as by architecture specific code under arch/. Putting the header file in virt/kvm and using local includes in the architecture part seems at least dodgy to me, so let's move the file into include/kvm, so that a more natural "#include <kvm/iodev.h>" can be used by all of the code. This also solves a problem later when using struct kvm_io_device in arm_vgic.h. Fixing up the FSF address in the GPL header and a wrong include path on the way. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit e32edf4fd0fa4897e12ca66118ab67bf257e16e4 Author: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 14:39:28 2015 +0000 KVM: Redesign kvm_io_bus_ API to pass VCPU structure to the callbacks. This is needed in e.g. ARM vGIC emulation, where the MMIO handling depends on the VCPU that does the access. Signed-off-by: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5f6d851564a978085e23ccc41ee95cfa3a2ee43e Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Tue Mar 17 01:19:54 2015 +0900 serial: sh-sci: Update calculation of timeout for DMA The current calculation method in the case of 9600bps, rounding error occurs has become setting that occur timeout faster than the required time. When we use 9600bps, 32byte buffer, 10 bit (CS8) and 100 HZ, it becomes 3 jiffies (30msec). In fact it is necessary 33msec. This updates to the calculation that are not actually less than the value set by the rounding error. Also, this is nothing will be calculated value when there is no load. If there are a lot of case load, overrun error will occur immediately. This is by the buffer size to be calculated twice the DMA buffer, and add the change of setting a sufficient time-out value. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb772fe75fa189c25ec258d36dabf914205e6635 Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Tue Mar 17 01:19:19 2015 +0900 serial: sh-sci: Add overrun handling of SCIFA and SCIFB SCIFA and SCIFB can detect the overrun, but it does not support. This adds overrun handling of SCIFA and SCIFB. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0814e8d5da2b6f25088fe28d5e23f511d8441883 Author: Jakub Kicinski <kubakici@xxxxx> Date: Tue Mar 17 00:28:49 2015 +0100 sc16is7xx: enable the clock Although clk_disable_unprepare() is called both on .remove() and in .probe() error path, the clock is never actually enabled. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9764e7a0f63bda5664cb985f992002c6eccef641 Author: Jakub Kicinski <kubakici@xxxxx> Date: Tue Mar 17 00:28:47 2015 +0100 sc16is7xx: don't wipe out port configuration on shutdown EFCR register contains RS-485 configuration which should not be changed by shutdown. Instead of doing a write only update the appropriate bits. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11b03ea0c1ef1cd2df3e7ea0437a13e2dfb65f60 Author: Jakub Kicinski <kubakici@xxxxx> Date: Tue Mar 17 00:28:46 2015 +0100 sc16is7xx: remove ports on probe error path If ports are not explicitly removed on the error path the device will not get properly unregistered leaving /dev/ttySC* nodes in the filesystem. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cf94d3a115ad118a36cba2c9a5383acda94e544 Author: Doug Kehn <rdkehn@xxxxxxxxx> Date: Tue Mar 24 08:19:27 2015 -0500 tty/serial: omap: fix !wakeirq message When wakeirq is not used/enabled, "no wakeirq for uart0" is output for all TTY as the log message is generated before the port line is initialized. [ 0.802656] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.811700] omap_uart 44e09000.serial: no wakeirq for uart0 [ 0.812379] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0 [ 1.503622] console [ttyO0] enabled [ 1.509836] omap_uart 48022000.serial: no wakeirq for uart0 [ 1.516118] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 89, base_baud = 3000000) is a OMAP UART1 [ 1.527711] omap_uart 48024000.serial: no wakeirq for uart0 [ 1.533881] 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 90, base_baud = 3000000) is a OMAP UART2 [ 1.545324] omap_uart 481a6000.serial: no wakeirq for uart0 [ 1.551410] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 60, base_baud = 3000000) is a OMAP UART3 [ 1.562946] omap_uart 481a8000.serial: no wakeirq for uart0 [ 1.569036] 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 61, base_baud = 3000000) is a OMAP UART4 Fix by moving wakeirq initialization, check, and dev_info() call to after port line initialization and validation. Signed-off-by: Doug Kehn <rdkehn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fea53e255eaa889fb6cf8e10d11fbea2921eac8 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:36 2015 -0700 tty: serial: Remove orphaned serial driver This driver is orphaned now that mach-msm has been removed. Delete it. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e23407d8b3e4b3011520e5140322fddd34172173 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:37 2015 -0700 tty: serial: msm_serial: Remove dead code This config no longer exists now that mach-msm has been removed. Delete it and the associated code. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77002c6f95cc2b51284f6f855da2c19e911f837a Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 18:02:14 2015 +0800 serial: 8250_pci: remove non-used var for F81504 Remove pci_fintek_setup() non-used var with calculation ciobase Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4228d7cf5844776bfe7c1a466fc827530c0086f Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Mon Mar 9 04:17:51 2015 +0000 serial: 8250: remove the redundant include The serial_core.h file have been included in header file serial_8250.h. so remove the "#include <serial_core.h>" in some 8250 serial drivers, because they have included the header file serial_8250.h. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f01a0bd8921b9d6668d41fae3198970e6318f532 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:05:01 2015 -0400 serial: 8250: Check UART_SCR is writable Au1x00/RT2800+ doesn't implement the 8250 scratch register (and this may be true of other h/w currently supported by the 8250 driver); read back the canary value written to the scratch register to enable the console h/w restart after resume from system suspend. Fixes: 4516d50aabedb ("serial: 8250: Use canary to restart console ...") Reported-by: Mason <slash.tmp@xxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 509cb7dc07cc03c28c7995a9213a605c04675a58 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:05:00 2015 -0400 serial: 8250: Validate reg addr for Au1x00/RT288x i/o accessors Au1x00/RT2800+ hardware has an alternate register layout which is remapped with lookup tables by the au_serial_in()/out() i/o accessors. However, the h/w does not support the complete 8250 register set, and accesses to unmapped registers cause out-of-bounds lookups. Further, because the lookup tables are defined by designated initializers, the tables may contain unmapped entries (although the current tables do not). Declare fixed-size lookup tables with contiguous initialization for the complete 8250 register map; unmapped registers are initialized to -1. Validate the register index (ie., 'offset') is in the range [0, table size). Return fixed value for unmapped register reads and ignore unmapped register writes. Reported-by: Mason <slash.tmp@xxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Tested-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4ca6be9d67eaf5a53054903530c8f422b4b88bd Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 14:47:51 2014 +0200 UBI: Fastmap: Don't allocate new ubi_wl_entry objects There is no need to allocate new ones every time, we can reuse the existing ones. This makes the code cleaner and more easy to follow. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> commit 6830356466a57db21c7bc31bf3be4e61189e145b Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 15:39:17 2014 +0100 UBI: Fastmap: Make ubi_refill_pools() fair Currently ubi_refill_pools() first fills the first and then the second one. If only very few free PEBs are available the second pool can get zero PEBs. Change ubi_refill_pools() to distribute free PEBs fair between all pools. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> commit 691a870563b4fe9e014a309477fb8f9fe41b36bb Author: Richard Weinberger <richard@xxxxxx> Date: Fri Nov 7 23:40:27 2014 +0100 UBI: Split __wl_get_peb() Make it two functions, wl_get_wle() and wl_get_peb(). wl_get_peb() works exactly like __wl_get_peb() but wl_get_wle() does not call produce_free_peb(). While refilling the fastmap user pool we cannot release ubi->wl_lock as produce_free_peb() does. Hence the fastmap logic uses now wl_get_wle(). Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 5d3fc1d54e5a020c087002dd8590ee21c17e3182 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Mar 26 14:56:07 2015 -0600 toshiba_bluetooth: Fix enabling/disabling loop on recent devices Bug 93911 reported a broken handling of the BT device, causing the driver to get stuck in a loop enabling/disabling the device whenever the device is deactivated by the kill switch as follows: 1. The user activated the kill switch, causing the system to generate a 0x90 (status change) event and disabling the BT device. 2. The driver catches the event and re-enables the BT device. 3. The system detects the device being activated, but since the kill switch is activated, disables the BT device (again) and generates a 0x90 event (again). 4. Repeat from 2. This patch adds an extra check to verify the status of the BT device, returning silently if it is already activated. Also, checks and returns appropriate error values while evaluating the AUSB and BTPO methods. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 18b8696b66d79024649c895d4a5b7da4f268300e Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Mar 26 14:56:06 2015 -0600 toshiba_bluetooth: Clean up *_add function and disable BT device at removal This patch cleans the toshiba_bluetooth_add function by using the recently introduced function toshiba_bluetooth_present, simplifying its code and returning appropriate error values. Also, disables the BT device at the removal of the driver, by using the function toshiba_bluetooth_disable. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit bb2ea96b4840fb244e74ed7c470a3ec88e5b084a Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Mar 26 14:56:05 2015 -0600 toshiba_bluetooth: Add three new functions to the driver This patch introduces three new functions, which are going to be used by the next patches. The functions introduced are toshiba_bluetooth_present, toshiba_bluetooth_status and toshiba_bluetooth_disable, which queries the presence of the device, queries the status and disables the device respectively. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit dff1eb047ff649c3fc3adc42776039b8b0c5a869 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Mar 25 23:13:08 2015 +0900 ACPI/PMIC: Fix typo in MODULE_DESCRIPTION in intel_pmic_crc.c This patch fix a spelling typo in MODULE_DESCRIPTION within intel_pmic_crc.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d59f21bebe9d0fda34027ff1afda4f2b0d5f1869 Author: Richard Weinberger <richard@xxxxxx> Date: Thu Oct 2 15:00:35 2014 +0200 UBI: Fastmap: Fix races in ubi_wl_get_peb() ubi_wl_get_peb() has two problems, it reads the pool size and usage counters without any protection. While reading one value would be perfectly fine it reads multiple values and compares them. This is racy and can lead to incorrect pool handling. Furthermore ubi_update_fastmap() is called without wl_lock held, before incrementing the used counter it needs to be checked again. It could happen that another thread consumed all PEBs from the pool and the counter goes beyond ->size. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d723cfeafc7b4c73e89ed3d4b1a4d747e990872c Author: Nishanth Menon <nm@xxxxxx> Date: Mon Mar 23 14:39:39 2015 -0500 ARM: dts: am57xx-beagle-x15: Add thermal map to include fan and tmp102 BeagleBoard-X15 has capability for a fan and has an onboard TMP102 temperature sensor as well. This allows us to create a new thermal zone (called, un-imaginatively "board"), and allows us to use some active cooling as temperatures start edge upward in the system by creating a new alert temperature (emperically 50C) for cpu. NOTE: Fan is NOT mounted by default on the platform, in such a case, all we end up doing is switch on a regulator and leak very minimal current. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f7397edf47ecc859fa69c15c4f9cefc8f2ee00c8 Author: Keerthy <j-keerthy@xxxxxx> Date: Mon Mar 23 14:39:38 2015 -0500 ARM: dts: DRA7: Add bandgap and related thermal nodes Add bandgap and related thermal nodes. The patch adds 5 thermal sensors. Only one cooling device for mpu as of now. The sensors are the exact same on both dra72 and dra7. Introduce CPU, GPU, core nodes for the moment as they are direct reuse of OMAP5 entities. NOTE: OMAP4 has a finer counter granularity, which allows for a delay of 1000ms in the thermal zone polling intervals. DRA7 have different counter mechanism, which allows at maximum a 500ms timer. Adjust the cpu thermal zone accordingly for DRA7. Signed-off-by: Keerthy <j-keerthy@xxxxxx> [t-kristo@xxxxxx: few reuse from OMAP5 entities] Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 399a9feeac83c2f64138c438e41222a12dd71766 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 26 23:08:15 2014 +0200 UBI: Fastmap: Ensure that all fastmap work is done upon WL shutdown ...otherwise the deferred work might run after datastructures got freed and corrupt memory. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> commit 19371d73c9bd31a8e634ec5a80fc19fcd7714481 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Sep 23 19:29:05 2014 +0200 UBI: Fastmap: Ensure that only one fastmap work is scheduled If the WL pool runs out of PEBs we schedule a fastmap write to refill it as soon as possible. Ensure that only one at a time is scheduled otherwise we might end in a fastmap write storm because writing the fastmap can schedule another write if bitflips are detected. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> commit e129fdb9b2dc49e7be62eb1626ae8b8c84f41c59 Merge: afda768f cdf6124 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 26 10:48:49 2015 -0700 Merge branch 'omap-for-v4.1/ocp2scp' into omap-for-v4.1/fixes-not-urgent commit cdf61240e11f838705b7a3f51acad5b641e54210 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Tue Mar 17 16:54:51 2015 +0530 bus: ocp2scp: SYNC2 value should be changed to 0x6 As per the TRMs of AM572x, OMAP4430, OMAP4460, OMAP543x, the value of SYNC2 must be set to 0x6 in order to ensure correct operation. So modified the SYNC2 value of OCP2SCP TIMING register to 0x6 in all the platforms that use OCP2SCP driver except AM437x. Also introduced a new compatible property since we don't want to modify the OCP2SCP TIMING register for AM437x. The sections in TRM where the above caution can be found is mentioned below. AM572x TRM SPRUHZ6 (http://www.ti.com/lit/ug/spruhz6/spruhz6.pdf) under section 26.3.2.2, table 26-26. OMAP4430 TRM SWPU231AP (http://www.ti.com/lit/ug/swpu231ap/swpu231ap.pdf) under section 23.12.6.2.2 , Table 23-1213. OMAP4460 TRM SWPU235AB (http://www.ti.com/lit/ug/swpu235ab/swpu235ab.pdf) under section 23.12.6.2.2, Table 23-1213. OMAP543x TRM SWPU249 (http://www.ti.com/lit/pdf/swpu249) under section 27.3.2.2, Table 27-27. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Praneeth Bajjuri <praneeth@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 20431db949ce5eec0ff6012688c0ff6d9feb3319 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Tue Mar 17 16:54:50 2015 +0530 ARM: dts: am4372: Add "ti,am437x-ocp2scp" as compatible string for OCP2SCP Added a new compatible string "ti,am437x-ocp2scp" for OCP2SCP module. This is needed since except for the OCP2SCP used in AM437x, SYNC2 value in OCP2SCP TIMING should be changed whereas the default value is sufficient in AM437x. Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit bd0d888c4f7f125b7c7168f51039142150d9d1cc Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Mar 27 02:35:52 2015 +0900 ARM: EXYNOS: allow cpuidle driver usage on Exynos3250 SoC Register cpuidle platform device on Exynos3250 SoC allowing EXYNOS cpuidle driver usage on this SoC. Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 89366409748c2de0521cf4303bfb1247676882df Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Mar 27 02:35:48 2015 +0900 ARM: EXYNOS: add AFTR mode support for Exynos3250 AFTR mode support brings reduced energy consumption and is a prerequisite for more advanced W-AFTR/LPA power saving modes. AFTR mode has been already supported on other Exynos SoCs for few years and this patch adds its support for Exynos3250 SoC. The differences in Exynos3250 SoC AFTR mode support when compared to Exynos4x12 SoCs are: - different secure firmware calls are used - different S5P_WAKEUP_MASK wakeup mask is used - S5P_WAKEUP_MASK2 wakeup mask needs to be set in addition to the standard S5P_WAKEUP_MASK one - C2_STATE BOOT mode flag needs to be set/cleared pre/post AFTR Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit afda768f88555a19bbcf66264d9fa622f78ff4fb Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 22 01:00:18 2015 +0100 ARM: OMAP2+: remove superfluous NULL pointer check The NULL pointer check for superset->muxnames will always evaluate true since muxnames is an array within struct omap_mux. Remove the superfluous check to avoid warnings when using LLVM/clang. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit dc1b9448d23deb51ad74a873392402560955dbc2 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Mar 27 02:32:56 2015 +0900 ARM: EXYNOS: add code for setting/clearing boot flag This code is needed for cpuidle (W-)AFTR mode support on Exynos3250. Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 497ab3b30c7687f52e6711e2ac72d1b696ec7685 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Mar 27 02:32:56 2015 +0900 ARM: EXYNOS: fix CPU1 hotplug on Exynos3250 CPU1 hotplug may hang when AFTR is used. Fix it by: - setting AUTOWAKEUP_EN bit in ARM_COREx_CONFIGURATION register in exynos_cpu_power_up() - not clearing reserved bits of ARM_COREx_CONFIGURATION register in exynos_cpu_power_down() - waiting while an undocumented register 0x0908 becomes non-zero in exynos_core_restart() - using dsb_sev() instead of IPI in exynos_boot_secondary() on Exynos3250 This patch also fixes hotplug issues during resume from S2R: $ echo mem > /sys/power/state [ 156.517266] Disabling non-boot CPUs ... [ 156.517781] IRQ18 no longer affine to CPU1 [ 156.518043] CPU1: shutdown [ 156.544718] Enabling non-boot CPUs ... [ 156.554925] CPU1: Software reset [ 158.552631] CPU1: failed to come online [ 158.552753] Error taking CPU1 up: -5 Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 72a33aad476f9d4b1210dbf434f53eeea84909ab Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:15 2015 -0500 serial: 8250: Declare base port operations const The base port operations dispatch table should never be modified at runtime; the proper way to override base port operations is to dup the port operations, modify the copy, and point port->ops at the copy. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 403753937020549e4bb0d8ef6e915f00a338a096 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:14 2015 -0500 serial: 8250: Decouple RSA probe Prepare for 8250 split; separate RSA probe and resource management from base port operations. Override base port operations for the config_port(), request_port() and release_port() methods to implement the optional RSA probe and resource management only in the universal/legacy 8250 driver. Introduce 'probe' flags for 8250 ports, which allows drivers higher up the driver stack to enable optional probes. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b81c26c92414024a8046eb216782f3d599a5d77 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:13 2015 -0500 serial: 8250: Only get RSA resource when required The probe for Remote Supervisor Adapter is limited to port i/o addresses which match one of the probe_rsa[] module parameter addresses. Limit RSA resource acquire to matching i/o ports. The result is a saner probe policy: only perform optional probes when specified rather than by default. NB: It is possible for userspace to set the port type == PORT_RSA with ioctl(TIOCSSERIAL) and then autoconfig with ioctl(TIOCSERCONFIG), which if it fails, may leave the port type set to PORT_RSA. Since this may have previously resulted in a working RSA port, this behavior is preserved. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd52b7599c1a1150719b2f6d20bce6b4f30dc8df Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:12 2015 -0500 serial: 8250: Get RSA resource iff CONFIG_SERIAL_8250_RSA Support for Remote Supervisor Adapter is conditional on CONFIG_SERIAL_8250_RSA; only attempt RSA resource acquire if defined. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d53e1428a9f1110ec865b2839f6a6f12d13da2b9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:11 2015 -0500 serial: 8250: Initialize default dma handlers when setting defaults Prepare for 8250 split; move default dma tx/rx handler initialization into serial8250_set_defaults(), which allows default dma ops to remain unexported from the base port operations module after the split. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afd483bd0f6808d7a8891349b8a141d7abd0509d Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:10 2015 -0500 serial: 8250: Initialize fixed type fields when setting defaults Prepare for 8250 split; move fixed type initialization into serial8250_set_defaults(). This enables uart_config[] array to remain file scope in base port operations after the split. NB: the call to serial8250_init_fixed_type_port() from serial8250_register_ports() was added by commit b5d228cc4f85 ("serial: copy UART properties of UPF_FIXED_TYPE ports provisioned using early_serial_setup") specifically to support ports initialized by early_serial_setup(). Since serial8250_set_defaults() is called from early_serial_setup(), fixed type initialization is now already handled there before serial8250_register_ports() is called. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a53e07989733d72354eb9617f49377ff30588a8 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:09 2015 -0500 serial: 8250: Encapsulate port i/o method init Prepare for 8250 split; introduce serial8250_set_defaults() to set default port methods prior to driver override. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a16e2c1a6221703aa4d4942c95e37d641e87cc7 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:08 2015 -0500 serial: 8250: Separate port initialization Prepare for 8250 split; introduce serial8250_init_port() to initialize port fields uncoupled from port structure storage. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4416cd1ac7b48988f0f41a17769d65c71ffc504 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:07 2015 -0500 serial: 8250: Separate legacy irq handling from core port operations Prepare for 8250 split; decouple irq setup/teardown and handler from core port operations. Introduce setup_irq() and release_irq() 8250 driver methods; the 8250 core will use these methods to install and remove irq handling for the given 8250 port. Refactor irq chain linking/unlinking from 8250 core into univ8250_setup_irq()/univ8250_release_irq() for the universal 8250 driver. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01218bf14ee60d4a2d6c667ebdbba3ae9a7a1d66 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 26 09:47:55 2015 -0700 of: Explicitly include linux/types.h in of_graph.h In current -next of_graph.h fails to build due to it relying on linux/types.h without explicitly including it: ../include/linux/of_graph.h:43:71: error: unknown type name 'u32' caused by bfe446e37c4e (of: Add of_graph_get_port_by_id function). Add an explicit inclusion to fix this. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 23a71fd616bf77fcc630ea514c469b0dd09cb99c Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Fri Mar 20 18:06:22 2015 -0700 dt-bindings: brcm: rationalize Broadcom documentation naming This patchset attempts to standardize the naming of dt-bindings documents based on the Broadcom vendor prefix of brcm. Although there are no guidelines currently present for how to name the dt-bindings document the "vendor,binding.txt" style is in use by some of the other vendors. Acked-by: Lee Jones <lee@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 6e28157173037b779fcf90715416a21a1e5ea2f9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:06 2015 -0500 serial: 8250: Separate 8250 console interface Prepare for 8250 core split; separate shared console interface from the console definition of the universal driver. Introduce 8250 shared console interface; serial8250_console_write() and serial8250_console_setup() which decouples the console operation from the port structure storage. Rename existing serial8250_console* identifiers to univ8250_console*. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45e4372525592eafe84d8385e1e7c99a7cb23e0c Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 22 11:35:56 2015 -0700 DocBook media: fix broken EIA hyperlink This fixes the bibliography hyperlink to "http://www.eia.org" which now redirects to a page with a "404 Not found" error. The latest update to the document referred to is now available on the Consumer Electronics Association website. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit a57069e33fbc6625f39e1b09c88ea44629a35206 Author: Manish Badarkhe <manishvb@xxxxxx> Date: Thu Mar 26 15:38:25 2015 +0200 ASoC: davinci-evm: drop un-necessary remove function As davinci card gets registered using 'devm_' api there is no need to unregister the card in 'remove' function. Hence drop the 'remove' function. Fixes: ee2f615d6e59c (ASoC: davinci-evm: Add device tree binding) Signed-off-by: Manish Badarkhe <manishvb@xxxxxx> Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit d21bd67bbbc635424b336b7c881dbcdf6098f9f5 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:14 2015 +0200 drm/i915: Don't use encoder->new_crtc in intel_lvds_compute_config() Move towards atomic by using the legacy modeset's drm_atomic_state instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e75f4771f81e969d60177cb0c72526f4a05cbb5f Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:13 2015 +0200 drm/i915: Don't use staged config in intel_dp_mst_compute_config() Move towards atomic by using the legacy modeset's drm_atomic_state instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bb84296ae52da844c9cab81e0197152a69f2f841 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Mar 27 02:00:09 2015 +0900 ARM: exynos_defconfig: Enable HDMI support Many Exynos boards have an HDMI port so enable Exynos DRM HDMI support. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 4e330ae4ab2915444f1e6dca1358a910aa259362 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 01:58:08 2015 +0900 ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore There are two PMICs on Cragganmore, currently one dynamically assign its IRQ base and the other uses a fixed base. It is possible for the statically assigned PMIC to fail if its IRQ is taken by the dynamically assigned one. Fix this by statically assigning both the IRQ bases. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 3165c074175cddab1dcfd553042ea4f363bc76e7 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:12 2015 +0200 drm/i915: Use atomic state in intel_ddi_crtc_get_new_encoder() Instead of using connector->new_encoder, get the same information from the pipe_config, thus making the function ready for the atomic conversion. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f27b907595fc586bce62b8a3dc421e89bb927250 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Fri Mar 27 01:55:10 2015 +0900 ARM: dts: Fixed typo interrupt-cells for exynos5420 and exynos5250 Changes fixes the misspelled of #interrups-cell. arch/arm/boot/dts/exynos5420.dtsi:224: WARNING: 'interrups' may be misspelled - perhaps 'interrupts'? Tested on OdroidXU3 board. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> [kgene@xxxxxxxxxx: added fixing same typo in exynos5250] Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 77f06c86622e1237fbab3333021211e8b04fe37d Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:11 2015 +0200 drm/i915: Don't depend on encoder->new_crtc in intel_hdmi_compute_config Move towards atomic by using the legacy modeset's drm_atomic_state instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4f59ebed8945c7102b960113093bb2e5497d2fab Author: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Date: Fri Mar 27 01:52:02 2015 +0900 ARM: dts: Add HS400 support for exynos5420 and exynos5800 HS400 timing values are added for SMDK5420, exynos5420-peach-pit and exynos5800-peach-pi boards. This also adds RCLK GPIO line, this gpio should be in pull-down state. This also enables HS400 on peach-pi and this updates the clock frequency to 800MHz to be set as input clock to controller. Signed-off-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> [alim.akhtar@xxxxxxxxxxx: addressed review comments] Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 19f79ccf6d77409cd138bce8db206cdac7fd5ea7 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Mar 27 01:50:16 2015 +0900 ARM: exynos_defconfig: Enable options to mount a rootfs via NFS This patch enables the options to mount a rootfs over NFS and also support for automatic configuration of IP addresses during boot as needed by NFS. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 84556d58efead4cf4e53d807e5c846c7919be4c9 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:10 2015 +0200 drm/i915: Don't depend on encoder->new_crtc in intel_dp_compute_config() Move towards atomic by using the legacy modeset's drm_atomic_state instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1486017fbfef5441cc61c805ccace4d3dea27c80 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:09 2015 +0200 drm/i915: Don't use encoder->new_crtc in compute_baseline_pipe_bpp() Move towards atomic by using the legacy modeset's drm_atomic_state instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Keep the if (!connector) continue; separate so that it's easier to eventually extract a for_each_connector_in_state iterator. And because of the upcast it's also safer.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0b9018793939970aad49e4e0ed21f0fd0db74e4a Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:08 2015 +0200 drm/i915: Don't use encoder->new_crtc in intel_modeset_pipe_config() Move towards atomic by using the legacy modeset's drm_atomic_state instead. v2: Move call to drm_atomic_add_affected_connectors() to intel_modeset_compute_config(). (Daniel) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Resurrect the ret local variable which I've dropped from an earlier patch and which is now needed.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 944b0c76575753da5a332aab0a1d8c6df65a076b Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:07 2015 +0200 drm/i915: Copy the staged connector config to the legacy atomic state With this in place, we can start converting pieces of the modeset code to look at the connector atomic state instead of the staged config. v2: Handle the load detect staged config changes too. (Ander) Remove unnecessary blank line. (Daniel) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d29b2f9dce3e53ed3d5ada9d42f0edcca72fbfcd Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:05 2015 +0200 drm/i915: Update dummy connector atomic state with current config Keep that state updated so that we can write code that depends on it on the follow up patches. v2: Fix BUG due to stale connector_state->crtc value. (Chandra) v3: Update comment about dummy state connectors. (Chandra) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit df519e7bd33cf56d8a5ce357dfb94248d427b688 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:22 2015 -0400 serial: 8250_early: Remove setup_early_serial8250_console() setup_earlycon() will now match and register the desired earlycon from the param string (as if 'earlycon=...' had been set on the command line). Use setup_earlycon() from existing arch call sites which start an earlycon directly. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 470ca0de69feaba5df215ad804cec1859883a5ed Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:21 2015 -0400 serial: earlycon: Enable earlycon without command line param Earlycon matching can only be triggered if 'earlycon=...' has been specified on the kernel command line. To workaround this limitation requires tight coupling between arches and specific serial drivers in order to start an earlycon. Devicetree avoids this limitation with a link table that contains the required data to match earlycons. Mirror this approach for earlycon match by name. Re-purpose EARLYCON_DECLARE to generate a table entry which associates name with setup() function. Re-purpose setup_earlycon() to scan this table for an earlycon match, which is registered if found. Declare one "earlycon" early_param, which calls setup_earlycon(). This design allows setup_earlycon() to be called directly with a param string (as if 'earlycon=...' had been set on the command line). Re-registration (either directly or by early_param) is prevented. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c53cb3de493573dc3b7f2468a542a9f11cc5079 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:20 2015 -0400 serial: earlycon: Refactor earlycon registration Separate earlycon matching from registration; add register_earlycon which initializes and registers the matched earlycon. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60846880384f00713c7f54243f749c1923e6c0e3 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:19 2015 -0400 serial: earlycon: Skip parse_options() if empty string Earlycon param strings of the form earlycon=<name> are rejected from parse_options() with an error (which, in turn, results in a NULL argument for the setup() method options parameter). Only pass non-empty string to parse_options(); this will enable handling actual parse errors differently than expected and allow formats. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 933a46b8df02caa1bd16a6dc4ddf13091c970ef5 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Mar 26 10:25:17 2015 -0600 Documentation: tweak the maintainers entry The previous maintainer didn't want translation patches, but I'll happily take them. Also note a few subdirectories where the subsystem maintainers would prefer to handle docs patches themselves. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 989697255d6019df2b8548a072b0a81abd77c6aa Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:06 2015 +0200 drm/i915: Implement connector state duplication So that we can add connector states to the drm_atomic_state used in the legacy modeset. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2f0b57901b6cb1a340c16a408d9da968252eed4f Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 26 22:30:21 2015 +0800 drm/i915/skl: fix semicolon.cocci warnings drivers/gpu/drm/i915/intel_pm.c:2913:4-5: Unneeded semicolon Removes unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci CC: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit db7542dd402ad7be8e337ab483350f8795a3c7b0 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:04 2015 +0200 drm/i915: Allocate a crtc_state also when the crtc is being disabled For consistency, allocate a new crtc_state for a crtc that is being disabled. Previously only the enabled value of the current state would change. v2: Rebase on v5 of previous patch. (Ander) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Resolve rebase conflict.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 526ebc3f56491fe971cd2b51cfc859a879e11e93 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:18 2015 -0400 serial: earlycon: Ignore parse_options() error code Because setup_earlycon() continues to attempt console registration if an error occurred parsing the option string, the actual value of the error code from parse_options() is ignored. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd385e9a2a2daa7e74003f930886e4c1cdf032f4 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:17 2015 -0400 serial: 8250_early: Fix setup() error code If parsing failed to decode a valid uart addr, return -ENODEV instead of success. Although setup_earlycon() will detect the failure anyway (because the write() method has not been set), that behavior is not obvious and should not be relied on. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e3e143e5d1e7be65331cdf6d100b08bc6c15b72 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:16 2015 -0400 serial: 8250_early: Assume uart already initialized if no baud option The <baud><parity><bit> option string is not supplied if the earlycon is started via devicetree and OF_EARLYCON_DECLARE(). The option string is also not required if started via kernel command line parameters of the form: earlycon=uart,mmio,<addr> console=uart,mmio,<addr> If earlycon_device->baud is 0, then an option string was not supplied. In this case, assume the uart has already been initialized by the bootloader or firmware. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit feed5bab0d33feb5dbe5365b34d044c79f93dc6b Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:15 2015 -0400 serial: earlycon: Move ->uartclk initialize Initializing the ->uartclk field is not related to option parsing; relocate from parse_options() to setup_earlycon() (which mirrors the behavior of of_setup_earlycon()). Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0d654ce53ab34f9306630ebcbfc477a994ea662 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:14 2015 -0400 serial: 8250_early: Remove early_device variable early_device was only required for serial8250_find_port_for_earlycon(), which was replaced by extensible console matching. Fixup early_serial8250_write() to get the earlycon_device * from console->data (which is initialized by {of_}setup_earlycon()). Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cfe42b7fd299723b521b5b4bd8019a611366c5e Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:13 2015 -0400 serial: core: Fix kernel doc for uart_console_write() '/**' is required to start a kernel-doc comment block. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7cef0a84912cab3c9df8949b034e4aa62982ec9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:12 2015 -0400 console: Add extensible console matching Add match() method to struct console which allows the console to perform console command line matching instead of (or in addition to) default console matching (ie., by fixed name and index). The match() method returns 0 to indicate a successful match; normal console matching occurs if no match() method is defined or the match() method returns non-zero. The match() method is expected to set the console index if required. Re-implement earlycon-to-console-handoff with direct matching of "console=uart|uart8250,..." to the 8250 ttyS console. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83a57153f5de299c7672d0cb241289c349b784d4 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:03 2015 +0200 drm/i915: Allocate a drm_atomic_state for the legacy modeset code For the atomic conversion, the mode set paths need to be changed to rely on an atomic state instead of using the staged config. By using an atomic state for the legacy code, we will be able to convert the code base in small chunks. v2: Squash patch that adds stat argument to intel_set_mode(). (Ander) Make every caller of intel_set_mode() allocate state. (Daniel) Call drm_atomic_state_clear() in set config's error path. (Daniel) v3: Copy staged config to atomic state in force restore path. (Ander) v4: Don't update ->new_config for disabled pipes in __intel_set_mode(), since it is expected to be NULL in that case. (Ander) v5: Don't change return type of intel_modeset_pipe_config(). (Chandra) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Remove spurious ret local variable due to changes in v5.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e13cb72beeada6f6ac12058b9129334e3bb5ce85 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:05 2015 -0500 serial: 8250: Decouple core from skip_txen_test module param Prepare for 8250 split; initialize the port flags based on the "skip_txen_test" module param to use the existing flag test. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d81e50f6161ea169a14fbc17a94cd4943f5d8df6 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:04 2015 -0500 serial: 8250: Move ns16550a_goto_hispeed() to local header Prepare for 8250_core.c file split; move shared inline function to local header file. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5db496b9c808270e9e569fa721d1ecdd8f145142 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:03 2015 -0500 serial: 8250: Simplify capabilities reset at port unregister Since uart->port.type has just reset to PORT_UNKNOWN, capabilities are reset to uart_config[PORT_UNKNOWN].flags, which is 0. Removes unnecessary dependency on uart_config[]. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6e98ceff34d398ca98b78f90966b6b90f668b68 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:02 2015 -0500 serial: 8250: Remove duplicate ->handle_irq initialization set_io_from_upio() already initializes ->handle_irq to serial8250_default_handle_irq. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51c39814b6b23c0d7b0c47ba9236248576a164ad Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:01 2015 -0500 serial: 8250: Compute ttyS index from port minor Prepare for 8250 split; calculate the ttyS index directly from the port minor which avoids the global serial8250_reg reference from base port operations. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ef320319592693f4a6286d80df210fd47b3e356 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Mar 26 15:09:20 2015 +0000 ARM64 / ACPI: fix usage of acpi_map_gic_cpu_interface acpi_parse_gic_cpu_interface calls acpi_map_gic_cpu_interface by both passing a 32-bit value in the u8 enabled parameter and then subsequently ignoring its return value. Sort it out. Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fb094eb19900937322848beaf1a622c6afb6250b Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Wed Mar 25 15:22:13 2015 +0000 ARM64: kernel: acpi: honour acpi=force command line parameter If acpi=force is passed on the command line, it forces ACPI to be the only available boot method, hence it must be left enabled even if the initialization and sanity checks on ACPI tables fails. This patch refactors ACPI initialization to prevent disabling ACPI if acpi=force is passed on the command line. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 54971e43b9d6cb37366d2da64cc5a2d8f8102bc4 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Wed Mar 25 15:13:56 2015 +0000 ARM64: kernel: acpi: refactor ACPI tables init and checks Current ACPI init code on ARM64 relies on acpi_table_parse() API to check if the FADT is present and to carry out sanity checks on that. The handler passed to the acpi_table_parse() function and used to carry out the parsing on the requested table returns a value that is ignored by the acpi_table_parse() function, so it is not possible to propagate errors back to the acpi_table_parse() caller through the handler. This forces ARM64 ACPI init code to have disable_acpi() calls scattered all over the place that makes code unwieldy and not easy to follow. This patch refactors the ARM64 ACPI init code, by creating a self-contained function (ie acpi_fadt_sanity_check()) that carries out the required checks on FADT and returns an adequate return value to the caller. This allows creating a common error path that disables ACPI and makes code more readable and easy to parse and change were further checks FADT to be added in the future. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d9895571877e965a9f3e18a2a30611322099ae30 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Mar 24 17:58:53 2015 +0000 ARM64: kernel: psci: let ACPI probe PSCI version PSCI v0.2+ allows the kernel to probe the PSCI firmware version. This patch replaces the default initialization of PSCI v0.2+ functions with code that allows probing PSCI firmware version and initializes PSCI functions accordingly. Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 48eb3c8a8b4fffb48f64019e1f68a7de4db4cc43 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Mar 24 17:58:52 2015 +0000 ARM64: kernel: psci: factor out probe function PSCI v0.2+ versions provide a specific PSCI call (PSCI_VERSION) to detect the PSCI version at run-time. Current PSCI v0.2 init code carries out the version probing in the PSCI 0.2 DT init function, but the version probing does not depend on DT so it can be factored out in order to make it available to other boot mechanisms (ie ACPI) to reuse. The psci_probe() probing function can be easily extended to add detection and initialization of PSCI functions defined in PSCI versions >0.2. Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d8f4f161e31f3ee9768467344e6cc31a0b9d9249 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Mar 24 17:58:51 2015 +0000 ACPI: move arm64 GSI IRQ model to generic GSI IRQ layer The code deployed to implement GSI linux IRQ numbers mapping on arm64 turns out to be generic enough so that it can be moved to ACPI core code along with its respective config option ACPI_GENERIC_GSI selectable on architectures that can reuse the same code. Current ACPI IRQ mapping code is not integrated in the kernel IRQ domain infrastructure, in particular there is no way to look-up the IRQ domain associated with a particular interrupt controller, so this first version of GSI generic code carries out the GSI<->IRQ mapping relying on the IRQ default domain which is supposed to be always set on a specific architecture in case the domain structure passed to irq_create/find_mapping() functions is missing. This patch moves the arm64 acpi functions that implement the gsi mappings: acpi_gsi_to_irq() acpi_register_gsi() acpi_unregister_gsi() to ACPI core code. Since the generic GSI<->domain mapping is based on IRQ domains, it can be extended as soon as a way to map an interrupt controller to an IRQ domain is implemented for ACPI in the IRQ domain layer. x86 and ia64 code for GSI mappings cannot rely on the generic GSI layer at present for legacy reasons, so they do not select the ACPI_GENERIC_GSI config options and keep relying on their arch specific GSI mapping layer. Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Acked-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 33757ded074918eb49243968a82e7c9ec2d71720 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:56 2015 +0000 ARM64 / ACPI: Don't unflatten device tree if acpi=force is passed Since the policy is that once we pass acpi=force in the early param, we will not unflatten device tree even if ACPI is disabled in ACPI table init fails, so fix the code by comparinging both acpi_disabled and param_acpi_force before the device tree is unflattened. CC: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 735f00bdf23c427af0f54a9e672a93b5d3723f60 Author: Al Stone <al.stone@xxxxxxxxxx> Date: Tue Mar 24 14:02:55 2015 +0000 ARM64 / ACPI: additions of ACPI documentation for arm64 One more documentation file are also being added: A section by section review of the ACPI spec (acpi_object_usage.txt) to note recommendations and prohibitions on the use of the numerous ACPI tables and objects. This sets out the current expectations of the firmware by Linux very explicitly (or as explicitly as I can, for now). CC: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> CC: Yi Li <phoenix.liyi@xxxxxxxxxx> CC: Mark Langsdorf <mlangsdo@xxxxxxxxxx> CC: Ashwin Chaugule <ashwinc@xxxxxxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit dc81f2cfaa7f536e9900080cdc63e403440b670b Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:54 2015 +0000 Documentation: ACPI for ARM64 Add documentation for the guidelines of how to use ACPI on ARM64. Reviewed-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Reviewed-by: Yi Li <phoenix.liyi@xxxxxxxxxx> Reviewed-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Reviewed-by: Ashwin Chaugule <ashwinc@xxxxxxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b6a0217371317298c900f0e0f84afb04312d5af0 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:53 2015 +0000 ARM64 / ACPI: Enable ARM64 in Kconfig Add Kconfigs to build ACPI on ARM64, and make ACPI available on ARM64. acpi_idle driver is x86/IA64 dependent now, so make CONFIG_ACPI_PROCESSOR depend on X86 || IA64, and implement it on ARM64 in the future. CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 42068cfd652843bdb61c374cf3582c4c0643483b Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:52 2015 +0000 XEN / ACPI: Make XEN ACPI depend on X86 When ACPI is enabled on ARM64, XEN ACPI will also compiled into the kernel, but XEN ACPI is x86 dependent, so introduce CONFIG_XEN_ACPI to make it depend on x86 before XEN ACPI is functional on ARM64. CC: Julien Grall <julien.grall@xxxxxxxxxx> CC: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> CC: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> CC: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6933de0ca0b7656db94f67731c8c53c7dcacae3a Author: Al Stone <al.stone@xxxxxxxxxx> Date: Tue Mar 24 14:02:51 2015 +0000 ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 ACPI reduced hardware mode is disabled by default, but ARM64 can only run properly in ACPI hardware reduced mode, so select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64. If the firmware is not using hardware reduced ACPI mode, we will disable ACPI to avoid nightmare such as accessing some registers which are not available on ARM64. CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b09ca1ecf6d499d5a33f978c905d2fbcc79b55d9 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:50 2015 +0000 clocksource / arch_timer: Parse GTDT to initialize arch timer Using the information presented by GTDT (Generic Timer Description Table) to initialize the arch timer (not memory-mapped). CC: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Originally-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d60fc3892c4de4a25658786f941690462c5a5bab Author: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Date: Tue Mar 24 14:02:49 2015 +0000 irqchip: Add GICv2 specific ACPI boot support ACPI kernel uses MADT table for proper GIC initialization. It needs to parse GIC related subtables, collect CPU interface and distributor addresses and call driver initialization function (which is hardware abstraction agnostic). In a similar way, FDT initialize GICv1/2. NOTE: This commit allow to initialize GICv1/2 basic functionality. While now simple GICv2 init call is used, any further GIC features require generic infrastructure for proper ACPI irqchip initialization. That mechanism and stacked irqdomains to support GICv2 MSI/virtualization extension, GICv3/4 and its ITS are considered as next steps. CC: Jason Cooper <jason@xxxxxxxxxxxxxx> CC: Marc Zyngier <marc.zyngier@xxxxxxx> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fbe61ec71ac975279cd47b6c299d5e33f63aac4e Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:48 2015 +0000 ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi Introduce ACPI_IRQ_MODEL_GIC which is needed for ARM64 as GIC is used, and then register device's gsi with the core IRQ subsystem. acpi_register_gsi() is similar to DT based irq_of_parse_and_map(), since gsi is unique in the system, so use hwirq number directly for the mapping. We are going to implement stacked domains when GICv2m, GICv3, ITS support are added. CC: Marc Zyngier <marc.zyngier@xxxxxxx> Originally-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 020295b4cb5b7d510ea1f4531a502c3f8a2380c5 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:47 2015 +0000 ACPI / processor: Make it possible to get CPU hardware ID via GICC Introduce a new function map_gicc_mpidr() to allow MPIDRs to be obtained from the GICC Structure introduced by ACPI 5.1, since MPIDR for ARM64 is 64-bit, so typedef u64 for phys_cpuid_t. The ARM architecture defines the MPIDR register as the CPU hardware identifier. This patch adds the code infrastructure to retrieve the MPIDR values from the ARM ACPI GICC structure in order to look-up the kernel CPU hardware ids required by the ACPI core code to identify CPUs. CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 828aef376d7a129547bc4ebb949965040177e3da Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Tue Mar 24 14:02:46 2015 +0000 ACPI / processor: Introduce phys_cpuid_t for CPU hardware ID CPU hardware ID (phys_id) is defined as u32 in structure acpi_processor, but phys_id is used as int in acpi processor driver, so it will lead to some inconsistence for the drivers. Furthermore, to cater for ACPI arch ports that implement 64 bits CPU ids a generic CPU physical id type is required. So introduce typedef u32 phys_cpuid_t in a common file, and introduce a macro PHYS_CPUID_INVALID as (phys_cpuid_t)(-1) if it's not defined by other archs, this will solve the inconsistence in acpi processor driver, and will prepare for the ACPI on ARM64 for the 64 bit CPU hardware ID in the following patch. CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx> Suggested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> [hj: reworked cpu physid map return codes] Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 959801fef94b7ee66ea2c713229637a7e1770890 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:00 2015 -0500 serial: core: Add minor field to uart_port UART drivers that share ttyS namespace cannot trivially compute the ttyS index from the port->line value since the minor_start may be offset from minor 64. Further, to do so requires a pointer to the uart driver since there is no back pointer from uart_port to uart_driver. Rather than have UART drivers computing the minor value by themselves, encapsulate within the serial core at port registration time. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3157b2ca59ceb9ad1b72cad09535a343f315667 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Wed Feb 4 18:23:59 2015 +0000 tty/n_gsm: fix sparse warning this patch fixes following sparse warning: n_gsm.c:2827:22: warning: symbol 'tty_ldisc_packet' was not declared. Should it be static? Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1083a7be4504df8149015894c982ebaf69766ddc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 5 11:07:42 2015 +0100 tty: Use static attribute groups for sysfs entries Instead of manual calls of device_create_file() and device_remove_file(), pass the static attribute groups using device_create_with_groups(). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1569039db0062c47c97ca0bf0c86210d26b8f412 Author: Hao Liang <hliang1025@xxxxxxxxx> Date: Thu Mar 26 17:13:24 2015 +0800 bfin uart: it will hang when read current y count if not disable dma irq Add irq disable and enable in bfin_serial_rx_dma_timeout in case of system hang. This reverts part of commit 9642dbe73c8a ("serial: bfin-uart: avoid dead lock in rx irq handler in smp kernel"). Signed-off-by: Hao Liang <hliang1025@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3083ca2376a76072dc0071fb211de80b0ac44bd1 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 15:05:25 2015 +0800 c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback They are needed by other modules, the related error with allmodconfig: MODPOST 3327 modules ERROR: "L1P_cache_block_invalidate" [drivers/misc/lkdtm.ko] undefined! ERROR: "L1D_cache_block_writeback" [drivers/misc/lkdtm.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 2135115c938dcaba689a3780c0bffb6db1d05601 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 14:44:54 2015 +0800 c6x: kernel: setup: Export symbol memory_end It is needed by several modules, the related error with allmodconfig: MODPOST 3327 modules ERROR: "memory_end" [net/wireless/lib80211_crypt_tkip.ko] undefined! ERROR: "memory_end" [net/sunrpc/sunrpc.ko] undefined! ERROR: "memory_end" [net/sunrpc/auth_gss/rpcsec_gss_krb5.ko] undefined! ERROR: "memory_end" [net/rxrpc/rxkad.ko] undefined! ERROR: "memory_end" [net/mac802154/mac802154.ko] undefined! ERROR: "memory_end" [net/mac80211/mac80211.ko] undefined! ERROR: "memory_end" [net/ipv6/esp6.ko] undefined! ERROR: "memory_end" [net/ipv6/ah6.ko] undefined! ERROR: "memory_end" [net/ipv4/esp4.ko] undefined! ERROR: "memory_end" [net/ipv4/ah4.ko] undefined! ERROR: "memory_end" [net/ceph/libceph.ko] undefined! ERROR: "memory_end" [net/9p/9pnet_virtio.ko] undefined! ERROR: "memory_end" [drivers/usb/wusbcore/wusbcore.ko] undefined! ERROR: "memory_end" [drivers/usb/misc/usbtest.ko] undefined! ERROR: "memory_end" [drivers/usb/core/usbcore.ko] undefined! ERROR: "memory_end" [drivers/target/target_core_file.ko] undefined! ERROR: "memory_end" [drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko] undefined! ERROR: "memory_end" [drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko] undefined! ERROR: "memory_end" [drivers/net/virtio_net.ko] undefined! ERROR: "memory_end" [drivers/net/usb/usbnet.ko] undefined! ERROR: "memory_end" [drivers/net/ppp/ppp_mppe.ko] undefined! ERROR: "memory_end" [drivers/mtd/nand/nand.ko] undefined! ERROR: "memory_end" [drivers/mmc/card/mmc_block.ko] undefined! ERROR: "memory_end" [drivers/crypto/qce/qcrypto.ko] undefined! ERROR: "memory_end" [drivers/block/drbd/drbd.ko] undefined! ERROR: "memory_end" [drivers/block/aoe/aoe.ko] undefined! ERROR: "memory_end" [crypto/tcrypt.ko] undefined! ERROR: "memory_end" [crypto/gcm.ko] undefined! ERROR: "memory_end" [crypto/cts.ko] undefined! ERROR: "memory_end" [crypto/ccm.ko] undefined! ERROR: "memory_end" [crypto/authencesn.ko] undefined! ERROR: "memory_end" [crypto/authenc.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit d0f73520b3782a5447e9602f181daba6671e5cc7 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 14:12:52 2015 +0800 c6x: kernel: setup: Add screen_info global variable Or can not pass building with allmodconfig: LD init/built-in.o drivers/built-in.o: In function `vgacon_switch': vgacon.c:(.text+0x47f8): undefined reference to `screen_info' vgacon.c:(.text+0x4810): undefined reference to `screen_info' drivers/built-in.o: In function `vgacon_resize': vgacon.c:(.text+0x4ac8): undefined reference to `screen_info' vgacon.c:(.text+0x4acc): undefined reference to `screen_info' drivers/built-in.o: In function `vgacon_save_screen': vgacon.c:(.text+0x4cc8): undefined reference to `screen_info' drivers/built-in.o:vgacon.c:(.text+0x4cd0): more undefined references to `screen_info' follow Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit df93ab7552daf664ffa048704729e25f2aeb55ac Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 11:12:10 2015 +0800 c6x: include: asm: Kbuild: Add generic serial.h Or it will cause building break with allmodconfig: CC [M] drivers/tty/serial/8250/8250_core.o drivers/tty/serial/8250/8250_core.c:102:24: fatal error: asm/serial.h: No such file or directory Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 76e018925406b2fd619babc1a9a9e25456017109 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 11:09:35 2015 +0800 c6x: include: asm: dma-mapping: Add dummy dma_sync_single_range_for_device c6x does not implement get_dma_ops() for dma-mapping-common.h. And in dma-mapping-common.h, dma_sync_single_range_for_device() may be dummy. So c6x can just define a dummy function for allmodconfig building. CC [M] drivers/net/ethernet/micrel/ks8851.o drivers/net/ethernet/micrel/ks8842.c: In function 'ks8842_tx_frame_dma': drivers/net/ethernet/micrel/ks8842.c:453:2: error: implicit declaration of function 'dma_sync_single_range_for_device' [-Werror=implicit-function-declaration] dma_sync_single_range_for_device(adapter->dev, ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 9bd54f64afa4da93d8f5751d80466ab3d660b51c Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 06:06:26 2015 +0800 c6x: include: asm: setup: Include "linux/types.h" Some modules may assume "asm/setup.h" already include all headers which needed by itself. So need let "asm/setup.h" include "linux/types.h", the related error: C [M] drivers/input/joydev.o In file included from include/asm-generic/page.h:23:0, from ./arch/c6x/include/asm/page.h:9, from include/asm-generic/io.h:14, from arch/c6x/include/generated/asm/io.h:1, from drivers/input/joydev.c:15: ./arch/c6x/include/asm/setup.h:17:27: error: unknown type name 'phys_addr_t' extern int c6x_add_memory(phys_addr_t start, unsigned long size); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 06745d74e46a8dffa768e43b54835aa94903550a Author: Chen Gang <762976180@xxxxxx> Date: Tue Mar 3 07:24:26 2015 +0800 c6x: asm: Add default flat.h according to xtensa architecture For supporting uClinux flat-format executables, c6x needs to define the fewest features to support it, at present, xtensa architecture has the fewest feature for it, so just copy xtensa flat.h. The related error: CC fs/binfmt_flat.o In file included from fs/binfmt_flat.c:36:0: include/linux/flat.h:12:22: fatal error: asm/flat.h: No such file or directory Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 1a394e1a36aa9f47b411a8e4cb53dfca6f134401 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 04:55:06 2015 +0800 c6x: kernel: setup: Remove 'const' for local variables in machine_init early_init_dt_scan() accepts "void *", the related warning: CC arch/c6x/kernel/setup.o arch/c6x/kernel/setup.c: In function 'machine_init': arch/c6x/kernel/setup.c:290:21: warning: passing argument 1 of 'early_init_dt_scan' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] early_init_dt_scan(fdt); ^ In file included from arch/c6x/kernel/setup.c:19:0: include/linux/of_fdt.h:75:13: note: expected 'void *' but argument is of type 'const void *' extern bool early_init_dt_scan(void *params); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 1d2a64bd2da6034036fff9ad9b41682516f79fa3 Author: Chen Gang <762976180@xxxxxx> Date: Tue Mar 3 06:33:42 2015 +0800 c6x: Makefile: Add -D__linux__ For gcc5 c6x raw compiler, at present, it may not define __linux__, so c6x kernel still needs to define __linux__ just like another archs have done. The related error: CC [M] fs/coda/psdev.o In file included from include/linux/coda.h:64:0, from fs/coda/psdev.c:45: include/uapi/linux/coda.h:221:2: error: unknown type name 'u_quad_t' u_quad_t va_size; /* file size in bytes */ ^ include/uapi/linux/coda.h:229:2: error: unknown type name 'u_quad_t' u_quad_t va_bytes; /* bytes of disk space held by file */ ^ include/uapi/linux/coda.h:230:2: error: unknown type name 'u_quad_t' u_quad_t va_filerev; /* file modification number */ ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit f4831605f2dacd12730fe73961c77253cc2ea425 Author: Nishanth Menon <nm@xxxxxx> Date: Sat Mar 7 03:39:05 2015 -0600 C6x: time: Ensure consistency in __init time_init invokes timer64_init (which is __init annotation) since all of these are invoked at init time, lets maintain consistency by ensuring time_init is marked appropriately as well. This fixes the following warning with CONFIG_DEBUG_SECTION_MISMATCH=y WARNING: vmlinux.o(.text+0x3bfc): Section mismatch in reference from the function time_init() to the function .init.text:timer64_init() The function time_init() references the function __init timer64_init(). This is often because time_init lacks a __init annotation or the annotation of timer64_init is wrong. Fixes: 546a39546c64 ("C6X: time management") Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 7be5ac2c32bd26c47a05367c0135cb6e67b3d452 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Thu Mar 26 14:16:22 2015 +0000 power/reset: at91: big endian fixes for atsama5d3x Fix the passing of big endian data to routines that will be writing it to the bus in the wrong order. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit eea2e596069ecd48b7b83108ac863824f113410a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Mar 17 13:36:17 2015 +0100 mfd: sec-core: Enable RTC on S2MPS11 PMIC The S2MPS11 PMIC (present on Arndale Octa board) has the same RTC module as S2MPS14 device. Add respective mfd cell to enable it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 908725d541a46d76d488bcbacdb131b16d59331b Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:21:36 2015 +0100 mfd: Constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 48579a9ae8d2034215d15912c863be36166696ed Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Mar 16 11:20:49 2015 -0400 mfd: dln2: Use msecs_to_jiffies for time conversion Converting milliseconds to jiffies by "val * HZ / 1000" is technically OK but msecs_to_jiffies(val) is the cleaner solution and handles all corner cases correctly. This is a minor API consolidation only and should make things more readable. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1422731dbc14063fc7083cb090108c0d95267361 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Mar 19 15:52:45 2015 +0100 mfd: tc3589x: Enforce device-tree only mode All systems using the TC3589x multifunction expander uses devicetree, so don't clutter the place with a lot of and assume it is there. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 49172fee6173d213cf711bfad751e1b38e8fdaaf Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:02 2015 +0200 drm/i915: Pass acquire ctx also to intel_release_load_detect_pipe() For now this is not necessary since intel_set_mode() doesn't acquire any new locks. However, once that function is converted to atomic, that will change, since we'll pass an atomic state to it, and that needs to have the right acquire context set. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10f81c194a78915f47aa5a17756b6492be133251 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:01 2015 +0200 drm/i915: Add intel_atomic_get_crtc_state() helper function The pattern of getting the crtc state with drm_atomic_get_crtc_state() and then converting it to intel_crtc_state will repeat quite often in the following patches, so add a helper function to save some typing. v2: Fix upcasting so that crtc_state base field could be moved. (Daniel) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 552e19d8764aeea3ecdf6cf29e22d6b99a505091 Author: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Date: Wed Feb 18 13:33:21 2015 +0200 firmware: dmi_scan: Use direct access to static vars There is no reason to pass static vars to function that can use only them. The dmi_table() can use only dmi_len and dmi_num static vars, so use them directly. In this case we can freely change their type in one place and slightly decrease redundancy. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 7c27f78a297b54c3c2f5075cb15d33431b7f6333 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 14:58:13 2015 -0400 tools lib traceevent: Zero should not be considered "not found" in eval_flag() Guilherme Cox found that: There is, however, a potential bug if there is an item with code zero that is not the first one in the symbol list, since eval_flag(..) returns 0 when it doesn't find anything. That is, if you have the following enums: enum { FOO_START = 0, FOO_GO = 1, FOO_END = 2 } and then have: __print_symbolic(foo, FOO_GO, "go", FOO_START, "start", FOO_END, "end") If none of the enums are known to pevent, then eval_flag() will return zero, and it will match it to the first item in the list, which would be FOO_GO, which is not zero. Luckily, in most cases, the first element would be zero, and the parsing would match out of sheer luck. Reported-by: Guilherme Cox <cox@xxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324145813.0bfe95ba@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6ebad5c101de0d43dafc9aff88bad45819f10470 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Mar 25 18:01:15 2015 -0300 perf trace: Fix syscall enter formatting bug commit e596663ebb28a068f5cca57f83285b7b293a2c83 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Feb 13 13:22:21 2015 -0300 perf trace: Handle multiple threads better wrt syscalls being intermixed Introduced a bug where it considered the number of bytes output directly to the output file when formatting the syscall entry buffer that is stored to be finally printed at syscall exit, ending up leaving garbage at the start of syscalls that appeared while another syscall was being processed, in another thread. Fix it. Example of garbage in the output before this patch: 4280.102 ( 0.000 ms): lsmd/763 ... [continued]: select()) = 0 Timeout 4280.107 (275.250 ms): tuned/852 select(tvp: 0x7f41f7ffde50 ) ... 4280.109 ( 0.002 ms): lsmd/763 Xl�� ) = -10 4639.197 ( 0.000 ms): systemd-journa/542 ... [continued]: epoll_wait()) = 1 4639.202 (359.088 ms): lsmd/763 select(n: 6, inp: 0x7ffff21daad0, tvp: 0x7ffff21daac0) ... 4639.207 ( 0.005 ms): systemd-journa/542 Hn�� ) = 106 4639.221 ( 0.002 ms): systemd-journa/542 uname(name: 0x7ffdbaed8e00) = 0 4639.271 ( 0.008 ms): systemd-journa/542 ftruncate(fd: 11</run/log/journal/60cd52417cf440a4a80107518bbd3c20/system.journal>, length: 50331648) = 0 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-9ckfe8mvsedgkg6y80gz1ul8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6428c59a97de7c3d88fc4e66317daea5e5008758 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Tue Mar 24 12:10:55 2015 -0400 perf tools: Set JOBS based on CPU or processor Number of JOBS to use is set automatically to the number of processors found in /proc/cpuinfo. SPARC uses 'CPU' lines rather than 'processor'. Update the check in perf's Makefile to work for SPARC. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427213455-127249-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4d255766d28b1fecec7e00ab4166b2c17bfc37be Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Tue Mar 24 12:10:38 2015 -0400 perf: Bump max number of cpus to 1024 SPARC based systems currently support up to 1024 cpus (e.g. T5-8). Allow perf to work on those systems. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427213438-127216-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 23d4aad48e31d3269af484dd2f9bd251278cd667 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 24 19:23:47 2015 -0300 perf evlist: Return the first evsel with an invalid filter in apply_filters() Use of a bad filter currently generates the message: Error: failed to set filter with 22 (Invalid argument) Add the event name to make it clear to which event the filter failed to apply: Error: Failed to set filter "foo" on event sched:sg_lb_stats: 22: Invalid argument To test it use something like: # perf record -e sched:sched_switch -e sched:*fork --filter parent_pid==1 -e sched:*wait* --filter bla usleep 1 Error: failed to set filter "bla" on event sched:sched_stat_iowait with 22 (Invalid argument) # Based-on-a-patch-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d7gq2fjvaecozp9o2i0siifu@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e94eedab3ab8201fd41480171b2fabbf3c5b1ae0 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Tue Mar 24 16:14:09 2015 -0400 perf timechart: Fix SIBGUS error on sparc64 perf timechart -T on sparc64 is terminating due to SIGBUS. Backtrace: Program received signal SIGBUS, Bus error. 0x0000000000173d7c in perf_evsel__intval (evsel=<value optimized out>, sample=0x7feffffda28, name=0x289b28 "prev_state") at util/evsel.c:1918 1918 util/evsel.c: No such file or directory. in util/evsel.c Missing separate debuginfos, use: debuginfo-install audit-libs-2.3.7-1.0.1.el6.sparc64 bzip2-libs-1.0.5-7.el6_0.sparc64 elfutils-libelf-0.155-2.0.3.el6.sparc64 elfutils-libs-0.155-2.0.3.el6.sparc64 glibc-2.12-1.132.0.8.el6_5.sparc64 numactl-2.0.7-8.el6.sparc64 python-libs-2.6.6-52.0.2.el6.sparc64 slang-2.2.1-1.el6.sparc64 xz-libs-4.999.9-0.3.beta.20091007git.el6.sparc64 zlib-1.2.3-29.el6.sparc64 (gdb) bt 0 0x0000000000173d7c in perf_evsel__intval (evsel=<value optimized out>, sample=0x7feffffda28, name=0x289b28 "prev_state") at util/evsel.c:1918 1 0x0000000000123b94 in process_sample_sched_switch (tchart=0x7feffffe040, evsel=0x4ca850, sample=0x7feffffda28, backtrace=0xc39010 "") at builtin-timechart.c:627 2 0x0000000000122828 in process_sample_event (tool=0x7feffffe040, event=<value optimized out>, sample=0x7feffffda28, evsel=0x4ca850, machine=0x4c9c88) at builtin-timechart.c:569 Another extended load on unaligned pointer. As before fix by copying to a temporary variable using memcpy. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427228049-51893-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 95be58df74a5b21e5a78e45fddb2fd59112524c5 Author: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Date: Wed Feb 18 13:33:20 2015 +0200 firmware: dmi_scan: Use full dmi version for SMBIOS3 New SMBIOS3 spec adds additional field for versioning - docrev. The docrev identifies the revision of a specification implemented in the table structures, so display SMBIOSv3 versions in format, like "3.22.1". In case of only 32 bit entry point for versions > 3 display dmi version like "3.22.x" as we don't know the docrev. In other cases display version like it was. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 88595ac9ad199fc2e09270ec92e1ff0806033b83 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Mar 26 12:42:24 2015 +0100 drm/i915: always preserve bios swizzling Currently we only set preserve_bios_swizzling when the initial fb is shared and totally miss the single-screen case. Fix this by consolidating all the logic for both cases. This seems to go back to when swizzle preservation was originally merged in commit d9ceb8163339134bd3ffb9fb87a0db4698283e32 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Thu Oct 9 12:57:43 2014 -0700 drm/i915: preserve swizzle settings if necessary v4 Cc: Kristian Høgsberg <hoegsberg@xxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f6936e2902a7a6be52112e735a280aa2155b2c71 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Mar 26 12:17:05 2015 +0100 drm/i915: Add initial_ prefix to bios fb takeover code In spirit with commit 5724dbd1678e2f573b13f0688277941fad66cb88 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jan 20 12:51:52 2015 +0000 drm/i915: Rename plane_config to initial_plane_config to make it clear that this code is all special-purpose for the initial plane takeover. Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8bc174e9e3079b2475fb09e244f71fd57de7a802 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Mar 26 14:18:34 2015 +0100 ALSA: hda - Handle a few verbs as read-only Although they can be written, handle a few verbs as read-only in regmap interface: CONFIG_DEFAULT, CONV and CVT_CHAN_COUNT. These are either updated in PCM or HDMI management code in a volatile manner, or just needed only as parameter, thus they don't need to be written at resume sync. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8ee775f92c8af2eb1626d39f06feac04fe0cb6e0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Mar 25 12:54:26 2015 -0700 staging: rts5208: Remove RTSX_READ_REG and RTSX_WRITE_REG macros Macros with hidden flow control are bad form as the code path taken can be unexpected for the reader. Expand these in-place and remove the macros. Done with coccinelle script: @@ expression chip; expression arg1; expression arg2; expression arg3; @@ - RTSX_WRITE_REG(chip, arg1, arg2, arg3); + retval = rtsx_write_register(chip, arg1, arg2, arg3); + if (retval) { + rtsx_trace(chip); + return retval; + } @@ expression chip; expression arg1; expression arg2; @@ - RTSX_READ_REG(chip, arg1, arg2); + retval = rtsx_read_register(chip, arg1, arg2); + if (retval) { + rtsx_trace(chip); + return retval; + } Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 031366ea65495f787eb792a135f51c093d75a197 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Mar 25 12:54:25 2015 -0700 staging: rts5208: Remove TRACE_RET and TRACE_GOTO macros Remove these flow hiding macros. Miscellanea: o Add a macro and function to replace a large inline o Simplify #includes o Add trace.c and update Makefile o Remove static inline filename function and use kbasename instead This reduces object size quite a lot: ~350KB (x86-64 allyesconfig) $ size drivers/staging/rts5208/built-in.o* text data bss dec hex filename 248385 36728 77888 363001 589f9 drivers/staging/rts5208/built-in.o.new 506691 83352 115896 705939 ac593 drivers/staging/rts5208/built-in.o.old Done via coccinelle script and some typing. @@ expression chip; expression ret; @@ - TRACE_RET(chip, ret); + rtsx_trace(chip); + return ret; @@ expression chip; identifier label; @@ - TRACE_GOTO(chip, label); + rtsx_trace(chip); + goto label; Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da3c8deef6b392cfe9d19645de2fec9fc2005522 Author: Niranjan Dighe <niranjan.dighe@xxxxxxxxx> Date: Wed Mar 25 00:46:33 2015 +0530 Staging: rtl8188eu: replace kzalloc and memcpy by kmemdup This was generated by 'make coccicheck' using scripts at scripts/coccinelle/api/memdup.cocci. Signed-off-by: Niranjan Dighe <niranjan.dighe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90403aa118fe5e9f0e5bed1acc3fa2406237f9cb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Mar 24 16:06:44 2015 -0700 staging: rtl8723au: Update RT_TRACE macro and uses Create an rt_trace function using %pV to reduce overall code size. Update the macro uses to remove unnecessary and now harmful parentheses. Miscellanea around these changes: o Coalesce formats o Realign arguments o Remove commented-out RT_TRACE uses o Spelling fixes in formats o Add missing newlines to formats o Remove multiple newlines from formats o Neaten formats where noticed o Use %pM in one instance Reduces code size ~20KB Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73454eaf2032c64f1d863ac7e91304e4bf903bfb Author: Eddie Kovsky <ewk@xxxxxxxxxxxx> Date: Wed Mar 25 22:16:11 2015 -0600 Staging: rtl8192 Clean up function definition Change function definition to match its prototype declaration. This fixes the following warning generated by sparse: drivers/staging/rtl8192u/r8192U_core.c:1970:6: warning: symbol 'rtl8192_update_ratr_table' was not declared. Should it be static? Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9e048cdd260a1e7f9f2e25cb2bad46521812d99 Author: Cihangir Akturk <cakturk@xxxxxxxxx> Date: Tue Mar 24 21:53:53 2015 +0200 staging: rtl8192u: Fix static decleration sparse warning. The function 'ieee80211_check_auth_response' is used only in this file, so make it static. This patch fixes the following sparse warning. 'ieee80211_check_auth_response' was not declared. Should it be static? Signed-off-by: Cihangir Akturk <cakturk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 330b5e80efcace88663b93bdd5ee41013284cb52 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Mar 21 02:15:32 2015 +0300 staging: ozwpan: implement error handling in ozwpan_init() Errors are correctly handled in oz_cdev_register() and oz_protocol_init(), but then they are ignored in ozwpan_init(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c181be7f32d168f5deb85bffc7f874a4b36daeee Author: Matteo Semenzato <mattew8898@xxxxxxxxx> Date: Fri Mar 20 20:41:45 2015 +0100 Staging: rtl8188eu: remove dead code The condition pxmitpriv->hwxmit_entry == 5 is always false because HWXMIT_ENTRY is always 4. Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea07278681c9738b8da96670be20898cd40c7bfe Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Mar 24 11:10:09 2015 -0700 staging: rtl8723au: Remove uses of MAC_FMT and MAC_ARG Use the standard vsprintf kernel extension to format mac addresses. This reduces object code size a bit. Miscellanea: o Coalesce formats o Realign arguments o Remove the now unused MAC_FMT and MAC_ARG #defines Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92def781ee757ba384ecc618004a9419d04ea749 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Mar 21 11:48:37 2015 +0900 staging: fbtft: Fix typo in fbtft This patch fix spelling typo in comment and printk within fbtft Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4178549e4c477502e33e0cede28678faff44ad3e Author: Cláudio Maia <crrm@xxxxxxxxxxx> Date: Fri Mar 20 16:31:46 2015 +0000 Staging: fbtft: fb_pcd8544: Fix comments style This patch fixes the following errors by refactoring the comments' style: WARNING: line over 80 characters ERROR: code indent should use tabs where possible Signed-off-by: Cláudio Maia <crrm@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14cf23b155a343631adace6d41e5ace3cefb8339 Author: Cláudio Maia <crrm@xxxxxxxxxxx> Date: Fri Mar 20 16:31:45 2015 +0000 Staging: fbtft: fb_pcd8544: Fix warning line over 80 characters This patch fixes the following checkpatch warning: WARNING: line over 80 characters Signed-off-by: Cláudio Maia <crrm@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b143b5503a7ee5e9b6fdd97cb1cacc0d320786e Author: Kozhevnikov Anatoly <shilo.xyz@xxxxxxxxx> Date: Fri Mar 20 18:37:54 2015 +0300 staging: fbtft: Add support for ili9163 controller Driver for ili9163-based displays (for example: Nokia 5110) Signed-off-by: Kozhevnikov Anatoly <shilo.xyz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb422f3bbc47ebf30ea3862b6ade462ea8e81e56 Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Fri Mar 20 15:22:15 2015 +0000 staging: sm750fb: Remove spinlock helper function This patch removes the unnecessary spinlock helper function and instead calls spin_lock and spin_unlock directly. This does *not* resolve sparse warnings about context imbalances but these are spurious. Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35fb80b9de08024b375d76f08591ec5b7cc57995 Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Fri Mar 20 15:22:14 2015 +0000 staging: sm750fb: Fix __iomem pointer types This patch annotates pointers as referring to I/O mapped memory where they ought to be, removes now unnecessary ugly casts, eliminates an incorrect deref on I/O mapped memory by using iowrite16 instead, and updates the pointer arithmetic accordingly to take into account that the pointers are now byte-sized. This fixes the following sparse warnings:- drivers/staging/sm750fb/sm750_cursor.c:113:19: warning: cast removes address space of expression drivers/staging/sm750fb/sm750_cursor.c:204:19: warning: cast removes address space of expression Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ffbc9c6aa2c36cbdc584ef9669b9ef97c1283c1 Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Fri Mar 20 15:22:13 2015 +0000 staging: sm750fb: Remove unused function This patch removes the unused hw712_fillrect function. This patch fixes the following sparse warning:- drivers/staging/sm750fb/sm750_accel.c:95:5: warning: symbol 'hw712_fillrect' was not declared. Should it be static? Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cd919fc010043d67259ccf37ca5c5892582051e Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Mar 25 12:18:23 2015 -0700 drm/i915: Remove duplicated psr.active unset psr.active is being unset out of the if so this here is useless and duplicated. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5097f8c72a38128e99ae2869e397a2f43d0a0b51 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 25 18:30:38 2015 +0100 drm/i915: Fixup legacy plane->crtc link for initial fb config This is a very similar bug in the load detect code fixed in commit 9128b040eb774e04bc23777b005ace2b66ab2a85 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Mar 3 17:31:21 2015 +0100 drm/i915: Fix modeset state confusion in the load detect code But this time around it was the initial fb code that forgot to update the plane->crtc pointer. Otherwise it's the exact same bug, with the exact same restrains (any set_config call/ioctl that doesn't disable the pipe papers over the bug for free, so fairly hard to hit in normal testing). So if you want the full explanation just go read that one over there - it's rather long ... Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Reported-and-tested-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab585dea120fa20313b1b5a3be2b3d614f094678 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Mar 24 12:40:09 2015 -0700 drm/i915: kill i915.powersave This flag was being mostly used as a meta flag in some cases and not covering other cases. One of the risks is that it was masking some frontbuffer trackings without disabling PSR. So, better to kill this at once and avoid umbrella parameters. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Drop unused out: label to appease gcc.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d93abd15c84bd2598d0b59ab93f72bf3527cf51a Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Fri Mar 20 15:22:12 2015 +0000 staging: sm750fb: Make internal functions static This patch declares externally unavailable functions static. This fixes the following sparse warnings:- drivers/staging/sm750fb/ddk750_hwi2c.c:63:6: warning: symbol 'hwI2CWaitTXDone' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_hwi2c.c:93:14: warning: symbol 'hwI2CWriteData' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_hwi2c.c:160:14: warning: symbol 'hwI2CReadData' was not declared. Should it be static? Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3de08a2d14ff8c771b5f806d6186b4601b770f6f Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Fri Mar 20 15:22:11 2015 +0000 staging: sm750fb: Use memset_io instead of memset This patch takes into account that cursor->vstart, crtc->vScreen and share->pvMem are pointers to memory-mapped I/O and thus we should use memset_io to make this explicit. In addition, some architectures require special treatment of memory-mapped I/O so the previous code could actually break without this change. This fixes the following sparse warnings:- drivers/staging/sm750fb/sm750.c:489:17: warning: incorrect type in argument 1 (different address spaces) drivers/staging/sm750fb/sm750.c:490:17: warning: incorrect type in argument 1 (different address spaces) drivers/staging/sm750fb/sm750.c:501:17: warning: incorrect type in argument 1 (different address spaces) drivers/staging/sm750fb/sm750.c:502:17: warning: incorrect type in argument 1 (different address spaces) drivers/staging/sm750fb/sm750.c:833:5: warning: incorrect type in argument 1 (different address spaces) drivers/staging/sm750fb/sm750.c:1154:9: warning: incorrect type in argument 1 (different address spaces) Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 855fe6ea9600a6d4b406b0d66e86e6e60ace4ef4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 16:22:24 2015 +0530 staging: sm7xxfb: add MODULE_DEVICE_TABLE add MODULE_DEVICE_TABLE to support hot-plugging. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab6de685221a95392e46d75d0651ac08b8a57689 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:23:29 2015 -0800 UBI: align comment for readability The kerneldoc for @vid_hdr_aloffset continues onto a second line, but this is not obvious, because the second line isn't indented, and it begins with '@'. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 299d0c5b27346a77a0777c993372bf8777d4f2e5 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:23:28 2015 -0800 UBI: fix check for "too many bytes" The comparison from the previous line seems to have been erroneously (partially) copied-and-pasted onto the next. The second line should be checking req.bytes, not req.lnum. Coverity CID #139400 Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> [rw: Fixed comparison] Signed-off-by: Richard Weinberger <richard@xxxxxx> commit f16db8071ce18819fbd705ddcc91c6f392fb61f8 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:23:27 2015 -0800 UBI: initialize LEB number variable In some of the 'out_not_moved' error paths, lnum may be used uninitialized. Don't ignore the warning; let's fix it. This uninitialized variable doesn't have much visible effect in the end, since we just schedule the PEB for erasure, and its LEB number doesn't really matter (it just gets printed in debug messages). But let's get it straight anyway. Coverity CID #113449 Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d74adbdb9abf0d2506a6c4afa534d894f28b763f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:23:26 2015 -0800 UBI: fix out of bounds write If aeb->len >= vol->reserved_pebs, we should not be writing aeb into the PEB->LEB mapping. Caught by Coverity, CID #711212. Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 8eef7d70f7c6772c3490f410ee2bceab3b543fa1 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:23:25 2015 -0800 UBI: account for bitflips in both the VID header and data We are completely discarding the earlier value of 'bitflips', which could reflect a bitflip found in ubi_io_read_vid_hdr(). Let's use the bitwise OR of header and data 'bitflip' statuses instead. Coverity CID #1226856 Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 6be88670fc59d50426f90f734a36b90e1de7d148 Author: Clément Perrochaud <clement.perrochaud@xxxxxxx> Date: Mon Mar 9 11:12:05 2015 +0100 NFC: nxp-nci_i2c: Add I2C support to NXP NCI driver Add a module to the NXP-NCI driver to support NFC controllers with an I2C control interface, such as the NPC100. Signed-off-by: Clément Perrochaud <clement.perrochaud@xxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d6abc59ec8440cf3677a54d6fb12afbd20f70821 Author: Lai Siyao <lai.siyao@xxxxxxxxx> Date: Wed Mar 25 21:53:26 2015 -0400 staging/lustre/xattr: xattr data may be gone with lock held Xattr cached data may be gone, but lock still held, in this case, refetch xattr from server, otherwise client will return error. Signed-off-by: Lai Siyao <lai.siyao@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12952 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3544 Reviewed-by: Bobi Jam <bobijam@xxxxxxxxxxx> 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 3ce08cd7a281e11d83ac3f92832522cf4a2f549c Author: Niu Yawei <yawei.niu@xxxxxxxxx> Date: Wed Mar 25 21:53:25 2015 -0400 staging/lustre: update timestamps after buiding rpc The mtime/atime/ctime in the write RPC has to be updated after the RPC is built (where xid is generated), otherwise, it could race with the setattr and updating wrong timestamps on OST side. Seems this regression was introduced when landing clio code. Signed-off-by: Niu Yawei <yawei.niu@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/13261 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5951 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 a915ffda199013a8ee2dd6a8a23b89ea45879ed3 Author: Li Dongyang <dongyang.li@xxxxxxxxxx> Date: Wed Mar 25 21:53:24 2015 -0400 staging/lustre/llite: glimpse the inode before doing fiemap For a new inode, the i_size is 0 until a stat, which will yield an empty fiemap result. Fix the issue by glimpsing the size before doing fiemap. Signed-off-by: Li Dongyang <dongyang.li@xxxxxxxxxx> Signed-off-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/13439 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6091 Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 502cb58e2138dea3cef0da29021528172ff9fe58 Author: Andriy Skulysh <Andriy_Skulysh@xxxxxxxxxxx> Date: Wed Mar 25 22:07:07 2015 -0400 staging/lustre/ptlrpc: fix import state during replay Client doesn't restore import state correctly on reconnect during replay. It resends lock replay when final ping was queued by server. Server fails with "target_queue_recovery_request()) ASSERTION( req->rq_export->exp_lock_replay_needed ) failed" Add imp_replay_state to store last replay state. imp_state is restored from imp_replay_state during reconnect. Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xxxxxxxxxxx> Signed-off-by: Bob Glossman <bob.glossman@xxxxxxxxx> Xyratex-bug-id: MRP-2022 Reviewed-on: http://review.whamcloud.com/12163 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5651 Reviewed-by: Jian Yu <jian.yu@xxxxxxxxx> Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 397632e467d195a268ac3c5adfd7de32e92bd864 Author: Yang Sheng <yang.sheng@xxxxxxxxx> Date: Wed Mar 25 21:53:22 2015 -0400 staging/lustre/lov: don't crash accessing LOV object with FID{0, 0} Some object maybe has a corrupted LOV EA or a hole in LOV EA. We should not crash client in such case. Signed-off-by: Fan Yong <fan.yong@xxxxxxxxx> Signed-off-by: Yang Sheng <yang.sheng@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12740 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4958 Reviewed-by: Jian Yu <jian.yu@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 4345abb2c3b56eae9bcf4728dcdc0f584690c8aa Author: Bobi Jam <bobijam.xu@xxxxxxxxx> Date: Wed Mar 25 21:53:21 2015 -0400 staging/lustre/mgc: detach MGC dev on error lustre_start_mgc() creates MGC device, if error happens later on ll_fill_super(), this device is still attached, and later mount fails by keep complaining that the MGC device's already in the client node. It turns out that the device was referenced by mgc config llog data which is arranged in the mgc lock requeue thread re-trying to get its mgc lock, and in normal case, this llog reference only released in mgc_blocking_ast() when the system is umount. This patch make mgc_precleanup() to wake up requeue thread to handle the config llog data. This patch also makes mgc_setup() wait for mgc_requeue_thread() start before moving on. Signed-off-by: Bobi Jam <bobijam.xu@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11765 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4943 Reviewed-by: Ryan Haasken <haasken@xxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c8aa54aaf2c74a28a9e427bb27fd1a12fca8536 Author: Hongchao Zhang <hongchao.zhang@xxxxxxxxx> Date: Wed Mar 25 21:53:20 2015 -0400 staging/lustre/mgc: check the import stat for lprocfs in lprocfs_mgc_rd_ir_state, the import state should be checked the validity before doing further work. Signed-off-by: Hongchao Zhang <hongchao.zhang@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12896 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5650 Reviewed-by: Fan Yong <fan.yong@xxxxxxxxx> Reviewed-by: Niu Yawei <yawei.niu@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06fbc01a870eea4431ca340642da7bfd4a5a262e Author: Liang Zhen <liang.zhen@xxxxxxxxx> Date: Wed Mar 25 21:53:19 2015 -0400 staging/lustre/ptlrpc: false alarm in AT network latency measuring If early reply of client RPC is lost and client RPC is expired and resent, server will drop the resent RPC because it's already in processing, server may also send reply or early reply to client, which can still match reply buffer of the original request. In this case, client is measuring time from resent time, but server is reporting service time of original RPC, which is longer than the time measured by client. Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12855 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5545 Reviewed-by: Li Wei <wei.g.li@xxxxxxxxx> Reviewed-by: Johann Lombardi <johann.lombardi@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f42894004727ffdfb3b0826b0047eaf44cbdece6 Author: Christopher J. Morrone <morrone2@xxxxxxxx> Date: Wed Mar 25 21:53:18 2015 -0400 staging/lustre/mdc: Handle empty but non-zero acl xattr We have found that posix_acl_access can have a value of \002\000\000\000. In that case body->aclsize is non-zero, but the there are no actuall acls stored in the xattr. In mdc_unpack_acl(), it only checks IS_ERR() on the pointer returned by posix_acl_from_xattr(), it does not check for NULL. Because of the above situation, the xattr aclsize can be non-zero, but posic_acl_from_xattr() still returns NULL. Passing NULL to posix_acl_valid() crashes the kernel. We add a check to properly handle the NULL return value. Signed-off-by: Christopher J. Morrone <morrone2@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/11989 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5150 Reviewed-by: Fan Yong <fan.yong@xxxxxxxxx> Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc02e457bb86f7b6ffee3651bab22d104b60effb Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 14:08:50 2015 +0000 netfilter: nf_tables: implement set transaction support Set elements are the last object type not supporting transaction support. Implement similar to the existing rule transactions: The global transaction counter keeps track of two generations, current and next. Each element contains a bitmask specifying in which generations it is inactive. New elements start out as inactive in the current generation and active in the next. On commit, the previous next generation becomes the current generation and the element becomes active. The bitmask is then cleared to indicate that the element is active in all future generations. If the transaction is aborted, the element is removed from the set before it becomes active. When removing an element, it gets marked as inactive in the next generation. On commit the next generation becomes active and the therefor the element inactive. It is then taken out of then set and released. On abort, the element is marked as active for the next generation again. Lookups ignore elements not active in the current generation. The current set types (hash/rbtree) both use a field in the extension area to store the generation mask. This (currently) does not require any additional memory since we have some free space in there. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ea4bd995b0f2fc5677ff8085e92a5d2544b9937c Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 14:08:49 2015 +0000 netfilter: nf_tables: add transaction helper functions Add some helper functions for building the genmask as preparation for set transactions. Also add a little documentation how this stuff actually works. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b2832dd6621bf73eb8ad38389a94bd83a5983886 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 14:08:48 2015 +0000 netfilter: nf_tables: return set extensions from ->lookup() Return the extension area from the ->lookup() function to allow to consolidate common actions. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 61edafbb47e9f46fb850035b1f8f062564445704 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 14:08:47 2015 +0000 netfilter: nf_tables: consolide set element destruction With the conversion to set extensions, it is now possible to consolidate the different set element destruction functions. The set implementations' ->remove() functions are changed to only take the element out of their internal data structures. Elements will be freed in a batched fashion after the global transaction's completion RCU grace period. This reduces the amount of grace periods required for nft_hash from N to zero additional ones, additionally this guarantees that the set elements' extensions of all implementations can be used under RCU protection. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c61ac9791e357e0589f688a0a5ee4ad24f41cd84 Author: Bobi Jam <bobijam.xu@xxxxxxxxx> Date: Wed Mar 25 22:04:53 2015 -0400 staging/lustre/osc: shorten IO calling path By using osc_io_unplug_aync() for osc_queue_sync_pages() to shorten the IO calling path, to reduce the chance of stack overflow. Signed-off-by: Bobi Jam <bobijam.xu@xxxxxxxxx> Signed-off-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11612 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3188 Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Reviewed-by: Niu Yawei <yawei.niu@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dece45855a8b0d1dcf48eb01d0822070ded6a4c8 Author: Clément Perrochaud <clement.perrochaud@xxxxxxx> Date: Mon Mar 9 11:12:04 2015 +0100 NFC: nxp-nci: Add support for NXP NCI chips Add support for NXP NCI NFC controllers such as the NPC100 or PN7150 families. Signed-off-by: Clément Perrochaud <clement.perrochaud@xxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit de5160ffd279dc6e7fa070a4a3852c6c5be42f9c Author: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Date: Mon Mar 16 23:53:38 2015 +0100 ft1000-pcmcia: ft1000_hw.c: code refactoring: add ft1000_read_dsp_timer() Add new function ft1000_read_dsp_timer() replacing recurring code block for reading DSP timer. Such code refactoring solves all remaining "line over 80 characters" warnings reported by checkpatch.pl. Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21a1d41174a16c1bba8b43eb607ac031f31533ae Author: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Date: Mon Mar 16 23:53:37 2015 +0100 ft1000-pcmcia: ft1000_hw.c: fix style issues not requiring code refactoring Fix all the trivial style issues (as reported by checkpatch.pl) not requiring code refactoring. A following patch is expected to fix the remaining issues by performing some code refactoring. Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c20d92dad5db6440cfa88d811b69fd605240ce4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 16:29:32 2015 +0530 staging: panel: fix lcd type the lcd type as defined in the Kconfig is not matching in the code. as a result the rs, rw and en pins were getting interchanged. Kconfig defines the value of PANEL_LCD to be 1 if we select custom configuration but in the code LCD_TYPE_CUSTOM is defined as 5. my hardware is LCD_TYPE_CUSTOM, but the pins were assigned to it as pins of LCD_TYPE_OLD, and it was not working. Now values are corrected with referenece to the values defined in Kconfig and it is working. checked on JHD204A lcd with LCD_TYPE_CUSTOM configuration. Cc: <stable@xxxxxxxxxxxxxxx> # 2.6.32+ Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e43c9c75faf2902955bd2ecd7a50a8cc41cb00a Author: Alistair Strachan <alistair.strachan@xxxxxxxxxx> Date: Tue Mar 24 14:51:31 2015 -0700 staging: android: sync: Fix memory corruption in sync_timeline_signal(). The android_fence_release() function checks for active sync points by calling list_empty() on the list head embedded on the sync point. However, it is only valid to use list_empty() on nodes that have been initialized with INIT_LIST_HEAD() or list_del_init(). Because the list entry has likely been removed from the active list by sync_timeline_signal(), there is a good chance that this WARN_ON_ONCE() will be hit due to dangling pointers pointing at freed memory (even though the sync drivers did nothing wrong) and memory corruption will ensue as the list entry is removed for a second time, corrupting the active list. This problem can be reproduced quite easily with CONFIG_DEBUG_LIST=y and fences with more than one sync point. Signed-off-by: Alistair Strachan <alistair.strachan@xxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Colin Cross <ccross@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4ea80a6026a09aa0b59ec7443b901660f390550 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Wed Mar 25 07:54:12 2015 +0800 usb: host/sl811-hcd: fix platform_no_drv_owner.cocci warnings drivers/usb/host/sl811-hcd.c:1812:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25af01ed18a282e7d324e5694fe67b85ac412994 Author: Clément Perrochaud <clement.perrochaud@xxxxxxx> Date: Mon Mar 9 11:12:03 2015 +0100 NFC: nci: Add firmware download support A simple forward for firmware download (i.e. sending a new firmware to the NFC adapter) from the NFC subsystem to the drivers. This feature is required to update the firmware of NXP-NCI NFC controllers but can be used by any NCI driver. This feature has been present in the HCI subsystem since 9a695d. Signed-off-by: Clément Perrochaud <clement.perrochaud@xxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit db7869cabd4862d984cca91dee62c14d08ae5b03 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 20 16:28:08 2015 +0800 chipidea: pci: make it depends on NOP_USB_XCEIV After commit ba1aff67f99a (chipidea: pci: register nop PHY) the PCI glue driver requires nop-PHY to be selected. Thus, make it an explicit dependency. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: ba1aff67f99a (chipidea: pci: register nop PHY) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d728189d10a0bea28ecb0e9acde1ea517112d090 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 20 16:28:07 2015 +0800 chipidea: introduce specific Kconfig options for glue drivers This patch introduces USB_CHIPIDEA_PCI and USB_CHIPIDEA_OF Kconfig options, one per each specific glue driver. This is needed to provide different dependencies they have. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a316ec4c91cfe03093d708369f9ab57000c96c3 Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Fri Mar 20 16:28:06 2015 +0800 usb: chipidea: use hrtimer for otg fsm timers Current otg fsm timers are using controller 1ms irq and count it, this patch is to replace it with hrtimer solution, use one hrtimer for all otg timers. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f8a467a11aeec61f5077cd337b4efe74847e1d3 Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Fri Mar 20 16:28:05 2015 +0800 usb: otg-fsm: move 2 otg fsm timers definition to otg_fsm_timer B_DATA_PLS(data-line pulse time) and B_SSEND_SRP(session end to SRP init) are also from OTG&EH 2.0 Specification and they are not chipidea specific. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01ecd156905f6bbfe4f5bd278325071f9141726d Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Fri Mar 20 16:28:04 2015 +0800 usb: chipidea: otg: remove unnecessary B_SESS_VLD timer Since BSV irq is enabled for B-device all the time, so B_SESS_VLD timer is not required, and also no need to check BSV status when B_ASE0_BRST timer timeout. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 963719c872a3a71bc2abf4d4899392acab93b09d Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 17:15:47 2015 +0100 USB: host: ohci-at91: remove useless uclk clock Now that the system clock driver is forwarding set_rate request to the parent clock, we can safely call clk_set_rate on the system clk and get rid of the uclk field. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85e8a0b9a3565c8185068b6b340cc8c6dd4411f4 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Mon Mar 23 14:34:43 2015 +0100 cdc-wdm: error returns need to be translated One more case of error codes not correctly being correctly returned to user space. Signed-off-by: Olive Neukum <oneukum@xxxxxxxx>0 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 323ece54e0761198946ecd0c2091f1d2bfdfcb64 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 14:29:34 2015 +0100 cdc-wdm: fix endianness bug in debug statements Values directly from descriptors given in debug statements must be converted to native endianness. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28965e17ee7a9591c241b831fee050d2391688c6 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 14:29:18 2015 +0100 cdc-wdm: unify error handling in write This makes sure the error handling path is the same for all error conditions, thus reducing code duplication. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>0 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4132cd02db180d018325e26bd145a509a14fcd6b Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 11:41:06 2015 +0100 cdc-acm: convert to not directly using urb->status A step on the road to passing status as a parameter Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c8074e90c7350f5e38caf1e8d73e98df4115403 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 11:25:17 2015 +0100 cdc-acm: surpress misleading message During the entry intro suspend a misleading message can be printed. Surpress it by checking the specific error. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>0 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36e59e0d70d6150e7a2155c54612ea875e88ce8d Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 09:24:24 2015 +0100 cdc-acm: fix race between callback and unthrottle Abn URB may be may marked free only after the buffer has been processed or there is a small window during which it could be submitted on another CPU and overwrite an unprocessed buffer Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0ab6bb0597363532f178f3cd7b7fb527eef39e2 Author: Ben Gamari <ben@xxxxxxxxxxxxxxxx> Date: Wed Mar 18 14:37:45 2015 -0400 usb/misc/usb3503: Always read refclk frequency from DT This is necessary to set REF_SEL appropriately in uses where refclk is always available. Signed-off-by: Ben Gamari <ben@xxxxxxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76cb03e7d5d7ba49175784dce961696da66c44cc Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 14:28:56 2015 +0100 cdc-wdm: return correct error codes Lieing to user space is wrong. The real reason for a failure to write should be returned to user space. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>0 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8373856d94aae5adf25f9e3388747c53867f1ab0 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Mar 23 19:57:36 2015 +0800 MAINTAINERS: change my git address to kernel.org Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24677af8693647d611448651f7df3ddc3211aa83 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 15:01:07 2015 +0100 usb: ehci-orion: add more constants for register values This commit adds new register values for the USB_CMD and USB_MODE registers, which allows to avoid the usage of a number of magic values in orion_usb_phy_v1_setup(). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb3247a34257a271b32d43244eabf71198f40ff0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Mar 20 09:04:41 2015 +0530 USB: Move usb_disabled() towards top of the file Move usb_disabled() and module_param()/core_param() towards the top of the file, where 'nousb' is defined, as they are all related. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1da47f54ddaf99d2fa8b4319480d49b88ff5fc2c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Mar 20 09:04:40 2015 +0530 USB: Use usb_disabled() consistently At few places we have used usb_disabled() and at other places used 'nousb' directly. Lets be consistent and use usb_disabled(); Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66e3e591891da9899a8990792da080432531ffd4 Author: Keith Packard <keithp@xxxxxxxxxx> Date: Thu Mar 19 20:36:49 2015 -0700 usb: Add driver for Altus Metrum ChaosKey device (v2) This is a hardware random number generator. The driver provides both a /dev/chaoskeyX entry and hooks the entropy source up to the kernel hwrng interface. More information about the device can be found at http://chaoskey.org The USB ID for ChaosKey was allocated from the OpenMoko USB vendor space and is visible as 'USBtrng' here: http://wiki.openmoko.org/wiki/USB_Product_IDs v2: Respond to review from Oliver Neukum <oneukum@xxxxxxx> * Delete extensive debug infrastructure and replace it with calls to dev_dbg. * Allocate I/O buffer separately from device structure to obey requirements for non-coherant architectures. * Initialize mutexes before registering device to ensure that open cannot be invoked before the device is ready to proceed. * Return number of bytes read instead of -EINTR when partial read operation is aborted due to a signal. * Make sure device mutex is unlocked in read error paths. * Add MAINTAINERS entry for the driver Signed-off-by: Keith Packard <keithp@xxxxxxxxxx> Cc: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fcefbdf06708a5811ffa8acc949714aee60ae13 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Wed Mar 25 07:23:52 2015 +0100 usb: chipidea: usbmisc_imx: fix returnvar.cocci warnings drivers/usb/chipidea/usbmisc_imx.c:277:5-8: Unneeded variable: "ret". Return "0" on line 297 Removes unneeded variable used to store return value. Generated by: scripts/coccinelle/misc/returnvar.cocci Cc: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0270c6257701a33262239ffc38442f18ae047d98 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Wed Mar 25 21:11:44 2015 -0300 Staging: octeon: Remove extern from .c file This patch fixes the checkpatch.pl warning: WARNING: externs should be avoided in .c files +extern void octeon_mdiobus_force_mod_depencency(void); Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da868b0305c43eaab0e2b3c14807531c5665f0a2 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Wed Mar 25 21:02:42 2015 -0300 Staging: i2o: Remove indentation of labels This patch fixes the checkpatche.pl warnings: WARNING: labels should not be indented + context_remove: WARNING: labels should not be indented + nop_msg: WARNING: labels should not be indented + exit: Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ebe6f46cb20b004e94e9862509085f6b7e69366 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Wed Mar 25 20:56:43 2015 -0300 staging: fbtft: Remove do {} while(0) in single statement macro This patch fixes the checkpatch.pl warning: WARNING: Single statement macros should not use a do {} while (0) loop +#define write_reg(par, ...) \ +do { \ + par->fbtftops.write_register(par, NUMARGS(__VA_ARGS__), __VA_ARGS__); \ +} while (0) Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f5f636c7746d2badbb960b51a13a1bb1edb1304 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Wed Mar 25 20:54:33 2015 -0300 staging: fbtft: Add space around '=' This patch fixes the checkpatch.pl error: ERROR: spaces required around that '=' (ctx:VxV) + sdev->bits_per_word=9; ^ Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 418880f5708dec9fdb2eaa7a61175fa1d8ab4110 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Thu Mar 26 02:23:29 2015 +0300 Staging: iio: use the BIT macro in adc This patch replaces bit shifting on: 0,1,2, and 3 with the BIT(x) macro. Issue addressed by checkpatcg.pl. This was done with the help of Coccinelle: @r1@ identifier x; constant int g; @@ ( 0<<\(x\|g\) | 1<<\(x\|g\) | 2<<\(x\|g\) | 3<<\(x\|g\) ) @script:python b@ g2 <<r1.g; y; @@ coccinelle.y = int(g2) + 1 @c@ constant int r1.g; identifier b.y; @@ ( -(1 << g) +BIT(g) | -(0 << g) + 0 | -(2 << g) +BIT(y) | -(3 << g) +(BIT(y)| BIT(g)) ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e273eb01feb15593d9cb3607a59d96ab12e4c0c2 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 10:55:06 2015 +0300 Staging: iio: Add braces on all arms of if statement The following patch adds braces on all arms of if statement. Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 281ab7efa25b01802e40dd4b7ef5548960881ad7 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 10:54:32 2015 +0300 Staging: iio: add blank line after function declaration This patch adds blank line after function declaration. Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31245077231b9204595f8a480b77590b81c9b571 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 10:52:51 2015 +0300 Staging: iio: remove multible blank lines This patch removes extra blank lines to address checkpatch.pl warnings regarding that. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9963bce76657d9fd5caa3fc77c72d57ec00c8cff Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 10:51:55 2015 +0300 Staging: iio: Adjust alignment for function parameters This patch adjust parameters alignment in functions to match open parenthesis. Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f53cb7b16861f0bd474aab07b91c744758d4f1fd Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 08:09:59 2015 +0300 Staging: rtl8192u: Fix space issues before '(' and after ')' Space is required before the open and after the close parenthesis. This patch adds space after 'if' and before '{'. This was done with the help of the following Coccinelle script: @r@ expression E; position p1,p2,p3; @@ if@p1 (E) @p3{@p2 ... } @script:python@ p1 << r.p1; p2 << r.p2; p3 << r.p3; @@ l1 = int (p1[0].line) l2 = int (p2[0].line) l3 = int (p3[0].line) c1 = int (p1[0].column_end) c2 = int (p2[0].column) c3 = int (p3[0].column) if (l1 != l2): cocci.include_match(False) if (l2 == l3 and c3 + 2 == c2): cocci.include_match(False) @@ position r.p1,r.p2,r.p3; expression r.E; @@ -if@p1 (E) @p3{@p2 +if (E) { ... } Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dde48b99d23f3f2e0f016d297801e4d5f13297fa Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 08:07:06 2015 +0300 Staging: rtl8192u: Add space before open parenthesis Space is required before the open parenthesis. This patch adds space after if to address that issue. This was done with the help of the following Coccinelle script: @r@ position p1,p2; @@ if@p1 (@p2 ...) { ... } @script:python@ p1 << r.p1; p2 << r.p2; @@ l1 = int (p1[0].line) l2 = int (p2[0].line) c1 = int (p1[0].column) c2 = int (p2[0].column) if (l2 == l1 and c1 + 2 != c2): cocci.include_match(False) @@ position r.p1,r.p2; @@ - if@p1 ( + if ( ...) { ... } Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26bce795d6f1fd0292283db0bf730a6c37970ab6 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Mar 25 21:34:48 2015 +0530 Staging: lustre: Remove extern from function declaration Functions have the extern storage class specifier by default, so this keyword can be removed. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe36bad239c90416ef11d44b5ea52238c027f923 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Mar 25 18:43:11 2015 +0530 Staging: rtl8188eu: Add new variable to make code compact Introducing this variable leads to overall more code compactness and increases readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 175bbae0c74bd9d250c7f9992d0b746412b78d12 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Mar 25 18:35:47 2015 +0530 Staging: rtl8188eu: Refactor repititive code to loop to increase compactness Refactor repetitive code to loop so as to increase compactness and introduce newlines for readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf9525157107a4fac6afeb4757249e1569249faf Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Mar 25 18:35:46 2015 +0530 Staging: rtl8188eu: Reduce line size to increase readability Reduce line size to increase readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab82fa7da4dce5c728730d7aa0e11a2cbc9266da Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:41:09 2015 +0100 gpio: rcar: Prevent module clock disable when wake-up is enabled When the GPIO module is needed for wake-up, it's module clock must not be disabled. Hence implement irq_chip.irq_set_wake(), which increments/decrements the clock's enable_count when needed, and forwards the wake-up state to the upstream interrupt controller. This fixes wake-up from s2ram using gpio-keys when using a PM Domain to manage the module clock. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3dc1e6852115b3163e7dacc76bbcb78ccff29421 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:41:08 2015 +0100 gpio: rcar: Add more register documentation Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4d84b9e4957589730d13d210e9e94bb5f5996ba3 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:41:07 2015 +0100 gpio: rcar: Use local variable gpio_chip in gpio_rcar_probe() The existing variable gpio_chip already points to the gpiochip instance, hence use it everywhere. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit df60f57684529a1dde4461cf84354453b440806a Merge: 605f302 b921e90 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Mar 26 20:03:16 2015 +1100 Merge branch 'next-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into test Merge miscellaneous bits from benh. Fix a minor conflict with OpalMessageType changing names to opal_msg_type. commit e189ca56d91bbf1d3fe2f88ab6858bf919d42adf Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Thu Mar 12 22:01:26 2015 +0530 gpio/crystalcove: Add additional GPIO for Panel control Export PANEL_EN/DISABLE (offset 0x52) as additional GPIO. Needed by display driver to enable the DSI panel on BYT platform where the Panel EN/Disable control is routed thorugh CRC PMIC CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5dd9c68a854a77da2091b08d8fb7717b04667c6d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Mar 5 13:06:13 2015 +0200 iwlwifi: drop support for early versions of 8000 These early versions are no longer supported. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit cb2513bb71cfaedfb9af37c27744b0e5cef15aa3 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Feb 27 16:26:57 2015 +0200 iwlwifi: mvm: use debugfs_create_bool() for enable_scan_iteration_notif There is no need to implement the enable_scan_iteration_notif handling explicitly and there's no reason not to export the current value. So use debugfs_create_bool() instead. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2250fd94c8887bdf0fb583a8f35bf555a0fff81c Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Dec 3 10:52:26 2014 +0200 iwlwifi: mvm: add delay to scheduled scan Add support for delaying the start of a scheduled scan (or a WoWLAN net-detect scan). Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 483f3ab1754f3c3698db622cc181249a0ca6372c Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Mar 4 10:38:32 2015 +0200 iwlwifi: pcie: initialize trans_pcie->ref_count on configure() ref_count is currently initialized on start_fw(). This causes some issues in restart flow, as currently active references (e.g. unclaimed command) will get cleared, resulting in invalid reference accounting. Move the ref_count initialization to the configure() trans op, so it won't be re-initialized on restart. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4ffb36505c0d4e0909aa1812b0269eb181a51390 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Tue Mar 10 10:06:02 2015 +0200 iwlwifi: mvm: inform mac80211 about umac scans that was aborted by restart In nic restart flow we inform mac80211 that scan was aborted, but it was based only on scan_status which is not set by UMAC scan. Fix that. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 939e4904e09044f0446a5eccd2bb93090087d713 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 8 12:19:42 2015 +0200 iwlwifi: mvm: remove d0i3 ref correctly during AP start The AP_START d0i3 reference was never removed if the AP started correctly. This has the unpleasant side-effect of preventing D0i3 on Android if the WiFi hotspot was ever started on the device. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 605f30205348f1d808d98d77505149da8b047b9f Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 12:13:44 2015 +0530 powerpc/powernv: Avoid explicit endian conversions while parsing device tree We currently read the information about idle states from the device tree, so as to find out the CPU idle states supported by the platform. Use the of_property_read/count_xxx() APIs, which handle endian conversions for us, and mean we don't need any endian annotations in the code. Signed-off-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1318470d7877dbb7168c6edcdc6127912b45f81e Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Sat Mar 7 13:03:36 2015 +0100 ps3: Fix trivial typos in comment and debug message Change 'prosessor' to 'processor' Change 'set_inteval' to 'set_interval' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Acked-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e77553cb21adabb7680930e7b20c578cec7ae5a8 Author: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Date: Fri Feb 27 13:30:34 2015 +0800 powerpc/mm: Free string after creating kmem cache kmem_cache_create()->kmem_cache_create_memcg()->kstrdup() allocates new space and copys name's content, so it is safe to free name memory after calling kmem_cache_create(). Else kmemleak will report the below warning: unreferenced object 0xc0000000f9002160 (size 16): comm "swapper/0", pid 0, jiffies 4294892296 (age 1386.640s) hex dump (first 16 bytes): 70 67 74 61 62 6c 65 2d 32 5e 39 00 de ad be ef pgtable-2^9..... backtrace: [<c0000000004e03ec>] .kvasprintf+0x5c/0xa0 [<c0000000004e045c>] .kasprintf+0x2c/0x50 [<c00000000002e36c>] .pgtable_cache_add+0xac/0x100 [<c00000000002e3e4>] .pgtable_cache_init+0x24/0x80 [<c000000000c6c67c>] .start_kernel+0x228/0x4c8 [<c000000000000594>] .start_here_common+0x24/0x90 Signed-off-by: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fdf51784cd728e55daa0ca7b0ba16966afbfeae0 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:46 2015 -0700 Bluetooth: Unify advertising data code paths This patch simplifies the code paths for assembling the advertising data used by advertising instances 0 and 1. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 089fa8c09e7fd36b9db01c23c826fb7956f25a1e Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:45 2015 -0700 Bluetooth: Update supported_flags for AD features This patch updates the "supported_flags" parameter returned from the "Read Advertising Features" command. Add Advertising will now return an error if an unsupported flag is provided. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5507e358112af307c1c8595a04a0ef172d197f3c Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:44 2015 -0700 Bluetooth: Support the "tx-power" adv flag This patch adds support for the "tx-power" flag of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 67e0c0cd8f5afea17689f7688041e9d215df6875 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:43 2015 -0700 Bluetooth: Support the "managed-flags" adv flag This patch adds support for the "managed-flags" flag of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 807ec772bf484a8e93bc9a2a681e49cb8f2c4d69 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:42 2015 -0700 Bluetooth: Support the "limited-discoverable" adv flag This patch adds support for the "limited-discoverable" flag of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b44133ff03be30b55f23036e62f403a3f7784fce Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:41 2015 -0700 Bluetooth: Support the "discoverable" adv flag This patch adds support for the "discoverable" flag of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e7a685d316e7d4b64cd3b2811687b0270d590386 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:40 2015 -0700 Bluetooth: Support the "connectable mode" adv flag This patch adds support for the "connectable mode" flag of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 495099962138732c28449d07f3b1988836659851 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:39 2015 -0700 Bluetooth: Add macros for advertising instance flags This patch adds macro definitions for possible advertising instance flags that can be passed to the "Add Advertising" command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 08dc0e987e2855e28714670b8214dea1f76534ba Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Mar 25 18:32:13 2015 -0700 Bluetooth: Fix minor typo in comment for static address setting Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7890203da2cb9b861dae9bdb88f882f3e03baec9 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 22 22:17:20 2015 +0800 NFSD: Fix bad update of layout in nfsd4_return_file_layout With return layout as, (seg is return layout, lo is record layout) seg->offset <= lo->offset and layout_end(seg) < layout_end(lo), nfsd should update lo's offset to seg's end, and, seg->offset > lo->offset and layout_end(seg) >= layout_end(lo), nfsd should update lo's end to seg's offset. Fixes: 9cf514ccfa ("nfsd: implement pNFS operations") Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 376675daeac3dc0e39b84ca90f0bdc41a9d44d46 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 22 22:17:10 2015 +0800 NFSD: Take care the return value from nfsd4_encode_stateid Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 853695230e9847445ad42c330d023fca2324fd56 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 22 22:16:40 2015 +0800 NFSD: Printk blocklayout length and offset as format 0x%llx When testing pnfs with nfsd_debug on, nfsd print a negative number of layout length and foff in nfsd4_block_proc_layoutget as, "GET: -xxxx:-xxx 2" Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 340f0ba1c6c8412aa35fd6476044836b84361ea6 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Mon Mar 23 11:02:30 2015 -0400 nfsd: return correct lockowner when there is a race on hash insert alloc_init_lock_stateowner can return an already freed entry if there is a race to put openowners in the hashtable. Noticed by inspection after Jeff Layton fixed the same bug for open owners. Depending on client behavior, this one may be trickier to trigger in practice. Fixes: c58c6610ec24 "nfsd: Protect adding/removing lock owners using client_lock" Cc: <stable@xxxxxxxxxxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Acked-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c5952338bfc234e54deda45b7228f610a545e28a Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Mar 23 10:53:42 2015 -0400 nfsd: return correct openowner when there is a race to put one in the hash alloc_init_open_stateowner can return an already freed entry if there is a race to put openowners in the hashtable. In commit 7ffb588086e9, we changed it so that we allocate and initialize an openowner, and then check to see if a matching one got stuffed into the hashtable in the meantime. If it did, then we free the one we just allocated and take a reference on the one already there. There is a bug here though. The code will then return the pointer to the one that was allocated (and has now been freed). This wasn't evident before as this race almost never occurred. The Linux kernel client used to serialize requests for a single openowner. That has changed now with v4.0 kernels, and this race can now easily occur. Fixes: 7ffb588086e9 Cc: <stable@xxxxxxxxxxxxxxx> # v3.17+ Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e2e40f2c1ed433c5e224525c8c862fd32e5d3df2 Author: Christoph Hellwig <hch@xxxxxx> Date: Sun Feb 22 08:58:50 2015 -0800 fs: move struct kiocb to fs.h struct kiocb now is a generic I/O container, so move it to fs.h. Also do a #include diet for aio.h while we're at it. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7a504c935e42737e5ad40ea2f6f2d21b4dc27e81 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Mar 17 08:42:38 2015 +0800 phy: samsung_usb2: Fixup samsung_usb2_phy_power_on/off paths Ensure we have balanced clk_prepare_enable/clk_disable_unprepare calls if .power_on or .power_off callbacks return error. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 2be608561abfcceda4b35b71a0c1ec5088bb39b9 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Thu Mar 12 19:11:13 2015 +0900 phy: exynos5-usbdrd: Add to support for Exynos5433 SoC This patch adds driver data to support for Exynos5433 SoC. The Exynos5433 has one USB3.0 Host and USB3.0 DRD(Dual Role Device). Exynos5433 is simplar to Eyxnos7 but Exynos5433 have one more USB3.0 Host controller. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit d89a7f69d69409ffafad7affc1cc3085d2cd0dd8 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Mar 3 09:05:55 2015 +0800 phy: qcom-ufs: Catch devm_phy_create failure in ufs_qcom_phy_generic_probe Current code does NULL test against return value of ufs_qcom_phy_generic_probe. However, in the case of devm_phy_create() failure, ufs_qcom_phy_generic_probe does not return NULL. Fix it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 080de5ba390c54b7504c43b36ae21911acf66b30 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Mar 17 08:39:01 2015 +0800 phy: stih41x-usb: Fixup stih41x_usb_phy_power_on failure path If stih41x_usb_phy_power_on() fails, we need to call clk_disable_unprepare() before return error. This is to ensure we have balanced clk_enable/disable calls. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit fe15dedc02e4ee29edfc84bbbf5ee42827e36ac7 Merge: c77662a f101796 Author: Michael Turquette <mturquette@xxxxxxxxxx> Date: Wed Mar 25 14:51:40 2015 -0700 Merge tag 'sunxi-clocks-for-4.1' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into clk-next Allwinner clocks changes for 4.1 The usual round of clock changes for the Allwinner SoCs. There is nothing really standing out here, but a few changes and fixes, most notably to allow the AHB clock to be parented to a PLL, instead of the CPU clock to avoid any AHB rate change due to cpufreq. commit 22de3ef94bd191537227a7f1bb0908f368601f03 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Mar 25 13:32:22 2015 -0700 spi: of: do explicitly request modules for of-registered devices Trying to register an SPI device asynchronously (via async_schedule() call) results in an ugly complaint from request_module() warning about potential deadlock (because request_module tries to wait for async works to complete, the caller is also an async work in this case). While we could try to switch to using request_module_nowait(), other buses, as well as SPI itself when not using device tree, do not try to load modules explicitly, but rather rely on the standard infrastructure (such as udev) to execute module loading. There is no reason why SPI OF-described devices should be treated differently. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dc344b62121c4e2ba5bd9d5bf7a2b4ce5f0487ce Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Thu Oct 9 11:33:34 2014 +0300 ARM: qcom: Increase MMC_BLOCK_MINORS in defconfig There are currently more than 16 partitions on the eMMC of all recent Qualcomm devices. Increase the number of minors per block device to detect all available partitions. Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 9017f25254e474f2cc05df489e4f83b972d3d6fd Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Mar 24 00:24:16 2015 +0100 driver core: Implement device property accessors through fwnode ones Now that the ACPI companions of devices are pointed to by the fwnode field in struct device, the device_property_*() accessor functions can be modified to use their fwnode_property_*() counterparts internally with minimum extra overhead in the IS_ENABLED(CONFIG_OF) case, so make those changes. This allows us to get rid of the rather ugly DEV_PROP_READ_ARRAY() macro among other things. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe0a20a3eff282efae9f891fd10081a9e2b45c96 Merge: f42712a ca5b74d Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Mar 25 20:59:51 2015 +0100 Merge branch 'acpi-driver-core' into device-properties commit f42712a92e660fbee2193c5dde672470d099f63f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Mar 24 00:18:05 2015 +0100 driver core: property: Update fwnode_property_read_string_array() Commit 5c0acf3b4f96 (driver core: Add comments about returning array counts) forgot to update fwnode_property_read_string_array() along the lines of device_property_read_string_array(), although it did change the kerneldoc comment of it. Fix that. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b305632cb220ffa495cbbefb313f3c34d4decc4 Merge: fc4c3c8 29cf342 Author: Chris Mason <clm@xxxxxx> Date: Wed Mar 25 12:25:02 2015 -0700 Merge branch 'cleanup/divs' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.1 Signed-off-by: Chris Mason <clm@xxxxxx> Conflicts: fs/btrfs/volumes.c commit 207cda93f0446c2da5461a37252c7468ddc1c2bc Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Mar 25 20:26:26 2015 +0200 spi: dw: fix crash on setup stage The commit 1a7b7ee72c21 (spi: Ensure that CS line is in non-active state after spi_setup()) introduces an unconditional call of spi_set_cs() before ->setup(). The dw_spi_set_cs() relies on that fact that ->setup() is already called, but it doesn't now. This patch fixes the crash by adding an additional check to dw_spi_set_cs(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f1017969661dd33ead5ba7c3f4a0793c6611441a Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Mar 25 01:22:08 2015 +0800 clk: sunxi: Add pll6 / 4 clock output to sun4i-a10-pll6 The pll6 has a /4 output that is used as an input to the ahb mux clock. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 934fe5f48ae52841f8a5f5e0411147a8ccd171c1 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Mar 25 01:22:07 2015 +0800 clk: sunxi: Make divs clocks specify which output is the base factor clock The current sunxi clock driver has the base factor clock of divs clocks as the last clock output of the clock node. This makes it rather difficult to add new outputs, such as fixed dividers, which were previously unknown. This patch makes the divs clocks data structure specify which output is the factor clock, and updates all current divs clocks accordingly. We can then add new outputs after the factor clocks, at least not breaking backward compatibility with regards to the devicetree bindings. Also replace kzalloc with kcalloc in sunxi_divs_clk_setup(). Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5a352dd0a3aac03b443c94828dfd7144261c8636 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 17:07:45 2015 +0100 ipv6: hash net ptr into fragmentation bucket selection As namespaces are sometimes used with overlapping ip address ranges, we should also use the namespace as input to the hash to select the ip fragmentation counter bucket. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6a7719aedd7e5c0f2df7641aa47386111682df4 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 17:07:44 2015 +0100 ipv4: hash net ptr into fragmentation bucket selection As namespaces are sometimes used with overlapping ip address ranges, we should also use the namespace as input to the hash to select the ip fragmentation counter bucket. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fa38a38ac37a0ca5366cd62ba4339c2bab49db9 Merge: b06b107 8b4ed86 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 25 14:05:56 2015 -0400 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: some improvements and fixes We introduce a better algorithm for selecting when and which users should be subject to link congestion control, plus clean up some code for that mechanism. Commit #3 fixes another rare race condition during packet reception. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b4ed8634f8b3f9aacfc42b4a872d30c36b9e255 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Mar 25 12:07:26 2015 -0400 tipc: eliminate race condition at dual link establishment Despite recent improvements, the establishment of dual parallel links still has a small glitch where messages can bypass each other. When the second link in a dual-link configuration is established, part of the first link's traffic will be steered over to the new link. Although we do have a mechanism to ensure that packets sent before and after the establishment of the new link arrive in sequence to the destination node, this is not enough. The arriving messages will still be delivered upwards in different threads, something entailing a risk of message disordering during the transition phase. To fix this, we introduce a synchronization mechanism between the two parallel links, so that traffic arriving on the new link cannot be added to its input queue until we are guaranteed that all pre-establishment messages have been delivered on the old, parallel link. This problem seems to always have been around, but its occurrence is so rare that it has not been noticed until recent intensive testing. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3127a0200d4a46cf279bb388cc0f71827cd60699 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Mar 25 12:07:25 2015 -0400 tipc: clean up handling of link congestion After the recent changes in message importance handling it becomes possible to simplify handling of messages and sockets when we encounter link congestion. We merge the function tipc_link_cong() into link_schedule_user(), and simplify the code of the latter. The code should now be easier to follow, especially regarding return codes and handling of the message that caused the situation. In case the scheduling function is unable to pre-allocate a wakeup message buffer, it now returns -ENOBUFS, which is a more correct code than the previously used -EHOSTUNREACH. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f66d161ab3d8b518903fa6c3f9c1f48d6919e74 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Mar 25 12:07:24 2015 -0400 tipc: introduce starvation free send algorithm Currently, we only use a single counter; the length of the backlog queue, to determine whether a message should be accepted to the queue or not. Each time a message is being sent, the queue length is compared to a threshold value for the message's importance priority. If the queue length is beyond this threshold, the message is rejected. This algorithm implies a risk of starvation of low importance senders during very high load, because it may take a long time before the backlog queue has decreased enough to accept a lower level message. We now eliminate this risk by introducing a counter for each importance priority. When a message is sent, we check only the queue level for that particular message's priority. If that is ok, the message can be added to the backlog, irrespective of the queue level for other priorities. This way, each level is guaranteed a certain portion of the total bandwidth, and any risk of starvation is eliminated. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b06b107a4c190299e9e3f8dbcccfc7fe9e10c8cb Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Mar 25 08:08:37 2015 -0700 net: dsa: Handle non-bridge master change Master change notifications may occur other than when joining or leaving a bridge, for example when being added to or removed from a bond or Open vSwitch. In that case, do nothing instead of asking the switch driver to remove a port from a bridge that it didn't join. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb42d1f491ebf6bb3e41b4dc93c5a1b1768e0df7 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Mar 20 16:55:18 2015 -0600 toshiba_acpi: Fix the enabling of the Special Functions Some Toshiba laptops with the "Special Functions" feature enabled fail to properly enable such feature unless a specific value is used to enable the hotkey events. This patch adds a new function called "*_enable_special_functions", that simply makes a call to the HCI_HOTKEY_EVENT call, but this time we are using a different parameter to make the "Special Functions" mode work as expected. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit a2b3471b5b13b81c5975d8f88db65694d7b69f56 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Mar 20 16:55:17 2015 -0600 toshiba_acpi: Use the Hotkey Event Type function for keymap choosing With the previous patch adding support to "Hotkey Event Type", we can now use the type to distinguish which keymap to use. This patch changes the toshiba_acpi_setup_keyboard function to make use of the hotkey event type to choose the correct keymap without the need to use the DMI matching list. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 56e6b353396187a6e79acdbe3934fcd796a15e2e Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Mar 20 16:55:16 2015 -0600 toshiba_acpi: Add Hotkey Event Type function and definitions This patch adds support to query the "Hotkey Event Type" the system supports. There are two main event types (so far), 0x10 and 0x11, with the first being all those laptops that have the old keyboard layout, and the latter all those new laptops with the new keyboard layout. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit fc4c3c872f44bf425963feba57eb9c3f8ac2d7eb Merge: 9deed22 a4f3d2c Author: Chris Mason <clm@xxxxxx> Date: Wed Mar 25 10:52:48 2015 -0700 Merge branch 'cleanups-post-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.1 Signed-off-by: Chris Mason <clm@xxxxxx> Conflicts: fs/btrfs/disk-io.c commit 9deed229fa8a83bb5cd713b2d2a8e5c022a4b45b Merge: bc465aa 258ece0 Author: Chris Mason <clm@xxxxxx> Date: Wed Mar 25 10:43:16 2015 -0700 Merge branch 'cleanups-for-4.1-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.1 commit f62a4ffd43c8739aa4b0358710ace0a4e91d2071 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Mar 23 14:01:37 2015 -0400 x86/wmi: delete unused wmi_data_lock mutex causing gcc warning In commit bff431e49ff531a343fbb2b4426e313000844f32 ("ACPI: WMI: Add ACPI-WMI mapping driver") this mutex was added, but the rest of the final commit never actually made use of it, resulting in: In file included from include/linux/mutex.h:29:0, from include/linux/kernfs.h:13, from include/linux/sysfs.h:15, from include/linux/kobject.h:21, from include/linux/device.h:17, from drivers/platform/x86/wmi.c:35: drivers/platform/x86/wmi.c:48:21: warning: â??wmi_data_lockâ?? defined but not used [-Wunused-variable] static DEFINE_MUTEX(wmi_data_lock); ^ A git grep shows no other instances/references to the wmi_data_lock. Delete it, assuming that the mutex addition was just a leftover from an earlier work in progress version of the change, since the original dates from 2008. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 6c826f349587f6c897da9bd224912ca1aee3d9ea Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Mar 24 14:54:19 2015 +0200 drm/i915: Add fault address to error state for gen8 and gen9 The faulting virtual address is >32bits and has been moved to different registers. Add to error state and output upper register first, in the same line for easy reconstruction of the fault address. v2: correct gen masking (Michel) v3: s/TBL/TLB (Ville) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d00dad56b15ed5dab5802143df2bf61d51b6b55 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Wed Mar 25 10:15:26 2015 +0000 drm/i915/skl: Fix up positive error code It should have been negative since it is returned with ERR_PTR(). Introduced in new code commit: commit 50470bb011c4be278097670bea92462f4e8c8945 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:36 2015 +0000 drm/i915/skl: Support secondary (rotated) frame buffer mapping Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c0f404284192f2d4a0159a714372a8c8610c1f6d Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Mon Mar 23 12:43:50 2015 -0700 drm/i915: make unsupported fb modifier message DRM_DEBUG Or users can just spam the log all they want. Issue introduced in commit 9a8f0a1290993c86c4e35756a2624bfe461f9036 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 11:15:24 2015 +0000 drm/i915/skl: Allow Y (and Yf) frame buffer creation References: https://bugs.freedesktop.org/show_bug.cgi?id=89628 Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eb17380972d563a7dd59634cd2fdb614f3b98cdd Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Mar 25 15:19:30 2015 +0100 Bluetooth: hci_uart: Add setup callback Some Bluetooth controllers require initialization before being used (vendor config, firmware download). Add possibility for a HCI UART proto to implement this early init via the setup callback. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fe2811ebeb97a7a76de0b2b35f13600169508393 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:50 2015 +0000 netfilter: nf_tables: convert hash and rbtree to set extensions The set implementations' private struct will only contain the elements needed to maintain the search structure, all other elements are moved to the set extensions. Element allocation and initialization is performed centrally by nf_tables_api instead of by the different set implementations' ->insert() functions. A new "elemsize" member in the set ops specifies the amount of memory to reserve for internal usage. Destruction will also be moved out of the set implementations by a following patch. Except for element allocation, the patch is a simple conversion to using data from the extension area. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3ac4c07a24007f0f45d2082b745508768a8e21cf Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:49 2015 +0000 netfilter: nf_tables: add set extensions Add simple set extension infrastructure for maintaining variable sized and optional per element data. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit bfd6e327e118d2fe443047829047862b49012457 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:48 2015 +0000 netfilter: nft_hash: convert to use rhashtable callbacks A following patch will convert sets to use so called set extensions, where the key is not located in a fixed position anymore. This will require rhashtable hashing and comparison callbacks to be used. As preparation, convert nft_hash to use these callbacks without any functional changes. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 45d84751fb310fe0063cf005ffd6593b4c2321a8 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:47 2015 +0000 netfilter: nft_hash: indent rhashtable parameters Improve readability by indenting the parameter initialization. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 745f5450d5190e8bd02301b8d42f06999af3f5f8 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:46 2015 +0000 netfilter: nft_hash: restore struct nft_hash Following patches will add new private members, restore struct nft_hash as preparation. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 49f7b33e63fec9d16e7ee62ba8f8ab4159cbdc26 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:45 2015 +0000 rhashtable: provide len to obj_hashfn nftables sets will be converted to use so called setextensions, moving the key to a non-fixed position. To hash it, the obj_hashfn must be used, however it so far doesn't receive the length parameter. Pass the key length to obj_hashfn() and convert existing users. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 03ecc32c5274962b9b1904d7a730e71c95bac05f Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Feb 13 14:35:21 2015 +0000 iommu/vt-d: support extended root and context entries Add a new function iommu_context_addr() which takes care of the differences and returns a pointer to a context entry which may be in either format. The formats are binary compatible for all the old fields anyway; the new one is just larger and some of the reserved bits in the original 128 are now meaningful. So far, nothing actually uses the new fields in the extended context entry. Modulo hardware bugs with interpreting the new-style tables, this should basically be a no-op. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit dde93dfea53c72b07907d9e44a6e4b1545f6bdc4 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Mar 25 20:01:26 2015 +0530 cxgb4: Fix frame size warning for 32 bit arch Fixes below warning by dynamically allocating memory All warnings: drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c: In function 'cctrl_tbl_show': >> drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c:689:1: warning: the >> frame >> size of 1028 bytes is larger than 1024 bytes [-Wframe-larger-than=] Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac110f4954252b7bbe66268c78c8ece7ac2569b9 Author: tadeusz.struk@xxxxxxxxx <tadeusz.struk@xxxxxxxxx> Date: Wed Mar 25 07:29:19 2015 -0700 crypto: algif - fix warn: unsigned 'used' is never less than zero Change type from unsigned long to int to fix an issue reported by kbuild robot: crypto/algif_skcipher.c:596 skcipher_recvmsg_async() warn: unsigned 'used' is never less than zero. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4423f5e7d28c26af31df711c5c21eeacfac737b4 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Mar 25 15:43:39 2015 +0000 iommu/vt-d: Add new extended capabilities from v2.3 VT-d specification Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit bc14b8d6a98eb0747126cd517b468148b9e1c7ac Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Mar 25 18:09:40 2015 +0800 tipc: fix a link reset issue due to retransmission failures When a node joins a cluster while we are transmitting a fragment stream over the broadcast link, it's missing the preceding fragments needed to build a meaningful message. As a result, the node has to drop it. However, as the fragment message is not acknowledged to its sender before it's dropped, it accidentally causes link reset of retransmission failure on the node. Reported-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Tested-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 358e048d670a0feeb030effd1a3611cc6288fa70 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:31:37 2015 +0100 s390: fix /proc/interrupts output The irqclass_sub_desc array and enum interruption_class are out of sync thus /proc/interrupts is broken. Remove IRQIO_CLW. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6fd99094de2b83d1d4c8457f2c83483b2828e75a Author: D.S. Ljungmark <ljungmark@xxxxxxxx> Date: Wed Mar 25 09:28:15 2015 +0100 ipv6: Don't reduce hop limit for an interface A local route may have a lower hop_limit set than global routes do. RFC 3756, Section 4.2.7, "Parameter Spoofing" > 1. The attacker includes a Current Hop Limit of one or another small > number which the attacker knows will cause legitimate packets to > be dropped before they reach their destination. > As an example, one possible approach to mitigate this threat is to > ignore very small hop limits. The nodes could implement a > configurable minimum hop limit, and ignore attempts to set it below > said limit. Signed-off-by: D.S. Ljungmark <ljungmark@xxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e3ea6d5c4f4880dbdf85f4083f40d8a3dc9b906 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Mar 25 14:13:01 2015 +0800 sctp: avoid to repeatedly declare external variables Move the declaration for external variables to sctp.h file avoiding to repeatedly declare them with extern keyword. Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8381faca5ec90b7eea94ce575e90af86e2c9a9e Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Mar 18 17:21:19 2015 +0000 pinctrl: st: Display pin's function when printing pinctrl debug information Great for easily determining which mode a pin is operating in. This patch was particularly helpful when debugging a recent GPIO/ Pinctrl disparity issue. Before: $ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins pin 33 (PIO4[1]):[OE:0,PU:0,OD:0] [retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0] After [GPIO]: $ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins pin 33 (PIO4[1]):[OE:0,PU:0,OD:0] GPIO [retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0] After [Alt]: $ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins pin 33 (PIO4[1]):[OE:0,PU:0,OD:0] Alt Fn 2 [retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0] Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e2ed0e88ecba59775a25b3cc237eed1faf71a9aa Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Mar 18 17:21:18 2015 +0000 pinctrl: st: Show correct pin direction also in GPIO mode Until now ST's pinconf_dbg_show() call-back has displayed the PIO alternate function direction, which is only relevant if a pin is operating in an alternate function mode i.e not GPIO mode. If a pin is in GPIO mode its direction is both set and status is obtained by a completely different/unrelated bunch of registers. This change ensures that the correct pin direction is shown, even if a pin is operating in GPIO mode. Reported-by: Olivier Clergeaud <olivier.clergeaud@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1e702ec2aa3bfed17d1266d31f94923322afbc60 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Mar 18 17:21:17 2015 +0000 pinctrl: st: Supply a GPIO get_direction() call-back ST's hardware differentiates between GPIO mode and Pinctrl alternate functions. When a pin is in GPIO mode, there are dedicated registers to set and obtain direction status. However, If a pin's alternate function is in use then the direction is set and status is derived from a bunch of syscon registers. The issue is; until now there was a lack of parity between the two. For example: Catting the two following information sources could result in conflicting information (output has been snipped for simplicity): $ cat /sys/kernel/debug/gpio GPIOs 32-39, platform/961f080.pin-controller-sbc, PIO4: gpio-33 (? ) out hi $ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins pin 33 (PIO4[1]):[OE:0,PU:0,OD:0] [retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0] In this example GPIO-33 is a GPIO controlled LED, which is set for output, as you'd expect. However, when the same information is drafted from Pinctrl, it clearly states that OE (Output Enable) is not set i.e. the pin is set for input. This is because OE normally only represents alternate functions and has no bearing on how the pin operates when in Alt-0 (GPIO mode). This patch changes the current semantics and provides a parity link between the two subsystems. The get_direction() call-back firstly determines which function a pin is operating in, then uses the appropriate helpers for that mode. Reported-by: Olivier Clergeaud <olivier.clergeaud@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 18436afdc11a00ac881990b454cfb2eae81d6003 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Mar 25 15:05:47 2015 +0000 iommu/vt-d: Allow RMRR on graphics devices too Commit c875d2c1 ("iommu/vt-d: Exclude devices using RMRRs from IOMMU API domains") prevents certain options for devices with RMRRs. This even prevents those devices from getting a 1:1 mapping with 'iommu=pt', because we don't have the code to handle *preserving* the RMRR regions when moving the device between domains. There's already an exclusion for USB devices, because we know the only reason for RMRRs there is a misguided desire to keep legacy keyboard/mouse emulation running in some theoretical OS which doesn't have support for USB in its own right... but which *does* enable the IOMMU. Add an exclusion for graphics devices too, so that 'iommu=pt' works there. We should be able to successfully assign graphics devices to guests too, as long as the initial handling of stolen memory is reconfigured appropriately. This has certainly worked in the past. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit f89e68fc3b5a5d53d73a0df71b94d3c0a009d0ba Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Mar 18 17:21:16 2015 +0000 pinctrl: st: Move st_get_pio_control() further up the source file st_get_pio_control() will be used by subsequent calls which are to be located above its original position. This is required to prevent the need for an unnecessary forward-declaration/prototype. Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 68c1b89cf5653acd1107253e146b332420a1f4a7 Author: Fenghua Yu <fenghua.yu@xxxxxxxxx> Date: Sat Feb 21 13:07:27 2015 -0800 iommu/vt-d: Print x2apic opt out info instead of printing a warning BIOS can set up x2apic_opt_out bit on some platforms, for various misguided reasons like insane SMM code with weird assumptions about what descriptors look like, or wanting Windows not to enable the IOMMU so that the graphics driver will take it over for SVM in "driver mode". A user can either disable the x2apic_opt_out bit in BIOS or by kernel parameter "no_x2apic_optout". Instead of printing a warning, we just print information of x2apic opt out. Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit c2a4bf47089823bb76d2498eebda922ecf99546d Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Mar 18 17:21:15 2015 +0000 pinctrl: st: Introduce a 'get pin function' call This call fetches the numerical function value a specified pin is currently operating in. Function zero is more often than not the GPIO function. Greater than zero values represent an alternative function. You'd need to either look those up in the Device Tree sources or the Programmer's Manual. Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 44caf2f37f009b2affa743073fa935826b6ab2fd Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Feb 13 14:25:24 2015 +0000 iommu/vt-d: kill bogus ecap_niotlb_iunits() As far back as I can see (which right now is a draft of the v1.2 spec dating from September 2008), bits 24-31 of the Extended Capability Register have already been reserved. I have no idea why anyone ever thought there would be multiple sets of IOTLB registers, but we've never supported them and all we do is make sure we map enough MMIO space for them. Kill it dead. Those bits do actually have a different meaning now. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 9df461eca18f5395ee84670cdba6755dddec1898 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Mar 25 15:06:16 2015 +0200 spi: pxa2xx: replace ugly table by approximation The Quark SoC data sheet describes the baud rate setting using fractional divider. The subset of possible values represented by a table suggests that the divisor has one block that could divide by 5. This explains the number of the beast in some cases in the table. Thus, in this particular case the divisor can be evaluated as 5^i * 2^j * 2 * k, where i = [0, 1] j = [0, 23] k = [1, 256] There are few cases as mentioned in the data sheet, i.e. better form of the clock signal will be in case if DDS_CLK_RATE either 2^n or 2/5. It's also possible to use any value that is less or equal to 0x33333 (1/5/16 = 1/80). All three cases are compared to each other and the one that suits better is chosen by the approximation algorithm. Anyone can play with the script [1] that represents the algorithm. [1] https://gist.github.com/06b084488b3629898121 Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8787041d9bb832b9449b1eb878cedcebce42c61a Author: Sergej Sawazki <ce3a@xxxxxx> Date: Tue Mar 24 21:13:22 2015 +0100 ASoC: wm8741: Fix rates constraints values The WM8741 DAC supports the following typical audio sampling rates: 44.1kHz, 88.2kHz, 176.4kHz (eg: with a master clock of 22.5792MHz) 32kHz, 48kHz, 96kHz, 192kHz (eg: with a master clock of 24.576MHz) For the rates lists, we should use 82000 instead of 88235, 176400 instead of 1764000 and 192000 instead of 19200 (seems to be a typo). Signed-off-by: Sergej Sawazki <ce3a@xxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 46172b6c26667133b9945b916b6223cc87bbf10c Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 11:22:35 2015 +0000 ASoC: dapm: Fix build warning commit c66150824b8a ("ASoC: dapm: add code to configure dai link parameters") introduced the following build warning: sound/soc/soc-dapm.c: In function 'snd_soc_dapm_new_pcm': sound/soc/soc-dapm.c:3389:4: warning: passing argument 1 of 'snprintf' discards 'const' qualifier from pointer target type snprintf(w_param_text[count], len, This patch fixes this by switching to using devm_kasprintf. This also saves a couple of lines of code. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b70b82580248b5393241c986082842ec05a2b7d7 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Wed Mar 25 15:38:31 2015 +0100 HID: add quirk for PIXART OEM mouse used by HP This mouse is also known under other IDs. It needs the quirk or will disconnect in runlevel 1 or 3. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7a8e53c414c8183e8735e3b08d9a776200e6e665 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Wed Mar 25 15:13:36 2015 +0100 HID: add HP OEM mouse to quirk ALWAYS_POLL This mouse needs QUIRK_ALWAYS_POLL. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b229a0f840f774d29d8fedbf5deb344ca36b7f1a Author: Doug Goldstein <cardoe@xxxxxxxxxx> Date: Mon Mar 23 20:34:48 2015 -0500 USB: ftdi_sio: Use jtag quirk for SNAP Connect E10 This patch uses the existing CALAO Systems ftdi_8u2232c_probe in order to avoid attaching a TTY to the JTAG port as this board is based on the CALAO Systems reference design and needs the same fix up. Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx> CC: stable <stable@xxxxxxxxxxxxxxx> [johan: clean up probe logic ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit d82d54af7b14092dc5934a8ce09170789c9ddb57 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Thu Mar 12 13:04:16 2015 +0900 kobject: WARN as tip when call kobject_get() to a kobject not initialized call kobject_get() to kojbect that is not initalized or released will only leave following like call trace to us: -----------[ cut here ]------------ [ 54.545816] WARNING: CPU: 0 PID: 213 at include/linux/kref.h:47 kobject_get+0x41/0x50() [ 54.642595] Modules linked in: i2c_i801(+) mfd_core shpchp(+) acpi_cpufreq(+) edac_core ioatdma(+) xfs libcrc32c ast syscopyarea ixgbe sysfillrect sysimgblt sr_mod sd_mod drm_kms_helper igb mdio cdrom e1000e ahci dca ttm libahci uas drm i2c_algo_bit ptp megaraid_sas libata usb_storage i2c_core pps_core dm_mirror dm_region_hash dm_log dm_mod [ 55.007264] CPU: 0 PID: 213 Comm: kworker/0:2 Not tainted 3.18.5 [ 55.099970] Hardware name: Oracle Corporation SUN FIRE X4170 M2 SERVER /ASSY,MOTHERBOARD,X4170, BIOS 08120104 05/08/2012 [ 55.239736] Workqueue: kacpi_notify acpi_os_execute_deferred [ 55.308598] 0000000000000000 00000000bd730b61 ffff88046742baf8 ffffffff816b7edb [ 55.398305] 0000000000000000 0000000000000000 ffff88046742bb38 ffffffff81078ae1 [ 55.488040] ffff88046742bbd8 ffff8806706b3000 0000000000000292 0000000000000000 [ 55.577776] Call Trace: [ 55.608228] [<ffffffff816b7edb>] dump_stack+0x46/0x58 [ 55.670895] [<ffffffff81078ae1>] warn_slowpath_common+0x81/0xa0 [ 55.743952] [<ffffffff81078bfa>] warn_slowpath_null+0x1a/0x20 [ 55.814929] [<ffffffff8130d0d1>] kobject_get+0x41/0x50 [ 55.878654] [<ffffffff8153e955>] cpufreq_cpu_get+0x75/0xc0 [ 55.946528] [<ffffffff8153f37e>] cpufreq_update_policy+0x2e/0x1f0 The above issue was casued by a race condition, if there is a WARN in kobject_get() of the kobject is not initialized, that would save us much time to debug it. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a267d3b22f56bf5ba379c20604fd28409119698 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:47 2015 -0800 i8k: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bea2b592fd18eb8ffa3fc4ad380610632d03a38f Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 11:12:21 2015 +0100 lib/lz4: Pull out constant tables There's no reason to allocate the dec{32,64}table on the stack; it just wastes a bunch of instructions setting them up and, of course, also consumes quite a bit of stack. Using size_t for such small integers is a little excessive. $ scripts/bloat-o-meter /tmp/built-in.o lib/built-in.o add/remove: 2/2 grow/shrink: 2/0 up/down: 1304/-1548 (-244) function old new delta lz4_decompress_unknownoutputsize 55 718 +663 lz4_decompress 55 632 +577 dec64table - 32 +32 dec32table - 32 +32 lz4_uncompress 747 - -747 lz4_uncompress_unknownoutputsize 801 - -801 The now inlined lz4_uncompress functions used to have a stack footprint of 176 bytes (according to -fstack-usage); their inlinees have increased their stack use from 32 bytes to 48 and 80 bytes, respectively. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7085a7401ba54e92bbb5aa24d6f428071e18e509 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Feb 18 17:12:18 2015 +0100 drivers: platform: parse IRQ flags from resources This fixes a regression from the net subsystem: After commit d52fdbb735c36a209f36a628d40ca9185b349ba7 "smc91x: retrieve IRQ and trigger flags in a modern way" a regression would appear on some legacy platforms such as the ARM PXA Zylonite that specify IRQ resources like this: static struct resource r = { .start = X, .end = X, .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, }; The previous code would retrieve the resource and parse the high edge setting in the SMC91x driver, a use pattern that means every driver specifying an IRQ flag from a static resource need to parse resource flags and apply them at runtime. As we switched the code to use IRQ descriptors to retrieve the the trigger type like this: irqd_get_trigger_type(irq_get_irq_data(...)); the code would work for new platforms using e.g. device tree as the backing irq descriptor would have its flags properly set, whereas this kind of oldstyle static resources at no point assign the trigger flags to the corresponding IRQ descriptor. To make the behaviour identical on modern device tree and legacy static platform data platforms, modify platform_get_irq() to assign the trigger flags to the irq descriptor when a client looks up an IRQ from static resources. Fixes: d52fdbb735c3 ("smc91x: retrieve IRQ and trigger flags in a modern way") Tested-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13fcffbbdec4e4863a9a9c7792b821cd6d363a8f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Mar 10 11:55:49 2015 +0000 driver core: Make probe deferral more quiet Currently probe deferral prints a message every time a device requests deferral at info severity (which is displayed by default). This can have an impact on system boot times with serial consoles and is generally quite noisy. Since subsystems and drivers should already be logging the specific reason for probe deferral in order to aid users in understanding problems the messages from the driver core should be redundant lower the severity of the messages printed, cutting down on the volume of output on the console. This does mean that if the drivers and subsystems aren't doing a good job we get no output on the console by default. Ideally we'd be able to arrange to print if nothing else printed, though that's a little fun. Even better would be to come up with a mechanism that explicitly does dependencies so we don't have to keep polling and erroring. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5590f3196b293574a12be58d06d5e1120d8856ec Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 11:25:18 2015 +1100 drivers/core/of: Add symlink to device-tree from devices with an OF node So I've been annoyed lately with having a bunch of devices such as i2c eeproms (for use by VPDs, server world !) and other bits and pieces that I want to be able to identify from userspace, and possibly provide additional data about from FW. Basically, it boils down to correlating the sysfs device with the OF tree device node, so that user space can use device-tree info such as additional "location" or "label" (or whatever else we can come up with) propreties to identify a given device, or get some attributes of use about it, etc... Now, so far, we've done that in some subsystem in a fairly ad-hoc basis using "devspec" properties. For example, PCI creates them if it can correlate the probed device with a DT node. Some powerpc specific busses do that too. However, i2c doesn't and it would be nice to have something more generic since technically any device can have a corresponding device tree node. This patch adds an "of_node" symlink to devices that have a non-NULL dev->of_node pointer, the patch is pretty trivial and seems to work just fine for me. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8a51e1b51ee5730ad3913f3962e3099a5e19359 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Tue Feb 17 19:03:41 2015 -0600 device: Add dev_of_node() accessor Suggested by Arnd Bergmann, this gives a practical accessor for the of_node field of struct device while instructing the compiler that it will be NULL if CONFIG_OF is not set. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef518cc8aa4427043efe21cb2f0799be9cb1d74d Author: Zahari Doychev <zahari.doychev@xxxxxxxxx> Date: Tue Mar 10 10:45:40 2015 +0100 drivers: base: fw: fix ret value when loading fw When using the user mode helper to load firmwares the function _request_firmware gets a positive return value from fw_load_from_user_helper and because of this the firmware buffer is not assigned. This happens only when the return value is zero. This patch fixes this problem in _request_firmware_load. When the completion is ready the return value is set to zero. Signed-off-by: Zahari Doychev <zahari.doychev@xxxxxxxxx> Cc: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46239902ecddd4690b6d800da258d0ab65a5cb78 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 15:18:07 2015 +0100 firmware: Avoid manual device_create_file() calls Use the static attribute groups assigned to the device instead of manual device_create_file() & co calls. It simplifies the code and can avoid possible races, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a7d95f95c95f396decbd4cda6d4903fc4664946 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Tue Mar 17 17:28:46 2015 +0000 drivers/base: cacheinfo: validate device node for all the caches On architectures that depend on DT for obtaining cache hierarcy, we need to validate the device node for all the cache indices, failing to do so might result in wrong information being exposed to the userspace. This is quite possible on initial/incomplete versions of the device trees. In such cases, it's better to bail out if all the required device nodes are not present. This patch adds checks for the validation of device node for all the caches and doesn't initialise the cacheinfo if there's any error. Reported-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # 4.0 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2071b9502dadffd22ac1bc31c68728e2783ec3ac Author: Lavinia Tache <lavinia.tachee@xxxxxxxxx> Date: Sun Mar 8 22:33:44 2015 +0200 drivers/base: use tabs where possible in code indentation Linux kernel coding style require that tabs should be used instead of spaces for code indentation. Problem found using checkpatch.pl script. Signed-off-by: Lavinia Tache <lavinia.tachee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74642c6cd088e124c3cccbd5cb2f54984d6d4e1a Author: Lavinia Tache <lavinia.tachee@xxxxxxxxx> Date: Sun Mar 8 12:48:55 2015 +0200 driver core: add missing blank line after declaration Found using checkpatch.pl Signed-off-by: Lavinia Tache <lavinia.tachee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 518d3f38abb8cc3a5125e71a1d23a366c69e2e49 Author: Ana Nedelcu <anafnedelcu@xxxxxxxxx> Date: Sun Mar 8 12:48:48 2015 +0200 drivers: base: node: Delete space after pointer declaration This patch fixes the following error found by checkpatch.pl: ERROR: "foo * bar" should be "foo *bar" Signed-off-by: Ana Nedelcu <anafnedelcu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2aeebca2f3586755802689e12ba87140d803d88a Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Mar 8 12:48:35 2015 +0200 drivers: base: memory: Use tabs instead of spaces This patch changes spaces to tabs. Found using checkpatch.pl Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea31003ccb2d684916cb7ebc079437ae85425a6d Author: Andrei Oprea <andrei.br92@xxxxxxxxx> Date: Sun Mar 8 12:41:15 2015 +0200 firmware_class: Fix whitespace and indentation Fix checkpatch.pl issues with coding style. Removed whitespace and fixed indentation Signed-off-by: Andrei Oprea <andrei.br92@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d42d79e640fd1cd8fd97d11c8693f8907fc4eac Author: Marius Cristian Eseanu <eseanu.cristian@xxxxxxxxx> Date: Sun Mar 8 12:34:14 2015 +0200 drivers: base: dma-mapping: Erase blank space after pointer This patch fixes the following checkpatch.pl error: ERROR: "foo * bar" should be "foo *bar" Signed-off-by: Marius Cristian Eseanu <eseanu.cristian@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d34898de9a43bf79b274c8c6a43bf2f6f76dac05 Author: Cosmin Tomulescu <cosmintom@xxxxxxxxx> Date: Sun Mar 8 12:31:54 2015 +0200 drivers: base: class: Add a blank line after declarations This patch fixes the following warning found by checkpatch.pl: WARNING: Missing a black line after declarations Signed-off-by: Cosmin Tomulescu <cosmintom@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 481026dbe88bd42cae88ade3289f26d16e5168aa Author: Cosmin Dragomir <cosmin.gabriel.dragomir@xxxxxxxxx> Date: Sun Mar 8 12:30:14 2015 +0200 attribute_container: fix missing blank lines after declarations Found with checkpatch.pl Signed-off-by: Cosmin Dragomir <cosmin.gabriel.dragomir@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d3af6afa9985ca30d9ee8f48897eb71f9c1583f Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Mar 8 12:29:04 2015 +0200 drivers: base: memory: Fix switch indent Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e4fabec5e79d9fb8b75e4afda192ed3d6486f86 Author: Andrei Poenaru <andreigpoenaru@xxxxxxxxx> Date: Sun Mar 8 12:29:02 2015 +0200 drivers: base: map: Use kmalloc_array instead of kmalloc Reported by checkpatch.pl While at it, removed blank line between function call and error checking. Signed-off-by: Andrei Poenaru <andreigpoenaru@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7036cd46c8239a520abf69720de9a8538a9011d5 Author: Florin Papa <florin.papa192@xxxxxxxxx> Date: Sun Mar 8 12:24:05 2015 +0200 Driver core: Fix missing whitespace in function argument Found this using checkpatch.pl. Signed-off-by: Florin Papa <florin.papa192@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9a16d3ab8770357015c85a07387f1d2676a4773 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Thu Mar 12 16:58:34 2015 +1100 trace: Don't use __weak in header files The commit that added a check for this to checkpatch says: "Using weak declarations can have unintended link defects. The __weak on the declaration causes non-weak definitions to become weak." In this case, when a PowerPC kernel is built with CONFIG_KPROBE_EVENT but not CONFIG_UPROBE_EVENT, it generates the following warning: WARNING: 1 bad relocations c0000000014f2190 R_PPC64_ADDR64 uprobes_fetch_type_table This is fixed by passing the fetch_table arrays to traceprobe_parse_probe_arg() which also means that they can never be NULL. Link: http://lkml.kernel.org/r/20150312165834.4482cb48@xxxxxxxxxxxxxxxx Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 754cb0071a5c9576ccfa6523969ef6a2f6a71676 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Tue Mar 3 15:21:33 2015 +0800 tracing: remove ftrace:function TRACE_EVENT_FL_USE_CALL_FILTER flag TRACE_EVENT_FL_USE_CALL_FILTER flag in ftrace:functon event can be removed. This flag was first introduced in commit f306cc82a93d ("tracing: Update event filters for multibuffer"). Now, the only place uses this flag is ftrace:function, but the filter of ftrace:function has a different code path with events/syscalls and events/tracepoints. It uses ftrace_filter_write() and perf's ftrace_profile_set_filter() to set the filter, the functionality of file 'tracing/events/ftrace/function/filter' is bypassed in function init_pred(), in which case, neither call->filter nor file->filter is used. So we can safely remove TRACE_EVENT_FL_USE_CALL_FILTER flag from ftrace:function events. Link: http://lkml.kernel.org/r/1425367294-27852-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit bbedb179944c29e5e449603163eec9951116fe39 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 11 22:13:57 2015 -0500 tracing: %pF is only for function pointers Use %pS for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pF expects a function descriptor. Link: http://lkml.kernel.org/r/1426130037-17956-22-git-send-email-scottwood@xxxxxxxxxxxxx Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 80a9b64e2c156b6523e7a01f2ba6e5d86e722814 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Tue Mar 17 10:40:38 2015 -0400 ring-buffer: Replace this_cpu_*() with __this_cpu_*() It has come to my attention that this_cpu_read/write are horrible on architectures other than x86. Worse yet, they actually disable preemption or interrupts! This caused some unexpected tracing results on ARM. 101.356868: preempt_count_add <-ring_buffer_lock_reserve 101.356870: preempt_count_sub <-ring_buffer_lock_reserve The ring_buffer_lock_reserve has recursion protection that requires accessing a per cpu variable. But since preempt_disable() is traced, it too got traced while accessing the variable that is suppose to prevent recursion like this. The generic version of this_cpu_read() and write() are: #define this_cpu_generic_read(pcp) \ ({ typeof(pcp) ret__; \ preempt_disable(); \ ret__ = *this_cpu_ptr(&(pcp)); \ preempt_enable(); \ ret__; \ }) #define this_cpu_generic_to_op(pcp, val, op) \ do { \ unsigned long flags; \ raw_local_irq_save(flags); \ *__this_cpu_ptr(&(pcp)) op val; \ raw_local_irq_restore(flags); \ } while (0) Which is unacceptable for locations that know they are within preempt disabled or interrupt disabled locations. Paul McKenney stated that __this_cpu_() versions produce much better code on other architectures than this_cpu_() does, if we know that the call is done in a preempt disabled location. I also changed the recursive_unlock() to use two local variables instead of accessing the per_cpu variable twice. Link: http://lkml.kernel.org/r/20150317114411.GE3589@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150317104038.312e73d1@xxxxxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Acked-by: Christoph Lameter <cl@xxxxxxxxx> Reported-by: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx> Tested-by: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 5f0163a5ee9cc7c59751768bdfd94a73186debba Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 11:48:26 2015 +0100 driver core: Delete an unnecessary check before the function call "put_device" The put_device() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d46a67a3eb827ccf1125959936fd51ba318dabc Author: Lars Persson <lars.persson@xxxxxxxx> Date: Thu Feb 26 14:16:03 2015 +0100 MIPS: Fix race condition in lazy cache flushing. The lazy cache flushing implemented in the MIPS kernel suffers from a race condition that is exposed by do_set_pte() in mm/memory.c. A pre-condition is a file-system that writes to the page from the CPU in its readpage method and then calls flush_dcache_page(). One example is ubifs. Another pre-condition is that the dcache flush is postponed in __flush_dcache_page(). Upon a page fault for an executable mapping not existing in the page-cache, the following will happen: 1. Write to the page 2. flush_dcache_page 3. flush_icache_page 4. set_pte_at 5. update_mmu_cache (commits the flush of a dcache-dirty page) Between steps 4 and 5 another thread can hit the same page and it will encounter a valid pte. Because the data still is in the L1 dcache the CPU will fetch stale data from L2 into the icache and execute garbage. This fix moves the commit of the cache flush to step 3 to close the race window. It also reduces the amount of flushes on non-executable mappings because we never enter __flush_dcache_page() for non-aliasing CPUs. Regressions can occur in drivers that mistakenly relies on the flush_dcache_page() in get_user_pages() for DMA operations. [ralf@xxxxxxxxxxxxxx: Folded in patch 9346 to fix highmem issue.] Signed-off-by: Lars Persson <larper@xxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: paul.burton@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9346/ Patchwork: https://patchwork.linux-mips.org/patch/9738/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5b9593f3bccb9904f260f9ad7f184e1d2921bd1e Author: Lars Persson <lars.persson@xxxxxxxx> Date: Thu Feb 26 14:16:02 2015 +0100 Revert "MIPS: Remove race window in page fault handling" Revert commit 2a4a8b1e5d9d ("MIPS: Remove race window in page fault handling") because it increased the number of flushed dcache pages and became a performance problem for some workloads. Signed-off-by: Lars Persson <larper@xxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: paul.burton@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9345/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9a49899eb88803dcc0ef437f09912f9a7b7a66fd Author: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 14:02:21 2015 +0300 MIPS: OCTEON: Use correct CSR to soft reset Also delete unused cvmx_reset_octeon() This fixes reboot for Octeon III boards Signed-off-by: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: David Daney <david.daney@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9471/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a8667d706dfa394ef9fe5f9013dee92d40a096e8 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Wed Mar 4 23:08:49 2015 +0200 MIPS: OCTEON: dma-octeon: fix OHCI USB config check CONFIG_USB_OCTEON_OHCI is deprecated and no longer needed to use OHCI on OCTEON II. Instead, CONFIG_USB_OHCI_HCD_PLATFORM should be used. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9421/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0add9c2f1cff9f3f1f2eb7e9babefa872a9d14b9 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Thu Mar 12 11:51:06 2015 +0800 MIPS: Loongson-3: Add IRQF_NO_SUSPEND to Cascade irqaction HPET irq is routed to i8259 and then to MIPS CPU irq (cascade). After commit a3e6c1eff5 (MIPS: IRQ: Fix disable_irq on CPU IRQs), if without IRQF_NO_SUSPEND in cascade_irqaction, HPET interrupts will lost during suspend. The result is machine cannot be waken up. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9528/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2ec459f2a77b808c1e5a3616c88b613d3f720c8d Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Thu Mar 12 17:00:58 2015 +0100 MIPS: BCM63xx: Move bcm63xx_gpio_init() to bcm63xx_register_devices(). When called from prom init code, bcm63xx_gpio_init() will fail as it will call gpiochip_add() which relies on a working kmalloc() to alloc the gpio_desc array and kmalloc is not useable yet at prom init time. Move bcm63xx_gpio_init() to bcm63xx_register_devices() (an arch_initcall) where kmalloc works. Fixes: 14e85c0e69d5 ("gpio: remove gpio_descs global array") Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9530/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7ca7ec40f42a13c6966fb3a5d8713e895d58c728 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 13:47:17 2015 +0100 drivers/base/node: clean up attribute group conversion We can use the ATTRIBUTE_GROUPS() macro here, so use it, saving some lines of code. Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx commit e6beaa363d56d7fc2f8cd6f7291e4d93911a428a Author: Tom(JeHyeon) Yeon <tom.yeon@xxxxxxxxxxxxx> Date: Wed Mar 18 14:03:30 2015 +0900 locking/rtmutex: Rename argument in the rt_mutex_adjust_prio_chain() documentation as well The following commit changed "deadlock_detect" to "chwalk": 8930ed80f970 ("rtmutex: Cleanup deadlock detector debug logic") do that rename in the function's documentation as well. Signed-off-by: Tom(JeHyeon) Yeon <tom.yeon@xxxxxxxxxxxxx> Cc: peterz@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1426655010-31651-1-git-send-email-tom.yeon@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3c9b8aaf95bb4de3d8ac9fd83d4aca2c97bd9f2a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Jan 29 12:29:22 2015 +0100 drivers/base/node: Avoid manual device_create_file() calls Instead of manual calls of multiple device_create_file() and device_remove_file(), use the static attribute groups assigned to the new device. This also fixes the possible races, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07afb6ace3bde4ffdce26befa6b2f38c5d708dd0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 13:41:42 2015 +0100 samples/kobject: be explicit in the module license Rusty pointed out that the module license should be "GPL v2" to properly match the notice at the top of the files, so make that change. Reported-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5fd637e7a75fb2a4c0b62683c08dae959160fedf Author: Rastislav Barlik <barlik@xxxxxxxx> Date: Wed Dec 17 21:14:48 2014 +0100 samples/kobject: Use kstrtoint instead of sscanf Use kstrtoint function instead of sscanf and check for return values. Signed-off-by: Rastislav Barlik <barlik@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c34203a1496d1849ba978021b878b3447d433c8 Author: Junjie Mao <junjie_mao@xxxxxxxx> Date: Wed Jan 28 10:02:44 2015 +0800 driver core: bus: Goto appropriate labels on failure in bus_add_device It is not necessary to call device_remove_groups() when device_add_groups() fails. The group added by device_add_groups() should be removed if sysfs_create_link() fails. Fixes: fa6fdb33b486 ("driver core: bus_type: add dev_groups") Signed-off-by: Junjie Mao <junjie_mao@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb2b40754ff4b2fffd8015ac96c45269cb54ee79 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 22:14:41 2015 +0300 driver core: use *switch* statement in really_probe() There are series of comparisons of the 'ret' variable on the failure path of really_probe(), so the *switch* statement seems more appropriate there. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba61af6f3e4766c76aec0b5e7f2bb8277e1acdd0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 12 09:58:28 2015 -0400 sysfs: Document struct attribute_group Document variables defined in struct attribute_group to ensure correct usage. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8bf8c92e80fed9119eb222c7e5cc88acf57c12c Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 09:58:27 2015 -0400 sysfs: Only accept read/write permissions for file attributes For sysfs file attributes, only read and write permissions make sense. Mask provided attribute permissions accordingly and send a warning to the console if invalid permission bits are set. This patch is originally from Guenter [1] and includes the fixup explained in the thread, that is printing permissions in octal format and limiting the scope of attributes to SYSFS_PREALLOC | 0664. [1] https://lkml.org/lkml/2015/1/19/599 Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da4759c73b0f1aac79f37bdb39ad2124439c30e7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 12 09:58:26 2015 -0400 sysfs: Use only return value from is_visible for the file mode Up to now, is_visible can only be used to either remove visibility of a file entirely or to add permissions, but not to reduce permissions. This makes it impossible, for example, to use DEVICE_ATTR_RW to define file attributes and reduce permissions to read-only. This behavior is undesirable and unnecessarily complicates code which needs to reduce permissions; instead of just returning the desired permissions, it has to ensure that the permissions in the attribute variable declaration only reflect the minimal permissions ever needed. Change semantics of is_visible to only use the permissions returned from it instead of oring the returned value with the hard-coded permissions. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06ab9c1ba6a19977432b6906b0eee84804212dc6 Merge: 72d64cc b3494a4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 21:14:07 2015 +0100 Merge branch 'x86/urgent' into x86/asm, to resolve conflict Conflicts: arch/x86/kernel/entry_64.S Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cea405b172e3b1fd2cf9da5ec05c7d808d6af03d Author: Xihan Zhang <xihan.zhang@xxxxxxx> Date: Tue Mar 17 19:32:53 2015 +0800 drm/amdkfd: Add multiple kgd support The current code can only support one kgd instance. We have to support multiple kgd instances in one system. i.e two amdgpu or two radeon or one amdgpu + one radeon or more than two kgd instances. Signed-off-by: Xihan Zhang <xihan.zhang@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> commit affa7d86441a9fe1ddd67f4ed551ed41313da561 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Thu Mar 12 10:23:40 2015 -0700 drm/amdkfd: Convert timestamping to use 64bit time accessors Convert the timestamping in the amdkfd driver to use a timespec64 and 64bit time accessors. Although the existing code is completely safe beyond y2038 because it deals with monotonic time, this patch is still needed in order to kill off all uses of struct timespec. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> commit 94a1ee09235d404190ff82400a24595b6b2af771 Author: Oded Gabbay <oded.gabbay@xxxxxxx> Date: Tue Feb 24 10:51:59 2015 +0200 drm/amdkfd: add debug prints for process teardown Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 0d9200874c6cc9b3887f3474bbba638e43d696d0 Author: Oded Gabbay <oded.gabbay@xxxxxxx> Date: Wed Feb 25 14:15:24 2015 +0200 drm/amdkfd: Remove unused field from struct qcm_process_device Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> Reviewed-by: Ben Goz <ben.goz@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a9243ede5d5797bacb846a09169aa0a514439fe9 Author: Oded Gabbay <oded.gabbay@xxxxxxx> Date: Thu Feb 26 21:24:44 2015 +0200 drm/amdkfd: rename fence_wait_timeout fence_wait_timeout() is an exported kernel symbol, so we should rename our local function to something different. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fccb9a81fd08b61bed91ddef88341694f8ecbfd1 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 22:02:45 2015 +0800 ARM64 / ACPI: Parse MADT for SMP initialization MADT contains the information for MPIDR which is essential for SMP initialization, parse the GIC cpu interface structures to get the MPIDR value and map it to cpu_logical_map(), and add enabled cpu with valid MPIDR into cpu_possible_map. ACPI 5.1 only has two explicit methods to boot up SMP, PSCI and Parking protocol, but the Parking protocol is only specified for ARMv7 now, so make PSCI as the only way for the SMP boot protocol before some updates for the ACPI spec or the Parking protocol spec. Parking protocol patches for SMP boot will be sent to upstream when the new version of Parking protocol is ready. CC: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4c1c8d7a7ebc8b909493a14b21b233e5377b69aa Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:44 2015 +0000 ACPI / table: Print GIC information when MADT is parsed When MADT is parsed, print GIC information as debug message: ACPI: GICC (acpi_id[0x0000] address[00000000e112f000] MPIDR[0x0] enabled) ACPI: GICC (acpi_id[0x0001] address[00000000e112f000] MPIDR[0x1] enabled) ... ACPI: GICC (acpi_id[0x0201] address[00000000e112f000] MPIDR[0x201] enabled) This debug information will be very helpful to bring up early systems to see if acpi_id and MPIDR are matched or not as spec defined. CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 7c59a3df15df29c8402a05b92385e83e55355778 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:43 2015 +0000 ARM64 / ACPI: Get PSCI flags in FADT for PSCI init There are two flags: PSCI_COMPLIANT and PSCI_USE_HVC. When set, the former signals to the OS that the firmware is PSCI compliant. The latter selects the appropriate conduit for PSCI calls by toggling between Hypervisor Calls (HVC) and Secure Monitor Calls (SMC). FADT table contains such information in ACPI 5.1, FADT table was parsed in ACPI table init and copy to struct acpi_gbl_FADT, so use the flags in struct acpi_gbl_FADT for PSCI init. Since ACPI 5.1 doesn't support self defined PSCI function IDs, which means that only PSCI 0.2+ is supported in ACPI. CC: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3505f30fb6a980283116390e9a962d60cf8e2a57 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:42 2015 +0000 ARM64 / ACPI: If we chose to boot from acpi then disable FDT If the early boot methods of acpi are happy that we have valid ACPI tables and acpi=force has been passed, then do not unflat devicetree effectively disabling further hardware probing from DT. CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b10d79f76085b577673395daf92d6208ae09196f Author: Al Stone <al.stone@xxxxxxxxxx> Date: Tue Mar 24 14:02:41 2015 +0000 ARM64 / ACPI: Introduce early_param "acpi=" to enable/disable ACPI This implements the following policy to decide whether ACPI should be used to boot the system: - acpi=off: ACPI will not be used to boot the system, even if there is no alternative available (e.g., device tree is empty) - acpi=force: only ACPI will be used to boot the system; if that fails, there will be no fallback to alternative methods (such as device tree) - otherwise, ACPI will be used as a fallback if the device tree turns out to lack a platform description; the heuristic to decide this is whether /chosen is the only node present at depth 1 CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a9cb97fe71d84df103994861f00112fe2cba91be Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:40 2015 +0000 ARM64 / ACPI: Introduce PCI stub functions for ACPI CONFIG_ACPI depends CONFIG_PCI on x86 and ia64, in ARM64 server world we will have PCIe in most cases, but some of them may not, make CONFIG_ACPI depend CONFIG_PCI on ARM64 will satisfy both. With that case, we need some arch dependent PCI functions to access the config space before the PCI root bridge is created, and pci_acpi_scan_root() to create the PCI root bus. So introduce some stub function here to make ACPI core compile and revisit them later when implemented on ARM64. CC: Liviu Dudau <Liviu.Dudau@xxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6e0a0ea12962a2175a9f47621f9fe7a4c866cb12 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:39 2015 +0000 ACPI / sleep: Introduce CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT ACPI 5.1 does not currently support S states for ARM64 hardware but ACPI code will call acpi_target_system_state() and acpi_sleep_init() for device power management, so introduce CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT and select it for x86 and ia64 only to make sleep functions available, and also introduce stub function to allow other drivers to function until S states are defined for ARM64. It will be no functional change for x86 and IA64. Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 652261a7a86c884147930fa1e5ddd82a8a5748da Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Mar 24 14:02:38 2015 +0000 ACPI: fix acpi_os_ioremap for arm64 The acpi_os_ioremap() function may be used to map normal RAM or IO regions. The current implementation simply uses ioremap_cache(). This will work for some architectures, but arm64 ioremap_cache() cannot be used to map IO regions which don't support caching. So for arm64, use ioremap() for non-RAM regions. CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 37655163ce1a3ef2635a9bba0ad614f25e01484e Author: Al Stone <al.stone@xxxxxxxxxx> Date: Tue Mar 24 14:02:37 2015 +0000 ARM64 / ACPI: Get RSDP and ACPI boot-time tables As we want to get ACPI tables to parse and then use the information for system initialization, we should get the RSDP (Root System Description Pointer) first, it then locates Extended Root Description Table (XSDT) which contains all the 64-bit physical address that pointer to other boot-time tables. Introduce acpi.c and its related head file in this patch to provide fundamental needs of extern variables and functions for ACPI core, and then get boot-time tables as needed. - asm/acenv.h for arch specific ACPICA environments and implementation, It is needed unconditionally by ACPI core; - asm/acpi.h for arch specific variables and functions needed by ACPI driver core; - acpi.c for ARM64 related ACPI implementation for ACPI driver core; acpi_boot_table_init() is introduced to get RSDP and boot-time tables, it will be called in setup_arch() before paging_init(), so we should use eary_memremap() mechanism here to get the RSDP and all the table pointers. FADT Major.Minor version was introduced in ACPI 5.1, it is the same as ACPI version. In ACPI 5.1, some major gaps are fixed for ARM, such as updates in MADT table for GIC and SMP init, without those updates, we can not get the MPIDR for SMP init, and GICv2/3 related init information, so we can't boot arm64 ACPI properly with table versions predating 5.1. If firmware provides ACPI tables with ACPI version less than 5.1, OS has no way to retrieve the configuration data that is necessary to init SMP boot protocol and the GIC properly, so disable ACPI if we get an FADT table with version less that 5.1 when acpi_boot_table_init() called. CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> CC: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b2cedba09dd7034c144c03eadc09ee1e4d791590 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Mar 24 14:02:36 2015 +0000 ARM64: allow late use of early_ioremap Commit 0e63ea48b4d8 (arm64/efi: add missing call to early_ioremap_reset()) added a missing call to early_ioremap_reset(). This triggers a BUG if code tries using early_ioremap() after the early_ioremap_reset(). This is a problem for some ACPI code which needs short-lived temporary mappings after paging_init() but before acpi_early_init() in start_kernel(). This patch adds definitions for the __late_set_fixmap() and __late_clear_fixmap() which avoids the BUG by allowing later use of early_ioremap(). CC: Leif Lindholm <leif.lindholm@xxxxxxxxxx> CC: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit aafc65c731fe2e6020850cd87ba69e96aaf38649 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:35 2015 +0000 ACPI: add arm64 to the platforms that use ioremap Now with the base changes to the arm memory mapping it is safe to convert to using ioremap to map in the tables after acpi_gbl_permanent_mmap is set. CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 07f438df22886432ff50772446768f65fbbf3ee0 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:34 2015 +0000 ACPI / table: Use pr_debug() instead of pr_info() for MADT table scanning For a normal 8 cpu sockets system, it will up to 240 cpu threads (Xeon E7 v2 family for now), and we need 240 entries for local apic or local x2apic in MADT table, so it will be much verbose information printed with a slow uart console when system booted, this will be even worse with large system with 16/32 cpu sockets. This patch just use pr_debug() instead of pr_info() for ioapic/iosapic, local apic/x2apic/sapic structures when scanning the MADT table to remove those verbose information, but leave other structures unchanged. CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 24deabf1b29a72ec7cb8e4f5e8151d60f0066467 Merge: 0c20856 12eb3e8 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Mar 25 11:44:29 2015 +0000 Merge branch 'aarch64/kvm-bounce-page' into aarch64/for-next/core linux-next testing found a bug with the PROVIDE keyword and older versions of binutils, so Ard has fixed that here. commit 12eb3e833961bfe532b763a6e4e817ec87f48bc7 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 24 17:48:07 2015 +0000 ARM: kvm: assert on HYP section boundaries not actual code size Using ASSERT() with an expression that involves a symbol that is only supplied through a PROVIDE() definition in the linker script itself is apparently not supported by some older versions of binutils. So instead, rewrite the expression so that only the section boundaries __hyp_idmap_text_start and __hyp_idmap_text_end are used. Note that this reverts the fix in 06f75a1f6200 ("ARM, arm64: kvm: get rid of the bounce page") for the ASSERT() being triggered erroneously when unrelated linker emitted veneers happen to end up in the HYP idmap region. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0a56c0e1e7ad4dc3721e96c499f3074cb6867cfe Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:29 2015 +0100 w1: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d8beff2ae07fad85d723b4cdf704b05f0ed4794 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:54:38 2015 +0100 uio: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 993c592d745c467d83e753c9e8f4e9f952381478 Merge: bc465aa 9a309d6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Mar 25 12:22:37 2015 +0100 Merge branch 'cpuidle/4.1' of http://git.linaro.org/people/daniel.lezcano/linux into pm-cpuidle Pull ARM cpuidle changes for v4.1 from Daniel Lezcano. * 'cpuidle/4.1' of http://git.linaro.org/people/daniel.lezcano/linux: ARM: cpuidle: Document the code ARM: cpuidle: Register per cpuidle device ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64 ARM64: cpuidle: Remove arm64 reference ARM64: cpuidle: Rename cpu_init_idle to a common function name ARM64: cpuidle: Replace cpu_suspend by the common ARM/ARM64 function ARM: cpuidle: Add a cpuidle ops structure to be used for DT ARM: cpuidle: Remove duplicate header inclusion commit 14d14a5d2957a4a047b4dbabb6d5ef28a7a70b33 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 08:09:56 2015 +0000 netfilter: nft_meta: use raw_smp_processor_id() Using smp_processor_id() triggers warnings with PREEMPT_RCU. There is no point in disabling preemption since we only collect the numeric value, so use raw_smp_processor_id() instead. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d95797252a9d967d462d9581fb72546d6a92e14b Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 08:09:55 2015 +0000 netfilter: nf_tables: nft_queue does not depend on x_tables Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit fce1528ef619bf55bf5e5bca8acaa8a37f0d4202 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Mar 24 10:55:38 2015 +0100 netfilter: nf_tables: restore nf_log_trace() in nf_tables_core.c As described by 4017a7e ("netfilter: restore rule tracing via nfnetlink_log"), this accidentally slipped through during conflict resolution in d5c1d8c. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a81b2ce8508b9c57c2eae0b0ab7fc8a5e849a4b4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 23 11:50:10 2015 -0700 netfilter: Use LOGLEVEL_<FOO> defines Use the #defines where appropriate. Miscellanea: Add explicit #include <linux/kernel.h> where it was not previously used so that these #defines are a bit more explicitly defined instead of indirectly included via: module.h->moduleparam.h->kernel.h Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5ebb335dcbe63470c88c4f80f2d571089543b638 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Mar 21 15:19:15 2015 +0000 netfilter: nf_tables: move struct net pointer to base chain The network namespace is only needed for base chains to get at the gencursor. Also convert to possible_net_t. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2c2b913d19e149bf7c4ae5f62634fc3b46a06306 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Wed Mar 4 09:32:32 2015 +0100 irqf_oneshot.cocci: add check of devm_request_threaded_irq() Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. Until now, this coccinelle script only checked request_threaded_irq(). However, the counterpart devm function (see kernel/irq/devres.c) is also affected by the missing flag which can be detected with this patch. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 5f5cc81733baf7b67a039a931dae282e53bf97b9 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:30 2015 -0700 Drivers: hv: vmbus: Fix a siganlling host signalling issue Handle the case when the write to the ringbuffer fails. In this case, unconditionally signal the host. Since we may have deferred signalling the host based on the kick_q parameter, signalling the host unconditionally in this case deals with the issue. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3a19b36ad7450d4c8caeb7d9f623af3da32a578 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:29 2015 -0700 Drivers: hv: vmbus: Export the vmbus_sendpacket_pagebuffer_ctl() Export the vmbus_sendpacket_pagebuffer_ctl() interface. This export will be used by the netvsc driver. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ce50e9491c5c92baf8bb7af85eb25398d3f70af Author: Vaughan Cao <vaughan.cao@xxxxxxxxxx> Date: Wed Mar 18 12:29:28 2015 -0700 hv: hypervvssd: call endmntent before call setmntent again If freeze fails, vss_operate will re-enter itself to thaw. But it forgets to call endmntent() before it recalls setmntent() again. Signed-off-by: Vaughan Cao <vaughan.cao@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2eddbc9f1a466329c68f3b75e89cfacd2792365 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:27 2015 -0700 Drivers: hv: vmbus: Fix a bug in rescind processing in vmbus_close_internal() When a channel has been rescinded, the close operation is a noop. Restructure the code so we deal with the rescind condition after we properly cleanup the channel. I would like to thank Dexuan Cui <decui@xxxxxxxxxxxxx> for observing this problem. The current code leaks memory when the channel is rescinded. The current char-next branch is broken and this patch fixes the bug. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4affbbb7217e440f80c922b2b304795758d40bb Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:26 2015 -0700 tools: hv: fcopy_daemon: support >2GB files for x86_32 guest Without this patch, hv_fcopy_daemon's hv_copy_data() -> pwrite() will fail for >2GB file offset. The current char-next branch is broken and this patch fixes the bug. Signed-off-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 177757423fde68a6ce773d2b67b468fbd8367bbc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 18 12:29:25 2015 -0700 hv: vmbus: missing curly braces in vmbus_process_offer() The indenting makes it clear that there were curly braces intended here. Fixes: 2dd37cb81580 ('Drivers: hv: vmbus: Handle both rescind and offer messages in the same context') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ef5b6927f14f29cacd78fa1fb861661a5367f13 Author: Nick Meier <nmeier@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:24 2015 -0700 Drivers: hv: vmbus: Correcting truncation error for constant HV_CRASH_CTL_CRASH_NOTIFY HV_CRASH_CTL_CRASH_NOTIFY is a 64 bit number. Depending on the usage context, the value may be truncated. This patch is in response from the following email from Wu Fengguang <fengguang.wu@xxxxxxxxx>: From: Wu Fengguang <fengguang.wu@xxxxxxxxx> Subject: [char-misc:char-misc-testing 25/45] drivers/hv/vmbus_drv.c:67:9: sparse: constant 0x8000000000000000 is so big it is unsigned long tree: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git char-misc-testing head: b3de8e3719e582f3182bb504295e4a8e43c8c96f commit: 96c1d0581d00f7abe033350edb021a9d947d8d81 [25/45] Drivers: hv: vmbus: Add support for VMBus panic notifier handler reproduce: # apt-get install sparse git checkout 96c1d0581d00f7abe033350edb021a9d947d8d81 make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) drivers/hv/vmbus_drv.c:67:9: sparse: constant 0x8000000000000000 is so big it is unsigned long ... Signed-off-by: Nick Meier <nmeier@xxxxxxxxxxxxx> Reported-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5abbbb75d733793b1637441691de95b7665cee85 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Mar 18 12:29:23 2015 -0700 Drivers: hv: hv_balloon: don't lose memory when onlining order is not natural Memory blocks can be onlined in random order. When this order is not natural some memory pages are not onlined because of the redundant check in hv_online_page(). Here is a real world scenario: 1) Host tries to hot-add the following (process_hot_add): pg_start=rg_start=0x48000, pfn_cnt=111616, rg_size=262144 2) This results in adding 4 memory blocks: [ 109.057866] init_memory_mapping: [mem 0x48000000-0x4fffffff] [ 114.102698] init_memory_mapping: [mem 0x50000000-0x57ffffff] [ 119.168039] init_memory_mapping: [mem 0x58000000-0x5fffffff] [ 124.233053] init_memory_mapping: [mem 0x60000000-0x67ffffff] The last one is incomplete but we have special has->covered_end_pfn counter to avoid onlining non-backed frames and hv_bring_pgs_online() function to bring them online later on. 3) Now we have 4 offline memory blocks: /sys/devices/system/memory/memory9-12 $ for f in /sys/devices/system/memory/memory*/state; do echo $f `cat $f`; done | grep -v onlin /sys/devices/system/memory/memory10/state offline /sys/devices/system/memory/memory11/state offline /sys/devices/system/memory/memory12/state offline /sys/devices/system/memory/memory9/state offline 4) We bring them online in non-natural order: $grep MemTotal /proc/meminfo MemTotal: 966348 kB $echo online > /sys/devices/system/memory/memory12/state && grep MemTotal /proc/meminfo MemTotal: 1019596 kB $echo online > /sys/devices/system/memory/memory11/state && grep MemTotal /proc/meminfo MemTotal: 1150668 kB $echo online > /sys/devices/system/memory/memory9/state && grep MemTotal /proc/meminfo MemTotal: 1150668 kB As you can see memory9 block gives us zero additional memory. We can also observe a huge discrepancy between host- and guest-reported memory sizes. The root cause of the issue is the redundant pg >= covered_start_pfn check (and covered_start_pfn advancing) in hv_online_page(). When upper memory block in being onlined before the lower one (memory12 and memory11 in the above case) we advance the covered_start_pfn pointer and all memory9 pages do not pass the check. If the assumption that host always gives us requests in sequential order and pg_start always equals rg_start when the first request for the new HA region is received (that's the case in my testing) is correct than we can get rid of covered_start_pfn and pg >= start_pfn check in hv_online_page() is sufficient. The current char-next branch is broken and this patch fixes the bug. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3f6eb80872becdbce07f7d2670d3f8ae5119752 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Mar 18 12:29:22 2015 -0700 Drivers: hv: hv_balloon: keep locks balanced on add_memory() failure When add_memory() fails the following BUG is observed: [ 743.646107] hv_balloon: hot_add memory failed error is -17 [ 743.679973] [ 743.680930] ===================================== [ 743.680930] [ BUG: bad unlock balance detected! ] [ 743.680930] 3.19.0-rc5_bug1131426+ #552 Not tainted [ 743.680930] ------------------------------------- [ 743.680930] kworker/0:2/255 is trying to release lock (&dm_device.ha_region_mutex) at: [ 743.680930] [<ffffffff81aae5fe>] mutex_unlock+0xe/0x10 [ 743.680930] but there are no more locks to release! This happens as we don't acquire ha_region_mutex and hot_add_req() expects us to as it does unconditional mutex_unlock(). Acquire the lock on the error path. The current char-next branch is broken and this patch fixes the bug. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fde25d25dbd997067058f7d4c2ff31600157e6f2 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:21 2015 -0700 Drivers: hv: vmbus: Perform device register in the per-channel work element This patch is a continuation of the rescind handling cleanup work. We cannot block in the global message handling work context especially if we are blocking waiting for the host to wake us up. I would like to thank Dexuan Cui <decui@xxxxxxxxxxxxx> for observing this problem. The current char-next branch is broken and this patch fixes the bug. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57fe1b263907430a27fabcfde11a144caac9f5cd Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Mar 25 08:05:49 2015 +0100 s390/irq: enforce correct irqclass_sub_desc array size Add a BUILD_BUG_ON() to enforce that irqclass_sub_desc contains the required number of defined interrupt descriptions and won't be filled up with zeros. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 304987e36577e308be483113fa85cef8d1b948d8 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Mar 24 08:10:53 2015 +0100 s390: remove "64" suffix from mem64.S and swsusp_asm64.S Rename two more files which I forgot. Also remove the "asm" from the swsusp_asm64.S file, since the ".S" suffix already makes it obvious that this file contains assembler code. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3be7ae6350c2418efc51aa779a31a6e27c47e046 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 10:36:14 2015 +0100 s390/ipl: cleanup macro usage ipl.c uses 3 different macros to create a sysfs show function for ipl attributes. Define IPL_ATTR_SHOW_FN which is used by all macros. Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0f024379ff8bce40d2387bd7de2dbf0921ab5a5c Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 10:28:46 2015 +0100 s390/ipl: cleanup shutdown_action attributes Use macros wherever applicable and create a shutdown_action attribute group to simplify the code. Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 22d557abf75ce39f8b2264c86058b4bcc7a8f9f0 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 10:25:16 2015 +0100 s390/ipl: cleanup bin attr usage Use macros wherever applicable and put bin_attributes inside attribute_groups to simplify/remove some code. Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9f9d86e1e9ecbb43d0ca41c9c9118f141ab8d93e Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Mar 16 12:59:04 2015 +0100 s390/uprobes: fix address space annotation Remove __user address space annotation for sim_stor_event() calls since it generates false positive warnings from sparse. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2a5e91c3acda515f9faac646777f3e54aa9cf04b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Mar 16 12:46:38 2015 +0100 s390: add missing arch_release_task_struct() declaration Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3ddb1b7578040ef114747e30f277cfea6286c5da Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Mar 16 12:44:10 2015 +0100 s390: make couple of functions and variables static As reported by sparse these can and should be static. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3c1a3bcea945f9d59ab1fe3d319c67c0ff56100f Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Mar 13 13:13:36 2015 +0100 s390/maccess: improve s390_kernel_write() Use the sturg instruction instead of the stura instruction. This allows to modify up to eight bytes in a row instead of only four. For function tracer enabling and disabling this reduces the time needed to modify the text sections by 50%, since for each mcount call site six bytes need to be changed. Also remove the EXTABLE entries, since calls to this function are not supposed to fail. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8a5d8473dd7e2b0bc2864e34bd6836b520589fa1 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Mar 13 12:55:56 2015 +0100 s390/maccess: remove potentially broken probe_kernel_write() Remove the s390 architecture implementation of probe_kernel_write() and instead use a new function s390_kernel_write() to modify kernel text and data everywhere. The s390 implementation of probe_kernel_write() was potentially broken since it modified memory in a read-modify-write fashion, which read four bytes, modified the requested bytes within those four bytes and wrote the result back. If two cpus would modify the same four byte area at different locations within that area, this could lead to corruption. Right now the only places which called probe_kernel_write() did run within stop_machine_run. Therefore the scenario can't happen right now, however that might change at any time. To fix this rename probe_kernel_write() to s390_kernel_write() which can have special semantics, like only call it while running within stop_machine(). Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b2527d2009903a06b0076bb89166c72a0f17823b Author: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 16:26:30 2015 +0800 s390/watchdog: support for KVM hypervisors and delete pr_info messages This patch extends the diag288 watchdog driver to be able to deal with KVM hypervisors. Only z/VM needs special handling, we can use the same interface as on LPAR. Remove all pr_info output to avoid misconception. Because there is no value in these messages and only the pr_err messages make sense. Signed-off-by: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9ec6cb80c8752db70174d3f67d33243fbab05014 Author: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 16:26:29 2015 +0800 s390/watchdog: enable KEEPALIVE for /dev/watchdog There's no reason why we wouldn't want to be able to send a keep alive message to /dev/watchdog (feed dog) for the s390 diag288 watchdog, so let's enable the WDIOF_KEEPALIVEPING option. Signed-off-by: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a5fd8ddce2af98c7f8199d37a0b866e98f4c0de0 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Wed Mar 4 14:29:47 2015 +0100 s390/dasd: remove setting of scheduler from driver Remove the hard coded scheduler for the DASD device driver to enable change of the scheduler during runtime. Set recommended deadline scheduler via additional udev rule. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e1d12d70f7467c3b26cbd0c14139dcddec88448d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Feb 18 14:17:14 2015 +0100 s390/traps: panic() instead of die() on translation exception In case of a translation exception the page tables are corrupted. If the exception handler then calls die() which again calls show_regs() -> show_code() -> copy_from_user(), the kernel may access the same memory location again and generates yet another translation exception. Which in turn will lead to a deadlock on the die_lock spinlock, which the kernel tries to grab recursively. Given that the page tables are corrupted anyway, if we see such an exception, let's simply panic. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 86cd741bc6ed0edf6ea0e8ec5c840cf9e3f3a7cb Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Sat Feb 14 11:23:21 2015 +0100 s390: remove test_facility(2) (== z/Architecture mode active) checks Given that the kernel now always runs in 64 bit mode, it is pointless to check if the z/Architecture mode is active. Remove the checks. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 26f15caaf993bbb6f246a30aad3c96a349564528 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Sat Feb 14 11:10:14 2015 +0100 s390/cmpxchg: simplify cmpxchg_double Since sizeof(long) == 4 is always false now, simplify cmpxchg_double a bit. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a876cb3f6b2d3eb9e857d06caa9ed4c911ea0bd3 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Feb 13 14:44:29 2015 +0100 s390: remove 31 bit syscalls Remove the 31 bit syscalls from the syscall table. This is a separate patch just in case I screwed something up so it can be easily reverted. However the conversion was done with a script, so everything should be ok. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 4bfc86ce9436ea8064cad90fd891625bd814be1d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Feb 13 13:04:39 2015 +0100 s390: remove "64" suffix from a couple of files Rename a couple of files to get rid of the "64" suffix. "git blame" will still work. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5a79859ae0f35d25c67a03e82bf0c80592f16a39 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Feb 12 13:08:27 2015 +0100 s390: remove 31 bit support Remove the 31 bit support in order to reduce maintenance cost and effectively remove dead code. Since a couple of years there is no distribution left that comes with a 31 bit kernel. The 31 bit kernel also has been broken since more than a year before anybody noticed. In addition I added a removal warning to the kernel shown at ipl for 5 minutes: a960062e5826 ("s390: add 31 bit warning message") which let everybody know about the plan to remove 31 bit code. We didn't get any response. Given that the last 31 bit only machine was introduced in 1999 let's remove the code. Anybody with 31 bit user space code can still use the compat mode. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0daa7a0afd0fa7aad83cbde0fb341d7fbeac952c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 2 15:44:55 2015 +0100 hwrng: Avoid manual device_create_file() calls Use the new group field of struct miscdevice for managing the sysfs entries instead of manually adding/removing via device_create_file() and device_remove_file(). This simplifies the code a lot and fixes the possible races. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd735995308b553cc3c7f6a975aa284b270c7e2c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 2 15:44:54 2015 +0100 misc: Add attribute groups Add groups field to struct miscdevice for passing the attribute groups at device creation. In this way, the driver can avoid the manual call of device_create_file() after the device registration, which is basically a racy operation, in addition to the reduction of manual device_remove_file() calls. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f9763190dd6356eec95548f4cfa8a36a71f767c Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 14:09:09 2015 -0500 misc: mic: fixup return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. The rc variable is renamed timeout to reflect its use and the type adjusted to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 860cba13432e071442a39e9bab83258c631d33a6 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 14:24:25 2015 -0500 misc: carma: fixup return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. The rc variable is renamed timeout to reflect its use and the type adjusted to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a819a228feae6f936e2696c4946c53f883a3d480 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 14:43:44 2015 -0500 misc: tifm: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. The rc variable is in use for other calls so an additional timeout variable of type unsigned long is added. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03190c67ff72b5c56b24266762ab8abe68970f45 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Mon Mar 23 13:59:46 2015 +0100 char: misc: document behaviour of open() an open syscall now assignes file->private_data to a pointer to the miscdevice structure. This reminds people not to duplicate code if they want this and not to depend on it being NULL. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab3ae0096a6d31e1b244c5c5155f48ef3700329e Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Mar 19 12:10:09 2015 +0200 mei: fix regression on NFC connection In mei_host_client_init function we enable the all internal connected clients including NFC. This is done before we set the device to enabled state and let userspace call open. We need to check only for MEI_FILE_CONNECTED in mei_cl_is_connected in order to enable the communication with the clients before MEI_DEV_ENABLED is set. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d939b52abe0cee9cc3167f554da6b864db86d3f2 Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Tue Mar 24 18:31:23 2015 +0300 cris: fix integer overflow in ELF_ET_DYN_BASE Almost all arches define ELF_ET_DYN_BASE as 2/3 of TASK_SIZE. Though it seems that some architectures do this in a wrong way. The problem is that 2*TASK_SIZE may overflow 32-bits so the real ELF_ET_DYN_BASE becomes wrong. Fix this overflow by dividing TASK_SIZE prior to multiplying: (TASK_SIZE / 3 * 2) Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit aa6467f190d32b263f7144239c89c63c922d9ff8 Author: Jorgen Hansen <jhansen@xxxxxxxxxx> Date: Mon Mar 2 08:19:11 2015 -0800 VMCI: Guard against overflow in queue pair allocation The current maximum size of a queue in a queue pair is 128 MB. If we increase that in the future, the queue pair allocation routines may run into overflow issues. This change adds additional checks to guard against this. Acked-by: Andy King <acking@xxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jorgen Hansen <jhansen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74b5c297f5ecbef0ca128fa7b385b43f036a7984 Author: Andy King <acking@xxxxxxxxxx> Date: Thu Feb 19 10:33:56 2015 -0800 VMCI: Check userland-provided datagram size Ensure that the size filled in by userland in the datagram header matches the size of the buffer passed down in the IOCTL. Note that we account for the size of the header itself in the check. Acked-by: Jorgen Hansen <jhansen@xxxxxxxxxx> Acked-by: Aditya Sarwade <asarwade@xxxxxxxxxx> Signed-off-by: Andy King <acking@xxxxxxxxxx> Reported-by: David Ramos <daramos@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf1361211dd842659b5b882390de687426f3471a Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Tue Feb 17 14:29:21 2015 -0800 drivers/vmw_vmci: Show correct get_user_pages_fast upon failure As of 240ddd495a9 (vmw_vmci: Convert driver to use get_user_pages_fast()) we no longer user get_user_pages(), thus update the warning. Also convert to pr_debug, which is a more appropriate level of logging. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d38b98a3b8c951a2d7f742609524632e078ddede Merge: ff85f70 0164a71 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 11:29:51 2015 +0100 Merge branch 'fix_ioremap_wc' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag into char-misc-next commit d3dad475b2839b9964ef54211e135eb6fb9952f9 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Mar 9 18:51:31 2015 +0100 CRISv32: use GENERIC_SCHED_CLOCK Provide a fast sched clock using the free-running timer and the generic sched_clock infrastructure. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit edfb6d5f1a05627204d1640ba527312dc8ea745a Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Mar 9 18:48:25 2015 +0100 CRISv32: use MMIO clocksource Use a generic MMIO clocksource and get rid of some lines of code. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit ed9fd3ff0251783cb3943e71aac398b9064efae6 Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Mar 8 16:29:12 2015 +0100 CRISv32: use generic clockevents Implement a oneshot-capable clockevents device so we get support for things like hrtimers and NOHZ. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 16428f943d192390b4673612b1d3fb81772323d9 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 18:13:43 2015 +0100 CRIS: use generic headers via Kbuild Delete headers which do nothing but include the asm-generic versions and use Kbuild magic instead. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit f87a2f58e34857304b8a2c284d02360210186dd0 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 18:56:17 2015 +0100 CRIS: use generic cmpxchg.h CRIS can use asm-generic's cmpxchg.h Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit e7db8a3c96970d847da5611e78b6bde998f13da8 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 17:54:35 2015 +0100 CRIS: use generic atomic.h CRIS can use asm-generic's atomic.h. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit f64751118b07579c7ebb7935b6fd8cc8e2c3291a Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 17:53:33 2015 +0100 CRIS: use generic atomic bitops The generic atomic bitops are the same as the CRIS-specific ones. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 3c2165f807570c936b8ed6714edff1ef44def50a Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 22 20:45:46 2015 +0100 CRISv10: remove redundant macros from system.h All of these are either unused or already provided by other headers, so they can be removed. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 47a8f6fb349c977ff752f979b159aef96a0bb352 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 17:35:28 2015 +0100 CRIS: remove SMP code The CRIS SMP code cannot be built since there is no (and appears to never have been) a CONFIG_SMP Kconfig option in arch/cris/. Remove it. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 06aca92424c2a53a9e26cb81c1d6a829af9491b8 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 18:20:09 2015 +0100 CRISv32: don't enable irqs in INIT_THREAD INIT_THREAD enables interrupts in the thread_struct's saved flags. This means that interrupts get enabled in the middle of context_switch() while switching to new tasks that get forked off the init task during boot. Don't do this. Fixes the following splat on boot with spinlock debugging on: BUG: spinlock cpu recursion on CPU#0, swapper/2 lock: runqueues+0x0/0x47c, .magic: dead4ead, .owner: swapper/0, .owner_cpu: 0 CPU: 0 PID: 2 Comm: swapper Not tainted 3.19.0-08796-ga747b55 #285 Call Trace: [<c0032b80>] spin_bug+0x2a/0x36 [<c0032c98>] do_raw_spin_lock+0xa2/0x126 [<c01964b0>] _raw_spin_lock+0x20/0x2a [<c00286c8>] scheduler_tick+0x22/0x76 [<c003db2c>] update_process_times+0x5e/0x72 [<c0007a94>] timer_interrupt+0x4e/0x6a [<c00378d6>] handle_irq_event_percpu+0x54/0xf2 [<c00379c4>] handle_irq_event+0x50/0x74 [<c003988e>] handle_simple_irq+0x6c/0xbe [<c0037270>] generic_handle_irq+0x2a/0x36 [<c0004c40>] do_IRQ+0x38/0x84 [<c000662e>] crisv32_do_IRQ+0x54/0x60 [<c0006204>] IRQ0x4b_interrupt+0x34/0x3c [<c0192baa>] __schedule+0x24a/0x532 [<c00056b4>] ret_from_kernel_thread+0x0/0x14 Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 9a7449d3e975fe5c5ca12b7fea4f4bd69188a5f9 Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 8 18:19:17 2015 +0100 CRISv32: handle multiple signals Al Viro noted that CRIS fails to handle multiple signals. This fixes the problem for CRISv32 by making it use a C work_pending handling loop similar to the ARM implementation in 0a267fa6a15d41c ("ARM: 7472/1: pull all work_pending logics into C function"). This also happens to fixes the warnings which currently trigger on CRISv32 due to do_signal() being called with interrupts disabled. Test case (should die of the SIGSEGV which gets raised when setting up the stack for SIGALRM, but instead reaches and executes the _exit(1)): #include <unistd.h> #include <signal.h> #include <sys/time.h> #include <err.h> static void handler(int sig) { } int main(int argc, char *argv[]) { int ret; struct itimerval t1 = { .it_value = {1} }; stack_t ss = { .ss_sp = NULL, .ss_size = SIGSTKSZ, }; struct sigaction action = { .sa_handler = handler, .sa_flags = SA_ONSTACK, }; ret = sigaltstack(&ss, NULL); if (ret < 0) err(1, "sigaltstack"); sigaction(SIGALRM, &action, NULL); setitimer(ITIMER_REAL, &t1, NULL); pause(); _exit(1); return 0; } Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20121208074429.GC4939@xxxxxxxxxxxxxxxxxx Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit ff85f707ac49ad77b7cf8dcef38e7fcd468ca3d6 Merge: e9533ae bc465aa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 10:51:53 2015 +0100 Merge 4.0-rc5 into char-misc-next We want those fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f72e5c0df732658d5e9e3c556c9c6928034e291 Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 8 17:53:22 2015 +0100 CRISv32: prevent bogus restarts on sigreturn Al Viro noted that CRIS is vulnerable to bogus restarts on sigreturn. The fixes CRISv32 by using regs->exs as an additional indicator to whether we should attempt to restart the syscall or not. EXS is only used in the sigtrap handling, and in that path we already have r9 (the other indicator, which indicates if we're in a syscall or not) cleared. Test case, a port of Al's ARM version from 653d48b22166db2d8 ("arm: fix really nasty sigreturn bug"): #include <unistd.h> #include <signal.h> #include <stdlib.h> #include <sys/time.h> #include <errno.h> void f(int n) { register int r10 asm ("r10") = n; __asm__ __volatile__( "ba 1f \n" "nop \n" "break 8 \n" "1: ba . \n" "nop \n" : : "r" (r10) : "memory"); } void handler1(int sig) { } void handler2(int sig) { raise(1); } void handler3(int sig) { exit(0); } int main(int argc, char *argv[]) { struct sigaction s = {.sa_handler = handler2}; struct itimerval t1 = { .it_value = {1} }; struct itimerval t2 = { .it_value = {2} }; signal(1, handler1); sigemptyset(&s.sa_mask); sigaddset(&s.sa_mask, 1); sigaction(SIGALRM, &s, NULL); signal(SIGVTALRM, handler3); setitimer(ITIMER_REAL, &t1, NULL); setitimer(ITIMER_VIRTUAL, &t2, NULL); f(-513); /* -ERESTARTNOINTR */ return 0; } Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20121208074429.GC4939@xxxxxxxxxxxxxxxxxx Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit db4a35c651a10eddc6b48b69e1db1f46bea303fa Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 8 16:57:40 2015 +0100 CRISv32: don't attempt syscall restart on irq exit r9 is used to determine whether syscall restarting must be performed or not. Unfortunately, r9 is never set to zero in the non-syscall path, and r9 is on top of that a callee-saved register which can be set to non-zero by the C functions that are called during IRQ handling. This means that if r10 (used for the syscall return value) is one of the -ERESTART* values when a hardware interrupt occurs which leads to a signal being delivered to the process, the kernel will "restart" a syscall which never occurred. This will lead to the PC being moved back by 2 on return to user space. Fix the problem by setting r9 to zero in the interrupt path. Test case (should loop forever but ends up executing the break 8 trap instruction): #include <signal.h> #include <stdlib.h> #include <sys/time.h> void f(int n) { register int r9 asm ("r9") = 1; register int r10 asm ("r10") = n; __asm__ __volatile__( "ba 1f \n" "nop \n" "break 8 \n" "1: ba . \n" "nop \n" : : "r" (r9), "r" (r10) : "memory"); } void handler1(int sig) { } int main(int argc, char *argv[]) { struct itimerval t1 = { .it_value = {1} }; signal(SIGALRM, handler1); setitimer(ITIMER_REAL, &t1, NULL); f(-513); /* -ERESTARTNOINTR */ return 0; } Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 1eb1390bb21b1aa3b303627eb254296f097988cb Author: Jesper Nilsson <jespern@xxxxxxxx> Date: Wed Mar 25 10:06:21 2015 +0100 Add binding documentation for CRIS Only includes the devboard 88 (CRISv32) at the moment. Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 235c362bd0f6afcf767bc72aa0c647e1434cc631 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Fri Mar 20 10:39:42 2015 +0000 UBIFS: extend debug/message capabilities In the case where we have more than one volumes on different UBI devices, it may be not that easy to tell which volume prints the messages. Add ubi number and volume id in ubifs_msg/warn/error to help debug. These two values are passed by struct ubifs_info. For those where ubifs_info is not initialized yet, ubifs_* is replaced by pr_*. For those where ubifs_info is not avaliable, ubifs_info is passed to the calling function as a const parameter. The output looks like, [ 95.444879] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 696 [ 95.484688] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "test1" [ 95.484694] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [ 95.484699] UBIFS (ubi0:1): FS size: 30220288 bytes (28 MiB, 238 LEBs), journal size 1523712 bytes (1 MiB, 12 LEBs) [ 95.484703] UBIFS (ubi0:1): reserved for root: 1427378 bytes (1393 KiB) [ 95.484709] UBIFS (ubi0:1): media format: w4/r0 (latest is w4/r0), UUID 40DFFC0E-70BE-4193-8905-F7D6DFE60B17, small LPT model [ 95.489875] UBIFS (ubi1:0): background thread "ubifs_bgt1_0" started, PID 699 [ 95.529713] UBIFS (ubi1:0): UBIFS: mounted UBI device 1, volume 0, name "test2" [ 95.529718] UBIFS (ubi1:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [ 95.529724] UBIFS (ubi1:0): FS size: 19808256 bytes (18 MiB, 156 LEBs), journal size 1015809 bytes (0 MiB, 8 LEBs) [ 95.529727] UBIFS (ubi1:0): reserved for root: 935592 bytes (913 KiB) [ 95.529733] UBIFS (ubi1:0): media format: w4/r0 (latest is w4/r0), UUID EEB7779D-F419-4CA9-811B-831CAC7233D4, small LPT model [ 954.264767] UBIFS error (ubi1:0 pid 756): ubifs_read_node: bad node type (255 but expected 6) [ 954.367030] UBIFS error (ubi1:0 pid 756): ubifs_read_node: bad node at LEB 0:0, LEB mapping status 1 Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 8a87dc55f75f19ffdbb52066afea1b633577c79f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Mar 12 21:34:21 2015 +0100 UBIFS: simplify returns Directly return recover_head() and ubifs_leb_unmap() instead of storing value in err and testing it. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit d3f9db00d04ef1388d7ff24130b9a95099ce1542 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Fri Mar 6 23:14:39 2015 +0100 UBIFS: Fix trivial typos in comments Change 'comress' to 'compress' Change 'inteval' to 'interval' Change 'disabe' to 'disable' Change 'nenver' to 'never' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 2c84599ca4c2ffd81301f23eabc69c5180ff2f64 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Wed Mar 4 10:46:16 2015 +0000 UBIFS: do not write master node if need recovery The commits 781c571 ("UBIFS: intialize LPT earlier") and 0980119 ("UBIFS: fix-up free space earlier") move some initialization before marking the master node dirty. But the modification changes the conditions of writing master. If unclean umount happens, ubifs may fail when mounting. But trying to mount it will write new master nodes on the flash. This is useless but increasing sqnum. So check need_recovery before writing master node, and don't create new master node if filesystem needs recovery. The behavour of the bug shows at: http://lists.infradead.org/pipermail/linux-mtd/2015-February/057712.html Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Reviewed-by: Ben Gardiner <ben.l.gardiner@xxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 9401a795c6478953e10226471ba5990db5000e05 Author: Taesoo Kim <tsgatesv@xxxxxxxxx> Date: Wed Mar 25 09:53:37 2015 +0100 UBIFS: fix incorrect unlocking handling When ubifs_init_security() fails, 'ui_mutex' is incorrectly unlocked and incorrectly restores 'i_size'. Fix this. Signed-off-by: Taesoo Kim <tsgatesv@xxxxxxxxx> Fixes: d7f0b70d30ff ("UBIFS: Add security.* XATTR support for the UBIFS") Reviewed-by: Ben Shelton <ben.shelton@xxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 3a3e1c88362429ca3a6ef84d232e56b197294ce0 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Feb 23 15:57:32 2015 +0200 ARM: OMAP2+: PRCM: add support for static clock memmap indices All clock provider related drivers will now register their iomaps with a static index. This makes it easier to split up the individual drivers to their own files in subsequent patches. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e8e8f7e41b86c3d89e6db2cf9e54cf2b17ff112a Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Feb 25 15:09:21 2015 +0200 Documentation: DT: document PRCM compatible strings for dm81x SoCs These PRCM nodes were earlier added in patch 7800064ba5 ("ARM: dts: Add basic dm816x device tree configuration"), but the documentation for the same wasn't added. Fix this by adding the missing compatible strings under the generic prcm.txt document. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit b22df89fcc470f27ac442b5c0e8cdfc21d51de9b Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Nov 19 16:13:57 2014 +0200 ARM: OMAP4: PRM: move omap4xxx_prm_init earlier in init order OMAP4 has different ordering of PRM and CM init calls in the early init. Re-oder these accordingly for OMAP4 also. This is needed so that we can do some optimizations in the following patches for the PRCM init. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 66db6428d5dccac9f38d92d521a9b3de8d9d0b0b Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Nov 6 14:39:40 2014 +0200 ARM: OMAP4+: CM: move omap_cm_base_init under OMAP4 CM driver There is no need to call this separately from io.c, rather this can be done commonly under the CM driver. Also, this patch makes the API static, as it is no longer used outside the driver file. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 4e3870f3f62b18d92ff1ec5e7ff408afed0766f0 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Nov 6 14:34:32 2014 +0200 ARM: OMAP4+: PRM: move omap_prm_base_init under OMAP4 PRM driver There is no need to call this separately from io.c, rather this can be done commonly under the PRM driver. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e9f1ddcdec54d32892a0a749de017a39c6c84beb Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Apr 4 15:52:01 2014 +0300 ARM: OMAP3+: PRM: add common APIs for prm_vp_check/clear_txdone PRM driver now only exports a generic API for clearing / checking VP txdone status. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 9cb6d36371b0a9935de92bf250c7152f5b50fdc1 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Apr 4 12:31:51 2014 +0300 ARM: OMAP2+: PRM: add generic API for clear_mod_irqs OMAP2/3 now use generic API for the prm_clear_mod_irqs, the SoC specific implementation details are provided through prm_ll_data. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit f0caa5270bcf97c6a51c89d44747da00c0d67bb8 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Apr 4 12:14:27 2014 +0300 ARM: OMAP3: PRM: invert the wkst_mask for the prm_clear_mod_irqs This makes the API the same as used with OMAP2, and makes it possible to implement a generic driver API for the functionality. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 3a1a388e910950553817b71046b00511d6242b06 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Nov 18 14:59:36 2014 +0200 ARM: OMAP2+: PRCM: rename of_prcm_init to omap_prcm_init This avoids conflicts in the global namespace, and is more descriptive of the purpose anyway. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 3527a86b7ae17c949307d00e1eb7087604bca1b4 Merge: b388e6a bc465aa Author: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Date: Wed Mar 25 11:03:07 2015 +0200 Merge tag 'v4.0-rc5' into linux-next Merge the upstream -rc5 tag because we needed a more up-to-date base our further work. commit 9a309d6fd213911321acbfe839e0bdb3a7a9f4bf Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Mar 24 10:49:55 2015 +0100 ARM: cpuidle: Document the code Add kernel-doc format documentation in the code. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit c8e840d8578a68a77cfd29f8cd68fb210855ce87 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Jan 19 22:26:06 2015 +0100 CRIS: add Axis 88 board device tree Add a minimal device tree for the ETRAX FS SoC and the Axis 88 developer board. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit a9f75ac5a24cb94c2373daa3d73f90d22cf5d94b Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 8 16:14:06 2015 +0100 CRISv32: add device tree support Add support for booting CRISv32 with a built-in device tree. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 43f7071e107ede92ac9e499d218233c8bb4c3607 Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 8 16:15:19 2015 +0100 CRISv32: add irq domains support Add support for IRQ domains to the CRISv32 interrupt controller. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 3a3ad3e9d54c968de1a26fe8ad5982f7ddec7e9f Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Mon Mar 23 18:47:29 2015 +0200 mmc: sdhci-msm: Add support for vendor capabilities registers Some versions of this controller do not advertise their 3.0v and 8bit bus-width support capabilities. It is required to explicitly set these capabilities for the specific controller versions. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 07bf2b54cd8555390cf5fced9471689ebf7fd56c Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:45:04 2015 +0100 mmc: sdhci-esdhc-imx: support voltage-range property Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9369c97cc7eca4a73baf382cfabe92ed20ea04ed Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Mar 24 18:39:49 2015 -0700 mmc: mmci: Cascade EPROBE_DEFER from regulators. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit dc5248820d0b766155fb542e060131a979594b56 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Mar 20 10:15:29 2015 +0100 MAINTAINERS: mmc: Add Jaehoon as co-maintainer for SDHCI SAMSUNG DRIVER Jaehoon has volunteered in maintaining the SDHCI SAMSUNG DRIVER so add him. Since we are updating this section let's also correct file path to cover all files for sdhci-s3c. Cc: Ben Dooks <ben-linux@xxxxxxxxx> Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1a467abf198b4fb3dbf9a8c3d0d2d8650bbe0286 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:53:11 2015 +0000 mmc: atmel-mci: use endian agnostic IO Change the __raw IO functions to endian agnostic relaxed ones to allow the driver to function on big endian ARM systems. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8fda64c23c2a2d421704d349696565b3a8366864 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 5 21:20:26 2015 +0100 CRIS: enable GPIOLIB Enable GPIOLIB on CRIS so that we can use the generic GPIO APIs. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 4738465c37298cd9228750f7e16aad88af8495c5 Author: W. Trevor King <wking@xxxxxxxxxx> Date: Wed Mar 25 00:43:42 2015 -0700 ALSA: hda/via - Add beep controls to VIA codecs My codec has a beep-generating node: $ cat /proc/asound/card1/codec#0 Codec: VIA VT1802 ... Vendor Id: 0x11068446 Subsystem Id: 0x15587410 Revision Id: 0x100000 ... Node 0x22 [Beep Generator Widget] wcaps 0x70040c: Mono Amp-Out Amp-Out caps: ofs=0x0a, nsteps=0x12, stepsize=0x05, mute=1 Amp-Out vals: [0x0a] Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 ... But I was missing the: Control: name=... entries that I need to manage this widget from alsamixer. With this patch (based on the similar Mono Amp-Out handling in patch_conexant.c), I get a new: input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card1/hdaudioC1D0/input15 entry in dmesg and controls to manage that beep: $ cat /proc/asound/card1/codec#0 | grep -A5 Beep Node 0x22 [Beep Generator Widget] wcaps 0x70040c: Mono Amp-Out Control: name="Beep Playback Volume", index=0, device=0 ControlAmp: chs=1, dir=Out, idx=0, ofs=0 Control: name="Beep Playback Switch", index=0, device=0 ControlAmp: chs=1, dir=Out, idx=0, ofs=0 Amp-Out caps: ofs=0x0a, nsteps=0x12, stepsize=0x05, mute=1 Amp-Out vals: [0x12] Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 [rebased and modified for the latest tree by tiwai] Signed-off-by: W. Trevor King <wking@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 44e39b985393e506d82b669c9765e850daed9dc5 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Mar 25 07:40:33 2015 +0100 ALSA: hda - Remove superfluous hda_nid_t definition in hda_codec.h Just forgotten to remove. It's now in sound/hdaudio.h. Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9697a5595ece52a722d88f25a90ded0028e5e6b4 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Wed Mar 11 08:36:54 2015 +0000 of/unittest: replace 'selftest' with 'unittest' This patch just replace the string 'selftest' with 'unittest' in OF unittest and data and binding file. I have tested it successfully on ARM. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit b921e90260cec1e04988bb3763491de885b67b51 Author: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 11 11:57:23 2015 +0530 powerpc/powernv: Add OPAL message notifier unregister function Provide an unregister interface for the opal message notifiers to be called when not needed like during driver unload/remove. Signed-off-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Reviewed-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 792f96e9a769b799a2944e9369e4ea1e467135b2 Author: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 11 11:57:06 2015 +0530 powerpc/powernv: Fix the overflow of OPAL message notifiers head array Fixes the condition check of incoming message type which can otherwise shoot beyond the message notifiers head array. Signed-off-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Reviewed-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 111fbc68fd895ba437bcb03d5dcc4dd21bc61df8 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Feb 20 19:12:53 2015 +0100 powerpc/pmac: replace current->state by set_current_state() Use helper functions to access current->state. Direct assignments are prone to races and therefore buggy. current->state = TASK_RUNNING can be replaced by __set_current_state() Thanks to Peter Zijlstra for the exact definition of the problem. Suggested-By: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 1f8c82ab1b0bc7e24601c0fca411fd27b9c883ef Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 4 12:56:20 2015 +0100 cpufreq/ppc: Add missing #include <asm/smp.h> If CONFIG_SMP=n, <linux/smp.h> does not include <asm/smp.h>, causing: drivers/cpufreq/ppc-corenet-cpufreq.c: In function 'corenet_cpufreq_cpu_init': drivers/cpufreq/ppc-corenet-cpufreq.c:173:3: error: implicit declaration of function 'get_hard_smp_processor_id' [-Werror=implicit-funcuresh E. Warrier" <warrier@xxxxxxxxxxxxxxxxxx> X-Patchwork-Id: 443703 Message-Id: <54EE5989.7010800@xxxxxxxxxxxxxxxxxx> To: linuxppc-dev@xxxxxxxxxx Date: Wed, 25 Feb 2015 17:23:53 -0600 Export __spin_yield so that the arch_spin_unlock() function can be invoked from a module. This will be required for modules where we want to take a lock that is also is acquired in hypervisor real mode. Because we want to avoid running any lockdep code (which may not be safe in real mode), this lock needs to be an arch_spinlock_t instead of a normal spinlock. Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Acked-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 8f910fd0d9d234764e89cb770940df2ece851e71 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Mar 3 11:02:15 2015 +0100 powerpc/pmac: Fix DT refcount imbalance in pmac_pic_probe_oldstyle Internally, of_find_node_by_name() calls of_node_put() on its "from" parameter, which must not be done on "master", as it's still in use, and will be released manually later. This may cause a zero kref refcount. Call of_node_get() before to compensate for this. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 4b7d8358819da84b1272cdae29ace4680254a104 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 4 21:32:27 2015 +0100 drivers/macintosh: Delete an unnecessary check before the function call "of_node_put" The of_node_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 3bf57561d4dbd36ba45ce05656b0469bfdcc7ef2 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 14 16:13:50 2014 +1100 powerpc/powernv: Support OPAL requested heartbeat If OPAL requests it, call it back via opal_poll_events() at a regular interval. Some versions of OPAL on some machines require this to operate some internal timeouts properly. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit ff86dc5412a9299c4a02b9eb11498b0c7a167d34 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Wed Mar 11 08:36:53 2015 +0000 Documentation: rename of_selftest.txt to of_unittest.txt Since the test of the devicetree's OF api use unittest as its name. so we should rename of_selftest.txt to of_unittest.txt. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 7a39086d23218dc85c744525f1653cd90197a971 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Mon Mar 9 02:35:24 2015 +0000 Documentation: update the of_selftest.txt Since the directory "drivers/of/testcase-data" is renamed to "drivers/of/unittest-data". so we should update the path in the of_selftest.txt. When the kernel is built with OF_SELFUNIT enabled, the output dtb is testcases.dtb instead of testcase.dtb, also update it (s/testcase/testcases/). Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f0570d91ce8493883daa234ffdafb5c5620a1128 Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Fri Mar 13 12:21:46 2015 -0700 dt: OF_UNITTEST make dependency broken If CONFIG_OF_UNITTEST=y then a kernel image make will always cause .version to be incremented, even if there are not source changes. This is caused by a lack of dependency tracking and checking for drivers/of/unittest-data/testcases.dtb.o. Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 2bb65f56480a927d4ca77173e2eb44db18f33b84 Author: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Date: Tue Mar 17 22:30:57 2015 +0200 MAINTAINERS: Pantelis Antoniou device tree overlay maintainer Add me as the device tree overlays maintainer. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 8147e2e8f13d823307e1edf2add5a8df84180cca Merge: bc465aa bfe446e Author: Rob Herring <robh@xxxxxxxxxx> Date: Wed Mar 25 00:41:08 2015 -0500 Merge tag 'of-graph-for-4.0' of git://git.pengutronix.de/git/pza/linux into for-next Pull of-graph helpers from Philipp Zabel: of: Add of-graph helpers to loop over endpoints and find ports by id This series converts of_graph_get_next_endpoint to decrement the refcount of the passed prev parameter. This allows to add a for_each_endpoint_of_node helper macro to loop over all endpoints in a device tree node. The of_graph_get_port_by_id function is added to retrieve a port by its known port id (contained in the reg property) from the device tree. commit 3f77df7f81526c932ef681eda56eeaa75d0617da Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 13 15:26:33 2015 +0530 powerpc/powernv: Check image loaded or not before calling flash Present code checks for update_flash_data in opal_flash_term_callback(). update_flash_data has been statically initialized to zero, and that is the value of FLASH_IMG_READY. Also code update initialization happens during subsys init. So if reboot is issued before the subsys init stage then we endup displaying "Flashing new firmware" message.. which may confuse end user. This patch fixes above described issue by initializes update_flash status to invalid state. Reported-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 0144a81cccf7532bead90f0542f517bd028d3b3c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 21:45:56 2015 -0700 tcp: fix ipv4 mapped request socks ss should display ipv4 mapped request sockets like this : tcp SYN-RECV 0 0 ::ffff:192.168.0.1:8080 ::ffff:192.0.2.1:35261 and not like this : tcp SYN-RECV 0 0 192.168.0.1:8080 192.0.2.1:35261 We should init ireq->ireq_family based on listener sk_family, not the actual protocol carried by SYN packet. This means we can set ireq_family in inet_reqsk_alloc() Fixes: 3f66b083a5b7 ("inet: introduce ireq_family") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a448f8f1b744611fb1867ea811170cca2a9a6588 Merge: 2b93681 a904b1c Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Mar 25 15:12:53 2015 +1100 Merge branch 'fallocate-insert-range' into for-next commit 2b93681f593577df6fcb9af61947beaace071b74 Merge: d41bb03 5e9383f Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Mar 25 15:12:30 2015 +1100 Merge branch 'xfs-misc-fixes-for-4.1-2' into for-next Conflicts: fs/xfs/libxfs/xfs_bmap.c fs/xfs/xfs_inode.c commit a904b1ca5751faf5ece8600e18cd3b674afcca1b Author: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Date: Wed Mar 25 15:08:56 2015 +1100 xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate This patch implements fallocate's FALLOC_FL_INSERT_RANGE for XFS. 1) Make sure that both offset and len are block size aligned. 2) Update the i_size of inode by len bytes. 3) Compute the file's logical block number against offset. If the computed block number is not the starting block of the extent, split the extent such that the block number is the starting block of the extent. 4) Shift all the extents which are lying bewteen [offset, last allocated extent] towards right by len bytes. This step will make a hole of len bytes at offset. Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Signed-off-by: Ashish Sangwan <a.sangwan@xxxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit dd46c787788d5bf5b974729d43e4c405814a4c7d Author: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Date: Wed Mar 25 15:07:05 2015 +1100 fs: Add support FALLOC_FL_INSERT_RANGE for fallocate FALLOC_FL_INSERT_RANGE command is the opposite command of FALLOC_FL_COLLAPSE_RANGE that is needed for someone who wants to add some data in the middle of file. FALLOC_FL_INSERT_RANGE will create space for writing new data within a file after shifting extents to right as given length. This command also has same limitations as FALLOC_FL_COLLAPSE_RANGE in that operations need to be filesystem block boundary aligned and cannot cross the current EOF. Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Signed-off-by: Ashish Sangwan <a.sangwan@xxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0b63accf87225b5eb7e52814c374cf02d733d4bb Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Wed Mar 18 15:46:33 2015 -0400 tools, update rtctest.c to verify passage of time rtctest.c checks to see if PIE is functioning by testing if 20 interrupts occur at rates from 2HZ to 64HZ. While this check is good, it does not check to see if the correct amount of time has actually passed. This misses situations where the RTC may be operating at a higher or lower frequency than expected. This patch introduces a simple check to verify if the time passed is less than 10% of what was programmed into the RTC. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: corbet@xxxxxxx Cc: rtc-linux@xxxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: a.zummo@xxxxxxxxxxxx Cc: prarit@xxxxxxxxxx Cc: john.stultz@xxxxxxxxxx Cc: shuahkh@xxxxxxxxxxxxxxx Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 4a5fd81507eaea556e533e9ebc8a3cf31fe159d1 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Mon Mar 23 16:32:09 2015 -0400 Documentation, split up rtc.txt into documentation and test file This patch splits rtc.txt into two separate files, one for the documentation itself, and the other for the rtctest.c file. The rtctest file is moved into the kernel tools/testing/selftests/timers directory. This will make automated testing easier. Note that the only difference in the rtc.txt file is that the location of the rtctest.c file has changed. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: corbet@xxxxxxx Cc: rtc-linux@xxxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: a.zummo@xxxxxxxxxxxx Cc: prarit@xxxxxxxxxx Cc: john.stultz@xxxxxxxxxx Cc: shuahkh@xxxxxxxxxxxxxxx Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 5e9383f97e773e9a5385144ef5561f2ac0ee1349 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Mar 25 15:00:24 2015 +1100 xfs: Fix incorrect positive ENOMEM return added a positive error return value. This value filters up through the return layers and should be negative as the other return values are in the same function. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 20dafeefac97d1a690b113f2a954dc84fdf8f290 Author: Byoungyoung Lee <blee@xxxxxxxxxx> Date: Wed Mar 25 14:57:53 2015 +1100 xfs: xfs_mru_cache_insert() should use GFP_NOFS xfs_mru_cache_insert() can be called from within transaction context during block allocation like so: write(2) .... xfs_get_blocks xfs_iomap_write_direct start transaction xfs_bmapi_write xfs_bmapi_allocate xfs_bmap_btalloc xfs_bmap_btalloc_filestreams xfs_filestream_new_ag xfs_filestream_pick_ag xfs_mru_cache_insert radix_tree_preload(GFP_KERNEL) In this case, GFP_KERNEL is incorrect and can potentially lead to deadlocks in memory reclaim. It should use GFP_NOFS allocations to avoid lock recursion problems. [dchinner: rewrote commit message] Signed-off-by: Byoungyoung Lee <blee@xxxxxxxxxx> Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 65dd297ac25565701fead5e4ee69b9ca62729f0e Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 25 14:56:21 2015 +1100 xfs: %pF is only for function pointers Use %pS for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pF expects a function descriptor. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 29916df08db4726c92bdfe72ce524b4b6a9e3c54 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 25 14:55:25 2015 +1100 xfs: fix shadow warning in xfs_da3_root_split() Use icnodehdr for struct xfs_da3_icnode_hdr instead of nodehdr (already declared above). Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 86aaf02e57d25a3b4094ca76ff805ee2d7aa30f8 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 25 14:54:53 2015 +1100 xfs: use bool instead of int in xfs_rename() new_parent and src_is_directory are only used in 0/1 context. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b26384dc52edba2f5fcc2b38eccc98e1f44bb379 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Wed Mar 25 14:54:25 2015 +1100 xfs: fix NULL pointer dereference in xfs_filestream_lookup_ag() If xfs_filestream_get_parent() fails, we have a null pip, goto out, and attempt to IRELE(NULL). This causes a null pointer dereference and BUG(). Fix this by directly returning NULLAGNUMBER in this case. Reported-by: Adrien Nader <adrien@xxxxxxxx> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d64588ca28bcd58f100f7933d0c18c8b504162bb Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:53:48 2015 +1100 xfs: remove xfs_bmap_sanity_check() This code is redundant now that we have verifiers that sanity check the buffers as they are read from disk. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d41bb03444147305e955cdd53753f0493e4d9e28 Merge: 88e8fda 7dcf5c3 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Mar 25 14:29:13 2015 +1100 Merge branch 'xfs-rename-whiteout' into for-next Conflicts: fs/xfs/xfs_inode.c commit 7dcf5c3e4527cfa2807567b00387cf2ed5e07f00 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:08:08 2015 +1100 xfs: add RENAME_WHITEOUT support Whiteouts are used by overlayfs - it has a crazy convention that a whiteout is a character device inode with a major:minor of 0:0. Because it's not documented anywhere, here's an example of what RENAME_WHITEOUT does on ext4: # echo foo > /mnt/scratch/foo # echo bar > /mnt/scratch/bar # ls -l /mnt/scratch total 24 -rw-r--r-- 1 root root 4 Feb 11 20:22 bar -rw-r--r-- 1 root root 4 Feb 11 20:22 foo drwx------ 2 root root 16384 Feb 11 20:18 lost+found # src/renameat2 -w /mnt/scratch/foo /mnt/scratch/bar # ls -l /mnt/scratch total 20 -rw-r--r-- 1 root root 4 Feb 11 20:22 bar c--------- 1 root root 0, 0 Feb 11 20:23 foo drwx------ 2 root root 16384 Feb 11 20:18 lost+found # cat /mnt/scratch/bar foo # In XFS rename terms, the operation that has been done is that source (foo) has been moved to the target (bar), which is like a nomal rename operation, but rather than the source being removed, it have been replaced with a whiteout. We can't allocate whiteout inodes within the rename transaction due to allocation being a multi-commit transaction: rename needs to be a single, atomic commit. Hence we have several options here, form most efficient to least efficient: - use DT_WHT in the target dirent and do no whiteout inode allocation. The main issue with this approach is that we need hooks in lookup to create a virtual chardev inode to present to userspace and in places where we might need to modify the dirent e.g. unlink. Overlayfs also needs to be taught about DT_WHT. Most invasive change, lowest overhead. - create a special whiteout inode in the root directory (e.g. a ".wino" dirent) and then hardlink every new whiteout to it. This means we only need to create a single whiteout inode, and rename simply creates a hardlink to it. We can use DT_WHT for these, though using DT_CHR means we won't have to modify overlayfs, nor anything in userspace. Downside is we have to look up the whiteout inode on every operation and create it if it doesn't exist. - copy ext4: create a special whiteout chardev inode for every whiteout. This is more complex than the above options because of the lack of atomicity between inode creation and the rename operation, requiring us to create a tmpfile inode and then linking it into the directory structure during the rename. At least with a tmpfile inode crashes between the create and rename doesn't leave unreferenced inodes or directory pollution around. By far the simplest thing to do in the short term is to copy ext4. While it is the most inefficient way of supporting whiteouts, but as an initial implementation we can simply reuse existing functions and add a small amount of extra code the the rename operation. When we get full whiteout support in the VFS (via the dentry cache) we can then look to supporting DT_WHT method outlined as the first method of supporting whiteouts. But until then, we'll stick with what overlayfs expects us to be: dumb and stupid. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> commit eeacd3217b8fa8143f5dc27ded405790c74f01e8 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:08:07 2015 +1100 xfs: make xfs_cross_rename() complete fully Now that xfs_finish_rename() exists, there is no reason for xfs_cross_rename() to return to xfs_rename() to finish off the rename transaction. Drive the completion code into xfs_cross_rename() and handle all errors there so as to simplify the xfs_rename() code. Further, push the rename exchange target_ip check to early in the rename code so as to make the error handling easy and obviously correct. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 310606b0c7e385e9dd3533d168413ad2c579d961 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:06:07 2015 +1100 xfs: factor out xfs_finish_rename() Rather than use a jump label for the final transaction commit in the rename, factor it into a simple helper function and call it appropriately. This slightly reduces the spaghetti nature of xfs_rename. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 445883e8133975fe8d555610c70c1c4c501f0bf8 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:05:43 2015 +1100 xfs: cleanup xfs_rename error handling The jump labels are ambiguous and unclear and some of the error paths are used inconsistently. Rules for error jumps are: - use out_trans_cancel for unmodified transaction context - use out_bmap_cancel on ENOSPC errors - use out_trans_abort when transaction is likely to be dirty. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 95afcf5c7bca93fb84d260f70c304f35ef4c3114 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:03:32 2015 +1100 xfs: clean up inode locking for RENAME_WHITEOUT When doing RENAME_WHITEOUT, we now have to lock 5 inodes into the rename transaction. This means we need to update xfs_sort_for_rename() and xfs_lock_inodes() to handle up to 5 inodes. Because of the vagaries of rename, this means we could have anywhere between 3 and 5 inodes locked into the transaction.... While xfs_lock_inodes() does not need anything other than an assert telling us we are passing more inodes that we ever thought we should see, it could do with a logic rework to remove all the indenting. This is not a functional change - it just makes the code a lot easier to read. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 124eb761edfdee13c02e48815b05d9bed7666d4c Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Mar 24 11:29:05 2015 -0500 md: Fix bitmap offset calculations The calculations of bitmap offset is incorrect with respect to bits to bytes conversion. Also, remove an irrelevant duplicate message. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit cbc4ffdbe72a1bad3dbed27bb6b2eaba2b11bcc3 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Mar 24 16:22:54 2015 -0700 block, drbd: use mempool_create_slab_pool() Mempools created for slab caches should use mempool_create_slab_pool(). Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 23fe8f8b1101ec77befc995ab15fad82d9d91d16 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Mar 24 16:22:32 2015 -0700 block, drbd: fix drbd_req_new() initialization mempool_alloc() does not support __GFP_ZERO since elements may come from memory that has already been released by mempool_free(). Remove __GFP_ZERO from mempool_alloc() in drbd_req_new() and properly initialize it to 0. Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 271508dba2c3fc307e7c44e2731a2ece70a4025e Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Mar 24 16:21:16 2015 -0700 block: allocate request memory local to request queue blk_init_rl() allocates a mempool using mempool_create_node() with node local memory. This only allocates the mempool and element list locally to the requeue queue node. What we really want to do is allocate the request itself local to the queue. To do this, we need our own alloc and free functions that will allocate from request_cachep and pass the request queue node in to prefer node local memory. Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 99c679acce5d07aa1be63d8afe94df27f0aecb50 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Mar 24 17:31:03 2015 -0700 Bluetooth: Filter list of supported commands/events for untrusted users When the user of the management interface is not trusted, then it only has access to a limited set of commands and events. When providing the list of supported commands and events take the trusted vs untrusted status of the user into account and return different lists. This way the untrusted user knows exactly which commands it can execute and which events it can receive. So no guesswork needed. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d631b94e7a15277858ec5f88d674d93080506999 Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 16:22:07 2015 -0700 virtio: change comment in transmit The original comment was not really informative or funny as well as sexist. Replace it with a better explanation of why the driver does stop and what the impacts are. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 835c3d9b7a28f5ecfc2dea2300946e27811f16a5 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Tue Mar 24 23:19:24 2015 +0100 tools: bpf_asm: cleanup vlan extension related token We now have K_VLANT, K_VLANP and K_VLANTPID. Clean them up into more descriptive token, namely K_VLAN_TCI, K_VLAN_AVAIL and K_VLAN_TPID. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1275eb32e1c543f0664ebbb9d9ec3baa9bbfcba Merge: 9ead352 fd3a154 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 24 21:16:30 2015 -0400 Merge branch 'listener_refactor_16' Eric Dumazet says: ==================== tcp: listener refactor part 16 A CONFIG_PROVE_RCU=y build revealed an RCU splat I had to fix. I added const qualifiers to various md5 methods, as I expect to call them on behalf of request sock traffic even if the listener socket is not locked. This seems ok, but adding const makes the contract clearer. Note a good reduction of code size thanks to request/establish sockets convergence. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd3a154a00fb991872680f19021f5edbb40b4dbe Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 15:58:56 2015 -0700 tcp: md5: get rid of tcp_v[46]_reqsk_md5_lookup() With request socks convergence, we no longer need different lookup methods. A request socket can use generic lookup function. Add const qualifier to 2nd tcp_v[46]_md5_lookup() parameter. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39f8e58e53be32ab758d30536e0bd2e6ce766462 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 15:58:55 2015 -0700 tcp: md5: remove request sock argument of calc_md5_hash() Since request and established sockets now have same base, there is no need to pass two pointers to tcp_v4_md5_hash_skb() or tcp_v6_md5_hash_skb() Also add a const qualifier to their struct tcp_md5sig_key argument. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff74e23f7edb3759d1290b10f80222e3bbb6304b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 15:58:54 2015 -0700 tcp: md5: input path is run under rcu protected sections It is guaranteed that both tcp_v4_rcv() and tcp_v6_rcv() run from rcu read locked sections : ip_local_deliver_finish() and ip6_input_finish() both use rcu_read_lock() Also align tcp_v6_inbound_md5_hash() on tcp_v4_inbound_md5_hash() by returning a boolean. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0980c1e3084572b1d6c35ace5d795cf68b7ae409 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 15:58:53 2015 -0700 tcp: use C99 initializers in new_state[] Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80f03e27a309f3e32ebdd9629ac0320005a2180b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 15:58:52 2015 -0700 tcp: md5: fix rcu lockdep splat While timer handler effectively runs a rcu read locked section, there is no explicit rcu_read_lock()/rcu_read_unlock() annotations and lockdep can be confused here : net/ipv4/tcp_ipv4.c-906- /* caller either holds rcu_read_lock() or socket lock */ net/ipv4/tcp_ipv4.c:907: md5sig = rcu_dereference_check(tp->md5sig_info, net/ipv4/tcp_ipv4.c-908- sock_owned_by_user(sk) || net/ipv4/tcp_ipv4.c-909- lockdep_is_held(&sk->sk_lock.slock)); Let's explicitely acquire rcu_read_lock() in tcp_make_synack() Before commit fa76ce7328b ("inet: get rid of central tcp/dccp listener timer"), we were holding listener lock so lockdep was happy. Fixes: fa76ce7328b ("inet: get rid of central tcp/dccp listener timer") Signed-off-by: Eric DUmazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c77662a4df847e7b75ff8c5f2314dd4f022377e3 Merge: 3966fab 9089848 Author: Michael Turquette <mturquette@xxxxxxxxxx> Date: Tue Mar 24 16:33:33 2015 -0700 Merge branch 'for-4.1-clk-ti' of github.com:t-kristo/linux-pm into clk-next commit 3213e674ca42c95b84ed040eab3d5722f41412ae Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 22 00:45:35 2015 +0100 ARM: cygnus: fix const declaration bcm_cygnus_dt_compat The const declaration for char* is actually duplicated, however the array of strings is currently not constant. However, typically the dt_compat array is declared as const char *const. Follow that convention and also add the __initconst macro for constant initialization data. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Tested-by: Ray Jui <rjui@xxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 153fe946412b5da1a8808f79d4f7f4ebfa7586b0 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Mar 20 16:21:58 2015 +0100 staging: fbtft: Do not use binary constants Gcc < 4.3 doesn't understand binary constants (0b*): drivers/staging/fbtft/fbtft-sysfs.c:156:19: error: invalid suffix "b111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:3: error: invalid suffix "b1111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:11: error: invalid suffix "b1111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:19: error: invalid suffix "b11111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:28: error: invalid suffix "b1111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:36: error: invalid suffix "b1111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:44: error: invalid suffix "b1111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:52: error: invalid suffix "b11111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:160:3: error: invalid suffix "b111" on integer constant ... Hence use hexadecimal constants (0x*) instead. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1452db764c279f8b329f1b3b9469bd01d9e21afd Author: Cliff Clark <cliff_clark@xxxxxxxxxx> Date: Tue Mar 24 14:07:26 2015 -0700 ucc_geth: Intialize link state to down before register_netdev ucc_geth was indicating link up after a port is administratively enabled even when nothing is plugged in. This causes user-space tools to see a spurious link up the first time after boot. Signed-off-by: Cliff Clark <cliff_clark@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit baf7a6c72668c3e981bc2b6b0f58d2f1c2a8aa4e Merge: 227a4fd 65582a7 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 23:01:58 2015 +0100 Merge tag 'fixes-for-v4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus Felipe writes: usb: fix for v4.0-rc6 Here's a single fix to isp1760 calling spin_unlock_irqsave() as we should have. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1c41a9570a02cec80be5fb4f7f9cf206220d84a5 Merge: cd0e075 3e45737 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 22:57:49 2015 +0100 Merge tag 'usb-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next Felipe writes: usb: patches for v4.1 merge window As usual, a big pile of commits. This time a total of 111 non-merge commits. Other than the usual set of cleanups and non-critical fixes, we have some interesting work for AM335x's MUSB babble recovery. Now that takes a lot less time and we don't have to Reset MUSB all the time. The printer gadget has been converted to configfs interface and the atmel udc has learned suspend/resume with wakeup. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3d8bbe243dc7418b4b2eadcbf5693887d076a521 Merge: bc465aa c1b03ab Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 22:55:20 2015 +0100 Merge tag 'iio-fixes-for-4.0c' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus Jonathan writes: 3rd set of IIO fixes for the 4.0 cycle. * A double free occured on an error path in due to an event registration issue. The fix is the minimal change rather than possibly reworking this area of the core to give a more elegant solution (future work). * A number of drivers were directly accessing indio_dev->buffer->scan_mask to identify the currently enabled channel set. This may not be correct if we have additional clients on the push interface. The correct option is indio_dev->active_scan_mask. This is fixed. * bmc150 had incorrectly specified sampling frequency (a datasheet confusion as they are specified in terms of bandwith - e.g. half the sampling frequency). * hmc5843 wasn't setting it's name and hence the name attribute was returning an empty string. * inv_mpu6050 wasn't clearing the locally held timestamp buffer when the hardware fifo was reset. Also an inconsistency existed in the interface for the scale of the channels. Magic numbers were written but real ones were used for the reads. Now uses real numbers (i.e. not array indexes) for both. * fix a missing dependency in the dummy driver. Previously shielded from the autobuilders by an earlier build error. commit dc5f2c5f6aa159ebf4b29b169aa1f71cf98d3d6a Merge: c754ff9 c064416 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 22:53:52 2015 +0100 Merge tag 'iio-for-4.1a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: First set of new drivers, cleanups and functionality for IIO in the 4.1 cycle. New drivers * CM3323 color sensor. * MS5611 pressure and temperature sensor. New functionality * mup6050 - create mux clients for devices described via ACPI. The reasoning and approach taken in this patch are complex. Basically there is no otherway of finding out what is there than by some esoteric look ups in the ACPI data. * cm3232 - PM support * itg3200 - suspend/resume support * mcp320x - add more ADCs to the kconfig to reflect what the driver supports (this patch and the bindings got left behind when the support was added a while back). Docs / utils * ti-adc128s052 - DT bindings. * mcp3422 - DT bindings. * mcp320x - DT bindings * ABI docs for event threshold scale attributes, in_magn_offset, proximity scan_element and thresh falling/rising values for accelerometers. All elements long in use that have slipped by being explicitly documented. * Tidy up the tools previously in drivers/staging/iio/Documentation and move them out to /tools/iio. Yet another move that should have happened long ago. This time Roberta Dobrescu did the leg work. Thanks! Core Cleanups * Export userspace IIO headers. We should have done the appropriate header splitting a long time ago. Thanks to Daniel for sorting this out. * Refactor the registring of attributes for buffers to move all non-custom ones to a vector allowing easier additions to the current set in the future. Driver Cleanups * gpiod related cleanups. Make use of the additional parameter to specify initial direciton to avoid extra code. * bmc150 - Various refactorings to reduce code repitition and prepare for hardware buffer support. Some of these cleanups are good even without the new functionality. * kmx61 - direct use of index to an array avoiding a structure element which was always the index to an element in an array of that structure. * vf610 - avoid incorrect type for return from wait_for_completion_timeout. * gp2ap020a00f - use put_unaligned_le32 for slight code simplification. * ade7754 - improve error handling including suppressing some build warnings. * ade7759 - improve error handling including suppressing some build warnings. * hmc5843 - Long line and indentation fixes. Also some constifying of various constant data. * ade7854 - 80+ character line splitting. * ad2s1210 - fix wrong printf format string. * mxs-lradc - fix wrong printf format string. * ade7954-i2c - code alignment fixes and other trivial but worthwhile bits. * periodic rtc trigger - make the frequency type an unsigned int as it is always treated as such. * jsa1212 - constify struct regmap_config as it is constant. * ad7793 - typo in the MODULE_DESCRIPTION * mma9551 - check gpiod_to_irq errors. Note that this doesn't actually cause any trouble but is worth tidying up as obviously incorrect. * mlx90614 - refactor the register symbols to make it clear which reads are to RAM not PROM. commit 9ead3527f5967440f2ff57fd2fa25dd0e460fc5a Merge: 27cd545 6b6f302 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 24 17:53:06 2015 -0400 Merge branch 'rhashtable-next' Thomas Graf says: ==================== rhashtable updates on top of Herbert's work Patch 1 is a bugfix for an RCU splash I encountered while testing. Patch 2 & 3 are pure cleanups. Patch 4 disables automatic shrinking by default as discussed in previous thread. Patch 5 removes some rhashtable internal knowledge from nft_hash and fixes another RCU splash. I've pushed various rhashtable tests (Netlink, nft) together with a Makefile to a git tree [0] for easier stress testing. [0] https://github.com/tgraf/rhashtable ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b6f302ceda7a052dab545d6c69abf5f0d4a6cab Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Mar 24 14:18:20 2015 +0100 rhashtable: Add rhashtable_free_and_destroy() rhashtable_destroy() variant which stops rehashes, iterates over the table and calls a callback to release resources. Avoids need for nft_hash to embed rhashtable internals and allows to get rid of the being_destroyed flag. It also saves a 2nd mutex lock upon destruction. Also fixes an RCU lockdep splash on nft set destruction due to calling rht_for_each_entry_safe() without holding bucket locks. Open code this loop as we need know that no mutations may occur in parallel. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5e2c150ac914f28a28833b57397bec0b0a2bd5f Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Mar 24 20:42:19 2015 +0000 rhashtable: Disable automatic shrinking by default Introduce a new bool automatic_shrinking to require the user to explicitly opt-in to automatic shrinking of tables. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac833bddb591b9c7a0609f440f196375be184044 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Mar 24 14:18:18 2015 +0100 rhashtable: Mark internal/private inline functions as such Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 299e5c32a37a6bca8175db177117467bd1ce970a Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Mar 24 14:18:17 2015 +0100 rhashtable: Use 'unsigned int' consistently Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58be8a583d8d316448bafa5926414cfb83c02dec Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Mar 24 14:18:16 2015 +0100 rhashtable: Extend RCU read lock into rhashtable_insert_rehash() rhashtable_insert_rehash() requires RCU locks to be held in order to access ht->tbl and traverse to the last table. Fixes: ccd57b1bd324 ("rhashtable: Add immediate rehash during insertion") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73c8aaf43629e83541332f66fd08699e20ea87bc Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:04:18 2015 -0800 mtd: nand: fix spelling of REPLACEABLE Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0542e135fa8c56cd03c02d74089750ae9195eb22 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 01:25:17 2015 -0800 Documentation: devicetree: fix spelling in pxa3xx-nand binding Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6e8a1f8741d6f1179cb3b03991caeac9e4bfd9e2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 19:46:04 2015 -0500 switch path_init() to struct filename Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 668696dcbb1b184f8758ba9903c373c4960174a9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 19:44:00 2015 -0500 switch path_mountpoint() to struct filename Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5eb6b495c60ef865324a81898eeb18062fd81662 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 19:40:53 2015 -0500 switch path_lookupat() to struct filename all callers were passing it ->name of some struct filename Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 94b5d2621aef59271c53cd13ecf9249e24b3d4df Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 19:38:03 2015 -0500 getname_flags(): clean up a bit Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 72d64cc76941cde45e65e2a5b9fb81d527963645 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 20:45:42 2015 +0100 x86/asm: Further improve segment.h readability - extend/clarify explanations where necessary - move comments from macro values to before the macro, to make them more consistent, and to reduce preprocessor overhead - sort GDT index and selector values likewise by number - use consistent, modern kernel coding style across the file - capitalize consistently - use consistent vertical spacing - remove the unused get_limit() method (noticed by Andy Lutomirski) No change in code (verified with objdump -d): 64-bit defconfig+kvmconfig: 815a129bc1f80de6445c1d8ca5b97cad vmlinux.o.before.asm 815a129bc1f80de6445c1d8ca5b97cad vmlinux.o.after.asm 32-bit defconfig+kvmconfig: e659ef045159ddf41a0771b33a34aae5 vmlinux.o.before.asm e659ef045159ddf41a0771b33a34aae5 vmlinux.o.after.asm Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dca5b52ad76b10c3adc29e2a006d4b1721c44a8d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 19:44:42 2015 +0100 x86/asm/entry/64: Rename THREAD_INFO() to ASM_THREAD_INFO() The THREAD_INFO() macro has a somewhat confusingly generic name, defined in a generic .h C header file. It also does not make it clear that it constructs a memory operand for use in assembly code. Rename it to ASM_THREAD_INFO() to make it all glaringly obvious on first glance. Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324184442.GC14760@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f9d71854b4fe9b22ca199c4676da5a6ece1e5c17 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 19:44:11 2015 +0100 x86/asm/entry/64: Merge the field offset into the THREAD_INFO() macro Before: TI_sysenter_return+THREAD_INFO(%rsp,3*8),%r10d After: movl THREAD_INFO(TI_sysenter_return, %rsp, 3*8), %r10d to turn it into a clear thread_info accessor. No code changed: md5: fb4cb2b3ce05d89940ca304efc8ff183 ia32entry.o.before.asm fb4cb2b3ce05d89940ca304efc8ff183 ia32entry.o.after.asm e39f2958a5d1300158e276e4f7663263 entry_64.o.before.asm e39f2958a5d1300158e276e4f7663263 entry_64.o.after.asm Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324184411.GB14760@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1ddc6f3c60d75a7577dd33bc441e309febe2fc76 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 19:43:11 2015 +0100 x86/asm/entry/64: Improve the THREAD_INFO() macro explanation Explain the background, and add a real example. Acked-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324184311.GA14760@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d56fe4bf5f3cc30d455c80520f7b71da36ae00e6 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 14:41:37 2015 +0100 x86/asm/entry/64: Always set up SYSENTER MSRs On CONFIG_IA32_EMULATION=y kernels we set up MSR_IA32_SYSENTER_CS/ESP/EIP, but on !CONFIG_IA32_EMULATION kernels we leave them unchanged. Clear them to make sure the instruction is disabled properly. SYSCALL is set up properly in both cases. Acked-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 84f53788458c95309b88948b69ff95921e9c74a8 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Sun Mar 22 22:01:12 2015 +0100 x86/asm: Deobfuscate segment.h This file just defines a number of constants, and a few macros and inline functions. It is particularly badly written. For example, it is not trivial to see how descriptors are numbered (you'd expect that should be easy, right?). This change deobfuscates it via the following changes: Group all GDT_ENTRY_foo together (move intervening stuff away). Number them explicitly: use a number, not PREV_DEFINE+1, +2, +3: I want to immediately see that GDT_ENTRY_PNPBIOS_CS32 is 18. Seeing (GDT_ENTRY_KERNEL_BASE+6) instead is not useful. The above change allows to remove GDT_ENTRY_KERNEL_BASE and GDT_ENTRY_PNPBIOS_BASE, which weren't used anywhere else. After a group of GDT_ENTRY_foo, define all selector values. Remove or improve some comments. In particular: Comment deleted as stating the obvious: /* * The GDT has 32 entries */ #define GDT_ENTRIES 32 "The segment offset needs to contain a RPL. Grr. -AK" changed to "Selectors need to also have a correct RPL (+3 thingy)" "GDT layout to get 64bit syscall right (sysret hardcodes gdt offsets)" expanded into a description *how exactly* sysret hardcodes them. Patch was tested to compile and not change vmlinux.o on 32-bit and 64-bit builds (verified with objdump). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27cd5452476978283decb19e429e81fc6c71e74b Author: Michal Sekletar <msekleta@xxxxxxxxxx> Date: Tue Mar 24 14:48:41 2015 +0100 filter: introduce SKF_AD_VLAN_TPID BPF extension If vlan offloading takes place then vlan header is removed from frame and its contents, both vlan_tci and vlan_proto, is available to user space via TPACKET interface. However, only vlan_tci can be used in BPF filters. This commit introduces a new BPF extension. It makes possible to load the value of vlan_proto (vlan TPID) to register A. Support for classic BPF and eBPF is being added, analogous to skb->protocol. Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Jiri Pirko <jpirko@xxxxxxxxxx> Signed-off-by: Michal Sekletar <msekleta@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6bb76cd4d8552bada1e454c291419f893e1af7b Merge: ff40217 241e924 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 24 15:24:39 2015 -0400 Merge branch 'cxgb4-fcoe' Varun Prakash says: ==================== FCoE support in cxgb4 driver This patch series enables FCoE support in cxgb4 driver, it enables FCOE_CRC and FCOE_MTU net device features. This series is created against net-next tree. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 241e9247316947cd47fcefeb5eff5bf0b00dc1d4 Author: Varun Prakash <varun@xxxxxxxxxxx> Date: Tue Mar 24 19:14:47 2015 +0530 cxgb4: update Kconfig and Makefile for FCoE support Signed-off-by: Varun Prakash <varun@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84a200b390d60fd84293670a089d0c864e35d0b1 Author: Varun Prakash <varun@xxxxxxxxxxx> Date: Tue Mar 24 19:14:46 2015 +0530 cxgb4: add cxgb4_fcoe.c for FCoE This patch adds cxgb4_fcoe.c and enables FCOE_CRC, FCOE_MTU net device features. Signed-off-by: Varun Prakash <varun@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76fed8a989ba673b15979ba35457020c1716e1f2 Author: Varun Prakash <varun@xxxxxxxxxxx> Date: Tue Mar 24 19:14:45 2015 +0530 cxgb4: add cxgb4_fcoe.h and macro definitions for FCoE This patch adds new header file cxgb4_fcoe.h and defines new macros for FCoE support in cxgb4 driver. Signed-off-by: Varun Prakash <varun@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ad483728bc498af4b99d0036b2edb163638c64a Merge: e43e505 bffb023 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 24 15:22:53 2015 -0400 Merge branch 'mlx4' Or Gerlitz says: ==================== mlx4 driver RC fixes Ido's patch should go to -stable of >= 3.14 too, the issue is older but it hits us with VXLAN for which driver support dates there. As for Jack's fix, for the time being, picking it to 4.0 is OK. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bffb023ad2d44c0cfa8142ad8247391b32000998 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 15:18:39 2015 +0200 net/mlx4_core: Fix GEN_EQE accessing uninitialixed mutex We occasionally see in procedure mlx4_GEN_EQE that the driver tries to grab an uninitialized mutex. This can occur in only one of two ways: 1. We are trying to generate an async event on an uninitialized slave. 2. We are trying to generate an async event on an illegal slave number ( < 0 or > persist->num_vfs) or an inactive slave. To deal with #1: move the mutex initialization from specific slave init sequence in procedure mlx_master_do_cmd to mlx4_multi_func_init() (so that the mutex is always initialized for all slaves). To deal with #2: check in procedure mlx4_GEN_EQE that the slave number provided is in the proper range and that the slave is active. Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5eda89d97ec256ba14e7e861387cc0468259c18 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Tue Mar 24 15:18:38 2015 +0200 net/mlx4_en: Call register_netdevice in the proper location Netdevice registration should be performed a the end of the driver initialization flow. If we don't do that, after calling register_netdevice, device callbacks may be issued by higher layers of the stack before final configuration of the device is done. For example (VXLAN configuration race), mlx4_SET_PORT_VXLAN was issued after the register_netdev command. System network scripts may configure the interface (UP) right after the registration, which also attach unicast VXLAN steering rule, before mlx4_SET_PORT_VXLAN was called, causing the firmware to fail the rule attachment. Fixes: 837052d0ccc5 ("net/mlx4_en: Add netdev support for TCP/IP offloads of vxlan tunneling") Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff40217e73fd137daae0113ed71b218128913037 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 11:05:28 2015 +0100 ipv6: fix sparse warnings in privacy stable addresses generation Those warnings reported by sparse endianness check (via kbuild test robot) are harmless, nevertheless fix them up and make the code a little bit easier to read. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: 622c81d57b392cc ("ipv6: generation of stable privacy addresses for link-local and autoconf") Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed3e852aa5039fda5a9f53c716c7466913403288 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Tue Mar 24 16:59:21 2015 +0800 tipc: fix compile error when IPV6=m and TIPC=y When IPV6=m and TIPC=y, below error will appear during building kernel image: net/tipc/udp_media.c:196: undefined reference to `ip6_dst_lookup' make: *** [vmlinux] Error 1 As ip6_dst_lookup() is implemented in IPV6 and IPV6 is compiled as module, ip6_dst_lookup() is not built-in core kernel image. As a result, compiler cannot find 'ip6_dst_lookup' reference while compiling TIPC code into core kernel image. But with the method introduced by commit 5f81bd2e5d80 ("ipv6: export a stub for IPv6 symbols used by vxlan"), we can avoid the compile error through "ipv6_stub" pointer to access ip6_dst_lookup(). Fixes: d0f91938bede ("tipc: add ip/udp media type") Suggested-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e43e50524e6b00522cc7a1deee3eebd7046cde6f Merge: a6e95cc 6ae4ccf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 24 15:15:55 2015 -0400 Merge tag 'wireless-drivers-for-davem-2015-03-24' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers iwlwifi: * avoid panic with lots of IBSS stations * Fix dvm's behavior after suspend resume * Allow to keep connection after CSA failure * Remove a noisy by harmless WARN_ON * New device IDs rtlwifi: * fix IOMMU mapping leak in AP mode brcmfmac: * disable MBSS feature for BCM43362 to get AP mode working again ath9k: * disable Transmit Power Control (TPC) again due to regressions * fix beaconing issue with AP+STA setup Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 709583e894afad7f33add66953026ceb82cdf115 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:18:59 2015 -0700 Input: edt-ft5x06 - remove EV_SYN event report input_register_device already sets the EV_SYN event since all devices can generate them. Remove the redundant affectation. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2c00559884e09398a6451672472b4ea7f4118291 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:18:06 2015 -0700 Input: edt-ft5x06 - allow to setting the maximum axes value through the DT Currently the driver relies on some obscure and undocumented register to set the maximum axis value. The reported value is way too high to be meaningful, which confuses some userspace tools like QT's evdevtouch plugin which try to scale the reported events to the maximum values. Use the values from the DT to set meaningful values. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0a363a380954e10fece7cd9931b66056eeb07d56 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:17:57 2015 -0700 Input: of_touchscreen - register multitouch axes So far, the DT parsing code was only setting up the regular input axes, completely ignoring their multitouch counter parts. Fill them with the same parameters than the regular axes. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3eea8b5d68c801fec788b411582b803463834752 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:17:48 2015 -0700 Input: of_touchscreen - rework the DT parsing function The DT parsing function currently duplicates a lot of the code to parse the touchscreen DT properties. In order to ease further additions to this parsing routine, rework it slightly to create new helper functions. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 66400d543072d6ff6f8df036e3f12f5c154c19cc Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Mar 24 11:53:31 2015 -0700 net: allow to delete a whole device group With dev group, we can change a batch of net devices, so we should allow to delete them together too. Group 0 is not allowed to be deleted since it is the default group. Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27ed44a5d6d88897002b75f53004d4c565a5aab6 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 13:37:30 2015 +1100 rhashtable: Add comment on choice of elasticity value This patch adds a comment on the choice of the value 16 as the maximum chain length before we force a rehash. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8263d57e376546bd5da42ea377d22c43239aa317 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Tue Mar 24 09:51:32 2015 +0800 cx82310_eth: fix semicolon.cocci warnings drivers/net/usb/cx82310_eth.c:175:2-3: Unneeded semicolon Removes unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci CC: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6e95cc718c8916a13f1e1e9d33cacbc5db56c0f Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Tue Mar 24 09:31:40 2015 +0900 rocker: handle non-bridge master change Master change notifications may occur other than when joining or leaving a bridge, for example when being added to or removed from a bond or Open vSwitch. Previously in those cases rocker_port_bridge_leave() was called which results in a null-pointer dereference as rocker_port->bridge_dev is NULL because there is no bridge device. This patch makes provision for doing nothing in such cases. Fixes: 6c7079450071f ("rocker: implement L2 bridge offloading") Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65c2377486c0b68f149f7d8770499a86b15786b6 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Mar 19 18:17:49 2015 +0100 x86/asm/entry/64: Get rid of int_ret_from_sys_call_fixup With the FIXUP_TOP_OF_STACK macro removed, this intermediate jump is unnecessary. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426785469-15125-5-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a71ffdd780760dc62c3d4cffb98eaaedaf5068b8 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Mar 19 18:17:48 2015 +0100 x86/asm/entry/64: Get rid of the FIXUP_TOP_OF_STACK/RESTORE_TOP_OF_STACK macros The FIXUP_TOP_OF_STACK macro is only necessary because we don't save %r11 to pt_regs->r11 on SYSCALL64 fast path, but we want ptrace to see it populated. Bite the bullet, add a single additional PUSH instruction, and remove the FIXUP_TOP_OF_STACK macro. The RESTORE_TOP_OF_STACK macro is already a nop. Remove it too. On SandyBridge CPU, it does not get slower: measured 54.22 ns per getpid syscall before and after last two changes on defconfig kernel. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426785469-15125-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9ed8e7d86061e7c3fb3855358d51ba4abb19ceb1 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Mar 19 18:17:47 2015 +0100 x86/asm/entry/64: Use PUSH instructions to build pt_regs on stack With this change, on SYSCALL64 code path we are now populating pt_regs->cs, pt_regs->ss and pt_regs->rcx unconditionally and therefore don't need to do that in FIXUP_TOP_OF_STACK. We lose a number of large instructions there: text data bss dec hex filename 13298 0 0 13298 33f2 entry_64_before.o 12978 0 0 12978 32b2 entry_64.o What's more important, we convert two "MOVQ $imm,off(%rsp)" to "PUSH $imm" (the ones which fill pt_regs->cs,ss). Before this patch, placing them on fast path was slowing it down by two cycles: this form of MOV is very large, 12 bytes, and this probably reduces decode bandwidth to one instruction per cycle when CPU sees them. Therefore they were living in FIXUP_TOP_OF_STACK instead (away from fast path). "PUSH $imm" is a small 2-byte instruction. Moving it to fast path does not slow it down in my measurements. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426785469-15125-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ef593260f0cae2699874f098fb5b19fb46502cb3 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Mar 19 18:17:46 2015 +0100 x86/asm/entry: Get rid of KERNEL_STACK_OFFSET PER_CPU_VAR(kernel_stack) was set up in a way where it points five stack slots below the top of stack. Presumably, it was done to avoid one "sub $5*8,%rsp" in syscall/sysenter code paths, where iret frame needs to be created by hand. Ironically, none of them benefits from this optimization, since all of them need to allocate additional data on stack (struct pt_regs), so they still have to perform subtraction. This patch eliminates KERNEL_STACK_OFFSET. PER_CPU_VAR(kernel_stack) now points directly to top of stack. pt_regs allocations are adjusted to allocate iret frame as well. Hopefully we can merge it later with 32-bit specific PER_CPU_VAR(cpu_current_top_of_stack) variable... Net result in generated code is that constants in several insns are changed. This change is necessary for changing struct pt_regs creation in SYSCALL64 code path from MOV to PUSH instructions. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426785469-15125-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b3fe8ba320ace38cee6859b4c015d81627254ddb Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Mar 19 18:17:45 2015 +0100 x86/asm/entry/64: Change the THREAD_INFO() definition to not depend on KERNEL_STACK_OFFSET This changes the THREAD_INFO() definition and all its callsites so that they do not count stack position from (top of stack - KERNEL_STACK_OFFSET), but from top of stack. Semi-mysterious expressions THREAD_INFO(%rsp,RIP) - "why RIP??" are now replaced by more logical THREAD_INFO(%rsp,SIZEOF_PTREGS) - "calculate thread_info's address using information that rsp is SIZEOF_PTREGS bytes below top of stack". While at it, replace "(off)-THREAD_SIZE(reg)" with equivalent "((off)-THREAD_SIZE)(reg)". The form without parentheses falsely looks like we invoke THREAD_SIZE() macro. Improve comment atop THREAD_INFO macro definition. This patch does not change generated code (verified by objdump). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426785469-15125-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5037a17966967bde3f561cc543c9b3596afabf70 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Feb 25 17:44:55 2015 -0800 Input: mma8450 - convert to using managed resources This simplifies error handling and device removal code. Also let's get rid of setting driver's owner since i2c core does it for us. Tested-by: Stefan Sauer <ensonic@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a93ad65d375f216025902a73ff25900d82a9de25 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Mar 21 20:40:45 2015 -0700 Input: add support for ChipOne icn8318 based touchscreens The ChipOne icn8318 is an i2c capacitive touchscreen controller typically used in cheap android tablets, this commit adds a driver for it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d16a33bb94f88a40a99418993849c1eb93d60de3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Mar 21 20:39:19 2015 -0700 Input: touchscreen DT binding - add touchscreen-swapped-x-y property On devices with a native portrait screen a landscape touchscreen / digitizer may be used, this happens e.g. on ebook readers. In this case the X and Y axis of the touchscreen are swapped compared to the screen. Add a touchscreen-swapped-x-y property which drivers can use to see if they need to swap the axis to make the touchscreen coordinates match the screen coordinates. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9089848d9afa34a796988b5b666c2c4e611ccb61 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Sun Mar 22 15:35:26 2015 -0700 clk: ti: Implement FAPLL set_rate for the PLL Since we have a fractional divider for the synthesizer, just implement a simple multiply logic for the PLL. It seems the PLL divider needs to have also the multiplier set for the PLL to lock. At least I have not yet figured out if divided rates are doable. So let's just ignore the PLL divider for now as the synthesizer has both integer and fractional dividers so we don't even need to use the PLL divider for the rates we know work with PLL locking. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit cafeb002cf2cd8b0f8796b59130f9c1b91da4fcf Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 18:04:20 2015 -0700 clk: ti: Implement FAPLL set_rate for the synthesizer We can pretty much get any rate out of the FAPLL because of the fractional divider. Let's first try just adjusting the post divider, and if that is not enough, then reprogram both the fractional divider and the post divider. Let's also add a define for the fixed SYNTH_PHASE_K instead of using 8. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 33ca29c99e8680b4c921c6eafb9fc1603c5b9779 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Sun Mar 22 15:35:24 2015 -0700 clk: ti: Fix FAPLL recalc_rate for rounding errors We need to round the calculated value to have it match the requested rate. While at it, let's fix a typo and use a define for SYNTH_MAX_DIV_M as we will need it in later patches for set_rate. And let's remove two unused includes. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 712f7d64f079872d2895743f4b718bc0fdff725c Author: Suman Anna <s-anna@xxxxxx> Date: Fri Mar 13 17:58:38 2015 -0500 clk: ti: DRA7: Add timer_sys_ck aliases for Timers 13 through 16 The OMAP DMTimer API, omap_dm_timer_set_source(), uses the clock name timer_sys_ck for setting a timer's clock source for the source index OMAP_TIMER_SRC_SYS_CLK. There is currently no clock alias data for the Timers 13 through 16 for this clock name, so add the same. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit d4295be3874c1d464ae83a71f87ed93f84aa5d21 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Mar 13 17:58:37 2015 -0500 clk: ti: DRA7: Correct timer_sys_ck clock aliases for Timers The OMAP DMTimer API, omap_dm_timer_set_source(), can set the parent of a timer node using 3 different values that use fixed parent names for the clocks. The parent name, timer_sys_ck, is used for setting the parent when used with the source index OMAP_TIMER_SRC_SYS_CLK. This should point to the TIMER_SYS_CLK and not the SYSCLKIN2, so correct the clock aliases appropriately. SYSCLKIN2 is not a mandatory clock input. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 03ff41a938d0c31c3e712590600b474454ac39fe Author: Suman Anna <s-anna@xxxxxx> Date: Fri Mar 13 17:58:36 2015 -0500 clk: ti: OMAP5: Correct the DT clock aliases for timers The DT clock aliases for Timers use the legacy (non-DT) device names and a source clock named sys_ck. OMAP5 is DT-boot only, so correct the DT clock aliases to use the DT device names instead. Also, the source clock name is corrected from 'sys_ck' to 'timer_sys_ck', the name used by the OMAP dmtimer driver. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 2ff8d75c234193147a118c1431d7d75775fabe58 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Mar 13 17:58:35 2015 -0500 clk: ti: OMAP4: Remove the legacy timer DT clock aliases The DT clock aliases for timers using the legacy OMAP timer device names have been cleaned up. These device names reflect the names used in legacy boot, and are no longer applicable as OMAP4 is DT boot only now. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit c8d382921299a32e4ed9b690d3865e01a73ea02c Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Mar 16 12:40:58 2015 +0200 clk: ti: clk-3xxx-legacy: Correct McBSP related clock aliases Correct the McBSP2/4 ick mapping (they were 2->4 and 4->2). Add missing mcbsp clock aliases. Collect the McBSP clock definition in one location at the same time. Fixes the following warning on boot: [ 0.307739] omap_hwmod: mcbsp2: _wait_target_ready failed: -16 [ 0.307769] omap_hwmod: mcbsp2: cannot be enabled for reset (3) Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit f757d1b047dfe704d459746c289f27934de6f91e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Mar 16 12:40:57 2015 +0200 clk: ti: clk-3xxx: Correct McBSP related DT clock definitions In DT boot we do not have devices named as omap-mcbsp.X. Correct the McBSP2/4 ick mapping (they were 2->4 and 4->2). Collect the McBSP clock definition in one location at the same time. Fixes the following warning on boot: [ 0.307739] omap_hwmod: mcbsp2: _wait_target_ready failed: -16 [ 0.307769] omap_hwmod: mcbsp2: cannot be enabled for reset (3) Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit c807dbedb5e5adbd4e1e2d07574d230df924a5a7 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Feb 23 21:06:08 2015 +0200 clk: ti: fix ti_clk_get_reg_addr error handling There is a case where NULL can be a valid return value for ti_clk_get_reg_addr, specifically the case where both the provider index and register offsets are zero. In this case, the current error checking against a NULL pointer will fail. Thus, change the API to return a ERR_PTR value in an error case, and change all the users of this API to check against IS_ERR instead. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 3a02824396c1df1db422d067b0fdcac724f44dd6 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Mar 24 14:14:18 2015 -0400 libata: remove ATA_FLAG_LOWTAG sata_sil24 for some reason pukes when tags are allocated round-robin which helps tag ordered controllers. To work around the issue, 72dd299d5039 ("libata: allow sata_sil24 to opt-out of tag ordered submission") introduced ATA_FLAG_LOWTAG which tells libata tag allocation to do lowest-first. However, with the recent switch to blk-mq tag allocation, the liata tag allocation code path is no longer used and the workaround is now implemented in the block layer and selected by setting scsi_host_template->tag_alloc_policy to BLK_TAG_ALLOC_FIFO. See 9269e23496dd ("libata: make sata_sil24 use fifo tag allocator"). This leaves ATA_FLAG_LOWTAG withoout any actual user. Remove it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Shaohua Li <shli@xxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> commit edec17863362e0106b9e6b2f83237c7bd535e346 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Mar 16 15:54:54 2015 -0500 ARM: DRA7: hwmod: Fix the hwmod class for GPTimer4 GPTimer 4 is a regular timer and not a secure timer, so fix the hwmod to use the correct hwmod class (even though there are no differences in the class definition itself). Signed-off-by: Suman Anna <s-anna@xxxxxx> [paul@xxxxxxxxx: dropped dra7xx_timer_secure_hwmod_class and dra7xx_timer_secure_sysc to avoid compiler warnings] Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 1ac964f4c527267c8380e6e3c70d31ca1d162f93 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Mar 16 15:54:53 2015 -0500 ARM: DRA7: hwmod: Add data for GPTimers 13 through 16 Add the hwmod data for GPTimers 13, 14, 15 and 16. All these timers are present in the L4PER3 clock domain. The corresponding DT nodes are already present but disabled. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit db7a657f3c2de202e8d648b03bc25bcd9a4de1d8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 3 22:41:22 2015 +0200 sata_dwc_460ex: re-use hsdev->dev instead of dwc_dev This patch re-uses hsdev->dev which is allocated on heap. Therefore, the private structure, which is global variable, is reduced by one field. In one case ap->dev is used and there it seems to be right decision. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 8b3444852a2b58129ee68a8dd69fef81ceb902a1 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 3 22:41:21 2015 +0200 sata_dwc_460ex: move to generic DMA driver The SATA implementation based on two actually different devices, i.e. SATA and DMA controllers. For Synopsys DesignWare DMA we have already a generic implementation of the driver. Thus, the patch converts the code to use DMAEngine framework and dw_dmac driver. In future it will be better to split the devices inside DTS as well like it's done on other platforms. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 4e2576bd36a12e78ac3786d05b99a820dffe687f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 24 09:01:00 2015 +0000 ASoC: soc-core: initialize debugfs in snd_soc_instantiate_card() Current soc_init_card_debugfs() is called from snd_soc_register_card() but, soc_cleanup_card_debugfs() is called from soc_cleanup_card_resources(), not from paired function. This differences don't matter for now. But if anyone wants to implement a proper hotplug/unplug, this difference would become clearer. Now, we can assume that snd_soc_instantiate_card() and soc_cleanup_card_resources() are paired function. soc_init_card_debugfs() / soc_cleanup_card_debugfs() paired function should be called from these. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d578514b271e7c8cab8d6910075a2d137a9f0df8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 3 21:21:58 2015 +0200 sata_dwc_460ex: join messages back It it better to have full message on one line. It simplifies to search for line in the code by message when debugging. Note that the lines which will be removed by sequential patch are not fixed here. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit bffc4375897ea01aa68877e5fc1e33c7766efa29 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Fri Mar 6 23:30:42 2015 +0100 percpu: Fix trivial typos in comments Change 'tranlated' to 'translated' Change 'mutliples' to 'multiples' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a75a053f1eefbbbbae0f7d6bf1ed12ce012112b7 Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri Mar 20 13:31:08 2015 +0200 ASoC: davinci-mcasp: Set rule constraints if implicit BCLK divider is used Set rule constraints to allow only combinations of sample-rate, sample-format, and channels counts that can be played/captured with reasonable sample-rate accuracy. The logic with tdm-slots and serializers (=i2s data wires) goes like this: The first wire will take all channels up to number of tdm-slots, before following wires (if any) are used. If the first wire is used fully, the remaining wires share the same clocks and the divider can be calculated for the first wire. Also, takes the number of tdm-slots into account when implicitly selecting the BLCK divider. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2f4b1e6bb25899e7d21e1764abcfb23f14250535 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Mar 24 11:47:43 2015 +0100 ASoC: rsnd: Fix duplicate const for DVC ramp rates Replace duplicated const keyword for 'dvc_ramp_rate' with proper array of const pointers to const strings. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d079535d5e1bf5e2e7c856bae2483414ea21e137 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Mar 23 16:31:09 2015 -0700 net: use for_each_netdev_safe() in rtnl_group_changelink() In case we move the whole dev group to another netns, we should call for_each_netdev_safe(), otherwise we get a soft lockup: NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [ip:798] irq event stamp: 255424 hardirqs last enabled at (255423): [<ffffffff81a2aa95>] restore_args+0x0/0x30 hardirqs last disabled at (255424): [<ffffffff81a2ad5a>] apic_timer_interrupt+0x6a/0x80 softirqs last enabled at (255422): [<ffffffff81079ebc>] __do_softirq+0x2c1/0x3a9 softirqs last disabled at (255417): [<ffffffff8107a190>] irq_exit+0x41/0x95 CPU: 0 PID: 798 Comm: ip Not tainted 4.0.0-rc4+ #881 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 task: ffff8800d1b88000 ti: ffff880119530000 task.ti: ffff880119530000 RIP: 0010:[<ffffffff810cad11>] [<ffffffff810cad11>] debug_lockdep_rcu_enabled+0x28/0x30 RSP: 0018:ffff880119533778 EFLAGS: 00000246 RAX: ffff8800d1b88000 RBX: 0000000000000002 RCX: 0000000000000038 RDX: 0000000000000000 RSI: ffff8800d1b888c8 RDI: ffff8800d1b888c8 RBP: ffff880119533778 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 000000000000b5c2 R12: 0000000000000246 R13: ffff880119533708 R14: 00000000001d5a40 R15: ffff88011a7d5a40 FS: 00007fc01315f740(0000) GS:ffff88011a600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007f367a120988 CR3: 000000011849c000 CR4: 00000000000007f0 Stack: ffff880119533798 ffffffff811ac868 ffffffff811ac831 ffffffff811ac828 ffff8801195337c8 ffffffff811ac8c9 ffff8801195339b0 ffff8801197633e0 0000000000000000 ffff8801195339b0 ffff8801195337d8 ffffffff811ad2d7 Call Trace: [<ffffffff811ac868>] rcu_read_lock+0x37/0x6e [<ffffffff811ac831>] ? rcu_read_unlock+0x5f/0x5f [<ffffffff811ac828>] ? rcu_read_unlock+0x56/0x5f [<ffffffff811ac8c9>] __fget+0x2a/0x7a [<ffffffff811ad2d7>] fget+0x13/0x15 [<ffffffff811be732>] proc_ns_fget+0xe/0x38 [<ffffffff817c7714>] get_net_ns_by_fd+0x11/0x59 [<ffffffff817df359>] rtnl_link_get_net+0x33/0x3e [<ffffffff817df3d7>] do_setlink+0x73/0x87b [<ffffffff810b28ce>] ? trace_hardirqs_off+0xd/0xf [<ffffffff81a2aa95>] ? retint_restore_args+0xe/0xe [<ffffffff817e0301>] rtnl_newlink+0x40c/0x699 [<ffffffff817dffe0>] ? rtnl_newlink+0xeb/0x699 [<ffffffff81a29246>] ? _raw_spin_unlock+0x28/0x33 [<ffffffff8143ed1e>] ? security_capable+0x18/0x1a [<ffffffff8107da51>] ? ns_capable+0x4d/0x65 [<ffffffff817de5ce>] rtnetlink_rcv_msg+0x181/0x194 [<ffffffff817de407>] ? rtnl_lock+0x17/0x19 [<ffffffff817de407>] ? rtnl_lock+0x17/0x19 [<ffffffff817de44d>] ? __rtnl_unlock+0x17/0x17 [<ffffffff818327c6>] netlink_rcv_skb+0x4d/0x93 [<ffffffff817de42f>] rtnetlink_rcv+0x26/0x2d [<ffffffff81830f18>] netlink_unicast+0xcb/0x150 [<ffffffff8183198e>] netlink_sendmsg+0x501/0x523 [<ffffffff8115cba9>] ? might_fault+0x59/0xa9 [<ffffffff817b5398>] ? copy_from_user+0x2a/0x2c [<ffffffff817b7b74>] sock_sendmsg+0x34/0x3c [<ffffffff817b7f6d>] ___sys_sendmsg+0x1b8/0x255 [<ffffffff8115c5eb>] ? handle_pte_fault+0xbd5/0xd4a [<ffffffff8100a2b0>] ? native_sched_clock+0x35/0x37 [<ffffffff8109e94b>] ? sched_clock_local+0x12/0x72 [<ffffffff8109eb9c>] ? sched_clock_cpu+0x9e/0xb7 [<ffffffff810cadbf>] ? rcu_read_lock_held+0x3b/0x3d [<ffffffff811ac1d8>] ? __fcheck_files+0x4c/0x58 [<ffffffff811ac946>] ? __fget_light+0x2d/0x52 [<ffffffff817b8adc>] __sys_sendmsg+0x42/0x60 [<ffffffff817b8b0c>] SyS_sendmsg+0x12/0x1c [<ffffffff81a29e32>] system_call_fastpath+0x12/0x17 Fixes: e7ed828f10bd8 ("netlink: support setting devgroup parameters") Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39c26180641da983269d5f24f124f8624f2587b4 Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Date: Tue Mar 24 05:15:22 2015 +0000 ASoC: ak4642: enable stereo line output power-save mode ak4642 has power-save mode for stereo line to reduce pop noise. This patch enables it. Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 610600c8c5e25d551a010b64412cf731c084b1e1 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Mon Mar 23 15:30:00 2015 -0400 tipc: validate length of sockaddr in connect() for dgram/rdm Commit f2f8036 ("tipc: add support for connect() on dgram/rdm sockets") hasn't validated user input length for the sockaddr structure which allows a user to overwrite kernel memory with arbitrary input. Fixes: f2f8036 ("tipc: add support for connect() on dgram/rdm sockets") Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83c3a7d4ac7fdc29a64bf9a5467a36b4c72a1eed Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Mar 18 18:38:30 2015 +0200 wlcore: remove wl12xx_platform_data Now that we have wlcore device-tree bindings in place (for both wl12xx and wl18xx), remove the legacy wl12xx_platform_data struct, and move its members into the platform device data (that is passed to wlcore) Davinci 850 is the only platform that still set the platform data in the legacy way (and doesn't have DT bindings), so remove the relevant code/Kconfig option from the board file (as suggested by Sekhar Nori) Since no one currently uses wlcore_spi, simply remove its platform data support (DT bindings will have to be added if someone actually needs it) Signed-off-by: Luciano Coelho <luca@xxxxxxxxx> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 99f84cae43df242f0d69ffcfee3a4d69f9b71b44 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Mar 18 18:38:29 2015 +0200 ARM: dts: add wl12xx/wl18xx bindings Replace all the pdata-quirks for setting wl12xx/wl18xx platform data with proper DT definitions. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Enric Balletbo i Serra <eballetbo@xxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5ea5c518ccaba0de97efb71c3bccbcdee681c2e6 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Mar 18 18:38:28 2015 +0200 wlcore: add device-tree support When running with device-tree, we no longer have a board file that can set up the platform data for wlcore. Allow this data to be passed from DT. Signed-off-by: Ido Yariv <ido@xxxxxxxxxx> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Tested-by: Sébastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d96c8b77407de054e7a485bdef793ed5be827df4 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Mar 18 18:38:27 2015 +0200 dt: bindings: add TI's wilink wireless device Add device tree binding documentation for TI's wilink (wl12xx and wl18xx) wlan chip. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 44486b48b066330e0ed0a66478cc49f5975ec6c1 Author: Luciano Coelho <luca@xxxxxxxxx> Date: Wed Mar 18 18:38:26 2015 +0200 wl12xx: use frequency instead of enumerations for pdata clocks Instead of defining an enumeration with the FW specific values for the different clock rates, use the actual frequency instead. Also add a boolean to specify whether the clock is XTAL or not. Change all board files to reflect this. Signed-off-by: Luciano Coelho <luca@xxxxxxxxx> [Eliad - small fixes, update board file changes] Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0117ec1970c5fa9c566045e7df8db76acc8f150e Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 18:40:02 2015 +0100 net: remove never used forwarding_accel_ops pointer from net_device Cc: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65582a7f4ce5bd7a1fb61516d9c2476f4f166f4e Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Mar 20 11:42:17 2015 +0000 usb: isp1760: fix spin unlock in the error path of isp1760_udc_start Commit a124820de5fd ("usb: isp1760: fix possible deadlock in isp1760_udc_irq") replaced spin_{un,}lock with spin_{un,}lock_irq{save,restore}. However it missed an error path resulting in the smatch warning as below: drivers/usb/isp1760/isp1760-udc.c:1230 isp1760_udc_start() warn: inconsistent returns 'irqsave:flags'. Locked on: line 1207 Unlocked on: line 1199 This patch fixes the spin unlock in the error path in isp1760_udc_start thereby removing the smatch warning mentioned above. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4218affdf57f938c04e3a916a9685ee27079f377 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Feb 3 19:43:45 2015 +0900 kbuild: remove warning about "make depend" Enough time has passed since "make depend" was deprecated. Nobody would be in trouble without this hint. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 70a4fd6c56d0f581a63dffd8c31d180e96ecf6a6 Author: Michal Marek <mmarek@xxxxxxx> Date: Wed Mar 11 11:01:01 2015 +0100 kbuild: Don't reset timestamps in include/generated if not needed Use filechk to generate asm-offsets.h and bounds.h. Based on a patch by Valdis Kletnieks. Reported-by: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Acked-By: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Reviewed-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 3e457371f436e89ce9239674828f9729a36b2595 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 19 17:10:16 2015 -0700 usb: musb: Fix fifo reads for dm816x with musb_dsps Looks like dm81xx can only do 32-bit fifo reads like am35x. Let's set up musb-dsps with a custom read_fifo function based on the compatible flag. Otherwise we can get the following errors when starting dhclient on a asix USB Ethernet adapter: asix 2-1:1.0 eth2: asix_rx_fixup() Bad Header Length 0xffff003c, offset 4 While at it, let's also remove pointless cast of the driver data. Cc: Bin Liu <binmlist@xxxxxxxxx> Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: George Cherian <george.cherian@xxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1ea276cbfc0201c9804f38474f3ec2c4488a2fc6 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Sat Mar 21 15:25:52 2015 +0200 usb: phy: Fix USB_ULPI_VIEWPORT Kconfig dependency USB_ULPI_VIEWPORT didn't depend on USB_ULPI, while USB_ULPI is using non user selectable USB_ULPI_VIEWPORT. Fix this. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f4b4976b6e3171d408d0f6e08b12189bf60d1d22 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 24 10:58:16 2015 +0100 usb: gadget: f_printer: fix dependencies If f_printer is selected without legacy g_printer, it should depend on USB_CONFIGFS which pulls in libcomposite. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 025ffe88ee605acb03dba0d920908dff5ec15dd0 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 24 17:43:21 2015 +0200 spi: pxa2xx: shift clk_div in one place This patch refactors ssp_get_clk_div() and pxa2xx_ssp_get_clk_div() to align clk_div calculations, i.e. ssp_get_clk_div() and quark_x1000_set_clk_regvals() will return plain clk_div and it will be shifted to proper position in pxa2xx_ssp_get_clk_div(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dbea4032f8024e5ea886341f7c39cf023e30e828 Author: Lars Poeschel <poeschel@xxxxxxxxxxx> Date: Tue Mar 24 09:25:10 2015 -0700 Input: usbtouchscreen - add new model from IRTOUCHSYSTEMS This adds support for another model of IRTOUCH SYSTEMS Co.,LtD infrared touchscreens. The USB vendorID/deviceID is 6615/0012. It is also sold under the label "Elektrosil". The datasheet states that coordinates for x and y are in the range from 0 to 32767. Signed-off-by: Lars Poeschel <poeschel@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit baa5a7bc5dd069bb37de9c8bdb5ea7f4e2e939e9 Merge: 963a70b e03eaa4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 17:22:44 2015 +0100 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: - Improve support of compressed kernel modules (Jiri Olsa) - Add --kallsyms option to 'perf diff' (David Ahern) - Add pid/tid filtering to 'report' and 'script' commands (David Ahern) - Add support for __print_array() in libtraceevent (Javi Merino) - Save DSO loading errno to better report errors (Arnaldo Carvalho de Melo) - Fix 'probe' to get ummapped symbol address on kernel (Masami Hiramatsu) - Print big numbers using thousands' group in 'kmem' (Namhyung Kim) - Remove (null) value of "Sort order" for perf mem report (Yunlong Song) Infrastructure changes: - Handle NULL comm name in libtracevent (Josef Bacik) - Libtraceevent synchronization with trace-cmd repo (Steven Rostedt) - Work around lack of sched_getcpu() in glibc < 2.6. (Vinson Lee) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e03eaa400cf8b8bded86cc5c41018a1c69152f16 Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue Mar 24 09:52:41 2015 -0600 perf tools: Add pid/tid filtering to report and script commands The 'record' and 'top' tools already allow a user to specify a CSV of pids and/or tids of tasks to collect data. Add those options to the 'report' and 'script' analysis commands to only consider samples related to the given pids/tids. This is also inline with the existing comm option. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427212361-7066-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6b1f342354d45c651cabd2ae0f61f55846f33e10 Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue Mar 24 09:51:57 2015 -0600 perf diff: Add kallsyms option Required for off-box analysis to convert kernel addresses. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427212317-7018-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 143526ee94a295ed33b9cc19e9532ab6d14a1cc0 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Tue Mar 24 09:51:12 2015 +0800 ASoC: rt286: check regmap_read result for ID check It is worth to check the regmap_read result for ID check since it is the first regmap_read. And we can check if there is any i2c issue. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 63a91033d52e64a22e571fe84924c0b7f21c280d Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:43 2015 +0900 kbuild: add generic mergeconfig target, %.config "scripts/kconfig/merge_config.sh && make oldconfig" works well enough for merging local config fragments, but Kbuild currently has the entry points only for "kvmconfig" and "tinyconfig". This commit provides the generic target for mergeconfig, so we can manage our own config fragments easily: put "foo.config" in arch/$(SRCARCH)/configs/ or kernel/configs/, and then run "make foo.config". Now "make kvmconfig" is just a shorthand of "make kvm_guest.config". Likewise, "make tinyconfig" is equivalent to "make allnoconfig tiny.config". Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit bc8f8f5fc47cd02c2c5f3580dac2fe6695af1edd Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:42 2015 +0900 merge_config.sh: rename MAKE to RUNMAKE The variable "MAKE" is used to store the command name that has invoked the Makefile. (Actually, it is already set to "make" if you run this script from a Makefile.) In this script, however, it is used to determine if Make should be run or not. It is not what we usually expect. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 3a975b8cfcbe026b535f83bde9a3c009bae214f9 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:41 2015 +0900 merge_config.sh: improve indentation It is true that we do not want to move the code too far to the right, but something like below is not preferred: if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then echo Value of $CFG is redefined by fragment $MERGE_FILE: echo Previous value: $PREV_VAL echo New value: $NEW_VAL echo elif [ "$WARNREDUN" = "true" ]; then echo Value of $CFG is redundant by fragment $MERGE_FILE: fi To fix this, call "continue" if the "grep" command fails to find the given CONFIG. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 371cfd4ff0611d8bc5d18bbb9cc6a2bc3d56cd3d Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:40 2015 +0900 kbuild: mergeconfig: remove redundant $(objtree) Kbuild always runs in $(objtree). Actually, $(objtree) is always set to "." by the top-level Makefile. We can omit "-O $(objtree)" and "$(objtree)/". Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit b9fe99c5b994c6ddc57780993966b18899526c0b Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:39 2015 +0900 kbuild: mergeconfig: move an error check to merge_config.sh Currently, "make tinyconfig" does not work with "-j" option. $ make mrproper $ make -j8 tinyconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf --allnoconfig Kconfig # # configuration written to .config # scripts/kconfig/Makefile:122: *** You need an existing .config for this target. Stop. make: *** [tinyconfig] Error 2 As shown above, "allnoconfig" has created the .config file before mergeconfig is called, but Make still raises a false alarm because of some sort of race condition. We can fix this issue by moving the error check to the shell script. Anyway, scripts/kconfig/merge_config.sh always requires an existing .config as a base file. It is reasonable to check its existence in the shell script. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit de4619937229378e81f95e99c9866acc8e207d34 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:38 2015 +0900 kbuild: mergeconfig: fix "jobserver unavailable" warning If "make kvmconfig" is run with "-j" option, a warning message, "jobserver unavailable: using -j1. Add `+' to parent make rule.", is displayed. $ make -s defconfig *** Default configuration is based on 'x86_64_defconfig' # # configuration written to .config # $ make -j8 kvmconfig Using ./.config as base Merging ./arch/x86/configs/kvm_guest.config [ snip ] # # merged configuration written to ./.config (needs make) # make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. scripts/kconfig/conf --oldconfig Kconfig [ snip ] # # configuration written to .config # Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit b839e1e846edb15cff322e262e8ce412d298232e Author: Javi Merino <javi.merino@xxxxxxx> Date: Tue Mar 24 11:07:19 2015 +0000 tools lib traceevent: Add support for __print_array() Since 6ea22486ba46 ("tracing: Add array printing helper") trace can generate traces with variable element size arrays. Add support to parse them. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427195239-15730-1-git-send-email-javi.merino@xxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e1644aae4589274223c1ab9072ddbda98dd97f6a Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:57 2015 -0400 tools lib traceevent: Free filter tokens in process_filter() valgrind showed that the filter token wasn't being freed properly in process_filter(). Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135923.817723903@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 82ac952be6348dc072dcfd80a2dcb511d0cd6bea Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:56 2015 -0400 tools lib traceevent: Add way to find sub buffer boundary For debugging purposes, it may be helpful for the kbuffer library to flag when crossing a sub buffer. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135923.650983637@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c5e691928bf166ac03430e957038b60adba3cf6c Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:55 2015 -0400 tools lib traceevent kbuffer: Remove extra update to data pointer in PADDING When a event PADDING is hit (a deleted event that is still in the ring buffer), translate_data() sets the length of the padding and also updates the data pointer which is passed back to the caller. This is unneeded because the caller also updates the data pointer with the passed back length. translate_data() should not update the pointer, only set the length. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.12+ Link: http://lkml.kernel.org/r/20150324135923.461431960@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5dbcfd930e430b33fb4dfded9c1af0cf432772b9 Author: Steven Rostedt <srostedt@xxxxxxxxxx> Date: Tue Mar 24 09:57:54 2015 -0400 tools lib traceevent: Make plugin options either string or boolean When a plugin option is defined, by default it is a boolean (true or false). If the option is something else, then it needs to set its "value" field to a default string other than NULL (can be just ""). If the value is not set then the option is considered boolean, and the updating of the option value will be handled accordingly. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135923.308372986@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2771984c7f5e6cab812e86ec152da4fb5f6df908 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:52 2015 -0400 tools lib traceevent: Add pevent_data_pid_from_comm() There is a pevent_data_comm_from_pid() that returns the cmdline stored for a given pid in order for users to map pids to comms, but there's no method to convert a comm back to a pid. This is useful for filters that specify a comm instead of a PID (it's faster than searching each individual event). Add a way to retrieve a comm from a pid. Since there can be more than one pid associated to a comm, it returns a data structure that lets the user iterate over all the saved comms for a given pid. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135923.001103479@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 55426296963c678650e26fc5e61ea75a5598ef5a Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:51 2015 -0400 tools lib traceevent: Handle %z in bprint format The %z printf specifier was not handled making trace_printk()s in the kernel that used this break on output. Reported-by: Shawn Bohrer <shawn.bohrer@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Shawn Bohrer <shawn.bohrer@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135922.844361717@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c20856c260236b96f54c452d38dbe1348ed34d2 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Tue Mar 24 15:10:21 2015 +0000 arm64: head.S: ensure idmap_t0sz is visible We write idmap_t0sz with SCTLR_EL1.{C,M} clear, but we only have the guarnatee that the kernel Image is clean, not invalid in the caches, and therefore we might read a stale value once the MMU is enabled. This patch ensures we invalidate the corresponding cacheline after the write as we do for all other data written before we set SCTLR_EL1.{C.M}, guaranteeing that the value will be visible later. We rely on the DSBs in __create_page_tables to complete the maintenance. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 99ad1417db2e83530b88e3eff1a40285d6ebfee9 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:50 2015 -0400 tools lib traceevent: Copy trace_clock and free it The pevent->trace_clock should not be a direct pointer to what was given. It should be copied and freed. Note, valgrind pointed this out when a caller passed in a pointer that needed to be freed and it never was. Ideally, pevent should copy it (which this change does), and free the copy. It's up to the caller to free the clock string passed in. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135922.695906738@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit deab6f55a2fe6fe044af61c9aad6a8e90cda6499 Author: Josef Bacik <jbacik@xxxxxx> Date: Tue Mar 24 09:57:49 2015 -0400 tools lib traceevent: Handle NULL comm name It is possible that a pid has no associated comm attached to it, although it can still be passed to pevent_register_comm(). But if comm is NULL, it will cause strdup() to segfault. To prevent this from happening, if comm is NULL use the default "<...>" name for the pid. Signed-off-by: Josef Bacik <jbacik@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135922.549965495@xxxxxxxxxxx Link: http://lkml.kernel.org/p/1403799732-30308-1-git-send-email-jbacik@xxxxxx Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d5efd9cc9cf2e422d064c912c7d5d985f52c1b2c Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Mar 6 11:54:10 2015 +0000 arm64: pmu: add support for interrupt-affinity property Historically, the PMU devicetree bindings have expected SPIs to be listed in order of *logical* CPU number. This is problematic for bootloaders, especially when the boot CPU (logical ID 0) isn't listed first in the devicetree. This patch adds a new optional property, interrupt-affinity, to the PMU node which allows the interrupt affinity to be described using a list of phandled to CPU nodes, with each entry in the list corresponding to the SPI at the same index in the interrupts property. Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 71bbf038eaa44a80dd6df0da7c708d4618172fe0 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Mar 6 11:54:08 2015 +0000 dt: pmu: extend ARM PMU binding to allow for explicit interrupt affinity The current ARM PMU binding relies on the PMU interrupts being listed in CPU logical order, which the device-tree author simply cannot know anything about. This patch introduces a new "interrupt-affinity" property, which makes the relationship between the PMU interrupts and their corresponding CPU explicit. Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 18425f13a0890ac1e88a64276771c1ae10030b4a Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 24 11:49:02 2015 -0300 perf symbols: Save DSO loading errno to better report errors Before, when some problem happened while trying to load the kernel symtab, 'perf top' would show: â??â??Warning:â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? â??The vmlinux file can't be used. â?? â??Kernel samples will not be resolved.â?? â?? â?? â?? â?? â??Press any key... â?? â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? Now, it reports: # perf top --vmlinux /dev/null â??â??Warning:â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? â??The /tmp/passwd file can't be used: Invalid ELF fileâ?? â??Kernel samples will not be resolved. â?? â?? â?? â?? â?? â??Press any key... â?? â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? This is possible because we now register the reason for not being able to load the symtab in the dso->load_errno member, and provide a dso__strerror_load() routine to format this error into a strerror like string with a short reason for the error while loading. That can be just forwarding the dso__strerror_load() call to strerror_r(), or, for a separate errno range providing a custom message. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-u5rb5uq63xqhkfb8uv2lxd5u@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 17e44dc46f035ca27847bbf75ffd3072ed49f13c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 23 18:23:02 2015 -0300 perf target: Simplify handling of strerror_r return To deal with forwarding the strerror_r (GNU) return we need to check if the returned value is the buffer we passed or maybe some constant (unknown error), simplify that action by using scnprintf, that will do all the buflen size checks, trimming if needed. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> 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: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d0ik6i5gjew56j0qphql28ou@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e1e455f4f4d35850c30235747620d0d078fe9f64 Author: Vinson Lee <vlee@xxxxxxxxxxx> Date: Mon Mar 23 12:09:16 2015 -0700 perf tools: Work around lack of sched_getcpu in glibc < 2.6. This patch fixes this build error with glibc < 2.6. CC util/cloexec.o cc1: warnings being treated as errors util/cloexec.c: In function â??perf_flag_probeâ??: util/cloexec.c:24: error: implicit declaration of function â??sched_getcpuâ?? util/cloexec.c:24: error: nested extern declaration of â??sched_getcpuâ?? make: *** [util/cloexec.o] Error 1 Signed-off-by: Vinson Lee <vlee@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.18+ Link: http://lkml.kernel.org/r/1427137761-16119-1-git-send-email-vlee@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9fd85eb502a78bd812db58bd1f668b2a06ee30a5 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Mar 6 11:54:09 2015 +0000 ARM: pmu: add support for interrupt-affinity property Historically, the PMU devicetree bindings have expected SPIs to be listed in order of *logical* CPU number. This is problematic for bootloaders, especially when the boot CPU (logical ID 0) isn't listed first in the devicetree. This patch adds a new optional property, interrupt-affinity, to the PMU node which allows the interrupt affinity to be described using a list of phandled to CPU nodes, with each entry in the list corresponding to the SPI at the same index in the interrupts property. Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 77cfe388767572586b7d4fd533c38f902d020f17 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Mar 23 15:30:40 2015 +0900 perf kmem: Print big numbers using thousands' group Like perf stat, this makes easy to read the numbers on stat like below: # perf kmem stat SUMMARY ======= Total bytes requested: 9,770,900 Total bytes allocated: 9,782,712 Total bytes wasted on internal fragmentation: 11,812 Internal fragmentation: 0.120744% Cross CPU allocations: 74/152,819 Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1427092244-22764-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 929a6bb71aa5ae6cb15b4b42ab7ac183ee286a1a Author: Javi Merino <javi.merino@xxxxxxx> Date: Fri Mar 20 18:12:55 2015 +0000 tools lib traceevent: Factor out allocating and processing args The sequence of allocating the print_arg field, calling process_arg() and verifying that the next event delimiter is repeated twice in process_hex() and will also be used for process_int_array(). Factor it out to a function to avoid writing the same code again and again. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426875176-30244-2-git-send-email-javi.merino@xxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e6d7c91c8c5ea532584056f3e8bf1643310c8ef7 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Sun Mar 22 20:40:22 2015 +0900 perf probe: Fix to get ummapped symbol address on kernel Fix to get correctly unmapped symbol address on kernel. This allows us to probe on syscall symbols which are aliases of SyS_ functions with using debuginfo. Without this fix: ---- # ./perf probe -a sys_write Failed to find debug information for address 3b0100 Probe point 'sys_write' not found. Error: Failed to add events. ---- The address 0x3b0100 is a mapped address, and not usable in debuginfo. With this fix: ---- # ./perf probe -a sys_write Added new event: probe:sys_write (on sys_write) You can now use it in all perf tools, such as: perf record -e probe:sys_write -aR sleep 1 ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150322114022.32639.19096.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 228f14f2cbf481e0ec0bd0c7f947383cfa2d5167 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Mon Mar 23 11:50:05 2015 +0800 perf tools: Remove (null) value of "Sort order" for perf mem report When '--sort' is not set, 'perf mem report" will print a null pointer as the output value of sort order, so fix it. Example: Before this patch: $ perf mem report # To display the perf.data header info, please use --header/--header-only options. # # Samples: 18 of event 'cpu/mem-loads/pp' # Total weight : 188 # Sort order : (null) # ... After this patch: $ perf mem report # To display the perf.data header info, please use --header/--header-only options. # # Samples: 18 of event 'cpu/mem-loads/pp' # Total weight : 188 # Sort order : local_weight,mem,sym,dso,symbol_daddr,dso_daddr,snoop,tlb,locked # ... Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427082605-12881-1-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f901caaf8e45c7917029ec9197622f0167ea2d40 Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:38:08 2015 -0600 selftests: Add tool to generate kselftest tar archive gen_kselftest_tar.sh tool generates kselftest tar archive. This tool supports uncompressed tar, gz, bz, and xz compression formats and the default compression format is gzip. This tool runs kselftest install tool as its back-end. Usage: cd tools/testing/selftests ./gen_kselftest_tar [ tar | targz | tarbz2 | tarxz ] Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 219794052f753fae54def9ba6758b31447b0244d Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:19:50 2015 -0600 selftests: Add kselftest install tool kselftest_install.sh tool installs selftests in default location which is tools/testing/selftests/kselftest or an user specified location. This tool invokes back-end selftests install target with the install location. Usage: cd tools/testing/selftests ./kselftest_install.sh [ install_dir ] Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit c754ff966d54b3a6cb45cd57524186a16e7f5831 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:35 2015 +0200 dgnc: Clean up dgnc_sysfs.h Remove redundant blank lines, move absolute include after relative include. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b84f2d910ff918ef88e920c0d23b6b8d8fa48cd Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:34 2015 +0200 dgnc: remove unused stuff from dgnc_cls.h Remove unused defines from dgnc_cls.h Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20dad752850cd2b512f3ba48a5d9a13b15dabdf9 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:33 2015 +0200 dgnc: remove old 2.4-2.6 compat kernel defines dgnc_kcompat.h contains some old legacy defines in case the kernel doesn't have __user defined but for current kernel versions these defines don't make sense and are useless so remove them. Move the TTY_FLIPBUF_SIZE define to digi.h because it's used in the code. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d533a524a88a278ea3fd1dd279000cb0df0e0014 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:32 2015 +0200 dgnc: use linux/types.h instead of dgnc_types.h Dgnc_types.h unnecesarily defines TRUE as 1 and FALSE as 0 because we already have a widely used linux/types.h so convert all TRUE to true, FALSE to false and edit the dgnc_board struct to make sure it uses "bool". Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 850b41f7ba75aa4fb472eff730061957e42a2372 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:31 2015 +0200 dgnc: get rid of dpacompat.h, move remaining stuff to digi.h Dpacompat.h contained a lot of unused #defines and only few things are used from it so since we've trimmed down digi.h, now we can delete dpacompat.h and move remaining stuff into digi.h. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 944b3ad4264f0745cf4204473742a86efc382f0e Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:30 2015 +0200 dgnc: clean up digi.h Remove a lot of unused structs and defines from digi.h. We still have to be careful with TIOCM_LE and TIOCMSET/TIOCMBIC because termios.h and ioctls.h respectfully redefine them. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f82d189c335ad0d9121abca77b7a79fbd120b553 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:29 2015 +0200 dgnc: remove unused dgnc_ioctl_name() command dgnc_ioctl_name() is never used anywhere so remove it Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 509fca899d5682a6eee3d1fb70bba7c89439034b Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Mar 23 19:50:21 2015 -0600 iommu/vt-d: Remove unused variable Unused after commit 71684406905f ("iommu/vt-d: Detach domain *only* from attached iommus"). Reported by 0-day builder. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 91d57155dc5ab4b311624b7ee570339b6af19ad5 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Tue Mar 24 13:50:27 2015 +0000 arm64: head.S: ensure visibility of page tables After writing the page tables, we use __inval_cache_range to invalidate any stale cache entries. Strongly Ordered memory accesses are not ordered w.r.t. cache maintenance instructions, and hence explicit memory barriers are required to provide this ordering. However, __inval_cache_range was written to be used on Normal Cacheable memory once the MMU and caches are on, and does not have any barriers prior to the DC instructions. This patch adds a DMB between the page tables being written and the corresponding cachelines being invalidated, ensuring that the invalidation makes the new data visible to subsequent cacheable accesses. A barrier is not required before the prior invalidate as we do not access the page table memory area prior to this, and earlier barriers in preserve_boot_args and set_cpu_boot_mode_flag ensures ordering w.r.t. any stores performed prior to entering Linux. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Fixes: c218bca74eeafa2f ("arm64: Relax the kernel cache requirements for boot") Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4bef52f377b6410a89fc580a8948033f613854f8 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 12 20:24:31 2015 +0300 staging: dgnc: some off by one bugs "dgnc_NumBoards" is the number of filled out elements in the dgnc_Board[] array. "->nasync" and "->maxports" are the same value. They are the number of channels in the ->channels[] array so these tests should be ">=" instead of ">" so we avoid reading past the end of the arrays. I cleaned up the conditions in dgnc_mgmt_ioctl() a bit. There was a work around for the off by one bug in the case where there were no boards which is no longer needed. "channel" is unsigned so it can't be negative. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9533ae539d5cc3d5fc501529d2df7b77e20449c Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Mar 23 18:40:49 2015 +0100 checkkconfigsymbols.py: fix sorted output Commit b1a3f243485f ("checkkconfigsymbols.py: make it Git aware") mistakenly removed to print undefined Kconfig symbols in alphabetical order. Furthermore, the script does not print anything anymore when the entire tree is checked (i.e., when no commit is specified). This patch restores the sorted output and adds the missing print for the default case. Additionally, the file lists are now sorted as well which (a) makes it easier to read and (b) makes the output deterministic. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b112e7c90e64612e6319565688bdf0e05d572bb2 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:47 2015 +0200 CRYPTO: Octeon: Enable OCTEON SHA1/256/512 module selection Enable user to select OCTEON SHA1/256/512 modules. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9492/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 041a80c5c0cd408311261dc31db31adf3de00905 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:46 2015 +0200 CRYPTO: Octeon: Add SHA512 module Add OCTEON SHA512 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9496/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8ab368303caa9daa16b811963fcd693897a3a401 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:45 2015 +0200 CRYPTO: Octeon: Add SHA256 module Add OCTEON SHA256 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9493/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 63bb06ee82aacf923dc59c72aff021c232897e62 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:44 2015 +0200 CRYPTO: Octeon: Add SHA1 module Add OCTEON SHA1 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9495/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a3d2a10be8e8d45439b6289a5d5151693228b6e6 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:43 2015 +0200 CRYPTO: Octeon: Add instruction definitions for SHA1/256/512 Add instruction definitions for SHA1/256/512. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9491/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e606ee200a83bec648aaf5442ce9e71fc07b215d Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:42 2015 +0200 CRYPTO: Octeon: always disable preemption when using crypto engine Always disable preemption on behalf of the drivers when crypto engine is taken into use. This will simplify the usage. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9494/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f7715e72f5630b42c33360dbf8d22e52aaa76f8e Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:41 2015 +0200 CRYPTO: Octeon: Don't disable bottom half in octeon-md5 Don't disable bottom half while the crypto engine is in use, as it should be unnecessary: All kernel crypto engine usage is wrapped with crypto engine state save/restore, so if we get interrupted by softirq that uses crypto they should save and restore our context. This actually fixes an issue when running OCTEON MD5 with interrupts disabled (tcrypt mode=302). There's a WARNING because the module is trying to enable the bottom half with irqs disabled: [ 52.656610] ------------[ cut here ]------------ [ 52.661439] WARNING: CPU: 1 PID: 428 at /home/aaro/git/linux/kernel/softirq.c:150 __local_bh_enable_ip+0x9c/0xd8() [ 52.671780] Modules linked in: tcrypt(+) [...] [ 52.763539] [<ffffffff8114082c>] warn_slowpath_common+0x94/0xd8 [ 52.769465] [<ffffffff81144614>] __local_bh_enable_ip+0x9c/0xd8 [ 52.775390] [<ffffffff81119574>] octeon_md5_final+0x12c/0x1e8 [ 52.781144] [<ffffffff81337050>] shash_compat_digest+0xd0/0x1b0 Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9490/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e2c5aaa5fd3b4038061adf878254cceb30e41ddd Author: Alex Dowad <alexinbeijing@xxxxxxxxx> Date: Fri Mar 13 20:14:41 2015 +0200 mips: copy_thread(): rename 'arg' argument to 'kthread_arg' The 'arg' argument to copy_thread() is only ever used when forking a new kernel thread. Hence, rename it to 'kthread_arg' for clarity (and consistency with do_fork() and other arch-specific implementations of copy_thread()). Signed-off-by: Alex Dowad <alexinbeijing@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Eunbong Song <eunb.song@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx (open list:MIPS) Patchwork: https://patchwork.linux-mips.org/patch/9546/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9a6a2b96dfd8b01336f8519a5be7fb353cfa62fb Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sat Mar 14 17:55:54 2015 +0100 MIPS: BCM47XX: Support SPROM prefixes for PCI devices Support parsing SPROMs with prefixes defined like devpath1=pci/1/1 Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9552/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a0d46a3dfdc3f3d639b3fa84b84a58e116e4bf2c Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Thu Mar 5 16:44:42 2015 +0100 ARM: cpuidle: Register per cpuidle device If the cpuidle init cpu operation returns -ENXIO, therefore reporting HW failure or misconfiguration, the CPUidle driver skips the respective cpuidle device initialization because the associated platform back-end HW is not operational. That prevents the system to crash and allows to handle the error gracefully. For example, on Qcom's platform, each core has a SPM. The device associated with this SPM is initialized before the cpuidle framework. If there is an error in the initialization (eg. error in the DT), the system continues to boot but in degraded mode as some SPM may not be correctly initialized. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit edc16d8d481e4c73f9d70d648463d4b25d2c662b Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:38:02 2015 +0200 stating: octeon-usb: cvmx_usb_initialize(): eliminate extra indentation Eliminate extra indentation by putting all the code into the same block. Also delete a bogus comment. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ad9c95b3a595a2ec516dfcbc677043ea5ac9a76 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:38:01 2015 +0200 staging: octeon-usb: try to recover from failed hardware reset On some hardware the USB fails to initialize to sane state after cold boot. We can detect this based on some unexpected interrupt bits, and recover by re-initializing. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3b8edc0f366bd7049eafa11d0c0187f039c0528 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:38:00 2015 +0200 staging: octeon-usb: fail and warn if DMA counters are wrong Fail and WARN if DMA counters are wrong. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb04114f37eb434b5bc18293274420d2a664adc2 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:59 2015 +0200 staging: octeon-usb: move cvmx_usb_shutdown() Move cvmx_usb_shutdown() to allow its use from some other functions. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0c8c72ba35b34a1fbbc9abe2a023fb27b40d916 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:58 2015 +0200 staging: octeon-usb: rewrite port reset Don't disable port before resetting. Also perform reset unconditionally when requested. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 164814bb6e21dfd27952ddcbe65709ed7aa83d4a Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:57 2015 +0200 staging: octeon-usb: move fifo setup to controller reset from port reset Move FIFO setup to controller reset from port reset. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2263251fbb3f7e79b8c2dafdf45614522ddb43f4 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:56 2015 +0200 staging: octeon-usb: move fifo setup into a separate routine Move FIFO setup into a separate routine. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ed64a4c8f5d53aaa6b20e7424b127be7392f700 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:55 2015 +0200 staging: octeon-usb: use USB stack to turn on power Use USB stack to turn on the power bit. It will also do the necessary delays. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8eedbd107cc73d6dfb5f8df2307c43cf27b0107 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:54 2015 +0200 staging: octeon-usb: don't poll interrupts early Don't poll interrupts before we have registered the HCD. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5e79e6ea6d21c342a94dda9f5d91a3e8d882e56 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:53 2015 +0200 staging: octeon-usb: refactor usbn block init Move one-time state data structure initialization out of cvmx_usb_initialize(). This enables to re-initialize USBN HW block without messing up data structures. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 532edc93e23e656094ede793c92207a2c237740e Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:52 2015 +0200 staging: octeon-usb: never retry after xacterr Never retry after xacterr. The DMA engine cannot handle that properly and may result in wrong transfer count and hang. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d712648a22851bef1a830274a3b5793178d3493d Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:51 2015 +0200 staging: octeon-usb: program DMA engine based on transfer direction Program DMA engine based on transfer direction. We are only transferring to one direction at a time. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af8e4c71f6ddb9b2e20a0b5bf81a391f4552205c Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:50 2015 +0200 staging: octeon-usb: use __BITFIELD_FIELD Use __BITFIELD_FIELD to define bitfields. OCTEON can at least in theory run also in little-endian mode, so the bitfield definitions should not assume big-endian byte order. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31170da59e0ffc90b94c4a6bbfecb657b2c5e3ad Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:49 2015 +0200 staging: octeon-usb: delete redundant field from octeon_temp_buffer Since we are not moving/realigning the original pointer returned by kmalloc, we don't need to store the value in a separate field. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f9697b714b291d81a289fe6f1f7818ac910bccb Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:48 2015 +0200 staging: octeon-usb: remove useless prefix from pipe flags Remove useless prefix from pipe flags and adjust comments. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68d435dd54ecfe7cb34d57204ed3ea4691fb83ea Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:47 2015 +0200 staging: octeon-usb: remove useless prefix from internal routines Original CVMX code used "__" to distinguis internal USB functions from public ones. But in Linux all cvmx_usb routines are internal to this driver, so such separation is useless. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4bdbdd916036effd90b18165819879b01c1fed8 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:46 2015 +0200 staging: octeon-usb: eliminate 64-bit register access wrappers Eliminate 64-bit register access wrappers. Since we don't implement register-level debugging outputs, these are useless. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 607078fcb1614b505a4904ab51a2eb2ebf6b9d7b Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:45 2015 +0200 staging: octeon-usb: remove internal function parameter sanity checks Remove some function parameter sanity checks from internal functions where we can rely them being called with sane parameters. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecf896b97de9757fd835034ad849680218babc93 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Mar 24 08:58:43 2015 +0100 power_supply: charger-manager: Fix dereferencing of ERR_PTR If power_supply_register() fails do not dereference returned ERR_PTR. The pointer was dereferenced to print name of battery which registration failed. Instead use the name from the power supply description passed to the power_supply_register() function. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit fbea947c7d122f4704001fac2a96b617f767037a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Mar 23 16:34:51 2015 +0100 HID: input: Fix NULL pointer dereference when power_supply_register fails Do not call power_supply_powers() if power_supply_register() failed earlier. This fixes possible NULL pointer dereference by power_supply_powers() in such case. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1d601da27b052be84eb49854ddbc7c1046d6702d Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Wed Feb 25 20:08:20 2015 +0200 drm/omap: tiler: add hibernation callback Setting a dev_pm_ops resume callback but not a set of hibernation handler means that pm function will not be called upon hibernation. Fix this by using SIMPLE_DEV_PM_OPS, which appropriately assigns the suspend and hibernation handlers and move omap_dmm_resume under CONFIG_PM_SLEEP to avoid build warnings. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> [tomi valkeinen: add missing 'static'] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 8450c8d071d858e8f95855a7b5897df3981e3d21 Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Date: Thu Feb 26 15:57:17 2015 +0200 drm/omap: add hibernation callbacks Setting a dev_pm_ops suspend/resume pair but not a set of hibernation functions means those pm functions will not be called upon hibernation. Fix this by using SIMPLE_DEV_PM_OPS, which appropriately assigns the suspend and hibernation handlers and move omap_drm_suspend/omap_drm_resume under CONFIG_PM_SLEEP to avoid build warnings. Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> [tomi.valkeinen@xxxxxx: fix conflict, clean up description] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 223bfd6911a0129d819b4dadb0eec93da014a9d9 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Tue Feb 10 14:15:52 2015 +0200 drm/omap: keep ref to old_fb We store the fb being page-flipped to 'old_fb' field, but we don't increase the ref count of the fb when doing that. While I am not sure if it can cause problem in practice, it's still safer to keep a ref when storing a pointer to a fb. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7439507f0118c2e806a9c7644882ee33f73e46a9 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Dec 17 14:34:23 2014 +0200 drm/omap: fix race conditon in DMM The omapdrm DMM code sometimes crashes with: WARNING: CPU: 0 PID: 1235 at lib/list_debug.c:36 __list_add+0x8c/0xbc() list_add double add: new=e9265368, prev=e90139c4, next=e9265368. This is caused by the code calling release_engine() twice for the same engine. dmm_txn_commit(wait=true) call is supposed to wait until the DMM transaction has been finished. And it does that, but it does not wait for the irq handler to finish. What happens is that the irq handler is triggered, and it either wakes up the thread that called dmm_txn_commit(), or that thread never even slept because the transaction was finished in the HW very quickly. That thread then continues executing, even if the irq handler is not yet finished, and a new transaction may be initiated. If that transaction is async (i.e. wait=false), a 'async' flag is set to true. The original irq handler, which has yet not finished, then sees the transaction as 'async', even if it was supposed to be 'sync'. When that happens, the irq handler does an extra release_engine() call because it thinks it need to release the engine, leading to the crash. This patch fixes the issue by using completion to ensure that the irq handler has finished before a dmm_txn_commit(wait=true) may continue. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 76c4055f2c9a7ae556e96c1cadd82ee182b7d87e Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Dec 17 14:34:22 2014 +0200 drm/omap: fix race condition with dev->obj_list omap_gem_objects are added to dev->obj_list in omap_gem_new, and removed in omap_gem_free_object. Unfortunately there's no locking for dev->obj_list, which eventually leads to a crash: WARNING: CPU: 1 PID: 1123 at lib/list_debug.c:59 __list_del_entry+0xa4/0xe0() list_del corruption. prev->next should be e9281344, but was ea722b84 Add a spinlock to protect dev->obj_list. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 8519c62ce610e512722d1d8e3991c02cca59010c Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Nov 28 14:34:16 2014 +0200 drm/omap: do not use BUG_ON(!spin_is_locked(x)) spin_is_locked(x) returns always 0 on uniprocessor, triggering BUG() in omapdrm. Change it to use assert_spin_locked() to fix the issue. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit ef4222838846fdecb6f1eae5671d9c462fd34852 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Feb 26 15:20:25 2015 +0200 drm/omap: only ignore DIGIT SYNC LOST for TV output We need to ignore DIGIT SYNC LOST error when enabling/disabling TV output. The code does that, but it ignores the DIGI SYNC LOST when enabling any output. Normally this does no harm, but it could make us miss DIGIT SYNC LOST on some rare occasions. Fix the code to only ignore DIGIT SYNC LOST when enabling/disabling TV. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit a36af73f5e825c4c5ae5b11580c24fa7841bd5e2 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Feb 26 15:20:24 2015 +0200 drm/omap: fix race with error_irq omapdrm tries to avoid error floods by unregistering the error irq when an error happens, and then registering the error irq again later. However, the code is racy, as it sometimes tries to unregister the error irq when it's already unregistered, leading to WARN(). Also, the code only registers the error irq again when something is done on that particular output, i.e. if only TV is used to flip the buffers, and LCD is showing a same buffer, an error on LCD will cause the LCD error irq to be unregistered and never registered again. To fix this, let's keep the error irqs always enabled and trust the DRM_ERROR_RATELIMITED to limit the flood. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 3b143fc80c077be54f8f7859d00f2db79250c884 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Nov 19 12:50:13 2014 +0200 drm/omap: use DRM_ERROR_RATELIMITED() for error irqs omapdrm uses normal DRM_ERROR() print when the HW reports an error. As we sometimes may get a flood of errors, let's rather use DRM_ERROR_RATELIMITED(). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit ccd7b5ed7d1ed47ee5ea2f66325972811eb093bd Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Nov 14 15:18:28 2014 +0200 drm/omap: stop connector polling during suspend When not using proper hotplug detection, DRM polls periodically the connectors to find out if a cable is connected. This polling can happen at any time, even very late in the suspend process. This causes a problem with omapdrm, when the poll happens during the suspend process after GPIOs have been disabled, leading to a crash in gpio_get(). This patch fixes the issue by adding suspend and resume hooks to omapdrm, in which we disable and enable, respectively, the polling. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit f5a1d3174f9e1d2d55bfd06626586963283e58be Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Nov 14 15:18:27 2014 +0200 drm/omap: remove dummy PM functions omapdrm has dummy functions for platform_device's suspend/resume/shutdown. The functions don't do anything, and those platform device functions are deprecated, so remove them from omapdrm. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit e7e24df4715906ad25041b0a4ca613186d4cf849 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Nov 10 12:23:01 2014 +0200 drm/omap: tiler: fix race condition with engine->async The tiler irq handler uses engine->async value, but the code that sets engine->async and enables the interrupt does not have a barrier. This may cause the irq handler to see the old value of engine->async, causing memory corruption. Reported-by: Harinarayan Bhatta <harinarayan@xxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 2dd3887b503c1cc8a61ef4a4f24462ce03f3ada5 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Oct 3 15:14:08 2014 +0000 drm/omap: fix plane's channel selection omap_plane_pre_apply() sets the plane's output channel too late, only after the plane has already been otherwise configured and enabled. This causes problems, as at the configuration stage we need to make decisions based on the output channel. This may lead to bad plane settings or failing to setup the plane. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7cb0d6c17b96b8bf3c25de2dfde4fdeb9191f4c3 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 19:24:29 2014 +0000 drm/omap: fix TILER on OMAP5 On OMAP5 it is not possible to use TILER buffer with CPU when caching or write-combining is used. Doing so leads to errors from the memory manager. However, on OMAP4, write-combining works fine. This patch adds platform specific data for the TILER, and a function tiler_get_cpu_cache_flags() which can be used to get the caching mode to be used. Note that without write-combining the use of the TILER buffer with CPU is unusably slow. It's still good to have it operational for testing purposes. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 2dab0bab6b749590086d44a04f9debc4fe894fd6 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 19:24:28 2014 +0000 drm/omap: handle incompatible buffer stride and pixel size omapdrm doesn't check if the pitch of the framebuffer and the color format's bits-per-pixel are compatible. omapdss requires that the stride of a buffer is an integer number of pixels For example, when using modetest with a display that has x resolution of 1280, and using packed 24 RGB mode (3 bytes per pixel), modetest allocates a buffer with a byte stride of 4 * 1280 = 5120. But 5120 / 3 = 1706.666... pixels, which causes wrong colors and a tilt on the screen. Add a check into omapdrm to return an error if the user tries to use such a combination. Note: this is not a HW requirement at least for non-rotation use cases, but a SW driver requirement. In the future we should study if also rotation use cases are fine with any stride size, and if so, change the driver to allow these strides. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 925e4940489a792b4aaf601c22c1943fbd9fd558 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 19:24:27 2014 +0000 drm/omap: fix error handling in omap_framebuffer_create() When an error happens in omap_framebuffer_create(), omap_framebuffer_create() calls omap_framebuffer_destroy() if the fb struct has been allocated. However, that crashes, as omap_framebuffer_destroy(), which calls drm_framebuffer_cleanup(), should only be called after drm_framebuffer_init() Fix this by just calling kfree() for the allocated fb when an error happens. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c7c1aecd8e490c3818eaaea33e3c0d372931350a Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 19:24:26 2014 +0000 drm/omap: fix operation without fbdev omapdrm should work fine even if fbdev is missing. The current driver crashes in that case, though, as it is missing checks for the fbdev. Add the checks so that we don't free fbdev or restore fbdev mode when there's no fbdev. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 160b2dd712ee4621617fbd3eb7d8e28375ecdba0 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:27 2015 +0100 ARM: tegra: nyan: The WiFi card is kept powered during suspend Even if the host controller doesn't have power during suspend, the card is kept powered. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit f7c5f5d9e25dc524f1cdc6cf821400ac29dae486 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Sep 3 19:25:57 2014 +0000 drm/omap: add a comment why locking is missing unpin_worker() calls omap_framebuffer_unpin() without any locks, which looks very suspicious. However, both pin and unpin are always called via the driver's private workqueue, so the access is synchronized that way. Add a comment to make this clear. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit f36eb5a899d3ea57e3d167427260848e116e27a0 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Sep 3 19:25:54 2014 +0000 drm/omap: add pin refcounting to omap_framebuffer omap_framebuffer_pin() and omap_framebuffer_unpin() are currently broken, as they cannot be called multiple times (i.e. pin, pin, unpin, unpin), which is what happens in certain cases. This issue causes the driver to possibly use 0 as an address for a displayed buffer, leading to OCP error from DSS. This patch fixes the issue by adding a simple pin_count, used to track the number of pins. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 3f4d17c4eca9769d56218a38dbfc482794fbde2f Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Sep 3 19:25:53 2014 +0000 drm/omap: clear omap_obj->paddr in omap_gem_put_paddr() Clear omap_obj's paddr when unmapping the memory, so that it's easier to catch bad use of the paddr. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 549a75498151370214f86eacc788a5832ac01e59 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Sep 3 19:25:50 2014 +0000 drm/omap: page_flip: return -EBUSY if flip pending The DRM documentation says: "If a page flip is already pending, the page_flip operation must return -EBUSY." Currently omapdrm returns -EINVAL instead. Fix omapdrm by returning -EBUSY. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 173372975457ca0fa0acddf60d087976bacb6ab3 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Sep 3 19:25:49 2014 +0000 drm/omap: fix encoder-crtc mapping OMAP DSS hardware supports changing the output port to which an overlay manager's video stream goes. For example, DPI video stream can come from any of the four overlay managers on OMAP5. However, as it's difficult to manage the change in the driver, the omapdss driver does not support that at the moment, and has a hardcoded overlay manager per output. omapdrm, on the other hand, uses the hardware features to find out which overlay manager to use for an output, which causes problems. For example, on OMAP5, omapdrm tries to use DIGIT overlay manager for DPI output, instead of the LCD3 required by the omapdss driver. This patch changes the omapdrm to use the omapdss driver's hardcoded overlay managers, which fixes the issue. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit fa50d7ee45bfd6db66b38fc4930ce3cc3661b845 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Mar 23 21:33:09 2015 +0100 crypto: arm/ghash - fix big-endian bug in ghash This fixes a bug in the new v8 Crypto Extensions GHASH code that only manifests itself in big-endian mode. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 43eaa2a1ad70d72876cdbb2eb5450a2665e4770f Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Mar 23 10:42:53 2015 -0500 x86/mce: Define mce_severity function pointer Rename mce_severity() to mce_severity_intel() and assign the mce_severity function pointer to mce_severity_amd() during init on AMD. This way, we can avoid a test to call mce_severity_amd every time we get into mce_severity(). And it's cleaner to do it this way. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Suggested-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Chen Yucong <slaoub@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427125373-2918-3-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit bf80bbd7dcf525e41e0673fbaa8cd21d2344b460 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Mar 23 10:42:52 2015 -0500 x86/mce: Add an AMD severities-grading function Add a severities function that caters to AMD processors. This allows us to do some vendor-specific work within the function if necessary. Also, introduce a vendor flag bitfield for vendor-specific settings. The severities code uses this to define error scope based on the prescence of the flags field. This is based off of work by Boris Petkov. Testing details: Fam10h, Model 9h (Greyhound) Fam15h: Models 0h-0fh (Orochi), 30h-3fh (Kaveri) and 60h-6fh (Carrizo), Fam16h Model 00h-0fh (Kabini) Boris: Intel SNB AMD K8 (JH-E0) Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Chen Yucong <slaoub@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: linux-edac@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427125373-2918-2-git-send-email-Aravind.Gopalakrishnan@xxxxxxx [ Fixup build, clean up comments. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 46d212cbe4111351741b85b29dbb106b50d68532 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Mar 24 11:48:24 2015 +0100 ALSA: asihpi: Fix duplicate const for clock sources Replace duplicated const keyword for 'sampleclock_sources' with proper array of const pointers to const strings. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9a303dc7ba93769e96471158892b264042ddc3fc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 23 12:44:49 2015 -0700 sound: Deparenthesize negative error returns Make the returns a bit more kernel standard style. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6321fd6b6f0942e986b297e8192febfc860b83b3 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 30 12:36:12 2015 +0100 drm: Remove unused DRM_MODE_OBJECT_BRIDGE With bridges now moving to a separate registry they are no longer DRM objects, hence this define is no longer needed. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit df1d3069a4c4a66ceebb3ff7cf99384103203bc3 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 30 12:33:58 2015 +0100 drm/bridge: ptn3460: Fix sparse warnings The ptn3460_bridge_attach symbol is never used outside this file, so it should be static. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8a7d56b371ffe52f14d7a987d612a274b534bdf1 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 30 12:29:09 2015 +0100 drm/bridge: ps8622: Fix sparse warnings The ps8622_attach and ps8522_driver symbols are never used outside this file, so they should be static. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b2ea8772799d3a0f747eddcf2006fa70e86fad81 Author: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Date: Tue Jan 20 22:08:53 2015 +0530 drm/bridge: Add I2C based driver for ps8622/ps8625 bridge This patch adds drm_bridge driver for parade DisplayPort to LVDS bridge chip. Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Signed-off-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Tested-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Tested-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> [treding@xxxxxxxxxx: break cyclic dependency, add KMS helper dependency] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 1755de860b0f000d262d6ea326a14afa036b654d Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:26 2015 +0100 ARM: tegra: nyan: Add gpio-restart node The Nyan Chromebooks have a GPIO line dedicated to restarting the system. Using this line will make sure that the TPM is restarted as well. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 97e147e86b87bb2ab8be46c5e388c8058eda56d6 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:23 2015 +0100 ARM: tegra: nyan: Set maximum frequency for SPI flash Otherwise the SPI core will refuse to register the device. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 33b274ba10888627f826c9afc26f44f3ed8ec2b4 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:22 2015 +0100 ARM: tegra: Use generated pinmux data for Nyan Big Google has submitted a board config for the pinmux programming of the Nyan Big board. Use the whole of it as it's generated to make it easier to update as the configuration gets fixed in the future. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 1d1690b85726540c3d2bf0907ce4b30bfec42dc1 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:21 2015 +0100 ARM: tegra: Use pwrseq-simple for the wifi in Nyan The Nyan boards have a Marvell 88w8897 wifi card connected through SDIO that needs the reset line to be asserted before mmc power up and deasserted afterwards. This patch also adds references to the power supplies of the card so that the regulators are enabled when it's probed. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a0b9c1cb1636543b659e019a59c048bb911c80e2 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:20 2015 +0100 ARM: tegra: Add node for trackpad in Nyan boards The Nyan boards have a eKTH3000 from Elan as their trackpad, connected through I2C. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 59fe02cb079f2a521cf25724c9194e3db6a52bfe Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:19 2015 +0100 ARM: tegra: Add DTS for the nyan-blaze board It's commercial name is HP Chromebook 14 and is substantially similar to the Acer Chromebook 13 (nyan-big). Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 53d02858bce5eadd3882dcb83441b01d3511f486 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:17 2015 +0100 ARM: tegra: Move generic parts out of the nyan-big DT In preparation for adding the DT for the nyan-blaze board. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 412e575dec93b91a2a1ee30ee47b7ddb742679a0 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:16 2015 +0100 ARM: tegra: Change model of sound card in Nyan Big Change it from "Acer Chromebook 13" to GoogleNyanBig so it's unique and identifiable. With this change the card id exposed to userspace becomes GoogleNyanBig instead of the current A13. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3d03203a323b629866e732672237fbb8074d1df6 Author: Lucas Stach <dev@xxxxxxxxxx> Date: Mon Jan 5 22:57:46 2015 +0100 ARM: tegra: Use generated pinmux for Beaver board Replace the current incomplete pinmux setup with a proper one generated using the tegra pinmux scripts. Signed-off-by: Lucas Stach <dev@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit fb8166410db9d3e20d19baf14897e77b18db2501 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Feb 17 11:57:45 2015 -0700 ARM: tegra: Import latest Jetson TK1 pinmux syseng has revamped the Jetson TK1 pinmux spreadsheet, basing the content completely on correct configuration for the board/schematic, rather than the previous version which was based on the bare minimum changes relative to another reference board. This content comes from Jetson_TK1_customer_pinmux.xlsm (v09) downloaded from https://developer.nvidia.com/hardware-design-and-development. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a71aaf66725e8fc02253a3bbea15d27e656434fe Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Mar 23 14:07:57 2015 -0500 iwlwifi: Fix memory leak in iwl_req_fw_callback() In this routine, kzalloc allocates a memory block. This allocation is freed in the error paths, but not in the normal exit, thus the allocation is leaked. The kmemleak facility was used to find the leak. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Johannes Berg <johannes.berg@xxxxxxxxx> Cc: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Cc: Intel Linux Wireless <ilw@xxxxxxxxxxxxxxx> commit c2d885c6c90b0ada58355ee3f53c7581d2904603 Author: Ramalingam C <ramalingam.c@xxxxxxxxx> Date: Mon Mar 23 23:12:02 2015 +0530 drm/i915: Removing the drrs capability enum initialization As part of allocation of the drm_i915_private variable, drrs capability enum is initialized to DRRS_NOT_SUPPORTED. Hence need not initialize at each connector init. Moreover initializing this enum at connector init will reset the successful DRRS initialization of previous connector, as we have the DRRS support for only one panel at a time. Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0e0870448aa134e91fafe3c39ae270561b495459 Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:46 2015 +0100 ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64 ARM32 and ARM64 have the same DT definitions and the same approaches. The generic ARM cpuidle driver can be put in common for those two architectures. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Rob Herring <robherring2@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 69e6cb3d2f356a5c88abf18a8d266c31a74cfc08 Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:46 2015 +0100 ARM64: cpuidle: Remove arm64 reference In the next patch, this driver will be common across ARM/ARM64. Remove all refs to ARM64 as it will be shared with ARM32. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Rob Herring <robherring2@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit c9d62161490e2b74e51bcaf2acea07e27ce833eb Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:46 2015 +0100 ARM64: cpuidle: Rename cpu_init_idle to a common function name With this change the cpuidle-arm64.c file calls the same function name for both ARM and ARM64. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Rob Herring <robherring2@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 191de17aa3c139f58e1c75af5b4fe0e166e618da Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:45 2015 +0100 ARM64: cpuidle: Replace cpu_suspend by the common ARM/ARM64 function Call the common ARM/ARM64 'arm_cpuidle_suspend' instead of cpu_suspend function which is specific to ARM64. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Rob Herring <robherring2@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 449e056c76cc8c777f3f5c3fb51c197ba2300c0c Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:45 2015 +0100 ARM: cpuidle: Add a cpuidle ops structure to be used for DT The current state of the different cpuidle drivers is the different PM operations are passed via the platform_data using the platform driver paradigm. This approach allowed to split the low level PM code from the arch specific and the generic cpuidle code. Unfortunately there are complaints about this approach as, in the context of the single kernel image, we have multiple drivers loaded in memory for nothing and the platform driver is not adequate for cpuidle. This patch provides a common interface via cpuidle ops for all new cpuidle driver and a definition for the device tree. It will allow with the next patches to a have a common definition with ARM64 and share the same cpuidle driver. The code is optimized to use the __init section intensively in order to reduce the memory footprint after the driver is initialized and unify the function names with ARM64. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Rob Herring <robherring2@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 096fad9ebfadb4922332f98895ea948e8d7fe6a7 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Mar 23 19:11:35 2015 +0200 drm/i915: move clearing of RPS interrupt bits from disable to reset time The logical place for clearing the RPS latched interrupt bits is when resetting the RPS interrupts, so move the corresponding part from the RPS disable function to the reset function. During resetting we already cleared the IIR bits, so the only thing missing there was clearing pm_iir. Note that we call gen6_disable_rps_interrupts() also during driver load and resume time via intel_uncore_sanitize() when i915 interrupts are still not installed. If there are any pending RPS bits at this point (which after this patch wouldn't be cleared) they will be cleared by the reset code via the interrupt preinstall hooks. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 58072ccbb81c6f2d67c5b4cc7597707c4fb86a5e Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Mar 23 19:11:34 2015 +0200 drm/i915: fix race when clearing RPS IIR bits When disabling RPS interrupts there is a race where we disable RPS inerrupts while the interrupt handler is running and the handler has already latched the pending RPS interrupt from the master IIR register. Afterwards the disabling path clears the PM IIR bits, making the state of pending interrupts inconsistent from the interrupt handler's point of view. This triggers the following warning: "The master control interrupt lied (PM)!". To fix this make sure that any running interrupt handler (which may have already latched the master IIR) finishes before clearing the IIR bits. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87347 Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a76c7f4604937bc781bfc411ef92c59474ddadda Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Sun Mar 22 20:48:14 2015 +0100 x86/asm/entry/64: Fold syscall32_cpu_init() into its sole user Having syscall32/sysenter32 initialization in a separate tiny function, called from within a function that is already syscall init specific, serves no real purpose. Its existense also caused an unintended effect of having wrmsrl(MSR_CSTAR) performed twice: once we set it to a dummy function returning -ENOSYS, and immediately after (if CONFIG_IA32_EMULATION), we set it to point to the proper syscall32 entry point, ia32_cstar_target. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d0c294c53a771ae7e84506dfbd8c18c30f078735 Author: Michal KubeÄ?ek <mkubecek@xxxxxxx> Date: Mon Mar 23 15:14:00 2015 +0100 tcp: prevent fetching dst twice in early demux code On s390x, gcc 4.8 compiles this part of tcp_v6_early_demux() struct dst_entry *dst = sk->sk_rx_dst; if (dst) dst = dst_check(dst, inet6_sk(sk)->rx_dst_cookie); to code reading sk->sk_rx_dst twice, once for the test and once for the argument of ip6_dst_check() (dst_check() is inline). This allows ip6_dst_check() to be called with null first argument, causing a crash. Protect sk->sk_rx_dst access by READ_ONCE() both in IPv4 and IPv6 TCP early demux code. Fixes: 41063e9dd119 ("ipv4: Early TCP socket demux.") Fixes: c7109986db3c ("ipv6: Early TCP socket demux") Signed-off-by: Michal Kubecek <mkubecek@xxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dff173de84958a677ce0d24b1da3cdc3a32b4238 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Mar 23 10:56:14 2015 +0200 bnx2x: Fix statistics locking scheme Statistics' state-machine in bnx2x driver must be synced with various driver flows, but its current locking scheme manages to be wasteful [using 2 locks + additional local variable] and prone to race-conditions at the same time, as the state-machine and 'action' are being accessed under different locks. In addition, current 'safe exec' isn't in fact safe, since the only guarantee it gives is that DMA transactions are over, but ramrods might still be running. This patch cleans up said logic, leaving us with a single lock for the entire flow and removing the possible races. Changes from v2: - Switched into mutex locking from semaphore locking. - Release locks on error flows. Changes from v1: Failure to acquire lock fails flow instead of printing a warning and allowing access to the critical section. 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 7ef70aabe073380b150ee520a2605ab997a8e9d4 Merge: 90a5a89 555828e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:36:37 2015 -0400 Merge tag 'linux-can-fixes-for-4.0-20150322' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can Marc Kleine-Budde says: ==================== pull-request: can 2015-03-22 this is a pull-request of 7 patches for net/master. Ahmed S. Darwish fixes another two problems in the kvaser_usb driver. A patch by Colin Ian King for the gs_usb driver adds a missing check for kzalloc allocation failures. Two patches by Stephane Grosjean for the peak_usb driver add missing support for ISO / non-ISO mode switching. Andri Yngvason contributes a patch to fix the state handling in the flexcan driver. The last patch by Andreas Werner for the flexcan driver add missing EPROBE_DEFER handling for the transceiver regulator. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0eebf9b5d2da61f84cddd0ec2bb41be93f8fc82b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 16:36:25 2015 +1100 powerpc: Remove unused st_le*() and ld_le* functions The powerpc specific st_le*() and ld_le*() functions in arch/powerpc/asm/swab.h no longer have any users. They are also misleadingly named, since they always byteswap, even on a little-endian host. This patch removes them. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit d078eed35de3866cb4af654db87765f53edbacce Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 16:36:24 2015 +1100 powerpc: Cleanup KVM emulated load/store endian handling Sometimes the KVM code on powerpc needs to emulate load or store instructions from the guest, which can include both normal and byte reversed forms. We currently (AFAICT) handle this correctly, but some variable names are very misleading. In particular we use "is_bigendian" in several places to actually mean "is the IO the same endian as the host", but we now support little-endian powerpc hosts. This also ties into the misleadingly named ld_le*() and st_le*() functions, which in fact always byteswap, even on an LE host. This patch cleans this up by renaming to more accurate "host_swabbed", and uses the generic swab*() functions instead of the powerpc specific and misleadingly named ld_le*() and st_le*() functions. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 7a8bf874487cc8990857973a789d7161b699389d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 16:36:23 2015 +1100 powerpc: Remove arch specific byteswappers from the MXC MMC driver When the MXC MMUC driver is used on a Freescale MPC512x machine, it contains some additional byteswapping code (I'm assuming this is a workaround for a hardware defect). This uses the ppc specific st_le32() function, but there's no reason not to use the generic swab32() function instead. gcc is capable of generating the efficient ppc byte-reversing load/store instructions without the arch-specific helper. This patch, therefore, switches to the generic byteswap routine. Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit c2d5a71064b5d5d169496907030c887eb6590553 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 13:32:03 2015 +1100 media/bt8xx: Remove old powerpc cruft The powerpc arch code enables PCI_COMMAND_MEMORY (and has done so for more than 10 years at least !) on pci_enable_device() and the hackery on the MMIO accessor is useless as well, our writel does everything this driver should need. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit d5c1d8c567781932e3ab2c62e8fcfee0283d9580 Merge: ba7c95e 90a5a89 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:22:43 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/netfilter/nf_tables_core.c The nf_tables_core.c conflict was resolved using a conflict resolution from Stephen Rothwell as a guide. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 09:53:17 2015 +1100 rhashtable: Fix sleeping inside RCU critical section in walk_stop The commit 963ecbd41a1026d99ec7537c050867428c397b89 ("rhashtable: Fix use-after-free in rhashtable_walk_stop") fixed a real bug but created another one because we may end up sleeping inside an RCU critical section. This patch fixes it properly by replacing the mutex with a spin lock that specifically protects the walker lists. Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6406d8fbb014bebdfb5bf3c244548958aec7379 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:08 2015 +1100 powerpc/eeh: Remove device_node dependency The patch removes struct eeh_dev::dn and the corresponding helper functions: eeh_dev_to_of_node() and of_node_to_eeh_dev(). Instead, eeh_dev_to_pdn() and pdn_to_eeh_dev() should be used to get the pdn, which might contain device_node on PowerNV platform. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 0bd785873c6a6c9bd50d2ae19862f69ee5759fb9 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:07 2015 +1100 powerpc/eeh: Replace device_node with pci_dn in eeh_ops There are 3 EEH operations whose arguments contain device_node: read_config(), write_config() and restore_config(). The patch replaces device_node with pci_dn. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit ff57b454ddb938d98d48d8df356357000fedc88c Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:06 2015 +1100 powerpc/eeh: Do probe on pci_dn Originally, EEH core probes on device_node or pci_dev to populate EEH devices and PEs, which conflicts with the fact: SRIOV VFs are usually enabled and created by PF's driver and they don't have the corresponding device_nodes. Instead, SRIOV VFs have dynamically created pci_dn, which can be used for EEH probe. The patch reworks EEH probe for PowerNV and pSeries platforms to do probing based on pci_dn, instead of pci_dev or device_node any more. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit e8e9b34cef237d4d6fdc0d350cd8a95d1adb9ee9 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:05 2015 +1100 powerpc/eeh: Create eeh_dev from pci_dn instead of device_node The patch adds function traverse_pci_dn(), which is similar to traverse_pci_devices() except it takes pci_dn, not device_node as parameter. The pci_dev.c has been reworked to create eeh_dev from pci_dn, instead of device_node. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit c035ff1d2eaa03ab40839041e955a86a8e412eb4 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:04 2015 +1100 powerpc/pci: Trace more information from pci_dn Originally, EEH probes on device_node or pci_dev and populates the corresponding eeh_dev. In the subsequent patches, EEH will probes on pci_dn and populates the corresponding eeh_dev. So we have to cache some information in pci_dn, either from device_node or SRIOV PF's enablement platform hook, to populate the eeh_dev properly. The motivation to probe pci_dn, instead of device node or pci_dev, to populate eeh_dev is SRIOV VFs are dynamically created and we don't have the corresponding device nodes for them. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 3532a741f80c3b9ca975006f93a4a477e07e2cb3 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:03 2015 +1100 powerpc/powernv: Use pci_dn, not device_node, in PCI config accessor The PCI config accessors previously relied on device_node. Unfortunately, VFs don't have a corresponding device_node, so change the accessors to use pci_dn instead. [bhelgaas: changelog] Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit cca87d303c85b257a7b0fd34f9d6fce1c59880a2 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:02 2015 +1100 powerpc/pci: Refactor pci_dn Currently, the PCI config accessors are implemented based on device node. Unfortunately, SRIOV VFs won't have the corresponding device nodes. pci_dn will be used in replacement with device node for SRIOV VFs. So we have to use pci_dn in PCI config accessors. The patch refactors pci_dn in following aspects to make it ready to be used in PCI config accessors as we do in subsequent patch: * pci_dn is organized as a hierarchy tree. PCI device's pci_dn is put to the child list of pci_dn of its upstream bridge or PHB. VF's pci_dn will be put to the child list of pci_dn of PF's bridge. * For one particular PCI device (VF or not), its pci_dn can be found from pdev->dev.archdata.pci_data, PCI_DN(devnode), or parent's list. The fast path (fetching pci_dn through PCI device instance) is populated during early fixup time. [bhelgaas: changelog] Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 12a89dbac7914c58b0d207ef608e1c02534708bc Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 14:00:47 2015 +1100 net/ethernet/sfc: Don't use of_node_to_eeh_dev() This is deprecated, it forces the driver to hop via the OF node that may or may not exist, instead use pci_dev_to_eeh_dev() which is simpler. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> commit ce046c568cbfb4734583131086f88cfe993c01d0 Merge: 7f163d0 9f0761c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:12:15 2015 -0400 Merge branch 'ipv6_stable_privacy_address' Hannes Frederic Sowa says: ==================== ipv6: RFC7217 stable privacy addresses implementation this is an implementation of basic support for RFC7217 stable privacy addresses. Please review and consider for net-next. v2: * Correct references to RFC 7212 -> RFC 7217 in documentation patch (thanks, Eric!) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f0761c154eaf2bf796f7e0e3431631de8d362ae Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:06 2015 +0100 ipv6: add documentation for stable_secret, idgen_delay and idgen_retries knobs Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1855b7c3e8537c2a4f5a53c797624713bb3becb4 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:05 2015 +0100 ipv6: introduce idgen_delay and idgen_retries knobs This is specified by RFC 7217. Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f40ef77adb237954d615a76621df1b80a329b31 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:04 2015 +0100 ipv6: do retries on stable privacy addresses If a DAD conflict is detected, we want to retry privacy stable address generation up to idgen_retries (= 3) times with a delay of idgen_delay (= 1 second). Add the logic to addrconf_dad_failure. By design, we don't clean up dad failed permanent addresses. Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e8e676d0b3c7f074c719c7c05b20296b9b0b0b1 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:03 2015 +0100 ipv6: collapse state_lock and lock Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64236f3f3d742469e4027b83a9515e84e9ab21b4 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:02 2015 +0100 ipv6: introduce IFA_F_STABLE_PRIVACY flag We need to mark appropriate addresses so we can do retries in case their DAD failed. Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 622c81d57b392cc9be836670eb464a4dfaa9adfe Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:01 2015 +0100 ipv6: generation of stable privacy addresses for link-local and autoconf This patch implements the stable privacy address generation for link-local and autoconf addresses as specified in RFC7217. RID = F(Prefix, Net_Iface, Network_ID, DAD_Counter, secret_key) is the RID (random identifier). As the hash function F we chose one round of sha1. Prefix will be either the link-local prefix or the router advertised one. As Net_Iface we use the MAC address of the device. DAD_Counter and secret_key are implemented as specified. We don't use Network_ID, as it couples the code too closely to other subsystems. It is specified as optional in the RFC. As Net_Iface we only use the MAC address: we simply have no stable identifier in the kernel we could possibly use: because this code might run very early, we cannot depend on names, as they might be changed by user space early on during the boot process. A new address generation mode is introduced, IN6_ADDR_GEN_MODE_STABLE_PRIVACY. With iproute2 one can switch back to none or eui64 address configuration mode although the stable_secret is already set. We refuse writes to ipv6/conf/all/stable_secret but only allow ipv6/conf/default/stable_secret and the interface specific file to be written to. The default stable_secret is used as the parameter for the namespace, the interface specific can overwrite the secret, e.g. when switching a network configuration from one system to another while inheriting the secret. Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d1bec99320d4e96897805440f8cf4f68eff226b Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:00 2015 +0100 ipv6: introduce secret_stable to ipv6_devconf This patch implements the procfs logic for the stable_address knob: The secret is formatted as an ipv6 address and will be stored per interface and per namespace. We track initialized flag and return EIO errors until the secret is set. We don't inherit the secret to newly created namespaces. Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab2bb3241739870d417979a81843631e5588a2d7 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:35:59 2015 +0100 lib: EXPORT_SYMBOL sha_init We need this symbol later on in ipv6.ko, thus export it via EXPORT_SYMBOL like sha_transform already is. Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f163d07ecd6fbba2ed3a2fcd0ca830846cc170e Merge: cc330b5 a6f31f5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:10:50 2015 -0400 Merge branch 'bcmgenet-next' Florian Fainelli says: ==================== net: bcmgenet: integrated GPHY power up/down This patch series implements integrated Gigabit PHY power up/down, which allows us to save close to 300mW on some designs when the Gigabit PHY is known to be unused (e.g: during bcmgenet_close or bcmgenet_suspend not doing Wake-on-LAN). Changes in v2: - drop an extra bcmgenet_ext_readl in bcmgenet_phy_power_set ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6f31f5e3b0498fc0034e07c172925316064201c Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:57 2015 -0700 net: bcmgenet: power down and up GPHY during suspend/resume In case the interface is not used, power down the integrated GPHY during suspend. Similarly to bcmgenet_open(), bcmgenet_resume() powers on the GPHY prior to any UniMAC activity. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a642c4f7906f36bf431da41973d6ff16b723f079 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:56 2015 -0700 net: bcmgenet: power up and down integrated GPHY when unused Power up the GPHY while we are bringing-up the network interface, and conversely, upon bring down, power the GPHY down. In order to avoid creating hardware hazards, make sure that the GPHY gets powered on during bcmgenet_open() prior to the UniMAC being reset as the UniMAC may start creating activity towards the GPHY if we reverse the steps. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9d608c153a28758e0cd11c907edbaf5cce47abc Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:55 2015 -0700 net: bcmgenet: implement GPHY power down sequence Implement the GPHY power down sequence by setting all power down bits, putting the GPHY in reset, and finally cutting the 25Mhz reference clock. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c81a8ee61cf4ad29371d7454f65bd8769ba4395 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:54 2015 -0700 net: bcmgenet: fix GPHY power-up sequence We were missing a number of extra steps and delays to power-up the GPHY, update the sequence to reflect the proper procedure here. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8212c98358f44a1c54941c2c01d54ea4a7ddb6dd Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:53 2015 -0700 net: bcmgenet: rename bcmgenet_ephy_power_up In preparation for implementing the power down GPHY sequence, rename bcmgenet_ephy_power_up to illustrate that it is not EPHY specific but PHY agnostic, and add an "enable" argument. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d017e2193ad285d7d0aac429c4c73945729de73 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:52 2015 -0700 net: bcmgenet: update bcmgenet_ephy_power_up to clear CK25_DIS bit The CK25_DIS bit controls whether a 25Mhz clock is fed to the GPHY or not, in preparation for powering down the integrated GPHY when relevant, make sure we clear that bit. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca8cf341903f90070e191cc8be8f705ab7af2d4a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:51 2015 -0700 net: bcmgenet: propagate errors from bcmgenet_power_down If bcmgenet_power_down() fails, we would want to propagate a return value from bcmgenet_wol_power_down_cfg() to know about this. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc330b55903aad9bce554427a0181d1ee3873b7c Merge: e167359 ccd57b1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:07:56 2015 -0400 Merge branch 'rhashtable-next' Herbert Xu says: ==================== rhashtable: Multiple rehashing This series introduces multiple rehashing. Recall that the original implementation in br_multicast used two list pointers per hash node and therefore is limited to at most one rehash at a time since you need one list pointer for the old table and one for the new table. Thanks to Josh Triplett's suggestion of using a single list pointer we're no longer limited by that. So it is perfectly OK to have an arbitrary number of tables in existence at any one time. The reader and removal simply has to walk from the oldest table to the newest table in order not to miss anything. Insertion without lookup are just as easy as we simply go to the last table that we can find and add the entry there. However, insertion with uniqueness lookup is more complicated because we need to ensure that two simultaneous insertions of the same key do not both succeed. To achieve this, all insertions including those without lookups are required to obtain the bucket lock from the oldest hash table that is still alive. This is determined by having the rehasher (there is only one rehashing thread in the system) keep a pointer of where it is up to. If a bucket has already been rehashed then it is dead, i.e., there cannot be any more insertions to it, otherwise it is considered alive. This guarantees that the same key cannot be inserted in two different tables in parallel. Patch 1 is actually a bug fix for the walker. Patch 2-5 eliminates unnecessary out-of-line copies of jhash. Patch 6 makes rhashtable_shrink shrink to fit. Patch 7 introduces multiple rehashing. This means that if we decide to grow then we will grow regardless of whether the previous one has finished. However, this is still asynchronous meaning that if insertions come fast enough we may still end up with a table that is overutilised. Patch 8 adds support for GFP_ATOMIC allocations of struct bucket_table. Finally patch 9 enables immediate rehashing. This is done either when the table reaches 100% utilisation, or when the chain length exceeds 16 (the latter can be disabled on request, e.g., for nft_hash. With these patches the system should no longer have any trouble dealing with fast insertions on a small table. In the worst case you end up with a list of tables that's log N in length while the rehasher catches up. v3 restores rhashtable_shrink and fixes a number of bugs in the multiple rehashing patches (7 and 9). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccd57b1bd32460d27bbb9c599e795628a3c66983 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:28 2015 +1100 rhashtable: Add immediate rehash during insertion This patch reintroduces immediate rehash during insertion. If we find during insertion that the table is full or the chain length exceeds a set limit (currently 16 but may be disabled with insecure_elasticity) then we will force an immediate rehash. The rehash will contain an expansion if the table utilisation exceeds 75%. If this rehash fails then the insertion will fail. Otherwise the insertion will be reattempted in the new hash table. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9ecfdaa1090b5988422eaf5348ea1954d2d7219 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:27 2015 +1100 rhashtable: Allow GFP_ATOMIC bucket table allocation This patch adds the ability to allocate bucket table with GFP_ATOMIC instead of GFP_KERNEL. This is needed when we perform an immediate rehash during insertion. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b824478b2145be78ac19e1cf44e2b9036c7a9608 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:26 2015 +1100 rhashtable: Add multiple rehash support This patch adds the missing bits to allow multiple rehashes. The read-side as well as remove already handle this correctly. So it's only the rehasher and insertion that need modification to handle this. Note that this patch doesn't actually enable it so for now rehashing is still only performed by the worker thread. This patch also disables the explicit expand/shrink interface because the table is meant to expand and shrink automatically, and continuing to export these interfaces unnecessarily complicates the life of the rehasher since the rehash process is now composed of two parts. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18093d1c0d1e032142ee24825678b0a8977d74ba Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:25 2015 +1100 rhashtable: Shrink to fit This patch changes rhashtable_shrink to shrink to the smallest size possible rather than halving the table. This is needed because with multiple rehashing we will defer shrinking until all other rehashing is done, meaning that when we do shrink we may be able to shrink a lot. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d022949810b1ea82d46a576d6166035720bbb32 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:24 2015 +1100 tipc: Use default rhashtable hashfn This patch removes the explicit jhash value for the hashfn parameter of rhashtable. The default is now jhash so removing the setting makes no difference apart from making one less copy of jhash in the kernel. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11b58ba146ccd7b105c4962c75f2e744053c85bc Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:22 2015 +1100 netlink: Use default rhashtable hashfn This patch removes the explicit jhash value for the hashfn parameter of rhashtable. As the key length is a multiple of 4, this means that we will actually end up using jhash2. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31ccde2dacea8375c3a7d6fffbf0060ee0d40214 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:21 2015 +1100 rhashtable: Allow hashfn to be unset Since every current rhashtable user uses jhash as their hash function, the fact that jhash is an inline function causes each user to generate a copy of its code. This function provides a solution to this problem by allowing hashfn to be unset. In which case rhashtable will automatically set it to jhash. Furthermore, if the key length is a multiple of 4, we will switch over to jhash2. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de91b25c8011089f5dd99b9d24743db1f550ca4b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:20 2015 +1100 rhashtable: Eliminate unnecessary branch in rht_key_hashfn When rht_key_hashfn is called from rhashtable itself and params is equal to ht->p, there is no point in checking params.key_len and falling back to ht->p.key_len. For some reason gcc couldn't figure out that params is the same as ht->p. So let's help it by only checking params.key_len when it's a constant. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d88252f9bb74d266653542b753f9ab404e8b88db Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:19 2015 +1100 rhashtable: Add barrier to ensure we see new tables in walker The walker is a lockless reader so it too needs an smp_rmb before reading the future_tbl field in order to see any new tables that may contain elements that we should have walked over. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e167359be0c7d856445aa97e1bf82b5a55eb55b2 Merge: 40451fd af9bfbd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:03:43 2015 -0400 Merge tag 'linux-can-next-for-4.1-20150323' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-03-23 this is a pull request of 6 patches for net-next/master. A patch by Florian Westphal, converts the skb->destructor to use sock_efree() instead of own destructor. Ahmed S. Darwish's patch converts the kvaser_usb driver to use unregister_candev(). A patch by me removes a return from a void function in the m_can driver. Yegor Yefremov contributes a patch for combined rx/tx LED trigger support. A sparse warning in the esd_usb2 driver was fixes by Thomas Körper. Ben Dooks converts the at91_can driver to use endian agnostic IO accessors. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40451fd013878b005ccae767dfebc07dfecf85d9 Merge: 682f048 e35158e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:02:46 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for net-next. Basically, more incremental updates for br_netfilter from Florian Westphal, small nf_tables updates (including one fix for rb-tree locking) and small two-liner to add extra validation for the REJECT6 target. More specifically, they are: 1) Use the conntrack status flags from br_netfilter to know that DNAT is happening. Patch for Florian Westphal. 2) nf_bridge->physoutdev == NULL already indicates that the traffic is bridged, so let's get rid of the BRNF_BRIDGED flag. Also from Florian. 3) Another patch to prepare voidization of seq_printf/seq_puts/seq_putc, from Joe Perches. 4) Consolidation of nf_tables_newtable() error path. 5) Kill nf_bridge_pad used by br_netfilter from ip_fragment(), from Florian Westphal. 6) Access rb-tree root node inside the lock and remove unnecessary locking from the get path (we already hold nfnl_lock there), from Patrick McHardy. 7) You cannot use a NFT_SET_ELEM_INTERVAL_END when the set doesn't support interval, also from Patrick. 8) Enforce IP6T_F_PROTO from ip6t_REJECT to make sure the core is actually restricting matches to TCP. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc9e605dc6cb2e32fedae4ac2f61ad3b5f8d623d Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Mar 24 12:31:40 2015 +1030 module: do not print allocation-fail warning on bogus user buffer size init_module(2) passes user-specified buffer length directly to vmalloc(). It makes warn_alloc_failed() to print out a lot of info into dmesg if user specified insane size, like -1. Let's silence the warning. It doesn't add much value to -ENOMEM return code. Without the patch the syscall is prohibitive noisy for testing with trinity. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 7b63c3ab9b10b8a9cdc6b3a9e0e3d6a8a5d28970 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Tue Mar 24 12:31:40 2015 +1030 kernel/module.c: fix typos in message about unused symbols Fix typos in pr_warn message about unused symbols Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 682f048bd49449f4ab978664a7f69a44a74e3caa Author: Alexander Drozdov <al.drozdov@xxxxxxxxx> Date: Mon Mar 23 09:11:13 2015 +0300 af_packet: pass checksum validation status to the user Introduce TP_STATUS_CSUM_VALID tp_status flag to tell the af_packet user that at least the transport header checksum has been already validated. For now, the flag may be set for incoming packets only. Signed-off-by: Alexander Drozdov <al.drozdov@xxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68c2e5de360411674d9821ee2b46f5d8ee965161 Author: Alexander Drozdov <al.drozdov@xxxxxxxxx> Date: Mon Mar 23 09:11:12 2015 +0300 af_packet: make tpacket_rcv to not set status value before run_filter It is just an optimization. We don't need the value of status variable if the packet is filtered. Signed-off-by: Alexander Drozdov <al.drozdov@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c69736696cf3742b37d850289dc0d7ead177bb14 Author: Fan Du <fan.du@xxxxxxxxx> Date: Mon Mar 23 15:00:41 2015 -0700 inet: fix double request socket freeing Eric Hugne reported following error : I'm hitting this warning on latest net-next when i try to SSH into a machine with eth0 added to a bridge (but i think the problem is older than that) Steps to reproduce: node2 ~ # brctl addif br0 eth0 [ 223.758785] device eth0 entered promiscuous mode node2 ~ # ip link set br0 up [ 244.503614] br0: port 1(eth0) entered forwarding state [ 244.505108] br0: port 1(eth0) entered forwarding state node2 ~ # [ 251.160159] ------------[ cut here ]------------ [ 251.160831] WARNING: CPU: 0 PID: 3 at include/net/request_sock.h:102 tcp_v4_err+0x6b1/0x720() [ 251.162077] Modules linked in: [ 251.162496] CPU: 0 PID: 3 Comm: ksoftirqd/0 Not tainted 4.0.0-rc3+ #18 [ 251.163334] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 251.164078] ffffffff81a8365c ffff880038a6ba18 ffffffff8162ace4 0000000000009898 [ 251.165084] 0000000000000000 ffff880038a6ba58 ffffffff8104da85 ffff88003fa437c0 [ 251.166195] ffff88003fa437c0 ffff88003fa74e00 ffff88003fa43bb8 ffff88003fad99a0 [ 251.167203] Call Trace: [ 251.167533] [<ffffffff8162ace4>] dump_stack+0x45/0x57 [ 251.168206] [<ffffffff8104da85>] warn_slowpath_common+0x85/0xc0 [ 251.169239] [<ffffffff8104db65>] warn_slowpath_null+0x15/0x20 [ 251.170271] [<ffffffff81559d51>] tcp_v4_err+0x6b1/0x720 [ 251.171408] [<ffffffff81630d03>] ? _raw_read_lock_irq+0x3/0x10 [ 251.172589] [<ffffffff81534e20>] ? inet_del_offload+0x40/0x40 [ 251.173366] [<ffffffff81569295>] icmp_socket_deliver+0x65/0xb0 [ 251.174134] [<ffffffff815693a2>] icmp_unreach+0xc2/0x280 [ 251.174820] [<ffffffff8156a82d>] icmp_rcv+0x2bd/0x3a0 [ 251.175473] [<ffffffff81534ea2>] ip_local_deliver_finish+0x82/0x1e0 [ 251.176282] [<ffffffff815354d8>] ip_local_deliver+0x88/0x90 [ 251.177004] [<ffffffff815350f0>] ip_rcv_finish+0xf0/0x310 [ 251.177693] [<ffffffff815357bc>] ip_rcv+0x2dc/0x390 [ 251.178336] [<ffffffff814f5da3>] __netif_receive_skb_core+0x713/0xa20 [ 251.179170] [<ffffffff814f7fca>] __netif_receive_skb+0x1a/0x80 [ 251.179922] [<ffffffff814f97d4>] process_backlog+0x94/0x120 [ 251.180639] [<ffffffff814f9612>] net_rx_action+0x1e2/0x310 [ 251.181356] [<ffffffff81051267>] __do_softirq+0xa7/0x290 [ 251.182046] [<ffffffff81051469>] run_ksoftirqd+0x19/0x30 [ 251.182726] [<ffffffff8106cc23>] smpboot_thread_fn+0x153/0x1d0 [ 251.183485] [<ffffffff8106cad0>] ? SyS_setgroups+0x130/0x130 [ 251.184228] [<ffffffff8106935e>] kthread+0xee/0x110 [ 251.184871] [<ffffffff81069270>] ? kthread_create_on_node+0x1b0/0x1b0 [ 251.185690] [<ffffffff81631108>] ret_from_fork+0x58/0x90 [ 251.186385] [<ffffffff81069270>] ? kthread_create_on_node+0x1b0/0x1b0 [ 251.187216] ---[ end trace c947fc7b24e42ea1 ]--- [ 259.542268] br0: port 1(eth0) entered forwarding state Remove the double calls to reqsk_put() [edumazet] : I got confused because reqsk_timer_handler() _has_ to call reqsk_put(req) after calling inet_csk_reqsk_queue_drop(), as the timer handler holds a reference on req. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Fixes: fa76ce7328b2 ("inet: get rid of central tcp/dccp listener timer") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f921b5bb0511fb698681d8ef35c48be7a9116bf Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Mar 24 11:51:39 2015 +1030 lguest: suppress interrupts for single insn, not range. The last patch reduced our interrupt-suppression region to one address, so simplify the code somewhat. Also, remove the obsolete undefined instruction ranges and the comment which refers to lguest_guest.S instead of head_32.S. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 7042cb4eb30967b5eb9eeba04907882f04d6b6e5 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 24 11:51:39 2015 +1030 lguest: simplify lguest_iret Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: lguest@xxxxxxxxxxxxxxxx CC: x86@xxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 41f055d49cb04d648a89a2cb6d57c94ff86d5bb6 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Tue Mar 24 11:51:38 2015 +1030 lguest: rename i386_head.S in the comments i386_head.S renamed to the head_32.S, let's update it in the comments too. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 67c50bf292c1c02ec7ca548049c53cc08dc75ed1 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Mar 24 11:51:20 2015 +1030 lguest: explicitly set miscdevice's private_data NULL There is a proposed change to the miscdevice's behaviour on open(). Currently file->private_data stays NULL, but only because we don't have an open-entry in struct file_operations. This may change so that private_data, more consistently, is always set to struct miscdevice, not only *if* the driver has it's own open() routine and fops-entry, see https://lkml.org/lkml/2014/12/4/939 and commit 94e4fe2cab3d43b3ba7c3f721743006a8c9d913a In short: If we rely on file->private_data being NULL, we should ensure it is NULL ourselves. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 74ccbff99787b68e4eb01ef8cf29789229ab0f5d Merge: ae10c22 0f9e9cd Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Mar 24 11:12:20 2015 +1000 Merge tag 'drm-intel-next-2015-03-13-merge' of git://anongit.freedesktop.org/drm-intel into drm-next drm-intel-next-2015-03-13-rebased: - EU count report param for gen9+ (Jeff McGee) - piles of pll/wm/... fixes for chv, finally out of preliminary hw support (Ville, Vijay) - gen9 rps support from Akash - more work to move towards atomic from Matt, Ander and others - runtime pm support for skl (Damien) - edp1.4 intermediate link clock support (Sonika) - use frontbuffer tracking for fbc (Paulo) - remove ilk rc6 (John Harrison) - a bunch of smaller things and fixes all over Includes backmerge because git rerere couldn't keep up any more. * tag 'drm-intel-next-2015-03-13-merge' of git://anongit.freedesktop.org/drm-intel: (366 commits) drm/i915: Make sure the primary plane is enabled before reading out the fb state drm/i915: Update DRIVER_DATE to 20150313 drm/i915: Fix vmap_batch page iterator overrun drm/i915: Export total subslice and EU counts drm/i915: redefine WARN_ON_ONCE to include the condition drm/i915/skl: Implement WaDisableHBR2 drm/i915: Remove the preliminary_hw_support shackles from CHV drm/i915: Read CHV_PLL_DW8 from the correct offset drm/i915: Rewrite IVB FDI bifurcation conflict checks drm/i915: Rewrite some some of the FDI lane checks drm/i915/skl: Enable the RPS interrupts programming drm/i915/skl: Enabling processing of Turbo interrupts drm/i915/skl: Updated the i915_frequency_info debugfs function drm/i915: Simplify the way BC bifurcation state consistency is kept drm/i915/skl: Updated the act_freq_mhz_show sysfs function drm/i915/skl: Updated the gen9_enable_rps function drm/i915/skl: Updated the gen6_rps_limits function drm/i915/skl: Restructured the gen6_set_rps_thresholds function drm/i915/skl: Updated the gen6_set_rps function drm/i915/skl: Updated the gen6_init_rps_frequencies function ... commit 912098a6308e37208b8dcc46c57c66d0778a854b Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:15 2015 -0700 Bluetooth: Add support for adv instance timeout This patch implements support for the timeout parameter of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4117ed70a55128273f1b6d00c7725e4c8a5c0031 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:14 2015 -0700 Bluetooth: Add support for instance scan response This patch implements setting the Scan Response data provided as part of an advertising instance through the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit da929335f27d955172539bf56bed1ac9ff9b8d45 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:13 2015 -0700 Bluetooth: Implement the Remove Advertising command This patch implements the "Remove Advertising" mgmt command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 24b4f38fc9ebf93af223c67169a946d6baf9db61 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:12 2015 -0700 Bluetooth: Implement the Add Advertising command This patch adds the most basic implementation for the "Add Advertisement" command. All state updates between the various HCI settings (POWERED, ADVERTISING, ADVERTISING_INSTANCE, and LE_ENABLED) has been implemented. The command currently supports only setting the advertising data fields, with no flags and no scan response data. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 203fea0178d7e165dbe834d1bdd9d243018fd5bf Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:11 2015 -0700 Bluetooth: Add data structure for advertising instance This patch introduces a new data structure to represent advertising instances that were added using the "Add Advertising" mgmt command. Initially an hci_dev structure will support only one of these instances at a time, so the current instance is simply stored as a direct member of hci_dev. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4453b006538d02ada8294a195bb2dc2ada498436 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:10 2015 -0700 Bluetooth: Introduce HCI_ADVERTISING_INSTANCE setting and add AD flags This patch introduces the HCI_ADVERTISING_INSTANCE setting, which is set when an at least one advertising instance has been added using the "Add Advertising" mgmt command. This patch also adds a macro definition for the EIR_APPEARANCE field type. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 841a6664f213f76a9bc1bfd07a466d3dbe281a88 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:09 2015 -0700 Bluetooth: Add definitions for Add/Remove Advertising API This patch adds definitions for the Add Advertising and Remove Advertising MGMT commands and events. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9be53cf76fec65b610286f32ce0a2535eb95b79a Author: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Date: Thu Mar 12 15:00:14 2015 +0800 powerpc: Enable power monitor feature in defconfig for supported platforms Signed-off-by: Jia Hongtao <hongtao.jia@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 76486930f8eb2bd7adb3bc892afdbdac002078c7 Author: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Date: Thu Mar 12 15:00:13 2015 +0800 powerpc: Enable thermal monitor feature in defconfig for supported platforms Signed-off-by: Jia Hongtao <hongtao.jia@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 2e6e99666de1005fb2d201320082bd89442b7b14 Author: Shruti Kanetkar <Kanetkar.Shruti@xxxxxxxxx> Date: Fri Feb 27 09:59:22 2015 -0600 powerpc/corenet: Enable muxing MDIO buses via FPGA Signed-off-by: Andy Fleming <afleming@xxxxxxxxx> Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Shruti Kanetkar <Kanetkar.Shruti@xxxxxxxxx> Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit a189243cb76217e44838fe11bad8af47ab81c722 Author: Andy Fleming <afleming@xxxxxxxxx> Date: Fri Feb 27 09:57:55 2015 -0600 powerpc/corenet: Enable muxing MDIO buses via GPIO Signed-off-by: Andy Fleming <afleming@xxxxxxxxx> Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Shruti Kanetkar <Kanetkar.Shruti@xxxxxxxxx> Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 1e8ed06d3446f354014fffc99ea0b9ac16dfadd5 Author: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 09:16:14 2015 -0600 powerpc/mpc85xx: Add FSL QorIQ DPAA BMan support to device tree(s) Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Geoff Thorpe <Geoff.Thorpe@xxxxxxxxxxxxx> Signed-off-by: Hai-Ying Wang <Haiying.Wang@xxxxxxxxxxxxx> Signed-off-by: Chunhe Lan <Chunhe.Lan@xxxxxxxxxxxxx> Signed-off-by: Poonam Aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> [Emil Medve: Sync with the upstream binding] Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit cb5915e71fd13172c24f3eb102ea02b6d70dc1b0 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 14:09:37 2015 +1100 powerpc: Make corenet64_defconfig a bit more useful CONFIG_BLK_DEV_SD, SR, ... are needed for pretty much any SATA or USB storage device (corenet32_defconfig has them) and modern any with systemd needs the CGROUPS gunk. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ff015659b631621fc9d60403a5dfbdf72c1cd058 Author: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Date: Thu Feb 26 15:23:08 2015 +0800 powerpc/85xx: workaround for chips with MSI hardware errata The MPIC version 2.0 has a MSI errata (errata PIC1 of mpc8544), It causes that neither MSI nor MSI-X can work fine. This is a workaround to allow MSI-X to function properly. Signed-off-by: Liu Shuo <soniccat.liu@xxxxxxxxx> Signed-off-by: Li Yang <leoli@xxxxxxxxxxxxx> Signed-off-by: Jia Hongtao <hongtao.jia@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 807d38b73b63bbbaa8e1baacf76f7874992f91e8 Author: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Date: Wed Apr 10 10:52:55 2013 +0800 powerpc/mpic: Add get_version API both for internal and external use MPIC version is useful information for both mpic_alloc() and mpic_init(). The patch provide an API to get MPIC version for reusing the code. Also, some other IP block may need MPIC version for their own use. The API for external use is also provided. This function had been previously added but was removed by commit 5e86bfde9cd93f2 ("powerpc/mpic: remove unused functions") due to the lack of a user. This function will be used by "powerpc/mpic: Add get_version API both for internal and external use". Signed-off-by: Jia Hongtao <hongtao.jia@xxxxxxxxxxxxx> Signed-off-by: Li Yang <leoli@xxxxxxxxxxxxx> [scottwood@xxxxxxxxxxxxx: changelog update] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7dea9ec5a039555376af62e718547852117aced1 Author: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Date: Wed Feb 18 16:04:45 2015 +0200 powerpc/mpc85xx: Add FMan platform support Get the FMan devices/sub-nodes (MAC, MDIO, etc.) auto-probed Signed-off-by: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit eedea67bc983e642933ab50de44ff9e99ad4b8e7 Author: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Date: Tue Feb 3 17:16:48 2015 -0600 powerpc/dts: Remove B4860 emulator support Probably we should have not upstreamed this in the first place Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 288a298c05774dde0a8d5abac9b692503d4e41f2 Author: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 18:25:38 2015 -0800 powerpc/pseries: Introduce api_version to migration sysfs interface The /sys/kernel/mobility/migration interface was added all the way back in 2.6.37. However, the drmgr userspace tool was never augmented to use this interface to perfrom migrations. Instead it has continued using a faux rtas call coupled with performing the device tree update processing in userspace and communicating it back to the kernel via the ugly /proc/ppc64/ofdt interface. Up until 3.12 the device tree update code in the kernel was badly broken and bit rotting. This code was fixed in 3.12 and is now utilized by the kernel suspend code as of 3.15. The kernel is now better suited to handle the post-mobility fixup of the device tree and drmgr should be transitioned to using the sysfs migration interface. This patch introduces the api_version sysfs file to /sys/kernel/mobility as a means for drmgr to query the current implementation level of the kernel migration code. This initial versioning indicates it is capable of perfroming all current PAPR requirements for migration including the post-mobility firmware activation and device tree update. Signed-off-by: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx> Cc: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Cc: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a123374ff3c6850e1340b6da010bb43668d710e1 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Mar 19 21:52:41 2015 +0100 KVM: x86: inline kvm_ioapic_handles_vector() An overhead from function call is not appropriate for its size and frequency of execution. Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit bbf4aef89df1e8d982912f04d9a2b466750188d3 Merge: 0a4e6be 18280d8 Author: Marcelo Tosatti <mtosatt@xxxxxxxxxx> Date: Mon Mar 23 20:32:02 2015 -0300 Merge tag 'kvm-s390-next-20150318' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into queue KVM: s390: Features and fixes for 4.1 (kvm/next) 1. Fixes 2. Implement access register mode in KVM 3. Provide a userspace post handler for the STSI instruction 4. Provide an interface for compliant memory accesses 5. Provide an interface for getting/setting the guest storage key 6. Fixup for the vector facility patches: do not announce the vector facility in the guest for old QEMUs. 1-5 were initially shown as RFC in http://www.spinics.net/lists/kvm/msg114720.html some small review changes - added some ACKs - have the AR mode patches first - get rid of unnecessary AR_INVAL define - typos and language 6. two new patches The two new patches fixup the vector support patches that were introduced in the last pull request for QEMU versions that dont know about vector support and guests that do. (We announce the facility bit, but dont enable the facility so vector aware guests will crash on vector instructions). commit 0a4e6be9ca17c54817cf814b4b5aa60478c6df27 Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Mon Mar 23 20:21:51 2015 -0300 x86: kvm: Revert "remove sched notifier for cross-cpu migrations" The following point: 2. per-CPU pvclock time info is updated if the underlying CPU changes. Is not true anymore since "KVM: x86: update pvclock area conditionally, on cpu migration". Add task migration notification back. Problem noticed by Andy Lutomirski. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> CC: stable@xxxxxxxxxx # 3.11+ commit 3966fab8b6abfe0fa55418fb9455c0b05735c1b0 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Wed Mar 18 16:08:22 2015 +0200 clk: qcom: Add MSM8916 Global Clock Controller support This patch adds support for the global clock controller found on the MSM8916 based devices. It allows the various device drivers to probe and control their clocks and resets. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Removed NULL entry from parent_maps] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a5408ec6057e40d56b1c04608f07d21c5163ced0 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Wed Mar 18 16:08:21 2015 +0200 dt-bindings: Add #defines for MSM8916 clocks and resets Add clocks/resets defines for the global clock controller found on Qualcomm MSM8916 SoCs. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 293d2e97b37f545bb36aef78cd549d9e6cd66e7f Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Fri Mar 20 18:30:26 2015 +0200 clk: qcom: Introduce parent_map tables In the current parent mapping code, we can get duplicate or inconsistent indexes, which leads to discrepancy between the number of elements in the array and the number of parents. Until now, this was solved with some reordering but this is not always possible. This patch introduces index tables that are used to define the relations between the PLL source and the hardware mux configuration value. To accomplish this, here we do the following: - Define a parent_map struct to map the relations between PLL source index and register configuration value. - Add a qcom_find_src_index() function for finding the index of a clock matching the specific PLL configuration. - Update the {set,get}_parent RCG functions use the newly introduced parent_map struct. - Convert all existing drivers to the new parent_map tables. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fae507afbdf3384227ced662c51c5b6cbff223c8 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Fri Mar 20 18:30:25 2015 +0200 clk: qcom: Do some error handling in configure_bank() Currently configure_bank() returns void. Add some error checking on the regmap calls and propagate if there is any error. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7f218978f10693f65e35b0bbcdcd539fbe78221a Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Fri Mar 20 18:30:24 2015 +0200 clk: qcom: Fix clk_get_parent function return value According to the common clock framework API, the clk_get_parent() function should return u8. Currently we are returning negative values on error. Fix this and use the default parent in case of an error. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0b21503dbbfa669dbd847b33578d4041513cddb2 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Mar 4 15:19:35 2015 +0530 clk: qcom: fix RCG M/N counter configuration Currently, a RCG's M/N counter (used for fraction division) is set to either 'bypass' (counter disabled) or 'dual edge' (counter enabled) based on whether the corresponding rcg struct has a mnd field specified and a non-zero N. In the case where M and N are the same value, the M/N counter is still enabled by code even though no division takes place. Leaving the RCG in such a state can result in improper behavior. This was observed with the DSI pixel clock RCG when M and N were both set to 1. Add an additional check (M != N) to enable the M/N counter only when it's needed for fraction division. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Fixes: bcd61c0f535a (clk: qcom: Add support for root clock generators (RCGs)) Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit df6a0d6f633d684ef62bd92038c01a1781894f85 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 17:20:38 2015 +0000 PM / domains: avoid potential oops in pm_genpd_remove_device() pm_genpd_remove_device() tries hard to validate the generic PM domain passed to it, but the validation is not complete. dev->pm_domain contains a struct dev_pm_domain, which is the "base class" of generic PM domains. Other users of dev_pm_domains include stuff like vga_switheroo. Hence, a device could have a generic PM domain or a vga_switcheroo PM domain in dev->pm_domain. We need ot be certain that the PM domain is actually valid before we try to remove it. We can do this easily as we have a way to get the current validated generic PM domain for a struct device. This must match the generic PM domain being requested for removal. Convert the code to use this alternative validation method instead. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8e795840e4d89df3d594e736989212ee8a4a1fca Merge: 85e8a0a 9e808eb d748804 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Mar 23 17:17:34 2015 -0500 Merge branches 'pci/enumeration' and 'pci/virtualization' into next * pci/enumeration: PCI: Cleanup control flow sparc/PCI: Claim bus resources before pci_bus_add_devices() PCI: Assign resources before drivers claim devices (pci_scan_root_bus()) PCI: Assign resources before drivers claim devices (pci_scan_bus()) * pci/virtualization: PCI: Add ACS quirks for Intel 1G NICs commit 0833b5ae69026cf62b5fc6cf83b1f1d1cd36164b Merge: 5cf065f 8da6f3c Author: Michael Turquette <mturquette@xxxxxxxxxx> Date: Sun Mar 22 10:11:39 2015 -0700 Merge tag 'mvebu-clk-4.1' of git://git.infradead.org/linux-mvebu into clk-next clock changes for mvebu for v4.1 - Add clock support for Armada 39x commit 3659f9c2aaabced5d0db23fa8b485a69f31c31b3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Mar 22 20:49:51 2015 +0200 Staging: rtl8192u: Remove function prototype from .c file Remove function prototype from r8192U_core.c since it is declared in the r8192U.h header and this is included in r8192U_core.c Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef8a83e79148bc6311a4227b23d57e3a172f1479 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Mar 22 20:49:28 2015 +0200 Staging: rtl8192u: Make function prototypes static Make functions static since they are used locally and no other files refer them. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be546c6cd0a9ad742f1dc7869acdf2d80971ddb5 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sun Mar 22 03:02:02 2015 +0300 Staging: media: remove useless dev_info to avoid null ptr dereference Context is used in dev_info after it has been freed. This patch fix that issue by removing the dev_info itself, for msg doesn't look much necessary. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a51bab6d42be47ae5df899bd7f72bcd4b4c321bf Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sun Mar 22 14:49:29 2015 +0530 Staging: rtl8723au: Remove unused function rtw_atimdone_event_callback23a This patch fixes the following sparse warning: warning: symbol 'rtw_atimdone_event_callback23a' was not declared. Should it be static? rtw_atimdone_event_callback23a is local to the file rtw_mlme.c but it isn't exposed in a header file anywhere. Moreover it is never called from anywhere as well. So, this patch removes this function completely. Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d10ece3336fbd75ed25ba48ecfb14f5a8a151ec Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Sat Mar 21 12:27:34 2015 +0530 Staging: wlan-ng: Remove typedef prism2sta_accesslist_t Remove typedef prism2sta_accesslist_t and replace its uses in the code. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5026df93d23995407cf0f024edbb16e03f367112 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Mar 22 19:09:44 2015 -0400 staging: rtl8723au: Do not byteswap timeout twice Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a113b53cd315a45a97bfec1c1d586433200954ef Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Mar 22 19:09:43 2015 -0400 staging: rtl8723au: update_txdesc(): bagg_pkt is always false Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18f576f6da6626ef4e055c2ce17bd09cd97c36d3 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Mar 22 19:09:42 2015 -0400 staging: rtl8723au: Fix trailing whitespace Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed2be12e0a2901176ad2930443322d4aa53fe6b0 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 23 16:54:08 2015 -0400 staging: rtl8723au: Fix mis-placed break In 7c3a8f2a5ec95e2b13704562f36321e20ddfc190 I made a mistake and moved a break below a bracket, causing a situation where the for loop would always exit when it shouldn't. This patch corrects that mistake. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c84b528c082a396443104f6931691948c088d94b Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Sat Mar 21 12:27:24 2015 +0530 Staging: wlan-ng: Remove typedef prism2sta_authlist_t Remove typdef prism2sta_authlist_t and replace its uses in the code. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c0dbe0a2e343197d3f86cb23e46fb5d57fa74ca Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Mar 20 21:25:20 2015 +0200 Staging: rtl8188eu: Delete space Deleted spaces before ','.Because it is prohibited by the kernel coding style. Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd02e3df529eb3fbf8904ba60a617f6217ac7629 Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Mon Mar 23 21:17:01 2015 +0000 ASoC: pcm512x: Remove hardcoding of pll-lock to GPIO4 Currently GPIO4 is hardcoded to output the pll-lock signal. Unfortunately this is after the pll-out GPIO is configured which is selectable in the device tree. Therefore it is not possible to use GPIO4 for pll-out. Therefore this patch removes the configuration of GPIO4. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 42efd0016cb4f5f2105775e7189ed9b7f03d6f61 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Fri Mar 20 23:18:10 2015 -0300 staging: fbtft: Fix indentation style by space This patch fixes the checkpatch.pl warning and error: WARNING: please, no spaces at the start of a line ERROR: code indent should use tabs where possible Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7d853268da2fd5d26addfd5ac5ca170d167a7ca Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Sat Mar 21 13:50:05 2015 -0300 staging: fbtft: remove trailing white space Clean useless trailing white spaces Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c76706967dd15b58dfc132d1dc46e13edb86424 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sun Mar 22 21:23:23 2015 +0300 Staging: iio: use the BIT macro in .h files This patch replace bit shifting on 1, 2, and 3 with the BIT(x) macro. Issue addressed by checkpatch.pl with --strict flag. This was done with the help of Coccninelle: @r1@ constant int g; @@ ( 0<<g | 1<<g | 2<<g | 3<<g ) @script:python b@ g2 <<r1.g; y; @@ coccinelle.y = int(g2) + 1 @c@ constant int r1.g; identifier b.y; @@ ( -(1 << g) +BIT(g) | -(0 << g) + 0 | -(2 << g) +BIT(y) | -(3 << g) +(BIT(y)| BIT(g)) ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cf23dfffd3c69fc5cf5e2ca6fee0ab7eb316812 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Mar 22 20:43:16 2015 +0200 Staging: iio: Fix file header to match standards Fix file header to match Linux Kernel style. Remove Free Software Foundation reference to silence the checkpatch.pl warning. Add driver description and correct spelling mistakes. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6767051951353d0156efc80f7c7aa87d632d22c Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Mar 22 20:42:42 2015 +0200 Staging: iio: Place driver in sleep mode on error Put device in sleep mode if an error is encountered after initialization in order to avoid wasting power. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daf56d91a56d41d97fda9f5979657abbd6475140 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Mar 20 18:09:43 2015 +0200 Staging: iio: Add kernel-doc for struct hmc5843 This patch documents the struct hmc5843 specific data following this warning: "CHECK: struct mutex definition without comment". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 052c529e30cd381f0e08ee4d4ddbe44347a29e43 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Mar 21 10:51:42 2015 +0300 Staging: lustre: Fix Sparse warnings for static declarations The following patch fixes Sparse warnings in genops.c regrding: "Symbol * was not declared. Should it be static?" Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 826ad46d05c631d139289d095a68ea3c58aee821 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Mar 21 10:48:30 2015 +0300 Stagin: lustre: Fix externs should be avoided in .c This patch moves extern declaration from genops.c to obd_class.h, addressing checkpatch.pl warning: externs should be avoided in .c Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ee941dfe7904c67794c52d78db7ec2d03a57257 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Mar 21 10:47:56 2015 +0300 Staging: lustre: Fix externs should be avoided in .c Thi patch moves extern declaration to "obd_class.h". Remove prototype from "class_obd.c". Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 381ca677af0a898af0e19002ea445055e6f0923a Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Mar 21 08:51:35 2015 +0300 Staging: lustre: remove extern in .c file This patch removes extern from .c file; for the variable is not used anywhere else in the file. In addition, it mark it static in the one file it is in "ldlm_resource.c". Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d748804f5be8ca4dd97a4167fcf84867dca7c116 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Mar 20 12:27:57 2015 -0600 PCI: Add ACS quirks for Intel 1G NICs Intel has verified that there is no peer-to-peer between functions for the below selection of 82580, 82576, 82575, I350, and 82571 multi-port devices. This adds the necessary quirks to consider the functions isolated from each other. 82571 quad-port devices are omitted due to likely lack of ACS/isolation in the onboard switch, rendering quirks for the downstream endpoints useless. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: John Ronciak <john.ronciak@xxxxxxxxx> commit 5fb0acb435c92760c4157df134e88103f1461b32 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 21 18:20:25 2015 +0530 Staging: lustre: Convert macro class_export_rpc_dec into static inline function This patch converts the macro class_export_rpc_dec into static inline function. This is possible because the types of arguments at all the call sites are same. So, the type of parameter is compatible with the types of the arguments at all of the call sites. Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28b9d6f14d30eae2d600a3f6deac625f26591820 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 21 18:20:24 2015 +0530 Staging: lustre: Convert macro class_export_rpc_inc into static inline function This patch converts the macro class_export_rpc_inc into static inline function. This is possible because the types of arguments at all the call sites are same. So, the type of parameter is compatible with the types of the arguments at all of the call sites. Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da29169e769285e90bd1f8389c78b2da6e7fa910 Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Mon Mar 9 17:37:31 2015 -0700 serial: 8250_dw: fix 'cts-override' We are dealing with CTS, not DSR here (we dealt with DSR a few lines above), so set appropriate bits. Reported-by: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24c0e6838cb4888366008bd36e0a77a995b18bb7 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Mon Mar 23 16:23:12 2015 -0300 vxlan: simplify if clause in dev_close Dan Carpenter's static checker warned that in vxlan_stop we are checking if 'vs' can be NULL while later we simply derreference it. As after commit 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope") 'vs' just cannot be NULL in vxlan_stop() anymore, as the interface won't go up if the socket initialization fails. So we are good to just remove the check and make it consistent. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f20fbaad7620af2df36a1f9d1c9ecf48ead5b747 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Mar 23 17:50:27 2015 +0000 spi: spidev: fix possible arithmetic overflow for multi-transfer message `spidev_message()` sums the lengths of the individual SPI transfers to determine the overall SPI message length. It restricts the total length, returning an error if too long, but it does not check for arithmetic overflow. For example, if the SPI message consisted of two transfers and the first has a length of 10 and the second has a length of (__u32)(-1), the total length would be seen as 9, even though the second transfer is actually very long. If the second transfer specifies a null `rx_buf` and a non-null `tx_buf`, the `copy_from_user()` could overrun the spidev's pre-allocated tx buffer before it reaches an invalid user memory address. Fix it by checking that neither the total nor the individual transfer lengths exceed the maximum allowed value. Thanks to Dan Carpenter for reporting the potential integer overflow. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e76e695f76c99b97c0949dfafe9cf176bceb0e4 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:52 2015 -0400 staging: unisys: fix parenthesis alignment in visorchipset_main.c Fix as many parenthesis alignment problems in this file as possible. In cases where there was no good way to align to the leading parenthesis, the content of the parenthesis were aligned as if there were no limit, and then the leading indentation was moved back to one tab in from the previous line. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee8da290d1e731d101f912c3b322e48fe37232c1 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:51 2015 -0400 staging: unisys: Fix CamelCase local variable in remaining_steps functions Rename the CamelCase local variable remainingSteps => remaining_steps Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10dbf0e35f85921607f744c7ee0a86aec9367ed8 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:50 2015 -0400 staging: unisys: fix CamelCase local in textid functions Fix the CamelCased local variable textId => text_id In both of the textid sysfs functions, and update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 365522d99474998b11cb544c0167742455e8e7a0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:49 2015 -0400 staging: unisys: fix CamelCase variables in boottotool functions Rename the local CamelCase variable efiSparIndication => efi_spar_indication Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01f4d85a5852726d8ff71d61646690a5af98e9cc Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:48 2015 -0400 staging: unisys: fix CamelCase local toolAction Rename the CamelCase local toolAction => tool_action In both of the sysfs functions for exposing this value, and update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77a0449d4cf3fe63f0e712d23458207bd661e0b2 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:47 2015 -0400 staging: unisys: fix CamelCase parameter in chipset functions Fix the CamelCase parameter msgHdr => msg_hdr In all of the chipset functions. Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3168c70bb8d6d8b2679995627ebc2cbd3e7961b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:46 2015 -0400 staging: unisys: fix CamelCase parameter msgHdr in controlvm functions Fix the CamelCase parameter name msgHdr => msg_hdr In all of the controlvm functions in visorchipset_main.c. Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb34e877ccbcd0da12bb10360d1cf9cfecd6888f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:45 2015 -0400 staging: unisys: fix CamelCase global Visorchipset_platform_device Rename the CamelCase variable: Visorchipset_platform_device => visorchipset_platform_device Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5aa8ae57c560afb1a58c42db0d98fd327b89a274 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:44 2015 -0400 staging: unisys: fix CamelCased global MajorDev Rename the CamelCase global: MajorDev => major_dev Update references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e3fedd6e3336a1bf200d6527751a7f1497c2e95 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:43 2015 -0400 staging: unisys: fix CamelCase in responders functions Fix the CamelCase parameters: busNo => bus_no devNo => dev_no In the functions bus_create_response(), bus_destroy_response(), device_create_response(), device_destroy_response(), and device_resume_response(). Fix the CamelCase global structure name BusDev_Responders => busdev_responders And update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fe345afd778cfa374c75a325f8c5b4801d89205 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:42 2015 -0400 staging: unisys: fix CamelCased notifier globals Fix these CamelCased names: BusDev_Server_Notifiers => busdev_server_notifiers BusDev_Client_Notifiers => busdev_client_notifiers Update references to use the fixed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddf5de5369494f27e89023263b46f79dad3a2ab4 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:41 2015 -0400 staging: unisys: fix CamelCased Parahotplug globals Fix the CamelCase names: Parahotplug_request_list => parahotplug_request_list Parahotplug_request_list_lock => parahotplug_request_list_lock Update references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 712f42cd992af9016d961b5e68faaa08abba97c8 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:40 2015 -0400 staging: unisys: fix CamelCase global Visorchipset_cache_buffers_in_use Rename this variable: Visorchipset_cache_buffers_in_use => visorchipset_cache_buffers_in_use Update all references to use the fixed name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1eee0011450f8c71e4ad11b914e38976d8bc7674 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:39 2015 -0400 staging: unisys: fix CamelCase in putfile-related globals Fix the CamelCase global names: Putfile_buffer_list_pool => putfile_buffer_list_pool Putfile_buffer_list_pool_name => putfile_buffer_list_pool_name Putfile_request_list => putfile_request_list Update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7166ed19a08c4dcd13d0315800237b754d09a800 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:38 2015 -0400 staging: unisys: fix CamelCased ControlVM globals Fix the CamelCase global names: ControlVm_Pending_Msg => controlvm_pending_msg ControlVm_Pending_Msg_Valid => controlvm_pending_msg_valid Update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e37a0306c8074263b713b8f187636018cbc583d Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:37 2015 -0400 staging: unisys: remove last remnants of proc entry code All of the proc code using easyproc and procobjecttree support is gone, so we can remove it from the source entirely. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6f15f828d4b624a2e4306dabbbb20a581bece37 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Mon Mar 23 11:51:53 2015 -0700 fib_trie: Fix regression in handling of inflate/halve failure When I updated the code to address a possible null pointer dereference in resize I ended up reverting an exception handling fix for the suffix length in the event that inflate or halve failed. This change is meant to correct that by reverting the earlier fix and instead simply getting the parent again after inflate has been completed to avoid the possible null pointer issue. Fixes: ddb4b9a13 ("fib_trie: Address possible NULL pointer dereference in resize") Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 862cf604071bcd94fc3d8e0a8953d340eab6e3a0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:35 2015 -0400 staging: unisys: fix NULL pointer comparisons in uislib.c Change pointer comparisons to NULL to just use the pointer directly. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6a3989b514a276506d4e8432318e1186636c1f3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:34 2015 -0400 staging: unisys: fix CamelCase label in visorchipset_init() Fix the CamelCase label: Away => cleanup Update all references to use the fixed name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6bdb904c1d819b4f90453d21d46e0aab22b931b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:33 2015 -0400 staging: unisys: fix CamelCase in setup_crash_devices_work_queue() Fix CamelCase names: localCrashCreateBusMsg => local_crash_bus_msg localCrashCreateDevMsg => local_crash_dev_msg localSavedCrashMsgOffset => local_crash_msg_offset localSavedCrashMsgCount => local_crash_msg_count Away => cleanup Update all references to use the fixed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cde94506eacfcda570b6c304b8deae1a7191ee2 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Mar 23 12:35:37 2015 +0100 bgmac: implement scatter/gather support Always use software checksumming, since the hardware does not have any checksum offload support. This significantly improves local TCP tx performance. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45c9b3c09490ef4a4ac19df75b5919849423f3e7 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Mar 23 12:35:36 2015 +0100 bgmac: implement GRO and use build_skb This improves performance for routing and local rx Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0addb83d4c71a68fa716fbd69a605ac0ba5e2b50 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Mar 23 12:35:35 2015 +0100 bgmac: fix descriptor frame start/end definitions The start-of-frame and end-of-frame bits were accidentally swapped. In the current code it does not make any difference, since they are always used together. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 443b5991a748c844610cb27f19473b56d5fc4dd1 Author: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Mon Mar 23 18:04:13 2015 +0900 net: Move the comment about unsettable socket-level options to default clause and update its reference. We implement the SO_SNDLOWAT etc not to be settable and return ENOPROTOOPT per 1003.1g 7. Move the comment to appropriate position and update the reference. Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c1ed292b406ac318cabd4c88e7001fc9266f884 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:32 2015 -0400 staging: unisys: refactor controlvm_periodic_work() Fix the CamelCase variable names: gotACommand => got_command Poll_Count => poll_count Away => cleanup Fix all references to use the new names. Remove the empty braces in the while() and put in a trailing semicolon, for clarity. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 818352a8521d2b2458d7147662736f1406061d18 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:31 2015 -0400 staging: unisys: refactor handle_command() First, fix the CamelCase local variable names: parametersAddr => parm_addr parametersBytes => parm_bytes isLocalAddr => local_addr Change the type of local_addr to bool instead of using the #defined type. Update all references to use the fixed names. Fix the indentation of that line that's over the 80 column limit. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a55e3c33762d1623ed9fb6d0caa52076fbac762 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:30 2015 -0400 staging: unisys: fix spacing in parahotplug_request_create Just fix the spacing around the logical or operator in this function. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55b33413b882570b4790e1fada44060d6f7e5cfa Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:29 2015 -0400 staging: unisys: refactor parahotplug_process_list() Simplify the code a little and shorten the indentation levels by reversing the check for time_after_eq(). Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cafefc0ca1a36fa917a9cf1bea6ea4e9e05db8f1 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:28 2015 -0400 staging: unisys: fix Camelcase in initialize_controlvm_payload() Fix the CamelCase local variables: payloadOffset => payload_offset payloadBytes => payload_bytes Update all references to use the new names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 597c338f0a6012e1360b7c71797b03438ff48fab Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:27 2015 -0400 staging: unisys: fix NULL comparison in destroy_controlvm_payload_info() Just remove the NULL from the check and test the pointer directly. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f118a39bfec6eff3ab1c1720fd734df62e012150 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:26 2015 -0400 staging: unisys: refactor initialize_controlvm_payload_info() Fix the CamelCased goto label: Away => cleanup and get rid of the NULL comparison. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61715c8b9c532e41547d47f649649c2250e98e27 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:25 2015 -0400 staging: unisys: refactor my_device_destroy() Fix the CamelCase variable names: busNo => bus_no devNo => dev_no pDevInfo => dev_info Update all the references to the updated names, then remove the goto and its label. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0278a9055ac94ff368e8cdf3de3de25967c7f66b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:24 2015 -0400 staging: unisys: refactor my_device_changestate() Fix the CamelCase names: busNo => bus_no devNo => dev_no pDevInfo => dev_info Update all references to use the new names, and remove the goto and label entirely. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c60c8e26983fd44ffea4d1aedf9f889dcbfa80b8 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:23 2015 -0400 staging: unisys: refactor my_device_create() Fix local CamelCase variable names: busNo => bus_no devNo => dev_no pDevinfo => dev_info pBusInfo => bus_info Away => cleanup Update references to use the corrected names, and change the kzalloc() to use the variable itself rather than the type. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 654bada025db1a292a38d33e09404b15df94991b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:22 2015 -0400 staging: unisys: refactor bus_configure() First, fix the CamelCase names: busNo => bus_no pBusInfo => bus_info Update all references to use the corrected names, and remove the messy goto and label. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dff54cd605670171f2f01d5bd5be61079c0119fb Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:21 2015 -0400 staging: unisys: refactor bus_destroy() Fix CamelCase names: busNo => bus_no pBusInfo => bus_info Update all references to use the corrected names, and remove the goto statements and labels entirely. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c5fed359fc7f2fd0b3c5469d43a1b07c283e1f9 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:20 2015 -0400 staging: unisys: refactor bus_create() First, fix all CamelCase names: busNo => bus_no pBusInfo => bus_info Away => cleanup Fix the kzalloc() call so it uses the variable name rather than the type, and update all of the references to the renamed variables and labels. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75c1f8b726e9383c1953c4999870ff3e13c931a9 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:19 2015 -0400 staging: unisys: fix braces in visorchipset_main.c Fix all of the bracing mistakes by adding missing braces, and removing unnecessary braces. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b59b31d69cdf44e2d0b6b6314f78ca6ebb31b7b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:18 2015 -0400 staging: unisys: fix spaces after typecasts in visorchipset_main.c Just remove a couple of extra spaces after typecasts. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2836c6a8de2174039770323dc14961eb1308c5e3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:17 2015 -0400 staging: unisys: fix CamelCase in epilog functions Rename the CamelCase parameters: busNo => bus_no devNo => dev_no needResponse => need_response And the local variables pBusInfo => bus_info pDevInfo => dev_info Update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbb31f48aba3d4c149b85b5b25b2667ea5ba9ccf Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:16 2015 -0400 staging: unisys: fix CamelCase params in responder functions Fix the CamelCase parameter names in the set of responder functions: cmdId => cmd_id busNo => bus_no devNo => dev_no responseState => response_state Update all references to use the fixed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4577225d26d43974e79fa7d288df7fb8397cffa2 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:15 2015 -0400 staging: unisys: fix CamelCase locals in visorchipset_save_message Rename CamelCased local variable names: localSavedCrashMsgOffset => crash_msg_offset localSavedCrashMsgCount => crash_msg_count Update references to use the new names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3199b2e3c2697a4e2a99a00434e1ec09d2646b6 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:14 2015 -0400 staging: unisys: fix Camelcase Away goto label Rename the label in both places: Away => cleanup Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38f736e974e394157c9111cc53a6f3a55ea8cbc8 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:13 2015 -0400 staging: unisys: fix all NULL comparisons in visorchipset_main.c Fix all of the NULL comparison checks generated by checkpatch.pl. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a59d7bed79a39a01a1fa8d3d651af592a84a4aef Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:12 2015 -0400 staging: unisys: remove obsolete proc entry code There is an unused variable in the visorchipset_bus_info structure that used to be for a proc entry, so remove it, and the code that referenced it. We don't need it anymore. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b989a98d74eb91c59b5bacec88e06b7b2fff436 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:11 2015 -0400 staging: unisys: fix CamelCase-named clearing functions Fix the CamelCase-named structure clearing functions in visorchipset_main.c: busInfo_clear => bus_info_clear devInfo_clear => dev_info_clear Update references to use the fixed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1527e938b76a66be951fdfd948d4f6b358dcec87 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:10 2015 -0400 staging: unisys: remove old code block in visorchipset_main.c The block of code is old and #if 0'd out, so just remove it. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29b809e5168f12ed5a216b3c8a5e6be85146a6ab Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:09 2015 -0400 staging: unisys: remove extra blank lines in visorchipset_main.c Fix up the line spacing around braces in visorchipset_main.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea33b4ee5e12a00faf03ad09f7309040685822f5 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:08 2015 -0400 staging: unisys: refactor livedump_info structure Fix the CamelCase member names and that global variable: Dumpcapture_header => dumpcapture_header Gettextdump_header => gettextdump_header Dumpcomplete_header => dumpcomplete_header Gettextdump_outstanding => gettextdump_outstanding LiveDump_info => livedump_info Update all references and merge the definition and global structure declaration. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84982fbf0f0db69bf2c071a9b49908cf7cd6bfe4 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:07 2015 -0400 staging: unisys: fix CamelCase global ControlVm_payload_info Rename the CamelCase global structure ControlVm_payload_info => controlvm_payload_info Move the declaration to the struct definition, and update all references to use the new name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b28ee90cbb890816336559841bcd2d6d036b1ed0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:06 2015 -0400 staging: unisys: get rid of Test_Vnic_channel Nobody is using this, so remove it. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3d9a224e7872ec2a6341ef57d04432bc6f961a0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:05 2015 -0400 staging: unisys: fix CamelCase channel name ControlVm_channel Rename the channel: ControlVm_channel => controlvm_channel Update all references to use the new name. Fix the odd bracketing in the while() statement with the reference to controlvm_channel, too, so the patch doesn't generate a warning. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0639ba6759857ca3e8d29669e1234ef34b52a29e Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:04 2015 -0400 staging: unisys: fix placement of logical ops in visorchipset_main.c Several if statement lines had the logical operators in the wrong place, so fix these by moving the operator to the end of the previous line. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1390b88ce4b5259b6e69dd794e5bcf1bb791f426 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:03 2015 -0400 staging: unisys: fix CamelCase list names Rename the CamelCased list names: BusInfoList => bus_info_list DevInfoList => dev_info_list Update all references to use the fixed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f44b72d96ec2322bb8e1ffbcbbbd4a684763ba2 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:02 2015 -0400 staging: unisys: fix CamelCase name for devicechangestate packet Fix the variable's CamelCase name: g_DeviceChangeStatePacket => g_devicechangestate_packet Update all references to use the fixed name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83d48905aceaa0d3165b2a12962f8c63df98ec14 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:01 2015 -0400 staging: unisys: fix CamelCased diagpool bus/dev names Fix CamelCase names: g_diagpoolBusNo => g_diagpool_bus_no g_diagpoolDevNo => g_diagpool_dev_no Update all references to the changed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59827f00245fabbc2d6fb628866769affd76fb7c Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:00 2015 -0400 staging: unisys: fix CamelCase name Fix CamelCase global variable: UltraDiagPoolChannelProtocolGuid => spar_diag_pool_channel_protocol_uuid Update all references to use the fixed name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f1947aceb0b97a63bd8a16657a01946a7f5242f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:59 2015 -0400 staging: unisys: fix CamelCase semaphore NotifierLock Rename the semaphore NotifierLock => notifier_lock Update all references to use the new name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da021f020ed43f5f511e9acaaf61b814b4417cbe Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:58 2015 -0400 staging: unisys: fix CamelCase message header variables Fix the CamelCase variable names: g_DiagMsgHdr => g_diag_msg_hdr g_ChipSetMsgHdr => g_chipset_msg_hdr g_DelDumpMsgHdr => g_del_dump_msg_hdr Update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9232d2d62a9d1c5005ac11c4f48ddb0fd38a0029 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:57 2015 -0400 staging: unisys: fix CamelCase controlvm globals Fix the CamelCase variable names: Periodic_controlvm_work => periodic_controlvm_work Periodic_controlvm_workqueue => periodic_controlvm_workqueue Update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b53e0e93b75adfe7a144054848d427a425b11f93 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:56 2015 -0400 staging: unisys: fix CamelCase global Most_recent_message_jiffies Fix the CamelCase global variable in visorchipset_main.c: Most_recent_message_jiffies => most_recent_message_jiffies Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53049d33158fb1b6ad8268a85b2a9de40346fba6 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:55 2015 -0400 staging: unisys: refactor parser_byteStream_get Fix this CamelCase function name: parser_byteStream_get => parser_byte_stream_get Update all references to use the fixed name. Fix the spacing in the typecast. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2d97e4be944645137143e19b51af4575950cfc4 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:54 2015 -0400 staging: unisys: refactor parser_init_byteStream Fix CamelCase names: parser_init_byteStream => parser_init_byte_stream isLocal => local tryAgain => retry Update references to the changed function name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86c1aee1178c8e57dae10a9e73c51069098e4b5b Merge: c9231f8 52036a4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 16:52:34 2015 -0400 Merge branch 'listener_refactor_part_15' Eric Dumazet says: ==================== tcp listener refactoring part 15 I am trying to make the final patch pushing request socks into ehash as small as possible. In this patch series, I made various adjustments for the SYNACK generation, allowing me to reach 1 Mpps SYNACK in my stress test (still hitting LISTENER spinlock of course, and the syn_wait spinlock) I also converted the ICMP handlers a bit ahead of time : They no longer need to get the LISTENER socket, and can use only a lookup in ehash table. No big deal if we ignore ICMP for requests socks before the final steps. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52036a43055b3aae6659841c45a809af2ad4535e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:25 2015 -0700 ipv6: dccp: handle ICMP messages on DCCP_NEW_SYN_RECV request sockets dccp_v6_err() can restrict lookups to ehash table, and not to listeners. Note this patch creates the infrastructure, but this means that ICMP messages for request sockets are ignored until complete conversion. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85645bab57bfc6b0b43bb96a301c4ef83925c07d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:24 2015 -0700 ipv4: dccp: handle ICMP messages on DCCP_NEW_SYN_RECV request sockets dccp_v4_err() can restrict lookups to ehash table, and not to listeners. Note this patch creates the infrastructure, but this means that ICMP messages for request sockets are ignored until complete conversion. New dccp_req_err() helper is exported so that we can use it in IPv6 in following patch. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2215089b224412bfb28c5ae823b2a5d4e28a49d7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:23 2015 -0700 ipv6: tcp: handle ICMP messages on TCP_NEW_SYN_RECV request sockets tcp_v6_err() can restrict lookups to ehash table, and not to listeners. Note this patch creates the infrastructure, but this means that ICMP messages for request sockets are ignored until complete conversion. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26e3736090e1037ac929787df21c05497479b77f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:22 2015 -0700 ipv4: tcp: handle ICMP messages on TCP_NEW_SYN_RECV request sockets tcp_v4_err() can restrict lookups to ehash table, and not to listeners. Note this patch creates the infrastructure, but this means that ICMP messages for request sockets are ignored until complete conversion. New tcp_req_err() helper is exported so that we can use it in IPv6 in following patch. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b282705336e03fc7b9377a278939594870a40f96 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:21 2015 -0700 net: convert syn_wait_lock to a spinlock This is a low hanging fruit, as we'll get rid of syn_wait_lock eventually. We hold syn_wait_lock for such small sections, that it makes no sense to use a read/write lock. A spin lock is simply faster. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b929ab12fb2ab960adb3c3ec8d107fef5ff3243 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:20 2015 -0700 inet: remove some sk_listener dependencies listener can be source of false sharing. request sock has some useful information like : ireq->ir_iif, ireq->ir_num, ireq->ireq_net This patch does not solve the major problem of having to read sk->sk_protocol which is sharing a cache line with sk->sk_wmem_alloc. (This same field is read later in ip_build_and_send_pkt()) One idea would be to move sk_protocol close to sk_family (using 8 bits instead of 16 for sk_family seems enough) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42cb80a2353f42913ae78074ffa1f1b4a49e5436 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:19 2015 -0700 inet: remove sk_listener parameter from syn_ack_timeout() It is not needed, and req->sk_listener points to the listener anyway. request_sock argument can be const. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b41fab70fc001d2acd89c0477d32feb8265bb32 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:18 2015 -0700 inet: cache listen_sock_qlen() and read rskq_defer_accept once Cache listen_sock_qlen() to limit false sharing, and read rskq_defer_accept once as it might change under us. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 227a4fd801c8a9fa2c4700ab98ec1aec06e3b44d Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Mon Mar 23 18:27:42 2015 +0200 usb: xhci: apply XHCI_AVOID_BEI quirk to all Intel xHCI controllers When a device with an isochronous endpoint is plugged into the Intel xHCI host controller, and the driver submits multiple frames per URB, the xHCI driver will set the Block Event Interrupt (BEI) flag on all but the last TD for the URB. This causes the host controller to place an event on the event ring, but not send an interrupt. When the last TD for the URB completes, BEI is cleared, and we get an interrupt for the whole URB. However, under Intel xHCI host controllers, if the event ring is full of events from transfers with BEI set, an "Event Ring is Full" event will be posted to the last entry of the event ring, but no interrupt is generated. Host will cease all transfer and command executions and wait until software completes handling the pending events in the event ring. That means xHC stops, but event of "event ring is full" is not notified. As the result, the xHC looks like dead to user. This patch is to apply XHCI_AVOID_BEI quirk to Intel xHC devices. And it should be backported to kernels as old as 3.0, that contains the commit 69e848c2090a ("Intel xhci: Support EHCI/xHCI port switching."). Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Tested-by: Alistair Grant <akgrant0710@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9425183d177aa4a2f09d01a74925124f0778b595 Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Mon Mar 23 18:27:41 2015 +0200 usb: xhci: handle Config Error Change (CEC) in xhci driver Linux xHCI driver doesn't report and handle port cofig error change. If Port Configure Error for root hub port occurs, CEC bit in PORTSC would be set by xHC and remains 1. This happends when the root port fails to configure its link partner, e.g. the port fails to exchange port capabilities information using Port Capability LMPs. Then the Port Status Change Events will be blocked until all status change bits(CEC is one of the change bits) are cleared('0') (refer to xHCI spec 4.19.2). Otherwise, the port status change event for this root port will not be generated anymore, then root port would look like dead for user and can't be recovered until a Host Controller Reset(HCRST). This patch is to check CEC bit in PORTSC in xhci_get_port_status() and set a Config Error in the return status if CEC is set. This will cause a ClearPortFeature request, where CEC bit is cleared in xhci_clear_port_change_bit(). [The commit log is based on initial Marvell patch posted at http://marc.info/?l=linux-kernel&m=142323612321434&w=2] Reported-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # v3.2+ Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd0e075784f4bce97b4ed47d4b354f045e895546 Merge: 32fc9eb bc465aa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 21:49:37 2015 +0100 Merge 4.0-rc5 into usb-next We want the USB fixes in here as well to resolve merge conflicts. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9231f8247f5676a8dedd66efc6d89af99518530 Merge: 558d51f 4656e0a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 16:47:29 2015 -0400 Merge branch 'gigaset_modem_response' Tilman Schmidt says: ==================== isdn/gigaset: restructure modem response parser This series of patches restructures the Gigaset ISDN driver's modem response parser to improve code readability and conform better to the device's specification and actual behaviour. Could you please merge these through net-next? ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4656e0a3600102c798402947bb26f9035b391a13 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Mar 21 20:15:32 2015 +0100 isdn/gigaset: restructure modem response parser (4) Restructure the control structure of the modem response parser to improve readability and error handling. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d93187eb1021b2ec2d3f3d487e821620c2e5f706 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Mar 21 20:15:32 2015 +0100 isdn/gigaset: restructure modem response parser (3) Separate CID detection from main parser loop. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4df1e525afaaf363e72a4b441b674d5c78d08313 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Mar 21 20:15:32 2015 +0100 isdn/gigaset: restructure modem response parser (2) Separate literal string handling from main parser loop. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6bf50114350856d0c90dc2bc3ecffc5df6dfbf15 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Mar 21 20:15:32 2015 +0100 isdn/gigaset: restructure modem response parser (1) Factor out queueing of modem response events into helper function add_cid_event(). Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit caa445d808d27880f92d866902f6717f4d4cd3ca Merge: 48d7ff0 bc465aa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 21:45:24 2015 +0100 Merge 4.0-rc5 into tty-next We want the tty/serial fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 558d51fa2f400774ffe3ea76a0df7c1cf92bc598 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 10:27:28 2015 -0700 switchdev: fix stp update API to work with layered netdevices make it same as the netdev_switch_port_bridge_setlink/dellink api (ie traverse lowerdevs to get to the switch port). removes "WARN_ON(!ops->ndo_switch_parent_id_get)" because direct bridge ports can be stacked netdevices (like bonds and team of switch ports) which may not implement this ndo. v2 to v3: - remove changes to bond and team. Bring back the transparently following lowerdevs like i initially had for setlink/getlink (http://www.spinics.net/lists/netdev/msg313436.html) dave and scott feldman also seem to prefer it be that way and move to non-transparent way of doing things if we see a problem down the lane. v3 to v4: - fix ret initialization v4 to v5: - return err on first failure (scott feldman) v5 to v6: - change variable name (err) and initialize to -EOPNOTSUPP (scott feldman). Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08b4b8ea799d27c5dd28e8cb9188d2e88e58d294 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Mar 20 14:29:09 2015 -0700 net: clear skb->priority when forwarding to another netns skb->priority can be set for two purposes: 1) With respect to IP TOS field, which is computed by a mask. Ususally used for priority qdisc's (pfifo, prio etc.), on TX side (we only have ingress qdisc on RX side). 2) Used as a classid or flowid, works in the same way with tc classid. What's more, this can even override the classid of tc filters. For case 1), it has been respected within its netns, I don't see any point of keeping it for another netns, especially when packets will be forwarded to Rx path (no matter from TX path or RX path). For case 2) we care, our applications run inside a netns, and we classify the packets by our own filters outside, If some application sets this priority, it could bypass our filters, therefore clear it when moving out of a netns, it makes no sense to bypass tc filters out of its netns. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a659f91aeba8710973082a1c62c20bae139663f2 Merge: 8f2ddaa a596999 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 16:41:44 2015 -0400 Merge branch 'crypto_async' Tadeusz Struk says: ==================== Add support for async socket operations After the iocb parameter has been removed from sendmsg() and recvmsg() ops the socket layer, and the network stack no longer support async operations. This patch set adds support for asynchronous operations on sockets back. Changes in v3: * As sugested by Al Viro instead of adding new functions aio_sendmsg and aio_recvmsg, added a ptr to iocb into the kernel-side msghdr structure. This way no change to aio.c is required. Changes in v2: * removed redundant total_size param from aio_sendmsg and aio_recvmsg functions ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a596999b7ddfe7fc5b7b8adf9536ab1c39cb12d2 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Thu Mar 19 12:31:40 2015 -0700 crypto: algif - change algif_skcipher to be asynchronous The way the algif_skcipher works currently is that on sendmsg/sendpage it builds an sgl for the input data and then on read/recvmsg it sends the job for encryption putting the user to sleep till the data is processed. This way it can only handle one job at a given time. This patch changes it to be asynchronous by adding AIO support. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66db37391dad834a4f739984eec81af27a68b09c Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Thu Mar 19 12:31:30 2015 -0700 crypto: af_alg - Allow to link sgl Allow to link af_alg sgls. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0345f93138b2224e0d7ce91fcffdb3dd23f364d7 Author: tadeusz.struk@xxxxxxxxx <tadeusz.struk@xxxxxxxxx> Date: Thu Mar 19 12:31:25 2015 -0700 net: socket: add support for async operations Add support for async operations. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 807dc0668e7af56a49cf360c2d12f9b04083ac47 Merge: 5e79061 bc465aa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 21:36:48 2015 +0100 Merge 4.0-rc5 into staging-testing We want the staging tree fixes that are upstream here as well to prevent merge conflicts from people trying to clean up code. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f43b65bad6d54df7562c522a13d30efddae91234 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Mar 23 14:03:17 2015 -0400 smack: Fix gcc warning from unused smack_syslog_lock mutex in smackfs.c In commit 00f84f3f2e9d088f06722f4351d67f5f577abe22 ("Smack: Make the syslog control configurable") this mutex was added, but the rest of the final commit never actually made use of it, resulting in: In file included from include/linux/mutex.h:29:0, from include/linux/notifier.h:13, from include/linux/memory_hotplug.h:6, from include/linux/mmzone.h:821, from include/linux/gfp.h:5, from include/linux/slab.h:14, from include/linux/security.h:27, from security/smack/smackfs.c:21: security/smack/smackfs.c:63:21: warning: â??smack_syslog_lockâ?? defined but not used [-Wunused-variable] static DEFINE_MUTEX(smack_syslog_lock); ^ A git grep shows no other instances/references to smack_syslog_lock. Delete it, assuming that the mutex addition was just a leftover from an earlier work in progress version of the change. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit bf4b2fee99799780ea3dbb6d79d1909b3e32be13 Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Sat Mar 21 18:26:40 2015 -0700 Smack: Allow an unconfined label in bringup mode I have vehemently opposed adding a "permissive" mode to Smack for the simple reasons that it would be subject to massive abuse and that developers refuse to turn it off come product release. I still believe that this is true, and still refuse to add a general "permissive mode". So don't ask again. Bumjin Im suggested an approach that addresses most of the concerns, and I have implemented it here. I still believe that we'd be better off without this sort of thing, but it looks like this minimizes the abuse potential. Firstly, you have to configure Smack Bringup Mode. That allows for "release" software to be ammune from abuse. Second, only one label gets to be "permissive" at a time. You can use it for debugging, but that's about it. A label written to smackfs/unconfined is treated specially. If either the subject or object label of an access check matches the "unconfined" label, and the access would not have been allowed otherwise an audit record and a console message are generated. The audit record "request" string is marked with either "(US)" or "(UO)", to indicate that the request was granted because of an unconfined label. The fact that an inode was accessed by an unconfined label is remembered, and subsequent accesses to that "impure" object are noted in the log. The impurity is not stored in the filesystem, so a file mislabled as a side effect of using an unconfined label may still cause concern after a reboot. So, it's there, it's dangerous, but so many application developers seem incapable of living without it I have given in. I've tried to make it as safe as I can, but in the end it's still a chain saw. Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 7fc5f36e980a8f4830efdae3858f6e64eee538b7 Author: José Bollo <jose.bollo@xxxxxxxxxxxxxxxxxxx> Date: Tue Feb 17 15:41:22 2015 +0100 Smack: getting the Smack security context of keys With this commit, the LSM Smack implements the LSM side part of the system call keyctl with the action code KEYCTL_GET_SECURITY. It is now possible to get the context of, for example, the user session key using the command "keyctl security @s". The original patch has been modified for merge. Signed-off-by: José Bollo <jose.bollo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 7412301b76bd53ee53b860f611fc3b5b1c2245b5 Author: Marcin Lis <m.lis@xxxxxxxxxxx> Date: Thu Jan 22 15:40:33 2015 +0100 Smack: Assign smack_known_web as default smk_in label for kernel thread's socket This change fixes the bug associated with sockets owned by kernel threads. These sockets, created usually by network devices' drivers tasks, received smk_in label from the task that created them - the "floor" label in the most cases. The result was that they were not able to receive data packets because of missing smack rules. The main reason of the access deny is that the socket smk_in label is placed as the object during smk check, kernel thread's capabilities are omitted. Signed-off-by: Marcin Lis <m.lis@xxxxxxxxxxx> commit 8a56b6b5fd6ff92b7e27d870b803b11b751660c2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:48:01 2015 -0800 [media] v4l2-subdev: remove enum_framesizes/intervals The video and pad ops are duplicates, so get rid of the more limited video op. The whole point of the subdev API is to allow reuse of subdev drivers by bridge drivers. Having duplicate ops makes that much harder. We should never have allowed duplicate ops in the first place. A lesson for the future. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 17bef885249db5db921ac8cf6e23938a91a6cd7b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:48:00 2015 -0800 [media] v4l2-subdev: add support for the new enum_frame_interval 'which' field Support the new 'which' field in the enum_frame_interval ops. Most drivers do not need to be changed since they always returns the same enumeration regardless of the 'which' field. Tested for ov7670 and marvell-ccic on a OLPC XO-1 laptop. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6935224da2482a261c786501fbccb1dc4a675225 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 19 09:01:53 2015 +0000 spi: bcm2835: enable support of 3-wire mode Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 210b49231af6a3ede5de3c90850dbf1134a855c2 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 19 09:01:52 2015 +0000 spi: bcm2835: clock divider can be a multiple of 2 The official documentation is wrong in this respect. Has been tested empirically for dividers 2-1024 Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3e4bd8e10cd70d35a59854dcdcd7280c5ed240c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:59 2015 -0800 [media] DocBook media: document the new 'which' field The subdev enum ioctls now have a new 'which' field. Document this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4adf312976ef2b72830b83f212fef3f6a36513a6 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Mon Mar 23 15:11:53 2015 +0100 spi: bcm2835: fill/drain SPI-fifo as much as possible during interrupt Implement the recommendation from the BCM2835 data-sheet with regards to polling drivers to fill/drain the FIFO as much data as possible also for the interrupt-driven case (which this driver is making use of). This means that for long transfers (>64bytes) we need one interrupt every 64 bytes instead of every 12 bytes, as the FIFO is 16 words (not bytes) wide. Tested with mcp251x (can bus), fb_st7735 (TFT framebuffer device) and enc28j60 (ethernet) drivers. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5778e749c152567ac15201fcd988bc1604878021 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:58 2015 -0800 [media] v4l2-subdev: add support for the new enum_frame_size 'which' field Support the new 'which' field in the enum_frame_size ops. Most drivers do not need to be changed since they always returns the same enumeration regardless of the 'which' field. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Acked-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3f1ccf16f3ea015e57c326c2b14010bf119b6184 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:57 2015 -0800 [media] v4l2-subdev: support new 'which' field in enum_mbus_code Support the new 'which' field in the enum_mbus_code ops. Most drivers do not need to be changed since they always return the same enumeration regardless of the 'which' field. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 20058f90916b7ed5e986c399240f58d9af8892e0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:56 2015 -0800 [media] v4l2-subdev.c: add 'which' checks for enum ops Return an error if an invalid 'which' valid is passed in. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e1c47e732cbb4211d15ae0c4465dc4ceefcaa398 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:55 2015 -0800 [media] v4l2-subdev.h: add 'which' field for the enum structs While all other pad ops allow you to select whether to use the 'try' or the 'active' formats, the enum ops didn't have that option and always used 'try'. However, this will fail if a simple (e.g. PCI) bridge driver wants to use the enum pad op of a subdev that's also used in a complex platform driver like the omap3. Such a bridge driver generally wants to enum formats based on the active format. So add a new 'which' field to these structs. Note that V4L2_SUBDEV_FORMAT_TRY is 0, so the default remains TRY (applications need to set reserved to 0). Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f7234138f14c2296c5eb6b8224abe00b507faf3f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:54 2015 -0800 [media] v4l2-subdev: replace v4l2_subdev_fh by v4l2_subdev_pad_config If a subdevice pad op is called from a bridge driver, then there is no v4l2_subdev_fh struct that can be passed to the subdevice. This made it hard to use such subdevs from a bridge driver. This patch replaces the v4l2_subdev_fh pointer by a v4l2_subdev_pad_config pointer in the pad ops. This allows bridge drivers to use the various try_ pad ops by creating a v4l2_subdev_pad_config struct and passing it along to the pad op. The v4l2_subdev_get_try_* macros had to be changed because of this, so I also took the opportunity to use the full name of the v4l2_subdev_get_try_* functions in the __V4L2_SUBDEV_MK_GET_TRY macro arguments: if you now do 'git grep v4l2_subdev_get_try_format' you will actually find the header where it is defined. One remark regarding the drivers/staging/media/davinci_vpfe patches: the *_init_formats() functions assumed that fh could be NULL. However, that's not true for this driver, it's always set. This is almost certainly a copy and paste from the omap3isp driver. I've updated the code to reflect the fact that fh is never NULL. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d5ae685f15307c85c6267c5a2be9ba3d70eb3297 Author: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Date: Sat Mar 21 21:04:59 2015 -0700 Input: add Broadcom iProc touchscreen driver Add initial version of the Broadcom touchscreen driver. Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 98dc0703735d9cfc483522d5ffbce0c0b07c1f86 Author: Ramiro Morales <cramm0@xxxxxxxxx> Date: Mon Mar 23 10:33:07 2015 -0700 Input: synaptics - add quirk for Thinkpad E440 Its ClickPad shares PNP ID "LEN2006" with the one in model E540 which is already handled by the driver (both are Haswell iterations of the Edge line, launched in 2014) but the dimensions it reports are different: $ sudo ./touchpad-edge-detector /dev/input/event3 Touchpad SynPS/2 Synaptics TouchPad on /dev/input/event3 Move one finger around the touchpad to detect the actual edges Kernel says: x [1472..5044], y [1408..3398] Touchpad sends: x [1024..5045], y [2457..4832] /^C Fortunately we can use the board ID, which is also different, to distinguish among them. $ dmesg | grep -i synaptics psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x127c00, board id: 2691, fw id: 1494646 psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0 input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input4 Board ID in E540 is 2722: psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x127c00, board id: 2722, fw id: 1484859 (from https://launchpadlibrarian.net/179702965/BootDmesg.txt) Signed-off-by: Ramiro Morales <cramm0@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit eeebc3bb4d5d7edb56cb594e8f0ec2cfb10c2518 Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:46 2015 +0100 ARM: cpuidle: Remove duplicate header inclusion The cpu_do_idle() function is always used by the cpuidle drivers. That led to have each driver including cpuidle.h and proc-fns.h, they are always paired. That makes a lot of duplicate headers inclusion. Instead of including both in each .c file, move the proc-fns.h header inclusion in the cpuidle.h header file directly, so we can save some line of code. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit d4f9dcd1ac94e61e097951fd3dfb1cdf000a2660 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Mar 23 14:07:48 2015 +0200 spi: omap-uwire: Remove needless include asm/irq.h asm/irq.h is already included by linux/interrupt.h. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 22d1b94d4b04878a6d1514a21af04699bd27e0ce Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Mar 23 14:07:47 2015 +0200 spi: pxa2xx: Remove needless includes These asm/io.h, asm/irq.h and asm/delay.h are needless since they are already included by linux/io.h via drivers/spi/spi-pxa2xx.h, linux/interrupt.h and linux/delay.h. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 188933ac139a6f8ab06cad369bd0200af947b00d Merge: 4ed0e03 bc465aa Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 23 09:18:27 2015 -0700 Merge tag 'v4.0-rc5' into next Merge with the latest upstream to synchronize Synaptics changes and bring in new infrastructure pieces. Conflicts: drivers/input/mouse/synaptics.c commit c164c147c9a0a371c4710186972a02b6ee2eb984 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Mar 21 20:29:34 2015 -0700 Input: ALPS - fix max coordinates for v5 and v7 protocols Commit 3296f71cd2fde7a2ad52e66a27eae419f6328066 ("Input: ALPS - consolidate setting protocol parameters") inadvertently moved call to alps_dolphin_get_device_area() from v5 to v7 protocol, causing both protocols report incorrect maximum values for X and Y axes which resulted in crash in Synaptics X driver. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94801 Reported-by: Santiago Gala <sgala@xxxxxxxxxx> Reported-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4ed0e032c3cf27c6fabc154164d003c4e0ac4654 Author: Jens Thiele <karme@xxxxxxxx> Date: Mon Mar 23 09:04:56 2015 -0700 Input: sun4i-ts - allow controlling filter and sensitivity via DT This commit introduces two new optional device-tree properties: "tp-sensitive-adjust": adjust sensitivity of pen down detection "filter-type": select median and averaging filter The previous fixed defaults, didn't work well for the Olimex A13-LCD10TS (I have). Signed-off-by: Jens Thiele <karme@xxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2c7da8c590ad719796f46c875a096eb45ef971c7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Mar 2 12:56:12 2015 -0500 perf annotate: Allow annotation for decompressed kernel modules Decompressing kernel module file for objdump command if needed. Annotation commands now display annotation for compressed kernel modules. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-x4jcytk2d5qjmnjvb0w75q3f@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bc84f464862489e687c98dea1a8ff20dc4413f93 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Feb 17 17:31:18 2015 +0100 perf tools: Try to lookup kernel module map before creating one Currently we assume machine__new_module is called only once for each module so we create its map&dso unconditionally. However it's possible that it's called multiple times for same module. Like for perf record: 1) via machine__create_module during machine init 2) via kernel MMAP event processing Trying to lookup kernel module map before creating one. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kx76xfqpnrpho5hdaapbqm09@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 907fb509f0f1e35848d9e20b00176319af79101c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:49:41 2015 +0100 perf tools: Remove is_kmodule_extension function Because it's no longer needed. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-bb84vlg76t78q8y8fdeed2qn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e746b3ea0d414b3382bb61c8cecc45cefb370fbf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:16:34 2015 +0100 perf tools: Remove compressed argument from is_kernel_module We no longer need the 'compressed' argument, because all current users use 'NULL' for it. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d72q2s7ggbmy2yzhumux4zzw@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8dee9ff110f11fa536caef3cd2da23b74dceaf5b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 15:56:21 2015 +0100 perf tools: Use kmod_path__parse in is_kernel_module Replacing the current parsing code with kmod_path__parse function call. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-r9mpbbgkp39wp1cdmv13ddq0@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 914f85c4a2db34429b146a57652d2db24d063379 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:27:50 2015 +0100 perf tools: Use kmod_path__parse in decompress_kmodule Replacing the file name parsing with kmod_path__parse. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-zpyyitlte7lwe2ywi51rj4n5@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 27798365a60eaa61d8d9010466ffd57368b98ba9 Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:26 2015 +0000 drm: atomic: Allow setting CRTC active property Before, we would set the property, but also return -EINVAL because of a broken fallthrough. Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8f164ce41d1beaebfde99bcbf8bdaafb868eb7ae Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:25 2015 +0000 drm: atomic: Expose CRTC active property Active was here, and we allowed users to set it, but not to get it as well. Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5a27528ade3f5714e565db3c0dd35b6b3f7c1f31 Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:03 2015 +0000 drm: crtc_helper: Update hwmode before mode_set call Just as we provide crtc->mode pre-populated with the requested mode, move adjusted_mode into hwmode before we call the crtc's mode_set, making sure to restore it on failure. Allows drivers which thoughtlessly discard adjusted_mode in their mode_set hooks (e.g. Exynos) to use hwmode directly, and also provides some neat symmetry with crtc->mode. Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 54270952e9a83aebf31d16ded28e6757fdf8c88b Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:02 2015 +0000 drm: mode: Allow NULL modes for equality check Since we're now using mode == NULL to represent disabled, it's not wholly surprising that we'd want to compare NULL modes. Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f3af5c7ddd9af8a466a725c6ba8ae2414aa19113 Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:01 2015 +0000 drm: fb_helper: Simplify exit condition mode is always NULL at this point in the function, so make our intention clear. Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> [danvet: Stop clearing mode too to enlist gcc in tracking uninitialized usage. And remove a space while at it.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 448002471bf6cc34069c2b34a2727abeba079834 Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:00 2015 +0000 drm: mode: Fix typo in kerneldoc Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fb8c5e49887e21817fa2b63d296c378b847bb500 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 13:38:57 2015 +0200 drm/dp: Print the number of bytes processed for aux nacks When doing a native or i2c aux write the sink will indicate the number of bytes written even if it the nacks the transfer. When we receive a nack we just return an error upwards, but it might still be interesting to see how many bytes made it before the nack. So include that information in the debug messages. v2: Also print the message size (Jani) 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 3c56b3a12ce52f361468cbdd2f79b2f3b8da0ea6 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Mar 20 13:55:39 2015 +0100 xen/balloon: before adding hotplugged memory, set frames to invalid Commit 25b884a83d487fd62c3de7ac1ab5549979188482 ("x86/xen: set regions above the end of RAM as 1:1") introduced a regression. To be able to add memory pages which were added via memory hotplug to a pv domain, the pages must be "invalid" instead of "identity" in the p2m list before they can be added. Suggested-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.16+ Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 633d6f17cd91ad5bf2370265946f716e42d388c6 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Mar 20 13:55:38 2015 +0100 x86/xen: prepare p2m list for memory hotplug Commit 054954eb051f35e74b75a566a96fe756015352c8 ("xen: switch to linear virtual mapped sparse p2m list") introduced a regression regarding to memory hotplug for a pv-domain: as the virtual space for the p2m list is allocated for the to be expected memory size of the domain only, hotplugged memory above that size will not be usable by the domain. Correct this by using a configurable size for the p2m list in case of memory hotplug enabled (default supported memory size is 512 GB for 64 bit domains and 4 GB for 32 bit domains). Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.19+ Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 3c42ae3645a7fd2605453de9947629fb7b26c95f Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Feb 25 19:04:05 2015 +0100 ARM: at91/dt: sama5d4: add rgb777 LCD line configuration For the SAMA5D4 SoC, some LCD lines are in conflict with useful peripherals. Remove these lines and the lowest significant bit of a 24 bit LCD. It gives us a RGB 777 configuration. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e9b93cf5d1dd8c37a82007fca6e54bff83eb503c Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Fri Feb 20 15:07:18 2015 +0100 ARM: at91/dt: sama5d4: fix LCD pins for RGB666 format The color arrangement for SAMA5D4 in RGB 666 takes the most significant bits of each color line groups. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7e60dd30656771ed7f33aae796f791586a1fb356 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 09:43:11 2014 +0200 ARM: at91/dt: sama5d4: add hlcdc node Add HLCDC node. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c5900a9edf3e21595a012116ab738d4758ce9912 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 09:42:18 2014 +0200 ARM: at91/dt: sama5d4: add lcdc pin definitions Add LCDC pin definitions. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit bb58a8a459c322196613ad4af8801de41469cebb Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:20:01 2015 +0100 perf tools: Use kmod_path__parse in map_groups__set_modules_path_dir Replacing the file name parsing with kmod_path__parse and moving the dso update into new separate function. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-q0ed76ajcyoaofotntrg5sla@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3c309ab8fa896ba74959c8a0523aee6c25b3b80f Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Feb 11 17:49:02 2015 +0100 ARM: at91/dt: sama5d3: add uart1 pinctrl definition Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit f1ea096c78db038e947b6a5393467d4f065e1669 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Nov 27 15:30:05 2013 +0100 ARM: at91/dt: sama5d3: add uart0 Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> commit e55668914dc6056146189c54975ddac01c0e0dbd Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 7 18:32:24 2014 +0200 ARM: at91/dt: define the HLCDC node available on sama5d3 SoCs Define the HLCDC (HLCD Controller) IP available on some sama5d3 SoCs (i.e. sama5d31, sama5d33, sama5d34 and sama5d36) in sama5d3 dtsi file. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Anthony Harivel <anthony.harivel@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ee839fdd9ff14fc94e8092aa6f35572b6f760e09 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 4 16:43:53 2014 +0200 ARM: at91/dt: add alternative pin muxing for sama5d3 lcd pins Define alternative pin muxing for the LCDC pins. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Anthony Harivel <anthony.harivel@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 42be876539299cab8cf7324db7332cd680fdd4b5 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 7 18:31:49 2014 +0200 ARM: at91/dt: split sama5d3 lcd pin definitions to match RGB mode configs The HLCDC (HLCD Controller) IP supports 4 different output mode (RGB444, RGB565, RGB666 and RGB888) and the pin muxing will depend on the chosen RGB mode. Split pin definitions to be able to set pin config according to the selected mode. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Anthony Harivel <anthony.harivel@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 87003229119ee1e18660d6be6209f44167ba6c6e Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 19 17:41:41 2015 +0100 ARM: at91/dt: at91sam9n12ek: enable RTC Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5934973ddaf01beda9a0ce4f5efa7506ca8f8cb4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 19 17:23:13 2015 +0100 ARM: at91/dt: at91sam9x5cm: enable RTC Enable RTC for all the at91sam9x5 CPU Modules: this will enable it for all the EK boards. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4518996f90b1c2e04dfa15137dcafe59a47b59f7 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 08:35:38 2015 +0100 DT: video: atmel_lcdc: Add example of fixed framebuffer memory This drivers allows a fixed framebuffer memory to be set by an additional IORESOURCE_MEM resource. Thus add an example to the DT documentation. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ac04f85a733b6af1faa10f7603e98bf07d2c4203 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Mar 17 08:06:45 2015 +0800 iommu: ipmmu-vmsa: Add terminating entry for ipmmu_of_ids The of_device_id table is supposed to be zero-terminated. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 71684406905f98f86a85e008b51f5c4c5d83af5a Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Mar 4 11:30:10 2015 -0700 iommu/vt-d: Detach domain *only* from attached iommus Device domains never span IOMMU hardware units, which allows the domain ID space for each IOMMU to be an independent address space. Therefore we can have multiple, independent domains, each with the same domain->id, but attached to different hardware units. This is also why we need to do a heavy-weight search for VM domains since they can span multiple IOMMUs hardware units and we don't require a single global ID to use for all hardware units. Therefore, if we call iommu_detach_domain() across all active IOMMU hardware units for a non-VM domain, the result is that we clear domain IDs that are not associated with our domain, allowing them to be re-allocated and causing apparent coherency issues when the device cannot access IOVAs for the intended domain. This bug was introduced in commit fb170fb4c548 ("iommu/vt-d: Introduce helper functions to make code symmetric for readability"), but is significantly exacerbated by the more recent commit 62c22167dd70 ("iommu/vt-d: Fix dmar_domain leak in iommu_attach_device") which calls domain_exit() more frequently to resolve a domain leak. Fixes: fb170fb4c548 ("iommu/vt-d: Introduce helper functions to make code symmetric for readability") Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.17+ Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 83a60ed8f0b5ce550afd5802b60468578db4e055 Author: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 16:51:06 2015 +0100 iommu/arm-smmu: fix ARM_SMMU_FEAT_TRANS_OPS condition This patch is a fix to "iommu/arm-smmu: add support for iova_to_phys through ATS1PR". According to ARM documentation, translation registers are optional even in SMMUv1, so ID0_S1TS needs to be checked to verify their presence. Also, we check that the domain is a stage-1 domain. Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1fc0a8f7c45275c38d3322089313fe2e309c1f17 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:38 2015 +0000 drm/i915/skl: Take 90/270 rotation into account in watermark calculations v2: Pass in rotation info to sprite plane updates as well. v3: Use helper to determine 90/270 rotation. (Michel Thierry) v4: Rebased for fb modifiers and atomic changes. For: VIZ-4546 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v3) Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 121920faf2ccce9aa66a7e2588415c9647b66104 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:37 2015 +0000 drm/i915/skl: Query display address through a wrapper Need to do this in order to support 90/270 rotated display. v2: Pass in drm_plane instead of plane index to intel_obj_display_address. v3: * Renamed intel_obj_display_address to intel_plane_obj_offset. (Chris Wilson) * Simplified rotation check to bitwise AND. (Chris Wilson) v4: * Extracted 90/270 rotation check into a helper function. (Michel Thierry) v5: * Rebased for ggtt view changes. For: VIZ-4545 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 50470bb011c4be278097670bea92462f4e8c8945 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:36 2015 +0000 drm/i915/skl: Support secondary (rotated) frame buffer mapping 90/270 rotated scanout needs a rotated GTT view of the framebuffer. This is put in a separate VMA with a dedicated ggtt view and wired such that it is created when a framebuffer is pinned to a 90/270 rotated plane. Rotation is only possible with Yb/Yf buffers and error is propagated to user space in case of a mismatch. Special rotated page view is constructed at the VMA creation time by borrowing the DMA addresses from obj->pages. v2: * Do not bother with pages for rotated sg list, just populate the DMA addresses. (Daniel Vetter) * Checkpatch cleanup. v3: * Rebased on top of new plane handling (create rotated mapping when setting the rotation property). * Unpin rotated VMA on unpinning from display plane. * Simplify rotation check using bitwise AND. (Chris Wilson) v4: * Fix unpinning of optional rotated mapping so it is really considered to be optional. v5: * Rebased for fb modifier changes. * Rebased for atomic commit. * Only pin needed view for display. (Ville Syrjälä, Daniel Vetter) v6: * Rebased after preparatory work has been extracted out. (Daniel Vetter) v7: * Slightly simplified tiling geometry calculation. * Moved rotated GGTT view implementation into i915_gem_gtt.c (Daniel Vetter) v8: * Do not use i915_gem_obj_size to get object size since that actually returns the size of an VMA which may not exist. * Rebased for ggtt view changes. v9: * Rebased after code review changes on the preceding patches. * Tidy function definitions. (Joonas Lahtinen) For: VIZ-4726 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v4) Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f64b98cd2e40052c17f67f09a081ff292bac0f77 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:35 2015 +0000 drm/i915: Helper function to determine GGTT view from plane state For now only default implementation defaulting to normal view. v2: Some code review cleanups. (Joonas Lahtinen) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> (v2) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 82bc3b2daa78d99b5c93ef17e8b660e56447c935 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:34 2015 +0000 drm/i915: Pass in plane state when (un)pinning frame buffers Plane state carries the rotation information which is needed for determining the appropriate GGTT view type. This just adds the parameter with the actual usage coming in future patches. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e6617330920fdc705220f57a7dd6f8c7da4ae21d Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:33 2015 +0000 drm/i915: Use GGTT view when (un)pinning objects to planes To support frame buffer rotation we need to be able to pass on the information on what kind of GGTT view is required for display. This patch just adds the parameter and makes all the callers default to the normal view. v2: Rebased for ggtt view changes. v3: Don't limit PIN_MAPPABLE to normal views just yet. (Joonas Lahtinen) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> (v3) [danvet: s/BUG/WARN/ in the patch hunk because. At least where the BUG_ON isn't fatal right away.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6761dd3185a76c5d9ae0141e08f123d97d7f303b Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:32 2015 +0000 drm/i915/skl: Extract tile height code into a helper function It will be used in a later patch and also convert all height parameters from int to unsigned int. v2: Rebased for fb modifiers. v3: Fixed v2 rebase. v4: * Height should be unsigned int. * Make it take pixel_format for consistency and simplicity. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v1) Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> (v4) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 34061f134f70d33296fa56678cee122dd7010401 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 23 14:03:59 2015 +0100 x86/asm/entry/64: Fix incorrect comment The recent old_rsp -> rsp_scratch rename also changed this comment, but in this case "old_rsp" was not referring to PER_CPU(old_rsp). Fix this. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427115839-6397-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2530fd73252890320e6dac87bc3b854da27d594a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:59:07 2015 +0100 mmc: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 303dbedc3152b0a3828ea881b446c2e2a247662f Author: NeilBrown <neilb@xxxxxxx> Date: Tue Feb 24 13:42:23 2015 +1100 mmc: core: fold mmc_set_bus_width calls into sdio_enable_4bit_bus. Every call to sdio_enable_4bit_bus is followed (on success) by a call to mmc_set_bus_width(). To simplify the code, include those calls directly in sdio_enable_4bit_bus(). Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a1cb1d1114d3258487321f822457f74ed897068c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Mar 13 13:39:03 2015 +0100 MAINTAINERS: mmc: Cleanup MMC/SD/SDIO section and SDHCI driver section As Chris Ball has moved on to other assignments, he's no longer able to help me maintain MMC. Let's remove him from the MMC sections in MAINTAINERS and add him to CREDIT file. This also affects the SDHCI DRIVER section, since its state now becomes orphan. Cc: Chris Ball <chris@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Chris Ball <chris@xxxxxxxxxx> commit 2b6f9b81539a8a462e96f2bb22e804ecd5ee5ca0 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Mar 13 13:25:25 2015 +0100 MAINTAINERS: mmc: Remove the SDHCI-OF section Anton told me that he isn't maintaing the SDHCI-OF parts anymore, so let's remove him from this section to avoid confusion. Morover, since the SDHCI-OF section overlaps with the SDHCI DRIVER section, let's just remove it completely. Cc: Anton Vorontsov <anton@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a4101dcb44c2adabafc5680ce1ecc109b59e2175 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 10 16:36:36 2015 +0100 mmc: sunxi: add MMC_CAP_SDIO_IRQ capability When the sunxi mmc-controller code was initially merged MMC_CAP_SDIO_IRQ was not added to the host caps because of issues with some sdio wifi modules. It turns out that these issues have nothing to do with using sdio-irq support, they also happen with oob interrupts. Since the hardware supports sdio-irq everywhere, and since the one reason to not claim the capability is gone, add MMC_CAP_SDIO_IRQ to the default host caps. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b1ddaa3d066f28b626a15b15b0dc377fee2e2406 Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Thu Mar 12 18:11:01 2015 -0700 mmc: sdhci-iproc: fix oops in sdhci_iproc_writew The driver co-allocates sdhci_iproc_host with sdhci_pltfm_host and so to access it we need to use sdhci_pltfm_priv() and not pltfm_host->priv. Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 04e079cf6b24c794bbc52b04b370f84cb728540e Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Tue Mar 10 11:35:10 2015 -0700 mmc: sdhci: fix card presence logic in sdhci_request function The sdhci_request function should consider a non-removable device always present. Call the correct logic already available in sdhci_do_get_cd function. This fixes some logic paths where MMC requests are being made to non-removable devices that do not have the card detect pin connected on the hardware as it is non-removable. Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 03a6d291047da60d56514c28fa1314235bdf2037 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Mar 4 16:30:07 2015 +0100 mmc: sdhci-spear: Remove exported header Move the member for card_int_gpio into the struct spear_sdhci. In this way we eliminate the last user of the struct sdhci_plat_data, which enables us to remove the exported header for sdhci-spear. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bbd7f0a20f76d079199d6d749cb3da07d345bae3 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Mar 4 14:57:44 2015 +0100 mmc: sdhci-spear: Simplify by adding build dependency to CONFIG_OF This driver is used on SoCs which are using CONFIG_OF. By adding a compile dependency in the Kconfig, it enables us to simplify some code. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 83f13cc9af9822cacc6644ee3c63c81f3930ddad Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Mar 4 10:19:14 2015 +0100 mmc: sdhci: Remove the sdhci exported header file Since there no users of the struct sdhci_host, but the shdci host drivers themselves, let's move the definition of it to the local sdhci header. The exported sdhci header then becomes empty, so let's remove it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5ec358201eceaf599b0f35bd60ed8be3c4752e37 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Wed Feb 4 14:33:53 2015 +0800 mmc: sdhci-pltfm: remove the unneeded check of disabled device Since commit cd1e65044d44 ("of/device: Don't register disabled devices"), the disabled device will not be registered at all. So we don't need to do the check again in the platform device driver. And the check in the current code is useless even if we really run into a disabled device. In this case, it just doesn't parse the dtb for the infos such as quirks or clock, but it will continue to try to init the disabled device after that check. So just remove it. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 01df7ecd90e94186f9a736a1c58b56e23830f061 Author: Rhyland Klein <rklein@xxxxxxxxxx> Date: Wed Feb 11 12:55:51 2015 -0500 mmc: tegra: Optimize write_w path for tegra114 and later Setup a different set of sdhci_ops for tegra114 and later so that the write_w callback is only used on tegra114. This allows us to remove the NVQUIRK_SHADOW_XFER_MODE_REG and simply the logic in tegra_sdhci_writew. Suggested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Rhyland Klein <rklein@xxxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit dbb42d962c4149fe2e97f74bf1343b5229eefe5e Author: Kouichi Tomita <kouichi.tomita.yn@xxxxxxxxxxx> Date: Sun Feb 15 23:46:46 2015 +0900 mmc: sh_mmcif: Add exclusion between cmd and interrupt A command end interrupt should not be processed between command issue and setting of wait_for flag. It expects already the flag to be set. Therefore the exclusive control was added. Signed-off-by: Kouichi Tomita <kouichi.tomita.yn@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4cbd52246533d1dc6449ef8278e95e5e0944a1e5 Author: Kouichi Tomita <kouichi.tomita.yn@xxxxxxxxxxx> Date: Sun Feb 15 23:46:47 2015 +0900 mmc: sh_mmcif: Move dev_err() of mmcif_timeout_work() If interruption of command already occurred, mrq pointer in dev_err() would refer to NULL, because the host-state is changed to STATE_IDLE and mrq pointer is changed to NULL by interrupt handler. Therefore dev_err is moved after checking STATE_IDLE. Signed-off-by: Kouichi Tomita <kouichi.tomita.yn@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit daa3054f5772b14dd073a2b95fd0353faec0fcc5 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Mon Feb 23 11:30:40 2015 +0100 mmc: Fix hardware dependencies for sdhci-pxav3 It was brought to my attention that the sdhci-pxav3 driver is needed on a few more ARM machines than I initially thought. Add the missing architectures to the dependency list. Credits to Peter Robinson for noticing my mistake and reporting. Reported-by: Peter Robinson <pbrobinson@xxxxxxxxx> Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Chris Ball <chris@xxxxxxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Cc: Eric Miao <eric.y.miao@xxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0f12a0ce4ce4a47d8a34399a3f22d4ce7fd2d908 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Feb 12 13:36:11 2015 +0900 mmc: pwrseq: simplify alloc/free hooks The alloc() and free() hooks required each pwrseq implementation to set host->pwrseq themselves. This is error-prone and could be done at a higher level if alloc() was changed to return a pointer to a struct mmc_pwrseq instead of an error code. This patch performs this change and moves the burden of maintaining host->pwrseq from the power sequence hooks to the pwrseq code. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d34712d2e3db9b241d0484a6e3839c6b7ef9df78 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Feb 24 10:47:27 2015 +0100 mmc: sunxi: avoid invalid pointer calculation The sunxi mmc driver tries to calculate a dma address by using pointer arithmetic, which causes a warning when dma_addr_t is wider than a pointer: drivers/mmc/host/sunxi-mmc.c: In function 'sunxi_mmc_init_idma_des': drivers/mmc/host/sunxi-mmc.c:296:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] struct sunxi_idma_des *pdes_pa = (struct sunxi_idma_des *)host->sg_dma; ^ To avoid this warning and to simplify the logic, this changes the code to avoid the cast and calculate the correct address manually. The behavior should be unchanged. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: David Lanzendörfer <david.lanzendoerfer@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5f2e097ce0894c0882577cebf44f4e1db01d9f98 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Feb 26 20:08:21 2015 +0800 mmc: kconfig: replace PPC_OF with PPC The PPC_OF is a ppc specific option which is used to mean that the firmware device tree access functions are available. Since all the ppc platforms have a device tree, it is aways set to 'y' for ppc. So it makes no sense to keep a such option in the current kernel. Replace it with PPC. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b580c52d58d92f1e054c8b4515cf0fa617a77a26 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Mon Feb 9 16:06:30 2015 -0800 mmc: sdhci-iproc: add IPROC SDHCI driver Add IPROC SDHCI driver for IPROC family of Broadcom devices. Acked-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Corneliu Doban <cdoban@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 61fe2f80f82d7596c9046e90794e1675617c9a26 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Mon Feb 9 16:06:31 2015 -0800 mmc: sdhci-iproc: add device tree bindings Add device tree binding documentation for IPROC SDHCI driver. Acked-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Corneliu Doban <cdoban@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 85cc1c33196abd0640e0195389c6683661afb83c Author: Corneliu Doban <cdoban@xxxxxxxxxxxx> Date: Mon Feb 9 16:06:29 2015 -0800 mmc: sdhci: do not set AUTO_CMD12 for multi-block CMD53 For CMD53 in block mode, the host does not need to stop the transfer, as it stops when the block count (present in CMD53) is reached. Signed-off-by: Corneliu Doban <cdoban@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3bfa6f030a01870a43e2a0652437a20b59bc3412 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Mon Feb 9 16:06:28 2015 -0800 mmc: sdhci: add quirk for ACMD23 broken Add quirk to handle broken auto-CMD23. Some controllers do not respond after the first auto-CMD23 is issued. This allows CMD23 to still work (mandatory for the faster UHS-I mode) rather than disabling CMD23 entirely via SDHCI_QUIRK2_HOST_NO_CMD23. Signed-off by: Corneliu Doban <cdoban@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit eeed7026b4b2840dcc771c3a23783425b50bd6ef Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Feb 26 23:37:55 2015 +0300 mmc: sdhci-esdhc-imx: silence a false curly braces warning Static checkers suggest that probably we intended to put curly braces around the writel() to make it part of the else path. But, I think actually the indenting is off and the code works fine as is. The stray tab was introduced in 0322191e6298 ('mmc: sdhci-esdhc-imx: add sd3.0 SDR clock tuning support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 13a6a2ed1f5e77ae47c2b1a8e3bf22b2fa2d56ba Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Feb 18 17:34:59 2015 +0100 mmc: tmio: Remove bogus un-initialization in tmio_mmc_host_free() If CONFIG_DEBUG_SLAB=y: sh_mobile_sdhi ee100000.sd: Got CD GPIO sh_mobile_sdhi ee100000.sd: Got WP GPIO platform ee100000.sd: Driver sh_mobile_sdhi requests probe deferral ... Slab corruption (Not tainted): kmalloc-1024 start=ed8b3c00, len=1024 2d0: 00 00 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b ....kkkkkkkkkkkk Prev obj: start=ed8b3800, len=1024 000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk 010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk Struct tmio_mmc_host is embedded inside struct mmc_host, and thus is freed by the call to mmc_free_host(). Hence it must not be written to afterwards, as that will corrupt freed (and perhaps already reused) memory. Fixes: 94b110aff8679b14 ("mmc: tmio: add tmio_mmc_host_alloc/free()") Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c22f5e1b1c551e22bbdcd747182c0c4920949d32 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Thu Mar 5 18:02:54 2015 +0800 mmc: dw_mmc: exynos: dw_mci_exynos_prepare_hs400_tuning() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3d3bbfbdfd61201f8363360bc680590399d4d93b Author: Russ Dill <Russ.Dill@xxxxxx> Date: Fri Feb 27 13:24:34 2015 +0200 mmc: omap_hsmmc: add hibernation support Setting a dev_pm_ops suspend/resume pair but not a set of hibernation functions means those pm functions will not be called upon hibernation. Fix this by using SET_SYSTEM_SLEEP_PM_OPS, which appropriately assigns the suspend and hibernation handlers and move omap_hsmmc_x callbacks under CONFIG_PM_SLEEP to avoid build warnings. Signed-off-by: Russ Dill <Russ.Dill@xxxxxx> [Grygorii.Strashko@xxxxxxxxxx: rebased on top of K4.0] Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit cde592cbe53fdfbcffb3b5ed01eca35b1b811bb6 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Mar 3 13:28:15 2015 +0100 mmc: omap_hsmmc: use distinctive code paths for cover / card detect logic Mobile phones (some) have no card detect pin, but can detect if the cover is removed. The purpose is the same; detect if card is being added/removed, but the details differ. When the cover is removed, it does not mean the card is gone. But it might, since it is accessible now. It's like a warning. All the driver does is to limit write access to the card, see protect_card flag. In contrast, card detect notifies us after the fact, e.g. card is gone, card is inserted. We can't take precautions, but we can rely on those events, -- the card is really gone, or do scan the card. To summarize there is not much code sharing between cover and card detect, it only increases confusion. By splitting, both will be simplified in a followup patch. Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a49d83537b7151aae7292fbdf77d5a4710ef1d60 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Mar 3 13:28:14 2015 +0100 mmc: omap_hsmmc: use slot-gpio functions to manage read-only pin directly The indirection via omap_hsmmc_get_ro and omap_hsmmc_get_wp is redundant. Also dropped setting gpio_wp to EINVAL since platform date is read-only Untested: no device with ro pin was available, but change is fairly simple Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f048968f8e6c1e124aa05f168340bcdf18f0f0dd Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Mar 3 13:28:13 2015 +0100 mmc: omap_hsmmc: remove unused fields from struct omap_hsmmc_host addon to: 09108968b7b72b6083a3bfc8f8259a74ed57255e mmc: omap_hsmmc: remove prepare/complete system suspend support Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9e71c589e44ddf2b86f361c81e360c6b0d0354b1 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Mar 3 09:44:40 2015 +0800 mmc: sunxi: Use devm_reset_control_get_optional() for reset control The reset control for the sunxi mmc controller is optional. Some newer platforms (sun6i, sun8i, sun9i) have it, while older ones (sun4i, sun5i, sun7i) don't. Use the properly stubbed _optional version so the driver does not fail to compile when RESET_CONTROLLER=n. This patch also adds a check for deferred probing on the reset control. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.16+ Acked-by: David Lanzendörfer <david.lanzendoerfer@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit caebcae94fc01aef409ea0cabf0c327b6c23840e Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:31 2015 +0800 mmc: sdhci: set the .remove to sdhci_pltfm_unregister() In these drivers, the driver specific .remove function just a simple wrapper of function sdhci_pltfm_unregister(). So remove these wrappers and just set .remove to sdhci_pltfm_unregister(). Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 83eacdfa2529b4ee97fe16a3a3a41d1b03465e13 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:30 2015 +0800 mmc: sdhci: disable the clock in sdhci_pltfm_unregister() So we can avoid to sprinkle the clk_disable_unprepare() in many drivers. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2290fcb341a07cc22c0f7f7d529c137a78039cdf Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:29 2015 +0800 mmc: sdhci-bcm-kona: kill the "external_clk" member in driver private struct Actually we can use the "clk" in the struct sdhci_pltfm_host. Also change the "external clock" to "core clock" and kill two redundant private functions in this driver as suggested by Ray Jui. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e46af2987b9228d213d2399e69a8741ad805c293 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:28 2015 +0800 mmc: sdhci-sirf: kill the "clk" member in driver private struct Actually we can use the "clk" in the struct sdhci_pltfm_host. With this change we can also kill the private function for get max clock in this driver. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e4f79d9ca21810a606ecce9067b8b037a5511413 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:27 2015 +0800 mmc: tegra: use devm help functions to get the clk and gpio Simplify the error and remove path. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 35daeede227051e7fe91aee33d57dd7b0077e660 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:26 2015 +0800 mmc: sdhci-dove: kill the driver specific private struct There is only one "clk" member in this driver specific private struct. Actually we can use the "clk" member in the struct sdhci_pltfm_host, and then kill this struct completely. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6a4a34a413d896d1efe5a582a3bb8e435da65c1a Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:25 2015 +0800 mmc: sdhci-dove: remove the unneeded error check The function clk_disable_unprepare() already take care of either error or null cases. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b36ac1b43ebcd8b63cbfb35c54edb7bd577ad15b Author: weijun yang <york.yang@xxxxxxx> Date: Sun Feb 15 23:43:51 2015 +0800 mmc: sirf: update sdhci_sirf_execute_tuning procedure For the original tuning code, delay value is set to SD Bus Clock Delay Register (SD_CLK_DELAY_SETTING) as (val | (Val << 7) | (val << 16)), which means CLK_DELAY_IN1, CLK_DELAY_IN2 and CLK_DELAY_OUT are the same and with 128 steps. This is doubtful. In CSR design specification documents CS-304575-DR-3H, this issue is clarified, the delay[13:0] in SD_CLK_DELAY_SETTING is simplied to the concatenation of {CLK_DELAY_IN2, CLK_DELAY_IN1}. Besides, for CMD19 tuning, no need to set CLK_DELAY_OUT([22,16] of SD_CLK_DELAY_SETTING). Signed-off-by: weijun yang <york.yang@xxxxxxx> Signed-off-by: Barry Song <baohua.song@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ed2540effa70097f8e74aeaa83525dea7ccfc47a Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Feb 25 10:11:52 2015 -0800 mmc: dw_mmc: Don't crash if we get an interrupt before slot has initted It's unlikely that this is really needed on any single-slot systems where we disable card detects until the end of probe, but it still seems safer to check to make sure that a slot has been initted before we try to dereference it to find the SDIO interrupt mask. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fa0c328343c6314364d3678334f5a8854e086f11 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Feb 25 10:11:51 2015 -0800 mmc: dw_mmc: Only enable CD after setup and only if needed We really don't want to get a card detect interrupt during probe time since it can confuse things. Let's disable the card detect interrupt until we're in a really good place: the end of probe. Let's also simply avoid enabling the card detect interrupt if it's not used. It appears that (at least on rk3288) when vqmmc is turned on it can cause a bogus "card detect" interrupt. That meant that we were getting a predictable card detect interrupt while we were in mmc_add_host(). On the version of the kernel I'm working with at least (3.14), this is not a great time to get a card detect interrupt since I think that we don't grab all the needed locks in mmc_add_host() and children. I put stack dumps in dw_mci_setup_bus() and found that I could see two distinct stack crawls that looked like: Caller one: * dw_mci_setup_bus * dw_mci_set_ios * mmc_power_up * mmc_start_host * mmc_add_host Caller two: * dw_mci_setup_bus * dw_mci_set_ios * mmc_set_chip_select * mmc_go_idle * mmc_rescan * process_one_work * worker_thread * kthread Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0bdbd0e88cf6b603a2196418672715b0890fb040 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Feb 20 12:31:56 2015 -0800 mmc: dw_mmc: Don't start commands while busy We've seen problems on some WiFi modules where we seem to send a CMD53 (which requires the data lines) while the module is asserting busy. We shouldn't do that. The Designware Databook says that before issuing a new data transfer command we should check for busy, so that's what we'll do. We'll leverage the existing dw_mmc knowledge about whether it should wait for the previous command to finish to know whether we should check for busy before sending the command. This means we won't end up incorrectly waiting for things like CMD52 (SDIO) or CMD13 (SD) which don't use the data line. Note that this also has the advantage of making sure that we don't change the clock while the card is busy, too. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d1f1dd86006c668aea2014b524b0d5e7bec3edca Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Feb 20 10:57:19 2015 -0800 mmc: dw_mmc: Give a good reset after we give power We should give dw_mmc a good reset after we apply power. On some boards vqmmc may actually be connected to the IP block in the SoC so it's good to reset after power comes in. Without this we sometimes see failures enumerating cards on rk3288. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 655babbde6fdbd5a4a4072b7cdd8b1fb1a23db24 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Feb 20 10:57:18 2015 -0800 mmc: dw_mmc: Make sure we only adjust the clock when power is on It appears that we can confuse things if we try to turn on the MMC clock when the power is off. Adjust is so that we turn the clock on (using dw_mci_setup_bus) after power is all the way on and we turn the clock off before the power goes off. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bdb9a90b3d123d9d421dd840c0f7fba1d1dfeba2 Author: addy ke <addy.ke@xxxxxxxxxxxxxx> Date: Fri Feb 20 10:55:25 2015 +0800 mmc: dw_mmc: fix mmc_test by not sending abort for DRTO/EBE errors The STOP command can terminate a data transfer between a memory card and mmc controller. As show in Synopsys DesignWare Cores Mobile Storage Host Databook: Data timeout and Data end-bit error will terminate further data transfer by mmc controller. So we should not send abort command to terminate a data transfer again if we got DRTO and EBE interrupt. After this patch, all mmc_test cases can pass on RK3288-Pink2 board. Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6d53200b51a57f50bc5a98b36bfcdb47483ad61a Author: addy ke <addy.ke@xxxxxxxxxxxxxx> Date: Fri Feb 20 10:37:40 2015 +0800 mmc: dw_mmc: rockchip: add support MMC_CAP_RUNTIME_RESUME capability To support HS200 and UHS mode, mmc core will call init_card() to execute tuning: - sdio: init_card can be executed at runtime resume. - sd and mmc: init_card can be executed at resume or runtime resume, which depends on MMC_CAP_RUNTIME_RESUME capability. On rk3288 SoC, host will get DRTO interrupt when host send command to read tuning data. This will spend more than 111ms: drto_ms = drto_clks * 1000 / bus_hz = 111ms. And the total tuning time will be more than 400ms. So we should add MMC_CAP_RUNTIME_RESUME capability to execute tuning at runtime resume. Only if we do so, can we pass resume test. Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 801131321a0c53052084c10144dc07a061229f3f Author: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Date: Thu Jan 29 08:11:57 2015 +0530 mmc: dw_mmc: exynos: Support eMMC's HS400 mode Implements HS400 mode support for exynos host driver. This also include some updates as new mode is added. Signed-off-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> [Alim: addressed review comments] Tested-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 77008b70fe0a9ffe354580d9dfda329cdde7f20b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 12:41:31 2015 +0300 ALSA: echoaudio: read past end of array We need to cap "ucontrol->id.index / num_busses_in(chip)" so the we don't read beyond the end of the array. I also adding a check on "in" and changing the type in snd_echo_mixer_put() from short to unsigned int. Those changes are done for symmetry and are cosmetic. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 034f90b393a3d5c99654f048c4b22b3d05e3a345 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 12:34:46 2015 +0300 ALSA: ak411x: simplify snd_ak4113_create() a bit "err" is always a negative error code here, so there is no point in checking. Removing the check silences a static checker warning and makes the code a bit more clear. Also we don't need to initialize "err". Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 40ba66a702b83f46c53456eaaac692fc12f82cb0 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 13 15:56:25 2015 +0100 ALSA: hda - Add cache support for COEF read/write The 16bit COEF read/write is pretty standard for many codecs, and they can be cached in most cases -- more importantly, they need to be restored at resume. For making this easier, add the cache support to regmap. If the codec driver wants to cache the COEF access, set codec->cache_coef flag and issue AC_VERB_GET_PROC_COEF with the coef index in LSB 8 bits. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 33f819400659da9ff9f636b78f33ff4f1f08cbd4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 9 22:19:47 2015 +0100 ALSA: hda - Handle get/set power verb symmetrically via regmap HD-audio has quite a few asymmetrical ways of accessing verbs, and one of typical ones is GET/SET_POWER_STATE verbs. While it takes only the power state for setting, it returns a combination of states for getting. For making the state handling simpler, this patch adds a code to translate the value returned from GET_POWER_STATE to return only the actual state or -1 for error. In that way, the driver can simplify the power state management. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d313e0a88d1b29d17198ef659af042a633a2d3de Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Mar 4 20:43:20 2015 +0100 ALSA: hda - Add a fake stereo amp register support HD-audio spec is inconvenient regarding the handling of stereo volume controls. It can set and get only single channel at once (although there is a special option to set the same value to both channels). This patch provides a fake pseudo-register via the regmap access so that the stereo channels can be read and written by a single call. It'd be useful, for example, for implementing DAPM widgets. A stereo amp pseudo register consists of the encoding like the normal amp verbs but it has both SET_LEFT (bit 13) and SET_RIGHT (bit 12) bits set. The regmap reads and writes a 16bit value for this pseudo register where the upper 8bit is for the right chanel and the lower 8bit for the left channel. Note that the driver doesn't recognize conflicts when both stereo and mono channel registers are mixed. Mixing them would certainly confuse the operation. So, use carefully. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a551d91473e5e3a591f6fe86ac5a5fb460c3f96a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 12:34:49 2015 +0100 ALSA: hda - Use regmap for command verb caches, too Like the previous patches, this patch converts also to the regmap, at this time, the cached verb writes are the target. But this conversion needs a bit more caution than before. - In the old code, we just record any verbs as is, and restore them at resume. For the regmap scheme, this doesn't work, since a few verbs like AMP or DIGI_CONVERT are asymmetrical. Such verbs are converted either to the dedicated function (snd_hda_regmap_xxx_amp()) or changed to the unified verb. - Some verbs have to be declared as vendor-specific ones before accessing via regmap. Also, the minor optimization with codec->cached_write flag is dropped in a few places, as this would confuse the operation. Further optimizations will be brought in the later patches, if any. This conversion ends up with a drop of significant amount of codes, mostly the helper codes that are no longer used. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5e56bcea5017b7b7808df60f21ef01738b6e1a25 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 12:29:03 2015 +0100 ALSA: hda - Allow driver to add vendor-specific verbs for regmap Codecs may have own vendor-specific verbs, and we need to allow each driver to give such verbs for cached accesses. Here a verb can be put into a single array and looked through it at readable and writeable callbacks. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit faa75f8a2edf005a5caf43be4875ffeeb9bcb498 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 08:54:56 2015 +0100 ALSA: hda - Use regmap for parameter caches, too The amp hash table was used for recording the cached reads of some capability values like pin caps or amp caps. Now all these are moved to regmap as well. One addition to the regmap helper is codec->caps_overwriting flag. This is set in snd_hdac_override_parm(), and the regmap helper accepts any register while this flag is set, so that it can overwrite even the read-only verb like AC_VERB_PARAMETERS. The flag is cleared immediately in snd_hdac_override_parm(), as it's a once-off flag. Along with these changes, the no longer needed amp hash and relevant fields are removed from hda_codec struct now. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eeecd9d10d3da0b9efd6f58fad55c4355dcc246a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 25 15:18:50 2015 +0100 ALSA: hda - Use regmap for amp accesses This patch converts the amp access functions to the regmap helpers. The amp values were formerly cached in the own hash table. Now it's dropped by the regmap's cache. The only tricky conversion is snd_hda_codec_amp_init(). This function shouldn't do anything if the amp was already initialized. For achieving this behavior, a value is read once at first temporarily in the cache-only mode. Only if it returns an error, i.e. the item still doesn't exist in the cache, it proceeds to the update. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9ba17b4d132f56a680fa1ba0bc2a8f98b6263d93 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 3 23:29:47 2015 +0100 ALSA: hda - Implement uncached version of parameter reads Sometimes we need the uncached reads, e.g. for refreshing the tree. This patch provides the helper function for that and uses it for refreshing widgets, reading subtrees and the whole proc reads. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 01ed3c06c6d5e7e861650ae76117dd4194d87316 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 13:57:47 2015 +0100 ALSA: hda - Use regmap for codec parameter reads Let's start converting the access functions to regmap. The first one is the simplest, just converting the codec parameter read helper function snd_hda_param_read(). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4d75faa0448a6bb2fd6d56051a3675a3937cbada Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 25 14:42:38 2015 +0100 ALSA: hda - Add regmap support This patch adds an infrastructure to support regmap-based verb accesses. Because o the asymmetric nature of HD-audio verbs, especially the amp verbs, we need to translate the verbs as a sort of pseudo registers to be mapped uniquely in regmap. In this patch, a pseudo register is built from the NID, the AC_VERB_GET_* and 8bit parameters, i.e. almost in the form to be sent to HD-audio bus but without codec address field. OTOH, for writing, the same pseudo register is translated to AC_VERB_SET_* automatically. The AC_VERB_SET_AMP_* verb is re-encoded from the corresponding AC_VERB_GET_AMP_* verb and parameter at writing. Some verbs has a single command for read but multiple for writes. A write for such a verb is split automatically to multiple verbs. The patch provides also a few handy helper functions. They are designed to be accessible even without regmap. When no regmap is set up (e.g. before the codec device instantiation), the direct hardware access is used. Also, it tries to avoid the unnecessary power-up. The power up/down sequence is performed only on demand. The codec driver needs to call snd_hdac_regmap_exit() and snd_hdac_regmap_exit() at probe and remove if it wants the regmap access. There is one flag added to hdac_device. When the flag lazy_cache is set, regmap helper ignores a write for a suspended device and returns as if it was actually written. It reduces the hardware access pretty much, e.g. when adjusting the mixer volume while in idle. This assumes that the driver will sync the cache later at resume properly, so use it carefully. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 71fc4c7ef5ef2d0ddd22f0545ede4c135b554b84 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 3 17:33:10 2015 +0100 ALSA: hda - Move generic array helpers to core lib This will be used by the regmap support. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e311782acd196d17d25b323d115709c50c8f7d3f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 10 15:16:28 2015 +0100 ALSA: hda - Re-add tracepoints to HD-audio core driver Now let's take the basic tracepoints back to the HD-audio driver. The three bus tracepoints, hda_send_cmd, hda_get_response and hda_unsol_event are revived but in a slightly different form. Since we don't assign the card number there, print the bus device name instead. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c4c2533f802d6877803c4d778def43d8a122f27b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 3 17:22:12 2015 +0100 ALSA: hda - Fix possible runtime PM refcount unbalance When the driver is unloaded before the codec is bound, it still keeps the runtime PM refcount up, and results in the unbalance. This patch covers these cases by introducing a flag indicating the runtime PM initialization and handling the codec registration procedure more properly. It also fixes the missing input beep device as a gratis, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 05852448690d7d810175f8ceccefba083525aa89 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 3 15:40:08 2015 +0100 ALSA: hda - Support indirect execution of verbs Add an overriding exec_verb op to struct hdac_device so that the call via snd_hdac_exec_verb() can switch to a different route depending on the setup. The codec driver sets this field so that it can handle the errors or applying quirks appropriately. Furthermore, this mechanism will be used for smooth transition for the regmap support in later patches. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3256be6537751f65c76b3ecfbb4e667f87525a2f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 24 14:59:42 2015 +0100 ALSA: hda - Add widget sysfs tree This patch changes the sysfs files assigned to the codec device on the bus which were formerly identical with hwdep sysfs files. Now it shows only a few core parameter, vendor_id, subsystem_id, revision_id, afg, mfg, vendor_name and chip_name. In addition, now a widget tree is added to the bus device sysfs directory for showing the widget topology and attributes. It's just a flat tree consisting of subdirectories named as the widget NID including various attributes like widget capability bits. The AFG (usually NID 0x01) is always found there, and it contains always amp_in_caps, amp_out_caps and power_caps files. Each of these attributes show a single value. The rest are the widget nodes belonging to that AFG. Note that the child node might not start from 0x02 but from another value like 0x0a. Each child node may contain caps, pin_caps, amp_in_caps, amp_out_caps, power_caps and connections files. The caps (representing the widget capability bits) always contain a value. The rest may contain value(s) if the attribute exists on the node. Only connections file show multiple values while other attributes have zero or one single value. An example of ls -R output is like below: % ls -R /sys/bus/hdaudio/devices/hdaudioC0D0/ /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/: 01/ 04/ 07/ 0a/ 0d/ 10/ 13/ 16/ 19/ 1c/ 1f/ 22/ 02/ 05/ 08/ 0b/ 0e/ 11/ 14/ 17/ 1a/ 1d/ 20/ 23/ 03/ 06/ 09/ 0c/ 0f/ 12/ 15/ 18/ 1b/ 1e/ 21/ /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/01: amp_in_caps amp_out_caps power_caps /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/02: amp_in_caps amp_out_caps caps connections pin_caps pin_cfg power_caps /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/03: ..... Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7639a06c23c7d4cda34c2546bd7290d8753849ca Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 3 10:07:24 2015 +0100 ALSA: hda - Move a part of hda_codec stuff into hdac_device Now some codes and functionalities of hda_codec struct are moved to hdac_device struct. A few basic attributes like the codec address, vendor ID number, FG numbers, etc are moved to hdac_device, and they are accessed like codec->core.addr. The basic verb exec functions are moved, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d068ebc25e6e1360510ad8023fe7bca3dacd204e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 2 23:22:59 2015 +0100 ALSA: hda - Move some codes up to hdac_bus struct A few basic codes for communicating over HD-audio bus are moved to struct hdac_bus now. It has only command and get_response ops in addition to the unsolicited event handling. Note that the codec-side tracing support is disabled temporarily during this transition due to the code shuffling. It will be re-enabled later once when all pieces are settled down. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e3d280fc6d42017b2379503fbda83655a05294fe Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 17 21:46:37 2015 +0100 ALSA: hda - Make snd_hda_bus_type public Define the common hd-audio driver and device types to bind over snd_hda_bus_type publicly. This allows to implement other type of device and driver code over hd-audio bus. Now both struct hda_codec and struct hda_codec_driver inherit these new struct hdac_device and struct hdac_driver, respectively. The bus registration is done in subsys_initcall() to assure it before any other driver registrations. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3372dbdd8ca11f51be8c6a30b2bc79eb04c4a902 Merge: bc465aa 967b130 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 23 13:14:02 2015 +0100 Merge branch 'for-next' into topic/hda-core commit 5d5a7bffd02863a526abad7700c18b96d4cae19e Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 11 22:13:51 2015 -0500 mfd: mc13xxx-core: %pF is only for function pointers Use %pS for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pF expects a function descriptor. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit eac8a5c91b9ec19abc770c62c375feeaceada2a4 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 10:49:36 2015 -0700 mfd: menelaus: Remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e4c5a6851058386c9e109ad529717a23173918bc Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Mar 19 16:42:28 2015 +0000 arm64: KVM: use ID map with increased VA range if required This patch modifies the HYP init code so it can deal with system RAM residing at an offset which exceeds the reach of VA_BITS. Like for EL1, this involves configuring an additional level of translation for the ID map. However, in case of EL2, this implies that all translations use the extra level, as we cannot seamlessly switch between translation tables with different numbers of translation levels. So add an extra translation table at the root level. Since the ID map and the runtime HYP map are guaranteed not to overlap, they can share this root level, and we can essentially merge these two tables into one. Tested-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit dd006da21646f1c86f0242eb8f527d093303127a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Mar 19 16:42:27 2015 +0000 arm64: mm: increase VA range of identity map The page size and the number of translation levels, and hence the supported virtual address range, are build-time configurables on arm64 whose optimal values are use case dependent. However, in the current implementation, if the system's RAM is located at a very high offset, the virtual address range needs to reflect that merely because the identity mapping, which is only used to enable or disable the MMU, requires the extended virtual range to map the physical memory at an equal virtual offset. This patch relaxes that requirement, by increasing the number of translation levels for the identity mapping only, and only when actually needed, i.e., when system RAM's offset is found to be out of reach at runtime. Tested-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6232cfd0fa01fe392df0b18a3a06628f130b83b2 Merge: ce47fbb e60a1fe Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Mar 23 11:30:32 2015 +0000 Merge branch 'aarch64/kvm-bounce-page' into aarch64/for-next/core Rework of the KVM HYP bounce page from Ard Biesheuvel. Subsequent arm64 idmap rework depends on this, so merge it here with Marc Zyngier's blessing (kvm-arm co-maintainer). commit e60a1fec44a2fe2c85ac406a5c1161ca2957a4fa Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Mar 23 10:52:57 2015 +0000 ARM: kvm: implement replacement for ld's LOG2CEIL() Commit 06f75a1f6200 ("ARM, arm64: kvm: get rid of the bounce page") uses ld's builtin function LOG2CEIL() to align the KVM init code to a log2 upper bound of its size. However, this function turns out to be a fairly recent addition to binutils, which breaks the build for older toolchains. So instead, implement a replacement LOG2_ROUNDUP() using the C preprocessor. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a83034f5cb135bceb5b23dce1746ef2d98c68234 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 14:03:55 2015 +0300 crypto: img-hash - shift wrapping bug in img_hash_hw_init() "hdev->req->nbytes" is an unsigned int so we so we lose the upper 3 bits to the shift wrap bug. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 900831a4d9cf3d0280527f176fc20e8c0cdbb63a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Mar 20 17:21:12 2015 +0300 crypto: img-hash - fix some compile warnings GCC complains about that %u is the wrong format string for size_t and also that "ret" is unused. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 665503049bada5198aa53b9d618069f0f8fe191f Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Thu Mar 19 16:03:44 2015 -0700 crypto: qat - make error and info log messages more descriptive Convert pr_info() and pr_err() log messages to dev_info() and dev_err(), respectively, where able. This adds the module name and PCI B:D:F to indicate which QAT device generated the log message. The "QAT:" is removed from these log messages as that is now unnecessary. A few of these log messages have additional spelling/contextual fixes. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 92dd5be55996730e8bf776f758c3d4764ed9f349 Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Thu Mar 19 16:03:39 2015 -0700 crypto: qat - fix typo in string Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a00204f8e51b733c31b9e144065efb4ccec2bdff Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Thu Mar 19 16:03:33 2015 -0700 crypto: qat - remove duplicate definition of Intel PCI vendor id This define is a duplicate of the one in ./include/linux/pci_ids.h Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cfa8e7e70341c6ba1c7bd3466784a217e441b8c6 Author: James Hartley <james.hartley@xxxxxxxxxx> Date: Thu Mar 19 16:46:24 2015 +0000 crypto: img-hash - Fix Kconfig selections The Kconfig entry for CRYPTO_DEV_IMGTEC_HASH incorrectly selects CRYPTO_SHA224, which does not exist (and is covered by CRYPTO_SHA256 which covers both 224 and 256). Remove it. Also correct typo CRYPTO_ALG_API to be CRYPTO_ALGPI. Reported-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d74ef1118a146ae1135c8b26fff2bfee980fd7a4 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:35 2015 -0700 x86/asm/entry: Replace some open-coded VM86 checks with v8086_mode() checks This allows us to remove some unnecessary ifdefs. There should be no change to the generated code. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/f7e00f0d668e253abf0bd8bf36491ac47bd761ff.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7a2806741e7327a6b20ccef42e8d56588cb2fef5 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:34 2015 -0700 x86/asm/entry: Remove user_mode_vm() It has no callers anymore. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a594afd6a0bddb1311bd7c92a15201c87fbb8681.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f39b6f0ef855a38ea17329a4e621ff97750dfcc2 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:33 2015 -0700 x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' user_mode_vm() and user_mode() are now the same. Change all callers of user_mode_vm() to user_mode(). The next patch will remove the definition of user_mode_vm. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/43b1f57f3df70df5a08b0925897c660725015554.1426728647.git.luto@xxxxxxxxxx [ Merged to a more recent kernel. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit efa704510342b81ae58d7b8a0c7f676a4289b603 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:32 2015 -0700 x86/asm/entry: Make user_mode() work correctly if regs came from VM86 mode user_mode() is now identical to user_mode_vm(). Subsequent patches will change all callers of user_mode_vm() to user_mode() and then delete user_mode_vm(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/0dd03eacb5f0a2b5ba0240de25347a31b493c289.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ae60f0710ae6b33092267ef8ac853c498f6d3e5d Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:31 2015 -0700 x86/asm/entry: Use user_mode_ignore_vm86() where appropriate A few of the user_mode() checks in traps.c are immediately after explicit checks for vm86 mode. Change them to user_mode_ignore_vm86(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/0b324d5b75c3402be07f8d3c6245ed7f4995029e.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 383f3af3f88aadafe1fcf1948987ad538683fb8c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:30 2015 -0700 x86/asm/entry, perf: Explicitly optimize vm86 handling in code_segment_base() There's no point in checking the VM bit on 64-bit, and, since we're explicitly checking it, we can use user_mode_ignore_vm86() after the check. While we're at it, rearrange the #ifdef slightly to make the code flow a bit clearer. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/dc1457a734feccd03a19bb3538a7648582f57cdd.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a67e7277d01ccfd39b0db5a198c2643cc19dd79c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:29 2015 -0700 x86/asm/entry: Add user_mode_ignore_vm86() user_mode() is dangerous and user_mode_vm() has a confusing name. Add user_mode_ignore_vm86() (equivalent to current user_mode()). We'll change the small number of legitimate users of user_mode() to user_mode_ignore_vm86(). Inspired by grsec, although this works rather differently. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/202c56ca63823c338af8e2e54948dbe222da6343.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e4518ab90f63cd5bea3ddc15341162debc34442b Merge: c56716a bc465aa Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 23 11:13:15 2015 +0100 Merge tag 'v4.0-rc5' into x86/asm, to resolve conflicts Conflicts: arch/x86/kernel/entry_64.S Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 00e6743b5b7333a589c7607aa0ed20416831034d Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Mar 22 09:39:45 2015 +0200 irqchip: digicolor: Move digicolor_set_gc to init section The digicolor_set_gc() routine is only called from __init annotated digicolor_of_init(). Annotate digicolor_set_gc() with __init as well to save a few bytes at run time. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Link: https://lkml.kernel.org/r/a3b57ecdbe0b07f55c20c07ff98f1f694275722d.1427009985.git.baruch@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 50f16a8bf9d7a92c437ed1867d0f7e1dc6a9aca9 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 5 22:10:19 2015 +0100 perf: Remove type specific target pointers The only reason CQM had to use a hard-coded pmu type was so it could use cqm_target in hw_perf_event. Do away with the {tp,bp,cqm}_target pointers and provide a non type specific one. This allows us to do away with that silly pmu type as well. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Vince Weaver <vince@xxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: acme@xxxxxxxxxx Cc: hpa@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kanaka.d.juvva@xxxxxxxxx Cc: matt.fleming@xxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: torvalds@xxxxxxxxxxxxxxxxxxxx Cc: vikas.shivappa@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150305211019.GU21418@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4e16ed99416ef569a89782a7234f95007919fadd Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Thu Feb 26 18:47:00 2015 +0000 perf/x86/intel: Fix Makefile to actually build the cqm driver Someone fat fingered a merge conflict and lost the Makefile hunk. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: <acme@xxxxxxxxxx> Cc: <hpa@xxxxxxxxx> Cc: <jolsa@xxxxxxxxxx> Cc: <kanaka.d.juvva@xxxxxxxxx> Cc: <tglx@xxxxxxxxxxxxx> Cc: <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424976420.15321.35.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b6366f048e0caff28af5335b7af2031266e1b06b Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Wed Mar 18 14:49:46 2015 -0400 sched/rt: Use IPI to trigger RT task push migration instead of pulling When debugging the latencies on a 40 core box, where we hit 300 to 500 microsecond latencies, I found there was a huge contention on the runqueue locks. Investigating it further, running ftrace, I found that it was due to the pulling of RT tasks. The test that was run was the following: cyclictest --numa -p95 -m -d0 -i100 This created a thread on each CPU, that would set its wakeup in iterations of 100 microseconds. The -d0 means that all the threads had the same interval (100us). Each thread sleeps for 100us and wakes up and measures its latencies. cyclictest is maintained at: git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git What happened was another RT task would be scheduled on one of the CPUs that was running our test, when the other CPU tests went to sleep and scheduled idle. This caused the "pull" operation to execute on all these CPUs. Each one of these saw the RT task that was overloaded on the CPU of the test that was still running, and each one tried to grab that task in a thundering herd way. To grab the task, each thread would do a double rq lock grab, grabbing its own lock as well as the rq of the overloaded CPU. As the sched domains on this box was rather flat for its size, I saw up to 12 CPUs block on this lock at once. This caused a ripple affect with the rq locks especially since the taking was done via a double rq lock, which means that several of the CPUs had their own rq locks held while trying to take this rq lock. As these locks were blocked, any wakeups or load balanceing on these CPUs would also block on these locks, and the wait time escalated. I've tried various methods to lessen the load, but things like an atomic counter to only let one CPU grab the task wont work, because the task may have a limited affinity, and we may pick the wrong CPU to take that lock and do the pull, to only find out that the CPU we picked isn't in the task's affinity. Instead of doing the PULL, I now have the CPUs that want the pull to send over an IPI to the overloaded CPU, and let that CPU pick what CPU to push the task to. No more need to grab the rq lock, and the push/pull algorithm still works fine. With this patch, the latency dropped to just 150us over a 20 hour run. Without the patch, the huge latencies would trigger in seconds. I've created a new sched feature called RT_PUSH_IPI, which is enabled by default. When RT_PUSH_IPI is not enabled, the old method of grabbing the rq locks and having the pulling CPU do the work is implemented. When RT_PUSH_IPI is enabled, the IPI is sent to the overloaded CPU to do a push. To enabled or disable this at run time: # mount -t debugfs nodev /sys/kernel/debug # echo RT_PUSH_IPI > /sys/kernel/debug/sched_features or # echo NO_RT_PUSH_IPI > /sys/kernel/debug/sched_features Update: This original patch would send an IPI to all CPUs in the RT overload list. But that could theoretically cause the reverse issue. That is, there could be lots of overloaded RT queues and one CPU lowers its priority. It would then send an IPI to all the overloaded RT queues and they could then all try to grab the rq lock of the CPU lowering its priority, and then we have the same problem. The latest design sends out only one IPI to the first overloaded CPU. It tries to push any tasks that it can, and then looks for the next overloaded CPU that can push to the source CPU. The IPIs stop when all overloaded CPUs that have pushable tasks that have priorities greater than the source CPU are covered. In case the source CPU lowers its priority again, a flag is set to tell the IPI traversal to restart with the first RT overloaded CPU after the source CPU. Parts-suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxxxxxxxx> Cc: Clark Williams <williams@xxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150318144946.2f3cc982@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 71ad00d61ec861dc68b4544887729850e58cb99b Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Thu Mar 19 10:18:51 2015 -0400 irq_work: Fix build failure when CONFIG_IRQ_WORK is not defined When CONFIG_IRQ_WORK is not defined (difficult to do, as it also requires CONFIG_PRINTK not to be defined), we get a build failure: kernel/built-in.o: In function `flush_smp_call_function_queue': kernel/smp.c:263: undefined reference to `irq_work_run' kernel/smp.c:263: undefined reference to `irq_work_run' Makefile:933: recipe for target 'vmlinux' failed Simplest thing to do is to make irq_work_run() a nop when not set. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150319101851.4d224d9b@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e1b63dec2ddba654c7ca75996284e453f32d1af7 Merge: f8e617f 746db94 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 23 10:50:29 2015 +0100 Merge branch 'sched/urgent' into sched/core, to pick up fixes before applying new patches Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5593ce64d875d169a237e3818a4251948c901ce7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:55:57 2015 +0100 irqchip: renesas-irqc: Add functional clock to bindings The external IRQ controller has a functional clock, which is used for power management. Document it. Fix a typo in the r8a73a4 SoC name while we're at it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1426704961-27322-4-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 51b05f6b8a7dfa2c85988e506d3107144a13b975 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:55:56 2015 +0100 irqchip: renesas-irqc: 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. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1426704961-27322-3-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1cd5ec73306d6e361b90e27ae17bd5f87e009567 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:55:55 2015 +0100 irqchip: renesas-irqc: Add more register documentation Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1426704961-27322-2-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9848de082ff400f8b88e6d550bfce551838af69c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 20 21:28:08 2015 +0200 drm/i915: Use usleep_range() in wait_for() msleep() can sleep for way too long, so switch wait_for() to use usleep_range() instead. Following a totally unscientific method I just picked the range as W-2W. This cuts the i915 init time on my BSW to almost half: - initcall i915_init+0x0/0xa8 [i915] returned 0 after 419977 usecs + initcall i915_init+0x0/0xa8 [i915] returned 0 after 238419 usecs Note that I didn't perform any other benchmarks on this so far. Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c1d046be692493d00a4831d4fbc266745008e09 Author: Arjun Sreedharan <arjun024@xxxxxxxxx> Date: Mon Mar 16 21:07:47 2015 +0530 x86/boot: Standardize strcmp() strcmp() is always expected to return 0 when arguments are equal, negative when its first argument @str1 is less than its second argument @str2 and a positive value otherwise. Previously strcmp("a", "b") returned 1. Now it gives -1, as it is supposed to. Until now this bug never triggered, because all uses for strcmp() in the boot code tested for nonzero: triton:~/tip> git grep strcmp arch/x86/boot/ arch/x86/boot/boot.h:int strcmp(const char *str1, const char *str2); arch/x86/boot/edd.c: if (!strcmp(eddarg, "skipmbr") || !strcmp(eddarg, "skip")) { arch/x86/boot/edd.c: else if (!strcmp(eddarg, "off")) arch/x86/boot/edd.c: else if (!strcmp(eddarg, "on")) should in the future strcmp() be used in a comparative way in the boot code, it might have led to (not so subtle) bugs. Signed-off-by: Arjun Sreedharan <arjun024@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426520267-1803-1-git-send-email-arjun024@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 37dea8c52cacb4439eb183ad736747bb678d2a5d Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Mar 11 11:54:29 2015 +0100 x86/cpu/cacheinfo: Fix cache_get_priv_group() for Intel processors The private pointer provided by the cacheinfo code is used to implement the AMD L3 cache-specific attributes using a pointer to the northbridge descriptor. It is needed for performing L3-specific operations and for that we need a couple of PCI devices and other service information, all contained in the northbridge descriptor. This results in failure of cacheinfo setup as shown below as cache_get_priv_group() returns the uninitialised private attributes which are not valid for Intel processors. ------------[ cut here ]------------ WARNING: CPU: 3 PID: 1 at fs/sysfs/group.c:102 internal_create_group+0x151/0x280() sysfs: (bin_)attrs not set by subsystem for group: index3/ Modules linked in: CPU: 3 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc3+ #1 Hardware name: Dell Inc. Precision T3600/0PTTT9, BIOS A13 05/11/2014 ... Call Trace: dump_stack warn_slowpath_common warn_slowpath_fmt internal_create_group sysfs_create_groups device_add cpu_device_create ? __kmalloc cache_add_dev cacheinfo_sysfs_init ? container_dev_init do_one_initcall kernel_init_freeable ? rest_init kernel_init ret_from_fork ? rest_init This patch fixes the issue by checking if the L3 cache indices are populated correctly (AMD-specific) before initializing the private attributes. Reported-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c9ce8712838e48bf356144122c5ecdcdac5d1829 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Mar 13 23:30:47 2015 +0100 x86/mce: Reindent __mcheck_cpu_apply_quirks() properly Had some strange 3 tabs + 2 chars indentation, probably from me. Fix it. No code changed: # arch/x86/kernel/cpu/mcheck/mce.o: text data bss dec hex filename 21371 5923 264 27558 6ba6 mce.o.before 21371 5923 264 27558 6ba6 mce.o.after md5: eb3996c84d15e08ed836f043df2cbb01 mce.o.before.asm eb3996c84d15e08ed836f043df2cbb01 mce.o.after.asm Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f77ac507f893fc00c1b9ea0076f3c9e664b0f9ab Author: Jesse Larrew <jesse.larrew@xxxxxxx> Date: Fri Mar 13 11:03:39 2015 -0500 x86/mce: Use safe MSR accesses for AMD quirk Certain MSRs are only relevant to a kernel in host mode, and kvm had chosen not to implement these MSRs at all for guests. If a guest kernel ever tried to access these MSRs, the result was a general protection fault. KVM will be separately patched to return 0 when these MSRs are read, and this patch ensures that MSR accesses are tolerant of exceptions. Signed-off-by: Jesse Larrew <jesse.larrew@xxxxxxx> [ Drop {} braces around loop ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Joel Schopp <joel.schopp@xxxxxxx> Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-edac@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1426262619-5016-1-git-send-email-jesse.larrew@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7fc253e277ecf1ea57c2d670bdbcda3dffd19453 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sat Mar 14 16:13:34 2015 +0100 x86/fpu: Kill eager_fpu_init_bp() Now that eager_fpu_init_bp() does setup_init_fpu_buf() only and nothing else, we can remove it and move this code into its "caller", eager_fpu_init(). This avoids the confusing games with "static __refdata void (*boot_func)": init_xstate_buf can be NULL only during boot, so it is safe to call the __init-annotated setup_init_fpu_buf() function in eager_fpu_init(), we just need to mark it as __init_refok. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150314151334.GC13029@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4bd5bf8c85e6bca5be9e7c4b3d7ad1942ae323f3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Mar 13 19:27:16 2015 +0100 x86/fpu: Don't allocate fpu->state for swapper/0 Now that kthreads do not use FPU until they get executed, swapper/0 doesn't need to allocate fpu->state. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150313182716.GB8249@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b85e67d1483c72b77d1bdc265aa8ba91590794c1 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Mar 16 10:21:55 2015 +0100 x86/fpu: Rename drop_init_fpu() to fpu_reset_state() Call it what it does and in accordance with the context where it is used: we reset the FPU state either because we were unable to restore it from the one saved in the task or because we simply want to reset it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d2d0ac9a4644e00120bb9b7427a512a99d2cacc5 Author: Borislav Petkov <bp@xxxxxxx> Date: Sat Mar 14 11:52:12 2015 +0100 x86/fpu: Fold __drop_fpu() into its sole user Fold it into drop_fpu(). Phew, one less FPU function to pay attention to. No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f893959b0898bd876673adbeb6798bdf25c034d7 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Mar 13 18:30:30 2015 +0100 x86/fpu: Don't abuse drop_init_fpu() in flush_thread() flush_thread() -> drop_init_fpu() is suboptimal and confusing. It does drop_fpu() or restore_init_xstate() depending on !use_eager_fpu(). But flush_thread() too checks eagerfpu right after that, and if it is true then restore_init_xstate() just burns CPU for no reason. We are going to load init_xstate_buf again after we set used_math()/user_has_fpu(), until then the FPU state can't survive after switch_to(). Remove it, and change the "if (!use_eager_fpu())" to call drop_fpu(). While at it, clean up the tsk/current usage. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150313173030.GA31217@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9cb6ce823bbd1adbe15e30bd1435c84c2e271767 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Mar 11 18:34:49 2015 +0100 x86/fpu: Use restore_init_xstate() instead of math_state_restore() on kthread exec Change flush_thread() to do user_fpu_begin() and restore_init_xstate() instead of math_state_restore(). Note: "TODO: cleanup this horror" is still valid. We do not need init_fpu() at all, we only need fpu_alloc() and memset(0). But this needs other changes, in particular user_fpu_begin() should set used_math(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150311173449.GE5032@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8f4d81863ba4e8dfee93bd50840f1099a296251f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Mar 11 18:34:29 2015 +0100 x86/fpu: Introduce restore_init_xstate() Extract the "use_eager_fpu()" code from drop_init_fpu() into a new, simple helper restore_init_xstate(). The next patch adds another user. - It is not clear why we do not check use_fxsr() like fpu_restore_checking() does. eager_fpu_init_bp() calls setup_init_fpu_buf() too, and we have the "eagerfpu=on" kernel option. - Ignoring the fact that init_xstate_buf is "struct xsave_struct *", not "union thread_xstate *", it is not clear why we can not simply use fpu_restore_checking() and avoid the code duplication. - It is not clear why we can't call setup_init_fpu_buf() unconditionally to always create init_xstate_buf(). Then do_device_not_available() path (at least) could use restore_init_xstate() too. It doesn't need to init fpu->state, its content doesn't matter until unlazy_fpu()/__switch_to()/etc which overwrites this memory anyway. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150311173429.GD5032@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fb14b4eadf73500d3b2104f031472a268562c047 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Mar 11 18:34:09 2015 +0100 x86/fpu: Document user_fpu_begin() Currently, user_fpu_begin() has a single caller and it is not clear why do we actually need it and why we should not worry about preemption right after preempt_enable(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150311173409.GC5032@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eda2360ad18b7cde87728fad85c6735a52c2576e Merge: 1d23c45 bc465aa Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 23 10:13:36 2015 +0100 Merge tag 'v4.0-rc5' into x86/fpu, to prevent conflicts Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c56716af8d27ca8dd6e45445ae1c0a05fd9753a6 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:28 2015 -0700 x86/asm/entry, perf: Fix incorrect TIF_IA32 check in code_segment_base() We want to check whether user code is in 32-bit mode, not whether the task is nominally 32-bit. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/33e5107085ce347a8303560302b15c2cadd62c4c.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d31bf07f71a5568b48c5ed448e4299050469f615 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:27 2015 -0700 x86/mm/fault: Use TASK_SIZE_MAX in is_prefetch() This is slightly shorter and slightly faster. It's also more correct: the split between user and kernel addresses is TASK_SIZE_MAX, regardless of ti->flags. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/09156b63bad90a327827003c9e53faa82ef4c56e.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1daeaa315164c60b937f56fe3848d4328c358eba Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Sat Mar 21 18:54:21 2015 -0400 x86/asm/entry: Fix execve() and sigreturn() syscalls to always return via IRET Both the execve() and sigreturn() family of syscalls have the ability to change registers in ways that may not be compatabile with the syscall path they were called from. In particular, SYSRET and SYSEXIT can't handle non-default %cs and %ss, and some bits in eflags. These syscalls have stubs that are hardcoded to jump to the IRET path, and not return to the original syscall path. The following commit: 76f5df43cab5e76 ("Always allocate a complete "struct pt_regs" on the kernel stack") recently changed this for some 32-bit compat syscalls, but introduced a bug where execve from a 32-bit program to a 64-bit program would fail because it still returned via SYSRETL. This caused Wine to fail when built for both 32-bit and 64-bit. This patch sets TIF_NOTIFY_RESUME for execve() and sigreturn() so that the IRET path is always taken on exit to userspace. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426978461-32089-1-git-send-email-brgerst@xxxxxxxxx [ Improved the changelog and comments. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6212755eff3171e0211bb6a9f4706e115217588c Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Mar 20 15:31:34 2015 -0500 ASoC: Intel: remove misleading DMA error messages on Baytrail platforms During probe, the Baytrail audio driver reports errors such as: [44.172040] baytrail-pcm-audio baytrail-pcm-audio: error: invalid DMA engine 0 [44.172137] baytrail-pcm-audio baytrail-pcm-audio: sst_dma_new failed Those error messages are misleading, there is no error since the DMA is explicitly not configured for Baytrail. Add a test to remove DMA error checks when DMA is not configured and return silently. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f073faa73626f41db7050a69edd5074c53ce6d6c Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Fri Mar 20 21:13:45 2015 +0000 ASoC: pcm512x: Fix divide by zero issue If den=1 and pllin_rate>20MHz then den and num are adjusted to 0 causing a divide by zero error a few lines further on. Therefore this patch correctly scales num and den such that pllin_rate/den < 20MHz as required in the device data sheet. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 6ae4ccfee09efe5baa3951d1c1d27050a46a1469 Merge: be0b5e6 1f16ea2 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Mon Mar 23 06:43:43 2015 +0200 Merge tag 'iwlwifi-for-kalle-2014-03-22' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes * avoid panic with lots of IBSS stations * Fix dvm's behavior after suspend resume * Allow to keep connection after CSA failure * Remove a noisy by harmless WARN_ON * New device IDs commit cc83458d3aa01d69ccb2976e1323c92a6caae540 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 11 22:13:46 2015 -0500 powerpc/32: %pF is only for function pointers Use %pS for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pF expects a function descriptor. Even on other architectures, refrain from setting a bad example that people copy. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4d9fb711e43a45be17795df4b59c46ee59485d82 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 11 20:13:34 2015 +0100 powerpc: use kbuild generic-y where possible Replace one line asm-generic include files declared in arch/powerpc/include/asm/ by generic-y declaration which creates arch/powerpc/include/generated/asm equivalent. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f57333a7677750f1264341d57bf1771000330458 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Fri Mar 20 10:10:18 2015 +1100 powerpc/powernv: Fix return value from power7_nap() et al. The power7_nap(), power7_sleep() and power7_winkle() functions are called from pnv_smp_cpu_kill_self(), which expects them to return the SRR1 value set by the hardware on wakeup, or 0 if no nap/sleep/winkle occurred. However, in the case where an interrupt needs to be replayed, the logic in power7_powersave_common (the common code for power7_nap et al.) doesn't set r3 to 0 in this case. Instead what we get as the return value is the selector for the type of power-saving mode requested (1, 2 or 3). In fact this should not affect the operation of pnv_smp_cpu_kill_self(), but it is better to get this correct, so this adds an instruction to set r3 to 0 in this case. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b140e5b20ef893c59c86a23b6d923116a5a97862 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 17:29:13 2015 +0100 powerpc: Spelling s/embeeded/embedded/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a71aa05e1416863e6b6a3e0af8f847a711f1145d Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Wed Mar 18 16:46:16 2015 +1100 powerpc: Convert relocs_check to a shell script using grep This runs a bit faster and removes another use of perl from the kernel build. Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-By: Tony Breeds <tony@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f5718726714cd6114876c4e3ca9b6992ab81176c Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 16:36:21 2015 +1100 powerpc: Move Power Macintosh drivers to generic byteswappers ppc has special instruction forms to efficiently load and store values in non-native endianness. These can be accessed via the arch-specific {ld,st}_le{16,32}() inlines in arch/powerpc/include/asm/swab.h. However, gcc is perfectly capable of generating the byte-reversing load/store instructions when using the normal, generic cpu_to_le*() and le*_to_cpu() functions eaning the arch-specific functions don't have much point. Worse the "le" in the names of the arch specific functions is now misleading, because they always generate byte-reversing forms, but some ppc machines can now run a little-endian kernel. To start getting rid of the arch-specific forms, this patch removes them from all the old Power Macintosh drivers, replacing them with the generic byteswappers. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit e4a9616c548f67537a8d020a45a327f6a4d583ee Author: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 01:07:17 2015 +0530 powerpc/rtas: Make timestamp related code y2038-safe While we are here, let us make timestamp related code y2038-safe. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f7618299b4ab425956099508cba7b3a39a056d87 Author: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 01:06:52 2015 +0530 powerpc/powernv: Add pstore support on powernv This patch extends pstore, a generic interface to platform dependent persistent storage, support for powernv platform to capture certain useful information, during dying moments. Such support is already in place for pseries platform. This patch re-uses most of that code. It is a common practice to compile kernels with both CONFIG_PPC_PSERIES=y and CONFIG_PPC_POWERNV=y. The code in nvram_init_oops_partition() routine still works as intended, as the caller is platform specific code which passes the appropriate value for "rtas_partition_exists" parameter. In all other places, where CONFIG_PPC_PSERIES or CONFIG_PPC_POWERNV flag is used in this patchset, it is to reduce the kernel size in cases where this flag is not set and doesn't have any impact logic wise. Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ae011d2e48d2e6c2ae29fd8aab439caf2fbfb5a8 Author: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 01:06:28 2015 +0530 pstore: Add pstore type id for PPC64 opal nvram partition This patch adds a new PPC64 partition type to be used for opal specific nvram partition. A new partition type is needed as none of the existing type matches this partition type. Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 78989f0a5592182a3d45d869ddaafc71c8f673af Author: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 01:06:04 2015 +0530 powerpc/nvram: Move generic code for nvram and pstore With minor checks, we can move most of the code for nvram under pseries to a common place to be re-used by other powerpc platforms like powernv. This patch moves such common code to arch/powerpc/kernel/nvram_64.c file. Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> [mpe: Move select of ZLIB_DEFLATE to PPC64 to fix the build] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3af229f2071f5b5cb31664be6109561fbe19c861 Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 16:50:59 2015 -0700 powerpc/numa: Reset node_possible_map to only node_online_map Raghu noticed an issue with excessive memory allocation on power with a simple cgroup test, specifically, in mem_cgroup_css_alloc -> for_each_node -> alloc_mem_cgroup_per_zone_info(), which ends up blowing up the kmalloc-2048 slab (to the order of 200MB for 400 cgroup directories). The underlying issue is that NODES_SHIFT on power is 8 (256 NUMA nodes possible), which defines node_possible_map, which in turn defines the value of nr_node_ids in setup_nr_node_ids and the iteration of for_each_node. In practice, we never see a system with 256 NUMA nodes, and in fact, we do not support node hotplug on power in the first place, so the nodes that are online when we come up are the nodes that will be present for the lifetime of this kernel. So let's, at least, drop the NUMA possible map down to the online map at runtime. This is similar to what x86 does in its initialization routines. mem_cgroup_css_alloc should also be fixed to only iterate over memory-populated nodes and handle hotplug, but that is a separate change. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 66bee35f29683fc4a9a530a1c56a0ec45e3f7d72 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Mar 21 17:26:24 2015 +0100 extcon: Fix missing locking when [un]registering notifiers Since extcon.c is using raw_notifiers it must protect the notifier list itself when [un]registering notifiers to avoid the list changing while extcon_update_state is walking the list (through raw_notifier_call_chain). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> [cw00.choi: Apply this patch to extcon.c driver instead of old extcon-class.c] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit b9b518f53996b67833b42ca7751b2085b0dc565a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sun Mar 15 13:56:04 2015 +0300 extcon: max77843: Fix an error code in max77843_init_muic_regmap() The i2c_new_dummy() return the NULL if error happen. So, If i2c_new_dummy() return NULL, max77843_init_muic_regmap() return the proper error value (-ENOMEM); Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> [cw00.choi: Use -ENOMEM instead of -ENODEV and modify patch description] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 17b2772b8fe3442b46c99fb91150a480acb7ebc4 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Mar 22 15:52:38 2015 +0100 Bluetooth: Read Broadcom chip info for Apple Bluetooth devices For the Apple Bluetooth devices that are Broadcom based, it makes sense to read the chip information. It is a single HCI command and might help gathering more information about these devices. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ae10c2248593fb84c6951d67c98c9c934997e56a Merge: e8b6fe6 6dbe686 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 23 09:34:32 2015 +1000 Merge branch 'drm/next/rcar-du' of git://linuxtv.org/pinchartl/fbdev into drm-next rcar-du fixes * 'drm/next/rcar-du' of git://linuxtv.org/pinchartl/fbdev: drm: rcar-du: Enable the atomic updates API drm: rcar-du: Don't initialize event->pipe field drm: rcar-du: Fix framebuffer reference leak through plane state MAINTAINERS: Remove rcar-du.h entry commit e8b6fe6990643daac9bccbe957a253a7e6bf947d Merge: b3ede17 c6169e4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 23 09:34:08 2015 +1000 Merge branch 'drm/next/adv7511' of git://linuxtv.org/pinchartl/fbdev into drm-next adv7511 fixes. * 'drm/next/adv7511' of git://linuxtv.org/pinchartl/fbdev: drm: adv7511: Refactor power management drm: adv7511: Fix nested sleep when reading EDID drm: adv7511: Fix DDC error interrupt handling commit b3ede177c8ba8c001c65aec1511445363642ecd0 Merge: 6b94aea 9843ead Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 23 09:15:02 2015 +1000 Merge branch 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux into drm-next - DP MST support (disabled by default) - non-ATOM aux support (DCE5+) - output csc support for clamped RGB - Lots of new queries for profiling, Gallium HUD, etc. - Misc fixes * 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux: (40 commits) drm/radeon: add DisplayPort MST support (v2) drm/radeon: improve encoder picking functions (v2) drm/radeon: export max link rate calculation drm/radeon: add new atombios encoder/transmitter interfaces drm/radeon: add some MST registers radeon/fb: add wrapper functions around fb connector add/remove radeon/cik: add support for short HPD irqs radeon/si: add support for short HPD irqs radeon/evergreen: add support for short HPD irqs radeon: introduce a dp_work handler drm/dp_mst: add a function to retrieve vcpi slots drm/radeon: program auxch directly (v2) drm/radeon: fix doublescan modes (v2) drm/radeon: typo in parameter description drm/radeon: add support for read reg query from radeon info ioctl drm/radeon: add get_allowed_info_register for CIK drm/radeon: add get_allowed_info_register for SI drm/radeon: add get_allowed_info_register for cayman/TN drm/radeon: add get_allowed_info_register for EG/BTC drm/radeon: add get_allowed_info_register for r6xx/r7xx ... commit af9bfbdab8f1c5a4b51a45aaab4cfbcc318b8ae2 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:53:10 2015 +0000 can: at91_can: use endian agnostic IO accessors Change __raw accesors to endian agnostic versions to allow the driver to work properly on big endian systems. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 6d5a7a65a928d317c8767613d98ce38bb62f23fa Author: Thomas Körper <thomas.koerper@xxxxxx> Date: Mon Mar 16 09:48:29 2015 +0100 can: esd_usb2: Fix sparse warnings The hnd field of the structs does not need to be __le32: the device just returns the value without using it itself. Signed-off-by: Thomas Körper <thomas.koerper@xxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit c54eb70e3bb8cd0d7b8564bedab63e834656c567 Author: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Date: Mon Mar 16 09:38:13 2015 +0100 can: add combined rx/tx LED trigger support Add <ifname>-rxtx trigger, that will be activated both for tx as rx events. This trigger mimics "activity" LED for Ethernet devices. Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit fba6f9117a3d87a269fc3b174127c99f25f4979e Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Sat Mar 14 15:39:09 2015 +0100 can: m_cam: m_can_fifo_write(): remove return from void function This patch removes the return from the void function m_can_fifo_write(). Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit c637aab05c9dd0894832a7c542a1553b2815b9ef Author: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Date: Sat Mar 14 09:11:47 2015 -0400 can: kvaser_usb: Use can-dev unregistration mechanism Use can-dev's unregister_candev() instead of directly calling networking unregister_netdev(). While both are functionally equivalent, unregister_candev() might do extra stuff in the future than just calling networking layer unregistration code. Signed-off-by: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 2b290bbb60847c0897c047b5214192810de529df Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 04:48:20 2015 +0100 can: use sock_efree instead of own destructor It is identical to the can destructor. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 446d999c1c92cec996e759dc3c03110596e626f5 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 17:20:33 2015 +0000 PM / domains: factor out code to get the generic PM domain from a struct device The PM domain code contains two methods to get the generic PM domain for a struct device. One is dev_to_genpd() which is only safe when we know for certain that the device has a generic PM domain attached. The other is coded into genpd_dev_pm_detach() which ensures that the PM domain in the struct device is a generic PM domain (and so is safer). This commit factors out the safer version, documents it, and hides the unsafe dev_to_genpd(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6d7d5c3266aa946b2049d9fed02186c1a378621b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 17:20:28 2015 +0000 PM / domains: quieten down generic pm domains PM domains are rather noisy; scheduling behaviour can cause callbacks to take longer, which causes them to spit out a warning-level message each time a callback takes a little longer than the previous time. There really isn't a need for this, except when debugging. Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 632f7ce3f9b65039ac6c4f14ef91a0a1f3bdff59 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 15:55:12 2015 +0100 PM / Domains: Sync runtime PM status with genpd after probe Buses which currently supports attaching devices to their PM domains, will invoke the dev_pm_domain_attach() API from their ->probe() callbacks. During the attach procedure, genpd power up the PM domain. In those scenarios where the bus/driver don't need to access its device during probe, it may leave it in runtime PM suspended state since that's also the default state. In that way, no notifications through the runtime PM callbacks will reach the PM domain during probe. For genpd, the consequence from the above scenario means the PM domain will remain powered. Therefore, implement the struct dev_pm_domain's ->sync() callback, which is invoked from driver core after the bus/driver has probed the device. It allows genpd to power off the PM domain if it's unused. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> [ Ulf: Updated patch according to updates in driver core ] Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e90d5532773e2bcccc538dd346b9fc3482cd700c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Mar 20 13:59:27 2015 +0100 driver core / PM: Add PM domain callbacks for device setup/cleanup If PM domains are in use, it may be necessary to prepare the code handling a PM domain for driver probing. For example, in some cases device drivers rely on the ability to power on the devices with the help of the IO runtime PM framework and the PM domain code needs to be ready for that. Also, if that code has not been fully initialized yet, the driver probing should be deferred. Moreover, after the probing is complete, it may be necessary to put the PM domain in question into the state reflecting the current needs of the devices in it, for example, so that power is not drawn in vain. The same should be done after removing a driver from a device, as the PM domain state may need to be changed to reflect the new situation. For these reasons, introduce new PM domain callbacks, ->activate, ->sync and ->dismiss called, respectively, before probing for a device driver, after the probing has completed successfully and if the probing has failed or the driver has been removed. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64491882d399011bb0a4603e8cf481b65f0d3c5d Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Mar 20 10:00:00 2015 +0100 ACPI / video: Add force native backlight quirk for Lenovo Ideapad Z570 The Lenovo Ideapad Z570 (which is an Acer in disguise like some other Ideapads) has a broken acpi_video interface, this was fixed in commmit a11d342fb8 ("ACPI / video: force vendor backlight on Lenovo Ideapad Z570"). Which stops acpi_video from registering a backlight interface, but this is only a partial fix, because for people who have the ideapad-laptop module installed that module will now register a backlight interface, which also does not work, so we need to use the native intel_backlight interface. The Lenovo Ideapad 570 is a pre-win8 laptop / too old for the acpi-video code to automatically prefer the native backlight interface, so add a quirk for it. This commit also removes the previous incomplete fix. Link: https://bugzilla.redhat.com/show_bug.cgi?id=1187004 Tested-by: Be <be.0@xxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ff92cfe7cbc05c6c62f5b06c7d9090f4c853cd51 Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Wed Mar 11 22:09:57 2015 +0100 ACPI / video: Allow forcing native backlight on non win8 machines The native backlight behavior (so not registering both the acpi-video and the vendor backlight driver) can be useful on some non win8 machines too, so change the behavior of the video.use_native_backlight=1 or 0 kernel cmdline option to be: if user has set video.use_native_backlight=1 or 0, use that no matter if it is a win8 system or not. Also, we will put some known systems into the DMI table to make them either use native backlight interface or not, and the use_native_backlight_dmi is used to reflect that. Original-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e35158e40110270600698f19bda5e21d8ce709d7 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sat Mar 21 20:20:23 2015 +0100 netfilter: ip6t_REJECT: check for IP6T_F_PROTO Make sure IP6T_F_PROTO is set to enforce layer 4 protocol matching from the ip6_tables core. Suggested-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 55df35d22fe3433032d82b8c67dfd283cb071953 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Mar 21 15:19:16 2015 +0000 netfilter: nf_tables: reject NFT_SET_ELEM_INTERVAL_END flag for non-interval sets Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 16c45eda96038aae848b6cfd42e2bf4b5e80f365 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Mar 21 15:19:14 2015 +0000 netfilter: nft_rbtree: fix locking Fix a race condition and unnecessary locking: * the root rb_node must only be accessed under the lock in nft_rbtree_lookup() * the lock is not needed in lookup functions in netlink context Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8d0451638ad3f7ccd5250c1dd90e06ad487b2703 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Mar 18 20:55:31 2015 +0100 netfilter: bridge: kill nf_bridge_pad The br_netfilter frag output function calls skb_cow_head() so in case it needs a larger headroom to e.g. re-add a previously stripped PPPOE or VLAN header things will still work (at cost of reallocation). We can then move nf_bridge_encap_header_len to br_netfilter. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f8c3c3094302cb25d9720804b8100fdd37a3ace0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 04:15:18 2015 +0000 ASoC: rsnd: add dai_link stream name This patch adds missing dai_link stream_name which is used when DPCM Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 555828ef45f825d6ee06559f0304163550eed380 Author: Andreas Werner <kernel@xxxxxxxxxx> Date: Sun Mar 22 17:35:52 2015 +0100 can: flexcan: Deferred on Regulator return EPROBE_DEFER Return EPROBE_DEFER if Regulator returns EPROBE_DEFER If the Flexcan driver is built into kernel and a regulator is used to enable the CAN transceiver, the Flexcan driver may not use the regulator. When initializing the Flexcan device with a regulator defined in the device tree, but not initialized, the regulator subsystem returns EPROBE_DEFER, hence the Flexcan init fails. The solution for this is to return EPROBE_DEFER if regulator is not initialized and wait until the regulator is initialized. Signed-off-by: Andreas Werner <kernel@xxxxxxxxxx> Cc: linux-stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit d2c4b80c5b392c8437f9174161a17176b9c3cd76 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 04:14:45 2015 +0000 ASoC: rsnd: show debug info for sampling rate convert Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 072bd1e7e136e089e41c8cc2d2b2251ed60b5bcd Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 04:14:20 2015 +0000 ASoC: rsnd: tidyup error message format This driver sometimes fixups debug/error message format 30cc4faf703955cd5cd07da489bd817ae43e3fec (ASoC: rsnd: tidyup debug message format and timing) 337b0b4c5f415705f1b97df57cecfac45903449a (ASoC: rsnd: error meesage indicates its port) But, it still exist un-fomated error message. This patch fixup it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 639b231f866c6cc6dcefc33bcaf31e7554697186 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 04:14:04 2015 +0000 ASoC: rsnd: no more SRC restart when unusual situation It will be SRC interrupt endless loop f unusual situation happen. This patch adds restart limit for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 044930b4a69a6c0645b6199bec4f870e0b6e77f4 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 04:13:47 2015 +0000 ASoC: rsnd: no more SSI restart when unusual situation It will be SSI interrupt endless loop f unusual situation happen. This patch adds restart limit for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 33187fb4a203e44dec11211f2fa86a63139615bc Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:49:02 2015 +0100 ASoC: rsnd: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c660c0a805860e3abf22b44a2508ff46a549ffa9 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:49:01 2015 +0100 ASoC: fsi: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f7d4bfee667e236bc9680cfe2f17247bc007f4e3 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:49:00 2015 +0100 ASoC: ak4554: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 261e43a35893830ff32de94443d685c8b9770f5f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:48:59 2015 +0100 ASoC: rt5631: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f2c52afc02554f18db27242b62d4047bbd8df4c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:48:58 2015 +0100 ASoC: kirkwood: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6ffa84df2b26b1ba78f6a55b373b9513c93017d6 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:48:57 2015 +0100 ASoC: fsl: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ea467326e36b496a92c677cbbed1dfd03b707aaf Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:53:08 2015 +0000 spi: atmel: use endian agnostic IO Use the endian agnositc IO functions instead of the __raw ones for when the driver is in use on big-endian systems. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 258ce80e19211f06c97a562a71308ec21a9ab98f Author: Andri Yngvason <andri.yngvason@xxxxxxxxx> Date: Tue Mar 17 13:03:09 2015 +0000 can: flexcan: fix bus-off error state handling. Making sure that the bus-off state gets passed to can_change_state(). Signed-off-by: Andri Yngvason <andri.yngvason@xxxxxxxxx> Cc: linux-stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 0f251e45c7cbb1a494b5600485ea8ff64f664b3f Author: Stephane Grosjean <s.grosjean@xxxxxxxxxxxxxxx> Date: Mon Mar 16 11:57:53 2015 +0100 can: peak_usb_fd: add support for ISO / non-ISO mode switching The PCAN USB (pro) FD adapters with firmware versions > 2.x support the switching between ISO (default) and non-ISO conform bitstreams on the CAN bus. The setting for the 2.x firmware adapters can be modified with the 'ip' tool from the iproute2 package (option: fd-non-iso [on|off]). Signed-off-by: Stephane Grosjean <s.grosjean@xxxxxxxxxxxxxxx> Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Tested-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 3ef5247e033972ddbd16f65ec2ad8a7dfc2e4170 Author: Stephane Grosjean <s.grosjean@xxxxxxxxxxxxxxx> Date: Mon Mar 16 11:57:52 2015 +0100 can: peak_usb: rename usb option cmds definition and structs The PUCAN_CMD_RX_FRAME_(ENABLE|DISABLE) command has extended its purpose and was therefore renamed to PUCAN_CMD_SET_(EN|DIS)_OPTION. Signed-off-by: Stephane Grosjean <s.grosjean@xxxxxxxxxxxxxxx> Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Tested-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 37920a74abd6fdf0696730ba80a07843a62c9c54 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Mar 16 22:42:24 2015 +0000 can: gs_usb: check for kzalloc allocation failure smatch detected the following issue: drivers/net/can/usb/gs_usb.c:904 gs_usb_probe() error: potential null dereference 'dev'. (kzalloc returns null) Add a check for null return from kzalloc and return -ENOMEM Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 7e184c28636dce594426cd7d8781d52d1dd447cd Author: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Date: Sun Mar 15 11:10:49 2015 -0400 can: kvaser_usb: Fix sparse warning __le16 degrades to integer USB endpoint's wMaxPacketSize field is an le16 entity. Use appropriate le16_to_cpu macros to maintain endian independence. Reported-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 082d70b6142f623c10f7a032d9b63a2399fb4ded Author: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Date: Sun Mar 15 11:03:38 2015 -0400 can: kvaser_usb: Comply with firmware max tx URBs value Current driver code arbitrarily assumes a max outstanding tx value of 16 parallel transmissions. Meanwhile, the device firmware provides its actual maximum inside its reply to the CMD_GET_SOFTWARE_INFO message. Under heavy tx traffic, if the interleaved transmissions count increases above the limit reported by firmware, the firmware breaks up badly, reports a massive list of internal errors, and the candump traces hardly matches the actual frames sent and received. On the other hand, in certain models, the firmware can support up to 48 tx URBs instead of just 16, increasing the driver throughput by two-fold and reducing the possibility of -ENOBUFs. Thus dynamically set the driver's max tx URBs value according to firmware replies. Signed-off-by: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 963a70b8a2d65538f7d58b2b84a2ae10a3ecb6ea Merge: 08b3f91 ca33380 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Mar 22 10:56:19 2015 +0100 Merge tag 'perf-core-for-mingo-2' 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: - Handle legacy syscalls tracepoints (David Ahern, Arnaldo Carvalho de Melo) - Indicate which callchain entries are annotated in the TUI hists browser (report/top) (Arnaldo Carvalho de Melo) - Fix failure to add multiple probes without debuginfo (He Kuang) - Fix 'trace' summary_only option (David Ahern) - Fix race in build_id_cache__add_s() in 'buildid-cache' (Milos Vyletel) - Don't allow empty argument for field-separator, fixing segfault (Wang Nan) Infrastructure: - Add destructor for format_field in libtraceevent (David Ahern) - Prep work for support lzma compressed kernel modules (Jiri Olsa) - Update .gitignore with recently added/renamed feature detection files (Yunlong Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 08b3f913900075a19564ab68967028ab99c95820 Merge: c80e5c0 0c8c207 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Mar 22 10:54:44 2015 +0100 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: - Bash completion for subcommands (Yunlong Song) - Allow annotating entries in callchains in the hists browser (top/report). TODO: give some visual cue to what entries in callchains have samples and thus can be annotated and/or allow showing the source code for functions without samples (Arnaldo Carvalho de Melo) - Don't allow empty argument for '-t' in perf report, fixing segfault (Wang Nan) Infrastructure: - Prep work for moving the perf feature tests build system to tools/build (Jiri Olsa) - Fix perf-read-vdsox32 not building and lib64 install dir (H.J. Lu) - ARM64: fix building error and eh/debug frame offset cache fixes (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4a7a08226dd590a139e5f7835fe93f90b3beee90 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Mar 19 13:16:46 2015 +0200 i2c: add support for the Digicolor I2C controller The CX92755 is an SoC in the Conexant Digicolor series. The devicetree binding document describes the I2C controller on the CX92755 SoC, that is also shared by some other SoCs in the Digicolor series. The driver adds support. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> [wsa: fixed spaces around operators] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit baf880a96859cca79208122e555e7efeabd16e4d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sat Mar 21 08:02:23 2015 +0200 Bluetooth: Fix memory leak in le_scan_disable_work_complete() The hci_request in le_scan_disable_work_complete() was being initialized in a general context but only used in a specific branch in the function (when simultaneous discovery is not supported). This patch moves the usage to be limited to the branch where hci_req_run() is actually called. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit be0b5e635883678bfbc695889772fed545f3427d Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Sat Mar 21 15:16:05 2015 -0500 rtlwifi: Fix IOMMU mapping leak in AP mode Transmission of an AP beacon does not call the TX interrupt service routine, which usually does the cleanup. Instead, cleanup is handled in a tasklet completion routine. Unfortunately, this routine has a serious bug in that it does not release the DMA mapping before it frees the skb, thus one IOMMU mapping is leaked for each beacon. The test system failed with no free IOMMU mapping slots approximately one hour after hostapd was used to start an AP. This issue was reported and tested at https://github.com/lwfinger/rtlwifi_new/issues/30. Reported-and-tested-by: Kevin Mullican <kevin@xxxxxxxxxxxx> Cc: Kevin Mullican <kevin@xxxxxxxxxxxx> Signed-off-by: Shao Fu <shaofu@xxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> [3.18+] Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f569d3ef8254d4b3b8daa4f131f9397d48bf296c Author: Dominique Martinet <dominique.martinet@xxxxxx> Date: Fri Jan 9 13:07:00 2015 +0100 net/9p: add a privport option for RDMA transport. RDMA can use the same kind of weak security as TCP by checking the client can bind to a privileged port, which is better than nothing if TAUTH isn't implemented. Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 5c4086b8de6989f10ae814f5746604fc44a02a21 Author: Dominique Martinet <dominique.martinet@xxxxxx> Date: Fri Jan 9 12:56:07 2015 +0100 fs/9p: Initialize status in v9fs_file_do_lock. If p9_client_lock_dotl returns an error, status is possibly never filled but will be used in the following switch. Initializing it to P9_LOCK_ERROR makes sur we will return an error and cleanup (and not hit the default case). Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit b99baa43e533eb62a947e623d0ef844cfbf28d8e Author: Dominique Martinet <dominique.martinet@xxxxxx> Date: Fri Jan 9 13:05:56 2015 +0100 net/9p: Initialize opts->privport as it should be. We're currently using an uninitialized value if option privport is not set, thus (almost) always using a privileged port. Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 4d9b13c7cc803fbde59d7e998f7de2b9a2101c7e Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Thu Mar 19 12:08:30 2015 +0000 ASoC: pcm512x: Add 'Analogue' prefix to analogue volume controls This is to ensure that 'alsactl restore' does not apply default initialisation as the chip reset defaults are preferred. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3088ef9f5dec3d72b24dcdd33d240823ab26b432 Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Thu Mar 19 12:08:29 2015 +0000 ALSA: ControlName.txt: Add 'Analogue' as a prefix for volume controls Currently 'Playback Volume' is the correct way to express an analogue volume control. However, this control name has initialisation defaults applied when using 'alsactl restore' and in some cases this is not appropriate. An example would be a control that has a selection of 0db and -6dB of gain that is intended to set the fullscale ouput voltage of a DAC. The TI pcm512x family of DAcs have such a control. In this case the device/driver reset defaults are preferred. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Acked-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca33380adf74afb985bf7aab09ec46707a5d2d57 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Feb 17 17:29:57 2015 +0100 perf tools: Use kmod_path__parse for machine__new_dso Using kmod_path__parse to get the module name and update the dso short name within machine__new_dso function. This way it's done only first time when dso is created, unlike the current way when we update it all the time we process memory map of the kernel module. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8gjmt1ggf5ls1xkk7qi2ko4k@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit da17ea33e5a5d0c5226a37c375575d689f6a741b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:10:52 2015 +0100 perf tools: Add machine__module_dso function Separate the dso object addition and update when adding new kernel module. Currently we update dso's symtab_type any time we find it in the list, because we can't distinguish between new and found dso from __dsos__findnew function. Adding machine__module_dso that separates finding and adding new dso objects, so there's no superfluous update of dso. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-uvqgs5tyq4wssnq6fm43hgvk@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 701d8d7f861ec36f3bc60d1ddb185cceb7919c79 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:06:09 2015 +0100 perf tools: Add dsos__addnew function Separate the creation of new dso object and its addition to the dsos list. It will be used in following patch. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8j43jod97fdt5dwdsushwwae@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3c8a67f50a1e68b912d1d74db6b455cac54ec4b4 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 5 15:40:25 2015 +0100 perf tools: Add kmod_path__parse function Provides united way of parsing kernel module path into several components. The new kmod_path__parse function and few defines: int __kmod_path__parse(struct kmod_path *m, const char *path, bool alloc_name, bool alloc_ext); #define kmod_path__parse(__m, __p) __kmod_path__parse(__m, __p, false, false) #define kmod_path__parse_name(__m, __p) __kmod_path__parse(__m, __p, true , false) #define kmod_path__parse_ext(__m, __p) __kmod_path__parse(__m, __p, false, true) parse kernel module @path and updates @m argument like: @comp - true if @path contains supported compression suffix, false otherwise @kmod - true if @path contains '.ko' suffix in right position, false otherwise @name - if (@alloc_name && @kmod) is true, it contains strdup-ed base name of the kernel module without suffixes, otherwise strudup-ed base name of @path @ext - if (@alloc_ext && @comp) is true, it contains strdup-ed string the compression suffix It returns 0 if there's no strdup error, -ENOMEM otherwise. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-9t6eqg8j610r94l743hkntiv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 80a32e5b498a7547073e5e4b2b804edc7219979d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Jan 29 13:29:39 2015 +0100 perf tools: Add lzma decompression support for kernel module In short, Fedora compresses kernel modules now (since version 21) with lzma compression. Adding lzma decompress support into the dso.c:compressions array introduced by Namhyung earlier. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2glp65kdtbrk0gblmirsjsnt@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6c6f0f6164fbf7a1667378496ee36ae48c18a9d6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Mar 4 11:35:47 2015 +0100 tools build: Add feature check for lzma library Will be used to decompress 'xz' objects. The check detects the liblzma.so devel library normally delivered by xz package. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> commit 00ae1127a03d20f5ef89f3c1fe7d4720270fc2a5 Author: David Ahern <dsahern@xxxxxxxxx> Date: Thu Mar 19 12:36:21 2015 -0600 tools lib traceevent: Add destructor for format_field Move the calls that frees the resources allocated for a struct format_field to a separate routine. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426790181-19118-1-git-send-email-dsahern@xxxxxxxxx [ Split this part from a larger patch, added pevent_ prefix as requested by Steven ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 70e972788888315851a5c1b4982efbcafcd03b5b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Mar 19 16:07:21 2015 -0300 perf hists browser: Indicate which callchain entries are annotated Now that we can annotate entries in a callchain, show which ones have an associated symbol and samples, by adding a right arrow just before the symbol name when in verbose mode. To toggle verbose mode press 'V'. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d2rf1p3h5gdp7hdl2gf2bozl@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f208bd8df08d0659ecd9e09e992c79aab26cddfa Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Mar 20 17:46:53 2015 -0300 perf trace: Handle legacy syscalls tracepoints Currently the code skips the first field with the expectation that it is 'nr'. But older kernels do not have the 'nr' field: field:int nr; offset:8; size:4; signed:1; Change perf-trace to drop the field if it exists after parsing the format file. This fixes the off-by-one problem with older kernels (e.g., RHEL6). e.g, perf-trace shows this for write: 1.515 ( 0.006 ms): dd/4245 write(buf: 2</dev/pts/0>, count: 140733837536224 ) = 26 where 2 is really the fd, the huge number is really the buf address, etc. With this patch you get the more appropriate: 1.813 ( 0.003 ms): dd/6330 write(fd: 2</dev/pts/0>, buf: 0x7fff22fc81f0, count: 25) = 25 Based-on-a-patch-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-gvpdave4u2yq2jnzbcdznpvf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e6c76d620379fd65fc0310aee1785ff7b1b10236 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 21:19:44 2015 +0100 perf build: Move feature checks code under tools/build Moving feature checks code under tools/build directory. Changing also $feature_dir to point to new feature directory location and perf Makefiles to include Makefile.feature from new location. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-3lamtb30dhf4wo99y1n8kxg0@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 970e87b33820205b31306dfb734771842874767c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 21:12:25 2015 +0100 perf build: Make features checks directory configurable Putting feature checks directory into $feature_dir, so it's easy to configure when we move it to bools/build later. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-sq2nsds6uk93372iyxcqcf6q@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0afc5cad387db56054b09bb14baf0e6e49df2fd2 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 21:04:01 2015 +0100 perf build: Separate feature make support into config/Makefile.feature Move feature related code into separate makefile. The new Makefile.feature is included from config/Makefile. It will be moved later into tools/build. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kj76wphg05x83n6d5ff85ybx@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 58d4f00ff13f20468f8fa8edcb57a195c31af46d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Mar 19 20:48:49 2015 +0100 perf build: Fix feature_check name clash We have 2 feature_check functions, which conflict with each other. Fixing it by renaming the latter to feature_display_check. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-wmyccro6qeffseforipu5kcl@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 13f22a2d4a5359867aa05562fc922f1ca24873a5 Author: David Ahern <dsahern@xxxxxxxxx> Date: Thu Mar 19 12:23:03 2015 -0600 perf trace: Fix summary_only option The intent of the -s/--summary-only option is to just show a summary of the system calls and statistics without any of the individual events. Commit e596663ebb2 broke that by showing the interrupted lines: perf trace -i perf.data -s ... 0.741 ( 0.000 ms): sleep/31316 fstat(fd: 4, statbuf: 0x7ffc75ceb830 ) ... 0.744 ( 0.000 ms): sleep/31316 mmap(len: 100244, prot: READ, flags: PRIVATE, fd: 4 ) ... 0.747 ( 0.000 ms): perf/31315 write(fd: 3, buf: 0x7d4bb0, count: 8 ) ... ... Fix by checking for the summary only option. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Link: http://lkml.kernel.org/r/1426789383-19023-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0560a0c4a12a45def9700e7ec3215da102cf914b Author: He Kuang <hekuang@xxxxxxxxxx> Date: Fri Mar 20 09:56:56 2015 +0800 perf probe: Fix failure to add multiple probes without debuginfo Perf tries to find probe function addresses from map when debuginfo could not be found. To the first added function, the value of ref_reloc_sym was set in maps__set_kallsyms_ref_reloc_sym() and can be obtained from host_machine->kmaps->maps. After that, new maps are added to host_machine->kmaps->maps in dso__load_kcore(), all these new added maps do not have a valid ref_reloc_sym. When adding a second function, get_target_map() may get a map without valid ref_reloc_sym, and raise the error "Relocated base symbol is not found". Fix this by using kernel_get_ref_reloc_sym() to get ref_reloc_sym. This problem can be reproduced as following: $ perf probe --add='sys_write' --add='sys_open' Relocated base symbol is not found! Error: Failed to add events. After this patch: $ perf probe --add='sys_write' --add='sys_open' Added new event: probe:sys_write (on sys_write) You can now use it in all perf tools, such as: perf record -e probe:sys_write -aR sleep 1 Added new event: probe:sys_open (on sys_open) You can now use it in all perf tools, such as: perf record -e probe:sys_open -aR sleep 1 Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426816616-2394-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2bd50fb3d4d31f5168ecea221f291534cd0a96e9 Author: Taesoo Kim <tsgatesv@xxxxxxxxx> Date: Sat Mar 21 19:08:30 2015 -0400 cifs: potential memory leaks when parsing mnt opts For example, when mount opt is redundently specified (e.g., "user=A,user=B,user=C"), kernel kept allocating new key/val with kstrdup() and overwrite previous ptr (to be freed). Althouhg mount.cifs in userspace performs a bit of sanitization (e.g., forcing one user option), current implementation is not robust. Other options such as iocharset and domainanme are similarly vulnerable. Signed-off-by: Taesoo Kim <tsgatesv@xxxxxxxxx> Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit e1e9bda22d7ddf88515e8fe401887e313922823e Author: David Disseldorp <ddiss@xxxxxxx> Date: Fri Mar 13 14:20:29 2015 +0100 cifs: fix use-after-free bug in find_writable_file Under intermittent network outages, find_writable_file() is susceptible to the following race condition, which results in a user-after-free in the cifs_writepages code-path: Thread 1 Thread 2 ======== ======== inv_file = NULL refind = 0 spin_lock(&cifs_file_list_lock) // invalidHandle found on openFileList inv_file = open_file // inv_file->count currently 1 cifsFileInfo_get(inv_file) // inv_file->count = 2 spin_unlock(&cifs_file_list_lock); cifs_reopen_file() cifs_close() // fails (rc != 0) ->cifsFileInfo_put() spin_lock(&cifs_file_list_lock) // inv_file->count = 1 spin_unlock(&cifs_file_list_lock) spin_lock(&cifs_file_list_lock); list_move_tail(&inv_file->flist, &cifs_inode->openFileList); spin_unlock(&cifs_file_list_lock); cifsFileInfo_put(inv_file); ->spin_lock(&cifs_file_list_lock) // inv_file->count = 0 list_del(&cifs_file->flist); // cleanup!! kfree(cifs_file); spin_unlock(&cifs_file_list_lock); spin_lock(&cifs_file_list_lock); ++refind; // refind = 1 goto refind_writable; At this point we loop back through with an invalid inv_file pointer and a refind value of 1. On second pass, inv_file is not overwritten on openFileList traversal, and is subsequently dereferenced. Signed-off-by: David Disseldorp <ddiss@xxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit 2477bc58d49edb1c0baf59df7dc093dce682af2b Author: Sachin Prabhu <sprabhu@xxxxxxxxxx> Date: Wed Feb 4 13:10:26 2015 +0000 cifs: smb2_clone_range() - exit on unhandled error While attempting to clone a file on a samba server, we receive a STATUS_INVALID_DEVICE_REQUEST. This is mapped to -EOPNOTSUPP which isn't handled in smb2_clone_range(). We end up looping in the while loop making same call to the samba server over and over again. The proposed fix is to exit and return the error value when encountered with an unhandled error. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sachin Prabhu <sprabhu@xxxxxxxxxx> Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit b712a623bd5c3b04b005e757945d43441e0aa4a8 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Mar 20 01:19:05 2015 +0800 clk: sunxi: Register divs clocks before factor clocks We want to reparent AHB clock to PLL6 on sun5i/sun7i using the assigned clocks properties. AHB is a factor clock, while PLL6 is a divs clock. Register divs clocks before factor clocks so reparenting works. This is only needed because we do the reparenting on the clock provider. The proper way to fix this is to split out all the old sunxi clocks into separate CLK_OF_DECLARE statements, like we are doing for sun9i. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 946fd40f2860bca61abb51676cf72b31ca79d3f8 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Mar 20 01:19:04 2015 +0800 clk: sunxi: Add "cpu" to list of protected clocks for sun5i Now that the ahb clock on sun5i/sun7i is muxable, ahb is no longer guaranteed to be a child of the cpu clock. Add the cpu clock to the list of protected clocks so it doesn't get disabled. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 9f2430973d6713b73b3d25990d0ceb77a12a13a6 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Mar 20 01:19:03 2015 +0800 clk: sunxi: Add muxable ahb factors clock for sun5i and sun7i The AHB clock on sun5i and sun7i are muxable divider clocks. Use a factors clock to support them. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 44a89c82feca565efd44b5aef1f1b99b93621d19 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 19:14:50 2015 +0530 ath9k: Fix AIC compilation error AIC needs to be registered only when BTCOEX is enabled. This fixes the error reported by kbuild: >> ERROR: "ar9003_hw_attach_aic_ops" [drivers/net/wireless/ath/ath9k/ath9k_hw.ko] undefined! Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f93a25b38cbd840f26c9fd2dd8a6611a57b259b7 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Fri Mar 20 22:18:17 2015 +0100 brcmfmac: disable MBSS feature for BCM43362 The BCM43362 firmware falsely reports it is capable of providing MBSS. As a result AP mode no longer works for this device. Therefor disable MBSS in the driver for this chipset. Cc: stable@xxxxxxxxxxxxxxx # 3.19.y Reported-by: Jorg Krause <jkrause@xxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 15c32c5ff2d41dcf368e02607639843905b6db1a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 20 17:16:36 2015 -0700 Bluetooth: Read Verbose Config Version Info for Broadcom devices The Broadcom devices expose their chip id via Read Verbose Config Version Info command. While this information is not used at the moment, it might be useful for debugging purposes and so read it before patching the firmware. This makes it show up in dmesg and HCI traces taken for the system. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 68c581d5e7d834d8e97534cafd60bd6716ee6fbc Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Fri Mar 20 21:45:59 2015 -0700 Input: add Qualcomm PM8941 power key driver Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8f2ddaac302a8ca364cb04efb19cd3b5cd058910 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 14:14:03 2015 +1100 netlink: Remove netlink_compare_arg.trailer Instead of computing the offset from trailer, this patch computes netlink_compare_arg_len from the offset of portid and then adds 4 to it. This allows trailer to be removed. Reported-by: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69a3b16ff66201cb24a772a6e3009044ec582b12 Merge: 89c69d3 9a391c7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 22:03:15 2015 -0400 Merge branch 'netcp-next' Murali Karicheri says: ==================== NetCP: Add support for version 1.5 NetCP 1.5 is used in newer K2 SoCs from Texas Instruments such as K2E, K2L etc. This patch series add support for Ethss driver for this version of NetCP. While at it, fix couple of bugs in the original driver. One of the earlier patch "net: netcp: select davinci_mdio driver by default" is folded onto this series. Please review and let me know your comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a391c7ba7dcfc64754140ce13d5fc55d149531a Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Fri Mar 20 16:11:25 2015 -0400 net: netcp: ethss: enhancement to support NetCP 1.5 ethss NetCP 1.5 available on newer K2 SoCs such as K2E and K2L introduced 3 variants of the ethss subsystem, 9 port, 5 port and 2 port. These have one host port towards the CPU and N external slave ports. To customize the driver for these new ethss sub systems, multiple compatibility strings are introduced. Currently some of parameters that are different on different variants such as number of ALE ports, stats modules and number of ports are defined through constants. These are now changed to variables in gbe_priv data that get set based on the compatibility string. This is required as there are no hardware identification registers available to distinguish among the variants of NetCP 1.5 ethss. However there is identification register available to differentiate between NetCP 1.4 vs NetCP 1.5 and the same is made use of in the code to differentiate them. For more reading on the details of this peripheral, please refer to the User Guide available at http://www.ti.com/lit/pdf/spruhz3 Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Mugunthan V N <mugunthanvnm@xxxxxx> CC: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> CC: Grygorii Strashko <grygorii.strashko@xxxxxx> CC: Christoph Jaeger <cj@xxxxxxxxx> CC: Lokesh Vutla <lokeshvutla@xxxxxx> CC: Markus Pargmann <mpa@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da866ba055bf934c21bd936bbec01d69deffef95 Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Fri Mar 20 16:11:24 2015 -0400 net: netcp: enclose macros in parentheses Fix following checkpatch error. It seems to have passed checkpatch last time when original code was introduced. ERROR: Macros with complex values should be enclosed in parentheses #172: FILE: drivers/net/ethernet/ti/netcp_ethss.c:869: Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Mugunthan V N <mugunthanvnm@xxxxxx> CC: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> CC: Grygorii Strashko <grygorii.strashko@xxxxxx> CC: Christoph Jaeger <cj@xxxxxxxxx> CC: Lokesh Vutla <lokeshvutla@xxxxxx> CC: Markus Pargmann <mpa@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f49ae1492962ed3618ef57db7ce07c671e314632 Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Fri Mar 20 16:11:23 2015 -0400 net: netcp: select davinci_mdio driver by default Keystone netcp driver re-uses davinci mdio driver. So enable it by default for keystone netcp driver. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Mugunthan V N <mugunthanvnm@xxxxxx> CC: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> CC: Grygorii Strashko <grygorii.strashko@xxxxxx> CC: Christoph Jaeger <cj@xxxxxxxxx> CC: Lokesh Vutla <lokeshvutla@xxxxxx> CC: Markus Pargmann <mpa@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21e0e0ddda5be2905ca163cab2da5bb1880a790c Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Fri Mar 20 16:11:22 2015 -0400 net: netcp: use separate reg region for individual ethss modules Ethss has multiple modules within the sub system - switch sub system - sgmii - mdio - switch module NetCP driver re-uses existing davinci mdio driver. It requires to have its own register region to map the reg space. So restructure the code to use separate reg region for the individual modules it manages. Use range property to define register space of NetCP and use reg property to define individual reg spaces. So MDIO will have its own reg space to map. This is a pre-requisite to enable MDIO driver for NetCP. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Mugunthan V N <mugunthanvnm@xxxxxx> CC: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> CC: Grygorii Strashko <grygorii.strashko@xxxxxx> CC: Christoph Jaeger <cj@xxxxxxxxx> CC: Lokesh Vutla <lokeshvutla@xxxxxx> CC: Markus Pargmann <mpa@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e170f409924235478317bd6f2062d3a0c874ff9a Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Fri Mar 20 16:11:21 2015 -0400 net: netcp: fix forward port number usage for 10G ethss 10G switch requires forward port number in the taginfo field, where as it should be in packet_info field for necp 1.4 Ethss. So fill this value correctly in the knav dma descriptor. Also rename dma_psflags field in struct netcp_tx_pipe to switch_to_port as it contain no flag, but the switch port number for forwarding the packet. Add a flag to hold the new flag, SWITCH_TO_PORT_IN_TAGINFO which will be set for 10G. This can also used in the future for other flags for the tx_pipe. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Mugunthan V N <mugunthanvnm@xxxxxx> CC: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> CC: Grygorii Strashko <grygorii.strashko@xxxxxx> CC: Christoph Jaeger <cj@xxxxxxxxx> CC: Lokesh Vutla <lokeshvutla@xxxxxx> CC: Markus Pargmann <mpa@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89c69d3ce5ff0d1d73c19ff0b53268e3325cb3ef Author: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Thu Mar 19 22:42:04 2015 +0900 net: neighbour: Document {mcast, ucast}_solicit, mcast_resolicit. Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8da86466b83787df0d4b89ec81c310de072d101c Author: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Thu Mar 19 22:41:46 2015 +0900 net: neighbour: Add mcast_resolicit to configure the number of multicast resolicitations in PROBE state. We send unicast neighbor (ARP or NDP) solicitations ucast_probes times in PROBE state. Zhu Yanjun reported that some implementation does not reply against them and the entry will become FAILED, which is undesirable. We had been dealt with such nodes by sending multicast probes mcast_ solicit times after unicast probes in PROBE state. In 2003, I made a change not to send them to improve compatibility with IPv6 NDP. Let's introduce per-protocol per-interface sysctl knob "mcast_ reprobe" to configure the number of multicast (re)solicitation for reconfirmation in PROBE state. The default is 0, since we have been doing so for 10+ years. Reported-by: Zhu Yanjun <Yanjun.Zhu@xxxxxxxxxxxxx> CC: Ulf Samuelsson <ulf.samuelsson@xxxxxxxxxxxx> Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc300dc3733fdc328e6e10c7b8379b60c26cd648 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Mar 20 23:14:32 2015 +0100 bgmac: allow enabling on ARCH_BCM_5301X Home routers based on ARM SoCs like BCM4708 also have bcma bus with core supported by bgmac. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c25b23b8a387e7d31f7a74af8e37b61e9e6ebb21 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Mar 20 23:14:31 2015 +0100 bgmac: register fixed PHY for ARM BCM470X / BCM5301X chipsets On ARM SoCs with bgmac Ethernet hardware we don't have any normal PHY. There is always a switch attached but it's not even controlled over MDIO like in case of MIPS devices. We need a fixed PHY to be able to send/receive packets from the switch. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df814d96edcb8b224ead0f64b380be10ce94f900 Merge: c6f1507 784401b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 21:40:47 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-20 This series contains updates to ixgb, e1000e, igb and igbvf. Eliezer and Todd provide patches to fix a potential issue found during code inspection. When bringing down an interface netif_carrier_off() should be one of the first things we do, since this will prevent the stack from queueing more packets to this interface. Yanir provides a fix for e1000e that was found in validating i219, where the call to e1000e_write_protect_nvm_ich8lan() is no longer supported in newer hardware. Access to these registers causes a system freeze in early steppings and is ignored in later steppings. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6f15070e70c2bdd769317a0615f5c5e8869bfaa Author: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Date: Fri Mar 20 18:31:03 2015 -0700 net: dsa: make NET_DSA manually selectable from the config Change bd76a116707bd2381da36cf7c3183df11293f1d6 made all DSA drivers depend on NET_DSA rather than selecting them. However, as the only way to select this option was to actually select a driver, it made DSA impossible to enable at all. This patch adds an explicit entry which the user will have to enable prior selecting a driver. Signed-off-by: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13bb8e2eb37eb3badf5bf4b6bb90e485fbb6b1cd Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Fri Mar 20 17:42:46 2015 -0700 switchdev: kernel-doc cleanup on swithdev ops Suggested-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3593b5cef76db45c864de23c599b58198879e8c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Mar 20 17:15:19 2015 -0700 Revert "selinux: add a skb_owned_by() hook" This reverts commit ca10b9e9a8ca7342ee07065289cbe74ac128c169. No longer needed after commit eb8895debe1baba41fcb62c78a16f0c63c21662a ("tcp: tcp_make_synack() should use sock_wmalloc") When under SYNFLOOD, we build lot of SYNACK and hit false sharing because of multiple modifications done on sk_listener->sk_wmem_alloc Since tcp_make_synack() uses sock_wmalloc(), there is no need to call skb_set_owner_w() again, as this adds two atomic operations. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14aef2919d06bd132f2e6f74f5ccb3caa4c92d54 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Mar 20 07:53:06 2015 +0800 regulator: stw481x: Remove unused fields from struct stw481x The mutex lock is not used at all, remove it. The *vmmc_regulator is not necessary, use a local variable in stw481x_vmmc_regulator_probe() instead. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 784401bfc0b22b5521492047884e8d834de4dfab Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Fri Mar 20 17:41:54 2015 -0700 igbvf: use netif_carrier_off earlier when bringing if down Use netif_carrier_off() first, since that will prevent the stack from queuing more packets to this IF. This operation is fast, and should behave much nicer when trying to bring down an interface under load. Reported-by: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f28ea083a3d21abec434f429f1375b3639b234c4 Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Fri Mar 20 17:41:53 2015 -0700 igb: use netif_carrier_off earlier when bringing if down Use netif_carrier_off() first, since that will prevent the stack from queuing more packets to this IF. This operation is fast, and should behave much nicer when trying to bring down an interface under load. Reported-by: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 152c0a976c71386c67c89969acc427dc5cf802b8 Author: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Date: Fri Mar 20 17:41:53 2015 -0700 e1000e: NVM write protect access removed from SPT HW The call to e1000e_write_protect_nvm_ich8lan() is no longer supported by HW. Access to these registers causes a system freeze in A step hardware and is ignored in B step hardware. This function must not be called in hardware newer than LPT. Signed-off-by: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a60a132e89cdb52621d154c78b69f7eb1307524d Author: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Date: Fri Mar 20 17:41:52 2015 -0700 e1000e: call netif_carrier_off early on down When bringing down an interface netif_carrier_off() should be one the first things we do, since this will prevent the stack from queuing more packets to this interface. This operation is very fast, and should make the device behave much nicer when trying to bring down an interface under load. Also, this would Do The Right Thing (TM) if this device has some sort of fail-over teaming and redirect traffic to the other IF. Move netif_carrier_off as early as possible. Signed-off-by: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d9d888b8b089edae99e40ab3f36d09ca1e592197 Author: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Date: Fri Mar 20 17:41:52 2015 -0700 ixgb: call netif_carrier_off early on down When bringing down an interface netif_carrier_off() should be one the first things we do, since this will prevent the stack from queuing more packets to this interface. This operation is very fast, and should make the device behave much nicer when trying to bring down an interface under load. Also, this would Do The Right Thing (TM) if this device has some sort of fail-over teaming and redirect traffic to the other IF. Move netif_carrier_off as early as possible. Signed-off-by: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 09dd1af2e011a13adce65b74425dfe31e1985e64 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sat Feb 28 09:16:08 2015 +0800 md/cluster: Communication Framework: fix semicolon.cocci warnings drivers/md/md-cluster.c:328: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: NeilBrown <neilb@xxxxxxx> commit 6dc69c9c460b0cf05b5b3f323a8b944a2e52e76d Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sat Feb 28 07:04:37 2015 +0800 md: recover_bitmaps() can be static drivers/md/md-cluster.c:190:6: sparse: symbol 'recover_bitmaps' was not declared. Should it be static? Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit fa8259da0e10b189e41ee60907ec2a499bb66019 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Mon Mar 2 10:55:49 2015 -0600 md: Fix stray --cluster-confirm crash A --cluster-confirm without an --add (by another node) can crash the kernel. Fix it by guarding it using a state. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit ab14d45ea58eae67c739e4ba01871cae7b6c4586 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 15:55:45 2015 +0100 PCI: mvebu: Add suspend/resume support Add suspend/resume support for the mvebu PCIe host driver. Without this commit, the system will panic at resume time when PCIe devices are connected. Note that we have to use the ->suspend_noirq() and ->resume_noirq() hooks, because at resume time, the PCI fixups are done at ->resume_noirq() time, so the PCIe controller has to be ready at this point. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f6877fcf229b4e3d396cbd5199e040b4ea1362eb Merge: 0fa74a4 a8cb5f5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 19:10:50 2015 -0400 Merge branch 'ebpf-next' Daniel Borkmann says: ==================== This set adds native eBPF support also to act_bpf and thus covers tc with eBPF in the classifier *and* action part. A link to iproute2 preview has been provided in patch 2 and the code will be pushed out after Stephen has processed the classifier part and helper bits for tc. This set depends on ced585c83b27 ("act_bpf: allow non-default TC_ACT opcodes as BPF exec outcome"), so a net into net-next merge would be required first. Hope that's fine by you, Dave. ;) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8cb5f556b567974d75ea29c15181c445c541b1f Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Mar 20 15:11:12 2015 +0100 act_bpf: add initial eBPF support for actions This work extends the "classic" BPF programmable tc action by extending its scope also to native eBPF code! Together with commit e2e9b6541dd4 ("cls_bpf: add initial eBPF support for programmable classifiers") this adds the facility to implement fully flexible classifier and actions for tc that can be implemented in a C subset in user space, "safely" loaded into the kernel, and being run in native speed when JITed. Also, since eBPF maps can be shared between eBPF programs, it offers the possibility that cls_bpf and act_bpf can share data 1) between themselves and 2) between user space applications. That means that, f.e. customized runtime statistics can be collected in user space, but also more importantly classifier and action behaviour could be altered based on map input from the user space application. For the remaining details on the workflow and integration, see the cls_bpf commit e2e9b6541dd4. Preliminary iproute2 part can be found under [1]. [1] http://git.breakpoint.cc/cgit/dborkman/iproute2.git/log/?h=ebpf-act Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94caee8c312d96522bcdae88791aaa9ebcd5f22c Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Mar 20 15:11:11 2015 +0100 ebpf: add sched_act_type and map it to sk_filter's verifier ops In order to prepare eBPF support for tc action, we need to add sched_act_type, so that the eBPF verifier is aware of what helper function act_bpf may use, that it can load skb data and read out currently available skb fields. This is bascially analogous to 96be4325f443 ("ebpf: add sched_cls_type and map it to sk_filter's verifier ops"). BPF_PROG_TYPE_SCHED_CLS and BPF_PROG_TYPE_SCHED_ACT need to be separate since both will have a different set of functionality in future (classifier vs action), thus we won't run into ABI troubles when the point in time comes to diverge functionality from the classifier. The future plan for act_bpf would be that it will be able to write into skb->data and alter selected fields mirrored in struct __sk_buff. For an initial support, it's sufficient to map it to sk_filter_ops. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Jiri Pirko <jiri@xxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fa74a4be48e0f810d3dc6ddbc9d6ac7e86cbee8 Merge: 6626af6 4de930e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 18:51:09 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/emulex/benet/be_main.c net/core/sysctl_net_core.c net/ipv4/inet_diag.c The be_main.c conflict resolution was really tricky. The conflict hunks generated by GIT were very unhelpful, to say the least. It split functions in half and moved them around, when the real actual conflict only existed solely inside of one function, that being be_map_pci_bars(). So instead, to resolve this, I checked out be_main.c from the top of net-next, then I applied the be_main.c changes from 'net' since the last time I merged. And this worked beautifully. The inet_diag.c and sysctl_net_core.c conflicts were simple overlapping changes, and were easily to resolve. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6626af692692b52c8f9e20ad8201a3255e5ab25b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 18:18:45 2015 -0400 rhashtable: Fix undeclared EEXIST build error on ia64 We need to include linux/errno.h in rhashtable.h since it doesn't always get included otherwise. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c30f546f3b7a1ac8b002dc3b3e8f4e26d195fa0 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Mar 20 11:20:38 2015 +0800 perf build: Add config/feature-checks/*.output to the .gitignore file They are all auto-generated files during the perf building. Before this patch: $ git status Untracked files: (use "git add <file>..." to include in what will be committed) config/feature-checks/test-all.make.output config/feature-checks/test-backtrace.make.output config/feature-checks/test-bionic.make.output config/feature-checks/test-dwarf.make.output config/feature-checks/test-fortify-source.make.output config/feature-checks/test-glibc.make.output config/feature-checks/test-gtk2-infobar.make.output config/feature-checks/test-gtk2.make.output config/feature-checks/test-libaudit.make.output config/feature-checks/test-libbabeltrace.make.output config/feature-checks/test-libbfd.make.output config/feature-checks/test-libdw-dwarf-unwind.make.output config/feature-checks/test-libelf-getphdrnum.make.output config/feature-checks/test-libelf-mmap.make.output config/feature-checks/test-libelf.make.output config/feature-checks/test-libnuma.make.output config/feature-checks/test-libperl.make.output config/feature-checks/test-libpython-version.make.output config/feature-checks/test-libpython.make.output config/feature-checks/test-libslang.make.output config/feature-checks/test-libunwind.make.output config/feature-checks/test-pthread-attr-setaffinity-np.make.output config/feature-checks/test-stackprotector-all.make.output config/feature-checks/test-sync-compare-and-swap.make.output config/feature-checks/test-timerfd.make.output config/feature-checks/test-zlib.make.output After this patch: $ git status nothing to commit, working directory clean Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426821638-11227-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 43f3e14f0cd16a6c3430137ee22176033d1960da Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Mar 20 11:20:37 2015 +0800 perf build: Use FEATURE-DUMP instead of PERF-FEATURES in the .gitignore file Since commit 4ae61202b31c ("perf build: Rename PERF-FEATURES into FEATURE-DUMP") renames PERF-FEATURES into FEATURE-DUMP, the .gitignore file should also do this thing for consistency. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426821638-11227-2-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8b8ca6e15e392b366a7d69c6bf1abaae005f2b63 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Mar 20 02:57:52 2015 +0000 perf tools: Don't allow empty argument for field-separator Both 'perf diff' and 'perf mem' have 'field-separator' option, which causes segfault if passed with empty string. This patch uses previously introduced 'OPT_STRING_NOEMPTY' option macro to prevent fault. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426820272-23302-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0635b0f71424be7706793ac260d063491a2889a0 Author: Milos Vyletel <milos@xxxxxxxxxx> Date: Fri Mar 20 11:37:25 2015 +0100 perf tools: Fix race in build_id_cache__add_s() int build_id_cache__add_s(const char *sbuild_id, const char *debugdir, const char *name, bool is_kallsyms, bool is_vdso) { ... if (access(filename, F_OK)) { ^--------------------------------------------------------- [1] if (is_kallsyms) { if (copyfile("/proc/kallsyms", filename)) goto out_free; } else if (link(realname, filename) && copyfile(name, filename)) ^-----------------------------^------------- [2] \------------ [3] goto out_free; } ... When multiple instances of perf record get to [1] at more or less same time and run access() one or more may get failure because the file does not exist yet (since the first instance did not have chance to link it yet). At this point the race moves to link() at [2] where first thread to get there links file and goes on but second one gets -EEXIST so it runs copyfile [3] which truncates the file. reproducer: rm -rf /root/.debug for cpu in $(awk '/processor/ {print $3}' /proc/cpuinfo); do perf record -a -v -T -F 1000 -C $cpu \ -o perf-${cpu}.data sleep 5 2> /dev/null & done wait and simply search for empty files by: find /lib/modules/`uname -r`/kernel/* -size 0 Signed-off-by: Milos Vyletel <milos@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@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/1426847846-11112-1-git-send-email-milos@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b4c11cb437fdb34b57b3a96f04288421d9a19e8d Merge: ebd6af0 385565a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 16:34:03 2015 -0400 Merge branch 'amd-xgbe-next' Tom Lendacky says: ==================== amd-xgbe: AMD XGBE driver updates 2015-03-19 The following series of patches includes functional updates and changes to the driver. - Use the phydev->advertising field instead of the phydev->supported field when configuring for auto-negotiation, etc. - Use the phy_driver flags field for setting the transceiver type instead of hardcoding it in the ethtool support. - Provide an auto-negotiation timeout check - Clarify the Tx/Rx queue information messages - Use the new DMA memory barrier operations - Set the device DMA mask based on what the hardware reports - Remove the software implementation of Tx coalescing - Fix the reporting of the Rx coalescing value - Use napi_alloc_skb when allocating an SKB in softirq This patch series is based on net-next. Changes from v2: - Use jiffies instead of timespec for the auto-negotiation timeout check - Remove the Rx path SKB allocation re-work patch since we should only inline the headers and the current code guards better against any hardware bugs Changes from v1: - Default to 32-bit DMA width (minimum supported) if hardware returns an unexpected DMA width value ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 385565a1f0d365793e1f90746237d508bfeef9af Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:41 2015 -0500 amd-xgbe: Use napi_alloc_skb when allocating skb in softirq Use the napi_alloc_skb function to allocate an skb when running within the softirq context to avoid calls to local_irq_save/restore. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a57ebcc2c1e8a924c3897df2c11c5d4620ec89e Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:34 2015 -0500 amd-xgbe: Fix Rx coalescing reporting The Rx coalescing value is internally converted from usecs to a value that the hardware can use. When reporting the Rx coalescing value, this internal value is converted back to usecs. During the conversion from and back to usecs some rounding occurs. So, for example, when setting an Rx usec of 30, it will be reported as 29. Fix this reporting issue by keeping the original usec value and using that during reporting. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c635eaacbf77bd6dae917925ef1e76d044b0da07 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:28 2015 -0500 amd-xgbe: Remove Tx coalescing The Tx coalescing support in the driver was a software implementation for something lacking in the hardware. Using hrtimers, the idea was to trigger a timer interrupt after having queued a packet for transmit. Unfortunately, as the timer value was lowered, the timer expired before the hardware actually did the transmit and so it was racey and resulted in unnecessary interrupts. Remove the Tx coalescing support and hrtimer and replace with a Tx timer that is used as a reclaim timer in case of inactivity. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 386d325dbdf16919f3416a1b6f26fcfd1c9549ff Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:22 2015 -0500 amd-xgbe: Set DMA mask based on hardware register value The hardware supplies a value that indicates the DMA range that it is capable of using. Use this value rather than hard-coding it in the driver. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ceb8f6be7e5a254cb5b894be7a032170ec34607b Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:16 2015 -0500 amd-xgbe: Use the new DMA memory barriers where appropriate Use the new lighter weight memory barriers when working with the device descriptors. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 600c8811d3f608d28a6a79bfbcca08bb7962f301 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:10 2015 -0500 amd-xgbe: Clarify output message about queues Clarify that the queues referred to in a message when the device is brought up are hardware queues and not necessarily related to the Linux network queues. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ae5eecdba7297725b280e81e905f48f85f9ffe7 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:04 2015 -0500 amd-xgbe-phy: Provide support for auto-negotiation timeout Currently, there is no interrupt code that indicates auto-negotiation has timed out. If the auto-negotiation has timed out then the start of a new auto-negotiation will begin again with a new base page being received. The state machine could be in a state that is not expecting this interrupt code which results in an error during auto-negotiation. Update the code to timestamp when the auto-negotiation starts. Should another page received interrupt code occur before auto-negotiation has completed but after the auto-negotiation timeout, then reset the state machine to allow the auto-negotiation to continue. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65f57cb152ea0ad464793927e79074eb6da0064a Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:49:53 2015 -0500 amd-xgbe-phy: Use the phy_driver flags field Remove the setting of the transceiver type when retrieving the device settings using ethtool and instead set the transceiver type in the phy_driver structure flags field. Change the transceiver type to be internal, also. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9663c8c21491267c064cdb028b767404a39d7c7 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:49:42 2015 -0500 amd-xgbe-phy: Use phydev advertising field vs supported With ethtool being able to control what is advertised, the advertising field is what should be used for priming the auto-negotiation registers and for various other checks, instead of the supported field. Also, move the initial setting of the supported and advertising fields into the probe function so that they are not reset each time the device is brought up, thus allowing the user to set as desired before bringing the device up. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebd6af092a221fc38e28fbb7995c0c7e3f0df875 Merge: 0b8c707 dc0ee26 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 16:16:32 2015 -0400 Merge branch 'rhashtable-inlined-interface' Herbert Xu says: ==================== rhashtable: Introduce inlined interface This series of patches introduces the inlined rhashtable interface. The idea is to make all the function pointers visible to the compiler by providing the rhashtable_params structure explicitly to each inline rhashtable function. For example, instead of doing obj = rhashtable_lookup(ht, key); you would now do obj = rhashtable_lookup_fast(ht, key, params); Where params is the same data that you would give to rhashtable_init. In particular, within rhashtable.c itself we would simply supply ht->p. So to convert users over, you simply have to make params globally accessible, e.g., by placing it in a static const variable, which can then be used at each inlined call site, as well as by the rhashtable_init call. The only ticky bit is that some users (i.e., netfilter) has a dynamic key length. This is dealt with by using params.key_len in the inline functions when it is non-zero, and otherwise falling back on ht->p.key_len. Note that I've only tested this on one compiler, gcc 4.7.2. So please test this with your compilers as well and make sure that the code is actually inlined without indirect function calls. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc0ee268d85026530720d8c874716287b7ede25b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:06 2015 +1100 rhashtable: Rip out obsolete out-of-line interface Now that all rhashtable users have been converted over to the inline interface, this patch removes the unused out-of-line interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cca7289d5cba80d61da711205cd230fc637e2e3 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:05 2015 +1100 tipc: Use inlined rhashtable interface This patch converts tipc to the inlined rhashtable interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b182aa6e967e8272a3ba718a89697f661915be7a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:04 2015 +1100 test_rhashtable: Use inlined rhashtable interface This patch converts test_rhashtable to the inlined rhashtable interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa3773211eb61f2a08ffc399a98af53594ba1509 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:02 2015 +1100 netfilter: Convert nft_hash to inlined rhashtable This patch converts nft_hash to the inlined rhashtable interface. This patch also replaces the call to rhashtable_lookup_compare with a straight rhashtable_lookup_fast because it's simply doing a memcmp (in fact nft_hash_lookup already uses memcmp instead of nft_data_cmp). Furthermore, the compare function is only meant to compare, it is not supposed to have side-effects. The current side-effect code can simply be moved into the nft_hash_get. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c428ecd1a21f1457ca3beb4df71b8a079c410e41 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:01 2015 +1100 netlink: Move namespace into hash key Currently the name space is a de facto key because it has to match before we find an object in the hash table. However, it isn't in the hash value so all objects from different name spaces with the same port ID hash to the same bucket. This is bad as the number of name spaces is unbounded. This patch fixes this by using the namespace when doing the hash. Because the namespace field doesn't lie next to the portid field in the netlink socket, this patch switches over to the rhashtable interface without a fixed key. This patch also uses the new inlined rhashtable interface where possible. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02fd97c3d4a8a14e222b0021c366db7041d28743 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:00 2015 +1100 rhashtable: Allow hash/comparison functions to be inlined This patch deals with the complaint that we make indirect function calls on the fast paths unnecessarily in rhashtable. We resolve it by moving the fast paths into inline functions that take struct rhashtable_param (which obviously must be the same set of parameters supplied to rhashtable_init) as an argument. The only remaining indirect call is to obj_hashfn (or key_hashfn it obj_hashfn is unset) on the rehash as well as the insert-during- rehash slow path. This patch also extends the support of vairable-length keys to include those where the key is fixed but scattered in the object. For example, in netlink we want to key off the namespace and the portid but they're not next to each other. This patch does this by directly using the object hash function as the indicator of whether the key is accessible or not. It also adds a new function obj_cmpfn to compare a key against an object. This means that the caller no longer needs to supply explicit compare functions. All this is done in a backwards compatible manner so no existing users are affected until they convert to the new interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 488fb86ee91d3b1182c2e30a9f9b45da14eda46f Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:56:59 2015 +1100 rhashtable: Make rhashtable_init params argument const This patch marks the rhashtable_init params argument const as there is no reason to modify it since we will always make a copy of it in the rhashtable. This patch also fixes a bug where we don't actually round up the value of min_size unless it is less than HASH_MIN_SIZE. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1420384e3aa83b4ac8af85ae92d84f320272756 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 15 23:12:15 2015 +0800 NFSD: Put exports after nfsd4_layout_verify fail Fix commit 9cf514ccfa (nfsd: implement pNFS operations). Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 0b8c707ddf37171413fe67350263e5b6ffeedf7c Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Mar 19 19:38:27 2015 +0100 ebpf, filter: do not convert skb->protocol to host endianess during runtime Commit c24973957975 ("bpf: allow BPF programs access 'protocol' and 'vlan_tci' fields") has added support for accessing protocol, vlan_present and vlan_tci into the skb offset map. As referenced in the below discussion, accessing skb->protocol from an eBPF program should be converted without handling endianess. The reason for this is that an eBPF program could simply do a check more naturally, by f.e. testing skb->protocol == htons(ETH_P_IP), where the LLVM compiler resolves htons() against a constant automatically during compilation time, as opposed to an otherwise needed run time conversion. After all, the way of programming both from a user perspective differs quite a lot, i.e. bpf_asm ["ld proto"] versus a C subset/LLVM. Reference: https://patchwork.ozlabs.org/patch/450819/ Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d8325ecb9c21015f330eb0dcffcc5fc1b1fe5b8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 19:56:41 2015 +0100 cfg80211: add vlan to station add/change tracing This helps debug issues with VLAN modifications that are otherwise not really visible in any tracing/debugging. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b55d1abf568cdf12d148ced8b82b217bff824885 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Mar 20 11:14:50 2015 -0700 Bluetooth: Expose quirks through debugfs This patch expose controller quirks through debugfs. It would be useful for BlueZ tests using vhci. Currently there is no way to test quirk dependent behaviour. It might be also useful for manual testing. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5bc6510f919be9875fbbea3d8c1f6f33f9265a31 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:37 2015 +0100 iscsi-target: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 62554910a94a62f7b9b79cee3ca6bac95abe3c29 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 20 11:36:50 2015 -0700 target: Convert fabric module autoload failures to pr_debug This patch converts the fabric module autoload failures from pr_err to pr_debug in target_core_register_fabric() code, to reduce the amount of noise during normal operation. Reported-by: Olaf Hering <olaf@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 342f948a166c2a17b0e187e3fc2618dc561842f3 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 15:26:11 2015 +0100 spi: bcm2835: fix all checkpath --strict messages The following errors/warnings issued by checkpatch.pl --strict have been fixed: drivers/spi/spi-bcm2835.c:182: CHECK: Alignment should match open parenthesis drivers/spi/spi-bcm2835.c:191: CHECK: braces {} should be used on all arms of this statement drivers/spi/spi-bcm2835.c:234: CHECK: Alignment should match open parenthesis drivers/spi/spi-bcm2835.c:256: CHECK: Alignment should match open parenthesis drivers/spi/spi-bcm2835.c:271: CHECK: Alignment should match open parenthesis drivers/spi/spi-bcm2835.c:346: CHECK: Alignment should match open parenthesis total: 0 errors, 0 warnings, 6 checks, 403 lines checked In 2 locations the arguments had to get split/moved to the next line so that the line width stays below 80 chars. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c4a6853d8fb2b122686bc6a7c472956e87090f4e Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Fri Mar 20 11:37:17 2015 -0300 ipv6: invert join/leave anycast rtnl/socket locking order Commit baf606d9c9b1 ("ipv4,ipv6: grab rtnl before locking the socket") missed to update two setsockopt options, IPV6_JOIN_ANYCAST and IPV6_LEAVE_ANYCAST, causing a lock inverstion regarding to the updated ones. As ipv6_sock_ac_join and ipv6_sock_ac_leave are only called from do_ipv6_setsockopt, we are good to just move the rtnl lock upper. Fixes: baf606d9c9b1 ("ipv4,ipv6: grab rtnl before locking the socket") Reported-by: Ying Huang <ying.huang@xxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 149d7549c22045bc777a377720809b108639f9e9 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Fri Mar 20 10:26:21 2015 -0300 vxlan: fix possible use of uninitialized in vxlan_igmp_{join, leave} Test robot noticed that we check the return of vxlan_igmp_join and leave but inside them there was a path that it could be used initialized. It's not really possible because those if() inside these igmp functions would always match as we can't have sockets of other type in there, but this way we keep the compiler happy. Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 967b1307b69b8ada8b331e01046ad1ef83742e99 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 20 18:21:03 2015 +0100 ALSA: hda - Rename power_mgmt flag with power_save_node David suggested that the name "power_mgmt" is too ambiguous. Rename the flag with a bit clearer one "power_save_node". Also, add the corresponding description to HD-Audio.txt, too. Reported-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6b275b140094b701f7ad15272f0597e9d954e5e4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 20 18:11:05 2015 +0100 ALSA: hda - Fix power of pins used for mute LED with vrefs Some pins are used for controlling the LED with the VREF value. This patch changes the power behavior of such pins to be constantly up. A new state, pin_fixed, is introduced to nid_path to indicate that the path contains the fixed pin. This improves also the readability a bit for other static routes, too. Then a helper function snd_hda_gen_fix_pin_power() is called from the codec driver for such fixed pins, and it will create fake paths containing only these pins with pin_fixed=1 flag. Reported-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit edafc132baac4f5331b7bffd99a7af371776f2b5 Author: Palik, Imre <imrep@xxxxxxxxx> Date: Thu Mar 19 11:05:42 2015 +0100 xen-netback: making the bandwidth limiter runtime settable With the current netback, the bandwidth limiter's parameters are only settable during vif setup time. This patch register a watch on them, and thus makes them runtime changeable. When the watch fires, the timer is reset. The timer's mutex is used for fencing the change. Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Imre Palik <imrep@xxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1afaa05515212b136d96a48b2ba2251f40437d87 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:54:41 2015 +0100 EDAC: Constify of_device_id array of_device_id is always used as const. See driver.of_match_table and open firmware functions. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Doug Thompson <dougthompson@xxxxxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Johannes Thumshirn <johannes.thumshirn@xxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Cc: linux-edac@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1426535685-25996-10-git-send-email-fabf@xxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 7e174702c88f265600917dacd0f7385db660cca2 Author: Brian K. Turner <turnerbk84@xxxxxxxxx> Date: Fri Mar 20 09:36:35 2015 -0700 Input: lifebook - fix tabbing issue This change fixes a style issue where spaces where used instead of tabs. Signed-off-by: Brian K. Turner <turnerbk84@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a736775db683174269c65c7c5cc8e5ee534e7681 Author: Charlie Mooney <charliemooney@xxxxxxxxxxxx> Date: Fri Mar 20 09:40:17 2015 -0700 Input: add MT_TOOL_PALM Currently there are only two "tools" that can be specified by a multi-touch driver: MT_TOOL_FINGER and MT_TOOL_PEN. In working with Elan (The touch vendor) and discussing their next-gen devices it seems that it will be useful to have more tools so that their devices can give the upper layers of the stack hints as to what is touching the sensor. In particular they have new experimental firmware that can better differentiate between palms vs fingertips and would like to plumb a patch so that we can use their hints in higher-level gesture soft- ware. The firmware on the device can reasonably do a better job of palm detection because it has access to all of the raw sensor readings as opposed to just the width/pressure/etc that are exposed by the driver. As such, the firmware can characterize what a palm looks like in much finer-grained detail and this change would allow such a device to share its findings with the kernel. Signed-off-by: Charlie Mooney <charliemooney@xxxxxxxxxxxx> Acked-by: Peter Hutterer <peter.hutterer@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a68465c9cb435feadb0efe6acbd0a9a7d1038465 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Mar 19 19:48:31 2015 +0800 NFSD: Error out when register_shrinker() fail If register_shrinker() failed, nfsd will cause a NULL pointer access as, [ 9250.875465] nfsd: last server has exited, flushing export cache [ 9251.427270] BUG: unable to handle kernel NULL pointer dereference at (null) [ 9251.427393] IP: [<ffffffff8136fc29>] __list_del_entry+0x29/0xd0 [ 9251.427579] PGD 13e4d067 PUD 13e4c067 PMD 0 [ 9251.427633] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC [ 9251.427706] Modules linked in: ip6t_rpfilter ip6t_REJECT bnep bluetooth xt_conntrack cfg80211 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 btrfs xfs microcode ppdev serio_raw pcspkr xor libcrc32c raid6_pq e1000 parport_pc parport i2c_piix4 i2c_core nfsd(OE-) auth_rpcgss nfs_acl lockd sunrpc(E) ata_generic pata_acpi [ 9251.428240] CPU: 0 PID: 1557 Comm: rmmod Tainted: G OE 3.16.0-rc2+ #22 [ 9251.428366] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/31/2013 [ 9251.428496] task: ffff880000849540 ti: ffff8800136f4000 task.ti: ffff8800136f4000 [ 9251.428593] RIP: 0010:[<ffffffff8136fc29>] [<ffffffff8136fc29>] __list_del_entry+0x29/0xd0 [ 9251.428696] RSP: 0018:ffff8800136f7ea0 EFLAGS: 00010207 [ 9251.428751] RAX: 0000000000000000 RBX: ffffffffa0116d48 RCX: dead000000200200 [ 9251.428814] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffa0116d48 [ 9251.428876] RBP: ffff8800136f7ea0 R08: ffff8800136f4000 R09: 0000000000000001 [ 9251.428939] R10: 8080808080808080 R11: 0000000000000000 R12: ffffffffa011a5a0 [ 9251.429002] R13: 0000000000000800 R14: 0000000000000000 R15: 00000000018ac090 [ 9251.429064] FS: 00007fb9acef0740(0000) GS:ffff88003fa00000(0000) knlGS:0000000000000000 [ 9251.429164] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 9251.429221] CR2: 0000000000000000 CR3: 0000000031a17000 CR4: 00000000001407f0 [ 9251.429306] Stack: [ 9251.429410] ffff8800136f7eb8 ffffffff8136fcdd ffffffffa0116d20 ffff8800136f7ed0 [ 9251.429511] ffffffff8118a0f2 0000000000000000 ffff8800136f7ee0 ffffffffa00eb765 [ 9251.429610] ffff8800136f7ef0 ffffffffa010e93c ffff8800136f7f78 ffffffff81104ac2 [ 9251.429709] Call Trace: [ 9251.429755] [<ffffffff8136fcdd>] list_del+0xd/0x30 [ 9251.429896] [<ffffffff8118a0f2>] unregister_shrinker+0x22/0x40 [ 9251.430037] [<ffffffffa00eb765>] nfsd_reply_cache_shutdown+0x15/0x90 [nfsd] [ 9251.430106] [<ffffffffa010e93c>] exit_nfsd+0x9/0x6cd [nfsd] [ 9251.430192] [<ffffffff81104ac2>] SyS_delete_module+0x162/0x200 [ 9251.430280] [<ffffffff81013b69>] ? do_notify_resume+0x59/0x90 [ 9251.430395] [<ffffffff816f2369>] system_call_fastpath+0x16/0x1b [ 9251.430457] Code: 00 00 55 48 8b 17 48 b9 00 01 10 00 00 00 ad de 48 8b 47 08 48 89 e5 48 39 ca 74 29 48 b9 00 02 20 00 00 00 ad de 48 39 c8 74 7a <4c> 8b 00 4c 39 c7 75 53 4c 8b 42 08 4c 39 c7 75 2b 48 89 42 08 [ 9251.430691] RIP [<ffffffff8136fc29>] __list_del_entry+0x29/0xd0 [ 9251.430755] RSP <ffff8800136f7ea0> [ 9251.430805] CR2: 0000000000000000 [ 9251.431033] ---[ end trace 080f3050d082b4ea ]--- Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit db59c0ef08ca56758dcee6495d9d6a086682c5ec Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Mar 19 19:04:41 2015 +0800 NFSD: Take care the return value from nfsd4_decode_stateid Return status after nfsd4_decode_stateid failed. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6f8f28ec5f88715515e70dd52f16b326a5e63f81 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Mar 19 19:04:14 2015 +0800 NFSD: Check layout type when returning client layouts According to RFC5661: " When lr_returntype is LAYOUTRETURN4_FSID, the current filehandle is used to identify the file system and all layouts matching the client ID, the fsid of the file system, lora_layout_type, and lora_iomode are returned. When lr_returntype is LAYOUTRETURN4_ALL, all layouts matching the client ID, lora_layout_type, and lora_iomode are returned and the current filehandle is not used. " When returning client layouts, always check layout type. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 715a03d2848275269bd4014a49212cc83452f32d Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Mar 20 15:56:40 2015 +0800 NFSD: restore trace event lost in mismerge 31ef83dc05 "nfsd: add trace events" had a typo that dropped a trace event and replaced it by an incorrect recursive call to nfsd4_cb_layout_fail. 133d558216d9 "Subject: nfsd: don't recursively call nfsd4_cb_layout_fail" fixed the crash, this restores the tracepoint. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 750f2f9165bafb5fc20a1ec689f46c89dac54658 Merge: a998f71 becb74f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 12:40:33 2015 -0400 Merge branch 'listener_refactor_part_14' Eric Dumazet says: ==================== inet: tcp listener refactoring part 14 OK, we have serious patches here. We get rid of the central timer handling SYNACK rtx, which is killing us under even medium SYN flood. We still use the listener specific hash table. This will be done in next round ;) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit becb74f0acca19b5abfcb24dc602530f3deea66a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 19 19:04:21 2015 -0700 net: increase sk_[max_]ack_backlog sk_ack_backlog & sk_max_ack_backlog were 16bit fields, meaning listen() backlog was limited to 65535. It is time to increase the width to allow much bigger backlog, if admins change /proc/sys/net/core/somaxconn & /proc/sys/net/ipv4/tcp_max_syn_backlog default values. Tested: echo 5000000 >/proc/sys/net/core/somaxconn echo 5000000 >/proc/sys/net/ipv4/tcp_max_syn_backlog Ran a SYNFLOOD test against a listener using listen(fd, 5000000) myhost~# grep request_sock_TCP /proc/slabinfo request_sock_TCP 4185642 4411940 304 13 1 : tunables 54 27 8 : slabdata 339380 339380 0 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa76ce7328b289b6edd476e24eb52fd634261720 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 19 19:04:20 2015 -0700 inet: get rid of central tcp/dccp listener timer One of the major issue for TCP is the SYNACK rtx handling, done by inet_csk_reqsk_queue_prune(), fired by the keepalive timer of a TCP_LISTEN socket. This function runs for awful long times, with socket lock held, meaning that other cpus needing this lock have to spin for hundred of ms. SYNACK are sent in huge bursts, likely to cause severe drops anyway. This model was OK 15 years ago when memory was very tight. We now can afford to have a timer per request sock. Timer invocations no longer need to lock the listener, and can be run from all cpus in parallel. With following patch increasing somaxconn width to 32 bits, I tested a listener with more than 4 million active request sockets, and a steady SYNFLOOD of ~200,000 SYN per second. Host was sending ~830,000 SYNACK per second. This is ~100 times more what we could achieve before this patch. Later, we will get rid of the listener hash and use ehash instead. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52452c542559ac980b48dbf22a30ee7fa0af507c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 19 19:04:19 2015 -0700 inet: drop prev pointer handling in request sock When request sock are put in ehash table, the whole notion of having a previous request to update dl_next is pointless. Also, following patch will get rid of big purge timer, so we want to delete a request sock without holding listener lock. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42528795ac1c8d7ba021797ec004904168956d64 Merge: ff38281 4762767 9910aff c136f99 654e953 5871968 915e8a4 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 08:31:01 2015 -0700 Merge branches 'doc.2015.02.26a', 'earlycb.2015.03.03a', 'fixes.2015.03.03a', 'gpexp.2015.02.26a', 'hotplug.2015.03.20a', 'sysidle.2015.02.26b' and 'tiny.2015.02.26a' into HEAD doc.2015.02.26a: Documentation changes earlycb.2015.03.03a: Permit early-boot RCU callbacks fixes.2015.03.03a: Miscellaneous fixes gpexp.2015.02.26a: In-kernel expediting of normal grace periods hotplug.2015.03.20a: CPU hotplug fixes sysidle.2015.02.26b: NO_HZ_FULL_SYSIDLE fixes tiny.2015.02.26a: TINY_RCU fixes commit 654e953340491e498871321d7e2c9b0a12821933 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 15 09:19:35 2015 -0700 rcu: Associate quiescent-state reports with grace period As noted in earlier commit logs, CPU hotplug operations running concurrently with grace-period initialization can result in a given leaf rcu_node structure having all CPUs offline and no blocked readers, but with this rcu_node structure nevertheless blocking the current grace period. Therefore, the quiescent-state forcing code now checks for this situation and repairs it. Unfortunately, this checking can result in false positives, for example, when the last task has just removed itself from this leaf rcu_node structure, but has not yet started clearing the ->qsmask bits further up the structure. This means that the grace-period kthread (which forces quiescent states) and some other task might be attempting to concurrently clear these ->qsmask bits. This is usually not a problem: One of these tasks will be the first to acquire the upper-level rcu_node structure's lock and with therefore clear the bit, and the other task, seeing the bit already cleared, will stop trying to clear bits. Sadly, this means that the following unusual sequence of events -can- result in a problem: 1. The grace-period kthread wins, and clears the ->qsmask bits. 2. This is the last thing blocking the current grace period, so that the grace-period kthread clears ->qsmask bits all the way to the root and finds that the root ->qsmask field is now zero. 3. Another grace period is required, so that the grace period kthread initializes it, including setting all the needed qsmask bits. 4. The leaf rcu_node structure (the one that started this whole mess) is blocking this new grace period, either because it has at least one online CPU or because there is at least one task that had blocked within an RCU read-side critical section while running on one of this leaf rcu_node structure's CPUs. (And yes, that CPU might well have gone offline before the grace period in step (3) above started, which can mean that there is a task on the leaf rcu_node structure's ->blkd_tasks list, but ->qsmask equal to zero.) 5. The other kthread didn't get around to trying to clear the upper level ->qsmask bits until all the above had happened. This means that it now sees bits set in the upper-level ->qsmask field, so it proceeds to clear them. Too bad that it is doing so on behalf of a quiescent state that does not apply to the current grace period! This sequence of events can result in the new grace period being too short. It can also result in the new grace period ending before the leaf rcu_node structure's ->qsmask bits have been cleared, which will result in splats during initialization of the next grace period. In addition, it can result in tasks blocking the new grace period still being queued at the start of the next grace period, which will result in other splats. Sasha's testing turned up another of these splats, as did rcutorture testing. (And yes, rcutorture is being adjusted to make these splats show up more quickly. Which probably is having the undesirable side effect of making other problems show up less quickly. Can't have everything!) Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.0.x Tested-by: Sasha Levin <sasha.levin@xxxxxxxxxx> commit 7c10770f995820ec1ed26c761b1583bfc4d88872 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 14:18:27 2015 +0100 mac80211: avoid duplicate TX path station lookup Instead of looking up the destination station twice in the TX path (first to build the header, and then for control processing), save it when building the header and use it later in the TX path. To avoid having to look up the station in the many callers, allow those to pass %NULL which keeps the existing lookup. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e33f5569aafadfa68aea32457a9246818d3dfe48 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 16:01:52 2015 +0100 mac80211: mesh: avoid pointless station lookup In ieee80211_build_hdr(), the station is looked up to build the header correctly (QoS field) and to check for authorization. For mesh, authorization isn't checked here, and QoS capability is mandatory, so the station lookup can be avoided. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a8d15ff0050aef96a14a185b5138f01f98109b40 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 14:05:02 2015 +0100 mac80211: drop 4-addr VLAN frames earlier if not connected If there's no station on the 4-addr VLAN interface, then frames cannot be transmitted. Drop such frames earlier, before setting up all the information for them. We should keep the old check though since that code might be used for other internally-generated frames. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5041006c42537cce1d3619521f50c29b3bf0a633 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 13:29:29 2015 +0100 mac80211: don't look up destination station twice There's no need to look up the destination station twice while building the 802.11 header for a given frame if the frame will actually be transmitted to the station we initially looked up. This happens for 4-addr VLAN interfaces and TDLS connections, which both directly send the frame to the station they looked up, though in the case of TDLS some station conditions need to be checked. To avoid that, add a variable indicating that we've looked up the station that the frame is going to be transmitted to, and avoid the lookup/flag checking if it already has been done. In the TDLS case, also move the authorized/wme_sta flag assignment to the correct place, i.e. only when that station is really used. Before this change, the new lookup should always have succeeded so that the potentially erroneous data would be overwritten. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a77da14ce9afb338040b405f6ab8afddc310411d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 14:52:27 2015 -0700 rcu: Yet another fix for preemption and CPU hotplug As noted earlier, the following sequence of events can occur when running PREEMPT_RCU and HOTPLUG_CPU on a system with a multi-level rcu_node combining tree: 1. A group of tasks block on CPUs corresponding to a given leaf rcu_node structure while within RCU read-side critical sections. 2. All CPUs corrsponding to that rcu_node structure go offline. 3. The next grace period starts, but because there are still tasks blocked, the upper-level bits corresponding to this leaf rcu_node structure remain set. 4. All the tasks exit their RCU read-side critical sections and remove themselves from the leaf rcu_node structure's list, leaving it empty. 5. But because there now is code to check for this condition at force-quiescent-state time, the upper bits are cleared and the grace period completes. However, there is another complication that can occur following step 4 above: 4a. The grace period starts, and the leaf rcu_node structure's gp_tasks pointer is set to NULL because there are no tasks blocked on this structure. 4b. One of the CPUs corresponding to the leaf rcu_node structure comes back online. 4b. An endless stream of tasks are preempted within RCU read-side critical sections on this CPU, such that the ->blkd_tasks list is always non-empty. The grace period will never end. This commit therefore makes the force-quiescent-state processing check only for absence of tasks blocking the current grace period rather than absence of tasks altogether. This will cause a quiescent state to be reported if the current leaf rcu_node structure is not blocking the current grace period and its parent thinks that it is, regardless of how RCU managed to get itself into this state. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.0.x Tested-by: Sasha Levin <sasha.levin@xxxxxxxxxx> commit fcaf57b67dd03314ade476b847f246ae377160a8 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Thu Mar 19 18:44:45 2015 +0100 hwmon: (ibmpowernv) do not use the OPAL index for hwmon attribute names The current OPAL firmware exposes the different sensors of an IBM Power system using node names such as : sensors/amb-temp#1-data sensors/amb-temp#1-thrs cooling-fan#1-data cooling-fan#1-faulted cooling-fan#1-thrs cooling-fan#2-data ... The ibmpowernv driver, when loaded, parses these names to extract the sensor index and the sensor attribute name. Unfortunately, this scheme makes it difficult to add sensors with a different layout (specially of the same type, like temperature) as the sensor index calculated in OPAL is directly used in the hwmon sysfs interface. What this patch does is add a independent hwmon index for each sensor. The increment of the hwmon index (temp, fan, power, etc.) is kept per sensor type in the sensor_group table. The sensor_data table is used to store the association of the hwmon and OPAL indexes, as we need to have the same hwmon index for different attributes of a same sensor. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit f9f54f16bfa1bc76d827d4a2c80f72acbee72b05 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Thu Mar 19 18:44:44 2015 +0100 hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype It simplifies the creation of the hwmon attributes and will help when support for a new device tree layout is added. The patch also changes the name of the routine to parse_opal_node_name(). Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit ccc9ac6cc9ff7c845daa930598e96be9bb978ade Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Thu Mar 19 18:44:43 2015 +0100 hwmon: (ibmpowernv) add a convert_opal_attr_name() routine It simplifies the create_hwmon_attr_name() routine and it clearly isolates the conversion done between the OPAL node names and hwmon attributes names. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit c4ad47206425e8f38928413ab35f59bd294ddbc2 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Thu Mar 19 18:44:42 2015 +0100 hwmon: (ibmpowernv) add a get_sensor_type() routine It will help in adding different compatible properties, coming from a new device tree layout for example. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 96124610e9f154135eb6fd9aa7a78ed756ff18a3 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Thu Mar 19 18:44:41 2015 +0100 hwmon: (ibmpowernv) replace AMBIENT_TEMP by TEMP Ambient is too restrictive as there can be other temperature channels : core, memory, etc. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 0b37a9a9ebdf47dc9d5290a1c69bd944dde5cc15 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Mar 20 09:41:03 2015 +0000 drm/i915: Do not leak objects after capturing error state While running kmemleak chasing a different memleak, I saw that the capture_error_state function was leaking some objects, for example: unreferenced object 0xffff8800a9b72148 (size 8192): comm "kworker/u16:0", pid 1499, jiffies 4295201243 (age 990.096s) hex dump (first 32 bytes): 00 00 04 00 00 00 00 00 5d f4 ff ff 00 00 00 00 ........]....... 00 30 b0 01 00 00 00 00 37 00 00 00 00 00 00 00 .0......7....... backtrace: [<ffffffff811e5ae4>] create_object+0x104/0x2c0 [<ffffffff8178f50a>] kmemleak_alloc+0x7a/0xc0 [<ffffffff811cde4b>] __kmalloc+0xeb/0x220 [<ffffffffa038f1d9>] kcalloc.constprop.12+0x2d/0x2f [i915] [<ffffffffa0316064>] i915_capture_error_state+0x3f4/0x1660 [i915] [<ffffffffa03207df>] i915_handle_error+0x7f/0x660 [i915] [<ffffffffa03210f7>] i915_hangcheck_elapsed+0x2e7/0x470 [i915] [<ffffffff8108d574>] process_one_work+0x144/0x490 [<ffffffff8108dfbd>] worker_thread+0x11d/0x530 [<ffffffff81094079>] kthread+0xc9/0xe0 [<ffffffff817a2398>] ret_from_fork+0x58/0x90 [<ffffffffffffffff>] 0xffffffffffffffff The following objects are allocated in i915_gem_capture_buffers, but not released in i915_error_state_free: - error->active_bo_count - error->pinned_bo - error->pinned_bo_count - error->active_bo[vm_count] (allocated in i915_gem_capture_vm). The leaks were introduced by commit 95f5301dd880da2dea2c9a9c29750064536d426a Author: Ben Widawsky <ben@xxxxxxxxxxxx> Date: Wed Jul 31 17:00:15 2013 -0700 drm/i915: Update error capture for VMs v2: Reuse iterator and add culprit commit details (Chris) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 179a5bc4b8cbe68ca675057b960dd805867e41c4 Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Tue Jan 27 16:00:19 2015 +0300 net/9p: use memcpy() instead of snprintf() in p9_mount_tag_show() p9_mount_tag_show() uses '%s' format string to print non-NULL terminated chan->tag string. This leads to out of bounds memory read, because format '%s' implies that string is NULL-terminated. The length of string is know here, so its simpler and safer to use memcpy instead of snprintf(). Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 6250a8badb311953a49bedb16ed17eb59d21c03a Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Dec 30 02:48:09 2014 +0200 9p: use unsigned integers for nwqid/count As specification says, all integers in messages are unsigned. Let's fix behaviour of p9pdu_vreadf()/p9pdu_vwritef() accordingly. Fix for p9pdu_vreadf() is critical. If server replies with Rwalk, where nwqid > SHRT_MAX, the value will be interpreted as negative. kmalloc, in its order, will cast the value to (very big) size_t. It should never happen in normal situation: we never submit Twalk with nwname > 16, but malicious or broken server can still produce problematic Rwalk. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit b642f7269bd40ae9abe9cff01581b2eb5e2c2287 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Mon Dec 29 15:00:19 2014 +0200 9p: do not crash on unknown lock status code Current 9p implementation will crash whole system if sees unknown lock status code. It's trivial target for DOS: 9p server can produce such code easily. Let's fallback more gracefully: warning in dmesg + -ENOLCK. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit ad80492df56b4bd2d4da9990678d87b66af42f54 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Mon Dec 29 15:00:18 2014 +0200 9p: fix error handling in v9fs_file_do_lock p9_client_lock_dotl() doesn't set status if p9_client_rpc() fails. It can lead to 'default:' case in switch below and kernel crashes. Let's bypass the switch if p9_client_lock_dotl() fails. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 9bfc52c1091c871cbc58390874b5c4ebe266bee0 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Oct 23 18:19:35 2014 +0200 9p: remove unused variable in p9_fd_create() p is initialized but unused. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit e8782e2fbcb5c1c8823a733a985a2896a1450334 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Jul 4 20:28:44 2014 +0200 9p: kerneldoc warning fixes options argument was removed from v9fs_session_info in commit 4b53e4b50077 ("9p: remove unnecessary v9fses->options which duplicates the mount string") iov and nr_segs were removed from v9fs_direct_IO in commit d8d3d94b80aa ("pass iov_iter to ->direct_IO()") Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx> Cc: Ron Minnich <rminnich@xxxxxxxxxx> Cc: Latchesar Ionkov <lucho@xxxxxxxxxx> Cc: v9fs-developer@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 1913c6f4488eef9f0ac38702eacf6921290e2400 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Mar 3 22:08:03 2015 +0800 README: Change gzip/bzip2 to xz compression format Kernel.org is only hosting patches and kernel compressed with xz, so change the old gzip/bzip2 instances to xz. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 49d86dc92c6edc1ed674dca623d1e55d95e0c877 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Tue Feb 24 20:22:56 2015 -0800 README: Update version number reference When 4.0 is released, the README should reflect the new numbering. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 654d2e7cd18b8acc4e2accdcc0c1eadb8d786722 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Mar 19 00:29:30 2015 +0900 doc:pci: Fix typo in Documentation/PCI This patch fix spelling typo in Documentation/PCI. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9ceae1da5027818b4dfd95e4a43fb52552c5fffb Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Mar 16 18:24:46 2015 +0000 Documentation: drm: Use '->' when describing access through pointers. The documentation is trying to describe accessing a field through a pointer, but it is using '-<' instead of '->'. Fix that. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 8962786ce3d91003bdd3f7c6bda2ee3641d66770 Author: Leonid V. Fedorenchik <leonidsbox@xxxxxxxxx> Date: Fri Mar 13 23:53:22 2015 +0300 Documentation: Remove mentioning of block barriers Remove mentioning of block barriers since they were removed. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Leonid V. Fedorenchik <leonidsbox@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d50ca07863eb42ab5acb11ae6b2241c3db875061 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Mon Mar 9 03:53:45 2015 +0200 Documentation/email-clients.txt: Fix one grammar mistake, add extra info about TB Fix one grammar mistake (Allows->Allow) and add extra information about the external editor add-on of Thunderbird: the developer must make sure that their editor doesn't fork (IOW it mustn't return before closing) thus they should be careful how they configure the addon. Furthermore, add a tip how to do it with gvim. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> [jc: some minor wording/formatting tweaks] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 080684c88ac194dffee4228bb073af61b67ebfaf Author: Li Bin <huawei.libin@xxxxxxxxxx> Date: Thu Mar 5 09:48:31 2015 +0800 kprobes: Update Documentation/kprobes.txt The patch 125e564("Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig") had removed the "Instrumentation Support" menu, and the configurations under this had be moved to "General setup". Update Documentation/kprobes.txt to reflect this change. Signed-off-by: Li Bin <huawei.libin@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 80b6f38be29ad12abc30148211558384196a8b1f Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Tue Mar 3 11:07:15 2015 +0100 Documentation: i2o: remove duplicate documentation We can remove the i2o documentation because a) the subsystem has been moved to staging with commit 2cbf7fe2d5d32a (i2o: move to staging) anyhow and b) the here removed files are present in the subsystem directory again. There, README even has an additional paragraph and the ioctl docs only differ in whitespaces. Well... Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 09207bae60370011ce80866c37ae59f1397eea6d Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Mon Mar 2 07:28:40 2015 +0000 Documentation: update the CONFIG_DEBUG_PAGEALLOC description The CONFIG_DEBUG_PAGEALLOC option now is located under "Kernel hacking" / "Memory Debugging" / "Debug page memory allocations". so we should update the description in kmemcheck.txt. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 8243338058b078b1c0a2892ba02f41f91e47e348 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Mon Mar 2 02:20:45 2015 +0000 mem-hotplug: fix typo in Documentation/memory-hotplug.txt Fix a trivial typo in Documentation/memory-hotplug.txt. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d181b71c3ef4f9b5edaf61125715d697540eca62 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 15:26:06 2015 +0100 doc: printk-formats: Fix %pU description The documentation and the code disagrees; fix the former. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 2f9d7389b5e243abd0c42995a703c4f7cf535af4 Author: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Date: Fri Feb 27 12:55:16 2015 +0100 MSI-HOWTO.txt: remove reference on IRQF_DISABLED The IRQF_DISABLED is a NOOP and scheduled to be removed. According to Ingo Molnar in commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922 (genirq: Run irq handlers with interrupts disabled), running IRQ handlers with interrupts enabled can cause stack overflows when the interrupt line of the issuing device is still active. This patch removes IRQF_DISABLED from this documentation. It was mentioned to be a solution to avoid deadlocks when a device uses multiple interrupts. As the flag is a NOOP this solution does not work anymore. Signed-off-by: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9ddfa69fb073081882505a4f69d3f0c344d9bcaf Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Thu Feb 26 23:34:36 2015 +0200 doc: add information about max_ptes_none max_ptes_none specifies how many extra small pages (that are not already mapped) can be allocated when collapsing a group of small pages into one large page. /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_none A higher value leads to use additional memory for programs. A lower value leads to gain less thp performance. Value of max_ptes_none can waste cpu time very little, you can ignore it. Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d0724961552f2b7da89e4b822b985f3c9fd13b79 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Thu Feb 26 03:28:25 2015 +0000 Documentation: add print bitmap description as the commit: "lib/vsprintf: implement bitmap printing through '%*pb[l]'" add an easy way to print bitmaps. so printk-formats.txt should reflect it. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 5e790610bc19887387d5914cf8ed58434c5bde08 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:53 2015 -0400 staging: unisys: fix CamelCase names in parser_init() Fix CamelCase names: isLocal => local tryAgain => retry Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48e81485527612dbab926ab6e4fc73770f856f56 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:52 2015 -0400 staging: unisys: refactor parser_init_guts() Fix CamelCase names: isLocal => local hasStandardPayloadHeader => standard_payload_header tryAgain => retry Away => cleanup Fix spacing after typecasts, add missing braces to the if statement, and eliminate the NULL comparison by just using the pointer value directly. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 317d9614a980fedfe89408030bdd92cc0f4d0dc4 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:51 2015 -0400 staging: unisys: remove typedef for PARSER_CONTEXT Convert all references to PARSER_CONTEXT into struct parser_context. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a18c634275de6039c0bc7a3a077ab9e817c28ce9 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:50 2015 -0400 staging: unisys: fix CamelCase variable Controlvm_Payload_Bytes_Buffered Fix camelcase name: Controlvm_Payload_Bytes_Buffered => controlvm_payload_bytes_buffered Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d8dbdbfeda40b8cf58abed84be1ae2231215862 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:49 2015 -0400 staging: unisys: clean up NULL compares in virtpci.c Remove unnecessary NULLs by just using the pointer value directly. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c394650650b0fc91aebfef601c5a427ef387bb72 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:48 2015 -0400 staging: unisys: remove unnecessary complication from delete_vbus_device Take out the variable used to compute a comparison against NULL, and just use the parameter directly. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 911e213ea30c119ec0ae8255de5e7c85f85a867b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:47 2015 -0400 staging: unisys: fix CamelCase global Poll_jiffies Fix the name and references: Poll_jiffies => poll_jiffies Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56215add6f136bf85881a12fd7b625868fe43de0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:46 2015 -0400 staging: unisys: fix CamelCase in virthba_probe() Rename CamelCase local variable: Features_addr => features_addr Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5af3b098c3ce7c537c5687fb1260fa37ca195a8f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:45 2015 -0400 staging: unisys: cleanup NULL comparisons in virthba.c Fix all comparisons to NULL so that they don't use NULL anymore. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc11a550d027bd381e0e54618f99d2f8285bbb6f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:44 2015 -0400 staging: unisys: clean up NULL comparisons in visorchannel_funcs.c Correct all comparisons with NULL so that NULL isn't needed. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82fdb8dd11851b4c12da78c4626740c83bc3fc2d Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Mon Mar 16 23:01:44 2015 +0100 staging/goldfish/goldfish_audio: Fix annotations dmam_alloc_coherent does not return a __iomem pointer. here is its prototype: void * dmam_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp) This fixes these sparse warnings: drivers/staging/goldfish/goldfish_audio.c:134:43: warning: incorrect type in argument 2 (different address spaces) drivers/staging/goldfish/goldfish_audio.c:134:43: expected void const *from drivers/staging/goldfish/goldfish_audio.c:134:43: got char [noderef] <asn:2>*read_buffer drivers/staging/goldfish/goldfish_audio.c:167:36: warning: incorrect type in argument 1 (different address spaces) drivers/staging/goldfish/goldfish_audio.c:167:36: expected void *to drivers/staging/goldfish/goldfish_audio.c:167:36: got char [noderef] <asn:2>*[assigned] kbuf drivers/staging/goldfish/goldfish_audio.c:296:27: warning: incorrect type in assignment (different address spaces) drivers/staging/goldfish/goldfish_audio.c:296:27: expected char [noderef] <asn:2>*buffer_virt drivers/staging/goldfish/goldfish_audio.c:296:27: got void * Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27682407cc573ea3bd5fd195528a69c901f16b64 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Wed Mar 18 21:29:10 2015 +0200 MAINTAINERS: change Arve's last name encoding to UTF-8 All other non ASCII names in this file are also UTF-8 encoded. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bc88f63d7af89831fac82b67625f3e19156abba Author: Ravindran, Madhusudhanan (M.) <mravindr@xxxxxxxxxxx> Date: Fri Mar 13 13:12:37 2015 +0000 staging: netlogic: allocate right size in devm_kzalloc sizeof when applied to a pointer typed expression gives the size of the pointer. The semantic patch that makes this change is available in scripts/coccinelle/misc/noderef.cocci. Signed-off-by: Madhusudhanan Ravindran <mravindr@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 877945759df5ff6e7fb434cb5b6cddb606c2f66f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:59:08 2015 +0100 Staging: octeon: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11dd0360cf882182d780eb9941cde404a4e21034 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Mar 11 22:52:54 2015 -0500 staging: fsl-mc: Corrected email addresses in TODO file Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e9adfbcaae9b5245517143c900f8873715a6059 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:15 2015 +0000 staging: comedi: comedi_pci.h: move PCI stuff out of comedidev.h Move the PCI-specific stuff out of "comedidev.h" into "comedi_pci.h". Comedi PCI drivers now include "comedi_pci.h" instead of "comedidev.h", which now gets pulled in indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ab38b050fa69092aa1de0106800571ae2b753fa Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:14 2015 +0000 staging: comedi: s626: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fca154cf382922e25f73b668a6fc25b228f3f66 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:13 2015 +0000 staging: comedi: rtd520: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 069724326bbbff81ac5d37425068eb060d190416 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:12 2015 +0000 staging: comedi: ni_pcmmio: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a5f650e602f56591a96a9d74fd480ae4f42dcd6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:11 2015 +0000 staging: comedi: ni_pcmdio: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fffd65dc45d2c8c4816f191c29319afb59fb016e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:10 2015 +0000 staging: comedi: ni_labpc_pci: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29321b5546f15167cdadee0d17c14debcb476e7c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:09 2015 +0000 staging: comedi: ni_670x: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6c760b1a715c18e7599d6848bb120e8f9032273 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:08 2015 +0000 staging: comedi: ni_660x: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b9c3d1436acff25350fa47c2ccf6a115d3d6c68 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:07 2015 +0000 staging: comedi: ni_65xx: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bacde880494c3757ee6f9dce81c0fdfbc72de62 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:06 2015 +0000 staging: comedi: ni_6527: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 776d0d3d0aac82286431a71cbbf82fee935ab99b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:05 2015 +0000 staging: comedi: mite.h: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4953d2c25a81fb21ac94b56ff5b72de2abb2680b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:04 2015 +0000 staging: comedi: mite.c: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31ba5981c99617f632f4c4605b78cb872d19a4fb Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:03 2015 +0000 staging: comedi: mf6x4: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b33e841ef8aea4a425294d366ee023e5e27cc14c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:02 2015 +0000 staging: comedi: me_daq: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2e8e2853e28d8bb99d0d7613af00ba7642f6ad4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:01 2015 +0000 staging: comedi: me4000: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f13d862cab2ee604475a6425a7e5a741167296c5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:00 2015 +0000 staging: comedi: ke_counter: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4c296dcd458145467711de58da609a1cef07f11 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:59 2015 +0000 staging: comedi: jr3_pci: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16947f226a8899e3d61bcf8ae66e5336c5c7af9d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:58 2015 +0000 staging: comedi: icp_multi: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b806b175eda0de2fb74add45b14eee967e2bf7c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:57 2015 +0000 staging: comedi: gsc_hpdi: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ca7653efa34b3ed4ebd6ce43eed23b5deb4d4de Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:56 2015 +0000 staging: comedi: dyna_pci10xx: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a432e1b566c7cfa6e9f093ff7dbbcff886dabafb Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:55 2015 +0000 staging: comedi: dt3000: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0483a811cf11d1e58989368a201fe1fd548d424f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:54 2015 +0000 staging: comedi: das08_pci: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dde50ca454097f3d0095e16208e70ee3768cfd45 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:53 2015 +0000 staging: comedi: daqboard2000: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c1b6627061a8bcace7b58abae609b0741d05cd1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:52 2015 +0000 staging: comedi: contec_pci_dio: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf5a5c0b2f2c7ea5a6f063d5e59e2b3ec575caaa Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:51 2015 +0000 staging: comedi: cb_pcimdda: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b062252d214d50a798ca0a3910f775ee6bcac670 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:50 2015 +0000 staging: comedi: cb_pcimdas: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2e075f611059f7055dc962c195e7d98585de733 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:49 2015 +0000 staging: comedi: cb_pcidda: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29e0a3db395e98a2f79555bbd4101c431e460102 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:48 2015 +0000 staging: comedi: cb_pcidas: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 326406806cd0f69cccf3a526b6297ab4b9f97e38 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:47 2015 +0000 staging: comedi: cb_pcidas64: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61873d0a1b29fa10f0c679ee9c64defb4c6a1f06 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:46 2015 +0000 staging: comedi: amplc_pci263: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17decabfabb4d5e344e06b2c9725b1aa6cc671e0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:45 2015 +0000 staging: comedi: amplc_pci236: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d23c28c23b99e8d813248143f65d22b78a9826f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:44 2015 +0000 staging: comedi: amplc_pci230: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3c8b18850617b29f564c16f1cfad72c5bd1ad6b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:43 2015 +0000 staging: comedi: amplc_pci224: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffe06e04bdc978ff529d464525711639530c08fc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:42 2015 +0000 staging: comedi: amplc_dio200_pci: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f22dadd43619ba7d5e536dc750e7ab95481e032 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:41 2015 +0000 staging: comedi: adv_pci_dio: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 654f5cd1249a31bb4b616e54cbc20fce6b9ccdb7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:40 2015 +0000 staging: comedi: adv_pci1724: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b15c14b3fab1a3bf78d2dd1e63dcd010015e7f1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:39 2015 +0000 staging: comedi: adv_pci1723: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a12d9681b39fd9a221199e6ebb143ae61efc412 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:38 2015 +0000 staging: comedi: adv_pci1710: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2ad146af57a9e0eb758c75b32e09091fff00a73 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:37 2015 +0000 staging: comedi: adl_pci9118: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b60535d70d8dacabe767af2196534c33284e60cf Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:36 2015 +0000 staging: comedi: adl_pci9111: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87ac3c9e9924fa80af831dd83ba5c89741fde9fc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:35 2015 +0000 staging: comedi: adl_pci8164: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28b574841c188852c09f6fcf0d3444614e1e65cc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:34 2015 +0000 staging: comedi: adl_pci7x3x: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80a324c7765bb5912de87fa7ace3dc58f7d44a7e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:33 2015 +0000 staging: comedi: adl_pci6208: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d669e563a2f772067c04fe457bbbb94e41b908b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:32 2015 +0000 staging: comedi: addi_apci_3xxx: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed9c2cfc7ea7d24b424a305b3ad9d7057015d60c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:31 2015 +0000 staging: comedi: addi_apci_3501: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8c0a0ac0d3276e5c1c3e46865c582285e026e15 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:30 2015 +0000 staging: comedi: addi_apci_3120: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e99da194b9e3197fecb89b273f4feaea750a165 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:29 2015 +0000 staging: comedi: addi_apci_2200: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66a630cad62feea5f89b526bac32da8b51efe7b6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:28 2015 +0000 staging: comedi: addi_apci_2032: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cebdf0dd989bbf11cb0ec8403b5d3511583c749e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:27 2015 +0000 staging: comedi: addi_apci_16xx: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 526a8e3b279cfd6a92d7146b769d023e841f9852 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:26 2015 +0000 staging: comedi: addi_apci_1564: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfa3c585989da88c51ecee949e64fe33dbf6e05f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:25 2015 +0000 staging: comedi: addi_apci_1516: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c2302e687cf36f9b4fe55269ecdb5fa967c1d0a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:24 2015 +0000 staging: comedi: addi_apci_1500: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 670afd26b1eec7b88832a367b9b676d7e8b69722 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:23 2015 +0000 staging: comedi: addi_apci_1032: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7215a28471c6b78390965b660d079249d5996c26 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:22 2015 +0000 staging: comedi: 8255_pci: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b39675a3a1730ea4bd00be92271027474908d19 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:21 2015 +0000 staging: comedi: comedi_pci.c: include new "comedi_pci.h" header Include the new "comedi_pci.h" header instead of <linux/pci.h> and "comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e62c1d5cdf5184ce5b09a5547483846e8d672566 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:20 2015 +0000 staging: comedi: add comedi_pci.h Add a new header that Comedi PCI drivers can include instead of "comedidev.h". Currently, it just pulls in <linux/pci.h> and "comedidev.h", but the plan is to migrate the PCI-specific stuff from "comedidev.h" here. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dec8c37818a26869ba5cdf0b1033eeb9296dc2fb Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Mar 9 20:08:25 2015 +0530 staging: panel: remove initialization check no need to monitor init_in_progress now as keypad_send_key() can only be called after the timer is initialized. and timer is initialized from keypad_init() which is in the attach section and can only execute after the module has initialized. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e134201b7a27eaf1ce3affe39ea6f30a1a747186 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Mar 9 20:08:24 2015 +0530 staging: panel: return register value we were returning success even if the module failed to register. now we are returning the actual return value, success or error. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb046fef9668baf1c4744a3c7aba05e15e44c9ac Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Mar 9 20:08:23 2015 +0530 staging: panel: register reboot we donot need the reboot notifier in module init section, as the notifier is used after lcd is initialized. so lets register for the reboot notifier only after we have successfully attached to the parallel port. and similarly unregister at detach. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de99befd18c10d8085182a1facbb4b8760b2b6fe Author: Ragavendra Nagraj <ragavendra.bn@xxxxxxxxx> Date: Wed Mar 18 02:37:42 2015 -0700 staging: sm750fb: Fixed no space and indent warns This patch fixes the no spaces and indent warnings identified by the checkpath.pl script for the entire ddk750_chip.c file by using appropriate tab spaces and indents accordingly. Signed-off-by: Ragavendra Nagraj <ragavendra.bn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a9df4303b2325a7ed3c44fbf4f8878798fb2c94 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Mon Mar 16 11:51:09 2015 +0100 staging/sm75fb: Declare static functions as such This patch fixes this sparse warning CHECK drivers/staging/sm750fb/ddk750_swi2c.c drivers/staging/sm750fb/ddk750_swi2c.c:223:6: warning: symbol 'swI2CStart' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_swi2c.c:234:6: warning: symbol 'swI2CStop' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_swi2c.c:252:6: warning: symbol 'swI2CWriteByte' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_swi2c.c:320:15: warning: symbol 'swI2CReadByte' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_swi2c.c:361:6: warning: symbol 'swI2CInit_SM750LE' was not declared. Should it be static? Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71ce762feb382d25e8a20f88503009fee47a7e92 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Mar 8 23:10:11 2015 +0530 staging: sm7xxfb: change return of sm7xx_vga_setup change return type of sm7xx_vga_setup() to void as we are not using the return type anywhere. if this function fails we fall back to the default configuration. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0f37e658cd8fcedea81aa1bd742f27cd1f707ec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Mar 8 23:10:10 2015 +0530 staging: sm7xxfb: remove unneeded __setup as we start to use kernel boot parameters and fb_get_options() we donot need to use __setup() any more. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c65434eb265393ea1741953621559c61bba56062 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Mar 8 23:10:09 2015 +0530 staging: sm7xxfb: use module init and exit use module_init() and module_exit() instead of module_pci_driver and at the same time make way for use of kernel boot parameters. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3e5df43488f7c6c5e91578ec9c7fdda5cd36167 Author: Peter Poklop <peter.poklop@xxxxxxxxx> Date: Wed Mar 18 20:15:57 2015 +0100 Staging: fbtft: add declaration of non-static functions This patch fixes these sparse warnings: drivers/staging/fbtft/fbtft-sysfs.c:23:5: warning: symbol 'fbtft_gamma_parse_str' was not declared. Should it be static? drivers/staging/fbtft/fbtft-sysfs.c:153:6: warning: symbol 'fbtft_expand_debug_value' was not declared. Should it be static? drivers/staging/fbtft/fbtft-sysfs.c:209:6: warning: symbol 'fbtft_sysfs_init' was not declared. Should it be static? drivers/staging/fbtft/fbtft-sysfs.c:216:6: warning: symbol 'fbtft_sysfs_exit' was not declared. Should it be static? Signed-off-by: Peter Poklop <peter.poklop@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a938a8cef9abad2ae13e6a48329f5119930b0d6 Author: Ravindran, Madhusudhanan (M.) <mravindr@xxxxxxxxxxx> Date: Mon Mar 16 15:36:41 2015 +0000 staging: fbtft: Fix potential null dereference This error is found by smatch tool. Signed-off-by: Madhusudhanan Ravindran <mravindr@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa5735f139f84a3d1e4ef4d0ba177a25372506fb Author: Madhusudhanan Ravindran <mravindran04@xxxxxxxxx> Date: Sun Mar 8 10:26:30 2015 +0530 staging: fbtft: Use kmemdup rather than duplicating its implementation The semantic patch that makes this change is available in scriptcoccinelle/api/memdup.cocci. Signed-off-by: Madhusudhanan Ravindran <mravindran04@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9954896a286393522a851731c46caba1f7bca19 Author: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Date: Fri Feb 13 18:05:34 2015 -0800 ion: improve ion_phys error message Clients often get confused when ion_phys errors out due to some heap being used that they didn't expect. Add the heap name and heap type to the error message to make it more obvious. Signed-off-by: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d38f486142b6edf3dfd3407d8f0e8a55309a9e41 Author: Abdul Hussain S <hussain.abdul@xxxxxxxxxxx> Date: Wed Mar 18 14:46:00 2015 +0530 staging: i2o: Use kstrdup rather than duplicating its implementation The semantic patch that makes this change is available in scripts/coccinelle/api/kstrdup.cocci Signed-off-by: Abdul Hussain S <hussain.abdul@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a48a091962ec4f96c12038d11a15998ec28017b Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Thu Mar 19 23:09:43 2015 +0200 Staging: vt6655: changed C99 // comments // erased and replace it with /**/ used. Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20ff1418d3936f76df24f5694c6b5eb9179a565f Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Mar 14 01:34:41 2015 +0300 staging: vt6656: don't return zero on failure path in vt6656_probe() If ieee80211_alloc_hw() fails in vt6656_probe(), it breaks off initialization, but returns zero. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1c6dcda80f6dbb3e9b78809235695e8828994f9 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Thu Mar 19 14:18:56 2015 +0100 staging: vt6655: remove deprecated use of pci api Replace occurences of the pci api by appropriate call to the dma api. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @deprecated@ idexpression id; position p; @@ ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @bad1@ idexpression id; position deprecated.p; @@ ...when != &id->dev when != pci_get_drvdata ( id ) when != pci_enable_device ( id ) ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @depends on !bad1@ idexpression id; expression direction; position deprecated.p; @@ ( - pci_dma_supported@p ( id, + dma_supported ( &id->dev, ... + , GFP_ATOMIC ) | - pci_alloc_consistent@p ( id, + dma_alloc_coherent ( &id->dev, ... + , GFP_ATOMIC ) ) Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 875887c3086a6e130beb73cd12b737c1296eb946 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Mar 20 12:47:51 2015 +0530 Staging: ste_rmi4: Use SIMPLE_DEV_PM_OPS() macro Macro SIMPLE_DEV_PM_OPS() can be used when same suspend and resume callbacks are used for suspend to RAM and hibernation. So, here use SIMPLE_DEV_PM_OPS to make code shorter and cleaner. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa6432f122434a79253b07c87f292eff982bd71e Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 19 21:07:51 2015 +0200 Staging: iio: Remove line over 80 characters Rename variable in order to fix the 80 characters per line warning. Found by checkpatch.pl Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccc5fbe09028bbb66185ecc38830f3fbd2c9c6e3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 19 21:07:18 2015 +0200 Staging: iio: Remove multiple blank lines This patch removes blank uneeded lines in order to remove the folowing checkpatch.pl warning: "Please don't use multiple blank lines". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7079f21b660cc9ac2ce6d6005af3b2fd8638d61c Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 19 21:06:42 2015 +0200 Staging: iio: Align function parameters to match first row This patch improves coding style by aligning parameters in iio/magnetometer function calls, to remove the following warning: "CHECK: Alignment should match open parenthesis". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fb163f49ed3b3836f6835f06a5ef9afbabb9c24 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 19 21:04:42 2015 +0200 Staging: iio: Simplify NULL pointer condition Replace NULL comparrison with its shorter form. Done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 971fb3e55feeafe5182c283a39f1f39d0d705b99 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Jan 18 01:12:59 2015 +0200 drm: omapdrm: Reorder CRTC functions The next commit will need functions to be reordered. Do it separately to help review. This only moves functions without any change to the code. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 87bb2ef15b0fbb91e9ea2d56ef5100e47439e11d Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Jan 17 23:12:38 2015 +0200 drm: omapdrm: Planes are already disabled when destroyed Planes are destroyed after framebuffers, which has the side effect of disabling all planes. There is thus no need to disable planes explicitly when destroying them. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit a350da8be4d91e733ec8cb225e5edefa8b085167 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Jan 17 22:31:42 2015 +0200 drm: omapdrm: Pass integer source coordinates to omap_plane_mode_set() The function will convert the Q16 source coordinates to integers, avoid converting integers to Q16 first and perform the opposite conversion. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 2a438c5b4e398e42cdc8aa2d16badc6fbcf8aeb5 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Jan 17 18:50:10 2015 +0200 drm: omapdrm: Prefix all plane functions with omap_plane_ This matches the rest of the file and clarifies the functions' purpose. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 8472b5708ebaabf4568fe53672db7567e94c4c65 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Jan 15 00:45:17 2015 +0200 drm: omapdrm: Avoid function forward declaration in omap_crtc.c Move the set_enabled function to avoid the forward declaration. While at it prefix it with omap_crtc_ like most other functions in the file, and fix the comment stating in which contexts the function is called. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 297767b68146f2355dfb10cb57185bef7769dfd9 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Jan 15 00:31:11 2015 +0200 drm: omapdrm: Remove omap_crtc->full_update field The full_update field is always set to true before calling omap_crtc_appy(), resulting in its value always being true in the single location where it is tested, in omap_crtc_pre_apply(). Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 5a35876e2830511cb8110667fc426c6a6165a593 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jan 14 17:54:40 2015 +0200 drm: omapdrm: Remove manual update display support All the manual update display code implements eventually ends up to just calls to omap_connector_flush(), currently implemented as an empty TODO stub. Remove it, the code can always be revived and implemented later if interest in manual update displays becomes a reality. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 5dbe44336811a7e8ef4c958c6ac054772ee47637 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jan 13 09:14:53 2015 +0200 drm: omapdrm: Fix race condition between GO and vblank IRQ The vblank interrupt is used by the driver as a completion signal when applying new settings. A race condition exist between enabling the vblank interrupt and applying new settings to the hardware by setting the GO bit. If a vblank interrupt occurs in-between, the driver will incorrectly consider the new settings to be applied. Fix this by enabling the interrupt after setting the GO bit. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 82e58855bc4f8442145cb2037e164a4b1f5cf854 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jan 12 23:56:57 2015 +0200 drm: omapdrm: Reset the zorder property when disabling a plane Whether to reset plane properties at disable time isn't well-defined in DRM, but resetting only part of them is probably as bad as it can get. Make the behaviour coherent by resetting the zorder property in addition to the rotation property. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 2debab97a515374c01d50068de00c95f9befd260 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jan 12 22:38:16 2015 +0200 drm: omapdrm: Rename omap_plane_dpms() to omap_plane_set_enable() The planes don't care about DPMS states, don't propagate it unnecessarily to the plane functions. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit ef6b0e0275387f79e6ad848d61dfcb1a4f962fc7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Jan 11 00:11:18 2015 +0200 drm: omapdrm: Switch to the universal plane API Remove the CRTC private planes by switching to the universal plane API. This results in a merge of the CRTC private plane created by the driver (omap_crtc->plane) and the CRTC primary plane created by the DRM core (crtc->primary). Reference counting of the framebuffers in the update plane operation is thus simplified as no reference needs to be stored in the private plane anymore. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 9c660b7ceb0f104c72c4857e9c3619819d387f1d Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jan 12 16:44:03 2015 +0200 drm: omapdrm: Remove unused variables The ilace variable is unused and the replication variable is assigned to false and just passed to a function. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit fb9a35f89fac2ca97597ce212439d2997f2caf7e Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Jan 11 16:30:44 2015 +0200 drm: omapdrm: Refactor CRTC creation code Create a omap_modeset_create_crtc() function to avoid duplicating plane and CRTC creation code. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 222025e42d7f77133b8c3a2355d20a6004096c4b Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Jan 11 00:02:07 2015 +0200 drm: omapdrm: Fix indentation of structure and array initializers Indenting by one tab is enough. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 2c4b2980ae16a2d8d35f126ddb9fbcba809e2612 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Mar 19 13:25:20 2015 +0530 Staging: rtl8188eu: Remove extern as it is defined but never used RTW_WPA_VERSION is removed as is declared and defined but never used in the code. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 680355f3d49624fc9bd9a7d40857b04e74c6c264 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Mar 19 13:25:12 2015 +0530 Staging: rtl8188eu: Remove unused macros These macros are defined but never used in the code. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ce019df9bf983caa65643e1589b96fef47cb35b Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Mar 19 13:25:06 2015 +0530 Staging: rtl8188eu: Remove unused extern declarations. These externs are defined but not used anywhere in the code. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 127883b803c7c602a348c49963b4b10cd2d21e92 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Mar 19 03:14:15 2015 +0530 Staging: rts5208: Add new variable idx to shorten line length and increase readability Add new variable idx to shorten line length of other statements and increase readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ef4ec4a653c2fb71d70e5c23bf2f37253b5da01 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Mar 19 02:26:58 2015 +0530 Staging: rts5208: Introduce a new variable to shorten line length and increase readability The variable block_no is introduced so as to shorten line length in the long assignment statement and increase readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae89faccc6bae384f10a0efd7fec001e89b15e63 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 18 23:13:10 2015 +0530 Staging: speakup: Use module_spk_synth Macro module_spk_synth can be used for speakup drivers whose init and exit paths does only module registrations. So, here remove some boilerplate code by using module_spk_synth. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c950a892cc302336d2a0900eba6d40ac0fb7cacb Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 18 23:13:04 2015 +0530 Staging: speakup: Add helper macro for spk_synth boilerplate For simple modules that contain a single spk_synth without any additional setup code then ends up being a block of duplicated boilerplate. This patch adds a new macro, module_spk_synth(), which replaces the module_init()/module_exit() registrations with template functions. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6b43c2e85c631a05ab8aece0cbde5e12deb0701 Author: Sven Dziadek <sven.dziadek@xxxxxx> Date: Thu Mar 19 20:42:48 2015 +0100 Staging: wlan-ng: hfa384x: wrap long line This fixes the coding style issue "line over 80 characters" found by checkpatch.pl Signed-off-by: Sven Dziadek <sven.dziadek@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fb0885504cc029bd48877fa89ba91c33c0110b5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:12 2015 +0100 power: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> [for vexpress] Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a087146c72bad795bcab80e5987c5b80fa225000 Author: Brian Russell <brian.russell@xxxxxxxxxxx> Date: Thu Mar 19 17:55:26 2015 +0000 uio: Request/free irq separate from dev lifecycle Separate irq request/free from the device lifecycle. After device unregister the parent module can call pci_disable_msi. >From the PCI MSI how to: "Before calling this function, a device driver must always call free_irq() on any interrupt for which it previously called request_irq(). Failure to do so results in a BUG_ON(), leaving the device with MSI enabled and thus leaking its vector." So we need to separately free the irq at unregister to allow the device to be kept around in the case of it still having open FDs. Signed-off-by: Brian Russell <brussell@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8f4f33a4f8e5bd0e6b46f29ac74082d0684d9e3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:58 2015 +0100 staging: rtl8192e: remove CURRENT_RATE macro CURRENT_RATE macro is used only once in driver. This patch removes it and adds rtllib_current_rate() static function in file using that macro Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e48617a48c26aae074b99c939740597206955093 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:57 2015 +0100 staging: rtl8192e: remove eqMacAddr macro Remove eqMacAddr macro and replace it with ether_addr_equal_unaligned() Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34fff6db29eac1f0c48ff3ab95db9b24ffd6c51a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:56 2015 +0100 staging: rtl8192e: rtllib.h: remove duplicated container_of This macro is already defined in kernel.h - there is no need to redefine it. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e4eb9fdf2a1188cd4fce1945a5ba8c65fe91498 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:55 2015 +0100 staging: rtl8192e: remove unused macros Several (unused) macros were removed from driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7527cf3710b82a07bbc608e91b7de0c2696bf74a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:54 2015 +0100 staging: rtl8192e: remove dead code Remove commented-out unions and enum. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b979cda818948e4994fd2ab4081c129cc6194a5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:53 2015 +0100 staging: rtl8192e: remove rtllib_endianfree.h rtllib_endianfree.h was not used (only included) Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d69d20549be9e44b928d5f857898fe7432deeaac Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:52 2015 +0100 staging: rtl8192e: fix coding style warnings (printk -> netdev_*) Use netdev_*, dev_* or pr_* instead of printk where possible. KERN_DEBUG messages are left intact as pr_dbg has different behaviour. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2729011c40ba0bde6ad5381fa84775fff7456c1a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:51 2015 +0100 staging: rtl8192e: rtllib_wx: remove duplicate messages Some messages were reported with netdev_* macros and internal driver-specific macro. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3325721d36d4cad6a44f8dc97591ff213f1a8d8a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:50 2015 +0100 staging: rtl8192e: fix coding style errors (macros in parentheses) Fix checkpatch.pl errors 'Macros with complex values should be enclosed in parentheses'. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc986e3ed39830df78a24e5053b3c05acd6f0527 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:49 2015 +0100 staging: rtl8192e: fix coding style issues (spaces before semicolon) Fix checkpatch.pl warning 'space prohibited before semicolon'. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0822339b52f6ea3f20b602362864f2a7ab9d3f7f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:48 2015 +0100 staging: rtl8192e: fix coding style issues (merge broken strings) Fix checkpatch.pl warnings: - 'WARNING: quoted string split across lines' - 'WARNING: break quoted strings at a space character' Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5133e75171d6b503b2491b882e00365515c6a81 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Thu Mar 19 22:32:30 2015 +0200 Staging: rtl8192u: Remove unnecessary spaces Fix checkpatch.pl issues with "unnecessary whitespace before a quoted newline" in r819xU_phy.c Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7078db9dffde19f4ea82acb0c2d8a9f81531e15a Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Mar 18 15:26:05 2015 +0200 staging: prism2sta: Replace memcpy with ether_add_copy Replace memcpy() with ether_addr_copy() since addresses are __aligned(2). The 2 structures are aligned to u16 as showed below: typedef struct hfa384x_authenticateStation_data { u8 address[ETH_ALEN]; /* 0 6 */ u16 status; /* 6 2 */ u16 algorithm; /* 8 2 */ } __packed hfa384x_authenticateStation_data_t; Total size: 10 typedef struct hfa384x_AuthRequest { u8 sta_addr[ETH_ALEN]; /* 0 6 */ u16 algorithm; /* 6 2 */ } __packed hfa384x_AuthReq_t; Total size: 8 Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc5d82a9febb28aa9126f9a864eb212317e4ede6 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Mar 19 17:22:25 2015 -0700 Bluetooth: Use HCI_MAX_AD_LENGTH constant instead hardcoded value Using the HCI_MAX_AD_LENGTH for the max advertising data and max scan response data length makes more sense than hardcoding the value. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 039ab50bda5606307138b1baa1f18c7e33d357e4 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 16 22:27:08 2015 +0100 power/reset/rmobile-reset.c: Fix !HAS_IOMEM build Fixes: drivers/power/reset/rmobile-reset.c: In function â??rmobile_reset_probeâ??: drivers/power/reset/rmobile-reset.c:61:2: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(sysc_base2); Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e7844ee599c3eb944c3bd0092d715ca86e76a1f3 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Mar 18 16:15:07 2015 -0700 Bluetooth: Gracefully response to enabling LE on LE only devices Currently the enabling of LE on LE only devices causes an error. This is a bit difference from other commands where trying to set the same existing settings causes a positive response. Fix this behavior for this single corner case. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 9cd974bb0f7abc83da1788a17e28890819b593b8 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Mar 20 12:35:45 2015 +0100 ASoC: max98925: Constify regmap config and other codec data Constify local structures (snd_soc_dai_ops, snd_soc_codec_driver, regmap_config) and array (reg_defaults) which are not modified by the driver and passed to core as pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c94a3d403299f64d2f91346ff64c4b95747c123c Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Mar 20 10:26:02 2015 +0100 power_supply: 88pm860x_charger: Fix possible NULL pointer dereference and use of initialized variable Do not put reference to power supply in early exit paths of pm860x_done_handler() because: 1. it is not yet initialized, 2. it is NULL. This fixes possible NULL pointer dereference and following build warning: drivers/power/88pm860x_charger.c: In function â??pm860x_done_handlerâ??: drivers/power/88pm860x_charger.c:516:18: warning: â??psyâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] Additionally this puts the power supply reference before unlocking mutex. This actually is not needed (there is no race here) but has logical sense and makes the exit paths cleaner. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 14048ffed0145a425a8d3114ce8ff48172460238 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 17:38:39 2015 +0200 video: fbdev: sh_mobile_lcdcfb: Fix ROP3 sysfs attribute parsing The ROP3 attribute is expressed as an integer in the 0-255 range. Remove the wrong conversion to boolean when parsing it. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 2ddc1dad393d39ee6218e545e37e57f3a9dc050f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 17:57:14 2015 +0200 drm/i915: Fix SKL sprite disable double buffer register update Write the PLANE_SURF register instead of PLANE_CTL to arm the double buffer regisrter update. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 48fe4691ae639e60fda37faf06dccdff60245149 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 17:57:13 2015 +0200 drm/i915: Eliminate plane control register RMW from sprite code Replace the RMW access with explicit initialization of the entire plane control register, as was done for primary planes in: 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() The automagic primary plane disable is still doing RMWs, but that will require more work to untangle, so leave it alone for now. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 47ecbb208bf44be0e798495d08837fe7c4138201 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 21:18:57 2015 +0200 drm/i915: Eliminate the RMW sprite colorkey management Store the colorkey in intel_plane and kill off all the RMW stuff handling it. This is just an intermediate step and eventually the colorkey needs to be converted into some properties. v2: Actually update the hardware state in the set_colorkey ioctl (Daniel) Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 08fd59fcc8c0f9732214fb93ad5cb09f67cb1124 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Mar 18 15:04:47 2015 -0700 drm/i915: Move vblank wait determination to 'check' phase Determining whether we'll need to wait for vblanks is something we should determine during the atomic 'check' phase, not the 'commit' phase. Note that we only set these bits in the branch of 'check' where intel_crtc->active is true so that we don't try to wait on a disabled CRTC. The whole 'wait for vblank after update' flag should go away in the future, once we start handling watermarks in a proper atomic manner. This regression has been introduced in commit 2fdd7def16dd7580f297827930126c16b152ec11 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Mar 4 10:49:04 2015 -0800 drm/i915: Don't clobber plane state on internal disables Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Root-cause-analysis-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89550 Testcase: igt/pm_rpm/legacy-planes Testcase: igt/pm_rpm/legacy-planes-dpms Testcase: igt/pm_rpm/universal-planes Testcase: igt/pm_rpm/universal-planes-dpms Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9ca3ba011b9f1bf7fc73a4e7dc0c9edec2aeb149 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Mar 17 11:40:05 2015 +0200 drm/i915/chv: use vlv_PLL_is_optimal in chv_find_best_dpll Prepare chv_find_best_dpll to be used for BXT too, where we want to consider the error between target and calculated frequency too when choosing a better PLL configuration. No functional change. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 24be4e4650de2fc323ee0737f945ad366b6c11cc Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Mar 17 11:40:04 2015 +0200 drm/i915: check for div-by-zero in vlv_PLL_is_optimal Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d5dd62bd9a19bcea4bcf20f66de56591fdd0d8d2 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Mar 17 11:40:03 2015 +0200 drm/i915: factor out vlv_PLL_is_optimal Factor out the logic to decide whether the newly calculated dividers are better than the best found so far. Do this for clarity and to prepare for the upcoming BXT helper needing the same. No functional change. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bdd7554d568fa165b0e86fc32b1cde3c895ff774 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 17:57:11 2015 +0200 drm/i915: Kill intel_plane->obj intel_plane->obj is not used anymore so kill it. Also don't pass both the fb and obj to the sprite .update_plane() hook, as just passing the fb is enough. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6702cf16e0ba8b0129f5aa1b6609d4e9c70bc13b Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Mon Mar 16 16:00:58 2015 +0000 drm/i915: Initialize all contexts The problem is we're going to switch to a new context, which could be the default context. The plan was to use restore inhibit, which would be fine, except if we are using dynamic page tables (which we will). If we use dynamic page tables and we don't load new page tables, the previous page tables might go away, and future operations will fault. CTXA runs. switch to default, restore inhibit CTXA dies and has its address space taken away. Run CTXB, tries to save using the context A's address space - this fails. The general solution is to make sure every context has it's own state, and its own address space. For cases when we must restore inhibit, first thing we do is load a valid address space. I thought this would be enough, but apparently there are references within the context itself which will refer to the old address space - therefore, we also must reinitialize. v2: to->ppgtt is only valid in full ppgtt. v3: Rebased. v4: Make post PDP update clearer. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 563222a745012cc2bb20c5d5cbff1c1ec4832c05 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Mar 19 12:53:28 2015 +0000 drm/i915: Track page table reload need This patch was formerly known as, "Force pd restore when PDEs change, gen6-7." I had to change the name because it is needed for GEN8 too. The real issue this is trying to solve is when a new object is mapped into the current address space. The GPU does not snoop the new mapping so we must do the gen specific action to reload the page tables. GEN8 and GEN7 do differ in the way they load page tables for the RCS. GEN8 does so with the context restore, while GEN7 requires the proper load commands in the command streamer. Non-render is similar for both. Caveat for GEN7 The docs say you cannot change the PDEs of a currently running context. We never map new PDEs of a running context, and expect them to be present - so I think this is okay. (We can unmap, but this should also be okay since we only unmap unreferenced objects that the GPU shouldn't be tryingto va->pa xlate.) The MI_SET_CONTEXT command does have a flag to signal that even if the context is the same, force a reload. It's unclear exactly what this does, but I have a hunch it's the right thing to do. The logic assumes that we always emit a context switch after mapping new PDEs, and before we submit a batch. This is the case today, and has been the case since the inception of hardware contexts. A note in the comment let's the user know. It's not just for gen8. If the current context has mappings change, we need a context reload to switch v2: Rebased after ppgtt clean up patches. Split the warning for aliasing and true ppgtt options. And do not break aliasing ppgtt, where to->ppgtt is always null. v3: Invalidate PPGTT TLBs inside alloc_va_range. v4: Rename ppgtt_invalidate_tlbs to mark_tlbs_dirty and move pd_dirty_rings from i915_address_space to i915_hw_ppgtt. Fixes when neither ctx->ppgtt and aliasing_ppgtt exist. v5: Removed references to teardown_va_range. v6: Updated needs_pd_load_pre/post. v7: Fix pd_dirty_rings check in needs_pd_load_post, and update/move comment about updated PDEs to object_pin/bind (Mika). Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 678d96fbb3b5995a2fdff2bca5e1ab4a40b7e968 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Mon Mar 16 16:00:56 2015 +0000 drm/i915: Track GEN6 page table usage Instead of implementing the full tracking + dynamic allocation, this patch does a bit less than half of the work, by tracking and warning on unexpected conditions. The tracking itself follows which PTEs within a page table are currently being used for objects. The next patch will modify this to actually allocate the page tables only when necessary. With the current patch there isn't much in the way of making a gen agnostic range allocation function. However, in the next patch we'll add more specificity which makes having separate functions a bit easier to manage. One important change introduced here is that DMA mappings are created/destroyed at the same page directories/tables are allocated/deallocated. Notice that aliasing PPGTT is not managed here. The patch which actually begins dynamic allocation/teardown explains the reasoning for this. v2: s/pdp.page_directory/pdp.page_directories Make a scratch page allocation helper v3: Rebase and expand commit message. v4: Allocate required pagetables only when it is needed, _bind_to_vm instead of bind_vma (Daniel). v5: Rebased to remove the unnecessary noise in the diff, also: - PDE mask is GEN agnostic, renamed GEN6_PDE_MASK to I915_PDE_MASK. - Removed unnecessary checks in gen6_alloc_va_range. - Changed map/unmap_px_single macros to use dma functions directly and be part of a static inline function instead. - Moved drm_device plumbing through page tables operation to its own patch. - Moved allocate/teardown_va_range calls until they are fully implemented (in subsequent patch). - Merged pt and scratch_pt unmap_and_free path. - Moved scratch page allocator helper to the patch that will use it. v6: Reduce complexity by not tearing down pagetables dynamically, the same can be achieved while freeing empty vms. (Daniel) v7: s/i915_dma_map_px_single/i915_dma_map_single s/gen6_write_pdes/gen6_write_pde Prevent a NULL case when only GGTT is available. (Mika) v8: Rebased after s/page_tables/page_table/. v9: Reworked i915_pte_index and i915_pte_count. Also exercise bitmap allocation here (gen6_alloc_va_range) and fix incorrect write_page_range in i915_gem_restore_gtt_mappings (Mika). Cc: Daniel Vetter <daniel@xxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v3+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 317b4e903636305cfe702ab3e5b3d68547a69e72 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Mon Mar 16 16:00:55 2015 +0000 drm/i915: Extract context switch skip and add pd load logic In Gen8, PDPs are saved and restored with legacy contexts (legacy contexts only exist on the render ring). So change the ordering of LRI vs MI_SET_CONTEXT for the initialization of the context. Also the only cases in which we need to manually update the PDPs are when MI_RESTORE_INHIBIT has been set in MI_SET_CONTEXT (i.e. when the context is not yet initialized or it is the default context). Legacy submission is not available post GEN8, so it isn't necessary to add extra checks for newer generations. v2: Use new functions to replace the logic right away (Daniel) v3: Add missing pd load logic. v4: Add warning in case pd_load_pre & pd_load_post are true, and add missing trace_switch_mm. Cleaned up pd_load conditions. Add more information about when is pd_load_post needed. (Mika) Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 07749ef32c4fd60334c2451739460dd1cf600281 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Mon Mar 16 16:00:54 2015 +0000 drm/i915: page table generalizations No functional changes, but will improve code clarity and removed some duplicated defines. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d2d9cbbd224f5fc9254c9952a78bd8cfed3b96f9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 11:44:06 2015 +0200 drm/i915: Send out the full AUX address AUX addresses are 20 bits long. Send out the entire address instead of just the low 16 bits. 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 eb0b44adc08c0be01a027eb009e9cdadc31e65a2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 18 14:47:59 2015 +0100 drm/i915: kerneldoc for i915_gem_shrinker.c And remove one bogus * from i915_gem_gtt.c since that's not a kerneldoc there. v2: Review from Chris: - Clarify memory space to better distinguish from address space. - Add note that shrink doesn't guarantee the freed memory and that users must fall back to shrink_all. - Explain how pinning ties in with eviction/shrinker. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be6a03769504753696033b7595d4dcbc4a16d088 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 18 10:46:04 2015 +0100 drm/i915: Extract i915_gem_shrinker.c Two code changes: - Extract i915_gem_shrinker_init. - Inline i915_gem_object_is_purgeable since we open-code it everywhere else too. This already has the benefit of pulling all the shrinker code together, next patch adds a bit of kerneldoc. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6f4b12f89c78fd0030aa51ead17eaf234108f60d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 09:48:23 2015 +0000 drm/i915: Use down ei for manual Baytrail RPS calculations Use both up/down manual ei calcuations for symmetry and greater flexibility for reclocking, instead of faking the down interrupt based on a fixed integer number of up interrupts. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Deepak S<deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 43cf3bf084ba097463d67e756ff821505bdaa69d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 09:48:22 2015 +0000 drm/i915: Improved w/a for rps on Baytrail Rewrite commit 31685c258e0b0ad6aa486c5ec001382cf8a64212 Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Date: Thu Jul 3 17:33:01 2014 -0400 drm/i915/vlv: WA for Turbo and RC6 to work together. Other than code clarity, the major improvement is to disable the extra interrupts generated when idle. However, the reclocking remains rather slow under the new manual regime, in particular it fails to downclock as quickly as desired. The second major improvement is that for certain workloads, like games, we need to combine render+media activity counters as the work of displaying the frame is split across the engines and both need to be taken into account when deciding the global GPU frequency as memory cycles are shared. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Deepak S<deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aed242ff7ebb697e4dff912bd4dc7ec7192f7581 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 09:48:21 2015 +0000 drm/i915: Relax RPS contraints to allows setting minfreq on idle When we idle, we set the GPU frequency to the hardware minimum (not user minimum). We introduce a new variable to distinguish between the different roles, and to allow easy tuning of the idle frequency without impacting over aspects of RPS. Setting the minimum frequency should be a safety blanket as the pcu on the GPU should be power gating itself anyway. However, in order for us to do set the absolute minimum frequency, we need to relax a few of our assertions that we do not exceed the user limits. v2: Add idle_freq v3: Init idle_freq for vlv and add a bunch of WARNs Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S<deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit edf4427b8055dc93eb5222d8174b07a75ba24fb5 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 11:20:56 2015 +0000 drm/i915: Fallback to using CPU relocations for large batch buffers If the batch buffer is too large to fit into the aperture and we need a GTT mapping for relocations, we currently fail. This only applies to a subset of machines for a subset of environments, quite undesirable. We can simply check after failing to insert the batch into the GTT as to whether we only need a mappable binding for relocation and, if so, we can revert to using a non-mappable binding and an alternate relocation method. However, using relocate_entry_cpu() is excruciatingly slow for large buffers on non-LLC as the entire buffer requires clflushing before and after the relocation handling. Alternatively, we can implement a third relocation method that only clflushes around the relocation entry. This is still slower than updating through the GTT, so we prefer using the GTT where possible, but is orders of magnitude faster as we typically do not have to then clflush the entire buffer. An alternative idea of using a temporary WC mapping of the backing store is promising (it should be faster than using the GTT itself), but requires fairly extensive arch/x86 support - along the lines of kmap_atomic_prof_pfn() (which is not universally implemented even for x86). Testcase: igt/gem_exec_big #pnv,byt Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88392 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add a WARN_ONCE for the impossible reloc case and explain in a short comment why we want to avoid ping-pong.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6fafab76d5189312bf45e71254b5aba5faf7a31b Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Mar 17 15:36:51 2015 +0000 drm/i915: Turn on PIN_GLOBAL in i915_gem_object_ggtt_pin This makes the interface consistent to old i915_gem_obj_ggtt_pin. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dabde5c7320059af62ce0a706ad11c793bad1345 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 18 11:21:58 2015 +0300 drm/i915: memory leak in __i915_gem_vma_create() In the original code then if WARN_ON(i915_is_ggtt(vm) != !!ggtt_view) was true then we leak "vma". Presumably that doesn't happen often but static checkers complain and this bug is easy to fix. Fixes: c3bbb6f2825d ('drm/i915: Do not use ggtt_view with (aliasing) PPGTT') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a1ddefd8f3963cd9edfda86a0affff8e53d4a762 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Mar 17 17:18:54 2015 +0200 drm/i915/dp: return number of bytes written for short aux/i2c writes Allow for a larger receive data size, and check if the receiver returned the number of bytes written. Without this, we've basically skipped all the unwritten bytes for short writes. 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 94ca719ee47f287b11942c899e6b81045311b786 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 13 19:40:31 2015 +0200 drm/i915: Unconfuse DP link rate array names To keep things clear rename the intel_dp->supported_rates[] to intel_dp->sink_rates[], and rename the supported_rates[] name we used elsewhere for the intersection of source and sink rates to common_rates[]. Cc: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0336400ebeeabb7c7187f1ed1bca04ff2191adf8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:39 2015 +0200 drm/i915: Include the sink/source/supported rates in debug output TODO: Is there an actually nice way to print an array of ints? Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe51bfb95c996733150c44d21e1c9f4b6322a326 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:38 2015 +0200 drm/i915: Add eDP intermediate frequencies for CHV "P1273_DPLL_Programming Spreadsheet.xlsm" lists a boatload of frequencies for eDP. Try to use them all. For now I've decided not to add hardcoded DPLL dividers for these cases since chv_find_best_dpll() works just fine. I've not actually tested any of these since I don't have an eDP 1.4 panel. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e6bda3e4cb439679946c9378628d906ab32bf590 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:37 2015 +0200 drm/i915: Avoid overflowing the DP link rate arrays Complain loudly if we ever attempt to overflow the the supported_rates[] array. This should never happen since the sink_rates[] array will always be smaller or of equal size. But should someone change that we want to catch it without scribblign over the stack. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ed4e9c1d46980e76254573ccd59efb3e8aec77d2 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:36 2015 +0200 drm/i915: Fix MST link rate handling Now that intel_dp_max_link_bw() no longer considers the source restrictions we may try to enable MST with 5.4GHz even when the source doesn't support it. To fix that switch the code over to handle the link rate in the same way as the SST code handles it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bc27b7d3f096e88f9b6571965452925fc93f2ca3 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:35 2015 +0200 drm/i915: Use DP_LINK_RATE_SET whenever possible Drop the gen9 checks from the code and issue DP_LINK_RATE_SET whenever the sink reports to support it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 50fec21a7db84a5c40e27c83bd55a5c9b435efbf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:34 2015 +0200 drm/i915: Fix max link rate in intel_dp_mode_valid() Consider the link rates reported by the sink via DP_SUPPORTED_LINK_RATES when checking modes against the max link rate. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2ecae76ad6c6da042dbbcce0084bd6b6c5700845 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:33 2015 +0200 drm/i915: Hide the source vs. sink rate handling from intel_dp_compute_config() intel_dp_compute_config() only really needs to know the rates supported by both source and sink, so hide the raw source and sink arrays from it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1db10e28b25687fea1d11a94196b0477145a24a8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:32 2015 +0200 drm/i915: Fully separate source vs. sink rates Remove the sink vs. source limit mess from intel_dp_max_link_bw() and just move the source restriction checks to intel_dp_source_rates(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> [danvet: Resolve conflict with WaDisableHBR2:skl patch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d098a5054373d860f062b42466fb965841c161fe Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:31 2015 +0200 drm/i915: Remove special case from intel_supported_rates() Now that both source and sink rates are always filled in there's no need for any special cases in intel_supported_rates(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 12f6a2e21be1ec4ad3dd6e2657b675f0779ee907 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:30 2015 +0200 drm/i915: Don't copy sink rates either Once we've read the rates from the sink we don't have to mess with them, so the caller can just look at the stored rates without doing extra copies. If the sink doesn't support the new link rate stuff, we just point the caller at the default_rates[] array. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 636280ba55fd95aaf14ecbfb2c32cb60a9e74e58 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:29 2015 +0200 drm/i915: Don't copy the DP source rates arrays The source rates don't change, so we can just point the caller at the const arrays. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea2d8a427fa99b70457518c8d3516f46e572b95d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:28 2015 +0200 drm/i915: Store the converted link rates in intel_dp->supported_rates[] No point in converting from hardware format every single time, just store the rates in the final format under intel_dp. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f4896f1529c43fb0688164ed33aebdf525a34fb7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:27 2015 +0200 drm/i915: Make the DP rates int instead of uint32_t No point in using uint32_t here, just plain old int will do. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec7adb6ee79c8c9fe64d63ad638a31cd62e55515 Author: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Date: Mon Mar 16 14:11:13 2015 +0200 drm/i915: Do not use ggtt_view with (aliasing) PPGTT GGTT views are only applicable when dealing with GGTT. Change the code to reject ggtt_view where it should not be used and require it when it should be. v2: - Dropped _ppgtt_ infixes, allow both types to be passed - Disregard other but normal views when no view is specified - More checks that valid parameters are passed - More readable error checking v3: - Prefer WARN_ONCE over BUG_ON when there is code path for failure Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> [danvet: Drop unecessary forward decl from earlier patch iterations.] [danvet: Remove unused variable spotted by Tvrtko.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aca5e361e84d20ac68eedb37b7c4561a33f56198 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Mar 13 16:13:59 2015 -0700 drm/i915: Fix sink crc connector iteration Regressed by this commit: commit 3455454e18ca3f92c565700539e744c620d8276b Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Tue Mar 3 15:21:56 2015 +0200 drm/i915: Add a for_each_intel_connector macro Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0f9e9cd61f46c07246e30871fd638ffeaca3c576 Merge: 86a930d 7f0801e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Mar 20 11:43:59 2015 +0100 Merge tag 'drm-intel-fixes-2015-03-19' into drm-intel-next Backmerge because of numerous and interleaving conflicts and git rerere getting confused a bit too often. Conflicts: drivers/gpu/drm/i915/intel_display.c All conflicts are because of -next patches backported to -fixes, so just go with the code in -next. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e8f4fb7c7c6b25dc0495f1fd43b03444f0a5c6e3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 11:37:36 2015 +0100 mac80211: remove drop_unencrypted code This mechanism was historic, and only ever used by IBSS, which also doesn't need to have it as it properly manages station's 802.1X PAE state (or, with WEP, always has a key.) Remove the mechanism to clean up the code. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 76b21e300c508edf2fc9bf27e314821ee46fcfec Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:20 2015 +0100 ARM: mvebu: Enable perf support in mvebu_v7_defconfig Now that Armada 375/38x have support for the PMU, this commit enables perf events in the defconfig. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit fc0daafeb4acf70839db5baf8ec4b861fff3efef Merge: b24062b 5ccf835 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 20 09:08:01 2015 +0100 Merge branch 'topic/hda-power' into for-next commit 057fcd426e146d0603b7320ea22b8caa24f83b0a Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Mar 15 19:43:14 2015 +0100 bcma: gpio: use predictable base for all BCM47XX buses Some BCM47XX SoC routers have LEDs connected to extra PCIe bcma buses. Handling them in arch code requires predictable GPIO numbers. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 080465f27aca1315cf882297cf31a376452fa188 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Mar 18 20:12:52 2015 +0530 mwifiex: fix crash in SDIO RX path With patch '960d6d08e39 "mwifiex: delay skb allocation for RX until cmd53 over"' we no more pass skb parameter to MP aggregation setup helper function. We instead pass length to be aggregated. This patch fixes an issue where we were passing length parameter of NULL skb to aggregation routine resulting into crash. We should instead pass rx_len received from mp_regs. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 55ab9a72bd324648987063e283ab3d4228efdaef Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:28 2015 +0100 brcmfmac: remove support for unreleased BCM4354 PCIe There are no known BCM4354 PCIe devices released so removing support from the driver until proven otherwise. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 228a71763d9f24637a6db2d1712f1e1a21a80ec6 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:27 2015 +0100 brcmfmac: only support the BCM43455/7 device Recently support was added for the BCM4345 SDIO chipset by commit 9c51026509d7 ("brcmfmac: Add support for BCM4345 SDIO chipset") however this was verified using a BCM43455 device, which is a more recent revision of the chip. This patch assure that older revisions are not probed as they would fail. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Syed Asifful Dayyan <syedd@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 25911556283e5093fca235d7ba03faae7ed5dbf2 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:26 2015 +0100 brcmfmac: add support for BCM43430 SDIO chipset This patch added support for the BCM43430 802.11n SDIO chipset. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7fca40eb003009e09614fb70edb6e48851f3fefc Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:25 2015 +0100 brcmfmac: add MODULE_FIRMWARE() macros for bcm4356 PCIe device The BCM4356 PCIe wireless device was added recently but overlooked the fact that the MODULE_FIRMWARE() macros were missing for the firmwares needed by this device. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ef5671d29df558405f454c606c639db3337548e2 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:24 2015 +0100 brcmfmac: Remove unnecessary new-line in pcie console logging. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a74196bb67c4f21a8308d26ba3bbdd22d766f5a4 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:23 2015 +0100 brcmfmac: Update msgbuf commonring size for improved throughput. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2c64e16d1ff1228df837508ab32e8a060cb06907 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:22 2015 +0100 brcmfmac: Add necessary memory barriers for SDIO. SDIO uses a thread to handle all communication with the device, for this data is exchanged between threads. This data needs proper memory barriers to make sure that data "exchange" is going correct. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 063d51776bd60ebf2587682eb394851c792e58d9 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:21 2015 +0100 brcmfmac: avoid runtime-pm for sdio host controller Several host controllers supporting runtime-pm are causing issues with our sdio wireless cards because they disable the sdio interrupt upon going into runtime suspend. This patch avoids that by doing a pm_runtime_forbid() call during the probe. Tested with Sony Vaio Duo 13 which uses sdhci-acpi host controller. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bb408cc78401c53842e17b24b6433c122629f21f Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 18 11:22:35 2015 +0300 mwifiex: missing curly braces in mwifiex_write_data_complete() It's clear from the indenting that curly braces were intended here. Fixes: e35000ead491 ('mwifiex: preprocess packets from TX queue') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ea345c145ff23197eab34d0c4d0c8a93d7bea8c6 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Mon Mar 16 10:59:52 2015 -0700 rt2x00: add new rt2800usb device DWA 130 Add the USB Id to link the D-Link DWA 130 USB Wifi adapter to the rt2830 driver. Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Pieter Truter <ptruter@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 70812421fb15888c809abb0b9b4ad34368094af6 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:24 2015 +0200 wil6210: fall back to pseudo-DMS mcast for secure link and PBSS Multicast is not yet properly supported for all connection types; actually, only non-secure AP is supported. For all other cases, fall back to old "pseudo-DMS" approach. Namely, for: - PBSS - secure connection When re-routing MCAST Rx->Tx on the AP, do not Tx back to the origin of the frame Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 41d6b093b7f8f2755a0a64ad4277c01bf78ced3e Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:23 2015 +0200 wil6210: implement broadcast/multicast data Use dedicated vring for multicast frames; this vring allocated for AP and PBSS (both P2P GO and client) configurations For short frames, use MCS0; for long - MCS1 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 62bfd30031faebcbf25db37bf228eeab0e25b2c3 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:22 2015 +0200 wil6210: add bcast structures to WMI Sync with the wmi definitions from the firmware team Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a82553bb9035ee881f24c38a92cc0dbb3e53cc0e Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:21 2015 +0200 wil6210: Prefer ether_addr_copy() over memcpy() Fix checkpatch warning: WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c406ea7c7406f00aa1fb6c697d47d070fd222037 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:19 2015 +0200 wil6210: Align Rx frames on 4*n+2 by having SNAP For the networking code and for hardware network accelerators, it is better to have IP header 4*n aligned. On the other side, DMA on Rx path require buffer to be aligned on 4*n as well. Having 14 bytes of Ethernet header, these 2 alignment requests are in contradiction. To solve this, order hardware offload block to not remove SNAP header. This adds extra 6 bytes between addresses and ethertype, making it 20 bytes total. This way, both buffer and IP header are 4*n aligned. Remaining is only to remove SNAP by shifting addresses 6 bytes. This involves data copying, so this feature should be disabled unless required by the platform. Module parameter "rx_align_2" (bool, default - false) introduced to control this feature. Feature is completely disabled when parameter is false. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cec94d8cf5c2e5347ed9264cc94210e6376c7a46 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:17 2015 +0200 wil6210: fix check for FW responsiveness "echo" used to be called when no firmware loaded to the NIC, this causes error output. Probe firmware with "echo" only after it returned "ready" event. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 148416a973e0a07fa94a0de90dae92763b282311 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:16 2015 +0200 wil6210: optimize index manipulation in wil_vring_reap_rx Use temporal variable for often used vring->swhead; and use proper index in debug printing - vring->swhead used before was modified in wil_vring_advance_head and then increased value was used in debug print Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8fbb2e98fef043019b9d546300406b2f6e9d38f5 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 15 14:26:20 2015 +0100 cw1200: Fix suspend The cw1200 driver implements suspend and resume callbacks and assigns them to the suspend and resume fields of the device_driver struct. These callbacks are never actually called by anything though. Modify the driver to properly use dev_pm_ops so that the suspend function is actually executed upon suspend and drop the empty resume function. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0aef188a361b85d6804ed5fdfc69dde0f5074f59 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Sat Mar 14 12:07:17 2015 -0400 rtl8188ee: fix build break due to missing rtl_hal_pwrseqcmdparsing definition I've been getting this error when building mainline kernels using Fedora's config files: drivers/net/wireless/rtlwifi/rtl8188ee/hw.c: In function â??_rtl88ee_init_macâ??: drivers/net/wireless/rtlwifi/rtl8188ee/hw.c:853:2: error: implicit declaration of function â??rtl_hal_pwrseqcmdparsingâ?? [-Werror=implicit-function-declaration] if (!rtl_hal_pwrseqcmdparsing(rtlpriv, PWR_CUT_ALL_MSK, ^ cc1: some warnings being treated as errors scripts/Makefile.build:258: recipe for target 'drivers/net/wireless/rtlwifi/rtl8188ee/hw.o' failed I'm not sure if this is the correct fix, but it does seem to allow the build to complete. I suspect that this was broken by commit 34ed780a6afc (rtlwifi: Fix problems with building an allyesconfig). Most of the files that removed the include of pwrseqcmd.h, added one for ../pwrseqcmd.h. The rtl8188ee driver had it removed it but didn't add the include of the file in the parent directory. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7644317bd39c147c888b5d4cea3e2706d12483dd Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:57 2015 +0530 ath9k: Start AIC calibration during MCI reset When a MCI reset is done, make sure that AIC is started. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 60544603b669a25adb90bd6e2ea6fa625e380322 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:56 2015 +0530 ath9k: Handle MCI_STATE_AIC_CAL Add the main AIC calibration function to handle MCI_STATE_AIC_CAL. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f2ef792a80859ecdabeaf5bf960ad97a9dd81fc6 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:55 2015 +0530 ath9k: Handle MCI_STATE_AIC_START This patch adds a function to handle the MCI message MCI_STATE_AIC_START. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 958b6827b781ed14d12bef6323f6692ec761fbb5 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:54 2015 +0530 ath9k: Handle MCI_STATE_AIC_CAL_RESET Add a routine to handle the MCI_STATE_AIC_CAL_RESET message. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 208837eeb925e5fddc514e4f93a69b1639fa15ba Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:53 2015 +0530 ath9k: Disable AIC by default Since various MCI messages need to be handled, along with driver-level support in upper layers, disable AIC for now. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 188f1a1288d59ed9ae895bdbf22d46017a8a69b8 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:52 2015 +0530 ath9k: Process the AIC calibration results This patch adds support for post-processing the AIC calibration results. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 716eed4c0dfb6a7ceeb61730506e43f2755f322b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:51 2015 +0530 ath9k: Finish AIC calibration Set the appropriate bits in the HW after AIC calibration is done. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b6ab9ae2eed84eef622d56e00925c68e0c56239e Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:50 2015 +0530 ath9k: Handle MCI_STATE_AIC_CAL_SINGLE This patch adds routines to handle the MCI message AIC_CAL_SINGLE, starting the required HW calibration. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6dacafea2d3a75d2db9b65a2aecebf385f39d3a3 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:49 2015 +0530 ath9k: Add register definitions for AIC Various registers to control and check AIC status. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 637625f2db844289058f9af7672a57c094cc97e2 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:48 2015 +0530 ath9k: Register private AIC ops AIC can be disabled or enabled on a per-card basis using MCI configuration, so register a function to check its status. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d3f193ee65388be5eb255db9b7a1d960f95b3a24 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:47 2015 +0530 ath9k: Add initial structures for AIC These are necessary for implementing AIC, supported by chips like WB222. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 88ad1a147e2c84d33cb50f5ebff1ece5e0cd4383 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Fri Mar 20 14:18:12 2015 +1030 lguest: fix pending interrupt test. Denys says: TEST with zero will always set ZF. Thus, "jnz send_interrupts" never jumps. We get interrupts regularly enough that this didn't cause immediate problems. Reported-by: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6eca8933d3ff17bff39d5f10a2a22366d8622fa6 Author: Alex Dowad <alexinbeijing@xxxxxxxxx> Date: Fri Mar 13 20:14:46 2015 +0200 powerpc/kernel: Rename copy_thread() 'arg' argument to 'kthread_arg' The 'arg' argument to copy_thread() is only ever used when forking a new kernel thread. Hence, rename it to 'kthread_arg' for clarity. Signed-off-by: Alex Dowad <alexinbeijing@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a998f712f77ea4892d3fcf24e0a67603e63da128 Author: Thomas Graf <tgraf@xxxxxxx> Date: Thu Mar 19 22:31:13 2015 +0000 rhashtable: Round up/down min/max_size to ensure we respect limit Round up min_size respectively round down max_size to the next power of two to make sure we always respect the limit specified by the user. This is required because we compare the table size against the limit before we expand or shrink. Also fixes a minor bug where we modified min_size in the params provided instead of the copy stored in struct rhashtable. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f58078dacaaf6fbe664d5404dca7f76dce576113 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Thu Mar 19 17:50:47 2015 -0400 regmap: Move tracing header into drivers/base/regmap The tracing events for regmap are confined to the regmap subsystem. It also requires accessing an internal header. Instead of including the internal header from a generic file location, move the tracing file into the regmap directory. Also rename the regmap tracing header to trace.h, as it is redundant to keep the regmap.h name when it is in the regmap directory. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 91a0f930560171e5d45465d05fd4e66a5ee3a745 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Mar 19 14:32:01 2015 -0700 i40e: add NVM update events to AQ clean Quit complaining about a couple of events that we actually expect to see during an NVM update. Reported-by: Stefan Assmann <sassmann@xxxxxxxxxx> Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f921fab5844941f7605b7f1a265f5fc7fe969a7 Author: Luciano Coelho <luca@xxxxxxxxx> Date: Wed Mar 18 18:38:25 2015 +0200 wlcore: set irq_trigger in board files instead of hiding behind a quirk The platform_quirk element in the platform data was used to change the way the IRQ is triggered. When set, the EDGE_IRQ quirk would change the irqflags used and treat edge trigger differently from the rest. Instead of hiding this irq flag setting behind the quirk, have the board files set the irq_trigger explicitly. This will allow us to use standard irq DT definitions later on. Signed-off-by: Luciano Coelho <luca@xxxxxxxxx> [Eliad - rebase, add irq_trigger field and pass it, update board file changes] Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ad4a6ebeffd2767bdcdec9e1acea7ffc00d5be2d Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Feb 25 20:30:22 2015 +0900 doc/input : Fix typos in Documentation/input This patch fix spelling typos in Documentations/input. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 84f887bfb930e7fbc01c060edd68c7cc6e2b824b Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 4 21:41:31 2015 +1100 selftests: Set CC using CROSS_COMPILE once in lib.mk This avoids repeating the logic in every Makefile. We mimic the top-level Makefile and use $(CROSS_COMPILE)gcc. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 0b053c9518292705736329a8fe20ef4686ffc8e9 Author: mancha security <mancha1@xxxxxxxx> Date: Wed Mar 18 18:47:25 2015 +0100 lib: memzero_explicit: use barrier instead of OPTIMIZER_HIDE_VAR OPTIMIZER_HIDE_VAR(), as defined when using gcc, is insufficient to ensure protection from dead store optimization. For the random driver and crypto drivers, calls are emitted ... $ gdb vmlinux (gdb) disassemble memzero_explicit Dump of assembler code for function memzero_explicit: 0xffffffff813a18b0 <+0>: push %rbp 0xffffffff813a18b1 <+1>: mov %rsi,%rdx 0xffffffff813a18b4 <+4>: xor %esi,%esi 0xffffffff813a18b6 <+6>: mov %rsp,%rbp 0xffffffff813a18b9 <+9>: callq 0xffffffff813a7120 <memset> 0xffffffff813a18be <+14>: pop %rbp 0xffffffff813a18bf <+15>: retq End of assembler dump. (gdb) disassemble extract_entropy [...] 0xffffffff814a5009 <+313>: mov %r12,%rdi 0xffffffff814a500c <+316>: mov $0xa,%esi 0xffffffff814a5011 <+321>: callq 0xffffffff813a18b0 <memzero_explicit> 0xffffffff814a5016 <+326>: mov -0x48(%rbp),%rax [...] ... but in case in future we might use facilities such as LTO, then OPTIMIZER_HIDE_VAR() is not sufficient to protect gcc from a possible eviction of the memset(). We have to use a compiler barrier instead. Minimal test example when we assume memzero_explicit() would *not* be a call, but would have been *inlined* instead: static inline void memzero_explicit(void *s, size_t count) { memset(s, 0, count); <foo> } int main(void) { char buff[20]; snprintf(buff, sizeof(buff) - 1, "test"); printf("%s", buff); memzero_explicit(buff, sizeof(buff)); return 0; } With <foo> := OPTIMIZER_HIDE_VAR(): (gdb) disassemble main Dump of assembler code for function main: [...] 0x0000000000400464 <+36>: callq 0x400410 <printf@plt> 0x0000000000400469 <+41>: xor %eax,%eax 0x000000000040046b <+43>: add $0x28,%rsp 0x000000000040046f <+47>: retq End of assembler dump. With <foo> := barrier(): (gdb) disassemble main Dump of assembler code for function main: [...] 0x0000000000400464 <+36>: callq 0x400410 <printf@plt> 0x0000000000400469 <+41>: movq $0x0,(%rsp) 0x0000000000400471 <+49>: movq $0x0,0x8(%rsp) 0x000000000040047a <+58>: movl $0x0,0x10(%rsp) 0x0000000000400482 <+66>: xor %eax,%eax 0x0000000000400484 <+68>: add $0x28,%rsp 0x0000000000400488 <+72>: retq End of assembler dump. As can be seen, movq, movq, movl are being emitted inlined via memset(). Reference: http://thread.gmane.org/gmane.linux.kernel.cryptoapi/13764/ Fixes: d4c5efdb9777 ("random: add and use memzero_explicit() for clearing data") Cc: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: mancha security <mancha1@xxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 446981e5fcad3d64a27358d6591928da4a55a156 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Thu Mar 19 16:47:58 2015 -0300 tipc: fix build issue when building without IPv6 We can't directly call ipv6_sock_mc_join() but should use the stub instead and protect it around IS_ENABLED. Fixes: d0f91938bede ("tipc: add ip/udp media type") Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce47fbb7c8956742a6de06b9706b1c6236339f51 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Mar 19 19:19:40 2015 +0000 arm64: proc: remove unused cpu_get_pgd macro cpu_get_pgd isn't used anywhere and is Probably Not What You Want. Remove it before anybody decides to use it. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit da9c177de88679c2948dc9a5e2325b0dff4677b9 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 17 10:55:12 2015 +0100 arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol According to the arm64 boot protocol, registers x1 to x3 should be zero upon kernel entry, and non-zero values are reserved for future use. This future use is going to be problematic if we never enforce the current rules, so start enforcing them now, by emitting a warning if non-zero values are detected. Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6f4d57fa7021efbf135cfa068d56bc5035edffa1 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 17 09:14:29 2015 +0100 arm64: remove __calc_phys_offset This removes the function __calc_phys_offset and all open coded virtual to physical address translations using the offset kept in x28. Instead, just use absolute or PC-relative symbol references as appropriate when referring to virtual or physical addresses, respectively. Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8b0a95753a34b5c8b2e483e0e5b1d67761e32c5f Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 17 08:59:53 2015 +0100 arm64: merge __enable_mmu and __turn_mmu_on Enabling of the MMU is split into two functions, with an align and a branch in the middle. On arm64, the entire kernel Image is ID mapped so this is really not necessary, and we can just merge it into a single function. Also replaces an open coded adrp/add reference to __enable_mmu pair with adr_l. Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b1c98297fe0c6e2899ede03fc3b831f36e19fb76 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 15:00:03 2015 +0100 arm64: use PC-relative reference for secondary_holding_pen_release Replace the confusing virtual/physical address arithmetic with a simple PC-relative reference. Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a871d354f795c4960543fb44c9b59af63367d6cf Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 4 11:51:48 2015 +0100 arm64: remove __switch_data object from head.S This removes the confusing __switch_data object from head.S, and replaces it with standard PC-relative references to the various symbols it encapsulates. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a44ef51799109dccba751240e84ca2da937a88ed Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 4 11:49:32 2015 +0100 arm64: remove processor_id The global processor_id is assigned the MIDR_EL1 value of the boot CPU in the early init code, but is never referenced afterwards. As the relevance of the MIDR_EL1 value of the boot CPU is debatable anyway, especially under big.LITTLE, let's remove it before anyone starts using it. Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b784a5d97d0af4835dd0125a3e0e5d0fd48128d6 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 4 19:45:38 2015 +0100 arm64: add macros for common adrp usages The adrp instruction is mostly used in combination with either an add, a ldr or a str instruction with the low bits of the referenced symbol in the 12-bit immediate of the followup instruction. Introduce the macros adr_l, ldr_l and str_l that encapsulate these common patterns. Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a591ede4cd1cac02d3398a9ad332bd0bba460efe Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 18 14:55:20 2015 +0000 arm64: Get rid of struct cpu_table struct cpu_table is an artifact left from the (very) early days of the arm64 port, and its only real use is to allow the most beautiful "AArch64 Processor" string to be displayed at boot time. Really? Yes, really. Let's get rid of it. In order to avoid another BogoMips-gate, the aforementioned string is preserved. Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 62aa9655b8a8eaa4cf86d091d977482da8489ed4 Author: Ganapatrao Kulkarni <ganapatrao.kulkarni@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 11:01:18 2015 +0000 arm64: kconfig: increase NR_CPUS range to 2-4096. Raise the maximum CPU limit to 4096 in preparation for upcoming platforms with large core counts. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Ganapatrao Kulkarni <gkulkarni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8fff105e13041e49b82f92eef034f363a6b1c071 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Tue Mar 17 18:14:59 2015 +0000 arm64: perf: reject groups spanning multiple HW PMUs The perf core implicitly rejects events spanning multiple HW PMUs, as in these cases the event->ctx will differ. However this validation is performed after pmu::event_init() is called in perf_init_event(), and thus pmu::event_init() may be called with a group leader from a different HW PMU. The ARM64 PMU driver does not take this fact into account, and when validating groups assumes that it can call to_arm_pmu(event->pmu) for any HW event. When the event in question is from another HW PMU this is wrong, and results in dereferencing garbage. This patch updates the ARM64 PMU driver to first test for and reject events from other PMUs, moving the to_arm_pmu and related logic after this test. Fixes a crash triggered by perf_fuzzer on Linux-4.0-rc2, with a CCI PMU present: Bad mode in Synchronous Abort handler detected, code 0x86000006 -- IABT (current EL) CPU: 0 PID: 1371 Comm: perf_fuzzer Not tainted 3.19.0+ #249 Hardware name: V2F-1XV7 Cortex-A53x2 SMM (DT) task: ffffffc07c73a280 ti: ffffffc07b0a0000 task.ti: ffffffc07b0a0000 PC is at 0x0 LR is at validate_event+0x90/0xa8 pc : [<0000000000000000>] lr : [<ffffffc000090228>] pstate: 00000145 sp : ffffffc07b0a3ba0 [< (null)>] (null) [<ffffffc0000907d8>] armpmu_event_init+0x174/0x3cc [<ffffffc00015d870>] perf_try_init_event+0x34/0x70 [<ffffffc000164094>] perf_init_event+0xe0/0x10c [<ffffffc000164348>] perf_event_alloc+0x288/0x358 [<ffffffc000164c5c>] SyS_perf_event_open+0x464/0x98c Code: bad PC value Also cleans up the code to use the arm_pmu only when we know that we are dealing with an arm pmu event. Cc: Will Deacon <will.deacon@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Peter Ziljstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e429817b401f095ac483fcb02524b01faf45dad6 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Tue Mar 17 18:14:58 2015 +0000 ARM: perf: reject groups spanning multiple hardware PMUs The perf core implicitly rejects events spanning multiple HW PMUs, as in these cases the event->ctx will differ. However this validation is performed after pmu::event_init() is called in perf_init_event(), and thus pmu::event_init() may be called with a group leader from a different HW PMU. The ARM PMU driver does not take this fact into account, and when validating groups assumes that it can call to_arm_pmu(event->pmu) for any HW event. When the event in question is from another HW PMU this is wrong, and results in dereferencing garbage. This patch updates the ARM PMU driver to first test for and reject events from other PMUs, moving the to_arm_pmu and related logic after this test. Fixes a crash triggered by perf_fuzzer on Linux-4.0-rc2, with a CCI PMU present: --- CPU: 0 PID: 1527 Comm: perf_fuzzer Not tainted 4.0.0-rc2 #57 Hardware name: ARM-Versatile Express task: bd8484c0 ti: be676000 task.ti: be676000 PC is at 0xbf1bbc90 LR is at validate_event+0x34/0x5c pc : [<bf1bbc90>] lr : [<80016060>] psr: 00000013 ... [<80016060>] (validate_event) from [<80016198>] (validate_group+0x28/0x90) [<80016198>] (validate_group) from [<80016398>] (armpmu_event_init+0x150/0x218) [<80016398>] (armpmu_event_init) from [<800882e4>] (perf_try_init_event+0x30/0x48) [<800882e4>] (perf_try_init_event) from [<8008f544>] (perf_init_event+0x5c/0xf4) [<8008f544>] (perf_init_event) from [<8008f8a8>] (perf_event_alloc+0x2cc/0x35c) [<8008f8a8>] (perf_event_alloc) from [<8009015c>] (SyS_perf_event_open+0x498/0xa70) [<8009015c>] (SyS_perf_event_open) from [<8000e420>] (ret_fast_syscall+0x0/0x34) Code: bf1be000 bf1bb380 802a2664 00000000 (00000002) ---[ end trace 01aff0ff00926a0a ]--- Also cleans up the code to use the arm_pmu only when we know that we are dealing with an arm pmu event. Cc: Will Deacon <will.deacon@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Peter Ziljstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d15b1de46ffa7551c36d7be5a58a02321a820a0f Merge: 970282d 768ffc6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 19 15:30:25 2015 -0400 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== Add Device ID and make device ID table const This patch series adds new device ID and makes device ID table const The patches series is created against 'net-next' tree. And includes patches on cxgb4 and csiostor 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 768ffc66b45fd6551162d64ac8d92c101725262a Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Mar 19 22:27:36 2015 +0530 cxgb4/cxgb4vf/csiostor: Make PCI Device ID Tables be "const" Make PCI Device ID Tables be "const" to move them out of the data segment and remove a redundant check on CH_PCI_DEVICE_ID_TABLE_DEFINE_BEGIN in t4_pci_id_tbl.h to guard the contents of the include file. Signed-off-by: Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 933e0db118fd6f73f8692c29ed47994c7e073552 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Mar 19 22:27:35 2015 +0530 cxgb4: Add device ID for new adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06f75a1f6200042aa36ad40afb44dd72107b25d6 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Mar 19 16:42:26 2015 +0000 ARM, arm64: kvm: get rid of the bounce page The HYP init bounce page is a runtime construct that ensures that the HYP init code does not cross a page boundary. However, this is something we can do perfectly well at build time, by aligning the code appropriately. For arm64, we just align to 4 KB, and enforce that the code size is less than 4 KB, regardless of the chosen page size. For ARM, the whole code is less than 256 bytes, so we tweak the linker script to align at a power of 2 upper bound of the code size Note that this also fixes a benign off-by-one error in the original bounce page code, where a bounce page would be allocated unnecessarily if the code was exactly 1 page in size. On ARM, it also fixes an issue with very large kernels reported by Arnd Bergmann, where stub sections with linker emitted veneers could erroneously trigger the size/alignment ASSERT() in the linker script. Tested-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 970282d0e1404b23f9d7ec6a676fa76ff15b3376 Merge: c9bdc0d ea6edfb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 19 15:18:04 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-03-19 This wont the last 4.1 bluetooth-next pull request, but we've piled up enough patches in less than a week that I wanted to save you from a single huge "last-minute" pull somewhere closer to the merge window. The main changes are: - Simultaneous LE & BR/EDR discovery support for HW that can do it - Complete LE OOB pairing support - More fine-grained mgmt-command access control (normal user can now do harmless read-only operations). - Added RF power amplifier support in cc2520 ieee802154 driver - Some cleanups/fixes in ieee802154 code Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61c797d52dae232a4636888f71c45119a7853d7e Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Thu Mar 19 09:13:34 2015 -0700 Input: elan_i2c - fix typo in include header guard Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Fixes: 6696777c6506 ("Input: add driver for Elan I2C/SMbus touchpad") Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 245165de9896cca918701b116d72d486a0398437 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 09:58:47 2015 -0700 Input: constify of_device_id arrays of_device_id is always used as const argument (See driver.of_match_table and open firmware functions). Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6faeeea44b84ce24fc6c1f1beb07ee5de9885dc8 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 11 15:06:01 2015 +1100 selftests: Add install support for the powerpc tests The bulk of the selftests are actually below the powerpc sub directory. This adds support for installing them, when on a powerpc machine, or if ARCH and CROSS_COMPILE are set appropriately. This is a little more complicated because of the sub directory structure under powerpc, but much of the common logic in lib.mk is still used. The net effect of the patch is still a reduction in code. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 34ebe933417e16f46bc30ea77a66e7f30d0cf0f8 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Mar 9 12:12:10 2015 -0400 cpuset, isolcpus: document relationship between cpusets & isolcpus Document the subtly changed relationship between cpusets and isolcpus. Turns out the old documentation did not match the code... Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 47b8ea7186aae7f474ec4c98f43eaa8da719cd83 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Mar 9 12:12:08 2015 -0400 cpusets, isolcpus: exclude isolcpus from load balancing in cpusets Ensure that cpus specified with the isolcpus= boot commandline option stay outside of the load balancing in the kernel scheduler. Operations like load balancing can introduce unwanted latencies, which is exactly what the isolcpus= commandline is there to prevent. Previously, simply creating a new cpuset, without even touching the cpuset.cpus field inside the new cpuset, would undo the effects of isolcpus=, by creating a scheduler domain spanning the whole system, and setting up load balancing inside that domain. The cpuset root cpuset.cpus file is read-only, so there was not even a way to undo that effect. This does not impact the majority of cpusets users, since isolcpus= is a fairly specialized feature used for realtime purposes. Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Clark Williams <williams@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: cgroups@xxxxxxxxxxxxxxx Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Tested-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3fa0818b3c85e9bb55e3ac96c9523b87e44eab9e Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Mar 9 12:12:07 2015 -0400 sched, isolcpu: make cpu_isolated_map visible outside scheduler Needed by the next patch. Also makes cpu_isolated_map present when compiled without SMP and/or with CONFIG_NR_CPUS=1, like the other cpu masks. At some point we may want to clean things up so cpumasks do not exist in UP kernels. Maybe something for the CONFIG_TINY crowd. Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Clark Williams <williams@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: cgroups@xxxxxxxxxxxxxxx Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 92b5bf989547b36c75231e4c24d0e2c351d3a0bc Author: Feng Kan <fkan@xxxxxxx> Date: Wed Mar 18 17:03:55 2015 -0700 sata: xgene: add ACPI support for APM X-Gene SATA ports This adds ACPI support for the APM X-Gene SATA ports. When the system boots using ACPI table, the SATA ports are able to configure using the values supplied by the ACPI table rather than the DTS. Signed-off-by: Feng Kan <fkan@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3661aa99d82ed06e3781964d43d89be1050593c0 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 14:36:37 2015 +0100 ata: sata_mv: add proper definitions for LP_PHY_CTL register values Commit 9013d64e661fc ("ata: sata_mv: fix disk hotplug for Armada 370/XP SoCs") added some manipulation of the LP_PHY_CTL register, but using magic values. This commit changes the code to use proper definitions for the LP_PHY_CTL register, which allows to document what the different bits are doing. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 5744de542dd4b963c2975e6f70844ce2899864e4 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Mar 19 11:20:40 2015 +1100 selftests/timers: Use shared logic to run and install tests Change the timers Makefile to make use of shared run and install logic in lib.mk. Destructive tests are installed but not run by default. Add a new variable, TEST_PROGS_EXTENDED, which is a list of extra programs to install, but which are not run by the default run_tests logic. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 1c0a7498c79443d4b72a0352dea70f27c5772b56 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 18 08:51:53 2015 -0700 kselftest/timers: Set default threadtest values to simplify execution scripts In order to keep the kselftest Makefiles simpler, set the threadtest default values to the ones used in standard run_tests Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 10709c0858d89716b10b7bbf6d825044f2f59602 Author: Mark Jackson <mpfj@xxxxxxxxxxxxx> Date: Thu Mar 19 15:07:43 2015 +0000 ARM: dts: Update Nanobone dts file Update dts file to reflect:- * new flash memory layout * add missing phy-mode property * dual_emac now just a boolean * rename mcp to microchip * update gpio definition Signed-off-by: Mark Jackson <mpfj@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 80a41581369c48a1af8ff086fdcaef0a9c3dd40c Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Thu Mar 19 01:50:24 2015 +0200 ARM: dts: n950, n9: Add primary camera support Add support for the primary camera of the Nokia N950 and N9. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e52117638b79e0ae65b5acd4bf65971cc0e8be9f Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Thu Mar 19 01:50:23 2015 +0200 ARM: dts: omap3: Add DT entries for OMAP 3 ISP The resources the ISP needs are slightly different on 3[45]xx and 3[67]xx. Especially the phy-type property is different. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [tony@xxxxxxxxxxx: use omap3_scm_general instead of scm_conf for now] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7eec52db361a6ae6fbbd86c2299718586866b664 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Thu Mar 19 01:50:22 2015 +0200 Documentation: DT: Add bindings for omap3isp Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5e71fc8629cefae5f3c1a4f498de3fe4f631924a Author: Nathaniel W Filardo <nwf@xxxxxxxxxx> Date: Mon Mar 16 11:19:55 2015 -0400 USB: keyspan_pda: add new device id Add USB VID/PID for Xircom PGMFHUB USB/serial component. (The hub and SCSI bridge on that hardware are recognized out of the box by existing drivers.) Tested VID/PID using new_id and loopback connection and was met with success, but that's all the testing done. Signed-off-by: Nathaniel Wesley Filardo <nwf@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 0c8c20779c5d56b93b8cb4cd30ba129a927ab437 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Mar 13 12:51:54 2015 +0000 perf report: Don't allow empty argument for '-t'. Without this patch, perf report cause segfault if pass "" as '-t': $ perf report -t "" # To display the perf.data header info, please use --header/--header-only options. # # Samples: 37 of event 'syscalls:sys_enter_write' # Event count (approx.): 37 # # Children SelfCommand Shared Object Symbol Segmentation fault Since -t is used to add field-separator for generate table, -t "" is actually meanless. This patch defines a new OPT_STRING_NOEMPTY() option generator to ensure user never pass empty string to that option. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426251114-198991-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 303cb89a6d708da9c24f6f3390ff68a2bd822a13 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Mar 13 15:02:56 2015 +0800 perf callchain: Separate eh/debug frame offset cache. Commit f1f13af99a90 ("perf callchain: Cache eh/debug frame offset for dwarf unwind") introduces a cache for .debug_frame and .eh_frame_hdr. Unfortunately, it makes them share a same cache (dso->frame_offset). Which causes unwind failure on ARM: $ perf test unwind Test dwarf unwind: FAILED! The reason is that, if a dso has '.debug_frame' but doesn't have '.eh_frame_hdr' (like ARM), dso->frame_offset will be filled by offset of '.debug_frame' during the first time calling of find_proc_info() -> read_unwind_spec_debug_frame(), and be regarded to '.eh_frame_hdr' when the second time calling of find_proc_info() -> read_unwind_spec_eh_frame(), since '.eh_frame_hdr' is checked prior to '.debug_frame'. This patch solves the problem by creating two cache fields for '.eh_frame_hdr' and '.debug_frame'. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/55028BA0.1030701@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1312c8a8fb126b9e7c45671813c39f8a435fadcb Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:58 2015 +0800 perf tools: Avoid confusion with preloaded bash function for perf bash completion Since some functions (e.g. '_get_comp_words_by_ref()') in perf bash completion script are originally taken from git bash completion script, these functions may be preloaded before perf bash completion script runs. In order to avoid repeating loading the same function twice, some test constraints are used before these function definitions in the perf bash completion script (e.g. 'type _get_comp_words_by_ref &>/dev/null ||'). The problem is that, if these functions in perf bash completion script are changed for some reason, perf will still use the preloaded bash functions rather than the customized functions of its own. As a result, the perf bash completion will behave incorrectly. To get rid of this problem, a flag can be defined to determine the proper situation. And to avoid overwriting the preloaded functions, the names of these functions in perf bash completion script should be renamed to the perf-customized ones. Example: Before this patch: $ type _get_comp_words_by_ref _get_comp_words_by_ref is a function _get_comp_words_by_ref () { local exclude flag i OPTIND=1; local cur cword words=(); local upargs=() upvars=() vcur vcword vprev vwords; while getopts "c:i:n:p:w:" flag "$@"; do case $flag in c) vcur=$OPTARG ;; i) vcword=$OPTARG ;; n) exclude=$OPTARG ;; p) vprev=$OPTARG ;; w) vwords=$OPTARG ;; esac; done; while [[ $# -ge $OPTIND ]]; do case ${!OPTIND} in cur) vcur=cur ;; prev) vprev=prev ;; cword) vcword=cword ;; words) vwords=words ;; *) echo "bash: $FUNCNAME(): \`${!OPTIND}': unknown argument" 1>&2; return 1 ;; esac; let "OPTIND += 1"; done; __get_cword_at_cursor_by_ref "$exclude" words cword cur; [[ -n $vcur ]] && { upvars+=("$vcur"); upargs+=(-v $vcur "$cur") }; [[ -n $vcword ]] && { upvars+=("$vcword"); upargs+=(-v $vcword "$cword") }; [[ -n $vprev && $cword -ge 1 ]] && { upvars+=("$vprev"); upargs+=(-v $vprev "${words[cword - 1]}") }; [[ -n $vwords ]] && { upvars+=("$vwords"); upargs+=(-a${#words[@]} $vwords "${words[@]}") }; (( ${#upvars[@]} )) && local "${upvars[@]}" && _upvars "${upargs[@]}" } As shown above, the _get_comp_words_by_ref is the preloaded function in fact, rather than the function defined in perf-completion.sh. So if we happen to change the function for some reason, the result will behave in a wrong state. After this patch: We can set preload_get_comp_words_by_ref="false" to not use the preloaded function. Instead, it will use the function defined in perf-completion.sh, which is renamed as __perf_get_comp_words_by_ref to avoid overwriting the preloaded function _get_comp_words_by_ref. $ type __perf_get_comp_words_by_ref __perf_get_comp_words_by_ref is a function __perf_get_comp_words_by_ref () { local exclude cur_ words_ cword_; if [ "$1" = "-n" ]; then exclude=$2; shift 2; fi; __my_reassemble_comp_words_by_ref "$exclude"; cur_=${words_[cword_]}; while [ $# -gt 0 ]; do case "$1" in cur) cur=$cur_ ;; prev) prev=${words_[$cword_-1]} ;; words) words=("${words_[@]}") ;; cword) cword=$cword_ ;; esac; shift; done } As shown above, the function __perf_get_comp_words_by_ref is loaded and can work this time. Note that we do not change the original behavior when those functions are not preloaded before perf bash completion script runs. In this case, although the flag is set to "true", the code will still change it to "false" to use the function defined in perf-completion.sh. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-14-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6fdd9cb700dcd84193a259bbf8f6c918c243da15 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:57 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf trace The bash completion does not support listing subsubcommands for 'perf trace <TAB>', so fix it. Example: Before this patch: $ perf trace <TAB> $ As shown above, the subsubcommands of perf trace does not come out. After this patch: $ perf trace <TAB> record As shown above, the subsubcommands of perf trace can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-13-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 33ec0caf6a3bce1289a915845866828e19c04afb Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:56 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf timechart The bash completion does not support listing subsubcommands for 'perf timechart <TAB>', so fix it. Example: Before this patch: $ perf timechart <TAB> $ As shown above, the subsubcommands of perf timechart does not come out. After this patch: $ perf timechart <TAB> record As shown above, the subsubcommands of perf timechart can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-12-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1f9975f14ce4f7258db1cb0eea8fba17482e331e Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:55 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf test The bash completion does not support listing subsubcommands for 'perf test <TAB>', so fix it. Example: Before this patch: $ perf test <TAB> $ As shown above, the subsubcommands of perf test does not come out. After this patch: $ perf test <TAB> list As shown above, the subsubcommands of perf test can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-11-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 40cae2b779f2826f3d82674027299332c2007716 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:54 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf script The bash completion does not support listing subsubcommands for 'perf script <TAB>', so fix it. Example: Before this patch: $ perf script <TAB> $ As shown above, the subsubcommands of perf script does not come out. After this patch: $ perf script <TAB> record report As shown above, the subsubcommands of perf script can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-10-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e24a110882949c609c5fb7625b71d8e77264257b Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:53 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf help The bash completion does not support listing subsubcommands for 'perf help <TAB>', so fix it. Example: Before this patch: $ perf help <TAB> $ As shown above, the subsubcommands of perf help does not come out. After this patch: $ perf help <TAB> annotate buildid-cache data evlist inject kvm lock probe report script test top bench buildid-list diff help kmem list mem record sched stat timechart trace As shown above, the subsubcommands of perf help can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-9-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 01b7160bc6674912f6b7043bbf58d66e62e41054 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:52 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf data The bash completion does not support listing subsubcommands for 'perf data <TAB>', so fix it. Example: Before this patch: $ perf data <TAB> $ As shown above, the subsubcommands of perf data does not come out. After this patch: $ perf data <TAB> convert As shown above, the subsubcommands of perf data can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-8-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e003ce54d2ccbb8da0fd4f421e1cc9686ef25add Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:51 2015 +0800 perf tools: Fix the bash completion for listing subcommands of perf The bash completion does not support listing subcommands for 'perf --<long option> <TAB>'. Example: Before this patch: $ perf --debug <TAB> $ As shown above, the subcommands of perf does not come out. After this patch: $ perf --debug <TAB> annotate buildid-cache data evlist inject kvm lock probe report script test top version bench buildid-list diff help kmem list mem record sched stat timechart trace As shown above, the subcommands of perf can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-7-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3346b542f4165cb0007cfe3600866acbee67c686 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:50 2015 +0800 perf tools: Fix the bash completion to support listing events for --event The bash completion only supports -e rather than --event, so fix it. Example: Before this patch: $ perf record --event <TAB> $ As shown above, the events of record does not come out. After this patch: $ perf record --event <TAB> lignment-faults cpu/instructions/ L1-dcache-prefetch-misses node-prefetches uncore_rbox_0/qpi0_idle_filt/ branch-instructions cpu/mem-loads/ L1-dcache-store-misses node-prefetch-misses uncore_rbox_0/qpi1_date_response/ branch-load-misses cpu-migrations L1-dcache-stores node-store-misses uncore_rbox_0/qpi1_filt_send/ branch-loads dTLB-load-misses L1-icache-load-misses node-stores uncore_rbox_0/qpi1_idle_filt/ ... As shown above, the events of record can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-6-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bc81fad125dba7da33dbeac4c10d9c84614eb3ab Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:49 2015 +0800 perf tools: Fix the bash completion for listing events of perf subcommand record|stat|top -e The bash completion does not support listing events for 'perf kvm|kmem| mem|lock|sched record|stat|top -e <TAB>', where 'kvm|kmem|mem|lock|sched' are all subcommands of perf. Example: Before this patch: $ perf kvm record -e <TAB> $ As shown above, the events of record does not come out. After this patch: $ perf kvm record -e <TAB> alignment-faults cpu/instructions/ L1-dcache-prefetch-misses node-prefetches uncore_rbox_0/qpi0_idle_filt/ branch-instructions cpu/mem-loads/ L1-dcache-store-misses node-prefetch-misses uncore_rbox_0/qpi1_date_response/ branch-load-misses cpu-migrations L1-dcache-stores node-store-misses uncore_rbox_0/qpi1_filt_send/ branch-loads dTLB-load-misses L1-icache-load-misses node-stores uncore_rbox_0/qpi1_idle_filt/ ... As shown above, the events of record can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-5-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit eee200a6c4a9712146ba999f944ba4f2c3fc2d44 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:48 2015 +0800 perf tools: Provide the right bash completion for listing options of perf subcommand subsubcommand The bash completion gives wrong options for 'perf kvm|kmem|mem|lock| sched subsubcommand --<TAB>', where 'kvm|kmem|mem|lock|sched' are all subcommands of perf and 'subsubcommand' is a subcommand of 'kvm|kmem|mem |lock|sched'. In fact, the result incorrectly lists the bash completion of 'perf subcommand' rather than 'perf subcommand subsubcommand'. Example: Before this patch: $ perf kvm record --<TAB> --guest --guestkallsyms --guestmodules --guestmount --guestvmlinux --host --input --output --verbose As shown above, the result is the options of kvm rather than record. After this patch: $ perf kvm record --<TAB> --all-cpus --cgroup --delay --group --no-buildid --output --quiet --stat --uid --branch-any --count --event --intr-regs --no-buildid-cache --period --raw-samples --tid --verbose --branch-filter --cpu --filter --mmap-pages --no-inherit --per-thread --realtime --timestamp --weight --call-graph --data --freq --no-buffering --no-samples --pid --running-time --transaction As shown above, the result is exactly the options of record as we wished. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-4-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 67afff485b2ce742374edb2e17d21e2bc664eb1f Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:47 2015 +0800 perf tools: Fix the bash completion for listing subsubcommands of perf subcommand The bash completion does not support listing subsubcommands for 'perf kvm|kmem|mem|lock|sched --<long option> <TAB>', where 'kvm|kmem|mem| lock|sched' are all subcommands of perf. Example: Before this patch: $ perf kvm --verbose <TAB> $ As shown above, the subsubcommands of perf kvm does not come out. After this patch: $ perf kvm --verbose <TAB> buildid-list diff record report stat top As shown above, the subsubcommands of perf kvm can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 02fde323b9aaebb4a21e7c0e04759470b6c07594 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:46 2015 +0800 perf tools: Fix the bash completion for listing options of perf subcommand The bash completion does not support listing options for 'perf kvm|kmem|mem|lock|sched --<TAB>', where 'kvm|kmem|mem|lock|sched' are all subcommands of perf. Example: Before this patch: $ perf kvm --<TAB> $ As shown above, the options of perf kvm does not come out. After this patch: $ perf kvm --<TAB> --alloc --caller --input --line --raw-ip --sort --verbose As shown above, the options of perf kvm can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-2-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c5b367835cfc7a8ef53b9670a409ffcc95194344 Author: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Date: Thu Feb 26 18:16:38 2015 -0600 MIPS: Add support for XPA. Add support for extended physical addressing (XPA) so that 32-bit platforms can access equal to or greater than 40 bits of physical addresses. NOTE: 1) XPA and EVA are not the same and cannot be used simultaneously. 2) If you configure your kernel for XPA, the PTEs and all address sizes become 64-bit. 3) Your platform MUST have working HIGHMEM support. Signed-off-by: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9355/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 76aea7731e7050c066943a1d7456ec6510702601 Author: H.J. Lu <hjl.tools@xxxxxxxxx> Date: Tue Mar 17 15:27:48 2015 -0700 perf tools: Fix perf-read-vdsox32 not building and lib64 install dir Commit: c6e5e9fbc3ea ("perf tools: Fix building error in x86_64 when dwarf unwind is on") removed the definition of IS_X86_64 but not all places using it, with the consequence that perf-read-vdsox32 would not be built anymore, and the default lib install directory was 'lib' instead of 'lib64'. Also needs to go to v3.19. Signed-off-by: H.J. Lu <hjl.tools@xxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.19 Link: http://lkml.kernel.org/r/CAMe9rOqpGVq3D88w+D15ef7sv6G6k57ZeTvxBm46=WFgzo9p1w@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c02acec74b655fe44b698d293f6f2a9600c4a8b Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Mar 18 17:31:32 2015 -0700 ARM: dts: brcmstb: add IRQ0 controller This L2 controller handles multiplexing a few different interrupts. We also need it for configuring the interrupt forwarding masks for the UART. With this, we can *now* boot BCM7445 to a prompt using the upstream kernel + DTB. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d1f2e5a135a6c0fd422398612aeab260cef28e82 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Thu Feb 26 14:50:00 2015 +0100 ARM: dts: Remove files omap34xx-hs.dtsi and omap36xx-hs.dtsi These files are not used by any DTS file anymore. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e36fcd13c26c360a8ea81910c87eea1e77c6187e Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Mar 18 17:31:31 2015 -0700 ARM: dts: brcmstb: un-hexify clock frequency This value makes much more sense in decimal. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit a3dd3befd7cb7d445fcb7c51cd922bf89afe0762 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:53:09 2015 +0000 usb: gadget: atmel_usba: use endian agnostic IO on ARM Change from using the __raw IO accesors to the endian agnostic versions of readl/writel_relaxed when not on AVR32. This fixes issues with running big endian on ARMv7. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> -- CC: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> CC: Felipe Balbi <balbi@xxxxxx> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> CC: linux-usb@xxxxxxxxxxxxxxx Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b48cb02de37976ad2ebef201ad40aa40156f6daa Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Mon Mar 16 18:10:02 2015 -0700 usb: dwc2: pci: Correctly compile dwc2-pci as a module or built-in The dwc2-pci driver should be compiled as a module when configured to do so. If the dwc2-pci is configured as a module but actually built-in, it can cause build errors due to the fact that the generic-phy will be allowed to compile as a module causing undefined references. Reported-by: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3463d795bf0f8d9b32d4deabaaffcb81a1abb92b Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:27 2015 +0100 usb: gadget: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 557f3586aaac0202010eb70e00d2694437f0cb37 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 16 11:09:38 2015 -0700 usb: gadget: goku_udc: Remove uses of seq_<foo> return values The seq_printf/seq_puts/seq_putc return values, because they are frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Miscellanea: o Coalesce formats, realign arguments o Create static functions for statement expression macros o Use c90 style comments instead of c99 Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 00f30d29b497577954b20237b405e9d22b5286c2 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Mon Mar 16 16:36:48 2015 +0900 usb: renesas_usbhs: fix spinlock suspected in a gadget complete function According to the gadget.h, a "complete" function will always be called with interrupts disabled. However, sometimes usbhsg_queue_pop() function is called with interrupts enabled. So, this function should be held by usbhs_lock() to disable interruption. Also, this driver has to call spin_unlock() to avoid spinlock recursion by this driver before calling usb_gadget_giveback_request(). Otherwise, there is possible to cause a spinlock suspected in a gadget complete function. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 990919cad55a8c38fc73b0a6a0c9e5e4e927a5f8 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Mar 12 09:47:53 2015 +0800 usb: common: otg-fsm: only signal connect after switching to peripheral We should signal connect (pull up dp) after we have already at peripheral mode, otherwise, the dp may be toggled due to we reset controller or do disconnect during the initialization for peripheral, then, the host may be confused during the enumeration, eg, it finds the reset can't succeed, but the device is still there, see below error message. hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-0:1.0: unable to enumerate USB device on port 1 Fixes: the issue existed when the otg fsm code was added. Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 869aee0f31429fa9d94d5aef539602b73ae0cf4b Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 12 09:15:28 2015 +0800 usb: phy: Find the right match in devm_usb_phy_match The res parameter passed to devm_usb_phy_match() is the location where the pointer to the usb_phy is stored, hence it needs to be dereferenced before comparing to the match data in order to find the correct match. Fixes: 410219dcd2ba ("usb: otg: utils: devres: Add API's to associate a device with the phy") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.6+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9843ead08f18270948498f37eb95d6189eed31af Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:24:04 2015 +1000 drm/radeon: add DisplayPort MST support (v2) This adds initial DP 1.2 MST support to radeon, on CAYMAN and up in theory. This is off by default. v2: agd5f: - add UNIPHY3 offsets - move atom cmd table code into atombios_encoders.c - whitespace cleanup - replace some magic numbers with proper defines Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8f0fc088f5fff0c2e4683bc0de7fc849e7d5357a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:24:03 2015 +1000 drm/radeon: improve encoder picking functions (v2) For MST we need to be able to pick front end encoders separate from backend, but only for MST, so we need to make the encoder picking interface smarter. v2: agd5f: squash in: drm/radeon: release digital encoder before asking for new one Reported-by: Dieter Nützel <Dieter@xxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 2be123d7c6d2356cfe6655ccc3c210cf23da80ce Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:24:02 2015 +1000 drm/radeon: export max link rate calculation We need this in the MST code later. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bf071900c347c43f9d982df5209191fc45cbc3a4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:24:01 2015 +1000 drm/radeon: add new atombios encoder/transmitter interfaces These allow overriding the encoder id with the frontend, we need this for setting up MST. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 00a014e8efab508b30843031d60ac01a8b791cc6 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:24:00 2015 +1000 drm/radeon: add some MST registers These registers will be used later to setup Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bb26270ed2d1944e0d7d573b4c46b5dade8db095 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:23:59 2015 +1000 radeon/fb: add wrapper functions around fb connector add/remove These are just two wrappers to be used in the MST code later. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f6b355dda471879a69ddfa83d2db673b61da6c07 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Feb 24 12:38:42 2015 -0500 radeon/cik: add support for short HPD irqs This adds support to process short HPD irqs on CIK gpus. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 47f2467fffc4e1a070b141bc9d1319dc2c0acea5 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:23:58 2015 +1000 radeon/si: add support for short HPD irqs This adds support to process short HPD irqs on SI gpus. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 2bc67b4d9e9f2c8d13782387bbdbb6e1b5e12d30 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:23:57 2015 +1000 radeon/evergreen: add support for short HPD irqs This adds support for processing short irqs, and triggering the dp_work. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit de6284aa0162e6814e4d5f17a0177e0e5aee1ce5 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:23:56 2015 +1000 radeon: introduce a dp_work handler This is to be called on short HPD irqs, just introduce the basic infrastructure for it. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 87f5942d1f7bc320a0ec70ac4a8a3396024c7091 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:23:55 2015 +1000 drm/dp_mst: add a function to retrieve vcpi slots radeon requires this to get the slots for later filling out a table on every transition. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a27c6f3ced3b8cbc8e31189eeffbd0f2f2e2dbc5 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Thu Feb 26 14:49:59 2015 +0100 ARM: dts: omap3-tao3530: Include directly omap34xx.dtsi This patch just move content of file omap34xx-hs.dtsi into omap3-tao3530.dts. There is no code change, patch is just preparation for removing -hs file. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 875711f0e217b00cba1a851eee01c4e33041a91c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Feb 20 09:21:36 2015 +1000 drm/radeon: program auxch directly (v2) The atombios tables have an unfortunate restriction on only being able to write 12 bytes, MST really wants 16-bytes here, and since the hw can do it, we should just write directly to it. This uses a module option to allow for it now, and maybe we should provide the old code as a fallback for a while. v2: (agd5f) - move registers to a proper register header - only enable on DCE5+ - enable by default on DCE5+ - Switch pad to aux mode before using it - reformat instance handling to better match the rest of the driver Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fd99a0943ffaa0320ea4f69d09ed188f950c0432 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Feb 24 11:29:21 2015 -0500 drm/radeon: fix doublescan modes (v2) Use the correct flags for atom. v2: handle DRM_MODE_FLAG_DBLCLK Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b5c9ecab1e99862403a8e1ccccfaac13d1682797 Author: Vincent Batts <vbatts@xxxxxxxxxxxxxxxx> Date: Fri Mar 6 21:07:05 2015 +0000 drm/radeon: typo in parameter description "defaul" -> "default" Signed-off-by: Vincent Batts <vbatts@xxxxxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4535cb9cefbc736b47bc1e7f8628065aba5ca0d7 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 11:26:50 2014 -0400 drm/radeon: add support for read reg query from radeon info ioctl This allows us to query certain registers from userspace for profiling and harvest configuration. E.g., it can be used by the GALLIUM_HUD for profiling the status of various gfx blocks. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 353eec2ab229867d59a12375a48fc65e2d749e8b Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 11:18:46 2014 -0400 drm/radeon: add get_allowed_info_register for CIK Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4af692f6e3b24042bc90b9b9cb1be96d8715345e Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 10:03:31 2014 -0400 drm/radeon: add get_allowed_info_register for SI Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e66582f9ff2fac4c3fddac4f06ebb0e9623485f5 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 09:51:29 2014 -0400 drm/radeon: add get_allowed_info_register for cayman/TN Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ff609975e1cd8a58ee862fb3188e8b01b935131d Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 09:43:38 2014 -0400 drm/radeon: add get_allowed_info_register for EG/BTC Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c6d2ac2c36f80b8be15d47a8da6fca803a432e1c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 09:36:57 2014 -0400 drm/radeon: add get_allowed_info_register for r6xx/r7xx Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 18b53e905756930d6d4e691e1e1c3b43dba0c973 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 09:25:27 2014 -0400 drm/radeon: add get_allowed_info_register function for r1xx-r5xx Just a stub. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4ce4728b5113245c731ac3baef36dce0482cce0c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 09:17:12 2014 -0400 drm/radeon: add new callback for info ioctl register accessor This adds a callback for each asic family to determine what registers are allowed to be read back via the info ioctl. The idea here is to allow usermode to query things like GPU status registers or GPU harvest registers for profiling and determining the gfx config. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 5c363a860398e2a09e5cff7f4654cf82ed8485e1 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 11:33:30 2014 -0400 drm/radeon: add INFO query for current sclk/mclk Allow the UMDs to query the current sclk/mclk for profiling, etc. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9b23bad03263c5496bac2cbb2c2630cb3b8b38be Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 11:21:23 2014 -0400 drm/radeon/kv: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7ce9cdaec35db4c13f2f34dcb63d8bf6f290ffd0 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 11:01:59 2014 -0400 drm/radeon/tn: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 2f8e1eb7d665ca060fc93e9dfd268dee59bd8697 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:58:22 2014 -0400 drm/radeon/sumo: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit dbbd3c81b042ea2e87b37a6945ed8a31aaaaafec Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:54:05 2014 -0400 drm/radeon/ci: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ca1110bc5b8d796a7266c0b6de6131e1cea0409a Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:50:07 2014 -0400 drm/radeon/si: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1d633e3a217986c8daedf82e5810e6c149d5e415 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:46:02 2014 -0400 drm/radeon/ni: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit da6472f349ec3511299a761803a65d3913ffed10 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:41:15 2014 -0400 drm/radeon: remove some rv7xx leftovers from btc dpm code Some copy paste leftovers. No functional change. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 99550ee9e803d9e2cd405bdcfb3d094ea227eb58 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:39:30 2014 -0400 drm/radeon/btc: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 296deb7167b960d935025de770f3e3c6c2998fbd Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:34:39 2014 -0400 drm/radeon/rv7xx/eg: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d0a04d3b2ee87e9b74d0283f6af577e6d7763703 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:27:42 2014 -0400 drm/radeon/rv6xx: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3c94566ce17d03c3601e78071f893ce028d5a696 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:19:57 2014 -0400 drm/radeon/rs780: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d7dbce09b61dbd8c00ea401a2dc734193309cb91 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:12:17 2014 -0400 drm/radeon/dpm: add new callbacks to get the current sclk/mclk Needed to to expose the current clocks via the INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d6d2a1882a79c1a5425d6f82b2fc7b934916f893 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:04:40 2014 -0400 drm/radeon: add INFO query for GPU temperature Useful for profiling. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b9729b17a414f99c61f4db9ac9f9ed987fa0cbfe Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Jan 13 09:40:13 2015 +0100 drm/radeon: dont switch vt on suspend Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a1dcc2778b682361351a369652b66dd2d66cf1d9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Feb 23 17:14:47 2015 -0500 drm/radeon: setup quantization_range in AVI infoframe If the display supports selectable range, set the range based on what the user has selected for output csc. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83226 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 643b1f5629a30f979e2da678ecf0b1855e074a8c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Feb 23 10:59:36 2015 -0500 drm/radeon: implement output csc property for DCE5+ Implement the property for DCE5+ asics. Older asics require a slightly more complex process. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83226 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 67ba31d3528e2460b2243b2d139b70fa479602e8 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Feb 23 10:11:49 2015 -0500 drm/radeon: add an output_csc property This adds the drm property for output csc (e.g., transform of output display colorspace). Currently only common ones (TV RGB, BT.601, BT.709) are supported, but bypass and tv rgb are really the only useful ones at the moment. Additionally we could expose a user adjustable matrix in the future. This commit just adds the property. The hw support will be added in subsequent patches. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83226 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 69540a7c277d96382257216436f41abc040cc878 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Thu Feb 26 14:49:58 2015 +0100 ARM: dts: n900: Enable omap sham and include directly omap34xx.dtsi This patch moves content of file omap34xx-hs.dtsi into omap3-n900.dts and enable omap sham support (omap HW support for SHA + MD5). After testing both omap hwmod and omap-sham.ko drivers it looks like signed Nokia X-Loader enable L3 firewall for omap sham. There is no kernel crash with both official bootloader and crypto enable bootloader. So we can safely enable sham code. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 467a78c82ad5f9a3e3c80eb4ba17de6bb70e4f9b Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 6 10:36:04 2015 +0800 usb: chipidea: udc: apply new usb_udc_vbus_handler interface It can move all pullup/pulldown operation control to udc-core through usb_gadget_connect/usb_gadget_disconnect according to vbus status. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 628ef0d273a69d889669a459fb4675c678ae0418 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 6 10:36:03 2015 +0800 usb: udc: add usb_udc_vbus_handler This commit updates udc core vbus status, and try to connect or disconnect gadget. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c9bdc0dde187e5f6b481989b4084c1b7cbe2726f Merge: de1cf8a f2f8036 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 19 12:26:01 2015 -0400 Merge branch 'tipc-next' Erik Hugne says: ==================== tipc: small bugfix an support for datagram connect() Most notable in this series is patch#3 that allows programs to associate a tipc address with a connectionless (RDM/DGRAM) socket. v2: Fix indent issue in patch#3 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2f8036e391eb82ee78764483f869f2feafb5da8 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Mar 19 09:02:19 2015 +0100 tipc: add support for connect() on dgram/rdm sockets Following the example of ip4_datagram_connect, we store the address in the socket structure for dgram/rdm sockets and use that as the default destination for subsequent send() calls. It is allowed to connect to any address types, and the behaviour of send() will be the same as a normal sendto() with this address provided. Binding to an AF_UNSPEC address clears the association. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bd88ee7a2ea19dffe384e12fe452c59d9e53c29 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Mar 19 09:02:18 2015 +0100 tipc: do not report -EHOSTUNREACH for failed local delivery Since commit 1186adf7df04 ("tipc: simplify message forwarding and rejection in socket layer") -EHOSTUNREACH is propagated back to the sending process if we fail to deliver the message to another socket local to the node. This is wrong, host unreachable should only be reported when the destination port/name does not exist in the cluster, and that check is always done before sending the message. Also, this introduces inconsistent sendmsg() behavior for local/remote destinations. Errors occurring on the receiving side should not trickle up to the sender. If message delivery fails TIPC should either discard the packet or reject it back to the sender based on the destination droppable option. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18d6c58415fa9f5ec98767a2434acc8197c7f288 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Mar 19 09:02:17 2015 +0100 tipc: remove redundant call to tipc_node_remove_conn tipc_node_remove_conn may be called twice if shutdown() is called on a socket that have messages in the receive queue. Calling this function twice does no harm, but is unnecessary and we remove the redundant call. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dfea9c94837d27e38c8cc85a3c1c7c268973c3c2 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 6 10:36:02 2015 +0800 usb: udc: store usb_udc pointer in struct usb_gadget Instead of iterate to find usb_udc according to usb_gadget, this way is easier. Alan Stern suggests this way too: http://marc.info/?l=linux-usb&m=142168496528894&w=2 Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a494e32d3a4fc8852da78b8fc8392aab77f998ba Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Thu Feb 26 14:49:57 2015 +0100 ARM: dts: n9/n950: Enable omap crypto support Harmattan system on Nokia N9 and N950 devices uses omap crypto support. Bootloader on those devices is known that it enables HW crypto support. This patch just include omap36xx.dtsi directly, so aes and sham is enabled. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7252f1bfd4bc97ec4b5fa7adaf3a1a45c325635c Author: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Date: Sun Mar 15 13:24:32 2015 -0700 usb: dwc2: avoid leaking DMA channels on disconnection When the HCD is disconnected, the DMA transfers still in-flight were cleaned-up but the count of available DMA channels (e.g. available_host_channels) was not reset. The pool of DMA channels can be depleted when doing unclean disconnection of USB peripherals, and reaches the point where no transfer was possible until the next reboot/reload of the driver. Tested by putting a programmable USB mux on the port and randomly plugging/unpluging a USB HUB with USB mass-storage key, USB-audio and USB-ethernet dongle connected to its downstream ports, and also doing the disconnection early while the devices are still enumerating to get more URBs in-flight. After the patch, the devices are still enumerating after thousands of cycles, while the port was totally dead before. Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a710d10d021735cc68be9609fe0fefe4c63938ae Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 19 09:14:36 2015 -0700 ARM: dts: Remove PIN_INPUT for dm816x McSPI On dm816x we have no PIN_INPUT vs PIN_OUTPUT configuration, there are just pulls. Let's remove the bogus flags. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit de1a12216af0a46f878b9860fedadc985a7d71f3 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 19 09:14:36 2015 -0700 ARM: dts: Add cppi41 support for dm816x MUSB Looks like we have cppi41 on dm816x just like on am335x. Cc: Bin Liu <binmlist@xxxxxxxxx> Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3438bd2e7b00b047ea243272dc368fef89e90080 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 19 09:14:35 2015 -0700 ARM: dts: Fix typo for dm816x usb0_pins Commit a54879a00859 ("ARM: dts: Fix USB dts configuration for dm816x") attempted to fix the USB features introduced by commit 7800064ba507 ("ARM: dts: Add basic dm816x device tree configuration") but obviously I did not read the dmesg as more USB issues still keep trickling in. It should be usb1_pins instead not usb0_pins for the second interface to avoid warnings from pinctrl framework. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 85e8a0af374090e0bd89b781a1d3aa0eb4fcdfa0 Merge: 06e5801 9a6d729 646c028 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Mar 19 10:56:47 2015 -0500 Merge branches 'pci/iommu' and 'pci/resource' into next * pci/iommu: of: Calculate device DMA masks based on DT dma-range size arm: dma-mapping: limit IOMMU mapping size PCI: Update DMA configuration from DT of/pci: Add of_pci_dma_configure() to update DMA configuration PCI: Add helper functions pci_get[put]_host_bridge_device() of: Fix size when dma-range is not used of: Move of_dma_configure() to device.c to help re-use of: iommu: Add ptr to OF node arg to of_iommu_configure() * pci/resource: PCI: Fail pci_ioremap_bar() on unassigned resources PCI: Show driver, BAR#, and resource on pci_ioremap_bar() failure PCI: Mark invalid BARs as unassigned PNP: Don't check for overlaps with unassigned PCI BARs commit 1164f672d71ac103d85207b0453f3127c0efefb3 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:24 2015 +0100 ARM: at91: drop AT91_TIMER_HZ Drop AT91_TIMER_HZ as this can be handled using HZ_FIXED. Initial help message was: On AT91rm9200 chips where you're using a system clock derived from the 32768 Hz hardware clock, this tick rate should divide it exactly: use a power-of-two value, such as 128 or 256, to reduce timing errors caused by rounding. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 23b8408246aef28499a918b10425c1da4fef613a Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:23 2015 +0100 ARM: at91: remove hardware.h hardware.h is now mostyl unused, move the remaining declarations to pm.c and remove it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4c8056543e6aa283fe03b1e96d2dd22816ee4350 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:22 2015 +0100 ARM: at91: remove SoC headers Remove the now useless SoC headers. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit f56d8f7c29320abe6f923fa1b3cb7adcc3252a24 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:21 2015 +0100 ARM: at91: remove useless mach/cpu.h mach/cpu.h is not used anymore, remove it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0794261104c593c11be48c2e3b5b38e14a036cba Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:20 2015 +0100 ARM: at91: remove unused headers Following the switch to multiplatform, uncompress.h is not used anymore. Remove it. at91_dbgu.h is also not used anymore Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit f6d1c094f7dd336d5e82c2754d37ecc1ae29974f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:19 2015 +0100 ARM: at91: switch at91_dt_defconfig to multiplatform Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 41141127a83d9e986a77a7cab7e27f5afee3bede Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:18 2015 +0100 ARM: at91: switch to multiplatform Switch AT91 to multiplatform as all SoCs are properly handled. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 9e808eb6a7689b61399f772a2576d779161769ec Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Mar 12 15:07:04 2015 -0500 PCI: Cleanup control flow Return errors immediately so the straightline path is the normal, no-error path. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a0c8a4d9f92d1ecd053eaa0e6cde7b4f24af97a8 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Thu Mar 12 15:05:56 2015 -0500 sparc/PCI: Claim bus resources before pci_bus_add_devices() Pci_claim_bus_resources() should be called before pci_bus_add_devices(), or driver may failed to load, because the resources had not claimed. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b97ea289cf6aff8d4cbcefe2b707bb9b00a73c73 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Mon Mar 16 11:18:56 2015 +0800 PCI: Assign resources before drivers claim devices (pci_scan_root_bus()) Previously, pci_scan_root_bus() created a root PCI bus, enumerated the devices on it, and called pci_bus_add_devices(), which made the devices available for drivers to claim them. Most callers assigned resources to devices after pci_scan_root_bus() returns, which may be after drivers have claimed the devices. This is incorrect; the PCI core should not change device resources while a driver is managing the device. Remove pci_bus_add_devices() from pci_scan_root_bus() and do it after any resource assignment in the callers. Note that ARM's pci_common_init_dev() already called pci_bus_add_devices() after pci_scan_root_bus(), so we only need to remove the first call: pci_common_init_dev pcibios_init_hw pci_scan_root_bus pci_bus_add_devices # first call pci_bus_assign_resources pci_bus_add_devices # second call [bhelgaas: changelog, drop "root_bus" var in alpha common_init_pci(), return failure earlier in mn10300, add "return" in x86 pcibios_scan_root(), return early if xtensa platform_pcibios_fixup() fails] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Richard Henderson <rth@xxxxxxxxxxx> CC: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> CC: Matt Turner <mattst88@xxxxxxxxx> CC: David Howells <dhowells@xxxxxxxxxx> CC: Tony Luck <tony.luck@xxxxxxxxx> CC: Michal Simek <monstr@xxxxxxxxx> CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx> CC: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> CC: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Chris Metcalf <cmetcalf@xxxxxxxxxx> CC: Chris Zankel <chris@xxxxxxxxxx> CC: Max Filippov <jcmvbkbc@xxxxxxxxx> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ea6edfbcefec1fcfdb826a1d5a054f402dfbfb24 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Thu Mar 19 21:23:40 2015 +0800 mac802154: fix typo in header guard Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Fixes: b6eea9ca354a ("mac802154: introduce driver-ops header") Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cff549e4860fcdea6b22510defdc8c8a0f82455a Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Feb 2 14:01:26 2015 +0100 scsi: proper state checking and module refcount handling in scsi_device_get This effectively reverts commits 85b6c7 ("[SCSI] sd: fix cache flushing on module removal (and individual device removal)" and dc4515ea ("scsi: always increment reference count"). We now never call scsi_device_get from the shutdown path, and the fact that we started grabbing reference there in commit 85b6c7 turned out turned out to create more problems than it solves, and required workarounds for workarounds for workarounds. Move back to properly checking the device state and carefully handle module refcounting. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 1f16ea294d2ef63013740f4c8539e430b6c12dff Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 6 09:17:37 2015 +0100 iwlwifi: mvm: remove WARN_ON for invalid BA notification The firmware frequently manages to trigger this, and there's no known driver workaround, so stop warning. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3d9a1f530e508ff6fc9ab8220016b02f1bce255b Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Feb 2 14:01:25 2015 +0100 sd: don't grab a device references from driver methods The device model already takes care of races between ->remove and ->shutdown vs its other methods, and we now take care about locking them out for ->rescan as well. This is a partial revert of commit 39b7f1 ("[SCSI] sd: Fix refcounting"). Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit e27829dc92e549486b8248cdfa53e108abb6acfb Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Feb 2 14:01:24 2015 +0100 scsi: serialize ->rescan against ->remove Lock the device embedded in the scsi_device to protect against concurrent calls to ->remove. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 48e67751681654efe9743be64f18f1f08d1dbef2 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Tue Mar 3 12:03:20 2015 +0200 iwlwifi: mvm: take IWL_MVM_REF_UCODE_DOWN before restarting hw we unref IWL_MVM_REF_UCODE_DOWN on iwl_mvm_restart_complete(). Usually, the restart is initiated by iwl_mvm_nic_restart(), which takes the reference before restarting the hw. However, in D3 flow we might call ieee80211_restart_hw() directly (in case of suspend error and on d3_test-resume), which without taking the ref first. fix it. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 28c8c19a0004a74cd6303fa088b33212d0d80536 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Tue Mar 3 16:19:36 2015 +0200 iwlwifi: mvm: don't wait for firmware verification The firmware has a race in the flow that indicates the completion of the authentication. Checking the completion of the authentication is not really needed anyway since we can wait for the ALIVE notification instead. Remove the unneeded and buggy code. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 132fee062655e90948e189c8c14ce21f115ebbda Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Thu Mar 19 12:46:06 2015 +0200 iwlwifi: add new 3165 series PCI IDs Add new 3165 PCI IDs for new 1x1 cards. Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit dcbc17ad7c7525ed04a45a94cfc5640d5cccf480 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 10 21:24:34 2015 +0100 iwlwifi: mvm: protect rate scaling against non-mvm IBSS stations When the driver callback returns that it's out of space for new stations, the mac80211 IBSS code still keeps the station so it doesn't try to add it over and over again. Since the rate scaling algorithm is separate in mac80211, it also invokes the rate scaling algorithm for such stations. It doesn't know that our rate scaling algorithm is tightly integrated with the MVM code and relies on those data structures, and it cannot as the abstraction doesn't allow for it. This leads to crashes when the rate scaling algorithm tries to use uninitialized data, notably the mvmsta->vif pointer. Protect against this in the rate scaling algorithm. We cannot get good rates with such peers anyway since the firmware cannot do anything with them. This should fix https://bugzilla.kernel.org/show_bug.cgi?id=93461 CC: <stable@xxxxxxxxxxxxxxx> Reported-by: Richard Taylor <rjt-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9c8928f5176766bec79f272bd47b7124e11cccbd Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 16 09:08:07 2015 +0200 iwlwifi: dvm: run INIT firmware again upon .start() The assumption before this patch was that we don't need to run again the INIT firmware after the system booted. The INIT firmware runs calibrations which impact the physical layer's behavior. Users reported that it may be helpful to run these calibrations again every time the interface is brought up. The penatly is minimal, since the calibrations run fast. This fixes: https://bugzilla.kernel.org/show_bug.cgi?id=94341 CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit de4b00b0937aba99b7099afc6ed17a81163faab3 Author: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Date: Thu Mar 19 13:35:16 2015 +0100 drm: sti: convert driver to atomic modeset v1: This patch does the minimum to make sti driver use atomic helpers. No big bang, only adapt some functions to new call order. v2: Use dpms and page flip atomic helpers Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit ec523735e4a9969e5469c93c87a25a92f619f118 Author: Redha Gouicem <redha.gouicem@xxxxxxxxx> Date: Thu Mar 19 10:16:08 2015 +0100 Staging: lustre: lnet: lnet: router.c: fix useless returns and elses This patch removes useless returns and elses. Signed-off-by: Redha Gouicem <redha.gouicem@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6157b1b19dbebcdabe5024ad0698499d9b46270 Author: Redha Gouicem <redha.gouicem@xxxxxxxxx> Date: Thu Mar 19 10:16:07 2015 +0100 Staging: lustre: lnet: lnet: router.c: fix 80 char line limit This patch fixes lines longer than the 80 char limit. Signed-off-by: Redha Gouicem <redha.gouicem@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b24062bda7baba62781c2a67d126126ce0bc8899 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:48:56 2015 +0100 ALSA: aoa: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4a97abd44329bf7b9c57f020224da5f823c9c9ea Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 17 18:05:13 2015 +0000 arm64/crypto: issue aese/aesmc instructions in pairs This changes the AES core transform implementations to issue aese/aesmc (and aesd/aesimc) in pairs. This enables a micro-architectural optimization in recent Cortex-A5x cores that improves performance by 50-90%. Measured performance in cycles per byte (Cortex-A57): CBC enc CBC dec CTR before 3.64 1.34 1.32 after 1.95 0.85 0.93 Note that this results in a ~5% performance decrease for older cores. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b63dbef93f91d56cb4385fdd8d1765201d451136 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Wed Mar 4 13:27:35 2015 +0000 arm64: fixmap: check idx is definitely valid Fixmap indices are in the interval (FIX_HOLE, __end_of_fixed_addresses), but in __set_fixmap we only check idx <= __end_of_fixed_addresses, and therefore indices <= FIX_HOLE are erroneously accepted. If called with such an idx, __set_fixmap may corrupt page tables outside of the fixmap region. This patch ensures that we validate the idx against both endpoints of the interval. Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 19fc577579c86fec6e2523baeb457b02e939796f Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Wed Mar 4 13:27:34 2015 +0000 arm64: fixmap: make FIX_TEXT_POKE0 permanent The FIX_TEXT_POKE0 is currently at the end of the temporary fixmap slots, despite the fact that it can be used at any point during runtime (e.g. for poking the text of loaded modules), and thus should be a permanent fixmap slot (as is the case on arm and x86). This patch moves FIX_TEXT_POKE0 into the set of permanent fixmap slots. Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e6a2e1b6c24a3993ffbb69a05dda202d2830ad90 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 10:14:39 2015 +0000 arm64: mm: unexport set_memory_ro and set_memory_rw This effectively unexports set_memory_ro and set_memory_rw functions from commit 11d91a770f1f ("arm64: Add CONFIG_DEBUG_SET_MODULE_RONX support"). No module user of those is in mainline kernel and we explicitly do not want modules to use these functions, as they i.e. RO-protect eBPF (interpreted and JIT'ed) images from malicious modifications/bugs. Outside of eBPF scope, I believe also other set_memory_* functions should be unexported on arm64 due to non-existant mainline module user. Laura mentioned that they have some uses for modules doing set_memory_*, but none that are in mainline and it's unclear if they would ever get there. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a8fcd8b192bb15debe1db276e073c6ba9a3fc953 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Mar 16 16:32:23 2015 +0000 arm64: Enable CONFIG_COMPAT also for 64k page size With binutils 2.25 the default alignment for 32bit arm sections changed to have everything 64k aligned. Armv7 binaries built with this binutils version run successfully on an arm64 system. Since effectively there is now the chance to run armv7 code on arm64 even with 64k page size, it doesn't make sense to block people from enabling CONFIG_COMPAT on those configurations. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 18ccb0cab49ef7868eaf9504f257e1a84683dbbd Author: Andreas Schwab <schwab@xxxxxxx> Date: Mon Mar 16 16:32:22 2015 +0000 arm64: fix implementation of mmap2 compat syscall The arm mmap2 syscall takes the offset in units of 4K, thus with 64K pages the offset needs to be scaled to units of pages. Signed-off-by: Andreas Schwab <schwab@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> [will: removed redundant lr parameter, localised PAGE_SHIFT #if check] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c6169e49bd37c9556efd7564bcbbf7067cd7efa8 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Mar 2 14:38:52 2015 +0200 drm: adv7511: Refactor power management Remove the internal dependency on DPMS mode for power management by using a by a powered state boolean instead, and use the new power off handler at probe time. This ensure that the regmap cache is properly marked as dirty when the device is probed, and the registers properly synced during the first power up. As a side effect this removes the initialization of current_edid_segment at probe time, as the field will be initialized when the device is powered on, at the latest right before reading EDID data. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Christian Kohn <christian.kohn@xxxxxxxxxx> Tested-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> commit a5241289c4139f0521b89e34a70f5f998463ae15 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 15:19:33 2015 +0200 drm: adv7511: Fix nested sleep when reading EDID The EDID read code waits for the read completion interrupt to occur using wait_event_interruptible(). The condition passed to the macro reads I2C registers. This results in sleeping with the task state set to TASK_INTERRUPTIBLE, triggering a WARN_ON() introduced in commit 8eb23b9f35aae ("sched: Debug nested sleeps"). Fix this by reworking the EDID read code. Instead of checking whether the read is complete through I2C reads, handle the interrupt registers in the interrupt handler and update a new edid_read flag accordingly. As a side effect both the IRQ and polling code paths now process the interrupt sources through the same code path, simplifying the code. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 2e96206c4f952295e11c311fbb2a7aa2105024af Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 15:19:33 2015 +0200 drm: adv7511: Fix DDC error interrupt handling The DDC error interrupt bit is located in REG_INT1, not REG_INT0. Update both the interrupt wait code and the interrupt sources reset code accordingly. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 292a3546b9eb20bf5a292f4e55dd1a027424669f Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 17:33:54 2015 +0100 ARM: mvebu: Conform L2CC node with ePAPR specification by adding cache-level For L2 cache controller node, cache-level property is mandatory. Let's add it to Armada 370 and Armada XP device tree. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit b7f01842bcbbf8aaf26c9f9bd413774114fa83c9 Author: Nadav Haklai <nadavh@xxxxxxxxxxx> Date: Tue Mar 17 13:53:34 2015 +0100 ARM: mvebu: clk: remove cpuclk resources overlapping coredivclk registers on Armada XP The resources of the cpuclk node are overlapping the one from coredivclk node. It was not noticed until now because the driver did a simple of_iomap and not a request_mem_region. This patch fixes it. [gregory.clement@xxxxxxxxxxxxxxxxxx: add commit log and port to 4.0-rc] Signed-off-by: Nadav Haklai <nadavh@xxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 6dbe686b598912051a976bb351bdd06e4abf7c49 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 21:22:10 2015 +0200 drm: rcar-du: Enable the atomic updates API Set the DRIVER_ATOMIC flag to enable usage of the atomic updates API with the driver. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 3515a9a20abc9248beadea0af468f753d67a9965 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Mar 5 23:46:22 2015 +0200 drm: rcar-du: Don't initialize event->pipe field The field is set by drm_send_vblank_event(), there's no need to preinitialize it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit de115fac7388264f6f1865a12ea6e4101bd05c48 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Mar 5 19:41:04 2015 +0200 drm: rcar-du: Fix framebuffer reference leak through plane state Plane state duplication takes a reference to the framebuffer stored in the state, but state destroy doesn't release it. This causes a reference leak. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 343e0d2b58117f58afd3718e863addcc357c01de Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Mar 8 12:15:56 2015 -0700 MAINTAINERS: Remove rcar-du.h entry commit 2378ad1228d2 ("drm: rcar-du: Remove platform data support") removed the file, remove the pattern. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit a4dd4ddd4b4f2a7f4e08d29f2c2fa46c8f5ce379 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 17 14:38:11 2015 +0200 gpio: dwapb: enable for Quark The Intel Quark SoC contains the DW GPIO on board. While fixing the build error the commit 1972c97db5b0 (gpio: dwapb: fix compile errors) disables the possibility to build the driver on X86, i.e. Intel Quark. The patch reenables it for Intel Quark as well. Since we have Intel Quark SoC introduced in 4.0-rc1 I would like to make this fix available there as well, though the actual MFD driver [1] is applied only for next version. [1] https://lkml.org/lkml/2015/2/1/217 Fixes: 1972c97db5b0 (gpio: dwapb: fix compile errors) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1ecb016e18149a1ea3de7dfd98f60b4b03e5e855 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Mar 10 23:10:01 2015 +0100 gpio / ACPI: Use local variable instead of ACPI_HANDLE() In acpi_gpiochip_request_interrupts() the handle local variable already contains the value that we want to pass to acpi_walk_resources(), so it is better to use that variable instead of evaluating ACPI_HANDLE() once more for the same device. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4d8440b93ce8a8544199804dbcf997b2ab3dad11 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Mar 10 23:08:57 2015 +0100 gpio / ACPI: Avoid unnecessary checks in __gpiod_get_index() If dev is NULL in __gpiod_get_index() and both ACPI and OF are enabled, it will be checked twice before the code decides to give up with DT/ACPI lookup, so avoid that. Also use the observation that ACPI_COMPANION() is much more efficient than ACPI_HANDLE(), because the latter uses the former and carries out a check and a pointer dereference on top of it, so replace the ACPI_HANDLE() check with an ACPI_COMPANION() one which does not require the additional IS_ENABLED(CONFIG_ACPI) check too. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 964cb341882f920a1a1043864178f22def3193e4 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Mar 18 01:56:17 2015 +0100 gpio: move pincontrol calls to <linux/gpio/driver.h> These functions do not belong in <asm-generic/gpio.h> since the split into separate GPIO headers under <linux/gpio/*>. Move them to <linux/gpio/driver.h> as is apropriate. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e4c02dced975cbb3e7cb097a0895ce0143b3386a Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Mar 16 22:42:34 2015 +0100 pinctrl: tegra: use signed bitfields for optional fields Optional fields are set to -1 by various preprocessor macros. Make sure the fields can actually store them. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6b94aea01d4f96235e947892f6c39f837045e741 Merge: d79dc0a 1067219 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 19 14:05:53 2015 +1000 Merge branch 'drm_next' of https://github.com/markyzq/kernel-drm-rockchip into drm-next rockchip fixes. * 'drm_next' of https://github.com/markyzq/kernel-drm-rockchip: drm/rockchip: vop: power off until vop standby take effect drm/rockchip: vop: set vop enabled after enable iommu drm/rockchip: vop use is_enabled instead of dpms mode drm/rockchip: vop: fix vop vsync/hsync polarity drm/rockchip: Only alloc a kmap for fbdev gem object commit d79dc0a9baef6ba909ac9e8da095524046523d6a Merge: 03be700 522cf91 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 19 14:03:39 2015 +1000 Merge tag 'topic/drm-misc-2015-03-18' of git://anongit.freedesktop.org/drm-intel into drm-next Another drm-misch pull request. Mostly the fbdev sizes deconfusion series from Rob, everything else is small stuff all over. And the large i2c over aux transfers patch, too. * tag 'topic/drm-misc-2015-03-18' of git://anongit.freedesktop.org/drm-intel: drm: check that planes types are correct while initializing CRTC drm: change connector to tmp_connector drm: Fix some typo mistake of the annotations drm: Silence sparse warnings drm: %pF is only for function pointers drm/fb: handle tiled connectors better drm/fb: small cleanup drm/rockchip: use correct fb width/height drm/exynos: use correct fb width/height drm/cma: use correct fb width/height drm/atomic: minor kerneldoc typo fix drm/fb: document drm_fb_helper_surface_size drm/dp: Use large transactions for I2C over AUX drm/plane-helper: Fixup mismerge drm/atomic: Constify a bunch of functions pointer structs commit 4eebd5a4e72697aac25a8a57d3f888a9d5f80370 Author: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Date: Wed Mar 11 22:34:45 2015 +0100 apple-gmux: lock iGP IO to protect from vgaarb changes As GMUX depends on IO for iGP to be enabled and active, lock the IO at vgaarb level. This should prevent GPU driver for dGPU to disable IO for iGP while it tries to own legacy VGA IO. This fixes usage of backlight control combined with closed nvidia driver on some Apple dual-GPU (intel/nvidia) systems. On those systems loading nvidia driver disables intel IO decoding, disabling the gmux backlight controls as a side effect. Prior to commits moving boot_vga from (optional) efifb to less optional vgaarb this mis-behavior could be avoided by using right kernel config (efifb enabled but vgaarb disabled). This patch explicitly does not try to trigger vgaarb changes in order to avoid confusing already running graphics drivers. If IO has been mis-configured by vgaarb gmux will thus fail to probe. It is expected to load/probe gmux prior to graphics drivers. Fixes: ce027dac592c0ada241ce0f95ae65856828ac450 # nvidia interaction Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=86121 Reported-by: Petri Hodju <petrihodju@xxxxxxxxx> Tested-by: Petri Hodju <petrihodju@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Signed-off-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit de1cf8a7d7a369bc7d63f7be27e3d84ad6a69bb2 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Thu Mar 19 08:51:27 2015 +0800 net/mlx4_en: mlx4_en_set_tx_maxrate() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af615762e972be0c66cf1d156ca4fac13b93c0b0 Author: Jörg Thalheim <joerg@xxxxxxxxxxxxx> Date: Wed Mar 18 10:06:58 2015 +0100 bridge: add ageing_time, stp_state, priority over netlink Signed-off-by: Jörg Thalheim <joerg@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99c4a26a159b28fa46a3e746a9b41b297e73d261 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 22:52:33 2015 -0400 net: Fix high overhead of vlan sub-device teardown. When a networking device is taken down that has a non-trivial number of VLAN devices configured under it, we eat a full synchronize_net() for every such VLAN device. This is because of the call chain: NETDEV_DOWN notifier --> vlan_device_event() --> dev_change_flags() --> __dev_change_flags() --> __dev_close() --> __dev_close_many() --> dev_deactivate_many() --> synchronize_net() This is kind of rediculous because we already have infrastructure for batching doing operation X to a list of net devices so that we only incur one sync. So make use of that by exporting dev_close_many() and adjusting it's interfaace so that the caller can fully manage the batch list. Use this in vlan_device_event() and all the overhead goes away. Reported-by: Salam Noureddine <noureddine@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 738e6d30d392fb75933a5eb4b481811598038786 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 17:40:51 2015 -0700 inet: add a schedule point in inet_twsk_purge() On a large hash table, we can easily spend seconds to walk over all entries. Add a cond_resched() to yield cpu if necessary. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db19170bc0a254b46c732ea4bdf1c6cf0de6b38b Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue Mar 17 20:23:16 2015 -0600 rocker: add support for phys_port_name Implement the phys_port_name operation. Port names are pulled from the rocker hardware model in qemu and default to the qemu name + port id. e.g., sw1p1: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 52:54:00:12:35:01 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 where 'sw1' comes from the qemu command line -device rocker,name=sw1, and 'p1' is port 1. Patch is adapted from Scott's phys_port_id patch. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db24a9044ee191c397dcd1c6574f56d67d7c8df5 Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue Mar 17 20:23:15 2015 -0600 net: add support for phys_port_name Similar to port id allow netdevices to specify port names and export the name via sysfs. Drivers can implement the netdevice operation to assist udev in having sane default names for the devices using the rule: $ cat /etc/udev/rules.d/80-net-setup-link.rules SUBSYSTEM=="net", ACTION=="add", ATTR{phys_port_name}!="", NAME="$attr{phys_port_name}" Use of phys_name versus phys_id was suggested-by Jiri Pirko. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56ef9c909b40483d2c8cb63fcbf83865f162d5ec Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Wed Mar 18 14:50:44 2015 -0300 vxlan: Move socket initialization to within rtnl scope Currently, if a multicast join operation fail, the vxlan interface will be UP but not functional, without even a log message informing the user. Now that we can grab socket lock after already having rntl, we don't need to defer socket creation and multicast operations. By not deferring we can do proper error reporting to the user through ip exit code. This patch thus removes all deferred work that vxlan had and put it back inline. Now the socket will only be created, bound and join multicast group when one bring the interface up, and will undo all that as soon as one put the interface down. As vxlan_sock_hold() is not used after this patch, it was removed too. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54ff9ef36bdf84d469a098cbf8e2a103fbc77054 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Wed Mar 18 14:50:43 2015 -0300 ipv4, ipv6: kill ip_mc_{join, leave}_group and ipv6_sock_mc_{join, drop} in favor of their inner __ ones, which doesn't grab rtnl. As these functions need to operate on a locked socket, we can't be grabbing rtnl by then. It's too late and doing so causes reversed locking. So this patch: - move rtnl handling to callers instead while already fixing some reversed locking situations, like on vxlan and ipvs code. - renames __ ones to not have the __ mark: __ip_mc_{join,leave}_group -> ip_mc_{join,leave}_group __ipv6_sock_mc_{join,drop} -> ipv6_sock_mc_{join,drop} Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit baf606d9c9b12517e47e0d1370e8aa9f7323f210 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Wed Mar 18 14:50:42 2015 -0300 ipv4,ipv6: grab rtnl before locking the socket There are some setsockopt operations in ipv4 and ipv6 that are grabbing rtnl after having grabbed the socket lock. Yet this makes it impossible to do operations that have to lock the socket when already within a rtnl protected scope, like ndo dev_open and dev_stop. We normally take coarse grained locks first but setsockopt inverted that. So this patch invert the lock logic for these operations and makes setsockopt grab rtnl if it will be needed prior to grabbing socket lock. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df67a2b72eb6fa205c0954e3f4f416e282e7412b Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Mar 17 16:25:12 2015 +0100 ARM: shmobile: cpuidle: Remove the pointless default driver The default idle driver uses one state with the WFI instruction. The default idle routine invokes WFI when no cpuidle driver is present. The default cpuidle driver is pointless and does not give more than the default idle routine and moreover it pulls all the mathematics tied with the cpuidle governor for nothing, hence consuming more energy. Remove the default driver, the related code and register the driver directly. [compiled only - no board - no test] Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fdf9ef8999c0758bf622899e049f2be45ab1f4da Merge: 8f6320d 08d2cc3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 22:00:44 2015 -0400 Merge branch 'listen_refactor_part_13' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 13 inet_hash functions are in a bad state : Too much IPv6/IPv4 copy/pasting. Lets refactor a bit. Idea is that we do not want to have an equivalent of inet_csk(sk)->icsk_af_ops for request socks in order to be able to use the right variant. In this patch series, I started to let IPv6/IPv4 converge to common helpers. Idea is to use ipv6_addr_set_v4mapped() even for AF_INET sockets, so that we can test if (sk->sk_family == AF_INET6 && !ipv6_addr_v4mapped(&sk->sk_v6_daddr)) to tell if we deal with an IPv6 socket, or IPv4 one, at least in slow paths. Ideally, we could save 8 bytes per struct sock_common, if we alias skc_daddr & skc_rcv_saddr to skc_v6_daddr[3]/skc_v6_rcv_saddr[3]. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08d2cc3b26554cae21f279b520ae5c2a3b2be421 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:38 2015 -0700 inet: request sock should init IPv6/IPv4 addresses In order to be able to use sk_ehashfn() for request socks, we need to initialize their IPv6/IPv4 addresses. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4d6444ea3b50bf368639432657bcf2b4e5e1062 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:37 2015 -0700 inet: get rid of last __inet_hash_connect() argument We now always call __inet_hash_nolisten(), no need to pass it as an argument. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77a6a471bc18763cb2e80a8cc92f4c04eae37d32 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:36 2015 -0700 ipv6: get rid of __inet6_hash() We can now use inet_hash() and __inet_hash() instead of private functions. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d1e559d0b1b0d02f76a6bd5b768a99dc834ae926 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:35 2015 -0700 inet: add IPv6 support to sk_ehashfn() Intent is to converge IPv4 & IPv6 inet_hash functions to factorize code. IPv4 sockets initialize sk_rcv_saddr and sk_v6_daddr in this patch, thanks to new sk_daddr_set() and sk_rcv_saddr_set() helpers. __inet6_hash can now use sk_ehashfn() instead of a private inet6_sk_ehashfn() and will simply use __inet_hash() in a following patch. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b441f76f1b83591e8cd9d60ba1df3a2aacde27f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:34 2015 -0700 net: introduce sk_ehashfn() helper Goal is to unify IPv4/IPv6 inet_hash handling, and use common helpers for all kind of sockets (full sockets, timewait and request sockets) inet_sk_ehashfn() becomes sk_ehashfn() but still only copes with IPv4 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6eada0110c8984477f5f1e57a0b7f7b2fc841e30 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:33 2015 -0700 netns: constify net_hash_mix() and various callers const qualifiers ease code review by making clear which objects are not written in a function. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58d2930f4ee335ab703d768cb0318331fc1bb62c Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Tue Mar 17 16:19:58 2015 +0900 KVM: Eliminate extra function calls in kvm_get_dirty_log_protect() When all bits in mask are not set, kvm_arch_mmu_enable_log_dirty_pt_masked() has nothing to do. But since it needs to be called from the generic code, it cannot be inlined, and a few function calls, two when PML is enabled, are wasted. Since it is common to see many pages remain clean, e.g. framebuffers can stay calm for a long time, it is worth eliminating this overhead. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit bdc455b512c880292d7f145e73aed5e37a90f6e4 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Mar 18 21:31:38 2015 +0530 ASoC: Intel: acpi_probe: fix error return path Fix the sst_acpi_probe memory allocation error path by setting right error code and initiating the cleanup insteadof just returning Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit faac2458518e20130664d77b657303758f1aaf5a Author: Bandan Das <bsd@xxxxxxxxxx> Date: Mon Mar 16 17:18:25 2015 -0400 KVM: SVM: Fix confusing message if no exit handlers are installed I hit this path on a AMD box and thought someone was playing a April Fool's joke on me. Signed-off-by: Bandan Das <bsd@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 5d5b275d727753372f0a390b4121738d073f3e94 Author: Lu, Han <han.lu@xxxxxxxxx> Date: Thu Mar 19 08:38:00 2015 +0800 Intel: ASoC: Add condition check before set param to waves Check waves state before set parameter through ipc to prevent unexpected operation. Also remove redundant check. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit acf60c3d3d596d62272a8f584049b926c4015564 Author: Gauthier Voron <gauthier.voron@xxxxxxx> Date: Wed Mar 18 23:46:41 2015 +0100 Staging: lustre: fix some coding style This patch remove unnecessary bracket. Signed-off-by: Gauthier Voron <gauthier.voron@xxxxxxx> Signed-off-by: Hakan Metin <hakan.metin@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f0d9bfabfd2e45eff276178717fdaa1f2d2cc95 Author: Gauthier Voron <gauthier.voron@xxxxxxx> Date: Wed Mar 18 23:45:53 2015 +0100 Staging: lustre: fix coding style This patch fix too large line. Signed-off-by: Gauthier Voron <gauthier.voron@xxxxxxx> Signed-off-by: Hakan Metin <hakan.metin@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b37729bd184fdd44f144c6cc4951b06b55bcf4b Author: Peter Huewe <peterhuewe@xxxxxx> Date: Mon Mar 16 22:26:21 2015 +0100 tpm/tpm_infineon: Use struct dev_pm_ops for power management Make the tpm_infineon driver define its PM callbacks through a struct dev_pm_ops object rather than by using legacy PM hooks in struct pnp_driver. This allows the driver to use tpm_pm_suspend() as its suspend callback directly, so we can remove the duplicated savestate code. Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit ce93b4b086b6497bb5809ba706dd9caa39cadbbe Author: Peter Huewe <peterhuewe@xxxxxx> Date: Sun Mar 15 01:05:31 2015 +0100 MAINTAINERS: Add Jason as designated reviewer for TPM Jason does an excellent job reviewing the TPM stuff, so we add him to the designated reviewer list (with his consent :) Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 44506436d707ee89db4c7cf7b5bf07c9b8ae71b0 Author: Peter Huewe <peterhuewe@xxxxxx> Date: Sun Mar 15 00:54:43 2015 +0100 tpm: Update KConfig text to include TPM2.0 FIFO chips I got a lot of requests lately about whether the new TPM2.0 support includes the FIFO interface for TPM2.0 as well. The FIFO interface is handled by tpm_tis since FIFO=TIS (more or less). -> Update the helptext and headline Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 92a2c6b26b72a65714e8433bb0ee2ad1866df5cf Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Mar 8 11:17:16 2015 +0100 tpm/st33zp24/dts/st33zp24-spi: Add dts documentation for st33zp24 spi phy Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit f042a315ae65d37ddd429ed6f60f1f87fdd48125 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Mar 8 11:17:15 2015 +0100 tpm/st33zp24/spi: Add st33zp24 spi phy st33zp24 TIS 1.2 support also SPI. It is using a proprietary protocol to transport TIS data. Acked-by: Jarkko Sakkinen <jarkko.sakknen@xxxxxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit bf38b8710892333cec2d8069644eb36ff435fd6f Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Mar 8 11:17:14 2015 +0100 tpm/tpm_i2c_stm_st33: Split tpm_i2c_tpm_st33 in 2 layers (core + phy) tpm_i2c_stm_st33 is a TIS 1.2 TPM with a core interface which can be used by different phy such as i2c or spi. The core part is called st33zp24 which is also the main part reference. include/linux/platform_data/tpm_stm_st33.h is renamed consequently. The driver is also split into an i2c phy in charge of sending/receiving data as well as managing platform data or dts configuration. Acked-by: Jarkko Sakkinen <jarkko.sakknen@xxxxxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit fe7d36859f25cec5029fb4f26e40db2fea623906 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Mar 8 11:17:13 2015 +0100 tpm/tpm_i2c_stm_st33: Replace access to io_lpcpd from struct st33zp24_platform_data to tpm_stm_dev io_lpcpd is accessible from struct tpm_stm_dev. struct st33zp24_platform_data is only valid when using static platform configuration data, not when using dts. Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 34d47b6322087665be33ca3aa81775b143a4d7ac Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Wed Mar 18 08:17:14 2015 +0200 tpm: fix: sanitized code paths in tpm_chip_register() I started to work with PPI interface so that it would be available under character device sysfs directory and realized that chip registeration was still too messy. In TPM 1.x in some rare scenarios (errors that almost never occur) wrong order in deinitialization steps was taken in teardown. I reproduced these scenarios by manually inserting error codes in the place of the corresponding function calls. The key problem is that the teardown is messy with two separate code paths (this was inherited when moving code from tpm-interface.c). Moved TPM 1.x specific register/unregister functionality to own helper functions and added single code path for teardown in tpm_chip_register(). Now the code paths have been fixed and it should be easier to review later on this part of the code. Cc: <stable@xxxxxxxxxxxxxxx> Fixes: 7a1d7e6dd76a ("tpm: TPM 2.0 baseline support") Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Tested-by: Scot Doyle <lkml14@xxxxxxxxxxxxx> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 71150d226564686ef32d15d29edfd18346f6e929 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Mar 18 22:40:04 2015 +0100 PNP: Avoid leaving unregistered device objects in lists pnp_register_protocol() and __pnp_add_device() both have a problem that if device_register() fails, the objects they create will be left in the lists they have been put one beforehand. Unfortunately, that is not handled by the callers of those routines either, so in case of a device registration errors the PNP bus type's data structures will end up in an inconsistent state. Make pnp_register_protocol() and __pnp_add_device() remove the objects from the lists if device registration fails. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 38f6b38dbb0896511c509fbb6ceabbedbee8e87d Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Mar 18 22:39:55 2015 +0100 PNP: Convert pnp_lock into a mutex pnp_lock is a spinlock, but it is only acquired from process context, so it may be a mutex just fine. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit aee94467d9858b5441c278ffa39dcd19bef548cf Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:37 2015 +0100 PNP: tty/serial/8250/8250_fintek: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 99f74f12e87426be0f83b87b5e46c1ec8b00bd0f Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:36 2015 +0100 PNP: platform/x86/apple-gmux: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ed03538aa8d5f03432ddd5ed73fc0ba2725af93d Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:35 2015 +0100 PNP: net/sb1000: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit af638a04070f54c22c2fe7523e742d06b5f980bf Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:34 2015 +0100 PNP: media/rc: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6a5333092e4674c1e1f7de05ce6a167273f5afdb Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:33 2015 +0100 PNP: ide/ide-pnp: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 99c876bec30d064679c07d53b44a4e99da10f576 Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:32 2015 +0100 PNP: ata/pata_isapnp: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1551660369d00a7e8cdfa12e9af132053eb67140 Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:31 2015 +0100 PNP: tpm/tpm_infineon: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 95c0fd457b03099b5ce385f3982e06d01ad42c5c Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:30 2015 +0100 PNP: Add helper macro for pnp_register_driver boilerplate This patch introduces the module_pnp_driver macro which is a convenience macro for PNP driver modules similar to module_pci_driver. It is intended to be used by drivers which init/exit section does nothing but register/unregister the PNP driver. By using this macro it is possible to eliminate a few lines of boilerplate code per PNP driver. Based on work done by Lars-Peter Clausen <lars@xxxxxxxxxx> for other busses (i2c and spi) and Greg KH for PCI. Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2f249358eedaf81cede7fb0927ed0bd9c1ae2de7 Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Fri Mar 13 12:39:02 2015 +0800 cpufreq: qoriq: rename the driver This driver works on all QorIQ platforms which include ARM-based cores and PPC-based cores. Rename it in order to represent better. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a4f207428b53975069d12d49a509b440c707d691 Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Fri Mar 13 12:39:01 2015 +0800 cpufreq: qoriq: Make the driver usable on all QorIQ platforms Freescale introduced new ARM core-based SoCs which support dynamic frequency switch feature. DFS on new SoCs are compatible with current PowerPC CoreNet platforms. In order to support those new platforms, this driver needs to be updated. The main changes include: 1. Changed the names of functions in driver. 2. Added two new functions get_cpu_physical_id() and get_bus_freq(). 3. Used a new way to get the CPU mask which share clock wire. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 71474ccba11fa81e096844f2294bf218e32eea4f Author: Jonathan Sid-Otmane <jonathan.sidotmane@xxxxxxxxx> Date: Wed Mar 18 22:12:47 2015 +0100 Staging: lustre: niobuf.c fic 80 char limit This fixes the charatcer limit in niobuf.c Signed-off-by: Jonathan Sid-Otmane <Jonathan.SidOtmane@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 245cbcff17a512fdaf63fe7766560f2981a6b8cf Author: Jonathan Sid-Otmane <jonathan.sidotmane@xxxxxxxxx> Date: Wed Mar 18 21:59:41 2015 +0100 Staging: lustre: vvp_dev.c: fix spaces issues This fixes the space issues in the file vvp_dev.c Signed-off-by: Jonathan Sid-Otmane <Jonathan.SidOtmane@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b5cf51500a62b5abcaaa9f63600e10fa95cddd8 Author: Roberto Medina <robertoxmed@xxxxxxxxx> Date: Wed Mar 18 19:22:49 2015 +0100 staging: lustre: linux: linux-prim: fixed coding style warnings and errors Coding style fixes due to exported symbols and comment style. Signed-off-by: Roberto Medina <robertoxmed@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 847aac644e92e5624f2c153bab409bf713d5ff9a Author: Li Xi <pkuelelixi@xxxxxxxxx> Date: Thu Mar 19 04:04:53 2015 +0900 vfs: Add general support to enforce project quota limits This patch adds support for a new quota type PRJQUOTA for project quota enforcement. Also a new method get_projid() is added into dquot_operations structure. Signed-off-by: Li Xi <lixi@xxxxxxx> Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 267d9c8a6557d30c5ff01da8b8b0c3d07d82d14c Author: Laure Millet <laure.millet@xxxxxxx> Date: Wed Mar 18 20:07:26 2015 +0100 staging: lustre: namei.c: coding style: fix 80 characters limit This patch fixes lines over 80 characters Signed-off-by: Laure Millet <laure.millet@xxxxxxx> Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e65dbbb800315c0b228a2ff530f1227579c09fa6 Author: Laure Millet <laure.millet@xxxxxxx> Date: Wed Mar 18 20:01:35 2015 +0100 staging: lustre: namei.c: coding style: fix quoted string split across lines This patch fixes a quoted string split across lines. Signed-off-by: Laure Millet <laure.millet@xxxxxxx> Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07b249fa5b1aea27d4210af671de2a21eeeaac78 Author: Laure Millet <laure.millet@xxxxxxx> Date: Wed Mar 18 19:49:47 2015 +0100 staging: lustre: namei.c: Fix trailing whitespace This patch fixes a trailing whitespace in namei.c Signed-off-by: Laure Millet <laure.millet@xxxxxxx> Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72488596426bc82eeb71bf343e8b0049af214378 Author: Laure Millet <laure.millet@xxxxxxx> Date: Wed Mar 18 19:49:46 2015 +0100 Staging: lustre: namei.c: fix "foo * bar" should be "foo *bar" This patch fixes a coding style error in a pointer declaration. Signed-off-by: Laure Millet <laure.millet@xxxxxxx> Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43550121a752311f5e096a9ac97898d878710aac Author: Laure Millet <laure.millet@xxxxxxx> Date: Wed Mar 18 19:49:45 2015 +0100 Staging: lustre: namei.c: fix missing a blank line after declarations This fixes a missing blank line after declarations. Signed-off-by: Laure Millet <laure.millet@xxxxxxx> Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f6320de5f6a817ba360be6ae39f721c7f9b26fb Merge: b65885d c10e4fc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 14:55:23 2015 -0400 Merge branch 'txq_max_rate' Or Gerlitz says: ==================== Add max rate TXQ attribute Add the ability to set a max-rate limitation for TX queues. The attribute name is maxrate and the units are Mbs, to make it similar to the existing max-rate limitation knobs (ETS and SRIOV ndo calls). changes from V2: - added Documentation (thanks Florian and Tom) - rebased to latest net-next to comply with the swdev ndo removal - addressed more feedback from Dave on the comments style changes from V1: - addressed feedback from Dave changes from V0: - addressed feedback from Sergei John Fastabend (1): net: Add max rate tx queue attribute ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c10e4fc6c45616dbadb8ccee189e2c09fb8f056f Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Wed Mar 18 14:57:35 2015 +0200 net/mlx4_en: Add tx queue maxrate support Add ndo_set_tx_maxrate support. To support per tx queue maxrate limit, we use the update-qp firmware command to do run-time rate setting for the qp that serves this tx ring. Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc31e2560a2443410fe45c27116fae736541a7b5 Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Wed Mar 18 14:57:34 2015 +0200 net/mlx4_core: Add basic support for QP max-rate limiting Add the low-level device commands and definitions used for QP max-rate limiting. This is done through the following elements: - read rate-limit device caps in QUERY_DEV_CAP: number of different rates and the min/max rates in Kbs/Mbs/Gbs units - enhance the QP context struct to contain rate limit units and value - allow to do run time rate-limit setting to QPs through the update-qp firmware command - QP rate-limiting is disallowed for VFs Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 822b3b2ebfff8e9b3d006086c527738a7ca00cd0 Author: John Fastabend <john.r.fastabend@xxxxxxxxx> Date: Wed Mar 18 14:57:33 2015 +0200 net: Add max rate tx queue attribute This adds a tx_maxrate attribute to the tx queue sysfs entry allowing for max-rate limiting. Along with DCB-ETS and BQL this provides another knob to tune queue performance. The limit units are Mbps. By default it is disabled. To disable the rate limitation after it has been set for a queue, it should be set to zero. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b20d684b4e1d11795af8783b45f2149b0ba0faf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Mar 2 13:30:30 2015 +0100 perf build: Rename feature_print_var_code to print_var_code As it has nothing to do with features and won't be moved into tools/build. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-6qgf37nss4wwjatgj5i4ng0o@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4ae61202b31c91259ff45cc9744b8a95add6b52a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:50:47 2015 +0100 perf build: Rename PERF-FEATURES into FEATURE-DUMP Preparing for feature checks separation, moving related stuff under 'FEATURE*' namespace. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-v9oo22ra70rrk1dy495a7bjc@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a15599ac6bd2e6196f3aeb2fb08af73129621fe1 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:58:24 2015 +0100 perf build: Rename display_vf to feature_verbose Preparing for feature checks separation, moving related stuff under 'feature*' namespace. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ciaflab01mf0ljmfb9xr4p41@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 48e383eca276c02d4bd5c5b468b07b73ca52dd08 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:46:28 2015 +0100 perf build: Rename display_lib into feature_display Preparing for feature checks separation, moving related stuff under 'feature*' namespace. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-t72o4nwx81owjv14y43b2wpf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 07efbf528c9f72bad67cc5a8c3afaa9c937fde43 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:44:18 2015 +0100 perf build: Get rid of VF_FEATURE_TESTS It only contains (FEATURE_TESTS - FEATURE_DISPLAY) tests to display the rest of the checks on 'make VF=1'. But we can actually compute this list, which is less confusing. Also renaming LIB_FEATURE_TESTS into FEATURE_DISPLAY, so it reflects what this variable actually does - display its tests status to user. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-gs160y03hpmx5ezpcr4gunxc@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ee9c80a13ea84bbf469a669685962099e11b9567 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:32:42 2015 +0100 perf build: Rename CORE_FEATURE_TESTS to FEATURE_TESTS Preparing for feature checks separation, moving related stuff under 'FEATURE*' namespace. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-iobj4f9gygcakrk2v5u61159@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9444e874e6d0b1db2ad31e3f755bab8a571240f5 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:11:24 2015 +0100 perf build: Get rid of LIB_INCLUDE variable It has no use, so we can directly use the value for CFLAGS. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ywyr5v962s32daq5hpgfkjap@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c59a14241387f7a66723f9ee6901cb638d665777 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Mar 11 09:02:00 2015 +0100 perf build: Fix pthread-attr-setaffinity-np include in test-all The test-all fails to build due to type in pthread-attr-setaffinity-np include. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-awn2658267slejnebyrlns86@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 806f0727fa3b9140a6603ba6b3627cbbe346d5a3 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Mar 11 09:01:26 2015 +0100 perf build: Move features build output under features directory Following commit introduced features build dump: 443a70541c56 perf tools: Output feature detection's gcc output to a file Moving them into to have code more compact and renaming build dump files. For each feature 'test-X' new file 'test-X.make.output' is created and contains the build out. It's created in the same directory as the feature itself. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-dk6svnhcephrzgz4mfpcmtm7@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d9be0cda774e7fe36651b04a89a42e9e354e43c3 Author: Abhi Das <adas@xxxxxxxxxx> Date: Wed Mar 18 12:05:15 2015 -0500 gfs2: allow fallocate to max out quotas/fs efficiently We can quickly get an estimate of how many blocks are available for allocation restricted by quota and fs size respectively, using the ap->allowed field in the gfs2_alloc_parms structure. gfs2_quota_check() and gfs2_inplace_reserve() provide these values. Once we have the total number of blocks available to us, we can compute how many bytes of data can be written using those blocks instead of guessing inefficiently. Signed-off-by: Abhi Das <adas@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 25435e5ed611f310dda889940cbc4c45b3ecd9ec Author: Abhi Das <adas@xxxxxxxxxx> Date: Wed Mar 18 12:04:37 2015 -0500 gfs2: allow quota_check and inplace_reserve to return available blocks struct gfs2_alloc_parms is passed to gfs2_quota_check() and gfs2_inplace_reserve() with ap->target containing the number of blocks being requested for allocation in the current operation. We add a new field to struct gfs2_alloc_parms called 'allowed'. gfs2_quota_check() and gfs2_inplace_reserve() return the max blocks allowed by quota and the max blocks allowed by the chosen rgrp respectively in 'allowed'. A new field 'min_target', when non-zero, tells gfs2_quota_check() and gfs2_inplace_reserve() to not return -EDQUOT/-ENOSPC when there are atleast 'min_target' blocks allowable/available. The assumption is that the caller is ok with just 'min_target' blocks and will likely proceed with allocating them. Signed-off-by: Abhi Das <adas@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit b8fbf471edb3dbf441716fd2a52a7ca76c381381 Author: Abhi Das <adas@xxxxxxxxxx> Date: Wed Mar 18 12:03:41 2015 -0500 gfs2: perform quota checks against allocation parameters Use struct gfs2_alloc_parms as an argument to gfs2_quota_check() and gfs2_quota_lock_check() to check for quota violations while accounting for the new blocks requested by the current operation in ap->target. Previously, the number of new blocks requested during an operation were not accounted for during quota_check and would allow these operations to exceed quota. This was not very apparent since most operations allocated only 1 block at a time and quotas would get violated in the next operation. i.e. quota excess would only be by 1 block or so. With fallocate, (where we allocate a bunch of blocks at once) the quota excess is non-trivial and is addressed by this patch. Signed-off-by: Abhi Das <adas@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 97e7a5153e8835c4cd03c77e258c1f556d8e9655 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Mar 11 09:00:41 2015 +0100 perf build: Disable default check for libbabeltrace Remove libbabeltrace check from default features set, because the requested version is not released yet in most distributions. We'll enable later. Calling libbabeltrace check manually via feature_check before $(feature-libbabeltrace) is used. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-5n7mr6ugcwdbxk0n1z8uukaa@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f1ea6f4ec0a48d7b6bbf4d380a0ac14d69fadb44 Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Tue Feb 24 07:22:28 2015 -0600 GFS2: Move gfs2_file_splice_write outside of #ifdef This patch moves function gfs2_file_splice_write so it's not conditionally compiled. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit f42a69fadc4b90b5d59c4672dcbe52dcd4b6a117 Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Thu Feb 19 08:02:16 2015 -0600 GFS2: Allocate reservation during splice_write This patch adds a GFS2-specific function for splice_write which first calls function gfs2_rs_alloc to make sure a reservation structure has been allocated before attempting to reserve blocks. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 932e468a377f62569fe3818f160fadbaef3f26bd Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Fri Feb 13 12:16:37 2015 -0600 GFS2: gfs2_set_acl(): Cache "no acl" as well When removing a default acl or setting an access acl that is entirely represented in the file mode, we end up with acl == NULL in gfs2_set_acl(). In that case, bring gfs2 in line with other file systems and cache the NULL acl with set_cached_acl() instead of invalidating the cache with forget_cached_acl(). Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit d4ad0759cdb1c2d0971801f8876365dddea56695 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:44:53 2015 +0000 DT: exynos: update PMU binding Document the fact that some Exynos PMUs are capable of acting as an interrupt controller. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088693-15724-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 8b283c025443e4c3a3323c92777f422fa504caa5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:44:52 2015 +0000 ARM: exynos4/5: convert pmu wakeup to stacked domains Exynos has been (ab)using the gic_arch_extn to provide wakeup from suspend, and it makes a lot of sense to convert this code to use stacked domains instead. This patch does just this, updating the DT files to actually reflect what the HW provides. BIG FAT WARNING: because the DTs were so far lying by not exposing the fact that the PMU block is actually the first interrupt controller in the chain for RTC, kernels with this patch applied wont have any suspend-resume facility when booted with old DTs, and old kernels with updated DTs may not even boot. Also, I strongly suspect that there is more than two wake-up interrupts on these platforms, but I leave it to the maintainers to fix their mess. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088693-15724-2-git-send-email-marc.zyngier@xxxxxxx [ jac: squash in maz's fixup from https://lkml.kernel.org/r/5506989D.9050703@xxxxxxx ] Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 381a3c4a33bf33943ed3791bd8797d8d8490b4fd Merge: 75967b7 2fcb9e3 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Mar 18 22:46:19 2015 +0530 Merge branch 'topic/alloc_removal' into for-linus commit 2fcb9e3c86fc312beb031832fca783498fd4bdb5 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 14:00:46 2015 +0530 dmaengine: sun6i: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7595c5717f2be8708f5e6bdd9365f15354ccd024 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 14:00:27 2015 +0530 dmaengine: sa11x0: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b07064aa080c3c769ab7698e63bed81e0f29155d Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 14:00:09 2015 +0530 dmaengine: s3c24xx: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c509c495c0aca237cb7e3a38cb1fa90ff3a0bdfa Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 13:59:48 2015 +0530 dmaengine: k3dma: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Acked-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f265958a6b6da2af3ff57d44cd661138b04ce78d Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 13:59:25 2015 +0530 dmaengine: img-mdc: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Acked-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3d32b2506d0c63aef42de01b268ed4d6e83bfd2f Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 13:58:51 2015 +0530 dmaengine: jz4740: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 16cab61800cebca941c47c1c9d76fe9f66e1a486 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 13:56:47 2015 +0530 dmaengine: amba-pl08x:remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 75967b788c2898601620ce91ed14b4a9a371b6fe Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Mon Mar 16 11:52:45 2015 +0000 dmaengine: pl330: fix return status on pending transfers The pl330_tx_status() function returns the desc->status if the dma_cookie_status() call does indicate the cookie completed, however the desc->status is not look directly compatible. Sparse throws the following warning: pl330.c:2262:35: warning: mixing different enum types pl330.c:2262:35: int enum desc_status versus pl330.c:2262:35: int enum dma_status Attempt to fix this by adding a switch statement to turn the desc->status into a dma_status. Note, this has only been tested with the dmatest suite. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> -- Vinod Koul <vinod.koul@xxxxxxxxx> Dan Williams <dan.j.williams@xxxxxxxxx> DMA List <dmaengine@xxxxxxxxxxxxxxx> Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Jassi Brar <jassisinghbrar@xxxxxxxxx> Liviu Dudau <Liviu.Dudau@xxxxxxx> Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5503aed8117881f58a2688521dfbf9fc7dbcdfe7 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Mon Mar 16 11:52:44 2015 +0000 dmaengine: pl330: make unexported functions static Whilst running sparse on pl330 driver it was noticed there are two functions that are not static but not exported to any other users in the kernel. Fix the following warnings by making 'pl330_pause' and the 'pl330_get_current_xferred_count' static: pl330.c:2165:5: warning: symbol 'pl330_pause' was not declared. Should it be static? pl330.c:2206:5: warning: symbol 'pl330_get_current_xferred_count' was not declared. Should it be static? Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> -- Vinod Koul <vinod.koul@xxxxxxxxx> Dan Williams <dan.j.williams@xxxxxxxxx> DMA List <dmaengine@xxxxxxxxxxxxxxx> Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Jassi Brar <jassisinghbrar@xxxxxxxxx> Liviu Dudau <Liviu.Dudau@xxxxxxx> Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3a2307f72e684199a27ae9d8e7cfd98e8b05c8db Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Mon Mar 16 11:52:43 2015 +0000 dmaengine: pl330: fix issues with big-endian armv7 When running Xilinx Zynq in big-endian mode the pl330 driver fails to pass the dmatest suite. To fix this, ensure all non byte values are written in little endian. As a note, the documentation does not mention if it will do big-endian descriptor fetches, only that it will swap the data in flight. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> -- Vinod Koul <vinod.koul@xxxxxxxxx> Dan Williams <dan.j.williams@xxxxxxxxx> DMA List <dmaengine@xxxxxxxxxxxxxxx> Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Jassi Brar <jassisinghbrar@xxxxxxxxx> Liviu Dudau <Liviu.Dudau@xxxxxxx> Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f0b7d43c8a28155f50adb087a563cfc97566e477 Author: Brad Campbell <bradjc5@xxxxxxxxx> Date: Tue Mar 17 16:25:46 2015 -0400 cc2520: Add support for CC2591 amplifier. The TI CC2521 is an RF power amplifier that is designed to interface with the CC2520. Conveniently, it directly interfaces with the CC2520 and does not require any pins to be connected to a microcontroller/processor. Adding a CC2591 increases the CC2520's range, which is useful for border router and other wall-powered applications. Using the CC2591 with the CC2520 requires configuring the CC2520 GPIOs that are connected to the CC2591 to correctly set the CC2591 into TX and RX modes. Further, TI recommends that the CC2520_TXPOWER and CC2520_AGCCTRL1 registers are set differently to maximize the CC2591's performance. These settings are covered in TI Application Note AN065. This patch adds an optional `amplified` field to the cc2520 entry in the device tree. If present, the CC2520 will be configured to operate with a CC2591. The expected pin mapping is: CC2520 GPIO0 --> CC2591 EN CC2520 GPIO5 --> CC2591 PAEN Signed-off-by: Brad Campbell <bradjc5@xxxxxxxxx> Acked-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0db055c934672bcbd9423cd5e729f602bec70a6e Author: Brad Campbell <bradjc5@xxxxxxxxx> Date: Tue Mar 17 16:25:45 2015 -0400 cc2520: Do not store platform_data in spi_device Storing the `platform_data` struct inside of the SPI struct when using the device tree allows for a later function to edit the content of that struct. This patch refactors the `cc2520_get_platformat_data` function to accept a pointer to a `cc2520_platform_data` struct and populates the fields inside of it. This change mirrors commit aaa1c4d226e4cd730075d3dac99a6d599a0190c7 ("at86rf230: copy pdata to driver allocated space"). Signed-off-by: Brad Campbell <bradjc5@xxxxxxxxx> Acked-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b65885d29d41c7245bbd98769e781f77e8d9ed5b Merge: a61bfa6 e2e21c1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 12:46:48 2015 -0400 Merge branch 'rhashtable_remove_shift' Herbert Xu says: ==================== rhashtable: Kill redundant shift parameter I was trying to squeeze bucket_table->rehash in by downsizing bucket_table->size, only to find that my spot had been taken over by bucket_table->shift. These patches kill shift and makes me feel better :) v2 corrects the typo in the test_rhashtable changelog and also notes the min_shift parameter in the tipc patch changelog. ==================== Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2e21c1c5808e5dfd88d3606cd6386cf85f6f5b1 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:21 2015 +1100 rhashtable: Remove max_shift and min_shift Now that nobody uses max_shift and min_shift, we can safely remove them. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f509df4f50e72cba65c3b58241a17639b2d9b49 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:19 2015 +1100 test_rhashtable: Use rhashtable max_size instead of max_shift This patch converts test_rhashtable to use rhashtable max_size instead of the obsolete max_shift. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 446c89ac1f6026df9e3e0ca2614b36909398d431 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:18 2015 +1100 tipc: Use rhashtable max/min_size instead of max/min_shift This patch converts tipc to use rhashtable max/min_size instead of the obsolete max/min_shift. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b06eee59b1e547f0f401820388ca68c624298a64 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:17 2015 +1100 netlink: Use rhashtable max_size instead of max_shift This patch converts netlink to use rhashtable max_size instead of the obsolete max_shift. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2e213cff701fce71a0aba8de82f2c2a4acf52ae Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:16 2015 +1100 rhashtable: Introduce max_size/min_size This patch adds the parameters max_size and min_size which are meant to replace max_shift and min_shift. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6aebd940840a4d3a0a8ffc5883d3892f4bd61e90 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:15 2015 +1100 rhashtable: Remove shift from bucket_table Keeping both size and shift is silly. We only need one. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a61bfa65facebd64403c94ebdab50323ce8942b2 Merge: e7a9eee ca62645 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 12:44:13 2015 -0400 Merge branch 'xgene-next' Keyur Chudgar says: ==================== drivers: net: xgene: Add second SGMII based 1G interface This patch adds support for second SGMII based 1G interface. ==================== Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca6264545a9ffa855e8c49c1d7d8f4ab4b2a9af7 Author: Keyur Chudgar <kchudgar@xxxxxxx> Date: Tue Mar 17 11:27:13 2015 -0700 drivers: net: xgene: Add second SGMII based 1G interface - Added resource initialization based on port-id field - Enabled second SGMII 1G interface Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d33394e23d63b750dcba40e5feaeba425427b52 Author: Keyur Chudgar <kchudgar@xxxxxxx> Date: Tue Mar 17 11:27:12 2015 -0700 dtb: xgene: Add second SGMII based 1G interface node - Added new SGMII node for port 1 - Added port-id field Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2bc6e11bb945e3b10f07bf4b00525ccdc9fc440 Author: Keyur Chudgar <kchudgar@xxxxxxx> Date: Tue Mar 17 11:27:11 2015 -0700 Documentation: dtb: Add port-id field for APM X-Gene ethernet Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57c0342239b028db54741209a051a4d5f7c857e7 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:14 2015 +0100 dmaengine: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5ec293650827122df300581c17ca1d5de03bac3d Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 18 14:21:08 2015 +0100 Staging: dgnc: release the lock before testing for nullity The refactoring intrduced in c84a083b995b ("Staging: dgnc: Use goto for spinlock release before return") inverts the order in which the lock is released and ld is tested for nullity. This patch restores the execution flow. Fixes: c84a083b995b ("Staging: dgnc: Use goto for spinlock release before return") Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32fc9eb5b2dcebefb7fb4c8288c739c320362524 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:42 2015 -0700 usb: phy: msm: Remove dead code This code is no longer used now that mach-msm has been removed. Delete it. Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebfd44ffb78a0f06ea5437996153d5b1e017c2d7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:41 2015 -0700 ehci-msm: Remove dead dependency This dependency no longer exists now that mach-msm has been removed. Delete it. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5b68807c6563bf3882c94268ca09198d2e574ae Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 15 18:03:00 2015 +0100 uwb: Remove umc bus legacy suspend/resume support There are currently no umc drivers implementing suspend/resume, so remove the legacy suspend/resume support from the framework. If a umc driver ever wants to implement suspend/resume they can use dev_pm_ops, which works out of the box without any additional support necessary from the bus itself. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1f0b57db01d1045d163eeb05d5a4e7bd934561a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:27 2015 +0100 usb: gadget: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3370b0af910166e387cf4b3faeaa8b5f0cb53f29 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu Feb 26 11:47:57 2015 +0000 usb: isp1760: add peripheral/device controller chip id As per the SAF1761 data sheet[0], the DcChipID register represents the hardware version number (0001h) and the chip ID (1582h) for the Peripheral Controller. However as per the ISP1761 data sheet[1], the DcChipID register represents the hardware version number (0015h) and the chip ID (8210h) for the Peripheral Controller. This patch adds support for both the chip ID values. [0] http://www.nxp.com/documents/data_sheet/SAF1761.pdf [1] http://pdf.datasheetcatalog.com/datasheets2/74/742102_1.pdf Cc: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26d4a1e9c4aaa7799a71524c871214bd7448d430 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Mar 4 17:07:57 2015 +0000 usb: isp1760: fix possible deadlock in isp1760_udc_irq Use spin_{un,}lock_irq{save,restore} in isp1760_udc_{start,stop} to prevent following potentially deadlock scenario between isp1760_udc_{start,stop} and isp1760_udc_irq : ================================= [ INFO: inconsistent lock state ] 4.0.0-rc2-00004-gf7bb2ef60173 #51 Not tainted --------------------------------- inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage. in:imklog/2118 [HC1[1]:SC0[0]:HE0:SE1] takes: (&(&udc->lock)->rlock){?.+...}, at: [<c0397a93>] isp1760_udc_irq+0x367/0x9dc {HARDIRQ-ON-W} state was registered at: [<c05135b3>] _raw_spin_lock+0x23/0x30 [<c0396b87>] isp1760_udc_start+0x23/0xf8 [<c039dc21>] udc_bind_to_driver+0x71/0xb0 [<c039de4f>] usb_gadget_probe_driver+0x53/0x9c [<bf80d0df>] usb_composite_probe+0x8a/0xa4 [libcomposite] [<bf8311a7>] 0xbf8311a7 [<c00088c5>] do_one_initcall+0x8d/0x17c [<c050b92d>] do_init_module+0x49/0x148 [<c0087323>] load_module+0xb7f/0xbc4 [<c0087471>] SyS_finit_module+0x51/0x74 [<c000d8c1>] ret_fast_syscall+0x1/0x68 irq event stamp: 4966 hardirqs last enabled at (4965): [<c05137df>] _raw_spin_unlock_irq+0x1f/0x24 hardirqs last disabled at (4966): [<c00110b3>] __irq_svc+0x33/0x64 softirqs last enabled at (4458): [<c0023475>] __do_softirq+0x23d/0x2d0 softirqs last disabled at (4389): [<c002380b>] irq_exit+0xef/0x15c other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&(&udc->lock)->rlock); <Interrupt> lock(&(&udc->lock)->rlock); *** DEADLOCK *** 1 lock held by in:imklog/2118: #0: (&f->f_pos_lock){+.+.+.}, at: [<c010a101>] __fdget_pos+0x31/0x34 Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f116d1c12580b7c2349e3291d22621ee21b08a0 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Thu Feb 12 16:18:09 2015 +0800 usb: load usb phy earlier USB PHY works proper is the base for the coming USB controller operation. With this patch, it can avoid the controller drivers which are linked earlier than USB PHY always being probed deferral. Look at drivers/Makefile, it links phy first with the similar method. Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 333c65bc8b2482dbbb46f4223381160333aaaddd Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Tue Feb 24 16:42:45 2015 +0100 usb: storage: Fix trivial typo in isd200_log_config() Change 'Supsend' to 'Suspend' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9c585907f962a6ed55dc8382a0a606190c7cae0 Author: Bas Peters <baspeters93@xxxxxxxxx> Date: Sat Feb 7 23:42:43 2015 +0100 drivers: usb: storage: cypress_atacb.c: trivial checkpatch fixes Fixes errors thrown by checkpatch over a space issue and the incorrect indentation of a switch statement. Signed-off-by: Bas Peters <baspeters93@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0de846963586e6ba4133e273dcea66b2f0870db3 Author: Bas Peters <baspeters93@xxxxxxxxx> Date: Sat Feb 7 23:42:42 2015 +0100 drivers: usb: storage: alauda.c: properly place braces after function declarations This patch places braces on a new line following function declarations. Signed-off-by: Bas Peters <baspeters93@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7b364f7dd82e8610373b8c6d788db867d7e99db Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 5 14:36:25 2015 +0100 USB: gadget: f_mass_storage: use static attribute groups for sysfs entries Instead of manual device_create_file() and device_remove_file() calls, assign the static attribute groups to the lun device to register. The RO or RW permissions for some entries are decided in is_visible callback. This simplifies the code (also the logic) and avoids the possible races, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c60b89aa3640ac4eb279213d93828a8100acb6b5 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 16:07:43 2015 +0100 USB: appledisplay: Deletion of a check before backlight_device_unregister() The backlight_device_unregister() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 533726f736c2c32956d78ad6f49ffaada110cbfd Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 16:33:09 2015 +0100 ueagle-atm: Delete unnecessary checks before the function call "release_firmware" The release_firmware() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28ed20755897b3726f07a0418c3d2fe17b3e5c86 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 16:54:12 2015 +0100 USB: whci-hcd: Delete an unnecessary check before the function call "usb_put_hcd" The usb_put_hcd() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b29582b15ff4049de5780e27a28ed7b3ded3f969 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 21:40:29 2015 +0100 uwb/whci: Delete an unnecessary check before the function call "umc_device_unregister" The umc_device_unregister() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b8ef22ea547b80475ac7feab06fb15e0fc143d8 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 18:32:22 2015 +0200 usb: xhci: plat: Add USB phy support The Marvell Armada 385 AP needs a dumb phy in order to enable the USB3 VBUS. Add a call to retrieve a USB PHY to XHCI plat in order to support this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5401bf37a69620bdf079e4ee6c30a268f06f04b Author: Lin Wang <lin.x.wang@xxxxxxxxx> Date: Tue Mar 17 18:32:21 2015 +0200 xhci: unify cycle state toggling operation with 'XOR' Some toggling operation in xHCI driver still use conditional toggling: ring->cycle_state = (ring->cycle_state ? 0 : 1); Use XOR to invert the cycle state instead of a conditional toggle to unify cycle state toggling operation in xHCI driver. Signed-off-by: Lin Wang <lin.x.wang@xxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f7e9473ab62139c78eb834f53c4ec6bc22d111f Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 6 04:58:31 2015 -0500 USB: legotower: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9751afbbb02d7a1c0f57191b8423948344a7ed86 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 6 04:50:21 2015 -0500 USB: image: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1dc6120ef7f003305d99ef12f598a6b05eacc38c Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Wed Feb 4 18:05:13 2015 +0000 usb: host/sl811-hcd: fix sparse warning this patch fixes following sparse warning: sl811-hcd.c:1804:24: warning: symbol 'sl811h_driver' was not declared. Should it be static? Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be0c37c985eddc46d0d67543898c086f60460e2e Author: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Date: Thu Feb 26 18:16:37 2015 -0600 MIPS: Rearrange PTE bits into fixed positions. This patch rearranges the PTE bits into fixed positions for R2 and later cores. In the past, the TLB handling code did runtime checking of RI/XI and adjusted the shifts and rotates in order to fit the largest PFN value into the PTE. The checking now occurs when building the TLB handler, thus eliminating those checks. These new arrangements also define the largest possible PFN value that can fit in the PTE. HUGE page support is only available for 64-bit cores. Layouts of the PTE bits are now: 64-bit, R1 or earlier: CCC D V G [S H] M A W R P 32-bit, R1 or earler: CCC D V G M A W R P 64-bit, R2 or later: CCC D V G RI/R XI [S H] M A W P 32-bit, R2 or later: CCC D V G RI/R XI M A W P [ralf@xxxxxxxxxxxxxx: Fix another build error *rant* *rant*] Signed-off-by: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9353/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 961ea496facda611eeb153d8133a4d40055e56ca Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Wed Feb 11 12:45:03 2015 +0800 usb: chipidea: support runtime power management for otg fsm mode This patch adds runtime power management support for otg fsm mode, since A-device in a_idle state cannot detect data pulse irq after suspended, here enable wakeup by connection before suspend to make it can be resumed by DP; and handle wakeup from that state like SRP. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6594591741883e004aaba105951337878698b054 Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Wed Feb 11 12:45:02 2015 +0800 usb: chipidea: host: turn on vbus before add hcd if early vbus on is required If CI_HDRC_TURN_VBUS_EARLY_ON is set, turn on vbus before adding hcd, so it will not set reg_vbus of ehci_ci_priv, then vbus will not be handled by ehci core. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6adb9b7b5fb64be3c3e4d57578ea1446da91a8f9 Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Wed Feb 11 12:45:01 2015 +0800 usb: chipidea: add a flag for turn on vbus early for host Some usb PHYs need power supply from vbus to make it work, eg mxs-phy, if there is no vbus, USB PHY will not in correct state when the controller starts to work, for host, this requires vbus should be turned on before setting port power(PP) of ehci, to work with this kind of USB PHY design, this patch adds a flag CI_HDRC_TURN_VBUS_EARLY_ON, can be checked by host driver to turn on vbus while start host. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba1aff67f99a219b0c56bf7f10cea2c41cbd0583 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Feb 11 12:45:00 2015 +0800 chipidea: pci: register nop PHY Since PHY for ChipIdea is optional (not all SoCs having PHY for ChipIdea should be programmed), we register 'nop' PHY for platforms that do not have programmable PHY. Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78f0357ec8baa1ffe9c14b81f88cb0f3a5e1c15a Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:59 2015 +0800 usb: chipidea: host: add .bus_suspend quirk For chipidea, its resume sequence is not-EHCI compatible, see below description for FPR at portsc. So in order to send SoF in time for remote wakeup sequence(within 3ms), the RUN/STOP bit must be set before the resume signal is ended, but the usb resume code may run after resume signal is ended, so we had to set it at suspend path. Force Port Resume - RW. Default = 0b. 1= Resume detected/driven on port. 0=No resume (K-state) detected/driven on port. Host mode: Software sets this bit to one to drive resume signaling. The Controller sets this bit to '1' if a J-to-K transition is detected while the port is in the Suspend state. When this bit transitions to a '1' because a J-to-K transition is detected, the Port Change Detect bit in the USBSTS register is also set to '1'. This bit will automatically change to '0' after the resume sequence is complete. This behavior is different from EHCI where the controller driver is required to set this bit to a '0' after the resume duration is timed in the driver. Note that when the controller owns the port, the resume sequence follows the defined sequence documented in the USB Specification Revision 2.0. The resume signaling (Full-speed 'K') is driven on the port as long as this bit remains a '1'. This bit will remain a '1' until the port has switched to idle. Writing a '0' has no affect because the port controller will time the resume operation, clear the bit and the port control state switches to HS or FS idle. This field is '0' if Port Power(PP) is '0' in host mode. This bit is not-EHCI compatible. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 905276c4319174d52de0e45fc9b22f599497be47 Author: Daniel Tang <dt.tangr@xxxxxxxxx> Date: Wed Feb 11 12:44:58 2015 +0800 Chipidea: Set connect-at-fullspeed bit when entering host mode if CI_HDRC_FORCE_FULLSPEED is set in the platform data PORTSC_PFSC is not set on entering host mode which means the USB OTG controller will attempt to enumerate USB devices at high speed even when the CI_HDRC_FORCE_FULLSPEED flag is set in the platform data. This patch ensures it is set right before host mode operations begin if needed. Signed-off-by: Daniel Tang <dt.tangr@xxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89200448a01d9d07a1ee5cc42e8b847f86cdaf7c Author: Daniel Tang <dt.tangr@xxxxxxxxx> Date: Wed Feb 11 12:44:57 2015 +0800 Chipidea: TI-NSPIRE USB OTG hardware does not support high speed and must connect at full speed Signed-off-by: Daniel Tang <dt.tangr@xxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06bdfcdb139e95edbebeb719200de5d535afe526 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Wed Feb 11 12:44:56 2015 +0800 usb: chipidea: Add errata for revision 2.40a At chipidea revision 2.40a, there is a below errata: 9000531823 B2-Medium Adding a dTD to a Primed Endpoint May Not Get Recognized Title: Adding a dTD to a Primed Endpoint May Not Get Recognized Impacted Configuration: All device mode configurations. Description: There is an issue with the add dTD tripwire semaphore (ATDTW bit in USBCMD register) that can cause the controller to ignore a dTD that is added to a primed endpoint. When this happens, the software can read the tripwire bit and the status bit at '1' even though the endpoint is unprimed. After executing a dTD, the device controller endpoint state machine executes a final read of the dTD terminate bit to check if the application added a dTD to the linked list at the last moment. This read is done in the finpkt_read_latest_next_td (44) state. After the read is performed, if the terminate bit is still set, the state machine moves to unprime the endpoint. The decision to unprime the endpoint is done in the checkqh_decision (59) state, based on the value of the terminate bit. Before reaching the checkqh_decision state, the state machine traverses the writeqhtd_status (57), writeqh_status (56), and release_prime_mask (42) states. As shown in the waveform, the ep_addtd_tripwire_clr signal is not set to clear the tripwire bit in these states. Workaround: The software must implement a periodic poll cycle, and check for each dTD pending on execution (Active = 1), if the enpoint is primed. It can do this by reading the corresponding bits in the ENDPTPRIME and ENDPTSTAT registers. If these bits are read at 0, the software needs to re-prime the endpoint by writing 1 to the corresponding bit in the ENDPTPRIME register. This can be done for every microframe, every frame or with a larger interval, depending on the urgency of transfer execution for the application. Tested-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb271f3ce969a0fc4ecf9fc4b5a28852509714ed Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:55 2015 +0800 usb: chipidea: add chipidea revision information Define ci_get_revision API to know the controller revision information according to chipidea 1.1a, 2.0a and 2.5a spec. Besides, add one entry at struct ci_hdrc to indicate revision information, it can be used for adding different code for revisions, eg kinds of errata. Reviewed-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 655d32e9b2b2b912ff86de656eb620627b0df117 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:54 2015 +0800 usb: chipidea: add identification registers access APIs Using hw_write_id_reg and hw_read_id_reg to write and read identification registers contents, they can be used to get controller information, change some system configurations, and so on. Reviewed-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8721a752cc1bf61be0a0d3f266abd71a270d3a38 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:53 2015 +0800 usb: chipidea: usbmisc_imx: add imx6sx initialization routine Except the same process with earlier imx6, it has below two features: - Choose which vbus voltage as vbus wakeup source We choose B_SESSION_VALID as vbus wakeup source since when the system goes to suspend, the vbus comparator can't compare the vbus voltage for VBUS_VALID. - Disable dp/dm (linestate) change as wakeup source at device mode when the vbus is not there, we don't expect dp/dm change waking up usb controller at this situation. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0e04f852ac1fffa85b73842e60125d68cd095df Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:52 2015 +0800 doc: usb: usbmisc-imx: add imx6sx compatible string Add compatible string for imx6sx-usbmisc. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e37cfd8e0a0bb161a75ce2bc2302a1a1662fdb7 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:51 2015 +0800 usb: chipidea: clear otg interrupt status for otg capable controller We need to do it for all otg capable controller, not only peripheral featured otg capable controller, otherwise, the host-only role, but otg capable controller may be responded by otg interrupt. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01e3ad863fc0f15b802c8a5247e1c252bd04f429 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:50 2015 +0800 doc: usb: chipidea: add usb wakeup enable example Add the example for how to enable USB as system wakeup source. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d6531104d20692190690ed73eaaac770c42aa49 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:49 2015 +0800 usb: chipidea: imx: add usb as system wakeup source Enable USB as system wakeup source, and each platform needs to implement imx_usbmisc_set_wakeup in usbmisc_imx.c to support. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8efa7665e66c1e92fa10492a243cc0de4437ade Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:48 2015 +0800 usb: chipidea: add usb as system wakeup source The USB signal can be system wakeup source, this patch add the support, for how to enable it, see Documentation/usb/chipidea.txt. Since USB wakeup enable logic is vendor/platform specific, the glue layer needs to implement it to support this feature. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e14db48dfcf3ab6ebea212e82dc56036a00b0d6b Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:47 2015 +0800 usb: chipidea: imx: add runtime power management support Add runtime pm support for imx, only imx6 series are supported and tested. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f636cec559c6c01d6a262123446a142e1ae66890 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:46 2015 +0800 usb: chipidea: usbmisc_imx: add .set_wakeup interface This API is used to enable/disable usb wakeup, only imx6 series are added, since I don't have other imx hardware on hand. Other imx users can add their API according to reference manual after testing. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f874edcb7318c5dd71025df9f3849715b4e4f71 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:45 2015 +0800 usb: chipidea: add runtime power management support Add runtime power management support. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4cf1b14cfbc57a12ea2d997b93735a99f70d810 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:44 2015 +0800 usb: chipidea: imx: simplify the usbmisc callers Move struct imx_usbmisc_data NULL pointer judgement from caller to each API, it can simplify the caller. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73dea4a912b2bfe955305de4891018f9e71e399d Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:43 2015 +0800 usb: chipidea: usbmisc_imx: delete clock information All imx usb controller's non core registers uses the same clock gate with core registers, the usbmisc_imx is the library for imx glue driver, the glue keeps clock on when it calls usbmisc_imx API to change non-core register. Besides, we will support runtime pm in the future, it also needs to close this clock when the usb is not in use. Philipp Zabel also verifies it at imx6q platform, see http://www.spinics.net/lists/linux-usb/msg118491.html Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 560400875d56d6e5f589a25319febcb32238f004 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:42 2015 +0800 usb: chipidea: imx: using common platform flag directly It is meaningless the glue layer driver has its own platform flag which is the same meaning with common platform flag. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5d1e1bed4da02bd7a2352ab495721e31a7d95e4 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:41 2015 +0800 usb: chipidea: udc: return immediately if re-enable non-empty endpoint Some gadget driver (like uac1) will try to enable endpoint again even the ep is not empty, it will cause the ep reset again and may affect the dTD list which has already queued. It returns -EBUSY immediately, and indicate the endpoint is in use. In this way, the ep's behavior will not be affected, and the gadget driver is also notified. Cc: Xuebing Wang <xbing6@xxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 431d452af13720463dda498999b2e9a08729c03a Author: Zhonghui Fu <zhonghui.fu@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:54:27 2015 +0100 PM / sleep: add pm-trace support for suspending phase Occasionally, the system can't come back up after suspend/resume due to problems of device suspending phase. This patch make PM_TRACE infrastructure cover device suspending phase of suspend/resume process, and the information in RTC can tell developers which device suspending function make system hang. Signed-off-by: Zhonghui Fu <zhonghui.fu@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5c0acf3b4f96abbd1fad40af7fdf0ed94cf523b7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Mar 17 09:58:58 2015 +0200 driver core: Add comments about returning array counts The "read array" variants of the device property functions can be used to return the number of values in an array. Update the comments to reflect that. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 235504dec113089856b39c65afb77a2f444aa2a9 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Mar 17 13:29:47 2015 +0000 perf tools: Fix building error for arm64. Commit b11db6581beaccef8ae9a388ae96074aa5cc144f ("perf tools: Fix build error on ARCH=i386/x86_64/sparc64") uses sed on ARCH, which triggers a bug in sequence of sed expression, where 's/arm.*/arm/' will replace 'arm64' to 'arm', causes arm64 building failure. This patch prevent 'arm64' to be mached for 'arm.*' case. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426598987-75245-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 03bde7c31a360f814ca42101d60563b1b803dca1 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 17:17:59 2015 +0100 i2c: busses with dynamic ids should start after fixed ids for DT Make sure dynamic ids do not interfere with fixed ones and let them start after the highest fixed id. This patch might cause different bus-numbers than before for dynamic ids, however it fixes a bug. Assume: - fixed id0 defers probe - fixed id1 succeeds and registers a muxed bus with dynamic id - muxed bus gets id0 - fixed id0 wants to probe again, but its fixed id is gone now - fixed id0 probe fails With this patch, the fixed ids are always reserved in the DT case. For legacy board init, we already have a mechanism like this in i2c_register_board_info(). Reported-by: Bob Feretich <bob.feretich@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 351d224f64afc1b3b359a1738b7d4600c7e64061 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 17:17:58 2015 +0100 of: base: add function to get highest id of an alias stem I2C supports adding adapters using either a dynamic or fixed id. The latter is provided by aliases in the DT case. To prevent id collisions of those two types, install this function which gives us the highest fixed id, so we can then let the dynamically created ones come after this highest number. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5757bfe51e53f8ae6e201310a830b207c5a64e02 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Mar 15 08:55:15 2015 +0200 pinctrl: dt-binding: fix generic pinmux/pinconf examples pinconf_generic_dt_node_to_map() scans only subnodes of the pinctrl-0 pahndle, not the referenced node itself. Change the example nodes to match. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 86d64dce9eb5a927da9a8159519778dfbaf598e7 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Mar 13 14:44:43 2015 +0800 pinctrl: mediatek: mt8135/mt8173: Constify of_device_id table Also make the table a bit compact. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0206caa81cb7b416d7c19d56f83a89ecbe33f536 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 12 21:53:32 2015 +0800 pinctrl: mediatek: mtk-common: Use devm_kcalloc at appropriate places Prefer devm_kcalloc over devm_kzalloc with multiply. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0dae530ccf0edda8a0d289c118e7e1609b198af0 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 12 14:51:14 2015 +0800 pinctrl: mediatek: mt8135/mt8173: Fix build error due to missing include file Fix below build error: CC drivers/pinctrl/mediatek/pinctrl-mt8135.o In file included from drivers/pinctrl/mediatek/pinctrl-mt8135.c:24:0: drivers/pinctrl/mediatek/pinctrl-mtk-mt8135.h:19:32: fatal error: pinctrl-mtk-common.h: No such file or directory compilation terminated. make[3]: *** [drivers/pinctrl/mediatek/pinctrl-mt8135.o] Error 1 make[2]: *** [drivers/pinctrl/mediatek] Error 2 make[1]: *** [drivers/pinctrl] Error 2 make: *** [drivers] Error 2 Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4a8ade1f6bb19208f0457afcf07dcaf2fb031f57 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Mar 13 22:40:52 2015 +0800 pinctrl: mediatek: Adjust mt8173 pinctrl kconfig ARM64 maintainer doesn't want to add MACH_* for each SoC. Adjust mt8173 pinctrl kconfig entry so user can manually select it. Also make PINCTRL_MT8135 selectable when COMPILE_TEST is enabled. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 61a3557671006434141a6bce24c32bab2f1c9a35 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 12 21:52:33 2015 +0800 pinctrl: mediatek: mtk-common: Remove kfree Remove erroneous kfree for memory allocated by devm_kzalloc Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b8ee29786f6c0a887a65240fe0289b7ffc227a55 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Mar 17 15:29:23 2015 +0100 ACPI / sleep: Drop acpi_suspend() which is not used The acpi_suspend() function has no callers, so drop it. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> commit 6cfdf55b7746a3b1bc324a9e64abe2f055368e6f Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:31 2015 +0200 ARM: davinci: dm646x: Add interrupt resource for McASPs The interrupt can be used for error recovery. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit b38434145b341c148b8d98cfbfc1e87bb4d9e2d9 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:30 2015 +0200 ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x McASP1 TX interrupt is 30, not 32 on DM646x DMSoC. While at it remove the bogus AEMIF interrupt entry from dm646x_default_priorities[]. AEMIF interrupt on DM6467 is 60 not 30 and the entry for the correct interrupt number is already present in the same table. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> [nsekhar@xxxxxx: remove bogus entry from dm646x_default_priorities[]] Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 91b0d9aa933a2335f6f11983b19eaf9ebe3c2033 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Mar 18 10:07:20 2015 +0200 ASoC: Intel: Remove vague commit about slave DMA config from firmware loader Intel MID DMA driver is going to be removed, commit should be a few lines down near to dmaengine_slave_config() call in order to not confuse and at quick look Synopsys DesignWare does seem to use some of the slave config structure fields (see drivers/dma/dw/core.c: dwc_config()). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 06ac0cd1c4e4e51fa84f866ef69b518488ffa05f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Mar 18 10:07:19 2015 +0200 ASoC: Intel: Remove support for Intel MID DMA from firmware loader Intel MID DMA driver is going to be removed by the coming commit 36111da7838e ("dmaengine: intel-mid-dma: remove the driver") in spi.git tree. Since there are no users for SST_DMA_TYPE_MID type the support for it can be removed from here in advance. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ffdb210eb415501c289f6becafb54fe2f4535efa Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Mar 17 19:53:23 2015 +0100 netfilter: nf_tables: consolidate error path of nf_tables_newtable() Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7776ab70d75ff9857343e44e428744d81c30ce1b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 14:01:14 2015 +0100 ARM: mvebu: armada-385-ap: Enable USB3 port The Armada 385 AP board has a USB3 port exposed that uses a GPIO to drive the VBUS line. Enable the needed drivers to support this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 256b20a54a13962a9fcffabbc08903301fa4c259 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:29 2015 +0200 ARM: davinci: dm646x: Clean up the McASP DMA resources Add names to the DMA resources and remove the RX DMA dummy part for McASP1. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 3775c31376329830b547fa5e11f966bec2a92cbe Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:28 2015 +0200 ARM: davinci: devices-da8xx: Add support for McASP2 on da830 da830 has three McASP blocks. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit c96aacb1329d5632980ad8b91be197b509a2e778 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:27 2015 +0200 ARM: davinci: devices-da8xx: Clean up and correct the McASP device creation Both DA830 and DA850 has McASP0 module, so do not restrict the use of McASP0 for da850 only. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 80f7d0e03e759d19925608a9d4d395187b1f2006 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:26 2015 +0200 ARM: davinci: devices-da8xx: Add interrupt resource to McASP structs On da8xx McASP TX/RX interrupt requests are combined. The interrupt can be used for error recovery. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 184981d204047d94161403d1f11c6b80ee0877ca Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:25 2015 +0200 ARM: davinci: devices-da8xx: Add resource name for the McASP DMA request Add "tx" or "rx" as resource name for the DMA resources. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 8ac7f9b37ebc6ae294a6ebbf8cd14d2bf3edc7b4 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 18 13:12:07 2015 +0300 Staging: iio: replace pr_* with dev_* dev_* is prefered over pr_* when appropriate device stuct is present. This patch replace pr_err and pr_warn with its dev_ counterpart. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c9356d115c91c18a2508a266a482c47fc3659c6 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 18 13:09:50 2015 +0300 Staging: media: replace pr_* with dev_* This patch replace pr_err/pr_info with dev_err/dev_infi, when appropriate device structure is found. Issues found using the following Coccinelle script. pr_err/dev_err was substituted with pr_info/dev_info in the later case. @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, s2, fld; @@ struct s { ... struct s2 *fld; ... }; @rrr@ identifier rr.s2, fld2; @@ struct s2 { ... struct device fld2; ... }; @@ identifier r.i, r.s, rr.fld, rrr.fld2; position r.p; @@ -pr_err@p +dev_err ( + &i->fld->fld2, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d719423da9fdaa4c126a91cac91c3a0679226df Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 18 13:08:59 2015 +0300 Staging: gdm724x: replace pr_* with dev_* This patch replace pr_err/pr_info with dev_err/dev_info, when appropriate device structure is found. Issue found and resolved using the following Coccinelle script. pr_err/dev_err was substituted with pr_info/dev_info in the later case. @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, s2, fld; @@ struct s { ... struct s2 *fld; ... }; @rrr@ identifier rr.s2, fld2; @@ struct s2 { ... struct device fld2; ... }; @@ identifier r.i, r.s, rr.fld, rrr.fld2; position r.p; @@ -pr_err@p +dev_err ( + &i->fld->fld2, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f362d9df4f9d003c39e16d98412d5026cd0934d Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 18 12:18:38 2015 +0530 Staging: rtl8188eu: Remove timer handler macros After the commit 28af7ea81e16 ("Staging: rtl8188eu: Eliminate use of _init_timer"), macros (RTW_TIMER_HDL_ARGS, RTW_TIMER_HDL_NAME, RTW_DECLARE_TIMER_HDL) are no longer needed. So, remove them. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41f06c619a302fa386e4d784c8ceed250d4c3754 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Tue Mar 17 08:37:36 2015 +0300 Staging: ft1000: replace pr_err with dev_err This patch replace pr_err with dev_err, when appropriate device structure is found. Issue found using the following Coccinelle script: @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, fld; @@ struct s { ... struct device *fld; ... }; @@ identifier r.i, rr.fld; position r.p; @@ -pr_err@p +dev_err ( + i->fld, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92371df8a9b70735b63075bb1f8a7480488d748e Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Tue Mar 17 08:35:41 2015 +0300 Staging: iio: replace pr_err with dev_err This patch replace pr_err with dev_err, when appropriate device structre is found. Issue found using the following Coccinelle script: @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, fld; @@ struct s { ... struct device *fld; ... }; @@ identifier r.i, rr.fld; position r.p; @@ -pr_err@p +dev_err ( + i->fld, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df02b50acfcec04cd50abc5f6265118d2cdacbee Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Tue Mar 17 08:34:20 2015 +0300 Staging: gdm724x: replace pr_err with dev_err This patch replace pr_err with dev_err, when appropriate device structre is found. Issue found using the following Coccinelle script: @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, fld; @@ struct s { ... struct device *fld; ... }; @@ identifier r.i, rr.fld; position r.p; @@ -pr_err@p +dev_err ( + i->fld, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a112eab4d5e78433a7c65b5703ad177cdabc6588 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Tue Mar 17 08:33:51 2015 +0300 Staging: comedi: replace pr_err with dev_err This patch replace pr_err with dev_err, when appropriate device structure is found. Issue found using the following Coccinelle script: @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, fld; @@ struct s { ... struct device *fld; ... }; @@ identifier r.i, rr.fld; position r.p; @@ -pr_err@p +dev_err ( + i->fld, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89cfdb19a88872088a8cf69621e55d41c379f02f Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Jan 16 18:02:15 2015 +0100 ARM: 8289/1: dma-mapping: use to_dma_iommu_mapping instead of accessing archdata When using the IOMMU-backed DMA ops for a device, we store a pointer to the dma_iommu_mapping structure (used to keep track of the address space) in the archdata.mapping field of the struct device. Rather than access this field directly, use the to_dma_iommu_mapping helper in dma-mapping, so that we don't really care where the mapping information is held. Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 506bf0c0464ace57169aadcf02ae397999c57bdd Author: Keith Packard <keithp@xxxxxxxxxx> Date: Wed Mar 18 00:17:00 2015 -0700 hwrng: core - allow perfect entropy from hardware devices Hardware random number quality is measured from 0 (no entropy) to 1024 (perfect entropy). Allow hardware devices to assert the full range by truncating the device-provided value at 1024 instead of 1023. Signed-off-by: Keith Packard <keithp@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d48c532eb4cf167731bc2b1ac08d908ac26ebae5 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Mar 11 09:05:20 2015 -0700 pinctrl: mediatek: Fix include directive Fix the following build failure: In file included from drivers/pinctrl/mediatek/pinctrl-mt8135.c:24:0: drivers/pinctrl/mediatek/pinctrl-mtk-mt8135.h:19:32: fatal error: pinctrl-mtk-common.h: No such file or directory seen when building arm:multi_v7_defconfig. Fixes: 94097d89c145 ("pinctrl: mediatek: Add Pinctrl/GPIO driver for mt8135.") Cc: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1ca9e41770cba46dcc7c2a9c6ac28350ed866695 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 16 11:25:17 2015 -0700 netfilter: Remove uses of seq_<foo> return values The seq_printf/seq_puts/seq_putc return values, because they are frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Miscellanea: o realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4c205ab53489894c77f81fe9a0c0ff6345b83e76 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 18 12:30:44 2015 +0530 Staging: media: Use module_i2c_driver Macro module_i2c_driver is used for drivers whose init and exit paths does only register and unregister to i2c API. So, here remove some boilerplate code by using module_i2c_driver. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70837c1292c7a04c8fd0b940be70775b79536d50 Author: Mario J. Rugiero <mrugiero@xxxxxxxxx> Date: Tue Mar 10 12:02:03 2015 -0300 staging/lustre: use __printf(...) instead of __attribute__(format(__printf, ...)) Replace uses of __attribute__(format(__printf,...)) by __printf(...), as suggested by checkpatch. Signed-off-by: Mario J. Rugiero <mrugiero@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06133e805cea48a3bb78f3cf62fbaf6e7133d957 Author: Mario J. Rugiero <mrugiero@xxxxxxxxx> Date: Tue Mar 10 12:02:02 2015 -0300 staging/lustre: clean trailing semicolons in macros Remove trailing semicolons from macros, as suggested by checkpatch. Signed-off-by: Mario J. Rugiero <mrugiero@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 636e5a658af4c3d16945a3f8b936f17a3b57e208 Author: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Date: Mon Mar 16 22:21:10 2015 -0300 staging: lustre: space required after that close brace '}' This patch fixes checkpatch.pl warning. WARNING: space required after that close brace '}' Signed-off-by: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0effc8eb9462b2135b44f9758b4f4455ed85e903 Author: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Date: Mon Mar 16 22:21:09 2015 -0300 staging: lustre: void function return statements are not generally useful. This patch fixes checkpatch.pl warning. WARNING: void function return statements are not generally useful Signed-off-by: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6f1170344e80dcbb0dab93d788488394637bd83 Author: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Date: Mon Mar 16 22:21:08 2015 -0300 staging: lustre: space prohibited between function name and open parenthesis '(' This patch fixes checkpatch.pl warning. WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d841438a44d32c132e72e5c77ed082d7f771e052 Author: Yogeswaran Thulasidoss <yogeeswaran@xxxxxxxxx> Date: Mon Mar 16 08:21:50 2015 +0530 staging: lustre: echo_client: Use kernel style spacing This patch fixes the code style space issues identified by checkpatch.pl in drivers/staging/lustre/lustre/obdecho/echo_client.c Signed-off-by: Yogeswaran Thulasidoss <yogeeswaran@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cda6856e94541fb3a507d4d123e8981e560f8b2 Author: Ravindran, Madhusudhanan (M.) <mravindr@xxxxxxxxxxx> Date: Thu Mar 12 17:35:52 2015 +0000 staging: lustre: Use kmemdup rather than duplicating its implementation The semantic patch that makes this change is available in scriptcoccinelle/api/memdup.cocci. Signed-off-by: Madhusudhanan Ravindran <mravindr@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 834fe2e18349f024c0e565a0cdbf6bb1e0ed0ce5 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Mar 7 19:24:29 2015 -0500 staging/lustre: Don't call blocking funcitons when !RUNNABLE Move setting of TASK_INTERRUPTIBLE just around schedule call in libcfs_sock_accept. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aac2e54f9eb63d5cfaac1a115a939508712050da Author: Lai Siyao <lai.siyao@xxxxxxxxx> Date: Sat Mar 7 19:24:28 2015 -0500 staging/lustre/llite: avoid nonatomic memory alloc under spinlock ll_intent_drop_lock() may sleep in memory allocation, which should not be called inside spinlock. Signed-off-by: Lai Siyao <lai.siyao@xxxxxxxxx> Signed-off-by: Jian Yu <jian.yu@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/10674 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2272 Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a316f7916d53c9c6e482b37f556102b5cf80546 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Mar 7 19:24:27 2015 -0500 staging/lustre/o2iblnd: Don't use cpus_weight cpus_weight and for_each_cpu_mask are deprecated, so replace them with cpumask_weight and for_each_cpu respectively. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8417773bbbb4d782b1314f5d1126d1b43b26b7db Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Mar 7 19:24:26 2015 -0500 staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_ This patch continues to further remove deprecated functions, such as any_online_cpu, for_each_cpu_mask and also cleaning up usage of NR_CPUS in a few places Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfc16973973e9730d7aab2a2497d0cdb9e4a999b Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 16 20:14:56 2015 +0300 Staging: lustre: Fix spelling mistakes This patch fix the following spelling mistakes: interoprability, SEPERATOR, defult. Issue found using checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3962d2af9a173739c6ff41e35954dd6b6867d311 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 16 21:56:13 2015 +0200 Staging: rtl8192u: Rename struct to avoid CamelCase This patch renames struct DRxPathSel to dynamic_rx_path_sel in order to keep the notations consistent and to remove the warning: "CHECK: Avoid CamelCase". Done with coccinelle: @@ @@ struct -DRxPathSel +dynamic_rx_path_sel {...} @@ @@ struct -DRxPathSel +dynamic_rx_path_sel Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70dada1a055e91802675ecd2eeb07abec8948027 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 16 21:55:15 2015 +0200 Staging: rtl8192u: Do not add new typedefs This patch removes the dig_t and DRxPathSel type definitions in order to avoid the following warning: "WARNING: Do not add new typedefs". Done with coccinelle and this script: @r@ type t; identifier id; @@ typedef struct id {...} t; @script:python get_name@ t << r.t; tdres; @@ coccinelle.tdres = t.replace("_t", ""); @r_match@ type r.t; identifier r.id; identifier get_name.tdres; @@ -typedef struct -id +tdres {...} -t ; @r_replace@ type r.t; identifier get_name.tdres; @@ -t +struct tdres Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0e982b436cd678dc80a1167a00a8104f54bb761 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 16 18:41:31 2015 +0300 Staging: rtl8712: replace memcpy with ether_addr_copy This patch replace memcpy with ethe_addr_copy to address the following warning generated by checkpatch.pl: ""Prefer ether_addr_copy over memcpy if the Ethernet addresses are __aligned(2)" Follwoing is the output of pahole for the relevant datastructures: 1- for "iwe.u.ap_addr.sa_data" and "wrqu->ap_addr.sa_data" struct sockaddr { sa_family_t sa_family; /* 0 2 */ char sa_data[14]; /* 2 14 */ /* size: 16, cachelines: 1, members: 2 */ /* last cacheline: 16 bytes */ }; struct iw_event { __u16 len; /* 0 2 */ __u16 cmd; /* 2 2 */ /* XXX 4 bytes hole, try to pack */ union iwreq_data u; /* 8 16 */ /* size: 24, cachelines: 1, members: 3 */ /* sum members: 20, holes: 1, sum holes: 4 */ /* last cacheline: 24 bytes */ }; 2- for "pnetwork->network.MacAddress" and "pcur_bss->MacAddress" struct wlan_network { struct list_head list; /* 0 16 */ int network_type; /* 16 4 */ int fixed; /* 20 4 */ unsigned int last_scanned; /* 24 4 */ int aid; /* 28 4 */ int join_res; /* 32 4 */ struct ndis_wlan_bssid_ex network; /* 36 884 */ /* --- cacheline 14 boundary (896 bytes) was 24 bytes ago --- */ /* size: 920, cachelines: 15, members: 7 */ /* last cacheline: 24 bytes */ }; struct ndis_wlan_bssid_ex { u32 Length; /* 0 4 */ unsigned char MacAddress[6]; /* 4 6 */ u8 Reserved[2]; /* 10 2 */ struct ndis_802_11_ssid Ssid; /* 12 36 */ u32 Privacy; /* 48 4 */ s32 Rssi; /* 52 4 */ enum NDIS_802_11_NETWORK_TYPE NetworkTypeInUse; /* 56 4 */ struct NDIS_802_11_CONFIGURATION Configuration; /* 60 32 */ /* --- cacheline 1 boundary (64 bytes) was 28 bytes ago --- */ enum NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; /* 92 4 */ NDIS_802_11_RATES_EX SupportedRates; /* 96 16 */ u32 IELength; /* 112 4 */ u8 IEs[768]; /* 116 768 */ /* --- cacheline 13 boundary (832 bytes) was 52 bytes ago --- */ /* size: 884, cachelines: 14, members: 12 */ /* last cacheline: 52 bytes */ }; Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cd44dcd35a6618df88c51561290dc02fb35b8e2 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 12 00:39:49 2015 +0000 dmaengine: remove Renesas Audio DMAC peri peri Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC). And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine. But, in result of DMA ML discussion, 2nd DMAC was concluded that it is not a general purpose DMAC (2nd DMAC is for Device to Device inside sound system). Additionally, current DMAEngine can't support Device to Device, and we don't have correct DT bindings for it at this point. So the easiest solution for it is that move it from DMAEngine to rsnd driver. Audio DMAC peri peri on DMAEngine is no longer needed. remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit a572460be9cfb423c60275943f7921003b8cd372 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Mar 11 12:30:58 2015 -0300 dmaengine: imx-sdma: Add support for version 3 firmware Currently when version 3.1 of the mx6q SDMA firmware is used we get: [ 0.392169] imx-sdma 20ec000.sdma: unknown firmware version [ 0.399281] imx-sdma 20ec000.sdma: initialized Add support for it. Based on a patch from Shengjiu Wang from the internal FSL kernel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5ccf835cc76d89bc0d426659c63d81f609050842 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Mar 18 09:23:10 2015 +0100 ALSA: hda - Adjust power of beep widget and outputs As the widget PM may turn off the pins, this might lead to the silent output for beep when no explicit paths are given. This patch adds fake output paths for the beep widget so that the output pins are dynamically powered upon beep on/off. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 688b12cc3ca8a5155b95ce8d01e0e43006813b27 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 17 15:56:05 2015 +0100 ALSA: hda - Use the new power control for VIA codecs VIA codecs used to have the own power controls but they were disabled at transition to the generic parser due to the coding assuming the fixed routes. Now we get the proper support of equivalently fine power management in the generic parser, and the old kludges can be replaced with it. This results in the reduction of lots of dead codes. The advanced PM feature is disabled as default like before for keeping the compatible behavior. It's enabled via "Dynamic Power-Control" mixer element. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e6feb5d08509be1af2ebc894dae35f32f7b92ab6 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 16 21:32:11 2015 +0100 ALSA: hda - Support advanced power state controls This patch enables the finer power state control of each widget depending on the jack plug state and streaming state in addition to the existing power_down_unused power optimization. The new feature is enabled only when codec->power_mgmt flag is set. Two new flags, pin_enabled and stream_enabled, are introduced in nid_path struct for marking the two individual power states: the pin plug/unplug and DAC/ADC stream, respectively. They can be set statically in case they are static routes (e.g. some mixer paths), too. The power up and down events for each pin are triggered via the standard hda_jack table. The call order is hard-coded, relying on the current implementation of jack event chain (a la FILO/stack order). One point to be dealt carefully is that DAC/ADC cannot be powered on/off while streaming. They are pinned as long as the stream is running. For controlling the power of DAC/ADC, a new patch_ops is added. The generic parser provides the default callback for that. As of this patch, only IDT/Sigmatel codec driver enables the flag. The support on other codecs will follow. An assumption we made in this code is that the widget state (e.g. amp, pinctl, connections) remains after the widget power transition (not about FG power transition). This is true for IDT codecs, at least. But if the widget state is lost at widget power transition, we'd need to implement additional code to sync the cached amp/verbs for the specific NID. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1aa9a4ea4fea5e4afe8be0229774b8f98db2e6c3 Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:31 2015 +0100 ALSA: ice1724: ESI W192M: Add sampling rate control of the ADC/DAC Add sampling rate control for ADC/DAC for ESI W192M. Allow to switch between 48K/96K/192K sampling rate. All DAC need to be mute when changing samplerate. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ae8a9a11256a0906831a7db39b8cbcdec51ae28a Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:30 2015 +0100 ALSA: ice1724: ESI W192M: Add text Line in/Mic for selecting input gain state Add text Line in/Mic for selecting input gain state in mixer for ESI W192M. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 16ddbe738a5bd2afe80aa10492f762f34b09cbf0 Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:29 2015 +0100 ALSA: ice1724: ESI W192M: Add TLV support for control value in dB scale Add TLV support to control volume using dB scale for input and ouput on ESI W192M. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f8a8b3a835ef9e5f94163c9dc62fc2e2e375b10c Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:28 2015 +0100 ALSA: ice1724: ESI W192M: Enable midi i/o of port envy24 chip as available Enable midi i/o port of envy24 chip as their are available on ESI W192M soundcard. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7127744a5e14455a4b69429757fd811aa50ec4b8 Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:27 2015 +0100 ALSA: ice1724: ESI W192M: Update eeprom structure to C99 standard Update eeprom structure to C99 standard to be compliant with change in alsa. It's just a notation change, no configuration change. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b56df151d3b97a95ba3d3a76c2867d00f2db7782 Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:26 2015 +0100 ALSA: ice1724: ESI W192M: Correct copy/paste from prodigy driver Correct copy/paste name from prodigy driver, no behaviour change, only name. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bcd535eb5313947917a6a00c2a65561853b1be70 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Mar 12 09:10:13 2015 +0100 iwlwifi: mvm: remove time-event start/end failure warning This warning is misleading. In many cases, for example P2P ROC time events, this will happen if the time event is aborted, for example due to a higher priority time event. This is entirely normal and not worth warning about. In other cases, where we actually do act upon this, for example when trying to connect and this fails, we should instead warn as part of the disconnect operation. Change the code to do that, i.e. make the warning a debug message, and make it more prominent (an error) when we actually disconnect because of it. This also fixes confusion in the logs - the warning was mistaken for something that needed investigation, while in most cases it's just expected behaviour that occasionally some lower-priority time events would not complete fully. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e539761d98dbd80204867194a9f110f8392c2637 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Mon Mar 2 11:46:46 2015 +0200 iwlwifi: mvm: add iccm data to 8000 b-step data dump In 8000 HW family B-step only, the ICCM is separate from the SRAM. This adds the ICCM to the dump data collected for FW debug. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit fe92e32ace11b21311fbeb8dbf14ac45b87e700d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Mar 11 09:34:31 2015 +0200 iwlwifi: mvm: properly flush the queues for buffering transport There are transport that must buffer frames in the driver. This means that we have frames that are not in the op_mode and not visible to the firwmare. This causes issues when we flush the queues: the op_mode flushes a queue, and the firmware flushes all the frames that are *currently* on the rings, but if the transport buffers frames, it can submit these while we are flushing. This leads to a situation where we still have frames on the queues after we flushed them. Preventing those buffered frame from getting into the firmware is possible, but then, we have to run the Tx response path on frames that didn't reach the firmware which is not desirable. The way I solve this here is to let these frames go to the firmware, but make sure the firmware will not transmit them (by setting the station as draining). The op_mode then needs to wait until the transport itself is empty to be sure that the queue is really empty. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9243efccd45373fd6431729f88deaa0cf0bbe0be Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Sun Mar 15 17:38:22 2015 +0200 iwlwifi: pcie: add rx packet sequence number to dbg print For each RX packet until this patch there only was a debug print of the HCMD and the offset. This adds also the sequence number of the packet for easier matching between what was sent, what came back / was received, and what got stuck somewhere and was never responded by the FW. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4d165d12e36584c44abb8e912944a84c78f91b7c Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Feb 25 11:06:37 2015 +0200 iwlwifi: mvm: assign new TLV bit for multi-source LAR According to FW methodology, the capability bits should be the only ones that change per-HW. The API bits should remain constant across different HWs. Currently this is not the case with multi-source LAR (API bit 9). Assign a new capability bit to eventually replace the API bit. Until the API bit can be deprecated, the driver will check either to enable multi-source LAR. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 81d62d5a9c4df3f4f7b0c5f5e1158f3fc4802fda Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 10 14:44:00 2015 +0100 iwlwifi: mvm: continue (with error) CSA on GO time event failure If, on a GO, the CSA time event fails to be scheduled, continue the flow towards mac80211's state machine so it doesn't get stuck, but report an error later on the post switch which will cause mac80211 to tear down the operation. This ensures nothing gets stuck due to the scheduling failure. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 63511f6d5ba0c20850448991be297751ddb6798c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Mar 17 11:38:24 2015 -0700 Bluetooth: Fix potential NULL dereference in SMP channel setup When the allocation of the L2CAP channel for the BR/EDR security manager fails, then the smp variable might be NULL. In that case do not try to free the non-existing crypto contexts Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e7a9eee53cf10cb32fb28ccaacfa98a6220b7276 Merge: 5284143 2b9bb7f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 17 22:12:10 2015 -0400 Merge branch 'tipc_netns_leak' Ying Xue says: ==================== tipc: fix netns refcnt leak The series aims to eliminate the issue of netns refcount leak. But during fixing it, another two additional problems are found. So all of known issues associated with the netns refcnt leak are resolved at the same time in the patchset. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b9bb7f338502d9d01543daa9fdf4a7f104bd572 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Mar 18 09:32:59 2015 +0800 tipc: withdraw tipc topology server name when namespace is deleted The TIPC topology server is a per namespace service associated with the tipc name {1, 1}. When a namespace is deleted, that name must be withdrawn before we call sk_release_kernel because the kernel socket release is done in init_net and trying to withdraw a TIPC name published in another namespace will fail with an error as: [ 170.093264] Unable to remove local publication [ 170.093264] (type=1, lower=1, ref=2184244004, key=2184244005) We fix this by breaking the association between the topology server name and socket before calling sk_release_kernel. Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8460504bdd9aa5996dfc5dd69cd61582a25139ec Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Mar 18 09:32:58 2015 +0800 tipc: fix a potential deadlock when nametable is purged [ 28.531768] ============================================= [ 28.532322] [ INFO: possible recursive locking detected ] [ 28.532322] 3.19.0+ #194 Not tainted [ 28.532322] --------------------------------------------- [ 28.532322] insmod/583 is trying to acquire lock: [ 28.532322] (&(&nseq->lock)->rlock){+.....}, at: [<ffffffffa000d219>] tipc_nametbl_remove_publ+0x49/0x2e0 [tipc] [ 28.532322] [ 28.532322] but task is already holding lock: [ 28.532322] (&(&nseq->lock)->rlock){+.....}, at: [<ffffffffa000e0dc>] tipc_nametbl_stop+0xfc/0x1f0 [tipc] [ 28.532322] [ 28.532322] other info that might help us debug this: [ 28.532322] Possible unsafe locking scenario: [ 28.532322] [ 28.532322] CPU0 [ 28.532322] ---- [ 28.532322] lock(&(&nseq->lock)->rlock); [ 28.532322] lock(&(&nseq->lock)->rlock); [ 28.532322] [ 28.532322] *** DEADLOCK *** [ 28.532322] [ 28.532322] May be due to missing lock nesting notation [ 28.532322] [ 28.532322] 3 locks held by insmod/583: [ 28.532322] #0: (net_mutex){+.+.+.}, at: [<ffffffff8163e30f>] register_pernet_subsys+0x1f/0x50 [ 28.532322] #1: (&(&tn->nametbl_lock)->rlock){+.....}, at: [<ffffffffa000e091>] tipc_nametbl_stop+0xb1/0x1f0 [tipc] [ 28.532322] #2: (&(&nseq->lock)->rlock){+.....}, at: [<ffffffffa000e0dc>] tipc_nametbl_stop+0xfc/0x1f0 [tipc] [ 28.532322] [ 28.532322] stack backtrace: [ 28.532322] CPU: 1 PID: 583 Comm: insmod Not tainted 3.19.0+ #194 [ 28.532322] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007 [ 28.532322] ffffffff82394460 ffff8800144cb928 ffffffff81792f3e 0000000000000007 [ 28.532322] ffffffff82394460 ffff8800144cba28 ffffffff810a8080 ffff8800144cb998 [ 28.532322] ffffffff810a4df3 ffff880013e9cb10 ffffffff82b0d330 ffff880013e9cb38 [ 28.532322] Call Trace: [ 28.532322] [<ffffffff81792f3e>] dump_stack+0x4c/0x65 [ 28.532322] [<ffffffff810a8080>] __lock_acquire+0x740/0x1ca0 [ 28.532322] [<ffffffff810a4df3>] ? __bfs+0x23/0x270 [ 28.532322] [<ffffffff810a7506>] ? check_irq_usage+0x96/0xe0 [ 28.532322] [<ffffffff810a8a73>] ? __lock_acquire+0x1133/0x1ca0 [ 28.532322] [<ffffffffa000d219>] ? tipc_nametbl_remove_publ+0x49/0x2e0 [tipc] [ 28.532322] [<ffffffff810a9c0c>] lock_acquire+0x9c/0x140 [ 28.532322] [<ffffffffa000d219>] ? tipc_nametbl_remove_publ+0x49/0x2e0 [tipc] [ 28.532322] [<ffffffff8179c41f>] _raw_spin_lock_bh+0x3f/0x50 [ 28.532322] [<ffffffffa000d219>] ? tipc_nametbl_remove_publ+0x49/0x2e0 [tipc] [ 28.532322] [<ffffffffa000d219>] tipc_nametbl_remove_publ+0x49/0x2e0 [tipc] [ 28.532322] [<ffffffffa000e11e>] tipc_nametbl_stop+0x13e/0x1f0 [tipc] [ 28.532322] [<ffffffffa000dfe5>] ? tipc_nametbl_stop+0x5/0x1f0 [tipc] [ 28.532322] [<ffffffffa0004bab>] tipc_init_net+0x13b/0x150 [tipc] [ 28.532322] [<ffffffffa0004a75>] ? tipc_init_net+0x5/0x150 [tipc] [ 28.532322] [<ffffffff8163dece>] ops_init+0x4e/0x150 [ 28.532322] [<ffffffff810aa66d>] ? trace_hardirqs_on+0xd/0x10 [ 28.532322] [<ffffffff8163e1d3>] register_pernet_operations+0xf3/0x190 [ 28.532322] [<ffffffff8163e31e>] register_pernet_subsys+0x2e/0x50 [ 28.532322] [<ffffffffa002406a>] tipc_init+0x6a/0x1000 [tipc] [ 28.532322] [<ffffffffa0024000>] ? 0xffffffffa0024000 [ 28.532322] [<ffffffff810002d9>] do_one_initcall+0x89/0x1c0 [ 28.532322] [<ffffffff811b7cb0>] ? kmem_cache_alloc_trace+0x50/0x1b0 [ 28.532322] [<ffffffff810e725b>] ? do_init_module+0x2b/0x200 [ 28.532322] [<ffffffff810e7294>] do_init_module+0x64/0x200 [ 28.532322] [<ffffffff810e9353>] load_module+0x12f3/0x18e0 [ 28.532322] [<ffffffff810e5890>] ? show_initstate+0x50/0x50 [ 28.532322] [<ffffffff810e9a19>] SyS_init_module+0xd9/0x110 [ 28.532322] [<ffffffff8179f3b3>] sysenter_dispatch+0x7/0x1f Before tipc_purge_publications() calls tipc_nametbl_remove_publ() to remove a publication with a name sequence, the name sequence's lock is held. However, when tipc_nametbl_remove_publ() calling tipc_nameseq_remove_publ() to remove the publication, it first tries to query name sequence instance with the publication, and then holds the lock of the found name sequence. But as the lock may be already taken in tipc_purge_publications(), deadlock happens like above scenario demonstrated. As tipc_nameseq_remove_publ() doesn't grab name sequence's lock, the deadlock can be avoided if it's directly invoked by tipc_purge_publications(). Fixes: 97ede29e80ee ("tipc: convert name table read-write lock to RCU") Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76100a8a64bc2ae898bc49d51dd28c1f4f5ed37b Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Mar 18 09:32:57 2015 +0800 tipc: fix netns refcnt leak When the TIPC module is loaded, we launch a topology server in kernel space, which in its turn is creating TIPC sockets for communication with topology server users. Because both the socket's creator and provider reside in the same module, it is necessary that the TIPC module's reference count remains zero after the server is started and the socket created; otherwise it becomes impossible to perform "rmmod" even on an idle module. Currently, we achieve this by defining a separate "tipc_proto_kern" protocol struct, that is used only for kernel space socket allocations. This structure has the "owner" field set to NULL, which restricts the module reference count from being be bumped when sk_alloc() for local sockets is called. Furthermore, we have defined three kernel-specific functions, tipc_sock_create_local(), tipc_sock_release_local() and tipc_sock_accept_local(), to avoid the module counter being modified when module local sockets are created or deleted. This has worked well until we introduced name space support. However, after name space support was introduced, we have observed that a reference count leak occurs, because the netns counter is not decremented in tipc_sock_delete_local(). This commit remedies this problem. But instead of just modifying tipc_sock_delete_local(), we eliminate the whole parallel socket handling infrastructure, and start using the regular sk_create_kern(), kernel_accept() and sk_release_kernel() calls. Since those functions manipulate the module counter, we must now compensate for that by explicitly decrementing the counter after module local sockets are created, and increment it just before calling sk_release_kernel(). Fixes: a62fbccecd62 ("tipc: make subscriber server support net namespace") Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reported-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Tested-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5284143057708af297eea10812a67d18e42e9abe Merge: 9f2dbdd 0470c8c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 17 22:02:53 2015 -0400 Merge branch 'listener_refactor_part_12' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 12 By adding a pointer back to listener, we are preparing synack rtx handling to no longer be governed by listener keepalive timer, as this is the most problematic source of contention on listener spinlock. Note that TCP FastOpen had such pointer anyway, so we make it generic. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0470c8ca1d57927f2cc3e1d5add1fb2834609447 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:31 2015 -0700 inet: fix request sock refcounting While testing last patch series, I found req sock refcounting was wrong. We must set skc_refcnt to 1 for all request socks added in hashes, but also on request sockets created by FastOpen or syncookies. It is tricky because we need to defer this initialization so that future RCU lookups do not try to take a refcount on a not yet fully initialized request socket. Also get rid of ireq_refcnt alias. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 13854e5a6046 ("inet: add proper refcounting to request sock") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3d95ad7da4f8955599f0786d7c70497c0aaf8c9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:30 2015 -0700 inet: avoid fastopen lock for regular accept() It is not because a TCP listener is FastOpen ready that all incoming sockets actually used FastOpen. Avoid taking queue->fastopenq->lock if not needed. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9439ce00f208d95703a6725e4ea986dd90e37ffd Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:29 2015 -0700 tcp: rename struct tcp_request_sock listener The listener field in struct tcp_request_sock is a pointer back to the listener. We now have req->rsk_listener, so TCP only needs one boolean and not a full pointer. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e9a578e5b6bdfa8b7fed7a41f28a86a7cffc85f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:28 2015 -0700 inet: add rsk_listener field to struct request_sock Once we'll be able to lookup request sockets in ehash table, we'll need to get access to listener which created this request. This avoid doing a lookup to find the listener, which benefits for a more solid SO_REUSEPORT, and is needed once we no longer queue request sock into a listener private queue. Note that 'struct tcp_request_sock'->listener could be reduced to a single bit, as TFO listener should match req->rsk_listener. TFO will no longer need to hold a reference on the listener. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e49bb337d77d54afebe4fe5b9008955e1337f83d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:27 2015 -0700 inet: uninline inet_reqsk_alloc() inet_reqsk_alloc() is becoming fat and should not be inlined. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 407640de2152e33341ce1131dac269672c3d50f7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:26 2015 -0700 inet: add sk_listener argument to inet_reqsk_alloc() listener socket can be used to set net pointer, and will be later used to hold a reference on listener. Add a const qualifier to first argument (struct request_sock_ops *), and factorize all write_pnet(&ireq->ireq_net, sock_net(sk)); Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52eb5a6d576b5bca14797a4085abdd68ad8c0b3f Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 17:39:45 2015 +0800 KVM: x86: For the symbols used locally only should be static type This patch fix the following sparse warnings: for arch/x86/kvm/x86.c: warning: symbol 'emulator_read_write' was not declared. Should it be static? warning: symbol 'emulator_write_emulated' was not declared. Should it be static? warning: symbol 'emulator_get_dr' was not declared. Should it be static? warning: symbol 'emulator_set_dr' was not declared. Should it be static? for arch/x86/kvm/pmu.c: warning: symbol 'fixed_pmc_events' was not declared. Should it be static? Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 795a149e78f49c0e260c56cee9978c5d001a84f1 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 17:39:44 2015 +0800 KVM: x86: Avoid using plain integer as NULL pointer warning This patch fix the following sparse warning: for file arch/x86/kvm/x86.c: warning: Using plain integer as NULL pointer Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 9895afae1b8b0fa8d7fecea47f61cdc55059eb43 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Mar 10 12:14:40 2015 +0100 pinctrl: sh-pfc: Remove r8a7790 platform_device_id entry The r8a7790 platform is now DT-only, the driver doesn't need to match platform devices by name anymore. Remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 889439cddc9118cdfb645e5c35fd4abc0d1ebbac Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Mar 10 12:14:39 2015 +0100 pinctrl: sh-pfc: Remove emev2 platform_device_id entry The emev2 platform is now DT-only, the driver doesn't need to match platform devices by name anymore. Remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1f34de05e75a26e8f4dfe7566fe80309aabf10b7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Mar 12 11:09:16 2015 +0100 pinctrl: sh-pfc: Use u32 to store register addresses Currently all PFC registers lie in low 32-bit address space. Hence use u32 instead of unsigned long to store PFC register addresses in pinctrl tables. All calculations of virtual addresses use a phys_addr_t intermediate, so we know where to add an offset if the 32-bit assumption ever becomes false. While this doesn't impact 32-bit builds, it would save ca. 7 KiB on a 64-bit shmobile_defconfig kernel. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 17c7cbb0e7b7a877f1ce2063d7f869801b24cd6a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Mar 12 11:09:15 2015 +0100 pinctrl: sh-pfc: Use reg_width instead of reg as sentinel All other loops over sh_pfc_soc_info.data_regs[] use pinmux_data_reg.regwidth as the sentinel, which is safer as zero is never a valid regwidth value (reg could be zero if we start using it to store an offset). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cef28a289482175b26f7a5ae4a1337c792cea9c5 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Mar 12 11:09:14 2015 +0100 pinctrl: sh-pfc: Use unsigned int for register/field widths and offsets As register and field widths and offsets are in the range 1..32, use unsigned int (mostly replacing unsigned long) to store them in local variables and for passing them around. Move to one variable per line, move variables to the beginning of the block where they are used, and drop superfluous initializations while we are at it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit dc70071550c2b8b1185d086b0f1954dfbc63aee2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Mar 12 11:09:13 2015 +0100 pinctrl: sh-pfc: Store register/field widths in u8 instead of unsigned long Register and field widths are in the range 1..32. Storing them in the pinctrl data in (arrays of) unsigned long wastes space. This decreases the size of a (32-bit) shmobile_defconfig kernel supporting 7 SoCs by 26460 bytes. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9237516c1b96553040e95588347e2f6d337531ae Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Mar 13 00:48:17 2015 +0100 ACPI / battery: make warning greppable Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fd9caef4e222a2c5e7ed63050780d215a6a263f3 Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Fri Mar 13 13:52:50 2015 +0800 ACPI / scan: fix fixed event handler return value The fixed event handler should return a value that is either 0 or 1 meanning if the event is handled or not, instead of an acpi_status to mean if the handler runs well or not. Suggested-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 359597cb374b7935bf804cde590ac55f9cb275b7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Mar 17 11:48:30 2015 +0200 ACPI: Add acpi_device_uid() for convenience Add a nicer way to get the ACPI _UID. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a908f5de3b10d1a684d4fc3cb55ee0a7662ff293 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 18 12:02:41 2015 +1100 selftests/powerpc: Rename TARGETS in powerpc selftests makefile This patch changes the name of the make variable TARGETS, to prevent it from colliding with a value set by the user on the command line (as they are recommended to do by tools/testing/selftests/README.txt). Without this patch, "make -C tools/testing/selftests TARGETS=powerpc" will fail. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 56b858dfad9b97aea88f9fe87b1468ddaf154c94 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Mar 17 12:40:12 2015 +0200 ACPI: Update GPIO documentation to mention _DSD Make sure that the ACPI enumeration.txt provides latest information on how to describe and retrieve GPIOs now that we can take advantage of _DSD device properties. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit dbad75dd1f25e0107c643d42774a7f9a8ba85e9b Author: Ken Xue <Ken.Xue@xxxxxxx> Date: Tue Mar 10 15:02:19 2015 +0800 pinctrl: add AMD GPIO driver support. KERNCZ GPIO is a new IP from AMD. it can be implemented in both x86 and ARM. Current driver patch only support GPIO in x86. Signed-off-by: Ken Xue <Ken.Xue@xxxxxxx> [Moved back to <linux/gpio.h> header] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f5efed8090aaafda22cd9b0cf81e0cdf41e03976 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Mar 9 21:56:39 2015 +0200 pinctrl: dt-binding: fix typo Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 838d030bda9e2da5f9dcf7251f4e117c6258cb2f Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Mar 9 19:20:30 2015 +0200 pinctrl: fix example .get_group_pins implementation signature The callback function signature has changed in commit a5818a8bd0 (pinctrl: get_group_pins() const fixes) Fixes: a5818a8bd0 ('pinctrl: get_group_pins() const fixes') Cc: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 45937b5b5e1fcb362332a071e4eb5f4eb270bb20 Author: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Date: Sun Mar 1 21:51:16 2015 +0530 pinctrl: exynos: Remove eint_gpio_init call-back for exynos7 alive pinctrl block The alive pin controller on exynos7 does not support external gpio interrupts. Hence, remove the eint_gpio_init call-back for it. This fixes the following error message seen during exynos7 boot-up: "samsung-pinctrl 10580000.pinctrl: irq number not available" Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Acked-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b64333ce769cbcc6a4dbd0325d9b1da95c6929ff Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Mar 9 13:45:00 2015 -0700 pinctrl: cygnus: add gpio/pinconf driver This adds the initial support of the Broadcom Cygnus GPIO/PINCONF driver that supports all 3 GPIO controllers on Cygnus including the ASIU GPIO controller, the chipCommonG GPIO controller, and the always-on GPIO controller. Basic PINCONF configurations such as bias pull up/down, and drive strength are also supported in this driver. Pins from the ASIU GPIO controller can be individually muxed to GPIO function, through interaction with the Cygnus IOMUX controller Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2dffad825f0bbba16590cfaebb1ec3672b6919d3 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Mar 9 13:44:59 2015 -0700 pinctrl: Cygnus: define Broadcom Cygnus GPIO/PINCONF binding Document the GPIO/PINCONF device tree binding for Broadcom Cygnus SoC Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c58e031d73af7373c91a97b75841dbf4114e532e Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Mar 8 12:03:05 2015 +0200 pinctrl: staticise example code funcs/structs Make the example code consistent wrt local function and struct definitions. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b18104c00089c73f2b70790765d40424a4f9b65f Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Mar 8 10:51:46 2015 +0200 pinctrl: remove doc mention of the enable/disable API This API has changed in commit 6e5e959dde0 (pinctrl: API changes to support multiple states per device). Fixes: 6e5e959dde0 ('pinctrl: API changes to support multiple states per device') Cc: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 260463d4921468b9c0c018695ab09b3c2d15345b Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Mar 8 10:51:45 2015 +0200 pinctrl: remove enable/disable callbacks from documentation Commit 03e9f0cac5d (pinctrl: clean up after enable refactoring) updated the documentation to remove mention of disable(), and rename enable() to set_mux(). One in-text mention was forgotten. Fix this. Fixes: 03e9f0cac5d ('pinctrl: clean up after enable refactoring') Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c445cac30781b99621df3a162bff9efcac411e9e Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Wed Feb 11 23:56:11 2015 -0800 pinctrl: mediatek: fix build error Due to pinconf_generic_parse_dt_config() API changes in pinctrl devel branch, add one parameter to fix build error. Also fix warning: drivers/pinctrl/mediatek/pinctrl-mtk-common.c:718:3: warning: too many arguments for format [-Wformat-extra-args] dev_err(&pdev->dev, "only support pins-are-numbered format\n", ret); ^ by removing extra parameter when calling dev_err in mtk_pctrl_init. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3221f40b7631183b0c7a2e5d4be00cab12d983c3 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Tue Jan 27 14:15:26 2015 +0800 pinctrl: mediatek: emulate GPIO interrupt on both-edges MTK EINT does not support generating interrupt on both edges. Emulate this by changing edge polarity while enable irq, set types and interrupt handling. This follows an example of drivers/gpio/gpio-mxc.c. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 30f010f5c4cfcdf3773d6f2dcbab3c349d05c668 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Tue Jan 27 15:13:55 2015 +0800 arm64: mediatek: Add Pinctrl/GPIO/EINT driver for mt8173. Add mt8173 support using mediatek common pinctrl driver. MT8173 have a different ies_smt setting register than mt8135, so adding this support to common code. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d9819eb9cd3252fe45d52500f0f12980ee040177 Author: Maoguang Meng <maoguang.meng@xxxxxxxxxxxx> Date: Wed Jan 21 13:28:16 2015 +0800 pinctrl: mediatek: Add EINT support to MTK pinctrl driver. MTK SoC support external interrupt(EINT) from most SoC pins. Add EINT support to pinctrl driver. Signed-off-by: Maoguang Meng <maoguang.meng@xxxxxxxxxxxx> Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a6df410d420aa4ff316797d352f69e7ebae5ff98 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Wed Jan 21 13:28:15 2015 +0800 pinctrl: mediatek: Add Pinctrl/GPIO driver for mt8135. The mediatek SoCs have GPIO controller that handle both the muxing and GPIOs. The GPIO controller have pinmux, pull enable, pull select, direction and output high/low control. This driver include common driver and mt8135 part. The common driver include the pinctrl driver and GPIO driver. The mt8135 part contain its special device data. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ddac96118f3d2c28813ba98cda79c1e29a902e02 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Wed Jan 21 13:28:14 2015 +0800 pinctrl: dt-bindings: Add pinctrl bindings for mt65xx/mt81xx. Add devicetree bindings for Mediatek SoC pinctrl driver. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fc88936ad307dc57cd26cb53455a57e2dd0813b9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Feb 27 18:38:04 2015 +0100 pinctrl: sh-pfc: Use u32 to store register data As PFC registers are either 8, 16, or 32 bits wide, use u32 (mostly replacing unsigned long) to store (parts of) register values and masks. Switch the shadow register operations from {set,clear}_bit() to plain C bit operations, as the former can operate on long data only. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cbd159ed4f9277e8989bd8f7513a3245562a6bee Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Mar 4 16:35:51 2015 -0800 pinctrl: cygnus: add initial IOMUX driver support This adds the initial driver support for the Broadcom Cygnus IOMUX controller. The Cygnus IOMUX controller supports group based mux configuration but allows certain pins to be muxed to GPIO individually Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3e16de16fa2ac54de6a62a9776dcb52a9f57b516 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Mar 4 16:35:50 2015 -0800 pinctrl: Broadcom Cygnus pinctrl device tree binding Device tree binding documentation for Broadcom Cygnus IOMUX driver Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b17f2f9b86f4d44b1d90abf5f1d8de423a74c772 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Mar 4 16:35:49 2015 -0800 pinctrl: bcm: consolidate Broadcom pinctrl drivers Consolidate Broadcom pinctrl drivers into drivers/pinctrl/bcm/* Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4691dd0148e082097300239d4143311efc23f6ca Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Feb 6 17:30:56 2015 +0100 pinctrl: imx: do not implicitly set pin regs to -1 Commit 3dac1918a491 ("pinctrl: imx: detect uninitialized pins") needs the values in struct imx_pin_reg to be -1. This has been done in a rather unorthodox way by setting the memory to 0xff using memset... Use a proper for loop to initialize the whole array with -1. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 58dae82843f508b0f1e7e8e593496ba6e2822979 Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:14:44 2015 +0100 selftests/powerpc: Add test for VPHN The goal is to verify vphn_unpack_associativity() parses VPHN numbers correctly. We feed it with a variety of input values and compare with expected results. PAPR+ does not say much about VPHN parsing: I came up with a list of tests that check many simple cases and some corner ones. I wouldn't dare to say the list is exhaustive though. Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> [mpe: Rework harness logic, rename to test-vphn, add -m64] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> commit 3338a65badd5758c8723e2b1e5a0db88151f2774 Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:14:37 2015 +0100 powerpc/vphn: parsing code rewrite The current VPHN parsing logic has some flaws that this patch aims to fix: 1) when the value 0xffff is read, the value 0xffffffff gets added to the the output list and its element count isn't incremented. This is wrong. According to PAPR+ the domain identifiers are packed into a sequence terminated by the "reserved value of all ones". This means that 0xffff is a stream terminator. 2) the combination of byteswaps and casts make the code hardly readable. Let's parse the stream one 16-bit field at a time instead. 3) it is assumed that the hypercall returns 12 32-bit values packed into 6 64-bit registers. According to PAPR+, the domain identifiers may be streamed as 16-bit values. Let's increase the number of expected numbers to 24. Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4b6cfb2a8cd7520e8a747718e5c1da047697ca31 Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:14:31 2015 +0100 powerpc/vphn: move VPHN parsing logic to a separate file The goal behind this patch is to be able to write userland tests for the VPHN parsing code. Suggested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b1fc9484aa339c19bd57702dc88fb046702b6092 Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:14:25 2015 +0100 powerpc/vphn: move endianness fixing to vphn_unpack_associativity() The first argument to vphn_unpack_associativity() is a const long *, but the parsing code expects __be64 values actually. Let's move the endian fixing down for consistency. Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9d0e6d9db56a38e205e7138837b885082dc769ec Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:14:19 2015 +0100 powerpc/vphn: clarify the H_HOME_NODE_ASSOCIATIVITY API The number of values returned by the H_HOME_NODE_ASSOCIATIVITY h_call deserves to be explicitly defined, for a better understanding of the code. Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c66150824b8a809a502fd833fa9b18082cd89a39 Author: Nikesh Oswal <nikesh@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 2 17:06:44 2015 +0000 ASoC: dapm: add code to configure dai link parameters dai-link params for codec-codec links were fixed. The fixed link between codec and another chip which may be another codec, baseband, bluetooth codec etc may require run time configuaration changes. This change provides an optional alsa control to select one of the params from a list of params. Signed-off-by: Nikesh Oswal <nikesh@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 86a930d5e9702391f6f997366686a48885f21513 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Mar 13 22:15:40 2015 +0100 drm/i915: Update DRIVER_DATE to 20150313 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 72c5ba9562147d3fc2d22cd44c30bd136cd4a1ac Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Mar 13 15:21:53 2015 +0200 drm/i915: Fix vmap_batch page iterator overrun vmap_batch() calculates amount of needed pages for the mapping we are going to create. And it uses this page count as an argument for the for_each_sg_pages() macro. The macro takes the number of sg list entities as an argument, not the page count. So we ended up iterating through all the pages on the mapped object, corrupting memory past the smaller pages[] array. Fix this by bailing out when we have enough pages. This regression has been introduced in commit 17cabf571e50677d980e9ab2a43c5f11213003ae Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 11:20:57 2015 +0000 drm/i915: Trim the command parser allocations Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a1559ffefb2a80eabbee65d7cc04e828d4fd557d Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Mon Mar 9 16:06:54 2015 -0700 drm/i915: Export total subslice and EU counts Setup new I915_GETPARAM ioctl entries for subslice total and EU total. Userspace drivers need these values when constructing GPGPU commands. This kernel query method is intended to replace the PCI ID-based tables that userspace drivers currently maintain. The kernel driver can employ fuse register reads as needed to ensure the most accurate determination of GT config attributes. This first became important with Cherryview in which the config could differ between devices with the same PCI ID. The kernel detection of these values is device-specific and not included in this patch. Because zero is not a valid value for any of these parameters, a value of zero is interpreted as unknown for the device. Userspace drivers should continue to maintain ID-based tables for older devices not supported by the new query method. v2: Increment our I915_GETPARAM indices to fit after REVISION which was merged ahead of us. For: VIZ-4636 Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Tested-by: Zhigang Gong <zhigang.gong@xxxxxxxxxxxxxxx> Acked-by: Zhigang Gong <zhigang.gong@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cd9bfacb8726681c9bda57a679d8f7ba61ecc9f8 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Mar 12 13:01:12 2015 +0200 drm/i915: redefine WARN_ON_ONCE to include the condition Same as commit c883ef1b1c998d2d66866772fd0fc34afa45641e Author: Mika Kuoppala <miku@xxxxxx> Date: Tue Oct 28 17:32:30 2014 +0200 drm/i915: Redefine WARN_ON to include the condition but for WARN_ON_ONCE. Since the kernel WARN_ON_ONCE actually picks up *our* version of WARN_ON, we end up with messages like [ 838.285319] WARN_ON(!__warned) which are not that helpful. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8749be86a8f0c8a956d20f7d3c768ed6d1e356a1 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Feb 11 17:43:24 2015 +0000 drm/i915/skl: Implement WaDisableHBR2 v2: Use the recently introduced INTEL_REVID() and SKL_REVID defines (Nick Hoath) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Tested-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89554 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7a8785f7eea5f1a35f10d2fbdee7df1febb850de Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Mar 11 22:52:28 2015 +0200 drm/i915: Remove the preliminary_hw_support shackles from CHV CHV should be in a good enough shape now, so let's drop the .is_preliminary flag. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 968040b23027e400854255311953207ac9233ddc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Mar 11 22:52:08 2015 +0200 drm/i915: Read CHV_PLL_DW8 from the correct offset We accidentally pass 'pipe' instead of 'port' to CHV_PLL_DW8() and with PIPE_C we end up at register offset 0x8320 which isn't the 0x8020 we wanted. Fix it. The problem was fortunately caught by the sanity check in vlv_dpio_read(): WARNING: CPU: 1 PID: 238 at ../drivers/gpu/drm/i915/intel_sideband.c:200 vlv_dpio_read+0x77/0x80 [i915]() DPIO read pipe C reg 0x8320 == 0xffffffff The problem got introduced with this commit: commit 71af07f91f12bbab96335e202c82525d31680960 Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Thu Mar 5 19:33:08 2015 +0530 drm/i915: Update prop, int co-eff and gain threshold for CHV Cc: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d272ddfa30b088870a925decba3c4a7f1a45badc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Mar 11 18:52:31 2015 +0200 drm/i915: Rewrite IVB FDI bifurcation conflict checks Ignore the current state of the pipe and just check crtc_state->enable and the number of FDI lanes required. This means we don't accidentally mistake the FDI lanes as being available of one of the pipes just happens to be disabled at the time of the check. Also we no longer consider pipe C to require FDI lanes when it's driving the eDP transcoder. We also take the opportunity to make the code a bit nicer looking by hiding the ugly bits in the new pipe_required_fdi_lanes() function. Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 251cc67c7a28c216c9d4377ff5bf435c4248679e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Mar 11 18:52:30 2015 +0200 drm/i915: Rewrite some some of the FDI lane checks The logic in the FDI lane checks is very hard for my poor brain to grasp. Rewrite it in a more straightforward way. Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4c2a8897bc7662f0ab4148185cfb65153e4095b9 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:24 2015 +0530 drm/i915/skl: Enable the RPS interrupts programming Enable the RPS interrupts programming(enable/disable/reset) for GEN9, as missing changes to enable the RPS support on GEN9 have been added. Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa448626d81d18e74bd24f22eba9a0b0822d3879 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:23 2015 +0530 drm/i915/skl: Enabling processing of Turbo interrupts Earlier Turbo interrupts were not being processed for SKL, as something was amiss in turbo programming for SKL. Now missing changes have been added, so enabling the Turbo interrupt processing for SKL. Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 60260a5b59f7733fe5e3f5c2e39dfb3291ffb94f Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:21 2015 +0530 drm/i915/skl: Updated the i915_frequency_info debugfs function Added support for SKL in the i915_frequency_info debugfs function v2: - corrected the handling of reqf (Damien) - Reorderd the platform check for cagf (Ville) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 003632d9cf626dadcd48ddba375302c0537f81e5 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Wed Mar 11 13:35:43 2015 +0200 drm/i915: Simplify the way BC bifurcation state consistency is kept Remove the global modeset resource function that would disable the bifurcation bit, and instead enable/disable it when enabling the pch transcoder. The mode set consistency check should prevent us from disabling the bit if pipe C is enabled so the change should be safe. Note that this doens't affect the logic that prevents the bit being set while a pipe is active, since the patch retains the behavior of only chaging the bit if necessary. Because of the checks during mode set, the first change would necessarily happen with both pipes B and C disabled, and any subsequent write would be skipped. v2: Only change the bit during pch trancoder enable. (Ville) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ed64d66fba4684f162cf573587f729142d5e0d0f Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:22 2015 +0530 drm/i915/skl: Updated the act_freq_mhz_show sysfs function Added support for SKL in the act_freq_mhz_show sysfs function Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0beb059ab8312cd9dab598a3fb3555355c01a0d9 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:20 2015 +0530 drm/i915/skl: Updated the gen9_enable_rps function On SKL, GT frequency is programmed in units of 16.66 MHZ units compared to 50 MHZ for older platforms. Also the time value specified for Up/Down EI & Up/Down thresholds are expressed in units of 1.33 us, compared to 1.28 us for older platforms. So updated the gen9_enable_rps function as per that. v2: Updated to use new macro GT_INTERVAL_FROM_US v3: Removed the initial setup of certain registers, from gen9_enable_rps, which gets overridden later from gen6_set_rps (Damien) v4: Removed the enabling of rps interrupts, from gen9_enable_rps. To be done from intel_gen6_powersave_work only, as done for other platforms also. Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74ef117378d39042af1d42cab032fe78a0e0808d Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:19 2015 +0530 drm/i915/skl: Updated the gen6_rps_limits function RP Interrupt Up/Down Frequency Limits register (A014) definition has changed for SKL. Updated the gen6_rps_limits function as per that v2: Renamed the function to intel_rps_limits (Chris) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8a5864377b12b7c0a7a8e20cb33ef7ccc679d657 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:18 2015 +0530 drm/i915/skl: Restructured the gen6_set_rps_thresholds function Prior to SKL, the time period programmed in Up/Down EI & Up/Down threshold registers was in units of 1.28 micro seconds. But for SKL, the units have changed (1.333 micro seconds). Have generalized the implementation of gen6_set_rps_thresholds function, by removing the hard coding done in it as per 1.28 micro seconds. v2: Renamed the local variables & removed superfluous comments (Chris) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5704195c3f3c04a00c16334a033b180f16db1f94 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:17 2015 +0530 drm/i915/skl: Updated the gen6_set_rps function On SKL, the frequency is programmed differently in RPNSWREQ (A008) register (from bits 23 to 31, compared to bits 24 to 31). So updated the gen6_set_rps function, as per this change. Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cee991cb9323995b5c1e5f39540b6055ca5e73e4 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:16 2015 +0530 drm/i915/skl: Updated the gen6_init_rps_frequencies function On SKL the frequency is specified in units of 16.66 MHZ, barring the RP_STATE_CAP(0x5998) register, which still reports frequency in units of 50 MHZ. So an extra conversion is required in gen6_init_rps_frequencies function for SKL, to store the frequency values as per the actual hardware unit. v2: Corrected the conversion from 50 to 16.66 MHZ (Ville) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 80b6dda453cd27071950f28862134dea832573ec Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:15 2015 +0530 drm/i915/skl: Updated intel_gpu_freq() and intel_freq_opcode() On SKL, frequency is specified in units of 16.66 MHZ. Updated the intel_gpu_freq() and intel_freq_opecode() functions to do the conversion appropriately. Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de43ae9dd263d50addd2c76b507dc0d1f1c5a1b3 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:14 2015 +0530 drm/i915/skl: Added new macros For SKL, register definition for RPNSWREQ (A008), RPSTAT1(A01C) have changed slightly. Also on SKL, frequency is specified in units of 16.66 MHZ, compared to 50 MHZ for most of the earlier platforms and the time values are expressed in units of 1.33 us, compared to 1.28 us for earlier platforms. Added new macros for the aforementioned changes. v2: Renamed the GT_FREQ_FROM_PERIOD macro to GT_INTERVAL_FROM_US (Damien) v3: Removed the implicit use of dev_priv in GT_INTERVAL_FROM_US macro (Chris) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44e5e28bf64fcd7c4d3f933cb4c7f69d8aa11781 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Feb 3 14:34:05 2015 +0200 drm/i915: remove indirection in the PCI ID macros Spell all the PCI IDs out to be able to quickly grep for the IDs. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Add GT1/2 to comments to not loose that distinction.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f4998963f2fbd4a22ae77624bc810b21208a8803 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 17:02:21 2015 +0200 drm/i915: Use FW_WM() macro for older gmch platforms too Use the FW_WM() macro from the VLV wm code to polish up the wm code for older gmch platforms. Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 15665979ca601f483cd5caca851620d2c2845125 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 16:16:28 2015 +0200 drm/i915: Add polish to VLV WM shift+mask operations Wrap the FW register value shift+mask operations into a macro to hide the ugliness a bit. Also might avoid bugs due to typos. Also rename all the primary/sprite plane low order bit masks to have the _VLV suffix, so that we can use the FW_WM_VLV() macro instead of the FW_WM() macro for them in a consistent manner. Cursor and all the high order bits are left to use the FW_WM() macro as there's no real confusion with them. Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6e721fb1ee99f3f9f67b94c8d1f9204217399733 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 13:15:23 2015 +0200 drm/i915: Use plane->state->fb instead of plane->fb in intel_plane_restore() plane->fb is not as reliable as plane->state->fb so let's convert intel_plane_restore() over the the new way of thinking as well. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3749f46370318332d22847da2e1e9b729e177aaf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 13:15:22 2015 +0200 drm/i915: Reduce clutter by using the local plane pointer No need to go dig throguh intel_crtc->base.cursor when we already have the same thing as 'plane' local variable. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c5da514588c48c99d9e0f4014348115496aef938 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 13:15:21 2015 +0200 drm/i915: Remove debug prints from primary plane update funcs These are now called from the plane commit hooks, so they really need to be fast or else we risk atomic update failures. So kill the debug prints which are slowing things down massively. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 41659ab7935e53f3a094168c47000bbc33cf2690 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 11 08:27:25 2015 +0100 drm/i915: Add ULL postfix to VGT_MAGIC constant Without this Dave's 32bit rhel compiler is annoyed. Don't ask me about the exact rules for this stuff though, but this should be safe. Reported-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8c4f83fb1e8bf317e894f62d17a63c32b7a6b75e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 11 08:26:23 2015 +0100 drm/fourcc: 64 #defines need ULL postfix I have no idea about the exact rules, but this angered Dave's 32bit rhel gcc. Reported-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c9f038a1a5924352ab8e510e4a45ac57b08db391 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Mar 9 11:06:02 2015 -0700 drm/i915: Don't assume primary & cursor are always on for wm calculation (v4) Current ILK-style watermark code assumes the primary plane and cursor plane are always enabled. This assumption, along with the combination of two independent commits that got merged at the same time, results in a NULL dereference. The offending commits are: commit fd2d61341bf39d1054256c07d6eddd624ebc4241 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Feb 27 10:12:01 2015 -0800 drm/i915: Use plane->state->fb in watermark code (v2) and commit 0fda65680e92545caea5be7805a7f0a617fb6c20 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 15:12:35 2015 +0000 drm/i915/skl: Update watermarks for Y tiling The first commit causes us to use the FB from plane->state->fb rather than the legacy plane->fb, which is updated a bit later in the process. The second commit includes a change that now triggers watermark reprogramming on primary plane enable/disable where we didn't have one before (which wasn't really correct, but we had been getting lucky because we always calculated as if the primary plane was on). Together, these two commits cause the watermark calculation to (properly) see plane->state->fb = NULL when we're in the process of disabling the primary plane. However the existing watermark code assumes there's always a primary fb and tries to dereference it to find out pixel format / bpp information. The fix is to make ILK-style watermark calculation actually check the true status of primary & cursor planes and adjust our watermark logic accordingly. v2: Update unchecked uses of state->fb for other platforms (pnv, skl, etc.). Note that this is just a temporary fix. Ultimately the useful information is going to be computed at check time and stored right in the state structures so that we don't have to figure this all out while we're supposed to be programming the watermarks. (caught by Tvrtko) v3: Fix a couple copy/paste mistakes in SKL code. (Tvrtko) v4: Only add FB checks for ILK/SKL codepaths. Older platforms still use intel_crtc_active() and will shortcircuit out of watermark calculations before ever trying to dereference the primary plane's framebuffer. Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reported-by: Michael Leuchtenburg <michael@xxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89388 Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 89ed88baaaaa6aa783312a6ce8e5b27a56c774be Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:31:49 2015 +0000 drm/i915: Move drm_framebuffer_unreference out of struct_mutex for flips intel_user_framebuffer_destroy() requires the struct_mutex for its object bookkeeping, so this means that all calls to drm_framebuffer_unreference must not hold that lock. Regression from commit ab8d66752a9c28cd6c94fa173feacdfc1554aa03 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Feb 2 15:44:15 2015 +0000 drm/i915: Track old framebuffer instead of object Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89166 Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> [danvet: Clarify commit message slightly.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc1ac8dee1fe3d3155e8622e4d8e9130d88bc65b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:52 2015 +0200 drm/i915: Disable DDR DVFS on CHV DDR DVFS introduces massive memory latencies which can't be handled by the PND deadline stuff. Instead the watermarks will need to be programmed to compensate for the latency and the deadlines will need to be programmed to tight fixed values. That means DDR DVFS can only be enabled if the display FIFOs are large enough, and that pretty much means we have to manually repartition them to suit the needs of the moment. That's a lot of change, so in the meantime let's just disable DDR DVFS to get the display(s) to be stable. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cfb41411fce52a8e8b6c1f0bd253d4ca7bfcbd0d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:51 2015 +0200 drm/i915: Enable the maxfifo PM5 mode when appropriate on CHV CHV has a new knob in Punit to select between some memory power savings modes PM2 and PM5. We can allow the deeper PM5 when maxfifo mode is enabled, so let's do so in the hopes for moar power savings. v2: Put the thing into a separate function to avoid churn later v3: Don't break VLV Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Arun R Murthy <arun.r.murthy@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1e69cd74af22cce3b882b155bef295ff68a40566 Author: Vidya Srinivas <vidya.srinivas@xxxxxxxxx> Date: Thu Mar 5 21:19:50 2015 +0200 drm/i915: Program PFI credits for VLV PFI credit programming is required when CD clock (related to data flow from display pipeline to end display) is greater than CZ clock (related to data flow from memory to display plane). This programming should be done when all planes are OFF to avoid intermittent hangs while accessing memory even from different Gfx units (not just display). If cdclk/czclk >=1, PFI credits could be set as any number. To get better performance, larger PFI credit can be assigned to PND. Otherwise if cdclk/czclk<1, the default PFI credit of 8 should be set. v2: - Change log to lower log level instead of DRM_ERROR - Change function name to valleyview_program_pfi_credits - Move program PFI credits to modeset_init instead of intel_set_mode - Change magic numbers to logical constants [vsyrjala v3: - only program in response to cdclk update - program the credits also when cdclk<czclk - add CHV bits v4: - Change CHV cdclk<czclk credits to 12 (Vijay)] Signed-off-by: Vidya Srinivas <vidya.srinivas@xxxxxxxxx> Signed-off-by: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ae80152ddad252f33893b92dd69f00cc53c5949f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:49 2015 +0200 drm/i915: Rewrite VLV/CHV watermark code Assuming the PND deadline mechanism works reasonably we should do memory requests as early as possible so that PND has schedule the requests more intelligently. Currently we're still calculating the watermarks as if VLV/CHV are identical to g4x, which isn't the case. The current code also seems to calculate insufficient watermarks and hence we're seeing some underruns, especially on high resolution displays. To fix it just rip out the current code and replace is with something that tries to utilize PND as efficiently as possible. We now calculate the WM watermark to trigger when the FIFO still has 256us worth of data. 256us is the maximum deadline value supoorted by PND, so issuing memory requests earlier would mean we probably couldn't utilize the full FIFO as PND would attempt to return the data at least in at least 256us. We also clamp the watermark to at least 8 cachelines as that's the magic watermark that enabling trickle feed would also impose. I'm assuming it matches some burst size. In theory we could just enable trickle feed and ignore the WM values, except trickle feed doesn't work with max fifo mode anyway, so we'd still need to calculate the SR watermarks. It seems cleaner to just disable trickle feed and calculate all watermarks the same way. Also trickle feed wouldn't account for the 256us max deadline value, thoguh that may be a moot point in non-max fifo mode sicne the FIFOs are fairly small. On VLV max fifo mode can be used with either primary or sprite planes. So the code now also checks all the planes (apart from the cursor) when calculating the SR plane watermark. We don't have to worry about the WM1 watermarks since we're using the PND deadline scheme which means the hardware ignores WM1 values. v2: Use plane->state->fb instead of plane->fb Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 03e515f7f8949c0787e0674091d9fbdb8afc4fd3 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Mon Mar 9 17:57:07 2015 -0700 drm/i915: Make sure we invalidate frontbuffer on fbcon. There are some cases like suspend/resume or dpms off/on sequences that can flush frontbuffer bits. In these cases features that relies on frontbuffer tracking can start working and user can stop getting screen updates on fbcon having impression the system is frozen. So, let's make sure we also invalidate frontbuffer on fbdev blank. v2: Daniel was right, backtrace didn't show other path than this blank one so let's make sure frontbuffer bits gets invalidate here instead of on random write operations that doesn't garantee we track all frontbuffer writes. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> [danvet: Exchange code comments for one that complains about the locking, like in set_par.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9cbe40c15a753e02f5da16f6de901decf3276cf1 Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Thu Mar 5 19:33:08 2015 +0530 drm/i915: Update prop, int co-eff and gain threshold for CHV This patch implements latest PHY changes in Gain, prop and int co-efficients based on the vco freq. v2: Split the original changes into multiple smaller patches based on review by Ville v3: Addressed Ville's review comments. Fixed the error introduced in v2. Clear the old bits before we modify those bits as part of RMW. v4: TDC target cnt is 10 bits and not 8 bits (Ville) Signed-off-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de3a0fde9afe551440db486f3f5ee52c8f15120a Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Thu Mar 5 19:32:06 2015 +0530 drm/i915: Initialize CHV digital lock detect threshold Initialize lock detect threshold and select coarse threshold for the case where M2 fraction division is disabled. v2: Split the changes into multiple smaller patches (Ville) v3: Clear out the old bits before we modify those bits as RMW (Ville) v4: Reset coarse threshold when M2 fraction is enabled (Ville) Signed-off-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a945ce7e4eeb9c629d8a75b78203b026f74c2ea2 Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Thu Mar 5 19:30:57 2015 +0530 drm/i915: Disable M2 frac division for integer case v2 : Handle M2 frac division for both M2 frac and int cases v3 : Addressed Ville's review comments. Cleared the old bits for RMW v4 : Fix feedfwd gain (Ville) Signed-off-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ca2b1403e2a3fcfec462c1c75ec2b0f93d65590a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:21:08 2015 +0100 drm/i915: Spelling s/auxilliary/auxiliary/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3ef00284e6a48f7deb0784ccca0478ebb7d4bcfc Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Mar 9 10:19:24 2015 -0700 drm/i915: Use crtc->state->active in ilk/skl watermark calculations (v3) Existing watermark code calls intel_crtc_active() to determine whether a CRTC is active for the purpose of watermark calculations (and bails out early if it determines the CRTC is not active). However intel_crtc_active() only returns true if crtc->primary->fb is non-NULL, which isn't appropriate in the modern age of universal planes and atomic modeset since userspace can now disable the primary plane, but leave the CRTC (and other planes) running. Note that commit commit 0fda65680e92545caea5be7805a7f0a617fb6c20 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 15:12:35 2015 +0000 drm/i915/skl: Update watermarks for Y tiling adds a test for primary plane enable/disable to trigger a watermark update (previously we ignored updates to primary planes, which wasn't really correct, but we got lucky since we always pretended the primary plane was on). Tvrtko's patch tries to update watermarks when we re-enable the primary plane, but that watermark computation gets aborted early because intel_crtc_active() returns false due to the disabled primary plane. Switch the ILK and SKL watermark code over to use crtc->state->active rather than calling intel_crtc_active() so that we'll properly compute watermarks when re-enabling the primary plane. Note that this commit doesn't touch callsites in the watermark code for older platforms since there were concerns that doing so would lead to other types of breakage. Also note that all of the watermark calculation at the moment takes place after new crtc/plane states are swapped into the DRM objects. This will change in the future, so we'll be working with in-flight state objects, but for the time being, crtc->state is what we want to operate on. v2: Don't drop primary->fb check from intel_crtc_active(), but rather replace ILK/SKL callsites with direct tests of crtc->state->active. There is concern that messing with intel_crtc_active() will lead to other breakage for old hardware platforms. (Ville) v3: Use intel_crtc->active for now rather than crtc->state->active since we don't have CRTC states properly hooked up and initialized yet. We'll defer the switch to crtc->state->active until the atomic CRTC state work is farther along. (Ville) Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c3d1f4360133ecab6aa5f2e782cf15f119e43dc9 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Mar 9 10:19:23 2015 -0700 drm/i915: Update intel_crtc_active() to use state values (v2) With the switch to atomic plumbing for planes, some of our commit-time work (e.g., watermarks) is done after the new atomic state is swapped into the relevant DRM object, but before the DRM core has a chance to update its legacy state values. Switch intel_crtc_active() to look at the state objects rather than legacy fields to ensure we operate on the proper values. Note that we're continuing to use intel_crtc->active here for the time being since crtc->state isn't really hooked up yet. Once CRTC states are wired up properly, we'll want to switch this over to use crtc->state->active instead. v2: Switch back to intel_crtc->active for now; when Ander's work on CRTC states is ready, we can flip this over to use crtc->state->active instead. (Ville) Cc: Ander Conselvan De Oliveira <conselvan2@xxxxxxxxx> Suggested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3553a8eadb711e9236e517e44be67665bb5b4c65 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Mar 9 14:17:58 2015 +0000 drm/i915: Exit early from psr_status if PSR is not supported by the device Static analysis was complaining that a path existed where we could use stat[] uninitialized. Fix this by simplifying the logic to exit early if PSR isn't supported. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9d0d3fdaae08e9221070dda32348116c2a3235ed Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Mar 2 20:07:17 2015 +0200 drm/i915: Fix chv cdclk support The specs seem to be full of misinformation wrt. the Punit register 0x36. Some versions still show the old VLV bit layout, some the new layout, and all of them seem to tell us nonsense about the cdclk value encoding. Testing on actual hardware has shown that we simply need to program the desired CCK divider into the Punit register using the new layout of the bits. Doing that, the status bit change to indicate the same value, and the CCK 0x6b register also changes accordingly to indicate that CCK is now using the new divider. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Yogesh Mohan Marimuthu <yogesh.mohan.marimuthu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6cca31950a5df57d89d9cb4f846c96dab902adf9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Mar 2 20:07:16 2015 +0200 drm/i915: Allow pixel clock up to 95% of cdclk on CHV Supposedly CHV can sustain a pixel clock of up to 95% of cdclk, as opposed to the 90% limit that was used old older platforms. Update the cdclk selection code to allow for this. This will allow eg. HDMI 4k modes with their 297MHz pixel clock while still respecting the 320 MHz cdclk limit on CHV. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Yogesh Mohan Marimuthu <yogesh.mohan.marimuthu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de31facda53b595bc42ac87341a9200f1f4eb414 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Fri Mar 6 15:53:32 2015 -0800 drm/i915/skl: port A fuse straps don't work on early SKL steppings So try to enumerate eDP unconditionally in those cases. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> [danvet: Add wa tag Damien dug out.] Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d2b9526a790d55b7ae870934a74937081f62de2 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:53 2015 +0000 drm/i915/skl: Restore the DDI translation tables when enabling PW1 I was dumping the DDI translation tables to make sure my patch updating the HDMI entry was doing the right thing when I noticed that the table was showing reset values after DPMS. And indeed, the DDI translation registers are in power well 1 on SKL, and so we're losing their values when shutting down eDP. Calling intel_prepare_ddi() on PW1 enabling re-programs the table. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 254003926eed24344c23509a743d0bc281e0eb95 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:52 2015 +0000 drm/i915: Remove unused condition in hsw_power_well_post_enable() We don't use this function on gen9, no need for that test here. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d14c03431340d0913f067ab18b6444e0f41d4f80 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:51 2015 +0000 drm/i915/skl: Restore pipe interrupt registers after power well enabling The pipe interrupt registers are in the actual pipe power well, so we need to restore them when re-enable the corresponding power well. I've also copied what we do on HSW/BDW for VGA, even if the we haven't enabled unclaimed registers just yet. v2: Don't run skl_power_well_post_enable() if the power well is already enabled (Paulo) 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 510e6fdd8f796666ec6a8539b01b5e5e72913046 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:50 2015 +0000 drm/i915/skl: Mirror what we do on HSW for the power well enable log message Just to be more consistent with what we do on HSW. 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 2a51835f6149905b86954574c258ee094d98813e Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:49 2015 +0000 drm/i915/skl: Introduce enable_requested and is_enabled in the power well code Just like what we do for HSW/BDW, having those variables makes it a bit easier to parse the code. Suggested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> 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 4c6c03be125e9d8477c2d8ef3c3280270956b1fe Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:48 2015 +0000 drm/i915/skl: Make gen8_irq_power_well_post_enable() take a pipe mask While we only need to restore pipe B/C interrupt registers on BDW when enabling the power well, skylake a bit more flexible and we'll also need to restore the pipe A registers as it has its own power well that can be toggled. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5575f03a603d267e84ab3727f7241b8be5f7d8ee Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Fri Feb 27 10:22:32 2015 -0800 drm/i915/chv: Add CHV HW status to SSEU status Collect the currently enabled counts of slice, subslice, and execution units using the power gate control ack message registers specific to Cherryview. Slice/subslice/EU info and hardware status can now be determined for CHV, so allow the debugfs SSEU status dump to proceed for CHV devices. Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c93043ae1deaa0f9bd394ac2d8c6881deb19b53a Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Fri Feb 27 12:12:28 2015 -0800 drm/i915/chv: Determine CHV slice/subslice/EU info Total EU was already being detected on CHV, so we just add the additional info parameters. The detection method is changed to be more robust in the case of subslice fusing - we don't want to trust the EU fuse bits corresponding to subslices which are fused-off. v2: Fixed subslice disable bitmasks and removed unnecessary ? operation (Ville) Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c6beb13ef33ae9430953deaa51db18a9e14277af Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:48 2015 +0200 drm/i915: Make sure PND deadline mode is enabled on VLV/CHV Poke at the CBR1_VLV register during init_clock_gating to make sure the PND deadline scheme is used. The hardware has two modes of operation wrt. watermarks: 1) PND deadline mode: - memory request deadline is calculated from actual FIFO level * DDL - WM1 watermark values are unused (AFAIK) - WM watermark level defines when to start fetching data from memory (assuming trickle feed is not used) 2) backup mode - deadline is based on FIFO status, DDL is unused - FIFO split into three regions with WM and WM1 watermarks, each part specifying a different FIFO status We want to use the PND deadline mode, so let's make sure the chicken bit is in the correct position on init. Also take the opportunity to refactor the shared code between VLV and CHV to a shared function. Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b500472026e40ef2a4827a5973dc5424c98ede92 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:47 2015 +0200 drm/i915: Read out display FIFO size on VLV/CHV VLV/CHV have similar DSPARB registers as older platforms, just more of them due to more planes. Add a bit of code to read out the current FIFO split from the registers. Will be useful later when we improve the WM calculations. v2: Add display_mmio_offset to DSPARB Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 883a3d2f65212388b1577ebc020648fc95fa5d72 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:46 2015 +0200 drm/i915: Pass plane to vlv_compute_drain_latency() Now that we have drm_planes for the cursor and primary we can move the pixel_size handling into vlv_compute_drain_latency() and just pass the appropriate plane to it. v2: Check plane->state->fb instead of plane->fb Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> (v1) Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Resolve conflict with Matt's s/plane->fb/plane->state->fb/ patch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0018fda1e4d5c076decc0dcf396ea4e3d3faa444 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:45 2015 +0200 drm/i915: Reorganize VLV DDL setup Introduce struct vlv_wm_values to house VLV watermark/drain latency values. We start by using it when computing the drain latency values. Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 341c526f43fdd2d85450bf5f72927a82dded4ee5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:44 2015 +0200 drm/i915: Hide VLV DDL precision handling Move the DDL precision handling into vlv_compute_drain_latency() so the callers don't have to duplicate the same code to deal with it. Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit abfc00b545ba2c4dee1dcb124be59f34df3ed7d9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:43 2015 +0200 drm/i915: Simplify VLV drain latency computation The current drain lantency computation relies on hardcoded limits to determine when the to use the low vs. high precision multiplier. Rewrite the code to use a more straightforward approach. Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 120305166aa8da2e8166d7ac1adce30194e6e24f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:42 2015 +0200 drm/i915: Kill DRAIN_LATENCY_PRECISION_* defines Kill the silly DRAIN_LATENCY_PRECISION_* defines and just use the raw number instead. v2: Move the sprite 32/16 -> 16/8 preision multiplier change to another patch (Jesse) Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit edf605601403194fdded0f8fd6305955d4ba009d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:41 2015 +0200 drm/i915: Reduce CHV DDL multiplier to 16/8 Apparently we must yet halve the DDL drain latency from what we're using currently. This little nugget is not in any spec, but came down through the grapevine. This makes the displays a bit more stable. Not quite fully stable but at least they don't fall over immediately on driver load. v2: Update high_precision in valleyview_update_sprite_wm() too (Jesse) Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 48572edd9d736d6fabd40b810a0de844ee4f800b Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 18 10:55:50 2014 +0000 drm/i915: Disable the mmio.debug WARN after it fires If we have a single unclaimed register, we will have lots. A WARN for each one makes the machine unusable and does not aid debugging. Convert the i915.mmio_debug option to a counter for how many WARNs to fire before shutting up. Even when i915.mmio_debug was disabled it would continue to shout an *ERROR* for every interrupt, without any information at all for debugging. The massive verbiage was added in commit 5978118c39c2f72fd8b39ef9c086723542384809 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Jul 16 17:49:29 2014 -0300 drm/i915: reorganize the unclaimed register detection code v2: Automatically enable invalid mmio reporting for the *next* invalid access if mmio_debug is disabled by default. This should give us clearer debug information without polluting the logs too much. v3: Compile fixes, rebase. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> [danvet: Update modparam text per the thread.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6e0b3f8d64252664f240f0cbd23e3d22ce3df001 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 5 22:03:08 2015 +0800 drm/i915: fix simple_return.cocci warnings drivers/gpu/drm/i915/intel_ringbuffer.c:435:1-4: WARNING: end returns can be simpified Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6ea2556f3e2549284331a3a29a5984f859c3cd5b Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Feb 27 18:11:09 2015 +0200 drm/i915: Do both mt and gen6 style forcewake reset on ivb probe commit 05a2fb157e44 ("drm/i915: Consolidate forcewake code") failed to take into account that we have used to reset both the gen6 style and the multithreaded style forcewake registers. This is due to fact that ivb can use either, depending on how the bios has set up the machine. Mimic the old semantics before we have determined the correct variety and reset both before the ecobus probe. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Huang Ying <ying.huang@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a561165493e5fec2f74bd3ae0577ed659e44ab7f Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Thu Mar 5 14:03:03 2015 +0000 drm/i915: Remove ironlake rc6 support Apparently, this has never worked reliably and is currently disabled. Also, the gains are not particularly impressive. Thus rather than try to keep unused code from decaying and having to update it for other driver changes, it was decided to simply remove it. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d703d4e5d7094e77186d09619548de42be9b493 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Mar 4 10:49:04 2015 -0800 drm/i915: Don't clobber plane state on internal disables We need to disable all sprite planes when disabling the CRTC. We had been using the top-level atomic 'disable' entrypoint to accomplish this, which was wrong. Not only can this lead to various locking issues, it also modifies the actual plane state, making it impossible to restore the plane properly later. For example, a DPMS off followed by a DPMS on will result in any sprite planes in use not being restored properly. The proper solution here is to call directly into our 'commit plane' hook with a copy of the plane's current state that has 'visible' set to false. Committing this dummy state will turn off the plane, but will not touch the actual plane->state pointer, allowing us to properly restore the plane state later. Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2934368e41551b641df6654d93e7ffe26e94dc10 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Wed Mar 4 14:55:17 2015 +0200 drm/i915: Setup all page directories for gen8 If the requested size is less than what the full range of pdps can address, we end up setting pdps for only the requested area. The logical context however needs all pdp entries to be valid. Prior to commit 06fda602dbca ("drm/i915: Create page table allocators") we have been writing pdp entries with dma address of zero instead of valid pdps. This is supposedly bad even if those pdps are not addressed. As commit 06fda602dbca ("drm/i915: Create page table allocators") introduced more dynamic structure for pdps, we ended up oopsing when we populated the lrc context. Analyzing this oops revealed the fact that we have not been writing valid pdps with bsw, as it is doing the ppgtt init with 2GB limit in some cases. We should do the right thing and setup the non addressable part pdps/pde/pte to scratch page through the minimal structure by having just pdp with pde entries pointing to same page with pte entries pointing to scratch page. But instead of going through that trouble, setup all the pdps through individual pd pages and pt entries, even for non addressable parts. And let the clear range point them to scratch page. This way we populate the lrc with valid pdps and wait for dynamic page allocation work to land, and do the heavy lifting for truncating page table tree according to usage. The regression of oopsing in init was introduced by commit 06fda602dbca ("drm/i915: Create page table allocators") v2: Clear the range for the unused part also (Ville) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89350 Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Valtteri Rantala <valtteri.rantala@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 c3346ef688b9956003cd357fef0a2b8c06e72ee8 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Sat Feb 21 11:12:13 2015 +0530 drm/i915/skl: Program PLL for edp1.4 intermediate frequencies v2: Making the link_clock half in switch inline with the DPLL_CTRL1_* macros (Ville) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a8f3ef6197979824ee117d89a26c57e347c62731 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Mar 5 10:02:30 2015 +0530 drm/i915/skl: Add support for edp 1.4 intermediate frequencies eDp 1.4 supports custom frequencies. Skylake supports following intermediate frequencies : 3.24 GHz, 2.16 GHz and 4.32 GHz along with usual LBR, HBR and HBR2 frequencies. Read sink supported frequencies and get common frequencies from sink and source and use these for link training. v2: Rebased, removed calculation of min_clock since for edp it is taken as max_clock (as per comment). v3: Keeping single array for link rates (Satheesh) v4: Setting LINK_BW_SET to 0 when setting LINK_RATE_SET (Satheesh) v5: Some minor nits (Ville) v6: Keeping separate arrays for source and sink rates (Ville) v7: Remove redundant setting of DP_LINK_BW_SET to 0 (Ville) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc0f8e25318f4850fc02e2d1a19a41daf69820c4 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Mar 5 10:03:58 2015 +0530 drm/i915/skl: Read sink supported rates from edp panel v2: Using DP_SUPPORTED_LINK_RATES macro for supported_rates array (Satheesh). v3: Reading dpcd's supported link rates tables based upon edp version in the same patch. v4: Move version check under is_edp (Satheesh) v5: Using le16 for rates, some naming, and removing nested if block (Ville) v6: Correctly using DP_MAX_SUPPORTED_RATES and removing DP_SUPPORTED_LINK_RATES (Ville) v7: Incorrectly removed DP_SUPPORTED_LINK_RATES in v6, re-adding it v8: Checking return value of intel_dp_dpcd_read_wake() (Ville) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dbef0f15b5c83231dacb214dbf9a6dba063ca21c Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:46 2015 -0200 drm/i915: add frontbuffer tracking to FBC Kill the blt/render tracking we currently have and use the frontbuffer tracking infrastructure. Don't enable things by default yet. v2: (Rodrigo) Fix small conflict on rebase and typo at subject. v3: (Paulo) Rebase on RENDER_CS change. v4: (Paulo) Rebase. v5: (Paulo) Simplify: flushes don't have origin (Daniel). Also rebase due to patch order changes. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> 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 3954e733ab0c9449443897f2669e17fff4471a0e Author: Ramalingam C <ramalingam.c@xxxxxxxxx> Date: Tue Mar 3 12:11:46 2015 +0530 drm/i915: Fixing mutex deadlock window at eDP DRRS In invalidate and flush functions of eDP DRRS, if deferred downclock work starts execution at a time window between acquiring the drrs mutex and cancellation of the deferred work (intel_edp_drrs_downclock_work), then deferred work will find drrs mutex locked and wait for the same. Meanwhile the function that acquired mutex drrs invalidate/flush will wait for the completion of the deferred work before releasing the mutex. Thats a deadlock. To avoid such deadlock scenario, this change cancels the deferred work before acquiring the mutex at invalidate and flush functions. Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a54746e39ad5cc27cf3099bec1e813cdf8ad7f7e Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Tue Mar 3 20:53:10 2015 +0530 drm/i915: Add debugfs entry for DRRS Adding a debugfs entry to determine if DRRS is supported or not V2: [By Ram]: Following details about the active crtc will be filled in seq-file of the debugfs 1. Encoder output type 2. DRRS Support on this CRTC 3. DRRS current state 4. Current Vrefresh Format is as follows: CRTC 1: Output: eDP, DRRS Supported: Yes (Seamless), DRRS_State: DRRS_HIGH_RR, Vrefresh: 60 CRTC 2: Output: HDMI, DRRS Supported : No, VBT DRRS_type: Seamless CRTC 1: Output: eDP, DRRS Supported: Yes (Seamless), DRRS_State: DRRS_LOW_RR, Vrefresh: 40 CRTC 2: Output: HDMI, DRRS Supported : No, VBT DRRS_type: Seamless V3: [By Ram]: Readability is improved. Another error case is covered [Daniel] V4: [By Ram]: Current status of the Idleness DRRS along with the Front buffer bits are added to the debugfs. [Rodrigo] V5: [By Ram]: Rephrased to make it easy to understand. And format is modified. [Rodrigo] V6: [By Ram]: Modeset mutex are acquired for each crtc along with renaming the Idleness detection states [Daniel] Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> [danvet: dump full busy_frontbuffer_bits and remove the dubios computed logical state of DRRS - debugfs is about what is fact, developers should reach their own conclusion when debugging issues.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 27cd44618b92fc8c6889e4628407791e45422bac Author: Neil Roberts <neil@xxxxxxxxxxxxxxx> Date: Wed Mar 4 14:41:16 2015 +0000 drm/i915: Add I915_PARAM_REVISION Adds a parameter which can be used with DRM_I915_GETPARAM to query the GPU revision. The intention is to use this in Mesa to implement the WaDisableSIMD16On3SrcInstr workaround on Skylake but only for revision 2. Signed-off-by: Neil Roberts <neil@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10634189fc50d30c7269e3e1af167608f7aebcfc Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Tue Mar 3 15:21:57 2015 +0200 drm/i915: Improve staged config logging When logging that full mode switch is necessary, log which connector, encoder or crtc has caused it, so it is easier to figure out what is goind on by just looking at the log. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a3371ff0d924270fde978c93eb3921ad544eb79 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Tue Mar 3 15:21:56 2015 +0200 drm/i915: Add a for_each_intel_connector macro We have similar macros for crtcs and encoders, and the pattern happens often enough to justify the macro. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a91572f35bda9c39f3d3ac89f0d6e84ae75ae02e Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Tue Mar 3 15:21:55 2015 +0200 drm/i915: Set crtc backpointer when duplicating crtc state In the path were there is no state to duplicate, the allocated crtc state wouldn't have the crtc backpointer initialized. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17fe10218be4663b0be1cf27805c32741eae48a8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Feb 26 21:01:52 2015 +0200 drm/i915: Reduce CHV DPLL min vco frequency to 4.8 GHz The current minimum vco frequency leaves us with a gap in our supported frequencies at 233-243 MHz. Your typical 2560x1440@60 display wants a pixel clock of 241.5 MHz, which is just withing that gap. Reduce the allowed vco min frequency to 4.8GHz to reduce the gap to 233-240 MHz, and thus allow such displays to work. 4.8 GHz is actually the documented (at least in some docs) limit of the PLL, and we just picked 4.86 GHz originally because that was the lowest value produced by the PLL spreadsheet, which obviously didn't consider 2560x1440 displays. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 063e4e6bf9dd793155278d9727088bbfe212295a Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:45 2015 -0200 drm/i915: also do frontbuffer tracking on pwrites We need this for FBC, and possibly for PSR too. v2: Don't only flush: invalidate too (Daniel). 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 a4001f1b75cdb06db0febd9e72d3631f73ba8171 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:44 2015 -0200 drm/i915: pass which operation triggered the frontbuffer tracking We want to port FBC to the frontbuffer tracking infrastructure, but for that we need to know what caused the object invalidation so we can react accordingly: CPU mmaps need manual, GTT mmaps and flips don't need handling and ring rendering needs nukes. v2: - s/ORIGIN_RENDER/ORIGIN_CS/ (Daniel, Rodrigo) - Fix copy/pasted wrong documentation - Rebase v3: - Rebase v4: - Don't pass the operation to flushes (Daniel). 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 ff42e093e9c9c17a6e1d6aab24875a36795f926e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Mar 2 16:35:20 2015 +0100 Revert "drm/i915: Switch planes from transitional helpers to full atomic helpers" This reverts commit 3f678c96abb43a977d2ea41aefccdc49e8a3e896. We've been a bit too optimistic with this one here :( The trouble is that internally we're still using these plane update/disable hooks. Which was totally ok pre-atomic since the drm core did all the book-keeping updating and these just mostly updated hw state. But with atomic there's lots more going on, and it causes heaps of trouble with the load detect code. This one specifically cause a deadlock since both the load detect code and the nested plane atomic helper functions tried to grab the same locks. It only blows up because of the evil tricks though we play with the implicit ww acquire context. Applying this revert unearths the NULL deref on already freed framebuffer objects reported as a regression in 4.0 by various people. Fixing this will be fairly invasive, hence revert even for the 4.1-next queue. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Acked-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 7ff446708bd13574ff3c1dfdc6a819089b79150b Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Mar 2 16:19:36 2015 +0000 drm/i915/skl: Only use the 800mV+2bB HDMI translation entry This translation entry was updated after electrical validation by the hw team. The other entries are removed from existence as they aren't validated and because the sole use of a certain type of level shifter for SKL products is anticipated. v2: Remove all the other entries and force the use of the 800mv+2dB config (Sonika) Suggested-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Cc: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3bdcfc0c2e52fc1507abdbacbadc571aaa5e2e0b Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Feb 28 14:54:09 2015 +0000 drm/i915: Make for_each_sprite() take dev_priv as argument Implicit usage of local variables in macros isn't exactly the greatest thing in the world, especially when that variable is the drm device and we want to move towards a broader use of the i915 device structure. Let's make for_each_sprite() take dev_priv as its first argument then. Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Chris Wilson <chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dd740780a47aa85981349bbea5186b633a8f5d50 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Feb 28 14:54:08 2015 +0000 drm/i915: Make for_each_plane() take dev_priv as argument Implicit usage of local variables in macros isn't exactly the greatest thing in the world, especially when that variable is the drm device and we want to move towards a broader use of the i915 device structure. Let's make for_each_plane() take dev_priv as its first argument then. Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Chris Wilson <chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9393943be66abb3131d06f43dbd94538733e1aa6 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:28 2015 +0100 drm/i915: Remove irq-related FIXME in reset code With the two-step reset counter increments which braket the actual reset code and the subsequent wake-up we're guaranteeing that all the lockless waiters _will_ be woken up. And since we unconditionally bail out of waits with -EAGAIN (or -EIO) in that case there is not risk of lost interrupt enabling bits when the lockless wait code races against a gpu reset. Let's remove this FIXME as resolved then. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fd0753cf8052bc6f3f56364177a6de7847135a9b Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Sat Feb 28 17:20:41 2015 +0100 drm/i915: Fix trivial typos in comments and warning message Change 'mutliple' to 'multiple' Change 'mutlipler' to 'multiplier' Change 'Haswel' to 'Haswell' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 59bea8822f2d2e038a84750576a002049ad30ce1 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Feb 27 10:12:01 2015 -0800 drm/i915: Use plane->state->fb in watermark code (v2) plane->fb is a legacy pointer that not always be up-to-date (or updated early enough). Make sure the watermark code uses plane->state->fb so that we're always doing our calculations based on the correct framebuffers. This patch was generated by Coccinelle with the following semantic patch: @@ struct drm_plane *P; @@ - P->fb + P->state->fb v2: Rebase Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3dd512fbda0d87d1c3fb44bf878b262baee98fb6 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Feb 27 10:12:00 2015 -0800 drm/i915: Kill intel_crtc->cursor_{width, height} (v2) The cursor size fields in intel_crtc just duplicate the data from cursor->state.crtc_{w,h} so we don't need them any more. Worse, their use in the watermark code actually introduces a subtle bug since they don't get updated to mirror the state values until the plane commit stage, which is *after* we've already used them to calculate new watermark values. This happens because we had to move watermark updates slightly earlier (outside vblank evasion) in commit commit 32b7eeec4d1e861230b09d437e95d76c86ff4a68 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Dec 24 07:59:06 2014 -0800 drm/i915: Refactor work that can sleep out of commit (v7) Dropping the intel_crtc fields and just using the state values (which are properly updated by the time watermark updates happen) should solve the problem. Aside from the actual removal of the struct fields (which are formatted in a way that I couldn't figure out how to match in Coccinelle), the rest of this patch was generated via the following semantic patch: // Drop assignment @@ struct intel_crtc *C; struct drm_plane_state S; @@ ( - C->cursor_width = S.crtc_w; | - C->cursor_height = S.crtc_h; ) // Replace usage @@ struct intel_crtc *C; expression E; @@ ( - C->cursor_width + C->base.cursor->state->crtc_w | - C->cursor_height + C->base.cursor->state->crtc_h | - to_intel_crtc(E)->cursor_width + E->cursor->state->crtc_w | - to_intel_crtc(E)->cursor_height + E->cursor->state->crtc_h ) v2: Rebase Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Joe Konno <joe.konno@xxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89346 Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d5dbc518cd8fbc7cf54b91d5b506eb4d67e4047d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 17 18:27:28 2015 -0300 perf hists browser: Allow annotating entries in callchains Instead of annotating just the top level hist_entry, allow instead annotating a map_symbol, i.e. the top level hist_entry or one of the callchains for which there were samples. Suggested-by: Stephane Eranian <eranian@xxxxxxxxxx> 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-k1zxj5564je9jei4yd15ouwn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4c47f4fcd60a2f4153d6fe0c31650fbec112a1bd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 17 17:18:58 2015 -0300 perf hists: Remove hist_entry->used, not used anymore Since hist_entry__delete() nowadays doesn't actually frees anything that may be in use by the annotation code. Eventually we will solve this for good by reference counting struct symbol. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-uldtgljymtrkns0knpiso5op@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fb83b6351052bf78686df2559f7ea6b10e596850 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 16 23:34:34 2015 +0100 ALSA: hda - Simplify PCM setup overrides This patch does two things: - code refactoring with a local helper function, - allow codec drivers to provide the specific PCM stream info pointers only for overriding the non-NULL entries, instead of copying the whole. This simplifies the codec driver side (currently the only user is alc269's 44kHz fixed rate). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9f2dbdd9b11d40f5fe0749eb91cd1cfc86fde575 Merge: c249739 7970ddc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 17 15:18:12 2015 -0400 Merge branch 'listener_refactor_part_11' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 11 Before inserting request sockets into general (ehash) table, we need to prepare netfilter to cope with them, as they are not full sockets. I'll later change xt_socket to get full support, including for request sockets (NEW_SYN_RECV) Save 8 bytes in inet_request_sock on 64bit arches. We'll soon add a pointer to the listener socket. I included two TCP changes in this patch series. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7970ddc8f9ffe149b392975da60739ccd1796dea Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:20 2015 -0700 tcp: uninline tcp_oow_rate_limited() tcp_oow_rate_limited() is hardly used in fast path, there is no point inlining it. Signed-of-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bfc4438a7ef99e8a6cba0bd3a86249430256621 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:19 2015 -0700 tcp: move tcp_openreq_init() to tcp_input.c This big helper is called once from tcp_conn_request(), there is no point having it in an include. Compiler will inline it anyway. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit adc17d6a6ca08d11f70f6c49f3d40b87b68fe53f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:18 2015 -0700 inet: move ir_mark to fill a hole On 64bit arches, we can save 8 bytes in inet_request_sock by moving ir_mark to fill a hole. While we are at it, inet_request_mark() can get a const qualifier for listener socket. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9407000038805e5215a49c0a50c9e2b2ff38220 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:17 2015 -0700 netfilter: xt_socket: prepare for TCP_NEW_SYN_RECV support TCP request socks soon will be visible in ehash table. xt_socket will be able to match them, but first we need to make sure to not consider them as full sockets. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b5801477926a2b018afc84a53c0b8818843fe73 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:16 2015 -0700 netfilter: tproxy: prepare TCP_NEW_SYN_RECV support TCP request socks soon will be visible in ehash table. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8399231f0b6e72bc140bcc4fecb0c622298a6bd Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:15 2015 -0700 netfilter: use sk_fullsock() helper Upcoming request sockets have TCP_NEW_SYN_RECV state and should be special cased a bit like TCP_TIME_WAIT sockets. Signed-off-by; Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c24973957975403521ca76a776c2dfd12fbe9add Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Mar 16 18:06:02 2015 -0700 bpf: allow BPF programs access 'protocol' and 'vlan_tci' fields as a follow on to patch 70006af95515 ("bpf: allow eBPF access skb fields") this patch allows 'protocol' and 'vlan_tci' fields to be accessible from extended BPF programs. The usage of 'protocol', 'vlan_present' and 'vlan_tci' fields is the same as corresponding SKF_AD_PROTOCOL, SKF_AD_VLAN_TAG_PRESENT and SKF_AD_VLAN_TAG accesses in classic BPF. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9cf7867c24bacdaa100e8a06b882005646a9095d Merge: 617011e 2c71ec9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 17 15:00:28 2015 -0400 Merge branch 'const_of_device_id' Fabian Frederick says: ==================== drivers/net: constify of_device_id array This small patchset adds const to of_device_id arrays in drivers/net branch. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c71ec9963f897663f9dd2c88d0e75710768c481 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:28 2015 +0100 via-velocity: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2b75a3f7d3e08c7d8a2fe9cb60d164ba7a2d91a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:27 2015 +0100 net: via-rhine: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abae1e0718c1026b76011a1bf7f9f28799be9092 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:26 2015 +0100 ehea: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47b61667937a11c7dd8bb81e7e0c3e6593d18e9a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:25 2015 +0100 IBM-EMAC: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 486e957033623656298a07c39a8bf2fd81db285b Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:24 2015 +0100 can: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d8a7dadbdfde042c07599e8ac90c7718aef76da7 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:23 2015 +0100 net: phy: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3848124b3e81055e176377345beb37ee07944d91 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:22 2015 +0100 orinoco: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74847f231c8a429c8c5d382ac2dbb46766561ee0 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:40 2015 +0100 net: xilinx: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73c7047464f26c00389b142cb1c35a695ff59777 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:39 2015 +0100 net: greth: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 437dab40bbfadb72e930adc10da62e5f66129769 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:38 2015 +0100 netdev: octeon_mgmt: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14448e2f8031a46d509c01dacc9834bd623a928d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:37 2015 +0100 net: ethernet: apple: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6b0dc2af494456b197048b75321a871e13dc398 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:36 2015 +0100 drivers: net: xgene: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa2b183726df83217dec2b7c0f44317b1045915a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:35 2015 +0100 net: ethoc: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94e5a2a88affa2ff9f95c8577166d2954a110ea8 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:34 2015 +0100 net/fsl: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27260530db1d926905c2c4e904cb8468b4373c03 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:33 2015 +0100 Altera TSE: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1156c96538e63f7e4fe9471674c74fc3f496681d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:32 2015 +0100 net: netcp: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea7618ecb244b36bf6e1ba00b7de801dc1e9a951 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Mar 17 12:56:30 2015 -0600 brd: update maintainer to be Jens Axboe Nick Piggin is currently listed as the maintainer of BRD in MAINTAINERS, but the mails sent to the listed address are returned as undeliverable. Update the maintainer for BRD to be Jens Axboe, since patches for BRD flow up through him. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 341e42c4e3f97af9bbeada64c3e1a41f65ce086a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:11:35 2015 -0800 ARM: perf: Add support for Scorpion PMUs Scorpion supports a set of local performance monitor event selection registers (LPM) sitting behind a cp15 based interface that extend the architected PMU events to include Scorpion CPU and Venum VFP specific events. To use these events the user is expected to program the lpm register with the event code shifted into the group they care about and then point the PMNx event at that region+group combo by writing a LPMn_GROUPx event. Add support for this hardware. Note: the raw event number is a pure software construct that allows us to map the multi-dimensional number space of regions, groups, and event codes into a flat event number space suitable for use by the perf framework. This is based on code originally written by Sheetal Sahasrabudhe, Ashwin Chaugule, and Neil Leeder [1]. [1] https://www.codeaurora.org/cgit/quic/la/kernel/msm/tree/arch/arm/kernel/perf_event_msm.c?h=msm-3.4 Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Neil Leeder <nleeder@xxxxxxxxxxxxxx> Cc: Ashwin Chaugule <ashwinc@xxxxxxxxxxxxxx> Cc: Sheetal Sahasrabudhe <sheetals@xxxxxxxxxxxxxx> Cc: <devicetree@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 934999185edd613ca80916d238ba7393b84ae53c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Sat Feb 28 00:11:34 2015 +0000 ARM: perf: Only reset PMxEVCNTCR registers on reset The Krait specific PMxEVCNTCR register is unpredictable upon reset. Currently we clear the register before we setup an event, but we don't need to do that. Instead, we can iterate through all the events and clear them once when we reset the PMU, saving a write in the event setup path. Cc: Neil Leeder <nleeder@xxxxxxxxxxxxxx> Cc: Ashwin Chaugule <ashwinc@xxxxxxxxxxxxxx> Cc: Sheetal Sahasrabudhe <sheetals@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 65bab45113a2c5e9f13bc8cc3f6fea92f467d417 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Sat Feb 28 00:11:33 2015 +0000 ARM: perf: Preparatory work for Scorpion PMU support Do some things to make the Krait PMU support code generic enough to be used by the Scorpion PMU support code. * Rename the venum register functions to be venum instead of krait specific because the same registers exist on Scorpion * Add some macros to decode our Krait specific event encoding that's the same on Scorpion (modulo an extra region). * Drop 'krait' from krait_clear_pmresrn_group() so it can be used by Scorpion code Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit cfdda3535f87e752780ca18a57d13db58f6a6913 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Mar 18 03:26:11 2015 +0900 ARM: EXYNOS: Fix build breakage cpuidle on !SMP The Exynos cpuidle driver has coupled cpuidle built-in so it cannot be built without SMP: arch/arm/mach-exynos/pm.c: In function 'exynos_cpu0_enter_aftr': arch/arm/mach-exynos/pm.c:246:4: error: implicit declaration of function 'arch_send_wakeup_ipi_mask' [-Werror=implicit-function-declaration] arch/arm/mach-exynos/built-in.o: In function 'exynos_pre_enter_aftr': ../arch/arm/mach-exynos/pm.c:300: undefined reference to 'cpu_boot_reg_base' arch/arm/mach-exynos/built-in.o: In function 'exynos_cpu1_powerdown': ../arch/arm/mach-exynos/pm.c:282: undefined reference to 'exynos_cpu_power_down' Fix it by adding missing checks for SMP. Reported-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit a7b0aa1932b1cdffe4aa901f562309d5fb5e8c4b Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Mar 17 11:43:51 2015 +0200 ARM: dts: dra7x-evm: beagle-x15: Fix USB Peripheral Now that we have EXTCON_USB_GPIO queued for v4.1, revert commit addfcde7c485 ("ARM: dts: dra7x-evm: beagle-x15: Fix USB Host") On these EVMs, the USB cable state has to be determined via the ID pin tied to a GPIO line. We use the gpio-usb-extcon driver to read the ID pin and the extcon framework to forward the USB cable state information to the USB driver so the controller can be configured in the right mode (host/peripheral). Gets USB peripheral mode to work on this EVM. Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 19c5ce9c5ff80a26cba3afb3684d56539444ee40 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sun Mar 15 19:34:04 2015 +0200 Bluetooth: Add workaround for broken OS X legacy SMP pairing OS X version 10.10.2 (and possibly older versions) doesn't support LE Secure Connections but incorrectly copies all authentication request bits from a Security Request to its Pairing Request. The result is that an SC capable initiator (such as BlueZ) will think OS X intends to do SC when in fact it's incapable of it: < ACL Data TX: Handle 3585 flags 0x00 dlen 6 SMP: Security Request (0x0b) len 1 Authentication requirement: Bonding, No MITM, SC, No Keypresses (0x09) > ACL Data RX: Handle 3585 flags 0x02 dlen 11 SMP: Pairing Request (0x01) len 6 IO capability: KeyboardDisplay (0x04) OOB data: Authentication data not present (0x00) Authentication requirement: Bonding, No MITM, SC, No Keypresses (0x09) Max encryption key size: 16 Initiator key distribution: EncKey (0x01) Responder key distribution: EncKey IdKey Sign (0x07) < ACL Data TX: Handle 3585 flags 0x00 dlen 11 SMP: Pairing Response (0x02) len 6 IO capability: NoInputNoOutput (0x03) OOB data: Authentication data not present (0x00) Authentication requirement: Bonding, No MITM, SC, No Keypresses (0x09) Max encryption key size: 16 Initiator key distribution: EncKey (0x01) Responder key distribution: EncKey Sign (0x05) The pairing eventually fails when we get an unexpected Pairing Confirm PDU instead of a Public Key PDU: > ACL Data RX: Handle 3585 flags 0x02 dlen 21 SMP: Pairing Confirm (0x03) len 16 Confim value: bcc3bed31b8f313a78ec3cce32685faf It is only at this point that we can speculate that the remote doesn't really support SC. This patch creates a workaround for the just-works model, however the MITM case is unsolvable because the OS X user has already been requested to enter a PIN which we're now expected to randomly generate and show the user (i.e. a chicken-and-egg problem). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1cd3de0a27687e07457fd561e61480d2d2278875 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Mar 18 02:34:38 2015 +0900 ARM: EXYNOS: Remove left over 'extra_save' Since 32b0aa9aaeb4 ("ARM: EXYNOS: Remove i2c sys configuration related code") the Exynos 5250 no longer saves additional registers under 'exynos_pm_data.extra_save' field. No one else uses this code so get rid of it making also 'exynos_pm_data' const everywhere. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 7383833784e9ce894563d4827ea79ab41fadfbd7 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Mar 18 02:34:37 2015 +0900 ARM: EXYNOS: Constify exynos_pm_data array The 'exynos5420_pm_data' is not modified and can be made const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 8c8a251130f173a69b7df4c3225668e39708f743 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Mar 18 02:32:40 2015 +0900 ARM: EXYNOS: use static in suspend.c The 'pm_data', 'exynos_release_ret_regs', 'exynos3250_release_ret_regs' and 'exynos5420_release_ret_regs' are not exported nor used outside of suspend.c file. Make them static. This fixes following sparse warnings: arch/arm/mach-exynos/suspend.c:83:23: warning: symbol 'pm_data' was not declared. Should it be static? arch/arm/mach-exynos/suspend.c:106:14: warning: symbol 'exynos_release_ret_regs' was not declared. Should it be static? arch/arm/mach-exynos/suspend.c:117:14: warning: symbol 'exynos5420_release_ret_regs' was not declared. Should it be static? Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 70e9d7b59f5d56cb83ace31380ac75531fbbb591 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Mar 18 02:19:24 2015 +0900 ARM: EXYNOS: Use platform device name as power domain name The power domain nodes in DTS may be very generic (e.g. "power-domain" for Exynos 5420) making it very hard to debug: $ cat /sys/kernel/debug/pm_genpd/pm_genpd_summary domain status slaves power-domain on Use platform device name instead so the names will be a little more user friendly: domain status slaves 100440e0.power-domain on Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Suggested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Suggested-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit d6d8011de368e04818e2337ebfd048eb415028d5 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Mar 18 02:16:42 2015 +0900 ARM: exynos_defconfig: Enable ChromeOS EC chardev driver Exynos Chromebooks have an Embedded Controller known as the ChromeOS EC Enable the driver that provides an interface to access from user-space. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit fa87bd4360ab4244467571f4235ccb2b362fea24 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Mar 18 02:14:07 2015 +0900 ARM: dts: add async-bridge clocks to gsc power domain for exynos5420 Both GSCALER IPs in gsc power domain have async-bridges (to FIMD and MIXER), therefore their clocks should be enabled during power domain switch. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ffb8b1ee9a704229f0b6753970ae09dc4d6863d9 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Mar 18 02:14:07 2015 +0900 ARM: dts: add async-bridge clocks to disp1 power domain for exynos5420 FIMD and MIXER IPs in disp1 power domain have async-bridges (to GSCALER), therefore their clocks should be enabled during power domain switch. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 472c95a6e352413af068b42ab0db2b2e23c20756 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Mar 18 02:14:07 2015 +0900 dt-bindings: add asynchronous bridge clock for exynos The patch adds bindings for clocks required by async-bridges present in the particular power domain. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 528eae6c14a45f40809733862675f6cf03998d17 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Mar 18 02:12:23 2015 +0900 ARM: EXYNOS: add support for async-bridge clocks for pm_domains Since Exynos5420 there are async-bridges (ASB) between different IPs. These bridges must be operational during power domain on/off, ie. clocks used by these bridges should be enabled. This patch enabled these clocks during domain on/off. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit fa4335d71a1408d0112c15874538f3f4e153ba01 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 17 13:48:50 2015 +0200 Bluetooth: Move generic mgmt command dispatcher to hci_sock.c The mgmt.c file should be reserved purely for HCI_CHANNEL_CONTROL. The mgmt_control() function in it is already completely generic and has a single user in hci_sock.c. This patch moves the function there and renames it a bit more appropriately to hci_mgmt_cmd() (as it's a command dispatcher). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 88b94ce925cb103851f39bfa7e23e09823573d30 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 17 13:48:49 2015 +0200 Bluetooth: Add hdev_init callback for HCI channels In order to make the mgmt command handling more generic we can't have a direct call to mgmt_init_hdev() from mgmt_control(). This patch adds a new callback to struct hci_mgmt_chan. And sets it to point to the mgmt_init_hdev() function for the HCI_CHANNEL_CONTROL instance. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a380b6cff1a2d2139772e88219d08330f84d0381 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 17 13:48:48 2015 +0200 Bluetooth: Add generic mgmt helper API There are several mgmt protocol features that will be needed by more than just the current HCI_CHANNEL_CONTROL. These include sending generic events as well as handling pending commands. This patch moves these functions out from mgmt.c to a new mgmt_util.c file. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 333ae95d054519f64303f0e149b4b9653cc4635b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 17 13:48:47 2015 +0200 Bluetooth: Add channel parameter to mgmt_pending_find() API To be able to have pending commands for different HCI channels we need to be able to distinguish for which channel a command was sent to. The channel information is already part of the socket data and can be fetched using the recently added hci_sock_get_channel() function. To not require all mgmt.c code to pass an extra channel parameter this patch also adds a helper pending_find() & pending_find_data() functions which act as a wrapper to the new mgmt_pending_find() & mgmt_pending_find_data() APIs. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d0f172b14afa7e0d8a19db5baa07e20b3ec8dcc8 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 17 13:48:46 2015 +0200 Bluetooth: Add helper to get HCI channel of a socket We'll need to have access to which HCI channel a socket is bound to, in order to manage pending mgmt commands in clean way. This patch adds a helper for the purpose. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ad08fd494bf00c03ae372e0bbd9cefa37bf608d6 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Mon Mar 16 09:30:39 2015 +0000 arm64: Adjust EFI libstub object include logic Commit f4f75ad5 ("efi: efistub: Convert into static library") introduced a static library for EFI stub, libstub. The EFI libstub directory is referenced by the kernel build system via a obj subdirectory rule in: drivers/firmware/efi/Makefile Unfortunately, arm64 also references the EFI libstub via: libs-$(CONFIG_EFI_STUB) += drivers/firmware/efi/libstub/ If we're unlucky, the kernel build system can enter libstub via two simultaneous threads resulting in build failures such as: fixdep: error opening depfile: drivers/firmware/efi/libstub/.efi-stub-helper.o.d: No such file or directory scripts/Makefile.build:257: recipe for target 'drivers/firmware/efi/libstub/efi-stub-helper.o' failed make[1]: *** [drivers/firmware/efi/libstub/efi-stub-helper.o] Error 2 Makefile:939: recipe for target 'drivers/firmware/efi/libstub' failed make: *** [drivers/firmware/efi/libstub] Error 2 make: *** Waiting for unfinished jobs.... This patch adjusts the arm64 Makefile to reference the compiled library explicitly (as is currently done in x86), rather than the directory. Fixes: f4f75ad5 efi: efistub: Convert into static library Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 667f3fd3950c123fd62d3b15d9db80926e75f1f0 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Mar 13 16:14:37 2015 +0000 arm64: log CPU boot modes We currently don't log the boot mode for arm64 as we do for arm, and without KVM the user is provided with no indication as to which mode(s) CPUs were booted in, which can seriously hinder debugging in some cases. Add logging to the boot path once all CPUs are up. Where CPUs are mismatched in violation of the boot protocol, WARN and set a taint (as we do for CPU other CPU feature mismatches) given that the firmware/bootloader is buggy and should be fixed. Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 424a383824faecce246691694fd5546859dac511 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Mar 13 16:14:36 2015 +0000 arm64: fix hyp mode mismatch detection Commit 828e9834e9a5b7e6 ("arm64: head: create a new function for setting the boot_cpu_mode flag") added BOOT_CPU_MODE_EL1, a nonzero value replacing uses of zero. However it failed to update __boot_cpu_mode appropriately. A CPU booted at EL2 writes BOOT_CPU_MODE_EL2 to __boot_cpu_mode[0], and a CPU booted at EL1 writes BOOT_CPU_MODE_EL1 to __boot_cpu_mode[1]. Later is_hyp_mode_mismatched() determines there to be a mismatch if __boot_cpu_mode[0] != __boot_cpu_mode[1]. If all CPUs are booted at EL1, __boot_cpu_mode[0] will be set to BOOT_CPU_MODE_EL1, but __boot_cpu_mode[1] will retain its initial value of zero, and is_hyp_mode_mismatched will erroneously determine that the boot modes are mismatched. This hasn't been a problem so far, but later patches which will make use of is_hyp_mode_mismatched() expect it to work correctly. This patch initialises __boot_cpu_mode[1] to BOOT_CPU_MODE_EL1, fixing the erroneous mismatch detection when all CPUs are booted at EL1. Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 137650aad96c9594683445e41afa8ac5a2097520 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Mar 13 16:14:34 2015 +0000 arm64: apply alternatives for !SMP kernels Currently we only perform alternative patching for kernels built with CONFIG_SMP, as we call apply_alternatives_all() in smp.c, which is only built for CONFIG_SMP. Thus !SMP kernels may not have necessary alternatives patched in. This patch ensures that we call apply_alternatives_all() once all CPUs are booted, even for !SMP kernels, by having the smp_init_cpus() stub call this for !SMP kernels via up_late_init. A new wrapper, do_post_cpus_up_work, is added so we can hook other calls here later (e.g. boot mode logging). Cc: Andre Przywara <andre.przywara@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Fixes: e039ee4ee3fcf174 ("arm64: add alternative runtime patching") Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 7e9603638ac69696be5bcc2614365c1e8cc892dd Author: Andreas Bofjall <andreas@xxxxxxxxxx> Date: Mon Mar 9 21:55:14 2015 +0100 gpio: f7188x: add GPIO support for F71869A Add support for the GPIOs found on the Fintek SuperI/O chip F71869A, such as the one found on the Jetway JNF99-525 motherboard, to the f7188x gpio driver. Signed-off-by: Andreas Bofjall <andreas@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 24ccef359e8c540083a89a8f2347fae451fe8086 Author: Andreas Bofjall <andreas@xxxxxxxxxx> Date: Mon Mar 9 21:55:13 2015 +0100 gpio: f7188x: add GPIO support for F71869 Add support for the GPIOs found on the Fintek SuperI/O chip F71869, such as the one found on the Jetway NF96u-525 motherboard, to the f7188x gpio driver. Signed-off-by: Andreas Bofjall <andreas@xxxxxxxxxx> Tested-by: Les Schaffer <schaffer@xxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3f8f4f19b94cc50e8a3fa3f63815caa0677ff57a Author: Andreas Bofjall <andreas@xxxxxxxxxx> Date: Mon Mar 9 21:55:12 2015 +0100 gpio: f7188x: correct spelling of "Fintek" The company is called "Fintek", not "Fintech". Fix it. Signed-off-by: Andreas Bofjall <andreas@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b6202855d14752a3822db48c7e9ed534de672af1 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Mar 11 12:21:17 2015 +0100 gpio: fix constconst in devres Commit 1feb57a245a4910b03202a814ffc51a900bd4aca "gpio: add parameter to allow the use named gpios" includes a double-consted array. What we want is not const const * but const * const (const pointer to const data). Fix this. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Olliver Schinagl <oliver@xxxxxxxxxxx> Cc: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 435c3454485158cbc65e986e584023d35e04edd0 Author: Andreas Faerber <afaerber@xxxxxxx> Date: Wed Mar 18 01:32:02 2015 +0900 ARM: dts: fix lid and power pin-functions for exynos5250-spring Configure the pins in external interrupt mode, as done for Snow in e5e5c6d14e39 ("ARM: dts: Add power and lid GPIO keys pinctrl for exynos5250-snow"). Reported-by: Kukjin Kim <kgene@xxxxxxxxxx> Suggested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Fixes: 53dd4138bb0a ("ARM: dts: Add exynos5250-spring device tree") Signed-off-by: Andreas Faerber <afaerber@xxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 49c989a0d6cd097f00f45e5c180bf3e315ca2bfa Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:17 2015 -0700 Bluetooth: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for BTUSB_CSR CSR controllers can do both LE scan and BR/EDR inquiry at once. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c11548427deded1c742888c64c8b07530f8134e6 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:16 2015 -0700 Bluetooth: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for BTUSB_INTEL Intel controllers can do both LE scan and BR/EDR inquiry at once. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 3d50d51a530d7c672cfbac03fef365b1fa7a244e Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:15 2015 -0700 Bluetooth: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for BTUSB_ATH3012 Atheros controllers can do both LE scan and BR/EDR inquiry at once. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 07d2334ae747772fc4426077340aa3efe499f50b Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:14 2015 -0700 Bluetooth: Add simultaneous dual mode scan When doing scan through mgmt api, some controllers can do both le and classic scan at same time. They can be distinguished by HCI_QUIRK_SIMULTANEOUS_DISCOVERY set. This patch enables them to use this feature when doing dual mode scan. Instead of doing le, then classic scan, both scans are run at once. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 812abb13a97b7049c883ffb8431b81eb404a0938 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:13 2015 -0700 Bluetooth: Refactor BR/EDR inquiry and LE scan triggering. This patch refactor BR/EDR inquiry and LE scan triggering logic into separate methods. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 695c4cb61926ddef2481dbcefef44498a7c1e5b5 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:12 2015 -0700 Bluetooth: Introduce HCI_QUIRK_SIMULTANEOUS_DISCOVERY Some controllers allow both LE scan and BR/EDR inquiry to run at the same time, while others allow only one, LE SCAN or BR/EDR inquiry at given time. Since this is specific to each controller, add a new quirk setting that allows drivers to tell the core wether given controller can do both LE scan and BR/EDR inquiry at same time. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7e9e20b1faab02357501553d7f4e3efec1b4cfd3 Author: Andreas Faerber <afaerber@xxxxxxx> Date: Wed Mar 18 01:25:18 2015 +0900 ARM: dts: fix mmc node updates for exynos5250-spring Resolve a merge conflict with mmc refactoring aaa25a5a33cb ("ARM: dts: unuse the slot-node and deprecate the supports-highspeed for dw-mmc in exynos") by dropping the slot@0 nodes, moving its bus-width property to the mmc node and replacing supports-highspeed with cap-{mmc,sd}-highspeed, matching exynos5250-snow. Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Fixes: 53dd4138bb0a ("ARM: dts: Add exynos5250-spring device tree") Signed-off-by: Andreas Faerber <afaerber@xxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.19+] Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 1efff914afac8a965ad63817ecf8861a927c2ace Author: Theodore Ts'o <tytso@xxxxxxx> Date: Tue Mar 17 12:23:32 2015 -0400 fs: add dirtytime_expire_seconds sysctl Add a tuning knob so we can adjust the dirtytime expiration timeout, which is very useful for testing lazytime. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit a2f4870697a5bcf4a87073ec6b32dd2928c1211d Author: Theodore Ts'o <tytso@xxxxxxx> Date: Tue Mar 17 12:23:19 2015 -0400 fs: make sure the timestamps for lazytime inodes eventually get written Jan Kara pointed out that if there is an inode which is constantly getting dirtied with I_DIRTY_PAGES, an inode with an updated timestamp will never be written since inode->dirtied_when is constantly getting updated. We fix this by adding an extra field to the inode, dirtied_time_when, so inodes with a stale dirtytime can get detected and handled. In addition, if we have a dirtytime inode caused by an atime update, and there is no write activity on the file system, we need to have a secondary system to make sure these inodes get written out. We do this by setting up a second delayed work structure which wakes up the CPU much more rarely compared to writeback_expire_centisecs. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit dab2732f60cbfb6e94fd840b4fb76c499506f544 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Mar 18 00:43:43 2015 +0900 ARM: exynos_defconfig: Enable CPU idle Current Exynos CPU idle driver supports entering AFTR (Arm Off, Top Running) mode on Exynos 4210 (coupled), Exynos 4x12 and Exynos 5250. Enable it in default configuration to reduce energy consumption. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 040464888a1acde0f1df9d16842652e7a0e3c780 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Mar 18 00:42:17 2015 +0900 ARM: exynos_defconfig: Enable Marvell WiFi-Ex support Exynos5420 Peach Pit and Exynos5800 Peach Pi boards have a MMC/SDIO Marvell WiFi-Ex chip. This patch enables wireless support and the mwifiex driver. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 18280d8b4bcd4a2b174ee3cd748166c6190acacb Author: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 16:05:41 2015 +0100 KVM: s390: represent SIMD cap in kvm facility The patch represents capability KVM_CAP_S390_VECTOR_REGISTERS by means of the SIMD facility bit. This allows to a) disable the use of SIMD when used in conjunction with a not-SIMD-aware QEMU, b) to enable SIMD when used with a SIMD-aware version of QEMU and c) finally by means of a QEMU version using the future cpu model ioctls. Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Tested-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 400ac6cd73633f61e42a035b910c3db2b590b9d5 Author: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 11:03:07 2015 +0100 KVM: s390: drop SIMD bit from kvm_s390_fac_list_mask Setting the SIMD bit in the KVM mask is an issue because it makes the facility visible but not usable to the guest, thus it needs to be removed again. Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 30ee2a984f07b00895e0e01d78859b3aff9307c7 Author: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 09:23:01 2014 -0400 KVM: s390: Create ioctl for Getting/Setting guest storage keys Provide the KVM_S390_GET_SKEYS and KVM_S390_SET_SKEYS ioctl which can be used to get/set guest storage keys. This functionality is needed for live migration of s390 guests that use storage keys. Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 46a0b9ff21d3c409a65d285e8a7a39f07f495706 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Mar 18 00:31:33 2015 +0900 ARM: dts: Define stdout-path property for exynos5250-spring The kernel can use as the default console a serial port if is defined as stdout device in the Device Tree. This allows a board to be booted without the need of having a console parameter in the kernel command line. Currently the Spring DTS has bootargs in the /chosen node and this is kept since users that don't have a serial console on this board might be using it to have the boot log shown in the display. This will have more precedence than the stdout-path but it's fine since is only used when CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is enabled. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 038e4096054c90f78a9d14eca41b715154341d13 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Mar 18 00:31:27 2015 +0900 ARM: dts: Define stdout-path property for exynos5250-snow The kernel can use as the default console a serial port if is defined as stdout device in the Device Tree. This allows a board to be booted without the need of having a console parameter in the kernel command line. Currently the Snow DTS has a bootargs in the /chosen node and this is kept since users that don't have a serial console on this board might be using it to have the boot log shown in the display. This will have more precedence than the stdout-path but it's fine since is only used when CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is enabled. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 1d1b00aae0bc0b0aba7844099149170744fc1b30 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Mar 18 00:31:22 2015 +0900 ARM: dts: Define stdout-path property for Peach boards The kernel can use as the default console a serial port if is defined as stdout device in the Device Tree. This allows a board to be booted without the need of having a console parameter in the kernel command line. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit d907c4f05cc7cb18d0f41f23cadf7f8ec10bfd29 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Mar 17 10:32:39 2015 +0100 at86rf230: fix at86rf230_read_subreg succeed handling This patch fix an issue when at86rf230_read_subreg was successful. The function at86rf230_read_subreg will directly call regmap_read which returns zero on successful. Nobody figured out issues yet because it was only necessary to evaluate dvdd state while probing. This could make trouble because the stack variable could have an random value. The function is also used by reset the irq line before requesting irq, but the value isn't evaluated afterwards. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e44fc8c9dab215ac0e398622a05574cffd5f5184 Author: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 30 16:55:56 2015 +0100 KVM: s390: introduce post handlers for STSI The Store System Information (STSI) instruction currently collects all information it relays to the caller in the kernel. Some information, however, is only available in user space. An example of this is the guest name: The kernel always sets "KVMGuest", but user space knows the actual guest name. This patch introduces a new exit, KVM_EXIT_S390_STSI, guarded by a capability that can be enabled by user space if it wants to be able to insert such data. User space will be provided with the target buffer and the requested STSI function code. Reviewed-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 41408c28f283b49202ae374b1c42bc8e9b33a048 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 15:01:21 2015 +0100 KVM: s390: Add MEMOP ioctls for reading/writing guest memory On s390, we've got to make sure to hold the IPTE lock while accessing logical memory. So let's add an ioctl for reading and writing logical memory to provide this feature for userspace, too. The maximum transfer size of this call is limited to 64kB to prevent that the guest can trigger huge copy_from/to_user transfers. QEMU currently only requests up to one or two pages so far, so 16*4kB seems to be a reasonable limit here. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 664b4973537068402954bee6e2959b858f263a6f Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:17:25 2015 +0300 KVM: s390: Add access register mode Access register mode is one of the modes that control dynamic address translation. In this mode the address space is specified by values of the access registers. The effective address-space-control element is obtained from the result of the access register translation. See the "Access-Register Introduction" section of the chapter 5 "Program Execution" in "Principles of Operations" for more details. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 75a1812230ad7ad16e5a06b5ef2220f765b12da5 Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 22 12:44:11 2015 +0300 KVM: s390: Optimize paths where get_vcpu_asce() is invoked During dynamic address translation the get_vcpu_asce() function can be invoked several times. It's ok for usual modes, but will be slow if CPUs are in AR mode. Let's call the get_vcpu_asce() once and pass the result to the called functions. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 8ae04b8f500b9f46652c63431bf658223d875597 Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 13:24:51 2015 +0300 KVM: s390: Guest's memory access functions get access registers In access register mode, the write_guest() read_guest() and other functions will invoke the access register translation, which requires an ar, designated by one of the instruction fields. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit dd9e5b7bdba3250c075a212ff632d31edfa91ae7 Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 14:26:14 2015 +0300 KVM: s390: Fix low-address protection for real addresses The kvm_s390_check_low_addr_protection() function is used only with real addresses. According to the POP (the "Low-Address Protection" paragraph in chapter 3), if the effective address is real or absolute, the low-address protection procedure should raise a PROTECTION exception only when the low-address protection is enabled in the control register 0 and the address is low. This patch removes ASCE checks from the function and renames it to better reflect its behavior. Cc: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 40f5b735e867b8fd3e6090f5a184950c68d227bb Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:55:53 2015 +0100 KVM: s390: cleanup jump lables in kvm_arch_init_vm As all cleanup functions can handle their respective NULL case there is no need to have more than one error jump label. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 1e8d242478a471b92b07e7966faa9f618df98e61 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:27:12 2015 +0100 KVM: s390: Spelling s/intance/instance/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Message-Id: <1425932832-6244-1-git-send-email-geert+renesas@xxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 52005dece52703e18af4611e9c15f9d923c737ea Author: Beata Michalska <b.michalska@xxxxxxxxxxx> Date: Wed Mar 18 00:21:46 2015 +0900 ARM: dts: Add assigned clock parents to CMU node for exynos3250 Use assigned-clocks/assigned-clock-parents properties for CMU clock controller DT node to secure proper clock setup: switching the two muxes to root oscillator clock is not only required for proper powering down the ISP power domain, but it also reduces the risk of accessing the ISP CMU registers while the ISP power domain remains turned off (i.e. through the common clock framework by clk_summary) Signed-off-by: Beata Michalska <b.michalska@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 5ce1aca814354c5942cdb5604e142a49be7033eb Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Tue Mar 17 16:15:35 2015 +0100 reiserfs: fix __RASSERT format string __RASSERT format string does not use the PID argument. reiserfs_panic arguments are therefore formatted with the wrong format specifier (for example __LINE__ with %s). This bug was introduced when commit c3a9c2109f84 ("reiserfs: rework reiserfs_panic") removed a "reiserfs[%i]" prefix. This bug is only triggered when using CONFIG_REISERFS_CHECK, otherwise __RASSERT is never used. Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Acked-by: Jeff Mahoney <jeffm@xxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit c38e503804b0402c510f82437069f7769fa0cea9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 17 14:42:59 2015 +0100 x86/asm/entry/64: Rename 'old_rsp' to 'rsp_scratch' Make clear that the usage of PER_CPU(old_rsp) is purely temporary, by renaming it to 'rsp_scratch'. Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7fcb3bc361c724a75bc642dbdd9d9bf0bdf07260 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 17 14:42:59 2015 +0100 x86/asm/entry/64: Update comments about stack frames Tweak a few outdated comments that were obsoleted by recent changes to syscall entry code: - we no longer have a "partial stack frame" on entry, ever. - explain the syscall entry usage of old_rsp. Partially based on a (split out of) patch from Denys Vlasenko. Originally-from: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ac9af4983e77765a642b5a21086bc1fdc55418c4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 17 14:42:59 2015 +0100 x86/asm/entry/64: Remove thread_struct::usersp Nothing uses thread_struct::usersp anymore, so remove it. Originally-from: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Tested-by: Borislav Petkov <bp@xxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9854dd74c3f6af8d9d527de86c6074b7ed0495f1 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 17 14:42:59 2015 +0100 x86/asm/entry/64: Simplify 'old_rsp' usage Remove all manipulations of PER_CPU(old_rsp) in C code: - it is not used on SYSRET return anymore, and system entries are atomic, so updating it from the fork and context switch paths is pointless. - Tweak a few related comments as well: we no longer have a "partial stack frame" on entry, ever. Based on (split out of) patch from Denys Vlasenko. Originally-from: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Tested-by: Borislav Petkov <bp@xxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426599779-8010-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 33db1fd48ac3d90385b412b41a8a6525096ac6d5 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 17 14:52:24 2015 +0100 x86/asm/entry/64: Enable interrupts *after* we fetch PER_CPU_VAR(old_rsp) We want to use PER_CPU_VAR(old_rsp) as a simple temporary register, to shuffle user-space RSP into (and from) when we set up the system call stack frame. At that point we cannot shuffle values into general purpose registers, because we have not saved them yet. To be able to do this shuffling into a memory location, we must be atomic and must not be preempted while we do the shuffling, otherwise the 'temporary' register gets overwritten by some other task's temporary register contents ... Tested-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426600344-8254-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 71be3423a62be548c56bab5b818e1a1383e659d2 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Mar 17 08:33:38 2015 -0600 vfio: Split virqfd into a separate module for vfio bus drivers An unintended consequence of commit 42ac9bd18d4f ("vfio: initialize the virqfd workqueue in VFIO generic code") is that the vfio module is renamed to vfio_core so that it can include both vfio and virqfd. That's a user visible change that may break module loading scritps and it imposes eventfd support as a dependency on the core vfio code, which it's really not. virqfd is intended to be provided as a service to vfio bus drivers, so instead of wrapping it into vfio.ko, we can make it a stand-alone module toggled by vfio bus drivers. This has the additional benefit of removing initialization and exit from the core vfio code. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 66fdc052d7dba5bb8386f7a1a38107ba8307a59e Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Mar 17 07:43:21 2015 +0800 vfio: virqfd_lock can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 91d8f0416f3989e248d3a3d3efb821eda10a85d2 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Tue Mar 17 19:00:05 2015 +0600 x86/boot/64: Remove pointless early_printk() message earlyprintk is not initialised yet by the setup_early_printk() function so we can remove it. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Link: http://lkml.kernel.org/r/1426597205-5142-1-git-send-email-kuleshovmail@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 522cf91f30cb0102fd5cb6e8979d45b6151cdcfc Author: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Date: Tue Mar 17 12:05:29 2015 +0100 drm: check that planes types are correct while initializing CRTC Be warned if primary or cursor planes haven't the correct type Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c80e5c0c23ce2282476fdc64c4b5e3d3a40723fd Author: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Date: Tue Mar 17 19:09:18 2015 +0900 kprobes/x86: Return correct length in __copy_instruction() On x86-64, __copy_instruction() always returns 0 (error) if the instruction uses %rip-relative addressing. This is because kernel_insn_init() is called the second time for 'insn' instance in such cases and sets all its fields to 0. Because of this, trying to place a kprobe on such instruction will fail, register_kprobe() will return -EINVAL. This patch fixes the problem. Signed-off-by: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150317100918.28349.94654.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 36111da7838e186069ed1ec4fe2fe7510e81da55 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:51 2015 +0200 dmaengine: intel-mid-dma: remove the driver Since the last and the only user of this driver is converted to use dw_dmac we can remove driver from the tree. Moreover, besides the driver is unmaintained a long time, it serves for the DesignWare DMA IP, for which we have already driver in the tree. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd11444327ce0fd549cce552b04aa441688ef2d3 Author: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:19:31 2015 -0500 spi: dw-spi: Convert 16bit accesses to 32bit accesses Altera's Arria10 SoC interconnect requires a 32-bit write for APB peripherals. The current spi-dw driver uses 16-bit accesses in some locations. This patch converts all the 16-bit reads and writes to 32-bit reads and writes. Additional Documentation to Support this Change: The DW_apb_ssi databook states: "All registers in the DW_apb_ssi are addressed at 32-bit boundaries to remain consistent with the AHB bus. Where the physical size of any register is less than 32-bits wide, the upper unused bits of the 32-bit boundary are reserved. Writing to these bits has no effect; reading from these bits returns 0." [1] [1] Section 6.1 of dw_apb_ssi.pdf (version 3.22a) Request for test with platforms using the DesignWare SPI IP. Tested On: Altera CycloneV development kit Altera Arria10 development kit Compile tested for build errors on x86_64 (allyesconfigs) Signed-off-by: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Reviewed-and-tested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit db91841b58f9ad0ecbb81ed0fa496c3a1b67fd63 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Dec 10 18:16:25 2014 +0000 spi/omap100k: Convert to runtime PM Currently the omap100k driver uses prepare and unprepare transfer hardware to enable and disable clocks for the IP block. Since these functions are called along with runtime PM and end up duplicating its functionality in a less flexible fashion we are trying to phase them out so convert this driver to do runtime PM instead. While doing so add missing error handling and remove a redundant NULL assignment. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 379c4b05dbfee4f8e003c9bd4c92b8c4c7146277 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Mar 16 04:45:54 2015 +0000 ASoC: ak4642: tidyup DAPM route for playback It needs DAC -> Playback route instead of direct settings via SND_SOC_DAPM_DAC. otherwise, it can't find correct path if sound card used prefix name Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e999c7289cf2e542e8be8bc72ba5dc0f8f06c88e Author: Keerthy <j-keerthy@xxxxxx> Date: Tue Mar 17 15:56:05 2015 +0530 regulator: palmas: Add has_regen3 check for TPS659038 Palmas driver is used to cater to even TPS659038 but TPS659038 does not have REGEN3 resource. Adding another field in the driver data to check on that. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a26aeb177d8c1c4df3e32f0a21e8dd5b45ab1fc1 Merge: cdbf6f0 e03826d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Mar 17 12:21:09 2015 +0000 Merge branch 'fix/palmas' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-palmas commit 6b3b58d97fb2d03f8f1d009a77baece311aa0d16 Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Mar 17 10:23:31 2015 +0800 ASoC: Intel: move the jack creation to Braswell machine driver The jack creation code was in rt5670 codec driver before due to the jack resources (gpio/irq) were defined under the node of codec device in ACPI on Braswell. We used the snd_soc_jack_new() to create a jack instance. But now snd_soc_jack_new() is removed from upstream and we can't use snd_soc_card_jack_new() in codec driver, so we move the jack creation code to machine driver and pass the jack instance to codec driver for further processing. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 066d7b87fa11213d7eca7af8fdd8447e1c62117b Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Mar 17 10:23:30 2015 +0800 ASoC: Intel: Add suspend_pre and resume_post for Braswell snd_soc_card On Braswell, we need to add some machine specific setting before suspend and after resume. For example, disable/enable jack detection in codec so use snd_soc_card suspend_pre and resume_post ops for this purpose. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3ee5990d0835d5f10c9aad2a856860a213df638a Merge: 275ed3a 77c7176 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Mar 17 12:16:27 2015 +0000 Merge branch 'topic/jack' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit 275ed3a195fa923a2f075a7b48a81f8f0c405f68 Merge: 3814c20 66454b3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Mar 17 12:16:16 2015 +0000 Merge branch 'topic/rt5670' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit 09355402325819675027eda25aba7026a325390c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:31 2015 +0100 spi: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cdbf6f0e8e58ec4601546d0ab67da905d4a2e6f5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:08 2015 +0100 regulator: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f263fa3e0f0b1d610f7a9d72a91fe67059d5564f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 16 16:39:57 2015 +0100 ASoC: wm2200: Drop unnecessary dapm bias_level initialization The default value for the bias_level is SND_SOC_BIAS_OFF when probe is being called, there is no need to initialize it explicitly. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0dd96b3e39df83265ef3f79170a623cebee50380 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 16 16:39:56 2015 +0100 ASoC: rt286: Drop unnecessary dapm bias_level initialization The default value for the bias_level is SND_SOC_BIAS_OFF when probe is being called, there is no need to initialize it explicitly. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c7ef38e0ccca25050efed56a35df2e1e93c0b469 Author: Cedric Izoard <Cedric.Izoard@xxxxxxxxxxxx> Date: Tue Mar 17 10:47:33 2015 +0000 mac80211: Get IV len from key conf and not cipher scheme When a key is installed using a cipher scheme, set a new internal key flag (KEY_FLAG_CIPHER_SCHEME) on it, to allow distinguishing such keys more easily. In particular, use this flag on the TX path instead of testing the sta->cipher_scheme pointer, as the station is NULL for broad-/multicast message, and use the key's iv_len instead of the cipher scheme information. Signed-off-by: Cedric Izoard <cedric.izoard@xxxxxxxxxxxx> [add missing documentation, rewrite commit message] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7094e8ea4da3077ad03eb027fd45a7617dba3d95 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 22:11:31 2015 +1100 linux-next: build failure after merge of the crypto tree crypto: img-hash - Add missing semicolon to fix build error There is a missing semicolon after MODULE_DEVICE_TABLE. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 656d7e7ee3f3dae71862054c0893546d261a1ee7 Author: Andre Wolokita <andre.wolokita@xxxxxxxxxx> Date: Mon Mar 16 12:54:50 2015 +1100 hwrng: omap - Change RNG_CONFIG_REG to RNG_CONTROL_REG in init omap4_rng_init() checks bit 10 of the RNG_CONFIG_REG to determine whether the RNG is already running before performing any initiliasation. This is not the correct register to check, as the enable bit is in RNG_CONFIG_CONTROL. Read from RNG_CONTROL_REG instead. Signed-off-by: Andre Wolokita <Andre.Wolokita@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1a5addfe82d2778fc3651d1f8adbf5ea5b3b0560 Author: Andre Wolokita <andre.wolokita@xxxxxxxxxx> Date: Mon Mar 16 10:19:11 2015 +1100 hwrng: omap - Change RNG_CONFIG_REG to RNG_CONTROL_REG when checking and disabling TRNG In omap4_rng_init(), a check of bit 10 of the RNG_CONFIG_REG is done to determine whether the RNG is running. This is suspicious firstly due to the use of RNG_CONTROL_ENABLE_TRNG_MASK and secondly because the same mask is written to RNG_CONTROL_REG after configuration of the FROs. Similar suspicious logic is repeated in omap4_rng_cleanup() when RNG_CONTROL_REG masked with RNG_CONTROL_ENABLE_TRNG_MASK is read, the same mask bit is cleared, and then written to RNG_CONFIG_REG. Unless the TRNG is enabled with one bit in RNG_CONTROL and disabled with another in RNG_CONFIG and these bits are mirrored in some way, I believe that the TRNG is not really shutting off. Apart from the strange logic, I have reason to suspect that the OMAP4 related code in this driver is driving an Inside Secure IP hardware RNG and strongly suspect that bit 10 of RNG_CONFIG_REG is one of the bits configuring the sampling rate of the FROs. This option is by default set to 0 and is not being set anywhere in omap-rng.c. Reading this bit during omap4_rng_init() will always return 0. It will remain 0 because ~(value of TRNG_MASK in control) will always be 0, because the TRNG is never shut off. This is of course presuming that the OMAP4 features the Inside Secure IP. I'm interested in knowing what the guys at TI think about this, as only they can confirm or deny the detailed structure of these registers. Signed-off-by: Andre Wolokita <Andre.Wolokita@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 937abe88aea3161cd3a563e577fc9cf4522c7aad Author: Kedareswara rao Appana <appana.durga.rao@xxxxxxxxxx> Date: Mon Mar 2 23:24:24 2015 +0530 dmaengine: xilinx-dma: move header file to common location This patch moves the xilinx_dma.h header file to the include/linux/dma. Signed-off-by: Kedareswara rao Appana <appanad@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1baa82f48030f38d1895301f1ec93acbcb3d15db Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Mar 2 19:19:14 2015 +0000 arm64: Implement cpu_relax as yield ARM64 has the yield nop hint which has the intended semantics of cpu_relax. Implement. The immediate application is ARM CPU emulators. An emulator can take advantage of the yield hint to de-prioritise an emulated CPU in favor of other emulation tasks. QEMU A64 SMP emulation has yield awareness, and sees a significant boot time performance increase with this change. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2557d215a36d18c8bbaa35f65749349ac603360b Merge: fba9e07 9ab2b7f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 17 11:11:24 2015 +0100 Merge branch 'timers/urgent' into timers/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8a4988d13734f9340ba8b34467d8ea09347b55d5 Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Mon Mar 9 07:58:15 2015 +0100 mac80211: IBSS: refactor ieee80211_rx_bss_info Put station specific code in ieee80211_update_sta_info function. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d66c258278fde25b0454ba0f9ec24874237d6ac5 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Fri Mar 13 10:54:44 2015 +0100 mac80211: minstrel_ht: fix rounding issue in MCS duration calculation On very high MCS bitrates, the calculated duration of rates that are next to each other can be very imprecise, due to the small packet size used as reference (1200 bytes). This is most visible in VHT80 nss=2 MCS8/9, for which minstrel shows the same throughput when the probability is also the same. This leads to a bad rate selection for such rates. Fix this issue by introducing an average A-MPDU size factor into the calculation. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2e54a6895e3e0cada8d194ace4f5baae643a073f Author: Ben <ben.rosenfeld@xxxxxxxxx> Date: Thu Mar 12 09:37:34 2015 -0400 cfg80211: Process all pending regulatory requests/hints It is possible that there are several regulatory requests pending, but the processing of the last one does not call CRDA, and thus the other requests are not handled. Fix this by rescheduling the work until all requests have been processed. Signed-off-by: Ben Rosenfeld <ben.rosenfeld@xxxxxxxxx> Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c23e31cf7b55e4d2e462b61dadb4c2d9538d3781 Author: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Date: Sun Mar 8 18:04:22 2015 +0200 mac80211: initialize rate control earlier for tdls station Currently when TDLS station in driver goes from authenticated to associated state it can not use rate control parameters because rate control is not initialized yet. Some drivers require parameters already initialized by rate control when entering associated state. It can be done by initializing rate control after station transition to associated state but before notifying driver about that. Signed-off-by: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> [fix comment to say 'associated' instead of 'authorized'] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 52d99627003278bcd1a40ea45136a8148d351531 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:50 2015 +0800 powerpc: kill PPC_OF We have set CONFIG_PPC_OF to always 'y' in commit 0a498d96a332 ("powerpc: set CONFIG_PPC_OF=y always for ARCH=powerpc") nine years ago. And the arch/ppc also has gone away for many years. The OF functionality was also moved to a common place and be used by many archs. So it does make no sense to keep such a option in the current kernel. Just kill it. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f915b51c79d1620efa6862d14d8cbd60c699b19b Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:49 2015 +0800 fbdev: kconfig: replace PPC_OF with PPC The PPC_OF is a ppc specific option which is used to mean that the firmware device tree access functions are available. Since all the ppc platforms have a device tree, it is aways set to 'y' for ppc. So it makes no sense to keep a such option in the current kernel. Replace it with PPC. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 45ae00a50dbea917e3f06b30ba5fb8110be2402b Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:48 2015 +0800 fbdev: remove the unnecessary includes of ppc specific header files In the current kernel, we don't need to include these arch specific header files for ppc. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d14c374c2e4d2a42692d7fddf86f7261fbe99c5a Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:47 2015 +0800 fbdev: riva: remove the dependency on PPC_OF The OF functionality has moved to a common place and be used by many archs. So we don't need to include the ppc arch specific header files and depend on PPC_OF option any more. This is a preparation for killing PPC_OF. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5299b620977ed6b1edbbedd5d9641c0afa9780fe Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:46 2015 +0800 fbdev: nvidia: remove the dependency on PPC_OF The OF functionality has moved to a common place and be used by many archs. So we don't need to include the ppc arch specific header files and depend on PPC_OF option any more. This is a preparation for killing PPC_OF. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e9cfb2d62befcd562291e6a8a63d3bdff89b135b Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:45 2015 +0800 fbdev: imsttfb: remove the dependency on PPC_OF The OF functionality has moved to a common place and be used by many archs. So we don't need to depend on PPC_OF option any more. This is a preparation for killing PPC_OF. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 758ddd1d11da5616851dd0d269e321cd1d2d4c1b Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:44 2015 +0800 fbdev: radeon: replace PPC_OF with PPC The PPC_OF is a ppc specific option which is used to mean that the firmware device tree access functions are available. Since all the ppc platforms have a device tree, it is aways set to 'y' for ppc. So it makes no sense to keep a such option in the current kernel. Replace it with PPC. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e7b410ef74b3d917db2545086578b663bed19d81 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:43 2015 +0800 fbdev: aty128fb: replace PPC_OF with PPC The PPC_OF is a ppc specific option which is used to mean that the firmware device tree access functions are available. Since all the ppc platforms have a device tree, it is aways set to 'y' for ppc. So it makes no sense to keep a such option in the current kernel. Replace it with PPC. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d610f503612ddb5bf55e477fd48c678b3deab7ca Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:42 2015 +0800 sata_svw: remove the dependency on PPC_OF The OF functionality has moved to a common place and be used by many archs. So we don't need to include the ppc arch specific header files and depend on PPC_OF option any more. This is a preparation for killing PPC_OF. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0388df05088def7ce5f3dd1b2293f05739be2a23 Author: John Hunter <zhaojunwang@xxxxxxxxxx> Date: Tue Mar 17 15:30:28 2015 +0800 drm: change connector to tmp_connector This wasn't too harmful since we already look at connector, which has the same effect as the loop for any non-cloned configs. Only when we have a cloned configuration is it important to look at other connectors. Furthermore existing userspace always changes dpms on all of them anyway. Signed-off-by: JohnHunter <zhjwpku@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f98bd3eff592fa708bb260cf3c6403e443cd40b7 Author: John Hunter <zhaojunwang@xxxxxxxxxx> Date: Tue Mar 17 15:30:26 2015 +0800 drm: Fix some typo mistake of the annotations There are some mistakes that the function name in the annotaions is not matching the real function name. And some duplication word in annotations Signed-off-by: John Hunter <zhjwpku@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8b6c0ab1a1296ef6922160fa27018f25c60b8940 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 16 10:32:20 2015 +0100 x86/asm/entry: Document and clean up the enable_sep_cpu() and syscall32_cpu_init() functions Clean up the flow and document the functions a bit better. Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d828c71fba8922b116b4ec56c3e5bca8c822d5ae Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 9 15:52:18 2015 +0100 x86/asm/entry/32: Document the 32-bit SYSENTER "emergency stack" better Before the patch, the 'tss_struct::stack' field was not referenced anywhere. It was used only to set SYSENTER's stack to point after the last byte of tss_struct, thus the trailing field, stack[64], was used. But grep would not know it. You can comment it out, compile, and kernel will even run until an unlucky NMI corrupts io_bitmap[] (which is also not easily detectable). This patch changes code so that the purpose and usage of this field is not mysterious anymore, and can be easily grepped for. This does change generated code, for a subtle reason: since tss_struct is ____cacheline_aligned, there happens to be 5 longs of padding at the end. Old code was using the padding too; new code will strictly use it only for SYSENTER_stack[]. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425912738-559-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3876488444e71238e287459c39d7692b6f718c3e Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 9 15:52:17 2015 +0100 include/stddef.h: Move offsetofend() from vfio.h to a generic kernel header Suggested by Andy. Suggested-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425912738-559-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5c39403e004bec75ce0c549541be5479595d6ad0 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 13 15:09:03 2015 +0100 x86/asm/entry: Simplify task_pt_regs() macro definition Before this change, task_pt_regs() was using KSTK_TOP(), and it was the only use of that macro. In turn, KSTK_TOP used THREAD_SIZE_LONGS, and it was the only use of that macro too. Fold these macros into task_pt_regs(). Tweak comment about "- 8" - we now use a symbolic constant, not literal 8. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426255743-5394-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76e4c4908a4904a61aa67ae5eb0b2a7588c4a546 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Mar 10 11:06:00 2015 -0700 x86/asm/entry/32: Document our abuse of x86_hw_tss::ss1 and x86_hw_tss::sp1 This has confused me for a while. Now that I figured it out, document it. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/b7efc1b7364039824776f68e9ddee9ec1500e894.1426009661.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d9e05cc5a53246e074dc2b84956252e4bbe392cd Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Mar 10 11:05:59 2015 -0700 x86/asm/entry: Unify and fix initial thread_struct::sp0 values x86_32 and x86_64 need slightly different thread_struct::sp0 values, and x86_32's was incorrect for init. This never mattered -- the init thread never runs user code, so we never used thread_struct::sp0 for anything. Fix it and mostly unify them. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1b810c1d2e797e27bb4a7708c426101161edd1f6.1426009661.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3ee4298f440c81638cbb5ec06f2497fb7a9a9eb4 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Mar 10 11:05:58 2015 -0700 x86/asm/entry: Create and use a 'TOP_OF_KERNEL_STACK_PADDING' macro x86_32, unlike x86_64, pads the top of the kernel stack, because the hardware stack frame formats are variable in size. Document this padding and give it a name. This should make no change whatsoever to the compiled kernel image. It also doesn't fix any of the current bugs in this area. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Acked-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/02bf2f54b8dcb76a62a142b6dfe07d4ef7fc582e.1426009661.git.luto@xxxxxxxxxxxxxx [ Fixed small details, such as a missed magic constant in entry_32.S pointed out by Denys Vlasenko. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a036b93a344235b7899401d04e97c34f3a2554c Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 12 13:57:52 2015 -0700 x86/signal/64: Remove 'fs' and 'gs' from sigcontext As far as I can tell, these fields have been set to zero on save and ignored on restore since Linux was imported into git. Rename them '__pad1' and '__pad2' to avoid confusion. This may also allow us to recycle them some day. This also adds a comment clarifying the history of those fields. I'm intentionally avoiding calling either of them '__pad0': the field formerly known as '__pad0' is now 'ss'. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/844f8490e938780c03355be4c9b69eb4c494bf4e.1426193719.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c6f2062935c8fcb31235799eaee8bcd5b649936b Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 12 13:57:51 2015 -0700 x86/signal/64: Fix SS handling for signals delivered to 64-bit programs The comment in the signal code says that apps can save/restore other segments on their own. It's true that apps can *save* SS on their own, but there's no way for apps to restore it: SYSCALL effectively resets SS to __USER_DS, so any value that user code tries to load into SS gets lost on entry to sigreturn. This recycles two padding bytes in the segment selector area for SS. While we're at it, we need a second change to make this useful. If the signal we're delivering is caused by a bad SS value, saving that value isn't enough. We need to remove that bad value from the regs before we try to deliver the signal. Oddly, the i386 code already got this right. I suspect that 64-bit programs that try to run 16-bit code and use signals will have a lot of trouble without this. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/405594361340a2ec32f8e2b115c142df0e180d8e.1426193719.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 754c4b1b2bddc6881889be9b4aa549d1647ef9ca Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:19 2015 +0100 ARM: mvebu: Enable Performance Monitor Unit on Armada 380/385 SoC The Armada 380 and 385 SoCs have a Cortex-A9 CPU, so the PMU is available to be used. This commit enables it in the devicetree. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 7f592c39d4975d9e6d3d0ebcf39695a487a6dc4e Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:18 2015 +0100 ARM: mvebu: Enable Performance Monitor Unit on Armada 375 SoC The Armada 375 SoC has a Cortex-A9 CPU, and so the PMU is available to be used. This commit enables it in the devicetree. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a87cd07b88b4797d50d11fa1089705a284ae087f Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:17 2015 +0100 ARM: mvebu: Enable Performance Monitor Unit on Armada XP/370 SoCs The Armada 370 and XP SoCs have Cortex-A9 compatible CPUs, and with a Performance Monitoring Unit. Enable it so that we can have hardware-assisted perf support. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit c9e44474f27e251fcdc1b52d7bd0a7607af4473a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 23:56:04 2015 -0700 Bluetooth: btusb: Fix minor whitespace issue in QCA ROME device entries Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 72000df2c01d6927319ad7e3f43460f6d0227de5 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 16:11:21 2015 -0700 Bluetooth: Add support for Local OOB Extended Data Update events When a different user requests a new set of local out-of-band data, then inform all previous users that the data has been updated. To limit the scope of users, the updates are limited to previous users. If a user has never requested out-of-band data, it will also not see the update. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5425f98e863ac5e4798a186475d4a8d95a2c08e8 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 16:05:44 2015 -0700 Bluetooth: Fix length for Read Local OOB Extended Data respone packet The length of the respone packet for Read Local OOB Extended Data command has a calculation error. In case LE Secure Connections support is not enabled, the actual response is shorter. Keep this in mind and update the value accordingly. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ee23d66af9219dfe2407a9b08ef9a165dbe6f994 Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Thu Jun 26 19:09:42 2014 +0530 mailbox: arm_mhu: add driver for ARM MHU controller Add driver for the ARM Primecell Message-Handling-Unit(MHU) controller. Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Signed-off-by: Andy Green <andy.green@xxxxxxxxxx> Signed-off-by: Vincent Yang <vincent.yang@xxxxxxxxxxxxx> Signed-off-by: Tetsuya Nuriya <nuriya.tetsuya@xxxxxxxxxxxxx> commit c078c62a752872fb83f56e41794dd61d5ea570a0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Mar 16 08:53:40 2015 +0000 mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info v2 84f11d5b1f2abc0e22895b7e12e037f0ec03caeb (mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info) replaced sh_mobile_sdhi_info to tmio_mmc_data, but it was missing to replace board-ape6evm / board-mackerel. Kernel build will be failed without this patch. >> arch/arm/mach-shmobile/board-ape6evm.c:176:21: error: \ variable 'sdhi0_pdata' has initializer but incomplete type static const struct sh_mobile_sdhi_info sdhi0_pdata __initconst = { ^ >> arch/arm/mach-shmobile/board-ape6evm.c:177:2: error: \ unknown field 'tmio_flags' specified in initializer .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE, ^ ... Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a02c0af2f0c4b3c85e828f60ac3459456cfad1e6 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 26 18:45:05 2014 +0200 powerpc/powermac: Cleaning up missing null-terminate in conjunction with strncpy Replacing strncpy with strlcpy to avoid strings that lacks null terminate. And removed unnecessary magic numbers. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 8edcee0e1f7dd703a2f3049ea1bc8c19bd945eb6 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Mar 17 15:16:12 2015 +1100 selftests/powerpc: Build the copyloops with -maltivec The recent change to remove the vrX defines exposed the fact that we are building the copyloops tests without altivec enabled. It depends on the toolchain as to whether altivec is on by default or not, so it only breaks on some toolchains. But we should always enable it. Fixes: c2ce6f9f3dc0 ("powerpc: Change vrX register defines to vX to match gcc and glibc") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ac434806f233e43c50afee0e42c88e6e7842572f Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Feb 26 15:40:39 2015 +0200 ARM: dts: am57xx-beagle-x15: Do not include the atl header AM57xx does not have ATL block integrated. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 38b1565ca77f411c85427988fa30c3482d5d7e68 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Mar 16 12:20:37 2015 -0500 ARM: dts: DRA7: Remove ti,timer-dsp and ti,timer-pwm properties Remove the 'ti,timer-dsp' and 'ti,timer-pwm' properties from the timer nodes that still have them. This seems to be copied from OMAP5, on which only certain timers are capable of providing PWM functionality or be able to interrupt the DSP. All the GPTimers On DRA7 are capable of PWM and interrupting any core (due to the presence of Crossbar). These properties were used by the driver to add capabilities to each timer, and support requesting timers by capability. In the DT world, we expect any users of timers to use phandles to the respective timer, and use the omap_dm_timer_request_by_node() API. The API to request using capabilities, omap_dm_timer_request_by_cap() API should be deprecated eventually. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 624ce7616d90337738dfd24c8e6ff7adf0060ad7 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Fri Mar 13 21:40:37 2015 +0100 Documentation: omap-twl4030: Move ti,codec property to optional ti,codec property is not used in omap-twl4030 driver in linux kernel but we keep it as optional property, so that the existing dtbs do not become noncompliant after the change on other OS. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3eb78ea8411e3877ace2af700c9a90847d1a397e Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Fri Mar 13 21:40:36 2015 +0100 ARM: dts: omap3: Remove all references to ti,codec property ti,codec property is not used (parsed) in omap-twl4030 driver. The ti,twl4030-audio which ti,codec points by phandle is mfd driver and device for ASoC codec is created w/o DT compatible string. Removing all references in DT files. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e702240e8364952e260829c8700fbc870aa4b053 Author: Phil Carmody <pc+lkml@xxxxxxxx> Date: Wed Sep 17 01:00:54 2014 +0300 powerpc/via-pmu: fix OF node leak in Keylargo init If we of_find_node_by_name() then we must of_node_put() too. Signed-off-by: Phil Carmody <pc+lkml@xxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit ffa3eb010dd8edc696cd958ba684d8a6d1cf3dff Author: Phil Carmody <pc+lkml@xxxxxxxx> Date: Wed Sep 17 01:00:53 2014 +0300 powerpc/via-pmu: fix error path in find_via_pmu() Cleanup was not in the reverse order from the set-up, so not all the gotos made sense, and also it was being avoided completely upon failure of init_pmu(). Signed-off-by: Phil Carmody <pc+lkml@xxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit b05ae4ee602b7dc90771408ccf0972e1b3801a35 Author: Kyle Moffett <Kyle.D.Moffett@xxxxxxxxxx> Date: Mon Nov 14 21:32:10 2011 -0500 powerpc: Remove duplicate cacheable_memcpy/memzero functions These functions are only used from one place each. If the cacheable_* versions really are more efficient, then those changes should be migrated into the common code instead. NOTE: The old routines are just flat buggy on kernels that support hardware with different cacheline sizes. Signed-off-by: Kyle Moffett <Kyle.D.Moffett@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 01ea0d4247bb3a224a66007e0a1291232c15d61a Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 17:07:26 2015 -0700 ARM: OMAP2+: Remove legacy support for omap3 TouchBook We've been moving all omap2+ based systems to boot in device tree only mode for a few years now. Only omap3 has legacy booting support remaining. Most omap3 boards already have related arch/arm/boot/*.dts* files for booting with device tree. As it seems this board only has minimal support upstreamed for the legacy booting and has not seen activity for on the mailing lists for a few years, let's attempt to remove the related legacy board-*.c file. I do not have this board, but it seems getting the same level of support with device tree based booting is mostly just configuring the .dts file. And there is no need to upgrade the boot loader as we can boot with appended DTB too. And most of the omap3 boards seem to be related to omap3-evm, and omap3beagleboard that are supported with device tree based booting. If somebody is using this board actively with the mainline kernel, please communicate this to the linux-omap mailing list so we can get the board booting with device tree based support. I can help some too getting the minimal device tree based booting going if help is needed. The reason for attempting to remove this board now is that I'd rather get the remaining omap3 legacy booting support into a known state where we at least have a .dts file being written for the remaining legacy boards. That is because for the next few merge cycles we can still revert this patch if absolutely necessary, but I'd rather not get suprised by missing .dts files at the point where we are ready to drop all remaining omap3 legacy booting support later on. Cc: Gregoire Gentil <gregoire@xxxxxxxxxx> Cc: Radek Pilar <mrkva@xxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f56a1b24f54e7d1f70b5dbcc32e702bf9a1f7e97 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 16:56:58 2015 -0700 ARM: OMAP3: Remove legacy support for devkit8000 We've been moving all omap2+ based systems to boot in device tree only mode for a few years now. Only omap3 has legacy booting support remaining. Most omap3 boards already have related arch/arm/boot/*.dts* files for booting with device tree. As it seems this board only has minimal support upstreamed for the legacy booting and has not seen activity for on the mailing lists for a few years, let's attempt to remove the related legacy board-*.c file. I do not have this board, but it seems getting the same level of support with device tree based booting is mostly just configuring the .dts file. And there is no need to upgrade the boot loader as we can boot with appended DTB too. And most of the omap3 boards seem to be related to omap3-evm, and omap3beagleboard that are supported with device tree based booting. If somebody is using this board actively with the mainline kernel, please communicate this to the linux-omap mailing list so we can get the board booting with device tree based support. I can help some too getting the minimal device tree based booting going if help is needed. The reason for attempting to remove this board now is that I'd rather get the remaining omap3 legacy booting support into a known state where we at least have a .dts file being written for the remaining legacy boards. That is because for the next few merge cycles we can still revert this patch if absolutely necessary, but I'd rather not get suprised by missing .dts files at the point where we are ready to drop all remaining omap3 legacy booting support later on. http://www.embest-tech.com/product/single-board-computers/index.html Cc: Thomas Weber <thomas@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 51925fb3c5c901aa06cdc853268a6e19e19bcdc7 Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 13:49:22 2015 -0600 powerpc/pseries: Implement memory hotplug remove in the kernel This patch adds the ability to do memory hotplug remove in the kernel. Currently the operation to hotplug remove memory is handled by the drmgr command which performs the operation by performing some work in user-space and making requests to the kernel to handle other pieces. By moving all of the work to the kernel we can do the remove faster, and provide a common code path to do memory hotplug for both the PowerVM and PowerKVM environments. Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 5f97b2a0d176a94815ee1d3a0511d91a5575bf4a Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 13:48:25 2015 -0600 powerpc/pseries: Implement memory hotplug add in the kernel This patch adds the ability to do memory hotplug add in the kernel. Currently the operation to hotplug add memory is handled by the drmgr command which performs the operation by performing some work in user-space and making requests to the kernel to handle other pieces. By moving all of the work to the kernel we can do the add faster, and provide a common code path to do memory hotplug for both the PowerVM and PowerKVM environments. Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 999e2dadb6058568b8bcffec44da2a07952d84fe Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 13:47:02 2015 -0600 powerpc/pseries: Create new device hotplug entry point The current hotplug (or dlpar) of devices (the process is generally the same for memory, cpu, and pci) on PowerVM systems is initiated from the HMC, which communicates the request to the partitions through the RSCT framework. The RSCT framework then invokes the drmgr command. The drmgr command performs the hotplug operation by doing some pieces, such as most of the rtas calls and device tree parsing, in userspace and make requests to the kernel to online/offline the device, update the device tree and add/remove the device. For PowerKVM the approach for device hotplug is to follow what is currently being done for pci hotplug. A hotplug request is initiated from the host. QEMU then generates an EPOW interrupt to the guest which causes the guest to make the rtas,check-exception call. In QEMU, the rtas,check-exception call returns a rtas hotplug event to the guest. Please note that the current pci hotplug path for PowerKVM involves the kernel receiving the rtas hotplug event, passing it to rtas_errd in userspace, and having rtas_errd invoke drmgr. The drmgr command then handles the request as described above for PowerVM systems. There is no need for this circuitous route, we should just handle the entire hotplug of devices in the kernel. What I am planning is to enable this by moving the code to handle hotplug from drmgr into the kernel to provide a single path for handling device hotplug for both PowerVM and PowerKVM systems. This patch provides the common iframework and entry point. For PowerKVM a future update to the kernel rtas code will recognize rtas hotplug events returned from rtas,check-exception calls and use the common entry point to handle hotplug of the device. For PowerVM systems, This patch creates /sys/kernel/dlpar that can be used by the drmgr command to initiate hotplug requests. In order to do this a string of the format "<resource> <action> <id_type> <id>" is written to this file. The string consists of a resource (cpu, memory, pci, phb), an action (add or remove), an id_type (count, drc index, drc name), and the corresponding id. The kernel will parse the string and create a rtas hotplug section that can be passed to the common entry point for handling hotplug requests. It should be noted that there is no chance of updating how we receive hotplug (dlpar) requests from the HMC on PowerVM systems. Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 5e51d3c2a46b0131d31594b33aacdff5aa99f0f3 Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 13:45:01 2015 -0600 powerpc/pseries: Declare the acquire/release drc index routines Add declarations for dlpar_{acquire,release}_drc(...) They are already marked non-static but were missing a prototype/ [BenH: Added extern to be consistent with the rest of the file] Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 366d395c8dd8f1d92f967e4a7691dadd9b9ae1bb Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 13:43:24 2015 -0600 powerpc/pseries: Define rtas hotplug event sections In order to handle device hotplug in the kernel on pseries the hotplug request will be communicated in the kernel in the form of a rtas hotplug event. This patch adds the definition of rtas hotplug event sections. Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 35cc73dae6374919affa64ba3092b6a1801c0943 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 16:56:58 2015 -0700 ARM: OMAP3: Remove legacy support for EMA-Tech Stalker board We've been moving all omap2+ based systems to boot in device tree only mode for a few years now. Only omap3 has legacy booting support remaining. Most omap3 boards already have related arch/arm/boot/*.dts* files for booting with device tree. As it seems this board only has minimal support upstreamed for the legacy booting and has not seen activity for on the mailing lists for a few years, let's attempt to remove the related legacy board-*.c file. I do not have this board, but it seems getting the same level of support with device tree based booting is mostly just configuring the .dts file. And there is no need to upgrade the boot loader as we can boot with appended DTB too. And most of the omap3 boards seem to be related to omap3-evm, and omap3beagleboard that are supported with device tree based booting. If somebody is using this board actively with the mainline kernel, please communicate this to the linux-omap mailing list so we can get the board booting with device tree based support. I can help some too getting the minimal device tree based booting going if help is needed. The reason for attempting to remove this board now is that I'd rather get the remaining omap3 legacy booting support into a known state where we at least have a .dts file being written for the remaining legacy boards. That is because for the next few merge cycles we can still revert this patch if absolutely necessary, but I'd rather not get suprised by missing .dts files at the point where we are ready to drop all remaining omap3 legacy booting support later on. Also looks like this board is no longer listed on ema-tech.com product page at: http://ema-tech.com/en/categories.html Cc: Jason Lam <lzg@xxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2f6cf7944833bf9c63b945799b460988aec30040 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:48 2015 +1100 powerpc/powernv: Remove unused file The patch removes unused file eeh-ioda.c and updates makefile accordingly. Besides, the definition of "struct pnv_eeh_ops" and the instances are all removed. Until now, the chip layer of EEH implementation for PowerNV platform is removed completely. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit cadf364d14f629119ba02c69f17a697d21880079 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:47 2015 +1100 powerpc/powernv: Drop PHB operation reset() The patch drops PHB EEH operation reset() and merges its logic to eeh_ops::reset(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 2a485ad7c88ddfdf59bea12ece52b81adfd7c5a7 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:46 2015 +1100 powerpc/powernv: Drop PHB operation next_error() The patch drops PHB EEH operation next_error() and merges its logic to eeh_ops::next_error(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 40ae5f693f6ada75e0f2680872dd0bf52bce22c4 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:45 2015 +1100 powerpc/powernv: Drop PHB operation get_state() The patch drops PHB EEH operation get_state() and merges its logic to eeh_ops::get_state(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 7e3e4f8d5e80d2321cb1ab58a2070fbf28883ec1 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:44 2015 +1100 powerpc/powernv: Drop PHB operation set_option() The patch drops PHB EEH operation set_option() and merges its logic to eeh_ops::set_option(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit bbe170ede15b3b33361b95497fb164909b45ffa9 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:43 2015 +1100 powerpc/powernv: Drop PHB operation configure_bridge() The patch drops PHB EEH operation configure_bridge() and merges its logic to eeh_ops::configure_bridge(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 95edcdeadf1e838c7d6f1ef43194128d823c61a1 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:42 2015 +1100 powerpc/powernv: Drop PHB operation get_log() The patch drops PHB operation get_log() and merges its logic to eeh_ops::get_log(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 4cf17445589932155797444687dca1ef2dd47f10 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:41 2015 +1100 powerpc/powernv: Drop PHB operation post_init() The patch drops PHB EEH operation post_init() and merge its logic to eeh_ops::post_init(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit fa646c3cab032caf94184aef728d7275164c437e Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:40 2015 +1100 powerpc/powernv: Drop PHB operation err_inject() The patch drops PHB EEH operation err_inject() and merge its logic to eeh_ops::err_inject(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 01f3bfb7804ae20aaf66884cf537f7dc2cdc1671 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:39 2015 +1100 powerpc/powernv: Shorten EEH function names The patch shortens names of EEH functions in powernv-eeh.c and no logic change introduced by this patch. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 6ec7334304f2882b7fc13ab70a0bf58948cf6244 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 13 15:16:32 2015 +1100 powerpc/pci: Fix comments about ppc_md.pcibios_fixup The patch fixes the comments about ppc_md.pcibios_fixup(), which should be called after allocating resources. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 28158cd1b75180343efa7c4d7d2f8e74ccc63b8f Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 11 10:20:49 2015 +1100 powerpc/eeh: Enhance pcibios_set_pcie_reset_state() Function pcibios_set_pcie_reset_state() is possibly called by pci_reset_function(), on which VFIO infrastructure depends to issue reset. pcibios_set_pcie_reset_state() is issuing reset on the parent PE of the indicated PCI device. The reset causes state lost on all PCI devices except the indicated one as the argument to pcibios_set_pcie_reset_state(). Also, sideband MMIO access from guest when issuing reset would cause unexpected EEH error. For above two issues, the patch applies following enhancements to pcibios_set_pcie_reset_state(): * For all PCI devices except the indicated one, save their state prior to reset and restore state after that. * Explicitly freeze PE prior to reset and unfreeze it after that, in order to avoid unexpected EEH error. Tested-by: Priya M. A <priyama2@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 606da4826b89b044b51e3a84958b802204cfe4c7 Author: Stefan Hengelein <stefan.hengelein@xxxxxx> Date: Wed Feb 25 19:44:27 2015 +0100 ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688 The Kconfig-Option OMAP4_ERRATA_I688 is never visible due to a contradiction in it's dependencies. The option requires ARCH_MULTIPLATFORM to be 'disabled'. However, an enclosing menu requires either ARCH_MULTI_V6 or ARCH_MULTI_V7 to be enabled. These options inherit a dependency from an enclosing menu, that requires ARCH_MULTIPLATFORM to be 'enabled'. This is a contradiction and made this option also unavailable for non-multiplatform configurations. Since there are no selects on OMAP4_ERRATA_I688, which would ignore dependencies, the code related to that option is dead and can be removed. This (logical) defect has been found with the undertaker tool. (https://undertaker.cs.fau.de) Signed-off-by: Stefan Hengelein <stefan.hengelein@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6248015d6867449b0a850dfe0810e9c5a8bffe41 Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Date: Wed Feb 25 16:13:50 2015 +0200 ARM: omap-device: add missed callback for suspend-to-disk Add missed callback needed for supporting suspend-to-disk (hibernation) mode. Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 026da812a075e1c3cc99f8bec757206b7068b779 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jan 19 16:13:53 2015 -0600 MAINTAINERS: add OMAP defconfigs under OMAP SUPPORT omap2plus_defconfig and omap1_defconfig are also part of the OMAP Support maintained, because of that it's best to list them under OMAP SUPPORT on MAINTAINERS so people know to Cc linux-omap when patching them. Reported-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7239d309b58d48616d3cda79050566fdb48196ef Author: Paul Walmsley <paul@xxxxxxxxx> Date: Fri Feb 6 15:56:07 2015 -0700 ARM: OMAP1: PM: fix some build warnings on 1510-only Kconfigs Building an OMAP1510-only Kconfig generates the following warnings: arch/arm/mach-omap1/pm.c: In function ¡omap1_pm_idle¢: arch/arm/mach-omap1/pm.c:123:2: warning: #warning Enable 32kHz OS timer in order to allow sleep states in idle [-Wcpp] #warning Enable 32kHz OS timer in order to allow sleep states in idle ^ arch/arm/mach-omap1/pm.c: At top level: arch/arm/mach-omap1/pm.c:76:23: warning: ¡enable_dyn_sleep¢ defined but not used [-Wunused-variable] static unsigned short enable_dyn_sleep = 0; ^ These are not so easy to fix in an obviously correct fashion, since I don't have these devices up and running in my testbed. So, use arch/arm/plat-omap/Kconfig and the existing pm.c source as a guide, and posit that deep power saving states are only supported on OMAP16xx chips with kernels built with both CONFIG_OMAP_DM_TIMER=y and CONFIG_OMAP_32K_TIMER=y. While here, clean up a few printk()s and unnecessary #ifdefs. This second version of the patch incorporates several suggestions from Jon Hunter <jgchunter@xxxxxxxxx>. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Jon Hunter <jonathanh@xxxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Tuukka Tikkanen <tuukka.tikkanen@xxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-omap@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Jon Hunter <jgchunter@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a8caad66904a7923c05fc4a137110085533ef00c Author: Gaku Inami <gaku.inami.xw@xxxxxxxxxxxxxx> Date: Mon Mar 16 14:48:43 2015 +0900 ARM: shmobile: Consolidate the pm code for R-Car Gen2 The pm code for R-Car Gen2 is scatterd in each SoC. These files (pm-r8a7790.c/pm-r8a7791.c) have some overlap code. This change consolidate the pm code for R-Car Gen2 into one. Signed-off-by: Gaku Inami <gaku.inami.xw@xxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ca5b74d2675a44f54aacb919c1cf022463e2f738 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Mar 16 23:49:08 2015 +0100 ACPI: Introduce has_acpi_companion() Now that the ACPI companions of devices are represented by pointers to struct fwnode_handle, it is not quite efficient to check whether or not an ACPI companion of a device is present by evaluating the ACPI_COMPANION() macro. For this reason, introduce a special static inline routine for that, has_acpi_companion(), and update the code to use it where applicable. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ce793486e23e0162a732c605189c8028e0910e86 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Mar 16 23:49:03 2015 +0100 driver core / ACPI: Represent ACPI companions using fwnode_handle Now that we have struct fwnode_handle, we can use that to point to ACPI companions from struct device objects instead of pointing to struct acpi_device directly. There are two benefits from that. First, the somewhat ugly and hackish struct acpi_dev_node can be dropped and, second, the same struct fwnode_handle pointer can be used in the future to point to other (non-ACPI) firmware device node types. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> commit d37530a0fc13b860f3b4ef88fbddff69fac52fc0 Author: Roger Quadros <rogerq@xxxxxx> Date: Fri Mar 6 17:10:05 2015 +0200 ARM: dts: omap3-beagle: Add NAND device The beagle board contains a 16-bit NAND device connected to chip select 0 of the GPMC controller. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a895b8a0d1e474dcfce3680d8f66cc08056acc1c Author: Vignesh R <vigneshr@xxxxxx> Date: Mon Mar 2 16:19:34 2015 +0530 ARM: dts: AM4372: update hdq compatible property This patch updates hdq node compatible property to "ti,am4372-hdq". Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9ccd0106c9dbcb7b6328680f4375f885f0efaca8 Author: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Date: Fri Feb 27 22:26:39 2015 +0100 ARM: dts: omap3-pandora: add DM3730 1 GHz version Added Pandora 1 GHz model which is based on Classic/Rebirth with following changes: - upgraded cpu to dm3730 runs on 1GHz - 512 MiB DDR-333 SDRAM @ 200 MHz Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Tested-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Reviewed-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b715da74deafb5f5a324001e9520b948f8c2795c Author: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Date: Fri Feb 27 22:26:38 2015 +0100 ARM: dts: omap3-pandora: add OMAP3530 600 MHz version Added Pandora Rebirth model which is based on Pandora Classic with 512 MiB DDR-333 SDRAM memory. Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Tested-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Reviewed-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 771048f59d068f0baf22fef7f952e8d4cca158af Author: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Date: Fri Feb 27 22:26:37 2015 +0100 ARM: dts: omap3-pandora: add common device tree This device tree allows to boot, supports the panel, framebuffer, touch screen, as well as some more peripherals. Since there is a OMAP3530 based 600 MHz variant and a DM3730 based 1 GHz variant we must include this common device tree code in one of two CPU specific device trees. Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Tested-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Reviewed-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a7390ebe457ec5a90ce7da9ae652ebdbda94b926 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Feb 26 15:39:23 2015 +0200 ARM: dts: dra7xx-clocks: Add gate clock for CLKOUT2 To be able to control the gate for the clkout2 clock output. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5c8a521d447682037221535bd898a9d182d25c7d Author: Matt Porter <mporter@xxxxxxxxxxxx> Date: Thu Feb 26 10:38:45 2015 -0500 Documentation: DT: omap_serial: document missing properties and add an example The omap_serial.txt binding documentation lacks a number of properties that are used in DTS files for platforms incorporating this peripheral. Fix this by documenting the missing required and optional fields and add an example. Signed-off-by: Matt Porter <mporter@xxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 78420b5dca18f2034f18925f5608cda2c960c3f3 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Thu Mar 12 12:55:37 2015 +0900 ARM: shmobile: r8a7791: Correct SYSCIER value Set the SYSCIER as per the values indicated in the documentation. The value previously used appears to been copied from the r8a7779 implementation but on closer inspection is not correct for the r8a7791. Fixes: 5f6108bb9643 ("ARM: shmobile: r8a7791 SYSC setup code") Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ee72f6adfdd95b53432eb60b6944c6fe2790dd13 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Thu Mar 12 12:55:36 2015 +0900 ARM: shmobile: r8a7790: Correct SYSCIER value Set the SYSCIER as per the values indicated in the documentation. The value previously used appears to been copied from the r8a7779 implementation but on closer inspection is not correct for the r8a7790. Fixes: a48f165509c1 ("ARM: shmobile: r8a7790 SYSC setup code") Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 617011e7d5559046e4fc8f87793c8a5d9c3431b0 Author: Thomas Graf <tgraf@xxxxxxx> Date: Mon Mar 16 10:42:26 2015 +0100 rhashtable: Avoid calculating hash again to unlock Caching the lock pointer avoids having to hash on the object again to unlock the bucket locks. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e0388c3188c602fafdbfff46ca976de32a8008f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jan 28 13:38:02 2015 -0800 arm: qcom: Update defconfig After removing ARCH_REQUIRE_GPIOLIB we need to select CONFIG_GPIOLIB to keep building the pinctrl drivers. Make the defconfig smaller too by running savedefconfig. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit fb6e987be44c6e9f83b371cde5955ad0f5418504 Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Wed Jan 28 13:38:01 2015 -0800 arm: qcom: Enable lpass clock driver in defconfig Enable the LPASS clock controller driver so that audio drivers can enable, disable, and set rates on their clocks. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Enable 8960 driver too] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 49d094570c59ba9e60efacd5b08a248ab9f6d59a Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 19 13:57:38 2015 -0600 ARM: dts: am437x-idk: enable i2c2 i2c2 goes to an expansion connector which we want to use. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 45706bb53d118b5340a12926e26444d73b6491f9 Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Fri Dec 19 08:41:05 2014 +0530 powerpc/book3s: Fix flush_tlb cpu_spec hook to take a generic argument. The flush_tlb hook in cpu_spec was introduced as a generic function hook to invalidate TLBs. But the current implementation of flush_tlb hook takes IS (invalidation selector) as an argument which is architecture dependent. Hence, It is not right to have a generic routine where caller has to pass non-generic argument. This patch fixes this and makes flush_tlb hook as high level API. Reported-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5b5e49af054a315bda68fec3eb935637aa72be31 Author: Rostislav Lisovy <lisovy@xxxxxxxxx> Date: Mon Feb 9 15:48:05 2015 +0100 ARM: dts: am335x: Add Chiliboard DTS Chiliboard uses ChiliSOM as its base. Hardware specification: * ChiliSOM (am335x, PMIC, DRAM, NAND) * Ethernet PHY (id 0) * USB host (usb1) * microSD slot * 2x GPIO LED Signed-off-by: Rostislav Lisovy <lisovy@xxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 446fb96c4a72ba390fbdecf27a88eaa50ea179dc Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 16 17:46:57 2015 -0300 perf hists browser: Fix up some branch alignment Those asprintf return checks should be aligned with the other conditionals, fix it. Also add {} blocks to further clarify. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> echo Link: http://lkml.kernel.org/n/tip-`ranpwd -l 24`@git.kernel.org Link: http://lkml.kernel.org/n/tip-nqgs07jfphbkw67wja870d3r@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 11d938d494890f09cf22252615cd2d0f2332f429 Author: Rostislav Lisovy <lisovy@xxxxxxxxx> Date: Mon Feb 9 15:48:04 2015 +0100 ARM: dts: am335x: Add DTS for ChiliSOM module Since this is a SOM (System on Module) that will be part of another embedded board (and can't really exist on its own) define it as a "dtsi" that will be included in the Device tree describing the whole system later on. Hardware specification: * AM335x SoC * up to 512 MB RAM * NAND Flash (8x interface, cs0) * UART0 * PMIC * I2C0 (for PMIC) * 1x Ethernet MAC Signed-off-by: Rostislav Lisovy <lisovy@xxxxxxxxxxxx> [tony@xxxxxxxxxxx: updated nand io size to be just 4] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1b3a62ae9c06aa015397984eaa0be531fc6675eb Author: Rostislav Lisovy <lisovy@xxxxxxxxx> Date: Mon Feb 9 15:48:03 2015 +0100 ARM: dts: Add vendor prefix for Grinn Grinn is a company located in Poland, Europe producing System on Modules. Webpage: http://www.grinn-global.com/ Signed-off-by: Rostislav Lisovy <lisovy@xxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0ba332f70a555548430ef3cf459b5240df0ffbd5 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 16 17:41:52 2015 -0300 perf hists browser: Simplify symbol annotation menu setup No need to repeat some tests, skip annotation instead. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-6h6igrb81u4e6rwfmx7dv47n@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9f1ab18672bee992b6169bbfa2b5ae86b42e88a8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 07:14:34 2015 -0700 tcp_metrics: fix wrong lockdep annotations Changes in tcp_metric hash table are protected by tcp_metrics_lock only, not by genl_mutex While we are at it use deref_locked() instead of rcu_dereference() in tcp_new() to avoid unnecessary barrier, as we hold tcp_metrics_lock as well. Reported-by: Andrew Vagin <avagin@xxxxxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 098a697b497e ("tcp_metrics: Use a single hash table for all network namespaces.") Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03b225b16d75bccf9bc4d82607964a08148adf61 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 11 16:15:31 2015 +0530 pcmcia: Use setup_timer and mod_timer This patch introduces the use of functions setup_timer and mod_timer. This is done using Coccinelle and semantic patch used for this as follows: // <smpl> @@ expression x,y,z,a,b; @@ -init_timer (&x); +setup_timer (&x, y, z); +mod_timer (&a, b); -x.function = y; -x.data = z; -x.expires = b; -add_timer(&a); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dae6cdabe45baecfcfd02fbf11d97bb645450fc6 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 11 16:25:38 2015 +0530 pcmcia: Use setup_timer This patch introduces the use of function setup_timer. This is done using Coccinelle and semantic patch used is as follows: @@ expression x,y,z; @@ - init_timer (&x); + setup_timer (&x, y, z); - x.function = y; - x.data = z; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd76a116707bd2381da36cf7c3183df11293f1d6 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Mon Mar 16 12:33:32 2015 +0100 dsa: change "select" to "depends on" for NET_SWITCHDEV and for NET_DSA This would fix randconfig compile error: net/built-in.o: In function `netdev_switch_fib_ipv4_abort': (.text+0xf7811): undefined reference to `fib_flush_external' Also it fixes following warnings: warning: (NET_DSA) selects NET_SWITCHDEV which has unmet direct dependencies (NET && INET) warning: (NET_DSA_MV88E6060 && NET_DSA_MV88E6131 && NET_DSA_MV88E6123_61_65 && NET_DSA_MV88E6171 && NET_DSA_MV88E6352 && NET_DSA_BCM_SF2) selects NET_DSA which has unmet direct dependencies (NET && HAVE_NET_DSA && NET_SWITCHDEV) Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Suggested-by: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73ee5442978b2dd3159e0170b09ba907a197a62d Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Mon Mar 16 18:56:29 2015 +0800 net/fsl: modify xgmac_mdio for little endian SoCs MDIO controller on little endian Socs, e.g. ls2085a is similar to the controller on big endian Socs, but the MDIO access is little endian, we use I/O accessor function to handle endianness, so the driver can run on little endian Socs. A property "little-endian" is used in DTS to indicate the MDIO is little endian, if driver probes the property, driver will access MDIO in little endian, otherwise, driver works in big endian by default. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26eee0210ad72a29eb4a70b34320bda266f91a0d Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Mon Mar 16 18:55:50 2015 +0800 net/fsl: fix a bug in xgmac_mdio There is a bug in xgmac_wait_until_done() which mdio_stat should be used instead of mdio_data when checking if busy bit is cleared. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c243d7e20996254f89c28d4838b5feca735c030d Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Mon Mar 16 18:19:12 2015 +0800 net: kernel socket should be released in init_net namespace Creating a kernel socket with sock_create_kern() happens in "init_net" namespace, however, releasing it with sk_release_kernel() occurs in the current namespace which may be different with "init_net" namespace. Therefore, we should guarantee that the namespace in which a kernel socket is created is same as the socket is created. Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db4374f48a6c31c02f6ad1d19b257c186b443c0c Author: Thomas Graf <tgraf@xxxxxxx> Date: Mon Mar 16 10:42:27 2015 +0100 rhashtable: Annotate RCU locking of walkers Fixes the following sparse warnings: lib/rhashtable.c:767:5: warning: context imbalance in 'rhashtable_walk_start' - wrong count at exit lib/rhashtable.c:849:6: warning: context imbalance in 'rhashtable_walk_stop' - unexpected unlock Fixes: f2dba9c6ff0d ("rhashtable: Introduce rhashtable_walk_*") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ab163ad1ea0bb0ccd4ada2a54834041611d76f1 Author: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Date: Fri Feb 6 19:15:28 2015 +0530 misc: sram: switch to ioremap_wc from ioremap Currently, the SRAM allocator returns device memory via ioremap. This causes issues on ARM64 when the internal SoC SRAM allocated by the generic sram driver is used for audio playback. The destination buffer address (which is ioremapped SRAM) is not 64-bit aligned for certain streams (e.g. 44.1k sampling rate). In such cases we get unhandled alignment faults. Use ioremap_wc in place of ioremap which gives us normal non-cacheable memory instead of device memory. Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34644524bce91883d5051a7eaf3ec5464ed149bf Author: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Date: Fri Feb 6 19:15:27 2015 +0530 lib: devres: add a helper function for ioremap_wc Implement a resource managed writecombine ioremap function. Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71a49d16f06de2ccdf52ca247d496a2bb1ca36fe Author: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Date: Fri Feb 6 19:15:26 2015 +0530 m32r: add definition of ioremap_wc to io.h Before adding a resource managed ioremap_wc function, we need to have ioremap_wc defined for m32r to prevent build errors. Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be7bee9f80c1237e70cc6411e5b432681941247c Author: Jean Delvare <jdelvare@xxxxxxx> Date: Sun Mar 8 09:49:50 2015 +0100 misc: bh1780: Add module aliases The bh1780gli driver does not create an i2c module alias for the device it supports, preventing the driver from being loaded automatically when needed on non-OF/DT systems. Add it. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1a3f243485fa2643bc75fd70a23bbd7cfc74f2d Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Mar 16 12:16:14 2015 +0100 checkkconfigsymbols.py: make it Git aware The script now supports to check a specified commit or a specified range of commits (i.e., commit1..commit2). Developers and maintainers are encouraged to use this functionality before sending or merging patches to avoid potential bugs and to keep the code, documentation, etc. clean. This patch adds the following options to the script: -c COMMIT, --commit=COMMIT Check if the specified commit (hash) introduces undefined Kconfig symbols. -d DIFF, --diff=DIFF Diff undefined symbols between two commits. The input format bases on Git log's 'commmit1..commit2'. --force Reset current Git tree even when it's dirty. Note that the first two options require to 'git reset --hard' the user's Git tree. This hard reset is necessary to keep the script fast, but it can lead to the loss of uncommitted data. Hence, the script aborts in case it is executed in a dirty tree. It won't abort if '--force' is passed. If neither -c nor -d is specified, the script defaults to check the entire local tree (i.e., the previous behavior). Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da2ff527e44bf3af851c1e5d9ac82d248df35417 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:13 2015 +0100 char: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6893d9b51093cf499ee6217e98c50006ec2727c6 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:26 2015 +0100 misc: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f51bf4be99386f49841b6365a85a5cabc148565 Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Mon Mar 16 14:08:56 2015 -0600 vfio: put off the allocation of "minor" in vfio_create_group The next code fragment "list_for_each_entry" is not depend on "minor". With this patch, the free of "minor" in "list_for_each_entry" can be reduced, and there is no functional change. Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit a7fa7c77cf15fb22d0f33fcc88770de0246c5588 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:55 2015 -0600 vfio/platform: implement IRQ masking/unmasking via an eventfd With this patch the VFIO user will be able to set an eventfd that can be used in order to mask and unmask IRQs of platform devices. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 42ac9bd18d4fc28c36c7927847f0f6e90ecd7710 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:54 2015 -0600 vfio: initialize the virqfd workqueue in VFIO generic code Now we have finally completely decoupled virqfd from VFIO_PCI. We can initialize it from the VFIO generic code, in order to safely use it from multiple independent VFIO bus drivers. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 7e992d692750b2938224eb43fee907181d92a602 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:54 2015 -0600 vfio: move eventfd support code for VFIO_PCI to a separate file The virqfd functionality that is used by VFIO_PCI to implement interrupt masking and unmasking via an eventfd, is generic enough and can be reused by another driver. Move it to a separate file in order to allow the code to be shared. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 09bbcb8810c4673cb96477e0e83c9bcdfadc7741 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:53 2015 -0600 vfio: pass an opaque pointer on virqfd initialization VFIO_PCI passes the VFIO device structure *vdev via eventfd to the handler that implements masking/unmasking of IRQs via an eventfd. We can replace it in the virqfd infrastructure with an opaque type so we can make use of the mechanism from other VFIO bus drivers. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 9269c393e7a971f98c0f54d7fc350ac7636d1fa5 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:52 2015 -0600 vfio: add local lock for virqfd instead of depending on VFIO PCI The Virqfd code needs to keep accesses to any struct *virqfd safe, but this comes into play only when creating or destroying eventfds, so sharing the same spinlock with the VFIO bus driver is not necessary. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit bb78e9eaab919b1ede37d62056b554bba611a012 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:52 2015 -0600 vfio: virqfd: rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit The functions vfio_pci_virqfd_init and vfio_pci_virqfd_exit are not really PCI specific, since we plan to reuse the virqfd code with more VFIO drivers in addition to VFIO_PCI. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> [Baptiste Reynal: Move rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit from "vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and export"] Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit bdc5e1021b7fa061d21e64fc6d308ee0ef3c7582 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:51 2015 -0600 vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and export We want to reuse virqfd functionality in multiple VFIO drivers; before moving these functions to core VFIO, add the vfio_ prefix to the virqfd_enable and virqfd_disable functions, and export them so they can be used from other modules. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 06211b40ce6b63903fe03831fd075a25630dc856 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:50 2015 -0600 vfio/platform: support for level sensitive interrupts Level sensitive interrupts are exposed as maskable and automasked interrupts and are masked and disabled automatically when they fire. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> [Baptiste Reynal: Move masked interrupt initialization from "vfio/platform: trigger an interrupt via eventfd"] Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 57f972e2b341dd6a73533f9293ec55d584a5d833 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:50 2015 -0600 vfio/platform: trigger an interrupt via eventfd This patch allows to set an eventfd for a platform device's interrupt, and also to trigger the interrupt eventfd from userspace for testing. Level sensitive interrupts are marked as maskable and are handled in a later patch. Edge triggered interrupts are not advertised as maskable and are implemented here using a simple and efficient IRQ handler. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> [Baptiste Reynal: fix masked interrupt initialization] Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 9a36321c8d3350c4f7befa02adf3ce4583287ad9 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:49 2015 -0600 vfio/platform: initial interrupts support code This patch is a skeleton for the VFIO_DEVICE_SET_IRQS IOCTL, around which most IRQ functionality is implemented in VFIO. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 682704c41e6d2238c1fb5c6ab83eedadd876fa0e Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:48 2015 -0600 vfio/platform: return IRQ info Return information for the interrupts exposed by the device. This patch extends VFIO_DEVICE_GET_INFO with the number of IRQs and enables VFIO_DEVICE_GET_IRQ_INFO. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit fad4d5b1f042a659e07ceba3a6d1744b30f8ff7c Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:48 2015 -0600 vfio/platform: support MMAP of MMIO regions Allow to memory map the MMIO regions of the device so userspace can directly access them. PIO regions are not being handled at this point. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 6e3f264560099869f68830cb14b3b3e71e5ac76a Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:47 2015 -0600 vfio/platform: read and write support for the device fd VFIO returns a file descriptor which we can use to manipulate the memory regions of the device. Usually, the user will mmap memory regions that are addressable on page boundaries, however for memory regions where this is not the case we cannot provide mmap functionality due to security concerns. For this reason we also allow to use read and write functions to the file descriptor pointing to the memory regions. We implement this functionality only for MMIO regions of platform devices; PIO regions are not being handled at this point. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit e8909e67cac3ad3868dc86cc6b1445f39c71bf63 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:46 2015 -0600 vfio/platform: return info for device memory mapped IO regions This patch enables the IOCTLs VFIO_DEVICE_GET_REGION_INFO ioctl call, which allows the user to learn about the available MMIO resources of a device. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 2e8567bbb536cfc7336f8f105ef43adc98b9c156 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:46 2015 -0600 vfio/platform: return info for bound device A VFIO userspace driver will start by opening the VFIO device that corresponds to an IOMMU group, and will use the ioctl interface to get the basic device info, such as number of memory regions and interrupts, and their properties. This patch enables the VFIO_DEVICE_GET_INFO ioctl call. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> [Baptiste Reynal: added include in vfio_platform_common.c] Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit b13329adc2cd6c613ffd95b681a0d4cbd399939f Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:45 2015 -0600 vfio: amba: add the VFIO for AMBA devices module to Kconfig Enable building the VFIO AMBA driver. VFIO_AMBA depends on VFIO_PLATFORM, since it is sharing a portion of the code, and it is essentially implemented as a platform device whose resources are discovered via AMBA specific APIs in the kernel. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 36fe431f2811fa3b5fed15d272c585d5a47977aa Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:44 2015 -0600 vfio: amba: VFIO support for AMBA devices Add support for discovering AMBA devices with VFIO and handle them similarly to Linux platform devices. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 53161532394b3b3c7e1ec9c80658edd75446ac77 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:44 2015 -0600 vfio: platform: add the VFIO PLATFORM module to Kconfig Enable building the VFIO PLATFORM driver that allows to use Linux platform devices with VFIO. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 9df85aaa43297cb12dc85155695dd1bfdf94f91d Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:43 2015 -0600 vfio: platform: probe to devices on the platform bus Driver to bind to Linux platform devices, and callbacks to discover their resources to be used by the main VFIO PLATFORM code. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit de49fc0d99e6a8af8be4f56869bdea12976d3551 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:42 2015 -0600 vfio/platform: initial skeleton of VFIO support for platform devices This patch forms the common skeleton code for platform devices support with VFIO. This will include the core functionality of VFIO_PLATFORM, however binding to the device and discovering the device resources will be done with the help of a separate file where any Linux platform bus specific code will reside. This will allow us to implement support for also discovering AMBA devices and their resources, but still reuse a large part of the VFIO_PLATFORM implementation. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> [Baptiste Reynal: added includes in vfio_platform_private.h] Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit d720acace4d7989f0d5617868e8277221e882961 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:54:36 2015 +0100 hwmon: (pwm-fan, vexpress) Constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 04f49faf70d4c056cd6576ff0614bb54e7a70bbc Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sun Mar 15 23:04:46 2015 -0700 rocker: replace fixed stack allocation with dynamic allocation In hast to fix some sparse warning, I hard-coded a fix-sized array on the stack which is probably too big for kernel standards. Fix this by converting array to dynamic allocation. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b35f504a0c2631d57ebbb5b5b85a9055f62dce88 Merge: f00bbd2 13854e5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 16 15:55:47 2015 -0400 Merge branch 'listener_refactor' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 10 We are getting close to the point where request sockets will be hashed into generic hash table. Some followups are needed for netfilter and will be handled in next patch series. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13854e5a60461daee08ce99842b7f4d37553d911 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 15 21:12:16 2015 -0700 inet: add proper refcounting to request sock reqsk_put() is the generic function that should be used to release a refcount (and automatically call reqsk_free()) reqsk_free() might be called if refcount is known to be 0 or undefined. refcnt is set to one in inet_csk_reqsk_queue_add() As request socks are not yet in global ehash table, I added temporary debugging checks in reqsk_put() and reqsk_free() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c13270b441054a9596bcd99c0f446603c9ad131 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 15 21:12:15 2015 -0700 inet: factorize sock_edemux()/sock_gen_put() code sock_edemux() is not used in fast path, and should really call sock_gen_put() to save some code. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a58917f584e776b9fe31ef2a8bf617f253378dc0 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 15 21:12:14 2015 -0700 inet_diag: allow sk_diag_fill() to handle request socks inet_diag_fill_req() is renamed to inet_req_diag_fill() and moved up, so that it can be called fom sk_diag_fill() inet_diag_bc_sk() is ready to handle request socks. inet_twsk_diag_dump() is no longer needed. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7e4eb03f9d9e2522bdd5107f37f9cf1af0bf0fa Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 15 21:12:13 2015 -0700 inet: ip early demux should avoid request sockets When a request socket is created, we do not cache ip route dst entry, like for timewait sockets. Let's use sk_fullsock() helper. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d0ab253872cdd3d8e7913f59c266c7fd01771d0 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 15 21:12:12 2015 -0700 net: add sk_fullsock() helper We have many places where we want to check if a socket is not a timewait or request socket. Use a helper to avoid hard coding this. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fd6d08cbd4bd8984241c7cef2f7c5cb67fce1aa Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 12:48:44 2015 -0700 ARM: omap2plus_defconfig: Enable n900 modem as loadable modules Enable n900 modem as loadable modules. Acked-by: Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 930a1d29744230ac74c0937dcc6fdf99c6489253 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 12:46:59 2015 -0700 ARM: omap2plus_defconfig: Update bluetooth options Many omaps have bluetooth, so let's make it available as modules. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e804c9258b553c469039e63c2f6933b3adc38a26 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 12:44:49 2015 -0700 ARM: omap2plus_defconfig: Enable leds-pwm This is used on many omap boards. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5082a59965d4f13245658b2927b6c021f17ed88e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 12:39:00 2015 -0700 Bluetooth: Do not include LE SC out-of-band data if not enabled In case LE Secure Connections is not enabled, then the command for returning local out-of-band data should not include the confirmation and random value for LE SC pairing. All other fields are still valid, but these two need to be left out. In that case it is also no needed to generate the public/private key pair for out-of-band pairing. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b880ab869c4e1e7cadb040d4ee9b189aebd6cb38 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 12:34:58 2015 -0700 Bluetooth: The P-256 randomizer is 16 octets long and not 19 octets This seems to be a simple typo in the debugfs entry for the remote out-of-band data entries. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit fb334fee60ebd1aea23cc5daf3abac10139c9a24 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 12:34:57 2015 -0700 Bluetooth: Rename smp->local_rr into smp->local_rand The variable for the out-of-band random number was badly named and with that confusing. Just rename it to local_rand so it is clear what value it represents. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bc07cd696e1863d082fdc8650351b288bd41629b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 12:34:56 2015 -0700 Bluetooth: Add extra SMP_DBG statement for remote OOB data Just for pure debugging purposes print the remote out-of-band data that has been received and is going to be used. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e091526dfdaa955a7481a696094ac9e5d1bdb0fe Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 12:34:55 2015 -0700 Bluetooth: Use smp->remote_pk + 32 instead of &smp->remote_pk[32] Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5fcad167315f224eaf6750b0fb85ee6c92f087cd Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Mar 5 17:36:54 2015 -0500 HID: wacom: ask for a in-prox report when it was missed If noone listens to the input device when a tool comes in proximity, the tablet does not send the in-prox event when a client becomes available. That means that no events will be sent until the tool is taken out of proximity. In this situation, ask for the report WACOM_REPORT_INTUOSREAD which will read the corresponding feature and generate an in-prox event. To make some generation of hardware working, we need to unset the quirk NO_GET set by hid-core because the interfaces are seen as "boot mouse". We don't schedule this read in a worker while we are in an IO interrupt. We know that usbhid will do it asynchronously. If this is triggered by uhid, then this is obviously a client side bug :) Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit cb06d366fbf88f3923951d862f8c5b03fb483b43 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 21:12:34 2015 +0200 Bluetooth: Add clarifying comment when setting local OOB flag It might be a bit counterintuitive to set a 'local' flag based on remote data. This patch adds a clarifying comment to the pairing req/rsp handlers when setting the LOCAL_OOB flag based on the PDU received from the remote side. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a9c3e64835ab7399626fc89b995785531160dff4 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Sat Feb 7 00:25:50 2015 +0000 ARM: omap1_defconfig: drop obsolete Kconfig symbols scripts/checkkconfigsymbols.py indicates that omap1_defconfig references the following obsolete Kconfig symbols: CONFIG_BT_L2CAP CONFIG_BT_SCO CONFIG_DEBUG_ERRORS CONFIG_EXPERIMENTAL CONFIG_FB_OMAP_BOOTLOADER_INIT CONFIG_LEDS_CPU CONFIG_MACH_OMAP_HTCWIZARD CONFIG_MTD_CHAR CONFIG_MTD_DEBUG CONFIG_MTD_DEBUG_VERBOSE CONFIG_MTD_PARTITIONS CONFIG_NET_ETHERNET CONFIG_RCU_CPU_STALL_DETECTOR CONFIG_SCSI_MULTI_LUN CONFIG_USB_DEVICE_CLASS CONFIG_VIDEO_OUTPUT_CONTROL Drop them from omap1_defconfig. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Stefan Hengelein <stefan.hengelein@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-omap@xxxxxxxxxxxxxxx Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit cc4a5fe972ad7834e8662b49b3a5fdb597e9e15e Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Jan 30 11:18:56 2015 -0600 arm: config: omap2plus_defconfig: switch over to LZMA compression LZMA compression makes about 33% smaller zImage with just a slight extra decompression time. Before this patch, zImage built with o2+_dc is 4.5MiB and after it's about 3.3MiB. Suggested-by: David Cohen <david.a.cohen@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 62f269ef819156889b121ae27998e928b784c219 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Mon Mar 9 07:39:07 2015 +0000 pstore: Fix the ramoops module parameters update In the function ramoops_probe, the console_size, pmsg_size, ftrace_size may be update because the value is not the power of two. We should update the module parameter variables as well so they are visible through /sys/module/ramoops/parameters correctly. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Mark Salyzyn <salyzyn@xxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit c08a54c0ebeb7933ce501c60a3cbf996364a8396 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Jan 26 14:15:32 2015 +0200 ARM: omap2plus_defconfig: Enable EXTCON_GPIO_USB This driver is needed for USB cable type detection on dra7-evm, dra72-evm and am57xx-beagle-x15. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 88c5544ab2240cf2a2dc87b5af9cd7990d06d028 Merge: 2197cf7 8590ca6 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:48 2015 +0100 Merge tag 'at91-cleanup3' into at91-4.1-multiplatform Third batch of cleanup for 4.1: - System Timer (ST) for at91rm9200 re-work (syscon/regmap): - watchdog - restart handler - timer as a proper clocksource => remove mach dependency + cleanup commit 2197cf7006b645893dbccaef454815fb6d7b3fda Merge: 8e6de97 598e085 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:44 2015 +0100 Merge tag 'at91-cleanup2' into at91-4.1-multiplatform Second batch of cleanup for 4.1: - remove unused matrix header files - dbgu + chip identification: new driver for SoC detection this allow to remove all additional io mapping - remove old non-standard AT91 setup code commit 8e6de970835be1d924c022d5e4b310ca7bb3cc7a Merge: 5e358e3 385acc0 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:39 2015 +0100 Merge tag 'at91-cleanup' into at91-4.1-multiplatform First batch of cleanup for 4.1: - little phy fixup that is not needed anymore - hudge cleanup of the PM code: - removal of "use slow clock" option => always use this for suspend to RAM - quicker suspend as the asm function is copied only once to SRAM - use of the same asm function for "standby" and "mem" types of suspend actions - adaptation to the ARMv7 processors commit 5e358e3991dcf62a4b3cdf8085ead6b4a25ba08b Merge: a697d40 e7b848d Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:34 2015 +0100 Merge tag 'at91-fixes3' into at91-4.1-multiplatform Third fixes batch for AT91 on 4.0: - clock fixes for USB - compatible string changes for handling USB IP differences (+ needed AHB matrix syscon) - fix of a compilation error in PM code commit a697d40a8aab4b67c0f11fb6105c6c4edcbd0c81 Merge: 59f5f7d 5957457 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:31 2015 +0100 Merge tag 'at91-fixes2' into at91-4.1-multiplatform Second fixes batch for AT91 on 4.0: - little fix for !MMU debug: may also help for randconfig - fix of 2 errors in LCD clock definitions - in PM code, not writing the key leads to not execute the action commit 59f5f7d054924bf38e41929a47bd7d5d94d42096 Merge: 13a7a6a 2141102 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:27 2015 +0100 Merge tag 'at91-fixes' into at91-4.1-multiplatform First fixes batch for AT91 on 4.0: - PM slowclock fixes for DDR and timeouts - fix some DT entries - little defconfig updates - the removal of a harmful watchdog option + its detailed documentation commit 3b62286d0ef785815994e2558e8cfb686597b0cd Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Mar 16 09:37:24 2015 +0200 dmaengine: Remove FSF mailing addresses Free Software Foundation mailing address has been moved in the past and some of the addresses here are outdated. Remove them from file headers since the COPYING file in the kernel sources includes it. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d51da4d4a9e6592d2e5645943a23e25dfd91939e Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Mon Feb 23 09:40:33 2015 +0530 dmaengine: qcom_bam_dma: Add support for BAM v1.7.0 Add register offset table entry for the newer (v1.7.0) version of the BAM IP found on MSM8916. Update the DT bindings documentation. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b26072276f20ce93717fdad5210e4ae9f1c944fa Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Mar 10 11:37:24 2015 +0200 dmaengine: dw: Make error prints unique. Part #2 The same error message is printed from different switch cases. Since both of these jump into same error label we can move error print there and add a DMA direction in order to make it easier to grep error from sources. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 550da64bc89b597395ea6e43a6b4026491035a9d Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Mar 10 11:37:23 2015 +0200 dmaengine: dw: Make error prints unique. Part #1 The same error message is printed from different functions. Add a function name to error message in order to make it easier to grep error from sources. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a8ca617c1356cafa669dc467a386787cc1d83809 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 18:12:57 2015 +0200 Bluetooth: Don't send public key if OOB data verification fails When we receive the remote public key, if we have remote OOB data there's no point in sending our public key to the remote if the OOB data doesn't match. This patch moves the test for this higher up in the smp_cmd_public_key() function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 94ea7257ef24a007cb0e26476ed8871f179a749f Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 11:45:46 2015 +0200 Bluetooth: Fix verifying confirm value when lacking remote OOB data If we haven't received remote OOB data we cannot perform any special checks on the confirm value. This patch updates the check after having received the public key to only perform the verification if we have remote OOB data present. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 58428563b5ea19c2ac8b6aca8073e48539023b26 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 11:45:45 2015 +0200 Bluetooth: Set local OOB data flag if remote has our OOB data If the SMP Pairing Request or Response PDU received from the remote device indicates that it has received our OOB data we should set the SMP_FLAG_LOCAL_OOB flag. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1a8bab4f390130268e5384ccf1bde47925102c72 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 11:45:44 2015 +0200 Bluetooth: Track local vs remote OOB data availability There are several decisions in the SMP logic that depend not only on whether we're doing SMP or not, but also whether local and/or remote OOB data is present. This patch splits the existing SMP_FLAG_OOB into two new flags to track local and remote OOB data respectively. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 882fafad71a4bac8e8a2445dfb08c38a71b4eef1 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 11:45:43 2015 +0200 Bluetooth: Fix local OOB data handling for SMP We need to store the local ra/rb value in order to verify the Check value received from the remote. This patch adds a new 'lr' for the local ra/rb value and makes sure it gets used when verifying the DHKey Check PDU received from the remote. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 960d6d08e395d5441d53caa21083c0b6d38995f9 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Mar 13 17:37:59 2015 +0530 mwifiex: delay skb allocation for RX until cmd53 over This patch moves SKB allocation for RX packets from current place i.e. after reading MP regs to place where we already have read data from SDIO bus ie after cmd53. mp_rx_aggr_setup has been modified accordingly to set skb_arr to NULL. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Shengzhen Li <szli@xxxxxxxxxxx> Reviewed-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Reviewed-by: Cathy Luo <cluo@xxxxxxxxxxx> Reviewed-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 92263a841b1502d2ef19199deaa669fe4c0102e9 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Mar 13 17:37:58 2015 +0530 mwifiex: add SDIO rx single port aggregation This patch brings in support for SDIO single port rx aggregation to mwifiex. Maximum read size support by SDIO cmd53 is 64K. Based on multi port aggregation which is already part of mwifiex, idea here is multiple packets received in FW can be aggregated into single buffer. A separate upload type is defined for such packet aggregated to single port. Packets from this single buffer are later deaggregated into individual packets. This way, driver can receive more packets each time through single SDIO cmd53; thereby reducing no of times MMC bus is accessed. SDIO SP aggregation support is advertised by FW during load time and driver would get FW block size in command response of HostCmd_CMD_SDIO_SP_RX_AGGR_CFG. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Reviewed-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Reviewed-by: Cathy Luo <cluo@xxxxxxxxxxx> Reviewed-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e35000ead491d71e59ab6f7458971321e06150a0 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Mar 13 17:37:57 2015 +0530 mwifiex: preprocess packets from TX queue During profiling, we discovered that driver remains idle for time when pakcet is downloaded to FW but no TX_DONE has been received i.e. while data_sent is true. This patch adds enhancement to TX routine where we preprocess packets from TX queue, make them ready for TX and add them to separate TX queue. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Chin-ran Lo <crlo@xxxxxxxxxxx> Reviewed-by: Cathy Luo <cluo@xxxxxxxxxxx> Reviewed-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Reviewed-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 690e792cb9d78c3bcaf4a6a8387dbbfbafad579f Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Mar 13 17:37:56 2015 +0530 mwifiex: remove_bss_prio_lock This patch does away with spinlock in mwifiex_wmm_get_highest_priolist_ptr in order to improve TP. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 39df5e8233bf34696204207c7594a0a6320fa044 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Mar 13 17:37:55 2015 +0530 mwifiex: get rid of BA setup helper functions This patch removes BA setup helper routines mwifiex_is_bastream_setup and mwifiex_is_amsdu_in_ampdu_allowed. Current code will use two functions to check bastream setup and amsdu in ampdu. This patch change these functions to flags, thus avoiding redundant spin_lock check while dequeuing TX packets. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Reviewed-by: Cathy Luo <cluo@xxxxxxxxxxx> Reviewed-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b2713f67f7a4c3226772c5ac581c7f37d7c473f1 Author: Shengzhen Li <szli@xxxxxxxxxxx> Date: Fri Mar 13 17:37:54 2015 +0530 mwifiex: avoid queue_work while work is ongoing Current code does not check whether main_work_queue or rx_work_queue is running when preparing to do queue_work, this code fix add check before calling queue_work, reducing unnecessary queue_work switch. This change instead sets more_task flag to ensure we run main_process superloop once again. Signed-off-by: Shengzhen Li <szli@xxxxxxxxxxx> Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Reviewed-by: Cathy Luo <cluo@xxxxxxxxxxx> Reviewed-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Reviewed-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ea44f4d04c9356dc844af5312a376b6528cec7c5 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Mar 13 17:37:53 2015 +0530 mwifiex: enhance SD8897 MP aggregation limits SD8897 support buffers of 4K and 16 such ports can be accomodated. So basically 64K buffer size in single aggregation is supported. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 621599446daeaa80f65ca27190141bbc82dd95ec Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Mar 13 17:37:52 2015 +0530 mwifiex: rename alloc_rx_buf to alloc_dma_aligned_buf Rename this function to reflect its purpose correctly. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a9adbcb3355c31faf4274932f513f19225b61747 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Mar 13 17:37:51 2015 +0530 mwifiex: lock main process till reinitialization of vif is over A crash was detected while changing virtual interface type is in progress. This was tracked to race condition in accessing bss_priority table while change is in progress. This patch ensures that main_process and rx_process works are locked while we change virtual interface. Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a3fa71c40f1853d0c27e8f5bc01a722a705d9682 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Fri Mar 13 15:17:14 2015 +0800 wl18xx: show rx_frames_per_rates as an array as it really is In struct wl18xx_acx_rx_rate_stat, rx_frames_per_rates field is an array, not a number. This means WL18XX_DEBUGFS_FWSTATS_FILE can't be used to display this field in debugfs (it would display a pointer, not the actual data). Use WL18XX_DEBUGFS_FWSTATS_FILE_ARRAY instead. This bug has been found by adding a __printf attribute to wl1271_format_buffer. gcc complained about "format '%u' expects argument of type 'unsigned int', but argument 5 has type 'u32 *'". Fixes: c5d94169e818 ("wl18xx: use new fw stats structures") Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7daa54b747ddddf03737178f2473098a29d1b05c Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Thu Mar 12 15:35:46 2015 +0100 rt2x00usb: drop rt2x00usb_disable_radio() from rt2800usb_disable_radio() I have here FRITZ!WLAN USB Stick N v2 / idVendor=057c, idProduct=8501 and every single of this requests ends up with: |ieee80211 phy0: rt2x00usb_vendor_request: Error - Vendor Request 0x0c failed for offset 0x0000 with error -32 I was browsing the the vedor code and I haven't seen such request so I remove it with this patch. If I wasn't look enough or if this error is expected then please excuse :) Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 92d5e2456d39d8593bfb19429f2d83297836ad5c Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Thu Mar 12 15:35:45 2015 +0100 rt2x00usb: check USB's request error code in rt2800usb_autorun_detect() rt2800usb_autorun_detect() blindly assumes assumes that it worked while it could have failed. Check the error code here. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e4fcfaf802bf75e20c65a501edc5c159e812ebd3 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Thu Mar 12 15:35:44 2015 +0100 rt2x00usb: initialize the read value in case of failure My understanding ist that rt2x00usb_register_read() is void and so the reader is unaware of read errors and assumes that whatever was on the stack as it was about to read. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6e9344fd8e90ff0bd8e74c15ec7c21eae7d54bd3 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Thu Mar 12 00:38:40 2015 -0700 mwifiex: use del_timer variant in interrupt context We might be in interrupt context at few places. So replace del_timer_sync() with del_timer(). This patch fixes a kernel trace problem seen occasionally during our testing. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b533be189732e93c6d3306773b7120722568444d Author: Maithili Hinge <maithili@xxxxxxxxxxx> Date: Thu Mar 12 00:38:39 2015 -0700 mwifiex: Add support for auto ARP in mwifiex. This patch adds support for auto ARP feature in mwifiex. The device will respond to ARP requests from the network with ARP response in suspended state without waking up the host. This feature is enabled in the driver by default. Signed-off-by: Maithili Hinge <maithili@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2c11ab90067a8bb9d7dca3e65ace950fcd9c2f1b Author: Cathy Luo <cluo@xxxxxxxxxxx> Date: Thu Mar 12 01:29:31 2015 -0700 mwifiex: fix a bug in Rx multiport aggregation logic It's been observed Rx aggregated packets are always followed by a single Rx packet. This patch improves our logic to add that extra packet in next aggregation. Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8590ca655a19f9e124b52bfbf28f14eb16a05bec Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:34 2015 +0100 ARM: at91: remove useless include Both drivers using the system timer are now converted to an MFD. mach/at91_st.h is now useless. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0afb46b248eff66e619ac00ac96d2e986844575e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 11:54:37 2015 +0100 clocksource: atmel-st: remove mach/hardware dependency Remove the mach/hardware dependency to prepare the driver for multiplatform support. Also switch from setup_irq() to request_irq() Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit adf2edfd6003c401ae52a360e0e67abc7deeb952 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:32 2015 +0100 clocksource: atmel-st: use syscon/regmap The register range from the system timer is also used by the watchdog driver. Use a regmap to handle concurrent accesses. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit b53cdd03222391f76e82cd0c7d040816c919ab75 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:31 2015 +0100 ARM: at91: time: move the system timer driver to drivers/clocksource Import at91rm9200_time.c from mach-at91 as timer-atmel-st.c. Further cleanup is required to get rid of the mach-at91 headers. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit bbfc97e1b1b9fb2177a9134f57506eb371638b85 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:30 2015 +0100 ARM: at91: properly initialize timer Use clocksource_of_init to initialize the system timer instead of relying on a custom function. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d8d1c6c8b0bec79b42f9e85fbf449ba7dd77accd Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:29 2015 +0100 ARM: at91: at91rm9200: remove deprecated arm_pm_restart Now that a proper driver is available, remove at91rm9200_restart. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 9ab45f3fb2bebd048ffa2692e8f7cc89f3d379d4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:28 2015 +0100 watchdog: at91rm9200: implement restart handler Restarting the at91rm9200 is done through programming the watchdog and waiting for it to reset. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8432f9e5e82a13b82a76171c89b0858e855c9da5 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:27 2015 +0100 watchdog: at91rm9200: use the system timer syscon Use a syscon regmap to access the system timer registers. Also, rename the driver atmel_st_watchdog to stop conflicting with at91sam9_wdt.c Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 1aa15f4e00c9be2c7e4c3bd36886ed65d25cc075 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:26 2015 +0100 mfd: syscon: Add atmel system timer registers definition AT91RM920 has a memory range reserved for timer and watchdog configuration. Expose those registers so that drivers can make use of the system timer syscon declared in at91 DTs. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit b595809b9842aaa1d67f77c52281a32636d64359 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:25 2015 +0100 ARM: at91/dt: declare atmel,at91rm9200-st as a syscon The system timer register range is used to handle three different functionalities: Periodic Interval Timer, Real Time Timer and watchdog. Declare it as a syscon to be able to get a regmap. Also declare it as a simple-mfd and its watchdog subnode. Finally, document the watchdog compatible string. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 52f119ddea412af870fb84412c0f7832e85c7663 Author: Priit Laes <plaes@xxxxxxxxx> Date: Wed Mar 11 22:03:27 2015 +0200 rtlwifi: No need to export rtl_evm_dbm_jaguar anymore This function is used only by rtl8821ae so move it there Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 54fb66d6fe98c75d5cb0b0487f0e2b00cb412be7 Author: Priit Laes <plaes@xxxxxxxxx> Date: Wed Mar 11 22:03:25 2015 +0200 rtlwifi: Clean rtl_evm_db_to_percentage a bit Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 387f149a2ace2e2569fb8fde6011cce2a84e07b8 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Mar 10 17:49:31 2015 +0100 ath9k: allow 40MHz radar detection width Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 58766977ad12b90ca7d7fa4d9ffd2dfde1bcf469 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Mar 10 17:49:30 2015 +0100 ath9k: add DFS support for extension channel In HT40 modes, pulse events on primary and extension channel are processed individually. If valid, a pulse event will be fed into the detector * for primary frequency, or * for extension frequency (+/-20MHz based on HT40-mode) * or both With that, a 40MHz radar will result in two individual radar events. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8252a35ab4f6ee703977f527296dc42ee9486ce2 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Mar 10 17:49:29 2015 +0100 ath9k: restart only triggering DFS detector line To support HT40 DFS mode, a triggering detector must reset only itself but not other detector lines. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 40346a0327fed526baeea701a707b65ceeea71ed Author: Alex Dowad <alexinbeijing@xxxxxxxxx> Date: Mon Mar 16 16:38:47 2015 +0200 metag: copy_thread(): rename 'arg' argument to 'kthread_arg' The 'arg' argument to copy_thread() is only ever used when forking a new kernel thread. Hence, rename it to 'kthread_arg' for clarity. Signed-off-by: Alex Dowad <alexinbeijing@xxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> commit 9a836c0a6310e6e970ff63d030d7213c874ae7af Author: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Date: Sun Mar 15 17:38:47 2015 +0200 staging: unisys: print MAC address via %pM This patch converts code to use %pM specifier instead of placing each byte on stack. Signed-off-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdbceb4de3e383a9d434899ef5ba0fe1da6c2a31 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 12 15:46:29 2015 +0300 staging: unisys: fix some debugfs output When we removed the ERRDEV() macro we made a small mistake so now it doesn't print the "Virtual PCI devices" section header. Fixes: 0aca78449b58 ('staging: unisys: remove ERRDEV macros') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 549fb6e399bc3dfa60134c8ff6501414d423c052 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Mon Mar 9 23:06:55 2015 +0100 staging: unisys: fix checkpatch warnings This fixes "braces {} are not necessary for single statement blocks" in uislib. Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c42d979816a0bc1d87aaabc4089d857942ddfe2 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 16 19:34:11 2015 +0530 Staging: nvec: use !x instead of x == NULL Functions like devm_kzalloc, kmalloc_array, devm_ioremap, usb_alloc_urb, alloc_netdev return NULL as a return value on failure. Generally, When NULL represents failure, !x is commonly used. This patch cleans up the tests on the results of these functions, thereby using !x instead of x == NULL or NULL == x. This is done via following coccinelle script: @prob_7@ identifier x; statement S; @@ ( x = devm_kzalloc(...); | x = usb_alloc_urb(...); | x = kmalloc_array(...); | x = devm_ioremap(...); | x = alloc_netdev(...); ) ... - if(NULL == x) + if(!x) S Further we have used isomorphism characteristics of coccinelle to indicate x == NULL and NULL == x are equivalent. This is done via following iso script. Expression @ is_null @ expression X; @@ X == NULL <=> NULL == X Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e3f3bb8631600ffc5788a4e9476ea841feac964 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 16 19:34:09 2015 +0530 Staging: goldfish: use !x instead of x == NULL Functions like devm_kzalloc, kmalloc_array, devm_ioremap, usb_alloc_urb, alloc_netdev return NULL as a return value on failure. Generally, When NULL represents failure, !x is commonly used. This patch cleans up the tests on the results of these functions, thereby using !x instead of x == NULL or NULL == x. This is done via following coccinelle script: @prob_7@ identifier x; statement S; @@ ( x = devm_kzalloc(...); | x = usb_alloc_urb(...); | x = kmalloc_array(...); | x = devm_ioremap(...); | x = alloc_netdev(...); ) ... - if(NULL == x) + if(!x) S Further we have used isomorphism characteristics of coccinelle to indicate x == NULL and NULL == x are equivalent. This is done via following iso script. Expression @ is_null @ expression X; @@ X == NULL <=> NULL == X Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87e3dbc27c025b3168922c29b06775f8a8cfbce6 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 16 19:34:08 2015 +0530 Staging: gdm72xx: use !x instead of x == NULL Functions like devm_kzalloc, kmalloc_array, devm_ioremap, usb_alloc_urb, alloc_netdev return NULL as a return value on failure. Generally, When NULL represents failure, !x is commonly used. This patch cleans up the tests on the results of these functions, thereby using !x instead of x == NULL or NULL == x. This is done via following coccinelle script: @prob_7@ identifier x; statement S; @@ ( x = devm_kzalloc(...); | x = usb_alloc_urb(...); | x = kmalloc_array(...); | x = devm_ioremap(...); | x = alloc_netdev(...); ) ... - if(NULL == x) + if(!x) S Further we have used isomorphism characteristics of coccinelle to indicate x == NULL and NULL == x are equivalent. This is done via following iso script. Expression @ is_null @ expression X; @@ X == NULL <=> NULL == X Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d877fdbf3e76162c92e2e58e6993b133ee302fe Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 16 19:34:07 2015 +0530 staging: gdm724x: use !x instead of x == NULL Functions like devm_kzalloc, kmalloc_array, devm_ioremap, usb_alloc_urb, alloc_netdev return NULL as a return value on failure. Generally, When NULL represents failure, !x is commonly used. This patch cleans up the tests on the results of these functions, thereby using !x instead of x == NULL or NULL == x. This is done via following coccinelle script: @prob_7@ identifier x; statement S; @@ ( x = devm_kzalloc(...); | x = usb_alloc_urb(...); | x = kmalloc_array(...); | x = devm_ioremap(...); | x = alloc_netdev(...); ) ... - if(NULL == x) + if(!x) S Further we have used isomorphism characteristics of coccinelle to indicate x == NULL and NULL == x are equivalent. This is done via following iso script. Expression @ is_null @ expression X; @@ X == NULL <=> NULL == X Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93275c8068b42ba0622698abe10bc860d8744451 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 16 01:26:37 2015 +0300 Staging: emuxx_udc: replace pr_* with dev_* dev_* is prefered over pr_* when appropriate dev structure is present. This patch replace pr_info and pr_warn with its dev_ counterpart. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62fad137bb1fc1dd08352aba18e7e13d0d682ef3 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 26 11:04:44 2015 -0800 HID: hid-sensor-hub: Fix sparse warning Since I can't change the type of hid_set_field argument 3, using __force __s32 to remove this warning. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 964308a6b40bcea5f8a3c3af678c0a87a9b94907 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:51:17 2015 +0300 Staging: ft1000: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8126e17f89259dfb6bf8ba6a2303a62702099e37 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:46:57 2015 +0300 Staging: media: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acc4b97b3b0a09fc85a3b6a7b8acb14d4c0cf5a5 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:45:25 2015 +0300 Staging: rtl8723au: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e6eaa90413f75f200ccb3d592537373b19016dc Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 14 01:03:09 2015 +0530 Staging: gdm72xx: Iterate list using list_for_each_entry Code using doubly linked list is iterated generally using list_empty and list_entry functions, but it can be better written using list_for_each_entry macro. This patch replaces the while loop containing list_empty and list_entry with list_for_each_entry and list_for_each_entry_safe. list_for_each_entry is a macro which is used to iterate over a list of given type. So while loop used to iterate over a list can be replaced with list_for_each_entry macro. However, if list_del is used in the loop, then list_for_each_entry_safe is a better choice. This transformation is done by using the following coccinelle script. @ rule1 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry; @@ - while (list_empty(&E1) == 0) + list_for_each_entry (I1, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ...when != list_del(...); when != list_del_init(...); } @ rule2 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry_safe; @@ T *I1; + T *tmp; ... - while (list_empty(&E1) == 0) + list_for_each_entry_safe (I1, tmp, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ... } Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca3d253eb9676ffc1bbe616b485826f337c7a616 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 14 01:03:08 2015 +0530 Staging: emxx_udc: Iterate list using list_for_each_entry Code using doubly linked list is iterated generally using list_empty and list_entry functions, but it can be better written using list_for_each_entry macro. This patch replaces the while loop containing list_empty and list_entry with list_for_each_entry and list_for_each_entry_safe. list_for_each_entry is a macro which is used to iterate over a list of given type. So while loop used to iterate over a list can be replaced with list_for_each_entry macro. However, if list_del is used in the loop, then list_for_each_entry_safe is a better choice. This transformation is done by using the following coccinelle script. @ rule1 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry; @@ - while (list_empty(&E1) == 0) + list_for_each_entry (I1, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ...when != list_del(...); when != list_del_init(...); } @ rule2 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry_safe; @@ T *I1; + T *tmp; ... - while (list_empty(&E1) == 0) + list_for_each_entry_safe (I1, tmp, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ... } Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d19cb862948a2de32068b6775a4e0a14fa4d8ec9 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 14 01:03:07 2015 +0530 Staging: ft1000: Iterate list using list_for_each_entry Code using doubly linked list is iterated generally using list_empty and list_entry functions, but it can be better written using list_for_each_entry macro. This patch replaces the while loop containing list_empty and list_entry with list_for_each_entry and list_for_each_entry_safe. list_for_each_entry is a macro which is used to iterate over a list of given type. So while loop used to iterate over a list can be replaced with list_for_each_entry macro. However, if list_del is used in the loop, then list_for_each_entry_safe is a better choice. This transformation is done by using the following coccinelle script. @ rule1 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry; @@ - while (list_empty(&E1) == 0) + list_for_each_entry (I1, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ...when != list_del(...); when != list_del_init(...); } @ rule2 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry_safe; @@ T *I1; + T *tmp; ... - while (list_empty(&E1) == 0) + list_for_each_entry_safe (I1, tmp, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ... } Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68f4b7379651b107574a5151ee700a6b361920e2 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Fri Mar 13 22:53:11 2015 +0530 Staging: i2o: Move assignment out of if statement Checkpatch.pl suggest to avoid assignment in if statement. This patch moves assignments out of the if statement and place it before the if statement. This is done using following coccinelle script. @@ expression E1; identifier p; statement S; @@ - if ((p = E1)) + p = E1; + if (p) S Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb96483349e946f10d41c2a5674922e1d86603d9 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Feb 25 18:56:27 2015 -0800 HID: hid-sensor-hub: fix attribute read for logical usage id For defining enumeration values like report or power status events, the enumeration usage ids are enclosed in a logical collection. In this case we need to match logical usage id for pending read on this usage id. For example, in the below field, when read is requested for 0319, the report will contain one of the status usages like 850, 851 etc. In this case the raw event will not match 0319. So when logical collection matches, then wake up the pending thread. Physical(Sensor.OtherCustom) Logical(Sensor.0319) Application(Sensor.Sensor) Usage(6) Sensor.0850 Sensor.0851 Sensor.0852 Sensor.0853 Sensor.0854 Sensor.0855 Logical Minimum(1) Logical Maximum(5) Report Size(8) Report Count(1) Report Offset(24) Flags( Array Absolute ) Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit afbd19eea3f652b082b9b6718b351de58de86323 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Mar 13 10:06:24 2015 +0530 Staging: fbtft: Remove unnecessary print messages These print functions are called at the beginning of the function and do not indicate any abnormal condition. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 956ff8213b4abecb7ac9bb6330b99b2847ebd318 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Mar 12 17:29:35 2015 +0100 Staging: rtl8192u: Simplify if condition This patch removes macro true from if condition since variable priv->ieee80211->LinkDetectInfo.bBusyTraffic is already of type bool. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb7403756fb68e4509cfdde3e3d7ba0576e0abf0 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Mar 12 17:36:15 2015 +0530 Staging: rts5208: Use module_pci_driver Macro module_pci_driver is used for drivers whose init and exit paths does only register and unregister to pci API. So, here remove some boilerplate code by using module_pci_driver. Also, change driver to rtsx_driver, to avoid implicitly redefining driver_init. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cc8c56841f28a08c93a63d166530eef82f11073 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Mar 12 17:28:54 2015 +0530 Staging: ft1000: Use module_pcmcia_driver Macro module_pcmcia_driver is used for drivers whose init and exit paths does only register and unregister to pcmcia API. So, here remove some boilerplate code by using module_pcmcia_driver. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e719bba8559708e240164c69b39ed3ea86a7fa46 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Thu Mar 12 13:26:20 2015 +0900 staging: rtl8723au: remove intialization of static ints static ints are initialized to 0 by the compiler. Explicit initialization is not necessary. Found by checkpatch.pl - ERROR: do not initialise statics to 0 or NULL changes made using coccinelle script: @@ type T; identifier var; @@ static T var - =0 ; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5900adaee8cacb6a188ca9cd888a791585f71c4d Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Thu Mar 12 13:26:18 2015 +0900 staging: i2o: remove intialization of static ints static ints are initialized to 0 by the compiler. Explicit initialization is not necessary. Found by checkpatch.pl - ERROR: do not initialise statics to 0 or NULL changes made using coccinelle script: @@ type T; identifier var; @@ static T var - =0 ; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2049f1ea88fa07e5912c67c4c623bb342b4b02af Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 11 17:02:14 2015 +0530 Staging: dgap: Use setup_timer to combine initialization The function setup_timer combines the initialization of a timer with the initialization of the timer's function and data fields. So, this patch combines the multiline code for timer initialization using the function setup_timer. This issue is identified via coccinelle script. @@ expression E1, E2, E3; type T; @@ - init_timer(&E1); ... ( - E1.function = E2; ... - E1.data = (T)E3; + setup_timer(&E1, E2, (T)E3); | - E1.data = (T)E3; ... - E1.function = E2; + setup_timer(&E1, E2, (T)E3); | - E1.function = E2; + setup_timer(&E1, E2, 0); ) Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1088b38ff486653f8645e2dff74e2a1397f9e31 Author: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Date: Sun Feb 1 20:42:04 2015 +0100 HID: plantronics: fix Kconfig default This driver didn't exist until before v3.19. Why would suddenly everybody want to build it? Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dc6ed26dc32f2365647e9a156beafe3dcbde612e Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 16 19:34:10 2015 +0530 Staging: iio: use !x instead of x == NULL Functions like devm_kzalloc, kmalloc_array, devm_ioremap, usb_alloc_urb, alloc_netdev return NULL as a return value on failure. Generally, When NULL represents failure, !x is commonly used. This patch cleans up the tests on the results of these functions, thereby using !x instead of x == NULL or NULL == x. This is done via following coccinelle script: @prob_7@ identifier x; statement S; @@ ( x = devm_kzalloc(...); | x = usb_alloc_urb(...); | x = kmalloc_array(...); | x = devm_ioremap(...); | x = alloc_netdev(...); ) ... - if(NULL == x) + if(!x) S Further we have used isomorphism characteristics of coccinelle to indicate x == NULL and NULL == x are equivalent. This is done via following iso script. Expression @ is_null @ expression X; @@ X == NULL <=> NULL == X Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 212db303ed21df1bee5037362f3a1098b53b5e55 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:54:04 2015 +0200 Staging: iio: Use braces on all arms of if statement Add braces to improve consistency when using if statements. Found by checkpatch.pl: "CHECK: braces {} should be used on all arms of this statement". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01f62379a8e50a98e0c26fe7f6445e771685ce49 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:53:37 2015 +0200 Staging: iio: Alignment should match open parenthesis This patch arranges multiple-line parameters in accordance with the parameter above them to improve coding style. Found by checkpatch.pl Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9841ebccd039cd505876fcf9e6db9ee26e8c3189 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:51:29 2015 +0200 Staging: iio: Do not use multiple blank lines This patch removes unnecessary blank lines between functions. Found by checkpatch.pl: "CHECK: Please don't use multiple blank lines". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1d05b5f68cbe370b13a4432be5aa11ffc226dec Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:51:12 2015 +0200 Staging: iio: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro as it's extensively used by other function in this driver. This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6970791fd5683a893bc11bb4722b82d899013465 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:50:48 2015 +0200 Staging: iio: Remove explicit comparison to NULL This patch simplifies pointer comparison to NULL and makes code easier to read. Warning found by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56cc3b629b43c0a5a3d9cb5599e92a3146eff19e Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:50:23 2015 +0200 Staging: iio: Remove space after type cast This patch removes unnecessary space after type casts. Warning found by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f46e4f93f52b2bcc681cf8bc3ff84a22a2d356 Author: Jim Keir <jimkeir@xxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 09:14:03 2015 +0000 HID: pidff: support more than one concurrent effect The PID driver (usbhid/hid-pidff.c) does not set the effect ID when uploading an effect. The result is that the initial upload works but subsequent uploads to modify effect parameters are all directed at the last-created effect. The targeted effect ID must be passed back to the device when effect parameters are changed. This is done at the start of "pidff_set_condition_report", "pidff_set_periodic_report" etc. based on the value of "pidff->block_load[PID_EFFECT_ BLOCK_INDEX].value[0]". This value is only ever set during pidff_request_effect_upload. The result is stored in "pidff->pid_id[effect->id]" at the end of pid_upload_effect, for later use. However, if an effect is modified and re-sent then this identifier is not being copied back from pidff->pid_id[effect->id] before sending the command to the device. The fix is to do this at the start of pidff_upload_effect. Signed-off-by: Jim Keir <jimkeir@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit da29461ccdf811b27a1cf53483ec2457fb4a6ae7 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 12 19:10:31 2015 +0200 Staging: iio: Simplify return logic This patch removes the conditional return of the ade77*_probe functions based on the return values of iio_device_register as the latter returns 0 or ret, the same as the checked values. Warning found by coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f026eb6e031f704fad991fdeb76c40d7c4a301bd Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Mar 12 19:47:19 2015 +0100 drm: atmel-hlcdc: use appropriate enabled flag in suspend/resume Unfortunately we used the enabled flag in struct drm_crtc instead of the enabled flag in struct atmel_hlcdc_crtc. This obviously leads to discrepancies on crtc enable state. This patch fixes the issue by using the struct atmel_hlcdc_crtc enabled flag in PM support. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 5db4851d47ea80ad78d85f201e13df9ea48ab67b Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:47:22 2015 +0300 Staging: iio: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fe9092d6a22fcb57b5e97d85e3fbe6a00a04b13 Author: Taiane Coelho Ramos <exhora.tat@xxxxxxxxx> Date: Fri Mar 13 16:22:44 2015 -0300 Staging: iio: ade7758: Remove braces on a single statement if This patch fixes the checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Taiane Coelho Ramos <exhora.tat@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adb3d770d20b6ce6ed985a89d6b6953e320093b1 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 19:55:55 2015 +0300 Staging: rtl8188eu: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1cc3112b22715f91a07680ea315fd92521a5c2e Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Fri Mar 13 16:58:40 2015 +0900 staging: rtl8188eu: remove break after return Remove "break" statement after a "return" statement as it does not get executed. Found by checkpatch.pl - break is not useful after a goto or return Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37e080787925a972b1eb866d2cd2d75badfb7a24 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Thu Mar 12 13:26:19 2015 +0900 staging: rtl8188eu: remove intialization of static ints static ints are initialized to 0 by the compiler. Explicit initialization is not necessary. Found by checkpatch.pl - ERROR: do not initialise statics to 0 or NULL changes made using coccinelle script: @@ type T; identifier var; @@ static T var - =0 ; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28af7ea81e161eadb48051ec0e280666e925ccd8 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 11 11:41:24 2015 +0530 Staging: rtl8188eu: Eliminate use of _init_timer This patch introduces the use of API function setup_timer instead of driver specific function init_timer as it is the preferred and standard way to set and setup the timer. To be compatible with the changes, argument types of referenced functions are changed. Also, definition of function _init_timer is removed as it is no longer needed after this change. Here, these cases are handled using Coccinelle and semantic patch used for this is as follows: @@ expression x, y; identifier a, b;@@ - _init_timer (&x, y, a, b); + setup_timer (&x, a, (unsigned long)b); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d4efe3e95805982b1d8f3f54203c67ba6687338 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 11 11:41:07 2015 +0530 Staging: rtl8188eu: Eliminate use of _set_timer This patch introduces the use of API function mod_timer instead of driver specific function _set_timer as it is a more efficient and standard way to update the expire field of an active timer. Also, definition of function _set_timer is removed as it is no longer needed after this change. Here, these cases are handled using Coccinelle and semantic patch used for this is as follows: @@ expression x; expression y;@@ - _set_timer (&x, y); + mod_timer (&x, jiffies + msecs_to_jiffies (y)); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7b1269db01bc8c795c19381b69d7524bb31ef99 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Mon Mar 9 15:43:25 2015 +0200 drivers: staging: rtl8188eu: core: rtw_security: Fix misspelled word This patch fixes the checkpatch.pl warning: WARNING: 'halfs' may be misspelled - perhaps 'halves'? Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 789fd7adf55714cba7d192c84377e6e1feaa23d0 Author: Mike Krinkin <krinkin.m.u@xxxxxxxxx> Date: Sun Mar 8 20:14:07 2015 +0300 staging: rtl8188eu: use %pM specifier instead of passing direct values The patch converts code to use %pM specifier instead of pushing each byte via stack. Signed-off-by: Mike Krinkin <krinkin.m.u@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99d422341376443a98ef22d0f0003b3381f32186 Author: Songjun Wu <songjun.wu@xxxxxxxxx> Date: Thu Mar 12 10:17:11 2015 +0800 ASoC: wm8731: let codec to manage clock by itself Enable WM8731 to support common clock framework. Signed-off-by: Songjun Wu <songjun.wu@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44acc6b524d77c86ccfc18fb036dfb2b70a905c0 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Mar 13 21:19:24 2015 +0200 Staging: rtl8192e: Bool tests don't need comparisons This patch removes comparisons to true/false values on bool variables. Warning found by coccinelle: "WARNING: Comparison to bool". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26049b11cb4dbe92243c9db5fd35ce7711d9b6bc Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Fri Mar 13 16:58:41 2015 +0900 staging: rtl8192e: remove break after return Remove "break" statement after a "return" statement as it does not get executed. Found by checkpatch.pl - break is not useful after a goto or return Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e623d0f3f92960a826ae30dc861165f21752cdc8 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 12 04:22:38 2015 +0200 Staging: rtl8192e: Remove unnecessary variables This patch removes unnecessary intermediary variables in return lines and uses actual values. Found by coccinelle using this semantic patch: @@ type T; expression expr; identifier r; @@ -T r = expr; ... when != r when strict -return r; +return expr; Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7af05e73cd204efad74fc9c48e5a1b1484d76f68 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Feb 20 17:33:33 2015 +0100 HID: Stop hiding options with !EXPERT Many HID driver options are hidden unless EXPERT is set. While I understand the idea of simplifying the kernel configuration for most users, in practice I believe it adds more confusion than it helps. One thing that worries me is that, in non-EXPERT mode, these drivers will be either built-in or modular based on apparent magic. For example, switching INPUT and HID from m to y will cause all these drivers to be built into the kernel when they were previously built as modules. Short of enabling EXPERT mode altogether, the user has no control over that. Generally I do not think tristate options should depend on !EXPERT. Of these, 11 of 15 are currently in the hid subsystem. The HID_LOGITECH option is even worse than the others. Sub-options depend on it, and this causes menuconfig and friends to display the option even though the user can't change its value. The help page for HID_LOGITECH will not explain why the value can't be changed. It only says, for example: Depends on: INPUT [=y] && HID [=y] and that leaves the user puzzled about why the option is forced to y. You might argue that this is a Kconfig bug, but that doesn't make it less annoying for the user. Even worse is that some of the sub-options of HID_LOGITECH select INPUT_FF_MEMLESS, which in turn gets out of control for the user. So, if you set INPUT=y and HID=y (something most general purpose distributions would do these days, as both modules would get loaded on a vast majority of systems otherwise), and you want support for force-feedback game controllers, you can't have that as a module, it has to be built-in, regardless of how rare these devices are. Of course, all this madness goes away once EXPERT is enabled, but then the rest of the kernel configuration becomes more complex, which totally voids the original point. For this reason, I would like all HID device tristate options to be displayed regardless of EXPERT being set or not. We can let the default settings still depend on EXPERT, that's not intrusive. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8b9733c1ad884548ba6417fee239e54693719f41 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 11 13:51:36 2015 +0530 Staging: rtl8192e: Eliminate use of MSECS macro Use msecs_to_jiffies instead of driver specific macro MSECS. This is done using Coccinelle and semantic patch used for this is as follows: @@expression t;@@ - MSECS(t) + msecs_to_jiffies(t) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 453ce99c26923a51740c0a4e19a75c4641b17a10 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Mar 11 03:06:30 2015 +0200 Staging: rtl8192e: Remove unnecessary macro This patch removes the RTLLIB_PRINT_STR macro definition because it's only defined in the header and it's never referenced. It also removes PRINTABLE and MAX_STR_LEN, which were defined as helpers for the first one. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d40b62babcaea44a5f4fc3ab44f495c9dde8eee2 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 15:14:58 2015 +0530 staging: rtl8192e: remove unused functions removed some functions which were not being used anywhere. build tested and also verified by git grep that there is no other reference to these functions. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f883c4ca5e6948de4fd461ca4a4fbb15aff8bbff Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Sun Mar 15 12:42:52 2015 +0900 staging: rtl8192u: remove return from end of void function This patch removes the return statement at the end of a void function as it is not necessary. found by checkpatch.pl: WARNING: void function return statements are not generally useful changes made using coccinelle script: @@ @@ ... when != if (...) return; when != if (...) { ... return;} -return; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2060f31ae58ea5510c432fed8a32bdef33ac4cd7 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:50:52 2015 +0300 Staging: rtl8192u: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0886f7303310525f032debdff85877356c9a7ab Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Mar 13 21:21:31 2015 +0200 Staging: rtl8192u: Bool tests don't need comparisons This patch removes explicit true/false comparations to bool variables. Warning found by coccinelle: "WARNING: Comparison to bool" Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a7089dbd1e8a9bec3d39efcb11c2eda6d5a95c0 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Fri Mar 13 16:58:42 2015 +0900 staging: rtl8192u: remove break after return Remove "break" statement after a "return" statement as it does not get executed. Found by checkpatch.pl - break is not useful after a goto or return Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d064f3b03cc1670359e59ff8d24c4719f50c3b63 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 12 04:30:04 2015 +0200 Staging: rtl8192u: Remove unnecessary struct and typedef This patch removes the _bss_ht struct and the associated type definition because it is not used and it also introduces the warning: "WARNING: do not add new typedefs". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c14378eca6f2f66438799e76845c3f2bbdafb57 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 12 04:21:29 2015 +0200 Staging: rtl8192u: Remove unnecessary variable This patch detects the cases in which a variable is not modified through the code and it is used as a return value. The variable is detected and removed by coccinelle using the following semantic patch: @@ type T; expression expr; identifier r; constant c; @@ -T r = expr; ... when != r when strict -return r; +return expr; Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acc6539fe6293373ded751162e77c10f532336c6 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 11 17:02:16 2015 +0530 Staging: rtl8192u: Combine initialization using setup_timer The function setup_timer combines the initialization of a timer with the initialization of the timer's function and data fields. So, this patch combines the multiline code for timer initialization using the function setup_timer. This issue is identified via coccinelle script. @@ expression E1, E2, E3; type T; @@ - init_timer(&E1); ... ( - E1.function = E2; ... - E1.data = (T)E3; + setup_timer(&E1, E2, (T)E3); | - E1.data = (T)E3; ... - E1.function = E2; + setup_timer(&E1, E2, (T)E3); | - E1.function = E2; + setup_timer(&E1, E2, 0); ) Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3bb45456bcea2c5239836e457685b6f5ac554b1 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Mar 11 02:51:35 2015 +0200 Staging: rtl8192u: Review phrase and fix spelling errors This patch removes some serious spelling errors and adds small improvements to the phrases in order to make them easier to understand. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8236589b7c1d78068661dd9e0e052f8897b45d41 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Fri Mar 6 16:18:31 2015 +0200 Staging: rtl8192u: Fix do not use // c99 comments. This patch fixes checkpatch.pl issues with "do not use // C99 comments" errors in ieee80211_rx.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 278edfc07875779a69277f6c5773ec9318a994ee Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Wed Mar 11 13:52:00 2015 +0000 xen-pciback: also support disabling of bus-mastering and memory-write-invalidate It's not clear to me why only the enabling operation got handled so far. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit ca67dfefd852c5fba5aac232e20a0e52bfadf693 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Fri Mar 6 16:08:10 2015 +0200 Staging: rtl8192u: Added #include <linux/uaccess.h> instead of <asm/uaccess.h> The following patch fixes the checkpatch.pl warning: WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6465144c3d19ca1c2f5fb1dd12d0a6496254c85c Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Mar 6 18:52:28 2015 +0530 Staging: rtl8192u: Convert use of __constant_<foo> to <foo> Using functions of the form __constant_<foo> isn't preferred outside of include/uapi/ as using the function without __constant_ is identical when the argument is a constant. So, this patch replaces __constant_htons with htons. This is done using Coccinelle and semantic patch used for this is as follows: @@identifier x;@@ ( - __constant_htons(x) + htons(x) | - __constant_htonl(x) + htonl(x) | - __constant_ntohs(x) + htons(x) | - __constant_ntohl(x) + htonl(x) ) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1524b745406a85ba201cb25df72110c1ccac0f72 Merge: fba9e07 126a6a5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 16 15:49:30 2015 +0100 Merge branch 'nohz/guest' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/nohz Pull full dynticks support for virt guests from Frederic Weisbecker: "Some measurements showed that disabling the tick on the host while the guest is running can be interesting on some workloads. Indeed the host tick is irrelevant while a vcpu runs, it consumes CPU time and cache footprint for no good reasons. Full dynticks already works in every context, but RCU prevents it to be effective outside userspace, because the CPU needs to take part of RCU grace period completion as long as RCU may be used on it, which is the case in kernel context. However guest is similar to userspace and idle in that we know RCU is unused on such context. Therefore a CPU in guest/userspace/idle context can let other CPUs report its own RCU quiescent state on its behalf and shut down the tick safely, provided it isn't needed for other reasons than RCU. This is called RCU extended quiescent state. This was already implemented for idle and userspace. This patchset now brings it for guest contexts through the following steps: - Generalize the context tracking APIs to also track guest state - Rename/sanitize a few CPP symbols accordingly - Report guest entry/exit to RCU and define this context area as an RCU extended quiescent state." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 85617dc7ee1caa68a8d078b5dd4328d0ef373282 Author: Juergen Gross <jgross@xxxxxxxx> Date: Tue Feb 17 08:02:49 2015 +0100 xen: support suspend/resume in pvscsi frontend Up to now the pvscsi frontend hasn't supported domain suspend and resume. When a domain with an assigned pvscsi device was suspended and resumed again, it was not able to use the device any more: trying to do so resulted in hanging processes. Support suspend and resume of pvscsi devices. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 169e6cf0666fdbc67ea39220143fd6e38875b96e Author: Juergen Gross <jgross@xxxxxxxx> Date: Tue Feb 17 08:02:48 2015 +0100 xen: scsiback: add LUN of restored domain When a xen domain is being restored the LUN state of a pvscsi device is "Connected" and not "Initialising" as in case of attaching a new pvscsi LUN. This must be taken into account when adding a new pvscsi device for a domain as otherwise the pvscsi LUN won't be connected to the SCSI target associated with it. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 785748788bafb1f286a73195c2c43ad3cda5234d Author: Tao Chen <boby.chen@xxxxxxxxxx> Date: Tue Mar 10 20:49:18 2015 +0000 xen-scsiback: define a pr_fmt macro with xen-pvscsi Add the {xen-pvscsi: } prefix in pr_fmt and remove DPRINTK, then replace all DPRINTK with pr_debug. Also fixed up some comments just as eliminate redundant whitespace and format the code. These will make the code easier to read. Signed-off-by: Tao Chen <boby.chen@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit ebfe79a7c85c171def09ff86f6fdea254a51d6c9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 5 14:24:17 2015 +0300 xen/mce: fix up xen_late_init_mcelog() error handling Static checkers complain about the missing call to misc_deregister() if bind_virq_for_mce() fails. Also I reversed the tests so that we do error handling instead of success handling. That way we just have a series of function calls instead of the more complicated nested if statements in the original code. Let's preserve the error codes as well. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4e8c0c8c4bf3a5b5c98046e146ab3884bf7a7d0e Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Mar 11 14:49:57 2015 +0000 xen/privcmd: improve performance of MMAPBATCH_V2 Make the IOCTL_PRIVCMD_MMAPBATCH_V2 (and older V1 version) map multiple frames at a time rather than one at a time, despite the pages being non-consecutive GFNs. xen_remap_foreign_mfn_array() is added which maps an array of GFNs (instead of a consecutive range of GFNs). Since per-frame errors are returned in an array, privcmd must set the MMAPBATCH_V1 error bits as part of the "report errors" phase, after all the frames are mapped. Migrate times are significantly improved (when using a PV toolstack domain). For example, for an idle 12 GiB PV guest: Before After real 0m38.179s 0m26.868s user 0m15.096s 0m13.652s sys 0m28.988s 0m18.732s Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 628c28eefd6f2cef03b212081b466ae43fd093a3 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Mar 11 14:49:56 2015 +0000 xen: unify foreign GFN map/unmap for auto-xlated physmap guests Auto-translated physmap guests (arm, arm64 and x86 PVHVM/PVH) map and unmap foreign GFNs using the same method (updating the physmap). Unify the two arm and x86 implementations into one commont one. Note that on arm and arm64, the correct error code will be returned (instead of always -EFAULT) and map/unmap failure warnings are no longer printed. These changes are required if the foreign domain is paging (-ENOENT failures are expected and must be propagated up to the caller). Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit b3b06c7eb7820cea5c15f9faa4964044284c5399 Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Tue Mar 3 16:12:12 2015 -0500 x86/xen/apic: WARN with details. We should not be writting to the APIC registers under Xen PV. But if we do instead of just giving an blanket warning - include some details to help troubleshoot. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit feb44f1f7a4ac299d1ab1c3606860e70b9b89d69 Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Mon Mar 2 12:06:23 2015 -0500 x86/xen: Provide a "Xen PV" APIC driver to support >255 VCPUs Instead of mangling the default APIC driver, provide a Xen PV guest specific one that explicitly provides appropriate methods. This allows use to report that all APIC IDs are valid, allowing dom0 to boot with more than 255 VCPUs. Since the probe order of APIC drivers is link dependent, we add in an late probe function to change to the Xen PV if it hadn't been done during bootup. Suggested-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reported-by: Cathy Avery <cathy.avery@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 74beaf6270f5b08159f1df8208322a24bb2905e6 Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Fri Feb 27 16:11:06 2015 -0500 xen/pciback: Don't print scary messages when unsupported by hypervisor. We print at the warninig level messages such as: pciback 0000:90:00.5: MSI-X preparation failed (-38) which is due to the hypervisor not supporting this sub-hypercall (which was added in Xen 4.3). Instead of having scary messages all the time - only have it when the hypercall is actually supported. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 526abeaed4971def462f209632b88fd7b8c4a09c Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Jan 21 08:49:25 2015 +0100 xen: use generated hypercall symbols in arch/x86/xen/xen-head.S Instead of manually list each hypercall in arch/x86/xen/xen-head.S use the auto generated symbol list. This also corrects the wrong address of xen_hypercall_mca which was located 32 bytes higher than it should. Symbol addresses have been verified to match the correct ones via objdump output. Based-on-patch-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit fc903f87364d1b00890fa991a6f116e2bb38ec1e Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Jan 21 08:49:24 2015 +0100 xen: use generated hypervisor symbols in arch/x86/xen/trace.c Instead of manually list all hypervisor calls in arch/x86/xen/trace.c use the auto generated list. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 16b12d605795e775cd80b5901c85dd2e320a6ec2 Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Jan 21 08:49:23 2015 +0100 xen: synchronize include/xen/interface/xen.h with xen The header include/xen/interface/xen.h doesn't contain all definitions from Xen's version of that header. Update it accordingly. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 9b4ade226f7468bb26f98b6cd01cb5b8a05fc96d Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Jan 21 08:49:22 2015 +0100 xen: build infrastructure for generating hypercall depending symbols Today there are several places in the kernel which build tables containing one entry for each possible Xen hypercall. Create an infrastructure to be able to generate these tables at build time. Based-on-patch-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit b6a473a7e1d4f81fc3e355c95982820bb8eae97d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 5 21:38:59 2015 +0100 xen: balloon: Use static attribute groups for sysfs entries Instead of manual calls of device_create_file(), device_remove_file() and sysfs_create_group(), assign static attribute groups to the device to register. This simplifies the code and avoids possible races. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4644e5ab06dda96f7080569992202e1aec8d3b07 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 5 21:38:58 2015 +0100 xen: pcpu: Use static attribute groups for sysfs entry Instead of manual calls of device_create_file() and device_remove_file(), assign the static attribute groups to the device to register. The conditional build of sysfs is done in is_visible callback instead. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 58662d9f1ea9de4ef98348f556d676eeaaf6be49 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Fri Mar 6 14:14:58 2015 +0200 Staging: rtl8712: Replace __constant_cpu_to_le16 This fixes the following checkpatch.pl warning: WARNING: __constant_cpu_to_le16 should be cpu_to_le16 Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66faa441a6f5753dd3e7add3e1640819ba9ec1c2 Author: Matteo Semenzato <mattew8898@xxxxxxxxx> Date: Wed Mar 11 14:31:14 2015 +0100 Staging: rtl8712: fix potential null pointer dereference Check if kmalloc succeded before using the pointer in memcpy. Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 819ef638151f89199c6c3ce42418f40be90ff23a Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Thu Mar 12 01:08:32 2015 +0300 Staging: rtl8712: remove else after return statement else after return generally is not useful. This patch removes else after return statement. Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee20fe2386e4390285cfbd52b9a67596d1f1e894 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Sun Mar 15 14:26:27 2015 -0400 HID: uclogic: make input_mapping independent of usb No need to retrieve the USB handle in input_mapping() when we already do that in probe. It also allows to use the quirk without having to add the product ID matching. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 382d020f4459cd77237c5463098935fd64afdab3 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Mar 6 16:23:51 2015 +0530 Staging: rtl8712: Eliminate use of _cancel_timer Use timer API function del_timer_sync instead of driver specific function _cancel_timer as besides deactivating a timer, it also ensures that the timer is stopped on all CPUs before the driver exists. Also, variables timer_cancelled and bool are removed as they are no longer needed. @a@ expression x; identifier y; @@ - _cancel_timer (&x, &y); + del_timer_sync (&x); @@type T; identifier a.y;@@ - T y; ...when != y Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6501c8e7d86cca5fab74f873810cbc573273d1b4 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Mar 6 16:23:35 2015 +0530 Staging: rtl8712: Eliminate use of _cancel_timer_ex Use timer API function del_timer_sync instead of driver specific function _cancel_timer_ex as besides deactivating a timer, it ensures that the timer is stopped on all CPUs before the driver exists. Also, definition of function _cancel_timer_ex is removed as it is no longer needed after this change. This is done using Coccinelle and semantic patch used for this is as follows: @@ expression x; @@ - _cancel_timer_ex (&x); + del_timer_sync (&x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffe971ef40ca147ab0443ea12ed4fc552bb28498 Merge: eff506f 46dd8a8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Mar 16 15:36:44 2015 +0100 Merge tag 'renesas-da9063-da9210-quirk-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC da9063/da9210 Regulator Quirk for v4.1" from Simon Horman: The r8a7790/lager and r8a7791/koelsch development boards have da9063 and da9210 regulators. Both regulators have their interrupt request lines tied to the same interrupt pin (IRQ2) on the SoC. After cold boot or da9063-induced restart, both the da9063 and da9210 seem to assert their interrupt request lines. Hence as soon as one driver requests this irq, it gets stuck in an interrupt storm, as it only manages to deassert its own interrupt request line, and the other driver hasn't installed an interrupt handler yet. To handle this, install a quirk that masks the interrupts in both the da9063 and da9210. This quirk has to run after the i2c master driver has been initialized, but before the i2c slave drivers are initialized. As it depends on i2c, select I2C if one of the affected platforms is enabled in the kernel config. * tag 'renesas-da9063-da9210-quirk-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: lager: Add da9063 PMIC device node for system restart ARM: shmobile: lager dts: Add da9210 regulator interrupt ARM: shmobile: koelsch: Add da9063 PMIC device node for system restart ARM: shmobile: koelsch dts: Add da9210 regulator interrupt ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator quirk commit 2effbad526869faa7fd61136819a548e0d1966f1 Merge: 841990b cd590b5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Mar 16 15:35:25 2015 +0100 Merge tag 'arm-soc/for-4.1/devicetree-part-2' of http://github.com/broadcom/stblinux into next/dt Pull "This pull request contains the following changes from Ray for Cygnus SoCs: from Florian Fainelli: - enable IOMUX, required for pinmux/pinctrl - enable GPIO, required for the GPIO driver - enable GPIO hook detection for BCM911360-based phone designs - enable PCIe controller for the bcm958300k designs * tag 'arm-soc/for-4.1/devicetree-part-2' of http://github.com/broadcom/stblinux: ARM: dts: enable PCIe support for Cygnus ARM: dts: cygnus: enable GPIO based hook detection ARM: dts: enable GPIO for Broadcom Cygnus ARM: dts: enable IOMUX for Broadcom Cygnus commit 841990b6b3e2cfc0b51a5efb4c2fed6693cfafee Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:12 2015 +0200 ARM: dts: Alpine platform devicetree This patch introduces devicetree for the Alpine platform, and for a development board based on the same platform. Signed-off-by: Barak Wasserstrom <barak@xxxxxxxxxxxxxxxxx> Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit eff506faec227e763d3cb45d3c4c456efe4823b7 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:25 2015 +0200 MAINTAINERS: add maintainer for Alpine Arm machine Add myself as a maintainer for arch/arm/mach-alpine/ Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 60f9e37ac6aa15c85a3bd92fb76669e66f554d6c Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:09 2015 +0200 ARM: dts: Alpine platform binding documentation This patch introduces documentation for alpine devicetree bindings. Signed-off-by: Barak Wasserstrom <barak@xxxxxxxxxxxxxxxxx> Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e9e06f2853dd86791e665b2aa3c8acb5b0007e07 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:06 2015 +0200 ARM: Alpine: smp support This patch introduces support for waking up secondary CPU cores on Alpine platform. Signed-off-by: Barak Wasserstrom <barak@xxxxxxxxxxxxxxxxx> Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 3c215e64eb00f1ea5c67de2141ba816cb3f3c682 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:04 2015 +0200 ARM: Alpine: early-debug print support Alpine platform includes UART8250 that can be used for early prints. Signed-off-by: Saeed Bishara <saeed@xxxxxxxxxxxxxxxxx> Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 445d9b3060545812632456e0bded8e86b580b783 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:00 2015 +0200 ARM: Alpine: Initial support for Alpine platform This patch introduces initial architecture and device-tree support. Signed-off-by: Saeed Bishara <saeed@xxxxxxxxxxxxxxxxx> Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 9fb71bc0d593dc9a547e6f4ded157e3ae37b2322 Merge: 63fb2e8 6e5e9c6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Mar 16 15:21:13 2015 +0100 Merge tag 'renesas-soc-cleanup2-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Second Round of Renesas ARM Based SoC Cleanup for v4.1" into next/cleanup: * Remove restart callback from r8a7740 SoC * Remove unnecessary check on always set CONFIG_COMMON_CLK from shared R-Car Gen2 SoC code * Remove stray closing parenthesis in SCIF debug description for R-Car Gen2 SoC * tag 'renesas-soc-cleanup2-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7740: Remove restart callback ARM: shmobile: R-Car Gen2: CONFIG_COMMON_CLK is always set ARM: shmobile: Remove stray closing parenthesis in debug description commit 2eb1eb02dda368fb224bf5a379d2448c742b71db Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Mar 13 01:45:49 2015 +0100 PNP / ACPI: Use ACPI_COMPANION_SET() during initialization pnpacpi_add_device() calls acpi_bind_one() on an already registered device, which is a mistake, but it can initialize the ACPI companion field of the struct device to be registered using ACPI_COMPANION_SET() instead, so make it do that. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 8a5de52afc5f9a20a356e49351292d098cc455b2 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Mon Mar 16 17:35:18 2015 +0800 ACPI / blacklist: Disable Vista compatibility for Sony VGN-SR19XN. Sony VGN-SR19XN laptop needs to disable windows vista compatibility, or else it freezes when plugging/unplugging the VGA connector. Link: https://bugzilla.kernel.org/show_bug.cgi?id=66771 Tested-by: Lionel Duriez <lionelduriez@xxxxxxxxxxx> Reviewed-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1a7b7ee72c218ce9bff274ade13b96ea03eed03d Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Fri Mar 13 18:43:49 2015 +0200 spi: Ensure that CS line is in non-active state after spi_setup() Some devices samples state of the chip select signal during power up and act differently based on this state, so SPI core should ensure that CS line is driven in non-active state after spi_setup(). Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a557a861ae44e1941452bc2d700f1be58c1325b Merge: 8f88f02 b2a0baf Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 16 14:48:20 2015 +0100 Merge branch 'topic/hda-unbind' into for-next commit 8f88f0256f2e8afd83177b3554992009acb98996 Merge: 34e72af 820cc6c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 16 14:48:16 2015 +0100 Merge branch 'topic/hda-bus' into for-next commit 34e72afe73c40d9974c1f230c3b62fc43f5c5b28 Merge: e79d74a cc26173 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 16 14:48:05 2015 +0100 Merge branch 'for-linus' into for-next commit e4bb9bcbfb7d67431dfd49860f62770a7f40193b Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 10:36:48 2015 +0100 netfilter: bridge: remove BRNF_STATE_BRIDGED flag Its not needed anymore since 2bf540b73ed5b ([NETFILTER]: bridge-netfilter: remove deferred hooks). Before this it was possible to have physoutdev set for locally generated packets -- this isn't the case anymore: BRNF_STATE_BRIDGED flag is set when we assign nf_bridge->physoutdev, so physoutdev != NULL means BRNF_STATE_BRIDGED is set. If physoutdev is NULL, then we are looking at locally-delivered and routed packet. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c055d5b03bb4cb69d349d787c9787c0383abd8b2 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 05:08:19 2015 +0100 netfilter: bridge: query conntrack about skb dnat ask conntrack instead of storing ipv4 address in nf_bridge_info->data. Ths avoids the need to use ->data during NF_PRE_ROUTING. Only two functions that need ->data remain. These will be addressed in followup patches. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c36aa0a1929a1f0f0b8c374276e49cc663e8f957 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Mar 16 14:39:57 2015 +0800 ASoC: rt5677: add API to select ASRC clock source This patch defines an API to select the clock source for specified filters. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa41181fe37530d78acb25b4e2c9c019241cbbf6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 15 12:15:24 2015 +0100 ASoC: nuc900: No need to track the dma buffer in the driver state struct The DMA buffer and address can be accessed through the snd_pcm_runtime. There is no need to manually track them in the driver's state struct. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6b5b042d4c675cb9d3446a1cdcaca98e715ba812 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 15 10:27:20 2015 +0100 ASoC: Make snd_soc_dapm_kcontrol_codec() inline snd_soc_dapm_kcontrol_codec() is a extremely simple function and inlining it typically results in less code than necessary for calling the non-inlined version of the function. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6a328885896ef087a28173792ea93f4dde9782ef Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 01:01:07 2015 -0700 ASoC: Allow for building QCOM drivers Allow for the Qualcomm Technologies ASoC drivers to build. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f380dd3f3cd77df3c5d297a635b635f72fb5a2b1 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 01:01:06 2015 -0700 ASoC: qcom: Add ability to build QCOM drivers Define the LPASS platform driver, the LPASS CPU DAI driver and the Storm machine driver configurations, and how to build them. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 79119c798649630b3191784a708b45cea4e31daf Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 01:01:05 2015 -0700 ASoC: qcom: Add Storm machine driver Add machine driver for the Storm board with the IPQ806X SOC connected to the MAX98357A DAC. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 81ddc01d56d773eed414b5c1a7f1dba1db35f538 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 01:01:04 2015 -0700 ASoC: qcom: Document Storm bindings Add documentation to the sound directory of the device-tree bindings for the soundcard of the Storm board. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8ebe148be9aa12641c62a3c99c65859bf95445fe Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 00:54:17 2015 -0700 ASoC: qcom: Modify test for DSP in LPASS driver As the representation of the DSP in the device tree has changed from a required subnode to an optional phandle, modify the test for DSP existence in the LPASS CPU DAI driver, accordingly. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 97a33ced310ab9bdb16699c2c64b28f29de0a23d Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 00:54:16 2015 -0700 ASoC: qcom: Change qcom,adsp in LPASS CPU bindings Change the representation of the audio DSP, in the LPASS CPU bindings description, from a required subnode to an optional phandle. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c42e9902f3f1e731a7b83397acdf402eeb3237ca Author: Ameen Ali <ameenali023@xxxxxxxxx> Date: Fri Mar 13 23:38:21 2015 +0200 crypto: sha1-mb - Syntax error fixing a syntax-error . Signed-off-by: Ameen Ali <AmeenAli023@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2ef4d5c43de945b7c78454eac63e5f4fe68f82fc Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Fri Mar 13 11:44:07 2015 +0100 crypto: algif_rng - zeroize buffer with random data Due to the change to RNGs to always return zero in success case, the RNG interface must zeroize the buffer with the length provided by the caller. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5986ac4fcb451160acdc8bf3a0b81ac9a72b3251 Author: James Hartley <james.hartley@xxxxxxxxxx> Date: Thu Mar 12 23:17:27 2015 +0000 Documentation: crypto: Add DT binding info for the img hw hash accelerator This adds the binding documentation for the Imagination Technologies hash accelerator that provides hardware acceleration for SHA1/SHA224/SHA256/MD5 hashes. This hardware will be present in the upcoming pistachio SoC. Signed-off-by: James Hartley <james.hartley@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d358f1abbf71ad4b10e843b589033e5d37142436 Author: James Hartley <james.hartley@xxxxxxxxxx> Date: Thu Mar 12 23:17:26 2015 +0000 crypto: img-hash - Add Imagination Technologies hw hash accelerator This adds support for the Imagination Technologies hash accelerator which provides hardware acceleration for SHA1 SHA224 SHA256 and MD5 hashes. Signed-off-by: James Hartley <james.hartley@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 73b3862127e71d8cc7677b07ccc5adff0c0179bd Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:07 2015 -0700 hwrng: iproc-rng200 - make use of devm_hwrng_register This allows us to get rid of driver's remove() method. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ef0a1b26499f61b2453dd0c454aedee687edf31c Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:06 2015 -0700 hwrng: iproc-rng200 - do not use static structure Instead of using static hwrng structure that is reused between binds/unbinds of the device let's embed it into driver's private structure that we allocate. This way we are guaranteed not to stumble onto something left from previous bind attempt. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9052b0dd45d7e44aa43af03f48d329a2530c70c4 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:05 2015 -0700 hwrng: msm - make use of devm_hwrng_register This allows us to get rid of remove() method. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1e6e38a916e2410e80cec5f2e3c075ffd967b027 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:04 2015 -0700 hwrng: exynos - make use of devm_hwrng_register This allows us to get rid of remove() method. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6229c16060fee9a015bf476f21e40c6f08609d6e Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:03 2015 -0700 hwrng: bcm63xx - make use of devm_hwrng_register This change converts bcm63xx-rng to use devm* API for managing all resources, which allows us to dispense with the rest of error handling path and remove() function. Also we combine hwern and driver-private data into a single allocation, use clk_prepare_enable() instead of "naked" clk_enable() and move clock enabling/disabling into hwrnd inti(0 and cleanup() methods so the clock stays off until rng is used. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4d9b519c9bcab5718053f8717dadad7b09b41f5e Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:02 2015 -0700 hwrng: add devm_* interfaces This change adds devm_hwrng_register and devm_hwrng_unregister which use can simplify error unwinding and unbinding code paths in device drivers. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f8e617f4582995f7c25ef25b4167213120ad122b Author: Mike Galbraith <bitbucket@xxxxxxxxx> Date: Sat Jan 18 17:14:44 2014 +0100 sched/idle/x86: Optimize unnecessary mwait_idle() resched IPIs To fully take advantage of MWAIT, apparently the CLFLUSH instruction needs another quirk on certain CPUs: proper barriers around it on certain machines. On a Q6600 SMP system, pipe-test scheduling performance, cross core, improves significantly: 3.8.13 487.2 KHz 1.000 3.13.0-master 415.5 KHz .852 3.13.0-master+ 415.2 KHz .852 + restore mwait_idle 3.13.0-master++ 488.5 KHz 1.002 + restore mwait_idle + IPI fix Since X86_BUG_CLFLUSH_MONITOR is already a quirk, don't create a separate quirk for the extra smp_mb()s. Signed-off-by: Mike Galbraith <bitbucket@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.10+ Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ian Malone <ibmalone@xxxxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1390061684.5566.4.camel@xxxxxxxxxxxxxxxxx [ Ported to recent kernel, added comments about the quirk. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b253149b843f89cd300cbdbea27ce1f847506f99 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Jan 15 00:37:34 2014 -0500 sched/idle/x86: Restore mwait_idle() to fix boot hangs, to improve power savings and to improve performance In Linux-3.9 we removed the mwait_idle() loop: 69fb3676df33 ("x86 idle: remove mwait_idle() and "idle=mwait" cmdline param") The reasoning was that modern machines should be sufficiently happy during the boot process using the default_idle() HALT loop, until cpuidle loads and either acpi_idle or intel_idle invoke the newer MWAIT-with-hints idle loop. But two machines reported problems: 1. Certain Core2-era machines support MWAIT-C1 and HALT only. MWAIT-C1 is preferred for optimal power and performance. But if they support just C1, cpuidle never loads and so they use the boot-time default idle loop forever. 2. Some laptops will boot-hang if HALT is used, but will boot successfully if MWAIT is used. This appears to be a hidden assumption in BIOS SMI, that is presumably valid on the proprietary OS where the BIOS was validated. https://bugzilla.kernel.org/show_bug.cgi?id=60770 So here we effectively revert the patch above, restoring the mwait_idle() loop. However, we don't bother restoring the idle=mwait cmdline parameter, since it appears to add no value. Maintainer notes: For 3.9, simply revert 69fb3676df for 3.10, patch -F3 applies, fuzz needed due to __cpuinit use in context For 3.11, 3.12, 3.13, this patch applies cleanly Tested-by: Mike Galbraith <bitbucket@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Acked-by: Mike Galbraith <bitbucket@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.9+ Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ian Malone <ibmalone@xxxxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/345254a551eb5a6a866e048d7ab570fd2193aca4.1389763084.git.len.brown@xxxxxxxxx [ Ported to recent kernels. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4899c054a90439477b24da8977db8d738376fe90 Author: Doug Goldstein <cardoe@xxxxxxxxxx> Date: Sun Mar 15 21:56:04 2015 -0500 USB: ftdi_sio: Added custom PID for Synapse Wireless product Synapse Wireless uses the FTDI VID with a custom PID of 0x9090 for their SNAP Stick 200 product. Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 7dca0548a21e5efa445b68a73554ef863e09c623 Merge: 1be440d c39fb53 Author: Jan Kara <jack@xxxxxxx> Date: Mon Mar 16 10:26:41 2015 +0100 Merge branch 'quota_interface' into for_next_testing commit 8e4e2ee5d80875177e03d57b807e0784f3d91e0e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:25 2015 -0700 Bluetooth: Use smp->local_pk + 32 instead of &smp->local_pk[32] Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 33d0c030717bd939dab467f95966d8a64187e5c1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:24 2015 -0700 Bluetooth: Use OOB key pair for LE SC pairing with OOB method The OOB public and secret key pair is different from the non-OOB pairing procedure. SO when OOB method is in use, then use this key pair instead of generating a new one. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 0821a2c5ab76d8ef81c1c2a8571a7ba4aa850976 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:23 2015 -0700 Bluetooth: Return LE SC confirm and random values for out-of-band data Then the local out-of-band data for LE SC pairing is requested via Read Local OOB Extended Data command, then fill in the values generated by the smp_generate_oob function. Every call of this command will overwrite previously generated values. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 60a27d653d972584e5e98ab3558c62c3d3bc547a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:22 2015 -0700 Bluetooth: Add function for generating LE SC out-of-band data This patch adds a smp_generate_oob function that allows to create local out-of-band data that can be used for pairing and also provides the confirmation and random value. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6e2dc6d1133f5f8bfd028ba7d1c3fb0b3fa717e9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:21 2015 -0700 Bluetooth: Add support for AES-CMAC hash for security manager device The security manager device will require the use of AES-CMAC hash for out-of-band data generation. This patch makes sure it is correctly set up and available. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f709bfcf6a292560ce187c33fd099ee495c0a404 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:20 2015 -0700 Bluetooth: Add constants for LE SC Confirmation and Random values The LE Secure Connections Confirmation Value and LE Secure Connections Random Value contants are required for the out-of-band data and so just define them. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 88a479d9507eb7a510a612705aa686c52d24b2ab Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:19 2015 -0700 Bluetooth: Create SMP device structure for local crypto context Every Bluetooth Low Energy controller requires a local crypto context to handle the resolvable private addresses. At the moment this is just a single crypto context, but for out-of-band data generation it will require an additional. To facility this, create a struct smp_dev that will hold all the extra information. This patch is just the refactoring in preparation for future changes. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f3b0bbb35dac575c571dadeace59bd23ce797d31 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Mar 12 08:53:25 2015 +0200 mac80211: refactor drop connection/unlock in CSA processing The schedule_work()/mutex unlocking code is duplicated many times, refactor that to a common place in the function. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 276812ec3e945493443e399921a07e9d6aa4d5b2 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:18 2015 -0700 Bluetooth: Use kzfree instead of kfree in security manager Within the security manager, it makes sense to use kzfree instead of kfree for all data structures. This ensures that no key material leaks by accident. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit dc5a1ad7bd830b7789ba2950342bdecfe4787945 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Mar 12 08:53:24 2015 +0200 mac80211: allow to get wireless_dev structure from ieee80211_vif This will allow mac80211 drivers to call cfg80211 APIs with the right handle. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit bfc6dc138ef01a65365834dcf251b95ace9969b7 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 14:48:31 2015 -0300 ARM: imx_v6_v7_defconfig: Enable Bluetooth support Enable Bluetooth over serial support. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 45ceeee81ecdd437f7ecac77ae79263486c755e8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Mar 16 09:08:20 2015 +0100 mac80211: add comment for rx_path_lock Add a comment explaining how the RX path lock is used. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4cc0dba95aacfcf235bcf2f8dee9cdd1568aacbf Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Mar 16 09:05:23 2015 +0100 mac80211: move netdev stats to common function Move the netdev stats accounting into the common function ieee80211_deliver_skb() that is called in both places. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7f664cf9e422105644818b180349e3b10a370de7 Author: Jeremy Kerr <jk@xxxxxxxxxx> Date: Wed Feb 11 12:55:44 2015 +0800 powerpc/boot: don't clobber r6 and r7 in epapr boot We use r6 and r7 for epapr boot, but the current pre-C init will clobber both of these. This change does a simple replacement, of r6 -> r12 and r7 -> r13, so that we hit platform init with these registers intact. Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8c06f0d910ca628b657dc964a7347e70070dc7d6 Author: Jeremy Kerr <jk@xxxxxxxxxx> Date: Wed Feb 11 12:55:44 2015 +0800 powerpc/boot: Fix stack corruption in epapr entry point Currently, a 64-bit little-endian zImage.epapr won't boot in epapr mode, as we never return from platform_init. Before entering C, we initialise our stack by setting r1 16 bytes below the end of the _bss_stack: stwu r0,-16(r1) /* establish a stack frame */ However, the called function will save the caller's lr in the caller's frame's lr save area, at -16(r1) to -32(r1). This means that writes to the fdt variable will corrupt the saved link register: 0000000020c06018 l O .bss 0000000000001000 _bss_stack 0000000020c07018 l O .bss 0000000000000008 fdt We'll need at least 32 bytes in the initial stack frame, to handle the LR save area. We bump this to 112 bytes, as that'll be the max required by ABIv1. Thanks to Alistair Popple for debugging help. Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 90d1d44e0de0ec833634667bc1827303b2e1645e Author: Jeremy Kerr <jk@xxxxxxxxxx> Date: Wed Feb 11 12:55:44 2015 +0800 powerpc/boot/wrapper: use the pseries wrapper for zImage.epapr We'll likely be entering the zImage.epapr as BE, so include the pseries implementation of _zimage_start, which adds the endian fixup magic. Although the endian fixup won't work on Book III-E machines starting LE, the current entry point doesn't support LE anyway, so we shouldn't be breaking anything. Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6c87b2202f5414be3acae9df2e1833e8b46c5688 Author: Jeremy Kerr <jk@xxxxxxxxxx> Date: Wed Feb 11 12:55:44 2015 +0800 powerpc/boot/fdt: Add little-endian support to libfdt wrappers For epapr-style boot, we may be little-endian. This change implements the proper conversion for fdt*_to_cpu and cpu_to_fdt*. We also need the full cpu_to_* and *_to_cpu macros for this. Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1680e4ba3d4f0ab12c387975584924f585fc77eb Author: Jeremy Kerr <jk@xxxxxxxxxx> Date: Wed Feb 11 12:55:44 2015 +0800 powerpc/boot/fdt: Use unsigned long for pointer casts Now that the wrapper supports 64-bit builds, we see warnings when attempting to cast pointers to int. Use unsigned long instead. Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5e86bfde9cd93f272844c3ff6ac5f93d3666b3e7 Author: Arseny Solokha <asolokha@xxxxxxxxxx> Date: Tue Feb 24 16:05:06 2015 +0700 powerpc/mpic: remove unused functions Drop unused fsl_mpic_primary_get_version(), mpic_set_clk_ratio(), mpic_set_serial_int(). + fsl_mpic_primary_get_version() is just a safe wrapper around fsl_mpic_get_version() for SMP configurations. While the latter is called explicitly for handling PIC initialization and setting up error interrupt vector depending on PIC hardware version, the former isn't used for anything. + As for mpic_set_clk_ratio() and mpic_set_serial_int(), they both are almost nine years old[1] but still have no chance to be called even from out-of-tree modules because they both are __init and of course aren't exported. [1] https://lists.ozlabs.org/pipermail/linuxppc-dev/2006-June/023867.html Signed-off-by: Arseny Solokha <asolokha@xxxxxxxxxx> Cc: hongtao.jia@xxxxxxxxxxxxx Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f98e7f2fe9d7ac5851cf8cc9933993a2b74566c1 Author: Arseny Solokha <asolokha@xxxxxxxxxx> Date: Tue Feb 24 16:05:05 2015 +0700 powerpc/qe: drop unused ucc_slow_poll_transmitter_now Drop ucc_slow_poll_transmitter_now() which has no users since its inception in 2007 in commit 986585385131 ("[POWERPC] Add QUICC Engine (QE) infrastructure"). Signed-off-by: Arseny Solokha <asolokha@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 170acae4c95eda2d3ed4300f494ecf70d3f1cec6 Author: Arseny Solokha <asolokha@xxxxxxxxxx> Date: Tue Feb 24 16:05:03 2015 +0700 powerpc/boot: drop planetcore_set_serial_speed Drop planetcore_set_serial_speed() which had no users since its inception in commit fec6047047fd ("[POWERPC] bootwrapper: Add PlanetCore firmware support") in 2007. Signed-off-by: Arseny Solokha <asolokha@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b887f9e324629125fd20ce29d6a768d280572118 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Feb 17 20:01:55 2015 +1100 powerpc/powernv: Remove unused definitions in opal-api.h This removes definitions in opal-api.h that are completely unused in Linux. For each of these I see three possibilities, 1) we *should* be using them in Linux and patches will arrive to do that, 2) they are not used but should stay in the header to document the API for some important reason, 3) they are not used and needn't be part of the API. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> commit d7cf83fcaf1b1668201eae4cdd6e6fe7a2448654 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Feb 17 20:01:54 2015 +1100 powerpc/powernv: Move opal-api.h closer to the Skiboot version This commit gets opal-api.h to mostly match the version in Skiboot as of commit ea7d806ab0ba. The exceptions are things which are not (currently) used in Linux. Most of this is just whitespace and a few things moving around. I think the diff is readable. Also OpalMessageType became opal_msg_type, requiring a change in the Linux code. Finally Skiboot and Linux disagree on CAPI vs CXL, because CAPI means something else in Linux. To handle that we just point the Linux wrapper, which is named "cxl" to the OPAL token OPAL_PCI_SET_PHB_CAPI_MODE. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> commit d800ba1218799efb07b3d11a84f38bf05a94daf5 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Feb 17 20:01:53 2015 +1100 powerpc/powernv: Move OPAL API definitions to opal-api.h We'd like to get to the stage where the OPAL API is defined in a header that is identical between Linux and Skiboot. As step one, split the bits that actually define the API into opal-api.h. The Linux specific parts stay in opal.h. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> commit 755457f992b7382298cda685b3ed1fea06d80fea Author: Michal Marek <mmarek@xxxxxxx> Date: Thu Oct 2 15:49:15 2014 +0200 powerpc/boot: Makefile cleanup The $(image-n) variable will never exist, because unset Kconfig options are '' and not 'n'. Signed-off-by: Michal Marek <mmarek@xxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7f4eec395351ef25166276ad9dc3390b83ab41b6 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 13:55:53 2015 +0100 powerpc: Delete unnecessary checks before kfree() The kfree() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7e73a3b7f34240871fa5556d952e801178970741 Author: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 16:25:29 2015 +1100 powerpc/powernv: only call OPAL_RESEND_DUMP if firmware supports it Not all OPAL platforms support resending system dumps, so check that current firmware supports it first. Otherwise we get firmware complaining: "OPAL: Called with bad token 91 !" Signed-off-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Acked-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fc81de63104e7603e6695225c2573f27aaeb4a28 Author: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 16:25:28 2015 +1100 powerpc/powernv: only call OPAL_ELOG_RESEND if firmware supports it Otherwise firmware complains: "OPAL: Called with bad token 74 !" as not all OPAL systems have the ability to resend error logs. Signed-off-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Acked-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b962f5a446d8cf4f313a2cef728e7e71b2f20811 Author: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 16:25:27 2015 +1100 powerpc/powernv: only register log if OPAL supports doing so Correct use of REGISTER/UNREGISTER is to check if the token exists before calling. If we don't we get a "OPAL: Called with bad token 101 !" error, which is harmless but may be alarming to some. Signed-off-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Acked-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit df99e6eb3f5279a211ee50b2321357c0d9ed8224 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Feb 10 09:51:23 2015 +1100 powerpc: Change vsrX register defines to vsX to match gcc and glibc As our various loops (copy, string, crypto etc) get more complicated, we want to share implementations between userspace (eg glibc) and the kernel. We also want to write userspace test harnesses to put in tools/testing/selftest. One gratuitous difference between userspace and the kernel is the VSX register definitions - the kernel uses vsrX whereas gcc uses vsX. Change the kernel to match userspace. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c2ce6f9f3dc00daca5714ef070a9a2d4e78eb336 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Feb 10 09:51:22 2015 +1100 powerpc: Change vrX register defines to vX to match gcc and glibc As our various loops (copy, string, crypto etc) get more complicated, we want to share implementations between userspace (eg glibc) and the kernel. We also want to write userspace test harnesses to put in tools/testing/selftest. One gratuitous difference between userspace and the kernel is the VMX register definitions - the kernel uses vrX whereas both gcc and glibc use vX. Change the kernel to match userspace. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1be440de2ac5181495a7295fa9a4c8ad0793f056 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Mar 15 10:54:23 2015 +0100 udf: use int for allocated blocks instead of sector_t Fix the following warnings: fs/udf/balloc.c:768:15: warning: conversion to 'sector_t' from 'int' may change the sign of the result [-Wsign-conversion] allocated = udf_bitmap_prealloc_blocks(sb, ^ fs/udf/balloc.c:773:15: warning: conversion to 'sector_t' from 'int' may change the sign of the result [-Wsign-conversion] allocated = udf_table_prealloc_blocks(sb, ^ fs/udf/balloc.c:778:15: warning: conversion to 'sector_t' from 'int' may change the sign of the result [-Wsign-conversion] allocated = udf_bitmap_prealloc_blocks(sb, ^ fs/udf/balloc.c:783:15: warning: conversion to 'sector_t' from 'int' may change the sign of the result [-Wsign-conversion] allocated = udf_table_prealloc_blocks(sb, ^ fs/udf/balloc.c:791:26: warning: conversion to 'loff_t' from 'sector_t' may change the sign of the result [-Wsign-conversion] inode_add_bytes(inode, allocated << sb->s_blocksize_bits); ^ fs/udf/balloc.c:792:2: warning: conversion to 'int' from 'sector_t' may alter its value [-Wconversion] return allocated; Suggested-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit c09396eb8e5a8df668174993c6400763022b2466 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sun Mar 15 08:07:04 2015 +0100 ath9k: disable TPC support again (for now) TPC support has been observed to cause some tx power fluctuations on some devices with at least AR934x and AR938x chips. Disable it for now until the bugs have been found and fixed Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1cf48f22c98ae24a49a3f1b6900e4c9a9a0fcc62 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Thu Mar 12 17:17:18 2015 +0100 ath9k: fix tracking of enabled AP beacons sc->nbcnvifs tracks assigned beacon slots, not enabled beacons. Therefore, it cannot be used to decide if cur_conf->enable_beacon (bool) should be updated, or if beacons have been enabled already. With the current code (depending on the order of calls), beacons often do not get enabled in an AP+STA setup. To fix tracking of enabled beacons, convert cur_conf->enable_beacon to a bitmask of enabled beacon slots. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1067219b27e29e925e7bdbb85b72c4c2bec0267e Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Wed Feb 4 13:10:31 2015 +0800 drm/rockchip: vop: power off until vop standby take effect Vop standby will take effect at end of current frame, if dsp_hold_valid_irq happen, it means vop standby complete. we must wait standby complete when we want to disable aclk, if not, memory bus maybe dead. Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 52ab7891fb8e45bda6015da8b5ac82ad600355e3 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Thu Jan 22 18:29:57 2015 +0800 drm/rockchip: vop: set vop enabled after enable iommu there is a Bug that: vop_enable()->drm_vblank_on, drm_vblank_on may call vop enable vblank. if it happen, vblank enable would failed, then cause irq status error. because is_enabled value is set after drm_vblank_on. after enable vop clocks and iommu regs, we can sure that R/W vop regs and do vop plane flip is safe, so place is_enabled = true after enable iommu is suitable. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 31e980c5a2d35ce411034b7fd842433542c1c60e Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Thu Jan 22 14:37:56 2015 +0800 drm/rockchip: vop use is_enabled instead of dpms mode drm dpms have many power modes: ON,OFF,SUSPEND,STANDBY, etc. but vop only have enable/disable mode, maybe case such bug: --> DRM_DPMS_ON: power on vop --> DRM_DPMS_SUSPEND: power off vop --> DRM_DPMS_OFF: already power off at SUSPEND, crash so use a bool val is more suitable. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 44ddb7ef38ae720849cf81e71c370e55071b05a7 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Thu Jan 22 11:15:02 2015 +0800 drm/rockchip: vop: fix vop vsync/hsync polarity Vop set wrong vsync/hsync polarity, it may cause some display problem. known problem is that caused HDMI hdcp authenticate failed, caused pixel offset with hdmi display. the polarity description at RK3288 TRM doc: dsp_vsync_pol VSYNC polarity 1'b0 : negative 1'b1 : positive dsp_hsync_pol HSYNC polarity 1'b0 : negative 1'b1 : positive Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Tested-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> commit aefedc1a4cfe4c874b8a7ac743f9deedc289d9e6 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Mar 15 17:08:19 2015 -0700 Bluetooth: Remove unneeded HCI_CONN_REMOTE_OOB connection flag The HCI_CONN_REMOTE_OOB connection flag is used to indicate if the pairing initiator has provided out-of-band data. However since that value is no longer used in any decision making, just remove it. It is actually unclear what purpose the OOB data present field from the HCI IO Capability Response event serves in the first place. If either side provided out-of-band data, then that data will be used for pairing. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 455c2ff0a558c04d53a2f5bb55d16093a7dee41d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Mar 15 16:42:53 2015 -0700 Bluetooth: Fix BR/EDR out-of-band pairing with only initiator data When only the pairing initiator is providing out-of-band data, then the receiver side was ignoring the data. For some reason the code was checking if the initiator has received out-of-band data and only then also provide the required inidication that the acceptor actually has the needed data available. For BR/EDR out-of-band pairing it is enough if one side has received out-of-band data. There are no extra checks needed here to make this work smoothly. The only thing that is needed is to tell the controller if data is present (and if it is P-192 or P-256 or both) and then let the controller actually figure out the rest. This means the check for outgoing connection or if the initiator has indicated data are completely pointless and are in fact actually causing harm. The check in question is this one: if (conn->out || test_bit(HCI_CONN_REMOTE_OOB, &conn->flags)) { After just taking the conditional check out and always executing the code for determining the type of out-of-band data, the pairing works flawlessly and prodcudes authenticated link keys. The patch itself looks more complicated due to the reformatting of the indentation, but it essentially just a two-line change. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d927c59076f505a056e78a9fc9744069aa052cc8 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sun Mar 15 13:49:47 2015 +0300 extcon: max77843: Fix signedness bug in max77843_muic_set_debounce_time() This patch fixes the variable type of 'ret' from 'unsigned int' to 'int' type because the return type of regmap_update_bits() is 'int' type. Fixes: 27a28d32b4f2 ('extcon: max77843: Add max77843 MUIC driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> [cw00.choi: Fix the patch description] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit f00bbd219caa7b3cc3a51b5ce551d1bd56f19662 Merge: 7993d44 812a1c3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 16 00:14:47 2015 -0400 Merge branch 'swdev_ops' Scott Feldman says: ==================== switchdev: add swdev ops v3: - Fix missing include for DSA build v2: - Per Simon's review, squash some of the dependent commits into one to make series git bisect safe. v1: Per discussions at netconf, move switchdev ndo ops to a new swdev_ops to keep ndo namespace clean and maintain switchdev-related ops into one place. There are no functional changes here; just shuffling ops around for better organization. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 812a1c3ff3ee9d5100e0e71edb06681014e84a9b Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sun Mar 15 21:07:16 2015 -0700 netdev: remove ndo ops for switchdev Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98237d433b98d27fdffb09e4a1a510e9f00c6f31 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sun Mar 15 21:07:15 2015 -0700 switchdev: use new swdev ops Move swdev wrappers over to new swdev ops (from previous ndo ops). No functional changes to the implementation. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> rocker: move to new swdev ops Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> dsa: move to new swdev ops Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4170604feec780d00e7511c24fa0f6e5c2e4ed75 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sun Mar 15 21:07:14 2015 -0700 switchdev: add swdev ops As discussed at netconf, introduce swdev_ops as first step to move switchdev ops from ndo to swdev. This will keep switchdev from cluttering up ndo ops space. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7993d44ea1f7b17dd17863ab139d2c9df17dfe51 Merge: 0034de4 565e864 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 15 22:22:17 2015 -0400 Merge branch 'rhashtable-fixes-next' Herbert Xu says: ==================== rhashtable: Fix two bugs caused by multiple rehash preparation While testing some new patches over the weekend I discovered a couple of bugs in the series that had just been merged. These two patches fix them: 1) A use-after-free in the walker that can cause crashes when walking during a rehash. 2) When a second rehash starts during a single rhashtable_remove call the remove may fail when it shouldn't. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 565e86404e4c40e03f602ef0d6d490328f28c493 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sun Mar 15 21:12:05 2015 +1100 rhashtable: Fix rhashtable_remove failures The commit 9d901bc05153bbf33b5da2cd6266865e531f0545 ("rhashtable: Free bucket tables asynchronously after rehash") causes gratuitous failures in rhashtable_remove. The reason is that it inadvertently introduced multiple rehashing from the perspective of readers. IOW it is now possible to see more than two tables during a single RCU critical section. Fortunately the other reader rhashtable_lookup already deals with this correctly thanks to c4db8848af6af92f90462258603be844baeab44d ("rhashtable: rhashtable: Move future_tbl into struct bucket_table") so only rhashtable_remove is broken by this change. This patch fixes this by looping over every table from the first one to the last or until we find the element that we were trying to delete. Incidentally the simple test for detecting rehashing to prevent starting another shrinking no longer works. Since it isn't needed anyway (the work queue and the mutex serves as a natural barrier to unnecessary rehashes) I've simply killed the test. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 963ecbd41a1026d99ec7537c050867428c397b89 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sun Mar 15 21:12:04 2015 +1100 rhashtable: Fix use-after-free in rhashtable_walk_stop The commit c4db8848af6af92f90462258603be844baeab44d ("rhashtable: Move future_tbl into struct bucket_table") introduced a use-after- free bug in rhashtable_walk_stop because it dereferences tbl after droping the RCU read lock. This patch fixes it by moving the RCU read unlock down to the bottom of rhashtable_walk_stop. In fact this was how I had it originally but it got dropped while rearranging patches because this one depended on the async freeing of bucket_table. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f76c83b580043d55b2899719da61fe000839812d Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Mon Jan 12 14:58:23 2015 +0800 drm/rockchip: Only alloc a kmap for fbdev gem object In general, the data in drm/rockchip GEM objects is never accessed by the kernel. The objects are either accessed by a GPU, by display controller DMA, or by mmap'ing them to user space. Thus, these buffers need not be mapped into kernel address space. The only exception is the fbdev framebuffer(s), which may be written in-kernel by fbcon. Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 0034de4193e4aad30bbbef4e74ca5e0631ba08a7 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Fri Mar 13 14:45:00 2015 -0700 net: bcmgenet: add support for Hardware Filter Block Add support for Hardware Filter Block (HFB) so that incoming Rx traffic can be matched and directed to desired Rx queues. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70006af955151042aa62958b92b53f4296030fe5 Merge: a498cfe 614cd3b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 15 22:02:35 2015 -0400 Merge branch 'ebpf_skb_fields' Alexei Starovoitov says: ==================== bpf: allow eBPF access skb fields V1->V2: - refactored field access converter into common helper convert_skb_access() used in both classic and extended BPF - added missing build_bug_on for field 'len' - added comment to uapi/linux/bpf.h as suggested by Daniel - dropped exposing 'ifindex' field for now classic BPF has a way to access skb fields, whereas extended BPF didn't. This patch introduces this ability. Classic BPF can access fields via negative SKF_AD_OFF offset. Positive bpf_ld_abs N is treated as load from packet, whereas bpf_ld_abs -0x1000 + N is treated as skb fields access. Many offsets were hard coded over years: SKF_AD_PROTOCOL, SKF_AD_PKTTYPE, etc. The problem with this approach was that for every new field classic bpf assembler had to be tweaked. I've considered doing the same for extended, but for every new field LLVM compiler would have to be modifed. Since it would need to add a new intrinsic. It could be done with single intrinsic and magic offset or use of inline assembler, but neither are clean from compiler backend point of view, since they look like calls but shouldn't scratch caller-saved registers. Another approach was to introduce a new helper functions like bpf_get_pkt_type() for every field that we want to access, but that is equally ugly for kernel and slow, since helpers are calls and they are slower then just loads. In theory helper calls can be 'inlined' inside kernel into direct loads, but since they were calls for user space, compiler would have to spill registers around such calls anyway. Teaching compiler to treat such helpers differently is even uglier. They were few other ideas considered. At the end the best seems to be to introduce a user accessible mirror of in-kernel sk_buff structure: struct __sk_buff { __u32 len; __u32 pkt_type; __u32 mark; __u32 queue_mapping; }; bpf programs will do: int bpf_prog1(struct __sk_buff *skb) { __u32 var = skb->pkt_type; which will be compiled to bpf assembler as: dst_reg = *(u32 *)(src_reg + 4) // 4 == offsetof(struct __sk_buff, pkt_type) bpf verifier will check validity of access and will convert it to: dst_reg = *(u8 *)(src_reg + offsetof(struct sk_buff, __pkt_type_offset)) dst_reg &= 7 since 'pkt_type' is a bitfield. No new instructions added. LLVM doesn't need to be modified. JITs don't change and verifier already knows when it accesses 'ctx' pointer. The only thing needed was to convert user visible offset within __sk_buff to kernel internal offset within sk_buff. For 'len' and other fields conversion is trivial. Converting 'pkt_type' takes 2 or 3 instructions depending on endianness. More fields can be exposed by adding to the end of the 'struct __sk_buff'. Like vlan_tci and others can be added later. When pkt_type field is moved around, goes into different structure, removed or its size changes, the function convert_skb_access() would need to updated and it will cover both classic and extended. Patch 2 updates examples to demonstrates how fields are accessed and adds new tests for verifier, since it needs to detect a corner case when attacker is using single bpf instruction in two branches with different register types. The 4 fields of __sk_buff are already exposed to user space via classic bpf and I believe they're useful in extended as well. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 614cd3bd3758a806cea497d493b584e6157561f7 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Mar 13 11:57:43 2015 -0700 samples: bpf: add skb->field examples and tests - modify sockex1 example to count number of bytes in outgoing packets - modify sockex2 example to count number of bytes and packets per flow - add 4 stress tests that exercise 'skb->field' code path of verifier Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9bac3d6d548e5cc925570b263f35b70a00a00ffd Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Mar 13 11:57:42 2015 -0700 bpf: allow extended BPF programs access skb fields introduce user accessible mirror of in-kernel 'struct sk_buff': struct __sk_buff { __u32 len; __u32 pkt_type; __u32 mark; __u32 queue_mapping; }; bpf programs can do: int bpf_prog(struct __sk_buff *skb) { __u32 var = skb->pkt_type; which will be compiled to bpf assembler as: dst_reg = *(u32 *)(src_reg + 4) // 4 == offsetof(struct __sk_buff, pkt_type) bpf verifier will check validity of access and will convert it to: dst_reg = *(u8 *)(src_reg + offsetof(struct sk_buff, __pkt_type_offset)) dst_reg &= 7 since skb->pkt_type is a bitfield. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a498cfe990f569dd3766bfc9bfd2a5ee04468cd2 Merge: 1202882 c04167c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 15 21:57:30 2015 -0400 Merge branch 'ebpf_helpers' Daniel Borkmann says: ==================== eBPF updates Two small eBPF helper additions to better match up with ancillary classic BPF functionality. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c04167ce2ca0ecaeaafef006cb0d65cf01b68e42 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Mar 14 02:27:17 2015 +0100 ebpf: add helper for obtaining current processor id This patch adds the possibility to obtain raw_smp_processor_id() in eBPF. Currently, this is only possible in classic BPF where commit da2033c28226 ("filter: add SKF_AD_RXHASH and SKF_AD_CPU") has added facilities for this. Perhaps most importantly, this would also allow us to track per CPU statistics with eBPF maps, or to implement a poor-man's per CPU data structure through eBPF maps. Example function proto-type looks like: u32 (*smp_processor_id)(void) = (void *)BPF_FUNC_get_smp_processor_id; Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03e69b508b6f7c51743055c9f61d1dfeadf4b635 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Mar 14 02:27:16 2015 +0100 ebpf: add prandom helper for packet sampling This work is similar to commit 4cd3675ebf74 ("filter: added BPF random opcode") and adds a possibility for packet sampling in eBPF. Currently, this is only possible in classic BPF and useful to combine sampling with f.e. packet sockets, possible also with tc. Example function proto-type looks like: u32 (*prandom_u32)(void) = (void *)BPF_FUNC_get_prandom_u32; Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12028820423bd7705beb5e09889faab95c545ea1 Merge: 5a2f78dd 5591764 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 15 19:56:52 2015 -0400 Merge branch 'gianfar-next' Claudiu Manoil says: ==================== gianfar: ARM port driver updates (2/2) The 2nd round of driver updates to make gianfar portable on ARM, for the ARM based SoC that integrates eTSEC - "ls1021a". The patches address the bulk of remaining endianess issues - handling DMA fields (BD and FCB), and device tree properties. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 559176415cc663fff9dd99a3862629a4fcdb36ab Author: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Date: Fri Mar 13 10:52:32 2015 +0200 gianfar: Consider dts property endianess on handling Use of_property_read*() to get arch endian consistent property values. Do some refactoring in the process. Signed-off-by: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26eb9374f83d129f26a417fc3cc9b480fb47e5e4 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Mar 13 10:36:29 2015 +0200 gianfar: Make FCB access endian safe Use conversion macros to correctly access the BE fields of the Rx and Tx Frame Control Block on LE CPUs. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7312d5803759c29c7f341428858d353caabf793 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Mar 13 10:36:28 2015 +0200 gianfar: Make BDs access endian safe Use conversion macros to correctly access the BE fields of the Rx and Tx Buffer Descriptors on LE CPUs. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f1758d606e96e19caf9ced2b617b5d555d86f6e Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Sat Mar 14 15:49:30 2015 +0530 Staging: skein: Remove do-while(0) from single statement macros Remove unneeded do-while(0) loop from single statement macros. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 192b3ffc4cd47e021b5160507dd885516f345b7d Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Fri Mar 13 21:00:20 2015 +0900 staging: comedi: remove break after return Remove "break" statement after a "return" statement as it does not get executed. Deadcode found by coccinelle --debug option Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0dff42124d3d312c236c5b934edeac477c818f7 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 14:29:30 2015 +0300 Staging: comedi: Remove parentheses around right side assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurences. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81906c357a37bd82ca041bbdde9c663ea656f300 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 11 17:02:13 2015 +0530 Staging: comedi: Use function setup_timer for combining initialization The function setup_timer combines the initialization of a timer with the initialization of the timer's function and data fields. So, this patch combines the multiline code for timer initialization using the function setup_timer. This issue is identified via coccinelle script. @@ expression E1, E2, E3; type T; @@ - init_timer(&E1); ... ( - E1.function = E2; ... - E1.data = (T)E3; + setup_timer(&E1, E2, (T)E3); | - E1.data = (T)E3; ... - E1.function = E2; + setup_timer(&E1, E2, (T)E3); | - E1.function = E2; + setup_timer(&E1, E2, 0); ) Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6946edd07a98e74fa7eedc465dc37a615830a311 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Sat Mar 14 21:55:11 2015 +0900 staging: sm750fb: remove parantheses from return statements found by checkpatch.pl :ERROR: return is not a function, parentheses are not required changes made using coccinelle script: @@ expression e,e1; @@ ( return (e / e1); | return -( e -) ; ) Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2a6037738be69a51e6cbd09d348c949f0936fcd Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Thu Mar 12 21:48:45 2015 +0530 Staging: sm750fb: Add space after ',' This patch adds space after ',' for the better readability of code. This issue is detected by checkpatch.pl Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b30edfcd04b5ffdb6b36a5b36a37d911222b9d37 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Thu Mar 12 13:26:21 2015 +0900 staging: sm750fb: remove intialization of static ints static ints are initialized to 0 by the compiler. Explicit initialization is not necessary. Found by checkpatch.pl - ERROR: do not initialise statics to 0 or NULL changes made using coccinelle script: @@ type T; identifier var; @@ static T var - =0 ; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fa7db83e4f9ef5cd820b7c8aba06cd068035641 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Thu Mar 12 01:11:00 2015 +0900 staging: sm750fb: Add void to function definition with no arguments Found by checkpatch.pl - ERROR: Bad function definition A function with no arguments allows for variadic arguments. Add void in between the empty parentheses to indicate that the function takes no arguments. changes made using coccinelle script: @@ type T; identifier f; @@ T f( +void ) { ... } Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6b0d6de1d2821dc0dd44b33fbe2b41e5ecac430 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Mar 11 04:35:04 2015 +0200 staging: sm750: Fix switch-case indentation Remove switch cases indentation in order to follow the Linux coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7d3e898581dce3b87af46b200592fcded82e2cf Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:09:10 2015 +0200 staging: goldfish: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b30367c0866c1b669f266f1a13f17de7b0b8c120 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:08:40 2015 +0200 staging: fbtft: fbtft_device.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 248d828514bf7016d13f11b7b82f26b6949718c5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:08:15 2015 +0200 staging: fbtft: fbtft-io.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0401b42d8bf8c929c77bd9e77615284d154a3174 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:07:01 2015 +0200 staging: fbtft: fb_st7735r.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e686d777df8ef8f01a61c98cc94667054778c10 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:06:24 2015 +0200 staging: fbtft: fb_s6d02a1.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53ce1c05cc116116a9a8ca821136767f18b9b27b Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:05:52 2015 +0200 staging: fbtft: fb_hx8353d.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 721bc827d4a9a45cf9da04445d6897957c9caa06 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:05:27 2015 +0200 staging: fbtft: fb_hx8340bn.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b38452785f3aef3f293389451d260bdc85c7955 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:04:35 2015 +0200 staging: fbtft: fb_agm1264k-fl.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f4a748f59924118129306d0e89af7a35b77365e Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:04:09 2015 +0200 staging: ft1000: ft1000-usb: ft1000_hw.c: adjust function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to pointer casts. Issues were detected using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Parentheses removal were left to the script. However, there were some cases that were handled manually. In addition, handling pointer casts were done manually too because not all replacements generated by the script were suitable. When pointer casts on function arguments were in the form: <func>(...,(<type> *)&<expression>,...) the replacements were discarded due to compilation warnings. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e2fef9d3260e169c17fc5eea842ff4c64c23e5c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:03:18 2015 +0200 staging: ft1000: ft1000-usb: ft1000_download.c: adjust function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to pointer cast. Issues were detected using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Parentheses removal were left to the script. However, handling pointer casts were done manually because not all replacements generated by the script were suitable. In general, the following cases were discarded: pointer casts in macros, pointer casts on function arguments in the form of: <func>(...,(<type> *)&<expression>,...) since both cases generated compilation warnings. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb53b00de93d4a165b31781e9d4598415e3c07a4 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:02:29 2015 +0200 staging: ft1000: ft1000-usb: adjust function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to pointer cast. Issues were detected using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Parentheses removal were left to the script. However, handling pointer casts were done manually because not all replacements generated by the script were suitable. In general, the following cases were discarded: pointer casts in macros, pointer casts on function arguments in the form of: <func>(...,(<type> *)&<expression>,...) since both cases generated compilation warnings. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 562b11b3a9304cfd55fa06f932f45879018c9792 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:01:41 2015 +0200 staging: ft1000: ft1000-pcmcia: adjust function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to potinter cast. Issues were detected using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Parentheses removal were left to the script. However, handling pointer casts were done manually because not all replacements generated by the script were suitable. In general, the following cases were discarded: pointer casts in macros, pointer casts on function arguments in the form of: <func>(...,(<type> *)&<expression>,...) since both cases generated compilation warnings. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08a02cb8834d8a09502358b08929897e3ffb6abf Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:00:53 2015 +0200 staging: ft1000: adjust function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to pointer cast. Issues detected and resolved using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a511536f4b8815308d178740902826de9c628f59 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:58:00 2015 +0200 staging: mt29f_spinand: remove pointer to pointer cast in function argument Removes unnecessary pointer to pointer cast on function arguments. It is worth noting that buf is already a u8 pointer. Issue detected and resolved using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 805184c451cdb225ffbdf83ba010160d74b3a471 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:57:25 2015 +0200 staging: media: lirc: remove pointer to pointer cast on function arguments Removes pointer to pointer cast on function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 028b242d1b91e95869a084c43ce3497203f84e5c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:56:37 2015 +0200 staging: media: lirc: fix multiple issues with function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to pointer casts. Issues detected and resolved using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 505942151da6310df05213413d4ebd10bd5fd450 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:55:27 2015 +0200 staging: media: lirc: remove unnecessary cast on function argument Removes pointer to pointer cast on a function argument. Issue detected and resolved using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb3a4dc3af68b92ad5d5cc0020268daae554db93 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:54:51 2015 +0200 staging: media: lirc: lirc_imon.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., & -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 975da35f0f6e33d9a86e5d3ee3c89cb5942d872a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:53:54 2015 +0200 staging: fwserial: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 717842fee57b5f1a51d967615aa751625174fc3f Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Tue Mar 10 17:56:12 2015 +0530 Staging: lustre: Remove space to improve code style. Remove space to improve code style and follow kernel conventions. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed0ed4ea7755559ee04aab8695cb91610f5e539a Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 11 17:02:15 2015 +0530 Staging: lustre: Use setup_timer to combine initialization The function setup_timer combines the initialization of a timer with the initialization of the timer's function and data fields. So, this patch combines the multiline code for timer initialization using the function setup_timer. This issue is identified via coccinelle script. @@ expression E1, E2, E3; type T; @@ - init_timer(&E1); ... ( - E1.function = E2; ... - E1.data = (T)E3; + setup_timer(&E1, E2, (T)E3); | - E1.data = (T)E3; ... - E1.function = E2; + setup_timer(&E1, E2, (T)E3); | - E1.function = E2; + setup_timer(&E1, E2, 0); ) Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a2ca43fa54f561c252c2ceb986daa49e258ab13 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 14 01:03:10 2015 +0530 Staging: lustre: Iterate list using list_for_each_entry Code using doubly linked list is iterated generally using list_empty and list_entry functions, but it can be better written using list_for_each_entry macro. This patch replaces the while loop containing list_empty and list_entry with list_for_each_entry and list_for_each_entry_safe. list_for_each_entry is a macro which is used to iterate over a list of given type. So while loop used to iterate over a list can be replaced with list_for_each_entry macro. However, if list_del is used in the loop, then list_for_each_entry_safe is a better choice. This transformation is done by using the following coccinelle script. @ rule1 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry; @@ - while (list_empty(&E1) == 0) + list_for_each_entry (I1, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ...when != list_del(...); when != list_del_init(...); } @ rule2 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry_safe; @@ T *I1; + T *tmp; ... - while (list_empty(&E1) == 0) + list_for_each_entry_safe (I1, tmp, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ... } Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6ee3824259e6902553c7dc7159c7763963b80fc Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:48:53 2015 +0300 Staging: lustre: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4e3e6eec877078e394c3c10cf37dae046e6f334 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 9 20:39:24 2015 +0200 Staging: rtl8192u: Replace printk() with netdev_dbg() This patch replaces the printk() function with netdev_dbg() in order to fix the following: "WARNING: printk() should include KERN_ facility level" and "WARNING: line over 80 characters". Issue found by checkpatch.pl Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b2965b63371d345b572b49f07227a17ae5504d3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 9 20:38:48 2015 +0200 Staging: rtl8192u: Add function to improve code quality This patch introduces a new function for the authentication response error check in the ieee80211_rx_frame_softmac() function to fix the indentation problem. It also adds the iotAction variable in the new function to fix the "more than 80 characters per line" warning. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22e7f1e25b0a52da91cf9fedf3f02887dc7e4742 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 9 19:18:25 2015 +0530 Staging: rtl8188eu: Remove unneeded return statement This patch removes unnecessary return statement from a void function and hence make it more compatible. This issue is identified by checkpatch.pl Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ce7948fe18230ae096cdb78211715309de9889c Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 9 19:18:24 2015 +0530 Staging: rtl8188eu: Remove redundant local variable This patch removes a redundant variable "val" and adds inline return statements. It also adds a default case to the switch statement which returns 0 to keep the logic intact. It also removes a redundant variable "inx" and adds inline return statements. This issue is identified by the following coccinelle script. @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b4ac54fd5aaa93922010c596292e6802c8420f6 Author: Himani Agrawal <himani93@xxxxxxxxx> Date: Mon Mar 9 19:39:50 2015 +0530 staging: vt6655: Fixes the checkpatch.pl warning warning fixed: WARNING: line over 80 characters The function call containing several variables is broken to make it fit in 80 characters. Signed-off-by: Himani Agrawal <himani93@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0edf4bcfa67702e821acb8592bc9b33a328f13a Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:55:40 2015 +0530 staging: wlan-ng: Use kzalloc instead of kmalloc. This patch uses kzalloc instead of kmalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a774fe09237adc329c9fda5ec877dccebfd2589e Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:56:58 2015 +0530 staging: rtl8192u: Use kzalloc instead of kmalloc. This patch uses kzalloc instead of kmalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d272f9ddce1b77271e3ab449c99257b3fc1fb3be Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:58:07 2015 +0530 staging: rtl8192e: Use kzalloc instead of kmalloc. This patch uses kzalloc instead of kmalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0507a1e52b7d55c9fa6fe952c90383487c0eb669 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:27:27 2015 +0530 staging: rtl8188eu: Use kcalloc instead of kzalloc. This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f39902654c59d02b32b1b0900304d10c2f212d1 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:29:27 2015 +0530 staging: rtl8188eu: Use kcalloc instead of kzalloc This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e026b647b27d3dc170bd335d5e9c4a6f45323ff Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:32:50 2015 +0530 staging: iio: Use kcalloc instead of kzalloc. This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3637d77f5f3ce080e9a2c4f1435f7ce0f5a4ef48 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:34:29 2015 +0530 staging: iio: Use kcalloc instead of kzalloc This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ac04a878802a121caef6cc924931281b7091f03 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:35:57 2015 +0530 staging: media: Use kcalloc instead of kzalloc. This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5869066a57d39c9aa5c6204dc89ba8c7e2abdf56 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:37:28 2015 +0530 staging: media: Use kcalloc instead of kzalloc This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6aa39ba7e50a10676408f943cce82d666fa8b638 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:38:52 2015 +0530 staging: unisys: Use kcalloc instead of kzalloc. This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25cdd99deb927c2753759ead21710303c499a4e0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 6 18:55:36 2015 -0800 hwmon: (nct6775) Enable auxiliary fan monitoring on ASRock Z77 Pro4-M Auxiliary fan monitoring is not enabled on ASRock Z77 Pro4-M with BIOS version 2.00 if booted in UEFI Ultra-FastBoot mode. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit d2a14ea51a4d7e506b2ebac2c57a32ad577ed693 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 6 18:53:21 2015 -0800 hwmon: (nct6775) Restore hardware monitoring logical device status on resume After a suspend/resume cycle it is not guaranteed that the hardware monitoring device is still enabled. Ensure that this is the case after resume. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 48e9318256da995681e6420732055e34f93bddc1 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Feb 7 08:48:49 2015 -0800 hwmon: (nct6775) Convert to use SIMPLE_DEV_PM_OPS Get rid of #ifdef CONFIG_PM by using SIMPLE_DEV_PM_OPS and declaring suspend and resume functions with __maybe_unused. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 04303f8ec14269b0ea2553863553bc7eaadca1f8 Author: Pavel Machek <pavel@xxxxxx> Date: Sat Mar 14 21:57:22 2015 +0100 HID: samples/hidraw: make it possible to select device Makefile that can actually build the example, and allow selecting device to work on. Signed-off-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c0644160a8b5e56b3c3896d77ac3d50d41fa9336 Author: Tomasz Duszynski <tduszyns@xxxxxxxxx> Date: Sat Mar 14 21:29:31 2015 +0100 iio: pressure: add support for MS5611 pressure and temperature sensor Add support for Measurement Specialities MS5611 pressure and temperature sensor. Signed-off-by: Tomasz Duszynski <tduszyns@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8b0544263761adbc7308f6910cdcc0d601782cb1 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Sat Mar 14 21:11:41 2015 +0200 iio: light: Add support for Capella CM3323 color sensor Minimal implementation providing raw light intensity and integration time attribute. Userspace applications can use GREEN channel for raw illuminance readings following this table: Integration Time | G Sensitivity ================================ 40 ms | 0.18 80 ms | 0.09 160 ms | 0.045 320 ms | 0.0225 640 ms | 0.01125 1280 ms | 0.005625 Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b20d386485e25934aef8aa24cbc8c2f51a2cb9cf Author: Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> Date: Mon Mar 9 12:03:12 2015 +0300 i2c: designware: Suppress error message if platform_get_irq() < 0 With -EPROBE_DEFER, this message is confusing and we hope for a centralized printout in the future anyhow. Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Christian Ruppert <christian.ruppert@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8ce795cb0c6b8214779c4a220781a26f096e4442 Author: Valentin Longchamp <valentin.longchamp@xxxxxxxxxxx> Date: Tue Feb 10 16:46:33 2015 +0100 i2c: mpc: assign the correct prescaler from SVR For the 85xx platforms, the source clock for the i2c-mpc can change from one SoC to another. This is documented in the AN2919 "Determining the I2C Frequency Divider Ratio for SCL" by Freescale. Not taking this into account can lead to the output SCL frequency to by off by an offset. It was observed on the P2041 from the QorIQ family. This patch fixes this problem by setting the prescaler value to the appropriate value when required. The SoCs that required a different prescaler than 1 are identified by reading out the SVR as discussed in http://thread.gmane.org/gmane.linux.drivers.devicetree/94247/focus=20556 Signed-off-by: Valentin Longchamp <valentin.longchamp@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 913b1d85cdde5f1fc081aa84f548270a15027abb Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 10:15:21 2015 -0500 i2c: img-scb: fixup of wait_for_completion_timeout return handling Return type of wait_for_completion_timeout is unsigned long not int. Appropriately typed/named variable are added and assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1c42aca54fa0e738d9f0c0e5aa952d0e4357dcf0 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 11:12:07 2015 -0500 i2c: at91: fixup return type of wait_for_completion_timeout Return type of wait_for_completion_timeout is unsigned long not int. This patch adds a timeout variable of appropriate type and fixes up the assignment. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2abaccb356a857dbf4c978a69f2209e19c1a0db3 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 10:36:48 2015 -0500 i2c: axxia: fixup return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. The return variable is renamed to reflect its use and the type adjusted to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f87b53a0858ea69e65d7f19573907a60b2e32e66 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 07:34:43 2015 -0500 i2c: nomadik: match status to return type of read_i2c return type of read_i2c() is int not u32. As the assignments to status are consistent with int here its type is changed to int. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9bb9fee9e9423082ff23f21257bfc68b5eacd504 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 07:34:33 2015 -0500 i2c: nomadik: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. as timeout is used for wait_for_completion_timeout exclusively here its type is simply changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1ac63fef0564d0340eaa330804df29b348204cea Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 06:39:56 2015 -0500 i2c: imx: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. An appropriate variable of type unsigned long is introduced and the assignments fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1abdd5d957e1fc789a2981d27399f56b0682f53e Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 03:03:30 2015 -0500 i2c: ismt: fix type of return var of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. As ret is in used for other calls a new appropriately typed variable timeout is added to handle wait_for_completion_timeout Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 73958562f1ca5c91d802c845856c4a9edcf468cb Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 05:43:52 2015 -0500 i2c: wmt: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. as wait_result is only used for wait_for_completion_timeout here the type is simply changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c4dc12167db8c7c22b38ab5180afdd5c2acba783 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 06:04:18 2015 -0500 i2c: i2c-bcm2835: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. as time_left is used for wait_for_completion_timeout exclusively here its type is simply changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 79bf442c79d67f509060b009ebc55795e918006a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 5 14:27:00 2015 +0300 m68k/pci: Remove a superflous KERN_ERR pr_err() has a KERN_ERR built in. Smatch complains about these nowadays. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 378690e3702fd4e45a5f07be527328b63d743b42 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Feb 23 11:08:58 2015 +0100 m68k/defconfig: Update defconfigs for v4.0-rc1 Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit bb3723a5e4a75f540c64a33481bef2709bf46544 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Feb 23 11:07:07 2015 +0100 m68k/q40: Make NE2000 builtin instead of modular All other Ethernet drivers are builtin, for NFS root. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit d6410efad2e49e2cefc2a0e7236824fd12d5bd6e Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sat Nov 8 19:19:07 2014 +0100 m68k: Remove FSF address We have a central copy of the GPL for that, and the FSF may change address again in the future. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 63d51e591931b878be7a16dacb37868a1e7ae8d1 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Feb 10 03:11:14 2015 -0500 i2c: designware: fixup return handling of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int, rather than introducing a new variable the wait_for_completion_timeout is moved into the if condition as the return value is only used to detect timeout. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Reviewed-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e2efb89768aebb93d3fa804bc6ee05888097797b Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Feb 10 11:55:10 2015 -0500 i2c: cadence: fixup wait_for_completion_timeout return handling return type of wait_for_completion_timeout is unsigned long not int. The return variable is renamed to make the timeout condition clearly readable and the type adjusted to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit bd9dd73c6a4e17c9345e81b46a52ca9d3157378f Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 1 08:20:32 2015 -0500 i2c: wmt: use msecs_to_jiffies for time conversions This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6973a39c9e35f46f2ea79ccbc25d3cab58737331 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 1 09:17:41 2015 -0500 i2c: tegra: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. As ret was only used for wait_for_completion_timeout here it is renamed to time_left the type changed to unsigned long and references fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 271a89cdd65f8c2b4a6be865859f8d2d1b504696 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Mar 10 14:08:13 2015 -0400 i2c: mxs: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 4f0f155ceaf7e1b59d210a8afb24d4ea63ce13cc Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 22:43:19 2015 -0700 Bluetooth: Add simple version of Read Local OOB Extended Data command This adds support for the simplest possible version of Read Local OOB Extended Data management command. It includes all mandatory fields, but none of the actual pairing related ones. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1471aae0d04d4e0df2bf1e5a5af861e28371b8b4 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 22:43:18 2015 -0700 Bluetooth: Add defines for LE Bluetooth Device Address and LE Role The OOB data requires to include LE Bluetooth Device Address and LE Role and so add the type constants for these fields. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bea41609de527830cc4c843e0e833cf021adc6b1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 22:43:17 2015 -0700 Bluetooth: Move eir_append_data function to a different location The eir_append_data helper function is needed for generating the extended local OOB data fields. So move it up into the right location. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d3d5305bfd1cb48c8f44207abb567276a1e09cc7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 20:53:25 2015 -0700 Bluetooth: Add simple version of Read Advertising Features command This adds support for the simplest possible version of Read Advertising Features management command. It allows basic testing of the interface. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a958452aa40c57a0407ecf84ba1bfa31ad532313 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:06 2015 -0700 Bluetooth: Use BIT(n) macro instead of manually encoding (1 << n) The flags for the management command table used manual encoding of bits in the form of (1 << n). It is however preferred to use BIT(n) macro instead. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f6b7712eb660c50877a56772908326cd31125b21 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:05 2015 -0700 Bluetooth: Send global configuration updates to all management users Changes to the global configuration updates like settings, class of device, name etc. can be received by every user. They are allowed to read them in the first place so provide the updates via events as well. Otherwise untrusted users start polling for updates and that is not a desired behavior. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1195fbb8d03e5a6d7e7e49a73592caeb113a0f70 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:04 2015 -0700 Bluetooth: Open management interface for untrusted users Until now the management interface was restricted to CAP_NET_ADMIN. With this change every user can open the management socket. However the list of commands is heavily restricted to getting basic information about the attached controllers. No access for configuration or other operation is provided. The events are also limited. This is done so that no keys can leak or untrusted users can mess with the Bluetooth configuration. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c927a10487477eeed0441e5c88147700e69e5db9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:03 2015 -0700 Bluetooth: Add support for trust verification of management commands Check the required trust level of each management command with the trust level of the management socket. If it does not match up, then return the newly introduced permission denied error. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7aea8616cd26d138b0696ba5605751fb21ee970f Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:02 2015 -0700 Bluetooth: Remove unneeded initializer for management command table The flags field for the management command table will be always initialized to zero and thus no need to do that manually. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c91041dc4efff71f29f1dd4c9a4a5e80b841395c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:01 2015 -0700 Bluetooth: Add support for untrusted access to management commands Some management commands are safe to be accessed from any user without special permissions. First step for allowing access to any of these commands from untrusted application is to mark them accordingly. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c85be545ea23a4fe590c89683242a9be823394e0 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:00 2015 -0700 Bluetooth: Add hci_sock_test_flag helper function The management interface will need access to the socket flags and so provide a helper function for checking them. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c08b1a1dba524c1cdef331c1f169db3a1b37bb4c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:59 2015 -0700 Bluetooth: Consolidate socket channel sending function back into one With the introduction of trusted socket flag for control and monitor channels, it is now possible to use a single function for sending packets to these sockets. And with that consolidate the handling. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 50ebc055fa758c731e6e1ce174608327aab07aec Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:58 2015 -0700 Bluetooth: Introduce trusted flag for management control sockets Providing a global trusted flag for management control sockets provides an easy way for identifying sockets and imposing restriction on it. For now all management sockets are trusted since they require CAP_NET_ADMIN. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 96f1474af040a4ec267efe141cbf264891e67e5a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:57 2015 -0700 Bluetooth: Add support for extended index management command The Read Extended Contoller Index List command can be used for retrieving the complete list of local available controllers. This included configured, unconfigured and also AMP controllers. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ced85549c3a769dfb9d084bb8d6d9ca8075f8728 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:56 2015 -0700 Bluetooth: Add support for extended index management events This introduces support for using Extended Index Added and Extended Index Removed events. These events contain the controller type and also the hardware bus information from the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f920733885546af2fd8d4b3dd5f8a1ac029f6248 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:55 2015 -0700 Bluetooth: Use special function to send filter management index events For sending Index Added, Index Removed, Unconfigured Index Added and Unconfigured Index Removed managment events the new helper functions allows taking into account if these events are enabled for a certain management socket or not. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 17711c62915dd62ab83a5a83a64c0d6105d13b6c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:54 2015 -0700 Bluetooth: Provide hci_send_to_flagged_channel helper function The hci_send_to_flagged_channel helper function can be used to send packets to all channels that have a certain HCI socket flag set. This is especially useful for managment events that are limited to sockets that have first enabled certain functionality. This allows for filtering of events without confusing existing users. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6befc6445ffc6868ee6e6d0e012fc149e88d96db Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:53 2015 -0700 Bluetooth: Add flags field and setting function for HCI sockets To filter out certain actions for certain HCI sockets introcuce a flags field that allows to configure specific settings on individual sockets. Since the hci_pinfo structure is private in hci_sock.c, provide helper functions for setting and clearing a given flag. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5a2f78dd51d9d71aa40cb752af88332f45c884b7 Merge: 96026d0 c4db884 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 15 01:35:46 2015 -0400 Merge branch 'rhashtable-next' Herbert Xu says: ==================== rhashtable: Fixes + cleanups + preparation for multiple rehash Patch 1 fixes the walker so that it behaves properly even during a resize. Patch 2-3 are cleanups. Patch 4-6 lays some ground work for the upcoming multiple rehashing. This revision fixes the warning coming from the bucket_table->size downsize and improves its changelog. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4db8848af6af92f90462258603be844baeab44d Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:25 2015 +1100 rhashtable: Move future_tbl into struct bucket_table This patch moves future_tbl to open up the possibility of having multiple rehashes on the same table. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 63d512d0cffcae40505d9448abd509972465e846 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:24 2015 +1100 rhashtable: Add rehash counter to bucket_table This patch adds a rehash counter to bucket_table to indicate the last bucket that has been rehashed. This serves two purposes: 1. Any bucket that has been rehashed can never gain a new object. 2. If the rehash counter reaches the size of the table, the table will forever remain empty. This patch also downsizes bucket_table->size to an unsigned int since we do not support sizes greater than 32 bits yet. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9d901bc05153bbf33b5da2cd6266865e531f0545 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:23 2015 +1100 rhashtable: Free bucket tables asynchronously after rehash There is in fact no need to wait for an RCU grace period in the rehash function, since all insertions are guaranteed to go into the new table through spin locks. This patch uses call_rcu to free the old/rehashed table at our leisure. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5269b53da4d432b0fbf755bd423c807bf6bd4aa0 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:22 2015 +1100 rhashtable: Move seed init into bucket_table_alloc It seems that I have already made every rehash redo the random seed even though my commit message indicated otherwise :) Since we have already taken that step, this patch goes one step further and moves the seed initialisation into bucket_table_alloc. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f2484bdb55daa53ecaddb5fa4c298e3d262b69e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:21 2015 +1100 rhashtable: Use SINGLE_DEPTH_NESTING We only nest one level deep there is no need to roll our own subclasses. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eddee5ba34eb6c9890ef106f19ead2b370e5342f Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:20 2015 +1100 rhashtable: Fix walker behaviour during rehash Previously whenever the walker encountered a resize it simply snaps back to the beginning and starts again. However, this only works if the rehash started and completed while the walker was idle. If the walker attempts to restart while the rehash is still ongoing, we may miss objects that we shouldn't have. This patch fixes this by making the walker walk the old table followed by the new table just like all other readers. If a rehash is detected we will still signal our caller of the fact so they can prepare for duplicates but we will simply continue the walk onto the new table after the old one is finished either by us or by the rehasher. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a94b5ea291592b1e758f3bcb164ae649504238bc Merge: 9df5126 4a07317 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Mar 15 01:53:37 2015 +0000 Merge branch 'irqchip/vybrid' into irqchip/core commit 9df5126b69294788f5ca3dc7aeafc80a42c6d4a7 Merge: 6e3aca4 28da06d Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Mar 15 01:46:04 2015 +0000 Merge branch 'irqchip/mvebu' into irqchip/core commit 6e3aca4419e1363ff9abb3e1710c52858fc45b66 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Mar 11 23:21:31 2015 -0700 irqchip: gic: Don't complain in gic_get_cpumask() if UP system In a uniprocessor implementation the interrupt processor targets registers are read-as-zero/write-ignored (RAZ/WI). Unfortunately gic_get_cpumask() will print a critical message saying GIC CPU mask not found - kernel will fail to boot. if these registers all read as zero, but there won't actually be a problem on uniprocessor systems and the kernel will boot just fine. Skip this check if we're running a UP kernel or if we detect that the hardware only supports a single processor. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1426141291-21641-1-git-send-email-sboyd@xxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 008e4d6735091bfe5be12918cb66c55e178361bf Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:45:37 2015 +0000 ARM: zynq: switch from gic_arch_extn to gic_set_irqchip_flags Instead of directly touching gic_arch_extn, which is about to be removed, use gic_set_irqchip_flags instead. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088737-15817-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 233242040f1607a6a5cf7f87d9e07473282620b9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:45:36 2015 +0000 ARM: ux500: switch from gic_arch_extn to gic_set_irqchip_flags Instead of directly touching gic_arch_extn, which is about to be removed, use gic_set_irqchip_flags instead. Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088737-15817-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit d04594c2f5ce2331d3db3430649634ca61f51937 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:45:35 2015 +0000 ARM: shmobile: remove use of gic_arch_extn.irq_set_wake shmobile only uses gic_arch_extn.irq_set_wake to prevent the GIC from returning -ENXIO when receiving a wake-up configuration request. It is a lot simpler to tell the irq layer that we don't need any configuration by using the IRQCHIP_SKIP_SET_WAKE, thanks to the new gic_set_irqchip_flags function. Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088737-15817-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 49869be2d9d0e9195706da7050c81bc909f41f4f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:45:34 2015 +0000 irqchip: gic: Add an entry point to set up irqchip flags A common use of gic_arch_extn is to set up additional flags to the GIC irqchip. It looks like a benign enough hack that doesn't really require the users of that feature to be converted to stacked domains. Add a gic_set_irqchip_flags() function that platform code can call instead of using the dreaded gic_arch_extn. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088737-15817-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 7136d457f365ecc93ddffcdd42ab49a8473f260b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:49 2015 +0000 ARM: omap: convert wakeupgen to stacked domains OMAP4/5 has been (ab)using the gic_arch_extn to provide wakeup from suspend, and it makes a lot of sense to convert this code to use stacked domains instead. This patch does just this, updating the DT files to actually reflect what the HW provides. BIG FAT WARNING: because the DTs were so far lying by not exposing the WUGEN HW block, kernels with this patch applied won't have any suspend-resume facility when booted with old DTs, and old kernels with updated DTs won't even boot. On a platform with this patch applied, the system looks like this: root@bacon-fat:~# cat /proc/interrupts CPU0 CPU1 16: 0 0 WUGEN 37 gp_timer 19: 233799 155916 GIC 27 arch_timer 23: 0 0 WUGEN 9 l3-dbg-irq 24: 1 0 WUGEN 10 l3-app-irq 27: 282 0 WUGEN 13 omap-dma-engine 44: 0 0 4ae10000.gpio 13 DMA 294: 0 0 WUGEN 20 gpmc 297: 506 0 WUGEN 56 48070000.i2c 298: 0 0 WUGEN 57 48072000.i2c 299: 0 0 WUGEN 61 48060000.i2c 300: 0 0 WUGEN 62 4807a000.i2c 301: 8 0 WUGEN 60 4807c000.i2c 308: 2439 0 WUGEN 74 OMAP UART2 312: 362 0 WUGEN 83 mmc2 313: 502 0 WUGEN 86 mmc0 314: 13 0 WUGEN 94 mmc1 350: 0 0 PRCM pinctrl, pinctrl 406: 35155709 0 GIC 109 ehci_hcd:usb1 407: 0 0 WUGEN 7 palmas 409: 0 0 WUGEN 119 twl6040 410: 0 0 twl6040 5 twl6040_irq_ready 411: 0 0 twl6040 0 twl6040_irq_th IPI0: 0 1 CPU wakeup interrupts IPI1: 0 0 Timer broadcast interrupts IPI2: 95334 902334 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 479 648 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 0 0 IRQ work interrupts IPI7: 0 0 completion interrupts Err: 0 Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-8-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 918d98db8c97c01e538e6438e18a69cbceeb5ec6 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:48 2015 +0000 DT: omap4/5: add binding for the wake-up generator Add a binding for the OMAP4/5 wake-up generator, which acts as an interrupt controller feeding into the GIC. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-7-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 994dd8a3283cd332801ccbe099b2517e8b7055d0 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:47 2015 +0000 DT: arm,gic: kill arm,routable-irqs Nobody will regret it. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-6-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a5561c3e845cae41ae40c15689a7f26e90b000c8 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:46 2015 +0000 irqchip: gic: Get rid of routable domain The only user of the so called "routable domain" functionality now being fixed, let's clean up the GIC. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1e7449ba67506b84f23dbd4a0667c09184df1368 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:45 2015 +0000 DT: update ti,irq-crossbar binding Make it look like a real interrupt controller. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 783d31863fb826f1a3754a2d5959a022a1b12d54 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:44 2015 +0000 irqchip: crossbar: Convert dra7 crossbar to stacked domains Support for the TI crossbar used on the DRA7 family of chips is implemented as an ugly hack on the side of the GIC. Converting it to stacked domains makes it slightly more palatable, as it results in a cleanup. Unfortunately, as the DT bindings failed to acknowledge the fact that this is actually yet another interrupt controller (the third, actually), we have yet another breakage. Oh well. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 08b55e2a9208e4841a17c9d9c2c454986392977d Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:43 2015 +0000 genirq: Add irqchip_set_wake_parent This proves to be useful with stacked domains, when the current domain doesn't implement wake-up, but expect the parent to do so. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1a703bffd82e04d1c00a0b4373bf4db1e2d25681 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:03 2015 +0000 ARM: tegra: remove old LIC support Now that all DTs have been updated, entierely drop support for the non-DT code. This is likely to break platforms that do not update their DT, so print a warning at boot time. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-7-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f6f53169ead6c9604b4358ccc7e0568d7bba2941 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:02 2015 +0000 DT: tegra: add binding for the legacy interrupt controller Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-6-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 870c81a41f7074a99599be7f10ce5aab43c9f0c4 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:01 2015 +0000 ARM: tegra: update DTs to expose legacy interrupt controller Describe the legacy interrupt controller in every tegra DTSI files, and make it the parent of most interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e9479e0e832b7e59bffcebfae9953759b2c195c4 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:00 2015 +0000 ARM: tegra: skip gic_arch_extn setup if DT has a LIC node If we detect that our DT has a LIC node, don't setup gic_arch_extn, and skip tegra_legacy_irq_syscore_init as well. This is only a temporary measure until that code is removed for good. Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit de3ce0804916a9b4f3b58e4e78727d5483c4df04 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:42:59 2015 +0000 irqchip: tegra: Add DT-based support for legacy interrupt controller Tegra's LIC (Legacy Interrupt Controller) has been so far only supported as a weird extension of the GIC, which is not exactly pretty. The stacked IRQ domain framework fits this pretty well, and allows the LIC code to be turned into a standalone irqchip. In the process, make the driver DT aware, something that was sorely missing from the mach-tegra implementation. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b3aa14c39944c6ea2ce20278afe87241413b0477 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:42:58 2015 +0000 ARM: tegra: irq: nuke leftovers from non-DT support The GIC is now always initialized from DT on tegra, and there is no point in keeping non-DT init code. Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 96026d057a1fb7da1e314a24e3a1c528321ed45e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Sat Mar 14 13:21:59 2015 -0700 net: dsa: do not use slave MII bus for fixed PHYs Commit cd28a1a9baee7 ("net: dsa: fully divert PHY reads/writes if requested") introduced a check for particular PHYs that need to be accessed using the slave MII bus created by DSA, but this check was too inclusive. This would prevent fixed PHYs from being successfully registered because those should not go through the slave MII bus created by DSA. Make sure we check that the PHY is not a fixed PHY to prevent that from happening. Fixes: cd28a1a9baee7 ("net: dsa: fully divert PHY reads/writes if requested") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 316ad4beecd6c9da181e3e8bd0718af22a215fc5 Merge: 6922022a 0d8bb41 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 14 15:08:02 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-13 This series contains updates to ixgbe and ixgbevf. Don adds additional support for X550 MAC types, which require additional steps around enabling and disabling Rx. Also cleans up variable type inconsistency. I provide a patch to allow relaxed ordering to be enabled on SPARC architectures. Also cleans up ixgbevf whitespace and code comments to align the driver with networking coding standard. Lastly cleaned up uses of memcpy() where ether_addr_copy() could have been used. Alex removes some dead code in the ixgbe cleanup patch. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a63ca11b42b4fc9ece395f611679d0d3985cd4d Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Mar 6 18:14:42 2015 -0700 MAINTAINERS: Add missing Toshiba devices and add myself as maintainer Add the missing toshiba_bluetooth and toshiba_haps entries and add myself as their maintainer. Also add the Maintainers entry for toshiba_acpi driver and change its status to maintained. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit bab09e23ac9fd50c381668388cdf02b52af59d07 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Mar 6 18:14:41 2015 -0700 toshiba_acpi: Update events in toshiba_acpi_notify This patch adds a few more events sent to TOSXXXX devices, some of them are already identified, while some others simply print a message informing the type of event received. Also, a netlink event is generated so that userspace apps, daemons, etc. act accordingly to these events. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit cc55c8997d130b5ecb448a8fee12359372df9c51 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Fri Mar 6 22:50:30 2015 +0100 intel-oaktrail: Fix trivial typo in comment Change 'disalbe' to 'disable' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 6922022af529829645908bb6d11233c6579a2c49 Merge: a379520 a445834 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 14 15:05:15 2015 -0400 Merge branch 'listener_refactor_part_9' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 9 This preliminary work pushes socket convergence a bit more: 1) request sock ir_iif is universally set 2) inet_diag can use common helpers to reduce LOC ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4458343ac5986d010290915df6ab884afacbdb7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Mar 13 15:51:12 2015 -0700 inet_diag: factorize code in new inet_diag_msg_common_fill() helper Now the three type of sockets share a common base, we can factorize code in inet_diag_msg_common_fill(). inet_diag_entry no longer requires saddr_storage & daddr_storage and the extra copies. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a07c92078d5cf32dcc7c3d673066f031d02dc454 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Mar 13 15:51:11 2015 -0700 inet_diag: adjust inet_sk_diag_fill() bug condition inet_sk_diag_fill() only copes with non timewait and non request socks Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16f86165bd0a94a96ab99629828cc9057db50221 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Mar 13 15:51:10 2015 -0700 inet: fill request sock ir_iif for IPv4 Once request socks will be in ehash table, they will need to have a valid ir_iff field. This is currently true only for IPv6. This patch extends support for IPv4 as well. This means inet_diag_fill_req() can now properly use ir_iif, which is better for IPv6 link locals anyway, as request sockets and established sockets will propagate consistent netlink idiag_if. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 741d98c733b6605fc621c5c8740c7120ae1c0006 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 11 12:36:07 2015 +0300 thinkpad_acpi: off by one in adaptive_keyboard_hotkey_notify_hotkey() This should be >= instead of > because otherwise we read one element past the end of the hotkey_keycode_map[] array. The hotkey_keycode_map[] array has TPACPI_HOTKEY_MAP_LEN elements. Fixes: 6a68d8557084 ('thinkpad_acpi: Add support for more adaptive kbd buttons') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-By: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit abf9dc0d9ae813d425675656f1af16f58c60e443 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 11 12:34:50 2015 +0300 thinkpad_acpi: signedness bugs getting current_mode This needs to be signed for the error handling to work. Valid modes are small positive integers. Fixes: b790ceeb0fd9 ('thinkpad_acpi: Add adaptive_kbd_mode sysfs attr') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-By: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 40dbbfb5e49c9317a24111bb71151090e8ea95e8 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Thu Mar 12 21:26:00 2015 +0300 iio : Add ABI documentation for thresh falling/rising value in accel This patch adds ABI documentation entries for in_accel_thresh_falling_value, and in_accel_thresh_rising_value in /events. There is at least one user for these, lis3l02dq in accel. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7d963215f6bedd268fa26aadd4ca4270e1076566 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Tue Mar 3 18:17:58 2015 +0200 iio: bmc150: introduce bmc150_accel_trigger Add a separate structure for triggers and add the infrastructure to support an arbitrary number of triggers. Each trigger is associated with an interrupt and has an enabled/disabled state. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3e825ec98d36c8c8073024c95853389a831902e5 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Tue Mar 3 18:17:57 2015 +0200 iio: bmc150: introduce bmc150_accel_interrupt Since both triggers and events can share an interrupt, add a data structure that tracks the users of an interrupt so that it enables or disables it only for the first users and respectively last user. This will allows us to easily add more events or triggers. The patch also adds an interrupt enabled counter, so that we can easily know if we need to put the device in normal mode when the resume callback is issued. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c1b03ab5e886760bdd38c9c7a27af149046ffe01 Author: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Date: Thu Feb 19 15:17:44 2015 +0100 iio: core: Fix double free. When an error occurred during event registration memory was freed twice resulting in kernel memory corruption and a crash in unrelated code. The problem was caused by iio_device_unregister_eventset() iio_device_unregister_sysfs() being called twice, once on the error path and then again via iio_dev_release(). Fix this by making these two functions idempotent so they may be called multiple times. The problem was observed before applying 78b33216 iio:core: Handle error when mask type is not separate Signed-off-by: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a3795208b9a9801a66b305395e9ebaae850eee03 Merge: 5f1764d e3eea1e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 14 14:38:41 2015 -0400 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: some optimizations and impovements The commits in this series contain some relatively simple changes that lead to better throughput across TIPC connections. We also make changes to the implementation of link transmission queueing and priority handling, in order to make the code more comprehensible and maintainable. v2: Commit #2: Redesigned tipc_msg_validate() to use pskb_may_pull(), as per feedback from David Miller. Commit #3: Some cosmetic changes to tipc_msg_extract(). I tried to replace the unconditional skb_linearize() with calls to pskb_may_pull() at selected locations, but I gave up. First, skb_trim() requires a fully linearized buffer. Second, it doesn't make much sense; the whole buffer will end up linearized, one way or another. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3eea1eb47ac616ee09cf0ae5d1e7790ef8461ea Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:11 2015 -0400 tipc: clean up handling of message priorities Messages transferred by TIPC are assigned an "importance priority", -an integer value indicating how to treat the message when there is link or destination socket congestion. There is no separate header field for this value. Instead, the message user values have been chosen in ascending order according to perceived importance, so that the message user field can be used for this. This is not a good solution. First, we have many more users than the needed priority levels, so we end up with treating more priority levels than necessary. Second, the user field cannot always accurately reflect the priority of the message. E.g., a message fragment packet should really have the priority of the enveloped user data message, and not the priority of the MSG_FRAGMENTER user. Until now, we have been working around this problem in different ways, but it is now time to implement a consistent way of handling such priorities, although still within the constraint that we cannot allocate any more bits in the regular data message header for this. In this commit, we define a new priority level, TIPC_SYSTEM_IMPORTANCE, that will be the only one used apart from the four (lower) user data levels. All non-data messages map down to this priority. Furthermore, we take some free bits from the MSG_FRAGMENTER header and allocate them to store the priority of the enveloped message. We then adjust the functions msg_importance()/msg_set_importance() so that they read/set the correct header fields depending on user type. This small protocol change is fully compatible, because the code at the receiving end of a link currently reads the importance level only from user data messages, where there is no change. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05dcc5aa4dcced4f59f925625cea669e82b75519 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:10 2015 -0400 tipc: split link outqueue struct tipc_link contains one single queue for outgoing packets, where both transmitted and waiting packets are queued. This infrastructure is hard to maintain, because we need to keep a number of fields to keep track of which packets are sent or unsent, and the number of packets in each category. A lot of code becomes simpler if we split this queue into a transmission queue, where sent/unacknowledged packets are kept, and a backlog queue, where we keep the not yet sent packets. In this commit we do this separation. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2cdf3918e47e98c8f34f7a64455ea9fd433756e7 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:09 2015 -0400 tipc: eliminate unnecessary call to broadcast ack function The unicast packet header contains a broadcast acknowledge sequence number, that may need to be conveyed to the broadcast link for proper treatment. Currently, the function tipc_rcv(), which is on the most critical data path, calls the function tipc_bclink_acknowledge() to have this done. This call is made for each received packet, and results in the unconditional grabbing of the broadcast link spinlock. This is unnecessary, since we can see directly from tipc_rcv() if the acknowledged number differs from what has been previously acked from the node in question. In the vast majority of cases the numbers won't differ, and there is nothing to update. We now make the call to tipc_bclink_acknowledge() conditional to that the two ack values differ. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1336ee472f83a90ede01fdae095ed5d0a2934c9 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:08 2015 -0400 tipc: extract bundled buffers by cloning instead of copying When we currently extract a bundled buffer from a message bundle in the function tipc_msg_extract(), we allocate a new buffer and explicitly copy the linear data area. This is unnecessary, since we can just clone the buffer and do skb_pull() on the clone to move the data pointer to the correct position. This is what we do in this commit. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1149557d64c97dc9adf3103347a1c0e8c06d3b89 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:07 2015 -0400 tipc: eliminate unnecessary linearization of incoming buffers Currently, TIPC linearizes all incoming buffers directly at reception before passing them upwards in the stack. This is clearly a waste of CPU resources, and must be avoided. In this commit, we eliminate this unnecessary linearization. We still ensure that at least the message header is linear, and that the buffer is linearized where this is still needed, i.e. when unbundling and when reversing messages. In addition, we ensure that fragmented messages are validated after reassembly before delivering them upwards in the stack. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf2157f88a5abf1a64b8c51a737a35e918dc67e5 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:06 2015 -0400 tipc: move message validation function to msg.c The function link_buf_validate() is in reality re-entrant and context independent, and will in later commits be called from several locations. Therefore, we move it to msg.c, make it outline and rename the it to tipc_msg_validate(). We also redesign the function to make proper use of pskb_may_pull() Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7764d6e83d2c3b50d9282f12144ebb10418c056e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:05 2015 -0400 tipc: add framework for node capabilities exchange The TIPC protocol spec has defined a 13 bit capability bitmap in the neighbor discovery header, as a means to maintain compatibility between different code and protocol generations. Until now this field has been unused. We now introduce the basic framework for exchanging capabilities between nodes at first contact. After exchange, a peer node's capabilities are stored as a 16 bit bitmap in struct tipc_node. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af5e1a68318e2ed2de22fc2d7a02f2882abe073c Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Mon Feb 23 16:40:51 2015 +0200 iio:inv-mpu6050: Fix inconsistency for the scale channel Fix inconsistency in the semantics of the scale attribute. For scale the write_raw function was considering the scale table index and writing the appropriate value into the range register, while for read_raw it was outputting the actual scale. Fix this behaviour and adhere to the iio ABI specification. Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Reviewed-by: Viorel Suman <viorel.suman@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ed170dedd1ddd316c5cd17fec3dd7937981e2fb7 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Mon Mar 9 12:15:53 2015 +0200 staging: iio: dummy: Fix undefined symbol build error CONFIG_SIMPLE_DUMMY_BUFFER compiles in iio_simple_dummy_buffer.c file which uses functions from industrialio-trigger.c. So, CONFIG_SIMPLE_DUMMY_BUFFER needs to select IIO_TRIGGER in order to avoid build error like this: > ERROR: "iio_trigger_notify_done" [drivers/staging/iio/iio_dummy.ko] undefined! > ERROR: "iio_triggered_buffer_postenable" [drivers/staging/iio/iio_dummy.ko] undefined! > ERROR: "iio_triggered_buffer_predisable" [drivers/staging/iio/iio_dummy.ko] undefined! > ERROR: "iio_alloc_pollfunc" [drivers/staging/iio/iio_dummy.ko] undefined! > ERROR: "iio_dealloc_pollfunc" [drivers/staging/iio/iio_dummy.ko] undefined! Cc: Arnd Bergmann <arnd@xxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4dac0a8eefd55bb1f157d1a5a084531334a2d74c Author: Viorel Suman <viorel.suman@xxxxxxxxx> Date: Wed Feb 18 20:05:21 2015 +0200 iio: inv_mpu6050: Clear timestamps fifo while resetting hardware fifo A hardware fifo reset always imply an invalidation of the existing timestamps, so we'll clear timestamps fifo on successfull hardware fifo reset. Signed-off-by: Viorel Suman <viorel.suman@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8d09f48adfd282157f6afc94d2502b44156cb12f Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Sat Feb 28 21:54:42 2015 +0100 staging: iio: hmc5843: Set iio name property in sysfs Without this change file name for hmc5843 is empty in /sys/bus/iio/devices/iio\:device*/name With this change name is reported correctly: cat /sys/bus/iio/devices/iio\:device*/name hmc5843 Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0ba8da961bd868c67a8dae3dbbee145514515e9c Author: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@xxxxxxxxx> Date: Tue Mar 3 18:17:56 2015 +0200 iio: bmc150: change sampling frequency Currently driver reports device bandwidth list as available sampling frequency. But sampling frequency is actually twice the device bandwidth. This patch fixes this issue. Signed-off-by: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@xxxxxxxxx> Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5f1764ddfeb038decfe2b2fda030d0bed43fa36a Merge: 2801be4 b6d595e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 14 14:29:45 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== Here's another set of Bluetooth & ieee802154 patches intended for 4.1: - Added support for QCA ROME chipset family in the btusb driver - at86rf230 driver fixes & cleanups - ieee802154 cleanups - Refactoring of Bluetooth mgmt API to allow new users - New setting for static Bluetooth address exposed to user space - Refactoring of hci_dev flags to remove limit of 32 - Remove unnecessary fast-connectable setting usage restrictions - Fix behavior to be consistent when trying to pair already paired device - Service discovery corner-case fixes Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fad034c636cb57686f778d1c80513acbdaf8ec5 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Thu Mar 12 18:52:50 2015 +0300 iio: Add ABI documentation for proximity scan_elements This patch adds ABI documentation entries for in_proximity_en, in_proximity_type, and in_proximity_index in the scan_elements directory. At least one user for these is present, the AS3935 Franklin lightning sensor. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d5d7c4af759be386d45e21f6758fb516d0c1c165 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Fri Mar 13 21:06:58 2015 +0530 iio: Add ABI documentation for in_magn offset value This patch adds ABI documentation entries for in_magn_offset. There is one user, hid-sensor-magn-3d in drivers/iio/magnetometer. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b6d595e3f74fe0dd9edc0d5bf30cd6e6fe29f023 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:35 2015 +0100 ieee802154: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 51b3b2cfc64dbfa91d08077abf0791e36c44f916 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 9 13:56:12 2015 +0100 at86rf230: fix volatile regmap registers These registers are also changed by transceiver and should be volatile for right accessing via regmap debugfs. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dce481e63dc18ece7c86c607aa17b7c753fce0b7 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 9 13:56:11 2015 +0100 at86rf230: add support for calibration timeout This patch adds a handling for calibration if we are 5 minutes in PLL state. I first tried to implement the calibration functionality in TX_ON state via register values CF_START and DCU_START, but this occurs a one second delay at each calibration time. An another solution to start a calibration is to switch from TRX_OFF state into TX_ON, then a calibration is done automatically by transceiver. This method will be used in this patch, after each transmit of a frame we check with jiffies if the PLL is set 5 minutes without doing a TRX_OFF->(TX_ON || RX_AACK_ON) or channel switch. The worst case would be a transceiver in receiving mode only, but this is under normal operation very unlikely. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Phoebe Buckheister <phoebe.buckheister@xxxxxxxxxxxxxxxxxx> Cc: Werner Almesberger <werner@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit eb3b435ecdb84d05698db862ce316b3c682f9a95 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 9 13:56:10 2015 +0100 at86rf230: replace state change sleeps with hrtimer This patch replace the state change timing relevant sleeps with hrtimers. Currently the sleeps are done in the complete handler of spi_async. The relation of doing the state change timing sleep with a timer will get the sleep functionality out of spi_async complete handler context. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e3721749000e11ba3f315efc5c98bf4cd5662f99 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sat Mar 7 22:07:07 2015 +0100 at86rf230: init xtal_trim with zero This patch initialize xtal_trim value to zero. The xtal_trim property is an optional device tree value. Currently if no xtal_trim property is given the xtal_trim value can be contain random data, because it's a stack variable. This patch init the xtal_trim value to zero which is also the default value after reset for at86rf230 transceivers. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3f3c4bb5ec7c645d1151e1e8d6e56c71a050cf85 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Mar 4 21:19:59 2015 +0100 mac802154: correct max sifs size handling This patch fix the max sifs size correction when the IEEE802154_HW_TX_OMIT_CKSUM flag is set. With this flag the sk_buff doesn't contain the CRC, because the transceiver will add the CRC while transmit. Also add some defines for the max sifs frame size value and frame check sequence according to 802.15.4 standard. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 022d07e3d89157bf787e462bbce7b9ed47c3b563 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 2 15:10:05 2015 +0100 ieee802154: remove deprecated sysfs entries It's only necessary to offer the name and index, others value are available over netlink. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c4dd7471de03f0e4278265e08af2923243496db0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 2 15:10:04 2015 +0100 ieee802154: change wpan-phy name to phy Currently the wpan_phy under /sys/class/ieee802154/ is named as "wpan-phy#", this patch will change the name to phy. This will introduce the same naming convention like wireless. Note: wpan-tools users will not type "wpan-phy#" anymore, just a simple "phy#" is enough. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 965e613d299cdcc9393765f68b92591f20ed0dcc Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 2 15:10:03 2015 +0100 ieee802154: 6lowpan: fix ARPHRD to ARPHRD_6LOWPAN Currently there exists two interface types with ARPHRD_IEEE802154. These are the 802.15.4 interfaces and 802.15.4 6LoWPAN interfaces. This is more a bug because some userspace applications checks on this value like wireshark. This occurs that wireshark will always try to parse a lowpan interface as 802.15.4 frames. With ARPHRD_6LOWPAN wireshark will parse it as IPv6 frames which is correct. Much applications checks on this value to readout the EUI64 mac address which should be the same for ARPHRD_6LOWPAN. BTLE 6LoWPAN and ieee802154 6LoWPAN will share now the same ARPHRD. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1a74847885cc87857d631f91cca4d83924f75674 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Mar 13 17:02:55 2015 +0000 arm/arm64: KVM: Fix migration race in the arch timer When a VCPU is no longer running, we currently check to see if it has a timer scheduled in the future, and if it does, we schedule a host hrtimer to notify is in case the timer expires while the VCPU is still not running. When the hrtimer fires, we mask the guest's timer and inject the timer IRQ (still relying on the guest unmasking the time when it receives the IRQ). This is all good and fine, but when migration a VM (checkpoint/restore) this introduces a race. It is unlikely, but possible, for the following sequence of events to happen: 1. Userspace stops the VM 2. Hrtimer for VCPU is scheduled 3. Userspace checkpoints the VGIC state (no pending timer interrupts) 4. The hrtimer fires, schedules work in a workqueue 5. Workqueue function runs, masks the timer and injects timer interrupt 6. Userspace checkpoints the timer state (timer masked) At restore time, you end up with a masked timer without any timer interrupts and your guest halts never receiving timer interrupts. Fix this by only kicking the VCPU in the workqueue function, and sample the expired state of the timer when entering the guest again and inject the interrupt and mask the timer only then. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 47a98b15ba7cf6a13bd94ab8455d3f586b16420b Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Mar 13 17:02:54 2015 +0000 arm/arm64: KVM: support for un-queuing active IRQs Migrating active interrupts causes the active state to be lost completely. This implements some additional bitmaps to track the active state on the distributor and export this to user space. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 71760950bf3dc796e5e53ea3300dec724a09f593 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Fri Mar 13 17:02:53 2015 +0000 arm/arm64: KVM: add a common vgic_queue_irq_to_lr fn This helps re-factor away some of the repetitive code and makes the code flow more nicely. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit ecccf0cc722f40e0dcc97872e7a960765119a256 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Fri Mar 13 17:02:52 2015 +0000 arm/arm64: KVM: export VCPU power state via MP_STATE ioctl To cleanly restore an SMP VM we need to ensure that the current pause state of each vcpu is correctly recorded. Things could get confused if the CPU starts running after migration restore completes when it was paused before it state was captured. We use the existing KVM_GET/SET_MP_STATE ioctl to do this. The arm/arm64 interface is a lot simpler as the only valid states are KVM_MP_STATE_RUNNABLE and KVM_MP_STATE_STOPPED. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 9ed1d862d7244b104c1519b329ec307b46bcf2a3 Merge: 58b59e0 bf07038 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sat Mar 14 12:08:53 2015 +0100 Merge branch 'i2c/quirks' into i2c/for-4.1 Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit bf07038051ddd6c1e017cd50933e314040a69b11 Author: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 15:25:33 2015 +0100 i2c: opal: Update quirk flags to do write-then-anything Hardware can do write-then-anything. Activate that. Signed-off-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> [wsa: cosmetic updates] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 13f0c2b0f67d6f04b21cedce726284b67457bd2f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 10 21:44:35 2015 +0100 udf: remove redundant buffer_head.h includes buffer_head.h was already included in udfdecl.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 6fbaad879ae7ba75196b55bab216b9b4d0a541b3 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 10 21:44:33 2015 +0100 udf: remove else after return in __load_block_bitmap() else after return is not needed. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit f4a45c99ae38d53ebb7f26ba3a05c7edab797ce7 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 10 21:44:31 2015 +0100 udf: remove unused variable in udf_table_free_blocks() Fix set but not used warning. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 0d8bb414cf51aa4fd847741233057da50f72a7a3 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Sat Feb 14 04:53:03 2015 +0000 ixgbevf: Use ether_addr_copy() instead of memcpy() Use the macro to copy the Ethernet address instead of memcpy(). Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> commit dec0d8e462322aec38990856aafb0cfbf686f4ff Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Tue Feb 10 11:42:33 2015 +0000 ixgbevf: Fix code comments and whitespace Fix the code comments to align with drivers/net/ code commenting style, as well as whitespace issues. The whitespace issues resolve checkpatch errors, like lines exceeding 80 chars (except for strings) and the use of tabs where possible. CC: <kernel-team@xxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> commit 856f606ea9756d1222bbd137641024e29d9d6b43 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Feb 25 17:45:54 2015 +0000 ixgbe: Remove IXGBE_FLAG_IN_NETPOLL since it doesn't do anything This patch removes some dead code from the cleanup path for ixgbe. Setting and clearing the flag doesn't do anything since all we are doing is setting the flag, scheduling NAPI, clearing the flag and then letting netpoll do the polling cleanup. As such it doesn't make much sense to have it there. This patch also removes one minor white-space error. CC: <kernel-team@xxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 887012e80aeaf36968456e8085abf41aee907707 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Mar 13 14:04:35 2015 -0700 ixgbe: enable relaxed ordering for SPARC This patch makes sure that relaxed ordering is not disabled when on SPARC, where it helps with performance. CC: <kernel-team@xxxxxx> CC: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Reported-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> commit d3a6097b25e09751cba787b33eba26ab4df86215 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:20 2015 +0100 arm: mach-pxa: Decrement the power supply's device reference counter Use power_supply_put() to decrement the power supply's device reference counter. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6ff9d25baf0101bbae2c443e26d60233ea8f2680 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:19 2015 +0100 mfd: ab8500: Decrement the power supply's device reference counter Use power_supply_put() to decrement the power supply's device reference counter. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1a8dbe6f923864fa01d5ffa43745804474d5f43d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:18 2015 +0100 power_supply: bq2415x_charger: Decrement the power supply's device reference counter Use power_supply_put() to decrement the power supply's device reference counter (increased by power_supply_get_by_name() or power_supply_get_by_phandle()). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 52016ac072dac298fcd8764ccce46a1a7be18728 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:17 2015 +0100 power_supply: 88pm860x_charger: Decrement the power supply's device reference counter Use power_supply_put() to decrement the power supply's device reference counter. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 67273a1b421a12ef77bcf08b027d165f399054ae Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:16 2015 +0100 x86/olpc/xo15/sci: Use newly added power_supply_put API Replace direct usage of put_device() with new API: power_supply_put(). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ed6dad52298152a5c493223234e431f206c5a46b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:15 2015 +0100 x86/olpc/xo1/sci: Use newly added power_supply_put API Replace direct usage of put_device() with new API: power_supply_put(). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b43eb35abfdeb4a999f8214ae25f2556227eb030 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:14 2015 +0100 power_supply: charger-manager: Decrement the power supply's device reference counter Use power_supply_put() to decrement the power supply's device reference counter. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 03e81acce5568c7105dc5bef6984c8b0edfe8d45 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:13 2015 +0100 power_supply: Increment power supply use counter when obtaining references Increment the power_supply.use_cnt usage counter on: - power_supply_get_by_phandle() - power_supply_get_by_name() and decrement it on power_supply_put() call. This helps tracking of valid usage of power supply instance by consumers. The usage counter itself also allows safe calling of power_supply_get_property-like functions even when driver unregisters this power supply. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1a352462b5377ac68f5955d674b3460c7bac52a3 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:12 2015 +0100 power_supply: Add power_supply_put for decrementing device reference counter The power_supply_get_by_phandle() and power_supply_get_by_name() use function class_find_device() for obtaining the reference to power supply. Each use of class_find_device() increases the power supply's device reference counter. However the reference counter was not decreased by users of this API. Thus final device_unregister() call from power_supply_unregister() could not release the device and clean up its resources. This lead to memory leak if at least once power_supply_get_by_*() was called between registering and unregistering the power supply. Add and document new API power_supply_put() for decrementing the reference counter. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 297d716f6260cc9421d971b124ca196b957ee458 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:11 2015 +0100 power_supply: Change ownership from driver to core Change the ownership of power_supply structure from each driver implementing the class to the power supply core. The patch changes power_supply_register() function thus all drivers implementing power supply class are adjusted. Each driver provides the implementation of power supply. However it should not be the owner of power supply class instance because it is exposed by core to other subsystems with power_supply_get_by_name(). These other subsystems have no knowledge when the driver will unregister the power supply. This leads to several issues when driver is unbound - mostly because user of power supply accesses freed memory. Instead let the core own the instance of struct 'power_supply'. Other users of this power supply will still access valid memory because it will be freed when device reference count reaches 0. Currently this means "it will leak" but power_supply_put() call in next patches will solve it. This solves invalid memory references in following race condition scenario: Thread 1: charger manager Thread 2: power supply driver, used by charger manager THREAD 1 (charger manager) THREAD 2 (power supply driver) ========================== ============================== psy = power_supply_get_by_name() Driver unbind, .remove power_supply_unregister() Device fully removed psy->get_property() The 'get_property' call is executed in invalid context because the driver was unbound and struct 'power_supply' memory was freed. This could be observed easily with charger manager driver (here compiled with max17040 fuel gauge): $ cat /sys/devices/virtual/power_supply/cm-battery/capacity & $ echo "1-0036" > /sys/bus/i2c/drivers/max17040/unbind [ 55.725123] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 55.732584] pgd = d98d4000 [ 55.734060] [00000000] *pgd=5afa2831, *pte=00000000, *ppte=00000000 [ 55.740318] Internal error: Oops: 80000007 [#1] PREEMPT SMP ARM [ 55.746210] Modules linked in: [ 55.749259] CPU: 1 PID: 2936 Comm: cat Tainted: G W 3.19.0-rc1-next-20141226-00048-gf79f475f3c44-dirty #1496 [ 55.760190] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 55.766270] task: d9b76f00 ti: daf54000 task.ti: daf54000 [ 55.771647] PC is at 0x0 [ 55.774182] LR is at charger_get_property+0x2f4/0x36c [ 55.779201] pc : [<00000000>] lr : [<c034b0b4>] psr: 60000013 [ 55.779201] sp : daf55e90 ip : 00000003 fp : 00000000 [ 55.790657] r10: 00000000 r9 : c06e2878 r8 : d9b26c68 [ 55.795865] r7 : dad81610 r6 : daec7410 r5 : daf55ebc r4 : 00000000 [ 55.802367] r3 : 00000000 r2 : daf55ebc r1 : 0000002a r0 : d9b26c68 [ 55.808879] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user [ 55.815994] Control: 10c5387d Table: 598d406a DAC: 00000015 [ 55.821723] Process cat (pid: 2936, stack limit = 0xdaf54210) [ 55.827451] Stack: (0xdaf55e90 to 0xdaf56000) [ 55.831795] 5e80: 60000013 c01459c4 0000002a c06f8ef8 [ 55.839956] 5ea0: db651000 c06f8ef8 daebac00 c04cb668 daebac08 c0346864 00000000 c01459c4 [ 55.848115] 5ec0: d99eaa80 c06f8ef8 00000fff 00001000 db651000 c027f25c c027f240 d99eaa80 [ 55.856274] 5ee0: d9a06c00 c0146218 daf55f18 00001000 d99eaa80 db4c18c0 00000001 00000001 [ 55.864468] 5f00: daf55f80 c0144c78 c0144c54 c0107f90 00015000 d99eaab0 00000000 00000000 [ 55.872603] 5f20: 000051c7 00000000 db4c18c0 c04a9370 00015000 00001000 daf55f80 00001000 [ 55.880763] 5f40: daf54000 00015000 00000000 c00e53dc db4c18c0 c00e548c 0000000d 00008124 [ 55.888937] 5f60: 00000001 00000000 00000000 db4c18c0 db4c18c0 00001000 00015000 c00e5550 [ 55.897099] 5f80: 00000000 00000000 00001000 00001000 00015000 00000003 00000003 c000f364 [ 55.905239] 5fa0: 00000000 c000f1a0 00001000 00015000 00000003 00015000 00001000 0001333c [ 55.913399] 5fc0: 00001000 00015000 00000003 00000003 00000002 00000000 00000000 00000000 [ 55.921560] 5fe0: 7fffe000 be999850 0000a225 b6f3c19c 60000010 00000003 00000000 00000000 [ 55.929744] [<c034b0b4>] (charger_get_property) from [<c0346864>] (power_supply_show_property+0x48/0x20c) [ 55.939286] [<c0346864>] (power_supply_show_property) from [<c027f25c>] (dev_attr_show+0x1c/0x48) [ 55.948130] [<c027f25c>] (dev_attr_show) from [<c0146218>] (sysfs_kf_seq_show+0x84/0x104) [ 55.956298] [<c0146218>] (sysfs_kf_seq_show) from [<c0144c78>] (kernfs_seq_show+0x24/0x28) [ 55.964536] [<c0144c78>] (kernfs_seq_show) from [<c0107f90>] (seq_read+0x1b0/0x484) [ 55.972172] [<c0107f90>] (seq_read) from [<c00e53dc>] (__vfs_read+0x18/0x4c) [ 55.979188] [<c00e53dc>] (__vfs_read) from [<c00e548c>] (vfs_read+0x7c/0x100) [ 55.986304] [<c00e548c>] (vfs_read) from [<c00e5550>] (SyS_read+0x40/0x8c) [ 55.993164] [<c00e5550>] (SyS_read) from [<c000f1a0>] (ret_fast_syscall+0x0/0x48) [ 56.000626] Code: bad PC value [ 56.011652] ---[ end trace 7b64343fbdae8ef1 ]--- Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> [for the nvec part] Reviewed-by: Marc Dietrich <marvin24@xxxxxx> [for compal-laptop.c] Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> [for the mfd part] Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> [for the hid part] Acked-by: Jiri Kosina <jkosina@xxxxxxx> [for the acpi part] Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b70229bca127283c3d30e5f471d30b1acccd7096 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:10 2015 +0100 power_supply: charger-manager: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d7bdffb91a240afd6097d557590e79fac5c5a99c Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:09 2015 +0100 power_supply: bq2415x_charger: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 75599d365367fe4a5bf7b10451f19a99369af219 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:08 2015 +0100 power_supply: apm_power: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 091e73a23a81efd2a01523178e9086ed346384ac Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:07 2015 +0100 mfd: ab8500: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 15077fc1f78488169ee5b87f553d17c1afcb1255 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:06 2015 +0100 power_supply: ab8500: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 465c436b9e957c9db4770090e4c6086d97a6b893 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:05 2015 +0100 power_supply: 88pm860x_charger: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property - set_property -> power_supply_set_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ee8f334a9a467aba2c861a00be7c48dad549700a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:04 2015 +0100 power_supply: sysfs: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property - set_property -> power_supply_set_property - property_is_writeable -> power_supply_property_is_writeable Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit bc1540561c9ede1efb6d7bf44804676d3d02a3cc Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:03 2015 +0100 power_supply: Add API for safe access of power supply function attrs Add simple wrappers for accessing power supply's function attributes: - get_property -> power_supply_get_property - set_property -> power_supply_set_property - property_is_writeable -> power_supply_property_is_writeable - external_power_changed -> power_supply_external_power_changed This API along with atomic usage counter adds a safe way of accessing a power supply from another driver. If power supply is unregistered after obtaining reference to it by some driver, then the API wrappers won't be executed in invalid (freed) context. Next patch changing the ownership of power supply class is still needed to fully fix race conditions in accessing freed power supply. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2dc9215d7c94f7f9f34ccf8b1710ad73d82f6216 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:02 2015 +0100 power_supply: Move run-time configuration to separate structure Add new structure 'power_supply_config' for holding run-time initialization data like of_node, supplies and private driver data. The power_supply_register() function is changed so all power supply drivers need updating. When registering the power supply this new 'power_supply_config' should be used instead of directly initializing 'struct power_supply'. This allows changing the ownership of power_supply structure from driver to the power supply core in next patches. When a driver does not use of_node or supplies then it should use NULL as config. If driver uses of_node or supplies then it should allocate config on stack and initialize it with proper values. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> [for the nvec part] Reviewed-by: Marc Dietrich <marvin24@xxxxxx> [for drivers/platform/x86/compal-laptop.c] Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> [for drivers/hid/*] Reviewed-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e44ea364394499d38a26ed4c9668fb378ae8797f Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:01 2015 +0100 power_supply: Add driver private data Allow drivers to store private data inside power_supply structure for later usage in power supply operations. Usage of driver private data is necessary to access driver's state container object from power supply calls (like get_property()) if struct 'power_supply' is a stored there as a pointer, for example: struct some_driver_info { struct i2c_client *client; struct power_supply *power_supply; ... } In such case one cannot use container_of() and must store pointer to state container as private data. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1915a718b1872edffcb13e5436a9f7302d3d36f0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:00 2015 +0100 compal-laptop: Check return value of power_supply_register The return value of power_supply_register() call was not checked and even on error probe() function returned 0. If registering failed then during unbind the driver tried to unregister power supply which was not actually registered. This could lead to memory corruption because power_supply_unregister() unconditionally cleans up given power supply. Fix this by checking return status of power_supply_register() call. In case of failure, clean up sysfs entries and fail the probe. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 9be0fcb5ed46 ("compal-laptop: add JHL90, battery & hwmon interface") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ad774702f1705c04e5fa492b793d8d477a504fa6 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:43:59 2015 +0100 compal-laptop: Fix leaking hwmon device The commit c2be45f09bb0 ("compal-laptop: Use devm_hwmon_device_register_with_groups") wanted to change the registering of hwmon device to resource-managed version. It mostly did it except the main thing - it forgot to use devm-like function so the hwmon device leaked after device removal or probe failure. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: c2be45f09bb0 ("compal-laptop: Use devm_hwmon_device_register_with_groups") Cc: <stable@xxxxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 724e7bfcc566375158219c1454b4b6fc416b2c4a Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Mar 11 14:08:19 2015 -0400 audit: Remove condition which always evaluates to false After commit 3e1d0bb6224f019893d1c498cc3327559d183674 ("audit: Convert int limit uses to u32"), by converting an int to u32, few conditions will always evaluate to false. These warnings were emitted during compilation: kernel/audit.c: In function â??audit_set_enabledâ??: kernel/audit.c:347:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if (state < AUDIT_OFF || state > AUDIT_LOCKED) ^ kernel/audit.c: In function â??audit_receive_msgâ??: kernel/audit.c:880:9: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if (s.backlog_wait_time < 0 || The following patch removes those unnecessary conditions. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 32dcfba6f8df667e4b915e0542b33ccbc8e76fa8 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 11 15:06:00 2015 +1100 selftests: Add install target This adds make install support to selftests. The basic usage is: $ cd tools/testing/selftests $ make install That installs into tools/testing/selftests/install, which can then be copied where ever necessary. The install destination is also configurable using eg: $ INSTALL_PATH=/mnt/selftests make install The implementation uses two targets in the child makefiles. The first "install" is expected to install all files into $(INSTALL_PATH). The second, "emit_tests", is expected to emit the test instructions (ie. bash script) on stdout. Separating this from install means the child makefiles need no knowledge of the location of the test script. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 5e29a9105b1a0da86eff0ad6ae015997b49d4d1d Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 11 15:05:59 2015 +1100 selftests: Introduce minimal shared logic for running tests This adds a Make include file which most selftests can then include to get the run_tests logic. On its own this has the advantage of some reduction in repetition, and also means the pass/fail message is defined in fewer places. However the key advantage is it will allow us to implement install very simply in a subsequent patch. The default implementation just executes each program in $(TEST_PROGS). We use a variable to hold the default implementation of $(RUN_TESTS) because that gives us a clean way to override it if necessary, ie. using override. The mount, memory-hotplug and mqueue tests use that to provide a different implementation. Tests are not run via /bin/bash, so if they are scripts they must be executable, we add a+x to several. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 63fb2e854dd6c43f527d8cbe4d19c58ba2cc1ee3 Merge: 4c07142 598e085 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Mar 13 22:08:58 2015 +0100 Merge tag 'at91-cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/cleanup Pull "Second batch of cleanup for 4.1" from Nicolas Ferre: - remove unused matrix header files - dbgu + chip identification: new driver for SoC detection this allow to remove all additional io mapping - remove old non-standard AT91 setup code First batch of cleanup for 4.1: - little phy fixup that is not needed anymore - hudge cleanup of the PM code: - removal of "use slow clock" option => always use this for suspend to RAM - quicker suspend as the asm function is copied only once to SRAM - use of the same asm function for "standby" and "mem" types of suspend actions - adaptation to the ARMv7 processors * tag 'at91-cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (44 commits) ARM: at91: remove old setup ARM: at91: sama5d4: remove useless map_io ARM: at91: sama5 use SoC detection infrastructure ARM: at91: at91sam9: use SoC detection infrastructure ARM: at91: at91rm9200 use SoC detection infrastructure ARM: at91: add soc detection infrastructure ARM: at91/dt: introduce atmel,<chip>-dbgu ARM: at91: remove unused _matrix.h headers ARM: at91: remove unused at91_ioremap_matrix and header ARM: at91: remove NEED_MACH_IO_H ARM: at91/pm: flush data cache and clean, invalidate and disable the L2 cache ARM: at91/pm_suspend: add the WFI instruction support for ARMv7 ARM: at91/pm: remove unused void (*at91_pm_standby)(void) ARM: at91/pm: rename function name: at91_slow_clock() --> at91_pm_suspend_sram_fn() ARM: at91/pm: rename file name: pm_slowclock.S --> pm_suspend.S ARM: at91/pm: standby mode uses same sram function as suspend to memory mode ARM: at91/pm: move the copying the sram function to the sram initialization phase ARM: at91/pm_slowclock: create the procedure to handle the sdram self-refresh ARM: at91/pm_slowclock: remove clocks which are already stopped when entering slow clock mode ARM: at91/pm: remove CONFIG_AT91_SLOW_CLOCK config option ... commit bc035fc55ecbe50fd087270e8312a090b5eccb3a Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Fri Mar 13 14:03:25 2015 -0700 ixgbe: cleanup make ixgbe_set_ethertype_anti_spoofing_X550 static Correcting a mistake when I initial created this function. I should have made this static since it is only referenced where the function pointer is assigned. CC: <kernel-team@xxxxxx> Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ef5398bb8df89c4af3f1f21c4190dfef0e80d45e Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Fri Mar 13 14:01:34 2015 -0700 ixgbe: Clean up type inconsistency Missed this when I created commit 6a14ee0cfb197 ("ixgbe: Add X550 support function pointers"). Use a the __be* type to be consistent with how the value is assigned. CC: <kernel-team@xxxxxx> Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1f9ac57cad1448793844dcfe5b5e00407f2c6490 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Fri Mar 13 13:54:30 2015 -0700 ixgbe: add new wrapper for X550 support For the X550 mac type we have to do additional steps around enabling/disabling Rx. This patch will add a layer of indirection around these support functions to enable this. CC: <kernel-team@xxxxxx> Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2801be4a0ea4cd0965f9c12ff813a91892a8e157 Merge: d6707be ddd0ca5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 13 15:52:38 2015 -0400 Merge branch 'bcmgenet_xmit_more' Florian Fainelli says: ==================== net: bcmgenet: xmit_more support This patch series adds xmit_more support to the GENET driver by allowing the deferal of the producer index write to the TDMA engine. Changes in v2: - move the netif_tx_stop_queue check *before* updating the producer index ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ddd0ca5d60b350bbfbfb60b25885a9779ce6d6c7 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Mar 13 12:11:07 2015 -0700 net: bcmgenet: add support for xmit_more Delay the update of the TDMA producer index unless this is the last SKB in a batch, or the queue is already stopped. Move the check for whether the queue should be stopped before the xmit_more check to avoid locking the transmit queue in case there was a SKB submitted which has xmit_more set. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae67bf0188cbb9d1786bdfcca9e1976cb36ee327 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Mar 13 12:11:06 2015 -0700 net: bcmgenet: update ring producer index and buffer count in xmit There is no need to have both bcmgenet_xmit_single() and bcmgenet_xmit_frag() perform a free_bds decrement and a prod_index increment by one. In case one of these functions fails to map a SKB or fragment for transmit, we will return and exit bcmgenet_xmit() with an error. We can therefore safely use our local copy of nr_frags to know by how much we should decrement the number of free buffers available, and by how much the producer count must be incremented and do this in the tail of bcmgenet_xmit(). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6707bec598649450ee0887bf11896e525777874 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Thu Mar 12 15:48:00 2015 -0700 net: bcmgenet: rewrite bcmgenet_rx_refill() Currently, bcmgenet_desc_rx() calls bcmgenet_rx_refill() at the end of Rx packet processing loop, after the current Rx packet has already been passed to napi_gro_receive(). However, bcmgenet_rx_refill() might fail to allocate a new Rx skb, thus leaving a hole on the Rx queue where no valid Rx buffer exists. To eliminate this situation: 1. Rewrite bcmgenet_rx_refill() to retain the current Rx skb on the Rx queue if a new replacement Rx skb can't be allocated and DMA-mapped. In this case, the data on the current Rx skb is effectively dropped. 2. Modify bcmgenet_desc_rx() to call bcmgenet_rx_refill() at the top of Rx packet processing loop, so that the new replacement Rx skb is already in place before the current Rx skb is processed. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Tested-by: Jaedon Shin <jaedon.shin@xxxxxxxxx>-- Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46f5cace1cd0559c335dfd4a5b8f57456d1bd6a1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:42 2015 -0700 usb: phy: msm: Remove dead code This code is no longer used now that mach-msm has been removed. Delete it. Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b7cb93e52839ee44959adabc17c2a17422e6bd4b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 10:20:35 2015 -0700 Bluetooth: Merge hdev->dbg_flags fields into hdev->dev_flags With the extension of hdev->dev_flags utilizing a bitmap now, the space is no longer restricted. Merge the hdev->dbg_flags into hdev->dev_flags to save space on 64-bit architectures. On 32-bit architectures no size reduction happens. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 598e085590fc5ac1fecff00e842a8a6c2ae010e5 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:31 2015 +0100 ARM: at91: remove old setup The old setup is not used anymore, remove it Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 075fcc9f71dc0c76c32073a507f644c5b6fd3c20 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 20:17:46 2015 +0100 ARM: at91: sama5d4: remove useless map_io All the peripheral remapped at io_map are taken care of by their respective drivers. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ae1f57670703656cc9f293722c3b8b6782f8ab3f Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Mar 9 20:56:43 2015 +0100 KVM: nVMX: Do not emulate #UD while in guest mode While in L2, leave all #UD to L2 and do not try to emulate it. If L1 is interested in doing this, it reports its interest via the exception bitmap, and we never get into handle_exception of L0 anyway. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 43fc884efe20bcc0fae60d8212c6e66426a3d8b0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 13 14:51:25 2015 +0200 drm: Silence sparse warnings ../drivers/gpu/drm/drm_vm.c:405:6: warning: symbol 'drm_vm_open_locked' was not declared. Should it be static? ../drivers/gpu/drm/drm_vm.c:431:6: warning: symbol 'drm_vm_close_locked' was not declared. Should it be static? ../drivers/gpu/drm/drm_vm.c:681:5: warning: symbol 'drm_vma_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_pci.c:146:5: warning: symbol 'drm_pci_set_unique' was not declared. Should it be static? ../drivers/gpu/drm/drm_pci.c:216:5: warning: symbol 'drm_irq_by_busid' was not declared. Should it be static? ../drivers/gpu/drm/drm_info.c:47:5: warning: symbol 'drm_name_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_info.c:72:5: warning: symbol 'drm_vm_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_info.c:116:5: warning: symbol 'drm_bufs_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_info.c:159:5: warning: symbol 'drm_clients_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_info.c:209:5: warning: symbol 'drm_gem_name_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_ioc32.c:1019:20: warning: symbol 'drm_compat_ioctls' was not declared. Should it be static? ../drivers/gpu/drm/drm_bridge.c:52:12: warning: function 'drm_bridge_attach' with external linkage has definition Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eacb44dff98559d4682072c0061e1ecb63687e9c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 09:04:17 2015 -0700 Bluetooth: Use DECLARE_BITMAP for hdev->dev_flags field The hdev->dev_flags field has outgrown itself on 32-bit systems. So instead of hacking around it, switch to using DECLARE_BITMAP. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b34a80517bfcd917bc59d9670d8f465a564af3b9 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Mar 9 20:27:43 2015 +0100 KVM: x86: Fix re-execution of patched vmmcall For a very long time (since 2b3d2a20), the path handling a vmmcall instruction of the guest on an Intel host only applied the patch but no longer handled the hypercall. The reverse case, vmcall on AMD hosts, is fine. As both em_vmcall and em_vmmcall actually have to do the same, we can fix the issue by consolidating both into the same handler. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit cd590b50a9367b52520f6866b27f72317bb1a07e Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Mar 11 11:06:09 2015 -0700 ARM: dts: enable PCIe support for Cygnus Add PCIe device nodes in bcm-cygnus.dtsi but keep them disabled there. Only enable them for bcm958300k where PCIe interfaces are populated Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 04b2fa9f8f36ec6fb6fd1c9dc9df6fff0cd27323 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Feb 2 14:49:06 2015 +0100 fs: split generic and aio kiocb Most callers in the kernel want to perform synchronous file I/O, but still have to bloat the stack with a full struct kiocb. Split out the parts needed in filesystem code from those in the aio code, and only allocate those needed to pass down argument on the stack. The aio code embedds the generic iocb in the one it allocates and can easily get back to it by using container_of. Also add a ->ki_complete method to struct kiocb, this is used to call into the aio code and thus removes the dependency on aio for filesystems impementing asynchronous operations. It will also allow other callers to substitute their own completion callback. We also add a new ->ki_flags field to work around the nasty layering violation recently introduced in commit 5e33f6 ("usb: gadget: ffs: add eventfd notification about ffs events"). Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 599bd19bdc4c6b20fd91d50f2f79dececbaf80c1 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Feb 11 19:59:44 2015 +0100 fs: don't allow to complete sync iocbs through aio_complete The AIO interface is fairly complex because it tries to allow filesystems to always work async and then wakeup a synchronous caller through aio_complete. It turns out that basically no one was doing this to avoid the complexity and context switches, and we've already fixed up the remaining users and can now get rid of this case. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9d5722b7777e64de2d932f46cfee7765fdcc60d6 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Feb 2 14:59:43 2015 +0100 fuse: handle synchronous iocbs internally Based on a patch from Maxim Patlasov <MPatlasov@xxxxxxxxxxxxx>. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ab330cf3888d8e0779fa05a243d53ba9f53a7ba9 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Thu Mar 12 15:35:20 2015 +0900 usb: renesas_usbhs: add support for USB-DMAC Some Renesas SoCs have the USB-DMAC. It is able to terminate transfers when a short packet is received, even if less bytes than the transfer counter size have been received. Also, it is able to send a short packet even if the packet size is not multiples of 8bytes. Since the previous code has used the interruption of USBHS controller when receiving packets even if this driver has used a dmac, a lot of interruptions has happened. This patch will reduce such interruptions. This patch allows to use the USB-DMAC on R-Car H2 and M2. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9b53d9af7aac09cf249d72bfbf15f08e47c4f7fe Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Thu Mar 12 15:35:19 2015 +0900 usb: renesas_usbhs: fix the sequence in xfer_work() This patch fixes the setup sequence in xfer_work(). Otherwise, sometimes a usb transaction will get stuck. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7a96b78464bd8ba72c1c3095c543c1402db59e35 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Thu Mar 12 15:35:18 2015 +0900 usb: renesas_usbhs: add the channel number in dma-names To connect the channel of USB-DMAC to USBHS DnFIFO number, this patch adds this channel/FIFO number in dma-names. Otherwise, this driver needs to add analysis code for device tree. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fbdecad99c3f37346ed868fec0c3a9c2809f78e9 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Fri Mar 13 11:08:08 2015 +0100 usb: gadget: f_printer: use non-zero flag for bitwise and USB_DIR_OUT happens to be zero, so the result of bitwise and is always 0. Consequently, break will never happen in the SOFT_RESET case. This patch uses a compatible condition with a non-zero USB_DIR_IN, which might or might not evaluate to zero. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2bb2077ee607703771c35ed74837180760f9ce07 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Mar 13 12:11:42 2015 +0300 usb: gadget: printer: use after free in gprinter_alloc_inst() There was a missing goto so we free "opts" and then dereference it. Fixes: ee1cd515e889 ('usb: gadget: printer: add configfs support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fdb51e3d97552413c851bf8426ef69508389df88 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Mar 13 12:11:06 2015 +0300 usb: gadget: printer: delete some dead code "num" is a u16 so it can't go higher than 65535. kstrtou16() has a range check built in so this is already handled. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d4ae02cc904d916ea6b292e61b79fd3497054067 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Thu Mar 12 10:04:42 2015 -0700 usb: dwc2: pci: Select the generic PHY for dwc2-pci driver The dwc2-pci driver requires the generic PHY. This fixes undefined reference issues when it is not selected. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 16d9efa4b3db0ab69605ff4d03d707d0210f4bf7 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Mar 12 16:46:01 2015 -0500 usb: gadget: serial: %pf is only for function pointers Use %ps for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pf expects a function descriptor (which is not what __builtin_return_address returns). Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx CC: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e7336083e61c915e84e87b52243c4c437e8776a1 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:30 2015 +0100 ARM: at91: sama5 use SoC detection infrastructure Use the soc detection infrastructure for sama5 initialization. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5e57518d99725e8b4ee34cc94669afb79e4cfe4e Author: David Kaplan <david.kaplan@xxxxxxx> Date: Fri Mar 6 14:44:35 2015 -0600 x86: svm: use cr_interception for SVM_EXIT_CR0_SEL_WRITE Another patch in my war on emulate_on_interception() use as a svm exit handler. These were pulled out of a larger patch at the suggestion of Radim Krcmar, see https://lkml.org/lkml/2015/2/25/559 Changes since v1: * fixed typo introduced after test, retested Signed-off-by: David Kaplan <david.kaplan@xxxxxxx> [separated out just cr_interception part from larger removal of INTERCEPT_CR0_WRITE, forward ported, tested] Signed-off-by: Joel Schopp <joel.schopp@xxxxxxx> Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit bfd343aa1718457d34b99ce6573085ac340da288 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Wed Mar 11 23:56:39 2015 -0400 blk-mq: don't wait in blk_mq_queue_enter() if __GFP_WAIT isn't set Return -EBUSY if we're unable to enter a queue immediately when allocating a blk-mq request without __GFP_WAIT. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b2a0bafa758256442e04d1f34d6d0746b846d23d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Mar 5 17:21:32 2015 +0100 ALSA: hda - Use shutdown driver ops instead of reboot notifier The driver shutdown ops is simpler than registering reboot notifier manually. There should be no functional change by this -- the codec driver calls its own callback while the bus driver just calls azx_stop() like before. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b94ec296403e99d5ac9a8c48332cec4118d44b94 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Wed Mar 11 23:56:38 2015 -0400 blk-mq: export blk_mq_run_hw_queues Rename blk_mq_run_queues to blk_mq_run_hw_queues, add async argument, and export it. DM's suspend support must be able to run the queue without starting stopped hw queues. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b62c21b71f08b7a4bfd025616ff1da2913a82904 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Mar 12 23:56:02 2015 -0400 blk-mq: add blk_mq_init_allocated_queue and export blk_mq_register_disk Add a variant of blk_mq_init_queue that allows a previously allocated queue to be initialized. blk_mq_init_allocated_queue models blk_init_allocated_queue -- which was also created for DM's use. DM's approach to device creation requires a placeholder request_queue be allocated for use with alloc_dev() but the decision about what type of request_queue will be ultimately created is deferred until all component devices referenced in the DM table are processed to determine the table type (request-based, blk-mq request-based, or bio-based). Also, because of DM's late finalization of the request_queue type the call to blk_mq_register_disk() doesn't happen during alloc_dev(). Must export blk_mq_register_disk() so that DM can backfill the 'mq' dir once the blk-mq queue is fully allocated. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Reviewed-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6029e0c59b1c80b9669717f055b65588bde9754e Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Mar 5 18:25:12 2015 +0100 Revert "bcma: Kconfig: Let it depend on PCI" This reverts commit b09f5ec18b16b82f4db8a735e453332db7514275. Now that we have fully working BCMA_DRIVER_PCI symbol (in can be safely disabled), there is no risk bcma will try to use PCI code without PCI available. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 982a40f5c0bb03368989a6b1ae833b474854e931 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Mar 5 18:25:11 2015 +0100 bcma: allow disabling (not building) PCI driver It isn't required for bcma bus on SoCs, so provide some empty functions and allow disabling it. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 702131e2a393b45174be326f1dbe20b658b4f157 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Mar 5 18:25:10 2015 +0100 bcma: move PCI IRQ control function to host specific code This function isn't really related to any bus core. It touches PCI device config registers only, so move it to the (PCI) host file. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 64f9b683b6418d946101a9068d133b6daa3a22aa Merge: c202baf 9a30b09 Author: Jens Axboe <axboe@xxxxxx> Date: Fri Mar 13 08:24:49 2015 -0600 Merge branch 'for-linus' into for-4.1/core commit 708c964c5df8536f555bb86a8acb837835808e38 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Tue Mar 10 00:07:08 2015 +0900 rtlwifi: rtl8192cu: remove unused arguments from _beacon_function_enable() Remove unnecessary parameter in rtl8192cu/hw.c Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit dc98b0cb6175016f31c8ef1685dd0d69476aa495 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:58 2015 -0300 ARM: imx_v4_v5_defconfig: Remove CONFIG_MACH_MX25_3DS We do not have CONFIG_MACH_MX25_3DS platform anymore, so update the defconfig. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit aa65f358f6cba71ab2ac144174f7bf65477654ac Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:57 2015 -0300 ARM: mx25: Remove imxdi_rtc platform code platform-imxdi_rtc.c is only used by mx25, so it can safely go away now that mx25 has been converted to dt. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 4a01f3a509bbfac6b38722807f4a7bd1933e1ee0 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:56 2015 -0300 ARM: mx25: Remove "mx25.h" header file As mx25 has been converted to a dt-only platform, we do not need the "mx25.h" header file anymore. Remove it and also clean up all the mx25 occurences from the platform helper code. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 6869a22fcf10ba9e32ad9a6301ee3fe326625fd6 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:55 2015 -0300 ARM: mx25: Remove static memory mapping We use dynamic memory mapping when using dt, so remove all the static mappings. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 76830b267aecf127aea6e9c86230a01b57eb9282 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:30 2015 +0100 libertas_tf: if_usb.c: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL_GPL; @@ -EXPORT_SYMBOL_GPL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d18032d62fe7a84a8bc4867de98233ba5342254b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:29 2015 +0100 ARM: at91: at91sam9: use SoC detection infrastructure Use the soc detection infrastructure for at91sam9 initialization. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7735f03822bc6bba156bc5166c85e636e0fee403 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:28 2015 +0100 ARM: at91: at91rm9200 use SoC detection infrastructure Use the soc detection infrastructure for at91rm9200 initialization. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ea4abe7f3a3216f5d98dcc7a884e10f20b264429 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:27 2015 +0100 ARM: at91: add soc detection infrastructure Add new structures and functions to handle AT91 SoC detection. [alexandre.belloni@xxxxxxxxxxxxxxxxxx: reworked DBGU detection] Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8c07f664a6c48bfc44ce9352c8c2fba55f1d108b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:26 2015 +0100 ARM: at91/dt: introduce atmel,<chip>-dbgu The DBGU is not a simple UART and we need to be able to distinguish it from the other UARTs, in particular to get its address and check the chip id. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit b7e9def92345c97f5ad43a150bcbcf8d44e46310 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:25 2015 +0100 ARM: at91: remove unused _matrix.h headers The matrix headers are not used anymore, remove them. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0d3441928b45cc42fdc8949153e8a0b51615300d Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:24 2015 +0100 ARM: at91: remove unused at91_ioremap_matrix and header at91_ioremap_matrix and the at91_matrix.h header are not used anymore, remove them. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 1be27c62d61d23e8426834785d7989daa6745aa8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Mar 12 15:54:23 2015 +0100 ARM: at91: remove NEED_MACH_IO_H The mach/io.h header on at91 is used to support a nonstandard I/O space window for the cf card driver. This changes the driver to use pci_ioremap_io in order to have the standard location, and then removes the custom mach/io.h. [alexandre.belloni@xxxxxxxxxxxxxxxxxx: Added PCI dependency] Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 338f1ab6c4ea60cbc8ee57b78707d4b8d0219519 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: bcm-iproc: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Ray Jui <rjui@xxxxxxxxxxxx> commit fb3de30cd9c7e90c3e58cfe51b02c768b291873b Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: pmcmsp: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f2325c54f362ffa1e2e3254bcb70d6d4da49a17a Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: viperboard: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7ee405ea068602d1fd42bf14ddc04d45733cfd7d Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: powermac: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit afe90203977bc7ecd7d1048a5ad453a8670c16f5 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: dln2: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 280d230012dc0441e7fd8c722ac06dc370ce78d0 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: axxia: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b94c820f37804a461376205b4919eef300ff3abe Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: cpm: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 994647db6bb2284de7dfee10a51b4d9fec760ed3 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: qup: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> commit a531afdf93489e9357c4207c7bdec9b921ddfe9e Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: opal: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> commit a7405844da1c8064500f0741cc8876c7f887dd85 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: at91: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-By: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> commit b7f625840267b18ef1011cba0085bb7e237d76f7 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Jan 5 23:45:59 2015 +0100 i2c: add quirk checks to core Let the core do the checks if HW quirks prevent a transfer. Saves code from drivers and adds consistency. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Ray Jui <rjui@xxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Tested-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Tested-By: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> commit cf45932a74d4d07c2d05c4e871f2ea5bc0e5891c Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:33 2015 +0100 brcmfmac: fix watchdog timer regression The watchdog timer is used to put the device in a low-power mode when it is idle for some time. This timer is stopped during that mode and should be restarted upon activity. This has been broken by commit d4150fced0365 ("brcmfmac: Simplify watchdog sleep."). This patch restores the behaviour as it was before that commit. Reported-by: Pontus Fuchs <pontusf@xxxxxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9819a9024eabee7bb793bbbb3f3833dfaf222dc9 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:32 2015 +0100 brcmfmac: take save&restore memory into account for SDIO shared info The firmware provides pointer to SDIO shared information at end of RAM during firmware initialization. End of RAM is obviously determined by the actual ram size, but part of that may be used for save&restore memory. In that case another location in RAM will hold the pointer. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0da32ba4ee667ef3c837ee4ebaa230f6f826a822 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:31 2015 +0100 brcmfmac: extract ram size info from internal memory registers Instead of hard-coded memory sizes it is possible to obtain that information from the internal memory registers. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 38f29e1f42b114105e1ffefba0bc183e1e144d0b Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:30 2015 +0100 brcmfmac: assure device is ready for download after brcmf_chip_attach() Make the brcmf_chip_attach() function responsible for putting the device in a state where it is accessible for firmware download. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d380ebc9b6fb552345de3051d9b64e963eaadf46 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:29 2015 +0100 brcmfmac: rename chip download functions The functions brcmf_chip_[enter/exit]_download() are not exclusively used for firmware download so rename these more appropriate. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5ded1c251f8e6c93012ef007e2bade61bff20c7e Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:28 2015 +0100 brcmfmac: always perform cores checks Instead of checking the cores in the chip only if CONFIG_BRCMDBG is selected perform the check always and extend it with more sanity checking. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 55b59fba0f0c700493a63157db8e3ef4300908dc Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:27 2015 +0100 brcmfmac: remove duplication of ramsize info Removing the ramsize from the brcmf_sdio structure to avoid duplication. The information is available in brcmf_chip structure. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2187f03a9576c4fb8342deed912b5ba6fcf98cba Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Jan 5 15:35:39 2015 +0100 i2c: add quirk structure to describe adapter flaws The number of I2C adapters which are not fully I2C compatible is rising, sadly. Drivers usually do handle the flaws, still the user receives only some errno for a transfer which normally can be expected to work. This patch introduces a formal description of flaws. One advantage is that the core can check before the actual transfer if the messages could be transferred at all. This is done in the next patch. Another advantage is that we can pass this information to the user so the restrictions are exactly known and further actions can be based on that. This will be done later after some stabilization period for this description. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Ray Jui <rjui@xxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Tested-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Tested-By: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> commit 3a79e1dfa23f69cb7b29e002ccf718ebc8e30b21 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 15:44:22 2015 +0100 ath9k: make ath_frame_info fit into reduced-size rate_driver_data pre-requisite to shrink size of ieee80211_tx_info which in turn is needed to shrink skb->cb to 40 bytes again. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6faf22d9cabeec6f8f623d58a2e88ca9edf4c946 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 15:25:39 2015 +0100 ar5523: use container_of If we want to shrink skb->cb then we'd have to see about reducing struct ieee80211_tx_info, which gets embedded inside skb->cb[]. It provides a scratch space to be used by wireless drivers. ar5523 uses the maximum space available today (40 bytes), but it seems we don't need this -- data->skb pointer seems to always point back to the skb whose cb buffer the data structure resides, iow, given a pointer to the embedded control buffer we can infer the skb address. Tested-by: Pontus Fuchs <pontus.fuchs@xxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8b88f7ef31ddecd943e3312d6b61e1b1c6eab3d0 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:54 2015 -0300 ARM: mx25: Retrieve IIM base from dt We should use dt to retrieve the IIM base address. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit d8a3beea003b4c162e5713a1a86596e9296da1d7 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:53 2015 -0300 ARM: mx25: Remove mx25_clocks_init() mx25_clocks_init() is only used to register the clocks for non-dt platforms. As mx25 has been converted to a dt-only platform, we can safely remove it. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit ae4aee959f7959427e99edb3927c9512986cbdc5 Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Mar 13 00:36:15 2015 +0100 ARM: imx: depend MXC debug board on 3DS machines Depend the MXC debug board on machines which actually support it. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit ca5396975ab42904c4955c7976f918896b0b7a35 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 13 14:21:44 2015 +0800 ARM: imx_v6_v7_defconfig: Add CONFIG_GPIO_PCA953X It is used for max7310 gpio expandor which is used at imx6qdl sabreauto board. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit d8eb8940417559808fdd0180a4d50f8f0281b822 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Mar 13 14:04:37 2015 +0100 x86/kexec: Cleanup KEXEC_VERIFY_SIG Kconfig help text Fix typos and also make it simpler without losing the gist of what it says. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426251877-11415-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 56544d29c3a0e383c0d819fefc9570b2803db193 Merge: 9261dc1 9eccca0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 13 14:20:46 2015 +0100 Merge tag 'v4.0-rc3' into x86/build, to refresh an older tree before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dd2951124838843809f75117d17c32d053ee3262 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:20:10 2015 +0530 ath9k: Fix RTT chainmask usage Since the RTT registers need to be configured for all valid chains irrespective of the runtime chainmask, use the actual chainmask of the chip. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 93f7d6f3d5aa86bc9cce38a1d7eb71524ac85e0b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:20:09 2015 +0530 ath9k: Check allowed PCIE powersave configuration When assigning the initvals for PCIE sleep/awake registers, check the configuration that has been assigned to pll_pwrsave during initialization. Also, display a warning if we don't have valid arrays. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 656cd75c387383fe3a63e21204107abf5515ecfc Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:20:08 2015 +0530 ath9k: Initialize pll_pwrsave for AR9462/AR9565 Cards based on AR9462/AR9565 support more PCIE power save mechanisms, so register them correctly. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit afa7e6dbd91d3d9e18d224116353087082479dc5 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:20:07 2015 +0530 ath9k: Fix PLL powersave for AR9485 Use the value in ah->config.pll_pwrsave to determine which array needs to be loaded. Also, initialize pll_pwrsave to 1 by default. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e519f78f1191007604c056dfcb372d4fe3a4b05b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:20:06 2015 +0530 ath9k: Add PCIE powersave macros These will be used to handle chip-specific power save configuration. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 02beaf1a5b8f05ead295d781522b1684dc5e7263 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 8 15:42:03 2015 +0200 wil6210: support AP isolation For the AP, configuration may say not to bridge traffic between wireless clients. This is conveyed from user space (ex: hostapd has ap_isolate parameter) with NL80211_CMD_SET_BSS, to the driver's cfg80211 ops method change_bss Add support for this setting. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c42da9993a4cc32f48dad89eedf7b7ad4dfd41bc Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 8 15:42:02 2015 +0200 wil6210: re-submit Rx frames to the wireless media if appropriate This is for AP only. If Rx data frame targeted to one of associated clients, transmit it back to the wireless media and don't deliver to the host. For the multicast frames, deliver to both host and wireless media. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7308a20e7579f91e103398366d9bb382653cbb89 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 8 15:42:01 2015 +0200 wil6210: NAPI completion refactor It is expected that driver completes NAPI when less than full budget is consumed. Fulfill this requirement. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9c51026509d7fd11d84e0035008e1a9768960f2b Author: Syed Asifful Dayyan <syedd@xxxxxxxxxxxx> Date: Fri Mar 6 18:40:42 2015 +0100 brcmfmac: Add support for BCM4345 SDIO chipset. These changes add support for BCM4345 SDIO chipset. Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Syed Asifful Dayyan <syedd@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d375bc8a85a49bf4d2897f59fab4d4afb34d5d44 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Mar 6 18:40:41 2015 +0100 brcmfmac: Fix race condition in msgbuf ioctl processing. Msgbuf is using a wait_event_timeout to wait for the response on an ioctl. The wakeup routine uses waitqueue_active to see if wait_event_timeout has been called. There is a chance that the response arrives before wait_event_timeout is called, this will result in situation that wait_event_timeout never gets woken again and assumed result will be a timeout. This patch removes that errornous situation by always setting the ctl_completed var before checking for queue active. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 449e58b85c0051117bf8428777b4ae38e098506a Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Mar 6 18:40:40 2015 +0100 brcmfmac: Fix possible race-condition. SDIO is using a "shared" variable to handoff ctl frames to DPC and to see when they are done. In a timeout situation this can lead to erroneous situation where DPC started to handle the ctl frame while the timeout expired. This patch will fix this by adding locking around the shared variable. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b441ba8dc34136dc418d85299757514c3a08913d Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Mar 6 18:40:39 2015 +0100 brcmfmac: Simplify watchdog sleep. The watchdog thread is used to put the SDIO bus to sleep when the system is idling. This patch simplifies the way it is determined when sleep can be entered. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit de6878c8354d1524940055fe1b802c799f4fc318 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Mar 6 18:40:38 2015 +0100 brcmfmac: Fix oops when SDIO device is removed. On removal of SDIO card both functions of card will be getting a remove call. When the first is hanging in ctrl frame xmit then the second will cause oops. This patch fixes the xmit ctrl handling in case of serious errors and also limits the handling for remove to function 1 only. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 933ef44cb130b28f88ab92900bda1176ed758854 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Sat Mar 7 00:47:17 2015 +0900 rtlwifi: Remove duplicated prototype Remove duplicated prototype in base.h Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ab5e290a86075c09201deb55c566f875ef4649d7 Author: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Date: Wed Mar 4 05:12:11 2015 +0300 ath5k: fix reset race To prepare for reset ath5k should finish all asynchronous tasks. At first, it disables the interrupt generation, then it waits for the interrupt handler and tasklets completion, and then proceeds to the HW configuration update. But it does not consider that the interrupt handler or tasklet re-enables the interrupt generation. And we fall in a situation when ath5k assumes that interrupts are disabled, but it is not. This can lead to different consequences, such as reception of the frame, when we do not expect it. Under certain circumstances, this can lead to the following warning: WARNING: at ath5k/base.c:589 ath5k_tasklet_rx+0x318/0x6ec [ath5k]() invalid hw_rix: 1a [..] Call Trace: [<802656a8>] show_stack+0x48/0x70 [<802dd92c>] warn_slowpath_common+0x88/0xbc [<802dd98c>] warn_slowpath_fmt+0x2c/0x38 [<81b51be8>] ath5k_tasklet_rx+0x318/0x6ec [ath5k] [<8028ac64>] tasklet_action+0x8c/0xf0 [<80075804>] __do_softirq+0x180/0x32c [<80196ce8>] irq_exit+0x54/0x70 [<80041848>] ret_from_irq+0x0/0x4 [<80182fdc>] ioread32+0x4/0xc [<81b4c42c>] ath5k_hw_set_sleep_clock+0x2ec/0x474 [ath5k] [<81b4cf28>] ath5k_hw_reset+0x50/0xeb8 [ath5k] [<81b50900>] ath5k_reset+0xd4/0x310 [ath5k] [<81b557e8>] ath5k_config+0x4c/0x104 [ath5k] [<80d01770>] ieee80211_hw_config+0x2f4/0x35c [mac80211] [<80d09aa8>] ieee80211_scan_work+0x2e4/0x414 [mac80211] [<8022c3f4>] process_one_work+0x28c/0x400 [<802df8f8>] worker_thread+0x258/0x3c0 [<801b5710>] kthread+0xe0/0xec [<800418a8>] ret_from_kernel_thread+0x14/0x1c Fix this issue by adding a new status flag, which forbids to re-enable the interrupt generation until the HW configuration is completed. Note: previous patch, which reorders the Rx disable code helps to avoid the above warning, but not fixes the root cause of unexpected frame receiving. CC: Jiri Slaby <jirislaby@xxxxxxxxx> CC: Nick Kossifidis <mickflemm@xxxxxxxxx> CC: Luis R. Rodriguez <mcgrof@xxxxxxxxxxxxxxxx> Reported-by: Christophe Prevotaux <cprevotaux@xxxxxxxxxx> Tested-by: Christophe Prevotaux <cprevotaux@xxxxxxxxxx> Tested-by: Eric Bree <ebree@xxxxxxxxxx> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4a2f248f9eafcf64c7649324a294a4dd337efd18 Author: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Date: Wed Mar 4 05:12:10 2015 +0300 ath5k: channel change fix ath5k updates the channel pointer and after that it stops the Rx logic and apply channel to HW. In case of channel switch, such sequence creates a small window when a frame, which is received on the old channel is considered as a frame received on the new one. The most notable consequence of this situation occurs during the switch from 2 GHz band (CCK+OFDM) to the 5GHz band (OFDM-only). Frame received with CCK rate, e.g. beacon received at the 1mbps, causes the following warning: WARNING: at ath5k/base.c:589 ath5k_tasklet_rx+0x318/0x6ec [ath5k]() invalid hw_rix: 1a [..] Call Trace: [<802656a8>] show_stack+0x48/0x70 [<802dd92c>] warn_slowpath_common+0x88/0xbc [<802dd98c>] warn_slowpath_fmt+0x2c/0x38 [<81b51be8>] ath5k_tasklet_rx+0x318/0x6ec [ath5k] [<8028ac64>] tasklet_action+0x8c/0xf0 [<80075804>] __do_softirq+0x180/0x32c [<80196ce8>] irq_exit+0x54/0x70 [<80041848>] ret_from_irq+0x0/0x4 [<80182fdc>] ioread32+0x4/0xc [<81b4c42c>] ath5k_hw_set_sleep_clock+0x2ec/0x474 [ath5k] [<81b4cf28>] ath5k_hw_reset+0x50/0xeb8 [ath5k] [<81b50900>] ath5k_reset+0xd4/0x310 [ath5k] [<81b557e8>] ath5k_config+0x4c/0x104 [ath5k] [<80d01770>] ieee80211_hw_config+0x2f4/0x35c [mac80211] [<80d09aa8>] ieee80211_scan_work+0x2e4/0x414 [mac80211] [<8022c3f4>] process_one_work+0x28c/0x400 [<802df8f8>] worker_thread+0x258/0x3c0 [<801b5710>] kthread+0xe0/0xec [<800418a8>] ret_from_kernel_thread+0x14/0x1c The easiest way to reproduce this warning is to run scan with dualband NIC in noisy environments, when the channel 11 runs multiple APs. In my tests if the APs num >= 12, the warning appears in the first few seconds of scanning. In order to fix this, the Rx disable code moved to a higher level and placed before the channel pointer update. This is also makes the code a bit more symmetrical, since we disable and enable the Rx in the same function. In fact, at the pointer update time new frames should not appear, because interrupt generation at this point should already be disabled. The next patch should address this issue. CC: Jiri Slaby <jirislaby@xxxxxxxxx> CC: Nick Kossifidis <mickflemm@xxxxxxxxx> CC: Luis R. Rodriguez <mcgrof@xxxxxxxxxxxxxxxx> Reported-by: Christophe Prevotaux <cprevotaux@xxxxxxxxxx> Tested-by: Christophe Prevotaux <cprevotaux@xxxxxxxxxx> Tested-by: Eric Bree <ebree@xxxxxxxxxx> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0cf151bdf99b9f425f12efaff779a09e4120a08f Merge: 719a11c 208d271 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Fri Mar 13 15:09:18 2015 +0200 Merge tag 'iwlwifi-next-for-kalle-2015-03-12' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * Location Aware Regulatory was added by Arik * 8000 device family work * Update to the BT Coex firmware API commit 2854475f6c612d59901d51c358abd05643278b53 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Wed Jan 21 00:20:11 2015 +0800 nfs: clean up nfs_direct_IO This follows up "nfs: fix dio deadlock when O_DIRECT flag is flipped" and removes the unnecessary CONFIG_NFS_SWAP switch. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 55cc1d7806cd4827d38a18ddf3bcf04706758218 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Mar 13 04:25:34 2015 -0400 SUNRPC: fix build-warning due to format missmatch fix build-warning introduced by commit: f0eede10fd4 ("SUNRPC: use jiffies_to_msecs for converting jiffies") which did not fixup the format properly (my bad). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 385acc0dac88d79447a03a1363072fc258429dec Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:54:26 2015 +0800 ARM: at91/pm: flush data cache and clean, invalidate and disable the L2 cache Flush data cache, and clean, invalidate and disable the L2 cache before going to suspend. Restore the L2 cache configuration and re-enable the L2 cache after waking up. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 20567658b8f010eea287087bfdbeb25757801aed Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:53:46 2015 +0800 ARM: at91/pm_suspend: add the WFI instruction support for ARMv7 Add the WFI instruction to make the cpu to the idle state. In the meanwhile, disable the processor's clock. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e32d995cf9db8dbf48d0ae25794b1b7b3872857d Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:51:49 2015 +0800 ARM: at91/pm: remove unused void (*at91_pm_standby)(void) Because the standby mode use the same sram function as the suspend to memory mode, void (*at91_pm_standby)(void) doesn't need, remove it. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5726a8b9686348e8d203f1bbf9d5fc1bb5899518 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:51:09 2015 +0800 ARM: at91/pm: rename function name: at91_slow_clock() --> at91_pm_suspend_sram_fn() As the file name is renamed, rename the function name at91_slow_clock() --> at91_pm_suspend_sram_fn(), rename the function handler's name at the same time. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> [nicolas.ferre@xxxxxxxxx: little update of the commit message] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 828b98fa380662406f9a84e09372b18e45babbf2 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:50:29 2015 +0800 ARM: at91/pm: rename file name: pm_slowclock.S --> pm_suspend.S Because the sram function is used for both suspend to memory and the suspend to standby mode, renaming is more elegant. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 23be4be5a666c6b4e6fe8ddbbb84fb4f2efee0a5 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:49:46 2015 +0800 ARM: at91/pm: standby mode uses same sram function as suspend to memory mode To simply the PM code, the suspend to standby mode uses same sram function as the suspend to memory mode, running in the internal SRAM, instead of the respective code for each mode. For the suspend to standby mode, the master clock doesn't switch to the slow clock, and PLLA and the main oscillator doesn't turn off as well. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d94e688cae5661b18164fb7366d1696a1921baba Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:49:01 2015 +0800 ARM: at91/pm: move the copying the sram function to the sram initialization phase To decrease the suspend time, move copying the sram function to the sram initialization phase, instead of every time go to suspend. In the meanwhile, substitute fncpy() for memcpy(). If there is no sram allocated for PM, the PM is not supported. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 107eb964d8c04417e8bce9e9ec2ed61d9261aec6 Merge: 94ac003 6936472 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 13 13:30:10 2015 +0100 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 UI bug after zoom into thread/dso/symbol and another, after fold/unfold, in the TUI hists browser (He Kuang) - Fixes for 'perf probe' to better handle aliased symbols, for instance in glibc (Masami Hiramatsu, Namhyung Kim) - 'perf kmem' improvements and fixes: (Namhyung Kim) - Fix segfault when invalid sort key is given - Allow -v option - Fix alignment of slab result table - 'perf stat' improvements and fixes: (Andi Kleen) - Output running time and run/enabled ratio in CSV mode - Fix IPC and other formulas with -A - Always correctly indent ratio column - Add tracepoint events fields CTF conversion support to 'perf data' (Sebastian Andrzej Siewior) Infrastructure changes: - Output feature detection's gcc output to a file, to help in debugging (Arnaldo Carvalho de Melo) - Fix 'perf probe' compiles due to declarations using perf_probe_point (David Ahern) - Fix possible double free on error in 'perf probe' (He Kuang) - Remove superfluous thread->comm_set setting (Jiri Olsa) - Fix libbabeltrace detection (Jiri Olsa) - More work on separating ordered_events code out of perf_session (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b52551e0d0e659db43f5cfa813ae09d4c3744761 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Mar 13 10:50:26 2015 +0800 ASoC: rt5645: Remove adc stereo2 filter Remove adc stereo2 filter since it is not in rt5645/rt5650 codec. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 69364727be2f3dc71a046771965c3c9d5ccce699 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Feb 20 23:17:02 2015 +0100 perf data: Add tracepoint events fields CTF conversion support Adding support to convert tracepoint event fields into CTF event fields. We parse each tracepoint event for CTF conversion and add tracepoint fields as regular CTF event fields, so they appear in babeltrace output like: $ babeltrace ./ctf-data/ ... [09:02:00.950703057] (+?.?????????) sched:sched_stat_runtime: { }, { perf_ip = ... SNIP ... common_type = 298, common_flags = 1, \ common_preempt_count = 0, common_pid = 31813, comm = "perf", pid = 31813, runtime = 458800, vruntime = 52059858071 } ... Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424470628-5969-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6576fe4afc1203d27a5f4c8f5511f44203f4e333 Author: Daniel Drake <drake@xxxxxxxxxxxx> Date: Mon Feb 23 18:16:47 2015 -0600 Bluetooth: btusb: Add helper for READ_LOCAL_VERSION command Multiple codepaths duplicate some simple code to read and sanity-check local version information. Before I add a couple more such codepaths, add a helper to reduce duplication. Signed-off-by: Daniel Drake <drake@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 65f46e0214c64198a0266c37181a7776e16b7e53 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Mar 12 16:32:48 2015 +0900 perf kmem: Fix alignment of slab result table Its table was a bit misaligned. Fix it. Before: # perf kmem stat --caller -l 10 ------------------------------------------------------------------------------------------------------ Callsite | Total_alloc/Per | Total_req/Per | Hit | Ping-pong | Frag ------------------------------------------------------------------------------------------------------ radeon_cs_parser_init.part.1+11a | 2080/260 | 1504/188 | 8 | 0 | 27.692% radeon_cs_parser_init.part.1+e1 | 384/96 | 288/72 | 4 | 0 | 25.000% radeon_cs_parser_init.part.1+93 | 128/32 | 96/24 | 4 | 0 | 25.000% load_elf_binary+a39 | 512/512 | 392/392 | 1 | 0 | 23.438% __alloc_skb+89 | 6144/877 | 4800/685 | 7 | 6 | 21.875% radeon_fence_emit+5c | 1152/192 | 912/152 | 6 | 0 | 20.833% radeon_cs_parser_relocs+ad | 8192/2048 | 6624/1656 | 4 | 0 | 19.141% radeon_sa_bo_new+78 | 1280/64 | 1120/56 | 20 | 0 | 12.500% load_elf_binary+2c4 | 32/32 | 28/28 | 1 | 0 | 12.500% anon_vma_prepare+101 | 576/72 | 512/64 | 8 | 0 | 11.111% ... | ... | ... | ... | ... | ... ------------------------------------------------------------------------------------------------------ After: --------------------------------------------------------------------------------------------------------- Callsite | Total_alloc/Per | Total_req/Per | Hit | Ping-pong | Frag --------------------------------------------------------------------------------------------------------- radeon_cs_parser_init.part.1+11a | 2080/260 | 1504/188 | 8 | 0 | 27.692% radeon_cs_parser_init.part.1+e1 | 384/96 | 288/72 | 4 | 0 | 25.000% radeon_cs_parser_init.part.1+93 | 128/32 | 96/24 | 4 | 0 | 25.000% load_elf_binary+a39 | 512/512 | 392/392 | 1 | 0 | 23.438% __alloc_skb+89 | 6144/877 | 4800/685 | 7 | 6 | 21.875% radeon_fence_emit+5c | 1152/192 | 912/152 | 6 | 0 | 20.833% radeon_cs_parser_relocs+ad | 8192/2048 | 6624/1656 | 4 | 0 | 19.141% radeon_sa_bo_new+78 | 1280/64 | 1120/56 | 20 | 0 | 12.500% load_elf_binary+2c4 | 32/32 | 28/28 | 1 | 0 | 12.500% anon_vma_prepare+101 | 576/72 | 512/64 | 8 | 0 | 11.111% ... | ... | ... | ... | ... | ... --------------------------------------------------------------------------------------------------------- Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1426145571-3065-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bd72a33ebae8b4d37e3d2a3f0f3f3333ac9654dd Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Mar 12 16:32:47 2015 +0900 perf kmem: Allow -v option Current perf kmem fails when -v option is used. As it's very useful for debugging, let's allow it. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1426145571-3065-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 405f87557da35a03ba4663eca971ffac58b0a818 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Mar 12 16:32:46 2015 +0900 perf kmem: Fix segfault when invalid sort key is given When it tries to free 'str', it was already updated by strsep() - so it needs to save the original pointer. # perf kmem stat -s xxx,hit Error: Unknown --sort key: 'xxx' *** Error in `perf': free(): invalid pointer: 0x0000000000e9e7b6 *** ======= Backtrace: ========= /usr/lib/libc.so.6(+0x7198e)[0x7fc7e6e0d98e] /usr/lib/libc.so.6(+0x76dee)[0x7fc7e6e12dee] /usr/lib/libc.so.6(+0x775cb)[0x7fc7e6e135cb] ./perf[0x44a1b5] ./perf[0x490b20] ./perf(parse_options_step+0x173)[0x491773] ./perf(parse_options_subcommand+0xa7)[0x491fb7] ./perf(cmd_kmem+0x2bc)[0x44ae4c] ./perf[0x47aa13] ./perf(main+0x60a)[0x427a9a] /usr/lib/libc.so.6(__libc_start_main+0xf0)[0x7fc7e6dbc800] ./perf(_start+0x29)[0x427bb9] Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1426145571-3065-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7910352852f377f6d12286f922299d7ad1cfb2e3 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Mar 11 08:28:02 2015 -0700 perf stat: Always correctly indent ratio column When cycles or instructions do not print anything, as in being, --per-socket or --per-core modi, the ratio column was not correctly indented for them. This lead to some ratios not lining up with the others. Always indent correctly when nothing is printed. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426087682-22765-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 56f0fd45d8df51542930b9b2e1acee5034b53479 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Mar 11 08:28:01 2015 -0700 perf stat: Fix IPC and other formulas with -A perf stat didn't compute the IPC and other formulas for individual CPUs with -A. Fix this for the easy -A case. As before, --per-core and --per-socket do not handle it, they simply print nothing. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426087682-22765-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d73515c03c6a2706e088094ff6095a3abefd398b Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Mar 11 07:16:27 2015 -0700 perf stat: Output running time and run/enabled ratio in CSV mode The information how much a counter ran in 'perf stat' can be quite interesting for other tools to judge how trustworthy a measurement is. Currently it is only output in non CSV mode. This patches make perf stat always output the running time and the enabled/running ratio in CSV mode. This adds two new fields at the end for each line. I assume that existing tools ignore new fields at the end, so it's on by default. Only CSV mode is affected, no difference otherwise. v2: Add extra print_running function v3: Avoid printing nan v4: Remove some elses and add brackets. v5: Move non CSV case into print_running Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Reviewed-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426083387-17006-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 05713ba9055f1a209d50e480626f36c401bda3ad Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:26 2015 +0100 crypto: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL_GPL; @@ -EXPORT_SYMBOL_GPL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 19e60e1392d110be03d794e2286dd6cfd779cbe3 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Tue Mar 10 17:00:36 2015 +0100 crypto: testmgr - fix RNG return code enforcement Due to the change to RNGs to always return zero in success case, the invocation of the RNGs in the test manager must be updated as otherwise the RNG self tests are not properly executed any more. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Alexander Bergmann <abergmann@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0ab285c2fafe90dfd665b29057666c3953b2592c Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:48:26 2015 +0800 ARM: at91/pm_slowclock: create the procedure to handle the sdram self-refresh To decrease the duplicated code, create the procedure to contain both activing and exiting the sdram self-refresh mode. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d18c570ef3fe9c3b394c0c215b04e9729d85d14f Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Feb 5 14:01:23 2015 +0800 ARM: at91/pm_slowclock: remove clocks which are already stopped when entering slow clock mode Assume USB PLL and PLL B are already stopped before entering sleep mode. Removed PLL B from slow clock code, all drivers are supposed to properly unprepare clocks. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Wenyou.Yang <wenyou.yang@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: remove the warning printed in pm.c] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 09fc78a601e59de89f125c8e6739fd21a7e2fd01 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:45:35 2015 +0800 ARM: at91/pm: remove CONFIG_AT91_SLOW_CLOCK config option The slow clock always exists, selecting CONFIG_AT91_SLOW_CLOCK config is unnecessary for the suspend to memory mode. For this mode the master clock should always switch to the slow clock. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 896bc871a4a2db13212831749d21ffa7f405c73b Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:44:50 2015 +0800 ARM: at91: move "select SRAM" under SOC_AT91SAM9 and SOC_SAMA5 To simply the PM config the CONFIG_AT91_SLOW_CLOCK option will be removed, so move "select SRAM" from under AT91_SLOW_CLOCK, add "select SRAM if PM" under SOC_AT91SAM9 and SOC_SAMA5 Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 05d5970c723cb6d11cef793c77cd07d86d5d4a94 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:44:03 2015 +0800 ARM: at91/pm_slowclock: remove the unused code related with SLOWDOWN_MASTER_CLOCK The SLOWDOWN_MASTER_CLOCK definition is not used, remove the redundant code. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 238be788fcb75870661ec165dc90f2a2674e7fcb Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:06 2015 -0700 Bluetooth: Introduce hci_dev_test_and_set_flag helper macro Instead of manually coding test_and_set_bit on hdev->dev_flags all the time, use hci_dev_test_and_set_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a69d89272698d1c31ccb78348562af6461cf1eb7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:05 2015 -0700 Bluetooth: Introduce hci_dev_test_and_clear_flag helper macro Instead of manually coding test_and_clear_bit on hdev->dev_flags all the time, use hci_dev_test_and_clear_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 516018a9c057a7c179dd6b4df917a6f5d43b3547 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:04 2015 -0700 Bluetooth: Introduce hci_dev_test_and_change_flag helper macro Instead of manually coding test_and_change_bit on hdev->dev_flags all the time, use hci_dev_test_and_change_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ce05d603af7c9b5be66a1f3358443e20e2a2ae7a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:03 2015 -0700 Bluetooth: Introduce hci_dev_change_flag helper macro Instead of manually coding change_bit on hdev->dev_flags all the time, use hci_dev_change_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a358dc11d80ecaca443aa1fd2fd9d4f3425922e7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:02 2015 -0700 Bluetooth: Introduce hci_dev_clear_flag helper macro Instead of manually coding clear_bit on hdev->dev_flags all the time, use hci_dev_clear_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a1536da255f16f42b8f069b2769134b32558b265 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:01 2015 -0700 Bluetooth: Introduce hci_dev_set_flag helper macro Instead of manually coding set_bit on hdev->dev_flags all the time, use hci_dev_set_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d7a5a11d7fa80beb43d5f7cb421c86f9b4d21200 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:00 2015 -0700 Bluetooth: Introduce hci_dev_test_flag helper macro Instead of manually coding test_bit on hdev->dev_flags all the time, use hci_dev_test_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit cc91cb042ce5dab66fedeb94260b18f193ed33d9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Mar 12 22:30:58 2015 -0700 Bluetooth: Add support connectable advertising setting The patch adds a second advertising setting that allows switching of the controller into connectable mode independent of the global connectable setting. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit dc0961bc816b9365cb37a68b34e84b625f7c7f0f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:36 2015 +0100 ARM: cns3xxx: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Krzysztof Halasa <khalasa@xxxxxxx> commit 265567fbca7136f1cf45cb49a630cf7109a2308a Author: Torsten Fleischer <torfl6749@xxxxxxxxx> Date: Mon Feb 23 17:54:11 2015 +0100 dmaengine: at_hdmac: Add support for memory to memory sg transfers This patch adds support for memory to memory scatter-gather transfers. Changes from V1: * Fixed coding style of the multi-line comments. Changes from V2: * Added setup of 'desc->tx_width' that is needed to calculate the residue. Signed-off-by: Torsten Fleischer <torfl6749@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2ee762b34899328e0cf561b77adca841794f104c Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 11 22:13:50 2015 -0500 drm: %pF is only for function pointers Use %pS for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pF expects a function descriptor. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7aa5d5097dbae28ea1edbe95689f26412ce68c65 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 9 23:08:00 2015 +0200 Staging: rtl8192u: Use __packed instead of __attribute__((packed)) This patch fixed the following checkpatch.pl warning: "WARNING: __packed is preferred over __attribute__((packed))". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91ca9ed7975529ebb48d14b958fcbe41d0f6a438 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 09:54:57 2015 +0100 Staging: lustre: fix space issue in workitem.c This patch fixes a space issue in the workitem.c file Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fba9e07208c0f9d92d9f73761c99c8612039da44 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:40 2015 -0700 clocksource: Rename __clocksource_updatefreq_*() to __clocksource_update_freq_*() Ingo requested this function be renamed to improve readability, so I've renamed __clocksource_updatefreq_scale() as well as the __clocksource_updatefreq_hz/khz() functions to avoid squishedtogethernames. This touches some of the sh clocksources, which I've not tested. The arch/arm/plat-omap change is just a comment change for consistency. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-13-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8cc8c525ad4e7b581cacf84119e1a28dcb4044db Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:39 2015 -0700 clocksource: Add some debug info about clocksources being registered Print the mask, max_cycles, and max_idle_ns values for clocksources being registered. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-12-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3142f76022fe46f6e0a0d3940b23fb6ccb794692 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:38 2015 -0700 clocksource, sparc32: Convert to using clocksource_register_hz() While cleaning up some clocksource code, I noticed the time_32 implementation uses the clocksource_hz2mult() helper, but doesn't use the clocksource_register_hz() method. I don't believe the Sparc clocksource is a default clocksource, so we shouldn't need to self-define the mult/shift pair. So convert the time_32.c implementation to use clocksource_register_hz(). Untested. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-11-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f8935983f110505daa38e8d36ee406807f83a069 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:37 2015 -0700 clocksource: Mostly kill clocksource_register() A long running project has been to clean up remaining uses of clocksource_register(), replacing it with the simpler clocksource_register_khz/hz() functions. However, there are a few cases where we need to self-define our mult/shift values, so switch the function to a more obviously internal __clocksource_register() name, and consolidate much of the internal logic so we don't have duplication. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-10-git-send-email-john.stultz@xxxxxxxxxx [ Minor cleanups. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0b046b217ad4c64fbbeaaac24d0648cb1fa49ad8 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:36 2015 -0700 clocksource: Improve clocksource watchdog reporting The clocksource watchdog reporting has been less helpful then desired, as it just printed the delta between the two clocksources. This prevents any useful analysis of why the skew occurred. Thus this patch tries to improve the output when we mark a clocksource as unstable, printing out the cycle last and now values for both the current clocksource and the watchdog clocksource. This will allow us to see if the result was due to a false positive caused by a problematic watchdog. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-9-git-send-email-john.stultz@xxxxxxxxxx [ Minor cleanups of kernel messages. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4ca22c2648f9c1cec0b242f58d7302136f5a4cbb Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:35 2015 -0700 timekeeping: Add warnings when overflows or underflows are observed It was suggested that the underflow/overflow protection should probably throw some sort of warning out, rather than just silently fixing the issue. So this patch adds some warnings here. The flag variables used are not protected by locks, but since we can't print from the reading functions, just being able to say we saw an issue in the update interval is useful enough, and can be slightly racy without real consequence. The big complication is that we're only under a read seqlock, so the data could shift under us during our calculation to see if there was a problem. This patch avoids this issue by nesting another seqlock which allows us to snapshot the just required values atomically. So we shouldn't see false positives. I also added some basic rate-limiting here, since on one build machine w/ skewed TSCs it was fairly noisy at bootup. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-8-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 057b87e3161d1194a095718f9918c01b2c389e74 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:34 2015 -0700 timekeeping: Try to catch clocksource delta underflows In the case where there is a broken clocksource where there are multiple actual clocks that aren't perfectly aligned, we may see small "negative" deltas when we subtract 'now' from 'cycle_last'. The values are actually negative with respect to the clocksource mask value, not necessarily negative if cast to a s64, but we can check by checking the delta to see if it is a small (relative to the mask) negative value (again negative relative to the mask). If so, we assume we jumped backwards somehow and instead use zero for our delta. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-7-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a558cd021d83b65c47ee5b9bec1fcfe5298a769f Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:33 2015 -0700 timekeeping: Add checks to cap clocksource reads to the 'max_cycles' value When calculating the current delta since the last tick, we currently have no hard protections to prevent a multiplication overflow from occuring. This patch introduces infrastructure to allow a cap that limits the clocksource read delta value to the 'max_cycles' value, which is where an overflow would occur. Since this is in the hotpath, it adds the extra checking under CONFIG_DEBUG_TIMEKEEPING=y. There was some concern that capping time like this could cause problems as we may stop expiring timers, which could go circular if the timer that triggers time accumulation were mis-scheduled too far in the future, which would cause time to stop. However, since the mult overflow would result in a smaller time value, we would effectively have the same problem there. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-6-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3c17ad19f0697ffe5ef7438cdafc2d2b7757d8a5 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:32 2015 -0700 timekeeping: Add debugging checks to warn if we see delays Recently there's been requests for better sanity checking in the time code, so that it's more clear when something is going wrong, since timekeeping issues could manifest in a large number of strange ways in various subsystems. Thus, this patch adds some extra infrastructure to add a check to update_wall_time() to print two new warnings: 1) if we see the call delayed beyond the 'max_cycles' overflow point, 2) or if we see the call delayed beyond the clocksource's 'max_idle_ns' value, which is currently 50% of the overflow point. This extra infrastructure is conditional on a new CONFIG_DEBUG_TIMEKEEPING option, also added in this patch - default off. Tested this a bit by halting qemu for specified lengths of time to trigger the warnings. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-5-git-send-email-john.stultz@xxxxxxxxxx [ Improved the changelog and the messages a bit. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e79d74ab25339437447478e4dfe2b35c5b560512 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Mar 12 16:57:51 2015 +0100 ALSA: control: Fix breakage of user ctl element addition In the commit [2225e79b9b03: 'ALSA: core: reduce stack usage related to snd_ctl_new()'], the id field of the newly added kctl is untouched, thus all attribute like name string remain empty. The fix is just to add the forgotten memcpy of the id field. Fixes: 2225e79b9b03 ('ALSA: core: reduce stack usage related to snd_ctl_new()') Reviewed-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5e1459ca13eddea516f8c56122cb3253e7b0e03e Merge: 719a11c 098a697 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 13 01:57:16 2015 -0400 Merge branch 'tcp_metrics_netns_debloat' Eric W. Biederman says: ==================== tcp_metrics: Network namespace bloat reduction v3 This is a small pile of patches that convert tcp_metrics from using a hash table per network namespace to using a single hash table for all network namespaces. This is broken up into several patches so that each small step along the way could be carefully scrutinized as I wrote it, and equally so that each small step can be reviewed. There are several cleanups included in this series. The addition of panic calls during boot where we can not handle failure, and not trying simplifies the code. The removal of the return code from tcp_metrics_flush_all. The motivation for this change is that the tcp_metrics hash table at 128KiB is one of the largest components of a freshly allocated network namespace. I am resending the the previous version I sent has suffered bitrot, so I have respun the patches so that they apply. I believe I have addressed all of the review concerns except optimal behavior on little machines with 32-byte cache lines, which is beyond me as even the current code has bad behavior in that case. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 098a697b497e3154a1a583c1d34c67568acaadcc Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:07:44 2015 -0500 tcp_metrics: Use a single hash table for all network namespaces. Now that all of the operations are safe on a single hash table accross network namespaces, allocate a single global hash table and update the code to use it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04f721c671656f93de888b1d176ba30b7336cca3 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:07:10 2015 -0500 tcp_metrics: Rewrite tcp_metrics_flush_all Rewrite tcp_metrics_flush_all so that it can cope with entries from different network namespaces on it's hash chain. This is based on the logic in tcp_metrics_nl_cmd_del for deleting a selection of entries from a tcp metrics hash chain. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a4bff714fc088729abdd479acbfe934ddf16f7e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:06:43 2015 -0500 tcp_metrics: Remove the unused return code from tcp_metrics_flush_all tcp_metrics_flush_all always returns 0. Remove the unnecessary return code. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 849e8a0ca8d5d286510ab30b5f67b91aa6965ef6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:05:52 2015 -0500 tcp_metrics: Add a field tcpm_net and verify it matches on lookup In preparation for using one tcp metrics hash table for all network namespaces add a field tcpm_net to struct tcp_metrics_block, and verify that field on all hash table lookups. Make the field tcpm_net of type possible_net_t so it takes no space when network namespaces are disabled. Further add a function tm_net to read that field so we can be efficient when network namespaces are disabled and concise the rest of the time. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e5da62d0bcbfa86332f66cca0e3983e70557fac Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:05:24 2015 -0500 tcp_metrics: Mix the network namespace into the hash function. In preparation for using one hash table for all network namespaces mix the network namespace into the hash value. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6493517eaea9b052e081e557f7c8bb06cc6b1852 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:04:51 2015 -0500 tcp_metrics: panic when tcp_metrics_init fails. There is not a practical way to cleanup during boot so just panic if there is a problem initializing tcp_metrics. That will at least give us a clear place to start debugging if something does go wrong. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66ee59af630fd8d5f4f56fb28162857e629aa0ab Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Feb 11 19:56:46 2015 +0100 fs: remove ki_nbytes There is no need to pass the total request length in the kiocb, as we already get passed in through the iov_iter argument. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 719a11cdbf57b7bdd6c87ded00fd7cb36a76a6a3 Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Fri Mar 13 11:00:58 2015 +0900 vxlan: Don't set s_addr in vxlan_create_sock In the case of AF_INET s_addr was set to INADDR_ANY (0) which which both symmetric with the AF_INET6 case, where s_addr is not set, and unnecessary as udp_conf is zeroed out earlier in the same function. I suspect this change does not have any run-time effect due to compiler optimisations. But it does make the code a little easier on the/my eyes. Cc: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76fecd8275be6de76513430e7526825944ab932f Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Mar 12 18:22:59 2015 -0500 mpls: In mpls_egress verify the packet length. Reobert Shearman noticed that mpls_egress is failing to verify that the bytes to be examined are in fact present in the packet before mpls_egress reads those bytes. As suggested by David Miller reduce this to a single pskb_may_pull call so that we don't do unnecessary work in the fast path. Reported-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c29b2354a06f42493ddd2a5eb65962981e666ed Author: Jaeden Amero <jaeden.amero@xxxxxx> Date: Thu Mar 12 18:07:54 2015 -0500 net/macb: Only adjust tx_clk on link change The PHY state machine (in drivers/net/phy/phy.c) will unconditionally call phydev->adjust_link (macb_handle_link_change) when polling in the PHY_CHANGELINK state. As currently written, macb always ends up requesting a new tx_clk frequency in macb_handle_link_change. It is a waste of time to request a new tx_clk frequency if the link state hasn't changed, as the tx_clk will already be configured properly. Let's only request a new tx_clk clock frequency when necessary. Signed-off-by: Jaeden Amero <jaeden.amero@xxxxxx> Cc: Josh Cartwright <joshc@xxxxxx> Cc: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 393619474ec0ba2a16dee12ec78fd43164f1e9b7 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 12:54:10 2015 +1100 rhashtable: Fix read-side crash during rehash This patch fixes a typo rhashtable_lookup_compare where we fail to recompute the hash when looking up the new table. This causes elements to be missed and potentially a crash during a resize. Reported-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5b6846f9e1a080493210013385c28faecee36f0 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Mar 12 15:28:40 2015 +0100 rhashtable: kill ht->shift atomic operations Commit c0c09bfdc415 ("rhashtable: avoid unnecessary wakeup for worker queue") changed ht->shift to be atomic, which is actually unnecessary. Instead of leaving the current shift in the core rhashtable structure, it can be cached inside the individual bucket tables. There, it will only be initialized once during a new table allocation in the shrink/expansion slow path, and from then onward it stays immutable for the rest of the bucket table liftime. That allows shift to be non-atomic. The patch also moves hash_rnd management into the table setup. The rhashtable structure now consumes 3 instead of 4 cachelines. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9497df88ab5567daa001829051c5f87161a81ff0 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 22:07:49 2015 +1100 rhashtable: Fix reader/rehash race There is a potential race condition between readers and the rehasher. In particular, the rehasher could have started a rehash while the reader finishes a scan of the old table but fails to see the new table pointer. This patch closes this window by adding smp_wmb/smp_rmb. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ff0d16aac91857246770f477942878a4d4f31f7 Merge: 54720df 3f66b08 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 12 22:58:27 2015 -0400 Merge branch 'listener_refactor' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 8 These patches prepare request socks being hashed into general ehash table : We declare 3 aliases (ireq_state, ireq_refcnt, ireq_family) Note that refcnt is not yet handled, this will be done later. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f66b083a5b7f1a63540c24df3679c24f2e935a9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:10 2015 -0700 inet: introduce ireq_family Before inserting request socks into general hash table, fill their socket family. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4f06873b636519cedbe8d2eeae77c713c6a121c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:09 2015 -0700 inet: get_openreq4() & get_openreq6() do not need listener ireq->ir_num contains local port, use it. Also, get_openreq4() dumping listen_sk->refcnt makes litle sense. inet_diag_fill_req() can also use ireq->ir_num Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41b822c59e21414d829bcfd00df0c8f7f13b1b95 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:08 2015 -0700 inet: prepare sock_edemux() & sock_gen_put() for new SYN_RECV state sock_edemux() & sock_gen_put() should be ready to cope with request socks. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0159dfd3d7dff2da646f53039d29319b830207be Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:07 2015 -0700 net: add req_prot_cleanup() & req_prot_init() helpers Make proto_register() & proto_unregister() a bit nicer. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e2e01172fd11b4dbfee746c0c8fbcaa9dbf22a0 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:06 2015 -0700 inet: add rsk_refcnt/ireq_refcnt to request socks When request socks will be in ehash, they'll need to be refcounted. This patch adds rsk_refcnt/ireq_refcnt macros, and adds reqsk_put() function, but nothing yet use them. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d34ac51b76e8c7de6094cfb11780ef9c2b93469f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:05 2015 -0700 inet: add ireq_state field to inet_request_sock We need to identify request sock when they'll be visible in global ehash table. ireq_state is an alias to req.__req_common.skc_state. Its value is set to TCP_NEW_SYN_RECV Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10feb428a5045d5eb18a5d755fbb8f0cc9645626 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:04 2015 -0700 inet: add TCP_NEW_SYN_RECV state TCP_SYN_RECV state is currently used by fast open sockets. Initial TCP requests (the pseudo sockets created when a SYN is received) are not yet associated to a state. They are attached to their parent, and the parent is in TCP_LISTEN state. This commit adds TCP_NEW_SYN_RECV state, so that we can convert TCP stack to a different schem gradually. This state is not exported to user space. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd337c581b2b0d933d37f664bf55b342577fed3a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:03 2015 -0700 ipv6: add missing ireq_net & ir_cookie initializations I forgot to update dccp_v6_conn_request() & cookie_v6_check(). They both need to set ireq->ireq_net and ireq->ir_cookie Lets clear ireq->ir_cookie in inet_reqsk_alloc() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 33cf7c90fe2f ("net: add real socket cookies") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b25385761976f4670b83548f3276183d7b4ceac Merge: 1662e86 13211ea Author: Marcelo Tosatti <mtosatt@xxxxxxxxxx> Date: Thu Mar 12 22:09:35 2015 -0300 Merge tag 'kvm-s390-next-20150306' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into queue KVM: s390: Features and Fixes for 4.1 (kvm/next) 1. Several Fixes and enhancements --------------------------------- - These 3 patches have cc stable: b75f4c9 KVM: s390: Zero out current VMDB of STSI before including level3 data. 261520d KVM: s390: fix handling of write errors in the tpi handler 15462e3 KVM: s390: reinjection of irqs can fail in the tpi handler 2. SIMD support the kernel part (introduced with z13) ----------------------------------------------------- - two KVM-generic changes in kvm.h: 1. New capability that can be enabled: KVM_CAP_S390_VECTOR_REGISTERS 2. increased padding size for sync regs in struct kvm_run to clarify that sync regs can be larger than 1k. This is fine as this is the last element in the structure. commit 1662e862a87110f742a144210c59dc0e8a112bc9 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Mar 12 14:59:26 2015 +0100 KVM: MAINTAINERS: add file arch/x86/kernel/kvm.c|kvmclock.c The KVM list should be CCed on changes for arch/x86/kernel/kvm.c and arch/x86/kernel/kvmclock.c Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 0372c1abdd0dc22d92b2c803c097399d7e037f81 Merge: 40aad09 01e84c7 Author: Chris Zankel <chris@xxxxxxxxxx> Date: Fri Mar 13 00:41:32 2015 +0000 Merge tag 'xtensa-for-next-20150304' of git://github.com/jcmvbkbc/linux-xtensa into for_next Xtensa fixes for 4.0: - make xtfpgs LCD driver functional and configurable. This fixes hardware lockup on KC705/ML605 boot; - wire bpf and execveat syscalls; - provide __NR_sync_file_range2 instead of __NR_sync_file_range, as that's what xtensa uses. commit 40aad098c2a06b9cccd8ac1ef8407fd1677fe913 Merge: bfa76d49 04ddc5b Author: Chris Zankel <chris@xxxxxxxxxx> Date: Fri Mar 13 00:39:30 2015 +0000 Merge tag 'xtensa-for-next-20150207' of git://github.com/jcmvbkbc/linux-xtensa into for_next Xtensa improvements for 3.20: - add audio subsystem bits to xtfpga DTS and provide sample KC705 config with audio features enabled. commit 646c0282df04265f77ebd5ad3beae671e59acd5b Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Mar 12 12:30:15 2015 -0500 PCI: Fail pci_ioremap_bar() on unassigned resources Make pci_ioremap_bar() fail if we're trying to map a BAR that hasn't been assigned. Normally pci_enable_device() will fail if a BAR hasn't been assigned, but a driver can successfully call pci_enable_device_io() even if a memory BAR hasn't been assigned. That driver should not be able to use pci_ioremap_bar() to map that unassigned memory BAR. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1f7bf3bfb5d60c87dcaa708fd9eabbec93f15830 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Mar 12 12:30:11 2015 -0500 PCI: Show driver, BAR#, and resource on pci_ioremap_bar() failure Use dev_warn() to complain about a pci_ioremap_bar() failure so we can include the driver name, BAR number, and the resource itself. We could use dev_WARN() to also get the backtrace as we did previously, but I think that's more information than we need. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c770cb4cb505c096eaca0fbbca3169c3aa4c3474 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Mar 12 12:30:06 2015 -0500 PCI: Mark invalid BARs as unassigned If a BAR is not inside any upstream bridge window, or if it conflicts with another resource, mark it as IORESOURCE_UNSET so we don't try to use it. We may be able to assign a different address for it. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 91d5cb737287642b75e47790a28a43cd0efd80cb Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Mar 7 23:18:12 2015 +0100 ARM: dts: rockchip: complete rk3288-evb pmic supplies This adds the static vcc_sys regulator to the rk3288-evb, the missing rk808 supplies from it and all the supplies of the act8846 evb-variant. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 54720df130b3e6356391ed4f8a1a024318bcae23 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Mar 12 20:03:12 2015 +0100 cls_bpf: do eBPF invocation under non-bh RCU lock variant for maps Currently, it is possible in cls_bpf to access eBPF maps only under rcu_read_lock_bh() variants: while on ingress side, that is, handle_ing(), the classifier would be called from __netif_receive_skb_core() under rcu_read_lock(); on egress side, however, it's rcu_read_lock_bh() via __dev_queue_xmit(). This rcu/rcu_bh mix doesn't work together with eBPF maps as they require soley to be called under rcu_read_lock(). eBPF maps could also be shared among various other eBPF programs (possibly even with other eBPF program types, f.e. tracing) and user space processes, so any context is assumed. Therefore, a possible fix for cls_bpf is to wrap/nest eBPF program invocation under non-bh RCU lock variant. Fixes: e2e9b6541dd4 ("cls_bpf: add initial eBPF support for programmable classifiers") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06741d055bb1a630f793e36a486a209698ea672b Merge: 80f1d68 0b65bd9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 12 18:26:58 2015 -0400 Merge branch 'fib_trie_table_merge_fixes' Alexander Duyck says: ==================== fib_trie: Minor fixes for table merge This patch set addresses two issues reported with the tables merged, the first is a NULL pointer dereference, and the other is to remove a WARN_ON and set the ordering for aliases from different tables with the same slen values. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b65bd97ba5fc2c43fa4d077e7420f3ec09a40b3 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Mar 12 14:46:29 2015 -0700 fib_trie: Provide a deterministic order for fib_alias w/ tables merged This change makes it so that we should always have a deterministic ordering for the main and local aliases within the merged table when two leaves overlap. So for example if we have a leaf with a key of 192.168.254.0. If we previously added two aliases with a prefix length of 24 from both local and main the first entry would be first and the second would be second. When I was coding this I had added a WARN_ON should such a situation occur as I wasn't sure how likely it would be. However this WARN_ON has been triggered so this is something that should be addressed. With this patch the ordering of the aliases is as follows. First they are sorted on prefix length, then on their table ID, then tos, and finally priority. This way what we end up doing is essentially interleaving the two tables on what used to be leaf_info structure boundaries. Fixes: 0ddcf43d5 ("ipv4: FIB Local/MAIN table collapse") Reported-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c9e9f7320f0138497ef7879c0903246746e0ed3 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Mar 12 14:46:23 2015 -0700 fib_trie: Avoid NULL pointer if local table is not allocated The function fib_unmerge assumed the local table had already been allocated. If that is not the case however when custom rules are applied then this can result in a NULL pointer dereference. In order to prevent this we must check the value of the local table pointer and if it is NULL simply return 0 as there is no local table to separate from the main. Fixes: 0ddcf43d5 ("ipv4: FIB Local/MAIN table collapse") Reported-by: Madhu Challa <challa@xxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c60d25fa1b22fdcf141f8006d31c32b08db7311 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 9 05:37:47 2015 -0800 rcu: Add diagnostics to grace-period cleanup At grace-period initialization time, RCU checks that all quiescent states were really reported for the previous grace period. Now that grace-period cleanup has been split out of grace-period initialization, this commit also performs those checks at grace-period cleanup time. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 186bea5d35c821d49e70015d0a6eb73fe9f55d8c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 29 16:37:19 2015 -0800 rcutorture: Default to grace-period-initialization delays Given that CPU-hotplug events are now applied only at the starts of grace periods, it makes sense to unconditionally enable slow grace-period initialization for rcutorture testing. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 88428cc5c27c63a4313e213813bc39b9899224d5 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 28 14:42:09 2015 -0800 rcu: Handle outgoing CPUs on exit from idle loop This commit informs RCU of an outgoing CPU just before that CPU invokes arch_cpu_idle_dead() during its last pass through the idle loop (via a new CPU_DYING_IDLE notifier value). This change means that RCU need not deal with outgoing CPUs passing through the scheduler after informing RCU that they are no longer online. Note that removing the CPU from the rcu_node ->qsmaskinit bit masks is done at CPU_DYING_IDLE time, and orphaning callbacks is still done at CPU_DEAD time, the reason being that at CPU_DEAD time we have another CPU that can adopt them. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 528a25b00e1f84eaba6c98e63f58ee0a8e472102 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 28 14:09:43 2015 -0800 cpu: Make CPU-offline idle-loop transition point more precise This commit uses a per-CPU variable to make the CPU-offline code path through the idle loop more precise, so that the outgoing CPU is guaranteed to make it into the idle loop before it is powered off. This commit is in preparation for putting the RCU offline-handling code on this code path, which will eliminate the magic one-jiffy wait that RCU uses as the maximum time for an outgoing CPU to get all the way through the scheduler. The magic one-jiffy wait for incoming CPUs remains a separate issue. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c199068913c9c5cbb5498e289bb387703e087ea8 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 23 22:29:37 2015 -0800 rcu: Eliminate ->onoff_mutex from rcu_node structure Because that RCU grace-period initialization need no longer exclude CPU-hotplug operations, this commit eliminates the ->onoff_mutex and its uses. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 0aa04b055e71bd3b8040dd71a126126c66b6f01e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 23 21:52:37 2015 -0800 rcu: Process offlining and onlining only at grace-period start Races between CPU hotplug and grace periods can be difficult to resolve, so the ->onoff_mutex is used to exclude the two events. Unfortunately, this means that it is impossible for an outgoing CPU to perform the last bits of its offlining from its last pass through the idle loop, because sleeplocks cannot be acquired in that context. This commit avoids these problems by buffering online and offline events in a new ->qsmaskinitnext field in the leaf rcu_node structures. When a grace period starts, the events accumulated in this mask are applied to the ->qsmaskinit field, and, if needed, up the rcu_node tree. The special case of all CPUs corresponding to a given leaf rcu_node structure being offline while there are still elements in that structure's ->blkd_tasks list is handled using a new ->wait_blkd_tasks field. In this case, propagating the offline bits up the tree is deferred until the beginning of the grace period after all of the tasks have exited their RCU read-side critical sections and removed themselves from the list, at which point the ->wait_blkd_tasks flag is cleared. If one of that leaf rcu_node structure's CPUs comes back online before the list empties, then the ->wait_blkd_tasks flag is simply cleared. This of course means that RCU's notion of which CPUs are offline can be out of date. This is OK because RCU need only wait on CPUs that were online at the time that the grace period started. In addition, RCU's force-quiescent-state actions will handle the case where a CPU goes offline after the grace period starts. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit cc99a310caf811aebbd0986f433d824e4a5e7ce5 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 08:59:29 2015 -0800 rcu: Move rcu_report_unblock_qs_rnp() to common code The rcu_report_unblock_qs_rnp() function is invoked when the last task blocking the current grace period exits its outermost RCU read-side critical section. Previously, this was called only from rcu_read_unlock_special(), and was therefore defined only when CONFIG_RCU_PREEMPT=y. However, this function will be invoked even when CONFIG_RCU_PREEMPT=n once CPU-hotplug operations are processed only at the beginnings of RCU grace periods. The reason for this change is that the last task on a given leaf rcu_node structure's ->blkd_tasks list might well exit its RCU read-side critical section between the time that recent CPU-hotplug operations were applied and when the new grace period was initialized. This situation could result in RCU waiting forever on that leaf rcu_node structure, because if all that structure's CPUs were already offline, there would be no quiescent-state events to drive that structure's part of the grace period. This commit therefore moves rcu_report_unblock_qs_rnp() to common code that is built unconditionally so that the quiescent-state-forcing code can clean up after this situation, avoiding the grace-period stall. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 8eb74b2b291e7bf6aa59fcb4e59f236382f00bf5 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 13 10:52:28 2015 -0800 rcu: Rework preemptible expedited bitmask handling Currently, the rcu_node tree ->expmask bitmasks are initially set to reflect the online CPUs. This is pointless, because only the CPUs preempted within RCU read-side critical sections by the preceding synchronize_sched_expedited() need to be tracked. This commit therefore instead sets up these bitmasks based on the state of the ->blkd_tasks lists. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit eea97aed815ac25b9435a556fce345d257f47405 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Thu Mar 12 10:33:46 2015 -0700 MAINTAINERS: add entry for Generic PM domains (genpd) Add entry for genpd with Rafael, myself and Ulf as co-maintainers. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d1b12075ffa808dce33dd46b7ad035bebf8da215 Author: Olivier Sobrie <olivier@xxxxxxxxx> Date: Thu Mar 12 14:47:13 2015 -0700 Input: pwm-beeper - remove useless call to pwm_config() Calling pwm_config() with a period equal to zero always results in error (-EINVAL) and pwm chip config method is never called. Signed-off-by: Olivier Sobrie <olivier@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 877bef7de141db241e0c5d06db988b4ecbe29cf3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Mar 12 14:50:36 2015 -0700 Input: sun4i-ts - really fix A10 temperature reporting The commit titled: "Input: sun4i-ts - A10 (sun4i) has a different temperature curve" contains a math error, the offset it uses is in degrees, but the actual code applies the offset before multiplying by stepsize :| Given that this is rather backwards (every math course ever thought applies the multiplication before the offset for linear functions), this commit fixes things by changing the code applying the offset to do the logical thing, adjusting the offset for the other models accordingly. This has been tested on an A10, A13, A20 and A31 to make sure everything really is correct now. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit aeda9130c38e2e0e77c1aaa65292c2f5a81107a8 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Mar 12 18:16:52 2015 +0000 arm/arm64: KVM: Optimize handling of Access Flag faults Now that we have page aging in Stage-2, it becomes obvious that we're doing way too much work handling the fault. The page is not going anywhere (it is still mapped), the page tables are already allocated, and all we want is to flip a bit in the PMD or PTE. Also, we can avoid any form of TLB invalidation, since a page with the AF bit off is not allowed to be cached. An obvious solution is to have a separate handler for FSC_ACCESS, where we pride ourselves to only do the very minimum amount of work. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 35307b9a5f7ebcc8d8db41c73b69c131b48ace2b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Mar 12 18:16:51 2015 +0000 arm/arm64: KVM: Implement Stage-2 page aging Until now, KVM/arm didn't care much for page aging (who was swapping anyway?), and simply provided empty hooks to the core KVM code. With server-type systems now being available, things are quite different. This patch implements very simple support for page aging, by clearing the Access flag in the Stage-2 page tables. On access fault, the current fault handling will write the PTE or PMD again, putting the Access flag back on. It should be possible to implement a much faster handling for Access faults, but that's left for a later patch. With this in place, performance in VMs is degraded much more gracefully. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 1d2ebaccc741a299abfafb848414b01d190f4e33 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Mar 12 18:16:50 2015 +0000 arm/arm64: KVM: Allow handle_hva_to_gpa to return a value So far, handle_hva_to_gpa was never required to return a value. As we prepare to age pages at Stage-2, we need to be able to return a value from the iterator (kvm_test_age_hva). Adapt the code to handle this situation. No semantic change. Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c90570d9511d42421c85709b46bffd366185d835 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Mon Mar 9 10:33:58 2015 +0800 PCI: Assign resources before drivers claim devices (pci_scan_bus()) Previously, pci_scan_bus() created a root PCI bus, enumerated the devices on it, and called pci_bus_add_devices(), which made the devices available for drivers to claim them. Most callers assigned resources to devices after pci_scan_bus() returns, which may be after drivers have claimed the devices. This is incorrect; the PCI core should not change device resources while a driver is managing the device. Remove pci_bus_add_devices() from pci_scan_bus() and do it after any resource assignment in the callers. [bhelgaas: changelog, check for failure in mcf_pci_init()] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> CC: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> CC: Richard Henderson <rth@xxxxxxxxxxx> CC: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> CC: Matt Turner <mattst88@xxxxxxxxx> commit 80f1d68ccba70b1060c9c7360ca83da430f66bed Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Mar 12 17:21:42 2015 +0100 ebpf: verifier: check that call reg with ARG_ANYTHING is initialized I noticed that a helper function with argument type ARG_ANYTHING does not need to have an initialized value (register). This can worst case lead to unintented stack memory leakage in future helper functions if they are not carefully designed, or unintended application behaviour in case the application developer was not careful enough to match a correct helper function signature in the API. The underlying issue is that ARG_ANYTHING should actually be split into two different semantics: 1) ARG_DONTCARE for function arguments that the helper function does not care about (in other words: the default for unused function arguments), and 2) ARG_ANYTHING that is an argument actually being used by a helper function and *guaranteed* to be an initialized register. The current risk is low: ARG_ANYTHING is only used for the 'flags' argument (r4) in bpf_map_update_elem() that internally does strict checking. Fixes: 17a5267067f3 ("bpf: verifier (add verifier core)") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7fe5f1c16c2c7904c7b8fcfb93e691893f21e8d3 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:15 2015 -0700 MAINTAINERS: Add selftests/timers to the timekeeping maintainance list Since I'm adding a bunch of tests to selftests/timers, put me on the hook in the maintainers file. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 0d02a753a5f61cc5b57b83d8bd709cb64fe7e81f Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:14 2015 -0700 selftests/timers: Add set-2038 test from timetest suite Adds the set-2038 test which sets the time to near-edge cases like the start and end of the 32 bit epoch and checks that time behaves properly. There is also a dangerous mode, which lets the clock roll over past 2038 on 32bit systems, which on some older kernels will cause system hangs. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 3a92a15fba68b5c9c8b51ee98a94a3d1ff54c8e5 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:13 2015 -0700 selftests/timers: Add set-tai from the timetest suite This patch adds the set-tai test which ensures the tai offset can be set properly from adjtimex. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit d7b2902c1541f8e65186c4e9dd1bf054b45d49e5 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:12 2015 -0700 selftests/timers: Add leapcrash test from the timetest suite This change adds the leapcrash test which tests to see if a leapsecond deadlock which was observed from 2.6.26 to 3.3 is present on this system. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 5bccfe41532f4b80fc70cd8f78fd965666a46c15 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:11 2015 -0700 selftests/timers: Add leap-a-day test from timetest suite This change adds the leap-a-day test which sets STA_INS and STA_DEL each day to trigger leapseconds each day. It also has a mode to jump the time to right before the end of the day each iteration. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 7290ce1423c38108027ae90116ece6618db32bc3 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:10 2015 -0700 selftests/timers: Add clocksource-switch test from timetest suite Adds the clocksource-switch tests which continually switches the current clocksource between all the available ones, watching for any timekeeping inconsistencies. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 6e8b285bcdd1834a18fd264c88a15418091c4015 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:09 2015 -0700 selftests/timers: Add skew_consistency test from the timetests suite This change adds the skew_consistency test, which twists the ADJ_FREQUENCY knob back and forth and watches for timekeeping inconsistencies. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit d869424558419a4a34a12bd5187b5d6d06ee132f Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:08 2015 -0700 selftests/timers: Add change_skew test from timetest suite This patch adds the change_skew test which validates the adjtimex freq can be set to various values and then using the inconsistency-check, raw_skew, and nanosleep tests ensures time behaves properly. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit b7bb8442fa902272ffe937a226829c9be7bfb14b Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:07 2015 -0700 selftests/timers: Add alarmtimer-suspend test from timetests suite This adds the alarmtimer-suspend test from the timetests suite, which tests that the alarmtimers wake the system up from suspend shortly after the time they were set to fire. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit de52133f1892ed2c385655473df90f3d2797fff9 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:06 2015 -0700 selftests/timers: Add adjtimex validation test from timetest suite This adds a adjtimex validation test which checks the behavior for a set of valida and invalid inputs. So far this only tests ADJ_FREQUENCY, but hopefully will grow. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 274d631e481504e347b491ddb5e18487b855aba5 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:05 2015 -0700 selftests/timers: Add mqueue latency test from the timetest suite Add test to validate mqueue timeout latency from the timetest suite Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit e39b60f37ecbdc0dd3dbc4c80407c6f2376f764f Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:04 2015 -0700 selftests/timers: Add threaded time inconsistency test from timetest suite Add the threaded time inconsistency test from the timetest suite. This checks for time inconsistencies between cpus, usually associated with clock skew as sometimes found w/ TSCs. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 4e40d0a22e728102bfea9543d827ee72206eecbb Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:03 2015 -0700 selftests/timers: Add set-timer-lat test from timetest suite Add my set-timer-lat test from the timetest suite. This test checks the latency from set_timer and reports if any are unreasonable (>40ms). Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 51f91cbdf5450b773eb221a2dfd141a92413370e Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:02 2015 -0700 selftests/timers: Add clock skew estimation test from timetest suite This adds my clock skew estimation test from the timetest suite. It measures the drift between CLOCK_MONOTONIC and CLOCK_MONOTONIC_RAW and compares it with the current frequency value from adjtimex. It sometimes can trigger false failures when ntpd isn't in a steady state, but its a useful too when doing adjtimex testing. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit c5fffcb2bd4e2fdc37875fc4368db49ac927d6df Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:01 2015 -0700 selftests/timers: Add nsleep-lat test from timetest suite Adds my nanosleep latency test from the timetest suite. This checks to make sure we don't see "unreasonable" latencies (> 40ms) when calling nanosleep. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit ed3fe34a2a4e0c9f184a178c48acf20c7acf244e Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:00 2015 -0700 selftests/timers: Add inconsistency-check test from timetests This adds my inconsistency-test from my timetests suite, which checks for (single threaded) time inconsistencies across the various clockids. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 689f32fbb81356efac9fac99c740c4c232634c41 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:39:59 2015 -0700 selftests/timers: Add nanosleep test from timetest suite Add my basic nanosleep test from my timetest suite. This test validates that nanosleep doesn't return early against a number of clockids. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 2430ec652dd67243484c90fe34a4433622fc2a30 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:39:58 2015 -0700 selftests/timers: Quiet warning due to lack of return check on brk The posix_timers.c test has a loop that tries to keep it in kernel space, repeatedly calling brk(). However, it doesn't check the return value, which causes warnings. This patch adds a err value which captures the return value and modifies the test so it will quit if a failure occurs. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 03438212d0b0ea2cf201e921c9056f683c624ffb Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:39:57 2015 -0700 selftests/timers: Cleanup Makefile to make it easier to add future tests Try to streamline the makefile so its easier to add timer/timekeeping tests. Also adds support for the CROSS_COMPILE variable. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 5cf065f556cb5926127b52563f494c2dd0a878e4 Merge: 306c342 aaa6d06 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Mar 11 17:07:37 2015 -0700 Merge branch 'clk-fixes' into clk-next commit 306c342f9cb1f573af57a6afd1b3549aa97b9281 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Feb 5 15:39:11 2015 -0800 clk: Replace of_clk_get_by_clkspec() with of_clk_get_from_provider() of_clk_get_by_clkspec() has the same function signature as of_clk_get_from_provider() struct clk *of_clk_get_by_clkspec(struct of_phandle_args *clkspec) struct clk *of_clk_get_from_provider(struct of_phandle_args *clkspec) except of_clk_get_by_clkspec() checks to make sure clkspec is not NULL. Let's remove of_clk_get_by_clkspec() and replace the callers of it (clkconf.c) with of_clk_get_from_provider(). Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Reviewed-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 50595f8b9e78b3c80d341bf9da3e7848d9abbe2a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Feb 6 11:42:44 2015 -0800 clk: Rename child_node to clks_node to avoid confusion The child_node member of struct clk is named the same as the child_node member of struct clk_core. Let's rename the struct clk's member to clks_node to avoid getting confused with the child_node member of struct clk_core and to match the name of the list head, clks. Reviewed-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Cc: Alban Browaeys <alban.browaeys@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9d3745d44a7faa7d24db7facb1949a1378162f3e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 6 15:41:53 2015 -0800 clk: qcom: Properly change rates for ahbix clock The ahbix clock can never be turned off in practice. To change the rates we need to switch the mux off the M/N counter to an always on source (XO), reprogram the M/N counter to get the rate we want and finally switch back to the M/N counter. Add a new ops structure for this type of clock so that we can set the rate properly. Fixes: c99e515a92e9 "clk: qcom: Add IPQ806X LPASS clock controller (LCC) driver" Tested-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 718b25c803df8c1f8f2090c115911d123e34c78a Author: Anish Kumar <yesanishhere@xxxxxxxxx> Date: Wed Mar 11 15:13:16 2015 -0700 ASoC: max98925: trivial duplicate typo fix in set_fmt Signed-off-by: Anish Kumar <yesanishhere@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 42ce5b8ab81e94089c79791fc682a7f46af9790a Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Thu Mar 12 20:25:07 2015 +0800 ASoC: rt5645: Add TDM support for rt5650 rt5650 and rt5645 use different register bits for TDM configuration. This patch modifies rt5645_set_tdm_slot to support both codecs. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 65bd20046f15c9c465df7aa9b86491e56e9c0d25 Merge: 0bf0ff8 b2f0e5f Author: Michael Turquette <mturquette@xxxxxxxxxx> Date: Fri Mar 6 11:21:13 2015 -0800 Merge tag 'v3.20-exynos5433-clk' of git://linuxtv.org/snawrocki/samsung into clk-next Clock controller driver for Exynos 5433 SoC. commit 0bf0ff82c34da02ee5795101b328225a2d519594 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Feb 23 13:30:28 2015 -0800 clk: qcom: Fix i2c frequency table PXO is 25MHz, not 27MHz. Fix the table. Fixes: 24d8fba44af3 "clk: qcom: Add support for IPQ8064's global clock controller (GCC)" Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Tested-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit b61c43c09f5e2b9bf8f340034c5ef1db8c64efa5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Feb 2 14:11:25 2015 -0800 clk: clk_set_parent() with current parent shouldn't fail If a driver calls clk_set_parent(clk, parent) and parent is the current parent of clk we shouldn't fail in any case. Unfortunately if clk is a read-only mux we return -ENOSYS because we think we can't change the parent, except for in this special case where we don't actually need to change the parent at all. Return 0 in such a situation. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit dfc202ead3123988793ac1160849676000b77ee4 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Feb 2 14:37:41 2015 -0800 clk: Add tracepoints for hardware operations It's useful to have tracepoints around operations that change the hardware state so that we can debug clock hardware performance and operations. Four basic types of events are supported: on/off events for enable, disable, prepare, unprepare that only record an event and a clock name, rate changing events for clk_set_{min_,max_}rate{_range}(), phase changing events for clk_set_phase() and parent changing events for clk_set_parent(). Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 08b9575660cd6d654c05314fc41d2209f2d8bdfb Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Feb 2 14:09:43 2015 -0800 clk: Missing set_phase op is an error If a clock's clk_ops doesn't have the set_phase op set we should return an error from clk_set_phase(). This way clock consumers know that when they tried to set a phase it didn't work, as opposed to the current behavior where the return value is 0 meaning success. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 6b54783620bcfaff37ad41e957d29c326211cc18 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Feb 2 15:37:04 2015 +0200 clk: fractional-divider: support for divider bypassing If the divider or multiplier values are 0 in the register, bypassing the divider and returning the parent clock rate in clk_fd_recalc_rate(). Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> [mturquette@xxxxxxxxxx: fixed commitlog typo] commit 496eadf821c2a5111a4b1b401ddda8d1fc18fb0b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jan 9 09:28:10 2015 +0100 clk: Use lockdep asserts to find missing hold of prepare_lock Add lockdep asserts for holding the prepare_lock to all functions marking this as a requirement in description. Add this to private and exported functions so all locking misuse could be detected during debugging. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 3814c204446822cd3c82ec4e8616600732c1f94e Author: Lu, Han <han.lu@xxxxxxxxx> Date: Thu Mar 12 13:53:02 2015 +0800 ASoC: Intel: add kcontrol to set parameter to sound effect module waves Each kcontrol command includes a line of parameters up to 128 bytes. kcontrol command to set param: cset "name='Waves Set Param' <0x01,0xff,...>" or cset-bin-file "name='Waves Set Param' <path/to/binary/config/file>" The parameter lines are stored in a buffer array, so can be read back from buffer rather than from DSP, and be relaunched to DSP when resume from RTD3. The buffer size is 160 parameter lines. kcontrol command to reset the buffer: cset "name='Waves Set Param' 0xff" alsa-lib v1.0.29 or commit 6ea14c36 and f47480af are required to support the kcontrol commands. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 201892268b8335ae8c9dc7cc9a0d4bf6e1336f0e Author: Lu, Han <han.lu@xxxxxxxxx> Date: Thu Mar 12 13:53:01 2015 +0800 ASoC: Intel: add function to set parameter to sound effect module waves Add function to set parameters to module waves. The parameters can be set only when module is enabled, and parameter size is limited to 500 Bytes. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76c07b8265c68d9a89fb4c0a634e373a087f11be Author: Lu, Han <han.lu@xxxxxxxxx> Date: Thu Mar 12 13:53:00 2015 +0800 ASoC: Intel: add kcontrol to enable/disable sound effect module waves Add kcontrol to enable/disable module waves. IPC is valid only when module is loaded. Also track module state over suspend so it's state can be restored on resume. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 20453d88ccb6eb269787f37181202625fc12ccdc Merge: 6c7005f 0c5c9fb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 12 14:39:44 2015 -0400 Merge branch 'possible_net_t' Eric W. Biederman says: ==================== Introduce possible_net_t The current usage of write_pnet and read_pnet is a little laborious and error prone as you only notice if you failed to include them if are compiling with network namespaces enabled. possible_net_t remedies that by using a type that is 0 bytes when network namespaces are disabled and can only be read and written to with read_pnet and write_pnet. Aka less work and safer for the same effect. I kill hold_net and release_net first as are they are haven't been used since 2008 and are noise at the points where write_pnet and read_pnet are used. I have folded in Eric Dumazets suggestions to improve the killing of hold_net and release net. And respon. I had to respin anyway as there was enough changes elsewhere in the tree the previous version of these patches did not quite apply cleanly. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c5c9fb55106333e773de8c9dd321fa8240caeb3 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Mar 11 23:06:44 2015 -0500 net: Introduce possible_net_t Having to say > #ifdef CONFIG_NET_NS > struct net *net; > #endif in structures is a little bit wordy and a little bit error prone. Instead it is possible to say: > typedef struct { > #ifdef CONFIG_NET_NS > struct net *net; > #endif > } possible_net_t; And then in a header say: > possible_net_t net; Which is cleaner and easier to use and easier to test, as the possible_net_t is always there no matter what the compile options. Further this allows read_pnet and write_pnet to be functions in all cases which is better at catching typos. This change adds possible_net_t, updates the definitions of read_pnet and write_pnet, updates optional struct net * variables that write_pnet uses on to have the type possible_net_t, and finally fixes up the b0rked users of read_pnet and write_pnet. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efd7ef1c1929d7a0329d4349252863c04d6f1729 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Mar 11 23:04:08 2015 -0500 net: Kill hold_net release_net hold_net and release_net were an idea that turned out to be useless. The code has been disabled since 2008. Kill the code it is long past due. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c7005f6cb1bf63bb1f505ef69364fb2cc00628e Merge: 6b9f53b ec9f71c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 12 14:35:35 2015 -0400 Merge branch 'rhashtable-cleanups' Herbert Xu says: ==================== rhashtable hash cleanups This is a rebase on top of the nested lock annotation fix. Nothing to see here, just a bunch of simple clean-ups before I move onto something more substantial (hopefully). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec9f71c59e00388efc1337307511b59cc4c48394 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:49:41 2015 +1100 rhashtable: Remove obj_raw_hashfn Now that the only caller of obj_raw_hashfn is head_hashfn, we can simply kill it and fold it into the latter. This patch also moves the common shift from head_hashfn/key_hashfn into rht_bucket_index. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cffaa9cb922472936b269017afdd3f147cb6f380 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:49:40 2015 +1100 rhashtable: Remove key length argument to key_hashfn key_hashfn has only one caller and it doesn't really need to supply the key length as an extra parameter. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eca849333017cab1cd02c8fc9187962fa629b27d Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:49:39 2015 +1100 rhashtable: Use head_hashfn instead of obj_raw_hashfn Now that we don't have cross-table hashes, we no longer need to keep the entire hash value so all users of obj_raw_hashfn can use head_hashfn instead. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d2b18793d16e4186f00b07d031a25537c4cefb9 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:49:38 2015 +1100 rhashtable: Move masking back into key_hashfn This patch reverts commit c88455ce50ae4224d84960ce2baa53e61580df27 ("rhashtable: key_hashfn() must return full hash value") because the only user of it always masks the hash value. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d2ac45611b072a24e5014a56a65e6be31c1f884 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 11 22:13:54 2015 -0500 jfs: %pf is only for function pointers Use %ps for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pf expects a function descriptor. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Cc: jfs-discussion@xxxxxxxxxxxxxxxxxxxxx commit f7834c092c42995e9f3611b7d186e9dfdb8430cc Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Mar 3 16:13:56 2015 -0600 PNP: Don't check for overlaps with unassigned PCI BARs After 0509ad5e1a7d ("PNP: disable PNP motherboard resources that overlap PCI BARs"), we disable and warn about PNP resources that overlap PCI BARs. But we assume that all PCI BARs are valid, which is incorrect, because a BAR may not have any space assigned to it. In that case, we will not enable the BAR, so no other resource can conflict with it. Ignore PCI BARs that are unassigned, as indicated by IORESOURCE_UNSET. Firmware often leaves PCI BARs unassigned, containing zero. Zero is a valid BAR value, so we can't just check for that, but the PCI core can set IORESOURCE_UNSET when it detects an unassigned BAR by other means. This should get rid of many of the annoying messages like this: pnp 00:00: disabling [io 0x0061] because it overlaps 0001:05:00.0 BAR 0 [io 0x0000-0x00ff] Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e39af88f18dfe9a7938765c97ce9ed448915e6d5 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Mar 10 13:41:10 2015 +0100 usb: dwc2: rework initialization of host and gadget in dual-role mode If device is configured to work only in HOST or DEVICE mode, there is no point in initializing both subdrivers. This patch also fixes resource leakage if host subdriver fails to initialize. Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9a6d7298b0833614c411f774c46514efb1bd5651 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 14:44:57 2015 -0600 of: Calculate device DMA masks based on DT dma-range size Calculate the dma_mask and coherent_dma_mask based on the dma-range values set in DT for the device. Limit the mask to lower of the default mask and mask calculated. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> commit 22b3c181c6c324a46f71aae806d8ddbe61d25761 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:14 2015 -0500 arm: dma-mapping: limit IOMMU mapping size arm_iommu_create_mapping() has size parameter of size_t and arm_setup_iommu_dma_ops() can take a value higher than that when this is called from the OF code. So limit the size to SIZE_MAX. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit de335bb49269037d1e8906ba59f8bacba732bec6 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:13 2015 -0500 PCI: Update DMA configuration from DT If there is a DT node available for the root bridge's parent device, use the DMA configuration from that device node. For example, Keystone PCI devices would require dma_pfn_offset to be set correctly in the device structure of the PCI device in order to have the correct DMA mask. The DT node will have dma-ranges defined for this. Also support using the DT property dma-coherent to allow coherent DMA operation by the PCI device. Use the new helper function of_pci_dma_configure() to update the device DMA configuration. This fixes DMA on systems where DMA addresses are a constant offset from CPU physical addresses. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit bc3b5b47c80da8838758731d423179262c9c36ec Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:23:22 2015 +0300 PCI: cpcihp: Add missing curly braces in cpci_configure_slot() I don't have this hardware but it looks like we weren't adding bridge devices as intended. Maybe the bridge is always the last device? Fixes: 05b125004815 ("PCI: cpcihp: Iterate over all devices in slot, not functions 0-7") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yijing Wang <wangyijing@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.9+ commit 4fabf3d19cec11d9faa567f8cf0290298c5a93ea Author: He Kuang <hekuang@xxxxxxxxxx> Date: Thu Mar 12 15:21:49 2015 +0800 perf hists browser: Fix UI bug after fold/unfold In perf hists browser, the fold/unfold stat of each hist entry is recorded but hb->nr_callchain_rows loses its value after zoom out and zoom in back. This causes a wrong row cursor range that restrict user to move down anymore. This bug can be reproduced as follows: $ perf record -g -e syscalls:* ls $ perf report Available samples ================================================================ 2 syscalls:sys_enter_mprotect <= [enter one of the entries] 2 syscalls:sys_exit_mprotect 13 syscalls:sys_enter_brk ... In the hists brower, unfold some of the items, now the cursor can reach to any rows: Children Self Command Shared Object Symbol ================================================================ - 100.00% 100.00% ls libuClibc-0.9.33.2.so [.] lstat64 - lstat64 16.67% 0x6469702e64 8.33% 0x646970 8.33% 0x617461 8.33% 0x65 - 16.67% 0.00% ls [unknown] [.]0x6469702e64 0x6469702e64 <= [cursor can reach to bottom line, everything is ok] Now, zoom back to "Available samples" and enter again: Children Self Command Shared Object Symbol ================================================================ - 100.00% 100.00% ls libuClibc-0.9.33.2.so [.] lstat64 - lstat64 16.67% 0x6469702e64 8.33% 0x646970 8.33% 0x617461 <= [cursor may stop here, can't move down anymore] 8.33% 0x65 - 16.67% 0.00% ls [unknown] [.]0x6469702e64 0x6469702e64 This patch recalculates hb->nr_callchain_rows to fix the bug. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426144909-18951-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 38942ba204639030b3f3cfe5748a6aff3c9dcc81 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 4 15:59:05 2015 -0500 NFSv4: Append delegations to the per-client list instead of prepending Do so on the assumption that for most use cases, that list will turn into a more or less LRU-ordered list, and so the list traversals in nfs_client_return_marked_delegations() are likely to be shorter before hitting a candidate to return. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f0eede10fd401a1c5193e020cd372d7b7014d9f3 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Mar 3 04:24:25 2015 -0500 SUNRPC: use jiffies_to_msecs for converting jiffies Use jiffies_to_msecs for converting jiffies as it handles all of the corner cases reliably and also helps readability. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 09a330f4b9324e40947cc4fff13606719382c580 Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Fri Dec 5 21:52:49 2014 -0500 NFS: remount with security change should return EINVAL A remount that alters security flavors can appear to succeed when it should instead return -EINVAL. Check to see if the current security flavor exists within the flavors specified in the remount options, and if not fail the remount. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit df137bc125b6155e54e6725faf0462b791a34c31 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 14:37:25 2015 +0100 nfs: do not export discarded symbols The function nfs4_pnfs_v3_ds_connect_unload is exported so it can be used by other modules, but is also marked '__exit' and will be discarded when built into the kernel, as pointed out by this linker error: `nfs4_pnfs_v3_ds_connect_unload' referenced in section `___ksymtab_gpl+nfs4_pnfs_v3_ds_connect_unload' of fs/built-in.o: defined in discarded section `.exit.text' of fs/built-in.o This removes the __exit annotation to make it safe to call this function. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 5f01d9539496 ("nfs41: create NFSv3 DS connection if specified") Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5b833825fd0012aec00f8fa5769d5400c18d59d8 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:23 2015 +0100 NFSv4.1: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL_GPL; @@ -EXPORT_SYMBOL_GPL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 6d4a48968bfb5c67002f253fbaeb5acd41d7897a Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Wed Mar 11 10:36:20 2015 -0400 perf probe: Fix compiles due to declarations using perf_probe_point perf fails to build with gcc "(GCC) 4.4.7 20120313 (Red Hat 4.4.7-4.0.9)" (a.k.a., RHEL6 / CentOS 6 / OL 6): cc1: warnings being treated as errors util/probe-event.c: In function â??get_alternative_line_rangeâ??: util/probe-event.c:359: error: missing initializer util/probe-event.c:359: error: (near initialization for â??pp.fileâ??) util/probe-event.c:359: error: missing initializer util/probe-event.c:359: error: (near initialization for â??result.functionâ??) Fix by bringing in initializers to declaration. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426084580-60780-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a8cd1f4393032cd87e98803346865cdbceb15ad3 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Wed Mar 11 20:36:03 2015 +0800 perf hists browser: Fix UI bug after zoom into thread/dso/symbol When zoom into thread/dso/symbol, the fold/unfold stat is cleared in hists__filter_by_thread/dso/symbol(), but h->nr_rows is not cleared. So if we toggle fold stat on the unfold entires, nr_entries got a wrong value. This bug can be reproduced as follows: $ perf record -g -e syscalls:sys_enter_open ls $ perf report Children Self Command Shared Object Symbol ================================================================ + 50.00% 0.00% ls ld64.so [.] _dl_get_ready_to_run - 50.00% 0.00% ls ld64.so [.] _dl_load_shared_library _dl_load_shared_library <= [Zoom into thread/dso] _dl_get_ready_to_run _start ... In the new thread hists, all entries reset to fold, if we unfold the same entry as we previously unfolded, nr_entries got wrong value, and we can't move down cursor to bottom row. Thread: ls Children Self Command Shared Object Symbol ================================================================ + 50.00% 0.00% ls ld64.so [.] _dl_get_ready_to_run - 50.00% 0.00% ls ld64.so [.] _dl_load_shared_library _dl_load_shared_library _dl_get_ready_to_run <= [cursor may stop here, can't move down] _start ... This patch clear h->nr_rows to fix this bug. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426077363-855-2-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a78604defffbc1da1497a8c8b48275b723eb5946 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Wed Mar 4 18:01:42 2015 +0800 perf probe: Fix possible double free on error A double free occurred when get source file path failed. If lr->path failed to assign a new value, it will be freed as the old path and then be freed again during line_range__clear(), and causes this: $ perf probe -L do_execve -k vmlinux *** Error in `/usr/bin/perf': double free or corruption (fasttop): 0x0000000000a9ac50 *** ======= Backtrace: ========= ../lib64/libc.so.6(+0x6eeef)[0x7ffff5e44eef] ../lib64/libc.so.6(+0x78cae)[0x7ffff5e4ecae] ../lib64/libc.so.6(+0x79987)[0x7ffff5e4f987] ../bin/perf[0x4ab41f] ... This patch fix this problem. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425463302-1687-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 443a70541c56d4a7dff0ce693870935e138201b2 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 10 19:04:31 2015 -0300 perf tools: Output feature detection's gcc output to a file So that we can debug feature detection problems. It will appear on $(OUTPUT)feature-checks/.make-libbabeltrace.output, using the libbabeltrace feature test. Whole process: [acme@ssdandy linux]$ make -C tools/perf install-bin make: Entering directory `/home/acme/git/linux/tools/perf' BUILD: Doing 'make -j8' parallel build config/Makefile:425: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR config/Makefile:709: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev Auto-detecting system features: ... dwarf: [ on ] ... glibc: [ on ] ... gtk2: [ on ] ... libaudit: [ on ] ... libbfd: [ on ] ... libelf: [ on ] ... libnuma: [ on ] ... libperl: [ on ] ... libpython: [ on ] ... libslang: [ on ] ... libunwind: [ OFF ] ... libdw-dwarf-unwind: [ on ] ... libbabeltrace: [ OFF ] <SNIP> [acme@ssdandy linux]$ find tools/perf -name ".make-*.output" | grep lib | tail -5 tools/perf/config/feature-checks/.make-libdw-dwarf-unwind.output tools/perf/config/feature-checks/.make-libbabeltrace.output tools/perf/config/feature-checks/.make-zlib.output tools/perf/config/feature-checks/.make-liberty.output tools/perf/config/feature-checks/.make-liberty-z.output [acme@ssdandy linux]$ [acme@ssdandy linux]$ cat tools/perf/config/feature-checks/.make-libbabeltrace.output make[1]: Entering directory `/home/acme/git/linux/tools/perf/config/feature-checks' gcc -MD -Wall -Werror -o test-libbabeltrace.bin test-libbabeltrace.c -Wl,-z,noexecstack -lbabeltrace-ctf # -lbabeltrace provided by test-libbabeltrace.c:2:42: fatal error: babeltrace/ctf-writer/writer.h: No such file or directory #include <babeltrace/ctf-writer/writer.h> ^ compilation terminated. make[1]: *** [test-libbabeltrace.bin] Error 1 make[1]: Leaving directory `/home/acme/git/linux/tools/perf/config/feature-checks' [acme@ssdandy linux]$ So the libbabeltrace feature will not be builtin, but if we do what is required for it to be built, namely point where we have it installed: [acme@ssdandy linux]$ time make -C tools/perf LIBBABELTRACE_DIR=/opt/libbabeltrace install-bin make: Entering directory `/home/acme/git/linux/tools/perf' BUILD: Doing 'make -j8' parallel build config/Makefile:425: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR Auto-detecting system features: ... dwarf: [ on ] ... glibc: [ on ] ... gtk2: [ on ] ... libaudit: [ on ] ... libbfd: [ on ] ... libelf: [ on ] ... libnuma: [ on ] ... libperl: [ on ] ... libpython: [ on ] ... libslang: [ on ] ... libunwind: [ OFF ] ... libdw-dwarf-unwind: [ on ] ... libbabeltrace: [ on ] ... zlib: [ on ] ... DWARF post unwind library: libdw <SNIP> [acme@ssdandy linux]$ find tools/perf -name ".make-libbabel*.output" | grep lib | tail -5 tools/perf/config/feature-checks/.make-libbabeltrace.output [acme@ssdandy linux]$ cat tools/perf/config/feature-checks/.make-libbabeltrace.output make[1]: Entering directory `/home/acme/git/linux/tools/perf/config/feature-checks' gcc -MD -I/opt/libbabeltrace/include -Wall -Werror -o test-libbabeltrace.bin test-libbabeltrace.c -Wl,-z,noexecstack -L/opt/libbabeltrace/lib -lbabeltrace-ctf # -lbabeltrace provided by make[1]: Leaving directory `/home/acme/git/linux/tools/perf/config/feature-checks' [acme@ssdandy linux]$ Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-h53xwueqwdeeiqcv9f50nqqb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 19a9df35fe9e8ffd60ce4b6f888b72e7c8422d31 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Mar 10 13:00:35 2015 +0100 perf build: Fix libbabeltrace detection Following patch added -Werror for feature builds: b49f1a4be701 perf tools: Improve feature test debuggability and exposed a problem in the libbabeltrace feature build, because it was including wrong header and gcc couldn't find the used symbol definition. Adding proper header and keeping the old one as it is needed also (libbabeltrace quirk). Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150310120035.GA4333@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e578da3b2009da2a9ae2d25fd0f78c7b76ca5e56 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Mar 6 16:31:29 2015 +0900 perf probe: Allow weak symbols to be probed It currently prevents adding probes in weak symbols. But there're cases that given name is an only weak symbol so that we cannot add probe. $ perf probe -x /usr/lib/libc.so.6 -a calloc Failed to find symbol calloc in /usr/lib/libc-2.21.so Error: Failed to add events. $ nm /usr/lib/libc.so.6 | grep calloc 000000000007b1f0 t __calloc 000000000007b1f0 T __libc_calloc 000000000007b1f0 W calloc This change will result in duplicate probes when strong and weak symbols co-exist in a binary. But I think it's not a big problem since probes at the weak symbol will never be hit anyway. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150306073129.6904.41078.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 680d926a8cb08dd9cf173e2bb93d4a4477771949 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Mar 6 16:31:27 2015 +0900 perf symbols: Allow symbol alias when loading map for symbol name When perf probe tries to add a probe in a binary using symbol name, it sometimes failed since some symbols were discard during loading dso. When it resolves an address to symbol, it'd be better to have just one symbol at given address. But for finding address from symbol, it'd be better to keep all names (including aliases). So allow tools to state that they want to allow aliases via symbol_conf.allow_aliases. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150306073127.6904.3232.stgit@xxxxxxxxxxxxxxxxxxxxx [ Original patch passwd allow_alias to many functions, use symbol_conf.allow_aliases instead ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0687eba7872d7dbe01b074c54359315e97502360 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Mar 6 16:31:25 2015 +0900 Revert "perf probe: Fix to fall back to find probe point in symbols" This reverts commit 906451b98b67 ("perf probe: Fix to fall back to find probe point in symbols"). Since 'perf probe' now retries with the address of given symbol searched from map before this path, this fall back routine isn't needed anymore. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150306073124.6904.1751.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 811dd2ae7cd670fefbb3b220b529bb9876edde70 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Mar 6 16:31:22 2015 +0900 perf probe: Fix --line to handle aliased symbols in glibc Fix perf probe --line to handle aliased symbols correctly in glibc. This makes line_range search failing back to address-based alternative search as same as --add and --vars. Without this patch; ----- # ./perf probe -x /usr/lib64/libc-2.17.so -L malloc Specified source line is not found. Error: Failed to show lines. ----- With this patch; ----- # ./perf probe -x /usr/lib64/libc-2.17.so -L malloc <__libc_malloc@/usr/src/debug/glibc-2.17-c758a686/malloc/malloc.c:0> 0 __libc_malloc(size_t bytes) 1 { mstate ar_ptr; void *victim; __malloc_ptr_t (*hook) (size_t, const __malloc_ptr_t) 6 = force_reg (__malloc_hook); 7 if (__builtin_expect (hook != NULL, 0)) 8 return (*hook)(bytes, RETURN_ADDRESS (0)); 10 arena_lookup(ar_ptr); 12 arena_lock(ar_ptr, bytes); ----- Note that this actually shows __libc_malloc, since it is the real instance of malloc. User can use both __libc_malloc and malloc for --line. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150306073122.6904.18540.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9b118acae310f57baee770b5db402500d8695e50 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Mar 6 16:31:20 2015 +0900 perf probe: Fix to handle aliased symbols in glibc Fix perf probe to handle aliased symbols correctly in glibc. In the glibc, several symbols are defined as an alias of __libc_XXX, e.g. malloc is an alias of __libc_malloc. In such cases, dwarf has no subroutine instances of the alias functions (e.g. no "malloc" instance), but the map has that symbol and its address. Thus, if we search the alieased symbol in debuginfo, we always fail to find it, but it is in the map. To solve this problem, this fails back to address-based alternative search, which searches the symbol in the map, translates its address to alternative (correct) function name by using debuginfo, and retry to find the alternative function point from debuginfo. This adds fail-back process to --vars, --lines and --add options. So, now you can use those on malloc@libc :) Without this patch; ----- # ./perf probe -x /usr/lib64/libc-2.17.so -V malloc Failed to find the address of malloc Error: Failed to show vars. # ./perf probe -x /usr/lib64/libc-2.17.so -a "malloc bytes" Probe point 'malloc' not found in debuginfo. Error: Failed to add events. ----- With this patch; ----- # ./perf probe -x /usr/lib64/libc-2.17.so -V malloc Available variables at malloc @<__libc_malloc+0> size_t bytes # ./perf probe -x /usr/lib64/libc-2.17.so -a "malloc bytes" Added new event: probe_libc:malloc (on malloc in /usr/lib64/libc-2.17.so with bytes) You can now use it in all perf tools, such as: perf record -e probe_libc:malloc -aR sleep 1 ----- Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150306073120.6904.13779.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4a6b362f36e68618ee4d3cdb361d05a5e80af023 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 13:02:24 2015 -0300 perf ordered_events: Adopt queue() method From perf_session, will be used in 'trace'. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-mfihndzaumx44h6y37ng2irb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 01fbc1fee926888f7c256ada95fa5fa3b06cba94 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Mar 3 16:29:28 2015 +0100 perf tools: Remove superfluous thread->comm_set setting It is set by calling thread__set_comm right before the removed line. 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: 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/1425396581-17716-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d704ebdae4aaeec89180dcfd0ca74e5bba318853 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 12:37:54 2015 -0300 perf tools: tool->finished_round() doesn't need perf_session It is all about flushing the ordered queue or piping it thru, no need for a perf_session pointer. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-g47fx3ys0t9271cp0dcabjc7@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d10eb1eb76a86266354ecab6e42c1606e3b8bc4c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 12:20:38 2015 -0300 perf ordered_events: Allow tools to specify a deliver method So that we can simplify the deliver method to pass just: (ordered_events, ordered_event, sample); 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-j0s4bpxs5qza5tnkvjwom9rw@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 047794e13632f177e864eba6160cecfbf3875cbe Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Wed Mar 4 09:44:45 2015 +0800 ARM: at91: pm: change at91_pm_set_standby() to static Since at91_pm_set_standby() will not be used out of the pm.c file, change its attribute from extern to static, remove its declaration as well. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 936748fd34be484c8638a8547b4ca85afdfdf3a6 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:20:12 2015 +0100 ARM: at91: remove ksz8081 phy fixup registration for sama5d4ek board Commit 2b0ba96cea60 ("net: phy: micrel: disable NAND-tree for KSZ8021, KSZ8031, KSZ8051, KSZ8081") automated the NAND-tree mode deactivation process, thus making this phy fixup useless. Remove it along with the associated headers inclusion. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> [nicolas.ferre@xxxxxxxxx: remove selection of PHYLIB in at91 Kconfig] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5e7f82d73057a4b99643999e02c036cfbf1ed3ba Merge: d14b8f3 e7b848d Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 12 15:30:03 2015 +0100 Merge tag 'at91-fixes3' into at91-4.1-cleanup Third fixes batch for AT91 on 4.0: - clock fixes for USB - compatible string changes for handling USB IP differences (+ needed AHB matrix syscon) - fix of a compilation error in PM code commit d14b8f390e4b856a7448d9a0d3ba8aad13ed24bc Merge: 37d122d 5957457 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 12 15:30:00 2015 +0100 Merge tag 'at91-fixes2' into at91-4.1-cleanup Second fixes batch for AT91 on 4.0: - little fix for !MMU debug: may also help for randconfig - fix of 2 errors in LCD clock definitions - in PM code, not writing the key leads to not execute the action commit 37d122d7d892b5c3eff594d3a9db039cabf24291 Merge: 13a7a6a 2141102 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 12 15:29:56 2015 +0100 Merge tag 'at91-fixes' into at91-4.1-cleanup First fixes batch for AT91 on 4.0: - PM slowclock fixes for DDR and timeouts - fix some DT entries - little defconfig updates - the removal of a harmful watchdog option + its detailed documentation commit 174178fed338edba66ab9580af0c5d9e1a4e5019 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Mar 4 11:14:36 2015 +0100 KVM: arm/arm64: add irqfd support This patch enables irqfd on arm/arm64. Both irqfd and resamplefd are supported. Injection is implemented in vgic.c without routing. This patch enables CONFIG_HAVE_KVM_EVENTFD and CONFIG_HAVE_KVM_IRQFD. KVM_CAP_IRQFD is now advertised. KVM_CAP_IRQFD_RESAMPLE capability automatically is advertised as soon as CONFIG_HAVE_KVM_IRQFD is set. Irqfd injection is restricted to SPI. The rationale behind not supporting PPI irqfd injection is that any device using a PPI would be a private-to-the-CPU device (timer for instance), so its state would have to be context-switched along with the VCPU and would require in-kernel wiring anyhow. It is not a relevant use case for irqfds. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 649cf73994e8ac69dfe3e7a35fba9acf051e7fe6 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Mar 4 11:14:35 2015 +0100 KVM: arm/arm64: remove coarse grain dist locking at kvm_vgic_sync_hwstate To prepare for irqfd addition, coarse grain locking is removed at kvm_vgic_sync_hwstate level and finer grain locking is introduced in vgic_process_maintenance only. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c1426e4c5add09042840013dfa5565e6be6d412e Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Mar 4 11:14:34 2015 +0100 KVM: arm/arm64: implement kvm_arch_intc_initialized On arm/arm64 the VGIC is dynamically instantiated and it is useful to expose its state, especially for irqfd setup. This patch defines __KVM_HAVE_ARCH_INTC_INITIALIZED and implements kvm_arch_intc_initialized. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 01c94e64f5a6f298774bdbde435e577821119fc0 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Mar 4 11:14:33 2015 +0100 KVM: introduce kvm_arch_intc_initialized and use it in irqfd Introduce __KVM_HAVE_ARCH_INTC_INITIALIZED define and associated kvm_arch_intc_initialized function. This latter allows to test whether the virtual interrupt controller is initialized and ready to accept virtual IRQ injection. On some architectures, the virtual interrupt controller is dynamically instantiated, justifying that kind of check. The new function can now be used by irqfd to check whether the virtual interrupt controller is ready on KVM_IRQFD request. If not, KVM_IRQFD returns -EAGAIN. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit df2bd1ac03dfc19e955a43f796cfe9f9cf49c75f Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Mar 4 11:14:32 2015 +0100 KVM: arm/arm64: unset CONFIG_HAVE_KVM_IRQCHIP CONFIG_HAVE_KVM_IRQCHIP is needed to support IRQ routing (along with irq_comm.c and irqchip.c usage). This is not the case for arm/arm64 currently. This patch unsets the flag for both arm and arm64. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 662d9715840aef44dcb573b0f9fab9e8319c868a Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Wed Mar 11 14:21:31 2015 +0100 arm/arm64: KVM: Kill CONFIG_KVM_ARM_{VGIC,TIMER} We can definitely decide at run-time whether to use the GIC and timers or not, and the extra code and data structures that we allocate space for is really negligable with this config option, so I don't think it's worth the extra complexity of always having to define stub static inlines. The !CONFIG_KVM_ARM_VGIC/TIMER case is pretty much an untested code path anyway, so we're better off just getting rid of it. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 208d271a3f5388672b3d7ec141e975abd84ab3da Merge: e111e96 060b446 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Mar 12 14:38:26 2015 +0200 Merge branch 'iwlwifi-fixes' into iwlwifi-next commit f42613c66524c0fc890b448872169746d392f6bb Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:28:29 2015 +1100 linux-next: Tree for Mar 11 (powerpc build failure due to vmx crypto code) crypto: vmx - Fix assembler perl to use _GLOBAL Rather than doing things by hand for global symbols to deal with different calling conventions we already have a macro _GLOBAL in Linux to handle this. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit ef64d3f7393776f310dedc96fd79399946a52612 Author: Søren Andersen <san@xxxxxxxxxxxxxxxxx> Date: Tue Mar 10 22:14:57 2015 +0100 dt-bindings Help for MCP ADCs Signed-off-by: Soeren Andersen <san@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ab280024e3c0c4633066e9698756a28a9caf26a1 Author: Søren Andersen <san@xxxxxxxxxxxxxxxxx> Date: Tue Mar 10 22:12:07 2015 +0100 iio: adc: Kconfig mcp320x change description Add more ADCs Bring the Kconfig entry up to date with parts supported by the driver. Signed-off-by: Soeren Andersen <san@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c84a083b995b0bde61640b6576f9c80584915b7a Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 11 15:22:01 2015 +0100 Staging: dgnc: Use goto for spinlock release before return spin_unlock_irqrestore() is called at several different places before exiting. This patch uses a goto statement to factorize these calls. Coccinelle was used to generate this patch. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6a14cf04fdb17de8a96c59518909216f6892e19 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 11 15:22:00 2015 +0100 Staging: dgnc: Use goto for error handling This patch introduces goto statments for error handling and in cases where a lock needs to be released. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @candidates exists@ identifier f, label; statement s; position p1, p2, p3; @@ f@p1(...) { ...when any if@p2(...) { ...when any s return@p3 ...; } ...when any } @good1 exists@ identifier candidates.f, candidates.label; statement candidates.s; position candidates.p1, candidates.p2; @@ f@p1(...) { ...when any if(...) { ...when any s return ...; } ...when any if@p2(...) {...} ...when any } @depends on good1@ identifier candidates.f, candidates.label; position candidates.p1, candidates.p3; @@ f@p1(...) { ...when any * return@p3 ...; } Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a308d66f144c9d5a305ceda4345bebbaf6abc43f Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Mar 11 14:08:36 2015 -0700 hwrng: omap - remove #ifdefery around PM methods Instead of using #ifdefs let's mark suspend and resume methods as __maybe_unused which will suppress compiler warnings about them being unused and provide better compile coverage. Because SIMPLE_DEV_PM_OPS() produces an empty omap_rng_pm structure in case of !CONFIG_PM_SLEEP neither omap_rng_suspend nor omap_rng_resume will end up being referenced and the change will not result in increasing image size. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f1e866b10676faf8b9092cb821a9ac8acf31dbd8 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 09:47:48 2015 +0100 crypto: arm - add support for GHASH using ARMv8 Crypto Extensions This implements the GHASH hash algorithm (as used by the GCM AEAD chaining mode) using the AArch32 version of the 64x64 to 128 bit polynomial multiplication instruction (vmull.p64) that is part of the ARMv8 Crypto Extensions. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 86464859cc77ecfd989ad5c912bef167b1128b0b Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 09:47:47 2015 +0100 crypto: arm - AES in ECB/CBC/CTR/XTS modes using ARMv8 Crypto Extensions This implements the ECB, CBC, CTR and XTS asynchronous block ciphers using the AArch32 versions of the ARMv8 Crypto Extensions for AES. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 006d0624fa0d71787448cacee0195bf20f2d47c8 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 09:47:46 2015 +0100 crypto: arm - add support for SHA-224/256 using ARMv8 Crypto Extensions This implements the SHA-224/256 secure hash algorithm using the AArch32 versions of the ARMv8 Crypto Extensions for SHA2. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 864cbeed4ab22de8c4d9a49101e9fd63c6f7fda2 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 09:47:45 2015 +0100 crypto: arm - add support for SHA1 using ARMv8 Crypto Instructions This implements the SHA1 secure hash algorithm using the AArch32 versions of the ARMv8 Crypto Extensions for SHA1. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 652ccae5cc4e1305fb0a4619947f9ee89d8c7f5a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 09:47:44 2015 +0100 crypto: arm - move ARM specific Kconfig definitions to a dedicated file This moves all Kconfig symbols defined in crypto/Kconfig that depend on CONFIG_ARM to a dedicated Kconfig file in arch/arm/crypto, which is where the code that implements those features resides as well. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 66454b3eb31e8109387606c054ae02f3cfd6543e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jan 15 12:52:15 2015 +0100 ASoC: rt5670: Replace w->codec snd_soc_dapm_to_codec(w->dapm) The codec field of the snd_soc_widget struct is eventually going to be removed, use snd_soc_dapm_to_codec(w->dapm) instead. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 64e784c4574d9015eee0b97cbf66c2eafcd38feb Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 11 17:02:12 2015 +0530 Staging: dgnc: Remove redundant parentheses This patch removes the redundant parentheses inorder to make code simplified. While doing this, the precedence order of the operation is taken into consideration to keep the logic of the code intact. Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f9de64c09ab0224fa945ed5250d62c157fc7a65 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 11 15:21:59 2015 +0100 Staging: dgnc: dgnc_driver: Add a missing call to dgnc_tty_uninit This function is called on the previous and the next failure branches. This patch adds the call on the branch where it seems to be missing. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f2e089f68a931c22d8132b1284478cfa2357fc9 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Tue Mar 10 21:29:20 2015 +0200 dgnc: clean up comments at start of files Remove FSF address because it's known in the past that it has changed. Also, remove the pointless "do not change the coding style" comments because it's one of the reasons why it's in staging and it's quite contradictory to what it says in TODO. Also, they contain wrong e-mails of people which are responsible for these drivers - see TODO or MAINTAINERS for that. We can preserve the original copyright at the top of the most files because it shows who originally made them. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7f355d7b05da2d4064c929deeede178ce0b3051 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Tue Mar 10 21:29:18 2015 +0200 dgnc: Remove unneeded dgnc_state array of strings Dgnc_state array of strings is never used anywhere and it seems pretty useless anyway since the board state enum names speak for themselves. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e363be0aa776f8ec19484e9c5e2d2beb68d7702 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:31:04 2015 +0530 staging: dgnc: Use kcalloc instead of kzalloc. This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb1185a4ae29367d00b0ae19413d64303c8c0e51 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Mar 10 10:39:42 2015 +0300 staging: dgnc: off by one in dgnc_mgmt_ioctl() "dgnc_NumBoards" is the number of initialized elements in the dgnc_Board[] array so the comparison should be ">=" instead of ">" so we don't read invalid data. We can remove the special handling of the empty array now that we've fixed this bug. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65da04c1cada486a8619d5d53336059e5bd6d8b3 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Mon Mar 9 01:49:46 2015 +0200 dgnc: Make all lines under 80 characters in dgnc_driver.c Some of the lines are over 80 characters in dgnc_driver.c so fix them by moving the comments closer to the code, tidying the comments to make them smaller, and remove a redundant space after +. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9210a03090b62d19716cacd2efc824a9d01898c Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Mon Mar 9 01:49:45 2015 +0200 dgnc: Make all lines under 80 characters in dgnc_cls.h Some of the lines are over 80 characters so fix that by moving the comments before the struct definition and before #define's. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85c748dfcb715e6a73588c61be874ad64fb66409 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Mon Mar 9 01:49:44 2015 +0200 dgnc: Remove redundant blank lines in dgnc_cls.c There are a lot double of blank lines in dgnc_cls.c thus remove them to make the file follow the CodingStyle. Also, remove one blank line at the end of dgnc_cls.c. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f11cc568758f23088c1f7a8369100c59e4c07bd6 Author: Cass May <cass@xxxxxxxxx> Date: Sun Feb 15 23:40:18 2015 +0000 dgnc: Move DG_PART definition from Makefile to dgnc_driver.h Avoid deprecated usage of EXTRA_CFLAGS by moving definition of DG_PART into dgnc_driver.h Signed-off-by: Cass May <cass@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd933bae1474fa172693b712012cbb4a2d31fc30 Author: Cass May <cass@xxxxxxxxx> Date: Sun Feb 15 23:40:17 2015 +0000 dgnc: Remove superfluous EXTRA_CFLAGS variable Clean up Makefile by removing unnecessary definition of DG_NAME. Signed-off-by: Cass May <cass@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb82fe2fe8588745edd73aa3a6229facac5c1e15 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:31 2015 -0700 clocksource: Add 'max_cycles' to 'struct clocksource' In order to facilitate clocksource validation, add a 'max_cycles' field to the clocksource structure which will hold the maximum cycle value that can safely be multiplied without potentially causing an overflow. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-4-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 362fde0410377e468ca00ad363fdf3e3ec42eb6a Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:30 2015 -0700 clocksource: Simplify the logic around clocksource wrapping safety margins The clocksource logic has a number of places where we try to include a safety margin. Most of these are 12% safety margins, but they are inconsistently applied and sometimes are applied on top of each other. Additionally, in the previous patch, we corrected an issue where we unintentionally in effect created a 50% safety margin, which these 12.5% margins where then added to. So to simplify the logic here, this patch removes the various 12.5% margins, and consolidates adding the margin in one place: clocks_calc_max_nsecs(). Additionally, Linus prefers a 50% safety margin, as it allows bad clock values to be more easily caught. This should really have no net effect, due to the corrected issue earlier which caused greater then 50% margins to be used w/o issue. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> (for the sched_clock.c bit) Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-3-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6086e346fdea1ae64d974c94c1acacc2605567ae Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:29 2015 -0700 clocksource: Simplify the clocks_calc_max_nsecs() logic The previous clocks_calc_max_nsecs() code had some unecessarily complex bit logic to find the max interval that could cause multiplication overflows. Since this is not in the hot path, just do the divide to make it easier to read. The previous implementation also had a subtle issue that it avoided overflows with signed 64-bit values, where as the intervals are always unsigned. This resulted in overly conservative intervals, which other safety margins were then added to, reducing the intended interval length. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-2-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7faff71bc94eb598328d315a37486f23d5febdf0 Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:26 2015 +0900 devicetree: Add SKY81452 to the Trivial Devices list Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit acca486331e953f409639925e79d29fccb6963a7 Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:25 2015 +0900 devicetree: Add vendor prefix for Skyworks Solutions, Inc. Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1144d9e916ee9c8b6138489ad646cdbd2514d1af Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:24 2015 +0900 devicetree: Add new SKY81452 backlight binding Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit beedfad3e98967b3525f7a83d559ee244c3d44c4 Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:23 2015 +0900 devicetree: Add new SKY81452 mfd binding Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f705806c9f355fc63911dea72a65d8eeff0c2586 Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:22 2015 +0900 backlight: Add support Skyworks SKY81452 backlight driver Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2698dc22292e3e5fc2b24b2748018dcc09d70989 Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:21 2015 +0900 mfd: Add support for Skyworks SKY81452 driver Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ccd173c541e7d3c864730e334dac36a8b6487a25 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:04:54 2015 +0000 mfd: arizona: Add DT binding documentation for DMIC reference voltages Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e7ad27cac94c6eb609d43b0f968dce8ff804fa7c Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:04:53 2015 +0000 mfd: arizona: Add DT binding for the DMIC reference voltages Add a DT binding that lets the DMIC reference voltage source be specified for each input. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 224995d7804ab590fbac0f605dfc47f6dcf2214c Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 17:14:26 2015 +0100 mfd: max77693: Modify flash cell name identifiers Change flash cell identifiers from max77693-flash to max77693-led to avoid confusion with NOR/NAND Flash. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 419d55bbb80370ed1e8a36d7884cfcf977e73e29 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 17:14:28 2015 +0100 mfd: max77693: Add TORCH_IOUT_MASK macro Add a macro for obtaining the mask of ITORCH register bit fields related either to FLED1 or FLED2 current output. The expected arguments are TORCH_IOUT1_SHIFT or TORCH_IOUT2_SHIFT. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a307de2aab5bcb96bae3d778b01ff815f027ad88 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 17:14:27 2015 +0100 mfd: max77693: Remove struct max77693_led_platform_data The flash part of the max77693 device will depend only on OF, and thus will not use board files. Since there are no other users of the struct max77693_led_platform_data its existence is unjustified. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3be62b957d2c02cf744d3845091dd8a5fdca2039 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 17:14:29 2015 +0100 mfd: max77693: Adjust FLASH_EN_SHIFT and TORCH_EN_SHIFT macros Modify FLASH_EN_SHIFT and TORCH_EN_SHIFT macros to work properly when passed enum max77693_fled values (0 for FLED1 and 1 for FLED2) from leds-max77693 driver. Previous definitions were compatible with one of the previous RFC versions of leds-max77693.c driver, which was not merged. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 60ae5b9f5cdd80c529eda13bfdd600a0fc857afb Author: Raymond Tan <raymond.tan@xxxxxxxxx> Date: Mon Feb 2 10:52:51 2015 +0800 mfd: intel_quark_i2c_gpio: Add Intel Quark X1000 I2C-GPIO MFD Driver In Quark X1000, there's a single PCI device that provides both an I2C controller and a GPIO controller. This MFD driver will split the 2 devices for their respective drivers. This patch is based on Josef Ahmad's initial work for Quark enabling. Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Weike Chen <alvin.chen@xxxxxxxxx> Signed-off-by: Raymond Tan <raymond.tan@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e19f742885e87ab9582fdf5940f214419eb9275b Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Sat Feb 28 18:09:06 2015 +0800 mfd: rk808: Disable the under voltage detect Rk808 has a under voltage detect function, when the voltage of buck is under 85% the target voltage, the buck output will reset. But if the power load is too heavy, this function maybe err, when current over 4.2A, although the voltage is normal, but RK808 mistakenly think it is under 85%, and reset the buck. So let's disable this function. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9a503a7d9ce0eafd4c9c4a73b9c45a53a4ed2314 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:43 2015 -0800 mfd: ab8500-debugfs: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 23a2a22a3f3f17de094f386a893f7047c10e44a0 Author: Artem Savkov <asavkov@xxxxxxxxxx> Date: Thu Mar 5 12:42:27 2015 +0100 mfd: rt5033: MFD_RT5033 needs to select REGMAP_IRQ Since commit 0b2712585(linux-next.git) this driver uses regmap_irq and so needs to select REGMAP_IRQ. This fixes the following compilation errors: ERROR: "regmap_irq_get_domain" [drivers/mfd/rt5033.ko] undefined! ERROR: "regmap_add_irq_chip" [drivers/mfd/rt5033.ko] undefined! Signed-off-by: Artem Savkov <asavkov@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ed05be56643e3420037c5f3854bed249b4f2f758 Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Date: Wed Mar 4 16:13:12 2015 +0000 mfd: da9052: Register ability of device to cause a wake-up interrupt Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 72e341c48fbca142d767e97746e33a4becf890ea Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Date: Wed Mar 4 16:13:12 2015 +0000 mfd: da9052: Fix register access via SPI The range of registers used by this driver exceeds that available via SPI with no paging (127), so we have to override the values from the default config which is set-up for I2C access. Also change SPI settings to match device's recommended OTP values. Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 315491e5d6ee66838a18a8ca0c14e6ffb376e48c Author: Suman Anna <s-anna@xxxxxx> Date: Fri Jan 9 15:21:58 2015 -0600 remoteproc: add IOMMU hardware capability flag The remoteproc framework currently relies on iommu_present() on the bus the device is on, to perform MMU management. However, this logic doesn't scale for multi-arch, especially for processors that do not have an IOMMU. Replace this logic instead by using a h/w capability flag for the presence of IOMMU in the rproc structure. This issue is seen on OMAP platforms when trying to add a remoteproc driver for a small Cortex M3 called the WkupM3 used for suspend / resume management on TI AM335/AM437x SoCs. This processor does not have an MMU. Same is the case with another processor subsystem PRU-ICSS on AM335/AM437x. All these are platform devices, and the current iommu_present check will not scale for the same kernel image to support OMAP4/OMAP5 and AM335/AM437x. The existing platform implementation drivers - OMAP remoteproc, STE Modem remoteproc and DA8xx remoteproc, are updated as well to properly configure the newly added rproc field. Cc: Robert Tivy <rtivy@xxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Suman Anna <s-anna@xxxxxx> [small change in the commit title and in a single comment] Signed-off-by: Ohad Ben-Cohen <ohad@xxxxxxxxxx> commit e111e9685790ccd9acce5de51fa7ed6b9ae8a746 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 3 20:23:47 2015 +0100 iwlwifi: mvm: simplify iwl_mvm_get_wakeup_status() return The return value in iwl_mvm_get_wakeup_status() is a bit unclear in that it's not obvious that we don't leak fw_status in some cases. Use fw_status directly with ERR_PTR() and return only it, that way the compiler has a chance of proving that it's uninitialized (if it ever is due to new changes.) Additionally, this removes a smatch warning since smatch couldn't figure out that fw_status can't, in fact, leak here. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0c2ae049aef7fe1b8800db3f28c23520150bfd78 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Thu Mar 12 09:25:15 2015 +0200 iwlwifi: mvm: don't double unlock the mutex in __iwl_mvm_resume() When IWLWIFI_DEBUGFS is not set, we should not unlock the mutex after calling iwl_mvm_query_wakeup_reasons(), because this function unlocks it already. Move the goto out_iterate outside the #ifdef. Change-Id: I13d86402aecf0eeec44b1abbe2b244fbc706a5eb Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit bca13904d0558ad4160441ebb00b37e44a19483f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Mar 11 20:27:06 2015 +0100 iwlwifi: mvm: clarify time event end handling The code here is a little confusing, the iwl_mvm_te_check_disconnect() will check that the interface is a station, but going into it after already having processed the time even end for P2P seems strange at first look. Put a switch statement there to distinguish the interface types and make this more readable. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f4a3ee493e69239ad9e76e42524d08c58ac31f11 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Sun Feb 8 13:58:50 2015 +0200 iwlwifi: mvm: Always enable the smart FIFO We previously enabled the smart FIFO (SF) in BSS only after association. This cause interrupt latency on P2P on certain devices. Change the working model to enable the SF all the time and play with the timeout values based on the association state. This change was not tested on older firwmares, so make it happen only on -13.ucode and up. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 82f0a9e602216e9216fa81a98bd3e38b030964cb Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Mar 8 14:18:17 2015 +0200 iwlwifi: update copyright to include 2015 Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2bccec4e1283fc74d2b52c0534816c8ad0f9ac3f Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Mon Mar 9 11:25:59 2015 +0200 iwlwifi: add more new 8260 series PCI IDs More sub system IDs were introduced for the 8260 series. Add the new sub system IDs so the cards can be recognized. Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit aee8bf5d269ace14f8b31daff34add21b802e7cd Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 19 15:00:18 2015 +0200 iwlwifi: mvm: BT Coex - update the new API The firmware was not using the new API, so we don't need to differentiate between the different stages of this new API. The main difference here is that most of the hard coded values are not sent through the command anymore. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9b666db49253f7d65833dd02c00a2b026309c619 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 9 12:37:59 2015 +0200 iwlwifi: mvm: fix force NMI for 8000 The newer devices will enable a new register for this (DEVICE_SET_NMI_8000B_REG), but the interrupt handler isn't wired yet. Keep the old register for now. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c22b0ff572e4b3723a3c552e74a4ba2497606040 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jan 22 13:15:15 2015 +0200 iwlwifi: mvm: freeze the non-shared queues when a station goes to sleep When a station goes to sleep, we can't transmit any frame to it. This means that until that station will wake up, a queue that is dedicated to this station won't progress at all. Take this into account when monitoring stuck queues and don't account for the time the station was asleep. This allows to mask false positives where the queues are stuck not because of a bug, but because of the station being asleep. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e0b8d405132db38fafc9da86ef4de0ebe2be468e Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Jan 20 17:02:40 2015 +0200 iwlwifi: pcie: allow the op_mode to freeze the stuck queue timer This allows the op_mode to let the transport know that a queue is currently frozen and that its timer should be stopped. When the queue is unfrozen, its timer should be set to expire after the remainder of the timeout has elapsed. This can be used when stations go to sleep. When a station goes to sleep, the op_mode can freeze the timer so that the queue will never be considered as stuck. When the station wakes up, the queue will be unfrozen. This is meant to avoid false positives that would happen if a buggy station goes to sleep for a very long time. In case we have a dedicated queue for this station (BA agreement) and it goes to sleep for a very long time, the queue would rightfully be stopped during all that time. In this case, the stuck queue timer could fire and that would be a false positive. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ad82d8a5366fc3f84ea9ee0fa417cdfb42b28ec8 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Mar 8 19:43:41 2015 +0200 iwlwifi: mvm: rs: update Tx statistics when using fixed rate The Tx statistics weren't updated when using fixed rate for debugging. Fix this as Tx statistics are useful in this use case. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 35af15d1312429c9407c75868475c06e459070cb Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Mar 4 15:08:00 2015 +0200 iwlwifi: mvm: don't init MCC during CT-kill RTNL is not taken during CT-kill so regulatory APIs cannot be invoked. That's fine, since the HW is only brought up to check the temperature during CT-kill. We don't expect Tx or scanning. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 36f4631c53cb2fab37e6cb5724727b6a5a1b3899 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 10 20:32:08 2015 +0100 iwlwifi: mvm: remove warning on station exhaustion When using IBSS, it's easily possible to exhaust the number of available stations in the driver, so don't warn on it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 16bc119b6b6410863c50d0dafed8c04e5cb6122a Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Tue Mar 3 13:53:28 2015 +0200 iwlwifi: trans: Take ownership on secure machine before FW load When we load the firmware for the 8000 B step device, it'll verify its signature. In the current version of the hardware, there can be a race between the WiFi firmware being loaded and the Bluetooth firmware being loaded. Check that WiFi is authenticated, if not, take ownership on the authentication machine to make sure that the WiFi firmware will be authenticated. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3a1a61476d749c9aa92d5ce67164fd5e5f7fbe55 Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Wed Mar 4 16:26:45 2015 +0200 iwlwifi: add new 8260 series PCI IDs New sub system IDs were introduced for the 8260 series. This patch adds them so new 8260 cards can be recognized. Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit db7c689d0877d3ba96c4791ff1f255eca51334fb Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Mar 2 10:35:19 2015 +0200 iwlwifi: mvm: rs: improve ss_params debug print Make the print a bit more readable. Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4557eaba13c2b9074c64e37bb93f77c4917a81b1 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 1 18:24:57 2015 +0200 iwlwifi: don't allow the FW to return invalid ch indices If the FW returns an invalid channels count in response to an MCC request, make sure we don't reference invalid indices in the channels array. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit fcf23352e0ff500676ac4923c68c20a1fe55fb5e Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Feb 22 19:15:04 2015 +0200 iwlwifi: mvm: reflect TDLS pm state in mvmvif->pm_enabled When entering D0i3, the MVM mutex cannot be grabbed. This interferes with the calculation of the number of connected TDLS stations during the setup of the power cmd. The goal is to disable power saving for all vifs while any TDLS station is connected. For this purpose it is enough to keep the pm_enabled member of all mvmvifs as false. An update of the power state already occurs when a TDLS station is added/removed, so the values are correctly updated. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9beda940594f6646f97b7927e202ae9504654f9d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 2 14:39:03 2015 +0200 iwlwifi: mvm: fix identation mvm->fw->dbg_dest_tlv really needs to be under the right parenthesis. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7d03182c5d98c86a7bbc58b8878bbed353fb45ee Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 2 14:35:41 2015 +0200 iwlwifi: mvm: remove unneeded include iwl-fw-error-dump.h The functions related to firmware error dump moved. No need for this unclude anymore. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f55286313a6597d075f409f111b4f516a3feb830 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Feb 4 15:38:56 2015 +0200 iwlwifi: use correct NVM offset for LAR enable for new NVMs New NVM versions in LnP platforms have the lar_enable bits in a different offset. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e70fe7eb9dec9c7b7c570a489f198b93b5ca609b Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Mar 1 17:18:00 2015 +0200 iwlwifi: fix smatch warning: warn: inconsistent indenting While at it, fix a few checkpatch issues. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6a65bd534e5844d42d432eb41ee04e2a242bfc60 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Feb 25 16:06:46 2015 +0200 iwlwifi: pcie: include more registers in the prph dump This adds BT Coex data to the prph register list. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 36277234da673293a6afe60ac19a79d20bce9ae5 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Feb 25 15:49:39 2015 +0200 iwlwifi: pcie: speed up the Tx DMA stop flow We don't need to acquire MAC access for each access, it makes much more sense to keep the MAC access. This speeds up the Tx DMA stop flow significantly. Moreover, if one channel can't be stopped, stop the others but don't poll for them to avoid being stuck there for a long time. This solves a situation in which we were stuck in that flow for way too long with a spinlock held which led to a kernel panic. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7a42baa621538eb73b261828027b1faa25e341e6 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Wed Feb 25 14:24:51 2015 +0200 iwlwifi: mvm: support family 8000 B2/C steps In-order to recognize newer step of the device, the driver must read the chip_version_id from the AUX bus MISC address space. This will determine what firmware file will be loaded. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7754ae79e218bfd7782655fdebc8966c8a858358 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 26 15:14:35 2015 +0200 iwlwifi: mvm: always update the quota after association When we associate we always need to update the quotas. This fixes a bug for cases in which quotas weren't udapted after association. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 70e90992e7c5dc4092869827665485a09ca777ea Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 26 16:54:24 2015 +0200 iwlwifi: mvm: BT Coex - disable RRC by default Enable this feature only if the firmware advertises support for it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0ec850dc194586398242d3fa590720f737b5f088 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 26 16:40:56 2015 +0200 iwlwifi: mvm: remove IWL_UCODE_TLV_API_SF_NO_DUMMY_NOTIF All the supported firmwares support this API. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 767d6f9d43b4ebe97cc5dc7b7b2cdb5e57b82288 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 26 16:39:36 2015 +0200 iwlwifi: mvm: remove IWL_UCODE_TLV_API_DISABLE_STA_TX All the supported firwmares have this new API. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 560ba3e6f4ca31ff884fb238a16032e0e9c5814a Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Mar 1 10:46:58 2015 +0200 iwlwifi: bump API to 13 for devices that use iwlmvm This new firmware will come out soon. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 47c8b154a7d080626dfd148397782a49d5212a88 Author: Jonathan Doron <jonathanx.doron@xxxxxxxxx> Date: Thu Nov 27 16:55:25 2014 +0200 iwlwifi: mvm: set LAR MCC on D3/D0 transitions When moving to the D3 FW give it the valid MCC from the D0 FW. When returning from D3 to D0, query the D3 FW for the latest MCC, as it might have changed internally. This MCC will be replayed to the D0 FW when it boots. Signed-off-by: Jonathan Doron <jonathanx.doron@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7f0344c218a6110cbdb7d0974984838e35a24b30 Author: Jonathan Doron <jonathanx.doron@xxxxxxxxx> Date: Thu Nov 27 16:57:55 2014 +0200 iwlwifi: mvm: support LAR updates from BIOS When booting the card, check for a dedicated regulatory ACPI entry. If such exists, read it and give the information to FW with the appropriate source. Signed-off-by: Jonathan Doron <jonathanx.doron@xxxxxxxxx> Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 8ba2d7a1dd5defd7a9cbc400004cc112fc9ff3b5 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Sun Feb 8 11:41:43 2015 +0200 iwlwifi: mvm: take the MAC address from HW registers For some configurations, the driver should get the MAC address from the hardware registers and not from the regular locations. Since the parsing of the MAC address is the same regardless of its source, continue the regular code path (parsing) after we read the registers. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5711cac489d06cc9c3cdcd513c810b7148beb49d Author: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Date: Sun Dec 28 09:23:16 2014 +0200 iwlwifi: allow disabling LAR via module param This module parameter is useful for debugging NVM and LAR related issues. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ce5000710bd80b87917875897d74167a0a07b342 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Mon Dec 1 17:53:53 2014 +0200 iwlwifi: mvm: support new PHY_SKU nvm section for family 8000 B0 Starting from family 8000 B0 step the radio_cfg parameters and the get_sku parameters moved from SW section to PHY_SKU section. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2926f9589b6cbcb6f0b2d02e9102e1842a9c8fc1 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Oct 23 16:29:10 2014 +0300 iwlwifi: disable 11ac if 11n is disabled 11ac depends on 11n, so disable it if 11n is disabled. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d0d151973626eec3b8651311bdec209ba9050869 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Thu Jul 31 09:16:25 2014 +0300 iwlwifi: iwlmvm: LAR: disable LAR support due to NVM vs TLV conflict If LAR is supported in TLV, but the NVM does not enable it, then disable LAR support and ignore the TLV's bit that enabled LAR. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 02a50495dec111c68d82ecf3ac1e00224e880790 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Sep 7 17:45:11 2014 +0300 iwlwifi: use IWL_DEFAULT_MAX_TX_POWER for max_eirp max_eirp affects the txpower configured to the power, so use the max tx power (22) instead of some other value. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b281c93d23cdc3e44fcd3f36548689add4c06543 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Thu Jun 26 11:10:57 2014 +0300 iwlwifi: change last 5ghz channel to 165 & add support for 8000 family Fix the last 5ghz channel to 165 instead of 161 Add support for 8000 family, until channel 181. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 162ee3c9a81556316e22305e455166e470fbb2b2 Author: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Date: Tue Jun 10 11:25:35 2014 +0300 iwlwifi: nvm: init correct nvm channel list for 8000 devices Otherwise the regulatory data will mistakenly contain only 7000 series channels. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 88931cc92872151d53f86720c848e469574ce7f0 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Mar 5 12:26:15 2014 +0200 iwlwifi: mvm: LAR: Add chub mcc change notify command Chub (Communication Hub, CommsHUB) is a HW component that connects to the cellular and connectivity cores that gets updates of mcc changes, and then notifies the FW directly of any mcc change. The ucode notifies the driver (via this command) that it should ask for an mcc update, and the driver sends the ucode the update mcc command to set the updated regulatory info. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a76f3bfe016dbda161f9d31cc5cbdd9238d13488 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Mon May 26 18:11:37 2014 +0300 iwlwifi: don't declare support for 5ghz if not supported Remove a useless debug print about unsupported channels. Also add a comment about the LAR special case where channels might become valid later. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit bdf2fae8376bbf1bdb0baa4c3616e81731214dfb Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Thu Oct 30 15:12:39 2014 +0200 iwlwifi: ignore IBSS flag as regulatory NO-IR indication According to updated regulatory guidelines, the ACTIVE bit in the NVM also allows ibss activity on the channel. The IBSS NVM bit is not updated when LAR is active and is deprecated. Using this bit for NO-IR incorrectly causes all 5Ghz channels to be marked as passive. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 770ceda6158b00cd872e0c6713f4f65320c5ff8d Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 23 16:18:40 2014 +0200 iwlwifi: mvm: consider LAR support during NVM parse Register to cfg80211 with all channels enabled when LAR is supported. Appropriate channels will later be disabled when a specific regulatory domain is defined. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit af45a9003f1f14af24804f7747f14238e8d51163 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Mar 5 12:19:10 2014 +0200 iwlwifi: create regdomain from mcc_update_cmd response Parse the NVM channel data and create a regulatory domain with a rule for every 20Mhz channel. Use the AUTO_BW flag so the regulatory core can unify single-channel rules into ranges. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 90d4f7db6c5d8af1f4eab7bc714ec0ee130f9f00 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Tue Mar 4 19:58:46 2014 +0200 iwlwifi: mvm: init country code on init/recovery During init queue a regulatory update to retrieve the default regulatory settings from FW. If we're during recovery, only replay the current country code to FW, if it exists. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit dcaf9f5ecb6f395152609bdc40660d9b593dca63 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Tue Mar 4 19:54:12 2014 +0200 iwlwifi: mvm: add MCC update FW API The new API sets an MCC (mobile country code) to FW and receives a channel structure to be used as a basis for an updated regulatory domain. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3c2d24a9147e4c041ce94be2d166afe89225ff93 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Feb 23 02:40:07 2015 +0200 iwlwifi: fix max_ht_ampdu_exponent for older devices The commit below didn't update the max_ht_ampdu_exponent for the devices listed in iwl-[1-6]000.c which, in result, became 0 instead of 8K. This reduced the size of the Rx AMPDU from 64K to 8K which had an impact in the Rx throughput. One user reported that because of this, his downstream throughput droppped by a half. CC: <stable@xxxxxxxxxxxxxxx> [3.19] Fixes: c064ddf318aa ("iwlwifi: change max HT and VHT A-MPDU exponent") Reported-and-tested-by: Valentin Manea <linux-wireless@xxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 060b4460c47143440e77e6721f68ef756674d207 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 10 10:47:57 2015 +0100 iwlwifi: mvm: disconnect if CSA time event fails scheduling If this situation ever happens, the mac80211 state machine gets confused because it never clears csa_active. There was a separate bug that lead to this happening with a working connection, but it isn't very robust to try to keep the connection up in this case. When removing the time event the CSA essentially procedure stops, so the safest thing to do is to disconnect in this case. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 983f9814c0199c26a58cbfe98f071e3bfa968839 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Mar 11 17:47:40 2015 -0700 Bluetooth: Remove two else branches that are not needed The SMP code contains two else branches that are not needed since the successful test will actually leave the function. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a3a0a5992e47869232cffcb02b7d32fe5204ac7c Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Mar 10 22:42:50 2015 +0200 iwlwifi: dvm: drop VO packets when mac80211 tells us to mac80211 now informs the driver when to drop the packets upon flush(). This will happen before disconnecting, or before we shut down the interface. We can now rely on this to drop all the packets including the VO queues. When mac80211 sets drop to false, wait for all the queues to be empty. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e6826ef14597981f78156a0d5f9553b19f356e3f Merge: 4945f1f be3bb82 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Mar 12 07:38:46 2015 +0100 Merge branch 'for-linus' into for-next commit 2c6e0277e1eab3df5db81c59e408b7b1c14b1b72 Author: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> Date: Wed Mar 11 17:26:41 2015 -0500 HID: multitouch: Add support for button type usage According to [1], Windows Precision Touchpad devices must supply a button type usage in the device capabilities feature report. A value of 0 indicates that the device contains a depressible button (i.e. it's a click-pad) whereas a value of 1 indicates a non-depressible button. Add support for this usage and set INPUT_PROP_BUTTONPAD on the touchpad input device whenever a depressible button is present. [1] https://msdn.microsoft.com/en-us/library/windows/hardware/dn467314(v=vs.85).aspx Signed-off-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6b9f53bc102d4e61b73c13f661de4a1c358768c1 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:25 2015 +0100 net/mlx5_core: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84ed82b74dcb23d96cee2987612a677ffd2b5470 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:47:13 2015 +1100 rhashtable: Add annotation to nested lock Commit aa34a6cb0478842452bac58edb50d3ef9e178c92 ("rhashtable: Add arbitrary rehash function") killed the annotation on the nested lock which leads to bitching from lockdep. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d77c555d325d6ece7d352995c97460988c152f58 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 11 20:27:52 2015 -0700 net: fix CONFIG_NET_NS=n compilation I forgot to use write_pnet() in three locations. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 33cf7c90fe2f9 ("net: add real socket cookies") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c78ba6d64c78634a875d1e316676667cabfea256 Author: Lubomir Rintel <lkundrak@xxxxx> Date: Wed Mar 11 15:39:21 2015 +0100 ipv6: expose RFC4191 route preference via rtnetlink This makes it possible to retain the route preference when RAs are handled in userspace. Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac70c05b6f2b228f778cbde94f64e5df8a2c4d55 Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Thu Mar 12 10:42:50 2015 +0900 switchdev: correct spelling of notifier in comments Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d299ce149c1aa6a2e2c8db44974a6a1c07d7303b Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Thu Mar 12 11:00:10 2015 +0900 vxlan: Correct path typo in comment Flags are used in the return path rather than the return patch. Fixes: af33c1adae1e ("vxlan: Eliminate dependency on UDP socket in transmit path") Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33cf7c90fe2f97afb1cadaa0cfb782cb9d1b9ee2 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 11 18:53:14 2015 -0700 net: add real socket cookies A long standing problem in netlink socket dumps is the use of kernel socket addresses as cookies. 1) It is a security concern. 2) Sockets can be reused quite quickly, so there is no guarantee a cookie is used once and identify a flow. 3) request sock, establish sock, and timewait socks for a given flow have different cookies. Part of our effort to bring better TCP statistics requires to switch to a different allocator. In this patch, I chose to use a per network namespace 64bit generator, and to use it only in the case a socket needs to be dumped to netlink. (This might be refined later if needed) Note that I tried to carry cookies from request sock, to establish sock, then timewait sockets. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Eric Salo <salo@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 654eff45166c7e89d18fc476325c975768b2e347 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 11 16:36:08 2015 -0700 fib_trie: Only display main table in /proc/net/route When we merged the tries for local and main I had overlooked the iterator for /proc/net/route. As a result it was outputting both local and main when the two tries were merged. This patch resolves that by only providing output for aliases that are actually in the main trie. As a result we should go back to the original behavior which I assume will be necessary to maintain legacy support. Fixes: 0ddcf43d5 ("ipv4: FIB Local/MAIN table collapse") Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e5e9c6835e05ccc2be67486bc998b6f62663621 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 16:59:28 2015 +0100 ARM: shmobile: r8a7740: Remove restart callback Remove the restart handling hack from the r8a7740 generic multiplatform case. Restart on DT-based r8a7740 platforms is now handled through the R-Mobile reset driver. This reverts commit 1174c712afa2779f ("ARM: shmobile: r8a7740: Add restart callback"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8883e72da3a0859e910f96c0372baf08ab47f7ae Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Jan 26 17:21:14 2015 +0100 ARM: shmobile: R-Car Gen2: CONFIG_COMMON_CLK is always set Since commit e042681894b62d60 ("ARM: shmobile: r8a7790: Remove legacy code"), all R-Car Gen2 SoCs are supported by multiplatform kernels only. As CONFIG_COMMON_CLK is always set for multiplatform kernels, we can remove related #ifdefs in code specific to R-Car Gen2 SoCs. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e2fd51b7e1742b82529a39107ed59ac0da69321d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 26 11:29:35 2015 +0100 ARM: shmobile: Remove stray closing parenthesis in debug description Remove the stray closing parenthesis in the config description for the DEBUG_RCAR_GEN2_SCIF0 option. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7234bea69de200e2060d099685c4c674b556edc0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Mar 10 17:51:55 2015 +0100 mtd: clean up whitespace in linux/mtd/map.h As the only comments I got for the "mtd: cfi: reduce stack size" patch were about whitespace changes, it appears necessary to fix up the rest of the file as well, which contains the exact same mistakes. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d09957fbb4d0b059b3176b510540df69048ad170 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Mar 10 17:48:37 2015 +0100 mtd: cfi: reduce stack size The cfi_staa_write_buffers function uses a large amount of kernel stack whenever CONFIG_MTD_MAP_BANK_WIDTH_32 is set, and that results in a warning on ARM allmodconfig builds: drivers/mtd/chips/cfi_cmdset_0020.c: In function 'cfi_staa_write_buffers': drivers/mtd/chips/cfi_cmdset_0020.c:651:1: warning: the frame size of 1208 bytes is larger than 1024 bytes [-Wframe-larger-than=] It turns out that this is largely a result of a suboptimal implementation of map_word_andequal(). Replacing this function with a straightforward one reduces the stack size in this function by exactly 200 bytes, shrinks the .text segment for this file from 27648 bytes to 26608 bytes, and makes the warning go away. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0ec56dc4a1489d5b1d23d1c019b76a69ce153805 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:30 2015 -0800 mtd: nand: fully initialize mtd_oob_ops We're not initializing the ooblen field. Our users don't care, since they check that oobbuf == NULL first, but it's good practice to zero unused fields out. We can drop the NULL initializations since we're memset()ing the whole thing. Noticed by Coverity, CID #200821, #200822 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e22b7651ef23ad90eed4bdbe75f12194f47d7a4f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:29 2015 -0800 mtd: blkdevs: remove dead code The only exit (break) from the preceding loop is nested within a condition which yields req == NULL. This code is dead. Coverity CID #752669 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 99f6d50dc81ef713f64abbb5ec6b94167203d8c5 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:28 2015 -0800 mtd: nand: denali: drop dead code TclsRising is always 1. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> commit b1a2348a1ac1380adf429035dbf3fdad0d5367bc Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:27 2015 -0800 mtd: nand: fixup bounds checks for nand_{lock,unlock}() Coverity noticed that these 'ret' assignments weren't being used. Let's use them. Note that nand_lock() and nand_unlock() are still not officially used by any drivers. Coverity CIDs #1227054 and #1227037 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b9da8bae416efda5ad61c7c92edbb30de15ff7ee Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:26 2015 -0800 mtd: tests: fix more potential integer overflows Caught by Coverity (CID #200625 and others) Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx> commit 7f2a7ce17dcd381e366a65b6643239338a987715 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:25 2015 -0800 mtd: onenand: drop dead code 'ret' is always zero, so this is all dead code. This should quiet Coverity CID #1226739. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> commit dc52499e7f2d9812cfa4aa3b8d84a3f2c97e068b Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Mar 9 10:18:16 2015 -0700 mtd: docg3: drop dead code If no devices were found, we would already have skipped over this code. Detected by Coverity, CID #744270 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 98ebb521096f2d90c3e903ba79412cd92064795b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 20:00:00 2015 +0100 mtd: mxc-nand: Warn on unimplemented commands The PARAM command was long unimplemented and it probably wasn't noticed because chip probing using only the few bytes returned by the READID command are good enough in most cases to determine the chip in use. Still to notice such a shortcoming earlier in the future would be nice in case it's something more vital. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3d6e81c0c9827c86fd3fe4bcbc44155b1401f80e Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 19:59:59 2015 +0100 mtd: mxc-nand: Implement support for PARAM command The mxc-nand driver never supported the PARAM command to read out the ONFI parameter page and so always relied on probing my manufacturer and device id (as provided by the READID command). This patch implements reading out the first parameter page copy at least which should be good enough in practise. This makes the boot log change from nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xb1 nand: Micron NAND 128MiB 1,8V 16-bit to nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xb1 nand: Micron MT29F1G16ABBDAH4 on my machine. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c4ca3997ef954bcba009cce0e325f3155bdde01a Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 19:59:58 2015 +0100 mtd: mxc-nand: Allow to use column addresses different from 0 The mxc-nand controller works pagewise and so usually only sends commands to the flash chip with column == 0. A request with column != 0 from the upper layer is then fulfilled by indexing appropriately into the device's RAM buffer. To be able to access the ONFI marker at offset 0x20 in reply to the READID command however it's invalid to read 32 bytes starting from column 0. So let the function used to send the address cycles send the column address actually passed instead of 0 and fix all callers to pass 0 instead appropriately. Also add some warnings in case this patch changes the drivers semantics. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f410690f511f9531fdc0865a931522b049d7b29 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 19:59:57 2015 +0100 mtd: mxc-nand: Do the word to byte mangling in the read_byte callback When the hardware operates in 16 bit mode it always reads 16 bits even for operations that only have the lower 8 bits defined. So the upper bits must be discarded. Do this in the read_byte callback instead of when reading the NAND id to support reading byte wise more than 5 bytes and at other occations (like reading the ONFI parameter page). Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1f42adc8880d0692c3cb7b6adb247f17c4983081 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 19:59:56 2015 +0100 mtd: mxc-nand: Only enable hardware checksumming for fully detected flashes At least on i.MX25 (i.e. NFCv2) preset_v2 is called with mtd->writesize == 0 that is before the connect flash chip is detected. It then configures for 8 bit ECC mode which needs 26 bytes of OOB per 512 bytes main section. For flashes with a smaller OOB area issuing a read page command makes the controller stuck with this config. Note that this currently doesn't hurt because the first read page command is issued only after detection is complete and preset is called once more. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e35d1d8a1d16e9f56a9b54c96d0cb85ed621bb89 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 19:59:55 2015 +0100 mtd: mxc-nand: Add a timeout when waiting for interrupt While extending the mxc-nand driver it happend to me a few times that the device was stuck and this made the machine hang during boot. So implement a timeout and print a stack trace the first time this happens to make it debuggable. The return type of the waiting function is also changed to int to be able to handle the timeout in the caller. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c98ce6bf1a791d194186b3e1006f2b645569c6e3 Merge: 0a9061c 0d9ab18 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 23:14:28 2015 +0100 Merge tag 'mvebu-soc-4.1' of git://git.infradead.org/linux-mvebu into next/soc Pull "mvebu soc changes for v4.1 (part #1)" from Gregory CLEMENT: - Add support for a new SoC: Armada 39x * tag 'mvebu-soc-4.1' of git://git.infradead.org/linux-mvebu: Documentation: arm: update supported Marvell EBU processors ARM: mvebu: add core support for Armada 39x devicetree: bindings: add new SMP enable method for Marvell Armada 39x devicetree: bindings: add DT binding for the Marvell Armada 39x SoC family commit b1bfa919f023f064015b183943e9c0548bfe7224 Merge: 13a7a6a f224b57 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 23:09:05 2015 +0100 Merge tag 'mvebu-defconfig-4.1' of git://git.infradead.org/linux-mvebu into next/defconfig Pull "mvebu defconfig changes for v4.1 (part #1)" from Gregory CLEMENT: - add the new Armada 39x SoC in mvebu_v7_defconfig * tag 'mvebu-defconfig-4.1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: enable Armada 39x in mvebu_v7_defconfig commit 4c0714290c8d99eae9d5180360ec774cd60bdc15 Merge: 13a7a6a bc2d7a5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 23:02:22 2015 +0100 Merge tag 'mvebu-cleanup-4.1' of git://git.infradead.org/linux-mvebu into next/cleanup Pull "mvebu clean-up changes for v4.1 (part #1)" from Gregory CLEMENT: - Constify the dt_compat table in DT_MACHINE_START * tag 'mvebu-cleanup-4.1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add __initconst specifiers on DT_MACHINE_START dt_compat tables commit c4bb799588f64d7c586ba009f97ccfe7beeae706 Author: Zhizhou Zhang <zhizhou.zhang@xxxxxxxxxxxxxx> Date: Wed Mar 11 02:27:08 2015 +0000 arm64: Add support for Spreadtrum's Sharkl64 Platform in Kconfig and defconfig Adds support for Spreadtrum's SoC Platform in the arm64 Kconfig and defconfig files. Signed-off-by: Zhizhou Zhang <zhizhou.zhang@xxxxxxxxxxxxxx> Signed-off-by: Orson Zhai <orson.zhai@xxxxxxxxxxxxxx> Signed-off-by: Chunyan Zhang <chunyan.zhang@xxxxxxxxxxxxxx> commit c46388a58664e89526fe7b8af0082b9b5c465568 Author: Zhizhou Zhang <zhizhou.zhang@xxxxxxxxxxxxxx> Date: Wed Mar 11 02:27:08 2015 +0000 arm64: dts: Add support for Spreadtrum SC9836 SoC in dts and Makefile Adds the device tree support for Spreadtrum SC9836 SoC which is based on Sharkl64 platform. Sharkl64 platform contains the common nodes of Spreadtrum's arm64-based SoCs. Signed-off-by: Zhizhou Zhang <zhizhou.zhang@xxxxxxxxxxxxxx> Signed-off-by: Orson Zhai <orson.zhai@xxxxxxxxxxxxxx> Signed-off-by: Chunyan Zhang <chunyan.zhang@xxxxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 5d1b79d2b2639bb71238e76d73431fada9e38553 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Mar 9 09:41:04 2015 +0100 ARM64: Add new Xilinx ZynqMP SoC Initial version of device tree for Xilinx ZynqMP SoC. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 388a83576aa1816184a1706753ffa308cce53c8d Merge: d26ea6c cd28a1a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 11 17:56:39 2015 -0400 Merge branch 'dsa_phy_divert' Florian Fainelli says: ==================== net: dsa: support PHY reads/writes diversion This patch series completes the PHY reads/writes diversion when we need to use the slave MII bus provided by DSA and the underlying switch drivers to implement the real PHY reads and writes. This is particularly useful when they are conflicting MDIO bus addresses as in the case of multiple Broadcom switches connected to each other (internal and external, or just external). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd28a1a9baee7674779e46072e5dbbb6215c3c8c Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Mar 10 16:57:13 2015 -0700 net: dsa: fully divert PHY reads/writes if requested In case a PHY is found via Device Tree, and is also flagged by the switch driver as needing indirect reads/writes using the switch driver implemented MDIO bus, make sure that we bind this PHY to the slave MII bus in order for this to happen. Without this, we would succeed in having the PHY driver probe()'s function to use slave MII bus read/write functions, because this is done during dsa_slave_mii_init(), but past that point, the PHY driver would not go through these diverted reads and writes. Fixes: 0d8bcdd383b88 ("net: dsa: allow for more complex PHY setups") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c305c1651cb20f00d272db1615d39513365f2097 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Mar 10 16:57:12 2015 -0700 net: dsa: move PHY setup on DSA MII bus to its own function In preparation for dealing with indirect reads and writes towards certain PHY devices, move the code which deals with binding the PHY device to the slave MII bus created by DSA to its own function: dsa_slave_phy_connect(). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33d6737761ea425d43f3b6e4561573a4020982f2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Mar 10 16:57:11 2015 -0700 of: mdio: export of_mdio_parse_addr Export of_mdio_parse_addr() which allows parsing a given Ethernet PHY node MDIO address, verify it is within the allowed range, and return its value. This is going to be useful for the DSA code which needs to deal with multiple layers of MDIO buses. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05e6d23296ee46f4d25e9eec78141d45f2703410 Merge: 094a29d 90ca409 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 22:54:57 2015 +0100 Merge tag 'renesas-dt2-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Pull "Second Round of Renesas ARM Based SoC DT Updates for v4.1" from Simon Horman: * ape6evm board - Configure GPIO keys as wake-up source - Enable pull-up for GPIO switches - Correct polarity of LEDs * r8a7791 SoC - Correct IPMMU-GP clock to device tree * r8a7794 SoC - Correct ethernet controller PHY IRQ * lager, koelsch and marzen boards - Add DU external pixel clock to DT * lager board - Add HDMI output support to DT * r8a7791 and r8a7790 SoCs - Tidy up SDHI register size in DT - Reference DMA channels for SDHI in DT * tag 'renesas-dt2-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: ape6evm dts: Configure the custom switch as wake-up source ARM: shmobile: ape6evm dts: Enable pull-up for GPIO switches ARM: shmobile: r8a7791: Fix IPMMU-GP clock to device tree ARM: shmobile: r8a7794: alt: Fix ethernet controller PHY IRQ line ARM: shmobile: lager: Add DU external pixel clocks to DT ARM: shmobile: koelsch: Add DU external pixel clocks to DT ARM: shmobile: marzen: Add DU external pixel clock to DT ARM: shmobile: ape6evm dts: Fix polarity of LEDs ARM: shmobile: lager: Add DU HDMI output support ARM: shmobile: r8a7791: Fix HSUSB clock to hp_clk from mp_clk ARM: shmobile: r8a7790: Fix HSUSB clock to hp_clk from mp_clk ARM: shmobile: r8a7791: tidyup SDHI register size on DTSI ARM: shmobile: r8a7790: tidyup SDHI register size on DTSI ARM: shmobile: r8a7791: Reference DMA channels in SDHI DT nodes ARM: shmobile: r8a7790: Reference DMA channels in SDHI DT nodes commit d26ea6cc48da5a97d8188220c334cf3669fa8dc7 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Tue Mar 10 15:55:00 2015 -0700 net: bcmgenet: collect Rx discarded packet count Bits 31:16 of RDMA_PROD_INDEX contain Rx discarded packet count, which are the Rx packets that had to be dropped by MAC hardware since there was no room on the Rx queue. Add code to collect this information into the netdev stats. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 094a29d023b9ef0947bdc98e8cfeafe6219eb00a Merge: 4d0b756 538da83 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 22:53:16 2015 +0100 Merge tag 'mvebu-dt-4.1' of git://git.infradead.org/linux-mvebu into next/dt Pull "mvebu dt changes for v4.1 (part #1)" from Gregory CLEMENT: - fix SDHCI nodes on Armada 38x - add Linksys WRT1900AC (Mamba) support (including the Ethernet switch) - add several fixes and improvement for dove - enable GPIO fan alarm support for 2Big Network v2 - add several fixes about unit address - add support for Armada 39x SoC and board * tag 'mvebu-dt-4.1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add Device Tree files for Armada 39x SoC and board ARM: mvebu: fix unit address of MPIC nodes ARM: mvebu: use stdout-path in all armada-*.dts ARM: mvebu: add serial port aliases on Armada 370/375/38x/XP ARM: mvebu: remove aliases for Ethernet devices on Armada 370/375/38x/XP ARM: mvebu: add UART labels to Armada 375 ARM: mvebu: add missing UART labels on Armada 38x ARM: mvebu: fix usb@ unit address on Armada 38x to match register address ARM: mvebu: a385-db-ap: Enable the NAND ARM: ARMADA XP: WRT1900AC: Add support for the Ethernet switch ARM: Kirkwood: enable GPIO fan alarm support for 2Big Network v2 ARM: mvebu: Fix MPIC unit address ARM: dts: dove: Add some more common pinctrl settings ARM: dts: dove: Add node labels for PCIe ports 0 and 1 ARM: dts: dove: Always include gpio and interrupt-controller headers ARM: dts: dove: Fix uart[23] reg property ARM: mvebu: add Linksys WRT1900AC (Mamba) support ARM: mvebu: Add Device Tree description of SDHCI for Armada 388 RD ARM: mvebu: Update the SDHCI node on Armada 38x ARM: mvebu: Use macros for interrupt flags on Armada 38x sdhci node commit 4d0b756ec74861f1ca4bf3fe41c3266aa9317f4e Merge: e3d0014 7875b47 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 22:51:11 2015 +0100 Merge tag 'arm-soc/for-4.1/devicetree' of http://github.com/broadcom/stblinux into next/dt Pull "Broadcom Device Tree changes for 4.1 #1" from Florian Fainelli: This pull request contains the following Broadcom SoCs Device Tree changes: - Jonathan adds support for the Broadcom Cygnus BCM958305K board - Rafal adds support for Netgear R8000 and fixes the default for power LEDs on Netgear R6250 * tag 'arm-soc/for-4.1/devicetree' of http://github.com/broadcom/stblinux: ARM: BCM5301X: Fix default state of power LEDs on Netgear R6250 ARM: BCM5301X: Add DT for Netgear R8000 ARM: dts: Enable Broadcom Cygnus BCM958305K commit e3d00145e3c9e9d39219e183a47aa196a93447ef Merge: 66c9270 35762a6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 22:48:55 2015 +0100 Merge tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt Pull "First batch of DT changes for 4.1" into next/dt: - at91sam9x5 & EK board: ISI and camera sensors - at91sam9n12 & EK board: USB gadget nodes - sama5d3: typos, gpio-keys on Xplained board - sama5d4: i2c, leds, audio, ISI, crypto, pwm missing nodes - new sama5d4 xplained board * tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (31 commits) ARM: at91/dt: sama5d4: add ISI dt support ARM: at91/dt: sama5d4: add pwm0 device node ARM: at91/dt: sama5d4: add aes, sha and tdes nodes ARM: at91: dt: sama5d4ek: enable audio ARM: at91: dt: sama5d4ek: add and enable wm8904 ARM: at91: dt: sama5d4ek: enable ssc0 ARM: at91: dt: sama5d4: add ssc nodes ARM: at91/dt: sama5d4 xplained: add i2c0 ARM: at91/dt: sama5d4: add dts for sama5d4 xplained board ARM: at91/dt: sama5d4: add #{address, size}_cells properties for macb0 ARM: at91/dt: sama5d4ek: add leds in DT node ARM: at91/dt: add i2c1 declaration to sama5d4 ARM: at91/dt: gpio-keys: address-cells and size-cells properties are not needed ARM: at91/dt: at91-sama5d3_xplained: add gpio-key pinctrl property ARM: at91/dt/trivial: correct file headers for SAMA5D3 SoC peripherals ARM: at91/dt: at91sam9n12ek: enable udp ARM: at91/dt: at91sam9n12: add udp device node ARM: at91: at91sam9g25ek/dts: enable ISI and ov2640 ARM: at91: at91sam9x5ek/dts: add ov2640 support ARM: at91: at91sam9x5/dts: add ISI dt support, include isi node, pinctrls ... commit a0307d186f5015ee3d77e209e5c06190cbf02478 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Feb 9 21:12:23 2015 +0800 ARM: rockchip: disable watchdog during suspend The watchdog clock should be disable in dw_wdt_suspend, but we set a dummy clock to watchdog for rk3288. So the watchdog will continue to work during suspend. And we switch the system clock to 32khz from 24Mhz, during suspend, so the watchdog timer over count will increase to 755 times, about 12.5 hours, the original value is 60 seconds. So watchdog will reset the system over a night, but voltage are all incorrect, then it hang on reset. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit aefc7c7512455c26574ae7118429920dc3de60ae Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Feb 9 21:12:22 2015 +0800 ARM: rockchip: decrease the wait time for resume The register-default delay time for wait the 24MHz OSC stabilization as well as PMU stabilization is 750ms, let's decrease them to a still safe 30ms. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit bd76d73836fa903d67eaabcb3a0201d2d0a73461 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Mar 2 00:12:03 2015 +0100 ARM: rockchip: Constify struct regmap_config and staticize local function The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Make function rockchip_get_core_reset() static because it is not used outside of the platsmp.c file. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 61f0d861fc6924fa673ecf1128a911d49cb10dc8 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 11 14:02:16 2015 -0700 fib_trie: Fix uninitialized variable warning The 0-day kernel test infrastructure reported a use of uninitialized variable warning for local_table due to the fact that the local and main allocations had been swapped from the original setup. This change corrects that by making it so that we free the main table if the local table allocation fails. Fixes: 0ddcf43d5 ("ipv4: FIB Local/MAIN table collapse") Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0e3704c94c5737f42e9ac49a5dcca366674e5229 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:14 2015 -0400 drm/fb: handle tiled connectors better We don't want tile 0,0 to artificially constrain the size of the legacy fbdev device. Instead when reducing fb_size to be the minimum of all displays, only consider the rightmost and bottommost tiles. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Tested-by: Hai Li <hali@xxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 675c8328db6548f00a4e60770e66ab53752d6bf2 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:13 2015 -0400 drm/fb: small cleanup Flip conditional to reduce indentation level of rest of fxn, and use min/max to make the code clearer. v2: surface_width -> surface_height typo Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d3c8ea3460fa9ca8a19eea8813071dee0b07c293 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:12 2015 -0400 drm/rockchip: use correct fb width/height What is passed to drm_fb_helper_fill_var() should be fb_width/fb_height, rather than the surface size. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ecbf1d5afe993f05f0c513a4b99256589ab5c810 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:11 2015 -0400 drm/exynos: use correct fb width/height What is passed to drm_fb_helper_fill_var() should be fb_width/fb_height, rather than the surface size. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8d76612bd49a73dca018e6fe5c790c943dbde98f Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:10 2015 -0400 drm/cma: use correct fb width/height What is passed to drm_fb_helper_fill_var() should be fb_width/fb_height, rather than the surface size. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 08855fae10f088d83527bdf108199d3e35be503b Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:09 2015 -0400 drm/atomic: minor kerneldoc typo fix Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b7b5ee593118f9dc884fc21237f51b9f599cc432 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:08 2015 -0400 drm/fb: document drm_fb_helper_surface_size There has been some confusion about this struct. Lack of documentation probably didn't help. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d002fa720738bcd0bddb9178e9ea0773288e1dd Author: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Date: Tue Feb 10 18:38:08 2015 +0000 drm/dp: Use large transactions for I2C over AUX Older DisplayPort to DVI-D Dual Link adapters designed by Bizlink have bugs in their I2C over AUX implementation (fixed in newer revisions). They work fine with Windows, but fail with Linux. It turns out that they cannot keep an I2C transaction open unless the previous read was 16 bytes; shorter reads can only be followed by a zero byte transfer ending the I2C transaction. Copy Windows's behaviour, and read 16 bytes at a time. If we get a short reply, assume that there's a hardware bottleneck, and shrink our read size to match. For this purpose, use the algorithm in the DisplayPort 1.2 spec, in the hopes that it'll be closest to what Windows does. Also provide an unsafe module parameter for testing smaller transfer sizes, in case there are sinks out there that cannot work with Windows. Note also that despite the previous comment in drm_dp_i2c_xfer, this speeds up native DP EDID reads; Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> found the following changes in his testing: Device under test: old -> with this patch DP->DVI (OUI 001cf8): 40ms -> 35ms DP->VGA (OUI 0022b9): 45ms -> 38ms Zotac DP->2xHDMI: 25ms -> 4ms Asus PB278 monitor: 22ms -> 3ms A back of the envelope calculation shows that peak theoretical transfer rate for 1 byte reads is around 60 kbit/s; with 16 byte reads, this increases to around 500 kbit/s, which explains the increase in speed. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55228 Tested-by: Aidan Marks <aidanamarks@xxxxxxxxx> (v3) Signed-off-by: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6dede75b7e8ed4af31c3b06aec84401a5db88be9 Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Tue Mar 10 21:03:54 2015 +0100 fib_trie: call fib_table_flush_external under RTNL Move rtnl_lock() before the call to fib4_rules_exit so that fib_table_flush_external is called under RTNL. Fixes: 104616e74e0b ("switchdev: don't support custom ip rules, for now") Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a08919f43d9955d5afc5d6b416964401e3c58d8 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Tue Mar 10 16:37:59 2015 +0000 mpls: Allow mpls_gso and mpls_router to be built as modules CONFIG_MPLS=m doesn't result in a kernel module being built because it applies to the net/mpls directory, rather than to .o files. So revert the MPLS menuitem to being a boolean and make MPLS_GSO and MPLS_ROUTING tristates to allow mpls_gso and mpls_router modules to be produced as desired. Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19693f1166a421e628136ecc279bb4a076b753eb Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Tue Mar 10 18:31:12 2015 +0800 net/fsl: remove dependency FSL_SOC from MDIO FSL_PQ_MDIO and FSL_XGMAC_MDIO are not really depend on FSL_SOC, they can build on non-PPC platforms. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa34a6cb0478842452bac58edb50d3ef9e178c92 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 11 09:43:48 2015 +1100 rhashtable: Add arbitrary rehash function This patch adds a rehash function that supports the use of any hash function for the new table. This is needed to support changing the random seed value during the lifetime of the hash table. However for now the random seed value is still constant and the rehash function is simply used to replace the existing expand/shrink functions. [ ASSERT_BUCKET_LOCK() and thus debug_dump_table() + debug_dump_buckets() are not longer used, so delete them entirely. -DaveM ] Signed-off-by: Herbert Xu <herbert.xu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 988dfbd795cf08b00576c1ced4210281b2bccffc Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 09:27:55 2015 +1100 rhashtable: Move hash_rnd into bucket_table Currently hash_rnd is a parameter that users can set. However, no existing users set this parameter. It is also something that people are unlikely to want to set directly since it's just a random number. In preparation for allowing the reseeding/rehashing of rhashtable, this patch moves hash_rnd into bucket_table so that it's now an internal state rather than a parameter. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7f64a44356ce138aec2da091d7291446f52dcc5 Author: Abhimanyu Kapur <abhimany@xxxxxxxxxxxxxx> Date: Tue Oct 15 21:11:09 2013 -0700 arm64: qcom: Add support for Qualcomm MSM8916 SoC Add support for Qualcomm MSM8916 SoC in arm64 Kconfig and defconfig. Enable MSM8916 clock, pin control, and MSM serial driver utilized by MSM8916 and Qualcomm SoCs in general. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Abhimanyu Kapur <abhimany@xxxxxxxxxxxxxx> commit 999c286347538388170f919146d7cfa58689472e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jan 31 21:12:02 2015 -0800 rcu: Remove event tracing from rcu_cpu_notify(), used by offline CPUs Offline CPUs cannot safely invoke trace events, but such CPUs do execute within rcu_cpu_notify(). Therefore, this commit removes the trace events from rcu_cpu_notify(). These trace events are for utilization, against which rcu_cpu_notify() execution time should be negligible. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b6505deafa1397c81c3f268bfe0f349cf0be2b97 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 22 18:39:24 2015 -0800 rcutorture: Enable slow grace-period initializations This commit sets CONFIG_RCU_TORTURE_TEST_SLOW_INIT=y, but leaves the default time zero. This can be overridden by passing the "--bootargs rcutree.gp_init_delay=1" argument to kvm.sh. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 37745d281069682d901f00c0121949a7d224195f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 22 18:24:08 2015 -0800 rcu: Provide diagnostic option to slow down grace-period initialization Grace-period initialization normally proceeds quite quickly, so that it is very difficult to reproduce races against grace-period initialization. This commit therefore allows grace-period initialization to be artificially slowed down, increasing race-reproduction probability. A pair of new Kconfig parameters are provided, CONFIG_RCU_TORTURE_TEST_SLOW_INIT to enable the slowdowns, and CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY to specify the number of jiffies of slowdown to apply. A boot-time parameter named rcutree.gp_init_delay allows boot-time delay to be specified. By default, no delay will be applied even if CONFIG_RCU_TORTURE_TEST_SLOW_INIT is set. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 237a0f2193c6daf9b1edd7fd15d55e680f268952 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 22 14:32:06 2015 -0800 rcu: Detect stalls caused by failure to propagate up rcu_node tree If all CPUs have passed through quiescent states, then stalls might be due to starvation of the grace-period kthread or to failure to propagate the quiescent states up the rcu_node combining tree. The current stall warning messages do not differentiate, so this commit adds a printout of the root rcu_node structure's ->qsmask field. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 18c629eaebf1814ca7f0c27327f75aa93aa4a5de Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 18:59:56 2015 -0800 rcu: Eliminate empty HOTPLUG_CPU ifdef Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c8aead6a9b27fdd94b7bcb74b587ae012d8145f2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 16:56:46 2015 -0800 rcu: Simplify sync_rcu_preempt_exp_init() This commit eliminates a boolean and associated "if" statement by rearranging the code. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 78043c467a91573cc1d51827fe10d7d15ae79a60 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 18 17:46:24 2015 -0800 rcu: Put all orphan-callback-related code under same comment Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b33078b6098148c3efdacc907249a247c9d5491e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 16 14:01:21 2015 -0800 rcu: Consolidate offline-CPU callback initialization Currently, both rcu_cleanup_dead_cpu() and rcu_send_cbs_to_orphanage() initialize the outgoing CPU's callback list. However, only rcu_cleanup_dead_cpu() invokes rcu_send_cbs_to_orphanage(), and it does so unconditionally, which means that only one of these initializations is required. This commit therefore consolidates the callback-list initialization with the rest of the callback handling in rcu_send_cbs_to_orphanage(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 490ab882e2719f5e809a0cb5af7fda4620b66dca Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:57:25 2015 -0800 metag: Use common outgoing-CPU-notification code This commit removes the open-coded CPU-offline notification with new common code. This change avoids calling scheduler code using RCU from an offline CPU that RCU is ignoring. This commit is compatible with the existing code in not checking for timeout during a prior offline for a given CPU. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: <linux-metag@xxxxxxxxxxxxxxx> commit a17b4b7487ebcb2aa6d0b859a0981e280d910622 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:28:25 2015 -0800 blackfin: Use common outgoing-CPU-notification code This commit removes the open-coded CPU-offline notification with new common code. This change avoids calling scheduler code using RCU from an offline CPU that RCU is ignoring. This commit is compatible with the existing code in not checking for timeout during a prior offline for a given CPU. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: <adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx> commit 2a442c9c6453d3d043dfd89f2e03a1deff8a6f06 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 11:42:15 2015 -0800 x86: Use common outgoing-CPU-notification code This commit removes the open-coded CPU-offline notification with new common code. Among other things, this change avoids calling scheduler code using RCU from an offline CPU that RCU is ignoring. It also allows Xen to notice at online time that the CPU did not go offline correctly. Note that Xen has the surviving CPU carry out some cleanup operations, so if the surviving CPU times out, these cleanup operations might have been carried out while the outgoing CPU was still running. It might therefore be unwise to bring this CPU back online, and this commit avoids doing so. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: <x86@xxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: <xen-devel@xxxxxxxxxxxxxxxxxxxx> commit 0ddcf43d5d4a03ded1ee3f6b3b72a0cbed4e90b1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 13:47:00 2015 -0800 ipv4: FIB Local/MAIN table collapse This patch is meant to collapse local and main into one by converting tb_data from an array to a pointer. Doing this allows us to point the local table into the main while maintaining the same variables in the table. As such the tb_data was converted from an array to a pointer, and a new array called data is added in order to still provide an object for tb_data to point to. In order to track the origin of the fib aliases a tb_id value was added in a hole that existed on 64b systems. Using this we can also reverse the merge in the event that custom FIB rules are enabled. With this patch I am seeing an improvement of 20ns to 30ns for routing lookups as long as custom rules are not enabled, with custom rules enabled we fall back to split tables and the original behavior. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8038dad7e888581266c76df15d70ca457a3c5910 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 10:34:39 2015 -0800 smpboot: Add common code for notification from dying CPU RCU ignores offlined CPUs, so they cannot safely run RCU read-side code. (They -can- use SRCU, but not RCU.) This means that any use of RCU during or after the call to arch_cpu_idle_dead(). Unfortunately, commit 2ed53c0d6cc99 added a complete() call, which will contain RCU read-side critical sections if there is a task waiting to be awakened. Which, as it turns out, there almost never is. In my qemu/KVM testing, the to-be-awakened task is not yet asleep more than 99.5% of the time. In current mainline, failure is even harder to reproduce, requiring a virtualized environment that delays the outgoing CPU by at least three jiffies between the time it exits its stop_machine() task at CPU_DYING time and the time it calls arch_cpu_idle_dead() from the idle loop. However, this problem really can occur, especially in virtualized environments, and therefore really does need to be fixed This suggests moving back to the polling loop, but using a much shorter wait, with gentle exponential backoff instead of the old 100-millisecond wait. Most of the time, the loop will exit without waiting at all, and almost all of the remaining uses will wait only five microseconds. If the outgoing CPU is preempted, a loop will wait one jiffy, then increase the wait by a factor of 11/10ths, rounding up. As before, there is a five-second timeout. This commit therefore provides common-code infrastructure to do the dying-to-surviving CPU handoff in a safe manner. This code also provides an indication at CPU-online of whether the CPU to be onlined previously timed out on offline. The new cpu_check_up_prepare() function returns -EBUSY if this CPU previously took more than five seconds to go offline, or -EAGAIN if it has not yet managed to go offline. The rationale for -EAGAIN is that it might still be preempted, so an additional wait might well find it correctly offlined. Architecture-specific code can decide how to handle these conditions. Systems in which CPUs take themselves completely offline might respond to an -EBUSY return as if it was a zero (success) return. Systems in which the surviving CPU must take some action might take it at this time, or might simply mark the other CPU as unusable. Note that architectures that take the easy way out and simply pass the -EBUSY and -EAGAIN upwards will change the sysfs API. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: <linux-api@xxxxxxxxxxxxxxx> Cc: <linux-arch@xxxxxxxxxxxxxxx> [ paulmck: Fixed state machine for architectures that don't check earlier CPU-hotplug results as suggested by James Hogan. ] commit e5fdad68d47ed344832b7ca4e18b2e9708d8141e Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:06 2015 -0600 soc: qcom: gsbi: Add support for ADM CRCI muxing This patch adds automatic configuration for the ADM CRCI muxing required to support DMA operations for GSBI clients. The GSBI mode and instance determine the correct TCSR ADM CRCI MUX value that must be programmed so that the DMA works properly. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 767b0235dd476596c0d4154839ae6880bec71b3c Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Mon Mar 2 16:30:30 2015 -0700 firmware: qcom: scm: Support cpu power down through SCM Support powering down the calling cpu, by trapping into SCM. This termination function triggers the ARM cpu to execute WFI instruction, causing the power controller to safely power the cpu down. Caches may be flushed before powering down the cpu. If cache controller is set to turn off when the cpu is powered down, then the flags argument indicates to the secure mode to flush its cache lines before executing WFI.The warm boot reset address for the cpu should be set before the calling into this function for the cpu to resume. The original code for the qcom_scm_call_atomic1() comes from a patch by Stephen Boyd [1]. The function scm_call_atomic1() has been cherry picked and renamed to match the convention used in this file. Since there are no users of scm_call_atomic2(), the function is not included. [1]. https://lkml.org/lkml/2014/8/4/765 Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 2ce76a6ad32fa076a2bb5561e859c97fceec8bb1 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Mon Mar 2 16:30:29 2015 -0700 firmware: qcom: scm: Add qcom_scm_set_warm_boot_addr function A core can be powered down for cpuidle or when it is hotplugged off. In either case, the warmboot return address would be different. Allow setting the warmboot address for a specific cpu, optimize and write to the firmware, if the address is different than the previously set address. Export qcom_scm_set_warm_boot_addr function move the warm boot flags to implementation. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit a353e4a06f24235138d483a2625726a5fc472949 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Mon Mar 2 16:30:28 2015 -0700 firmware: qcom: scm: Clean cold boot entry to export only the API We dont need to export the SCM specific cold boot flags to the platform code. Export only a function to set the cold boot address. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 369237ab1fe5539091320f47781d6fe2db0241b9 Merge: 605e0f9 3915d36 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 21:14:55 2015 +0100 Merge tag 'renesas-r8a7778-ccf-and-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Pull "Renesas ARM Based SoC r8a7778 CCF and Multiplatform Updates for v4.1" from Simon Horman: * Add CCF and them multiplatform support to r8a7778 SoC and its bockw board. * tag 'renesas-r8a7778-ccf-and-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (21 commits) ARM: shmobile: r8a7778: enable multiplatform target ARM: shmobile: bockw: add sound to DT ARM: shmobile: r8a7778: add sound to DT ARM: shmobile: bockw: add devices hooked up to i2c0 to DT DT: i2c: add trivial binding for OKI ML86V7667 video decoder ARM: shmobile: r8a7778: common clock framework CPG driver ARM: shmobile: bockw dts: set extal clock frequency ARM: shmobile: bockw dts: Move Ethernet node to BSC ARM: shmobile: r8a7778 dtsi: Add Bus State Controller node ARM: shmobile: bockw: add USB, VIN pin descriptions to DT ARM: shmobile: r8a7778: add internal ethernet controller to DT ARM: shmobile: r8a7778: add MSTP clock assignments to DT ARM: shmobile: r8a7778: implement SoC and board CCF support ARM: shmobile: r8a7778: Common clock framework DT description ARM: shmobile: r8a7778: add CPG register bits header ARM: shmobile: r8a7778: synchronize dts with reference platform drivers: bus: Add Simple Power-Managed Bus Driver drivers: bus: Add Renesas Bus State Controller (BSC) DT Bindings drivers: bus: Add Simple Power-Managed Bus DT Bindings drivers: bus: Sort Makefile entries alphabetically ... commit 9024c495f35be735a917571406fab30a789c27d1 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Tue Mar 3 17:17:49 2015 -0800 usb: dwc2: pci: Add device mode to the dwc2-pci driver The pci driver now registers a platform driver, like in dwc3, and lets its probe function do all the initialization. This allows it to account for changes to the platform driver that were not added to the pci driver. Also future changes to the probe function don't have to be duplicated. This also has the effect of adding device and DRD mode to the pci driver. Tested on the Synopsys HAPS PCIe platform. Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 916f743da3546c28a2f350d197e3bea95d97ba15 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Thu Feb 26 15:49:09 2015 -0600 firmware: qcom: scm: Move the scm driver to drivers/firmware Architectural changes in the ARM Linux kernel tree mandate the eventual removal of the mach-* directories. Move the scm driver to drivers/firmware and the scm header to include/linux to support that removal. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 4de43476fc1baaf2bb7a520fc9e3b1797943b615 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Wed Feb 4 16:30:46 2015 -0600 ARM: qcom: Prep scm code for move to drivers/firmware Add qcom prefix to functions, etc to create a unique name space for the scm code as it gets ready to move out of qcom specific mach dir. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit b97fdb6dc0effe0612bc60fc9db7017b9fd81932 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Wed Feb 4 16:10:13 2015 -0600 ARM: qcom: Cleanup scm interface to only export what is needed Now that scom boot interface is merged we don't need export scm_call anymore. Some other minor cleanups related to boot interface to only export what is needed by scm_set_boot_addr(). Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 3d9b448bd287f051f5380323d596a133f01c074b Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Wed Feb 4 15:46:04 2015 -0600 ARM: qcom: Merge scm and scm boot code together Put all scm related code into a single file as a first step in cleaning up the scm interface to just expose functional behavior insteam of making direct scm calls. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 005a64307d5d3ef895e7821df4cad7739bab392e Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Mar 11 10:07:47 2015 +0800 usb: gadget: lpc32xxx_udc: Fix NULL dereference udc is then checked for NULL, if NULL, it is then dereferenced as udc->dev, it is found using Coccinelle. We simplify the code to fix this problem, and we delete some conditions at if {} which will never be met. Reported-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Reported-by : Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 18b44b2b950a0746abe7466021e842c6d7e96443 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:34 2015 +0100 EDAC, i82443bxgx: Don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL_GPL; @@ -EXPORT_SYMBOL_GPL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Doug Thompson <dougthompson@xxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Tim Small <tim@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426092997-30605-13-git-send-email-Julia.Lawall@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 10dcc448d13071ed0d3797233187e79be258d90c Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 12 03:05:44 2015 +0800 ASoC: max98925_spk_tlv can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ff2765182d1969947dfb50f4e42ebd7e83699fd Author: Anish Kumar <yesanishhere@xxxxxxxxx> Date: Mon Mar 9 15:50:34 2015 -0700 ASoC: Add max98925 codec driver Signed-off-by: Anish Kumar <yesanishhere@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b3f5dbec2f077be7ee392da3365d11e393a50038 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:33 2015 +0100 ASoC: ab8500-codec: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL_GPL; @@ -EXPORT_SYMBOL_GPL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 71fa641ebbfd2402bdb76d3c6ba7e4a2d1eb2dfc Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Wed Mar 11 10:25:41 2015 -0700 HID: wacom: Add battery presence indicator to wireless tablets Declare the POWER_SUPPLY_PROP_PRESENT property to provide userspace with a way to determine if the battery on a wireless tablet is plugged in. Although current wireless tablets do not explicitly report this information, it can be inferred from other state information. In particular, a battery is assumed to be present if any of the following are true: a non-zero battery level reported, the battery is reported as charging, or the tablet is operating wirelessly. Note: The last condition above may not strictly hold for the Graphire Wireless (it charges from a DC barrel jack instead of a USB port), but I do not know what is reported in the no-battery condition. Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b6310affbe2bf14cbe6b6d28db48e1e37d52fbca Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 11 10:42:13 2015 -0700 Input: sx8654 - signedness bug in sx8654_irq() "irqsrc" needs to be signed for the error handling to work. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 37dee1acdd587c09826888738d78649a2c529125 Author: Charlie Mooney <charliemooney@xxxxxxxxxxxx> Date: Tue Mar 10 18:26:18 2015 -0700 Input: elants_i2c - append hw_version to FW file Currently the elants_i2c driver simply requests a static filename /lib/firmware/elants_i2c.bin when it gets firmware updates. This is a problem if you have two Elan touchscreens using the same driver. If both touchscreens have different firmwares, you would need to move the files around in your filesystem when you're updating them so that they don't get updated with the other's FW. If you have a read-only filesystem then this is impossible, even. This patch changes the elants_i2c driver to automatically append the four-hex-digit hw_version of the device onto the name of the FW file it's requesting for update. Since different touchscreens should have a different hw_version's this means the user needs to append the hw version of the touchscreen he or she intends to update onto the end of the firmware filename and then the driver will do the rest. The firmware filenames it looks for now are of the form: elants_i2c_${HW_VERSION}.bin eg: elants_i2c_2a44.bin Signed-off-by: Charlie Mooney <charliemooney@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0c2d652f0bd9fdfe367eca4ebf56ad354bf3b153 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sun Mar 1 21:51:40 2015 +0100 ARM: Kirkwood: add DT description for nas2big This patch adds the DT description for the LaCie "2Big NAS" (nas2big). This NAS is an hardware upgrade of the 2Big Network v2. Chipset and device list: - CPU Marvell 88F6282 1600Mhz - SDRAM memory, 256MB DDR3 (2x128MB x8) 533Mhz - 1 Ethernet Gigabit port (PHY Marvell 88E1518) - Flash memory, NAND 256MB TSOP48 - I2C EEPROM, 512 bytes (AT24 type) - PCIe SATA controller JMicron JMB360 (eSATA) - I2C fan controller GMT G762 (with a separate alarm GPIO) - 1 USB2 host port - 1 push button - 1 power switch - 2 SATA LEDs (bi-color, blue and red) - 1 power LED (bi-color, blue and red) - CPLD for LEDs and start-up management (Altera Max EMP3064) Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 111573ccd89b67fdef64d945cc0e611df85a6ac8 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 22 18:21:30 2015 +0800 mtd: atmel_nand: check NFC busy flag by HSMC_SR instead of NFC cmd regs Currently the driver read NFC command registers to get NFC busy flag. Actually this flag also can be get by reading HSMC_SR register. Use the read NFC command registers need mapping a huge memory region. To save the mapped memory region, we change to check NFC busy flag by reading HSMC_SR register. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 72a472d2f912292457d6e3579df342c1138f26d5 Author: Takeyoshi Kikuchi <kikuchi@xxxxxxxxxxxxxxxx> Date: Mon Mar 2 11:03:51 2015 +0900 usb: musb: cppi41: fix condition to call cppi41_trans_done(). connect AR9271(USB wifi) to AM335x, and send a flood ping from Mac OSX, AR9271 is stopped. on USB bus, the following occurs. - OUT transaction is ACKed (NYET). - IN transaction is ACKed (512bytes). - PING-NAK transaction is continued for about 2 seconds (AR9271 timeout?). In current imprementation, IN-transaction is not completed because it checks the empty of TX-FIFO in cppi41_dma_callback(). As a result, communication to AR9271 stops. This patch modified to check the empty of TX-FIFO only when OUT-transaction. Signed-off-by: Takeyoshi Kikuchi <kikuchi@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8fac1722140019d6a53f7b280f8b785707a16f66 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Wed Mar 11 11:48:11 2015 -0400 HID: wacom: drop WACOM_PKGLEN_STATUS The constant is not used (leftover from previous patch versions that never got merged). Reported-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b0882cb79dbd2bbdfac1416f8474aa6b0adb9334 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:43 2015 -0800 HID: wacom: Status packet provides 'charging', not 'powered' bit The status packet for tablets which can use a wireless module contains a bit that is set if the battery is charging. This bit will be 0 if either a battery is not present or if the battery has reached full charge. Note that the charging circuit may continue to charge the battery for a short time after reaching "100%". Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2d13a43813729850572606a653f06c9e567e4c8d Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:42 2015 -0800 HID: wacom: Report battery status for Intuos Pro and Intuos5 Calls the wacom_status_irq function to report battery status for the Intuos Pro and Intuos5 (in addition to the already-reporting Intuos and last-generation Bamboo). Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8f93b0b2b0a336746adc8730921b219f0ba40c29 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:41 2015 -0800 HID: wacom: Provide battery charge state to system over USB if available If a wireless adapter (which contains the charging circuitry) is detected as being attached to the tablet then create a new battery interface and update its status as data is reported. Also destroy the battery if the adapter goes away. Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit fce9957d8f618346b76c63066e146fc76ed975ce Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:40 2015 -0800 HID: wacom: Allow dynamic battery creation/destruction Tablets like the Intuos, Intuos Pro, and Bamboo have a connector for an optional wireless module that can be connected on the fly. The presence (or absence) of this module is indicated in a status report recieved from the tablet. This patch adds a workqueue function that will create or destroy a power_supply object at runtime to match the current state of the WACOM_QUIRK_BATTERY flag. Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 953f2c5f716305a5c2ebea935f410ee7aa439159 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:39 2015 -0800 HID: wacom: Centralize updating of wacom_wac battery status Has the 'wacom_notify_battery' function take on the job of detecting if updating the power supply is necessary to remove multiple nearly-identical 'if' blocks. Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4ca4ec71c84e4ede2b34d2dcf49e7935c735ad6c Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:38 2015 -0800 HID: wacom: Move handling of Intuos status packets to seperate function In addition to the touchswitch state for "Intuos", these packets are also sent by the Intuos Pro, Intuos5, and last-generation Bamboo tablets when using a wired connection. They contain, among other things, information about the optional wireless module and battery charge state (to be supported in subsuquent patches). Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 967667fd6d96a16fd4a216251eee112a214207ec Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 11 08:35:47 2015 +0100 drm/plane-helper: Fixup mismerge I somehow manage to screw up applying Laurent's patch in eca93e28c256: "drm: Check in setcrtc if the primary plane supports the fb pixel format". It was a conflict with commit 3461b30b3e171e16498f3d7bc59ab703aec475c8 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Mar 5 10:32:44 2015 +0100 drm/plane-helper: unexport drm_primary_helper_create_plane and I just didn't check that the solution from wiggle made sense. Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: laurent.pinchart@xxxxxxxxxxxxxxxx Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: laurent.pinchart@xxxxxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 48d7ff0eaacbe5a51037bdb06a8a0a729b804b5f Author: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx> Date: Wed Mar 11 11:20:03 2015 -0400 drivers/tty: serial: remove info message Unacceptable levels of debug info will happen when the DMA driver defined in the DT/ACPI is a blacklisted module. Another cause for log polution would be the defer probing of the DMA driver taking too long - in which case the message that this commit removes would be cluttering the logs due to the init daemons activity. Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 168bdb88c3ab1f66c061a6220c18939ef20ba42e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Feb 3 19:18:17 2015 -0200 usb: phy: phy-generic: No need to call gpiod_direction_output() twice Commit 9eb0797722895f4309b4 ("usb: phy: generic: fix the gpios to be optional") calls gpiod_direction_output() in the probe function, so there is no need to call it again, as we can simply call gpiod_set_value() directly. Also, in usb_gen_phy_shutdown() we can simply put the GPIO directly in its active level state and this allows us to simplify the nop_reset function to treat only the reset case. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f4e4f8dae3753685e577143e8116cbac52f13cc4 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Feb 10 17:30:36 2015 +0100 usb: gadget: f_hid: remove unnecessary usb_ep_dequeue() Function usb_ep_disable() causes completion of all requests queued for given endpoint, so there is no need to dequeue them after endpoint disabling. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fa84acf0f6142e7f35da785e25ee978518ff21ac Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 00:42:00 2015 +0100 usb: gadget: dummy-hcd: Remove utf8 from format string Not everybody uses a utf8 locale (unfortunately), so let's avoid non-ascii characters in the kernel log. Replace the 3-byte utf8 sequence with a 3-byte ascii equivalent. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 112bf24471b50f806cbcbead7bd485da70401b83 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Feb 12 18:54:07 2015 +0100 usb: gadget: atmel_usba_udc: Add suspend/resume with wakeup support This patch add suspend/resume with wakeup support for Atmel USBA. On suspend: We stay continuously clocked if Vbus signal is not available. If Vbus signal is available we set the Vbus signal as a wake up source then we stop the USBA itself and all clocks used by USBA. On resume: We recover clocks and USBA if we stopped them. If a device is currently connected at resume time we enable the controller. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a64ef71ddc13fc76a6f4af8c61e0106a62004380 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Feb 12 18:54:06 2015 +0100 usb: gadget: atmel_usba_udc: condition clocks to vbus state If USB PLL is not necessary for other USB drivers (e.g. OHCI and EHCI) we will reduce power consumption by switching off the USB PLL if no USB Host is currently connected to this USB Device. We are using Vbus GPIO signal to detect Host presence. If Vbus signal is not available then the device stays continuously clocked. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bb0a203c3a4e37b4bbb1f8ef55a855618dbba265 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Feb 12 18:54:05 2015 +0100 usb: gadget: atmel_usba_udc: Request an auto disabled Vbus signal IRQ Vbus IRQ handler needs a started UDC driver to work because it uses udc->driver, which is set by the UDC start handler. The previous way chosen was to return from interrupt if udc->driver is NULL using a spinlock around the check. We now request an auto disabled (IRQ_NOAUTOEN) Vbus signal IRQ instead of an auto enabled IRQ followed by disable_irq(). This way we remove the very small timeslot of enabled IRQ which existed previously between request() and disable(). We don't need anymore to check if udc->driver is NULL in IRQ handler. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Suggested-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 227ab58cff3c26ec279598112887d6bcca677a0c Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Feb 12 18:54:04 2015 +0100 usb: gadget: atmel_usba_udc: Fixed vbus_prev initial state If vbus gpio is high at init, we should set vbus_prev to true accordingly to the current vbus state. Without that, we skip the first vbus interrupt because the saved vbus state is not consistent. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 656e7c36bd70e115266cf280e0ff049506ceb16c Author: Mickael Maison <mickael.maison@xxxxxxxxx> Date: Sun Mar 8 19:26:52 2015 +0000 usb: phy: fixed comment typo Fixed a comment typo in drivers/usb/phy/of.c Signed-off-by: Mickael Maison <mickael.maison@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2b08977b8dcb18c75b4972184c9ab54937119cba Author: Mickael Maison <mickael.maison@xxxxxxxxx> Date: Sun Mar 8 19:24:02 2015 +0000 usb: phy: ab8500: fixed comment typo Fixed a comment typo in drivers/usb/phy/phy-ab8500-usb.c Signed-off-by: Mickael Maison <mickael.maison@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fddc26f573e28dde62013cd5d8d5c60aa85e74a4 Author: Tal Shorer <tal.shorer@xxxxxxxxx> Date: Fri Mar 6 21:53:32 2015 +0200 usb: gadget: f_mass_storage: use defined constant instead of numeric value replace numeric value with TYPE_NO_LUN (defined in <scsi/scsi.h>) Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 06ed0de5188c9ef6553b2824b6cdd767ad46ece5 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Tue Mar 10 22:37:46 2015 +0900 usb: gadget: Fix typo fond in Documentation/Docbook/gadget.xml This patch fix some spelling typo found in gadget.xml. It is because this file is generated from comments in sources, I had to fix comments in the source, instead of xml file itself. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 33c300cb90a6c0072507a949f78c4728238a81f0 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Mar 10 10:42:12 2015 -0500 usb: musb: dsps: don't fake of_node to musb core If we pass our own of_node to musb_core, at least pinctrl settings will be duplicated, meaning that pinctrl framework will try to select default pin state for musb_core when they were already requested by musb-dsps. A Warning will be printed however things will still work. Reported-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 983f3cabf6677340dd5b9aec5440b427b8c47ad9 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Mar 11 10:18:40 2015 -0500 usb: musb: dsps: request phy using our device pointer musb shouldn't have of_node and phy phandle is passed to dsps device, not musb's. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4ba9faf35f6e49964ca6ed88fb0090cc4c727bf3 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Mar 11 10:52:08 2015 +0200 Bluetooth: Check for matching IRK when looking for paired LE devices If we're given an RPA when checking whether we're paired or not, we should consult the local RPA storage whether there's a matching IRK. This we we ensure that hci_bdaddr_is_paired() gives the right result even when trying to pair a second time with the same device with an RPA. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 69ff5c619cb350f43fbab2a491b4b66de7e96959 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Mar 5 12:26:06 2015 +0100 KVM: arm/arm64: prefer IS_ENABLED to a static variable IS_ENABLED gives compile-time checking and keeps the code clearer. The one exception is inside kvm_vm_ioctl_check_extension, where the established idiom is to wrap the case labels with an #ifdef. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0f37247574b3ef5b130116bbf7c0f9eb8a4c78c2 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Thu Mar 5 14:47:44 2015 +0000 KVM: vgic: add virt-capable compatible strings Several dts only list "arm,cortex-a7-gic" or "arm,gic-400" in their GIC compatible list, and while this is correct (and supported by the GIC driver), KVM will fail to detect that it can support these cases. This patch adds the missing strings to the VGIC code. The of_device_id entries are padded to keep the probe function data aligned. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Andre Przywara <andre.przywara@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 1eb8a1b340e2f0a562b4987683bbaee4d620bf0a Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 13:35:39 2015 -0700 crypto: amcc - remove incorrect __init/__exit markups Even if bus is not hot-pluggable, the devices can be bound and unbound from the driver via sysfs, so we should not be using __init/__exit annotations on probe() and remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 83ce01d24a1998cf1be6a7ea37f54edf264abe93 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 13:25:49 2015 -0700 crypto: qat - remove incorrect __exit markup PCI bus is hot-pluggable, and even if it wasn't one can still unbind the device from driver via sysfs, so we should not make driver's remove method as __exit. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 257bedd4f39d53ca41c5c8e3f8e0d805607ae661 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 10:36:38 2015 -0700 hwrng: pseries - remove incorrect __init/__exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Similarly probe() methods should not be marked __init unless platform_driver_probe() is used. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 87094a044ee894870d8784f51618a9b0d1fadc44 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 10:36:37 2015 -0700 hwrng: octeon - remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1ee9b5e4712948973f0065d944b1afeb50b4dccd Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 10:36:35 2015 -0700 hwrng: omap - remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 007ee8dec6843b3b491a4bb42320c0eb8e884f72 Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Mon Mar 9 16:14:58 2015 +0200 crypto: tcrypt - fix uninit sg entries in test_acipher_speed Commit 5be4d4c94b1f ("crypto: replace scatterwalk_sg_next with sg_next") did not consider the fact that scatterwalk_sg_next() was looking at sg entry length, while sg_next() looks at the "chained" sg bit. This should have no effect in theory. However in practice, there are cases where the sg table is initialized to a number of entries and some of them are not properly configured. While scatterwalk_sg_next() would have returned NULL (since sg length = 0 and sg page_link = 0), sg_next() happily returns the next unconfigured sg entry. insmod tcrypt.ko mode=500 sec=1 testing speed of async cbc(aes) (cbc-aes-talitos) encryption test 0 (128 bit key, 16 byte blocks): Unable to handle kernel paging request for data at address 0x00000000 Faulting instruction address: 0xc00d79e4 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=8 P1022 DS Modules linked in: tcrypt(+) talitos CPU: 0 PID: 2670 Comm: insmod Not tainted 4.0.0-rc1-QorIQ-SDK-V1.6+g904f1ca82209 #1 task: e8de3200 ti: e70bc000 task.ti: e70bc000 NIP: c00d79e4 LR: f92d223c CTR: c00d79c8 REGS: e70bda00 TRAP: 0300 Not tainted (4.0.0-rc1-QorIQ-SDK-V1.6+g904f1ca82209) MSR: 00029000 <CE,EE,ME> CR: 84428f22 XER: 00000000 DEAR: 00000000 ESR: 00000000 GPR00: f92d223c e70bdab0 e8de3200 00000000 e70bdbb8 00000001 00000000 00000000 GPR08: 00000000 00000000 c08b0380 27282010 c00d79c8 1003a634 00000000 e70bdf1c GPR16: e70bdef0 00000020 00000000 c08c0000 00000010 00000000 e70bdbb8 00000010 GPR24: e976d3a8 00000010 00000000 e70bdbd8 e8961010 00000001 c086e560 00000000 NIP [c00d79e4] page_address+0x1c/0x110 LR [f92d223c] talitos_map_sg+0x130/0x184 [talitos] Call Trace: [e70bdab0] [00000010] 0x10 (unreliable) [e70bdad0] [f92d223c] talitos_map_sg+0x130/0x184 [talitos] [e70bdb00] [f92d30d8] common_nonsnoop.constprop.13+0xc0/0x304 [talitos] [e70bdb30] [f933fd90] test_acipher_speed+0x434/0x7dc [tcrypt] [e70bdcc0] [f934318c] do_test+0x2478/0x306c [tcrypt] [e70bdd80] [f11fe058] tcrypt_mod_init+0x58/0x100 [tcrypt] [e70bdda0] [c0002354] do_one_initcall+0x90/0x1f4 [e70bde10] [c061fe00] do_init_module+0x60/0x1ac [e70bde30] [c00a79f0] load_module+0x185c/0x1f88 [e70bdee0] [c00a82b0] SyS_finit_module+0x7c/0x98 [e70bdf40] [c000e8b0] ret_from_syscall+0x0/0x3c Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b7b61cbebd789a3dbca522e3fdb727fe5c95593f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 11:58:45 2015 -0300 perf ordered_events: Shorten function signatures By keeping pointers to machines, evlist and tool in ordered_events. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0c6huyaf59mqtm2ek9pmposl@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fa713a4eb9cebe5dec71b1bd11429603e17d841d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 11:48:12 2015 -0300 perf ordered_events: Untangle from perf_session For use by tools that are not perf.data based, as maybe 'perf trace' in live mode. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-nedqe7cmii5w82etfi36urfz@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 079119a2c7c83506ad753e7b95e9ed253e9963f9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Mar 11 13:52:53 2015 +0200 serial, x86: use UPF_* constants for flags This patch fixes the following sparse warnings: drivers/tty/serial/8250/8250_core.c:3231:32: warning: incorrect type in assignment (different base types) drivers/tty/serial/8250/8250_core.c:3231:32: expected restricted upf_t [usertype] flags drivers/tty/serial/8250/8250_core.c:3231:32: got unsigned int const [unsigned] flags Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12fe59f975b9b36a17eced4c4d33911ee9bc9f7a Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 12:46:29 2015 -0300 serial: imx: Add braces to avoid ambiguous 'else' Commit 17b8f2a3fdca29 ("serial: imx: add support for half duplex rs485") introduced the following build warning: drivers/tty/serial/imx.c: In function 'imx_set_termios': drivers/tty/serial/imx.c:1301:7: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses] Add the suggested braces to avoid the build warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13bc2bb9a0075342707e853e6dac298f0bbca111 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 12:23:18 2015 -0300 serial: mctrl_gpio: Fix build warnings Fix the following build warnings: drivers/tty/serial/serial_mctrl_gpio.c: In function 'mctrl_gpio_init': drivers/tty/serial/serial_mctrl_gpio.c:110:4: warning: return makes pointer from integer without a cast return PTR_ERR(gpios->gpio[i]); ^ /home/build/work/batch/drivers/tty/serial/serial_mctrl_gpio.c:90:6: warning: unused variable 'err' [-Wunused-variable] int err; ^ Return ERR_CAST and remove the unused 'err' variable to fix them. Fixes: 1d267ea6539f ("serial: mctrl-gpio: simplify init routine") Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac25e8c72b34ad7853aad0b7008633217af0c1df Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 11:24:24 2015 -0300 serial: mxs-auart: Fix build error Commit 343fda95481a7254f ("serial: mxs-auart: properly handle mctrl_gpio failing") introduced the following build error: CC drivers/tty/serial/mxs-auart.o drivers/tty/serial/mxs-auart.c: In function 'mxs_auart_probe': drivers/tty/serial/mxs-auart.c:1282:3: error: unknown type name 'got' Fix it by providing a proper return code. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8e79ede44ec99e09f8604c23ee99dc25065a343 Author: Lu, Han <han.lu@xxxxxxxxx> Date: Tue Mar 10 10:41:22 2015 +0800 ASoC: Intel: add function to enable/disable sound effect module waves Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8c43fc2fdda0858879ee4dd7d7ed8e67890f699f Author: Lu, Han <han.lu@xxxxxxxxx> Date: Tue Mar 10 10:41:21 2015 +0800 ASoC: Intel: add function to load sound effect module waves Try to load module waves and allocate runtime blocks for it if the firmware image of module waves exists. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9449d39b990d6d3d6386fbb92f3b86c808157b47 Author: Lu, Han <han.lu@xxxxxxxxx> Date: Tue Mar 10 10:41:20 2015 +0800 ASoC: Intel: add function to load firmware image Add a general method to load firmware image, and apply to base firmware image loading. With the method, the driver will support loading multiple different modules in order to support different features. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 357635ae0133ae66c4eac5b9ad4879b15faa5be8 Merge: 11dd604 3fe0607 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Mar 11 12:53:41 2015 +0000 Merge branch 'fix/intel' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit 11dd60447e3b1018f9cae66737cb902b519d3454 Merge: 8d0c38a 9eccca0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Mar 11 12:53:25 2015 +0000 Merge tag 'v4.0-rc3' into asoc-intel Linux 4.0-rc3 commit 24ccea1ce6717b91bb1e71b12cfd956f8d32dcf3 Author: Gaetan Hug <ghug@xxxxxxxxx> Date: Wed Mar 11 13:08:12 2015 +0100 pwm: mxs: Fix period divider computation The driver computes which clock divider it sould be using from the requested period. This computation assumes that the link between the register value and the actual divider value is raising 2 to the power of the registry value. div = 1 << regvalue This is true only for the first 5 values out of 8. Next values are 64, 256 and, 1024 - instead of 32, 64, 128. This affects only the users requesting a period > 0.04369s. Replace the computation with a look-up table. Signed-off-by: Gaetan Hug <ghug@xxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit cc3c340d28b9f730fdc6bc5caa77e3bbd1e2377c Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Mar 11 11:42:45 2015 +0800 ASoC: rt5670: export jack suspend/resume APIs We force enable "Mic Det Power" when a jack is inserted. Also, we set codec idle_bias_off = true. As a result, codec driver will not suspend as we expect. On Braswell, we don't need the jack detection when suspend but need it after resume, so export the jack suspend/resume APIs which are provided for machine driver to control during suspend/resume. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3ef70543429b754dacc87fc68c30c2c34502337 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Mar 11 11:42:44 2015 +0800 ASoC: rt5670: Add IRQ function This patch adds the IRQ function support of rt5670. We use a flag named dev_gpio in platform data to inform codec driver if the IRQ function is used or not. Also, we export rt5670_set_jack_detect for machine driver to pass the jack point. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 530b7b4a52365ce2a250669b87e964a843bdbedb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:25:36 2015 +0000 ASoC: rsnd: add regmap_config::name for debugfs Renesas sound driver needs SSI/SRC/DVC regmaps, but it didn't have regmap_config::name for devm_regmap_init_mmio(). Thus, debugfs initialization code tried to use same driver name many times, and failed. This patch adds eacy own name for regmap_config::name Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8537483a17038f08c68c1f0a561f0fe686e5706f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:25:01 2015 +0000 ASoC: rsnd: recover PIO mode for new dma interface Renesas sound driver needs 1st/2nd DMA interface, and 1st DMA is using DMAEngine, and 2nd is using local method now. 2nd DMA had been DMAEngine, but it was moved to local method by previous patchset. But then, it lost PIO mode fallback when probe. this patch recovers it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6ec6fb6f231547834925ff802deb4415f49f708e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Mar 10 11:48:05 2015 +0100 ASoC: rsnd: Use %pad to print dma_addr_t in rsnd_dmapp_init() sound/soc/sh/rcar/dma.c: In function 'rsnd_dmapp_init': sound/soc/sh/rcar/dma.c:341:2: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t' [-Wformat=] dev_dbg(dev, "id/src/dst/chcr = %d/%x/%x/%08x\n", ^ sound/soc/sh/rcar/dma.c:341:2: warning: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'dma_addr_t' [-Wformat=] Fixes: 288f392e729dd4d3 ("ASoC: rsnd: add Audio DMAC peri peri support rework") Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4945f1fdc14ef090abe50d1b5682bfc1e4763c06 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Mar 11 12:50:15 2015 +0100 ALSA: seq: Fix init order of snd_seq_device stuff When the sequencer driver is built in kernel, it may panic at boot because of the uninitialized snd_seq_bus_type. Initialize it properly via subsys_initcall() instead of module_init() to assure that the bus is registered beforehand. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Fixes: 7c37ae5c625a ('ALSA: seq: Rewrite sequencer device binding with standard bus') Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 054d3e1f9a995e13b8be07482fe5c1c42655223d Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Fri Feb 20 16:58:18 2015 +0100 pwm: atmel-hlcdc: Add errata handling for sama5d4 sama5d4 SoC also has an errata on the HLCDC PWM. It is the same as the sama5d3 that is forbidding the use of div1 prescaler. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit c456fbb2b221d137e14857f143d64263262badfa Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:40:24 2015 +0100 pwm: pca9685: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 67d7bc487075a0155a6d6d477f266b5bb370a238 Author: Matt Porter <mporter@xxxxxxxxxxxx> Date: Mon Mar 9 09:24:21 2015 -0400 pwm: imx-pwm: add explicit compatible strings and required clock properties The imx-pwm binding contains language indicating compatible strings to be used that is not valid for all supported parts e.g. Should be "fsl,<soc>-pwm". Fix this by enumerating the valid compatible strings that represent the two versions of this peripheral in use. The binding is also missing the clocks/clock-names properties so document these, the two required ipg and per clocks, and add these properties to the example. Signed-off-by: Matt Porter <mporter@xxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 87c8b28d291de9999e9da2ef5d4165861983eb83 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Mar 11 08:55:51 2015 +0200 Bluetooth: Fix missing rcu_read_unlock() in hci_bdaddr_is_paired() When finding a matching LTK the rcu_read_unlock() function was failing to release the RCU read lock. This patch adds the missing call to rcu_reaD_unlock(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b5ceff202c4b4e81052b83853f33832a60cefae9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 14:35:20 2015 +0200 drm/atomic: Constify a bunch of functions pointer structs Make the helper function pointer structs const to make it clear they should not be modified. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit beb1c21b8ed4dc8aadead65885e89d60a727c54d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Mar 10 14:04:52 2015 -0700 Bluetooth: Increment management interface revision This patch increments the management interface revision due to introduction of new static address setting and fixes for the fast connectable feature. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bf906b3db3c2b4f5d4db1db5f35796629c531ac4 Author: Kim, Ben Young Tae <ytkim@xxxxxxxxxxxxxxxx> Date: Tue Mar 10 23:34:58 2015 +0000 Bluetooth: btusb: Fix incorrect type in qca_device_info While qca_device_info is not coming from outside communication, no reason to use specific endian type inside and fix the wrong version comparison on big-endian platform. Signed-off-by: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 03be70050c85768e9ce7c0d0887110d1b629e127 Merge: 3a656b5 7eb5f30 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Mar 11 12:15:06 2015 +1000 Merge tag 'topic/drm-misc-2015-03-10' of git://anongit.freedesktop.org/drm-intel into drm-next Another pile of misc drm patches all over, mostly polish for atomic. Last minute rebase was to avoid the broken merge. * tag 'topic/drm-misc-2015-03-10' of git://anongit.freedesktop.org/drm-intel: drm: Check in setcrtc if the primary plane supports the fb pixel format drm: Lighten sysfs connector 'status' drm/plane-helper: unexport drm_primary_helper_create_plane drm: Share plane pixel format check code between legacy and atomic drm: Fix trivial typos in comments drm/dp: add DPCD definitions from eDP 1.4 drm/dp: add DPCD definitions from DP 1.1 and 1.2a drm: Fixup racy refcounting in plane_force_disable drm/i915: Rotation property is now handled in DRM core drm: Complete moving rotation property to core drm/dp: add DPCD definitions from eDP 1.2 drm/dp: indentation and ordering cleanups drm/atomic-helper: Fix kerneldoc for prepare_planes drm: Remove redundant code in the getencoder ioctl commit f6906edeac16bb33b80d41fac84261767f18c14a Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Tue Mar 10 16:42:41 2015 -0700 hwmon: (gpio-fan) Fix build with CONFIG_THERMAL=m and SENSORS_GPIO_FAN=y Fix build error when CONFIG_THERMAL=m and SENSORS_GPIO_FAN=y by preventing that combination. Fixes these build errors: drivers/built-in.o: In function `gpio_fan_remove': gpio-fan.c:(.text+0x21e97e): undefined reference to `thermal_cooling_device_unregister' drivers/built-in.o: In function `gpio_fan_probe': gpio-fan.c:(.text+0x21efbc): undefined reference to `thermal_cooling_device_register' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Jean Delvare <jdelvare@xxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: lm-sensors@xxxxxxxxxxxxxx Cc: Simon Guinot <sguinot@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9557fe40750c19485ad0827783369db20405fec5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 22:40:04 2015 -0300 ARM: mx25: Remove platform code support files As mx25 is a dt-only platform, we can get rid of platform code support files, which are unused now. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 11b05d60c63f44b311651870825a8488576c5e85 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 22:40:03 2015 -0300 ARM: mx25: Convert to a dt-only platform As there is no more mx25 board files, we can turn mx25 into a dt-only platform. Rename imx25-dt.c to mach-imx25.c to be consistent with the other i.MX SoCs. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 3877942b0c7f36c82b2f05e84776b2dfe1afb784 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 22:40:02 2015 -0300 ARM: imx25: Remove eukrea mx25 board files eukrea mx25 is well supported in device tree, so let's get rid of its board files. Cc: Eric Bénard <eric@xxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 00eb60a8b4f7a4aa00fd8abd68c2dc7aec55df19 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 23 18:40:12 2015 +0100 ARM: imx6: gpc: Add PU power domain for GPU/VPU When generic pm domain support is enabled, the PGC can be used to completely gate power to the PU power domain containing GPU3D, GPU2D, and VPU cores. This code triggers the PGC powerdown sequence to disable the GPU/VPU isolation cells and gate power and then disables the PU regulator. To reenable, the reverse powerup sequence is triggered after the PU regulator is enabled again. The GPU and VPU devices in the PU power domain temporarily need to be clocked during powerup, so that the reset machinery can work. [Avoid explicit regulator enabling in probe, unless !PM] Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 58e4a668be82362c32577ef08e06c8a292e3a457 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 23 18:40:11 2015 +0100 Documentation: Add device tree bindings for Freescale i.MX GPC The i.MX6 contains a power controller that controls power gating and sequencing for the SoC's power domains. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 46dd8a809effdc7ebe6ec760e3e421d5ac2a40f1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:06:57 2015 +0100 ARM: shmobile: lager: Add da9063 PMIC device node for system restart Add a device node for the da9063 PMIC, with subnodes for rtc and wdt. Regulator support is not yet included. This allows the system to be restarted when the watchdog timer times out, or when a system restart is requested. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ceb7747993adcc40581629e4abb0d9ea7853e857 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:06:56 2015 +0100 ARM: shmobile: lager dts: Add da9210 regulator interrupt The da9210 regulator is connected to IRQ2. Reflect this in its device node, so the driver can use it when it gains interrupt support. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a6b422664597d7b9ca6cf441bc48cfe1a707cd3a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:06:55 2015 +0100 ARM: shmobile: koelsch: Add da9063 PMIC device node for system restart Add a device node for the da9063 PMIC, with subnodes for rtc and wdt. Regulator support is not yet included. This allows the system to be restarted when the watchdog timer times out, or when a system restart is requested. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4be7338df39037266da832f6598557cc4ca3de10 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:06:54 2015 +0100 ARM: shmobile: koelsch dts: Add da9210 regulator interrupt The da9210 regulator is connected to IRQ2. Reflect this in its device node, so the driver can use it when it gains interrupt support. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 663fbb52159cca6ffb049cb15b9f9d1cd7ad7d8a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 20:50:40 2015 +0100 ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator quirk The r8a7790/lager and r8a7791/koelsch development boards have da9063 and da9210 regulators. Both regulators have their interrupt request lines tied to the same interrupt pin (IRQ2) on the SoC. After cold boot or da9063-induced restart, both the da9063 and da9210 seem to assert their interrupt request lines. Hence as soon as one driver requests this irq, it gets stuck in an interrupt storm, as it only manages to deassert its own interrupt request line, and the other driver hasn't installed an interrupt handler yet. To handle this, install a quirk that masks the interrupts in both the da9063 and da9210. This quirk has to run after the i2c master driver has been initialized, but before the i2c slave drivers are initialized. As it depends on i2c, select I2C if one of the affected platforms is enabled in the kernel config. On koelsch, the following happens: - Cold boot or reboot using the da9063 restart handler: IRQ2 is asserted, installing da9063/da9210 regulator quirk ... i2c i2c-6: regulator_quirk_notify: 1, IRQC_MONITOR = 0x3fb i2c 6-0058: regulator_quirk_notify: 1, IRQC_MONITOR = 0x3fb i2c 6-0058: Detected da9063 i2c 6-0058: Masking da9063 interrupt sources i2c 6-0068: regulator_quirk_notify: 1, IRQC_MONITOR = 0x3fb i2c 6-0068: Detected da9210 i2c 6-0068: Masking da9210 interrupt sources i2c 6-0068: IRQ2 is not asserted, removing quirk - Warm boot (reset button): rcar_gen2_regulator_quirk: IRQ2 is not asserted, not installing quirk Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 63573339e7698503bfeaef3bb0c444ffc98e45a0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:40:27 2015 +0000 ARM: shmobile: r8a7791: sound enables Audio DMAC entry on DTSI This patch adds Audio DMAC (= rcar-dmac) entry for sound Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 118a509374f7791feee309946abccf2ce5609f16 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:40:13 2015 +0000 ARM: shmobile: r8a7790: sound enables Audio DMAC entry on DTSI This patch adds Audio DMAC (= rcar-dmac) entry for sound Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d73a5013ed61bc605374f72ce879a358feba7f3e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:39:55 2015 +0000 ARM: shmobile: r8a7791: enable Audio DMAC peri peri via sound driver Audio DMAC peri peri is no longer DMAEngine. it is supported by sound driver. this patch enable it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0c60267702244b8a6e62743a8e13a07823efbf6d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:39:39 2015 +0000 ARM: shmobile: r8a7790: enable Audio DMAC peri peri via sound driver Audio DMAC peri peri is no longer DMAEngine. it is supported by sound driver. this patch enable it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d88a6a2a2184b0f58c42dfda77fdda87ab28b6aa Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:39:18 2015 +0000 ARM: shmobile: r8a7791: add reg-names for sound Rensas R-Car sound driver supports reg-names. Let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 46a158f2ce965940f68ccb07ac8127e1091bebe8 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:39:01 2015 +0000 ARM: shmobile: r8a7790: add reg-names for sound Rensas R-Car sound driver supports reg-names. Let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit dab429a798a8ab3377136e09dda55ea75a41648d Author: David Kaplan <David.Kaplan@xxxxxxx> Date: Mon Mar 2 13:43:37 2015 -0600 kvm: svm: make wbinvd faster No need to re-decode WBINVD since we know what it is from the intercept. Signed-off-by: David Kaplan <David.Kaplan@xxxxxxx> [extracted from larger unlrelated patch, forward ported, tested,style cleanup] Signed-off-by: Joel Schopp <joel.schopp@xxxxxxx> Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 5cb56059c94ddfaf92567a1c6443deec8363ae1c Author: Joel Schopp <joel.schopp@xxxxxxx> Date: Mon Mar 2 13:43:31 2015 -0600 kvm: x86: make kvm_emulate_* consistant Currently kvm_emulate() skips the instruction but kvm_emulate_* sometimes don't. The end reult is the caller ends up doing the skip themselves. Let's make them consistant. Signed-off-by: Joel Schopp <joel.schopp@xxxxxxx> Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 169bf9121b19dd6029e0a354d33513f61bfbe3d3 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Tue Mar 10 12:23:34 2015 -0400 tipc: ensure that idle links are deleted when a bearer is disabled commit afaa3f65f65fda2e7b190aac7e2a75d9a2a77cb6 (tipc: purge links when bearer is disabled) was an attempt to resolve a problem that turned out to have a more profound reason. When we disable a bearer, we delete all its pertaining links if there is no other bearer to perform failover to, or if the module is shutting down. In case there are dual bearers, we wait with deleting links until the failover procedure is finished. However, this misses the case when a link on the removed bearer was already down, so that there will be no failover procedure to finish the link delete. This causes confusion if a new bearer is added to replace the removed one, and also entails a small memory leak. This commit takes the current state of the link into account when deciding when to delete it, and also reverses the above-mentioned commit. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ddb4b9a1328ea89733133e86cf1972d23891abfc Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Mar 10 14:39:34 2015 -0700 fib_trie: Address possible NULL pointer dereference in resize If the inflate call failed it would return NULL. As a result tp would be set to NULL and cause use to trigger a NULL pointer dereference in should_halve if the inflate failed on the first attempt. In order to prevent this we should decrement max_work before we actually attempt to inflate as this will force us to exit before attempting to halve a node we should have inflated. In order to keep things symmetric between inflate and halve I went ahead and also moved the decrement of max_work for the halve case as well so we take care of that before we actually attempt to halve the tnode. Fixes: 88bae714 ("fib_trie: Add key vector to root, return parent key_vector in resize") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 416377ea392823e8ea1f8a10477e7d08a9bb715e Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Tue Mar 10 18:33:49 2015 -0400 macb: Fix merge error. The code removed by commit 421d9df0628b ("net/macb: merge at91_ether driver into macb driver") should be removed in the merge resolution as well. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e74ac550298ec4635cc32e99f966568a808fd370 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 22:08:38 2015 +0100 Staging: sm750fb: provide error path for hw_sm750le_setBLANK() This provides a default path for the switch statement in hw_sm750le_setBLANK() so that the compiler will not correctly complain about undefined values being sent to the hardware. Instead, properly error out if the blank command is unknown by the driver. Cc: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Cc: Teddy Wang <teddy.wang@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c6f3fdc488296ea00ded8024dcfd7de13d2ca67 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 22:03:01 2015 +0100 Staging: sm750fb: fix hw_imageblit parameters Fix up hw_imageblit() so that the function paramaters match up with what the driver expects them to be when using it as a function pointer. Cc: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Cc: Teddy Wang <teddy.wang@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30061915be6e3a2c2a4bc4f22a229d4eb7b7cc65 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Tue Mar 10 16:12:32 2015 -0400 spi: spidev_test: Added input buffer from the terminal Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 31a5c5a72b90e074bd2377ada2bdfd506801ed72 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Tue Mar 10 16:12:31 2015 -0400 spi: spidev_test: Added verbose output Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b78ce7ed54093e5e63d4f5d7cbdc3f7d42ebbd5c Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Tue Mar 10 16:12:30 2015 -0400 spi: spidev_test: Cleaned hexadecimal dump Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 55e76b38986a61259f3079afd0f9a865651a34fe Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 10 22:34:40 2015 +0200 Bluetooth: Add 'Already Paired' error for Pair Device command To make the behavior predictable when attempting to pair with a device for which we already have a Link Key or Long Term Key, this patch adds a new 'Already Paired' error which gets sent in such a scenario. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8d0c38a3f2a6bb70e952f127ed817fc7a08db52c Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Mar 10 09:05:38 2015 +0800 ASoC: Intel: move sysclk source setting to platform_clock_control for balance. A playback noise happens after suspend/resume on Braswell. The issue is due to the codec PLL and codec ASRC are not enabled correctly due to the incorrect sysclk setting after resume. This patch resets the sysclk source setting in platform clock control widget handler. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ee1cd515e889d222f5a7397fead0a9db1214edea Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:32 2015 +0100 usb: gadget: printer: add configfs support Add support for configfs interface so that f_printer can be used as a component of usb gadgets composed with it. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a2a8e48a94c78c72b5dd1e4c8d190c5c54aca7a4 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:31 2015 +0100 usb: gadget: printer: use module_usb_composite_driver helper macro Substitute some boilerplate code with a dedicated macro. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d85dc4824c5793f4b71225d7ba5b50e737045830 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:30 2015 +0100 usb: gadget: f_printer: remove compatibility layer There are no old interface users left, so it can be removed. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 69504f808d6770940f1404b6f6f43c50cfe0be72 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:29 2015 +0100 usb: gadget: printer: convert to new interface of f_printer The goal is to remove the old function interface, so its (only) user must be converted to the new interface. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b26394bd567e5ebe57ec4dee7fe6cd14023c96e9 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:28 2015 +0100 usb: gadget: f_printer: convert to new function interface with backward compatibility In order to add configfs support, a usb function must be converted to use the new interface. This patch converts the function to the new interface and provides backward compatiblity layer, which can be removed after all its users are converted to use the new interface. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b185f01a9ab7af586133be2555298e960237359b Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:27 2015 +0100 usb: gadget: printer: factor out f_printer The legacy printer gadget now contains both a reusable printer function and legacy gadget proper implementations interwoven, but logically separate. This patch factors out a reusable f_printer. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6dd8c2e69521ec9d7b23a741294702f844353f1a Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:26 2015 +0100 usb: gadget: printer: allocate printer_dev instances dynamically With all the obstacles removed it is possible to allow more than one instance of the printer function. Since the function requires allocating character device region, a maximum number of allowed instances is defined. Such an approach is used in f_acm and in f_hid. With multiple instances it does not make sense to depend on a lock_printer_io member of a dynamically allocated (and destroyed) struct printer_dev to clean up after all instances of the printer function. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 636bc0ed271d996e18365345e9c00fc712edc610 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:25 2015 +0100 usb: gadget: printer: add req_match for printer function Verify that a given usb_ctrlrequest is meant for printer function. The following parts of the request are tested: - bmRequestType:Data transfer direction - bmRequestType:Type - bmRequestType:Recipient - bRequest - wValue for bRequest 1 and 2 - wLength Additionally, the request is considered meant for this function iff the decoded interface number matches dev->interface. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d7239f4c6daeb7a987a0e6f37a3ea24b37f7c208 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:24 2015 +0100 usb: gadget: printer: name class specific requests Avoid using magic numbers. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f563d230903210acc2336af58e422216b68ded76 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:23 2015 +0100 usb: gadget: composite: add req_match method to usb_function Non-standard requests can encode the actual interface number in a non-standard way. For example composite_setup() assumes that it is w_index && 0xFF, but the printer function encodes the interface number in a context-dependet way (either w_index or w_index >> 8). This can lead to such requests being directed to wrong functions. This patch adds req_match() method to usb_function. Its purpose is to verify that a given request can be handled by a given function. If any function within a configuration provides the method and it returns true, then it is assumed that the right function is found. If a function uses req_match(), it should try as hard as possible to determine if the request is meant for it. If no functions in a configuration provide req_match or none of them returns true, then fall back to the usual approach. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 143d53e10ecfeee7245341aa9c50515b5680ffd4 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:22 2015 +0100 usb: gadget: printer: add container_of helper for printer_dev 5 uses of container_of() in the same context justify wrapping it in a static inline function. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8fe20f661f3cfbb6778368eb3c73f8a6438ac640 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:21 2015 +0100 usb: gadget: printer: don't access file global usb_printer_gadget in function's code The printer_dev can be recovered from printer_func_unbind() function's parameters. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit dec81cf1dcaac5b91de7cd32c96aadcb94840c7f Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:20 2015 +0100 usb: gadget: printer: eliminate file global printer_mutex The mutex is a legacy after semi-automatic Big Kernel Lock removal. printer_open() does its own locking, so no need to duplicate it. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a844715d2fc44adc2da17f90b34cc0d0c1e81596 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:19 2015 +0100 usb: gadget: printer: call gprinter_setup() from gadget's bind Call gprinter_setup() from gadget's bind instead of module's init. Call gprinter_cleaup() corerspondingly. This detaches printer function's logic from legacy printer gadget's implementation. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d82cd82edb98d727c6a0804a6e271e3081559404 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:18 2015 +0100 usb: gadget: printer: add setup and cleanup functions Factor out gprinter_setup() and gprinter_cleanup() so that it is easy to change the place they are called from. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5a84e6f608598dd691c0024eab50fffb96aca43b Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:17 2015 +0100 usb: gadget: printer: don't access file global pnp_string in function's code In order to factor out a reusable f_printer, the function's code should not use file global variables related to legacy printer gadget's implementation. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 085617a1eb865c2987c05652bf82d35f500ac4b4 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:16 2015 +0100 usb: gadget: printer: define pnp string buffer length Avoid using magic numbers. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 991cd26249e775c07347ab4d62adfbc3284e7704 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:15 2015 +0100 usb: gadget: printer: move function-related unbind code to function's unbind In order to factor out a reusable f_printer.c, the code related to the function should be placed in functions related to the function. printer_cfg_unbind() becomes empty, so it is removed. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cee5cbff8d80ec2d10fe8070f229e95cc42443bf Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:14 2015 +0100 usb: gadget: printer: call usb_add_function() last Conversion to the new function interface requires splitting a <something>_bind_config() function into two parts: allocation of container_of struct usb_function and invocation of usb_add_function(). This patch moves the latter to the end of the f_printer_bind_config() in order to enable conversion to the new interface. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4504b5a0b22e26a7213d9e08706303a790f5a400 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:13 2015 +0100 usb: gadget: printer: move function-related bind code to function's bind In order to factor out a reusable f_printer.c, the code related to the function should be placed in functions related to the function. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ae2dd0de57a3f6b12e30e5552033a492d6d206f7 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:12 2015 +0100 usb: gadget: printer: standardize printer_do_config Follow the convention of distributing source code between <something>_do_config() and <something>_bind_config(). Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 406be2ccbadb5652f5894078d0e025d90683b3e9 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:11 2015 +0100 usb: gadget: printer: follow the naming convention for usb_add_config callback Legacy gadgets, before converting them to the new function framework, used to use the name <something>_do_config() for usb_add_config()'s callback. This patch changes the name so that it is easier to follow the convention. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 44eccced2b9aafd1eced9fb4821f26b6dff26a25 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:10 2015 +0100 usb: gadget: printer: eliminate pdev member of struct printer_dev The pdev member of struct printer_dev is not used outside printer_bind_config(), so it can just as well be a local variable there. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 44b316525986252bb95d356419fc9e75f0532112 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:09 2015 +0100 usb: gadget: printer: add missing error handling If cdev_add() in printer_bind_config() fails, care is taken to reverse the effects of initializations completed until the fail happens. But if printer_req_alloc() fails, it is just one of the two lists that is cleaned up while the effects of cdev_add() and device_create() are not reverted. This patch changes error handling so that at least as much cleanup is done as when a failure happens before printer_req_alloc() invocations. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f5bda0034fba942adf5555246e248ddb66c76052 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:08 2015 +0100 usb: gadget: printer: revert usb_add_function() effect in error recovery Whenever the "goto fail" branch is taken, the effect of usb_add_function() should be reverted. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c69b8186945c10d245586e9f9703486e9574170c Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:07 2015 +0100 usb: gadget: printer: eliminate random pointer dereference struct printer_dev contains 3 list heads: tx_reqs, rx_reqs and rx_buffers. There is just one instance of this structure in the driver and it is file static, and as such initialized with all zeros. If device_create() or cdev_add() fails then "goto fail" branch is taken, which results in printer_cfg_unbind() call. The latter checks if tx_reqs, rx_reqs and rx_buffers lists are empty. The check for emptiness is in fact a check whether the "next" member of struct list_head points to the head of the list. But the heads of the lists in question have not been initialized yet and, as mentioned above, contain all zeros, so list_empty() returns false and respective "while" loop body starts executing. Here, container_of() just subtracts the offset of a struct usb_request member from an address of this same member, which results in a value somewhere near 0 or 0xfff...ff. And the argument to list_del() dereferences such a pointer which causes a disaster. This patch moves respective INIT_LIST_HEAD() invocations to a point before "goto fail" branch can be taken. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 050f571264154b2f5b4c3c4c1581ab365064ff28 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:06 2015 +0100 usb: gadget: printer: remove unused and empty printer_unbind The unbind() method is optional is usb_composite_driver. In this particular driver the method does nothing so it can be removed. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit eb132ccbdec5df46e29c9814adf76075ce83576b Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:05 2015 +0100 usb: gadget: printer: enqueue printer's response for setup request Function-specific setup requests should be handled in such a way, that apart from filling in the data buffer, the requests are also actually enqueued: if function-specific setup is called from composte_setup(), the "usb_ep_queue()" block of code in composite_setup() is skipped. The printer function lacks this part and it results in e.g. get device id requests failing: the host expects some response, the device prepares it but does not equeue it for sending to the host, so the host finally asserts timeout. This patch adds enqueueing the prepared responses. Cc: <stable@xxxxxxxxxxxxxxx> # v3.4+ Fixes: 2e87edf49227: "usb: gadget: make g_printer use composite" Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 232c0102e84b7fce634c8902a5fa30ca2b3342ac Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:04 2015 +0100 usb: gadget: composite: don't try standard handling for non-standard requests If a non-standard request is processed and its parameters just happen to match those of some standard request, the logic of composite_setup() can be fooled, so don't even try any switch cases, just go to the proper place where unknown requests are handled. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit eac68e8f979b82d257eea0a4bbcda7b169d330bf Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Mar 9 15:06:12 2015 +0100 usb: dwc3: make LPM configurable in DT This patch removes "Enable USB3 LPM Capability" option from Kconfig and adds snps,usb3_lpm_capable devicetree property instead of it. USB3 LPM (Link Power Management) capability is hardware property, and it's platform dependent, so if our hardware supports this feature, we want rather to configure it in devicetree than having it as Kconfig option. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ad78c918602cb7cce0fab5d5813213853a6f351d Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 19:07:49 2015 -0600 usb: musb: dsps: just start polling already there's no need to fake an IRQ, just check if VBUS is valid already. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9e204d885a6d0ae3696284bacd86e2b94dd936c8 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 19:02:41 2015 -0600 usb: musb: dsps: use msecs_to_jiffies instead when polling, we were using n * HZ (where n is an integer in seconds), however HZ isn't always correct if we're using cpufreq. A better way is to use msecs_to_jiffies(n) (where n is now an integer in miliseconds). while at that, also rename poll_seconds to poll_timeout and change its type to unsigned int. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 043f5b75dd2b1fbd45d5f367d50e5ae5b4afa955 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 13:22:27 2015 -0600 usb: musb: cppi41: do not call udelay() according to comment in code, HS completion will happen pretty fast, instead of using udelay(), let's just busy loop and drop a cpu_relax() where udelay() was. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit af63429cf046210d7313805b579dd779d10ad1c0 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 13:21:14 2015 -0600 usb: musb: cppi41: exit early when tx fifo is empty as soon as we find out tx fifo is empty, there's no need to break out of the loop just to have another branch to complete the transfer. We can just complete transfer and exit early. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1b61625f8b5d87caf9633d7dbfbaf1ea8270036d Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 13:19:39 2015 -0600 usb: musb: cppi41: decrease indentation level no functional changes, clean up only. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ccf5fb698155ee289b9257b0f1d6be3c7900ba0a Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 09:44:51 2015 -0600 usb: gadget: net2280: silence sparse warning Silence the following warning: drivers/usb/gadget/udc/net2280.c:3176:33: warning: context imbalance in 'handle_stat1_irqs' - unexpected unlock Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 12366ef1942128d9bd8baa77e7eb4010b18fd676 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Feb 2 10:55:26 2015 +0100 usb: gadget: net2280: don't connect from udc_start net2280_start can be called with pullup disabled. Don't set softconnect flag in it. Let net2280_pullup handle the connection part. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9ceafcc2b3ad48ad2ef42608f1505ecad515d144 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Feb 2 10:55:25 2015 +0100 usb: gadget: net2280: print error in ep_ops error paths Hopefully, these prints will help localize the problems faster. [ balbi@xxxxxx: removed 2 unnecessary OOM error messages ] Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fb2a85dd933c2793f5aabeb84af8b3bc00c0c968 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Feb 2 10:55:24 2015 +0100 usb: gadget: net2280: remove fiforegs as it is unused Remove fiforegs from struct net2280 and net2280_ep as it is unused. By the way, ep->fiforegs = &dev->fiforegs[i] assignment is incorrect. It should be ep->fiforegs = &dev->fiforegs[ne[i]], but it doesn't matter now. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a285f40d80d440853ac908017d6d949ae2a7f88e Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Feb 2 10:55:23 2015 +0100 usb: gadget: net2280: use ep_autoconfig compatible names in advance mode Each struct usb_ep added for net2280 can be used in either direction. Whereas, each struct usb_ep for usb3380 has fixed direction. Use ep_autoconf compatible names so that endpoint with correct direction can be selected. Name sequence is due to the logic in usb_reinit_338x() in ne[] and ep_reg_addr[]. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 34754dec8ab83799a0a37f2a7ada8ce1e53d174b Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:43:57 2015 -0600 usb: musb: core: always try to recover from babble we can also have babble conditions with LS/FS and we also want to recover in that case. Because of that we will drop the check of HSMODE and always try to run babble recovery. Suggested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0244336f812583299291e18b69a75be5674e819f Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:42:19 2015 -0600 usb: musb: core: disable irqs inside babble recovery There's no point is splitting those anymore. We're now also able to drop another forward declaration. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 06753fe115c517b715616ef7ef4f56b1b46ecc69 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:33:41 2015 -0600 usb: musb: core: remove unnecessary forward declaration no functional changes, cleanup only. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 83b8f5b8c07c8cbad8c14c7b8767e7219a6c1813 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:27:12 2015 -0600 usb: musb: core: drop recover_work that's not needed anymore. Everything that we call is irq-safe, so we might as well not have a delayed work for babble recovery. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b28a6432405ca95b3da25630d79d2463c754a79c Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:20:58 2015 -0600 usb: musb: rename ->reset() to ->recover() recover is a much better name than reset, considering we don't really reset the IP, just run platform-specific babble recovery algorithm. while at that, also fix a typo in comment and add kdoc for recover memeber of platform_ops. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b4dc38fd45b63e3da2bc98db5d283a15a637a2fa Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:02:35 2015 -0600 usb: musb: core: simplify musb_recover_work() we're not resetting musb at all, just restarting the session. This means we don't need to touch PHYs or VBUS or anything like that. Just make sure session bit is reenabled after MUSB dropped it. while at that, make sure to tell usbcore that we're dropping the session and, thus, disconnecting the device. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 011d0dd5400b84e593eecfc4a17fcfb6c0c5ac60 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:00:52 2015 -0600 usb: musb: dsps: do not reset musb on babble All we have to do is, really, drop session bit and let the session restart. Big thanks goes to Bin Liu <b-liu@xxxxxx> for inspiring this work. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d5fa3e9f7398adf337f03fa3257d5e9b214078ee Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:35:13 2015 -0600 usb: musb: core: decrease delayed_work time When babble IRQ happens, we need to wait only 5.3us (320 cycles of 60MHz clock), we will give it some slack and schedule our work a 10 usecs into the future. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ba7ee8bb313c4a55066c4da30292aeb9abac82d8 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:31:49 2015 -0600 usb: musb: don't touch devctl from babble recovery We do *not* want to touch devctl at all when trying to recover from babble. All we want to do is mask IRQs until we're done without our babble recovery, at which point we will unmask IRQs. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e1eb3eb8b02c5be35ea1fedccc6c9c6d2c9b0165 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:26:09 2015 -0600 usb: musb: core: refactor IRQ enable/disable to separate functions sometimes we want to just mask/unmask interrupts without touching devctl register. For those cases, let's introduce musb_enable_interrupts and musb_disable_interrupts() Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3709ffca6485bd1b03b1fe2d9eb384dcf5db87a6 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:11:33 2015 -0600 usb: musb: dsps: add dsps_ prefix to sw_babble_control this makes it easier to filter function traces. No functional changes. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a67cab72b87c7bb970bec8bc060a8946c5dfa1c5 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:09:20 2015 -0600 usb: musb: core: controller drops session automatically Whenever babble happens, MUSB controller will drop session automatically. The only case where it won't drop the session, is when we're running on AM335x and SW_SESSION_CTRL bit has been set. In that case, controller will not touch session bit so SW has a chance to recover from babble condition. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f860f0b1ea76b9f15d24db8fa98823eb15273afb Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:01:03 2015 -0600 usb: musb: dsps: check for the single bit We want to check if that particular bit is set. It could very well be that bootloader (or romcode) has fiddled with MUSB before us which could leave other bits set in this register. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 52b9e6eb07f739207bd7d4257fdfbb24592d096a Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 16:04:39 2015 -0600 usb: musb: dsps: remove babble check from dsps irq handler musb->int_usb already contains the correct information for musb-core to handle babble. In fact, this very check was just causing a nonsensical babble interrupt storm. With this I can get test.sh to run and, even though all tests fail with timeout, that's still better than locking up the system due to IRQ storm. Also, if I remove g_zero and load g_mass_storage, then everything works fine again. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b2c7361bd07f94e6280507a20e0541870d5d7a1a Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:48:50 2015 -0600 usb: musb: core: there is no connect interrupt in peripheral mode MUSB does not generate a connect IRQ when working in peripheral mode. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 46571889ec435f1bf29d9094f062948b26630723 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:30:55 2015 -0600 usb: musb: core: remove unnecessary reg access from resume IRQ when musb is operating as host and a remote wakeup fires up, a resume interrupt will be raised. At that point SUSPENDM bit is automatically cleared and RESUME bit is automatically set. Remove those two from IRQ handler. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0acff6b83106ef699f17828caea6545bcc716f14 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:14:15 2015 -0600 usb: musb: core: break long line no functional changes, clean up only. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d0fc0a20b5b7babe0fe1552204bd52505a4f93dd Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:07:52 2015 -0600 usb: musb: core: move babble recovery inside babble check There was already a proper place where we were checking for babble interrupts, move babble recovery there. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d0cddae7926f39e8fd488f62496cfebf7a5e757d Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 10:55:13 2015 -0600 usb: musb: dsps: return error code if reset fails if reset fails, we should return a *negative* error code, not a positive value. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 28378d5ed5ca1221479d2f94c3b346691834822f Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 10:54:27 2015 -0600 usb: musb: core: fix highspeed check FSDEV is set for both HIGH and FULL speeds, the correct HIGHSPEED check is done through power register's HSMODE bit. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d57a27711939dcb289b3d17ac48fca99f0fd245d Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:05:15 2015 -0600 usb: musb: core: add missing curly braces no functional changes, clean up only. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 896f7ea37f53666a72080d0958213d12ae59deaa Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:03:23 2015 -0600 usb: musb: core: remove unnecessary logical comparison devctl & MUSB_DEVCTL_HM represents a single bit, just check for the bit, there's really no need to compare the result against 0. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ab7580c1479f9cc9d6a70a5184687a4d807fc612 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu Feb 26 11:47:57 2015 +0000 usb: isp1760: add peripheral/device controller chip id As per the SAF1761 data sheet[0], the DcChipID register represents the hardware version number (0001h) and the chip ID (1582h) for the Peripheral Controller. However as per the ISP1761 data sheet[1], the DcChipID register represents the hardware version number (0015h) and the chip ID (8210h) for the Peripheral Controller. This patch adds support for both the chip ID values. [0] http://www.nxp.com/documents/data_sheet/SAF1761.pdf [1] http://pdf.datasheetcatalog.com/datasheets2/74/742102_1.pdf Cc: Felipe Balbi <balbi@xxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit adf9c3c85615f41c08559086e0d9ecdc6cc9db71 Author: Joseph Kogut <joseph.kogut@xxxxxxxxx> Date: Mon Feb 16 19:32:46 2015 -0700 usb: move definition of PCI_VENDOR_ID_SYNOPSYS to linux/pci_ids.h Removed FIXME from usb/dwc3/dwc3-pci.c by moving definition of PCI_VENDOR_ID_SYNOPSYS shared with usb/dwc2 to linux/pci_ids.h. Signed-off-by: Joseph Kogut <joseph.kogut@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 25140ce627f43df1d425d591ac3d360b48ae24e1 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:37 2015 -0800 usb: gadget: udc: pxa27x_udc: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") While there, simplify the error handler logic by returning immediately and remove the unnecessary labels. Tested-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bf2fbc2a12b42a1d3fd38b1da24cd4250df4f3ab Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 21:29:38 2015 +0100 Staging: sm750fb: fix build warning with lynx_accel Change the return value of lynx_accel to be void, to fix the build warning, and due to the fact that the function can't seem to fail at all, and no one cares if it does or not. Cc: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Cc: Teddy Wang <teddy.wang@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx commit 3009de604831e6dd908c39c05fd063bd668edb0e Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 21:20:52 2015 +0100 Staging: sm750fb: fix build warning with proc_panDisplay Change the options to the proc_panDisplay function pointer to match the function pointer that we want to assign to it, in order to remove the build warning. Cc: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Cc: Teddy Wang <teddy.wang@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx commit 3ec320dd5c9465fbed3c84dd14ed3941ce757823 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Mar 10 11:25:41 2015 -0700 fib_trie: Correctly handle case of key == 0 in leaf_walk_rcu In the case of a trie that had no tnodes with a key of 0 the initial look-up would fail resulting in an out-of-bounds cindex on the first tnode. This resulted in an entire trie being skipped. In order resolve this I have updated the cindex logic in the initial look-up so that if the key is zero we will always traverse the child zero path. Fixes: 8be33e95 ("fib_trie: Fib walk rcu should take a tnode and key instead of a trie and a leaf") Reported-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8b0dced35e60a857e893648308e056915ffed4a Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Tue Mar 10 15:25:47 2015 +0000 staging: sm750fb: Cleanup the type of mmio750 This patch assigns the more appropriate void* type to the mmio750 variable eliminating an unnecessary volatile qualifier in the process. Additionally it updates parameter types as necessary where those parameters interact with mmio750, removes unnecessary casts and updates the type of the lynx_share->pvReg field which is passed to the ddk750_set_mmio method. As a consequence, this patch fixes the following sparse warning:- drivers/staging/sm750fb/ddk750_help.c:12:17: warning: incorrect type in assignment (different address spaces) Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a99e334da16ce81163db0e47ec22469a79a91b72 Author: Madhusudhanan Ravindran <mravindran04@xxxxxxxxx> Date: Tue Mar 10 23:07:39 2015 +0530 staging: sm750fb: Use kzalloc rather than kmalloc followed by memset with 0 The semantic patch that makes this change is available in scriptcoccinelle/api/alloc/kzalloc-simple.cocci. Signed-off-by: Madhusudhanan Ravindran <mravindran04@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fa96e39279988bde14cb6cf6cd0440185f2dae4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 22:46:57 2015 +0530 staging: sm750fb: correct integer comparison fixed the build warning about comparison of pointer and integer. end of string was being compared to NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06a1bf813607ceb836d2b4b7c415a187253ea4ad Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 22:46:56 2015 +0530 staging: sm750fb: fix mixed declarations we were getting build warning about mixed declaration. the variable is now declared at the beginning of the block. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54a1a05fe270f87e755732a47f693de870d0ffec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 22:46:54 2015 +0530 staging: sm750fb: correct function return hw_cursor_setData2() is a function with void return type but it was returning an integer. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 041d3a42e7d823e89b593d47338d6840b38cbcd3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 22:46:53 2015 +0530 staging: sm750fb: remove unused variables removed some variables which were only declared but were never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4933b29bd4e007a0544c97ea47fa0a091c5fec53 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 22:46:52 2015 +0530 staging: sm750fb: remove unused functions removed the functions which were not used anywhere. it has been build tested also confirmed with git grep that there is no other reference of these functions. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 406ef2a67bd0bb13d77d5e5d700e36a2caea09ae Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 10 20:14:27 2015 +0200 Bluetooth: Make Fast Connectable available while powered off To maximize the usability of the Fast Connectable feature we should make it possible to set (or unset) it at any given moment. This means removing the dependency on the 'connectable' setting as well as the 'powered' setting. The former makes also sense since page scan may get enabled through add_device even if 'connectable' is false. To keep the setting available over power cycles its flag also needs to be removed from the flags that are cleared upon HCI_Reset. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7c23aaf2eacdd10825237160cb8005efd7222061 Merge: 3855634 34160ea Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 10 13:45:33 2015 -0400 Merge branch 'inet_diag_cleanups' Eric Dumazet says: ==================== inet_diag: cleanups and improvements Before changing way request socks are dumped, let's clean up this code a bit. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34160ea3f9c96b5ae71a11459f9b9f6c298b8930 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 10 07:15:54 2015 -0700 inet_diag: add const to inet_diag_req_v2 diag dumpers should not modify the request. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e31c5e0e486226e0808a2e90a7af40daa084ed09 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 10 07:15:53 2015 -0700 inet_diag: cleanups Remove all inline keywords, add some const, and cleanup style. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 491da2a477077357c8206a601559e2ea58f224db Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 10 07:15:52 2015 -0700 net: constify sock_diag_check_cookie() sock_diag_check_cookie() second parameter is constant Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3855634deb051bbce155d149bca05b99a3528d5d Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 04:56:53 2015 +0100 drivers: atm: nicstar: remove ifdef'd out skb destructors remove dead code. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 515fb5c317db991e2f9877936b3b21a35c1d3190 Merge: 59e33c2 1a4ba64 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 10 12:48:47 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter fixes for net-next The following batch contains a couple of fixes to address some fallout from the previous pull request, they are: 1) Address link problems in the bridge code after e5de75b. Fix it by using rcu hook to address to avoid ifdef pollution and hard dependency between bridge and br_netfilter. 2) Address sparse warnings in the netfilter reject code, patch from Florian Westphal. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90c6e608e737e387e88aa789c7b4e1f6dfdc4822 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Mar 9 13:45:02 2015 -0700 ARM: dts: cygnus: enable GPIO based hook detection This enables GPIO based phone hook detection for Broadcom BCM911360 phone factor board (bcm911360_entphn) Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 5fa4b29c71b204b7258a8130020d574e033f4015 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Mar 9 13:45:01 2015 -0700 ARM: dts: enable GPIO for Broadcom Cygnus This enables all 3 GPIO controllers including the ASIU GPIO, the chipcommonG GPIO, and the ALWAYS-ON GPIO, for Broadcom Cygnus SoC Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit e6a4e5d50b3eea42220e50d64006fe5baacf654c Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Mar 9 13:44:58 2015 -0700 ARM: dts: enable IOMUX for Broadcom Cygnus This enables the IOMUX support for Broadcom Cygnus SoC Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Tested-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 5c7784b9d64027145ce4dee2b488c8c11af732cc Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 14:15:39 2015 +0530 staging: sm750fb: fix build failure for powerpc-allyesconfig build failed with an error of g_option undeclared. we will get this error on all architecture if MODULE is not defined. fixed the declaration of g_option. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 848f2fce7b2713d853eaa7f32b31bb9ffe89e2ce Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 14:15:38 2015 +0530 staging: sm750fb: fix undeclared function kbuild test robot reported that for microblaze-allyesconfig chan_to_field() and lynxfb_ops_set_par() were not defined. These two functions were defined under CONFIG_PM, so for any archtecture if CONFIG_PM is not defined we will have this error. while moving the lynxfb_suspend() function some very obvious checkpatch errors, like space after comma, space after if, space before opening brace, were taken care of. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62fa8e1014f0ca6abd4ec0e9cfcaeb6e6601bbb6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 14:15:37 2015 +0530 staging: sm750fb: correctly define SM750LE_REVISION_ID check if it is already defined before defining SM750LE_REVISION_ID again and at the same time mention correct data type. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c97df7c2c0692ebed4eff9abaf61a8e12cc250ed Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 14:15:36 2015 +0530 staging: sm750fb: remove pragma optimize remove use of #pragma optimize which will usually be ignored by the compiler. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec0e9937aaa8b0a4b0633711c4d70d622acd9a7f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 10 15:42:14 2015 +0100 ALSA: core: Drop superfluous error/debug messages after malloc failures The kernel memory allocators already report the errors when the requested allocation fails, thus we don't need to warn it again in each caller side. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 24db8bbaa3fcfaf0c2faccbff5864b58088ac1f6 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 10 15:41:18 2015 +0100 ALSA: seq: Drop superfluous error/debug messages after malloc failures The kernel memory allocators already report the errors when the requested allocation fails, thus we don't need to warn it again in each caller side. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8d98a0673f761f9b7be51a293ca9142ec0c037ca Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 10 15:39:55 2015 +0100 ALSA: seq_oss: Drop superfluous error/debug messages after malloc failures The kernel memory allocators already report the errors when the requested allocation fails, thus we don't need to warn it again in each caller side. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2225e79b9b0370bc179f44756bee809b5e7b4d06 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Mar 10 22:13:31 2015 +0900 ALSA: core: reduce stack usage related to snd_ctl_new() The callers of snd_ctl_new() need to have 'struct snd_kcontrol' data, and pass the data as template. Then, the function allocates the structure data again and copy from the template. This is a waste of resources. Especially, the callers use large stack for the template. This commit removes a need of template for the function, thus, changes the prototype of snd_ctl_new(). Furthermore, this commit changes the code of callers, snd_ctl_new1() and snd_ctl_elem_add() for better shape. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4ed56666b7fc98c750a23b5263350b75e742b534 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Mar 10 22:13:30 2015 +0900 ALSA: core: use precomputed table to check userspace control params The parameters can be decided in compile time. This commit adds precomputed table to reduce calculating time. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1a4ba64d16a42c1b31d52b671accd7f9103e2626 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Mar 10 10:27:18 2015 +0100 netfilter: bridge: use rcu hook to resolve br_netfilter dependency e5de75b ("netfilter: bridge: move DNAT helper to br_netfilter") results in the following link problem: net/bridge/br_device.c:29: undefined reference to `br_nf_prerouting_finish_bridge` Moreover it creates a hard dependency between br_netfilter and the bridge core, which is what we've been trying to avoid so far. Resolve this problem by using a hook structure so we reduce #ifdef pollution and keep bridge netfilter specific code under br_netfilter.c which was the original intention. Reported-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a03a8dbe20eff6d57aae3147577bf84b52aba4e6 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Mar 9 23:04:15 2015 +0100 netfilter: fix sparse warnings in reject handling make C=1 CF=-D__CHECK_ENDIAN__ shows following: net/bridge/netfilter/nft_reject_bridge.c:65:50: warning: incorrect type in argument 3 (different base types) net/bridge/netfilter/nft_reject_bridge.c:65:50: expected restricted __be16 [usertype] protocol [..] net/bridge/netfilter/nft_reject_bridge.c:102:37: warning: cast from restricted __be16 net/bridge/netfilter/nft_reject_bridge.c:102:37: warning: incorrect type in argument 1 (different base types) [..] net/bridge/netfilter/nft_reject_bridge.c:121:50: warning: incorrect type in argument 3 (different base types) [..] net/bridge/netfilter/nft_reject_bridge.c:168:52: warning: incorrect type in argument 3 (different base types) [..] net/bridge/netfilter/nft_reject_bridge.c:233:52: warning: incorrect type in argument 3 (different base types) [..] Caused by two (harmless) errors: 1. htons() instead of ntohs() 2. __be16 for protocol in nf_reject_ipXhdr_put API, use u8 instead. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1170adc6dd9e94d3cefb6eefe1f44b308d882515 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:26 2015 +0800 KVM: Use pr_info/pr_err in kvm_main.c WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ... + printk(KERN_INFO "kvm: exiting hardware virtualization\n"); WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ... + printk(KERN_ERR "kvm: misc device register failed\n"); Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 20e87b72244f922f420d83b0b15b42d17b92acae Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:25 2015 +0800 KVM: Fix indentation in kvm_main.c ERROR: code indent should use tabs where possible + const struct kvm_io_range *r2)$ WARNING: please, no spaces at the start of a line + const struct kvm_io_range *r2)$ This patch fixes this ERROR & WARNING to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit b7d409deb9322138d031c2122d1fcba9af9c508c Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:24 2015 +0800 KVM: no space before tabs in kvm_main.c WARNING: please, no space before tabs + * ^I^Ikvm->lock --> kvm->slots_lock --> kvm->irq_lock$ WARNING: please, no space before tabs +^I^I * ^I- gfn_to_hva (kvm_read_guest, gfn_to_pfn)$ WARNING: please, no space before tabs +^I^I * ^I- kvm_is_visible_gfn (mmu_check_roots)$ This patch fixes these warnings to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit f95ef0cd0257852198b31ffeb527ef2f72caa1aa Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:23 2015 +0800 KVM: Missing blank line after declarations in kvm_main.c There are many Warnings like this: WARNING: Missing a blank line after declarations + struct kvm_coalesced_mmio_zone zone; + r = -EFAULT; This patch fixes these warnings to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit ee543159d5e0cfa9f3a349ac4e3da01a0ec66c78 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:22 2015 +0800 KVM: EXPORT_SYMBOL should immediately follow its function WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable +EXPORT_SYMBOL_GPL(gfn_to_page); This patch fixes these warnings to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit f4fee93270abbf862aab268111ac1e12934130c4 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:21 2015 +0800 KVM: Fix ERROR: do not initialise statics to 0 or NULL in kvm_main.c ERROR: do not initialise statics to 0 or NULL +static int kvm_usage_count = 0; The kvm_usage_count will be placed to .bss segment when linking, so not need to set it to 0 here obviously. This patch fixes this ERROR to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit a642a1756752421e5f6661d951943b53225c03eb Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:20 2015 +0800 KVM: Fix WARNING: labels should not be indented in kvm_main.c WARNING: labels should not be indented + out_free_irq_routing: This patch fixes this WARNING to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 893bdbf16574e781504ea2a767ff8919d1394e52 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:19 2015 +0800 KVM: Fix WARNINGs for 'sizeof(X)' instead of 'sizeof X' in kvm_main.c There are many WARNINGs like this: WARNING: sizeof tr should be sizeof(tr) + if (copy_from_user(&tr, argp, sizeof tr)) In kvm_main.c many places are using 'sizeof(X)', and the other places are using 'sizeof X', while the kernel recommands to use 'sizeof(X)', so this patch will replace all 'sizeof X' to 'sizeof(X)' to make them consistent and at the same time to reduce the WARNINGs noise when we are checking new patches. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 548ef28449c0c06f92194c40ff0eaed248cb4b75 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 21:29:25 2015 +0100 KVM: Get rid of kvm_kvfree() kvm_kvfree() provides exactly the same functionality as the new common kvfree() function - so let's simply replace the kvm function with the common function. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 0fa9778895635ab3824caf34fd573562dd2b999c Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Feb 27 16:50:10 2015 +0100 KVM: make halt_poll_ns static halt_poll_ns is used only locally. Make it static. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 5bda6eed2e3626f40f2602a8fed72007f1fafaf8 Author: Wincy Van <fanwenyi0529@xxxxxxxxx> Date: Wed Dec 24 11:14:29 2014 +0800 KVM: ioapic: Record edge-triggered interrupts delivery status This patch fixes the bug discussed in https://www.mail-archive.com/kvm@xxxxxxxxxxxxxxx/msg109813.html This patch uses a new field named irr_delivered to record the delivery status of edge-triggered interrupts, and clears the delivered interrupts in kvm_get_ioapic. So it has the same effect of commit 0bc830b05c667218d703f2026ec866c49df974fc ("KVM: ioapic: clear IRR for edge-triggered interrupts at delivery") while avoids the bug of Windows guests. Signed-off-by: Wincy Van <fanwenyi0529@xxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit ae548c5c806497b3495019f550f93dee03f6c15a Author: Kevin Mulvey <kevin@xxxxxxxxxxxxxxx> Date: Fri Feb 20 08:21:37 2015 -0500 KVM: fix checkpatch.pl errors in kvm/irqchip.c Fix whitespace around while Signed-off-by: Kevin Mulvey <kmulvey@xxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit bfda0e849102108eeedbeb71077859cdc853b7cd Author: Kevin Mulvey <kevin@xxxxxxxxxxxxxxx> Date: Fri Feb 20 08:21:36 2015 -0500 KVM: white space formatting in kvm_main.c Better alignment of loop using tabs rather than spaces, this makes checkpatch.pl happier. Signed-off-by: Kevin Mulvey <kmulvey@xxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 668f198f40d1cc89c2330c6ad56f3b397b05a0bc Author: David Kaplan <david.kaplan@xxxxxxx> Date: Fri Feb 20 16:02:10 2015 -0600 KVM: SVM: use kvm_register_write()/read() KVM has nice wrappers to access the register values, clean up a few places that should use them but currently do not. Signed-off-by: David Kaplan <david.kaplan@xxxxxxx> [forward port and testing] Signed-off-by: Joel Schopp <joel.schopp@xxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 67fdcc96b49455569307e6ba7bba0905cf9d6596 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Mar 6 13:52:58 2015 +0100 ARM: mediatek: enable the pin controller This patch enables the pin controller for Mediatek SoCs. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit e936351a611bca2ebd37634d81d168e6585e3634 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 14:15:35 2015 +0530 staging: sm750fb: wrong type for print mention correct format specifier while printing. fixes all the build warnings about incorrect argument type while printing. since this is a framebuffer device and it should follow what the framebuffer layer is suggesting in struct fb_fix_screeninfo at smem_start and mmio_start, so accordingly changed the datatypes of vidmem_start, vidreg_start, vidmem_size and vidreg_size. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 263042e4630a85e856b4a8cd72f28dab33ef4741 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 9 19:39:23 2015 +0100 x86/asm/entry/64: Save user RSP in pt_regs->sp on SYSCALL64 fastpath Prepare for the removal of 'usersp', by simplifying PER_CPU(old_rsp) usage: - use it only as temp storage - store the userspace stack pointer immediately in pt_regs->sp on syscall entry, instead of using it later, on syscall exit. - change C code to use pt_regs->sp only, instead of PER_CPU(old_rsp) and task->thread.usersp. FIXUP/RESTORE_TOP_OF_STACK are simplified as well. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425926364-9526-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 616ab249f1e42f6135642183529f910fcedc2642 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 10 11:45:06 2015 +0100 x86/asm/entry/64: Remove stub_iopl stub_iopl is no longer needed: pt_regs->flags needs no fixing up after previous change. Remove it. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425984307-2143-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29722cd4ef666705b2eda1c3ba44435488e509eb Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 9 19:39:21 2015 +0100 x86/asm/entry/64: Save R11 into pt_regs->flags on SYSCALL64 fastpath Before this patch, R11 was saved in pt_regs->r11. Which looks natural, but requires messy shuffling to/from iret frame whenever ptrace or e.g. sys_iopl() wants to modify flags - because that's how this register is used by SYSCALL/SYSRET. This patch saves R11 in pt_regs->flags, and uses that value for the SYSRET64 instruction. Shuffling is eliminated. FIXUP/RESTORE_TOP_OF_STACK are simplified. stub_iopl is no longer needed: pt_regs->flags needs no fixing up. Testing shows that syscall fast path is ~54.3 ns before and after the patch (on 2.7 GHz Sandy Bridge CPU). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425926364-9526-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b3924dd7a943613939f8b019690d1f919ece035c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:25:20 2015 +0300 fbdev: pm3fb: cleanup some confusing indenting This if statement should be pushed out one tab to line up with the rest. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7dea97e0379dbb2983a9f009c7cdaeb6bbe4c98e Author: Nicholas Mc Guire <der.herr@xxxxxxx> Date: Thu Jan 29 11:24:16 2015 +0100 hyperv: hyperv_fb: match wait_for_completion_timeout return type The return type of wait_for_completion_timeout is unsigned long not int. This patch fixes up the declarations only. Signed-off-by: Nicholas Mc Guire <der.herr@xxxxxxx> Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 17713ce09d95fa79a1bf8f8604ecea9c6e1924aa Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 20 09:34:01 2015 -0500 video: fbdev: use msecs_to_jiffies for time conversions This is only an API consolidation and should make things more readable by replacing var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 739ae3452d0ee199b3cfe5e52214d9ccd8e358ea Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Mar 10 17:05:33 2015 +0800 phy: berlin-usb: Set drvdata for phy and use it At the context where we have pointer to struct phy, it's useful to call phy_get_drvdata() to get the address of priv. With this change, we can remove the to_phy_berlin_usb_priv() macro and remove *phy from struct phy_berlin_usb_priv. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit ce991981311e0ae258982b600564226ad6cb24ea Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Mon Mar 9 22:13:03 2015 +0100 ALSA: firewire: Fix trivial typos in comments Change 'propper' to 'proper' Change 'paramters' to 'parameters' Change 'SYT_INTEVAL' to 'SYT_INTERVAL' Change 'aligh'/'alighed' to 'align'/'aligned' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7e476c7dd8d39b03a4dd8447be907d3517579c51 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Tue Mar 10 13:44:41 2015 +1100 regulator: fixes for regulator_set_optimum_mode name change Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eb5bc2a213f96bd43b5f00a625acb0c669613645 Merge: 485372d 9eccca0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Mar 10 10:37:02 2015 +0000 Merge tag 'v4.0-rc3' into asoc-rt5670 Linux 4.0-rc3 Conflicts: sound/soc/codecs/rt5670.c commit 1b4bd608763e063ea87e20030e05db005e70177f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 9 18:54:32 2015 +0100 ARM: 8309/1: l2c: enforce use of cache-level property Make sure that we can read the "cache-level" property from the L2 cache controller node, and ensure its value is 2. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 359f9365d3f8d0d62683344807c986ec7d711b59 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Mon Mar 9 21:54:39 2015 -0700 arm64: dts: mt8173: Add pinctrl/GPIO/EINT node for mt8173. Add pinctrl, GPIO and EINT node to mt8173.dtsi. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit efdb6f6edb526f160b8db1670b93a07180ac8306 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:47 2015 +0200 crypto: octeon - enable OCTEON SHA1/256/512 module selection Enable user to select OCTEON SHA1/256/512 modules. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit fbaa4dfd51a0bfec1e03d4f887c250993f9dc18d Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:46 2015 +0200 crypto: octeon - add SHA512 module Add OCTEON SHA512 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c3d0def6200158cfdd280146da0109c264aede49 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:45 2015 +0200 crypto: octeon - add SHA256 module Add OCTEON SHA256 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 82be2dcfa6a1eebe0fc608296547ec80b55d512d Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:44 2015 +0200 crypto: octeon - add SHA1 module Add OCTEON SHA1 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit da3cd5d7a7031a4a9e0b3f84732620c9db8bc65a Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:43 2015 +0200 crypto: octeon - add instruction definitions for SHA1/256/512 Add instruction definitions for SHA1/256/512. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c3bc38d9fb30cca2567a4f6f0d52a12d4565c7e5 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:42 2015 +0200 crypto: octeon - always disable preemption when using crypto engine Always disable preemption on behalf of the drivers when crypto engine is taken into use. This will simplify the usage. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9b2de7ff424220c731276aaef9025cdd1d4052a8 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:41 2015 +0200 crypto: octeon - don't disable bottom half in octeon-md5 Don't disable bottom half while the crypto engine is in use, as it should be unnecessary: All kernel crypto engine usage is wrapped with crypto engine state save/restore, so if we get interrupted by softirq that uses crypto they should save and restore our context. This actually fixes an issue when running OCTEON MD5 with interrupts disabled (tcrypt mode=302). There's a WARNING because the module is trying to enable the bottom half with irqs disabled: [ 52.656610] ------------[ cut here ]------------ [ 52.661439] WARNING: CPU: 1 PID: 428 at /home/aaro/git/linux/kernel/softirq.c:150 __local_bh_enable_ip+0x9c/0xd8() [ 52.671780] Modules linked in: tcrypt(+) [...] [ 52.763539] [<ffffffff8114082c>] warn_slowpath_common+0x94/0xd8 [ 52.769465] [<ffffffff81144614>] __local_bh_enable_ip+0x9c/0xd8 [ 52.775390] [<ffffffff81119574>] octeon_md5_final+0x12c/0x1e8 [ 52.781144] [<ffffffff81337050>] shash_compat_digest+0xd0/0x1b0 Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0e4f93e5017d9d8080bbd34db17836e090eb46fe Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Mar 10 10:45:30 2015 +0100 goldfish: goldfish_tty_probe() is not using 'i' any more The only place where 'i' has been used was a dead code that got removed by 2a2483685a9de ("goldfish: remove unreachable line of code"). Remove the last reference to the variable as well. Fixes: 2a2483685a9de ("goldfish: remove unreachable line of code") Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7eb5f302bbe78b88da8b2008c502c1975e75db05 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 10:41:07 2015 +0200 drm: Check in setcrtc if the primary plane supports the fb pixel format Drivers implementing the universal planes API report the list of supported pixel formats for the primary plane. Make sure the fb passed to the setcrtc ioctl is compatible. Drivers not implementing the universal planes API will have no format reported for the primary plane, skip the check in that case. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c484f02d0f02fbbfc6decc945a69aae011041a27 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 12:36:42 2015 +0000 drm: Lighten sysfs connector 'status' Since the beginning, sysfs/connector/status has done a heavyweight detection of the current connector status. But no user, such as upowerd or logind, has ever desired to initiate a probe. Move the probing into a new attribute so that existing readers get the behaviour they desire. v2: David Herrmann suggested using "echo detect > /sys/.../status" to trigger the probing, which is a fine idea. This extends that to also allow the user to apply the force detection overrides at runtime. v3: Now with airlied's email address fixed! Requires sysfs_streq() Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Alex Deucher <alexdeucher@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3461b30b3e171e16498f3d7bc59ab703aec475c8 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Mar 5 10:32:44 2015 +0100 drm/plane-helper: unexport drm_primary_helper_create_plane We shouldn't tempt driver writers into using this since it uses a default format list which is likely wrong. And when that's done we can simplify the code a bit, too. Noticed while reviewing a patch from Laurent. Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ead8610d42105a3d01f755522f11b96c60dc648f Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Mar 5 02:25:43 2015 +0200 drm: Share plane pixel format check code between legacy and atomic Both the legacy and atomic helpers need to check whether a plane supports a given pixel format. The code is currently duplicated, share it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [danvet: Slightly extend the docbook.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2a97acd6376922bb9d23b5f4421745d2a6690060 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Wed Mar 4 09:30:09 2015 +0100 drm: Fix trivial typos in comments Change 'pixes' to 'pixels' Change 'enabel' to 'enable' Change 'enabeling' to 'enabling' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6b1e3f615482f308ae74af13fae6c1d9191d2906 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Feb 27 13:11:14 2015 +0200 drm/dp: add DPCD definitions from eDP 1.4 Add a number of DPCD definitions from eDP 1.4. v2: s/DP_ALPM_LOCK_TIMEOUT_ERROR_STATUS/DP_ALPM_LOCK_TIMEOUT_ERROR/ (Sonika) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9474675afa9fe9d1145df0acb9fc15b6ad56a9f9 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Feb 27 13:10:38 2015 +0200 drm/dp: add DPCD definitions from DP 1.1 and 1.2a Add a number of DPCD definitions from DP 1.1 and 1.2a. v2: drop wrong DP version reference, rename DP training set macros (Sonika). Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 220dd2bc43e23f72fcdf6cc6ced3107c7023f123 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 27 12:58:13 2015 +0100 drm: Fixup racy refcounting in plane_force_disable Originally it was impossible to be dropping the last refcount in this function since there was always one around still from the idr. But in 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 we've switched to weak references, broke that assumption but forgot to fix it up. Since we still force-disable planes it's only possible to hit this when racing multiple rmfb with fbdev restoring or similar evil things. As long as userspace is nice it's impossible to hit the BUG_ON. But the BUG_ON would most likely be hit from fbdev code, which usually invovles the console_lock besides all modeset locks. So very likely we'd never get the bug reports if this was hit in the wild, hence better be safe than sorry and backport. Spotted by Matt Roper while reviewing other patches. Cc: stable@xxxxxxxxxxxxxxx Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit aaed1aa540acc6dde7dbba3307c98e697763ec1a Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Thu Feb 26 13:49:18 2015 +0000 drm/i915: Rotation property is now handled in DRM core So no need to have code which never gets called in the driver. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4cda09ca5978f58866d41866bb9a92a7b631b782 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Thu Feb 26 13:49:17 2015 +0000 drm: Complete moving rotation property to core Commit 1da30627fc511a57c9bd23a02c97f0576379f761 "drm: Add rotation value to plane state" moved the rotation property to DRM core but only did the set property part. This does the get property part as well. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0e71244c1bb873f0e3be3b79d3436d7ef2601029 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Feb 25 14:46:53 2015 +0200 drm/dp: add DPCD definitions from eDP 1.2 Mostly display control related DPCD addresses. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd5da992b96bc018c3e64ffc5ac15cbe301f6440 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Feb 25 14:46:51 2015 +0200 drm/dp: indentation and ordering cleanups Keep the DPCD macros ordered by address, and make indentation conform to the rest of the file. commit e045d20bef41707dbba676e58624b54f9f39e172 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Feb 19 13:16:44 2015 +0530 drm: Adding edp1.4 specific dpcd macros Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2e3afd47ab0c1fe8742878e25ab06f10d4517e6e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Feb 26 14:17:38 2015 +0100 drm/atomic-helper: Fix kerneldoc for prepare_planes Copypaste-fail from cleanup_planes. Reported by Tvrtko. Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 844285317c90910ab6e467b358df697f70e21417 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Feb 25 17:52:05 2015 +0100 drm: Remove redundant code in the getencoder ioctl When enabling atomic state object for this ioctl in commit abd69c55dd8f1f71b33b8c6165217f4329db8f25 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Nov 25 23:50:05 2014 +0100 drm: Handle atomic state properly in kms getfoo ioctl I've forgotten to remove this hunk in one of the later revisions. drm_encoder_get_crtc already does this. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Sean Paul <seanpaul@xxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 298fe56ee2b9551ca8cd675e7a6ebaf1c03632f8 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 18:20:53 2015 +0800 phy: ti-pipe3: Remove unneeded ifdef CONFIG_OF guard and of_match_ptr if !CONFIG_OF, the probe fails. This is a dt-only driver, so the ifdef CONFIG_OF guard and of_match_ptr are not needed. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 52a4a72a1ad675b66ec241c0e33ee6e50df63a93 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 18:20:07 2015 +0800 phy: omap-usb2: Remove unneeded ifdef CONFIG_OF guard and of_match_ptr if !CONFIG_OF, the probe fails. This is a dt-only driver, so the ifdef CONFIG_OF guard and of_match_ptr are not needed. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1f9ba767d5918796c7f32724777087f321fde30d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 18:18:45 2015 +0800 phy: omap-control: Remove unneeded ifdef CONFIG_OF guard and of_match_ptr if !CONFIG_OF, the probe fails. This is a dt-only driver, so the ifdef CONFIG_OF guard and of_match_ptr are not needed. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 320c3fcec64a9e115a3d8a5d005d2fb21c15ef01 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 09:44:06 2015 +0800 phy: miphy28lp: Use PTR_ERR_OR_ZERO PTR_ERR_OR_ZERO simplifies the code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Gabriel Fernandez<gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit f8f55393b2860a2a5c97ff3b18c6ee02cef021c4 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 09:40:41 2015 +0800 phy: berlin-sata: Use devm_kcalloc at appropriate place Prefer devm_kcalloc over devm_kzalloc with multiply. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 8fd0ea395f96b1419083f850190f175d5ddd98e9 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 09:33:38 2015 +0800 phy: xgene: Use PTR_ERR_OR_ZERO Also remove unneeded goto and rc variable. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 82ffb676c820629b7f1b62d15f6bc546f29a7025 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Mar 1 22:31:34 2015 +0800 phy: berlin-usb: Use PTR_ERR_OR_ZERO PTR_ERR_OR_ZERO simplifies the code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1d23c4518b1f3a03c278f23333149245c178d2a6 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Mar 10 07:06:25 2015 +0100 x86/fpu: Factor out memset(xstate, 0) in fpu_finit() paths fx_finit() has two users but only fpu_finit() needs to clear xstate, alloc_bootmem_align() in setup_init_fpu_buf() returns zero-filled memory. And note that both memset()'s look confusing. Yes, offsetof() is 0 for ->fxsave or ->fsave, but it would be cleaner to turn them into a single memset() which zeroes fpu->state. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Tavis Ormandy <taviso@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425967585-4725-2-git-send-email-bp@xxxxxxxxx Link: http://lkml.kernel.org/r/20150302183257.GC23085@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e7f180dcd8ab48f18b20d7e8a7e9b39192bdf8e0 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Mar 10 07:06:24 2015 +0100 x86/fpu: Change xstateregs_get()/set() to use ->xsave.i387 rather than ->fxsave This is a cosmetic change: xstateregs_get() and xstateregs_set() abuse ->fxsave to access xsave->i387.sw_reserved. This practice is correct, ->fxsave and xsave->i387 share the same memory, but IMHO this looks confusing. And we can make this code more readable if we add a "struct xsave_struct *" local variable as well. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Tavis Ormandy <taviso@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425967585-4725-1-git-send-email-bp@xxxxxxxxx Link: http://lkml.kernel.org/r/20150302183237.GB23085@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 44fb085bfa17628c6d2aaa6af6b292a8499e9cbd Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Mar 10 12:20:00 2015 +0800 sched/deadline: Add rq->clock update skip for dl task yield This patch adds rq->clock update skip for SCHED_DEADLINE task yield, to tell update_rq_clock() that we've just updated the clock, so that we don't do a microscopic update in schedule() and double the fastpath cost. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425961200-3809-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 59e33c2b021322db92ca27c4d9958e57630443b6 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 9 15:44:13 2015 -0700 net: phy: bcm7xxx: add alternate id for 7439 BCM7439 has an alternate PHY OUI: 0xae025080 which is to be found in some variants of this chip. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8f2147150de303e814c0452075d467734d3544b Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Mon Mar 9 13:59:09 2015 -0700 switchdev: add netlink flags to IPv4 FIB add op Pass in the netlink flags (NLM_F_*) into switchdev driver for IPv4 FIB add op to allow driver to 1) optimize hardware updates, 2) handle ip route prepend and append commands correctly. Suggested-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Suggested-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf0b211256be342e92d3ee5c5a1fb8d42f3928bb Merge: 3cef5c5 769a020 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 9 23:50:26 2015 -0400 Merge branch 'dsa-next' Florian Fainelli says: ==================== net: dsa: remove restriction on platform_device This patch series removes the restriction in DSA to operate exclusively with platform_device Ethernet MAC drivers when using Device Tree. This basically allows arbitrary Ethernet MAC drivers to be used now in conjunction with Device Tree. The reason was that DSA was using a of_find_device_by_node() which limits the device_node to device pointer search exclusively to platform_device, in our case, we are interested in doing a "class" research and lookup the net_device. Thanks to Chris Packham for testing this on his platform. Changes in v2: - fix build for !CONFIG_OF_NET ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 769a020289bc8f68b7e48faf8fee970346d71a3b Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 9 14:31:21 2015 -0700 net: dsa: utilize of_find_net_device_by_node Using of_find_device_by_node() restricts the search to platform_device that match the specified device_node pointer. This is not even remotely true for network devices backed by a pci_device for instance. of_find_net_device_by_node() allows us to do a more thorough lookup to find the struct net_device corresponding to a particular device_node pointer. For symetry with the non-OF code path, we hold the net_device pointer in dsa_probe() just like what dev_to_net_dev() does when we call this function. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa836df958886e57ff0d43fb3d79d1af4aec0cc8 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 9 14:31:20 2015 -0700 net: core: add of_find_net_device_by_node() Add a helper function which allows getting the struct net_device pointer associated with a given struct device_node pointer. This is useful for instance for DSA Ethernet devices not backed by a platform_device, but a PCI device. Since we need to access net_class which is not accessible outside of net/core/net-sysfs.c, this helper function is also added here and gated with CONFIG_OF_NET. Network devices initialized with SET_NETDEV_DEV() are also taken into account by checking for dev->parent first and then falling back to checking the device pointer within struct net_device. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3cef5c5b0b56f3f90b0e9ff8d3f8dc57f464cc14 Merge: 8ac467e affb817 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 9 23:38:02 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/cadence/macb.c Overlapping changes in macb driver, mostly fixes and cleanups in 'net' overlapping with the integration of at91_ether into macb in 'net-next'. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cdfdef75e795fb5ab76c66f3329e509f3ab8b9b5 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:19 2015 +1030 cpumask: only allocate nr_cpumask_bits. Now we'll find out the hard way if anyone has CPUMASK_OFFSTACK and is returning these or assigning them. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit c8ed00107b60b4a890798677d75e5c2910f393bb Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:19 2015 +1030 Fix weird uses of num_online_cpus(). This may be OK in archs with contiguous CPU numbers and without hotplug CPUs, but it sets a terrible example. And open-coding it like drivers/scsi/hpsa.c is just weird. BTRFS has a weird comparison with num_online_cpus() too, but since BTRFS just screwed up my test machines' root partition, I'm not touching it :) Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Reported-by: Oleg Drokin <green@xxxxxxxxxxxxxx> commit 2f0f267ea0720ec6adbe9cf7386450425fac8258 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:19 2015 +1030 cpumask: remove deprecated functions. Using these functions with offstack cpus is unsafe. They use all NR_CPUS bits, unstead of nr_cpumask_bits. In particular, lustre (in staging) used cpus_ and that caused a bug. Reported-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 1ed1835f5fadf057ab081cbe31ac353d4547a25b Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Mar 10 13:00:43 2015 +1030 mips: fix obsolete cpumask_of_cpu usage. Plus, it's weird. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit fdaf3a6539d6b9b6a7240c3b00bd81c813b2760d Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Mar 10 12:43:45 2015 +1030 x86: fix more deprecated cpu function usage. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6a4bd8d1412a6cd72b65d7c86a2c08e9ec1d6b97 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Mar 10 12:42:03 2015 +1030 ia64: remove deprecated cpus_ usage. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 87313df7b47c5048d8920a486f77835a49406754 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Mar 10 12:28:29 2015 +1030 powerpc: fix deprecated CPU_MASK_CPU0 usage. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 8ac467e837a24eb024177b4b01013d8e6764913a Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 9 13:40:00 2015 -0700 net: bcmgenet: core changes for supporting multiple Rx queues 1. Add struct bcmgenet_rx_ring to hold all necessary information for a single Rx queue. 2. Add bcmgenet_init_rx_queues() to initialize all Rx queues. 3. Modify bcmgenet_init_rx_ring() to initialize a single Rx queue. 4. Modify Rx interrupt path code to use per-queue data. 5. Modify bcmgenet_rx_refill() to use RxCB->bd_addr. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6ad395bad57dcd15c6423715d15d91363a62ae8 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 08:14:24 2015 -0800 Documentation: leds: Add description of LED Flash class extension The documentation being added contains overall description of the LED Flash Class and the related sysfs attributes. 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 9c4a8e138cfe2cc7262d5d2224162add5632b546 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 08:14:23 2015 -0800 leds: flash: document sysfs interface Add a documentation of LED Flash class specific sysfs attributes. 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 94fdec768dc72a6993479f59a17daa413f30029e Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 08:14:22 2015 -0800 leds: flash: Remove synchronized flash strobe feature Synchronized flash strobe feature has been considered not fitting for LED subsystem sysfs interface and thus is being removed. 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 f13b2065de8147a1652b830ea5db961cf80c09df Author: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Date: Mon Mar 9 17:03:07 2015 -0700 Input: i8042 - allow KBD and AUX ports to wake up from suspend-to-idle While registering serio device for i8042, mark them as wakeup-capable and check their user space wakeup settings in i8042_pm_suspend() and i8042_pm_resume() to enable or disable, respectively, their interrupts to wake up the system. This makes it possible to use the PC keyboard to wake up the system from suspend-to-idle, among other things, after writing "enabled" to the keyboard serio device's power/wakeup sysfs attribute. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7b1a13228b321ea27bd53070bcd332417069ace8 Author: Nan Li <nli@xxxxxxxx> Date: Wed Mar 4 18:48:35 2015 +0800 ACPI / sysfs: Treat the count field of counter_show() as unsigned The count field is an unsigned 32bit value, and the counter_show() function should also treat it as a unsigned value. Otherwise the counter may show negative number as we found on a machine: ... gpe23: 0 invalid gpe24: -2071733 enabled gpe25: 0 invalid ... gpe_all: -2070980 sci: -2070949 Signed-off-by: Nan Li <nli@xxxxxxxx> Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 770970f0b40a7c303765f0593acd4ceeb54831f7 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Fri Feb 27 14:48:24 2015 +0800 ACPI / EC: Add GPE reference counting debugging messages. This patch enhances debugging with the GPE reference count messages added. This kind of log entries can be used by the platform validators to validate if there is an EC transaction broken because of firmware/driver bugs. No functional changes. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3535a3c126651616a111491726c241e801fd9418 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Fri Feb 27 14:48:15 2015 +0800 ACPI / EC: Cleanup logging/debugging splitter support. This patch refines logging/debugging splitter support so that when DEBUG is disabled, splitters won't be visible in the kernel logs while they are still available for developers when DEBUG is enabled. This patch also refines the splitters to mark the following handling process boundaries: +++++: boundary of driver starting/stopping boundary of IRQ storming =====: boundary of transaction advancement *****: boundary of EC command boundary of EC query #####: boundary of EC _Qxx evaluation The following 2 log entries are originally logged using pr_info() in order to be used as the boot/suspend/resume log entries for the EC device, this patch also restores them to pr_info() logging level: ACPI : EC: EC started ACPI : EC: EC stopped In this patch, one log entry around "Polling quirk" is converted into ec_dbg_raw() which doesn't contain the boundary marker. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3a656b54c8433ada6dd7ee6227854c48682d5e4d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Mar 9 21:08:37 2015 +0200 drm/i915: Fix struct_mutex deadlock due to merge fumble commit a8c6ecb3be7029881f7c95e5e201a629094a4e1a Merge: 8dd0eb35 9eccca0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 9 19:58:30 2015 +1000 Merge tag 'v4.0-rc3' into drm-next managed to pick the wrong code to resolve the conflict and left us with a mutex_lock(struct_mutex) without the mutex_unlock(struct_mutex) leading to a deadlock. Fix the problem by recovering the correct code which doesn't need the lock. Cc: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ca1bb4ee4c3a017bb66840d11d5efdf4e8f3f66d Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Feb 23 16:11:41 2015 -0800 leds: Introduce devres helper for led_classdev_register (cooloney@xxxxxxxxx: add _unregister function into the document) Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 115403df818abf1e84c3554b14c8e0f8746bf3a6 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Mon Mar 9 14:44:13 2015 -0400 tipc: Add Ying Xue to TIPC maintainers list We remove Allan Stephens, who has moved on to other tasks, from the TIPC maintainers list. He is replaced by Ying Xue, who has been doing the maintenance on behalf of WindRiver since almost three years. Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Allan Stephens <allan.stephens@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ddb3b6033ca68d71a5f0611b58b2642729342245 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 9 13:14:37 2015 -0500 net: Remove protocol from struct dst_ops After my change to neigh_hh_init to obtain the protocol from the neigh_table there are no more users of protocol in struct dst_ops. Remove the protocol field from dst_ops and all of it's initializers. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13259db53ff42c9033d749e01e7d6d3c4859dfd9 Merge: 5428aef b29e13b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 9 16:04:53 2015 -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 2015-03-09 This series contains updates to i40e and i40evf. Greg cleans up some "hello world" strings which were left around from early development. Shannon modifies the drive to make sure the sizeof() calls are taking the size of the actual struct that we care about. Also updates the NVMUpdate read/write so that it is less noisy when logging. This was because the NVMUpdate tool does not necessarily know the ReadOnly map of the current NVM image, and must try reading and writing words that may be protected. This generates an error out of the Firmware request that the driver logs. Unfortunately, this ended up spitting out hundreds of bogus read/write error messages. If a user wants the noisy logging, the change can be overridden by enabling the NVM update debugging. Mitch fixes a possible deadlock issue where if a reset occurred when the netdev is closed, the reset task will hang in napi_disable. Added ethtool RSS support as suggested by Ben Hutchings. Jesse fixes a bug introduced in the force writeback code, where the interrupt rate was set to 0 (maximum) by accident. The driver must correctly set the NOITR fields to avoid IT update as a side effect of triggering the software interrupt. I provided a simple cleanup to make the use of PF/VF consistent, which was reported by Joe Perches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5428aef81157768f1052b116e0cc8abf88ff3e36 Merge: 26c459a e5de75b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 9 15:58:21 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for your net-next tree. Basically, improvements for the packet rejection infrastructure, deprecation of CLUSTERIP, cleanups for nf_tables and some untangling for br_netfilter. More specifically they are: 1) Send packet to reset flow if checksum is valid, from Florian Westphal. 2) Fix nf_tables reject bridge from the input chain, also from Florian. 3) Deprecate the CLUSTERIP target, the cluster match supersedes it in functionality and it's known to have problems. 4) A couple of cleanups for nf_tables rule tracing infrastructure, from Patrick McHardy. 5) Another cleanup to place transaction declarations at the bottom of nf_tables.h, also from Patrick. 6) Consolidate Kconfig dependencies wrt. NF_TABLES. 7) Limit table names to 32 bytes in nf_tables. 8) mac header copying in bridge netfilter is already required when calling ip_fragment(), from Florian Westphal. 9) move nf_bridge_update_protocol() to br_netfilter.c, also from Florian. 10) Small refactor in br_netfilter in the transmission path, again from Florian. 11) Move br_nf_pre_routing_finish_bridge_slow() to br_netfilter. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26c459a8072f2bb0680081205376e1371c114b12 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 12:54:48 2015 +0100 mpls: Spelling: s/conceved/conceived/, s/as/a/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 208d51154c8d7f2c3808b4401132233c5ab21572 Author: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Date: Wed Feb 25 15:15:23 2015 +0100 checkkconfigsymbols.py: filter reports for tools/ Recent changes to the build system of tools suggest to filter reports for the entire tools directory. Various C preprocessor identifiers are prefixed with CONFIG_ but are NOT defined in Kconfig but in Makefiles in the tools directory. Such identifiers are false positives for most static analysis tools (i.e., scripts/checkkconfigsymbols.py) since the CONFIG_ prefix and the _MODULE suffix is reserved for Kconfig features in CPP and Make syntax. Signed-off-by: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 143fe22f50a8be855bba77b5b2dc9dd1a5982b1c Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Mon Mar 9 10:43:42 2015 +0100 tipc: fix inconsistent signal handling regression Commit 9bbb4ecc6819 ("tipc: standardize recvmsg routine") changed the sleep/wakeup behaviour for sockets entering recv() or accept(). In this process the order of reporting -EAGAIN/-EINTR was reversed. This caused problems with wrong errno being reported back if the timeout expires. The same problem happens if the socket is nonblocking and recv()/accept() is called when the process have pending signals. If there is no pending data read or connections to accept, -EINTR will be returned instead of -EAGAIN. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reported-by László Benedek <laszlo.benedek@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57ad7a0a81f3e9e619540ce9e31d5bd724b59a6e Merge: f4427bc aa5e183 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 9 15:38:35 2015 -0400 Merge tag 'iwlwifi-next-for-kalle-2015-03-07' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next fix compilation when DEBUGFS isn't set Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4427bc3e2735831fdf66f091429ec328feda246 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Mon Mar 9 10:26:24 2015 +0100 switchdev: use gpl variant of symbol export Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4fee6be8134a69545caf88d8b439936a326d6d77 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Mon Mar 9 10:19:31 2015 +0100 tipc: sparse: fix htons conversion warnings Commit d0f91938bede ("tipc: add ip/udp media type") introduced some new sparse warnings. Clean them up. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e052be69d045c8d0f82ff1116fd3e5a79661745 Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Date: Fri Mar 6 11:47:59 2015 -0800 net_sched: destroy proto tp when all filters are gone Kernel automatically creates a tp for each (kind, protocol, priority) tuple, which has handle 0, when we add a new filter, but it still is left there after we remove our own, unless we don't specify the handle (literally means all the filters under the tuple). For example this one is left: # tc filter show dev eth0 filter parent 8001: protocol arp pref 49152 basic The user-space is hard to clean up these for kernel because filters like u32 are organized in a complex way. So kernel is responsible to remove it after all filters are gone. Each type of filter has its own way to store the filters, so each type has to provide its way to check if all filters are gone. Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim<jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2306509605d3cb45b8480089af2d282600650e9e Author: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 17:46:32 2015 -0600 spi: dw-spi: Single Register read to clear IRQs Instead of clearing the RxU, RxO, and TxO IRQs individually with 3 register reads, a single read of the ICR register will do the same thing. Signed-off-by: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ae6e808f15742fcbc0097ac2fb3055d553266965 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:35:31 2015 -0800 regulator: Drop temporary regulator_set_optimum_mode wrapper Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa53e351e81259644717b381e095eaf9173c9ca8 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:35:30 2015 -0800 usb: phy: phy-msm-usb: Rename regulator_set_optimum_mode The function regulator_set_optimum_mode() is changing name to regulator_set_load(), so update the code accordingly. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1d61a6948121d73e897df0f96a0fd8aa3b3b1ac9 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:35:29 2015 -0800 usb: phy: ab8500-usb: Rename regulator_set_optimum_mode The function regulator_set_optimum_mode() is changing name to regulator_set_load(), so update the code accordingly. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7b16a07c32935ea7f59f4408b7c9200d9cd0cced Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:35:28 2015 -0800 ufs: Rename of regulator_set_optimum_mode The function regulator_set_optimum_mode() is changing name to regulator_set_load(), so update the code accordingly. Also cleaned up ufshcd_config_vreg_load() while touching the code. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e39ce48f5362df9f87400b4909a6fb0f51b109ac Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:35:27 2015 -0800 regulator: Rename regulator_set_optimum_mode Rename the regulator_set_optimum_mode() function regulator_set_load() to better represent what's going on. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f580f8afd0d81c3f04d8b393c9d675ef289e4d40 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 11:18:14 2015 -0700 ASoC: tlv320aic23: remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 32556394501a27c02e7185c4d11a51b636b02f4b Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 11:15:28 2015 -0700 ASoC: cx20442: remove incorerct __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 78bb997ace926451ec8d1ed15178b161dc61b805 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 8 07:06:05 2015 -0400 ASoC: wm2200: match wait_for_completion_timeout return type return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 905a808664402dec0ac11376833e79da4ae7b2fd Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 8 06:57:07 2015 -0400 ASoC: wm5100: match wait_for_completion_timeout return type return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 17f4ad601d2753be7f15cd2928e89309759e4936 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 8 09:16:49 2015 -0400 ASoC: arizona: match wait_for_completion_timeout return type return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 159366ea38706402e8ebd0f55eef52931333deac Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 8 06:02:38 2015 -0400 ASoC: wm8996: ensure lower bounds of 1 for timeout wait_for_completion_timeout can be called with timeout == 0 due to msecs_to_jiffies(2) == 1 for HZ < 1000 and usecs_to_jiffies(300) == 1 for all reasonable values of HZ, thus the following timeout /= 2; sets timeout to 0. This patch simply adds a lower-bounds of 1. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 62c76fe2e580f6a975679e8711bade09e24c204b Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 8 06:02:15 2015 -0400 ASoC: wm8996: match wait_for_completion_timeout return type return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up in case of completion occurring the remaining time is >=1 so ret is set to 1 if no timeout occurred. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 485372dc24ca2eaac18ce41a51b9dd017bc11400 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Mar 9 16:55:23 2015 +0800 ASoC: rt5670: Check sysclk source by private data Currently, is_sys_clk_from_pll check sysclk source by reading codec register value. And it will be invoked before updating dapm widget power. In some machine driver, snd_soc_dai_set_sysclk is called in dapm event to switch codec sysclk to RC clock in idle mode. And in some use cases (such as syspend/resume) hw_params will not be called when the dapm widget is powered up. As a result, is_sys_clk_from_pll will return 0 although it is supposed to be 1. To solve this, we let is_sys_clk_from_pll check sysclk sysclk_src which is stored in private data and don't change the value of sysclk_src when codec sysclk is switched to internal clock. The internal clock can only be used in idle mode, so it sould be fine if we don't set sysclk_src to internal clock. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bd22f9d405eb14cc074d294919d0b909e0bc6170 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Mar 9 16:55:22 2015 +0800 ASoC: rt5670: Revert Keep sysclk on patch The "Keep sysclk on if JD func is used" patch force enable/disable pin in rt5670_set_dai_sysclk. But some machine driver call it in dapm widget event. It will cause kernel crash. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d744f82683e8cc8b49ca8f329a289c6692a9fb06 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:50 2015 +0200 spi: dw-mid: convert to use dw_dmac instead of intel_mid_dma intel_mid_dma seems to be unmaintained for a long time. Moreover, the IP block of DMA itself is the same in both dw_dmac and intel_mid_dma. This patch moves spi-dw-midpci to use dw_dmac driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f89a6d8f43ebe9508bb5492c846ad997ad50eafe Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:49 2015 +0200 spi: dw-mid: move to use core SPI DMA mappings SPI core has a comprehensive function set to map and unmap a message when it's needed. This patch converts driver to use that advantage. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d5ac1edfdd79aea31983333cb53dd5db29559f9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:48 2015 +0200 spi: dw-mid: clear ongoing DMA transfers on timeout This patch shuts up any ongoing DMA transfer in case of error. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f051fc8f117d95baaa3654d40e779c56c2c6d180 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:47 2015 +0200 spi: dw-mid: take care of FIFO overrun/underrun when do DMA In according to documentation SPI in DMA mode may encounter underrun/overrun failures in rare cases. When such failure occurs, an error recovery protocol is expected to be implemented in the device driver so that the failed transaction can be restarted. This patch enables FIFO overrun / underrun interrupts in DMA case and adds a handler for that. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9f14538ecd1a210eff244a0a2281f6744fe4a59d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:46 2015 +0200 spi: dw-mid: split dma_setup() from dma_transfer() The patch splits DMA preparatory code to dma_setup() callback. The change also converts transfer_one() to program DMA whenever the transfer is DMA mapped. The change is a follow up of the converion to use SPI core transfer_one_message(). Since the DMA mapped transfers can be interleaved with PIO ones the DMA related configuration should respect that. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e31abce778bc05b94d406e8cbebd9953d12e84b8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:45 2015 +0200 spi: dw-mid: convert value of dma_width to enum dma_slave_buswidth DMAEngine has a specific type to be used for bus width. This patch converts the code to use the values of the specific type when configure DMA transfer. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0365fbd4bbc0b8f3fd3c78c16a8020ea83b3afcf Merge: c22c62d 854d2f2 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Mar 9 18:11:06 2015 +0000 Merge branch 'fix/dw' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-dw commit 967beb2e87771411e08467152e3d9f1c3ae73a67 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Mon Mar 9 12:11:08 2015 +0000 ASoC: jz4740: Add jz4780 support The jz4780 and jz4740 have very similar i2s blocks. The slight difference is in Rx/Tx fifos. And the bitclocks for input/output are different. This patch adds jz4780 support to the driver Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38b6484e5b7be96ec93ec2c29b752b7d9540e9d4 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Mar 9 09:46:15 2015 +0100 spi: cadence: Remove Kconfig dependency Remove Kconfig dependency and enable driver for all ARCHs. Also update help description. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b29e13bb9198d2a79ab3370eb1d3ed69a05de61f Author: Mitch A Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Mar 5 04:14:40 2015 +0000 i40e: add ethtool RSS support Add support for setting the RSS hash table and hash key through ethtool. This patch incorporates suggestions from Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx>. Reported-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ec7a06fd6d6822db287e59d67362b2207cf42ca9 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Feb 27 09:18:37 2015 +0000 i40e/i40evf: Bump i40e/i40evf version Bump PF version to 1.2.37 and VF version to 1.2.25 Change-ID: I0287a750408250dc055c03e1f744fd5f0caefd68 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2ddb80c9c4b1810feb214ed38400ac68e167c369 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:18:36 2015 +0000 i40e: add MAC printing to debugfs dump VSI Print the LAN, SAN, and Port MACs for the VSI if debugfs command dump VSI is used on the PF's VSI. Example output: [260221.871244] i40e 0000:04:00.0: MAC address: 68:05:ca:26:15:e0 SAN MAC: 00:00:00:00:02:00 Port MAC: 68:05:ca:26:15:e3 Change-ID: I0b393113dfb5ee7ff4f9e5227e4177885f0cc15e Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 878ce05894284d3eb683e7d249d09c796c02d73b Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Fri Mar 6 21:26:56 2015 +0200 gpio: omap: irq_shutdown: remove unnecessary call of gpiochip_unlock_as_irq GPIOLib core implemnts irqchip->irq_request/release_resources callbacks internally and these callbacks already contain clalls of gpiochip_lock/unlock_as_irq(). Hence, remove unnecessary call of gpiochip_unlock_as_irq() from omap_gpio_irq_shutdown(). Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3fca6a2f4623122f5f4d79a2c0d4642ff30b6654 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Feb 26 10:49:27 2015 +0200 tools: iio: lsiio: Remove unused variables This patch removes unused variables from lsiio.c in order to get rid of the warnings regarding them. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 976d9ab112bdef7b25827f576b33068704df78ee Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Feb 26 10:49:26 2015 +0200 tools: iio: Define _GNU_SOURCE in Makefile Definition of _GNU_SOURCE is needed to get rid of some warnings, such as: warning: implicit declaration of function `asprintf'. generic_buffer.c and iio_event_monitor.c define _GNU_SOURCE, but it is also needed in lsiio.c and iio_utils.c. For this reason, this patch adds the definition in Makefile and removes it from where it already exists. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 817020cfb3a2649064a1e14e083934234e2c208d Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Feb 26 10:49:25 2015 +0200 iio: Move iio userspace applications out of staging This patch moves iio userspace applications out of staging, to tools/iio/ and adds a Makefile in order to compile them easily. It also adds tools/iio/ to MAINTAINERS file. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bdcb31d048074d82ed7c50ed45f737d7637f1224 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Feb 26 10:49:24 2015 +0200 staging: iio: Documentation: Introduce iio_utils.c This patch removes inline functions from iio_utils.h in order to clean the code. iio_utils.c contains the implementation of the functions used by iio_event_monitor.c, lsiio.c or generic_buffer.c and iio_utils.h contains the declarations of these functions. Since iio_utils.h is modified, generic_buffer.c and iio_event_monitor.c must include stdlib.h. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 95763859c0205417cf94966f87c3839e54a8005d Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Feb 26 10:49:23 2015 +0200 staging: iio: Documentation: iio_event_monitor: Include linux/iio/types.h By adding this line and installing the kernel headers with make headers_install, iio_event_monitor can be compiled without any hacks. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 407f5e392f9c5b9c16178c5e6b2112234fdf9fad Author: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Date: Wed Mar 4 12:41:57 2015 +0200 pinctrl: qcom: handle input-enable pinconf property This enables support of 'input-enable' pinconf generic property in the pinctrl driver. Signed-off-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 38d756af7202c7cb1fde0c132076b0a6acd0d9d7 Author: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Date: Wed Mar 4 12:41:56 2015 +0200 pinctrl: qcom: enable generic pinconf This makes the pinctrl driver to use the generic pinconf interface. Mainly it gives us a way to use debugfs to dump group configurations. Signed-off-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 11131ba435252cae6099c04417bcf83997ec3241 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Mar 2 19:28:45 2015 +0200 pinctrl: at91: simplify probe error handling There is no code ender the 'err' label. Just return the error code directly. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Reviewed-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 939417bd8b909ae34a3b2106531594f5115eaea5 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Mar 2 16:55:02 2015 +0200 pinctrl: remove maxpin from documentation struct pinctrl_desc does not contain the maxpin member since commit 0d2006bbf0 (pinctrl: remove unnecessary max pin number). Fixes: 0d2006bbf0 ('pinctrl: remove unnecessary max pin number') Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 28b30c306a530ad327b6d1fa0116240d49ac7839 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Sat Feb 28 20:46:24 2015 +0000 pinctrl: sirf: fix typo in kernel warning on a bad interrupt Fix typo, "flaged" -> "flagged" Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9184f756908ace8213099f21870b07491a7138a9 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Feb 24 14:00:51 2015 -0700 pinctrl: tegra: add a driver for Tegra210 Tegra210's pinmux supports a different set of pins/options than earlier SoCs, so requires its own driver (well, table of pin-specific data). Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Tested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ec654e50c67ad4ba89c9f9f81ccf6f061695e36d Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Feb 24 14:00:50 2015 -0700 pinctrl: tegra: support nvidia,io-hv DT property Both nvidia,io-hv and nvidia,rcv-sel represent the fact that a particular pin's IO buffers are configured to accept "high voltage" input signals. The TRM for different chips names the register field rcv-sel on older SoCs and io_hv on newer SoCs. Add the new naming option into the pinctrl driver so that DT files can use naming consistent with the TRM. This new property name will be documented in the patch that adds support for the new SoC. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Tested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ea623061930ccf6d37b4a09a4e65a26fcf552c22 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Feb 24 14:00:49 2015 -0700 pinctrl: tegra: some bits move between registers Some of the pinmux configuration bits that exist in "drive group" registers in Tegra30..Tegra124 move to the "pinmux" registers on future chips. Add a flag to support this. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Tested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8d4684b39b5865ef5471a256adfcd8d7c3e18d43 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Feb 24 14:00:48 2015 -0700 pinctrl: tegra: driver layout/consistency fixes Various non-semantic tweaks and layout/consistency fixes for existing Tegra pinctrl drivers. Move the definition of DRV_PINGROUP_REG() before the definition of PINGROUP() so that a future SoC driver can invoke the former from the latter. PINGROUP_BIT_Y(n) is just n, so replace it with n. Re-wrap the parameters to *PINGROUP(). Keep various enums sorted in the Tegra124 driver. Various white-space consistency fixes. These changes aim to update existing drivers to be consistent with future SoC drivers. While we could ignore these tweaks to the existing drivers, I'd like to keep everything as consistent as possible for easy comparison. Besides, I auto-generate the drivers, and maintaining special-cases to keep the differences in place is annoying. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Tested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b5eec4d061cad4a084c05c7dadd6884fd5fe0df9 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Feb 22 19:55:47 2015 +0200 pinctrl: lantiq: fix include guard #endif comment Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit af033612351b1850492ed7edbdbab4f9a869266f Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:06 2015 +0100 devicetree: bindings: add Device Tree bindings for Armada 39x pin-muxing controller This commit adds the Device Tree binding documentation to describe the pin-muxing controller of the Marvell Armada 39x processors. Two variants are supported for the moment: the 88F6920 (Armada 390) and 88F6928 (Armada 398). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ace16867fa2b312b8a4a6f4ac5506dfbd791be34 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Tue Feb 3 16:11:59 2015 +0530 pinctrl: freescale: make of_device_id array const Make of_device_id array const. Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 05c5f265c6f72750d2a60f75ff3cfefe47379210 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Feb 27 18:38:02 2015 +0100 pinctrl: sh-pfc: Do not overwrite bias configuration After the last user of the in_pd/in_pu bias parameters of the _PCRH() macro was removed in commit 80da8e02d22caaef ("sh-pfc: r8a7740: Add bias (pull-up/down) pinconf support"), bias parameters are supposed to be configured using the generic pinctl mechanism, which calls the .set_bias() method. However, the PORTCR() macro still represents the control register as consisting of two 4-bit fields. Hence the bias configuration in the uppermost 2 bits is always overwritten with zeroes when a pin is configured for GPIO, disabling any previously configured bias. Use the variable config register macro instead, to represent the register as having 4 fields, and to make sure only the input/output control and function fields are touched. This affects R-Mobile APE6 (r8a73a4), R-Mobile A1 (r8a7740), SH-Mobile AP4 (sh7372), and SH-Mobile AG5 (sh73a0). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit eaef1279fa349db0cbec953e745d91db019a729e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 18:01:41 2015 +0200 pinctrl: sh-pfc: Remove r8a7791 platform_device_id entry The r8a7791 platform is now DT-only, the driver doesn't need to match platform devices by name anymore. Remove the corresponding platform_device_id entry. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 18fd303fea21c98b0b72534e6db47e80d12bf311 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Thu Mar 5 15:27:34 2015 -0800 hwmon: (pwm-fan) Fix build when THERMAL=m Fix build errors when CONFIG_THERMAL=m and SENSORS_PWM_FAN=y by restricting SENSORS_PWM_FAN to 'm' when THERMAL=m. drivers/built-in.o: In function `pwm_fan_remove': pwm-fan.c:(.text+0x22ba58): undefined reference to `thermal_cooling_device_unregister' drivers/built-in.o: In function `pwm_fan_probe': pwm-fan.c:(.text+0x22bebb): undefined reference to `thermal_of_cooling_device_register' pwm-fan.c:(.text+0x22bf11): undefined reference to `thermal_cdev_update' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit de52b049d6d5af635d628d17fcb466d53a9617af Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Mar 4 09:51:05 2015 -0800 hwmon: (pwm-fan) Declare pwm_fan_of_get_cooling_data static Address the following sparse warnings. drivers/hwmon/pwm-fan.c:176:5: warning: symbol 'pwm_fan_of_get_cooling_data' was not declared. Should it be static? drivers/hwmon/pwm-fan.c:176:5: warning: no previous prototype for 'pwm_fan_of_get_cooling_data' pwm_fan_of_get_cooling_data is only used in the pwm-fan driver and thus should be declared static. Cc: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit b5cf88e46badea6d600d8515edea23814e03444d Author: Nishanth Menon <nm@xxxxxx> Date: Thu Jan 8 12:05:03 2015 -0600 (gpio-fan): Add thermal control hooks Allow gpio-fan to be used as thermal cooling device for platforms that use GPIO maps to control fans. As part of this change, we make the shutdown and remove logic the same as well. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit b6bddec01932b94a20b6a7bbb7ed9d98e82ec162 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Thu Feb 26 14:59:37 2015 +0100 hwmon: (pwm-fan) Add support for using PWM FAN as a cooling device The PWM FAN device can now be used as a thermal cooling device. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2e5219c77183be47eb9ae4b1a4195e008d196c73 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Thu Feb 26 14:59:36 2015 +0100 hwmon: (pwm-fan) Read PWM FAN configuration from device tree This patch provides code for reading PWM FAN configuration data via device tree. The pwm-fan can work with full speed when configuration is not provided. However, errors are propagated when wrong DT bindings are found. Additionally the struct pwm_fan_ctx has been extended. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit cb85ca332f4d72ca68464c55f63af0387f6bbdb1 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Thu Feb 26 14:59:35 2015 +0100 hwmon: (pwm-fan) Extract __set_pwm() function to only modify PWM duty cycle It was necessary to decouple code handling writing to sysfs from the one responsible for setting PWM of the fan. Due to that, new __set_pwm() method was extracted, which is responsible for only setting new PWM duty cycle. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 73ef85f42da2df8b567fea109c67ed53db937bcc Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Wed Feb 25 18:58:19 2015 +0100 hwmon: (gpio-fan) allow to use alarm support alone from DT On some boards, such as the LaCie 2Big Network v2 or 2Big NAS (based on Marvell Kirkwood SoCs), an I2C fan controller is used but the alarm signal is wired to a separate GPIO. Unfortunately, the gpio-fan driver can't be used to handle GPIO alarm alone from DT: an error is returned if the "gpios" DT property is missing. This patch allows to use the gpio-fan driver even if the "alarm-gpios" DT property is defined alone. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 6552f327cab8eb6c773ba4f702cf6a371d1dc467 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 27 08:23:37 2015 -0800 hwmon: (nct7904) Strengthen detect function The bank register has five unused bits. Verify that those bits are zero to strengthen the detect function. Cc: Vadim V. Vlasov <vvlasov@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> commit 9c947d25c96ec93485d60f7b783403d518c1418d Author: Vadim V. Vlasov <vvlasov@xxxxxxxxxxxxx> Date: Fri Feb 27 16:16:00 2015 +0300 hwmon: Add Nuvoton NCT7904 hwmon driver The NCT7904D is a hardware monitor supporting up to 20 voltage sensors, internal temperature sensor, Intel PECI and AMD SB-TSI CPU temperature interface, up to 12 fan tachometer inputs, up to 4 fan control channels with SmartFan. Signed-off-by: Vadim V. Vlasov <vvlasov@xxxxxxxxxxxxx> [Guenter Roeck: Fixed whitespace errors, dropped redundant comment] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e8433b42b60e799d55eb2476dc6cb3668c740063 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 13 14:10:46 2015 -0800 hwmon: (it87) No need to skip fan4 for IT8603 IT8603 only supports three fans, so it is not necessary to skip fan4. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit a0c1424acb16326d9b741be8db7a3e776fc28b19 Author: Thomas Lorblanches <zlika_ese@xxxxxxxxxxx> Date: Fri Feb 13 13:19:06 2015 +0100 hwmon: (it87) Add support for IT8786E IT8786E is mostly compatible with IT8771 / IT8772. Parameters determined by testing various combinations. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Thomas Lorblanches <zlika_ese@xxxxxxxxxxx> [Guenter Roeck: merged from github, addressed review comments] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 32dd7c409d52655c4ab68be8e0cdd0985c3fa138 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Feb 12 07:40:23 2015 -0800 hwmon: (it87) Add feature flag for VID support Newer chips don't typically support VID inputs or control. Add a feature flag for VID support to simplify adding support for new chips. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9faf28ca4beb24cd5a01f38c5655f5ae92d834ba Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Feb 12 07:11:38 2015 -0800 hwmon: (it87) Add feature flags for fans count and 16-bit fan configuration Fans 4-5 are not supported on all chips and revisions. Also, 16-bit fan counters are always enabled on some chips. Provide feature flags to simplify adding support for new chips. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit fd044868e8056720b52d41bb61da0fbf7f04fd50 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Feb 24 06:32:40 2015 -0800 hwmon: (it87) Don't configure 16 bit fan counters it not necessary On IT8728F, IT8771E, and IT8772E, fans counters are always 16 bit and don't need to be configured for it. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 0ea2f1db8e6888029b781bbaf68547e2e0996402 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Feb 1 17:20:38 2015 -0800 hwmon: (jc42) Add support for additional IDT temperature sensors TS3000GB0 has a new device ID (0x2913). Since IDT's datasheets suggest that the upper 8 bit of the device ID reflect the chip ID and the lower 8 bit reflect the version number, modify the code to accept all chips with ID 0x29xx. Also add support for TS3001 and TSE2004. Some of the datasheets for older chips are no longer available from the IDT web site, so replace explicit links in the documentation with a generic note. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 7bc32d298b0b597a0a8a6527c9929fac68524d4a Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Jan 17 14:10:24 2015 -0800 hwmon: (it87) Add support for IT8781F IT8781F is mostly compatible to IT8782F. Major difference is that it only supports four instead of six UART channels, and therefore does not share the uart6 pins. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit a0fc74d42d2215496302a0e2c03e9f2db30cc1b7 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 15:15:17 2015 +0100 hwmon: (ibmpex) Allow format string checking The only difference between the three power_sensor_name_templates is whether there is a suffix of "", "_lowest" or "_highest". We might as well pull those into an array and use a literal format string, allowing gcc to do type checking of the arguments to sprintf. Incidentially, the same three suffixes are used in the temp_sensor_name_templates case, so we end up eliminating one static array. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> [Guenter Roeck: Fixed line length over 80 characters] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 1055b5f90424056432430fa06f94f1d12db07fba Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 15:15:16 2015 +0100 hwmon: (coretemp) Allow format checking By extracting the only part that differs we can allow static checking of the format string, and possibly save a little .rodata. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> [Guenter Roeck: continuation line alignment] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e5de75bf88858f5b3ab11e2504b86ec059f03102 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Mar 9 12:30:12 2015 +0100 netfilter: bridge: move DNAT helper to br_netfilter Only one caller, there is no need to keep this in a header. Move it to br_netfilter.c where this belongs to. Based on patch from Florian Westphal. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit de3b696542d3e0fb897149680821dae480c314af Author: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Date: Thu Mar 5 14:36:36 2015 +0100 extend documentation for gpiod_set_array() functions Extend the documentation for the gpiod_set_array() functions and elaborate a bit on possible use cases. Signed-off-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8f2c9544aba636134303105ecb164190a39dece4 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Sep 4 13:14:49 2014 -0500 usb: dwc3: gadget: drop unnecessary loop when cleaning up TRBs Now that we're using XFERINPROGRESS for all endpoint types (except Control), we will *always* be completing one TRB at a time, so it's safe to remove the loop from dwc3_cleanup_done_reqs. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3d0184d087573b7606de45a8e4f01b6222caa47a Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 2 14:12:26 2014 -0500 usb: dwc3: omap: call of_platform_depopulate() instead This patch fixes a bug where removing dwc3-omap.ko would not trigger removal of dwc3.ko. of_platform_depopulate() already bakes an easy to use API for removing all our children which were populated during probe(); Let's use that one instead of cooking our own solution. Note that this is kind of a revert of commit c5a1fbc (usb: dwc3: dwc3-omap: Fix the crash on module removal) although we can't simply revert that because a direct call to platform_device_unregister would also be flakey. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3da1f6ee3563f84395e5d334349a4c9e25d8cbcb Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 2 15:19:43 2014 -0500 usb: dwc3: core: only reset res->start in case of error That trick is only needed if we end up with an error, so there's no point in messing that outside of an error path. In fact doing so causes problems when removing dwc3.ko, problems which commit c5a1fbc (usb: dwc3: dwc3-omap: Fix the crash on module removal) mistakenly tried to fix. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 31a0ede0de49a5897d7d97c68228ae79f86c38f0 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Dec 30 12:42:38 2013 -0600 usb: musb: core: improve musb_interrupt() a bit instead of using manually spelled out bit-shits and iterate over each of the 16-bits (one for each endpoint) on each direction, we can make use of for_each_set_bit() which internally uses find_first_bit(). This makes the code slightly more readable while also making we only iterate over bits which are actually set. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e3c93e1a3f35be4cf1493d3ccfb0c6d9209e4922 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Dec 30 12:33:53 2013 -0600 usb: musb: core: fix TX/RX endpoint order As per Mentor Graphics' documentation, we should always handle TX endpoints before RX endpoints. This patch fixes that error while also updating some hard-to-read comments which were scattered around musb_interrupt(). This patch should be backported as far back as possible since this error has been in the driver since it's conception. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d5638fcf15bc65584877f00d4b0094cc4a66ad4e Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Feb 2 17:14:12 2015 -0600 usb: musb: gadget: get rid of stop_activity() that function is pretty close to a no-op by now, all we need is a call to musb_stop(). Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c7586584c6fd4212e3eb2e83e5cf3c043ddf72be Author: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Date: Wed Feb 25 16:55:06 2015 +0100 iio: mlx90614: Refactor register symbols The defined registers only make sense when used for accessing RAM. Make MLX90614_OP_RAM part of the symbol definition to avoid accidental access to the wrong register. Signed-off-by: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 60d3e3bbd5992bb4478f9f99a4e4c5748a1a1ba7 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Feb 24 13:24:41 2015 +1100 iio: gyro: itg3200: add suspend/resume support. Unless we put the device to sleep when not it use, it wastes 6mA. If the device is asleep on probe, the 'id' register sometimes mis-reads - so reset first. If the device responds at all a command sent to the address, it is almost certainly the correct device already. Acked-by: Manuel Stahl <manuel.stahl@xxxxxxxxxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 39521090e93671c01fbc50d47b6422c2b0aa63b1 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Mar 4 11:50:29 2015 +0800 gpio: mrvl: documentation: trivial: fix typo fix typo in the document. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4e5a800c82ec21335349a97cf58d97fbb0d3c98e Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed Feb 4 13:30:20 2015 -0500 ncr5380: Harmonize jiffies conversion with msecs_to_jiffies Instances of var * HZ / 1000 are replaced by msecs_to_jiffies(var). In addition some timing constants that assumed HZ 100 were adjusted to HZ independent settings based on review comments from Michael Schmitz <schmitzmic@xxxxxxxxx> and review of the original drivers in 1.0.31 and 2.2.16. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Michael Schmitz <schmitzmic@xxxxxxxxx> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 126a6a542446f1a49b9f3c69237c87df3eb4e6e1 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 10 15:27:54 2015 -0500 kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest The host kernel is not doing anything while the CPU is executing a KVM guest VCPU, so it can be marked as being in an extended quiescent state, identical to that used when running user space code. The only exception to that rule is when the host handles an interrupt, which is already handled by the irq code, which calls rcu_irq_enter and rcu_irq_exit. The guest_enter and guest_exit functions already switch vtime accounting independent of context tracking. Leave those calls where they are, instead of moving them into the context tracking code. Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit efc1e2c9bcbab73797d7bc214014cb916d6a8eb5 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 10 15:27:53 2015 -0500 context_tracking: Export context_tracking_user_enter/exit Export context_tracking_user_enter/exit so it can be used by KVM. Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 19fdd98b6253404c6bdd6927bde9f962729376f7 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 10 15:27:52 2015 -0500 context_tracking: Run vtime_user_enter/exit only when state == CONTEXT_USER Only run vtime_user_enter, vtime_user_exit, and the user enter & exit trace points when we are entering or exiting user state, respectively. The KVM code in guest_enter and guest_exit already take care of calling vtime_guest_enter and vtime_guest_exit, respectively. The RCU code only distinguishes between "idle" and "not idle or kernel". There should be no need to add an additional (unused) state there. Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit a3a9c7dff25791f3a1041aa96e770af662d99a35 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 10 15:27:51 2015 -0500 context_tracking: Add stub context_tracking_is_enabled With code elsewhere doing something conditional on whether or not context tracking is enabled, we want a stub function that tells us context tracking is not enabled, when CONFIG_CONTEXT_TRACKING is not set. Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 3aab4f50bff89bdea5066a05d4f3c5fa25bc37c7 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 10 15:27:50 2015 -0500 context_tracking: Generalize context tracking APIs to support user and guest Generalize the context tracking APIs to support various nature of contexts. This is performed by splitting out the mechanism from context_tracking_user_enter and context_tracking_user_exit into context_tracking_enter and context_tracking_exit. The nature of the context we track is now detailed in a ctx_state parameter pushed to these APIs, allowing the same functions to not just track kernel <> user space switching, but also kernel <> guest transitions. But leave the old functions in order to avoid breaking ARM, which calls these functions from assembler code, and cannot easily use C enum parameters. Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit c467ea763fd5d8795b7d1b5a78eb94b6ad8f66ad Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Mar 4 18:06:33 2015 +0100 context_tracking: Rename context symbols to prepare for transition state Current context tracking symbols are designed to express living state. As such they are prefixed with "IN_": IN_USER, IN_KERNEL. Now we are going to use these symbols to also express state transitions such as context_tracking_enter(IN_USER) or context_tracking_exit(IN_USER). But while the "IN_" prefix works well to express entering a context, it's confusing to depict a context exit: context_tracking_exit(IN_USER) could mean two things: 1) We are exiting the current context to enter user context. 2) We are exiting the user context We want 2) but the reviewer may be confused and understand 1) So lets disambiguate these symbols and rename them to CONTEXT_USER and CONTEXT_KERNEL. Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit c5ae732a443e2600823b930457eaab6e25f69b32 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Mar 4 17:36:32 2015 +0100 ppc: Remove unused cpp symbols in kvm headers These don't seem to be used anywhere. Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 1e970b7d6d4fb3d715a34842ec00646f4b94bd72 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Mar 2 15:30:58 2015 -0600 gpio: pxa: simplify BANK_OFF macro offset calculation The macro BANK_OFF which calculates the base offset for each GPIO port. The macro is needlessly complex and unreadable. Simplify the calculation to a simple math operation. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d1bd4867b0959d5221dc528ccf60c8534aae865d Author: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Date: Thu Feb 19 15:16:04 2015 +0100 iio: doc: Describe scale attributes for event thresholds Signed-off-by: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit debf6d843eaa3622786c45eb6edbc46f38f31a90 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Mon Mar 2 12:39:12 2015 +0200 iio: accel: mma9551: Check gpiod_to_irq return value The return value of gpiod_to_irq should be checked before giving it to devm_request_threaded_irq in order to not pass an error code in case it fails. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Reviewed-by: Vlad Dogaru <vlad.dogaru@xxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3494fc30846dceb808de4cc02930ef347fabd21a Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Mar 9 09:22:28 2015 -0400 workqueue: dump workqueues on sysrq-t Workqueues are used extensively throughout the kernel but sometimes it's difficult to debug stalls involving work items because visibility into its inner workings is fairly limited. Although sysrq-t task dump annotates each active worker task with the information on the work item being executed, it is challenging to find out which work items are pending or delayed on which queues and how pools are being managed. This patch implements show_workqueue_state() which dumps all busy workqueues and pools and is called from the sysrq-t handler. At the end of sysrq-t dump, something like the following is printed. Showing busy workqueues and worker pools: ... workqueue filler_wq: flags=0x0 pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=2/256 in-flight: 491:filler_workfn, 507:filler_workfn pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=2/256 in-flight: 501:filler_workfn pending: filler_workfn ... workqueue test_wq: flags=0x8 pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=1/1 in-flight: 510(RESCUER):test_workfn BAR(69) BAR(500) delayed: test_workfn1 BAR(492), test_workfn2 ... pool 0: cpus=0 node=0 flags=0x0 nice=0 workers=2 manager: 137 pool 2: cpus=1 node=0 flags=0x0 nice=0 workers=3 manager: 469 pool 3: cpus=1 node=0 flags=0x0 nice=-20 workers=2 idle: 16 pool 8: cpus=0-3 flags=0x4 nice=0 workers=2 manager: 62 The above shows that test_wq is executing test_workfn() on pid 510 which is the rescuer and also that there are two tasks 69 and 500 waiting for the work item to finish in flush_work(). As test_wq has max_active of 1, there are two work items for test_workfn1() and test_workfn2() which are delayed till the current work item is finished. In addition, pid 492 is flushing test_workfn1(). The work item for test_workfn() is being executed on pwq of pool 2 which is the normal priority per-cpu pool for CPU 1. The pool has three workers, two of which are executing filler_workfn() for filler_wq and the last one is assuming the manager role trying to create more workers. This extra workqueue state dump will hopefully help chasing down hangs involving workqueues. v3: cpulist_pr_cont() replaced with "%*pbl" printf formatting. v2: As suggested by Andrew, minor formatting change in pr_cont_work(), printk()'s replaced with pr_info()'s, and cpumask printing now uses cpulist_pr_cont(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> CC: Ingo Molnar <mingo@xxxxxxxxxx> commit 2607d7a6dba1e790aaacb14600ceffa3aa2f43e7 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Mar 9 09:22:28 2015 -0400 workqueue: keep track of the flushing task and pool manager Add wq_barrier->task and worker_pool->manager to keep track of the flushing task and pool manager respectively. These are purely informational and will be used to implement sysrq dump of workqueues. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit e2dca7adff8f3fae0ab250a6362798550b3c79ee Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Mar 9 09:22:28 2015 -0400 workqueue: make the workqueues list RCU walkable The workqueues list is protected by wq_pool_mutex and a workqueue and its subordinate data structures are freed directly on destruction. We want to add the ability dump workqueues from a sysrq callback which requires walking all workqueues without grabbing wq_pool_mutex. This patch makes freeing of workqueues RCU protected and makes the workqueues list walkable while holding RCU read lock. Note that pool_workqueues and pools are already sched-RCU protected. For consistency, workqueues are also protected with sched-RCU. While at it, reverse the workqueues list so that a workqueue which is created earlier comes before. The order of the list isn't significant functionally but this makes the planned sysrq dump list system workqueues first. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6706bbd843477600a72132c884bc5658d628aa8c Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 9 02:27:43 2015 +0200 Staging: rtl8192u: Remove unnecessary macro definition This patch removes the IEEE80211_PRINT_STR macro definition because it appears only in the header file and it doesn't serve any purpose in this context. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3194e14db920138f4a0a19a03cb4c26db9969445 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 16:11:16 2015 +0530 drivers: staging: iio: accel: Removed unnecessary variable Variable len is used only to store the return value. Hence len is removed and the return statement modified. Coccinelle was used to detect such removable variables: @rule1@ identifier ret; expression e; @@ -ret = +return e; -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90a9de83578fb7890a2f5a96dd393621f165ba5a Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 16:11:17 2015 +0530 drivers: staging: iio: meter: Removed unnecessary variable Variable len is used only to store the return value. Hence len is removed and the return statement modified. Coccinelle was used to detect such removable variables: @rule1@ identifier ret; expression e; @@ -ret = +return e; -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d9f5a2dac916013d9b0560e176a7619f7bf958d Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 16:11:18 2015 +0530 drivers: staging: iio: meter: Removed unnecessary variable Variable ret is used only to store the error code to be returned. Hence use of ret is removed and the return statement modified. Coccinelle was used to prepare the patch: @rule1@ identifier ret; expression e; @@ -ret = +return e; -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07f83131e5b5d309dc8dd41911b66d3ce4c99323 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 16:11:19 2015 +0530 drivers: staging: iio: meter: Removed unnecessary variable Variable ret is used only to store the return value. Hence ret is removed and the return statement modified. Coccinelle was used to detect such removable variables: @rule1@ identifier ret; expression e; @@ -ret = +return e; -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc5797d28b1418872864da7e9a0c52841b2e9177 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 16:11:20 2015 +0530 drivers: staging: iio: meter: Removed unnecessary variable Variable ret is used only to store the return value. Hence ret is removed and the return statement modified. Coccinelle was used to detect such removable variables: @rule1@ identifier ret; expression e; @@ -ret = +return e; -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d0514d5631d8ded3fe42c3a16727039b576f18c Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Mar 9 14:24:42 2015 +0530 Staging rtl8172: Remove unnecessary typecast Using addressof and then casting to the original type is unneeded. So these casts can be removed. Issue detected via Coccinelle script. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c89ca085a5b287acd3bbf35d4cb6be392ae0798f Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 12:02:50 2015 +0530 drivers: staging: rtl8723au: hal: Removed unnecessary parentheses Parentheses around the right side of an assignment statement are unnecessary and hence removed. Coccinelle was used to produce the patch: @rule1@ identifier x,y; constant c; @@ ( x = -( y << c -) ; | x = -( y >> c -) ; | x = -( y + c -) ; | x = -( y - c -) ; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 143ff119553af104ab5c151401bbef11136cfacd Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 12:02:49 2015 +0530 drivers: staging: rtl8723au: core: Removed unnecessary parentheses Parentheses around the right side of an assignment statement are unnecessary and hence removed. Coccinelle was used to produce the patch: @rule1@ identifier x,y; constant c; @@ ( x = -( y << c -) ; | x = -( y >> c -) ; | x = -( y + c -) ; | x = -( y - c -) ; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69e2b47fa082dffad06643c85be2d36f4ef6ab9c Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 12:02:48 2015 +0530 drivers: staging: rtl8712: Removed unnecessary parentheses Parentheses around the right side of an assignment statement are unnecessary and hence removed. Coccinelle was used to produce the patch: @rule1@ identifier x,y; constant c; @@ ( x = -( y << c -) ; | x = -( y >> c -) ; | x = -( y + c -) ; | x = -( y - c -) ; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dce34aee0088fbe89c05cb8e1a21d5bed4fedc5b Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 12:02:47 2015 +0530 drivers: staging: rtl8188eu: core: Removed unnecessary parentheses Parentheses around the right side of an assignment statement are unnecessary and hence removed. Coccinelle was used to produce the patch: @rule1@ identifier x,y; constant c; @@ ( x = -( y << c -) ; | x = -( y >> c -) ; | x = -( y + c -) ; | x = -( y - c -) ; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a429238b9afc35c90ad1c8cc584ff5b0023c1a59 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Mar 7 23:33:25 2015 +0200 Staging: rtl8192u: Replace #include <asm/string.h> The following patch fixes the checkpatch.pl warning: WARNING: Use #include <linux/string.h> instead of #include <asm/string.h> Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a4ed8c50668158135f5fe1ba8aa709656fde951 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Mar 7 23:26:36 2015 +0200 Staging: rtl8192u: Added #include <linux/string.h> instead of <asm/string.h> The following patch fixes the checkpatch.pl warning: WARNING: Use #include <linux/string.h> instead of #include <asm/string.h> Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6a93bc03b3b1542f8871c4d631f2f6af60a0409 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Mar 7 23:15:39 2015 +0200 Staging: rtl8192u: Added #include <linux/string.h> instead of <asm/string.h> The following patch fixes the checkpatch.pl warning: WARNING: Use #include <linux/string.h> instead of #include <asm/string.h> Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d009f0d7ae38bf1fdc0ff1a914a6dee538059869 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sun Mar 8 23:33:40 2015 +0530 staging: rtl8192e: Replace min with min_t This patch replaces min with min_t and eliminates the following warnings found by checkpatch.pl: WARNING: min() should probably be min_t Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3d81a379b0933f3a2e9ceba6cb770ceb4865c18 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sun Mar 8 23:33:39 2015 +0530 drivers: staging: dgnc: Replace min with min_t This patch replaces min with min_t and eliminates the following warning found by checkpatch.pl: WARNING: min() should probably be min_t(uint, n, 12) Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7d63547ea7fe7e4a666aa97e095855e5064b70e Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sun Mar 8 00:03:51 2015 +0300 Staging: speakup: Remove unused variable This patch removes variable that was used to store only the return value of a function call. The issue was detected and resolved using the following coccinelle script: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6019ee4095d9a40927060d33e79344a3f34b8a96 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sun Mar 8 00:02:34 2015 +0300 Staging: dgap: Remove unused variable This patch removes variable that was used to store only the return value of a function call. The issue was detected and resolved using the following coccinelle script: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a8d831df5811f49957cc9b7976319973d088c34 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Mar 5 00:52:36 2015 +0100 netfilter: bridge: refactor conditional in br_nf_dev_queue_xmit simpilifies followup patch that re-works brnf ip_fragment handling. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4a9d2f200862683d6680d5565f30c126625afe65 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Mar 5 00:52:34 2015 +0100 netfilter: bridge: move nf_bridge_update_protocol to where its used no need to keep it in a header file. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8bd63cf1a426e69bf4f611b08978f721e46c194f Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Mar 5 00:52:33 2015 +0100 bridge: move mac header copying into br_netfilter The mac header only has to be copied back into the skb for fragments generated by ip_fragment(), which only happens for bridge forwarded packets with nf-call-iptables=1 && active nf_defrag. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b40c82e6ae85f110d1b53ba24b2ac657cb7bec8c Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Feb 27 09:18:34 2015 +0000 i40e: Fix inconsistent use of PF/VF vs pf/vf Joe Perches pointed out that we were inconsistent in the use of PF vs pf or VF vs vf in our driver code. Since acronyms are usually capitalized to denote that it is an acronym, changed all references to be consistent throughout the code. Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 29a0645c7dfcd664f1e92ab8d7539bba600b7102 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:18:33 2015 +0000 i40e: tame the nvmupdate read and write complaints The NVMUpdate tool doesn't necessarily know the ReadOnly map of the current NVM image, and must try reading and writing words that may be protected. This generates an error out of the Firmware request that the driver logs. Unfortunately, this ends up spitting out hundreds of bogus read and write error message that looks rather messy. This patch checks the error type and under normal conditions will not print the typical read and write errors during NVMUpdate. This can be overridden by enabling the NVM update debugging. This results in a much less messy log file, and likely many fewer customer support questions. Change-ID: Id4ff2e9048c523b0ff503aa5ab181b025ec948ea Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 97bf75f169d20c2aef1081fbe7bb5cc9656a4dc2 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Feb 27 09:18:32 2015 +0000 i40e/i40evf: fix accidental write to ITR registers Fix a bug introduced in the force writeback code, where the interrupt rate was set to 0 (maximum) by accident. The driver must correctly set the NOITR fields to avoid ITR update as a side effect of triggering the software interrupt. Change-ID: I290851ae04ef3811c43aab5ee33242029f26c1a3 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3c8e0b989aa1afc01aa1b236b31b6c7628610c85 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Feb 27 09:18:31 2015 +0000 i40vf: don't stop me now If a reset occurs when the netdev is closed, the reset task will hang in napi_disable, causing deadlocks and general grumpiness. Check to make sure the device is actually running before stopping everything. This allows the reset task to complete and have a real good time. Change-ID: Iaaea84acbcb9b3810c216b14c3326e4287b75b58 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1efc80eeee8c89188e78545c87a613e480aefd96 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:18:30 2015 +0000 i40e: future proof some sizeof calls Make sure the sizeof() calls are taking the size of the actual struct that we care about. By using the pointer variable, we'll always get the right struct size, even if the variable type changes sometime in the future. Change-ID: Id5858f883cf42447365ea3733080d7714f975bce Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d1da3ac0ee0d9a0a0589b309efcf9b1fabb43473 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Feb 27 09:18:29 2015 +0000 i40e: Remove "hello world" strings from i40e driver While using the Linux "strings" command I found these two strings in the driver. There's no need for them and they're kinda silly. Change-ID: I4e19b02983d48b631e9a9979f49790492845f221 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit acd3f6cf0579ef993bbfc50b84592fc8019f7887 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 7 23:30:27 2015 +0530 staging: rtl8188eu: Remove unneeded parentheses This patch removes unneeded parentheses from a if statement for better readability. This issue is identified by checkpatch.pl Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b62a569e4ae2361bac6f601e75aa973d42d7c47d Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 7 23:20:01 2015 +0530 Staging: iio: Change data type to u16 to avoid unnecessary typecast In the adis16220_read16bit() function we earlier used a s16 value 'val' which is used by the adis_read_reg_16 function to read data and takes a u16 value as a parameter. So, this patch changes the data type of 'val' from s16 to u16. It is safe to remove the extra sign extension, since the user of the function uses it to read a 10 unsigned value which will lead to the same result in both cases. Further this patch removes the unnecessary typecast for the simplification of code. In addition to this, initialization of 'val' to 0 is also dropped. This is due to the fact that not initializing helps the compiler provide useful warnings if the code gets changed to return an otherwise uninitialized result. Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04abab698285297115e5096b3100df1064045529 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Feb 11 13:53:15 2015 +0100 include/dma-mapping: Clarify output of dma_map_sg Although dma_map_sg returns 0 on error and it cannot return a value < 0, the function returns a signed integer. Most of the time, this function is used with a scatterlist structure. This structure uses an unsigned integer for the number of memory. A dma developer that has not read in detail DMA-API.txt, can wrongly return a value < 0 on error. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> commit 8582e267e9a29ccfd2151c5d74bc2b1440dfb827 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Feb 11 13:53:14 2015 +0100 asm/dma-mapping-common: Clarify output of dma_map_sg_attrs Although dma_map_sg_attrs returns 0 on error and it cannot return a value < 0, the function returns a signed integer. Most of the time, this function is used with a scatterlist structure. This structure uses an unsigned integer for the number of memory. A dma developer that has not read in detail DMA-API.txt, can wrongly return a value < 0 on error. The comment will help the driver developer, and the WARN_ON the dma developer. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> commit b026e8ed55e05a81018ba4ce73ca0cf2c9300950 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sat Jan 3 23:00:16 2015 +0100 g_NCR5380: Kill compiler warning if builtin If CONFIG_SCSI_GENERIC_NCR5380=y: drivers/scsi/g_NCR5380.c:727: warning: 'id_table' defined but not used In the non-modular case, MODULE_DEVICE_TABLE() expands to nothing, and id_table is not referenced. Correct the existing #ifdef to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 700d98551ff16a59e164bf884aefbdc5d798ff75 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Thu Jan 29 17:54:46 2015 +1100 ncr5380: Drop owner assignment from platform_drivers This platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 4a428bf3d92385f27cbb15bef90754027ba4f2d9 Author: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Date: Sun Mar 8 14:37:23 2015 +0100 iio: mcp3422: Add DT binding documentation Adding binding documentation for ADC MCP3422. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d24fc643b5cfb4fdb0d1bd569e1a2e128c0bf311 Author: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Date: Sun Mar 8 14:36:58 2015 +0100 iio: ti-adc128s052: Add DT binding documentation Adding binding documentation for Texas Instruments' ADC128S052 ADC chip. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b90f8f22ed86f4f1a38dd2178c4be558c0c70fb9 Author: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Date: Mon Mar 2 15:23:54 2015 +0800 gpio: dwapb: re-enable GPIO_DWAPB for arm64 Hisilicon arm64 soc uses designWare gpio, re-enable it after commit 1972c97db5b(gpio: dwapb: fix compile errors). Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3265c4babe93832167cb148083a0544548c23e6a Author: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Date: Fri Mar 6 18:46:21 2015 -0600 crypto: powerpc - move files to fix build error The current cryptodev-2.6 tree commits: d9850fc529ef ("crypto: powerpc/sha1 - kernel config") 50ba29aaa7b0 ("crypto: powerpc/sha1 - glue") failed to properly place files under arch/powerpc/crypto, which leads to build errors: make[1]: *** No rule to make target 'arch/powerpc/crypto/sha1-spe-asm.o', needed by 'arch/powerpc/crypto/sha1-ppc-spe.o'. Stop. make[1]: *** No rule to make target 'arch/powerpc/crypto/sha1_spe_glue.o', needed by 'arch/powerpc/crypto/sha1-ppc-spe.o'. Stop. Makefile:947: recipe for target 'arch/powerpc/crypto' failed Move the two sha1 spe files under crypto/, and whilst there, rename other powerpc crypto files with underscores to use dashes for consistency. Cc: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a508412b169d5398dc5f800147097b255c2941be Author: Feng Kan <fkan@xxxxxxx> Date: Fri Mar 6 14:53:15 2015 -0800 hwrng: xgene - add ACPI support for APM X-Gene RNG unit This adds ACPI support for APM X-Gene RNG unit. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2ca87a17045194638c69be87e2430842f743b00b Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Fri Mar 6 21:36:21 2015 +0100 MAINTAINERS: add crypto-API.tmpl The file Documentation/DocBook/crypto-API.tmpl documents the kernel crypto API and is maintained. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dbe5fe7e1b3b3632bef2c09964a5f5505de4d744 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Fri Mar 6 21:34:22 2015 +0100 crypto: doc - AEAD / RNG AF_ALG interface The patch moves the information provided in Documentation/crypto/crypto-API-userspace.txt into a separate chapter in the kernel crypto API DocBook. Some corrections are applied (such as removing a reference to Netlink when the AF_ALG socket is referred to). In addition, the AEAD and RNG interface description is now added. Also, a brief description of the zero-copy interface with an example code snippet is provided. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cde001e4c3c3625c60b68a83eb1f1c2572dee07a Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Fri Mar 6 08:26:31 2015 +0100 crypto: rng - RNGs must return 0 in success case Change the RNGs to always return 0 in success case. This patch ensures that seqiv.c works with RNGs other than krng. seqiv expects that any return code other than 0 is an error. Without the patch, rfc4106(gcm(aes)) will not work when using a DRBG or an ANSI X9.31 RNG. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4842234f83bfce83c93f84f5972a956ef2c87805 Author: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Date: Fri Mar 6 10:34:42 2015 +0800 hwrng: caam - fix rng_unmap_ctx's DMA_UNMAP size problem Fix rng_unmap_ctx's DMA_UNMAP size problem for caam_rng, else system would report the below calltrace during cleanup caam_rng. Since rng_create_sh_desc() creates a fixed descriptor of exactly 4 command-lengths now, also update DESC_RNG_LEN to (4 * CAAM_CMD_SZ). caam_jr ffe301000.jr: DMA-API: device driver frees DMA memory with different size [device address=0x000000007f080010] [map size=16 bytes] [unmap size=40 bytes] ------------[ cut here ]------------ WARNING: at lib/dma-debug.c:887 Modules linked in: task: c0000000f7cdaa80 ti: c0000000e5340000 task.ti: c0000000e5340000 NIP: c0000000004f5bc8 LR: c0000000004f5bc4 CTR: c0000000005f69b0 REGS: c0000000e53433c0 TRAP: 0700 Not tainted MSR: 0000000080029000 <CE,EE,ME> CR: 24088482 XER: 00000000 SOFTE: 0 GPR00: c0000000004f5bc4 c0000000e5343640 c0000000012af360 000000000000009f GPR04: 0000000000000000 00000000000000a0 c000000000d02070 c000000015980660 GPR08: c000000000cff360 0000000000000000 0000000000000000 c0000000012da018 GPR12: 00000000000001e3 c000000001fff780 00000000100f0000 0000000000000001 GPR16: 0000000000000002 0000000000000000 0000000000000000 0000000000000000 GPR20: 0000000000000000 0000000000000000 ffffffffffffffff 0000000000000001 GPR24: 0000000000000001 0000000000000001 0000000000000000 0000000000000001 GPR28: c000000001556b90 c000000001565b80 c0000000e5343750 c0000000f9427480 NIP [c0000000004f5bc8] .check_unmap+0x538/0x9c0 LR [c0000000004f5bc4] .check_unmap+0x534/0x9c0 Call Trace: [c0000000e5343640] [c0000000004f5bc4] .check_unmap+0x534/0x9c0 (unreliable) [c0000000e53436e0] [c0000000004f60d4] .debug_dma_unmap_page+0x84/0xb0 [c0000000e5343810] [c00000000082f9d4] .caam_cleanup+0x1d4/0x240 [c0000000e53438a0] [c00000000056cc88] .hwrng_unregister+0xd8/0x1c0 Instruction dump: 7c641b78 41de0410 e8a90050 2fa50000 419e0484 e8de0028 e8ff0030 3c62ff90 e91e0030 38638388 48546ed9 60000000 <0fe00000> 3c62ff8f 38637fc8 48546ec5 ---[ end trace e43fd1734d6600df ]--- Signed-off-by: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Acked-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 060e234e959a1c42f40f355963064c3e24981c7f Author: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Date: Fri Mar 6 10:34:41 2015 +0800 crypto: caam - fix uninitialized edesc->sec4_sg_bytes field sec4_sg_bytes not being properly initialized causes ahash_done to try to free unallocated DMA memory: caam_jr ffe301000.jr: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0xdeadbeefdeadbeef] [size=3735928559 bytes] ------------[ cut here ]------------ WARNING: at lib/dma-debug.c:1093 Modules linked in: CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.0.0-rc1+ #6 task: e9598c00 ti: effca000 task.ti: e95a2000 NIP: c04ef24c LR: c04ef24c CTR: c0549730 REGS: effcbd40 TRAP: 0700 Not tainted (4.0.0-rc1+) MSR: 00029002 <CE,EE,ME> CR: 22008084 XER: 20000000 GPR00: c04ef24c effcbdf0 e9598c00 00000096 c08f7424 c00ab2b0 00000000 00000001 GPR08: c0fe7510 effca000 00000000 000001c3 22008082 00000000 c1048e77 c1050000 GPR16: c0c36700 493c0040 0000002c e690e4a0 c1054fb4 c18bac40 00029002 c18b0788 GPR24: 00000014 e690e480 effcbe48 00000000 c0fde128 e6ffac10 deadbeef deadbeef NIP [c04ef24c] check_unmap+0x93c/0xb40 LR [c04ef24c] check_unmap+0x93c/0xb40 Call Trace: [effcbdf0] [c04ef24c] check_unmap+0x93c/0xb40 (unreliable) [effcbe40] [c04ef4f4] debug_dma_unmap_page+0xa4/0xc0 [effcbec0] [c070cda8] ahash_done+0x128/0x1a0 [effcbef0] [c0700070] caam_jr_dequeue+0x1d0/0x290 [effcbf40] [c0045f40] tasklet_action+0x110/0x1f0 [effcbf80] [c0044bc8] __do_softirq+0x188/0x700 [effcbfe0] [c00455d8] irq_exit+0x108/0x120 [effcbff0] [c000f520] call_do_irq+0x24/0x3c [e95a3e20] [c00059b8] do_IRQ+0xc8/0x170 [e95a3e50] [c0011bc8] ret_from_except+0x0/0x18 Signed-off-by: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Acked-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a8c6ecb3be7029881f7c95e5e201a629094a4e1a Merge: 8dd0eb3 9eccca0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 9 19:58:30 2015 +1000 Merge tag 'v4.0-rc3' into drm-next Linux 4.0-rc3 backmerge to fix two i915 conflicts, and get some mainline bug fixes needed for my testing box Conflicts: drivers/gpu/drm/i915/i915_drv.h drivers/gpu/drm/i915/intel_display.c commit 58b59e0f2462780ae3978611519f6a5e477e31df Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 17 10:12:08 2015 +0100 i2c: pca954x: improve usage of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for outputs. Also there is an *_optional variant that serves well here. The sematics is slightly changed here by using it. Now if a reset gpio is specified and getting hold on it fails, pca954x_probe fails, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fef220da43d8537ed7d11da4db17b958cd779887 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:52:25 2015 +0200 i2c: i801: Use managed pcim_* PCI device initialization and reservation Simplifies the code a bit and makes easier to disable PCI device on driver detach by removing the pcim_pin_device() call in the future if needed. Reason why i2c-i801.c doesn't ever call pci_disable_device() was because it made some systems to hang during power-off. See commit d6fcb3b9cf77 ("[PATCH] i2c-i801.c: don't pci_disable_device() after it was just enabled") and http://marc.info/?l=linux-kernel&m=115160053309535&w=2 Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f85da3f5de6f354bc26eb84c013b41a8b8558c5e Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:52:24 2015 +0200 i2c: i801: Remove pci_enable_device() call from i801_resume() Since pci_disable_device() is not called from i801_suspend() and power state is set already it means that subsequent pci_enable_device() calls do practically nothing but monotonically increase struct pci_dev enable_cnt. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1621c59d94d13380015fb5131acc6c14ecd1c797 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:52:23 2015 +0200 i2c: i801: Use managed devm_* memory and irq allocation This simplifies the error and remove paths. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 256493c58625530a958296724b92b344f3271b2f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:52:22 2015 +0200 i2c: i801: Remove i801_driver forward declaration struct pci_driver i801_driver forward declaration is needed only for accessing the name field. Remove it and use dev_driver_string() instead. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9cbbf3dc994797f49cd30607a16182ca6c87863f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:52:21 2015 +0200 i2c: i801: Don't break user-visible strings It makes more difficult to grep these error prints from sources if they are split to multiple source lines. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8dd0eb3566711d81bfbe2b4421b33f0dd723cec4 Merge: d136dfe f89fe1f Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 9 19:41:15 2015 +1000 Merge tag 'drm-intel-next-2015-02-27' of git://anongit.freedesktop.org/drm-intel into drm-next - Y tiling support for scanout from Tvrtko&Damien - Remove more UMS support - some small prep patches for OLR removal from John Harrison - first few patches for dynamic pagetable allocation from Ben Widawsky, rebased by tons of other people - DRRS support patches (Sonika&Vandana) - fbc patches from Paulo - make sure our vblank callbacks aren't called when the pipes are off - various patches all over * tag 'drm-intel-next-2015-02-27' of git://anongit.freedesktop.org/drm-intel: (61 commits) drm/i915: Update DRIVER_DATE to 20150227 drm/i915: Clarify obj->map_and_fenceable drm/i915/skl: Allow Y (and Yf) frame buffer creation drm/i915/skl: Update watermarks for Y tiling drm/i915/skl: Updated watermark programming drm/i915/skl: Adjust get_plane_config() to support Yb/Yf tiling drm/i915/skl: Teach pin_and_fence_fb_obj() about Y tiling constraints drm/i915/skl: Adjust intel_fb_align_height() for Yb/Yf tiling drm/i915/skl: Allow scanning out Y and Yf fbs drm/i915/skl: Add new displayable tiling formats drm/i915: Remove DRIVER_MODESET checks from modeset code drm/i915: Remove regfile code&data for UMS suspend/resume drm/i915: Remove DRIVER_MODESET checks from gem code drm/i915: Remove DRIVER_MODESET checks in the gpu reset code drm/i915: Remove DRIVER_MODESET checks from suspend/resume code drm/i915: Remove DRIVER_MODESET checks in load/unload/close code drm/i915: fix a printk format drm/i915: Add media rc6 residency file to sysfs drm/i915: Add missing description to parameter in alloc_pt_range drm/i915: Removed the read of RP_STATE_CAP from sysfs/debugfs functions ... commit cecae360744d958c0af562e806dbd4632be13efc Merge: 2cf3afc 0d55ba4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 9 10:29:32 2015 +0100 Merge tag 'tip_x86_cacheinfo' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/cpu Pull x86 CPU cacheinfo changes from Borislav Petkov: "Convert x86 cacheinfo code to the generic sysfs cacheinfo infrastructure. (Sudeep Holla)" Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d55ba46bfbee64fd2b492b87bfe2ec172e7b056 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Mar 4 12:00:16 2015 +0000 x86/cacheinfo: Move cacheinfo sysfs code to generic infrastructure This patch removes the redundant sysfs cacheinfo code by reusing the newly introduced generic cacheinfo infrastructure through the commit 246246cbde5e ("drivers: base: support cpu cache information interface to userspace via sysfs") The private pointer provided by the cacheinfo is used to implement the AMD L3 cache-specific attributes. Note that with v4.0-rc1, commit 513e3d2d11c9 ("cpumask: always use nr_cpu_ids in formatting and parsing functions") in particular changes from long format to shorter one for all cpumasks sysfs entries. As the consequence of the same, even the shared_cpu_map in the cacheinfo sysfs was also changed. This patch neither alters any existing sysfs entries nor their formating, however since the generic cacheinfo has switched to use the device attributes instead of the traditional raw kobjects, a directory named "power" along with its standard attributes are added similar to any other device. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andre Przywara <andre.przywara@xxxxxxx> Link: http://lkml.kernel.org/r/1425470416-20691-1-git-send-email-sudeep.holla@xxxxxxx [ Add a check for uninitialized this_cpu_ci for the cpu_has_topoext case too in __cache_amd_cpumap_setup() ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit e94f16a4fde646b3f155788fe37339b61264b0a9 Merge: d2b5851 9eccca0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 08:44:23 2015 +0100 Merge 4.0-rc3 into char-misc-next We want the mei fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4aa01c408b7022c620241b373d4c3707a2ebeab6 Merge: 5371fc0 a1f3f1c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 9 08:42:00 2015 +0100 Merge branch 'for-linus' into for-next Merging the HD-audio fixes back to base devel branch for further working on it. commit 355a73f07d1da405728c9e57afd6eede340788f4 Merge: 197f4d6 9eccca0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 08:13:01 2015 +0100 Merge 4.0-rc3 into staging-next We want the staging fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit becba85f0e1ca8ab97bd7e836a7129a94ace1ff2 Merge: 9eccca0 3372ec2 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 07:08:37 2015 +0100 Merge 4.0-rc3 into tty-testing This resolves a merge issue in drivers/tty/serial/8250/8250_pci.c Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc6c6c2b8a2e1fbaa9e864af62c873dae15420ea Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 7 07:37:06 2015 +0100 net/macb: Update DT bindings documentation Add missing "cdns,at91sam9260-macb", "atmel,sama5d3-gem" and "atmel,sama5d4-gem" compatible strings. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reviewed-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbedd44e982d61c156337b1a3fb252b24085f8e3 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Mar 6 20:49:12 2015 -0800 ethernet: codespell comment spelling fixes To test a checkpatch spelling patch, I ran codespell against drivers/net/ethernet/. $ git ls-files drivers/net/ethernet/ | \ while read file ; do \ codespell -w $file; \ done I removed a false positive in e1000_hw.h Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbe21d92e4d501e4895ef668b43fd8998c9b3b02 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 17:48:28 2015 -0600 net: stmmac: make reset control an optional requirement Not having a reset control line to the ethernet controller should not be a hard failure. Instead, add support for deferred probing and just print out a debug statement. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> CC: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0595439a0a8740f776a0ae367a4c7f243add24ec Author: Nicolas Saenz Julienne <nicolassaenzj@xxxxxxxxx> Date: Sun Mar 8 19:21:20 2015 +0000 power: generic-adc-battery: Fix power_supply_property returned value The POWER_SUPPLY_PROP_STATUS case in gab_get_property() wasn't providing any value. Signed-off-by: Nicolas Saenz Julienne <nicolassaenzj@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9b974499e44536fd524dfad23f4f8477e6e243ab Merge: 008a5b0 b79bda3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 8 19:30:31 2015 -0400 Merge branch 'mpls-next' Eric W. Biederman says: ==================== mpls: Minor fixes and cleanups This is a bunch of small changes that have come out of the discussions of the mpls code and the automated tests that people run against things. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b79bda3d38ae67940f1740f7e015f284eb551680 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:25:56 2015 -0600 neigh: Use neigh table index for neigh_packet_xmit Remove a little bit of unnecessary work when transmitting a packet with neigh_packet_xmit. Use the neighbour table index not the address family as a parameter. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d5f41f276b376d567e919530f8b5fd70be25426 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:24:23 2015 -0600 mpls: Fix the openvswitch select of NET_MPLS_GSO Fix the OPENVSWITCH Kconfig option and old Kconfigs by having OPENVSWITCH select both NET_MPLS_GSO and MPLSO. A Kbuild test robot reported that when NET_MPLS_GSO is selected by OPENVSWITCH the generated .config is broken because MPLS is not selected. Cc: Simon Horman <horms@xxxxxxxxxxxx> Fixes: cec9166ca4e mpls: Refactor how the mpls module is built Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Reviewed-by: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa7da9375677d31dd53ed6253f55cb19e3075811 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:23:23 2015 -0600 mpls: Correct the ttl decrement. According to RFC3032 section 2.4.2 packets with an outgoing ttl of 0 MUST NOT be forwarded. According to section 2.4.1 an outgoing TTL of 0 comes from an incomming TTL <= 1. Therefore any packets that is received with a ttl <= 1 should not have it's ttl decremented and forwarded. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f7bbd5805e3d32e3ee58d1a802a8404a724f2fc Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:22:40 2015 -0600 mpls: Better error code for unsupported option. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19d0c341d9d5cd186661fef58e7264a9701ef71d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:21:56 2015 -0600 mpls: Cleanup the rcu usage in the code. Sparse was generating a lot of warnings mostly from missing annotations in the code. Add missing annotations and in a few cases tweak the code for performance by moving work before loops. This also fixes a problematic ommision of rcu_assign_pointer and rcu_dereference. Hopefully with complete rcu annotations any new rcu errors will stick out like a sore thumb. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d865616e1889d0b6528b5d9b620e13b1607003a5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:19:41 2015 -0600 mpls: Fix the kzalloc argument order in mpls_rt_alloc *Blink* I got the argument order wrong to kzalloc and the code was working properly when tested. *Blink* Fix that. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 008a5b07f1b4beab1004ac799f449b59a45af8e9 Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 11:48:49 2015 -0700 neterion: remove reference to ifconfig Remove reference to obsolete ifconfig command. MTU can be changed with ip command instead. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91c68a7c1d92b48287f2f3111a9b09b26a263d3f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Mar 8 14:12:41 2015 -0700 Input: sun4i-ts - A10 (sun4i) has a different temperature curve Testing has revealed that the temperature in the rtp controller of the A10 (sun4i) SoC has a different curve then on the A13 (sun5i) and later models. Add a new sun5i-a13-ts compatible to differentiate the newer models and set the curve based on the compatible string. The new curve is still not ideal on all A10-s, that seems to have to do with there being a large spread between different A10-s out there, the new curve us based on callibration results on 4 completely different models: raw min raw max temp min temp max stepsize offset Tong Zhang's hackberry 2402 2680 45.0 80.0 0.125 -255.3 Hansg's Cubieboard 2207 2300 36.0 45.0 0.096 -175.8 Olliver's lime 1 (*): 2258 2537 48.3 87.1 0.139 -265.7 Olliver's lime 2 (*): 2222 2486 46.7 91.7 0.170 -331.0 *) from: http://linux-sunxi.org/Temperature_Calibration Average all 4: 0.133 -257.0 Average without outliers (middle 2): 0.132 -261.0 Since it is better to slightly overreport the temperature this patch uses the average of all 4 as curve. This fixes the temperature reported on the A10 being much higher then expected. Reported-by: Tong Zhang <lovewilliam@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 973877477e2f1eecdf8ae4305cd6e030c7cf08db Author: Duson Lin <dusonlin@xxxxxxxxxx> Date: Sun Mar 8 14:08:19 2015 -0700 Input: elan_i2c - remove duplicate repeat code Remove duplicate "repeat--" from function elan_initialize. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ea022bbb0090975a21c581d8405fbe90043a6eda Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 8 14:56:38 2015 +0100 spi: Remove support for legacy PM All SPI drivers have been converted from legacy suspend/resume callbacks to dev_pm_ops. So we can finally remove support for legacy PM from the SPI core. Since there aren't any special bus specific things to do during suspend/resume and since the PM core will automatically fallback directly to using the device's PM ops if no bus PM ops are specified there is no need to have any special SPI bus PM ops. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 47875e81476bda8a9bd4875eb281b46e33027d42 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 8 14:56:37 2015 +0100 spi: Use PM ops instead of legacy suspend/resume New drivers should use PM ops instead of the legacy suspend/resume callbacks. Update the SPI device driver guide to reflect this. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 778952598e53f09251bebe1655177b355cd9e836 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Mar 7 19:35:08 2015 +0100 ASoC: Remove unnecessary device_remove_file() Since commit d29697dc3b92 ("ASoC: Add sysfs entries via static attribute groups") the sysfs attributes of the rtd are manged by the device core and there is no need to manually call device_remove_file() anymore. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ec28ce66aa4b0f7aaab0d496ee293ff2a52dd20 Author: Kevin Tsai <ktsai@xxxxxxxxxxxxxxxx> Date: Thu Feb 19 15:02:51 2015 -0800 iio: light: Added PM support for Capella CM3232 ambient light sensor driver. Added Power Management Support. Signed-off-by: Kevin Tsai <ktsai@xxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 21bd23ea128d083bf8a4fd570a66a128d58465b5 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 14 20:32:45 2015 -0800 Staging: iio: meter: ade7854-i2c: code style improvements Code reformatting based on checkpatch.pl with --strict: Comparison to NULL rewritten as !indio_dev Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b5c4437872de508073355e927b1fcdba4980cba7 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 14 20:32:43 2015 -0800 Staging: iio: meter: ade7854-i2c: code style improvements Code reformatting based on checkpatch.pl with --strict: Alignment should match open paranthesis cases corrected Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 28da06dfd9e4b04577c517f9c4b52aaa73e3d1c7 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:16 2015 +0100 irqchip: armada-370-xp: Enable the PMU interrupts In order to let the Performance Monitoring Unit interrupts flowing in the MPIC, we need to unmask these interrupts in the Coherency Fabric Local Interrupt Mask Register. Since this register is a CPU-local register, unmasking this interrupt needs to be done on the boot CPU when the driver initializes, but also on the secondary CPU when they are brought up. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1425379400-4346-4-git-send-email-maxime.ripard@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2c299de527ca2f39d231a257c00d09c498bb8447 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:15 2015 +0100 irqchip: armada-370-xp: Introduce a is_percpu_irq() helper for readability This commit introduces a helper function is_percpu_irq(), to be used when interrupts are mapped to decide which ones are set as per CPU. This change will allow to extend the list of per cpu interrupts in a less intrusive fashion; also, it makes the code slightly more readable by keeping a list of the per CPU interrupts. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1425379400-4346-3-git-send-email-maxime.ripard@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 933a24b06b42617ef9fffece1857c5c4b23329aa Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:14 2015 +0100 irqchip: armada-370-xp: Initialize per cpu registers when CONFIG_SMP=N The irqchip driver called armada_xp_mpic_smp_cpu_init() when CONFIG_SMP=Y to initialize some per cpu registers. The function is called on each CPU by calling it explicitly on the boot CPU and then using a CPU notifier for the non boot CPUs. This commit removes the CONFIG_SMP constrain, so the per cpu registers are also initialized when CONFIG_SMP=N, which is the right thing to do. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1425379400-4346-2-git-send-email-maxime.ripard@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b3beed7fe83b077291aa32d1f3006c8480f6344b Author: Duson Lin <dusonlin@xxxxxxxxxx> Date: Sat Mar 7 20:57:54 2015 -0800 Input: elan_i2c - return error code when resume fails In order to better diagnose potential issues let's return error to the upper layers when resuming the device fails and also add a few diagnostic messages. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ceb5b6c8bee4841abac9e010c6069934d0f7c996 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Feb 19 16:22:31 2015 -0800 Input: pwm-beeper - remove unneeded PWM_BEEPER_PM_OPS define The device->pm pointer is always present so there is no need to do tricks with conditionally defining the pointer. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4a073175392df3aa84fabca5a1bde47f36677d69 Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 1 23:41:28 2015 +0100 irqchip: vf610-mscm: Add Vybrid MSCM bindings Add binding documentation for CPU configuration and interrupt router submodule of the Miscellaneous System Control Module. The MSCM is used in all variants of Freescale Vybrid SoC's. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Link: https://lkml.kernel.org/r/1425249689-32354-3-git-send-email-stefan@xxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0494e11aafc7855b1600fe19f04fadf682e52da9 Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 1 23:41:27 2015 +0100 irqchip: vf610-mscm-ir: Add support for Vybrid MSCM interrupt router This adds support for Vybrid's interrupt router. On VF6xx models, almost all peripherals can be used by either of the two CPU's, the Cortex-A5 or the Cortex-M4. The interrupt router routes the peripheral interrupts to the configured CPU. This IRQ chip driver configures the interrupt router to route the requested interrupt to the CPU the kernel is running on. The driver makes use of the irqdomain hierarchy support. The parent is given by the device tree. This should be one of the two possible parents either ARM GIC or the ARM NVIC interrupt controller. The latter is currently not yet supported. Note that there is no resource control mechnism implemented to avoid concurrent access of the same peripheral. The user needs to make sure to use device trees which assign the peripherals orthogonally. However, this driver warns the user in case the interrupt is already configured for the other CPU. This provides a poor man's resource controller. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Link: https://lkml.kernel.org/r/1425249689-32354-2-git-send-email-stefan@xxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit d7ed7474a87d5515a3860473b650bbb1e047f9e5 Merge: 04b0a80 cd77f5e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 7 22:36:12 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-07 This series contains updates to i40e and i40evf only. Most notably, Greg provides the patch to remove the dreaded configfs changes in the driver. Shannon cleans up a sparse warning by simply straighting out the code so it is less convoluted. Fixes an issue where the vector allocation was trying too hard to save vectors for VMDq, to the point of not giving the PF enough when in a tight situation, such as an NPAR partition. Changed the driver to make sure that the PF will get all the queues and vectors it wants to fill out its destiny. Cleans up reporting to only print the port and VEB stats if it is the first partition of a multiplexed port. Catherine cleans up some duplicated code by simply removing the duplicate code. Kamil cleans up the driver by removing an un-needed endian conversion because it is already done by a register read function. Jesse fixes a variable width of a datatype, where a u16 should have been a u32. Also cleans up debug_read_register() to resolve some sparse warnings. Updates the driver to use prefetch() to get the next Tx descriptor, like in ixgbe, to improve performance. Akeem moves around code to enable/disable loopback so that other non-SRIOV supported driver functions can take advantage of the changes. Anjali cleans up the logging for adding/deleting FD-SB filters, since ethtool shows all the filters on an interface. Updates the driver to use l4_tunnel type generically to keep code flow simple. Simplifies the RSS code since the driver initializes the rss_size_max in sw_init. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04b0a80b57e9c45dd16c6dca7de892dac3812190 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Mar 6 22:23:52 2015 -0800 net: dsa: mv88e6352: Add support for EEE Enable EEE support for MV88E6352. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11b3b45d69f1709aae6bb48b214064e22f0b5ef7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Mar 6 22:23:51 2015 -0800 net: dsa: mv88e6xxx: Add EEE support EEE configuration is similar for the various MV88E6xxx chips. Add generic support for it. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f5a272c99108d9f8450c454a4baede9e7cc643f Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Fri Mar 6 13:45:00 2015 -0800 net: bcmgenet: rework Rx queue init In preparation for supporting multiple Rx queues: 1. Move the initialization of priv->num_rx_bds, priv->rx_bds, and priv->rx_cbs from bcmgenet_init_rx_ring() to bcmgenet_init_dma() since they are not specific to a single Rx queue. Mimics the Tx init model where priv->num_tx_bds, priv->tx_bds, and priv->tx_cbs are initialized in bcmgenet_init_dma(). 2. Program DMA_MBUF_DONE_THRESH = 1 so that future Rx queues Q0-Q15 will get per-packet Rx interrupt. 3. Group DMA_START_ADDR, RDMA_READ_PTR, RDMA_WRITE_PTR, and DMA_END_ADDR initialization together. Mimics the Tx init model. 4. There is 1-to-1 mapping between RxCBs and RxBDs. Precalculate RxCB->bd_addr so that it can be used in the future. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae00ec9548f7020734eef340a5f1d96720551713 Merge: 1b5ef07 421d9df Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 7 22:31:56 2015 -0500 Merge branch 'macb-next' Merge branch 'macb-next' Boris Brezillon says: ==================== net/macb: merge at91_ether driver into macb driver The rm9200 boards use the dedicated at91_ether driver instead of the regular macb driver. Both the macb and at91_ether drivers can be compiled as separated modules. Since the at91_ether driver uses code from the macb driver, at91_ether.ko depends on macb.ko. However the macb.ko module always fails to load on rm9200 boards: the macb_probe() function expects a hclk clock which doesn't exist on rm9200. Then the at91_ether.ko can't be loaded in turn due to unresolved dependencies. This series of patches fix this issue by merging at91_ether into macb. Patch 1 is fixing a problem that might happen when enabling ARM multi-platform suppot. Changes since v3: - move "net: macb: remove #if defined(CONFIG_ARCH_AT91) sections" patch into this series to avoid dependency on other patch series. Changes since v2: - rebase after changed brought by commit "net: macb: remove #if defined(CONFIG_ARCH_AT91) sections" Changes since v1: - rework probe functions to share common probing logic ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 421d9df0628be16e55705573ab49d8ddb6a1d68c Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Sat Mar 7 07:23:32 2015 +0100 net/macb: merge at91_ether driver into macb driver macb and at91_ether drivers can be compiled as modules, but the at91_ether driver use some functions and variables defined in the macb one, thus creating a dependency on the macb driver. Since these drivers are sharing the same logic we can easily merge at91_ether into macb. In order to factorize common probing logic we've added an ->init() function to struct macb_config (the structure associated with the compatible string), and moved macb specific init code from macb_probe to macb_init. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93b31f48b3ba84cc5fc310c9765d11ebbeede7b5 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Sat Mar 7 07:23:31 2015 +0100 net/macb: unify clock management Most of the functions from the Common Clk Framework handle NULL pointer as input argument. Since the TX clock is optional, we now set tx_clk to NULL value instead of ERR_PTR(-ENOENT) when this clock is not available. This simplifies the clock management and avoid the need to test tx_clk value. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a848748959d554666b34cffc08ef2d23f4bb2990 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 7 07:23:30 2015 +0100 net: macb: remove #if defined(CONFIG_ARCH_AT91) sections With multi platform support those sections could lead to unexpected behavior if both ARCH_AT91 and another ARM SoC using the MACB IP are selected. Add two new capabilities to encode the default MII mode and the presence of a CLKEN bit in USRIO register. Then define the appropriate config for IPs embedded in at91 SoCs. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reviewed-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c348d45d829be10bea4cb8e675f14a1baf9bab1 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 7 07:23:29 2015 +0100 ARM: at91/dt: fix macb compatible strings Some at91 SoCs embed a 10/100 Mbit Ethernet IP, that is based on the at91sam9260 SoC. Fix at91 DTs accordingly. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reviewed-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9558659e68ee30740f265c54f792bf75add21f2 Merge: f791e3c f1f5bc3 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sat Mar 7 21:56:47 2015 +0000 Merge branch 'irqchip/st' into irqchip/core commit 0402d9f233ac5d66b39452037fef88333b06d51c Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sat Mar 7 20:52:28 2015 +0100 Bluetooth: fix sco_exit compile warning While compiling the following warning occurs: WARNING: net/built-in.o(.init.text+0x602c): Section mismatch in reference from the function bt_init() to the function .exit.text:sco_exit() The function __init bt_init() references a function __exit sco_exit(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __exit annotation of sco_exit() so it may be used outside an exit section. Since commit 6d785aa345f525e1fdf098b7c590168f0b00f3f1 ("Bluetooth: Convert mgmt to use HCI chan registration API") the function "sco_exit" is used inside of function "bt_init". The suggested solution by remove the __exit annotation solved this issue. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4fd9bbc6e0713a0106a7771b639a963f4b2411c6 Author: Tien Hock Loh <thloh@xxxxxxxxxx> Date: Tue Feb 24 01:53:02 2015 -0800 drivers/gpio: Altera soft IP GPIO driver device tree binding Adds a new driver device tree binding for Altera soft GPIO IP Signed-off-by: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 02232be7a2bf6e2dd5e4a6c3a81470a09ecc7fdd Author: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Date: Mon Feb 16 17:32:48 2015 +0100 ab8500_fg.c: only request threaded IRQs when necessary All 5 IRQ handlers of the driver are requested as threaded interrupt handlers. However, only 1 handler can block. The remaining 4 handlers defer the actual handling to a workqueue. Hence, 4 of 5 IRQ handlers have a considerable overhead, since they are executed in a kernel thread to schedule another kernel thread (workqueue). This change splits up the 5 interrupt handlers into top halves (_th) and bottom halves (_bh) and resolves the aforementioned overhead by only requesting threaded interrupts (i.e., bottom halves) when necessary. Signed-off-by: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c5abbba932a4afd82cb35f3d6e691a2b4a0613be Author: Tien Hock Loh <thloh@xxxxxxxxxx> Date: Tue Feb 24 01:53:03 2015 -0800 drivers/gpio: Altera soft IP GPIO driver Adds a new driver for Altera soft GPIO IP. The driver is able to do read/write and allows GPIO to be a interrupt controller. Tested on Altera GHRD on interrupt handling and IO. v10: - Updated conflicting device tree parameters - Removed unused headers - Used macro instead of magic numbers for ngpio - Code readability cleanup using ?: and temporal variables - Removed leftover garbage and unnecessary function calls - Checked bgpio_init but unusable because Altera GPIO may not be a multiple of 8 bits v9: - Removed duplicated initialization on set_type using temporals to improve code readability in calling generic_handle_irq - Using ?: ternary to reduce code size v8: - Using for_each_set_bit - Added const for struct definition - Removed naggy pr_err - Sort alpha header - Remove unused macros - Use fixed width data types instead of unsigned long - Whitespace issue fixes - Removed _relaxed function for better compatibility across different CPU - Changed irq_create_mapping to platform_get_irq updated implementation to use gpiochip_irqchip_add - Reserve interrupt-cells number 2 in device tree binding for future use - Remove confusing sections on devicetree bindings - Added tristate Kconfig help text v7: - Used dev_warn instead of pr_warn - Clean up unnecesarry if else indentation v6: - Added irq_startup and irq_shutdown - Changed bitwise clamping style - Cleanup bitwise operation to improve readability change naming of mapped irqs from virq to mapped_irq v5: - Dispose irq_domain mapping correctly - Update optional binding description in binding docs v4: - Added vendor prefix to devicetree binding for IP specific properties using MMIO GPIO helper library instead of manually map PIO to memory - altera_gpio_chip inline struct documentation to kerneldoc - Using dev_ print to print a better failure message v2, v3: - Do not reference NO_IRQ - Updated irq_set_type to only allow the hardware configured irq type Signed-off-by: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1672d933af196f69a69af8f1fe616750f7089592 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Mar 4 12:44:33 2015 +0900 iio:adc: Fix typo in MODULE_DESCRIPTION in ad7793.c This patch fix spelling typo in MODULE_DESCRIPTION Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 70dddeee8945a0e62525a278ae7b91778f82f765 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Mon Mar 2 21:03:05 2015 +0200 iio: fix drivers that check buffer->scan_mask If the in-kernel push interface is used we may have a different masks on the device buffer and the kernel buffer and in this case the device should generate data for the reunion of the buffers, which is available at indio_dev->active_scan_mask. Compiled tested only except for bmc150-accel which was tested at runtime with the hardware. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5a5bf49088f4c92f36786a2e4c20e17f715f0827 Author: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Date: Wed Feb 4 16:24:38 2015 -0800 X-Power AXP288 PMIC Fuel Gauge Driver New power_supply driver at driver/power which interfaces with the axp20x mfd driver as a cell. Provides battery info, monitors for changes, and generates alerts on temperature and capacity issues Signed-off-by: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b571a77a0dec969728e102971dd126cf374c2cef Author: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Date: Wed Feb 4 16:24:36 2015 -0800 mfd/axp20x: change battery cell name to fuel gauge Name changes to the battery cell structure to a more generic cell type: fuel gauge. Signed-off-by: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 776920e16a74b0009765d84b6c267fe820966307 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Mar 7 15:14:59 2015 +0100 ARM: dts: rockchip: add input supplies for the act8846 on Radxa Rock On the Radxa Rock board most supplies come from the static 5v vsys supply, but the inl1-supply comes from the REG4 of the act8846 itself. Model this dependency using the added supply-handling to make sure the supplying regulator gets handled correctly and not accidentially turned off. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 0e1392d9df3dca4c1774a0c61fd85fce81cb88cd Author: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Date: Thu Mar 5 13:23:57 2015 +0200 bq2415x_charger: Add support for bq24157s This patch adds bq24157s charger in the list of supported chargers. bq24157s is similar to bq24158, except for Bit6 from Special Charger Voltage/Enable Pin Status register, but this register is currently not used by bq2415x_charger. Signed-off-by: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 42d0631bb6c9bd730437cca19e5b870ecd24215d Author: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Date: Thu Mar 5 13:23:56 2015 +0200 bq2415x_charger: Remove unnecessary else after return Fix coding style to comply with checkpatch.pl Signed-off-by: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit aa5e18320788728476e84e2140aa736bc5525c87 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sat Mar 7 19:35:37 2015 +0200 iwlwifi: mvm: fix compilation with IWLWIFI_DEBUGFS not set The commits below broke compilation when CONFIG_IWLWIFI_DEBUGFS is not set. FIx that. Fixes: ddf89ab10a93 ("iwlwifi: mvm: allow to force the Rx chains from debugfs") Fixes: 9d761fd8a583 ("iwlwifi: mvm: add trigger for firmware dump upon missed beacons") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c8b263cc03eaaa324c9222474191e6d849cb6dda Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Mar 7 16:33:53 2015 +0100 regulator: act8865: add input supply handling The act88600/act8846/act8865 regulators have a number of input supplies supplying the individual regulators. This may even be recursively like on most Rockchip boards using the act8846 where REG4 is most of the time connected to the inl1-supply. Therefore add the ability to specify the input supplies for the individual inputs. The input-names are taken from the datasheets of act8600, act8846 and act8865. On the act8600 some regulators do not have separate input supplies. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3b1c0badbc86c034af55704ea88c1e656b402fe Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:33:09 2015 +0000 ASoC: rsnd: add sample code of reg-names Current rsnd driver supports reg-names, and Audio DMAC peri peri. This patch adds sample code for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e80a2fb18bc7dca116ec623dc909f07c5e505349 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:32:49 2015 +0000 ASoC: rsnd: add sample code of dma entry rsnd driver supports Audio DMAC (via DMAEngine) / Audio DMAC peri peri (via rsnd driver) now. This patch adds DT binding sample code on DT binging text Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bb02714fe5f198c0f07a8039ebcc636c1bffbc03 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:32:15 2015 +0000 ASoC: rsnd: add sample code of missing clocks Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5cf4f68672856dcbca883b460aee4ee5bfbeafb0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:31:55 2015 +0000 ASoC: rsnd: add sample code of rcar_sound,src irq cfcefe01265cbaf5ca7209226d043b07bfa8b587 (ASoC: rsnd: add recovery support for under/over flow error on SRC) added SRC recovery support which needs IRQ. This patch adds SRC irq sample code on DT bingdings text Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 72adc61f4637aa3596c1db1129f84d768475a885 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:31:23 2015 +0000 ASoC: rsnd: 1st DMAC dma-names cares subnode Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC). And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine. But, in result of DMA ML discussion, 2nd DMAC was concluded that it is not a general purpose DMAC (2nd DMAC is for Device to Device inside sound system). Additionally, current DMAEngine can't support Device to Device, and we don't have correct DT bindings for it at this point. So the easiest solution for it is that move it from DMAEngine to rsnd driver. dma-names on DT was implemented as no difference between 1st / 2nd DMAC's, since rsnd had assumed that both DMACs are implemented as DMAEngine. That style was "src_dst". But now, 2nd DMAC was implemented as non DMAEngine, and it doesn't need dma-names anymore. So, this dma-names rule is no longer needed. And additionally, dma-names was assumed that it has all (= SSI/SSIU/SRC/DVC) nodes under sound node. In upstream code, no SoC/platform is supporting DMA for rsnd driver yet. This means there is no compatible issue if this patch changes dma-names's rule of DT. This patch assumes dma-names for 1st DMAC are tx/rx base, and listed in each SSI/SRC/DVC subnode ex) rcar_sound,dvc { dvc0: dvc@0 { dmas = <&audma0 0xbc>; dma-names = "tx"; }; ... rcar_sound,src { src0: src@0 { ... dmas = <&audma0 0x85>, <&audma1 0x9a>; dma-names = "rx", "tx"; }; ... rcar_sound,ssi { ssi0: ssi@0 { ... dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>; dma-names = "rx", "tx", "rxu", "txu"; }; ... Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93b986e246248d0587acb4f073a621179a16b763 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:30:41 2015 +0000 ASoC: rsnd: dvc: add rsnd_dvc_of_node() This patch adds rsnd_dvc_of_node() to get DVC subnode from DT. This is prepare for new DT bindings for 1st DMAC Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82e76ed38edbdb338d64f5f2486fcd1482c8859a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:30:22 2015 +0000 ASoC: rsnd: src: add rsnd_src_of_node() This patch adds rsnd_src_of_node() to get SRC subnode from DT. This is prepare for new DT bindings for 1st DMAC Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 04e627baa68a8dc42f19b68e1b46d1c6aecebfd9 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:30:02 2015 +0000 ASoC: rsnd: ssi: add rsnd_ssi_of_node() This patch adds rsnd_ssi_of_node() to get SSI subnode from DT. This is prepare for new DT bindings for 1st DMAC Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e879a9ddf41c47ccc83039e99e04b0d5c56cd0c5 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:29:41 2015 +0000 ASoC: rsnd: enable rsnd_ssi_use_busif() for DMA Renesas R-Car sound driver uses SSI, but the DMA interfaces are SSI/SSIU. This interface is based on SSI/SRC/DVC connection. And DMA function needs to know which interface is used somehow. This patch enables rsnd_ssi_use_busif() for DMA. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0d00a52182be985bfae67d407ee81fefe448a0fd Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:29:13 2015 +0000 ASoC: rsnd: use union with rsnd_dmaen / rsnd_dmapp Renesas R-Car needs 2 DMACs.1st DMAC is DMAEngine, and 2nd DMAC is implemented as local code. These 2 DMACs are never shared. We can use union for these. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aaf4fce019ecd55a2d93b6111525deeef300f751 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:28:32 2015 +0000 ASoC: rsnd: remove rsnd_dma::dir DMAEngine direction can be calculated from rsnd_dai_stream, So, rsnd_dma::dir does not make sense now. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 56f2906ae2d0b48b64a67feef99e3be3b40c3617 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:28:07 2015 +0000 ASoC: rsnd: remove rsnd_dma::addr DMAEngine for Renesas R-Car driver is used only for Audio DMAC now. rsnd_dma::addr was added to support Audio DMAC peri peri, but it is no longer needed. Let's remove it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 288f392e729dd4d3719c2319c7c3f8d4c820488b Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:27:42 2015 +0000 ASoC: rsnd: add Audio DMAC peri peri support rework Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC). And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine. But, in result of DMA ML discussion, 2nd DMAC was concluded that it is not a general purpose DMAC (2nd DMAC is for Device to Device inside sound system). Additionally, current DMAEngine can't support Device to Device, and we don't have correct DT bindings for it at this point. So the easiest solution for it is that move it from DMAEngine to rsnd driver. Audio DMAC peri peri is controlled from sound driver without DMAEngine by this patch. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3c68565b6cb68b731b51eb21b59dce901002fc6e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:27:12 2015 +0000 ASoC: rsnd: enable to care 1st / 2nd DMAC on rsnd_dma_xxx() rsnd driver needs to care about Audio DAMC (via DMAEngine), Audio DMAC peri peri (via local method) on rsnd driver. This patch adds new rsnd_dma_ops and care it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 747c71b12ee8357e73a88eb25f569e2a20e80df3 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:26:29 2015 +0000 ASoC: rsnd: move rsnd_gen_dma_addr() from gen.c to dma.c Now, we have dma.c for Audio DMAC / Audio DMAC peri peri. rsnd_gen_dma_addr() should go there. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bfe834be9525a82c8a40380c7df8ca3b149e9c93 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:25:55 2015 +0000 ASoC: rsnd: add dma.c for Audio DMAC / Audio DMAC peri peri Renesas sound driver had been assumed that Audio DMAC / Audio DMAC peri peri are implemented by DMAEngine. But, result of DMA ML discussion, it was concluded that it is not a general purpose DMAC. And it should be moved from current DMAEngine to rsnd driver. So, Audio DMAC peri peri become non DMAEngine. OTOH, ALSA SoC has soc-generic-dmaengine-pcm implementation. but it seems difficult to use this generic implementation on rsnd driver at this point, since it needs to fallback to PIO mode if DMA can't use. and additionally it needs 2 DMAC (= Audio DMAC / Audio DMAC peri peri). These are not "generic" feature. Of course I will try to use this generic dmaengine in the future somehow, but just use current style at this point until it can formally use 2 DMACs. This patch adds new dma.c and moves current dma code to dma.c from core.c. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c5212b4556b6bd120b0f4e4ae7c4a1cb9f5efe07 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:25:27 2015 +0000 ASoC: rsnd: add rsnd_gen_get_phy_addr() to get physical address physical address is required from Audio DMAC peri peri. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7277911c87ba85436600f5b7aab15de112416795 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:24:52 2015 +0000 ASoC: rsnd: enable to get resource by name rsnd driver needs to support Audio DMAC peri peri inside sound driver. getting resource by name is useful for it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4ce3b17bd43b4f0136b1d0c7782d06fe9d3addfb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:24:27 2015 +0000 ASoC: rsnd: tidyup rsnd_dma_to_mod() macro declaration position Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8a2ff4262ca611c38b31fec0af65be656d934f52 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:24:06 2015 +0000 ASoC: rsnd: remove un-needed parameter from rsnd_dma_quit() priv is not used on rsnd_dma_quit() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9c706ab29f33b9562f570d1e99e21955d898dc85 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:23:39 2015 +0000 ASoC: rsnd: remove unused rsnd_dma_available() rsnd_dma_available() is not used. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4715219ecef50cf79d7784545bf5bb4664bb800d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:23:08 2015 +0000 ASoC: rsnd: remove un-needed parameter from rsnd_dma_init() It can get DMA direction via rsnd_dai_stream. Remove un-needed is_play from rsnd_dma_init(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c303cf0895ad927f5e9b8a5f8ed1c6b8c96a500f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:22:37 2015 +0000 ASoC: rsnd: remove SH-DMA-BASE specific implementation Renesas R-Car sound had SH-DMA-BASE specific implementation before, but, now, it is no longer needed. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0aed11244360c24c854a263eac0293acef2abd03 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 24 00:54:16 2015 +0000 dmaengine: export symbol of of_dma_request_slave_channel() Current DMAEngine implementation of DT bindings can't support DT subnode. This patch export symbols of of_dma_request_slave_channel() for subnode DMA DT bingings. ex) rcar_sound: rcar_sound@ec500000 { ... rcar_sound,dvc { dvc0: dvc@0 { dmas = <&audma0 0xbc>; dma-names = "tx"; }; dvc1: dvc@1 { dmas = <&audma0 0xbe>; dma-names = "tx"; }; }; ... }; Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd77f5e1fa17de2479d838a36fed0bc98b0a42c2 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Mar 6 01:41:07 2015 +0000 i40e: Strip configfs code The use of configfs is not allowed in network drivers. Strip the code that uses it. Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b85e911b7580d6a8ea7ebc9831c5ac566c595e4b Author: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Date: Fri Feb 27 09:15:33 2015 +0000 i40e/i40evf: Bump version Bump i40e to 1.2.12 and i40evf to 1.2.6. Change-ID: I641871da3a9abd396b28eda5744a4d68493c1400 Signed-off-by: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 016890b99482745646de091d795384efd83f5d20 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Feb 27 09:15:31 2015 +0000 i40e/i40evf: enable prefetch of Tx descriptors during cleanup Performance can be improved a bit by imitating ixgbe and using prefetch to get us the next Tx descriptor. Change-ID: Ice7ffd4cd0ce87c35295059bdb7972a7f53723aa Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d9e894ee8a06b0324b9d9f951c0276a7409b8518 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Feb 27 09:15:30 2015 +0000 i40e: Simplify code for rss_size_max config We initialize the pf->rss_size_max in sw_init now and hence this code can be simplified. Change-ID: I1a7abc837604a40bc65e6c6b21190b909ed6bb21 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4599120466c784f8b2afef6fb2b7a452a73b400e Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Feb 27 09:15:29 2015 +0000 i40e/i40evf: Simplify tunnel selection logic Use l4_tunnel type generically to keep code flow simple. Change-ID: Ic52287e3b1ca4204e6b6e13431890c1a6ae9c422 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 34825e511971e193db16a96350faeb60eff0d842 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Sat Mar 7 01:41:36 2015 +0900 extcon: Fix the checkpatch warning This patch fixes the checkpatch warning about coding style. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit f68a8342b1082d9a4b084cb085396e562899bc62 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Sat Mar 7 22:58:10 2015 +0900 extcon: Rename extcon core driver This patch renames the extcon core driver from extcon-class.c to extcon.c because '-class' postfix is not necessary. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 04294e38a451b37288d61e52fa07ed087c5cdc02 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Feb 27 09:15:28 2015 +0000 i40e: FD filters flush policy changes Since GLQF_FDCNT_0 register now has the right offset, use it to simplify our FD flush flow. If the filter add error happens to be for SB we just auto disable SB. If filter error happens to be for ATR, auto disable ATR and mark the state to FD_FLUSH_REQUESTED. Which gets cleared when flush completes. If we are entering flush too quickly (< 30 seconds) and we have quite a few SB rules, its time to disable ATR for good. Since SB + ATR rules is most likely making the FD table unstable. ATR can be re-enabled by turning ntuple off (ethtool -K ntuple off) and will remain off after turning ntuple on till it gets unstable again. Change-ID: I2154a2e0a5d44851a2f0eb8731e2f1d4a4d1acbc Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4205d379b6ff61472a94efe55b9a103582257ab8 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Feb 27 09:15:27 2015 +0000 i40e: Avoid logs while adding/deleting FD-SB filters It is not necessary to print FD filter add/delete log with normal debug settings because ethtool -n ethx shows all the FD-SB filters on an interface. The log can still be turned on through higher debug levels and it will continue to print a log if there was an error in the add/delete process. Change-ID: I67db2baf49e2075d2f537de40f7895e5b02cd610 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 58ce51753faa5287106e87b942e9563156595a31 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:15:26 2015 +0000 i40e: print port stats only on partition 1 Only print the port and veb stats if this is the first partition of a multiplexed port. Change-ID: I7ce0c323cdee5cfd2e54d8bea5b0b9102987e671 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 386a0afa709931e0037bb2e812df62230e8af370 Author: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Date: Fri Feb 27 09:15:25 2015 +0000 i40e: Move code to enable/disable Loopback to the main file Since changes made to enable or disable loopback for all VSIs, not only SR-IOV or PCIOV, then it became necessary to move the associated functions to main file - so that other non-SRIOV supported driver can take advantage of the changes. Change-ID: I59a49fd23a6136acda5e16f8d1e5ac7fd9c5fc05 Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1e200e4a5744b727f64880855689bdb1b2502d43 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:15:24 2015 +0000 i40e: rework vector reservation The initial problem solved here is that the vector allocation was trying too hard to save vectors for VMDq, to the point of not giving the PF enough when in a tight situation such as an NPAR partition. This change makes sure that the PF will get all the queues and vectors it wants to fill out its destiny. Essentially, nothing is specially reserved for VMDq, it simply gets whatever is left after the PF, FCoE, and FD sideband get what they want. Additionally, the calculations for the reservations were harder to follow than necessary, so I've made it more straight forward. Change-ID: I99b384f104535b686c690b8ef0a787559485c8d4 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7b115dd06dd5e06a85324c2cdebb59c2cb17772f Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Feb 27 09:15:23 2015 +0000 i40e: clean up debug_read_register There were some additional spaces and strange (double swapping) logic in this function that I started looking at because sparse was warning. This fixes the sparse warning and fixes up the other issues. Change-ID: I72a91a4197cd45921602649040e6bd25e5f17c0a Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 71e6163a4ca274fcf63dd94bbe3c1efca497589f Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Feb 27 09:15:22 2015 +0000 i40e: store msg_enable in the right size The kernel returns a u32 for netif_msg_init, and we were storing it in a u16. Fix the width of the datatype. Change-ID: I4b23326e5707c91cd59325c5a1ccb2ba7a3974fc Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ef0620774f403c6f226ec22857f5df9217d603cd Author: Kamil Krawczyk <kamil.krawczyk@xxxxxxxxx> Date: Fri Feb 27 09:15:21 2015 +0000 i40e: Remove unneeded conversion Remove LE16 to CPU endianes conversion from i40e_read_nvm_word_srctl function, as it's already done by register read function. Change-ID: I739f0f20a9b8e18223e54c0ca5443e63d75da878 Signed-off-by: Kamil Krawczyk <kamil.krawczyk@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d6d83c1b3e471124bde4ea57bb7bf278bb931553 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Feb 27 09:15:20 2015 +0000 i40e: Remove duplicate code This series of code was repeated twice, remove one of them. Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 37a2973a058e08f8dcccb265d90176e6b6b55191 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:15:19 2015 +0000 i40e/i40evf: Refactor i40e_debug_aq and make some functions static A sparse complaint in i40e_debug_aq in a funky buffer write goes away by straightening out the code out to something less convoluted. Also fix some other sparse warnings while we are at it, making some functions static and using NULL instead of 0. Change-ID: I93907534fe1f1f675830774b3d14ecf1c6ffc9a0 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 612762e82ae6058d69b4ce734598491bf030afe7 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Mar 4 12:02:05 2015 +0200 spi: qup: Add DMA capabilities This patch adds DMA capabilities to the spi-qup driver. If DMA channels are present, the QUP will use DMA instead of block mode for transfers to/from SPI peripherals for transactions larger than the length of a block. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Reviewed-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e1aa7cb59aff4b245b45e326fcdba1bf7f105c6 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 6 21:55:32 2015 +0100 x86/asm: Optimize unnecessarily wide TEST instructions By the nature of the TEST operation, it is often possible to test a narrower part of the operand: "testl $3, mem" -> "testb $3, mem", "testq $3, %rcx" -> "testb $3, %cl" This results in shorter instructions, because the TEST instruction has no sign-entending byte-immediate forms unlike other ALU ops. Note that this change does not create any LCP (Length-Changing Prefix) stalls, which happen when adding a 0x66 prefix, which happens when 16-bit immediates are used, which changes such TEST instructions: [test_opcode] [modrm] [imm32] to: [0x66] [test_opcode] [modrm] [imm16] where [imm16] has a *different length* now: 2 bytes instead of 4. This confuses the decoder and slows down execution. REX prefixes were carefully designed to almost never hit this case: adding REX prefix does not change instruction length except MOVABS and MOV [addr],RAX instruction. This patch does not add instructions which would use a 0x66 prefix, code changes in assembly are: -48 f7 07 01 00 00 00 testq $0x1,(%rdi) +f6 07 01 testb $0x1,(%rdi) -48 f7 c1 01 00 00 00 test $0x1,%rcx +f6 c1 01 test $0x1,%cl -48 f7 c1 02 00 00 00 test $0x2,%rcx +f6 c1 02 test $0x2,%cl -41 f7 c2 01 00 00 00 test $0x1,%r10d +41 f6 c2 01 test $0x1,%r10b -48 f7 c1 04 00 00 00 test $0x4,%rcx +f6 c1 04 test $0x4,%cl -48 f7 c1 08 00 00 00 test $0x8,%rcx +f6 c1 08 test $0x8,%cl Linus further notes: "There are no stalls from using 8-bit instruction forms. Now, changing from 64-bit or 32-bit 'test' instructions to 8-bit ones *could* cause problems if it ends up having forwarding issues, so that instead of just forwarding the result, you end up having to wait for it to be stable in the L1 cache (or possibly the register file). The forwarding from the store buffer is simplest and most reliable if the read is done at the exact same address and the exact same size as the write that gets forwarded. But that's true only if: (a) the write was very recent and is still in the write queue. I'm not sure that's the case here anyway. (b) on at least most Intel microarchitectures, you have to test a different byte than the lowest one (so forwarding a 64-bit write to a 8-bit read ends up working fine, as long as the 8-bit read is of the low 8 bits of the written data). A very similar issue *might* show up for registers too, not just memory writes, if you use 'testb' with a high-byte register (where instead of forwarding the value from the original producer it needs to go through the register file and then shifted). But it's mainly a problem for store buffers. But afaik, the way Denys changed the test instructions, neither of the above issues should be true. The real problem for store buffer forwarding tends to be "write 8 bits, read 32 bits". That can be really surprisingly expensive, because the read ends up having to wait until the write has hit the cacheline, and we might talk tens of cycles of latency here. But "write 32 bits, read the low 8 bits" *should* be fast on pretty much all x86 chips, afaik." Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425675332-31576-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9198f6edfd9ced74fd90b238d5a354aeac89bdfa Author: Jason Low <jason.low2@xxxxxx> Date: Fri Mar 6 23:45:31 2015 -0800 locking/rwsem: Fix lock optimistic spinning when owner is not running Ming reported soft lockups occurring when running xfstest due to the following tip:locking/core commit: b3fd4f03ca0b ("locking/rwsem: Avoid deceiving lock spinners") When doing optimistic spinning in rwsem, threads should stop spinning when the lock owner is not running. While a thread is spinning on owner, if the owner reschedules, owner->on_cpu returns false and we stop spinning. However, this commit essentially caused the check to get ignored because when we break out of the spin loop due to !on_cpu, we continue spinning if sem->owner != NULL. This patch fixes this by making sure we stop spinning if the owner is not running. Furthermore, just like with mutexes, refactor the code such that we don't have separate checks for owner_running(). This makes it more straightforward in terms of why we exit the spin on owner loop and we would also avoid needing to "guess" why we broke out of the loop to make this more readable. Reported-and-tested-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jason Low <jason.low2@xxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425714331.2475.388.camel@j-VirtualBox Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a7fcf28d431ef70afaa91496e64e16dc51dccec4 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Mar 6 17:50:19 2015 -0800 x86/asm/entry: Replace this_cpu_sp0() with current_top_of_stack() and fix it on x86_32 I broke 32-bit kernels. The implementation of sp0 was correct as far as I can tell, but sp0 was much weirder on x86_32 than I realized. It has the following issues: - Init's sp0 is inconsistent with everything else's: non-init tasks are offset by 8 bytes. (I have no idea why, and the comment is unhelpful.) - vm86 does crazy things to sp0. Fix it up by replacing this_cpu_sp0() with current_top_of_stack() and using a new percpu variable to track the top of the stack on x86_32. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 75182b1632a8 ("x86/asm/entry: Switch all C consumers of kernel_stack to this_cpu_sp0()") Link: http://lkml.kernel.org/r/d09dbe270883433776e0cbee3c7079433349e96d.1425692936.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b27559a433bb6080d95c2593d4a2b81401197911 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Mar 6 17:50:18 2015 -0800 x86/asm/entry: Delay loading sp0 slightly on task switch The change: 75182b1632a8 ("x86/asm/entry: Switch all C consumers of kernel_stack to this_cpu_sp0()") had the unintended side effect of changing the return value of current_thread_info() during part of the context switch process. Change it back. This has no effect as far as I can tell -- it's just for consistency. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/9fcaa47dd8487db59eed7a3911b6ae409476763e.1425692936.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7875b470c9d80dff2d58ae9692adb3a2b5814a89 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Feb 20 11:22:05 2015 +0100 ARM: BCM5301X: Fix default state of power LEDs on Netgear R6250 We want green LED to be enabled by default. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 4076b521cb50c411467c4ba65f82ef0079823357 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Feb 18 12:25:42 2015 +0100 ARM: BCM5301X: Add DT for Netgear R8000 Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Reported-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d23dbaaaa454667ad6af6feb56f740a990d1295d Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 6 20:43:34 2015 -0800 tcm_qla2xxx: Expose per endpoint dynamic_sessions attribute This patch exposes a new ../qla2xxx*/$WWPN/$TPGT/dynamic_sessions attribute to dump the currently active sessions by FC initiator WWPN that have been created with dynamically generated se_node_acls. This information is useful so that user-space can optionally perform dynamic -> explicit NodeACL conversion based on $INITIATOR_WWPN. Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit d4ee46ff8c8404d63779772e4ddb3553eaca26ae Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 6 20:40:57 2015 -0800 iscsi-target: Expose per endpoint dynamic_sessions attribute This patch exposes a new ../iscsi/$IQN/$TPGT/dynamic_sessions attribute to dump the currently active sessions by iSCSI InitiatorName that have been created with dynamically generated se_node_acls. This information is useful so that user-space can optionally perform dynamic -> explicit NodeACL conversion based on $INITIATOR_WWPN. Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f8e471f9eb9068bf5ac8c6a04da74329a442f75a Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 6 20:34:32 2015 -0800 target: Add target_show_dynamic_sessions attribute helper This patch adds a new helper function that can be used by fabric driver TPG attributes for dumping the list of active sessions with a dynamically generated se_node_acl. (generate_node_acl=1). It prints one se_node_acl->initiatorname per line, up to PAGE_SIZE which is due to the current limitiation of single page attribute output within sysfs and configfs code. Note that if a session is referencing a explicit NodeACL, the InitiatorName will not appear within dynamic_sessions output. Reported-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3372ec28622083ac87daf18918a222fbee06f6f9 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 10:54:10 2015 -0500 vt: use msecs_to_jiffies for time conversion Converting milliseconds to jiffies by "val * HZ / 1000" is technically OK but msecs_to_jiffies(val) is the cleaner solution and handles all corner cases correctly. This is a minor API consolidation only and should make things more readable. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 678afb9aa8cf2002160c1a56cef5c90df6dc285e Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Wed Feb 4 18:18:03 2015 +0000 tty: vt/vt: fix sparse warning this patch fixes following sparse warning: vt.c:1240:12: warning: symbol 'rgb_from_256' was not declared. Should it be static? Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c0d9b17d1c0608bbbef6d00e68956de2c3b1f8e Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 10:53:25 2015 -0500 vt: vt_ioctl: use msecs_to_jiffies for time conversion Converting milliseconds to jiffies by "val * HZ / 1000" is technically OK but msecs_to_jiffies(val) is the cleaner solution and handles all corner cases correctly. This is a minor API consolidation only and should make things more readable. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b5ef07e3dd3972d9111650fb6e0f5a566c741d8 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Fri Mar 6 15:54:52 2015 -0800 rocker: sparse: fix dynamic allocation on stack warning Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f43deba6f79c8f2004008fe0c0afa23bc061b2f Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Fri Mar 6 15:54:51 2015 -0800 rocker: quiet sparce endianess warnings Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Jonathan Toppins <jtoppins@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 833b1f7b5191e4ac15dfd86aa8137f2349f0fc30 Author: Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> Date: Tue Mar 3 18:11:14 2015 +0300 serial/8250_dw: use platform_get_irq() instead of platform_get_resource() It is not recommened to use platform_get_resource(pdev, IORESOURCE_IRQ) for requesting IRQ's resources any more, as they can be not ready yet in case of DT-booting. platform_get_irq() instead is a recommended way for getting IRQ even if it was not retrieved earlier. It also makes code simpler because we're getting "int" value right away and no conversion from resource to int is required. Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f427c990e2d0fd30336b0c252aa7e38e4cffdea2 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:05:47 2015 -0500 console: Preserve index after console setup() Before register_console() calls the setup() method of the matched console, the registering console index is already equal to the index from the console command line; ie. newcon->index == c->index. This change is also required to support extensible console matching; (the command line index may have no relation to the console index assigned by the console-defined match() function). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73abaf87f01be6fa6da3c0aa9c138a1b6b281068 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:05:46 2015 -0500 serial: earlycon: Refactor parse_options into serial core Prepare to support console-defined matching; refactor the command line parameter string processing from parse_options() into a new core function, uart_parse_earlycon(), which decodes command line parameters of the form: earlycon=<name>,io|mmio|mmio32,<addr>,<options> console=<name>,io|mmio|mmio32,<addr>,<options> earlycon=<name>,0x<addr>,<options> console=<name>,0x<addr>,<options> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e1257860fd10487795b782f1dbb5b5f2c203474 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Feb 27 16:07:18 2015 +0800 tty/serial: at91: correct the usage of tasklet The tasklet may be scheduled and executed after serial port was shutdown, for example, DMA rx callback will schedule the tasklet while serial port is shutting down, especially serial port is sending and receiving data in a higher baud rate and it's killed by external program. In this case, tasklet_kill can only clear the current scheduling out, so tasklet should be disabled to prevent being executed in later scheduling. Otherwise, the tasklet executed after serial port was shutdown can lead to kernel crash. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d9628a1486658b83e47ad4c7ff07ff1ff0d3d89 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Feb 27 16:07:17 2015 +0800 tty/serial: at91: set ops in property init each time The property in device tree will be reading each time when tty is opened, so the ops of serial port should be set after that instead of setting once in probe. Otherwise, the ops of serial port is inconsistent with the state of serial work manner. For example, the atmel serial driver can't work when switching to PIO mode due to DMA channel is not available. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a1e8888675b81d8f118b11650084c5e242be4b7 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Feb 27 16:07:16 2015 +0800 tty/serial: at91: revise the return type of atmel_init_property The function of atmel_init_property is to set the work manner of atmel serial ports according to the property in device trees. If DMA or PDC is not set or something goes wrong in getting property, the work manner will switch to general PIO mode, thus there will not be any failure case in this function. It's actually a procedure. So changing the return type from int to void. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a510880f6ea00ee28f22ec61a3c53357bb1bbaa5 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Feb 27 16:07:15 2015 +0800 tty/serial: at91: correct buffer size used in DMA The buffer size set in DMA is inconsistent with its allocation. So keep them consistent here. The structure atmel_uart_char is used in PIO mode with its meaning. But here in DMA, all of the buffer is treated as general char. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c2770541040318fa6ac0ac4424d8af6dd0709bf Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Feb 27 16:07:14 2015 +0800 tty/serial: at91: correct check of buf used in DMA We only use buf of ring In DMA rx function while using buf of xmit in DMA tx function. So in DMA rx we need definitively to check the buf of ring which is corresponding to DMA rx function. And use macro PAGE_ALIGNED to simplify the expression. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ba67dabaa58e3223325f0a813a6e830fb5f5cc5 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Mar 5 23:27:51 2015 +0100 ebpf: bpf_map_*: fix linker error on avr32 and openrisc arch Fengguang reported, that on openrisc and avr32 architectures, we get the following linker errors on *_defconfig builds that have no bpf syscall support: net/built-in.o:(.rodata+0x1cd0): undefined reference to `bpf_map_lookup_elem_proto' net/built-in.o:(.rodata+0x1cd4): undefined reference to `bpf_map_update_elem_proto' net/built-in.o:(.rodata+0x1cd8): undefined reference to `bpf_map_delete_elem_proto' Fix it up by providing built-in weak definitions of the symbols, so they can be overridden when the syscall is enabled. I think the issue might be that gcc is not able to optimize all that away. This patch fixes the linker errors for me, tested with Fengguang's make.cross [1] script. [1] https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Fixes: d4052c4aea0c ("ebpf: remove CONFIG_BPF_SYSCALL ifdefs in socket filter code") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58025e46ea2d39f1840d5b1be5edea3297cfd23f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 5 13:47:48 2015 -0800 net: gro: remove obsolete code from skb_gro_receive() Some drivers use copybreak to copy tiny frames into smaller skb, and this smaller skb might not have skb->head_frag set for various reasons. skb_gro_receive() currently doesn't allow to aggregate the smaller skb into the previous GRO packet if this GRO packet has at least 2 MSS in it. Following workload easily demonstrates the problem. netperf -t TCP_RR -H target -- -r 3000,3000 (tcpdump shows one GRO packet with 2 MSS, plus one additional packet of 104 bytes that should have been appended.) It turns out that we can remove code from skb_gro_receive(), because commit 8a29111c7ca6 ("net: gro: allow to build full sized skb") and its followups removed the assumption that a GRO packet with a frag_list had to have an empty head. Removing this code allows the aggregation of the last (incomplete) frame in some RPC workloads. Note that tcp_gro_receive() already takes care of forcing a flush if necessary, including this case. If we want to avoid using frag_list in the first place (in forwarding workloads for example, as the outgoing NIC is generally not able to cope with skbs having a frag_list), we need to address this separately. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit feb27d155dfabcb8baabe10367f25fc2b1bcede1 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 5 20:48:46 2015 +0300 ax25: remove unneeded NULL test in ax_xmit() We get a static checker warning here on devel kernels: drivers/net/hamradio/mkiss.c:560 ax_xmit() warn: variable dereferenced before check 'skb' (see line 532) It turns out that the NULL check can be deleted. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c9be31015747b0a981804438b269cfb0f49aa8a Author: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx> Date: Fri Mar 6 13:05:40 2015 -0500 drivers/tty: amba: defer DMA probe until the DMA channel is required. Fix a race condition that happens when device_initcall(pl011_dma_initicall) is executed before all the devices have been probed - this issue was observed on a hisi_6220 SoC (HiKey board from Linaro). The deferred driver probing framework relies on late_initcall to trigger deferred probes so it is just possible that, even with a valid DMA driver ready to be loaded, we fail to synchronize with it. The proposed implementation delays probing the DMA until dma_startup. As this is invoked on port startup and port resume - but DMA probing is only required once - we avoid calling multiple times using a new field in uart_amba_port to track this scenario. This commit allows for subsequent attempts to associate an external DMA if the DMA driver itself is not available (but present in the deferred probe pending list). Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f68a8ebd33d752d3178d1fcae453a14106357c79 Merge: 34de26d 708b869 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 21:50:07 2015 -0500 Merge branch 'mlx4-qcn' Or Gerlitz says: ==================== Add QCN support to the DCB NL layer This series from Shani Michaeli adds support for the IEEE QCN attribute to the kernel DCB NL stack, and implementation in the mlx4 driver which programs the firmware according to the admin directives. changes from V0: - applied feedback from John and added his acked-by to patch #1 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 708b869bf56e58b0c41460ba7bf363bf50f330c2 Author: Shani Michaeli <shanim@xxxxxxxxxxxx> Date: Thu Mar 5 20:16:13 2015 +0200 net/mlx4_en: Add QCN parameters and statistics handling Implement the IEEE DCB handlers for set/get QCN parameters and statistics reading per TC. Signed-off-by: Shani Michaeli <shanim@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d237baa1cbb3a2335357484c1d63a810a01947e2 Author: Shani Michaeli <shanim@xxxxxxxxxxxx> Date: Thu Mar 5 20:16:12 2015 +0200 net/mlx4_core: Add basic elements for QCN Add device capability, firmware command opcode and etc prior elements needed for QCN suppprt. Disable SRIOV VF view/access for QCN is disabled. While here, remove a redundant offset definition into the QUERY_DEV_CAP mailbox. Signed-off-by: Shani Michaeli <shanim@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c93682477bd861744589215515a63b81fdbd8948 Author: Shani Michaeli <shanim@xxxxxxxxxxxx> Date: Thu Mar 5 20:16:11 2015 +0200 net/dcb: Add IEEE QCN attribute As specified in 802.1Qau spec. Add this optional attribute to the DCB netlink layer. To allow for application to use the new attribute, NIC drivers should implement and register the callbacks ieee_getqcn, ieee_setqcn and ieee_getqcnstats. The QCN attribute holds a set of parameters for management, and a set of statistics to provide informative data on Congestion-Control defined by this spec. Signed-off-by: Shani Michaeli <shanim@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2ee6dfa0e8597eea8b98d240b0033994e20d215 Author: Dave Martin <Dave.Martin@xxxxxxx> Date: Wed Mar 4 12:27:34 2015 +0000 serial/amba-pl011: Leave the TX IRQ alone when the UART is not open Getting the TX IRQ re-asserted from scratch can be inefficient in some setups. This patch avoids clearing the TX IRQ across pl011_shutdown()... pl011_startup(), so that if the port is closed and reopened, the IRQ will still work afterwards without having to bootstrap it again. The TX IRQ continues to be masked in IMSC when the UART is not in use. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Tested-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 734745caeb9f155ab58918834a8c70e83fa6afd3 Author: Dave Martin <Dave.Martin@xxxxxxx> Date: Wed Mar 4 12:27:33 2015 +0000 serial/amba-pl011: Activate TX IRQ passively The current PL011 driver transmits a dummy character when the UART is opened, to assert the TX IRQ for the first time (see pl011_startup()). The UART is put in loopback mode temporarily, so the receiver presumably shouldn't see anything. However... At least some platforms containing a PL011 send characters down the wire even when loopback mode is enabled. This means that a spurious NUL character may be seen at the receiver when the PL011 is opened through the TTY layer. The current code also temporarily sets the baud rate to maximum and the character width to the minimum, to that the dummy TX completes as quickly as possible. If this is seen by the receiver it will result in a framing error and can knock the receiver out of sync -- turning subsequent output into garbage until synchronisation is reestablished. (Particularly problematic during boot with systemd.) To avoid spurious transmissions, this patch removes assumptions about whether the TX IRQ will fire until at least one TX IRQ has been seen. Instead, the UART will unmask the TX IRQ and then slow-start via polling and timer-based soft IRQs initially. If the TTY layer writes enough data to fill the FIFO to the interrupt threshold in one go, the TX IRQ should assert, at which point the driver changes to fully interrupt-driven TX. In this way, the TX IRQ is activated as a side-effect instead of being done deliberately. This should also mean that the driver works on the SBSA Generic UART[1] (a cut-down PL011) without invasive changes. The Generic UART lacks some features needed for the dummy TX approach to work (FIFO disabling and loopback). [1] Server Base System Architecture (ARM-DEN-0029-v2.3) http://infocenter.arm.com/ (click-thru required :/) Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Tested-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6415491c5f33df1adb5983070618f30370bd346 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 24 15:13:57 2015 -0800 tty: serial: xilinx_uartps: Use Macro for ttyPS0 All instances of "ttyPS" use this macro except for this one. Convert it. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7950dc586092d0c7a8b881188061cc3dc133d7e9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 12:06:34 2015 -0500 serial: sprd: Fix iotype The Spreadtrum UART is accessed with mmio; declare the proper iotype. Also prevent userspace from assigning any other iotype via ioctl(TIOCSSERIAL). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17b8f2a3fdca29a9b296642fb3f6ad3c39ffc7d3 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:11 2015 +0100 serial: imx: add support for half duplex rs485 The transmitter is expected to be controlled by the UART's RTS pin. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afe9cbb1a6adf6da5fa6d4747d102b95b4bb52c1 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:10 2015 +0100 serial: imx: drop support for IRDA Support for IRDA was added in 2009 in commit v2.6.31-rc1~399^2~2. There are no in-tree users. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f95661b2f2ae75c9b07b9b4e0a9a55c40e085e6f Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:09 2015 +0100 serial: imx: fix comment about which machines use the i.MX21 type Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f890cef24bc0e17ea9a1f5c39d9105f3e8bc4f13 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:08 2015 +0100 serial: imx: reformat and cleanup copyright header Fix indention, remove old address of the FSF, remove in-file changelog, mention Freescale. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 842633bdcee64d5c1861eb67677e3500c5d208e6 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:07 2015 +0100 serial: imx: drop members from driver data that are only used during probe There is no benefit in keeping this information in RAM when it's not used any more, so better use function local variables instead. These members are unused since c0d1c6b0f0dc ("serial: imx: Fix the reporting of interrupts") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 694e6729bf0e317e0b67c37cda1b74a5b04fbc07 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:06 2015 +0100 serial: imx: remove long dead code This if (0) exists since the driver was introduced in commit c49bde83eb6a ([ARM PATCH] 1956/2: Re: Motorola i.MX serial driver) back in 2004. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91555ce9012557b2d621d7b0b6ec694218a2a9bc Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:05 2015 +0100 serial: imx: Fix clearing of receiver overrun flag The writeable bits in the USR2 register are all "write 1 to clear" so only write the bits that actually should be cleared. Fixes: f1f836e4209e ("serial: imx: Add Rx Fifo overrun error message") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd187de536494a27925902b9653e9ef0ace4774 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Feb 23 16:24:44 2015 +0200 x86, intel-mid: remove Intel MID specific serial support Since we have a native 8250 driver carrying the Intel MID serial devices the specific support is not needed anymore. This patch removes it for Intel MID. Note that the console device name is changed from ttyMFDx to ttySx. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f549e94effa163ea170d2f0c12d307cb602431c6 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Feb 23 16:24:43 2015 +0200 serial: 8250_pci: add Intel Penwell ports Intel Penwell supports 3 HSUART ports which are 8250 compatible. The patch adds necessary bits to the driver. The functions have intel_mid_* prefix due to more than one platform will use this code. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b49e0c56741fca538176f66ed3c8d16ce4fccd8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Feb 23 16:24:42 2015 +0200 dmaengine: append hsu DMA driver The HSU DMA is developed to support High Speed UART controllers found in particular on Intel MID platforms such as Intel Medfield. The existing implementation is tighten to the drivers/tty/serial/mfd.c driver and has a lot of disadvantages. Besides that we would like to get rid of the old HS UART driver in regarding to extending the 8250 which supports generic DMAEngine API. That's why the current driver has been developed. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84e0185efaf8de931e1aab0687d8f8acd186a1c0 Author: Joseph Kogut <joseph.kogut@xxxxxxxxx> Date: Sun Feb 22 17:26:57 2015 -0700 tty: serial: s/Medfile/Medfield Fixed misspelling of 'Medfield' Signed-off-by: Joseph Kogut <joseph.kogut@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb8478d7d676802211a9a5d77bd0f87899900e41 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Feb 23 11:34:30 2015 +0800 serial: ar933x_uart: Fix off-by-one for checking valid alias id Current code uses the alias id as array subscript of ar933x_console_ports. So the valid id is 0 ... CONFIG_SERIAL_AR933X_NR_UARTS - 1. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d267ea6539f266352f4739c718e278dc62b1df7 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:24:42 2015 +0100 serial: mctrl-gpio: simplify init routine Instead of ignoring errors returned by devm_gpiod_get_index use devm_gpiod_get_index_optional which results in slightly more strict error handling which is good. Also use the fourth parameter to devm_gpiod_get_index_optional to be able to drop the explicit direction setting. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e9f079c56517568868788945dc4a080de6e150b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:24:41 2015 +0100 serial: mctrl-gpio: don't check for struct mctrl_gpios * to be invalid Drivers using mctrl-gpio must not pass invalid values for struct mctrl_gpios *. All drivers were fixed in this regard and so some checks can go away or be simplified. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 343fda95481a7254fd81342370ba04ab255f95fe Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:24:40 2015 +0100 serial: mxs-auart: properly handle mctrl_gpio failing If mctrl_gpio_init returns an error code this value should be forwarded and the driver must not simply ignore this failure. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f059a455fc979e0e7f155d98bf628fccab1c5b88 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:24:39 2015 +0100 serial: clps711x: fail if mctrl_gpio_init fails mctrl_gpio_init is fully aware of being optional. If it returns an error code this indicates a real error that must not be ignored. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 722ccf416ac2804cdb9b5c84e81524fab775a577 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:24:38 2015 +0100 serial: atmel: fix error handling when mctrl_gpio_init fails mctrl_gpio_init at present doesn't return NULL. (It might be used in the future when no gpios are to be used indicating success.) Properly pass error returned and also make driver probing fail on error. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c89b73703ea3e61ab233560d2c6c4fc0963111dc Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 09:41:49 2015 -0500 tty: max3100: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f86a95d75386b47178335599264a000601e01ed Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Feb 7 15:46:41 2015 -0200 serial: imx: Do not store/restore the UBRC register UBRC is a read-only register, so we should not store and restore it inside imx_flush_buffer(). Reported-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16420ad05cdf82b27655a1e4554a8379a06c8075 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Wed Feb 4 18:21:22 2015 +0000 tty: serial/bcm63xx_uart: fix sparse warning this patch fixes following sparse warnings: bcm63xx_uart.c:857:43: warning: Using plain integer as NULL pointer bcm63xx_uart.c:871:35: warning: Using plain integer as NULL pointer Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3ac3fc287818a63072618b091074267bfa5184d Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Feb 4 15:03:48 2015 +0200 serial: 8250_dw: Add missing MODULE_ALIAS() for module autoloading support Without this the module does not load automatically whenever suitable platform device appears. Reported-by: Jerome Blin <jerome.blin@xxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b51e3f5ad5b2618702d689942dfaf7b15ea5eba4 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Feb 3 21:05:50 2015 +0100 sprd_serial: compile sprd_suspend and sprd_resume conditionally Building sprd_serial.o when CONFIG_PM_SLEEP is not defined triggers these warnings: drivers/tty/serial/sprd_serial.c:755:12: warning: â??sprd_suspendâ?? defined but not used [-Wunused-function] static int sprd_suspend(struct device *dev) ^ drivers/tty/serial/sprd_serial.c:764:12: warning: â??sprd_resumeâ?? defined but not used [-Wunused-function] static int sprd_resume(struct device *dev) ^ Let's compile these functions only when CONFIG_PM_SLEEP is defined. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad3d4fdc8ee6d268d90d1a29bccd5318fa071cab Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Tue Feb 3 16:16:06 2015 +0530 serial:imx make of_device_id array const Make of_device_id array const. Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ae4a16cf4b6d449778697701de1b2ea86726def Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Tue Feb 3 11:01:47 2015 +0100 tty: serial: 8250_core: Remove trailing whitespaces No functional changes. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61702c3e4f064250d11395fce7d3242a2cfcf9c1 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Feb 2 14:53:26 2015 +0200 serial: 8250_pci: convert to dev_pm_ops Convert the legacy system PM callbacks to new ones. Meanwhile, remove the redudant calls to the PCI for changing a power state since it's done by bus code. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 213dce3c17a6536e6f28548085dc9de2dae77eca Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Sat Jan 31 21:47:43 2015 +0800 tty: kconfig: remove the superfluous dependency on PPC_OF In the current kernel, the CONFIG_PPC_OF is always 'y' for the ppc arch. So we don't need to check it with other ppc specific options. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97f9f707d26dfe34368a5b88f1996f2eaf973b42 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Feb 20 19:12:57 2015 +0100 serial: core: replace current->state by __set_current_state() Use helper functions to access current->state. Direct assignments are prone to races and therefore buggy. Thanks to Peter Zijlstra for the exact definition of the problem. Suggested-By: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dcb34bbc3f3274b37a71a71f1b60ac96782a5ed Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Feb 25 16:06:09 2015 +0100 serial: pl010 is no longer broken As more ARM platforms are moving into ARCH_MULTIPLATFORM, we can now have integrator and versatile in the same kernel, and first one selects this driver, causing a Kconfig warning: warning: (ARCH_INTEGRATOR_AP) selects SERIAL_AMBA_PL010 which has unmet direct dependencies (TTY && HAS_IOMEM && ARM_AMBA && (BROKEN || !ARCH_VERSATILE)) It turns out that it has not been broken on versatile for a long time, so we can remove the statement here. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 197f4d6a4a00915b29fa7ec71f8010b9c763e676 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Thu Mar 5 19:35:25 2015 -0600 staging: fsl-mc: fsl-mc object allocator driver The fsl-mc object allocator driver manages "allocatable" fsl-mc objects such as DPBPs, DPMCPs and DPCONs. It provides services to other fsl-mc drivers to allocate/deallocate these types of objects. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2f2726b62f59424782516fd6d0d164892493ada Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Thu Mar 5 19:29:11 2015 -0600 staging: fsl-mc: Device driver for FSL-MC DPRC devices A DPRC (Data Path Resource Container) is an isolation device that contains a set of DPAA networking devices to be assigned to an isolation domain (e.g., a virtual machine). Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbf9d17d987544bd784fa0a6b99d756b0492e715 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Thu Mar 5 19:29:10 2015 -0600 staging: fsl-mc: Freescale Management Complex (fsl-mc) bus driver Platform device driver that sets up the basic bus infrastructure for the fsl-mc bus type, including support for adding/removing fsl-mc devices, register/unregister of fsl-mc drivers, and bus match support to bind devices to drivers. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31c889653c10ddaf1d2b4a47740e07fa4f10f375 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Thu Mar 5 19:29:09 2015 -0600 staging: fsl-mc: Added Freescale Management Complex APIs APIs to access the Management Complex (MC) hardware module of Freescale LS2 SoCs. This patch includes APIs to check the MC firmware version and to manipulate DPRC objects in the MC. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11201769d17ffe4b826035315aa03715938ae4b2 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 4 11:31:53 2015 +0100 staging: rts5208: Convert variable from int to bool and propagate the change to function parameters This patch convert local variables declared as int into booleans. It also propagates the conversion when these variables were used as function parameters. Coccinelle was used to generate this patch. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de904bf0e4610a7651f3eb0c8b7b63e2ae32b805 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 4 11:31:01 2015 +0100 staging: rts5208: Convert non-returned local variable to boolean when relevant This patch was produced using Coccinelle. A simplified version of the semantic patch is: @r exists@ identifier f; local idexpression u8 x; identifier xname; @@ f(...) { ...when any ( x@xname = 1; | x@xname = 0; ) ...when any } @bad exists@ identifier r.f; local idexpression u8 r.x expression e1 != {0, 1}, e2; @@ f(...) { ...when any ( x = e1; | x + e2 ) ...when any } @depends on !bad@ identifier r.f; local idexpression u8 r.x; identifier r.xname; @@ f(...) { ... ++ bool xname; - int xname; <... ( x = - 1 + true | x = - -1 + false ) ...> } Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6725e52d22a4d99ea752fa0d0422a3a544545b03 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:50 2015 -0500 staging: rtl8723au: Eliminate ODM_SetBBReg() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2635f19c7aeed25d90ac69958c249dd3fe2f787a Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:49 2015 -0500 staging: rtl8723au: odm.c: Further reduce the use of ODM_SetBBReg() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 902cb3afab8d4c924376de51ec5c02d171992914 Author: Sébastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Date: Fri Mar 6 16:49:38 2015 -0800 Input: add support for Semtech SX8654 I2C touchscreen controller Signed-off-by: Sébastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 771d8f1b178e7e09fcc641fccd48852958dbc329 Author: Aleksei Mamlin <mamlinav@xxxxxxxxx> Date: Fri Mar 6 16:43:38 2015 -0800 Input: goodix - add device tree support This change adds device tree support and binding information for Goodix GT9xx series touchscreen controller. It also adds support for 5-finger chips, like GT911 and GT912, which can be found on ARM tablets, such as Wexler TAB7200 and MSI Primo73. Datasheets can be found here: https://drive.google.com/folderview?id=0BxCVOQS3ZymGfmJyY2RKbE5XbVlKNlktVTlwV0lxNEdxd2dzeWZER094cmJPVnMxN1F0Yzg&usp=sharing Signed-off-by: Aleksei Mamlin <mamlinav@xxxxxxxxx> Reviewed-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a7ac7c95d4682883d141c5d7a7544d2818f0a09f Author: Aleksei Mamlin <mamlinav@xxxxxxxxx> Date: Fri Mar 6 16:38:16 2015 -0800 Input: goodix - use max touch number from device config Use max number of touches from device config instead of hardcoding. Signed-off-by: Aleksei Mamlin <mamlinav@xxxxxxxxx> Tested-by: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Bastien Nocera <hadess@xxxxxxxxxx> Tested-by: Antonio Ospite <ao2@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e92865edebe90cde1eef968cf85acb6613e5695f Author: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Date: Thu Mar 5 23:25:51 2015 -0800 Input: use more descriptive KEY_ROTATE_DISPLAY instead of KEY_DIRECTION Signed-off-by: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit bfd30caebaba7f00c13eec3c538799202d36d12a Author: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Date: Thu Mar 5 23:15:07 2015 -0800 Input: rename KEY_DIRECTION to KEY_ROTATE_DISPLAY The new name better reflects intended usage (but we are keeping the old name as an alias for compatibility). Signed-off-by: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3f9cb6a093030f8deb5785b4cddcbffdf1aa4c3e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:48 2015 -0500 staging: rtl8723au: Eliminate ODM_GetBBReg() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53de9947e3488b743a6cec200e967237af481b11 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:47 2015 -0500 staging: rtl8723au: Get rid of ODM_Read4Byte() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c43b3e319f558acebd2e05bd24b5ba0bed27c3f2 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:46 2015 -0500 staging: rtl8723au: Remove various ODM_* register access wrappers Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f092cc7eacb35cf9a7f0a86813094b5c78e476f Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:45 2015 -0500 staging: rtl8723au: Eliminate ODM_Write1Byte() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f3cf84fceb77a62e0d9ea0d003fea619c99db4e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:44 2015 -0500 staging: rtl8723au: odm_ConfigBB_PHY_8723A() always issues 32 bit writes Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 539b61bfd79bee0663f438009d21013abd36f17b Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:43 2015 -0500 staging: rtl8723au: odm_ConfigBB_AGC_8723A() always does 32 bit writes Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a39bd1f53c5cea79db22b37a59b75dbee6e36aa3 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:42 2015 -0500 staging: rtl8723au: odm.c: Use rtl8723au_{read, write}32() for 32 bit register access Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c177a8c7799651c1a62b007d16300e50688c287 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:41 2015 -0500 staging: rtl8723au: usb_halinit.c: Use rtl8723au_{read,write}32() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbe2d4dfde1941aa14c0a13e9dbc9044b522086e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:40 2015 -0500 staging: rtl8723au: rtl8723a_phycfg.c: Use proper register read/write functions Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3ced7caa245e5cf2bd628e6fd8b6581f30acb50 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:39 2015 -0500 staging: rtl8723au: writeOFDMPowerReg() use rtl8723au_write32() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 598fda7b1c16e79ca363b20c4ae9c1321bfe0c14 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:38 2015 -0500 staging: rtl8723au: Clean up PHY_{Query,Set}BBReg() 32 bit read/writes This switches pure 32 bit read/writes to use the rtl8723au_{read,write}32() functions directly. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfd83bbe92e89b27b7809ae1cffc142dfb763db6 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:37 2015 -0500 staging: rtl8723au: Reduce the usage of ODM_[GS]et_BBReg() The vendor code has at least three different APIs for accessing registers. One more ugly than the other. This is the start to move away from ODM_[GS]et_BBReg() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit def0c450585089be57bf090c37dbd85d53587053 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:36 2015 -0500 staging: rtl8723au: Remove pointless wrappers around odm_TXPowerTrackingInit() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb514494539196965e9b884a335ccc33b494ff13 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:35 2015 -0500 staging: rtl8723au: Remove a number of unused entries from struct dm_odm_t Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2073f3b0df8d22ed368bb27f0c3cc87487a25d4 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:34 2015 -0500 staging: rtl8723au: Remove unused struct rx_hp Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90ca409a1e6b9b72d1b6ae716cd7a63335fd0e87 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Feb 27 18:48:39 2015 +0100 ARM: shmobile: ape6evm dts: Configure the custom switch as wake-up source Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a104662052b5863663d11895667f0f8a755cd826 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Feb 27 18:48:38 2015 +0100 ARM: shmobile: ape6evm dts: Enable pull-up for GPIO switches The switches on r8a73a4/ape6evm do not have pull-up registers. The schematics say: "Need to use APE6 internal PullUp", hence enable pull-up using pinctrl. Without this, the switches don't really work, as the GPIO inputs are more likely to pick up ghost signals through capacitive coupling than actual keypresses. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit dae7f15e538537d58eb1b9f7046600d98af16cd7 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Sat Feb 28 21:54:42 2015 +0100 staging: iio: hmc5843: Set iio name property in sysfs Without this change file name for hmc5843 is empty in /sys/bus/iio/devices/iio\:device*/name With this change name is reported correctly: cat /sys/bus/iio/devices/iio\:device*/name hmc5843 Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c1d2dcb64db1d881d1822b5789022a03bc6abe4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 3 09:55:43 2015 -0300 staging: dgap: Avoid name collision Building for ARM64 leads to the following build warning: In file included from drivers/staging/dgap/dgap.c:66:0: drivers/staging/dgap/dgap.h:124:0: warning: "PCI_IO_SIZE" redefined #define PCI_IO_SIZE 0x00200000 ^ In file included from ./arch/arm64/include/asm/page.h:66:0, from include/linux/mm_types.h:15, from include/linux/sched.h:27, from ./arch/arm64/include/asm/compat.h:25, from ./arch/arm64/include/asm/stat.h:23, from include/linux/stat.h:5, from include/linux/module.h:10, from drivers/staging/dgap/dgap.c:47: ./arch/arm64/include/asm/memory.h:39:0: note: this is the location of the previous definition #define PCI_IO_SIZE SZ_16M ^ Use PCI_IO_SIZE_DGAP to avoid the name collision. Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08e03c268e3af302649bb85f79fb7c78c9e22ec8 Author: Martyn Welch <martyn.welch@xxxxxx> Date: Thu Feb 26 18:53:11 2015 +0300 vme: tsi148: Master windows support USERx and CR/CSR accesses, not slaves The tsi148 driver is registering the slave images as supporting the "USER" access modes and CR/CSR access mode rather than the master images as it should. Remove the incorrect case entries for these modes from the tsi148_slave_set() function, stop registering slave_images as supporting these modes and instead register master windows as supporting these modes. Signed-off-by: Martyn Welch <martyn.welch@xxxxxx> Acked-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c74a804f115bdedcac72ea52ca33f46cfae3b74f Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Thu Feb 26 18:53:10 2015 +0300 staging: vme: mmap() support for vme_user We also make sure that user won't be able to reconfigure the window while it is mmap'ed. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Cc: Martyn Welch <martyn.welch@xxxxxx> Cc: Igor Alekseev <igor.alekseev@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0cd189a42da07c89c809debc1f6a75f5ec0f5c43 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Thu Feb 26 18:53:09 2015 +0300 staging: vme: use image mutex for ioctl() This implements more granular locking in vme_user_ioctl() by using separate locks for each devfs device. This also provides a synchronization between vme_user_read(), vme_user_write() and vme_user_ioctl(). Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Cc: Martyn Welch <martyn.welch@xxxxxx> Cc: Igor Alekseev <igor.alekseev@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad22d55c4b304a163c7372c00768f50adaecc686 Author: Matteo Semenzato <mattew8898@xxxxxxxxx> Date: Wed Mar 4 19:53:10 2015 +0100 Staging: rtl8192e: remove assignment of function parameter This patch removes the assignment of a function parameter that has no effect. Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6b0012c2d410704782301299d36d311f9a39334 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Thu Mar 5 14:12:15 2015 +0100 staging: rtl8192e: Remove unnecessary OOM message This patch reduces the kernel size by removing error messages that duplicate the normal OOM message. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @@ identifier f,print,l; expression e; constant char[] c; @@ e = \(kzalloc\|kmalloc\|devm_kzalloc\|devm_kmalloc\)(...); if (e == NULL) { <+... - print(...,c,...); ... when any ( goto l; | return ...; ) ...+> } Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d08c028c75e293598b9f3e2c8ad87fb43199298c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:45 2015 -0800 staging: rtl8192x: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5877ecc3f70fc3af1fb36c25503391a0244b461f Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Fri Feb 20 18:14:24 2015 -0800 Staging: rtl8192u: ieee80211: dot11d: added parenthesis to RESET_CIE_WATCHDOG macro Added parenthesis to RESET_CIE_WATCHDOG macro to resolve checkpatch error. Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f4380427bf8447c8282930d8aeb5949b37ee4d3 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Thu Feb 19 21:54:10 2015 -0800 Staging: rtl9182u: r819xU_firmware: Replaced C99 comments with C89 Replaced C99 comments with C89. Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23723ea046d7ee7cdf0144cf244170a7c39a2e60 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Thu Feb 19 21:54:09 2015 -0800 Staging: rtl8192u: r819xU_firmware: removed commented out assert Removed an assert that was commented out. The comment provides no documentation value as rt_status is properly handled. Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8edd9e7cf1a051688923c66bdba0cab38cdb7d9d Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Thu Feb 19 21:54:08 2015 -0800 Staging: rtl8192u: r819xU_firmware: removed commented out variable Removed commented out variable Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 535f2e7df820d84fd8a4395bb52f19846f6a2290 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sat Feb 7 15:56:10 2015 +0100 staging: rtl8192u: r8192U_core: Fix driver_info dereference as a null pointer Fix possible use of use of driver_info as a null pointer in query_rxdesc_status() This could happen if stats->RxIs40MHzPacket still has the default value of zero. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b08872e59309458a54ed00cded95eeda43426e5 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:26 2015 -0500 staging: unisys: remove LOGWRN() macros and uniklog.h Remove the last set of macros from uniklog.h. Without LOGWRN() and friends, uniklog.h is empty so we can delete the file itself as well. This macro was not used a lot but the file was included in many places. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0aca78449b58603586df83cca1e9eaba1acc1cfd Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:25 2015 -0500 staging: unisys: remove ERRDEV macros Remove the LOGERR, LOGERRDEV, LOGERRDEVX, LOGERRNAME, LOGORDUMPERR macros from all the drivers. In one case the removal of the ERRDRV() changed things such that a macro which returned a value was needed, but the return value was no longer being used. In this case the macro was replaced with the contents of the macro, but with the truth calculation removed so that it would not generate a warning. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61620a1b187f645a13e77763b367e52ac129f411 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:24 2015 -0500 staging: unisys: remove LOGVER macro Remove the LOGVER macro from the drivers entirely. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a84fec17106f03100aa7f41c96b78f9c0b6531b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:23 2015 -0500 staging: unisys: remove ASSERT() macro Remove the ASSERT macro from timskmod.h, and replace its single use with WARN_ON() instead. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2098dbd1b2a8e428001e0d075ae148124af6f57d Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:22 2015 -0500 staging: unisys: remove LOGINF macros Remove the LOGINF, LOGINFDEV, LOGINFDEVX, LOGINFNAME, PRINTKDRV, and INFODRV macros entirely from the driver set. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4de57acbb6fddea4159dfcb62440b1e1309e3d9e Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:21 2015 -0500 staging: unisys: remove DBGINF, DBGVER, DEBUGDEV, and DEBUGDRV macros The messages put out by these macros are for driver debugging and aren't needed any more, so just remove all use of them, and the macros too. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9fabbde633e2d567a2c0f9e29e4e4d2f9bf5196 Author: Drew Fustini <pdp7pdp7@xxxxxxxxx> Date: Wed Mar 4 02:10:11 2015 -0600 Staging: fbtft: add header for internal functions Remove extern keyword from function prototypes to suppress warning from checkpatch.pl with --strict option: https://lkml.org/lkml/2013/7/23/422 fbtft maintainer Noralf Tronnes advised these functions are internal to this module & suggested moving these prototypes to new internal.h file. He also advised fbtft.h file will eventually live in include/linux/fbtft.h Suggested-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Signed-off-by: Drew Fustini <pdp7pdp7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 980ac4d7db69a3d9970f8eb545f90057afb6785e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 3 16:21:07 2015 +0530 MAINTAINERS: update for sm750fb driver add myself and Teddy Wang as the Maintainer of the sm750 frame buffer driver. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81dee67e215b23f0c98182eece122b906d35765a Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 3 16:21:06 2015 +0530 staging: sm750fb: add sm750 to staging sm750 of Silicon Motion is pci-e display controller device and has features like dual display and 2D acceleration. This patch adds the driver to staging. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3d6047d95fad6d70894d7ff79d49e47deae41e5 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Feb 10 17:38:40 2015 +0530 staging: sm7xxfb: make vgamode static the variable vgamode is used only in this file and hence can be safely made as static. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a3386b15f40e3750b52b9be7a84100edc9ae0f6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:44 2015 -0800 staging: i2o: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8895f04b7a0c203af80a40f6bd0c85ac1fb3f7d7 Author: Yannick Guerrini <micronity@xxxxxxxxx> Date: Thu Feb 26 17:36:33 2015 +0100 staging: rtl8188eu: Fix trivial typos in comments Change 'disabed' and 'disabel' to 'disabled' Change 'inviation' to 'invitation' Change 'negoitation' to 'negotiation' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 733345ec4ee3756822d455fc809f40713975bf76 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Feb 11 16:57:08 2015 +0530 staging: panel: initialize lcd if lcd enabled initialiaze lcd parameters only if lcd is enabled. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f43de77c9dddba86284f7cb58c5e257ebed843a3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Feb 10 17:26:02 2015 +0530 staging: panel: register driver after checking device register the driver only if lcd or keypad has been enabled and if both are disabled then just exit. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ab81fb7a968c81d16fa00584487d7f1e7211887 Author: Matteo Semenzato <mattew8898@xxxxxxxxx> Date: Sat Feb 28 15:28:15 2015 +0100 Staging: vt6655: fix C99 comments This patch fixes the following warning: do not use C99 // comments Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb72dd53d7e5b8a13f5a2bbc1a3f0111fdc6450d Author: Alex W Slater <alex.slater.dev@xxxxxxxxx> Date: Thu Feb 26 20:09:26 2015 +0000 staging: vt6655: Cleanup C99 comments Fix checkpatch.pl errors: "ERROR: do not use C99 // comments" Signed-off-by: Alex W Slater <alex.slater.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e59b047ccb64c57e5a372ca1877b5ad979fdfdb Author: Matt <mattew8898@xxxxxxxxx> Date: Sat Feb 21 10:40:02 2015 +0100 Staging: vt6655 fix C99 style comments Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 636cd168064937408114cb6cd9d2fa5095ac827c Author: Ivan Stankovic <pokemon@xxxxxxxxxxxxxx> Date: Thu Feb 12 22:08:26 2015 +0100 staging: vt6655: fix coding style issues in channel.c Observe the line length limit to make checkpatch.pl happy. Signed-off-by: Ivan Stankovic <pokemon@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d34add05946ffda90ad5c4f0f71af2819748c660 Author: Christian Engelmayer <cengelma@xxxxxx> Date: Wed Feb 11 20:33:15 2015 +0100 staging: vt6656: Fix possible leak in vnt_download_firmware() When failing to allocate buffer memory, function vnt_download_firmware() goes through the wrong exit path and fails to release the already requested firmware. Thus use the correct cleanup. Detected by Coverity CID 1269128. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Reviewed-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6498613d2cf23269a6a483a751f61655115de251 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Tue Feb 10 11:42:08 2015 +0100 staging: ozwpan: Move code from success handling to error handling The original version was success handling rather than error handling, therefore this patch reduces nesting. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e03b7297f8e8968e98ff9eab57e0f92e106248ad Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Tue Feb 10 10:24:12 2015 +0100 staging: ozwpan: Remove allocation from delaration line This patch removes allocation from declaration line because people are known to gloss over declarations. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f9dca1e7d5a5463f9e9cc4e1f5c8e9bc9d118a9 Author: Salah Triki <salah.triki@xxxxxxx> Date: Thu Mar 5 03:50:24 2015 +0100 Staging: dgnc: Fix checking return value of register_chrdev The failure code is negative. So check <0 instead of <=0. Return the failure code instead of -ENXIO. Signed-off-by: Salah Triki <salah.triki@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 834d86735d2b12c74d252addf20fc448bae8f813 Author: Salah Triki <salah.triki@xxxxxxx> Date: Sun Mar 1 23:18:50 2015 +0100 staging: dgnc: fix braces {} are not necessary for single statement blocks This patch fixes the following checkpatch.pl warning: braces {} are not necessary for single statement blocks Signed-off-by: Salah Triki <salah.triki@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87643abf92484074937594897145bb53efc0e77e Author: Matthew Tyler <matt.tyler@xxxxxxxxxxxx> Date: Fri Mar 6 18:09:27 2015 +0800 staging:lustre:libcfs: Merge linux-proc.c into module.c module.c was previously the sole exporter of symbols from linux-proc.c This patch removes the global symbols by merging the two files Signed-off-by: Matthew Tyler <matt.tyler@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 804db5d06d549119b885443d9b2dc2da7d80f149 Author: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Date: Mon Mar 2 21:09:48 2015 -0300 staging: lustre: space prohibited between function name and open parenthesis '(' This patch fixes checkpatch.pl warning. WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c96d236f8f4d479d25cb493c8ec240f7129709ca Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Mar 2 01:01:47 2015 -0500 staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_ Rusty Russel advises that cpus_* functions are deprecated to work on cpumasks and cpumask_* functions should be called instead, otherwise problems with CPUMASK_OFFSTACK arise. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6301647b1873250cb8aac18e02a4ea062e72278e Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Mar 2 01:01:46 2015 -0500 staging/lustre/ptlrpc: Do not use deprecated cpus_* functions As per Rusty Russel, cpus_* functions are deprecated. When mixing cpumask_copy with cpus_weight, they operate on different sized masks if CPUMASK_OFFSTACK is enabled, causing an immediate assertion failure. Copying of cpumasks by assignment is also not allowed now. Additionally, in ptlrpc/service.c avoid the cpumask copies, since we only use it to check how many siblings are there for core #0 and nothing else. Reported-by: Tyson Whitehead <twhitehead@xxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ac986d098ee81b75973a0c2f46a9a4edef2a8c6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 13:21:18 2015 -0700 staging: comedi: drivers/*.c: add missing braces {} to if/else branches According to the CodingStyle, braces should be used on all branches if thet are used on any branch, Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8f4b98f47e498a823d1b82b8f3848d81183ea22 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 13:21:17 2015 -0700 staging: comedi: drivers/*.c: remove unnecessary blank lines Blank lines are not needed before a close brace '}' or after an open brace '{'. Also remove any multiple blank lines. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c7d2c8b5230272b394d51462c8cae46df09f126 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 13:21:16 2015 -0700 staging: comedi: drivers/*.c: alignment should match open parenthesis Fix the alignment issues in all the comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9949595c0da61ff2aecc90c3a8e924848e6ac03b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 13:21:15 2015 -0700 staging: comedi: drivers/*.c: fix common misspellings Fix these common misspellings: s/dependancy/dependency s/occured/occurred s/informations/information s/intialize/initialize s/serveral/several s/interrups/interrupts s/acknowledgement/acknowledgment s/suppport/support s/writting/writing Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 857ced45a548c3f8196d6e45079678ab3c9f3581 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:42 2015 -0700 staging: comedi: s626: remove unnecessary 'cmd' pointer checks The local variable 'cmd' is a pointer to the address of a member variable of a struct. It will always be valid. 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 4c36fdde64f858ce167ad69859c89b1a8c9b6fb0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:41 2015 -0700 staging: comedi: kcomedilib_main: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6be154812114819873e8254c8d89679a11ac21c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:40 2015 -0700 staging: comedi: ni_mio_common: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56e97078602996123d849b7621442a934aa19b77 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:39 2015 -0700 staging: comedi: ni_tiocmd: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9bacea57f445a2bc199401d1149d6f323c531028 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:38 2015 -0700 staging: comedi: ni_pcimio: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ce82def8da5787d8661fa5f7d5f7c899b5a20d9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:37 2015 -0700 staging: comedi: ni_pcidio: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1bce7fd0d930a60af858039239d824973d147ab Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:36 2015 -0700 staging: comedi: ni_labpc_common: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77ba71f6485d2b7f923987b173d590b3003bc2a6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:35 2015 -0700 staging: comedi: ni_atmio: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 307da4b2e89c388d2e44efdd6899d4d1d8429806 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:34 2015 -0700 staging: comedi: ni_660x: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5effdf708100fd5eeeaa8c7bbbed3b90cbb70cf5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:33 2015 -0700 staging: comedi: mite: (!foo) preferred over (foo == NULL) Also, clarify the 'ring' allocation failure by returning NULL instead of 'ring' (which would be NULL). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 854472c27046646f3f258970a9fee9ab1e5d7593 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:32 2015 -0700 staging: comedi: cb_pcidas64: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d719cecc08ecc58040ffd751423810b4c19d772 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:31 2015 -0700 staging: comedi: amplc_pci230: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0048b9923daced04ffcb3b9974019b488ce19e8f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:30 2015 -0700 staging: comedi: amplc_pci224: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2850160763e716e55fa6328bfab335cac90fc80 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:29 2015 -0700 staging: comedi: drivers: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88cc30cfcfd38d81da3f8b4d9cedb16556c5fdfc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:28 2015 -0700 staging: comedi: comedi_fops: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62af7214d8c3c9c81788e988cf99bfb02da77d0b Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:07:13 2015 +0300 Staging: ste_rmi4: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb856202b9f11735237db61c2d4d647825c123e1 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:05:05 2015 +0300 Staging: slicoss: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3daf9df3bab88a14135b5b83713c64d5a58af60d Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:03:53 2015 +0300 Staging: iio: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 651cd163ba038079fd4796f046ba77c216e22a2c Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:03:05 2015 +0300 Staging: rts5208: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce82410c76374be44a4dbd60b906e896a5e20687 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:01:38 2015 +0300 Staging: comedi: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99beca13675c842b83d83e5d5b24d3a80dde1f58 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:00:42 2015 +0300 Staging: gdm72xx: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c6ccbeb510fe48ed8808067cd7cbf92f7e8ebac Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:00:10 2015 +0300 Staging: media: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aed1c72e447f0ac0985eecbe1c2403eb7176d606 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 21:59:04 2015 +0300 Staging: fbtft: clean dev_err() logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14f63eeecfa3ca092f1c83755303161e53a9c641 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 20:01:07 2015 +0300 Staging: media: Replace dev_err with pr_err to avoid null pointer derefrence This patch replace dev_err with pr_err, for pointer is derefrenced after comparing it to NULL. This was found using the following coccinelle script: @disable is_null@ identifier f; expression E; identifier fld; statement S; @@ + if(E == NULL) S f(...,E->fld,...); -if(E == NULL) S; @@ identifier f; expression E; identifier fld; statement S; @@ + if(!E) S f(...,E->fld,...); -if(!E) S; Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd25503f5a6f0b0d6d66185461a358e8218db745 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Thu Mar 5 13:01:49 2015 +0300 Staging: comedi: Clean dev_err() logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout, so there is no need for __func__. This was done using Coccinelle, with the following semantic patch: @a@ expression E; expression msg; @@ dev_err(E, msg, __func__); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", ""); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", ""); coccinelle.y = m; else: m = e.replace("%s", ""); @c@ expression a.E, a.msg; identifier b.y; @@ - dev_err(E, msg, __func__); + dev_err(E, y); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d67b3a2f3bd82bfa75f34d9e816788d133d63b5 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Mar 5 00:51:46 2015 +0100 Staging: rtl8192u: Replace TRUE with true This patch replaces TRUE by true, since Linux kernel has already a boolean type, bool, defined in linux/stddef.h Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67d095a0405adefd019f0abaa291fe9664257f6b Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Wed Mar 4 23:15:16 2015 +0200 Staging: rtl8723au: Fixed error 'else should follow close brace '}". This patch fixes error 'else should follow close brace '}" found by checkpatch in driver rtl8723au. Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 708bca5dc480412fc61030806eb0520d4c8590d7 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Wed Mar 4 21:32:49 2015 +0200 Staging: unisys: Remove unnecessary semicolon This fixes the checkpatch.pl warning: WARNING: macros should not use a trailing semicolon. Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19cd22972fbe419235b380a94f31c826809cafec Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Mar 4 12:37:28 2015 +0200 Staging: drivers: Bool initializations should use true/false This patch replaces bool initializations of 1/0 with true/false in order to increase readability and respect the standards. Warning found by coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a568dc1f3779c9fde5a58bf793574ecd7024090a Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Wed Mar 4 14:15:05 2015 +0530 staging: rtl8192e: Remove if conditions. This patch removes if conditions with no exececutable statements in the bodies of those ifs and also no variable assignments in the if conditional checks. The call to rtllib_act_scanning in the condition doesn't have any side effects as it too performs conditional checks without changing any values. Hence, it's safe to remove the if condition. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bd52fb13a56a9dbe7780480d0c66a5b8e450743 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 4 14:10:46 2015 +0530 Staging: rtl8188eu: Remove unnecessary return statements This patch removes unnecessary return statement from a void function. This issue is identified by checkpatch.pl Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aea42ee42196ee164b46eda047953c0974536d5b Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 4 14:10:44 2015 +0530 Staging: rtl8188eu: Remove redundant local variable This patch removes a redundant variable "raid" and adds inline return statements. This issue is identified by the following coccinelle script: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22905b8594d58a6fceeb4510a57e34571a075b45 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 09:00:02 2015 +0200 staging: rtl8712: replace memset(x,0,ETH_ALEN) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The aforementioned function replaces memset. In addition, linux/etherdevice.h was included as a header since it is the file that defines the inline function eth_zero_addr(). The changes were carried out using the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e5d9433412d34f02a83edd265605bfe6c347a0a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:56:45 2015 +0200 staging: rtl8188eu: replace memset(x,0,ETH_ALEN) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The aforementioned function replaces memset. In addition, linux/etherdevice.h was included as a header since it is the file that define the inline function eth_zero_addr(). The changes were carried out using the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a06487242467aa9511470f1f92184ae1a9149d37 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:20:14 2015 +0200 staging: unisys: virthba: remove extra parentheses around left bit shift operations Removes extra parentheses around bitwise left shift operations. The case handled is when resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 << -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e << -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e << -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e28c2a24aedbd64bf9cc1391ca203e9aa95d757 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:19:50 2015 +0200 staging: slicoss: remove extra parentheses around left bit shift operations Removes extra parentheses around bitwise left shift operations. The case handled is when resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 << -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e << -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e << -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a80ee6f8871a81afb4fd919133ae5be3b656d44 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:19:24 2015 +0200 staging: rts5208: remove extra parentheses around left bit shift operation Removes extra parentheses around bitwise left shift operations. The case handled is when resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 << -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e << -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e << -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbc9eb5af20578a931efb6fac721e9a977c5171b Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:18:47 2015 +0200 staging: ozwpan: remove extra parentheses around left bit shift operations Removes extra parentheses around bitwise left shift operations. The case handled is when resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 << -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e << -c); +c; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e21bf3388b960bce8dd2d7bc17331f3b8020fd9f Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:18:19 2015 +0200 staging: lustre: remove extra parentheses around left bit shift operations Removes extra parentheses around bitwise left shift operations. The cases handled here are when resultant values are assigned to variables. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 << -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e << -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e << -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ea755f3e8b05445ee6029c6b497a30f1e6a7bf6 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:35:48 2015 +0200 staging: xgifb: remove extra parentheses around right bit shift operations Removes extra parentheses around bitwise right shift operations. The cases handled here are when resultant values are assigned to variables. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6de3f58bc32cc10516b286b26476d5aa65c6d1e5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:35:28 2015 +0200 staging: speakup: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The case handled is when the resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a659b3e807a9e0a3f4b48ffbd491dbcab8e7d1d6 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:34:52 2015 +0200 staging: slicoss: remove extra parentheses around right bit shift operations Removes extra parentheses around bitwise right shift operations. The cases handled here are when resultant values are assigned to variables. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Some coding style issues were handled manually to avoid checkpatch warnings and errors. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1bc88f1d94f1b34ef0ae27d3c6801a6fdac1f60 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:34:07 2015 +0200 staging: rtl8723au: remove extra parentheses around right bit shift operations Removes extra parentheses around bitwise right shift operations. The cases handled here are when resultant values are assigned to variables. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25978642332b10efcaf67b1a26dbfa04949c2e7b Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:33:39 2015 +0200 staging: rtl8712: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The cases handled are when the resultant value is assigned to a variable or when a shift operation is carried out for a function argument. The issues were detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9eb9e69536ba00d2dbe4f481b20ced67053a6c08 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:33:06 2015 +0200 staging: rtl8192u: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The cases handled are when the resultant value is assigned to a variable or when a shift operation is carried out for a function argument. The issues were detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Some coding style issues were handled manually to avoid checkpatch warnings and errors. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c401c1dc9739580d758dfa88ec568897c2e2dfd Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:32:30 2015 +0200 staging: rtl8192e: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The cases handled are when the resultant value is assigned to a variable or when a shift operation is carried out for a function argument. The issues were detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Some coding style issues were handled manually to avoid checkpatch warnings and errors. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07add2d38d48ca168b266c0f4f6af923bb9886e3 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:31:56 2015 +0200 staging: rtl8188eu: remove extra parentheses around right bit shift operations Removes extra parentheses around bitwise right shift operations. The cases handled here are when resultant values are assigned to variables. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6182930bdb207789c3c92051c2c4a03f5da8f6ee Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:31:19 2015 +0200 staging: media: lirc: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The case handled here is when the resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11d6e5c5623a1cdbee1560f4957c070b0ea76b22 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:30:49 2015 +0200 staging: media: bcm2048: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The case handled here is when the resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a354e0d8d2ce4beb61097eeac6069b41c0797ed3 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:30:18 2015 +0200 staging: lustre: llite: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The case handled here is when the resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 159dc4bff27a300d2c70108bf49ae01f6d1b34f2 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:29:28 2015 +0200 staging: lustre: lclient: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operations. The cases handled here are when the resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25ff6f8da004f49c2cab55a51cf8c250d21e9738 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:28:48 2015 +0200 staging: comedi: drivers: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1f4775ab57605a5e2003cd96034145d791abf62 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Fri Feb 27 23:22:54 2015 +0100 powerpc: Fix comment in smu.h Change 'Kenrel' to 'Kernel' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 94bcf830114a7a062d46344088cee33ac4b65df7 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Thu Feb 26 22:49:34 2015 +0100 qla2xxx: Fix printks in ql_log message Change 'Fimware' to 'Firmware' Change 'enalbled' to 'enabled' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Acked-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 28ca84e04803786d63277c8bb23c60c7f57f1cdc Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Feb 26 20:19:03 2015 +0100 lib: correct link to the original source for div64_u64 The code refers to an invalid url http://www.hackersdelight.org/HDcode/newCode/divDouble.c.txt The correct url is http://www.hackersdelight.org/hdcodetxt/divDouble.c.txt Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2701e84f8beaa878af13187d4cd7c040a8953b32 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Thu Feb 26 11:13:06 2015 +0100 si2168, tda10071, m88ds3103: Fix firmware wording Change 'firmare' to 'firmware' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7a35a865049f60f0891797f46150d3b611a64d0b Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Tue Feb 24 16:42:45 2015 +0100 usb: storage: Fix printk in isd200_log_config() Change 'Supsend' to 'Suspend' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6ef68da70f5242f71a2bc76fc8d78b473d6b5c05 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Mon Feb 23 23:26:50 2015 +0100 qla2xxx: Fix printk in qla25xx_setup_mode Change 'enalbed' to 'enabled' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Acked-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit fc454fdc108e44bf7e7ebd39f8209a2d021dd8ca Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Mon Feb 23 22:05:56 2015 +0100 init/main: fix reset_device comment Fix incorrect spelling of situation. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 52df3d5b6a49dc3d867abb5414315490dd0098ef Author: Alan <gnomes@xxxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 21:43:35 2015 +0000 ipwireless: missing assignment We never report the error because we don't assign it to ret. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2a2483685a9decd0af60f1dc9e49f46f9e65891b Author: Alan <gnomes@xxxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 21:11:13 2015 +0000 goldfish: remove unreachable line of code Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit d38712a7e2773ed4bc4f694cfa7bcbee4f804675 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Thu Feb 5 14:35:05 2015 +0100 coredump: Fix do_coredump() comment Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f38bacb3ebdd30ae4695735a82497659ba05d9fa Author: Himanshu Maithani <hmaithani@xxxxxxxxx> Date: Fri Jan 30 01:31:14 2015 +0530 stacktrace.h: remove duplicate declaration task_struct There is duplicate declaration for struct task_struct. One can be removed safely. Signed-off-by: Himanshu Maithani <hmaithani@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c5b66e47251d797e38f3ee8ec8d613780506c245 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Fri Jan 23 13:36:55 2015 +0800 smpboot.h: Remove unused function prototype Function smpboot_thread_schedule() is neither used nor defined, so kill it. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit d939be3add4f1410079dad2755d4936cdb70903b Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Fri Feb 27 23:52:31 2015 +0900 treewide: Fix typo in printk messages This patch fix spelling typo in printk messages. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f42cf8d6a3ec934551ac0f20f4654dccb11fa30d Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Tue Feb 24 23:11:26 2015 +0900 treewide: Fix typo in printk messages This patch fix spelling typo in printk messages. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 637473cf006fe4cd85aed0fb69b6c917d868ada2 Author: Sharon Dvir <sharon.dvir1@xxxxxxxxxxxxxxx> Date: Thu Jan 22 12:15:25 2015 +0200 mod_devicetable: fix comment for match_flags Signed-off-by: Sharon Dvir <sharon.dvir1@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 015fdaa9f8edd89a456b3331088e1b77ebdad9d0 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Fri Mar 6 11:14:42 2015 -0500 HID: multitouch: add support of clickpads Touchpads that have only one button are called clickpads and should be advertised as such by the kernel. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Tested-by: Jason Ekstrand <jason@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 34de26d366ea49d99be633ae389e751fd5d592f5 Merge: 2048823 88bae71 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 15:49:35 2015 -0500 Merge branch 'fib_trie-next' Alexander Duyck says: ==================== The rest of the FIB patches (add key_vector to fib_table) This patch series is the rest of what I had originally planned for this kernel release. It adds a structure called key_vector which is embedded within every tnode, leaf, and the trie root itself. By doing this we can navigate from any point within the trie to any other point fairly quickly and avoiding NULL pointer checks in the case of a backtrace. As a result we can pipeline things a bit further since we don't have to worry about dereferencing NULL in a backtrace. This can amount to significant savings on a long backtrace. I decided to drop the up-level code as that conflicts with combining the main and local tries. I have one patch as an RFC that currently combines the tries however it still needs some work as we have to split the local and main tries in the event of custom rules being defined. As such we are probably going to be doing some more hacking on fib_table_flush_external as that will also need to flush the local entries from the main trie and place them back in the local trie. v2: Rebased on the switchdev FIB offload work ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88bae7149a5e980dc5a7488fba2fcb41286fd82e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:52 2015 -0800 fib_trie: Add key vector to root, return parent key_vector in resize This change makes it so that the root of the trie contains a key_vector, by doing this we make room to essentially collapse the entire trie by at least one cache line as we can store the information about the tnode or leaf that is pointed to in the root. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f23e59fbd77054d9e555ef398bb918320f9319e2 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:46 2015 -0800 fib_trie: Move parent from key_vector to tnode This change pulls the parent pointer from the key_vector and places it in the tnode structure. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e22d174ba29a04dfd66e9be3fa9b5fad1278001 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:39 2015 -0800 fib_trie: Pull empty_children and full_children into tnode This pulls the information about the child array out of the key_vector and places it in the tnode since that is where it is needed. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56ca2adf6ac1fca57f504ac1d76f7dff1dc08d3a Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:33 2015 -0800 fib_trie: Move rcu from key_vector to tnode, add accessors. RCU is only needed once for the entire node, not once per key_vector so we can pull that out and move it to the tnode structure. In addition add accessors to be used inside the RCU functions so that we can more easily get from the key vector to either the tnode or the trie pointers. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc35dbeda3e00a05723784078a233c2531d34810 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:27 2015 -0800 fib_trie: Add tnode struct as a container for fields not needed in key_vector This change pulls the fields not explicitly needed in the key_vector and placed them in the new tnode structure. By doing this we will eventually be able to reduce the key_vector down to 16 bytes on 64 bit systems, and 12 bytes on 32 bit systems. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e1ac88a48370620429cd9e54c41365531962809 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:21 2015 -0800 fib_trie: Rename tnode_child_length to child_length We are now checking the length of a key_vector instead of a tnode so it makes sense to probably just rename this to child_length since it would probably even be applicable to a leaf. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 754baf8decce722db6d02bb0db745402f8cbc16f Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:14 2015 -0800 fib_trie: replace tnode_get_child functions with get_child macros I am replacing the tnode_get_child call with get_child since we are techically pulling the child out of a key_vector now and not a tnode. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35c6edac197fcfb53cea9993d9b64386b15abf48 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:08 2015 -0800 fib_trie: Rename tnode to key_vector Rename the tnode to key_vector. The key_vector will be the eventual container for all of the information needed by either a leaf or a tnode. The final result should be much smaller than the 40 bytes currently needed for either one. This also updates the trie struct so that it contains an array of size 1 of tnode pointers. This is to bring the structure more inline with how an actual tnode itself is configured. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d8e810ca8ec2541f30af916f0de1b41ac86ec4a Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:02 2015 -0800 fib_trie: Return pointer to tnode pointer in resize/inflate/halve Resize related functions now all return a pointer to the pointer that references the object that was resized. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72be72607a560dfa7a4715cb372f9e1e40ed65a5 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:53:56 2015 -0800 fib_trie: Minor cleanups to fib_table_flush_external This change just does a couple of minor cleanups on fib_table_flush_external. Specifically it addresses the fact that resize was being called even though nothing was being removed from the table, and it drops an unecessary indent since we could just call continue on the inverse of the fi && flag check. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20488239d236f1615e2be8b0f6dbd30e4310940a Author: Punnaiah Choudary Kalluri <punnaiah.choudary.kalluri@xxxxxxxxxx> Date: Fri Mar 6 18:29:12 2015 +0100 net: macb: Fix multi queue support for xilinx ZynqMP ZynqMP soc has single interrupt for all the queue events. So, passing the IRQF_SHARED flag for interrupt registration call. Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a013a9c71b21a9860f44dec7600c8fe77995a77 Author: Punnaiah Choudary Kalluri <punnaiah.choudary.kalluri@xxxxxxxxxx> Date: Fri Mar 6 18:29:11 2015 +0100 net: macb: Include multi queue support for xilinx ZynqMP ethernet version Include multi queue support for the ethernet IP version in xilinx ZynqMP SoC. Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28c0f02ffe8a614bc7e1aa57319a62e7ce700d04 Merge: 89650ad 1ca2760 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 15:46:08 2015 -0500 Merge tag 'wireless-drivers-next-for-davem-2015-03-06' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Major changes: brcmfmac: * sdio improvements * add a debugfs file so users can provide us all the revinfo we could ask for iwlwifi: * add triggers for firmware dump collection * remove support for -9.ucode * new statitics API * rate control improvements ath9k: * add per-vif TX power capability * BT coexistance fixes ath10k: * qca6174: enable STA transmit beamforming (TxBF) support * disable multi-vif power save by default bcma: * enable support for PCIe Gen 2 host devices Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89650ad0047f039b3c3bc0f6a5823bb9c9738152 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Fri Mar 6 11:44:28 2015 -0500 fib: make netdev_switch_fib_ipv4_abort in header file static inline When building without CONFIG_NET_SWITCHDEV, netdev_switch_fib_ipv4_abort is defined in the header file. It must be static inline to avoid build failure at link time. Fixes: 8e05fd7166c6 ("fib: hook IPv4 fib for hardware offload") Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c22c62db3f7388422257918c9d2582ef20d2e12d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 2 14:58:57 2015 +0200 spi: dw: move to SPI core message handling This patch removes a lot of duplicate code since SPI core provides a nice message handling. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e00803a97d1424e68a649a25b248f58d81d379d Merge: 0b2e891 b716c4f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Mar 6 20:33:19 2015 +0000 Merge branch 'topic/err' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-dw commit 0b2e8915ead06b21d8f2360bfc28e747c4c0df8c Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 2 14:58:56 2015 +0200 spi: dw: program registers as soon as possible This patch refactors the code in pump_transfers() to reprogram the registers immediately when we have a new configuration data. The behaviour is slightly modified: - chip is always disabled and reenabled - CTRL0 is always reprogrammed This change allows to do a further refactoring and simplier conversion to use SPI core DMA routines in the future. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 45746e82cf89f432f9c986a52137d8a64b78aba9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 2 14:58:55 2015 +0200 spi: dw: make sure SPI controller is enabled The error handling is partially broken since the controller is disabled on error and is not re-enabled until condition occurs, i.e. mode (poll, PIO/DMA), chip (cs_change), or speed (clk_div) is changed. In the result of these changes we will have a predictable state of the SPi controller independently on how successfull was a previous transfer. The patch disables interrupts and re-enables the SPI controller wherever it needs to be done. Thus most of the time the SPI controller is kept enabled. The runtime PM, when it will be implemented, must take care of the controller disabling and re-enabling. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f8d54afc4c7a4c41deaa43fbcfffc2976094d342 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Fri Mar 6 10:47:00 2015 +0000 mpls: Properly validate RTA_VIA payload length If the nla length is less than 2 then the nla data could be accessed beyond the accessible bounds. So ensure that the nla is big enough to at least read the via_family before doing so. Replace magic value of 2. Fixes: 03c0566542f4 ("mpls: Basic support for adding and removing routes") Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a5ab21c2e0f3d6b25ee9f7ca3429fac57027f76 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Fri Feb 27 12:54:29 2015 +0800 ASoC: Intel: Add suspend_pre and resume_post for Broadwell snd_soc_card For broadwell machine, we need do some machine related setting before suspend and after resume, e.g. disable/enable jack detection, here adding snd_soc_card suspend_pre and resume_post for this task. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5af76d5c0882435241841186b054262407e9eabb Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Fri Feb 27 12:52:26 2015 +0800 ASoC: rt286: correct the OR to AND Here it should be AND(&) to check the status. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c4b934f89defcc158d1ceda8294b1e534197c75 Merge: 76f53bf 3feafa0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 15:13:47 2015 -0500 Merge branch 'bcmgenet-next' Petri Gynther says: ==================== net: bcmgenet: preparation for multiple Rx queues Three small patches in preparation for supporting multiple Rx queues: 1. set hw_params->rx_queues = 0 2. adjust the call to alloc_etherdev_mqs() 3. add GENET_Q16_RX_BD_CNT and hw_params->rx_bds_per_q ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3feafa02156681a5a2a843680c7daeb93d22e280 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Thu Mar 5 17:40:14 2015 -0800 net: bcmgenet: add GENET_Q16_RX_BD_CNT and hw_params->rx_bds_per_q In preparation for supporting multiple Rx queues, add GENET_Q16_RX_BD_CNT and hw_params->rx_bds_per_q. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3feafeed16f92b96b7b67a3e30882c62c859f4bb Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Thu Mar 5 17:40:12 2015 -0800 net: bcmgenet: adjust the call to alloc_etherdev_mqs() In preparation for supporting multiple Rx queues, adjust the call to alloc_etherdev_mqs() to allow max GENET_MAX_MQ_CNT + 1 Rx queues. The actual number of Rx queues in use is correctly adjusted with: netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1); Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e906e025d2ccf94f23b0cf8967a52134d6be6d1 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Thu Mar 5 17:40:10 2015 -0800 net: bcmgenet: set hw_params->rx_queues = 0 bcmgenet driver doesn't yet support multiple Rx queues. Set hw_params->rx_queues = 0 accordingly. The default Rx queue (Q16) is still created and operational. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76f53bfdaab2b5b96553da09219aa243ac6d8cf2 Merge: f0fdc80 08e8331 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 15:01:07 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-06 This series contains updates to e1000, e1000e and igb. Yanir provides updates to e1000e based on the patches provided by John Linville. First updates the code comment to better describe the changes and the impact on the driver. Second removed calls to ioremap/unmap for i219 since this is only relevant to older hardware only. Starting with i219, the NVM will not be mapped to its one BAR but to a address region in another bar. Alex Duyck provides two fixes for igb, first fixes a compile warning where a variable may be used uninitialized, so Alex initializes it. Second fixes an issue where all of the pin register values were having to be pushed onto the stack each time the function was called, so to avoid this, Alex made them static const so that they should only need to be allocated once and we can avoid all the instructions to get them onto the stack. Eliezer found an issue in e1000 where we needed to be calling netif_carrier_off earlier in the down() to prevent the stack from queuing more packets to the interface. Sabrina Dubroca resolved a potential race condition by adding a dummy allocator. There was a race condition between e1000_change_mtu() cleanups and netpoll, when changing the MTU across jumbo sizes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0fdc80bd9ced4de3eb165c9c408e83713a71104 Merge: aaa4e70 fab4276 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 14:57:46 2015 -0500 Merge branch 'pmtu-probe' Fan Du says: ==================== Improvements for TCP PMTU This patchset performs some improvements and enhancement for current TCP PMTU as per RFC4821 with the aim to find optimal mms size quickly, and also be adaptive to route changes like enlarged path MTU. Then TCP PMTU could be used to probe a effective pmtu in absence of ICMP message for tunnels(e.g. vxlan) across different networking stack. Patch1/4: Set probe mss base to 1024 Bytes per RFC4821 Patch2/4: Do not double probe_size for each probing, use a simple binary search to gain maximum performance. mss for next probing. Patch3/4: Create a probe timer to detect enlarged path MTU. Patch4/4: Update ip-sysctl.txt for new sysctl knobs. Changelog: v5: - Zero probe_size before resetting search range. - Update ip-sysctl.txt for new sysctl knobs. v4: - Convert probe_size to mss, not directly from search_low/high - Clamp probe_threshold - Don't adjust search_high in blackhole probe, so drop orignal patch3 v3: - Update commit message for patch2 - Fix pseudo timer delta calculation in patch4 v2: - Introduce sysctl_tcp_probe_threshold to control when probing will stop, as suggested by John Heffner. - Add patch3 to shrink current mss value for search low boundary. - Drop cannonical timer usages, implements pseudo timer based on 32bits jiffies tcp_time_stamp, as suggested by Eric Dumazet. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fab42760843734a82b6b2d1241ca44f375a686eb Author: Fan Du <fan.du@xxxxxxxxx> Date: Fri Mar 6 11:18:25 2015 +0800 ipv4: Documenting two sysctls for tcp PMTU probe Namely tcp_probe_interval to control how often to restart a probe. And tcp_probe_threshold to control when stop the probing in respect to the width of search range in bytes Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05cbc0db03e82128f2e7e353d4194dd24a1627fe Author: Fan Du <fan.du@xxxxxxxxx> Date: Fri Mar 6 11:18:24 2015 +0800 ipv4: Create probe timer for tcp PMTU as per RFC4821 As per RFC4821 7.3. Selecting Probe Size, a probe timer should be armed once probing has converged. Once this timer expired, probing again to take advantage of any path PMTU change. The recommended probing interval is 10 minutes per RFC1981. Probing interval could be sysctled by sysctl_tcp_probe_interval. Eric Dumazet suggested to implement pseudo timer based on 32bits jiffies tcp_time_stamp instead of using classic timer for such rare event. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b58e0a5f32dedb609438bb9c9c82aa6e23381f2 Author: Fan Du <fan.du@xxxxxxxxx> Date: Fri Mar 6 11:18:23 2015 +0800 ipv4: Use binary search to choose tcp PMTU probe_size Current probe_size is chosen by doubling mss_cache, the probing process will end shortly with a sub-optimal mss size, and the link mtu will not be taken full advantage of, in return, this will make user to tweak tcp_base_mss with care. Use binary search to choose probe_size in a fine granularity manner, an optimal mss will be found to boost performance as its maxmium. In addition, introduce a sysctl_tcp_probe_threshold to control when probing will stop in respect to the width of search range. Test env: Docker instance with vxlan encapuslation(82599EB) iperf -c 10.0.0.24 -t 60 before this patch: 1.26 Gbits/sec After this patch: increase 26% 1.59 Gbits/sec Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Acked-by: John Heffner <johnwheffner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dcd8fb8533ceb493146ce030d15f7965b82d0c27 Author: Fan Du <fan.du@xxxxxxxxx> Date: Fri Mar 6 11:18:22 2015 +0800 ipv4: Raise tcp PMTU probe mss base size Quotes from RFC4821 7.2. Selecting Initial Values It is RECOMMENDED that search_low be initially set to an MTU size that is likely to work over a very wide range of environments. Given today's technologies, a value of 1024 bytes is probably safe enough. The initial value for search_low SHOULD be configurable. Moreover, set a small value will introduce extra time for the search to converge. So set the initial probe base mss size to 1024 Bytes. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Acked-by: John Heffner <johnwheffner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aaa4e70404c7b38a8792dc69af54afd7218b2ec0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Mar 4 10:16:43 2015 -0600 DECnet: Only use neigh_ops for adding the link layer header Other users users of the neighbour table use neigh->output as the method to decided when and which link-layer header to place on a packet. DECnet has been using neigh->output to decide which DECnet headers to place on a packet depending which neighbour the packet is destined for. The DECnet usage isn't totally wrong but it can run into problems if the neighbour output function is run for a second time as the teql driver and the bridge netfilter code can do. Therefore to avoid pathologic problems later down the line and make the neighbour code easier to understand by refactoring the decnet output code to only use a neighbour method to add a link layer header to a packet. This is done by moving the neigbhour operations lookup from dn_to_neigh_output to dn_neigh_output_packet. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d4cf65e2db58f927ca3cd13b0074b8fe5124659 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Feb 25 16:42:12 2015 +0100 ASoC: omap: fix up SND_OMAP_SOC_OMAP_ABE_TWL6040 dependency The change to enable OMAP5 support on this platform was a little too eager in adding a 'select' for a particular clock driver that might not be enabled in all configurations, which in turn leads to a build error: warning: (SND_OMAP_SOC_OMAP_ABE_TWL6040) selects COMMON_CLK_PALMAS which has unmet direct dependencies (COMMON_CLK && MFD_PALMAS) drivers/built-in.o: In function `palmas_clks_probe': drivers/clk/clk-palmas.c:228: undefined reference to `palmas_ext_control_req_config' I do not see a strong dependency here, so it's probably better to drop this select and to avoid adding more complexity here. Fixes: 5163c1eede8e9 ("ASoC: omap: Kconfig: Support for omap5-uevm analog audio") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7183d1ebda477c48e5f51f854a766c96b6c0e142 Author: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Date: Fri Feb 27 16:30:15 2015 +0100 spi: pl022: Remove dead code "flag" variable does nothing, remove it. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85fa4e1f094183d230c47fa1e83373f692dc05ec Author: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Date: Fri Feb 27 16:30:07 2015 +0100 spi: pl022: Don't touch unspecified bits in interrupt mask PL022 Programmers model explicitely states "do not modify undefined register bits". Correct the "all enable" interrupt mask so that it only enables defined ones. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 45b064d73d6a5cfcfa76012b91e2afc98e341664 Author: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Date: Fri Feb 27 16:30:01 2015 +0100 spi: pl022: Remove incorrect TxFIFO full reporting According to PL022 specification, TNF bit states for "Transmit FIFO Not full". So the logic here is inverted. But "Receive Overrun Interrupt", which is handled here, is only triggered on Rx errors. So instead of fixing the if statement, remove the whole message. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit df3a950e4e7386027fc174566aa5c24781297be8 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Fri Feb 27 17:04:04 2015 +0000 regulator: act8865: Add act8600 support This patch adds act8600 support to the act8865 driver. VBUS and USB charger supported by this chip can be added later Tested on MIPS Creator CI20 Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2291793cc4c6b1251e28a4ff0f98041147d57e96 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Feb 27 17:34:16 2015 +0200 spi/rockchip: do an error handling in proper time There was handle_err() callback introduced that is dedicated for error handling. The patch moves error handling to this callback. Cc: Heiko Stuebner <heiko@xxxxxxxxx> Cc: linux-rockchip@xxxxxxxxxxxxxxxxxxx Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b716c4ffc6a2b0bfbcf9619880f335be11b65708 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Feb 27 17:34:15 2015 +0200 spi: introduce master->handle_err() callback This callback would be useful to handle an error that occurs in the generic implementation of transfer_one_message(). The good candidate for this is to drain FIFO and / or to terminate DMA transfers when timeout happened. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 616f45416ca0d726d6d3421a296ebc6e2bb82cde Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Wed Mar 4 21:57:52 2015 -0800 bonding: implement bond_poll_controller() This patches implements the poll_controller support for all bonding driver. If the slaves have poll_controller net_op defined, this implementation calls them. This is mode agnostic implementation and iterates through all slaves (based on mode) and calls respective handler. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de4e374b401a736a2c278babe99b94756060d0e8 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Dec 29 14:43:44 2014 -0800 Input: synaptics - switch ForcePad detection to PNP IDs According to Synaptics devices with ForcePads use SYN300D and SYN3014 as PNP IDs, so let's switch from DMI-bases detection scheme to PNP-based one, which should be more reliable. Suggested-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 99e14c1e23108c34c4216d68c488fcd937310c32 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Feb 27 16:17:59 2015 -0800 Input: psmouse - when comparing PNP IDs ignore case PNP IDs are supposed to be case-insensitive and so we should compare them as such. Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d7535ffa427b8976b2d41f8d9f7fb9f1c97d786c Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Mar 4 14:47:58 2015 -0800 Input: driver for microcontroller keys on the iPaq h3xxx This adds a key input driver for the keys found on the h3xxx iPAQ series. Based on a driver from handhelds.org 2.6.21 kernel, written by Alessandro GARDICH. Signed-off-by: Alessandro GARDICH <gremlin@xxxxxxxxxx> Signed-off-by: Dmitry Artamonow <mad_soft@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e5abff1fe2e400bdabd14feb4e69e9ad661ba71a Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Wed Mar 4 14:43:40 2015 -0800 Input: add haptic support for max77843 This patch adds support for haptic on max77843 MFD (Multi Function Device) with PMIC, MUIC, LED, CHARGER. This driver supports external pwm and LRA (Linear Resonant Actuator) motor. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> [Jim Davis <jim.epost@xxxxxxxxx>: should depend on REGULATOR not PWM] Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7a00ff445f1337bbd0fbf65d3ae468dfbc7ba53e Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:56 2015 +0200 Bluetooth: Add mgmt_send_event() helper to send to any HCI channel Currently the mgmt_event() function is only capable of sending to HCI_CHANNEL_CONTROL. To void having to change all users of it, add a new mgmt_send_event() function that takes a channel parameter, and make the old mgmt_event() a wrapper that passes MGMT_CHANNEL_CONTROL to it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3b0602cd01a571177e169c594e5e52b7b740cf08 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:55 2015 +0200 Bluetooth: Rename pending_cmd to mgmt_pending_cmd This patch renames the pending_cmd struct (used for tracking pending mgmt commands) to mgmt_pending_cmd, so that it can be moved to a more generic place and be used also by other modules using other HCI channels. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2a1afb5ac8d580d2013c2ccc548b4f2689c5ad7a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:54 2015 +0200 Bluetooth: Rename cmd_complete() to mgmt_cmd_complete() This patch renames the cmd_complete() function to mgmt_cmd_complete() in preparation of making it a generic helper for other modules to use too. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a69e8375a134eb7f42d5de7e14d0816967282757 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:53 2015 +0200 Bluetooth: Rename cmd_status() to mgmt_cmd_status() This patch renames the cmd_status() function to mgmt_cmd_status() in preparation of making it a generic helper for other modules to use too. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b9a245fb12315f8c6528b29a991a004859c982d5 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:52 2015 +0200 Bluetooth: Move all mgmt command quirks to handler table In order to completely generalize the mgmt command handling we need to move away command-specific information from mgmt_control() into the actual command table. This patch adds a new 'flags' field to the handler entries which can now contain the following command specific information: - Command takes variable length parameters - Command doesn't target any specific HCI device - Command can be sent when the HCI device is unconfigured After this the mgmt_control() function is completely generic and can potentially be reused by new HCI channels. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6d785aa345f525e1fdf098b7c590168f0b00f3f1 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:51 2015 +0200 Bluetooth: Convert mgmt to use HCI chan registration API This patch converts the existing mgmt code to use the newly introduced generic API for registering HCI channels with mgmt-like semantics. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 801c1e8da57499a9922223ee1882b2b59debd47c Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:50 2015 +0200 Bluetooth: Add mgmt HCI channel registration API This patch adds an API for registering HCI channels with mgmt-like semantics. For now the only user will be HCI_CHANNEL_CONTROL, but e.g. 6lowpan is intended to use this as well in the future. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 93690c227acf08a2a19cbaf9acbcd2210fbb8ded Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 6 10:11:21 2015 -0800 Bluetooth: Introduce controller setting information for static address Currently it is not possible to determine if the static address is used by the controller. It is also not possible to determine if using a static on a dual-mode controller with disabled BR/EDR is possible or not. To address this issue, introduce a new setting called static-address. If support for this setting is signaled that means that the kernel supports using static addresses. And if used on dual-mode controllers with BR/EDR disabled it means that a configured static address can be used. In addition utilize the same setting for the list of current active settings that indicates if a static address is configured and if that address will be actually used. With this in mind the existing Set Static Address management command has been extended to return the current settings. That way the caller of that command can easily determine if the programmed address will be used or if extra steps are required. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a1b7f2f6367944d445c6853035830a35c6343939 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 09:55:03 2015 +0100 PCI/AER: Avoid info leak in __print_tlp_header() Commit fab4c256a58b ("PCI/AER: Add a TLP header print helper") introduced the helper function __print_tlp_header(), but contrary to the intention, the behaviour did change: Since we're taking the address of the parameter t, the first 4 or 8 bytes printed will be the value of the pointer t itself, and the remaining 12 or 8 bytes will be who-knows-what (something from the stack). We want to show the values of the four members of the struct aer_header_log_regs; that can be done without ugly and error-prone casts. On little-endian this should produce the same output as originally intended, and since no-one has complained about getting garbage output so far, I think big-endian should be ok too. Fixes: fab4c256a58b ("PCI/AER: Add a TLP header print helper") Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.14+ commit e922df7d3e946529981860d4bdd707a9cb59fc0d Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Mar 3 22:34:22 2015 +0530 Staging: rtl8712: Eliminate use of _init_timer This patch introduces the use of API function setup_timer instead of driver specific function _init_timer as it is the preferred and standard way to setup and set the timer. To be compatible with the change, argument types of referenced functions are changed. Also, definition of function _init_timer is removed as it is no longer needed after this change. This is done using Coccinelle and semantic patch used for this is as follows: @@ expression x, y; identifier a, b;@@ - _init_timer (&x, y, a, b); + setup_timer (&x, a, (unsigned long)b); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47f0585a20e28bdd3155823afcff209615c902ff Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 3 16:08:38 2015 +0200 staging: rtl8192u: ieee80211: replace memset(x,0,ETH_ALEN) by eth_zero_addr(x) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The replacement was done by the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21f5690ec7f5a5fa278f2b818a7ed722becd6995 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 3 16:06:19 2015 +0200 staging: rtl8192u: replace memset(x,0,ETH_ALEN) by eth_zero_addr(x) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The replacement was done by the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76f73693ca36a13aff719c71236c47a4927c14a0 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 3 16:04:20 2015 +0200 staging: rtl8192e: replace memset(x,0,ETH_ALEN) by eth_zero_addr(x) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The replacement was done by the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdbaf3f67279e7ee531c1be6da53731461a74237 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 3 16:03:35 2015 +0200 staging: rtl8192e: replace memset(x,0,ETH_ALEN) by eth_zero_addr(x) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The replacement was done by the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5c15efba8cc3865ff880cbab52ffe6472373921 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Mar 3 13:09:23 2015 +0530 Staging: rtl8192u: Fix duplicate conditional branch Replace duplicate branch with correct value. This branch is supposed to work for low thresh value. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dc42962e1669a7ad222103d485e9af30dd1ffde Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Mar 3 13:08:24 2015 +0530 Staging: rtl8192e: Eliminate use of macro IS_NIC_DOWN This patch eliminates use of unnecessory macro IS_NIC_DOWN and replaces it with standard code. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80c598a6abff3713e4a8c31c34f6aec8b342844d Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Mon Mar 2 23:56:54 2015 +0200 Staging: rtl8192u: Fix quoted string split across lines This patch fixes checkpatch.pl warning in file ieee80211_crypt.c WARNING: "quoted string split across lines warning" Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 225f597c60da646a6df1f7ac4152577a0c5fd56c Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Tue Mar 3 23:48:21 2015 +0900 staging: lustre: remove initialization of static ints static ints are initialized to 0 by the compiler. Explicit initialization is not necessary. Found by checkpatch.pl - ERROR: do not initialise statics to 0 or NULL changes made using coccinelle script: @@ type T; identifier var; @@ -static T var = 0; +static T var; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37e3be9de378d4775c617b0649ff89a6dc6bf07d Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Mar 4 02:37:15 2015 +0200 Staging: iio: Added define guards where needed The following files were added define guards to prevent multiple inclusion. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e384b69a35ae96055774dbce9dea813043e21142 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 3 16:27:37 2015 +0200 staging: iio: meter: add check on return variables adds checks on variables that are used to return values. If the value is less than zero, this indicates that an error occurred and hence a message is printed through dev_err. Checks are made on negative values only since spi_* functions return negative error codes. The functions were found using the following script but the aforementioned modification was what was carried out in the end: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82d28561b7e01eccaa36b06c987045f08a77b4f4 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 3 17:08:06 2015 +0530 staging: comedi: Remove if condition. This patch removes a if condition which has a semicolon after it. As the conditional check is redundant, the comment before it is also changed. The following coccinelle script was used to detect the pattern of a semicolon after if. @r1@ position p; @@ if (...);@p @script:python@ p0 << r1.p; @@ // Emacs org-mode output cocci.print_main("", p0) cocci.print_secs("", p0) Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 324588eccc75a3a3d4beac2a0206122b23b90adc Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 2 23:40:26 2015 +0530 staging: lustre: lustre: libcfs: Replaced printk() with pr_err() and pr_cont() The following checkpatch warning was fixed: Prefer [subsystem eg: netdev]_err([subsystem]dev with the help of Coccinelle. pr_cont() was used to replace those printk statements which followed a printk that did not end with a '\n'. The following semantic patch was used to replace printk() with pr_err(): @a@ expression e; @@ printk(e,...); @script:python b@ e << a.e; y; @@ import re match = re.match('KERN_ERR ', e); if (match == None): cocci.include_match(False) else: m = re.sub('KERN_ERR ', '', e) coccinelle.y = m; @c@ expression a.e; identifier b.y; @@ - printk(e, + pr_err(y, ...); Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85b7a9de00bde29e3c815474f51bfdf0fbcde9d7 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 2 23:40:25 2015 +0530 staging: lustre: lustre: libcfs: Replaced printk() with pr_err() The following checkpatch warning was fixed: Prefer [subsystem eg: netdev]_err([subsystem]dev with the help of Coccinelle. The following semantic patch was used: @a@ expression e; @@ printk(e,...); @script:python b@ e << a.e; y; @@ import re match = re.match('KERN_ERR ', e); if (match == None): cocci.include_match(False) else: m = re.sub('KERN_ERR ', '', e) coccinelle.y = m; @c@ expression a.e; identifier b.y; @@ - printk(e, + pr_err(y, ...); Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe6e0197ba7a5820419e68cff3879786388e8971 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:25:03 2015 -0500 staging: rtl8723au: odm.c: Break some lines down to 80 characters Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c335da572652e984ca7f29a1384f7c3c85fb3a5c Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:25:02 2015 -0500 staging: rtl8723au: ODM_Write_DIG23A(): Cosmetic cleanups Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b58298eee28f055f862d1dc122bf34a1e1ab17ca Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:25:01 2015 -0500 staging: rtl8723au: Clean up odm_RefreshRateAdaptiveMask() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0305d27d9e0d8f90697d3d8cc2f3aeedeaab44fd Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:25:00 2015 -0500 staging: rtl8723au: Clean up FindMinimumRSSI() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04b7466fa514283438c0adbbca06f799b70c0d5c Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:59 2015 -0500 staging: rtl8723au: Clean up odm_RSSIMonitorCheck() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a5767e882ae1be5e40ce8dd338761a2f72761dd Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:58 2015 -0500 staging: rtl8723au: ODM_TXPowerTrackingCheck23a(): Remove no-op function Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd42f95cf041b99c440382acc18f9312282fc50f Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:57 2015 -0500 staging: rtl8723au: Remove write only bIsCurRDLState Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb1ede84dfff512b5ac4fc8e45b8e5e8ed4d8d12 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:56 2015 -0500 staging: rtl8723au: Remove unused struct pri_cca Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 761b6031a4d181729a0916fae1c36f4ecd1ac13a Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:55 2015 -0500 staging: rtl8723au: Remove unused struct odm_fat_t Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8bf591e5c17c863dd7b290c31e6330612e899a74 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:54 2015 -0500 staging: rtl8723au: Remove unused Funai TV hack Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d8a61c4b209c26b4e683f9daab1ebb7b97e8e9f Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:53 2015 -0500 staging: rtl8723au: Remove write-only variable ControlChannel Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d693e3a09fd0b50a39c864e7a260e69efb78896 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:52 2015 -0500 staging: rtl8723au: SupportInterface is always set to USB Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9c39d293fd4ae8212ddad3a075af850820ec751 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:51 2015 -0500 staging: rtl8723au: Remove no-op ODM_CMNINFO_PLATFORM Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8122a8c88ea711fdc72374097aaf7302fc346165 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:50 2015 -0500 staging: rtl8723au: odm_dtc(): Remove no-op function Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cba07d71d24c6b098723f152091a4292374aa14 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:49 2015 -0500 staging: rtl8723au: Make odm_PHY_SaveAFERegisters() readable Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea89e2f6b7ae55db9275f631327dc5c07f72871e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:48 2015 -0500 staging: rtl8723au: Remove unused ODM ability flags Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fec75cd5f1def0652ff56e649f24256fdfd26b8c Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:47 2015 -0500 staging: rtl8723au: ODM_RF_CALIBRATION is never set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4be419e6d3c5019480e60f2340e59cbd602f8af8 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:46 2015 -0500 staging: rtl8723au: ODM_RF_TX_PWR_TRACK is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 719d3f6cf025c30506c5d37ed6aca27741a89107 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:45 2015 -0500 staging: rtl8723au: ODM_BB_PWR_SAVE is unused Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bdef7a0d402f1a0f4ec26da2170da52d51537dd Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:44 2015 -0500 staging: rtl8723au: ODM_BB_CCK_PD is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01c1ec0057b79472434b1ea6bff3bf3d0bd026df Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:43 2015 -0500 staging: rtl8723au: ODM_BB_RSSI_MONITOR is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 399ec83079a2b281a905b9e943ca2f13f82e02cf Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:42 2015 -0500 staging: rtl8723au: ODM_BB_FA_CNT is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6920f3b9688f9808f7c11964774321a8e03c492e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:41 2015 -0500 staging: rtl8723au: ODM_BB_DYNAMIC_TXPWR isn't used for anything Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d51a602dcd4be8989ff459fc0d6f1bb78336d7c Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:40 2015 -0500 staging: rtl8723au: ODM_BB_DIG is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79afea1b3003115b2c26bab4041e69b31c2a03c6 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:39 2015 -0500 staging: rtl8723au: ODM_BB_RA_MASK is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6520715ed2ccaeff6b797f358e0e2aa64a472db8 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:38 2015 -0500 staging: rtl8723au: ODM_MAC_EDCA_TURBO is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b4431ce04bc6f35f09237b3933fc6d5d7eefeef Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:37 2015 -0500 staging: rtl8723au: Avoid zero initializing variables unnecessarily Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daa656b2245d9755f28dfdaf78904088d7b6d3b9 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:36 2015 -0500 staging: rtl8723au: Variable bbtchange is always false Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f737ea50bac2f6a06835a3180bdbeae59dc9d735 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 2 21:38:22 2015 +0300 Staging: emxx_udc: Remove custom printk macro ERR This patch removes custom printk macro ERR. All the calls to this macro were replaced by de_err and pr_err. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 886892798c9d29d3bb32e6a6d24e09565d71659e Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 2 21:37:38 2015 +0300 Staging: emxx_udc: Replace custom printk macro ERR with dev_err or pr_err This patch removes the use of custom printk macros ERR and replace it with dev_err, or pr_err in the following cases: - if no appropriate struct device *dev field where found for dev_err. - or dev could be null eg. "dev_err(udc->dev" not possible inside "if (udc == null)" Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d45c4c654d12fee5122e2eead93e5766dfd2259f Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 2 21:33:18 2015 +0300 Staging: emxx_udc: Remove argument test from function This patch removes the test statement for an argument to _nbu2ss_pullup function, for it can't be null due to previous derefrences. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6ef6c094ebd43e393657f4ae9cc3383dffda303 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 2 20:01:42 2015 +0300 Staging: emxx_udc: Fix do not add new typedefs and remove volatile This patch fixes the following checkpatch.pl warnings:"do not add new typedefs" and "Use of volatile is usually wrong". Remove typedefs keyword and rename identifiers appropriately. Remove volatile from union usb_regs_access Update related files. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fad0d05f7c05d9990e0fe3759511069e9e5e5c9e Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Mon Mar 2 23:28:14 2015 +0200 Staging: fbtft: Remove unnecessary 'out of memory' message. This patch fixes checkpatch.pl warning in file fb_ssd1351.c WARNING: Possible unnecessary 'out of memory' message Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cb624ef71fb267026ace1e2aa91b9861e3c2457 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Mon Mar 2 22:56:53 2015 +0200 Staging: fbtft: Remove unnecessary 'out of memory' message. This patch fixes checkpatch.pl warning in file fbtft-core.c WARNING: Possible unnecessary 'out of memory' message Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ba67a5a7bca9cb00562127d7410d412d3aa923b Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Mon Mar 2 17:49:59 2015 +0200 Staging: fbtft-core: remove unnecessary line continuations This fixes the checkpatch.pl warning: WARNING: Avoid unnecessary line continuations Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd03eed307939ffa768ab80488a4968566259d6d Author: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Date: Sun Feb 22 20:28:44 2015 +0100 staging: rtl8723au: rtl8723a_hal_init.c: remove unnecessary braces Fix all checkpatch "braces {} are not necessary" warnings for rtl8723au/hal/rtl8723a_hal_init.c Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19c7b64455d7cfe88844f05025ab40861c12b6b8 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 27 15:45:34 2015 -0500 staging: rtl8723au: MAX_AGGR_NUM is not used Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 929e570ae2bf571b7448dd41a3f37a11f077518e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 27 15:45:33 2015 -0500 staging: rtl8723au: The RF on an 8723au is always a 6052 Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 277c722cd6fb71b0d2aafce4887f32d92c3baca3 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 27 15:45:32 2015 -0500 staging: rtl8723au: Remove rf type from struct hal_version This gets rid of yet another duplicated copy of the RF type Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1508fe3bb77613162524654db5f9fc138920617 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 27 15:45:31 2015 -0500 staging: rtl8723au: Be more consistent in checking for 2 TX paths Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 162904699ab96b3117976a0e4804028199113dd4 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 27 15:45:30 2015 -0500 staging: rtl8723au: No need for two copies of rf_type Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9939cf9427e7e1a4c71c0d9496351eca4e6c3a96 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:21 2015 -0500 staging: rtl8723au: Firmware always handles adaptive rates Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ea9039d91f2f4e4a9ae84c178f2ed0d4613c6b8 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:20 2015 -0500 staging: rtl8723au: hal_com.h: Remove some unused #defines Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49361cafe324f58cb6a40a89f3bd45d3900275dc Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:19 2015 -0500 staging: rtl8723au: Remove more unused #defines Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 164b46666d6abdcffbde6590f9f2179cb3c610a5 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:18 2015 -0500 staging: rtl8723au: rtl8723a_add_rateatid() simplyfy code No point shifting raid right, just to shift it left again before re-adding it. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1e4d2f623c41bf89a31f18960d11d4b36ce798e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:17 2015 -0500 staging: rtl8723au: rates are always set via the firmware interface The only case where fw_ractrl = false was when the firmware failed to load, and in that case we are dead in the water anyway. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25094468a195ad02b9d4ebed571c832d8dcce571 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:16 2015 -0500 staging: rtl8723au: Use RF_AC instead of hardcoded value for RF register write Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a43f32d647273023edddb0dc8f91c4c6378b252b Author: Matwey V. Kornilov <matwey@xxxxxxxxxx> Date: Thu Feb 19 20:41:48 2015 +0300 PCI: spear: Drop __initdata from spear13xx_pcie_driver Struct spear13xx_pcie_driver was in initdata, but we passed a pointer to it to platform_driver_register(), which can use the pointer at arbitrary times in the future, even after the initdata is freed. That leads to crashes. Move spear13xx_pcie_driver and things referenced by it (spear13xx_pcie_probe() and dw_pcie_host_init()) out of initdata. [bhelgaas: changelog] Fixes: 6675ef212dac ("PCI: spear: Fix Section mismatch compilation warning for probe()") Signed-off-by: Matwey V. Kornilov <matwey@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.17+ commit 8ea696384a1641048a17d1ed3cee4fabb0bf4e03 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Fri Mar 6 01:14:37 2015 -0800 rocker: fix some sparse warnings Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1315db17dc81238e6eb048b2221ccae88d8ef67 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Fri Mar 6 01:14:36 2015 -0800 switchdev: fix CONFIG_IP_MULTIPLE_TABLES compile issue Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5371fc0ecdf55b6811ade8a198de8ace2f4e5861 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 6 13:41:42 2015 -0300 ALSA: ac97: ac97_patch: Simplify patch_vt1613_specific() We can simplify the code by returning patch_build_controls() directly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d6482288aadcf19e348cbccff7a605790a3b3875 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 16:59:00 2015 +0100 ALSA: ac97: Add VT1613 AC97 codec support Patch to add an VT1613 AC97 codec support. This codec has additional DC offset removal control, headphone output and no video input. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a52afea68f94d2501b7fe1fa18cc6acf84e35a76 Merge: 8b28c93 d7e3281 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 6 14:25:27 2015 +0100 Merge tag 'asoc-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Changes for v4.1 A selection of changes for v4.1 so far. The main things are: - Move of jack registration to the card where it belongs. - Support for DAPM routes specified by both the machine driver and DT. commit 0a233cdf0aeb1d564fe8ae822bc3df70d4cf423b Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Mar 6 14:24:50 2015 +0800 arm64: mediatek: Select PINCTRL for Mediatek platform MediaTek SoC expect to work with a pinctrl driver. Select PINCTRL if ARCH_MEDIATEK is selected. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 13211ea7b47db3d8ee2ff258a9a973a6d3aa3d43 Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 30 13:39:46 2014 -0400 KVM: s390: Enable vector support for capable guest We finally have all the pieces in place, so let's include the vector facility bit in the mask of available hardware facilities for the guest to recognize. Also, enable the vector functionality in the guest control blocks, to avoid a possible vector data exception that would otherwise occur when a vector instruction is issued by the guest operating system. Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit bc17de7c966504b287a1dceb76a523d8b7816731 Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 14 16:01:09 2014 -0400 KVM: s390: Machine Check Store additional status in the machine check handler, in order to collect status (such as vector registers) that is not defined by store status. Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit cd7b4b61063eb55ab7a5f96523e028c9e0914694 Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 09:06:34 2015 -0500 KVM: s390: Add new SIGP order to kernel counters The new SIGP order Store Additional Status at Address is totally handled by user space, but we should still record the occurrence of this order in the kernel code. Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 403c8648cb191ef88555bfa72deaa969c0367f41 Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 2 15:01:06 2015 -0500 KVM: s390: Vector exceptions A new exception type for vector instructions is introduced with the new processor, but is handled exactly like a Data Exception which is already handled by the system. Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 68c557501b008515cb86c9a36c75f4e82e14a819 Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 9 10:57:26 2014 -0400 KVM: s390: Allocate and save/restore vector registers Define and allocate space for both the host and guest views of the vector registers for a given vcpu. The 32 vector registers occupy 128 bits each (512 bytes total), but architecturally are paired with 512 additional bytes of reserved space for future expansion. The kvm_sync_regs structs containing the registers are union'ed with 1024 bytes of padding in the common kvm_run struct. The addition of 1024 bytes of new register information clearly exceeds the existing union, so an expansion of that padding is required. When changing environments, we need to appropriately save and restore the vector registers viewed by both the host and guest, into and out of the sync_regs space. The floating point registers overlay the upper half of vector registers 0-15, so there's a bit of data duplication here that needs to be carefully avoided. Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 1f289a8429022f112be9817a81ff07308eb78a9c Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 19:05:43 2015 +0300 KVM: s390: Use the read_guest_abs() in guest debug functions The guest debug functions work on absolute addresses and should use the read_guest_abs() function rather than general read_guest() that works with logical addresses. Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 16a0c4c3aa68423b306fb82f6b9a2794e76f6fc0 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 21 15:39:06 2014 +0100 KVM: s390: fix instruction interception trace point trace-cmd fails to parse the instruction interception trace point: "Error: expected type 5 but read 4 failed to read event print fmt for kvm_s390_intercept_instruction" The result is an unformatted string in the output, with a warning: "kvm_s390_intercept_instruction: [FAILED TO PARSE]..." So let's add parentheses around the instruction parser macro to fix the format parsing. Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 16b0fc13d60293ce073c8f9baa53469744b4d74a Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Thu Feb 26 23:16:44 2015 +0100 KVM: s390: Fix trivial typo in comments Change 'architecuture' to 'architecture' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Message-Id: <1424989004-14412-1-git-send-email-yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 91520f1af8a01d349d19911238fc3dbed3fa58d2 Author: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 14:32:11 2015 +0100 KVM: s390: perform vcpu model setup in a function The function kvm_s390_vcpu_setup_model() now performs all cpu model realated setup tasks for a vcpu. Besides cpuid and ibc initialization, facility list assignment takes place during the setup step as well. The model setup has been pulled to the begin of vcpu setup to allow kvm facility tests. There is no need to protect the cpu model setup with a lock since the attributes can't be changed anymore as soon the first vcpu is online. Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 33b412acd32d403a8de9511f236f9b4f31551868 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 11 10:38:46 2015 +0100 KVM: s390: Use insn_length() to calculate length of instruction The common s390 function insn_length() results in slightly smaller (and thus hopefully faster) code than the calculation of the instruction length via a lookup-table. So let's use that function in the interrupt delivery code, too. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 492d8642eaefbd47f6fb0e8265f058c02720e5c8 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 16:11:01 2015 +0100 KVM: s390: Forward PSW to next instruction for addressing exceptions When the SIE exited by a DAT access exceptions which we can not resolve, the guest tried to access a page which is out of bounds and can not be paged-in. In this case we have to signal the bad access by injecting an address exception. However, address exceptions are either suppressing or terminating, i.e. the PSW has to point to the next instruction when the exception is delivered. Since the originating DAT access exception is nullifying, the PSW still points to the offending instruction instead, so we've got to forward the PSW to the next instruction. Having fixed this issue, we can now also enable the TPROT interpretation facility again which had been disabled because of this problem. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit a9a846fd5c1723820c97cef56989ea14eea4b30e Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 09:06:56 2015 +0100 KVM: s390: Nullify instruction for certain program exceptions When certain program exceptions (e.g. DAT access exceptions) occur, the current instruction has to be nullified, i.e. the old PSW that gets written into the low-core has to point to the beginning of the instruction again, and not to the beginning of the next instruction. Thus we have to rewind the PSW before writing it into the low-core. The list of nullifying exceptions can be found in the POP, chapter 6, figure 6-1 ("Interruption Action"). Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 15462e37ca848abac7477dece65f8af25febd744 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 4 15:59:11 2015 +0100 KVM: s390: reinjection of irqs can fail in the tpi handler The reinjection of an I/O interrupt can fail if the list is at the limit and between the dequeue and the reinjection, another I/O interrupt is injected (e.g. if user space floods kvm with I/O interrupts). This patch avoids this memory leak and returns -EFAULT in this special case. This error is not recoverable, so let's fail hard. This can later be avoided by not dequeuing the interrupt but working directly on the locked list. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.16+ Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 261520dcfcba93ca5dfe671b88ffab038cd940c8 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 4 15:53:42 2015 +0100 KVM: s390: fix handling of write errors in the tpi handler If the I/O interrupt could not be written to the guest provided area (e.g. access exception), a program exception was injected into the guest but "inti" wasn't freed, therefore resulting in a memory leak. In addition, the I/O interrupt wasn't reinjected. Therefore the dequeued interrupt is lost. This patch fixes the problem while cleaning up the function and making the cc and rc logic easier to handle. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.16+ Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit b75f4c9afac2604feb971441116c07a24ecca1ec Author: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 09:54:41 2015 +0100 KVM: s390: Zero out current VMDB of STSI before including level3 data. s390 documentation requires words 0 and 10-15 to be reserved and stored as zeros. As we fill out all other fields, we can memset the full structure. Signed-off-by: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit e6f219b8ec5e4227c8b87b758afb48ed102b4210 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Wed Jan 21 13:28:17 2015 +0800 ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135. Add pinctrl,GPIO and EINT node to mt8135.dtsi. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Singed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit c83d45d5685f63e02f4b038e20450a28232d4da2 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Wed Mar 4 12:42:14 2015 -0800 hwrng: iproc-rng200 - Add Broadcom IPROC RNG driver This adds a driver for random number generator present on Broadcom IPROC devices. Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 259d317f8d584503c5e3c43bbb96d80149390939 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Wed Mar 4 12:42:13 2015 -0800 hwrng: iproc-rng200 - Add device tree bindings Documents the IPROC random number generator device tree bindings used in some Broadcom chipsets. Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8e2e2769042f08eb49f630b5db87fce03696a415 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 4 10:19:30 2015 +0100 crypto: ux500 - Update error message for dmaengine_prep_slave_sg() API Commit 7e933d3b1e25b250 ("crypto: ux500: use dmaengine_prep_slave_sg API") changed the code to use the new API, but forgot to update an error message. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b3988618e0463cf9af30ac1b42b2601993be7c70 Author: Martin Hicks <mort@xxxxxxxx> Date: Tue Mar 3 08:21:34 2015 -0500 crypto: talitos - Remove MD5_BLOCK_SIZE This is properly defined in the md5 header file. Signed-off-by: Martin Hicks <mort@xxxxxxxx> Acked-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f641ddddc3ad139a91b9a1f9cea84ea657f75a6b Author: Martin Hicks <mort@xxxxxxxx> Date: Tue Mar 3 08:21:33 2015 -0500 crypto: talitos - Simplify per-channel initialization There were multiple loops in a row, for each separate step of the initialization of the channels. Simplify to a single loop. Signed-off-by: Martin Hicks <mort@xxxxxxxx> Acked-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4b613e9b4bbe94545a588a100e09006d827a7ebe Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:55 2015 +0100 ARM OMAP2+ GPMC: fix programming/showing reserved timing parameters GPMC_CONFIG1_i parameters CLKACTIVATIONTIME and WAITMONITORINGTIME have reserved values. Raise an error if calculated timings try to program reserved values. GPMC_CONFIG1_i ATTACHEDDEVICEPAGELENGTH and DEVICESIZE were already checked when parsing the DT. Explicitly comment invalid values on gpmc_cs_show_timings for -CLKACTIVATIONTIME -WAITMONITORINGTIME -DEVICESIZE -ATTACHEDDEVICEPAGELENGTH Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 08e8331654d1d7b2c58045e549005bc356aa7810 Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Thu Feb 26 05:35:41 2015 +0000 e1000: add dummy allocator to fix race condition between mtu change and netpoll There is a race condition between e1000_change_mtu's cleanups and netpoll, when we change the MTU across jumbo size: Changing MTU frees all the rx buffers: e1000_change_mtu -> e1000_down -> e1000_clean_all_rx_rings -> e1000_clean_rx_ring Then, close to the end of e1000_change_mtu: pr_info -> ... -> netpoll_poll_dev -> e1000_clean -> e1000_clean_rx_irq -> e1000_alloc_rx_buffers -> e1000_alloc_frag And when we come back to do the rest of the MTU change: e1000_up -> e1000_configure -> e1000_configure_rx -> e1000_alloc_jumbo_rx_buffers alloc_jumbo finds the buffers already != NULL, since data (shared with page in e1000_rx_buffer->rxbuf) has been re-alloc'd, but it's garbage, or at least not what is expected when in jumbo state. This results in an unusable adapter (packets don't get through), and a NULL pointer dereference on the next call to e1000_clean_rx_ring (other mtu change, link down, shutdown): BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff81194d6e>] put_compound_page+0x7e/0x330 [...] Call Trace: [<ffffffff81195445>] put_page+0x55/0x60 [<ffffffff815d9f44>] e1000_clean_rx_ring+0x134/0x200 [<ffffffff815da055>] e1000_clean_all_rx_rings+0x45/0x60 [<ffffffff815df5e0>] e1000_down+0x1c0/0x1d0 [<ffffffff811e2260>] ? deactivate_slab+0x7f0/0x840 [<ffffffff815e21bc>] e1000_change_mtu+0xdc/0x170 [<ffffffff81647050>] dev_set_mtu+0xa0/0x140 [<ffffffff81664218>] do_setlink+0x218/0xac0 [<ffffffff814459e9>] ? nla_parse+0xb9/0x120 [<ffffffff816652d0>] rtnl_newlink+0x6d0/0x890 [<ffffffff8104f000>] ? kvm_clock_read+0x20/0x40 [<ffffffff810a2068>] ? sched_clock_cpu+0xa8/0x100 [<ffffffff81663802>] rtnetlink_rcv_msg+0x92/0x260 By setting the allocator to a dummy version, netpoll can't mess up our rx buffers. The allocator is set back to a sane value in e1000_configure_rx. Fixes: edbbb3ca1077 ("e1000: implement jumbo receive with partial descriptors") Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f9c029db70880a66cf03c34aa6d4d5c9b2d13281 Author: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Date: Wed Feb 25 15:52:49 2015 +0000 e1000: call netif_carrier_off early on down When bringing down an interface netif_carrier_off() should be one the first things we do, since this will prevent the stack from queuing more packets to this interface. This operation is very fast, and should make the device behave much nicer when trying to bring down an interface under load. Also, this would Do The Right Thing (TM) if this device has some sort of fail-over teaming and redirect traffic to the other IF. Move netif_carrier_off as early as possible. Signed-off-by: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b23c0cc5e8b7c31f831c03b74f8e79c958c41d1e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 03:34:14 2015 +0000 igb: Make arrays on stack static const to avoid reallocation While addressing the pin problem I noticed that all of the pin register values where having to be pushed onto the stack each time the function was called. To avoid that I am making them static const so that they should only need to be allocated once and we can avoid all the instructions to get them onto the stack.. size before: text data bss dec hex filename 161477 10512 8 171997 29fdd drivers/net/ethernet/intel/igb/igb.ko size after: text data bss dec hex filename 161205 10512 8 171725 29ecd drivers/net/ethernet/intel/igb/igb.ko Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e357f0aae447009c053795e26a322fb15d3348a7 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 03:34:09 2015 +0000 igb: Fix warning pin may be used uninitialized When building the kernel using the gcc 4.8.3 compiler included in Fedora 20 I was repeatedly seeing the warning: drivers/net/ethernet/intel/igb/igb_ptp.c: In function â??igb_ptp_feature_enable_i210â??: drivers/net/ethernet/intel/igb/igb_ptp.c:395:21: warning: â??pinâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] tssdp &= ~ts_sdp_en[pin]; ^ drivers/net/ethernet/intel/igb/igb_ptp.c:471:6: note: â??pinâ?? was declared here int pin; ^ To resolve it I am assigning the pin a value of -1 when it is instantiated. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1103a631a83408733849b47fa2170cda984df2a3 Author: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Date: Sat Feb 28 10:10:06 2015 +0000 e1000e: remove calls to ioremap/unmap for NVM addr Starting I219, the NVM will not be mapped to its own BAR, but to an address region in another bar. The mapping/unmapping is relevant to older HW only. CC: John W Linville <linville@xxxxxxxxxxxxx> Reported-by: John W Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9d17ce493a3ef1b140a4c831ba72fb435576c75a Author: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Date: Sat Feb 28 10:09:34 2015 +0000 e1000e: fix obscure comments The interface to the device flash was modified in i219 and later HW. This patch better describes the change and the impact on the driver. CC: John W Linville <linville@xxxxxxxxxxxxx> Reported-by: John W Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7f2e8c58ae9e35240e5924c63163c07a506d0d12 Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:54 2015 +0100 ARM OMAP2+ GPMC: fix WAITMONITORINGTIME divider bug The WAITMONITORINGTIME is expressed as a number of GPMC_CLK clock cycles, even though the access is defined as asynchronous, and no GPMC_CLK clock is provided to the external device. Still, GPMCFCLKDIVIDER is used as a divider for the GPMC clock, so it must be programmed to define the correct WAITMONITORINGTIME delay. This patch correctly computes WAITMONITORINGTIME in GPMC_CLK cycles instead of GPMC_FCLK cycles, both during programming (gpmc_cs_set_timings) and during retrieval (gpmc_cs_show_timings). Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 2e67690137f3a7bac660edd548f8846709c55381 Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:53 2015 +0100 ARM OMAP2+ GPMC: calculate GPMCFCLKDIVIDER based on WAITMONITORINGTIME The WAITMONITORINGTIME is expressed as a number of GPMC_CLK clock cycles, even though the access is defined as asynchronous, and no GPMC_CLK clock is provided to the external device. Still, GPMCFCLKDIVIDER is used as a divider for the GPMC clock, so it must be programmed to define the correct WAITMONITORINGTIME delay. Calculate GPMCFCLKDIVIDER independent of gpmc,sync-clk-ps in DT for pure asynchronous accesses, i.e. both read and write asynchronous. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit f585070b91950a0269eb20f497cceeee0aeefe0e Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:52 2015 +0100 ARM OMAP2+ GPMC: always program GPMCFCLKDIVIDER The WAITMONITORINGTIME is expressed as a number of GPMC_CLK clock cycles, even though the access is defined as asynchronous, and no GPMC_CLK clock is provided to the external device. Still, GPMCFCLKDIVIDER is used as a divider for the GPMC clock, so it must be programmed to define the correct WAITMONITORINGTIME delay. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 563dbb260d74dbd49d66f9a07e0311563c62c8ff Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:51 2015 +0100 ARM OMAP2+ GPMC: change get_gpmc_timing_reg output for DTS DTS output was formatted to require additional work when copy-pasting into DTS. Nano-second timings were replaced with interval of values that produce the same number of clock ticks. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 66e618857ca46433741bf97ceca1b425387400b1 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Mar 6 09:07:32 2015 +0200 ASoC: davinci-mcasp: Fix compilation error Introduced by commit: 6afda7f50754 ASoC: davinci-mcasp: Allow complete shutdown of McASP when not in use I'm really sorry for this... Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2affc816df6163c063d47f722191aa3bc542c22a Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:50 2015 +0100 ARM OMAP2+ GPMC: fix debug output alignment GPMC debug output is aligned to 10 characters for field names. However, some fields have bigger names, screwing up the alignment. Consequently, alignment was changed to longest field name (17 chars) for now. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit b1dc1ca9d4673dac43b8a77a8b695ffb2918de2a Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:49 2015 +0100 ARM OMAP2+ GPMC: add bus children This patch adds support for spawning buses as children of the GPMC. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit d32efe37966474b9d18a9110c89c091abef75602 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Feb 13 21:04:42 2015 +0800 gpio: vf610: Replaces comma between expression statements by semicolon Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5e9444d9a00f4b22ad676f2d9d4b69312871e429 Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:48 2015 +0100 ARM OMAP2+ GPMC: don't undef DEBUG OMAP2+ GPMC driver undefines DEBUG, which makes it unnecessarily hard to turn DEBUG on. Remove the offending lines. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit eeca9fce1d71a4955855ceb0c3b13c1eb9db27c1 Author: Ilan peer <ilan.peer@xxxxxxxxx> Date: Wed Mar 4 00:32:07 2015 -0500 cfg80211: Schedule timeout for all CRDA calls Timeout was scheduled only in case CRDA was called due to user hints, but was not scheduled for other cases. This can result in regulatory hint processing getting stuck in case that there is no CRDA configured. Change this by scheduling a timeout every time CRDA is called. In addition, in restore_regulatory_settings() all pending requests are restored (and not only the user ones). Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Acked-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 05050753602626ed4c46271c689929b625f409e7 Author: Ilan peer <ilan.peer@xxxxxxxxx> Date: Wed Mar 4 00:32:06 2015 -0500 cfg80211: Add API to change the indoor regulatory setting Previously, the indoor setting configuration assumed that as long as a station interface is connected, the indoor environment setting does not change. However, this assumption is problematic as: - It is possible that a station interface is connected to a mobile AP, e.g., softAP or a P2P GO, where it is possible that both the station and the mobile AP move out of the indoor environment making the indoor setting invalid. In such a case, user space has no way to invalidate the setting. - A station interface disconnection does not necessarily imply that the device is no longer operating in an indoor environment, e.g., it is possible that the station interface is roaming but is still stays indoor. To handle the above, extend the indoor configuration API to allow user space to indicate a change of indoor settings, and allow it to indicate weather it controls the indoor setting, such that: 1. If the user space process explicitly indicates that it is going to control the indoor setting, do not clear the indoor setting internally, unless the socket is released. The user space process should use the NL80211_ATTR_SOCKET_OWNER attribute in the command to state that it is going to control the indoor setting. 2. Reset the indoor setting when restoring the regulatory settings in case it is not owned by a user space process. Based on the above, a user space tool that continuously monitors the indoor settings, i.e., tracking power setting, location etc., can indicate environment changes to the regulatory core. It should be noted that currently user space is the only provided mechanism used to hint to the regulatory core over the indoor/outdoor environment -- while the country IEs do have an environment setting this has been completely ignored by the regulatory core by design for a while now since country IEs typically can contain bogus data. Acked-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: ArikX Nemtsov <arik@xxxxxxxxxx> Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0c4ddcd214f5bc72713473e8383041ab7a2c6bb7 Author: Ilan peer <ilan.peer@xxxxxxxxx> Date: Wed Mar 4 00:32:05 2015 -0500 cfg80211: Simplify the handling of regulatory indoor setting Directly update the indoor setting without wrapping it as a regulatory request, to simplify the processing. Acked-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9b47668843d800ed57f6f6bfd6f5c4cffdf201c6 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:07 2015 -0800 x86/asm/entry: Rename 'INIT_TSS_IST' to 'CPU_TSS_IST' This has nothing to do with the init thread or the initial anything. It's just the CPU's TSS. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a0bd5e26b32a2e1f08ff99017d0997118fbb2485.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d0a0de21f82bbc1737ea3c831f018d0c2bc6b9c2 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:06 2015 -0800 x86/asm/entry: Remove INIT_TSS and fold the definitions into 'cpu_tss' The INIT_TSS is unnecessary. Just define the initial TSS where 'cpu_tss' is defined. While we're at it, merge the 32-bit and 64-bit definitions. The only syntactic change is that 32-bit kernels were computing sp0 as long, but now they compute it as unsigned long. Verified by objdump: the contents and relocations of .data..percpu..shared_aligned are unchanged on 32-bit and 64-bit kernels. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8fc39fa3f6c5d635e93afbdd1a0fe0678a6d7913.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 24933b82c0d9a711475a5ef7904eb733f561e637 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:05 2015 -0800 x86/asm/entry: Rename 'init_tss' to 'cpu_tss' It has nothing to do with init -- there's only one TSS per cpu. Other names considered include: - current_tss: Confusing because we never switch the tss. - singleton_tss: Too long. This patch was generated with 's/init_tss/cpu_tss/g'. Followup patches will fix INIT_TSS and INIT_TSS_IST by hand. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/da29fb2a793e4f649d93ce2d1ed320ebe8516262.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9d0c914c60f4d3123debb653340dc1f7cf44939d Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:04 2015 -0800 x86/asm/entry/64/compat: Change the 32-bit sysenter code to use sp0 The ia32 sysenter code loaded the top of the kernel stack into rsp by loading kernel_stack and then adjusting it. It can be simplified to just read sp0 directly. This requires the addition of a new asm-offsets entry for sp0. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/88ff9006163d296a0665338585c36d9bfb85235d.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 75182b1632a89f12540baa1806a7c5c180db620c Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:03 2015 -0800 x86/asm/entry: Switch all C consumers of kernel_stack to this_cpu_sp0() This will make modifying the semantics of kernel_stack easier. The change to ist_begin_non_atomic() is necessary because sp0 no longer points to the same THREAD_SIZE-aligned region as RSP; it's one byte too high for that. At Denys' suggestion, rather than offsetting it, just check explicitly that we're in the correct range ending at sp0. This has the added benefit that we no longer assume that the thread stack is aligned to THREAD_SIZE. Suggested-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/ef8254ad414cbb8034c9a56396eeb24f5dd5b0de.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8ef46a672a7d852709561d10672b6eaa8a4acd82 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:02 2015 -0800 x86/asm/entry: Add this_cpu_sp0() to read sp0 for the current cpu We currently store references to the top of the kernel stack in multiple places: kernel_stack (with an offset) and init_tss.x86_tss.sp0 (no offset). The latter is defined by hardware and is a clean canonical way to find the top of the stack. Add an accessor so we can start using it. This needs minor paravirt tweaks. On native, sp0 defines the top of the kernel stack and is therefore always correct. On Xen and lguest, the hypervisor tracks the top of the stack, but we want to start reading sp0 in the kernel. Fixing this is simple: just update our local copy of sp0 as well as the hypervisor's copy on task switches. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8d675581859712bee09a055ed8f785d80dac1eca.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 23375a0fd549aa0a8c96b9f56a0b8120ae1389dd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 00:38:35 2015 -0500 ipv4: Fix unused variable warnings in fib_table_flush_external. net/ipv4/fib_trie.c: In function â??fib_table_flush_externalâ??: net/ipv4/fib_trie.c:1572:6: warning: unused variable â??foundâ?? [-Wunused-variable] int found = 0; ^ net/ipv4/fib_trie.c:1571:16: warning: unused variable â??slenâ?? [-Wunused-variable] unsigned char slen; ^ Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fabe7bed114a0ffc02845b731c26aadd800e7b5d Merge: 24d2e4a c1beeef Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 00:26:16 2015 -0500 Merge branch 'l3_hw_offload' Scott Feldman says: ==================== switchdev: add IPv4 routing offload v4: - Add NETIF_F_NETNS_LOCAL to rocker port feature list to keep rocker ports in the default netns. Rocker hardware can't be partitioned to support multiple namespaces, currently. It would be interesting to add netns support to rocker device by basically adding another match field to each table to match on some unique netns ID, with a port knowing it's netns ID. Future work TDB. - Up-level the RTNH_F_EXTERNAL marking of routes installed to offload device from driver to switchdev common code. Now driver can't skip routes. Either it can install the route or it cannot. Yes or No. If no on any route, all offloading is aborted by removing routes from offload device and setting ipv4.fib_offload_disabled so no more routes can be offloaded. This is harsh, but it's our starting point. We can refine the policies in follow-up work. - Add new net.ipv4.fib_offload_disabled bool that is set if anything goes wrong with route offloading. We can refine this later to make the setting per-device or per-device-port-netdev, but let's start here simple and refine in follow-up work. - Rebase against Alex's latest FIB changes. I think I did everything correctly, and didn't run into any issues with testing, but I'd like Alex to look over the changes and maybe follow-up with any cleanups. v3: Changes based on v2 review comments: - Move check for custom rules up earlier in patch set, to keep git bisect safe. - Simplify the route add/modify failure handling to simple try until failure, and then on failure, undo everything. The switchdev driver will return err when route can normally be installed to device, but the install fails for one reason or another (no space left on device, etc). If a failure happens, uninstall all routes from the device, punting forwarding for all routes back to the kernel. - Scan route's full nexthop list, ensuring all nexthop devs belong to the same switchdev device, otherwise don't try to install route to device. v2: Changes based on v1 review comments and discussions at netconf: - Allow route modification, but use same ndo op used for adding route. Driver/device is expected to modify route in-place, if it can, to avoid interruption of service. - Add new RTNH_F_EXTERNAL flag to mark FIB entries offloaded externally. - Don't offload routes if using custom IP rules. If routes are already offloaded, and custom IP rules are turned on, flush routes from offload device. (Offloaded routes are marked with RTNH_F_EXTERNAL). - Use kernel's neigh resolution code to resolve route's nexthops' neigh MAC addrs. (Thanks davem, works great!). - Use fib->fib_priority in rocker driver to give priorities to routes in OF-DPA unicast route table. v1: This patch set adds L3 routing offload support for IPv4 routes. The idea is to mirror routes installed in the kernel's FIB down to a hardware switch device to offload the data forwarding path for L3. Only the data forwarding path is intercepted. Control and management of the kernel's FIB remains with the kernel. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1beeef7a32a791a60e2adcc217d4461cd1e25d1 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:20 2015 -0800 rocker: implement IPv4 fib offloading The driver implements ndo_switch_fib_ipv4_add/del ops to add/del/mod IPv4 routes to/from switchdev device. Once a route is added to the device, and the route's nexthops are resolved to neighbor MAC address, the device will forward matching pkts rather than the kernel. This offloads the L3 forwarding path from the kernel to the device. Note that control and management planes are still mananged by Linux; only the data plane is offloaded. Standard routing control protocols such as OSPF and BGP run on Linux and manage the kernel's FIB via standard rtm netlink msgs...nothing changes here. A new hash table is added to rocker to track neighbors. The driver listens for neighbor updates events using netevent notifier NETEVENT_NEIGH_UPDATE. Any ARP table updates for ports on this device are recorded in this table. Routes installed to the device with nexthops that reference neighbors in this table are "qualified". In the case of a route with nexthops not resolved in the table, the kernel is asked to resolve the nexthop. The driver uses fib_info->fib_priority for the priority field in rocker's unicast routing table. The device can only forward to pkts matching route dst to resolved nexthops. Currently, the device only supports single-path routes (i.e. routes with one nexthop). Equal Cost Multipath (ECMP) route support will be added in followup patches. This patch is driver support for unicast IPv4 routing only. Followup patches will add driver and infrastructure for IPv6 routing and multicast routing. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e05fd7166c6123334b7a739a697d677747aa462 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:19 2015 -0800 fib: hook IPv4 fib for hardware offload Call into the switchdev driver any time an IPv4 fib entry is added/modified/deleted from the kernel's FIB. The switchdev driver may or may not install the route to the offload device. In the case where the driver tries to install the route and something goes wrong (device's routing table is full, etc), then all of the offloaded routes will be flushed from the device, route forwarding falls back to the kernel, and no more routes are offloading. We can refine this logic later. For now, use the simplist model of offloading routes up to the point of failure, and then on failure, undo everything and mark IPv4 offloading disabled. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 448b128a14501543748514a4f9adedd3c0da2e85 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:18 2015 -0800 ipv4: add net bool fib_offload_disabled If something goes wrong with IPv4 FIB offload, mark entire net offload disabled. This is brute force policy to basically shut down IPv4 FIB offload permanently if there is a problem offloading any route to an external device. We can refine the policy in the future, to handle failures on a per-device or per-route basis, but for now, this policy is per-net. What we're trying to avoid is an inconsistent split between the kernel's FIB and the offload device's FIB. We don't want the device to fwd a pkt inconsitent with what the kernel would do. An example of a split is if device has 10.0.0.0/16 and kernel has 10.0.0.0/16 and 10.0.0.0/24, the device wouldn't see the longest prefix 10.0.0.0/24 and potentially forward pkts incorrectly. Limited capacity or limited capability are two ways a route may fail to install to the offload device. We'll not differentiate between failures at this time, and treat any failure as fatal and mark the net as fib_offload_disabled. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5d6fbdeede861b52d67b9a4ea3fdfcc6e6865cd Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:17 2015 -0800 switchdev: implement IPv4 fib ndo wrappers Flesh out ndo wrappers to call into device driver. To call into device driver, the wrapper must interate over route's nexthops to ensure all nexthop devs belong to the same switch device. Currently, there is no support for route's nexthops spanning offloaded and non-offloaded devices, or spanning ports of multiple offload devices. Since switch device ports may be stacked under virtual interfaces (bonds and/or bridges), and the route's nexthop may be on the virtual interface, the wrapper will traverse the nexthop dev down to the base dev. It's the base dev that's passed to the switchdev driver's ndo ops. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 104616e74e0b464d449fdd2ee2f547d2fad71610 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:16 2015 -0800 switchdev: don't support custom ip rules, for now Keep switchdev FIB offload model simple for now and don't allow custom ip rules. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e8d90497d65f528c54015644095ace6e330fd8e Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:15 2015 -0800 switchdev: add IPv4 fib ndo ops wrappers Add IPv4 fib ndo wrapper funcs and stub them out for now. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4586f1bb911ce219a4bc1c2a9d6eee2e058b2b51 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:14 2015 -0800 netdevice: add IPv4 fib add/del ops Add two new ndo ops for IPv4 fib offload support, add and del. Add uses modifiy semantics if fib entry already offloaded. Drivers implementing the new ndo ops will return err<0 if programming device fails, for example if device's tables are full. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37ed9493699cc5dafe1b8725858ef73176fdc9d2 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:13 2015 -0800 rtnetlink: add RTNH_F_EXTERNAL flag for fib offload Add new RTNH_F_EXTERNAL flag to mark fib entries offloaded externally, for example to a switchdev switch device. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24d2e4a50737867aba1e96a587ef0d90c17e3035 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 5 10:41:34 2015 -0800 tg3: use napi_complete_done() Using napi_complete_done() instead of napi_complete() allows us to use /sys/class/net/ethX/gro_flush_timeout GRO layer can aggregate more packets if the flush is delayed a bit, without having to set too big coalescing parameters that impact latencies. Tested: lpx:~# echo 0 >/sys/class/net/eth1/gro_flush_timeout lpx:~# sar -n DEV 1 10 | grep eth1 10:36:25 AM eth1 81290.00 40617.00 120479.67 2777.01 0.00 0.00 0.00 10:36:26 AM eth1 81283.00 40608.00 120481.81 2778.13 0.00 0.00 1.00 10:36:27 AM eth1 81304.00 40639.00 120518.42 2778.28 0.00 0.00 0.00 10:36:28 AM eth1 81255.00 40605.00 120437.34 2775.95 0.00 0.00 1.00 10:36:29 AM eth1 81306.00 40630.00 120521.44 2777.70 0.00 0.00 0.00 10:36:30 AM eth1 81286.00 40564.00 120480.20 2773.31 0.00 0.00 0.00 10:36:31 AM eth1 81256.00 40599.00 120438.81 2776.27 0.00 0.00 0.00 10:36:32 AM eth1 81287.00 40594.00 120480.69 2776.69 0.00 0.00 0.00 10:36:33 AM eth1 81279.00 40601.00 120478.53 2775.84 0.00 0.00 0.00 10:36:34 AM eth1 81277.00 40610.00 120476.94 2776.25 0.00 0.00 0.00 Average: eth1 81282.30 40606.70 120479.39 2776.54 0.00 0.00 0.20 lpx:~# echo 13000 >/sys/class/net/eth1/gro_flush_timeout lpx:~# sar -n DEV 1 10 | grep eth1 10:36:43 AM eth1 81257.00 7747.00 120437.44 530.00 0.00 0.00 0.00 10:36:44 AM eth1 81278.00 7748.00 120480.00 529.85 0.00 0.00 0.00 10:36:45 AM eth1 81282.00 7752.00 120479.09 531.09 0.00 0.00 0.00 10:36:46 AM eth1 81282.00 7751.00 120478.80 530.90 0.00 0.00 0.00 10:36:47 AM eth1 81276.00 7745.00 120478.31 529.64 0.00 0.00 0.00 10:36:48 AM eth1 81278.00 7747.00 120478.50 529.81 0.00 0.00 0.00 10:36:49 AM eth1 81282.00 7749.00 120478.88 530.01 0.00 0.00 0.00 10:36:50 AM eth1 81284.00 7751.00 120481.52 530.20 0.00 0.00 0.00 10:36:51 AM eth1 81299.00 7769.00 120481.74 533.81 0.00 0.00 0.00 10:36:52 AM eth1 81281.00 7748.00 120478.62 529.96 0.00 0.00 0.00 Average: eth1 81279.90 7750.70 120475.29 530.53 0.00 0.00 0.00 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 050f7dcd27b9b7ea789b5e4abe89efc445062f8a Merge: 4961272 c86e59b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 00:18:29 2015 -0500 Merge branch 'dsa-next' Florian Fainelli says: ==================== net: dsa: code re-organization This pull request contains the first part of the patches required to implement the grand plan detailed here: http://www.spinics.net/lists/netdev/msg295942.html These are mostly code re-organization and function bodies re-arrangement to allow different callers of lower-level initialization functions for 'struct dsa_switch' and 'struct dsa_switch_tree' to be later introduced. There is no functional code change at this point. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c86e59b9e63659bb7fc2ba1781aabe2f37aaf10b Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Mar 5 12:35:08 2015 -0800 net: dsa: extract dsa switch tree setup and removal Extract the core logic that setups a 'struct dsa_switch_tree' and removes it, update dsa_probe() and dsa_remove() to use the two helper functions. This will be useful to allow for other callers to setup this structure differently. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59299031038f3ea92cf484bc4a68d16ad4bb3050 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Mar 5 12:35:07 2015 -0800 net: dsa: let switches specify their tagging protocol In order to support the new DSA device driver model, a dsa_switch should be able to advertise the type of tagging protocol supported by the underlying switch device. This also removes constraints on how tagging can be stacked to each other. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df197195a5248164df0709fbadc61133897281f5 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Mar 5 12:35:06 2015 -0800 net: dsa: split dsa_switch_setup into two functions Split the part of dsa_switch_setup() which is responsible for allocating and initializing a 'struct dsa_switch' and the part which is doing a given switch device setup and slave network device creation. This is a preliminary change to allow a separate caller of dsa_switch_setup_one() which may have externally initialized the dsa_switch structure, outside of dsa_switch_setup(). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b324c07ac4771a6ac8f57a3e1897e1b36b0a9ff0 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Mar 5 12:35:05 2015 -0800 net: dsa: allow deferred probing In preparation for allowing a different model to register DSA switches, update dsa_of_probe() and dsa_probe() to return -EPROBE_DEFER where appropriate. Failure to find a phandle or Device Tree property is still fatal, but looking up the internal device structure associated with a Device Tree node is something that might need to be delayed based on driver probe ordering. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1a26a062f03b27fa52f62487897fe205303fa7f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Mar 5 12:35:04 2015 -0800 net: dsa: update dsa_of_{probe, remove} to use a device pointer In preparation for allowing a different mechanism to register DSA switch devices and driver, update dsa_of_probe and dsa_of_remove to take a struct device pointer since neither of these two functions uses the struct platform_device pointer. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f027e601f8f7903ac6f33741f9e513aaf8391bc8 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 6 01:57:31 2015 -0300 ARM: mx25: Remove mach-mx25_3ds board file imx25-pdk.dts provides a more complete support than the board file version, so let's get rid of the board file. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 496127290f298d839918a14728b653b43ef02708 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 5 10:18:14 2015 -0800 inet_diag: remove duplicate code from inet_twsk_diag_dump() timewait sockets now share a common base with established sockets. inet_twsk_diag_dump() can use inet_diag_bc_sk() instead of duplicating code, granted that inet_diag_bc_sk() does proper userlocks initialization. twsk_build_assert() will catch any future changes that could break the assumptions. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e815665e1a8ca1525900377f74021c8cac390e8d Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Thu Mar 5 19:02:35 2015 -0800 i40e: Fix mismatching type for ioremap_len As pointed out by Ben Hutchings, ioremap uses unsigned long as its parameter type, so we should be using that instead of u32 or int. Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0f91938bede204a343473792529e0db7d599836 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Mar 5 10:23:49 2015 +0100 tipc: add ip/udp media type The ip/udp bearer can be configured in a point-to-point mode by specifying both local and remote ip/hostname, or it can be enabled in multicast mode, where links are established to all tipc nodes that have joined the same multicast group. The multicast IP address is generated based on the TIPC network ID, but can be overridden by using another multicast address as remote ip. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 948fa2d115c553ae32aced66e0f00f89245dc05e Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Mar 5 10:23:48 2015 +0100 tipc: increase size of tipc discovery messages The payload area following the TIPC discovery message header is an opaque area defined by the media. INT_H_SIZE was enough for Ethernet/IB/IPv4 but needs to be expanded to carry IPv6 addressing information. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33f8b9ecdb15bc8a3c6be0072a7e0f7a345856f1 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Mar 4 20:11:44 2015 -0800 net_sched: move tp->root allocation into fw_init() Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a05c2d112c0c4a768bfad47c33f28a15f8cf1193 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Mar 4 20:11:43 2015 -0800 net_sched: move tp->root allocation into route4_init() Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2490c65fe82bf09567dd057f3d76550a257e4039 Merge: 4b5edb2 d3866a0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 5 21:07:15 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== This series contains updates to i40e only. Greg provides fixes for the NPAR transmit scheduler where the driver initialization caused the BW configurations to not take effect, so use a BW configuration read and write back to "kick" the transmit scheduler into action. Fixes the ethtool offline test, where we were not actually taking the device offline before doing the testing. Matt modifies the get and set LED functions so they ignore activity LEDs since we are required to blink the link LEDs only. Neerav provides a workaround for whenever a DCBX configuration is changed, where the firmware doe not set the operational status bit of the application TLV status as returned from the "Get CEE DCBX Oper Cfg" admin queue command. So remove the check for the operational and sync bits of the application TLV status until a firmware fix is provided. Shannon changes the driver to grab the NVM devstarter version and not the image version, since it is the more useful version and is what should be displayed. Moves the IRQ tracking setup and tear down into the same routines that do the IRQ setup and tear down. This keeps like activities together and allows us to track exactly the number of vectors reserved from the OS, which may be fewer than are available from the hardware. Jesse provides a fix to use a more portable sign extension by replacing 0xffff.... with ~(u64)0 or ~(u32)0. Also fixes XPS mask when resetting, where the driver would accidentally clear the XPS mask for all queues back to 0. This caused higher CPU utilization and had some other performance impacts for transmit tests. Cleans up some whitespace formatting. Catherine provides a fix where some firmware versions are incorrectly reporting a breakout cable as PHY type 0x3 when it should be 0x16 (I40E_PHY_TYPE_10GBASE_SFPP_CU). Adds the 10G and 40G AOC PHY types to the case statement in get_media_type and ethtool get_settings so that the correct information gets reported back to the user. Anjali provides IOREMAP changes for future device support, where we do not want to map the whole CSR space since some of it is mapped by other drivers with different mapping methods. Mitch changes the i40e driver to not "spam" the system log with messages about VF VSI when VFs are created and when they are reset to reduce user annoyance. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b5edb2f4a57dd0da85b9e2cbace06447e02e097 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Thu Mar 5 13:37:05 2015 +1100 mpls: using vzalloc requires including vmalloc.h Fixes this build error: net/mpls/af_mpls.c: In function 'resize_platform_label_table': net/mpls/af_mpls.c:767:4: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration] labels = vzalloc(size); ^ Fixes: 7720c01f3f59 ("mpls: Add a sysctl to control the size of the mpls label table") Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1cae565e8b746f484f1ff1b71d2a1c89d7cf0668 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Mar 5 15:05:36 2015 +0100 netfilter: nf_tables: limit maximum table name length to 32 bytes Set the same as we use for chain names, it should be enough. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f04e599e20d7ee9b9e5069c7d1ff59c21b9bf4c2 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Mar 5 14:56:15 2015 +0100 netfilter: nf_tables: consolidate Kconfig options Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1a1e1a12199ca27cebe87677b4c2153a3d2bacf2 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Tue Mar 3 20:10:06 2015 +0000 netfilter: nf_tables: cleanup nf_tables.h The transaction related definitions are squeezed in between the rule and expression definitions, which are closely related and should be next to each other. The transaction definitions actually don't belong into that file at all since it defines the global objects and API and transactions are internal to nf_tables_api, but for now simply move them to a seperate section. Similar, the chain types are in between a set of registration functions, they belong to the chain section. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 354bf5a0d794a34dc98ed25e72f460b3b360c174 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Tue Mar 3 20:10:05 2015 +0000 netfilter: nf_tables: consolidate tracing invocations * JUMP and GOTO are equivalent except for JUMP pushing the current context to the stack * RETURN and implicit RETURN (CONTINUE) are equivalent except that the logged rule number differs Result: nft_do_chain | -112 1 function changed, 112 bytes removed, diff: -112 Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 01ef16c2dd2e9a77fbd94eb0314c4787ab8f7113 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Tue Mar 3 20:10:04 2015 +0000 netfilter: nf_tables: minor tracing cleanups The tracing code is squeezed between multiple related parts of the evaluation code, move it out. Also add an inline wrapper for the reoccuring test for skb->nf_trace. Small code savings in nft_do_chain(): nft_trace_packet | -137 nft_do_chain | -8 2 functions changed, 145 bytes removed, diff: -145 net/netfilter/nf_tables_core.c: __nft_trace_packet | +137 1 function changed, 137 bytes added, diff: +137 net/netfilter/nf_tables_core.o: 3 functions changed, 137 bytes added, 145 bytes removed, diff: -8 Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 43270b1bc5f1e33522dacf3d3b9175c29404c36c Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Mar 2 14:40:39 2015 +0100 netfilter: ipt_CLUSTERIP: deprecate it in favour of xt_cluster xt_cluster supersedes ipt_CLUSTERIP since it can be also used in gateway configurations (not only from the backend side). ipt_CLUSTER is also known to leak the netdev that it uses on device removal, which requires a rather large fix to workaround the problem: http://patchwork.ozlabs.org/patch/358629/ So let's deprecate this so we can probably kill code this in the future. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d972b0523fa99358b2a0bafd85fe913b5d4b150a Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Sun Mar 1 23:55:47 2015 +0200 tpm: fix call order in tpm-chip.c - tpm_dev_add_device(): cdev_add() must be done before uevent is propagated in order to avoid races. - tpm_chip_register(): tpm_dev_add_device() must be done as the last step before exposing device to the user space in order to avoid races. In addition clarified description in tpm_chip_register(). Fixes: 313d21eeab92 ("tpm: device class for tpm") Fixes: afb5abc262e9 ("tpm: two-phase chip management functions") Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 6da2517ddb03cb12c6e8bbe449b5ed1b51878642 Author: jmlatten@xxxxxxxxxxxxxxxxxx <jmlatten@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 18:11:24 2015 -0600 tpm/ibmvtpm: Additional LE support for tpm_ibmvtpm_send Problem: When IMA and VTPM are both enabled in kernel config, kernel hangs during bootup on LE OS. Why?: IMA calls tpm_pcr_read() which results in tpm_ibmvtpm_send and tpm_ibmtpm_recv getting called. A trace showed that tpm_ibmtpm_recv was hanging. Resolution: tpm_ibmtpm_recv was hanging because tpm_ibmvtpm_send was sending CRQ message that probably did not make much sense to phype because of Endianness. The fix below sends correctly converted CRQ for LE. This was not caught before because it seems IMA is not enabled by default in kernel config and IMA exercises this particular code path in vtpm. Tested with IMA and VTPM enabled in kernel config and VTPM enabled on both a BE OS and a LE OS ppc64 lpar. This exercised CRQ and TPM command code paths in vtpm. Patch is against Peter's tpmdd tree on github which included Vicky's previous vtpm le patches. Signed-off-by: Joy Latten <jmlatten@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # eb71f8a5e33f: "Added Little Endian support to vtpm module" Cc: <stable@xxxxxxxxxxxxxxx> Reviewed-by: Ashley Lai <ashley@xxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 0e9974f7272784fdc63a0ce9bd415ed24f1e958b Merge: 842a9ae f36e58e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 5 15:11:57 2015 -0500 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== cxgb4: RX Queue related cleanup and fixes This patch series adds a common function to allocate RX queues and queue allocation changes to RDMA CIQ The patches series is created against 'net-next' tree. And includes patches on cxgb4 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 f36e58e5668694cd89d0a4d04a767a6286d497cc Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Mar 4 18:16:28 2015 +0530 cxgb4: Try and provide an RDMA CIQ per cpu To allow for better scalability on systems with large core counts, we will try and allocate enough RDMA Concentrator IQs and MSI/X vectors as we have cores. If we cannot get enough MSI/X vectors, fall back to the minimum required: 1 per adapter rx channel. Also clean up cxgb_enable_msix() to make it readable and correct a bug where the vectors are not correctly assigned if the driver doesn't get the full amount requested. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c6a5b0e3446c36e3fc3f4531b1cf2db61f8319b Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Mar 4 18:16:27 2015 +0530 cxgb4: Move offload Rx queue allocation to separate function Adds a common function for all Rx queue allocation. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d8bf368d0631d4bc2612d8bf2e4e8e74e620d0cc Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Thu Mar 5 15:23:08 2015 +0100 genirq: Remove the deprecated 'IRQF_DISABLED' request_irq() flag entirely The IRQF_DISABLED flag is a NOOP and has been scheduled for removal since Linux v2.6.36 by commit 6932bf37bed4 ("genirq: Remove IRQF_DISABLED from core code"). According to commit e58aa3d2d0cc ("genirq: Run irq handlers with interrupts disabled"), running IRQ handlers with interrupts enabled can cause stack overflows when the interrupt line of the issuing device is still active. This patch ends the grace period for IRQF_DISABLED (i.e., SA_INTERRUPT in older versions of Linux) and removes the definition and all remaining usages of this flag. There's still a few non-functional references left in the kernel source: - The bigger hunk in Documentation/scsi/ncr53c8xx.txt is removed entirely as IRQF_DISABLED is gone now; the usage in older kernel versions (including the old SA_INTERRUPT flag) should be discouraged. The trouble of using IRQF_SHARED is a general problem and not specific to any driver. - I left the reference in Documentation/PCI/MSI-HOWTO.txt untouched since it has already been removed in linux-next. - All remaining references are changelogs that I suggest to keep. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Afzal Mohammed <afzal@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Ewan Milne <emilne@xxxxxxxxxx> Cc: Eyal Perry <eyalpe@xxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Hongliang Tao <taohl@xxxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Keerthy <j-keerthy@xxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Nishanth Menon <nm@xxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Quentin Lambert <lambert.quentin@xxxxxxxxx> Cc: Rajendra Nayak <rnayak@xxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Cc: Sricharan R <r.sricharan@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Cc: iss_storagedev@xxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1425565425-12604-1-git-send-email-valentinrothberg@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 842a9ae08a25671db3d4f689eed68b4d64be15b5 Author: Jouni Malinen <jouni@xxxxxxxxxxxxxx> Date: Wed Mar 4 12:54:21 2015 +0200 bridge: Extend Proxy ARP design to allow optional rules for Wi-Fi This extends the design in commit 958501163ddd ("bridge: Add support for IEEE 802.11 Proxy ARP") with optional set of rules that are needed to meet the IEEE 802.11 and Hotspot 2.0 requirements for ProxyARP. The previously added BR_PROXYARP behavior is left as-is and a new BR_PROXYARP_WIFI alternative is added so that this behavior can be configured from user space when required. In addition, this enables proxyarp functionality for unicast ARP requests for both BR_PROXYARP and BR_PROXYARP_WIFI since it is possible to use unicast as well as broadcast for these frames. The key differences in functionality: BR_PROXYARP: - uses the flag on the bridge port on which the request frame was received to determine whether to reply - block bridge port flooding completely on ports that enable proxy ARP BR_PROXYARP_WIFI: - uses the flag on the bridge port to which the target device of the request belongs - block bridge port flooding selectively based on whether the proxyarp functionality replied Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33ca8a53f262b4af40611bea331b8c87d133af72 Merge: db2dcb4 13a7a6a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Mar 5 20:52:18 2015 +0100 Merge tag 'v4.0-rc2' into irq/core, to refresh the tree before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 787fb2bd42b9d798f4ed85b66e878222a9e28ae6 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 5 06:54:00 2015 -0600 ax25: Fix the build when CONFIG_INET is disabled > > >> net/ax25/ax25_ip.c:225:26: error: unknown type name 'sturct' > netdev_tx_t ax25_ip_xmit(sturct sk_buff *skb) > ^ > > vim +/sturct +225 net/ax25/ax25_ip.c > > 219 unsigned short type, const void *daddr, > 220 const void *saddr, unsigned int len) > 221 { > 222 return -AX25_HEADER_LEN; > 223 } > 224 > > 225 netdev_tx_t ax25_ip_xmit(sturct sk_buff *skb) > 226 { > 227 kfree_skb(skb); > 228 return NETDEV_TX_OK; Ooops I misspelled struct... Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b42085af787eb2e465863ba82633bbd905a7897 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Feb 26 01:54:51 2015 -0300 regulator: wm8350: Remove unused variable Commit 8f45acb5f9f34eab ("regulator: wm8350: Pass NULL data with REGULATION_OUT and UNDER_VOLTAGE events") introduced the following build warning: drivers/regulator/wm8350-regulator.c: In function 'pmic_uv_handler': drivers/regulator/wm8350-regulator.c:1154:17: warning: unused variable 'wm8350' [-Wunused-variable] Remove 'wm8350' as it is unused now. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2d800897e868ba561733ecffb30d840cbe5c86d4 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Mar 3 16:21:50 2015 -0800 MAINTAINERS: Add QCOM audio ASoC maintainer Add maintainers for the Qualcomm Technologies sound drivers. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8dd72c42d38e62b82d7e3c47173b502d851c48ad Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Mar 3 16:21:51 2015 -0800 ASoC: qcom: Document LPASS CPU bindings Add documentation to the sound directory of the device-tree bindings for the QTi LPASS CPU DAI device. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c5c8635a04711c7a7aca82f90e6b1e6df1c057be Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Mar 3 16:21:55 2015 -0800 ASoC: qcom: Add LPASS platform driver Add platform driver for the Qualcomm Technologies low-power audio subsystem (LPASS) ports. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 80beab8e1d86d7da843e6c3e439bbca5320c568d Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Mar 3 16:21:54 2015 -0800 ASoC: qcom: Add LPASS CPU DAI driver Add the CPU DAI driver for the Qualcomm Technologies low-power audio subsystem (LPASS). Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd59f13823ae65a16b7c99fdd338ebac0c6487f2 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Mar 3 16:21:53 2015 -0800 ASoC: qcom: add LPASS header files Add the LPASS header files for ipq806x SOC. This includes the register definitions for the ipq806x LPAIF, and the structure definition for the driver data. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 012baec5c1eaab7ad98b461eb7afae2faf79dbea Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 5 03:37:39 2015 +0800 ASoC: tegra: fix platform_no_drv_owner.cocci warnings sound/soc/tegra/tegra_rt5677.c:334:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f43a87e06e2f19892ff3f278e0181cbf9901b15 Author: Matt Porter <mporter@xxxxxxxxxxxx> Date: Wed Mar 4 14:12:58 2015 -0500 spi: fsl-imx-cspi: add explicit compatible strings and required clock properties The fsl-imx-cspi binding contains language indicating compatible strings to be used that is not valid for all supported parts e.g. Should be "fsl,<soc>-cspi" or "fsl,<soc>-ecspi". Fix this by enumerating the set of valid compatible strings. The binding is also missing the clocks/clock-names properties so document these and the two required ipg and per clocks. Signed-off-by: Matt Porter <mporter@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 45ad3e67f663af3f7988552165e8b8ebddde0ac7 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 15:42:51 2015 +0000 ASoC: wm8804: Update DT binding document to cover regulator supplies Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fcf638f9953eb7f3b97fad7e970ae59dcdbd70c1 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 15:39:22 2015 +0000 ASoC: wm8804: Fix small issues in probe error paths This patch fixes some small issues on the probe error paths. Firstly, fail probe if we can't register the regulator notifiers as this will cause the cache to never be synchronised which will result in odd behaviour if the regulators are controllable. Secondly, we don't need to call regulator_bulk_disable if the enable fails, because the regulator core will handle this clean up for us. Finally, we need to disable the regulators if snd_soc_register_codecs fails. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0be9653a02830637ed385d99bf898d456e8eae8f Author: Charles Keepax <ckeepax@xxxxxxxxx> Date: Thu Mar 5 15:39:21 2015 +0000 ASoC: wm8804: Use new devres regulator_register_notifier This is more idiomatic and also fixes an issue where the notifiers were being leaked if probe failed. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5142442d75194ab983e865e6c12995da5666a11c Merge: 6f2c934 046db76 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 16:45:41 2015 +0000 Merge branch 'topic/notifier' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into asoc-wm8804 commit 046db763aaaeb987ea01ea8c7e6d618e0ad1e6b8 Author: Charles Keepax <ckeepax@xxxxxxxxx> Date: Thu Mar 5 15:39:20 2015 +0000 regulator: core: Add devres versions of notifier registration Add devm_regulator_register_notifier, this adds the resource against the device for the consumer supply we are registering the notifier for. There seem to be few use-cases where this wouldn't be the users intention and this ensures the notifiers will always be removed at the correct time. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6afda7f5075440f6737d953ab00fc82efb6cabae Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 5 16:55:21 2015 +0200 ASoC: davinci-mcasp: Allow complete shutdown of McASP when not in use Rearrange the pm_runtime_get/put_sync calls so the IP will be turned off when it is not in use. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26f7af37eeaab359c3013c704f75749a2b5ce1b1 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Fri Feb 20 17:58:44 2015 +0530 dmaengine: jz4740: Remove extra check Remove double check on chan->desc. Found by Coccinelle. Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 84f11d5b1f2abc0e22895b7e12e037f0ec03caeb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 24 02:07:07 2015 +0000 mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info Current sh_mobile_sdhi's platform data is set via sh_mobile_sdhi_info and it is just copied to tmio_mmc_data. Now, tmio mmc platform data is specified via tmio_mmc_data. This patch replace sh_mobile_sdhi_info to tmio_mmc_data struct sh_mobile_sdhi_info { -> struct tmio_mmc_data { int dma_slave_tx; -> void *chan_priv_tx; int dma_slave_rx; -> void *chan_priv_rx; unsigned long tmio_flags; -> unsigned long flags; unsigned long tmio_caps; -> unsigned long capabilities; unsigned long tmio_caps2; -> unsigned long capabilities2; u32 tmio_ocr_mask; -> u32 ocr_mask; unsigned int cd_gpio; -> unsigned int cd_gpio; }; unsigned int hclk; void (*set_pwr)(...); void (*set_clk_div)(...); }; Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f33c9d655893d8632460696bbbdee737cb315711 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 24 02:06:43 2015 +0000 mmc: tmio: mmc: tmio: tmio_mmc_data has .chan_priv_?x dma_request_slave_channel_compat() in tmio_mmc_dma needs .chan_priv_tx/.chan_priv_rx. But these are copied from sh_mobile_sdhi only, and sh_mobile_sdhi_info is now almost same as tmio_mmc_data except .chan_priv_?x. sh_mobile_sdhi_info can be replaced to tmio_mmc_data, but it is used from ${LINUX}/arch/arm/mach-shmobile, ${LINUX}/arch/sh. So, this patch adds .chan_priv_?x into tmio_mmc_data as 1st step, and sh_mobile_sdhi driver has dummy operation for now. It will be replaced/removed together with platform data replace. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d3866a071c426ee75649714cce062903d94e2f71 Author: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Date: Thu Feb 26 16:16:44 2015 +0000 i40e/i40evf: Version bump Bump i40e to 1.2.11 and i40evf to 1.2.5 Change-ID: Ie13375941606b0a027e5b5dbc235f5f5f03b75c8 Signed-off-by: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bfde98bd762346639f0a5a557e02c4828dd6273b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 11:48:50 2015 +0100 dmaengine: Remove net_dma_find_channel Since commit 7bced397510a ("net_dma: simple removal") removed the net_dma support entirely, net_dma_find_channel has no users left. Remove the function entirely. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 68c062eaa87b7b85b65f20f25c54524437715a95 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 11:42:43 2015 +0100 dmaengine: Remove net_dma leftovers Commit 7bce d397 510a ("net_dma: simple removal") removed the net_dma support entirely but left some functions and prototypes in the dmaengine header. Remove them. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 94666990015a28d1880b56215bac081df218a4a1 Author: Mitch A Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Feb 26 16:16:19 2015 +0000 i40e: don't spam the system log The PF driver spams the system log with messages about VF VSI when VFs are created, as well as each time they are reset. This is annoying, and the information isn't even useful most of the time. Remove this message to reduce user annoyance. Change-ID: I8de90d05380f54b038c9c8c3265150be87c9242c Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3b44439934055f91be7ee1c890bc5d5f3c904f88 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Feb 26 16:15:57 2015 +0000 i40e: move IRQ tracking setup into MSIX setup Move the IRQ tracking setup and teardown into the same routines that do the IRQ setup and teardown. This keeps like activities together and allows us to track exactly the number of vectors reserved from the OS, which may be fewer than are available from the HW. Change-ID: I6b2b1a955c5f0ac6b94c3084304ed0b2ea6777cf Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 232f47060ada14c4b77ce1f21eec9332b9234a87 Author: Anjali Singhai <anjali.singhai@xxxxxxxxx> Date: Thu Feb 26 16:15:39 2015 +0000 i40e: Ioremap changes For future device support we do not want to map the whole CSR space since some of it is mapped by other drivers with different mapping methods. Note: As a side effect, the flash region (if exposed through the memory map) gets unmapped too since it follows the future use region. Change-ID: Ic729a2eacd692984220b1a415ff4fa0f98ea419a Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5bbc330100285e56871a64d4148b9d3a1ac0f297 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Feb 26 16:15:20 2015 +0000 i40e/i40evf: Clean up some formatting and other things Fix some double blank lines and un-split a function declaration that all fits on one line. Also make i40e_get_priv_flags static. Change-ID: I11b5d25d1153a06b286d0d2f5d916d7727c58e4a Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 180204c79ffc5c525c51a209291c323b127fb32e Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Feb 26 16:14:58 2015 +0000 i40e: Add AOC PHY types to case statements Add the 10G and 40G AOC PHY types to the case statement in get_media_type and ethtool get_settings so that the correct information gets reported back to the user. Change-ID: I1b4849d22199a9acf7c8807166d0317c1faad375 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5b86c5cf7536e383b301bf3322087b4bd4f6547b Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Thu Feb 26 16:14:35 2015 +0000 i40e: Fix ethtool offline test If the system administrator is requesting an offline diagnostic test using 'ethtool -t' then we should, you know, actually take the device offline before doing the testing. Change-ID: I6afa1cbfcc821c9ab6e6f47ed4d8dc2d8dd20e82 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 088c4ee370ecc5c7ce2681e75b78429825c860bf Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Feb 26 16:14:12 2015 +0000 i40e: Reassign incorrect PHY type to fix a FW bug Some FW versions are incorrectly reporting a breakout cable as PHY type 0x3 when it should be 0x16 (I40E_PHY_TYPE_10GBASE_SFPP_CU). If we get this value back from FW and the version is < 4.40, reassign it to I40E_PHY_TYPE_10GBASE_SFPP_CU. Change-ID: Ibb41a0e3cd2c0753744e8553959240df6ed13ae8 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 695df2132cfe3782784d4b0e1f0027168c1830ca Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Wed Mar 4 17:09:33 2015 +0800 cpuset: initialize cpuset a bit early Now we call ss->bind() in cgroup_init(), so cgroup_init() will call cpuset_bind() and then the latter will access top_cpuset's cpumask, which is NULL, because cpuset_init() is called after cgroup_init() The simplest fix is to swap cgroup_init() and cpuset_init(). Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Fixes: 295458e67284 ("cgroup: call cgroup_subsys->bind on cgroup subsys initialization") Reported by: Ming Lei <tom.leiming@xxxxxxxxx> Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> commit 9a660eeae2779cea72ef306b721273a0e951e7d7 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Feb 26 16:13:22 2015 +0000 i40e: fix XPS mask when resetting During resets (possibly caused by a Tx hang) the driver would accidentally clear the XPS mask for all queues back to 0. This caused higher CPU utilization and had some other performance impacts for transmit tests. Change-ID: I95f112432c9e643a153eaa31cd28cdcbfdd01831 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1ca2760fb2c13959fcba794695cd5b306cbfa6a4 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Mar 4 23:07:05 2015 +0100 bcma: prepare Kconfig symbol for PCI driver Driver for PCIe core requires PCI to be enabled, however we shouldn't require it for the whole bus. Someone may be not interested in extra PCI devices and what's more there are SoCs without any PCI at all (like BCM5356C0, BCM5357*, BCM47186B0). For more details see Kconfig "help". Please note this patch doesn't allow disabling PCI drivers yet, as it requires more work on calls to bcma_core_pci_* functions. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0a4e699a41f767dff76ca7dc1019b9ca6de3eb42 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Mar 4 14:24:52 2015 +0100 bcma: move internal function declarations to private header These functions are not exported nor used anywhere, so there is no reason to put them in public headers. Also drop unused bcma_chipco_(suspend|resume). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c32ec2a11321978c34296d9a6bd5b0c31a2eb182 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Mar 4 12:14:41 2015 +0100 bcma: make bcma_host_pci_(up|down) calls safe for every config We were providing declarations but actual code was compiled only with CONFIG_BCMA_HOST_PCI set. This could result in: ERROR: "bcma_host_pci_down" [drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko] undefined! ERROR: "bcma_host_pci_up" [drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko] undefined! ERROR: "bcma_host_pci_down" [drivers/net/wireless/b43/b43.ko] undefined! ERROR: "bcma_host_pci_up" [drivers/net/wireless/b43/b43.ko] undefined! Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ce7ca75176dc3d87c75ea47a7b35a0ac50c7589c Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Feb 26 16:12:58 2015 +0000 i40e: use more portable sign extension Use automatic sign extension by replacing 0xffff... constants with ~(u64)0 or ~(u32)0. Change-ID: I73cab4cd2611795bb12e00f0f24fafaaee07457c Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Kevin Scott <kevin.c.scott@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b09f5ec18b16b82f4db8a735e453332db7514275 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 05:16:18 2015 +0800 bcma: Kconfig: Let it depend on PCI bcma also needs PCI, just like IOMEM and DMA, so let it depend on PCI, or will cause building break for allmodconfig under c6x: CC [M] drivers/bcma/driver_pcie2.o drivers/bcma/driver_pcie2.c: In function 'bcma_core_pcie2_up': drivers/bcma/driver_pcie2.c:196:8: error: implicit declaration of function 'pcie_set_readrq' [-Werror=implicit-function-declaration] err = pcie_set_readrq(dev, pcie2->reqsize); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4f651a5b0aa561962c97b76bb67ceb57491efabc Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Feb 26 16:12:26 2015 +0000 i40e/i40evf: grab NVM devstarter version not image version 0x2A is the NVM version so it has useful data but it is per image version every image can have a different one. 0x18 is the dev starter version which all the images for release will have the same version. Of the two 0x18 is more useful and is what should be displayed. Change-ID: Idf493da13a42ab211e2de0bef287f5de51033cca Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7589f65b32f4465e38cc1d71490ea6f3e170c08c Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Thu Feb 26 16:12:00 2015 +0000 i40e: Don't check operational or sync bit for App TLV In CEE mode the firmware does not set the operational status bit of the application TLV status as returned from the "Get CEE DCBX Oper Cfg" AQ command. This occurs whenever a DCBX configuration is changed. This is a workaround to remove the check for the operational and sync bits of the application TLV status till a firmware fix is provided. Change-ID: I1a31ff2fcadcb06feb5b55776a33593afc6ea176 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Acked-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3c5ecc9ed3537846fd95e8f288d6d6968075879f Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jan 21 15:43:11 2015 +0900 pinctrl: exynos: Add support for Exynos5433 This patch adds driver data for Exynos5433 SoC. Exynos5433 includes 228 multi- functional input/output port pins and 135 memory port pins. There are 41 general port groups and 2 memory port groups. Cc: Thomas Abraham <thomas.abraham@xxxxxxxxxx> Acked-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b84d5cd8198fa140abcd9293ab795897f2fc937f Author: Matt Jared <matthew.a.jared@xxxxxxxxx> Date: Thu Feb 26 16:11:30 2015 +0000 i40e: during LED interaction ignore activity LED src modes Modify our get and set LED functions so they ignore activity LEDs, as we are required to blink the link LEDs only. Change-ID: I647ea67a6fc95cbbab6e3cd01d81ec9ae096a9ad Signed-off-by: Matt Jared <matthew.a.jared@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c668a12c7bc92cc99de269647701b9d277f295b8 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Thu Feb 26 16:10:39 2015 +0000 i40e: Fix NPAR Tx Scheduler init Recent changes to the driver initialization have caused the BW configurations to not take effect. We use a BW configuration read and write back to "kick" the Tx scheduler into action. Change-ID: I94ab377c58d3a3986e3de62b6c199be3fd2ee5e6 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e3e72f38a5bd7b17aca04f1bfe6d0ef2371cf05a Merge: 0cbfc06 cffb41f Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Thu Mar 5 11:01:38 2015 +0200 Merge ath-next from ath.git Major changes in ath10k: * qca6174: enable STA transmit beamforming (TxBF) support * disable multi-vif power save by default commit 331758eef83620eef3f21289f0f44aba094d0503 Author: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Date: Wed Feb 11 17:28:02 2015 +0100 gpiolib: add devm_gpiod_get_array and devm_gpiod_put_array functions Add device managed variants of gpiod_get_array() / gpiod_put_array() functions for conveniently obtaining and disposing of an entire array of GPIOs with one function call. Signed-off-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 668585273246f67b0cdafa30dd2da2047a2e1290 Author: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Date: Wed Feb 11 17:27:58 2015 +0100 gpiolib: add gpiod_get_array and gpiod_put_array functions Introduce new functions for conveniently obtaining and disposing of an entire array of GPIOs with one function call. ACPI parts tested by Mika Westerberg, DT parts tested by Rojhalat Ibrahim. Change log: v5: move the ACPI functions to gpiolib-acpi.c v4: - use shorter names for members of struct gpio_descs - rename lut_gpio_count to platform_gpio_count for clarity - add check for successful memory allocation - use ERR_CAST() v3: - rebase on current linux-gpio devel branch - fix ACPI GPIO counting - allow for zero-sized arrays - make the flags argument mandatory for the new functions - clarify documentation v2: change interface Suggested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Tested-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7f2e553a7173b485db41a52060f91fb8e5ab1c69 Author: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Date: Wed Feb 11 17:27:55 2015 +0100 gpiolib: define gpio suffixes globally Avoid multiple identical definitions of the gpio suffix strings by putting them into a global constant array. Signed-off-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c709feda56886c38af3116254f84cbe6a78b3a5d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Mar 5 08:58:44 2015 +0100 x86/mm/pat: Initialize __cachemode2pte_tbl[] and __pte2cachemode_tbl[] in a bit more readable fashion The initialization of these two arrays is a bit difficult to follow: restructure it optically so that a 2D structure shows which bit in the PTE is set and which not. Also improve on comments a bit. No code or data changed: # arch/x86/mm/init.o: text data bss dec hex filename 4585 424 29776 34785 87e1 init.o.before 4585 424 29776 34785 87e1 init.o.after md5: a82e11ff58bcfd0af3a94662a701f65d init.o.before.asm a82e11ff58bcfd0af3a94662a701f65d init.o.after.asm Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150305082135.GB5969@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c281b94570ab711fdf21e81bdfb3d79764492bcf Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Mar 5 08:28:48 2015 +0100 init.h: Clean up the __setup()/early_param() macros Make it all a bit easier on the eyes: - Move the __setup_param() lines right after their init functions - Use consistent vertical spacing - Use more horizontal spacing to make it look like regular C code - Use standard comment style Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e61980a70245715ab39cbee2b9d6e6afc1ec37d4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Mar 5 08:25:01 2015 +0100 x86/mm: Simplify probe_page_size_mask() Now that we've simplified the gbpages config space, move the 'page_size_mask' initialization into probe_page_size_mask(), right next to the PSE and PGE enablement lines. Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 10971ab269bbf22120edac95fcfa3c873a549bea Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Mar 5 08:18:23 2015 +0100 x86/mm: Further simplify 1 GB kernel linear mappings handling It's a bit pointless to allow Kconfig configuration for 1GB kernel mappings, it's already hidden behind a 'default y' and CONFIG_EXPERT. Remove this complication and simplify the code by renaming CONFIG_ENABLE_DIRECT_GBPAGES to CONFIG_X86_DIRECT_GBPAGES and document the DEBUG_PAGE_ALLOC and KMEMCHECK quirks. Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 82f8b651a94d5c7090563fe55cfdb286c461a16c Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Wed Mar 4 16:24:26 2015 -0800 Bluetooth: fix service discovery behaviour for empty uuids filter This patch fixes service discovery behaviour, when provided uuid filter is empty and HCI_QUIRK_STRICT_DUPLICATE_FILTER is set. Before this patch, empty uuid filter was unable to trigger scan restart, and that caused inconsistent behaviour in applications. Example: two DBus clients call BlueZ, one to find all devices with service abcd, second to find all devices with rssi smaller than -90. Sum of those filters, that is passed to mgmt_service_scan is empty filter, with no rssi or uuids set. That caused kernel not to restart scan when quirk was set. That was inconsistent with what happen when there's only one of those two filters set (scan is restarted and reports devices). To fix that, new variable hdev->discovery.result_filtering was introduced. It can indicate that filtered scan is running, no matter what uuid or rssi filter is set. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 2976cdeb27c83c83bf010a314309f07659ead228 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Wed Mar 4 16:24:25 2015 -0800 Bluetooth: Refactor service discovery filter logic This patch refactor code responsible for filtering when service discovery method is used. Previously this code was mixed with mgmt_device found logic. Now when it's in one place whole logic can be greatly simplified. That includes removing no longer necessary length field and merging checks for eir and scan_rsp. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 48f86b7f2673352d075e567a8f3425c548be8424 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Wed Mar 4 16:24:24 2015 -0800 Bluetooth: Move Service Discovery logic before refactoring This patch moves whole packet filering logic of service discovery into new function is_filter_match. It's done because logic inside mgmt_device_found is very complicated and needs some simplification. Also having whole logic in one place will allow to simplify it in the future. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 73c8c861dc5bddf1b24c6aeffee2292c96cf8db2 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Mar 4 17:24:14 2015 -0800 x86/mm: Use early_param_on_off() for direct_gbpages The enabler / disabler is pretty simple, just use the provided wrappers, this lets us easily relate the variable to the associated Kconfig entry. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Link: http://lkml.kernel.org/r/1425518654-3403-5-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bfb33bad83f650f265ed65cbfe8352b7c3ce8c76 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Mar 4 17:24:13 2015 -0800 init.h: Add early_param_on_off() At times all you need is a kconfig variable to enable a feature, by default but you may want to also enable / disable it through a kernel parameter. In such cases the parameter routines to turn the thing on / off are really simple. Just use a wrapper for this, it lets us generalize the code and makes it easier to associate parameters with related kernel configuration options. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Link: http://lkml.kernel.org/r/1425518654-3403-4-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e5008abe929c160d36e44b8c2b644d4330d2e389 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Mar 4 17:24:12 2015 -0800 x86/mm: Simplify enabling direct_gbpages direct_gbpages can be force enabled as an early parameter but not really have taken effect when DEBUG_PAGEALLOC or KMEMCHECK is enabled. You can also enable direct_gbpages right now if you have an x86_64 architecture but your CPU doesn't really have support for this feature. In both cases PG_LEVEL_1G won't actually be enabled but direct_gbpages is used in other areas under the assumptions that PG_LEVEL_1G was set. Fix this by putting together all requirements which make this feature sensible to enable under, and only enable both finally flipping on PG_LEVEL_1G and leaving PG_LEVEL_1G set when this is true. We only enable this feature then to be possible on sensible builds defined by the new ENABLE_DIRECT_GBPAGES. If the CPU has support for it you can either enable this by using the DIRECT_GBPAGES option or using the early kernel parameter. If a platform had support for this you can always force disable it as well. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Link: http://lkml.kernel.org/r/1425518654-3403-3-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d9fd579c218e22c897f0f1b9e132af9b436cf445 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Mar 4 17:24:11 2015 -0800 x86/mm: Use IS_ENABLED() for direct_gbpages Replace #ifdef eyesore with IS_ENABLED() use. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Link: http://lkml.kernel.org/r/1425518654-3403-2-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9941a383df98193aa9a9b3662af7c1fcbc3070ee Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:19 2015 +1030 CPU_MASK_ALL/CPU_MASK_NONE: remove from deprecated region. They're used to initialize various static fields, though static cpumasks should generally be avoided. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit e97636b487d0767500a1b898513577a5ce000ad9 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Mar 4 01:07:53 2015 -0500 staging/lustre/o2iblnd: Don't use cpus_weight cpus_weight and for_each_cpu_mask are deprecated, so replace them with cpumask_weight and for_each_cpu respectively. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit b25e74b56a34908c777c1e72ecd9c56c4c8e124d Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Mar 4 01:07:52 2015 -0500 staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_ Rusty Russel advises that cpus_* functions are deprecated to work on cpumasks and cpumask_* functions should be called instead, otherwise problems with CPUMASK_OFFSTACK arise. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit dc0d838a0527296730af6d3826bcda79d2918613 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Mar 4 01:07:51 2015 -0500 staging/lustre/ptlrpc: Do not use deprecated cpus_* functions As per Rusty Russel, cpus_* functions are deprecated. When mixing cpumask_copy with cpus_weight, they operate on different sized masks if CPUMASK_OFFSTACK is enabled, causing an immediate assertion failure. Copying of cpumasks by assignment is also not allowed now. Additionally, in ptlrpc/service.c avoid the cpumask copies, since we only use it to check how many siblings are there for core #0 and nothing else. Reported-by: Tyson Whitehead <twhitehead@xxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 35168f512ff7eff9153e8c192f1155c994a75a0a Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:18 2015 +1030 blackfin: fix up obsolete cpu function usage. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx commit 409e56f3ef355ef7670b33e3fc6de8d1256a11d3 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:18 2015 +1030 parisc: fix up obsolete cpu function usage. Thanks to spatch. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: linux-parisc@xxxxxxxxxxxxxxx commit 0cc0cd7049f06a5ddaf38b6b268f0663c806a337 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:18 2015 +1030 tile: fix up obsolete cpu function usage. Thanks to spatch. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 434ed7f4b08fb8c23bdfabbb1f9427f2ed9ec27c Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:18 2015 +1030 arm64: fix up obsolete cpu function usage. Thanks to spatch. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 8dd928915a73bf95a727a46037964243eb1e042c Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:17 2015 +1030 mips: fix up obsolete cpu function usage. Thanks to spatch, plus manual removal of "&*". Then a sweep for for_each_cpu_mask => for_each_cpu. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx commit d089f8e97d371a662dd233491e03bda377c9d46d Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:17 2015 +1030 x86: fix up obsolete cpu function usage. Thanks to spatch, plus manual removal of "&*". Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: x86@xxxxxxxxxx commit b09fcc90dc834b98c47cbb4d151526526ff10397 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:17 2015 +1030 um: fix up obsolete cpu function usage. Thanks to spatch. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: user-mode-linux-devel@xxxxxxxxxxxxxxxxxxxxx commit 5d2068da8d339e4dff8f9b9a1246e6a79e2949d8 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:16 2015 +1030 ia64: fix up obsolete cpu function usage. Thanks to spatch, then a sweep for for_each_cpu_mask => for_each_cpu. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: linux-ia64@xxxxxxxxxxxxxxx commit 66d06757d9eb74a29775737b8c770e3b57e536d9 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 4 14:30:01 2015 -0800 net: bcmgenet: simplify __bcmgenet_tx_reclaim() 1. Use c_index and ring->c_index to determine how many TxCBs/TxBDs are ready for cleanup - c_index = the current value of TDMA_CONS_INDEX - TDMA_CONS_INDEX is HW-incremented and auto-wraparound (0x0-0xFFFF) - ring->c_index = __bcmgenet_tx_reclaim() cleaned up to this point on the previous invocation 2. Add bcmgenet_tx_ring->clean_ptr - index of the next TxCB to be cleaned - incremented as TxCBs/TxBDs are processed - value always in range [ring->cb_ptr, ring->end_ptr] 3. Fix incrementing of dev->stats.tx_packets - should be incremented only when tx_cb_ptr->skb != NULL These changes simplify __bcmgenet_tx_reclaim(). Furthermore, Tx ring size can now be any value. With the old code, Tx ring size had to be a power-of-2: num_tx_bds = ring->size; c_index &= (num_tx_bds - 1); last_c_index &= (num_tx_bds - 1); Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f93eb4ba0f6c089252c8358563b5859a4daf40b1 Merge: 3a65f63 1de3d87 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 23:35:24 2015 -0500 Merge branch 'fib_trie-next' Alexander Duyck says: ==================== ipv4/fib_trie: Cleanups to prepare for introduction of key vector This patch series is meant to mostly just clean up the fib_trie to prepare it for the introduction of the key_vector. As such there are a number of minor clean-ups such as reformatting the tnode to match the format once the key vector is introduced, some optimizations to drop the need for a leaf parent pointer, and some changes to remove duplication of effort such as the 2 look-ups that were essentially being done per node insertion. v2: Added code to cleanup idx >> n->bits and explain unsigned long logic Added code to prevent allocation when tnode size is larger than size_t ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1de3d87bcd2c2e631500b9e4f0c40b38ce0d0d57 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:04:46 2015 -0800 fib_trie: Prevent allocating tnode if bits is too big for size_t This patch adds code to prevent us from attempting to allocate a tnode with a size larger than what can be represented by size_t. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71e8b67d0fdd2fe22a657bb98716c5cf0e31e828 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:04:03 2015 -0800 fib_trie: Update last spot w/ idx >> n->bits code and explanation This change updates the fib_table_lookup function so that it is in sync with the fib_find_node function in terms of the explanation for the index check based on the bits value. I have also updated it from doing a mask to just doing a compare as I have found that seems to provide more options to the compiler as I have seen it turn this into a shift of the value and test under some circumstances. In addition I addressed one minor issue in which we kept computing the key ^ n->key when checking the fib aliases. I pulled the xor out of the loop in order to reduce the number of memory reads in the lookup. As a result we should save a couple cycles since the xor is only done once much earlier in the lookup. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7e53531234dc206bb75abb5305a72665dd4d75d Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:02:44 2015 -0800 fib_trie: Make fib_table rcu safe The fib_table was wrapped in several places with an rcu_read_lock/rcu_read_unlock however after looking over the code I found several spots where the tables were being accessed as just standard pointers without any protections. This change fixes that so that all of the proper protections are in place when accessing the table to take RCU replacement or removal of the table into account. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41b489fd6ce03e96e90fcffdb69b168065ae2e40 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:02:33 2015 -0800 fib_trie: move leaf and tnode to occupy the same spot in the key vector If we are going to compact the leaf and tnode we first need to make sure the fields are all in the same place. In that regard I am moving the leaf pointer which represents the fib_alias hash list to occupy what is currently the first key_vector pointer. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d5d6487cb8f019ab663df4c03519cd69e4362795 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:02:18 2015 -0800 fib_trie: Update insert and delete to make use of tp from find_node This change makes it so that the insert and delete functions make use of the tnode pointer returned in the fib_find_node call. By doing this we will not have to rely on the parent pointer in the leaf which will be going away soon. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4a975e83f4de2e454d7f937b36ce13b010c65ce Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:01:59 2015 -0800 fib_trie: Fib find node should return parent This change makes it so that the parent pointer is returned by reference in fib_find_node. By doing this I can use it to find the parent node when I am performing an insertion and I don't have to look for it again in fib_insert_node. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8be33e955cb959dabc1a6eef0b7356fe8cf73fa6 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 14:59:19 2015 -0800 fib_trie: Fib walk rcu should take a tnode and key instead of a trie and a leaf This change makes it so that leaf_walk_rcu takes a tnode and a key instead of the trie and a leaf. The main idea behind this is to avoid using the leaf parent pointer as that can have additional overhead in the future as I am trying to reduce the size of a leaf down to 16 bytes on 64b systems and 12b on 32b systems. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7289e6ddb633aaee6ccea2bd2e410654c47b29a6 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 14:58:19 2015 -0800 fib_trie: Only resize tnodes once instead of on each leaf removal in fib_table_flush This change makes it so that we only call resize on the tnodes, instead of from each of the leaves. By doing this we can significantly reduce the amount of time spent resizing as we can update all of the leaves in the tnode first before we make any determinations about resizing. As a result we can simply free the tnode in the case that all of the leaves from a given tnode are flushed instead of resizing with each leaf removed. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9b531fe14a539ec2ad802b73c9638f324e4a4ff Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:16 2015 +1030 drivers: fix up obsolete cpu function usage. Thanks to spatch, plus manual removal of "&*". Then a sweep for for_each_cpu_mask => for_each_cpu. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx commit 51f7bd8590267011db7b632f53f3d32ec83ee8bb Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:48:49 2015 +1030 ia64: Use for_each_cpu_and() and cpumask_any_and() instead of temp var. Just a bit of manual neatening, before spatch cleans the rest. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: linux-ia64@xxxxxxxxxxxxxxx commit 270bd400e8030ed921e80f334c3ebf274fd93037 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:47:49 2015 +1030 cpumask: fix cpu-hotplug documentation It refers to an obsolete function. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-doc@xxxxxxxxxxxxxxx commit d7e3281b52fea8917fb4a7a5b09df5e6a9d2850c Merge: 3a94863 6f2c934 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:27 2015 +0000 Merge remote-tracking branch 'asoc/topic/wm8804' into asoc-next commit 3a9486367b0a79d725a9ba31eee60505fdddb96f Merge: 256fca9 2bf9eba 05a25fd 0004def dd30014 be95101 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:25 2015 +0000 Merge remote-tracking branches 'asoc/topic/rt5670', 'asoc/topic/rt5677', 'asoc/topic/simple', 'asoc/topic/tegra' and 'asoc/topic/wm-adsp' into asoc-next commit 256fca9247c4e62408923a0fe861398510cf6bc1 Merge: 4a7e041 77c7176 92b2ad2 6742e15 e2cef68 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:23 2015 +0000 Merge remote-tracking branches 'asoc/topic/jack', 'asoc/topic/max98357a', 'asoc/topic/omap' and 'asoc/topic/rt286' into asoc-next commit 4a7e0415703977dc61b410f3124ab59d56273f6a Merge: 6a93dd2 b6d6c6e 4da4608 34d7c39 5bb400c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:21 2015 +0000 Merge remote-tracking branches 'asoc/topic/atmel', 'asoc/topic/davinci', 'asoc/topic/gpiod' and 'asoc/topic/intel' into asoc-next commit 6a93dd249b9969f9b9d65d038d640a20cb0ffd6c Merge: 0af1327 f29933c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:20 2015 +0000 Merge remote-tracking branch 'asoc/topic/pcm512x' into asoc-next commit 0af1327ba0393a98263b8d4244f21d1500a52271 Merge: 1dfcab5 3185878 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:20 2015 +0000 Merge remote-tracking branch 'asoc/topic/dapm-dt' into asoc-next commit 1dfcab55e90500468f1a0646a8549e8eaa90cd7a Merge: 13a7a6a 3b8f4a7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:14 2015 +0000 Merge tag 'asoc-fix-v4.0-rc2' into asoc-linus ASoC: Fixes for v4.0 A few driver specific fixes here, none of them earth shattering in themselves, that have accumliated since the opening of the merge window. # gpg: Signature made Thu 05 Mar 2015 01:02:37 GMT using RSA key ID 5D5487D0 # gpg: Oops: keyid_from_fingerprint: no pubkey # 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 6f2c9348095ae1a489abafe2ab3db7deca406e49 Author: Charles Keepax <ckeepax@xxxxxxxxx> Date: Sun Feb 22 16:43:22 2015 +0000 ASoC: wm8804: Merge CODEC probe and bus probe All of the things in the CODEC probe, such as getting the regulators and verifying the chip ID, are better done in bus probe. It is better to fail during bus probe if this is the wrong chip and all resource allocation should be done in the bus probe anyway. This patch merges the CODEC probe into bus probe. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bbed297d373471c8e4c3183bf67472a768576664 Author: Charles Keepax <ckeepax@xxxxxxxxx> Date: Sun Feb 22 16:43:21 2015 +0000 ASoC: wm8804: Split out bus drivers Simplify dependencies by using new style split out bus interfaces. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bb3ab878a29a3879669bb922bebce87b9a9af755 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 4 13:14:20 2015 +0100 ARM: shmobile: Enable bockw board in multiplatform defconfig Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d136dfeec84bfe3e4238bacd23f21e161268deac Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Mar 3 14:22:31 2015 +0000 drm: Pass in new and old plane state to prepare_fb and cleanup_fb Use cases like rotation require these hooks to have some context so they know how to prepare and cleanup the frame buffer correctly. For i915 specifically, object backing pages need to be mapped differently for different rotation modes and the driver needs to know which mapping to instantiate and which to tear down when transitioning between them. v2: Made passed in states const. (Daniel Vetter) [airlied: add mdp5 and atmel fixups] Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 5eca7453d61003bf886992388f8cb407e6f0d051 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Feb 27 12:19:49 2015 +0800 x86/traps: Separate set_intr_gate() and clean up early_trap_init() As early_trap_init() doesn't use IST, replace set_intr_gate_ist() and set_system_intr_gate_ist() with their standard counterparts. set_intr_gate() requires a trace_debug symbol which we don't have and won't use. This patch separates set_intr_gate() into two parts, and uses base version in early_trap_init(). Reported-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: <dave.hansen@xxxxxxxxxxxxxxx> Cc: <lizefan@xxxxxxxxxx> Cc: <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: <oleg@xxxxxxxxxx> Cc: <rostedt@xxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425010789-13714-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7547af91868f0ea940abc25460accc4025c5ce0a Merge: 87dc8b6 d4495cb Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 5 09:41:09 2015 +1000 Merge tag 'drm-intel-next-2015-02-14' of git://anongit.freedesktop.org/drm-intel into drm-next - use the atomic helpers for plane_upate/disable hooks (Matt Roper) - refactor the initial plane config code (Damien) - ppgtt prep patches for dynamic pagetable alloc (Ben Widawsky, reworked and rebased by a lot of other people) - framebuffer modifier support from Tvrtko Ursulin, drm core code from Rob Clark - piles of workaround patches for skl from Damien and Nick Hoath - vGPU support for xengt on the client side (Yu Zhang) - and the usual smaller things all over * tag 'drm-intel-next-2015-02-14' of git://anongit.freedesktop.org/drm-intel: (88 commits) drm/i915: Update DRIVER_DATE to 20150214 drm/i915: Remove references to previously removed UMS config option drm/i915/skl: Use a LRI for WaDisableDgMirrorFixInHalfSliceChicken5 drm/i915/skl: Fix always true comparison in a revision id check drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken drm/i915: Add process identifier to requests drm/i915/skl: Implement WaBarrierPerformanceFixDisable drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS drm/i915/skl: Implement WaDisableHDCInvalidation drm/i915/skl: Implement WaDisableLSQCROPERFforOCL drm/i915/skl: Implement WaDisablePartialResolveInVc drm/i915/skl: Introduce a SKL specific init_workarounds() drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset drm/i915/skl: Implement WaSetGAPSunitClckGateDisable drm/i915/skl: Make the init clock gating function skylake specific drm/i915/skl: Provide a gen9 specific init_render_ring() drm/i915/skl: Document the WM read latency W/A with its name drm/i915/skl: Also detect eDRAM on SKL ... commit 87dc8b6cbdd9c9f39aaf215767f151b62791df5c Merge: 7e47748 16e6004 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 5 09:38:56 2015 +1000 Merge branch 'drm-atmel-hlcdc-devel' of git://github.com/bbrezillon/linux-at91 into drm-next This pull request includes: - support for Atomic mode setting - the discard area optimization - implementation of PM primitives * 'drm-atmel-hlcdc-devel' of git://github.com/bbrezillon/linux-at91: drm: atmel-hlcdc: Add pinctrl PM select sleep,default state in CRTC suspend/resume drm: atmel-hlcdc: Add PM suspend/resume support drm: atmel-hlcdc: add discard area support drm: atmel-hlcdc: Atomic mode-setting conversion commit 7e4774843bff41d312850669e1dd5aa14edd7e9b Merge: 79d6d94 5ee5a81 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 5 09:37:58 2015 +1000 Merge branch 'drm/next/atomic' of git://linuxtv.org/pinchartl/fbdev into drm-next rcar-du atomic modesetting support * 'drm/next/atomic' of git://linuxtv.org/pinchartl/fbdev: (32 commits) drm: rcar-du: Fix race condition in hardware plane allocator drm: rcar-du: Move group locking inside rcar_du_crtc_update_planes() drm: rcar-du: Move plane commit code from CRTC start to CRTC resume drm: rcar-du: Move plane format to plane state drm: rcar-du: Remove unneeded rcar_du_crtc plane field drm: rcar-du: Replace plane crtc and enabled fields by plane state drm: rcar-du: Rework plane setup code drm: rcar-du: Switch plane set_property to atomic helpers drm: rcar-du: Switch page flip to atomic helpers drm: rcar-du: Implement asynchronous commit support drm: rcar-du: Replace encoder mode_fixup with atomic_check drm: rcar-du: Switch connector DPMS to atomic helpers drm: rcar-du: Switch mode config to atomic helpers drm: rcar-du: Switch plane update to atomic helpers drm: rcar-du: Rework CRTC enable/disable for atomic updates drm: rcar-du: Rework HDMI encoder enable/disable for atomic updates drm: rcar-du: Rework encoder enable/disable for atomic updates drm: rcar-du: Replace LVDS encoder DPMS by enable/disable drm: rcar-du: Remove private copy of plane size and position drm: rcar-du: Wire up atomic state object scaffolding ... commit 79d6d9426ba499fdb07334720364b44909b8a06c Merge: 329414c 07259f8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 5 09:37:19 2015 +1000 Merge branch 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next A number of TDA998x updates for the next merge window. Patches included in this set are: * adding support for finding the attached CRTCs from DT * a fix function name mis-spelling in a dev_err() * simplify the EDID reading by using the drm_do_get_edid() function instead of coding this ourselves. * 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm/i2c: tda998x: use drm_do_get_edid() drm/i2c: tda998x: fix misspelling of current function in string drm/i2c: tda998x: add OF support for finding attached CRTCs commit 66c9270b6898de629ab2a7428e56993800ea9a6c Author: Daniel Tang <dt.tangr@xxxxxxxxx> Date: Mon Feb 9 19:41:57 2015 +1100 devicetree: Add TI-NSPIRE USB OTG support to device tree Signed-off-by: Daniel Tang <dt.tangr@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit f3dddf2432e3123ef34b470129295641f7513d26 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Mar 4 14:10:26 2015 -0800 HID: map telephony usage page Currently HID code maps usages from telephony page into BTN_0, BTN_1, etc keys which get interpreted by mousedev and userspace as left/right/middle button clicks, which is not really helpful. This change adds mappings for usages that have corresponding input event definitions, and leaves the rest unmapped. This can be changed when there are userspace consumers for more telephony usages. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0a9061c3304bd74f74409e2bb49f70872afad2d8 Merge: aa5c86c 3cada3a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 23:06:49 2015 +0100 Merge tag 'for-v4.0-rc/meson-soc' of https://github.com/carlocaione/linux-meson into next/soc Pull "meson SoC changes" from Carlo Caione: - Add some forgotten documentation - Kconfig changes to enable PINCTRL * tag 'for-v4.0-rc/meson-soc' of https://github.com/carlocaione/linux-meson: of: Define board compatible for MINIX NEO-X8 of: Add vendor prefix for MINIX ARM: meson: select PINCTRL_MESON and ARCH_REQUIRE_GPIOLIB commit 8f4edb9efd47578e351fb7efe90bf2369e946921 Merge: 998b4ca b3e67c9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 23:02:49 2015 +0100 Merge tag 'for-v4.0-rc/meson-dts' of https://github.com/carlocaione/linux-meson into next/dt Pull "meson DTS changes" from Carlo Caione: - New DTS for MINIX NEO-X8 - Add DTS support for SPIFC, Ethernet controller and pinctrl * tag 'for-v4.0-rc/meson-dts' of https://github.com/carlocaione/linux-meson: ARM: dts: meson: add DTS file for MINIX NEO-X8 ARM: dts: meson8: add pinctrl node ARM: dts: meson: enable Ethernet controller ARM: dts: meson: add node for SPIFC commit 3f9b66b300d14dc2cbcb27e3392bb07a5fe28687 Merge: 13a7a6a 89d463e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 23:00:37 2015 +0100 Merge tag 'renesas-simple-pm-bus-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers Pull "Renesas ARM Based SoC Simple PM Bus Updates for v4.1" from Simon Horman: * Add Simple Power-Managed Bus Driver * tag 'renesas-simple-pm-bus-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: drivers: bus: Add Simple Power-Managed Bus Driver drivers: bus: Add Renesas Bus State Controller (BSC) DT Bindings drivers: bus: Add Simple Power-Managed Bus DT Bindings drivers: bus: Sort Makefile entries alphabetically drivers: bus: Sort Kconfig entries alphabetically commit 998b4ca7e4aa073a804df30098f4cca9d9498744 Merge: 13a7a6a b8e8ea1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 22:59:23 2015 +0100 Merge tag 'renesas-dt-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Pull "Renesas ARM Based SoC DT Updates for v4.1" from Simon Horman: * Increase hardware coverage of DT for various SoCs * Add PFC information for emev2 SoC * Remap entire APMU region for r8a7791 and r8a7790 SoCs * Declare the full 512 MiB of RAM for kzm9g board * Add selectable sources to DIV6 clocks to sh73a0 SoC * Add missing INTCA0 clock for irqpin module on sh73a0 SoC * Set control-parent for all irqpin node on sh73a0 SoC * tag 'renesas-dt-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (32 commits) ARM: shmobile: r8a7794: add SDHI DT support ARM: shmobile: r8a7790: add ADSP clocks ARM: shmobile: r8a7791: add ADSP clocks ARM: shmobile: henninger: add CAN0 DT support ARM: shmobile: r8a7791: add CAN DT support ARM: shmobile: r8a7791: add CAN clocks ARM: shmobile: r8a7790: add CAN DT support ARM: shmobile: r8a7790: add CAN clocks ARM: shmobile: emev2-kzm9d dts: Add PFC information for uart1 ARM: shmobile: emev2 dtsi: Add PFC information ARM: shmobile: r8a7791: smp: remap whole apmu region ARM: shmobile: r8a7790: smp: remap whole apmu region ARM: shmobile: koelsch: Add DU HDMI output support ARM: shmobile: r8a7791: Correct SDHI clock labels and output-names ARM: shmobile: r8a7794: Correct SDHI clock base address, labels and output-names ARM: shmobile: r8a7794: alt: Enable ethernet controller ARM: shmobile: r8a7794: Add ethernet controller to device tree ARM: shmobile: r8a7794: Add IPMMU DT nodes ARM: shmobile: r8a7791: Add IPMMU DT nodes ARM: shmobile: r8a7790: Add IPMMU DT nodes ... commit 605e0f904bb6b9ba13f8d7918f3c016ac00b86bc Merge: 756c08b c6535e1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 22:55:23 2015 +0100 Merge tag 'renesas-sh7372-soc-removal-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Pull "Renesas ARM Based SoC sh7372 SoC Removal Updates for v4.1" from Simon Horman: * Remove the sh7372 SoC and its mackerel board * tag 'renesas-sh7372-soc-removal-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: Documentation: Remove ZBOOT MMC/SDHI utility and docs ARM: shmobile: sh7372 dtsi: Remove Legacy DTSI file ARM: shmobile: sh7372: Remove DT binding documentation ARM: shmobile: sh7372: Remove Legacy C SoC code ARM: shmobile: sh7372: Remove ZBOOT MMC/SDHI support ARM: shmobile: mackerel: Remove from MAINTAINERS ARM: shmobile: mackerel: Remove defconfig ARM: shmobile: mackerel: Remove mach-type entry ARM: shmobile: mackerel: Remove DT binding documentation ARM: shmobile: mackerel dts: Remove Legacy DTS file ARM: shmobile: mackerel: Remove Legacy C board code ARM: shmobile: mackerel: Remove ZBOOT code [arnd: The sh7372 platform is rather dated and is believed to have no active users on modern kernels. It stands in the way of converting all of mach-shmobile to be multiplatform capable, as adding pinctrl and common-clock support for it would be more work than it's worth. As always, should any legitimate upstream users show up in the future, we will revert this removal] commit 756c08b068712dec875614f27ccbc38fdeda4fe7 Merge: 13a7a6a fd9454a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 22:51:35 2015 +0100 Merge tag 'renesas-soc-cleanup-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Pull "Renesas ARM Based SoC Cleanup for v4.1" from Simon Horman: * Remove redundant cpu_disable implementation from r8a7779 SoC * Remove mach/{uncompress,clkdev,system}.h * tag 'renesas-soc-cleanup-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7779: Remove redundant cpu_disable implementation ARM: shmobile: Remove mach/uncompress.h ARM: shmobile: Remove mach/clkdev.h ARM: shmobile: Remove mach/system.h commit 1e3fbb8a1d814f35e2e689cf87714d38d9f3564d Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Feb 26 14:40:39 2015 -0800 x86/asm/entry/64: Remove a bogus 'ret_from_fork' optimization 'ret_from_fork' checks TIF_IA32 to determine whether 'pt_regs' and the related state make sense for 'ret_from_sys_call'. This is entirely the wrong check. TS_COMPAT would make a little more sense, but there's really no point in keeping this optimization at all. This fixes a return to the wrong user CS if we came from int 0x80 in a 64-bit task. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/4710be56d76ef994ddf59087aad98c000fbab9a4.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d441c1f2b73ec742c2e55be804ebc6fee130c77f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:38 2015 -0800 x86/asm/entry/64: Simplify optimistic SYSRET Avoid redundant load of %r11 (it is already loaded a few instructions before). Also simplify %rsp restoration, instead of two steps: add $0x80, %rsp mov 0x18(%rsp), %rsp we can do a simplified single step to restore user-space RSP: mov 0x98(%rsp), %rsp and get the same result. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> [ Clarified the changelog. ] Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1aef69b346a6db0d99cdfb0f5ba83e8c985e27d7.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b3ab90b333e94659e7c351843ab41ec0004f73e8 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:37 2015 -0800 x86/asm/entry/64/compat: Use more readable constant The last instance of "mysterious" SS+8 constant is replaced by SIZEOF_PTREGS. Message-Id: <1424822419-10267-1-git-send-email-dvlasenk@xxxxxxxxxx> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d35aeba3059407ac54f472ddcfbea767ff8916ac.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 911d2bb5ccaab102abbab2bb58438c75bc342ca9 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:36 2015 -0800 x86/asm/entry/64: Use more readable constants Constants such as SS+8 or SS+8-RIP are mysterious. In most cases, SS+8 is just meant to be SIZEOF_PTREGS, SS+8-RIP is RIP's offset in the iret frame. This patch changes some of these constants to be less mysterious. No code changes (verified with objdump). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1d20491384773bd606e23a382fac23ddb49b5178.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 14f6e9532dda399a7b789f744dc045f8865a9e42 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:35 2015 -0800 x86/asm/entry/64/compat: Fold the IA32_ARG_FIXUP macro into its callers Use of a small macro - one with conditional expansion - does more harm than good. It obfuscates code, with minimal code reuse. For example, because of obfuscation it's not obvious that in 'ia32_sysenter_target', we can optimize loading of r9 - currently it is loaded with a detour through ebp. This patch folds the IA32_ARG_FIXUP macro into its callers. No code changes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/4da092094cd78734384ac31e0d4ec1d8f69145a2.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ebfc453e27c676e104378366a0b027e5c6918631 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:34 2015 -0800 x86/asm/entry/64: Clean up and document various entry code details This patch does a lot of cleanup in comments and formatting, but it does not change any code: - Rename 'save_paranoid' to 'paranoid_entry': this makes naming similar to its "non-paranoid" sibling, 'error_entry', and to its counterpart, 'paranoid_exit'. - Use the same CFI annotation atop 'paranoid_entry' and 'error_entry'. - Fix irregular indentation of assembler operands. - Add/fix comments on top of 'paranoid_entry' and 'error_entry'. - Remove stale comment about "oldrax". - Make comments about "no swapgs" flag in ebx more prominent. - Deindent wrongly indented top-level comment atop 'paranoid_exit'. - Indent wrongly deindented comment inside 'error_entry'. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/4640f9fcd5ea46eb299b1cd6d3f5da3167d2f78d.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1eeb207f870f746a863e5c59321d837d2d91c218 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:33 2015 -0800 x86/asm/entry/64: Move 'save_paranoid' and 'ret_from_fork' closer to their users For some odd reason, these two functions are at the very top of the file. "save_paranoid"'s caller is approximately in the middle of it, move it there. Move 'ret_from_fork' to be right after fork/exec helpers. This is a pure block move, nothing is changed in the function bodies. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/6446bbfe4094532623a5b83779b7015fec167a9d.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b87cf63e2a5fbe3b368d5f5e5708e585b0fb3f84 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:32 2015 -0800 x86/asm/entry: Add comments about various syscall instructions SYSCALL/SYSRET and SYSENTER/SYSEXIT have weird semantics. Moreover, they differ in 32- and 64-bit mode. What is saved? What is not? Is rsp set? Are interrupts disabled? People tend to not remember these details well enough. This patch adds comments which explain in detail what registers are modified by each of these instructions. The comments are placed immediately before corresponding entry and exit points. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a94b98b63527797c871a81402ff5060b18fa880a.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 050273d19b94f2adf9d35979cee949d6b6a9df84 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Feb 26 14:40:31 2015 -0800 x86/asm/entry/64: Remove 'int_check_syscall_exit_work' Nothing references it anymore. Reported-by: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 96b6352c1271 ("x86_64, entry: Remove the syscall exit audit and schedule optimizations") Link: http://lkml.kernel.org/r/dd2a4d26ecc7a5db61b476727175cd99ae2b32a4.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f2db9382c1140914cfdef224ce907e443c9f9b81 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:30 2015 -0800 x86/asm/entry: Do mass removal of 'ARGOFFSET' ARGOFFSET is zero now, removing it changes no code. A few macros lost "offset" parameter, since it is always zero now too. No code changes - verified with objdump. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8689f937622d9d2db0ab8be82331fa15e4ed4713.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d55083698ed2f498e5682c5c252e6b7224890be Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:29 2015 -0800 x86/asm/entry/64: Shrink code in 'paranoid_exit' RESTORE_EXTRA_REGS + RESTORE_C_REGS looks small, but it's a lot of instructions (fourteen). Let's reuse them. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> [ Cleaned up the labels. ] Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1421272101-16847-2-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/59d71848cee3ec9eb48c0252e602efd6bd560e3c.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e90e147cbc0cbc8dcf48000e15190badf75250f4 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:28 2015 -0800 x86/asm/entry/64: Fix comments - Misleading and slightly incorrect comments in "struct pt_regs" are fixed (four instances). - Fix incorrect comment atop EMPTY_FRAME macro. - Explain in more detail what we do with stack layout during hw interrupt. - Correct comments about "partial stack frame" which are no longer true. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423778052-21038-3-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/e1f4429c491fe6ceeddb879dea2786e0f8920f9c.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76f5df43cab5e765c0bd42289103e8f625813ae1 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:27 2015 -0800 x86/asm/entry/64: Always allocate a complete "struct pt_regs" on the kernel stack The 64-bit entry code was using six stack slots less by not saving/restoring registers which are callee-preserved according to the C ABI, and was not allocating space for them. Only when syscalls needed a complete "struct pt_regs" was the complete area allocated and filled in. As an additional twist, on interrupt entry a "slightly less truncated pt_regs" trick is used, to make nested interrupt stacks easier to unwind. This proved to be a source of significant obfuscation and subtle bugs. For example, 'stub_fork' had to pop the return address, extend the struct, save registers, and push return address back. Ugly. 'ia32_ptregs_common' pops return address and "returns" via jmp insn, throwing a wrench into CPU return stack cache. This patch changes the code to always allocate a complete "struct pt_regs" on the kernel stack. The saving of registers is still done lazily. "Partial pt_regs" trick on interrupt stack is retained. Macros which manipulate "struct pt_regs" on stack are reworked: - ALLOC_PT_GPREGS_ON_STACK allocates the structure. - SAVE_C_REGS saves to it those registers which are clobbered by C code. - SAVE_EXTRA_REGS saves to it all other registers. - Corresponding RESTORE_* and REMOVE_PT_GPREGS_FROM_STACK macros reverse it. 'ia32_ptregs_common', 'stub_fork' and friends lost their ugly dance with the return pointer. LOAD_ARGS32 in ia32entry.S now uses symbolic stack offsets instead of magic numbers. 'error_entry' and 'save_paranoid' now use SAVE_C_REGS + SAVE_EXTRA_REGS instead of having it open-coded yet again. Patch was run-tested: 64-bit executables, 32-bit executables, strace works. Timing tests did not show measurable difference in 32-bit and 64-bit syscalls. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423778052-21038-2-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/b89763d354aa23e670b9bdf3a40ae320320a7c2e.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6e1327bd2b20ccb387fcddc0caa605cb253cc458 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:26 2015 -0800 x86/asm/entry/64: Fix incorrect symbolic constant usage: R11->ARGOFFSET Since the last fix of this nature, a few more instances have crept in. Fix them up. No object code changes (constants have the same value). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423778052-21038-1-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/f5e1c4084319a42e5f14d41e2d638949ce66bc08.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 49db46a67bec9ca9e29ece4729a876195877af50 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:25 2015 -0800 x86/asm: Introduce push/pop macros which generate CFI_REL_OFFSET and CFI_RESTORE Sequences: pushl_cfi %reg CFI_REL_OFFSET reg, 0 and: popl_cfi %reg CFI_RESTORE reg happen quite often. This patch adds macros which generate them. No assembly changes (verified with objdump -dr vmlinux.o). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1421017655-25561-1-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/2202eb90f175cf45d1b2d1c64dbb5676a8ad07ad.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 69e8544cd0056e02965ffb5e8414fb7501a2ee2e Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:24 2015 -0800 x86/asm/64: Open-code register save/restore in trace_hardirqs*() thunks This is a preparatory patch for change in "struct pt_regs" handling in entry_64.S. trace_hardirqs*() thunks were (ab)using a part of the 'pt_regs' handling code, namely the SAVE_ARGS/RESTORE_ARGS macros, to save/restore registers across C function calls. Since SAVE_ARGS is going to be changed, open-code register saving/restoring here. Incidentally, this removes a bit of dead code: one SAVE_ARGS was used just to emit a CFI annotation, but it also generated unreachable assembly instructions. Take a page from thunk_32.S and use push/pop instructions instead of movq, they are far shorter: 1 or 2 bytes versus 5, and no need for instructions to adjust %rsp: text data bss dec hex filename 333 40 0 373 175 thunk_64_movq.o 104 40 0 144 90 thunk_64_push_pop.o [ This is ugly as sin, but we'll fix up the ugliness in the next patch. I see no point in reordering patches just to avoid an ugly intermediate state. --Andy ] Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1420927210-19738-4-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/4c979ad604f0f02c5ade3b3da308b53eabd5e198.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2e3ac940f2754d7dc616aba1643a668954fe892f Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Date: Tue Mar 3 17:02:21 2015 -0600 livepatch: remove unnecessary call to klp_find_object_module() klp_find_object_module() is called from both the klp register and enable paths. Only the call from the register path is necessary because the module notifier will let us know if the patched module gets loaded or unloaded. Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Reviewed-by: Petr Mladek <pmladek@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 3a65f63ff6780d35aec355b440eb39bbfbe1b8f5 Merge: f012653 400aff5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 16:40:59 2015 -0500 Merge tag 'linux-can-next-for-4.1-20150304' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-03-04 this is a pull request of 3 patches for net-next/master. Aaron Wu contributes three patches for the blackfin can driver, which cleans up the driver and makes use of more platform independent code. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0126539c73921776327e9d6bbf27e7e08ee0e3a Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Thu Mar 5 05:33:54 2015 +0800 mpls: rtm_mpls_policy[] can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c473463ca77f61dae134a166aec4610bddc8f1fa Merge: 28811a8 ace40af Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 15:58:48 2015 -0500 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Hi Dave, the following patch set includes three feature additions relating to SR-IOV to be2net. Patch 1 avoid creating a non-RSS default RXQ when FW allows it. This prevents wasting one RXQ for each VF. Patch 2 adds support for evenly distributing all queue & filter resources across VFs. The FW informs the driver as to which resources are distributable. Patch 3 implements the sriov_configure PCI method to allow runtime enablement of VFs via sysfs. Pls consider applying this patch-set to the net-next tree. Thanks! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ace40aff3cee8a82c39375761ea65cc748aa1623 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Wed Mar 4 00:44:34 2015 -0500 be2net: implement .sriov_configure() PCI callback This patch implements the .sriov_configure() PCI method to allow for runtime enabling/disabling of VFs. The module param "num_vfs" is now deprecated. At the time of driver load the PF-pool resources are allocated to the PF. When the user enables VFs, the resources are then re-distributed across PFs and VFs based on the number of VFs enabled. 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 f285873841299e027a6159dc3d3af0d0caf578d9 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Wed Mar 4 00:44:33 2015 -0500 be2net: re-distribute SRIOV resources allowed by FW When SR-IOV is enabled in the adapter, the FW distributes resources evenly across the PF and it's VFs. This is currently done only for some resources. This patch adds support for a new cmd that queries the FW for the list of resources for which the distribution is allowed and distributes them accordingly. 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 71bb8bd08ca61c8cd8b07ff13d3cca40b7272769 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Wed Mar 4 00:44:32 2015 -0500 be2net: avoid creating the non-RSS default RXQ if FW allows to On BE2, BE3 and Skhawk-R chips one non-RSS (called "default") RXQ was needed to receive non-IP traffic. Some FW versions now export a capability called IFACE_FLAGS_DEFQ_RSS where this requirement doesn't hold. On such FWs the driver now does not create the non-RSS default queue. This prevents wasting one RXQ per VF. 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 28811a8c00fe0d899b8a544421f3b4947425d5e8 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Tue Mar 3 15:43:00 2015 +0100 net: cadence: Remove Kconfig dependency on ARCH Remove Kconfig dependency and enable driver for all ARCHs. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f075a58c1a0e2891acafad0180458bd7a042843 Merge: 27db730 4398f9c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 15:40:59 2015 -0500 Merge branch 'sh_eth-next' Ben Hutchings says: ==================== sh_eth changes for net-next Some minor new features and fixes. These depend in part on the series I sent earlier for net, specifically "sh_eth: WARN on access to a register not implemented in a particular chip" depends on "sh_eth: Fix RX recovery on R-Car in case of RX ring underrun". ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4398f9c817028b3b654923b3b614ea174cbc2c67 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 20:35:05 2015 +0000 sh_eth: Mitigate lost statistics updates The statistics registers have write-clear behaviour, which means we will lose any increment between the read and write. Mitigate this by only clearing when we read a non-zero value, so we will never falsely report a total of zero. This also saves time as we only handle error statistics here and they won't often be incremented. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5fd13f476025f416583149313da85f8a3164414 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 20:34:46 2015 +0000 sh_eth: Optionally log RX and TX status for each completed descriptor Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b4b4fead3421f00953c8ce89af95ba9a1f39086 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 20:34:35 2015 +0000 sh_eth: Implement ethtool register dump operations There are many different sets of registers implemented by the different versions of this controller, and we can only expect this to get more complicated in future. Limit how much ethtool needs to know by including an explicit bitmap of which registers are included in the dump, allowing room for future growth in the number of possible registers. As I don't have datasheets for all of these, I've only included registers that are: - defined in all 5 register type arrays, or - used by the driver, or - documented in the datasheet I have Add one new capability flag so we can tell whether the RTRATE register is implemented. Delete the TSU_ADRL0 and TSU_ADR{H,L}31 definitions, as they weren't used and the address table is already assumed to be contiguous. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3365711df024f60d2e1e0ba9b40b6e965ab83bf6 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 20:34:14 2015 +0000 sh_eth: WARN on access to a register not implemented in a particular chip Currently we may silently read/write a register at offset 0. Change this to WARN and then ignore the write or read-back all-ones. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Acked-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25b77ad774a88cd7a9a8f63e122d4bda68479267 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 20:33:30 2015 +0000 sh_eth: Implement multicast statistic based on the RFS8 status bit At least on the R8A7790, RFS8 reflects the RINT8 (multicast) MAC status flag. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa5c86ce1d64b0793a4c21c1e7902d77ab886817 Merge: 13a7a6a 744cadb Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 21:23:20 2015 +0100 Merge tag 'renesas-soc-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Renesas ARM Based SoC Updates for v4.1" from Simon Horman: * Do not make CMA reservation for R-Car Gen2 when HIGHMEM=n * tag 'renesas-soc-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: No R-Car Gen2 CMA reservation when HIGHMEM=n commit c38e1328ceadc0b345ddd914c13ac1abfb048209 Author: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Date: Sun Mar 1 17:32:33 2015 +0800 ARM: dts: add rk3288 PopMetal board PopMetal is a rockchip rk3288 based board made by ChipSpark, which has many interface such as VGA,HDMI,usb,ir,sdcad and lots of sensors such as gyroscope(L3G4200D),accelerometer(mma8452), compass(AK8963C). This patch add a basic support for this board, which make the board boot into a initramfs shell with sdcard,hdmi and all sensors enabled Signed-off-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit d55ce8d818a992cef7de014ed1b86108cf3f27a4 Author: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Date: Sun Mar 1 17:28:24 2015 +0800 dt-bindings: add root compatible property for PopMetal board PopMetal board is a rk3288 based board made by ChipSpark, this add root compatible property for it Signed-off-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 8ce580932f8ee40903017a6f1408ccfff319a6a5 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Feb 27 06:37:49 2015 +0100 platform/chrome: cros_ec_lpc - Depend on X86 || COMPILE_TEST The ChromeOS EC is connected by LPC only on x86 platforms and no others, so add a dependency describing that. But also build the driver if the COMPILE_TEST option is enabled to have build coverage in other architectures. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> [olof: reworded commit message] Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 18d0dc24661b42c03074fc89bc89bc0f7c63d2bc Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Feb 27 06:37:48 2015 +0100 platform/chrome: cros_ec_lpc - Include linux/io.h header file The driver uses the inb() and outb() I/O functions so should include the header file that has these functions definitions. This patch fixes the following error when the header is not explicitly included: drivers/platform/chrome//cros_ec_lpc.c: In function â??ec_response_timed_outâ??: drivers/platform/chrome//cros_ec_lpc.c:40:3: error: implicit declaration of function â??inbâ?? [-Werror=implicit-function-declaration] drivers/platform/chrome//cros_ec_lpc.c: In function â??cros_ec_cmd_xfer_lpcâ??: drivers/platform/chrome//cros_ec_lpc.c:75:3: error: implicit declaration of function â??outbâ?? [-Werror=implicit-function-declaration] Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 88999ae23bbd490d14e15e22b4e8650c75e7e90a Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Feb 27 09:09:01 2015 +0800 platform/chrome: fix platform_no_drv_owner.cocci warnings drivers/platform/chrome/cros_ec_lpc.c:272:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Bill Richardson <wfrichar@xxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 377415abab7b49c982475990cd06eef9f33e2ccc Author: Olof Johansson <olofj@xxxxxxxxxxxx> Date: Tue Mar 3 13:22:33 2015 +0100 platform/chrome: cros_ec_lightbar - fix duplicate const warning Fix the following sparse warning: drivers/platform/chrome/cros_ec_lightbar.c:254:25: sparse: duplicate const Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Olof Johansson <olofj@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ef59c25d1be9539890c03c4915cdd4b868191b6f Author: Olof Johansson <olofj@xxxxxxxxxxxx> Date: Tue Mar 3 13:22:32 2015 +0100 platform/chrome: cros_ec_dev - fix Unknown escape '%' warning Fix the following sparse warning: drivers/platform/chrome/cros_ec_dev.c:64:45: sparse: Unknown escape '%' Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Olof Johansson <olofj@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0bbdb4258bd116d8cd5d209e8d5b29bae516e5b3 Merge: bd624d7 13a7a6a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Mar 4 20:00:05 2015 +0100 Merge tag 'v4.0-rc2' into timers/core, to refresh the tree before pulling more changes commit 35762a624f82dbea7c62177bf3ef0cde0d0f84bc Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Jan 23 16:38:03 2015 +0800 ARM: at91/dt: sama5d4: add ISI dt support Add ISI dt node and pinctrl settings in sama5d4.dtsi. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: sort nodes in order. remove useless comments] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0a5c5f84a51450c8772f4212d85262ddb8f75b14 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Fri Jan 9 17:11:05 2015 +0100 ARM: at91/dt: sama5d4: add pwm0 device node Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 83906783b7663b9245ea6d668c8af4b4697f463b Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Jan 9 16:58:57 2015 +0100 ARM: at91/dt: sama5d4: add aes, sha and tdes nodes Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 15ff964dd45877278aaae20c00ef5977138976c8 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Mon Feb 2 14:51:47 2015 +0800 ARM: at91: dt: sama5d4ek: enable audio Enable audio support for sama5d4ek board. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5afd9451cf6c20e8bbd0dc5713141295a1d8f38c Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Mon Feb 2 14:51:46 2015 +0800 ARM: at91: dt: sama5d4ek: add and enable wm8904 Add wm8904 codec node and enable it. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 06981c51f82464f946cea6843fd17cacfd4c59a6 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Mon Feb 2 14:51:45 2015 +0800 ARM: at91: dt: sama5d4ek: enable ssc0 Enable SSC0 node, which will be used for audio. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0697edd7b7c57b533f286e2101699af9ec59564d Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Mon Feb 2 14:51:44 2015 +0800 ARM: at91: dt: sama5d4: add ssc nodes Add SSC 0 and 1 nodes. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit df99d08ccd1db44bba746fea31de8e7bfb08c6d6 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Feb 26 16:05:14 2015 +0100 ARM: at91/dt: sama5d4 xplained: add i2c0 Add i2c0 aka twi0 on sama5d4 xplained board. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 38153a017896f3a23fa8b4eb41241a8681fc8d6b Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Mar 4 10:51:48 2015 +0800 ARM: at91/dt: sama5d4: add dts for sama5d4 xplained board Add at91 sama5d4 xplained board support. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 9917defd8c3928eb89729d1457d9bc438263a3a1 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Mar 4 10:51:47 2015 +0800 ARM: at91/dt: sama5d4: add #{address, size}_cells properties for macb0 macb0 DT node can have phy child nodes, so add the #{address, size}_cells for macb0 node. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 1bc54652767637d1be3515129777b83abc997fcc Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Mon Feb 9 17:40:20 2015 +0800 ARM: at91/dt: sama5d4ek: add leds in DT node Add the leds DT node in the dts file. In the leds, d10 is set as heartbeat led. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4cc7cdf35c5f8022fde2d5046a79b52967e390f5 Author: Philip Attfield <phil.attfield@xxxxxxxxxxx> Date: Fri Feb 6 14:52:56 2015 +0100 ARM: at91/dt: add i2c1 declaration to sama5d4 Add alias, node declaration and pinctrl for i2c1 (aka: twi1). Signed-off-by: Philip Attfield <phil.attfield@xxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4f74a4a642eb48e6638fb709039638881f6cf9ed Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Mar 4 18:31:03 2015 +0100 ARM: at91/dt: gpio-keys: address-cells and size-cells properties are not needed Gpio-keys nodes are not using the "reg" property in their sub nodes. So, there is no need to define #address-cells and #size-cells properties in gpio-keys nodes: we remove them in these new boards. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 6d39bb019f5ac1e48d8bdc4e88cef290a14058a5 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Wed Aug 13 12:58:21 2014 +0800 ARM: at91/dt: at91-sama5d3_xplained: add gpio-key pinctrl property Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8dafaa1f28e9113c19ead7d7e118669aace538af Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Mar 4 17:56:03 2015 +0100 ARM: at91/dt/trivial: correct file headers for SAMA5D3 SoC peripherals File name had at91 prefix, which is not the case anymore for SAMA5D3. AT91SAM9x5 was mentioned instead of SAMA5D3 SoC. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit cf05ea713144fe08d1207846fb592ff0985040c6 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Tue Feb 10 09:55:35 2015 +0800 ARM: at91/dt: at91sam9n12ek: enable udp Enable usb device port on at91sam9n12ek board. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 13f7ad3dc6dbb09ae232647058f18dedd69fce47 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Tue Feb 10 09:55:34 2015 +0800 ARM: at91/dt: at91sam9n12: add udp device node Add usb device node for at91sam9n12. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 3978d6b05ff39821890f0322782322f242350c1f Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Feb 12 16:06:25 2015 +0800 ARM: at91: at91sam9g25ek/dts: enable ISI and ov2640 Enable ISI and ov2640 for at91sam9g25ek board. Meantime, we need to disable the mmc1 and spi0 as they have pin conflict with ISI. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 436ea603c3779699f50ee0ff61c4d733496c2560 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Feb 12 16:06:24 2015 +0800 ARM: at91: at91sam9x5ek/dts: add ov2640 support Add the camera sensor ov2640 dt support. And connect sensor to isi node as well. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7f9acb109318ddf8bf5139804b065f137cbf8b47 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Feb 12 16:06:23 2015 +0800 ARM: at91: at91sam9x5/dts: add ISI dt support, include isi node, pinctrls Add a new file: at91sam9x5_isi.dtsi, which includes ISI node and pinctrls. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 2bf9eba14340a53776a742f2c8a0bfbd9c86d259 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Tue Mar 3 18:31:29 2015 +0800 ASoC: rt5670: Fix the speaker mono output issue We need to set left/right control for the speaker amp to get stereo output on speaker. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6742e15cf92a8dc3065843a627952ed518e08267 Author: Jyri Sarha <jsarha@xxxxxx> Date: Tue Mar 3 13:28:53 2015 +0200 ASoC: omap-pcm: Allow only formats with 1, 2, and 4 byte physical size sDMA support only transfer elements with 1, 2, and 4 byte physical size. Initialize the pcm driver accordingly. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4da4608c91308d0d15dd022074724446c15710dc Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Mar 3 16:45:21 2015 +0200 ASoC: davinci: Remove unused davinci-pcm platform driver All DAI drivers has been converted to use edma-pcm instead of davinci-pcm and the driver can be removed from the tree. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9759e7ef53138c5ab46ea516ad08977eb5770393 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Mar 3 16:45:20 2015 +0200 ASoC: davinci-mcasp: Deprecate the use of davinci-pcm in favor of edma-pcm The edma-pcm performs as good as the old davinci-pcm and it's use does not require the 'ping-pong' mode of davinci-pcm, which was introduced to overcome under/over flow issues when using davinci-pcm. Keep the SND_DAVINCI_SOC config option to select the SND_EDMA_SOC to avoid regression in audio support. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 62731d33c41d95914a0a796f319924e22e7ea411 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Mar 3 16:45:19 2015 +0200 ASoC: davinci-vcif: Convert to use edma-pcm The edma-pcm can replace the old davinci-pcm as platform driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 257ade78b6019cf1570c1239894a7a6a549768e1 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Mar 3 16:45:18 2015 +0200 ASoC: davinci-i2s: Convert to use edma-pcm The edma-pcm can replace the old davinci-pcm as platform driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4c03a5ebc7f75e98b32591d1d2c6758c811dcbef Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Mar 3 16:45:17 2015 +0200 ASoC: davinci: Select SND_EDMA_SOC when SND_DAVINCI_SOC is enabled edma-pcm going to replace davinci-pcm as platform driver for daVinci platform. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 77c71765ef78f87dd901fcb4c751908e835a3b2e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:45 2015 +0100 ASoC: Remove snd_soc_jack_new() There are no users of snd_soc_jack_new() left and new users should use snd_soc_card_jack_new() instead. So remove the function. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ba8cbb2f0fd9ff232fa19159e2646bf64135126 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:44 2015 +0100 ASoC: tegra_wm8903: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 783b1e7948010ded40eba784b558d86d72ae2ef4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:43 2015 +0100 ASoC: tegra_rt5677: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 00eafe3b1b191c9b2611b74c03e1b573ae257b1e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:42 2015 +0100 ASoC: tegra_rt5640: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d020e77c61b8a9d563d205cfcec7e71090d1377d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:41 2015 +0100 ASoC: tegra_max98090: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 12cc6d1dca4d3a9e929090cb0cf9ef452f414518 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:40 2015 +0100 ASoC: tegra_alc5632: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3fd94f37da000a2b562a3f4e6c553b7ab1ad9e19 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:39 2015 +0100 ASoC: tobermory: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 663976ad478b50664353fdf19a5a3dcad3cb4e22 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:38 2015 +0100 ASoC: speyside: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 55b2ed2d9dd8c611837f34ca29df881eb0a1de8d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:37 2015 +0100 ASoC: smartq: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e9c9a723eea5102fa6adedf454e02fff6201a3c3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:36 2015 +0100 ASoC: rx1950_uda1380: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f97e0eacf2b5d9c1a470e53df60519d555ac5a75 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:35 2015 +0100 ASoC: lowland: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 39ec5109d6089e1acd04b51b9df5349f5b8a7f5c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:34 2015 +0100 ASoC: littlemill: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dfe11f282c61808f7140d9dd741f7e54cf97cda6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:33 2015 +0100 ASoC: h1980_uda1380: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d30d141f9cb7eb9fb3f03af11146dc0d2b393ff2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:32 2015 +0100 ASoC: z2: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3b14125bc553a0fe091a5d43a22be41cdc43b156 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:31 2015 +0100 ASoC: ttc-dkb: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bc1e2e06a07ad4c0c021165b34fa8259bdf4d8c6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:30 2015 +0100 ASoC: palm27x: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f7a4433b498384f0e300c51b654910f3e03b5ca6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:29 2015 +0100 ASoC: hx4700: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 753d45e6b886c93a2a8a88eddaca345643a87f4e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:28 2015 +0100 ASoC: rx51: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da21cf6d65283680247da74c3d03f7e5cdfb40d1 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:27 2015 +0100 ASoC: omap-twl4030: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 25649592cfa6c210c9f86670472b864782c8d677 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:26 2015 +0100 ASoC: omap-abe-twl6040: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit df8c66189dd42f719c75800a526bdc901f300f41 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:25 2015 +0100 ASoC: ams-deltea: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af13cbc1a288d3921f1af739da84371e6c53aea3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:24 2015 +0100 ASoC: mfld_machine: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fb1edb4b68a829619bcd50a0c23c557000d0d638 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:23 2015 +0100 ASoC: cht_bsw_rt5645: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e0f7dd9d88f4c151aeca45d290e171d907249888 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:22 2015 +0100 ASoC: byt-max98090: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85c85e5d6d579a5ff8b5471c4e753946eedbf788 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:21 2015 +0100 ASoC: broadwell: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 47ec96d4ca7e4a7b9b8b115a10d59e89f794ef95 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:20 2015 +0100 ASoC: wm1133-ev: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 27cb64b474516421001932d966ca3184795d4e29 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:19 2015 +0100 ASoC: imx-es8328: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 386669fcec85a16cb81cd19236abe76abe0f1fc1 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:18 2015 +0100 ASoC: simple-card: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 970939964c26db4643f58d4e84487821962e0b65 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:17 2015 +0100 ASoC: Allow to register jacks at the card level Jacks are typically card level elements, but are currently registered with a CODEC. When it was originally introduced snd_soc_jack_new() took a snd_soc_card as its parameter, but at that time DAPM was only implemented at the CODEC level and there was only one CODEC per card. This made it clear which CODEC to use for the jack DAPM operations. But the multi-component patchset added support for having multiple CODECs per card and with it the API was updated to register jacks with a specific CODEC instance instead. Subsequently DAPM support at the card level has been introduced, but the snd_soc_jack_new() API has so remained unchanged. This leaves us with the issue that the DAPM pins that are managed by the jack detection logic usually are part of the card DAPM context but are accessed through a CODEC DAPM context. Currently this works fine, but might break in the future if we take a more hierarchical approach to DAPM contexts. Furthermore with componentization progressing systems that do not register a snd_soc_codec might appear, while these system may still want to able to register a jack. This patch addresses these issues by adding a new function called snd_soc_card_jack_new() that can be used to register jacks with the card rather than a CODEC. This new function is mostly identical to snd_soc_jack_new() except that it additionally allows to directly specify the DAPM pins associated with the jack. This was done since most users of snd_soc_jack_new() typically call snd_soc_jack_add_pins() right after it, which is not necessary with the new API and allows to reduce the amount of boiler plate code. The old snd_soc_jack_new() is re-implemented as a wrapper around snd_soc_card_jack_new(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c472b93990e02c31f02322ddf0fdd9d571169310 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:16 2015 +0100 ASoC: sn95031: Pass CODEC to sn95031_jack_detection() The sn95031 driver currently gets the CODEC implicitly from the jack that is passed to sn95031_jack_detection(). But the codec field is going to be removed from the snd_soc_jack struct, so refactor things to pass the CODEC explicitly. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d2b5851d8583e690eeb5ac8dfff5da92e1f1468f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Wed Mar 4 18:41:35 2015 +0200 mei: trace: fix missing include to linux/device.h Fix warning (discovered using randconfig) drivers/misc/mei/mei-trace.h:30:24: warning: 'struct device' declared inside parameter list TP_PROTO(const struct device *dev, const char *reg, u32 offs, u32 val), Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b43baf694fde30dc2db2386c347324d1a013f3d1 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Wed Mar 4 18:41:34 2015 +0200 mei: free me client references on host init Fx fixes leak introduced by: commit b7d885145538 ("mei: revamp me clients list handling") Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbb2d8a890733256d12b2c796eadaf54e70e9af5 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Wed Mar 4 11:24:55 2015 -0500 HID: Kconfig: add USB_HID dependency to UC-LOGIC In commit 08177f4 (HID: uclogic: merge hid-huion driver in hid-uclogic) HID_HUION depends explicitely on USB_HID because it contained quite some USB-isms. Now that hid-uclogic is the new home of Huion tablets, we need to also add the dependency on USB_HID to this driver. Reported-by: Jiri Kosina <jkosina@xxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7e08da50cf706151f324349f9235ebd311226997 Author: Jan Kara <jack@xxxxxxx> Date: Wed Mar 4 14:42:02 2015 +0100 quota: Fix maximum quota limit settings Currently quota format that supports 64-bit usage sets maximum quota limit as 2^64-1. However quota core code uses signed numbers to track usage and even limits themselves are stored in long long. Checking of maximum allowable limits worked by luck until commit 14bf61ffe6ac (quota: Switch ->get_dqblk() and ->set_dqblk() to use bytes as space units) because variable we compared with was unsigned. After that commit the type we compared against changed to signed and thus checks for maximum limits with the newest VFS quota format started to refuse any non-negative value. Later the problem was inadvertedly fixed by commit b10a08194c2b (quota: Store maximum space limit in bytes) because we started to compare against unsigned type as well. Fix possible future problems of this kind by setting maximum limits to 2^63-1 to avoid overflow issues. Reported-by: Carlos Carvalho <carlos@xxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 781970240a56d1c15a9b8ee37d28987b8182f060 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Thu Feb 12 19:08:16 2015 +0300 quota: reorder flags in quota state Flags in struct quota_state keep flags for each quota type and some common flags. This patch reorders typed flags: Before: 0 USRQUOTA DQUOT_USAGE_ENABLED 1 USRQUOTA DQUOT_LIMITS_ENABLED 2 USRQUOTA DQUOT_SUSPENDED 3 GRPQUOTA DQUOT_USAGE_ENABLED 4 GRPQUOTA DQUOT_LIMITS_ENABLED 5 GRPQUOTA DQUOT_SUSPENDED 6 DQUOT_QUOTA_SYS_FILE 7 DQUOT_NEGATIVE_USAGE After: 0 USRQUOTA DQUOT_USAGE_ENABLED 1 GRPQUOTA DQUOT_USAGE_ENABLED 2 USRQUOTA DQUOT_LIMITS_ENABLED 3 GRPQUOTA DQUOT_LIMITS_ENABLED 4 USRQUOTA DQUOT_SUSPENDED 5 GRPQUOTA DQUOT_SUSPENDED 6 DQUOT_QUOTA_SYS_FILE 7 DQUOT_NEGATIVE_USAGE Now we can get bitmap of all enabled/suspended quota types without loop. For example suspended: (flags / DQUOT_SUSPENDED) & ((1 << MAXQUOTAS) - 1). add/remove: 0/1 grow/shrink: 3/11 up/down: 56/-215 (-159) function old new delta __dquot_initialize 423 447 +24 dquot_transfer 181 197 +16 dquot_alloc_inode 286 302 +16 dquot_reclaim_space_nodirty 316 313 -3 dquot_claim_space_nodirty 314 311 -3 dquot_resume 286 281 -5 dquot_free_inode 332 324 -8 __dquot_alloc_space 500 492 -8 dquot_disable 1944 1929 -15 dquot_quota_enable 252 236 -16 __dquot_free_space 750 734 -16 dquot_writeback_dquots 625 608 -17 __dquot_transfer 1186 1154 -32 dquot_quota_sync 299 261 -38 dquot_active.isra 54 - -54 Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 69a25ee217ba8c93a6d4c6671d9208c0155c0485 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Thu Feb 12 12:36:49 2015 +0300 quota: paranoia: check quota tree root Root level in quota tree must be already allocated otherwise this block could be used for something else. Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 5bcd3b6f639c277ed7fa71f2f8ed6fb072615011 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Thu Feb 12 12:36:37 2015 +0300 quota: optimize i_dquot access Remove redundant calls of i_dquot(), keep pointer in local variable. add/remove: 0/0 grow/shrink: 3/7 up/down: 40/-278 (-238) function old new delta __dquot_free_space 734 750 +16 __dquot_alloc_space 484 500 +16 dquot_free_inode 324 332 +8 dquot_drop 82 69 -13 vfs_load_quota_inode 1357 1341 -16 dquot_reclaim_space_nodirty 348 316 -32 dquot_disable 1980 1944 -36 dquot_claim_space_nodirty 354 314 -40 __dquot_drop 125 83 -42 __dquot_initialize 522 423 -99 Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 8b28c93fe5a55873ce22b7126e84eb59290f8603 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Mar 4 15:37:01 2015 +0100 ALSA: usb-audio: Check Marantz/Denon USB DACs in a single place There are three places doing the same check. Let's make them together. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 33350e6b1833b15cf9c9c4c84d8534ad68b0c7b8 Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Tue Jan 27 16:03:57 2015 -0500 Mailbox: Restructure and simplify PCC mailbox code Previously the PCC driver depended on the client side to map the communication space base address. This region was was then used in the PCC driver and the client side. The client side used this region to read and write its data and the PCC driver used it to only write the PCC command. Removing this split simplifies the PCC driver a lot. This patch moves all communication region read/writes to the client side. The PCC clients can now drive the PCC mailbox controller via the mbox_client_txdone() method. Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> commit c39fb53b48c851b185c22548153581d78f2acc11 Author: Jan Kara <jack@xxxxxxx> Date: Tue Dec 16 16:12:27 2014 +0100 quota: Hook up Q_XSETQLIM for id 0 to ->set_info Setting timers or warning counts for id 0 via Q_XSETQLIM is used to actually set time limits and warning limits for all users. Hook up ->set_info to this so that VFS quota time limits get set the same way as XFS ones. When doing this Q_XSETQLIM for XFS is effectively split into two independent transactions - one for setting timers and warning limits and one for setting space and inode limits. Although this is inefficient, it is rare enough that it does not matter. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit c14cad9eed11343014f73aae4a77278239b201b8 Author: Jan Kara <jack@xxxxxxx> Date: Tue Dec 16 13:07:45 2014 +0100 xfs: Add support for Q_SETINFO Add support to XFS so that time limits can be set through Q_SETINFO quotactl. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 5eacb2ac029161d94969a511e0adf7dca28cda1f Author: Jan Kara <jack@xxxxxxx> Date: Tue Dec 16 12:03:51 2014 +0100 quota: Make ->set_info use structure with neccesary info to VFS and XFS Change ->set_info to take new qc_info structure which contains all the necessary information both for XFS and VFS. Convert Q_SETINFO handler to use this structure. Signed-off-by: Jan Kara <jack@xxxxxxx> commit 59b6ba699043e0f55d4057cf2ae79d9c1171bc58 Author: Jan Kara <jack@xxxxxxx> Date: Wed Nov 19 16:44:58 2014 +0100 quota: Remove ->get_xstate and ->get_xstatev callbacks These callbacks are now unused. Remove them. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit e54b2e2d723f138df35de0bf1f8262da116ca6fa Author: Jan Kara <jack@xxxxxxx> Date: Wed Nov 19 16:41:07 2014 +0100 gfs2: Convert to using ->get_state callback Convert gfs2 to use ->get_state callback instead of ->get_xstate. Acked-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 5d3684c2823bcf14a14bc7117c56c592f27815b9 Author: Jan Kara <jack@xxxxxxx> Date: Wed Nov 19 12:03:59 2014 +0100 xfs: Convert to using ->get_state callback Convert xfs to use ->get_state callback instead of ->get_xstate and ->get_xstatev. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit bc230e4a2326e30476092ed967fced0e43667c82 Author: Jan Kara <jack@xxxxxxx> Date: Wed Nov 19 16:17:45 2014 +0100 quota: Wire up Q_GETXSTATE and Q_GETXSTATV calls to work with ->get_state Add appropriate conversion functions so that filesystems supporting ->get_state() method can be queried using Q_GETXSTATE and Q_GETXSTATV calls. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 0a240339a8deeb13a19043389bba4285a6c0592e Author: Jan Kara <jack@xxxxxxx> Date: Wed Nov 19 00:42:09 2014 +0100 quota: Make VFS quotas use new interface for getting quota info Create new internal interface for getting information about quota which contains everything needed for both VFS quotas and XFS quotas. Make VFS use this and hook it up to Q_GETINFO. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit f224b572dcc86017d793c047c92c8479f5a6ae14 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:14 2015 +0100 ARM: mvebu: enable Armada 39x in mvebu_v7_defconfig Following the introduction of the Marvell Armada 39x support, let's enabled it by default in mvebu_v7_defconfig. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 538da83ddbeaa422a48e9bd0a12a0bc246c567f4 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:12 2015 +0100 ARM: mvebu: add Device Tree files for Armada 39x SoC and board This commit adds the Device Tree files for the Armada 39x family of processors, as well as one Armada 398 Development Board. Like for other Marvell EBU families, a common armada-39x.dtsi contains the description of the common features of all Armada 39x SoCs, while armada-390.dtsi and armada-398.dtsi respectively describe the specificities of those SoCs. Finally, an armada-398-db.dts file is added to describe the Armada 398 Development Board itself. So far, the following features are supported: * SMP: dual Cortex-A9 * Basic ARM IPs: SCU, timer, GIC, L2 cache * Basic Marvell IPs: pin-muxing, clocks, system controller, MBus controller, MPIC interrupt controller, timer, CPU reset for SMP, PMSU. * I2C * SPI * SDHCI * XOR * NAND * UART * PCIe Additional features will be supported in the future. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 0d9ab18e337609b010800ac493c588b0a24c2dd2 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:13 2015 +0100 Documentation: arm: update supported Marvell EBU processors Now that we support Armada 39x, let's add this family of SoC to the Marvell documentation, and a reference to a link with more details about those processors. Unfortunately, no datasheet is publicly available at this time. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 242ede0bdd2bc6fb2057ddc98cce90043008127f Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:11 2015 +0100 ARM: mvebu: add core support for Armada 39x This commit adds the core support for Armada 39x, which is quite simple: - a new Kconfig option which selects the appropriate clock and pinctrl drivers as well as other common features (GIC, L2 cache, SMP, etc.) - a new DT_MACHINE_START which references the top-level compatible strings supported for the Marvell Armada 39x. - a new SMP enable-method. The mechanism to enable CPUs for Armada 39x appears to be the same as Armada 38x. However, we do not want to use marvell,armada-380-smp in the Device Tree, in the case of the discovery of a subtle difference in the future, which would require changing the Device Tree. And the enable-method isn't a compatible string: you can't specify several values and expect a fallback on the second string if the first one isn't supported. Therefore, we simply declare the SMP enable method "marvell,armada-390-smp" as doing the same thing as the "marvell,armada-380-smp" one. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 007fa9467f8f5607bb36b4a2bf31316a7e5b06ff Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:07 2015 +0100 devicetree: bindings: add new SMP enable method for Marvell Armada 39x This commit updates the ARM CPUs Device Tree binding to document a new enable method of Marvell Armada 39x processors. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit e9d119a1faa5bb386953283748999dc970bc255d Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:04 2015 +0100 devicetree: bindings: add DT binding for the Marvell Armada 39x SoC family The Marvell Armada 39x is a family of two SoCs: the Armada 390 and the Armada 398, with a slightly different number of interfaces. This commit introduces the Device Tree binding that documents the top-level compatible strings for Armada 39x based platforms. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 8da6f3c1662a74a39b5ebc773ee27a949b5d7658 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:09 2015 +0100 clk: mvebu: add Marvell Armada 39x driver This commit adds a new clock driver for the Marvell Armada 39x family of processors. This driver is fairly similar to the ones already used on other Marvell EBU processors, with the following main differences: * Different set of ratios * Different set of core clocks * Configurable reference clock in frequency Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 42b5f40610fd222a9e7100f5b77582940bfdcbde Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:08 2015 +0100 clk: mvebu: extend common code to allow an optional refclk The Armada 39x, contrary to its predecessor, has a configurable reference clock frequency, of either 25 Mhz, or 40 Mhz. For the previous SoCs, it was fixed to 25 Mhz and described directly as such in the Device Tree. For Armada 39x, we need to read certain registers to know whether the frequency is 25 or 40 Mhz. Therefore, this commit extends the common mvebu clock code to allow the SoC-specific code to say it wants to register a reference clock, by giving a non-NULL ->get_refclk_freq() function pointer in its coreclk_soc_desc structure. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 9baf96886780c3ec137350da3c6418c825b2dd0a Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:05 2015 +0100 devicetree: bindings: update DT bindings for Marvell EBU clock support With the introduction of the Marvell Armada 39x SoC, the DT bindings for Marvell EBU clocks need to be extended. This commit include the corresponding update to the Device Tree bindings documentation. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit e61b8370d7e4ef40194bc62d6e22f3c95f4a01ec Merge: c517d83 2141102 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Mar 4 15:17:23 2015 +0100 Merge tag 'at91-fixes' into at91-4.1-dt First fixes batch for AT91 on 4.0: - PM slowclock fixes for DDR and timeouts - fix some DT entries - little defconfig updates - the removal of a harmful watchdog option + its detailed documentation commit 24c2573bdb9203259a822a4e3ed90795b273d3ab Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:03 2015 +0100 ARM: mvebu: fix unit address of MPIC nodes The Device Tree nodes describing the MPIC nodes on Armada 370, 375, 38x and XP had a unit address that did not match the first reg property, as suggested by the ePAPR. This commit fixes that. [gregory.clement@xxxxxxxxxxxxxxxxxx: removed the armada-38x part, as it was already applied by a previous patch] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 9552203cb08b9802e17f19bd5c786d6a2281a04a Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:02 2015 +0100 ARM: mvebu: use stdout-path in all armada-*.dts This commit adds the stdout-path property in /chosen for all Armada boards that were not yet carrying this property, and gets rid of /chosen/bootargs which becomes unneeded: earlyprintk should not be used by default, and the console= parameter is replaced by the /chosen/stdout-path property. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit bf6acf1657ab906531549d3e8fbe9027d90e4c86 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:01 2015 +0100 ARM: mvebu: add serial port aliases on Armada 370/375/38x/XP This commit adds 'serialX' aliases for the various serial ports on Armada 370, 375, 38x and XP platforms. It will allow the usage of the stdout-path property. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 9574b2fb1cf7f6bab48714f5cf9e5382b8ca1685 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:00 2015 +0100 ARM: mvebu: remove aliases for Ethernet devices on Armada 370/375/38x/XP Having aliases for Ethernet devices is useless, since the networking subsystem unfortunately doesn't care about aliases to name network interfaces. Note that the 'aliases' nodes in armada-370-xp.dtsi and armada-xp.dtsi become empty, but that we keep it as is since a followup patch will re-add some aliases to it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 43e58e90f8f9c69a453b9889f66e4562eb99b32b Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:40:59 2015 +0100 ARM: mvebu: add UART labels to Armada 375 This commit adds the standard uart0 and uart1 DT labels to the Device Tree description of the Marvell Armada 375 SoC. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 8a48dccb8350ad6c1f91b9f8306e555cd38b25e8 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:40:58 2015 +0100 ARM: mvebu: add missing UART labels on Armada 38x The Armada 38x had a label for UART0, but not UART1. This commit fixes that. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a165c3b63b6f24fdc47c270db5f8b1a48b69c1b6 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:40:57 2015 +0100 ARM: mvebu: fix usb@ unit address on Armada 38x to match register address On Marvell Armada 38x, the USB2 controller registers are at 0x58000, so the corresponding Device Tree node should have a unit address of 58000, and not 50000. We were using 50000 due to an incorrect copy/pastebin of Armada 370/XP code. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit bc2d7a58b9a48e4c1f35fadb30223ca87c59d50f Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:40:56 2015 +0100 ARM: mvebu: add __initconst specifiers on DT_MACHINE_START dt_compat tables As suggested by Stephen Boyd, this commit adds the __initconst specifier to the dt_compat table declarations used by the DT_MACHINE_START structures in mach-mvebu land. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit cffb41f3eeaae77c0c747f671a2809a790d1413f Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Feb 13 13:30:16 2015 +0100 ath10k: disable multi-vif ps by default Not all firmware revisions have a proper multi-interface client powersaving implementation, e.g. qca6174 WLAN.RM.2.0-00073. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0a987fb0069e83be32bb21e07d335d2a3d7e7f5e Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Feb 13 13:30:15 2015 +0100 ath10k: workaround qca6174 sta powersave issue qca6184 WLAN.RM.2.0-00073 has a bug in sta powersave state machine and requires peer param to be poked to enable the powersave. Calling this unconditionally should be safe for other chips/firmwares. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2a2dbd8b411028151a8adb09db3395a95769b4bb Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:16:45 2015 +0100 ARM: mvebu: a385-db-ap: Enable the NAND The Armada 385 Access Point Development Board has a 1GB NAND SLC chip from Micron as its main storage. Enable it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 924361249de339123e15d78c1d95dd450a6e3f03 Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Feb 28 21:20:48 2015 +0100 ARM: ARMADA XP: WRT1900AC: Add support for the Ethernet switch Add a DSA section to the DT blob representing the Ethernet switch. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit ef34481712067205ca3a9ca52c8484550702b4e2 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Wed Feb 25 19:00:19 2015 +0100 ARM: Kirkwood: enable GPIO fan alarm support for 2Big Network v2 On the LaCie 2Big Network v2 (net2big_v2) board, the fan alarm is not wired to the I2C fan controller but to a separe GPIO. This GPIO can be controlled by using the gpio-fan driver. This patch adds the gpio-fan alarm description in the net2big_v2 DTS. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 1d7b0839941c6ee883c001716611949448f20a79 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 10:51:17 2015 +0100 ARM: mvebu: Fix MPIC unit address The unit-address is supposed to be equal the first reg address, which is not the case for the MPIC, that uses the mbus-controller one. Fix this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 1a1b9d2571fb521985616573bfa6bdb5f80c8b32 Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Tue Feb 17 19:52:07 2015 +0100 ARM: dts: dove: Add some more common pinctrl settings This add common pinctrl settings for pcie[01]_clkreq, spi1, i2c[23], and internal i2c mux. These settings have either one or two options only, so put them into the SoC dtsi instead of repeating them on board level. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 1feb57a245a4910b03202a814ffc51a900bd4aca Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Wed Jan 21 22:33:46 2015 +0100 gpio: add parameter to allow the use named gpios The gpio binding document says that new code should always use named gpios. Patch 40b73183 added support to parse a list of gpios from child nodes, but does not make it possible to use named gpios. This patch adds the con_id property and implements it is done in gpiolib.c, where the old-style of using unnamed gpios still works. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ee086577abe7f7ccf5f64a33479a36e22710b7d0 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 16:57:53 2015 +0100 pinctrl: mvebu: add pinctrl driver for Marvell Armada 39x This commit adds a new pinctrl driver for the Marvell Armada 39x family of processors, which hooks into the existing infrastructure to support pin-muxing on Marvell EBU processors. Two variants of the Armada 39x are supported: 88F6920 (Armada 390) and 88F6928 (Armada 398), which have a few differences in the available functions for certain pins. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b80eef95beb04760629822fa130aeed54cdfafca Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 16:49:09 2015 +0100 gpio: pcf857x: Propagate wake-up setting to parent irq controller The pcf857x GPIO and interrupt controller uses dummy_irq_chip, which does not implement irq_chip.irq_set_wake() and does not set IRQCHIP_SKIP_SET_WAKE. This causes two s2ram issues if wake-up is enabled for the pcf857x GPIO pins: 1. During resume from s2ram, the following warning is printed: WARNING: CPU: 0 PID: 1046 at kernel/irq/manage.c:537 irq_set_irq_wake+0x9c/0xf8() Unbalanced IRQ 113 wake disable 2. Wake-up through the pcf857x GPIO pins may fail, as the parent interrupt controller may be suspended. Migrate the pcf857x GPIO and interrupt controller from dummy_irq_chip to its own irq_chip. This irq chip implements irq_chip.irq_set_wake() to propagate its wake-up setting to the parent interrupt controller. This fixes wake-up through gpio-keys on sh73a0/kzm9g, where the pcf857x interrupt is cascaded to irq-renesas-intc-irqpin, and the latter must not be suspended when wake-up is enabled. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a39294bdf4b03803156c771968a6e2ba6ebb505b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 16:49:08 2015 +0100 gpio: pcf857x: Switch to use gpiolib irqchip helpers Switch the PCF857x GPIO driver to use the gpiolib irqchip helpers. This driver uses a nested threaded interrupt, hence handle_nested_irq() and gpiochip_set_chained_irqchip() must be used. Note that this removes the checks added in commit 21fd3cd1874a2ac8 ("gpio: pcf857x: call the gpio user handler iff gpio_to_irq is done"), as the interrupt mappings are no longer created on-demand by the driver, but by gpiochip_irqchip_add() during initialization. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e921eea8e7d4457f424bc3f821cb836e35b91f88 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 12:05:00 2015 +0100 dmaengine: Remove memset leftovers Commit 48a9db462d99 ("drivers/dma: remove unused support for MEMSET operations") removed support for the memset operation in dmaengine, but left the fill_aligned field that was supposed to set the buffer alignment for the memset operations. Remove that field too. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c8c60cfd18e1ddf8f1b9ef76a49d7d1b08ea7a2d Author: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Date: Tue Feb 10 12:38:15 2015 +0100 ath10k: fix wmm params per vdev During wmm tests changing wmm parameters did not change anything. This was because of mismatch in WMM params per vdev command. WMM params per vdev uses different command structure than wmm params per pdev command. Patch concerns qca6174. Signed-off-by: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6383864053cc456aa82847cd910257deaa34eb5a Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Feb 9 15:04:55 2015 +0100 ath10k: workaround corrupted htt rx events qca6174 WLAN.RM.2.0-00073 firmware uses full rx reordering offload and delivers Rx via a new HTT event. The event however is incorrectly generated in firmware and becomes overly long (with trailing garbage). This was hitting defined CE buffer limit that was programmed to the device and caused device to crash upon busier Rx traffic. Increasing the CE buffer limit for HTT Rx pipe to 2KBytes seems to be enough to workaround this problem. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit db2cf865c75792f2e52596bf3e94e9a98272becf Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 4 19:30:23 2015 +0100 ath10k: delete unnecessary checks before the function call "release_firmware" The release_firmware() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 41f03a00536ebb3d72c051f9e7efe2d4ab76ebc8 Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Tue Mar 3 11:32:58 2015 -0300 [media] s5p-mfc: Fix NULL pointer dereference caused by not set q->lock The patch "media: s5p-mfc: use vb2_ops_wait_prepare/finish helper" (654a731be1a0b6f606f3f3d12b50db08f2ae3c3) introduced a kernel panic. The q->lock was set for just one queue, the other was not set thus causing a NULL pointer dereference. Reported-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f7cbd688f039a3adefc9210226b7edf5bd8fd6cd Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Feb 25 08:53:49 2015 -0300 [media] s5p-jpeg: exynos3250: fix erroneous reset procedure The first while loop in the function exynos3250_jpeg_reset had no chance to be executed because the reg variable was initialized to 0. Initialize reg variable to 1 to fix the issue. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Reported-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3987c98461e3886031a563679cf22e73ba900b5a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Jan 29 13:13:08 2015 -0300 [media] s5p-tv: hdmi needs I2C support Building the s5p-tv HDMI support when CONFIG_I2C is disabled gives us this build error: s5p-tv/hdmi_drv.c: In function 'hdmi_probe': s5p-tv/hdmi_drv.c:947:2: error: implicit declaration of function 'i2c_get_adapter' [-Werror=implicit-function-declaration] adapter = i2c_get_adapter(pdata->hdmiphy_bus); ^ This patch changes the Kconfig description to include I2C as a dependency for this driver, so it cannot be configured incorrectly. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 940f700dfbe91d37a56ebd26e0a7a681d387326a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Feb 20 13:52:01 2015 +0300 iommu/amd: Small cleanup in mn_release() "pasid_state->device_state" and "dev_state" are the same, but it's nicer to use dev_state consistently. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit cb0c3f5f1b888fa0283c2581c91bb10728ac1b22 Author: Tony K Nadackal <tony.kn@xxxxxxxxxxx> Date: Wed Dec 17 04:21:21 2014 -0300 [media] s5p-jpeg: Initialize cb and cr to zero To avoid garbage value written into image base address planes, initialize cb and cr of structure s5p_jpeg_addr to zero. Signed-off-by: Tony K Nadackal <tony.kn@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1a6ab46fa9c2bc9399694b4856ab7ea19c036485 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Mar 4 10:56:13 2015 +0900 ALSA: Fix spelling typo in Documentation/DocBook/alsa-driver-api.xml This patch fix spelling typo found in alsa-driver-api.xml. It is because this file is generated from comments in source files, I have to fix source files. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6b516a1093006a39368dd11a5396be5bb00c99df Author: Benoit Parrot <bparrot@xxxxxx> Date: Mon Feb 2 11:44:45 2015 -0600 gpio: Document GPIO hogging mechanism Add GPIO hogging documentation to gpio.txt Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f625d4601759f1cf1fd3ae58abeb0e203b8993b1 Author: Benoit Parrot <bparrot@xxxxxx> Date: Mon Feb 2 11:44:44 2015 -0600 gpio: add GPIO hogging mechanism Based on Boris Brezillion's work this is a reworked patch of his initial GPIO hogging mechanism. This patch provides a way to initially configure specific GPIO when the GPIO controller is probed. The actual DT scanning to collect the GPIO specific data is performed as part of gpiochip_add(). The purpose of this is to allow specific GPIOs to be configured without any driver specific code. This is particularly useful because board design are getting increasingly complex and given SoC pins can now have more than 10 mux values, a lot of connections are now dependent on external IO muxes to switch various modes. Specific drivers should not necessarily need to be aware of what accounts to a specific board implementation. This board level "description" should be best kept as part of the dts file. Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 560676282e19a9cb99378547530aca3d085eb99f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 3 22:09:05 2015 +0100 mac80211_hwsim: fix beacon timers Jouni reported that certain combinations of hwsim test cases failed, and we found that beaconing was erroneously enabled too early on any channel switch, which lead to the BI of 2000 TU from the first test case to leak into the second one, which then didn't beacon properly. To fix this, set data->beacon_int to zero when all stop beaconing so that beaconing cannot be started (which was intended as 'restarted') elsewhere. Additionally, Jouni found that due to this 'restart' and the beacon interval handling station interfaces would also have a needlessly running beacon timer all the time, of course not doing anything. To also fix the latter case only use the beacon interval when it's actually needed, i.e. when beaconing gets enabled. Reported-by: Jouni Malinen <j@xxxxx> Tested-by: Jouni Malinen <j@xxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0df2f6c11813a3e522f72f6998b00ae8e17dd4df Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Mar 2 04:54:14 2015 -0500 mesh_plink: fixup type of timeout to match usage timeout was being passed as int but assigned from u32/u16 values and used as unsigned type. This is really only for better readability. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cc57ac536a88604824aca1d3c874fd5252f1e867 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Mar 2 04:54:13 2015 -0500 mesh_plink: use msecs_to_jiffies for proper time conversion This is primarily an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var) which also handles corner cases correctly. There is a change of behavior as e.g. for HZ 100, t * HZ / 1000 will return 0 for t < 10 but msecs_to_jiffies will return at least 1 always. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 64a8cef41a8ce694b59ec75ae52688f58925693c Author: SenthilKumar Jegadeesan <sjegadee@xxxxxxxxxxxxxxxx> Date: Mon Mar 2 13:29:40 2015 +0530 mac80211: provide station PMF configuration to driver Some device drivers offload part of aggregation including AddBA/DelBA negotiations to firmware. In such scenario, the PMF configuration of the station needs to be provided to driver to enable encryption of AddBA/DelBA action frames. Signed-off-by: SenthilKumar Jegadeesan <sjegadee@xxxxxxxxxxxxxxxx> [fix commit log, documentation] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3384d757d41521a3dee274ed2802bcd285ed8e62 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 1 09:10:15 2015 +0200 mac80211: allow iterating inactive interfaces Sometimes the driver might want to modify private data in interfaces that are down. One possible use-case is cleaning up interface state after HW recovery. Some interfaces that were up before the recovery took place might be down now, but they might still be "dirty". Introduce a new iterate_interfaces() API and a new ACTIVE iterator flag. This way the internal implementation of the both active and inactive APIs remains the same. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 98fc43864af9e74116eec81c290db048cded15d8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Mar 1 09:10:13 2015 +0200 nl80211: prohibit mixing 'any' and regular wowlan triggers If the device supports waking up on 'any' signal - i.e. it continues operating as usual and wakes up the host on pretty much anything that happens, then it makes no sense to also configure the more restricted WoWLAN mode where the device operates more autonomously but also in a more restricted fashion. Currently only cw2100 supports both 'any' and other triggers, but it seems to be broken as it doesn't configure anything to the device, so we can't currently get into a situation where both even can correctly be configured. This is about to change (Intel devices are going to support both and have different behaviour depending on configuration) so make sure the conflicting modes cannot be configured. (It seems that cw2100 advertises 'any' and 'disconnect' as a means of saying that's what it will always do, but that isn't really the way this API was meant to be used nor does it actually mean anything as 'any' always implies 'disconnect' already, and the driver doesn't change device configuration in any way depending on the settings.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 88724a81b4ac2a755bf9c532cdbee08a52803852 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Mar 1 09:10:12 2015 +0200 mac80211: check and dequeue skb in ieee80211_tx_prepare_skb() The ieee80211_tx_prepare_skb() function currently entirely ignores the fact that the SKB that is passed in might be split into more than one due to fragmentation and doesn't check the list of skbs that the TX handlers may create. In case this happens, it would leak them. Fix this and also don't leave the skb next/prev pointers dangling pointing to the on-stack sk_buff_head. Reported-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0b4e11074a933937ee75be371d32bf91a0051419 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Sun Mar 1 09:10:10 2015 +0200 mac80211: remove duplicate check for quiescing when queueing work In ieee80211_queue_work() we check if we're quiescing or suspended, so it's not necessary to check for quiescing before calling this function. Remove duplicate checks. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ae2e9fba85f69e0b53b1ef15e3011ce09ac1b9f2 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 1 09:10:09 2015 +0200 mac80211: allow TDLS setup code to take wdev lock TDLS off-channel can be allowed in channels marked with GO_CONCURRENT, provided the device is connected to an AP on the same UNII. When relaxing the NO-IR requirements for TDLS, we might hit flows in cfg80211_reg_can_beacon that acquire the wdev lock. Take some measures to allow this during TDLS setup. Acquire the RCU read lock later in the flow that invokes cfg80211_reg_can_beacon. Avoid taking local->mtx when preparing the setup packet to avoid circular deadlocks with mac80211 code that is invoked with wdev-mtx held. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 23e370989c3fe6b9b2062d9d511feda800434de3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Mar 1 09:10:08 2015 +0200 mac80211: start queues if driver rejected wowlan If the driver rejects WoWLAN, restart the queues before returning to cfg80211. cfg80211 will return to mac80211, but not before it disconnects all interfaces. If we don't start the queues, any of the packets needed for disconnecting won't be transmitted, which is strange. Fix that. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8bb6f4b9c50eef838931e0e667f1a451f34a76ae Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Sun Mar 1 09:10:07 2015 +0200 mac80211: remove useless double check for open_count in __ieee80211_suspend() We check local->open_count at the top of the __ieee80211_suspend(), so there's no need to check for it again. open_count is protected by the rtnl, so there's no chance for it to have change between the two calls. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ef7c67257c9a0765bd1a53f83fd63d55a0f7b224 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Mar 1 09:10:06 2015 +0200 mac80211: don't do driver suspend with auth/assoc in progress Drivers can't really be expected to suspend properly while auth or assoc is in progress since then they don't have any state they could keep with WoWLAN, nor can they actually finish the authentication or association. In fact, keeping this can cause subtle issues with drivers like iwlwifi that refuse WoWLAN if not associated, but have trouble figuring out what's going on in the middle of association. In any case, regardless of possible driver issues in this area, it doesn't make sense for mac80211 to try to WoWLAN-suspend in the middle of such operations, so stop them before. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 37821da088d090d8e152f3f8cc072948fa544e5a Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Mar 1 20:40:17 2015 +0100 crypto: drbg - remove superflowous memsets The DRBG code contains memset(0) calls to initialize a varaible that are not necessary as the variable is always overwritten by the processing. This patch increases the CTR and Hash DRBGs by about 5%. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 04bcbfcf7e28ba502383a8e19d99960ab8e347c8 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Mar 1 20:39:17 2015 +0100 crypto: drbg - use single block cipher API The CTR DRBG only encrypts one single block at a time. Thus, use the single block crypto API to avoid additional overhead from the block chaining modes. With the patch, the speed of the DRBG increases between 30% and 40%. The DRBG still passes the CTR DRBG CAVS test. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e8e5995372ac3fc63995915dcb351f38a3560018 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Mar 1 19:30:46 2015 +0100 crypto: powerpc/md5 - kernel config Integrate the module into the kernel config tree. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e90508d3b0866c29146535576931356aba072a86 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Mar 1 19:30:41 2015 +0100 crypto: powerpc/md5 - glue Glue code for crypto infrastructure. Call the assembler code where required. Take a little care about small input data. Kick out early for input chunks < 64 bytes and replace memset for context cleanup with simple loop. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 209232d02586bc9b69ce028d22ae2512910f9e7f Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Mar 1 19:30:35 2015 +0100 crypto: powerpc/md5 - assembler This is the assembler code for the MD5 implementation. Handling of algorithm constants has been slightly changed to reduce register usage and make better use of cores with multiple ALUs. Thus they are stored as delta values. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit be208356762c3609dc05d0f187be87fd60d8d32e Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Sat Feb 28 20:40:10 2015 +0000 crypto: atmel - fix typo in dev_err error message Fix typo, "intialization" -> "initialization" Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 44cac4fce9b820c37a8792df52a0e4ce33201949 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sat Feb 28 20:50:40 2015 +0100 crypto: algif - enable AEAD interface compilation Enable compilation of the AEAD AF_ALG support and provide a Kconfig option to compile the AEAD AF_ALG support. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 400c40cf78da00c16e561a3a253ca272455c42ef Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sat Feb 28 20:50:00 2015 +0100 crypto: algif - add AEAD support This patch adds the AEAD support for AF_ALG. The implementation is based on algif_skcipher, but contains heavy modifications to streamline the interface for AEAD uses. To use AEAD, the user space consumer has to use the salg_type named "aead". The AEAD implementation includes some overhead to calculate the size of the ciphertext, because the AEAD implementation of the kernel crypto API makes implied assumption on the location of the authentication tag. When performing an encryption, the tag will be added to the created ciphertext (note, the tag is placed adjacent to the ciphertext). For decryption, the caller must hand in the ciphertext with the tag appended to the ciphertext. Therefore, the selection of the used memory needs to add/subtract the tag size from the source/destination buffers depending on the encryption type. The code is provided with comments explaining when and how that operation is performed. A fully working example using all aspects of AEAD is provided at http://www.chronox.de/libkcapi.html Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7b24d97f16f561cc90eab1658100598d54a414fd Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Fri Feb 27 20:00:00 2015 +0100 crypto: doc - describe internal structure The kernel crypto API has many indirections which warrant a description as otherwise one can get easily lost. The description explains the layers of the kernel crypto API based on examples. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 01e84c70fe40c8111f960987bcf7f931842e6d07 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Feb 27 11:02:38 2015 +0300 xtensa: provide __NR_sync_file_range2 instead of __NR_sync_file_range xtensa actually uses sync_file_range2 implementation, so it should define __NR_sync_file_range2 as other architectures that use that function. That fixes userspace interface (that apparently never worked) and avoids special-casing xtensa in libc implementations. See the thread ending at http://lists.busybox.net/pipermail/uclibc/2015-February/048833.html for more details. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit d44679ab13ee5f2f2b80e1bfa039a6eeb20ec41e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Feb 27 10:48:19 2015 +0300 xtensa: wire bpf and execveat syscalls Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 400aff5da5f2c202e8ff2679005981583234df54 Author: Aaron Wu <Aaron.wu@xxxxxxxxxx> Date: Tue Feb 10 17:40:36 2015 +0800 bfin_can: Merge header file from arch dependent location Header file was in arch dependent location arch/blackfin/include/asm/bfin_can.h, Now move and merge the useful contents of header file into driver code, note the original header file is reserved for full registers set access test by other code so it survives. Signed-off-by: Aaron Wu <Aaron.wu@xxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit dead83894c7bb5b12005cc37c129247ee53fbdda Author: Aaron Wu <Aaron.wu@xxxxxxxxxx> Date: Tue Feb 10 17:40:35 2015 +0800 bfin_can: introduce ioremap to comply to archs with MMU Blackfin was built without MMU, old driver code access the IO space by physical address, introduce the ioremap approach to be compitable with the common style supporting MMU enabled arch. Signed-off-by: Aaron Wu <Aaron.wu@xxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit e4936e01d0fe5204879c3eb1d4897372ba3b56c5 Author: Aaron Wu <Aaron.wu@xxxxxxxxxx> Date: Tue Feb 10 17:40:34 2015 +0800 bfin_can: rewrite the blackfin style of read/write to common ones Replace the blackfin arch dependent style of bfin_read/bfin_write with common readw/writew Signed-off-by: Aaron Wu <Aaron.wu@xxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit c7f585fe46d834d5837db7fbe205c46b94f81dc2 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Mon Mar 2 19:10:34 2015 +0900 mfd: max77843: Add max77843 MFD driver core driver This patch adds MAX77843 core/irq driver to support PMIC, MUIC(Micro USB Interface Controller), Charger, Fuel Gauge, LED and Haptic device. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Signed-off-by: Beomho Seo <beomho.seo@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d3591df3fada3f4cd6cf60f0f56e87744749018d Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Sun Feb 22 13:15:30 2015 +0100 mfd: dt-bindings: Add bindings for the MediaTek MT6397 PMIC Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6df8dd5c185b212d3d7364402df58bff0e67ace4 Author: Flora Fu <flora.fu@xxxxxxxxxxxx> Date: Sun Feb 22 13:15:29 2015 +0100 mfd: Add support for the MediaTek MT6397 PMIC This adds support for the MediaTek MT6397 PMIC. This is a multifunction device with the following sub modules: - Regulator - RTC - Audio codec - GPIO - Clock It is interfaced to the host controller using SPI interface by a proprietary hardware called PMIC wrapper or pwrap. MT6397 MFD is a child device of the pwrap. Signed-off-by: Flora Fu, MediaTek Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f8e92fb4b0ffc4d62279ab39f34e798e37e90b0b Merge: d2c032e dfecb95 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Mar 4 06:33:49 2015 +0100 Merge tag 'alternatives_padding' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/asm Pull alternative instructions framework improvements from Borislav Petkov: "A more involved rework of the alternatives framework to be able to pad instructions and thus make using the alternatives macros more straightforward and without having to figure out old and new instruction sizes but have the toolchain figure that out for us. Furthermore, it optimizes JMPs used so that fetch and decode can be relieved with smaller versions of the JMPs, where possible. Some stats: x86_64 defconfig: Alternatives sites total: 2478 Total padding added (in Bytes): 6051 The padding is currently done for: X86_FEATURE_ALWAYS X86_FEATURE_ERMS X86_FEATURE_LFENCE_RDTSC X86_FEATURE_MFENCE_RDTSC X86_FEATURE_SMAP This is with the latest version of the patchset. Of course, on each machine the alternatives sites actually being patched are a proper subset of the total number." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d2c032e3dc58137a7261a7824d3acce435db1d66 Merge: 7e8e385 13a7a6a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Mar 4 06:35:43 2015 +0100 Merge tag 'v4.0-rc2' into x86/asm, to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27db730c4f5ed524235b06523f2dae4961d3aa98 Merge: ee23393 8de147d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 00:26:13 2015 -0500 Merge branch 'basic-mpls-support' Eric W. Biederman says: ==================== Basic MPLS support take 2 On top of my two pending neighbour table prep patches here is the mpls support refactored to use them, and edited to not drop routes when an interface goes down. Additionally the addition of RTA_LLGATEWAY has been replaced with the addtion of RTA_VIA. RTA_VIA being an attribute that includes the address family as well as the address of the next hop. MPLS is at it's heart simple and I have endeavoured to maintain that simplicity in my implemenation. This is an implementation of a RFC3032 forwarding engine, and basic MPLS egress logic. Which should make linux sufficient to be a mpls forwarding node or to be a LSA (Label Switched Router) as it says in all of the MPLS documents. The ingress support will follow but it deserves it's own discussion so I am pushing it separately. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8de147dc8e2adea82b8a1a2a08fcc983330f6770 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:14:31 2015 -0600 mpls: Multicast route table change notifications Unlike IPv4 this code notifies on all cases where mpls routes are added or removed and it never automatically removes routes. Avoiding both the userspace confusion that is caused by omitting route updates and the possibility of a flood of netlink traffic when an interface goes doew. For now reserved labels are handled automatically and userspace is not notified. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03c0566542f4c7a45ce3193f27cbf5700b506c18 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:13:56 2015 -0600 mpls: Netlink commands to add, remove, and dump routes This change adds two new netlink routing attributes: RTA_VIA and RTA_NEWDST. RTA_VIA specifies the specifies the next machine to send a packet to like RTA_GATEWAY. RTA_VIA differs from RTA_GATEWAY in that it includes the address family of the address of the next machine to send a packet to. Currently the MPLS code supports addresses in AF_INET, AF_INET6 and AF_PACKET. For AF_INET and AF_INET6 the destination mac address is acquired from the neighbour table. For AF_PACKET the destination mac_address is specified in the netlink configuration. I think raw destination mac address support with the family AF_PACKET will prove useful. There is MPLS-TP which is defined to operate on machines that do not support internet packets of any flavor. Further seem to be corner cases where it can be useful. At this point I don't care much either way. RTA_NEWDST specifies the destination address to forward the packet with. MPLS typically changes it's destination address at every hop. For a swap operation RTA_NEWDST is specified with a length of one label. For a push operation RTA_NEWDST is specified with two or more labels. For a pop operation RTA_NEWDST is not specified or equivalently an emtpy RTAN_NEWDST is specified. Those new netlink attributes are used to implement handling of rt-netlink RTM_NEWROUTE, RTM_DELROUTE, and RTM_GETROUTE messages, to maintain the MPLS label table. rtm_to_route_config parses a netlink RTM_NEWROUTE or RTM_DELROUTE message, verify no unhandled attributes or unhandled values are present and sets up the data structures for mpls_route_add and mpls_route_del. I did my best to match up with the existing conventions with the caveats that MPLS addresses are all destination-specific-addresses, and so don't properly have a scope. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 966bae3349da22bb6286f6f3874c279177b8633f Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:13:19 2015 -0600 mpls: Functions for reading and wrinting mpls labels over netlink Reading and writing addresses in network byte order in netlink is traditional and I see no reason to change that. MPLS is interesting as effectively it has variabely length addresses (the MPLS label stack). To represent these variable length addresses in netlink I use a valid MPLS label stack (complete with stop bit). This achieves two things: a well defined existing format is used, and the data can be interpreted without looking at it's length. Not needed to look at the length to decode the variable length network representation allows existing userspace functions such as inet_ntop to be used without needed to change their prototype. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2519929aba78e8cec7955d2c2a0c1e230d1f6e6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:12:40 2015 -0600 mpls: Basic support for adding and removing routes mpls_route_add and mpls_route_del implement the basic logic for adding and removing Next Hop Label Forwarding Entries from the MPLS input label map. The addition and subtraction is done in a way that is consistent with how the existing routing table in Linux are maintained. Thus all of the work to deal with NLM_F_APPEND, NLM_F_EXCL, NLM_F_REPLACE, and NLM_F_CREATE. Cases that are not clearly defined such as changing the interpretation of the mpls reserved labels is not allowed. Because it seems like the right thing to do adding an MPLS route without specifying an input label and allowing the kernel to pick a free label table entry is supported. The implementation is currently less than optimal but that can be changed. As I don't have anything else to test with only ethernet and the loopback device are the only two device types currently supported for forwarding MPLS over. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7720c01f3f590116882e251f13c7e1d5602f8643 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:11:20 2015 -0600 mpls: Add a sysctl to control the size of the mpls label table This sysctl gives two benefits. By defaulting the table size to 0 mpls even when compiled in and enabled defaults to not forwarding any packets. This prevents unpleasant surprises for users. The other benefit is that as mpls labels are allocated locally a dense table a small dense label table may be used which saves memory and is extremely simple and efficient to implement. This sysctl allows userspace to choose the restrictions on the label table size userspace applications need to cope with. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0189197f441602acdca3f97750d392a895b778fd Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:10:47 2015 -0600 mpls: Basic routing support This change adds a new Kconfig option MPLS_ROUTING. The core of this change is the code to look at an mpls packet received from another machine. Look that packet up in a routing table and forward the packet on. Support of MPLS over ATM is not considered or attempted here. This implemntation follows RFC3032 and implements the MPLS shim header that can pass over essentially any network. What RFC3021 refers to as the as the Incoming Label Map (ILM) I call net->mpls.platform_label[]. What RFC3031 refers to as the Next Label Hop Forwarding Entry (NHLFE) I call mpls_route. Though calling it the label fordwarding information base (lfib) might also be valid. Further the implemntation forwards packets as described in RFC3032. There is no need and given the original motivation for MPLS a strong discincentive to have a flexible label forwarding path. In essence the logic is the topmost label is read, looked up, removed, and replaced by 0 or more new lables and the sent out the specified interface to it's next hop. Quite a few optional features are not implemented here. Among them are generation of ICMP errors when the TTL is exceeded or the packet is larger than the next hop MTU (those conditions are detected and the packets are dropped instead of generating an icmp error). The traffic class field is always set to 0. The implementation focuses on IP over MPLS and does not handle egress of other kinds of protocols. Instead of implementing coordination with the neighbour table and sorting out how to input next hops in a different address family (for which there is value). I was lazy and implemented a next hop mac address instead. The code is simpler and there are flavor of MPLS such as MPLS-TP where neither an IPv4 nor an IPv6 next hop is appropriate so a next hop by mac address would need to be implemented at some point. Two new definitions AF_MPLS and PF_MPLS are exposed to userspace. Decoding the mpls header must be done by first byeswapping a 32bit bit endian word into the local cpu endian and then bit shifting to extract the pieces. There is no C bit-field that can represent a wire format mpls header on a little endian machine as the low bits of the 20bit label wind up in the wrong half of third byte. Therefore internally everything is deal with in cpu native byte order except when writing to and reading from a packet. For management simplicity if a label is configured to forward out an interface that is down the packet is dropped early. Similarly if an network interface is removed rt_dev is updated to NULL (so no reference is preserved) and any packets for that label are dropped. Keeping the label entries in the kernel allows the kernel label table to function as the definitive source of which labels are allocated and which are not. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cec9166ca4e586de389b0f3c43a8103e728d92ec Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:10:23 2015 -0600 mpls: Refactor how the mpls module is built This refactoring is needed to allow more than just mpls gso support to be built into the mpls moddule. Reviewed-by: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee23393b40062362feb220b32629624c1d3c402c Merge: 2f56f6b 4fd3d7d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 00:23:37 2015 -0500 Merge branch 'neigh-mpls-prep' Eric W. Biederman says: ==================== Neighbour table prep for MPLS In preparation for using the IPv4 and IPv6 neighbour tables in my mpls code this patchset factors out ___neigh_lookup_noref from __ipv4_neigh_lookup_noref, __ipv6_lookup_noref and neigh_lookup. Allowing the lookup logic to be shared between the different implementations. At what appears to be no cost. (Aka the same assembly is generated for ip6_finish_output2 and ip_finish_output2). After that I add a simple function that takes an address family and an address consults the neighbour table and sends the packet to the appropriate location. The address family argument decoupls callers of neigh_xmit from the addresses families the packets are sent over. (Aka The ipv6 module can be loaded after mpls and a previously configured ipv6 next hop will start working). The refactoring in ___neigh_lookup_noref may be a bit overkill but it feels like the right thing to do. Especially since the same code is generated. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4fd3d7d9e868ffbdb0e7a67c5c8e9dfdcd846a62 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 17:11:16 2015 -0600 neigh: Add helper function neigh_xmit For MPLS I am building the code so that either the neighbour mac address can be specified or we can have a next hop in ipv4 or ipv6. The kind of next hop we have is indicated by the neighbour table pointer. A neighbour table pointer of NULL is a link layer address. A non-NULL neighbour table pointer indicates which neighbour table and thus which address family the next hop address is in that we need to look up. The code either sends a packet directly or looks up the appropriate neighbour table entry and sends the packet. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60395a20ffd74166ea373ea91418d6f98fa7fdfb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 17:10:44 2015 -0600 neigh: Factor out ___neigh_lookup_noref While looking at the mpls code I found myself writing yet another version of neigh_lookup_noref. We currently have __ipv4_lookup_noref and __ipv6_lookup_noref. So to make my work a little easier and to make it a smidge easier to verify/maintain the mpls code in the future I stopped and wrote ___neigh_lookup_noref. Then I rewote __ipv4_lookup_noref and __ipv6_lookup_noref in terms of this new function. I tested my new version by verifying that the same code is generated in ip_finish_output2 and ip6_finish_output2 where these functions are inlined. To get to ___neigh_lookup_noref I added a new neighbour cache table function key_eq. So that the static size of the key would be available. I also added __neigh_lookup_noref for people who want to to lookup a neighbour table entry quickly but don't know which neibhgour table they are going to look up. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f56f6be47dbc6883e28107edfe2f9f98f4d5a24 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 3 16:02:16 2015 +0100 bridge: fix bridge netlink RCU usage When the STP timer fires, it can call br_ifinfo_notify(), which in turn ends up in the new br_get_link_af_size(). This function is annotated to be using RTNL locking, which clearly isn't the case here, and thus lockdep warns: =============================== [ INFO: suspicious RCU usage. ] 3.19.0+ #569 Not tainted ------------------------------- net/bridge/br_private.h:204 suspicious rcu_dereference_protected() usage! Fix this by doing RCU locking here. Fixes: b7853d73e39b ("bridge: add vlan info to bridge setlink and dellink notification messages") Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e8e385aaf6ed5b64b5d9108081cfcdcdd021b78 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Tue Mar 3 22:31:34 2015 -0500 x86/compat: Remove sys32_vm86_warning The check against lastcomm is racy, and the message it produces isn't necessary. vm86 support can be disabled on a 32-bit kernel also, and doesn't have this message. Switch to sys_ni_syscall instead. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425439896-8322-4-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2aa4a710928863e84cb71e60b7c839d12403f5ca Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Tue Mar 3 22:31:33 2015 -0500 x86/compat: Merge native and compat 32-bit syscall tables Combine the 32-bit syscall tables into one file. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425439896-8322-3-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29a5ff97fa0d8045d262a772c3853e3ef1ed98d8 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Tue Mar 3 22:31:32 2015 -0500 x86/compat: Remove compat_ni_syscall() compat_ni_syscall() does the same thing as sys_ni_syscall(). Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425439896-8322-2-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 71a83a6db6138b9d41d8a0b6b91cb59f6dc4742c Merge: b97526f a6c5170 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 3 21:16:48 2015 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/rocker/rocker.c The rocker commit was two overlapping changes, one to rename the ->vport member to ->pport, and another making the bitmask expression use '1ULL' instead of plain '1'. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b0e6aacbfe04fa144c4732f269b09ce91177566 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Tue Mar 3 13:35:31 2015 +1100 md/bitmap: use sector_div for sector_t divisions neilb: modified to not corrupt ->resync_max_sectors. sector_div usage fixed by Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 935f3d4fc62c1f4d99cd13344762e766cd3bf115 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Mar 2 17:02:29 2015 +1100 md/bitmap: fix incorrect DIV_ROUND_UP usage. DIV_ROUTND_UP doesn't work on "long long", - and it should be sector_t anyway. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit b97526f3ff95f92b107f0fb52cbb8627e395429b Merge: 1cea7e2 ce458fc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 3 20:47:23 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-03 This series contains updates to fm10k, i40e and i40evf. Matthew updates the fm10k driver by cleaning up code comments and whitespace issues. Also modifies the tunnel length header check, to make it more robust by calculating the inner L4 header length based on whether it is TCP or UDP. Implemented ndo_features_check() that allows drivers to report their offload capabilities per-skb. Neerav updates the i40e driver to skip over priority tagging if DCB is not enabled. Fixes an issue where the driver is not flushing out the DCBNL app table for applications that are not present in the local DCBX application configuration TLVs. Fixed i40e where, in the case of MFP mode, the driver was returning the incorrect number of traffic classes for partitions that are not enabled for iSCSI. Even though the driver was not configuring these traffic classes in the transmit scheduler for the NIC partitions, it does use this map to setup the queue mappings. Shannon updates i40e/i40evf to include the firmware build number in the formatted firmware version string. Akeem adds a safety net (by adding a 'default' case) for the possible unmatched switch calls. Mitch updates i40e to not automatically disable PF loopback at runtime, now that we have the functionality to enable and disable PF loopback. This fix cleans up a bogus error message when removing the PF module with VFs enabled. Adds a extra check to make sure that the indirection table pointer is valid before dereferencing it. Anjali enables i40e to enable more than the max RSS qps when running in a single TC mode for the main VSI. It is possible to enable as many as num_online_cpus(). Adds a firmware check to ensure that DCB is disabled for firmware versions older than 4.33. Updates i40e/i40evf to add missing packet types for VXLAN offload. Updated i40e to be able to handle varying RSS table size for each VSI, since all VSI's do not have the same RSS table size. v2: Dropped previous patch #9 "i40e/i40evf: Add capability to gather VEB per TC stats" since the stats should be in ethtool and not debugfs. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43f0acd96163754672cfb8c8015c54ec527a2cce Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 15:41:03 2015 +0000 extcon: arizona: Fix headphone clamping on wm5110 wm5110 requires slightly different configuration of the headphone clamps to other Arizona devices. Otherwise headphone detection accuracy will be way off. This patch adds the needed clamping. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 112bdfaa525fd5993e17885861342893f15290b0 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 15:41:02 2015 +0000 extcon: arizona: Deobfuscate arizona_extcon_do_magic arizona_extcon_do_magic does not lend a lot of clarity to the purpose of the function, and as all the registers used are described in the datasheet there is no need to obfuscate the code. This patch renames the function to arizona_extcon_hp_clamp, as it controls clamping on the headphone output. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 1cea7e2c9fb3bc6bec8589337a50f60a45085156 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:59 2015 -0800 l2tp: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2beae1078a236d503b6e010fc4d65bb2e14dbdc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:58 2015 -0800 wireless: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c84a67a2fc70841e642fe2f0429abb1d9b4d2167 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:57 2015 -0800 mac80211: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afc130dd3902942c3cae55512b120b7e1df29239 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:56 2015 -0800 ethernet: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 211b85349ced1cf573ba0ec376038d8ec76885fb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:55 2015 -0800 bluetooth: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19ffa562ec138594571896f73c014873db11fc97 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:54 2015 -0800 atm: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a73de0719fbc5452d35c3d3ddf2480fbaa7c7fd Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:53 2015 -0800 appletalk: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 423049ab1e93cfcffff7de6ff40e68edede8fdf5 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:52 2015 -0800 8021q: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b6ed26d8b964bdb1f963eb2fab90fdd26a11452 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:51 2015 -0800 xen: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1667c942e72346df1f41d4171de5a647b6b22dfc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:50 2015 -0800 netconsole: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Miscellanea: Add #include <linux/etherdevice.h> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93803b3385c653bc6fd391c0de00ef811b3dadc0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:49 2015 -0800 wireless: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Miscellanea: Add #include <linux/etherdevice.h> where appropriate Use ETH_ALEN instead of 6 Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 519983b129477cb8e0bbea334c72ecd4486b2d21 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:48 2015 -0800 net: usb: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7bf716940c6a8ed39b444bfb0b97c2939ac312b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:47 2015 -0800 ethernet: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e8ab38cfcb6eac7f4e7e3b8e787a9d4bea54c2cb Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Tue Mar 3 13:21:54 2015 -0800 i40e: Fix dependencies in the i40e driver on configfs Module dependencies are broken in the case where CONFIG_I40E=y and CONFIG_CONFIGFS_FS=m. This fixes the broken dependency. Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c49b8fc26e115a37eca6f7bcef1847eb80f2a4fd Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:12 2015 -0500 of/pci: Add of_pci_dma_configure() to update DMA configuration Add of_pci_dma_configure() to allow updating the DMA configuration of the PCI device using the configuration from DT of the parent of the root bridge device. Use the newly added APIs pci_get/put_host_bridge_device() for implementing this. [bhelgaas: fold in fix for host bridges with no parent OF device] Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit 6675a601d72be408025e675599702e30a99188aa Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:11 2015 -0500 PCI: Add helper functions pci_get[put]_host_bridge_device() Add helper functions to get/put the root bus's host bridge device. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit 0c79c81c779fe54e67c0ce8c1fda551ca57d8a35 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:10 2015 -0500 of: Fix size when dma-range is not used Fix the dma-range size when the DT attribute is missing, i.e., set size to dev->coherent_dma_mask + 1 instead of dev->coherent_dma_mask. Also add code to check invalid values of size configured in DT and log error. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit 1f5c69aa51f9c7c8d2a5c2e4dc339f6c7d5c15cd Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:09 2015 -0500 of: Move of_dma_configure() to device.c to help re-use Move of_dma_configure() to device.c so it can be re-used for PCI devices to obtain DMA configuration from DT. Also add a second argument so that for PCI, the DT node of root bus host bridge can be used to obtain the DMA configuration for the slave PCI device. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit ed748621031c2a205749997421e59fb4dfb1e909 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:08 2015 -0500 of: iommu: Add ptr to OF node arg to of_iommu_configure() of_iommu_configure() is called from of_dma_configure() to setup iommu ops using DT property. This API is currently used for platform devices for which DMA configuration (including IOMMU ops) may come from the device's parent. To extend this functionality for PCI devices, this API needs to take a parent node ptr as an argument instead of assuming device's parent. This is needed since for PCI, the DMA configuration may be defined in the DT node of the root bus bridge's parent device. Currently only dma-range is used for PCI and IOMMU is not supported. Return error if the device is PCI. Add "parent" parameter (a struct device_node *) to of_iommu_configure(). Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit fce8c5fd82e8c3d39a919f649d8ddd97310f4b63 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Mar 3 12:44:05 2015 -0500 HID: uclogic: actually invert the in-range bit for huion tablets only This hack is only needed for Huion tablets. It does not seem to have any effect on the other tablets handled by this device right now, but it's better to check for the product id sooner than discovering that we have messed up one tablet later. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit aa2121ac477845eb64d46278e93765b82a005c90 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Mar 3 12:44:04 2015 -0500 HID: uclogic: discard the extra Pen input node on Huion tablets Some Huion tablets present 2 HID Pen interfaces. Only one is used, so we can drop the unused one. Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 002a82ded6a7f4e402b1f9b953d7393ec290b709 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Mar 3 12:44:03 2015 -0500 HID: uclogic: apply quirk NO_EMPTY_INPUT NO_EMPTY_INPUT is useful when MULTI_INPUT is set. It prevents to create empty input nodes that user space does not know what to do with. It does not seem to be required at the moment, this is just a preventive patch. This check is only made during the plug of the device, so it does not hurt to have it. Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit cce2dbdf258e6b27b2b100f511531edabb77f427 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Mar 3 12:44:02 2015 -0500 HID: uclogic: name the input nodes based on their tool We append "Pen", "Pad", "Mouse", "Keyboard", "Consumer Control" or "System Control" suffix to the appropriate input node to match what the Wacom driver does and be more convenient for the user to know which one is which. Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 08177f40bd00cd5232c0508e92a62f69cad9467f Author: Nikolai Kondrashov <Nikolai.Kondrashov@xxxxxxxxxx> Date: Tue Mar 3 12:44:01 2015 -0500 HID: uclogic: merge hid-huion driver in hid-uclogic Merge the hid-huion driver into hid-uclogic as all the devices supported by hid-huion are in fact UC-Logic devices. Signed-off-by: Nikolai Kondrashov <Nikolai.Kondrashov@xxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 70b69cfb88467988116c4863056495fa3615271a Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Mar 3 12:44:00 2015 -0500 HID: uclogic: Set quirks from inside the driver Based on a patch from: Nikolai Kondrashov <Nikolai.Kondrashov@xxxxxxxxxx> Most of the tablets handled by hid-uclogic already use MULTI_INPUT. For the ones which are not quirked in usbhid/hidquirks, they have a custom report descriptor which contains only one report per HID interface. For those tablets HID_QUIRK_MULTI_INPUT is transparent. According to https://github.com/DIGImend/tablets, the only problematic tablet currently handled by hid-uclogic is the TWHA60 v3. This tablet presents different report descriptors from the ones currently quirked. This is not a problem per se, given that this tablet is not supported currently in this version (it needs the same command as a Huion to start forwarding events). Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f791e3c101fea2c0964c0cd5684352f4bc9ffa2b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 26 11:43:32 2015 +0100 irqchip: renesas-irqc: Use u32 to store 32-bit register values Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1424947412-8061-1-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f1f5bc30f5726ff28fa1b263edcd805cced84a07 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Feb 18 15:13:59 2015 +0000 irqchip: st: Add documentation for STi based syscfg IRQs Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1424272444-16230-4-git-send-email-lee.jones@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 070884845baaeaa41a11eccc2fc2a4080de64946 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Feb 18 15:13:58 2015 +0000 irqchip: st: Supply new driver for STi based devices This driver is used to enable System Configuration Register controlled External, CTI (Core Sight), PMU (Performance Management), and PL310 L2 Cache IRQs prior to use. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1424272444-16230-3-git-send-email-lee.jones@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9967c3c6f5e81342d9b82c43638d695991939969 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Feb 18 15:13:57 2015 +0000 dt: bindings: Supply shared ST IRQ defines These defines are used to allow values used for configuration to be easily human readable and will lessen the chance of logical mistakes. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1424272444-16230-2-git-send-email-lee.jones@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1d5da757da860a6916adbf68b09e868062b4b3b8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 09:41:47 2015 -0600 ax25: Stop using magic neighbour cache operations. Before the ax25 stack calls dev_queue_xmit it always calls ax25_type_trans which sets skb->protocol to ETH_P_AX25. Which means that by looking at the protocol type it is possible to detect IP packets that have not been munged by the ax25 stack in ndo_start_xmit and call a function to munge them. Rename ax25_neigh_xmit to ax25_ip_xmit and tweak the return type and value to be appropriate for an ndo_start_xmit function. Update all of the ax25 devices to test the protocol type for ETH_P_IP and return ax25_ip_xmit as the first thing they do. This preserves the existing semantics of IP packet processing, but the timing will be a little different as the IP packets now pass through the qdisc layer before reaching the ax25 ip packet processing. Remove the now unnecessary ax25 neighbour table operations. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bcc90e3fb132f009e647c9032eab4fedb6399339 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 3 19:38:46 2015 +0100 net/atm/signaling.c: remove WAIT_FOR_DEMON code WAIT_FOR_DEMON code is directly undefined at the beginning of signaling.c since initial git version and thus never compiled. This also removes buggy current->state direct access. Suggested-by: Chas Williams <chas@xxxxxxxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9910affa89fe0895153880b115ec243636e70af3 Author: Yao Dongdong <yaodongdong@xxxxxxxxxx> Date: Wed Feb 25 17:09:46 2015 +0800 rcu: Remove redundant check of cpu_online() Because invoke_cpu_core() checks whether the current CPU is online, there is no need for __call_rcu_core() to redundantly check it. There should not be any performance degradation because the called function is visible to the compiler. This commit therefore removes the redundant check. Signed-off-by: Yao Dongdong <yaodongdong@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit e7580f33889299e484a80f42c20611ead42f199e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:23:39 2015 -0800 rcu: Get rcu_sched_force_quiescent_state() where it belongs The very similar functions rcu_force_quiescent_state(), rcu_bh_force_quiescent_state(), and rcu_sched_force_quiescent_state() are supposed to be together, but have drifted apart. This commit restores rcu_sched_force_quiescent_state() to its rightful place. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 91afa21d5d0d79a02984d37509f1f827ae460f4e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Feb 7 20:08:51 2015 -0800 torture: Avoid script syntax error when insufficient CPUs Parentheses are special to bash, so use an overflow flag that doesn't use them. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b826565aaf8809df146666c03d1acbb7febbd13e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 2 11:46:33 2015 -0800 rcu: Reverse rcu_dereference_check() conditions The rcu_dereference_check() family of primitives evaluates the RCU lockdep expression first, and only then evaluates the expression passed in. This works fine normally, but can potentially fail in environments (such as NMI handlers) where lockdep cannot be invoked. The problem is that even if the expression passed in is "1", the compiler would need to prove that the RCU lockdep expression (rcu_read_lock_held(), for example) is free of side effects in order to be able to elide it. Given that rcu_read_lock_held() is sometimes separately compiled, the compiler cannot always use this optimization. This commit therefore reverse the order of evaluation, so that the expression passed in is evaluated first, and the RCU lockdep expression is evaluated only if the passed-in expression evaluated to false, courtesy of the C-language short-circuit boolean evaluation rules. This compells the compiler to forego executing the RCU lockdep expression in cases where the passed-in expression evaluates to "1" at compile time, so that (for example) rcu_dereference_raw() can be guaranteed to execute safely within an NMI handler. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> commit a3bd2c09adcc80946262fd15e63868de1f0f4963 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 21 20:58:57 2015 -0800 rcu: Add boot-up check for non-default CONFIG_RCU_FANOUT_LEAF values Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ab6f5bd6741af7b157275de299b7b2b96f2df40e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 21 16:58:06 2015 -0800 rcu: Use IS_ENABLED() to simplify rcu_bootup_announce_oddness() This commit gets rid of some inline #ifdefs by replacing them with IS_ENABLED. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d24209bb689e2c7f7418faec9b4a948e922d24da Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 21 15:26:03 2015 -0800 rcu: Improve diagnostics for blocked critical sections in irq If an RCU read-side critical section occurs within an interrupt handler or a softirq handler, it cannot have been preempted. Therefore, there is a check in rcu_read_unlock_special() checking for this error. However, when this check triggers, it lacks diagnostic information. This commit therefore moves rcu_read_unlock()'s lockdep annotation to follow the call to __rcu_read_unlock() and changes rcu_read_unlock_special()'s WARN_ON_ONCE() to an lockdep_rcu_suspicious() in order to locate where the offending RCU read-side critical section began. In addition, the value of the ->rcu_read_unlock_special field is printed. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 6629240575992a6f0d18c46f5160b34527b0e501 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 19:16:38 2015 -0800 rcu: Use IS_ENABLED() to CONFIG_RCU_FANOUT_EXACT #ifdef This commit uses IS_ENABLED() to remove the #ifdef from the rcu_init_levelspread() functions. No effect on executable code. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 476276781095c79580abe27a65988549ac7f5f89 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 21:10:21 2015 -0800 rcu: Move early boot callback tests earlier Because callbacks can now be posted quite early in boot, move the early boot callback tests to precede RCU initialization. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 34404ca8fb252ccee662c4368c555ccf774acc3b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 20:39:20 2015 -0800 rcu: Move early-boot callbacks to no-CBs lists for no-CBs CPUs When a CPU is first determined to be a no-CBs CPUs, this commit causes any early boot callbacks to be moved to the no-CBs callback list, allowing them to be invoked. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 8fbc418f99caf65a53f3921ac2a32a0a0af7aba2 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxxxx> Date: Tue Feb 24 18:01:46 2015 -0800 f2fs: avoid wrong error during recovery During the roll-forward recovery, -ENOENT for f2fs_iget can be skipped. So, this error value should not be propagated. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1614091dc1551d1ddeda7420df8ab5ad89b04987 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Feb 23 19:59:52 2015 -0800 f2fs: remove obsolete code This patch removes obsolete code in which summary variable is not needed. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit cb3bc9ee06f708f3b615b6ce119b907d6a4c8a5d Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 18:03:40 2015 +0800 f2fs: use extent cache for dir We update extent cache for all user inode of f2fs including dir inode, so this patch gives another chance to try to get physical address of page from extent cache for dir inode. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 91c5d9bce7fef638add2cd36676e157354784d0f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 18:02:44 2015 +0800 f2fs: switch to check FI_NO_EXTENT in f2fs_{lookup,update}_extent_cache This patch switch to check FI_NO_EXTENT in f2fs_{lookup,update}_extent_cache instead of f2fs_{lookup,update}_extent_tree or {lookup,update}_extent_info. No functionality modification in this patch. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 62c8af651b37490c18a42c02586fa6a4fb39320a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 18:01:39 2015 +0800 f2fs: support fast lookup in extent cache This patch adds a fast lookup path for rb-tree extent cache. In this patch we add a recently accessed extent node pointer 'cached_en' in extent tree. In lookup path of extent cache, we will firstly lookup the last accessed extent node which cached_en points, if we do not hit in this node, we will try to lookup extent node in rb-tree. By this way we can avoid unnecessary slow lookup in rb-tree sometimes. Note that, side-effect of this patch is that we will increase memory cost, because we will store a pointer variable in each struct extent tree additionally. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1ec4610c522cc51219cc022ef120a928828fa934 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:59:59 2015 +0800 f2fs: add trace for rb-tree extent cache ops This patch adds trace for lookup/update/shrink/destroy ops in rb-tree extent cache. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4bf6fd9fedf14a8bab75f3710cd63e7bc8928014 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:58:28 2015 +0800 f2fs: show extent tree, node stat info in debugfs This patch add and show stat info of total memory footprint for extent tree,node in debugfs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1dcc336b02bff3d38f173feac55a2b6c25a5fb54 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:57:31 2015 +0800 f2fs: enable rb-tree extent cache This patch enables rb-tree based extent cache in f2fs. When we mount with "-o extent_cache", f2fs will try to add recently accessed page-block mappings into rb-tree based extent cache as much as possible, instead of original one extent info cache. By this way, f2fs can support more effective cache between dnode page cache and disk. It will supply high hit ratio in the cache with fewer memory when dnode page cache are reclaimed in environment of low memory. Storage: Sandisk sd card 64g 1.append write file (offset: 0, size: 128M); 2.override write file (offset: 2M, size: 1M); 3.override write file (offset: 4M, size: 1M); ... 4.override write file (offset: 48M, size: 1M); ... 5.override write file (offset: 112M, size: 1M); 6.sync 7.echo 3 > /proc/sys/vm/drop_caches 8.read file (size:128M, unit: 4k, count: 32768) (time dd if=/mnt/f2fs/128m bs=4k count=32768) Extent Hit Ratio: before patched Hit Ratio 121 / 1071 1071 / 1071 Performance: before patched real 0m37.051s 0m35.556s user 0m0.040s 0m0.026s sys 0m2.990s 0m2.251s Memory Cost: before patched Tree Count: 0 1 (size: 24 bytes) Node Count: 0 45 (size: 1440 bytes) v3: o retest and given more details of test result. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 8967215954a50947fbd9c2996232548bf6dd9062 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:55:51 2015 +0800 f2fs: add a mount option for rb-tree extent cache This patch adds a mount option 'extent_cache' in f2fs. It is try to use a rb-tree based extent cache to cache more mapping information with less memory if this option is set, otherwise we will use the original one extent info cache. Suggested-by: Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 429511cdf8b3a9b894b914f282a9293df405a449 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:54:31 2015 +0800 f2fs: add core functions for rb-tree extent cache This patch adds core functions including slab cache init function and init/lookup/update/shrink/destroy function for rb-tree based extent cache. Thank Jaegeuk Kim and Changman Lee as they gave much suggestion about detail design and implementation of extent cache. Todo: * register rb-based extent cache shrink with mm shrink interface. v2: o move set_extent_info and __is_{extent,back,front}_mergeable into f2fs.h. o introduce __{attach,detach}_extent_node for code readability. o add cond_resched() when fail to invoke kmem_cache_alloc/radix_tree_insert. o fix some coding style and typo issues. v3: o fix oops due to using an unassigned pointer. o use list_del to remove extent node in shrink list. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> [Jaegeuk Kim: add static for some funcitons and declare in f2fs.h] Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 13054c548a1c9e78f8f8ba5f134909cb56152285 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:52:58 2015 +0800 f2fs: introduce infra macro and data structure of rb-tree extent cache Introduce infra macro and data structure for rb-tree based extent cache: Macros: * EXT_TREE_VEC_SIZE: indicate vector size for gang lookup in extent tree. * F2FS_MIN_EXTENT_LEN: indicate minimum length of extent managed in cache. * EXTENT_CACHE_SHRINK_NUMBER: indicate number of extent in cache will be shrunk. Basic data structures for extent cache: * struct extent_tree: extent tree entry per inode. * struct extent_node: extent info node linked in extent tree. Besides, adding new extent cache related fields in f2fs_sb_info. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7e4dde79df7cdf8b40282857e030c7572ff04886 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:51:34 2015 +0800 f2fs: introduce universal lookup/update interface for extent cache In this patch, we do these jobs: 1. rename {check,update}_extent_cache to {lookup,update}_extent_info; 2. introduce universal lookup/update interface of extent cache: f2fs_{lookup,update}_extent_cache including above two real functions, then export them to function callers. So after above cleanup, we can add new rb-tree based extent cache into exported interfaces. v2: o remove "f2fs_" for inner function {lookup,update}_extent_info suggested by Jaegeuk Kim. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a2e7d1bfebe0bc349a3eb9d01caac026627f095e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:50:30 2015 +0800 f2fs: introduce f2fs_map_bh to clean codes of check_extent_cache This patch introduces f2fs_map_bh to clean codes of check_extent_cache. v2: o cleanup f2fs_map_bh pointed out by Jaegeuk Kim. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4d0b0bd4385f0ce8d3b430f9667c5e2ca1de10af Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:47:25 2015 +0800 f2fs: simplfy a field name in struct f2fs_extent,extent_info Rename a filed name from 'blk_addr' to 'blk' in struct {f2fs_extent,extent_info} as annotation of this field descripts its meaning well to us. By this way, we can avoid long statement in code of following patches. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 0c872e2dedfc09f41a5604d1c5010f800c0bd8f1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:46:29 2015 +0800 f2fs: move ext_lock out of struct extent_info Move ext_lock out of struct extent_info, then in the following patches we can use variables with struct extent_info type as a parameter to pass pure data. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3c0d84d6f1dde0a85f20957954fffb209edc55ac Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Feb 16 16:20:27 2015 +0800 f2fs: fix incorrectly stat number of inline data inode We should stat inline data information for temp file in f2fs_tmpfile if we enable inline_data feature. Otherwise, inline data stat number will be wrong after this temp file is evicted. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 97dc3fd2cbbf6dac239333083a8a005bf50c96e8 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Feb 16 16:19:22 2015 +0800 f2fs: use ->writepage in sync_meta_pages This patch uses ->writepage of meta mapping in sync_meta_pages instead of f2fs_write_meta_page, by this way, in its caller we can ignore any changes (e.g. changing name) of this registered function. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3b4d732a568432039af71809f9cad69565f00bed Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Feb 16 16:17:20 2015 +0800 f2fs: introduce f2fs_update_dentry to clean up duplicated codes This patch introduces f2fs_update_dentry to remove redundant code in f2fs_add_inline_entry and __f2fs_add_link. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1753396a0a1c574969dc0c4b369ac4ac3d299245 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Feb 16 16:15:44 2015 +0800 f2fs: remove unused inline_dentry_addr inline_dentry_addr is introduced with inline dentry feature without being used, now we do not need to keep it for any reason, so remove it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 82a00c49ed97cf5b9aa96bd6cda2021720578ecc Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Feb 26 10:13:51 2015 +0100 mfd: sec: Remove unnecessary out of memory message There is no need to print additional ENOMEM message for sec_platform_data allocation failure. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ef9c80b37ad3062d335d4e37846a94d862b5579f Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Feb 26 10:13:50 2015 +0100 mfd: sec: Cleanup unused RTC fields: ono, WTSR and SMPL The WTSR (Watchdog Timer Software Reset) and SMPL (Sudden Momentary Power Loss) were removed from rtc-s5m driver because they were not used. Remove them (and on/off interrupt) from main MFD driver and header. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b4dd04ac6ef88259ddb59ca809ca5845c7892139 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Mon Mar 2 18:40:50 2015 +0100 thinkpad_acpi: use DEVICE_ATTR_* macros Use the DEVICE_ATTR_* macros to reduce boiler plate. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit dfecb95cdfeaf7872d83a96bec3a606e9cd95c8d Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 26 19:02:43 2015 +0100 perf/bench: Add -r all so that you can run all mem* routines perf bench mem mem{set,cpy} -r all thus runs all available mem benchmarking routines. Reviewed-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 515e23f0193f42dab3b3e89f2c54da16b8bc3481 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 26 18:51:37 2015 +0100 perf/bench: Carve out mem routine benchmarking ... so that we can call it multiple times. See next patch. Reviewed-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 0cf55934ecace74bb7d26c0e9679fb41675a8903 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 26 18:38:16 2015 +0100 perf/bench: Fix mem* routines usage after alternatives change Adjust perf bench to the new changes in the alternatives code for memcpy/memset. Reviewed-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6a68d855708497c542d57a82a5f8e3a513a65a82 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Mon Mar 2 14:45:31 2015 +0100 thinkpad_acpi: Add support for more adaptive kbd buttons This commit adds new elements to the ThinkPad keymaps, and will send key events for keys for which an input.h declaration exists. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Reviewed-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit b790ceeb0fd94725150219abd8c13b08a17a32e3 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Mon Mar 2 14:45:27 2015 +0100 thinkpad_acpi: Add adaptive_kbd_mode sysfs attr Add a sysfs attribute to allow privileged users to change the keyboard mode. This could be used by desktop environments to change the keyboard mode depending on the application focused, as the Windows application does. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f74587fb9308dd6d4346180672d79b8a861f02dd Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Mon Mar 2 14:45:22 2015 +0100 thinkpad_acpi: Factor out get/set adaptive kbd mode Move the getting/setting of the adaptive keyboard mode to separate functions, so that we can reuse them later through sysfs attributes. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f23a5bcb70586231b5130a08de965592afdcf9cd Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Mon Mar 2 14:45:16 2015 +0100 thinkpad_acpi: Remember adaptive kbd presence Rather than checking on each suspend and resume whether the laptop has an adaptive keyboard, check when the driver is initialised. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 97e4a7a21edf5901c8cd60715c81b880b7a3be12 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:26 2015 +0000 mfd: da9150: Add DT binding documentation for core Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 49010336290f4e3e4249c43bff1a1ff065c8f94e Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 15:37:13 2015 +0000 mfd: arizona: Move useful defines into a dt-binding include Move parts of linux/mfd/arizona/pdata.h and gpio.h into a new file in the dt-binding directory for use by device tree bindings. This also makes gpio.h redundant so remove it in the process. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fbf2c4a7b69dbc61e960a3c1455e661b57d15279 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:39:33 2015 +0100 mfd: da9150: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2600abca149745deeb4cc9272bc3640a88815485 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Feb 6 12:24:47 2015 +0100 rtc: s5m: Remove unused watchdog and sudden momentary power loss The WTSR (Watchdog Timer Software Reset) and SMPL (Sudden Momentary Power Loss) are never enabled. These are left-overs from board files. After removing them the driver's shutdown callback is empty so get rid of it as well. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0523b8f41473c3d869adebeb029b5dc045ab35d8 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:16 2015 +0800 mfd: rtsx: Using pcr_dbg replace dev_dbg pcr_dbg is a wrapper of dev_dbg, which can save some code, and help to enable/disable debug message static. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 41bc2334737a32d3062a318dde5964590d0e24c9 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:15 2015 +0800 mfd: rtsx: Add support for rts525A Add support for new chip rts525A. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 663c425f2c8d87a433629f09c5afd0af7e7e550c Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:14 2015 +0800 mfd: rtsx: Add support for rts524A add support for new chip rts524A. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 19f3bd548f2750a8a7e4e6d2f25fdc5f8e2c3ee9 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:13 2015 +0800 mfd: rtsx: Remove LCTLR defination To enable/disable ASPM we should find LINK CONTROL register in PCI config space. All old chip use 0x80 address, but new chip may use another address, so we using pci_find_capability() to get LINK CONTROL address. rtsx_gops.c was removed, we consider to put some common operations to this file, but the actual thing is, only a group of chips are in common ops1, and another group of chips in common ops2, it is hard to decide put which ops into generic ops file. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b038538104d5b033d3beaffba6d6efe01246930b Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:12 2015 +0800 mfd: rtsx: Update phy register Update some phy register name and value for rts5249, the updated value makes chip more stable on some platform. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e89f231826a773ea37dfa99ab619f3ee34c06522 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:11 2015 +0800 mfd: rtsx: Update driving settings update card drive settings, This setting can be used for rts5249 rts524A and rts525A. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9e33ce79f828eb5a1bb9dd4830c7fa719d4279dc Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:10 2015 +0800 mfd: rtsx: Update PETXCFG address PETXCFG is defined at 0xFF03, the old 0xFE49 not used any more. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ada71f5588320e7a5c7166cb7c1c8c40cb866ac4 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:09 2015 +0800 mfd: rtsx: Place register address and values togather It is more readable to place register address and values define togather. The values define add two leading space indicate belong to the register address defined above. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 84f00b1b9631319361f6c36e2f5a8e833d09af5b Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:08 2015 +0800 mfd: rtsx: Replace TAB by SPC after #define Re-format coding-style, using uniform SPC after "#define" keyword instead of mixing using TAB and SPC. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b10848e6f9fa7638fc0713695a12c0735ffb52b7 Author: Vignesh R <vigneshr@xxxxxx> Date: Wed Jan 7 11:19:36 2015 +0530 mfd: ti_am335x_tscadc: Remove unwanted reg_se_cache save In one shot mode, sequencer automatically disables all enabled steps at the end of each cycle. (both ADC steps and TSC steps) Hence these steps need not be saved in reg_se_cache for clearing these steps at a later stage. Also, when ADC wakes up Sequencer should not be busy executing any of the config steps except for the charge step. Previously charge step was 1 ADC clock cycle and hence it was ignored. TSC steps are always disabled at the end of each conversion cycle, hence there is no need to explicitly disable TSC steps by writing 0 to REG_SE. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f0bd7ccc413f6de0947d6b8e998ef1fb787513ff Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Tue Jan 20 17:25:15 2015 +0000 mfd: vexpress: Remove non-DT code Now, as all VE platforms have to be booted with DT, the code handling non-DT case can be removed. Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fb358e438d5456c29657698cf9f768ee55d6cba2 Author: Michael Brunner <mibru@xxxxxx> Date: Tue Jan 27 11:05:49 2015 +0100 mfd: Add support for COMe-cBL6 to Kontron PLD driver This patch adds the DMI system ID of the Kontron COMe-cBL6 board to the Kontron PLD driver. The list of supported products in the module description is also updated. Signed-off-by: Michael Brunner <michael.brunner@xxxxxxxxxxx> Acked-by: Christian Rauch <christian.rauch@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d638787411a7d5df6dd2965b253efaa7b534e15e Author: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Date: Mon Feb 2 15:41:41 2015 -0800 mfd: axp20x: Change battery cell name to fuel gauge Name changes to the battery cell structure to a more generic cell type: fuel gauge. Signed-off-by: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9dc502195a2d5ee810628b5697ddd854e38fa143 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:01:15 2015 +0200 mfd: intel_soc_pmic: Ensure GPIO irq is set to input pin Surely GPIO irq will be used as an input pin so make sure its direction is set after requesting. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ad7b5a175cda5425c97612c8b607a4c1992ad273 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:01:14 2015 +0200 mfd: intel_soc_pmic: Do not mangle error code from devm_gpiod_get_index() It is usually better to pass actual error code from a function call than mangling it to another. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9c98dcb08c85e67ce83f3a7f8785da20349533fe Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:01:13 2015 +0200 mfd: intel_soc_pmic: Move PMIC interrupt comment to probe function intel_soc_pmic_find_gpio_irq() tries to find a GPIO interrupt but doesn't select between it or I2C interrupt so it makes more sense to move this comment to intel_soc_pmic_i2c_probe() with minor edits. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3591276d16f8e568449e4b6c719165ad2decf222 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Mar 3 11:33:15 2015 -0500 c6x: kernel: setup: Include "linux/console.h" Or c6x will cause building break for allmodconfig, the related error: CC arch/c6x/kernel/setup.o arch/c6x/kernel/setup.c: In function 'setup_arch': arch/c6x/kernel/setup.c:433:2: error: 'conswitchp' undeclared (first use in this function) conswitchp = &dummy_con; ^ arch/c6x/kernel/setup.c:433:2: note: each undeclared identifier is reported only once for each function it appears in arch/c6x/kernel/setup.c:433:16: error: 'dummy_con' undeclared (first use in this function) conswitchp = &dummy_con; ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> [removed unnecessary #ifdef around include] Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 258ece02126a67af263746e1ae5f8ddf0d492e14 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Feb 24 19:45:15 2015 +0100 btrfs: remove shadowing variables in __btrfs_map_block 1) We can safely use the function's 'i'. Fixes warning fs/btrfs/volumes.c:5257:7: warning: declaration of 'i' shadows a previous local fs/btrfs/volumes.c:4951:6: warning: shadowed declaration is here 2) A local variable duplicates name of an argument, we can use the value directly. Fixes warning fs/btrfs/volumes.c:5433:8: warning: declaration of 'length' shadows a parameter fs/btrfs/volumes.c:4935:27: warning: shadowed declaration is here Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 093adbcedf123f366e5eef0c4ccd815920f725f3 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Feb 24 19:40:41 2015 +0100 btrfs: switch helper macros to static inlines in sysfs.h The conversion macros use nested container_of that leads to a warning fs/btrfs/sysfs.c: In function 'btrfs_feature_visible': fs/btrfs/sysfs.c:183:8: warning: declaration of '__mptr' shadows a previous local fs/btrfs/sysfs.c:183:8: warning: shadowed declaration is here Use of functions will add proper type checking. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 9d644a623ec48e28ca3887e616456aba63fd0558 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Feb 20 18:42:11 2015 +0100 btrfs: cleanup, use correct type in div_u64_rem div_u64_rem expects u32 for divisior and reminder. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 47c5713f4737e460a3b2535abb8ae2e2afe2d2d0 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Feb 20 18:43:47 2015 +0100 btrfs: replace remaining do_div calls with div_u64 variants Switch to div_u64_rem that does type checking and has more obvious semantics than do_div. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit b8b93addde1e0192b045da8995e296fc1e40c80f Author: David Sterba <dsterba@xxxxxxx> Date: Fri Jan 16 17:26:13 2015 +0100 btrfs: cleanup 64bit/32bit divs, provably bounded values The divisor is derived from nodesize or PAGE_SIZE, fits into 32bit type. Get rid of a few more do_div instances. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 3284da7b7b585e6e8e98f374a51d234d14c7a0a2 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Feb 25 15:47:32 2015 +0100 btrfs: use explicit initializer for seq_elem Using {} as initializer for struct seq_elem does not properly initialize the list_head member, but it currently works because it gets set through btrfs_get_tree_mod_seq if 'seq' is 0. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit f64c7b12f86c638f13e19de08eeb8cf888dff8f6 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Feb 24 19:07:26 2015 +0100 btrfs: remove shadowing variables in __btrfs_buffered_write There are lockstart and lockend defined in the function and not used after their duplicate definition scope ends, it's safe to reuse them. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 31e818fe7375d60de9953051f7bd1615cebc3681 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Feb 20 18:00:26 2015 +0100 btrfs: cleanup, use kmalloc_array/kcalloc array helpers Convert kmalloc(nr * size, ..) to kmalloc_array that does additional overflow checks, the zeroing variant is kcalloc. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit f8c269d7223f6b63cc5936eb191bc3b170d24342 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Jan 16 17:21:12 2015 +0100 btrfs: cleanup 64bit/32bit divs, compile time constants Switch to div_u64 if the divisor is a numeric constant or sum of sizeof()s. We can remove a few instances of do_div that has the hidden semtantics of changing the 1st argument. Small power-of-two divisors are converted to bitshifts, large values are kept intact for clarity. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 351810c1d2aafa288af61844d877941d516fb031 Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jan 8 15:20:54 2015 +0100 btrfs: use cond_resched_lock where possible Clean the opencoded variant, cond_resched_lock also checks the lock for contention so it might help in some cases that were not covered by simple need_resched(). Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 853d8ec4b288ce52b49e12beeef0f3659ac423ce Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jan 8 15:15:19 2015 +0100 btrfs: need_resched not needed with cond_resched Cleanup, no special reason to do if (need_resched()) cond_resched(); Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 29cf342b8f1056486557015aba4538804a872dc1 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Feb 20 18:42:11 2015 +0100 btrfs: cleanup, use correct type in div_u64_rem div_u64_rem expects u32 for divisior and reminder. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 35b850f16d9adbb833775105ec942fbc818ee6a0 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Feb 20 18:43:47 2015 +0100 btrfs: replace remaining do_div calls with div_u64 variants Switch to div_u64_rem that does type checking and has more obvious semantics than do_div. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit c7abe829c04dc8ce0ecd1c07bf3bc97d2bb9655e Author: David Sterba <dsterba@xxxxxxx> Date: Fri Jan 16 17:26:13 2015 +0100 btrfs: cleanup 64bit/32bit divs, provably bounded values The divisor is derived from nodesize or PAGE_SIZE, fits into 32bit type. Get rid of a few more do_div instances. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 3d945be05ac1e806af075e9315bc1b3409adae2b Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Mon Jan 12 20:23:26 2015 -0300 [media] mn88473: simplify bandwidth registers setting code Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3b786f13164596b2be44379442c34fbf561a78b6 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Mon Jan 12 20:23:25 2015 -0300 [media] mn88473: calculate the IF register values Add xtal as a configuration parameter so it can be used in the IF register value calculation. If not set in the configuration then use a default value. Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0004defd4e44d81966b0c4164c2ee01f20ab357b Author: Vishal Thanki <vishalthanki@xxxxxxxxx> Date: Tue Mar 3 18:59:00 2015 +0530 ASoC: simple-card: Add a NULL pointer check in asoc_simple_card_dai_link_of Make sure devm_kzalloc() succeeds. Signed-off-by: Vishal Thanki <vishalthanki@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c8fff3dc72817d476e083c3f9bc59a11901ecfeb Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Sun Mar 1 09:10:04 2015 +0200 mac80211: handle drv_add_interface failures properly during reconfig If any interface fails to be added to the driver in during reconfig, we should remove all the successfully added interfaces and report reconfig failure, so things can be cleaned up properly. Failing to do so can lead to subsequent failures and leave the drivers in a messed up state. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit be72afe0a43825ea357bf61f01ff8fe9938fe7d4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Mar 1 09:10:03 2015 +0200 mac80211: fix another suspend vs. association race Since cfg80211 disconnects, but has no insight into the association process, it can happen that it disconnects while association is in progress. We then try to abort association in mac80211, but this is only later so the association can complete between the two. This results in removing an interface from the driver while bound to the channel context, obviously causing confusion and issues. Solve this by also checking if we're associated during quiesce and if so deauthenticating. The frame will no longer go out to the AP which is a bit unfortunate, but it'll resolve the crash (and before we would have suspended without telling the AP as well.) I'm working on a better, but more complex solution as well, which should avoid that problem. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit fb28ec0ce4acd54cb1972d224e2caf287b60d9c9 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 1 09:10:02 2015 +0200 mac80211: TDLS: support VHT between peers Add the AID and VHT-cap/operation IEs during TDLS setup. Remove the block of TDLS peers when setting HT-caps of the peer station. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 954a86ef45ffa2db4e361d5344ed61464fb2a204 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Mar 1 09:10:01 2015 +0200 cfg80211: add operating classes 128-130 Operating classes 128-130 are defined in the 11ac spec for the 5GHz band. Update ieee80211_operating_class_to_band() to support them. 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 2ecc3905e6c51f545a44cc621216b5dfd7f94c50 Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Sun Mar 1 09:10:00 2015 +0200 mac80211: Update beacon's timing and DTIM count on every beacon Beacon's timestamp, device system time associated with this beacon and DTIM count parameters are not updated in the associated vif context if the latest beacon's content is identical to the previously received. It make sense to update these changing parameters on every beacon so the driver can get most updated values. This may be necessary, for example, to avoid either beacons' drift effect or device time stamp overrun. IMPORTANT: Three sync_* parameters - sync_ts, sync_device_ts and sync_dtim_count would possibly be out of sync by the time the driver will use them. The synchronized view is currently guaranteed only in certain callbacks. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5fc7432991a86678b38a2d700edbe8bcd29cc579 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Feb 27 15:32:43 2015 +0100 nl80211: add notes about userspace API/ABI modifications Add notes about userspace ABI/API modifications, including the fact that we decided that API submissions should come with a driver implementation. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d5d011b446783fa7e79f3a80465fbd41c5189f83 Author: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 15:26:54 2015 +0200 mac80211_hwsim: Add minimal capability for vendor command/event testing This allows wpa_supplicant/hostapd to send a vendor command and verify response to that command and a vendor event. Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6c09e791b21309a1ad71f9702b766dae12a3cb0a Author: Ahmad Kholaif <akholaif@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 15:26:53 2015 +0200 cfg80211: Allow NL80211_ATTR_IFINDEX to be added to vendor events This modifies cfg80211_vendor_event_alloc() with an additional argument struct wireless_dev *wdev. __cfg80211_alloc_event_skb() is modified to take in *wdev argument, if wdev != NULL, both the NL80211_ATTR_IFINDEX and wdev identifier are added to the vendor event. These changes make it easier for drivers to add ifindex indication in vendor events cleanly. This also updates all existing users of cfg80211_vendor_event_alloc() and __cfg80211_alloc_event_skb() in the kernel tree. Signed-off-by: Ahmad Kholaif <akholaif@xxxxxxxxxxxxxxxx> Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ffc1199122d83d60ad99f9c55df32feb650b7bff Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Sat Feb 21 16:52:39 2015 +0100 cfg80211: add VHT support for IBSS Add NL80211_EXT_FEATURE_VHT_IBSS flag and VHT support for IBSS. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6eb18137643fee5f182d85c818062b4feddfb76b Author: Dedy Lansky <dlansky@xxxxxxxxxxxxxx> Date: Sun Feb 8 15:52:03 2015 +0200 cfg80211: add bss_type and privacy arguments in cfg80211_get_bss() 802.11ad adds new a network type (PBSS) and changes the capability field interpretation for the DMG (60G) band. The same 2 bits that were interpreted as "ESS" and "IBSS" before are re-used as a 2-bit field with 3 valid values (and 1 reserved). Valid values are: "IBSS", "PBSS" (new) and "AP". In order to get the BSS struct for the new PBSS networks, change the cfg80211_get_bss() function to take a new enum ieee80211_bss_type argument with the valid network types, as "capa_mask" and "capa_val" no longer work correctly (the search must be band-aware now.) The remaining bits in "capa_mask" and "capa_val" are used only for privacy matching so replace those two with a privacy enum as well. Signed-off-by: Dedy Lansky <dlansky@xxxxxxxxxxxxxx> [rewrite commit log, tiny fixes] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6e0050ec8e909a5ed7d062552cd4fd223d286687 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Mon Mar 2 16:01:58 2015 +0000 spi: img-spfi: Remove udelay in soft reset Removing the udelay between setting and clearing the soft reset bit in the spfi control register as it is not required. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 269bd1324fbfaa52832bb3efe9f5105c9146a33a Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Mar 2 04:00:44 2015 -0300 [media] media: adv7604: improve usage of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify accordingly. Moreover use devm_gpiod_get_index_optional instead of devm_gpiod_get_index with ignoring all errors. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 48ab45adcccc0835ac2a09805f3f9dff6b073b6c Author: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Date: Wed Feb 25 13:47:34 2015 -0300 [media] cx18: Fix bytes_per_line Current GStreamer userspace respects the bytes_per_line from the driver. Set it to something reasonable for the format chosen. Signed-off-by: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ac0b2b3072bf81c2047beb39f1db7a7d745f2f99 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Tue Feb 24 15:25:00 2015 -0300 [media] media: omap/omap_vout: fix type of input members to omap_vout_setup_vrfb_bufs() the declaration for omap_vout_setup_vrfb_bufs() said it needed 'u32 static_vrfb_allocation' but definition took 'bool static_vrfb_allocation', this patch fixes the declaration so that it matches with the definition and pass a bool instead of int to the call, also included omap_vout_vrfb.h in omap_vout_vrfb.c file so that sparse doesn't complain of making omap_vout_setup_vrfb_bufs() as static function. 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 bb057a791e4e3020b991956781669ff284fd3db6 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Mar 3 05:47:29 2015 -0300 [media] DocBook media: fix typos in YUV420M description NV12M -> YUV420M YVU420M -> YUV420M Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 460eac3fee0e9acf27ed11a2acccdbd754213a23 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Mon Mar 2 12:22:19 2015 -0300 [media] media: i2c: ths7303: drop module param debug this patch drops module param 'debug' as it was never used. 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 c3718de559294649fc20dbd28b0db04dbf24e857 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Mon Mar 2 11:54:07 2015 -0300 [media] media: drop call to v4l2_device_unregister_subdev() These drivers are moved to support asynchronous probing, v4l2_async_unregister_subdev() unregisters the subdev so there isn't a need to explicitly call v4l2_device_unregister_subdev(). 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 1fe0fbd69aa316c1846d58857756652134fc5311 Author: Gilles Risch <gilles.risch@xxxxxxxxx> Date: Sun Mar 1 17:11:05 2015 -0300 [media] Basic support for the Elgato EyeTV Hybrid INT 2008 USB Stick This patch will add basic support for the Elgato EyeTV Hybrid INT 2008 USB Stick. Signed-off-by: Gilles Risch <gilles.risch@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 03983e5db14be1478bb14f256be7adf9849f2f84 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Fri Feb 27 08:42:23 2015 -0300 [media] v4l2: remove unused including <linux/version.h> Remove including <linux/version.h> that don't need it. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 41071bb8c78e4d0b36c51c71b6620d74cb7e2ceb Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Thu Feb 26 19:33:13 2015 -0300 [media] media: au0828 - embed vdev and vbi_dev structs in au0828_dev Embed video_device structs vdev and vbi_dev in au0828_dev. With this change, dynamic allocation and error path logic in au0828_analog_register() is removed as it doesn't need to allocate and handle allocation errors. Unregister path doesn't need to free the now static video_device structures, hence, changed video_device.release in au0828_video_template to point to video_device_release_empty. Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5036d61e0bed3f4f51391a145638b426825e69c Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Tue Feb 24 10:00:29 2015 -0300 [media] media: au0828: drop vbi_buffer_filled() and re-use buffer_filled() The vbi_buffer_filled() and buffer_filled() did the same functionality except for incrementing the buffer sequence, this patch drops the vbi_buffer_filled() and re-uses buffer_filled() for vbi buffers as well by adding the check for vb2-queue type while incrementing the sequence numbers. Along side this patch aligns the input parameters of buffer_filled() function appropriately. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 48205533bab78ffb504af3baf783c8f46942c16d Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Tue Feb 24 01:47:32 2015 -0300 [media] drivers: media: i2c : s5c73m3: Replace dev_err with pr_err Replace dev_err statement with pr_err to fix null dereference. Found by Coccinelle. Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ee5a81df57ea3a19a5e306fdf8244ab696c8916 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 25 18:27:19 2015 +0200 drm: rcar-du: Fix race condition in hardware plane allocator The plane allocator has been inherently racy since the beginning of the transition to atomic updates, as the allocator lock is released between free plane check (at .atomic_check() time) and the reservation (at .atomic_update() time). To fix it, create a new allocator solely based on the atomic plane states without keeping any external state and perform allocation in the .atomic_check() handler. The core idea is to replace the free planes bitmask with a collective knowledge based on the allocated hardware plane(s) for each KMS plane. The allocator then loops over all plane states to compute the free planes bitmask, allocates hardware planes based on that bitmask, and stores the result back in the plane states. For this to work we need to access the current state of planes not touched by the atomic update. To ensure that it won't be modified, we need to lock all planes using drm_atomic_get_plane_state(). This effectively serializes atomic updates from .atomic_check() up to completion, either when swapping the states if the check step has succeeded, or when freeing the states if the check step has failed. Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 48596d502e93a62fd1adab42b0a923709cd1c115 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:55:56 2015 +0200 drm: rcar-du: Move group locking inside rcar_du_crtc_update_planes() Only the planes to CRTCs association control register DPTSR needs to be protected by custom locking, don't hold the mutex around the whole code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 52055bafa1ffcd24525f72f5bc35bc14eae1c449 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 01:39:13 2015 +0200 drm: rcar-du: Move plane commit code from CRTC start to CRTC resume As the DRM core will commit plane states when performing atomic updates, those don't need to be committed manually when the CRTC is started except in the system resume code path. However, the atomic plane commit step is currently performed between mode set disable and mode set enable to mimick the legacy mode setting operations order. This causes the device clocks to be disabled after applying plane settings and reenabled when enabling the CRTC, potentially losing hardware in between. Reorder the operations to enable the CRTC first and only then apply plane settings, removing the need to manage clocks in the atomic begin and flush handlers. We can then move the plane state commit code out of the CRTC start handler to the system resume handler. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 5bfcbce0eaeb884e258648e5ceb74a61cfb80f3c Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 02:59:35 2015 +0200 drm: rcar-du: Move plane format to plane state The format stored in the rcar_du_plane structure is part of the plane state. Move it to the rcar_du_plane_state structure and precompute it in the .atomic_check() handler. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 53dff601790ebc3d4caffef12b2c4754f5886c64 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 03:20:39 2015 +0200 drm: rcar-du: Remove unneeded rcar_du_crtc plane field The rcar_du_crtc plane field is only used to check for an error that can't occur. Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 47094194f070a5099854141bdbd54eae68e5ffd5 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sun Feb 22 19:24:59 2015 +0200 drm: rcar-du: Replace plane crtc and enabled fields by plane state The crtc and enabled fields duplicates information stored in the plane state. Use the plane state instead and remove the fields. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f398f344eb59cd9803091ee08bee77b4e473971e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 01:25:19 2015 +0200 drm: rcar-du: Rework plane setup code Now that the plane setup code isn't called outside of the plane implementation, it can be simplified by merging the rcar_du_plane_compute_base() and rcar_du_plane_update_base() functions. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 4407cc02c9251b0ce6bad3718211353a7dba93ef Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 02:36:31 2015 +0200 drm: rcar-du: Switch plane set_property to atomic helpers Allow setting up plane properties atomically using the plane set_property atomic helper. The properties are now stored in the plane state (requiring subclassing it) and applied when updating the planes. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit d5746642f480c134e8e76a3104b987c08f790283 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 01:04:21 2015 +0200 drm: rcar-du: Switch page flip to atomic helpers The atomic page flip helper implements the page flip operation using asynchronous commits. As the legacy page flip was the last CRTC operation that needed direct access to plane setup, the plane setup functions can now become private to the plane implementation. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 8d3f9b22891acbc1fd06df80c62f5ac0e3b3d3a5 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 01:02:15 2015 +0200 drm: rcar-du: Implement asynchronous commit support Implement a custom .atomic_commit() handler that supports asynchronous commits using a work queue. This can be used for userspace-driven asynchronous commits, as well as for an atomic page flip implementation. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit ede7714f2e5ee1c7032d2865f6cc73158ff39f45 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sun Feb 22 21:02:39 2015 +0200 drm: rcar-du: Replace encoder mode_fixup with atomic_check The encoder .mode_fixup() operation is legacy, atomic updates uses the new .atomic_check() operation. Convert the encoders drivers. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f348323240b63f351b4ade84d75150e09fb9ff32 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sun Feb 22 01:49:11 2015 +0200 drm: rcar-du: Switch connector DPMS to atomic helpers The atomic connector DPMS helper implements the connector DPMS operation using atomic commit, removing the need for DPMS helper operations on CRTCs and encoders. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit cf1cc6f24941bea868172120082fa2c4e11eb3a4 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 15:16:55 2015 +0200 drm: rcar-du: Switch mode config to atomic helpers This removes the legacy mode config code. The CRTC and encoder prepare and commit operations are not used anymore, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 336d04a18018c34f9a2cfd0adb24c3f8b7bedc45 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 13:18:56 2015 +0200 drm: rcar-du: Switch plane update to atomic helpers This removes the legacy plane update code. Wire up the default atomic check and atomic commit mode config helpers as needed by the plane update atomic helpers. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit beff155a7eae6d376b391de5e95fd91d23664397 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 14:05:21 2015 +0200 drm: rcar-du: Rework CRTC enable/disable for atomic updates When using atomic updates the CRTC .enable() and .disable() helper operations are preferred over the (then legacy) .prepare() and .commit() operations. Implement .enable() and rework .disable() to not depend on DPMS, easing DPMS removal later on. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 58706b88c4a8f7423be3e521b457fdb88516aa30 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 14:05:21 2015 +0200 drm: rcar-du: Rework HDMI encoder enable/disable for atomic updates When using atomic updates the encoder .enable() and .disable() helper operations are preferred over the (then legacy) .prepare() and .commit() operations. Implement .enable() and .disable() and rework .prepare(), .commit() and .dpms() as wrappers around .enable() and .disable(), easing their future removal. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f6638b6abc298a9d4a13492a4d918e3c4ced3109 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 14:05:21 2015 +0200 drm: rcar-du: Rework encoder enable/disable for atomic updates When using atomic updates the encoder .enable() and .disable() helper operations are preferred over the (then legacy) .prepare() and .commit() operations. Implement .enable() and .disable() and rework .prepare(), .commit() and .dpms() as wrappers around .enable() and .disable(), easing their future removal. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 44ef7ed5ac94ac823c0efce4c2fb6ab809c8a838 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 14:59:58 2015 +0200 drm: rcar-du: Replace LVDS encoder DPMS by enable/disable The LVDS encoder doesn't support DPMS states, replace the DPMS operation by enable/disable to avoid propagating DPMS states down to the encoder code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 287bdf03033709becec8b7d4a38f044939946abd Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 15:58:38 2015 +0200 drm: rcar-du: Remove private copy of plane size and position The plane source and destination size and positions are stored in the plane state, and a private copy is kept in the rcar_du_plane objects. Remove the private copy as it just duplicates the state. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 3e8da87d0c04e585f4af0f223376128f923cf7bc Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 11:30:59 2015 +0200 drm: rcar-du: Wire up atomic state object scaffolding Hook up the default .reset(), .atomic_duplicate_state() and .atomic_free_state() helpers to ensure that state objects are properly created and destroyed, and call drm_mode_config_reset() at init time to create the initial state objects. Framebuffer reference count also gets maintained automatically by the transitional helpers except for the legacy page flip operation. Maintain it explicitly there. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 845f46356ba490b654194b8d5c26032841719a78 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 15:47:27 2015 +0200 drm: rcar-du: Handle primary plane config through atomic plane ops Use the new CRTC atomic transitional helpers drm_helper_crtc_mode_set() and drm_helper_crtc_mode_set_base() to implement the CRTC .mode_set and .mode_set_base operations. This delegates primary plane configuration to the plane .atomic_update and .atomic_disable operations, removing duplicate code from the CRTC implementation. There is now no code path available to the driver in which to drop the reference to the CRTC acquired in the .prepare() operation if an error then occurs. The driver thus now leaks a reference if an error occurs during mode set. So be it, this will be fixed in a further step of the atomic update transition. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 920888a2d56f0ef7117bf3456cacb49c6801d8de Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 12:18:05 2015 +0200 drm: rcar-du: Implement planes atomic operations Implement the CRTC .atomic_begin() and .atomic_flush() operations, the plane .atomic_check(), .atomic_update() and operations, and use the transitional atomic helpers to implement the plane update and disable operations on top of the new atomic operations. The plane setup code can't be moved out of the CRTC start function completely yet, as the atomic code paths are not taken every time the CRTC needs to be started. This results in some code duplication that will be fixed after switching to atomic updates completely. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 3f845f3c4cf4212bb4cbc8c06344d095cbb16bdd Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sat Feb 21 18:45:26 2015 -0300 [media] saa7164: free_irq before pci_disable_device Free the IRQ before disabling the device. Otherwise errors like this when unloading the module: [21135.458560] ------------[ cut here ]------------ [21135.458569] WARNING: CPU: 4 PID: 1696 at /home/apw/COD/linux/fs/proc/generic.c:521 remove_proc_entry+0x1a1/0x1b0() [21135.458572] remove_proc_entry: removing non-empty directory 'irq/47', leaking at least 'saa7164[0]' Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Steven Toth <stoth@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3053460482af5f43d6967f34c8497a615969e604 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 25 18:38:25 2015 +0200 drm: rcar-du: Fix hardware plane allocation The hardware plane allocator loops over all planes to find free candidates. However, instead of looping over the number of hardware planes, it loops over the number of software planes, which happens to be larger by one unit. This has no effect in practise as the extra plane is always cleared in the mask of free planes, but it should still be fixed for correctness. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 917de180379da229c8c37fa790b76d0353576581 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Feb 17 18:34:17 2015 +0200 drm: rcar-du: Implement universal plane support Explicitly create the CRTC primary plane instead of relying on the core helpers to do so. This simplifies the plane logic by merging the KMS and software planes. Reject plane API operations on the primary planes for now, as that code will anyway be refactored when implementing support for atomic updates. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit a64b9c7e56590248445ee23f835309ede500d019 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 25 18:21:12 2015 +0200 drm: rcar-du: Define macros for the max number of groups, CRTCs and LVDS Let's avoid magic constants. Beside increasing code readability, it will also ensure that no location will be forgotten when raising the maximum number of groups, CRTCs or LVDS encoders Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 931b7336214bec8538babfde5eaa6833e179c804 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Feb 24 03:51:26 2015 +0200 drm: rcar-du: Disable fbdev emulation when no connector is present fbdev emulation requires at least one connector, and will fail to initialize if no connector has been successfully instantiated. Disable it in that case and print an informational message instead of failing probe with a confusing fbdev emulation error message. It could be argued that probe should fail when no connector is present, but the DU could still be useful in that case with the to-be-implemented memory write-back support. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 0cd90a542885a1272b58f96bbe4010588105e1bc Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 13:14:46 2015 +0200 drm: rcar-du: Turn vblank on/off when enabling/disabling CRTC The DRM core vblank handling mechanism requires drivers to forcefully turn vblank reporting off when disabling the CRTC, and to restore the vblank reporting status when enabling the CRTC. Implement this using the drm_crtc_vblank_on/off helpers. When disabling vblank we must first wait for page flips to complete, so implement page flip completion wait as well. Finally, drm_crtc_vblank_off() must be called at startup to synchronize the state of the vblank core code with the hardware, which is initially disabled. This is performed at CRTC creation time, requiring vertical blanking to be initialized before creating CRTCs. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 36693f3c3254d9361095f6b225d5e69bd8da5c32 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 13:21:56 2015 +0200 drm: rcar-du: Wait for page flip completion when turning the CRTC off Turning a CRTC off will prevent a queued page flip from ever completing, potentially confusing userspace. Wait for queued page flips to complete before turning the CRTC off to avoid this. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 17f6b8a0270f7a40b3dbe07dbcb6cb7f67ce570a Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 13:42:40 2015 +0200 drm: rcar-du: Reorder CRTC functions The next commit will need functions to be reordered to avoid forward declarations. Do it separately to help review. This only moves functions without any change to the code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 8b37c3264788a13861f318a8bfc7d73f0d0986ce Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 13:22:44 2015 +0200 drm: rcar-du: Don't set connector->encoder at init time The drm_connector encoder field points to the encoder driving the connector. No such association exists at init time, as all pipelines are disabled. Don't set the field. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit df78222d78f0f985ffb7917df4a058113e227561 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 22:35:52 2015 +0200 drm: rcar-du: Remove drm_fbdev_cma_restore_mode() call at init time The function is meant to restore the fbdev mode in the lastclose handler, not to be called at init time. Remove the call. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 0e211da8d83fafdd27b94d4f2a8f8d5b96b2a552 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 17:46:14 2015 +0200 drm: rcar-du: Don't disable unused functions at init time All encoders and CRTCs start disabled, re-disabling them is a no-op. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f35593fdc8851aa28f6949bd48fe90653d383017 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Feb 20 15:12:54 2015 -0300 [media] saa7146: replace current->state by set_current_state() Use helper functions to access current->state. Direct assignments are prone to races and therefore buggy. current->state = TASK_RUNNING can be replaced by __set_current_state() Thanks to Peter Zijlstra for the exact definition of the problem. Suggested-By: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0cbfc065fe15a51e4f637888263ecf82057a6e00 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Feb 20 11:49:05 2015 +0100 bcma: gpio: enable GPIO IRQ domain on BCM5301X Just like on BCM47XX arch, BCM5301X also has ChipCommon with IRQ for GPIOs. Now we have interrupts working on BCM5301X we can finally make use of it. This has been successfully tested on 5 different devices (Buffalo, Luxul, Netgear). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 16f7031aeb63fc567c95bd2c3e431499defe2bf0 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Wed Feb 18 14:09:38 2015 -0600 ssb: Silence warning for unknown backplane revision When using a BCM4318 in a PCMCIA format, I get a startup message that the device uses backplane revision 0xF000000. Next a WARNING is logged. Despite the message, the device works fine, This patch silences the warning. Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2a19f7765bd90a56f3916a603e25b57b3b087480 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Sun Mar 1 17:48:33 2015 +0000 wil6210: increase cmd buffer size to avoid sscanf buffer overflow cppcheck detected a buffer overflow: [drivers/net/wireless/ath/wil6210/debugfs.c:634]: (error) Width 8 given in format string (no. 1) is larger than destination buffer 'cmd[8]', use %7s to prevent overflowing it. For the current %8s sscanf we require cmd to be 9 chars long so increase it by 1 byte to prevent the sscan overflow (rather than reduce the %8s specifier to %7s as cppcheck recommends). Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Acked-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 587945147cfe48c84dd92c022e25aad6d92c0da8 Author: Bandan Das <bsd@xxxxxxxxxx> Date: Mon Mar 2 17:51:10 2015 -0500 cgroup: Use kvfree in pidlist_free() The wrapper already calls the appropriate free function, use it instead of spinning our own. Signed-off-by: Bandan Das <bsd@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6e6dd08dd3202d735143c973b888572955603391 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:49 2015 +0530 ath9k: Fix issues in the main btcoex timer * ath9k_mci_update_rssi() is required only for cards that use MCI scheme. Make sure that it is not called for 3-wire cards. * Call ath9k_ps_wakeup() early since register accesses are made in ath9k_mci_update_rssi(). * Fix usage of btcoex_lock to handle no_stomp_timer. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c7266e99b1b0242496557b19a978d748e12a580b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:48 2015 +0530 ath9k: Handle timers for MCI Make sure that the btcoex timers are started/stopped properly for both 3-wire and MCI schemes. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 30b818989100830273c03439e363ff420c78e964 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:47 2015 +0530 ath9k: Fix wlan-active gpio for the AR9003 family When disabling BTCOEX, clearing the wlanactive gpio line is required only for pre-AR9003 cards. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e1ff147d878ab2b74621abc92a6902db94b2f6ab Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:46 2015 +0530 ath9k: Fix MCI scheme initialization Commit "ath9k_hw: remove ATH_BTCOEX_CFG_MCI" removed MCI as a separate coex scheme, but we need it to avoid fiddling with GPIO registers during ath9k_init_btcoex() that are meant only for 3-wire cards. Cc: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 510baea1e46da47bcaa5e93c664abd84ab6ee21a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:45 2015 +0530 ath9k: Initialize MCI state correctly The MCI configuration values are assigned in ath9k_hw_btcoex_init_mci() which are used by the MCI reset routine. When initializing BTCOEX/MCI, ath_mci_setup() ends up using uninitialized data. Fix this by setting up the configuration parameters before issuing a MCI reset. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 44b9b56e509508ceeaadd33da66df9d85e576d47 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:44 2015 +0530 ath9k: Remove useless return value check ath_init_btcoex_timer() always returns 0, so checking for error conditions is not required. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 3f5fe2364836cf809b740a15cfe96270e6e9beae Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Thu Feb 26 04:34:01 2015 +0900 rtlwifi: rtl8192cu: Add case in rtl92cu_get_hw_reg Add HAL_DEF_WOWLAN case in rtl92cu_get_hw_reg Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bf97bf226ad9e23ccda91fbe803ab6ff69f6a5f3 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Feb 25 22:15:41 2015 +0530 mwifiex: do not initialize ext_scan in mwifiex_init_adapter Features which are device specific are already updated in interface specific initialization e.g. register_dev. We should not initialize them in mwifiex_init_adapter(); else this would overwrite earlier settings. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1114ce8f361f3ff880b28f508ba2b0995d1540bb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:24:51 2015 +0300 rtlwifi: rtl8188ee: missing curly braces in handle_branch1() From the indenting, it seems like the READ_NEXT_PAIR() was supposed to be inside the while loop. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit df905570bbf18139c0a437ec2f63bb33a03e9703 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 13:05:59 2015 +0100 rtlwifi: rtl8821ae: Remove duplicate hex prefixes The # flag in %X means print a 0X prefix. Remove the extra 0x prefix. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 809abdbf46377abe39a72884d026979bb1dbd6d3 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sat Feb 28 12:25:24 2015 -0300 [media] cx231xx: Hauppauge HVR-955Q ATSC/QAM tuner Hauppauge HVR-955Q is a ATSC/QAM USB tuner with LGDT3306A demodulator and SiLabs Si2157-A30 tuner. Only digital TV has been tested (both ATSC and QAM256). Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 97bf861572adacadc7a217487d77ba5c0be4b99d Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Feb 17 10:12:18 2015 +0100 ath9k: add per-vif TX power capability to TX path In order to add per-vif TX power capability cap per-packet TX power to vif configured power if the latter is lower than per-rate TX power and mac80211 per-frame power. Use vif TX power if TPC has been disabled for current the interface Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 283dd11994cde99447a6dac203d96c0800e85e82 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Feb 17 10:12:17 2015 +0100 ath9k: add per-vif TX power capability Configure the HW with highest TX power among all vif when HW TPC has been enabled in order to add support to per-vif TX power capability. Use lowest configured power among all interfaces when TPC is disabled Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c28aebe178a403f0e8632a283bc4d683b0c93e83 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sat Feb 28 12:25:23 2015 -0300 [media] si2157: IF frequency for ATSC and QAM For supporting ATSC and QAM modes the driver should use a smaller IF frequency than 5 MHz. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 95f22c5aaed3415ff4a2df6a1ff76b3127123430 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:40:20 2014 -0200 [media] lgdt3306a: Minor source code cleanups Fix a few minor CodingStyle issues at the source code: - Use proper multi-line comments; - Align the log tables; - Remove the .type from dvb_frontend_ops, since this is not needed anymore (since the drivers conversion to DVBv5); - Remove emacs format macro. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 534f4364f9baa14c8c1431c0584cf5a291d09d3c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:35:18 2014 -0200 [media] lgdt3306a: Break long lines Fix most of checkpatch warnings like: WARNING: line over 80 characters Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9369fe012d06c4a8775984609bc068e85bfeec8f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:30:44 2014 -0200 [media] lgdt3306a: constify log tables Ideally, we should be replacing this function by intlog10(). While we don't do that, let's at least constify the tables, in order to remove its code footfrint, and get rid of nelems. This also fixes a few 80-cols CodingStyle warnings. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c9897649db868dc7d42a92437534baa7bbe04044 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:07:52 2014 -0200 [media] lbdt3306a: remove uneeded braces WARNING: braces {} are not necessary for any arm of this statement + if (ret == 0) { [...] + } else { [...] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b4e43e959b45549a1d5341d89571fb4d8d03b736 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:05:35 2014 -0200 [media] lgdt3306a: Don't use else were not needed Get rid of the remaining checkpatch.pl warnings: WARNING: braces {} are not necessary for any arm of this statement Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b1a88c713a81705fd2a86d8d8404399f8acc76ba Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:00:48 2014 -0200 [media] lbdt3306a: simplify the lock status check The logic there is too complex and it looks like an inifite loop. So, simplify the logic and implement it as a for loop. This gets rid of the following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return + return LG3306_UNLOCK; + } else { WARNING: else is not generally useful after a break or return + return LG3306_UNLOCK; + } else { Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 097117cab5041cdd85aafc2a8af1113cbdf65e27 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 11:35:16 2014 -0200 [media] lbdt3306a: rework at printk macros Use pr_foo() where there's a direct replacement. For debug, use custom-made macros, for now, as there are 3 different debug levels. We should get rid of those some day, specially since several such macros can be just removed, as Kernel trace would provide about the same output. This gets rid of some checkpatch errors: WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ... +#define lg_info(fmt, arg...) printk(KERN_INFO "lgdt3306a: " fmt, ##arg) ERROR: Macros with complex values should be enclosed in parentheses +#define lg_dbg(fmt, arg...) if (debug & DBG_INFO) \ + lg_printk(KERN_DEBUG, fmt, ##arg) ERROR: Macros with complex values should be enclosed in parentheses +#define lg_reg(fmt, arg...) if (debug & DBG_REG) \ + lg_printk(KERN_DEBUG, fmt, ##arg) Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e2c47fa7dd4b38d930fe4131e65f0fa35236c9b5 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 11:27:34 2014 -0200 [media] lgdt3306a: Remove FSF address Fix this CodingStyle error: ERROR: Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so ag$ #56: FILE: drivers/media/dvb-frontends/lgdt3306a.c:19: + * along with this program; if not, write to the Free Software$ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ee0133eea0238067dab19587de7d88e4a3ea77e4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 11:21:48 2014 -0200 [media] lgdt3306a: properly handle I/O errors Fixes the following smatch errors: drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_set_if': drivers/media/dvb-frontends/lgdt3306a.c:695:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_monitor_vsb': drivers/media/dvb-frontends/lgdt3306a.c:1033:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_check_oper_mode': drivers/media/dvb-frontends/lgdt3306a.c:1082:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_check_lock_status': drivers/media/dvb-frontends/lgdt3306a.c:1109:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_check_neverlock_status': drivers/media/dvb-frontends/lgdt3306a.c:1185:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_pre_monitoring': drivers/media/dvb-frontends/lgdt3306a.c:1199:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_get_packet_error': drivers/media/dvb-frontends/lgdt3306a.c:1310:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a132fef816606ebe9d20895b1535582bfede12a4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 11:07:03 2014 -0200 [media] lgdt3306a: don't go past the buffer As warned by smatch: drivers/media/dvb-frontends/lgdt3306a.c:1354 log10_x1000() error: buffer overflow 'valx_x10' 14 <= 14 drivers/media/dvb-frontends/lgdt3306a.c:1355 log10_x1000() error: buffer overflow 'log10x_x1000' 14 <= 14 There's a potential of returning a value out of the buffer. Fix it. While here, remove the ugly braced block. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 15c546e1c896058ebffc437e609000b3bf394451 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 11:02:13 2014 -0200 [media] lgdt3306a: one bit fields should be unsigned Fix two smatch warnings: drivers/media/dvb-frontends/lgdt3306a.h:53:28: error: dubious one-bit signed bitfield drivers/media/dvb-frontends/lgdt3306a.h:56:33: error: dubious one-bit signed bitfield Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c43e6512058d21f8c2b73856cc2c7f32b032ccdc Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 10:56:10 2014 -0200 [media] lgdt3306a: Use IS_ENABLED() for attach function Simplify the check if CONFIG_DVB_LGDT3306A is enabled, use the IS_ENABLED() macro, just like the other frontend modules. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4937ba94a0b024b15711b7c184dc4e5a660d900c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 10:50:36 2014 -0200 [media] lgdt3306a: Use hexadecimal values in lowercase While this is not a mandatory rule at the CodingStyle, we prefer hexadecimal values in lowercase. Currently, there's a mix of lowercase and uppercase ons at lgdt3306a. So, convert all to lowercase with this small script: perl -ne 'if (m,0x([\dA-F]+),) { $o=$1; $n=lc $1; s,0x($o),0x$n, } print $_' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 34a5a2f8115620f91de0bf442cacc9fb9d92874d Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sat Oct 25 11:26:15 2014 -0300 [media] lgdt3306a: more small whitespace cleanups Just CodingStyle. No functional changes. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 831a91120a9399a061f0cb0a4562ecf7c83b3926 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sat Oct 25 11:20:57 2014 -0300 [media] lgdt3306a: typo fix fix WARNING: 'supress' may be misspelled - perhaps 'suppress'? Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cb4671c87f795c22a159507b0e47bea16da1ac26 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sat Oct 25 11:12:25 2014 -0300 [media] lgdt3306a: fix WARNING: please, no spaces at the start of a line Properly indent register initialization tables. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6da7ac985779937903ffb7147e3fe3ef33ff48f3 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sat Oct 25 11:05:05 2014 -0300 [media] lgdt3306a: fix ERROR: do not use C99 // comments Replace C99 comments by /* */ blocks. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f883d603d4ba0485529c733e7232249f0cc8c938 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sun Aug 3 15:29:04 2014 -0300 [media] lgdt3306a: do not add new typedefs We should not be using typedefs at the Kernel, as this makes harder for reviewers to understand the code. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ae21e447773f17b61014c286ed5e0fc3db874df6 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sun Aug 3 15:18:23 2014 -0300 [media] lgdt3306a: fix ERROR: do not use assignment in if condition Just CodingStyle fix. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ebd9175ea4c0b818cf14ef1074b5d5a93e57916a Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sun Aug 3 15:05:59 2014 -0300 [media] lgdt3306a: move EXPORT_SYMBOL to be just after function Fixes CodingStyle error: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c714efe458e72a84cf898074269d40a575034464 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sun Aug 3 14:51:49 2014 -0300 [media] lgdt3306a: remove unnecessary 'else' No need for an else, as the previous if will return. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8e8cd34eaaf96c4bfc472ec0b4d6f7d3951c051f Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sun Jul 27 19:24:24 2014 -0300 [media] lgdt3306a: clean up whitespace & unneeded brackets No functional changes. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b63b36fa44d0225de994a535307f941ca87fa908 Author: Fred Richter <frichter@xxxxxxxxxxxxx> Date: Mon Mar 24 19:56:00 2014 -0300 [media] DVB: add support for LG Electronics LGDT3306A ATSC/QAM-B Demodulator This ATSC/QAM-B demodulator is used by several new devices. Add support for it. Other patches will fix CodingStyle issues. Signed-off-by: Fred Richter <frichter@xxxxxxxxxxxxx> Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit be1f8d31c93b770347b2cc9e2dd37189baf1177f Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 15:01:57 2015 +0200 rtlwifi: Remove unused RTL_SUPPORTED_CTRL_FILTER define Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit baeeb3ca934de66d2d2b60af7ecb75583614e58d Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 15:01:56 2015 +0200 rtlwifi: Remove unused defines from efuse.h Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 44a56d6c81d3b4603b01fbb41d5133ced69df2d2 Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 15:01:55 2015 +0200 rtlwifi: Remove unused defines from base.h Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8a09dd2ed2bc04d0f6204795f02407285f7df0d8 Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 15:01:54 2015 +0200 rtlwifi: Remove unused defines from cam.h Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6d4007fd6a4b750969e7a0454dd1c95088819d40 Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 15:01:53 2015 +0200 rtlwifi: Remove unused RF6052_MAX_REG define Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6e7c1baa973a6adf574b1ebaabde37800fb8379f Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 14:59:55 2015 +0200 rtlwifi: Remove unused defines from driver-specific def.h HAL_RETRY_LIMIT_* RESET_DELAY_8185 RT_IBSS_INT_MASKS RT_AC_INT_MASKS NUM_OF_* BT_*, MAX_{LINES,BYTES}_*, *_THREE_WIRE *_QUEUE related Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b4926aff3ecea71486d4e3dc25964e8c588753d4 Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 14:59:54 2015 +0200 rtlwifi: Remove unused defines from rtl8192cu driver Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2264fc857decd45798368f46861d9aecac23546f Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Mar 3 07:32:57 2015 +0100 bcma: add missing includes kbuild found out that commit 804e27dee49e ("bcma: support bringing up bus hosted on PCIe Gen 2") broke the build on m68k: drivers/bcma/driver_pcie2.c: In function 'bcma_core_pcie2_up': >> drivers/bcma/driver_pcie2.c:196:2: error: implicit declaration of function 'pcie_set_readrq' [-Werror\ =implicit-function-declaration] err = pcie_set_readrq(dev, pcie2->reqsize); ^ cc1: some warnings being treated as errors Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d5c00762ec5db2f7a7c0b54415b7df364c78d39d Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Feb 23 15:20:22 2015 -0300 [media] media: fix gspca drivers build dependencies Several (15) drivers in media/usb/gspca use IF_ENABLED(CONFIG_INPUT) to decide if they should call input* interfaces, but those drivers do not build successfully when CONFIG_INPUT=m and the gspca drivers are builtin (=y). Making USB_GSPCA depend on INPUT || INPUT=n fixes the build dependencies and allows all of them to build cleanly. Fixes these build errors (selections, not all are listed): drivers/built-in.o: In function `gspca_disconnect': (.text+0x32ed0f): undefined reference to `input_unregister_device' drivers/built-in.o: In function `sd_isoc_irq': konica.c:(.text+0x333098): undefined reference to `input_event' konica.c:(.text+0x3330ab): undefined reference to `input_event' drivers/built-in.o: In function `sd_stopN': konica.c:(.text+0x3338d3): undefined reference to `input_event' konica.c:(.text+0x3338e5): undefined reference to `input_event' drivers/built-in.o: In function `ov51x_handle_button': ov519.c:(.text+0x335ddb): undefined reference to `input_event' drivers/built-in.o:ov519.c:(.text+0x335ded): more undefined references to `input_event' follow pac7302.c:(.text+0x336ea1): undefined reference to `input_event' pac7302.c:(.text+0x336eb3): undefined reference to `input_event' drivers/built-in.o: In function `sd_pkt_scan': spca561.c:(.text+0x338fd8): undefined reference to `input_event' drivers/built-in.o:spca561.c:(.text+0x338feb): more undefined references to `input_event' follow t613.c:(.text+0x33a6fd): undefined reference to `input_event' drivers/built-in.o:t613.c:(.text+0x33a70f): more undefined references to `input_event' follow Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8e48a2d54c5d74ea3e9dc4c3b9037786bb447f36 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 19 06:47:16 2015 -0300 [media] soc-camera: Fix devm_kfree() in soc_of_bind() Unlike scan_async_group(), soc_of_bind() doesn't allocate its soc_camera_async_client structure using devm_kzalloc(), but has it embedded inside the soc_of_info structure. Hence on failure, it must free the whole soc_of_info structure, and not just the embedded soc_camera_async_client structure, as the latter causes a warning, and may cause slab corruption: soc-camera-pdrv soc-camera-pdrv.0: Probing soc-camera-pdrv.0 ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1 at drivers/base/devres.c:887 devm_kfree+0x30/0x40() CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.19.0-shmobile-08386-g37feb0d093cb2d8e #128 Hardware name: Generic R8A7791 (Flattened Device Tree) Backtrace: [<c0011e7c>] (dump_backtrace) from [<c0012024>] (show_stack+0x18/0x1c) r6:c05a923b r5:00000009 r4:00000000 r3:00204140 [<c001200c>] (show_stack) from [<c048ed30>] (dump_stack+0x78/0x94) [<c048ecb8>] (dump_stack) from [<c002687c>] (warn_slowpath_common+0x8c/0xb8) r4:00000000 r3:00000000 [<c00267f0>] (warn_slowpath_common) from [<c0026980>] (warn_slowpath_null+0x24/0x2c) r8:ee7d8214 r7:ed83b810 r6:ed83bc20 r5:fffffffa r4:ed83e510 [<c002695c>] (warn_slowpath_null) from [<c025e0cc>] (devm_kfree+0x30/0x40) [<c025e09c>] (devm_kfree) from [<c032bbf4>] (soc_of_bind.isra.14+0x194/0x1d4) [<c032ba60>] (soc_of_bind.isra.14) from [<c032c6b8>] (soc_camera_host_register+0x208/0x31c) r9:00000070 r8:ee7e05d0 r7:ee153210 r6:00000000 r5:ee7e0218 r4:ed83bc20 [<c032c4b0>] (soc_camera_host_register) from [<c032e80c>] (rcar_vin_probe+0x1f4/0x238) r8:ee153200 r7:00000008 r6:ee153210 r5:ed83bc10 r4:c066319c r3:000000c0 [<c032e618>] (rcar_vin_probe) from [<c025c334>] (platform_drv_probe+0x50/0xa0) r10:00000000 r9:c0662fa8 r8:00000000 r7:c06a3700 r6:c0662fa8 r5:ee153210 r4:00000000 [<c025c2e4>] (platform_drv_probe) from [<c025af08>] (driver_probe_device+0xc4/0x208) r6:c06a36f4 r5:00000000 r4:ee153210 r3:c025c2e4 [<c025ae44>] (driver_probe_device) from [<c025b108>] (__driver_attach+0x70/0x94) r9:c066f9c0 r8:c0624a98 r7:c065b790 r6:c0662fa8 r5:ee153244 r4:ee153210 [<c025b098>] (__driver_attach) from [<c025984c>] (bus_for_each_dev+0x74/0x98) r6:c025b098 r5:c0662fa8 r4:00000000 r3:00000001 [<c02597d8>] (bus_for_each_dev) from [<c025b1dc>] (driver_attach+0x20/0x28) r6:ed83c200 r5:00000000 r4:c0662fa8 [<c025b1bc>] (driver_attach) from [<c025a00c>] (bus_add_driver+0xdc/0x1c4) [<c0259f30>] (bus_add_driver) from [<c025b8f4>] (driver_register+0xa4/0xe8) r7:c0624a98 r6:00000000 r5:c060b010 r4:c0662fa8 [<c025b850>] (driver_register) from [<c025ccd0>] (__platform_driver_register+0x50/0x64) r5:c060b010 r4:ed8394c0 [<c025cc80>] (__platform_driver_register) from [<c060b028>] (rcar_vin_driver_init+0x18/0x20) [<c060b010>] (rcar_vin_driver_init) from [<c05edde8>] (do_one_initcall+0x108/0x1b8) [<c05edce0>] (do_one_initcall) from [<c05edfb4>] (kernel_init_freeable+0x11c/0x1e4) r9:c066f9c0 r8:c066f9c0 r7:c062eab0 r6:c06252c4 r5:000000ad r4:00000006 [<c05ede98>] (kernel_init_freeable) from [<c048c3d0>] (kernel_init+0x10/0xec) r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c048c3c0 r4:00000000 [<c048c3c0>] (kernel_init) from [<c000eba0>] (ret_from_fork+0x14/0x34) r4:00000000 r3:ee04e000 ---[ end trace e3a984cc0335c8a0 ]--- rcar_vin e6ef1000.video: group probe failed: -6 Fixes: 1ddc6a6caa94e1e1 ("[media] soc_camera: add support for dt binding soc_camera drivers") Cc: <stable@xxxxxxxxxxxxxxx> # 3.17+ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2f119c7895af56ca26b8e94f4650145a4b1b0d12 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Fri Feb 6 10:59:53 2015 +0100 iommu/vt-d: Convert non-returned local variable to boolean when relevant This patch was produced using Coccinelle. A simplified version of the semantic patch is: @r exists@ identifier f; local idexpression u8 x; identifier xname; @@ f(...) { ...when any ( x@xname = 1; | x@xname = 0; ) ...when any } @bad exists@ identifier r.f; local idexpression u8 r.x expression e1 != {0, 1}, e2; @@ f(...) { ...when any ( x = e1; | x + e2 ) ...when any } @depends on !bad@ identifier r.f; local idexpression u8 r.x; identifier r.xname; @@ f(...) { ... ++ bool xname; - int xname; <... ( x = - 1 + true | x = - -1 + false ) ...> } Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e6d72d20519c5d4941ed91d03edadd133d277e08 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Feb 19 10:49:40 2015 -0300 [media] DocBook media: fix xvYCC601 documentation The documentation of the xvYCC601 Y'CbCr encoding was part of the SMPTE 170M (SDTV) colorspace, but it should have been part of the Rec. 709 (HDTV) colorspace as per the xvYCC standard. This change only affects the documentation and not any code. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ef2e1a4410e3debf159c5b41836a301ac8ffbcdb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Tue Mar 3 02:39:36 2015 -0500 staging/lustre/llite: Fix obd name after c&p error commit 95745e9b1de2 ("staging: lustre: Use kasprintf.") introduced a copy and paste error causing two different obd types to be assigned same content causing lustre to fail on mount with a warning from procfs followed by a bizzare error about OST not having enough MDS capabilities. This patch unbreaks Lustre client again. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> CC: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> CC: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f890caba6ddb8d72d485e94df74cfa7626ccb0f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:50:01 2015 +0530 ath9k: Mute BT properly Set The BT/WLAN priority weights correctly and make sure that MCI_LNA_TAKE is sent only for cards that share PA/LNA. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ad1dc638725d7c5cc96a1b4556f456c303a553c7 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:50:00 2015 +0530 ath9k: Fix GPM initialization Handle MCI_STATE_INIT_GPM_OFFSET separately and do not overload ar9003_mci_get_next_gpm_offset() with a special case. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bc80d526d30208a4aad87a694209572ba6c5877a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:59 2015 +0530 ath9k: Prepare MCI interface correctly The LNA_TRANS message needs to be sent only for chips which have shared PA/LNA. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4d9f7c68b78d99d7972572fd77c41cab15225381 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:58 2015 +0530 ath9k: Setup MCI statistics properly Use a subroutine to enable MCI debug statistics if it is present in the global configuration. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d808ecd8743c0254981591bd086951d08245267f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:57 2015 +0530 ath9k: Fix MCI TX control This patch makes sure that the antenna configuration is used properly when setting AR_MCI_TX_CTRL. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e18e164e9af5e80897b0eea19f22ea2a086f36b6 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:56 2015 +0530 ath9k: Handle 2-ANT AR9565 in MCI reset The value programmed in the BTCOEX control register is different for each chip. This patch adds support for 2-ANT, 1-ANT solutions based on AR9565. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d1d07813bb3e2e79c6e8a026d908a3482ebd7a17 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:55 2015 +0530 ath9k: Add new MCI configuration parameters Several new MCI parameters need to be handled for new chips, add them. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7d1805e194dc9916dceb683f9763bf7cd7d68c20 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:54 2015 +0530 ath9k: Remove useless check in MCI reset If we fail to allocate the sched/gpm buffers when initializing MCI, we bail out properly. Checking them in ar9003_mci_reset() is unnecessary, so remove it. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ae55099f5b6f79ec88a91af3dae3f6cdfec92303 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:53 2015 +0530 ath9k: Move MCI registers to reg_mci.h Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 25efdcb43c9ed43ae342585d26f8338c3ade97d2 Merge: 023a600 a858b5e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 13:53:16 2015 +0100 Merge tag 'intel_microcode_cleanup_p1' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/microcode Pull x86 microcode loader code cleanups from Borislav Petkov: "The first part of the scrubbing of the intel early microcode loader. There's more work to come but let's unload this pile first." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ff5e56859d3887eca6479d2868521126a83ceda1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Mar 3 11:58:13 2015 +0100 iwlegacy: 4965-rs: Remove bogus colon after newline from debug message Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a437b3d928feb325db28f13aeedff5b6a2d2a3b4 Merge: 9b6cc9a 190f102 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Mar 3 13:49:36 2015 +0200 Merge tag 'iwlwifi-next-for-kalle-2015-03-01' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * add triggers for firmware dump collection * remove support for -9.ucode * new statitics API * rate control improvements commit 6d4d1984df1ca6347414b9d8fa4783f548ee4cc8 Merge: 023a600 04769ae Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 12:14:58 2015 +0100 Merge tag 'tip_x86_kernel' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/debug Pull x86 debugging updates from Borislav Petkov: "Two small fixes to the stack dumper, a cleanup and sustaining the previous log level after a newline. (Adrien Schildknecht)" Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ae486033b980346eb6a77240101210cb66924a91 Merge: f353e61 110d7f7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 12:12:15 2015 +0100 Merge tag 'tip_x86_fpu' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/fpu Pull x86/fpu updates from Borislav Petkov: "Three more cleanups/improvements to the FPU handling code. (Oleg Nesterov)" Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d56db741b8e688a0b9d4d5bb9caa11dfcb7c0b08 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 23:25:35 2015 +0100 ALSA: hda - Release resources in device release callback Move the destructor code to device release callback for the codec object instead. This is a safer place to release the resources than dev_free callback in general. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2f35c630f7d49efdef29b58d81ed2531ddd916d9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 22:43:26 2015 +0100 ALSA: hda - Use standard workqueue for unsol and jack events The events that are handled by HD-audio drivers are no frequent and urgent ones, so we can use the standard workqueue without any problem nowadays. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bcd96557bd0ab1129fcdde073d5700aed8fcb942 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 20:44:54 2015 +0100 ALSA: hda - Build PCMs and controls at codec driver probe This makes the code flow easier -- instead of the controller driver calling snd_hda_build_pcms() and snd_hda_build_controls() explicitly, the codec driver itself builds PCMs and controls at probe time. Then the controller driver only needs to call snd_card_register(). Also, this allows us the full bind/unbind control, too. Even when a codec driver is bound later, it automatically registers the new PCM and controls by itself. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9a6246ff78ac33af78f82704cde6fec361597eea Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 18:17:28 2015 +0100 ALSA: hda - Implement unbind more safely Now we have all pieces ready, and put them into places: - add the hda_pcm refcount to azx_pcm_open() and azx_pcm_close(), - call the most of cleanup code in hda_codec_reset() from the codec driver remove, - call the same code also from the hda_codec object free. Then the codec driver can be unbound more safely now. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e086e3035e0691b362755d1b5e24df631eee335a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 18:01:22 2015 +0100 ALSA: core: Re-add snd_device_disconnect() Revive snd_device_disconnect() again so that it can be called from the individual driver. This time, HD-audio will need it. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 61ca4107a16828559e2463e49b87002990da0b98 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 17:57:55 2015 +0100 ALSA: hda - Don't assume non-NULL PCM ops The PCM ops might be set NULL, or cleared to NULL when the driver is unbound. Give a proper NULL check at each place to be more robust. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bbbc7e8502c95237dbd86cc4d0a12ca9a6b18c8f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 17:43:19 2015 +0100 ALSA: hda - Allocate hda_pcm objects dynamically So far, the hda_codec object kept the hda_pcm list in an array, and the codec driver was expected to assign the array. However, this makes the object life cycle management harder, because the assigned array is freed at the codec driver detach while it might be still accessed by the opened streams. In this patch, we allocate each hda_pcm object dynamically and manage it as a linked list. Each object has a kref refcount, and both the codec driver binder and the PCM open/close touches it, so that the object won't be freed while in use. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f4de8fe6cffb449a779dff61f071bd1af9e18e0f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 16:17:18 2015 +0100 ALSA: hda - Remove superfluous memory allocation error messages The memory allocators should have already given the kernel warning messages, thus we don't have to annoy again. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6efdd8513f182492c21fb7238592d4539d5c751a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 16:09:22 2015 +0100 ALSA: hda - Add card field to hda_codec struct Allow the codec object to have an individual card pointer. Not only this simplifies the redirections in many places, also this will allow us to make each codec assigned to a different card object. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1a4ba30cced3002add8459eadcd65b8d3cd1515e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 24 11:50:11 2015 +0100 ALSA: hda - Split snd_hda_build_pcms() snd_hda_build_pcms() does actually three things: let the codec driver build up hda_pcm list, set the PCM default values, and call the attach_pcm bus ops for each hda_pcm instance. The former two are basically independent from the bus implementation, so it'd make the code a bit more readable. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e8361f70a85c3ecd8d5b971d4d8abcbb0f8586de Author: Stefan Agner <stefan@xxxxxxxx> Date: Tue Mar 3 00:28:31 2015 +0100 spi: spi-imx: use correct enumeration type The fourth argument of dmaengine_prep_slave_sg needs to be of the enumeration type dma_transfer_direction instead of dma_data_direction. Since the used enumeration values actually stay the same, this is not an actual issue at runtime. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 74005991b78a0a7a6546004fb37d33a651c613e7 Author: Fan Du <fan.du@xxxxxxxxx> Date: Tue Jan 27 17:00:29 2015 +0800 xfrm: Do not parse 32bits compiled xfrm netlink msg on 64bits host structure like xfrm_usersa_info or xfrm_userpolicy_info has different sizeof when compiled as 32bits and 64bits due to not appending pack attribute in their definition. This will result in broken SA and SP information when user trying to configure them through netlink interface. Inform user land about this situation instead of keeping silent, the upper test scripts would behave accordingly. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit ce458fcfcbaff08a1597f72f9c26e9a776ca934b Author: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Date: Tue Feb 24 06:58:54 2015 +0000 i40e/i40evf: Bump versions Bump i40e to 1.2.10 and i40evf to 1.2.4 Change-ID: I48aa64df05fcc8356e7026f3a9e69ecf78d0c785 Signed-off-by: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fc51de96ed2f7fcefb99991200aac6710b769eba Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Tue Feb 24 06:58:53 2015 +0000 i40e: Only enable TC0 for NIC partition type In case of MFP mode the driver was returning incorrect number of TCs for partitions that are not enabled for iSCSI. Though the driver does not configure these TCs in the Tx scheduler for the NIC partitions; it does use this map to setup the queue mappings. This patch fixes this and keeps all the NIC partitions to the default PF TC i.e. TC0. Change-ID: Iede214c907e7bac1356e999049b9f642759512b3 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 15d504b9464c87821db1e56f6d6774eb4ea929ea Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Tue Feb 24 06:58:52 2015 +0000 i40e: Register DCBNL ops in MFP mode Allow DCBNL operations in MFP mode to allow query of port DCB settings via all the PFs and register iSCSI APP on iSCSI enabled PF. Change-ID: I34cc39b4665d0a631847d4079350d3814f02381e Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ed250ecc5546649e0d8a1b8f000594314a666547 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Feb 24 06:58:51 2015 +0000 i40evf: ethtool RSS fixes Add an extra check to make sure that the indirection table pointer is valid before dereferencing it. Change-ID: I698adbf3daff03081d01f489dc95a9f1ad8b12f1 Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 66ddcffb1afb009d352115a61e25c237915d9e04 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Feb 24 06:58:50 2015 +0000 i40e: Fix RSS size at init since default num queue calculation has changed With changes to default number of queue pairs that the interface comes up with from 1 per online CPU to 1 per lan_msix, we need to make sure we recalculate rss_size. We will now recalculate rss_size based on number of queues enabled in the VSI. Without this fix if the max_lan_msix < num_online_cpu we will be coming up with fewer queues but will be populating rss_size based on num_online_cpus. This will result in packets getting silently dropped because RSS LUT has queues that are not enabled. Change-ID: Ifac8796ce1be1758bb0c34f38dbf4a3a76621e76 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5db4cb59cdf1c4ce3c0fe8ecbcdb0f4694fe4986 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Feb 24 06:58:49 2015 +0000 i40e: Move RSS table size for VSIs to the VSI struct Since all VSIs don't have the same RSS table size, have one for each VSI instead of having a single define for RSS table size Change-ID: Ic2c7c66e4a389d4b6c8841a707510a9735041f02 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f8faaa40b4ca7f3486f8d2abdd524685e01e2a69 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Feb 24 06:58:48 2015 +0000 i40e/i40evf: Add missing packet types for VXLAN encapsulated packet types We were missing a few packet types for VXLAN offload. This patch fixes that. Change-ID: I4b23aa0b08e40ed49d0df6c49a5ed9f2009b44ce Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 750fcbcf18cabe0f44aba2f0bcfb39a31150fe10 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Tue Feb 24 06:58:47 2015 +0000 i40e: Fix issue with removal of apps from DBCNL app table This patch fixes an issue where the driver is not flushing out the DCBNL app table for applications that are not present in the local DCBX application configuration TLVs. Change-ID: I1f1ee04c81c145071b2ab15657546eb10b81fadb Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 025b4a545fc4ef99fb44b32842c6bc30d3690a3f Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Feb 24 06:58:46 2015 +0000 i40e: Add FW check to disable DCB and wrap autoneg workaround with FW check For FW < 4.33 DCB should be disabled. Also Autoneg workaround to avoid Rx stall is still needed for FW < 4.33. Change-ID: Iff36ad86be2f597e7701096014d6d094332a9a21 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9a3bd2f1e38e5f668200b5e720b4d87023f394d2 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Feb 24 06:58:44 2015 +0000 i40e: Enable more than 64 qps for the Main VSI When running in a single TC mode the HW can be configured to enable more than max RSS qps for the Main VSI. This patch makes it possible to enable as many as num_online_cpus(). ethtool -L can still be used to reconfigure number of qps to a smaller value. Change-ID: I3e2df085276982603d86dfd79477c0ada8d30b8f Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8f400824345969d18f8d10a0c5b681aa04211842 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Feb 24 06:58:43 2015 +0000 i40e: don't disable PF LB when disabling VFs Since we now have functionality to enable and disable PF loopback at runtime, don't try to do it automatically. Removing this call also gets rid of a bogus error message when removing the PF module with VFs enabled. Change-ID: Ic38652d8a3b9498d96113bfaa5ea7bad050862e9 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 579b23d8dc4c9d9a87b58cecc9ffdf326aca7b28 Author: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Date: Tue Feb 24 06:58:42 2015 +0000 i40e: Add safety net for switch calling This patch adds default case to handle unmatched switch calls. Change-ID: Icd203570a1dc5322c1038f68b98a83195e8ad28c Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7edf810c61ce054afc8798178d829d2f139bb976 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Tue Feb 24 06:58:41 2015 +0000 i40e/i40evf: print FW build number in version string Include the FW build number in the formatted FW version string. In order to fit within ethtool's 32 character limit, the etrack's unused high order bits are trimmed as is the leading 0 for the NVM version. This leaves us with 2 character left for if/when the etrack id goes to 5 hex chars and the NVM major number goes to 2 chars. Change-ID: Icb004c4b9b14a2f54dd200b467fcc1d7b9297308 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d40d00b1c24d4ecf23b24cb8e16027839bb24a59 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Tue Feb 24 06:58:40 2015 +0000 i40e: Skip the priority tagging if DCB is not enabled If DCB is not enabled priority tagging is not needed so skip over that section. Change-ID: Ia3f3fa07945b421259a9ca38329d6d1cbd6c6bcc Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit eca3204765d1f5438d9ace9b7186030b4c2d5b03 Author: Matthew Vick <matthew.vick@xxxxxxxxx> Date: Sat Jan 31 02:23:05 2015 +0000 fm10k: Resolve various spelling errors and checkpatch warnings Fix a few silly typos in the code and checkpatch warnings in support of general code cleanliness. Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5bf33dc687e8bf2dfc033930ad06437efeea01d9 Author: Matthew Vick <matthew.vick@xxxxxxxxx> Date: Thu Jan 29 07:17:27 2015 +0000 fm10k: Implement ndo_features_check The introduction of ndo_features_check allows drivers to report their offload capabilities per-skb. Implement this in fm10k to take advantage of this new functionality. Reported-by: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8c1a90aa497dc4e2f971028c4484566629757357 Author: Matthew Vick <matthew.vick@xxxxxxxxx> Date: Thu Jan 29 07:17:22 2015 +0000 fm10k: Modify tunnel length header check when offloading The FM10000 host interface can only support up to 184 bytes when performing tunnel offloads. Because of this, a check was added to prevent the driver from attempting to feed a header to the hardware too big for it to parse. Make this check a little more robust by calculating the inner L4 header length based on whether it is TCP or UDP. Cc: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 74f0414b2f9a6b12df208a69baa21e22178a2463 Merge: c517d83 44aa1d4 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Tue Mar 3 19:56:08 2015 +1100 Merge tag 'yama-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into next commit 393d23c4e22996ad0c694577927bcf13ba31beda Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Sat Feb 28 20:27:56 2015 +0000 mtd: atmel_nand: fix typo in dev_err error message Fix typo, "Unkown" -> "Unknown" Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Acked-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 94ac003b665fc04f13a7ab3b2be896b9b9503451 Merge: 788b94b ae536ac Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 07:17:53 2015 +0100 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 if given uprobe event accesses memory on older kernel (Masami Hiramatsu) - 'perf record' Documentation fixes (Namhyung Kim) - Report unsupported events properly in 'perf stat' (Suzuki K. Poulose) Infrastructure changes: - Avoid FORK after COMM when synthesizing records for pre-existing threads (Arnaldo Carvalho de Melo) - Reference count struct thread (Arnaldo Carvalho de Melo) - Don't keep the session around in 'perf sched', thread refcounting removes that need (Arnaldo Carvalho de Melo) - Initialize cpu set in pthread_attr_setaffinity_np() feature test (Adrian Hunter) - Only include tsc file for x86 (David Ahern) - Compare JOBS to 0 after grep (David Ahern) - Improve feature detection messages (Ingo Molnar) - Revert "perf: Remove the extra validity check on nr_pages" (Kan Liang) - Remove bias offset to find probe point by address (Masami Hiramatsu) - Fix build error on ARCH=i386/x86_64/sparc64 (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a655fa95fa354d5608fc899b06e33022ab5aad11 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Mon Mar 2 15:45:05 2015 +0100 ARM: imx: Fix trivial typo in comments change 'mutliple' to 'multiple' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit c6891ef89b3fe8b6a32a18072452e92fab51aecd Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Feb 28 12:47:46 2015 -0300 ARM: imx: Kconfig: Fix grammar in help text Use "This enables" in the Kconfig help text to fix grammar. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 9fece9bdabfff12610572a4e5c072bdc043fae9f Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sat Feb 21 16:08:21 2015 +0100 ARM: imx/iomux-v3: allow pad_list to be const Also fix all machine files to make use of it and while at it also make the pad lists __initconst. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit ae536acfacb65a4a9858c32b12361e09f84f4157 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 2 22:28:41 2015 -0300 perf sched: No need to keep the session around We were keeping the session around just because we kept pointers to struct thread instances, but now we reference count them, so no need for deferring the perf_session__delete call to after we traverse the work_list entries. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-9agtck6jdr3rebdp39z1lo0e@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f3b623b8490af7a9b819cbcf2d99ab4597ece94b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 2 22:21:35 2015 -0300 perf tools: Reference count struct thread We need to do that to stop accumulating entries in the dead_threads linked list, i.e. we were keeping references to threads in struct hists that continue to exist even after a thread exited and was removed from the machine threads rbtree. We still keep the dead_threads list, but just for debugging, allowing us to iterate at any given point over the threads that still are referenced by things like struct hist_entry. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-3ejvfyed0r7ue61dkurzjux4@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 89122aa8732b9339ea49c38909adb9163bdf048a Author: Sourav Poddar <sourav.poddar@xxxxxx> Date: Mon Mar 2 16:19:32 2015 +0530 ARM: OMAP2: hwmod: AM43XX: Add hwmod support for HDQ-1W These adds hwmod data for hdq/1w driver on AM43xx. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 263be3326b89a1a4994b29cbe898637fd72e6f0b Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:33 2015 +0100 at86rf230: restore trx len when needed In the most cases the spi messages has a length of two. Currently we always set the the len field to two before transmit a spi message. In cases for read out/write in the frame buffer we need another len. This patch use trx len two as default. For the frame buffer cases we restore the trx len to two on success and failure. This will reduce the len setting of two when it's already two. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 31fa74344c1e75fd66f7b43f456ae9e0a137ba69 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:32 2015 +0100 at86rf230: remove multiple dereferencing for ctx This patch cleanups the referencing for the state change context variable. The state change context should only set once and this is by initial a state change. This patch will use the initial state change variable in the complete handler of the state change by using the ctx context which should be always the same like the initial state change context. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cca990c85d37a9ed42d2cac53c619abec7faa12f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:31 2015 +0100 at86rf230: remove multiple dereferencing for irq By holding the irq variable inside at86rf230_state_change we can squash some multiple dereferencing for getting irq num. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 74de4c804c53f612ef1287e4241d8d06f8e794c7 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:30 2015 +0100 at86rf230: refactor receive handling This patch refactor the receive handling into one function. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ef5428a1386d472939c763abc68a9d0f1fb18dce Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:29 2015 +0100 at86rf230: cleanup and squash stack variable I had this variable because I thought it would be protected by disable/enable irq but this is not true. It's protected by stop/wake netdev queue which is called by ieee802154_xmit_complete. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ba6d22393284b703e6174278c31858bf59337ed2 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:28 2015 +0100 at86rf230: add transmit retry support This patch introduce a transmit retry handling into at86rf230 transmit path. Current behaviour is to wait the normal receive time if we want to go into STATE_TX_ON when the transceiver is in STATE_BUSY_RX_AACK which indicates that a frame is currently receiving. A non force state change will not interrupt the the receiving state. The current behaviour is that after the normal receive time we will start a force change into STATE_TX_ON. With this patch we do seven retries to go into STATE_TX_ON without forcing. After we hit the AT86RF2XX_MAX_TX_RETRIES we will start the force state change. This is a polling like method to go into STATE_TX_ON in times of maximum receiving time. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72500bc11e4da570bd66c0965e2dc74f52c8aba2 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Feb 16 18:57:53 2015 +0100 netfilter: bridge: rework reject handling bridge reject handling is not straightforward, there are many subtle differences depending on configuration. skb->dev is either the bridge port (PRE_ROUTING) or the bridge itself (INPUT), so we need to use indev instead. Also, checksum validation will only work reliably if we trim skb according to the l3 header size. While at it, add csum validation for ipv6 and skip existing tests if skb was already checked e.g. by GRO. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ee586bbc28fb7128133457cf711880d13a3b7ce4 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Feb 16 18:54:04 2015 +0100 netfilter: reject: don't send icmp error if csum is invalid tcp resets are never emitted if the packet that triggers the reject/reset has an invalid checksum. For icmp error responses there was no such check. It allows to distinguish icmp response generated via iptables -I INPUT -p udp --dport 42 -j REJECT and those emitted by network stack (won't respond if csum is invalid, REJECT does). Arguably its possible to avoid this by using conntrack and only using REJECT with -m conntrack NEW/RELATED. However, this doesn't work when connection tracking is not in use or when using nf_conntrack_checksum=0. Furthermore, sending errors in response to invalid csums doesn't make much sense so just add similar test as in nf_send_reset. Validate csum if needed and only send the response if it is ok. Reference: http://bugzilla.redhat.com/show_bug.cgi?id=1169829 Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3267c884cefa86c6d48c4d7c5571c20435271ecf Author: Kim, Ben Young Tae <ytkim@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 23:07:33 2015 +0000 Bluetooth: btusb: Add support for QCA ROME chipset family This patch supports ROME Bluetooth family from Qualcomm Atheros, e.g. QCA61x4 or QCA6574. New chipset have similar firmware downloading sequences to previous chipset from Atheros, however, it doesn't support vid/pid switching after downloading the patch so that firmware needs to be handled by btusb module directly. ROME chipset can be differentiated from previous version by reading ROM version. T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 16 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0cf3 ProdID=e300 Rev= 0.01 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA 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 T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 8 Spd=12 MxCh= 0 D: Ver= 2.01 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0cf3 ProdID=e360 Rev= 0.01 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA 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: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ace31982585a323afb194f56b9e0486f7bc6570c Author: Kim, Ben Young Tae <ytkim@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 23:06:14 2015 +0000 Bluetooth: btusb: Add setup callback for chip init on USB Some of chipset does not allow to send a patch or config files through HCI VS channel at early stage as well as they don't support to send USB patch files to other channel except USB bulk path. New callback added is for initialization of BT controller through USB Signed-off-by: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 96c110aaa7a9db17d5893a6416def2233ba769fb Author: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Date: Mon Mar 2 14:41:10 2015 -0800 ARM: dts: Enable Broadcom Cygnus BCM958305K DT file to enable the Wireless Audio reference design based on the BCM58305. Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 0c7e67a928ac5328d30a0638adec771511dc7074 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Sat Feb 28 13:33:30 2015 -0800 Input: add driver for Broadcom keypad controller Broadcom Keypad controller is used to interface a SoC with a matrix-type keypad device. The keypad controller supports multiple row and column lines. A key can be placed at each intersection of a unique row and a unique column. The keypad controller can sense a key-press and key-release and report the event using an interrupt to the CPU. Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b898441f4ece44933af90b116b467f7864dd1ae7 Merge: 61e021f 435e8eb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 2 16:43:46 2015 -0500 Merge branch 'neigh_cleanups' Eric W. Biederman says: ==================== Neighbour table and ax25 cleanups While looking at the neighbour table to what it would take to allow using next hops in a different address family than the current packets I found a partial resolution for my issues and I stumbled upon some work that makes the neighbour table code easier to understand and maintain. Long ago in a much younger kernel ax25 found a hack to use dev_rebuild_header to transmit it's packets instead of going through what today is ndo_start_xmit. When the neighbour table was rewritten into it's current form the ax25 code was such a challenge that arp_broken_ops appeard in arp.c and neigh_compat_output appeared in neighbour.c to keep the ax25 hack alive. With a little bit of work I was able to remove some of the hack that is the ax25 transmit path for ip packets and to isolate what remains into a slightly more readable piece of code in ax25_ip.c. Removing the need for the generic code to worry about ax25 special cases. After cleaning up the old ax25 hacks I also performed a little bit of work on neigh_resolve_output to remove the need for a dst entry and to ensure cached headers get a deterministic protocol value in their cached header. This guarantees that a cached header will not be different depending on which protocol of packet is transmitted, and it allows packets to be transmitted that don't have a dst entry. There remains a small amount of code that takes advantage of when packets have a dst entry but that is something different. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 435e8eb27edb4da0b47b9b980239bd59057a7362 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:14:14 2015 -0600 neigh: Don't require a dst in neigh_resolve_output Having a dst helps a little bit for teql but is fundamentally unnecessary and there are code paths where a dst is not available that it would be nice to use the neighbour cache. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdf53c58490bb52e17636eca8ad18d2c38ec3cb8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:13:22 2015 -0600 neigh: Don't require dst in neigh_hh_init - Add protocol to neigh_tbl so that dst->ops->protocol is not needed - Acquire the device from neigh->dev This results in a neigh_hh_init that will cache the samve values regardless of the packets flowing through it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59b2af26b9f674749216fd3bfba19d842de3671c Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:12:05 2015 -0600 arp: Kill arp_find There are no more callers so kill this function. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d476059e77d1af48453a58f9de1e36f2eaff6450 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:11:09 2015 -0600 net: Kill dev_rebuild_header Now that there are no more users kill dev_rebuild_header and all of it's implementations. This is long overdue. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 945db424bfbcb7b72a92702a487dc0000cd1efed Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:09:42 2015 -0600 ax25: Stop depending on arp_find Have ax25_neigh_output perform ordinary arp resolution before calling ax25_neigh_xmit. Call dev_hard_header in ax25_neigh_output with a destination address so it will not fail, and the destination mac address will not need to be set in ax25_neigh_xmit. Remove arp_find from ax25_neigh_xmit (the ordinary arp resolution added to ax25_neigh_output removes the need for calling arp_find). Document how close ax25_neigh_output is to neigh_resolve_output. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abb7b755d9af48c762a6f814e4cead677e694f93 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:08:43 2015 -0600 ax25: Stop calling/abusing dev_rebuild_header - Rename ax25_rebuild_header to ax25_neigh_xmit and call it from ax25_neigh_output directly. The rename is to make it clear that this is not a rebuild_header operation. - Remove ax25_rebuild_header from ax25_header_ops. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit def6775369fab9d36817b9a6bc58cab67f53f1dc Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:07:37 2015 -0600 neigh: Move neigh_compat_output into ax25_ip.c The only caller is now is ax25_neigh_construct so move neigh_compat_output into ax25_ip.c make it static and rename it ax25_neigh_output. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21bfb8e93301e55760dde9f775e58fd6c4f248f8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:06:31 2015 -0600 arp: Remove special case to give AX25 it's open arp operations. The special case has been pushed out into ax25_neigh_construct so there is no need to keep this code in arp.c Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b6a94bed0029a6b48055d89b8dea0567abca0ac Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:05:28 2015 -0600 ax25: Refactor to use private neighbour operations. AX25 already has it's own private arp cache operations to isolate it's abuse of dev_rebuild_header to transmit packets. Add a function ax25_neigh_construct that will allow all of the ax25 devices to force using these operations, so that the generic arp code does not need to. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46d4e47abee04c24055114d50e408078a09c4d36 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:04:31 2015 -0600 ax25: Make ax25_header and ax25_rebuild_header static The only user is in ax25_ip.c so stop exporting these functions. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 204d2dcae46150777ca90c6d480c57022796c547 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:03:45 2015 -0600 ax25/6pack: Replace sp_header_ops with ax25_header_ops The two sets of header operations are functionally identical remove the duplicate definition. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56fc7e7128a1ca9c52d8e2907f0f13871957b1bc Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:03:02 2015 -0600 ax25/kiss: Replace ax_header_ops with ax25_header_ops The two sets of header operations are functionally identical remove the duplicate definition. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03ec2ac0977dd1d44f8637f33c63a9a7022cf9af Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:02:19 2015 -0600 rose: Transmit packets in rose_xmit not rose_rebuild_header Patterned after the similar code in net/rom this turns out to be a trivial obviously correct transmformation. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b753af31abe416b19830d5ac7f8da6c16f165214 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:01:30 2015 -0600 rose: Set the destination address in rose_header Not setting the destination address is a bug that I suspect causes no problems today, as only the arp code seems to call dev_hard_header and the description I have of rose is that it is expected to be used with a static neigbour table. I have derived the offset and the length of the rose destination address from rose_rebuild_header where arp_find calls neigh_ha_snapshot to set the destination address. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e18dbd059319ac8d3fc0a0a23f6a8abcb9a59a31 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sun Mar 1 23:59:57 2015 -0600 ax25: In ax25_rebuild_header add missing kfree_skb In the unlikely (impossible?) event that we attempt to transmit an ax25 packet over a non-ax25 device free the skb so we don't leak it. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb2294c3432fb6366ec12b56a3b2a12cf4242b69 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sun Mar 1 13:25:47 2015 -0800 leds: lp8860: make use of devm_gpiod_get_optional The probe function open coded a bad variant of devm_gpiod_get_optional using devm_gpiod_get and just ignoring all errors. In contrast to that devm_gpiod_get_optional returns NULL if there was no corresponding gpio specified in the device tree (or ACPI table) and fails if there is an error (or GPIOLIB is not enabled). Moreover since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output which allows some simplification. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 2ed11312eb19506c027e7cac039994ad42a9cb2c Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Mar 2 02:14:26 2015 -0500 Revert "perf: Remove the extra validity check on nr_pages" This reverts commit 74390aa55678 ("perf: Remove the extra validity check on nr_pages") nr_pages equals to number of pages - 1 in perf_mmap. So nr_pages = 0 is valid. So the nr_pages != 0 && !is_power_of_2(nr_pages) are all needed for checking. Otherwise, for example, perf test 6 failed. # perf test 6 6: x86 rdpmc test :Error: mmap() syscall returned with (Invalid argument) FAILED! Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1425280466-7830-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1d93b850296339082b7ace26ed20385d3bc5e2c6 Author: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Date: Mon Mar 2 15:32:48 2015 +0100 power/smb347-charger.c: set IRQF_ONESHOT flag to ensure IRQ request Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request may fail. Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci Signed-off-by: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2438e78a48643d41defd4b90da19d17b9c3e65f3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 3 10:46:56 2015 -0300 [media] v4l2-core: drop g/s_priority ops The handling of VIDIOC_G/S_PRIORITY is now entirely done by the V4L2 core, so we can drop the g/s_priority ioctl ops. We do have to make sure though that when S_PRIORITY is called we check that the driver used struct v4l2_fh. This check can be removed once all drivers are converted to that structure. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cee05cb3598813f05a3419c56487e337ee84210f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 3 10:46:55 2015 -0300 [media] pvrusb2: use struct v4l2_fh By using struct v4l2_fh both the prio handling and the linked list implementation in pvrusb2 can be removed since both are now done in the v4l2 core if you use struct v4l2_fh. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Tested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 61e021f3b86cbbcc04cbe8ac7b7da2b8c94b5e8e Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Mar 2 15:21:55 2015 +0100 ebpf: move CONFIG_BPF_SYSCALL-only function declarations Masami noted that it would be better to hide the remaining CONFIG_BPF_SYSCALL-only function declarations within the BPF header ifdef, w/o else path dummy alternatives since these functions are not supposed to have a user outside of CONFIG_BPF_SYSCALL. Suggested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Reference: http://article.gmane.org/gmane.linux.kernel.api/8658 Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5cf6f7f327c95f09be859889be39e78950516556 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:09 2015 -0300 [media] v4l2-core: remove the old .ioctl BKL replacement To keep V4L2 drivers that did not yet convert to unlocked_ioctl happy, the v4l2 core had a .ioctl file operation that took a V4L2 lock. The last drivers are now converted to unlocked_ioctl, so all this old code can now be removed. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 06e5cc3d0d70a278baa7b9e1f466cd94b4a4285b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:08 2015 -0300 [media] uvc gadget: set device_caps in querycap The V4L2 core will warn if this is not done. Unfortunately this driver wasn't updated. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9945eb9fad4edba2893d15cd720a702e6281ce19 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:07 2015 -0300 [media] uvc gadget: switch to unlocked_ioctl Instead of .ioctl use unlocked_ioctl. This allows us to finally remove the old .ioctl op. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d8e96c4bf6e3cdb6580381fdad2bfd93fae36ff1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:06 2015 -0300 [media] uvc gadget: switch to v4l2 core locking Switch this driver over to the V4L2 core locking mechanism in preparation for switching to unlocked_ioctl. Suggested by Laurent Pinchart. This patch introduces a new mutex at the struct uvc_video level and drops the old mutex at the queue level. The new lock is now used for all ioctl locking and in the release file operation (the driver always has to take care of locking in file operations, the core only serializes ioctls). Note that the mmap and get_unmapped_area file operations no longer take a lock. Commit f035eb4e976ef5a059e30bc91cfd310ff030a7d3 fixed a AB-BA deadlock by moving all the locking down into vb2, so the mmap and get_unmapped_area file operations should no longer do any locking before calling into vb2. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2e1328dd5a8fd1fa98bf8fca49c5e6df61797a99 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:05 2015 -0300 [media] radio-bcm2048: use unlocked_ioctl instead of ioctl This driver does its own locking, so there is no need to use ioctl instead of unlocked_ioctl. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ab91c61129a7ef5b584d68670dcf8ca93d3611e5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:04 2015 -0300 [media] pvrusb2: replace .ioctl by .unlocked_ioctl As far as I can tell pvrusb2 does its own locking, so there is no need to use .ioctl. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b44b2e06ae463327334235bf160e804632b9b37c Author: Pablo Anton <pablo.anton@xxxxxxxxxxxxxxxx> Date: Tue Feb 3 14:13:18 2015 -0300 [media] media: i2c: ADV7604: Rename adv7604 prefixes It is confusing which parts of the driver are adv7604 specific, adv7611 specific or common for both. This patch renames any adv7604 prefixes (both for functions and defines) to adv76xx whenever they are common. Signed-off-by: Pablo Anton <pablo.anton@xxxxxxxxxxxxxxxx> Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxx> [hans.verkuil@xxxxxxxxx: rebased and renamed ADV76xx_fsc to ADV76XX_FSC] [hans.verkuil@xxxxxxxxx: kept the existing adv7604 driver name] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0cd1b0c3adaac2f9e8b5d2e739bf63a42fbf7ff2 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Wed Jan 21 13:33:47 2015 -0800 leds: Let the binding document example for leds-gpio follow the gpio bindings In the gpio bindings documents it is requested to use the marco's in include/dt-bindings/gpio/gpio.h whenever possible. The gpios in the led drivers don't seem to form an exception, so update the example in the document bindings. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 77f0379fa8823e5267509dfff83803a88bb297b0 Merge: 49b31e5 5f15893 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 2 14:55:05 2015 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next A small batch with accumulated updates in nf-next, mostly IPVS updates, they are: 1) Add 64-bits stats counters to IPVS, from Julian Anastasov. 2) Move NETFILTER_XT_MATCH_ADDRTYPE out of NETFILTER_ADVANCED as docker seem to require this, from Anton Blanchard. 3) Use boolean instead of numeric value in set_match_v*(), from coccinelle via Fengguang Wu. 4) Allows rescheduling of new connections in IPVS when port reuse is detected, from Marcelo Ricardo Leitner. 5) Add missing bits to support arptables extensions from nft_compat, from Arturo Borrero. Patrick is preparing a large batch to enhance the set infrastructure, named expressions among other things, that should follow up soon after this batch. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49b31e576a0a264872aa06dbc1ce6cd0cb9db278 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Mar 2 12:25:51 2015 +0100 filter: refactor common filter attach code into __sk_attach_prog Both sk_attach_filter() and sk_attach_bpf() are setting up sk_filter, charging skmem and attaching it to the socket after we got the eBPF prog up and ready. Lets refactor that into a common helper. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c973f76e7e931593825280861b9ede522b67f9af Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu Feb 5 05:56:42 2015 -0300 [media] media: radio: handle timeouts Add handling for timeout case. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit daa939db21108c951765ce1089d423fd90f8a447 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu Feb 5 04:58:48 2015 -0300 [media] media: radio: assign wait_for_completion_timeout to appropriately typed var wait_for_completion_timeout() returns unsigned long not int. This assigns the return value to an appropriately typed variable (also helps keep static code checkers happy). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 70c836a4d15f12aa50195937083b30a6945c2556 Merge: b484435 c91799c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 2 14:47:12 2015 -0500 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-03-02 Here's the first bluetooth-next pull request targeting the 4.1 kernel: - ieee802154/6lowpan cleanups - SCO routing to host interface support for the btmrvl driver - AMP code cleanups - Fixes to AMP HCI init sequence - Refactoring of the HCI callback mechanism - Added shutdown routine for Intel controllers in the btusb driver - New config option to enable/disable Bluetooth debugfs information - Fix for early data reception on L2CAP fixed channels Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6562f3bd396ab6d2c9b455e95c67e33bab73bff5 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Tue Mar 3 04:45:01 2015 +0900 ARM: exynos_defconfig: Disable IOMMU support Enabling Exynos DRM IOMMU support for Exynos is currently broken and causes a BUG on exynos-iommu driver. This was not an issue since the options was disabled in exynos_defconfig but after commit 8dcc14f82f06 ("drm/exynos: IOMMU support should not be selectable by user"), it is selected if EXYNOS_IOMMU is enabled which is in exynos_defconfig. So a kernel built using exynos_defconfig after the mentioned commit fails to boot [0]. Disable IOMMU support in Exynos defconfig until things get sorted out. [0]: [ 1.242183] ------------[ cut here ]------------ [ 1.246191] kernel BUG at drivers/iommu/exynos-iommu.c:481! [ 1.251747] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM [ 1.257561] Modules linked in: [ 1.260603] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.19.0-07478-g796e1c55717e #490 [ 1.268412] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 1.274489] task: ee06c000 ti: ee05a000 task.ti: ee05a000 [ 1.279874] PC is at __exynos_sysmmu_enable+0x184/0x190 [ 1.285080] LR is at exynos_iommu_attach_device+0x44/0xb0 [ 1.290461] pc : [<c0254a14>] lr : [<c0254a64>] psr: 60000193 [ 1.290461] sp : ee05bcf8 ip : 00000000 fp : ed84aa40 [ 1.301916] r10: ed84a890 r9 : a0000113 r8 : 6db30000 [ 1.307125] r7 : ed84aa40 r6 : 00000000 r5 : 00000000 r4 : ee174e10 [ 1.313635] r3 : 6db30000 r2 : ed84aa40 r1 : 6db30000 r0 : ee174e10 [ 1.320147] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel [ 1.327524] Control: 10c5387d Table: 4000406a DAC: 00000015 [ 1.333252] Process swapper/0 (pid: 1, stack limit = 0xee05a210) [ 1.339241] Stack: (0xee05bcf8 to 0xee05c000) [ 1.343581] bce0: 6db30000 ee174e10 [ 1.351741] bd00: ed84a880 00000000 ed84aa40 ee174e10 a0000113 ed84a890 00000000 c0254a64 [ 1.359900] bd20: 00000000 6db30000 ee174e10 ed84adc0 00000005 00000034 00000001 c0692c1c [ 1.368059] bd40: 00000097 c02526c8 ee29f050 c0017210 ee29f050 ee174e10 edab6810 c0282558 [ 1.376219] bd60: edab6a10 ee1cb000 00000005 c0283520 ee29f240 c028f210 edab6810 ee2ef280 [ 1.384378] bd80: edb24680 ed84a680 ee1cb000 c02883f8 edab6810 ee1cb000 ee1cb000 00000000 [ 1.392537] bda0: ed84a680 ee2ef450 00000000 c027e968 ee1cb000 00000000 00000000 c0268fd4 [ 1.400696] bdc0: edab6800 c06b0de4 ee1cb000 c026a8bc ee2ef0c0 c028f210 00000002 ee2ef460 [ 1.408855] bde0: ee2ef460 00000002 ee2ef280 c0288728 c04af5d0 edab6810 ee2ef280 00000000 [ 1.417014] be00: c06b1348 c0288918 c06b0f00 c06b0f00 edab6810 00000001 c06b0da0 c027eaf4 [ 1.425173] be20: c070334c edaee190 00000000 edab6810 ffffffed c06b0da0 00000000 c028da1c [ 1.433332] be40: edab6810 c070334c 00000000 c028c5f8 edab6810 c06b0da0 edab6844 00000000 [ 1.441492] be60: eda3c740 c028c7a4 c06b0da0 00000000 c028c718 c028af74 ee005274 ee3b7b40 [ 1.449652] be80: c06b0da0 ee3b7680 c06b1540 c028bde4 c05b6990 c06b0da0 c0703324 c06b0da0 [ 1.457811] bea0: c0703324 00000000 c069ab18 c028cdc4 00000000 00000000 c0703324 c027ebd8 [ 1.465970] bec0: 00000000 c05b6990 ffffffff 00000000 00000000 00000000 00000000 c00c4574 [ 1.474129] bee0: 00000000 00000000 c069ab18 c027eb1c 00000000 c069ab18 c069ab18 c0008944 [ 1.482288] bf00: 00000036 c04770e8 ee049800 c06eace0 ee06c000 60000113 c069eab0 00000000 [ 1.490447] bf20: 00000000 c069eab0 60000113 00000000 ef7fcabc ef7fcaae c061c594 c0038640 [ 1.498607] bf40: c05cb1d0 c061bc24 00000006 00000006 c069ea50 c06724d4 00000006 c06724b4 [ 1.506766] bf60: c06c7600 c0647588 c0692c1c 00000097 00000000 c0647d40 00000006 00000006 [ 1.514925] bf80: c0647588 c003d2d8 00000000 c046921c 00000000 00000000 00000000 00000000 [ 1.523084] bfa0: 00000000 c0469224 00000000 c000e680 00000000 00000000 00000000 00000000 [ 1.531243] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 1.539402] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000 [ 1.547567] [<c0254a14>] (__exynos_sysmmu_enable) from [<c0254a64>] (exynos_iommu_attach_device+0x44/0xb0) [ 1.557199] [<c0254a64>] (exynos_iommu_attach_device) from [<c02526c8>] (iommu_attach_device+0x18/0x24) [ 1.566576] [<c02526c8>] (iommu_attach_device) from [<c0017210>] (arm_iommu_attach_device+0x18/0x50) [ 1.575690] [<c0017210>] (arm_iommu_attach_device) from [<c0282558>] (drm_iommu_attach_device+0x50/0xb4) [ 1.585150] [<c0282558>] (drm_iommu_attach_device) from [<c0283520>] (fimd_bind+0x94/0x1b8) [ 1.593483] [<c0283520>] (fimd_bind) from [<c02883f8>] (component_bind_all+0xb4/0x214) [ 1.601380] [<c02883f8>] (component_bind_all) from [<c027e968>] (exynos_drm_load+0x9c/0x13c) [ 1.609802] [<c027e968>] (exynos_drm_load) from [<c0268fd4>] (drm_dev_register+0xa0/0xf4) [ 1.617960] [<c0268fd4>] (drm_dev_register) from [<c026a8bc>] (drm_platform_init+0x44/0xcc) [ 1.626293] [<c026a8bc>] (drm_platform_init) from [<c0288728>] (try_to_bring_up_master.part.3+0xc8/0x104) [ 1.635839] [<c0288728>] (try_to_bring_up_master.part.3) from [<c0288918>] (component_master_add_with_match+0xcc/0x114) [ 1.646602] [<c0288918>] (component_master_add_with_match) from [<c027eaf4>] (exynos_drm_platform_probe+0xec/0x114) [ 1.657019] [<c027eaf4>] (exynos_drm_platform_probe) from [<c028da1c>] (platform_drv_probe+0x48/0x98) [ 1.666221] [<c028da1c>] (platform_drv_probe) from [<c028c5f8>] (driver_probe_device+0x114/0x234) [ 1.675075] [<c028c5f8>] (driver_probe_device) from [<c028c7a4>] (__driver_attach+0x8c/0x90) [ 1.683494] [<c028c7a4>] (__driver_attach) from [<c028af74>] (bus_for_each_dev+0x54/0x88) [ 1.691653] [<c028af74>] (bus_for_each_dev) from [<c028bde4>] (bus_add_driver+0xd8/0x1cc) [ 1.699812] [<c028bde4>] (bus_add_driver) from [<c028cdc4>] (driver_register+0x78/0xf4) [ 1.707797] [<c028cdc4>] (driver_register) from [<c027ebd8>] (exynos_drm_init+0xbc/0x110) [ 1.715956] [<c027ebd8>] (exynos_drm_init) from [<c0008944>] (do_one_initcall+0x80/0x1d0) [ 1.724117] [<c0008944>] (do_one_initcall) from [<c0647d40>] (kernel_init_freeable+0x108/0x1d4) [ 1.732796] [<c0647d40>] (kernel_init_freeable) from [<c0469224>] (kernel_init+0x8/0xe4) [ 1.740869] [<c0469224>] (kernel_init) from [<c000e680>] (ret_from_fork+0x14/0x34) [ 1.748419] Code: e3403110 11a02001 01a02003 eaffffe4 (e7f001f2) [ 1.754502] ---[ end trace f58ad362326928d7 ]--- Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit a858b5e50442579a73112c7c79bf6096e96de535 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Feb 11 14:54:42 2015 +0100 x86/microcode/intel: Fix printing of microcode blobs in show_saved_mc() When doing echo 1 > /sys/devices/system/cpu/microcode/reload in order to reload microcode, I get: microcode: Total microcode saved: 1 BUG: using smp_processor_id() in preemptible [00000000] code: bash/2606 caller is debug_smp_processor_id+0x17/0x20 CPU: 1 PID: 2606 Comm: bash Not tainted 3.19.0-rc7+ #9 Hardware name: LENOVO 2320CTO/2320CTO, BIOS G2ET86WW (2.06 ) 11/13/2012 ffffffff81a4266d ffff8802131db808 ffffffff81666588 0000000000000007 0000000000000001 ffff8802131db838 ffffffff812e6eef ffff8802131db868 00000000000306a9 0000000000000010 0000000000000015 ffff8802131db848 Call Trace: dump_stack check_preemption_disabled debug_smp_processor_id show_saved_mc ? save_microcode.constprop.8 save_mc_for_early ? print_context_stack ? dump_trace ? __bfs ? mark_held_locks ? get_page_from_freelist ? trace_hardirqs_on_caller ? trace_hardirqs_on ? __alloc_pages_nodemask ? __get_vm_area_node ? map_vm_area ? __vmalloc_node_range ? generic_load_microcode generic_load_microcode ? microcode_fini_cpu request_microcode_fw reload_store dev_attr_store sysfs_kf_write kernfs_fop_write vfs_write ? sysret_check SyS_write system_call_fastpath microcode: CPU1: sig=0x306a9, pf=0x10, rev=0x15 microcode: mc_saved[0]: sig=0x306a9, pf=0x12, rev=0x1b, toal size=0x3000, date = 2014-05-29 because we're using smp_processor_id() in preemtible context. And we don't really need to use it there because the microcode container we're dumping is global and CPU-specific info is irrelevant. While at it, make pr_* stuff use "microcode: " prefix for easier grepping and document how to enable the DEBUG build. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4f1f605cfe3046c4c9f07920c47d3f801d31c0ba Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Feb 10 12:45:16 2015 +0100 x86/microcode/intel: Check scan_microcode()'s retval ... and do not attempt to load anything in case of error. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 140f74fcedbfc862178c082c50b5f54dd52c1ce4 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Feb 10 12:00:56 2015 +0100 x86/microcode/intel: Sanitize microcode_pointer() Shorten variable names and rename it to what it does. No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit e3d8f6747663b468ccedb8af0f38f2be82874c63 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Feb 10 11:28:23 2015 +0100 x86/microcode/intel: Move mc arg last in get_matching_{microcode|sig} ... arguments list so that it comes more natural for those functions to have the signature, processor flags and revision together, before the rest of the args. No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 9e02bb46d366b3635da966e29c5a53920ee7fde8 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Feb 10 10:56:37 2015 +0100 x86/microcode/intel: Simplify generic_load_microcode_early() * remove state variable and out label * get rid of completely unused mc_size * shorten variable names * get rid of local variables * don't do assignments in local var declarations for less cluttered code * finally rename it to the shorter and perfectly fine load_microcode_early() No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 58ce8d6d3a7616014dc70fd8d8f945176d74957c Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 21:42:34 2015 +0100 x86/microcode: Consolidate family,model, ... code ... to the header. Split the family acquiring function into a main one, doing CPUID and a helper which computes the extended family and is used in multiple places. Get rid of the locally-grown get_x86_{family,model}(). While at it, rename local variables to something more descriptive and vertically align assignments for better readability. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4f5e5f2b574804ed330e20456d5b86a4259544ad Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 18:10:29 2015 +0100 x86/microcode/intel: Rename update_match_revision() ... to revision_is_newer() and push it up into the header and make it an inline function. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit c868570e745781736366b83191aae2ccb9de2d1c Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 17:59:01 2015 +0100 x86/microcode/intel: Sanitize _save_mc() Shorten local variable names for better readability and flatten loop indentation levels. No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a5de5e242b80c085913041e99ab245408083f273 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 17:49:43 2015 +0100 x86/microcode/intel: Make _save_mc() return the updated saved count ... of microcode patches instead of handing in a pointer which is used for I/O in an otherwise void function. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 02f35177fb00ee0d73f9af2d6006af6b75b58c11 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 22:59:51 2015 +0100 x86/microcode/intel: Simplify load_ucode_intel_bsp() Don't compute start and end from start and size in order to compute size again down the path in scan_microcode(). So pass size directly instead and simplify a bunch. Shorten variable names and remove useless ones. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 2d48bb9b6ec6fb0f28e5135fd080edc23152ae45 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 17:40:03 2015 +0100 x86/microcode/intel: Get rid of last arg to load_ucode_intel_bsp() Allocate it on the helper's _load_ucode_intel_bsp() stack instead and do not hand it down. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit f9524e6f5447277e238b419afc3d0712941fa2a5 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 5 20:11:41 2015 +0100 x86/microcode/intel: Do the mc_saved_src NULL check first ... and only then deref it. Also, shorten some variable names and rename others so as to diminish the ubiquitous presence of the "mc_" prefix everywhere and make it a bit more readable. Use kcalloc so that we don't kfree() uninitialized memory on the unwind path, as suggested by Quentin. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> commit 776d3cdc93d83808bf5929d716a56c69bbe01d2f Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 5 19:35:19 2015 +0100 x86/microcode/intel: Check if microcode was found before applying We should check the return value of the routines fishing out the proper microcode and not try to apply if we haven't found a suitable blob. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit d496a002ae1f02425168e5211c237abee588651a Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Thu Feb 26 18:03:59 2015 +0100 x86/microcode/intel: Fix out of bounds memory access to the extended header Improper pointer arithmetics when calculating the address of the extended header could lead to an out of bounds memory read and kernel panic. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150225094125.GB30434@xxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit b4844353c0577bef6db54e5b276ede1acbed5b3d Merge: 6556c38 1b78414 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 2 13:06:38 2015 -0500 Merge branch 'sendmsg_recvmsg_iocb_removal' Ying Xue says: ==================== net: Remove iocb argument from sendmsg and recvmsg Currently there is only one user - TIPC whose sendmsg() instances using iocb argument. Meanwhile, there is no user using iocb argument in its recvmsg() instance. Therefore, if we eliminate the werid usage of iobc argument from TIPC, the iocb argument can be removed from all sendmsg() and recvmsg() instances of the whole networking stack. Reference: https://patchwork.ozlabs.org/patch/433960/ Changes: v2: * Fix compile errors of DCCP module pointed by David ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b784140474e4fc94281a49e96c67d29df0efbde Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Mon Mar 2 15:37:48 2015 +0800 net: Remove iocb argument from sendmsg and recvmsg After TIPC doesn't depend on iocb argument in its internal implementations of sendmsg() and recvmsg() hooks defined in proto structure, no any user is using iocb argument in them at all now. Then we can drop the redundant iocb argument completely from kinds of implementations of both sendmsg() and recvmsg() in the entire networking stack. Cc: Christoph Hellwig <hch@xxxxxx> Suggested-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39a0295f901423e260a034ac7c3211ecaa9c2745 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Mon Mar 2 15:37:47 2015 +0800 tipc: Don't use iocb argument in socket layer Currently the iocb argument is used to idenfiy whether or not socket lock is hold before tipc_sendmsg()/tipc_send_stream() is called. But this usage prevents iocb argument from being dropped through sendmsg() at socket common layer. Therefore, in the commit we introduce two new functions called __tipc_sendmsg() and __tipc_send_stream(). When they are invoked, it assumes that their callers have taken socket lock, thereby avoiding the weird usage of iocb argument. Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80f4944ec2aecb64c213944f78745787e363672a Author: jean-michel.hautbois@xxxxxxxxxxx <jean-michel.hautbois@xxxxxxxxxxx> Date: Wed Feb 4 11:16:00 2015 -0300 [media] media: adv7604: CP CSC uses a different register on adv7604 and adv7611 The bits are the same, but register is 0xf4 on ADV7611 instead of 0xfc. When reading back the value in log_status, differentiate both. Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 61765a50323977a5fde86f736f0e55a5e680fbcf Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed Feb 11 11:20:54 2015 -0300 [media] si470x: fixup wait_for_completion_timeout return handling return type of wait_for_completion_timeout is unsigned long not int. A appropriately named variable of type unsigned long is added and the assignments fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b6cca54fc80d54c92afa92431bfb9f8d7f9a23cd Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Sun Feb 8 19:29:11 2015 -0300 [media] media: bcm2048: remove unused return of function Integer return of bcm2048_parse_rds_rt () is never used, changing the return type to void. Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5851462531b5c08811057b4530cdb3170e22ac2a Author: jean-michel.hautbois@xxxxxxxxxxx <jean-michel.hautbois@xxxxxxxxxxx> Date: Fri Feb 6 11:37:58 2015 -0300 [media] media: i2c: ADV7604: In free run mode, signal is locked The CP_NON_STD_VIDEO bit indicates an input not aligned with DV timings. If there is no input, and chip is in free run mode, consider we are locked. Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxx> [hans.verkuil@xxxxxxxxx: put both conditions in one 'if'] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8aa9eb9059f6246b530d664f271e5c32858222ed Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 15:00:25 2015 -0300 [media] au0828: Delete unnecessary checks before the function call "video_unregister_device" The video_unregister_device() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 704b3f4c11e0b1265a41472b6b25dd9e3d205674 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 14:36:35 2015 -0300 [media] stk-webcam: Delete an unnecessary check before the function call "vfree" The vfree() function performs also input parameter validation. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d585c1e14a84f08a4a714553d9fc459ee697ff95 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Wed Feb 4 06:07:32 2015 -0300 [media] vivid sdr: fix broken sine tone generated for sdr FM FM (frequency modulated) signal for SDR is generated by varying the phase, where phase variation is proportional to input signal. It is seen that, the larger phase increments leads to discontinuities in the signal recovered after demodulation. Reducing the extent of phase variation with respect to input signal, equivalent to reducing the modulation index. Tested using FM receiver flow graph in gnuradio-companion. Cc: Antti Palosaari <crope@xxxxxx> Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4e30a37345e6f723553d457becc423efa4bf2703 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Wed Feb 4 06:07:31 2015 -0300 [media] vivid sdr: Use LUT based implementation for sin/cos() The common implementation for sin/cos in include/linux/fixp-arith.h has been improved recently to provide higher precision. Replacing native implementation of sin/cos in vivid sdr with common implementation. This serves two purposes: 1. Improved accuracy: the native implementation based on the Taylor series is more prone to rounding errors. 2. Reuse of common function: this is better compared to maintaining native versions for each driver. Suggested by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Antti Palosaari <crope@xxxxxx> Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 559addc25b00ff3a40eff03a0b3873c2b6d726f8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 4 06:07:30 2015 -0300 [media] fixp-arith: replace sin/cos table by a better precision one The cos table used at fixp-arith.h has only 8 bits of precision. That causes problems if it is reused on other drivers. As some media drivers require a higher precision sin/cos implementation, replace the current implementation by one that will provide 32 bits precision. The values generated by the new implementation matches the 32 bit precision of glibc's sin for an angle measured in integer degrees. It also provides support for fractional angles via linear interpolation. On experimental calculus, when used a table with a 0.001 degree angle, the maximum error for sin is 0.000038, which is likely good enough for practical purposes. There are some logic there that seems to be specific to the usage inside ff-memless.c. Move those logic to there, as they're not needed elsewhere. Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 96df988bb935959e6380c2333e03911839079ee1 Author: Christian Engelmayer <cengelma@xxxxxx> Date: Sat Feb 14 20:12:56 2015 -0300 [media] cx88: Fix possible leak in cx8802_probe() In case allocation vb2_dma_sg_init_ctx() fails during cx8802_probe(), the already allocated cx8802 device structure memory is not freed in the used exit path. Thus adapt the cleanup handling accordingly. Detected by Coverity CID 1260065. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2160abb2945831aaf50d176ef6d070bdbd19130d Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Fri Feb 13 19:39:03 2015 -0300 [media] sh_vou: fix memory leak on error paths in sh_vou_open() Memory allocated for sh_vou_file is not deallocated on error paths in sh_vou_open(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6ab6a026bc2c8a88aaaa6df86ea543280e25e0f1 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Feb 13 07:32:16 2015 -0300 [media] DocBook media: fix validation error <tgroup> doesn't understand the 'border' attribute. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 92afdc1bf1f2100d6c634a131421cd112bad5a48 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Fri Feb 13 05:52:10 2015 -0300 [media] staging: dt3155v4l: Switch to using managed resource with devm_ This patch uses managed resource APIs to allocate memory in order to simplify the driver unload or failure cases Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 50d8e46faf2a6db86f2281425780ff55030fd6c5 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Feb 12 11:11:40 2015 -0300 [media] timberdale: VIDEO_TIMBERDALE should depend on HAS_DMA If NO_DMA=y: warning: (VIDEO_OMAP2_VOUT && VIDEO_VIU && VIDEO_TIMBERDALE) selects VIDEOBUF_DMA_CONTIG which has unmet direct dependencies (MEDIA_SUPPORT && HAS_DMA) drivers/built-in.o: In function `__videobuf_dc_free': videobuf-dma-contig.c:(.text+0x6f4d32): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `__videobuf_dc_alloc': videobuf-dma-contig.c:(.text+0x6f4fe6): undefined reference to `dma_alloc_coherent' drivers/built-in.o: In function `__videobuf_mmap_mapper': videobuf-dma-contig.c:(.text+0x6f518e): undefined reference to `dma_free_coherent' Commit 244829226f47ffb4 ("[media] timberdale: do not select TIMB_DMA") dropped the dependency of VIDEO_TIMBERDALE on DMADEVICES, and thus the implicit dependency on HAS_DMA. VIDEO_TIMBERDALE selects VIDEOBUF_DMA_CONTIG, which bypasses its dependency on HAS_DMA. Make VIDEO_TIMBERDALE depend on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a5d7c92c1b8009fec4aab25bdb6f15111ea9218b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Feb 12 11:11:39 2015 -0300 [media] am437x: VIDEO_AM437X_VPFE should depend on HAS_DMA If NO_DMA=y: warning: (VIDEO_AM437X_VPFE && VIDEO_DM365_VPFE && VIDEO_DT3155 && VIDEO_OMAP4) selects VIDEOBUF2_DMA_CONTIG which has unmet direct dependencies (MEDIA_SUPPORT && HAS_DMA) drivers/media/v4l2-core/videobuf2-dma-contig.c: In function â??vb2_dc_mmapâ??: drivers/media/v4l2-core/videobuf2-dma-contig.c:207: error: implicit declaration of function â??dma_mmap_coherentâ?? drivers/media/v4l2-core/videobuf2-dma-contig.c: In function â??vb2_dc_get_base_sgtâ??: drivers/media/v4l2-core/videobuf2-dma-contig.c:390: error: implicit declaration of function â??dma_get_sgtableâ?? VIDEO_AM437X_VPFE selects VIDEOBUF2_DMA_CONTIG, which bypasses its dependency on HAS_DMA. Make VIDEO_AM437X_VPFE depend on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9713883b0fa3a8afbff0cd2282d689719d7c39c2 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed Feb 4 10:03:11 2015 -0300 [media] cx231xx: drop condition with no effect The if and the else code are identical - so the condition has no effect on the effective code. This patch removes the condition and the duplicated code. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dd3001490834e10615d9eb229b3e9bbcc0070541 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Feb 12 09:41:57 2015 +0100 ASoC: tegra: Add control for the Mic Jack pin So userspace can enable and disable the external microphone. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3a4562f756617b4b210fc487bfe23853a450d3c1 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Feb 12 09:41:56 2015 +0100 ASoC: tegra: Add sink for the internal mic to tegra_max98090 Also adds a control for the pin of the internal mic, so userspace can apply policy when the state of the external mic jack changes. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a0cf43e2f0f391dad7882febbf04423e73e3ff99 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Feb 12 09:41:55 2015 +0100 ASoC: tegra: Expose Headphones pin to userspace So userspace can enable or disable it based on the current policy. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 05a25fd53e75ab893cb7b4a49f01994b877ded2c Merge: cbca407 7006877 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Mar 2 17:25:12 2015 +0000 Merge branch 'fix/rt5677' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rt5677 commit cbca4076d156c93cedadabb0e463ba0db16bb166 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Feb 25 17:36:14 2015 +0800 ASoC: rt5677: Keep the LDO2 powered while used in the suspend mode The patch keeps the ldo2 power while the DSP function of "Voice Wake Up" used in the suspend mode. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ab1f70952f61504f60805f13660c8740adcbe14f Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Feb 11 19:18:51 2015 +0800 ASoC: rt5677: Add the chip type to distinguish the setting of the clock source There is only one clock source in the rt5676, so the chip type is added to distinguish the setting of the clock source in the VAD function. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f704eab5b6beff878fc68dca800a4979ec97a15c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Mar 2 14:17:01 2015 -0300 [media] siano: avoid a linkedit error if !MC If the media controller (MC) is not enabled, it will compile fine, but will fail at the linkedition: ERROR: "media_device_unregister" [drivers/media/usb/siano/smsusb.ko] undefined! Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 295458e67284f57d154ec8156a22797c0cfb044a Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Feb 19 17:34:46 2015 +0300 cgroup: call cgroup_subsys->bind on cgroup subsys initialization Currently, we call cgroup_subsys->bind only on unmount, remount, and when creating a new root on mount. Since the default hierarchy root is created in cgroup_init, we will not call cgroup_subsys->bind if the default hierarchy is freshly mounted. As a result, some controllers will behave incorrectly (most notably, the "memory" controller will not enable hierarchy support). Fix this by calling cgroup_subsys->bind right after initializing a cgroup subsystem. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ee655c2968a0d224484c91f07456d3a213463af6 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Sat Feb 28 22:25:06 2015 +0000 dmaengine: s3c24xx: Fix spelling mistake in dev_err mistake Fix spelling mistake, "aquire" -> "acquire" and missing newline (as spotted by Joe Perches. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ce037f19aaef992c634af653b17e61eee30a9404 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Nov 25 06:30:25 2014 -0300 [media] media: atmel-isi: increase the burst length to improve the performance The burst length could be BEATS_4/8/16. Before this patch, isi use default value BEATS_4. To imporve the performance we could set it to BEATS_16. Otherwise sometime it would cause the ISI overflow error. Reported-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ea232b3f7233f9242e5a1287377fedb6972dfea4 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Wed Jan 7 10:19:12 2015 +0800 ASoC: rt5670: add API to select ASRC clock source When codec is in slave mode, ASRC can suppress noise for asynchronous MCLK and LRCLK or special I2S format. This patch defines an API to select the clock source for specified filters. And the codec driver will turn on ASRC for these filters if ASRC is selected as their clock source. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3aebec3a701e70d6fe2816891e5abea066492779 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Jan 7 10:19:06 2015 +0800 ASoC: rt5670: redefine ASRC control registers 0x84 and 0x85 The previous definition of registers 0x84 and 0x85 doesn't match the datasheet. So this patch removes the wrong definition and writes a new one for the two registers. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 77e3ea2801c8ca4700e6b17053b625b8a981ac77 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Dec 15 15:42:34 2014 +0800 ASoC: rt5670: Keep sysclk on if JD func is used System clock is necessary for rt5670 JD function. We assume system clock source will be set in machine driver. So there are two things left we should do in codec driver. 1. Set sysclk to codec internal clock in probe since machine driver may not do that before JD function is registered. 2. Power up PLL once sysclk source is switched to PLL. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 64e89e5f55484d289c8b326521e5a12291e2283e Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Dec 15 15:42:33 2014 +0800 ASoC: rt5670: Add runtime PM support This patch adds runtime PM support on rt5670 codec. Signed-off-by: Lin Mengdong <mengdong.lin@xxxxxxxxx> Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 223c055aa0eb7e606eb7132e339ce66bb8d7be0d Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Thu Dec 18 11:32:52 2014 +0800 ASoC: rt5670: set platform data by dmi This patch set specific data according to dmi data. Signed-off-by: Jin, Yao <yao.jin@xxxxxxxxx> Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 543d976fa2ebf5543bd07b5d487bf3a6144c0886 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Mar 2 09:59:05 2015 +0200 perf tools: Initialize cpu set in pthread_attr_setaffinity_np feature test Feature tests are compiled but not executed, however it might avoid a future uninitialized variable warning, so initialize the cpu set. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-tip-commits@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/54F41849.1010906@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0104fe69e0287cf3635657b4c6b26a18e0091697 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Mon Mar 2 21:49:46 2015 +0900 perf probe: Remove bias offset to find probe point by address Remove bias offset to find probe point by address. Without this patch, probe points on kernel and executables are shown correctly, but do not work with libraries: # ./perf probe -l probe:do_fork (on do_fork@kernel/fork.c) probe_libc:malloc (on malloc in /usr/lib64/libc-2.17.so) probe_perf:strlist__new (on strlist__new@util/strlist.c in /home/mhiramat/ksrc/linux-3/tools/perf/perf) Removing bias allows it to show it as real place: # ./perf probe -l probe:do_fork (on do_fork@kernel/fork.c) probe_libc:malloc (on __libc_malloc@malloc/malloc.c in /usr/lib64/libc-2.17.so) probe_perf:strlist__new (on strlist__new@util/strlist.c in /home/mhiramat/ksrc/linux-3/tools/perf/perf) Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150302124946.9191.64085.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 79702f614187f652a814061e8f5875ddcc9e732d Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Sat Feb 28 11:53:29 2015 +0900 perf probe: Warn if given uprobe event accesses memory on older kernel Warn if given uprobe event accesses memory on older kernel. Until 3.14, uprobe event only supports accessing registers so this warns to upgrade kernel if uprobe-event returns -EINVAL and an argument of the event accesses memory ($stack, @+offset, and +|-offs() symtax). With this patch (on 3.10.0-123.13.2.el7.x86_64); ----- # ./perf probe -x ./perf warn_uprobe_event_compat stack=-0\(%sp\) Added new event: Failed to write event: Invalid argument Please upgrade your kernel to at least 3.14 to have access to feature -0(%sp) Error: Failed to add events. ----- Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228025329.32106.70581.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit de5349fa439dd32d432cd401eb2decfae20b9f74 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 10:18:49 2015 +0100 perf tools: Improve 'libbabel' feature check failure message On Debian-ish systems libbabeltrace-dev should be suggested as a package install as well. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228091849.GA28959@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b49f1a4be701c2386ccc7496dc8442cf26424d5c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 10:16:27 2015 +0100 perf tools: Improve feature test debuggability Certain feature tests fail with link errors: triton:~/tip/tools/perf/config/feature-checks> make test-libbabeltrace.bin gcc -MD -o test-libbabeltrace.bin test-libbabeltrace.c # -lbabeltrace provided by /tmp/cc6dRSqd.o: In function `main': test-libbabeltrace.c:(.text+0xf): undefined reference to `bt_ctf_stream_class_get_packet_context_type' although they should already fail with a build error due to lack of a proper prototype for the function. Due to this I first tried to find which library was missing - while it was the whole feature that was missing from the .h file already. To solve this, propagate -Wall -Werror to all testcases and remove them from testcase Makefile rules that used them explicitly. A missing feature now outputs: triton:~/tip/tools/perf/config/feature-checks> make test-libbabeltrace.bin gcc -MD -Wall -Werror -o test-libbabeltrace.bin test-libbabeltrace.c # -lbabeltrace provided by test-libbabeltrace.c: In function â??mainâ??: test-libbabeltrace.c:6:2: error: implicit declaration of function â??bt_ctf_stream_class_get_packet_context_typeâ?? [-Werror=implicit-function-declaration] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228091627.GF31887@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0189d7c45acd9fc9a7e6876dc55bc44ae8dc9a37 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 09:46:42 2015 +0100 perf tools: Improve libbfd detection message Before: No bfd.h/libbfd found, install binutils-dev[el]/zlib-static to gain symbol demangling After: No bfd.h/libbfd found, please install binutils-dev[el]/zlib-static/libiberty-dev to gain symbol demangling Change the message to the standard 'please install' language and also add libiberty-dev suggestion for Ubuntu systems. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228084610.GE31887@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a954e68402f9cac000ad7ea57df6040fe5ef455a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 09:39:09 2015 +0100 perf tools: Improve libperl detection message Before: Missing perl devel files. Disabling perl scripting support, consider installing perl-ExtUtils-Embed After: Missing perl devel files. Disabling perl scripting support, please install perl-ExtUtils-Embed/libperl-dev Change the message to the standard 'please install' language and adds Debian-ish package suggestion. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228083909.GC31887@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6c5aa23704e2786eb1a2a733165eef95c4375f41 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 09:33:45 2015 +0100 perf tools: Improve Python feature detection messages Change the Python detection message from: config/Makefile:566: No python-config tool was found config/Makefile:566: Python support will not be built config/Makefile:565: No 'python-config' tool was found: disables Python support - please install python-devel/python-dev It's now a standard one-line message with a package install suggestion, and it also uses the standard language used by other feature detection messages. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228083345.GB31887@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a6a76ba9ea03fe22eb28a6a19482d547b8773001 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 09:17:50 2015 +0100 perf tools: Remove annoying extra message from the features build This message: Makefile:153: The path 'python-config' is not executable. Appears on every perf build that does not have a sufficient python environment installed. It's really just an internal detail of python configuration pass and users should not see it - and it's pretty meaningless to them in any case because the message is not very helpful. (So it's not executable. Why does that matter? What can the user do about it?) Remove the warning, the missing python feature warning is sufficient: config/Makefile:566: No python-config tool was found config/Makefile:566: Python support will not be built although even that one isn't very helpful to users: so no Python support will be built, what can the user do to fix that? Most other such warnings give package install suggestions. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228081750.GA31887@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 97fe9253592241572711d3c1818c0b586d2f34b2 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 09:12:48 2015 +0100 perf tools: Add PERF-FEATURES to the .gitignore file It's an auto-generated file. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228081248.GA31856@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9a75606ca06d94aab1ed0dbe96935e3f89dfb81c Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Mar 2 12:13:33 2015 +0900 perf record: Document --group option The 'perf record --group' option lacks documentation and confuses users. As -e/--event option already supports group spec, it should not be used anymore. Also add a short description of event group itself. Reported-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425266013-5034-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 08b23f4e635fa42a1d3ebdf31b8bb720f17d6c14 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Mar 2 13:53:58 2015 +0900 perf record: Get rid of -l option from Documentation The perf record does not support -l option anymore, so nuke it. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1425272038-10406-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b11db6581beaccef8ae9a388ae96074aa5cc144f Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Mar 2 13:31:03 2015 +0900 perf tools: Fix build error on ARCH=i386/x86_64/sparc64 He Kuang reported that current perf tools failed to build when ARCH variable was given like above. It was because the name is different that internal directory name. I can see that David's sparc64 build has same problem. So fix it by applying the sed conversion script to the command line ARCH variable also, and fixing the converted name there (i.e. i386/x86_64 -> x86, sparc64 -> sparc). Reported-by: He Kuang <hekuang@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: He Kuang <hekuang@xxxxxxxxxx> Acked: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1425270663-10215-1-git-send-email-namhyung@xxxxxxxxxx [ Resolved conflict with 4861f87cd3d1 "Make sparc64 arch point to sparc" ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9b6cc9a807c79c3c356af6f4e6c55e62c6554226 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Feb 8 17:11:50 2015 +0100 bcma: enable support for PCIe Gen 2 host devices Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 804e27dee49e20c0addd1b7276654220cc3768ae Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Feb 8 17:11:49 2015 +0100 bcma: support bringing up bus hosted on PCIe Gen 2 Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5b6ff664c8959d715e785b9465b042407a5d87a0 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Feb 8 17:11:48 2015 +0100 bcma: change IRQ control function to accept bus as an argument It doesn't operate on PCI core, but PCI host device, so there is no point of passing core related struct. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4186721d02b71ae943e60bbf50d3488fd5fd6adb Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Feb 8 17:11:47 2015 +0100 bcma: add helpers bringing PCIe hosted bus up / down Bringing PCIe hosted bus up requires operating on host-related core. Since we plan to support PCIe Gen 2 devices we should provide a helper picking the correct one (PCIE or PCIE2). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0e661006370b7e7fb9ac9d94f9c3500a62cd559b Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Feb 16 07:49:07 2015 -0300 [media] vb2: fix 'UNBALANCED' warnings when calling vb2_thread_stop() Stopping the vb2 thread (as used by several DVB devices) can result in an 'UNBALANCED' warning such as this: vb2: counters for queue ffff880407ee9828: UNBALANCED! vb2: setup: 1 start_streaming: 1 stop_streaming: 1 vb2: wait_prepare: 249333 wait_finish: 249334 This is due to a race condition between stopping the thread and calling vb2_internal_streamoff(). While I have not been able to deduce the exact mechanism how this race condition can produce this warning, I can see that the way the stream is stopped is likely to lead to a race somewhere. This patch simplifies how this is done by first ensuring that the thread is completely stopped before cleaning up the vb2 queue. It does that by setting threadio->stop to true, followed by a call to vb2_queue_error() which will wake up the thread. The thread sees that 'stop' is true and it will exit. The call to kthread_stop() waits until the thread has exited, and only then is the queue cleaned up by calling __vb2_cleanup_fileio(). This is a much cleaner sequence and the warning has now disappeared. Reported-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Tested-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.18 and up Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ba8b6ae6e91ed4d866f83b026138cc75a955e101 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Feb 8 11:51:47 2015 +0100 brcmfmac: respect reason when deleting (deauthenticating) STA Starting with kernel 3.19 reason is provided by cfg80211. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4aa5f4f7bb8bc41cba15bcd0d80c4fb085027d6b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Feb 27 19:52:10 2015 -0300 perf tools: Fix FORK after COMM when synthesizing records for pre-existing threads In this commit: commit 363b785f3805a2632eb09a8b430842461c21a640 Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Fri Mar 14 10:43:44 2014 -0400 perf tools: Speed up thread map generation We ended up emitting PERF_RECORD_FORK events after their corresponding PERF_RECORD_COMM, so the code below will remove the "existing thread" and then recreates it, unnecessarily: [root@ssdandy ~]# perf probe -x ~/bin/perf -L machine__process_fork_event <machine__process_fork_event@/home/acme/git/linux/tools/perf/util/machine.c:0> 0 int machine__process_fork_event(struct machine *machine, union perf_event *event, struct perf_sample *sample) 2 { 3 struct thread *thread = machine__find_thread(machine, event->fork.pid, event->fork.tid); 6 struct thread *parent = machine__findnew_thread(machine, event->fork.ppid, event->fork.ptid); /* if a thread currently exists for the thread id remove it */ if (thread != NULL) 12 machine__remove_thread(machine, thread); 14 thread = machine__findnew_thread(machine, event->fork.pid, event->fork.tid); 16 if (dump_trace) 17 perf_event__fprintf_task(event, stdout); 19 if (thread == NULL || parent == NULL || 20 thread__fork(thread, parent, sample->time) < 0) { 21 dump_printf("problem processing PERF_RECORD_FORK, skipping event.\n"); 22 return -1; } 25 return 0; 26 } [root@ssdandy ~]# perf probe -x ~/bin/perf fork_after_comm=machine__process_fork_event:12 Added new event: probe_perf:fork_after_comm (on machine__process_fork_event:12 in /home/acme/bin/perf) You can now use it in all perf tools, such as: perf record -e probe_perf:fork_after_comm -aR sleep 1 [root@ssdandy ~]# [root@ssdandy ~]# perf record -g -e probe_perf:* trace -o /tmp/bla ^C[ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.021 MB perf.data (30 samples) ] Terminated [root@ssdandy ~]# [root@ssdandy ~]# perf report --no-children --show-total-period --stdio # To display the perf.data header info, please use --header/--header-only options. # # Samples: 30 of event 'probe_perf:fork_after_comm' # Event count (approx.): 30 # # Overhead Period Command Shared Object Symbol # ........ ............ ....... ............. ............................... # 100.00% 30 trace trace [.] machine__process_fork_event | ---machine__process_fork_event __event__synthesize_thread.part.2 perf_event__synthesize_threads cmd_trace main __libc_start_main [root@ssdandy ~]# And Looking at 'perf report -D' output we see it: 0 0 0x8698 [0x30]: PERF_RECORD_COMM: auditd:703/707 0 0 0x86c8 [0x38]: PERF_RECORD_FORK(703:707):(703:703) Fix it by more closely mimicking how the kernel generates those records when a new fork happens, i.e. first a PERF_RECORD_FORK, then a PERF_RECORD_COMM. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-h0emvymi2t3mw8dlqd6d6z73@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3b4331d9a4f2d99603c38bfcac79943b7c6c5439 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Fri Feb 13 18:40:58 2015 +0000 perf stat: Report unsupported events properly Commit 1971f59 (perf stat: Use read_counter in read_counter_aggr ) broke the perf stat output for unsupported counters. $ perf stat -v -a -C 0 -e CCI_400/config=24/ sleep 1 Warning: CCI_400/config=24/ event is not supported by the kernel. Performance counter stats for 'system wide': 0 CCI_400/config=24/ 1.080265400 seconds time elapsed Where it used to be : $ perf stat -v -a -C 0 -e CCI_400/config=24/ sleep 1 Warning: CCI_400/config=24/ event is not supported by the kernel. Performance counter stats for 'system wide': <not supported> CCI_400/config=24/ 1.083840675 seconds time elapsed This patch fixes the issues by checking if the counter is supported, before reading and logging the counter value. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Tested-by: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423852858-8455-1-git-send-email-suzuki.poulose@xxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c65568c5456e5216e5467e81d1e04c1f5bdd453f Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Wed Feb 18 18:59:31 2015 -0500 perf tools: Compare JOBS to 0 after grep If JOBS is not by user perf tries to autodetect the number by grepping the number of CPUs from /proc/cpuinfo. 'grep -c' will always return an integer so after this command JOBS should be compared to 0, not "". Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424303971-91904-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ecefde629fadd3fcca2ea4c6a799d6e6aab8781f Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Thu Feb 19 13:22:33 2015 -0500 perf tools: Only include tsc file for x86 The perf_time_to_tsc and tsc_to_perf_time functions are only used for x86. Make inclusion of tsc.c dependent on x86 as well. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424370153-128274-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 33be4ef116511f1079c4c3bf4b5547faf7439301 Merge: 788b94b 021f5f1 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 2 11:45:49 2015 -0300 Merge 'tip/perf/urgent' into perf/core to pick fixes Needed to build perf/core buildable in some cases. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 984f66432e357701194abc7f753dcad89a1f9de3 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Jan 30 11:32:01 2015 +0100 gpio: max732x: convert to GPIOLIB_IRQCHIP Take a sweep to bring the irq support for the MAX732x expanders into the gpiolib core to cut down on duplicated code. Only compile tested! I need some feedback from people using this expander with interrupts to tell me if things go right or wrong when I do this. Cc: Semen Protsenko <semen.protsenko@xxxxxxxxxxxxxxx> Cc: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fd9c963c5661af3403e77e312c0d9941773b6c1b Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jan 30 18:26:25 2015 +0800 gpio: mb86s70: Return error if requesting an already assigned gpio Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 89a2c1d60aa2cfcf4c9f194b4c923d72182be431 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Mar 2 11:26:14 2015 -0300 [media] use a function for DVB media controller register This is really a simple function, but using it avoids to have if's inside the drivers. Also, the kABI becomes a little more clearer. This shouldn't generate any overhead, and the type check will happen when compiling with MC DVB enabled. So, let's do it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 872b9dbedd4040f4511c909a09d39330624f057b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Mar 2 10:53:46 2015 -0300 [media] dvb: Avoid warnings when compiled without the media controller drivers/media/usb/dvb-usb-v2/dvb_usb_core.c: In function â??dvb_usbv2_adapter_dvb_exitâ??: drivers/media/usb/dvb-usb-v2/dvb_usb_core.c:531:25: warning: unused variable â??dâ?? [-Wunused-variable] struct dvb_usb_device *d = adap_to_d(adap); ^ drivers/media/usb/dvb-usb-v2/dvb_usb_core.c:403:13: warning: â??dvb_usbv2_media_device_registerâ?? defined but not used [-Wunused-function] static void dvb_usbv2_media_device_register(struct dvb_usb_adapter *adap) drivers/media/usb/dvb-usb/dvb-usb-dvb.c:97:13: warning: â??dvb_usb_media_device_registerâ?? defined but not used [-Wunused-function] static void dvb_usb_media_device_register(struct dvb_usb_adapter *adap) ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 480884b647c7efecb904a9ed022ee533afb9cb80 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Mar 2 10:49:04 2015 -0300 [media] dvbdev: use adapter arg for dvb_create_media_graph() Instead of using media_dev argument for dvb_create_media_graph(), use the adapter. That allows to create a stub for this function, if compiled without DVB support, avoiding to add extra if's at the drivers. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 52c47b63412b0946fcf3c04b5e152df41fc7eca5 Author: Alison Chaiken <alison_chaiken@xxxxxxxxxx> Date: Wed Feb 18 23:24:10 2015 -0800 bus: imx-weim: improve error handling upon child probe-failure Probe all children of the WEIM node, reporting any failures. Report failure from parsing of WEIM node itself if probes of all children fail. Signed-off-by: Alison Chaiken <alison_chaiken@xxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 020b37ac66c5fcec70b6fa51113b84bdfff6a4bc Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Mon Mar 2 22:05:49 2015 +1030 x86: Fix up obsolete __cpu_set() function usage Thanks to spatch, plus manual removal of "&*". Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425296150-4722-8-git-send-email-rusty@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e654df7a1a4843429b5d1d6ee40cac9ecef75304 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:30 2015 +0800 ARM: imx6q: clk: Add support for mipi_ipg clock as a shared clock gate The CG8 field of the CCM CCGR3 register is the 'mipi_core_cfg' gate clock, according to the i.MX6q/sdl reference manuals. This clock is actually the gate for several clocks, including the ipg clock's output. The MIPI DSI host controller embedded in the i.MX6q/sdl SoCs takes the ipg clock as the pclk - the APB clock signal . In order to gate/ungate the ipg clock, this patch adds a new shared clock gate named as "mipi_ipg". Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 5ccc248cc53708337a2bfe4ea380c20948e8bbed Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:29 2015 +0800 ARM: imx6q: clk: Add support for mipi_core_cfg clock as a shared clock gate The CG8 field of the CCM CCGR3 register is named as 'mipi_core_cfg' clock, according to the i.MX6q/sdl reference manuals. This clock is actually the gate for several clocks, including the hsi_tx_sel clock's output and the video_27m clock's output. The MIPI DSI host controller embedded in the i.MX6q/sdl SoCs uses the video_27m clock to generate PLL reference clock and MIPI core configuration clock. In order to gate/ungate the two MIPI DSI host controller relevant clocks, this patch adds the mipi_core_cfg clock as a shared clock gate. Suggested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 721fee59d26e46700476f4c70572e9e0f1cc8fd3 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:28 2015 +0800 ARM: imx6q: clk: Change hsi_tx clock to be a shared clock gate The CG8 field of the CCM CCGR3 register is named as 'mipi_core_cfg' clock, according to the i.MX6q/sdl reference manuals. This clock is actually the gate for several clocks, including the hsi_tx_sel clock's output and the video_27m clock's output. So, this patch changes the hsi_tx clock to be a shared clock gate. Suggested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 974a7115986ee5d0b2db9cc8cd551e6f88e01378 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:27 2015 +0800 ARM: imx6q: clk: Change hdmi_isfr clock's parent to be video_27m clock According to the table 33-1 in the i.MX6Q reference manual, the hdmi_isfr clock's parent should be the video_27m clock. The i.MX6DL reference manual has the same statement. This patch changes the hdmi_isfr clock's parent from the pll3_pfd1_540m clock to the video_27m clock. Suggested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 8f21d8d42802a68daef5a34daca8b61df96ff8c6 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:26 2015 +0800 ARM: imx6q: clk: Add the video_27m clock This patch supports the video_27m clock which is a fixed factor clock of the pll3_pfd1_540m clock. Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 5f80e19081e233698c8ea77ed2dd84a66f49fc54 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:25 2015 +0800 ARM: imx6q: Add GPR3 MIPI muxing control register field shift bits definition This patch adds a macro to define the GPR3 MIPI muxing control register field shift bits. Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 666f41afc20fe87ffa00a8feba83b28bb956e976 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Feb 6 20:09:47 2015 -0200 ARM: imx_v4_v5_defconfig: Add VFAT support Select CONFIG_VFAT_FS by default. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 90f3700e75afc66d0a7aec9b76025575e3ebd18f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Feb 6 20:09:46 2015 -0200 ARM: mxs_defconfig: Add VFAT support Select CONFIG_VFAT_FS by default. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 5f15893943bfdc804e8703c5aa2c8dd8bf7ddf3f Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Mon Feb 16 11:32:28 2015 +0100 netfilter: nft_compat: add support for arptables extensions This patch adds support to arptables extensions from nft_compat. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit dc4d52149bd1f2f3ae48804731c63de523e42787 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Thu Feb 5 12:54:08 2015 +0000 fbdev: via/via_clock: fix sparse warning this patch fixes following sparse warning: via_clock.c:33:12: warning: symbol 'via_slap' was not declared. Should it be static? Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 5d802441a160efa27d51b884e9b6f98fc3c8decd Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Mon Feb 9 16:32:27 2015 +0530 video: fbdev: make of_device_id array const Make of_device_id array const. Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 233b2ebe90d381dc477f990b7624fa8d21df3e22 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Feb 10 18:07:32 2015 +0530 fbdev: sm501fb: use memset_io we should really be using memset_io() instead of using memset() as this is actually io space mapped into our memory. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit d9850fc529efc0c1b3b938aab6916698dcf31f01 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Tue Feb 24 20:36:50 2015 +0100 crypto: powerpc/sha1 - kernel config Integrate the module into the kernel config tree. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 50ba29aaa7b03a8a35ceba12c9fcf184148f4aeb Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Tue Feb 24 20:36:45 2015 +0100 crypto: powerpc/sha1 - glue Glue code for crypto infrastructure. Call the assembler code where required. Disable preemption during calculation and enable SPE instructions in the kernel prior to the call. Avoid to disable preemption for too long. Take a little care about small input data. Kick out early for input chunks < 64 bytes and replace memset for context cleanup with simple loop. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 20f1b1f1f3bd594e05941fe9c7f50faab43ddbbf Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Tue Feb 24 20:36:40 2015 +0100 crypto: powerpc/sha1 - assembler This is the assembler code for SHA1 implementation with the SIMD SPE instruction set. With the enhanced instruction set we can operate on 2 32 bit words in parallel. That helps reducing the time to calculate W16-W79. For increasing performance even more the assembler function can compute hashes for more than one 64 byte input block. The state of the used SPE registers is preserved via the stack so we can run from interrupt context. There might be the case that we interrupt ourselves and push sensitive data from another context onto our stack. Clear this area in the stack afterwards to avoid information leakage. The code is endian independant. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b3e67c9112f6268045f78a61274fda2c7250c5c9 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sun Mar 1 19:19:26 2015 +0100 ARM: dts: meson: add DTS file for MINIX NEO-X8 Add a DTS file for MINIX NEO-X8, a Meson8-based digital media player. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> commit d9fea88c4f8ded4355018625f2c886c3c7c9b63d Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Jan 17 19:15:16 2015 +0100 ARM: dts: meson8: add pinctrl node Add pinctrl node to the DTSI file for meson8 and sub-nodes for some standard mux configurations. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> commit 2345d5058344b0dcd02bb602d64e796fcdbc8f34 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sun Mar 1 20:45:37 2015 +0100 ARM: dts: meson: enable Ethernet controller Add a node for the Ethernet controller to Meson DTS file and enable it on the Geniatech ATV1200 board. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> commit 03bb95124e100ecccd62604f3261584c6977f1e5 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sun Mar 1 20:39:51 2015 +0100 ARM: dts: meson: add node for SPIFC This adds a node for the SPI Flash Controller to the Amlogic Meson DTS. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> commit 3cada3a4daeee52499751f0bf350b6b0655c32ef Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Tue Jan 20 00:22:58 2015 +0100 of: Define board compatible for MINIX NEO-X8 Document the board compatible property for MINIX NEO-X8, a Meson8-based digital media player. While at it, move the other existing Meson board compatible to amlogic.txt. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> commit 50746eb488d20b42f840f34b16ca98c1696d9c62 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Tue Jan 20 00:22:57 2015 +0100 of: Add vendor prefix for MINIX Add MINIX Technology Limited to the list of device tree vendor prefixes. The company manufactures digital media players and mini-ITX motherboards. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> commit ec9c06831e7fcd01e0cef6f1a0038b1a0b86de28 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Jan 17 19:15:15 2015 +0100 ARM: meson: select PINCTRL_MESON and ARCH_REQUIRE_GPIOLIB Make sure that the Meson pinctrl driver is built whenever Meson support is enabled. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 190f1029757346b72f297729cf8e5c562f2e9d8c Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Tue Feb 17 12:45:21 2015 +0200 iwlwifi: mvm: don't override passive dwell in case of fragmented scan Currently scan params structure has only active or passive dwell time fields, passive one is used for fragmented scans too. FW needs the passive dwell time even when performing fragmented scan for calculating time between channels. Add a separate parameter for fragmented dwell time and pass both fragmented and passive to FW. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3ec50b5eec6b0e92f862ba48c837fa5437dcd4a4 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 3 14:29:36 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon low RSSI Lots of issues can be caught when the RSSI drops. Add the ability to collect the firmware data at that point. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5a756c20c44fe8b41d8adce090a2cdc95f10ab49 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 10 15:26:57 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon statistics It can be very useful to monitor the statistics and trigger a firmware dump when a certain value hits a certain offset. Since the statistics are huge, add a generic trigger. When the DWORD at offset X reaches value Y. Since there is another trigger before this one I can't add right now because of a dependency on mac80211, add a reserved entry to keep the enum in place. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 945d4202d95ed75c4af2968a02e58625d0558896 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Feb 15 17:16:16 2015 +0200 iwlwifi: mvm: restart firmware recording when no configuration is set Sometimes the firmware will have a hard coded configuration. In this case, the driver won't find any configuration in the firmware file, and it will have to re-start recording in case it has been stopped. This can't be done by the configuration host command since there is no such host command configured. Do that with the registers instead. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 917f39bb9ad295a701a47cb020ae91a2a0224d84 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 10 10:49:20 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon command response This will allow to collect the data as soon the firmware sends a specific notification of command response. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f35d9c55cd533076e5b9b083841acba5d5e4abad Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 10 10:49:51 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon channel switch We fire the trigger when the channel switch starts, but the delay is configurable. That makes is easier to catch channel switches that fail. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9d761fd8a58360e1d81e718f4f6e6b66935cde04 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Feb 2 12:44:23 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon missed beacons Missing beacons is a good indication that something is going wrong in the firmware. Add a trigger to be able to collect data when we start missing beacons with a configurable threshold. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b6eaa45aa18bf010fd54cdac0e3007dfdd7f3f8a Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jan 29 14:58:20 2015 +0200 iwlwifi: mvm: add the cause of the firmware dump in the dump Now that the firmware dump can be triggered by events in the code and not only the user or an firmware ASSERT, we need a way to know why the firmware dump was triggered. Add a section in the dump file for that. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d2709ad723ff2ae22013978ed6ec29cf1b9b8332 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jan 29 14:58:06 2015 +0200 iwlwifi: mvm: add framework for triggers for fw dump Most of the time, the issues we want to debug with the firmware dump mechanism are transient. It is then very hard to stop the recording on time and get meaningful data. In order to solve this, I add here an infrastucture of triggers. The user will supply a list of triggers that will start / stop the recording. We have two types of triggers: start and stop. Start triggers can start a specific configuration. The stop triggers will be able to kick the collection of the data with the currently running configuration. These triggers are given to the driver by the .ucode file - just like the configuration. In the next patches, I'll add triggers in the code. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ef17708e174fdc1ed5d10887ec2f3fc6f6c98d69 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Sun Feb 15 14:45:33 2015 +0200 iwlwifi: mvm: use only 40 ms for fragmented scan 20 ms fragments are no longer required by system. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ddf89ab10a93e8bb0ecf91a563a71d1cfb604c9f Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Feb 8 10:56:43 2015 +0200 iwlwifi: mvm: allow to force the Rx chains from debugfs This is useful to debug weird antenna problems. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0522588d2fdc7813338d2f02aec6e46dbc20431f Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 12 12:33:09 2015 +0200 iwlwifi: add new TLV capability flag for BT PLCR Packet Level Co-Running is a BT Coex feature which is supported on certain devices only, hence the need for a TLV flag for it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e0ede17789b50537439931f974deeed9cb24026b Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Feb 13 21:37:09 2015 +0200 iwlwifi: mvm: don't iterate interfaces to disconnect in net-detect We shouldn't call iwl_mvm_d3_disconnect_iter() on the running interfaces when we are woken up due to net-detect, because it doesn't make sense. Additionally, this seems to set the IEEE80211_SDATA_DISCONNECT_RESUME flag that will cause a disconnection on the next resume (if a normal WoWLAN is used). To solve this, skip the iteration loop when net-detect is set. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reported-by: Samuel Tan <samueltan@xxxxxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ed99d846f1774e14c8705819c12469eb3855b54e Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Mar 2 11:49:23 2015 +0800 mei: bus: () can be static drivers/hv/vmbus_drv.c:51:5: sparse: symbol 'hyperv_panic_event' was not declared. Should it be static? drivers/hv/vmbus_drv.c:51:5: sparse: symbol 'hyperv_panic_event' was not declared. Should it be static? drivers/hv/vmbus_drv.c:51:5: sparse: symbol 'hyperv_panic_event' was not declared. Should it be static? drivers/hv/vmbus_drv.c:51:5: sparse: symbol 'hyperv_panic_event' was not declared. Should it be static? Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6556c38524f3a55427598af2d7fc9c1d9c75bdae Merge: 287f3a9 744d5a3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 2 00:19:35 2015 -0500 Merge branch 'dropcount' Eyal Birger says: ==================== net: move skb->dropcount to skb->cb[] Commit 977750076d98 ("af_packet: add interframe drop cmsg (v6)") unionized skb->mark and skb->dropcount in order to allow recording of the socket drop count while maintaining struct sk_buff size. skb->dropcount was introduced since there was no available room in skb->cb[] in packet sockets. However, its introduction led to the inability to export skb->mark to userspace. It was considered to alias skb->priority instead of skb->mark. However, that would lead to the inabilty to export skb->priority to userspace if desired. Such change may also lead to hard-to-find issues as skb->priority is assumed to be alias free, and, as noted by Shmulik Ladkani, is not 'naturally orthogonal' with other skb fields. This patch series follows the suggestions made by Eric Dumazet moving the dropcount metric to skb->cb[], eliminating this problem at the expense of 4 bytes less in skb->cb[] for protocol families using it. The patch series include compactization of bluetooth and packet use of skb->cb[] as well as the infrastructure for placing dropcount in skb->cb[]. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 744d5a3e9fe2690dd85d9991dbb078301694658b Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:31 2015 +0200 net: move skb->dropcount to skb->cb[] Commit 977750076d98 ("af_packet: add interframe drop cmsg (v6)") unionized skb->mark and skb->dropcount in order to allow recording of the socket drop count while maintaining struct sk_buff size. skb->dropcount was introduced since there was no available room in skb->cb[] in packet sockets. However, its introduction led to the inability to export skb->mark, or any other aliased field to userspace if so desired. Moving the dropcount metric to skb->cb[] eliminates this problem at the expense of 4 bytes less in skb->cb[] for protocol families using it. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bc3b96f3b455bd14a8ccd83ffffc85625aba641 Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:30 2015 +0200 net: add common accessor for setting dropcount on packets As part of an effort to move skb->dropcount to skb->cb[], use a common function in order to set dropcount in struct sk_buff. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4772ef879a8f7d8c56118c2ae5a296fcf6f81d2 Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:29 2015 +0200 net: use common macro for assering skb->cb[] available size in protocol families As part of an effort to move skb->dropcount to skb->cb[] use a common macro in protocol families using skb->cb[] for ancillary data to validate available room in skb->cb[]. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2472d7613bd3bae40a7dc75539c0858d5b9e795a Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:28 2015 +0200 net: packet: use sockaddr_ll fields as storage for skb original length in recvmsg path As part of an effort to move skb->dropcount to skb->cb[], 4 bytes of additional room are needed in skb->cb[] in packet sockets. Store the skb original length in the first two fields of sockaddr_ll (sll_family and sll_protocol) as they can be derived from the skb when needed. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2cfdf9fcb85bf6c0bb4556384ba800b9f443f601 Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:27 2015 +0200 net: rxrpc: change call to sock_recv_ts_and_drops() on rxrpc recvmsg to sock_recv_timestamp() Commit 3b885787ea4112 ("net: Generalize socket rx gap / receive queue overflow cmsg") allowed receiving packet dropcount information as a socket level option. RXRPC sockets recvmsg function was changed to support this by calling sock_recv_ts_and_drops() instead of sock_recv_timestamp(). However, protocol families wishing to receive dropcount should call sock_queue_rcv_skb() or set the dropcount specifically (as done in packet_rcv()). This was not done for rxrpc and thus this feature never worked on these sockets. Formalizing this by not calling sock_recv_ts_and_drops() in rxrpc as part of an effort to move skb->dropcount into skb->cb[] Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6368c235777456ddaeaa61360186d8d03a61cb18 Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:26 2015 +0200 net: bluetooth: compact struct bt_skb_cb by converting boolean fields to bit fields Convert boolean fields incoming and req_start to bit fields and move force_active in order save space in bt_skb_cb in an effort to use a portion of skb->cb[] for storing skb->dropcount. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49a6fe055739a77ef910c283efb99928423c97a0 Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:25 2015 +0200 net: bluetooth: compact struct bt_skb_cb by inlining struct hci_req_ctrl struct hci_req_ctrl is never used outside of struct bt_skb_cb; Inlining it frees 8 bytes on a 64 bit system in skb->cb[] allowing the addition of more ancillary data. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Reviewed-by: Shmulik Ladkani <shmulik.ladkani@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 287f3a943fef58c5c73e42545169443be379222f Author: Simon Farnsworth <simon@xxxxxxxxxxxx> Date: Sun Mar 1 10:54:39 2015 +0000 pppoe: Use workqueue to die properly when a PADT is received When a PADT frame is received, the socket may not be in a good state to close down the PPP interface. The current implementation handles this by simply blocking all further PPP traffic, and hoping that the lack of traffic will trigger the user to investigate. Use schedule_work to get to a process context from which we clear down the PPP interface, in a fashion analogous to hangup on a TTY-based PPP interface. This causes pppd to disconnect immediately, and allows tools to take immediate corrective action. Note that pppd's rp_pppoe.so plugin has code in it to disable the session when it disconnects; however, as a consequence of this patch, the session is already disabled before rp_pppoe.so is asked to disable the session. The result is a harmless error message: Failed to disconnect PPPoE socket: 114 Operation already in progress This message is safe to ignore, as long as the error is 114 Operation already in progress; in that specific case, it means that the PPPoE session has already been disabled before pppd tried to disable it. Signed-off-by: Simon Farnsworth <simon@xxxxxxxxxxxx> Tested-by: Dan Williams <dcbw@xxxxxxxxxx> Tested-by: Christoph Schulz <develop@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26caa3469a2de617d95c29371571a9585603a023 Author: Ivan Vecera <ivecera@xxxxxxxxxx> Date: Thu Feb 26 14:48:07 2015 +0100 bnx2: disable toggling of rxvlan if necessary The bnx2 driver uses .ndo_fix_features to force enable of Rx VLAN tag stripping when the card cannot disable it. The driver should remove NETIF_F_HW_VLAN_CTAG_RX flag from hw_features instead so it is fixed for the ethtool. Cc: Sony Chacko <sony.chacko@xxxxxxxxxx> Cc: Dept-HSGLinuxNICDev@xxxxxxxxxx Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91b3a68558ba37c69f1d9e2d23e34c3cba38e356 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Mar 1 19:58:57 2015 -0800 staging: lustre: Convert uses of "int rc = seq_printf(...)" The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Convert these uses to: seq_printf(seq, ...); return 0; Done via cocci script: @@ struct seq_file *seq; int i; @@ - i = seq_printf(seq, + seq_printf(seq, ...); ... - return i; + return 0; @@ struct seq_file *seq; int i; @@ - i = 0; - i += seq_printf(seq, + seq_printf(seq, ...); ... - return i; + return 0; With some additional reformatting and typing post conversion to remove the now unnecessary "int i;" declaration. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea373041bdfa0e580f09a9fbe6633cba62439430 Author: Arun Chandran <achandran@xxxxxxxxxx> Date: Sun Mar 1 11:38:03 2015 +0530 net: macb: Properly add DMACFG bit definitions Add *_SIZE macros for the bits ENDIA_DESC and ENDIA_PKT Signed-off-by: Arun Chandran <achandran@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62f6924cb1543a10d05150d77f9a5e01e12c9ce1 Author: Arun Chandran <achandran@xxxxxxxxxx> Date: Sun Mar 1 11:38:02 2015 +0530 net: macb: Add on the fly CPU endianness detection Program management descriptor's access mode according to the dynamically detected CPU endianness. Signed-off-by: Arun Chandran <achandran@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Tested-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 759c9359ae5a6ecdb74cad61a31be6805fb09617 Author: Shrikrishna Khare <skhare@xxxxxxxxxx> Date: Sat Feb 28 20:33:09 2015 -0800 Driver: Vmxnet3: Copy TCP header to mapped frame for IPv6 packets Allows for packet parsing to be done by the fast path. This performance optimization already exists for IPv4. Add similar logic for IPv6. Signed-off-by: Amitabha Banerjee <banerjeea@xxxxxxxxxx> Signed-off-by: Shrikrishna Khare <skhare@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9be10850f533895c360e2692a34a5be1d21cd8d Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 14 20:32:45 2015 -0800 Staging: iio: meter: ade7854-i2c: code style improvements Code reformatting based on checkpatch.pl with --strict: Comparison to NULL rewritten as !indio_dev Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cb8957b894a6c4eae44d9ccbfd3a0034e298aba Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 14 20:32:44 2015 -0800 Staging: iio: meter: ade7854-i2c: code style improvements Code reformatting based on checkpatch.pl with --strict: Lines over 80 characters were fixed Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08c95f9abf4c7d0f1886ac941fd8195004846386 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 14 20:32:43 2015 -0800 Staging: iio: meter: ade7854-i2c: code style improvements Code reformatting based on checkpatch.pl with --strict: Alignment should match open paranthesis cases corrected Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3de8e3719e582f3182bb504295e4a8e43c8c96f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:47 2015 +0200 mei: bus: call device disable handler prior to disconnection call device's disable handler prior to disconnection so it can possibly close the communication with fw client in graceful way Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9bed61053af13c0768f82c9d1c8793515dd067c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:46 2015 +0200 mei: allow read concurrency Replace clunky read state machine with read stack implemented as per client read list, this is important mostly for mei drivers with unsolicited reads Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 928fa6664b362aad70c16f04483414f60743e15e Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:45 2015 +0200 mei: simplify io callback disposal Simplify disposal of io callback by removing the callback implicitly from its lookup list inside mei_io_cb_free Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03b8d3419fdfc02d1984a0db51c8b74426e12605 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:44 2015 +0200 mei: add mei_cl_alloc_linked function Add convenient wrapper mei_cl_alloc_linked to simplify error handling Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bca67d681c4864b74fa5fae9ee47e562d1e272b1 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:43 2015 +0200 mei: always initialize the callback with the intended operation type We set the operation type at initialization time as each cb is used only for a single type of operation As a byproduct we add a convenient wrapper for allocating cb with the data buffer. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5db7514d9333c920791538c850cfb9dbd19025f7 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:42 2015 +0200 mei: use only one buffer in callback The callback structure is used exclusively for reading or writing therefore there is no reason to hold both response and request buffers in the callback structure Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 331e4187017e5dc12fddfcca3f8041e5610ea23b Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:41 2015 +0200 mei: iamthif: use regular client read functions Reduce code duplication in amthif by reusing regular client read functions. The change also removes the need for amthif own buffering Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8660172e1d6528be02eba78516ff8282e694bb26 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:40 2015 +0200 mei: iamthif: use client write functions Reduce code duplication in amthif code by reusing regular client write functions. Add completed flag to cb so amthif client can add rx credits on write completion Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c54bf3ab7536e062b507b625bfd2befb9b2cb841 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:39 2015 +0200 mei: iamthif: send flow control as a regular client Reuse common client mechanism for sending flow control hbm message. Add new function mei_amthif_read_start similar to mei_cl_read_start that puts control flow request onto the control write queue and drop mei_amthif_irq_read function Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e097bc5d5c948ff8a60ac38a5826f5b6699603d Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:38 2015 +0200 mei: iamthif: remove useless iamthif_ioctl variable iamthif_ioctl is obsolete and can be safely dropped Currently it is set to true during driver runtime Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db4756fd2f16efae8469dd1e37710919a0af9370 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:37 2015 +0200 mei: iamthif: fix device reset on mei_amthif_irq_read_msg On failure mei_amthif_irq_read_msg returns an error that will cause device reset but the issue is software one so instead we should propagate error to caller and just clean the read queues. As a side effect also removes useless BUG_ONs Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d33ff2457355a9dd3c3178b04ab6669882b306c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:36 2015 +0200 mei: fix device reset on mei_cl_irq_read_msg allocation failure On memory allocation failure mei_cl_irq_read_msg will return with error that will cause device reset. Instead we should propagate error to caller and just clean the read queues. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3908be6f9aa5517bc717f8ffdaaafd89a1b78471 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Feb 10 10:39:35 2015 +0200 mei: fix function names and format in KDoc Align functions names in KDoc with real ones. Fix comment format to be KDoc and fix wrong syntax there. 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 2d1995fce3f9b9a0bdb88d47144509e3b84db0f9 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Feb 10 10:39:34 2015 +0200 mei: me: change power gating function name conventions The current power gating naming was confusing, we wish to swap meanings of register and flow level power gating terms, For registers writing level use terms set and unset: mei_me_pg_set, mei_me_pg_unset For flow/high level use power gating enter and power gating exit terms mei_me_pg_enter_sync, mei_me_pg_exit_sync 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 a0a927d06d79d59c55ae7ac0b2fd7f3c0ea3c14c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:33 2015 +0200 mei: me: add io register tracing To make debugging a bit easier we add me register access tracing <debugfs>/tracing/events/mei/mei_reg_{read,write} Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 381a58c70985ca1256b0f51aa6694f79662bb166 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:32 2015 +0200 mei: me: use io register wrappers consistently 1. Use mei_device structure as the first argument to the io register access wrappers so we'll have access to the device structure needed for tracing. 2. Use wrapper consistently Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7d885145538ddedb1ae23b782ab7c7c0a856e9f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:31 2015 +0200 mei: revamp me clients list handling 1. Use rw lock to access the me_clients list 2. Reuse already defined find functions also when removing particular me client 3. Add wrappers for addition and deletion Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9395e3f8952110bda60b54ad03ec52c6e9c7dbd Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:39:04 2015 -0800 Drivers: hv: vmbus: Suport an API to send packet with additional control Implement an API that gives additional control on the what VMBUS flags will be set as well as if the host needs to be signalled. This API will be useful for clients that want to batch up requests to the host. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87e93d61708fe2c44875d1ecdb174aad070dbd08 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:39:03 2015 -0800 Drivers: hv: vmbus: Suport an API to send pagebuffers with additional control Implement an API for sending pagebuffers that gives more control to the client in terms of setting the vmbus flags as well as deciding when to notify the host. This will be useful for enabling batch processing. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a13e8bbe851a96a0e78c2bd599bc34082fa697cd Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:39:02 2015 -0800 Drivers: hv: vmbus: Use a round-robin algorithm for picking the outgoing channel The current algorithm for picking an outgoing channel was not distributing the load well. Implement a simple round-robin scheme to ensure good distribution of the outgoing traffic. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96c1d0581d00f7abe033350edb021a9d947d8d81 Author: Nick Meier <nmeier@xxxxxxxxxxxxx> Date: Sat Feb 28 11:39:01 2015 -0800 Drivers: hv: vmbus: Add support for VMBus panic notifier handler Hyper-V allows a guest to notify the Hyper-V host that a panic condition occured. This notification can include up to five 64 bit values. These 64 bit values are written into crash MSRs. Once the data has been written into the crash MSRs, the host is then notified by writing into a Crash Control MSR. On the Hyper-V host, the panic notification data is captured in the Windows Event log as a 18590 event. Crash MSRs are defined in appendix H of the Hypervisor Top Level Functional Specification. At the time of this patch, v4.0 is the current functional spec. The URL for the v4.0 document is: http://download.microsoft.com/download/A/B/4/AB43A34E-BDD0-4FA6-BDEF-79EEF16E880B/Hypervisor Top Level Functional Specification v4.0.docx Signed-off-by: Nick Meier <nmeier@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 530d15b907038735d4cb008dc5caae7ce4dfc985 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Feb 28 11:39:00 2015 -0800 Drivers: hv: hv_balloon: refuse to balloon below the floor When host asks us to balloon up we need to be sure we're not committing suicide by overballooning. Use already existent 'floor' metric as our lowest possible value for free ram. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 549fd280b145e2154db5a7d06981d041f8bbf597 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Feb 28 11:38:59 2015 -0800 Drivers: hv: hv_balloon: report offline pages as being used When hot-added memory pages are not brought online or when some memory blocks are sent offline the subsequent ballooning process kills the guest with OOM killer. This happens as we don't report these pages as neither used nor free and apparently host algorithm considers them as being unused. Keep track of all online/offline operations and report all currently offline pages as being used so host won't try to balloon them out. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b05d8d9ef5ef21d1b18440430f950304836e1aaa Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Feb 28 11:38:58 2015 -0800 Drivers: hv: hv_balloon: eliminate the trylock path in acquire/release_region_mutex When many memory regions are being added and automatically onlined the following lockup is sometimes observed: INFO: task udevd:1872 blocked for more than 120 seconds. ... Call Trace: [<ffffffff816ec0bc>] schedule_timeout+0x22c/0x350 [<ffffffff816eb98f>] wait_for_common+0x10f/0x160 [<ffffffff81067650>] ? default_wake_function+0x0/0x20 [<ffffffff816eb9fd>] wait_for_completion+0x1d/0x20 [<ffffffff8144cb9c>] hv_memory_notifier+0xdc/0x120 [<ffffffff816f298c>] notifier_call_chain+0x4c/0x70 ... When several memory blocks are going online simultaneously we got several hv_memory_notifier() trying to acquire the ha_region_mutex. When this mutex is being held by hot_add_req() all these competing acquire_region_mutex() do mutex_trylock, fail, and queue themselves into wait_for_completion(..). However when we do complete() from release_region_mutex() only one of them wakes up. This could be solved by changing complete() -> complete_all() memory onlining can be delayed as well, in that case we can still get several hv_memory_notifier() runners at the same time trying to grab the mutex. Only one of them will succeed and the others will hang for forever as complete() is not being called. We don't see this issue often because we have 5sec onlining timeout in hv_mem_hot_add() and usually all udev events arrive in this time frame. Get rid of the trylock path, waiting on the mutex is supposed to provide the required serialization. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37f492ce8148d84261cdb9fe1e925199f47531ae Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:21 2015 -0800 Drivers: hv: vmbus: Get rid of some unnecessary messages Currently we log messages when either we are not able to map an ID to a channel or when the channel does not have a callback associated (in the channel interrupt handling path). These messages don't add any value, get rid of them. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5380b383ba10915e61e3db09341cf8193f0601ad Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:20 2015 -0800 Drivers: hv: util: On device remove, close the channel after de-initializing the service When the offer is rescinded, vmbus_close() can free up the channel; deinitialize the service before closing the channel. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b1e5b530753e660080d402b81b88684893157d5 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:19 2015 -0800 Drivers: hv: vmbus: Remove the channel from the channel list(s) on failure Properly rollback state in vmbus_pocess_offer() in the failure paths. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2dd37cb81580dce6dfb8c5a7d5c37b904a188ae7 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:18 2015 -0800 Drivers: hv: vmbus: Handle both rescind and offer messages in the same context Execute both ressind and offer messages in the same work context. This serializes these operations and naturally addresses the various corner cases. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed6cfcc5fdf2ebca320b6f74c836e555e18216e1 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:17 2015 -0800 Drivers: hv: vmbus: Introduce a function to remove a rescinded offer In response to a rescind message, we need to remove the channel and the corresponding device. Cleanup this code path by factoring out the code to remove a channel. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d15a0301c4157884d1a48a5d76b9ac3e36d71242 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:16 2015 -0800 Drivers: hv: vmbus: Properly handle child device remove Handle the case when the device may be removed when the device has no driver attached to it. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04653a009a63d6a91c60a5449ea97e3ed5e1dc29 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Feb 27 11:26:05 2015 -0800 Drivers: hv: vmbus: Add support for the NetworkDirect GUID NetworkDirect is a service that supports guest RDMA. Define the GUID for this service. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40384e4bbeb9f2651fe9bffc0062d9f31ef625bf Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Feb 27 11:26:04 2015 -0800 Drivers: hv: vmbus: Fix a bug in the error path in vmbus_open() Correctly rollback state if the failure occurs after we have handed over the ownership of the buffer to the host. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b057b3ad16e1c6e21e234cd7f5c61c525da97f17 Author: Nicholas Mc Guire <der.herr@xxxxxxx> Date: Fri Feb 27 11:26:03 2015 -0800 hv: hv_balloon: match var type to return type of wait_for_completion return type of wait_for_completion_timeout is unsigned long not int, this patch changes the type of t from int to unsigned long. Signed-off-by: Nicholas Mc Guire <der.herr@xxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51e5181d20086c0b26e871deffeff3ff47cf5c4b Author: Nicholas Mc Guire <der.herr@xxxxxxx> Date: Fri Feb 27 11:26:02 2015 -0800 hv: channel_mgmt: match var type to return type of wait_for_completion return type of wait_for_completion_timeout is unsigned long not int, this patch changes the type of t from int to unsigned long. Signed-off-by: Nicholas Mc Guire <der.herr@xxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08a9513f7417d6dff9a1ab0c163900f503ff84eb Author: Nicholas Mc Guire <der.herr@xxxxxxx> Date: Fri Feb 27 11:26:01 2015 -0800 hv: channel: match var type to return type of wait_for_completion return type of wait_for_completion_timeout is unsigned long not int, this patch changes the type of t from int to unsigned long. Signed-off-by: Nicholas Mc Guire <der.herr@xxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac0d12b7cee73b4b4b769ea58c62ec7042c6be13 Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Feb 27 11:26:00 2015 -0800 hv: vmbus_open(): reset the channel state on ENOMEM Without this patch, the state is put to CHANNEL_OPENING_STATE, and when the driver is loaded next time, vmbus_open() will fail immediately due to newchannel->state != CHANNEL_OPEN_STATE. CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Reviewed-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89f9f6796d41e10e224b0cb0027ddd78cb881f65 Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Feb 27 11:25:59 2015 -0800 hv: vmbus_post_msg: retry the hypercall on some transient errors I got HV_STATUS_INVALID_CONNECTION_ID on Hyper-V 2008 R2 when keeping running "rmmod hv_netvsc; modprobe hv_netvsc; rmmod hv_utils; modprobe hv_utils" in a Linux guest. Looks the host has some kind of throttling mechanism if some kinds of hypercalls are sent too frequently. Without the patch, the driver can occasionally fail to load. Also let's retry HV_STATUS_INSUFFICIENT_MEMORY, though we didn't get it before. Removed 'case -ENOMEM', since the hypervisor doesn't return this. CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Reviewed-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1896566372579939eb86414ea3d664f18d5e909c Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Feb 27 11:25:58 2015 -0800 hv: hv_util: move vmbus_open() to a later place Before the line vmbus_open() returns, srv->util_cb can be already running and the variables, like util_fw_version, are needed by the srv->util_cb. So we have to make sure the variables are initialized before the vmbus_open(). CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e086748c655ab99bac91b87d1bb59d9cc45867b9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:57 2015 -0800 Drivers: hv: vmbus: Teardown clockevent devices on module unload Newly introduced clockevent devices made it impossible to unload hv_vmbus module as clockevents_config_and_register() takes additional reverence to the module. To make it possible again we do the following: - avoid setting dev->owner for clockevent devices; - implement hv_synic_clockevents_cleanup() doing clockevents_unbind_device(); - call it from vmbus_exit(). In theory hv_synic_clockevents_cleanup() can be merged with hv_synic_cleanup(), however, we call hv_synic_cleanup() from smp_call_function_single() and this doesn't work for clockevents_unbind_device() as it does such call on its own. I opted for a separate function. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32a158325acf12842764b1681f53903673f2f22e Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:56 2015 -0800 clockevents: export clockevents_unbind_device instead of clockevents_unbind It looks like clockevents_unbind is being exported by mistake as: - it is static; - it is not listed in include/linux/clockchips.h; - EXPORT_SYMBOL_GPL(clockevents_unbind) follows clockevents_unbind_device() implementation. I think clockevents_unbind_device should be exported instead. This is going to be used to teardown Hyper-V clockevent devices on module unload. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e72e7ac583ee8adddbc668cdefde7d7d3021be79 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:55 2015 -0800 drivers: hv: vmbus: Teardown synthetic interrupt controllers on module unload SynIC has to be switched off when we unload the module, otherwise registered memory pages can get corrupted after (as Hyper-V host still writes there) and we see the following crashes for random processes: [ 89.116774] BUG: Bad page map in process sh pte:4989c716 pmd:36f81067 [ 89.159454] addr:0000000000437000 vm_flags:00000875 anon_vma: (null) mapping:ffff88007bba55a0 index:37 [ 89.226146] vma->vm_ops->fault: filemap_fault+0x0/0x410 [ 89.257776] vma->vm_file->f_op->mmap: generic_file_mmap+0x0/0x60 [ 89.297570] CPU: 0 PID: 215 Comm: sh Tainted: G B 3.19.0-rc5_bug923184+ #488 [ 89.353738] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090006 05/23/2012 [ 89.409138] 0000000000000000 000000004e083d7b ffff880036e9fa18 ffffffff81a68d31 [ 89.468724] 0000000000000000 0000000000437000 ffff880036e9fa68 ffffffff811a1e3a [ 89.519233] 000000004989c716 0000000000000037 ffffea0001edc340 0000000000437000 [ 89.575751] Call Trace: [ 89.591060] [<ffffffff81a68d31>] dump_stack+0x45/0x57 [ 89.625164] [<ffffffff811a1e3a>] print_bad_pte+0x1aa/0x250 [ 89.667234] [<ffffffff811a2c95>] vm_normal_page+0x55/0xa0 [ 89.703818] [<ffffffff811a3105>] unmap_page_range+0x425/0x8a0 [ 89.737982] [<ffffffff811a3601>] unmap_single_vma+0x81/0xf0 [ 89.780385] [<ffffffff81184320>] ? lru_deactivate_fn+0x190/0x190 [ 89.820130] [<ffffffff811a4131>] unmap_vmas+0x51/0xa0 [ 89.860168] [<ffffffff811ad12c>] exit_mmap+0xac/0x1a0 [ 89.890588] [<ffffffff810763c3>] mmput+0x63/0x100 [ 89.919205] [<ffffffff811eba48>] flush_old_exec+0x3f8/0x8b0 [ 89.962135] [<ffffffff8123b5bb>] load_elf_binary+0x32b/0x1260 [ 89.998581] [<ffffffff811a14f2>] ? get_user_pages+0x52/0x60 hv_synic_cleanup() function exists but noone calls it now. Do the following: - call hv_synic_cleanup() on each cpu from vmbus_exit(); - write global disable bit through MSR; - use hv_synic_free_cpu() to avoid memory leask and code duplication. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09a196288ec4617a920e051af6651ce03968c8b9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:54 2015 -0800 Drivers: hv: vmbus: teardown hv_vmbus_con workqueue and vmbus_connection pages on shutdown We need to destroy hv_vmbus_con on module shutdown, otherwise the following crash is sometimes observed: [ 76.569845] hv_vmbus: Hyper-V Host Build:9600-6.3-17-0.17039; Vmbus version:3.0 [ 82.598859] BUG: unable to handle kernel paging request at ffffffffa0003480 [ 82.599287] IP: [<ffffffffa0003480>] 0xffffffffa0003480 [ 82.599287] PGD 1f34067 PUD 1f35063 PMD 3f72d067 PTE 0 [ 82.599287] Oops: 0010 [#1] SMP [ 82.599287] Modules linked in: [last unloaded: hv_vmbus] [ 82.599287] CPU: 0 PID: 26 Comm: kworker/0:1 Not tainted 3.19.0-rc5_bug923184+ #488 [ 82.599287] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS Hyper-V UEFI Release v1.0 11/26/2012 [ 82.599287] Workqueue: hv_vmbus_con 0xffffffffa0003480 [ 82.599287] task: ffff88007b6ddfa0 ti: ffff88007f8f8000 task.ti: ffff88007f8f8000 [ 82.599287] RIP: 0010:[<ffffffffa0003480>] [<ffffffffa0003480>] 0xffffffffa0003480 [ 82.599287] RSP: 0018:ffff88007f8fbe00 EFLAGS: 00010202 ... To avoid memory leaks we need to free monitor_pages and int_page for vmbus_connection. Implement vmbus_disconnect() function by separating cleanup path from vmbus_connect(). As we use hv_vmbus_con to release channels (see free_channel() in channel_mgmt.c) we need to make sure the work was done before we remove the queue, do that with drain_workqueue(). We also need to avoid handling messages which can (potentially) create new channels, so set vmbus_connection.conn_state = DISCONNECTED at the very beginning of vmbus_exit() and check for that in vmbus_onmessage_work(). Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adcde069a85cb6674bdcf5f49f434d18b2db6e58 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:53 2015 -0800 Drivers: hv: vmbus: avoid double kfree for device_obj On driver shutdown device_obj is being freed twice: 1) In vmbus_free_channels() 2) vmbus_device_release() (which is being triggered by device_unregister() in vmbus_device_unregister(). This double kfree leads to the following sporadic crash on driver unload: [ 23.469876] general protection fault: 0000 [#1] SMP [ 23.470036] Modules linked in: hv_vmbus(-) [ 23.470036] CPU: 2 PID: 213 Comm: rmmod Not tainted 3.19.0-rc5_bug923184+ #488 [ 23.470036] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090006 05/23/2012 [ 23.470036] task: ffff880036ef1cb0 ti: ffff880036ce8000 task.ti: ffff880036ce8000 [ 23.470036] RIP: 0010:[<ffffffff811d2e1b>] [<ffffffff811d2e1b>] __kmalloc_node_track_caller+0xdb/0x1e0 [ 23.470036] RSP: 0018:ffff880036cebcc8 EFLAGS: 00010246 ... When this crash does not happen on driver unload the similar one is expected if we try to load hv_vmbus again. Remove kfree from vmbus_free_channels() as freeing it from vmbus_device_release() seems right. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc63b6f634d91a0b2a7f3ba4f266e55fec369de3 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:52 2015 -0800 Drivers: hv: vmbus: rename channel work queues All channel work queues are named 'hv_vmbus_ctl', this makes them indistinguishable in ps output and makes it hard to link to the corresponding vmbus device. Rename them to hv_vmbus_ctl/N and make vmbus device names match, e.g. now vmbus_1 device is served by hv_vmbus_ctl/1 work queue. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e513229b4c386e6c9f66298c13fde92f73e6e1ac Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:51 2015 -0800 Drivers: hv: vmbus: prevent cpu offlining on newer hypervisors When an SMP Hyper-V guest is running on top of 2012R2 Server and secondary cpus are sent offline (with echo 0 > /sys/devices/system/cpu/cpu$cpu/online) the system freeze is observed. This happens due to the fact that on newer hypervisors (Win8, WS2012R2, ...) vmbus channel handlers are distributed across all cpus (see init_vp_index() function in drivers/hv/channel_mgmt.c) and on cpu offlining nobody reassigns them to CPU0. Prevent cpu offlining when vmbus is loaded until the issue is fixed host-side. This patch also disables hibernation but it is OK as it is also broken (MCE error is hit on resume). Suspend still works. Tested with WS2008R2 and WS2012R2. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 361008f2380201ab182909b30463ff4d9dc573a6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Feb 27 15:07:37 2015 +0000 staging: comedi: adl_pci6208: support old PLX device ID ADLINK's MS Windows drivers for the PCI-6208/6216 boards include the following line in the DDInstall secion of the INF file: %String6208%=DriverInstall6208.NT,PCI\VEN_10B5&DEV_9050&SUBSYS_62089999 That's for a PLX PCI 9050/9052 PCI interface chip with custom subvendor and subdevice ID. The "%String6208%" macro expands to "ADLINK PCI-6208" in the INF file. Add a corresponding entry to this driver module's PCI device table. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 706cb51b591e28ff5bfb1c592c1d2fa496828332 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Feb 27 15:07:36 2015 +0000 staging: comedi: adl_pci6208: remove multiple board type support This driver module now only supports a single board type, so remove the infrastructure for describing multiple board types. The comedi "auto_attach" handler, `pci6208_auto_attach()` doesn't need to set the comedi device's `board_name` or `board_ptr` members. The former is automatically pointed to the comedi driver's `driver_name` by the core comedi module, and the latter is not used anywhere else. The AO subdevice's `n_chans` member can be set to 16 without looking it up in the single element of `pci6208_boards[]`. There is no need to pass a board index from the PCI device table to the "auto_attach" handler. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd6b76604d1df088409856fade41b26675d5952e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Feb 27 15:07:35 2015 +0000 staging: comedi: adl_pci6208: combine PCI-6208 and PCI-6216 support This module's PCI device table has separate PCI device IDs for PCI-6208 and PCI-6216, but in reality, both boards and their cPCI and PCIe variants seem to have the same PCI device ID: 0x6208. The PCI subdevice ID doesn't seem to help either. It shouldn't do any harm to claim 16 AO channels for all devices supported by this driver. The original PCI-6216 is just a PCI-6208 with a daughter board providing the extra DACs. The data is clocked out to the DACs serially with no acknowledgment. I assume this would still happen when the DACs for the upper 8 channels are missing. Therefore, change the driver to support a single board type with 16 AO channels, and remove the suspicious PCI device ID for the PCI-6216. Evidence about lack of a separate PCI device ID for PCI-6216 follows.... 1. Jesus Vasquez reports the following lspci output for a PCIe-6216 on his Ubuntu 12.04 system: lspci -n -vvv 07:00.0 1180: 144a:6208 (rev 02) Subsystem: 144a:6208 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Region 0: Memory at f6000000 (32-bit, non-prefetchable) [size=128] Region 1: I/O ports at c100 [size=128] Region 2: I/O ports at c000 [size=256] Kernel driver in use: adl_pci6208 Kernel modules: adl_pci6208 That system's "adl_pci6208" module only has the single PCI device ID for the PCI-6208, but works for his PCIe-6216 except that it only supports 8 analog output channels instead of 16. 2. ADLINK's binary Linux module "pci6208.ko" (there is no separate module for the PCI-6216) has a single alias: alias: pci:v0000144Ad00006208sv*sd*bc*sc*i* 3. The MS Windows drivers include this set of hardware IDs for the PCI-6208 series, with nothing more specific for the PCI-6216 (they are all tied to the same name "ADLINK PCI-6208" and there is no mention of PCI-6216): PCI\VEN_10B5&DEV_9050&SUBSYS_62089999 PCI\VEN_144A&DEV_6208&SUBSYS_6208144A PCI\VEN_144A&DEV_6208&SUBSYS_62089999 PCI\VEN_144A&DEV_6208&SUBSYS_C208144A PCI\VEN_144A&DEV_6208&SUBSYS_C20855AA PCI\VEN_144A&DEV_6208 Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aff0dff965604b22119b0c5fa7751dc78bf5d96a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 15:43:55 2015 -0700 staging: comedi: cb_pcimdas: add 8254 timer (pacer) support The hardware has an 8254 timer/counter. Channe; 0 is available as a generic counter/timer with the clock, gate, and output signals all availabe on the main 37 pin connector. Channels 1 and 2 are used for the pacer. Add support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e56d03dee14a5ca7915ecfb74decaa635125e93d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:43 2015 -0700 staging: comedi: cb_pcimdas: add main connector digital input/output Add subdevices for the 4 digital input and 4 digital output channels on the main connector of the board. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f51d3c9511a013aba79763a54a6d334dd8ff9829 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:42 2015 -0700 staging: comedi: cb_pcimdas: tidy up cb_pcimdas_auto_attach() For aesthetics, add some whitespace to the subdevice init. Remove the unnecessary comments as well as the initialization of the analog input subdevice 'len_chanlist'. That member is only used by subdevices that support async commands. For aesthetics, rename the analog input subdevice (*insn_read) function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21314bc6f8f42024dd82b7d1b00d6e53043241bc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:41 2015 -0700 staging: comedi: cb_pcimdas: provide analog output range table The analog output range is not programmable. The DAC ranges are jumper-settable on the board. For aesthetics, provide a range table for the user with all possible ranges. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3bd4c8e0f278dad527c2b5f6b0d895dfba9af31 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:40 2015 -0700 staging: comedi: cb_pcimdas: define the register map Add defines for the registers and bits. Use the defines to remove the "magic" numbers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7549d770a27cbdb521ea9ed646c1fc242d77a0a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:39 2015 -0700 staging: comedi: cb_pcimdas: support analog input programmable ranges The hardware uses a switch on the board to select if the analog inputs are bipolar or uinipolar. The gain is programmable to allow the following input ranges: Gain Bipolar Unipolar 0 +/-10V 0 to 10V 1 +/-5V 0 to 5V 2 +/-2.5V 0 to 2.5V 3 +/-1.25V 0 to 1.25V Add the necessary code to the driver to allow the user to select the desired range. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 532a411e8b54418c2aed9e20f02b359002bb7e44 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:38 2015 -0700 staging: comedi: cb_pcimdas: fix analog input channel configuration The hardware uses a switch on the board to set the number of analog input channels to either 16 single-ended or 8 differential channels. Currently the switch setting is checked for every (*insn_read) operation to validate the channel number. Check the switch setting during the driver attach and initialize the subdevice accordingly. This allows the core to handle 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 bca3a6d182b1deae02e5cbc05e727c75427e82ee Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:58:03 2015 -0700 staging: comedi: 8253.h: remove unused header All the comedi drivers have been converted to use the comedi_8254 module to provide support for the 8254 timers. Remove this unused header. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0cfeca1a80efbb7691961d4ac31af30c559f976 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:58:02 2015 -0700 staging: comedi: ni_labpc_common: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. The hardware actually has two 8254 devices. Timer B0 is the master for timed conversions, timer B1 sets the scan pacing, and tmer A0 sets the conversion pacing. For the conversion, dev->pacer is used for the "B" timers and a new private data member, dev->counter, is used for the "A" timers. All the divisor values are stored in the dev->pacer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a213fa6f7c33219300bdd826d77172bfd5a54e6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 10:38:49 2015 -0700 staging: comedi: amplc_dio200_common: convert driver to use the comedi_8254 module Convert this driver to use the comedi_8254 module to provide the 8254 timer support. Add 'clock_src' and 'gate_src' members to the comedi_8254 data for convienence. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99ca4e4613da5cb589de6b4127de75e520b32b43 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:58:00 2015 -0700 staging: comedi: amplc_dio200_common: remove 'spinlock' from struct dio200_subdev_8254 Currently this driver uses a spinlock in the 8254 subdevice (*insn_read), (*insn_write), and (*insn_config) functions. The comedi core checks if the subdevice is 'busy', in parse_insn(), before any of the subdevice functions are attempted. Remove the unnecessary spinlock. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed023d529ce44c0e3c41101a344d80259bd96443 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:59 2015 -0700 staging: comedi: amplc_dio200_common: remove unnecessary 'counter_number' checks The 'counter_number' in these functions is the comedi channel number from the chanspec. The comedi core validates the chanspec before calling the driver functions. 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 fdb7c3ece29fc4d73e5994af6a58b4e3d55d105c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:58 2015 -0700 staging: comedi: amplc_dio200_common: remove 'which' from struct dio200_subdev_8254 This member is only used in the "set gate" and "set clock" helper functions. Remove it and calculate the value when needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5814504f4d202974694d2cf37683a0138b99a6a0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:57 2015 -0700 staging: comedi: amplc_dio200_common: remove 'gat_sce_ofs' from struct dio200_subdev_8254 This member is only used one place in the driver. Remove it and calculate the register offset when needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a4959a3a0bd50bbbc5101abec6420d56582ec98 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:56 2015 -0700 staging: comedi: amplc_dio200_common: remove 'clk_sce_ofs' from struct dio200_subdev_8254 This member is only used one place in the driver. Remove it and calculate the register offset when needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f907df0302b1d723887926ec7dba39bf1d31da5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:55 2015 -0700 staging: comedi: amplc_dio200_common: introduce DIO200_GAT_SEL() macro Replace the DIO200_[XYZ]GAT_SEL defines with a macro that returns the correct register offset. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ec7271dbc05542c27956bdd79aca6c4e80ae516 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:54 2015 -0700 staging: comedi: amplc_dio200_common: introduce DIO200_CLK_SEL() macro Replace the DIO200_[XYZ]CLK_SEL defines with a macro that returns the correct register offset. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9da9d20576685b7b3818013d5e1de2367bcff8b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:53 2015 -0700 staging: comedi: adl_pci9118: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ffe2b25732be9cd68ec305f4c727da75462fcd4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:52 2015 -0700 staging: comedi: das16: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf9e4d5c1a9e931a86c3086d41e63b8873efaf37 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:51 2015 -0700 staging: comedi: cb_pcidas64: remove unnecessary include The hardware supported by this driver does not have an 8254 timer. Remove the unnecessary include of "8253.h". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d92d39d9bde805e7d237de534d8a7a3cc4b10ef1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:50 2015 -0700 staging: comedi: me4000: convert driver to use the comedi_8254 module Some of the hardware supported by this driver include an 8254 timer. For aesthetics, convert it to use the comedi_8254 module to provide support for the 8254 timer. This also fixes the (*insn_read) and (*insn_write) to work like the comedi API expects. Currently they only read or write a single value. It also fixes the (*insn_config). Currently the driver is attempting to handle the configuration instructions GPCT_RESET and GPCT_SET_OPERATION. These are just arbitrary valuse and are not real comedi configuration_ids. They actually coorespond to: GPCT_RESET -> INSN_CONFIG_DIO_OUTPUT GPCT_SET_OPERATION -> INSN_CONFIG_ANALOG_TRIG The number of parameters for the instructions is validated by the comedi core in check_insn_config_length(). GPCT_RESET happens to work (insn->n == 1) but GPCT_SET_OPERATION would fail. The INSN_CONFIG_ANALOG_TRIG expects insn->n == 5 but GPCT_SET_OPERATION in this driver expects insn->n == 2. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e1fe085f510645ec9d0330e2a53aab376e54a29 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:49 2015 -0700 staging: comedi: adv_pci_dio: convert driver to use the comedi_8254 module Some of the hardware supported by this driver includes an 8254 timer. For aesthetics, convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0275299f26ecde814c7e03f3fb5a6fa73c60acd9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:48 2015 -0700 staging: comedi: adv_pci_dio: refactor 's8254' boardinfo The boardinfo for the 8254 timer is overly complex. The 8254 timer always has 3 channels and the 'regs' and 'specflags' members of diosubd_data are not used. The only necessary information is the base 'addr' offset to the 8254 registers. Replace the 's8254' member with an unsigned long 'timer_regbase'. Use that to determine if the board has an 8254 timer during the attach of the driver. Save the 'timer_regbase' in the subdevice 'private' pointer to use in the subdevice functions. For aesthetics, absorb pci_dio_add_8254() into the driver attach function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50e338b96c1ad0a6e77f559c0dcba5944d0095c1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:47 2015 -0700 staging: comedi: adv_pci_dio: simplify counter subdevice I/O Only two of the boards supported by this driver have an 8254 counter/timer. Both of these boards have a single 8254 device. Currently the counter subdevice functions are coded to support multiple 8254 devices. This is unnecessary and just complicates the code. Simplfy the subdevice functions to work for a single 8254 counter/timer and refactor the driver (*attach) accordingly. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6c6c9b143d3abd854678b8ccfeb431f3db02f86 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:46 2015 -0700 staging: comedi: das1800: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Tidy up the (*do_cmdtest) validation of the timer arguments. Absorb the converted das1800_setup_counters() code 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 ad4808b690d1e0c0283ab6ce04d25e2a788c5f57 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:45 2015 -0700 staging: comedi: das6402: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Remove the unnecessary programming of timer 0. The private data 'count' value is never set by the driver and the timer is reset to MODE0 when the timers are initialized during the attach of the driver. Remove the unnecessart convert_src check in the (*do_cmdtest). The only valid convert_src is TRIG_TIMER. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e875132a3a6d5dce0211f69ac5ad5ba6356b5180 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:44 2015 -0700 staging: comedi: ni_at_a2150: convert driver to use the comedi_8254 module The hardware supported by this driver includes an 8254 timer. For aesthetics, convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af5a97344f2bfecf8421a56129d799ce5cb06754 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:43 2015 -0700 staging: comedi: ni_at_ao: convert driver to use the comedi_8254 module The hardware supported by this driver includes an 8254 timer. This timer is not currently used, other than setting counters 1 and 2 to MODE4 to ensure that the outputs are high. For aesthetics, convert it to use the comedi_8254 module to provide support for the 8254 timer. This will make it easier to add features later. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a16a017e1392663c3dfe0336b1477cd6cbc768c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:42 2015 -0700 staging: comedi: das08: convert driver to use the comedi_8254 module Some of the hardware supported by this driver include an 8254 timer that is exposed to the user as a comedi_subdevice. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25182d27513d541bfd32163982e80457b3ee1cd0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:41 2015 -0700 staging: comedi: amplc_pci230: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48a4f2226699e1df76efa732e6903ca6b2fa2aaf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:40 2015 -0700 staging: comedi: adv_pci1710: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. It also provides a comedi_subdevice to allow the user to use channel 0 of the 8254 timer. Currently the subdevice support does not work correctly due to and (*insn_config) that does not follow the comedi API. Convert it to use the comedi_8254 module to provide support for the 8254 timer and proper support for the subdevice. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a90feb7fd095863780fe550da71afaa7f03adc65 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:39 2015 -0700 staging: comedi: cb_das16_cs: convert driver to use the comedi_8254 module The hardware supported by this drive has an 8254 timer. Currently this driver does not use the timer functions. For aesthetics, use the comedi_8254 module to provide support for the 8254 timer. This will ensure that the counters are all reset and make it easier to add functionality later. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb9bb1f5a84a1fcbfa213687d2d4bd4843e3be9f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:38 2015 -0700 staging: comedi: das16m1: convert driver to use the comedi_8254 module This driver uses two 8254 timers. One to generate the analog input pacer clock and one to count the number of samples. Convert it to use the comedi_8254 module to provide support for the 8254 timers. Use the comedi_device 'pacer' member for the 8254 timer used for analog input. This data is freed automatically by the core during the detach of the driver. Store the data for the 8254 timer used to count samples in the private data. This data needs to be freed by the driver when it is detached. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4690dec50ebb886b33a62858d13266ee020e035 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:37 2015 -0700 staging: comedi: das800: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96e5624411f99c532175df37c1d8ad8cd908e68a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:36 2015 -0700 staging: comedi: cb_pcidas: convert driver to use the comedi_8254 module This driver uses two 8254 timers to generate the pacer clocks. One for analog input acquisition and one for analog output data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timers. Use the comedi_device 'pacer' member for the 8254 timer used for analog input. This data is freed automatically by the core during the detach of the driver. Store the data for the 8254 timer used for analog output in the private data. This data needs to be freed by the driver when it is detached. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6aa37d79169b10816edeaa2d4a690f35665f3091 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:35 2015 -0700 staging: comedi: amplc_pci224: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog output data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0880acf846a273ff12ab0b963521c5d668a27466 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:34 2015 -0700 staging: comedi: adl_pci9111: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ef02dea590bcce86967edf4da75b4b70db5fee3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:33 2015 -0700 staging: comedi: pcl711: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18c284c68b8a52335c9d1ae53b2236ea350310d7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:32 2015 -0700 staging: comedi: pcl818: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Note that the pacer does not have to be stopped when starting a new async command in pcl818_ai_cmd() or when the card is initialy reset by pcl818_reset(). The counters are all reset when the driver is initially attached and the counters used by the pacer are stopped when a command is canceled. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f48c21fc62addff97c5dbf765a93ba604031dd2d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:31 2015 -0700 staging: comedi: pcl816: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb5678aff3d469d41d7d7d85e5a12c56b0e1aa94 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:30 2015 -0700 staging: comedi: pcl812: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Note that the pacer does not have to be stopped when starting a new async command in pcl812_ai_cmd() or when the card is initialy reset by pcl812_reset(). The counters are all reset when the driver is initially attached and the counters used by the pacer are stopped when a command is canceled. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43db062afe993fbfed184d78293527679fef9784 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:29 2015 -0700 staging: comedi: add 'pacer' member to struct comedi_device Add a new member to the comedi_device struct for a comedi_8254 'pacer'. This provides a convient place to store the data allocated by the comedi_8254 module for boards that use an 8254 device to create the data acquisition pacer clock. Automatically free this pointer in comedi_device_detach_cleanup() so that the drivers don't need to do it when then are detached. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d42b5211d861f1077869e9133efa19297a6f152b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:28 2015 -0700 staging: comedi: comedi_8254: introduce module for 8254 timer support A 8254 timer/counter is commonly used on data acquisition boards to provide the internal pacer clock used to acquire analog input samples. Some boards also to allow the timers to be used externally. Currently the 8254 timers are supported by comedi using the 8253.h header and a number of inline functions. This works for the internal pacer clock but requires the drivers to implement subdevice code necessary to use the timers externally. Introduce a new module to support both the internal pacer clock and the external counter subdevice. This will allow removing a bunch of duplicated code in the drivers and standardizes the comedi 8254 timer support. This implementation is based on the 8253.h inline functions and the various subdevice functionality in the comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7d6b43b4d20cd5b8aa0e56fc1f9185837cd608a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 12:52:28 2015 -0700 staging: comedi: rtd520: remove unnecessary interrupt disable The read/write of the PLX_INTRCS_REG during the driver detach is not necessary. The rtd_reset() function writes 0 to this register which will disable all interrupts. This also fixes a dereference after null check reported by coverity. Reported-by: coverity (CID 751066) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f5fc964866dabec6db6e7eaf8865838b1436a8e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 12:52:27 2015 -0700 staging: comedi: cb_pcidas64: fix possible integer overflow The {min,max}_scan_divisor values could overflow due to the unsigned int * insigned int calculation. Change the type of the local variable 'convert_divisor' to unsigned long long to avoid the possible overflow. Reported-by: coverity (CID 200653) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f456c8034ad993eb6908b8a53216bca7afe9f1f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 12:52:26 2015 -0700 staging: comedi: ni_labpc_common: fix logically dead code issue The quick exit check of (mode == MODE_SINGLE_CHAN) results in coverity reporting a logically dead code issue in the switch code in labpc_ai_check_chanlist(). Remove the quick exit check and allow the function to handle the MODE_SINGLE_CHAN normally (the for loop will only happen 1 time and the function will return 0). Reported-by: coverity (CID 1222108) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb6ec7f6f5f7506dddc6bba9c204e2dab6dc07c0 Author: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Date: Sun Mar 1 22:44:04 2015 -0300 staging: lustre: fld_request.c: Remove else after return. This patch fixes checkpatch.pl warning. WARNING: else is not generally useful after a break or return Signed-off-by: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5693964eaa2a9bb6a6e1b277c9321b4fc511825 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 14:13:19 2015 +0100 staging: android: ion: fix some format strings C99 says that a precision which is simply '.' with no following digits or * should be interpreted as 0, which means that these format strings actually mean 'print 16 spaces'. However, the kernel's printf implementation treats this case as if the precision was omitted. Don't rely on that quirk. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9dfb48f23df4d7b9ec082f6657ab5add7f1682a Author: Adrien Descamps <adrien.descamps@xxxxxxxxx> Date: Wed Feb 25 00:59:25 2015 +0100 drivers: staging: lustre: Fix "space prohibited between function name and open parenthesis" errors Fix checkpatch.ph errors "space prohibited between function name and open parenthesis" in socklnd.h Signed-off-by: Adrien Descamps <adrien.descamps@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53bd4a004ee5ff0f71a858de78faac98924b4a87 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:20:36 2015 +0300 Staging: lustre: missing curly braces in ll_setattr_raw() >From the indenting, it looks like curly braces were intended here. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 499217c9b61bf783ce66c12de1533f4de0d0c2a0 Author: Edward Lipinsky <ellipinsky@xxxxxxxxx> Date: Sat Feb 21 11:29:34 2015 -0800 staging: lustre: lnet: lnet: Remove unneeded braces in lib-eq.c This patch fixes the checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Edward Lipinsky <ellipinsky@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 695a06667e99134a0639fd62e679a069f814ee40 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Thu Feb 12 15:56:07 2015 +0100 staging: lustre: llite: Remove unnecessary OOM message This patch reduces the kernel size by removing error messages that duplicate the normal OOM message. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b475d037f9118603cd15e0a6c1b0c8363b6d345c Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:34:02 2015 +0100 staging: lustre: Move proc_*() functions inside #ifdef CONFIG_SYSCTL If CONFIG_SYSCTL=n: drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:84: warning: â??proc_set_timeoutâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:95: warning: â??proc_memory_allocâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:119: warning: â??proc_pages_allocâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:143: warning: â??proc_mem_maxâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:167: warning: â??proc_pages_maxâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:191: warning: â??proc_max_dirty_pages_in_mbâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:232: warning: â??proc_alloc_fail_rateâ?? defined but not used Make the existing #ifdef CONFIG_SYSCTL cover all sysctl-related functions to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12e397cdfba7e1a2dead072dba3e7bb21905f6c7 Author: Le Tan <tamlok@xxxxxxxx> Date: Wed Feb 11 12:13:14 2015 +0800 staging: lustre: resolves sparse warnings using static declaration This patch resolves sparse warnings about non-declared symbol in staging/lustre/lustre/lov by adding static declaration. These warnings are like this: warning: symbol 'fiemap_calc_fm_end_offset' was not declared. Should it be static? Signed-off-by: Le Tan <tamlok@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43a9a85aa1ca14f5c477eb1ecadd54ebe1f4b6da Author: Mohammad Jamal <md.jamalmohiuddin@xxxxxxxxx> Date: Tue Feb 10 22:48:58 2015 +0530 staging: lustre: lustre: lov: lov_dev: fix sparse warning of static declaration This patch adds a static keyword to cl_lov_device_mutex_class variable to suppress the warning of static declaration Signed-off-by: Mohammad Jamal <md.jamalmohiuddin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89026cbc79682da84f35f7539967c02ee45b9861 Author: Arjun AK <arjunak234@xxxxxxxxx> Date: Sun Feb 8 15:59:10 2015 +0530 staging: lustre: Make the function 'llog_cat_process_cb' static This patch defines the function 'llog_cat_process_cb' as static Signed-off-by: Arjun AK <arjunak234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8fd99fd97b331c7c60f20f508a482da3c4e8b6a Author: Asaf Vertz <asaf.vertz@xxxxxxxxxxx> Date: Mon Feb 9 12:00:50 2015 +0200 staging: lustre: use linux headers WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> WARNING: Use #include <linux/statfs.h> instead of <asm/statfs.h> WARNING: Use #include <linux/kgdb.h> instead of <asm/kgdb.h> Signed-off-by: Asaf Vertz <asaf.vertz@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab75fb2de197d8bf8257546a4c8726b58ae7ac42 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:31 2015 -0800 staging: lustre: Convert remaining uses of "= seq_printf(...)" The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Convert the remaining uses by hand. Miscellanea: o Convert fixed string output to seq_puts Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0e134afc35a6f12ceba8db729ae46afe810cb50 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:29 2015 -0800 staging: lustre: Convert seq_ hash functions to return void These functions don't need to return anything. No caller uses the return value. Miscellanea: Integrate the individual strings to reduce object size ~100 bytes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8faeebdf1535e61baab53daeca12f2e8a0071db7 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:28 2015 -0800 staging: lustre: Convert "return seq_printf(...)" uses The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Convert these "return seq_printf(...)" uses to: seq_printf(seq, ...); return 0; Done via cocci script: @@ struct seq_file *seq; @@ - return \(seq_printf\|seq_puts\|seq_putc\)(seq, ...); + return 0; With some additional reformatting and typing post conversion. Miscellanea: o convert an rc++ use to a bool o use seq_puts with fixed strings where appropriate Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4643b70a08442d2aa494eabd6b024a7102aeaa40 Author: Matteo Semenzato <mattew8898@xxxxxxxxx> Date: Sun Feb 22 09:50:00 2015 +0100 Staging: fbtft: fix space errors This patch fixes the following errors: ERROR: space required after that ',' ERROR: trailing whitespace Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 354fd570f067cfb11d62cccb6a686b82e2a8d234 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Feb 19 10:12:12 2015 -0200 staging: fbtft: fbtft-io: Use '%zu' to print 'size_t' format When building for ARM64 the following build warnings are seen: drivers/staging/fbtft/fbtft-io.c: In function 'fbtft_write_spi_emulate_9': drivers/staging/fbtft/fbtft-io.c:63:4: warning: format '%d' expects argument of type 'int', but argument 4 has type 'size_t' [-Wformat=] drivers/staging/fbtft/fbtft-io.c: In function 'fbtft_read_spi': drivers/staging/fbtft/fbtft-io.c:110:5: warning: format '%d' expects argument of type 'int', but argument 4 has type 'size_t' [-Wformat=] Use '%zu' to print 'size_t' format. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fed5bac16a7c3f949d59a0c96b4ffd8f63fbcc1 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Feb 19 10:12:11 2015 -0200 staging: fbtft: fbtft-core: Use '%zu' to print 'size_t' format When building for ARM64 the following build warning is seen: drivers/staging/fbtft/fbtft-core.c:1004:4: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat=] Use '%zu' to print 'size_t' format. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc060ed086995922cf36edc46359045092821cf2 Author: Frederic Jacob <frederic.jacob.78@xxxxxxxxx> Date: Sat Feb 7 21:15:25 2015 -0500 Staging: fbtft: Fix Sparse warnings This fixes the folowing sparse warnings: fb_hx8340bn.c:111:6: warning: symbol 'set_addr_win' was not declared. Should it be static? fbtft_device.c:32:19: warning: symbol 'spi_device' was not declared. Should it be static? fbtft_device.c:33:24: warning: symbol 'p_device' was not declared. Should it be static? Signed-off-by: Frederic Jacob <frederic.jacob.78@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit babcf83806cfd6cb7efe33d833146bd125938899 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sun Mar 1 23:51:54 2015 +0200 Staging: rtl8192u: ieee80211: Add blank line after declarations The following patch fixes the checkpatch.pl warning: drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c WARNING: Missing a blank line after declarations Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b5c85e0f4f5687a6868e743cb51de3897ab96c0 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Mar 2 00:40:18 2015 +0530 staging: Remove <linux/moduleparam.h> header. This patch drops #include <linux/moduleparam.h> in all the staging driver files that also include #include <linux/module.h> as module.h includes moduleparam.h already. The following semantic patch is used to make these changes: @ includesmodule @ @@ @ depends on includesmodule @ @@ - #include <linux/moduleparam.h> Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2602b2eae6dcd3215eceaeeef0d368310b7cc15 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Mar 1 23:33:45 2015 +0530 staging: media: Remove redundant memset. The memory area set by the call to memset is immediately overwritten by the subsequent call to memcpy. Hence, remove that redundant memset. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94b1726fa63e898b76b8ab6a1edf37a9fe6abd13 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Mar 1 23:33:04 2015 +0530 staging: media: Remove memset. The memory area set by the call to memset is immediately overwritten by the subsequent call to memcpy. Hence, remove that redundant memset. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d2c47a9223519aaaf1f00d964b8edcc2483dcf3 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sun Mar 1 19:19:23 2015 +0200 Staging: rtl8192u: ieee80211: Convert comment from C99 style to C89 style This patch fixes the checkpatch.pl error: ERROR: "Do not use C99 // comments" Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09948995980396e90a3957d87a78cc45a29f5b70 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sun Mar 1 19:02:11 2015 +0200 Staging: rtl8192e: rtl8192e: fix space prohibited before that ',' This patch fixes the following checkpatch.pl error: space prohibited before that ',' Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f491da91f0081132d00d8d5297ccde112e30a8f Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Sun Mar 1 21:28:19 2015 +0530 Staging: rtl8192e: Remove unneeded brackets. These were detected with this Coccinelle script: @@ identifier f1, f2, f3; constant c; @@ f1 = ( - (f2 << f3) + f2 << f3 | - (f2 >> f3) + f2 >> f3 | - (f2 << c) + f2 << c | - (f2 >> c) + f2 >> c ) Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3ed22eabde3d7db5dbb1eced9f83ad0079d257b Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 19:47:53 2015 +0100 Staging: rtl8192e: Fix line over 80 characters This patch fixes line to fit 80 characters. Issue found by checkpatch.pl Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c63eee546079859e9b6ede13f32457b8bf2fb1ff Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 19:46:57 2015 +0100 Staging: rtl8192e: Use ether_addr_copy() instead of memcpy() This patch replaces memcpy with ether_addr_copy. Also pathole was used to make sure that arguments passed to ether_addr_copy are aligned to u16. First argument is iwe.u.ap_addr.sa_data i output of pahole is: struct iw_event { __u16 len; /* 0 2 */ __u16 cmd; /* 2 2 */ /* XXX 4 bytes hole, try to pack */ union iwreq_data u; /* 8 16 */ /* size: 24, cachelines: 1, members: 3 */ /* sum members: 20, holes: 1, sum holes: 4 */ /* last cacheline: 24 bytes */ }; and inside union iwreq_data u is sa_data: struct sockaddr { /* typedef sa_family_t -> __kernel_sa_family_t */ short unsigned int sa_family; /* 8 2 */ char sa_data[14]; /* 10 14 */ } ap_addr; /* 16 */ sa_data is a char array of size 14, and the number of bytes copied using ether_addr_copy() is 6. Second argument is network->bssid and output of pahole is: struct rtllib_network { u8 bssid[6]; /* 0 6 */ u8 channel; /* 6 1 */ u8 ssid[33]; /* 7 33 */ u8 ssid_len; /* 40 1 */ u8 hidden_ssid[33]; /* 41 33 */ /* --- cacheline 1 boundary (64 bytes) was 10 bytes ago --- */ u8 hidden_ssid_len; /* 74 1 */ /* XXX 1 byte hole, try to pack */ struct rtllib_qos_data qos_data; /* 76 48 */ bool bWithAironetIE; /* 124 1 */ bool bCkipSupported; /* 125 1 */ bool bCcxRmEnable; /* 126 1 */ /* XXX 1 byte hole, try to pack */ /* --- cacheline 2 boundary (128 bytes) --- */ u16 CcxRmState[2]; /* 128 4 */ bool bMBssidValid; /* 132 1 */ u8 MBssidMask; /* 133 1 */ u8 MBssid[6]; /* 134 6 */ bool bWithCcxVerNum; /* 140 1 */ u8 BssCcxVerNumber; /* 141 1 */ /* XXX 2 bytes hole, try to pack */ struct rtllib_rx_stats stats; /* 144 120 */ /* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */ u16 capability; /* 264 2 */ u8 rates[12]; /* 266 12 */ u8 rates_len; /* 278 1 */ u8 rates_ex[16]; /* 279 16 */ u8 rates_ex_len; /* 295 1 */ long unsigned int last_scanned; /* 296 8 */ u8 mode; /* 304 1 */ /* XXX 3 bytes hole, try to pack */ u32 flags; /* 308 4 */ u32 last_associate; /* 312 4 */ u32 time_stamp[2]; /* 316 8 */ /* --- cacheline 5 boundary (320 bytes) was 4 bytes ago --- */ u16 beacon_interval; /* 324 2 */ u16 listen_interval; /* 326 2 */ u16 atim_window; /* 328 2 */ u8 erp_value; /* 330 1 */ u8 wpa_ie[64]; /* 331 64 */ /* XXX 5 bytes hole, try to pack */ /* --- cacheline 6 boundary (384 bytes) was 16 bytes ago --- */ size_t wpa_ie_len; /* 400 8 */ u8 rsn_ie[64]; /* 408 64 */ /* --- cacheline 7 boundary (448 bytes) was 24 bytes ago --- */ size_t rsn_ie_len; /* 472 8 */ u8 wzc_ie[256]; /* 480 256 */ /* --- cacheline 11 boundary (704 bytes) was 32 bytes ago --- */ size_t wzc_ie_len; /* 736 8 */ struct rtllib_tim_parameters tim; /* 744 2 */ u8 dtim_period; /* 746 1 */ u8 dtim_data; /* 747 1 */ /* XXX 4 bytes hole, try to pack */ u64 last_dtim_sta_time; /* 752 8 */ u8 wmm_info; /* 760 1 */ /* XXX 1 byte hole, try to pack */ struct rtllib_wmm_ac_param wmm_param[4]; /* 762 16 */ /* --- cacheline 12 boundary (768 bytes) was 10 bytes ago --- */ u8 Turbo_Enable; /* 778 1 */ /* XXX 1 byte hole, try to pack */ u16 CountryIeLen; /* 780 2 */ u8 CountryIeBuf[255]; /* 782 255 */ /* XXX 3 bytes hole, try to pack */ /* --- cacheline 16 boundary (1024 bytes) was 16 bytes ago --- */ struct bss_ht bssht; /* 1040 84 */ /* --- cacheline 17 boundary (1088 bytes) was 36 bytes ago --- */ bool broadcom_cap_exist; /* 1124 1 */ bool realtek_cap_exit; /* 1125 1 */ bool marvell_cap_exist; /* 1126 1 */ bool ralink_cap_exist; /* 1127 1 */ bool atheros_cap_exist; /* 1128 1 */ bool cisco_cap_exist; /* 1129 1 */ bool airgo_cap_exist; /* 1130 1 */ bool unknown_cap_exist; /* 1131 1 */ bool berp_info_valid; /* 1132 1 */ bool buseprotection; /* 1133 1 */ bool bIsNetgear854T; /* 1134 1 */ u8 SignalStrength; /* 1135 1 */ u8 RSSI; /* 1136 1 */ /* XXX 7 bytes hole, try to pack */ struct list_head list; /* 1144 16 */ /* --- cacheline 18 boundary (1152 bytes) was 8 bytes ago --- */ /* size: 1160, cachelines: 19, members: 61 */ /* sum members: 1132, holes: 10, sum holes: 28 */ /* last cacheline: 8 bytes */ }; network->bssid is char array of size 6. Issue found by checkpatch.pl Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c60cfc8e3b43a7477d519f91ef8f7f5edf0adff4 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 19:20:36 2015 +0100 Staging: rtl8192e: Replace printk with netdev_dbg, netdev_info, or netdev_warn For network systems netdev_dbg, netdev_info or netdev_warn is preferred over printk. Issue found by checkpatch.pl Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54160729c58408fedd762cde4579691731c2ae97 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 12:48:27 2015 +0100 Staging: rtl8192u: Replace printk() with netdev_dbg() For dynamic debugging netdev_dbg (if there is a ponterto a device net structure) is preferred over printk(), which is the raw way to print something. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eef638a1973976c450d4cb56ed7a35f59a035714 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 12:46:41 2015 +0100 Staging: rtl8192u: Fix line over 80 characters This patch splits the line so that doesn't exceeds 80 character mark. Issue found by checkpatch.pl Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d5f5732774719547e55a3730902f72cddf27d5a Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 12:45:53 2015 +0100 Staging: rtl8192u: Fix comments This patch fixes comments to fit kernel coding style rules, and also removes commented header file linux/wireless.h. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4eef520d2499e0c5cfed65f4a91fb0f4663a26ec Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Feb 28 08:13:54 2015 +0530 Staging: rtl8712: Use del_timer Use timer API function del_timer instead of driver specific function _cancel_timer_ex as it is a standard way for deactivating a timer. This is done using Coccinelle and semantic patch used for this is as follows: @@ expression x; @@ - _cancel_timer_ex (&x); + del_timer (&x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d0e486eef578097a7cfed7c4c913e31814e8c4c Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 00:15:56 2015 +0100 Staging: rtl8192u: Remove TRUE and FALSE macros Remove TRUE and FALSE boolean macros, since Linux kernel has already a boolean type, bool, defined in linux/stddef.h Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b2faf80228a9e5c9b6df0315dd3e021293717db Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 00:14:34 2015 +0100 Staging: rtl8192u: Replace TRUE and FALSE macros Replace all occurrences of TRUE and FALSE by true and false respectively. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c703c750cc247c5b06aef5cc054e62543c79e6b5 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Feb 27 23:25:48 2015 +0530 Staging: rtl8712: Eliminate use of _set_timer This patch introduces the use of API function mod_timer instead of driver specific function _set_timer as it is a more efficient and standard way to update the expire field of an active timer. Also, definition of function _set_timer is removed as it is no longer needed after this change. Here, these cases are handled using Coccinelle and semantic patch used for this is as follows: @@ expression x; expression y;@@ - _set_timer (&x, y); + mod_timer (&x, jiffies + msecs_to_jiffies (y)); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1862eec4fe45e2d33fb166af3f8e601fc2233d76 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Fri Feb 27 21:28:29 2015 +0530 staging: gdm72xx: Condense two statements into one to improve code readability. This patch removes a variable assignmnet to a value, used only for returning that value. The following coccinelle script was used to discover it: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e20af8acf1b538496827cd1e3b7b29631443528a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:11:02 2015 +0200 staging: dgap: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11107ffe2cd1c1dc5948713fc08a1372185be0d5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:10:30 2015 +0200 staging: fbtft: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30211d0d9df78c8135d9f5cadc77a8baa9f83793 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sun Mar 1 22:04:30 2015 +0200 Staging: lustre: Fix __packed is preferred over __attribute__((packed)) in libcfs_kernelcomm.h Fix checkpatch.pl issues with __packed is preferred over __attribute__((packed)) in libcfs_kernelcomm.h Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22e08f6384a83037dfcbe208d5f69d6f7ddf3e60 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sun Mar 1 20:21:52 2015 +0200 Staging: lustre: Remove space after function name Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in lporc_echo.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 629ecb5b3a0489a43959b68bbc610176807ef821 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Mar 1 14:39:06 2015 +0530 staging: lustre: Remove space in function call. This patch fixes the following checkpatch.pl warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe0eb1729e908229c472fd339f8dac44f203ec54 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sun Mar 1 03:34:11 2015 +0300 Staging: lustre: Fix externs should be avoided in .c This patch moves extern declaration to ldlm_internal.h. Remove prototype from ldlm_lockd.c and ldlm_lock.c. Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3422d5ef09953bc5bb7468e98d8d12bad0a95c6 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sat Feb 28 22:14:19 2015 +0200 Staging: lustre:lnet: klnds: socklnd: Remove space after the name of that function Function names must be adjacent to the parenthesis opened after.That's why remove space after the name of that function. This Warning found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c2b7c05ef1ca1b50a6fb557002f1d6ec3dfd601 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Feb 28 22:33:47 2015 +0300 Staging: lustre: lustre: ldlm: Concatenate strings into single string This patch concatenate two consecutive strings into one, addressing checkpatch.pl warning: "Consecutive strings are generally better as a single string" Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40c6dccfc1dfa48ec98b61a6a6e03199c09a6dc3 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Feb 28 22:20:14 2015 +0300 Staging: lustre: lustre: idlm: Move trailing statement to next line This patch Fix both "trailing statement should be on next line" and space before semicolon errors addressed by checkpatch.pl Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d428284244dfcd158c0d49c41f4dce33fc12e627 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sat Feb 28 20:15:10 2015 +0200 Staging: lustre: lnet: klnds: o2iblnd: Remove space after the name of that function Function names must be adjacent to the parenthesis opened after.That's why remove space after the name of that function. This Warning found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cde9afb1860f86fc0596f3ae45b5c154e0c3421 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Feb 28 16:28:01 2015 +0200 Staging: lustre: __aligned(size) is preferred over __attribute__((aligned(size))) This patch fixes the checkpatch.pl warning in the drivers/staging/lustre/include/linux/libcfs/libcfs_kernelcomm.h Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 978b9b35a61e8920cd9dbc1fe426b9deb3da7d4a Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sat Feb 28 15:33:12 2015 +0200 Staging: lustre: lnet: klnds: socklnd: Remove space after the name of that function Function names must be adjacent to the parenthesis opened after.That's why remove space after the name of that function. This Warning found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb7e9f7b820630d4c5e269aa74436e83331c333d Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Feb 28 00:54:17 2015 +0200 Staging: lustre: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' Remove unnecessary space between function name and opening parenthesis. That was found by running checkpatch.pl Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4de2ab88a0beba603ce222740d369d167881514 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sat Feb 28 00:23:32 2015 +0200 Staging: lustre: lnet: klnds: socklnd: Remove space after the name of that function Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in socklnd Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 939af333863ce12e9fcea2312ecc79f94af20f61 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 23:32:45 2015 +0200 Staging: lustre: lnet: lnet: Remove space after the name of that function Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in router.c Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a71fe4fbac8a96034be9694e7268271a5614a509 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 23:25:55 2015 +0200 Staging: lustre: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' Remove unnecessary space between function name and opening parenthesis. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f64a6f3cfdfb7f87ef739c946ceb6bc8ecaa3e57 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 23:10:06 2015 +0200 Staging: lustre: lnet: selftest: Trailing statements Trailing statements should be on next line. This Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39c09ce258dc5a4b8def5aad89680339a8888f03 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 22:55:50 2015 +0200 Staging: lustre: Removed necessary braces {} Deleted {}.Because braces {} are not necessary for single statement blocks Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a659df625bc1958fe3c1b67fe4132e39507bed07 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 22:49:04 2015 +0200 Staging: lustre: lnet: selftest: Remove space after the name of that function Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in rpc.c Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2ca1d8b50431eb7e4233cc34dbbdac669bc878c Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 22:42:11 2015 +0200 Staging: lustre: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' Remove unnecessary space between function name and opening parenthesis. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dddf4c23bbf7fde17e949381aa72956a4e518891 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 22:42:09 2015 +0200 Staging: lustre: Added const WARNING: struct file_operations should normally be const. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c30daaa382566f70666b8297c1f5271050e39f7 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 22:21:50 2015 +0200 Staging: lustre: lnet: selftest: Remove space after the name of that function Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in console.c Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dd70706cf54b597bf764ecb019e44168ab67bae Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 22:15:12 2015 +0200 Staging: lustre: Removed space prohibited WARNING: space prohibited before that '--' Removed space prohibited. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 295ce74f950368749af1580903077fa340df3ffa Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 21:51:04 2015 +0200 Staging: lustre: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' Remove unnecessary space between function name and opening parenthesis. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b9359f120dba3637338c4d63aeda976a8d15587 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 21:51:03 2015 +0200 Staging: lustre: Remove unnecessary else after return WARNING: else is not generally useful after a break or return Remove unnecessary else after return. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7a5b788a92391311d0cc0b714039544379b1e91 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 21:51:02 2015 +0200 Staging: lustre: Remove return in void function WARNING: void function return statements are not generally useful Remove return in void function. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8df67dad536a3b7eed8ee8e49fa8f2cca2bebed Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 21:23:35 2015 +0200 Staging: lustre: Add blank line after declarations WARNING: "Missing a blank line after declarations" Add blank line after declarations. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ded9f908dac718834e7c9a2c4ffc85df817c6031 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 21:34:25 2015 +0200 Staging: lustre: lustre: obdecho: Add blank line after declarations The following patch fixes the checkpatch.pl warning: drivers/staging/lustre/lustre/obdecho/echo_client.c WARNING: Missing a blank line after declarations Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75f0cef5c4de1a3d6e96cd8e789f3f20356e478c Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Feb 27 21:56:24 2015 +0300 Staging: lustre: lustre: ldlm: Fix do not add new typedefs This patch fixes "do not add new typedefs" warning generated by checkpatch.pl. Update related files. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 382e095525513c2500363cafe6043da1533aae1d Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Fri Feb 27 15:05:45 2015 +0200 Staging: lustre: Added #include <linux/statfs.h> instead of #include <asm/statfs.h> The following patch fixes the checkpatch.pl warning: WARNING: Use #include <linux/statfs.h> instead of #include <asm/statfs.h> Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6eae365ad2273571c19aa2a8b5460874cd507d6 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:55:54 2015 +0200 staging: lustre: osc: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9518b7657f9501c604615d0f54cf0fba681c5c2 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:56:28 2015 +0200 staging: lustre: obdecho: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d311af062eea4505da611bd7369ee6bd2ffafff Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:57:10 2015 +0200 staging: lustre: obdclass: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cf00deef38f1be51ca8df30472dfd1db9df5693 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:57:56 2015 +0200 staging: lustre: obdclass: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aba5c1396a0838a394694ae26c0eaf86e8238f6c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:59:42 2015 +0200 staging: lustre: mgc: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e78fd57966afb96dece2cb3578410587cd496a66 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:01:05 2015 +0200 staging: lustre: mdc: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 107d22095d72a93b6063f2298a0abc0231a15497 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:06:53 2015 +0200 staging: lustre: llite: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a091a1ff82eee5aae584e812831a9d671d94382 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:07:58 2015 +0200 staging: lustre: llite: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf9cac2286b61f1b5ed0da01daa4e574e491ad92 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 21:54:22 2015 +0200 Staging: lustre: lustre: ptlrpc: Add space ERROR: "(foo*)" should be "(foo *)".That's why add space together. That Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e867919757d716bfbff93556f45a1d779b6b5f36 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:55:16 2015 +0200 staging: lustre: ptlrpc: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8f6fa2b73894f52f5fc415138a00403ada57891 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:09:53 2015 +0200 staging: iio: light: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 838ec194a9d631a0e1b5e96c5440b563a5438144 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:08:38 2015 +0200 staging: iio: meter: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c732041b72506f4f6622debe057bd8f35ce2009f Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:50:34 2015 +0200 staging: wlan-ng: remove unused variable This patch removes variables that were simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9110e0ad3884575b641975cd1e58aedfadbb78b5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:49:27 2015 +0200 staging: wlan-ng: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25d5546c3bb00ee263b459b663197651c09d4a80 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Fri Feb 27 12:58:09 2015 +0200 Staging: rtl8723au: Remove white space before semicolon drivers/staging/rtl8723au/core/rtw_cmd.c warning: space prohibited before semicolon Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea18c05882b6eb45455e45af38237612d22f9238 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Mar 1 23:30:58 2015 +0530 staging: rtl8188eu: Remove memset. The memory area set by the call to memset is immediately overwritten by the subsequent call to memcpy. Hence, remove that redundant memset. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 131c359e8ef34f0cedf8e1eb7faf8eb649360a4f Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sat Feb 28 02:07:50 2015 +0530 staging: rtl8188eu: Add blank line after declarations This patch removes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25034ff83c25c8d1a114e3219fbf6c7b5a006622 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sat Feb 28 02:06:44 2015 +0530 staging: rtl8188eu: Compress two statements into one. This patch removes the use of a variable used only for returning a value. The following coccinelle script was used to discover it: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; It also fixes the checkpatch.pl warning about line being over 80 characters, in the lines where changes were made. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fe90658016577b1aee33dd183cd1098792cebd9 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Feb 27 23:23:57 2015 +0530 Staging: rtl8188eu: Remove unused variable Remove unused variable assignment for is2t and assign sim_bitmap at declaration to make the code more compact. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f70306ba0972a13be49c97ade1324b22f6ca1c9 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:54:23 2015 +0200 staging: rtl8188eu: os_dep: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 179e7dcde410d820f38ad80b28e9efe26030bb8d Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Feb 27 15:18:02 2015 +0530 Staging: rtl8188eu: Move variable assignment Variable path_on is assigned explicitly in the if branch and so its assignment outside can be moved to the else branch. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dacd2eced57b0df5676d189ee572d6ee40bd006e Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Feb 27 11:25:38 2015 +0530 Staging: rtl8188eu: Remove braces from single statement block Remove braces from single statement if condition to follow kernel coding convention. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79709afac6275be75935ee95ff8094a7586db82c Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 14:15:36 2015 +0200 Staging: lustre: lustre: osc: Insert missing space before '=' Insert missing space before '=' to improve readability. This Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cf1054b8c5bce39fa2c8adedb3ff40ddb0fa1b3 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 14:45:41 2015 +0200 Staging: lustre: lustre: osc: Insert missing space before '|' Insert missing space before '|' to improve readability. This Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17fc7f9b9658a7846d0d920dd3b8124890f06bfa Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 13:50:11 2015 +0200 Staging: lustre: lustre: mgc: Delete the excess white space This patch fixes these error messages found by checkpatch.pl: ERROR: "foo* bar" should be "foo *bar" Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95745e9b1de24fc682a47080124819e1808c3a17 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Mar 1 13:08:00 2015 +0530 staging: lustre: Use kasprintf. This patch uses kasprintf as it combines kmalloc and sprintf, and takes care of the size calculation itself. The semantic patch that makes this change is as follows: // <smpl> @@ expression a,flag; expression list args; statement S; @@ a = - \(kmalloc\|kzalloc\)(...,flag) + kasprintf(flag,args) <... when != a if (a == NULL || ...) S ...> - sprintf(a,args); Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f40e06f0b7fe1f7244349b753cc22e67f69cded4 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Feb 28 23:11:47 2015 +0200 Staging: dgnc: Replace printk() with dev_dbg() This patch replaces printk() with dev_dbg() in order to avoid the suggestion of using a more specific function while printing debug information. Warning found by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c28645e3caff03a9d28f1597152348db2a7c0b59 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Feb 27 14:10:36 2015 +0200 Staging: dgnc: Replace printk with dev_err This patch fixes the following checkpatch.pl warning: WARNING: Prefer [subsystem eg: netdev]_err over printk(KERN_ERR, ...). Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c596a31ec3c3db2fe5ee78e9f46ae2e0bcb9aa0 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:51:29 2015 +0200 staging: vt6655: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a19b14cc5c6553c29e861a3516c5720c940b8a3 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Fri Feb 27 12:00:49 2015 +0200 Staging: vt6655: Fix do not use C99 // comments Fix checkpatch.pl issues with do not use C99 // comments in key.h Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e3b1b0e09bacbb8f86be0b08b5d50617b57274e Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Fri Feb 27 13:21:57 2015 +0200 Staging: i2o: Fix quoted string split across lines This patch fixes "quoted string split across lines warning" warning in exec-osm.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13d932f79cea6b59b9a18a54c2e776d88799654d Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Thu Feb 26 18:42:36 2015 -0800 Staging: speakup: Remove 'extern' keywords from .h prototypes Addresses checkpatch.pl check: CHECK: Extern prototypes should be avoided in .h files Removes the 'extern' keyword from function prototypes Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68932f7188f84673fdb0de14a00c2f428869c6ed Merge: b656cc6 e2e9b65 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 1 14:05:24 2015 -0500 Merge branch 'ebpf_support_for_cls_bpf' Daniel Borkmann says: ==================== eBPF support for cls_bpf This is the non-RFC version of my patchset posted before netdev01 [1] conference. It contains a couple of eBPF cleanups and preparation patches to get eBPF support into cls_bpf. The last patch adds the actual support. I'll post the iproute2 parts after the kernel bits are merged, an initial preview link to the code is mentioned in the last patch. Patch 4 and 5 were originally one patch, but I've split them into two parts upon request as patch 4 only is also needed for Alexei's tracing patches that go via tip tree. Tested with tc and all in-kernel available BPF test suites. I have configured and built LLVM with --enable-experimental-targets=BPF but as Alexei put it, the plan is to get rid of the experimental status in future [2]. Thanks a lot! v1 -> v2: - Removed arch patches from this series - x86 is already queued in tip tree, under x86/mm - arm64 just reposted directly to arm folks - Rest is unchanged [1] http://thread.gmane.org/gmane.linux.network/350191 [2] http://article.gmane.org/gmane.linux.kernel/1874969 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2e9b6541dd4b31848079da80fe2253daaafb549 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:48 2015 +0100 cls_bpf: add initial eBPF support for programmable classifiers This work extends the "classic" BPF programmable tc classifier by extending its scope also to native eBPF code! This allows for user space to implement own custom, 'safe' C like classifiers (or whatever other frontend language LLVM et al may provide in future), that can then be compiled with the LLVM eBPF backend to an eBPF elf file. The result of this can be loaded into the kernel via iproute2's tc. In the kernel, they can be JITed on major archs and thus run in native performance. Simple, minimal toy example to demonstrate the workflow: #include <linux/ip.h> #include <linux/if_ether.h> #include <linux/bpf.h> #include "tc_bpf_api.h" __section("classify") int cls_main(struct sk_buff *skb) { return (0x800 << 16) | load_byte(skb, ETH_HLEN + __builtin_offsetof(struct iphdr, tos)); } char __license[] __section("license") = "GPL"; The classifier can then be compiled into eBPF opcodes and loaded via tc, for example: clang -O2 -emit-llvm -c cls.c -o - | llc -march=bpf -filetype=obj -o cls.o tc filter add dev em1 parent 1: bpf cls.o [...] As it has been demonstrated, the scope can even reach up to a fully fledged flow dissector (similarly as in samples/bpf/sockex2_kern.c). For tc, maps are allowed to be used, but from kernel context only, in other words, eBPF code can keep state across filter invocations. In future, we perhaps may reattach from a different application to those maps e.g., to read out collected statistics/state. Similarly as in socket filters, we may extend functionality for eBPF classifiers over time depending on the use cases. For that purpose, cls_bpf programs are using BPF_PROG_TYPE_SCHED_CLS program type, so we can allow additional functions/accessors (e.g. an ABI compatible offset translation to skb fields/metadata). For an initial cls_bpf support, we allow the same set of helper functions as eBPF socket filters, but we could diverge at some point in time w/o problem. I was wondering whether cls_bpf and act_bpf could share C programs, I can imagine that at some point, we introduce i) further common handlers for both (or even beyond their scope), and/or if truly needed ii) some restricted function space for each of them. Both can be abstracted easily through struct bpf_verifier_ops in future. The context of cls_bpf versus act_bpf is slightly different though: a cls_bpf program will return a specific classid whereas act_bpf a drop/non-drop return code, latter may also in future mangle skbs. That said, we can surely have a "classify" and "action" section in a single object file, or considered mentioned constraint add a possibility of a shared section. The workflow for getting native eBPF running from tc [1] is as follows: for f_bpf, I've added a slightly modified ELF parser code from Alexei's kernel sample, which reads out the LLVM compiled object, sets up maps (and dynamically fixes up map fds) if any, and loads the eBPF instructions all centrally through the bpf syscall. The resulting fd from the loaded program itself is being passed down to cls_bpf, which looks up struct bpf_prog from the fd store, and holds reference, so that it stays available also after tc program lifetime. On tc filter destruction, it will then drop its reference. Moreover, I've also added the optional possibility to annotate an eBPF filter with a name (e.g. path to object file, or something else if preferred) so that when tc dumps currently installed filters, some more context can be given to an admin for a given instance (as opposed to just the file descriptor number). Last but not least, bpf_prog_get() and bpf_prog_put() needed to be exported, so that eBPF can be used from cls_bpf built as a module. Thanks to 60a3b2253c41 ("net: bpf: make eBPF interpreter images read-only") I think this is of no concern since anything wanting to alter eBPF opcode after verification stage would crash the kernel. [1] http://git.breakpoint.cc/cgit/dborkman/iproute2.git/log/?h=ebpf Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24701ecea76b0b93bd9667486934ec310825f558 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:47 2015 +0100 ebpf: move read-only fields to bpf_prog and shrink bpf_prog_aux is_gpl_compatible and prog_type should be moved directly into bpf_prog as they stay immutable during bpf_prog's lifetime, are core attributes and they can be locked as read-only later on via bpf_prog_select_runtime(). With a bit of rearranging, this also allows us to shrink bpf_prog_aux to exactly 1 cacheline. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96be4325f443dbbfeb37d2a157675ac0736531a1 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:46 2015 +0100 ebpf: add sched_cls_type and map it to sk_filter's verifier ops As discussed recently and at netconf/netdev01, we want to prevent making bpf_verifier_ops registration available for modules, but have them at a controlled place inside the kernel instead. The reason for this is, that out-of-tree modules can go crazy and define and register any verfifier ops they want, doing all sorts of crap, even bypassing available GPLed eBPF helper functions. We don't want to offer such a shiny playground, of course, but keep strict control to ourselves inside the core kernel. This also encourages us to design eBPF user helpers carefully and generically, so they can be shared among various subsystems using eBPF. For the eBPF traffic classifier (cls_bpf), it's a good start to share the same helper facilities as we currently do in eBPF for socket filters. That way, we have BPF_PROG_TYPE_SCHED_CLS look like it's own type, thus one day if there's a good reason to diverge the set of helper functions from the set available to socket filters, we keep ABI compatibility. In future, we could place all bpf_prog_type_list at a central place, perhaps. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4052c4aea0cf455110457c0a0c299d45689ba05 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:45 2015 +0100 ebpf: remove CONFIG_BPF_SYSCALL ifdefs in socket filter code This gets rid of CONFIG_BPF_SYSCALL ifdefs in the socket filter code, now that the BPF internal header can deal with it. While going over it, I also changed eBPF related functions to a sk_filter prefix to be more consistent with the rest of the file. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fc174dea54546e2b1146e1197da1b6d4bc48107 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:44 2015 +0100 ebpf: make internal bpf API independent of CONFIG_BPF_SYSCALL ifdefs Socket filter code and other subsystems with upcoming eBPF support should not need to deal with the fact that we have CONFIG_BPF_SYSCALL defined or not. Having the bpf syscall as a config option is a nice thing and I'd expect it to stay that way for expert users (I presume one day the default setting of it might change, though), but code making use of it should not care if it's actually enabled or not. Instead, hide this via header files and let the rest deal with it. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1a66f85b74c5ef7b503f746ea97742dacd56419 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:43 2015 +0100 ebpf: export BPF_PSEUDO_MAP_FD to uapi We need to export BPF_PSEUDO_MAP_FD to user space, as it's used in the ELF BPF loader where instructions are being loaded that need map fixups. An initial stage loads all maps into the kernel, and later on replaces related instructions in the eBPF blob with BPF_PSEUDO_MAP_FD as source register and the actual fd as immediate value. The kernel verifier recognizes this keyword and replaces the map fd with a real pointer internally. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2c83fff582ae133d9f5bb187404ea9ce4da1f96 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:42 2015 +0100 ebpf: constify various function pointer structs We can move bpf_map_ops and bpf_verifier_ops and other structs into ro section, bpf_map_type_list and bpf_prog_type_list into read mostly. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f91fe17e243d1f279d425071a35e3d41290758a0 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:41 2015 +0100 ebpf: remove kernel test stubs Now that we have BPF_PROG_TYPE_SOCKET_FILTER up and running, we can remove the test stubs which were added to get the verifier suite up. We can just let the test cases probe under socket filter type instead. In the fill/spill test case, we cannot (yet) access fields from the context (skb), but we may adapt that test case in future. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e1223b50089ab5901215d2fd8c61b42c7cfe034 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 3 20:11:48 2015 +0200 iwlwifi: mvm: new Alive / error table API The new API slightly changes the layout of the version of the firmware - prepare for that. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 33cef9256342f200a708211958cec9c44406631d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jan 21 21:41:29 2015 +0100 iwlwifi: mvm: support beacon statistics for BSS client Report the average beacon signal and the number of received beacons as measured by the firmware. Since the firmware just counts, and doesn't reset the counter at all, clear it in the firmware whenever we associate. However, accumulate it over firmware restart. Since clearing the statistics in the firmware will also clear the ones for the radio statistics, add those to the accumulator when cleared. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3c118cdb9cd8c8425320f5153054250c5b93d8c0 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Tue Feb 10 09:25:50 2015 +0200 iwlwifi: mvm: don't write to DBGC_OUT_CTRL when stopping the recording Due to HW bug in the DBGC when driver want to stop the dbg recording it should wait 100us before collecting the data instead of write 0 to DBGC_OUT_CTRL. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1f9403863c080478ad78247c89b018e95bdfb027 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Feb 10 13:03:38 2015 +0200 iwlwifi: mvm: remove deprecated scan API code The legacy scan API is deprecated and not used anymore with 10 and higher firmware versions. Since we deprecated firmware version 9, we can remove a whole lot of unused code. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1e2c24f0f10f1b170a0840a5a54a912785ee2f6a Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Feb 10 13:54:08 2015 +0200 iwlwifi: deprecate -9.ucode for 3160 / 7260 / 7265 This firmware is not supported anymore. Stop loading this firmware. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 91a8bcde2e7feb2c2782ddc6a266cf5f5294d16f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jan 14 18:12:41 2015 +0100 iwlwifi: mvm: support radio statistics as global survey Export the radio statistics from the statistics v10 API (if the firmware also has the capability to fill these statistics) using the global survey data facility. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 777c9b6bba5266ea8eecb19b3fa8b63ad5251bd6 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jan 14 17:58:57 2015 +0100 iwlwifi: mvm: add statistics API version 10 New firmware versions will report statistics using a new version 10 of the API, instead of the current version 8. Add support for this. This enables getting beacon and radio statistics. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a2227ce2a32cf9faeab1299894fe09d03e6a12b7 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Feb 4 16:35:03 2015 +0200 iwlwifi: pcie: apply destination before releasing reset This allows to use the firmware debugging system even when the configuration values are set hard coded in the firmware. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 295ca6d3ed5611577e7b057c0d191e9f72d9daea Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Feb 9 15:18:49 2015 +0200 iwlwifi: mvm: remove unused function in BT coex Cleanup unused code. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit afcee962b09842d0f4191beb4a2d08251b4c7705 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Feb 9 15:18:17 2015 +0200 iwlwifi: mvm: fix BT coex shared antenna activity check The shared antenna should be forbidden to use only if there's high BT activity. Comparing to BT_OFF was effectively causing us to always forbid using the shared antenna for SISO. This leads to degraded performance in scenarios where the shared antenna would have better performance. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 16c426ff9e13a06d754ed7484f5e6e6d6550f968 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Feb 2 12:46:22 2015 +0200 iwlwifi: mvm: rs: print single stream params via debugfs Add this to the info printed when reading rate_scale_table. Useful for debugging. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 878985ce7e384c11dae751b4c217f5abe8b62806 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Feb 2 12:14:54 2015 +0200 iwlwifi: mvm: rs: avoid ss_force from being reset after tx idle ss_force is a debugging option to force a certain single stream tx mode. It's not useful if it gets reset after tx idle. Fix that. While at it also make sure any code touching ss_force will only get compiled if debugfs support is configured. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e717c166766a3542027f1d5da236aa74d1903ada Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Tue Feb 3 15:53:29 2015 +0200 iwlwifi: mvm: increase the number of PAPD channel groups to 9 Newer devices have more PAPD channel groups. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 51ec09af2d67f7d75402a2c8f5f1016de1d1945b Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Jan 21 11:50:31 2015 +0200 iwlwifi: mvm: consider TDLS queues as used during drain When a TDLS station is being drained its Tx queues are still in use. Don't allocate them to a different station in the meantime. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7ac4a50a7ce31fc6350c05abc0c01a2c51725cb4 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Feb 1 21:46:00 2015 +0200 iwlwifi: mvm: rs: disable MIMO for low latency P2P Due to issues with Miracast adapters MIMO reception disable use of MIMO when for low latency P2P traffic. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ba69d0e36261234efa315ff34ef6f59da9f98ac3 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Fri Jan 30 01:38:29 2015 +0200 iwlwifi: mvm: rs: adapt rate matching to new STBC/BFER Once the FW supports autonomous decision between STBC/BFER/SISO we no longer set the STBC bit and ANT_AB in the rate table. However the FW rate in the tx response will have the STBC or BFER bit set and the antennas set to ANT_AB in case these were chosen by it. This will cause us to discard any such response as unmatching the current LQ table and thus break the rs search cycle completely. Fix this by relaxing the rate matching in case we're working with the new API and STBC/BFER are used. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0b8d17f30304bedff77d47450839865048b1b626 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Feb 2 15:21:27 2015 +0200 iwlwifi: mvm: rs: fix BT Coex check to look at the correct ant The check to avoid the shared antenna was passed the wrong antenna parameter. It should have checked whether the antenna of the next column we're considering is allowed and instead it was passed the current antenna. This could lead to a wrong choice of the next column in the rs algorithm and non optimal performance. Fixes: commit 219fb66b49fac64bb ("iwlwifi: mvm: rs - don't use the shared antenna when BT load is high") Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 504c6143c53dfd140d42fe76d0faed1309c6d1b6 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 10:00:10 2015 +0100 crypto: powerpc/aes - kernel config Integrate the module into the kernel configuration Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8a28a1a89409289d9552757b95f85b50ffc26ac7 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 10:00:05 2015 +0100 cyprot: powerpc/aes - glue code Integrate the assembler modules into the kernel crypto framework. Take care to avoid long intervals of disabled preemption. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f2e2ad2e1bfae66f087f4a33cd14da6d5ffcb79f Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 10:00:00 2015 +0100 crypto: powerpc/aes - ECB/CBC/CTR/XTS modes The assembler block cipher module that controls the core AES functions. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f98992af419e3b69696e9c418eda664bd5d7ceb2 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 09:59:54 2015 +0100 crypto: powerpc/aes - key handling Key generation for big endian core routines. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1c201e6420729f0aca9c844bb941ee2dd2b6c3c0 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 09:59:49 2015 +0100 crypto: powerpc/aes - assembler core The assembler AES encryption and decryption core routines. Implemented & optimized for big endian. Nevertheless they work on little endian too. For most efficient reuse in (higher level) block cipher routines they are implemented as "fast" call modules without any stack handling or register saving. The caller must take care of that part. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0c5f9aea2e9c1f4a60321127064d03a0331add99 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 09:59:43 2015 +0100 crypto: powerpc/aes - aes tables 4K AES tables for big endian. To reduce the possiblity of timing attacks, the size has been cut to 8KB + 256 bytes in contrast to 16KB in the generic implementation. That is not perfect but at least a good tradeoff for CPU limited router devices. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 74f2dc2041d3d66689984cdb987f3224caffaedd Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 09:59:38 2015 +0100 crypto: powerpc/aes - register defines Define some register aliases for better readability. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0052a65413f006663e0d7fbfc886ea5bbd8f197f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Feb 16 18:09:16 2015 -0800 hwrng: bcm63xx - use devm_* helpers Simplify the driver's probe function and error handling by using the device managed allocators, while at it, drop the redundant "out of memory" messages since these are already printed by the allocator. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit aeb9624f96581732b1ffd21af967375839ba227d Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Feb 16 18:09:15 2015 -0800 MIPS: BCM63xx: remove RSET_RNG register definitions Now that these definitions have been moved to drivers/char/hw_random/bcm63xx-rng.c where they belong to make the driver standalone, we can safely remove these definitions from bcm63xx_regs.h. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b515e0f989124ee7a13df45a318273f51081d58f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Feb 16 18:09:14 2015 -0800 hwrng: bcm63xx - move register definitions to driver arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h contains the register definitions for this random number generator block, incorporate these register definitions directly into the bcm63xx-rng driver so we do not rely on this header to be provided. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f7591faec6f66bcd91bca25f91192c787f63d365 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Feb 16 18:09:13 2015 -0800 hwrng: bcm63xx - drop bcm_{readl,writel} macros bcm_{readl,writel} macros expand to __raw_{readl,writel}, use these directly such that we do not rely on the platform to provide these for us. As a result, we no longer use bcm63xx_io.h, so remove that inclusion too. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b656cc64cf815d8ff6e99883a531fafc48199bd0 Merge: 74abc20 8b7ac01 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Feb 28 23:39:05 2015 -0500 Merge branch 's390-next' Ursula Braun says: ==================== s390: network patches for net-next here are some s390 related patches for net-next ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b7ac017aa0f9b803e9da9caafa5fe9544ecf5c7 Author: Ursula Braun <ursula.braun@xxxxxxxxxx> Date: Fri Feb 27 12:52:34 2015 +0100 MAINTAINERS: update S390 NETWORK DRIVERS maintainer remove Frank Blaschka as S390 NETWORK DRIVERS maintainer Acked-by: Frank Blaschka <blaschka@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca5b20ace87b645a436faecc0e7e697699639690 Author: Stefan Raspl <raspl@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 12:52:33 2015 +0100 qeth: Fix command sizes This patch adjusts two instances where we were using the (too big) struct qeth_ipacmd_setadpparms size instead of the commands' actual size. This didn't do any harm, but wasted a few bytes. Signed-off-by: Stefan Raspl <raspl@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83650a2edc9b8f0838c7842b7ea595c927e79092 Author: Ursula Braun <ursula.braun@xxxxxxxxxx> Date: Fri Feb 27 12:52:32 2015 +0100 s390: remove claw driver claw devices are outdated and no longer supported. This patch removes the claw driver. Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75a499a651bb5838320a7e2542ed6f8181e60976 Author: Ryo Kataoka <ryo.kataoka.wt@xxxxxxxxxxx> Date: Thu Feb 19 22:29:06 2015 +0900 ARM: shmobile: r8a7791: Fix IPMMU-GP clock to device tree Signed-off-by: Ryo Kataoka <ryo.kataoka.wt@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1fc580158714b19fbc3a592a126c58e06728763d Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 16:08:33 2015 +0200 ARM: shmobile: r8a7794: alt: Fix ethernet controller PHY IRQ line The PHY IRQ line is connected to external IRQ8, not IRQ0. Fix DT accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3915d36fabf143dffdf91c5372d3b0a23722af52 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:13 2015 +0100 ARM: shmobile: r8a7778: enable multiplatform target Adds config option and enables DTB building. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ba32449535c57b7cc4da788326c6ae4908b70268 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:12 2015 +0100 ARM: shmobile: bockw: add sound to DT Adds sound card using the ak4643 codec. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 39a96792c5d351e002fadbdaaba5fc0c20450f1d Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:11 2015 +0100 ARM: shmobile: r8a7778: add sound to DT Adds an entry for an R-Car Gen. 1 sound controller. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> [horms: Removed undocumented "renesas,rcar_sound" compat string] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 74abc20cedf6f95a0065665c55180ef2d4828ba5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Feb 26 19:08:59 2015 -0800 tcp: cleanup static functions tcp_fastopen_create_child() is static and should not be exported. tcp4_gso_segment() and tcp6_gso_segment() should be static. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59995370dbca7636c105ddadc0447fab86ad3887 Author: Andrew Schwartzmeyer <andrew@xxxxxxxxxxxxxxxxx> Date: Thu Feb 26 16:27:14 2015 -0800 hyperv: Implement netvsc_get_channels() ethool op This adds support for reporting the actual and maximum combined channels count of the hv_netvsc driver via 'ethtool --show-channels'. This required adding 'max_chn' to 'struct netvsc_device', and assigning it 'rsscap.num_recv_que' in 'rndis_filter_device_add'. Now we can access the combined maximum channel count via 'struct netvsc_device' in the ethtool callback. Signed-off-by: Andrew Schwartzmeyer <andrew@xxxxxxxxxxxxxxxxx> Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76a70e9c4b45fc1dbcbff6f7ae88ac7e1ddfb677 Author: James Minor <james.minor@xxxxxx> Date: Tue Feb 24 12:58:20 2015 -0600 cfg80211-wext: return -E2BIG when buffer can't hold full BSS entry When using the wext compatibility code in cfg80211, part of the IEs can be truncated if the passed user buffer is large enough for part of the BSS but not large enough for all of the IEs. This can cause an EAP network to show up as a PSK network. Always return -E2BIG in this case to avoid truncating data. Since this changes the control flow, use an on-stack variable for a small buffer instead of allocating it. Signed-off-by: James Minor <james.minor@xxxxxx> [rework patch to error out immediately, use _check wrappers] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 36ef906ee8fefbfac3844206e66d8450e6221c69 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Feb 25 10:54:33 2015 +0100 wext: add checked wrappers for adding events/points to streams These checked wrappers are necessary for the next patch, which will use them to avoid sending out partial scan results. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit abfbc3af57b1b92ff976ce7f1c776c169d14ed8a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Feb 25 10:03:25 2015 +0100 mac80211: remove TX latency measurement code Revert commit ad38bfc916da ("mac80211: Tx frame latency statistics") (along with some follow-up fixes). This code turned out not to be as useful in the current form as we thought, and we've internally hacked it up more, but that's not very suitable for upstream (for now), and we might just do that with tracing instead. Therefore, for now at least, remove this code. We might also need to use the skb->tstamp field for the TCP performance issue, which is more important than the debugging. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 31f909a2c0abfc1a1a76b2981d28ac85d33210e7 Author: Masashi Honma <masashi.honma@xxxxxxxxx> Date: Tue Feb 24 22:42:16 2015 +0900 nl/mac80211: allow zero plink timeout to disable STA expiration Both wpa_supplicant and mac80211 have and inactivity timer. By default wpa_supplicant will be timed out in 5 minutes and mac80211's it is 30 minutes. If wpa_supplicant uses a longer timer than mac80211, it will get unexpected disconnection by mac80211. Using 0xffffffff instead as the configured value could solve this w/o changing the code, but due to integer overflow in the expression used this doesn't work. The expression is: (current jiffies) > (frame Rx jiffies + NL80211_MESHCONF_PLINK_TIMEOUT * 250) On 32bit system, the right side would overflow and be a very small value if NL80211_MESHCONF_PLINK_TIMEOUT is sufficiently large, causing unexpectedly early disconnections. Instead allow disabling the inactivity timer to avoid this situation, by passing the (previously invalid and useless) value 0. Signed-off-by: Masashi Honma <masashi.honma@xxxxxxxxx> [reword/rewrap commit log] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cd37a90b2a417e5882414e19954eeed174aa4d29 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Tue Feb 24 08:39:44 2015 -0500 mac80211_hwsim: support any address in userspace Due to the checks in get_hwsim_data_ref_from_addr, wmediumd was only able to use the second mac address (those starting with 0x42). This is confusing and needlessly limiting, so allow any configured address. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2afe38d15cee01b2bb8f22383571f7f4a95f2d99 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jan 6 14:00:53 2015 +0100 cfg80211-wext: export symbols only when needed When a fully converted cfg80211 driver needs cfg80211-wext for userspace API purposes, the symbols need not be exported. When other drivers (orinoco/hermes or ipw2200) are enabled, they do need the symbols exported as they use them directly. Make those drivers select a new CFG80211_WEXT_EXPORT Kconfig symbol (instead of just CFG80211_WEXT) and export the functions only if requested - this saves about 1/2k due to the size of EXPORT_SYMBOL() itself. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7d9bb2f0653c7830e676f1012051fe9349ce2669 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Feb 13 21:31:07 2015 +0100 mac80211: iterate using station list in AP SMPS When changing AP SMPS, we need to look up all the stations for this interface, so there's no reason to iterate over hash chains rather than doing the simpler iteration over the station list. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9d6b106b54e02ad6a30c8bd949c8ea581a47d92b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Feb 24 00:28:18 2015 +0100 mac80211: don't look up stations for multicast addresses Since multicast addresses don't exist as stations, don't attempt to look them up in the hashtable on TX. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f9c7ce18538ed9c099818a9335d7e427d60e97ae Merge: 6588af6 a0ea700 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Feb 28 15:10:47 2015 -0500 Merge branch 'tcp-tso' Eric Dumazet says: ==================== tcp: tso improvements This patch serie reworks tcp_tso_should_defer() a bit to get less bursts, and better ECN behavior. We also removed tso_deferred field in tcp socket. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a0ea700e4095e26a8e291374757dd29519900f18 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Feb 26 14:10:20 2015 -0800 tcp: tso: allow CA_CWR state in tcp_tso_should_defer() Another TCP issue is triggered by ECN. Under pressure, receiver gets ECN marks, and send back ACK packets with ECE TCP flag. Senders enter CA_CWR state. In this state, tcp_tso_should_defer() is short cut : if (icsk->icsk_ca_state != TCP_CA_Open) goto send_now; This means that about all ACK packets we receive are triggering a partial send, and because cwnd is kept small, we can only send a small amount of data for each incoming ACK, which in return generate more ACK packets. Allowing CA_Open and CA_CWR states to enable TSO defer in tcp_tso_should_defer() brings performance back : TSO autodefer has more chance to defer under pressure. This patch increases TSO and LRO/GRO efficiency back to normal levels, and does not impact overall ECN behavior. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50c8339e9299aaf09e48c8f94de39baec638c874 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Feb 26 14:10:19 2015 -0800 tcp: tso: restore IW10 after TSO autosizing With sysctl_tcp_min_tso_segs being 4, it is very possible that tcp_tso_should_defer() decides not sending last 2 MSS of initial window of 10 packets. This also applies if autosizing decides to send X MSS per GSO packet, and cwnd is not a multiple of X. This patch implements an heuristic based on age of first skb in write queue : If it was sent very recently (less than half srtt), we can predict that no ACK packet will come in less than half rtt, so deferring might cause an under utilization of our window. This is visible on initial send (IW10) on web servers, but more generally on some RPC, as the last part of the message might need an extra RTT to get delivered. Tested: Ran following packetdrill test // A simple server-side test that sends exactly an initial window (IW10) // worth of packets. `sysctl -e -q net.ipv4.tcp_min_tso_segs=4` 0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 +0 bind(3, ..., ...) = 0 +0 listen(3, 1) = 0 +.1 < S 0:0(0) win 32792 <mss 1460,sackOK,nop,nop,nop,wscale 7> +0 > S. 0:0(0) ack 1 <mss 1460,nop,nop,sackOK,nop,wscale 6> +.1 < . 1:1(0) ack 1 win 257 +0 accept(3, ..., ...) = 4 +0 write(4, ..., 14600) = 14600 +0 > . 1:5841(5840) ack 1 win 457 +0 > . 5841:11681(5840) ack 1 win 457 // Following packet should be sent right now. +0 > P. 11681:14601(2920) ack 1 win 457 +.1 < . 1:1(0) ack 14601 win 257 +0 close(4) = 0 +0 > F. 14601:14601(0) ack 1 +.1 < F. 1:1(0) ack 14602 win 257 +0 > . 14602:14602(0) ack 2 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f852eb536ad651b8734559dcf4353514cb0bea3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Feb 26 14:10:18 2015 -0800 tcp: tso: remove tp->tso_deferred TSO relies on ability to defer sending a small amount of packets. Heuristic is to wait for future ACKS in hope to send more packets at once. Current algorithm uses a per socket tso_deferred field as a pseudo timer. This pseudo timer relies on future ACK, but there is no guarantee we receive them in time. Fix would be to use a real timer, but cost of such timer is probably too expensive for typical cases. This patch changes the logic to test the time of last transmit, because we should not add bursts of more than 1ms for any given flow. We've used this patch for about two years at Google, before FQ/pacing as it would reduce a fair amount of bursts. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f46bf82e23846fc419861bb7b2c4b041e69b831f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Feb 28 18:59:28 2015 +0100 power: bq27x00_battery: add bq27510 support Add support for bq27510 to the bq27x00 driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6588af614e7b79294fbcd4a666a7422c0c854e80 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 19:34:37 2015 +0000 usbnet: Fix tx_packets stat for FLAG_MULTI_FRAME drivers Currently the usbnet core does not update the tx_packets statistic for drivers with FLAG_MULTI_PACKET and there is no hook in the TX completion path where they could do this. cdc_ncm and dependent drivers are bumping tx_packets stat on the transmit path while asix and sr9800 aren't updating it at all. Add a packet count in struct skb_data so these drivers can fill it in, initialise it to 1 for other drivers, and add the packet count to the tx_packets statistic on completion. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Tested-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2249129f438799e251fe1e05d0b6f38dc6e63b4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Nov 22 15:39:16 2014 +0100 HSI: nokia-modem: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: Sebastian Reichel <sre@xxxxxxxxxx> commit df586cbb6be97aaf55b9a01e1d0ab01bc03d70d1 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sat Feb 7 06:16:46 2015 -0500 crypto: sahara - drop unnecessary default assignment All possible code-paths will assign ret to suitable values so this default value is not needed. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6cf02fcab1f6158c224fb00619f21556d8e5c4ea Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sat Feb 7 06:27:45 2015 -0500 crypto: sahara - pass on error condition A failure of sahara_hw_descriptor_create() with -EINVAL due to scatter list out of bounds/invalid would not be reported back. This patch just passes on the -EINVAL so it is visible in sahara_queue_manage(). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 58ed798b8291f1d63c00d6dfe077587494a6790a Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sat Feb 7 06:17:13 2015 -0500 crypto: sahara - fix type of ret for wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int, this patch adds appropriate variables of type unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dd0fff8db627e08272af98d9480ae8d892d8f440 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sat Feb 7 03:09:41 2015 -0500 crypto: mxs-dcp - fix type of ret for wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int, this patch changes the type of ret from int to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 81e397d937a8e9f46f024a9f876cf14d8e2b45a7 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Feb 6 10:25:20 2015 -0800 crypto: aesni - make driver-gcm-aes-aesni helper a proper aead alg Changed the __driver-gcm-aes-aesni to be a proper aead algorithm. This required a valid setkey and setauthsize functions to be added and also some changes to make sure that math context is not corrupted when the alg is used directly. Note that the __driver-gcm-aes-aesni should not be used directly by modules that can use it in interrupt context as we don't have a good fallback mechanism in this case. Signed-off-by: Adrian Hoban <adrian.hoban@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d2e3ae6f3abad839214f7b05c34075a1a7c82470 Author: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:59:48 2015 -0200 crypto: vmx - Enabling VMX module for PPC64 This patch enables VMX module in PPC64. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5c380d623ed30b71a2441fb4f2e053a4e1a50794 Author: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:59:35 2015 -0200 crypto: vmx - Add support for VMS instructions by ASM OpenSSL implements optimized ASM algorithms which support VMX instructions on Power 8 CPU. These scripts generate an endian-agnostic ASM implementation in order to support both big and little-endian. - aesp8-ppc.pl: implements suport for AES instructions implemented by POWER8 processor. - ghashp8-ppc.pl: implements support for GHASH for Power8. - ppc-xlate.pl: ppc assembler distiller. These code has been adopted from OpenSSL project in collaboration with the original author (Andy Polyakov <appro@xxxxxxxxxxx>). Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cc333cd68dfae191ce02308657a50f21d63b7cd5 Author: Marcelo H. Cerri <mhcerri@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:59:05 2015 -0200 crypto: vmx - Adding GHASH routines for VMX module This patch adds GHASH routines to VMX module in order to make use of VMX cryptographic acceleration instructions on Power 8 CPU. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4f7f60d312b3816542412ee90e05f06b50a51489 Author: Marcelo H. Cerri <mhcerri@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:58:31 2015 -0200 crypto: vmx - Adding CTR routines for VMX module This patch adds AES CTR routines to VMX module in order to make use of VMX cryptographic acceleration instructions on Power 8 CPU. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8c755ace357c77fbfea61a2ce07d9723a9bb482f Author: Marcelo H. Cerri <mhcerri@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:57:53 2015 -0200 crypto: vmx - Adding CBC routines for VMX module This patch adds AES CBC routines to VMX module in order to make use of VMX cryptographic acceleration instructions on Power 8 CPU. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8676590a159320a9de2a1818df14a3bac3f065a1 Author: Marcelo H. Cerri <mhcerri@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:57:22 2015 -0200 crypto: vmx - Adding AES routines for VMX module This patch adds AES routines to VMX module in order to make use of VMX cryptographic acceleration instructions on Power 8 CPU. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 20a26faa7e623fd1344bc39d201a27ea440b2ad2 Author: Marcelo H. Cerri <mhcerri@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:56:50 2015 -0200 crypto: vmx - Adding VMX module for Power 8 This patch adds routines supporting VMX instructions on the Power 8. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6bbb614ec478961c7443086bdf7fd6784479c14a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Feb 27 15:55:40 2015 +0100 x86/mm: Unexport set_memory_ro() and set_memory_rw() This effectively unexports set_memory_ro() and set_memory_rw() functions, and thus reverts: a03352d2c1dc ("x86: export set_memory_ro and set_memory_rw"). They have been introduced for debugging purposes in e1000e, but no module user is in mainline kernel (anymore?) and we explicitly do not want modules to use these functions, as they i.e. protect eBPF (interpreted & JIT'ed) images from malicious modifications or bugs. Outside of eBPF scope, I believe also other set_memory_*() functions should be unexported on x86 for modules. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Bruce Allan <bruce.w.allan@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: davem@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a064393a0a5d319eebde5c761cfd743132d4f213.1425040940.git.daniel@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a05973a79efe9152391065c87c12d5c1e146a736 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Feb 6 03:25:28 2015 -0800 mtd: s3c2410: drop useless / misspelled debug prints s3c2410_nand_probe is not the name of the function. These prints have little utility, so let's just kill them. Reported-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7c2f717668af10ab6d4aaed22a5d29f06812ee62 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 15:53:27 2015 +0100 mtd: pxa3xx_nand: initialiaze pxa3xx_flash_ids to 0 pxa3xx_flash_ids wasn't initialized to 0, which in certain cases could end up containing corrupted values in its members. Fix this to avoid possible issues. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ed446cc7208d80a7e9ddddc757a4d5767b67b4c7 Merge: 2454225 e423c90 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 01:24:03 2015 -0800 Merge MTD updates into -next commit 24542257a3b987025d4b998ec2d15e556c98ad3f Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Fri Feb 20 19:36:43 2015 +0100 mtd: pxa3xx-nand: handle PIO in threaded interrupt Change the handling of the data stage in the driver : don't pump data in the top-half interrupt, but rather schedule a thread for non dma cases. This will enable latencies in the data pumping, especially if delays are required. Moreover platform shall be more reactive as other interrupts can be served while pumping data. No throughput degradation was observed, at least on the zylonite platform, while a slight degradation was being expected. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Tested-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit adf716d2f3e62820cc86cdb08c277516c7012352 Merge: 46aad84 8dad038 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 01:06:08 2015 -0800 Merge MTD updates into -next commit 788b94ba6c223d4ce955218d59075cd1edb92692 Merge: 0afb170 fefd2d9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 08:12:16 2015 +0100 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 SIGBUS failures due to misaligned accesses in Sparc64 (David Ahern) - Fix branch stack mode in 'perf report' (He Kuang) - Fix a 'perf probe' operator precedence bug (He Kuang) - Fix Support for different binaries with same name in 'perf diff' (Kan Liang) - Check kprobes blacklist when adding new events via 'perf probe' (Masami Hiramatsu) - Add --purge FILE to remove all caches of FILE in 'perf buildid-cache' (Masami Hiramatsu) - Show usage with some incorrect params (Masami Hiramatsu) - Add new buildid cache if update target is not cached in 'buildid-cache' (Masami Hiramatsu) - Allow listing events with 'tracepoint' prefix in 'perf list' (Yunlong Song) - Sort the output of 'perf list' (Yunlong Song) - Fix bash completion of 'perf --' (Yunlong Song) Developer Zone: - Handle strdup() failure path in 'perf probe' (Arnaldo Carvalho de Melo) - Fix get_real_path to free allocated memory in error path in 'perf probe' (Masami Hiramatsu) - Use pr_debug instead of verbose && pr_info perf buildid-cache (Masami Hiramatsu) - Fix building of 'perf data' with some gcc versions due to incorrect array struct entry (Yunlong Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 44aa1d4413876cca0962debc9483ba009d71737f Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Fri Feb 27 16:23:59 2015 -0500 security/yama: Remove unnecessary selects from Kconfig. Yama selects SECURITYFS and SECURITY_PATH, but requires neither. Remove them. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 41a4695ca46d8798f89b477855973eb2ad3f4f69 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Wed Feb 27 08:37:56 2013 -0800 Yama: do not modify global sysctl table entry When the sysctl table is constified, we won't be able to directly modify it. Instead, use a table copy that carries any needed changes. Suggested-by: PaX Team <pageexec@xxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 721a57a02dfc81b6d63b93b8ca23be3004b61515 Merge: 247f6d0 d76a436 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 27 18:18:52 2015 -0500 Merge branch 'tipc-next' Erik Hugne says: ==================== tipc: bug fix and some improvements Most important is a fix for a nullptr exception that would occur when name table subscriptions fail. The remaining patches are performance improvements and cosmetic changes. v2: remove unnecessary whitespace in patch #2 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d76a436d50d1ebce352e1815eaea79a254b2b24f Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Fri Feb 27 08:56:58 2015 +0100 tipc: make media address offset a common define With the exception of infiniband media which does not use media offsets, the media address is always located at offset 4 in the media info field as defined by the protocol, so we move the definition to the generic bearer.h Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91e2eb56845a018e5c691acf87137baf05316c4e Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Fri Feb 27 08:56:57 2015 +0100 tipc: rename media/msg related definitions The TIPC_MEDIA_ADDR_SIZE and TIPC_MEDIA_ADDR_OFFSET names are misleading, as they actually define the size and offset of the whole media info field and not the address part. This patch does not have any functional changes. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afaa3f65f65fda2e7b190aac7e2a75d9a2a77cb6 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Fri Feb 27 08:56:56 2015 +0100 tipc: purge links when bearer is disabled If a bearer is disabled by manual intervention, all links over that bearer should be purged, indicated with the 'shutting_down' flag. Otherwise tipc will get confused if a new bearer is enabled using a different media type. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7fe8097cef5ff4ba1c7ced42bda97830ce00eec6 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Fri Feb 27 08:56:55 2015 +0100 tipc: fix nullpointer bug when subscribing to events If a subscription request is sent to a topology server connection, and any error occurs (malformed request, oom or limit reached) while processing this request, TIPC should terminate the subscriber connection. While doing so, it tries to access fields in an already freed (or never allocated) subscription element leading to a nullpointer exception. We fix this by removing the subscr_terminate function and terminate the connection immediately upon any subscription failure. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3622c36f37640078c9a706b71e02e6334c85f9e9 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Fri Feb 27 08:56:54 2015 +0100 tipc: only create header copy for name distr messages The TIPC name distributor pushes topology updates to the cluster neighbors. Currently this is done in a unicast manner, and the skb holding the update is cloned for each cluster member. This is unnecessary, as we only modify the destnode field in the header so we change it to do pskb_copy instead. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 247f6d0f8667fda408fbe0e503ab54a957be2ce5 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Wed Feb 25 19:52:11 2015 +0100 team: allow TSO being set on master This patch allows TSO being set/unset on the master, so that GSO segmentation is done after team layer. Similar patch is present for bonding: b0ce3508b25e ("bonding: allow TSO being set on bonding master") and bridge: f902e8812ef6 ("bridge: Add ability to enable TSO") Suggested-by: Jiri Prochazka <jprochaz@xxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 433b89cfb40f6bb6e6b6c899d06e40dd4f2ed100 Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Sun Feb 22 00:18:49 2015 +0100 Doc/memory-hotplug.txt: corrections and callback function prototype Documentation/memory-hotplug.txt describes that a callback function can be added to the notification chain by calling hotplug_memory_notifier(). The function prototype of the callback function is mssing. This missing information is added by the patch. The description of the arguments of the callback function is reworked. The constants for the event types are corrected. The possible return values are explained. Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 09677e0ff8a115162cfa763b7ad2d753f11fce9f Author: Pavel Kretov <firegurafiku@xxxxxxxxx> Date: Mon Feb 16 20:26:18 2015 +0300 Documentation/CodingStyle: improve text layout Try to make coding style documentation look a bit more readable and consistent with the following: - indent every code example in C to first tab-stop; - surround every code example with empty lines, both top and bottom; - remove empty lines where text looked way too spare; - do not indent examples in elisp and kconfig; - do not do any non-whitespace changes. Signed-off-by: Pavel Kretov <firegurafiku@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 696156f03f97aa3be4ec5f8d85ff3465bbf404fe Author: Pavel Kretov <firegurafiku@xxxxxxxxx> Date: Mon Feb 16 20:26:17 2015 +0300 Documentation/CodingStyle: fix tab-spaces mixture Coding style description has a irregular mixture of tabs and spaces in two places which is bad by any means and can possibly hurt somebody's sense of beauty. Signed-off-by: Pavel Kretov <firegurafiku@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9e39dc1e563e8d390bae42ee80e1e665c18b7de2 Author: Robert P. J. Day <rpjday@xxxxxxxxxxxxxx> Date: Fri Feb 13 03:46:07 2015 -0500 Documentation: Add "@" in front of private structure members. Even "private" structure members need a leading "@" in their kernel-doc; otherwise, they will be treated as new section names in the resulting manual. Signed-off-by: Robert P. J. Day <rpjday@xxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit dce12391d70d24d428def2f5fc600a3b1f791ca6 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Tue Feb 3 18:49:26 2015 -0800 Documentation: arm: Update for DT-only platforms The documentation specified that a machine type is mandatory and made that assumption in a few places. However, for DT-only platforms, the current advice is that no machine type should be registered, so update accordingly. Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 7eb603459caf1de4ddf36c18d7ce3ebef28dde8e Merge: 7705f73 79e5ad2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 27 16:37:23 2015 -0500 Merge branch 'fib_trie_remove_leaf_info' Alexander Duyck says: ==================== fib_trie: Remove leaf_info structure This patch set removes the leaf_info structure from the IPv4 fib_trie. The general idea is that the leaf_info structure itself only held about 6 actual bits of data, beyond that it was mostly just waste. As such we can drop the structure, move the 1 byte representing the prefix/suffix length into the fib_alias and just link it all into one list. My testing shows that this saves somewhere between 4 to 10ns depending on the type of test performed. I'm suspecting that this represents 1 to 2 L1 cache misses saved per look-up. One side effect of this change is that semantic_match_miss will now only increment once per leaf instead of once per leaf_info miss. However the stat is already skewed now that we perform a preliminary check on the leaf as a part of the look-up. I also have gone through and addressed a number of ordering issues in the first patch since I had misread the behavior of list_add_tail. I have since run some additional testing and verified the resulting lists are in the same order when combining multiple prefix length and tos values in a single leaf. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79e5ad2ceb00673e5f2d278a892adcbf596a6b5a Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Feb 25 15:31:51 2015 -0800 fib_trie: Remove leaf_info At this point the leaf_info hash is redundant. By adding the suffix length to the fib_alias hash list we no longer have need of leaf_info as we can determine the prefix length from fa_slen. So we can compress things by dropping the leaf_info structure from fib_trie and instead directly connect the leaves to the fib_alias hash list. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b6ebad5c3a152271c6af19cd44e20001ae72fe8 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Feb 25 15:31:44 2015 -0800 fib_trie: Add slen to fib alias Make use of an empty spot in the alias to store the suffix length so that we don't need to pull that information from the leaf_info structure. This patch also makes a slight change to the user statistics. Instead of incrementing semantic_match_miss once per leaf_info miss we now just increment it once per leaf if a match was not found. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5786ec60549961a575044e0fb81664da1f8bf225 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Feb 25 15:31:37 2015 -0800 fib_trie: Replace plen with slen in leaf_info This replaces the prefix length variable in the leaf_info structure with a suffix length value, or host identifier length in bits. By doing this it makes it easier to sort out since the tnodes and leaf are carrying this value as well since it is compatible with the ->pos field in tnodes. I also cleaned up one spot that had some list manipulation that could be simplified. I basically updated it so that we just use hlist_add_head_rcu instead of calling hlist_add_before_rcu on the first node in the list. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56315f9e6e3a0ba0483c2e1f53333d5275268cb1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Feb 25 15:31:31 2015 -0800 fib_trie: Convert fib_alias to hlist from list There isn't any advantage to having it as a list and by making it an hlist we make the fib_alias more compatible with the list_info in terms of the type of list used. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7705f730372d65f73599f0b49e3249433bba55e8 Merge: 723b8e4 93a714d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 27 16:25:30 2015 -0500 Merge branch 'ip_level_multicast_join_leave' Madhu Challa says: ==================== Multicast group join/leave at ip level This series enables configuring multicast group join/leave at ip level by extending the "ip address" command. It adds a new control socket mc_autojoin_sock and ifa_flag IFA_F_MCAUTOJOIN to invoke the corresponding igmp group join/leave api. Since the igmp group join/leave api takes the rtnl_lock the code had to be refactored by adding a shim layer prefixed by __ that can be invoked by code that already has the rtnl_lock. This way we avoid proliferation of work queues. The first patch in this series does the refactoring for igmp v6. Its based on igmp v4 changes that were added by Eric Dumazet. The second patch in this series does the group join/leave based on the setting of the IFA_F_MCAUTOJOIN flag. v5: - addressed comments from Daniel Borkmann. - removed blank line in patch 1/2 - removed unused variable, const arg in patch 2/2 v4: - addressed comments from Yoshifuji Hideaki. - Remove WARN_ON not needed because we return a value from v2. - addressed comments from Daniel Borkmann. - rename sock to mc_autojoin_sk - ip_mc_config() pass ifa so it needs one less argument. - igmp_net_{init|destroy}() use inet_ctl_sock_{create|destroy} - inet_rtm_newaddr() change scope of ret. - igmp_net_init() no need to initialize sock to NULL. v3: - addressed comments from David Miller. - fixed indentation and local variable order. v2: - addressed comments from Eric Dumazet. - removed workqueue and call __ip_mc_{join|leave}_group or __ipv6_sock_mc_{join|drop} ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93a714d6b53d87872e552dbb273544bdeaaf6e12 Author: Madhu Challa <challa@xxxxxxxxxxxxxxxxx> Date: Wed Feb 25 09:58:35 2015 -0800 multicast: Extend ip address command to enable multicast group join/leave on Joining multicast group on ethernet level via "ip maddr" command would not work if we have an Ethernet switch that does igmp snooping since the switch would not replicate multicast packets on ports that did not have IGMP reports for the multicast addresses. Linux vxlan interfaces created via "ip link add vxlan" have the group option that enables then to do the required join. By extending ip address command with option "autojoin" we can get similar functionality for openvswitch vxlan interfaces as well as other tunneling mechanisms that need to receive multicast traffic. The kernel code is structured similar to how the vxlan driver does a group join / leave. example: ip address add 224.1.1.10/24 dev eth5 autojoin ip address del 224.1.1.10/24 dev eth5 Signed-off-by: Madhu Challa <challa@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46a4dee074b58c4256dbf6c2dbf199c372f85b04 Author: Madhu Challa <challa@xxxxxxxxxxxxxxxxx> Date: Wed Feb 25 09:58:34 2015 -0800 igmp v6: add __ipv6_sock_mc_join and __ipv6_sock_mc_drop Based on the igmp v4 changes from Eric Dumazet. 959d10f6bbf6("igmp: add __ip_mc_{join|leave}_group()") These changes are needed to perform igmp v6 join/leave while RTNL is held. Make ipv6_sock_mc_join and ipv6_sock_mc_drop wrappers around __ipv6_sock_mc_join and __ipv6_sock_mc_drop to avoid proliferation of work queues. Signed-off-by: Madhu Challa <challa@xxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 723b8e460d87e957f251dc5764f4ab86af6ab44e Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Tue Feb 24 09:17:31 2015 -0800 udp: In udp_flow_src_port use random hash value if skb_get_hash fails In the unlikely event that skb_get_hash is unable to deduce a hash in udp_flow_src_port we use a consistent random value instead. This is specified in GRE/UDP draft section 3.2.1: https://tools.ietf.org/html/draft-ietf-tsvwg-gre-in-udp-encap-04 Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4c5dcacfaffb7493d161d5cd0fbb7b1190b7bd5 Author: Christoph Hellwig <hch@xxxxxx> Date: Sun Feb 22 08:48:42 2015 -0800 target: rewrite fd_execute_write_same With the new bio_vec backed iov_iter helpers we can simply set up on bio_vec per LBA, all pointing to the same initiator-supplied buffer. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6b9a44d0939ca6235c72b811bd55b462d6a0a553 Author: Christoph Hellwig <hch@xxxxxx> Date: Sun Feb 22 08:48:41 2015 -0800 target: use vfs_iter_read/write in fd_do_rw Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit fefd2d9619de3bf0bf02a8622e9f445c3d19cc3f Author: He Kuang <hekuang@xxxxxxxxxx> Date: Sun Feb 15 10:33:37 2015 +0800 perf report: Fix branch stack mode cannot be set When perf.data file is obtained using 'perf record -b', perf report should use branch stack mode to generate output. But this function is broken by improper comparison between boolean and constant -1. before this patch: $ perf report -b -i perf.data Samples: 16 of event 'cycles', Event count (approx.): 3171896 Overhead Command Shared Object Symbol 13.59% ls [kernel.kallsyms] [k] prio_tree_remove 13.16% ls [kernel.kallsyms] [k] change_pte_range 12.09% ls [kernel.kallsyms] [k] page_fault 12.02% ls [kernel.kallsyms] [k] zap_pte_range ... after this patch: $ perf report -b -i perf.data Samples: 256 of event 'cycles', Event count (approx.): 256 Overhead Command Source Shared Object Source Symbol Target Shared Object Target Symbol 9.38% ls [unknown] [k] 0000000000000000 [unknown] [k] 0000000000000000 6.25% ls libc-2.19.so [.] _dl_addr libc-2.19.so [.] _dl_addr 6.25% ls [kernel.kallsyms] [k] zap_pte_range [kernel.kallsyms] [k] zap_pte_range 6.25% ls [kernel.kallsyms] [k] change_pte_range [kernel.kallsyms] [k] change_pte_range 0.39% ls [kernel.kallsyms] [k] prio_tree_remove [kernel.kallsyms] [k] prio_tree_remove ... Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423967617-28879-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0497d0a8201a38f0c95edc8a1fc0325f2f879ddb Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Feb 27 13:50:31 2015 +0900 perf buildid-cache: Show usage with incorrect params Show usage if no action is specified or unexpected parameter is given. In other words, be more user friendly. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> 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/20150227045030.1999.44006.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cc169c7c31253e80e0d504f0cd5dbb9f1e3d3ac5 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Feb 27 13:50:28 2015 +0900 perf buildid-cache: Use pr_debug instead of verbose && pr_info Use pr_debug instead of the combination of verbose and pr_info. "if (verbose) pr_info(...)" is same as "pr_debug(...)", replace it. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Suggested-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150227045028.1999.93137.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8d8c8e4cb3014fcc51f0e127b4316043306f5bb0 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Feb 27 13:50:26 2015 +0900 perf buildid-cache: Add --purge FILE to remove all caches of FILE Add --purge FILE to remove all caches of FILE. Since the current --remove FILE removes a cache which has same build-id of given FILE. Since the command takes a FILE path, it can confuse user who tries to remove cache about FILE path. ----- # ./perf buildid-cache -v --add ./perf Adding 133b7b5486d987a5ab5c3ebf4ea14941f45d4d4f ./perf: Ok # (update the ./perf binary) # ./perf buildid-cache -v --remove ./perf Removing 305bbd1be68f66eca7e2d78db294653031edfa79 ./perf: FAIL ./perf wasn't in the cache ----- Actually, the --remove's FAIL is not shown, it just silently fails. So, this patch adds --purge FILE action for such usecase. perf buildid-cache --purge FILE removes all caches which has same FILE path. In other words, it removes all caches including old binaries. ----- # ./perf buildid-cache -v --add ./perf Adding 133b7b5486d987a5ab5c3ebf4ea14941f45d4d4f ./perf: Ok # (update the ./perf binary) # ./perf buildid-cache -v --purge ./perf Removing 133b7b5486d987a5ab5c3ebf4ea14941f45d4d4f ./perf: Ok ----- BTW, if you want to purge all the caches, remove ~/.debug/* . Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> 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/20150227045026.1999.64084.stgit@xxxxxxxxxxxxxxxxxxxxx [ s/dirname/dir_name/g to fix build on fedora14, where dirname is a global ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7335399a6a4bead9ef8b59ce7d811fc4e99ca98c Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:31 2015 +0800 perf tools: Fix the bash completion problem of 'perf --*' The perf-completion.sh uses a predefined string '--help --version --exec-path --html-path --paginate --no-pager --perf-dir --work-tree --debugfs-dir' for the bash completion of 'perf --*', which has two problems: Problem 1: If the options of perf are changed (see handle_options() in perf.c), the perf-completion.sh has to be changed at the same time. If not, the bash completion of 'perf --*' and the options which perf really supports will be inconsistent. Problem 2: When typing another single character after 'perf --', e.g. 'h', and hit TAB key to get the bash completion of 'perf --h', the character 'h' disappears at once. This is not what we want, we wish the bash completion can return '--help --html-path' and then we can continue to choose one. To solve this problem, we add '--list-opts' to perf, which now supports 'perf --list-opts' directly, and its result can be used in bash completion now. Example: Before this patch: $ perf --h <-- hit TAB key after character 'h' $ perf -- <-- 'h' disappears and no required result After this patch: $ perf --h <-- hit TAB key after character 'h' --help --html-path <-- the required result Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-8-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5ef803ee02d67ad0b49f357cb7feb7d5e6b0015d Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:28 2015 +0800 perf list: Extend raw-dump to certain kind of events Extend 'perf list --raw-dump' to 'perf list --raw-dump [hw|sw|cache |tracepoint|pmu|event_glob]' in order to show the raw-dump of a certain kind of events rather than all of the events. Example: Before this patch: $ perf list --raw-dump hw branch-instructions branch-misses bus-cycles cache-misses cache-references cpu-cycles instructions stalled-cycles-backend stalled-cycles-frontend alignment-faults context-switches cpu-clock cpu-migrations emulation-faults major-faults minor-faults page-faults task-clock ... ... writeback:writeback_thread_start writeback:writeback_thread_stop writeback:writeback_wait_iff_congested writeback:writeback_wake_background writeback:writeback_wake_thread As shown above, all of the events are printed. After this patch: $ perf list --raw-dump hw branch-instructions branch-misses bus-cycles cache-misses cache-references cpu-cycles instructions stalled-cycles-backend stalled-cycles-frontend As shown above, only the hw events are printed. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-5-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 705750f2d6e283ba2856ba8eda60dce2d405b387 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:27 2015 +0800 perf list: Clean up the printing functions of hardware/software events Do not need print_events_type or __print_events_type for listing hw/sw events, let print_symbol_events do its job instead. Moreover, print_symbol_events can also handle event_glob and name_only. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-4-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3ef1e65c829c86ffaa94a4ed59fed5da37f9610a Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:30 2015 +0800 perf tools: Remove the '--(null)' long_name for --list-opts If the long_name of a 'struct option' is defined as NULL, --list-opts will incorrectly print '--(null)' in its output. As a result, '--(null)' will finally appear in the case of bash completion, e.g. 'perf record --'. Example: Before this patch: $ perf record --list-opts --event --filter --pid --tid --realtime --no-buffering --raw-samples --all-cpus --cpu --count --output --no-inherit --freq --mmap-pages --group --(null) --call-graph --verbose --quiet --stat --data --timestamp --period --no-samples --no-buildid-cache --no-buildid --cgroup --delay --uid --branch-any --branch-filter --weight --transaction --per-thread --intr-regs After this patch: $ perf record --list-opts --event --filter --pid --tid --realtime --no-buffering --raw-samples --all-cpus --cpu --count --output --no-inherit --freq --mmap-pages --group --call-graph --verbose --quiet --stat --data --timestamp --period --no-samples --no-buildid-cache --no-buildid --cgroup --delay --uid --branch-any --branch-filter --weight --transaction --per-thread --intr-regs Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-7-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ed45752061be11a40f57df4304296147dbda2da9 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:29 2015 +0800 perf list: Avoid confusion of perf output and the next command prompt Distinguish the output of 'perf list --list-opts' or 'perf --list-cmds' with the next command prompt, which also happens in other cases (e.g. record, report ...). Example: Before this patch: $perf list --list-opts --raw-dump $ <-- the output and the next command prompt are at the same line After this patch: $perf list --list-opts --raw-dump $ <-- the new line Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-6-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 161149513b3570ebd7fe14fc2ddc42cb46557e37 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:26 2015 +0800 perf list: Allow listing events with 'tracepoint' prefix If somebody happens to name an event with the beginning of 'tracepoint' (e.g. tracepoint_foo), then it will never be showed with perf list event_glob, thus we parse the argument 'tracepoint' more carefully for accuracy. Example: Before this patch: $ perf list tracepoint_foo:* jbd2:jbd2_start_commit [Tracepoint event] jbd2:jbd2_commit_locking [Tracepoint event] jbd2:jbd2_run_stats [Tracepoint event] block:block_rq_issue [Tracepoint event] block:block_bio_complete [Tracepoint event] block:block_bio_backmerge [Tracepoint event] block:block_getrq [Tracepoint event] ... ... As shown above, all of the tracepoint events are printed. In fact, the command's real intention is to print the events of tracepoint_foo. After this patch: $ perf list tracepoint_foo:* tracepoint_foo:tp_foo_enter [Tracepoint event] tracepoint_foo:tp_foo_exit [Tracepoint event] As shown above, only the events of tracepoint_foo are printed. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ab0e48002db818c1937f105cd18001dfdd3ce056 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:25 2015 +0800 perf list: Sort the output of 'perf list' to view more clearly Sort the output according to ASCII character list (using strcmp), which supports both number sequence and alphabet sequence. Example: Before this patch: $ perf list List of pre-defined events (to be used in -e): cpu-cycles OR cycles [Hardware event] instructions [Hardware event] cache-references [Hardware event] cache-misses [Hardware event] branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event] ... ... jbd2:jbd2_start_commit [Tracepoint event] jbd2:jbd2_commit_locking [Tracepoint event] jbd2:jbd2_run_stats [Tracepoint event] block:block_rq_issue [Tracepoint event] block:block_bio_complete [Tracepoint event] block:block_bio_backmerge [Tracepoint event] block:block_getrq [Tracepoint event] ... ... After this patch: $ perf list List of pre-defined events (to be used in -e): branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event] cache-misses [Hardware event] cache-references [Hardware event] cpu-cycles OR cycles [Hardware event] instructions [Hardware event] ... ... block:block_bio_backmerge [Tracepoint event] block:block_bio_complete [Tracepoint event] block:block_getrq [Tracepoint event] block:block_rq_issue [Tracepoint event] jbd2:jbd2_commit_locking [Tracepoint event] jbd2:jbd2_run_stats [Tracepoint event] jbd2:jbd2_start_commit [Tracepoint event] ... ... Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-2-git-send-email-yunlong.song@xxxxxxxxxx [ Don't forget closedir({sys,evt}_dir) when handling errors ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f89fe1ffe698a6bb7671ebf99f5bb918fda4cf35 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 27 19:12:46 2015 +0100 drm/i915: Update DRIVER_DATE to 20150227 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8dec1dde016258af7c8a2ce9ddfb7243176a344 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 13:58:43 2015 +0000 drm/i915: Clarify obj->map_and_fenceable For an object right on the boundary of mappable space, as the fenceable size is stricly greater than the actual size, its fence region may extend out of mappable space. Note that only pnv/g33 has fence_size > obj.size and an unmappable range in the gtt, and there alignment constraints prevent bad things from happening. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Clarify why this shouldn't change anything as per the discussion on intel-gfx.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c91799c50a14137ecee6d60d2f1d9ab8bc895e52 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:30 2015 +0100 at86rf230: add warning if edge-triggered irq While testing I experience a deadlock while using the at86rf233 on a raspberry pi. The reason was an edge triggered gpio irq because the irq triggered while irq was disabled. This issue doesn't happend on a level triggered irq because the irq will hit after calling enable_irq. This patch adds a warning that it's not recommended to use a edge-triggered irq type. Also change the examples to high-level irqtype. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 702d211c45d95e6788cec42f7f3c4a538e8853ef Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:29 2015 +0100 at86rf230: add irq low-level for polarity The at86rf2xx chips supports the setting of irq polarity if active low or active high. This patch adds a handling for IRQ_ACTIVE_LOW if the irq_type is IRQ_TYPE_LEVEL_LOW. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit be64f076465a288aa850ad0dc581e5ecdb8efe46 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:28 2015 +0100 at86rf230: add irqmask mode setting Since we support at86rf233 we need to ensure that basic operation default values are the same. This patch always sets IRQ_MASK_MODE to 0 which is after reset 1 at the at86rf233 and 0 at the at86rf231. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2c2f7ec1425e76d4a4cce43c0221032c0f94dae9 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:27 2015 +0100 at86rf230: remove tx_timeout This patch removes tx_timeout handling. We used it in sync xmit handling. Since we support async xmit handling a xmit timeout handling isn't easy to implement and should be implemented by netdev watchdog mechanism. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ccdaeb2b176f7db491a6f8e8b1c51f9393525f7d Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:26 2015 +0100 at86rf230: add support for external xtal trim This patch adds support for setting the xtal trim register. Some at86rf2xx transceiver boards needs fine tuning the xtal capacitor. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit aaa1c4d226e4cd730075d3dac99a6d599a0190c7 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:25 2015 +0100 at86rf230: copy pdata to driver allocated space This patch copies the platform data in driver allocated space at first. With this change we ensure that we access the allocated platform data as readonly space. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reported-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9391976a4da0d2a30abdb8d2704cfc7bf4bf9aab Author: Jiri Slaby <jslaby@xxxxxxx> Date: Thu Feb 19 15:20:43 2015 +0100 Bluetooth: make hci_test_bit's addr const gcc5 warns about passing a const array to hci_test_bit which takes a non-const pointer: net/bluetooth/hci_sock.c: In function â??hci_sock_sendmsgâ??: net/bluetooth/hci_sock.c:955:8: warning: passing argument 2 of â??hci_test_bitâ?? discards â??constâ?? qualifier from pointer target type [-Wdiscarded-array-qualifiers] &hci_sec_filter.ocf_mask[ogf])) && ^ net/bluetooth/hci_sock.c:49:19: note: expected â??void *â?? but argument is of type â??const __u32 (*)[4] {aka const unsigned int (*)[4]}â?? static inline int hci_test_bit(int nr, void *addr) ^ So make 'addr' 'const void *'. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: Gustavo Padovan <gustavo@xxxxxxxxxxx> Cc: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4cd3928a8bee83d86fb3865bb243ab2ff1dd0eb6 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Feb 27 10:11:13 2015 +0200 Bluetooth: Update New CSRK event to match latest specification The 'master' parameter of the New CSRK event was recently renamed to 'type', with the old values kept for backwards compatibility as unauthenticated local/remote keys. This patch updates the code to take into account the two new (authenticated) values and ensures they get used based on the security level of the connection that the respective keys get distributed over. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9a8f0a1290993c86c4e35756a2624bfe461f9036 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 11:15:24 2015 +0000 drm/i915/skl: Allow Y (and Yf) frame buffer creation By this patch all underlying bits have been implemented and this patch actually enables the feature. v2: Validate passed in fb modifiers to reject garbage. (Daniel Vetter) v3: Rearrange validation checks per code review comments. (Daniel Vetter) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0fda65680e92545caea5be7805a7f0a617fb6c20 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 15:12:35 2015 +0000 drm/i915/skl: Update watermarks for Y tiling Display watermarks need different programming for different tiling modes. Set the relevant flag so this happens during the plane commit and add relevant data into a structure made available to the watermark computation code. v2: Pass in tiling info to sprite plane updates as well. v3: Rebased for plane handling changes. v4: Handle fb == NULL when plane is disabled. v5: Refactored for addfb2 interface. v6: Refactored for fb modifier changes. v7: Updated for atomic commit by only updating watermarks when tiling changes. v8: BSpec watermark calculation updates. v9: Restrict scope of y_tile_minimum variable. (Damien Lespiau) v10: Get fb from plane state otherwise we are working on old state. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Acked-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Acked-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v9) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d4c2aa60dee023c66444533930030a63561f6354 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 11:15:22 2015 +0000 drm/i915/skl: Updated watermark programming Recent BSpect updates have changed the watermark calculation to avoid display flickering in some cases. v2: Fix check against DDB allocation and tidy the code a bit. (Damien Lespiau) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40f4628391755b5406c46e55262b9a0bd4d5d4a7 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Feb 27 11:15:21 2015 +0000 drm/i915/skl: Adjust get_plane_config() to support Yb/Yf tiling v2: Rebased for addfb2 interface and consolidated a bit. (Tvrtko Ursulin) v3: Rebased for fb modifier changes. (Tvrtko Ursulin) v4: Use intel_fb_stride_alignment instead of open coding. (Damien Lespiau) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1327b9a1d5da9e6018088c8ba04f89ec8ca1ec81 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Feb 27 11:15:20 2015 +0000 drm/i915/skl: Teach pin_and_fence_fb_obj() about Y tiling constraints 1Mb! v2: Rebased for addfb2 interface. (Tvrtko Ursulin) v3: Rebased for fb modifier changes. (Tvrtko Ursulin) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b5d0e9bfa645560d2a15acd788b88628fc17f5f3 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Feb 27 11:15:19 2015 +0000 drm/i915/skl: Adjust intel_fb_align_height() for Yb/Yf tiling We now need the bpp of the fb as Yf tiling has different tile widths depending on it. v2: Rebased for the new addfb2 interface. (Tvrtko Ursulin) v3: Rebased for fb modifier changes. (Tvrtko Ursulin) v4: Added missing case and 128-bit pixel warning. (Damien Lespiau) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v3) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b321803dfbe46faeb54e8e758148be40e628225e Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Feb 27 11:15:18 2015 +0000 drm/i915/skl: Allow scanning out Y and Yf fbs Skylake is able to scannout those tiling formats. We need to allow them in the ADDFB ioctl and tell the harware about it. v2: Rebased for addfb2 interface. (Tvrtko Ursulin) v3: Rebased for fb modifier changes. (Tvrtko Ursulin) v4: Don't allow Y tiled fbs just yet. (Tvrtko Ursulin) v5: Check for stride alignment and max pitch. (Tvrtko Ursulin) v6: Simplify maximum pitch check. (Ville Syrjälä) v7: Drop the gen9 check since requirements are no different. (Ville Syrjälä) v8: Gen2 has different X tiling stride. (Ville Syrjälä) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v7) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b5ff6e1637b683d5996ae11ac29afe406c0bee90 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 11:15:17 2015 +0000 drm/i915/skl: Add new displayable tiling formats Starting with SKL display engine can scan out Y, and newly introduced Yf tiling formats so add the latter to the frame buffer modifier space. v2: Definitions moved to drm_fourcc.h. v3: Try to document the format better. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3f52c6edf7d72ef71d82c1f5ad4038ec83a31549 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:31 2015 +0100 drm/i915: Remove DRIVER_MODESET checks from modeset code Mostly just checks in i915-private modeset ioctls. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8634bd4aea1b59777e5fd63be15300107ab454cc Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:30 2015 +0100 drm/i915: Remove regfile code&data for UMS suspend/resume Lots of lines to remove! Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> [danvet: Fixup makefile.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d03184c7b0753134a2a6fa9c4ed51db5a7ca2f4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:29 2015 +0100 drm/i915: Remove DRIVER_MODESET checks from gem code Hooray! Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 33d30a9c5e34cead70e053b7470e94d0b8a3ab79 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:27 2015 +0100 drm/i915: Remove DRIVER_MODESET checks in the gpu reset code Again, good riddance to UMS! Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d581893853fa8c68d49c033ed256c85d7df53ecd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:26 2015 +0100 drm/i915: Remove DRIVER_MODESET checks from suspend/resume code UMS is dead, yay! Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17fa6463aa69f9e50e4a9e42d96b8abb68b35461 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:25 2015 +0100 drm/i915: Remove DRIVER_MODESET checks in load/unload/close code UMS is gone, this is dead code. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1f924c29b5ab2257be88a2a4075d0800573d8479 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 19:53:46 2015 +0800 perf data: Fix sentinel setting for data_cmds array The recent new patch "perf tools: Add new 'perf data' command" (commit 2245bf14 in acme's git repo perf/core) has caused a building error when compiling the source code of perf: cc1: warnings being treated as errors builtin-data.c:89: error: missing initializer builtin-data.c:89: error: (near initialization for â??data_cmds[1].summaryâ??) make[2]: *** [builtin-data.o] Error 1 make[2]: *** Waiting for unfinished jobs.... LD bench/perf-in.o LD tests/perf-in.o make[1]: *** [perf-in.o] Error 2 make: *** [all] Error 2 This patch fixes the building error above. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425038026-27604-1-git-send-email-yunlong.song@xxxxxxxxxx [ .name == NULL ends the loop, use it instead of seting all fields to NULL ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f56847c2e99810781f6941d01baff9ae223eeac3 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Fri Feb 27 18:52:53 2015 +0800 perf probe: Fix a precedence bug The minus operator has higher precedence than ?: Add parentheses around ?: fix this. Before this patch: $ echo 'p:myprobe do_sys_open' > /sys/kernel/debug/tracing/kprobe_events $ perf probe -l -k ../vmlinux kprobes:myprobe (on do_sys_open) After this patch: $ echo 'p:myprobe do_sys_open' > /sys/kernel/debug/tracing/kprobe_events $ perf probe -l -k ../vmlinux kprobes:myprobe (on do_sys_open@xxxxxxxxx/fs/open.c) Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425034373-14511-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 94ba462d69efeba2f97111321a9ba1aa8141da57 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Feb 9 05:39:44 2015 +0000 perf diff: Support for different binaries Currently, the perf diff only works with same binaries. That's because it compares the symbol start address. It doesn't work if the perf.data comes from different binaries. This patch matches the symbol names. Actually, perf diff once intended to compare the symbol names. The commit as below can look for a pair by name. 604c5c92972d (perf diff: Change the default sort order to "dso,symbol") However, at that time, perf diff used a global list of dsos. That means the binaries which has same name can only be loaded once. That's a problem for comparing different binaries. For example, we have an old binary and an updated binary. They very likely have same name and most of the functions, so only dsos from old binary will be loaded. When processing the data from updated binary, perf still use the symbol information from old binary. That's wrong. Then the commit as below used IP to replace symbol name. 9c443dfdd31e ("perf diff: Fix support for all --sort combinations") >From that time, perf diff starts to compare the symbol address. The global dsos is discarded from a patch in 2010. a1645ce12adb ("perf: 'perf kvm' tool for monitoring guest performance from host") However, at that time, perf diff already compared by address. So perf diff cannot work for different binaries as well. This patch actually rolls back the perf diff to original design. The document is also changed, so everybody knows the original design is to compare the symbol names. Here are some examples: The only difference between example_v1.c and example_v2.c is the location of f2 and f3. There is no change in behavior, but the previous perf diff display the wrong differential profile. example_v1.c noinline void f3(void) { volatile int i; for (i = 0; i < 10000;) { if(i%2) i++; else i++; } } noinline void f2(void) { volatile int a = 100, b, c; for (b = 0; b < 10000; b++) c = a * b; } noinline void f1(void) { f2(); f3(); } int main() { int i; for (i = 0; i < 100000; i++) f1(); } example_v2.c noinline void f2(void) { volatile int a = 100, b, c; for (b = 0; b < 10000; b++) c = a * b; } noinline void f3(void) { volatile int i; for (i = 0; i < 10000;) { if(i%2) i++; else i++; } } noinline void f1(void) { f2(); f3(); } int main() { int i; for (i = 0; i < 100000; i++) f1(); } [lk@localhost perf_diff]$ gcc example_v1.c -o example [lk@localhost perf_diff]$ perf record -o example_v1.data ./example [ perf record: Woken up 4 times to write data ] [ perf record: Captured and wrote 0.813 MB example_v1.data (~35522 samples) ] [lk@localhost perf_diff]$ gcc example_v2.c -o example [lk@localhost perf_diff]$ perf record -o example_v2.data ./example [ perf record: Woken up 4 times to write data ] [ perf record: Captured and wrote 0.824 MB example_v2.data (~36015 samples) ] Old perf diff result: [lk@localhost perf_diff]$ perf diff example_v1.data example_v2.data Event 'cycles' Baseline Delta Shared Object Symbol ........ ....... ................ ............................... [kernel.vmlinux] [k] __perf_event_task_sched_out 0.00% [kernel.vmlinux] [k] apic_timer_interrupt [kernel.vmlinux] [k] idle_cpu [kernel.vmlinux] [k] intel_pstate_timer_func [kernel.vmlinux] [k] native_read_msr_safe 0.00% [kernel.vmlinux] [k] native_read_tsc 0.00% [kernel.vmlinux] [k] native_write_msr_safe [kernel.vmlinux] [k] ntp_tick_length 0.00% [kernel.vmlinux] [k] rb_erase 0.00% [kernel.vmlinux] [k] tick_sched_timer 0.00% [kernel.vmlinux] [k] unmap_single_vma 0.00% [kernel.vmlinux] [k] update_wall_time 0.00% example [.] f1 46.24% example [.] f2 53.71% -7.55% example [.] f3 +53.81% example [.] f3 0.02% example [.] main New perf diff result: [lk@localhost perf_diff]$ perf diff example_v1.data example_v2.data [kernel.vmlinux] [k] __perf_event_task_sched_out 0.00% [kernel.vmlinux] [k] apic_timer_interrupt [kernel.vmlinux] [k] idle_cpu [kernel.vmlinux] [k] intel_pstate_timer_func [kernel.vmlinux] [k] native_read_msr_safe 0.00% [kernel.vmlinux] [k] native_read_tsc 0.00% [kernel.vmlinux] [k] native_write_msr_safe [kernel.vmlinux] [k] ntp_tick_length 0.00% [kernel.vmlinux] [k] rb_erase 0.00% [kernel.vmlinux] [k] tick_sched_timer 0.00% [kernel.vmlinux] [k] unmap_single_vma 0.00% [kernel.vmlinux] [k] update_wall_time 0.00% example [.] f1 46.24% -0.08% example [.] f2 53.71% +0.11% example [.] f3 0.02% example [.] main Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423460384-11645-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a50d11a10c2db86d7383c281d4e249d5393661e9 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Feb 26 15:54:40 2015 +0900 perf buildid-cache: Add new buildid cache if update target is not cached Add new buildid cache if the update target file is not cached. This can happen when an old binary is replaced by new one after caching the old one. In this case, user sees his operation just failed. But it does not look straight, since user just pass the binary "path", not "build-id". ---- # ./perf buildid-cache --add ./perf (update ./perf to new binary) # ./perf buildid-cache --update ./perf ./perf wasn't in the cache # ---- This patch adds given new binary to cache if the new binary is not cached. So we'll not see the above error. ---- # ./perf buildid-cache --add ./perf (update ./perf to new binary) # ./perf buildid-cache --update ./perf # ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> 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/20150226065440.23912.1494.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 38ae502b1df196f712f6f5d3609afc36337b330b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Feb 26 11:47:18 2015 -0300 perf probe: Handle strdup() failure We could end up returning 0 (Ok) with a NULL raw_path. Fix it. Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-l0kcbcg5f4nnzqt01cv42vec@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 66c046b407166686aeea2e8c0abfa1c4e4b94f26 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Thu Feb 5 10:29:35 2015 +0000 crypto: sha-mb - Fix big integer constant sparse warning this patch fixes following sparse warning: sha1_mb_mgr_init_avx2.c:59:31: warning: constant 0xF76543210 is so big it is long Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6c5063434098b956252d8bb45d7546ff717717e6 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Feb 3 13:07:29 2015 -0600 crypto: ccp - Add ACPI support Add support for ACPI to the CCP platform driver. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit be03a3a0961eba0bc695fa91ac87efe5f4b8f40c Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Feb 3 13:07:23 2015 -0600 crypto: ccp - Convert calls to their devm_ counterparts Where applicable, convert calls to their devm_ counterparts, e.g. kzalloc to devm_kzalloc. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 261bf074899a1a4624d8a0c6bfae3e92d12ef19f Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Feb 3 13:07:17 2015 -0600 crypto: ccp - Use dma_set_mask_and_coherent to set DMA mask Replace the setting of the DMA masks with the dma_set_mask_and_coherent function call. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a5bd093af0d11611b765d3cbd354e0a39975caab Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Feb 3 13:07:11 2015 -0600 crypto: ccp - Update CCP build support Add HAS_IOMEM as a Kconfig dependency. Always include ccp-platform.c in the CCP build and conditionally include ccp-pci.c. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8db8846754767bc955eaf7e28db8a94787d12ce6 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Feb 3 13:07:05 2015 -0600 crypto: ccp - Updates for checkpatch warnings/errors Changes to address warnings and errors reported by the checkpatch script. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2ecc1e95ec70923e642fa481ee7f7ad443798f2a Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Fri Jan 30 15:39:34 2015 +0100 crypto: ppc/sha256 - kernel config Integrate the module into the kernel config tree. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c147028ccc249681ef1129fb4b09f71fe6b75715 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Fri Jan 30 15:39:29 2015 +0100 crypto: ppc/sha256 - glue Glue code for crypto infrastructure. Call the assembler code where required. Disable preemption during calculation and enable SPE instructions in the kernel prior to the call. Avoid to disable preemption for too long. Take a little care about small input data. Kick out early for input chunks < 64 bytes and replace memset for context cleanup with simple loop. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6bb71004aa84054058baf4e8a58a53c4e29e5b9c Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Fri Jan 30 15:39:23 2015 +0100 crypto: ppc/sha256 - assembler This is the assembler code for SHA256 implementation with the SIMD SPE instruction set. Although being only a 32 bit architecture GPRs are extended to 64 bit presenting two 32 bit values. With the enhanced instruction set we can operate on them in parallel. That helps reducing the time to calculate W16-W64. For increasing performance even more the assembler function can compute hashes for more than one 64 byte input block. That saves a lot of register saving/restoring The state of the used SPE registers is preserved via the stack so we can run from interrupt context. There might be the case that we interrupt ourselves and push sensitive data from another context onto our stack. Clear this area in the stack afterwards to avoid information leakage. The code is endian independant. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 344a7024e01fc45a5ff52b171596f702815bd6eb Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:37 2015 +0200 wil6210: track privacy connection attribute For the STA interface, track 'privacy'. Refactor safety checks to: - always print connection params - always check IE size validity - require RSN IE for secure connection Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 774974e50432c8d7210c337152afb4d646344d8a Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:36 2015 +0200 wil6210: rename 'secure_pcp' to 'privacy' Make this field to track privacy attribute for all interface types Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8f55cbec7f8856438eef80e23f26331bea124128 Author: Boris Sorochkin <boriss@xxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:35 2015 +0200 wil6210: Fix division by zero in wil_vring_debugfs_show On some platforms get_cycles() implemented to allways return 0. On such platforms "Division by zero" bug was triggered. Signed-off-by: Boris Sorochkin <boriss@xxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0436fd9a2d1e0c87a621841ab48e779cf8f237b4 Author: Vladimir Shulman <qca_shulmanv@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:34 2015 +0200 wil6210: Change of threshold for tx vring idleness measurement Change threshold to be variable debugfs entry from hard-coded 0. Default threshold value is 16 descriptors because HW is capable of fetching up to 16 descriptors at once. Signed-off-by: Vladimir Shulman <qca_shulmanv@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 33c477fdab257efcad139ac2a5031708aad2a1e7 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:33 2015 +0200 wil6210: branch prediction hints Mark expected branches using likely()/unlikely(). Do it on high performance route - data path and interrupts Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e3351277ac585df77ac2454c518205897c01a184 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:32 2015 +0200 wil6210: enable fix for HW bug in 802.11->803.3 transform In the old hardware, bug existed that caused DA and SA for every Rx packet to be swapped in the AP mode. New hardware has fix for this bug. Enable this fix in the hardware. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9a5511b58b25aaf4cba61d9144229d2987a5135c Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:31 2015 +0200 wil6210: remove support for old hardware Hardware older than Sparrow B0 obsolete. There is no WiFi product that uses this hardware. Recent firmware does not support it either. Remove driver support. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2cd0f021b847c4c366dcb064600d8e37944ad84f Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:30 2015 +0200 wil6210: boot loader Introduce boot loader. Instead of the operational firmware, very small boot loader is burned to the on-board flash. Boot loader initializes hardware upon reset, and prepares for low power mode. Boot loader reports MAC address and detects radio chip connected. Driver loads firmware only when bringing up interface. All information required to set up network interface, most important is MAC address, reported by the boot loader The firmware composed of 2 files: - wil6210.fw - firmware itself (compiled code + data) - wil6210.board - board file (various board and radio dependent calibrations and parameters) Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4ce7bc0a4e555f8519e1a2c8a8569f203bd5727c Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Feb 13 20:38:16 2015 +0530 mwifiex: fix usb tx data payload offset issue Commit 84b313b35f8158d7 ("mwifiex: make tx packet 64 byte DMA aligned") induced payload offset issue for USB interface. There is no USB interface header for tx packets, so there's no need to pull interface length while processing tx skb. This patch fixes this issue. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 31def91b3a192bd414d87b3a408de34eed94d616 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Feb 13 17:41:08 2015 +0530 mwifiex: DMA alignment for RX packets This patch adds support for DMA alignment of sk_buffs allocated for RX. Patch also adds support to modify skb allocation flags. Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Qingshui Gao <gaoqs@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1c4c24eb7e96b3f8aeb9a2b7937ed7bb33aadd69 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Feb 11 23:12:27 2015 +0530 mwifiex: modify TX buff size for SD8887 FW crash has been observed while running iperf TX with SD8887 devices. This is because of invalid TX buffer setting. SD8887 supports 2K buffer sizes. This patch fixes this issue. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b4e8aebbc7c23c055d171f56c585e946c162b730 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Feb 11 23:12:26 2015 +0530 mwifiex: change datatype to bool for device capability flags This patch changes datatypes for device capability flags to bool. Patch also aggregates these variables at single place. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7521ce6eb2d3650a04ac7a1d176607ae9441826a Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Feb 11 23:12:25 2015 +0530 mwifiex: do not process mgmt rx on uninitialized interface This patch fixes a crash which was happening because of RX of management frames on uninitialzed interface. Now we drop management frames for interfaces where cfg80211 has not registered any management subtype reception or interface has no NL80211 iftype set. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 04c7b363c9f7b05cb1bb94e14afbdd3661f9dd61 Author: Shengzhen Li <szli@xxxxxxxxxxx> Date: Wed Feb 11 23:12:24 2015 +0530 mwifiex: more_task flag for main_process This patch handles a corner case where TX packet would remain in driver queue till next packet comes in. Here is sequence: 1. TX packet is queued via hard_start_xmit and main_work is queued 2. SDIO interrupt comes in which directly call mwifiex_main_process. This starts executing main superloop. 3. Now work from step1 is scheduled but at first check itself it sees mwifiex_processing is set and exits. 4. Now if superloop from step2 has passed TX processing part of superloop this packet would remain in queue until next packet/command/SDIO interrupt arrives and queues main_work. This patch fixes this corner case by defining more_task flag which is set when mwifiex_processing is found to be true. At end of superloop we again check if more_task flag is set and if set, execute superloop again. Signed-off-by: Shengzhen Li <szli@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8a1959beca2b58dc0173ef42eb60476637e86ff9 Author: Bas Peters <baspeters93@xxxxxxxxx> Date: Wed Feb 11 09:33:06 2015 +0100 libertas: remove unnecessary check before calling debugfs_remove Debugfs_remove will check for error or NULL for us, so it is not necessary to do this here. Signed-off-by: Bas Peters <baspeters93@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 851639fdaeacbf8c0ff73f73da7bc67b525f5ce9 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Wed Feb 11 01:40:30 2015 +0900 rtlwifi: Modify some USB de-initialize code. Delete SET_USB_STOP macro and rtl_usb_deinit because those are called twice in USB de-initialize routine. Add some de-initialize workqueue function in USB disconnect routine. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8c97a765467c5d58682e85f103899ec2355fc393 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Feb 26 11:28:50 2015 -0500 HID: wacom: add full support of the Wacom Bamboo PAD The stylus of this device works just fine out of the box. The touch is seen by default as a mouse with relative events and some gestures. The wireless and the wired version have slightly different firmwares, but the debug mode 2 on the feature 2 is common to the 2 devices. In this mode, all the reports are emitted through the debug interface (pen, raw touch and mouse emulation), so we have to re-route manually the events. We keep the Pen interface as a HID_GENERIC one because it works, and only parse the raw touches while discarding the mouse emulation & gestures. Switching the default in raw mode allows us to have a consistent user experience accross all the multitouch touchpads (and enable the touch part of the devices). Note that the buttons of this devices are reported through the touch interface. There is no 'Pad' interface. It seemed more natural to have the BTN_LEFT and BTN_RIGHT reported with the touch because they are placed under the touch interface and it looks like they belong to the touch part. Tested-by: Josep Sanchez Ferreres <josep.sanchez.ferreres@xxxxxxxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a97ac10401fe86fa30ef73315241e31d8594a651 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Wed Feb 25 11:43:39 2015 -0500 HID: wacom: store the hid_device pointers of the sibling devices The Bamboo PAD in debug mode needs to re-route events from the debug interface to the Pen interface. This can be easily done with hid_input_report(), but that means that we need to keep a reference to the various hid_devices. There should be only one touch and one pen interface per physical tablet, so there is no need to keep a list of hid-devices, plain pointers are sufficient. Tested-by: Josep Sanchez Ferreres <josep.sanchez.ferreres@xxxxxxxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4949009eb8d40a441dcddcd96e101e77d31cf1b2 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Feb 27 06:28:00 2015 +0300 xtensa: xtfpga: fix hardware lockup caused by LCD driver LCD driver is always built for the XTFPGA platform, but its base address is not configurable, and is wrong for ML605/KC705. Its initialization locks up KC705 board hardware. Make the whole driver optional, and its base address and bus width configurable. Implement 4-bit bus access method. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 46aad84190d9f2ea2f9e8c251e1b971519306044 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Wed Feb 11 17:01:07 2015 +0200 mtd: nand: sunxi: fix generic nand binding reference Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 59ce8d558c0e2d0217d2aab938c8334a896c02ee Author: Jean Delvare <jdelvare@xxxxxxx> Date: Sat Feb 21 13:16:34 2015 +0100 staging: unisys: Rework Kconfig dependencies I find the Kconfig dependencies of the various Unisys drivers rather confusing. Due to the dependencies, you must select the drivers one by one to see the following ones. So if you are looking for a specific driver, it is not visible by default. And if you don't know exactly what you need, it's even worse as you don't know what is available. In a case like this with several helper drivers and many dependencies, I think it makes more sense to list all the drivers at first, and use select statements to fulfill the dependencies for the user. As a nice side effect, it avoids the weird indentation, which was technically correct but still somewhat confusing. I also dropped the dependencies on HAS_IOMEM, as the whole driver set is for X86_64 only anyway which always has HAS_IOMEM set. And I dropped the redundant dependencies on UNISYSSPAR as all drivers are already inside an "if UNISYSSPAR" block. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Cc: David Kershner <david.kershner@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58701e5a5906ddfbabe245eda0e1cb42dd2b9468 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Thu Feb 19 14:08:34 2015 -0500 unisys: remove the thread variable and API remove the should_stop variable and KILL API as they are no longer required Cc: Ken Cox <jkc@xxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0f2f18eb2e856ac8fd7efc6af0671c1fdc50e69 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Thu Feb 19 14:08:33 2015 -0500 unisys: use kthread_should_stop API in the lib thread convert the users of should_stop into using kthread_should_stop API. Cc: Ken Cox <jkc@xxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 010c9f8ebd27f4af484cbe752ed583bf72675882 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Thu Feb 19 14:08:32 2015 -0500 unisys: use kthread_should_stop in the thread convert the users of should_stop variable into kthread_should_stop() API. Cc: Ken Cox <jkc@xxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18216fefbe26e95189c6628fde731ff1b239a7f6 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Thu Feb 19 14:08:31 2015 -0500 unisys: use simpler kthread_ API The code does the checks on should_stop variable in the kernel threads. The uisthread_stop function sets the should_stop and calls KILL (eventually kill_pid) to stop the thread. The checking of should_stop variable can be replaced to a call to kthread_should_stop function and the setting of the should_stop and a call to KILL can be replaced with kthread_stop function. Cc: Ken Cox <jkc@xxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31c9b9cf40f8f03f6a7484f2c06c5eb31b3735ce Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Thu Feb 19 14:08:30 2015 -0500 unisys: replace kthread_create and wake_up_process with kthread_run kthread_run calls kthread_create and if the thread is created it then calls wake_up_process on the corresponding returned task struct. So the code can be simplified by calling just kthread_run. Cc: Ken Cox <jkc@xxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edff162ce38ec1cea17f3cadd095e8e449d79735 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Thu Feb 19 13:49:20 2015 +0100 staging: unisys: Remove unnecessary OOM message This patch reduces the kernel size by removing error messages that duplicate the normal OOM message. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @@ identifier f,print,l; expression e; constant char[] c; @@ e = \(kzalloc\|kmalloc\|devm_kzalloc\|devm_kmalloc\)(...); if (e == NULL) { <+... - print(...,c,...); ... when any ( goto l; | return ...; ) ...+> } Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a174ad446c90d2b6a748c701efe127b2c47c315 Author: Frederico Cadete <frederico@xxxxxxxxx> Date: Wed Feb 18 19:53:41 2015 +0100 staging: unisys: style: remove unnecessary braces Signed-off-by: Frederico Cadete <frederico@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84b11dfd1ec14cb40944e35b4aff36c78f276598 Author: Frederico Cadete <frederico@xxxxxxxxx> Date: Wed Feb 18 19:53:40 2015 +0100 staging: unisys: style: Replace typedefs with structs in visorchipset_main.c Signed-off-by: Frederico Cadete <frederico@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5058bb45be19e84da2394a22647f117278ee60ad Author: Frederico Cadete <frederico@xxxxxxxxx> Date: Wed Feb 18 19:53:39 2015 +0100 staging: unisys: remove unused MESSAGE_ENVELOPE typedef Signed-off-by: Frederico Cadete <frederico@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cee158b5a60149798f6034a67484a503253d6f77 Author: Frederico Cadete <frederico@xxxxxxxxx> Date: Wed Feb 18 19:53:38 2015 +0100 staging: unisys: declare visorchipset_ioctl static This symbol is not exported nor referenced anywhere else in the kernel. Signed-off-by: Frederico Cadete <frederico@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9729018cd6012e0628a3f97269fdbe252ce2e26a Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Feb 12 17:53:35 2015 +0530 staging: unisys: remove unneeded functions these functions are not being used anywhere.so we can remove them. has been verified by "git grep" that they are not being referenced anywhere also has been build tested. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea0dcfcf6d6e76ed4ded11c3027e7f5478746010 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Tue Feb 10 15:12:07 2015 +0100 staging: unisys: Remove allocation from declaration line This patch removes allocation from declaration line because people are known to gloss over declarations. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b247d4087a6afc3ad41a15b49b7555ba4840c4bc Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Feb 10 17:09:44 2015 +0530 staging: unisys: fix directory warning we were getting three warnings about timskmod and sparstopdriver and channels. These warnings were about no such file or directory. These directory names were included in the Makefile, but the directories were not existing. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e81513b05d9b694df8c19011e76dea866092df1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Feb 10 17:09:43 2015 +0530 staging: unisys: remove unused variable we were getting lots of warnings about _tempresult set but not used. _tempresult was used in the macro ISSUE_IO_VMCALL_POSTCODE_SEVERITY which was again using another macro ISSUE_IO_EXTENDED_VMCALL. but the value assigned to it was never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35a90a563be777e40c5b107cda27ae93cb31e63d Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Feb 27 02:59:23 2015 +0300 Staging: nvec: Add paragraph to describe kconfig symbol This patch updates kconfig with paragraphs that describe config symbol fully. Issue addressed by checkpatch.pl warning. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5f9e99b6ae704dd67f6b5f9e0f6dec968baea0f Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 03:06:53 2015 +0200 staging: vt6656: replace memcpy by ether_addr_copy This patch fixes the following checkpatch.pl warning: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) The changes were applied using the following coccinelle rule: @@ expression e1, e2; @@ - memcpy(e1, e2, ETH_ALEN); + ether_addr_copy(e1, e2); All variables defined in vnt_mac_set_key start at even offsets making the variables aligned to the u16 datatype. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26c00ab4aae2d29b6c724a9c23d5f6cba2b20e41 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 11:21:22 2015 +0200 ARM: shmobile: lager: Add DU external pixel clocks to DT Declare the fixed 148.5MHz pixel clocks connected to the DU clock inputs. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cd21cb46e14aae3a5d4f044c07f2c1f9d89fcd1a Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 11:21:23 2015 +0200 ARM: shmobile: koelsch: Add DU external pixel clocks to DT Declare the fixed 148.5MHz pixel clocks connected to the DU clock inputs. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 665d79aa47cb3983b1fd14cd7c42eead5324c24e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 11:21:21 2015 +0200 ARM: shmobile: marzen: Add DU external pixel clock to DT Declare the fixed 65MHz pixel clock connected to the DU clock input. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ca50ee8f6f7c25d3de7d5da4e7a164e21f08c828 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 26 11:46:29 2015 +0100 ARM: shmobile: ape6evm dts: Fix polarity of LEDs While the LEDs on r8a73a4/ape6evm are tied to VSUPPLY, they're driven by an N-channel MOSFET. Hence the GPIO signal should be active high. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 95e7381b1a6dec04b17aea3fd839c4ada8c96f28 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:09 2015 +0100 ARM: shmobile: bockw: add devices hooked up to i2c0 to DT Cameras, RTC, and ak4643 sound codec. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6f82fae2f4a3fc4bee26a3a1e9db74e18ee67b52 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:08 2015 +0100 DT: i2c: add trivial binding for OKI ML86V7667 video decoder Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6232c51cb370919b116e0aea38d12aa33aae2fa9 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:07 2015 +0100 ARM: shmobile: r8a7778: common clock framework CPG driver Driver for the r8a7778's clocks that depend on the mode bits. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a5dc23f6896005a18629b5c1be0e39a9f6090bf5 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:59 2015 +0100 ARM: shmobile: bockw dts: set extal clock frequency Sets the extal clock to the frequency of the oscillator installed by default (33 MHz). Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7d316faa193fed16079b35c57e0500be3cc6f0a5 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:58 2015 +0100 ARM: shmobile: bockw dts: Move Ethernet node to BSC Move the Ethernet node to the new BSC node, as its connected to the Bus State Controller. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> [horms: dropped compat string changes as they seem out of scope] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5871968d531f39c23a8e6c69525bb705bca52e04 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 11:05:36 2015 -0800 rcu: Tighten up affinity and check for sysidle If the RCU grace-period kthread invoking rcu_sysidle_check_cpu() happens to be running on the tick_do_timer_cpu initially, then rcu_bind_gp_kthread() won't bind it. This kthread might then migrate before invoking rcu_gp_fqs(), which will trigger the WARN_ON_ONCE() in rcu_sysidle_check_cpu(). This commit therefore makes rcu_bind_gp_kthread() do the binding even if the kthread is currently on the same CPU. Because this incurs added overhead, this commit also causes each RCU grace-period kthread to invoke rcu_bind_gp_kthread() once at boot rather than at the beginning of each grace period. And as long as rcu_bind_gp_kthread() is being modified, this commit eliminates its #ifdef. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f3f837e52b14bf84c2db65f622b5c31cd261100c Author: Bill Richardson <wfrichar@xxxxxxxxxxxx> Date: Mon Feb 2 12:26:28 2015 +0100 platform/chrome: Expose Chrome OS Lightbar to users This adds some sysfs entries to provide userspace control of the four-element LED "lightbar" on the Chromebook Pixel. This only instantiates the lightbar controls if the device actually exists. To prevent DoS attacks, this interface is limited to 20 accesses/second, although that rate can be adjusted by a privileged user. On Chromebooks without a lightbar, this should have no effect. On the Chromebook Pixel, you should be able to do things like this: $ cd /sys/devices/virtual/chromeos/cros_ec/lightbar $ echo 0x80 > brightness $ echo 255 > brightness $ $ cat sequence S0 $ echo konami > sequence $ cat sequence KONAMI $ $ cat sequence S0 And $ cd /sys/devices/virtual/chromeos/cros_ec/lightbar $ echo stop > sequence $ echo "4 255 255 255" > led_rgb $ echo "0 255 0 0 1 0 255 0 2 0 0 255 3 255 255 0" > led_rgb $ echo run > sequence Test the DoS prevention with this: $ cd /sys/devices/virtual/chromeos/cros_ec/lightbar $ echo 500 > interval_msec $ time (cat version version version version version version version) Signed-off-by: Bill Richardson <wfrichar@xxxxxxxxxxxx> Reviewed-by: Olof Johansson <olofj@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 71af4b52cc22a8d0f7b66a51427a804741a045b6 Author: Bill Richardson <wfrichar@xxxxxxxxxxxx> Date: Mon Feb 2 12:26:27 2015 +0100 platform/chrome: Create sysfs attributes for the ChromeOS EC This adds the first few sysfs attributes for the Chrome OS EC. These controls are made available under /sys/devices/virtual/chromeos/cros_ec flashinfo - display current flash info reboot - tell the EC to reboot in various ways version - information about the EC software and hardware Future changes will build on this to add additional controls. From a root shell, you should be able to do things like this: cd /sys/devices/virtual/chromeos/cros_ec cat flashinfo cat version echo rw > reboot cat version echo ro > reboot cat version echo rw > reboot cat version echo cold > reboot That last command will reboot the AP too. Signed-off-by: Bill Richardson <wfrichar@xxxxxxxxxxxx> Reviewed-by: Olof Johansson <olofj@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 8a4be850b6a1eb8c7b910d98d3683a803ff5ddb4 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Feb 2 12:26:26 2015 +0100 mfd: cros_ec: Instantiate ChromeOS EC character device The ChromeOS EC character device is an user-space interface to allow applications to access the Embedded Controller. Add a cell for this device so it's spawned from the mfd driver. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e7c256fbfb157885d36ffcf03d981fa8b21e8fec Author: Bill Richardson <wfrichar@xxxxxxxxxxxx> Date: Mon Feb 2 12:26:25 2015 +0100 platform/chrome: Add Chrome OS EC userspace device interface This patch adds a device interface to access the Chrome OS Embedded Controller from user-space. Signed-off-by: Bill Richardson <wfrichar@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ec2f33ab582bf6bb14ef3e1ce4ed5f1973edd9f6 Author: Bill Richardson <wfrichar@xxxxxxxxxxxx> Date: Mon Feb 2 12:26:24 2015 +0100 platform/chrome: Add cros_ec_lpc driver for x86 devices Chromebooks have an Embedded Controller (EC) that is used to implement various functions such as keyboard, power and battery. The AP can communicate with the EC through different bus types such as I2C, SPI or LPC. The cros_ec mfd driver is then composed of a core driver that register the sub-devices as mfd cells and provide a high level communication interface that is used by the rest of the kernel and bus specific interfaces modules. Each connection method then has its own driver, which register with the EC driver interface-agnostic interface. Currently, there are drivers to communicate with the EC over I2C and SPI and this driver adds support for LPC. Signed-off-by: Bill Richardson <wfrichar@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 05c11ac4e0712def44cccbff82ad980d9e1d1b80 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Feb 2 12:26:23 2015 +0100 mfd: cros_ec: Add char dev and virtual dev pointers The ChromeOS Embedded Controller has to be accessed by applications. A virtual character device is used as an interface with user-space. Extend the struct cros_ec_device with the fields needed by the driver of this virtual character device. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1b84f2a4cd4a6f517a313261f6f7c8caae5696c6 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Feb 2 12:26:22 2015 +0100 mfd: cros_ec: Use fixed size arrays to transfer data with the EC The struct cros_ec_command will be used as an ioctl() argument for the API to control the ChromeOS EC from user-space. So the data structure has to be 64-bit safe to make it compatible between 32 and 64 avoiding the need for a compat ioctl interface. Since pointers are self-aligned to different byte boundaries, use fixed size arrays instead of pointers for transferring ingoing and outgoing data with the Embedded Controller. Also, re-arrange struct members by decreasing alignment requirements to reduce the needing padding size. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 68c18c61b23c28d4741fda0df81bc6ec40bfd14b Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Feb 26 13:39:48 2015 -0500 HID: remove 2 unused usb.h includes These 2 are left over from the USB dependency cleaning, so there is no need to keep them. [jkosina@xxxxxxx: fix filename] Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6518c10be952ef0afb95e5ea5d277458e273b662 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Feb 27 00:03:02 2015 +0100 Staging: rtl8192u: Replace printk() with pr_debug() For dynamic debugging netdev_dbg(), dev_dbg() or pr_debug() macro is preferred over printk(), which is the raw way to print something. Network system has it's own printk format, netdev_dbg, but in this case function's argument list has no pointer to a struct netdevice so pr_debug is used instead. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a3718cfd0f6608362f5aaea37f896ff629d0f43 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Feb 26 23:04:42 2015 +0100 Staging: rtl8192u: Remove break statement This patch fixes the checkpatch.pl warning: WARNING: "break is not useful after a goto or return" Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff0dd127432f003f11d8312c37bb384da009307a Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 23:45:48 2015 +0200 Staging: lustre: Remove space after the name of that function Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in file.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7849595f56862480cabbbae4f445c9f158168db Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 23:45:47 2015 +0200 Staging: lustre: Added spaces around '=' Add spaces around =, to conform to kernel coding type. This problem was found by checkpatch. Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef075edcc92be64746bfb184071707fa5890cc3a Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 23:45:46 2015 +0200 Staging: lustre: Corrected code indentation This patch fixes these warning messages found by checkpatch.pl: WARNING: suspect code indent for conditional statements(8,15) Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cea812cd69dc5eb37b087b8fdb68b695f7de94ec Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 23:45:45 2015 +0200 Staging: lustre: Added blank line after declarations This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in file.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93133eb42ed698a6ac23fb320074e6abc17b091e Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 23:45:44 2015 +0200 Staging: lustre: Move export_symbol below its function This patch fixes "EXPORT_SYMBOL(foo); should immediately follow its function/variable" checkpatch.pl warning in file.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0395e554f840344796799d538b020deb124bf764 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Feb 27 02:12:10 2015 +0530 Staging: rtl8188eu: Remove unnecessary code Code removed as variables assigned are not used anywhere. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f559108b4b3253f5d3e01d0e671eb94702dcb77d Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:46:12 2015 +0200 staging: comedi: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 410c944eda7287a3c68e7e5886ad4280467b2a5b Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:45:51 2015 +0200 staging: emxx_udc: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1525ecfce19b56e8c26b52d15f7b4617c9f503ba Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:45:26 2015 +0200 staging: iio: Documentation: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c8e4d70e001f7528be9d06739ecd28736396867 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:45:03 2015 +0200 staging: lustre: libcfs: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 302727b658d948b47ec69bdd9caefac3f7b10b5e Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:44:40 2015 +0200 staging: lustre: lmv: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09c99f8f41434ac70b7a7b79569984cdaf266a1d Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:44:18 2015 +0200 staging: lustre: lov: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e80fe16092464a145dccaf65863cdcc0c5df305 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:43:54 2015 +0200 staging: media: davinci_vpfe: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10a8643b766b10230e9f795d6c1ac716ee03b40c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:43:09 2015 +0200 staging: rtl8188eu: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74ff87997fe28b58ddeca7b9294a868b1ea66668 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:42:42 2015 +0200 staging: rtl8188eu: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6112e4839326c254da7cf37a6376aa543dcc659 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:42:14 2015 +0200 staging: rtl8188eu: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 945f0185610dbad16b6741b55cad86cc72fb559d Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:41:51 2015 +0200 staging: rtl8188eu: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0dbffe07b15d43b80fbdff16bc643b8483bc315d Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:41:23 2015 +0200 staging: rtl8192e: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be31fed4f917e67a504ef837486cef798fba0fd7 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:40:50 2015 +0200 staging: rtl8192e: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1339078956e5d96c978602b918bce37d08b78c72 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:40:21 2015 +0200 staging: rtl8192u: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 278c0942c37b69e929da429548ddb4030051a5e5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:39:17 2015 +0200 staging: rtl8192u: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae52e527c9c0b05bff9cfcea11f1e1b4ce94325a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:38:12 2015 +0200 staging: rtl8712: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c7c5d800e380e28deb9e6dfac8d66a6c4f4d3c3 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:36:56 2015 +0200 staging: rtl8712: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc5b749a4640ea028cfa9bde5dac98366aa8f44a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:35:45 2015 +0200 staging: rtl8712: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb329d837dce4cdb23ecf1fe38713675552751c0 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:32:40 2015 +0200 staging: rtl8712: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bd70089b3c1882a86e21eb3779f1cf4a8259c8d Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:31:42 2015 +0200 staging: rtl8723au: hal: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5092450c9dee65a046fdf6ff6e9f25c05f231840 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:30:50 2015 +0200 staging: rtl8723au: hal: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9dbc808e97b34684d570e4654b03f48b0eba3a8 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:30:01 2015 +0200 staging: rtl8723au: hal: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26aab2b14cfef377e8a339348d8c5057bcba30e8 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:29:04 2015 +0200 staging: rtl8723au: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 462833726c5461ba357ad75cf44625804b0671ba Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:27:44 2015 +0200 staging: xgifb: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cd0989e08a9764d311417fae825c302ffa45cb6 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Mon Feb 23 18:47:07 2015 +0100 Staging: slicoss: Join split string. This patch fixes warning issue by checkpatch.pl by joining the split string. And also creates new warning that line exceeds 80 characters. In this case this is more beneficial because of possibility to grep the string. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a786b7789345a7c918c947d2a0e218ac8e918ae6 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Feb 26 22:05:02 2015 +0200 Staging: ft1000: Removed unnecessary braces The following patch fixes the checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5d5030dc3c00c28404abb9babea9720930304d1 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 03:52:03 2015 +0200 staging: ft1000: ft1000-pcmcia: Added missing blank line. Added missing blank line after declaration. Removed following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a49f752de17ebf060d66742a4a287670dfe75d9 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 03:52:02 2015 +0200 staging: ft1000: ft1000-pcmcia: Removed unnecessary parentheses. This patch removes unnecessary parentheses from control expression. Removed following checkpatch.pl warning: WARNING: Unnecessary parentheses Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 057b28f5bc8d90584ac8bd1f42a2de2e4a4b5bf3 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 03:52:01 2015 +0200 staging: ft1000: ft1000-pcmcia: Deleted unnecessary braces. Brackets were removed from the expression that containing single line in the phrase "if else". Removed following checkpatch.pl warnings: WARNING: braces {} are not necessary for any arm of this statement Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eeca3458e6412a3797e2ca1247e2beda046591f2 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 03:52:00 2015 +0200 staging: ft1000: ft1000-pcmcia: Removed all useless "else" Removed all else keywords that used after break or return. Removed following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe146473cad3d88ec0cf5fc71e7910955e4de1f5 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Feb 21 20:48:02 2015 +0200 Staging: drivers: dma: Add space before ( This patch fixes checkpatch.pl error in file ste_dma40.c ERROR: space required before the open parenthesis '(' Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0049dfc88d18657da302023782473b615f3fcf4 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Feb 20 18:14:30 2015 +0100 Staging: rtl8192: Simplifying if-else statement This patch simplifies the code by not having two identical paths and fixes the warning given by checkpatch.pl: "else is not useful after a break or return". Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f3aefb5dfcaf28c0a0b5c270ca120818da88f58 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Sun Feb 22 16:58:08 2015 +0200 Staging: rtl8192e: replace memcpy() by ether_addr_copy() using coccinelle and pack variable This patch focuses on fixing the following warning generated by checkpatch.pl for the file rxtx.c Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) @@ expression e1, e2; @@ - memcpy(e1, e2, ETH_ALEN); + ether_addr_copy(e1, e2); struct net_device { char name[16]; /* 0 16*/ struct hlist_node name_hlist; /* 16 16*/ char * ifalias; /* 32 8*/ long unsigned int mem_end; /* 40 8*/ long unsigned int mem_start; /* 48 8*/ long unsigned int base_addr; /* 56 8*/ /* --- cacheline 1 boundary (64 bytes) --- */ int irq; /* 64 4*/ /* XXX 4 bytes hole, try to pack */ long unsigned int state; /* 72 8*/ struct list_head dev_list; /* 80 16*/ struct list_head napi_list; /* 96 16*/ struct list_head unreg_list; /* 112 16*/ /* --- cacheline 2 boundary (128 bytes) --- */ struct list_head close_list; /* 128 16*/ struct { struct list_head upper; /* 144 16*/ struct list_head lower; /* 160 16*/ } adj_list; /* 144 32*/ struct { struct list_head upper; /* 176 16*/ struct list_head lower; /* 192 16*/ } all_adj_list; /* 176 32*/ /* --- cacheline 3 boundary (192 bytes) was 16 bytes ago --- */ netdev_features_t features; /* 208 8*/ netdev_features_t hw_features; /* 216 8*/ netdev_features_t wanted_features; /* 224 8*/ netdev_features_t vlan_features; /* 232 8*/ netdev_features_t hw_enc_features; /* 240 8*/ netdev_features_t mpls_features; /* 248 8*/ /* --- cacheline 4 boundary (256 bytes) --- */ int ifindex; /* 256 4*/ int iflink; /* 260 4*/ struct net_device_stats stats; /* 264 184*/ /* --- cacheline 7 boundary (448 bytes) --- */ atomic_long_t rx_dropped; /* 448 8*/ atomic_long_t tx_dropped; /* 456 8*/ atomic_t carrier_changes; /* 464 4*/ /* XXX 4 bytes hole, try to pack */ const struct iw_handler_def * wireless_handlers; /* 472 8*/ struct iw_public_data * wireless_data; /* 480 8*/ const struct net_device_ops * netdev_ops; /* 488 8*/ const struct ethtool_ops * ethtool_ops; /* 496 8*/ const struct forwarding_accel_ops * fwd_ops; /* 504 8*/ /* --- cacheline 8 boundary (512 bytes) --- */ const struct header_ops * header_ops; /* 512 8*/ unsigned int flags; /* 520 4*/ unsigned int priv_flags; /* 524 4*/ short unsigned int gflags; /* 528 2*/ short unsigned int padded; /* 530 2*/ unsigned char operstate; /* 532 1*/ unsigned char link_mode; /* 533 1*/ unsigned char if_port; /* 534 1*/ unsigned char dma; /* 535 1*/ unsigned int mtu; /* 536 4*/ short unsigned int type; /* 540 2*/ short unsigned int hard_header_len; /* 542 2*/ short unsigned int needed_headroom; /* 544 2*/ short unsigned int needed_tailroom; /* 546 2*/ unsigned char perm_addr[32]; /* 548 32*/ /* --- cacheline 9 boundary (576 bytes) was 4 bytes ago --- */ unsigned char addr_assign_type; /* 580 1*/ unsigned char addr_len; /* 581 1*/ short unsigned int neigh_priv_len; /* 582 2*/ short unsigned int dev_id; /* 584 2*/ short unsigned int dev_port; /* 586 2*/ spinlock_t addr_list_lock; /* 588 4*/ struct netdev_hw_addr_list uc; /* 592 24*/ struct netdev_hw_addr_list mc; /* 616 24*/ /* --- cacheline 10 boundary (640 bytes) --- */ struct netdev_hw_addr_list dev_addrs; /* 640 24*/ struct kset * queues_kset; /* 664 8*/ unsigned char name_assign_type; /* 672 1*/ bool uc_promisc; /* 673 1*/ /* XXX 2 bytes hole, try to pack */ unsigned int promiscuity; /* 676 4*/ unsigned int allmulti; /* 680 4*/ /* XXX 4 bytes hole, try to pack */ struct vlan_info * vlan_info; /* 688 8*/ struct dsa_switch_tree * dsa_ptr; /* 696 8*/ /* --- cacheline 11 boundary (704 bytes) --- */ struct tipc_bearer * tipc_ptr; /* 704 8*/ void * atalk_ptr; /* 712 8*/ struct in_device * ip_ptr; /* 720 8*/ struct dn_dev * dn_ptr; /* 728 8*/ struct inet6_dev * ip6_ptr; /* 736 8*/ void * ax25_ptr; /* 744 8*/ struct wireless_dev * ieee80211_ptr; /* 752 8*/ struct wpan_dev * ieee802154_ptr; /* 760 8*/ /* --- cacheline 12 boundary (768 bytes) --- */ long unsigned int last_rx; /* 768 8*/ unsigned char * dev_addr; /* 776 8*/ struct netdev_rx_queue * _rx; /* 784 8*/ unsigned int num_rx_queues; /* 792 4*/ unsigned int real_num_rx_queues; /* 796 4*/ long unsigned int gro_flush_timeout; /* 800 8*/ rx_handler_func_t * rx_handler; /* 808 8*/ void * rx_handler_data; /* 816 8*/ struct netdev_queue * ingress_queue; /* 824 8*/ /* --- cacheline 13 boundary (832 bytes) --- */ unsigned char broadcast[32]; /* 832 32*/ /* XXX 32 bytes hole, try to pack */ /* --- cacheline 14 boundary (896 bytes) --- */ struct netdev_queue * _tx; /* 896 8*/ unsigned int num_tx_queues; /* 904 4*/ unsigned int real_num_tx_queues; /* 908 4*/ struct Qdisc * qdisc; /* 912 8*/ long unsigned int tx_queue_len; /* 920 8*/ spinlock_t tx_global_lock; /* 928 4*/ /* XXX 4 bytes hole, try to pack */ struct xps_dev_maps * xps_maps; /* 936 8*/ struct cpu_rmap * rx_cpu_rmap; /* 944 8*/ long unsigned int trans_start; /* 952 8*/ /* --- cacheline 15 boundary (960 bytes) --- */ int watchdog_timeo; /* 960 4*/ /* XXX 4 bytes hole, try to pack */ struct timer_list watchdog_timer; /* 968 80*/ /* --- cacheline 16 boundary (1024 bytes) was 24 bytes ago ---* */ int * pcpu_refcnt; /* 1048 8*/ struct list_head todo_list; /* 1056 16*/ struct hlist_node index_hlist; /* 1072 16*/ /* --- cacheline 17 boundary (1088 bytes) --- */ struct list_head link_watch_list; /* 1088 16*/ enum { NETREG_UNINITIALIZED = 0, NETREG_REGISTERED = 1, NETREG_UNREGISTERING = 2, NETREG_UNREGISTERED = 3, NETREG_RELEASED = 4, NETREG_DUMMY = 5, } reg_state:8; /* 1104 4 */ /* Bitfield combined with next fields */ bool dismantle; /* 1105 1*/ /* Bitfield combined with previous fields */ enum { RTNL_LINK_INITIALIZED = 0, RTNL_LINK_INITIALIZING = 1, } rtnl_link_state:16; /* 1104 4 */ /* XXX 4 bytes hole, try to pack */ void (*destructor)(struct net_device *);/* 1112 8 */ struct netpoll_info * npinfo; /* 1120 8*/ struct net * nd_net; /* 1128 8*/ union { void * ml_priv; /* 8*/ struct pcpu_lstats * lstats; /* 8*/ struct pcpu_sw_netstats * tstats; /* 8*/ struct pcpu_dstats * dstats; /* 8*/ struct pcpu_vstats * vstats; /* 8*/ }; /* 1136 8*/ struct garp_port * garp_port; /* 1144 8*/ /* --- cacheline 18 boundary (1152 bytes) was 4 bytes ago --- */ struct mrp_port * mrp_port; /* 1152 8*/ struct device dev; /* 1160 696*/ /* XXX last struct has 7 bytes of padding */ /* --- cacheline 29 boundary (1856 bytes) was 4 bytes ago --- */ const struct attribute_group * sysfs_groups[4]; /* 1856 32*/ const struct attribute_group * sysfs_rx_queue_group; /* 18888 */ const struct rtnl_link_ops * rtnl_link_ops; /* 1896 8*/ unsigned int gso_max_size; /* 1904 4*/ u16 gso_max_segs; /* 1908 2*/ u16 gso_min_segs; /* 1910 2*/ const struct dcbnl_rtnl_ops * dcbnl_ops; /* 1912 8*/ /* --- cacheline 30 boundary (1920 bytes) was 4 bytes ago --- */ u8 num_tc; /* 1920 1*/ /* XXX 1 byte hole, try to pack */ struct netdev_tc_txq tc_to_txq[16]; /* 1922 64*/ /* --- cacheline 31 boundary (1984 bytes) was 6 bytes ago --- */ u8 prio_tc_map[16]; /* 1986 16*/ /* XXX 2 bytes hole, try to pack */ unsigned int fcoe_ddp_xid; /* 2004 4*/ struct phy_device * phydev; /* 2008 8*/ struct lock_class_key * qdisc_tx_busylock; /* 2016 8*/ int group; /* 2024 4*/ /* XXX 4 bytes hole, try to pack */ struct pm_qos_request pm_qos_req; /* 2032 176*/ /* --- cacheline 34 boundary (2176 bytes) was 36 bytes ago --- * */ /* size: 2240, cachelines: 35, members: 120 */ /* sum members: 2147, holes: 11, sum holes: 65 */ /* padding: 32 */ /* paddings: 1, sum paddings: 7 */ /* BRAIN FART ALERT! 2240 != 2147 + 65(holes), diff = 28 */ }; Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 875b7dec47533e2a26489420c7964e8efe647175 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 25 09:35:32 2015 +0530 Staging: rtl8712: Use mod_timer This patch introduces the use of API function mod_timer instead of driver specific function as it is a more efficient and standard way to update the expire field of an active timer. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6c6e298170e5fad9a759abf305eadcf5780b658 Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Wed Feb 25 07:40:37 2015 -0800 Staging: rtl8712: Remove unused macros Removes several macro definitions that are unused Patch 2 will remove the same definitions in rtl8188eu/include/wifi.h Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d55519ab9b20b0961bc13018506fb413d5a752d7 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Mon Feb 23 09:11:57 2015 +0200 Staging: rtl8712: replace memcpy() by ether_addr_copy() using coccinelle and pack variable This patch focuses on fixing the following warning generated by checkpatch.pl for the file rtl871x_cmd.c Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) @@ expression e1, e2; @@ - memcpy(e1, e2, ETH_ALEN); + ether_addr_copy(e1, e2); struct _adapter { struct dvobj_priv dvobjpriv; /* 0 40*/ struct mlme_priv mlmepriv; /* 40 1560*/ /* --- cacheline 25 boundary (1600 bytes) --- */ struct cmd_priv cmdpriv; /* 1600 136*/ /* --- cacheline 27 boundary (1728 bytes) was 8 bytes ago --- */ struct evt_priv evtpriv; /* 1736 96*/ /* --- cacheline 28 boundary (1792 bytes) was 40 bytes ago --- * */ struct io_queue * pio_queue; /* 1832 8*/ struct xmit_priv xmitpriv; /* 1840 912*/ /* --- cacheline 43 boundary (2752 bytes) --- */ struct recv_priv recvpriv; /* 2752 1088*/ /* --- cacheline 60 boundary (3840 bytes) --- */ struct sta_priv stapriv; /* 3840 672*/ /* --- cacheline 70 boundary (4480 bytes) was 32 bytes ago --- * */ struct security_priv securitypriv; /* 4512 4816*/ /* --- cacheline 145 boundary (9280 bytes) was 48 bytes ago --- * */ struct registry_priv registrypriv; /* 9328 968*/ /* --- cacheline 160 boundary (10240 bytes) was 56 bytes ago --- * */ struct wlan_acl_pool acl_list; /* 10296 1536*/ /* --- cacheline 184 boundary (11776 bytes) was 56 bytes ago --- * */ struct pwrctrl_priv pwrctrlpriv; /* 11832 224*/ /* --- cacheline 188 boundary (12032 bytes) was 24 bytes ago --- * */ struct eeprom_priv eeprompriv; /* 12056 508*/ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 196 boundary (12544 bytes) was 24 bytes ago --- * */ struct hal_priv halpriv; /* 12568 88*/ /* --- cacheline 197 boundary (12608 bytes) was 48 bytes ago --- * */ struct led_priv ledpriv; /* 12656 304*/ /* --- cacheline 202 boundary (12928 bytes) was 32 bytes ago --- * */ struct mp_priv mppriv; /* 12960 1080*/ /* --- cacheline 219 boundary (14016 bytes) was 24 bytes ago * --- */ s32 bDriverStopped; /* 14040 4*/ s32 bSurpriseRemoved; /* 14044 4*/ u32 IsrContent; /* 14048 4*/ u32 ImrContent; /* 14052 4*/ u8 EepromAddressSize; /* 14056 1*/ u8 hw_init_completed; /* 14057 1*/ /* XXX 6 bytes hole, try to pack */ struct task_struct * cmdThread; /* 14064 8*/ pid_t evtThread; /* 14072 4*/ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 220 boundary (14080 bytes) --- */ struct task_struct * xmitThread; /* 14080 8*/ pid_t recvThread; /* 14088 4*/ /* XXX 4 bytes hole, try to pack */ uint (*dvobj_init)(struct _adapter *); /*14096 8 */ void (*dvobj_deinit)(struct _adapter *);/* 14104 8 */ struct net_device * pnetdev; /* 14112 8*/ int bup; /* 14120 4*/ /* XXX 4 bytes hole, try to pack */ struct net_device_stats stats; /* 14128 184*/ /* --- cacheline 223 boundary (14272 bytes) was 40 bytes ago --- * */ struct iw_statistics iwstats; /* 14312 32*/ /* --- cacheline 224 boundary (14336 bytes) was 8 bytes ago --- * */ int pid; /* 14344 4*/ /* XXX 4 bytes hole, try to pack */ struct work_struct wkFilterRxFF0; /* 14352 32*/ u8 blnEnableRxFF0Filter; /* 14384 1*/ /* XXX 3 bytes hole, try to pack */ spinlock_t lockRxFF0Filter; /* 14388 4*/ const struct firmware * fw; /* 14392 8*/ /* --- cacheline 225 boundary (14400 bytes) --- */ struct usb_interface * pusb_intf; /* 14400 8*/ struct mutex mutex_start; /* 14408 40*/ /* XXX last struct has 4 bytes of padding */ struct completion rtl8712_fw_ready; /* 14448 32*/ /* --- cacheline 226 boundary (14464 bytes) was 16 bytes ago --- * */ /* size: 14480, cachelines: 227, members: 40 */ /* sum members: 14451, holes: 7, sum holes: 29 */ /* paddings: 1, sum paddings: 4 */ /* last cacheline: 16 bytes */ }; Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7c42826f9afb017ee8927cfdc9c85f2e6d7bf0c Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Mon Feb 23 08:42:56 2015 +0200 Staging: rtl8712: replace memcpy() by ether_addr_copy() using coccinelle and pack variable This patch focuses on fixing the following warning generated by checkpatch.pl for the file rxtx.c Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) @@ expression e1, e2; @@ - memcpy(e1, e2, ETH_ALEN); + ether_addr_copy(e1, e2); struct _adapter { struct dvobj_priv dvobjpriv; /* 0 40*/ struct mlme_priv mlmepriv; /* 40 1560*/ /* --- cacheline 25 boundary (1600 bytes) --- */ struct cmd_priv cmdpriv; /* 1600 136*/ /* --- cacheline 27 boundary (1728 bytes) was 8 bytes ago --- */ struct evt_priv evtpriv; /* 1736 96*/ /* --- cacheline 28 boundary (1792 bytes) was 40 bytes ago --- * */ struct io_queue * pio_queue; /* 1832 8*/ struct xmit_priv xmitpriv; /* 1840 912*/ /* --- cacheline 43 boundary (2752 bytes) --- */ struct recv_priv recvpriv; /* 2752 1088*/ /* --- cacheline 60 boundary (3840 bytes) --- */ struct sta_priv stapriv; /* 3840 672*/ /* --- cacheline 70 boundary (4480 bytes) was 32 bytes ago --- * */ struct security_priv securitypriv; /* 4512 4816*/ /* --- cacheline 145 boundary (9280 bytes) was 48 bytes ago --- * */ struct registry_priv registrypriv; /* 9328 968*/ /* --- cacheline 160 boundary (10240 bytes) was 56 bytes ago --- * */ struct wlan_acl_pool acl_list; /* 10296 1536*/ /* --- cacheline 184 boundary (11776 bytes) was 56 bytes ago --- * */ struct pwrctrl_priv pwrctrlpriv; /* 11832 224*/ /* --- cacheline 188 boundary (12032 bytes) was 24 bytes ago --- * */ struct eeprom_priv eeprompriv; /* 12056 508*/ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 196 boundary (12544 bytes) was 24 bytes ago --- * */ struct hal_priv halpriv; /* 12568 88*/ /* --- cacheline 197 boundary (12608 bytes) was 48 bytes ago --- * */ struct led_priv ledpriv; /* 12656 304*/ /* --- cacheline 202 boundary (12928 bytes) was 32 bytes ago --- * */ struct mp_priv mppriv; /* 12960 1080*/ /* --- cacheline 219 boundary (14016 bytes) was 24 bytes ago --- * */ s32 bDriverStopped; /* 14040 4*/ s32 bSurpriseRemoved; /* 14044 4*/ u32 IsrContent; /* 14048 4*/ u32 ImrContent; /* 14052 4*/ u8 EepromAddressSize; /* 14056 1*/ u8 hw_init_completed; /* 14057 1*/ /* XXX 6 bytes hole, try to pack */ struct task_struct * cmdThread; /* 14064 8*/ pid_t evtThread; /* 14072 4*/ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 220 boundary (14080 bytes) --- */ struct task_struct * xmitThread; /* 14080 8*/ pid_t recvThread; /* 14088 4*/ /* XXX 4 bytes hole, try to pack */ uint (*dvobj_init)(struct _adapter *); /*14096 8 */ void (*dvobj_deinit)(struct _adapter *);/* 14104 8 */ struct net_device * pnetdev; /* 14112 8*/ int bup; /* 14120 4*/ /* XXX 4 bytes hole, try to pack */ struct net_device_stats stats; /* 14128 184*/ /* --- cacheline 223 boundary (14272 bytes) was 40 bytes ago --- * */ struct iw_statistics iwstats; /* 14312 32*/ /* --- cacheline 224 boundary (14336 bytes) was 8 bytes ago --- * */ int pid; /* 14344 4*/ /* XXX 4 bytes hole, try to pack */ struct work_struct wkFilterRxFF0; /* 14352 32*/ u8 blnEnableRxFF0Filter; /* 14384 1*/ /* XXX 3 bytes hole, try to pack */ spinlock_t lockRxFF0Filter; /* 14388 4*/ const struct firmware * fw; /* 14392 8*/ u8 EepromAddressSize; /* 14056 1*/ u8 hw_init_completed; /* 14057 1*/ /* XXX 6 bytes hole, try to pack */ struct task_struct * cmdThread; /* 14064 8*/ pid_t evtThread; /* 14072 4*/ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 220 boundary (14080 bytes) --- */ struct task_struct * xmitThread; /* 14080 8*/ pid_t recvThread; /* 14088 4*/ /* XXX 4 bytes hole, try to pack */ uint (*dvobj_init)(struct _adapter *); /*14096 8 */ void (*dvobj_deinit)(struct _adapter *);/* 14104 8 */ struct net_device * pnetdev; /* 14112 8*/ int bup; /* 14120 4*/ /* XXX 4 bytes hole, try to pack */ struct net_device_stats stats; /* 14128 184*/ /* --- cacheline 223 boundary (14272 bytes) was 40 bytes ago --- * */ struct iw_statistics iwstats; /* 14312 32*/ /* --- cacheline 224 boundary (14336 bytes) was 8 bytes ago --- * */ int pid; /* 14344 4*/ /* XXX 4 bytes hole, try to pack */ struct work_struct wkFilterRxFF0; /* 14352 32*/ u8 blnEnableRxFF0Filter; /* 14384 1*/ /* XXX 3 bytes hole, try to pack */ spinlock_t lockRxFF0Filter; /* 14388 4*/ const struct firmware * fw; /* 14392 8*/ /* --- cacheline 225 boundary (14400 bytes) --- */ struct usb_interface * pusb_intf; /* 14400 8*/ struct mutex mutex_start; /* 14408 40*/ /* XXX last struct has 4 bytes of padding */ struct completion rtl8712_fw_ready; /* 14448 32*/ /* --- cacheline 226 boundary (14464 bytes) was 16 bytes ago --- * */ /* size: 14480, cachelines: 227, members: 40 */ /* sum members: 14451, holes: 7, sum holes: 29 */ /* paddings: 1, sum paddings: 4 */ /* last cacheline: 16 bytes */ }; Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da07768909319820703e7a6729fbda8682040ceb Author: Gamze POLAT <gamzepolat94@xxxxxxxxx> Date: Fri Feb 20 22:42:17 2015 +0200 staing: rtl8712: else after return or break warning This patch fixes checkpatch.pl warning. WARNING: else is not generally useful after a break or return Signed-off-by: Gamze POLAT <gamzepolat94@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 352e579da8c9253b4cdf6d3135c6fe909a1b1f5e Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Feb 24 22:21:12 2015 +0100 Staging: rtl8192u: Simplify if condition Remove unnecessary TRUE statement. Field bMediaConnect is of bool type, so such change is correct. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72b16fe3f1a0f50db8dd9c80ea4eb7736f2a66ed Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Feb 24 21:54:08 2015 +0100 Staging: rtl8192u: Simplify if condition. Remove unnecessary TRUE statement. Fields bDynamicTxLowPower and bDynamicTxHighPower are of bool type so such change is correct. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff757c8a269b941b28ffc5c19273c284955267f5 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Mon Feb 23 20:15:48 2015 +0100 Staging: rtl8192u: Convert comments from C99 to C89 style Kernel style for comments is C89 style. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a064d27a5bff8aa142cbe2da1f0f0a008ef7988a Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Feb 22 22:11:20 2015 +0530 staging: rtl8192u: Remove unnecessary comment The <linux/config.h> header file is not used anymore, so it is commented out in this file.This patch deletes that unnecessary comment. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f79483ea0b7723d3402c24a156610d79dc279b94 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Feb 23 03:10:57 2015 +0530 staging: rtl8192u: Remove commented header. This patch removes the commented header <linux/config.h> as it is not used in modern linux systems. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45466a5c933fd0d2c3278957de8067133f186732 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Feb 23 03:11:34 2015 +0530 staging: rtl8192u: Remove commented header. This patch removes the commented header <linux/config.h> as it is not used in modern linux systems. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ea8b64d3b6da711f415cc01454dcc1d6924ee8b Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Feb 23 03:11:59 2015 +0530 staging: rtl8192u: Remove commented header. This patch removes the commented header <linux/config.h> as it is not used in modern linux systems. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 609de3ae934edbd996af73436fc7509161010b02 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Feb 23 03:12:52 2015 +0530 staging: rtl8192u: Remove commented header. This patch removes the commented header <linux/config.h> as it is not used in modern linux systems. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5e339655a0b1c85df30fb7ca8aacfa11ce8d6a1 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Feb 23 03:13:15 2015 +0530 staging: rtl8192u: Remove commented header. This patch removes the commented header <linux/config.h> as it is not used in modern linux systems. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97567a9064086043f5a6860ab8a5f6df80911fa1 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sun Feb 22 17:22:51 2015 +0100 Staging: rtl8192u: Remove trailing whitespace. This patch removes whitespace at the end of the line. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6205895296ff6fc0f593cce937a45ff461b016ef Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sun Feb 22 14:50:06 2015 +0200 Staging: rtl8192u: Fix do not use // c99 comments. This patch fixes "do not use // C99 comments" errors in ieee80211_module.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6413982b48658b025ca3879fdcf7c0d080c9e7e Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Feb 21 21:16:34 2015 +0200 Staging: rtl8192u: Remove space before ',' This patch fixes checkpatch.pl error in file r8190_rtl8256.h ERROR: space prohibited before that ',' (ctx:WxW) Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36f7c381d3c3cf5dc2b4e9a1155a8f121a0158b1 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Feb 21 21:03:23 2015 +0200 Staging: rtl8192u: Fix do not use // c99 comments. This patch fixes "do not use // C99 comments" errors in r8190_rtl8256.h Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb99f8741d03cde77ad200583eb747d729295a71 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 21 12:24:38 2015 +0100 Staging: rtl8192u: Replace printk() with pr_debug() and netdev_dbg(). For dynamic debugging pr_debug() or netdev_dbg (if there is a ponter to a device net structure) is preferred over printk(), which is the raw way to print something. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf1c66e8158d36daf1598b9350a10b7a235252fa Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Feb 20 22:54:27 2015 +0100 Staging: rtl8192u: Remove else after return This patch simplifies the code by removing else and fixes the following checkpatch.pl warning: "else is not useful after break or return". Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3033669eb2606c705b09b5bbcadcfca1108f6947 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Feb 20 22:26:57 2015 +0100 Staging: rtl8192u: Replace header files Files <asm/string.h> and <asm/errno.h> should not be included directly. This patch fixes the following checkpatch.pl warnings: Use #include <linux/errno.h> instead of <asm/errno.h> Use #include <linux/string.h> instead of <asm/string.h> Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98bedd77dc99a1eb835ab527ce5c74b09a0f4d88 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Feb 19 23:05:20 2015 +0100 Staging: rtl8192u: Remove space before tab This patch fixes the checkpatch.pl warning: WARNING: "please, no space before tabs" Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0487a7c7304536527095f9999ee18c76a6006d7 Author: Gamze POLAT <gamzepolat94@xxxxxxxxx> Date: Thu Feb 19 10:43:07 2015 +0200 Staging: dgnc: Removed trailing whitespace Removed trailing whitespaces to improve code readability and remove checkpatch warning. Signed-off-by: Gamze POLAT <gamzepolat94@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d2b3cf7cfb328cc494cc4775c60bbf5f2fa2ce2 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 08:00:56 2015 +0200 staging: slicloss: replace init_timer by setup_timer This patch replaces init_timer and the 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... ( -ds.function = e1; ... -ds.data = e2; | -ds.data = e2; ... -ds.function = e1; ) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fde58bb43512fc283ea76e90d20198da177fb69 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 07:59:51 2015 +0200 staging: rtl8192u: ieee80211: replace init_timer by setup_timer This patch replaces init_timer and the 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... ( -ds.function = e1; ... -ds.data = e2; | -ds.data = e2; ... -ds.function = e1; ) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f6e36c55a7fc445c584711ff8eea9261f1285cb Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 07:58:29 2015 +0200 staging: panel: replace init_timer by setup_timer This patch replaces init_timer and the 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... ( -ds.function = e1; ... -ds.data = e2; | -ds.data = e2; ... -ds.function = e1; ) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38e0c9d27a5695f9ad92a6f98ee43b5811491f40 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 07:57:25 2015 +0200 staging: dgnc: replace init_timer by setup_timer This patch replaces init_timer and the 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... ( -ds.function = e1; ... -ds.data = e2; | -ds.data = e2; ... -ds.function = e1; ) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f83aeda567a9f5347153fb21f29e0b09b3aa83a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 07:55:43 2015 +0200 staging: wlan-ng: replace init_timer by setup_timer This patch replaces init_timer and the 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... ( -ds.function = e1; ... -ds.data = e2; | -ds.data = e2; ... -ds.function = e1; ) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e469616ba6d48d1ee157062a0b5c2580d8edf9c0 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Feb 26 01:04:47 2015 +0200 Staging: fbtft: removed trailing whitespace The following patch fixes the checkpatch.pl warning: Removed all trailing whitespace in fb_s6d1121.c Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e64e00473ba50479aac300fc76ed72f08b15410e Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 19 21:18:18 2015 +0200 Staging: fbtft: Convert comment from C99 style to C89 style This patch fixes checkpatch.pl error ERROR: do not use C99 // comments Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6935e2911ab64d0687e8a495a48ef2a1205b582 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 19 20:56:48 2015 +0200 Staging: fbtft: remove trailing whitespace This patch fixes checkpatch.pl error trailing whitespace. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54a8de19a004fe62bebf84837906adcf346fcd2d Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 19 20:42:43 2015 +0200 Staging: fbtft: Added blank line after declaration WARNING: Missing a blank line after declaration chackpatch.pl warning in fb_ssd1351.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2fad972d45c4b758763beef2860c83c2ab7ed573 Author: Tushar Behera <tushar.b@xxxxxxxxxxx> Date: Fri Feb 27 06:08:52 2015 +0900 ARM: dts: Add mclk entry for Peach boards On Peach Pit and Pi boards, the Exynos SoC XCLKOUT pin provides master clock (mclk) to the codec. So make it a clock consumer. Signed-off-by: Tushar Behera <tushar.b@xxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 3cb18180e8e06dea06cd2b601895f42beaf00052 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Feb 27 06:08:51 2015 +0900 ARM: dts: Add WiFi module support for Peach boards Peach Pit and Pi boards have a WiFi module that is always powered but needs toggling an enable pin and ungating a 32kHz reference clock as part of their power sequencing. Add a dev node for the SDIO slot and a MMC power sequence provider. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit af6ad88acbd66ddfe31066ebcf1e02f848ec406c Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Feb 27 06:08:51 2015 +0900 ARM: dts: Mux XMMCnDATA[0] pad correctly for Exynos5420 boards The Exynos5420 SoC has 3 sets of 8 pads used as data lines for the 3 MMC/SD/SDIO slots. These needs to be muxed as SD_n_DATA instead of a GPIO or external interrupt to allow the MMC controller to communicate with the attached cards or SDIO devices. Which data lines needs to be muxed as SD_n_DATA depends on the bus width used for data transfer: * bus-width = <1> needs SD_n_DATA[0] * bus-width = <4> needs SD_n_DATA[0-3] * bus-width = <8> needs SD_n_DATA[0-7] The Exynos5250-pinctrl.dtsi file that defines the groups of pins has SD_n_DATA[0] muxed for both sdn_bus1 and sdn_bus4 so just one of them needs to be included in the device node's pinctrl property. But Exynos5420-pinctrl has a different definition and only includes SD_n_DATA[1-3] for sdn_bus4. So for a bus-width = <4>, both sdn_bus1 and sdn_bus4 have to be in the dev pinctrl to mux all the needed pads. It seems all Exynos5420 boards had just cargo cult the pinctrl lines assuming that sdn_bus4 also included SD_n_DATA[0] and it only works because the bootloader muxes the pads correctly. But that is not the case for the devices not used by the bootloader such as WiFi modules. Add sdn_bus1 too in the nodes pinctrl to not rely on the bootloader. Suggested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 9247a2a150728f6525bb177cc146b523befdcb7a Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 19 19:50:50 2015 +0200 Staging: fbtft: Added blank line after declaration WARNING: Missing a blank line after declaration chackpatch.pl warning in fb_ili9320.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73762b9dcb8398b00cda5af9bb36ed80504f9ef5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 05:02:24 2015 +0200 staging: fbtft: fix spacing errors This patch fixes the following checkpatch.pl errors: space prohibited before that ',' space required after that ',' spaces required around that '=' Given that the addition of spaces triggered the line over 80 characters warning, some lines were divided into two. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e059db65515c0c11aac3d036745c621b7a2567c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:56:50 2015 +0200 staging: fbtft: fix space prohibited before that ',' This patch fixes the following checkpatch.pl error: fix space prohibited before that ',' Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f8a89e6e7580ecfde4b249dde197de761ad96fb Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:55:45 2015 +0200 staging: fbtft: fix space required after that ',' This patch fixes the following checkpatch.pl error: space required after that ',' Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0728b01c6b3259b9d6f48885608e0f30a5908b20 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:50:25 2015 +0200 staging: fbtft: fix braces {} are not necessary for single statement blocks This patch fixes the following checkpatch.pl warning: braces {} are not necessary for single statement blocks Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bedc844d82336668dbb8835389cdc0df93048d0b Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:48:34 2015 +0200 staging: fbtft: fix space prohibited before that ',' This patch fixes the following checkpatch.pl error: space prohibited before that ',' Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d1d0a38bd7f0ee22081beabb2baac89ce6a4e58 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:53:59 2015 +0200 staging: fbtft: fix braces {} are not necessary for single statement blocks This patch fixes the following checkpatch.pl warning: braces {} are not necessary for single statement blocks Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b124fee6576d6f5a2193e3b3a09e183eef23078a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:45:22 2015 +0200 staging: fbtft: fix code indent should use tabs where possible This patch fixes the following checkpatch.pl error: code indent should use tabs where possible Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6736415f057cd64ae86e9577e594dc1f0ad86f1 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 26 09:52:08 2015 +0200 Staging: rtl8723au: Add blank line after declarations WARNING: "Missing a blank line after declarations" Add blank line after declarations. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab4f931f3173dc1250c29a1e0367f92dfbe88a27 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 26 09:52:07 2015 +0200 Staging: rtl8723au: Remove return in void function WARNING: void function return statements are not generally useful Remove return in void function. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef37b77ef629e1219205aca8748233560725c0ea Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 26 08:51:03 2015 +0200 Staging: rtl8723au: Tabs should be used WARNING: please, no spaces at the start of a line That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b7176e7a3224942cd144a81a023f5d25e29498f Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 26 00:08:21 2015 +0200 Staging: rtl8723au: remove unnecessary break after return WARNING: break is not useful after a goto or return. Remove unnecessary break after return. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62e9a35ffa90bad5e724fdeef8e470b45a16184d Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Wed Feb 25 23:26:21 2015 +0200 Staging: rtl8723au: Remove return in void function WARNING: void function return statements are not generally useful Remove return in void function. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91701e44261c13123ec931173ac1e29a7cd8f939 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Tue Feb 24 15:14:26 2015 +0200 Staging: rtl8723au: Add blank line after declarations The following patch fixes the checkpatch.pl warning: drivers/staging/rtl8723au/core/rtw_ap.c WARNING: Missing a blank line after declarations Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d59efcb10676aacb5dea5ccdf407532548d8176 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sun Feb 22 00:12:35 2015 +0200 Staging: rtl8723au: core: Fix quoted string split across lines This patch fixes "quoted string split across lines warning" warning in rtw_ap.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5e38b10e42a14d78ebb92172dada4af328e64ad Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Feb 20 14:18:45 2015 +0530 Staging: rtl8723au: Use put_unaligned_le16 Using byte ordering functions and then memcpy() is risky and prone to hide errors which are hard to track down. So, this patch introduces the use of function put_unaligned_le16 which makes the code clear. Here, use of variable tim_bitmap_le and variable itself is removed. Also, to be compatible with the changes header file is added too. Coccinelle is used to do this change and semantic patch used for this is as follows: @a@ typedef __le16; __le16 e16; identifier tmp; expression ptr; expression y,e; type T; @@ - tmp = cpu_to_le16(y); <+... when != tmp ( - memcpy(ptr, (T)&tmp, \(2\|sizeof(__le16)\|sizeof(e16)\)); + put_unaligned_le16(y,ptr); | - memcpy(ptr, (T)&tmp, ...); + put_unaligned_le16(y,ptr); ) ...+> ? tmp = e @@ type T; identifier a.tmp; @@ - T tmp; ...when != tmp Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24f455236db580901c053357c553f3e86b592692 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Feb 18 00:21:25 2015 +0300 Staging: rts5208: Remove braces around single if-statement This patch removes unneeded braces around a single if-statement. This problem was found using checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e790d442b05518dab79135203a1a1b580959b1c9 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 26 18:14:02 2015 +0530 Staging: rtl8188eu: Replace if-else block with switch-case Replace if-else block with switch-case to make it more compact and increase readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 294a7fcc85f5fbfdec782c5fad590b49735a35c4 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 26 23:05:11 2015 +0530 Staging: rtl8188eu: Refactor conditional code to increase readability Remove the nested conditionals. The if and else-if have the same code so they are combined to make the code more compact. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ceb7f723372336f4d9e1ccfe7697a08eff2860f Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 26 23:47:39 2015 +0530 Staging: rtl8188eu: Combine two loops to increase readability The first loop assigns values to ofdm_index array and the second checks for boundary conditions. They are combined and a comment is added to increase clarity. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d6871f8dc2351f8fdb9cc47a6ef2b3b189ed640 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Feb 27 01:39:32 2015 +0530 Staging: rtl8188eu: Remove unnecessary if condition Remove this branch as is2t is defined false and is not modified. The variable value32 is then unused. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ed83e995e17f8ef5688a7a597943a9ef88362c3 Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Wed Feb 25 07:41:14 2015 -0800 Staging: rtl8188eu: Remove unused macros Removes macro definitions that are unused elsewhere Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 065be69f262ab24ce6ece597046e637ea5530da2 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 23 14:46:13 2015 +0530 Staging: rtl8188eu: Remove unnecessary variable Remove unnecessary variable and replace its uses with previously defined variable. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c3fa640387e70b31cd1aee098f76559e50afe95 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 23 23:40:27 2015 +0530 Staging: rtl8188eu: Refactored code to increase readility Refactored the conditional code to make it more compact. Replaced the ternary operators with abs() macro to increase readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5dd06ea01807a6d32af1eb53f10ff5e08532e29 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Tue Feb 24 00:06:14 2015 +0530 Staging: rtl8188eu: Replace ternary operator with existing macro Replace ternary operator with existing abs() macro to increase code readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e2c69b62d700a3d813ddc82fc9fe538460bc4a7 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 26 18:31:52 2015 +0530 Staging: rtl8188eu: Remove redundant if condition Remove redundant if condition as !result is always false. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1068fb676aaed35c30b96f6327d97e99d1be88b2 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Tue Feb 24 00:32:44 2015 +0200 Staging: rtl8188eu: Add blank line after declarations WARNING: "Missing a blank line after declarations" That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a11176e65b8727158bc355ca0cb00bf70cd69e48 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:25 2015 +0900 ARM: S3C24XX: avoid a Kconfig warning The PM_H1940 symbol is used by two platforms: RX3715 and RX1950. However, it is hidden inside of the the CPU_S3C2410 conditional, which is only set by one of them, so we get a lot of randconfig warnings like warning: (MACH_RX3715 && MACH_RX1950) selects PM_H1940 which has unmet direct dependencies (ARCH_S3C24XX && CPU_S3C2410) This moves it outside of the conditional to remove the warnings. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 1fe054e71a895c682f1cd36071ff3fd0c7bc9cff Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:23 2015 +0900 ARM: S3C24XX: fix header file inclusions The pm-core.h file does not include all the necessary headers, and has a static declaration for a function that is not defined in the same file, causing SAMSUNG_PM_DEBUG to break on s3c24xx: arch/arm/mach-s3c24xx/include/mach/pm-core.h:50:91: warning: 's3c_pm_show_resume_irqs' used but never defined arch/arm/mach-s3c24xx/include/mach/pm-core.h: In function 's3c_pm_debug_init_uart': arch/arm/mach-s3c24xx/include/mach/pm-core.h:16:34: error: 'S3C2410_CLKCON' undeclared (first use in this function) unsigned long tmp = __raw_readl(S3C2410_CLKCON); ^ This moves the code around slightly to avoid the errors. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 4f506daf0e6c094d2f28253d4044e9adc9461142 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:22 2015 +0900 ARM: S3C24XX: fix building without PM_SLEEP We get lots of link errors based on the assumption that any s3c24xx kernel would enable CONFIG_PM_SLEEP if it enables CONFIG_PM. This tries to clean that up. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ea8d33ad32f9670fe55c99478e666805efc6452b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:22 2015 +0900 ARM: S3C24XX: use SAMSUNG_WAKEMASK for s3c2416 Both s3c2412 and s3c2416 use the s3c2412_pm_prepare code, which depends on the common wakemask code, but only s3c2412 currently selects the code, leading to a build error for an s3c2416-only kernel. arch/arm/mach-s3c24xx/built-in.o: In function `s3c2412_pm_prepare': :(.text+0x240): undefined reference to `samsung_sync_wakemask' arch/arm/mach-s3c24xx/built-in.o:(.data+0xeb0): undefined reference to `s3c2412_subsys' This adds the missing select. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 19c69dafad673f342b8eb9dbc6a1ac9fa38b4f9f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:22 2015 +0900 ARM: S3C64XX: fix __initdata section mismatch smdk6410_b_pwr_5v_data is marked as __initdata, but referenced from a structure that is not: WARNING: arch/arm/mach-s3c64xx/built-in.o(.data+0x4c5c): Section mismatch in reference from the variable smdk6410_b_pwr_5v_data to the (unknown reference) .init.data:(unknown) This removes the annotation to avoid an invalid pointer access when the regulator driver accesses this variable. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 484c213b106c2b9188744666693d57bb9fd5affe Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:22 2015 +0900 ARM: S3C64XX: fix building without CONFIG_PM_SLEEP arch/arm/mach-s3c64xx/built-in.o: In function `s3c_pm_restore_core': :(.text+0x5d0): undefined reference to `s3c_pm_do_restore_core' :(.text+0x5d4): undefined reference to `s3c_pm_do_restore' arch/arm/mach-s3c64xx/built-in.o: In function `s3c_pm_save_core': :(.text+0x60c): undefined reference to `s3c_pm_do_save' arch/arm/mach-s3c64xx/built-in.o: In function `s3c64xx_irq_pm_resume': :(.text+0x670): undefined reference to `s3c_pm_do_restore' arch/arm/mach-s3c64xx/built-in.o: In function `s3c64xx_irq_pm_suspend': :(.text+0x6d8): undefined reference to `s3c_pm_do_save' arch/arm/mach-s3c64xx/built-in.o: In function `s3c_cpu_resume': :(.text+0x71c): undefined reference to `cpu_resume' Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 261592e6b804c288d2010e98ee100548dbe91c06 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:21 2015 +0900 ARM: S3C64XX: add I2C dependencies where needed The SMDK6410_WM1190_EV1 and SMDK6410_WM1192_EV1 add-on cards select MFD_WM*_I2C, but they ignore the fact that I2C may be compiled as a loadable module. This patch adds a dependency on I2C, which means we avoid the build errors, but can end up in a case where the options are hidden from the user when I2C is turned off. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Ben Dooks <ben-linux@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 93ab486d3f2f87118c5a268a9ceeaf8721bfcb1b Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 23 19:32:38 2015 +0530 Staging: rtl8188eu: Changed array and loop construct This function only required the array from the 14th element onwards. Therefore, the array size is reduced and the loop counter is modified so as to start from 0. Also, the assignment of variable place is redundant as it is initialized again in the loop. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efb8d497941fc2f97d87da65dfa93b7df620143a Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 23 14:41:07 2015 +0530 Staging: rtl8188eu: Replace unneeded switch-case block Replace switch-case block with single if statement to increase code readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9734d632bb5d05723b675643ff5f5da1fdb3ac2a Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 23 14:20:30 2015 +0530 Staging: rtl8188eu: Remove unnecessary variable Remove unneccessary variable and replace its uses with another variable which is previously defined. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3da741ff942d48ea33608fce6ca16ff67a0b61c8 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Sun Feb 22 18:07:33 2015 +0530 Staging: rtl8188eu: Fix line over 80 characters Added a variable to reduce line size and enhance code readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4504a1519544f40675fccbe0d93e993cbb04f06 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Feb 20 14:18:37 2015 +0530 Staging: rtl8188eu: Use put_unaligned_le16 Using byte ordering functions and then memcpy() is risky and prone to hide errors which are hard to track down. So, this patch introduces the use of function put_unaligned_le16 which makes the code clear. Here, use of variable tim_bitmap_le and variable itself is removed. Also, to be compatible with the changes header file is added too. Coccinelle is used to do this change and semantic patch used for this is as follows: @a@ typedef __le16; __le16 e16; identifier tmp; expression ptr; expression y,e; type T; @@ - tmp = cpu_to_le16(y); <+... when != tmp ( - memcpy(ptr, (T)&tmp, \(2\|sizeof(__le16)\|sizeof(e16)\)); + put_unaligned_le16(y,ptr); | - memcpy(ptr, (T)&tmp, ...); + put_unaligned_le16(y,ptr); ) ...+> ? tmp = e @@ type T; identifier a.tmp; @@ - T tmp; ...when != tmp Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78f5d8f9f98fdc4df86b5d0002c55fd270f36b43 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Feb 20 12:58:50 2015 +0530 Staging: rtl8188eu: Remove unused struct ndis_802_11_key This patch removes struct ndis_802_11_key as it is defined in a header file but never used. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a9bdd689c12d09fe2554947b053f8964e28e440 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 21:14:41 2015 +0200 staging: comedi: drivers: replace init_timer by setup_timer This patch replaces init_timer and 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... -ds.function = e1; ... -ds.data = e2; Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4c2c314c140611f3f9c1496a60e55174ba96da7 Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Wed Feb 18 18:05:40 2015 -0800 Staging: media: mn88473: Match alignment with open parenthesis Fixes the checkpatch.pl Check: CHECK: Alignment should match open parenthesis Increases readability by standardizing 7 argument indentations Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b856e0f7b2727e6de293a67e71a1ddec8648fa64 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 18 22:22:38 2015 +0530 Staging: media: Change data value in setup_timer function Here, data value 0xabadcafe in function setup_timer seems like a nonsense value and timer handler function is not using it anyway. So, change it to 0. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08e28893b3886e7f2a2b77adcbdb2bfa91301d3a Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 18 22:22:29 2015 +0530 Staging: media: lirc: Use setup_timer This patch introduces the use of function setup_timer instead of structure assignments as it is the preferred way to setup and set the timer. This is done using Coccinelle and semantic patch used is as follows: @@ expression x,y,z; @@ - init_timer (&x); + setup_timer (&x, y, z); - x.function = y; - x.data = z; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96748c9635d736cceb1ba0ad4fd66857f1d5aef5 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Feb 26 01:26:36 2015 +0200 Staging: i2o: Add blank line This patch fixes the checkpatch.pl warning: WARNING: "Missing a blank line after declarations" Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbd8e0863a0ab335b9cce2aa9e7471e3895764f4 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Feb 26 01:45:36 2015 +0200 Staging: i2o: Removed unnecessary braces The following patch fixes the checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e0e76508c55eac8475735b1ae79d41288edda94 Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 00:10:21 2015 +0200 Staging: i2o: Remove unnecessary braces Brackets were removed from the expression that containing single statement. Removed following checkpatch.pl warnings: 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 924954f12448249756ccbc45ba1e5e53bf9cfaee Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 00:10:20 2015 +0200 Staging: i2o: Remove unnecessary 'out of memory' message This patch removes unnecessay out of memory message fixing the following checkpach.pl warning in device.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30463dcfa2c19d72b6ebdd4073abbe65531656a2 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 20 03:44:31 2015 +0200 staging: i2o: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> This patch fixes the following checkpatch.pl warning: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c4550aff76cb7f1deb86b67041d4c77001bcc8c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 20 03:43:52 2015 +0200 staging: i2o: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> This patch fixes the following checkpatch.pl warning: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0a6fb6624964c9df17e1519d98c6609e7604be9 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 19 01:19:16 2015 +0530 Staging: i2o: Join quoted string split across lines This patch removes the checkpatch.pl warnings "quoted string split accross lines" Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e95ff88fe26fdbdce5679339b87641ec43175cf Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 19 00:22:24 2015 +0530 Staging: i2o: Remove space after the * in a pointer type variable This patch is to remove space after the * in pointer type function parameters in function prototype and definition to follow kernel coding conventions. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e267cc5e48fbc1acba6f0b0dd7e6871f2733a8fc Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Feb 18 03:52:07 2015 +0530 Staging: i2o: Convert comment from C99 style to C89 style This patch fixes checkpatch.pl error in debug.c ERROR: do not use C99 // comments Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f643bad17fde32dcc4700801a97f147aa3cb3977 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Feb 18 03:07:20 2015 +0530 Staging: i2o: Use preferred library linux/uaccess.h over asm/uaccess.h This patch fixes checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" in i2o/config-osm.c . Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1aba012174629ecc8088979de6d45e09cf6ab88d Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Feb 22 15:27:56 2015 +0200 Staging: vt6656: replace memcpy() by ether_addr_copy() using coccinelle and pack variable This patch focuses on fixing the following warning generated by checkpatch.pl for the file rxtx.c Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) @@ expression e1, e2; @@ - memcpy(e1, e2, ETH_ALEN); + ether_addr_copy(e1, e2); According to ether_addr_copy() description and functionality, all Ethernet addresses should align to the u16 datatype. The changes were applied using the following coccinelle rule: Here is the output of pahole for the relevant datastructures: struct vnt_usb_send_context { void * priv; /* 0 8*/ struct sk_buff * skb; /* 8 8*/ struct urb * urb; /* 16 8*/ struct ieee80211_hdr * hdr; /* 24 8*/ unsigned int buf_len; /* 32 4*/ u32 frame_len; /* 36 4*/ u16 tx_hdr_size; /* 40 2*/ u16 tx_rate; /* 42 2*/ u8 type; /* 44 1*/ u8 pkt_no; /* 45 1*/ u8 pkt_type; /* 46 1*/ u8 need_ack; /* 47 1*/ u8 fb_option; /* 48 1*/ bool in_use; /* 49 1*/ unsigned char data[2900]; /* 50 2900*/ /* --- cacheline 46 boundary (2944 bytes) was 6 bytes ago --- */ /* size: 2952, cachelines: 47, members: 15 */ /* padding: 2 */ /* last cacheline: 8 bytes */ }; struct ieee80211_key_conf { u32 cipher; /* 0 4*/ u8 icv_len; /* 4 1*/ u8 iv_len; /* 5 1*/ u8 hw_key_idx; /* 6 1*/ u8 flags; /* 7 1*/ s8 keyidx; /* 8 1*/ u8 keylen; /* 9 1*/ u8 key[0]; /* 10 0*/ /* size: 12, cachelines: 1, members: 8 */ /* padding: 2 */ /* last cacheline: 12 bytes */ }; struct vnt_mic_hdr { u8 id; /* 0 1*/ u8 tx_priority; /* 1 1*/ u8 mic_addr2[6]; /* 2 6*/ u8 ccmp_pn[6]; /* 8 6*/ __be16 payload_len; /* 14 2*/ __be16 hlen; /* 16 2*/ __le16 frame_control; /* 18 2*/ u8 addr1[6]; /* 20 6*/ u8 addr2[6]; /* 26 6*/ u8 addr3[6]; /* 32 6*/ __le16 seq_ctrl; /* 38 2*/ u8 addr4[6]; /* 40 6*/ u16 packing; /* 46 2*/ /* size: 48, cachelines: 1, members: 13 */ /* last cacheline: 48 bytes */ }; Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34c3a15061af61d73f90aa7d87e8531550878ddd Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sat Feb 21 22:37:16 2015 +0200 Staging: vt6655: changed C99 // comments // erased and replace it with /* */ used. Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d36302448dde607faac07f76d9da92654404981 Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Fri Feb 20 14:51:02 2015 -0800 Staging: vt6655: break lines over 80 characters Addresses checkpatch.pl warning: WARNING: line over 80 characters Break 2 lines over 80 characters and align with opening parenthesis Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0cc5a4f9d5d7389cc01ee676adbb45bcbd77228c Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Thu Feb 19 15:43:12 2015 -0800 Staging: vt6655: Replace C99 comments with C89 Addresses the checkpatch.pl error: ERROR: Do not use C99 // comments Remove an unneeded comment line Replace C99 comments with C89 Reduce multiple line comments to one line Shorten comments over 80 line by removing blank space Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6341898323d3a671e766e229fd7d0c90117dfa2f Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Sun Feb 22 12:18:04 2015 +0200 Staging: lustre: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' Remove unnecessary space between function name and opening parenthesis. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f211c20faec32fa3803bdee97406355eb4b9be9 Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Feb 21 23:23:24 2015 +0200 Staging: lustre: Removed unnecessary spaces Fix checkpatch.pl issues with "unnecessary whitespace before a quoted newline" in llite_lib.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 692f2b6cc298b86b9386bb26ea457aae957cc6ff Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Feb 21 22:47:43 2015 +0200 Staging: lustre: use kstrtoul() instead of sscanf() This patch makes checkpatch.pl by fixing the following warning: WARNING: Prefer kstrto<type> to single variable sscanf. I used to kstrtoul can convert unsigned long instead of sscanf Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99d08456b3937cb32245e4f4d35a5469cf12d280 Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Feb 21 23:19:46 2015 +0200 Staging: lustre: Removed unnecessary braces This patch fixes checkpatch.pl warning in llite_lib.c WARNING: braces {} are not necessary for any arm of this statement Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e17f5594d59d9140ee12fcfe6b8f63de2b1574cc Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Feb 20 23:51:38 2015 +0200 Staging: lustre: Edit switch-case indent This patch fixes indent as the codingStyle of the kernel recommends in dir.c Fix checkpatch.pl error: ERROR: switch and case should be at the same indent. Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7979219006690da703dd7f08ec7cbc03dfeb984c Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Feb 20 23:51:37 2015 +0200 Staging: lustre: Add blank line after variable declarations This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in dir.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31982482c066eb4fdb06ff65d4c7fd059422099b Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Feb 20 23:51:36 2015 +0200 Staging: lustre: Used "linux" instead of "asm" This patch fixes "Use #include <linux/uaccess.h> instead of <asm/uaccess.h"> checkpatch.pl warning in dir.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17155544f6f03a7846f5c78a9668a41b28eb9452 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 05:08:05 2015 +0200 staging: lustre: lnet: klnds: o2iblnd: Removed useless return keywords. Removed return keyword from void functions. Removed following checkpatch.pl warnings: WARNING: void function return statements are not generally useful Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2ff386821d929ddf7f5e8167273fbc38aa3a9ba Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 05:08:07 2015 +0200 staging: lustre: lnet: klnds: o2iblnd: Added missing blank line. Added missing blank line after declaration. Removed following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b15a85fc494d5d18fa190585f7f6db50bb054d98 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 05:08:04 2015 +0200 staging: lustre: lnet: klnds: o2iblnd: Removed unnecessary spaces. Removed unnecessary spaces between function name and open parenthesis '('. Removed following checkpatch.pl warnings: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b656d5fd7eedf210e8166bb8c63e0ac8b157a4b5 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 20 15:35:30 2015 +0200 Staging: lustre: lnet: klnds: o2iblnd: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' checkpatch.pl warning in o2iblnd_modparams.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2aa53ff69e32ac3b53bf554bec0af88a6805b41a Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 20 15:23:18 2015 +0200 Staging: lustre: lnet: klnds: o2iblnd: Remove intialization of static to 0 ERROR: do not initialise statics to 0 or NULL checkpatch.pl error in o2iblnd_modparams.c initial value unassigned static variables are automatically set to zero. so it is unnecessary to assign the initial value to zero Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95c3fe337b0c9e3a848be2c2778cbe028325d633 Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 19 23:06:46 2015 +0200 Staging: lustre: lnet: add spaces around '||' This fixes the checkpatch.pl error in conctl.c: ERROR: spaces required around that '||' (ctx:VxE) Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d501e5641a44ac8bd4e1c2da28bf4b7fea63653f Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 19 22:25:40 2015 +0200 Staging: lustre: include: linux: libcfs: Remove spaces at the start of a line This patch fixes checpatch.pl warning WARNING: please, no spaces at the start of a line Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17ca290e25e6c2056dbf8a6fe0a146c191f10689 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Feb 17 20:34:18 2015 +0200 staging: lustre: ldlm: remove commented call to LBUG This patch removes a commented call to LBUG since lustre should be cleaned out of debugging macros before moving out of staging. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 915e8a4fe45eab871a862f6467ec7e59864735b2 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Feb 11 15:42:38 2015 +0100 rcu: Remove fastpath from __rcu_process_callbacks() The standard code path accommodates a condition when no RCU callbacks are ready to invoke. Since size of the code is a priority for tiny RCU, remove the fast path. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 27153acbe1141ceecf098ca5d24c2ae2714c1a5f Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Feb 11 15:42:37 2015 +0100 rcu: Remove unnecessary condition check in rcu_qsctr_help() When the ->curtail and ->donetail pointers differ, ->rcucblist always points to the beginning of the current list and thus cannot be NULL. Therefore, the check ->rcucblist != NULL is redundant and this commit removes it. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 675da67f24e2d6d8df0cedf12e59085ed8bbf4e7 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 15:57:07 2015 -0800 rcu: Fixes to NO_HZ_FULL sysidle accounting On second and subsequent passes through quiescent-state forcing, the isidle variable was initialized to false, which would prevent full sysidle state from being reached if a grace period needed more than one round of quiescent-state forcing (which most should not). However, the check for offline CPUs in the quiescent-state forcing main loop had the wrong sense, which could prevent CPUs from ever entering full sysidle state. This commit fixes both of these bugs. Given that sysidle is not yet wired up, this has no effect in old kernels, but might have proven frustrating had anyone attempted to wire it up. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c136f991049f51212e3d837a9f41708158591869 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 12:15:19 2015 -0800 rcutorture: Make consistent use of variables The "if" statement at the beginning of rcu_torture_writer() should use the same set of variables. In theory, this does not matter because the corresponding variables (gp_sync and gp_sync1) have the same value at this point in the code, but in practice such puzzles should be removed. This commit therefore makes the use of variables consistent. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ee42571f4381f184e2672dd34ab411e5bf5bd5e0 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 10:51:32 2015 -0800 rcu: Add Kconfig option to expedite grace periods during boot This commit adds a CONFIG_RCU_EXPEDITE_BOOT Kconfig parameter that emulates a very early boot rcu_expedite_gp(). A late-boot call to rcu_end_inkernel_boot() will provide the corresponding rcu_unexpedite_gp(). The late-boot call to rcu_end_inkernel_boot() should be made just before init is spawned. According to Arjan: > To show the boot time, I'm using the timestamp of the "Write protecting" > line, that's pretty much the last thing we print prior to ring 3 execution. > > A kernel with default RCU behavior (inside KVM, only virtual devices) > looks like this: > > [ 0.038724] Write protecting the kernel read-only data: 10240k > > a kernel with expedited RCU (using the command line option, so that I > don't have to recompile between measurements and thus am completely > oranges-to-oranges) > > [ 0.031768] Write protecting the kernel read-only data: 10240k > > which, in percentage, is an 18% improvement. Reported-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> commit 5afff48bdf7481570c9385a8a674a81ffb8f09ee Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 16:39:09 2015 -0800 rcu: Update from rcu_expedited variable to rcu_gp_is_expedited() This commit updates open-coded tests of the rcu_expedited variable to instead use rcu_gp_is_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4bb3c5f4142a359de46cf14ebab64c4c903d6773 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 16:31:29 2015 -0800 rcu: Add rcu_expedite_gp() and rcu_unexpedite_gp() to rcutorture Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 0d39482c3db13aae1db143d340816108dd53e443 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 12:24:30 2015 -0800 rcu: Provide rcu_expedite_gp() and rcu_unexpedite_gp() Currently, expediting of normal synchronous grace-period primitives (synchronize_rcu() and friends) is controlled by the rcu_expedited() boot/sysfs parameter. This works well, but does not handle nesting. This commit therefore provides rcu_expedite_gp() to enable expediting and rcu_unexpedite_gp() to cancel a prior rcu_expedite_gp(), both of which support nesting. Reported-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9bae6592d7d74dbb409e0dd8004f13af8b8d569e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 18 18:01:21 2015 -0800 rcu: Drive PROVE_RCU directly off of PROVE_LOCKING In the past, it has been useful to enable PROVE_LOCKING without also enabling PROVE_RCU. However, experience with PROVE_RCU over the past few years has demonstrated its usefulness, so this commit makes PROVE_LOCKING directly imply PROVE_RCU. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 1925d1967c93a1c421271aade7953f6857e9f579 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 18 17:45:05 2015 -0800 rcu: Fix a couple of typos in rcu_all_qs() comment header Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 39c8d313c3c546a414cc51b4f6571c2f8cc06407 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 20 23:42:38 2015 -0800 rcu: Avoid clobbering early boot callbacks When a CPU comes online, it initializes its callback list. This is a bad thing if this is the first time that the CPU has come online and if that CPU has early boot callbacks. This commit therefore avoid initializing the callback list if there are callbacks present, in which case the initial call_rcu() did the initialization for us. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 59f792d1ef214592ae9b86238fa8fd00f5929b76 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 21:43:40 2015 -0800 rcu: Refine diagnostics for lacking kthread for no-CBs callbacks Some diagnostics under CONFIG_PROVE_RCU in rcu_nocb_cpu_needs_barrier() assume that there can be no early-boot callbacks. This commit therefore qualifies the diagnostic with rcu_scheduler_fully_active to permit early boot callbacks to avoid this splat. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 143da9c2fc030a5774674f2ebc2f934fab3dcd9a Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 19:57:32 2015 -0800 rcu: Prevent early-boot RCU callbacks from splatting Currently, a call_rcu() that precedes rcu_init() will splat due to the callback lists not having yet been initialized. This commit causes the first such callback to initialize the boot CPU's RCU callback list. Note that this commit does not change rcu_init()-time initialization, which means that the callback will be discarded at rcu_init() time. Fixing this is the job of later commits. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 2723249a31a68ccc0ec8ac59a905d7f9430bf8f6 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 20 22:44:13 2015 -0800 rcu: Wire ->rda pointers at compile time This commit wires up the rcu_state structures' ->rda pointers to the per-CPU rcu_data structures at compile time, thus ensuring that this linkage is present at early boot, in turn allowing posting of callbacks before rcu_init() is executed. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d3f3f3f25b1d4ee152f3f19a812c3a282da4c120 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 18 18:21:09 2015 -0800 rcu: Abstract default callback-list initialization from init_callback_list() In preparation for early-boot posting of callbacks, this commit abstracts initialization of the default (non-no-CB) callbacks list from the init_callback_list() function into a new init_default_callback_list() function. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ff382810590e7182a1482a225965d6943e61699c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:00:06 2015 -0800 documentation: Clarify control-dependency pairing This commit explicitly states that control dependencies pair normally with other barriers, and gives an example of such pairing. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> commit daf1aab9acfaaded09f53fa91dfe6e4e6926ec39 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 2 08:08:25 2015 -0800 documentation: Clarify memory-barrier semantics of atomic operations All value-returning atomic read-modify-write operations must provide full memory-barrier semantics on both sides of the operation. This commit clarifies the documentation to make it clear that these memory-barrier semantics are provided by the operations themselves, not by their callers. Reported-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f1360570f420b8b122e7f1cccf456ff7133a3007 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 25 11:48:18 2015 -0800 documentation: Update per-CPU kthreads documentation Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c25197841efe53258abb22cfd894a729a272edf9 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 25 11:28:28 2015 -0800 documentation: Update NO_HZ_FULL interaction with POSIX timers POSIX timers are no longer starved on adaptive-ticks CPUs. Instead, they prevent affected CPUs from entering adaptive-ticks mode. This commit therefore updates the NO_HZ.txt documentation. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 89bf5d82ed451f02329bbbb06ac365e96b18804d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jan 24 22:24:14 2015 -0800 documentation: Update based on on-demand vmstat workers Now that the on-demand vmstat workers commit is in mainline, it is possible to eliminate vmstat_update()-induced OS jitter. This commit updates the documentation accordingly. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d2af1ad73e7a22ed3e04374896fee0eb300c05c3 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 20 23:54:59 2015 -0800 documentation: Update rcutree.kthread_prio for grace-period kthread use Now that the rcutree.kthread_prio kernel boot parameter also controls the priority of the grace-period kthreads, update the documentation to reflect this change. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit a394b1b2c3e8a0bf20daed68fc0ba44d5d5dd818 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Wed Feb 4 23:54:01 2015 +0900 ARM: exynos_defconfig: Enable support for cpufreq on Exynos SoCs This commit enables the cpufreq subsystem. Moreover, support for using CPU as a cooling device is provided. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 05e2685f383ebfe41f58f522afaab713198fc1de Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Wed Feb 4 23:54:01 2015 +0900 ARM: exynos_defconfig: Enable thermal emulation for Exynos TMU Enabling thermal emulation on Exynos SoCs. New sysfs attribute - emul_temp is created. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ab57f679b638c987a57ed56d40ce26bb4931e00b Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Wed Feb 4 23:54:01 2015 +0900 ARM: exynos_defconfig: Remove CONFIG_EXYNOS_THERMAL_CORE define After Exynos TMU rework to use device tree for configuration this flag can be removed. It is not used anymore. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 83ce82eeff06098eb14d2ece35e73c4b3d55770d Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Tue Feb 17 19:52:06 2015 +0100 ARM: dts: dove: Add node labels for PCIe ports 0 and 1 Add pcie[01] node labels to allow to reference them easily from board level. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit eb472c4cdd5a798dd096095435cf1f5e16464ef8 Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Tue Feb 17 19:52:05 2015 +0100 ARM: dts: dove: Always include gpio and interrupt-controller headers We want to enforce the use of named flags in GPIO and interrupt specifiers, include the corresponding headers to Dove's SoC dtsi. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a74cd13b807029397f7232449df929bac11fb228 Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Tue Feb 17 19:52:04 2015 +0100 ARM: dts: dove: Fix uart[23] reg property Fix Dove's register addresses of uart2 and uart3 nodes that seem to be broken since ages due to a copy-and-paste error. Cc: <stable@xxxxxxxxxxxxxxx> # 3.7+ Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 4824140f4bd1caaf900215aabe27e4bdd1677704 Author: Imre Kaloz <kaloz@xxxxxxxxxxx> Date: Mon Feb 16 13:31:04 2015 +0100 ARM: mvebu: add Linksys WRT1900AC (Mamba) support The Linksys WRT1900AC (Mamba) is a router that has - 2 mini-PCIe slots with Marvell 88W8864 radios - 1 USB 3.0 port - 1 USB 2.0/eSATAp port - 2 Ethernet interfaces connected to a 88E6172 switch (1x WAN + 4x LAN) - 128MB NAND flash - 256MB RAM gregory.clement@xxxxxxxxxxxxxxxxxx: - add ARM to the title - fix the reference to CONFIG_DEBUG_MVEBU_UART0_ALTERNATE - fix the unbalanced comment for the syscfg partition Signed-off-by: Imre Kaloz <kaloz@xxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 1056a273ec2ce4446e38598c08ef782bbfe9bdc3 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Feb 5 00:35:58 2015 +0900 ARM: dts: add eMMC reset line for exynos5422-odroidxu3 This patch adds reset-gpios property to the eMMC slot, so the MMC driver is able to properly reset eMMC card on system restart and thus fixes system hang on software reboot. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 225da7e65a03d7b730ccb201f8acb6afde5eb40b Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Feb 5 00:35:58 2015 +0900 ARM: dts: add eMMC reset line for exynos4412-odroid-common This patch adds reset-gpios property to the eMMC slot, so the MMC driver is able to properly reset eMMC card on system restart and thus fixes system hang on software reboot. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit e07eb1ec8df413f187ff5066af5feb94917cb567 Author: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Date: Thu Feb 5 00:29:56 2015 +0900 ARM: dts: represent bridge and panel connection for exynos5420-peach-pit Define videoports and use endpoints to describe the connection between the encoder, bridge and the panel, instead of using phandles. Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Tested-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Tested-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b174e79ef518622a29ddf26923efaa5b90e2b973 Author: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Date: Thu Feb 5 00:29:06 2015 +0900 ARM: dts: represent bridge and panel connection for exynos5250-snow Define videoports and use endpoints to describe the connection between the encoder, bridge and the panel, instead of using phandles. Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Tested-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Tested-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit d0cf8bc7296f2ec7b27aa09cc358f393777075b4 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Thu Feb 5 00:22:02 2015 +0900 ARM: dts: Add cap-sdio-irq to wifi mmc node for exynos5250-snow Enabling SDIO IRQ signalling for the wifi MMC/SDIO slot doubles the transmission transfer rate. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b07a27696bda1d23036b3b018bfd799f93f4e8f0 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Thu Feb 5 00:22:02 2015 +0900 ARM: dts: Enable wifi power-on for exynos5250-snow The Snow board has a MMC/SDIO wifi chip that is always powered but it needs a power sequence involving a reset (active low) and an enable (active high) pins. Both pins are marked as active low since the MMC simple power sequence driver asserts the pins prior to the card power up procedure and de-asserts the pins after the card has been powered. So the reset line will be left de-asserted and the enable pin will be left asserted. The chip also needs an external 32kHz reference clock to be operational that is by the MAX77686 PMIC clock. Add a simple MMC power sequence provider for the wifi MMC/SDIO slot. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 686135da9055c84283a86e19ee2aea0b127344d7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Feb 26 19:53:54 2015 +0300 drm/i915: fix a printk format This printk leads to the following Smatch warning: drivers/gpu/drm/i915/i915_gem_gtt.c:336 alloc_pt_range() error: '%pa' expects argument of type 'phys_addr_t*', argument 5 has type 'struct i915_page_table_entry*' It looks like a simple typo to me where "%p" was intended instead of "%pa". Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 394a10331a9e43100a8ee293255cfc428c7355ac Author: Johan Hovold <johan@xxxxxxxxxx> Date: Thu Feb 19 12:34:41 2015 +0700 USB: ch341: remove redundant close from open error path Remove redundant call to ch341_close from error path when submission of the interrupt urb fails in open. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 626ad6f37de1620e9ccd6b28f1743ee959b582c6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Feb 26 21:10:27 2015 +0530 drm/i915: Add media rc6 residency file to sysfs On VLV/CHV the media well rc6 residency gets reported separately from the render well, so add another file to sysfs so that we can report the residency to the user. Testcase: igt/pm_rc6_residency --run-subtest media-rc6-accuracy Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fed0a159c8c5e453d79d6a73897c576efea0a8a5 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 23:55:40 2015 -0800 bridge: fix link notification skb size calculation to include vlan ranges my previous patch skipped vlan range optimizations during skb size calculations for simplicity. This incremental patch considers vlan ranges during skb size calculations. This leads to a bit of code duplication in the fill and size calculation functions. But, I could not find a prettier way to do this. will take any suggestions. Previously, I had reused the existing br_get_link_af_size size calculation function to calculate skb size for notifications. Reusing it this time around creates some change in behaviour issues for the usual .get_link_af_size callback. This patch adds a new br_get_link_af_size_filtered() function to base the size calculation on the incoming filter flag and include vlan ranges. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9003019192f045eee8e451916a4bc289c2a3e1be Merge: 009f33e e47172a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Feb 26 11:22:03 2015 -0500 Merge branch 'rocker-next' Scott Feldman says: ==================== rocker cleanups Pushing out some rocker cleanups I've had in my queue for a while. Nothing major, just some sync-up with changes that already went into device code (hard-coding desc err return values and lport renaming). Also fixup port fowarding transitions prompted by some DSA discussions about how to restore port state when port leaves bridge. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e47172ab7e4176883077b454286bbd5b87b5f488 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Feb 25 20:15:38 2015 -0800 rocker: put port in FORWADING state after leaving bridge Cleanup the port forwarding state transitions for the cases when the port joins or leaves a bridge, or is brought admin UP or DOWN. When port is bridged, we can rely on bridge driver putting port in correct state using STP callback into port driver, regardless if bridge is enabled for STP or not. When port is not bridged, we can reuse some of the STP code to enabled or disable forwarding depending on UP or DOWN. Tested by trying all the transitions from bridge/not bridge, and UP/DOWN, and verifying port is in the correct forwarding state after each transition. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a6bb6d35980ebbf0d130c516c929ab5e60231f9 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Feb 25 20:15:37 2015 -0800 rocker: rename lport to pport This is just a rename of physical ports from "lport" to "pport". Not a functional change. OF-DPA uses logical ports (lport) for tunnels, but the driver (and device) were using "lport" for physical ports. Renaming physical ports references to "pport", freeing up "lport" for use later with tunnels. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7eb344f8731a0327155814f387984dedb1df032a Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Feb 25 20:15:36 2015 -0800 rocker: fix non-portable err return codes The rocker device returns error codes if something goes wrong with descriptor processing. Originally the device used standard errno codes for different errors, but since those errno codes aren't portable across ARCHs, the device now returns hard-coded error codes that stay constant across diff ARCHs. Fix driver to use those same hard-coded values. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb47cb2eb22dfacac9689708f5bd3cb0e975e290 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Feb 26 17:25:04 2015 +0900 perf probe: Fix get_real_path to free allocated memory in error path Fix get_real_path to free allocated memory when comp_dir is used for complementing path and getting an error. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150226082504.28125.74506.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9aaf5a5f479bd68699f2e6f6e5e5f1253377b6da Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Feb 19 23:31:13 2015 +0900 perf probe: Check kprobes blacklist when adding new events Recent linux kernel provides a blacklist of the functions which can not be probed. perf probe can now check this blacklist before setting new events and indicate better error message for users. Without this patch, ---- # perf probe --add vmalloc_fault Added new event: Failed to write event: Invalid argument Error: Failed to add events. ---- With this patch ---- # perf probe --add vmalloc_fault Added new event: Warning: Skipped probing on blacklisted function: vmalloc_fault ---- Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150219143113.14434.5387.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 55d43bcafe78b6da33f8a49be68ef168f3cbfec9 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Thu Feb 19 15:00:22 2015 -0500 perf trace: Fix SIGBUS failures due to misaligned accesses On Sparc64 perf-trace is failing in many spots due to extended load instructions being used on misaligned accesses. (gdb) run trace ls Starting program: /tmp/perf/perf trace ls [Thread debugging using libthread_db enabled] Detaching after fork from child process 169460. <ls output removed> Program received signal SIGBUS, Bus error. 0x000000000014f4dc in tp_field__u64 (field=0x4cc700, sample=0x7feffffa098) at builtin-trace.c:61 warning: Source file is more recent than executable. 61 TP_UINT_FIELD(64); (gdb) bt 0 0x000000000014f4dc in tp_field__u64 (field=0x4cc700, sample=0x7feffffa098) at builtin-trace.c:61 1 0x0000000000156ad4 in trace__sys_exit (trace=0x7feffffc268, evsel=0x4cc580, event=0xfffffc0104912000, sample=0x7feffffa098) at builtin-trace.c:1701 2 0x0000000000158c14 in trace__run (trace=0x7feffffc268, argc=1, argv=0x7fefffff360) at builtin-trace.c:2160 3 0x000000000015b78c in cmd_trace (argc=1, argv=0x7fefffff360, prefix=0x0) at builtin-trace.c:2609 4 0x0000000000107d94 in run_builtin (p=0x4549c8, argc=2, argv=0x7fefffff360) at perf.c:341 5 0x0000000000108140 in handle_internal_command (argc=2, argv=0x7fefffff360) at perf.c:400 6 0x0000000000108308 in run_argv (argcp=0x7feffffef2c, argv=0x7feffffef20) at perf.c:444 7 0x0000000000108728 in main (argc=2, argv=0x7fefffff360) at perf.c:559 (gdb) p *sample $1 = {ip = 4391276, pid = 169472, tid = 169472, time = 6303014583281250, addr = 0, id = 72082, stream_id = 18446744073709551615, period = 1, weight = 0, transaction = 0, cpu = 73, raw_size = 36, data_src = 84410401, flags = 0, insn_len = 0, raw_data = 0xfffffc010491203c, callchain = 0x0, branch_stack = 0x0, user_regs = {abi = 0, mask = 0, regs = 0x0, cache_regs = 0x7feffffa098, cache_mask = 0}, intr_regs = {abi = 0, mask = 0, regs = 0x0, cache_regs = 0x7feffffa098, cache_mask = 0}, user_stack = { offset = 0, size = 0, data = 0x0}, read = {time_enabled = 0, time_running = 0, {group = {nr = 0, values = 0x0}, one = {value = 0, id = 0}}}} (gdb) p *field $2 = {offset = 16, {integer = 0x14f4a8 <tp_field__u64>, pointer = 0x14f4a8 <tp_field__u64>}} sample->raw_data is guaranteed to not be 8-byte aligned because it is preceded by the size as a u3. So accessing raw data with an extended load instruction causes the SIGBUS. Resolve by using memcpy to a temporary variable of appropriate size. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424376022-140608-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 820cc6cf2c552155ea919e596a85e1f4e5dfa2b5 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 12:50:46 2015 +0100 ALSA: hda - Clear pcm pointer assigned to hda_pcm at device removal We leave the pcm field of struct hda_pcm at removal of each device, so far. This hasn't been a problem since unbinding the codec driver isn't supposed to happen and another route via snd_hda_codec_reset() clears all the once. However, for a proper unbind implementation, we need to care about it. This patch does the thing above properly: - Include struct hda_pcm pointer instead of struct hda_pcm_stream pointers in struct azx_dev. This allows us to point the hda_pcm object at dev_free callback. - Introduce to_hda_pcm_stream() macro for better readability. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7e40b80da452770878943edfe7da80f10f8d25da Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 09:42:04 2015 +0100 ALSA: hda - Remove channel mode helper functions They are no longer used, let's kill them. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 777ae1946813f1dea24d908c8f318754f090f41f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 14:35:59 2015 +0100 ALSA: hda - Set parent of input beep devices Set the card device as the parent like other sound devices instead of leaving it empty. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 709949fbe9632941585dcacabc8a66010030ed10 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 09:58:14 2015 +0100 ALSA: hda - Power down codec automatically at registration So far, we let the controller driver power down the all codecs at the end of probe. But this can be done better in the codec's dev_register callback. This results in the reduction of duplicated codes in each control driver. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 55ed9cd1feee80764937913afe760161b86cfb11 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 17:35:32 2015 +0100 ALSA: hda - Replace bus pm_notify with the standard runtime PM framework Now the final bit of runtime PM cleanup: instead of manual notification of the power up/down of the codec via hda_bus pm_notify ops, use the standard runtime PM feature. The child codec device will kick off the runtime PM of the parent (PCI) device upon suspend/resume automatically. For managing whether the link can be really turned off, we use the bit flags bus->codec_powered instead of the earlier bus->power_keep_link_on. flag. Each codec driver is responsible to set/clear the bit flag, and the controller device can be turned off only when all these bits are cleared. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bb573928e187fc5b1f91c3a7684791d5dfcca640 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 09:26:04 2015 +0100 ALSA: hda - Drop power_save value indirection in hda_bus We used to pass the power_save option value to hda_bus via a given pointer. This was needed to refer to the value from the HD-audio core side. However, after the transition to the runtime PM, this is no longer needed. This patch drops the power_save value indirection in hda_bus above, and let the controller driver reprograms the autosuspend value explicitly by a new helper, snd_hda_set_power_save(). Without this call, the HD-audio core doesn't set up the autosuspend and flip the runtime PM. (User may still be able to set up via sysfs, though.) Along with this change, the pointer argument of azx_bus_create() is dropped as well. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 719cd21ceddb45b31394302cd9f2adc8b281e476 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Feb 26 11:28:13 2015 +0000 drm/i915: Add missing description to parameter in alloc_pt_range The patch "drm/i915: Plumb drm_device through page tables operations" added an extra parameter, but it didn't update the function description. Also remove unnecessary blank line added by the same patch. Found by kbuild test robot. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bc4d91f699d8529682be34e9f61be87679982f9b Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Thu Feb 26 16:09:47 2015 +0530 drm/i915: Removed the read of RP_STATE_CAP from sysfs/debugfs functions The frequency values(Rp0, Rp1, Rpn) reported by RP_STATE_CAP register are stored, initially by the Driver, inside the dev_priv->rps structure. Since these values are expected to remain same throughout, there is no real need to read this register, on dynamic basis, from certain debugfs/sysfs functions and the values can be instead retrieved from the dev_priv->rps structure when needed. For the i915_frequency_info debugfs interface, the frequency values from the RP_STATE_CAP register only should be used, to indicate the actual Hw state, since it is principally used for the debugging purpose. v2: Reverted the changes in i915_frequency_info function, to continue report back the frequency values, as per the actual Hw state (Chris) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b4f2bf4c02b27f31e68cbd00fa7ef868061ac2eb Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Thu Feb 26 09:44:45 2015 +0200 drm/i915: Look at staged config when fixing pipe_src_w for LVDS The code in function intel_crtc_compute_config() that evens pipe_src_w if necessary would look at the current config instead of the staged one when deciding if there is an LVDS encoder in use. This could potentially lead to the value not being updated, if during the modeset a crtc wasn't driving an LVDS encoder. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0088d27b78f2c0118aee82923269518616481ea0 Author: Leon Nardella <leon.nardella@xxxxxxxxx> Date: Sat Feb 7 17:10:07 2015 -0200 ath9k_htc: Add new USB ID This device is a dongle made by Philips to enhance their TVs with wireless capabilities, but works flawlessly on any upstream kernel, provided that the ath9k_htc module is attached to it. It's correctly recognized by lsusb as "0471:209e Philips (or NXP) PTA01 Wireless Adapter" and the patch has been tested on real hardware. Signed-off-by: Leon Nardella <leon.nardella@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 52f578049404e4d3397dbf94ad8adc30aff7b723 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 6 17:24:32 2015 -0500 rtlwifi: Clear ACM_CTRL AC3_VO bit correctly All hw driver components in the rtlwifi driver, except for the rtl8192de component has this bug. They would clear BE bit in the ACM_CTRL register instead of the VO bit when processing the VO queue. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 661fa95ddb9e4c9bf6b3ec575a92dd837ec72ace Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:47 2015 +0100 brcmfmac: Fix escan timer causing oops. In some rare circumstances the escan protection timer can expire before the setup completed (due to long timeouts on IOCTL). This patch avoids this situation by setting the timer after the setup completed correctly. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a7b134a7676edf68d05fe44f0a045c14cadd66b2 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:46 2015 +0100 brcmfmac: Dont sleep when ctrl frames to transmit. The SDIO watchdog will put the device in sleep mode when there is no activity for some time and nothing to do anymore. This check is incomplete and should also check if there is a control frame to transmit. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9982464379e81ece51ced03ebecbbcd34ea367a6 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:45 2015 +0100 brcmfmac: make sdio suspend wait for threads to freeze Borrowed the idea of the PM freezer to make sdio suspend wait for watchdog and DPC thread to freeze at a safe point in their thread routine. The suspend takes 20-25 msec. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c7cd5d27d848d6afb38abad1c345cd42ebfd61e4 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:44 2015 +0100 brcmfmac: add debugfs file containing revision info Make the revision info visible in debugfs. The new debugfs file is named 'revinfo'. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ad5a52518aa5ae85dd73f8062ad58ef8b3f1ecf1 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:43 2015 +0100 brcmfmac: Remove error print for invalid key index. When a key is set or cleared with an unsupported key index then brcmfmac will print an error. With most wpa_supplicants this is happening a lot. The error print is confusing and not needed. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a1ce7a0d6a4f1ed178c075c9dc02a06f0c68ab70 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:42 2015 +0100 brcmfmac: use helper function for changing SDIO state Changing the SDIO state of the driver involves changing the bus interface state. Adding a helper function makes sure that knowledge is in one place. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ffdcad05968ccb9ca2bb66f0e72467aa87baf2c2 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Feb 6 19:58:05 2015 +0530 mwifiex: use alloc_workqueue's format strings capabilities for WQ names alloc_workqueue() has string format formation ability e.g. wqname%ifname will be treated as wqnameifname. Use this and remove string operations while defining strings for workqueue names. Reported-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 01317c264166babe695174aa0d9e6cd93055df1a Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 6 08:26:50 2015 -0500 brcm80211: drop unreachable else case the if/elseif/else is exhaustive - there is no 4th case given the rssi_ctrl_mask = RADIO_2055_NBRSSI_SEL | RADIO_2055_WBRSSI_G1_SEL | RADIO_2055_WBRSSI_G2_SEL; so this unreachable else case (dead code) can be dropped. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 187d3c3386be51f2c9655ec52ddb4a1046c73332 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 6 05:26:45 2015 -0500 brcmfmac: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit aa96af82b873aeff93b11fcbb8577e0001dad221 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:44 2015 +0530 ath9k: Restart TSF2 timers on wakeup When coming out of WoW sleep, check and restart timers based on TSF2. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 3277b20270ee1130a22ced81e7efb0820a160193 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:43 2015 +0530 ath9k: Clear additional WoW events The events for patterns 8..15 need to be cleared on wakeup. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6aaefab6cfe879246f209e39ca993deec493fa96 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:42 2015 +0530 ath9k: Handle additional patterns on wakeup Handle the user-configured patterns in the range 8..15 when waking up and update wow_status correctly. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b39adc63bf0c014b0582c191a83272ea7f92ee8a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:41 2015 +0530 ath9k: Check MCI PowerSave state The power save state of MCI has to be disabled when enabling WoW sleep, check this properly. ar9003_mci_state() doesn't handle MCI_STATE_GET_WLAN_PS_STATE right now, but this will be done later when proper support for MCI/PS is added. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ff6f0c036b3271f080b0c585e6859d52aac2e0e0 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:40 2015 +0530 ath9k: Add new MCI states Several new MCI states have to handled, add them to the list. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0d35024cad0fa196ebd4ad6bdc6f08b026d7470f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:39 2015 +0530 ath9k: Set keep awake timer When MCI is enabled and WoW sleep is enabled, make sure that the RTC keep awake timer is set with the required value. This is also required when the AR_WA is programmed. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2a0eef1ac629724b1eb8ec5909f0b6dc1777784c Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:38 2015 +0530 ath9k: Fix descriptors for keep-alive frame Along with AR9462, AR9565 also has an extra field in the TX descriptor which needs to be zeroed out for the keep alive frame. This makes the earlier REG_WRITE redundant, so it can be removed. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a3dfc6d925ca1bbd1a228253acb93f08657bad25 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Feb 13 10:08:17 2015 -0300 [media] dvb-usb: create one media_dev per adapter Instead of assuming just one adapter, change the code to store one media controller per adapter. This works fine for dvb-usb, as, on all drivers here, it is not possible to write a media graph that would mix resources between the two different adapters. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 496ccf92b9b5342b995a711829de76c320a916b6 Author: Rafael Lourenço de Lima Chehab <chehabrafael@xxxxxxxxx> Date: Fri Feb 13 18:29:14 2015 -0300 [media] dvb-usb: add support for the media controller at USB driver Create a struct media_device and add it to the dvb adapter. Please notice that the tuner is not mapped yet by the dvb core. [mchehab@xxxxxxxxxxxxxxx: use config option MEDIA_CONTROLLER_DVB] Signed-off-by: Rafael Lourenço de Lima Chehab <chehabrafael@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 823b460ee76d0e4e1a9d50e7c1d4aebc0e9e467b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 25 14:07:42 2015 -0300 [media] dvb-usb-v2: create one media_dev per adapter Instead of assuming just one adapter, change the code to store one media controller per adapter. This works fine for dvb-usb, as, on all drivers here, it is not possible to write a media graph that would mix resources between the two different adapters. Acked-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6f6c77d8d2e2fc77395d6bb9ed670161f18b6bd4 Author: Rafael Lourenço de Lima Chehab <chehabrafael@xxxxxxxxx> Date: Thu Feb 12 08:37:25 2015 -0300 [media] dvb-usb-v2: add support for the media controller at USB driver Create a struct media_device and add it to the dvb adapter. Please notice that the tuner is not mapped yet by the dvb core. [mchehab@xxxxxxxxxxxxxxx: use config option MEDIA_CONTROLLER_DVB due to a rebase] Signed-off-by: Rafael Lourenço de Lima Chehab <chehabrafael@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4b208f8b561ffa5f3b7f6887bf8dc3038c67eee9 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 12:29:23 2015 -0300 [media] siano: register media controller earlier We need to initialize the media controller earlier, as the core will call the smsdvb hotplug during register time. Ok, this is an async operation, so, when the module is not loaded, the media controller works. However, if the module is already loaded, nothing will be registered at the media controller, as it will load too late. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fb372a434d47f636bc8277e7e91e0f2855a14263 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 12:00:45 2015 -0300 [media] siano: print a message if DVB register succeeds Right now, this is a debug message, misplaced. Promote it to an info message, as it helps to discover if something bad happened during device init. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d9f3836b7b0353ef21ab4dd0a771331b0afa46e5 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 11:51:41 2015 -0300 [media] siano: get rid of sms_dbg parameter All siano modules have a sms_dbg parameter. Now that we're using the standard pr_debug() macro, we can get rid of it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0dd5f20cb35b59f82b35e918658fa8ab22b9f13a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 11:49:28 2015 -0300 [media] siano: get rid of sms_info() On most cases, sms_info() should actually be pr_debug(), but, on other places, it should be pr_info(). Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6908368879c3e4965d849c893d3741858a8d1842 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 11:33:37 2015 -0300 [media] siano: replace sms_debug() by pr_debug() There's no reason to use a macro here. Just replace everything, and let those debug messages to be activated via dynamic printk. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9b283e67961c5e2dc02b7b25282f3b07f2501974 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 11:33:09 2015 -0300 [media] siano: replace sms_log() by pr_debug() Despite its name, those functions are acutally debug prints for the IR part of the driver. So, properly map them using pr_debug() Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ed0a2c7eca3265e6df3e9eebedfc2db3916dcd4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 11:04:35 2015 -0300 [media] siano: replace sms_err by pr_err Originally, sms_err() would be also displaying the line where the error occurs, but the messages are clear enough. Also, the function is always printed. So, no need for it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 535bd1e96e6ea5eedd1171f0d4a7750597bb4cbf Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 10:55:55 2015 -0300 [media] siano: replace sms_warn() by pr_warn() There's no reason for a sms' own sms_warn macro. Just replace it by the standard pr_warn(). Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5e022d1aa0be77d749939a56f751f62ed8ee4d2b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 10:46:56 2015 -0300 [media] siano: use pr_* print functions Instead of defining its own set of printk functions, let's use the common Kernel debug logic provided by pr_foo functions. As a first step, let's just define the existing macros as the Kernel ones. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 46b1e21fe50f9f58ceaffc10c5aea50366cf7af5 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Jan 7 08:03:03 2015 -0300 [media] siano: add support for the media controller at USB driver Adding support for the media controller for a pure DVB device is simple: just create a struct media_device and add it to the dvb adapter. After creating all DVB devices, we need to call the DVB core, for it to create the media graph. More work is needed for pure DVB tuners, but this is hidden at the Siano driver, just like several others non-hybrid devices. So, this is streight forward. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7e4f23d53d0f5b9934302324a2d736d1c07c2d2b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Feb 19 18:44:51 2015 -0300 [media] cx25840: better document the media pads Use an enum to better document the media pads. No functional changes. Suggested-by: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit db749359059f3049fc5c66950e5ca85f67d7c1b0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Feb 19 16:47:07 2015 -0300 [media] cx25840: fix return logic when media entity init fails There's no need to free state, as it was allocated via devm_kzalloc(). Also, let's return the error code, instead of something else. Reported-by: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3d263114c4b75d06253f0ed8059164dbc70c9f0c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:22:27 2015 -0300 [media] cx231xx: enable the analog tuner at buffer setup buf_prepare callback is called for every queued buffer. This is an overkill. Call it at buf_setup, as this should be enough. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7e2b41e9127e4e4ceeb2d4e86405846974cc4cec Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:20:03 2015 -0300 [media] cx231xx: Improve the media controller comment There are two problems at the comment: - it is badly idented; - its comment doesn't mean anything. Fix it. Requested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 18e8d630cc0e5cc1282b2393aeab1744af4d43ac Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:15:39 2015 -0300 [media] cx25840: better document the media controller TODO Analog video inputs are the tuner, plus composite, svideo, etc, e. g. the input pat should actually be like: ___________ TUNER --------> | | | | SVIDEO .......> | cx25840 | | | COMPOSITE1 ...> |_________| (in the above, dashes represent the enabled link, and periods represent the disabled ones) In other words, if we want to properly represent the pipeline, it should be possible to see via the media controller if the tuner is being used as an image source, or if the source is something else. I didn't map those other inputs here yet, due to a few things: - The extra inputs would require subdevs that won't be controlled - I was in doubt about the best way for doing that - That would likely require some extra setup for cx25840 caller drivers, in order to represent what of the possible internal inputs are actually used on each specific board Actually, at least for now, I was unable to see much benefit on adding such map now, so let's just document it, as this could be added later on, as needed. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e4fd3bc5049b67419ee91b3d4fee2d39e48d5dc2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:09:27 2015 -0300 [media] dvb core: rename the media controller entities Prefix all DVB media controller entities with "dvb-" and use dash instead of underline at the names. Requested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit daf77bd9c21c550252582551ee87e883eed7db00 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:04:05 2015 -0300 [media] tuner-core: fix compilation if the media controller is not defined drivers/media/v4l2-core/tuner-core.c:440:7: error: 'struct v4l2_subdev' has no member named 'entity' t->sd.entity.name = t->name; Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 63ba8c75188e1122bd5c4a19321d1913367010c6 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:02:09 2015 -0300 [media] cx231xx: fix compilation if the media controller is not defined drivers/media/usb/cx231xx/cx231xx-cards.c: In function â??cx231xx_usb_probeâ??: drivers/media/usb/cx231xx/cx231xx-cards.c:1589:15: error: â??struct v4l2_deviceâ?? has no member named â??mdevâ?? dev->v4l2_dev.mdev = dev->media_dev; ^ drivers/media/usb/cx231xx/cx231xx-cards.c:1589:26: error: â??struct cx231xxâ?? has no member named â??media_devâ?? dev->v4l2_dev.mdev = dev->media_dev; ^ scripts/Makefile.build:257: recipe for target 'drivers/media/usb/cx231xx/cx231xx-cards.o' failed Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c1bd57d30bf1b72134d1049b9b169afa96c4d030 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 11:43:44 2015 -0300 [media] dvb-frontend: remove a warning if CONFIG_MEDIA_CONTROLLER_DVB is not selected, it is now producing this warning: drivers/media/dvb-core/dvb_frontend.c: In function â??dvb_frontend_threadâ??: drivers/media/dvb-core/dvb_frontend.c:695:6: warning: unused variable â??retâ?? [-Wunused-variable] int ret; ^ Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7e182f78988404717e27aed5a9d4150631b323f4 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Feb 25 12:05:13 2015 -0300 [media] media.h: mark alsa struct in media_entity_desc as TODO The alsa struct in struct media_entity_desc is now marked as deprecated. However, the alsa struct should remain as it is since it cannot be replaced by a simple major/minor device node description. The alsa struct was designed to be used as an alsa card description so V4L2 drivers could use this to expose the alsa card that they create to carry the captured audio. Such a card is not just a PCM device, but also needs to contain the alsa subdevice information, and it may map to multiple devices, e.g. a PCM and a mixer device, such as the au0828 usb stick creates. This is exactly as intended and this cannot and should not be replaced by a simple major/minor. However, whether this information is in the right form for an ALSA device such that it can handle udev renaming rules as well is another matter. So mark this alsa struct as TODO and document the problems involved. Updated the documentation as well to reflect this and to add the 'major' and 'minor' field documentation. Updated the documentation to clearly state that struct dev is to be used for (sub-)devices that create a single device node. Other devices need their own structure here. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b4d8327024637cb2a1f7910dcb5d0ad7a096f473 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Feb 26 13:49:39 2015 +0800 x86/traps: Enable DEBUG_STACK after cpu_init() for TRAP_DB/BP Before this patch early_trap_init() installs DEBUG_STACK for X86_TRAP_BP and X86_TRAP_DB. However, DEBUG_STACK doesn't work correctly until cpu_init() <-- trap_init(). This patch passes 0 to set_intr_gate_ist() and set_system_intr_gate_ist() instead of DEBUG_STACK to let it use same stack as kernel, and installs DEBUG_STACK for them in trap_init(). As core runs at ring 0 between early_trap_init() and trap_init(), there is no chance to get a bad stack before trap_init(). As NMI is also enabled in trap_init(), we don't need to care about is_debug_stack() and related things used in arch/x86/kernel/nmi.c. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: <dave.hansen@xxxxxxxxxxxxxxx> Cc: <lizefan@xxxxxxxxxx> Cc: <luto@xxxxxxxxxxxxxx> Cc: <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424929779-13174-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0afb1704010f60e7ae85aef0f93fc10f2d99761e Merge: e9e4e44 54cf776 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Feb 26 12:25:20 2015 +0100 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: New user selectable features: - Support recording running/enabled time in 'perf record' (Andi Kleen) - New tool: 'perf data' for converting perf.data to other formats, initially for the CTF (Common Trace Format) from LTTng (Jiri Olsa, Sebastian Siewior) User visible changes: - Only insert blank duration bracket when tracing syscalls in 'perf trace' (Arnaldo Carvalho de Melo) - Filter out the trace pid when no threads are specified in 'perf trace' (Arnaldo Carvalho de Melo) - Add 'perf trace' man page entry for --event (Arnaldo Carvalho de Melo) - Dump stack on segfaults in 'perf trace' (Arnaldo Carvalho de Melo) Infrastructure changes: - Introduce set_filter_pid and set_filter_pids methods in the evlist class (Arnaldo Carvalho de Melo) - Some perf_session untanglement patches, removing the need to pass a perf_session instance for things that are related to evlists, so that tools that don't deal with perf.data files like trace in live mode can make use of the ordered_events class (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9e4e44309f866b115d08ab4a54834008c50a8a4 Merge: 8a26ce4 c517d83 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Feb 26 12:24:50 2015 +0100 Merge tag 'v4.0-rc1' into perf/core, to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe59e5cf4abb922d37caea2ced6331cce48fb8b8 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Nov 19 12:50:16 2014 +0200 OMAPDSS: workaround for MFLAG + NV12 issue It was found that having two displays enabled and having an NV12 overlay on one of the displays will cause underflows/synclosts. Debugging this pointed to some issue with MFLAG. It is unclear why this issue is happening, but it looks like there is a HW bug related to MFLAG and FIFO management. Disabling MFLAG makes this issue go away, but then we lose the benefit of MFLAG. Also forcing MFLAG always on makes the issue go away. Also, using certain values for MFLAG_START, MFLAG thresholds and PRELOAD makes the issue go away, but there was no obvious logic to which values work and which don't. As a workaround until more information about this is found, force MFLAG always on to make NV12 usable. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c64aa3a6600fa5ab25c3ff535d134c8f09add5aa Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Sep 29 20:46:18 2014 +0000 OMAPDSS: Add support for MFLAG OMAP5 has support for MFLAG feature, which allows DSS to dynamically increase the priority of DISPC's DMA traffic. At the moment we don't have support for it. It was noticed that on DRA7 with high bandwidth use cases we see FIFO underflows. Implementing MFLAG support removed those underflows. Interestingly, on OMAP5 uEVM no such overflows were seen. This patch adds a simple MFLAG implementation, where we use a fixed MFLAG threshold value based on the FIFO size. The thresholds are set to 4/8 of fifo size for low threshold, and 5/8 of fifo size for high threshold. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 47fc469b3af5fc63d65a51e21acaa3ed06c288e7 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Sep 29 20:46:17 2014 +0000 OMAPDSS: setup default fifo thresholds At the moment we don't setup FIFO thresholds by default in omapdss. It's supposed to be done by the user of omapdss. And that is missing from omapdrm, causing unoptimal thresholds to be used when using omapdrm. While I believe it's in theory better to allow the user of omapdss to setup the fifo thresholds, in practice we always use the same values, and we could as well setup the thresholds in omapdss. Furthermore, in omapdss init we always swap the FIFO used for GFX and WB overlays, but we don't swap the FIFO thresholds for those overlays (which is the reason for omapdrm using unoptimal HW reset values). So it would make sense to setup the thresholds to account for the swapping of the FIFOs. So, this patch adds code to setup default FIFO tresholds at omapdss init. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit d49cd15550d9d4495f6187425318c245d58cb63f Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Nov 10 12:23:00 2014 +0200 OMAPDSS: DISPC: lock access to DISPC_CONTROL & DISPC_CONFIG Dispc driver presumes that the callers handle locking for all normal functions. However, omapdrm doesn't handle this, and presumes that all overlay manager registers are private to that overlay manager, and thus presumes that configurations for overlay managers can be written via different threads freely. For many registers the above is true. The exceptions are DISPC_CONTROL and DISPC_CONFIG registers, which contain bits for both LCD and TV overlay managers. Fixing this properly in omapdrm means a big omapdrm rewrite. So, for now, add locking to dispc for the problematic registers. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Reported-by: Somnath Mukherjee <somnath@xxxxxx> commit 4e1d3ca0836b6b44c358c5ace79aa15a091a4142 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Oct 3 15:14:09 2014 +0000 OMAPDSS: DISPC: fix div by zero issue in overlay scaling omapdrm doesn't always configure the overlays correctly, causing the overlay setup functions to be called with zero timings. This leads to division by zero error. This happens, for example, when a HDMI cable is not connected, but a user tries to setup a plane with scaling. Fixing omapdrm is a big job, so for now let's check for the bad timings in DISPC and return an error. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 386f167c69ca1c6920581f2cb78be8a1f6691539 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Oct 2 17:58:51 2014 +0000 OMAPDSS: DISPC: change sync_pclk_edge default value The common 'struct videomode' does not have a flag to select when the sync signals should be driven. The default behavior of DISPC HW is to drive the sync signal on the opposite pixel clock edge from data signal, which is also what the videomode_to_omap_video_timings() uses. However, it looks like what panels usually expect is that the data and sync signals are driven on the same edge, so let's change videomode_to_omap_video_timings() to set the sync_pclk_edge accordingly. Note that this only affect panels drivers that use videomode_to_omap_video_timings(), probably when getting the video timings directly from DT data. The drivers can still configure the sync_pclk_edge independently if they so wish. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7ad582be12728ea76b11ce4f4c2f1202d11bf13c Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Oct 2 17:58:50 2014 +0000 OMAPDSS: change signal_level & signal_edge enum values At the moment the enum values for ACTIVE_HIGH and RISING_EDGE are 0, and ACTIVE_LOW and FALLING_EDGE are 1, to match the values programmed to HW. The previous patch removed this dependency. Swap the enum values the other way around. This doesn't change the behavior in any way, but makes it easier to debug as value of '1' means HIGH or RISING. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit ed35188158552d4b1e7a8df2a10dedf88c813539 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Oct 2 17:58:49 2014 +0000 OMAPDSS: DISPC: explicit handling for sync and de levels When configuring the lcd timings, instead of writing enum values directly to the HW, use switch-case to get the value to be programmed. This is safer and also allows us to change the enum values. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7a16360d56f6846da5a7c8cb50b14e3464ad133a Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Oct 2 17:58:48 2014 +0000 OMAPDSS: DISPC: remove OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES DISPC can drive data lines either on rising or falling pixel clock edge, which can be configured by the user. Sync lines can also be driven on rising or falling pixel clock edge, but additionally the HW can be configured to drive the sync lines on opposite clock edge from the data lines. This opposite edge setting does not make any sense, as the same effect can be achieved by just setting the sync lines to be driven on the other edge compared to the data lines. It feels like some kind of backward compatibility option, even if all DSS versions seem to have the same implementation. To simplify the code and configuration of the signals, and to make the dispc timings more compatible with what is used on other platforms, let's just remove the whole opposite-edge support. The drivers that used OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES setting are changed so that they use the opposite setting from the data edge. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 6246c8b57c1467791fd5b2d25cb5b0b9059cf856 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 16:00:44 2014 +0300 OMAPDSS: TFP410: fix input sync signals TFP410 requires that DE is active high and the data and syncs are driven on rising pixel clock edge. However, at the moment the driver doesn't request such syncs, and the end result is that the sync settings depend on default values, which are not right in all cases. Set the sync values explicitly. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit e566658f2efac45bae7603f56fe44e3211c7c5a8 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Nov 28 14:34:15 2014 +0200 OMAPDSS: fix paddr check for TILER addresses The DISPC driver checks that the buffer address is not 0. However, when using TILER, the address space is TILER specific and 0 is a valid address. Fix the check to allow address of 0 for TILER. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Reported-by: srinivas pulukuru <srinivas.pulukuru@xxxxxx> commit 575ef7f6d5df2aec86f407c76c0b95b3064e4b30 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:27 2015 +0000 ASoC: arizona: Add support for WM8280/WM8281 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2f2b6aa8c5172dc61b4fec4d17387ca71211efdc Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:26 2015 +0000 extcon: arizona: Add support for WM8280/WM8281 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 449c175ec66c4928b7a4eade41170624d4ac63e8 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:25 2015 +0000 gpio: arizona: Add support for WM8280/WM8281 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f7293114b4e4dc1b219cc4fd72078d5108a6443d Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:24 2015 +0000 regulator: arizona-micsupp: Add support for WM8280/WM8281 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c4ac37193eccd941ff53da561d815bdabf591d31 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:23 2015 +0000 Documentation: devicetree: arizona: Add bindings for WM8280 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e5d4ef0d731664b3fe204f4e5e87f5756e848fb1 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:22 2015 +0000 mfd: arizona: Add support for WM8280/WM8281 This adds support for the Wolfson Microelectronics WM8280 and WM8281 codecs. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> [Lee: Minor fixup to remove potentially uninitialised variable. ] Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit af321d2e32b3167129b35856316d4c55126556cf Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Jan 21 00:12:45 2015 +0100 ARM: vf610: use SMP_ON_UP for Vybrid SoC The Vybrid SoC has only one Cortex-A5 core and hence should select the SMP_ON_UP configuration on a SMP kernel. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 92b2ad2c9e18ca2bfa8727af7edcd372d9acaac4 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Feb 24 22:39:04 2015 -0800 ASoC: max98357a: Use standard DAI names Use the standard naming convention for the codec DAI. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5bb400ce4a9b100a2dd3f5db17c4c76877cecade Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Feb 25 21:37:52 2015 +0530 ASoC: Intel: wrap runtime_pm usage count under CONFIG_PM The struct dev_pm_ops defines usage_count only when CONFIG_PM is defined. So we should use this variable only in cases where this falg is true. So we define a local variable and read the value under this flag. In non PM cases, we set this to 1. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fd25cdd15b7f9d1dbddb03e44b82c48d69f24200 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Dec 11 01:42:11 2014 +0200 ARM: shmobile: lager: Add DU HDMI output support Add DT nodes for the ADV7511 HDMI encoder and its HDMI output connector. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3f47da0f32f5e43e6ae901129d5b9c2600011a2c Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Tue Jan 13 15:30:34 2015 +0800 rcu_tree: Avoid touching rnp->completed when a new GP is started In rcu_gp_init(), rnp->completed equals to rsp->completed in THEORY, we don't need to touch it normally. If something goes wrong, it will complain and fixup rnp->completed and avoid oops. This commit thus avoids the normal needless store to rnp->completed. Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ee376dbdf27728a2f3d30e2ba10fa387cc4c645b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jan 10 19:47:10 2015 -0800 rcu: Consolidate rcu_synchronize and wakeme_after_rcu() There are currently duplicate identical definitions of the rcu_synchronize() structure and the wakeme_after_rcu() function. Thie commit therefore consolidates them. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 5d8a4219a0795a321606c51582898223db80e874 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Feb 24 15:33:50 2015 +1100 power_supply core: support use of devres to register/unregister a power supply. Using devm_power_supply_register allows the unregister to happen automatically on error or final put. Signed-off-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 329414c4e7b7506fe3eab545b3fc9e44b7f28a10 Merge: c517d83 e045d20 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Feb 26 10:32:55 2015 +1000 Merge tag 'topic/drm-misc-2015-02-25' of git://anongit.freedesktop.org/drm-intel into drm-next misc atomic and dp macros * tag 'topic/drm-misc-2015-02-25' of git://anongit.freedesktop.org/drm-intel: drm: Adding edp1.4 specific dpcd macros drm/atomic-helpers: make mode_set hooks optional drm/atomic-helper: Rename commmit_post/pre_planes drm/atomic: Rename drm_atomic_helper_commit_pre_planes() state argument drm: If available use atomic state in getcrtc ioctl drm: Add DRM_DEBUG_ATOMIC drm/atomic-helpers: Fix documentation typos and wrong copy&paste drm: Fix the CRTC_STEREO_DOUBLE_ONLY define to include stero modes drm: Fix drm_crtc_vblank_get() documentation commit 1d4a9c17d4d204a159139361e8d4db7f9f267879 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sun Feb 22 21:16:49 2015 -0800 PM / sleep: add configurable delay for pm_test When CONFIG_PM_DEBUG=y, we provide a sysfs file (/sys/power/pm_test) for selecting one of a few suspend test modes, where rather than entering a full suspend state, the kernel will perform some subset of suspend steps, wait 5 seconds, and then resume back to normal operation. This mode is useful for (among other things) observing the state of the system just before entering a sleep mode, for debugging or analysis purposes. However, a constant 5 second wait is not sufficient for some sorts of analysis; for example, on an SoC, one might want to use external tools to probe the power states of various on-chip controllers or clocks. This patch turns this 5 second delay into a configurable module parameter, so users can determine how long to wait in this pseudo-suspend state before resuming the system. Example (wait 30 seconds); # echo 30 > /sys/module/suspend/parameters/pm_test_delay # echo core > /sys/power/pm_test # time echo mem > /sys/power/state ... [ 17.583625] suspend debug: Waiting for 30 second(s). ... real 0m30.381s user 0m0.017s sys 0m0.080s Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 07878248a8dd50355482995f86e756952b979def Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Feb 25 11:43:26 2015 -0800 drm/i915: Ensure crtc_state backpointer is always initialized As we transition to full atomic modesetting, we want to be able to pass intel_crtc_state around in various places that we pass intel_crtc directly today. Ensure that the ->crtc backpointer is properly initialized in case we need to get back to the associated CRTC. Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83d657388a4c7437fcef80c0b75909b2c9dafd01 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Feb 25 13:12:16 2015 -0800 drm/i915: Use enabled value from crtc_state rather than crtc (v2) As vendors transition their drivers from legacy to atomic there's some duplication of data between drm_crtc and drm_crtc_state (since unconverted drivers likely won't have a state structure). i915 is partially converted and does have a crtc->state structure, but still uses direct crtc fields internally in many places, which causes the two sets of data to get out of sync. As of commit commit 31c946e85ce6b48ce0f25e3cdca8362e4fe8b300 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 12:24:17 2015 +0100 drm: If available use atomic state in getcrtc ioctl This way drivers fully converted to atomic don't need to update these legacy state variables in their modeset code any more. Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> the DRM core starts assuming that the presence of a ->state structure implies that it should make use of the values stored there which, on i915, leads to the core code using stale values for CRTC 'enabled' status. Let's switch over to using the state value of 'enable' internally rather than using the drm_crtc field. This ensures that our driver internals are working from the same data that the DRM core is, avoiding mismatches. This patch was generated with Coccinelle using the following semantic patch: <smpl> @@ struct drm_crtc C; struct drm_crtc *CP; @@ ( - C.enabled + C.state->enable | - CP->enabled + CP->state->enable ) // For assignments, we still update the legacy value as well as the state value // so add an extra assignment statement for that. @@ struct drm_crtc C; struct drm_crtc *CP; expression E; @@ ( C.state->enable = E; + C.enabled = E; | CP->state->enable = E; + CP->enabled = E; ) </smpl> The crtc->mode and crtc->hwmode fields should probably be transitioned over as well eventually, but we seem to do an okay job of keeping those up-to-date already so I want to minimize the changes that will clash with Ander's in-progress atomic work. v2: Don't remove the assignments to the legacy value when we assign to the state value. A second cocci stanza takes care of adding the legacy assignment back where appropriate. (Daniel) Cc: Daniel Vetter <daniel@xxxxxxxx> Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 009f33ed6f9d9da0141c2d18b1c7912d2d9be7c1 Merge: d79d210 5b8eb17 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Feb 25 18:13:07 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-02-24 This series contains updates to i40e and i40evf only, which bumps their versions to i40e 1.2.9 and i40evf 1.2.3. Paul fixes i40e_debug_aq() for big endian machines by adding the appropriate LExx_TO_CPU wrappers. Catherine adds a requested speed variable to the link_status to store the last speeds we requested from the firmware and use the advertised speed settings in get_settings in ethtool now that we have it. Due to the new code addition, she also refactors get_settings to improve readability and to accommodate some of the longer lines of code by adding two functions i40e_get_settings_link_up() and i40e_get_settings_link_down(). Carolyn adds a struct to the VSI struct to keep track of RXNFC settings done via ethtool. Adds more information to the interrupt vector names, specifically to the VF misc vector name so that we can distinguish between all the interrupts. Ashish enables the i40evf driver to enable debug prints via ethtool. Mitch updates i40e to enable packet split only when IOMMU is in use, since it shows a distinct advantage over the single-buffer path because it minimizes DMA mapping and unmapping. Also adds the receive routine in use to the features log message to be able to print the receive packet split status. Greg adds the ability to get, set and commit permanently the NPAR partition BW configuration through configfs. Enables an application to query the i40e driver's private flags to get the status of NPAR enablement via ethtool. Neerav adds support for bridge offload ndo_ops getlink and setlink to enable bridge hardware mode as per the mode set via IFLA_BRIDGE_MODE. The support is only enabled in the case of a PF VSI and not available for any other VSI type. Kevin fixes i40e by ensuring the BUF and FLAG_RD flags are set for indirect admin queue command. Vasu updates the driver to setup FCoE netdev device type as "fcoe", so that it shows up in sysfs as FCoE device. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d79d21073626cf022943e5c4c10a97cdf7cb8465 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Feb 24 23:02:02 2015 -0800 net: dsa: Introduce dsa_is_port_initialized To avoid race conditions when using the ds->ports[] array, we need to check if the accessed port has been initialized. Introduce and use helper function dsa_is_port_initialized for that purpose and use it where needed. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb66be1c549a0760500cfad404b3d79a136d0e44 Merge: 92bf200 12f460f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Feb 25 17:04:15 2015 -0500 Merge branch 'sf2_hwbridge' Florian Fainelli says: ==================== net: dsa: integration with SWITCHDEV for HW bridging This patch set provides the DSA and SWITCHDEV integration bits together and modifies the bcm_sf2 driver accordingly such that it works properly with HW bridging. Changes in v3: - add back the null pointer check in dsa_slave_br_port_mask from Guenter - slightly rework patch 1 commit message not to mention the function name we add in patch 2 Changes in v2: - avoid a race condition in how DSA network devices are created, patch from Guenter Roeck - provide a consistent and work STP state once a port leaves the bridge - retain a bridge device pointer to properly flag port/bridge membership - properly flush the ARL (Address Resolution Logic) in bcm_sf2.c - properly retain port membership when individually bringing devices up/down while they are members of a bridge We discussed on the mailing-list the possibility of standardizing a "fdb_flush" operation for DSA switch drivers, looking at the Marvell and Broadcom switches, I am not convinced this is practical or diserable as the terminologies vary here, but there is nothing preventing us from doing it later. Many thanks to Guenter and Andrew for both testing and providing feedback. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12f460f23423e81d6dd3efeb78906ae634ad8fc9 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Feb 24 13:15:34 2015 -0800 net: dsa: bcm_sf2: add HW bridging support Implement the bridge join, leave and set_stp callbacks by making that we do the following: - when a port joins the bridge, all existing ports in the bridge get their VLAN control register updated with that joining port - the joining port is including all existing bridge ports in its own VLAN control register The leave operation is fairly similar, special care must be taken to make sure that port leaving the bridging is not removing itself from its own VLAN control register. Since the various BR_* states apply directly to our HW semantics, we just need to translate these constants into their corresponding HW settings, and voila! We make sure to trigger a fast-ageing process for ports that are joining/leaving the bridge and transition from incompatible states, this is equivalent to triggering an ARL flush for that port. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b73adef67765b72f2a0d01ef15aff9d784dc85da Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Feb 24 13:15:33 2015 -0800 net: dsa: integrate with SWITCHDEV for HW bridging In order to support bridging offloads in DSA switch drivers, select NET_SWITCHDEV to get access to the port_stp_update and parent_get_id NDOs that we are required to implement. To facilitate the integratation at the DSA driver level, we implement 3 types of operations: - port_join_bridge - port_leave_bridge - port_stp_update DSA will resolve which switch ports that are currently bridge port members as some Switch hardware/drivers need to know about that to limit the register programming to just the relevant registers (especially for slow MDIO buses). We also take care of setting the correct STP state when slave network devices are brought up/down while being bridge members. Finally, when a port is leaving the bridge, we make sure we set in BR_STATE_FORWARDING state, otherwise the bridge layer would leave it disabled as a result of having left the bridge. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d87d6f44d7c1254fd9560a5191659cb00882db56 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Feb 24 13:15:32 2015 -0800 net: dsa: Ensure that port array elements are initialized before being used A network device notifier can be called for one or more of the created slave devices before all slave devices have been registered. This can result in a mismatch between ds->phys_port_mask and the registered devices by the time the call is made, and it can result in a slave device being added to a bridge before its entry in ds->ports[] has been initialized. Rework the initialization code to initialize entries in ds->ports[] in dsa_slave_create. With this change, dsa_slave_create no longer needs to return slave_dev but can return an error code instead. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98e1bd4ae68e0a122de21795c946ba36a8259f70 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri Feb 13 11:48:12 2015 +0000 drm/i915: Cache ringbuf pointer in request structure In execlist mode, the ringbuf is a function of the ring and context whereas in legacy mode, it is derived from the ring alone. Thus the calculation required to determine the ringbuf pointer from the ring (and context) also needs to test execlist mode or not. This is messy. Further, the request structure holds a pointer to both the ring and the context for which it was created. Thus, given a request, it is possible to derive the ringbuf in either legacy or execlist mode. Hence it is necessary to pass just the request in to all the low level functions rather than some combination of request, ring, context and ringbuf. However, rather than recalculating it each time, it is much simpler to just cache the ringbuf pointer in the request structure itself. Caching the pointer means the calculation is done once at request creation time and all further code and simply read it directly from the request structure. OTC-Jira: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> [danvet: Drop contentless comment in lrc alloc request entirely. And spelling fix in the commit message.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 881f985a256839de2bb220dea5a4c59b8fa99b82 Author: Pavel Machek <pavel@xxxxxx> Date: Wed Feb 11 11:47:16 2015 +0100 bq2415x_charger, bq27x00_battery.c: comment cleanups Cleanup comments for bq2415x_charger, bq27x00_battery.c. Signed-off-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5e4be7bda1e3ca00c6f49a74991f438c720c6f4e Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri Feb 13 11:48:11 2015 +0000 drm/i915: Add missing trace point to LRC execbuff code path There is a trace point in the legacy execbuffer execution path that is missing from the execlist path. Trace points are extremely useful for debugging and are used by various automated validation tests. Hence, this patch adds the missing trace point back in. OTC-Jira: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 298631e1ecad278f9d442062035d29d9787b6994 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 12:21:05 2015 -0500 ab8500_fg: use jiffies_to_msecs for jiffies conversion Converting jiffies to milliseconds by "val * 1000 / HZ" is technically OK but jiffies_to_msecs(val) is the cleaner solution and handles all corner cases correctly. This is a minor API consolidation only and should make things more readable. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5ae6e2a8f8008dffec3f9d48337ba0bc430a1211 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 12:20:45 2015 -0500 ab8500_fg: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. as timeout is used for wait_for_completion_timeout exclusively here its type is simply changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8e004efc16541e7f6e35673449195db5d1f92f40 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri Feb 13 11:48:10 2015 +0000 drm/i915: Rename 'flags' to 'dispatch_flags' for better code reading There is a flags word that is passed through the execbuffer code path all the way from initial decoding of the user parameters down to the very final dispatch buffer call. It is simply called 'flags'. Unfortuantely, there are many other flags words floating around in the same blocks of code. Even more once the GPU scheduler arrives. This patch makes it more obvious exactly which flags word is which by renaming 'flags' to 'dispatch_flags'. Note that the bit definitions for this flags word already have an 'I915_DISPATCH_' prefix on them and so are not quite so ambiguous. OTC-Jira: VIZ-1587 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> [danvet: Resolve conflict with Chris' rework of the bb parsing.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c75cfa9e27818b67e55ef9153c3f4fb9c867f7f0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Jan 29 15:39:38 2015 +0100 power_supply: ab8500_fg: Simplify creation and removal of sysfs entries Simplify a little ab8500_fg_sysfs_psy_create_attrs () and ab8500_fg_sysfs_psy_remove_attrs() functions because they received pointer to power supply device which was then converted into power supply instance. Then it was converted into struct ab8500_fg. The path looked like: ab8500_fg->psy.dev -> psy -> ab8500_fg Instead just pass pointer to struct ab8500_fg directly so all conversions won't be necessary. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e7143fdb79619b0b452b02f694e4d16649a0c449 Merge: bc35268 a7117f8 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Wed Feb 25 22:18:48 2015 +0100 Merge branch 'fixes' into next commit a7117f81e8391e035c49b3440792f7e6cea28173 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Feb 20 14:32:25 2015 +0100 power_supply: lp8788-charger: Fix leaked power supply on probe fail Driver forgot to unregister charger power supply if registering of battery supply failed in probe(). In such case the memory associated with power supply leaked. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 98a276649358 ("power_supply: Add new lp8788 charger driver") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a2c1d531854c4319610f1d83351213b47a633969 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Feb 20 14:32:24 2015 +0100 power_supply: ipaq_micro_battery: Check return values in probe The return values of create_singlethread_workqueue() and power_supply_register() calls were not checked and even on error probe() function returned 0. 1. If allocation of workqueue failed (returning NULL) then further accesses could lead to NULL pointer dereference. The queue_delayed_work() expects workqueue to be non-NULL. 2. If registration of power supply failed then during unbind the driver tried to unregister power supply which was not actually registered. This could lead to memory corruption because power_supply_unregister() unconditionally cleans up given power supply. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 00a588f9d27f ("power: add driver for battery reading on iPaq h3xxx") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit f852ec461e24504690445e7d281cbe806df5ccef Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Feb 20 14:32:23 2015 +0100 power_supply: ipaq_micro_battery: Fix leaking workqueue Driver allocates singlethread workqueue in probe but it is not destroyed during removal. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 00a588f9d27f ("power: add driver for battery reading on iPaq h3xxx") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 68c3ed6fa7e0d69529ced772d650ab128916a81d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Feb 20 14:32:22 2015 +0100 power_supply: twl4030_madc: Check return value of power_supply_register The return value of power_supply_register() call was not checked and even on error probe() function returned 0. If registering failed then during unbind the driver tried to unregister power supply which was not actually registered. This could lead to memory corruption because power_supply_unregister() unconditionally cleans up given power supply. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: da0a00ebc239 ("power: Add twl4030_madc battery driver.") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit bc352686f6801592b4f4a53d8008e80931684c84 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:54:47 2015 +0100 power_supply: max17042: Use regmap_update_bits instead read and write Consolidate regmap_read() and regmap_write() into one regmap_update_bits() call. This is more readable and safer because regmap's mutex will prevent any concurrent access to modified registers (the concurrent access could happen through max17042_init_chip() in scheduled work). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 52fa74ee690e6491295ac221c83c56563257f294 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:54:46 2015 +0100 power_supply: max17040: Use system efficient workqueues The scheduled work in max17040_battery driver reads device parameters and stores them in memory. Any CPU could do that so use system efficient workqueues to limit unnecessary CPU wake ups. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit dd18a6634606cbaa19ae1e85f5bcb65b9f7dfce4 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:54:45 2015 +0100 power_supply: max14577: Properly handle error conditions Re-work and fix handling of errors when retrieving power supply properties: 1. Return errno values directly from get_property() instead of storing 'unknown' as intval for given property. 2. Handle regmap_read() errors and return errno code. Previously the regmap_read() return code was ignored so an uninitialized value from the stack could be used for calculating the property. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7524741f839e10451b072d2c9fdf525e587ecd46 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:54:44 2015 +0100 power_supply: max14577: Don't store charging and battery states for later Remove caching of charging and battery states in driver's state container because the cached value was not used later. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1ed522b390f423f9cb21ad3414fbe281a32e3ec5 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:54:43 2015 +0100 power_supply: max77693: Properly handle error conditions Re-work and fix handling of errors when retrieving power supply properties: 1. Return errno values directly from get_property() instead of storing 'unknown' as intval for given property. 2. Handle regmap_read() errors when getting 'online' and 'present' proprties and return errno code. Previously the regmap_read() return code was ignored so an uninitialized value from the stack could be used for calculating the property. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 213feb51e5f5bc721fb1b2515a7493559c1a5112 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 17:08:48 2015 +0100 power: Use subdir-ccflags-* to inherit debug flag Use subdir-ccflags-* instead of ccflags-* to inherit the debug settings from Kconfig when traversing subdirectories. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5cd0c76d69a1a4bef3a84c3177216b227a4d2448 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Feb 24 14:17:32 2015 +1100 bq27x00_battery: register as non-wakeup power supply. power_supply status changes for the bq27x00 are only noticed via polling, not via interrupts. So they are never the source of events which should reliably wake the system from suspend. So it is appropriate to register as a no_ws power source, just like the ACPI battery. This removes some debugging messages which occasionally confusingly identify bq27x00 as a wakeup source. Signed-off-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 65ce1c954985e3d9805124d061ce63a63aa625ce Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:52:13 2015 +0100 power_supply: rt5033: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7be72c2c51de78e806a3d854d12c67d80c11a871 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:37 2015 +0000 MAINTAINERS: Include DA9150 files in Dialog Semiconductor support list. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1da9790cbd0bc853f6053e59523b6fe6f6e21d78 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:34 2015 +0000 power: da9150: Add DT binding documentation for charger Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c1a281e34dae41379af86b95592a5ae8e9e3af67 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:32 2015 +0000 power: Add support for DA9150 Charger This patch adds support for DA9150 Charger & Fuel-Gauge IC Charger. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 867fe7c31def6cb523f4df8c312f35577c29883e Merge: 4bf828c adcf30b Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Wed Feb 25 21:17:24 2015 +0100 Merge branch 'da9150-charger-fuelgauge' into next commit cc6405667c633383cf9365731ad91e8a88d39b89 Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Wed Feb 11 12:36:51 2015 +0100 power: ltc2941-battery-gauge: Fix typo in conversion formula (58 instead of 85) The driver reported 30% less than actually measured. This turned out to be caused by a simple typo in the formula to calculate the LSB quantity. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit adcf30bf832bb87d9b44d067b50ac7ed13c99528 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:30 2015 +0000 iio: da9150: Add DT binding documentation for GPADC Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ed5f07b3d3d4344f917658a7f62cf62ccb19cb07 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:28 2015 +0000 iio: Add support for DA9150 GPADC This patch adds support for DA9150 Charger & Fuel-Gauge IC GPADC. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 4bf828cf0f4d320969e6090428f98be13c1f042e Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Wed Feb 11 12:36:51 2015 +0100 power: ltc2941-battery-gauge: Fix typo in conversion formula (58 instead of 85) The driver reported 30% less than actually measured. This turned out to be caused by a simple typo in the formula to calculate the LSB quantity. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 54cf776a9c5c2e6a91de31954bba4d3bad6c657c Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Feb 20 23:17:01 2015 +0100 perf data: Add a 'perf' prefix to the generic fields Some of the tracers bring their own id or pid fields and we can end up having two of them. This patch adds a "perf_" prefix to the 'generic' fields so we avoid a clash of the member names. The change is visible in the babeltrace output: Before: $ babeltrace ./ctf-data/ [03:19:13.962131936] (+0.000001935) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 8 } [03:19:13.962133732] (+0.000001796) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 114 } ... Now: $ babeltrace ./ctf-data/ [03:19:13.962131936] (+0.000001935) cycles: { }, { perf_ip = 0xFFFFFFFF8105443A, perf_tid = 20714, perf_pid = 20714, perf_period = 8 } [03:19:13.962133732] (+0.000001796) cycles: { }, { perf_ip = 0xFFFFFFFF8105443A, perf_tid = 20714, perf_pid = 20714, perf_period = 114 } ... Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424470628-5969-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit edbe9817aeb540aa1494aa20276a2bfc7f4ab816 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Feb 20 23:17:00 2015 +0100 perf data: Add perf data to CTF conversion support Adding 'perf data convert' to convert perf data file into different format. This patch adds support for CTF format conversion. To convert perf.data into CTF run: $ perf data convert --to-ctf=./ctf-data/ [ perf data convert: Converted 'perf.data' into CTF data './ctf-data/' ] [ perf data convert: Converted and wrote 11.268 MB (100230 samples) ] The command will create CTF metadata out of perf.data file (or one specified via -i option) and then convert all sample events into single CTF stream. Each sample_type bit is translated into separated CTF event field apart from following exceptions: PERF_SAMPLE_RAW - added in next patch PERF_SAMPLE_READ - TODO PERF_SAMPLE_CALLCHAIN - TODO PERF_SAMPLE_BRANCH_STACK - TODO PERF_SAMPLE_REGS_USER - TODO PERF_SAMPLE_STACK_USER - TODO $ perf --debug=data-convert=2 data convert ... The converted CTF data could be analyzed by CTF tools, like babletrace or tracecompass [1]. $ babeltrace ./ctf-data/ [03:19:13.962125533] (+?.?????????) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 1 } [03:19:13.962130001] (+0.000004468) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 1 } [03:19:13.962131936] (+0.000001935) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 8 } [03:19:13.962133732] (+0.000001796) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 114 } [03:19:13.962135557] (+0.000001825) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 2087 } [03:19:13.962137627] (+0.000002070) cycles: { }, { ip = 0xFFFFFFFF81361938, tid = 20714, pid = 20714, period = 37582 } [03:19:13.962161091] (+0.000023464) cycles: { }, { ip = 0xFFFFFFFF8124218F, tid = 20714, pid = 20714, period = 600246 } [03:19:13.962517569] (+0.000356478) cycles: { }, { ip = 0xFFFFFFFF811A75DB, tid = 20714, pid = 20714, period = 1325731 } [03:19:13.969518008] (+0.007000439) cycles: { }, { ip = 0x34080917B2, tid = 20714, pid = 20714, period = 1144298 } The following members to the ctf-environment were decided to be added to distinguish and specify perf CTF data: - domain It says "kernel" because it contains a kernel trace (not to be confused with a user space like lttng-ust does) - tracer_name It says perf. This can be used to distinguish between lttng and perf CTF based trace. - version The kernel version from stream. In addition to release, this is what it looks like on a Debian kernel: release = "3.14-1-amd64"; version = "3.14.0"; [1] http://projects.eclipse.org/projects/tools.tracecompass Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424470628-5969-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9603cded0e2cef003a822985d84b5daff1c7232f Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:33:57 2015 +0300 ALSA: cmipci: remove a stray space character Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7f788e0cc07dba7f4eee6ffea30edee3af86e2a5 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:32:45 2015 +0300 ALSA: azt3328: some indenting cleanups A few minor tweaks to make things line up correctly. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f0418d46d6ad25be991d557c6c50d1e61b4ba690 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:32:16 2015 +0300 sound/sb_midi: a couple indenting fixes Let's make things line up a little bit better. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e214e5183d9da3b61f775d3ae7202ea8aa10ebed Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:31:43 2015 +0300 sound/sb_ess: white space cleanups These weren't aligned on the same lines as the surrounding code and the printk was quite messy. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit df403869e35f88e1e45483d31ee70b4aa3ed8896 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:30:36 2015 +0300 sound/oss/opl3: remove some stray whitespace Removed an extra tab and a extra space character. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 19449593d60b75654fe33a98c4fb8ff8a38ac1e0 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:27:10 2015 +0300 sound: sys_timer: indent poll_def_tmr() correctly The indenting here was really whacky and not consistent from one line to the next. I also reverse the "if (opened)" and "if (tmr_running)" tests so that I could remove two indent levels. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 06dc68d68090ce6da12f7fde03e64a32f0f6e5d0 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Feb 24 16:22:37 2015 +0000 drm/i915: Plumb drm_device through page tables operations The next patch in the series will require it for alloc_pt_single. v2: Rebased after s/page_tables/page_table/. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 06fda602dbca9c59d87db7da71192e4b54c9f5ff Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Tue Feb 24 16:22:36 2015 +0000 drm/i915: Create page table allocators As we move toward dynamic page table allocation, it becomes much easier to manage our data structures if break do things less coarsely by breaking up all of our actions into individual tasks. This makes the code easier to write, read, and verify. Aside from the dissection of the allocation functions, the patch statically allocates the page table structures without a page directory. This remains the same for all platforms, The patch itself should not have much functional difference. The primary noticeable difference is the fact that page tables are no longer allocated, but rather statically declared as part of the page directory. This has non-zero overhead, but things gain additional complexity as a result. This patch exists for a few reasons: 1. Splitting out the functions allows easily combining GEN6 and GEN8 code. Page tables have no difference based on GEN8. As we'll see in a future patch when we add the DMA mappings to the allocations, it requires only one small change to make work, and error handling should just fall into place. 2. Unless we always want to allocate all page tables under a given PDE, we'll have to eventually break this up into an array of pointers (or pointer to pointer). 3. Having the discrete functions is easier to review, and understand. All allocations and frees now take place in just a couple of locations. Reviewing, and catching leaks should be easy. 4. Less important: the GFP flags are confined to one location, which makes playing around with such things trivial. v2: Updated commit message to explain why this patch exists v3: For lrc, s/pdp.page_directory[i].daddr/pdp.page_directory[i]->daddr/ v4: Renamed free_pt/pd_single functions to unmap_and_free_pt/pd (Daniel) v5: Added additional safety checks in gen8 clear/free/unmap. v6: Use WARN_ON and return -EINVAL in alloc_pt_range (Mika). v7: Make err_out loop symmetrical to the way we allocate in alloc_pt_range. Also s/page_tables/page_table and correct commit message (Mika) Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v3+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7324cc0491e6c9349cc11edbf6085cc20f64c34e Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Tue Feb 24 16:22:35 2015 +0000 drm/i915: Complete page table structures Move the remaining members over to the new page table structures. This can be squashed with the previous commit if desire. The reasoning is the same as that patch. I simply felt it is easier to review if split. v2: In lrc: s/ppgtt->pd_dma_addr[i]/ppgtt->pdp.page_directory[i].daddr/ v3: Rebase. v4: Rebased after s/page_tables/page_table/. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d7b3de91213698296f2571d68e20d90883344b68 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Tue Feb 24 16:22:34 2015 +0000 drm/i915: page table abstractions When we move to dynamic page allocation, keeping page_directory and pagetabs as separate structures will help to break actions into simpler tasks. To help transition the code nicely there is some wasted space in gen6/7. This will be ameliorated shortly. Following the x86 pagetable terminology: PDPE = struct i915_page_directory_pointer_entry. PDE = struct i915_page_directory_entry [page_directory]. PTE = struct i915_page_table_entry [page_tables]. v2: fixed mismatches after clean-up/rebase. v3: Clarify the names of the multiple levels of page tables (Daniel) v4: Addressing Mika's review comments. s/gen8_free_page_directories/gen8_free_page_directory and free the page tables for the directory there. In gen8_ppgtt_allocate_page_directories, do not leak previously allocated pt in case the page_directory alloc fails. Update error return handling in gen8_ppgtt_alloc. v5: Do not leak pt on error in gen6_ppgtt_allocate_page_tables. (Mika) v6: s/page_tables/page_table/. (Mika) Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2245bf1410d2d719f3bfce729b07ab83fe6142f7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Feb 20 23:16:59 2015 +0100 perf tools: Add new 'perf data' command Adding new 'perf data' command to provide operations over data files. The 'perf data convert' sub command is coming in following patch, but there's possibility for other useful commands like 'perf data ls' (to display perf data file in directory in ls style). Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424470628-5969-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 53d0a57343949b2af9b27229db534b98e5a0c4d0 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Feb 20 23:16:58 2015 +0100 perf tools: Add feature check for libbabeltrace Adding feature check for babeltrace library [1], which will be used for perf data file CTF [2] conversion in following patches. The babeltrace library is now automatically detected as standard feature. It's possible to specify LIBBABELTRACE_DIR make variable to specify location of installed libbabeltrace, like: $ make LIBBABELTRACE_DIR=/opt/libbabeltrace/ BUILD: Doing 'make -j4' parallel build Auto-detecting system features: ... dwarf: [ on ] ... glibc: [ on ] ... gtk2: [ on ] ... libaudit: [ on ] ... libbfd: [ on ] ... libelf: [ on ] ... libnuma: [ on ] ... libperl: [ on ] ... libpython: [ on ] ... libslang: [ on ] ... libunwind: [ on ] ... libbabeltrace: [ on ] ... libdw-dwarf-unwind: [ on ] ... zlib: [ on ] ... DWARF post unwind library: libunwind NOTE The installation of the [1] to to used by above make: $ git clone git://git.efficios.com/babeltrace.git $ cd babeltrace $ vim README $ ./bootstrap $ ./configure --prefix=/opt/libbabeltrace $ make prefix=/opt/libbabeltrace $ sudo make install prefix=/opt/libbabeltrace Please make sure that the /opt/libbabeltrace/lib directory is in your LD_LIBRARY_PATH: $ export LD_LIBRARY_PATH=/opt/libbabeltrace/lib [1] babeltrace - http://www.efficios.com/babeltrace [2] Common Trace Format - http://www.efficios.com/ctf Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424470628-5969-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> [ Added missing babeltrace build instructions ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 85c273d2b6569706762cf400079ca0699e007d81 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Feb 24 15:13:40 2015 -0800 perf record: Support recording running/enabled time Add an option to perf record to record running/enabled time for read events, similar to what stat does. This is useful to understand multiplexing problems. Right now the report support is not great, but at least report -D already supports it. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424819620-16043-1-git-send-email-andi@xxxxxxxxxxxxxx [ Fixed the Documentation entry to match the OPT_BOOLEAN one ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7ad14a29f0051ba4b631fb8ab3013e4577ffee95 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Wed Feb 25 10:29:12 2015 +0530 drm/i915/skl: Add support for edp1.4 low vswing Based upon vbt's vswing preemph settings value select the appropriate translations for edp. v2: Incorporating bspec changes for vswing and preemph levels, adding edp translation table. Removed HSW from selection 9 which is specific to skl and correcting the returning of level2 from max pre emph (Damien) v3: Rebasing on top of renaming patches. Adding level(3,0) since level(2,2) as mentioned in bspec is invalid as per edp spec. Also changed the determining of size of the table selected (Satheesh). v4: Adding level 3 in max voltage selection if low vswing is selected (Satheesh) v5: Add a comment stating that skl_ddi_translations_edp is for eDP 1.4 low vswing panels. v6: Updating recommended DDI translation table for edp 1.4 Reviewed-by: Satheeshakrishna M <satheeshakrishna.m@xxxxxxxxx> (v4) Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v6) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9a57f5bb717f9f171c7c18edabc4682fde3f67f3 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Wed Feb 25 10:29:11 2015 +0530 drm/i915/skl: Support for edp low_vswing param in vbt v2: Adding VBT version check for low_vswing field, and correcting parsing v3: (Damien) - Restrain the scope of the 'vswing' variable - Use the more idiomatic "ev_priv->vbt.edp_low_vswing = vswing == 0;" instead of if (foo) var = true; else var = false; - Shorten edp_vswing_premph_setting to edp_vswing_premph to fit in 80 chars - Add the version from which the edp_vswing_premph field is valid in the struct definition Reviewed-by: Satheeshakrishna M <satheeshakrishna.m@xxxxxxxxx> (v2) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f097deef59a60109648efd48f6c9fe7f56966938 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Tue Feb 24 17:36:50 2015 -0800 HID: rmi: disable palm detect gesture when present A touchpad may have firmware based palm detection code enabled which suppresses 2D data from being reported when the firmware believes a palm is on the touchpad. This functionality is meant to be used in mouse mode without a driver. When a driver is present, the driver can do a better job of determining if a contact is a palm. If this gesture is enabled on a touchpad operating in rmi mode then the firmware will not properly clear the palm detect interrupt, causing the touchpad to interrupt indefinately. This patch disables the palm detect gesture when the touchpad is operating in rmi mode. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 05ba999fcabb747214d177279de55f00a74850d4 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Tue Feb 24 17:36:49 2015 -0800 HID: rmi: disable dribble packets on Synaptics touchpads When a finger is lifted from a Synaptics touchpad the firmware will continue to interrupts for up to a second. These additional interrupts are know and dribble interrupts. Since the data read from the touchpad does not change the input subsystem only reports a single event. This makes the servicing of dribble interrupts on Linux unnecessary. This patch simply disables dribble interupts when configuring the touchpad. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dd8df28459dcad4da5dec94d12801b149a895c36 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Tue Feb 24 17:36:48 2015 -0800 HID: rmi: Add functions for writing to registers Writing to registers is needed for setting configuration parameters. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit ad8d40cda3ad22ad9e8863d55a5c88f85c0173f0 Author: Michal Marek <mmarek@xxxxxxx> Date: Tue Feb 24 16:37:13 2015 +0100 kconfig: Remove unnecessary prototypes from headers Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 463157444e377bf9b279101b1f16a94c4648c03a Author: Michal Marek <mmarek@xxxxxxx> Date: Tue Feb 24 16:32:09 2015 +0100 kconfig: Remove dead code Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 70529b1a1784503169416df19ce3d68746401340 Author: Michal Marek <mmarek@xxxxxxx> Date: Tue Jan 27 17:11:42 2015 +0100 kconfig: Get rid of the P() macro in headers This was originally meant for dlopen()ing a potential kconfig shared library. The unused dlopen code has already been removed in commit 5a6f8d2b (kconfig: nuke LKC_DIRECT_LINK cruft), so let's remove the rest. The lkc_proto.h change was made with the following sed script: sed -r 's/^P\(([^,]*), *([^,]*), *(.*)\);/\2 \1\3;/' Plus some manual adjustments. Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 4980bdf0213c9b5f876551b2ceb8ed8ece30deaf Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Wed Dec 3 15:55:49 2014 +0900 kconfig: fix a misspelling in scripts/kconfig/merge_config.sh Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ba0635ffb7665d76715b43ae8144e014a90c1e63 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:17:48 2015 +0300 drm/i915: cleanup some indenting Static checkers complain that we should probably add curly braces because, from the indenting, it looks like seq_printf() should be inside the list_for_each_entry() loop. But the code is actually correct, it's just the indenting which is off. Besides fixing the indenting on seq_printf(), I did add curly braces, because generally mult-line indents should have curly braces to make them more readable. The unintended indent was left behind and not unindented in commit d7f46fc4e7323887494db13f063a8e59861fefb0 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Fri Dec 6 14:10:55 2013 -0800 drm/i915: Make pin count per VMA Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b205455ccd1aa7bda065c4c5d9362f53a831d85 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Sep 19 16:59:00 2014 +0000 OMAPDSS: HDMI5: Increase DDC SDA-HOLD time It has been observed that the current SDA-HOLD time is too short for some board/cable/monitor combinations. Increase the SDA-HOLD time to 1000ns. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 1511c75be01d0511df36096561ef2cbaaa36fa07 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 17:56:43 2014 +0000 OMAPDSS: fix AM43xx minimum pixel clock divider AM43xx supports pixel clock divider of 1, just like all OMAP3+ SoCs. Fix the minimum divider value. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 59bf7fd45c90a8fde22a7717b5413e4ed9666c32 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:48 2015 +0000 perf/x86/intel: Enable conflicting event scheduling for CQM We can leverage the workqueue that we use for RMID rotation to support scheduling of conflicting monitoring events. Allowing events that monitor conflicting things is done at various other places in the perf subsystem, so there's precedent there. An example of two conflicting events would be monitoring a cgroup and simultaneously monitoring a task within that cgroup. This uses the cache_groups list as a queuing mechanism, where every event that reaches the front of the list gets the chance to be scheduled in, possibly descheduling any conflicting events that are running. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-10-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bff671dba7981195a644a5dc210d65de8ae2d251 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:47 2015 +0000 perf/x86/intel: Perform rotation on Intel CQM RMIDs There are many use cases where people will want to monitor more tasks than there exist RMIDs in the hardware, meaning that we have to perform some kind of multiplexing. We do this by "rotating" the RMIDs in a workqueue, and assigning an RMID to a waiting event when the RMID becomes unused. This scheme reserves one RMID at all times for rotation. When we need to schedule a new event we give it the reserved RMID, pick a victim event from the front of the global CQM list and wait for the victim's RMID to drop to zero occupancy, before it becomes the new reserved RMID. We put the victim's RMID onto the limbo list, where it resides for a "minimum queue time", which is intended to save ourselves an expensive smp IPI when the RMID is unlikely to have a occupancy value below __intel_cqm_threshold. If we fail to recycle an RMID, even after waiting the minimum queue time then we need to increment __intel_cqm_threshold. There is an upper bound on this threshold, __intel_cqm_max_threshold, which is programmable from userland as /sys/devices/intel_cqm/max_recycling_threshold. The comments above __intel_cqm_rmid_rotate() have more details. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-9-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bfe1fcd2688f557a6b6a88f59ea7619228728bd7 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:46 2015 +0000 perf/x86/intel: Support task events with Intel CQM Add support for task events as well as system-wide events. This change has a big impact on the way that we gather LLC occupancy values in intel_cqm_event_read(). Currently, for system-wide (per-cpu) events we defer processing to userspace which knows how to discard all but one cpu result per package. Things aren't so simple for task events because we need to do the value aggregation ourselves. To do this, we defer updating the LLC occupancy value in event->count from intel_cqm_event_read() and do an SMP cross-call to read values for all packages in intel_cqm_event_count(). We need to ensure that we only do this for one task event per cache group, otherwise we'll report duplicate values. If we're a system-wide event we want to fallback to the default perf_event_count() implementation. Refactor this into a common function so that we don't duplicate the code. Also, introduce PERF_TYPE_INTEL_CQM, since we need a way to track an event's task (if the event isn't per-cpu) inside of the Intel CQM PMU driver. This task information is only availble in the upper layers of the perf infrastructure. Other perf backends stash the target task in event->hw.*target so we need to do something similar. The task is used to determine whether events should share a cache group and an RMID. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Cc: linux-api@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1422038748-21397-8-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 35298e554c74b7849875e3676ba8eaf833c7b917 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:45 2015 +0000 perf/x86/intel: Implement LRU monitoring ID allocation for CQM It's possible to run into issues with re-using unused monitoring IDs because there may be stale cachelines associated with that ID from a previous allocation. This can cause the LLC occupancy values to be inaccurate. To attempt to mitigate this problem we place the IDs on a least recently used list, essentially a FIFO. The basic idea is that the longer the time period between ID re-use the lower the probability that stale cachelines exist in the cache. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-7-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4afbb24ce5e723c8a093a6674a3c33062175078a Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:44 2015 +0000 perf/x86/intel: Add Intel Cache QoS Monitoring support Future Intel Xeon processors support a Cache QoS Monitoring feature that allows tracking of the LLC occupancy for a task or task group, i.e. the amount of data in pulled into the LLC for the task (group). Currently the PMU only supports per-cpu events. We create an event for each cpu and read out all the LLC occupancy values. Because this results in duplicate values being written out to userspace, we also export a .per-pkg event file so that the perf tools only accumulate values for one cpu per package. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-6-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cbc82b17263877ea5d21e84c58ce03f0292458a1 Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Date: Fri Jan 23 18:45:43 2015 +0000 x86: Add support for Intel Cache QoS Monitoring (CQM) detection This patch adds support for the new Cache QoS Monitoring (CQM) feature found in future Intel Xeon processors. It includes the new values to track CQM resources to the cpuinfo_x86 structure, plus the CPUID detection routines for CQM. CQM allows a process, or set of processes, to be tracked by the CPU to determine the cache usage of that task group. Using this data from the CPU, software can be written to extract this data and report cache usage and occupancy for a particular process, or group of processes. More information about Cache QoS Monitoring can be found in the Intel (R) x86 Architecture Software Developer Manual, section 17.14. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chris Webb <chris@xxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jacob Shin <jacob.w.shin@xxxxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Steven Honeyman <stevenhoneyman@xxxxxxxxx> Cc: Steven Rostedt <srostedt@xxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-5-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 79dff51e900fd26a073be8b23acfbd8c15edb181 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:42 2015 +0000 perf: Move cgroup init before PMU ->event_init() The Intel QoS PMU needs to know whether an event is part of a cgroup during ->event_init(), because tasks in the same cgroup share a monitoring ID. Move the cgroup initialisation before calling into the PMU driver. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-4-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eacd3ecc34472ce3751eedfc94e44c7cc6eb6305 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:41 2015 +0000 perf: Add ->count() function to read per-package counters For PMU drivers that record per-package counters, the ->count variable cannot be used to record an accurate aggregated value, since it's not possible to perform SMP cross-calls to cpus on other packages from the context in which we update ->count. Introduce a new optional ->count() accessor function that can be used to customize how values are collected. If a PMU driver doesn't provide a ->count() function, we fallback to the existing code. There is necessarily a window of staleness with this approach because the task that generated the counter value may not have been scheduled by the cpu recently. An alternative and more complex approach would be to use a hrtimer to periodically refresh the values from a more permissive scheduling context. So, we're trading off complexity for accuracy. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-3-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 39bed6cbb842d8edf5a26b01122b391d36775b5e Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:40 2015 +0000 perf: Make perf_cgroup_from_task() global Move perf_cgroup_from_task() from kernel/events/ to include/linux/ along with the necessary struct definitions, so that it can be used by the PMU code. When the upcoming Intel Cache Monitoring PMU driver assigns monitoring IDs to perf events, it needs to be able to check whether any two monitoring events overlap (say, a cgroup and task event), which means we need to be able to lookup the cgroup associated with a task (if any). Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-2-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a35c5d1aa96aa6cc70e91786cbe9be4db23f8f4a Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Fri Jan 30 14:25:45 2015 -0800 iio: imu: inv_mpu6050: Create mux clients for ACPI This is a follow up patches after adding i2c mux adapter for bypass mode. Potentially many different types of sensor can be attached to INVMPU6XXX device, which can be connected to main cpu i2c bus in bypass mode. Why do we need this? The system ACPI table entry will consist of only one device for INV6XXX, assuming that this driver will handle all connected sensors. That is not true for the Linux driver. There are bunch of IIO drivers for each sensors, hence we created a mux on this device. So to load these additional drivers, we need to create i2c devices for them in this driver using this mux adapter. There are multiple options: 1. Use the auto detect feature, this needs a new i2c class for the adapter as the existing HWMON class is not acceptable. Also the autodetect has overhead of executing detect method for each matching class of adapters. This is a simple implementation. This option was previously submitted with not a happy feedback. 2. Option is use ACPI magic and parse the configuration data. What we need to create a i2c device at a minimum is address and a name. Address can be obtained for secondary device in more or less in a standard way from using _CRS element. But there is no name. To get name we need to process proprietary vendor data. Not having name is not fun, as you have to create device using the device name of INVN6XXXX, respecting driver duplicate name space restriction. Also each client driver needs to have this name in the id table. Since multiple driver can be loaded, the driver should be able to detect its presence and gracefully exit for the other client driver to take it over. So we use two step process: - Use DMI to id platform and parse propritery data. This is not uncommon for many x86 platform specific driver. We will get both name and address. The change created necessary infrastructure to add more properitery vendor data parsing. - If DMI match fails, then create device on INV6XXX-client (we can't create with same name as INV6XXX as it will cause duplicate name and driver model will reject.) With this each client sensor driver which needs to get attached via INV6XXXX, need this name in the id table and detect the physical presence of sensor in probe and exit if not found. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9820d88332095bc4b5ef67799e149472fcb9aa40 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:41:49 2015 +0100 iio: jsa1212: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 15313309cbfe0ebba7f660677d2625abe27fb077 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:41:48 2015 +0100 staging:iio:hmc5843: Constify register tables and struct regmap_config The regmap_access_table and regmap_config structures may be const because they are not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2e25b0ecf6d5fe8f5ebd244ef888397392f8ae07 Author: Semen Protsenko <semen.protsenko@xxxxxxxxxxxxxxx> Date: Sat Jan 24 22:28:39 2015 +0200 ARM: OMAP2+: gpmc: make gpmc_cs_get_name() static Fix sparse warning: warning: symbol 'gpmc_cs_get_name' was not declared. Should it be static? Signed-off-by: Semen Protsenko <semen.protsenko@xxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 9c4f757ee9c64623efec61672305f87452f68968 Author: Semen Protsenko <semen.protsenko@xxxxxxxxxxxxxxx> Date: Sat Jan 24 22:28:38 2015 +0200 ARM: OMAP2+: gpmc: Fix writing in gpmc_cs_set_memconf Some GPMC_CONFIG7 register bits marked as "RESERVED", means they shouldn't be overwritten. A typical approach to handle such bits called "Read-Modify-Write". Writing procedure used in gpmc_cs_set_memconf() utilizes RMW technique, but implemented incorrectly. Due to obvious typo in code read register value is being rewritten by another value, which leads to loss of read RESERVED bits. This patch fixes this. While at it, replace magic numbers with named constants to improve code readability. Signed-off-by: Semen Protsenko <semen.protsenko@xxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 5b8eb1766ff2a1a768246a1499f3531827875e68 Author: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Date: Fri Feb 6 08:52:21 2015 +0000 i40e/i40evf: Update driver versions Bump i40e to 1.2.9 and i40evf 1.2.3 Also update the copyright year. Change-ID: I345d777e94abd0acffe6a28793f675d251a86299 Signed-off-by: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 72c6fb4f74b6b3797f5b1abd6944d7a1d2adbf04 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Feb 24 16:01:39 2015 -0800 x86/ia32-compat: Fix CLONE_SETTLS bitness of copy_thread() CLONE_SETTLS is expected to write a TLS entry in the GDT for 32-bit callers and to set FSBASE for 64-bit callers. The correct check is is_ia32_task(), which returns true in the context of a 32-bit syscall. TIF_IA32 is set if the task itself has a 32-bit personality, which is not the same thing. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Link: http://lkml.kernel.org/r/45e2d0d695393d76406a0c7225b82c76223e0cc5.1424822291.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 08571f1ae327bfb631cb7171bde5ea605df626c6 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Feb 24 16:01:38 2015 -0800 x86/ptrace: Remove checks for TIF_IA32 when changing CS and SS The ability for modified CS and/or SS to be useful has nothing to do with TIF_IA32. Similarly, if there's an exploit involving changing CS or SS, it's exploitable with or without a TIF_IA32 check. So just delete the check. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Link: http://lkml.kernel.org/r/71c7ab36456855d11ae07edd4945a7dfe80f9915.1424822291.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a21a007b6420649d7bcdebbbbd43d24f648af6b Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Fri Feb 6 08:52:20 2015 +0000 i40evf: Add more info to interrupt vector names This patch adds the netdev name to the VF misc vector name. Without this patch, all the interrupts show the same info, so it difficult to distinguish them. Change-ID: I247828697e1373ecfb5f8dc1bc9618e98a7f4942 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 118e4e6a716836378f89b66609ad50f79fd74f33 Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Thu Feb 19 10:43:10 2015 -0500 ARM: shmobile: r8a7791: Fix HSUSB clock to hp_clk from mp_clk HSUSB uses hp_clk rather than mp_clk for H/W register access. Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> [horms: updated changelog] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b621f6d458e9d6315205d5667b9eb5592ef0433c Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Thu Feb 19 10:42:55 2015 -0500 ARM: shmobile: r8a7790: Fix HSUSB clock to hp_clk from mp_clk HSUSB uses hp_clk rather than mp_clk for H/W register access. Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> [horms: updated changelog] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e849b0650d4375996bfb7df70a641e2ad45a425f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 24 02:20:52 2015 +0000 ARM: shmobile: r8a7791: tidyup SDHI register size on DTSI r8a7791 SDHI ch0/ch1 has SD_DMACR which is located in 0x324. This patch updates register size Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 66f47ed0e86d823b57ff9ab39ab18640fa053155 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 24 02:20:37 2015 +0000 ARM: shmobile: r8a7790: tidyup SDHI register size on DTSI r8a7790 SDHI ch0/ch1 has SD_DMACR which is located in 0x324. This patch updates register size Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ae67fa2f8b29aa0bb443ee213991f4b712d58faa Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Feb 24 02:20:19 2015 +0000 ARM: shmobile: r8a7791: Reference DMA channels in SDHI DT nodes Add references to the transmit and receive DMA channels in the three SDHI nodes. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 941fe36b4071ddfd6c793bfaeed1d051175d4d80 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Feb 24 02:20:03 2015 +0000 ARM: shmobile: r8a7790: Reference DMA channels in SDHI DT nodes Add references to the transmit and receive DMA channels in the four SDHI nodes. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 914d7d148411997c2f76f689338d27c362300b7a Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 19 18:48:03 2015 +0100 ARM: shmobile: r8a73a4: Remove legacy code All r8a73a4 boards are now used with multiplatform kernels only. We can remove all the unused r8a73a4 legacy device and clock registration code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7e45ab44087c026398ff4d63c462f724b2c78deb Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Feb 6 08:52:19 2015 +0000 i40e: Use ethtool private flags to display NPAR status Allow an application to query the i40e driver's private flags to get the status of NPAR enablement. This will be used by applications to determine if there are NPAR specific features available. Change-ID: Ia6d9477a48f9c4cb41ca022bd433f77da3f2146c Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7b9ad9a0ab82be3cb0607d5242584a4a4948e89c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:43:02 2015 +0100 ARM: shmobile: r8a73a4 dtsi: Add PM domain support Add a device node for the System Controller, with subnodes that represent the hardware power area hierarchy. Hook up all devices to their respective PM domains. Add a minimal device node for the Coresight-ETM hardware block, and hook it up to the D4 PM domain, so the R-Mobile System Controller driver can keep the domain powered, until the new Coresight code handles runtime PM. The System Controller is also used by the R-Mobile Reset driver, which can now restart the system. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 212c23924c09aa63ea4f2358875eee7feb1ce37d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 24 15:09:24 2015 +0100 ARM: shmobile: defconfig: Drop useless SERIAL_8250_EXTENDED=y SERIAL_8250_EXTENDED only serves as a guard for other Kconfig options, none of which is enabled in shmobile_defconfig. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3b38cd17f8a022fdcc99342301bce52bf79a87a4 Author: Kevin Scott <kevin.c.scott@xxxxxxxxx> Date: Fri Feb 6 08:52:18 2015 +0000 i40e: Set FLAG_RD when sending buffer FW must read Set FLAG_RD for send_driver_version AQ command. Change-ID: I8253051eff85a1d4b5a4e12ce0395b65ceb91e62 Signed-off-by: Kevin Scott <kevin.c.scott@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit aba237d12473bb99414fe383ed762272eb900c94 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Feb 6 08:52:17 2015 +0000 i40e: print Rx packet split status Add the RX routine in use to the features log message. Change-ID: Ifbbf28fb7f42b9a3d2828586488e9e6331107dd5 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ccafbce41b55e6c3726b5b2ee561e1bf6659d279 Author: Vasu Dev <vasu.dev@xxxxxxxxx> Date: Mon Feb 9 18:00:30 2015 +0000 i40e: setup FCoE device type Setup FCoE netdev device type as "fcoe", so that it shows up in sysfs as FCoE device. Change-ID: Ie13a1a332dba4d5802586926104ee01ef20da44f Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a6db5a4d011097ae16449f25f51d2fbbc2942fc8 Author: Kevin Scott <kevin.c.scott@xxxxxxxxx> Date: Fri Feb 6 08:52:15 2015 +0000 i40e: Set BUF flag for Set Version AQ command BUF flag must be set for indirect AQ command. Change-ID: I6819718a47baf69d1a91ebaed89f735ed6e86025 Signed-off-by: Kevin Scott <kevin.c.scott@xxxxxxxxx> Acked-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 51616018dd1b49d4974fff92669606e97080f954 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Fri Feb 6 08:52:14 2015 +0000 i40e: Add support for getlink, setlink ndo ops Add support for bridge offload ndo_ops getlink and setlink to enable bridge hardware mode as per the mode set via IFLA_BRIDGE_MODE. The support is only enabled in case of a PF VSI and not available for any other VSI type. By default the i40e driver inserts a bridge as part of the bring-up when a FDIR type VSI and/or a FCoE VSI is created. This bridge is created in VEB mode by default i.e. after creating the bridge using "Add VEB" AQ command the loopback for the PF's default VSI is enabled. The patch adds capability where all the VSIs created as downlink to the bridge inherits the loopback property and enables loopback only if the uplink bridge is operating in VEB mode. Hence, there is no need to explicitly enable loopback as part of allocating resources for SR-IOV VFs and call to do that has been removed. In case a user-request is made either via "bridge" utility or using the bridge netlink interface that requires to change the hardware bridge mode then that would require a PF reset and rebuild of the switch hierarchy. Also update the copyright year. Change-ID: I4d78fc1c83158efda29ba7be92239b74f75d6d25 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Tested-By: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 96664483a38d25b37de8911e2058b1d10af3d113 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Feb 6 08:52:13 2015 +0000 i40e: Implement configfs for NPAR BW configuration Add configfs controls to get, set and commit NPAR BW configurations. We export three controls: min_bw - Can take a value from 0 to 100 inclusive max_bw - Can take a value from 1 to 100 inclusive commit - A write-only control that accepts only a value of 1 and will cause the BW settings to be permanently committed to NVM so that they are persistent across power cycles and system resets The BW values are relative and are expressed as percentages. For more information on the interpretation of the BW settings see the Dell specifications for NPAR. Also update the copyright year. Change-ID: Id7496ca65630b5037e32ba6a5a748fbc1632881b Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-By: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f4492db16df8a027cebc209c3905cbe421b53d3a Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Feb 6 08:52:12 2015 +0000 i40e: Add NPAR BW get and set functions We need to be able to get, set and commit permanently the NPAR partition BW configuration through configfs. These are necessary precursor functions for that feature. Also update the copyright year. Change-ID: I9d5ca160a9288145f1dd2042994028679fff55f3 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2bc7ee8ac5439efec66fa20a8dc01c0a2b5af739 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Feb 6 08:52:11 2015 +0000 i40e: enable packet split only when IOMMU present When an IOMMU is in use, the packet split receive path shows a distinct advantage over the single-buffer path because it minimizes DMA mapping and unmapping. However, this is not an advantage for systems with no IOMMU. At init time, check to see if an IOMMU is enabled and enable packet split receives. Change-ID: I4f70d2e9c31bbea3dc8fd0c5734959a6e6602210 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0e888980a3c4f4751d0898ca9153285199224ff8 Author: Ashish Shah <ashish.n.shah@xxxxxxxxx> Date: Fri Feb 6 08:52:10 2015 +0000 i40evf: allow enabling of debug prints via ethtool Copy setting from ethtool to the HW specific struct to actually enable prints. Change print from i40e to i40evf to differentiate drivers in bare metal scenarios. Also update the copyright year. Change-ID: I06fee26247299a08f2e1c70fc811a9ea0931c4dd Signed-off-by: Ashish Shah <ashish.n.shah@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d752c364571743d696c2a54a449ce77550c35ac5 Author: Marcelo Ricardo Leitner <mleitner@xxxxxxxxxx> Date: Mon Feb 23 15:02:34 2015 -0300 ipvs: allow rescheduling of new connections when port reuse is detected Currently, when TCP/SCTP port reusing happens, IPVS will find the old entry and use it for the new one, behaving like a forced persistence. But if you consider a cluster with a heavy load of small connections, such reuse will happen often and may lead to a not optimal load balancing and might prevent a new node from getting a fair load. This patch introduces a new sysctl, conn_reuse_mode, that allows controlling how to proceed when port reuse is detected. The default value will allow rescheduling of new connections only if the old entry was in TIME_WAIT state for TCP or CLOSED for SCTP. Signed-off-by: Marcelo Ricardo Leitner <mleitner@xxxxxxxxxx> Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 88eee9bc540683b425033ec494afe1219e5df054 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Fri Feb 6 08:52:09 2015 +0000 i40e: Add method to keep track of current rxnfc settings This patch adds a struct to the VSI struct to keep track of rxnfc settings done via ethtool. Without this patch, the device can only list the options available, not the current settings and this is not clear to the user. Without current settings, the available settings never changing looks like a bug. Also update the copyright year. Change-ID: I087bbfdb33b330496a671630a7586773e3b3e589 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e827845c7deefbd9b6530ec1c91c0215b0ed4a7a Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Feb 6 08:52:08 2015 +0000 i40e/i40evf: Use advertised speed settings in ethtool and refactor get_settings Add a requested speed variable to the link_status struct to store the last speeds we requested from the firmware (the speeds the FW will be advertising with if autoneg is enabled). Use the advertised speed settings in get_settings in ethtool now that we have it. Also set the requested speed settings in set_settings in ethtool as they are requested and initialize them in probe based on what the firmware remembers as the last requested speeds. To accommodate some longer lines in this new code, and improve readability I have added two functions i40e_get_settings_link_up and i40e_get_settings_link_down which get_settings now calls first. It then does all of the settings that happen regardless of link state. Some PHY types that supported the same settings were also combined. Also update the copyright year. Change-ID: Ica0c5ac81b6069ea6a7406fce7482f7816d4455c Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f1abd7dbb38535ab6ac6ba9ac81714118562cadf Author: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Date: Fri Feb 6 08:52:07 2015 +0000 i40e/i40evf: Fix output of i40e_debug_aq() for big endian machines The function i40e_debug_aq() prints information helpful in debugging admin queue commands, but it doesn't do so correctly on big endian machines. This patch adds the appropriate LExx_TO_CPU wrappers for big endian architectures. Also update the copyright year. Change-ID: I4b2dc229ed5bf6dfe35632a58cddf53c21aff4b0 Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ba599aca520d6005138d1e5edb125fb83a130141 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Feb 25 11:44:11 2015 +1100 md: fix error paths from bitmap_create. Recent change to bitmap_create mishandles errors. In particular a failure doesn't alway cause 'err' to be set. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 43da0d92ab7d05dd817bb6f3381629162bf25ecd Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:43:51 2015 +0200 staging: fbtft: fix space prohibited before that ',' This patch fixes the following checkpatch.pl error: space prohibited before that ',' Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 171c44fcbbf243a327cd2667a74b59b871489b91 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Feb 17 19:48:51 2015 +0200 staging: fbtft: fix spacing errors This patch fixes the following checkpatch.pl errors for the file fb_bd663474.c: ERROR: space prohibited before that close parenthesis ')' ERROR: space prohibited after that open parenthesis '(' ERROR: space required after that ',' Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce5aebd67848fd319c61cfa5248be4a0ec5646c7 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Tue Feb 17 20:20:54 2015 +0530 Staging: emxx_udc: Convert from __attribute__((aligned(size))) to __aligned(size) This patch addresses the checkpatch.pl warning WARNING: __aligned(size) is preferred over __attribute__((aligned(size))) aligned(x) is a macro : #define __aligned(x) __attribute__((aligned(x))) Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a0721bf84da588bec013220f74563add71c0bbe Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Fri Feb 20 18:43:53 2015 +0530 staging: emxx_udc: Replace GFP_KERNEL with GFP_ATOMIC To avoid deadlock, do not call blocking functions with spinlocks held. Replace GFP_KERNEL with GFP_ATOMIC, as the latter will fail if the pile doesn't have enough free pages but will not sleep and hence deadlock can be avoided. Found by Coccinelle. Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 371ec40392e2a774f4b6a637c30bf0d010607578 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 16 20:25:03 2015 +0530 Staging: dgnc: Fix warning of code style This patch fixes checkpatch.pl WARNING: Line longer than 80 chars. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e39ab27fbc30c4aba0db8799e63c92e57cd7d46 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Tue Feb 17 00:10:44 2015 +0530 Staging: dgnc: Removed trailing whitespace to improve readability. Removed trailing whitespaces to improve code readability and remove checkpatch warning. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 985d251b7e508b5358c38b456012c34dc031a95f Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Tue Feb 17 02:44:42 2015 +0530 Staging: dgnc: Indented code to increase readability Indented code and fixed checkpatch warning to enhance readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92bf200881d978bc3c6a290991ae1f9ddc7b5411 Author: Tino Reichardt <milky-kernel@xxxxxxxxx> Date: Tue Feb 24 10:28:01 2015 -0800 net: via-rhine: add BQL support Add Byte Queue Limits (BQL) support to via-rhine driver. [edumazet] tweaked patch and changed TX_RING_SIZE from 16 to 64 Signed-off-by: Tino Reichardt <milky-kernel@xxxxxxxxx> Tested-by: Jamie Gloudon <jamie.gloudon@xxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49e64dcda22157bc0a8623db1be153d89b3e82af Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Tue Feb 24 12:01:25 2015 +0000 ipv6: remove dead debug code from ip6_tunnel.c The IP6_TNL_TRACE macro is no longer used anywhere in the code so remove definition. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ff3ac060fb6b56aefa9ab6e815805addc4aa867 Merge: 2a12d6c 14c9551 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Feb 24 16:05:54 2015 -0500 Merge branch 'bonding-next' Mahesh Bandewar says: ==================== (Shortened) Bonding patch series I'm shortening the earlier patch series to just two patches at this moment. Andy is going to integrate remaining 3 patches with his netlink changes and post the completed patches. These two patches are the same one from the previous patch series with some styling changes (Dave Miller's suggestions) for the churn-machine patch. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14c9551a32eba086c9f20c9d6a8e378481f15333 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Mon Feb 23 17:50:11 2015 -0800 bonding: Implement port churn-machine (AD standard 43.4.17). The Churn Detection machines detect the situation where a port is operable, but the Actor and Partner have not attached the link to an Aggregator and brought the link into operation within a bound time period. Under normal operation of the LACP, agreement between Actor and Partner should be reached very rapidly. Continued failure to reach agreement can be symptomatic of device failure. Actor-churn-detection state-machine Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> =================================== BEGIN=True + PortEnable=False | v +------------------------+ ActorPort.Sync=True +------------------+ | ACTOR_CHURN_MONITOR | ---------------------> | NO_ACTOR_CHURN | |========================| |==================| | ActorChurn=False | ActorPort.Sync=False | ActorChurn=False | | ActorChurn.Timer=Start | <--------------------- | | +------------------------+ +------------------+ | ^ | | ActorChurn.Timer=Expired | | ActorPort.Sync=True | | | +-----------------+ | | | ACTOR_CHURN | | | |=================| | +--------------> | ActorChurn=True | ------------+ | | +-----------------+ Similar for the Partner-churn-detection. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb54e58929f3ce9fe4da719ff2f3264f14214b3a Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Mon Feb 23 17:50:10 2015 -0800 bonding: Verify RX LACPDU has proper dest mac-addr The 802.1AX standard states: "The DA in LACPDUs is the Slow_Protocols_Multicast address." This patch enforces that and drops LACPDUs with destination MAC addresses other than Slow_Protocols_Multicast address Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80958155d684c917a954c24951d590bec942dbaf Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 13:35:10 2015 +0000 drm/i915/skl: Make sure to allocate mininum sizes in the DDB I overlooked the fact that we need to allocate a minimum 8 blocks and that just allocating the planes depending on how much they need to fetch from the DDB in proportion of how much memory bw is necessary for the whole display can lead to cases where we don't respect those minima (and thus overrun). So, instead, start by allocating 8 blocks to each active display plane and then allocate the remaining blocks like before. v2: Rebase on top of -nightly Cc: Mahesh Kumar <mahesh1.kumar@xxxxxxxxx> 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 506740654db4fa5b6e1229147cee3cf8c7e07eca Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 24 17:20:31 2015 -0300 perf tools: Print the thread's tid on PERF_RECORD_COMM events when -D is asked 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-fmto8ft6jrtwz09dxn5d4z8w@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a485923efbb83056b7fb79e4fd2fee05c990ad5e Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Feb 23 15:52:45 2015 +0200 HID: i2c-hid: Add support for ACPI GPIO interrupts The HID over I2C specification allows to have the interrupt for a HID device to be GPIO instead of directly connected to the IO-APIC. Add support for this so that when the driver does not find proper interrupt number from the I2C client structure we check if it has ACPI GpioInt() resource listed in _CRS. If it is found we convert it to an interrupt number and use it instead. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0c571785813cf3294cdbb1f2fb1a9b19e11935f6 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Fri Feb 13 08:06:47 2015 -0800 leds: flash: remove stray include directive Avoid including v4l2-controls.h, as this is stray code from the early versions of the LED / V4L2 flash API integration patches. LED Flash class doesn't depend on V4L2 subsystem. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit ed97604e362c67fb5410ce2cbe8769b818cdc0af Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Feb 6 08:04:00 2015 -0800 leds: leds-pwm: drop one pwm_get_period() call pwm_get_period() is called twice in case the child parameter is set. I assume retrieving this parameter once is enough therefore this patch removes the conditial invocation of pwm_get_period(). Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 4d08cb80ef5199258c01a3444fd29d94a36a0343 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 24 15:35:55 2015 -0300 perf trace: Dump stack on segfaults [root@ssdandy ~]# perf trace --filter-pids 16348 0.000 ( 0.000 ms): tuned/1027 ... [continued]: select()) = 0 Timeout 793.770 ( 0.000 ms): lsmd/895 ... [continued]: select()) = 0 Timeout 793.775 (793.724 ms): tuned/1027 select(tvp: 0x7f7655556e50) ... perf: Segmentation fault Obtained 15 stack frames. perf(dump_stack+0x2e) [0x4ed330] perf(sighandler_dump_stack+0x2e) [0x4ed40f] /lib64/libc.so.6(+0x35640) [0x7fa2d5b69640] perf() [0x4c2d35] perf(machine__findnew_thread+0x39) [0x4c2ed6] perf() [0x454a4d] perf() [0x455f87] perf() [0x456556] perf(cmd_trace+0xa7e) [0x4580af] perf() [0x4867bd] perf() [0x486a1c] perf() [0x486b68] perf(main+0x23b) [0x486ec9] /lib64/libc.so.6(__libc_start_main+0xf5) [0x7fa2d5b55af5] perf() [0x41bd91] [ root@ssdandy ~]# 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-v38cbxcnm2yf5qn9u4y4n9ab@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 07c1a0dadfce976e9877c55ce5212dd14753c91d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 24 15:34:23 2015 -0300 perf tools: Introduce dump_stack signal helper To use in stdio based tools, like 'trace'. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-79kjmerlw6d88csyx1afzwvn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2a12d6cf751ff4a26f4054670d4f19ff315ed3b0 Merge: 1e0629d 54e16f6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Feb 24 11:48:48 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-02-23 This series contains updates to e1000e, igbvf, i40e and i40evf. David adds support for i219 devices to the e1000e driver. Jeff (me) provides two patches to cleanup igbvf, first cleans up the whitespace issues found and the second cleans up the usage of msleep(), min() and max() with usleep_range(), min_t() and max_t() respectively. Kamil updates the shadow RAM read/write functions by refactoring them to prepare for future work. Shannon renames the debugfs command "clear_stats pf" to clear_stats port" to clarify what the function really does. Mitch refactors the receive routine, by splitting the receive hot path code into two, one for packet split and one for single buffer, which improves receive performance. Disables NAPI polling sooner when closing the interface to fix an occasional panic during close which was caused by the driver trying to delete and clean rings at the same time. Also refactors reset for i40evf, since a recent change to the shutdown flow messed up the reset flow. Since i40evf_down() now holds the critical section lock, we cannot call it from the reset handler, which also holds the lock. Nicholas restricts the virtual channel opcodes should remain consistent between updates to the opcode enum. Neerav converts the VSI connection type to use a #define instead of using a magic number. Anjali updates the registers file to remove registers no longer available. Also fixes the EMPR interrupt handling, so that we won't trigger another EMPR when we receive an EMPR event. Catherine cleans up the variable an_enable since it was set and never used. Greg fixes the netdev op that allows the operator to turn MAC/VLAN spoof checking on and off so that it includes the flag for VLAN spoof checking. v2: Updated patch #10 in the series to use test_and_clear_bit() as suggested by Sergei Shtylyov ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e0629d3f802fd30030ea2496d4db8ce324aa52f Merge: 8ca40c1 51a966a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Feb 24 11:39:11 2015 -0500 Merge branch 'bcmgenet-next' Petri Gynther says: ==================== net: bcmgenet: Tx init improvements Four small patches to improve bcmgenet Tx init: 1. bcmgenet_init_tx_ring() cleanup 2. rework Tx queue init 3. precalculate TxCB->bd_addr 4. rename bcmgenet_hw_params->bds_cnt and GENET_DEFAULT_BD_CNT ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51a966a7185c86df9a7ab1d59d4d1ca6b938ebb6 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Feb 23 11:00:46 2015 -0800 net: bcmgenet: rename bcmgenet_hw_params->bds_cnt and GENET_DEFAULT_BD_CNT bcmgenet_hw_params->bds_cnt and GENET_DEFAULT_BD_CNT are used only in Tx init. Rename them accordingly: - bcmgenet_hw_params->bds_cnt => bcmgenet_hw_params->tx_bds_per_q - GENET_DEFAULT_BD_CNT => GENET_Q16_TX_BD_CNT Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 014012a49148d6968afabb0e8d638fad5f65b72d Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Feb 23 11:00:45 2015 -0800 net: bcmgenet: precalculate TxCB->bd_addr There is 1-to-1 mapping between TxCBs and TxBDs. Precalculate TxCB->bd_addr once in bcmgenet_init_dma() instead of doing it over and over needlessly in bcmgenet_get_txcb(). Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16c6d667883f41d3e06cf5f6bba964057e67895a Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Feb 23 11:00:45 2015 -0800 net: bcmgenet: rework Tx queue init 1. Rename bcmgenet_init_multiq() to bcmgenet_init_tx_queues() 2. Fix bcmgenet_init_tx_queues() function description 3. Move Tx default queue init inside bcmgenet_init_tx_queues() 4. Modify bcmgenet_init_dma() to call bcmgenet_init_tx_queues() Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f8b2d7d1b514b6b722d91118849ece096217825 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Feb 23 11:00:45 2015 -0800 net: bcmgenet: bcmgenet_init_tx_ring() cleanup 1. Simplify function description 2. Rename function parameter write_ptr to start_ptr to better indicate use 3. Remove unnecessary local variable first_bd 4. Remove out-of-place comment "Unclassified traffic goes to ring 16" 5. Fix TDMA_WRITE_PTR register init Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5744ff43c2c737055c65b9594b0783c1a2832a65 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Feb 13 11:04:21 2015 +0000 ARM: drop experimental status of SMP_ON_UP SMP_ON_UP has been around for a while, and seems to be well-proven now. Drop the EXPERIMENTAL tag from the option. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e2cef68d5903cc2052e9f6e46b323b7ead695e73 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Tue Feb 10 17:01:56 2015 +0800 ASoC: rt286: add jack detection disable with NULL jack passed Some platforms, e.g. WSB, don't need jack detection when system is in Suspend, for power save reason. Here add headphone/mic jack detection disable feature with NULL jack passed in, when disabled, it will disable interrupt, and disable LDO1, which is used for jack detection when headphone is plugged in. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Reviewed-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 954e12f7a800ce38b4722ca1d7a6d0293d377b55 Author: Juergen Gross <jgross@xxxxxxxx> Date: Tue Feb 24 10:13:31 2015 +0100 x86/mm, efi: Use early_ioremap() in arch/x86/platform/efi/efi-bgrt.c Use early_ioremap() to map an I/O-area instead of early_memremap(). Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Cc: matt.fleming@xxxxxxxxx Link: http://lkml.kernel.org/r/1424769211-11378-5-git-send-email-jgross@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8d4a40bc0651ea51c196a3d3016d041c41ec19a2 Author: Juergen Gross <jgross@xxxxxxxx> Date: Tue Feb 24 10:13:28 2015 +0100 x86/mm: Use early_memunmap() instead of early_iounmap() Memory mapped via early_memremap() should be unmapped with early_memunmap() instead of early_iounmap(). Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Cc: matt.fleming@xxxxxxxxx Link: http://lkml.kernel.org/r/1424769211-11378-2-git-send-email-jgross@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 28666d6dc3feca2b1983e6011df383299d8b6b64 Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Fri Feb 13 11:23:11 2015 -0600 Add myself (Bob Peterson) as a maintainer of GFS2 This patch adds Bob Peterson as a maintainer of the GFS2 file system. It also changes the development repository to a shared location rather than Steve Whitehouse's private location. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit a1fb6696c662920f695c97591d759391aca8a1ad Merge: 1f40a8b c517d83 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Feb 24 15:55:28 2015 +0100 Merge tag 'v4.0-rc1' into x86/mm, to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3185878a70e721644b0e32ebbc0a039616551949 Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Sat Feb 14 17:22:50 2015 -0800 ASoC: fsl-asoc-card: Add snd_soc_of_parse_audio_routing() This patch adds snd_soc_of_parse_audio_routing() to get dapm routes configurations via Device Tree. Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f23e860edbb3f2208c0ab3448e756689bb4a3760 Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Sat Feb 14 17:22:49 2015 -0800 ASoC: core: Add extra dapm properties for Device Tree The current helper functions, snd_soc_of_parse_audio_simple_widgets() and snd_soc_of_parse_audio_routing(), set dapm_widgets and dapm_routes without caring if they are already set by using build-in widgets and routes in the card driver. So there could be one of them, build-in one or Device Tree one, overrided by the other depending on which one was assigned later. This patch adds an extra pair of dapm_widgets and dapm_routes for DT use only so as to prevent unexpected overriding. Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1a18f9f753209977450c94dcd354dd4fa5370966 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Feb 24 13:32:13 2015 +0200 spi: dw: always reprogram CTRL0 Instead of an additional reading from the register let's update it even if the value is kept the same. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 341c7dc7c074e80d7344e0d75e2b8918ffc982fb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Feb 24 13:32:12 2015 +0200 spi: dw: refactor code that handles clk_div This patch does the following changes: a) the calculation of clk_div is simplified to oneliner; b) chip->clk_div is updated if clk_div is not zero, therefore the condition is simplified by using chip->clk_div in both cases; c) while here, the redundant parentheses are removed. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ea11370fffdfedbd0cca0fce17907d2c993246bc Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Feb 24 13:32:11 2015 +0200 spi: dw: get TX level without an additional variable There is no need to have an additional variable to get a TX level. The patch refactors this piece of code. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 39bc03bfecab38e7532449d54aeef3db817084af Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Feb 24 13:32:10 2015 +0200 spi: dw: move piece of code out of condition There is no sense to keep a member assignment in the internal structure inside the condition which reprograms HW. It makes code readability better if kept outside of the condition. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f29933c9ae4b8f30c713186d3babb630c7cfb4f2 Author: Peter Rosin <peda@xxxxxxxxxx> Date: Mon Feb 23 21:03:33 2015 +0100 ASoC: pcm512x: Allow independently overclocking PLL, DAC and DSP When using non-standard rates, a relatively small amount of overclocking can make a big difference to a number of cases. - Not all rates are possible to achieve with the PLL, due to divider restrictions. - The higher oversampling rates that can be used by the DAC, the simpler the analog output filters get (mirror frequencies move up, away from the desired spectrum). - The more work the DSP can perform per sample, the better. For standard rates, there is little to gain as everything is designed just right, and the needed overclocking to make a real difference would be significant. Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5890bd5256bc026c425361fa087dc05c7a24d853 Author: Peter Rosin <peda@xxxxxxxxxx> Date: Mon Feb 16 22:02:47 2015 +0100 ASoC: pcm512x: Rearrange to not repeat dacsrc_rate / dac_div Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a1d263428ac7447afd9f79fce8d2d7863a2307e2 Author: Ramalingam C <ramalingam.c@xxxxxxxxx> Date: Mon Feb 23 17:38:33 2015 +0530 drm/i915: Enhancing eDP DRRS debug message When Downclock mode is not found, the same info is added to the corresponding debug log. Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b33a281544980f9cba22aaeaa4a945254326a8c0 Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Fri Feb 13 15:33:03 2015 +0530 Documentation/drm: DocBook integration for DRRS Adding an overview of DRRS in general and the implementation for eDP DRRS. Also, describing the functions related to eDP DRRS. Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44395bfe2f2a22ec769eb51ea1908082cf9aa16d Author: Durgadoss R <durgadoss.r@xxxxxxxxx> Date: Fri Feb 13 15:33:02 2015 +0530 drm/i915: Enable eDP DRRS for CHV This patch enables eDP DRRS for CHV by adding the required IS_CHERRYVIEW() checks. CHV uses the same register bit as VLV. [Vandana]: Since CHV has 2 sets of M_N registers, it will follow the same code path as gen < 8. Added CHV check in dp_set_m_n() [Ram]: Rebased on top of previous patch modifications Signed-off-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6fa7aec1db07f43d3ad94122c3bd52647c81619e Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Fri Feb 13 15:33:01 2015 +0530 drm/i915: Support for RR switching on VLV Definition of VLV RR switch bit and corresponding toggling in set_drrs function. Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a4c30b1d108c1ef60667ed357af4aeabc3d05eca Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Fri Feb 13 15:33:00 2015 +0530 drm/i915/bdw: Add support for DRRS to switch RR For Broadwell, there is one instance of Transcoder MN values per transcoder. For dynamic switching between multiple refreshr rates, M/N values may be reprogrammed on the fly. Link N programming triggers update of all data and link M & N registers and the new M/N values will be used in the next frame that is output. V2: [By Ram]: intel_dp_set_m_n() is rewritten to accommodate gen >= 8 [Rodrigo] V3: Coding style correction [Ram] V4: [By Ram] intel_dp_set_m_n modifications are moved into a separate patch, retaining only DRRS related changes here [Rodrigo] Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Pradeep Bhat <pradeep.bhat@xxxxxxxxx> Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe3cd48d6b616efc76b6a4003e82e933618c788a Author: Ramalingam C <ramalingam.c@xxxxxxxxx> Date: Fri Feb 13 15:32:59 2015 +0530 drm/i915: Add support for DRRS in intel_dp_set_m_n Till Gen 7 we have two sets of M_N registers, but Gen 8 onwards we have only one M_N register set. To support DRRS on both scenarios a input parameter to intel_dp_set_m_n is added. In case of DRRS, When platform provides two set of M_N registers for dp, we can program them with two different dividers and switch between them. But when only one such register set is provided, we have to program the required divider M_N value on that registers itself. Two enum members M1_N1 and M2_N2 are defined to represent the above scenarios. M1_N1 : Program dp_m_n on M1_N1 registers dp_m2_n2 on M2_N2 registers (If supported) M2_N2 : Program dp_m2_n2 on M1_N1 registers M2_N2 registers are not supported Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b07da53c79ba6480759c1ad352a96b96c7b97c7a Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Wed Feb 18 11:48:21 2015 +0000 drm/i915: Shift driver's HWSP usage out of reserved range As of Gen6, the general purpose area of the hardware status page has shrunk and now begins at dword 0x30. i915 driver uses dword 0x20 to store the seqno which is now reserved. So shift our HWSP dwords up into the general purpose range before this bites us. Note that all available documentation just says this is reserved without going into details about what it's used for. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> [danvet: Add clarification from Thomas that unfortunately Bspec is silent on what "reserverd" precisely means.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eef23a8441432960c89ee5bd034ad822ccd6658e Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Feb 23 15:52:43 2015 +0200 HID: wacom: Add support for I2C connected devices Lenovo Thinkpad 10 has wacom digitizer connected as a I2C-HID device. Add generic support for this. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 16e6004eb7a8686bae526ab9ea22c94ec901897b Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Sun Feb 22 18:51:04 2015 +0100 drm: atmel-hlcdc: Add pinctrl PM select sleep,default state in CRTC suspend/resume Some LCD panels have back-powering issue when un-powered, allows users to use an alternate pinctrl "sleep" in order to clamp outputs to a wanted state at suspend. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 58486982586da444f940dc8fdea598649b4a2fe8 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Sun Feb 22 18:51:03 2015 +0100 drm: atmel-hlcdc: Add PM suspend/resume support On suspend: switch off CRTC if not already suspended with runtime PM On resume: switch on CRTC if we were not already suspended from runtime PM while suspending. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 34d7c3905adb9a9d8f8155857c76314125510817 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sat Feb 21 16:33:24 2015 +0100 ASoC: improve usage of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify drivers accordingly. Also there is an *_optional variant that serves well here. The sematics is slightly changed here by using it as error checking is more strict now: If GPIOLIB is not enabled an error is returned instead of just ignoring the gpio. On one hand this is bad for devices that don't "have" the respective gpio as the driver is failing now. On the other hand there is no means to assert that this gpio is really not needed or if only the driver to control it is not available. The latter is a real reason to fail and so it's defensive to fail here, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c9e719691eab8c5de8b1b68fc3da9f7c4470c38 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 17:10:03 2015 +0100 regulator: core: Fix space before TAB Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a46a0730f5adf9292ce33172c6dc137fd694831d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 17:12:16 2015 +0100 regulator: da9211: Pass NULL data with OVER_CURRENT event According to the documentation, no data is passed with the OVER_CURRENT regulator notifier event. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 767e8aabb53cc6075d388dbce31142d4766521de Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 17:11:07 2015 +0100 regulator: da9211: Fix wrong register name in error message We tried to read the CONFIG_E register, not the CONTROL_E register. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af78114ec757cea281aafa3433a3a2e211e2eb67 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:54 2015 -0800 regulator: dbx500: Remove use of seq_puts/seq_printf return value The seq_puts/seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Miscellanea: o Remove unnecessary dev_err("seq_<foo> overflow\n") messages Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f45acb5f9f34eabac8670e87349e0a91bfc354d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 17:13:31 2015 +0100 regulator: wm8350: Pass NULL data with REGULATION_OUT and UNDER_VOLTAGE events According to the documentation, no data is passed with the REGULATION_OUT and UNDER_VOLTAGE regulator notifier events. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3f2dcbeaeb2badb951a68e7d525ff4e55d0b0678 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Feb 24 11:39:47 2015 +0530 ASoC: Intel: Remove soc pm handling to allow platform driver handle it 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 583e58a0f0e996008780fe4df0f7640890a9b69a Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Feb 24 11:39:46 2015 +0530 ASoC: Intel: Remove ignore suspend support In our platform we want platform and codec driver routines to get invoked and don't need the machine routines so remove here 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 9308d1456e30e374d93957e3376a09370be9dc52 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Feb 24 11:39:45 2015 +0530 ASoC: Intel: Move the fw download to power_control Thus removing the runtime_resume handler. 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 4a8448d4289d7210053a43f9f21e42929beb159b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Feb 24 11:39:44 2015 +0530 ASoC: Intel: add pm support in sst ipc driver This adds support for system pm support. We need to save the dsp memory which gets lost on suspend and restore that on resume 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 4d3199e4ca8e6670b54dc5ee070ffd54385988e9 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Sun Feb 22 19:31:41 2015 -0800 locking: Remove ACCESS_ONCE() usage With the new standardized functions, we can replace all ACCESS_ONCE() calls across relevant locking - this includes lockref and seqlock while at it. ACCESS_ONCE() does not work reliably on non-scalar types. For example gcc 4.6 and 4.7 might remove the volatile tag for such accesses during the SRA (scalar replacement of aggregates) step: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145 Update the new calls regardless of if it is a scalar type, this is cleaner than having three alternatives. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: 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/1424662301.6539.18.camel@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d6a3f0176fe03c33f2853dfef33e15547e357dd0 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sun Nov 9 07:21:13 2014 -0500 mtd: block2mtd: wait until block devices are presented Ensures that block2mtd is triggered after the block devices are enumerated at boot time. This issue is seen on BCM2835 (Raspberry Pi) systems when mounting JFFS2 block2mtd filesystems, probably because of the delay on enumerating a USB MMC card reader. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Rodrigo Freire <rfreire@xxxxxxxxxx> Signed-off-by: Herton Krzesinski <herton@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2ae79026818e7d49fead82b79b1a543e3b9c8a23 Merge: 1a99367 c517d83 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Feb 24 08:41:07 2015 +0100 Merge tag 'v4.0-rc1' into locking/core, to refresh the tree before merging new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7a27db23a3f697b730422482df7d21c93f84fe4a Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Mon Feb 16 10:54:08 2015 +0900 PCI: rcar: Verify that mem_res is 64K-aligned The lower 16 bits of the address, which is managed by mem_res, need to be zero. Check the address to verify this. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ecd06305c9a077ab5aa000cb8027e2c1c872f25f Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Wed Feb 4 18:02:55 2015 +0900 PCI: rcar: Change PCIEPARL and PCIEPARH to PCIEPALR and PCIEPAUR PCIEPARL and PCIEPARH are macros that calculate register addresses. However, the register names are incorrect. Change them to PCIEPALR and PCIEPAUR. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2ea2a2734cd850d8d270022e9aaabc02a931c172 Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Mon Feb 2 14:09:58 2015 +0900 PCI: rcar: Write zeroes to reserved PCIEPARL bits The lower 7 bits of PCIEPARL are reserved. When we write to this register, these bits must be 0. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8ca40c1457be5c38df5b753f55550b176816afc5 Merge: 5e3d318 4e081e0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Feb 23 22:04:35 2015 -0500 Merge branch 'pktgen-next' Ben Hutchings says: ==================== pktgen documentation cleanup and samples This series cleans up the pktgen documentation, adds and improves the original sample scripts. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e081e0cbdf850366d28ddb77afba2031b26d933 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:33:29 2015 +0000 pktgen: Correct documentation of module name and command Drop the '.o' suffix so this text properly covers both the built-in and modular cases. 'insmod pktgen' obviously won't work; the command should be modprobe. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4062bd25f0be9bd2dae25992ad87247ac4f73df3 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:33:20 2015 +0000 samples/pktgen: Show the results rather than just commenting where they are Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16b5d0c4a24c793ca3584ca5c50fd5f8f2166120 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:33:08 2015 +0000 samples/pktgen: Trap SIGINT Otherwise ^C stops the script, not just pktgen. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db72aba30a4f4c15eb20066f1d9c1bcbcf419236 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:32:59 2015 +0000 samples/pktgen: Use bash as interpreter These scripts use the non-POSIX 'function' and 'local' keywords so they won't work with every /bin/sh. We could drop 'function' as it is a no-op, but 'local' makes for cleaner scripts. Require use of bash. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06481f22c6fa5a85445770d5adceb261cac6620f Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:32:48 2015 +0000 samples/pktgen: Remove setting of obsolete max_before_softirq parameter Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ad1cdf2ea5991b42b934d76c36113ceb4561fa6 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:32:37 2015 +0000 samples/pktgen: Correct comments about the thread config They all claimed to be two CPU examples using eth1, eth2 but that is only true in one case! Rob Jones pointed out spelling and grammar errors here, which I've also corrected. Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 865367db658f6f4d7b8280b0968b47e2cbddab90 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:32:17 2015 +0000 samples/pktgen: Delete unused function pg() This function is not used and wouldn't do anything useful as pktgen does not have an 'inject' command. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c95a9d962f9ffdf02a3d82a6ae108c254a29122 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:32:07 2015 +0000 samples/pktgen: Add sample scripts for pktgen facility These are Robert Olsson's samples which used to be available from <ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/examples/> but currently are not. Change the documentation to refer to these consistently as 'sample scripts', matching the directory name used here. Cc: Robert Olsson <robert@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca5b542ccee76e58407c3529f39974d382124093 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:31:52 2015 +0000 pktgen: Fix grammar errors and some poor wording in documentation Thanks to Rob Jones for suggesting some of the changes. Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98e688f4054c2e9624c8e4666b985bde5e7e1660 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:31:13 2015 +0000 pktgen: Delete the original date from documentation This has been updated quite a few times since 2004, and git can keep track of the actual date for us. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a12bff7c34635c329079858460e9705d819c500 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Feb 16 15:00:47 2015 +0000 spi: spidev: only use up TX/RX bounce buffer space when needed This patch changes the way space is reserved in spidev's pre-allocated TX and RX bounce buffers to avoid wasting space in the buffers for an SPI message consisting of multiple, half-duplex transfers in different directions. Background: spidev data structures have separate, pre-allocated TX and RX bounce buffers (`spidev->tx_buffer` and `spidev->rx_buffer`) of fixed size (`bufsiz`). The `SPI_IOC_MESSAGE(N)` ioctl processing uses a kernel copy of the N `struct spi_ioc_transfer` elements copied from the userspace ioctl arg pointer. In these elements: `.len` is the length of transfer in bytes; `.rx_buf` is either a userspace pointer to a buffer to copy the RX data to or is set to 0 to discard the data; and `.tx_buf` is either a userspace pointer to TX data supplied by the user or is set to 0 to transmit zeros for this transfer. `spidev_message()` uses the array of N `struct spi_ioc_transfer` elements to construct a kernel SPI message consisting of a `struct spi_message` containing a linked list (allocated as an array) of N `struct spi_transfer` elements. This involves iterating through the `struct spi_ioc_transfer` and `struct spi_transfer` elements (variables `u_tmp` and `k_tmp` respectively). Before the first iteration, variables `tx_buf` and `rx_buf` point to the start of the TX and RX bounce buffers `spidev->tx_buffer` and `spidev->rx_buffer` and variable `total` is set to 0. These variables keep track of the next available space in the bounce buffers and the total length of the SPI message. Each iteration checks that there is enough room left in the buffers for the transfer. If `u_tmp->rx_buf` is non-zero, `k_tmp->rx_buf` is set to `rx_buf`, otherwise it remains set to NULL. If `u_tmp->tx_buf` is non-zero, `k_tmp->tx_buf` is set to `tx_buf` and the userspace TX data copied there, otherwise it remains set to NULL. The variables `total`, `rx_buf` and `tx_buf` are advanced by the length of the transfer. The "problem": While iterating through the transfers, the local bounce buffer "free space" pointer variables `tx_buf` and `rx_buf` are always advanced by the length of the transfer. If `u_tmp->rx_buf` is 0 (so `k_tmp->rx_buf` is NULL), then `rx_buf` is advanced unnecessarily and that part of `spidev->rx_buffer` is wasted. Similarly, if `u_tmp->tx_buf` is 0 (so `k_tmp->tx_buf` is NULL), part of `spidev->tx_buffer` is wasted. What this patch does: To avoid wasting space unnecessarily in the RX bounce buffer, only advance `rx_buf` by the transfer length if `u_tmp->rx_buf` is non-zero. Similarly, to avoid wasting space unnecessarily in the TX bounce buffer, only advance `tx_buf` if `u_tmp->tx_buf is non-zero. To avoid pointer subtraction, use new variables `rx_total` and `tx_total` to keep track of the amount of space allocated in each of the bounce buffers. If these exceed the available space, a `-EMSGSIZE` error will be returned. Limit the total length of the transfers (tracked by variable `total`) to `INT_MAX` instead of `bufsiz`, returning an `-EMSGSIZE` error if exceeded. The total length is returned by `spidev_message()` on success and we want that to be non-negative. The message size limits for the `SPI_IOC_MESSAGE(N)` ioctl are now as follows: (a) total length of transfers is <= INTMAX; (b) total length of transfers with non-NULL rx_buf is <= bufsiz; (c) total length of transfers with non-NULL tx_buf is <= bufsiz. Some transfers may have NULL rx_buf and NULL tx_buf. If the transfer is completed successfully by the SPI core, `spidev_message()` iterates through the transfers to copy any RX data from the bounce buffer back to userspace on those transfers where `u_tmp->rx_buf` is non-zero. The variable `rx_buf` is again used to keep track of the corresponding positions in the bounce buffer. Now it is only advanced for those transfers that use the RX bounce buffer. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0744ea2a01cb75a750e8594b046102fc68fa45b3 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Mon Feb 23 12:30:46 2015 +0000 spi: s3c64xx: fix compiler warning in spi-s3c64xx The Exynos 7 arm64 support now allows the S3C64xx SPI driver to be compiled into an ARM64 kernel, so the cast from the [rt]x_dmach int variable to a void* in this driver now triggers a warning. Add a long cast to silence the compiler. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54e16f64f0c494b78e3872612e45d002d220664d Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jan 29 07:17:20 2015 +0000 i40evf: don't wait forever Under rare circumstances, after a reset, set_rx_mode might get called while the watchdog is running, which will cause a deadlock on the critical section lock. To correct this, add a counter and give up trying to get the lock after fifty tries. Log a message if this happens but don't take any other action. Because this happens after a reset, all of the Rx filters are still in place and the device won't lose connectivity. We can also get stuck during shutdown, if the PF has stopped communicating with us, or if a reset is occurring. If we can't get the lock after a reasonable amount of time, just error out. Something else bad is happening anyway, so adding this filter is the least of our concern right now. Change-ID: I159731e2a82a06b389ee31b34ce336548e05baa0 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ac833bbf7958bbdd416d6027b98763a231bc8f15 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jan 29 07:17:19 2015 +0000 i40evf: refactor reset A recent change to the shutdown flow messed up the reset flow. Since i40evf_down now holds the critical section lock, we cannot call it from the reset handler, which also holds the lock. To do so causes a deadlock accompanied by wailing and gnashing of teeth. This is easily triggered by running an ethtool self-test on the PF device. Instead, we move the relevant portions of i40evf_down into the reset handler and bend them to our will. Additionally, we can optimize the reinit path by not deleting the MAC and VLAN filters and then adding them back again. Instead, we just set the 'add' flag and let the watchdog resynchronize the filter list with the PF driver. We also reword a few messages to make them more consistent with the rest of the driver. Change-ID: I03dd92ae736f7719fca3564b12a2cf9b98c6cb18 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 748c434bfa956e3ac64793d14d3bdbe7befcb901 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jan 29 07:17:18 2015 +0000 i40evf: disable NAPI polling sooner When closing the interface, disable NAPI polling before any other activities. This fixes an occasional panic during close caused by the driver trying to delete and clean rings at the same time. Change-ID: Ib4d427b13d310258ea85b248d535da70ecf0c1e9 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 30d71af54d3df9752cee70e320da8d58ec3292b4 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Thu Jan 29 07:17:17 2015 +0000 i40e: Fix i40e_ndo_set_vf_spoofchk The netdev op that allows the operator to turn MAC/VLAN spoof checking on and off did not include the flag for VLAN spoof checking. This patch fixes that problem. Change-ID: Ib4c9e639024a854592d97af22706544881ac3fcb Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c952f6c719c1bd972b5ec20d8d4c083268cd0d6e Author: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Date: Sat Jan 24 09:58:42 2015 +0000 i40e/i40evf: Bump Driver Versions Bump i40e to 1.2.8 and i40evf to 1.2.2 Change-ID: I64f47c3367ea8ff2a53068e895d7a1f60726c871 Signed-off-by: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 21af70fbfe4fe1cec48c63332a83e9ce018bc330 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Sat Jan 24 09:58:41 2015 +0000 i40e/i40evf: Remove unused variable an_enable and function update_link_info An_enable was never used only set so lets remove it. The function update_link_info only did two things, call get_link_info and set an_enabled. Therefore we should also remove update_link_info and change all references to it to get_link_info. Change-ID: Ie3022680fa7a94bfd495a4f5fc76a73701d85569 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9df42d1a8fd8ac137671e3e6c0c87ca2101d90e0 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Sat Jan 24 09:58:40 2015 +0000 i40e: Fix the EMPR interrupt received handling We shouldn't trigger another EMPR when we receive an EMPR event. This patch handles EMPR event reception with a different state so that we can do the right thing for NVM. Change-ID: I9cac70b3658600f016a65beb6fb157e1c1f9adf9 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5098850c9b9bdc6a1572ac9f39da84683fc5fbb0 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Sat Jan 24 09:58:39 2015 +0000 i40e/i40evf: i40e_register.h updates Some registers have been removed so take them out and stop updating and looking at them. Change-ID: I33da922c8de993a94dd8b8d8a2ae2146b8ca1a27 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2b18e5914d5210b47782a6ef724f2257662fc4da Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Sat Jan 24 09:58:38 2015 +0000 i40e: Use #define for the VSI connection type Use #defined VSI connection type values instead of using magic numbers. Change-ID: I2f6cf7bf394d391e1c0fe61779e9e4ad8858154a Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 396642a6794bd7dc77271e5e5180de09ac3e1d33 Author: Nicholas Nunley <nicholas.d.nunley@xxxxxxxxx> Date: Sat Jan 24 09:58:37 2015 +0000 i40e/i40evf: restrict VC opcodes to their initial values Until the time a more robust versioning scheme is needed/implemented all established virtual channel opcode values should remain consistent between updates to the opcode enum. This patch repositions I40E_VIRTCHNL_OP_CONFIG_RSS to the end of the enum. In its current position this opcode displaces the initial value of I40E_VIRTCHNL_OP_EVENT and will cause PF/VF compatibility issues. Going forward the expectation is either: a) All future opcode additions will be added as the last element of the enum. Once VF drivers start making use of the new commands the virtual channel version will need to be incremented and drivers will need to implement a simple version check whereby VF drivers can only load on PFs with a >= version. b) or, if needed, design and implement a more complicated API negotiation capability. In either case PF drivers should always maintain backwards compatibility with earlier VF driver versions. Change-ID: Ie245daa09a231b6680ed793d648bdcc76caefe58 Signed-off-by: Nicholas Nunley <nicholas.d.nunley@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a132af24e8d45edadcc0d5ce62ac02a54efb944a Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Sat Jan 24 09:58:35 2015 +0000 i40e/i40evf: Refactor the receive routines Split the receive hot path code into two, one for packet split and one for single buffer. This improves receive performance since we only need to check if the ring is in packet split mode once per NAPI poll time, not several times per packet. The single buffer code is further improved by the removal of a bunch of code and several variables that are not needed. On a receive-oriented test this can improve single-threaded throughput. Also refactor the packet split receive path to use a fixed buffer for headers, like ixgbe does. This vastly reduces the number of DMA mappings and unmappings we need to do, allowing for much better performance in the presence of an IOMMU. Lastly, correct packet split descriptor types now that we are actually using them. Change-ID: I3a194a93af3d2c31e77ff17644ac7376da6f3e4b Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 694dc1cb0d32b0eef9b38b99ee8669cae558eff9 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Sat Jan 24 09:58:34 2015 +0000 i40e: rename debugfs clear_stats option Change debugfs command from "clear_stats pf" to "clear_stats port" to be clearer what the action is. Also, limit the action to the base PF, not the NPAR partitions. Change-ID: I22aa39c0962d83a83a985097b1000ed7f8c66f3f Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d1bbe0ea769cd63eb34f099ed4a97d2d23527321 Author: Kamil Krawczyk <kamil.krawczyk@xxxxxxxxx> Date: Sat Jan 24 09:58:33 2015 +0000 i40e: update Shadow RAM read/write functions This change is to refactor the read/write functions to support future work. Change-ID: I13150d5e3042f2c617362c0140dc7e6473ebcdee Signed-off-by: Kamil Krawczyk <kamil.krawczyk@xxxxxxxxx> Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5beef769ec839f7f7e9679648de471be99677537 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Feb 20 20:55:56 2015 -0800 igbvf: cleanup msleep() and min/max() usage Fixed a few cases of when we used msleep() when we should have been using usleep_range(). Also updated the usage of min/max() to use min_t/max_t(). Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> commit 0340501b1cf7dc67bc53dcbe26d3c7d678157606 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Wed Jan 21 09:57:50 2015 +0000 igbvf: Fix code comments and whitespace Fix the code comments to align with the drivers/net/ commenting style. Also fix other checkpatch errors such as using tabs where possible and properly wrap lines to conform to the 80 char limit (unless it is a string). Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> commit 79849ebc0e06d775f53d160bb1a63b000fa0947b Author: David Ertman <david.m.ertman@xxxxxxxxx> Date: Tue Feb 10 09:10:43 2015 +0000 e1000e: initial support for i219 i219 is the next-generation LOM that will be available on systems with the Sunrise Point Platform Controller Hub (PCH) chipset from Intel. This patch provides the initial support for the device. Signed-off-by: Dave Ertman <david.m.ertman@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Tested-by: Carmen Edwards <carmenx.edwards@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1fc6aa96ead7535e0fa7458881b07cbc58a9fd89 Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Mon Feb 2 14:09:39 2015 +0900 PCI: rcar: Fix position of MSI enable bit The MSI enable is bit 31, not bit 28. Set the correct bit to initialize MSI. Per Phil, "this is odd as MSI works before and after your patch. Since bit 31 just represents the value of MSICAP0[16].MSIE, I think this may just be used for endpoints. However, you are correct that the bit used was wrong." Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e045d20bef41707dbba676e58624b54f9f39e172 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Feb 19 13:16:44 2015 +0530 drm: Adding edp1.4 specific dpcd macros Adding dpcd macros related to edp1.4 and link rates v2: Added DP_SUPPORTED_LINK_RATES macros Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c982bd90f58681d00363538167477e60e2c8f731 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 12:24:20 2015 +0100 drm/atomic-helpers: make mode_set hooks optional With runtime PM the hw might still be off while doing the ->mode_set callbacks - runtime PM get/put should only happen in the enable/disable hooks to properly support DPMS. Which essentially makes these callbacks useless for drivers support runtime PM, so make them optional. Again motivated by discussions with Laurent. Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 1af434a92871af93d97ce28e35497532a4167a0c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 12:24:19 2015 +0100 drm/atomic-helper: Rename commmit_post/pre_planes These names only make sense because of backwards compatability with the order used by the crtc helper library. There's not really any real requirement in the ordering here. So rename them to something more descriptive and update the kerneldoc a bit. Motivated in a discussion with Laurent about how to restore plane state for dpms for drivers with runtime pm. v2: Squash in fixup from Stephen Rothwell to fix a conflict with tegra. Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 27a28d32b4f22a4ae687837aeda6afb42116cca4 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Wed Feb 4 13:56:07 2015 +0900 extcon: max77843: Add max77843 MUIC driver This patch adds MAX77843 extcon driver to support for MUIC(Micro USB Interface Controller) device by using EXTCON subsystem to handle various external connectors. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit e52817faae359ce95c93c2b6eb88b16d4b430181 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Feb 2 12:21:59 2015 +0200 extcon: usb-gpio: Introduce gpio usb extcon driver This driver observes the USB ID pin connected over a GPIO and updates the USB cable extcon states accordingly. The existing GPIO extcon driver is not suitable for this purpose as it needs to be taught to understand USB cable states and it can't handle more than one cable per instance. For the USB case we need to handle 2 cable states. 1) USB (attach/detach) 2) USB-HOST (attach/detach) This driver can be easily updated in the future to handle VBUS events in case it happens to be available on GPIO for any platform. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 4c883abee08b13d7fac5e672159575bb7a3365a6 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Thu Jan 29 17:45:24 2015 +0900 extcon: max77693: Use HOST term to express USB-HOST cable instead of OTG term This patch unifies the term called 'USB_OTG' and 'USB_HOST' into USB_HOST. OTG(On-The-Go) function supports USB host and this driver sents 'USB-Host event. So, unifies term to USB_HOST. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> [cw00.choi: Fix patch title to indicate the correct meaning of patch] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 4f0be26a7939d8cae5d010b9de33550a366ceef4 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Thu Jan 29 17:45:23 2015 +0900 extcon: max77693: Fix cable name of MHL-TA This patch fixes extcon cable name of MHL-TA instead of MHL_TA to unify cable name style. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 88e8fda99a4c99a1a6482510655dbd88cccd221b Merge: 4225441 723cac4 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Feb 24 10:27:47 2015 +1100 Merge branch 'xfs-mmap-lock' into for-next commit 4225441a1eec45241efe529d23403d8ca3d1d71b Merge: 3cabb83 964aa8d9 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Feb 24 10:27:28 2015 +1100 Merge branch 'xfs-generic-sb-counters' into for-next Conflicts: fs/xfs/xfs_super.c commit 3cabb836d801c3ad791c2dc6be07ec5819ab0a37 Merge: 83d5f01 444a702 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Feb 24 10:24:07 2015 +1100 Merge branch 'xfs-misc-fixes-for-4.1' into for-next commit 3c7585b9901c335d10a04c8495164cb113c0b8f2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 16:59:29 2015 +0100 ARM: shmobile: sh73a0: Remove restart callback Remove the restart handling hack from the sh73a0 generic multiplatform case. Restart on DT-based sh73a0 platforms is now handled through the R-Mobile reset driver. This basically reverts commit cad900819fba0176 ("ARM: shmobile: sh73a0: Add restart callback"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bee7a18e85421ed3ec0131574378de10b5762d54 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:31:38 2015 +0100 ARM: shmobile: sh73a0 dtsi: Add PM domain support Add a device node for the System Controller, with subnodes that represent the hardware power area hierarchy. Hook up all devices to their respective PM domains. Note that unlike on R-Mobile A1 (r8a7740), PM domain D4 can be powered down without ill effects on s2ram behavior, just like on SH-Mobile AP4 (sh7372). Hence we can postpone adding a (minimal) device node for the Coresight-ETM hardware block. The System Controller is also used by the R-Mobile Reset driver, which can now restart the system. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 05813a8112cd0e38f14b53ecc2b381824cb2aeb4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 15:52:40 2015 +0100 ARM: shmobile: sh73a0: Remove unused sh73a0_add_standard_devices_dt() "ARM: shmobile: kzm9g-reference: Remove board C code and DT file" removed the last user of sh73a0_add_standard_devices_dt(). Hence remove this function. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 30225743852ed5c3e732d7debe6c1f473c807d62 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 15:52:39 2015 +0100 ARM: shmobile: sh73a0 dtsi: Add Cortex-A9 TWD node Add a node for the Private Timer and Watchdog, as found in the Cortex-A9 MPCore. Without this, there's no clocksource available during early kernel initialization, before cmt1 is initialized, leading to a lock-up if CONFIG_CPU_IDLE=y. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7a91cc14f3ff6c70855d25fe7b7c0592ab023050 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Feb 24 07:10:05 2015 +0900 ARM: shmobile: kzm9g-reference: Remove board C code and DT file Now that the sh73a0 generic multiplatform case has the same feature set as the kzm9g DT reference board code, we get rid of the latter. DT reference code in the future shall make use of the sh73a0 multiplatform support code with the generic SoC machine vector. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 17f0f738e51408d879ae3331a8a59f59cc00b57b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 15:52:37 2015 +0100 ARM: shmobile: kzm9g dts: Move Ethernet node to BSC Move the Ethernet node from the root of the device tree to the BSC node, as it's connected to the Bus State Controller. This allows the system to know the right position of the Ethernet node in the clock and PM domain hierarchy, and manage the clock and PM domain appropriately. Also rename the node's name from "lan9220" to "ethernet", to conform to ePAPR generic name recomendations. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 217b6e65e55325db2b3f0447c85db08c3a6921cf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 15:52:36 2015 +0100 ARM: shmobile: sh73a0 dtsi: Add Bus State Controller node Add a node for the Bus State Controller (BSC) on sh73a0, to which multiple external devices can be connected. The BSC is driven by the ZB clock, and located in PM domain A4S. A reference to the latter will be added later. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 36356bcc4d6a4208f9b6088e1df9781351c6d7bf Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Jan 9 14:08:52 2015 +0100 ARM: shmobile: kzm9g: Build DTS for Multiplatform Build the sh73a0 KZM9G board DTB in case of Multiplatform. The DT reference case will be removed in the future and can be ignored for now. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 682d2dfb1d54b3b8d4409cc80c0a73e965c943a3 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Jan 9 14:08:51 2015 +0100 ARM: shmobile: kzm9g dts: Sync with kzm9g-reference dts Sync the two DTS for the KZM9G board. The target is the file "sh73a0-kzm9g.dts" and it is made identical to the DT reference case with the exception of the compatbile string. In the future the DT reference file will go away. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> [geert: Update for recent changes to sh73a0-kzm9g-reference.dts] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8e8bffffdaf6b75fb1380bfbb80481d3073086c5 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Jan 9 14:08:50 2015 +0100 ARM: shmobile: sh73a0: Add Multiplatform support Enable sh73a0 Multiplatform support for the generic sh73a0 machine vector. No board support is enabled, and the board code for KZM9G DT Reference is left by itself. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0b52b2508b1e410c2e80408a580412d85401ecd3 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Jan 9 14:08:49 2015 +0100 ARM: shmobile: sh73a0: Introduce generic setup callback Add a generic sh73a0 machine setup callback for the upcoming sh73a0 multiplatform case. Cache needs to be configured, and legacy clocks must be omitted. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ded416ff3ae664c37ec4c270a3ab273b01218838 Merge: 89d463e b8e8ea1 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Feb 24 08:22:10 2015 +0900 Merge branch 'heads/dt-for-v4.1' into sh73a0-multiplatform-for-v4.1.base commit 3e5b6f05a23cc1ba92f429e524d6d5b67401132d Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Mon Feb 16 16:12:53 2015 +0000 drm/i915: Reset logical ring contexts' head and tail during GPU reset Work was getting left behind in LRC contexts during reset. This causes a hang if the GPU is reset when HEAD==TAIL because the context's ringbuffer head and tail don't get reset and retiring a request doesn't alter them, so the ring still appears full. Added a function intel_lr_context_reset() to reset head and tail on a LRC and its ringbuffer. Call intel_lr_context_reset() for each context in i915_gem_context_reset() when in execlists mode. Testcase: igt/pm_rps --run-subtest reset #bdw Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88096 Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> [danvet: Flatten control flow in the lrc reset code a notch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b8e8ea127d00f1b0c18d8c1ae1b8388e190d5052 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 01:26:37 2015 +0300 ARM: shmobile: r8a7794: add SDHI DT support Define the generic R8A7794 parts of the SDHI[012] device nodes. Based on the orginal patch by Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 444a702231412e82fb1c09679adc159301e9242c Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Tue Feb 24 10:17:04 2015 +1100 xfs: remove deprecated mount options We recently removed deprecated sysctls; may as well remove deprecated mount options as well, we've stated that they'd be gone by now in the docs. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3790a8cd8a145f14f773c7f42cd11fcfb62a6975 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Feb 24 10:16:04 2015 +1100 xfs: xfs_alloc_fix_minleft can underflow near ENOSPC Test generic/224 is failing with a corruption being detected on one of Michael's test boxes. Debug that Michael added is indicating that the minleft trimming is resulting in an underflow: ..... before fixup: rlen 1 args->len 0 after xfs_alloc_fix_len : rlen 1 args->len 1 before goto out_nominleft: rlen 1 args->len 0 before fixup: rlen 1 args->len 0 after xfs_alloc_fix_len : rlen 1 args->len 1 after fixup: rlen 1 args->len 1 before fixup: rlen 1 args->len 0 after xfs_alloc_fix_len : rlen 1 args->len 1 after fixup: rlen 4294967295 args->len 4294967295 XFS: Assertion failed: fs_is_ok, file: fs/xfs/libxfs/xfs_alloc.c, line: 1424 The "goto out_nominleft:" indicates that we are getting close to ENOSPC in the AG, and a couple of allocations later we underflow and the corruption check fires in xfs_alloc_ag_vextent_size(). The issue is that the extent length fixups comaprisons are done with variables of xfs_extlen_t types. These are unsigned so an underflow looks like a really big value and hence is not detected as being smaller than the minimum length allowed for the extent. Hence the corruption check fires as it is noticing that the returned length is longer than the original extent length passed in. This can be easily fixed by ensuring we do the underflow test on signed values, the same way xfs_alloc_fix_len() prevents underflow. So we realise in future that these casts prevent underflows from going undetected, add comments to the code indicating this. Reported-by: Michael L. Semon <mlsemon35@xxxxxxxxx> Tested-by: Michael L. Semon <mlsemon35@xxxxxxxxx> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit dd5e71274a6707c638d76b62361ae5d521ba6fb6 Author: Wang Sheng-Hui <shhuiw@xxxxxxxxxxx> Date: Tue Feb 24 10:15:04 2015 +1100 xfs: remove old and redundant comment in xfs_mount_validate_sb The error messages document the reason for the checks better than the comment and the comments about volume mounts date back to Irix and so aren't relevant any more. So just remove the old and redundant comment. Signed-off-by: Wang Sheng-Hui <shhuiw@xxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fdadf2676aeebbbfb7a28790471fb982fdf388fa Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Feb 24 10:14:04 2015 +1100 xfs: clarify async write failure ratelimit message Today, when the "failing async writes" get ratelimited, we see: XFS:: 62836 callbacks suppressed Aside from the extra ":" it's not entirely clear which message is being suppressed, especially if other messages or ratelimits are happening at the same time. Clarify this as i.e.: XFS (dm-11): Failing async write on buffer block 0x140090. Retrying async write. XFS: Failing async write: 62836 callbacks suppressed Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3b9ce795fa895e192991150aac03bc3f1614f360 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Feb 24 10:13:37 2015 +1100 xfs: log unmount events on console There are times, when doing triage and forensics, that we would like to know whether a filesystem was unmounted, or if the plug was pulled without a clean unmount. Log unmounts at the same level (NOTICE) as we log mounts. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b76687910693b1f6c32a3251a8291d67363bba34 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Feb 14 18:30:29 2015 +0000 drm/i915/skl: Tune IZ hashing when subslices are unbalanced When one EU is disabled in a particular subslice, we can tune how the work is spread between subslices to improve EU utilization. v2: - Use a bitfield to record which subslice(s) has(have) 7 EUs. That will also make the machinery work if several sublices have 7 EUs. (Jeff Mcgee) - Only apply the different hashing algorithm if the slice is effectively unbalanced by checking there's a single subslice with 7 EUs. (Jeff Mcgee) v3: Fix typo in comment (Jeff Mcgee) Issue: VIZ-3845 Cc: Jeff Mcgee <jeff.mcgee@xxxxxxxxx> Reviewed-by: Jeff Mcgee <jeff.mcgee@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cb0a08c1ed7daa16d13876e3e1b8787d95b25b0e Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:47 2015 -0200 drm/i915: don't reallocate the compressed FB at every frame With the current code we just reallocate the compressed FB at every FBC update: we have X in one frame, then in the other frame we need X again, but we check "needed < have" instead of "needed <= have". v2: Rebase after Jani addressed the other problems described in v1. Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d4a269373ddb33bf7a07d9b9b5e8294b76768cb1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 16:59:27 2015 +0100 ARM: shmobile: Enable R-Mobile reset driver in multiplatform defconfig This is used on R-Mobile APE6 (r8a73a4), R-Mobile A1 (r8a7740), and SH-Mobile AG5 (sh73a0). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e489e38e3f880ec3ff3281c5ceafa3b750600556 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:43 2015 -0200 drm/i915: gen5+ can have FBC with multiple pipes So allow it. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 68b92147d53ad5a6fd59ab066210b988faf5a3c7 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:42 2015 -0200 drm/i915: HSW+ FBC is tied to pipe A So add code to consider this case. v2: Reorder the series, so drop the possible_framebuffer_bits chunk. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> (v1) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 95106753878fc3e60dde6346a71f4d0cb388cb48 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:41 2015 -0200 drm/i915: extract intel_fbc_find_crtc() I want to make this code a little more complicated, so let's extract the function first. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0cea6502bf9c40c9da43439786788c997be43df3 Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Fri Feb 13 10:27:56 2015 -0600 drm/i915: Request full SSEU enablement on Gen9 On Gen9 the render power gating can leave slice/subslice/EU in a partially enabled state. We must make an explicit request for full SSEU enablement through the Render Power Clock State register when resuming render work. This register is save/ restored in the logical ring context image for execlist submission mode. Initialize its value in each LRC image to request full enablement according to the device SSEU config. Thanks to Sharma Ankitprasad and Akash Goel for highlighting the issue and proposing the initial fix on which this patch is based. v2: Adjusted the names of the power gating support flags to fit update of an earlier patch. Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Reviewed-by: "Akash Goel <akash.goel@xxxxxxxxx>" Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f992aba1eb5a8b57d6e9c9b22cd90ba7aec0e26 Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Fri Feb 13 10:27:55 2015 -0600 drm/i915/skl: Add SKL HW status to SSEU status Add a new section to the 'i915_sseu_status' debugfs entry to report the currently enabled counts of slice, subslice, and execution units on the device. The count of enabled subslice per slice represents the most enabled subslice on any one slice for devices where imbalances may exist. Similarly, the count of enabled EU per subslice represents the most enabled EU on any one subslice. Collect this device status for Skylake by reading the Gen9 power gate control ack message registers. Power gate control operates on EU in pairs, therefore our reported counts of enabled EU can be overestimated by one for each pair in which one EU is fused-off. Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3873218f359a411bf98f6d1d6d15a44f64933163 Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Fri Feb 13 10:27:54 2015 -0600 drm/i915/skl: Determine SKL slice/subslice/EU info Read fuse registers to determine the available slice total, subslice total, subslice per slice, EU total, and EU per subslice counts of the SKL device. The EU per subslice attribute is more precisely defined as the maximum EU available on any one subslice, since available EU counts may vary across subslices due to fusing. Set flags indicating the SKL device's slice/subslice/EU (SSEU) power gating capability. Make all values available via debugfs entry 'i915_sseu_status'. v2: Several small clean-ups suggested by Damien. Most notably, used smaller types for the new device info fields to reduce memory usage and improved the clarity/readability of the method used to extract attribute values from the fuse registers. Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 744cadba1ae6b80b413aea87835855dcccad86fd Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Jan 21 14:01:37 2015 +0900 ARM: shmobile: No R-Car Gen2 CMA reservation when HIGHMEM=n Allow R-Car Gen2 platforms to boot with CMA enabled and HIGHMEM disabled. This patch adds code to check if the R-Car Gen2 specific memory reservation window is included in the kernel memory range or not. When HIGHMEM is disabled the R-Car Gen2 reservation area is outside the kernel memory range and in such case the memory reservation is simply skipped over. Without this patch the kernel boot hangs when CMA is enabled and HIGHMEM is disabled on the r8a7791 Koelsch hardware platform: WARNING: CPU: 1 PID: 1 at mm/cma.c:113 cma_init_reserved_areas+0x88/0x1d4() ... WARNING: CPU: 1 PID: 1 at mm/cma.c:121 cma_init_reserved_areas+0xf8/0x1d4() ... Unable to handle kernel NULL pointer dereference at virtual address 00000160 pgd = c0003000 [00000160] *pgd=80000040004003, *pmd=00000000 Internal error: Oops: 206 [#1] SMP ARM Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 3.19.0-rc4-koelsch-01450-g7f9b6075ce12c3ea-dirty #735 Hardware name: Generic R8A7791 (Flattened Device Tree) task: edc553c0 ti: edc56000 task.ti: edc56000 PC is at set_pfnblock_flags_mask+0x54/0xa0 LR is at 0x440 In the current shmobile_defconfig HIGHMEM is enabled while CMA is disabled, so to trigger this the kernel configuration for both CMA and HIGHMEM needs to be adjusted. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fd9454ab51fa92f43ae5b7a71c42f2ee8417c2a2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Feb 13 16:41:01 2015 -0800 ARM: shmobile: r8a7779: Remove redundant cpu_disable implementation By default only the non-boot CPUs can be hotplugged if the smp_operations structure doesn't have the cpu_disable function pointer set. r8a7779_cpu_disable() implements the same logic, only non-boot CPUs can be hotplugged, so it's redundant to override the default behavior. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bb04883b2519b23bb4d3f4f7dac51cdda9a5e61d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Tue Jan 20 20:58:20 2015 +0900 ARM: shmobile: Remove mach/uncompress.h Convert ARCH_SHMOBILE_LEGACY to make use of <debug/uncompress.h> and remove the now unused <mach/uncompress.h>. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 814979eb8494c2269f4907ef0494f199d6d06ec2 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Tue Jan 20 20:58:10 2015 +0900 ARM: shmobile: Remove mach/clkdev.h Move over ARCH_SHMOBILE_LEGACY to use the default legacy ARM implementations of __clk_get() and __clk_put() in <asm/clkdev.h> by deselecting HAVE_MACH_CLKDEV. This has the nice side effect that <mach/clkdev.h> is no longer used and can be removed. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4fa9c6e24b2dbb1bdc62280834c07c34d7d9c1f0 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Tue Jan 20 20:58:00 2015 +0900 ARM: shmobile: Remove mach/system.h The file <mach/system.h> is no longer included from anywhere so clean up the code by removing mach-shmobile/include/mach/system.h Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5b28255278dd7e594c8dde317c2498b7dcbf900d Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Sun Feb 22 18:20:09 2015 -0800 audit: reduce mmap_sem hold for mm->exe_file The mm->exe_file is currently serialized with mmap_sem (shared) in order to both safely (1) read the file and (2) audit it via audit_log_d_path(). Good users will, on the other hand, make use of the more standard get_mm_exe_file(), requiring only holding the mmap_sem to read the value, and relying on reference counting to make sure that the exe file won't dissapear underneath us. Additionally, upon NULL return of get_mm_exe_file, we also call audit_log_format(ab, " exe=(null)"). Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> [PM: tweaked subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 4766b199ef9e1ca6316ee4f8f9d80c2ba1ed0290 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Sun Feb 22 18:20:00 2015 -0800 audit: consolidate handling of mm->exe_file This patch adds a audit_log_d_path_exe() helper function to share how we handle auditing of the exe_file's path. Used by both audit and auditsc. No functionality is changed. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> [PM: tweaked subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit c6535e1e0361157ea073b57b626d0611b7c4c7a0 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:51 2015 +0900 Documentation: Remove ZBOOT MMC/SDHI utility and docs Remove ZBOOT MMC/SDHI Documentation for sh7372 together wit the vrl4 utility. Without sh7372 and Mackerel support these files are no longer useful. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit edf41009060442258ed3090fc782835c4f9f831f Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:41 2015 +0900 ARM: shmobile: sh7372 dtsi: Remove Legacy DTSI file Remove the sh7372 DTSI file for the now unsupported sh7372 SoC. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1da64fe65afe59c3143d1f8e678256df6495e7a9 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:31 2015 +0900 ARM: shmobile: sh7372: Remove DT binding documentation Remove DT compatible string documentation for the now removed sh7372 SoC. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 59b89af1d5551c12bf710840d5215a186607ca23 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:20 2015 +0900 ARM: shmobile: sh7372: Remove Legacy C SoC code Remove support for the legacy Cortex-A8 based sh7372 SoC. The Linux kernel still lacks DT bindings for the sh7372 INTC interrupt controller so DT multiplatform support is not possibile. Also, the sh7372 SoC never went into mass production anyway so to aid migration to DT multiplatform simply get rid of sh7372 support. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 10c7fcbd0f00a0d7e6039fcfcb04dca80c0ff362 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:09 2015 +0900 ARM: shmobile: sh7372: Remove ZBOOT MMC/SDHI support Remove the sh7372 implementation and the shared ZBOOT MMC and SDHI support code from the compressed ARM boot loader. With this in place it is no longer possible to boot any self-contained kernel for sh7372 directly from Mask ROM via SDHI and MMCIF hardware. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d1e068fd24c399d26880456eb5e117a188d4ce70 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:00 2015 +0900 ARM: shmobile: mackerel: Remove from MAINTAINERS Remove the mackerel_defconfig from the MAINTAINERS file. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2ed4ea34f54345d462fc27011498500d4ac31ca6 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:18:49 2015 +0900 ARM: shmobile: mackerel: Remove defconfig Remove the defconfig for the no longer supported mackerel board. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 34dc938f4ddd39851ecd2f1d21c431e6c3e3baa2 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:18:39 2015 +0900 ARM: shmobile: mackerel: Remove mach-type entry Remove the mackerel entry from the mach-types file. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1da7d6f424f7dfc557d019a172c08af0365c5739 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:18:29 2015 +0900 ARM: shmobile: mackerel: Remove DT binding documentation Remove the DT compatible string documentation for the no longer supported Mackerel board. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c1b7506b52f9a112c64a44d449fb9e2a55f2060d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:18:19 2015 +0900 ARM: shmobile: mackerel dts: Remove Legacy DTS file Remove the DTS file for the no longer supported Mackerel board. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a521422ea4ae6128474f7705f02f6ab5cebf8675 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:18:08 2015 +0900 ARM: shmobile: mackerel: Remove Legacy C board code Remove legacy C code for the sh7372 Mackerel board. There is no DT multiplatform implementation available for the sh7372 SoC so simply phase out the board and SoC code support. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 040d64d6e0ef6b583ec6572d2266b0077c6184cf Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:17:58 2015 +0900 ARM: shmobile: mackerel: Remove ZBOOT code Remove ZBOOT support code for Mackerel. With this patch in place it is no longer possible to boot a self-contained kernel directly from the reset vector. ZBOOT is still supported on kzm9g. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d4578204e7af962c70a649ce2a46dc6fbe137db6 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:57 2015 +0100 ARM: shmobile: r8a7778 dtsi: Add Bus State Controller node Add a node for the Bus State Controller (BSC) on r8a7778, to which multiple external devices can be connected. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1898fe1952c2aeb847c4aa5b897605373f0498cf Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:53 2015 +0100 ARM: shmobile: bockw: add USB, VIN pin descriptions to DT Adds pin control info for USB host and video-in devices. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 05cabb839e87a69f94d1e97fd2300b70f688122b Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:52 2015 +0100 ARM: shmobile: r8a7778: add internal ethernet controller to DT Internal Ethernet controller DT entry with clock information. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 66462be7c6f986903702505e98f42230e22bf4c7 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:50 2015 +0100 ARM: shmobile: r8a7778: add MSTP clock assignments to DT Assigns clocks to i2c*, tmu*, scif*, mmcif, sdhi*, and hspi*. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 43cbec8577cfd66713416c3ad33a9856edcaffb9 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:49 2015 +0100 ARM: shmobile: r8a7778: implement SoC and board CCF support Disables the legacy clock framework and passes the mode bits to the CPG driver if CCF is enabled. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 93aa970d2b0ce41efb7e5e6b94aaa66e8349a510 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:47 2015 +0100 ARM: shmobile: r8a7778: Common clock framework DT description Declares all r8a7778 clocks supported by the legacy clock framework, plus tmu2. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> [horms: only included dtsi changes] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 83054671d28db9f1dbac1d3d1bf3b50b128e06ba Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:46 2015 +0100 ARM: shmobile: r8a7778: add CPG register bits header Enumerates CPG driver custom clocks and MSTP clock enable bits. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8c4892a633f08edbc54b6b59a673f76bd1cd7e94 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:45 2015 +0100 ARM: shmobile: r8a7778: synchronize dts with reference platform This moves everything to the legacy dts that is missing there to make it suitable for use with multiplatform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 12920b02c0e438f2b8f636c26755a0361f9966f0 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:43:01 2015 +0100 PM / Domains: R-Mobile SYSC: Document R-Mobile APE6 (r8a73a4) binding R-Mobile APE6 (r8a73a4) is handled fine by the same driver and bindings. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d1e21e3f57513c5ac09d722590f5ad6eee7ae1df Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:04:46 2015 +0100 ARM: shmobile: ape6evm dts: Drop console= bootargs parameter Since ("ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform"), ape6evm is restricted to booting from DT, so chosen/stdout-path is always used, and we can drop the "console=" parameter from chosen/bootargs. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9d07d414d4c33d862fc41e22c473a662996b0f4e Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Feb 24 06:38:14 2015 +0900 ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform This removes the remains of the legacy ape6evm platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8ba1f188d605a1b3dca8073d43e9dfba654775b2 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Feb 17 16:04:44 2015 +0100 ARM: shmobile: ape6evm-reference: Remove board C code and DT file Now that the r8a73a4 generic multiplatform case has the same features as the APE6EVM DT reference board code, we get rid of the latter. DT reference code in the future shall make use of the r8a73a4 multiplatform support code with the generic SoC machine vector. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> [geert: Update Documentation/devicetree/bindings/arm/shmobile.txt] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e4ba0a9bddff3ba52cec100414d2f178440efc91 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:04:43 2015 +0100 ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug Currently the pin function controller (which is also a GPIO controller) is instantiated before the interrupt controllers due to the order in the DTS. At that time, the irq domains for the interrupt controllers referenced by its interrupts-extended property cannot be found yet: irq: no irq domain found for /interrupt-controller@e61c0000 ! Nevertheless, the core OF probing code ignores this failure, besides a debug message that's not normally printed: not all legacy IRQ resources mapped for pfc and continues initialization of the device. Then, the sh-pfc driver cannot find any IRQ resources, and thinks no interrupts are available, causing gpio-keys to fail later: gpio-keys keyboard: Unable to claim irq 0; error -22 gpio-keys: probe of keyboard failed with error -22 Move the pin function controller node after the interrupt controller nodes it references to work around the bug in the core OF probing code. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a656c603889c256e3d05e79e57714aa88d179903 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:04:42 2015 +0100 ARM: shmobile: ape6evm dts: Move Ethernet node to BSC Move the Ethernet node from the ad-hoc lbsc node to the BSC node, as its connected to the Bus State Controller. This allows the system to know the right position of the Ethernet node in the clock and PM domain hierarchy, and manage the clock and PM domain appropriately. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 271b3ad26187fc7b47a74510b01193b506c60dbf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:04:41 2015 +0100 ARM: shmobile: r8a73a4 dtsi: Add Bus State Controller node Add a node for the Bus State Controller (BSC) on r8a73a4, to which multiple external devices can be connected. The BSC is driven by the ZB clock, and located in PM domain C4. A reference to the latter will be added later. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 662dd64ff0691a0f2ab103448295df05dc026d5d Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jan 20 13:51:41 2015 +0100 ARM: shmobile: r8a73a4: Add MSTP clock assignments to DT Assigns clocks to dmac, i2c*, cmt1, thermal, scif*, sdhi*, and mmcif*. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ccc83dce9d4ebdfc5a74045c5a00518f08884313 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jan 20 13:51:40 2015 +0100 ARM: shmobile: ape6evm: Disable legacy clock initialization Disables r8a73a4_clock_init() if CCF is enabled. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a76809a329d6ebae6cdf995670cc770304e265c0 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jan 20 13:51:39 2015 +0100 ARM: shmobile: r8a73a4: Common clock framework DT description Declares all r8a73a4 clocks supported by the legacy clock framework. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bdba0101c7e90e60481018005654227bdfd67aec Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jan 20 13:51:38 2015 +0100 ARM: shmobile: r8a73a4: Add CPG register bits header Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 89d463ea106dba530786a2815fd174f9e6eab71f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 11:11:28 2015 +0100 drivers: bus: Add Simple Power-Managed Bus Driver Add a driver for transparent busses that don't need a real driver, but where the bus controller is part of a PM domain, or under the control of a functional clock. Typically, the bus controller's PM domain and/or clock must be enabled for child devices connected to the bus (either on-SoC or externally) to function. Hence the sole purpose of this driver is to enable its clock and PM domain (if exist(s)), which are specified in the DT and managed from platform and PM domain code, and to probe for child devices. Due to the child-parent relationship with devices connected to the bus, PM domain and clock state transitions are handled in the correct order. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b1e5bbd61eb7584caa61ab3b89f3a66c3d5b4dd3 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 11:11:27 2015 +0100 drivers: bus: Add Renesas Bus State Controller (BSC) DT Bindings The bindings for the BSC extend the bindings for "simple-pm-bus". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7e7c17f10484d3bad38ea4dddc98485a8a40e4aa Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 11:11:26 2015 +0100 drivers: bus: Add Simple Power-Managed Bus DT Bindings Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6320c41198c76f799e3e34da48a1f2a88ef4cc68 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 11:11:25 2015 +0100 drivers: bus: Sort Makefile entries alphabetically Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 13fbf3c8d0f750a52b9ddb9be7a8251789fb62b6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 11:11:24 2015 +0100 drivers: bus: Sort Kconfig entries alphabetically Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3453ca9e4f51a0e6865d303f4e428cb6f630594f Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Dec 30 23:21:45 2014 +0300 ARM: shmobile: r8a7790: add ADSP clocks Add the ADSP clocks to the CPG and MSTP5 nodes of the R8A7790 device tree. Based on the original patch by Konstantin Kozhevnikov <konstantin.kozhevnikov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ae65a8ae4c25c7ea01204c9d033cd47da3000cf8 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Dec 30 23:20:34 2014 +0300 ARM: shmobile: r8a7791: add ADSP clocks Add the ADSP clocks to the CPG and MSTP5 nodes of the R8A7791 device tree. Based on the original patch by Konstantin Kozhevnikov <konstantin.kozhevnikov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 457acc4a6ce8fe821aed4f254e72a76c88673712 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 01:26:45 2015 +0300 ARM: shmobile: henninger: add CAN0 DT support Define the Henninger board dependent part of the CAN0 device node. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3cf0188461def8f732fefce3975cab0189220574 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 01:25:25 2015 +0300 ARM: shmobile: r8a7791: add CAN DT support Define the generic R8A7791 parts of the CAN0/1 device nodes. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b324252cc18d52d5752942a8574c22229153c58f Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 01:24:08 2015 +0300 ARM: shmobile: r8a7791: add CAN clocks The R-Car CAN controllers can derive the CAN bus clock not only from their peripheral clock input (clkp1) but also from the other internal clock (clkp2) and external clock fed on CAN_CLK pin. Describe those clocks in the device tree, along with the USB_EXTAL clock from which clkp2 is derived. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6a7742b4eea5de4af68bb62c20ca56e38b8e5b8b Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 00:34:42 2015 +0300 ARM: shmobile: r8a7790: add CAN DT support Define the generic R8A7790 parts of the CAN0/1 device nodes. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 41650f406cdc4a420d5c08e1b407f6420323a04b Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 00:33:25 2015 +0300 ARM: shmobile: r8a7790: add CAN clocks The R-Car CAN controllers can derive the CAN bus clock not only from their peripheral clock input (clkp1) but also from the other internal clock (clkp2) and external clock fed on CAN_CLK pin. Describe those clocks in the device tree, along with the USB_EXTAL clock from which clkp2 is derived. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4a5fcc685a84751bbec5653e942fb3d61470a66c Author: Niklas Söderlund <niso@xxxxxx> Date: Tue Feb 17 14:31:55 2015 +0100 ARM: shmobile: emev2-kzm9d dts: Add PFC information for uart1 Configure the pinmux on kzm9d to use the serial connector for uart1. Signed-off-by: Niklas Söderlund <niso@xxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e7cdf791dbc456329703424822e85eeb31fc1a54 Author: Niklas Söderlund <niso@xxxxxx> Date: Tue Feb 17 14:31:54 2015 +0100 ARM: shmobile: emev2 dtsi: Add PFC information With this information all GPIOs can make use of the PFC functionality. Signed-off-by: Niklas Söderlund <niso@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 98f60f8600694ce05c0cba34acce4d77acaea4f9 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 15:57:42 2015 +0100 ARM: shmobile: r8a7791: smp: remap whole apmu region Documentation says the last register is at 0x184 (CAxCPUCMCR), so use proper length. Current APMU code accesses CAxCPUnCR which is currently outside of the remapped area. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1d66f72d2c79b76b7353ea4e42f33521fa839f81 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 15:57:41 2015 +0100 ARM: shmobile: r8a7790: smp: remap whole apmu region Documentation says the last register is at 0x184 (CAxCPUCMCR), so use proper length. Current APMU code accesses CAxCPUnCR which is currently outside of the remapped area. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 83a0731b39f3bc2421960e6169f8440ca673a20f Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Dec 11 01:42:12 2014 +0200 ARM: shmobile: koelsch: Add DU HDMI output support Add DT nodes for the ADV7511 HDMI encoder and its HDMI output connector and configure the DISP pin group that drives the HDMI transmitter DE pin. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2ea0d4ec39ac837e34c07b4783a7c900940e6eaf Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Thu Jan 29 10:41:24 2015 +0900 ARM: shmobile: r8a7791: Correct SDHI clock labels and output-names There appears to have been some inconsistency and confusion here as on the r8a7790 these clocks are referred to as SD(HI)1 and SD(HI)2 while on the r8a7791 and r8a7794 they are referred to as SD(HI)2 and SD(HI)3. Fixes: 59e79895b95892863 ("ARM: shmobile: r8a7791: Add clocks") Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 5e7e155483dfbf590be9b05e53ae954dced73253 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Jan 5 09:40:49 2015 +0900 ARM: shmobile: r8a7794: Correct SDHI clock base address, labels and output-names * Correct base address of SD3 div6 clk. * Update div6 clock node labels There appears to have been some inconsistency and confusion here as on the r8a7790 these clocks are referred to as SD(HI)1 and SD(HI)2 while on the r8a7791 and r8a7794 they are referred to as SD(HI)2 and SD(HI)3. This has no run-time affect as the clock nodes are not currently used. Fixes: 8e181633e6ca96049 ("ARM: shmobile: r8a7794: Add SDHI clocks to device tree") Reported-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit a895b7cda38cd2fa155be22b531d164f17ec84ec Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 10:45:56 2015 +0200 ARM: shmobile: r8a7794: alt: Enable ethernet controller Enable the ethernet controller for the Alt board. Pin muxing entries are currently left out as r8a7794 pin control support isn't available yet. We thus rely on the boot loader to configure ethernet pins for now. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 82818d3482badfa88f66b3abbac838daf7e35b97 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 10:45:55 2015 +0200 ARM: shmobile: r8a7794: Add ethernet controller to device tree Add a DT node for the on-SoC ethernet controller device. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1cb2794f608244312515ac41e82378cb2d58d74e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 11:13:25 2015 +0200 ARM: shmobile: r8a7794: Add IPMMU DT nodes Add the six IPMMU instances found in the r8a7794 to DT with a disabled status. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f1951852ed17684f6033e96a9faf3dbe67c163ae Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 11:13:24 2015 +0200 ARM: shmobile: r8a7791: Add IPMMU DT nodes Add the seven IPMMU instances found in the r8a7791 to DT with a disabled status. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 70496727c08262c69cbeac10dfefada745b46869 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 11:13:23 2015 +0200 ARM: shmobile: r8a7790: Add IPMMU DT nodes Add the six IPMMU instances found in the r8a7790 to DT with a disabled status. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bd8474853f9de32a963fb06569552833f756b63d Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 19:12:17 2015 +0200 ARM: shmobile: r8a7794: Add DMAC devices to DT Instantiate the two system DMA controllers in the r8a7794 device tree. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3ce1bc08efdd1c1dfba123e802604c0e853ae5db Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:17:39 2015 +0100 ARM: shmobile: kzm9g-reference dts: Declare the full 512 MiB of RAM Traditionally, the first 16 MiB of RAM was reserved for the RT processor. However, this is incompatible with CONFIG_AUTO_ZRELADDR=y, which requires that the start address of physical memory is a multiple of 128 MiB. As CONFIG_AUTO_ZRELADDR=y is enabled for multi-platform kernels, declare RAM to start at 0x40000000. While at it, reclaim the last 8 MiB of RAM, too, so the full 512 MiB is available. Note that kzm9g_defconfig still has CONFIG_MEMORY_START=0x41000000 and CONFIG_MEMORY_SIZE=0x1f000000, so before the advent of DT we scribbled over the last 8 MiB, too. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 89ebd5459c3c43536f3dbec19216e97179647673 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:17:38 2015 +0100 ARM: shmobile: kzm9g dts: Declare the full 512 MiB of RAM Traditionally, the first 16 MiB of RAM was reserved for the RT processor. However, this is incompatible with CONFIG_AUTO_ZRELADDR=y, which requires that the start address of physical memory is a multiple of 128 MiB. As CONFIG_AUTO_ZRELADDR=y is enabled for multi-platform kernels, declare RAM to start at 0x40000000. While at it, reclaim the last 8 MiB of RAM, too, so the full 512 MiB is available. Note that kzm9g_defconfig still has CONFIG_MEMORY_START=0x41000000 and CONFIG_MEMORY_SIZE=0x1f000000, so before the advent of DT we scribbled over the last 8 MiB, too. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 09940bf079454a17c0bc298a4ca3678ce530b858 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jan 6 20:56:06 2015 +0100 ARM: shmobile: sh73a0 dtsi: Add selectable sources to DIV6 clocks Specifies clock sources and register bits. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> [geert: Drop renesas,src-shift/renesas,src-width, pad to 4 or 8 parents] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 56a215d66b1eee870a6b90a8c245dfc3e503a137 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:56:05 2015 +0100 ARM: shmobile: sh73a0 dtsi: Add missing INTCA0 clock for irqpin module This clock drives the irqpin controller modules. Before, it was assumed enabled by the bootloader or reset state. By making it available to the driver, we make sure it gets enabled when needed, and allow it to be managed by system or runtime PM. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8ac627fa8ef0f98f914690515aa3bf376d7a880d Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 6 20:42:09 2015 +0100 ARM: shmobile: kzm9g-reference dts: Add st1232 touchscreen node Enable the kzm9g touchscreen controller in the board's DT file. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 070048dc8879499533f587b8ebdb990f5a29d08b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:42:08 2015 +0100 ARM: shmobile: kzm9g-reference dts: Add r2025sd rtc node Add a DT node for the R2025D real-time clock, which is connected to i2c0. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4bd1dd503aa2a6cfeb18a48d1da01662dd5124e1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:42:07 2015 +0100 ARM: shmobile: kzm9g-reference dts: Add adxl345 accelerometer node Add a DT node for the ADXL345 three-axis digital accelerometer sensor, which is connected to i2c0. As trivial i2c devices are matched against the first compatible entry only, compatibility is declared with "adi,adxl34x" only for now. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> The device needs an interrupt to operate properly. Specify the two interrupts used on the board. While at it rename the DT node to accelerometer@1d to describe the device's function instead of its model. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 56b7271c9dbf029d288e4fbcae72e405e56ae856 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:42:06 2015 +0100 ARM: shmobile: kzm9g-reference dts: Add ak8975 magnetometer node Add a DT node for the AK8975 magnetometer sensor, which is connected to i2c0. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Specify the device interrupt to avoid polling for end of conversion. While at it rename the DT node to compass@c to describe the device's function instead of its model. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5c9e276095a9607f530f94e219daf2996b1360fa Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:42:05 2015 +0100 ARM: shmobile: kzm9g-reference dts: Sort i2c0 children by unit address While at it rename the ak4648 node to "codec" to describe the device's function instead of its model, and move its device-specific property after its generic properties. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 48bdf06dd975fb01e54e0b0406de720ebeeb55c7 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 6 20:42:04 2015 +0100 ARM: shmobile: sh73a0 dtsi: Set control-parent for all irqpin nodes The sh73a0 INTC can't mask interrupts properly most likely due to a hardware bug. Set the control-parent property to delegate masking to the parent interrupt controller. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fe7c20fa689d3b9230be0b552f667c043d11ed75 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Wed Jan 21 17:17:39 2015 +0100 ARM: shmobile: r8a7740 dtsi: add remaining DIV6 clocks This adds the remaining DIV6 clocks and all possible parents for the SUB clock. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit aa01bf614842e774b093f4f02cbc0d473f479e7c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 20 14:08:13 2015 +0100 ARM: shmobile: Enable ape6evm board in multiplatform defconfig Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5985de6754a6fc22fbf7e4b6033d4bfa0240a63a Author: Ameen Ali <ameenali023@xxxxxxxxx> Date: Mon Feb 23 15:38:00 2015 -0500 audit: code clean up Fixed a coding style issue (unnecessary parentheses , unnecessary braces) Signed-off-by: Ameen-Ali <Ameenali023@xxxxxxxxx> [PM: tweaked subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit efef73a1a206c4b5e37e5c63a361243ed1603eff Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Mon Feb 23 15:38:00 2015 -0500 audit: don't reset working wait time accidentally with auditd During a queue overflow condition while we are waiting for auditd to drain the queue to make room for regular messages, we don't want a successful auditd that has bypassed the queue check to reset the backlog wait time. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit a77ed4e5689627b0e9ac0a3532521b31c6daa99c Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Mon Feb 23 15:37:59 2015 -0500 audit: don't lose set wait time on first successful call to audit_log_start() Copy the set wait time to a working value to avoid losing the set value if the queue overflows. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit f1aaf26224bee779012aab136e5373ce3487982c Author: Imre Palik <imrep@xxxxxxxxx> Date: Mon Feb 23 15:37:59 2015 -0500 audit: move the tree pruning to a dedicated thread When file auditing is enabled, during a low memory situation, a memory allocation with __GFP_FS can lead to pruning the inode cache. Which can, in turn lead to audit_tree_freeing_mark() being called. This can call audit_schedule_prune(), that tries to fork a pruning thread, and waits until the thread is created. But forking needs memory, and the memory allocations there are done with __GFP_FS. So we are waiting merrily for some __GFP_FS memory allocations to complete, while holding some filesystem locks. This can take a while ... This patch creates a single thread for pruning the tree from audit_add_tree_rule(), and thus avoids the deadlock that the on-demand thread creation can cause. Reported-by: Matt Wilson <msw@xxxxxxxxxx> Cc: Matt Wilson <msw@xxxxxxxxxx> Signed-off-by: Imre Palik <imrep@xxxxxxxxx> Reviewed-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 5e3d31896b8762022d36c006c4e4433658fdd181 Merge: b7853d7 f962f84 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Feb 23 15:08:37 2015 -0500 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Hi Dave, the following patch set reduces code duplication in probe/pci-resume/eeh-resume and remove/pci-suspend/eeh-error and UE-error detect/recovery paths. New helper routines have been introduced for this purpose. Pls apply this set to the net-next tree. Thanks! Patch 1 refactors the alloc/free code of adapter struct's fields into a new set of helper routines -- be_drv_init/cleanup(). Patch 2 gets rid of the be_get_initial_config() routine as be_get_config() is the place holder for related code. Patch 3 introduces a new helper routine be_func_init() to execute the initialization code used in probe/pci-resume/eeh-resume to remove code duplication. Patch 4 introduces a wrapper for scheduling/canceling error detection task on similar lines to the be_worker task. Patch 5 refactors UE error detection and recovery code on similar lines to EEH code. Cleaning up resources is done in the error detection routine followed by error recovery. Patch 6 gets rid of the lancer_test_and_set_rdy_state() routine as the same code now available in be_func_init(). Patch 7 creates a new helper routine be_resume() for all the common code in be_probe(), be_pci_resume() and be_eeh_resume(), to reduce code duplication. Patch 8 creates a new helper routine be_cleanup() for all the common cleanup code duplicated in the suspend/EEH err detection paths. Patch 9 moves be_func_init() inside be_setup() as everytime be_setup() is called, the driver will have to wait for the function/FW to be be initialized. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f962f840f81f5b9f2df136dd44872f18a82def38 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:16 2015 -0500 be2net: move be_func_init() call inside be_setup() Every time be_setup() is called, the driver will have to wait for the function/FW to be properly initialized. So, it make sense to move this call inside be_setup(). Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87ac1a5296291d557080fb544f445be3bce6c51f Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Mon Feb 23 04:20:15 2015 -0500 be2net: refactor adapter resource cleanup sequence into be_cleanup() Most of the resource cleanup sequences performed in be_suspend(), be_eeh_err_detected() and be_err_detection_task() are same. Moved the common code to a new routine be_cleanup() to avoid code duplication. 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 484d76fd5154d7d7dcc8e5928a947deb9cc0b94c Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Mon Feb 23 04:20:14 2015 -0500 be2net: refactor adapter resource initialzation sequence into be_resume() Most of the adapter initialisation sequences performed in be_resume(), be_eeh_resume() and be_err_recover() are same. Renamed be_resume() to be_pci_resume() and moved the common code to a new routine be_resume() to avoid code duplication. 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 9fa465c0ce0d99f098195d7b0a550aeb1b2a8c44 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:13 2015 -0500 be2net: remove code duplication relating to Lancer reset sequence The steps needed for Lancer's reset/initialization sequence are: a) wait for SLIPORT_STAUS RDY bit to be set b) set the SLIPORT_CONTROL IP bit c) repeat step "a" The code needed for this sequence is already covered by the be_func_init() routine (with minor modifications.) So, get rid of the lancer_test_and_set_rdy_state() and lancer_provisioning_error() routines that unnecessarily duplicate this code. Also fixed the error recovery function to take care of these changes Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0e1b319bbf345e8b8cc8bd7702cc6c33db074d9 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Mon Feb 23 04:20:12 2015 -0500 be2net: refactor error detect/recovery function Currently when an error is detected, the queue resources are being cleaned up in the recovery routine. The resources are better cleaned up in the error detection routine itself (similar to EEH code.) So, this patch re-factors error processing logic to follow the following sequence: - check if there is an error in adapter - if error, - cleanup resources - attempt recovery The patch renames lancer_recover_func() to be_err_recover() as this routine will be used in the future for error recovery on Skyhawk too. 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 eb7dd46c634fa5b2f2039791bd2e79343318d6e5 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:11 2015 -0500 be2net: use a wrapper to schedule and cancel error detection task Also rename func_recovery_work/task to err_detection_work/task as error detection is the primary goal of this task while recovery is not guaranteed. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca3de6b29d09585bdb7b5af2e12f815468120184 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:10 2015 -0500 be2net: refactor function initalization sequence into be_func_init() Function initialization sequence is executed in be_probe(), be_resume and be_eeh_resume(). Move this code to a new routine called be_func_init() to prevent code duplication. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b085ba9271a252b1e3f836ab5df202c51be4f2f Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:09 2015 -0500 be2net: get rid of be_get_initial_config() call from be_probe() Most of the code to fetch the adapter state is in be_setup()->be_get_config(). So, move the code from be_get_initial_config() to be_get_config(). Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78fad34eb8b22ce588b9ebdab39965210588e4b5 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:08 2015 -0500 be2net: move adapter fields alloc/free code to new routines The members of be_adapter struct were being allocated in two separate routines -- be_ctrl_init() and be_stats_init(). Also, some other members were allocated elsewhere. This patch moves the alloc/free code into be_drv_init/cleanup() routines. The be_pci_map_bars() routine that was called from be_ctrl_init() is now called directly from be_probe(). The new routine be_drv_init() will now be the place-holder for allocating memory for any new be_adapter{} members in the future. Some routines needed to be moved to provide forward definitions for their calls. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 929e6edea5ef8fd3d2324ba4ce5736be7d52b9d8 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Fri Jan 30 13:40:02 2015 +0200 iwlwifi: mvm: rs: better match tx response rate to the LQ table Currently rs uses the info in mac80211 tx status which is a translation of the actual rate coming up from the FW in the tx response. This is matched up against the LQ table first rate to make sure this tx frame used the current LQ table. Instead of using the translated mac80211 info it's easier and cleaner to just pass the actual tx response rate in the driver private data and use that for matching. This becomes even more important once the FW begins to decide on its own whether to use STBC/BFER/SISO. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 8a26a258bdb82db241cdc35f332f88dd67bdb9c9 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Feb 23 09:41:17 2015 -0300 [media] dvb core: only start media entity if not NULL The logic there tries to start the media entity even if it doesn't exist, causing this bug: [ 314.356162] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 314.356202] IP: [<ffffffffa02ef74c>] media_entity_pipeline_start+0x1c/0x390 [media] Reported-by: Gert-Jan van der Stroom <gjstroom@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 99a85b901eb54f62ff0c3fd6eb56e60b7b9f15c8 Merge: 135f9be c517d83 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Feb 23 16:02:19 2015 -0300 Merge tag 'v4.0-rc1' into patchwork Linux 34.0-rc1 * tag 'v4.0-rc1': (8947 commits) Linux 4.0-rc1 autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation procfs: fix race between symlink removals and traversals debugfs: leave freeing a symlink body until inode eviction Documentation/filesystems/Locking: ->get_sb() is long gone trylock_super(): replacement for grab_super_passive() fanotify: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions Cachefiles: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions VFS: (Scripted) Convert S_ISLNK/DIR/REG(dentry->d_inode) to d_is_*(dentry) SELinux: Use d_is_positive() rather than testing dentry->d_inode Smack: Use d_is_positive() rather than testing dentry->d_inode TOMOYO: Use d_is_dir() rather than d_inode and S_ISDIR() Apparmor: Use d_is_positive/negative() rather than testing dentry->d_inode Apparmor: mediated_filesystem() should use dentry->d_sb not inode->i_sb VFS: Split DCACHE_FILE_TYPE into regular and special types VFS: Add a fallthrough flag for marking virtual dentries VFS: Add a whiteout dentry type VFS: Introduce inode-getting helpers for layered/unioned fs environments kernel: make READ_ONCE() valid on const arguments blk-throttle: check stats_cpu before reading it from sysfs ... commit 04769ae3ac72f86324a189b69f53bf3bfb61acfd Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Sun Feb 22 16:23:58 2015 +0100 x86/kernel: Use kstack_end() in dumpstack_64.c i386 is already using kstack_end() in dumpstack_32.c. We should also use it to make the code clearer and unify the stack printing logic some more. Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: c: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424618638-6375-1-git-send-email-adrien+dev@xxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1fc7f61c3e604f6bf778b5c6afc2715d79ab7f36 Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Fri Feb 20 03:34:21 2015 +0100 x86/kernel: Fix output of show_stack_log_lvl() show_stack_log_lvl() does not set the log level after a new line, the following messages printed with pr_cont() are thus assigned to the default log level. This patch prepends the log level to the next message following a new line. print_trace_address() uses printk(log_lvl). Using printk() with just a log level is ignored and thus has no effect on the next pr_cont(). We need to prepend the log level directly into the message. Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424399661-20327-1-git-send-email-adrien+dev@xxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit d0bbbc4faf7bc1225ffd5d159fbe2c8dfef75333 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:16 2015 +0000 drm/i915/skl: Implement WaDisablePowerCompilerClockGating Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9505e01acd2408864ce7e60e460899f9be6ac11b Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Mon Feb 16 15:07:59 2015 +0530 drm/i915: Limit max VCO supported in CHV to 6.48GHz As per the recommendation from PHY team, limit the max vco supported in CHV to 6.48 GHz Signed-off-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Acked-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d3eee4baa0cb34e5331e857edf23ee29f2cd9427 Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Mon Feb 16 15:07:58 2015 +0530 drm/i915: Add new PHY reg definitions for lock threshold Added new PHY register definitions to control TDC buffer calibration and digital lock threshold. Signed-off-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17cabf571e50677d980e9ab2a43c5f11213003ae Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 11:20:57 2015 +0000 drm/i915: Trim the command parser allocations Currently, the command parser tries to create a secondary batch exactly as large as the original, and vmap both. This is open to abuse by userspace using extremely large batch objects, but only executing very short batches. For example, this would be if userspace were to implement a command submission ringbuffer. However, we only need to allocate pages for just the contents of the command sequence in the batch - all relocations copied to the secondary batch will reference the original batch and so there can be no access to the secondary batch outside of the explicit execution region. Testcase: igt/gem_exec_big #ivb,byt,hsw Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88308 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: John Harrison <John.C.Harrison@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1aee41f637694d4bbf91c24195f2b63e3f6badd2 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Wed Oct 29 18:51:31 2014 -0500 Add new disk to clustered array Algorithm: 1. Node 1 issues mdadm --manage /dev/mdX --add /dev/sdYY which issues ioctl(ADD_NEW_DISC with disc.state set to MD_DISK_CLUSTER_ADD) 2. Node 1 sends NEWDISK with uuid and slot number 3. Other nodes issue kobject_uevent_env with uuid and slot number (Steps 4,5 could be a udev rule) 4. In userspace, the node searches for the disk, perhaps using blkid -t SUB_UUID="" 5. Other nodes issue either of the following depending on whether the disk was found: ioctl(ADD_NEW_DISK with disc.state set to MD_DISK_CANDIDATE and disc.number set to slot number) ioctl(CLUSTERED_DISK_NACK) 6. Other nodes drop lock on no-new-devs (CR) if device is found 7. Node 1 attempts EX lock on no-new-devs 8. If node 1 gets the lock, it sends METADATA_UPDATED after unmarking the disk as SpareLocal 9. If not (get no-new-dev lock), it fails the operation and sends METADATA_UPDATED 10. Other nodes understand if the device is added or not by reading the superblock again after receiving the METADATA_UPDATED message. Signed-off-by: Lidong Zhong <lzhong@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 7d49ffcfa3cc08aa2301bf3fdb1e423a3fd33ee7 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Tue Aug 12 10:13:19 2014 -0500 Read from the first device when an area is resyncing set choose_first true for cluster read in read balance when the area is resyncing. Signed-off-by: Lidong Zhong <lzhong@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 589a1c491621ab81a1955d17d634636522c1b4c1 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 02:39:37 2014 -0500 Suspend writes in RAID1 if within range If there is a resync going on, all nodes must suspend writes to the range. This is recorded in the suspend_info/suspend_list. If there is an I/O within the ranges of any of the suspend_info, should_suspend will return 1. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit e59721ccdc65dd4fbd8f311a063ecc8f6232dbcc Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 02:30:30 2014 -0500 Resync start/Finish actions When a RESYNC_START message arrives, the node removes the entry with the current slot number and adds the range to the suspend_list. Simlarly, when a RESYNC_FINISHED message is received, node clears entry with respect to the bitmap number. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 965400eb615dfb32d62cb3319a895bd94eb9f3b4 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 02:16:58 2014 -0500 Send RESYNCING while performing resync start/stop When a resync is initiated, RESYNCING message is sent to all active nodes with the range (lo,hi). When the resync is over, a RESYNCING message is sent with (0,0). A high sector value of zero indicates that the resync is over. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 1d7e3e96117a864fe2ab3d02a14e49855319fdde Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 01:53:00 2014 -0500 Reload superblock if METADATA_UPDATED is received Re-reads the devices by invalidating the cache. Since we don't write to faulty devices, this is detected using events recorded in the devices. If it is old as compared to the mddev mark it is faulty. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 293467aa1f161cd50920ccf7fc1efa3946a4d50c Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 01:44:51 2014 -0500 metadata_update sends message to other nodes - request to send a message - make changes to superblock - send messages telling everyone that the superblock has changed - other nodes all read the superblock - other nodes all ack the messages - updating node release the "I'm sending a message" resource. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 601b515c5dcc00fa71148cd9d2405ea1f70bc9cd Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 01:28:53 2014 -0500 Communication Framework: Sending functions The sending part is split in two functions to make sure atomicity of the operations, such as the MD superblock update. Signed-off-by: Lidong Zhong <lzhong@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 4664680c389828928efc61ce3d2cf2c65ad35c97 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 01:08:29 2014 -0500 Communication Framework: Receiving 1. receive status sender receiver receiver ACK:CR ACK:CR ACK:CR 2. sender get EX of TOKEN sender get EX of MESSAGE sender receiver receiver TOKEN:EX ACK:CR ACK:CR MESSAGE:EX ACK:CR 3. sender write LVB. sender down-convert MESSAGE from EX to CR sender try to get EX of ACK [ wait until all receiver has *processed* the MESSAGE ] [ triggered by bast of ACK ] receiver get CR of MESSAGE receiver read LVB receiver processes the message [ wait finish ] receiver release ACK sender receiver receiver TOKEN:EX MESSAGE:CR MESSAGE:CR MESSAGE:CR ACK:EX 4. sender down-convert ACK from EX to CR sender release MESSAGE sender release TOKEN receiver upconvert to EX of MESSAGE receiver get CR of ACK receiver release MESSAGE sender receiver receiver ACK:CR ACK:CR ACK:CR Signed-off-by: Lidong Zhong <lzhong@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 4b26a08af92c0d9c0bce07612b56ff326112321a Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 00:52:29 2014 -0500 Perform resync for cluster node failure If bitmap_copy_slot returns hi>0, we need to perform resync. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit e94987db2ed983aea4e45d22db9e17c6bbf2a623 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 00:45:22 2014 -0500 Initiate recovery on node failure The DLM informs us in case of node failure with the DLM slot number. cluster_info->recovery_map sets the bit corresponding to the slot number and wakes up the recovery thread. The recovery thread: 1. Derives the slot number from the recovery_map 2. Locks the bitmap corresponding to the slot 3. Copies the set bits to the node-local bitmap Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 11dd35daaab86d12270d23a10e8d242846a8830a Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 00:36:26 2014 -0500 Copy set bits from another slot bitmap_copy_from_slot reads the bitmap from the slot mentioned. It then copies the set bits to the node local bitmap. This is helper function for the resync operation on node failure. bitmap_set_memory_bits() currently assumes it is only run at startup and that they bitmap is currently empty. So if it finds that a region is already marked as dirty, it won't mark it dirty again. Change bitmap_set_memory_bits() to always set the NEEDED_MASK bit if 'needed' is set. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit f9209a323547f054c7439a3bf67c45e64a054bdd Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Jun 6 12:43:49 2014 -0500 bitmap_create returns bitmap pointer This is done to have multiple bitmaps open at the same time. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit c32e3788ecc27a66bb859b67a58893cd2a32bf1b Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Wed Dec 10 18:12:12 2014 +0000 drm/i915: FIFO space query code refactor When querying the GTFIFOCTL register to check the FIFO space, the read value must be masked. The operation is repeated explicitly in several places. This change refactors the read-and-mask code into a function call. v2: rebased on top of Mika's forcewake patch set, specifically: [PATCH 8/8] drm/i915: Enum forcewake domains and domain identifiers Change-Id: Id1a9f3785cb20b82d4caa330c37b31e4e384a3ef Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5c88b4e91d3b6a3d701d7b134fa945e6309e7068 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Feb 12 10:00:01 2015 +0530 ASoC: Intel: Add memcpy32_fromio as well Export 32-bit version of memcpy for use in suspend/resume. 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 54e6beccc67129c474aad7578951112c6cf28e01 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:58 2015 +0530 ASoC: Intel: add support for platform suspend This adds support for platform suspend and resume. We ensure all pcms are suspended by invoking snd_soc_suspend() and then stop the DSP 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 fc9406ab9b4a9aac0ab9ad213993824cbe9c65ac Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:57 2015 +0530 ASoC: Intel: add support for pcm stream suspend/resume The driver didn't implement support for pcm stream suspend and resume, so add it Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e0b87d476bc13fc55e7000a84cd1d87c8fdc1f2f Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:56 2015 +0530 ASoC: Intel: add support for pause and resume in sst This adds missing pcm pause and resume ops in the driver Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7b9ca9d7e561ebdc93b43277eb69d20a0dc8f5cd Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:55 2015 +0530 ASoC: Intel: update MMX ID to 3 The updated firmware expects the MMX ID to be used as 3, so update the driver as well Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76ca1c2cd8fc0b8764c6360263e2fbca43495ab2 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:54 2015 +0530 ASoC: Intel: mark cht machine driver with nonatomic trigger The DSP messages are sent with nonatomic context, which include trigger messages, so mark the driver as nonatomic 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 48c7699fb2c799d084ce490bceea14fe04ad12a1 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:53 2015 +0530 ASoC: core: allow pcms to be registered as nonatomic ALSA core with commit 257f8cce5d40 - "ALSA: pcm: Allow nonatomic trigger operations" allows trigger ops to implemented as nonatomic. For ASoC, we can specify this in dailinks and is updated while snd_pcm is created Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 369a9f5f397fe3258ab937ec7a9c2229d0b1a015 Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Mon Feb 9 00:18:12 2015 -0800 ASoC: Intel: fix machine driver warnings this patch will fix below sparse warnings warning: incorrect type in argument 2 (different base types) expected unsigned int [unsigned] val got restricted snd_pcm_format_t [usertype] <noident> sound/soc/intel/haswell.c:61:37 sound/soc/intel/broadwell.c:115:37: sound/soc/intel/bytcr_dpcm_rt5640.c:118:37: sound/soc/intel/cht_bsw_rt5672.c:183:37: sound/soc/intel/cht_bsw_rt5645.c:208:37: Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 052a9f698268e606ca01eb1ce2a672e548f2ce11 Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Mon Feb 9 00:18:11 2015 -0800 ALSA: Add params_set_format helper Add a helper to set pcm format directly from params Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a877417ed4368b51f57e879b52793260981ddcaa Author: Olivier Gay <ogay@xxxxxxxxxxxx> Date: Tue Feb 17 14:00:03 2015 +0100 HID: expose country code in sysfs This commit exposes in sysfs the HID country code that is stored in the country member of hid_device structure. It identifies the country code of localized hardware. For example some keyboards use it to exhibit the language of the key layout. It helps the upper layer to identify the localized hardware and setup the correct language to use. For USB HID devices the country code comes for the HID descriptor and for Bluetooth HID devices it is the HIDCountryCode attribute from the SDP database. Signed-off-by: Olivier Gay <ogay@xxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 110d7f7513bbb916b8654da9e2973ac5bed929a9 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Jan 19 19:52:12 2015 +0100 x86/fpu: Don't abuse FPU in kernel threads if use_eager_fpu() AFAICS, there is no reason why kernel threads should have FPU context even if use_eager_fpu() == T. Now that interrupted_kernel_fpu_idle() does not check __thread_has_fpu() in the use_eager_fpu() case, we can remove the init_fpu() code from eager_fpu_init() and change flush_thread() called by do_execve() to initialize FPU. Note: of course, the change in flush_thread() is horrible and must be cleanuped. We need the new helper, and flush_thread() should return the error if init_fpu() fails. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150119185212.GD16427@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4b2e762e2e53c721458a83d547b222178bb72a34 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Jan 19 19:51:51 2015 +0100 x86/fpu: Always allow FPU in interrupt if use_eager_fpu() The __thread_has_fpu() check in interrupted_kernel_fpu_idle() was needed to prevent the nested kernel_fpu_begin(). Now that we have in_kernel_fpu and !__thread_has_fpu() case in __kernel_fpu_begin() does not depend on use_eager_fpu() (except clts) we can remove it. __thread_has_fpu() can be false even if use_eager_fpu(), but this case does not differ from !use_eager_fpu() case except we should not worry about X86_CR0_TS, __kernel_fpu_begin()/end() will not touch this bit. Note: I think we can kill all irq_fpu_usable() checks except in_kernel_fpu, just we need to record the state of X86_CR0_TS in __kernel_fpu_begin() and conditionalize stts() in __kernel_fpu_end(), but this needs another patch. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150119185151.GC16427@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 7aeccb83e76316b365e4b44a1dd982ee22a7d8b2 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Jan 19 19:51:32 2015 +0100 x86/fpu: __kernel_fpu_begin() should clear fpu_owner_task even if use_eager_fpu() __kernel_fpu_begin() does nothing if !__thread_has_fpu() && use_eager_fpu(), perhaps it assumes that this case is simply impossible. This is certainly not possible if in_interrupt() == T; interrupted_user_mode() should have FPU, and interrupted_kernel_fpu_idle() should fail if !__thread_has_fpu(). However, even if use_eager_fpu() == T a task can do drop_fpu(), then switch to another thread which becomes fpu_owner_task, then resume and call some function which does kernel_fpu_begin(). Say, an exiting task does a lot of things after exit_thread(), it is not safe to assume that it can't use FPU in these paths. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Link: http://lkml.kernel.org/r/20150119185132.GB16427@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6e8266e3333bd01700decf9866725e254d84f21a Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Mon Feb 9 10:38:35 2015 +0100 ARM: 8304/1: Respect NO_KERNEL_MAPPING when we don't have an IOMMU Even without an iommu, NO_KERNEL_MAPPING is still convenient to save on kernel address space in places where we don't need a kernel mapping. Implement support for it in the two places where we're creating an expensive mapping. __alloc_from_pool uses an internal pool from which we already have virtual addresses, so it's not relevant, and __alloc_simple_buffer uses alloc_pages, which will always return a lowmem page, which is already mapped into kernel space, so we can't prevent a mapping for it in that case. Signed-off-by: Jasper St. Pierre <jstpierre@xxxxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Daniel Drake <dsd@xxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 415ae101caf9fbf6746a88126494eda333174e90 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Jan 27 10:43:13 2015 +0100 ARM: 8293/1: kernel: fix pci_mmap_page_range() offset calculation The pci_mmap_page_range() API should be written to expect offset values representing PCI memory resource addresses as seen by user space, through the pci_resource_to_user() API. ARM relies on the standard implementation of pci_resource_to_user() which actually is an identity map and exports to user space PCI memory resources as they are stored in PCI devices resources structures, which represent CPU physical addresses (fixed-up using BUS to CPU address conversions) not PCI bus addresses. Therefore, on ARM platforms where the mapping between CPU and BUS address is not a 1:1 the current pci_mmap_page_range() implementation is erroneous, in that an additional shift is applied to an already fixed-up offset passed from userspace. Hence, this patch removes the mem_offset from the pgoff calculation since the offset as passed from user space already represents the CPU physical address corresponding to the resource to be mapped, ie no additional offset should be applied. Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 2b8514d0a792857b0826fe6b7c3b941cdb59a9c3 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Nov 24 16:45:12 2014 +0100 ARM: 8219/1: handle interworking and out-of-range relocations separately Currently, interworking calls on module boundaries are not supported, and are handled by the same error handling code path as non-interworking calls whose targets are simply out of range. Before modifying the handling of those out-of-range jump and call relocations in a subsequent patch, move the handling of interworking restrictions out of it. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 280836812f5f821d26393268010f211160874810 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sun Feb 22 13:52:47 2015 -0800 perf ordered_events: Stop using tool->ordered_events To figure out if ordered_events are being used when doing a flush operation, it is enough to check if there were in fact some events queued, i.e. look at oe->nr_events. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-1c5r404vy766kt5nflv88uag@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3950e03389cfc8ee9d7131074d999b5fb6bbc2bf Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 19 15:35:26 2015 -0800 HID: hid-sensor-hub: Enhance feature report set API Current API only allows setting one offset in the field. This API is extended to set multiple offsets in the field report. Also update parameters in the users of this API. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Reviewed-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6adc83fca74ab73abcbd3b394cf3a8fd3701db99 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 19 15:35:25 2015 -0800 HID: hid-sensor-hub: Enhance get feature report API Some hid sensor feature report can contain more than one reports. This API can now support receiving multiple values from the feature report. Also update the parameters in the users of this API. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 444fdf947de3bf5ac6b6ac033eb9d877a4b7e90d Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 29 12:36:30 2015 +0100 ARM: mvebu: Add Device Tree description of SDHCI for Armada 388 RD The Device Tree description of SDHCI on Armada 388 RD board was missing. This commit adds the node for it. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit ddbdc5790fb9274a5aeed49081152842d17b0932 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 29 12:36:29 2015 +0100 ARM: mvebu: Update the SDHCI node on Armada 38x The binding of the armada-380-sdhci has been extended with a new register in order to be able to use the SDR50 and DDR50 mode. This commit add the resource associated to this new register for the Armada 38x. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit b757258a5e47a4d46dd1ea03cbbe1f10122b9e39 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 29 12:36:28 2015 +0100 ARM: mvebu: Use macros for interrupt flags on Armada 38x sdhci node Instead of hardcoding the values of the interrupt flags, use the macros provided by <include/dt-bindings/interrupt-controller/irq.h> and <include/dt-bindings/interrupt-controller/arm-gic.h> for the Armada 38x SDHCI node. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit b3f4737d00de317d1549d5cb5b1dad90e19f5cec Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 19 15:33:56 2015 -0800 HID: hid-sensor-hub: Extend API for async reads Add additional flag to read in async mode. In this mode the caller will get reply via registered callback for capture_sample. Callbacks can be registered using sensor_hub_register_callback function. The usage id parameter of the capture_sample can be matched with the usage id of the requested attribute. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2b85c28a5a7cb0f6bf5899125437812e67e02f70 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:39:13 2015 -0800 regulator: qcom-rpm: Implement set_load and enable drms Pass the requested load directly to the rpm. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f4490e09694efaf7fe60ac6a1135530aa8c05ad Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:39:12 2015 -0800 regulator: core: Introduce set_load op Expose the requested load directly to the regulator implementation for hardware that does not support the normal enum based set_mode(). Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cb67126f32f008b9abe97fbfca9b23a797b2458a Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 19 15:31:26 2015 -0800 HID: hid-sensor-hub: Add support for application collection Section 4.2.5 of HID Sensor hub specification allows two methods defining sensor devices. - Each sensor device by its own collection - A top level application collection object, including multiple sensors. In the first method, each sensor can be in its own sensor application collection without a physical collection. In the second method there is a usage id for collection type, which is defined as an application collection, with multiple physical collections in it. It is possible to define fusion sensor with this and may have its own handler. If there is a callback registered for the collection type, then forward all reports for sensors in its collection to this handler. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e651a1da442ae02a50081e38309dea5e89da2d41 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 19 15:31:25 2015 -0800 HID: hid-sensor-hub: Allow parallel synchronous reads Current implementation only allows one outstanding synchronous read. This is a performance hit when user mode is requesting raw reads of sensor attributes on multiple sensors together. This change changes the mutex lock to per hid sensor hub device instead of global lock. Although request to hid sensor hub is serialized, there can be multiple outstanding read requests pending for responses via hid reports. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 96ae923ab659e37dd5fc1e05ecbf654e2f94bcbe Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Jun 6 12:35:34 2014 -0500 Gather on-going resync information of other nodes When a node joins, it does not know of other nodes performing resync. So, each node keeps the resync information in it's LVB. When a new node joins, it reads the LVB of each "online" bitmap. [TODO] The new node attempts to get the PW lock on other bitmap, if it is successful, it reads the bitmap and performs the resync (if required) on it's behalf. If the node does not get the PW, it requests CR and reads the LVB for the resync information. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 54519c5f4b398bcfe599f652b4ef4004d5fa63ff Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Jun 6 12:12:32 2014 -0500 Lock bitmap while joining the cluster Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit b97e92574c0bf335db1cd2ec491d8ff5cd5d0b49 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Jun 6 11:50:56 2014 -0500 Use separate bitmaps for each nodes in the cluster On-disk format: 0 4k 8k 12k ------------------------------------------------------------------- | idle | md super | bm super [0] + bits | | bm bits[0, contd] | bm super[1] + bits | bm bits[1, contd] | | bm super[2] + bits | bm bits [2, contd] | bm super[3] + bits | | bm bits [3, contd] | | | Bitmap super has a field nodes, which defines the maximum number of nodes the device can use. While reading the bitmap super, if the cluster finds out that the number of nodes is > 0: 1. Requests the md-cluster module. 2. Calls md_cluster_ops->join(), which sets up clustering such as joining DLM lockspace. Since the first time, the first bitmap is read. After the call to the cluster_setup, the bitmap offset is adjusted and the superblock is re-read. This also ensures the bitmap is read the bitmap lock (when bitmap lock is introduced in later patches) Questions: 1. cluster name is repeated in all bitmap supers. Is that okay? Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit cf921cc19cf7c1e99f730a2faa02d80817d684a2 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sun Mar 30 00:42:49 2014 -0500 Add node recovery callbacks DLM offers callbacks when a node fails and the lock remastery is performed: 1. recover_prep: called when DLM discovers a node is down 2. recover_slot: called when DLM identifies the node and recovery can start 3. recover_done: called when all nodes have completed recover_slot recover_slot() and recover_done() are also called when the node joins initially in order to inform the node with its slot number. These slot numbers start from one, so we deduct one to make it start with zero which the cluster-md code uses. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit ca8895d9bb41e743271c42a4438a296de891b73b Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Wed Nov 26 12:22:03 2014 -0600 Return MD_SB_CLUSTERED if mddev is clustered Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit c4ce867fdad200dfd8aa8cbe1eabc26c14c51635 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Mar 29 10:20:02 2014 -0500 Introduce md_cluster_info md_cluster_info stores the cluster information in the MD device. The join() is called when mddev detects it is a clustered device. The main responsibilities are: 1. Setup a DLM lockspace 2. Setup all initial locks such as super block locks and bitmap lock (will come later) The leave() clears up the lockspace and all the locks held. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit edb39c9deda87da5aad9c090e2e8eaf8470c852c Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Mar 29 10:01:53 2014 -0500 Introduce md_cluster_operations to handle cluster functions This allows dynamic registering of cluster hooks. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 47741b7ca7b389d1b45d7cf15edc279c9be32fa8 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Mar 7 13:49:26 2014 -0600 DLM lock and unlock functions A dlm_lock_resource is a structure which contains all information required for locking using DLM. The init function allocates the lock and acquires the lock in NL mode. The unlock function converts the lock resource to NL mode. This is done to preserve LVB and for faster processing of locks. The lock resource is DLM unlocked only in the lockres_free function, which is the end of life of the lock resource. Signed-off-by: Lidong Zhong <lzhong@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 8e854e9cfd1cc3837b4bd96643d5174a72d9f741 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Mar 7 11:21:15 2014 -0600 Create a separate module for clustering support Tagged as EXPERIMENTAL for now. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 183bdf5106af069a774146c4f910a80ad1f57485 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Mar 7 10:30:43 2014 -0600 Add number of nodes to bitmap structure for clustering Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit b8d834488fd7c0c5a79cd2bab112c37a3d3292b9 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Tue Jun 10 16:31:01 2014 -0500 md-cluster: Design Documentation Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit e0bc8d179e39a31bb3a56974374e55374fbf29be Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Feb 4 15:36:49 2015 +0100 x86/lib/memcpy_64.S: Convert memcpy to ALTERNATIVE_2 macro Make REP_GOOD variant the default after alternatives have run. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a77600cd03a44e54df99ea742e02f4899b82c8e1 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Feb 4 09:11:17 2015 +0100 x86/lib/memmove_64.S: Convert memmove() to ALTERNATIVE macro Make it execute the ERMS version if support is present and we're in the forward memmove() part and remove the unfolded alternatives section definition. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 84d95ad4cb9015ea953bf14cea05ba371d4d42bb Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Feb 4 08:57:00 2015 +0100 x86/lib/memset_64.S: Convert to ALTERNATIVE_2 macro Make alternatives replace single JMPs instead of whole memset functions, thus decreasing the amount of instructions copied during patching time at boot. While at it, make it use the REP_GOOD version by default which means alternatives NOP out the JMP to the other versions, as REP_GOOD is set by default on the majority of relevant x86 processors. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a930dc4543a2b213deb9fde12682716edff8a4a6 Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Jan 18 17:48:18 2015 +0100 x86/asm: Cleanup prefetch primitives This is based on a patch originally by hpa. With the current improvements to the alternatives, we can simply use %P1 as a mem8 operand constraint and rely on the toolchain to generate the proper instruction sizes. For example, on 32-bit, where we use an empty old instruction we get: apply_alternatives: feat: 6*32+8, old: (c104648b, len: 4), repl: (c195566c, len: 4) c104648b: alt_insn: 90 90 90 90 c195566c: rpl_insn: 0f 0d 4b 5c ... apply_alternatives: feat: 6*32+8, old: (c18e09b4, len: 3), repl: (c1955948, len: 3) c18e09b4: alt_insn: 90 90 90 c1955948: rpl_insn: 0f 0d 08 ... apply_alternatives: feat: 6*32+8, old: (c1190cf9, len: 7), repl: (c1955a79, len: 7) c1190cf9: alt_insn: 90 90 90 90 90 90 90 c1955a79: rpl_insn: 0f 0d 0d a0 d4 85 c1 all with the proper padding done depending on the size of the replacement instruction the compiler generates. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit c70e1b475f37f07ab7181ad28458666d59aae634 Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Jan 18 15:19:55 2015 +0100 x86/asm: Use alternative_2() in rdtsc_barrier() ... now that we have it. Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6620ef28c812b4782b10adb676580c2847d2bec8 Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Jan 18 12:57:41 2015 +0100 x86/lib/clear_page_64.S: Convert to ALTERNATIVE_2 macro Move clear_page() up so that we can get 2-byte forward JMPs when patching: apply_alternatives: feat: 3*32+16, old: (ffffffff8130adb0, len: 5), repl: (ffffffff81d0b859, len: 5) ffffffff8130adb0: alt_insn: 90 90 90 90 90 recompute_jump: new_displ: 0x0000003e ffffffff81d0b859: rpl_insn: eb 3e 66 66 90 even though the compiler generated 5-byte JMPs which we padded with 5 NOPs. Also, make the REP_GOOD version be the default as the majority of machines set REP_GOOD. This way we get to save ourselves the JMP: old insn VA: 0xffffffff813038b0, CPU feat: X86_FEATURE_REP_GOOD, size: 5, padlen: 0 clear_page: ffffffff813038b0 <clear_page>: ffffffff813038b0: e9 0b 00 00 00 jmpq ffffffff813038c0 repl insn: 0xffffffff81cf0e92, size: 0 old insn VA: 0xffffffff813038b0, CPU feat: X86_FEATURE_ERMS, size: 5, padlen: 0 clear_page: ffffffff813038b0 <clear_page>: ffffffff813038b0: e9 0b 00 00 00 jmpq ffffffff813038c0 repl insn: 0xffffffff81cf0e92, size: 5 ffffffff81cf0e92: e9 69 2a 61 ff jmpq ffffffff81303900 ffffffff813038b0 <clear_page>: ffffffff813038b0: e9 69 2a 61 ff jmpq ffffffff8091631e Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 8e65f6e03a90927b8de16c15da976baa6c3fff69 Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Jan 18 12:35:55 2015 +0100 x86/entry_32: Convert X86_INVD_BUG to ALTERNATIVE macro Booting a 486 kernel on an AMD guest with this patch applied, says: apply_alternatives: feat: 0*32+25, old: (c160a475, len: 5), repl: (c19557d4, len: 5) c160a475: alt_insn: 68 10 35 00 c1 c19557d4: rpl_insn: 68 80 39 00 c1 which is: old insn VA: 0xc160a475, CPU feat: X86_FEATURE_XMM, size: 5 simd_coprocessor_error: c160a475: 68 10 35 00 c1 push $0xc1003510 <do_general_protection> repl insn: 0xc19557d4, size: 5 c160a475: 68 80 39 00 c1 push $0xc1003980 <do_simd_coprocessor_error> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 669f8a900198599d3c2e2e463bafe12d30d96507 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Jan 15 09:17:12 2015 +0100 x86/smap: Use ALTERNATIVE macro ... and drop unfolded version. No need for ASM_NOP3 anymore either as the alternatives do the proper padding at build time and insert proper NOPs at boot time. There should be no apparent operational change from this patch. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit de2ff888843a22918ef15306922083739d23dad3 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Jan 13 01:38:17 2015 +0100 x86/lib/copy_user_64.S: Convert to ALTERNATIVE_2 Use the asm macro and drop the locally grown version. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 090a3f615524c3f75d09fdb37f15ea1868d79f7e Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Jan 12 18:19:40 2015 +0100 x86/lib/copy_page_64.S: Use generic ALTERNATIVE macro ... instead of the semi-version with the spelled out sections. What is more, make the REP_GOOD version be the default copy_page() version as the majority of the relevant x86 CPUs do set X86_FEATURE_REP_GOOD. Thus, copy_page gets compiled to: ffffffff8130af80 <copy_page>: ffffffff8130af80: e9 0b 00 00 00 jmpq ffffffff8130af90 <copy_page_regs> ffffffff8130af85: b9 00 02 00 00 mov $0x200,%ecx ffffffff8130af8a: f3 48 a5 rep movsq %ds:(%rsi),%es:(%rdi) ffffffff8130af8d: c3 retq ffffffff8130af8e: 66 90 xchg %ax,%ax ffffffff8130af90 <copy_page_regs>: ... and after the alternatives have run, the JMP to the old, unrolled version gets NOPed out: ffffffff8130af80 <copy_page>: ffffffff8130af80: 66 66 90 xchg %ax,%ax ffffffff8130af83: 66 90 xchg %ax,%ax ffffffff8130af85: b9 00 02 00 00 mov $0x200,%ecx ffffffff8130af8a: f3 48 a5 rep movsq %ds:(%rsi),%es:(%rdi) ffffffff8130af8d: c3 retq On modern uarches, those NOPs are cheaper than the unconditional JMP previously. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4fd4b6e5537cec5b56db0b22546dd439ebb26830 Author: Borislav Petkov <bp@xxxxxxx> Date: Sat Jan 10 20:34:07 2015 +0100 x86/alternatives: Use optimized NOPs for padding Alternatives allow now for an empty old instruction. In this case we go and pad the space with NOPs at assembly time. However, there are the optimal, longer NOPs which should be used. Do that at patching time by adding alt_instr.padlen-sized NOPs at the old instruction address. Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 48c7a2509f9e237d8465399d9cdfe487d3212a23 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Jan 5 13:48:41 2015 +0100 x86/alternatives: Make JMPs more robust Up until now we had to pay attention to relative JMPs in alternatives about how their relative offset gets computed so that the jump target is still correct. Or, as it is the case for near CALLs (opcode e8), we still have to go and readjust the offset at patching time. What is more, the static_cpu_has_safe() facility had to forcefully generate 5-byte JMPs since we couldn't rely on the compiler to generate properly sized ones so we had to force the longest ones. Worse than that, sometimes it would generate a replacement JMP which is longer than the original one, thus overwriting the beginning of the next instruction at patching time. So, in order to alleviate all that and make using JMPs more straight-forward we go and pad the original instruction in an alternative block with NOPs at build time, should the replacement(s) be longer. This way, alternatives users shouldn't pay special attention so that original and replacement instruction sizes are fine but the assembler would simply add padding where needed and not do anything otherwise. As a second aspect, we go and recompute JMPs at patching time so that we can try to make 5-byte JMPs into two-byte ones if possible. If not, we still have to recompute the offsets as the replacement JMP gets put far away in the .altinstr_replacement section leading to a wrong offset if copied verbatim. For example, on a locally generated kernel image old insn VA: 0xffffffff810014bd, CPU feat: X86_FEATURE_ALWAYS, size: 2 __switch_to: ffffffff810014bd: eb 21 jmp ffffffff810014e0 repl insn: size: 5 ffffffff81d0b23c: e9 b1 62 2f ff jmpq ffffffff810014f2 gets corrected to a 2-byte JMP: apply_alternatives: feat: 3*32+21, old: (ffffffff810014bd, len: 2), repl: (ffffffff81d0b23c, len: 5) alt_insn: e9 b1 62 2f ff recompute_jumps: next_rip: ffffffff81d0b241, tgt_rip: ffffffff810014f2, new_displ: 0x00000033, ret len: 2 converted to: eb 33 90 90 90 and a 5-byte JMP: old insn VA: 0xffffffff81001516, CPU feat: X86_FEATURE_ALWAYS, size: 2 __switch_to: ffffffff81001516: eb 30 jmp ffffffff81001548 repl insn: size: 5 ffffffff81d0b241: e9 10 63 2f ff jmpq ffffffff81001556 gets shortened into a two-byte one: apply_alternatives: feat: 3*32+21, old: (ffffffff81001516, len: 2), repl: (ffffffff81d0b241, len: 5) alt_insn: e9 10 63 2f ff recompute_jumps: next_rip: ffffffff81d0b246, tgt_rip: ffffffff81001556, new_displ: 0x0000003e, ret len: 2 converted to: eb 3e 90 90 90 ... and so on. This leads to a net win of around 40ish replacements * 3 bytes savings =~ 120 bytes of I$ on an AMD guest which means some savings of precious instruction cache bandwidth. The padding to the shorter 2-byte JMPs are single-byte NOPs which on smart microarchitectures means discarding NOPs at decode time and thus freeing up execution bandwidth. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4332195c5615bf748624094ce4ff6797e475024d Author: Borislav Petkov <bp@xxxxxxx> Date: Sat Dec 27 10:41:52 2014 +0100 x86/alternatives: Add instruction padding Up until now we have always paid attention to make sure the length of the new instruction replacing the old one is at least less or equal to the length of the old instruction. If the new instruction is longer, at the time it replaces the old instruction it will overwrite the beginning of the next instruction in the kernel image and cause your pants to catch fire. So instead of having to pay attention, teach the alternatives framework to pad shorter old instructions with NOPs at buildtime - but only in the case when len(old instruction(s)) < len(new instruction(s)) and add nothing in the >= case. (In that case we do add_nops() when patching). This way the alternatives user shouldn't have to care about instruction sizes and simply use the macros. Add asm ALTERNATIVE* flavor macros too, while at it. Also, we need to save the pad length in a separate struct alt_instr member for NOP optimization and the way to do that reliably is to carry the pad length instead of trying to detect whether we're looking at single-byte NOPs or at pathological instruction offsets like e9 90 90 90 90, for example, which is a valid instruction. Thanks to Michael Matz for the great help with toolchain questions. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit db477a3386dee183130916d6bbf21f5828b0b2e2 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Dec 30 20:27:09 2014 +0100 x86/alternatives: Cleanup DPRINTK macro Make it pass __func__ implicitly. Also, dump info about each replacing we're doing. Fixup comments and style while at it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 338ea55579d1dbd83753b10db74da747b2f1998f Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Jan 4 11:49:56 2015 +0100 x86/lib/copy_user_64.S: Remove FIX_ALIGNMENT define It is unconditionally enabled so remove it. No object file change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 2ec591ac7422048f6148c762d6cb8fb96d9a290b Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Feb 17 10:58:34 2015 +0100 EDAC, amd64_edac: Get rid of per-node driver instances ... and do the proper thing using EDAC core facilities. Cc: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit c6b97bcf8e3ee6643a7f90a54d1ef3f9e12ec245 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Thu Feb 5 22:12:42 2015 -0800 EDAC: Properly unwind on failure path in edac_init() edac_init() does not deallocate already allocated resources on failure path. Found by Linux Driver Verification project (linuxtesting.org). [ Boris: The unwind path functions have __exit annotation but are being used in an __init function, leading to section mismatches. Drop the section annotation and make them normal functions. ] Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Link: http://lkml.kernel.org/r/1423203162-26368-1-git-send-email-khoroshilov@xxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit fc7cc6b7820b54119821a3c6838ff583d796a2ab Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:58 2015 +0100 EDAC: highbank: Use static attribute groups for sysfs entries ... instead of manual device_create_file() and device_remove_file() calls. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-9-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1bf06a0d55a5d3e19b6da970d7194d6067f4204b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:57 2015 +0100 EDAC: octeon: Use static attribute groups for sysfs entries ... instead of manual device_create_file() and device_remove_file() calls. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-8-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 917c85b545851535149551b0f970e709fac94622 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:56 2015 +0100 EDAC: mpc85xx: Use static attribute groups for sysfs entries ... instead of manual device_create_file() and device_remove_file() calls. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Cc: Johannes Thumshirn <johannes.thumshirn@xxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-7-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 2eace188f6ba54078db0bc055bb161a99877f2d3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:55 2015 +0100 EDAC: i7core: Use static attribute groups for sysfs entries ... instead of manual device_create_file() and device_remove_file() calls. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> [ Add NULL terminator to i7core_dev_attrs[] caught by the build robot. ] Reported-by: Huang Ying <ying.huang@xxxxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-6-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit e97d7e38162dc305b4734a316ca758a2bbd1fa6e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:54 2015 +0100 EDAC: i7core: Return proper error codes for kzalloc() errors ... instead of possibly uninitialized return value. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-5-git-send-email-tiwai@xxxxxxx [ Add a commit message, albeit a small one. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit e339f1ec979a4ab14b497114e39b8ab70bd0215d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:53 2015 +0100 EDAC: amd64: Use static attribute groups Instead of calling device_create_file() and device_remove_file() manually, pass the static attribute groups with the new edac_mc_add_mc_with_groups(). The conditional creation of inject sysfs files is done by a proper is_visible callback. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-4-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4e8d230de9c1dff8e587ae769e46fcddb3d98f1c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:52 2015 +0100 EDAC: Allow to pass driver-specific attribute groups Add edac_mc_add_mc_with_groups() for initializing the mem_ctl_info object with the optional attribute groups. This allows drivers to pass additional sysfs entries without manual (and racy) device_create_file() and co calls. edac_mc_add_mc() is kept as is, just calling edac_mc_add_with_groups() with NULL groups. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-3-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 2c1946b6d6290c74c6ad8d0915590d64f33a034d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:51 2015 +0100 EDAC: Use static attribute groups for managing sysfs entries Instead of manual calls of device_create_file() and device_remove_file(), use static attribute groups with proper is_visible callbacks for managing the sysfs entries. This simplifies the code a lot and avoids the possible races. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-2-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 7260194595a23e6e762cd444cb40044fd5fa25c0 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 2 18:26:34 2015 +0100 EDAC: Delete unnecessary checks before pci_dev_put() The pci_dev_put() function tests whether its argument is NULL and thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/54CFC12C.9010002@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 5fb5aeeeb65726c62dc39986d7a080309259e29c Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Mon Feb 23 22:39:13 2015 +1100 xfs: pass mp to XFS_WANT_CORRUPTED_RETURN Today, if we hit an XFS_WANT_CORRUPTED_RETURN we don't print any information about which filesystem hit it. Passing in the mp allows us to print the filesystem (device) name, which is a pretty critical piece of information. Tested by running fsfuzzer 'til I hit some. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit c29aad41159829c0e1dcbf06c8e02284993b7901 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Mon Feb 23 22:39:08 2015 +1100 xfs: pass mp to XFS_WANT_CORRUPTED_GOTO Today, if we hit an XFS_WANT_CORRUPTED_GOTO we don't print any information about which filesystem hit it. Passing in the mp allows us to print the filesystem (device) name, which is a pretty critical piece of information. Tested by running fsfuzzer 'til I hit some. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 58c904734cd0917cd0953067dd68003572407c7b Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 22:38:08 2015 +1100 xfs: inodes are new until the dentry cache is set up Al Viro noticed a generic set of issues to do with filehandle lookup racing with dentry cache setup. They involve a filehandle lookup occurring while an inode is being created and the filehandle lookup racing with the dentry creation for the real file. This can lead to multiple dentries for the one path being instantiated. There are a host of other issues around this same set of paths. The underlying cause is that file handle lookup only waits on inode cache instantiation rather than full dentry cache instantiation. XFS is mostly immune to the problems discovered due to it's own internal inode cache, but there are a couple of corner cases where races can happen. We currently clear the XFS_INEW flag when the inode is fully set up after insertion into the cache. Newly allocated inodes are inserted locked and so aren't usable until the allocation transaction commits. This, however, occurs before the dentry and security information is fully initialised and hence the inode is unlocked and available for lookups to find too early. To solve the problem, only clear the XFS_INEW flag for newly created inodes once the dentry is fully instantiated. This means lookups will retry until the XFS_INEW flag is removed from the inode and hence avoids the race conditions in questions. THis also means that xfs_create(), xfs_create_tmpfile() and xfs_symlink() need to finish the setup of the inode in their error paths if we had allocated the inode but failed later in the creation process. xfs_symlink(), in particular, needed a lot of help to make it's error handling match that of xfs_create(). Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 81ceefa49e26069d05f2c3350930d2896de0baeb Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Feb 6 16:51:44 2015 +0530 dmaengine: qcom_bam_dma: Fix error path in probe function Calls tasklet_kill() in error path of the probe function were missing. Add the same in error path. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 723cac48473358939759885a18e8df113ea96138 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:47:29 2015 +1100 xfs: lock out page faults from extent swap operations Extent swap operations are another extent manipulation operation that we need to ensure does not race against mmap page faults. The current code returns if the file is mapped prior to the swap being done, but it could potentially race against new page faults while the swap is in progress. Hence we should use the XFS_MMAPLOCK_EXCL for this operation, too. While there, fix the error path handling that can result in double unlocks of the inodes when cancelling the swapext transaction. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0f9160b444e4de33b65dfcd3b901358a3129461a Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:46:58 2015 +1100 xfs: xfs_setattr_size no longer races with page faults Now that truncate locks out new page faults, we no longer need to do special writeback hacks in truncate to work around potential races between page faults, page cache truncation and file size updates to ensure we get write page faults for extending truncates on sub-page block size filesystems. Hence we can remove the code in xfs_setattr_size() that handles this and update the comments around the code tha thandles page cache truncate and size updates to reflect the new reality. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e8e9ad42c1f1e1bfbe0e8c32c8cac02e9ebfb7ef Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:45:32 2015 +1100 xfs: take i_mmap_lock on extent manipulation operations Now we have the i_mmap_lock being held across the page fault IO path, we now add extent manipulation operation exclusion by adding the lock to the paths that directly modify extent maps. This includes truncate, hole punching and other fallocate based operations. The operations will now take both the i_iolock and the i_mmaplock in exclusive mode, thereby ensuring that all IO and page faults block without holding any page locks while the extent manipulation is in progress. This gives us the lock order during truncate of i_iolock -> i_mmaplock -> page_lock -> i_lock, hence providing the same lock order as the iolock provides the normal IO path without involving the mmap_sem. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 075a924d45cc69c75a35f20b4912b85aa98b180a Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:44:54 2015 +1100 xfs: use i_mmaplock on write faults Take the i_mmaplock over write page faults. These come through the ->page_mkwrite callout, so we need to wrap that calls with the i_mmaplock. This gives us a lock order of mmap_sem -> i_mmaplock -> page_lock -> i_lock. Also, move the page_mkwrite wrapper to the same region of xfs_file.c as the read fault wrappers and add a tracepoint. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit de0e8c20ba3a65b0f15040aabbefdc1999876e6b Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:44:19 2015 +1100 xfs: use i_mmaplock on read faults Take the i_mmaplock over read page faults. These come through the ->fault callout, so we need to wrap the generic implementation with the i_mmaplock. While there, add tracepoints for the read fault as it passes through XFS. This gives us a lock order of mmap_sem -> i_mmaplock -> page_lock -> i_lock. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 653c60b633a9019a54a80d64b5ed33ecb214823c Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:43:37 2015 +1100 xfs: introduce mmap/truncate lock Right now we cannot serialise mmap against truncate or hole punch sanely. ->page_mkwrite is not able to take locks that the read IO path normally takes (i.e. the inode iolock) because that could result in lock inversions (read - iolock - page fault - page_mkwrite - iolock) and so we cannot use an IO path lock to serialise page write faults against truncate operations. Instead, introduce a new lock that is used *only* in the ->page_mkwrite path that is the equivalent of the iolock. The lock ordering in a page fault is i_mmaplock -> page lock -> i_ilock, and so in truncate we can i_iolock -> i_mmaplock and so lock out new write faults during the process of truncation. Because i_mmap_lock is outside the page lock, we can hold it across all the same operations we hold the i_iolock for. The only difference is that we never hold the i_mmaplock in the normal IO path and so do not ever have the possibility that we can page fault inside it. Hence there are no recursion issues on the i_mmap_lock and so we can use it to serialise page fault IO against inode modification operations that affect the IO path. This patch introduces the i_mmaplock infrastructure, lockdep annotations and initialisation/destruction code. Use of the new lock will be in subsequent patches. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 7c6cc8f2012f4146b05b8ec7238f98884100db8c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 17 01:48:19 2015 +0000 ASoC: fsi: Configure DMA slave settings Current FSI driver is assuming that dst_addr/src_addr of DMAEngine will be set by platform data. But it should be set via dmaengine_slave_config(). Special thanks to Arnd Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5b7cdc8068e3f02ff4c6ef75bd7398af244869d4 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 17 01:48:08 2015 +0000 ASoC: fsi: remove slave_id settings for DMAEngine Current fsi sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e95ddb5bda7333f0269347dc48ff214f9c216d5b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Feb 17 01:47:53 2015 +0000 spi: sh-msiof: remove slave_id settings for DMAEngine Current sh-msiof sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 118dad437f8dc8af6f531189d37c7db5ac7d51d4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Feb 17 01:47:41 2015 +0000 spi: rspi: remove slave_id settings for DMAEngine Current rspi sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4b93d9d4e5b6c90d6154bdb22a3544abe5e4e41a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Feb 17 01:47:27 2015 +0000 mtd: sh_flctl: remove slave_id settings for DMAEngine Current sh_flctl sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b76924a0193fe1f221e3f52a410247e4a1da5c5a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 17 01:47:11 2015 +0000 mmc: tmio_mmc: remove slave_id settings for DMAEngine Current tmio_mmc sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5f48dd0690cbcea3f35b9ef2f05d5468dedc80b0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 17 01:47:01 2015 +0000 mmc: sh_mmcif: remove slave_id settings for DMAEngine Current sh_mmcif sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit bfe446e37c4efd8ade454911e8f80414bcbfc10d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 11 11:21:11 2014 +0100 of: Add of_graph_get_port_by_id function This patch adds a function to get a port device tree node by port id, or reg property value. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 411fdaf846afb0be1b54383c184f58a42fa416ff Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Feb 17 01:46:49 2015 +0000 dmaengine: shdma: use normal interface for passing slave id in dma_slave_config, which is incompatible with the way that the dmaengine API normally works. I've had a closer look at the existing code now and found that all slave drivers that pass a slave_id in dma_slave_config for SH do that right after passing the same ID into shdma_chan_filter, so we can just rely on that. However, the various shdma drivers currently do not remember the slave ID that was passed into the filter function when used in non-DT mode and only check the value to find a matching channel, unlike all other drivers. There might still be drivers that are not part of the kernel that rely on setting the slave_id to some other value, so to be on the safe side, this adds another 'real_slave_id' field to shdma_chan that remembers the ID and uses it when a driver passes a zero slave_id in dma_slave_config, like most drivers do. Eventually, the real_slave_id and slave_id fields should just get merged into one field, but that requires other changes. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ee8905963ed0bc9dfc0952dc35e16e233c10e212 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Apr 14 17:53:25 2014 +0200 of: Add for_each_endpoint_of_node helper macro Note that while of_graph_get_next_endpoint decrements the reference count of the child node passed to it, of_node_put(child) still has to be called manually when breaking out of the loop. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit f033c0bcc53675562200680f4cb4a86710d9fbae Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Dec 1 13:32:32 2014 +0100 of: Decrement refcount of previous endpoint in of_graph_get_next_endpoint Decrementing the reference count of the previous endpoint node allows to use the of_graph_get_next_endpoint function in a for_each_... style macro. All current users of this function that pass a non-NULL prev parameter (that is, soc_camera and imx-drm) are changed to not decrement the passed prev argument's refcount themselves. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 964aa8d9e4d36e0e54a88683d14c7d5b9d02aed8 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:24:37 2015 +1100 xfs: remove xfs_mod_incore_sb API Now that there are no users of the bitfield based incore superblock modification API, just remove the whole damn lot of it, including all the bitfield definitions. This finally removes a lot of cruft that has been around for a long time. Credit goes to Christoph Hellwig for providing a great patch connecting all the dots to enale us to do this. This patch is derived from that work. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0bd5ddedccca4451ac2390d1155b4ab74b990eff Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:24:11 2015 +1100 xfs: replace xfs_mod_incore_sb_batched Introduce helper functions for modifying fields in the superblock into xfs_trans.c, the only caller of xfs_mod_incore_sb_batch(). We can then use these directly in xfs_trans_unreserve_and_mod_sb() and so remove another user of the xfs_mode_incore_sb() API without losing any functionality or scalability of the transaction commit code.. Based on a patch from Christoph Hellwig. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit bab98bbe6e1e38bf2fa5018a195608553095f51b Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:22:54 2015 +1100 xfs: introduce xfs_mod_frextents Add a new helper to modify the incore counter of free realtime extents. This matches the helpers used for inode and data block counters, and removes a significant users of the xfs_mod_incore_sb() interface. Based on a patch originally from Christoph Hellwig. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 5681ca40064fdb3efe477a604d690ab0425708b3 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:22:31 2015 +1100 xfs: Remove icsb infrastructure Now that the in-core superblock infrastructure has been replaced with generic per-cpu counters, we don't need it anymore. Nuke it from orbit so we are sure that it won't haunt us again... Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0d485ada404b3614b045e574bec26aaf5d9b3c5b Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Feb 23 21:22:03 2015 +1100 xfs: use generic percpu counters for free block counter XFS has hand-rolled per-cpu counters for the superblock since before there was any generic implementation. The free block counter is special in that it is used for ENOSPC detection outside transaction contexts for for delayed allocation. This means that the counter needs to be accurate at zero. The current per-cpu counter code jumps through lots of hoops to ensure we never run past zero, but we don't need to make all those jumps with the generic counter implementation. The generic counter implementation allows us to pass a "batch" threshold at which the addition/subtraction to the counter value will be folded back into global value under lock. We can use this feature to reduce the batch size as we approach 0 in a very similar manner to the existing counters and their rebalance algorithm. If we use a batch size of 1 as we approach 0, then every addition and subtraction will be done against the global value and hence allow accurate detection of zero threshold crossing. Hence we can replace the handrolled, accurate-at-zero counters with generic percpu counters. Note: this removes just enough of the icsb infrastructure to compile without warnings. The rest will go in subsequent commits. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a072f809b69885c77262fb978b008ef9488d513e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sun Feb 22 12:24:18 2015 +0100 drm/atomic: Rename drm_atomic_helper_commit_pre_planes() state argument The argument contains a pointer to the old state, rename it to old_state like in all other commit helper functions. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 31c946e85ce6b48ce0f25e3cdca8362e4fe8b300 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 12:24:17 2015 +0100 drm: If available use atomic state in getcrtc ioctl This way drivers fully converted to atomic don't need to update these legacy state variables in their modeset code any more. Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e88b64ea1f3da64dbb52636377be295c90367377 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:19:53 2015 +1100 xfs: use generic percpu counters for free inode counter XFS has hand-rolled per-cpu counters for the superblock since before there was any generic implementation. The free inode counter is not used for any limit enforcement - the per-AG free inode counters are used during allocation to determine if there are inode available for allocation. Hence we don't need any of the complexity of the hand-rolled counters and we can simply replace them with generic per-cpu counters similar to the inode counter. This version introduces a xfs_mod_ifree() helper function from Christoph Hellwig. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 17a38d9c254bf4e3b0d8b7ccd5c1988cb63730ff Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 12:24:16 2015 +0100 drm: Add DRM_DEBUG_ATOMIC Atomic state handling adds a lot of indirection and complexity between simple updates and drivers. For easier debugging the diagnostic output is therefore rather chatty. Which is great for tracking down atomic issues, but really annoying otherwise. Add a new DRM_DEBUG_ATOMIC to be able to filter this out. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 7f50002fc602ba7870df554f91a76434c9404f5d Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 02:50:23 2015 +0200 drm/atomic-helpers: Fix documentation typos and wrong copy&paste The kerneldoc blocks for the drm_atomic_helper_*_set_property() functions seem to have been copied from the plane disable handler without being properly updated. Fix them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 498b8738485ab1a327163f771953f32cf35ca3b5 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 16 15:12:31 2015 +0000 drm: Fix the CRTC_STEREO_DOUBLE_ONLY define to include stero modes The CRTC_STEREO_DOUBLE_ONLY define was introduced in commit: commit ecb7e16bf187bc369cf6a5cd108582c01329980d Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Dec 1 15:40:09 2014 -0800 drm: add helper to get crtc timings (v5) but if we want the stereo h/v adjustments, we need to set the CRTC_STEREO_DOUBLE flag. Otherwise, we'll get the wrong h/v for frame packing stereo 3d modes. Cc: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30b79f062ea0ab5df3afdfeb503794a5b4beb8f1 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Feb 13 15:53:31 2015 +0000 drm: Fix drm_crtc_vblank_get() documentation drm_crtc_vblank_get() is the new drm_vblank_get(), not the new drm_vblank_off(). Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 501ab32387533924b211cacff36d19296414ec0b Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Feb 23 21:19:28 2015 +1100 xfs: use generic percpu counters for inode counter XFS has hand-rolled per-cpu counters for the superblock since before there was any generic implementation. There are some warts around the use of them for the inode counter as the hand rolled counter is designed to be accurate at zero, but has no specific accurracy at any other value. This design causes problems for the maximum inode count threshold enforcement, as there is no trigger that balances the counters as they get close tothe maximum threshold. Instead of designing new triggers for balancing, just replace the handrolled per-cpu counter with a generic counter. This enables us to update the counter through the normal superblock modification funtions, but rather than do that we add a xfs_mod_icount() helper function (from Christoph Hellwig) and keep the percpu counter outside the superblock in the struct xfs_mount. This means we still need to initialise the per-cpu counter specifically when we read the superblock, and vice versa when we log/write it, but it does mean that we don't need to change any other code. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ee3c7795e54f405fbd278b17d2e0cd8ca1c92b69 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 15:11:20 2015 +0100 drm: WARN if drm_handle_vblank is called errornously KMS drivers are in full control of their irq and vblank handling, if they get a vblank interrupt before drm_vblank_init or after drm_vblank_cleanup that's just a driver bug. For ums driver there's only r128 and radeon which support vblank, and they call drm_vblank_init in their driver load functions. Which again means that userspace can do whatever it wants with interrupt, vblank structures will always be there. So this should never happen, let's catch driver issues with a WARN_ON. Motivated by some discussions with Imre. v2: Use WARN_ON_ONCE as suggested by Imre. Cc: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 3bff93d64cf59f0e4547d5893adccc3925a14380 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 15:11:19 2015 +0100 drm/irq: Don't call ->get_vblank_counter directly from irq_uninstall/cleanup The pipe might already have been shut down, and then it's not a good idea to call hw accessor functions. Instead use the same logic as drm_vblank_off which has all the necessary checks to avoid troubles or inconsistency. Noticed by Imre while reviewing my patches to remove some sanity checks from ->get_vblank_counter. v2: Try harder. disable_and_save can still access the vblank stuff when vblank->enabled isn't set. It has to, since vlbank irq could be disable but the pipe is still on when being called from drm_vblank_off. But we still want to use that code for more code sharing. So add a check for vblank->enabled on top - if that's not set we shouldn't have anyone waiting for the vblank. If we have that's a pretty serious bug. The other issue that Imre spotted is drm_vblank_cleanup. That code again calls disable_and_save and so suffers from the same issues. But really drm_irq_uninstall should have cleaned that all up, so replace the code with WARN_ON. Note that we can't delete the timer cleanup since drivers aren't required to use drm_irq_install/uninstall, but can do their own irq handling. v3: Make it clear that all that gunk in drm_irq_uninstall is really just bandaids for UMS races between the irq/vblank code. In UMS userspace is in control of enabling/disabling interrupts in general and vblanks specifically. v4: Imre observed that KMS drivers all call drm_vblank_cleanup before drm_irq_uninstall (as they should), so again the code in there is dead for KMS (due to dev->num_crtcs == 0 after drm_vblank_cleanup). Or should be, so only WARN for KMS - with UMS userspace could try to do evil things. v5: After more discussion on irc we've gone back to v3: the del_timer_sync is required in all cases in drm_vblank_cleanup, but let's restrict the WARN_ON to kms drivers only. Imre was also concerned that bad things could happen without the disable_and_save call. But we immediately free vblank structures afterwards which makes the save useless. And drm_handle_vblank has a check for dev->num_crtcs to avoid surprises with ums. Cc: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 1e3feefd5a24da1685c518e20ba9624cd593d0a1 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 13 21:03:45 2015 +0100 drm/i915: Switch to drm_crtc variants of vblank functions Where possible right now. Just a small step towards nirvana ... v2: git add. Uggh. Noticed by Imre. Cc: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f3a5c3f62f6412907798416fda4f2db04ee41755 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 13 21:03:44 2015 +0100 drm/i915: Flatten DRIVER_MODESET checks in i915_irq.c UMS is no more! Cc: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 1efa2e357e4ca0a050b9da6f5f8e0d3fc42bb2f7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 13 21:03:43 2015 +0100 drm/i915: Drop pipe_enable checks in vblank funcs With Ville's rework to use drm_crtc_vblank_on/off the core will take care of rejecting drm_vblank_get calls when the pipe is off. Also the core won't call the get_vblank_counter hooks in that case either. And since we've dropped ums support recently we can now remove these hacks, yay! Noticed while trying to answer questions Laurent had about how the new atomic helpers work. Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9625604cebcb3f5be2e692408274734e8ae63979 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 13 21:03:42 2015 +0100 drm/irq: Add drm_crtc_vblank_reset At driver load we need to tell the vblank code about the state of the pipes, so that the logic around reject vblank_get when the pipe is off works correctly. Thus far i915 used drm_vblank_off, but one of the side-effects of it is that it also saves the vblank counter. And for that it calls down into the ->get_vblank_counter hook. Which isn't really a good idea when the pipe is off for a few reasons: - With runtime pm the register might not respond. - If the pipe is off some datastructures might not be around or unitialized. The later is what blew up on gen3: We look at intel_crtc->config to compute the vblank counter, and for a disabled pipe at boot-up that's just not there. Thus far this was papered over by a check for intel_crtc->active, but I want to get rid of that (since it's fairly race, vblank hooks are called from all kinds of places). So prep for that by adding a _reset functions which only does what we really need to be done at driver load: Mark the vblank pipe as off, but don't do any vblank counter saving or event flushing - neither of that is required. v2: Clarify the code flow slightly as suggested by Ville. v3: Fix kerneldoc spelling, spotted by Laurent. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> (v2) Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f36abc869886ac91f88c72d21835497686228558 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Fri Feb 20 01:31:57 2015 +0100 ARM: dts: rockchip: enable gmac on rk3288-firefly This was left out of the original firefly board definition due to the ethernet support going completely through the network tree, making the underlying nodes unavailable. Now that everything is present enable the gmac on the firefly. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 055b0c6753f315ad6922b86bdfa352733de5f674 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Feb 19 22:46:45 2015 +0100 ARM: dts: rockchip: enable usbphy on rk3288-firefly Enable the usb phys on the firefly board. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e537c9ccfab694281de8b6966bfa14e8d2bd9a69 Author: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Date: Fri Dec 12 23:17:02 2014 +0800 ARM: dts: rockchip: Enable usb PHY on rk3288-evb board Enable usb PHY for all usb ports on rk3288-evb. Signed-off-by: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit f6db7029bb266fafe7679792514c1f26556fd61e Author: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Date: Fri Dec 12 23:12:21 2014 +0800 ARM: dts: rockchip: add rk3288 usb PHY This patch adds a device_node for RK3288 SoC usb phy. It also defines the phy to be used by three usb controllers: usb_host0/1 and usb_otg. Signed-off-by: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit a198d27cb4d34de1fde22989c5fa536a951f6303 Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Tue Feb 10 19:52:28 2015 -0800 ARM: sunxi_defconfig: increase the number of maximum number of CPUs to 8 The a80 optimus has 8 CPUs. I propose we increase the maximum number of CPUs to 8 to avoid the following warning identified during automated boot testing [1]. ------------[ cut here ]------------ WARNING: CPU: 0 PID: 0 at ../arch/arm/kernel/devtree.c:144 arm_dt_init_cpu_maps+0x110/0x1e0() DT /cpu 5 nodes greater than max cores 4, capping them CPU: 0 PID: 0 Comm: swapper Not tainted 3.19.0-00528-gbdccc4edeb03 #1 Hardware name: Allwinner sun9i Family [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [] (show_stack) from [] (dump_stack+0x74/0x90) [] (dump_stack) from [] (warn_slowpath_common+0x70/0xac) [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x30/0x40) [] (warn_slowpath_fmt) from [] (arm_dt_init_cpu_maps+0x110/0x1e0) [] (arm_dt_init_cpu_maps) from [] (setup_arch+0x634/0x8d4) [] (setup_arch) from [] (start_kernel+0x88/0x3ac) [] (start_kernel) from [<20008074>] (0x20008074) ---[ end trace cb88537fdc8fa200 ]--- [1] http://storage.kernelci.org/mainline/v3.19-528-gbdccc4edeb03/arm-sunxi_defconfig/lab-tbaker/boot-sun9i-a80-optimus.html Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ef146afaa87b4a2a2e7a51fc8bfd40de98a42b2f Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Feb 3 06:22:05 2015 +0800 ARM: multi_v7_defconfig: Enable CONFIG_PHY_SUN9I_USB On sun9i we have a new PHY driver for USB. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit bba0f0e1d39767ff98fbf6393c89a573203915eb Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Feb 3 06:22:04 2015 +0800 ARM: sunxi_defconfig: Enable CONFIG_PHY_SUN9I_USB On sun9i we have a new PHY driver for USB. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 71f32f56cb54303a1b6ce6811373f57d87de40d3 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jan 28 03:54:07 2015 +0800 clk: sunxi: Add support for sun9i A80 USB clocks and resets The USB controller/phy clocks and reset controls are in a separate address block, unlike previous SoCs where they were in the clock controller. Also, access to the address block is controlled by a clock gate to AHB. Add support for resets requiring a clock to be enabled when asserting/deasserting the reset controls, and add the sun9i USB clocks. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6089ef19c9dadaf0e3378f75eca65af861cd3974 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jan 28 03:54:06 2015 +0800 clk: sunxi: Move USB clocks to separate file The USB clocks originally shared code with the gates clocks, but had additional reset controllers. Move these to a separate file. This will allow us to add new support for slightly different USB clocks, such as on the A80, without affecting gates clocks, and also facilitate the migration of gates clocks to a generic solution. This also cleans up the USB clocks code slightly, such as adding newlines, getting rid of the unused clkdev call, using a simple u32 instead of BITMAP for the clock masks, using BIT() macro to declare the clock bitmasks, and using of_io_request_and_map() to get the I/O address. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cc72da7d4d063ab9e690e56e0ef1ca1c24ee1635 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 16:00:22 2015 +0100 ALSA: hda - Use standard runtime PM for codec power-save control Like the previous transition of suspend/resume, now move the power-save code to the standard runtime PM. As usual for runtime PM, it's a bit tricky, but this simplified codes a lot in the end. For keeping the usage compatibility, power_save module option still controls the whole power-saving behavior on all codecs. The value is translated to pm_runtime_*_autosuspend() and pm_runtime_allow() / pm_runtime_forbid() calls. snd_hda_power_up() and snd_hda_power_down() are translated to pm_runtime_get_sync() and pm_runtime_put_autosuspend(), respectively. Since we can do call pm_runtime_get_sync() more reliably, the sync version is used always and snd_hda_power_up_d3wait() is dropped. Another slight difference is that snd_hda_power_up()/down() don't call runtime_pm code during the suspend/resume transition phase. Calling them there isn't safe unlike our own code, resulted in unexpected behavior (endless wakeups). The hda_power_count tracepoint was removed, as it doesn't match well with the new code. Last but not least, we need to set ignore_children flag in the parent dev.power field so that the runtime PM of the controller chip won't get confused. The notification is still done in the bus pm_notify callback. We'll get rid of this hack in the later patch. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 59ed1eade1d6ec24751baca99305f9713a5d779e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 18 15:39:59 2015 +0100 ALSA: hda - Move codec suspend/resume to codec driver This patch moves the suspend/resume mechanisms down to each codec driver level, as we have a proper codec driver bound on the bus now. Then we get the asynchronous PM gratis without fiddling much in the driver level. As a soft-landing transition, implement the common suspend/resume pm ops for hda_codec_driver and keep the each codec driver intact. Only the callers of suspend/resume in the controller side (azx_suspend() and azx_resume()) are removed. Another involved place is azx_bus_reset() calling the temporary suspend and resume as a hackish method of bus reset. The HD-audio core provide a helper function snd_hda_bus_reset() instead. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d8a766a16ed90c4b3bd7afa6e1417f8d715db507 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 17 15:25:37 2015 +0100 ALSA: hda - Bind codecs via standard bus Now we create the standard HD-audio bus (/sys/bus/hdaudio), and bind the codec driver with the codec device over there. This is the first step of the whole transition so that the changes to each codec driver are kept as minimal as possible. Each codec driver needs to register hda_codec_driver struct containing the currently existing preset via the new helper macro module_hda_codec_driver(). The old hda_codec_preset_list is replaced with this infrastructure. The generic parsers (for HDMI and other) are also included in the preset with the special IDs to bind uniquely. In HD-audio core side, the device binding code is split to hda_bind.c. It provides the snd_hda_bus_type implementation to match the codec driver with the given codec vendor ID. It also manages the module auto-loading by itself like before: when the matching isn't found, it tries to probe the corresponding codec modules, and finally falls back to the generic drivers. (The special ID mentioned above is set at this stage.) The only visible change to outside is that the hdaudio sysfs entry now appears in /sys/bus/devices, not as a sound class device. More works to move the suspend/resume and remove ops will be (hopefully) done in later patches. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 327ef4f02582d01f7eedb291794106823b44a0cf Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 17 17:15:04 2015 +0100 ALSA: hda - Decouple PCM and hwdep devices from codec object This is a preliminary patch for the hda_bus implementation, removing the parent device setup to codec device. Since the bus and the class devices can't be crossed over, leave the sound devices to the default parent device as is. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 72f770c6acde425eaad8f482969a785af4512f4f Merge: 0eee62e c72638b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:15:02 2015 +0100 Merge branch 'topic/timestamp' into for-next commit 0eee62e08c0b3ba068472b899cdda08cf4b4544b Merge: 8d085d3 b202213 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:14:36 2015 +0100 Merge branch 'topic/pcm-internal' into for-next commit 8d085d3ca9cb70e3e62456419e20f2fddc64141a Merge: 88cacc5 781c7b9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:14:22 2015 +0100 Merge branch 'topic/hda-cleanup' into for-next commit 88cacc57e879d29d626a66852fd982739dc7e6de Merge: 6176fad b995640 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:14:03 2015 +0100 Merge branch 'topic/uapi-fix' into for-next commit 6176fadce29cf050806dc32538dc6ca3e32860b9 Merge: 66c21c5 54a721a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:13:47 2015 +0100 Merge branch 'topic/seq-cleanup' into for-next commit 66c21c5af64c959d0ba0acb9b15e058267cbaa35 Merge: dec8431 0c8d948 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:13:29 2015 +0100 Merge branch 'topic/cleanup' into for-next commit b7853d73e39b099bbee149cac4c34dbf98f3fefa Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Sat Feb 21 20:21:51 2015 -0800 bridge: add vlan info to bridge setlink and dellink notification messages vlan add/deletes are not notified to userspace today. This patch adds vlan info to bridge newlink/dellink notifications generated from the bridge driver. Notifications use the RTEXT_FILTER_BRVLAN_COMPRESSED flag to compress vlans into ranges whereever applicable. The size calculations does not take ranges into account for simplicity. This has the potential for allocating a larger skb than required. There is an existing inconsistency with bridge NEWLINK and DELLINK change notifications. Both generate NEWLINK notifications. Since its always a NEWLINK notification, this patch includes all vlans the port belongs to in the notification. The NEWLINK and DELLINK request messages however only include the vlans to be added and deleted. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fa8727aa4d98d35ca50ef9cd8a50c6468af921d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 14 15:08:51 2015 -0300 perf session: Remove perf_session from dump_event All it wants is session->evlist. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-6w9663gka3jb1j1rfxxd5jcq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 313e53b08e99b1dacf9ea2b0fbe97890db1ea95f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 14 15:05:28 2015 -0300 perf session: Remove perf_session from some deliver event routines Further untangling perf_session from plain event delivery routines. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-cvz8e6pwyogs4w14582iis9w@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ccda068f96138734eb40e9202ea9562566b43c12 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 14 14:57:13 2015 -0300 perf session: Remove perf_session from warn_errors signature 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-pxxm1liohog3d6i826x8sud8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 75be989a7a18e9666efd92b846ee48bed79e8086 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 14 14:50:11 2015 -0300 perf evlist: Adopt events_stats from perf_session For tools that don't deal with perf.data files, thus do not need to use perf_session. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kglq67gvauq9tak02a4se00r@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 54245fdc357613633954bfd38cffb71cb9def067 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 14 14:26:15 2015 -0300 perf session: Remove wrappers to machines__find Start to untangle session from delivering samples, as there are tools that want to use ordered_events and don't use perf_session at all. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-rn4pk3pjxd78sgzrkn19tktp@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ddbb1b131062d020085577db700c3e816a227901 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 12:10:29 2015 -0800 perf trace: Separate routine that handles an event from the one that reads it Because we need to use ordered_events in some cases, so we will need to first have them in a queue, order that queue, and then process the event. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-cmkw9zgoh0z4r218957ftp1a@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 77c92582a52308868b6ef30a7e551eaceb0fc246 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 11:49:10 2015 -0800 perf trace: Add man page entry for --event Forgot to do it when adding the feature. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-mx152b6x9cgknhw91vsyjlnd@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f078c3852c7367b78552be432bc24ca93ebbd4cf Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 11:36:52 2015 -0800 perf trace: Introduce --filter-pids When tracing in X we get event loops due to the tracing activity, i.e. updates to a gnome-terminal that generate syscalls for X.org, etc. To get a more useful view of what is happening, syscall wise, system wide, we need to filter those, like in: # ps ax|egrep '981|2296|1519' | grep -v egrep 981 tty1 Ss+ 5:40 /usr/bin/Xorg :0 -background none ... 1519 ? Sl 2:22 /usr/bin/gnome-shell 2296 ? Sl 4:16 /usr/libexec/gnome-terminal-server # # trace -e write --filter-pids 981,2296,1519 0.385 ( 0.021 ms): goa-daemon/2061 write(fd: 1</dev/null>, buf: 0x7fbeb017b000, count: 136) = 136 0.922 ( 0.014 ms): goa-daemon/2061 write(fd: 1</dev/null>, buf: 0x7fbeb017b000, count: 140) = 140 5006.525 ( 0.029 ms): goa-daemon/2061 write(fd: 1</dev/null>, buf: 0x7fbeb017b000, count: 136) = 136 5007.235 ( 0.023 ms): goa-daemon/2061 write(fd: 1</dev/null>, buf: 0x7fbeb017b000, count: 140) = 140 5177.646 ( 0.018 ms): rtkit-daemon/782 write(fd: 5<anon_inode:[eventfd]>, buf: 0x7f7eea70be88, count: 8) = 8 8314.497 ( 0.004 ms): gsd-locate-poi/2084 write(fd: 5<anon_inode:[eventfd]>, buf: 0x7fffe96af7b0, count: 8) = 8 8314.518 ( 0.002 ms): gsd-locate-poi/2084 write(fd: 5<anon_inode:[eventfd]>, buf: 0x7fffe96af0e0, count: 8) = 8 ^C# When this option is used the tracer pid is also filtered. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-f5qmiyy7c0uxdm21ncatpeek@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit be199ada4fbbe5f742f854dce8e455cfcfcf7adb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 11:33:47 2015 -0800 perf evlist: Introduce set_filter_pids method We need to filter multiple pids in trace, i.e. trace itself, gnome-terminal, X.org, etc. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-frtpkg7qapqwf7asa35wf8am@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 241b057ce5c01a24c280f124fab60109cb562589 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 10:15:21 2015 -0800 perf trace: Filter out the trace pid when no threads are specified To avoid tracing the tracer. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-shmwd1khzpaobr3i0j1ygapg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cfd70a26aadf0a9af80bbce035e5760736727a94 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 10:09:55 2015 -0800 perf evlist: Introduce set_filter_pid method To filter out events for a certain pid, for instance, when tracing system wide, so that the tracer itself doesn't creates an event loop. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-byoia9dzu4gmkdv87etnd9zf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0808921a14ffa170186288508c807f2166b7d8df Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Feb 19 21:51:50 2015 -0800 perf trace: Only insert blank duration bracket when tracing syscalls When printing just events, i.e. '--no-sys --ev some:events' it makes no sense to waste screen space. Before: # trace --no-sys --ev probe:* 84481.704 ( ): probe:vfs_getname:(ffffffff811ed023) pathname="/etc/services") 84481.892 ( ): probe:vfs_getname:(ffffffff811ed023) pathname="/etc/services") 84482.230 ( ): probe:vfs_getname:(ffffffff811ed023) pathname="/etc/resolv.conf") 84482.481 ( ): probe:vfs_getname:(ffffffff811ed023) pathname="/etc/hosts") 85097.725 ( ): probe:vfs_getname:(ffffffff811ed023) pathname="/root" # After: # trace --no-sys --ev probe:* 0.000 probe:vfs_getname:(ffffffff811ed023) pathname="/root") 1.711 probe:vfs_getname:(ffffffff811ed023) pathname="/etc/localtime") 2.103 probe:vfs_getname:(ffffffff811ed023) pathname="/etc/localtime") ^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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jhryxgnam8zecq0q0wsy6pyb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e099b2d9dfe25583e1ecf98bd31a9f12c2ec1b74 Author: Ameen Ali <ameenali023@xxxxxxxxx> Date: Sun Feb 22 23:40:36 2015 +0200 net: __aligned(size) is preferred over __attribute__((aligned(size))) Signed-off-by: Ameen Ali <AmeenAli023@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92b839175064632813a7c4b7e180efde4c08c850 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Feb 22 13:47:56 2015 -0800 batman-adv: Fix use of seq_has_overflowed() net-next commit 6d91147d183c ("batman-adv: Remove uses of return value of seq_printf") incorrectly changed the overflow occurred return from -1 to 1. Change it back so that the test of batadv_write_buffer_text's return value in batadv_gw_client_seq_print_text works properly. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 059a2440fd3cf4ec57735db2c0a90401cde84fca Author: Bojan Prtvar <prtvar.b@xxxxxxxxx> Date: Sun Feb 22 11:46:35 2015 +0100 net: Remove state argument from skb_find_text() Although it is clear that textsearch state is intentionally passed to skb_find_text() as uninitialized argument, it was never used by the callers. Therefore, we can simplify skb_find_text() by making it local variable. Signed-off-by: Bojan Prtvar <prtvar.b@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5957017db0f62e00c42d5b8d61ac850636be1230 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 16:25:06 2015 +0100 drm: atmel-hlcdc: add discard area support The HLCDC IP provides a way to discard a specific area on the primary plane (in case at least one of the overlay is activated and alpha blending is disabled). Doing this will reduce the amount of data to transfer from the main memory to the Display Controller, and thus alleviate the load on the memory bus (since this link is quite limited on such hardware, this kind of optimization is really important). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2389fc1305fc1e2cf8b310a75463fefd3058bf48 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 16:32:33 2015 +0100 drm: atmel-hlcdc: Atomic mode-setting conversion Convert the HLCDC driver to atomic mode-setting. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b457f53a2afa7de3cecdec1772fbd522b98afc49 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Feb 18 13:47:11 2015 +0100 iio: improve usage of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for outputs. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d340c862e760815bca2f2a4d8fd91dff4646a955 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Feb 20 13:54:05 2015 +0300 ethtool: use "ops" name consistenty in ethtool_set_rxfh() "dev->ethtool_ops" and "ops" are the same, but we should use "ops" everywhere to be consistent. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29778bec12b11cabfb75005cd7f8be263c50ba76 Author: Alex W Slater <alex.slater.dev@xxxxxxxxx> Date: Thu Feb 19 21:58:07 2015 +0000 ipv6: Replace "#include <asm/uaccess>" with "#include <linux/uaccess>" Fix checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Alex W Slater <alex.slater.dev@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 173d6b5fdbe65dbdb8be2f7ce481f0c55d78c2b2 Merge: bb39b74 3f307c3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Feb 21 22:05:30 2015 -0500 Merge branch 'bna-next' Rasesh Mody says: ==================== bna: Update the Driver and Firmware Version These patches re-brands the BNA driver to QLogic. The patches update the BNA driver version to 3.2.25.1 and firmware version to 3.2.5.1. The patches are tested against 3.19.0. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f307c3d708a0f9228d5402e0eb418b302838e6e Author: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Date: Thu Feb 19 16:02:32 2015 -0500 bna: Update the Driver and Firmware Version This patch updates the BNA driver version to 3.2.25.1 and the firmware version to 3.2.5.1 Signed-off-by: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2732ba561e9b60c900aa6b2678c8c3f072ffda75 Author: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Date: Thu Feb 19 16:02:31 2015 -0500 bna: QLogic BR-series Adapters Driver Rebranding Re-brand the BNA driver to QLogic. Signed-off-by: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a179a14d152467da7038205af52883f38973afe Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 8 19:22:54 2015 +0100 staging: iio: trigger: iio-trig-periodic-rtc: Change frequency type to unsigned int Change struct iio_prtc_trigger_info frequency type from int to unsigned int. Since it is always treated as such in the driver so they type should probably reflect this. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a7b976ae4bff9ff4f9c9943d3232dec7e87c68b9 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 16:08:44 2015 +0000 regulator: arizona-micsupp: Drop OF node reference on error path We were not calling of_node_put if the regulator failed to register this patch fixes this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ec454d7016f2c9c897235b362089ddf9f1f8e4b8 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 16:08:43 2015 +0000 regulator: arizona-ldo1: Drop OF node reference on error path We were not calling of_node_put if the regulator failed to register this patch fixes this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ff5eabce4231d199dadc14c23f14a6619f926c0 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Feb 17 00:53:12 2015 -0800 ASoC: max98357a: Remove use of DRV_NAME Remove use of DRV_NAME define. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit be951017453cba2f3eb789413f697b8f14393eec Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 15:25:49 2015 +0000 ASoC: wm_adsp: Improve round to next 4-byte boundary Whilst the existing code does correctly round to the next 4-byte boundary it does so rather inefficiently. This patch changes the rounding to be simpler and more efficient. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 65d17a9ce9f24a3aaf7d614251fdcc1b2121765f Author: Nikesh Oswal <Nikesh.Oswal@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 15:25:48 2015 +0000 ASoC: wm_adsp: Ensure DSP controls are always persistent Currently DSP controls are persistent (across DSP On/Off) only if they were set whilst the DSP is off. This change makes the controls persistent irrespective of when they are set. Signed-off-by: Nikesh Oswal <Nikesh.Oswal@xxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7371bd1f4aeb4e1c44b8c1ba8e36ebba4250b59c Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Tue Feb 17 13:59:26 2015 +0800 ASoC: rt5670: Add disabled item in dmic pin enum Currently, we will configure dmic related pin definition if pdata.dmic_en is true. However, there is no disable option in the enum. So, any dmic is used, all 3 dmic related pins will be configured. It may cause unexpected pin definition. This patch adds a disable item for each dmic enum and take it as default. So the driver will not set the pin configuration if we don't set dmicx_data_pin in platform data. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bb39b7433d1c652b3699a7b335e0ad91181b2b05 Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Thu Feb 19 13:15:49 2015 -0500 sunvnet: failed trigger should not cause BUG_ON() An error return from __vnet_tx_trigger() sets the TX descriptor to VIO_DESC_FREE while leaving port->tx_bufs[txi].skb set. This leads to a BUG_ON() the next time this descriptor is used. This patch frees the pending skb when getting a trigger error to match the VIO_DESC_FREE state. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Acked-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 950ddcb1c13f86a08896b48e2c1f1527263d4130 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Thu Feb 19 10:13:25 2015 -0800 bonding: simple code refactor Remove duplicate code. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a50dad355a5314da64586da36804b86fbebb7c2a Author: Arun Chandran <achandran@xxxxxxxxxx> Date: Wed Feb 18 16:59:35 2015 +0530 net: macb: Add big endian CPU support This patch converts all __raw_readl and __raw_writel function calls to their corresponding readl_relaxed and writel_relaxed variants. It also tells the driver to set ahb_endian_swp_mgmt_en bit in dma_cfg when the CPU is configured in big endian mode. Signed-off-by: Arun Chandran <achandran@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 931c471af51565a6290d9fabbe14ed7c8fa4a317 Merge: 959d10f 85fe7cd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 20 15:46:55 2015 -0500 Merge branch 'bnx2x-next' Rasesh Mody says: ==================== bnx2-cnic: Driver Version Upgrades This patch set includes bnx2 and cnic drivers' re-branding changes, fix for a chip initialization issue and updates the bnx2 driver version to 2.2.6 and cnic driver version to 2.5.21. Please apply these patches to net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85fe7cd21f99fed1842275ef86c88de5ecc998b4 Author: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Date: Tue Feb 17 19:26:20 2015 -0500 bnx2-cnic: Driver Version Update This patch updates BNX2 driver version to 2.2.6 and CNIC driver version to 2.5.21. Signed-off-by: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0021850d0417a4dc38ed871d929b651b87e2ead9 Author: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Date: Tue Feb 17 19:26:19 2015 -0500 bnx2: Fix for Chip Initialization Do not enable filter SORT MODE in chip init routine. This patch addresses an issue where BCM5716 sporadically drops packets when changing multicast list. Signed-off-by: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e0bf125ac7d3d32dd699d345d19a7f3e675776c Author: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Date: Tue Feb 17 19:26:18 2015 -0500 bnx2-cnic: Driver Rebranding Changes This patch provides additional changes as a part of BNX2 and CNIC driver re-branding effort. Signed-off-by: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 959d10f6bbf6ab5b8813c4e37540a2e43ca2ae96 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Feb 17 03:19:24 2015 -0800 igmp: add __ip_mc_{join|leave}_group() There is a need to perform igmp join/leave operations while RTNL is held. Make ip_mc_{join|leave}_group() wrappers around __ip_mc_{join|leave}_group() to avoid the proliferation of work queues. For example, vxlan_igmp_join() could possibly be removed. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64bea46e3ff28701aa34be48b93c7907ebbdb31e Author: Aleksander Morgado <aleksander@xxxxxxxxxxxxx> Date: Tue Feb 17 11:31:29 2015 +0100 hso: always read interface number from the current altsetting Always read bInterfaceNumber from the current altsetting, not from the first one available in the altsetting array. This is coming from code review, not related to any specific bug. Signed-off-by: Aleksander Morgado <aleksander@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 216fa18f339e9e006a93cacb54884348da668b9e Merge: 6d91147 eb84bab Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 20 15:19:56 2015 -0500 Merge branch 'ppc_bpf' Denis Kirjanov says: ==================== bpf: Enable BPF JIT on ppc32 This patch series enables BPF JIT on ppc32. There are relatevily few chnages in the code to make it work. All test_bpf tests passed both on 7447a and P2041-based machines. Changelog: v1 - > v2: Reordered Kconfig patch in the series ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb84bab0fb38047eca79b189cde5a95312fa5818 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:43 2015 +0300 ppc: Kconfig: Enable BPF JIT on ppc32 Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 022909482d1c97c0b70438f2727a4f286ef0d289 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:42 2015 +0300 ppc: bpf: Add SKF_AD_CPU for ppc32 Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ddadeab07dcc9b1456891b6fe1f1ba085028433 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:41 2015 +0300 ppc: bpf: rename bpf_jit_64.S to bpf_jit_asm.S Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09ca5ab23eca61a6f79076d38ab5a17da07533dc Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:40 2015 +0300 ppc: bpf: update jit to use compatibility macros Use helpers from the asm-compat.h to wrap up assembly mnemonics Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 693930d69c67145dcdf512fe863dbb1095b744b9 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:39 2015 +0300 ppc: bpf: add reqired opcodes for ppc32 Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb7fc08e57f4d4479de235dd7354f94e860c8e6a Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:38 2015 +0300 ppc: bpf: add required compatibility macros for jit Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d91147d183c87d290f3b062d3fbf1ede312b449 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Feb 16 17:31:39 2015 -0800 batman-adv: Remove uses of return value of seq_printf This function is soon going to return void so remove the return value use. Convert the return value to test seq_has_overflowed() instead. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db2855ae2441f151a1b65e1acbe484d51a0d4dd5 Author: stephen hemminger <shemming@xxxxxxxxxxx> Date: Mon Feb 16 09:38:13 2015 -0500 tcp: silence registration message This message isn't really needed it justs waits time/space. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50036ccf3deeb8f0ffd7311a50a8586ae62bc8b1 Merge: 69994d1 cf5671e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 20 14:07:02 2015 -0500 Merge branch 'be2net-next' Sriharsha Basavapatna says: ==================== be2net patch-set This patch set contains a few code refactoring changes to make it easy to support new TX WRB formats in future ASICs. Please consider applying it to net-next tree. Patch 1: Refactors chip specific code to setup tx wrb into a separate routine. Patch 2: Refactors tx enqueue function to remove a bit of duplicate code and improves wrb setup steps. Patch 3: Minor refactoring in tx compl to limit CQE accesses to 1 routine. Patch 4: Adds a few inline functions. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf5671e6999829933aa4b9b8eefc7d3b8b85c5cb Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Date: Mon Feb 16 08:03:48 2015 +0530 be2net: Add a few inline functions to test TXQ conditions - Check qfull condition - Check qwake condition - Check pkts pending completion Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 152ffe5bb7108d39a50bcc723219685a573f8397 Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Date: Mon Feb 16 08:03:47 2015 +0530 be2net: Minor code cleanup in tx completion process - To avoid multiple accesses to CQE, extract compl_status and end_idx from be_tx_compl_get(). Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79a0d7d8e0b2981dabc241cbeec6b99620dd7c5b Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Date: Mon Feb 16 08:03:46 2015 +0530 be2net: Refactor be_xmit_enqueue() routine - Reduce code duplication by moving WRB-frags setup into a function. - Do not setup WRB-header before frags are setup, which is unncessary if there's errors while setting up frags. We should only grab an entry for the header, setup the frags and if everything is fine setup the header. - The error cleanup can be moved into a small function. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 804abcdbdbb68df5ca8cf7e70366522f02298029 Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Date: Mon Feb 16 08:03:45 2015 +0530 be2net: Refactor wrb_fill_hdr() routine The WRB header is setup by wrb_fill_hdr() routine. This routine currently gets some of the WRB params as args and figures out rest of the WRB params by looking at various fields in skb (like gso, checksum, vlan-tag etc). All these params could instead be retrieved from the skb into a structure and passed to this routine. This separates wrb_fill_hdr() to only provide chip-specific code to fill the WRB. This also makes it simple to support chips with different WRB formats. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b20221385c40155f13068be75b865170a1ad5d1e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 17:05:27 2015 +0100 ALSA: pcm: Don't ignore internal PCMs in snd_pcm_dev_disconnect() Some codes in snd_pcm_dev_disconnect() are still valid even for internal PCMs, but they are skipped because of the check of list_empty(&pcm->list) at the beginning. Remove this check and put pcm->internal checks appropriately for internal PCM object to process through this function. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 646e1dd8f9f47c57560ce81c02fdd57ff0929bc6 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 17:04:08 2015 +0100 ALSA: pcm: Don't notify internal PCMs Notifier shouldn't listen to the changes of internal PCMs. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b95bd3a454cf9e9e111b6b87c02550368fe6e802 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 16:49:04 2015 +0100 ALSA: pcm: Don't add internal PCMs to PCM device list An internal PCM object shouldn't be added to the PCM device list, as it's never accessed directly from the user-space, and it has no proc or any similar accesses. Currently, it's excluded in snd_pcm_get() and snd_pcm_next(), but it's easier not to add such an object to the list. Actually, the whole snd_pcm_dev_register() can be skipped for an internal PCM. So this patch changes the code there, but also addresses the uninitialized list_head access. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ad876c862278be59147d4004f1a7c4d492e4ec96 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 16:26:00 2015 +0100 ALSA: pcm: Minor refactoring in snd_pcm_attach_substream() No functional changes at all. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 16068ec19f497bd80552332b4523150884888a7a Author: David Sterba <dsterba@xxxxxxx> Date: Fri Jan 16 17:21:12 2015 +0100 btrfs: cleanup 64bit/32bit divs, compile time constants Switch to div_u64 if the divisor is a numeric constant or sum of sizeof()s. We can remove a few instances of do_div that has the hidden semtantics of changing the 1st argument. Small power-of-two divisors are converted to bitshifts, large values are kept intact for clarity. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 03f310efd4b19ddc2cca15ae67f48295554adbfe Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Feb 20 13:26:24 2015 +0200 Bluetooth: Remove unnecessary queue_monitor_skb() function Now that there's the general purpose hci_send_to_channel() API it will do the exact same thing as queue_monitor_skb() when passed the monitor HCI channel. This patch removes queue_monitor_skb() and replaces any users of it with calls to hci_send_to_channel(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7129069e84056ba28954550beb208b2645863299 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Feb 20 13:26:23 2015 +0200 Bluetooth: Rename hci_send_to_control to hci_send_to_channel The hci_send_to_control() can be made more general purpose with a small change of passing the desired HCI channel as a parameter to it. This allows using it for the monitor channel as well as e.g. 6lowpan in the future. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 39e3e74423a35bfc95b077fb65acaa00d1d39d64 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Feb 20 13:48:24 2015 +0200 Bluetooth: Use hci_copy_identity_addr() helper for SMP chan creation The only reason the SMP code is essentially duplicating the hci_copy_identity_addr() function is that the helper returns the address type in the HCI format rather than the three-value format expected by l2cap_chan. This patch converts the SMP code to use the helper and then do a simple conversion from one address type to another. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c72638bdaabe9ea4b09003b9db7e1754f472fbed Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:09 2015 -0600 ALSA: bump PCM protocol to 2.0.13 Bump PCM protocol to enable use of STATUS_EXT ioctls, older apps will still use STATUS and audio timestamp configuration is not supported (backwards compatible behavior). Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2d52a5abd5be35340296a251092c8a594679df54 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:08 2015 -0600 ALSA: core: remove .wall_clock can be removed without breaking git-bisect now Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9e94df3a624b1b485f2c2ac5ab94032da01e45b3 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:07 2015 -0600 ALSA: hda: replace .wallclock by .get_time_info No real functional change, only take wall clock and system time in same routine and add accuracy report. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3179f62001880e588e229db3006a59ad87b7792a Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:06 2015 -0600 ALSA: core: add .get_time_info Introduce more generic .get_time_info to retrieve system timestamp and audio timestamp in single routine. Backwards compatibility is preserved with same functionality as with .wall_clock method (to be removed in following commits to avoid breaking git bisect) Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5442a73a009231598fb5ea065c4e3f9daa30d8cc Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:05 2015 -0600 ALSA: core: pass audio tstamp config from userspace in compat mode Let userspace select audio timestamp config, ignore and zero all other fields Use audio_tstamp_data to retrieve config and pass report back to user space Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 38ca2a4d58bbc45973ee5cd14e4b803ee5ad69f0 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:04 2015 -0600 ALSA: core: pass audio tstamp config from userspace Let userspace select audio timestamp config when the STATUS_EXT ioctl is used, ignore and zero all other fields No change for the existing STATUS ioctl, parameters are treated as read-only. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 229d043096ea8e58829d37d35767afeac15997f5 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:03 2015 -0600 ALSA: core: selection of audio_tstamp type and accuracy reports Audio timestamps can be extracted from sample counters, wall clocks, PHC clocks (Ethernet AVB), on-demand synchronized snapshots. This patch provides the ability to report timestamping capabilities, select timestamp types and retrieve timestamp accuracy, if supported. Details can be found in Documentations/sound/alsa/timestamping.txt This functionality is introduced by reclaiming the reserved_aligned field introduced by commit9c7066aef4a5eb8e4063de28f06c508bf6f2963a in snd_pcm_status to provide userspace with selection/query capabilities. Additional driver_tstamp and audio_tstamp_accuracy fields are also added. snd_pcm_mmap_status remains a read-only structure with only the audio timestamp value accessible from user space. The selection of audio timestamp type is done through snd_pcm_status only This commit does not impact ABI and does not impact the default behavior. By default audio timestamp is aligned with hw_pointer and reports the DMA position. Backwards compatibility is handled by using the HDAudio wall clock for playback and the hw_ptr for all other cases. For timestamp selection a new STATUS_EXT ioctl is introduced with read/write parameters. Alsa-lib will be modified to make use of STATUS_EXT. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 781c7b9615dc1441d6743124086eb3da14bf46e9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 10:26:25 2015 +0100 ALSA: hda - Avoid unnecessary power-up at mixer amp changes When the mixer amp is touched by control elements, we don't have to power up always; if the codec was suspended at the time, we can just update the amp cache and it's reflected to the hardware upon resume. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 719d359dc7b6be3e43d6661f192ceb980b10ee26 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Thu Feb 19 10:37:28 2015 -0700 x86/asm: Add support for the pcommit instruction Add support for the new pcommit (persistent commit) instruction. This instruction was announced in the document "Intel Architecture Instruction Set Extensions Programming Reference" with reference number 319433-022: https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf The pcommit instruction ensures that data that has been flushed from the processor's cache hierarchy with clwb, clflushopt or clflush is accepted to memory and is durable on the DIMM. The primary use case for this is persistent memory. This function shows how to properly use clwb/clflushopt/clflush and pcommit with appropriate fencing: void flush_and_commit_buffer(void *vaddr, unsigned int size) { void *vend = vaddr + size - 1; for (; vaddr < vend; vaddr += boot_cpu_data.x86_clflush_size) clwb(vaddr); /* Flush any possible final partial cacheline */ clwb(vend); /* * sfence to order clwb/clflushopt/clflush cache flushes * mfence via mb() also works */ wmb(); /* pcommit and the required sfence for ordering */ pcommit_sfence(); } After this function completes the data pointed to by vaddr is has been accepted to memory and will be durable if the vaddr points to persistent memory. Pcommit must always be ordered by an mfence or sfence, so to help simplify things we include both the pcommit and the required sfence in the alternatives generated by pcommit_sfence(). The other option is to keep them separated, but on platforms that don't support pcommit this would then turn into: void flush_and_commit_buffer(void *vaddr, unsigned int size) { void *vend = vaddr + size - 1; for (; vaddr < vend; vaddr += boot_cpu_data.x86_clflush_size) clwb(vaddr); /* Flush any possible final partial cacheline */ clwb(vend); /* * sfence to order clwb/clflushopt/clflush cache flushes * mfence via mb() also works */ wmb(); nop(); /* from pcommit(), via alternatives */ /* * sfence to order pcommit * mfence via mb() also works */ wmb(); } This is still correct, but now you've got two fences separated by only a nop. With the commit and the fence together in pcommit_sfence() you avoid the final unneeded fence. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424367448-24254-1-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 69994d17abe90c4ae449dfcefbae9754f92c36bd Merge: ea8860eb 4c73266 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Feb 19 15:52:33 2015 -0500 Merge branch 'mv88e6171_indirect_phy' Andrew Lunn says: ==================== Indirect phy access for mv88e6171 These two patches allow the mv88e6171 driver to access the port phys using indirect addressing. Depending on pin strapping, the switch either uses a single address on the host MDIO bus, requiring the port phys are accessed indirectly, or the switch uses a number of addresses on the host bus and the phys can be directly accessed. The 370RD, the first supported platform to use the 6171 uses multiple addresses, so this indirect mode was not required. However the WRT1900AC has the switch configured to use a single address, and so indirect access is needed. The mv88e6352 already has all the needed code. Refactor it into the shared mv88e6xxx and then use it in the mv88e6171 driver. Tested on the 370RD and WRT1900AC. It would be good if Guenter Roeck could test on his platform to ensure i've not broken anything for the mv88e6352. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c732668f98b96a0fa2645ac220fd9bbc17838c4 Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Feb 14 19:17:51 2015 +0100 net: dsa: mv88e6171: Enable access to phys via internal mdio bus When the device is configured to use single chip addressing mode, the phy devices of the port are not accessible on the host MDIO bus. Instead the switch internal MDIO bus must be used. For this to work, the phy polling unit must be enabled. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f30446839b5a283cde54f7e233bbebc69bbd3d16 Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Feb 14 19:17:50 2015 +0100 net: dsa: mv88e6352: Refactor shareable code The mv88e6352 allows access to the port phys via an internal mdio bus which is accessed using registers in the GLOBAL 2 range. The mv88e6171 and probably other devices use the same mechanism. Move this code into the shared mv88e6xxx.c library. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96d2bd6e3cdf57926f80605d6e28051bb6b24eb3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 18:12:22 2015 +0100 ALSA: hda - Split azx_codec_create() to two phases azx_create_codec() function does actually two things: create a bus and probe codecs. For the future work, split this to two logical functions, azx_bus_create() and azx_probe_codecs(). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b8f28d53641f13902790904ab15028ff8ecd0882 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 18:06:45 2015 +0100 ALSA: hda - Drop azx_mixer_create() It's just an indirection, so let the caller directly calling snd_hda_build_controls(). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 89a93fea6182a71cedce9de1d901e4f379322cf3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 18:04:17 2015 +0100 ALSA: hda - Fold hda_priv.h into hda_controller.h There is no big reason to keep them separately. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 364aa716f43c991052cbb4fa05e3754bacccb95c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 16:51:17 2015 +0100 ALSA: hda - Introduce azx_has_pm_runtime() macro For making the debugging of runtime PM easier, introduce azx_has_pm_runtime() and use it in all places checking the runtime pm driver capability. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ea8860eb504a953cf8fe0e96c3166201b05c9b73 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 10:47:45 2015 -0600 net: eth: altera: Change reset_mac failure message masks from err to dbg This debug output is not really an error message since mac reset can fail if the phy clocks are gated, specifically when the phy has been placed in a powered down or isolation mode. The netdev output masks were changed from err to dbg, and comments added in the code. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a923fc730fdbbf079eadfe2b9a1644971bd95793 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 10:47:33 2015 -0600 net: eth: altera: Change access ports to mdio for all xMII applications Change use of Altera TSE's MDIO access from phy 0 registers to phy 1 registers. This allows support for GMII, MII, RGMII, and SGMII designs where the external PHY is always accesible through Altera TSE's MDIO phy 1 registers and Altera's PCS is accessible through MDIO phy 0 registers for SGMII applications. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Tested-by: Kai Lin Ng <kailng@xxxxxxxxxx> Tested-by: Dalon Westergreen <dwesterg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a53c4bf7f27f043564f5bdace12405c54265cb66 Merge: fece13c efb3dd8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Feb 19 15:08:47 2015 -0500 Merge branch 'r8152-next' Hayes Wang says: ==================== Adjust the settings about USB_RX_EARLY_AGG v2: For patch #1, replace u32 ocp_data; ocp_data = tp->coalesce / 8; with u32 ocp_data = tp->coalesce / 8; And replace struct net_device *dev = tp->netdev; u32 ocp_data; ocp_data = (agg_buf_sz - dev->mtu - VLAN_ETH_HLEN - VLAN_HLEN) / 4; with u32 mtu = tp->netdev->mtu; u32 ocp_data = (agg_buf_sz - mtu - VLAN_ETH_HLEN - VLAN_HLEN) / 4; Use *switch* statement to replace the checking of *if*. v1: The USB_RX_EARLY_AGG contains timeout and size. Separate them, and they could be set independently. Then, the ethtool could be used to change the timeout according to situation of the platform. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efb3dd88f4490b752e3c26bbc3e40391758426d6 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Feb 12 14:33:48 2015 +0800 r8152: support setting rx coalesce Support setting the rx coalesce. Then someone could change the rx agg timeout value through ethtool. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 396e2e235af79b39d605ad6259f366e502e21959 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Feb 12 14:33:47 2015 +0800 r8152: change rx early size when the mtu is changed The rx early size is calculated with the mtu, so it has to be re-calculated when the mtu is changed. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 464ec10a2d7f09784517040fae8de54a39c2765f Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Feb 12 14:33:46 2015 +0800 r8152: separate USB_RX_EARLY_AGG Separate USB_RX_EARLY_AGG into USB_RX_EARLY_TIMEOUT and USB_RX_EARLY_SIZE. Replace r8153_set_rx_agg() with r8153_set_rx_early_timeout() and r8153_set_rx_early_size(). Set the default timeout value according to the USB speed. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2cb01de1cb1db05b946e0132aeecbb514c57024 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Feb 19 17:38:07 2015 +0200 Bluetooth: Fix checking for pending Set SSP in Set HS handler Changing the HS setting requires that SSP is enabled, however so far the code only checked for the SSP flag but not a potentially ongoing Set SSP operation. This patch adds a check for a pending Set SSP command in the Set HS handler, and returns a 'busy' error if one is found. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 94d52dad9ef31e178ccc141dfd8feb84cccde581 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Feb 19 17:38:06 2015 +0200 Bluetooth: Remove bogus check for pending mgmt Set HS command The command handler for Set HS doesn't use mgmt_pending_add() so we can never have a pending Set HS command that mgmt_pending_find() would return. This patch removes an unnecessary lookup for it in the set_ssp() handler function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fa45a45ca34891614789e68dfbf7ce344c9013ac Merge: e07e0d4 d79f931 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Feb 19 13:18:02 2015 +0100 Merge tag 'ras_for_3.21' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras into x86/ras Pull RAS updates from Borislav Petkov: "- Enable AMD thresholding IRQ by default if supported. (Aravind Gopalakrishnan) - Unify mce_panic() message pattern. (Derek Che) - A bit more involved simplification of the CMCI logic after yet another report about race condition with the adaptive logic. (Borislav Petkov) - ACPI APEI EINJ fleshing out of the user documentation. (Borislav Petkov) - Minor cleanup. (Jan Beulich.)" Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d79f931f1c8b6963e13a3738ef2906ba89bb8d12 Author: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Date: Mon Feb 2 11:02:41 2015 -0600 x86/MCE/AMD: Enable thresholding interrupts by default if supported We setup APIC vectors for threshold errors if interrupt_capable. However, we don't set interrupt_enable by default. Rework threshold_restart_bank() so that when we set up lvt_offset, we also set IntType to APIC and also enable thresholding interrupts for banks which support it by default. User is still allowed to disable interrupts through sysfs. While at it, check if status is valid before we proceed to log error using mce_log. This is because, in multi-node platforms, only the NBC (Node Base Core, i.e. the first core in the node) has valid status info in its MCA registers. So, the decoding of status values on the non-NBC leads to noise on kernel logs like so: EDAC DEBUG: amd64_inject_write_store: section=0x80000000 word_bits=0x10020001 [Hardware Error]: Corrected error, no action required. [Hardware Error]: CPU:25 (15:2:0) MC4_STATUS[-|CE|-|-|- [Hardware Error]: Corrected error, no action required. [Hardware Error]: CPU:26 (15:2:0) MC4_STATUS[-|CE|-|-|- <...> WARNING: CPU: 25 PID: 0 at drivers/edac/amd64_edac.c:2147 decode_bus_error+0x1ba/0x2a0() WARNING: CPU: 26 PID: 0 at drivers/edac/amd64_edac.c:2147 decode_bus_error+0x1ba/0x2a0() Something is rotten in the state of Denmark. Suggested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Link: http://lkml.kernel.org/r/1422896561-7695-1-git-send-email-aravind.gopalakrishnan@xxxxxxx [ Massage commit message. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 8af7043a3cd2c259e9f5d3158f3e736d06c05056 Author: Derek Che <drc@xxxxxxxxxxxxx> Date: Mon Feb 2 10:30:21 2015 -0800 x86/MCE: Make mce_panic() fatal machine check msg in the same pattern There is another mce_panic call with "Fatal machine check on current CPU" in the same mce.c file, why not keep them all in same pattern mce_panic("Fatal machine check on current CPU", &m, msg); Signed-off-by: Derek Che <drc@xxxxxxxxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 3f2f0680d1161df96a0e8fea16930f1bd487a9cf Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Jan 13 15:08:51 2015 +0100 x86/MCE/intel: Cleanup CMCI storm logic Initially, this started with the yet another report about a race condition in the CMCI storm adaptive period length thing. Yes, we have to admit, it is fragile and error prone. So let's simplify it. The simpler logic is: now, after we enter storm mode, we go straight to polling with CMCI_STORM_INTERVAL, i.e. once a second. We remain in storm mode as long as we see errors being logged while polling. Theoretically, if we see an uninterrupted error stream, we will remain in storm mode indefinitely and keep polling the MSRs. However, when the storm is actually a burst of errors, once we have logged them all, we back out of it after ~5 mins of polling and no more errors logged. If we encounter an error during those 5 minutes, we reset the polling interval to 5 mins. Making machine_check_poll() return a bool and denoting whether it has seen an error or not lets us simplify a bunch of code and move the storm handling private to mce_intel.c. Some minor cleanups while at it. Reported-by: Calvin Owens <calvinowens@xxxxxx> Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1417746575-23299-1-git-send-email-calvinowens@xxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 0eac092d8307db61d320f77f9fce40e60b4ffa89 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Jan 20 17:40:43 2015 +0100 Documentation/acpi/einj: Correct and streamline text Streamline and simplify formulations, improve formatting and extend the injection example in the error injection write up for users which we carry in Documentation/. Add a paragraph about checking for EINJ support and expand the ACPI5.0 memory errors section, as requested by Tony. Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1422553845-30717-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 2cd4c303a7b438482f73006a29add462ca1cb9d9 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Fri Jan 23 08:32:01 2015 +0000 x86/MCE/AMD: Drop bogus const modifier from AMD's bank4_names() The compiler validly warns about it being ignored. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/54C21511020000780005890E@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit f353e612304ba752d6b613dc02eae8116cd3e27b Merge: e07e0d4 728e53f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Feb 19 11:17:42 2015 +0100 Merge branch 'tip-x86-fpu' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/fpu Pull FPU updates from Borislav Petkov: "A round of updates to the FPU maze from Oleg and Rik. It should make the code a bit more understandable/readable/streamlined and a preparation for more cleanups and improvements in that area." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 728e53fef429a0f3c9dda3587c3ccc57ad268b70 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Feb 6 15:02:05 2015 -0500 x86/fpu: Also check fpu_lazy_restore() when use_eager_fpu() With Oleg's patch: 33a3ebdc077f ("x86, fpu: Don't abuse has_fpu in __kernel_fpu_begin/end()") kernel threads no longer have an FPU state even on systems with use_eager_fpu(). That in turn means that a task may still have its FPU state loaded in the FPU registers, if the task only got interrupted by kernel threads from when it went to sleep, to when it woke up again. In that case, there is no need to restore the FPU state for this task, since it is still in the registers. The kernel can simply use the same logic to determine this as is used for !use_eager_fpu() systems. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-9-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6a5fe8952bd676baf382d14df21e7b32b5d8943e Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Feb 6 15:02:04 2015 -0500 x86/fpu: Use task_disable_lazy_fpu_restore() helper Replace magic assignments of fpu.last_cpu = ~0 with more explicit task_disable_lazy_fpu_restore() calls. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-8-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1361ef29c7e49ae7cf37220c25fac1904b77f71a Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Feb 6 15:02:03 2015 -0500 x86/fpu: Use an explicit if/else in switch_fpu_prepare() Use an explicit if/else branch after __save_init_fpu(old) in switch_fpu_prepare(). This makes substituting the assignment with a call in task_disable_lazy_fpu_restore() in the next patch easier to review. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-7-git-send-email-riel@xxxxxxxxxx [ Space out stuff for more readability. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 33e03dedd759cc9396252d9641b25d01909a26bb Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Feb 6 15:02:02 2015 -0500 x86/fpu: Introduce task_disable_lazy_fpu_restore() helper Currently there are a few magic assignments sprinkled through the code that disable lazy FPU state restoring, some more effective than others, and all equally mystifying. It would be easier to have a helper to explicitly disable lazy FPU state restoring for a task. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-6-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1c927eea4cad83c439cb51e9c96ad19cb005157d Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Feb 6 15:02:01 2015 -0500 x86/fpu: Move lazy restore functions up a few lines We need another lazy restore related function, that will be called from a function that is above where the lazy restore functions are now. It would be nice to keep all three functions grouped together. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-5-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 08a744c6bfded3d5fa66f94263f81773226113d1 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Feb 6 15:02:00 2015 -0500 x86/fpu: Change math_error() to use unlazy_fpu(), kill (now) unused save_init_fpu() math_error() calls save_init_fpu() after conditional_sti(), this means that the caller can be preempted. If !use_eager_fpu() we can hit the WARN_ON_ONCE(!__thread_has_fpu(tsk)) and/or save the wrong FPU state. Change math_error() to use unlazy_fpu() and kill save_init_fpu(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-4-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1a2a7f4ec8e3a7ac582dac4d01fcc7e8acd3bb30 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Feb 6 15:01:59 2015 -0500 x86/fpu: Don't do __thread_fpu_end() if use_eager_fpu() unlazy_fpu()->__thread_fpu_end() doesn't look right if use_eager_fpu(). Unconditional __thread_fpu_end() is only correct if we know that this thread can't return to user-mode and use FPU. Fortunately it has only 2 callers. fpu_copy() checks use_eager_fpu(), and init_fpu(current) can be only called by the coredumping thread via regset->get(). But it is exported to modules, and imo this should be fixed anyway. And if we check use_eager_fpu() we can use __save_fpu() like fpu_copy() and save_init_fpu() do. - It seems that even !use_eager_fpu() case doesn't need the unconditional __thread_fpu_end(), we only need it if __save_init_fpu() returns 0. - It is still not clear to me if __save_init_fpu() can safely nest with another save + restore from __kernel_fpu_begin(). If not, we can use kernel_fpu_disable() to fix the race. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-3-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a9241ea5fd709fc935dade130f4e3b2612bbe9e3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Feb 6 15:01:58 2015 -0500 x86/fpu: Don't reset thread.fpu_counter The "else" branch clears ->fpu_counter as a remnant of the lazy FPU usage counting: e07e23e1fd30 ("[PATCH] non lazy "sleazy" fpu implementation") However, switch_fpu_prepare() does this now so that else branch is superfluous. If we do use_eager_fpu(), then this has no effect. Otherwise, if we actually wanted to prevent fpu preload after the context switch we would need to reset it unconditionally, even if __thread_has_fpu(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-2-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit fb148d83ec6924b7766731e58739d7281b6fb8c7 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Feb 19 13:34:58 2015 +0600 x86/asm/boot: Use already defined KEEP_SEGMENTS macro in head_{32,64}.S There is already defined macro KEEP_SEGMENTS in <asm/bootparam.h>, let's use it instead of hardcoded constants. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424331298-7456-1-git-send-email-kuleshovmail@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3a6d576be9fe02b0c3ffa89ef6eac048e14eec84 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Feb 18 14:53:58 2015 +0200 Bluetooth: Convert disconn_cfm to be triggered through hci_cb This patch moves all the disconn_cfm callbacks to be based on the hci_cb list. This means making l2cap_disconn_cfm private to l2cap_core.c and sco_conn_cb private to sco.c respectively. Since the hci_conn type filtering isn't done any more on the wrapper level the callbacks themselves need to check that they were passed a relevant type of connection. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 539c496d88f7f96d42abde4e9d901c8f8167d615 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Feb 18 14:53:57 2015 +0200 Bluetooth: Convert connect_cfm to be triggered through hci_cb This patch moves all the connect_cfm callbacks to be based on the hci_cb list. This means making l2cap_connect_cfm private to l2cap_core.c and sco_connect_cb private to sco.c respectively. Since the hci_conn type filtering isn't done any more on the wrapper level the callbacks themselves need to check that they were passed a relevant type of connection. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 354fe804edb29625eee6dd7b1f3c72b43392704d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Feb 18 14:53:56 2015 +0200 Bluetooth: Convert L2CAP security callback to use hci_cb There's no reason to have the custom hci_proto_auth/encrypt_cfm helpers when the hci_cb list works equally well. This patch adds L2CAP to the hci_cb list and makes l2cap_security_cfm a private function of l2cap_core.c. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fba7ecf09bc458b15f9d578e4213c8c349f9592d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Feb 18 14:53:55 2015 +0200 Bluetooth: Convert hci_cb_list_lock to a mutex We'll soon need to be able to sleep inside the loops that iterate the hci_cb list, so neither a spinlock, rwlock or rcu are usable. This patch changes the lock to a mutex which permits sleeping while holding the lock. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 00629e0fd56d528f0da4d9606726a4e22e576ace Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Feb 18 14:53:54 2015 +0200 Bluetooth: Add new hci_cb entries to the tail rather than the head When processing hci_cb entries we want first registered callbacks to be called first and later ones later. This is because eventually the L2CAP callbacks that are part of the core will use this list and get registered first. To keep the same order of calling L2CAP callbacks before e.g. RFCOMM the order of elements needs to be this way. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9261dc1de11e158a5f6b4b92c8bf1ef4a02dbf0d Author: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Date: Fri Jan 2 11:19:57 2015 -0500 x86/build/defconfig: Enable USB_EHCI_TT_NEWSCHED=y Some Gentoo users are encountering problems because USB_EHCI_TT_NEWSCHED isn't set in the defconfig (and Gentoo differs from other distros in not providing a distro .config). Alan Stern has said there's no reason to not set it, and the ability to turn it off at all should probably be yanked: http://article.gmane.org/gmane.linux.usb.general/119920 This addresses issue: https://bugs.gentoo.org/show_bug.cgi?id=533472 (The problem also theoretically affects the sh, arm, mips, powerpc, and sparc archs, but those would be other patches if this one that fixes 98% of the problem is accepted). Signed-off-by: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e85bd9892c4f10fd20fc575e62327efb7c77015d Author: Sylvain BERTRAND <sylvain.bertrand@xxxxxxxxx> Date: Mon Dec 29 16:43:24 2014 +0100 x86/build: Fix mkcapflags.sh bash-ism Chocked while compiling linux with dash shell instead of bash shell. See: http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_09_05 Signed-off-by: Sylvain BERTRAND <sylvain.bertrand@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20141229154324.GA27533@dhcppc1 Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0cdb81bef20b1d9e12111fa6cd81f748ebd87778 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Fri Jan 23 08:35:13 2015 +0000 x86-64: Also clear _PAGE_GLOBAL from __supported_pte_mask if !cpu_has_pge Not just setting it when the feature is available is for consistency, and may allow Xen to drop its custom clearing of the flag (unless it needs it cleared earlier than this code executes). Note that the change is benign to ix86, as the flag starts out clear there. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/54C215D10200007800058912@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1f40a8bfa91adfa8d1ac5013c08c76f6fd6691ad Author: Pavel Machek <pavel@xxxxxx> Date: Sun Dec 28 17:15:24 2014 +0100 x86/mm/pat: Ensure different messages in STRICT_DEVMEM and PAT cases STRICT_DEVMEM and PAT produce same failure accessing /dev/mem, which is quite confusing to the user. Make printk messages different to lessen confusion. Signed-off-by: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1db491f77b6ed0f32f1d4a3ac40a5be9524f1914 Author: Fenghua Yu <fenghua.yu@xxxxxxxxx> Date: Thu Jan 15 20:30:01 2015 -0800 x86/mm: Reduce PAE-mode per task pgd allocation overhead from 4K to 32 bytes With more embedded systems emerging using Quark, among other things, 32-bit kernel matters again. 32-bit machine and kernel uses PAE paging, which currently wastes at least 4K of memory per process on Linux where we have to reserve an entire page to support a single 32-byte PGD structure. It would be a very good thing if we could eliminate that wastage. PAE paging is used to access more than 4GB memory on x86-32. And it is required for NX. In this patch, we still allocate one page for pgd for a Xen domain and 64-bit kernel because one page pgd is assumed in these cases. But we can save memory space by only allocating 32-byte pgd for 32-bit PAE kernel when it is not running as a Xen domain. Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Glenn Williamson <glenn.p.williamson@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1421382601-46912-1-git-send-email-fenghua.yu@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db2dcb4f91d5fec5c346a82c309187ee821e2495 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Tue Jan 20 13:00:46 2015 +0000 irqflags: Fix (at least latent) code generation issue The conditional in local_irq_restore() otherwise can cause code bloat (the if and else blocks may get translated into separate code paths despite the generated code being identical, dependent on compiler internal heuristics). Note that this adjustment gets the code in sync with the comment preceding it (which was slightly wrong from at least from 2.6.37 onwards). The code bloat was observed in reality with an experimental x86 patch. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/54BE5F8E02000078000570A7@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 79287cf8778df21e5ad6c3ac01615e02cf9dbae6 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Sun Jan 25 00:11:32 2015 +0600 x86/boot/video: Move the 'video_segment' variable to video.c video.c is the only real user of the 'video_segment' variable, so move it to video.c and make it static. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Martin Mares <mj@xxxxxx> Link: http://lkml.kernel.org/r/1422123092-28750-1-git-send-email-kuleshovmail@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5b171e8218044d3c951d20a39512df861e349722 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Wed Jan 28 00:16:28 2015 +0600 x86/asm/boot: Fix path in comments Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Martin Mares <mj@xxxxxx> Link: http://lkml.kernel.org/r/1422382588-10367-1-git-send-email-kuleshovmail@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 91e5ed49fca09c2b83b262b9757d1376ee2b46c3 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Jan 27 16:06:02 2015 -0800 x86/asm/decoder: Fix and enforce max instruction size in the insn decoder x86 instructions cannot exceed 15 bytes, and the instruction decoder should enforce that. Prior to 6ba48ff46f76, the instruction length limit was implicitly set to 16, which was an approximation of 15, but there is currently no limit at all. Fix MAX_INSN_SIZE (it should be 15, not 16), and fix the decoder to reject instructions that exceed MAX_INSN_SIZE. Other than potentially confusing some of the decoder sanity checks, I'm not aware of any actual problems that omitting this check would cause, nor am I aware of any practical problems caused by the MAX_INSN_SIZE error. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Fixes: 6ba48ff46f76 ("x86: Remove arbitrary instruction size limit ... Link: http://lkml.kernel.org/r/f8f0bc9b8c58cfd6830f7d88400bf1396cbdcd0f.1422403511.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c1740d13e6ae4f1449e0a85097edf3ece51135ca Author: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 22:49:33 2015 +0100 HID: hid-lg4ff: Fix "undefined reference" build issue with CONFIG_USB disabled Fix "undefined reference" build issue with CONFIG_USB disabled; make the driver use generic HID API instead. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 9a1c001298fd567c0f0776ab54ab9965eeb9019f Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Feb 17 14:19:46 2015 -0500 HID: wacom: do not directly use input_mt_report_pointer_emulation input_mt_sync_frame() calls input_mt_report_pointer_emulation() and do some internal steps required to keep in sync the state of the touch within the various reports. Given that we use input_mt_get_slot_by_key() in this driver, it is better to use input_mt_sync_frame(). Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 50849eefea3ba8aa6e540e0cbdc9533098f25656 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Thu Feb 5 15:31:56 2015 +0000 x86/Kconfig: Simplify X86_UP_APIC handling We don't really need a helper symbol for that. For one, it's pointlessly getting set to Y for all configurations (even 64-bit ones). And then the purpose can be fulfilled by suitably adjusting X86_UP_APIC: Hide its prompt when PCI_MSI, and default it to PCI_MSI. Tested-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/54D39AFC020000780005D684@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b1da1e715d4faf01468b7f45f7098922bc85ea8e Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Thu Feb 5 15:35:21 2015 +0000 x86/Kconfig: Simplify X86_IO_APIC dependencies Since dependencies are transitive, we don't really need to repeat those of X86_UP_IOAPIC. Furthermore avoid the symbol getting entered into .config when it is off by having the default simply Y and the dependencies solely handled via the intended for that purpose "depends on". Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/54D39BC9020000780005D688@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e0fd24a3b4ad7b4084b41944835952eedec53f98 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Thu Feb 5 15:39:34 2015 +0000 x86/Kconfig: Avoid issuing pointless turned off entries to .config Settings without prompts shouldn't normally have defaults other than Y, as otherwise they (a) needlessly enlarge the resulting .config and (b) if they ever get a prompt added later, the tracked setting of off will prevent the devloper from then being prompted for his/her choice when doing an incremental update of the configuration (make oldconfig). Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/54D39CC6020000780005D6AE@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2e701a359ac2833381e5d226802bed8fd1946238 Author: Antonio Ospite <ao2@xxxxxx> Date: Mon Feb 16 18:12:24 2015 +0100 HID: sony: Coding style cleanups in sixaxis_set_operational_usb() Don't mix declaration and allocation, remove some useless newlines between calling a function and checking its return value. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dad89ad046b0a9cfad99fb30e27df2be5bf76b54 Author: Antonio Ospite <ao2@xxxxxx> Date: Mon Feb 16 18:12:23 2015 +0100 HID: sony: Use __u8 * for the buffer in sixaxis_set_operational_usb() Use the same type declared in the prototypes of functions that are going to accept the buffer as parameter. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a85d67b545e9c1e178ecdb159cfa59a45405c22a Author: Antonio Ospite <ao2@xxxxxx> Date: Mon Feb 16 18:12:22 2015 +0100 HID: sony: Don't use magic numbers in sixaxis_set_operational_usb() Remove the magic numbers used in sixaxis_set_operational_usb(): - use the already defined SIXAXIS_REPORT_0xF2_SIZE; - define and use SIXAXIS_REPORT_0xF5_SIZE; - set the dummy buffer size to accommodate any report that is going to be requested. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 29b691a894f3964b26b8179423a45591fc071eea Author: Antonio Ospite <ao2@xxxxxx> Date: Mon Feb 16 18:12:21 2015 +0100 HID: sony: Use the minimum accepted size for feature report 0xf2 Sixaxis devices accept feature report 0xf2 when size is >= 17, not 18. Use the minimum accepted size. The change is mainly for documentation purposes, the code worked fine even before this change. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f31a2de3fe3680223a0dc93e484c491cc09473d3 Author: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 17:59:23 2015 +0100 HID: hid-lg4ff: Allow switching of Logitech gaming wheels between compatibility modes Allow switching of Logitech gaming wheels between available compatibility modes through sysfs. This only applies to multimode wheels. Signed-off-by: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Tested-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a54dc7795efceb9a458457540c69450c995a2772 Author: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 17:59:22 2015 +0100 HID: hid-lg4ff: Introduce a module parameter to disable automatic switch of compatibility mode Introduce a module parameter to disable automatic switch of Logitech gaming wheels from compatibility to native mode. This only applies to multimode wheels. Signed-off-by: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Tested-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b96d23ec698fdc1fdf904e5547d9abb6354eef5c Author: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 17:59:21 2015 +0100 HID: hid-lg4ff: Export the real wheel model and supported alternate modes Display the real wheel model and supported alternate modes through sysfs. This applies only to multimode wheels. Signed-off-by: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Tested-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e7c234496d01c90a4b042d899a65e10f1f63ebc1 Author: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 17:59:20 2015 +0100 HID: hid-lg4ff: Identify Logitech gaming wheels in compatibility modes Identify Logitech gaming wheels in compatibility modes accordingly to Logitech specifications. Logitech specification contains a general method of identifying various models of their gaming wheels while they are in "compatibility" mode. This patch implements the method instead of checking against known values of bcdDevice. Handling of the mode switch upon initialization is also adjusted so that the driver does not have to go through the entire initialization routine because the wheels are set to perform a USB detach before they reappear in "native" mode. Signed-off-by: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Tested-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0937e3b025f70e33f018aa55ee8d32b8731730a7 Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Date: Mon Feb 9 11:31:13 2015 -0600 livepatch: simplify disable error path If registering the function with ftrace has previously succeeded, unregistering will almost never fail. Even if it does, it's not a fatal error. We can still carry on and disable the klp_func from being used by removing it from the klp_ops func stack. Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Reviewed-by: Miroslav Benes <mbenes@xxxxxxx> Reviewed-by: Petr Mladek <pmladek@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit cbb53b9623a70f012e1fdfb6fc0af6878df4762b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 12 20:06:57 2015 +0100 x86/asm/decoder: Explain CALLW discrepancy between Intel and AMD In 64-bit mode, AMD and Intel CPUs treat 0x66 prefix before branch insns differently. For near branches, it affects decode too since immediate offset's width is different. See these empirical tests: http://marc.info/?l=linux-kernel&m=139714939728946&w=2 Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423768017-31766-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8a764a875fe3cf3a83296bacd00bfc41917e95e2 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 12 20:04:39 2015 +0100 x86/asm/decoder: Create artificial 3rd byte for 2-byte VEX Before this patch, users need to do this to fetch vex.vvvv: if (insn->vex_prefix.nbytes == 2) { vex_vvvv = ((insn->vex_prefix.bytes[1] >> 3) & 0xf) ^ 0xf; } if (insn->vex_prefix.nbytes == 3) { vex_vvvv = ((insn->vex_prefix.bytes[2] >> 3) & 0xf) ^ 0xf; } Make it so that insn->vex_prefix.bytes[2] always contains vex.wvvvvLpp bits. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ananth N Mavinakayanahalli <ananth@xxxxxxxxxx> Cc: Frank Ch. Eigler <fche@xxxxxxxxxx> Cc: Jim Keniston <jkenisto@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423767879-31691-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4421f8f0fa02bc982b410cd773223cc280791c54 Author: Miroslav Benes <mbenes@xxxxxxx> Date: Wed Feb 18 15:21:07 2015 +0100 livepatch: remove extern specifier from header files Storage-class specifier 'extern' is redundant in front of the function declaration. According to the C specification it has the same meaning as if not present at all. So remove it. Signed-off-by: Miroslav Benes <mbenes@xxxxxxx> Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8a26ce4e544659256349551283414df504889a59 Merge: acba3c7 726f323 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Feb 18 19:14:54 2015 +0100 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: - No need to explicitely enable evsels for workload started from perf, let it be enabled via perf_event_attr.enable_on_exec, removing some events that take place in the 'perf trace' before a workload is really started by it. (Arnaldo Carvalho de Melo) - Fix to handle optimized not-inlined functions in 'perf probe' (Masami Hiramatsu) - Update 'perf probe' man page (Masami Hiramatsu) - 'perf trace': Allow mixing with tracepoints and suppressing plain syscalls (Arnaldo Carvalho de Melo) Infrastructure changes: - Introduce {trace_seq_do,event_format_}_fprintf functions to allow a default tracepoint field list printer to be used in tools that allows redirecting output to a file. (Arnaldo Carvalho de Melo) - The man page for pthread_attr_set_affinity_np states that _GNU_SOURCE must be defined before pthread.h, do it to fix the build in some systems (Josh Boyer) - Cleanups in 'perf buildid-cache' (Masami Hiramatsu) - Fix dso cache test case (Namhyung Kim) - Do Not rely on dso__data_read_offset() to open DSO (Namhyung Kim) - Make perf aware of tracefs (Steven Rostedt). - Fix build by defining STT_GNU_IFUNC for glibc 2.9 and older (Vinson Lee) - AArch64 symbol resolution fixes (Victor Kamensky) - Kconfig beachhead (Jiri Olsa) - Simplify nr_pages validity (Kaixu Xia) - Fixup header positioning in 'perf list' (Yunlong Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1e78cdbd9b2266503339accafe0ebdd99b93a531 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Feb 16 15:23:49 2015 -0500 sched/rt/nohz: Stop scheduler tick if running realtime task If the CPU is running a realtime task that does not round-robin with another realtime task of equal priority, there is no point in keeping the scheduler tick going. After all, whenever the scheduler tick runs, the kernel will just decide not to reschedule. Extend sched_can_stop_tick() to recognize these situations, and inform the rest of the kernel that the scheduler tick can be stopped. Tested-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: fweisbec@xxxxxxxxxx Cc: mtosatti@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150216152349.6a8ed824@xxxxxxxxxxxxxxxxxxxxx [ Small cleanliness tweak. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit acba3c7e4652ca5fcb2fd9376d58c2dffd8ddf2a Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jan 14 14:15:39 2015 +0100 perf, powerpc: Fix up flush_branch_stack() users The recent LBR rework for x86 left a stray flush_branch_stack() user in the PowerPC code, fix that up. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Joel Stanley <joel@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Michael Neuling <mikey@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 384b60557b5522fcb99646f0eb6e7a344cdb94c6 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Jan 5 13:23:05 2015 -0500 perf tools: Construct LBR call chain LBR call stack only has user-space callchains. It is output in the PERF_SAMPLE_BRANCH_STACK data format. For kernel callchains, it's still in the form of PERF_SAMPLE_CALLCHAIN. The perf tool has to handle both data sources to construct a complete callstack. For the "perf report -D" option, both lbr and fp information will be displayed. A new call chain recording option "lbr" is introduced into the perf tool for LBR call stack. The user can use --call-graph lbr to get the call stack information from hardware. Here are some examples. When profiling bc(1) on Fedora 19: echo 'scale=2000; 4*a(1)' > cmd; perf record --call-graph lbr bc -l < cmd If enabling LBR, perf report output looks like: 50.36% bc bc [.] bc_divide | --- bc_divide execute run_code yyparse main __libc_start_main _start 33.66% bc bc [.] _one_mult | --- _one_mult bc_divide execute run_code yyparse main __libc_start_main _start 7.62% bc bc [.] _bc_do_add | --- _bc_do_add | |--99.89%-- 0x2000186a8 --0.11%-- [...] 6.83% bc bc [.] _bc_do_sub | --- _bc_do_sub | |--99.94%-- bc_add | execute | run_code | yyparse | main | __libc_start_main | _start --0.06%-- [...] 0.46% bc libc-2.17.so [.] __memset_sse2 | --- __memset_sse2 | |--54.13%-- bc_new_num | | | |--51.00%-- bc_divide | | execute | | run_code | | yyparse | | main | | __libc_start_main | | _start | | | |--30.46%-- _bc_do_sub | | bc_add | | execute | | run_code | | yyparse | | main | | __libc_start_main | | _start | | | --18.55%-- _bc_do_add | bc_add | execute | run_code | yyparse | main | __libc_start_main | _start | --45.87%-- bc_divide execute run_code yyparse main __libc_start_main _start If using FP, perf report output looks like: echo 'scale=2000; 4*a(1)' > cmd; perf record --call-graph fp bc -l < cmd 50.49% bc bc [.] bc_divide | --- bc_divide 33.57% bc bc [.] _one_mult | --- _one_mult 7.61% bc bc [.] _bc_do_add | --- _bc_do_add 0x2000186a8 6.88% bc bc [.] _bc_do_sub | --- _bc_do_sub 0.42% bc libc-2.17.so [.] __memcpy_ssse3_back | --- __memcpy_ssse3_back If using LBR, perf report -D output looks like: 3458145275743 0x2fd750 [0xd8]: PERF_RECORD_SAMPLE(IP, 0x2): 9748/9748: 0x408ea8 period: 609644 addr: 0 ... LBR call chain: nr:8 ..... 0: fffffffffffffe00 ..... 1: 0000000000408e50 ..... 2: 000000000040a458 ..... 3: 000000000040562e ..... 4: 0000000000408590 ..... 5: 00000000004022c0 ..... 6: 00000000004015dd ..... 7: 0000003d1cc21b43 ... FP chain: nr:2 ..... 0: fffffffffffffe00 ..... 1: 0000000000408ea8 ... thread: bc:9748 ...... dso: /usr/bin/bc The LBR call stack has the following known limitations: - Zero length calls are not filtered out by the hardware - Exception handing such as setjmp/longjmp will have calls/returns not match - Pushing different return address onto the stack will have calls/returns not match - If callstack is deeper than the LBR, only the last entries are captured Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Simon Que <sque@xxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1420482185-29830-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aad2b21c151273fa7abc419dac51a980eff1dd17 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Jan 5 13:23:04 2015 -0500 perf tools: Enable LBR call stack support Currently, there are two call chain recording options, fp and dwarf. Haswell has a new feature that utilizes the existing LBR facility to record call chains. Kernel side LBR support code provides this as a third option to record call chains. This patch enables the lbr call stack support on the tooling side. LBR call stack has some limitations: - It reuses current LBR facility, so LBR call stack and branch record can not be enabled at the same time. - It is only available for user-space callchains. However, it also offers some advantages: - LBR call stack can work on user apps which don't have frame-pointers or dwarf debug info compiled. It is a good alternative when nothing else works. Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Cody P Schafer <cody@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Jacob Shin <jacob.w.shin@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Rodrigo Campos <rodrigo@xxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1420482185-29830-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2c44b1936bb3b135a3fac8b3493394d42e51cf70 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Nov 5 10:36:45 2014 +0100 perf/x86/intel: Expose LBR callstack to user space tooling With LBR call stack feature enable, there are three callchain options. Enable the 3rd callchain option (LBR callstack) to user space tooling. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: linux-api@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20141105093759.GQ10501@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aa54ae9b87b83af7edabcc34a299e7e014609af4 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:11 2014 -0500 perf/x86/intel: Discard zero length call entries in LBR call stack "Zero length call" uses the attribute of the call instruction to push the immediate instruction pointer on to the stack and then pops off that address into a register. This is accomplished without any matching return instruction. It confuses the hardware and make the recorded call stack incorrect. We can partially resolve this issue by: decode call instructions and discard any zero length call entry in the LBR stack. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-16-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2c70d0086e4e9e2440f0f78098090f32bde14277 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:10 2014 -0500 perf/x86/intel: Disable FREEZE_LBRS_ON_PMI when LBR operates in callstack mode LBR callstack is designed for PEBS, It does not work well with FREEZE_LBRS_ON_PMI for non PEBS event. If FREEZE_LBRS_ON_PMI is set for non PEBS event, PMIs near call/return instructions may cause superfluous increase/decrease of LBR_TOS. This patch modifies __intel_pmu_lbr_enable() to not enable FREEZE_LBRS_ON_PMI when LBR operates in callstack mode. We currently don't use LBR callstack to capture kernel space callchain, so disabling FREEZE_LBRS_ON_PMI should not be a problem. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-15-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4b854900995194601d767fcd112307b21ed278b2 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:08 2014 -0500 perf/x86/intel: Re-organize code that implicitly enables LBR/PEBS Make later patch more readable, no logic change. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-13-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a46a23000198d929391aa9dac8de68734efa2703 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:06 2014 -0500 perf: Simplify the branch stack check Use event->attr.branch_sample_type to replace intel_pmu_needs_lbr_smpl() for avoiding duplicated code that implicitly enables the LBR. Currently, branch stack can be enabled by user explicitly requesting branch sampling or implicit branch sampling to correct PEBS skid. For user explicitly requested branch sampling, the branch_sample_type is explicitly set by user. For PEBS case, the branch_sample_type is also implicitly set to PERF_SAMPLE_BRANCH_ANY in x86_pmu_hw_config. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-11-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76cb2c617f12a4dd53c0e899972813b805ad6cc2 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:05 2014 -0500 perf/x86/intel: Save/restore LBR stack during context switch When the LBR call stack is enabled, it is necessary to save/restore the LBR stack on context switch. The solution is saving/restoring the LBR stack to/from task's perf event context. The LBR stack is saved/restored only when there are events that use the LBR call stack. If no event uses LBR call stack, the LBR stack is reset when task is scheduled in. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-10-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 63f0c1d84196b712fe9de99a8514486ab416d517 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:04 2014 -0500 perf/x86/intel: Track number of events that use the LBR callstack When enabling/disabling an event, check if the event uses the LBR callstack feature, adjust the LBR callstack usage count accordingly. Later patch will use the usage count to decide if LBR stack should be saved/restored. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-9-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e18bf526422769611e7248135e36a4cea0e4e38d Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:03 2014 -0500 perf/x86/intel: Allocate space for storing LBR stack When the LBR call stack is enabled, it is necessary to save/restore the LBR stack on context switch. We can use pmu specific data to store LBR stack when task is scheduled out. This patch adds code that allocates the pmu specific data. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-8-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5a158c3ccd2183a7b0866be6685d001fe653430f Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:02 2014 -0500 perf: Always switch pmu specific data during context switch If two tasks were both forked from the same parent task, Events in their perf task contexts can be the same. Perf core may leave out switching the perf event contexts. Previous patch inroduces pmu specific data. The data is for saving the LBR stack, it is task specific. So we need to switch the data even when context switch is optimized out. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-7-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4af57ef28c2c1047fda9e1a5be02aa7a6a69cf9e Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:01 2014 -0500 perf: Add pmu specific data for perf task context Introduce a new flag PERF_ATTACH_TASK_DATA for perf event's attach stata. The flag is set by PMU's event_init() callback, it indicates that perf event needs PMU specific data. The PMU specific data are initialized to zeros. Later patches will use PMU specific data to save LBR stack. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-6-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9d7f7cd97c45e2c612d3b38be05b4cfb27939ee Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:00 2014 -0500 perf/x86/intel: Add basic Haswell LBR call stack support Haswell has a new feature that utilizes the existing LBR facility to record call chains. To enable this feature, bits (JCC, NEAR_IND_JMP, NEAR_REL_JMP, FAR_BRANCH, EN_CALLSTACK) in LBR_SELECT must be set to 1, bits (NEAR_REL_CALL, NEAR-IND_CALL, NEAR_RET) must be cleared. Due to a hardware bug of Haswell, this feature doesn't work well with FREEZE_LBRS_ON_PMI. When the call stack feature is enabled, the LBR stack will capture unfiltered call data normally, but as return instructions are executed, the last captured branch record is flushed from the on-chip registers in a last-in first-out (LIFO) manner. Thus, branch information relative to leaf functions will not be captured, while preserving the call stack information of the main line execution path. This patch defines a separate lbr_sel map for Haswell. The map contains a new entry for the call stack feature. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2a0ad3b326a9024ba86dca4028499d31fa0c6c4d Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:55:59 2014 -0500 perf/x86/intel: Use context switch callback to flush LBR stack Previous commit introduces context switch callback, its function overlaps with the flush branch stack callback. So we can use the context switch callback to flush LBR stack. This patch adds code that uses the flush branch callback to flush the LBR stack when task is being scheduled in. The callback is enabled only when there are events use the LBR hardware. This patch also removes all old flush branch stack code. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-4-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ba532500c5651a4be4108acc64ed99a95cb005b3 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:55:58 2014 -0500 perf: Introduce pmu context switch callback The callback is invoked when process is scheduled in or out. It provides mechanism for later patches to save/store the LBR stack. For the schedule in case, the callback is invoked at the same place that flush branch stack callback is invoked. So it also can replace the flush branch stack callback. To avoid unnecessary overhead, the callback is enabled only when there are events use the LBR stack. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27ac905b8f88d28779b0661809286b5ba2817d37 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:55:57 2014 -0500 perf/x86/intel: Reduce lbr_sel_map[] size The index of lbr_sel_map is bit value of perf branch_sample_type. PERF_SAMPLE_BRANCH_MAX is 1024 at present, so each lbr_sel_map uses 4096 bytes. By using bit shift as index, we can reduce lbr_sel_map size to 40 bytes. This patch defines 'bit shift' for branch types, and use 'bit shift' to define lbr_sel_maps. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: jolsa@xxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c796b205b88c775fd220c1a63390bac6a8cdda3f Author: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Date: Fri Jan 23 12:19:35 2015 -0600 perf/x86/amd/ibs: Convert force_ibs_eilvt_setup() to void The caller of force_ibs_eilvt_setup() is ibs_eilvt_setup() which does not care about the return values. So mark it void and clean up the return statements. Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: <hpa@xxxxxxxxx> Cc: <paulus@xxxxxxxxx> Cc: <tglx@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422037175-20957-1-git-send-email-aravind.gopalakrishnan@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6a694a607a97d58c042fb7fbd60ef1caea26950c Author: Shaohua Li <shli@xxxxxx> Date: Thu Feb 5 15:55:32 2015 -0800 perf: Update userspace page info for software event For hardware events, the userspace page of the event gets updated in context switches, so if we read the timestamp in the page, we get fresh info. For software events, this is missing currently. This patch makes the behavior consistent. With this patch, we can implement clock_gettime(THREAD_CPUTIME) with PERF_COUNT_SW_DUMMY in userspace as suggested by Andy and Peter. Code like this: if (pc->cap_user_time) { do { seq = pc->lock; barrier(); running = pc->time_running; cyc = rdtsc(); time_mult = pc->time_mult; time_shift = pc->time_shift; time_offset = pc->time_offset; barrier(); } while (pc->lock != seq); quot = (cyc >> time_shift); rem = cyc & ((1 << time_shift) - 1); delta = time_offset + quot * time_mult + ((rem * time_mult) >> time_shift); running += delta; return running; } I tried it on a busy system, the userspace page updating doesn't have noticeable overhead. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/aa2dd2e4f1e9f2225758be5ba00f14d6909a8ce1.1423180257.git.shli@xxxxxx [ Improved the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 72f669c0086fbbbbebc92ce7390125722c4c0ec5 Author: Shaohua Li <shli@xxxxxx> Date: Thu Feb 5 15:55:31 2015 -0800 perf: Update shadow timestamp before add event Update the shadow timestamp before start event, because .add might use the timestamp. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Link: http://lkml.kernel.org/r/9cd0276d6a047cb7c2885994f25e3a1f7c8c28af.1423180257.git.shli@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8e57c586c6a8333c266a6cf76d50e110f2954558 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 12:40:54 2015 +0100 perf/x86/intel/uncore: Delete an unnecessary check before pci_dev_put() call The pci_dev_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/54D0B59C.2060106@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a99367023f6ac664365a37fa508b059e31d0e88 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Jan 30 01:14:27 2015 -0800 locking/rwsem: Check for active lock before bailing on spinning 37e9562453b ("locking/rwsem: Allow conservative optimistic spinning when readers have lock") forced the default for optimistic spinning to be disabled if the lock owner was nil, which makes much sense for readers. However, while it is not our priority, we can make some optimizations for write-mostly workloads. We can bail the spinning step and still be conservative if there are any active tasks, otherwise there's really no reason not to spin, as the semaphore is most likely unlocked. This patch recovers most of a Unixbench 'execl' benchmark throughput by sleeping less and making better average system usage: before: CPU %user %nice %system %iowait %steal %idle all 0.60 0.00 8.02 0.00 0.00 91.38 after: CPU %user %nice %system %iowait %steal %idle all 1.22 0.00 70.18 0.00 0.00 28.60 Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422609267-15102-6-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b3fd4f03ca0b9952221f39ae6790e698bf4b39e7 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Jan 30 01:14:26 2015 -0800 locking/rwsem: Avoid deceiving lock spinners When readers hold the semaphore, the ->owner is nil. As such, and unlike mutexes, '!owner' does not necessarily imply that the lock is free. This will cause writers to potentially spin excessively as they've been mislead to thinking they have a chance of acquiring the lock, instead of blocking. This patch therefore enhances the counter check when the owner is not set by the time we've broken out of the loop. Otherwise we can return true as a new owner has the lock and thus we want to continue spinning. While at it, we can make rwsem_spin_on_owner() less ambiguos and return right away under need_resched conditions. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422609267-15102-5-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7a215f89a0335582292ec6f3edaa3abd570da75a Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Jan 30 01:14:25 2015 -0800 locking/rwsem: Set lock ownership ASAP In order to optimize the spinning step, we need to set the lock owner as soon as the lock is acquired; after a successful counter cmpxchg operation, that is. This is particularly useful as rwsems need to set the owner to nil for readers, so there is a greater chance of falling out of the spinning. Currently we only set the owner much later in the game, in the more generic level -- latency can be specially bad when waiting for a node->next pointer when releasing the osq in up_write calls. As such, update the owner inside rwsem_try_write_lock (when the lock is obtained after blocking) and rwsem_try_write_lock_unqueued (when the lock is obtained while spinning). This requires creating a new internal rwsem.h header to share the owner related calls. Also cleanup some headers for mutex and rwsem. Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422609267-15102-4-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 49e4b2bcf7b812e985e65b6c8a0255b1520a6e7e Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Jan 30 01:14:24 2015 -0800 locking/rwsem: Document barrier need when waking tasks The need for the smp_mb() in __rwsem_do_wake() should be properly documented. Applies to both xadd and spinlock variants. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422609267-15102-3-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a21294644623ee41034db60e93aaebed4db0e57b Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Feb 2 15:05:36 2015 +0100 locking/futex: Check PF_KTHREAD rather than !p->mm to filter out kthreads attach_to_pi_owner() checks p->mm to prevent attaching to kthreads and this looks doubly wrong: 1. It should actually check PF_KTHREAD, kthread can do use_mm(). 2. If this task is not kthread and it is actually the lock owner we can wrongly return -EPERM instead of -ESRCH or retry-if-EAGAIN. And note that this wrong EPERM is the likely case unless the exiting task is (auto)reaped quickly, we check ->mm before PF_EXITING. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Darren Hart <darren@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Larry Woodman <lwoodman@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mateusz Guzik <mguzik@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202140536.GA26406@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit be1f7bf217ebb1e42190d7d0b332c89ea7871378 Author: Jason Low <jason.low2@xxxxxx> Date: Mon Feb 2 13:59:27 2015 -0800 locking/mutex: Refactor mutex_spin_on_owner() As suggested by Davidlohr, we could refactor mutex_spin_on_owner(). Currently, we split up owner_running() with mutex_spin_on_owner(). When the owner changes, we make duplicate owner checks which are not necessary. It also makes the code a bit obscure as we are using a second check to figure out why we broke out of the loop. This patch modifies it such that we remove the owner_running() function and the mutex_spin_on_owner() loop directly checks for if the owner changes, if the owner is not running, or if we need to reschedule. If the owner changes, we break out of the loop and return true. If the owner is not running or if we need to reschedule, then break out of the loop and return false. Suggested-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Signed-off-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Aswin Chandramouleeswaran <aswin@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: chegu_vinod@xxxxxx Cc: tglx@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1422914367-5574-3-git-send-email-jason.low2@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 07d2413a61db6500f58e614e873eed79d7f2ed72 Author: Jason Low <jason.low2@xxxxxx> Date: Mon Feb 2 13:59:26 2015 -0800 locking/mutex: In mutex_spin_on_owner(), return true when owner changes In the mutex_spin_on_owner(), we return true only if lock->owner == NULL. This was beneficial in situations where there were multiple threads simultaneously spinning for the mutex. If another thread got the lock while other spinner(s) were also doing mutex_spin_on_owner(), then the other spinners would stop spinning. This workaround helped reduce the chance that many spinners were simultaneously spinning for the mutex which can help reduce contention in highly contended cases. However, recent changes were made to the optimistic spinning code such that instead of having all spinners simultaneously spin for the mutex, we queue the spinners with an MCS lock such that only one thread spins for the mutex at a time. Furthermore, the OSQ optimizations ensure that spinners in the queue will stop waiting if it needs to reschedule. Now, we don't have to worry about multiple threads spinning on owner at the same time, and if lock->owner is not NULL at this point, it likely means another thread happens to obtain the lock in the fastpath. In this case, it would make sense for the spinner to continue spinning as long as the spinner doesn't need to schedule and the mutex owner is running. This patch changes this so that mutex_spin_on_owner() returns true when the lock owner changes, which means a thread will only stop spinning if it either needs to reschedule or if the lock owner is not running. We saw up to a 5% performance improvement in the fserver workload with this patch. Signed-off-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aswin Chandramouleeswaran <aswin@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: chegu_vinod@xxxxxx Cc: tglx@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1422914367-5574-2-git-send-email-jason.low2@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 890a5409f9d0c84d75a1e16eebdfe91d8a57ef1e Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Mon Feb 9 12:30:00 2015 +0100 sched/numa: Avoid some pointless iterations Commit 81907478c431 ("sched/fair: Avoid using uninitialized variable in preferred_group_nid()") unconditionally initializes max_group with NODE_MASK_NONE, this means that when !max_faults (max_group didn't get set), we'll now continue the iteration with an empty mask. Which in turn makes the actual body of the loop go away, so we'll just iterate until completion; short circuit this by breaking out of the loop as soon as this would happen. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150209113727.GS5029@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 095bebf61a460ad7f6a45bb17ddbf3a9df2b4397 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 3 16:56:48 2015 -0500 sched/numa: Do not move past the balance point if unbalanced There is a subtle interaction between the logic introduced in commit e63da03639cc ("sched/numa: Allow task switch if load imbalance improves"), the way the load balancer counts the load on each NUMA node, and the way NUMA hinting faults are done. Specifically, the load balancer only counts currently running tasks in the load, while NUMA hinting faults may cause tasks to stop, if the page is locked by another task. This could cause all of the threads of a large single instance workload, like SPECjbb2005, to migrate to the same NUMA node. This was possible because occasionally they all fault on the same few pages, and only one of the threads remains runnable. That thread can move to the process's preferred NUMA node without making the imbalance worse, because nothing else is running at that time. The fix is to check the direction of the net moving of load, and to refuse a NUMA move if it would cause the system to move past the point of balance. In an unbalanced state, only moves that bring us closer to the balance point are allowed. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: mgorman@xxxxxxx Link: http://lkml.kernel.org/r/20150203165648.0e9ac692@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bd624d75db21ea5402f9ecf4450b311794d80352 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 13 08:54:56 2015 +0800 clockevents: Introduce mode specific callbacks It is not possible for the clockevents core to know which modes (other than those with a corresponding feature flag) are supported by a particular implementation. And drivers are expected to handle transition to all modes elegantly, as ->set_mode() would be issued for them unconditionally. Now, adding support for a new mode complicates things a bit if we want to use the legacy ->set_mode() callback. We need to closely review all clockevents drivers to see if they would break on addition of a new mode. And after such reviews, it is found that we have to do non-trivial changes to most of the drivers [1]. Introduce mode-specific set_mode_*() callbacks, some of which the drivers may or may not implement. A missing callback would clearly convey the message that the corresponding mode isn't supported. A driver may still choose to keep supporting the legacy ->set_mode() callback, but ->set_mode() wouldn't be supporting any new modes beyond RESUME. If a driver wants to benefit from using a new mode, it would be required to migrate to the mode specific callbacks. The legacy ->set_mode() callback and the newly introduced mode-specific callbacks are mutually exclusive. Only one of them should be supported by the driver. Sanity check is done at the time of registration to distinguish between optional and required callbacks and to make error recovery and handling simpler. If the legacy ->set_mode() callback is provided, all mode specific ones would be ignored by the core but a warning is thrown if they are present. Call sites calling ->set_mode() directly are also updated to use __clockevents_set_mode() instead, as ->set_mode() may not be available anymore for few drivers. [1] https://lkml.org/lkml/2014/12/9/605 [2] https://lkml.org/lkml/2015/1/23/255 Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [2] Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: linaro-networking@xxxxxxxxxx Link: http://lkml.kernel.org/r/792d59a40423f0acffc9bb0bec9de1341a06fa02.1423788565.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02cea3958664723a5d2236f0f0058de97c7e4693 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Feb 5 14:06:23 2015 +0100 genirq: Provide disable_hardirq() For things like netpoll there is a need to disable an interrupt from atomic context. Currently netpoll uses disable_irq() which will sleep-wait on threaded handlers and thus forced_irqthreads breaks things. Provide disable_hardirq(), which uses synchronize_hardirq() to only wait for active hardirq handlers; also change synchronize_hardirq() to return the status of threaded handlers. This will allow one to try-disable an interrupt from atomic context, or in case of request_threaded_irq() to only wait for the hardirq part. Suggested-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Cc: Eyal Perry <eyalpe@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Quentin Lambert <lambert.quentin@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150205130623.GH5029@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ Fixed typos and such. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fece13ca005a5f559147e9424321f4b5e01272b4 Merge: 855e7e7 f5af19d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Feb 17 18:48:51 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit 0af801b9bf34e3eb9f86a210e9928d42922f6631 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Feb 17 15:05:21 2015 +0200 Bluetooth: Fix AMP init for certain AMP controllers Some AMP controllers do not support the Read Local Features HCI commands (even though according to the spec they should). Luckily they at least correctly omit this from the supported commands bitmask, so we can work around the issue by creating a second AMP init phase and issuing the HCI command conditionally there. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 922c88a8368a61ee93653d4a2888a7f4ce263102 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 17 14:46:40 2015 +0100 ALSA: hda - Embed struct hda_bus_unsolicited into struct hda_bus There is no big merit to handle hda_bus_unsolicited object individually, as it's tightly coupled with the hda_bus object itself. Embedding it makes the code simpler in the end. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ef7449780ebb596b47d5019eb7ba7878c30a3404 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 17 13:56:29 2015 +0100 ALSA: hda - Drop hda_bus_template for snd_hda_bus_new() Instead of copying from the given template, let the caller fills the fields after creation. This simplifies the code after all. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 70e003f75fab6c1496147838acf59be85d2520c0 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Tue Feb 10 12:36:55 2015 -0800 HID: rmi: Print the firmware id of the touchpad Knowing the firmware id is extremely useful when debugging issues related to the touchpad. It can be used to determine the hardware, firmware version, and configuation of the touchpad. This patch queries the firmware id and prints it as the touchpad is starting so that it will show up in the dmesg output included in bug reports. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a7de9b867be0662e72db69fd40a4f1d2aa80ecc0 Author: Lauri Kasanen <cand@xxxxxxx> Date: Mon Feb 16 15:06:59 2015 +0200 HID: sony: Enable Gasia third-party PS3 controllers Without this, my "Gasia Co.,Ltd PS(R) Gamepad" would not send any events. Now everything works including the leds. Based on work by Andrew Haines and Antonio Ospite. cc: Antonio Ospite <ao2@xxxxxx> cc: Andrew Haines <AndrewD207@xxxxxxx> Signed-off-by: Lauri Kasanen <cand@xxxxxxx> Reviewed-by: Antonio Ospite <ao2@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit feb6faf1e5d46276c5430e36ffb4a6f62bf8d55b Author: Milan Plzik <milan.plzik@xxxxxxxxx> Date: Sat Feb 14 09:48:44 2015 +0100 HID: kye: Fix report descriptor for Genius PenSketch M912 Genius PenSketch M912 digitizer tablet sends incorrect report descriptor by default. This patch replaces it with a corrected one. Signed-off-by: Milan Plzik <milan.plzik@xxxxxxxxx> Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b9956409c281931c74ba8d0a2b61a98076a58602 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Tue Feb 17 00:05:43 2015 +0100 include/uapi/sound/emu10k1.h: include sound/asound.h Fixes userspace compilation errors like: error: field â??idâ?? has incomplete type struct snd_ctl_elem_id id; /* full control ID definition */ Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bbf91c1c5bfc00c2961f15657359ee7e87de4269 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Tue Feb 17 00:05:42 2015 +0100 include/uapi/sound/asequencer.h: include sound/asound.h Fixes userspace compilation error: error: unknown type name â??snd_seq_client_type_tâ?? snd_seq_client_type_t type; /* client type */ Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4bebf7091aa15ec60edf0dcbc654410a87ca21fe Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Tue Feb 17 00:05:38 2015 +0100 include/uapi/sound/asound.h: include stdlib.h in userspace Fixes compiler errors like: error: field â??trigger_tstampâ?? has incomplete type error: invalid application of â??sizeofâ?? to incomplete t ype â??struct timespecâ?? Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 76a3aeac2f6c02ecf065fa9baa279dd54bf2d819 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Tue Feb 17 00:05:27 2015 +0100 hdspm.h: include stdint.h in userspace Fixes compilation error: sound/hdspm.h:43:2: error: unknown type name â??uint32_tâ?? Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0c8d948565490d2a2db9d9a5aec388342c7d38ce Author: Adrian Knoth <aknoth@xxxxxxxxxx> Date: Tue Feb 17 00:05:06 2015 +0100 ALSA: hdspm - DRY cleanup of snd_pcm_ops This commit removes code duplication between snd_hdspm_{capture,playback}_ops. No semantic changes intended, this is purely cosmetic. Signed-off-by: Adrian Knoth <aknoth@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8b73b867294364ae3007affdf8cfd28f022b158c Author: Adrian Knoth <aknoth@xxxxxxxxxx> Date: Tue Feb 17 00:05:05 2015 +0100 ALSA: hdspm - DRY cleanup in .release callback This commit removes code duplication between snd_hdspm_{capture,playback}_release. No semantic changes intended, this is purely cosmetic. Signed-off-by: Adrian Knoth <aknoth@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5ecc5dc720307d3fb0167e2b14f50e97dd9a2233 Author: Adrian Knoth <aknoth@xxxxxxxxxx> Date: Tue Feb 17 00:05:04 2015 +0100 ALSA: hdspm - DRY cleanup in .open callbacks This commit removes code duplication between snd_hdspm_{capture,playback}_open. No semantic changes intended, this is purely cosmetic. Signed-off-by: Adrian Knoth <aknoth@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 38ebb7034970efe5c7419267e499295e5893b565 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 6 14:45:33 2015 +0100 ALSA: Consolidate snd_find_free_minor() A really small cleanup to consolidate snd_find_free_minor() and snd_kernel_minor() so that we can get rid of one more ifdef. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a4f3d2c4efe2628329249b64fd5799468e025b9d Author: David Sterba <dsterba@xxxxxxx> Date: Mon Feb 16 18:44:34 2015 +0100 btrfs: cleanup, reduce temporary variables in btrfs_read_roots Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 6f0110581911623df08bf4b65fdef4548ebcda0a Author: David Sterba <dsterba@xxxxxxx> Date: Mon Feb 16 18:34:01 2015 +0100 btrfs: use correct type for workqueue flags Through all the local wrappers to alloc_workqueue, __alloc_workqueue_key takes an unsigned int. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 4bbcaa648d23470f04285c52a27d87c8fe906203 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:45 2014 -0500 btrfs: factor btrfs_read_roots() out of open_ctree() Also, remove the two local variables create_uuid_tree and check_uuid_tree; we can use the existence of the uuid root and/or the RESCAN_UUID_TREE flag to determine what action to take. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 63443bf54a746fada8ef2829148a29f28f07f7af Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:46 2014 -0500 btrfs: factor btrfs_replay_log() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 2a4581983f90d829d9aeaa4cb881031950f54937 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Mon Feb 16 16:29:26 2015 +0100 btrfs: factor btrfs_init_workqueues() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_workqueues] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit f9e92e40b517bfe94d9e961ff484ab885348f322 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:42 2014 -0500 btrfs: factor btrfs_init_qgroup() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_qgroup] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit ad6183680c0845ff8052a919b97c71b4fec8f33a Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:41 2014 -0500 btrfs: factor btrfs_init_dev_replace_locks() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_dev_replace_locks] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit f37938e0e22f90740cfbfe74ecd9aad5e8369b9d Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:40 2014 -0500 btrfs: factor btrfs_init_btree_inode() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_btree_inode] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 779a65a495b76aee7fae500ac7ae360dc8fd81ff Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:39 2014 -0500 btrfs: factor btrfs_init_balance() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_balance] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 638aa7ed4667f63ec45b264d1b6e259a79638733 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:38 2014 -0500 btrfs: factor btrfs_init_scrub() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_scrub] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 04892340777484351473f1756e6f870500c00a48 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:36 2014 -0500 btrfs: consistently use fs_info in close_ctree() close_ctree() has a local fs_info var for convienience; use it consistently. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 9eaed21ef94b5da30eaf1b2503df1d41c2025175 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:35 2014 -0500 btrfs: remove unused fs_info arg from btrfs_close_extra_devices() The commit: 8dabb74 Btrfs: change core code of btrfs to support the device replace operations added the fs_info argument, but never used it - just remove it again. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 41d6b13ea7b459cd51d4446c9b264128a52db993 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Feb 14 13:10:22 2015 +0100 btrfs: fix sizeof format specifier in btrfs_check_super_valid() This patch fixes mips compilation warning: fs/btrfs/disk-io.c: In function 'btrfs_check_super_valid': fs/btrfs/disk-io.c:3927:21: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'unsigned int' [-Wformat] Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 08da757d3f29e9d33480ae1c44b557a2514d70c5 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:42:16 2015 +0800 btrfs: cleanup: use for() loop in btrfs_map_bio() for() is obviously better in these code block, and remove noused init-value to reduce about 6 bytes binary size. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit a688a04aab72a775e07fe460f563b46f7791cfc1 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Feb 9 20:31:44 2015 +0800 btrfs: remove unused chunk_tree argument in several functions There functions include unused chunk_tree argument from the begining, it is time to remove them and clean up relative code to prepare value of this argument in caller. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit b9fd47cde5dd9725ca37769861b7424f40828492 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Feb 9 14:40:20 2015 +0800 btrfs: cleanup: remove no-used alloc_chunk in btrfs_check_data_free_space() int alloc_chunk is never used in this function, remove it. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit e8c9f18603f7ce2beca233401e228de730f121fa Author: David Sterba <dsterba@xxxxxxx> Date: Fri Jan 2 18:23:10 2015 +0100 btrfs: constify structs with op functions or static definitions There are some op tables that can be easily made const, similarly the sysfs feature and raid tables. This is motivated by PaX CONSTIFY plugin. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit f749303bda20392e1d4a10adda84524365afd0e6 Author: Wang Shilong <wangshilong1991@xxxxxxxxx> Date: Sat Nov 22 21:13:10 2014 +0800 Btrfs: switch to kvfree() helper A new helper kvfree() in mm/utils.c will do this. Signed-off-by: Wang Shilong <wangshilong1991@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 01d58472a887cba61da7b4e6dc251b5170b57e2e Author: Daniel Dressler <danieru.dressler@xxxxxxxxx> Date: Fri Nov 21 17:15:07 2014 +0900 Btrfs: disk-io: replace root args iff only fs_info used This is the 3rd independent patch of a larger project to cleanup btrfs's internal usage of btrfs_root. Many functions take btrfs_root only to grab the fs_info struct. By requiring a root these functions cause programmer overhead. That these functions can accept any valid root is not obvious until inspection. This patch reduces the specificity of such functions to accept the fs_info directly. These patches can be applied independently and thus are not being submitted as a patch series. There should be about 26 patches by the project's completion. Each patch will cleanup between 1 and 34 functions apiece. Each patch covers a single file's functions. This patch affects the following function(s): 1) csum_tree_block 2) csum_dirty_buffer 3) check_tree_block_fsid 4) btrfs_find_tree_block 5) clean_tree_block Signed-off-by: Daniel Dressler <danieru.dressler@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit a585e94895ed8ab2930bfd5186ffd20301b5c703 Author: Daniel Dressler <danieru.dressler@xxxxxxxxx> Date: Mon Nov 17 22:05:02 2014 +0900 Btrfs: delayed-inode: replace root args iff only fs_info used This is the second independent patch of a larger project to cleanup btrfs's internal usage of btrfs_root. Many functions take btrfs_root only to grab the fs_info struct. By requiring a root these functions cause programmer overhead. That these functions can accept any valid root is not obvious until inspection. This patch reduces the specificity of such functions to accept the fs_info directly. These patches can be applied independently and thus are not being submitted as a patch series. There should be about 26 patches by the project's completion. Each patch will cleanup between 1 and 34 functions apiece. Each patch covers a single file's functions. This patch affects the following function(s): 1) btrfs_wq_run_delayed_node Signed-off-by: Daniel Dressler <danieru.dressler@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit b7a0365ec7a0fb1d39113846fd34038af68ebd01 Author: Daniel Dressler <danieru.dressler@xxxxxxxxx> Date: Wed Nov 12 13:43:09 2014 +0900 Btrfs: ctree: reduce args where only fs_info used This patch is part of a larger project to cleanup btrfs's internal usage of struct btrfs_root. Many functions take btrfs_root only to grab a pointer to fs_info. This causes programmers to ponder which root can be passed. Since only the fs_info is read affected functions can accept any root, except this is only obvious upon inspection. This patch reduces the specificty of such functions to accept the fs_info directly. This patch does not address the two functions in ctree.c (insert_ptr, and split_item) which only use root for BUG_ONs in ctree.c This patch affects the following functions: 1) fixup_low_keys 2) btrfs_set_item_key_safe Signed-off-by: Daniel Dressler <danieru.dressler@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 315917e0a6d552a33f774935d8897ec1697605dd Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Feb 16 11:42:11 2015 +0200 Bluetooth: Fix accepting early data on fixed channels On BR/EDR the L2CAP channel instances for fixed channels have so far been marked as ready only once the L2CAP information req/rsp procedure is complete and we have the fixed channel mask. This could however lead to data being dropped if we receive it on the channel before knowing the remote mask. Since it is valid for a remote to send data this early, simply assume that the channel is supported when we receive data on it. So far this hasn't been noticed much because of limited use of fixed channels on BR/EDR, but e.g. with SMP over BR/EDR this is already now visible with automated tests failing randomly. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 035a07d5df7003bc6954f0aa42174416b775021c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:40:06 2015 -0800 Bluetooth: Provide option to enable/disable debugfs information The Bluetooth controllers can export extensive information about internal states via debugfs. This patch provides an option to choose if these information are provided or not. For backwards compatibility with existing kernel configuration, this option defaults to yes. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 139e170da98a23c3ce9ecb68cf042bdad10ce647 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:42 2015 +0200 ath10k: add TxBF support If firmware advertises support for TxBF then the driver has to instruct the firmware accordingly during runtime. Without this patch connecting to an AP with beamformer support would yield abysmal Rx performance. This has been tested with wmi-tlv and qca6174 while acting as a STA beamformee only. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7777d8c7ef6fc12e9336ac29289d83ff54974f8f Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:41 2015 +0200 ath10k: implement fw stats for wmi-tlv This processes and pushes fw stats to the debug module (if enabled). Changing the generic ath10k_wmi_requests_stats() call to use more stat bits has no effect on older firmware binaries. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit eed55411d32a2f253290c430b1ff8ecdded588a6 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:41 2015 +0200 ath10k: add more wmi fw stat defines New qca6174 wmi-tlv firmware revisions support more stat event bits. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit de23d3efb0bfae5e4828f66e2d5f0b0c80648f20 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:41 2015 +0200 ath10k: change request stats command prototype The expected parameter is not a single value but a mask of values. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7b6b153a7a9f4244740a0dab5238d207c1ee5422 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:40 2015 +0200 ath10k: add vdev stats processing New qca6174 wmi-tlv firmware supports vdev stats. This patch adds support for it in the debug frontend. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2c512059bb64296aca4ce99fec93c6561c52e26c Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:40 2015 +0200 ath10k: defer AP self-peer removal wait Some firmware revisions don't notify host about self-bss-peer removal until after associated vdev is deleted. This has been observed with qca6174 WLAN.RM.2.0-00073 firmware. This patch fixes AP teardown slowdowns and prevents delays and warnings: ath10k_pci 0000:00:05.0: failed to remove peer for AP vdev 0: -110 ath10k_pci 0000:00:05.0: removing stale peer xx:xx:xx:xx:xx:xx from vdev_id 0 ath10k_pci 0000:00:05.0: peer-unmap-event: unknown peer id 24 ath10k_pci 0000:00:05.0: peer-unmap-event: unknown peer id 8 Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 99fc6f3adcbf8db11a233658a2beb8eedf3e2a37 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Sun Feb 15 16:50:39 2015 +0200 ath10k: fix CE_DESC_FLAGS_META_DATA_LSB definition The value was off by one. The error probably has no negative affect on any upstream firmware, but should be fixed anyway in case it comes into use in the future. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3eafdfd65b56510cb3dc949166a22e1680afa09c Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Sun Feb 15 16:50:39 2015 +0200 ath10k: fix spelling in htt code comment Fix spelling error. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 60028a819dc91d277b76f6fedc505fa4fca2c1f5 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Sun Feb 15 16:50:39 2015 +0200 ath10k: fix spelling mistakes and add details to mac logging A bit of general cleanup to make debug messages more useful. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2f9eec0b7148816cdb90fb87d408f6a0b11f19c3 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Sun Feb 15 16:50:38 2015 +0200 ath10k: scan should handle scan-start-failed event properly In case firmware fails to start the scan, then complete the start condition and clean up so that driver does not block on timeout. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 18835dfa3ac526b25f74af3a61829f02fe92a317 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 23:08:47 2015 -0800 Bluetooth: btusb: Use matching names for Broadcom firmware files The Broadcom firmware files are named with firmware version information encoded into lmp_subver field. So BCM20702B0_002.001.014.0527.0607.hex would be represented by 0x410e. To allow for an easier decoding of the actual firmware names, provide an internal table that does the mapping and request the firmware file by name. Bluetooth: hci0: BCM20702B0 (002.001.014) build 0607 Now the complicated encoding of lmp_subver will be decoded and turned into the name and firmware version information from the firmware files. The previous attempt of using udev->product failed badly since it never contains any matching entry to the actual hardware or firmware files distributed by Broadcom in their Windows drivers. It is even worse since it can change depending on if the internal bootstrapping happened before the USB bus enumeration or after. This caused many race conditions. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 87e2a020cac29fba4a35e681392ba0d1f7e21ba9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:36:07 2015 -0800 Bluetooth: Make __next_ident function static. The __next_ident function is a local function and so do not export it and make it static. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bc333cc4659b2f4614783154aca638a2adcf1264 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:36:06 2015 -0800 Bluetooth: Make a2mp_send function static The a2mp_send function is a local function and so do not export it and make it static. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 469cd4c5a6ace7c6285d8708709d0002b8984d47 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:36:05 2015 -0800 Bluetooth: Make amp_mgr_lookup_by_state function static The amp_mgr_lookup_by_state function does not need to be exported. So just move it to a different location and make it static. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 59d4d0863e2e87cbdc089bd446754d64a010d29c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:36:04 2015 -0800 Bluetooth: Make amp_mgr_list and amp_mgr_list_lock static There is no reason to have amp_mgr_list and amp_mgr_list_lock exported from a2mp.c and thus make both of them static. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 055540a176c48b33dbb4d756e80e1e301ef86a42 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:36:03 2015 -0800 Bluetooth: Move A2MP_FEAT_EXT declaration into A2MP source The A2MP_FEAT_EXT declaration has a single user in a2mp.c and thus just move it there. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 2eeff0b4317a02f0e281df891d990194f0737aae Author: Alexander Ploumistos <alex.ploumistos@xxxxxxxxx> Date: Fri Feb 13 21:05:11 2015 +0200 Bluetooth: ath3k: Add support Atheros AR5B195 combo Mini PCIe card Add 04f2:aff1 to ath3k.c supported devices list and btusb.c blacklist, so that the device can load the ath3k firmware and re-enumerate itself as an AR3011 device. T: Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=04f2 ProdID=aff1 Rev= 0.01 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA 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: Alexander Ploumistos <alexpl@xxxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit bfbd45e9acd2ef90ccc31ea02e08f82af392dbec Author: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx> Date: Fri Feb 13 09:20:52 2015 -0800 Bluetooth: Add device shutdown routine for Intel Bluetooth device This patch adds the device shutdown routine for Intel Bluetooth device. Some platforms have BT LED issue with Intel Bluetooth device that BT LED goes off 5 seconds after BT is turned off For Intel Bluetooth device, the BT LED is turned off when: - there is no active connection or radio activity - USB is suspend So, when the BT is turned off, it takes 5 seconds because USB suspend timeone is 5 seconds by default. And if the USB suspend is not enabled, BT LED won't be turned off. To fix this issue, recently Intel Bluetooth firmware patch had been submitted to turn off the BT LED immediately by the vendor specific command(0xFC3F). And this patch sends this command to the device before closing the device. For backward compatibility of this command with old firmware, this command was supported before, but it behaves same as HCI_RESET internally. So, it won't be the problem even if the system doesn't have the latest firmware patch. Signed-off-by: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a44fecbd52a4d9c36f07eb2161c153047d8765d4 Author: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx> Date: Fri Feb 13 09:20:50 2015 -0800 Bluetooth: Add shutdown callback before closing the device This callback allows a vendor to send the vendor specific commands before cloing the hci interface. Signed-off-by: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3e544ef9357493422909064de35f3e289d92f1fe Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sat Feb 14 23:57:48 2015 +0100 at86rf230: assign wait_for_completion_timeout to appropriately typed var return type of wait_for_completion_timeout is unsigned long not int. As rc is used here only for wait_for_completion_timeout the type is simply changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ff0fcc2987b42857d233e8a72c7476fb1e520110 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Jan 9 16:42:59 2015 +0100 6lowpan: nhc: add other known rfc6282 compressions This patch adds other known rfc6282 compression formats to the nhc framework. These compression formats are known but not implemented yet. For now this is useful to printout a warning which compression format isn't supported. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Martin Townsend <mtownsend1973@xxxxxxxxx> Reviewed-by: Stefan Schmidt <s.schmidt@xxxxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cc6ed2684751b0a1074b37c080983b6ce737ed22 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Jan 9 16:42:58 2015 +0100 6lowpan: add udp compression via nhc layer This patch move UDP header compression and uncompression into the generic 6LoWPAN nhc header compression layer. Moreover this patch activates the nhc layer compression in iphc compression and uncompression functions. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Martin Townsend <mtownsend1973@xxxxxxxxx> Reviewed-by: Stefan Schmidt <s.schmidt@xxxxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 92aa7c65d295f3cbb96904afe335f683e55584b8 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Jan 9 16:42:57 2015 +0100 6lowpan: add generic nhc layer interface This patch adds a generic next header compression layer interface. There exists various methods to do a header compression after 6LoWPAN header to save payload. This introduce a generic nhc header which allow a simple adding of a new header compression format instead of a static implementation inside the 6LoWPAN header compression and uncompression function. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Martin Townsend <mtownsend1973@xxxxxxxxx> Reviewed-by: Stefan Schmidt <s.schmidt@xxxxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 129a76931a6e90ddca586ba6e4292b5b429488bc Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sat Feb 14 09:33:35 2015 +0200 Bluetooth: btusb: Remove unneeded btusb_wait_on_bit_timeout() There's now a proper wait_on_bit_timeout() API in linux/wait.h so we can remove our own copy from btusb.c. Our copy had the task state and timeout variables swapped so the patch also changes their order. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9f59f970ec2128522a98f6826350a3bfbaf70163 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 11 14:47:27 2015 +0530 iio: gp2ap020a00f: Use put_unaligned_le32 This patch introduces the use of function put_unaligned_le32. This is done using Coccinelle and semantic patch used is as follows: @@ identifier tmp; expression ptr; expression y,e; type T; @@ - tmp = cpu_to_le32(y); <+... when != tmp - memcpy(ptr, (T)&tmp, ...); + put_unaligned_le32(y,ptr); ...+> ? tmp = e @@ type T; identifier tmp; @@ - T tmp; ...when != tmp Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 293487c8ecc1103f4625cea5e90e1ba0cc89660f Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Tue Feb 10 18:33:51 2015 +0200 iio: Export userspace IIO headers After UAPI header file split [1] all user-kernel interfaces were placed under include/uapi/. This patch moves IIO user specific API from: * include/linux/iio/events.h => include/uapi/linux/iio/events.h * include/linux/types.h => include/uapi/linux/types.h Now there is no need for nasty tricks to compile userspace programs (e.g iio_event_monitor). Just installing the kernel headers with make headers_install command does the job. [1] http://lwn.net/Articles/507794/ Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 226e2f1b0bb4a5f724dd119c1eeb8b8e89e87fab Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Feb 12 16:41:26 2015 +0200 ASoC: davinci-mcasp: Add support for CBS_CFM mode Support for setups where codec is bitclock slave and frame master. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit faa810303d4141de335a8b29ec7fba8d653903fc Author: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Date: Wed Feb 11 12:31:42 2015 +0100 Bluetooth: Enhance error codes pair device command If user space is trying to pair on not enabled transport MGMT_STATUS_REJECT will be returned. If user space is trying to pair on transport which controller does not support, MGMT_STATUS_NOT_SUPPORTED will be returned. Having separate error code for that scenario might be useful for debugging at least. Signed-off-by: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c411110e1f13abd64886c8abdf6f31c10136969f Author: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Date: Wed Feb 11 12:31:41 2015 +0100 Bluetooth: Improve error handling in connect acl With this patch -EOPNOTSUPP will be returned by hci_connect_acl for LE only controllers. If it is dual device with disabled BREDR -ECONNREFUSED will be returned Signed-off-by: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 152d386e111fed3fee5fe888f38b0ae73ea15400 Author: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Date: Wed Feb 11 12:31:40 2015 +0100 Bluetooth: Do not allow LE connection if LE is not enabled Kernel gives possibility to enable/disable LE host support. There is flag HCI_LE_ENABLED which is set when this support is enabled and some parts of the code checks this flag e.g. SMP However it is still possible to make LE connection if LE Host support is disabled, what might be confused for remote device. This patch makes sure that kernel will not send HCI LE Create Connection if LE HOST support is not enabled. Signed-off-by: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b976796950c7a41fe1b6b51236ddd08dd6480b80 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Feb 11 14:39:17 2015 +0100 ieee802154: cleanup ieee802154_le64_to_be64 This patch cleanups the ieee802154_le64_to_be64 function. This patch removes an unnecessary temporary variable. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ba5bf17e8343c0b5b87a1240aa75c35c76b88e5e Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Feb 11 14:39:16 2015 +0100 ieee802154: cleanup ieee802154_be64_to_le64 This patch cleanups the ieee802154_be64_to_le64 function. This patch removes an unnecessary temporary variable. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 306f7aa1807be7588f115d7cafa475f65e72e3d1 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Feb 11 14:39:15 2015 +0100 ieee802154: correct ieee802154_is_valid_psdu_len This patch corrects the ieee802154_is_valid_psdu_len function that this function also checks on reserved values 6-8 for validation the psdu length. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f9d1ce8f81eb046626cfa1bb0f419f8dca04bcae Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Feb 5 18:21:30 2015 +0100 ieee802154: fix netns settings 6LoWPAN currently doesn't supports x-netns and works only in init_net. With this patch, we ensure that: - the wpan interface cannot be moved to another netns; - the 6lowpan interface cannot be moved to another netns; - the wpan interface is in the same netns than the 6lowpan interface; - the 6lowpan interface is in init_net. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a715d11e453c37822eca675a4445c1ce4ea7297e Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Feb 10 05:49:41 2015 -0800 Bluetooth: btmrvl: support SCO routing to host interface A vendor specific command is sent to firmware during initialization to enable this feature. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d4495cbaa5869d2ce8f4b1c9331d3a19b24eb98b Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sat Feb 14 00:41:35 2015 +0100 drm/i915: Update DRIVER_DATE to 20150214 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 135f9be9194cf7778eb73594aa55791b229cf27c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Jan 6 17:53:15 2015 -0300 [media] dvb_frontend: start media pipeline while thread is running While the DVB thread is running, the media pipeline should be streaming. This should prevent any attempt of using the analog TV while digital TV is working, and vice-versa. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0f0fa90bd035fa15106799b813d4f0315d99f47e Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Jan 6 15:26:06 2015 -0300 [media] cx231xx: enable tuner->decoder link at videobuf start The tuner->decoder needs to be enabled when we're about to start streaming. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9239effd53d47e3cd9c653830c8465c0a3a427dc Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Jan 6 13:57:55 2015 -0300 [media] dvb-frontend: enable tuner link when the FE thread starts If the dvb frontend thread starts, the tuner should be switched to the frontend. Add a code that ensures that this will happen, using the media controller. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6bb0b1829bca35016be6ab662cff36bcfdf646c0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Jan 6 13:13:31 2015 -0300 [media] dvbdev: enable DVB-specific links For now, let's keep the DVB-specific media controller links enabled by default. On most devices, this is fixed anyway, so no big issue. Ok, the demux actually have dynamic links based on the filters, but we don't represent them yet, as the media controller currently lacks the capability of dynamically create/delete entities. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 54e339a960f8166df4368d01e792d0550d3bcd57 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 16:54:51 2015 -0300 [media] cx231xx: create DVB graph cx231xx is simple with regards to DVB: all boards have just one DVB adapter. So, we can use the default DVB helper function to create the DVB media graph. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4155109aa88ccf478b1d59a63df1969a5f519800 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 16:52:34 2015 -0300 [media] dvbdev: add a function to create DVB media graph We need to create a DVB graph, linking the several DVB devnodes. Add such function. Please notice that this helper function doesn't take into account devices with multiple DVB adapters and frontends. For devices with multiple adapters, they should either create two different media controller instances or to improve this function to take the adapter ID into account. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3bde1b78408b7b1136cd64722b6cd8b2eb70b217 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 16:35:53 2015 -0300 [media] dvbdev: represent frontend with two pads While on some devices the tuner is bound inside the frontend, other devices use a separate subdevice for it. So, in order to be more generic, better to map it with two pads. That will allows to use the media controller to lock the tuner between the DVB and the V4L2 sub-drivers, on hybrid devices. While here, change the logic to use pad 0 as sink for devices with both sink and source pads. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d35a9855a8b6e675013bce6946e36c13db66b765 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 15:22:26 2015 -0300 [media] cx231xx: create media links for analog mode Now that we have entities and pads, let's create media links between them, for analog setup. We may not have all the links for digital yet, as the dvb extention may not be loaded yet. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b6a40e728099aa645d0d35896532e4f0f6f31e69 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 16:08:07 2015 -0300 [media] cx231xx: initialize video/vbi pads Both video and vbi are sink pads. Initialize them as such. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8cd61969c8a9b564435f4f903bddc09dfd39f944 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 13:10:08 2015 -0300 [media] cx25840: fill the media controller entity Instead of keeping the media controller entity not initialized, fill it and create the pads for cx25840. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 00a5a4bf7bb40fe8cd5de042948b925c54b016de Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 12:44:40 2015 -0300 [media] tuner-core: properly initialize media controller subdev Properly initialize tuner core subdev at the media controller. That requires a new subtype at the media controller API. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 172e9d3c8840b6dd8141e491ee70392c42bbc635 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 01:59:53 2015 -0300 [media] dvbdev: add pad for the DVB devnodes We want to represent the links between the several DVB devnodes, so let's create PADs for them. The DVB net devnode is a different matter, as it is not related to the media stream, but with network. So, at least for now, let's not add any pad for it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e3d65c33e31db12856300cf8015428daae19245a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 22:53:58 2015 -0300 [media] dvb_net: add support for DVB net node at the media controller Make the dvb core network support aware of the media controller and register the corresponding devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 738a1b1e1355433ff29e20774df3d89355bbac9f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 22:48:17 2015 -0300 [media] dvb_ca_en50221: add support for CA node at the media controller Make the dvb core CA support aware of the media controller and register the corresponding devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8afd52ef92f8ff657965cef5f0da0a4bba04a361 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 22:28:53 2015 -0300 [media] dmxdev: add support for demux/dvr nodes at media controller Make the dvb core demux support aware of the media controller and register the corresponding devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c1b31b1e8248a42e689000bf43e63ba8ee49f709 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 11:00:17 2015 -0300 [media] dvb_frontend: add media controller support for DVB frontend Now that the dvb core is capable of registering devices via the media controller, add support for the DVB frontend devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1d058bdcf5cc800fbfeece0204f7774556d341bb Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Jan 1 11:37:17 2015 -0300 [media] cx231xx: add media controller support Let's add media controller support for this driver and register it for both V4L and DVB. The media controller on this driver is not mandatory, as it can fully work without it. So, if the media controller register fails, just print an error message, but proceed with device registering. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a0246e02f466482a34c8ad94bedbe4efa498662d Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 12:19:51 2015 -0300 [media] dvbdev: add support for media controller Provide a way to register media controller device nodes at the DVB core. Please notice that the dvbdev callers also require changes for the devices to be registered via the media controller. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0b6ffd45ca7d2c20f752da06282fc83bff0a01b8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Jan 26 10:08:50 2015 -0300 [media] DocBook: Add tuner subdev at documentation Now that we've added MEDIA_ENT_T_V4L2_SUBDEV_TUNER at the API, document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 91b0f3a06e432d01c66cd05973628a2ec3bde9ed Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Jan 26 08:53:18 2015 -0300 [media] media: add a subdev type for tuner Add MEDIA_ENT_T_V4L2_SUBDEV_TUNER to represent the V4L2 (and dvb) tuner subdevices. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a1a6255c313165fde4f3330a6b97e5ce7f864b64 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Feb 13 20:10:05 2015 -0200 [media] DocBook: Document the DVB API devnodes at the media controller The DVB API is actually several different APIs bundled together, each using its own device node. Fix the media controller DVB API to actually reflect what's there at the DVB subsystem. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1d20f9f6330c988505e51f5010656978fd70cd0c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 11:09:39 2015 -0300 [media] media: add new types for DVB devnodes Most of the DVB subdevs have already their own devnode. Add support for them at the media controller API. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 15d2042107f90f7ce39705716bc2c9a2ec1d5125 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Feb 13 19:59:40 2015 -0200 [media] Docbook: Fix documentation for media controller devnodes The media-ctl userspace application assumes that all device nodes are uniquelly defined via major,minor, just like v4l and fb. That's ok for those types of devices, but, as we're adding support for DVB at the API, what's written there at the DocBook is wrong. So, fix it. While here, fix the size of the reserved space inside the union, with is 184, and not 180. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e31a0ba7df6ce21ac4ed58c4182ec12ca8fd78fb Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 12:18:23 2015 -0300 [media] media: Fix DVB devnode representation at media controller The previous provision for DVB media controller support were to define an ID (likely meaning the adapter number) for the DVB devnodes. This is just plain wrong. Just like V4L, DVB devices (and any other device node)) are uniquely identified via a (major, minor) tuple. This is enough to uniquely identify a devnode, no matter what API it implements. So, before we go too far, let's mark the old v4l, fb, dvb and alsa "devnode" info as deprecated, and just call it as "dev". We can latter add fields specific to each API if needed. As we don't want to break compilation on already existing apps, let's just keep the old definitions as-is, adding a note that those are deprecated at media-entity.h. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cd5956c9136d80ca09faacf9622dc68426bec98c Author: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Date: Fri Feb 6 11:16:47 2015 +0100 drm/i915: Remove references to previously removed UMS config option Commit 03dae59c72ffffd8 ("drm/i915: Ditch UMS config option") removed CONFIG_DRM_I915_UMS from the Kconfig file, but i915_drv.c still references this option in two #ifndef statements. As an undefined config option will always be 'false', we can drop the #ifndefs alltogether and adapt the printed error message. This inconsistency was found with the undertaker tool. Signed-off-by: Andreas Ruprecht <rupran@xxxxxxxxxxxx> [danvet: Undo logging change as requested by Jani.] Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a86eb582e3863daa00f6f60355d7fb91252d0e43 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Feb 11 18:21:44 2015 +0000 drm/i915/skl: Use a LRI for WaDisableDgMirrorFixInHalfSliceChicken5 I have no idea how that crept in, but we need to do the write from the ring and this is a masked register. Two fixes in 1! Cc: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 35c8ce6ac5c2efedf76912c86b2021a6e4ec1655 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Feb 11 18:21:43 2015 +0000 drm/i915/skl: Fix always true comparison in a revision id check It's always a good idea to keep static analysis happy (also because it prompts doing the check like I proposed :), this time smatch complains: drivers/gpu/drm/i915/intel_ringbuffer.c:891 gen9_init_workarounds() warn: always true condition '((->dev->pdev->revision) >= (0)) => (0-255 >= 0)' That's because revision is a u8. Tweak a bit the condition then. Cc: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 77719d28aeed5cad45b61d66b198b2575a5bf4cc Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:13 2015 +0000 drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement This W/A is put in a gen9 specific function because it may well be needed on other gen9 platforms. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 183c6daceb7efa512ba93efd95766c59f175bbcf Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:11 2015 +0000 drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 071c92de1d24f36a217fb8264df27998c8c73df6 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Feb 12 10:26:02 2015 +0200 drm/i915: Add process identifier to requests We use the pid of the process which opened our device when we track which was the culprit of the gpu hang. But as that file descriptor might get inherited, we might blame the wrong process when we record the error state. Track process identifiers in requests to always find the correct offender. v2: Track only user processes (Chris) Cc: Kenneth Graunke <kenneth@xxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> [danvet: drop NULL check before put_pid as suggested by Chris.] Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 65ca7514e21adbee25b8175fc909759c735d00ff Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:22 2015 +0000 drm/i915/skl: Implement WaBarrierPerformanceFixDisable Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e2db7071f14b7ac095a24448e9edd036ba332da3 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:21 2015 +0000 drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2caa3b260aa6a3d015352c07d1bce1461825fa6c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:20 2015 +0000 drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 81e231afe7478f1bf14bbb17c26d6ebf054faece Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:19 2015 +0000 drm/i915/skl: Implement WaDisableHDCInvalidation Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8bc0ccf6b1f0c0c6eef8301cb2a5b743a01635db Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:18 2015 +0000 drm/i915/skl: Implement WaDisableLSQCROPERFforOCL Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9370cd987e91d6d652ebe6d883fbc51b10df2403 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:17 2015 +0000 drm/i915/skl: Implement WaDisablePartialResolveInVc Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8d2054941071d10c8bbe120dd2160be8ae21f267 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:15 2015 +0000 drm/i915/skl: Introduce a SKL specific init_workarounds() This function will host SKL-only W/As. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8543747ce5bde14f80cc07b4150e884c24a3edcf Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:12 2015 +0000 drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9253c2e56b83dcc194f1e47bfd7b2bc1cc09a53f Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:10 2015 +0000 drm/i915/skl: Implement WaSetGAPSunitClckGateDisable Let's also take the opportunity the remove the comment telling it's a pre-prod W/A, it should be obvious from the stepping test. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 45db2194ac7c91a96b18be32c6d7f12a8695868a Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:09 2015 +0000 drm/i915/skl: Make the init clock gating function skylake specific We'll gather cross-gen9 W/A in a separate function later. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 82ef822e657c2b1d1f0893afd84468a4ae641c04 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:08 2015 +0000 drm/i915/skl: Provide a gen9 specific init_render_ring() WaDisableAsyncFlipPerfMode isn't listed for SKL and INSTPM_FORCE_ORDERING is MBZ so let's make a gen9 specific render init function. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6f97235b8be5ee8721e784d0b3b95ef2f95edf7c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:07 2015 +0000 drm/i915/skl: Document the WM read latency W/A with its name Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e25dca861395dd69270a19058932a6676c966522 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 3 14:25:15 2015 +0000 drm/i915/skl: Also detect eDRAM on SKL Suggested-by: Daniel Vetter <daniel@xxxxxxxx> 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 2db59d530777b76f6b7944e0bfa43c9fede10b10 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 3 14:25:14 2015 +0000 drm/i915: Detect eDRAM with the enabled bit only At the moment we compare the whole EDRAM_PRESENT/EDRAMCAP register value to 1 while EDRAM_PRESENT is only bit 0 (the rest may be used to describe eDRAM capabilities). To be more future proof, only look at bit 0 to detect eDRAM presence. 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 72603ec0e2db745978a8f126307fe857f9a1ddc9 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:25 2015 +0000 drm/i915: Remove the IS_SNB_GT1 define The last (only?) user of this was removed in: commit 2208d655a91f9879bd9a39ff9df05dd668b3512c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Nov 14 09:25:29 2014 +0100 drm/i915: drop WaSetupGtModeTdRowDispatch:snb Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f63bdb5f09f378729d7c7071dd6deddc5112000d Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:24 2015 +0000 drm/i915: Make intel_unpin_fb_obj() static This function is not used outside of intel_display.c since; commit cf4c7c12258ed9367f4fc45238f5f50d2db892c1 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Dec 4 10:27:42 2014 -0800 drm/i915: Make all plane disables use 'update_plane' (v5) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c2af70e2c9f8da4fa2075661112169503fd1f23a Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:23 2015 +0000 drm/i915: Make intel_dp_unpack_aux() static This was introduced in: commit 0bc12bcb1b9686d7011f16410ba17ed0740167c3 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Nov 14 08:52:28 2014 -0800 drm/i915: Introduce intel_psr.c But the unpack function is unused at this date. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a51462004decc8f3c42aaf596760f58399a3ffa7 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:22 2015 +0000 drm/i915: Make intel_dp_check_link_status() static This function is only used in intel_dp.c since: 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) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 183c990673098c37c9e5d768cc969be67ff7a799 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:21 2015 +0000 drm/i915: Make intel_logical_ring_advance_and_submit() static This function is only used in intel_lrc.c, so restrict it to that file. The function was moved around to avoid a forward declaration and group it with its user. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cef437ad22848afa68f02973a57473cc45b25f01 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:19 2015 +0000 drm/i915: Make intel_lr_context_render_state_init() static This function is only used in intel_lrc.c, so restrict it to that file. The function was moved around to avoid a forward declaration and group it with its user. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a01c7162ca1116dc95c5363e6d77078a61797fc5 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:18 2015 +0000 drm/i915: Remove intel_dsi_cmd.h This header has been unusued since: commit 063c86f60ad4064b2cf62041bee8c6389e180b76 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Jan 16 14:27:27 2015 +0200 drm/i915/dsi: remove intel_dsi_cmd.c and the unused functions therein Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit af75f2691870c575030bbd42adf17457afbe7242 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:17 2015 +0000 drm/i915: Make intel_ring_setup_status_page() static This function is only used in intel_ringbuffer.c, so restrict it to that file. The function was moved around to avoid a forward declaration and group it with its user. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Squash in fixup from Wu Fengguang.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a2f8aeb328484769404453678dbbd7989c8029d1 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:16 2015 +0000 drm/i915: Garbage collect orphaned prototypes There have been quite a bit of development lately, leaving behing lonely protypes. Time to bid them farewell. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 71ba2d6432040352e174f5366fb5e5ac3b908e50 Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:54 2015 +0800 drm/i915: Support alias ppgtt in VM if ppgtt is enabled The current Intel GVT-g only supports alias ppgtt. And the emulation is done in the host by first trapping PP_DIR_BASE mmio accesses. Updating PP_DIR_BASE by using instructions such as MI_LOAD_REGISTER_IMM are hard to detect and are not supported in current code. Therefore this patch also adds a new callback routine - vgpu_mm_switch() to set the PP_DIR_BASE by mmio writes. v2: take Chris' comments: - move the code into sanitize_enable_ppgtt() v4: take Tvrtko's comments: - fix the parenthesis alignment warning Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3be0bf5acca61daa9800219088b0b95712ced520 Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:53 2015 +0800 drm/i915: Create vGPU specific MMIO operations to reduce traps In the virtualized environment, forcewake operations are not necessary for the driver, because mmio accesses will be trapped and emulated by the host side, and real forcewake operations are also done in the host. New mmio access handlers are added to directly call the __raw_i915_read/write, therefore will reduce many traps and increase the overall performance for drivers running in the VM with Intel GVT-g enhancement. v2: take Chris' comments: - register the mmio hooks in intel_uncore_init() v3: take Daniel's comments: - use macros to assign mmio write functions for vGPU v4: take Tvrtko's comments: - also use mmio hooks for read operations Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Kevin Tian <kevin.tian@xxxxxxxxx>k Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f61018b1fe00238407724ea7a502003c3f71d9a0 Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:52 2015 +0800 drm/i915: Disable power management for i915 driver in VM With Intel GVT-g, GPU power management is controlled by host driver, so there is no need to provide virtualized GPU PM support. In the future it might be useful to gather VM input for freq boost, but now let's disable it simply. v2: take Chris' comments: - do not special case this to gen6+ Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e21fd552ff068da4bcb1a0108e2933db52685f2c Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:51 2015 +0800 drm/i915: Add the display switch logic for vGPU in i915 driver Display switch logic is added to notify the host side that current vGPU have a valid surface to show. It does so by writing the display_ready field in PV INFO page, and then will be handled in the host side. This is useful to avoid trickiness when the VM's framebuffer is being accessed in the middle of VM modesetting, e.g. compositing the framebuffer in the host side. v2: - move the notification code outside the 'else' in load sequence - remove the notification code in intel_crtc_set_config() v4: - code rebase, no need to define another dev_priv - use #define instead of enum for display readiness Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd49234b6aa37fd32069e506c6997171afd326be Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:50 2015 +0800 drm/i915: Disable framebuffer compression for i915 driver in VM Framebuffer compression is disabled when driver detects it's running in a Intel GVT-g enlightened VM, because FBC is not emulated and there is no stolen memory for a vGPU. v2: take Chris' comments: - move the code into intel_update_fbc() v4: take Tvrtko's comments: - rebase the code into intel_fbc_update() Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eb82289a1f2373917aae02ff41a247741040f16b Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:49 2015 +0800 drm/i915: Partition the fence registers for vGPU in i915 driver With Intel GVT-g, the fence registers are partitioned by multiple vGPU instances in different VMs. Routine i915_gem_load() is modified to reset the num_fence_regs, when the driver detects it's running in a VM. Accesses to the fence registers from vGPU will be trapped and remapped by the host side. And the allocated fence number is provided in PV INFO page structure. By now, the value of fence number is fixed, but in the future we can relax this limitation, to allocate the fence registers dynamically from host side. Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Eddie Dong <eddie.dong@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5dda8fa356587832e5373498d8b973d66735762d Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:48 2015 +0800 drm/i915: Adds graphic address space ballooning logic With Intel GVT-g, the global graphic memory space is partitioned by multiple vGPU instances in different VMs. The ballooning code is called in i915_gem_setup_global_gtt(), utilizing the drm mm allocator APIs to mark the graphic address space which are partitioned out to other vGPUs as reserved. With ballooning, host side does not need to translate a grahpic address from guest view to host view. By now, current implementation only support the static ballooning, but in the future, with more cooperation from guest driver, the same interfaces can be extended to grow/shrink the guest graphic memory dynamically. v2: take Chris and Daniel's comments: - no guard page between different VMs - use drm_mm_reserve_node() to do the reservation for ballooning, instead of the previous drm_mm_insert_node_in_range_generic() v3: take Daniel's comments: - move ballooning functions into i915_vgpu.c - add kerneldoc to ballooning functions v4: take Tvrtko's comments: - more accurate comments and commit message Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Signed-off-by: Eddie Dong <eddie.dong@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cf9d2890da19d9544d655554da907049e8226d14 Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:47 2015 +0800 drm/i915: Introduce a PV INFO page structure for Intel GVT-g. Introduce a PV INFO structure, to facilitate the Intel GVT-g technology, which is a GPU virtualization solution with mediated pass-through. This page contains the shared information between i915 driver and the host emulator. For now, this structure utilizes an area of 4K bytes on HSW GPU's unused MMIO space. Future hardware will have the reserved window architecturally defined, and layout of the page will be added in future BSpec. The i915 driver load routine detects if it is running in a VM by reading the contents of this PV INFO page. Thereafter a flag, vgpu.active is set, and intel_vgpu_active() is used by checking this flag to conclude if GPU is virtualized with Intel GVT-g. By now, intel_vgpu_active() will return true, only when the driver is running as a guest in the Intel GVT-g enhanced environment on HSW platform. v2: take Chris' comments: - call the i915_check_vgpu() in intel_uncore_init() - sanitize i915_check_vgpu() by adding BUILD_BUG_ON() and debug info take Daniel's comments: - put the definition of PV INFO into a new header - i915_vgt_if.h other changes: - access mmio regs by readq/readw in i915_check_vgpu() v3: take Daniel's comments: - move the i915/vgt interfaces into a new i915_vgpu.c - update makefile - add kerneldoc to functions which are non-static - add a DOC: section describing some of the high-level design - update drm docbook other changes: - rename i915_vgt_if.h to i915_vgpu.h v4: take Tvrtko's comments: - fix a typo in commit message - add debug message when vgt version mismatches - rename low_gmadr/high_gmadr to mappable/non-mappable in PV INFO structure Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Eddie Dong <eddie.dong@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5baa22c59f4e841eb45f8d1299043fb58370e48b Author: Zhi Wang <zhi.a.wang@xxxxxxxxx> Date: Tue Feb 10 17:11:36 2015 +0800 drm/i915: Introduce bit definitions of CTXT_SR_CTRL register. This patch introduces 2 bit definitions of context save/restore control register. Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Suggested-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 25bab385a0f8e76a32a5550d696f6a17540041c5 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:16 2015 +0000 drm/i915: Announce support for framebuffer modifiers Let the DRM core know we can handle it. v2: Change to boolean true. (Daniel Vetter) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b911adc924e0ca817ce6454ca3df922dc5d47fa Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:15 2015 +0000 drm/i915: Use fb modifiers in intel_pin_and_fence_fb_obj And at the same time replace BUG() with a warning and handle it gracefuly. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6a418fcd84d655e97333627c4247a318e99b0ecf Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:14 2015 +0000 drm/i915: Use fb modifiers in intel_check_cursor_plane Also drop the mutex since with universal planes there is always a proper framebuffer around which wraps the underlying bo. Which means tiling is locked down. This was different in the old code which directly took gem handles. The looking though was always cargo-cult since races where not prevented in any way. v2: Unconditionally enforce untiled, because cursors are always untiled. The check for physical or gtt cursor is irrelevant. Also clarify the commit message a bit Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 66ebf56714ed0b475afc5fb91c7e7230cf86c2a6 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:13 2015 +0000 drm/i915/skl: Use fb modifiers for sprites While at it just outright remove the tiling check in intel_check_sprite_plane because it's impossible: We only allow untiled and X-tiled. This essentially reverts commit 94c6419ed8f45e6682d766672b9ceb54867d3d2d Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Oct 29 15:14:51 2012 +0000 drm/i915: Error out when trying to set a y-tiled as a sprite Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> [danvet: Drop the hunk in check_sprite, it's impossible.] Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ba343e029e028a1a7e93c11969789ac70d609f9d Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:12 2015 +0000 drm/i915/skl: CS flips are not supported with execlists And skl only works in execlist mode, not in legacy ring submission. Therefore remove dead code. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30af77c4c80f98c72b27cb497aa660ef9474e6cf Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Feb 10 17:16:11 2015 +0000 drm/i915: Use fb format modifiers in skylake_update_primary_plane Just a little demo really. We probably need to introduce skl specific functions for a lot of the format validation stuff, or at least helpers. Specifically I think intel_framebuffer_init and intel_fb_align_height must be adjusted to have an i915_ and a skl_ variant. And only shared code should be converted to fb modifiers, platform code (like the plane config readout can keep on using old tiling_mode defines to avoid some churn). Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 091df6cbf248811150552d51dacb9dc1fe6b0a23 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Feb 10 17:16:10 2015 +0000 drm/i915: Switch intel_fb_align_height to fb format modifiers With this we can treat the fb format modifier completely independently from the fencing mode in obj->tiling_mode in the initial plane code. Which means new tiling modes without any gtt fence are now fully support in the core i915 driver code. v2: Also add pixel_format while at it, we need this to compute the height for the new tiling formats. Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 18c5247e1e96d657334dabd8ab611001f16a62b0 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Feb 10 17:16:09 2015 +0000 drm/i915: Set up fb format modifier for initial plane config No functional changes yet since intel_framebuffer_init would have fixed this up for us. But this is prep work to be able to handle new tiling layouts in the initial plane config code. Follow-up patches will start to make use of this and switch over to fb modifiers where needed. Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c1ca506d173bdbadffce95e1f67ac86a08e9db03 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:07 2015 +0000 drm/i915: Show frame buffer modifier in debug info Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2a80eada326fe83d2a1eaaa4c36831d95628770f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Feb 10 17:16:06 2015 +0000 drm/i915: Add fb format modifier support Currently we don't support anything but X tiled. And for an easier transition it makes a lot of sense to just keep requiring that X tiled is properly fenced. Which means we need to do absolutely nothing in old code to support fb modifiers, yay! v2: Fix the Y tiling check, noticed by Tvrtko. v3: Catch Y-tiled fb for legacy addfb again (Tvrtko) and explain why we want X tiling to match in the comment. Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 93b81f5102a7cd270a305c2741b17c8d44bb0629 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:05 2015 +0000 drm/i915: Add tiled framebuffer modifiers To be used from the new addfb2 extension. v2: - Drop Intel-specific untiled modfier. - Move to drm_fourcc.h. - Document layouts a bit and denote them as platform-specific and not useable for cross-driver sharing. - Add Y-tiling for completeness. - Drop special docstring markers to avoid confusing kerneldoc. v3: Give Y-tiling a unique idea, noticed by Tvrtko. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> (v1) Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 35cb6f3b4ee352bff28d2541909e30f193788b52 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 10:31:00 2015 +0000 drm/i915/bdw: Implement WaForceContextSaveRestoreNonCoherent v2: Reorder defines (Ben) v3: More bikesheds, this time re-ordering comments! (Chris) Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Resolve conflict.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c57e3551225977c9b5ed3b81a2be2a0b8f6f4503 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:05 2015 +0000 drm/i915: Support not having an init clock gating function defined When enabling new platforms, we may not have any W/A to apply, especially that, now, a bunch of them have to be done from the ring. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e35fef211bab1a69da1b392c3ece906e287ed6e4 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Feb 9 14:46:29 2015 -0200 drm/i915: change dev_priv->fbc.plane to dev_priv->fbc.crtc Since the mapping from CRTCs to planes is fixed, looking at the CRTC is essentially the same as looking at the plane. Also, the next patches wil start using the frontbuffer_bits macros, and they take the pipe as the parameter instead of the plane, and this could differ on gens 2 and 3. Another nice thing is that we don't risk accidentally initializing things to PLANE_A if we don't set the value before it is used for the first time. But this shouldn't be a problem with the current code. V2: Rebase. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> (v1) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 104618b3364963d1630297f2b8e0a232c51dc85b Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Feb 9 14:46:28 2015 -0200 drm/i915: don't keep reassigning FBC_UNSUPPORTED This may save a few picoseconds on !HAS_FBC platforms. And it also satisfies my OCD. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7cc6574600fdd45eb828a884da4eec6daed786f0 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Feb 9 14:46:27 2015 -0200 drm/i915: don't try to find crtcs for FBC if it's disabled .. because it would be a waste of time, so move the place where the check is done. Also, with this we won't risk printing "more than one pipe active, disabling compression" or "no output, disabling" when FBC is actually disabled. This patch also represents a small behavior difference when using i915.powersave=0: it is now exactly the same as i915.enable_fbc=0 on this part of the code. V2: Rebase. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> (v1) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 203a571b21e7613a7b18bd7340ea1ca75327e7c6 Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Fri Feb 6 11:30:04 2015 +0000 drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS) Add: WaEnableForceRestoreInCtxtDescForVCS v2: Add stepping check. v3: Fixed stepping check direction. Cleaned up indentation. Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e90fff154ecb4517bad4b015bbe2af4699e96dca Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Fri Feb 6 11:30:03 2015 +0000 drm/i915: gen 9 h/w w/a Fix stepping check Fixed the stepping check on WaDisableDgMirrorFixInHalfSliceChicken5 to be for the correct SOC (Skylake) Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e3eb3250d84ef97b766312345774367b6a310db8 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Thu Feb 5 14:41:52 2015 +0000 drm: add support for tiled/compressed/etc modifier in addfb2 In DRM/KMS we are lacking a good way to deal with tiled/compressed formats. Especially in the case of dmabuf/prime buffer sharing, where we cannot always rely on under-the-hood flags passed to driver specific gem-create ioctl to pass around these extra flags. The proposal is to add a per-plane format modifier. This allows to, if necessary, use different tiling patters for sub-sampled planes, etc. The format modifiers are added at the end of the ioctl struct, so for legacy userspace it will be zero padded. v1: original v1.5: increase modifier to 64b v2: Incorporate review comments from the big thread, plus a few more. - Add a getcap so that userspace doesn't have to jump through hoops. - Allow modifiers only when a flag is set. That way drivers know when they're dealing with old userspace and need to fish out e.g. tiling from other information. - After rolling out checks for ->modifier to all drivers I've decided that this is way too fragile and needs an explicit opt-in flag. So do that instead. - Add a define (just for documentation really) for the "NONE" modifier. Imo we don't need to add mask #defines since drivers really should only do exact matches against values defined with fourcc_mod_code. - Drop the Samsung tiling modifier on Rob's request since he's not yet sure whether that one is accurate. v3: - Also add a new ->modifier[] array to struct drm_framebuffer and fill it in drm_helper_mode_fill_fb_struct. Requested by Tvrkto Uruslin. - Remove TODO in comment and add code comment that modifiers should be properly documented, requested by Rob. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Daniel Stone <daniel@xxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Michel Dänzer <michel@xxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> (v1.5) Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 17d5538d54c9f9d6e2b44e07d4d577304e22c17a Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Jan 22 17:01:26 2015 +0000 drm/i915/gen8: Un-hardcode number of page directories Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c8c26622ae508f9f7e6be3e99b45ccae4d07efca Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Jan 22 17:01:25 2015 +0000 drm/i915: Setup less PPGTT on failed page_directory The current code will both potentially print a WARN, and setup part of the PPGTT structure. Neither of these harm the current code, it is simply for clarity, and to perhaps prevent later bugs, or weird debug messages. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 766436004bde5855dcf9975bff2bcd606bd908ab Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Jan 22 17:01:24 2015 +0000 drm/i915: Rename to GEN8_LEGACY_PDPES In gen8, 32b PPGTT has always had one "pdp" (it doesn't actually have one, but it resembles having one). The #define was confusing as is, and using "PDPE" is a much better description. sed -i 's/GEN8_LEGACY_PDPS/GEN8_LEGACY_PDPES/' drivers/gpu/drm/i915/*.[ch] It also matches the x86 pagetable terminology: PTE = Page Table Entry - pagetable level 1 page PDE = Page Directory Entry - pagetable level 2 page PDPE = Page Directory Pointer Entry - pagetable level 3 page And in the near future (for 48b addressing): PML4E = Page Map Level 4 Entry v2: Expanded information about Page Directory/Table nomenclature. Cc: Daniel Vetter <daniel@xxxxxxxx> CC: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3393871441d6fe1fcc8683087649b5139e4f7876 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Jan 22 17:01:23 2015 +0000 drm/i915/trace: Fix offsets for 64b Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13bea49c8b203b0d2eb789c6f91c03de4e09cf4d Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:24 2015 +0000 drm/i915/gen9: Implement WaForceEnableNonCoherent v2: Don't add WaHdcDisableFetchWhenMasked. Add stepping check for WaForceEnableNonCoherent Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1840481f536b40289b61c13f9111f30f4019e5ff Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:23 2015 +0000 drm/i915/gen9: Implement Wa4x4STCOptimizationDisable Move Wa4x4STCOptimizationDisable to gen9_init_workarounds v2: rebase Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cac23df48af531168625f5510912d227c7ce6b8b Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:22 2015 +0000 drm/i915/gen9: Implement WaEnableYV12BugFixInHalfSliceChicken7 Move WaEnableYV12BugFixInHalfSliceChicken7 to gen9_init_workarounds v2: Add stepping check. Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3dcd020a8e3ef5b5f5289a4785b85499adc7626b Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:21 2015 +0000 drm/i915/gen9: Implement WaDisableSDEUnitClockGating v2: Add stepping check for WaDisableSDEUnitClockGating. Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Rebase.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8424171e135ce956ed2473493b061909199572c7 Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:20 2015 +0000 drm/i915/gen9: h/w w/a: syncing dependencies between camera and graphics This one doesn't have one of these nice cryptic names unfortunately. v2: Added missing register bitmap Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1de4582f98db7eafd12695139aed7df6a0a0ff3a Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:19 2015 +0000 drm/i915/gen9: Implement WaDisableDgMirrorFixInHalfSliceChicken5 Move WaDisableDgMirrorFixInHalfSliceChicken5 to gen9_init_workarounds v2: Added stepping check v3: Removed unused register bitmap Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> [danvet: Bikesheds.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab0dfafefd85b0abf61f0efad769803bee8e49fb Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:18 2015 +0000 drm/i915/gen9: Implement WaDisablePartialInstShootdown v2: Dont add WaDisableThreadStallDopClockGating as not SKL WA. (Found by Damien Lespiau) Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Bikeshed commit message a bit as per Damien's suggestions.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e90a21d45d7ea269e6700208809a92d35c0c2362 Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:17 2015 +0000 drm/i915: ring w/a gen 9 revision definitions Add Skylake stepping Revision IDs definitions. v1: Use existing revision id. Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Use magic __I915__ and bikeshed #defines as suggested by Damien.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3b10653178473c44e8909b5f23ab6f515fb63259 Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:16 2015 +0000 drm/i915: ring w/a initialisation for gen 9 Add framework for gen 9 HW WAs v1: Changed SOC specific WA function to gen 9 common function (Req: Damien Lespiau) Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 42a7b088127f7725b6d445d7d9e1e1855988a157 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 19:35:13 2015 +0000 drm/i915: Make sure the primary plane is enabled before reading out the fb state We don't want to end up in a state where we track that the pipe has its primary plane enabled when primary plane registers are programmed with values that look possible but the plane actually disabled. Refuse to read out the fb state when the primary plane isn't enabled. Suggested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Suggested-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fb9981aa675eb7b398849915364916fd98833cfa Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 19:24:25 2015 +0000 drm/i915: Fix atomic state when reusing the firmware fb Right now, we get a warning when taking over the firmware fb: [drm:drm_atomic_plane_check] FB set but no CRTC with the following backtrace: [<ffffffffa010339d>] drm_atomic_check_only+0x35d/0x510 [drm] [<ffffffffa0103567>] drm_atomic_commit+0x17/0x60 [drm] [<ffffffffa00a6ccd>] drm_atomic_helper_plane_set_property+0x8d/0xd0 [drm_kms_helper] [<ffffffffa00f1fed>] drm_mode_plane_set_obj_prop+0x2d/0x90 [drm] [<ffffffffa00a8a1b>] restore_fbdev_mode+0x6b/0xf0 [drm_kms_helper] [<ffffffffa00aa969>] drm_fb_helper_restore_fbdev_mode_unlocked+0x29/0x80 [drm_kms_helper] [<ffffffffa00aa9e2>] drm_fb_helper_set_par+0x22/0x50 [drm_kms_helper] [<ffffffffa050a71a>] intel_fbdev_set_par+0x1a/0x60 [i915] [<ffffffff813ad444>] fbcon_init+0x4f4/0x580 That's because we update the plane state with the fb from the firmware, but we never associate the plane to that CRTC. We don't quite have the full DRM take over from HW state just yet, so fake enough of the plane atomic state to pass the checks. v2: Fix the state on which we set the CRTC in the case we're sharing the initial fb with another pipe. (Matt) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2d14030b1a9d0e89cfdca6f16851e2eac8cb4de0 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 17:22:18 2015 +0000 drm/i915: Store the initial framebuffer in initial_plane_config At the moment we use crtc->base.primary->fb to hold the initial framebuffer allocation, disregarding if it's valid or not. This lead to believe we were actually updating the fb at this point, but it's not true and we haven't even called drm_framebuffer_init() on this fb. Instead, let's store the state in struct intel_initial_plane_config until we know we can reuse that framebuffer. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f55548b5af87ebfc586ca75748947f1c1b1a4a52 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 18:30:20 2015 +0000 drm/i915: Don't try to reference the fb in get_initial_plane_config() Tvrtko noticed a new warning on boot: WARNING: CPU: 1 PID: 353 at include/linux/kref.h:47 drm_framebuffer_reference+0x6c/0x80 [drm]() Call Trace: [<ffffffff8161f10c>] dump_stack+0x4f/0x7b [<ffffffff81052caa>] warn_slowpath_common+0xaa/0xd0 [<ffffffff81052d8a>] warn_slowpath_null+0x1a/0x20 [<ffffffffa00d035c>] drm_framebuffer_reference+0x6c/0x80 [drm] [<ffffffffa01c0df7>] update_state_fb.isra.54+0x47/0x50 [i915] [<ffffffffa01ccd5c>] skylake_get_initial_plane_config+0x93c/0x950 [i915] [<ffffffffa01e8721>] intel_modeset_init+0x1551/0x17c0 [i915] [<ffffffffa02476e0>] i915_driver_load+0xed0/0x11e0 [i915] [<ffffffff81627aa1>] ? _raw_spin_unlock_irqrestore+0x51/0x70 [<ffffffffa00ca8b7>] drm_dev_register+0x77/0x110 [drm] [<ffffffffa00cda3b>] drm_get_pci_dev+0x11b/0x1f0 [drm] [<ffffffff81098e3d>] ? trace_hardirqs_on+0xd/0x10 [<ffffffff81627aa1>] ? _raw_spin_unlock_irqrestore+0x51/0x70 [<ffffffffa0145276>] i915_pci_probe+0x56/0x60 [i915] [<ffffffff813ad59c>] pci_device_probe+0x7c/0x100 [<ffffffff81466aad>] driver_probe_device+0x16d/0x380 We cannot take a reference at this point, not before intel_framebuffer_init() and the underlying drm_framebuffer_init(). Introduced in: commit 706dc7b549175e47f23e913b7f1e52874a7d0f56 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Tue Feb 3 13:10:04 2015 -0800 drm/i915: Ensure plane->state->fb stays in sync with plane->fb v2: Don't move update_state_fb(). It was moved around because I originally put update_state_fb() in intel_alloc_plane_obj() before finding a better place. (Matt) Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reported-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6bf129df6ffae600e8f12440635cf64d293042b4 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 17:22:16 2015 +0000 drm/i915: Use an intermediate variable to avoid repeating ourselves The code look slightly better this way and will ease the next commit, changing where we take the fb pointer from. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ba76c41e55c32f35224c956759fcdc154c78b1a Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 17:22:15 2015 +0000 drm/i915: Put update_state_fb() next to the fb update update_state_fb() at the end of intel_find_plane_obj() is misleading as it leads us to believe the update is done for all code path. A successful call to intel_alloc_plane_obj() will return and update_state_fb() is then only needed when we share a fb from another CRTC. Put the update() function there then. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 60ee5cd24cf1c39d4c7bab7b428a08386a93fe9f Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Feb 5 12:04:27 2015 +0200 drm/i915/fbc: fix the check for already reserved fbc size The check for previously reserved stolen space size for FBC in i915_gem_stolen_setup_compression() did not take the compression threshold into account. Fix this by storing and comparing to uncompressed size instead. The bug has been introduced in commit 5e59f7175f96550ede91f58d267d2b551cb6fbba Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Mon Jun 30 10:41:24 2014 -0700 drm/i915: Try harder to get FBC Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88975 Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 719388e146c34f065c275258e007a39b694aa68f Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Feb 4 13:22:27 2015 +0000 drm/i915/skl: Declare that GT3 has a second VCS v2: leave intel_skylake_info alone (Rodrigo, Daniel) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf2b8a515530ee7e3b25214d7ec52c6827f12d70 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jan 29 14:13:38 2015 +0000 drm/i915/skl: Split the SKL PCI ids by GT We need to have a separate GT3 struct intel_device_info to declare they have a second VCS. Let's start by splitting the PCI ids per-GT. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 94dd5138c5ed02d26982d9704e8c1e9d72e20b40 Author: Satheeshakrishna M <satheeshakrishna.m@xxxxxxxxx> Date: Wed Feb 4 13:57:44 2015 +0000 drm/i915/skl: Implementation of SKL display power well support This patch implements core logic of SKL display power well. v2: Addressed Imre's comments - Added respective DDIs under power well #1 and #2 - Simplified repetitive code in power well programming v3: Implemented Imre's comments - Further simplified power well programming - Made sure that PW 1 is enabled prior to PW 2 v4: Fix minor conflict with the the cherryview support (Damien) v5: Add the PLL power domain to the always on power well (Damien) v6: Disable BIOS power well (Imre) Use power well data for comparison (Imre) Put the PLL power domain into PW1 as its needed for CDCLK (Satheesh, Damien) v7: Addressed Imre's comments - Lowered the time out to 1ms - Added parantheses in macro - Moved debug message and fixed wait_for interval v8: - Add a WARN() when swiching on an unknown power well (Imre, done by Damien) - Whitespace fixes (spaces instead of tabs) (Damien) v9: (Imre, done by Damien) - Merge the register definitions with this patch - Merge the MISC IO power well in this patch v10: (Imre, done by Damien) - Define the Misc I/O power domains to be the power well 1 ones as Misc I/O needs to be enabled with PW1 - Added Transcoder A and VGA domains to PW 2 - Remove the MISC_IO power domains as well in the the always on domains definition - Move Misc I/O power well at the top of the power well list so it's turned on right after PW1. Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Satheeshakrishna M <satheeshakrishna.m@xxxxxxxxx> (v3,v6,v7) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit afd65eb4cc0578a9c07d621acdb8a570e2782bf7 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Tue Feb 3 13:10:04 2015 -0800 drm/i915: Ensure plane->state->fb stays in sync with plane->fb plane->state->fb and plane->fb should always reference the same FB so that atomic and legacy codepaths have the same view of display state. In commit commit db068420560511de80ac59222644f2bdf278c3d5 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Jan 30 16:22:36 2015 -0800 drm/i915: Keep plane->state updated on pageflip we already fixed one case where these two pointers could get out of sync. However it turns out there are a few other places (mainly dealing with initial FB setup at boot) that directly set plane->fb and neglect to update plane->state->fb. If we never do a successful update through the atomic pipeline, the RmFB cleanup code will look at the plane->state->fb pointer, which has never actually been set to a legitimate value, and try to clean it up, leading to BUG's. Add a quick helper function to synchronize plane->state->fb with plane->fb (and update reference counts accordingly) and call it everywhere the driver tries to manually set plane->fb outside of the atomic pipeline. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88909 Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 62659920cf2113b76607b87595dbebe2f5f8601c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jan 29 14:13:40 2015 +0000 drm/i915/skl: Remove the check enforcing VCS2 to be gen8 only We already track this in the intel_info struct. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> [danvet: Make the commit message a bit less terse.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 87c54d0ee6020f90cc1de2279d81d5d55ca57ee4 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Tue Feb 3 12:17:35 2015 +0530 drm/i915: Correct the variable holding the value for EOT to write This isuue got introduced in - commit 24ee0e64909bf7f1953d87d3e1e29d93eafcad73 Author: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Date: Fri Dec 5 14:24:21 2014 +0530 drm/i915: Update the DSI enable path to support dual Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ffe02b403dff23798a33a342ab685555aa088786 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Feb 2 19:09:50 2015 +0200 drm/i915: Introduce intel_set_rps() Replace the valleyview_set_rps() and gen6_set_rps() calls with intel_set_rps() which itself does the IS_VALLEYVIEW() check. The code becomes simpler since the callers don't have to do this check themselves. Most of the change was performe with the following semantic patch: @@ expression E1, E2, E3; @@ - if (IS_VALLEYVIEW(E1)) { - valleyview_set_rps(E2, E3); - } else { - gen6_set_rps(E2, E3); - } + intel_set_rps(E2, E3); Adding intel_set_rps() and making valleyview_set_rps() and gen6_set_rps() static was done manually. Also valleyview_set_rps() had to be moved a bit avoid a forward declaration. v2: Use a less greedy semantic patch Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab8d66752a9c28cd6c94fa173feacdfc1554aa03 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Feb 2 15:44:15 2015 +0000 drm/i915: Track old framebuffer instead of object Daniel Vetter spotted a bug while reviewing some of my refactoring in this are of the code. I'll quote: """ > @@ -9764,6 +9768,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc, > work->event = event; > work->crtc = crtc; > work->old_fb_obj = intel_fb_obj(old_fb); > + work->old_tiling_mode = to_intel_framebuffer(old_fb)->tiling_mode; Hm, that's actually an interesting bugfix - currently userspace could be sneaky and destroy the old fb immediately after the flip completes and the change the tiling of the underlying object before the unpin work had a chance to run (needs some fudgin with rt prios to starve workers to make this work though). Imo the right fix is to hold a reference onto the fb and not the underlying gem object. With that tiling is guaranteed not to change. """ This patch tries to implement the above proposed change. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3f678c96abb43a977d2ea41aefccdc49e8a3e896 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Jan 30 16:22:37 2015 -0800 drm/i915: Switch planes from transitional helpers to full atomic helpers There are two sets of helper functions provided by the DRM core that can implement the .update_plane() and .disable_plane() hooks in terms of a driver's atomic entrypoints. The transitional helpers (which we have been using so far) create a plane state and then use the plane's atomic entrypoints to perform the atomic begin/check/prepare/commit/finish sequence on that single plane only. The full atomic helpers create a top-level atomic state (which is capable of holding multiple object states for planes, crtc's, and/or connectors) and then passes the top-level atomic state through the full "atomic modeset" pipeline. Switching from the transitional to full helpers here shouldn't result in any functional change, but will enable us to exercise/test more of the internal atomic pipeline with the legacy API's used by existing applications. Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1ed1f968b6bec3a8fbeb99b796854f63bdffc558 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Jan 30 16:22:36 2015 -0800 drm/i915: Keep plane->state updated on pageflip Until all drivers have transitioned to atomic, the framebuffer associated with a plane is tracked in both plane->fb (for legacy) and plane->state->fb (for all the new atomic codeflow). All of our modeset and plane updates use drm_plane->update_plane(), so in theory plane->fb and plane->state->fb should always stay in sync and point at the same thing for i915. However we forgot about the pageflip ioctl case, which currently only updates plane->fb and leaves plane->state->fb at a stale value. Surprisingly, this doesn't cause any real problems at the moment since internally we use the plane->fb pointer in most of the places that matter, and on the next .update_plane() call, we use plane->fb to figure out which framebuffer to cleanup. However when we switch to the full atomic helpers for update_plane()/disable_plane(), those helpers use plane->state->fb to figure out which framebuffer to cleanup, so not having updated the plane->state->fb pointer causes things to blow up following a pageflip ioctl. The fix here is to just make sure we update plane->state->fb at the same time we update plane->fb in the pageflip ioctl. Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 726f3234dd125633438922a07a80f933f13daf82 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Feb 6 10:16:45 2015 +0100 perf trace: Support --events foo:bar --no-syscalls I.e. support tracing just tracepoints, without strace like raw_syscalls:*. [acme@ssdandy linux]$ trace --no-sys --ev sched:*exec,sched:*switch,sched:*exit usleep 1 0.048 ( ): sched:sched_process_exec:filename=/usr/bin/usleep pid=27298 old_pid=27298) 0.369 ( ): sched:sched_switch:usleep:27298 [120] S ==> swapper/5:0 [120]) 0.452 ( ): sched:sched_process_exit:comm=usleep pid=27298 prio=120) [acme@ssdandy linux]$ TODO: remove that (...) thing when --no-syscalls is specified. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-vn0hsixsbhm31b2rpj97r96k@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 14a052df1cfa563093f20847d52caad4be5d2adc Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 12:58:57 2015 -0300 perf trace: Allow mixing with other events Basically adopting 'perf record' --event command line argument syntax: # trace -e \!mprotect,mmap,munmap,open,close,read,fstat,access,arch_prctl --event sched:*switch,sched:*exec,sched:*exit usleep 1 0.048 ( ): sched:sched_process_exec:filename=/bin/usleep pid=24732 old_pid=24732) 0.078 (0.002 ms): usleep/24732 brk( ) = 0x78f000 0.430 (0.002 ms): usleep/24732 brk( ) = 0x78f000 0.434 (0.003 ms): usleep/24732 brk(brk: 0x7b0000 ) = 0x7b0000 0.438 (0.001 ms): usleep/24732 brk( ) = 0x7b0000 0.460 (0.004 ms): usleep/24732 nanosleep(rqtp: 0x7ffff3696a40) ... 0.460 ( ): sched:sched_switch:prev_comm=usleep prev_pid=24732 prev_prio=120 prev_state=S ==> next_comm=swapper/1 next_pid=0 next_prio=120) 0.515 (0.058 ms): usleep/24732 ... [continued]: nanosleep()) = 0 0.520 (0.000 ms): usleep/24732 exit_group( 0.550 ( ): sched:sched_process_exit:comm=usleep pid=24732 prio=120) # Next steps, probably in this order: 1) Use ordered_events code, the logic in trace needs the events to be time ordered when needed, i.e. when multiple CPUs are involved. 2) Callchains! 3) Automatically account for interruptions when saying how long things took. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-gpst8mph575yb4wgf91qibyb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e596663ebb28a068f5cca57f83285b7b293a2c83 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Feb 13 13:22:21 2015 -0300 perf trace: Handle multiple threads better wrt syscalls being intermixed $ trace time taskset -c 0 usleep 1 0.845 ( 0.021 ms): time/16722 wait4(upid: 4294967295, stat_addr: 0x7fff17f443d4, ru: 0x7fff17f44438 ) ... 0.865 ( 0.008 ms): time/16723 execve(arg0: 140733595272004, arg1: 140733595272720, arg2: 140733595272768, arg3: 139755107218496, arg4: 7307199665339051828, arg5: 3) = -2 2.395 ( 1.523 ms): taskset/16723 execve(arg0: 140733595272013, arg1: 140733595272720, arg2: 140733595272768, arg3: 139755107218496, arg4: 7307199665339051828, arg5: 3) = 0 2.411 ( 0.002 ms): taskset/16723 brk( ) = 0x1915000 3.300 ( 0.058 ms): usleep/16723 nanosleep(rqtp: 0x7ffff4ada190 ) = 0 <SNIP> 3.305 ( 0.000 ms): usleep/16723 exit_group( 3.363 ( 2.539 ms): time/16722 ... [continued]: wait4()) = 16723 3.366 ( 0.001 ms): time/16722 rt_sigaction(sig: INT, act: 0x7fff17f44160, oact: 0x7fff17f44200, sigsetsize: 8) = 0 We we're not seeing this line: 0.845 ( 0.021 ms): time/16722 wait4(upid: 4294967295, stat_addr: 0x7fff17f443d4, ru: 0x7fff17f44438 ) ... just the one when it finishes: 3.363 ( 2.539 ms): time/16722 ... [continued]: wait4()) = 16723 Still some issues left till we move to ordered_samples when multiple CPUs/threads are involved... 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-zq9x30a1ky3djqewqn2v3ja3@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 42052bea1683fad5a7a06d84a3b4f7bd16131ce8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Feb 13 12:32:45 2015 -0300 perf trace: Print thread info when following children The default for 'trace workload' is to set perf_event_attr.inherit to 1, i.e. to make it equivalent to 'strace -f workload', so we were ending with syscalls for multiple processes mixed up, fix it: Before: [root@ssdandy ~]# trace -e brk time usleep 1 0.071 ( 0.002 ms): brk( ) = 0x100e000 0.802 ( 0.001 ms): brk( ) = 0x1d99000 1.132 ( 0.003 ms): brk( ) = 0x1d99000 1.136 ( 0.003 ms): brk(brk: 0x1dba000) = 0x1dba000 1.140 ( 0.001 ms): brk( ) = 0x1dba000 0.00user 0.00system 0:00.00elapsed 63%CPU (0avgtext+0avgdata 528maxresident)k 0inputs+0outputs (0major+181minor)pagefaults 0swaps [root@ssdandy ~]# After: [root@ssdandy ~]# trace -f -e brk time usleep 1 0.072 ( 0.002 ms): time/26308 brk( ) = 0x1e6e000 0.860 ( 0.001 ms): usleep/26309 brk( ) = 0xb91000 1.193 ( 0.003 ms): usleep/26309 brk( ) = 0xb91000 1.197 ( 0.003 ms): usleep/26309 brk(brk: 0xbb2000) = 0xbb2000 1.201 ( 0.001 ms): usleep/26309 brk( ) = 0xbb2000 0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 524maxresident)k 0inputs+0outputs (0major+180minor)pagefaults 0swaps [root@ssdandy ~]# BTW: to achieve the 'strace workload' behaviour, i.e. without a explicit '-f', one has to use --no-inherit. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> echo Link: http://lkml.kernel.org/n/tip-`ranpwd -l 24`@git.kernel.org Link: http://lkml.kernel.org/n/tip-2wu2d5n65msxoq1i7vtcaft2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 619a303c1b8bd22abc549477d038ef9b5c1fe1bd Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 13 21:11:55 2015 +0800 perf list: Place the header text in its right position The hearer text 'List of pre-defined events (to be used in -e):' is placed in an improper function, which causes an abnormal output, e.g. 'perf list hw' shows no guiding text at all, and 'perf list hw L1-dcache*' shows the guiding text incorrectly in the middle of the output. Example Before this patch: $ perf list hw L1-dcache* branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event] cache-misses [Hardware event] cache-references [Hardware event] cpu-cycles OR cycles [Hardware event] instructions [Hardware event] stalled-cycles-backend OR idle-cycles-backend [Hardware event] stalled-cycles-frontend OR idle-cycles-frontend [Hardware event] List of pre-defined events (to be used in -e): <-- incorrect position L1-dcache-load-misses [Hardware cache event] L1-dcache-loads [Hardware cache event] L1-dcache-prefetch-misses [Hardware cache event] L1-dcache-prefetches [Hardware cache event] L1-dcache-store-misses [Hardware cache event] L1-dcache-stores [Hardware cache event] After this patch: $ perf list hw L1-dcache* List of pre-defined events (to be used in -e): <-- correct position branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event] cache-misses [Hardware event] cache-references [Hardware event] cpu-cycles OR cycles [Hardware event] instructions [Hardware event] stalled-cycles-backend OR idle-cycles-backend [Hardware event] stalled-cycles-frontend OR idle-cycles-frontend [Hardware event] L1-dcache-load-misses [Hardware cache event] L1-dcache-loads [Hardware cache event] L1-dcache-prefetch-misses [Hardware cache event] L1-dcache-prefetches [Hardware cache event] L1-dcache-store-misses [Hardware cache event] L1-dcache-stores [Hardware cache event] Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423833115-11199-8-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 74390aa5567827add5058a3b26eff0ed06a629ba Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Tue Jan 27 17:55:12 2015 +0800 perf: Remove the extra validity check on nr_pages The function is_power_of_2() also do the check on nr_pages, so the first check performed is unnecessary. On the other hand, the key point is to ensure @nr_pages is a power-of-two number and mostly @nr_pages is a nonzero value, so in the most cases, the function is_power_of_2() will be called. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Link: http://lkml.kernel.org/r/1422352512-75150-1-git-send-email-xiakaixu@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3a03005ff9445834f3d3b577a11bcbdbdf7a89cf Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 13 21:11:52 2015 +0800 perf tools: Fix a bug of segmentation fault Fix the 'segmentation fault' bug of 'perf list --list-cmds', which also happens in other cases (e.g. record, report ...). This bug happens when there are no cmds to list at all. Example: Before this patch: $ perf list --list-cmds Segmentation fault $ After this patch: $ perf list --list-cmds $ As shown above, the result prints nothing rather than a segmentation fault. The null result means 'perf list' has no cmds to display at this time. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423833115-11199-5-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ceed252fe0b8b7975845ed4cb9e6069d8a12f233 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Jan 11 23:59:55 2015 +0100 perf build: Display make commands on V=1 Get more verbose output wrt displaying executed commands from make. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-68v67h59zoz7ilb1ggcuff3j@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9244e2c673fb148abb7706e47b602d009c537c9b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Jan 9 17:11:04 2015 +0100 tools lib lockdep: Use tools build framework Move the lockdep library building under tools build framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: S. Lockwood-Childs <sjl@xxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-i0t25buqyo5jfvzpw2347h1h@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2d58ab9bdb1958e94f1007882d67c77edda810c0 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Jan 7 18:39:45 2015 +0100 tools lib traceevent: Use tools build framework Move the libtraceevent library building under tools build framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-opvx59tcawlmm916lg4aff4h@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 285a8f247b08c2aff83633fb82c217f91455d10b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Jan 10 20:53:13 2015 +0100 tools lib api: Rename libapikfs.a to libapi.a Renaming libapikfs.a to libapi.a, because it's not just 'fs' specific library now. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-g1mk5oj2ayq4vn653ovfg3gv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b4f9166847354cb839c275c062c6b17afba49211 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Jan 9 16:38:25 2015 +0100 tools lib api: Use tools build framework Move the libapikfs library building under tools build framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-xjo8r7nuqy9mvlfrmx9zcfwb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f819f703a42eed63443cef796b1852e6baf985bd Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Jan 14 19:05:27 2015 +0100 perf build: Add build documentation Adding file describing the basics of perf build process. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-ibgf7vxyduwohlqqfayl11xb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit db8486626246f86d8f6f77ff0020c68a6dda2e23 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 19:02:51 2014 +0100 perf build: Remove PERF-CFLAGS file Removing PERF-CFLAGS file, because the build framework stores full build command line for each object and triggers rebuilt if necessary. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-99hamnd2msiwgsi78yauihhd@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8e499ac5376c03fa3ff90ddd7def3fee175aa4b6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 16:51:35 2014 +0100 perf build: Remove uneeded variables Removing uneeded variables from Makefile.perf: BUILTIN_OBJS LIB_OBJS GTK_OBJS - objects are now hold by in the build Makefiles LIB_H - header dependencies iare now handled by Build framework Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-o85k0klhwqh3fmvryfgcpr95@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 64f72f3b7316793ba03bc38f5c3cfc627068afe4 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 16:48:54 2014 +0100 perf build: Remove directory dependency rules Removing subdirectories creation support from Makefile.perf as it's no longer needed, since it's properly handled by new build system. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-2i8x5hdllpm6cyhfh1cr88hv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1999307b469bdfda97baa78c7f4ecf3800fdbacd Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 18:44:38 2014 +0100 perf build: Add single target build framework support Add support to build single targets, like: $ make util/map.o # objects $ make util/map.i # preprocessor $ make util/map.s # assembly Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-tt10y0dmweq6rjaod937rpb4@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6d8e62c302bb9285e8882116fc317916ece5d0ab Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:14:20 2014 +0100 perf build: Add arch sparc objects building Move the sparc arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-160hknrqr27c9zf59japw91y@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 61b021244b328e3cb5b08079b28e4e2742ff7656 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:13:25 2014 +0100 perf build: Add arch sh objects building Move the sh arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-nsg1j4djtq85jtrqw830f2az@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 953bce80c01a3e475a5134e8ec410d6f39b9d188 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:12:21 2014 +0100 perf build: Add arch s390 objects building Move the s390 arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-8f5tlfwegkirhir2ffz8nw3i@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 07a39e11a0e783c3e9f2a653d4b0dcde954edd28 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:10:57 2014 +0100 perf build: Add arch powerpc objects building Move the powerpc arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-nqrtlipvjptdyjfuzlnegqgu@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7db216181484d871fcebfab11cdd146aaf80bf94 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:09:08 2014 +0100 perf build: Add arch arm64 objects building Move the arm64 arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-ptqfz1op92yrtccjiww7h1v5@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6ff0e6d7bf41e8464b4a50ba48e0e1502ef8438 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:07:04 2014 +0100 perf build: Add arch arm objects building Move the arm arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-7bxhmeh4bjabqsmxu4gl6p0b@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5e8c0fb6a95728b852d56c0a9244425d474670c0 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:03:40 2014 +0100 perf build: Add arch x86 objects building Move the x86 arch objects building under build framework to be included in the libperf build object. Adding also arch/$(ARCH)/Build files for the rest of the archs. The reason for this is that in arch/Build we now do: +libperf-y += $(ARCH)/ which would make the build to fail on other architectures, because the build framework requires 'Build' file in nested directories and this patch adds it only for x86. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-5enob06z07m7ew6nzzdmp3n2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb4e67fdee46116d6ec5ad37316cf7ff35ad1d7c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 17:09:15 2014 +0100 perf build: Add perf.o object building Move the perf object building under build framework to be included in the perf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-wiiciip2w6ajvj03huqz50xw@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1571b695053c4ccad66c5151d78247a6590338d6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 13:31:12 2014 +0100 perf build: Add zlib objects building Move the zlib objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-cpbb47g82ahpa4yqfr9dcobq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3bc3374cc50ce533259b7efed261f3d68307113c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 13:30:04 2014 +0100 perf build: Add perf regs objects building Move the regs objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-hgny792g5x5iaklc34aa57uh@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c7355f842bf84ba7b1c9d6378f85bb53c99284b2 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 13:11:32 2014 +0100 perf build: Add scripts objects building Move the scripts objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-ry8pd41ahwpq9h46i8te33c7@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 88aeea06ebd2192328c83519f07e5768681e29e7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 00:34:23 2014 +0100 perf build: Add gtk objects building Move the gtk objects building under build framework. Add new gtk build object so it's separated from the rest of the code and could be librarized. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-cd27z7vww85nxdq37rkjkkbm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cf15c74cbdccb8fb5ced91c6f24f9b3a68f9a82b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 00:27:52 2014 +0100 perf build: Add slang objects building Move the slang objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-2ofo1r00jl6i143qxcl9n2jr@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3b939a631b53bdb1bf6826fca2a330b16e995fc2 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 00:16:01 2014 +0100 perf build: Add ui objects building Move the ui objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-re5vuat8uu396n7hyor9b5ve@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2e45c322e0298652fc05e65c671b2b88d30ae31 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 00:11:11 2014 +0100 perf build: Add dwarf unwind objects building Move the dwarf unwind objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-7f7dmhkhs0e7jnqiu9ibzqia@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8379fce485cc57daa42a06f4cf1ad822b794d95d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 00:06:25 2014 +0100 perf build: Add dwarf objects building Move the dwarf objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-5ody6tnfnkt4rezvpem8n7rm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 709e679193c6e0e39222cd1fd51008225208cbc7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 23:52:25 2014 +0100 perf build: Add probe objects building Move the probe objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-p39iitiu2ltgmtbn48bsh7nz@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9352aabad16af51c4c66fb2470ca01e4005bd282 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 17:42:46 2014 +0100 perf build: Add libperf objects building Move the util objects building under build framework. Add the new libperf build object so it's separated from the rest of the perf code and could be librarized. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-574tgt9t23tnxo9td8qjiibc@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 285ab8bfc6637780052f663d90e3aa9a653042c9 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 15:13:44 2014 +0100 perf build: Add builtin objects building Move the rest of builtin objects (bench and test are already in) building under build framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-mrh2d4kfyi4g1el4kmdcghl8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f39e042a133485e4b1aa73d3bc2249d01421f765 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 15:03:09 2014 +0100 perf build: Add tests objects building Move test objects building under build framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-azbkwd1fl32t997a4shz4lgp@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 72965b87c5d5d15e33c620901b46c5ca1a3d6b8b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 13:52:36 2014 +0100 perf build: Add bench objects building Move bench objects building under build framework and enable perf-in.o rule. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-b0gxubmn3qjabaq0lune53y3@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6dd280cdb8a2cf53deacd6240707ec2f22222b20 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Jan 10 21:43:32 2015 +0100 perf build: Disable make's built-in rules We don't use any built-in rules, so we can disable make's checks for that and build faster. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-fr54ist3woy7efz6z3m720vb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 885e00be17c07ffb517d471bf39c8acc44ef87a9 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Jan 11 23:05:29 2015 +0100 perf tools: Remove api fs object from python build It's already included in libapikfs.a library, which is already used to link perf.so. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-ijp7xkmj585rqajy4xmvjnar@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 579ff6d409afa00e78822be9482d382dffd29ff4 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 16:44:11 2014 +0100 tools build: Add subdir support Add support to make directory any time we build objects out of the tree (O=/tmp/krava) and the output directory does not exist. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-h80ukls4o2kpr0e4c4bfln6u@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fcfd6611fbccdbf2593bd949097a5c0e45cd96da Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Dec 31 17:37:00 2014 +0100 tools build: Add detected config support Adding support to include detected configuration makefile into the build process. This will allow the Build objects to be configurable based on the config data, like: perf-$(CONFIG_KRAVA) += krava.o The configuration is stored in '.config-detected' file, which is generated for each compilation. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-bl8qho0ubck7aqrbbfu9inlm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 54a721abd7953a58e5479065c0cfdd8679d785c9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 12 14:20:24 2015 +0100 ALSA: seq: Drop snd_seq_autoload_lock() and _unlock() The autoload lock became already superfluous due to the recent rework of autoload code. Let's drop them now. This allows us to simplify a few codes nicely. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 056622053b8ae02978678ac1321b5bd956e7c812 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 12 13:43:22 2015 +0100 ALSA: seq: Define driver object in each driver This patch moves the driver object initialization and allocation to each driver's module init/exit code like other normal drivers. The snd_seq_driver struct is now published in seq_device.h, and each driver is responsible to define it with proper driver attributes (name, probe and remove) with snd_seq_driver specific attributes as id and argsize fields. The helper functions snd_seq_driver_register(), snd_seq_driver_unregister() and module_snd_seq_driver() are used for simplifying codes. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit af03c243a1f014145dae34368fe975b2f08ed964 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 12 13:40:50 2015 +0100 ALSA: seq: Clean up device and driver structs Use const string pointer instead of copying the id string to each object. Also drop the status and list fields of snd_seq_device struct that are no longer used. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7c37ae5c625aaa4836466cfaea829a3199dfc571 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 12 10:51:59 2015 +0100 ALSA: seq: Rewrite sequencer device binding with standard bus We've used the old house-made code for binding the sequencer device and driver. This can be far better implemented with the standard bus nowadays. This patch refactors the whole sequencer binding code with the bus /sys/bus/snd_seq. The devices appear as id-card-device on this bus and are bound with the drivers corresponding to the given id like the former implementation. The module autoload is also kept like before. There is no change in API functions by this patch, and almost all transitions are kept inside seq_device.c. The proc file output will change slightly but kept compatible as much as possible. Further integration works will follow in later patches. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 72496edcf85e048b4c5373d518e4f27938d9594e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 11 22:39:51 2015 +0100 ALSA: seq: Don't compile snd_seq_device_load_drivers() for built-in Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b6a42670e074da39b5a9f990774359e0733ca9cd Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 11 22:37:16 2015 +0100 ALSA: seq: Move EXPORT_SYMBOL() after each function ... to follow the standard coding style. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 855e7e7174bade3f2b63077a81eea5aab525dbf6 Merge: e09dcd2e 59d5373 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Feb 11 19:48:14 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux I pushed a version of the crypto iov_iter bug fix that Al Viro wrote, but Linus put in a different copy of the same fix into his tree. I then reverted my commit in net-next, and that's why we have a merge when pulling in Linus's tree. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e09dcd2e7913aa50b5cb4836bc1e990e429e4aff Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Feb 11 19:47:00 2015 -0800 Revert "crypto: Fix regressions caused by iov_iter changes." This reverts commit 750d8065d88bc72bd6e1fd9f896a964c35dda818. Linus already fixed this in his tree so just use what he did. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc0c5aa35ac88342831933ca7758ead62d9bae2b Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Sat Jan 31 06:29:46 2015 -0300 [media] ir-hix5hd2: remove writel/readl_relaxed define Commit 9439eb3ab9d1ec ("asm-generic: io: implement relaxed accessor macros as conditional wrappers") has added {read,write}{b,w,l,q}_relaxed to include/asm-generic/io.h Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c819e2cf2eb6f65d3208d195d7a0edef6108d533 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 13:51:45 2014 +0100 tools build: Add new build support Adding new build framework into 'tools/build' to be used by tools. There's no change for actual building at this point, it comes in the next patches. The idea and more details are explained in the 'tools/build/Documentation/Build.txt' file. I adopted everything from the kernel build system, with some changes to allow for multiple binaries build definitions. While the kernel's build output is single image (forget modules) we need to be able to build several binaries/libraries. The basic idea is that sser provides 'Build' files with objects definitions like: perf-y += a.o perf-y += b.o libperf-y += c.o libperf-y += d.o and the build framework outputs files: perf-in.o # a.o, b.o compiled in libperf-in.o # c.o, d.o compiled in Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-fbj22h4av0otlxupwcmrxgpa@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 39f5704399042fff5f0d5f6af32bbbc3e787a897 Author: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Date: Wed Feb 11 11:24:05 2015 -0500 perf tools: Define _GNU_SOURCE on pthread_attr_setaffinity_np feature check The man page for pthread_attr_set_affinity_np states that _GNU_SOURCE must be defined before pthread.h is included in order to get the proper function declaration. Define this in the Makefile. Without this defined, the feature check fails on a Fedora system with gcc5 and then the perf build later fails with conflicting prototypes for the function. Signed-off-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150211162404.GA15522@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5cb113fd84f72b6e08c1970d612fd61327781d4e Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Tue Feb 10 18:18:53 2015 +0900 perf buildid-cache: Consolidate .build-id cache path generators Consolidate .build-id cache path generating routines to build_id__filename() function. Other functions must use it to get the buildid cache path (link path) from build-id. This can reduce the risk of partial-update. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150210091853.19264.58513.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e35f7362bab455fb5c13ea4ce53f959f3e1610b2 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Tue Feb 10 18:18:51 2015 +0900 perf buildid-cache: Remove unneeded debugdir parameters Functions related to buildid-cache subcommand use debugdir parameters for passing buildid cache directory path. However all callers just pass buildid_dir global variable. Moreover, other functions which refer buildid cache use buildid_dir directly. This removes unneeded debugdir parameters from those functions and use buildid_dir if needed. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150210091851.19264.72741.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4e31050f482c02c822b150d71cf1ea5be7c9d6e4 Author: Vinson Lee <vlee@xxxxxxxxxxx> Date: Mon Feb 9 16:29:37 2015 -0800 perf symbols: Define STT_GNU_IFUNC for glibc 2.9 and older. The token STT_GNU_IFUNC is not available with glibc 2.9 and older. Define this token if it is not already defined. This patch fixes this build errors with older versions of glibc. CC util/symbol-elf.o util/symbol-elf.c: In function â??elf_sym__is_functionâ??: util/symbol-elf.c:75: error: â??STT_GNU_IFUNCâ?? undeclared (first use in this function) util/symbol-elf.c:75: error: (Each undeclared identifier is reported only once util/symbol-elf.c:75: error: for each function it appears in.) make: *** [util/symbol-elf.o] Error 1 Signed-off-by: Vinson Lee <vlee@xxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Avi Kivity <avi@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17+ Link: http://lkml.kernel.org/r/1423528286-13630-1-git-send-email-vlee@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 23773ca18b399051eb94f98b689cf7a9173c795b Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:07 2015 -0500 perf tools: Make perf aware of tracefs As tracefs may be mounted instead of debugfs to get to the event directories, have perf know about tracefs, and use that file system over debugfs if it is present. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193553.340946602@xxxxxxxxxxx [ Fixed up error messages about tracefs pointed out by Namhyung ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7f73b9f1ca7334eec0ff9a40e37ece92dd3e420f Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Wed Feb 11 20:33:05 2015 +0800 netfilter: ipset: fix boolreturn.cocci warnings net/netfilter/xt_set.c:196:9-10: WARNING: return of 0/1 in function 'set_match_v3' with return type bool net/netfilter/xt_set.c:242:9-10: WARNING: return of 0/1 in function 'set_match_v4' with return type bool Return statements in functions returning bool should use true/false instead of 1/0. Generated by: scripts/coccinelle/misc/boolreturn.cocci CC: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5cca4ace0fac4474edb02120bf1284ed6eb059aa Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Jan 21 10:53:50 2015 +1100 netfilter: Don't hide NETFILTER_XT_MATCH_ADDRTYPE behind NETFILTER_ADVANCED Docker needs NETFILTER_XT_MATCH_ADDRTYPE, so move it out from behind NETFILTER_ADVANCED and make it default to a module. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b4e27545224e263d271a9d9aa8763357a7e40eaa Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 6 12:27:54 2015 -0800 spi: sc18is602: Support multiple devices on a single I2C bus if DT is configured The driver currently only supports a single device per I2C bus since it uses the I2C bus number to set the SPI bus number. This makes it impossible to connect more than one chip to a single I2C bus. We don't want to use dynamic bus numbers unconditionally since this would result in every instantiation getting a different bus number starting with 65,535 counting down unless devicetree is configured. If devicetree is configured, however, the SPI bus number is obtained from devicetree data. So we can use dynamic SPI bus numbers in this case. Reported-and-Tested-by: Marco Menchise <marco.menchise@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 750d8065d88bc72bd6e1fd9f896a964c35dda818 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 21:24:55 2015 -0800 crypto: Fix regressions caused by iov_iter changes. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3e7766bc459af941c311a3cb03f2082b2fe60ba Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 10:11:05 2015 -0500 spi: bcm53xx: use msecs_to_jiffies for conversion Converting milliseconds to jiffies by "val * HZ / 1000" is technically ok but msecs_to_jiffies(val) is the cleaner solution and handles all corner cases correctly. This is only an API consolidation and should make things more readable Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d6d4c0e00fe559ef54b414e2e6266beaa50b4d8e Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Feb 9 07:16:25 2015 -0300 [media] gpsca: remove the risk of a division by zero As reported by Peter Kovar, there's a potential risk of a division by zero on calls to jpeg_set_qual() when quality is zero. As quality can't be 0 or lower than that, add an extra clause to cover this special case. Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b6d6c6e95ff0e78f9b8393e6b9f25d5a4341ae1a Author: Peter Rosin <peda@xxxxxxxxxx> Date: Mon Feb 9 16:08:25 2015 +0100 ASoC: atmel_ssc_dai: Allow more rates When the SSC acts as BCK master, use a ratnum rule to limit the rate instead of only doing the standard rates. When the SSC acts as BCK slave, allow any BCK frequency up to the SSC master clock, divided by either of 2, 3 or 6. Put a cap at 384kHz. Who's /ever/ going to need more than that? The divider of 2, 3 or 6 is selected based on the Serial Clock Ratio Considerations section from the SSC documentation: The Transmitter and the Receiver can be programmed to operate with the clock signals provided on either the TK or RK pins. This allows the SSC to support many slave-mode data transfers. In this case, the maximum clock speed allowed on the RK pin is: - Peripheral clock divided by 2 if Receiver Frame Synchro is input - Peripheral clock divided by 3 if Receiver Frame Synchro is output In addition, the maximum clock speed allowed on the TK pin is: - Peripheral clock divided by 6 if Transmit Frame Synchro is input - Peripheral clock divided by 2 if Transmit Frame Synchro is output Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> Acked-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5163c1eede8e9073e5b6bf1a988ed07d35820343 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Feb 9 13:26:01 2015 +0200 ASoC: omap: Kconfig: Support for omap5-uevm analog audio The analog audio is supported via omap-abe-twl6040 machine driver on omap5-uevm. Update the Kconfig file to reflect this and select the Palmas clock driver which is providing the 32K clock for audio on omap5-uevm. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd67cd5eb25ae9a7bafbfd3d52d4c05e1d80af3b Author: Julian Anastasov <ja@xxxxxx> Date: Fri Feb 6 09:44:44 2015 +0200 ipvs: use 64-bit rates in stats IPVS stats are limited to 2^(32-10) conns/s and packets/s, 2^(32-5) bytes/s. It is time to use 64 bits: * Change all conn/packet kernel counters to 64-bit and update them in u64_stats_update_{begin,end} section * In kernel use struct ip_vs_kstats instead of the user-space struct ip_vs_stats_user and use new func ip_vs_export_stats_user to export it to sockopt users to preserve compatibility with 32-bit values * Rename cpu counters "ustats" to "cnt" * To netlink users provide additionally 64-bit stats: IPVS_SVC_ATTR_STATS64 and IPVS_DEST_ATTR_STATS64. Old stats remain for old binaries. * We can use ip_vs_copy_stats in ip_vs_stats_percpu_show Thanks to Chris Caputo for providing initial patch for ip_vs_est.c Signed-off-by: Chris Caputo <ccaputo@xxxxxxx> Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit e257a16e680a27ddc3dcbfc9fd39ad7f9d7ea135 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 27 23:23:33 2015 +0100 staging: iio: adc: mxs-lradc: Change type in printf format string Wrong type in printf format string, requires 'int' but the argument type is 'unsigned int' This was found using a static code analysis program called cppcheck Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 31a3dda6489dd68552e1e6af56abcf65405d6b5c Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 27 23:22:34 2015 +0100 staging: iio: resolver: ad2s1210: Change type in printf format string Wrong type in printf format string, requires 'int' but the argument type is 'unsigned int' This was found using a static code analysis program called cppcheck Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c726aadd731de7b3cd2a0c2ceb2cc5ce9745c5ad Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 7 23:40:33 2015 -0800 Staging:iio:ade7854 Coding style correction Line over 80 characters corrected Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 98a3d2e1d57611840b0c252e718f1fc7fb32b381 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sun Feb 8 00:04:53 2015 -0800 Staging:iio:hmc5843:Coding Style Correction Indentation corrections in struct initializations and one line over 80 characters split into two lines Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 14ee64f438b8e85d1c78939d301956d9a775cc9a Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sat Jan 31 02:00:05 2015 +0200 iio: bmc150: exit early if event / trigger state is not changed Previous of this patch the check was only done if we enabled the event and it was already enabled. We can do the same if the event is disabled and we want to disable it. The patch also adds the same check on the trigger code. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8e22f477e1432ace88b762f5f66e0f96631a1462 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sat Jan 31 02:00:04 2015 +0200 iio: bmc150: refactor interrupt enabling This patch combines the any motion and new data interrupts function into a single, generic, interrupt enable function. On top of this, we can later refactor triggers to make it easier to add new triggers. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 802a3aef30917cc20279d17fe4d0e8568d5c7814 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sat Jan 31 02:00:03 2015 +0200 iio: bmc150: refactor slope duration and threshold update Move the slope duration and threshold update in a separate function to reduce code duplicate between chip init and motion interrupt setup. Also move the slope update code from the interrupt setup function to the trigger set state function so that we can later refactor the interrupt code. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit dd6dda27a8be563eaebb3f38b1d1d50920bb7991 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:06 2015 -0500 tools lib api fs: Add {tracefs,debugfs}_configured() functions Add tracefs_configured() to return true if tracefs is configured in the kernel (succeeds to find tracefs), and debugfs_configured() if debugfs is configured in the kernel (succeeds to find debugfs). Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193553.190606690@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a9edf60749a9483341facfa7c28bcf8afb3c8311 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:05 2015 -0500 tools lib api debugfs: Add DEBUGFS_DEFAULT_PATH macro Instead of hard coding "/sys/kernel/debug" everywhere, create a macro to hold where the default path exists. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193553.032117017@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4ef92c2ecd96ebad171e554020c83ce9fdb343ae Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:04 2015 -0500 tools lib api fs: Add tracefs mount helper functions Since tracefs will now hold the event directory for perf, and even though by default, debugfs still mounts tracefs on the debugfs/tracing directory, the system admin may now choose to not mount debugfs and instead just mount tracefs instead. Having tracefs helper functions will facilitate having perf look for tracefs first, and then try debugfs as a fallback. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193552.898934751@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cde164aee9e0343831467035eb96dd5506742648 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:03 2015 -0500 tools lib fs: Add helper to find mounted file systems In preparation for adding tracefs for perf to use, create a findfs helper utility that find_debugfs uses instead of hard coding the search in the code. This will allow for a find_tracefs to be used as well. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193552.735023362@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5693c92660970851e95f769ff27397f5098a6296 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:02 2015 -0500 perf tools: Do not check debugfs MAGIC for tracing files It's rather strange to be checking the debugfs MAGIC number for the tracing directory. A system admin may want to have a custom set of events to trace and it should be allowed to let the admin make a temp file (even for tracing virtual boxes, this is useful). Also with the coming tracefs, the files may not even be under debugfs, so checking the debugfs MAGIC number is pointless. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193552.546175764@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 20f86fc1fde14c6d913ebf5f569ee85e058a7dbd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 13:29:05 2015 -0300 perf evlist: Fix typo in comment Link: http://lkml.kernel.org/n/tip-qzg2qrdgta6dmcrxqdeexthu@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f7aa222ff397bd99153a039578864c1a36b8f391 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 13:25:39 2015 -0300 perf trace: No need to enable evsels for workload started from perf As they will have perf_event_attr.enable_on_exec set, starting as soon as we exec() the workload. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-vmj3f6o3vxrg7mrdipts09li@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 04ddc5b5ad4eca2b96160663431f041bec2efc2e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Feb 7 12:47:56 2015 +0300 xtensa: xtfpga: provide defconfig with audio subsystem This is the generic KC705 defconfig with all pieces of xtfpga audio subsystem enabled: I2C, SPI and ASoC support, I2C master, SPI master, clock synthesizer, I2S master, audio codec and audio card drivers. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit c2c62e61fb8559420bb0346953843e557cdddba7 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Apr 19 21:01:31 2013 +0400 xtensa: xtfpga: add audio card to xtfpga DTS This includes OpenCores I2C host controller, TI CDCE706 clock generator, xtfpga I2S master controller, xtfpga SPI master controller, TI TLV320AIC23 audio codec and a simple audio card. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit aa1aac17a15cbf64236bd6f3b855262dcfb845c9 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 12:46:58 2015 -0300 perf tools: Introduce event_format__fprintf method The existing one, event_format__print() uses stdout unconditionally, and 'perf trace' needs to use it to format into a file that may have been set by the user, i.e. 'trace -o file.output'. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-7l0mgm91hwg0bby00s5pse8r@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 402bb4e6ec6507ccbb2e556d7996bbc989db7f27 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 12:44:09 2015 -0300 tools lib traceevent: Introduce trace_seq_do_fprintf function So that we can specify a FILE object where to direct the formatted output. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-a49bhdrx8851f04hppn8bqxq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc6254cf870732804b76a83ff2d8a72fea4365f6 Author: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Date: Mon Jan 26 22:34:02 2015 -0800 perf symbols: debuglink should take symfs option into account Currently code that tries to read corresponding debug symbol file from .gnu_debuglink section (DSO_BINARY_TYPE__DEBUGLINK) does not take in account symfs option, so filename__read_debuglink function cannot open ELF file, if symfs option is used. Fix is to add proper handling of symfs as it is done in other places: use __symbol__join_symfs function to get real file name of target ELF file. Signed-off-by: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Tested-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Avi Kivity <avi@xxxxxxxxxxxxxxxxxxxx> Cc: Dave Martin <Dave.Martin@xxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1422340442-4673-3-git-send-email-victor.kamensky@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4886f2ca19f6ff22ebfbe8e78c79c699e572b89f Author: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Date: Mon Jan 26 22:34:01 2015 -0800 perf symbols: Ignore mapping symbols on aarch64 Aarch64 ELF files use mapping symbols with special names $x, $d to identify regions of Aarch64 code (see Aarch64 ELF ABI - "ARM IHI 0056B", section "4.5.4 Mapping symbols"). The patch filters out these symbols at load time, similar to "696b97a perf symbols: Ignore mapping symbols on ARM" changes done for ARM before V8. Also added handling of mapping symbols that has format "$d.<any>" and similar for both cases. Note we are not making difference between EM_ARM and EM_AARCH64 mapping symbols instead code handles superset of both. Signed-off-by: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Avi Kivity <avi@xxxxxxxxxxxxxxxxxxxx> Cc: Dave Martin <Dave.Martin@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422340442-4673-2-git-send-email-victor.kamensky@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8b72805fd1dbfd697c5d4492d0cf1ebbd994950d Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Jan 30 18:37:46 2015 +0900 perf probe: Update man page Update Documentation/perf-probe.txt to add descriptions of some newer options. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150130093746.30575.8571.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e1ecbbc3fa834cc6b4b344edb1968e734d57189b Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Jan 30 18:37:44 2015 +0900 perf probe: Fix to handle optimized not-inlined functions Fix to handle optimized no-inline functions which have only function definition but no actual instance at that point. To fix this problem, we need to find actual instance of the function. Without this patch: ---- # perf probe -a __up Failed to get entry address of __up. Error: Failed to add events. # perf probe -L __up Specified source line is not found. Error: Failed to show lines. ---- With this patch: ---- # perf probe -a __up Added new event: probe:__up (on __up) You can now use it in all perf tools, such as: perf record -e probe:__up -aR sleep 1 # perf probe -L __up <__up@/home/fedora/ksrc/linux-3/kernel/locking/semaphore.c:0> 0 static noinline void __sched __up(struct semaphore *sem) { struct semaphore_waiter *waiter = list_first_entry(&sem->wait_ struct semaphore_waite 4 list_del(&waiter->list); 5 waiter->up = true; 6 wake_up_process(waiter->task); 7 } ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150130093744.30575.43290.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a3c0cc2ac03bd9db032f590d59cdbf0b447503b8 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Jan 30 11:33:29 2015 +0900 perf tools: Fix a dso open fail message It's not related to mmap, remove it from the message. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1422585209-32742-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 63d3c6f3835d011c783c606c8a1583b041f579aa Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Jan 30 11:33:28 2015 +0900 perf tests: Do not rely on dso__data_read_offset() to open dso Do not rely on dso__data_read_offset() will always call dso__data_fd() internally. With multi-thread support, accessing a fd will be protected by a lock and it'll cause a huge contention. It can be avoided since we can skip reading from file if there's a data in the dso cache. If one needs to call the dso__data_read_offset(), [s]he also needs to call dso__data_fd() (or set dso->binary_type at least) first like the dwarf unwind code does. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1422585209-32742-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 66af43d56345a7ca549ba1089fe11a6953072417 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Jan 30 11:33:27 2015 +0900 perf test: Fix dso cache testcase The current dso cache permits to keep dso->data.fd is open under a half of open file limit. But test__dso_data_cache() sets dso_cnt to limit / 2 + 1 so it'll reach the limit in the loop even though the loop count is one less than the dso_cnt and it makes the final dso__data_fd() after the loop meaningless. I guess the intention was dsos[0]->data.fd is open before the last open and gets closed after it. So add an assert before the last open. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1422585209-32742-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2f0e5f28e0686c0d5db238357a2e32555e97633 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Feb 4 10:12:59 2015 +0900 clk: samsung: exynos5433: Move CLK_SCLK_HDMI_SPDIF_DISP clock to CMU_TOP domain This patch fixes the bug of CLK_SCLK_HDMI_SPDIF_DISP clock because this clock should be included in CMU_TOP domain. So, this patch moves the CLK_SCLK_HDMI_ SPDIF_DISP clock from CMU_MIF to CMU_TOP domain. Reported-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 6166c01caf9394701a367b20422bcd558333795e Author: Inha Song <ideal.song@xxxxxxxxxxx> Date: Tue Feb 3 09:13:57 2015 +0900 clk: samsung: Add CLKOUT driver support for Exynos5433 SoC This patch add CLKOUT driver support for Exynos5433 SoC. Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit a5958a939bbf93e6b77cb3626c6aebde237ad759 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:56 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_CAM1 domain This patch adds the mux/divider/gate clocks for CMU_CAM1 domain which generates the clocks for Cortex-A5/MIPI_CSIS2/FIMC-LITE_C/FIMC-FD IPs. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 6958f22f39f9292f6e871b4383a11f183c1271ed Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:55 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_CAM0 domain This patch adds the mux/divider/gate clocks for CMU_CAM0 domain which generates the clocks for MIPI_CSIS{0|1}/FIMC_LITE_{A|B|D}/FIMC_3AA{0|1} IPs. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 8e46c4b84faf317773d5a4ec6d807ceae2d0eb41 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:54 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_ISP domain This patch adds the mux/divider/gate clocks for CMU_ISP domain which generates the clocks for FIMC-ISP/DRC/SCLC/DIS/3DNR IPs. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 45e58aa5f751fd861d46f7b6d438c1be147458c6 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:53 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_HEVC domain This patch adds the mux/divider/gate clocks for CMU_HEVC domain which generates the clocks for HEVC(High Efficiency Video Codec) decoder IP. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 9910b6bbaa7b16cd3a8a7d8be53980fa1b8183a6 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:52 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_MFC domain This patch adds the mux/divider/gate clocks for CMU_MFC domain which generates the clocks for MFC(Multi-Format Codec) IP. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit b274bbfd8b4a94cb5bd6fe21801264a27dd8ec75 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:51 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_MSCL domain This patch adds the mux/divider/gate clocks for CMU_MSCL domain which generates the clocks for M2M (Memory to Memory) scaler, JPEG IPs. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 6c5d76d15ab6da9b30af020a44e071eb5145e1a0 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:50 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_ATLAS domain This patch adds the mux/divider/gate clocks for CMU_ATLAS domain which generates the clocks for Cortex-A57 Quad-core processsor, L2 cache controller and CoreSight. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit df40a13ca53e6f83ead88e718dd96654e75365ec Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:49 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_APOLLO domain This patch adds the mux/divider/gate clocks for CMU_APOLLO domain which generates the clocks for Cortex-A53 Quad-core processsor. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> [s.nawrocki@xxxxxxxxxxx: Renamed pclk_pmu_sysreg_apollo to pclk_sysreg_apollo] Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 6da9b382bd2b6e1b910d7e3512a8a115c8c5f113 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sat Jan 31 02:00:00 2015 +0200 iio: buffer: refactor buffer attributes setup Move all core (non-custom) buffer attributes to a vector to make it easier to add more of them in the future. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2a2f33e83ddb6c0abe3d32075f795aa14e4b9476 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:07 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_GSCL domain This patch adds the divider/gate of CMU_GSCL domain which contains gscaler clocks. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 453e519e5aed806c1b70bcbe92aeab39a93dda22 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:06 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_G3D domain This patch adds the mux/divider/gate clocks for CMU_G3D domain which contains the clocks for GPU(3D Graphics Engine). Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 4b8013554b0454984e71bc20bc31966886079e15 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:05 2015 +0900 clk: samsung: exynos5433: Add missing clocks for CMU_FSYS domain This patch adds the mux/divider/gate clocks for CMU_FSYS domain which contains the clocks of USB/UFS/SDMMC/TSI/PDMA IPs. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 5785d6e61f27f7af4d239c1647d5a22e0dbff19b Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:04 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_BUS{0|1|2} domains This patch adds the mux/divider/gate clocks for CMU_BUS{0|1|2} domains which contain global data buses clocked at up the 400MHz. These blocks transfer data between DRAM and various sub-blocks. These clock domains also contain global peripheral buses clocked at 67/111/200/222/266/333/400 MHz and used for register accesses. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 2e997c035945784fb8c564305c0f0ddacc374fe4 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:03 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_AUD domain This patch adds the mux/divider/gate clocks for CMU_AUD domain which includes the clocks of Cortex-A5/Bus/Audio clocks. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 2a1808a6c00fb6d75ebfa596add57638b9290926 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:02 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_DISP domain This patch adds the the mux/divider/gate clocks for CMU_DISP domain which includes clocks of the display IPs (DECON/HDMI/DSIM/MIXER). Also, CMU_DISP requires 'sclk_hdmi_spdif_disp' source clock from CMU_TOP domain. This patch adds the clocks of CMU_TOP related to HDMI. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 06d2f9dfa663367e8cc1690d7e5ce4113e5dbcc1 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:01 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_MIF domain This patch adds the mux/divider/gate clocks of CMU_MIF domain which includes the clocks for DMC(DRAM memory controller) and CCI(Cache Coherent Interconnect). The CMU_MIF domain provides the source clocks for CMU_DISP/CMU_BUS2. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit a29308dad5dc4695a344ed9042cae8a1b8e35267 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:00 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_G2D domain This patch adds ths mux/divider/gate clocks of CMU_G2D domain which includes G2D/MDMA IPs. The CMU_G2D requires its parent defined in the CMU_TOP domain. Hence this patch adds G2D related clocks to the CMU_TOP domain. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 56bcf3f3ea39402acff09cba9558a0d3b13fc56f Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:23:59 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_PERIS domain This patch adds missing gate clocks of CMU_PERIS domain which includes TMU/TZPC/SECKEY/CHIPID/TOPRTC/EFUSE IPs. The special clocks of CMU_PERIS use oscclk source clock directly. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit d0f5de6677de4405c9acdb88db7c7cf7b9cc954e Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:23:58 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_PERIC domain This patch adds missing divider/gate clocks of CMU_PERIC domain which includes I2S/PCM/SPDIF/PWM/SLIMBUS IPs. The SPI/I2S may use external input clock which has 'ioclk_*' prefix. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> [ideal.song: Change clk flags of to pclk_gpio_* clk, pclk_gpio_* should be always on] Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 232364969d8a8a17c52fd9b754d15924abf98d6a Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:23:57 2015 +0900 clk: samsung: exynos5433: Add MUX clocks of CMU_TOP domain This patch adds the MUX (multiplexer) clocks for CMU_TOP domain of Exynos5433. CMU_TOP domain provides source clocks to other CMU domains. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 96bd6224f07b8bf73e0359f15a3d7678118494e6 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:23:56 2015 +0900 clk: samsung: exynos5433: Add clocks using common clock framework This patch adds support for the CMU (Clock Management Units) of Exynos5433 which is an Octa-core 64bit SoC. This patch supports necessary clocks (PLL/MMC/UART/MCT/I2C/SPI) for kernel boot and includes binding documentation for Exynos5433 clock controller. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> [s.nawrocki@xxxxxxxxxxx: whitespace cleanup in dt-bindings/clock/exynos5433.h] [ added U suffix to first arguments of PLL_35XX_RATE()] Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit ee3ac290e8aaa8396e697a11470703e616ab335f Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 2 03:35:20 2015 -0500 iio: vf610_adc: cleanup wait_for_completion return handling return type of wait_for_completion_timeout is unsigned long not int, this patch only fixes up the return handling. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1a21dfed63515faeb2cda334fbf00787b92d7771 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 08:47:11 2015 +0900 clk: samsung: exynos5433: Add binding document for Exynos5433 clock domains This patch adds devicetree binding document for Exynos5433 SoC system clock controller. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit a36385a2613c0755164ec53e8b7a42d4d11f65b9 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Mon Jan 5 11:21:42 2015 +0200 iio: imu: kmx61: Drop odr_bits from kmx61_samp_freq_table odr_bits values are between 0 and 11, so we can use the index in kmx61_samp_freq_table instead of odr_bits structure member. Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1e716a15ce5e5840cac0fb4cd6ca79d70d3568a9 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Fri Jan 2 04:02:55 2015 -0500 iio: meter: ade7759: add error handling in _reset and _stop_device This patch adds the error handling for the value returned from ade7759_spi_read_reg_16. With this patch, the following randconfig warnings get fixed automatically. drivers/staging/iio/meter/ade7759.c:224:6: warning: â??valâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] drivers/staging/iio/meter/ade7759.c:309:6: warning: â??valâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit abe4e26bb7edb7b36ef99e2e78e86de79b18f922 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Fri Jan 2 04:02:54 2015 -0500 iio: meter: ade7754: add error handling in _reset and _stop_device This patch adds the error handling for the value returned from ade7754_spi_read_reg_8. With this patch, the following randconfig warnings get fixed automatically. drivers/staging/iio/meter/ade7754.c:222:6: warning: â??valâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] drivers/staging/iio/meter/ade7754.c:368:6: warning: â??valâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit eae473581cf93dad94ca833aa961c033c6a43924 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Jan 21 10:01:39 2015 -0500 tracing: Have mkdir and rmdir be part of tracefs The tracing "instances" directory can create sub tracing buffers with mkdir, and remove them with rmdir. As a mkdir will also create all the files and directories that control the sub buffer the inode mutexes need to be released before this is done, to avoid deadlocks. It is better to let the tracing system unlock the inode mutexes before calling the functions that create the files within the new directory (or deletes the files from the one being destroyed). Now that tracing has been converted over to tracefs, the tracefs file system can be modified to accommodate this feature. It still releases the locks, but the filesystem itself can take care of the ugly business and let the user just do what it needs. The tracing system now attaches a descriptor to the directory dentry that can have userspace create or remove sub directories. If this descriptor does not exist for a dentry, then that dentry can not be used to create other directories. This descriptor holds a mkdir and rmdir method that only takes a character string as an argument. The tracefs file system will first make a copy of the dentry name before releasing the locks. Then it will pass the copied name to the methods. It is up to the tracing system that supplied the methods to handle races with duplicate names and such as all the inode mutexes would be released when the functions are called. Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit cc31004a4aa784d89054ec07b87eae05cecf7121 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Jan 21 11:28:23 2015 -0500 tracefs: Add directory /sys/kernel/tracing When tracefs is configured, have the directory /sys/kernel/tracing appear just like /sys/kernel/debug appears when debugfs is configured. This will give a consistent place for system admins to mount tracefs. Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f76180bc07abc399977bfbe8c43bf58c4570e893 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Jan 20 15:48:46 2015 -0500 tracing: Automatically mount tracefs on debugfs/tracing As tools currently rely on the tracing directory in debugfs, we can not just created a tracefs infrastructure and expect sysadmins to mount the new tracefs to have their old tools work. Instead, the debugfs tracing directory is still created and the tracefs file system is mounted there when the debugfs filesystem is mounted. No longer does the tracing infrastructure update the debugfs file system, but instead interacts with the tracefs file system. But now, it still appears to the user like nothing changed, except you also have the feature of mounting just the tracing system without needing all of debugfs! Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8434dc9340cd2e117fc944cf7526263bf490a52a Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Jan 20 12:13:40 2015 -0500 tracing: Convert the tracing facility over to use tracefs debugfs was fine for the tracing facility as a quick way to get an interface. Now that tracing has matured, it should separate itself from debugfs such that it can be mounted separately without needing to mount all of debugfs with it. That is, users resist using tracing because it requires mounting debugfs. Having tracing have its own file system lets users get the features of tracing without needing to bring in the rest of the kernel's debug infrastructure. Another reason for tracefs is that debubfs does not support mkdir. Currently, to create instances, one does a mkdir in the tracing/instance directory. This is implemented via a hack that forces debugfs to do something it is not intended on doing. By converting over to tracefs, this hack can be removed and mkdir can be properly implemented. This patch does not address this yet, but it lays the ground work for that to be done. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4282d60689d4f21b40692029080440cc58e8a17d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Jan 20 11:36:55 2015 -0500 tracefs: Add new tracefs file system Add a separate file system to handle the tracing directory. Currently it is part of debugfs, but that is starting to show its limits. One thing is that in order to access the tracing infrastructure, you need to mount debugfs. As that includes debugging from all sorts of sub systems in the kernel, it is not considered advisable to mount such an all encompassing debugging system. Having the tracing system in its own file systems gives access to the tracing sub system without needing to include all other systems. Another problem with tracing using the debugfs system is that the instances use mkdir to create sub buffers. debugfs does not support mkdir from userspace so to implement it, special hacks were used. By controlling the file system that the tracing infrastructure uses, this can be properly done without hacks. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 09d23a1d8a82e814bd56a4f121b80ea8214ac49d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Feb 3 12:45:53 2015 -0500 tracing: Create cmdline tracer options on tracing fs init The options for cmdline tracers are not created if the debugfs system is not ready yet. If tracing has started before debugfs is up, then the option files for the tracer are not created. Create them when creating the tracing directory if the current tracer requires option files. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0f67f04ffcb592d065a20862a82d4539e0f8e909 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Feb 3 11:56:20 2015 -0500 tracing: Only create tracer options files if directory exists Do not bother creating tracer options if no tracing directory exists. If a tracer is enabled via the command line, and is started before the tracing directory is created, then it wont have its tracer specific options created. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit dfbc1534eac550b37df592a8a0b550cd47539d0b Merge: 7eeafbc 163f9eb Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 11:47:31 2015 -0500 Merge branch 'debugfs_automount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs into trace/ftrace/tracefs Pull in Al Viro's changes to debugfs that implement the new primitive: debugfs_create_automount(), that creates a directory in debugfs that will safely mount another file system automatically when debugfs is mounted. This will let tracefs automount itself on top of debugfs/tracing directory. commit 163f9eb95a10371ead59b62087e0d4e7ce53112e Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Jan 21 20:03:40 2015 +0000 debugfs: Provide a file creation function that also takes an initial size Provide a file creation function that also takes an initial size so that the caller doesn't have to set i_size, thus meaning that we don't have to call deal with ->d_inode in the callers. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 07259f8b9fbd30fcef595e872deeea5ffab934ed Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jan 16 18:37:43 2015 +0200 drm/i2c: tda998x: use drm_do_get_edid() Replace the internal EDID read implementation by a call to the new EDID read core function. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Tested-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 288ffc73f6e9be6334ca491994cc01110bebfc96 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Dec 7 20:20:59 2014 +0100 drm/i2c: tda998x: fix misspelling of current function in string Replace a misspelled function name by %s and then __func__. This was done using Coccinelle, including the use of Levenshtein distance, as proposed by Rasmus Villemoes. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 5dbcf319b283276468a52feafefeb5802d87cb8a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Jun 15 11:11:10 2014 +0100 drm/i2c: tda998x: add OF support for finding attached CRTCs Add support to find the attached CRTCs via OF using the newly introduced helper. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> For bisection revision-tuple graph see: http://logs.test-lab.xenproject.org/osstest/results/bisect.linux-linus.test-armhf-armhf-xl.xen-boot.html Revision IDs in each graph node refer, respectively, to the Trees above. ---------------------------------------- Searching for failure / basis pass: 56416 fail [host=arndale-lakeside] / 50404 [host=cubietruck-metzinger] 50388 [host=cubietruck-picasso] 50366 [host=arndale-westfield] 50329 [host=cubietruck-braque] 50311 [host=cubietruck-gleizes] 50276 ok. Failure / basis pass flights: 56416 / 50276 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: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: xen git://xenbits.xen.org/xen.git Latest f0897f4cc0fcdd2410ba0ff0bc1bc64e6e72672a c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e f48218fd2d35e274ef58caee889aecd6610c8cb6 Basis pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 42ffdf360dd9df66b0a4a7ada059c02a3cf3a8de 3a28f760508fb35c430edac17a9efde5aff6d1d5 Generating revisions with ./adhoc-revtuple-generator git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git#6c310bc1acdd02110182a2ec6efa3e7571a3b80c-f0897f4cc0fcdd2410ba0ff0bc1bc64e6e72672a git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/staging/qemu-upstream-unstable.git#42ffdf360dd9df66b0a4a7ada059c02a3cf3a8de-6a47d1ef7af7f5df35986b5084ce61a2255b649e git://xenbits.xen.org/xen.git#3a28f760508fb35c430edac17a9efde5aff6d1d5-f48218fd2d35e274ef58caee889aecd6610c8cb6 + exec + sh -xe + cd /home/osstest/repos/linux-2.6 + git remote set-url origin git://cache: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 /home/osstest/repos/qemu-upstream-unstable + git remote set-url origin git://cache:9419/git://xenbits.xen.org/staging/qemu-upstream-unstable.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* + exec + sh -xe + cd /home/osstest/repos/xen + git remote set-url origin git://cache:9419/git://xenbits.xen.org/xen.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* + exec + sh -xe + cd /home/osstest/repos/qemu-upstream-unstable + git remote set-url origin git://cache:9419/git://xenbits.xen.org/staging/qemu-upstream-unstable.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* + exec + sh -xe + cd /home/osstest/repos/xen + git remote set-url origin git://cache:9419/git://xenbits.xen.org/xen.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* Loaded 2007 nodes in revision graph Searching for test results: 36691 [host=marilith-n5] 36746 [host=marilith-n4] 50276 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 42ffdf360dd9df66b0a4a7ada059c02a3cf3a8de 3a28f760508fb35c430edac17a9efde5aff6d1d5 50311 [host=cubietruck-gleizes] 50329 [host=cubietruck-braque] 50388 [host=cubietruck-picasso] 50366 [host=arndale-westfield] 50422 fail irrelevant 50404 [host=cubietruck-metzinger] 52702 fail irrelevant 53016 fail irrelevant 53720 fail irrelevant 53849 fail irrelevant 54095 fail irrelevant 55255 fail irrelevant 55347 fail irrelevant 55442 fail irrelevant 56503 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e 5b8a4661896f45ca6738e9a408b454f6013a9c74 56475 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 42ffdf360dd9df66b0a4a7ada059c02a3cf3a8de 916735e1814d4d6df0d90b871b0666cdfaf134cd 56469 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 727b998448e852a5e8eb570ac3a259ef62fbdacb eb141d23a00a349dc1474bb982e7812fc091f845 56459 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 42ffdf360dd9df66b0a4a7ada059c02a3cf3a8de 3a28f760508fb35c430edac17a9efde5aff6d1d5 56488 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 727b998448e852a5e8eb570ac3a259ef62fbdacb 314ce9ccb4c9679212a439044c19a71167e38fb4 56467 fail irrelevant 56416 fail f0897f4cc0fcdd2410ba0ff0bc1bc64e6e72672a c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e f48218fd2d35e274ef58caee889aecd6610c8cb6 56483 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 42ffdf360dd9df66b0a4a7ada059c02a3cf3a8de ceb7d6b66de21810a837389911eb2f40c1ca6222 56495 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e f9cc3cd9b4de58cf032c8624406384c172937e57 56500 fail f0897f4cc0fcdd2410ba0ff0bc1bc64e6e72672a c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e f48218fd2d35e274ef58caee889aecd6610c8cb6 56536 fail f0897f4cc0fcdd2410ba0ff0bc1bc64e6e72672a c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e f48218fd2d35e274ef58caee889aecd6610c8cb6 56514 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e 25785da906d7b7daadd61cf34334b139e38dbee0 56540 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e f48218fd2d35e274ef58caee889aecd6610c8cb6 56543 fail f0897f4cc0fcdd2410ba0ff0bc1bc64e6e72672a c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e f48218fd2d35e274ef58caee889aecd6610c8cb6 56517 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e a8403337c02cbca04e3eaf0ff3c55f7eef521785 56522 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e 435beb84b5092d304c5ccd343b445010d5a38a4e 56525 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e 6b351c78a436530d136e1111bafe5e8e0d290492 56528 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e f48218fd2d35e274ef58caee889aecd6610c8cb6 56529 fail f0897f4cc0fcdd2410ba0ff0bc1bc64e6e72672a c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e f48218fd2d35e274ef58caee889aecd6610c8cb6 56532 pass 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e f48218fd2d35e274ef58caee889aecd6610c8cb6 Searching for interesting versions Result found: flight 50276 (pass), for basis pass Result found: flight 56416 (fail), for basis failure Repro found: flight 56459 (pass), for basis pass Repro found: flight 56500 (fail), for basis failure 0 revisions at 6c310bc1acdd02110182a2ec6efa3e7571a3b80c c530a75c1e6a472b0eb9558310b518f0dfcd8860 6a47d1ef7af7f5df35986b5084ce61a2255b649e f48218fd2d35e274ef58caee889aecd6610c8cb6 No revisions left to test, checking graph state. Result found: flight 56528 (pass), for last pass Result found: flight 56529 (fail), for first failure Repro found: flight 56532 (pass), for last pass Repro found: flight 56536 (fail), for first failure Repro found: flight 56540 (pass), for last pass Repro found: flight 56543 (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: f0897f4cc0fcdd2410ba0ff0bc1bc64e6e72672a Bug not present: 6c310bc1acdd02110182a2ec6efa3e7571a3b80c + exec + sh -xe + cd /home/osstest/repos/linux-2.6 + git remote set-url origin git://cache: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 f0897f4cc0fcdd2410ba0ff0bc1bc64e6e72672a Merge: fc8c540 4de5167 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 14 18:40:16 2015 -0700 Merge tag 'pm+acpi-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI fixes from Rafael Wysocki: "Two fixes here, one revert of a recent ACPICA commit that broke audio support on one Dell machine and a fix for a long-standing issue that may cause systems to break randomly during boot. Specifics: - The recent ACPICA commit that set the ACPI _REV return value to 2 (which is the value always used by Windows and now mandated by the spec too) in order to prevent the firmware people from using it to play tricks with us caused a serious audio regression to happen on Dell XPS 13 (the AML on that machine uses the _REV return value to decide how to expose audio to the OS and does that to hide the lack of proper support for its I2S audio in Linux), so revert that commit for now and we'll revisit the issue in the next cycle. - Ensure that the ordering of acpi_reserve_resources() with respect to the rest of the ACPI initialization sequence will always be the same, or the IO or memory region occupied by the ACPI fixed registers may be assigned to a PCI host bridge as a result of a race and random breakage ensues going forward" * tag 'pm+acpi-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: Revert "ACPICA: Permanently set _REV to the value '2'." ACPI / init: Fix the ordering of acpi_reserve_resources() commit fc8c540b1d66fe5f44da916338423ec62946e8b5 Merge: 3c25a75 4801ba3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 14 18:35:33 2015 -0700 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes from Will Deacon: - fix potential memory leak in perf PMU probing - BPF sign extension fix for 64-bit immediates - fix build failure with unusual configuration - revert unused and broken branch patching from alternative code * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: perf: fix memory leak when probing PMU PPIs arm64: bpf: fix signedness bug in loading 64-bit immediate arm64: mm: Fix build error with CONFIG_SPARSEMEM_VMEMMAP disabled Revert "arm64: alternative: Allow immediate branch as alternative instruction" commit 3c25a75ee047c3393cc5b995c6c68c8cbdaf02fa Merge: 110bc76 5c1ac56 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 14 18:02:15 2015 -0700 Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging Pull dmi fixes from Jean Delvare. * 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: firmware: dmi_scan: Fix ordering of product_uuid firmware: dmi_scan: Simplified displayed version commit 4de5167ee07f7a9b66d999e40f2c3193d1a08add Merge: b9a5e5e ff284f3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri May 15 00:31:23 2015 +0200 Merge branches 'acpi-init' and 'acpica' * acpi-init: ACPI / init: Fix the ordering of acpi_reserve_resources() * acpica: Revert "ACPICA: Permanently set _REV to the value '2'." commit 5c1ac56b51b9d222ab202dec1ac2f4215346129d Author: Jean Delvare <jdelvare@xxxxxxx> Date: Thu May 14 14:40:50 2015 +0200 firmware: dmi_scan: Fix ordering of product_uuid In function dmi_present(), dmi_walk_early() calls dmi_table(), which calls dmi_decode(), which ultimately calls dmi_save_uuid(). This last function makes a decision based on the value of global variable dmi_ver. The problem is that this variable is set right _after_ dmi_walk_early() returns. So dmi_save_uuid() always sees dmi_ver == 0 regardless of the actual version implemented. This causes /sys/class/dmi/id/product_uuid to always use the old ordering even on systems implementing DMI/SMBIOS 2.6 or later, which should use the new ordering. This is broken since kernel v3.8 for legacy DMI implementations and since kernel v3.10 for SMBIOS 2 implementations. SMBIOS 3 implementations with the 64-bit entry point are not affected. The first breakage does not matter much as in practice legacy DMI implementations are always for versions older than 2.6, which is when the UUID ordering changed. The second breakage is more problematic as it affects the vast majority of x86 systems manufactured since 2009. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Fixes: 9f9c9cbb6057 ("drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists") Fixes: 79bae42d51a5 ("dmi_scan: refactor dmi_scan_machine(), {smbios,dmi}_present()") Acked-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Artem Savkov <artem.savkov@xxxxxxxxx> Cc: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Cc: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [v3.10+] commit c24930457d4b06903aa5dada50e04a83513e3b6b Author: Jean Delvare <jdelvare@xxxxxxx> Date: Thu May 14 14:40:50 2015 +0200 firmware: dmi_scan: Simplified displayed version The trailing .x adds no information for the reader, and if anyone tries to parse that line, this is more work as they have 3 different formats to handle instead of 2. Plus, this makes backporting fixes harder. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Fixes: 95be58df74a5 ("firmware: dmi_scan: Use full dmi version for SMBIOS3") Cc: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> commit 110bc76729d448fdbcb5cdb63b83d9fd65ce5e26 Merge: 6c9d370 01d460d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 12 21:10:38 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Handle max TX power properly wrt VIFs and the MAC in iwlwifi, from Avri Altman. 2) Use the correct FW API for scan completions in iwlwifi, from Avraham Stern. 3) FW monitor in iwlwifi accidently uses unmapped memory, fix from Liad Kaufman. 4) rhashtable conversion of mac80211 station table was buggy, the virtual interface was not taken into account. Fix from Johannes Berg. 5) Fix deadlock in rtlwifi by not using a zero timeout for usb_control_msg(), from Larry Finger. 6) Update reordering state before calculating loss detection, from Yuchung Cheng. 7) Fix off by one in bluetooth firmward parsing, from Dan Carpenter. 8) Fix extended frame handling in xiling_can driver, from Jeppe Ledet-Pedersen. 9) Fix CODEL packet scheduler behavior in the presence of TSO packets, from Eric Dumazet. 10) Fix NAPI budget testing in fm10k driver, from Alexander Duyck. 11) macvlan needs to propagate promisc settings down the the lower device, from Vlad Yasevich. 12) igb driver can oops when changing number of rings, from Toshiaki Makita. 13) Source specific default routes not handled properly in ipv6, from Markus Stenberg. 14) Use after free in tc_ctl_tfilter(), from WANG Cong. 15) Use softirq spinlocking in netxen driver, from Tony Camuso. 16) Two ARM bpf JIT fixes from Nicolas Schichan. 17) Handle MSG_DONTWAIT properly in ring based AF_PACKET sends, from Mathias Kretschmer. 18) Fix x86 bpf JIT implementation of FROM_{BE16,LE16,LE32}, from Alexei Starovoitov. 19) ll_temac driver DMA maps TX packet header with incorrect length, fix from Michal Simek. 20) We removed pm_qos bits from netdevice.h, but some indirect references remained. Kill them. From David Ahern. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (90 commits) net: Remove remaining remnants of pm_qos from netdevice.h e1000e: Add pm_qos header net: phy: micrel: Fix regression in kszphy_probe net: ll_temac: Fix DMA map size bug x86: bpf_jit: fix FROM_BE16 and FROM_LE16/32 instructions netns: return RTM_NEWNSID instead of RTM_GETNSID on a get Update be2net maintainers' email addresses net_sched: gred: use correct backlog value in WRED mode pppoe: drop pppoe device in pppoe_unbind_sock_work net: qca_spi: Fix possible race during probe net: mdio-gpio: Allow for unspecified bus id af_packet / TX_RING not fully non-blocking (w/ MSG_DONTWAIT). bnx2x: limit fw delay in kdump to 5s after boot ARM: net: delegate filter to kernel interpreter when imm_offset() return value can't fit into 12bits. ARM: net fix emit_udiv() for BPF_ALU | BPF_DIV | BPF_K intruction. mpls: Change reserved label names to be consistent with netbsd usbnet: avoid integer overflow in start_xmit netxen_nic: use spin_[un]lock_bh around tx_clean_lock (2) net: xgene_enet: Set hardware dependency net: amd-xgbe: Add hardware dependency ... commit 01d460dd70adc858e15307332832183c622bee50 Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue May 12 09:37:00 2015 -0600 net: Remove remaining remnants of pm_qos from netdevice.h Commit e2c6544829f removed pm_qos from struct net_device but left the comment and header file. Remove those. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5684044f8062617dcc45ed8b2fb3ec6e02f14370 Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue May 12 09:36:59 2015 -0600 e1000e: Add pm_qos header Commit e2c6544829f moved pm_qos_req to e1000_adapter. Add the header file that defines the struct. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bced870152161435cc59a53e77f3699f8e8f22ca Author: Niklas Cassel <niklas.cassel@xxxxxxxx> Date: Tue May 12 09:43:14 2015 +0200 net: phy: micrel: Fix regression in kszphy_probe Don't do clock-mode-select if clk == NULL, since when building without CONFIG_HAVE_CLK, clk_get returns NULL and clk_get_rate returns 0. Doing clock-mode-select in this cause causes kszphy_probe to return -EINVAL and thus prevents the device from being probed. The original code (before regression) would return 0 when building without CONFIG_HAVE_CLK. Cc: stable <stable@xxxxxxxxxxxxxxx> # 3.18+ Fixes: 1fadee0c3645 ("net/phy: micrel: Add clock support for KSZ8021/KSZ8031") Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Niklas Cassel <niklass@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 44d4f8d74e1dd07f248f35d74419f07d44f326e6 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Tue May 12 08:06:15 2015 +0200 net: ll_temac: Fix DMA map size bug DMA allocates skb->len instead of headlen which is used for DMA. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 343f845b375989f1753f605902931fa939aa2223 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon May 11 23:25:16 2015 -0700 x86: bpf_jit: fix FROM_BE16 and FROM_LE16/32 instructions FROM_BE16: 'ror %reg, 8' doesn't clear upper bits of the register, so use additional 'movzwl' insn to zero extend 16 bits into 64 FROM_LE16: should zero extend lower 16 bits into 64 bit FROM_LE32: should zero extend lower 32 bits into 64 bit Fixes: 89aa075832b0 ("net: sock: allow eBPF programs to be attached to sockets") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c9d370c16aad97cfc6de68666634eaabac2b048 Merge: 03906ca 620b155 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 12 16:02:06 2015 -0700 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS fixes from Ralf Baechle: "One build fix for build breakage of all MIPS SMP kernels caused by Rusty's fix of obsolete use of cpu mask helpers, another to fix the FP ABI selection when loading an ELF binary" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: fix FP mode selection in lieu of .MIPS.abiflags data MIPS: SMP: Fix build error. commit 03906ca389211e167e0d8e9e5ec330e9be467936 Merge: cc49e8c f4f01b5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 12 15:54:54 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma Pull rdma fixes from Doug Ledford: - update MAINTAINERS git repo pointer - printk garbage fix - fix for qib and iw_cxgb4 bugs introduced in 4.1 window - fix for an older iWARP netlink bug - fix a memcpy issue in ehca driver * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: infiniband: Remove duplicated KERN_<LEVEL> from pr_<level> uses IB/qib: fix test of unsigned variable RDMA/core: Fix for parsing netlink string attribute MAINTAINERS: update the official rdma git repo iw_cxgb4: use wildcard mapping for getting remote addr info IB/ehca: use correct destination for memcpy commit e3d8ecb70e16412b14fb11c1b68ecb533bd4ea64 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon May 11 15:57:31 2015 +0200 netns: return RTM_NEWNSID instead of RTM_GETNSID on a get Usually, RTM_NEWxxx is returned on a get (same as a dump). Fixes: 0c7aecd4bde4 ("netns: add rtnl cmd to add and get peer netns ids") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc49e8c9e66d4c52b121de0da666393c4140c0f2 Merge: 4cfceaf 8ebb7e9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 12 15:49:29 2015 -0700 Merge tag 'for-v4.1-rc' of git://git.infradead.org/battery-2.6 Pull power supply and reset fixes from Sebastian Reichel: "misc fixes" * tag 'for-v4.1-rc' of git://git.infradead.org/battery-2.6: power: bq27x00_battery: Add missing MODULE_ALIAS power: reset: Add MFD_SYSCON depends for brcmstb power: reset: ltc2952: Remove bogus hrtimer_start() return value checks power_supply: fix oops in collie_battery driver power/reset: at91: fix return value check in at91_reset_platform_probe() MAINTAINERS: Add me as maintainer of Nokia N900 power supply drivers axp288_fuel_gauge: Add original author details commit ff284f37fc0e6f3b51ede85c5944d571b640ac0f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed May 13 00:44:14 2015 +0200 Revert "ACPICA: Permanently set _REV to the value '2'." Revert commit b1ef29725865 (ACPICA: Permanently set _REV to the value '2'.) as it causes a sound regression to happen on Dell XPS 13 (2015). Reported-by: Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f4f01b542c027b0df57109140c3ee48321705c88 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri May 8 15:58:07 2015 -0700 infiniband: Remove duplicated KERN_<LEVEL> from pr_<level> uses These KERN_<LEVEL> uses are unnecessary with pr_<level> and cause bad logging output so remove them. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ec40f925e0151e3c130fce2b5a1c6389c5b5e4dd Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Tue May 12 13:42:42 2015 -0400 IB/qib: fix test of unsigned variable Commit d4988623cc60 ("IB/qib: use arch_phys_wc_add()") adjusted mtrr inititialization to use the new interface. Unfortunately, the new interface returns a signed value and the patch tested the unsigned wc_cookie. Fix the issue by changing the type of wc_cookie to int. For the success case the ret left at zero to avoid a warning from the caller. For failure wc_cookie is used as the ret. Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ec04847c0c5b471bab2dacceadfdb803a9d1a2ea Author: Tatyana Nikolova <Tatyana.E.Nikolova@xxxxxxxxx> Date: Fri May 8 16:36:33 2015 -0500 RDMA/core: Fix for parsing netlink string attribute The string iwpm_ulib_name is recorded in a nlmsg as a netlink attribute. Without this fix parsing of the nlmsg by the userspace port mapper service fails because of unknown attribute length, causing the port mapper service not to register the client, which has sent the nlmsg. Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v3.16 Reviewed-By: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 620b155034570f577470cf5309f741bac6a6e32b Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Wed May 6 11:52:32 2015 +0100 MIPS: fix FP mode selection in lieu of .MIPS.abiflags data Commit 46490b572544 ("MIPS: kernel: elf: Improve the overall ABI and FPU mode checks") reworked the ELF FP ABI mode selection logic, but when CONFIG_MIPS_O32_FP64_SUPPORT is enabled it breaks the use of binaries which have no PT_MIPS_ABIFLAGS program header & associated .MIPS.abiflags section. A default mode is selected based upon whether the ELF contains MIPS32 or MIPS64 code, but that selection is made in arch_elf_pt_proc. arch_elf_pt_proc only executes when a PT_MIPS_ABIFLAGS program header is found. If one is not found then arch_elf_pt_proc is never called, and no default overall_fp_mode value is selected. When arch_check_elf is called, both abi0 & abi1 are MIPS_ABI_FP_UNKNOWN which leads to both prog_req & interp_req being set to none_req. none_req matches none of the conditions for mode selection at the end of arch_check_elf, so overall_fp_mode is left untouched. Finally once mips_set_personality_fp is called the BUG() in the default case is then hit & the kernel likely panics. Fix this by moving the selection of a default overall mode to the start of arch_check_elf, which runs once per ELF executed regardless of whether it has a PT_MIPS_ABIFLAGS program header. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Patchwork: http://patchwork.linux-mips.org/patch/9978/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4801ba338acad2e69e905e0c537e8ba2682c4e65 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 1 17:15:23 2015 +0100 arm64: perf: fix memory leak when probing PMU PPIs Commit d795ef9aa831 ("arm64: perf: don't warn about missing interrupt-affinity property for PPIs") added a check for PPIs so that we avoid parsing the interrupt-affinity property for these naturally affine interrupts. Unfortunately, this check can trigger an early (successful) return and we will leak the irqs array. This patch fixes the issue by reordering the code so that the check is performed before any independent allocation. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6938f8558167fd1d30233018976ebe310fa6f69b Author: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Date: Tue May 12 02:13:50 2015 -0400 Update be2net maintainers' email addresses Emulex developers' email addresses are now "@avagotech" instead of "@emulex". I'm also replacing Subbu with Padmanabh and Sriharsha in the maintainers list. The driver's heading was outdated and did not include some of the chip types (BE3, Lancer and Skyhawk) that the driver has been supporting for a longtime. I've updated this too. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cafb45b2562baa57cb58bef0636c073705954cc4 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue May 12 06:43:04 2015 +0200 MIPS: SMP: Fix build error. CC arch/mips/kernel/smp.o arch/mips/kernel/smp.c: In function â??start_secondaryâ??: arch/mips/kernel/smp.c:149:2: error: passing argument 2 of â??cpumask_set_cpuâ?? discards â??volatileâ?? qualifier from pointer target type [-Werror] cpumask_set_cpu(cpu, &cpu_callin_map); ^ In file included from ./arch/mips/include/asm/processor.h:14:0, from ./arch/mips/include/asm/thread_info.h:15, from include/linux/thread_info.h:54, from include/asm-generic/preempt.h:4, from arch/mips/include/generated/asm/preempt.h:1, from include/linux/preempt.h:18, from include/linux/interrupt.h:8, from arch/mips/kernel/smp.c:24: include/linux/cpumask.h:272:91: note: expected â??struct cpumask *â?? but argument is of type â??volatile struct cpumask_t *â?? static inline void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp) ^ arch/mips/kernel/smp.c: In function â??smp_prepare_boot_cpuâ??: arch/mips/kernel/smp.c:211:2: error: passing argument 2 of â??cpumask_set_cpuâ?? discards â??volatileâ?? qualifier from pointer target type [-Werror] cpumask_set_cpu(0, &cpu_callin_map); ^ In file included from ./arch/mips/include/asm/processor.h:14:0, from ./arch/mips/include/asm/thread_info.h:15, from include/linux/thread_info.h:54, from include/asm-generic/preempt.h:4, from arch/mips/include/generated/asm/preempt.h:1, from include/linux/preempt.h:18, from include/linux/interrupt.h:8, from arch/mips/kernel/smp.c:24: include/linux/cpumask.h:272:91: note: expected â??struct cpumask *â?? but argument is of type â??volatile struct cpumask_t *â?? static inline void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp) ^ arch/mips/kernel/smp.c: In function â??__cpu_upâ??: arch/mips/kernel/smp.c:221:10: error: passing argument 2 of â??cpumask_test_cpuâ?? discards â??volatileâ?? qualifier from pointer target type [-Werror] while (!cpumask_test_cpu(cpu, &cpu_callin_map)) ^ In file included from ./arch/mips/include/asm/processor.h:14:0, from ./arch/mips/include/asm/thread_info.h:15, from include/linux/thread_info.h:54, from include/asm-generic/preempt.h:4, from arch/mips/include/generated/asm/preempt.h:1, from include/linux/preempt.h:18, from include/linux/interrupt.h:8, from arch/mips/kernel/smp.c:24: include/linux/cpumask.h:294:90: note: expected â??const struct cpumask *â?? but argument is of type â??volatile struct cpumask_t *â?? static inline int cpumask_test_cpu(int cpu, const struct cpumask *cpumask) ^ cc1: all warnings being treated as errors make[2]: *** [arch/mips/kernel/smp.o] Error 1 make[1]: *** [arch/mips/kernel] Error 2 make: *** [arch/mips] Error 2 Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2936ae04aa5d7ebfd9921e363a8e8686f8bb5936 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Mon May 11 21:03:36 2015 -0400 MAINTAINERS: update the official rdma git repo Linus prefers kernel.org repos to github repos for security. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4cfceaf0c087f47033f5e61a801f4136d6fb68c6 Merge: ef20816 4bd9e9b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 14:42:52 2015 -0700 Merge branch 'for-4.1' of git://linux-nfs.org/~bfields/linux Pull nfsd bugfixes from Bruce Fields: "Mainly pnfs fixes (and for problems with generic callback code made more obvious by pnfs)" * 'for-4.1' of git://linux-nfs.org/~bfields/linux: nfsd: skip CB_NULL probes for 4.1 or later nfsd: fix callback restarts nfsd: split transport vs operation errors for callbacks svcrpc: fix potential GSSX_ACCEPT_SEC_CONTEXT decoding failures nfsd: fix pNFS return on close semantics nfsd: fix the check for confirmed openowner in nfs4_preprocess_stateid_op nfsd/blocklayout: pretend we can send deviceid notifications commit 940fd304d233534038365f56d30c29ed7fd7416b Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 16:34:23 2015 -0500 iw_cxgb4: use wildcard mapping for getting remote addr info For listening endpoints bound to the wildcard address, we need to pass the wildcard address mapping to iwpm_get_remote_info() instead of the mapped address of the new child connection. Without this fix, and with iwarp port mapping enabled, each iw_cxgb4 connection that is spawned from a listening endpoint bound to the wildcard address, will generate an annoying dmesg entry about failing to find the remote address mapping info, and the connection state displayed in debugfs under /sys/kernel/debug/iw_cxgb4/<pci-slot-no>/eps will not have the peer's address/port mapping info. The connection still works though. Fixes: 5b6b8fe ("RDMA/cxgb4: Report the actual address of the remote connecting peer") Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Tatyana Nikolova <Tatyana.E.Nikolova@xxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 94634e9861abbc3036d7041773971c8e31ec2680 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon May 11 16:38:02 2015 +0200 IB/ehca: use correct destination for memcpy Using an element of a struct as the address for the memcpy of the whole struct may introduce a buffer overflow and does not help readability either simply pass the real thing as first argument to memcpy. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ef208162b7b4c40de1825a61677e167c081f5fee Merge: a156e06 c8b3504 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 13:57:47 2015 -0700 Merge tag 'spi-fix-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi fixes from Mark Brown: "A number of driver specific fixes (including several missing dependencies for randconfig type cases) plus two core fixes. One makes the setup_transfer() callback optional which unbreaks some drivers which had been merged with it omitted due to local versions of this patch and another ensures that we don't corrupt data by leaking internal dummy buffers to callers, causing the callers to think they allocated those buffers" * tag 'spi-fix-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: spi: fsl-espi: fix behaviour for full-duplex xfers spi: fsl-spi: fix devm_ioremap_resource() error case spi: Kconfig: Add SOC_LS1021A to SPI_FSL_DSPI dependence spi/omap2-mcpsi: Always call spi_finalize_current_message() spi: fsl-spi: use devm_ioremap_resource() to map parameter ram on CPM1 spi: bitbang: Make setup_transfer() callback optional spi: check tx_buf and rx_buf in spi_unmap_msg spi: bcm2835: change timeout of polling driver to 1s spi: bcm2835: Add GPIOLIB dependency commit a156e0682f5b328094c273435a46e32e100ba898 Merge: 9c922a5 5dc5616 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 11:09:54 2015 -0700 Merge tag 'iommu-fixes-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull iommu fixes from Joerg Roedel: "Three fixes have queued up: - reference count fix in the AMD IOMMUv2 driver - sign extension fix in the ARM-SMMU driver - build fix for rockchip driver with device tree" * tag 'iommu-fixes-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu/arm-smmu: Fix sign-extension of upstream bus addresses at stage 1 iommu/rockchip: Fix build without CONFIG_OF iommu/amd: Fix bug in put_pasid_state_wait commit 9c922a55dbfff812e8becbcfd90d1ce856adb0d9 Merge: b3e5838 ec59a65 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 11:05:13 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fixes from Herbert Xu: "This fixes a the implementation of CRC32 on arm64 where it incorrectly applied negation on the result. It also fixes the arm64 implementations of SHA/SHA256 where in some cases it may end up finalising the result twice" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: arm64/sha2-ce - prevent asm code finalization in final() path crypto: arm64/sha1-ce - prevent asm code finalization in final() path crypto: arm64/crc32 - bring in line with generic CRC32 commit b3e5838ac01c6815fc3d15fd00c8eb23889e5962 Merge: c91aa67 dbfe8ef Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 10:54:20 2015 -0700 Merge branch 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata fixes from Tejun Heo: "Rather big for fixes pull. - SCC controllers never lived to see the light of the day. Both libata and ide drivers removed. - In some configurations, link power management policy changes sometimes cause delayed spurious PHY events which can develop into noticeable failures. This has been reported several times over the years. Gabriele's patches suppress PHY events for a while after LPM policy changes which should help most of these failures without causing too much problem for hotplug use cases. - A few controller specific fixes" [ Hmm. I don't think removing SSC support is really a "fix", but hey, it removes a lot of lines of code. Which I like. So ... good riddance ] * 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: ahci: avoton port-disable reset-quirk ata: select DW_DMAC in case of SATA_DWC libata: Blacklist queued TRIM on all Samsung 800-series libata: Ignore spurious PHY event on LPM policy change libata: Add helper to determine when PHY events should be ignored ata: ahci_st: fixup layering violations / drvdata errors Remove celleb-only SCC PATA drivers commit c91aa67eede4cdee97844854bdf5b695ab26893e Merge: 030bbdb bb27051 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 11 10:33:31 2015 -0700 Merge tag 'md/4.1-rc3-fixes' of git://neil.brown.name/md Pull md bugfixes from Neil Brown: "A few fixes for md. Most of these are related to the new "batched stripe writeout", but there are a few others" * tag 'md/4.1-rc3-fixes' of git://neil.brown.name/md: md/raid5: fix handling of degraded stripes in batches. md/raid5: fix allocation of 'scribble' array. md/raid5: don't record new size if resize_stripes fails. md/raid5: avoid reading parity blocks for full-stripe write to degraded array md/raid5: more incorrect BUG_ON in handle_stripe_fill. md/raid5: new alloc_stripe() to allocate an initialize a stripe. md-raid0: conditional mddev->queue access to suit dm-raid commit 145a42b3a964c6647464f05bd58aa33787de7f75 Author: David Ward <david.ward@xxxxxxxxxx> Date: Sat May 9 22:01:47 2015 -0400 net_sched: gred: use correct backlog value in WRED mode In WRED mode, the backlog for a single virtual queue (VQ) should not be used to determine queue behavior; instead the backlog is summed across all VQs. This sum is currently used when calculating the average queue lengths. It also needs to be used when determining if the queue's hard limit has been reached, or when reporting each VQ's backlog via netlink. q->backlog will only be used if the queue switches out of WRED mode. Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 665a6cd809f43eec2b51413816a4178a3390a870 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sat May 9 23:08:38 2015 +0200 pppoe: drop pppoe device in pppoe_unbind_sock_work After receiving a PADT and the socket is closed, user space will no longer drop the reference to the pppoe device. This leads to errors like this: [ 488.570000] unregister_netdevice: waiting for eth0.2 to become free. Usage count = 2 Fixes: 287f3a943fe ("pppoe: Use workqueue to die properly when a PADT is received") Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5dc5616ee850eaba055bb469a6c4a471d489140e Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 8 17:44:22 2015 +0100 iommu/arm-smmu: Fix sign-extension of upstream bus addresses at stage 1 Stage 1 translation is controlled by two sets of page tables (TTBR0 and TTBR1) which grow up and down from zero respectively in the ARMv8 translation regime. For the SMMU, we only care about TTBR0 and, in the case of a 48-bit virtual space, we expect to map virtual addresses 0x0 through to 0xffff_ffff_ffff. Given that some masters may be incapable of emitting virtual addresses targetting TTBR1 (e.g. because they sit on a 48-bit bus), the SMMU architecture allows bit 47 to be sign-extended, halving the virtual range of TTBR0 but allowing TTBR1 to be used. This is controlled by the SEP field in TTBCR2. The SMMU driver incorrectly enables this sign-extension feature, which causes problems when userspace addresses are programmed into a master device with the SMMU expecting to map the incoming transactions via TTBR0; if the top bit of address is set, we will instead get a translation fault since TTBR1 walks are disabled in the TTBCR. This patch fixes the issue by disabling sign-extension of a fixed virtual address bit and instead basing the behaviour on the upstream bus size: the incoming address is zero extended unless the upstream bus is only 49 bits wide, in which case bit 48 is used as the sign bit and is replicated to the upper bits. Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ Reported-by: Varun Sethi <varun.sethi@xxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit c8b350424d1862619c311204290cd42bae4ebaa3 Merge: bed5e4d 73ee39a 50574dd 2000058 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon May 11 17:29:49 2015 +0100 Merge remote-tracking branches 'spi/fix/fsl-cpm', 'spi/fix/fsl-dspi' and 'spi/fix/fsl-espi' into spi-linus commit bed5e4d8294249ea1f05dade879a51733484be42 Merge: 030bbdb 5a1b11c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon May 11 17:29:46 2015 +0100 Merge tag 'spi-v4.1-rc1' into spi-linus spi: Fixes for v4.1 A few driver fixes plus two changes for the core, one to make the setup_transfer() callback optional which fixes crashes in some drivers which were updated to use new interfaces without apparent testing and one to ensure we don't expose the data buffers we use for dummy transfers to drivers which avoids potential issues with multiple accesses to them or reuse. # gpg: Signature made Sat 25 Apr 2015 10:59:47 BST using RSA key ID 5D5487D0 # gpg: key CD7BEEBC: no public key for trusted key - skipped # gpg: key CD7BEEBC marked as ultimately trusted # gpg: key AF88CD16: no public key for trusted key - skipped # gpg: key AF88CD16 marked as ultimately trusted # gpg: key 16005C11: no public key for trusted key - skipped # gpg: key 16005C11 marked as ultimately trusted # gpg: key 5621E907: no public key for trusted key - skipped # gpg: key 5621E907 marked as ultimately trusted # gpg: key 5C6153AD: no public key for trusted key - skipped # gpg: key 5C6153AD marked as ultimately trusted # 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 268be0f7a7d9b3644bcb99568efba13cb208b627 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat May 9 07:58:09 2015 +0000 net: qca_spi: Fix possible race during probe Registering the netdev before setting the priv data is unsafe. So fix this possible race by setting the priv data first. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Fixes: 291ab06e (net: qualcomm: new Ethernet over SPI driver for QCA7000) Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c0c82682873354490a5b67c77331bd65a356236 Author: Bert Vermeulen <bert@xxxxxxxx> Date: Fri May 8 16:18:49 2015 +0200 net: mdio-gpio: Allow for unspecified bus id When the bus id was supplied via a struct platform_device, the driver wasn't handling -1 to mean an unspecified id of the only instance of this driver, as the platform spec requires. Signed-off-by: Bert Vermeulen <bert@xxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fbf33a2802f71dba06faa948af805884ff16a2ab Author: Kretschmer, Mathias <mathias.kretschmer@xxxxxxxxxxxxxxxxxxx> Date: Fri May 8 15:44:37 2015 +0200 af_packet / TX_RING not fully non-blocking (w/ MSG_DONTWAIT). This patch fixes an issue where the send(MSG_DONTWAIT) call on a TX_RING is not fully non-blocking in cases where the device's sndBuf is full. We pass nonblock=true to sock_alloc_send_skb() and return any possibly occuring error code (most likely EGAIN) to the caller. As the fast-path stays as it is, we keep the unlikely() around skb == NULL. Signed-off-by: Mathias Kretschmer <mathias.kretschmer@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd9c39977754d9602b5783a44f4af09530a58254 Author: Michal Schmidt <mschmidt@xxxxxxxxxx> Date: Thu May 7 20:37:10 2015 +0200 bnx2x: limit fw delay in kdump to 5s after boot Commit 12a8541d5c82 "bnx2x: Delay during kdump load" added a 5 seconds delay to bnx2x's probe function in the kdump case to let the firmware realize the old driver is gone. The problem with the delay is that it is per-device, so if you have several bnx2x NICs in NPAR mode, the delays can accumulate to minutes. Fix it by adjusting the delay so that we do not wait more than necessary, i.e. no more delaying after 5 seconds of kernel boot time. Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b59d8806a31bb0267b3a461e8fef20c727bdbf6 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Thu May 7 17:14:21 2015 +0200 ARM: net: delegate filter to kernel interpreter when imm_offset() return value can't fit into 12bits. The ARM JIT code emits "ldr rX, [pc, #offset]" to access the literal pool. #offset maximum value is 4095 and if the generated code is too large, the #offset value can overflow and not point to the expected slot in the literal pool. Additionally, when overflow occurs, bits of the overflow can end up changing the destination register of the ldr instruction. Fix that by detecting the overflow in imm_offset() and setting a flag that is checked for each BPF instructions converted in build_body(). As of now it can only be detected in the second pass. As a result the second build_body() call can now fail, so add the corresponding cleanup code in that case. Using multiple literal pools in the JITed code is going to require lots of intrusive changes to the JIT code (which would better be done as a feature instead of fix), just delegating to the kernel BPF interpreter in that case is a more straight forward, minimal fix and easy to backport. Fixes: ddecdfcea0ae ("ARM: 7259/3: net: JIT compiler for packet filters") Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19fc99d0c6ba7d9b65456496b5bb2169d5f74cd0 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Wed May 6 18:31:56 2015 +0200 ARM: net fix emit_udiv() for BPF_ALU | BPF_DIV | BPF_K intruction. In that case, emit_udiv() will be called with rn == ARM_R0 (r_scratch) and loading rm first into ARM_R0 will result in jit_udiv() function being called the same dividend and divisor. Fix that by loading rn first into ARM_R1 and then rm into ARM_R0. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.13+ Fixes: aee636c4809f (bpf: do not use reciprocal divide) Acked-by: Mircea Gherzan <mgherzan@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 030bbdbf4c833bc69f502eae58498bc5572db736 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 10 15:12:29 2015 -0700 Linux 4.1-rc3 commit 01d07351f272888f55f0101338e2c60605f17846 Merge: 41f2a93 332545b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 10 14:58:53 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "I really need to get back to sending these on my Friday, instead of my Monday morning, but nothing too amazing in here: a few amdkfd fixes, a few radeon fixes, i915 fixes, one tegra fix and one core fix" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm: Zero out invalid vblank timestamp in drm_update_vblank_count. drm/tegra: Don't use vblank_disable_immediate on incapable driver. drm/radeon: stop trying to suspend UVD sessions drm/radeon: more strictly validate the UVD codec drm/radeon: make UVD handle checking more strict drm/radeon: make VCE handle check more strict drm/radeon: fix userptr lockup drm/radeon: fix userptr BO unpin bug v3 drm/amdkfd: Initialize sdma vm when creating sdma queue drm/amdkfd: Don't report local memory size drm/amdkfd: allow unregister process with queues drm/i915: Drop PIPE-A quirk for 945GSE HP Mini drm/i915: Sink rate read should be saved in deca-kHz drm/i915/dp: there is no audio on port A drm/i915: Add missing MacBook Pro models with dual channel LVDS drm/i915: Assume dual channel LVDS if pixel clock necessitates it drm/radeon: don't setup audio on asics that don't support it drm/radeon: disable semaphores for UVD V1 (v2) commit 332545b3016cbff066c17037d32ec8aae8e4cfb5 Merge: fdb68e0 736a69c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon May 11 06:06:22 2015 +1000 Merge tag 'drm-intel-fixes-2015-05-08' of git://anongit.freedesktop.org/drm-intel into drm-fixes misc i915 fixes. * tag 'drm-intel-fixes-2015-05-08' of git://anongit.freedesktop.org/drm-intel: drm/i915: Drop PIPE-A quirk for 945GSE HP Mini drm/i915: Sink rate read should be saved in deca-kHz drm/i915/dp: there is no audio on port A drm/i915: Add missing MacBook Pro models with dual channel LVDS drm/i915: Assume dual channel LVDS if pixel clock necessitates it commit fdb68e09bbb1c981f24608d7022c7d93cc47b326 Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Date: Tue Apr 7 06:31:09 2015 +0200 drm: Zero out invalid vblank timestamp in drm_update_vblank_count. Since commit 844b03f27739135fe1fed2fef06da0ffc4c7a081 we make sure that after vblank irq off, we return the last valid (vblank count, vblank timestamp) pair to clients, e.g., during modesets, which is good. An overlooked side effect of that commit for kms drivers without support for precise vblank timestamping is that at vblank irq enable, when we update the vblank counter from the hw counter, we can't update the corresponding vblank timestamp, so now we have a totally mismatched timestamp for the new count to confuse clients. Restore old client visible behaviour from before Linux 3.17, but zero out the timestamp at vblank counter update (instead of disable as in original implementation) if we can't generate a meaningful timestamp immediately for the new vblank counter. This will fix this regression, so callers know they need to retry again later if they need a valid timestamp, but at the same time preserves the improvements made in the commit mentioned above. Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v3.17+ Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 41f2a93cc6d13fa1c82db1281162500fcc57ba3e Merge: 8425ac7 3b8786f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 10 11:16:48 2015 -0700 Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM fixes from Russell King: "A set of ARM fixes: - fix an off-by-one error in the iommu DMA ops, which caused errors with a 4GiB size. - remove comments mentioning the non-existent CONFIG_CPU_ARM1020_CPU_IDLE macro. - remove useless CONFIG_CPU_ICACHE_STREAMING_DISABLE blocks, where this symbol never appeared in any Kconfig. - fix Feroceon code to cope with a previous change correctly (it incorrectly left an additional word in an assembly structure definition) - avoid a misleading IRQ affinity warning in the ARM PMU code for IRQs which are already affine to their CPUs. - fix the node name printed in the IRQ affinity warning" * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: 8352/1: perf: Fix the pmu node name in warning message ARM: 8351/1: perf: don't warn about missing interrupt-affinity property for PPIs ARM: 8350/1: proc-feroceon: Fix feroceon_proc_info macro ARM: 8349/1: arch/arm/mm/proc-arm925.S: remove dead #ifdef block ARM: 8348/1: remove comments on CPU_ARM1020_CPU_IDLE ARM: 8347/1: dma-mapping: fix off-by-one check in arm_setup_iommu_dma_ops commit 8425ac7a0d56731df5455c3015c59484f39eab6d Merge: 8f59ae0 8cf5e6d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 10 11:13:19 2015 -0700 Merge tag 'samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung Pull samsung fixes from Kukjin Kim: "Here is Samsung fixes for v4.1. Since I've missed to send this via arm-soc tree before v4.1-rc3, so I'm sending this to you directly - fix commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420") which causes 'unhandled fault: imprecise external abort' error when PD turned off. ("make DP a consumer of DISP1 power domain") - fix 's3c-rtc' probe failure on Odriod-X2/U2/U3 boards ("add 'rtc_src' clock to rtc node for source clock of rtc") - fix typo for 'cpu-crit-0' trip point on exynos5420/5440 - fix S2R failure on exynos5250-snow due to card power of Marvell WiFi driver (suspend/resume) ("add keep-power-in-susped to WiFi SDIO node")" * tag 'samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Add keep-power-in-suspend to WiFi SDIO node for exynos5250-snow ARM: dts: Fix typo in trip point temperature for exynos5420/5440 ARM: dts: add 'rtc_src' clock to rtc node for exynos4412-odroid boards ARM: dts: Make DP a consumer of DISP1 power domain on Exynos5420 commit dbfe8ef5599a5370abc441fcdbb382b656563eb4 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri May 8 15:23:55 2015 -0400 ahci: avoton port-disable reset-quirk Avoton AHCI occasionally sees drive probe timeouts at driver load time. When this happens SCR_STATUS indicates device detected, but no D2H FIS reception. Reset the internal link state machines by bouncing port-enable in the PCS register when this occurs. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 78f5b899195019f71f7593c604d75ca61658eae3 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Thu May 7 08:08:51 2015 -0700 mpls: Change reserved label names to be consistent with netbsd Since these are now visible to userspace it is nice to be consistent with BSD (sys/netmpls/mpls.h in netBSD). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c0004d3960a3ebffc68c372dfd98c09d1c680eb Merge: 3e4336a 2439fc4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat May 9 22:23:59 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-05-07 This series contains updates to igb only. Toshiaki provides two fixes for igb, first fixes an issue when changing the number of rings by ethtool which causes oops because of uninitialized pointers. The second fix resolves a typo where tx_ring was used instead of the desired rx_ring. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f59ae0643b2057ad996ab23488e9be1ba2564f4 Merge: 51dfcb0 c9d862c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat May 9 16:13:38 2015 -0700 Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Arnd Bergmann: "A few patches have come up since the merge window. The largest one is a rewrite of the PXA lubbock/mainstone IRQ handling. This was already broken in 2011 by a change to the GPIO code and only noticed now. The other changes contained here are: MAINTAINERS file updates: - Ray Jui and Scott Branden are now co-maintainers for some of the mach-bcm chips, while Christian Daudt and Marc Carino have stepped down. - Andrew Victor is no longer maintaining at91. Instead, Alexandre Belloni now becomes an official maintainer, after having done a bulk of the work for a while. - Baruch Siach, who added the mach-digicolor platform in 4.1 is now listed as maintainer - The git URL for mach-socfpga has changed Bug fixes: - Three bug fixes for new rockchip rk3288 code - A regression fix to make SD card support work on certain ux500 boards - multiple smaller dts fixes for imx, omap, mvebu, and shmobile - a regression ï¬?ix for omap3 power consumption - a fix for regression in the ARM CCI bus driver Configuration changes: - more imx platforms are now enabled in multi_v7_defconfig" * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (39 commits) MAINTAINERS: add Conexant Digicolor machines entry MAINTAINERS: socfpga: update the git repo for SoCFPGA ARM: multi_v7_defconfig: Select more FSL SoCs MAINTAINERS: replace an AT91 maintainer drivers: CCI: fix used_mask init in validate_group() bus: omap_l3_noc: Fix master id address decoding for OMAP5 bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance ARM: dts: dra7: Fix efuse register size for ABB ARM: dts: am57xx-beagle-x15: Switch GPIO fan number ARM: dts: am57xx-beagle-x15: Switch UART mux pins ARM: dts: am437x-sk: reduce col-scan-delay-us ARM: dts: am437x-sk: fix for new newhaven display module revision ARM: dts: am57xx-beagle-x15: Fix RTC aliases ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x ARM: dts: omap3: Add #iommu-cells to isp and iva iommu ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO ARM: dts: OMAP3-N900: Add microphone bias voltages ARM: OMAP2+: Fix omap off idle power consumption creeping up MAINTAINERS: Update brcmstb entry MAINTAINERS: Remove Christian Daudt for mach-bcm ... commit 51dfcb076d1e1ce7006aa272cb7c4514740c7e47 Merge: 9d88f22 7e96c1b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat May 9 16:07:14 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace Pull user-namespace fix from Eric Biederman: "Eric Windish recently reported a really bug that allows mounting fresh copies of proc and sysfs when it really should not be allowed. The code attempted to verify that proc and sysfs were fully visible but there is a test missing to ensure that the root of the filesystem is visible. Doh! The following patch fixes that. This fixes a containment issue that the docker folks are seeing" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: mnt: Fix fs_fully_visible to verify the root directory is visible commit 9d88f22a819db8a9ff78496edf5553e90d88179c Merge: 95f3b1f 1dcc73d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat May 9 14:59:05 2015 -0700 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq updates from Thomas Gleixner: "Two patches from the irq departement: - a simple fix to make dummy_irq_chip usable for wakeup scenarios - removal of the gic arch_extn hackery. Now that all users are converted we really want to get rid of the interface so people wont come up with new use cases" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip: gic: Drop support for gic_arch_extn genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip commit 95f3b1f4b1df4716ce2db8aa2243b7e288eeb9a7 Merge: 1a9f064 149aabc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat May 9 14:57:49 2015 -0700 Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fix from Thomas Gleixner: "A simple fix to actually shut down a detached device instead of keeping it active" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: clockevents: Shutdown detached clockevent device commit 3e4336a65ab6b45cbac10b8347c8f8951fec515d Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Wed May 6 15:09:40 2015 +0200 usbnet: avoid integer overflow in start_xmit transfer_buffer_length is of type u32. It's therefore wrong to assign it to a signed integer. This patch avoids the overflow. It's worth noting that entry->length here is a long; perhaps it would be beneficial at somepoint to change this to be unsigned as well, if nothing else relies on its signedness for error conditions or the like. Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 240b23c4269777abba4eba43acd1f53ec530bb7d Author: Tony Camuso <tcamuso@xxxxxxxxxx> Date: Wed May 6 09:09:18 2015 -0400 netxen_nic: use spin_[un]lock_bh around tx_clean_lock (2) This patch should have been part of the previous patch having the same summary. See http://marc.info/?l=linux-kernel&m=143039470103795&w=2 Unfortunately, I didn't check to see where else this lock was used before submitting that patch. This should take care of it for netxen_nic, as I did a thorough search this time. To recap from the original patch; although testing this driver with DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled did not produce any traces, it would be more prudent in the case of tx_clean_lock to use _bh versions of spin_[un]lock, since this lock is manipulated in both the process and softirq contexts. This patch was tested for functionality and regressions with netperf and DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled. Signed-off-by: Tony Camuso <tcamuso@xxxxxxxxxx> Acked-By: Neil Horman <nhorman@xxxxxxxxxxxxx> Acked-By: Manish Chopra <manish.chopra@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccad725ccb068851fbce2022b2a51fa458d1eac1 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Wed May 6 09:14:34 2015 +0200 net: xgene_enet: Set hardware dependency The xgene_enet driver is only useful on X-Gene SoC. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Iyappan Subramanian <isubramanian@xxxxxxx> Cc: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74a78b15e6e3dd909a39e0d99dfa0268c126e2c6 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Wed May 6 09:04:40 2015 +0200 net: amd-xgbe: Add hardware dependency The amd-xgbe driver currently only works with the Seattle SoC, which is ARM64 architecture, so there is no point in building this driver on other architectures except for build testing purpose. The dependency list can be updated later if the driver ever supports other architectures. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Tom Lendacky <thomas.lendacky@xxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d744318574090c3b796915d9d710bdb17db191a1 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue May 5 15:22:02 2015 -0700 net_sched: fix a use-after-free in tc_ctl_tfilter() When tcf_destroy() returns true, tp could be already destroyed, we should not use tp->next after that. For long term, we probably should move tp list to list_head. Fixes: 1e052be69d04 ("net_sched: destroy proto tp when all filters are gone") Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1006da19ea6603135773a79f09e4e931be460429 Author: Vasily Titskiy <qehgt0@xxxxxxxxx> Date: Wed May 6 10:31:21 2015 -0400 drivers/net/usb: Add support for 'Lenovo OneLink Pro Dock' This device is sold as 'Lenovo OneLink Pro Dock'. Chipset is RTL8153 and works with r8152. Signed-off-by: Vasily Titskiy <qehgt0@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bfbb92c446700da645e4834fb01439097846ce1e Author: Nathan Sullivan <nathan.sullivan@xxxxxx> Date: Tue May 5 15:00:25 2015 -0500 net: macb: Handle the RXUBR interrupt on all devices The same hardware issue the at91 must work around applies to at least the Zynq ethernet, and possibly more devices. The driver also needs to handle the RXUBR interrupt since it turns it on with MACB_RX_INT_FLAGS anyway. Signed-off-by: Nathan Sullivan <nathan.sullivan@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3196a2468895c219a47f3c370713a4ca59c9f54 Merge: e16e888 c82ac7e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat May 9 16:03:28 2015 -0400 Merge branch 'rds' Sowmini Varadhan says: ==================== net/rds: RDS-TCP robustness fixes This patch-set contains bug fixes for state-recovery at the RDS layer when the underlying transport is TCP and the TCP state at one of the endpoints is reset V2 changes: DaveM comments to reduce memory footprint, follow NFS/RPC model where possible. Added test-case #3 Without the changes in this set, when one of the endpoints is reset, the existing code does not correctly clean up RDS socket state for stale connections, resulting in some unstable, timing-dependant behavior on the wire, including an infinite exchange of 3WHs back-and-forth, and a resulting potential to never converge RDS state. Test cases used to verify the changes in this set are: 1. Start rds client/server applications on two participating nodes, node1 and node2. After at least one packet has been sent (to establish the TCP connection), restart the rds_tcp module on the client, and now resend packets. Tcpdump should show server sending a FIN for the "old" client port, and clean connection establishment/exchange for the new client port. 2. At the end of step 1, restart rds srever on node2, and start client on node1, make sure using tcpdump, 'netstat -an|grep 16385' that packets flow correctly. 3. start RDS client/server application on two participating nodes, and repeat steps 1 and 2, but this time, simulate node failure by doing "ifconfig <intf> down", so no FIN is sent. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c82ac7e69efe6dbe370d6ba84e2666d7692ef1c2 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue May 5 15:20:52 2015 -0400 net/rds: RDS-TCP: only initiate reconnect attempt on outgoing TCP socket. When the peer of an RDS-TCP connection restarts, a reconnect attempt should only be made from the active side of the TCP connection, i.e. the side that has a transient TCP port number. Do not add the passive side of the TCP connection to the c_hash_node and thus avoid triggering rds_queue_reconnect() for passive rds connections. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f711a6ae062caeee46067b2f2f12ffda319ae73c Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue May 5 15:20:51 2015 -0400 net/rds: RDS-TCP: Always create a new rds_sock for an incoming connection. When running RDS over TCP, the active (client) side connects to the listening ("passive") side at the RDS_TCP_PORT. After the connection is established, if the client side reboots (potentially without even sending a FIN) the server still has a TCP socket in the esablished state. If the server-side now gets a new SYN comes from the client with a different client port, TCP will create a new socket-pair, but the RDS layer will incorrectly pull up the old rds_connection (which is still associated with the stale t_sock and RDS socket state). This patch corrects this behavior by having rds_tcp_accept_one() always create a new connection for an incoming TCP SYN. The rds and tcp state associated with the old socket-pair is cleaned up via the rds_tcp_state_change() callback which would typically be invoked in most cases when the client-TCP sends a FIN on TCP restart, triggering a transition to CLOSE_WAIT state. In the rarer event of client death without a FIN, TCP_KEEPALIVE probes on the socket will detect the stale socket, and the TCP transition to CLOSE state will trigger the RDS state cleanup. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e16e888b525503be05b3aea64190e8b3bdef44d0 Author: Markus Stenberg <markus.stenberg@xxxxxx> Date: Tue May 5 13:36:59 2015 +0300 ipv6: Fixed source specific default route handling. If there are only IPv6 source specific default routes present, the host gets -ENETUNREACH on e.g. connect() because ip6_dst_lookup_tail calls ip6_route_output first, and given source address any, it fails, and ip6_route_get_saddr is never called. The change is to use the ip6_route_get_saddr, even if the initial ip6_route_output fails, and then doing ip6_route_output _again_ after we have appropriate source address available. Note that this is '99% fix' to the problem; a correct fix would be to do route lookups only within addrconf.c when picking a source address, and never call ip6_route_output before source address has been populated. Signed-off-by: Markus Stenberg <markus.stenberg@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a801445db4cb00bc900fd89b1e5eb7d7b581d7e Merge: 31ccd0e 89eb6d0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat May 9 15:51:00 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth Johan Hedberg says: ==================== Here are a couple of important Bluetooth & mac802154 fixes for 4.1: - mac802154 fix for crypto algorithm allocation failure checking - mac802154 wpan phy leak fix for error code path - Fix for not calling Bluetooth shutdown() if interface is not up Let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a9f064f516c36d018754407b41921c996439ecf Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Sat May 9 03:39:52 2015 +0930 m32r: make flush_cpumask non-volatile. We cast away the volatile, but really, why make it volatile at all? We already do a mb() inside the cpumask_empty() loop. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7e96c1b0e0f495c5a7450dc4aa7c9a24ba4305bd Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri May 8 16:36:50 2015 -0500 mnt: Fix fs_fully_visible to verify the root directory is visible This fixes a dumb bug in fs_fully_visible that allows proc or sys to be mounted if there is a bind mount of part of /proc/ or /sys/ visible. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Eric Windisch <ewindisch@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 95c607d93f477bd4d079c0529c5f7becad4efffb Merge: af64728 f15133d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 21:39:12 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs fixes from Al Viro: "A couple of fixes for bugs caught while digging in fs/namei.c. The first one is this cycle regression, the second is 3.11 and later" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: path_openat(): fix double fput() namei: d_is_negative() should be checked before ->d_seq validation commit f15133df088ecadd141ea1907f2c96df67c729f0 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri May 8 22:53:15 2015 -0400 path_openat(): fix double fput() path_openat() jumps to the wrong place after do_tmpfile() - it has already done path_cleanup() (as part of path_lookupat() called by do_tmpfile()), so doing that again can lead to double fput(). Cc: stable@xxxxxxxxxxxxxxx # v3.11+ Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 766c4cbfacd8634d7580bac6a1b8456e63de3e84 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu May 7 19:24:57 2015 -0400 namei: d_is_negative() should be checked before ->d_seq validation Fetching ->d_inode, verifying ->d_seq and finding d_is_negative() to be true does *not* mean that inode we'd fetched had been NULL - that holds only while ->d_seq is still unchanged. Shift d_is_negative() checks into lookup_fast() prior to ->d_seq verification. Reported-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit af6472881a6127ad075adf64e459d2905fbc8a5c Merge: 5d5df5e 1d3c61c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 20:59:02 2015 -0700 Merge branch 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fix from Chris Mason: "When an arm user reported crashes near page_address(page) in my new code, it became clear that I can't be trusted with GFP masks. Filipe beat me to the patch, and I'll just be in the corner with my dunce cap on" * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: fix wrong mapping flags for free space inode commit 5d5df5ee7cdb77bfdac3703fd7a6bae5e3e4ab36 Merge: 1daac19 cb31ef4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 20:38:21 2015 -0700 Merge tag 'dm-4.1-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper fixes from Mike Snitzer: "Two additional fixes for changes introduced via DM during the 4.1 merge window. The first reverts a dm-crypt change that wasn't correct. The second fixes a device format regression that impacted userspace" * tag 'dm-4.1-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: init: fix regression by supporting devices with major:minor:offset format Revert "dm crypt: fix deadlock when async crypto algorithm returns -EBUSY" commit 1daac193f21d6e3d0adc528a06a7e11522d4254d Merge: 41c64bb 0ff28d9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 19:49:35 2015 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block fixes from Jens Axboe: "A collection of fixes since the merge window; - fix for a double elevator module release, from Chao Yu. Ancient bug. - the splice() MORE flag fix from Christophe Leroy. - a fix for NVMe, fixing a patch that went in in the merge window. From Keith. - two fixes for blk-mq CPU hotplug handling, from Ming Lei. - bdi vs blockdev lifetime fix from Neil Brown, fixing and oops in md. - two blk-mq fixes from Shaohua, fixing a race on queue stop and a bad merge issue with FUA writes. - division-by-zero fix for writeback from Tejun. - a block bounce page accounting fix, making sure we inc/dec after bouncing so that pre/post IO pages match up. From Wang YanQing" * 'for-linus' of git://git.kernel.dk/linux-block: splice: sendfile() at once fails for big files blk-mq: don't lose requests if a stopped queue restarts blk-mq: fix FUA request hang block: destroy bdi before blockdev is unregistered. block:bounce: fix call inc_|dec_zone_page_state on different pages confuse value of NR_BOUNCE elevator: fix double release of elevator module writeback: use |1 instead of +1 to protect against div by zero blk-mq: fix CPU hotplug handling blk-mq: fix race between timeout and CPU hotplug NVMe: Fix VPD B0 max sectors translation commit 41c64bb19c740b5433f768032ecaf05375c955ee Merge: a8a0811 d2d05c6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 19:42:59 2015 -0700 Merge tag 'gpio-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO fixes from Linus Walleij: "Here is a bunch of GPIO fixes that I collected since -rc1, nothing controversial, nothing special: - fix a memory leak for GPIO hotplug. - fix a signedness bug in the ACPI GPIO pin validation. - driver fixes: Qualcomm SPMI and OMAP MPUIO IRQ issues" * tag 'gpio-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: gpio: omap: Fix regression for MPUIO interrupts gpio: sysfs: fix memory leaks and device hotplug pinctrl: qcom-spmi-gpio: Fix input value report pinctrl: qcom-spmi-gpio: Fix output type configuration gpiolib: change gpio pin from unsigned to signed in acpi callback commit a8a0811314db714ae23ab9f0ea707711a076bf18 Merge: 26b293e 4de3bf6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 19:34:35 2015 -0700 Merge tag 'mmc-4.1-rc2' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC fixes from Ulf Hansson: "MMC core: - Don't access RPMB partitions for normal read/write - Fix hibernation restore sequence MMC host: - dw_mmc: Fix card detection for non removable cards - dw_mmc: Fix sglist issue in 32-bit mode - sh_mmcif: Fix timeout value for command request" * tag 'mmc-4.1-rc2' of git://git.linaro.org/people/ulf.hansson/mmc: mmc: dw_mmc: dw_mci_get_cd check MMC_CAP_NONREMOVABLE mmc: dw_mmc: init desc in dw_mci_idmac_init mmc: card: Don't access RPMB partitions for normal read/write mmc: sh_mmcif: Fix timeout value for command request mmc: core: add missing pm event in mmc_pm_notify to fix hib restore commit 26b293e854406ea4276b566cef75426adc3a9688 Merge: 3e0283a ac01ce1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 8 18:22:05 2015 -0700 Merge tag 'trace-fixes-v4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fix from Steven Rostedt: "The newly added ftrace_print_array_seq() function had a bug in it. Luckily, the only user of it didn't make the 4.1 merge window. But the helper function should be fixed before 4.2 when the users start coming in" * tag 'trace-fixes-v4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Make ftrace_print_array_seq compute buf_len commit 8cf5e6dc8dd55d0f1ad46ab4046c3a8a51d2136d Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sat May 9 03:15:16 2015 +0900 ARM: dts: Add keep-power-in-suspend to WiFi SDIO node for exynos5250-snow The Marvell mwifiex driver prevents the system to enter into a suspend state if the card power is not preserved during a suspend/resume cycle. So Suspend-to-RAM and Suspend-to-idle are failing on Exynos5250 Snow. Add the keep-power-in-suspend Power Management property to the SDIO/MMC node so the mwifiex suspend handler doesn't fail and the system is able to enter into a suspend state. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit cb0f7c8b40c52124fdb73b5e5a1b28202efbb43b Author: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Date: Sat May 9 03:11:21 2015 +0900 ARM: dts: Fix typo in trip point temperature for exynos5420/5440 Remove the extra zero in the "cpu-crit-0" trip point for exynos5420 and exynos5440. Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ee2020a4ca847e2cde4d5ee73572388061730809 Author: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Date: Sat May 9 03:05:51 2015 +0900 ARM: dts: add 'rtc_src' clock to rtc node for exynos4412-odroid boards The Exynos4412 SoC has a s3c6410 RTC where the source clock is now a mandatory property. This patch fixes probe failure of s3c-rtc on Odroid-X2/U2/U3 boards. Signed-off-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Tested-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 0d747762966e47e3660cbd1b7806791c83e04f91 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sat May 9 02:33:42 2015 +0900 ARM: dts: Make DP a consumer of DISP1 power domain on Exynos5420 Commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420") added a device node for the Exynos5420 DISP1 power domain but dit not make the DP controller a consumer of that power domain. This causes an "Unhandled fault: imprecise external abort" error if the exynos-dp driver tries to access the DP controller registers and the PD was turned off. This lead to a kernel panic and a complete system hang. Make the DP controller device node a consumer of the DISP1 power domain to ensure that the PD is turned on when the exynos-dp driver is probed. Fixes: ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420") Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c9d862c48c48883a4327ae82f4a6de1eef928d60 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue Apr 28 13:59:43 2015 +0300 MAINTAINERS: add Conexant Digicolor machines entry This adds Baruch as the maintainer for the Digicolor platform. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit efadb751692f3c10e72cf96c8409e40e60852ff2 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 14:13:12 2015 -0500 MAINTAINERS: socfpga: update the git repo for SoCFPGA The git tree at rocketboards.org is going away. Update the entry to reflect the address of the new location. Also add an entry for all the socfpga_* dts files. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 1e4df6b7208140f3c49f316d33a409d3a161f350 Author: Xi Wang <xi.wang@xxxxxxxxx> Date: Fri May 8 06:39:51 2015 +0100 arm64: bpf: fix signedness bug in loading 64-bit immediate Consider "(u64)insn1.imm << 32 | imm" in the arm64 JIT. Since imm is signed 32-bit, it is sign-extended to 64-bit, losing the high 32 bits. The fix is to convert imm to u32 first, which will be zero-extended to u64 implicitly. Cc: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: 30d3d94cc3d5 ("arm64: bpf: add 'load 64-bit immediate' instruction") Signed-off-by: Xi Wang <xi.wang@xxxxxxxxx> [will: removed non-arm64 bits and redundant casting] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3790e395b8f4b66fe4e53629f304505c110a2be7 Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Date: Mon May 4 06:29:44 2015 +0200 drm/tegra: Don't use vblank_disable_immediate on incapable driver. Tegra would not only need a hardware vblank counter that increments at leading edge of vblank, but also support for instantaneous high precision vblank timestamp queries, ie. a proper implementation of dev->driver->get_vblank_timestamp(). Without these, there can be off-by-one errors during vblank disable/enable if the scanout is inside vblank at en/disable time, and additionally clients will never see any useable vblank timestamps when querying via drmWaitVblank ioctl. This would negatively affect swap scheduling under X11 and Wayland. Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 94754c183ada2143f03f3e16827904aab9e09f8e Merge: 7122e50 79b066b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri May 8 20:52:51 2015 +1000 Merge tag 'drm-amdkfd-fixes-2015-05-07' of git://people.freedesktop.org/~gabbayo/linux into drm-fixes - Add missing initialization of SDMA vm register when creating an SDMA queue - Don't report local memory size, as we don't support local memory allocation yet. - Allow to unregister process with exisiting queues. Until now we blocked it with BUG_ON, which was also an error by itself. * tag 'drm-amdkfd-fixes-2015-05-07' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: Initialize sdma vm when creating sdma queue drm/amdkfd: Don't report local memory size drm/amdkfd: allow unregister process with queues commit 7122e505a52a2b1b8a21101cce04bcdf7c28deab Merge: 5ebe6af 12e49fe Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri May 8 20:52:21 2015 +1000 Merge branch 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Mostly stability fixes for UVD and VCE, plus a few other bug and regression fixes. * 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: stop trying to suspend UVD sessions drm/radeon: more strictly validate the UVD codec drm/radeon: make UVD handle checking more strict drm/radeon: make VCE handle check more strict drm/radeon: fix userptr lockup drm/radeon: fix userptr BO unpin bug v3 drm/radeon: don't setup audio on asics that don't support it drm/radeon: disable semaphores for UVD V1 (v2) commit bb27051f9fd7643f05d8f0babce3337f0b9b3087 Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:40 2015 +1000 md/raid5: fix handling of degraded stripes in batches. There is no need for special handling of stripe-batches when the array is degraded. There may be if there is a failure in the batch, but STRIPE_DEGRADED does not imply an error. So don't set STRIPE_BATCH_ERR in ops_run_io just because the array is degraded. This actually causes a bug: the STRIPE_DEGRADED flag gets cleared in check_break_stripe_batch_list() and so the bitmap bit gets cleared when it shouldn't. So in check_break_stripe_batch_list(), split the batch up completely - again STRIPE_DEGRADED isn't meaningful. Also don't set STRIPE_BATCH_ERR when there is a write error to a replacement device. This simply removes the replacement device and requires no extra handling. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 738a273806ee0568369c9bb19ef3b102f54beef4 Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:39 2015 +1000 md/raid5: fix allocation of 'scribble' array. As the new 'scribble' array is sized based on chunk size, we need to make sure the size matches the largest of 'old' and 'new' chunk sizes when the array is undergoing reshape. We also potentially need to resize it even when not resizing the stripe cache, as chunk size can change without changing number of devices. So move the 'resize' code into a separate function, and consider old and new sizes when allocating. Signed-off-by: NeilBrown <neilb@xxxxxxx> Fixes: 46d5b785621a ("raid5: use flex_array for scribble data") commit 6e9eac2dcee5e19f125967dd2be3e36558c42fff Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:34 2015 +1000 md/raid5: don't record new size if resize_stripes fails. If any memory allocation in resize_stripes fails we will return -ENOMEM, but in some cases we update conf->pool_size anyway. This means that if we try again, the allocations will be assumed to be larger than they are, and badness results. So only update pool_size if there is no error. This bug was introduced in 2.6.17 and the patch is suitable for -stable. Fixes: ad01c9e3752f ("[PATCH] md: Allow stripes to be expanded in preparation for expanding an array") Cc: stable@xxxxxxxxxxxxxxx (v2.6.17+) Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 10d82c5f0d167ef75a2d8d7d4eed9ee43d3369c9 Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:33 2015 +1000 md/raid5: avoid reading parity blocks for full-stripe write to degraded array When performing a reconstruct write, we need to read all blocks that are not being over-written .. except the parity (P and Q) blocks. The code currently reads these (as they are not being over-written!) unnecessarily. Signed-off-by: NeilBrown <neilb@xxxxxxx> Fixes: ea664c8245f3 ("md/raid5: need_this_block: tidy/fix last condition.") commit b0c783b32318bef29d64086fa812e8c659cb5b37 Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:32 2015 +1000 md/raid5: more incorrect BUG_ON in handle_stripe_fill. It is not incorrect to call handle_stripe_fill() when a batch of full-stripe writes is active. It is, however, a BUG if fetch_block() then decides it needs to actually fetch anything. So move the 'BUG_ON' to where it belongs. Signed-off-by: NeilBrown <neilb@xxxxxxx> Fixes: 59fc630b8b5f ("RAID5: batch adjacent full stripe write") commit f18c1a35f62caccb527e8b0990c8801596e7c662 Author: NeilBrown <neilb@xxxxxxx> Date: Fri May 8 18:19:04 2015 +1000 md/raid5: new alloc_stripe() to allocate an initialize a stripe. The new batch_lock and batch_list fields are being initialized in grow_one_stripe() but not in resize_stripes(). This causes a crash on resize. So separate the core initialization into a new function and call it from both allocation sites. Signed-off-by: NeilBrown <neilb@xxxxxxx> Fixes: 59fc630b8b5f ("RAID5: batch adjacent full stripe write") commit b6538fe32966e63ef38897860ef220980d904974 Author: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Date: Fri May 8 18:19:03 2015 +1000 md-raid0: conditional mddev->queue access to suit dm-raid This patch is a prerequisite for dm-raid "raid0" support to allow dm-raid to access the MD RAID0 personality doing unconditional accesses to mddev->queue, which is NULL in case of dm-raid stacked on top of MD. Most of the conditional mddev->queue accesses made it to upstream but this missing one, which prohibits md raid0 to set disk stack limits (being done in dm core in case of md underneath dm). Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Tested-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 4de3bf66c61ef708d8f22d7f990339668a858e7d Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Tue May 5 16:54:49 2015 +0800 mmc: dw_mmc: dw_mci_get_cd check MMC_CAP_NONREMOVABLE When non-removable is used for emmc, MMC_CAP_NONREMOVABLE should also be checked, otherwise detection fail since present=0 Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4b2447248325ac7b1654d362c0e9f050f79e0ffe Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Thu Apr 30 22:16:28 2015 +0800 mmc: dw_mmc: init desc in dw_mci_idmac_init Set 0 to des1 in 32bit case. Otherwise the random value of des1 will be used in dw_mci_translate_sglist: IDMAC_SET_BUFFER1_SIZE(desc, length) Signed-off-by: Fei Wang <w.f@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3e0283a53f7d2f2dae7bc4aa7f3104cb5988018f Merge: 68c2f356 9a5d931 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 15:58:00 2015 -0700 Merge tag 'pm+acpi-4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI fixes from Rafael Wysocki: "These include three regression fixes (PCI resources management, ACPI/PNP device enumeration, ACPI SBS on MacBook) and two ACPI documentation fixes related to GPIO. Specifics: - Fix for a PCI resources management regression introduced during the 4.0 cycle and related to the handling of ACPI resources' Producer/Consumer flags that turn out to be useless (Jiang Liu) - Fix for a MacBook regression related to the Smart Battery Subsystem (SBS) driver causing various problems (stalls on boot, failure to detect or report battery) to happen and introduced during the 3.18 cycle (Chris Bainbridge) - Fix for an ACPI/PNP device enumeration regression introduced during the 3.16 cycle caused by failing to include two PNP device IDs into the list of IDs that PNP device objects need to be created for (Witold Szczeponik) - Fixes for two minor mistakes in the ACPI GPIO properties documentation (Antonio Ospite, Rafael J Wysocki)" * tag 'pm+acpi-4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI / PNP: add two IDs to list for PNPACPI device enumeration ACPI / documentation: Fix ambiguity in the GPIO properties document ACPI / documentation: fix a sentence about GPIO resources ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook x86/PCI/ACPI: Make all resources except [io 0xcf8-0xcff] available on PCI bus commit 9a5d9315e41cc0dfc97a3b0a8e222d30566cf3fe Merge: 2c62e84 3349fb6 a00212e 622532b Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu May 7 21:24:34 2015 +0200 Merge branches 'acpi-resources', 'acpi-battery', 'acpi-doc' and 'acpi-pnp' * acpi-resources: x86/PCI/ACPI: Make all resources except [io 0xcf8-0xcff] available on PCI bus * acpi-battery: ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook * acpi-doc: ACPI / documentation: Fix ambiguity in the GPIO properties document ACPI / documentation: fix a sentence about GPIO resources * acpi-pnp: ACPI / PNP: add two IDs to list for PNPACPI device enumeration commit b9a5e5e18fbf223502c0b2264c15024e393da928 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu May 7 21:19:39 2015 +0200 ACPI / init: Fix the ordering of acpi_reserve_resources() Since acpi_reserve_resources() is defined as a device_initcall(), there's no guarantee that it will be executed in the right order with respect to the rest of the ACPI initialization code. On some systems this leads to breakage if, for example, the address range that should be reserved for the ACPI fixed registers is given to the PCI host bridge instead if the race is won by the wrong code path. Fix this by turning acpi_reserve_resources() into a void function and calling it directly from within the ACPI initialization sequence. Reported-and-tested-by: George McCollister <george.mccollister@xxxxxxxxx> Link: http://marc.info/?t=143092384600002&r=1&w=2 Cc: All applicable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 68c2f356c9ec65e1eb50c31690b095673dbd8010 Merge: fbb7b92 7263b1b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 11:18:34 2015 -0700 Merge tag 'for-f2fs-4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs fixes from Jaegeuk Kim: "Fix a performance regression and a bug" * tag 'for-f2fs-4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: f2fs: fix wrong error hanlder in f2fs_follow_link Revert "f2fs: enhance multi-threads performance" commit dc0e3db4ec7c1e73e3283ad39b68eff32b7dc8a1 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue May 5 14:35:49 2015 -0300 ARM: multi_v7_defconfig: Select more FSL SoCs Select IMX50, IMX6SX and LS1021A SoC support. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d68b35f845cc56472fa0d782449ff1549f00ec47 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Apr 29 11:57:18 2015 +0200 MAINTAINERS: replace an AT91 maintainer As some help is needed from an active maintainer, replace Andrew Victor by Alexandre Belloni in the ARM/Atmel MAINTAINERS' entry (aka AT91). Add an entry to the CREDITS file. Thanks Andrew for the great role you played during the early days of this product family. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Andrew Victor <linux@xxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 454be2af5b49612e7f20ceb6683d5809ce848bee Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Apr 28 13:09:32 2015 -0400 drivers: CCI: fix used_mask init in validate_group() Currently in validate_group(), there is a static initializer for fake_pmu.used_mask which is based on CPU_BITS_NONE but the used_mask array size is based on CCI_PMU_MAX_HW_EVENTS. CCI_PMU_MAX_HW_EVENTS is not based on NR_CPUS, so CPU_BITS_NONE is not correct and will cause a build failure if NR_CPUS is set high enough to make CPU_BITS_NONE larger than used_mask. Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit bd1a6e7b47246dd91c02d46f9a373822a1d972cc Merge: 1e5f9ed 11133db Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:28:04 2015 +0200 Merge tag 'stericsson-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into fixes Merge "Ux500 fixes" from Linus Walleij: This fixes an MMC/SD configuration issue present for some time in the Ux500 DT but triggered by proper error handling in v4.1-rc1. * tag 'stericsson-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: ARM: ux500: Enable GPIO regulator for SD-card for snowball ARM: ux500: Enable GPIO regulator for SD-card for HREF boards ARM: ux500: Move GPIO regulator for SD-card into board DTSs commit 1e5f9ed00d72c60f68d8cb75fd7d10abfb5947cd Merge: 443318e0 12392f5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:26:48 2015 +0200 Merge tag 'renesas-fixes-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes Merge "Renesas ARM Based SoC Fixes for v4.1" from Simon Horman: * Fix adv7511 IRQ sensing on koelsch board * tag 'renesas-fixes-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: koelsch: Fix adv7511 IRQ sensing commit 443318e0b776562593f4d4fd770055a9d31add54 Merge: d6ad446 e7309c2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:25:38 2015 +0200 Merge tag 'omap-for-v4.1/fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge "omap fixes against v4.1-rc1" from Tony Lindgren: Fixes for omaps, mostly a fix for power power consumption creeping up during idle, and two l3-noc device fixes: - Fix power consumption creeping up with I2C4 staying on - Fix n900 microphone bias voltages - Fix dra7 l3-noc for host clock - Fix omap5 l3-noc id address decoding The rest are all just minor dts fixes: - Fix changed EXTCON_USB_GPIO_USB in defconfig - Fix missing isp and iva #iommu-cells property - Various beagle x15 dts fixes for pre-production changes - Fix am437x-sk display dts entries * tag 'omap-for-v4.1/fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: bus: omap_l3_noc: Fix master id address decoding for OMAP5 bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance ARM: dts: dra7: Fix efuse register size for ABB ARM: dts: am57xx-beagle-x15: Switch GPIO fan number ARM: dts: am57xx-beagle-x15: Switch UART mux pins ARM: dts: am437x-sk: reduce col-scan-delay-us ARM: dts: am437x-sk: fix for new newhaven display module revision ARM: dts: am57xx-beagle-x15: Fix RTC aliases ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x ARM: dts: omap3: Add #iommu-cells to isp and iva iommu ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO ARM: dts: OMAP3-N900: Add microphone bias voltages ARM: OMAP2+: Fix omap off idle power consumption creeping up commit d6ad446dd75ef58bd383987e35ffd90d564f8080 Merge: 654758a 1de2a66 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:24:32 2015 +0200 Merge tag 'arm-soc/for-4.1/maintainers' of http://github.com/broadcom/stblinux into fixes Merge "MAINTAINERS update for Broadcom SoCs for 4.1 #2" from Florian Fainelli: This pull request contains 3 changes to the MAINTAINERS file for Broadcom SoCs: - add Ray and Scott for mach-bcm - remove Christian for mach-bcm - remove Marc for brcmstb * tag 'arm-soc/for-4.1/maintainers' of http://github.com/broadcom/stblinux: MAINTAINERS: Update brcmstb entry MAINTAINERS: Remove Christian Daudt for mach-bcm MAINTAINERS: Update mach-bcm maintainers list commit 654758ae09b4257f2f79c46ade01f973990d63f0 Merge: 1be518b 750e30d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:23:49 2015 +0200 Merge tag 'mvebu-fixes-4.1' of git://git.infradead.org/linux-mvebu into fixes Pull "mvebu fix for 4.1" from Gregory CLEMENT: Disable the unused internal RTC in the dts of the OpenBlock AX3 * tag 'mvebu-fixes-4.1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC commit 1be518bd0bf77eedf9bbda5d5b25466f615813b2 Merge: c92b83a fc9e38c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:23:00 2015 +0200 Merge tag 'fixes-for-v4.1-rc2' of https://github.com/rjarzmik/linux into fixes Merged "ARM: pxa: fixes for v4.1-rc2" from Robert Jarzmik: These fixes reenable the lubbock(pxa25x) and mainstone(pxa27x) platforms, which were broken since the gpio handling was converted to a driver, and the interrupt ordering broke the external interrupts of these systems. * tag 'fixes-for-v4.1-rc2' of https://github.com/rjarzmik/linux: ARM: pxa: lubbock: use new pxa_cplds driver ARM: pxa: mainstone: use new pxa_cplds driver ARM: pxa: pxa_cplds: add lubbock and mainstone IO commit c92b83a81ad09267619ccd077ddd2a5e321d8a61 Merge: d6bcc80 68ce9a1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:21:57 2015 +0200 Merge tag 'imx-fixes-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes Pull "The i.MX fixes for 4.1" from Shawn Guo: - A couple of imx23-olinuxino device tree fixes regarding to LED GPIO polarity and USB dr_mode setting - One i.MX28 device tree fix on AUART4 TX-DMA interrupt name - Add missing pwm-cells to PWM4 for i.MX25 device tree - Fix imx6q-phytec device tree to get correct USB VBUS control - Drop invalid pinctrl-assert-gpios property from imx6qdl-sabreauto device tree, which was sneaked in from vendor device tree - One fix on Wolfram's broken email address * tag 'imx-fixes-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: dts: imx6qdl-sabreauto: remove pinctrl-assert-gpios ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name ARM: dts: imx25: Add #pwm-cells to pwm4 ARM: dts: imx6: phyFLEX: USB VBUS control is active-high ARM: mach-imx: devices: platform-sdhci-esdhc-imx: fix broken email address ARM: dts: imx23-olinuxino: Fix dr_mode of usb0 ARM: dts: imx23-olinuxino: Fix polarity of LED GPIO commit d6bcc8069b27090f7e5bbe0521774f11c68a7001 Merge: 5ebe6af 2a9fe3c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu May 7 18:19:27 2015 +0200 Merge tag 'v4.1-rockchip-socfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into fixes Merge "ARM: rockchip: some soc-level fixes for 4.1" from Heiko Stübner: Two fixes from Chris Zhong, fixing some suspend oddities. And I've given up on the timer7 issue. While I initially thought devices would either have both the grave mmu issue requiring a uboot update and the timer7 issue or none, it looks like in all units in the field the mmu issue got fixed while the timer7 issue stayed on. So instead of making everybody wanting to use mainline jump through a hoop just make sure timer7 is on on boot before we init the arch-timer. * tag 'v4.1-rockchip-socfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: rockchip: make sure timer7 is enabled on rk3288 platforms ARM: rockchip: fix undefined instruction of reset_ctrl_regs ARM: rockchip: disable dapswjdp during suspend commit fbb7b92f16710a3848db25d0a4a2bb6fb7199061 Merge: 7bbcd1b c5272a2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 08:27:38 2015 -0700 Merge tag 'pinctrl-v4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control fixes from Linus Walleij: "Here is a smallish set of pin control fixes for the v4.1 cycle, collected the last two weeks: - fix a real nasty legacy bug that has screwed up the protection of adding pinctrl maps dynamically. Normally this didn't happen so much but Dough Anderson ran into it and fixed it, kudos! - minor driver fixes for Qualcomm spmi, mediatek and Marvell drivers" * tag 'pinctrl-v4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: Don't just pretend to protect pinctrl_maps, do it for real pinctrl: mediatek: mtk-common: initialize unmask pinctrl: qcom-spmi-mpp: Fix input value report pinctrl: qcom-spmi: Fix pin direction configuration pinctrl: mvebu: Fix mapping of pin 63 (gpo -> gpio) commit 7bbcd1b86dcec982d2d3abec8db5da208b075f52 Merge: 8cb7c15 db7d4d7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 08:18:01 2015 -0700 Merge tag 'vfio-v4.1-rc3' of git://github.com/awilliam/linux-vfio Pull vfio fixes from Alex Williamson: "Fix some undesirable behavior with the vfio device request interface: - increase verbosity of device request channel (Alex Williamson) - fix runaway interruptible timeout (Alex Williamson)" * tag 'vfio-v4.1-rc3' of git://github.com/awilliam/linux-vfio: vfio: Fix runaway interruptible timeout vfio-pci: Log device requests more verbosely commit 12e49feadff6d7b7ebbe852b36943a71524d8d34 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu May 7 15:19:25 2015 +0200 drm/radeon: stop trying to suspend UVD sessions Saving the current UVD state on suspend and restoring it on resume just doesn't work reliable. Just close cleanup all sessions on suspend. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d52cdfa4a0c6406bbfb33206341eaf1fb1555994 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu May 7 15:19:24 2015 +0200 drm/radeon: more strictly validate the UVD codec MPEG 2/4 are only supported since UVD3. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a1b403da70e038ca6c6c6fe434d1d873546873a3 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu May 7 15:19:23 2015 +0200 drm/radeon: make UVD handle checking more strict Invalid messages can crash the hw otherwise. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 29c63fe22a17c64e54016040cd882481bd45ee5a Author: Christian König <christian.koenig@xxxxxxx> Date: Thu May 7 15:19:22 2015 +0200 drm/radeon: make VCE handle check more strict Invalid handles can crash the hw. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 247c405098ab731ad9b58971e2cfbab116b54b45 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue May 5 09:52:12 2015 +0200 drm/radeon: fix userptr lockup We shouldn't try to reserve and wait for a BO that isn't bound. Otherwise we can run into a deadlock if we have a fault during binding the BO. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit db12973cd581d4e79f4aadd0960948f268d15af7 Author: monk.liu <monk.liu@xxxxxxx> Date: Tue May 5 09:24:17 2015 +0200 drm/radeon: fix userptr BO unpin bug v3 Fixing a memory leak with userptrs. v2: clean up the loop, use an iterator instead v3: remove unused variable Signed-off-by: monk.liu <monk.liu@xxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 79b066bd76d501cfe8328142153da301f5ca11d1 Author: Xihan Zhang <xihan.zhang@xxxxxxx> Date: Tue Apr 28 23:48:40 2015 +0800 drm/amdkfd: Initialize sdma vm when creating sdma queue This patch fixes a bug where sdma vm wasn't initialized when an sdma queue was created in HWS mode. This caused GPUVM faults to appear on dmesg and it is one of the causes that SDMA queues are not working. Signed-off-by: Xihan Zhang <xihan.zhang@xxxxxxx> Reviewed-by: Ben Goz <ben.goz@xxxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 42e08c78360e58516b6ac8af18a75a494f2967a2 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Tue May 5 11:15:07 2015 +0300 drm/amdkfd: Don't report local memory size This patch sets the local memory size that is reported to userspace to 0. This is done to make sure that userspace won't try to allocate local memory for HSA. As long as amdkfd doesn't support allocating local memory for HSA, we need this patch. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1e5ec956a057585adaa1365615c82810b2f5356f Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Tue Apr 14 14:13:18 2015 +0300 drm/amdkfd: allow unregister process with queues Sometimes we might unregister process that have queues, because we couldn't preempt the queues. Until now we blocked it with BUG_ON but instead just print it as debug. Reviewed-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8cb7c15b32545f9e7c4f72ffa357353109967a7a Merge: 0e1dc42 b6b2bbe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu May 7 07:04:33 2015 -0700 Merge tag 'for-linus' of git://github.com/dledford/linux Pull infiniband updates from Doug Ledford: "Minor updates for 4.1-rc Most of the changes are fairly small and well confined. The iWARP address reporting changes are the only ones that are a medium size. I had these queued up prior to rc1, but due to the shuffle in maintainers, they did not get submitted when I expected. My apologies for that. I feel comfortable with them however due to the testing they've received, so I left them in this submission" * tag 'for-linus' of git://github.com/dledford/linux: MAINTAINERS: Update InfiniBand subsystem maintainer MAINTAINERS: add include/rdma/ to InfiniBand subsystem IPoIB/CM: Fix indentation level iw_cxgb4: Remove negative advice dmesg warnings IB/core: Fix unaligned accesses IB/core: change rdma_gid2ip into void function as it always return zero IB/qib: use arch_phys_wc_add() IB/qib: add acounting for MTRR IB/core: dma unmap optimizations IB/core: dma map/unmap locking optimizations RDMA/cxgb4: Report the actual address of the remote connecting peer RDMA/nes: Report the actual address of the remote connecting peer RDMA/core: Enable the iWarp Port Mapper to provide the actual address of the connecting peer to its clients iw_cxgb4: enforce qp/cq id requirements iw_cxgb4: use BAR2 GTS register for T5 kernel mode CQs iw_cxgb4: 32b platform fixes iw_cxgb4: Cleanup register defines/MACROS RDMA/CMA: Canonize IPv4 on IPV6 sockets properly commit 736a69ca8c99a595a523d2fece66491b89168da6 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu May 7 11:16:26 2015 +0100 drm/i915: Drop PIPE-A quirk for 945GSE HP Mini Since the introduction of BIOS fb preservation, circa 3.17, we began encountering a failure during boot when trying to use force-detect before GEM was initialised. That bug is from commit 7fad798e16fecddd41c6a91728a09f0b9507e40c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 4 17:51:47 2012 +0200 drm/i915: ensure the force pipe A quirk is actually followed but investigation of the affected machine revealed that it was using a PIPE-A quirk even though it was a 945GSE and the quirk is only supposed to be used to workaround a hardware issue on 830/845. That quirk was added for this HP Mini in commit 6b93afc564a5e74b0eaaa46c95f557449951b3b9 Author: Bryce Harrington <bryce@xxxxxxxxxxxxxxxxxxx> Date: Wed May 27 03:40:52 2009 -0700 add pipe a force quirk for Dell mini in order to workaround an issue with the BIOS behaving strangely during lid-close. Since then we have a much larger hammer to thwart the BIOS after opening the lid and the PIPE-A quirk is no longer required. Reported-and-tested-by: Apostolos B. <barz621@xxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=21960 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=87521 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 2439fc4d71f71b47c8ace1f42eb46039222282a0 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Mon Apr 13 18:15:11 2015 +0900 igb: Fix NULL assignment to incorrect variable in igb_reset_q_vector adapter->tx_ring is set to NULL where rx_ring should be. Fixes: 5536d2102a2d ("igb: Combine q_vector and ring allocation into a single function") Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c0a06ee185f2b785c7bd44c4fb6fcae80f7d1a54 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Mon Apr 13 18:15:10 2015 +0900 igb: Fix oops on changing number of rings When changing the number of rings by ethtool -L, q_vectors are reused, which causes oops because of uninitialized pointers. - When an rx is reused as a tx, q_vector->rx.ring is not set to NULL, which misleads igb_poll() to determine that it has an rx ring although it actually points to the tx ring. - When a tx is reused as an rx, q_vector->rx.ring->skb (q_vector->ring[0].skb) has a value that was used as tx_stats before. Fix these problems by zeroing it out on reuseing it. Fixes: 02ef6e1d0b00 ("igb: Fix queue allocation method to accommodate changing during runtime") Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit af77b9741300616e7d04264d0ee7ac9f8abb448f Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu May 7 13:59:28 2015 +0530 drm/i915: Sink rate read should be saved in deca-kHz The sink rate read from supported link rate table is in KHz as per spec while in drm, the saved clock is in deca-KHz. So divide the link rate by 10 before storing. Reading of rates was added by: commit fc0f8e25318f ("drm/i915/skl: Read sink supported rates from edp panel") Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ec59a65d694e5fd99d76565b93468c99ae8dff79 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed May 6 15:54:32 2015 +0200 crypto: arm64/sha2-ce - prevent asm code finalization in final() path Ensure that the asm code finalization path is not triggered when invoked via final(), since it already takes care of that itself. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bf7883ebcb9c0880b8f5d22c1435a3de15283f0a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed May 6 15:54:31 2015 +0200 crypto: arm64/sha1-ce - prevent asm code finalization in final() path Ensure that the asm code finalization path is not triggered when invoked via final(), since it already takes care of that itself. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ac02c6ea6b404461829697792cd2b67f6a14d28a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon May 4 11:00:16 2015 +0200 crypto: arm64/crc32 - bring in line with generic CRC32 The arm64 CRC32 (not CRC32c) implementation was not quite doing the same thing as the generic one. Fix that. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Steve Capper <steve.capper@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ac01ce1410fc2c7b5f3af5e9c972e6a412eee54f Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Wed Apr 29 16:18:46 2015 +0100 tracing: Make ftrace_print_array_seq compute buf_len The only caller to this function (__print_array) was getting it wrong by passing the array length instead of buffer length. As the element size was already being passed for other reasons it seems reasonable to push the calculation of buffer length into the function. Link: http://lkml.kernel.org/r/1430320727-14582-1-git-send-email-alex.bennee@xxxxxxxxxx Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 1d3c61c2eb3fe4f96d3192212f1bdcee49ea55aa Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed May 6 11:17:01 2015 +0100 Btrfs: fix wrong mapping flags for free space inode We were passing a flags value that differed from the intention in commit 2b108268006e ("Btrfs: don't use highmem for free space cache pages"). This caused problems in a ARM machine, leaving btrfs unusable there. Reported-by: Merlijn Wajer <merlijn@xxxxxxxxxx> Tested-by: Merlijn Wajer <merlijn@xxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0e1dc4274828f64fcb56fc7b950acdc5ff7a395f Merge: 3d54ac9 8746515 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed May 6 15:58:06 2015 -0700 Merge tag 'for-linus-4.1b-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen bug fixes from David Vrabel: - fix blkback regression if using persistent grants - fix various event channel related suspend/resume bugs - fix AMD x86 regression with X86_BUG_SYSRET_SS_ATTRS - SWIOTLB on ARM now uses frames <4 GiB (if available) so device only capable of 32-bit DMA work. * tag 'for-linus-4.1b-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen: Add __GFP_DMA flag when xen_swiotlb_init gets free pages on ARM hypervisor/x86/xen: Unset X86_BUG_SYSRET_SS_ATTRS on Xen PV guests xen/events: Set irq_info->evtchn before binding the channel to CPU in __startup_pirq() xen/console: Update console event channel on resume xen/xenbus: Update xenbus event channel on resume xen/events: Clear cpu_evtchn_mask before resuming xen-pciback: Add name prefix to global 'permissive' variable xen: Suspend ticks on all CPUs during suspend xen/grant: introduce func gnttab_unmap_refs_sync() xen/blkback: safely unmap purge persistent grants commit 3d54ac9e35a69d19381420bb2fa1702d5bf73846 Merge: d8fce2d c88d474 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed May 6 10:57:37 2015 -0700 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Ingo Molnar: "EFI fixes, and FPU fix, a ticket spinlock boundary condition fix and two build fixes" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/fpu: Always restore_xinit_state() when use_eager_cpu() x86: Make cpu_tss available to external modules efi: Fix error handling in add_sysfs_runtime_map_entry() x86/spinlocks: Fix regression in spinlock contention detection x86/mm: Clean up types in xlate_dev_mem_ptr() x86/efi: Store upper bits of command line buffer address in ext_cmd_line_ptr efivarfs: Ensure VariableName is NUL-terminated commit d8fce2db7220fc46067c825fc417fb295eac7d0a Merge: 02f0f57 74f40c1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed May 6 10:47:25 2015 -0700 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf fixes from Ingo Molnar: "Mostly tooling fixes, but also an uncore PMU driver fix and an uncore PMU driver hardware-enablement addition" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf probe: Fix segfault if passed with ''. perf report: Fix -T/--threads option to work again perf bench numa: Fix immediate meeting of convergence condition perf bench numa: Fixes of --quiet argument perf bench futex: Fix hung wakeup tasks after requeueing perf probe: Fix bug with global variables handling perf top: Fix a segfault when kernel map is restricted. tools lib traceevent: Fix build failure on 32-bit arch perf kmem: Fix compiles on RHEL6/OL6 tools lib api: Undefine _FORTIFY_SOURCE before setting it perf kmem: Consistently use PRIu64 for printing u64 values perf trace: Disable events and drain events when forked workload ends perf trace: Enable events when doing system wide tracing and starting a workload perf/x86/intel/uncore: Move PCI IDs for IMC to uncore driver perf/x86/intel/uncore: Add support for Intel Haswell ULT (lower power Mobile Processor) IMC uncore PMUs perf/x86/intel: Add cpu_(prepare|starting|dying) for core_pmu commit 02f0f5721e2c2791f57767c18a8ab94cdf48849d Merge: 5198b443 cb0f3f3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed May 6 10:26:37 2015 -0700 Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RCU fix from Ingo Molnar: "An RCU Kconfig fix that eliminates an annoying interactive kconfig question for CONFIG_RCU_TORTURE_TEST_SLOW_INIT" * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: rcu: Control grace-period delays directly from value commit 0ff28d9f4674d781e492bcff6f32f0fe48cf0fed Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Wed May 6 17:26:47 2015 +0200 splice: sendfile() at once fails for big files Using sendfile with below small program to get MD5 sums of some files, it appear that big files (over 64kbytes with 4k pages system) get a wrong MD5 sum while small files get the correct sum. This program uses sendfile() to send a file to an AF_ALG socket for hashing. /* md5sum2.c */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <fcntl.h> #include <sys/socket.h> #include <sys/stat.h> #include <sys/types.h> #include <linux/if_alg.h> int main(int argc, char **argv) { int sk = socket(AF_ALG, SOCK_SEQPACKET, 0); struct stat st; struct sockaddr_alg sa = { .salg_family = AF_ALG, .salg_type = "hash", .salg_name = "md5", }; int n; bind(sk, (struct sockaddr*)&sa, sizeof(sa)); for (n = 1; n < argc; n++) { int size; int offset = 0; char buf[4096]; int fd; int sko; int i; fd = open(argv[n], O_RDONLY); sko = accept(sk, NULL, 0); fstat(fd, &st); size = st.st_size; sendfile(sko, fd, &offset, size); size = read(sko, buf, sizeof(buf)); for (i = 0; i < size; i++) printf("%2.2x", buf[i]); printf(" %s\n", argv[n]); close(fd); close(sko); } exit(0); } Test below is done using official linux patch files. First result is with a software based md5sum. Second result is with the program above. root@vgoip:~# ls -l patch-3.6.* -rw-r--r-- 1 root root 64011 Aug 24 12:01 patch-3.6.2.gz -rw-r--r-- 1 root root 94131 Aug 24 12:01 patch-3.6.3.gz root@vgoip:~# md5sum patch-3.6.* b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz c5e8f687878457db77cb7158c38a7e43 patch-3.6.3.gz root@vgoip:~# ./md5sum2 patch-3.6.* b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz 5fd77b24e68bb24dcc72d6e57c64790e patch-3.6.3.gz After investivation, it appears that sendfile() sends the files by blocks of 64kbytes (16 times PAGE_SIZE). The problem is that at the end of each block, the SPLICE_F_MORE flag is missing, therefore the hashing operation is reset as if it was the end of the file. This patch adds SPLICE_F_MORE to the flags when more data is pending. With the patch applied, we get the correct sums: root@vgoip:~# md5sum patch-3.6.* b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz c5e8f687878457db77cb7158c38a7e43 patch-3.6.3.gz root@vgoip:~# ./md5sum2 patch-3.6.* b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz c5e8f687878457db77cb7158c38a7e43 patch-3.6.3.gz Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c5272a28566b00cce79127ad382406e0a8650690 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri May 1 09:01:27 2015 -0700 pinctrl: Don't just pretend to protect pinctrl_maps, do it for real Way back, when the world was a simpler place and there was no war, no evil, and no kernel bugs, there was just a single pinctrl lock. That was how the world was when (57291ce pinctrl: core device tree mapping table parsing support) was written. In that case, there were instances where the pinctrl mutex was already held when pinctrl_register_map() was called, hence a "locked" parameter was passed to the function to indicate that the mutex was already locked (so we shouldn't lock it again). A few years ago in (42fed7b pinctrl: move subsystem mutex to pinctrl_dev struct), we switched to a separate pinctrl_maps_mutex. ...but (oops) we forgot to re-think about the whole "locked" parameter for pinctrl_register_map(). Basically the "locked" parameter appears to still refer to whether the bigger pinctrl_dev mutex is locked, but we're using it to skip locks of our (now separate) pinctrl_maps_mutex. That's kind of a bad thing(TM). Probably nobody noticed because most of the calls to pinctrl_register_map happen at boot time and we've got synchronous device probing. ...and even cases where we're asynchronous don't end up actually hitting the race too often. ...but after banging my head against the wall for a bug that reproduced 1 out of 1000 reboots and lots of looking through kgdb, I finally noticed this. Anyway, we can now safely remove the "locked" parameter and go back to a war-free, evil-free, and kernel-bug-free world. Fixes: 42fed7ba44e4 ("pinctrl: move subsystem mutex to pinctrl_dev struct") Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8746515d7f04c9ea94cf43e2db1fd2cfca93276d Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Fri Apr 24 10:16:40 2015 +0100 xen: Add __GFP_DMA flag when xen_swiotlb_init gets free pages on ARM Make sure that xen_swiotlb_init allocates buffers that are DMA capable when at least one memblock is available below 4G. Otherwise we assume that all devices on the SoC can cope with >4G addresses. We do this on ARM and ARM64, where dom0 is mapped 1:1, so pfn == mfn in this case. No functional changes on x86. From: Chen Baozi <baozich@xxxxxxxxx> Signed-off-by: Chen Baozi <baozich@xxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Tested-by: Chen Baozi <baozich@xxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d2d05c65c40e067ca5898399069053f095c67d6f Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Apr 23 16:54:17 2015 -0700 gpio: omap: Fix regression for MPUIO interrupts At some point with all the GPIO clean-up we've broken the MPUIO interrupts. Those are just a little bit different from the GPIO interrupts, so we can fix it up just by setting different irqchip functions for it. And then we can just remove all old code trying to do the same. Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Cc: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4e93b9a6abc0d028daf3c8a00cb77b679d8a4df4 Author: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Date: Tue Aug 12 12:01:30 2014 +0800 mmc: card: Don't access RPMB partitions for normal read/write During kernel boot, it will try to read some logical sectors of each block device node for the possible partition table. But since RPMB partition is special and can not be accessed by normal eMMC read / write CMDs, it will cause below error messages during kernel boot: ... mmc0: Got data interrupt 0x00000002 even though no data operation was in progress. mmcblk0rpmb: error -110 transferring data, sector 0, nr 32, cmd response 0x900, card status 0xb00 mmcblk0rpmb: retrying using single block read mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900 end_request: I/O error, dev mmcblk0rpmb, sector 0 Buffer I/O error on device mmcblk0rpmb, logical block 0 end_request: I/O error, dev mmcblk0rpmb, sector 8 Buffer I/O error on device mmcblk0rpmb, logical block 1 end_request: I/O error, dev mmcblk0rpmb, sector 16 Buffer I/O error on device mmcblk0rpmb, logical block 2 end_request: I/O error, dev mmcblk0rpmb, sector 24 Buffer I/O error on device mmcblk0rpmb, logical block 3 ... This patch will discard the access request in eMMC queue if it is RPMB partition access request. By this way, it avoids trigger above error messages. Fixes: 090d25fe224c ("mmc: core: Expose access to RPMB partition") Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Tested-by: Michael Shigorin <mike@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bad4371d87d1d1ed1aecd9c9cc21c41ac3f289c8 Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Date: Thu Apr 30 02:03:51 2015 +0900 mmc: sh_mmcif: Fix timeout value for command request f9fd54f22e ("mmc: sh_mmcif: Use msecs_to_jiffies() for host->timeout") changed the timeout value from 1000 jiffies to 1s. In the case where HZ is 1000 the values are the same. However, for smaller HZ values the timeout is now smaller, 1s instead of 10s in the case of HZ=100. Since the timeout occurs in spite of a normal data transfer a timeout of 10s seems more appropriate. This restores the previous timeout in the case where HZ=100 and results in an increase over the previous timeout for larger values of HZ. Fixes: f9fd54f22e ("mmc: sh_mmcif: Use msecs_to_jiffies() for host->timeout") Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> [horms: rewrote changelog to refer to HZ] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c88d47480d300eaad80c213d50c9bf6077fc49bc Author: Bobby Powers <bobbypowers@xxxxxxxxx> Date: Mon Apr 27 08:10:41 2015 -0700 x86/fpu: Always restore_xinit_state() when use_eager_cpu() The following commit: f893959b0898 ("x86/fpu: Don't abuse drop_init_fpu() in flush_thread()") removed drop_init_fpu() usage from flush_thread(). This seems to break things for me - the Go 1.4 test suite fails all over the place with floating point comparision errors (offending commit found through bisection). The functional change was that flush_thread() after this commit only calls restore_init_xstate() when both use_eager_fpu() and !used_math() are true. drop_init_fpu() (now fpu_reset_state()) calls restore_init_xstate() regardless of whether current used_math() - apply the same logic here. Switch used_math() -> tsk_used_math(tsk) to consistently use the grabbed tsk instead of current, like in the rest of flush_thread(). Tested-by: Dave Hansen <dave.hansen@xxxxxxxxx> Signed-off-by: Bobby Powers <bobbypowers@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: f893959b ("x86/fpu: Don't abuse drop_init_fpu() in flush_thread()") Link: http://lkml.kernel.org/r/1430147441-9820-1-git-send-email-bobbypowers@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9fcb1704d1d51b12e2f03c78bca013d0cbbb7c98 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue May 5 16:32:12 2015 +0300 drm/i915/dp: there is no audio on port A The eDP port A register on PCH split platforms has a slightly different register layout from the other ports, with bit 6 being either alternate scrambler reset or reserved, depending on the generation. Our misinterpretation of the bit as audio has lead to warning. Fix this by not enabling audio on port A, since none of our platforms support audio on port A anyway. v2: DDI doesn't have audio on port A either (Sivakumar Thulasimani) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89958 Reported-and-tested-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c102cb097d9371c2c60049d041ab1f8bdca5ccc2 Merge: de71ad2 d67e199 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed May 6 08:29:37 2015 +0200 Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into x86/urgent Pull EFI fixes from Matt Fleming: * Avoid garbage names in efivarfs due to buggy firmware by zeroing EFI variable name. (Ross Lagerwall) * Stop erroneously dropping upper 32 bits of boot command line pointer in EFI boot stub and stash them in ext_cmd_line_ptr. (Roy Franz) * Fix double-free bug in error handling code path of EFI runtime map code. (Dan Carpenter) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 74f40c1f437674f5ab4a3977f1894ea6db535dee Merge: 8cc67c3 e59d29e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed May 6 04:54:11 2015 +0200 Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/urgent fixes from Arnaldo Carvalho de Melo: - Fix 'perf probe -a' segfault if passed with '' (Wang Nan) - Fix report -T/--threads option (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5198b44374adb3f6143459a03c37f103f8a09548 Merge: 2a171aa 3d69d43 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 19:42:01 2015 -0700 Merge tag 'for-linus-4.1-1' of git://git.code.sf.net/p/openipmi/linux-ipmi Pull IPMI fixes from Corey Minyard: "Lots of minor IPMI fixes, especially ones that have have come up since the SSIF driver has been in the main kernel for a while" * tag 'for-linus-4.1-1' of git://git.code.sf.net/p/openipmi/linux-ipmi: ipmi: Fix multi-part message handling ipmi: Add alert handling to SSIF ipmi: Fix a problem that messages are not issued in run_to_completion mode ipmi: Report an error if ACPI _IFT doesn't exist ipmi: Remove unused including <linux/version.h> ipmi: Don't report err in the SI driver for SSIF devices ipmi: Remove incorrect use of seq_has_overflowed ipmi:ssif: Ignore spaces when comparing I2C adapter names ipmi_ssif: Fix the logic on user-supplied addresses commit 2a171aa21afcd43f6cee574154d8c8db905351e5 Merge: 3ce05a4 489405f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 18:52:13 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge misc fixes from Andrew Morton: "16 patches This includes a new rtc driver for the Abracon AB x80x and isn't very appropriate for -rc2. It was still being fiddled with a bit during the merge window and I fell asleep during -rc1" [ So I took the new driver, it seems small and won't regress anything. I'm a softy. - Linus ] * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: rtc: armada38x: fix concurrency access in armada38x_rtc_set_time ocfs2: dlm: fix race between purge and get lock resource nilfs2: fix sanity check of btree level in nilfs_btree_root_broken() util_macros.h: have array pointer point to array of constants configfs: init configfs module earlier at boot time mm/hwpoison-inject: check PageLRU of hpage mm/hwpoison-inject: fix refcounting in no-injection case mm: soft-offline: fix num_poisoned_pages counting on concurrent events rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc Documentation: bindings: add abracon,abx80x kasan: show gcc version requirements in Kconfig and Documentation mm/memory-failure: call shake_page() when error hits thp tail page lib: delete lib/find_last_bit.c MAINTAINERS: add co-maintainer for LED subsystem zram: add Designated Reviewer for zram in MAINTAINERS revert "zram: move compact_store() to sysfs functions area" commit 3ce05a4e740539a3e9d48456e2b046b7240df3ff Merge: d9cee5d df6dd1b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 18:14:04 2015 -0700 Merge tag 'platform-drivers-x86-v4.1-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull x86 platform driver fixes from Darren Hart: "This includes a trivial warning and adding a Lenovo laptop to an existing quirk. I've held off on things like the latter in the past, but I didn't feel it was risky enough to push out to 4.2. - thinkpad_acpi: Fix warning for static not at beginning - ideapad_laptop: Add Lenovo G40-30 to devices without radio switch" * tag 'platform-drivers-x86-v4.1-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: thinkpad_acpi: Fix warning for static not at beginning ideapad_laptop: Add Lenovo G40-30 to devices without radio switch commit 3d69d43baa2749c3d187ce70940d7aebe609e149 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Wed Apr 29 17:59:21 2015 -0500 ipmi: Fix multi-part message handling Lots of little fixes for multi-part messages: The values was not being re-initialized, if something went wrong handling a multi-part message and it got left in a bad state, it might be an issue. The commands were not correct when issuing multi-part reads, the code was not passing in the proper value for commands. Also clean up some minor formatting issues. Get the block number from the right location, limit the maximum send message size to 63 bytes and explain why, and fix some minor sylistic issues. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 9162052173d2381e2bbabc224c3c1457acb4c54c Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Fri Apr 24 07:46:06 2015 -0500 ipmi: Add alert handling to SSIF The SSIF interface can optionally have an SMBus alert come in when data is ready. Unfortunately, the IPMI spec gives wiggle room to the implementer to allow them to always have the alert enabled, even if the driver doesn't enable it. So implement alerts. If you don't in this situation, the SMBus alert handling will constantly complain. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 9f8127048ab8b47b43f8aeaaec9fec2da44be9a1 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Thu Apr 23 11:16:44 2015 +0900 ipmi: Fix a problem that messages are not issued in run_to_completion mode start_next_msg() issues a message placed in smi_info->waiting_msg if it is non-NULL. However, sender() sets a message to smi_info->curr_msg and NULL to smi_info->waiting_msg in the context of run_to_completion mode. As the result, it leads an infinite loop by waiting the completion of unissued message when leaving dying message after kernel panic. sender() should set the message to smi_info->waiting_msg not curr_msg. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit a182a4b2b3e85a559ea2cd3545f4311db41325f2 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Wed Apr 22 13:25:40 2015 -0500 ipmi: Report an error if ACPI _IFT doesn't exist When probing an ACPI table, report a specific error, instead of just returning an error, if _IFT doesn't exist. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 15c5725e6b86cb8dfc4ca655a22005cc678a6f6f Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 21:09:53 2015 +0800 ipmi: Remove unused including <linux/version.h> Remove including <linux/version.h> that don't need it. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 489405fe5ed38e65f6f82f131a39c67f3bae6045 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue May 5 16:24:05 2015 -0700 rtc: armada38x: fix concurrency access in armada38x_rtc_set_time While setting the time, the RTC TIME register should not be accessed. However due to hardware constraints, setting the RTC time involves sleeping during 100ms. This sleep was done outside the critical section protected by the spinlock, so it was possible to read the RTC TIME register and get an incorrect value. This patch introduces a mutex for protecting the RTC TIME access, unlike the spinlock it is allowed to sleep in a critical section protected by a mutex. The RTC STATUS register can still be used from the interrupt handler but it has no effect on setting the time. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [4.0] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b1432a2a35565f538586774a03bf277c27fc267d Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Date: Tue May 5 16:24:02 2015 -0700 ocfs2: dlm: fix race between purge and get lock resource There is a race window in dlm_get_lock_resource(), which may return a lock resource which has been purged. This will cause the process to hang forever in dlmlock() as the ast msg can't be handled due to its lock resource not existing. dlm_get_lock_resource { ... spin_lock(&dlm->spinlock); tmpres = __dlm_lookup_lockres_full(dlm, lockid, namelen, hash); if (tmpres) { spin_unlock(&dlm->spinlock); >>>>>>>> race window, dlm_run_purge_list() may run and purge the lock resource spin_lock(&tmpres->spinlock); ... spin_unlock(&tmpres->spinlock); } } Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d8fd150fe3935e1692bf57c66691e17409ebb9c1 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Tue May 5 16:24:00 2015 -0700 nilfs2: fix sanity check of btree level in nilfs_btree_root_broken() The range check for b-tree level parameter in nilfs_btree_root_broken() is wrong; it accepts the case of "level == NILFS_BTREE_LEVEL_MAX" even though the level is limited to values in the range of 0 to (NILFS_BTREE_LEVEL_MAX - 1). Since the level parameter is read from storage device and used to index nilfs_btree_path array whose element count is NILFS_BTREE_LEVEL_MAX, it can cause memory overrun during btree operations if the boundary value is set to the level parameter on device. This fixes the broken sanity check and adds a comment to clarify that the upper bound NILFS_BTREE_LEVEL_MAX is exclusive. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 05836c378c7af9527b98a83746f32c7289a5f3c8 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue May 5 16:23:57 2015 -0700 util_macros.h: have array pointer point to array of constants Using the new find_closest() macro can result in the following sparse warnings. drivers/hwmon/lm85.c:194:16: warning: incorrect type in initializer (different modifiers) drivers/hwmon/lm85.c:194:16: expected int *__fc_a drivers/hwmon/lm85.c:194:16: got int static const [toplevel] *<noident> drivers/hwmon/lm85.c:210:16: warning: incorrect type in initializer (different modifiers) drivers/hwmon/lm85.c:210:16: expected int *__fc_a drivers/hwmon/lm85.c:210:16: got int const *map This is because the array passed to find_closest() will typically be declared as array of constants, but the macro declares a non-constant pointer to it. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f5b697700c86d7d01489202bfd37d86665754afd Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Tue May 5 16:23:54 2015 -0700 configfs: init configfs module earlier at boot time We need this earlier in the boot process to allow various subsystems to use configfs (e.g Industrial IIO). Also, debugfs is at core_initcall level and configfs should be on the same level from infrastructure point of view. Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Suggested-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e386eed89c764f102fcc3c0d4c78c65a357f7399 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue May 5 16:23:52 2015 -0700 mm/hwpoison-inject: check PageLRU of hpage Hwpoison injector checks PageLRU of the raw target page to find out whether the page is an appropriate target, but current code now filters out thp tail pages, which prevents us from testing for such cases via this interface. So let's check hpage instead of p. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Dean Nelson <dnelson@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7ea434a4eb49db83d17cc076f2267704c52938ae Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue May 5 16:23:49 2015 -0700 mm/hwpoison-inject: fix refcounting in no-injection case Hwpoison injection via debugfs:hwpoison/corrupt-pfn takes a refcount of the target page. But current code doesn't release it if the target page is not supposed to be injected, which results in memory leak. This patch simply adds the refcount releasing code. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Dean Nelson <dnelson@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 602498f9aa43d4951eece3fd6ad95a6d0a78d537 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue May 5 16:23:46 2015 -0700 mm: soft-offline: fix num_poisoned_pages counting on concurrent events If multiple soft offline events hit one free page/hugepage concurrently, soft_offline_page() can handle the free page/hugepage multiple times, which makes num_poisoned_pages counter increased more than once. This patch fixes this wrong counting by checking TestSetPageHWPoison for normal papes and by checking the return value of dequeue_hwpoisoned_huge_page() for hugepages. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Dean Nelson <dnelson@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.14+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4d61ff6b9960cb00cf2c12abd5769aa2dd475415 Author: Philippe De Muyter <phdm@xxxxxxxxx> Date: Tue May 5 16:23:44 2015 -0700 rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc This is a basic driver for the ultra-low-power Abracon AB x80x series of RTC chips. It supports in particular, the supersets AB0805 and AB1805. It allows reading and writing the time, and enables the supercapacitor/ battery charger. [arnd@xxxxxxxx: abx805 depends on i2c] [alexandre.belloni@xxxxxxxxxxxxxxxxxx: renam buffer from date to buf in abx80x_rtc_read_time()] Signed-off-by: Philippe De Muyter <phdm@xxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c71f1e05e62f3eb843b6458eeb7298f269b34b1e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue May 5 16:23:41 2015 -0700 Documentation: bindings: add abracon,abx80x Document the bindings for abracon,abx80x and related compatibles. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Philippe De Muyter <phdm@xxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01e76903f655a4d88c2e09d3182436c65f6e1213 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 16:23:38 2015 -0700 kasan: show gcc version requirements in Kconfig and Documentation The documentation shows a need for gcc > 4.9.2, but it's really >=. The Kconfig entries don't show require versions so add them. Correct a latter/later typo too. Also mention that gcc 5 required to catch out of bounds accesses to global and stack variables. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 09789e5de18e4e442870b2d700831f5cb802eb05 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue May 5 16:23:35 2015 -0700 mm/memory-failure: call shake_page() when error hits thp tail page Currently memory_failure() calls shake_page() to sweep pages out from pcplists only when the victim page is 4kB LRU page or thp head page. But we should do this for a thp tail page too. Consider that a memory error hits a thp tail page whose head page is on a pcplist when memory_failure() runs. Then, the current kernel skips shake_pages() part, so hwpoison_user_mappings() returns without calling split_huge_page() nor try_to_unmap() because PageLRU of the thp head is still cleared due to the skip of shake_page(). As a result, me_huge_page() runs for the thp, which is broken behavior. One effect is a leak of the thp. And another is to fail to isolate the memory error, so later access to the error address causes another MCE, which kills the processes which used the thp. This patch fixes this problem by calling shake_page() for thp tail case. Fixes: 385de35722c9 ("thp: allow a hwpoisoned head page to be put back to LRU") Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Dean Nelson <dnelson@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Jin Dongming <jin.dongming@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.4+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d616e4ddb9c0754ed6245a43332d5b867e4db11 Author: Yury Norov <yury.norov@xxxxxxxxx> Date: Tue May 5 16:23:33 2015 -0700 lib: delete lib/find_last_bit.c The file lib/find_last_bit.c was no longer used and supposed to be deleted by commit 8f6f19dd51 ("lib: move find_last_bit to lib/find_next_bit.c") but that delete didn't happen. This gets rid of it. Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 48b945a19cf6e7e548b2ce545ec88f93284ab276 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 16:23:30 2015 -0700 MAINTAINERS: add co-maintainer for LED subsystem Add myself (Jacek Anaszewski) as a co-maintainer for the LED subsystem. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 74f3037c4015f3a440dc4cb4e31477875fa9791c Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Tue May 5 16:23:28 2015 -0700 zram: add Designated Reviewer for zram in MAINTAINERS Sergey Senozhatsky has contributed/reviewed to zram for a long time. He is really helpful for maintaining zram so I want for him to continue helping me as Designated Reviewer unless he hates it. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 99ebbd30e3640f6addb37f222b4d6ad4b807d9ea Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 16:23:25 2015 -0700 revert "zram: move compact_store() to sysfs functions area" Revert commit c72c6160d967ed26a0b136dbab337f821d233509 It was intended to be a cosmetic change that w/o any functional change and was part of a bigger change: http://lkml.iu.edu/hypermail/linux/kernel/1503.1/01818.html Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 31ccd0e66d41f73cfc21a8de976e713455205228 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Apr 29 16:20:58 2015 -0700 tcp_westwood: fix tcp_westwood_info() I forgot to update tcp_westwood when changing get_info() behavior, this patch should fix this. Fixes: 64f40ff5bbdb ("tcp: prepare CC get_info() access from getsockopt()") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53ee1033ac1693d72f8c52e28f957697b021f6b4 Merge: c967a08 f673821 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue May 5 19:41:33 2015 -0400 Merge tag 'wireless-drivers-for-davem-2015-05-05' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers Kalle Valo says: ==================== iwlwifi: * fix firmware API for -13.ucode * fix RSSI handling that avoid bad roaming decision * fix firmware debug * fix MFUART operation * fix ASSERT while restart the hardware (because of another ASSERT e.g) ath9k: * fix per-packet tx power configuration rtlwifi: * rtl8192cu: Fix kernel deadlock ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c967a0873a7836c7a77bf611f1c7d3f47c554c45 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue May 5 09:06:30 2015 -0700 mpls: Move reserved label definitions Move to include/uapi/linux/mpls.h to be externally visibile. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc321ed2db8ee03b2f2ba809286d3bf4eef1e5e0 Merge: 7aab515 2d3c739 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue May 5 19:39:13 2015 -0400 Merge branch 'mlx4' Or Gerlitz says: ==================== mlx4 fixes for 4.1-rc2 Eran's fix is for a small off-by-one introduces on 4.1-rc1. Yisahi fixes an issue with comes into play only on VMs with many (> 256) vCPUs. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d3c739739e64619f4846746a06ff0a6adf8a155 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue May 5 17:07:12 2015 +0300 net/mlx4_core: Work properly with EQ numbers > 256 in SRIOV The Firmware uses dynamic EQs allocation based on number of VFs and max EQs that can be allocated. As a result, VF can have EQ numbers that are larger than 256. According to the firmware spec, the max value is limited to be 1024 (10 bits), adapt the relevant code accordingly. This bug was impossible to hit prior to commit 7ae0e400cd93 ("net/mlx4_core: Flexible (asymmetric) allocation of EQs and MSI-X vectors for PF/VFs") which actually enables large number of EQs for VFs. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cae0633872fc8b0c34930dd2862856563bce58ec Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Tue May 5 17:07:11 2015 +0300 net/mlx4_en: Fix off-by-one in counters manipulation This caused the en_stats_adder helper to accumulate a field which is not related to the counter, fix that. Fixes: a3333b35da16 ('net/mlx4_en: Moderate ethtool callback to show [..]') Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7aab5159fa0100ee3f80d1b0f55cd7e9b5823270 Author: Jerry Snitselaar <jsnitsel@xxxxxxxxxx> Date: Mon May 4 10:57:16 2015 -0700 hv_netvsc: remove unused variable in netvsc_send() With commit b56fc3c53654 ("hv_netvsc: Fix a bug in netvsc_start_xmit()"), skb variable is no longer used in netvsc_send. Remove variable and dead code that depended on it. Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Jerry Snitselaar <jsnitsel@xxxxxxxxxx> Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df6dd1b35b0ec0ac6a5298378ceaf487091f448c Author: Jean Delvare <jdelvare@xxxxxxx> Date: Mon Apr 27 09:45:06 2015 +0200 thinkpad_acpi: Fix warning for static not at beginning Fix the following warning: warning: "static" is not at beginning of declaration void static hotkey_mask_warn_incomplete_mask(void) ^ Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Henrique de Moraes Holschuh <ibm-acpi@xxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit b1e65e71535aa128089d4cb1b6d90db7551fcb05 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Fri Apr 10 20:19:18 2015 -0500 ipmi: Don't report err in the SI driver for SSIF devices Really ignore them by returning -ENODEV from the probe, but not doing anything. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 5e33cd0c5a299772b5ec1a493f0a77548664ae06 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Feb 22 10:21:07 2015 -0800 ipmi: Remove incorrect use of seq_has_overflowed commit d6c5dc18d863 ("ipmi: Remove uses of return value of seq_printf") incorrectly changed the return value of various proc_show functions to use seq_has_overflowed(). These functions should return 0 on completion rather than 1/true on overflow. 1 is the same as #define SEQ_SKIP which would cause the output to not be emitted (skipped) instead. This is a logical defect only as the length of these outputs are all smaller than the initial allocation done by the seq filesystem. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit b0e9aaa99dfb3036829e91d4f0aae449639e221a Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Tue Mar 31 12:48:53 2015 -0500 ipmi:ssif: Ignore spaces when comparing I2C adapter names Some of the adapters have spaces in their names, but that's really hard to pass in as a module or kernel parameters. So ignore the spaces. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit d467f7a405cf0e7f06ed8d3175607ebb4ed06671 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Thu Mar 26 13:35:18 2015 -0500 ipmi_ssif: Fix the logic on user-supplied addresses Returning zero is success. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit de71ad2c97862eae1516aa36528cc3b317c17b2f Author: Marc Dionne <marc.c.dionne@xxxxxxxxx> Date: Mon May 4 15:16:44 2015 -0300 x86: Make cpu_tss available to external modules Commit 75182b1632 ("x86/asm/entry: Switch all C consumers of kernel_stack to this_cpu_sp0()") changed current_thread_info to use this_cpu_sp0, and indirectly made it rely on init_tss which was exported with EXPORT_PER_CPU_SYMBOL_GPL. As a result some macros and inline functions such as set/get_fs, test_thread_flag and variants have been made unusable for external modules. Make cpu_tss exported with EXPORT_PER_CPU_SYMBOL so that these functions are accessible again, as they were previously. Signed-off-by: Marc Dionne <marc.dionne@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1430763404-21221-1-git-send-email-marc.dionne@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a71dbdaa8ca2933391b08e0ae5567083e3af0892 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon May 4 11:02:15 2015 -0400 hypervisor/x86/xen: Unset X86_BUG_SYSRET_SS_ATTRS on Xen PV guests Commit 61f01dd941ba ("x86_64, asm: Work around AMD SYSRET SS descriptor attribute issue") makes AMD processors set SS to __KERNEL_DS in __switch_to() to deal with cases when SS is NULL. This breaks Xen PV guests who do not want to load SS with__KERNEL_DS. Since the problem that the commit is trying to address would have to be fixed in the hypervisor (if it in fact exists under Xen) there is no reason to set X86_BUG_SYSRET_SS_ATTRS flag for PV VPCUs here. This can be easily achieved by adding x86_hyper_xen_hvm.set_cpu_features op which will clear this flag. (And since this structure is no longer HVM-specific we should do some renaming). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 16e6bd5970c88a2ac018b84a5f1dd5c2ff1fdf2c Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Wed Apr 29 17:10:15 2015 -0400 xen/events: Set irq_info->evtchn before binding the channel to CPU in __startup_pirq() .. because bind_evtchn_to_cpu(evtchn, cpu) will map evtchn to 'info' and pass 'info' down to xen_evtchn_port_bind_to_cpu(). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Tested-by: Annie Li <annie.li@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit b9d934f27c91b878c4b2e64299d6e419a4022f8d Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Wed Apr 29 17:10:14 2015 -0400 xen/console: Update console event channel on resume After a resume the hypervisor/tools may change console event channel number. We should re-query it. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 16f1cf3ba7303228372d3756677bf7d10e79cf9f Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Wed Apr 29 17:10:13 2015 -0400 xen/xenbus: Update xenbus event channel on resume After a resume the hypervisor/tools may change xenbus event channel number. We should re-query it. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5cec98834989a014a9560b1841649eaca95cf00e Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Wed Apr 29 17:10:12 2015 -0400 xen/events: Clear cpu_evtchn_mask before resuming When a guest is resumed, the hypervisor may change event channel assignments. If this happens and the guest uses 2-level events it is possible for the interrupt to be claimed by wrong VCPU since cpu_evtchn_mask bits may be stale. This can happen even though evtchn_2l_bind_to_cpu() attempts to clear old bits: irq_info that is passed in is not necessarily the original one (from pre-migration times) but instead is freshly allocated during resume and so any information about which CPU the channel was bound to is lost. Thus we should clear the mask during resume. We also need to make sure that bits for xenstore and console channels are set when these two subsystems are resumed. While rebind_evtchn_irq() (which is invoked for both of them on a resume) calls irq_set_affinity(), the latter will in fact postpone setting affinity until handling the interrupt. But because cpu_evtchn_mask will have bits for these two cleared we won't be able to take the interrupt. With that in mind, we need to bind those two channels explicitly in rebind_evtchn_irq(). We will keep irq_set_affinity() so that we have a pass through generic irq affinity code later, in case something needs to be updated there as well. (Also replace cpumask_of(0) with cpumask_of(info->cpu) in rebind_evtchn_irq(): it should be set to zero in preceding xen_irq_info_evtchn_setup().) Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reported-by: Annie Li <annie.li@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.14+ Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit b6b2bbe65b2117afd9766faa7cffea4d8f681455 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Tue May 5 12:57:09 2015 -0400 MAINTAINERS: Update InfiniBand subsystem maintainer Since Roland stepped down, the community asked me to take his place, and the nomination was followed by sufficient votes and no dissensions that we can move forward with the change. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 954138dc25dca0263f315c5a3450059df05a4ea1 Author: Yann Droneaud <ydroneaud@xxxxxxxxxx> Date: Mon May 4 14:31:03 2015 +0200 MAINTAINERS: add include/rdma/ to InfiniBand subsystem Most headers for InfiniBand/RDMA are located under include/rdma/ and include/uapi/rdma. Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8f71c1a27b84948720be17fffba71a67a1f0942d Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Tue May 5 13:01:39 2015 +0200 IPoIB/CM: Fix indentation level See also patch "IPoIB/cm: Add connected mode support for devices without SRQs" (commit ID 68e995a29572). Detected by smatch. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Pradeep Satyanarayana <pradeeps@xxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 179d03bbfd2ebc63934753a696467d28bf9f5b64 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue May 5 03:55:24 2015 +0530 iw_cxgb4: Remove negative advice dmesg warnings Remove these log messages in favor of per-endpoint counters as well as device-global counters that can be inspected via debugfs. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0d0f738f6a11856a704dcd8fd3a008b200f17625 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Sun May 3 09:48:26 2015 -0400 IB/core: Fix unaligned accesses Addresses the following kernel logs seen during boot of sparc systems: Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm] Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm] Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm] Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm] Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm] Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 471e70583217728955436a3fa6e5201e5c8c296a Author: Honggang LI <honli@xxxxxxxxxx> Date: Wed Apr 29 17:40:44 2015 +0800 IB/core: change rdma_gid2ip into void function as it always return zero Signed-off-by: Honggang Li <honli@xxxxxxxxxx> Acked-by: Sean Hefty <sean.hefty@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit cb31ef485dd4c6a205d1064b42027f82076d00c8 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Sun May 3 22:35:05 2015 +0800 init: fix regression by supporting devices with major:minor:offset format Commit 283e7ad02 ("init: stricter checking of major:minor root= values") was so strict that it exposed the fact that a previously unknown device format was being used. Distributions like Ubuntu uses klibc (rather than uswsusp) to resume system from hibernation. klibc expressed the swap partition/file in the form of major:minor:offset. For example, 8:3:0 represents a swap partition in klibc, and klibc's resume process in initrd will finally echo 8:3:0 to /sys/power/resume for manually resuming. However, due to commit 283e7ad02's stricter checking, 8:3:0 will be treated as an invalid device format, and manual resuming from hibernation will fail. Fix this by adding support for devices with major:minor:offset format when resuming from hibernation. Reported-by: Prigent, Christophe <christophe.prigent@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Acked-by: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit c0403ec0bb5a8c5b267fb7e16021bec0b17e4964 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Tue May 5 15:15:56 2015 +0200 Revert "dm crypt: fix deadlock when async crypto algorithm returns -EBUSY" This reverts Linux 4.1-rc1 commit 0618764cb25f6fa9fb31152995de42a8a0496475. The problem which that commit attempts to fix actually lies in the Freescale CAAM crypto driver not dm-crypt. dm-crypt uses CRYPTO_TFM_REQ_MAY_BACKLOG. This means the the crypto driver should internally backlog requests which arrive when the queue is full and process them later. Until the crypto hw's queue becomes full, the driver returns -EINPROGRESS. When the crypto hw's queue if full, the driver returns -EBUSY, and if CRYPTO_TFM_REQ_MAY_BACKLOG is set, is expected to backlog the request and process it when the hardware has queue space. At the point when the driver takes the request from the backlog and starts processing it, it calls the completion function with a status of -EINPROGRESS. The completion function is called (for a second time, in the case of backlogged requests) with a status/err of 0 when a request is done. Crypto drivers for hardware without hardware queueing use the helpers, crypto_init_queue(), crypto_enqueue_request(), crypto_dequeue_request() and crypto_get_backlog() helpers to implement this behaviour correctly, while others implement this behaviour without these helpers (ccp, for example). dm-crypt (before the patch that needs reverting) uses this API correctly. It queues up as many requests as the hw queues will allow (i.e. as long as it gets back -EINPROGRESS from the request function). Then, when it sees at least one backlogged request (gets -EBUSY), it waits till that backlogged request is handled (completion gets called with -EINPROGRESS), and then continues. The references to af_alg_wait_for_completion() and af_alg_complete() in that commit's commit message are irrelevant because those functions only handle one request at a time, unlink dm-crypt. The problem is that the Freescale CAAM driver, which that commit describes as having being tested with, fails to implement the backlogging behaviour correctly. In cam_jr_enqueue(), if the hardware queue is full, it simply returns -EBUSY without backlogging the request. What the observed deadlock was is not described in the commit message but it is obviously the wait_for_completion() in crypto_convert() where dm-crypto would wait for the completion being called with -EINPROGRESS in the case of backlogged requests. This completion will never be completed due to the bug in the CAAM driver. Commit 0618764cb25 incorrectly made dm-crypt wait for every request, even when the driver/hardware queues are not full, which means that dm-crypt will never see -EBUSY. This means that that commit will cause a performance regression on all crypto drivers which implement the API correctly. Revert it. Correct backlog handling should be implemented in the CAAM driver instead. Cc'ing stable purely because commit 0618764cb25 did. If for some reason a stable@ kernel did pick up commit 0618764cb25 it should get reverted. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Reviewed-by: Horia Geanta <horia.geanta@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit d9cee5d4f66ef36f69b0108dedbad7f7009bb6a8 Merge: c02d7da f440c4e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 09:03:52 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fixes from Herbert Xu: "This fixes a build problem with bcm63xx and yet another fix to the memzero_explicit function to ensure that the memset is not elided" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: hwrng: bcm63xx - Fix driver compilation lib: make memzero_explicit more robust against dead store elimination commit c02d7da3dd00cb32b58d9c87240456e19eebcc42 Merge: 5ebe6af fefad2d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 5 08:42:06 2015 -0700 Merge tag 'media/v4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media fixes from Mauro Carvalho Chehab: "Three driver fixes: - fix for omap4, fixing a regression due to a subsystem API that got removed for 4.1 (commit efde234674d9); - fix for one of the formats supported by Marvel ccic driver; - fix rcar_vin driver that, when stopping abnormally, the driver can't return from wait_for_completion" * tag 'media/v4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] v4l: omap4iss: Replace outdated OMAP4 control pad API with syscon [media] media: soc_camera: rcar_vin: Fix wait_for_completion [media] marvell-ccic: fix Y'CbCr ordering commit e59d29e88f7b7e3d1231202b0203d0af6f15a440 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Apr 28 08:46:09 2015 +0000 perf probe: Fix segfault if passed with ''. Since parse_perf_probe_point() deals with a user passed argument, we should not assume it to be a valid string. Without this patch, if pass '' to perf probe, a segfault raises: $ perf probe -a '' Segmentation fault This patch checks argument of parse_perf_probe_point() before string processing. After this patch: $ perf probe -a '' usage: perf probe [<options>] 'PROBEDEF' ['PROBEDEF' ...] or: perf probe [<options>] --add 'PROBEDEF' [--add 'PROBEDEF' ...] ... Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1430210769-94177-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d67e199611b986b345ea3087ee2e4a15da1c98b3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Apr 21 16:46:28 2015 +0300 efi: Fix error handling in add_sysfs_runtime_map_entry() I spotted two (difficult to hit) bugs while reviewing this. 1) There is a double free bug because we unregister "map_kset" in add_sysfs_runtime_map_entry() and also efi_runtime_map_init(). 2) If we fail to allocate "entry" then we should return ERR_PTR(-ENOMEM) instead of NULL. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Dave Young <dyoung@xxxxxxxxxx> Cc: Guangyu Sun <guangyu.sun@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 3916e3fd81021fb795bfbdb17f375b6b3685bced Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Mon May 4 15:06:49 2015 +0200 drm/i915: Add missing MacBook Pro models with dual channel LVDS Single channel LVDS maxes out at 112 MHz. The 15" pre-retina models shipped with 1440x900 (106 MHz) by default or 1680x1050 (119 MHz) as a BTO option, both versions used dual channel LVDS even though the smaller one would have fit into a single channel. Notes: Bug report showing that the MacBookPro8,2 with 1440x900 uses dual channel LVDS (this lead to it being hardcoded in intel_lvds.c by Daniel Vetter with commit 618563e3945b9d0864154bab3c607865b557cecc): https://bugzilla.kernel.org/show_bug.cgi?id=42842 If i915.lvds_channel_mode=2 is missing even though the machine needs it, every other vertical line is white and consequently, only the left half of the screen is visible (verified by myself on a MacBookPro9,1). Forum posting concerning a MacBookPro6,2 with 1440x900, author is using i915.lvds_channel_mode=2 on the kernel command line, proving that the machine uses dual channels: https://bbs.archlinux.org/viewtopic.php?id=185770 Chi Mei N154C6-L04 with 1440x900 is a replacement panel for all MacBook Pro "A1286" models, and that model number encompasses the MacBookPro6,2 / 8,2 / 9,1. Page 17 of the panel's datasheet shows it's driven with dual channel LVDS: http://www.ebay.com/itm/-/400690878560 http://www.everymac.com/ultimate-mac-lookup/?search_keywords=A1286 http://www.taopanel.com/chimei/datasheet/N154C6-L04.pdf Those three 15" models, MacBookPro6,2 / 8,2 / 9,1, are the only ones with i915 graphics and dual channel LVDS, so that list should be complete. And the 8,2 is already in intel_lvds.c. Possible motivation to use dual channel LVDS even on the 1440x900 models: Reduce the number of different parts, i.e. use identical logic boards and display cabling on both versions and the only differing component is the panel. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [Jani: included notes in the commit message for posterity] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 6f317cfe42c9d8a7c9c1a327d2f1bcc517a3cd91 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Apr 12 21:10:35 2015 +0200 drm/i915: Assume dual channel LVDS if pixel clock necessitates it Single channel LVDS maxes out at 112 MHz, anything above must be dual channel. This avoids the need to specify i915.lvds_channel_mode=2 on all 17" MacBook Pro models with i915 graphics since they had 1920x1200 (193 MHz), plus those 15" pre-retina models which had a resolution of 1680x1050 (119 MHz) as a BTO option. Source for 112 MHz limit of single channel LVDS is section 2.3 of: https://01.org/linuxgraphics/sites/default/files/documentation/ivb_ihd_os_vol3_part4.pdf v2: Avoid hardcoding 17" models by assuming dual channel LVDS if the resolution necessitates it, suggested by Jani Nikula. v3: Fix typo, thanks Joonas Lahtinen. v4: Split commit in two, suggested by Ville Syrjälä. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Tested-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [Jani: included spec reference into the commit message] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 11fa7df1e12f19571bdce4580cbc63a8cb3e9e85 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue May 5 12:14:03 2015 +0300 ata: select DW_DMAC in case of SATA_DWC Since sata_dwc_460ex.c was moved to generic DMA driver we have to ensure that user can still compile it. Fixes: 8b3444852a2b (sata_dwc_460ex: move to generic DMA driver) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d73a824acc705571c0f47596326d7967fba9a1d9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon May 4 14:35:01 2015 -0400 drm/radeon: don't setup audio on asics that don't support it bug: https://bugzilla.kernel.org/show_bug.cgi?id=97701 Reported-by: Mikael Pettersson <mikpelinux@xxxxxxxxx> Tested-by: Mikael Pettersson <mikpelinux@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit d9e7eb152bb24f06028a0d10b054e39ebdf14f9c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Apr 10 23:58:24 2015 +0200 iommu/rockchip: Fix build without CONFIG_OF The rockchip iommu driver references its of_device_id table from the init function, which fails to build when the table is undefined: iommu/rockchip-iommu.c: In function 'rk_iommu_init': iommu/rockchip-iommu.c:1029:35: error: 'rk_iommu_dt_ids' undeclared (first use in this function) np = of_find_matching_node(NULL, rk_iommu_dt_ids); This removes the #ifdef and the corresponding of_match_ptr wrapper to make it build both with CONFIG_OF enabled or disabled. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 425061b0f5074 ("iommu/rockchip: Play nice in multi-platform builds") Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d4988623cc605131bed8c77f007082c3555c39ee Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Apr 22 11:38:24 2015 -0700 IB/qib: use arch_phys_wc_add() This driver already makes use of ioremap_wc() on PIO buffers, so convert it to use arch_phys_wc_add(). The qib driver uses a mmap() special case for when PAT is not used, this behaviour used to be determined with a module parameter but since we have been asked to just remove that module parameter this checks for the WC cookie, if not set we can assume PAT was used. If its set we do what we used to do for the mmap for when MTRR was enabled. The removal of the module parameter is OK given that Andy notes that even if users of module parameter are still around it will not prevent loading of the module on recent kernels. Cc: Doug Ledford <dledford@xxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Cc: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxxxxxxx> Cc: Sean Hefty <sean.hefty@xxxxxxxxx> Cc: Hal Rosenstock <hal.rosenstock@xxxxxxxxx> Cc: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Stefan Bader <stefan.bader@xxxxxxxxxxxxx> Cc: konrad.wilk@xxxxxxxxxx Cc: ville.syrjala@xxxxxxxxxxxxxxx Cc: david.vrabel@xxxxxxxxxx Cc: jbeulich@xxxxxxxx Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx> Cc: infinipath@xxxxxxxxx Cc: linux-rdma@xxxxxxxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 87a26e976cb93e26742224bdd39f51f7861aa9b7 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Tue Apr 21 14:50:34 2015 -0700 IB/qib: add acounting for MTRR There is no good reason not to, we eventually delete it as well. Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Mike Marciniszyn <infinipath@xxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxx> Cc: Sean Hefty <sean.hefty@xxxxxxxxx> Cc: Hal Rosenstock <hal.rosenstock@xxxxxxxxx> Cc: linux-rdma@xxxxxxxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 325ad0617adaf163e32dd2d857b90baf65a25b5b Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Wed Apr 15 18:17:57 2015 +0300 IB/core: dma unmap optimizations While unmapping an ODP writable page, the dirty bit of the page is set. In order to do so, the head of the compound page is found. Currently, the compound head is found even on non-writable pages, where it is never used, leading to unnecessary cpu barrier that impacts performance. This patch moves the search for the compound head to be done only when needed. Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Acked-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c1d383b5785b1e0fb5fb862864712a7208219e6a Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Wed Apr 15 18:17:56 2015 +0300 IB/core: dma map/unmap locking optimizations Currently, while mapping or unmapping pages for ODP, the umem mutex is locked and unlocked once for each page. Such lock/unlock operation take few tens to hundreds of nsecs. This makes a significant impact when mapping or unmapping few MBs of memory. To avoid this, the mutex should be locked only once per operation, and not per page. Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Acked-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5b6b8fe64053b2649660ded2f3c5be25ebddbfdb Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 16:28:41 2015 -0400 RDMA/cxgb4: Report the actual address of the remote connecting peer Get the actual (non-mapped) ip/tcp address of the connecting peer from the port mapper Also setup the passive side endpoint to correctly display the actual and mapped addresses for the new connection. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 230da36ae919e690dbcc44d1be8a2154214c6e36 Author: Tatyana Nikolova <Tatyana.E.Nikolova@xxxxxxxxx> Date: Tue Apr 21 16:28:25 2015 -0400 RDMA/nes: Report the actual address of the remote connecting peer Get the actual (non-mapped) ip/tcp address of the connecting peer from the port mapper and report the address info to the user space application at the time of connection establishment Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6eec177461751f0fe191cf9977cde692b9481d0a Author: Tatyana Nikolova <Tatyana.E.Nikolova@xxxxxxxxx> Date: Tue Apr 21 16:28:10 2015 -0400 RDMA/core: Enable the iWarp Port Mapper to provide the actual address of the connecting peer to its clients Add functionality to enable the port mapper on the passive side to provide to its clients the actual (non-mapped) ip/tcp address information of the connecting peer 1) Adding remote_info_cb() to process the address info of the connecting peer The address info is provided by the user space port mapper service when the connection is initiated by the peer 2) Adding a hash list to store the remote address info 3) Adding functionality to add/remove the remote address info After the info has been provided to the port mapper client, it is removed from the hash list Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@xxxxxxxxx> Reviewed-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4a75a86c8d04390f268d7237cc49fe9a8e36efe7 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Apr 22 01:45:01 2015 +0530 iw_cxgb4: enforce qp/cq id requirements Currently the iw_cxgb4 implementation requires the qp and cq qid densities to match as well as the qp and cq id ranges. So fail a device open if the device configuration doesn't meet the requirements. The reason for these restictions has to do with the fact that IQ qid X has a UGTS register in the same bar2 page as EQ qid X. Thus both qids need to be allocated to the same user process for security reasons. The logic that does this (the qpid allocator in iw_cxgb4/resource.c) handles this but requires the above restrictions. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 09ece8b9e983fe858de6eab7a386d58d194227b6 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Apr 22 01:45:00 2015 +0530 iw_cxgb4: use BAR2 GTS register for T5 kernel mode CQs For T5, we must not use the kdb/kgts registers, in order avoid db drops under extreme loads. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6198dd8d7a6a7f40dc4599cb0676101d9cb82776 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Apr 22 01:44:59 2015 +0530 iw_cxgb4: 32b platform fixes - get_dma_mr() was using ~0UL which is should be ~0ULL. This causes the DMA MR to get setup incorrectly in hardware. - wr_log_show() needed a 64b divide function div64_u64() instead of doing division directly. - fixed warnings about recasting a pointer to a u64 Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0b7410471d59ce2ea30453e68c03bdb941d5951e Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Apr 22 01:44:58 2015 +0530 iw_cxgb4: Cleanup register defines/MACROS Cleanup macros and register defines for consistency Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 285214409a9e5fceba2215461b4682b6069d8e77 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 14:01:11 2015 -0600 RDMA/CMA: Canonize IPv4 on IPV6 sockets properly When accepting a new IPv4 connect to an IPv6 socket, the CMA tries to canonize the address family to IPv4, but does not properly process the listening sockaddr to get the listening port, and does not properly set the address family of the canonized sockaddr. Fixes: e51060f08a61 ("IB: IP address based RDMA connection manager") Cc: <stable@xxxxxxxxxxxxxxx> Reported-By: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Tested-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 326a780317d572711f70d53054502e86a1ff5317 Author: Jungseung Lee <js07.lee@xxxxxxxxx> Date: Mon May 4 11:33:48 2015 +0100 arm64: mm: Fix build error with CONFIG_SPARSEMEM_VMEMMAP disabled This fix the below build error: arch/arm64/mm/dump.c: In function â??ptdump_initâ??: arch/arm64/mm/dump.c:331:18: error: â??VMEMMAP_START_NRâ?? undeclared (first use in this function) address_markers[VMEMMAP_START_NR].start_address = ^ arch/arm64/mm/dump.c:331:18: note: each undeclared identifier is reported only once for each function it appears in arch/arm64/mm/dump.c:333:18: error: â??VMEMMAP_END_NRâ?? undeclared (first use in this function) address_markers[VMEMMAP_END_NR].start_address = ^ Acked-by: Laura Abbott <labbott@xxxxxxxxxx> Signed-off-by: Jungseung Lee <js07.lee@xxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b9a95e85bbc56f168f078885f414f305b4589c4b Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 1 13:48:17 2015 +0100 Revert "arm64: alternative: Allow immediate branch as alternative instruction" This reverts most of commit fef7f2b2010381c795ae43743ad31931cc58f5ad. It turns out that there are a couple of problems with the way we're fixing up branch instructions used as part of alternative instruction sequences: (1) If the branch target is also in the alternative sequence, we'll generate a branch into the .altinstructions section which actually gets freed. (2) The calls to aarch64_insn_{read,write} bring an awful lot more code into the patching path (e.g. taking locks, poking the fixmap, invalidating the TLB) which isn't actually needed for the early patching run under stop_machine, but makes the use of alternative sequences extremely fragile (as we can't patch code that could be used by the patching code). Given that no code actually requires alternative patching of immediate branches, let's remove this support for now and revisit it when we've got a user. We leave the updated size check, since we really do require the sequences to be the same length. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e8a4a2696fecb398b0288c43c0e0dbb91e265bb2 Author: Tahsin Erdogan <tahsin@xxxxxxxxxx> Date: Mon May 4 21:15:31 2015 -0700 x86/spinlocks: Fix regression in spinlock contention detection A spinlock is regarded as contended when there is at least one waiter. Currently, the code that checks whether there are any waiters rely on tail value being greater than head. However, this is not true if tail reaches the max value and wraps back to zero, so arch_spin_is_contended() incorrectly returns 0 (not contended) when tail is smaller than head. The original code (before regression) handled this case by casting the (tail - head) to an unsigned value. This change simply restores that behavior. Fixes: d6abfdb20223 ("x86/spinlocks/paravirt: Fix memory corruption on unlock") Signed-off-by: Tahsin Erdogan <tahsin@xxxxxxxxxx> Cc: peterz@xxxxxxxxxxxxx Cc: Waiman.Long@xxxxxx Cc: borntraeger@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: raghavendra.kt@xxxxxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1430799331-20445-1-git-send-email-tahsin@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7263b1bd0490fca68ee7eedb0b6973cb86d4701c Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Apr 22 11:03:48 2015 -0700 f2fs: fix wrong error hanlder in f2fs_follow_link The page_follow_link_light returns NULL and its error pointer was remained in nd->path. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5463e7c18e51152104aba9614e6abfc039a8b710 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Apr 21 10:40:54 2015 -0700 Revert "f2fs: enhance multi-threads performance" This reports performance regression by Yuanhan Liu. The basic idea was to reduce one-point mutex, but it turns out this causes another contention like context swithes. https://lkml.org/lkml/2015/4/21/11 Until finishing the analysis on this issue, I'd like to revert this for a while. This reverts commit 78373b7319abdf15050af5b1632c4c8b8b398f33. commit 9ba52e5812e53f20f23600d79449a3ec05a0254f Author: Shaohua Li <shli@xxxxxx> Date: Mon May 4 14:32:48 2015 -0600 blk-mq: don't lose requests if a stopped queue restarts Normally if driver is busy to dispatch a request the logic is like below: block layer: driver: __blk_mq_run_hw_queue a. blk_mq_stop_hw_queue b. rq add to ctx->dispatch later: 1. blk_mq_start_hw_queue 2. __blk_mq_run_hw_queue But it's possible step 1-2 runs between a and b. And since rq isn't in ctx->dispatch yet, step 2 will not run rq. The rq might get lost if there are no subsequent requests kick in. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b7ba7b469a4ffc2907c355a3c0873173567d9038 Merge: 0650c0b ff419b3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon May 4 16:00:55 2015 -0400 Merge tag 'mac80211-for-davem-2015-05-04' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 Johannes Berg says: ==================== We have only a few fixes right now: * a fix for an issue with hash collision handling in the rhashtable conversion * a merge issue - rhashtable removed default shrinking just before mac80211 was converted, so enable it now * remove an invalid WARN that can trigger with legitimate userspace behaviour * add a struct member missing from kernel-doc that caused a lot of warnings ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0650c0b8d9efe5b1205116a2febcb984c6c98472 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon May 4 12:34:12 2015 +0300 bnx2x: Fix to prevent inner-reload Submit 909d9faae2a44 ("bnx2x: Prevent inner-reload while VFs exist") contained a bug - MTU change was not prevented by it; Instead, it `randomally' prevented bnx2x_resume() from running [harmless yet wrong]. This moves the check to its correct spot. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73e84313ee4178cac628009103a901af9dfe8920 Merge: e278371 1add156 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon May 4 15:36:07 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-05-04 Here's the first bluetooth-next pull request for 4.2: - Various fixes for at86rf230 driver - ieee802154: trace events support for rdev->ops - HCI UART driver refactoring - New Realtek IDs added to btusb driver - Off-by-one fix for rtl8723b in btusb driver - Refactoring of btbcm driver for both UART & USB use Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2783717a71e9babfdd7c36c7e35b790d2c01022 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Mon May 4 11:51:38 2015 -0400 net/rds: Fix new sparse warning c0adf54a109 introduced new sparse warnings: CHECK /home/dahern/kernels/linux.git/net/rds/ib_cm.c net/rds/ib_cm.c:191:34: warning: incorrect type in initializer (different base types) net/rds/ib_cm.c:191:34: expected unsigned long long [unsigned] [usertype] dp_ack_seq net/rds/ib_cm.c:191:34: got restricted __be64 <noident> net/rds/ib_cm.c:194:51: warning: cast to restricted __be64 The temporary variable for sequence number should have been declared as __be64 rather than u64. Make it so. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Cc: shamir rabinovitch <shamir.rabinovitch@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2d4fcb8043402fd24aaef7e00d4c24b1151cda4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon May 4 15:12:33 2015 -0400 Revert "Revert "smc91x: retrieve IRQ and trigger flags in a modern way"" This reverts commit 8d7d9cca4390062ccd09ffd9fdb37d1c4eeea9ac. Now that the necessary infrastructure is really all there in the tree, we can put this change back in. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 965b2aa78fbcb831acf4f669f494da201f4bcace Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Mon May 4 14:39:49 2015 +0530 net/smsc911x: fix irq resource allocation failure When smsc911x uses GPIO as the interrupt controller, and if both are loaded as modules, we get following error: "smsc911x: Could not allocate irq resource" This issue is because of smsc911x using platform_get_resource to get device tree based irq resource. commit "9ec36ca (of/irq: do irq resolution in platform_get_irq)" and commit "7085a7 (drivers: platform: parse IRQ flags from resources)" add support in platform_get_irq to resolve irq and irq_flags respectively for both modern device tree and legacy static platform data platforms. Modify smsc911x driver to use platform_get_irq to pick up irq resource correctly and use irq_get_trigger_type to get the IRQ trigger flags. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2387ddcced8de3e6471a2fb16a409577063016f Author: Shaohua Li <shli@xxxxxx> Date: Fri May 1 09:59:44 2015 -0700 blk-mq: fix FUA request hang When a FUA request enters its DATA stage of flush pipeline, the request is added to mq requeue list, the request will then be added to ctx->rq_list. blk_mq_attempt_merge() might merge the request with a bio. Later when the request is finished the flush pipeline, the request->__data_len is 0. Then I only saw the bio gets endio called, the original request never finish. Adding REQ_FLUSH_SEQ into REQ_NOMERGE_FLAGS looks an easy fix. stable: 3.15+ Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 013ead48a843442e63b9426e3bd5df18ca5d054a Author: Christian König <christian.koenig@xxxxxxx> Date: Fri May 1 12:34:12 2015 +0200 drm/radeon: disable semaphores for UVD V1 (v2) Hardware doesn't seem to work correctly, just block userspace in this case. v2: add missing defines Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=85320 Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d66bf7dd27573ee5ea90484899ee952c19ccb194 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Sat May 2 21:33:44 2015 -0400 net: core: Correct an over-stringent device loop detection. The code in __netdev_upper_dev_link() has an over-stringent loop detection logic that actually prevents valid configurations from working correctly. In particular, the logic returns an error if an upper device is already in the list of all upper devices for a given dev. This particular check seems to be a overzealous as it disallows perfectly valid configurations. For example: # ip l a link eth0 name eth0.10 type vlan id 10 # ip l a dev br0 typ bridge # ip l s eth0.10 master br0 # ip l s eth0 master br0 <--- Will fail If you switch the last two commands (add eth0 first), then both will succeed. If after that, you remove eth0 and try to re-add it, it will fail! It appears to be enough to simply check adj_list to keeps things safe. I've tried stacking multiple devices multiple times in all different combinations, and either rx_handler registration prevented the stacking of the device linking cought the error. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Veaceslav Falico <vfalico@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b096fded15bbf0cd4b39fdab3dfe306210ad3f6 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat May 2 19:23:22 2015 +0200 isdn/gigaset: cede maintainership As German phone operators are discontinuing ISDN service, neither Hansjörg nor I will be able to maintain the Gigaset ISDN drivers any longer. Paul Bolle offered to step into the breach for odd fixes. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Acked-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7309c2673a389a495fcfad70376d3bae8b9bc89 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Apr 24 12:54:20 2015 -0500 bus: omap_l3_noc: Fix master id address decoding for OMAP5 The L3 Error handling on OMAP5 for the most part is very similar to that of OMAP4, and had leveraged common data structures and register layout definitions so far. Upon closer inspection, there are a few minor differences causing an incorrect decoding and reporting of the master NIU upon an error: 1. The L3_TARG_STDERRLOG_MSTADDR.STDERRLOG_MSTADDR occupies 11 bits on OMAP5 as against 8 bits on OMAP4, with the master NIU connID encoded in the 6 MSBs of the STDERRLOG_MSTADDR field. 2. The CLK3 FlagMux component has 1 input source on OMAP4 and 3 input sources on OMAP5. The common DEBUGSS source is at a different input on each SoC. Fix the above issues by using a OMAP5-specific compatible property and using SoC-specific data where there are differences. Signed-off-by: Suman Anna <s-anna@xxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4adf82c35572c69e96997641612fc88463b08f6f Author: Illia Smyrnov <illia.smyrnov@xxxxxxxxxxxxxxx> Date: Thu Apr 16 17:42:30 2015 -0500 bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance The base address for DRA7 CLK1_HOST_CLK1_2 host instance is 0x44800000, so correct offset is 0x800000. DRA7 TRM rev X(fewb 2015) has updates for this information. With wrong offset these errors are not correctly cleared by the L3 IRQ handler and cause an continuous interrupt scenario and system lockup. Signed-off-by: Illia Smyrnov <illia.smyrnov@xxxxxxxxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9a9324d3969678d44b330e1230ad2c8ae67acf81 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Mon May 4 12:20:29 2015 -0400 libata: Blacklist queued TRIM on all Samsung 800-series The queued TRIM problems appear to be generic to Samsung's firmware and not tied to a particular model. A recent update to the 840 EVO firmware introduced the same issue as we saw on 850 Pro. Blacklist queued TRIM on all 800-series drives while we work this issue with Samsung. Reported-by: Günter Waller <g.wal@xxxxxx> Reported-by: Sven Köhler <sven.koehler@xxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 1822734677d95888d18e3c0e0743727effa62f8e Author: Nishanth Menon <nm@xxxxxx> Date: Thu Apr 16 16:56:33 2015 -0500 ARM: dts: dra7: Fix efuse register size for ABB Fix a typo in DRA7 dtsi where 12 bytes are needed for register description of ABB efuse registers, however only 8 bytes are provided to map. For some weird reason, this does not generate abort at offset 0x8, probably due to default maps already provided in io.c for the bus register ranges. Reported-by: Matt Gessner <Matt.Gessner@xxxxxxxxxxxxx> Reported-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ed12f102ba9f55d2617fc6b5e4fbecbf9a132ba7 Author: Nishanth Menon <nm@xxxxxx> Date: Thu Apr 9 17:33:17 2015 -0500 ARM: dts: am57xx-beagle-x15: Switch GPIO fan number BeagleBoard-X15 pre-production change includes switching the GPIO fan gpio over from 1 to 2 to allow for a potential fix at a later point in time for USB client VBUS detection using PMIC VBUS detect capability. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5eb6719816faad8e915d4f46ad61a440d641d183 Author: Nishanth Menon <nm@xxxxxx> Date: Wed Apr 8 17:40:59 2015 -0500 ARM: dts: am57xx-beagle-x15: Switch UART mux pins BeagleBoard-X15 pre-production change includes switching over to UART pins that now allow for UART download capability. All original boards should either have been returned for modifications or already modified for the required change and maintaining compatibility for older boards are no longer needed. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f6b957fdce50ddbd1899948ab109cca64e571eba Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Apr 9 10:59:27 2015 -0500 ARM: dts: am437x-sk: reduce col-scan-delay-us The new AM437x SK Beta boards have removed the large capacitors on the gpio-matrix column lines which means we can reduce col-scan-delay-us to 5us without loosing functionality. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit faa4ec1eedbe6d352dc22c945540a64b5c896a95 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Apr 9 10:59:26 2015 -0500 ARM: dts: am437x-sk: fix for new newhaven display module revision AM437x Starter Kit uses a NewHaven Display module with a 4.3" display and EDT FT5306 touchscreen On that module's new revision, NewHave decided to change the pinout on the 6 pin flat-pcb touchscreen connector so that instead of having WAKE pin, we now have RESETn. The new display module is available on AM437x SK Beta and all new revisions while the older revision is only available on AM437x SK Alpha which, unfortunately, can't be supported anymore in mainline without a revert of this patch. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 00edd3170c757772f74c533e61298be249447a11 Author: Nishanth Menon <nm@xxxxxx> Date: Wed Apr 8 18:56:27 2015 -0500 ARM: dts: am57xx-beagle-x15: Fix RTC aliases With commit bc078316d86c ("ARM: dts: DRA7: Add node for RTC"), we now have AM57xx RTC register itself as alias 0 even before DS1307 or TPS rtc drivers are loaded up. However, since neither TPS, nor AM57xx RTC are capable of being backedup by battery, we would like to maintain the "primary" rtc as mcp79410 rtc device. This also generates the following warnings in the bootlog highlighting the issue: [ 5.895445] rtc-ds1307 2-006f: /aliases ID 0 not available ... [ 6.476285] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: /aliases ID 1 not available So, add proper aliases to ensure that RTC order is always consistent to userspace immaterial of probe order. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e7a7357341664148cabf98a3ab50b5d449afca0b Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Date: Wed Apr 8 18:56:26 2015 -0500 ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x The interrupt polarity provided in devicetree is used to configure the interrupt controller(ARM GIC), however, it seems that we have an inverter at the GIC boundary inside AM57xx which inverts the signal input from sys_irq external interrupt source. Further, as per GIC distributor TRM, http://infocenter.arm.com/help/topic/com.arm.doc.ddi0438d/BGBHIACJ.html#BABJFCFB ARM GIC distributor does not support IRQ trigger type IRQ_TYPE_LEVEL_LOW, and only rising or level high signals. However, for some reason, the current configuration(which gets ignored by GIC driver) functions on some platforms, however, on few platforms results in infinite interrupts hogging the system down. Switch over to rising edge for GIC configuration which is also aligned with trigger point from the RTC chip and the internal inversion. Fixes: 5a0f93c6576a ("ARM: dts: Add am57xx-beagle-x15") Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2055088b5e17b450fcfb536568aee00eccd0ced5 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Tue Mar 31 03:28:10 2015 +0200 ARM: dts: omap3: Add #iommu-cells to isp and iva iommu Add missing #iommu-cells property to the isp and iva iommu nodes. This fixes the binding (property is required according to the generic iommu binding) and removes the following kernel warning triggered once the iommu nodes are referenced: [ 0.647521] /ocp/isp@480bc000: could not get #iommu-cells for /ocp/mmu@480bd400 Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 67defd5c0ee5270948104784c8fc8f6d4a99682b Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Mar 24 12:19:19 2015 +0200 ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO We need to enable EXTCON_USB_GPIO_USB and not EXTCON_GPIO_USB. Fixes: c08a54c0ebeb ("ARM: omap2plus_defconfig: Enable EXTCON_GPIO_USB") Reported-by: Nishant Menon <nm@xxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> Acked-by-by: Nishanth Menon <nm@xxxxxx Tested-by: Nishanth Menon <nm@xxxxxx Reviewed-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1819e3034ee26ffadc71880064ed8b8e7d74f52c Author: Pavel Machek <pavel@xxxxxx> Date: Sun Mar 1 21:07:08 2015 +0200 ARM: dts: OMAP3-N900: Add microphone bias voltages N900 audio recording needs that codec provides bias voltage for integrated digital microphone and headset microphone depending which one is used. Digital microphone uses 2 V bias and it comes from the codec A part. Codec B part drives the headset microphone bias and that is set to 2.5 V. Cc: stable@xxxxxxxxxxxxxxx # v3.16+ Signed-off-by: Pavel Machek <pavel@xxxxxx> [Jarkko: Headset mic bias changed to 2 (2.5 V) as it was before commit e2e8bfdf6157 ("ASoC: tlv320aic3x: Convert mic bias to a supply widget")] Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4bd9e9b77fc6787c45b8bb439f6511aa3478606c Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 30 11:49:25 2015 +0200 nfsd: skip CB_NULL probes for 4.1 or later With sessions in v4.1 or later we don't need to manually probe the backchannel connection, so we can declare it up instantly after setting up the RPC client. Note that we really should split nfsd4_run_cb_work in the long run, this is just the least intrusive fix for now. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit cba5f62b1830c1919b47544789bc993e6e617dc6 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 30 11:49:24 2015 +0200 nfsd: fix callback restarts Checking the rpc_client pointer is not a reliable way to detect backchannel changes: cl_cb_client is changed only after shutting down the rpc client, so the condition cl_cb_client = tk_client will always be true. Check the RPC_TASK_KILLED flag instead, and rewrite the code to avoid the buggy cl_callbacks list and fix the lifetime rules due to double calls of the ->prepare callback operations method for this retry case. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ef2a1b3e1067195f1d6b89d8329454775c87f033 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 30 11:49:23 2015 +0200 nfsd: split transport vs operation errors for callbacks We must only increment the sequence id if the client has seen and responded to a request. If we failed to deliver it to the client we must resend with the same sequence id. So just like the client track errors at the transport level differently from those returned in the XDR. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9507271d960a1911a51683888837d75c171cd91f Author: Scott Mayhew <smayhew@xxxxxxxxxx> Date: Tue Apr 28 16:29:53 2015 -0400 svcrpc: fix potential GSSX_ACCEPT_SEC_CONTEXT decoding failures In an environment where the KDC is running Active Directory, the exported composite name field returned in the context could be large enough to span a page boundary. Attaching a scratch buffer to the decoding xdr_stream helps deal with those cases. The case where we saw this was actually due to behavior that's been fixed in newer gss-proxy versions, but we're fixing it here too. Signed-off-by: Scott Mayhew <smayhew@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Simo Sorce <simo@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 8287f009bd95a5e548059dba62a67727bb9549cd Author: Sachin Bhamare <sachin.bhamare@xxxxxxxxxxxxxxx> Date: Mon Apr 27 14:50:14 2015 +0200 nfsd: fix pNFS return on close semantics For the sake of forgetful clients, the server should return the layouts to the file system on 'last close' of a file (assuming that there are no delegations outstanding to that particular client) or on delegreturn (assuming that there are no opens on a file from that particular client). In theory the information is all there in current data structures, but it's not efficiently available; nfs4_file->fi_ref includes references on the file across all clients, but we need a per-(client, file) count. Walking through lots of stateid's to calculate this on each close or delegreturn would be painful. This patch introduces infrastructure to maintain per-client opens and delegation counters on a per-file basis. [hch: ported to the mainline pNFS support, merged various fixes from Jeff] Signed-off-by: Sachin Bhamare <sachin.bhamare@xxxxxxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ebe9cb3bb13e7b9b281969cd279ce70834f7500f Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Apr 28 15:41:15 2015 +0200 nfsd: fix the check for confirmed openowner in nfs4_preprocess_stateid_op If we find a non-confirmed openowner we jump to exit the function, but do not set an error value. Fix this by factoring out a helper to do the check and properly set the error from nfsd4_validate_stateid. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 40cdc7a530c7a075557651a071354bb42b99df08 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Apr 27 14:50:13 2015 +0200 nfsd/blocklayout: pretend we can send deviceid notifications Commit df52699e4fcef ("NFSv4.1: Don't cache deviceids that have no notifications") causes the Linux NFS client to stop caching deviceid's unless a server pretends to support deviceid notifications. While this behavior is stupid and the language around this area in rfc5661 is a mess carified by an errata that I submittted, Trond insists on this behavior. Not caching deviceids degrades block layout performance massively as a GETDEVICEINFO is fairly expensive. So add this hack to make the Linux client happy again. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 102bcb6ed2d1c3ffcc7269afc957c2df11942085 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon May 4 08:54:41 2015 -0700 ARM: OMAP2+: Fix omap off idle power consumption creeping up If we use a combination of VMODE and I2C4 for retention modes, eventually the off idle power consumption will creep up by about 23mW, even during off mode with I2C4 always staying enabled. Turns out this is because of erratum i531 "Extra Power Consumed When Repeated Start Operation Mode Is Enabled on I2C Interface Dedicated for Smart Reflex (I2C4)" as pointed out by Nishanth Menon <nm@xxxxxx>. Let's fix the issue by adding i2c_cfg_clear_mask for the bits to clear when initializing the I2C4 adapter so we can clear SREN bit that drives the I2C4 lines low otherwise when there is no traffic. Fixes: 3b8c4ebb7630 ("ARM: OMAP3: Fix idle mode signaling for Cc: stable@xxxxxxxxxxxxxxx # v3.16+ sys_clkreq and sys_off_mode") Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Reviewed-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 622532bb2fad8fe342fb685727ae0be566f6be5d Author: Witold Szczeponik <Witold.Szczeponik@xxxxxxx> Date: Fri May 1 19:05:20 2015 +0200 ACPI / PNP: add two IDs to list for PNPACPI device enumeration Commit eec15edbb0e1 (ACPI / PNP: use device ID list for PNPACPI device enumeration) changed the way how ACPI devices are enumerated and when they are added to the PNP bus. However, it broke the sound card support on (at least) a vintage IBM ThinkPad 600E: with said commit applied, two of the necessary "CSC01xx" devices are not added to the PNP bus and hence can not be found during the initialization of the "snd-cs4236" module. As a consequence, loading "snd-cs4236" causes null pointer exceptions. The attached patch fixes the problem end re-enables sound on the IBM ThinkPad 600E. Fixes: eec15edbb0e1 (ACPI / PNP: use device ID list for PNPACPI device enumeration) Signed-off-by: Witold Szczeponik <Witold.Szczeponik@xxxxxxx> Cc: 3.16+ <stable@xxxxxxxxxxxxxxx> # 3.16+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 74d77e50f23123938fbb7987eba71310864e6a7c Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Apr 20 10:59:17 2015 -0500 pinctrl: mediatek: mtk-common: initialize unmask cppcheck detected an uninitialized variable: [drivers/pinctrl/mediatek/pinctrl-mtk-common.c:897]: (error) Uninitialized variable: unmask unmask should be initialized to zero to ensure unmasking only occurs if a previous mask occurred. The current situation is that the unmask variable could contain any random garbage causing random unexpected unmasking. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a00212e21928640486d3cc939cf4d908e8522016 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon May 4 01:58:27 2015 +0200 ACPI / documentation: Fix ambiguity in the GPIO properties document The first paragraph in Documentation/acpi/gpio-properties.txt is ambiguous, so make it more clear. Reported-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1bf1b431d98d7e5b5419876d4c219469e60693e1 Author: Oded Gabbay <oded.gabbay@xxxxxxx> Date: Thu Apr 16 17:08:44 2015 +0300 iommu/amd: Fix bug in put_pasid_state_wait This patch fixes a bug in put_pasid_state_wait that appeared in kernel 4.0 The bug is that pasid_state->count wasn't decremented before entering the wait_event. Thus, the condition in wait_event will never be true. The fix is to decrement (atomically) the pasid_state->count before the wait_event. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx #v4.0 Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ff419b3f95ab7a97c5f72876b53f12a249dacc2a Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sun Apr 26 20:13:34 2015 -0700 mac80211: fix 90 kernel-doc warnings Eliminate 90 of these warnings: Warning(..//include/net/mac80211.h:1682): No description found for parameter 'drv_priv[0]' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f440c4ee3e53f767974fe60bcbc0b6687a5fb53f Author: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Date: Sat May 2 12:08:42 2015 +0200 hwrng: bcm63xx - Fix driver compilation - s/clk_didsable_unprepare/clk_disable_unprepare - s/prov/priv - s/error/ret (bcm63xx_rng_probe) Fixes: 6229c16060fe ("hwrng: bcm63xx - make use of devm_hwrng_register") Signed-off-by: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7829fb09a2b4268b30dd9bc782fa5ebee278b137 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Apr 30 04:13:52 2015 +0200 lib: make memzero_explicit more robust against dead store elimination In commit 0b053c951829 ("lib: memzero_explicit: use barrier instead of OPTIMIZER_HIDE_VAR"), we made memzero_explicit() more robust in case LTO would decide to inline memzero_explicit() and eventually find out it could be elimiated as dead store. While using barrier() works well for the case of gcc, recent efforts from LLVMLinux people suggest to use llvm as an alternative to gcc, and there, Stephan found in a simple stand-alone user space example that llvm could nevertheless optimize and thus elimitate the memset(). A similar issue has been observed in the referenced llvm bug report, which is regarded as not-a-bug. Based on some experiments, icc is a bit special on its own, while it doesn't seem to eliminate the memset(), it could do so with an own implementation, and then result in similar findings as with llvm. The fix in this patch now works for all three compilers (also tested with more aggressive optimization levels). Arguably, in the current kernel tree it's more of a theoretical issue, but imho, it's better to be pedantic about it. It's clearly visible with gcc/llvm though, with the below code: if we would have used barrier() only here, llvm would have omitted clearing, not so with barrier_data() variant: static inline void memzero_explicit(void *s, size_t count) { memset(s, 0, count); barrier_data(s); } int main(void) { char buff[20]; memzero_explicit(buff, sizeof(buff)); return 0; } $ gcc -O2 test.c $ gdb a.out (gdb) disassemble main Dump of assembler code for function main: 0x0000000000400400 <+0>: lea -0x28(%rsp),%rax 0x0000000000400405 <+5>: movq $0x0,-0x28(%rsp) 0x000000000040040e <+14>: movq $0x0,-0x20(%rsp) 0x0000000000400417 <+23>: movl $0x0,-0x18(%rsp) 0x000000000040041f <+31>: xor %eax,%eax 0x0000000000400421 <+33>: retq End of assembler dump. $ clang -O2 test.c $ gdb a.out (gdb) disassemble main Dump of assembler code for function main: 0x00000000004004f0 <+0>: xorps %xmm0,%xmm0 0x00000000004004f3 <+3>: movaps %xmm0,-0x18(%rsp) 0x00000000004004f8 <+8>: movl $0x0,-0x8(%rsp) 0x0000000000400500 <+16>: lea -0x18(%rsp),%rax 0x0000000000400505 <+21>: xor %eax,%eax 0x0000000000400507 <+23>: retq End of assembler dump. As gcc, clang, but also icc defines __GNUC__, it's sufficient to define this in compiler-gcc.h only to be picked up. For a fallback or otherwise unsupported compiler, we define it as a barrier. Similarly, for ecc which does not support gcc inline asm. Reference: https://llvm.org/bugs/show_bug.cgi?id=15495 Reported-by: Stephan Mueller <smueller@xxxxxxxxxx> Tested-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Stephan Mueller <smueller@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: mancha security <mancha1@xxxxxxxx> Cc: Mark Charlebois <charlebm@xxxxxxxxx> Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 184af16b09360d6273fd6160e6ff7f8e2482ef23 Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Date: Thu Apr 23 13:43:43 2015 +0300 mmc: core: add missing pm event in mmc_pm_notify to fix hib restore The PM_RESTORE_PREPARE is not handled now in mmc_pm_notify(), as result mmc_rescan() could be scheduled and executed at late hibernation restore stages when MMC device is suspended already - which, in turn, will lead to system crash on TI dra7-evm board: WARNING: CPU: 0 PID: 3188 at drivers/bus/omap_l3_noc.c:148 l3_interrupt_handler+0x258/0x374() 44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4_PER1_P3 (Idle): Data Access in User mode during Functional access Hence, add missed PM_RESTORE_PREPARE PM event in mmc_pm_notify(). Fixes: 4c2ef25fe0b8 (mmc: fix all hangs related to mmc/sd card...) Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit efdbd2b30caa65dd9e687853afa4d7ce8b39447e Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri May 1 17:36:37 2015 -0400 macvlan: Propagate promiscuity setting to lower devices. When a macvlan device is placed in promiscuous mode, it currently just sets it's multicast mask to permissive, but doesn't change the state of the lower device. As a result, not all multicast traffic can be received on such device. Additionally, none of a vlan traffic can be received on such device as well. This patch propagates the promiscuous mode setting to lower device so that lower device may receive all packets that macvlan may be interested in. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e70aedd3d522b018c01df172cd213a8a75e2d55 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sun May 3 08:04:28 2015 +0800 Revert "net: kernel socket should be released in init_net namespace" This reverts commit c243d7e20996254f89c28d4838b5feca735c030d. That patch is solving a non-existant problem while creating a real problem. Just because a socket is allocated in the init name space doesn't mean that it gets hashed in the init name space. When we unhash it the name space must be the same as the one we had when we hashed it. So this patch is completely bogus and causes socket leaks. Reported-by: Andrey Wagin <avagin@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd4d95a5c9b2973d51934b830e1aa4ebf84645e6 Merge: 4212b54 e7fcd54 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon May 4 00:06:56 2015 -0400 Merge branch 'dev_kfree_skb' Alexander Duyck says: ==================== Clean-up some bits related to netpoll This patch set cleans up some minor items related to netpoll. The first patch addresses an Rx clean-up bug that is triggered due to an assumption that napi->poll wouldn't be called with a budget of 0. The other two patches address dev_kfree_skb being called in the xmit path which isn't valid since netpoll will call ndo_start_xmit with IRQs disabled. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7fcd5439ffd76e499b7ba4a2f8e99645addff3e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri May 1 10:34:50 2015 -0700 ixgbevf: Use dev_kfree_skb_any in xmit path, not dev_kfree_skb With netpoll making use of the transmit function it is possible for the ndo_start_xmit function to be called with irqs disabled. As such we need to use dev_kfree_skb_any in the Tx cleanup path for frames that are dropped. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb781397904e5d6b90c80463eaa9dc592831bdae Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri May 1 10:34:44 2015 -0700 r8169: Do not use dev_kfree_skb in xmit path The function r8169_csum_workaround is called in the ndo_start_xmit path of the r8169 driver. As such it should not be using dev_kfree_skb as it is not irq safe, so instead we should be using dev_kfree_skb_any for freeing in the dropped path, and dev_consume_skb_any for any frames that were transmitted. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59486329b46f31532ab032014fbaae72e9f190c3 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri May 1 10:34:38 2015 -0700 fm10k: Do not assume budget will never be 0 for NAPI The netpoll path will call napi->poll with a budget of 0 in order to clean the Tx rings only. This change updates the fm10k driver so that it will correctly support that instead of cleaning 1 Rx frame if a budget of 0 is received. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4212b5433187d01b5ae83664b06e990a9116250f Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 1 10:43:52 2015 -0400 net: dsa: mv88e6xxx: unregister mv88e6352 driver Add the missing unregister for the mv88e6352_switch_driver. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f6d25deed30e1c1918f9f7bbe7e63295ef2bf1b Merge: f0e9fc5 5793aff Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun May 3 23:45:09 2015 -0400 Merge tag 'linux-can-fixes-for-4.1-20150501' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can Marc Kleine-Budde says: ==================== this is a pull request of a single patch for net/master. The patch is contributed by Jeppe Ledet-Pedersen, it fixes the extended frame handling in the xilinx driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0e9fc503a0d6c9d74ca5b6d1aaf87febbbd9b06 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Thu Apr 30 21:47:42 2015 -0400 drivers/net: include <module.h> for modular stmmac_platform code This file is built off of a tristate Kconfig option and also contains modular function calls so it should explicitly include module.h to avoid compile breakage during header shuffles done in the future. Cc: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0adf54a10903b59037a4c5fcb933dfeeb7b2624 Author: shamir rabinovitch <shamir.rabinovitch@xxxxxxxxxx> Date: Thu Apr 30 20:58:07 2015 -0400 net/rds: fix unaligned memory access rdma_conn_param private data is copied using memcpy after headers such as cma_hdr (see cma_resolve_ib_udp as example). so the start of the private data is aligned to the end of the structure that come before. if this structure end with u32 the meaning is that the start of the private data will be 4 bytes aligned. structures that use u8/u16/u32/u64 are naturally aligned but in case the structure start is not 8 bytes aligned, all u64 members of this structure will not be aligned. to solve this issue we must use special macros that allow unaligned access to those unaligned members. Addresses the following kernel log seen when attempting to use RDMA: Kernel unaligned access at TPC[10507a88] rds_ib_cm_connect_complete+0x1bc/0x1e0 [rds_rdma] Acked-by: Chien Yen <chien.yen@xxxxxxxxxx> Signed-off-by: shamir rabinovitch <shamir.rabinovitch@xxxxxxxxxx> [Minor tweaks for top of tree by:] Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit edac450d5b5d47aa11e614f19c8f9b17f362e608 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri May 1 08:27:59 2015 +0800 netlink: Remove max_size setting We currently limit the hash table size to 64K which is very bad as even 10 years ago it was relatively easy to generate millions of sockets. Since the hash table is naturally limited by memory allocation failure, we don't really need an explicit limit so this patch removes it. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ebe6afaf0057ac3eaeb98defd5456894b446d22 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 19:22:23 2015 -0700 Linux 4.1-rc2 commit a5d28090405038ca1f40c13f38d6d4285456efee Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 30 09:40:40 2015 -0700 codel: fix maxpacket/mtu confusion Under presence of TSO/GSO/GRO packets, codel at low rates can be quite useless. In following example, not a single packet was ever dropped, while average delay in codel queue is ~100 ms ! qdisc codel 0: parent 1:12 limit 16000p target 5.0ms interval 100.0ms Sent 134376498 bytes 88797 pkt (dropped 0, overlimits 0 requeues 0) backlog 13626b 3p requeues 0 count 0 lastcount 0 ldelay 96.9ms drop_next 0us maxpacket 9084 ecn_mark 0 drop_overlimit 0 This comes from a confusion of what should be the minimal backlog. It is pretty clear it is not 64KB or whatever max GSO packet ever reached the qdisc. codel intent was to use MTU of the device. After the fix, we finally drop some packets, and rtt/cwnd of my single TCP flow are meeting our expectations. qdisc codel 0: parent 1:12 limit 16000p target 5.0ms interval 100.0ms Sent 102798497 bytes 67912 pkt (dropped 1365, overlimits 0 requeues 0) backlog 6056b 3p requeues 0 count 1 lastcount 1 ldelay 36.3ms drop_next 0us maxpacket 10598 ecn_mark 0 drop_overlimit 0 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Kathleen Nichols <nichols@xxxxxxxxxxx> Cc: Dave Taht <dave.taht@xxxxxxxxx> Cc: Van Jacobson <vanj@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8663da2c0919896788321cd8a0016af08588c656 Merge: 101a6fd 2c869b2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 18:23:53 2015 -0700 Merge tag 'for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 fixes from Ted Ts'o: "Some miscellaneous bug fixes and some final on-disk and ABI changes for ext4 encryption which provide better security and performance" * tag 'for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: fix growing of tiny filesystems ext4: move check under lock scope to close a race. ext4: fix data corruption caused by unwritten and delayed extents ext4 crypto: remove duplicated encryption mode definitions ext4 crypto: do not select from EXT4_FS_ENCRYPTION ext4 crypto: add padding to filenames before encrypting ext4 crypto: simplify and speed up filename encryption commit 101a6fd387801bbe164eafea3950b98f8e6440bb Merge: 61f06db 71aee81 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 18:15:48 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "One intel fix, one rockchip fix, and a bunch of radeon fixes for some regressions from audio rework and vm stability" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/i915/chv: Implement WaDisableShadowRegForCpd drm/radeon: fix userptr return value checking (v2) drm/radeon: check new address before removing old one drm/radeon: reset BOs address after clearing it. drm/radeon: fix lockup when BOs aren't part of the VM on release drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5 drm/radeon: adjust pll when audio is not enabled drm/radeon: only enable audio streams if the monitor supports it drm/radeon: only mark audio as connected if the monitor supports it (v3) drm/radeon/audio: don't enable packets until the end drm/radeon: drop dce6_dp_enable drm/radeon: fix ordering of AVI packet setup drm/radeon: Use drm_calloc_ab for CS relocs drm/rockchip: fix error check when getting irq MAINTAINERS: add entry for Rockchip drm drivers commit 71aee81937963ccb07b3fa1b912e4cc6cd77dfa8 Merge: df9ebeb a04f90a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon May 4 08:56:47 2015 +1000 Merge tag 'drm-intel-fixes-2015-04-30' of git://anongit.freedesktop.org/drm-intel into drm-fixes Just a single intel fix * tag 'drm-intel-fixes-2015-04-30' of git://anongit.freedesktop.org/drm-intel: drm/i915/chv: Implement WaDisableShadowRegForCpd commit df9ebeb2da3ae0122f44521ee833d31e1a2b3845 Merge: feb589e 3ea6892 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon May 4 08:56:27 2015 +1000 Merge branch 'drm-next0420' of https://github.com/markyzq/kernel-drm-rockchip into drm-fixes one fix and maintainers update * 'drm-next0420' of https://github.com/markyzq/kernel-drm-rockchip: drm/rockchip: fix error check when getting irq MAINTAINERS: add entry for Rockchip drm drivers commit 3b8786ff7a1b31645ae2c26a2ec32dbd42ac1094 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 1 17:16:01 2015 +0100 ARM: 8352/1: perf: Fix the pmu node name in warning message With commit 9fd85eb502a7 ("ARM: pmu: add support for interrupt-affinity property"), we print a warning when we find a PMU SPI with a missing missing interrupt-affinity property in a pmu node. Unfortunately, we pass the wrong (NULL) device node to of_node_full_name, resulting in unhelpful messages such as: hw perfevents: Failed to parse <no-node>/interrupt-affinity[0] This patch fixes the name to that of the pmu node. Fixes: 9fd85eb502a7 (ARM: pmu: add support for interrupt-affinity property) Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 338d9dd3e2aee00a9198e8bf6e7d535d3feeaf32 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 1 17:15:23 2015 +0100 ARM: 8351/1: perf: don't warn about missing interrupt-affinity property for PPIs PPIs are affine by nature, so the interrupt-affinity property is not used and therefore we shouldn't print a warning in its absence. Reported-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 59c3191628fd1ced948d099f3138b92b06281520 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 30 19:51:43 2015 +0100 ARM: 8350/1: proc-feroceon: Fix feroceon_proc_info macro bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with relative offset") broke booting for Kirkwood. The kernel would say: Starting kernel ... Uncompressing Linux... done, booting the kernel. Error: unrecognized/unsupported processor variant (0x56251311). Fix it by removing the extraneous .long __feroceon_setup from the feroceon_proc_info macro. Fixes: bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with relative offset") Reported-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 13f2fa7cb33d82b95e1e1dab8c95fa619b49f418 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Thu Apr 30 14:36:03 2015 +0100 ARM: 8349/1: arch/arm/mm/proc-arm925.S: remove dead #ifdef block The block could never be compiled; CPU_ICACHE_STREAMING_DISABLE has not been defined in Kconfig since the very first Git commit. Hence, we can safely remove the entire block. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 024587dc2137a22096372fc8df4b283e84e057b5 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Thu Apr 30 14:34:35 2015 +0100 ARM: 8348/1: remove comments on CPU_ARM1020_CPU_IDLE CPU_ARM1020_CPU_IDLE is not defined in Kconfig. The last reference on LKML dates back to 2001, so we can safely remove the comments to make static analysis tools happy. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1424532b2163bf1580f4b1091a5801e12310fac5 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Apr 29 11:29:19 2015 +0100 ARM: 8347/1: dma-mapping: fix off-by-one check in arm_setup_iommu_dma_ops Patch 22b3c181c6c324a46f71aae806d8ddbe61d25761 ("arm: dma-mapping: limit IOMMU mapping size") added a check for IO address space size. However this patch broke IOMMU initialization for typical platforms initialized from device tree, which get the default IO address space size of 4GiB. This value doesn't fit into size_t and fails a check introduced by that commit resulting in failed dma-mapping/iommu initialization. This patch fixes this issue by adding proper support for full 4GiB address space size. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f673821864899153142365aca888435815ac93f0 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Wed Apr 8 20:51:57 2015 +0200 ath9k: fix per-packet tx power configuration Do not use ieee80211_vif pointer in ath_get_rate_txpower() since it has been overwritten by setup_frame_info() and it will result in a corrupted tx power configuration. Set per-packet tx power in setup_frame_info() according to current vif tx power. Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0581276deb9c2578a17d9f4463e7b5172da99eb9 Merge: 414b7e3 e7afe89 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Sun May 3 23:53:02 2015 +0300 Merge tag 'iwlwifi-for-kalle-2015-04-28' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes * fix firmware API for -13.ucode * fix RSSI handling that avoid bad roaming decision * fix firmware debug * fix MFUART operation * fix ASSERT while restart the hardware (because of another ASSERT e.g) commit 61f06db00e06b436dca4725c200c891ae8a4a92d Merge: 3333222 118c855 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 13:22:32 2015 -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 three logical fixes (as 5 patches). The 3ware class of drivers were causing an oops with multiqueue by tearing down the command mappings after completing the command (where the variables in the command used to tear down the mapping were no-longer valid). There's also a fix for the qnap iscsi target which was choking on us sending it commands that were too long and a fix for the reworked aha1542 allocating GFP_KERNEL under a lock" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: 3w-9xxx: fix command completion race 3w-xxxx: fix command completion race 3w-sas: fix command completion race aha1542: Allocate memory before taking a lock SCSI: add 1024 max sectors black list flag commit 9b071a43553d6b2df4364951639f61076a8dd676 Author: Philippe Coval <philippe.coval@xxxxxxxxxxxxxxxxxxx> Date: Sat May 2 15:14:08 2015 +0200 ideapad_laptop: Add Lenovo G40-30 to devices without radio switch Lenovo G40-30 does not provide any physical radio switch to user. Therefore disable the rfkill switch identically to the Yoga 2 approach. (Note for later, models ids are sorted alphabetically). Benefit is to make wireless available again without unloading module. It was tested successfully on 4.1.0-rc1 base with this model: (LENOVO_MT_80FY_BU_idea_FM_Lenovo G40-30). BugLink: https://bugs.launchpad.net/ideapad-laptop/+bug/1450946 Cc: platform-driver-x86@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Philippe Coval <rzr@xxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 3333222484dc7e46fd17cc1d394088fb0d963e6c Merge: 180d89f 63f89ca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 10:49:04 2015 -0700 Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma Pull slave dmaengine fixes from Vinod Koul: "Here are the fixes in dmaengine subsystem for rc2: - privatecnt fix for slave dma request API by Christopher - warn fix for PM ifdef in usb-dmac by Geert - fix hardware dependency for xgene by Jean" * 'next' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: increment privatecnt when using dma_get_any_slave_channel dmaengine: xgene: Set hardware dependency dmaengine: usb-dmac: Protect PM-only functions to kill warning commit 180d89f6ef9c22d088e324eb5e7d030ef3f84df0 Merge: 6c3c1eb 0aab374 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 3 10:28:36 2015 -0700 Merge tag 'powerpc-4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc fixes from Michael Ellerman: - build fix for SMP=n in book3s_xics.c - fix for Daniel's pci_controller_ops on powernv. - revert the TM syscall abort patch for now. - CPU affinity fix from Nathan. - two EEH fixes from Gavin. - fix for CR corruption from Sam. - selftest build fix. * tag 'powerpc-4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: powerpc/powernv: Restore non-volatile CRs after nap powerpc/eeh: Delay probing EEH device during hotplug powerpc/eeh: Fix race condition in pcibios_set_pcie_reset_state() powerpc/pseries: Correct cpu affinity for dlpar added cpus selftests/powerpc: Fix the pmu install rule Revert "powerpc/tm: Abort syscalls in active transactions" powerpc/powernv: Fix early pci_controller_ops loading. powerpc/kvm: Fix SMP=n build error in book3s_xics.c commit 2c869b262a10ca99cb866d04087d75311587a30c Author: Jan Kara <jack@xxxxxxx> Date: Sat May 2 23:58:32 2015 -0400 ext4: fix growing of tiny filesystems The estimate of necessary transaction credits in ext4_flex_group_add() is too pessimistic. It reserves credit for sb, resize inode, and resize inode dindirect block for each group added in a flex group although they are always the same block and thus it is enough to account them only once. Also the number of modified GDT block is overestimated since we fit EXT4_DESC_PER_BLOCK(sb) descriptors in one block. Make the estimation more precise. That reduces number of requested credits enough that we can grow 20 MB filesystem (which has 1 MB journal, 79 reserved GDT blocks, and flex group size 16 by default). Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> commit 280227a75b56ab5d35854f3a77ef74a7ad56a203 Author: Davide Italiano <dccitaliano@xxxxxxxxx> Date: Sat May 2 23:21:15 2015 -0400 ext4: move check under lock scope to close a race. fallocate() checks that the file is extent-based and returns EOPNOTSUPP in case is not. Other tasks can convert from and to indirect and extent so it's safe to check only after grabbing the inode mutex. Signed-off-by: Davide Italiano <dccitaliano@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit d2dc317d564a46dfc683978a2e5a4f91434e9711 Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Sat May 2 21:36:55 2015 -0400 ext4: fix data corruption caused by unwritten and delayed extents Currently it is possible to lose whole file system block worth of data when we hit the specific interaction with unwritten and delayed extents in status extent tree. The problem is that when we insert delayed extent into extent status tree the only way to get rid of it is when we write out delayed buffer. However there is a limitation in the extent status tree implementation so that when inserting unwritten extent should there be even a single delayed block the whole unwritten extent would be marked as delayed. At this point, there is no way to get rid of the delayed extents, because there are no delayed buffers to write out. So when a we write into said unwritten extent we will convert it to written, but it still remains delayed. When we try to write into that block later ext4_da_map_blocks() will set the buffer new and delayed and map it to invalid block which causes the rest of the block to be zeroed loosing already written data. For now we can fix this by simply not allowing to set delayed status on written extent in the extent status tree. Also add WARN_ON() to make sure that we notice if this happens in the future. This problem can be easily reproduced by running the following xfs_io. xfs_io -f -c "pwrite -S 0xaa 4096 2048" \ -c "falloc 0 131072" \ -c "pwrite -S 0xbb 65536 2048" \ -c "fsync" /mnt/test/fff echo 3 > /proc/sys/vm/drop_caches xfs_io -c "pwrite -S 0xdd 67584 2048" /mnt/test/fff This can be theoretically also reproduced by at random by running fsx, but it's not very reliable, though on machines with bigger page size (like ppc) this can be seen more often (especially xfstest generic/127) Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9402bdcacdfedf7219a17e4d93300058a8e2aa4c Author: Chanho Park <parkch98@xxxxxxxxx> Date: Sat May 2 10:29:22 2015 -0400 ext4 crypto: remove duplicated encryption mode definitions This patch removes duplicated encryption modes which were already in ext4.h. They were duplicated from commit 3edc18d and commit f542fb. Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Michael Halcrow <mhalcrow@xxxxxxxxxx> Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx> Signed-off-by: Chanho Park <chanho61.park@xxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit fb63e5489f7ef5bb4d1a655984ca7ef98ffc5849 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat May 2 10:29:19 2015 -0400 ext4 crypto: do not select from EXT4_FS_ENCRYPTION This patch adds a tristate EXT4_ENCRYPTION to do the selections for EXT4_FS_ENCRYPTION because selecting from a bool causes all the selected options to be built-in, even if EXT4 itself is a module. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 6c3c1eb3c35e8856d6dcb01b412316a676f58bbe Merge: e412d3a a134f08 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 1 20:51:04 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Receive packet length needs to be adjust by 2 on RX to accomodate the two padding bytes in altera_tse driver. From Vlastimil Setka. 2) If rx frame is dropped due to out of memory in macb driver, we leave the receive ring descriptors in an undefined state. From Punnaiah Choudary Kalluri 3) Some netlink subsystems erroneously signal NLM_F_MULTI. That is only for dumps. Fix from Nicolas Dichtel. 4) Fix mis-use of raw rt->rt_pmtu value in ipv4, one must always go via the ipv4_mtu() helper. From Herbert Xu. 5) Fix null deref in bridge netfilter, and miscalculated lengths in jump/goto nf_tables verdicts. From Florian Westphal. 6) Unhash ping sockets properly. 7) Software implementation of BPF divide did 64/32 rather than 64/64 bit divide. The JITs got it right. Fix from Alexei Starovoitov. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (30 commits) ipv4: Missing sk_nulls_node_init() in ping_unhash(). net: fec: Fix RGMII-ID mode net/mlx4_en: Schedule napi when RX buffers allocation fails netxen_nic: use spin_[un]lock_bh around tx_clean_lock net/mlx4_core: Fix unaligned accesses mlx4_en: Use correct loop cursor in error path. cxgb4: Fix MC1 memory offset calculation bnx2x: Delay during kdump load net: Fix Kernel Panic in bonding driver debugfs file: rlb_hash_table net: dsa: Fix scope of eeprom-length property net: macb: Fix race condition in driver when Rx frame is dropped hv_netvsc: Fix a bug in netvsc_start_xmit() altera_tse: Correct rx packet length mlx4: Fix tx ring affinity_mask creation tipc: fix problem with parallel link synchronization mechanism tipc: remove wrong use of NLM_F_MULTI bridge/nl: remove wrong use of NLM_F_MULTI bridge/mdb: remove wrong use of NLM_F_MULTI net: sched: act_connmark: don't zap skb->nfct trivial: net: systemport: bcmsysport.h: fix 0x0x prefix ... commit e412d3a32badcf17541d7443b033769fdf39b545 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Sat May 2 08:42:29 2015 +0930 virtio: fix typo in vring_need_event() doc comment Here the "other side" refers to the guest or host. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit feda5f939eafa4af94dfb547847806e0f2df73b8 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Sat May 2 08:42:38 2015 +0930 virtio: pass baton to Michael Tsirkin With my job change kernel work will be "own time"; I'm keeping lguest and modules (and the virtio standards work), but virtio kernel has to go. This makes it clear that Michael is in charge. He's good, but having me watch over his shoulder won't help. Good luck Michael! Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6fa72720a6b6eced0220031a1e5598e3a2c533ae Merge: 64887b6 082a75d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 1 20:35:39 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph RBD fix from Sage Weil. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: rbd: end I/O the entire obj_request on error commit a134f083e79fb4c3d0a925691e732c56911b4326 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri May 1 22:02:47 2015 -0400 ipv4: Missing sk_nulls_node_init() in ping_unhash(). If we don't do that, then the poison value is left in the ->pprev backlink. This can cause crashes if we do a disconnect, followed by a connect(). Tested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Reported-by: Wen Xu <hotdog3645@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 082a75dad84d79d1c15ea9e50f31cb4bb4fa7fd6 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Sat Apr 25 15:56:15 2015 +0300 rbd: end I/O the entire obj_request on error When we end I/O struct request with error, we need to pass obj_request->length as @nr_bytes so that the entire obj_request worth of bytes is completed. Otherwise block layer ends up confused and we trip on rbd_assert(more ^ (which == img_request->obj_request_count)); in rbd_img_obj_callback() due to more being true no matter what. We already do it in most cases but we are missing some, in particular those where we don't even get a chance to submit any obj_requests, due to an early -ENOMEM for example. A number of obj_request->xferred assignments seem to be redundant but I haven't touched any of obj_request->xferred stuff to keep this small and isolated. Cc: Alex Elder <elder@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.10+ Reported-by: Shawn Edwards <lesser.evil@xxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit db7d4d7f40215843000cb9d441c9149fd42ea36b Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri May 1 16:31:41 2015 -0600 vfio: Fix runaway interruptible timeout Commit 13060b64b819 ("vfio: Add and use device request op for vfio bus drivers") incorrectly makes use of an interruptible timeout. When interrupted, the signal remains pending resulting in subsequent timeouts occurring instantly. This makes the loop spin at a much higher rate than intended. Instead of making this completely non-interruptible, we can change this into a sort of interruptible-once behavior and use the "once" to log debug information. The driver API doesn't allow us to abort and return an error code. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Fixes: 13060b64b819 Cc: stable@xxxxxxxxxxxxxxx # v4.0 commit 8ebb7e9c1a502cfc300618c19c3c6f06fc76d237 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Thu Apr 30 22:05:58 2015 +0200 power: bq27x00_battery: Add missing MODULE_ALIAS Without MODULE_ALIAS bq27x00_battery module won't get loaded automatically. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a44cd7a05496d60fd2ba8cca080e3db8f481549b Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri May 1 16:56:50 2015 -0400 ext4 crypto: add padding to filenames before encrypting This obscures the length of the filenames, to decrease the amount of information leakage. By default, we pad the filenames to the next 4 byte boundaries. This costs nothing, since the directory entries are aligned to 4 byte boundaries anyway. Filenames can also be padded to 8, 16, or 32 bytes, which will consume more directory space. Change-Id: Ibb7a0fb76d2c48e2061240a709358ff40b14f322 Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 5de0b4d0cd153c471640b13aae6ae6d18d0a4603 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri May 1 16:56:45 2015 -0400 ext4 crypto: simplify and speed up filename encryption Avoid using SHA-1 when calculating the user-visible filename when the encryption key is available, and avoid decrypting lots of filenames when searching for a directory entry in a directory block. Change-Id: If4655f144784978ba0305b597bfa1c8d7bb69e63 Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 0a73125d308c1453dada1e2998f1c7f68094c45f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Apr 30 12:55:02 2015 -0700 power: reset: Add MFD_SYSCON depends for brcmstb The Broadcom STB reboot driver depends on MFD_SYSCON, it uses syscon_regmap_lookup_by_phandle() which will not lookup syscon phandles if MFD_SYSCON is disabled, and instead will return -ENOSYS since it is turned into an inline stub. Fixes: 030494e75064c ("power: reset: Add reboot driver for brcmstb") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5f55d2ae699d1756ad6132786c7f9c27dc456b66 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 28 10:23:30 2015 -0600 vfio-pci: Log device requests more verbosely Log some clues indicating whether the user is receiving device request interfaces or not listening. This can help indicate why a driver unbind is blocked or explain why QEMU automatically unplugged a device from the VM. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 1de2a662d0f2d3b211b7d10ea6578abe5c39eda3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Apr 10 11:52:40 2015 -0700 MAINTAINERS: Update brcmstb entry We have not heard back from Marc in a while, since we last asked him to ack/nack this change here: https://lkml.org/lkml/2015/1/14/1004 This was back in January, we are in the 3.21^W4.1 merge window now, so, as outlined in this email thread, remove him from the MAINTAINERS list now. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 049a4c506586c293b6fe54b5c61762230417dbf8 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Apr 10 11:50:40 2015 -0700 MAINTAINERS: Remove Christian Daudt for mach-bcm Christian has not been responding to mach-bcm related emails since around July 2013, and with Scott and Ray maintaining the platform, we should have enough coverage to get that going now. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d3cc2e865055f58378de86c6b51a5636328ca827 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Apr 10 11:49:44 2015 -0700 MAINTAINERS: Update mach-bcm maintainers list Add Ray Jui and Scott Branden for the mach-bcm/ entries. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 64887b6882de36069c18ef2d9623484d6db7cd3a Merge: 036f351 5d2361d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 1 07:46:21 2015 -0700 Merge branch 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fixes from Chris Mason: "A few more btrfs fixes. These range from corners Filipe found in the new free space cache writeback to a grab bag of fixes from the list" * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: btrfs_release_extent_buffer_page didn't free pages of dummy extent Btrfs: fill ->last_trans for delayed inode in btrfs_fill_inode. btrfs: unlock i_mutex after attempting to delete subvolume during send btrfs: check io_ctl_prepare_pages return in __btrfs_write_out_cache btrfs: fix race on ENOMEM in alloc_extent_buffer btrfs: handle ENOMEM in btrfs_alloc_tree_block Btrfs: fix find_free_dev_extent() malfunction in case device tree has hole Btrfs: don't check for delalloc_bytes in cache_save_setup Btrfs: fix deadlock when starting writeback of bg caches Btrfs: fix race between start dirty bg cache writeout and bg deletion commit 036f351e2566eaa5826581c8512dd55f6585ad01 Merge: 4a152c3 8291fd0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri May 1 07:44:32 2015 -0700 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes from Will Deacon: "Not too much here, but we've addressed a couple of nasty issues in the dma-mapping code as well as adding the halfword and byte variants of load_acquire/store_release following on from the CSD locking bug that you fixed in the core. - fix perf devicetree warnings at probe time - fix memory leak in __dma_free() - ensure DMA buffers are always zeroed - show IRQ trigger in /proc/interrupts (for parity with ARM) - implement byte and halfword access for smp_{load_acquire,store_release}" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: perf: Fix the pmu node name in warning message arm64: perf: don't warn about missing interrupt-affinity property for PPIs arm64: add missing PAGE_ALIGN() to __dma_free() arm64: dma-mapping: always clear allocated buffers ARM64: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL arm64: add missing data types in smp_load_acquire/smp_store_release commit e944ec2ca00fb0170ba9d7f2aeec32c22dc0d4ec Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Apr 29 21:08:48 2015 +0900 perf report: Fix -T/--threads option to work again The commit 512ae1bd6acb ("perf tools: Consolidate management of default sort orders") changed default value of the 'sort_order' variable to NULL indicating that users don't set any sort keys on the command line. However it missed to update a check in perf_evlist__tty_browse_hists() so that 'perf report -T' cannot show the per-thread values after the normal output. This patch fixes it to work again. Note that the -T option only works on --stdio and neither --sort nor --parent option was given. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1430309328-28317-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5793affe8c723ece8114b898ab9003c7d97f86d1 Author: Jeppe Ledet-Pedersen <jlp@xxxxxxxxxxxx> Date: Wed Apr 29 17:05:01 2015 +0200 net: can: xilinx_can: fix extended frame handling Using IDR_SRR in RXFIFO_ID to test for the presence of data is only valid for standard frames. For extended frames the bit is always 1 and IDR_RTR should be used instead. This patch switches the check to use CAN_RTR_FLAG which is correctly set when reading the ID. The patch also changes the DW1/DW2 to be read unconditionally, since this is necessary to remove the frame from the RXFIFO. Signed-off-by: Jeppe Ledet-Pedersen <jlp@xxxxxxxxxxxx> Acked-by: Kedareswara rao Appana <appanad@xxxxxxxxxx> Cc: linux-stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 0aab3747091db309b8a484cfd382a41644552aa3 Author: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Date: Fri May 1 16:50:34 2015 +1000 powerpc/powernv: Restore non-volatile CRs after nap Patches 7cba160ad "powernv/cpuidle: Redesign idle states management" and 77b54e9f2 "powernv/powerpc: Add winkle support for offline cpus" use non-volatile condition registers (cr2, cr3 and cr4) early in the system reset interrupt handler (system_reset_pSeries()) before it has been determined if state loss has occurred. If state loss has not occurred, control returns via the power7_wakeup_noloss() path which does not restore those condition registers, leaving them corrupted. Fix this by restoring the condition registers in the power7_wakeup_noloss() case. This is apparent when running a KVM guest on hardware that does not support winkle or sleep and the guest makes use of secondary threads. In practice this means Power7 machines, though some early unreleased Power8 machines may also be susceptible. The secondary CPUs are taken off line before the guest is started and they call pnv_smp_cpu_kill_self(). This checks support for sleep states (in this case there is no support) and power7_nap() is called. When the CPU is woken, power7_nap() returns and because the CPU is still off line, the main while loop executes again. The sleep states support test is executed again, but because the tested values cannot have changed, the compiler has optimized the test away and instead we rely on the result of the first test, which has been left in cr3 and/or cr4. With the result overwritten, the wrong branch is taken and power7_winkle() is called on a CPU that does not support it, leading to it stalling. Fixes: 7cba160ad789 ("powernv/cpuidle: Redesign idle states management") Fixes: 77b54e9f213f ("powernv/powerpc: Add winkle support for offline cpus") [mpe: Massage change log a bit more] Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8cc67c3b9366699b35775912e0bb91b4f845a57a Merge: 0140e61 1d90a68 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri May 1 08:30:26 2015 +0200 Merge tag 'perf-urgent-for-mingo-2' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf tooling fixes from Arnaldo Carvalho de Melo: . Fix a segfault in 'perf top' when kernel map is restricted (Wang Nan) . Fix hung wakeup tasks after requeueing in 'perf bench futex' (Davidlohr Bueso) . Fix bug in perf probe global variables handling, missing curly braces on an if body (He Kuang) . 'perf bench numa' fixes (command line help/handling, etc) (Petr Holasek) . fix the 'perf kmem' build on RHEL6/OL6 (David Ahern) . fix the libtraceevent build on 32-bit arch (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d91dafc02f42e23c1a906202ebde5d7c49ef058d Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri May 1 09:22:15 2015 +1000 powerpc/eeh: Delay probing EEH device during hotplug Commit 1c509148b ("powerpc/eeh: Do probe on pci_dn") probes EEH devices in early stage, which is reasonable to pSeries platform. However, it's wrong for PowerNV platform because the PE# isn't determined until the resources (IO and MMIO) are assigned to PE in hotplug case. So we have to delay probing EEH devices for PowerNV platform until the PE# is assigned. Fixes: ff57b454ddb9 ("powerpc/eeh: Do probe on pci_dn") Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1ae79b78bc52b910a224f3795122538516e07b5f Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri May 1 09:14:11 2015 +1000 powerpc/eeh: Fix race condition in pcibios_set_pcie_reset_state() When asserting reset in pcibios_set_pcie_reset_state(), the PE is enforced to (hardware) frozen state in order to drop unexpected PCI transactions (except PCI config read/write) automatically by hardware during reset, which would cause recursive EEH error. However, the (software) frozen state EEH_PE_ISOLATED is missed. When users get 0xFF from PCI config or MMIO read, EEH_PE_ISOLATED is set in PE state retrival backend. Unfortunately, nobody (the reset handler or the EEH recovery functinality in host) will clear EEH_PE_ISOLATED when the PE has been passed through to guest. The patch sets and clears EEH_PE_ISOLATED properly during reset in function pcibios_set_pcie_reset_state() to fix the issue. Fixes: 28158cd ("Enhance pcibios_set_pcie_reset_state()") Reported-by: Carol L. Soto <clsoto@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Tested-by: Carol L. Soto <clsoto@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f32393c943e297b8ae180c8f83d81a156c7d0412 Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 29 20:42:06 2015 -0500 powerpc/pseries: Correct cpu affinity for dlpar added cpus The incorrect ordering of operations during cpu dlpar add results in invalid affinity for the cpu being added. The ibm,associativity property in the device tree is populated with all zeroes for the added cpu which results in invalid affinity mappings and all cpus appear to belong to node 0. This occurs because rtas configure-connector is called prior to making the rtas set-indicator calls. Phyp does not assign affinity information for a cpu until the rtas set-indicator calls are made to set the isolation and allocation state. Correct the order of operations to make the rtas set-indicator calls (done in dlpar_acquire_drc) before calling rtas configure-connector. Fixes: 1a8061c46c46 ("powerpc/pseries: Add kernel based CPU DLPAR handling") Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2fa30fe957f3b3599a2f75688405495771877c14 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri May 1 11:10:09 2015 +1000 selftests/powerpc: Fix the pmu install rule My patch to add install support for the powerpc selftests had a typo, leading to the three tests in the pmu directory itself not being installed. Fixes: 6faeeea44b84 ("selftests: Add install support for the powerpc tests") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 12392f5896c9affc03c1ddd95a83c32238862a58 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Apr 29 16:55:43 2015 +0300 ARM: shmobile: koelsch: Fix adv7511 IRQ sensing The adv7511 IRQ is low level triggered, not falling edge triggered. The wrong sense configuration results in no interrupt being triggered at all, breaking hotplug detection. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Fixes: 83a0731b39f3 ("ARM: shmobile: koelsch: Add DU HDMI output support") Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2375a212ca06d35f90841bc511b3e9ae8a95a82e Author: Antonio Ospite <ao2@xxxxxx> Date: Wed Apr 29 10:37:24 2015 +0200 ACPI / documentation: fix a sentence about GPIO resources The sentence "These resources are used be used to pass ..." contains a suspicious repetition, likely the author meant "These resources can be used to pass ...". Simplify the wording. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4a152c3913fb46fc2e29081d0251862106c3d55f Merge: 5a2e73b 50904a7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 14:23:31 2015 -0700 Merge tag 'pm+acpi-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI fixes from Rafael Wysocki: "Three regression fixes this time, one for a recent regression in the cpuidle core affecting multiple systems, one for an inadvertently added duplicate typedef in ACPICA that breaks compilation with GCC 4.5 and one for an ACPI Smart Battery Subsystem driver regression introduced during the 3.18 cycle (stable-candidate). Specifics: - Fix for a regression in the cpuidle core introduced by one of the recent commits in the clockevents_notify() removal series that put a call to a function which had to be executed with disabled interrupts into a code path running with enabled interrupts (Rafael J Wysocki) - Fix for a build problem in ACPICA (with GCC 4.5) introduced by one of the recent ACPICA tools commits that added a duplicate typedef to one of the ACPICA's header files by mistake (Olaf Hering) - Fix for a regression in the ACPI SBS (Smart Battery Subsystem) driver introduced during the 3.18 development cycle causing the smart battery manager to be marked as not present when it should be marked as present (Chris Bainbridge)" * tag 'pm+acpi-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: cpuidle: Run tick_broadcast_exit() with disabled interrupts ACPI / SBS: Enable battery manager when present ACPICA: remove duplicate u8 typedef commit 3349fb64b2927407017d970dd5c4daf3c5ad69f8 Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Date: Wed Apr 29 21:21:40 2015 +0100 ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook Commit 7bc5a2bad0b8 'ACPI: Support _OSI("Darwin") correctly' caused the MacBook firmware to expose the SBS, resulting in intermittent hangs of several minutes on boot, and failure to detect or report the battery. Fix this by adding a 5 us delay to the start of each SMBUS transaction. This timing is the result of experimentation - hangs were observed with 3 us but never with 5 us. Fixes: 7bc5a2bad0b8 'ACPI: Support _OSI("Darwin") correctly' Link: https://bugzilla.kernel.org/show_bug.cgi?id=94651 Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Cc: 3.18+ <stable@xxxxxxxxxxxxxxx> # 3.18+ [ rjw: Subject and changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5a2e73b281b7b8930407daf01b64d69ea942417e Merge: 9dbbe3c 0ae3aba Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 14:00:18 2015 -0700 Merge tag 'sound-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "One nice fix is Peter's patch to make the old good SB Audigy PCI to work with 32bit DMA instead of 31bit. This allows the MIDI synth running on modern machines again. Along with it, a few fixes for emu10k1 have merged. In ASoC side, there is one fix in the common code, but it's just trivial additions of static inline functions for CONFIG_PM=n. The rest are various device-specific small fixes. Last but not least, a few HD-audio fixes are included, as usual, too" * tag 'sound-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (23 commits) ASoC: rt5677: fixed wrong DMIC ref clock ALSA: emu10k1: Emu10k2 32 bit DMA mode ALSA: emux: Fix mutex deadlock in OSS emulation ASoC: Update email-id of Rajeev Kumar ASoC: rt5645: Fix mask for setting RT5645_DMIC_2_DP_GPIO12 bit ALSA: hda - Fix missing va_end() call in snd_hda_codec_pcm_new() ALSA: emux: Fix mutex deadlock at unloading ALSA: emu10k1: Fix card shortname string buffer overflow ALSA: hda - Add mute-LED mode control to Thinkpad ALSA: hda - Fix mute-LED fixed mode ALSA: hda - Fix click noise at start on Dell XPS13 ASoC: rt5645: Add ACPI match ID ASoC: rt5677: add register patch for PLL ASoC: Intel: fix the makefile for atom code ASoC: dapm: Enable autodisable on SOC_DAPM_SINGLE_TLV_AUTODISABLE ASoC: add static inline funcs to fix a compiling issue ASoC: Intel: sst_byt: remove kfree for memory allocated with devm_kzalloc ASoC: samsung: s3c24xx-i2s: Fix return value check in s3c24xx_iis_dev_probe() ASoC: tfa9879: Fix return value check in tfa9879_i2c_probe() ASoC: fsl_ssi: Fix platform_get_irq() error handling ... commit fc9e38c0f4d38bfc68b405cf48365d65f7b6319e Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Dec 14 23:04:14 2014 +0100 ARM: pxa: lubbock: use new pxa_cplds driver As the interrupt handling was transferred to the pxa_cplds driver, make the switch in lubbock platform code. Fixes: 157d2644cb0c ("ARM: pxa: change gpio to platform device") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 277688639f98a9e34a6f109f9cd6129f92e718c1 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Fri Apr 24 23:22:35 2015 +0200 ARM: pxa: mainstone: use new pxa_cplds driver As the interrupt handling was transferred to the pxa_cplds driver, make the switch in mainstone platform code. Fixes: 157d2644cb0c ("ARM: pxa: change gpio to platform device") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit aa8d6b73ea33c2167c543663ab66039ec94d58f1 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Fri Apr 24 22:22:19 2015 +0200 ARM: pxa: pxa_cplds: add lubbock and mainstone IO Historically, this support was in arch/arm/mach-pxa/lubbock.c and arch/arm/mach-pxa/mainstone.c. When gpio-pxa was moved to drivers/pxa, it became a driver, and its initialization and probing happened at postcore initcall. The lubbock code used to install the chained lubbock interrupt handler at init_irq() time. The consequence of the gpio-pxa change is that the installed chained irq handler lubbock_irq_handler() was overwritten in pxa_gpio_probe(_dt)(), removing : - the handler - the falling edge detection setting of GPIO0, which revealed the interrupt request from the lubbock IO board. As a fix, move the gpio0 chained handler setup to a place where we have the guarantee that pxa_gpio_probe() was called before, so that lubbock handler becomes the true IRQ chained handler of GPIO0, demuxing the lubbock IO board interrupts. This patch moves all that handling to a mfd driver. It's only purpose for the time being is the interrupt handling, but in the future it should encompass all the motherboard CPLDs handling : - leds - switches - hexleds The same logic applies to mainstone board. Fixes: 157d2644cb0c ("ARM: pxa: change gpio to platform device") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit e813bb2b955d9f72c94be7d592746b49929a499b Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 30 17:07:50 2015 +0200 net: fec: Fix RGMII-ID mode RGMII-ID uses an internal delay within the transmitter or receiver. This feature is phy specific. The rest of the communication is normal RGMII. So the fec driver has to check for all RGMII modes, not only 'PHY_INTERFACE_MODE_RGMII'. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07841f9d94c11afe00c0498cf242edf4075729f4 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 30 17:32:46 2015 +0300 net/mlx4_en: Schedule napi when RX buffers allocation fails When system is out of memory, refilling of RX buffers fails while the driver continue to pass the received packets to the kernel stack. At some point, when all RX buffers deplete, driver may fall into a sleep, and not recover when memory for new RX buffers is once again availible. This is because hardware does not have valid descriptors, so no interrupt will be generated for the driver to return to work in napi context. Fix it by schedule the napi poll function from stats_task delayed workqueue, as long as the allocations fail. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c232d8a8bb1416f7ec21bb1aabc7c4ec8a5a899e Author: Tony Camuso <tcamuso@xxxxxxxxxx> Date: Thu Apr 30 07:51:27 2015 -0400 netxen_nic: use spin_[un]lock_bh around tx_clean_lock While testing this driver with DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled did not produce any traces, it would be more prudent in the case of tx_clean_lock to use spin_[un]lock_bh, since this lock is manipulated in both the process and softirq contexts. This patch was tested for functionality and regressions with netperf and DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled. Signed-off-by: Tony Camuso <tcamuso@xxxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17d5ceb6e43ea545d6d92db2f3ddb035233ba335 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Wed Apr 29 16:52:51 2015 -0400 net/mlx4_core: Fix unaligned accesses Addresses the following kernel logs seen during boot: Kernel unaligned access at TPC[100ee150] mlx4_QUERY_HCA+0x80/0x248 [mlx4_core] Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c [mlx4_core] Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c [mlx4_core] Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c [mlx4_core] Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c [mlx4_core] Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Acked-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f94813f3c1d02090cc02dcfcbed339897830acb8 Author: Benjamin Poirier <bpoirier@xxxxxxx> Date: Wed Apr 29 15:59:35 2015 -0700 mlx4_en: Use correct loop cursor in error path. Signed-off-by: Benjamin Poirier <bpoirier@xxxxxxx> Fixes: 9e311e7 ("net/mlx4_en: Use affinity hint") Acked-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c62e8492ed7358bbe7da51666c7e0f6da9474ee Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Apr 30 12:41:28 2015 +0800 x86/PCI/ACPI: Make all resources except [io 0xcf8-0xcff] available on PCI bus An IO port or MMIO resource assigned to a PCI host bridge may be consumed by the host bridge itself or available to its child bus/devices. The ACPI specification defines a bit (Producer/Consumer) to tell whether the resource is consumed by the host bridge itself, but firmware hasn't used that bit consistently, so we can't rely on it. Before commit 593669c2ac0f ("x86/PCI/ACPI: Use common ACPI resource interfaces to simplify implementation"), arch/x86/pci/acpi.c ignored all IO port resources defined by acpi_resource_io and acpi_resource_fixed_io to filter out IO ports consumed by the host bridge itself. Commit 593669c2ac0f ("x86/PCI/ACPI: Use common ACPI resource interfaces to simplify implementation") started accepting all IO port and MMIO resources, which caused a regression that IO port resources consumed by the host bridge itself became available to its child devices. Then commit 63f1789ec716 ("x86/PCI/ACPI: Ignore resources consumed by host bridge itself") ignored resources consumed by the host bridge itself by checking the IORESOURCE_WINDOW flag, which accidently removed MMIO resources defined by acpi_resource_memory24, acpi_resource_memory32 and acpi_resource_fixed_memory32. On x86 and IA64 platforms, all IO port and MMIO resources are assumed to be available to child bus/devices except one special case: IO port [0xCF8-0xCFF] is consumed by the host bridge itself to access PCI configuration space. So explicitly filter out PCI CFG IO ports[0xCF8-0xCFF]. This solution will also ease the way to consolidate ACPI PCI host bridge common code from x86, ia64 and ARM64. Related ACPI table are archived at: https://bugzilla.kernel.org/show_bug.cgi?id=94221 Related discussions at: http://patchwork.ozlabs.org/patch/461633/ https://lkml.org/lkml/2015/3/29/304 Fixes: 63f1789ec716 (Ignore resources consumed by host bridge itself) Reported-by: Bernhard Thaler <bernhard.thaler@xxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: 4.0+ <stable@xxxxxxxxxxxxxxx> # 4.0+ Reviewed-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 50904a7ddd1cab3e1d2ca007161e976f858d934f Merge: 9e9d55e 61f8ff6 df8d9ee Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Apr 30 21:05:57 2015 +0200 Merge branches 'acpica', 'acpi-battery' and 'pm-cpuidle' commit 0ae3aba2865a5a6f5ee82e9651f0a69daf19d79c Merge: 7241ea5 d839c98 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 30 19:08:06 2015 +0200 Merge tag 'asoc-v4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v4.1 A few fixes for v4.1, none earth shattering and mostly driver related except for one change to fix !PM builds for Intel platforms which is done by adding stubs in the core so other platforms don't run into the same issue. commit 1add15646672ff4e7fe59bec2afcb5a0c80c5e49 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:45:04 2015 +0200 ieee802154: trace: fix endian convertion This patch fix endian convertions for extended address and short address handling when TP_printk is called. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Guido Günther <agx@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d2c8bf51d07729ae6887fa84947b1f825b3729e1 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:45:03 2015 +0200 at86rf230: add slp_tr support to start tx This patch adds support for one of the slp_tr gpio use cases which indicates the TX_START command without doing some spi bus traffic. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8500920317813ed420311d9cf16c345fc216fb86 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:45:02 2015 +0200 at86rf230: change state change if from trx_off If a transmit ends in a calibration which means the transceiver do a TRX_OFF state change, we can directly change into TX_ARET state instead doing a TX_ON to TX_ARET statechange. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2f8cdd95097bdcd8d1e2b02edb0a9deb1e034a7e Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:45:01 2015 +0200 at86rf230: remove unnecessary tx state change All supported transceivers can do a valid state change from TRX_OFF to AACK_ON. This patch removes the state change chain from TRX_OFF -> TX_ON -> AACK_ON instead we doing a directly state change from TRX_OFF to AACK_ON. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3b951ca7d2772834c7ca828f0fe5745480426982 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:45:00 2015 +0200 at86rf230: add TX_ARET_ON for calibration timeout This patch adds a calibration timeout reset when change from TRX_OFF to TX_ARET_ON which also occurs a calibration. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2ad33244db816755a27dcdd312a70d966c85f0ee Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:44:59 2015 +0200 at86rf230: move cal_timeout to state change This patch moves the calculation timeout of TRX_OFF to RX_AACK_ON handling to the async state change functionality. With this patch we can do a reset of calculation timeout when others TRX_OFF to RX_AACK_ON happens instead of doing this on interface up only. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5e8e01e262be1eeaae598be44b8e43b29aab842a Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:44:58 2015 +0200 at86rf230: remove tabs after define This patch cleanups the at86rf230 driver to use a space instead a tab after define. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5b4a10390460cccf17a9fac739e153d68cf25ef5 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Thu Apr 30 17:44:57 2015 +0200 cfg802154: pass name_assign_type to rdev_add_virtual_intf() This code is based on commit 6bab2e19c5ffd ("cfg80211: pass name_assign_type to rdev_add_virtual_intf()") This will expose in sysfs whether the ifname of a IEEE-802.15.4 device is set by userspace or generated by the kernel. We are using two types of name_assign_types o NET_NAME_ENUM: Default interface name provided by kernel o NET_NAME_USER: Interface name provided by user. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4748e86ecf262ae9d94b7e4073653554951ceb7a Author: Christoffer Holmstedt <christoffer.holmstedt@xxxxxxxxx> Date: Thu Apr 30 17:44:56 2015 +0200 at86rf230: Add macro for TRX STATE MASK Instead of using the 'magic' number of 0x1f the TRX_STATE_MASK macro is introduced. Signed-off-by: Christoffer Holmstedt <christoffer.holmstedt@xxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1cc800e7aabb40e2d8ffc3d259e6a153007fa9eb Author: Guido Günther <agx@xxxxxxxxxxx> Date: Thu Apr 30 17:44:55 2015 +0200 ieee802154: Add trace events for rdev->ops Enabling tracing via echo 1 > /sys/kernel/debug/tracing/events/cfg802154/enable enables event tracing like iwpan dev wpan0 set pan_id 0xbeef cat /sys/kernel/debug/tracing/trace # tracer: nop # # entries-in-buffer/entries-written: 2/2 #P:1 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | iwpan-2663 [000] .... 170.369142: 802154_rdev_set_pan_id: phy0, wpan_dev(1), pan id: 0xbeef iwpan-2663 [000] .... 170.369177: 802154_rdev_return_int: phy0, returned: 0 Signed-off-by: Guido Günther <agx@xxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 42fb23e2f57accbed69804e6d72ea3a88b8a84c4 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Thu Apr 30 17:44:52 2015 +0200 mac802154: add description to mac802154 APIs This patch adds the proper description to the mac802154 core APIs. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 89eb6d0677a6daf134015bc7bd5ec1432911eed2 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 30 17:44:54 2015 +0200 mac802154: llsec: fix return value check in llsec_key_alloc() In case of error, the functions crypto_alloc_aead() and crypto_alloc_blkcipher() 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: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2b4d413c3871af0f2ccd466fb6581ed2c2d89438 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Apr 30 17:44:53 2015 +0200 mac802154: fix ieee802154_register_hw error handling Currently if ieee802154_if_add failed, we don't unregister the wpan phy which was registered before. This patch adds a correct error handling for unregister the wpan phy when ieee802154_if_add failed. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d24d81444f8caf1895256ef2d2e89ae8202a17e4 Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Sun Apr 26 20:51:50 2015 +0200 Bluetooth: Skip the shutdown routine if the interface is not up Most likely, the shutdown routine requires the interface to be up. This is the case for BTUSB_INTEL: the routine tries to send a command to the interface, but since this one is down, it fails and exits once HCI_INIT_TIMEOUT has expired. Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.0.x commit 9dbbe3cfc3c208643cf0e81c8f660f43e1b4b2e8 Merge: fb45f49 73459e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:44:04 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull kvm changes from Paolo Bonzini: "Remove from guest code the handling of task migration during a pvclock read; instead use the correct protocol in KVM. This removes the need for task migration notifiers in core scheduler code" [ The scheduler people really hated the migration notifiers, so this was kind of required - Linus ] * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: x86: pvclock: Really remove the sched notifier for cross-cpu migrations kvm: x86: fix kvmclock update protocol commit fb45f493c18b5bf0818394662f908d648060310c Merge: 9c4249c aa6df8d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:39:52 2015 -0700 Merge tag 'dm-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper bugfixes from Mike Snitzer: "Fix two bugs in the request-based DM blk-mq support that was added during the 4.1 merge" * tag 'dm-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm: fix free_rq_clone() NULL pointer when requeueing unmapped request dm: only initialize the request_queue once commit 9c4249c8e0221e5cfae758d35b768aee84abf6c0 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Apr 30 14:58:43 2015 +0100 modsign: change default key details Change default key details to be more obviously unspecified. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: James Morris <james.l.morris@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9263a06a5896370789a8303baef8d69387071813 Merge: dcca8de 96a5d18 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:30:07 2015 -0700 Merge tag 'tty-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial fixes from Greg KH: "Here are some small tty/serial driver fixes for 4.1-rc2. They include some minor fixes that resolve reported issues, and a new device quirk. All have been in linux-next succesfully" * tag 'tty-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: serial: 8250_pci: Add support for 16 port Exar boards serial: samsung: fix serial console break tty/serial: at91: maxburst was missing for dma transfers serial: of-serial: Remove device_type = "serial" registration serial: xilinx: Use platform_get_irq to get irq description structure serial: core: Fix kernel-doc build warnings tty: Re-add external interface for tty_set_termios() commit dcca8de0aa597f14e31a1b38690626c9f6745fd5 Merge: 73be174 0d3bba0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:08:53 2015 -0700 Merge tag 'usb-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are a number of small USB fixes for 4.2-rc2. They revert one problem patch, fix some minor things, and add some new quirks for "broken" devices. All have been in linux-next successfully" * tag 'usb-4.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: cdc-acm: prevent infinite loop when parsing CDC headers. Revert "usb: host: ehci-msm: Use devm_ioremap_resource instead of devm_ioremap" usb: chipidea: otg: remove mutex unlock and lock while stop and start role uas: Set max_sectors_240 quirk for ASM1053 devices uas: Add US_FL_MAX_SECTORS_240 flag uas: Allow uas_use_uas_driver to return usb-storage flags commit 73be174cf5c37a90855b9ae9b8e58848716d898f Merge: 3d99e3f 0017052 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:07:26 2015 -0700 Merge tag 'renesas-sh-drivers-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas Pull SH driver updates from Simon Horman: - remove test for now unsupported sh7372 SoC - disable PM runtime for multi-platform r8a73a4 and sh73a0 SoCs with genpd * tag 'renesas-sh-drivers-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: drivers: sh: Remove test for now unsupported sh7372 drivers: sh: Disable PM runtime for multi-platform r8a73a4 with genpd drivers: sh: Disable PM runtime for multi-platform sh73a0 with genpd commit d8818257d3befce6ce7da4c09112654914c3fd58 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Apr 14 21:09:20 2015 +0000 power: reset: ltc2952: Remove bogus hrtimer_start() return value checks The return value of hrtimer_start() tells whether the timer was inactive or active already when hrtimer_start() was called. The code emits a bogus warning if the timer was active already claiming that the timer could not be started. Remove it. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Sebastian Reichel <sre@xxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Frans Klaver <frans.klaver@xxxxxxxxx> Cc: "René Moll" <linux@xxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Acked-by: Frans Klaver <frans.klaver@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ce992369cf29a8762b46338756ef5aba35774981 Author: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Date: Mon Apr 27 20:15:43 2015 +0300 power_supply: fix oops in collie_battery driver Fix an oops happening due to typo in 297d716f6260cc9421d971b124ca196b957ee [power_supply: Change ownership from driver to core]. Unable to handle kernel NULL pointer dereference at virtual address 00000050 pgd = c0004000 [00000050] *pgd=00000000 Internal error: Oops: 17 [#1] ARM Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 4.1.0-rc1+ #35 Hardware name: Sharp-Collie task: c381a720 ti: c381e000 task.ti: c381e000 PC is at collie_bat_get_property+0x10/0x258 LR is at collie_bat_get_property+0x10/0x258 pc : [<c0235d28>] lr : [<c0235d28>] psr: 20000013 sp : c381fd60 ip : 00000001 fp : 00000000 r10: c37b84c0 r9 : c068c9b8 r8 : c37b84a0 r7 : c37b84c0 r6 : c381fd84 r5 : 00000000 r4 : 00000000 r3 : c0369380 r2 : c381fd84 r1 : 00000000 r0 : 00000000 Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 0000717f Table: c3784000 DAC: 00000017 Process swapper (pid: 1, stack limit = 0xc381e190) Stack: (0xc381fd60 to 0xc3820000) fd60: c0369380 00000000 c37c0000 c068c9b8 c37b84c0 c0234380 00000000 c0234bc0 fd80: c042fcec c37b84a0 c0357c64 00000000 c37b84c0 c37c0000 c37b84a0 c0234e98 fda0: c37be020 00000000 ff0a0004 c37b84c8 c37be020 c37b84c0 c042fcec c383dbc0 fdc0: c0364060 00000000 00000000 c01be6a8 00000000 c015b220 c37b84c8 c381fdf0 fde0: c37b84c8 c37b84c8 c37b84c8 c37be020 c041e278 c015b478 c04a45b4 c0045290 fe00: c381a720 c0345d50 00000001 c37bf020 c0e511d8 c00453c0 c0688058 c37b84c8 fe20: 00000000 c37b84c0 c37780c0 c0e511d8 c38e2f60 c0e52d24 c04a45b4 c01be134 fe40: c37b8550 c37b8550 00000000 c0347a8c c37b84a0 00000000 c37b84c0 c0369380 fe60: c37780c0 00000001 00000061 c02347a0 00000001 c0e52e6c c068d144 c37b77a0 fe80: 00000000 c068d164 00000000 c0235b3c 00000000 c067fbb4 00000000 c068d1e4 fea0: 00000000 00000000 00000000 00000000 00000000 00000000 c37b77a0 c068d144 fec0: c3778020 c06953c0 c049de68 c01d5f54 c0688800 c3778020 c068d144 c0688700 fee0: c06953c0 c01d6000 c0675b80 c0675b80 c37b77a0 c0009624 c381a720 c000d8dc ff00: 00000001 c381ff54 c048a500 c00453c0 c00095a0 20000153 ffffffff c000d8dc ff20: c049cbd0 00000001 c04aa064 00000007 c04a9fb0 00000006 c06953c0 c06953c0 ff40: c048a590 c04a45c0 c04a9ffc 00000006 c06953c0 c06953c0 c048a590 c04a45c0 ff60: 00000061 c048adf8 00000006 00000006 c048a590 c0036450 00000001 00000000 ff80: c00363ec 00000000 c033ee7c 00000000 00000000 00000000 00000000 00000000 ffa0: 00000000 c033ee84 00000000 c000a3c8 00000000 00000000 00000000 00000000 ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000 [<c0235d28>] (collie_bat_get_property) from [<c0234380>] (power_supply_get_property+0x1c/0x28) [<c0234380>] (power_supply_get_property) from [<c0234bc0>] (power_supply_show_property+0x50/0x1dc) [<c0234bc0>] (power_supply_show_property) from [<c0234e98>] (power_supply_uevent+0x9c/0x1cc) [<c0234e98>] (power_supply_uevent) from [<c01be6a8>] (dev_uevent+0xb4/0x1d0) [<c01be6a8>] (dev_uevent) from [<c015b478>] (kobject_uevent_env+0x1cc/0x4f8) [<c015b478>] (kobject_uevent_env) from [<c01be134>] (device_add+0x374/0x524) [<c01be134>] (device_add) from [<c02347a0>] (__power_supply_register+0x120/0x180) [<c02347a0>] (__power_supply_register) from [<c0235b3c>] (collie_bat_probe+0xe8/0x1b4) [<c0235b3c>] (collie_bat_probe) from [<c01d5f54>] (ucb1x00_add_dev+0x30/0x88) [<c01d5f54>] (ucb1x00_add_dev) from [<c01d6000>] (ucb1x00_register_driver+0x54/0x78) [<c01d6000>] (ucb1x00_register_driver) from [<c0009624>] (do_one_initcall+0x84/0x1f4) [<c0009624>] (do_one_initcall) from [<c048adf8>] (kernel_init_freeable+0xf8/0x1b4) [<c048adf8>] (kernel_init_freeable) from [<c033ee84>] (kernel_init+0x8/0xec) [<c033ee84>] (kernel_init) from [<c000a3c8>] (ret_from_fork+0x14/0x2c) Code: e92d40f8 e1a05001 e1a06002 ebfff9bc (e5903050) ---[ end trace 447ee06b251d66b2 ]--- Fixes: 297d716f6260 ("power_supply: Change ownership from driver to core") Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 932df43005389300a3336421e4aedb25390ae144 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 20:19:43 2015 +0800 power/reset: at91: fix return value check in at91_reset_platform_probe() In case of error, the function devm_ioremap() returns NULL not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Fixes: ecfe64d8c55f ("power: reset: Add AT91 reset driver") Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2a6afddb6656aefbc6e8d6ef1f95749895ae2945 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Sun Mar 29 15:35:54 2015 +0200 MAINTAINERS: Add me as maintainer of Nokia N900 power supply drivers I'm author of two of those drivers (bq2415x and rx51) and I added more patches for other twos. Also I fished (proper) open source power management software for Nokia N900 and those kernel drivers are part of it. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 409e718e09885de78cebcb57f0f908eaed5304df Author: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Date: Fri Mar 13 21:49:09 2015 +0530 axp288_fuel_gauge: Add original author details Add the original author details of the axp288_fuel_gauge driver. Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Acked-by: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit aa6df8dd28c01d9a3d2cfcfe9dd0a4a334d1cd81 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Wed Apr 29 10:48:09 2015 -0400 dm: fix free_rq_clone() NULL pointer when requeueing unmapped request Commit 022333427a ("dm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mq") mistakenly removed free_rq_clone()'s clone->q check before testing clone->q->mq_ops. It was an oversight to discontinue that check for 1 of the 2 use-cases for free_rq_clone(): 1) free_rq_clone() called when an unmapped original request is requeued 2) free_rq_clone() called in the request-based IO completion path The clone->q check made sense for case #1 but not for #2. However, we cannot just reinstate the check as it'd mask a serious bug in the IO completion case #2 -- no in-flight request should have an uninitialized request_queue (basic block layer refcounting _should_ ensure this). The NULL pointer seen for case #1 is detailed here: https://www.redhat.com/archives/dm-devel/2015-April/msg00160.html Fix this free_rq_clone() NULL pointer by simply checking if the mapped_device's type is DM_TYPE_MQ_REQUEST_BASED (clone's queue is blk-mq) rather than checking clone->q->mq_ops. This avoids the need to dereference clone->q, but a WARN_ON_ONCE is added to let us know if an uninitialized clone request is being completed. Reported-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 3e6180f0c82b3790a9ec6d13d67aae359bf1ce84 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 30 10:10:36 2015 -0400 dm: only initialize the request_queue once Commit bfebd1cdb4 ("dm: add full blk-mq support to request-based DM") didn't properly account for the need to short-circuit re-initializing DM's blk-mq request_queue if it was already initialized. Otherwise, reloading a blk-mq request-based DM table (either manually or via multipathd) resulted in errors, see: https://www.redhat.com/archives/dm-devel/2015-April/msg00132.html Fix is to only initialize the request_queue on the initial table load (when the mapped_device type is assigned). This is better than having dm_init_request_based_blk_mq_queue() return early if the queue was already initialized because it elevates the constraint to a more meaningful location in DM core. As such the pre-existing early return in dm_init_request_based_queue() can now be removed. Fixes: bfebd1cdb4 ("dm: add full blk-mq support to request-based DM") Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 8291fd04d86b97869bd34e796bcac3141b9d5432 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Apr 13 10:17:55 2015 +0100 arm64: perf: Fix the pmu node name in warning message With commit d5efd9cc9cf2 ("arm64: pmu: add support for interrupt-affinity property"), we print a warning when we find a PMU SPI with a missing missing interrupt-affinity property in a pmu node. Unfortunately, we pass the wrong (NULL) device node to of_node_full_name, resulting in unhelpful messages such as: hw perfevents: Failed to parse <no-node>/interrupt-affinity[0] This patch fixes the name to that of the pmu node. Fixes: d5efd9cc9cf2 (arm64: pmu: add support for interrupt-affinity property) Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d795ef9aa8311ca3c5158bda1edbcd14479c101c Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Apr 17 14:41:29 2015 +0100 arm64: perf: don't warn about missing interrupt-affinity property for PPIs PPIs are affine by nature, so the interrupt-affinity property is not used and therefore we shouldn't print a warning in its absence. Reported-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 68fc378ce332cc4efd7f314d3e6e15e83f53ebf2 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Apr 30 15:13:14 2015 +1000 Revert "powerpc/tm: Abort syscalls in active transactions" This reverts commit feba40362b11341bee6d8ed58d54b896abbd9f84. Although the principle of this change is good, the implementation has a few issues. Firstly we can sometimes fail to abort a syscall because r12 may have been clobbered by C code if we went down the virtual CPU accounting path, or if syscall tracing was enabled. Secondly we have decided that it is safer to abort the syscall even earlier in the syscall entry path, so that we avoid the syscall tracing path when we are transactional. So that we have time to thoroughly test those changes we have decided to revert this for this merge window and will merge the fixed version in the next window. NB. Rather than reverting the selftest we just drop tm-syscall from TEST_PROGS so that it's not run by default. Fixes: feba40362b11 ("powerpc/tm: Abort syscalls in active transactions") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit feb589e98671da59f9a3c337b8d9865957a7f9f8 Merge: b787f68 9fb2bcf Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 30 12:15:34 2015 +1000 Merge branch 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Fixes for 4.1 for radeon all destined for stable: - fix fallout from the audio rework - VM fixes - other assorted bug fixes * 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: fix userptr return value checking (v2) drm/radeon: check new address before removing old one drm/radeon: reset BOs address after clearing it. drm/radeon: fix lockup when BOs aren't part of the VM on release drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5 drm/radeon: adjust pll when audio is not enabled drm/radeon: only enable audio streams if the monitor supports it drm/radeon: only mark audio as connected if the monitor supports it (v3) drm/radeon/audio: don't enable packets until the end drm/radeon: drop dce6_dp_enable drm/radeon: fix ordering of AVI packet setup drm/radeon: Use drm_calloc_ab for CS relocs commit c57ddfaea6ec8b1d96f863f7fcfc5554b5dc44c7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Apr 20 18:51:35 2015 +0300 Bluetooth: btusb: off by one in rtl8723b_parse_firmware() The ">" should be ">=" so that we don't read past the end of the array. Fixes: 9d9a113e3695 ('Bluetooth: btusb: Add Realtek 8723A/8723B/8761A/8821A support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Daniel Drake <drake@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit eb50042fd2a9ed3cecc8f9e6799b8e11b4726f94 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Apr 16 23:15:50 2015 +0200 Bluetooth: btusb: Fix two coding style issues ERROR: spaces required around that '<' (ctx:WxV) + if (err <0) ^ ERROR: code indent should use tabs where possible +^I^I^I^I sizeof(ver));$ Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a2698a9bf9b0cfcf7e556946e04c4456a13a6f5a Author: Daniel Drake <drake@xxxxxxxxxxxx> Date: Thu Apr 16 14:09:55 2015 -0600 Bluetooth: btusb: Add Realtek 8723A/8723B/8761A/8821A support Realtek ship a variety of bluetooth USB devices that identify themselves with standard USB Bluetooth device class values, but require a special driver to actually work. Without that driver, you never get any scan results. More recently however, Realtek appear to have wisened up and simply posted a firmware update that makes these devices comply with normal btusb protocols. The firmware needs to be uploaded on each boot. Based on Realtek code from https://github.com/lwfinger/rtl8723au_bt ('new' branch). This enables bluetooth support in the Gigabyte Brix GB-BXBT-2807 which has this RTL8723BE USB device: T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 2.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=13d3 ProdID=3410 Rev= 2.00 S: Manufacturer=Realtek S: Product=Bluetooth Radio S: SerialNumber=00e04c000001 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA 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=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) 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=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms There is no change to the USB descriptor after firmware update, however the version read by HCI_OP_READ_LOCAL_VERSION changes from 0x8723 to 0x3083. This has also been tested on RTL8723AE and RTL8821AE. Support for RTL8761A has also been added, but that is untested. Signed-off-by: Daniel Drake <drake@xxxxxxxxxxxx> Tested-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4c876c0edbdc28de751dc4b4583dcbfc290a2293 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 11 05:35:38 2015 -0700 Bluetooth: hci_uart: Add Atheros support for address configuration The Atheros support for missing the support for configuration of the Bluetooth public address. Add support for the vendor specific command. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c0ba7acd48d122fe5941c8f402fc1ee024cac6fb Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 11 05:35:37 2015 -0700 Bluetooth: hci_uart: Reorder Atheros specific driver callbacks The driver callbacks in the Atheros support were all in a random order and did not help readability of this driver. So reorder them to make them aligned with what other Bluetooth UART drivers do. This patch is not changing any actual code. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 50862ee5578efa342a25c8b86f0080494736057f Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Apr 10 14:02:20 2015 -0700 Bluetooth: btbcm: Export patchram download as separate function This isolates the Broadcom patchram download procedure as separate function so that it can be easily used from USB and UART based drivers. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 16e5c47a0f90a37cf8b8d50b5eaf3cd3f7ed9530 Author: DingXiang <dingxiang@xxxxxxxxxx> Date: Fri Apr 10 16:45:58 2015 +0800 Bluetooth: bt3c: Delete some unuseful comments I think the comments are used to debug, and we don't need them in mainline code Signed-off-by: DingXiang <dingxiang@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 483d821108791092798f5d230686868112927044 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Tue Apr 21 17:42:09 2015 +0200 gpio: sysfs: fix memory leaks and device hotplug Unregister GPIOs requested through sysfs at chip remove to avoid leaking the associated memory and sysfs entries. The stale sysfs entries prevented the gpio numbers from being exported when the gpio range was later reused (e.g. at device reconnect). This also fixes the related module-reference leak. Note that kernfs makes sure that any on-going sysfs operations finish before the class devices are unregistered and that further accesses fail. The chip exported flag is used to prevent gpiod exports during removal. This also makes it harder to trigger, but does not fix, the related race between gpiochip_remove and export_store, which is really a race with gpiod_request that needs to be addressed separately. Also note that this would prevent the crashes (e.g. NULL-dereferences) at reconnect that affects pre-3.18 kernels, as well as use-after-free on operations on open attribute files on pre-3.14 kernels (prior to kernfs). Fixes: d8f388d8dc8d ("gpio: sysfs interface") Cc: stable <stable@xxxxxxxxxxxxxxx> # v2.6.27: 01cca93a9491 Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9dac8835440622c2f84591673969d510ce198c11 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Wed Apr 29 11:28:30 2015 -0700 tcp: update reordering first before detecting loss tcp_mark_lost_retrans is not used when FACK is disabled. Since tcp_update_reordering may disable FACK, it should be called first before tcp_mark_lost_retrans. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e9250f59ef9efb932c84850cd221f22c2a03c4a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 28 16:23:49 2015 -0700 tcp: add TCP_CC_INFO socket option Some Congestion Control modules can provide per flow information, but current way to get this information is to use netlink. Like TCP_INFO, let's add TCP_CC_INFO so that applications can issue a getsockopt() if they have a socket file descriptor, instead of playing complex netlink games. Sample usage would be : union tcp_cc_info info; socklen_t len = sizeof(info); if (getsockopt(fd, SOL_TCP, TCP_CC_INFO, &info, &len) == -1) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64f40ff5bbdb1b679fb3c4dbc8230d6517d2b8dc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 28 16:23:48 2015 -0700 tcp: prepare CC get_info() access from getsockopt() We would like that optional info provided by Congestion Control modules using netlink can also be read using getsockopt() This patch changes get_info() to put this information in a buffer, instead of skb, like tcp_get_info(), so that following patch can reuse this common infrastructure. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdd1f9edacb5f5835d1e6276571bbbe5b88ded48 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 28 15:28:18 2015 -0700 tcp: add tcpi_bytes_received to tcp_info This patch tracks total number of payload bytes received on a TCP socket. This is the sum of all changes done to tp->rcv_nxt RFC4898 named this : tcpEStatsAppHCThruOctetsReceived This is a 64bit field, and can be fetched both from TCP_INFO getsockopt() if one has a handle on a TCP socket, or from inet_diag netlink facility (iproute2/ss patch will follow) Note that tp->bytes_received was placed near tp->rcv_nxt for best data locality and minimal performance impact. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Matt Mathis <mattmathis@xxxxxxxxxx> Cc: Eric Salo <salo@xxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Cc: Chris Rapier <rapier@xxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0df48c26d8418c5c9fba63fac15b660d70ca2f1c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 28 15:28:17 2015 -0700 tcp: add tcpi_bytes_acked to tcp_info This patch tracks total number of bytes acked for a TCP socket. This is the sum of all changes done to tp->snd_una, and allows for precise tracking of delivered data. RFC4898 named this : tcpEStatsAppHCThruOctetsAcked This is a 64bit field, and can be fetched both from TCP_INFO getsockopt() if one has a handle on a TCP socket, or from inet_diag netlink facility (iproute2/ss patch will follow) Note that tp->bytes_acked was placed near tp->snd_una for best data locality and minimal performance impact. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Matt Mathis <mattmathis@xxxxxxxxxx> Cc: Eric Salo <salo@xxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Cc: Chris Rapier <rapier@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d2361db48899789fb466ff62db5d5fc7b070e86 Author: Forrest Liu <forrestl@xxxxxxxxxxxx> Date: Mon Feb 9 17:31:45 2015 +0800 Btrfs: btrfs_release_extent_buffer_page didn't free pages of dummy extent btrfs_release_extent_buffer_page() can't handle dummy extent that allocated by btrfs_clone_extent_buffer() properly. That is because reference count of pages that allocated by btrfs_clone_extent_buffer() was 2, 1 by alloc_page(), and another by attach_extent_buffer_page(). Running following command repeatly can check this memory leak problem btrfs inspect-internal inode-resolve 256 /mnt/btrfs Signed-off-by: Chien-Kuan Yeh <ckya@xxxxxxxxxxxx> Signed-off-by: Forrest Liu <forrestl@xxxxxxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7f0b8a56c978b0a3315ac84c6cbb065413afb8e9 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 29 17:19:05 2015 +0530 cxgb4: Fix MC1 memory offset calculation Commit 6559a7e8296002b4 ("cxgb4: Cleanup macros so they follow the same style and look consistent") introduced a regression where reading MC1 memory in adapters where MC0 isn't present or MC0 size is not equal to MC1 size caused the adapter to crash due to incorrect computation of memoffset. Fix is to read the size of MC0 instead of MC1 for offset calculation Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12a8541d5c82d17d42424d46ec36929cfef06a10 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Apr 29 08:09:49 2015 +0300 bnx2x: Delay during kdump load In a kdump environment interfaces might be re-loaded without a proper unload sequence in the previous running kernel. bnx2x management FW and driver maintains a `pulse' that notifies the FW that the driver is still up and running. Driver load on the kdump kernel should be performed only after the pulse has been out-of-sync long enough for the management FW to identify that the driver has crashed, on which point it will perform some necessary cleanup of the HW. In today's distros kdump loading is quite fast, sometimes too fast for our FW to get out-of-sync. This patch delays the bnx2x's probe during kdump to allow a proper re-load on the kdump kernel. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e913fb279c564f2af05658b3f01041757d2e9303 Author: Pai <vpai@xxxxxxxxxx> Date: Wed Apr 29 14:24:23 2015 -0400 net: Fix Kernel Panic in bonding driver debugfs file: rlb_hash_table This patch fixes a Kernel Panic in bonding driver debugfs file: rlb_hash_table. $> modprobe bonding mode=6 $> cat /sys/kernel/debug/bonding/bond0/rlb_hash_table This will crash the kernel. The struct alb_bond_info is initialized only when the bonding interface is initialized (ip link set bond0 up) and not at the time it is allocated. If we try to read the table before that, it'll result in a kernel panic. The patch applies against both net and net-next Signed-off-by: Vishwanath Pai <vpai@xxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50d4964f1d0411d82cca593f2664bfab7f82dbbf Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Apr 29 10:56:15 2015 -0700 net: dsa: Fix scope of eeprom-length property eeprom-length is a switch property, not a dsa property, and thus needs to be attached to the switch node, not to the dsa node. Reported-by: Andrew Lunn <andrew@xxxxxxx> Fixes: 6793abb4e849 ("net: dsa: Add support for switch EEPROM access") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4c216c54197d741ed8b7ca54f13645dfb3eacde Author: Punnaiah Choudary Kalluri <punnaiah.choudary.kalluri@xxxxxxxxxx> Date: Wed Apr 29 08:34:46 2015 +0530 net: macb: Fix race condition in driver when Rx frame is dropped Under heavy Rx load, observed that the Hw is updating the USED bit and it is not updating the received frame status to the BD control field. This could be lack of resources for processing the BDs at high data rates. Driver drops the frame associated with this BD but not clearing the USED bit. So, this is causing hang condition as Hw expects USED bit to be cleared for this BD. Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b56fc3c536541c8081cd5f1f1d101a16c002a365 Author: KY Srinivasan <kys@xxxxxxxxxxxxx> Date: Tue Apr 28 17:59:48 2015 -0700 hv_netvsc: Fix a bug in netvsc_start_xmit() Commit b08cc79155fc26d0d112b1470d1ece5034651a4b eliminated memory allocation in the packet send path: "hv_netvsc: Eliminate memory allocation in the packet send path The network protocol used to communicate with the host is the remote ndis (rndis) protocol. We need to decorate each outgoing packet with a rndis header and additional rndis state (rndis per-packet state). To manage this state, we currently allocate memory in the transmit path. Eliminate this allocation by requesting additional head room in the skb." This commit introduced a bug since it did not account for the case if the skb was cloned. Fix this bug. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Tested-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48734994ac268eb391a66dca4cde7d08a08aba08 Author: Vlastimil Setka <setka@xxxxxxx> Date: Wed Apr 29 00:17:11 2015 +0200 altera_tse: Correct rx packet length Altera TSE MAC rx DMA transfer starts with the 2 additional bytes for IP payload alignment. This patch fixes tse_rx() function loop which reads DMA rx status and extracts packet length from it. Status signalises a whole DMA transfer length, which is 2 bytes longer than the packet itself. Signed-off-by: Vlastimil Setka <setka@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42eab005a5dd5d7ea2b0328aecc4d6cc0c23c9c2 Author: Benjamin Poirier <bpoirier@xxxxxxx> Date: Tue Apr 28 14:49:29 2015 -0700 mlx4: Fix tx ring affinity_mask creation By default, the number of tx queues is limited by the number of online cpus in mlx4_en_get_profile(). However, this limit no longer holds after the ethtool .set_channels method has been called. In that situation, the driver may access invalid bits of certain cpumask variables when queue_index >= nr_cpu_ids. Signed-off-by: Benjamin Poirier <bpoirier@xxxxxxx> Acked-by: Ido Shamay <idos@xxxxxxxxxxxx> Fixes: d03a68f ("net/mlx4_en: Configure the XPS queue mapping on driver load") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d699f28ee5d0641470a603ab5904e463cb1532a Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Tue Apr 28 16:59:04 2015 -0400 tipc: fix problem with parallel link synchronization mechanism Currently, we try to accumulate arrived packets in the links's 'deferred' queue during the parallel link syncronization phase. This entails two problems: - With an unlucky combination of arriving packets the algorithm may go into a lockstep with the out-of-sequence handling function, where the synch mechanism is adding a packet to the deferred queue, while the out-of-sequence handling is retrieving it again, thus ending up in a loop inside the node_lock scope. - Even if this is avoided, the link will very often send out unnecessary protocol messages, in the worst case leading to redundant retransmissions. We fix this by just dropping arriving packets on the upcoming link during the synchronization phase, thus relying on the retransmission protocol to resolve the situation once the two links have arrived to a synchronized state. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2f67390a4b961dae83733732e96e1a394a53c4e Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 28 18:33:50 2015 +0200 tipc: remove wrong use of NLM_F_MULTI NLM_F_MULTI must be used only when a NLMSG_DONE message is sent. In fact, it is sent only at the end of a dump. Libraries like libnl will wait forever for NLMSG_DONE. Fixes: 35b9dd7607f0 ("tipc: add bearer get/dump to new netlink api") Fixes: 7be57fc69184 ("tipc: add link get/dump to new netlink api") Fixes: 46f15c6794fb ("tipc: add media get/dump to new netlink api") CC: Richard Alpe <richard.alpe@xxxxxxxxxxxx> CC: Jon Maloy <jon.maloy@xxxxxxxxxxxx> CC: Ying Xue <ying.xue@xxxxxxxxxxxxx> CC: tipc-discussion@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46c264daaaa569e24f8aba877d0fd8167c42a9a4 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 28 18:33:49 2015 +0200 bridge/nl: remove wrong use of NLM_F_MULTI NLM_F_MULTI must be used only when a NLMSG_DONE message is sent. In fact, it is sent only at the end of a dump. Libraries like libnl will wait forever for NLMSG_DONE. Fixes: e5a55a898720 ("net: create generic bridge ops") Fixes: 815cccbf10b2 ("ixgbe: add setlink, getlink support to ixgbe and ixgbevf") CC: John Fastabend <john.r.fastabend@xxxxxxxxx> CC: Sathya Perla <sathya.perla@xxxxxxxxxx> CC: Subbu Seetharaman <subbu.seetharaman@xxxxxxxxxx> CC: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx> CC: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> CC: intel-wired-lan@xxxxxxxxxxxxxxxx CC: Jiri Pirko <jiri@xxxxxxxxxxx> CC: Scott Feldman <sfeldma@xxxxxxxxx> CC: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> CC: bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 821996795973fd52703c35811a03db9fec1ac141 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 28 18:33:48 2015 +0200 bridge/mdb: remove wrong use of NLM_F_MULTI NLM_F_MULTI must be used only when a NLMSG_DONE message is sent. In fact, it is sent only at the end of a dump. Libraries like libnl will wait forever for NLMSG_DONE. Fixes: 37a393bc4932 ("bridge: notify mdb changes via netlink") CC: Cong Wang <amwang@xxxxxxxxxx> CC: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> CC: bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b70fe5aba0dd00d81173243c7ab04c66aeb67d8 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Apr 28 13:33:21 2015 +0200 net: sched: act_connmark: don't zap skb->nfct This action is meant to be passive, i.e. we should not alter skb->nfct: If nfct is present just leave it alone. Compile tested only. Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 165996bd351f0e711feff92479c0796098afaa38 Author: Antonio Ospite <ao2@xxxxxx> Date: Tue Apr 28 13:11:29 2015 +0200 trivial: net: systemport: bcmsysport.h: fix 0x0x prefix Fix the 0x0x prefix in an integer constant. In this case, while at it, also fix a typo (s/unitcast/unicast/). Signed-off-by: Antonio Ospite <ao2@xxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18fe369a5a4f175ee652ba8b7d8d7e49f140e281 Author: Antonio Ospite <ao2@xxxxxx> Date: Tue Apr 28 13:11:27 2015 +0200 trivial: net: atl1e: atl1e_hw.h: fix 0x0x prefix Fix the 0x0x prefix in an integer constant. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Cc: Jay Cliburn <jcliburn@xxxxxxxxx> Cc: Chris Snook <chris.snook@xxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad93e1d7b9f63bb842925711240e9fba3a104fea Merge: 3f300ff f8dcb5e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 29 14:48:36 2015 -0400 Merge branch 'bnx2x' Michal Schmidt says: ==================== bnx2x: minor cleanups related to TPA bits I noticed some simplification possibilities while looking into the bug fixed by "bnx2x: really disable TPA if 'disable_tpa' is set'. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8dcb5e3365a23b620f5744f23f1918b9c38d883 Author: Michal Schmidt <mschmidt@xxxxxxxxxx> Date: Tue Apr 28 11:34:23 2015 +0200 bnx2x: remove {TPA,GRO}_ENABLE_FLAG These flags are redundant with dev->features. Remove them. Just make sure to set dev->features ourselves in bnx2x_set_features() before performing the reload of the card. Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e6b4d440b0ae9062b84dfb417ea6d51a45dab76 Author: Michal Schmidt <mschmidt@xxxxxxxxxx> Date: Tue Apr 28 11:34:22 2015 +0200 bnx2x: merge fp->disable_tpa with fp->mode It is simpler to have the TPA mode as one three-state variable. Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9b9e860cef1d904832bc6e92e444adfeabe49e9 Author: Michal Schmidt <mschmidt@xxxxxxxxxx> Date: Tue Apr 28 11:34:21 2015 +0200 bnx2x: mark LRO as a fixed disabled feature if disable_tpa is set If disable_tpa is set, remove NETIF_F_LRO from hw_features, so ethtool sees it as "off [fixed]". Note that setting the NETIF_F_LRO bit in dev->features in the 'else' branch is not needed, because the bit was already set by bnx2x_init_dev(). Then the check for disable_tpa in in bnx2x_fix_features() becomes unnecessary. Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f300ff41d89fe9674b8dbab950ba2572639ee8d Author: Simon Xiao <sixiao@xxxxxxxxxxxxx> Date: Tue Apr 28 01:05:17 2015 -0700 hv_netvsc: introduce netif-msg into netvsc module 1. Introduce netif-msg to netvsc to control debug logging output and keep msg_enable in netvsc_device_context so that it is kept persistently. 2. Only call dump_rndis_message() when NETIF_MSG_RX_ERR or above is specified in netvsc module debug param. In non-debug mode, in current code, dump_rndis_message() will not dump anything but it still initialize some local variables and process the switch logic which is unnecessary, especially in high network throughput situation. Signed-off-by: Simon Xiao <sixiao@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb6ccf09d6b94bec4def1ac5cf4678d12b216474 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Apr 28 11:43:15 2015 +0800 route: Use ipv4_mtu instead of raw rt_pmtu The commit 3cdaa5be9e81a914e633a6be7b7d2ef75b528562 ("ipv4: Don't increase PMTU with Datagram Too Big message") broke PMTU in cases where the rt_pmtu value has expired but is smaller than the new PMTU value. This obsolete rt_pmtu then prevents the new PMTU value from being installed. Fixes: 3cdaa5be9e81 ("ipv4: Don't increase PMTU with Datagram Too Big message") Reported-by: Gerd v. Egidy <gerd.von.egidy@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2cff98b99c469880ce830cbcde015b53b67e0a7b Author: Dean Nelson <dnelson@xxxxxxxxxx> Date: Wed Apr 29 16:09:18 2015 +0100 arm64: add missing PAGE_ALIGN() to __dma_free() __dma_alloc() does a PAGE_ALIGN() on the passed in size argument before doing anything else. __dma_free() does not. And because it doesn't, it is possible to leak memory should size not be an integer multiple of PAGE_SIZE. The solution is to add a PAGE_ALIGN() to __dma_free() like is done in __dma_alloc(). Additionally, this patch removes a redundant PAGE_ALIGN() from __dma_alloc_coherent(), since __dma_alloc_coherent() can only be called from __dma_alloc(), which already does a PAGE_ALIGN() before the call. Cc: stable@xxxxxxxxxxxxxxx Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Dean Nelson <dnelson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8014bcc86ef112eab9ee1db312dba4e6b608cf89 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Apr 13 00:26:35 2015 +0100 xen-pciback: Add name prefix to global 'permissive' variable The variable for the 'permissive' module parameter used to be static but was recently changed to be extern. This puts it in the kernel global namespace if the driver is built-in, so its name should begin with a prefix identifying the driver. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Fixes: af6fc858a35b ("xen-pciback: limit guest control of command register") Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 2b953a5e994ce279904ec70220f7d4f31d380a0a Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Tue Apr 28 18:46:20 2015 -0400 xen: Suspend ticks on all CPUs during suspend Commit 77e32c89a711 ("clockevents: Manage device's state separately for the core") decouples clockevent device's modes from states. With this change when a Xen guest tries to resume, it won't be calling its set_mode op which needs to be done on each VCPU in order to make the hypervisor aware that we are in oneshot mode. This happens because clockevents_tick_resume() (which is an intermediate step of resuming ticks on a processor) doesn't call clockevents_set_state() anymore and because during suspend clockevent devices on all VCPUs (except for the one doing the suspend) are left in ONESHOT state. As result, during resume the clockevents state machine will assume that device is already where it should be and doesn't need to be updated. To avoid this problem we should suspend ticks on all VCPUs during suspend. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit df8d9eeadd0f7a216f2476351d5aee43c6550bf0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Apr 29 15:19:21 2015 +0200 cpuidle: Run tick_broadcast_exit() with disabled interrupts Commit 335f49196fd6 (sched/idle: Use explicit broadcast oneshot control function) replaced clockevents_notify() invocations in cpuidle_idle_call() with direct calls to tick_broadcast_enter() and tick_broadcast_exit(), but it overlooked the fact that interrupts were already enabled before calling the latter which led to functional breakage on systems using idle states with the CPUIDLE_FLAG_TIMER_STOP flag set. Fix that by moving the invocations of tick_broadcast_enter() and tick_broadcast_exit() down into cpuidle_enter_state() where interrupts are still disabled when tick_broadcast_exit() is called. Also ensure that interrupts will be disabled before running tick_broadcast_exit() even if they have been enabled by the idle state's ->enter callback. Trigger a WARN_ON_ONCE() in that case, as we generally don't want that to happen for states with CPUIDLE_FLAG_TIMER_STOP set. Fixes: 335f49196fd6 (sched/idle: Use explicit broadcast oneshot control function) Reported-and-tested-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reported-and-tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d839c98f98826f0c13e46d5a4cecb46dd357b50e Merge: a78001b 60a8d62 c479163 427ced4 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 29 13:37:31 2015 +0100 Merge remote-tracking branches 'asoc/fix/rt5677', 'asoc/fix/samsung' and 'asoc/fix/tfa9879' into asoc-linus commit a78001b0137e3dd7acb15f6813bf2e5046d2f2ff Merge: 1ce286b 9d7dd6c 28ecc0b aae013d 96f05be d1acba2 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 29 13:37:28 2015 +0100 Merge remote-tracking branches 'asoc/fix/email', 'asoc/fix/fsl-ssi', 'asoc/fix/pm', 'asoc/fix/qcom' and 'asoc/fix/rcar' into asoc-linus commit 1ce286b9c9bd08875072a7c3c6a43ef2a2ea4a71 Merge: 49422ad 53f9b3b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 29 13:37:27 2015 +0100 Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-linus commit 49422ad37d90945fe9ad0220d9505e2be6168777 Merge: 449f1ca 8faf141 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 29 13:37:27 2015 +0100 Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus commit 449f1ca6253cb8d7bbe84666ac7d2696308d16c8 Merge: b787f68 a2d9772 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 29 13:37:26 2015 +0100 Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linus commit 60a8d62b8497c23eb3d48149af7e55dac2dd83a2 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Tue Apr 28 11:27:39 2015 +0800 ASoC: rt5677: fixed wrong DMIC ref clock DMIC clock source is not from codec system clock directly. it is generated from the division of system clock. And it should be 256 * sample rate of AIF1. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 63f89caad0e32dcfa17b2d17919816253de48996 Author: Christopher Freeman <cfreeman@xxxxxxxxxx> Date: Wed Mar 4 01:16:58 2015 -0800 dmaengine: increment privatecnt when using dma_get_any_slave_channel Channels allocated via dma_get_any_slave_channel were not increasing the counter tracking private allocations. When these channels were released, privatecnt may erroneously fall to zero. The DMA device would then lose its DMA_PRIVATE cap and fail to allocate future private channels (via private_candidate) as any allocations still outstanding would incorrectly be seen as public allocations. Signed-off-by: Christopher Freeman <cfreeman@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d33047fd7e7d93662622888681861ba84d43c506 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Mon Apr 27 12:33:51 2015 +1000 powerpc/powernv: Fix early pci_controller_ops loading. Load the PowerNV platform pci controller ops into pci controllers after all the operations are loaded into the platform ops struct, not before. Otherwise we aren't actually setting the ops properly which can break IO for some devices. Fixes: 65ebf4b63 ("powerpc/powernv: Move controller ops from ppc_md to controller_ops") Reported-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7241ea558c6715501e777396b5fc312c372e11d9 Author: Peter Zubaj <pzubaj@xxxxxxxxxxxxx> Date: Tue Apr 28 21:57:29 2015 +0200 ALSA: emu10k1: Emu10k2 32 bit DMA mode Looks like audigy emu10k2 (probably emu10k1 - sb live too) support two modes for DMA. Second mode is useful for 64 bit os with more then 2 GB of ram (fixes problems with big soundfont loading) 1) 32MB from 2 GB address space using 8192 pages (used now as default) 2) 16MB from 4 GB address space using 4096 pages Mode is set using HCFG_EXPANDED_MEM flag in HCFG register. Also format of emu10k2 page table is then different. Signed-off-by: Peter Zubaj <pzubaj@xxxxxxxxxxxxx> Tested-by: Takashi Iwai <tiwai@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 433c5c20c505fef92be84c6afab70f1c2ab5eda3 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 28 10:34:35 2015 +1000 powerpc/kvm: Fix SMP=n build error in book3s_xics.c Commit 34cb7954c0aa "Convert ICS mutex lock to spin lock" added an include of asm/spinlock.h, which does not work in the SMP=n case. It should instead include linux/spinlock.h Fixes: 34cb7954c0aa ("KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock") Acked-by: Paul Mackerras <paulus@xxxxxxxxx> Reviewed-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 61f8ff693923e4b19748b0e8287b99778f2661c7 Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Date: Wed Apr 22 16:40:21 2015 +0100 ACPI / SBS: Enable battery manager when present Commit 9faf6136ff46 (ACPI / SBS: Disable smart battery manager on Apple) introduced a regression disabling the SBS battery manager. The battery manager should be marked as present when acpi_manager_get_info() returns 0. Fixes: 9faf6136ff46 (ACPI / SBS: Disable smart battery manager on Apple) Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Cc: 3.18+ <stable@xxxxxxxxxxxxxxx> # 3.18+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9e9d55e69a95f8583283d9f01b04562d1278c95d Author: Olaf Hering <olaf@xxxxxxxxx> Date: Tue Apr 28 16:54:04 2015 +0200 ACPICA: remove duplicate u8 typedef During commit e252652fb266 ("ACPICA: acpidump: Remove integer types translation protection.") two 'unsigned char' types got converted to 'u8'. The result does not compile with gcc-4.5, it can not cope with duplicate typedefs. Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3d99e3fe13d473ac4578c37f477a59b829530764 Merge: 14bc84c 9b0f5d6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 28 14:22:35 2015 -0700 Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile Pull arch/tile bugfix from Chris Metcalf: "This just fixes a compiler warning from an old bug that only recently started generating a warning" * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: tile: properly use node_isset() on a nodemask_t commit 96a5d18bc1338786fecac73599f1681f59a59a8e Author: Soeren Grunewald <soeren.grunewald@xxxxxxx> Date: Tue Apr 28 16:29:49 2015 +0200 serial: 8250_pci: Add support for 16 port Exar boards The Exar XR17V358 chip usually provides only 8 ports. But two chips can be combined to act as a single 16 port chip. Therefor one chip is configured as master the second as slave by connecting the mode pin to VCC (master) or GND (slave). Then the master chip is reporting a different device-id depending on whether a slave is detected or not. The UARTs 8-15 are addressed from 0x2000-0x3fff. So the offset of 0x400 from UART to UART can be used to address all 16 ports as before. See: https://www.exar.com/common/content/document.ashx?id=1587 page 11 Signed-off-by: Soeren Grunewald <soeren.grunewald@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14bc84ce0b41787acc08aefabe718479c5dde60e Merge: 2decb26 5712764 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 28 09:58:46 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "One additional new feature for 4.1, a new PRNG based on SHA-512 for the zcrypt driver. Two memory management related changes, the page table reallocation for KVM is removed, and with file ptes gone the encoding of page table entries is improved. And three bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/zcrypt: Introduce new SHA-512 based Pseudo Random Generator. s390/mm: change swap pte encoding and pgtable cleanup s390/mm: correct transfer of dirty & young bits in __pmd_to_pte s390/bpf: add dependency to z196 features s390/3215: free memory in error path s390/kvm: remove delayed reallocation of page tables for KVM kexec: allocate the kexec control page with KEXEC_CONTROL_MEMORY_GFP commit 1c94e65c668f44d2c69ae7e7fc268ab3268fba3e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Apr 28 17:11:44 2015 +0200 ALSA: emux: Fix mutex deadlock in OSS emulation The OSS emulation in synth-emux helper has a potential AB/BA deadlock at the simultaneous closing and opening: close -> snd_seq_release() -> sne_seq_free_client() -> snd_seq_delete_all_ports(): takes client->ports_mutex -> port_delete() -> snd_emux_unuse(): takes emux->register_mutex open -> snd_seq_oss_open() -> snd_emux_open_seq_oss(): takes emux->register_mutex -> snd_seq_event_port_attach() -> snd_seq_create_port(): takes client->ports_mutex This patch addresses the deadlock by reducing the rance taking emux->register_mutex in snd_emux_open_seq_oss(). The lock is needed for the refcount handling, so move it locally. The calls in emux_seq.c are already with the mutex, thus they are replaced with the version without mutex lock/unlock. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9d7dd6cd2a1d0d307be6bf783e40e7fda17d6dba Author: Rajeev Kumar <rajeevkumar.linux@xxxxxxxxx> Date: Tue Apr 28 11:30:08 2015 +0530 ASoC: Update email-id of Rajeev Kumar rajeev-dlh.kumar@xxxxxx email-id doesn't exist anymore as I have left the company. Replace ST's id with Rajeev Kumar <rajeevkumar.linux@xxxxxxxxx> Signed-off-by: Rajeev Kumar <rajeevkumar.linux@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9b0f5d63e74a987bf56cc1774baca80a291c9d8d Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Tue Apr 28 10:36:45 2015 -0400 tile: properly use node_isset() on a nodemask_t The code accidentally used cpu_isset() previously in one place (though properly node_isset() elsewhere). Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit a04f90a33fab74789b91fc9739999012f11022d1 Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Date: Thu Apr 16 08:51:28 2015 +0530 drm/i915/chv: Implement WaDisableShadowRegForCpd This WA is avoid problem between shadow vs wake FIFO unload problem during CPD/RC6 transactions on CHV. v2: Define individual bits GTFIFOCTL (Ville) v3: move WA to uncore_early_sanitize (ville) Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [Jani: fixed some whitespace issues while applying] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 4e637ac212b63f4b5dd1da626aca34ffcbfd5daa Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Apr 9 18:18:37 2015 +0300 pinctrl: qcom-spmi-mpp: Fix input value report Fix interpretation of the pmic_mpp_read() return code, negative value means an error. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 24a66618d63548e1012bf65ed30a3c031f410ca2 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Apr 9 18:18:36 2015 +0300 pinctrl: qcom-spmi-gpio: Fix input value report Read input buffer when input is enabled, not when it is disabled. Also fix interpretation of the pmic_gpio_read() return code, negative value means an error. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 982df6aec06479c844f46f7a5cc960151f8fc005 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Apr 9 18:18:35 2015 +0300 pinctrl: qcom-spmi-gpio: Fix output type configuration GPIO output type configuration was incorrectly overwritten by strength value. Fix this. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 31c6ba97d1671b0a853197fe54a05e0b07ce2631 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Apr 17 08:43:09 2015 +0200 serial: samsung: fix serial console break This patch fixes problems with serial console break. When function s3c64xx_serial_startup() was started while serial console has been working, it caused lose of characters written to TX FIFO. This effect was particularly observable with systemd, which closes serial port every time when it's not currently needed, hence function s3c64xx_serial_startup() is called quite often there. To fix this problem we avoid resetting TX FIFO if port is used as serial console. Example of broken console log: [ 1086.7 Expecting device dev-ttySAC1.device... [ 1086.[ OK ] Reached target Paths. [ 1086.756416] s[ OK ] Reached target Swap. [ 1086.776413] systemd[1]: Reached target Swap. [ 1086.776642] systemd[1]: Starting Root Slice. [ 5.53403[ OK ] Created slice Root Slice. [ 5.548433] systemd[1]: Create[ OK ] Created slice User and Session Slice. [ 5.568414] sys[ OK ] Listening on /dev/initctl Compatibility Named Pipe. [ 5.588388] s[ OK ] Listening on Delayed Shutdown Socket. [ 5.608376] sy[ OK ] Listening on Journal Socket (/dev/log). [ 5.628361] [ OK ] Listening on udev Kernel Socket. [ 5.648357] s[ OK ] Listening on udev Control Socket. [ 5.668353] s[ OK ] Listening on Journal Socket. [ 5.688366] systemd[1]: Listeni[ OK ] Created slice System Slice. [ 5.708393] Mounting Temporary Directory... [ 7139.067436] Starting prepare device daemon... [ 7139.091726] sy Starting Generate environment from /etc/profile.d... [ 5.792867] system Starting Create Static Device Nodes in /dev... [ 7848.718 Mounting Debug File System... [ 7848.7384 Mounting Configuration File System... [ 5.852 Starting Apply Kernel Variables... [ 5.8720 Starting Setup Virtual Console... [ 7848.798 Starting udev Coldplug all Devices... [ 7848.817 Starting Journal Service... [ OK ] Started Journal Service. [ 7848.854222] s[ OK ] Reached target Slices. Starting Remount Root and Kernel File Systems... [ OK ] Mounted Configuration File System. Reported-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8d4e01637902311c5643b69a5c80e2805f04054 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Thu Apr 16 16:58:12 2015 +0200 tty/serial: at91: maxburst was missing for dma transfers Maxburst was not set when doing the dma slave configuration. This value is checked by the recently introduced xdmac. It causes an error when doing the slave configuration and so prevents from using dma. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.12 and later Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6befa9d883385c580369a2cc9e53fbf329771f6d Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Tue Apr 14 12:03:09 2015 +0200 serial: of-serial: Remove device_type = "serial" registration Do not probe all serial drivers by of_serial.c which are using device_type = "serial"; property. Only drivers which have valid compatible strings listed in the driver should be probed. When PORT_UNKNOWN is setup probe will fail anyway. Arnd quotation about driver historical background: "when I wrote that driver initially, the idea was that it would get used as a stub to hook up all other serial drivers but after that, the common code learned to create platform devices from DT" This patch fix the problem with on the system with xilinx_uartps and 16550a where of_serial failed to register for xilinx_uartps and because of irq_dispose_mapping() removed irq_desc. Then when xilinx_uartps was asking for irq with request_irq() EINVAL is returned. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c90c07b98c02198d9777a7c4f3047b0a94bf7ed Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Apr 13 16:34:21 2015 +0200 serial: xilinx: Use platform_get_irq to get irq description structure For systems with CONFIG_SERIAL_OF_PLATFORM=y and device_type = "serial"; property in DT of_serial.c driver maps and unmaps IRQ (because driver probe fails). Then a driver is called but irq mapping is not created that's why driver is failing again in again on request_irq(). Based on this use platform_get_irq() instead of platform_get_resource() which is doing irq_desc allocation and driver itself can request IRQ. Fix both xilinx serial drivers in the tree. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10afbe346bba125e2eedfd1a89b7bd5c92900859 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 10:05:07 2015 -0400 serial: core: Fix kernel-doc build warnings Fix uart_console_write() kernel-doc build warnings. Warning(drivers/tty/serial/serial_core.c:1778): No description found for parameter 'putchar' Warning(drivers/tty/serial/serial_core.c:1778): Excess function parameter 'write' description in 'uart_console_write' Fixes: 1cfe42b7fd29 ("serial: core: Fix kernel doc for uart_console_write()") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b00f5c2dc01450bed9fed1a41a637fa917e03c5c Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Fri Apr 10 15:13:05 2015 +0200 tty: Re-add external interface for tty_set_termios() This is needed by Bluetooth hci_uart module to be able to change speed of Bluetooth controller and local UART. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7afe89fd67d40a7f5fff8130c5f925d99a94b1f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Apr 21 09:21:46 2015 +0200 iwlwifi: mvm: force quota update update after FW restart During firmware restart, the quota command isn't calculated multiple times, but after the firmware restart it has to be sent, so force it. Otherwise the firmware crashes. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6bbd5521edd3896190f5c0581f059b7c93daf670 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Apr 28 15:00:23 2015 +0300 iwlwifi: mvm: fix typo in CONFIG option I forgot to rename the CPTCFG_ prefix... Fixes: 484b3d13b4ac ("iwlwifi: mvm: add debugfs entry with the number of net-detect scans") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 8d193ca26cc28019e760b77830295a0c349d90dc Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Mon Apr 27 10:29:31 2015 +0300 iwlwifi: mvm: don't power off the device between INIT and OPER firmwares Our device needs two different firmwares: the INIT firmware and the operational (OPER) firmware. The first one is run when the driver loads and it returns calibrations results as well as the NVM. The second one implements the WiFi protocol. If the wlan interface is not brought up, the device is put to low power state: no firmware will be running. When the interface is brought up, we would run the OPER firmware only and reuse the results of the run of the INIT firmware when the driver was loaded. This is changing with this patch. We now run the INIT firmware every time mac80211 calls start(). The penalty for that is minimal since the INIT firwmare run fast. I now also avoid to power down the device between the INIT and OPER firmware on certains buses. The motivation for this change is that there are components on the device (MFUART) that are triggered by the INIT firmware and need the device to be powered up in order to keep running. Powering the device down between the INIT and OPER firmware would stop these components and prevent them from running again since they are triggered by the INIT firmware only. The new flow allows this and also allows to trigger these components again when the interface is brought up after it has been brought down. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit fefad2d54beb8aad6bf4ac6daeb74f86f52565de Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Apr 12 09:09:05 2015 -0300 [media] v4l: omap4iss: Replace outdated OMAP4 control pad API with syscon The omap4_ctrl_pad_readl and omap4_ctrl_pad_writel functions have been removed by commit efde234674d9 but are still used by the OMAP4 ISS driver, resulting in a compilation breakage: drivers/staging/media/omap4iss/iss_csiphy.c: In function 'omap4iss_csiphy_config': drivers/staging/media/omap4iss/iss_csiphy.c:167:2: error: implicit declaration of function 'omap4_ctrl_pad_writel' [-Werror=implicit-function-declaration] omap4_ctrl_pad_writel(cam_rx_ctrl, Fix the problem by using the syscon API to reaplace the control pad API. Lookup the syscon instance by compatible name for now as the OMAP4 ISS driver doesn't support DT yet. Fixes: efde234674d9 ("ARM: OMAP4+: control: remove support for legacy pad read/write") Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Alius <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 414b7e3b9ce8b0577f613e656fdbc36b34b444dd Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Apr 24 11:03:37 2015 -0500 rtlwifi: rtl8192cu: Fix kernel deadlock The USB mini-driver in rtlwifi, which is used by rtl8192cu, issues a call to usb_control_msg() with a timeout value of 0. In some instances where the interface is shutting down, this infinite wait results in a CPU deadlock. A one second timeout fixes this problem without affecting any normal operations. This bug is reported at https://bugzilla.novell.com/show_bug.cgi?id=927786. Reported-by: Bernhard Wiedemann <bwiedemann@xxxxxxxx> Tested-by: Bernhard Wiedemann <bwiedemann@xxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> Cc: Bernhard Wiedemann <bwiedemann@xxxxxxxx> Cc: Takashi Iwai<tiwai@xxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0d3bba0287d4e284c3ec7d3397e81eec920d5e7e Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Tue Apr 14 11:25:43 2015 +0200 cdc-acm: prevent infinite loop when parsing CDC headers. Phil and I found out a problem with commit: 7e860a6e7aa6 ("cdc-acm: add sanity checks") It added some sanity checks to ignore potential garbage in CDC headers but also introduced a potential infinite loop. This can happen at the first loop iteration (elength = 0 in that case) if the description isn't a DT_CS_INTERFACE or later if 'buffer[0]' is zero. It should also be noted that the wrong length was being added to 'buffer' in case 'buffer[1]' was not a DT_CS_INTERFACE descriptor, since elength was assigned after that check in the loop. A specially crafted USB device could be used to trigger this infinite loop. Fixes: 7e860a6e7aa6 ("cdc-acm: add sanity checks") Signed-off-by: Phil Turnbull <phil.turnbull@xxxxxxxxxx> Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> CC: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> CC: Oliver Neukum <oneukum@xxxxxxx> CC: Adam Lee <adam8157@xxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb304b71f8dbcb284f0f876dfb4eecbadf079773 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Apr 27 15:27:36 2015 +0300 Revert "usb: host: ehci-msm: Use devm_ioremap_resource instead of devm_ioremap" This reverts commit 70843f623b58 ("usb: host: ehci-msm: Use devm_ioremap_resource instead of devm_ioremap") and commit e507bf577e5a ("host: ehci-msm: remove duplicate check on resource"), because msm_otg and this driver are using same address space to access AHB mode and USB command registers. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Acked-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5a356cee89f86ff86cc3ce24136ca1f802c1bf1 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Sun Apr 12 17:51:02 2015 +0800 usb: chipidea: otg: remove mutex unlock and lock while stop and start role Wrongly release mutex lock during otg_statemachine may result in re-enter otg_statemachine, which is not allowed, we should do next state transtition after previous one completed. Fixes: 826cfe751f3e ("usb: chipidea: add OTG fsm operation functions implementation") Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e779c6c4a398763c21371fe40f649206041dc1e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 21 11:20:32 2015 +0200 uas: Set max_sectors_240 quirk for ASM1053 devices Testing has shown that ASM1053 devices do not work properly with transfers larger than 240 sectors, so set max_sectors to 240 on these. Cc: stable@xxxxxxxxxxxxxxx # 3.16 Reported-by: Steve Bangert <sbangert@xxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Tested-by: Steve Bangert <sbangert@xxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee136af4a064c2f61e2025873584d2c7ec93f4ae Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 21 11:20:31 2015 +0200 uas: Add US_FL_MAX_SECTORS_240 flag The usb-storage driver sets max_sectors = 240 in its scsi-host template, for uas we do not want to do that for all devices, but testing has shown that some devices need it. This commit adds a US_FL_MAX_SECTORS_240 flag for such devices, and implements support for it in uas.c, while at it it also adds support for US_FL_MAX_SECTORS_64 to uas.c. Cc: stable@xxxxxxxxxxxxxxx # 3.16 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5011d44f0e1117a6db14b19b57c51f8be5673a0 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 21 11:20:30 2015 +0200 uas: Allow uas_use_uas_driver to return usb-storage flags uas_use_uas_driver may set some US_FL_foo flags during detection, currently these are stored in a local variable and then throw away, but these may be of interest to the caller, so add an extra parameter to (optionally) return the detected flags, and use this in the uas driver. Cc: stable@xxxxxxxxxxxxxxx # 3.16 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39376ccb1968ba9f83e2a880a8bf02ad5dea44e1 Merge: 876a7ae 547c4b5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 27 23:12:34 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Pablo Neira Ayuso says: ==================== Netfilter fixes for net The following patchset contains Netfilter fixes for your net tree, they are: 1) Fix a crash in nf_tables when dictionaries are used from the ruleset, due to memory corruption, from Florian Westphal. 2) Fix another crash in nf_queue when used with br_netfilter. Also from Florian. Both fixes are related to new stuff that got in 4.0-rc. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 876a7ae65b86d8cec8efe7d15d050ac61116874e Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Apr 27 14:40:37 2015 -0700 bpf: fix 64-bit divide ALU64_DIV instruction should be dividing 64-bit by 64-bit, whereas do_div() does 64-bit by 32-bit divide. x64 and arm64 JITs correctly implement 64 by 64 unsigned divide. llvm BPF backend emits code assuming that ALU64_DIV does 64 by 64. Fixes: 89aa075832b0 ("net: sock: allow eBPF programs to be attached to sockets") Reported-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e046d68ba719a5bb95912c154c6314472edccfa Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Mon Apr 27 14:12:43 2015 -0400 net: netcp: remove call to netif_carrier_(on/off) for MAC to Phy interface Currently when interface type is MAC to Phy, netif_carrier_(on/off) is called which is not needed as Phy lib already updates the carrier status to net stack. This is needed only for other interface types Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68ce9a1f24b8e8894955032a4af74998315be9fe Author: Shawn Guo <shawn.guo@xxxxxxxxxx> Date: Tue Apr 28 09:05:21 2015 +0800 ARM: dts: imx6qdl-sabreauto: remove pinctrl-assert-gpios The pinctrl-assert-gpios is an invalid pinctrl property. It was probably sneaked from vendor tree. Remove it. Fixes: 4e18a2243a87 ("ARM: imx6qdl-sabreauto.dtsi: add max7310 support") Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 2decb2682f80759f631c8332f9a2a34a02150a03 Merge: b787f68 22a8f23 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 27 14:05:19 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) mlx4 doesn't check fully for supported valid RSS hash function, fix from Amir Vadai 2) Off by one in ibmveth_change_mtu(), from David Gibson 3) Prevent altera chip from reporting false error interrupts in some circumstances, from Chee Nouk Phoon 4) Get rid of that stupid endless loop trying to allocate a FIN packet in TCP, and in the process kill deadlocks. From Eric Dumazet 5) Fix get_rps_cpus() crash due to wrong invalid-cpu value, also from Eric Dumazet 6) Fix two bugs in async rhashtable resizing, from Thomas Graf 7) Fix topology server listener socket namespace bug in TIPC, from Ying Xue 8) Add some missing HAS_DMA kconfig dependencies, from Geert Uytterhoeven 9) bgmac driver intends to force re-polling but does so by returning the wrong value from it's ->poll() handler. Fix from RafaÅ? MiÅ?ecki 10) When the creater of an rhashtable configures a max size for it, don't bark in the logs and drop insertions when that is exceeded. Fix from Johannes Berg 11) Recover from out of order packets in ppp mppe properly, from Sylvain Rochet * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (41 commits) bnx2x: really disable TPA if 'disable_tpa' option is set net:treewide: Fix typo in drivers/net net/mlx4_en: Prevent setting invalid RSS hash function mdio-mux-gpio: use new gpiod_get_array and gpiod_put_array functions netfilter; Add some missing default cases to switch statements in nft_reject. ppp: mppe: discard late packet in stateless mode ppp: mppe: sanity error path rework net/bonding: Make DRV macros private net: rfs: fix crash in get_rps_cpus() altera tse: add support for fixed-links. pxa168: fix double deallocation of managed resources net: fix crash in build_skb() net: eth: altera: Resolve false errors from MSGDMA to TSE ehea: Fix memory hook reference counting crashes net/tg3: Release IRQs on permanent error net: mdio-gpio: support access that may sleep inet: fix possible panic in reqsk_queue_unlink() rhashtable: don't attempt to grow when at max_size bgmac: fix requests for extra polling calls from NAPI tcp: avoid looping in tcp_send_fin() ... commit 53f9b3baa937e0cbdd75ea11b3c824462e4359b2 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Apr 21 12:19:49 2015 +0800 ASoC: rt5645: Fix mask for setting RT5645_DMIC_2_DP_GPIO12 bit Current code uses wrong mask when setting RT5645_DMIC_2_DP_GPIO12 bit, fix it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5a9b06a27db6b006605421658418fb8943a6e217 Author: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Date: Sun Mar 29 10:04:56 2015 -0300 [media] media: soc_camera: rcar_vin: Fix wait_for_completion When stopping abnormally, a driver can't return from wait_for_completion. This patch resolved this problem by changing wait_for_completion_timeout from wait_for_completion. Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2a700d8edffdbfb8200332d96c3147e042b337f1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Apr 13 11:18:51 2015 -0300 [media] marvell-ccic: fix Y'CbCr ordering Various formats had their byte ordering implemented incorrectly, and the V4L2_PIX_FMT_UYVY is actually impossible to create, instead you get V4L2_PIX_FMT_YVYU. This was working before commit ad6ac452227b7cb93ac79beec092850d178740b1 ("add new formats support for marvell-ccic driver"). That commit broke the original format support and the OLPC XO-1 laptop showed wrong colors ever since (if you are crazy enough to attempt to run the latest kernel on it, like I did). The email addresses of the authors of that patch are no longer valid, so without a way to reach them and ask them about their test setup I am going with what I can test on the OLPC laptop. If this breaks something for someone on their non-OLPC setup, then contact the linux-media mailinglist. My suspicion however is that that commit went in untested. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.19 and up Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 22a8f237c0551bae95ffcd2a7ff17d6f5fcce7e7 Author: Michal Schmidt <mschmidt@xxxxxxxxxx> Date: Mon Apr 27 17:20:38 2015 +0200 bnx2x: really disable TPA if 'disable_tpa' option is set bnx2x's 'disable_tpa=1' module option is not respected properly and TPA (transparent packet aggregation) remains enabled. Even though the module option causes LRO to be disabled, TPA is enabled in GRO mode. Additionally, disabling GRO via ethtool then has no effect. One can still observe tpa_* statistics increase and large packets being received in tcpdump. The bug was an unintended consequence of commit aebf6244cd39 "bnx2x: Be more forgiving toward SW GRO". Fix it by following the bp->disable_tpa flag when initializing fp's. Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94435f764cc5838a7e94008f17628ad63384bf06 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Apr 27 23:14:57 2015 +0900 net:treewide: Fix typo in drivers/net This patch fix spelling typo in printk. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b37069090b7c5615610a8aa6b36533d67b364d38 Author: Amir Vadai <amirv@xxxxxxxxxxxx> Date: Mon Apr 27 13:40:56 2015 +0300 net/mlx4_en: Prevent setting invalid RSS hash function mlx4_en_check_rxfh_func() was checking for hardware support before setting a known RSS hash function, but didn't do any check before setting unknown RSS hash function. Need to make it fail on such values. In this occasion, moved the actual setting of the new value from the check function into mlx4_en_set_rxfh(). Fixes: 947cbb0 ("net/mlx4_en: Support for configurable RSS hash function") Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33df10e2ee414183953cc89453bf9c85027a188b Author: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Date: Mon Apr 27 10:37:31 2015 +0200 mdio-mux-gpio: use new gpiod_get_array and gpiod_put_array functions Use the new gpiod_get_array and gpiod_put_array functions (added to mainline in the v4.1 merge window) for obtaining and disposing of GPIO descriptors. Cc: David Miller <davem@xxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 129d23a56623eea0947a05288158d76dc7f2f0ac Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 27 13:20:34 2015 -0400 netfilter; Add some missing default cases to switch statements in nft_reject. This fixes: ==================== net/netfilter/nft_reject.c: In function â??nft_reject_dumpâ??: net/netfilter/nft_reject.c:61:2: warning: enumeration value â??NFT_REJECT_TCP_RSTâ?? not handled in switch [-Wswitch] switch (priv->type) { ^ net/netfilter/nft_reject.c:61:2: warning: enumeration value â??NFT_REJECT_ICMPX_UNREACHâ?? not handled in switch [-Wswi\ tch] net/netfilter/nft_reject_inet.c: In function â??nft_reject_inet_dumpâ??: net/netfilter/nft_reject_inet.c:105:2: warning: enumeration value â??NFT_REJECT_TCP_RSTâ?? not handled in switch [-Wswi\ tch] switch (priv->type) { ^ ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 118c855b5623f3e2e6204f02623d88c09e0c34de Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 23 09:48:51 2015 +0200 3w-9xxx: fix command completion race The 3w-9xxx driver needs to tear down the dma mappings before returning the command to the midlayer, as there is no guarantee the sglist and count are valid after that point. Also remove the dma mapping helpers which have another inherent race due to the request_id index. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx Acked-by: Adam Radford <aradford@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9cd9554615cba14f0877cc9972a6537ad2bdde61 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 23 09:48:50 2015 +0200 3w-xxxx: fix command completion race The 3w-xxxx driver needs to tear down the dma mappings before returning the command to the midlayer, as there is no guarantee the sglist and count are valid after that point. Also remove the dma mapping helpers which have another inherent race due to the request_id index. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx Acked-by: Adam Radford <aradford@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 579d69bc1fd56d5af5761969aa529d1d1c188300 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 23 09:48:49 2015 +0200 3w-sas: fix command completion race The 3w-sas driver needs to tear down the dma mappings before returning the command to the midlayer, as there is no guarantee the sglist and count are valid after that point. Also remove the dma mapping helpers which have another inherent race due to the request_id index. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reported-by: Torsten Luettgert <ml-lkml@xxxxxxx> Tested-by: Bernd Kardatzki <Bernd.Kardatzki@xxxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Acked-by: Adam Radford <aradford@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8c08a6215a432a8f3629da0e8ccfd534ffa480f5 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 23:27:50 2015 +0200 aha1542: Allocate memory before taking a lock The driver currently calls kmalloc with GFP_KERNEL while holding a lock. Fix it by doing the allocation earlier, before taking the lock. Tested on AHA-1542B. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1d90a685eb75a56648d7dd22c704a1a6da516de9 Author: Petr Holasek <pholasek@xxxxxxxxxx> Date: Thu Apr 16 17:38:19 2015 +0200 perf bench numa: Fix immediate meeting of convergence condition This patch fixes the race in the beginning of benchmark run when some threads hasn't got assigned curr_cpu yet so they don't occur in nodes-of-process stats and benchmark concludes that all remaining threads are converged already. The race can be reproduced with small amount of threads and some bigger amount of shared process memory, e.g. one process, two threads and 5GB of process memory. Signed-off-by: Petr Holasek <pholasek@xxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429198699-25039-4-git-send-email-pholasek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 24f1ced167e5e011040b4c3aae75aee45a79eed5 Author: Petr Holasek <pholasek@xxxxxxxxxx> Date: Thu Apr 16 17:38:17 2015 +0200 perf bench numa: Fixes of --quiet argument Corrected description and fixed function of --quiet argument. Signed-off-by: Petr Holasek <pholasek@xxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429198699-25039-2-git-send-email-pholasek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 052b0f6eaf8b1f02669884a177bc3ce463133a42 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Apr 24 10:00:48 2015 -0700 perf bench futex: Fix hung wakeup tasks after requeueing The futex-requeue benchmark can hang because of missing wakeups once the benchmark is done, ie: [Run 1]: Requeued 1024 of 1024 threads in 0.3290 ms perf: couldn't wakeup all tasks (135/1024) This bug, while perhaps suggesting missing wakeups in kernel futex code, is merely a consequence of the crappy FUTEX_CMP_REQUEUE man page, incorrectly mentioning that the number of requeued tasks is in fact returned, not the wakeups. This patch acknowledges this and updates the corresponding futex_wake code around it. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Link: http://lkml.kernel.org/r/1429894848.10273.44.camel@xxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d13855ef18e1852b2c4dc86ddf5759c5b34628cb Author: He Kuang <hekuang@xxxxxxxxxx> Date: Sat Apr 25 16:08:58 2015 +0800 perf probe: Fix bug with global variables handling There are missing curly braces which causes find_variable() return wrong value when probing with global variables. This problem can be reproduced as following: $ perf probe -v --add='generic_perform_write global_variable_for_test' ... Try to find probe point from debuginfo. Probe point found: generic_perform_write+0 Searching 'global_variable_for_test' variable in context. An error occurred in debuginfo analysis (-2). Error: Failed to add events. Reason: No such file or directory (Code: -2) After this patch: $ perf probe -v --add='generic_perform_write global_variable_for_test' ... Converting variable global_variable_for_test into trace event. global_variable_for_test type is int. Found 1 probe_trace_events. Opening /sys/kernel/debug/tracing/kprobe_events write=1 Added new event: Writing event: p:probe/generic_perform_write _stext+1237464 global_variable_for_test=@global_variable_for_test+0:s32 probe:generic_perform_write (on generic_perform_write with global_variable_for_test) You can now use it in all perf tools, such as: perf record -e probe:generic_perform_write -aR sleep 1 Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429949338-18678-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 35e9a9f93994d7f7d12afa41169c7ba05513721b Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Mon Apr 20 22:42:24 2015 -0500 SCSI: add 1024 max sectors black list flag This works around a issue with qnap iscsi targets not handling large IOs very well. The target returns: VPD INQUIRY: Block limits page (SBC) Maximum compare and write length: 1 blocks Optimal transfer length granularity: 1 blocks Maximum transfer length: 4294967295 blocks Optimal transfer length: 4294967295 blocks Maximum prefetch, xdread, xdwrite transfer length: 0 blocks Maximum unmap LBA count: 8388607 Maximum unmap block descriptor count: 1 Optimal unmap granularity: 16383 Unmap granularity alignment valid: 0 Unmap granularity alignment: 0 Maximum write same length: 0xffffffff blocks Maximum atomic transfer length: 0 Atomic alignment: 0 Atomic transfer length granularity: 0 and it is *sometimes* able to handle at least one IO of size up to 8 MB. We have seen in traces where it will sometimes work, but other times it looks like it fails and it looks like it returns failures if we send multiple large IOs sometimes. Also it looks like it can return 2 different errors. It will sometimes send iscsi reject errors indicating out of resources or it will send invalid cdb illegal requests check conditions. And then when it sends iscsi rejects it does not seem to handle retries when there are command sequence holes, so I could not just add code to try and gracefully handle that error code. The problem is that we do not have a good contact for the company, so we are not able to determine under what conditions it returns which error and why it sometimes works. So, this patch just adds a new black list flag to set targets like this to the old max safe sectors of 1024. The max_hw_sectors changes added in 3.19 caused this regression, so I also ccing stable. Reported-by: Christian Hesse <list@xxxxxxxx> Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6cd18e711dd8075da9d78cfc1239f912ff28968a Author: NeilBrown <neilb@xxxxxxx> Date: Mon Apr 27 14:12:22 2015 +1000 block: destroy bdi before blockdev is unregistered. Because of the peculiar way that md devices are created (automatically when the device node is opened), a new device can be created and registered immediately after the blk_unregister_region(disk_devt(disk), disk->minors); call in del_gendisk(). Therefore it is important that all visible artifacts of the previous device are removed before this call. In particular, the 'bdi'. Since: commit c4db59d31e39ea067c32163ac961e9c80198fd37 Author: Christoph Hellwig <hch@xxxxxx> fs: don't reassign dirty inodes to default_backing_dev_info moved the device_unregister(bdi->dev); call from bdi_unregister() to bdi_destroy() it has been quite easy to lose a race and have a new (e.g.) "md127" be created after the blk_unregister_region() call and before bdi_destroy() is ultimately called by the final 'put_disk', which must come after del_gendisk(). The new device finds that the bdi name is already registered in sysfs and complains > [ 9627.630029] WARNING: CPU: 18 PID: 3330 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x5a/0x70() > [ 9627.630032] sysfs: cannot create duplicate filename '/devices/virtual/bdi/9:127' We can fix this by moving the bdi_destroy() call out of blk_release_queue() (which can happen very late when a refcount reaches zero) and into blk_cleanup_queue() - which happens exactly when the md device driver calls it. Then it is only necessary for md to call blk_cleanup_queue() before del_gendisk(). As loop.c devices are also created on demand by opening the device node, we make the same change there. Fixes: c4db59d31e39ea067c32163ac961e9c80198fd37 Reported-by: Azat Khuzhin <a3at.mail@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx (v4.0) Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c671835021798c1c40ca0b55b49feff76ed5e0e1 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Sat Apr 25 07:25:03 2015 +0000 perf top: Fix a segfault when kernel map is restricted. Perf top raise a warning if a kernel sample is collected but kernel map is restricted. The warning message needs to dereference al.map->dso... However, previous perf_event__preprocess_sample() doesn't always guarantee al.map != NULL, for example, when kernel map is restricted. This patch validates al.map before dereferencing, avoid the segfault. Before this patch: $ cat /proc/sys/kernel/kptr_restrict 1 $ perf top -p 120183 perf: Segmentation fault -------- backtrace -------- /path/to/perf[0x509868] /lib64/libc.so.6(+0x3545f)[0x7f9a1540045f] /path/to/perf[0x448820] /path/to/perf(cmd_top+0xe3c)[0x44a5dc] /path/to/perf[0x4766a2] /path/to/perf(main+0x5f5)[0x42e545] /lib64/libc.so.6(__libc_start_main+0xf4)[0x7f9a153ecbd4] /path/to/perf[0x42e674] And gdb call trace: Program received signal SIGSEGV, Segmentation fault. perf_event__process_sample (machine=0xa44030, sample=0x7fffffffa4c0, evsel=0xa43b00, event=0x7ffff41c3000, tool=0x7fffffffa8a0) at builtin-top.c:736 736 !RB_EMPTY_ROOT(&al.map->dso->symbols[MAP__FUNCTION]) ? (gdb) bt #0 perf_event__process_sample (machine=0xa44030, sample=0x7fffffffa4c0, evsel=0xa43b00, event=0x7ffff41c3000, tool=0x7fffffffa8a0) at builtin-top.c:736 #1 perf_top__mmap_read_idx (top=top@entry=0x7fffffffa8a0, idx=idx@entry=0) at builtin-top.c:855 #2 0x000000000044a5dd in perf_top__mmap_read (top=0x7fffffffa8a0) at builtin-top.c:872 #3 __cmd_top (top=0x7fffffffa8a0) at builtin-top.c:997 #4 cmd_top (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin-top.c:1267 #5 0x00000000004766a3 in run_builtin (p=p@entry=0x8a6ce8 <commands+264>, argc=argc@entry=3, argv=argv@entry=0x7fffffffdf70) at perf.c:371 #6 0x000000000042e546 in handle_internal_command (argv=0x7fffffffdf70, argc=3) at perf.c:430 #7 run_argv (argv=0x7fffffffdcf0, argcp=0x7fffffffdcfc) at perf.c:474 #8 main (argc=3, argv=0x7fffffffdf70) at perf.c:589 (gdb) Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429946703-80807-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9fb2bcf928ed5c664affaeb7edf9cc19f590b9f3 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Apr 27 17:04:37 2015 +0200 drm/radeon: fix userptr return value checking (v2) Otherwise we print false warning from time to time. v2: agd5f: rebase Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Jack Xiao <Jack.Xiao@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c29c0876ec05d51a93508a39b90b92c29ba6423d Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Apr 27 17:04:36 2015 +0200 drm/radeon: check new address before removing old one Otherwise the change isn't atomic. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 48afbd70ac7b6aa62e8d452091023941d8085f8a Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Apr 27 17:04:35 2015 +0200 drm/radeon: reset BOs address after clearing it. Otherwise it is possible that we will have page table corruption if we change a BOs address multiple times. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 26d4d129b6042197b4cbc8341c0618f99231af2f Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Apr 27 17:04:34 2015 +0200 drm/radeon: fix lockup when BOs aren't part of the VM on release If we unmap BOs before releasing them them the intervall tree locks up because we try to remove an entry not inside the tree. Based on a patch from Michel Dänzer. Signed-off-by: Christian König <christian.koenig@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 393a33970540ac6a2c894b0d6ef3f5d485860884 Author: Wang YanQing <udknight@xxxxxxxxx> Date: Sun Apr 26 16:43:31 2015 +0800 block:bounce: fix call inc_|dec_zone_page_state on different pages confuse value of NR_BOUNCE Commit d2c5e30c9a1420902262aa923794d2ae4e0bc391 ("[PATCH] zoned vm counters: conversion of nr_bounce to per zone counter") convert statistic of nr_bounce to per zone and one global value in vm_stat, but it call inc_|dec_zone_page_state on different pages, then different zones, and cause us to get unexpected value of NR_BOUNCE. Below is the result on my machine: Mar 2 09:26:08 udknight kernel: [144766.778265] Mem-Info: Mar 2 09:26:08 udknight kernel: [144766.778266] DMA per-cpu: Mar 2 09:26:08 udknight kernel: [144766.778268] CPU 0: hi: 0, btch: 1 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778269] CPU 1: hi: 0, btch: 1 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778270] Normal per-cpu: Mar 2 09:26:08 udknight kernel: [144766.778271] CPU 0: hi: 186, btch: 31 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778273] CPU 1: hi: 186, btch: 31 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778274] HighMem per-cpu: Mar 2 09:26:08 udknight kernel: [144766.778275] CPU 0: hi: 186, btch: 31 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778276] CPU 1: hi: 186, btch: 31 usd: 0 Mar 2 09:26:08 udknight kernel: [144766.778279] active_anon:46926 inactive_anon:287406 isolated_anon:0 Mar 2 09:26:08 udknight kernel: [144766.778279] active_file:105085 inactive_file:139432 isolated_file:0 Mar 2 09:26:08 udknight kernel: [144766.778279] unevictable:653 dirty:0 writeback:0 unstable:0 Mar 2 09:26:08 udknight kernel: [144766.778279] free:178957 slab_reclaimable:6419 slab_unreclaimable:9966 Mar 2 09:26:08 udknight kernel: [144766.778279] mapped:4426 shmem:305277 pagetables:784 bounce:0 Mar 2 09:26:08 udknight kernel: [144766.778279] free_cma:0 Mar 2 09:26:08 udknight kernel: [144766.778286] DMA free:3324kB min:68kB low:84kB high:100kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15976kB managed:15900kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes Mar 2 09:26:08 udknight kernel: [144766.778287] lowmem_reserve[]: 0 822 3754 3754 Mar 2 09:26:08 udknight kernel: [144766.778293] Normal free:26828kB min:3632kB low:4540kB high:5448kB active_anon:4872kB inactive_anon:68kB active_file:1796kB inactive_file:1796kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:892920kB managed:842560kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:4144kB slab_reclaimable:25676kB slab_unreclaimable:39864kB kernel_stack:1944kB pagetables:3136kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:2412612 all_unreclaimable? yes Mar 2 09:26:08 udknight kernel: [144766.778294] lowmem_reserve[]: 0 0 23451 23451 Mar 2 09:26:08 udknight kernel: [144766.778299] HighMem free:685676kB min:512kB low:3748kB high:6984kB active_anon:182832kB inactive_anon:1149556kB active_file:418544kB inactive_file:555932kB unevictable:2612kB isolated(anon):0kB isolated(file):0kB present:3001732kB managed:3001732kB mlocked:0kB dirty:0kB writeback:0kB mapped:17704kB shmem:1216964kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:75771152kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no Mar 2 09:26:08 udknight kernel: [144766.778300] lowmem_reserve[]: 0 0 0 0 You can see bounce:75771152kB for HighMem, but bounce:0 for lowmem and global. This patch fix it. Signed-off-by: Wang YanQing <udknight@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4ada77e37a773168fea484899201e272ab44ba8b Author: Marek Vasut <marex@xxxxxxx> Date: Fri Apr 24 13:29:47 2015 +0200 ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name Fix a typo in the TX DMA interrupt name for AUART4. This patch makes AUART4 operational again. Signed-off-by: Marek Vasut <marex@xxxxxxx> Fixes: f30fb03d4d3a ("ARM: dts: add generic DMA device tree binding for mxs-dma") Cc: stable@xxxxxxxxxxxxxxx Acked-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit f90d3f0d0a11fa77918fd5497cb616dd2faa8431 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Apr 24 09:27:33 2015 +0200 ARM: dts: imx25: Add #pwm-cells to pwm4 The property '#pwm-cells' is currently missing. It is not possible to use pwm4 without this property. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Fixes: 5658a68fb578 ("ARM i.MX25: Add devicetree") Cc: <stable@xxxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 30e5f003ff4b2be86f71733b6c9b11355d66584c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 16:39:19 2015 +0200 ALSA: hda - Fix missing va_end() call in snd_hda_codec_pcm_new() Reported by coverity CID 1296024. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7f8d49dcc66a3dd3a8fc3078330b8fb9e616ad3f Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Apr 21 15:59:53 2015 +0200 ARM: dts: imx6: phyFLEX: USB VBUS control is active-high The fixed-regulator bindings require a separate property enable-active-high, the standard gpio phandle property polarity setting is ignored. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Fixes: 4fe69a934b1f ("ARM: dts: Add Phytec pfla02 with i.MX6 DualLite/Solo") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit cd17e02ff4db58ec32d35cf331c705d295779930 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Apr 27 09:51:43 2015 -0400 drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5 Seems to have problems with high mclks. bug: https://bugs.freedesktop.org/show_bug.cgi?id=76490 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 7fe04d6fa824ccea704535a597dc417c8687f990 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Sun Apr 19 12:01:00 2015 -0400 drm/radeon: adjust pll when audio is not enabled Fixes display problems with some monitors when audio is not enabled. Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=89505 https://bugzilla.kernel.org/show_bug.cgi?id=94171 Plus several reports on IRC. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 38aef1549b18539eaecd804383a6ccb6588a9ce1 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Apr 7 10:20:49 2015 -0400 drm/radeon: only enable audio streams if the monitor supports it Selectively enable which packets we send based on monitor caps. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 0f55db36d49d45b80eff0c0a2a498766016f458b Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Apr 7 09:52:42 2015 -0400 drm/radeon: only mark audio as connected if the monitor supports it (v3) Otherwise the driver may try and send audio which may confuse the monitor. v2: set pin to NULL if no audio v3: avoid crash with analog encoders Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 362ff251390f3d1f8fe94666f4fc4e5876381114 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Mar 31 11:43:12 2015 -0400 drm/radeon/audio: don't enable packets until the end Don't enable the audio and avi infoframes and audio stream until all the state is set up. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 12428327bbd1180b5d8ef83fdf9482b878d0502a Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Mar 31 11:38:48 2015 -0400 drm/radeon: drop dce6_dp_enable It's mostly duplicated with evergreen_dp_enable. This is a prerequisite for fix implemented in another patch. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 304f07e9c8d302cf3183248cbabb40598eb5b732 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Mar 31 10:33:05 2015 -0400 drm/radeon: fix ordering of AVI packet setup Set the line first, then enable the stream. May fix pink line problems on some displays. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b421ed15d2c3039eb724680e4de1e4b2bd196a9a Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Thu Apr 16 11:17:27 2015 +0900 drm/radeon: Use drm_calloc_ab for CS relocs The number of relocs is passed in by userspace and can be large. It has been observed to cause kcalloc failures in the wild. Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 73459e2a1ada09a68c02cc5b73f3116fc8194b3d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 23 13:20:18 2015 +0200 x86: pvclock: Really remove the sched notifier for cross-cpu migrations This reverts commits 0a4e6be9ca17c54817cf814b4b5aa60478c6df27 and 80f7fdb1c7f0f9266421f823964fd1962681f6ce. The task migration notifier was originally introduced in order to support the pvclock vsyscall with non-synchronized TSC, but KVM only supports it with synchronized TSC. Hence, on KVM the race condition is only needed due to a bad implementation on the host side, and even then it's so rare that it's mostly theoretical. As far as KVM is concerned it's possible to fix the host, avoiding the additional complexity in the vDSO and the (re)introduction of the task migration notifier. Xen, on the other hand, hasn't yet implemented vsyscall support at all, so we do not care about its plans for non-synchronized TSC. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Suggested-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5dca0d9147458be9b9363b8a484aa77d710b412a Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Wed Mar 25 12:08:14 2015 +0100 kvm: x86: fix kvmclock update protocol The kvmclock spec says that the host will increment a version field to an odd number, then update stuff, then increment it to an even number. The host is buggy and doesn't do this, and the result is observable when one vcpu reads another vcpu's kvmclock data. There's no good way for a guest kernel to keep its vdso from reading a different vcpu's kvmclock data, but we don't need to care about changing VCPUs as long as we read a consistent data from kvmclock. (VCPU can change outside of this loop too, so it doesn't matter if we return a value not fit for this VCPU.) Based on a patch by Radim KrÄ?máÅ?. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dc391502fdbf97a9cabdc58ba8c915175383f681 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Fri Apr 17 17:50:49 2015 +0300 pinctrl: qcom-spmi: Fix pin direction configuration Pin direction configuration was incorrectly overwritten by output and function values in set_mux(). Fix this. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a526973e0291b245aefe12023a7f775f3c0e59a2 Author: Andrew Andrianov <andrew@xxxxxxxxxx> Date: Sat Apr 11 23:29:19 2015 +0300 pinctrl: mvebu: Fix mapping of pin 63 (gpo -> gpio) Signed-off-by: Andrew Andrianov <andrew@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a4811622fea15fdc78102069f573061fc87f3570 Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Fri Apr 10 06:25:10 2015 +0800 gpiolib: change gpio pin from unsigned to signed in acpi callback The signed error will be wrongly used as valid gpio offset Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 07b0e5d49d227e3950cb13a3e8caf248ef2a310e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 14:50:39 2015 +0200 ALSA: emux: Fix mutex deadlock at unloading The emux-synth driver has a possible AB/BA mutex deadlock at unloading the emu10k1 driver: snd_emux_free() -> snd_emux_detach_seq(): mutex_lock(&emu->register_mutex) -> snd_seq_delete_kernel_client() -> snd_seq_free_client(): mutex_lock(®ister_mutex) snd_seq_release() -> snd_seq_free_client(): mutex_lock(®ister_mutex) -> snd_seq_delete_all_ports() -> snd_emux_unuse(): mutex_lock(&emu->register_mutex) Basically snd_emux_detach_seq() doesn't need a protection of emu->register_mutex as it's already being unregistered. So, we can get rid of this for avoiding the deadlock. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 61b8c7b58450846b63b35e90866d2eb4fde44834 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 15:51:38 2015 +0200 ARM: mach-imx: devices: platform-sdhci-esdhc-imx: fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 0fdebe1a2f4d3a8fc03754022fabf8ba95e131a3 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Tue Apr 14 20:37:26 2015 +0000 ARM: dts: imx23-olinuxino: Fix dr_mode of usb0 The dr_mode of usb0 on imx233-olinuxino is left to default "otg". Since the green LED (GPIO2_1) on imx233-olinuxino is connected to the same pin as USB_OTG_ID it's possible to disable USB host by LED toggling: echo 0 > /sys/class/leds/green/brightness [ 1068.890000] ci_hdrc ci_hdrc.0: remove, state 1 [ 1068.890000] usb usb1: USB disconnect, device number 1 [ 1068.920000] usb 1-1: USB disconnect, device number 2 [ 1068.920000] usb 1-1.1: USB disconnect, device number 3 [ 1069.070000] usb 1-1.2: USB disconnect, device number 4 [ 1069.450000] ci_hdrc ci_hdrc.0: USB bus 1 deregistered [ 1074.460000] ci_hdrc ci_hdrc.0: timeout waiting for 00000800 in 11 This patch fixes the issue by setting dr_mode to "host" in the dts file. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Fixes: b49312948285 ("ARM: dts: imx23-olinuxino: Add USB host support") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit cfe8c59762244251fd9a5e281d48808095ff4090 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Apr 14 11:05:04 2015 -0300 ARM: dts: imx23-olinuxino: Fix polarity of LED GPIO On imx23-olinuxino the LED turns on when level logic high is aplied to GPIO2_1. Fix the gpios property accordingly. Fixes: b34aa1850244 ("ARM: dts: imx23-olinuxino: Remove unneeded "default-on"") Reported-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit d02260824e2cad626fb2a9d62e27006d34b6dedc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 13:00:09 2015 +0200 ALSA: emu10k1: Fix card shortname string buffer overflow Some models provide too long string for the shortname that has 32bytes including the terminator, and it results in a non-terminated string exposed to the user-space. This isn't too critical, though, as the string is stopped at the succeeding longname string. This patch fixes such entries by dropping "SB" prefix (it's enough to fit within 32 bytes, so far). Meanwhile, it also changes strcpy() with strlcpy() to make sure that this kind of problem won't happen in future, too. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b44166cd46e28dd608d5baa5873047a40f32919c Author: Bob Liu <bob.liu@xxxxxxxxxx> Date: Fri Apr 3 14:42:59 2015 +0800 xen/grant: introduce func gnttab_unmap_refs_sync() There are several place using gnttab async unmap and wait for completion, so move the common code to a function gnttab_unmap_refs_sync(). Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 325d73bf8fea8af2227240b7305253fb052d3a68 Author: Bob Liu <bob.liu@xxxxxxxxxx> Date: Fri Apr 3 14:42:58 2015 +0800 xen/blkback: safely unmap purge persistent grants Commit c43cf3ea8385 ("xen-blkback: safely unmap grants in case they are still in use") use gnttab_unmap_refs_async() to wait until the mapped pages are no longer in use before unmapping them, but that commit missed the persistent case. Purge persistent pages can't be unmapped either unless no longer in use. Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 6829e274a623187c24f7cfc0e3d35f25d087fcc5 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Apr 23 12:46:16 2015 +0100 arm64: dma-mapping: always clear allocated buffers Buffers allocated by dma_alloc_coherent() are always zeroed on Alpha, ARM (32bit), MIPS, PowerPC, x86/x86_64 and probably other architectures. It turned out that some drivers rely on this 'feature'. Allocated buffer might be also exposed to userspace with dma_mmap() call, so clearing it is desired from security point of view to avoid exposing random memory to userspace. This patch unifies dma_alloc_coherent() behavior on ARM64 architecture with other implementations by unconditionally zeroing allocated buffer. Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6544e67bfb1bf55bcf3c0f6b37631917e9acfb74 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Apr 22 18:16:33 2015 +0100 ARM64: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL Since several interrupt controllers including GIC support both edge and level triggered interrupts, it's useful to provide that information in /proc/interrupts even on ARM64 similar to ARM and PPC. This is based on Geert Uytterhoeven's commit 7c07005eea96 ("ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL") Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 878a84d5a8a18a4ab241d40cebb791d6aedf5605 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Mon Apr 20 11:14:19 2015 +0100 arm64: add missing data types in smp_load_acquire/smp_store_release Commit 8053871d0f7f ("smp: Fix smp_call_function_single_async() locking") introduced a call to smp_load_acquire() with a u16 argument, but we only cared about u32 and u64 types in that function so far. This resulted in a compiler warning fortunately, pointing at an uninitialized use. Due to the implementation structure the compiler misses that bug in the smp_store_release(), though. Add the u16 and u8 variants using ldarh/stlrh and ldarb/stlrb, respectively. Together with the compiletime_assert_atomic_type() check this should cover all cases now. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 7290006d8c0900c56d8c58428134f02c35109d17 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 10:40:45 2015 +0200 ALSA: hda - Add mute-LED mode control to Thinkpad This patch adds the missing flag to enable "Mute-LED Mode" mixer enum ctl for Thinkpads that have also the software mute-LED control. Reported-and-tested-by: Pali Rohár <pali.rohar@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ee52e56e7b12834476cd0031c5986254ba1b6317 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 10:36:11 2015 +0200 ALSA: hda - Fix mute-LED fixed mode The mute-LED mode control has the fixed on/off states that are supposed to remain on/off regardless of the master switch. However, this doesn't work actually because the vmaster hook is called in the vmaster code itself. This patch fixes it by calling the hook indirectly after checking the mute LED mode. Reported-and-tested-by: Pali Rohár <pali.rohar@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3e1b0c4a9d563d7fc6e22dc92613cd3237bb5ce0 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 27 10:43:22 2015 +0200 ALSA: hda - Fix click noise at start on Dell XPS13 Dell XPS13 produces a click noise at boot up, and Gabriele spotted out that it's triggered by the initial pin control of the mic (NID 0x19). This has to be set to Hi-Z Vref while the driver initializes to Vref 80% as a normal mic. This patch fixes the generic parser code not to override the target vref if it has been already set by the driver, and adds a proper initialization of the target vref for this pin in the Realtek driver side. Reported-and-tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 750e30d4076ae5e02ad13a376e96c95a2627742c Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 11:50:13 2015 +0200 ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC There is no crystal connected to the internal RTC on the Open Block AX3. So let's disable it in order to prevent the kernel probing the driver uselessly. Eventually this patches removes the following warning message from the boot log: "rtc-mv d0010300.rtc: internal RTC not ticking" Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.8 + commit 11133db7a836b0cb411faa048f07a38e994d1382 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Apr 20 16:02:33 2015 +0200 ARM: ux500: Enable GPIO regulator for SD-card for snowball Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f9a8c3914ba85f19c3360b19612d77c47adb8942 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Apr 20 16:02:32 2015 +0200 ARM: ux500: Enable GPIO regulator for SD-card for HREF boards Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 53d2669844263fd5fdc70f0eb6a2eb8a21086d8e Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Apr 20 16:02:31 2015 +0200 ARM: ux500: Move GPIO regulator for SD-card into board DTSs The GPIO regulator for the SD-card isn't a ux500 SOC configuration, but instead it's specific to the board. Move the definition of it, into the board DTSs. Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 00170528f0486c08a18475af7fefa0a7679e042d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 19 18:46:46 2015 +0100 drivers: sh: Remove test for now unsupported sh7372 Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 230f259ffe4ad6d334bb100ce1c0c6a73ff18989 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:43:03 2015 +0100 drivers: sh: Disable PM runtime for multi-platform r8a73a4 with genpd If the default PM domain using PM_CLK is used for PM runtime, the real PM domain(s) cannot be registered from DT later. Hence do not enable it when running a multi-platform kernel with genpd support on an r8a73a4. The R-Mobile PM domain driver will take care of PM runtime management of the module clocks. The default PM domain is still needed for: - platforms without genpd support, - the legacy (non-DT) case, where genpd may take over later, except for the C5 "always on" PM domain. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 41b4b3bc7905615f7617c88bf9cf4b3b04bda78f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:31:39 2015 +0100 drivers: sh: Disable PM runtime for multi-platform sh73a0 with genpd If the default PM domain using PM_CLK is used for PM runtime, the real PM domain(s) cannot be registered from DT later. Hence do not enable it when running a multi-platform kernel with genpd support on an sh73a0. The R-Mobile PM domain driver will take care of PM runtime management of the module clocks. The default PM domain is still needed for: - platforms without genpd support, - the legacy (non-DT) case, where genpd may take over later, except for the C5 "always on" PM domain. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8e9b29cc716c7940f9ad1d635fb3f725435b8ae9 Merge: 73b5a6f 0365476 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 26 23:25:13 2015 -0400 Merge branch 'ppp_mppe_desync' Sylvain Rochet says: ==================== ppp: mppe: fixes MPPE desync on links which don't guarantee packet ordering I am currently having an issue with PPP over L2TP (UDP) and MPPE in stateless mode (default mode), UDP does not guarantee packet ordering so we might get out of order packet. MPPE needs to be continuously synched so we should drop late UDP packet. I added a printk on the number of time we rekeyed in MPPE decompressor, this is what we currently have if we receive a slightly out of order UDP packet: [1731001.049206] mppe_decompress[1]: ccount 1559 [1731001.049216] mppe_decompress[1]: rekeyed 1 times [1731001.049228] mppe_decompress[1]: ccount 1560 [1731001.049232] mppe_decompress[1]: rekeyed 1 times [1731001.050170] mppe_decompress[1]: ccount 1562 [1731001.050182] mppe_decompress[1]: rekeyed 2 times [1731001.050191] mppe_decompress[1]: ccount 1561 [1731001.062576] mppe_decompress[1]: rekeyed 4095 times ^^^^ This is obviously wrong, we missed packet 1561 and we already rekeyed 2 times for 1562 we previously received, we can't recover the decryption key we need for 1561, we should drop it instead of rekeying 4095 times. This patch series drop any packet with are not within the 4096/2 forward window. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03654763148f9a3878b8b70c30d1ffce2fca3dff Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Sun Apr 26 20:40:53 2015 +0200 ppp: mppe: discard late packet in stateless mode When PPP is used over a link which does not guarantee packet ordering, we might get late MPPE packets. This is a problem because MPPE must be kept synchronized and the current implementation does not drop them and rekey 4095 times instead of 0, which is wrong. In order to prevent rekeying about a whole count space times (~ 4095 times), drop packets which are not within the forward 4096/2 window and increase sanity error counter. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 325301892a2d348323e09598ae108ba26889f7f9 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Sun Apr 26 20:40:52 2015 +0200 ppp: mppe: sanity error path rework We are going to need sanity error path a little further, rework to be able to use the sanity error path anywhere in decompressor. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 801661467fd50832191c81665d061ffabcc1c5de Author: Jean Delvare <jdelvare@xxxxxxx> Date: Sun Apr 26 12:52:02 2015 +0200 dmaengine: xgene: Set hardware dependency The xgene-dma driver is only useful on X-Gene SoC. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Cc: Loc Ho <lho@xxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8ad31bf45db1c4a8f400cbc10400ce9fc0bed227 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Apr 26 11:53:54 2015 +0200 dmaengine: usb-dmac: Protect PM-only functions to kill warning If CONFIG_PM=n: drivers/dma/sh/usb-dmac.c:677: warning: â??usb_dmac_runtime_suspendâ?? defined but not used drivers/dma/sh/usb-dmac.c:688: warning: â??usb_dmac_runtime_resumeâ?? defined but not used Protect the unused functions by #ifdef CONFIG_PM to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 73b5a6f2a7a1cb78ccdec3900afc8657e11bc6bf Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Sun Apr 26 15:55:57 2015 +0300 net/bonding: Make DRV macros private The bonding modules currently defines four macros with general names that pollute the global namespace: DRV_VERSION DRV_RELDATE DRV_NAME DRV_DESCRIPTION Fixing that by defining a private bonding_priv.h header files which includes those defines. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b787f68c36d49bb1d9236f403813641efa74a031 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:59:10 2015 -0700 Linux 4.1-rc1 commit 61f01dd941ba9e06d2bf05994450ecc3d61b6b8b Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Sun Apr 26 16:47:59 2015 -0700 x86_64, asm: Work around AMD SYSRET SS descriptor attribute issue AMD CPUs don't reinitialize the SS descriptor on SYSRET, so SYSRET with SS == 0 results in an invalid usermode state in which SS is apparently equal to __USER_DS but causes #SS if used. Work around the issue by setting SS to __KERNEL_DS __switch_to, thus ensuring that SYSRET never happens with SS set to NULL. This was exposed by a recent vDSO cleanup. Fixes: e7d6eefaaa44 x86/vdso32/syscall.S: Do not load __USER32_DS to %ss Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Peter Anvin <hpa@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1190944f4b12203330ac5ed8784f6c181bf26f2d Merge: 9f86262 59fd7e4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:55:26 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull intel drm fixes from Dave Airlie. * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg drm/i915: Workaround to avoid lite restore with HEAD==TAIL drm/i915: cope with large i2c transfers commit 9f86262dcc573ca195488de9ec6e4d6d74288ad3 Merge: 85f2901 03ecc32 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:47:46 2015 -0700 Merge git://git.infradead.org/intel-iommu Pull intel iommu updates from David Woodhouse: "This lays a little of the groundwork for upcoming Shared Virtual Memory support â?? fixing some bogus #defines for capability bits and adding the new ones, and starting to use the new wider page tables where we can, in anticipation of actually filling in the new fields therein. It also allows graphics devices to be assigned to VM guests again. This got broken in 3.17 by disallowing assignment of RMRR-afflicted devices. Like USB, we do understand why there's an RMRR for graphics devices â?? and unlike USB, it's actually sane. So we can make an exception for graphics devices, just as we do USB controllers. Finally, tone down the warning about the X2APIC_OPT_OUT bit, due to persistent requests. X2APIC_OPT_OUT was added to the spec as a nasty hack to allow broken BIOSes to forbid us from using X2APIC when they do stupid and invasive things and would break if we did. Someone noticed that since Windows doesn't have full IOMMU support for DMA protection, setting the X2APIC_OPT_OUT bit made Windows avoid initialising the IOMMU on the graphics unit altogether. This means that it would be available for use in "driver mode", where the IOMMU registers are made available through a BAR of the graphics device and the graphics driver can do SVM all for itself. So they started setting the X2APIC_OPT_OUT bit on *all* platforms with SVM capabilities. And even the platforms which *might*, if the planets had been aligned correctly, possibly have had SVM capability but which in practice actually don't" * git://git.infradead.org/intel-iommu: iommu/vt-d: support extended root and context entries iommu/vt-d: Add new extended capabilities from v2.3 VT-d specification iommu/vt-d: Allow RMRR on graphics devices too iommu/vt-d: Print x2apic opt out info instead of printing a warning iommu/vt-d: kill bogus ecap_niotlb_iunits() commit 85f2901bdf4bdc0d034e1bbe8629e269ec200389 Merge: f583381 fcdd5f0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:44:09 2015 -0700 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "This has a mixture of merge window cleanups and bugfixes" * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: st: add include for pinctrl i2c: mux: use proper dev when removing "channel-X" symlinks i2c: digicolor: remove duplicate include i2c: Mark adapter devices with pm_runtime_no_callbacks i2c: pca-platform: fix broken email address i2c: mxs: fix broken email address i2c: rk3x: report number of messages transmitted commit f583381f506dc53b9d3e98cf9d6577323eb3fcd2 Merge: 59953fb a3bdccc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:40:30 2015 -0700 Merge branch 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fixes from Chris Mason: "Filipe hit two problems in my block group cache patches. We finalized the fixes last week and ran through more tests" * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: prevent list corruption during free space cache processing Btrfs: fix inode cache writeout commit 59fd7e4b0b0769638b5162e56c28bbb027a118d3 Merge: c8b3fd0 b5f1c97 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Apr 27 10:35:15 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-04-25' of git://anongit.freedesktop.org/drm-intel into drm-fixes three fixes for i915. * tag 'drm-intel-next-fixes-2015-04-25' of git://anongit.freedesktop.org/drm-intel: drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg drm/i915: Workaround to avoid lite restore with HEAD==TAIL drm/i915: cope with large i2c transfers commit 59953fba87e5e535657403cc6439d24187929559 Merge: 9ec3a64 f139b6c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 17:33:59 2015 -0700 Merge tag 'nfs-for-4.1-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs Pull NFS client updates from Trond Myklebust: "Another set of mainly bugfixes and a couple of cleanups. No new functionality in this round. Highlights include: Stable patches: - Fix a regression in /proc/self/mountstats - Fix the pNFS flexfiles O_DIRECT support - Fix high load average due to callback thread sleeping Bugfixes: - Various patches to fix the pNFS layoutcommit support - Do not cache pNFS deviceids unless server notifications are enabled - Fix a SUNRPC transport reconnection regression - make debugfs file creation failure non-fatal in SUNRPC - Another fix for circular directory warnings on NFSv4 "junctioned" mountpoints - Fix locking around NFSv4.2 fallocate() support - Truncating NFSv4 file opens should also sync O_DIRECT writes - Prevent infinite loop in rpcrdma_ep_create() Features: - Various improvements to the RDMA transport code's handling of memory registration - Various code cleanups" * tag 'nfs-for-4.1-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (55 commits) fs/nfs: fix new compiler warning about boolean in switch nfs: Remove unneeded casts in nfs NFS: Don't attempt to decode missing directory entries Revert "nfs: replace nfs_add_stats with nfs_inc_stats when add one" NFS: Rename idmap.c to nfs4idmap.c NFS: Move nfs_idmap.h into fs/nfs/ NFS: Remove CONFIG_NFS_V4 checks from nfs_idmap.h NFS: Add a stub for GETDEVICELIST nfs: remove WARN_ON_ONCE from nfs_direct_good_bytes nfs: fix DIO good bytes calculation nfs: Fetch MOUNTED_ON_FILEID when updating an inode sunrpc: make debugfs file creation failure non-fatal nfs: fix high load average due to callback thread sleeping NFS: Reduce time spent holding the i_mutex during fallocate() NFS: Don't zap caches on fallocate() xprtrdma: Make rpcrdma_{un}map_one() into inline functions xprtrdma: Handle non-SEND completions via a callout xprtrdma: Add "open" memreg op xprtrdma: Add "destroy MRs" memreg op xprtrdma: Add "reset MRs" memreg op ... commit 9ec3a646fe09970f801ab15e0f1694060b9f19af Merge: c8b3fd0 3cab989 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 15:48:49 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull fourth vfs update from Al Viro: "d_inode() annotations from David Howells (sat in for-next since before the beginning of merge window) + four assorted fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: RCU pathwalk breakage when running into a symlink overmounting something fix I_DIO_WAKEUP definition direct-io: only inc/dec inode->i_dio_count for file systems fs/9p: fix readdir() VFS: assorted d_backing_inode() annotations VFS: fs/inode.c helpers: d_inode() annotations VFS: fs/cachefiles: d_backing_inode() annotations VFS: fs library helpers: d_inode() annotations VFS: assorted weird filesystems: d_inode() annotations VFS: normal filesystems (and lustre): d_inode() annotations VFS: security/: d_inode() annotations VFS: security/: d_backing_inode() annotations VFS: net/: d_inode() annotations VFS: net/unix: d_backing_inode() annotations VFS: kernel/: d_inode() annotations VFS: audit: d_backing_inode() annotations VFS: Fix up some ->d_inode accesses in the chelsio driver VFS: Cachefiles should perform fs modifications on the top layer only VFS: AF_UNIX sockets should call mknod on the top layer only commit c8b3fd0ce313443731e8fd6d5a541085eb465f99 Merge: d89b3e1 e0155a9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:56:35 2015 -0700 Merge tag 'pm+acpi-4.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull more power management and ACPI updates from Rafael Wysocki: "These are fixes mostly (intel_pstate, ACPI core, ACPI EC driver, cpupower tool), a new CPU ID for the Intel RAPL driver and one intel_pstate driver improvement that didn't make it to my previous pull requests due to timing. Specifics: - Fix a build warning in the intel_pstate driver showing up in non-SMP builds (Borislav Petkov) - Change one of the intel_pstate's P-state selection parameters for Baytrail and Cherrytrail CPUs to significantly improve performance at the cost of a small increase in energy consumption (Kristen Carlson Accardi) - Fix a NULL pointer dereference in the ACPI EC driver due to an unsafe list walk in the query handler removal routine (Chris Bainbridge) - Get rid of a false-positive lockdep warning in the ACPI container hot-remove code (Rafael J Wysocki) - Prevent the ACPI device enumeration code from creating device objects of a wrong type in some cases (Rafael J Wysocki) - Add Skylake processors support to the Intel RAPL power capping driver (Brian Bian) - Drop the stale MAINTAINERS entry for the ACPI dock driver that is regarded as part of the ACPI core and maintained along with it now (Chao Yu) - Fix cpupower tool breakage caused by a library API change in libpci 3.3.0 (Lucas Stach)" * tag 'pm+acpi-4.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI / scan: Add a scan handler for PRP0001 ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline() ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler() MAINTAINERS: remove maintainship entry of docking station driver powercap / RAPL: Add support for Intel Skylake processors cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning intel_pstate: Change the setpoint for Atom params cpupower: fix breakage from libpci API change commit d89b3e19ef98a8d3b81a9f8a62c6ac89fd00412e Merge: 78d4256 8c98ebd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:51:05 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fixes from Herbert Xu: "This push fixes a build problem with img-hash under non-standard configurations and a serious regression with sha512_ssse3 which can lead to boot failures" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: img-hash - CRYPTO_DEV_IMGTEC_HASH should depend on HAS_DMA crypto: x86/sha512_ssse3 - fixup for asm function prototype change commit 78d425677217b655ed36c492a070b5002832fc73 Merge: 36a8032 358d6a2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:44:46 2015 -0700 Merge tag 'platform-drivers-x86-v4.1-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull x86 platform driver updates from Darren Hart: "This series includes significant updates to the toshiba_acpi driver and the reintroduction of the dell-laptop keyboard backlight additions I had to revert previously. Also included are various fixes for typos, warnings, correctness, and minor bugs. Specifics: dell-laptop: - add support for keyboard backlight. toshiba_acpi: - adaptive keyboard, hotkey, USB sleep and charge, and backlight updates. Update sysfs documentation. toshiba_bluetooth: - fix enabling/disabling loop on recent devices apple-gmux: - lock iGP IO to protect from vgaarb changes other: - Fix typos, clear gcc warnings, clarify pr_* messages, correct return types, update MAINTAINERS" * tag 'platform-drivers-x86-v4.1-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (25 commits) toshiba_acpi: Do not register vendor backlight when acpi_video bl is available MAINTAINERS: Add me on list of Dell laptop drivers platform: x86: dell-laptop: Add support for keyboard backlight Documentation/ABI: Update sysfs-driver-toshiba_acpi entry toshiba_acpi: Fix pr_* messages from USB Sleep Functions toshiba_acpi: Update and fix USB Sleep and Charge modes wmi: Use bool function return values of true/false not 1/0 toshiba_bluetooth: Fix enabling/disabling loop on recent devices toshiba_bluetooth: Clean up *_add function and disable BT device at removal toshiba_bluetooth: Add three new functions to the driver toshiba_acpi: Fix the enabling of the Special Functions toshiba_acpi: Use the Hotkey Event Type function for keymap choosing toshiba_acpi: Add Hotkey Event Type function and definitions x86/wmi: delete unused wmi_data_lock mutex causing gcc warning apple-gmux: lock iGP IO to protect from vgaarb changes MAINTAINERS: Add missing Toshiba devices and add myself as maintainer toshiba_acpi: Update events in toshiba_acpi_notify intel-oaktrail: Fix trivial typo in comment thinkpad_acpi: off by one in adaptive_keyboard_hotkey_notify_hotkey() thinkpad_acpi: signedness bugs getting current_mode ... commit 36a8032d77649430f5ef11fbf0df2bb026be0b04 Merge: 7f9f443 96cba9b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:36:02 2015 -0700 Merge tag 'chrome-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform Pull chrome platform updates from Olof Johansson: "Here's a set of updates to the Chrome OS platform drivers for this merge window. Main new things this cycle is: - Driver changes to expose the lightbar to users. With this, you can make your own blinkenlights on Chromebook Pixels. - Changes in the way that the atmel_mxt trackpads are probed. The laptop driver is trying to be smart and not instantiate the devices that don't answer to probe. For the trackpad that can come up in two modes (bootloader or regular), this gets complicated since the driver already knows how to handle the two modes including the actual addresses used. So now the laptop driver needs to know more too, instantiating the regular address even if the bootloader one is the probe that passed. - mfd driver improvements by Javier Martines Canillas, and a few bugfixes from him, kbuild and myself" * tag 'chrome-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform: platform/chrome: chromeos_laptop - instantiate Atmel at primary address platform/chrome: cros_ec_lpc - Depend on X86 || COMPILE_TEST platform/chrome: cros_ec_lpc - Include linux/io.h header file platform/chrome: fix platform_no_drv_owner.cocci warnings platform/chrome: cros_ec_lightbar - fix duplicate const warning platform/chrome: cros_ec_dev - fix Unknown escape '%' warning platform/chrome: Expose Chrome OS Lightbar to users platform/chrome: Create sysfs attributes for the ChromeOS EC mfd: cros_ec: Instantiate ChromeOS EC character device platform/chrome: Add Chrome OS EC userspace device interface platform/chrome: Add cros_ec_lpc driver for x86 devices mfd: cros_ec: Add char dev and virtual dev pointers mfd: cros_ec: Use fixed size arrays to transfer data with the EC commit 7f9f44308c8993c9ab8078d174dad34bea3e82d7 Merge: 63905bb d939b52 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:31:05 2015 -0700 Merge tag 'cris-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris Pull arch/cris updates from Jesper Nilsson: "Some much needed love for the CRIS-port. There's a bunch of changes this time, giving the CRISv32 port a bit of modern makeover with device-tree, irq domain and gpiolib support, and more switchover to generic frameworks. Some small fixes and removal of the theoretical SMP support brings up the rear" * tag 'cris-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris: cris: fix integer overflow in ELF_ET_DYN_BASE CRISv32: use GENERIC_SCHED_CLOCK CRISv32: use MMIO clocksource CRISv32: use generic clockevents CRIS: use generic headers via Kbuild CRIS: use generic cmpxchg.h CRIS: use generic atomic.h CRIS: use generic atomic bitops CRISv10: remove redundant macros from system.h CRIS: remove SMP code CRISv32: don't enable irqs in INIT_THREAD CRISv32: handle multiple signals CRISv32: prevent bogus restarts on sigreturn CRISv32: don't attempt syscall restart on irq exit Add binding documentation for CRIS CRIS: add Axis 88 board device tree CRISv32: add device tree support CRISv32: add irq domains support CRIS: enable GPIOLIB commit 63905bba5b0170492777b327ac5e2aaef64989d6 Merge: eadf16a 2e826695 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:23:15 2015 -0700 Merge tag 'powerpc-4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc fixes from Michael Ellerman: - fix for mm_dec_nr_pmds() from Scott. - fixes for oopses seen with KVM + THP from Aneesh. - build fixes from Aneesh & Shreyas. * tag 'powerpc-4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: powerpc/mm: Fix build error with CONFIG_PPC_TRANSACTIONAL_MEM disabled powerpc/kvm: Fix ppc64_defconfig + PPC_POWERNV=n build error powerpc/mm/thp: Return pte address if we find trans_splitting. powerpc/mm/thp: Make page table walk safe against thp split/collapse KVM: PPC: Remove page table walk helpers KVM: PPC: Use READ_ONCE when dereferencing pte_t pointer powerpc/hugetlb: Call mm_dec_nr_pmds() in hugetlb_free_pmd_range() commit a31196b07f8034eba6a3487a1ad1bb5ec5cd58a5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Apr 25 09:35:24 2015 -0700 net: rfs: fix crash in get_rps_cpus() Commit 567e4b79731c ("net: rfs: add hash collision detection") had one mistake : RPS_NO_CPU is no longer the marker for invalid cpu in set_rps_cpu() and get_rps_cpu(), as @next_cpu was the result of an AND with rps_cpu_mask This bug showed up on a host with 72 cpus : next_cpu was 0x7f, and the code was trying to access percpu data of an non existent cpu. In a follow up patch, we might get rid of compares against nr_cpu_ids, if we init the tables with 0. This is silly to test for a very unlikely condition that exists only shortly after table initialization, as we got rid of rps_reset_sock_flow() and similar functions that were writing this RPS_NO_CPU magic value at flow dismantle : When table is old enough, it never contains this value anymore. Fixes: 567e4b79731c ("net: rfs: add hash collision detection") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7cdbc6f74f8e6c06304b69b4e944fbd669581c7c Author: Andreas Oetken <ennoerlangen@xxxxxxxxx> Date: Sat Apr 25 18:07:52 2015 +0200 altera tse: add support for fixed-links. Add support for fixed-links in configurations without PHY. (e.g. connection to a switch, SGMII point to point, SFPs) Check: Documentation/devicetree/bindings/net/fixed-link.txt. Signed-off-by: Andreas Oetken <ennoerlangen@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eadf16a912b6bdf8bd476bde2f19fb41d06e0c3b Merge: 4a65546 2fa462f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 26 13:06:22 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull second batch of KVM changes from Paolo Bonzini: "This mostly includes the PPC changes for 4.1, which this time cover Book3S HV only (debugging aids, minor performance improvements and some cleanups). But there are also bug fixes and small cleanups for ARM, x86 and s390. The task_migration_notifier revert and real fix is still pending review, but I'll send it as soon as possible after -rc1" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (29 commits) KVM: arm/arm64: check IRQ number on userland injection KVM: arm: irqfd: fix value returned by kvm_irq_map_gsi KVM: VMX: Preserve host CR4.MCE value while in guest mode. KVM: PPC: Book3S HV: Use msgsnd for signalling threads on POWER8 KVM: PPC: Book3S HV: Translate kvmhv_commence_exit to C KVM: PPC: Book3S HV: Streamline guest entry and exit KVM: PPC: Book3S HV: Use bitmap of active threads rather than count KVM: PPC: Book3S HV: Use decrementer to wake napping threads KVM: PPC: Book3S HV: Don't wake thread with no vcpu on guest IPI KVM: PPC: Book3S HV: Get rid of vcore nap_count and n_woken KVM: PPC: Book3S HV: Move vcore preemption point up into kvmppc_run_vcpu KVM: PPC: Book3S HV: Minor cleanups KVM: PPC: Book3S HV: Simplify handling of VCPUs that need a VPA update KVM: PPC: Book3S HV: Accumulate timing information for real-mode code KVM: PPC: Book3S HV: Create debugfs file for each guest's HPT KVM: PPC: Book3S HV: Add ICP real mode counters KVM: PPC: Book3S HV: Move virtual mode ICP functions to real-mode KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock KVM: PPC: Book3S HV: Add guest->host real mode completion counters KVM: PPC: Book3S HV: Add helpers for lock/unlock hpte ... commit 0e03fd3e335d272bee88fe733d5fd13f5c5b7140 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Apr 25 04:07:03 2015 +0300 pxa168: fix double deallocation of managed resources Commit 43d3ddf87a57 ("net: pxa168_eth: add device tree support") starts to use managed resources by adding devm_clk_get() and devm_ioremap_resource(), but it leaves explicit iounmap() and clock_put() in pxa168_eth_remove() and in failure handling code of pxa168_eth_probe(). As a result double free can happen. The patch removes explicit resource deallocation. Also it converts clk_disable() to clk_disable_unprepare() to make it symmetrical with clk_prepare_enable(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a6554665c62ee39be40f4a18c3d37e49d03ccc1 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Apr 13 12:48:27 2015 +1000 v4l: xilinx: fix for include file movement Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e17d30bfaf43e04d991392d8484f1c556810c33 Author: Yang Dongsheng <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Apr 9 12:08:43 2015 +0800 Btrfs: fill ->last_trans for delayed inode in btrfs_fill_inode. We need to fill inode when we found a node for it in delayed_nodes_tree. But we did not fill the ->last_trans currently, it will cause the test of xfstest/generic/311 fail. Scenario of the 311 is shown as below: Problem: (1). test_fd = open(fname, O_RDWR|O_DIRECT) (2). pwrite(test_fd, buf, 4096, 0) (3). close(test_fd) (4). drop_all_caches() <-------- "echo 3 > /proc/sys/vm/drop_caches" (5). test_fd = open(fname, O_RDWR|O_DIRECT) (6). fsync(test_fd); <-------- we did not get the correct log entry for the file Reason: When we re-open this file in (5), we would find a node in delayed_nodes_tree and fill the inode we are lookup with the information. But the ->last_trans is not filled, then the fsync() will check the ->last_trans and found it's 0 then say this inode is already in our tree which is commited, not recording the extents for it. Fix: This patch fill the ->last_trans properly and set the runtime_flags if needed in this situation. Then we can get the log entries we expected after (6) and generic/311 passed. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Miao Xie <miaoxie@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 909e26dce3f7600f5e293ac0522c28790a0c8c9c Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Fri Apr 10 14:20:40 2015 -0700 btrfs: unlock i_mutex after attempting to delete subvolume during send Whenever the check for a send in progress introduced in commit 521e0546c970 (btrfs: protect snapshots from deleting during send) is hit, we return without unlocking inode->i_mutex. This is easy to see with lockdep enabled: [ +0.000059] ================================================ [ +0.000028] [ BUG: lock held when returning to user space! ] [ +0.000029] 4.0.0-rc5-00096-g3c435c1 #93 Not tainted [ +0.000026] ------------------------------------------------ [ +0.000029] btrfs/211 is leaving the kernel with locks still held! [ +0.000029] 1 lock held by btrfs/211: [ +0.000023] #0: (&type->i_mutex_dir_key){+.+.+.}, at: [<ffffffff8135b8df>] btrfs_ioctl_snap_destroy+0x2df/0x7a0 Make sure we unlock it in the error path. Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b86054540e4ad7d8df67f3a80658d037a2ce1c02 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Tue Feb 24 02:47:06 2015 -0800 btrfs: check io_ctl_prepare_pages return in __btrfs_write_out_cache If io_ctl_prepare_pages fails, the pages in io_ctl.pages are not valid. When we try to access them later, things will blow up in various ways. Also fix the comment about the return value, which is an errno on error, not -1, and update the cases where it was not. Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5ca64f45e92dc52bd3bc1ad93f4f9e5a57955f28 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Tue Feb 24 02:47:05 2015 -0800 btrfs: fix race on ENOMEM in alloc_extent_buffer Consider the following interleaving of overlapping calls to alloc_extent_buffer: Call 1: - Successfully allocates a few pages with find_or_create_page - find_or_create_page fails, goto free_eb - Unlocks the allocated pages Call 2: - Calls find_or_create_page and gets a page in call 1's extent_buffer - Finds that the page is already associated with an extent_buffer - Grabs a reference to the half-written extent_buffer and calls mark_extent_buffer_accessed on it mark_extent_buffer_accessed will then try to call mark_page_accessed on a null page and panic. The fix is to decrement the reference count on the half-written extent_buffer before unlocking the pages so call 2 won't use it. We should also set exists = NULL in the case that we don't use exists to avoid accidentally returning a freed extent_buffer in an error case. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 67b7859e9bfa0dcee5a8256932e393e98739be1b Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Tue Feb 24 02:47:04 2015 -0800 btrfs: handle ENOMEM in btrfs_alloc_tree_block This is one of the first places to give out when memory is tight. Handle it properly rather than with a BUG_ON. Also fix the comment about the return value, which is an ERR_PTR, not NULL, on error. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1b9845081633072c18f30d8cfd09c267adf0b109 Author: Forrest Liu <forrestl@xxxxxxxxxxxx> Date: Mon Feb 9 17:30:47 2015 +0800 Btrfs: fix find_free_dev_extent() malfunction in case device tree has hole If device tree has hole, find_free_dev_extent() cannot find available address properly. The problem can be reproduce by following script. mntpath=/btrfs loopdev=/dev/loop0 filepath=/home/forrest/image umount $mntpath losetup -d $loopdev truncate --size 100g $filepath losetup $loopdev $filepath mkfs.btrfs -f $loopdev mount $loopdev $mntpath # make device tree with one big hole for i in `seq 1 1 100`; do fallocate -l 1g $mntpath/$i done sync for i in `seq 1 1 95`; do rm $mntpath/$i done sync # wait cleaner thread remove unused block group sleep 300 fallocate -l 1g $mntpath/aaa # failed to allocate new chunk fallocate -l 1g $mntpath/bbb Above script will make device tree with one big hole, and can only allocate just one chunk in a transaction, so failed to allocate new chunk for $mntpath/bbb item 8 key (1 DEV_EXTENT 2185232384) itemoff 15859 itemsize 48 dev extent chunk_tree 3 chunk objectid 256 chunk offset 106292051968 length 1073741824 item 9 key (1 DEV_EXTENT 104190705664) itemoff 15811 itemsize 48 dev extent chunk_tree 3 chunk objectid 256 chunk offset 103108575232 length 1073741824 Signed-off-by: Forrest Liu <forrestl@xxxxxxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e4c88f007be78d38eaef316c599a1ee2f0272c15 Author: Chris Mason <clm@xxxxxx> Date: Sat Apr 18 05:22:48 2015 -0700 Btrfs: don't check for delalloc_bytes in cache_save_setup Now that we're doing free space cache writeback outside the critical section in the commit, there is a bigger window for delalloc_bytes to be added after a cache has been written. find_free_extent may do this without putting the block group back into the dirty list, and also without a transaction running. Checking for delalloc_bytes in cache_save_setup means we might leave the cache marked as written without invalidating it. Consistency checks during mount will toss the cache, but it's better to get rid of the check in cache_save_setup and let it get invalidated by the checks already done during cache write out. Signed-off-by: Chris Mason <clm@xxxxxx> commit 24b89d08ef63f9c62e55593e27a55e57b0062046 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Sat Apr 25 18:31:05 2015 +0100 Btrfs: fix deadlock when starting writeback of bg caches While starting the writes of the dirty block group caches, if we don't find a block group item in the extent tree we were leaving without releasing our path, running delayed references and then looping again to process any new dirty block groups. However this second iteration of the loop could cause a deadlock because it tries to lock some other extent tree node/leaf which another task already locked and it's blocked because it's waiting for a lock on some node/leaf that is in our path that was not released before. We could also deadlock when running the delayed references - as we could end up trying to lock the same nodes/leafs that we have in our local path (with a different lock type). Got into such case when running xfstests: [20892.242791] ------------[ cut here ]------------ [20892.243776] WARNING: CPU: 0 PID: 13299 at fs/btrfs/super.c:260 __btrfs_abort_transaction+0x52/0x114 [btrfs]() [20892.245874] BTRFS: Transaction aborted (error -2) (...) [20892.269378] Call Trace: [20892.269915] [<ffffffff8142fa46>] dump_stack+0x4f/0x7b [20892.271097] [<ffffffff8108b6a2>] ? console_unlock+0x361/0x3ad [20892.272173] [<ffffffff81045ea5>] warn_slowpath_common+0xa1/0xbb [20892.273386] [<ffffffffa0509a6d>] ? __btrfs_abort_transaction+0x52/0x114 [btrfs] [20892.274857] [<ffffffff81045f05>] warn_slowpath_fmt+0x46/0x48 [20892.275851] [<ffffffffa0509a6d>] __btrfs_abort_transaction+0x52/0x114 [btrfs] [20892.277341] [<ffffffffa0515e10>] write_one_cache_group+0x68/0xaf [btrfs] [20892.278628] [<ffffffffa052088a>] btrfs_start_dirty_block_groups+0x18d/0x29b [btrfs] [20892.280191] [<ffffffffa052f077>] btrfs_commit_transaction+0x130/0x9c9 [btrfs] (...) [20892.291316] ---[ end trace 597f77e664245373 ]--- [20892.293955] BTRFS: error (device sdg) in write_one_cache_group:3184: errno=-2 No such entry [20892.297390] BTRFS info (device sdg): forced readonly [20892.298222] ------------[ cut here ]------------ [20892.299190] WARNING: CPU: 0 PID: 13299 at fs/btrfs/ctree.c:2683 btrfs_search_slot+0x7e/0x7d2 [btrfs]() (...) [20892.326253] Call Trace: [20892.326904] [<ffffffff8142fa46>] dump_stack+0x4f/0x7b [20892.329503] [<ffffffff8108b6a2>] ? console_unlock+0x361/0x3ad [20892.330815] [<ffffffff81045ea5>] warn_slowpath_common+0xa1/0xbb [20892.332556] [<ffffffffa0510b73>] ? btrfs_search_slot+0x7e/0x7d2 [btrfs] [20892.333955] [<ffffffff81045f62>] warn_slowpath_null+0x1a/0x1c [20892.335562] [<ffffffffa0510b73>] btrfs_search_slot+0x7e/0x7d2 [btrfs] [20892.336849] [<ffffffff8107b024>] ? arch_local_irq_save+0x9/0xc [20892.338222] [<ffffffffa051ad52>] ? cache_save_setup+0x43/0x2a5 [btrfs] [20892.339823] [<ffffffffa051ad66>] ? cache_save_setup+0x57/0x2a5 [btrfs] [20892.341275] [<ffffffff814351a4>] ? _raw_spin_unlock+0x32/0x46 [20892.342810] [<ffffffffa0515de7>] write_one_cache_group+0x3f/0xaf [btrfs] [20892.344184] [<ffffffffa052088a>] btrfs_start_dirty_block_groups+0x18d/0x29b [btrfs] [20892.347162] [<ffffffffa052f077>] btrfs_commit_transaction+0x130/0x9c9 [btrfs] (...) [20892.361015] ---[ end trace 597f77e664245374 ]--- [21120.688097] INFO: task kworker/u8:17:29854 blocked for more than 120 seconds. [21120.689881] Tainted: G W 4.0.0-rc5-btrfs-next-9+ #2 [21120.691384] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. (...) [21120.703696] Call Trace: [21120.704310] [<ffffffff8143107e>] schedule+0x74/0x83 [21120.705490] [<ffffffffa055f025>] btrfs_tree_lock+0xd7/0x236 [btrfs] [21120.706757] [<ffffffff81075cd6>] ? signal_pending_state+0x31/0x31 [21120.708156] [<ffffffffa054ac1e>] lock_extent_buffer_for_io+0x3e/0x194 [btrfs] [21120.709892] [<ffffffffa054bb86>] ? btree_write_cache_pages+0x273/0x385 [btrfs] [21120.711605] [<ffffffffa054bc42>] btree_write_cache_pages+0x32f/0x385 [btrfs] [21120.723440] [<ffffffffa0527552>] btree_writepages+0x23/0x5c [btrfs] [21120.724943] [<ffffffff8110c4c8>] do_writepages+0x23/0x2c [21120.726008] [<ffffffff81176dde>] __writeback_single_inode+0x73/0x2fa [21120.727230] [<ffffffff8117714a>] ? writeback_sb_inodes+0xe5/0x38b [21120.728526] [<ffffffff811771fb>] ? writeback_sb_inodes+0x196/0x38b [21120.729701] [<ffffffff8117726a>] writeback_sb_inodes+0x205/0x38b (...) [21120.747853] INFO: task btrfs:13282 blocked for more than 120 seconds. [21120.749459] Tainted: G W 4.0.0-rc5-btrfs-next-9+ #2 [21120.751137] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. (...) [21120.768457] Call Trace: [21120.769039] [<ffffffff8143107e>] schedule+0x74/0x83 [21120.770107] [<ffffffffa052f25c>] btrfs_commit_transaction+0x315/0x9c9 [btrfs] [21120.771558] [<ffffffff81075cd6>] ? signal_pending_state+0x31/0x31 [21120.773659] [<ffffffffa056fd8c>] prepare_to_relocate+0xcb/0xd2 [btrfs] [21120.776257] [<ffffffffa05741da>] relocate_block_group+0x44/0x4a9 [btrfs] [21120.777755] [<ffffffffa05747a0>] ? btrfs_relocate_block_group+0x161/0x288 [btrfs] [21120.779459] [<ffffffffa05747a8>] btrfs_relocate_block_group+0x169/0x288 [btrfs] [21120.781153] [<ffffffffa0550403>] btrfs_relocate_chunk.isra.29+0x3e/0xa7 [btrfs] [21120.783918] [<ffffffffa05518fd>] btrfs_balance+0xaa4/0xc52 [btrfs] [21120.785436] [<ffffffff8114306e>] ? cpu_cache_get.isra.39+0xe/0x1f [21120.786434] [<ffffffffa0559252>] btrfs_ioctl_balance+0x23f/0x2b0 [btrfs] (...) [21120.889251] INFO: task fsstress:13288 blocked for more than 120 seconds. [21120.890526] Tainted: G W 4.0.0-rc5-btrfs-next-9+ #2 [21120.891773] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. (...) [21120.899960] Call Trace: [21120.900743] [<ffffffff8143107e>] schedule+0x74/0x83 [21120.903004] [<ffffffffa055f025>] btrfs_tree_lock+0xd7/0x236 [btrfs] [21120.904383] [<ffffffff81075cd6>] ? signal_pending_state+0x31/0x31 [21120.905608] [<ffffffffa051125b>] btrfs_search_slot+0x766/0x7d2 [btrfs] [21120.906812] [<ffffffff8114290e>] ? virt_to_head_page+0x9/0x2c [21120.907874] [<ffffffff81144b7f>] ? cache_alloc_debugcheck_after.isra.42+0x16c/0x1cb [21120.909551] [<ffffffffa05124e0>] btrfs_insert_empty_items+0x5d/0xa8 [btrfs] [21120.910914] [<ffffffffa0512585>] btrfs_insert_item+0x5a/0xa5 [btrfs] [21120.912181] [<ffffffffa0520271>] ? btrfs_create_pending_block_groups+0x96/0x130 [btrfs] [21120.913784] [<ffffffffa052028a>] btrfs_create_pending_block_groups+0xaf/0x130 [btrfs] [21120.915374] [<ffffffffa052ffc2>] __btrfs_end_transaction+0x84/0x366 [btrfs] [21120.916735] [<ffffffffa05302b4>] btrfs_end_transaction+0x10/0x12 [btrfs] [21120.917996] [<ffffffffa051ab26>] btrfs_check_data_free_space+0x11f/0x27c [btrfs] [21120.919478] [<ffffffffa051ba25>] btrfs_delalloc_reserve_space+0x1e/0x51 [btrfs] [21120.921226] [<ffffffffa05382f2>] btrfs_truncate_page+0x85/0x2c4 [btrfs] [21120.923121] [<ffffffffa0538572>] btrfs_cont_expand+0x41/0x3ef [btrfs] [21120.924449] [<ffffffffa0541091>] ? btrfs_file_write_iter+0x19a/0x431 [btrfs] [21120.926602] [<ffffffff8107b024>] ? arch_local_irq_save+0x9/0xc [21120.927769] [<ffffffffa0541091>] ? btrfs_file_write_iter+0x19a/0x431 [btrfs] [21120.929324] [<ffffffffa05410a0>] ? btrfs_file_write_iter+0x1a9/0x431 [btrfs] [21120.930723] [<ffffffffa05410d9>] btrfs_file_write_iter+0x1e2/0x431 [btrfs] [21120.931897] [<ffffffff81067d85>] ? get_parent_ip+0xe/0x3e [21120.934446] [<ffffffff811534c3>] new_sync_write+0x7c/0xa0 [21120.935528] [<ffffffff81153b58>] vfs_write+0xb2/0x117 (...) Fixes: 1bbc621ef284 ("Btrfs: allow block group cache writeout outside critical section in commit") Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b58d1a9ef92031a6fc2f418c01abafb4458ba009 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Sat Apr 25 18:29:16 2015 +0100 Btrfs: fix race between start dirty bg cache writeout and bg deletion While running xfstests I ran into the following: [20892.242791] ------------[ cut here ]------------ [20892.243776] WARNING: CPU: 0 PID: 13299 at fs/btrfs/super.c:260 __btrfs_abort_transaction+0x52/0x114 [btrfs]() [20892.245874] BTRFS: Transaction aborted (error -2) [20892.247329] Modules linked in: btrfs dm_snapshot dm_bufio dm_flakey dm_mod crc32c_generic xor raid6_pq nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc loop fuse$ [20892.258488] CPU: 0 PID: 13299 Comm: fsstress Tainted: G W 4.0.0-rc5-btrfs-next-9+ #2 [20892.262011] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5-0-ge51488c-20140602_164612-nilsson.home.kraxel.org 04/01/2014 [20892.264738] 0000000000000009 ffff880427f8bc18 ffffffff8142fa46 ffffffff8108b6a2 [20892.266244] ffff880427f8bc68 ffff880427f8bc58 ffffffff81045ea5 ffff880427f8bc48 [20892.267761] ffffffffa0509a6d 00000000fffffffe ffff8803545d6f40 ffffffffa05a15a0 [20892.269378] Call Trace: [20892.269915] [<ffffffff8142fa46>] dump_stack+0x4f/0x7b [20892.271097] [<ffffffff8108b6a2>] ? console_unlock+0x361/0x3ad [20892.272173] [<ffffffff81045ea5>] warn_slowpath_common+0xa1/0xbb [20892.273386] [<ffffffffa0509a6d>] ? __btrfs_abort_transaction+0x52/0x114 [btrfs] [20892.274857] [<ffffffff81045f05>] warn_slowpath_fmt+0x46/0x48 [20892.275851] [<ffffffffa0509a6d>] __btrfs_abort_transaction+0x52/0x114 [btrfs] [20892.277341] [<ffffffffa0515e10>] write_one_cache_group+0x68/0xaf [btrfs] [20892.278628] [<ffffffffa052088a>] btrfs_start_dirty_block_groups+0x18d/0x29b [btrfs] [20892.280191] [<ffffffffa052f077>] btrfs_commit_transaction+0x130/0x9c9 [btrfs] [20892.281781] [<ffffffff8107d33d>] ? trace_hardirqs_on+0xd/0xf [20892.282873] [<ffffffffa054163b>] btrfs_sync_file+0x313/0x387 [btrfs] [20892.284111] [<ffffffff8117acad>] vfs_fsync_range+0x95/0xa4 [20892.285203] [<ffffffff810e603f>] ? time_hardirqs_on+0x15/0x28 [20892.286290] [<ffffffff8123960b>] ? trace_hardirqs_on_thunk+0x3a/0x3f [20892.287469] [<ffffffff8117acd8>] vfs_fsync+0x1c/0x1e [20892.288412] [<ffffffff8117ae54>] do_fsync+0x34/0x4e [20892.289348] [<ffffffff8117b07c>] SyS_fsync+0x10/0x14 [20892.290255] [<ffffffff81435b32>] system_call_fastpath+0x12/0x17 [20892.291316] ---[ end trace 597f77e664245373 ]--- [20892.293955] BTRFS: error (device sdg) in write_one_cache_group:3184: errno=-2 No such entry [20892.297390] BTRFS info (device sdg): forced readonly This happens because in btrfs_start_dirty_block_groups() we splice the transaction's list of dirty block groups into a local list and then we keep extracting the first element of the list without holding the cache_write_mutex mutex. This means that before we acquire that mutex the first block group on the list might be removed by a conurrent task running btrfs_remove_block_group(). So make sure we extract the first element (and test the list emptyness) while holding that mutex. Fixes: 1bbc621ef284 ("Btrfs: allow block group cache writeout outside critical section in commit") Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 09c5b4803a80a5451d950d6a539d2eb311dc0fb1 Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Sat Apr 25 19:52:37 2015 +0200 libata: Ignore spurious PHY event on LPM policy change When the LPM policy is set to ATA_LPM_MAX_POWER, the device might generate a spurious PHY event that cuases errors on the link. Ignore this event if it occured within 10s after the policy change. The timeout was chosen observing that on a Dell XPS13 9333 these spurious events can occur up to roughly 6s after the policy change. Link: http://lkml.kernel.org/g/3352987.ugV1Ipy7Z5@xps13 Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 8393b811f38acdf7fd8da2028708edad3e68ce1f Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Sat Apr 25 19:52:36 2015 +0200 libata: Add helper to determine when PHY events should be ignored This is a preparation commit that will allow to add other criteria according to which PHY events should be dropped. Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2ea2f62c8bda242433809c7f4e9eae1c52c40bbe Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Apr 24 16:05:01 2015 -0700 net: fix crash in build_skb() When I added pfmemalloc support in build_skb(), I forgot netlink was using build_skb() with a vmalloc() area. In this patch I introduce __build_skb() for netlink use, and build_skb() is a wrapper handling both skb->head_frag and skb->pfmemalloc This means netlink no longer has to hack skb->head_frag [ 1567.700067] kernel BUG at arch/x86/mm/physaddr.c:26! [ 1567.700067] invalid opcode: 0000 [#1] PREEMPT SMP KASAN [ 1567.700067] Dumping ftrace buffer: [ 1567.700067] (ftrace buffer empty) [ 1567.700067] Modules linked in: [ 1567.700067] CPU: 9 PID: 16186 Comm: trinity-c182 Not tainted 4.0.0-next-20150424-sasha-00037-g4796e21 #2167 [ 1567.700067] task: ffff880127efb000 ti: ffff880246770000 task.ti: ffff880246770000 [ 1567.700067] RIP: __phys_addr (arch/x86/mm/physaddr.c:26 (discriminator 3)) [ 1567.700067] RSP: 0018:ffff8802467779d8 EFLAGS: 00010202 [ 1567.700067] RAX: 000041000ed8e000 RBX: ffffc9008ed8e000 RCX: 000000000000002c [ 1567.700067] RDX: 0000000000000004 RSI: 0000000000000000 RDI: ffffffffb3fd6049 [ 1567.700067] RBP: ffff8802467779f8 R08: 0000000000000019 R09: ffff8801d0168000 [ 1567.700067] R10: ffff8801d01680c7 R11: ffffed003a02d019 R12: ffffc9000ed8e000 [ 1567.700067] R13: 0000000000000f40 R14: 0000000000001180 R15: ffffc9000ed8e000 [ 1567.700067] FS: 00007f2a7da3f700(0000) GS:ffff8801d1000000(0000) knlGS:0000000000000000 [ 1567.700067] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1567.700067] CR2: 0000000000738308 CR3: 000000022e329000 CR4: 00000000000007e0 [ 1567.700067] Stack: [ 1567.700067] ffffc9000ed8e000 ffff8801d0168000 ffffc9000ed8e000 ffff8801d0168000 [ 1567.700067] ffff880246777a28 ffffffffad7c0a21 0000000000001080 ffff880246777c08 [ 1567.700067] ffff88060d302e68 ffff880246777b58 ffff880246777b88 ffffffffad9a6821 [ 1567.700067] Call Trace: [ 1567.700067] build_skb (include/linux/mm.h:508 net/core/skbuff.c:316) [ 1567.700067] netlink_sendmsg (net/netlink/af_netlink.c:1633 net/netlink/af_netlink.c:2329) [ 1567.774369] ? sched_clock_cpu (kernel/sched/clock.c:311) [ 1567.774369] ? netlink_unicast (net/netlink/af_netlink.c:2273) [ 1567.774369] ? netlink_unicast (net/netlink/af_netlink.c:2273) [ 1567.774369] sock_sendmsg (net/socket.c:614 net/socket.c:623) [ 1567.774369] sock_write_iter (net/socket.c:823) [ 1567.774369] ? sock_sendmsg (net/socket.c:806) [ 1567.774369] __vfs_write (fs/read_write.c:479 fs/read_write.c:491) [ 1567.774369] ? get_lock_stats (kernel/locking/lockdep.c:249) [ 1567.774369] ? default_llseek (fs/read_write.c:487) [ 1567.774369] ? vtime_account_user (kernel/sched/cputime.c:701) [ 1567.774369] ? rw_verify_area (fs/read_write.c:406 (discriminator 4)) [ 1567.774369] vfs_write (fs/read_write.c:539) [ 1567.774369] SyS_write (fs/read_write.c:586 fs/read_write.c:577) [ 1567.774369] ? SyS_read (fs/read_write.c:577) [ 1567.774369] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63) [ 1567.774369] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2594 kernel/locking/lockdep.c:2636) [ 1567.774369] ? trace_hardirqs_on_thunk (arch/x86/lib/thunk_64.S:42) [ 1567.774369] system_call_fastpath (arch/x86/kernel/entry_64.S:261) Fixes: 79930f5892e ("net: do not deplete pfmemalloc reserve") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20d96964b51844d4f3bea0249f62db7073c13c30 Author: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Date: Fri Apr 24 02:32:07 2015 -0500 net: eth: altera: Resolve false errors from MSGDMA to TSE This patch resolves false errors from MSGDMA in TX mSGDMA MM to ST mode, and is a continuation of the patch recently submitted by Andrea Oetken. The MSGDMA had a logic bug that masked detection of this issue prior to Quartus 14.1/Build 164. When the MSGDMA logic bug was addressed in Quartus 14.1/Build 164, the driver problem was exposed. The problem is corrected by making sure MSGDMA_DESC_CTL_TR_ERR_IRQ is not set for any of the transmit DMA descriptors, and only used for receive descriptors. Fixes: 71cd26e altera tse: Error-Bit on tx-avalon-stream always set. Signed-off-by: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>a Cc: Andreas Oetken <ennoerlangen@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3051f39253680624504021fd3b29fc621a4fd6b6 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Apr 24 15:52:32 2015 +1000 ehea: Fix memory hook reference counting crashes The recent commit to only register the EHEA memory hotplug hooks on adapter probe has a few problems. Firstly the reference counting is wrong for multiple adapters, in that the hooks are registered multiple times. Secondly the check in the tear down path is backward. Finally the error path doesn't decrement the count. The multiple registration of the hooks is the biggest problem, as it leads to oopses when the system is rebooted, and/or errors during memory hotplug, eg: $ ./mem-on-off-test.sh -r 2 ... ehea: memory is going offline ehea: LPAR memory changed - re-initializing driver ehea: re-initializing driver complete ehea: memory is going offline ehea: LPAR memory changed - re-initializing driver ehea: opcode=26c ret=fffffffffffffffc arg1=8000000003000003 arg2=0 arg3=700000060000d600 arg4=3fded0000 arg5=200 arg6=0 arg7=0 ehea: register_rpage_mr failed ehea: registering mr failed ehea: register MR failed - driver inoperable! ehea: memory is going offline Fixes: aa183323312d ("ehea: Register memory hotplug, reboot and crash hooks on adapter probe") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dfc8f370316b31b9ca9ce96e50f1c438d9410b4f Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 15:22:23 2015 +1000 net/tg3: Release IRQs on permanent error When having permanent EEH error, the PCI device will be removed from the system. For this case, we shouldn't set pcierr_recovery to true wrongly, which blocks the driver to release the allocated interrupts and their handlers. Eventually, we can't disable MSI or MSIx successfully because of the MSI or MSIx interrupts still have associated interrupt actions, which is turned into following stack dump. Oops: Exception in kernel mode, sig: 5 [#1] : [c0000000003b76a8] .free_msi_irqs+0x80/0x1a0 (unreliable) [c00000000039f388] .pci_remove_bus_device+0x98/0x110 [c0000000000790f4] .pcibios_remove_pci_devices+0x9c/0x128 [c000000000077b98] .handle_eeh_events+0x2d8/0x4b0 [c0000000000782d0] .eeh_event_handler+0x130/0x1c0 [c000000000022bd4] .kernel_thread+0x54/0x70 Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Acked-by: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2000058e892cd6773b3061a56c0bd6535ac15afe Author: Jonatas Rech <jonatas.rech@xxxxxxxxxxxxxx> Date: Wed Apr 15 12:23:18 2015 -0300 spi: fsl-espi: fix behaviour for full-duplex xfers This patch makes possible for protocol drivers to do full-duplex SPI transfers properly. Until now this driver could only be used for half-duplex transfers, since it always expected an spi_transfer with non-null tx_buf to be only used for TX, and those with non-null rx_buf to be only used for RX. The fix consists in correcting the fsl_espi_transfer length by taking into consideration duplex spi_transfers, and not just by adding n_tx and n_rx. Furthermore, this correction has exposed an inconsistency in the protocol driver <-> controller driver interaction. The spi-fsl-espi driver artificially inserts TX bytes when message fragmentation is necessary (due to SPCOM_TRANLEN_MAX) instead of informing the protocol driver of the hardware limitation. This was tested with the m25p80 NOR flash protocol driver. Since fixing this issue may cause other client drivers to malfunction, it was left as is. Signed-off-by: Jonatas Rech <jonatas.rech@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 96cba9b00e297303774bec59e192064d20adeb3d Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 14 13:50:09 2015 -0700 platform/chrome: chromeos_laptop - instantiate Atmel at primary address The new Atmel MXT driver expects i2c client's address contain the primary (main address) of the chip, and calculates the expected bootloader address form the primary address. Unfortunately chrome_laptop does probe the devices and if touchpad (or touchscreen, or both) comes up in bootloader mode the i2c device gets instantiated with the bootloader address which confuses the driver. To work around this issue let's probe the primary address first. If the device is not detected at the primary address we'll probe alternative addresses as "dummy" devices. If any of them are found, destroy the dummy client and instantiate client with proper name at primary address still. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3cab989afd8d8d1bc3d99fef0e7ed87c31e7b647 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 15:47:07 2015 -0400 RCU pathwalk breakage when running into a symlink overmounting something Calling unlazy_walk() in walk_component() and do_last() when we find a symlink that needs to be followed doesn't acquire a reference to vfsmount. That's fine when the symlink is on the same vfsmount as the parent directory (which is almost always the case), but it's not always true - one _can_ manage to bind a symlink on top of something. And in such cases we end up with excessive mntput(). Cc: stable@xxxxxxxxxxxxxxx # since 2.6.39 Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ac74d8d65c83d8061034d0908e1eab6a0c24f923 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Thu Apr 16 15:04:56 2015 -0500 fix I_DIO_WAKEUP definition I_DIO_WAKEUP is never directly used, but fix it up anyway. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fe0f07d08ee35fb13d2cb048970072fe4f71ad14 Author: Jens Axboe <axboe@xxxxxx> Date: Wed Apr 15 17:05:48 2015 -0600 direct-io: only inc/dec inode->i_dio_count for file systems do_blockdev_direct_IO() increments and decrements the inode ->i_dio_count for each IO operation. It does this to protect against truncate of a file. Block devices don't need this sort of protection. For a capable multiqueue setup, this atomic int is the only shared state between applications accessing the device for O_DIRECT, and it presents a scaling wall for that. In my testing, as much as 30% of system time is spent incrementing and decrementing this value. A mixed read/write workload improved from ~2.5M IOPS to ~9.6M IOPS, with better latencies too. Before: clat percentiles (usec): | 1.00th=[ 33], 5.00th=[ 34], 10.00th=[ 34], 20.00th=[ 34], | 30.00th=[ 34], 40.00th=[ 34], 50.00th=[ 35], 60.00th=[ 35], | 70.00th=[ 35], 80.00th=[ 35], 90.00th=[ 37], 95.00th=[ 80], | 99.00th=[ 98], 99.50th=[ 151], 99.90th=[ 155], 99.95th=[ 155], | 99.99th=[ 165] After: clat percentiles (usec): | 1.00th=[ 95], 5.00th=[ 108], 10.00th=[ 129], 20.00th=[ 149], | 30.00th=[ 155], 40.00th=[ 161], 50.00th=[ 167], 60.00th=[ 171], | 70.00th=[ 177], 80.00th=[ 185], 90.00th=[ 201], 95.00th=[ 270], | 99.00th=[ 390], 99.50th=[ 398], 99.90th=[ 418], 99.95th=[ 422], | 99.99th=[ 438] In other setups, Robert Elliott reported seeing good performance improvements: https://lkml.org/lkml/2015/4/3/557 The more applications accessing the device, the worse it gets. Add a new direct-io flags, DIO_SKIP_DIO_COUNT, which tells do_blockdev_direct_IO() that it need not worry about incrementing or decrementing the inode i_dio_count for this caller. Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Elliott, Robert (Server Storage) <elliott@xxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8e3c500594dca9a12c27eb6d77b82e0766879bfd Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Apr 22 11:55:14 2015 +0200 fs/9p: fix readdir() Al Viro's IOV changes broke 9p readdir() because the new code didn't abort the read when it returned nothing. The original code checked if the combined error/length was <= 0 but in the new code that accidentally got changed to just an error check. Add back the return from the function when nothing is read. Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Fixes: e1200fe68f20 ("9p: switch p9_client_read() to passing struct iov_iter *") Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 149aabcc44e3e2c1f8fe4f0832be53d2db55b598 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Apr 10 12:56:41 2015 +0530 clockevents: Shutdown detached clockevent device A clockevent device is marked DETACHED when it is replaced by another clockevent device. The device is shutdown properly for drivers that implement legacy ->set_mode() callback, as we call ->set_mode() for CLOCK_EVT_MODE_UNUSED as well. But for the new per-state callback interface, we skip shutting down the device, as we thought its an internal state change. That wasn't correct. The effect is that the device is left programmed in oneshot or periodic mode. Fall-back to 'case CLOCK_EVT_STATE_SHUTDOWN', to shutdown the device. Fixes: bd624d75db21 "clockevents: Introduce mode specific callbacks" Reported-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/eef0a91c51b74d4e52c8e5a95eca27b5a0563f07.1428650683.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1dcc73d7bb0429994c54d33b40c5fb82b741a791 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Apr 22 18:20:04 2015 +0100 irqchip: gic: Drop support for gic_arch_extn Now that the users of gic_arch_extn have been fixed, drop the "feature" for good. This leads to the removal of some now useless locking. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 10a50f1ab5f06c9a3ee5ece3ec52e607ed53c79f Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Apr 15 11:14:11 2015 +0300 genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip Without this system suspend is broken on systems that have drivers calling enable/disable_irq_wake() for interrupts based off the dummy irq hook. (e.g. drivers/gpio/gpio-pcf857x.c) Signed-off-by: Roger Quadros <rogerq@xxxxxx> Cc: <cw00.choi@xxxxxxxxxxx> Cc: <balbi@xxxxxx> Cc: <tony@xxxxxxxxxxx> Cc: Gregory Clement <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/552E1DD3.4040106@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a3bdccc4e683f0ac69230707ed3fa20e7cf73a79 Author: Chris Mason <clm@xxxxxx> Date: Fri Apr 24 11:00:00 2015 -0700 Btrfs: prevent list corruption during free space cache processing __btrfs_write_out_cache is holding the ctl->tree_lock while it prepares a list of bitmaps to record in the free space cache. It was dropping the lock while it worked on other components, which made a window for free_bitmap() to free the bitmap struct without removing it from the list. This changes things to hold the lock the whole time, and also makes sure we hold the lock during enospc cleanup. Reported-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 547c4b547e07dcc60874b6ef6252dd49ff74aec1 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Apr 20 12:35:47 2015 +0200 netfilter: bridge: fix NULL deref in physin/out ifindex helpers Might not have an outdev yet. We'll oops when iface goes down while skbs are still nfqueue'd: RIP: 0010:[<ffffffff81422a2f>] [<ffffffff81422a2f>] dev_cmp+0x4f/0x80 nfqnl_rcv_dev_event+0xe2/0x150 notifier_call_chain+0x53/0xa0 Fixes: c737b7c4510026 ("netfilter: bridge: add helpers for fetching physin/outdev") Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4c4ed0748f82e26d8b884383e6737cf5a861ed6f Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Apr 14 16:44:14 2015 +0200 netfilter: nf_tables: fix wrong length for jump/goto verdicts NFT_JUMP/GOTO erronously sets length to sizeof(void *). We then allocate insufficient memory when such element is added to a vmap. Suggested-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 358d6a2c3ecae2b22c7d7e61f9d5672557446dfb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 21 12:01:32 2015 +0200 toshiba_acpi: Do not register vendor backlight when acpi_video bl is available commit a39f46df33c6 ("toshiba_acpi: Fix regression caused by backlight extra check code") causes the backlight to no longer work on the Toshiba Z30, reverting that commit fixes this but restores the original issue fixed by that commit. Looking at the toshiba_acpi backlight code for a fix for this I noticed that the toshiba code is the only code under platform/x86 which unconditionally registers a vendor acpi backlight interface, without checking for acpi_video backlight support first. This commit adds the necessary checks bringing toshiba_acpi in line with the other drivers, and fixing the Z30 regression without needing to revert the commit causing it. Chances are that there will be some Toshiba models which have a non working acpi-video implementation while the toshiba vendor backlight interface does work, this commit adds an empty dmi_id table where such systems can be added, this is identical to how other drivers handle such systems. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1206036 BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=86521 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-and-tested-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d19d133e432248c9b3efa9c10dda5f050cbbcd72 Merge: c666872 e8191a8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 10:31:32 2015 -0700 Merge tag 'sound-fix-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Here are a few fixes that have been pending since the previous pull request: a regression fix for HD-audio multiple SPDIF / HDMI devices, several ALC256 codec fixes, a couple of i915 HDMI audio fixes, and various small fixes. Nothing exciting, just boring, but things good to have" * tag 'sound-fix-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - fix headset mic detection problem for one more machine ALSA: hda/realtek - Fix Headphone Mic doesn't recording for ALC256 ALSA: hda - fix "num_steps = 0" error on ALC256 ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module ALSA: hda - add AZX_DCAPS_I915_POWERWELL to Baytrail ALSA: hda - only sync BCLK to the display clock for Haswell & Broadwell ALSA: hda - Mute headphone pin on suspend on XPS13 9333 sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND) ALSA: asound.h - use SNDRV_CTL_ELEM_ID_NAME_MAXLEN ALSA: hda - potential (but unlikely) uninitialized variable ALSA: hda - Fix regression for slave SPDIF setups ALSA: intel8x0: Check pci_iomap() success for DEVICE_ALI ALSA: hda - simplify azx_has_pm_runtime commit c6668726d2c2c581e6c417448c472c994d026f5f Merge: 06b45f2 68d4cef Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 10:22:09 2015 -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: "Lots of activity in target land the last months. The highlights include: - Convert fabric drivers tree-wide to target_register_template() (hch + bart) - iser-target hardening fixes + v1.0 improvements (sagi) - Convert iscsi_thread_set usage to kthread.h + kill iscsi_target_tq.c (sagi + nab) - Add support for T10-PI WRITE_STRIP + READ_INSERT operation (mkp + sagi + nab) - DIF fixes for CONFIG_DEBUG_SG=y + UNMAP file emulation (akinobu + sagi + mkp) - Extended TCMU ABI v2 for future BIDI + DIF support (andy + ilias) - Fix COMPARE_AND_WRITE handling for NO_ALLLOC drivers (hch + nab) Thanks to everyone who contributed this round with new features, bug-reports, fixes, cleanups and improvements. Looking forward, it's currently shaping up to be a busy v4.2 as well" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (69 commits) target: Put TCMU under a new config option target: Version 2 of TCMU ABI target: fix tcm_mod_builder.py target/file: Fix UNMAP with DIF protection support target/file: Fix SG table for prot_buf initialization target/file: Fix BUG() when CONFIG_DEBUG_SG=y and DIF protection enabled target: Make core_tmr_abort_task() skip TMFs target/sbc: Update sbc_dif_generate pr_debug output target/sbc: Make internal DIF emulation honor ->prot_checks target/sbc: Return INVALID_CDB_FIELD if DIF + sess_prot_type disabled target: Ensure sess_prot_type is saved across session restart target/rd: Don't pass incomplete scatterlist entries to sbc_dif_verify_* target: Remove the unused flag SCF_ACK_KREF target: Fix two sparse warnings target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling target: simplify the target template registration API target: simplify target_xcopy_init_pt_lun target: remove the unused SCF_CMD_XCOPY_PASSTHROUGH flag target/rd: reduce code duplication in rd_execute_rw() tcm_loop: fixup tpgt string to integer conversion ... commit 06b45f2aa703837163496f5db6a53575665cc6b4 Merge: b3f4ef0 c264f11 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 10:11:24 2015 -0700 Merge tag 'pwm/for-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm Pull pwm changes from Thierry Reding: "Not much has been happening in PWM land lately, so this contains mostly minor fixes that didn't seem urgent enough for a late pull-request last cycle" * tag 'pwm/for-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: pwm: Remove __init initializer for pwm_add_table() pwm: samsung: Fix output race on disabling pwm: mxs: Fix period divider computation pwm: atmel-hlcdc: Add errata handling for sama5d4 pwm: pca9685: Constify struct regmap_config pwm: imx-pwm: add explicit compatible strings and required clock properties commit b3f4ef0bf21da37e4dfc1cdfa0288ba39186fb56 Merge: d6a4c0e 72449cb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 10:05:39 2015 -0700 Merge tag 'dma-buf-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf Pull dma-buf updates from Sumit Semwal: "Minor cleanup only; this could've gone in for the 4.0 merge window, but for a copy-paste stupidity from me. It has been in the for-next since then, and no issues reported. - cleanup of dma_buf_export() - correction of copy-paste stupidity while doing the cleanup" * tag 'dma-buf-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf: staging: android: ion: fix wrong init of dma_buf_export_info dma-buf: cleanup dma_buf_export() to make it easily extensible commit d6a4c0e5d3d433ef296f8f417e835329a834a256 Merge: 474095e cdde0e6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 09:49:37 2015 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma Pull slave-dmaengine updates from Vinod Koul: - new drivers for: - Ingenic JZ4780 controller - APM X-Gene controller - Freescale RaidEngine device - Renesas USB Controller - remove device_alloc_chan_resources dummy handlers - sh driver cleanups for peri peri and related emmc and asoc patches as well - fixes and enhancements spread over the drivers * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (59 commits) dmaengine: dw: don't prompt for DW_DMAC_CORE dmaengine: shdmac: avoid unused variable warnings dmaengine: fix platform_no_drv_owner.cocci warnings dmaengine: pch_dma: fix memory leak on failure path in pch_dma_probe() dmaengine: at_xdmac: unlock spin lock before return dmaengine: xgene: devm_ioremap() returns NULL on error dmaengine: xgene: buffer overflow in xgene_dma_init_channels() dmaengine: usb-dmac: Fix dereferencing freed memory 'desc' dmaengine: sa11x0: report slave capabilities to upper layers dmaengine: vdma: Fix compilation warnings dmaengine: fsl_raid: statify fsl_re_chan_probe dmaengine: Driver support for FSL RaidEngine device. dmaengine: xgene_dma_init_ring_mngr() can be static Documentation: dma: Add documentation for the APM X-Gene SoC DMA device DTS binding arm64: dts: Add APM X-Gene SoC DMA device and DMA clock DTS nodes dmaengine: Add support for APM X-Gene SoC DMA engine driver dmaengine: usb-dmac: Add Renesas USB DMA Controller (USB-DMAC) driver dmaengine: renesas,usb-dmac: Add device tree bindings documentation dmaengine: edma: fixed wrongly initialized data parameter to the edma callback dmaengine: ste_dma40: fix implicit conversion ... commit 474095e46cd14421821da3201a9fd6a4c070996b Merge: d56a669 9ffc8f7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 09:28:01 2015 -0700 Merge tag 'md/4.1' of git://neil.brown.name/md Pull md updates from Neil Brown: "More updates that usual this time. A few have performance impacts which hould mostly be positive, but RAID5 (in particular) can be very work-load ensitive... We'll have to wait and see. Highlights: - "experimental" code for managing md/raid1 across a cluster using DLM. Code is not ready for general use and triggers a WARNING if used. However it is looking good and mostly done and having in mainline will help co-ordinate development. - RAID5/6 can now batch multiple (4K wide) stripe_heads so as to handle a full (chunk wide) stripe as a single unit. - RAID6 can now perform read-modify-write cycles which should help performance on larger arrays: 6 or more devices. - RAID5/6 stripe cache now grows and shrinks dynamically. The value set is used as a minimum. - Resync is now allowed to go a little faster than the 'mininum' when there is competing IO. How much faster depends on the speed of the devices, so the effective minimum should scale with device speed to some extent" * tag 'md/4.1' of git://neil.brown.name/md: (58 commits) md/raid5: don't do chunk aligned read on degraded array. md/raid5: allow the stripe_cache to grow and shrink. md/raid5: change ->inactive_blocked to a bit-flag. md/raid5: move max_nr_stripes management into grow_one_stripe and drop_one_stripe md/raid5: pass gfp_t arg to grow_one_stripe() md/raid5: introduce configuration option rmw_level md/raid5: activate raid6 rmw feature md/raid6 algorithms: xor_syndrome() for SSE2 md/raid6 algorithms: xor_syndrome() for generic int md/raid6 algorithms: improve test program md/raid6 algorithms: delta syndrome functions raid5: handle expansion/resync case with stripe batching raid5: handle io error of batch list RAID5: batch adjacent full stripe write raid5: track overwrite disk count raid5: add a new flag to track if a stripe can be batched raid5: use flex_array for scribble data md raid0: access mddev->queue (request queue member) conditionally because it is not set when accessed from dm-raid md: allow resync to go faster when there is competing IO. md: remove 'go_faster' option from ->sync_request() ... commit 2d6c9091ab7630dfcf34417c6683ce4764d7d40a Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 13:06:54 2015 -0400 net: mdio-gpio: support access that may sleep Some systems using mdio-gpio may use gpio on message based busses, which require sleeping (e.g. gpio from an I2C I/O expander). Since this driver does not use IRQ handler, it is safe to use the _cansleep suffixed gpio accessors. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 410ceb8f2f1d4edeb02d229ef192e76602005b8b Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Apr 24 10:45:16 2015 +0900 tools lib traceevent: Fix build failure on 32-bit arch In my i386 build, it failed like this: CC event-parse.o event-parse.c: In function 'print_str_arg': event-parse.c:3868:5: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t' [-Wformat] Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Javi Merino <javi.merino@xxxxxxx> Link: http://lkml.kernel.org/r/20150424020218.GF1905@sejong Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d56a669ca59c37ed0a7282a251b2f2f22533343a Merge: 836ee48 04fca0e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 08:46:18 2015 -0700 Merge tag 'devicetree-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull second batch of devicetree updates from Rob Herring: "As Grant mentioned in the first devicetree pull request, here is the 2nd batch of DT changes for 4.1. The main remaining item here is the endianness bindings and related 8250 driver support. - DT endianness specification bindings - big-endian 8250 serial support - DT overlay unittest updates - various DT doc updates - compile fixes for OF_IRQ=n" * tag 'devicetree-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: frv: add io{read,write}{16,32}be functions mn10300: add io{read,write}{16,32}be functions Documentation: DT bindings: add doc for Altera's SoCFPGA platform of: base: improve of_get_next_child() kernel-doc Doc: dt: arch_timer: discourage clock-frequency use of: unittest: overlay: Keep track of created overlays of/fdt: fix allocation size for device node path serial: of_serial: Support big-endian register accesses serial: 8250: Add support for big-endian MMIO accesses of: Document {little,big,native}-endian bindings of/fdt: Add endianness helper function for early init code of: Add helper function to check MMIO register endianness of/fdt: Remove "reg" data prints from early_init_dt_scan_memory of: add vendor prefix for Artesyn of: Add dummy of_irq_to_resource_table() for IRQ_OF=n of: OF_IRQ should depend on IRQ_DOMAIN commit 4ad1f4300e3bddf63109aa63cfb2d37e8585ecc7 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Tue Apr 14 13:49:33 2015 -0400 perf kmem: Fix compiles on RHEL6/OL6 0d68bc92c48 breaks compiles on RHEL6/OL6: cc1: warnings being treated as errors builtin-kmem.c: In function â??search_page_alloc_statâ??: builtin-kmem.c:322: error: declaration of â??statâ?? shadows a global declaration node = &parent->rb_left; /usr/include/sys/stat.h:455: error: shadowed declaration is here builtin-kmem.c: In function â??perf_evsel__process_page_alloc_eventâ??: builtin-kmem.c:378: error: declaration of â??statâ?? shadows a global declaration /usr/include/sys/stat.h:455: error: shadowed declaration is here builtin-kmem.c: In function â??perf_evsel__process_page_free_eventâ??: builtin-kmem.c:431: error: declaration of â??statâ?? shadows a global declaration /usr/include/sys/stat.h:455: error: shadowed declaration is here Rename local variable to pstat to avoid the name conflict. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429033773-31383-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b357a364c57c940ddb932224542494363df37378 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 23 18:03:44 2015 -0700 inet: fix possible panic in reqsk_queue_unlink() [ 3897.923145] BUG: unable to handle kernel NULL pointer dereference at 0000000000000080 [ 3897.931025] IP: [<ffffffffa9f27686>] reqsk_timer_handler+0x1a6/0x243 There is a race when reqsk_timer_handler() and tcp_check_req() call inet_csk_reqsk_queue_unlink() on the same req at the same time. Before commit fa76ce7328b2 ("inet: get rid of central tcp/dccp listener timer"), listener spinlock was held and race could not happen. To solve this bug, we change reqsk_queue_unlink() to not assume req must be found, and we return a status, to conditionally release a refcount on the request sock. This also means tcp_check_req() in non fastopen case might or not consume req refcount, so tcp_v6_hnd_req() & tcp_v4_hnd_req() have to properly handle this. (Same remark for dccp_check_req() and its callers) inet_csk_reqsk_queue_drop() is now too big to be inlined, as it is called 4 times in tcp and 3 times in dccp. Fixes: fa76ce7328b2 ("inet: get rid of central tcp/dccp listener timer") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d8dc3d3c8f1d8ee1da9d54c5d7c8694419ade42 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Apr 23 16:38:43 2015 +0200 rhashtable: don't attempt to grow when at max_size The conversion of mac80211's station table to rhashtable had a bug that I found by accident in code review, that hadn't been found as rhashtable apparently managed to have a maximum hash chain length of one (!) in all our testing. In order to test the bug and verify the fix I set my rhashtable's max_size very low (4) in order to force getting hash collisions. At that point, rhashtable WARNed in rhashtable_insert_rehash() but didn't actually reject the hash table insertion. This caused it to lose insertions - my master list of stations would have 9 entries, but the rhashtable only had 5. This may warrant a deeper look, but that WARN_ON() just shouldn't happen. Fix this by not returning true from rht_grow_above_100() when the rhashtable's max_size has been reached - in this case the user is explicitly configuring it to be at most that big, so even if it's now above 100% it shouldn't attempt to resize. This fixes the "lost insertion" issue and consequently allows my code to display its error (and verify my fix for it.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e580267df97eda407c525dbaee5430e0d51a0edb Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Apr 23 20:56:29 2015 +0200 bgmac: fix requests for extra polling calls from NAPI After d75b1ade567f ("net: less interrupt masking in NAPI") polling function has to return whole budget when it wants NAPI to call it again. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Felix Fietkau <nbd@xxxxxxxxxxx> Fixes: eb64e2923a886 ("bgmac: leave interrupts disabled as long as there is work to do") Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 836ee4874e201a5907f9658fb2bf3527dd952d30 Merge: fb65d87 7676fa7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 08:23:45 2015 -0700 Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull initial ACPI support for arm64 from Will Deacon: "This series introduces preliminary ACPI 5.1 support to the arm64 kernel using the "hardware reduced" profile. We don't support any peripherals yet, so it's fairly limited in scope: - MEMORY init (UEFI) - ACPI discovery (RSDP via UEFI) - CPU init (FADT) - GIC init (MADT) - SMP boot (MADT + PSCI) - ACPI Kconfig options (dependent on EXPERT) ACPI for arm64 has been in development for a while now and hardware has been available that can boot with either FDT or ACPI tables. This has been made possible by both changes to the ACPI spec to cater for ARM-based machines (known as "hardware-reduced" in ACPI parlance) but also a Linaro-driven effort to get this supported on top of the Linux kernel. This pull request is the result of that work. These changes allow us to initialise the CPUs, interrupt controller, and timers via ACPI tables, with memory information and cmdline coming from EFI. We don't support a hybrid ACPI/FDT scheme. Of course, there is still plenty of work to do (a serial console would be nice!) but I expect that to happen on a per-driver basis after this core series has been merged. Anyway, the diff stat here is fairly horrible, but splitting this up and merging it via all the different subsystems would have been extremely painful. Instead, we've got all the relevant Acks in place and I've not seen anything other than trivial (Kconfig) conflicts in -next (for completeness, I've included my resolution below). Nearly half of the insertions fall under Documentation/. So, we'll see how this goes. Right now, it all depends on EXPERT and I fully expect people to use FDT by default for the immediate future" * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (31 commits) ARM64 / ACPI: make acpi_map_gic_cpu_interface() as void function ARM64 / ACPI: Ignore the return error value of acpi_map_gic_cpu_interface() ARM64 / ACPI: fix usage of acpi_map_gic_cpu_interface ARM64: kernel: acpi: honour acpi=force command line parameter ARM64: kernel: acpi: refactor ACPI tables init and checks ARM64: kernel: psci: let ACPI probe PSCI version ARM64: kernel: psci: factor out probe function ACPI: move arm64 GSI IRQ model to generic GSI IRQ layer ARM64 / ACPI: Don't unflatten device tree if acpi=force is passed ARM64 / ACPI: additions of ACPI documentation for arm64 Documentation: ACPI for ARM64 ARM64 / ACPI: Enable ARM64 in Kconfig XEN / ACPI: Make XEN ACPI depend on X86 ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 clocksource / arch_timer: Parse GTDT to initialize arch timer irqchip: Add GICv2 specific ACPI boot support ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi ACPI / processor: Make it possible to get CPU hardware ID via GICC ACPI / processor: Introduce phys_cpuid_t for CPU hardware ID ARM64 / ACPI: Parse MADT for SMP initialization ... commit fb65d872d7a8dc629837a49513911d0281577bfd Merge: 05f0c55 6b7acae Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 08:10:53 2015 -0700 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM fixes from Russell King: "A few fixes for the recently merged development updates: - the update to convert a code branch in the procinfo structure forgot to update the nommu code. - VDSO only supported for V7 CPUs and later. - VDSO build creates files which should be ignored by git but are not. - ensure that make arch/arm/vdso/ doesn't build if it isn't enabled" * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: 8344/1: VDSO: honor CONFIG_VDSO in Makefile ARM: 8343/1: VDSO: add build artifacts to .gitignore ARM: Fix nommu booting ARM: 8342/1: VDSO: depend on CPU_V7 commit 845704a535e9b3c76448f52af1b70e4422ea03fd Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 23 10:42:39 2015 -0700 tcp: avoid looping in tcp_send_fin() Presence of an unbound loop in tcp_send_fin() had always been hard to explain when analyzing crash dumps involving gigantic dying processes with millions of sockets. Lets try a different strategy : In case of memory pressure, try to add the FIN flag to last packet in write queue, even if packet was already sent. TCP stack will be able to deliver this FIN after a timeout event. Note that this FIN being delivered by a retransmit, it also carries a Push flag given our current implementation. By checking sk_under_memory_pressure(), we anticipate that cooking many FIN packets might deplete tcp memory. In the case we could not allocate a packet, even with __GFP_WAIT allocation, then not sending a FIN seems quite reasonable if it allows to get rid of this socket, free memory, and not block the process from eventually doing other useful work. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05f0c553e2155b93a9b4edb96898458762bda867 Merge: 668b54a 1a70db49 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:59:07 2015 -0700 Merge tag 'nios2-v4.1-rc1' of git://git.rocketboards.org/linux-socfpga-next Pull arch/nios2 updates from Ley Foon Tan: - update cache management code - rework trap handler with new define trap #. - fix on check header warning. * tag 'nios2-v4.1-rc1' of git://git.rocketboards.org/linux-socfpga-next: nios2: rework cache nios2: Add types.h header required for __u32 type nios2: rework trap handler nios2: remove end address checking for initda commit 668b54a1c2c25bde34cd9c077b1c5f03b46bcb49 Merge: fab1e55 d91e14b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:58:07 2015 -0700 Merge tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux Pull blackfin updates from Steven Miao. * tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux: eth: bf609 eth clock: add pclk clock for stmmac driver probe blackfin: Wire up missing syscalls arch: blackfin: kernel: kgdb: Remove unused function dma: fix build error after update to v3.19 blackfin: io: define __raw_readx/writex with bfin_readx/writex bf609: add resources for lcd nl8048 pm: sometimes wake up from suspend to RAM would fail debug-mmrs: Eliminate all traces of the USB_PHY_TEST MMR bf609: remove softswitch i2c configuration from adv7842 and adv7511 platform data bf609: add platform data for soft switch devices on the video extenders bf609: enable soft switch gpio driver by default bf609: add gpio soft switch platform data for mcp23017 i2c devices bf609: use new SND_BF6XX_PCM to choose audio pcm driver bug[220] kgdb: change the smp cross core function entry arch: blackfin: kernel: setup.c: Cleaning up missing null-terminate in conjunction with strncpy blackfin: defconfigs: cleanup unused CONFIG_MTD_CHAR, add MTD_SPI_NOR for BF537-STAMP commit fab1e5502cf5719669c96c6f240e8eb963abfe6b Merge: c76397e 40346a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:56:50 2015 -0700 Merge tag 'metag-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag Pull Metag architecture updates from James Hogan: "Just the one change for v4.1-rc1. A minor cleanup of copy_thread()" * tag 'metag-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag: metag: copy_thread(): rename 'arg' argument to 'kthread_arg' commit c76397e9303f2c9ac3c2b9d94834ff241d2b2bd4 Merge: 860448c d8f6ad8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:55:54 2015 -0700 Merge tag 'arc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc Pull ARC updates from Vineet Gupta: - perf fixes/improvements - misc cleanups * tag 'arc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARC: perf: don't add code for impossible case ARC: perf: Rename DT binding to not confuse with power mgmt ARC: perf: add user space attribution in callchains ARC: perf: Add kernel callchain support ARC: perf: support cache hit/miss ratio ARC: perf: Add some comments/debug stuff ARC: perf: make @arc_pmu static global ARC: mem init spring cleaning - No functional changes ARC: Fix RTT boot printing ARC: fold __builtin_constant_p() into test_bit() ARC: rename unhandled exception handler ARC: cosmetic: Remove unused ECR bitfield masks ARC: Fix WRITE_BCR ARC: [nsimosci] Update defconfig arc: copy_thread(): rename 'arg' argument to 'kthread_arg' commit 860448cf76c0878b83d3cf343a0436188b396b8e Merge: ba0e4ae bff1752 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:46:05 2015 -0700 Merge branch 'for-4.1' of git://linux-nfs.org/~bfields/linux Pull nfsd updates from Bruce Fields: "A quiet cycle this time; this is basically entirely bugfixes. The few that aren't cc'd to stable are cleanup or seemed unlikely to affect anyone much" * 'for-4.1' of git://linux-nfs.org/~bfields/linux: uapi: Remove kernel internal declaration nfsd: fix nsfd startup race triggering BUG_ON nfsd: eliminate NFSD_DEBUG nfsd4: fix READ permission checking nfsd4: disallow SEEK with special stateids nfsd4: disallow ALLOCATE with special stateids nfsd: add NFSEXP_PNFS to the exflags array nfsd: Remove duplicate macro define for max sec label length nfsd: allow setting acls with unenforceable DENYs nfsd: NFSD_FAULT_INJECTION depends on DEBUG_FS nfsd: remove unused status arg to nfsd4_cleanup_open_state nfsd: remove bogus setting of status in nfsd4_process_open2 NFSD: Use correct reply size calculating function NFSD: Using path_equal() for checking two paths commit ba0e4ae88f0f71b42ad8734e0c371d321554f13b Merge: 1aef882 e082f56 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:40:02 2015 -0700 Merge branch 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs updates from Chris Mason: "I've been running these through a longer set of load tests because my commits change the free space cache writeout. It fixes commit stalls on large filesystems (~20T space used and up) that we have been triggering here. We were seeing new writers blocked for 10 seconds or more during commits, which is far from good. Josef and I fixed up ENOSPC aborts when deleting huge files (3T or more), that are triggered because our metadata reservations were not properly accounting for crcs and were not replenishing during the truncate. Also in this series, a number of qgroup fixes from Fujitsu and Dave Sterba collected most of the pending cleanups from the list" * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (93 commits) btrfs: quota: Update quota tree after qgroup relationship change. btrfs: quota: Automatically update related qgroups or mark INCONSISTENT flags when assigning/deleting a qgroup relations. btrfs: qgroup: clear STATUS_FLAG_ON in disabling quota. btrfs: Update btrfs qgroup status item when rescan is done. btrfs: qgroup: Fix dead judgement on qgroup_rescan_leaf() return value. btrfs: Don't allow subvolid >= (1 << BTRFS_QGROUP_LEVEL_SHIFT) to be created btrfs: Check qgroup level in kernel qgroup assign. btrfs: qgroup: allow to remove qgroup which has parent but no child. btrfs: qgroup: return EINVAL if level of parent is not higher than child's. btrfs: qgroup: do a reservation in a higher level. Btrfs: qgroup, Account data space in more proper timings. Btrfs: qgroup: Introduce a may_use to account space_info->bytes_may_use. Btrfs: qgroup: free reserved in exceeding quota. Btrfs: qgroup: cleanup, remove an unsued parameter in btrfs_create_qgroup(). btrfs: qgroup: fix limit args override whole limit struct btrfs: qgroup: update limit info in function btrfs_run_qgroups(). btrfs: qgroup: consolidate the parameter of fucntion update_qgroup_limit_item(). btrfs: qgroup: update qgroup in memory at the same time when we update it in btree. btrfs: qgroup: inherit limit info from srcgroup in creating snapshot. btrfs: Support busy loop of write and delete ... commit 1aef882f023eb7c24d6d77f001bd0ba956fdd861 Merge: d869844 542c311 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 07:08:41 2015 -0700 Merge tag 'xfs-for-linus-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs Pull xfs update from Dave Chinner: "This update contains: - RENAME_WHITEOUT support - conversion of per-cpu superblock accounting to use generic counters - new inode mmap lock so that we can lock page faults out of truncate, hole punch and other direct extent manipulation functions to avoid racing mmap writes from causing data corruption - rework of direct IO submission and completion to solve data corruption issue when running concurrent extending DIO writes. Also solves problem of running IO completion transactions in interrupt context during size extending AIO writes. - FALLOC_FL_INSERT_RANGE support for inserting holes into a file via direct extent manipulation to avoid needing to copy data within the file - attribute block header field overflow fix for 64k block size filesystems - Lots of changes to log messaging to be more informative and concise when errors occur. Also prevent a lot of unnecessary log spamming due to cascading failures in error conditions. - lots of cleanups and bug fixes One thing of note is the direct IO fixes that we merged last week after the window opened. Even though a little late, they fix a user reported data corruption and have been pretty well tested. I figured there was not much point waiting another 2 weeks for -rc1 to be released just so I could send them to you..." * tag 'xfs-for-linus-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (49 commits) xfs: using generic_file_direct_write() is unnecessary xfs: direct IO EOF zeroing needs to drain AIO xfs: DIO write completion size updates race xfs: DIO writes within EOF don't need an ioend xfs: handle DIO overwrite EOF update completion correctly xfs: DIO needs an ioend for writes xfs: move DIO mapping size calculation xfs: factor DIO write mapping from get_blocks xfs: unlock i_mutex in xfs_break_layouts xfs: kill unnecessary firstused overflow check on attr3 leaf removal xfs: use larger in-core attr firstused field and detect overflow xfs: pass attr geometry to attr leaf header conversion functions xfs: disallow ro->rw remount on norecovery mount xfs: xfs_shift_file_space can be static xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate fs: Add support FALLOC_FL_INSERT_RANGE for fallocate xfs: Fix incorrect positive ENOMEM return xfs: xfs_mru_cache_insert() should use GFP_NOFS xfs: %pF is only for function pointers xfs: fix shadow warning in xfs_da3_root_split() ... commit d869844bd081081bf537e806a44811884230643e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 23 08:33:59 2015 -0700 x86: fix special __probe_kernel_write() tail zeroing case Commit cae2a173fe94 ("x86: clean up/fix 'copy_in_user()' tail zeroing") fixed the failure case tail zeroing of one special case of the x86-64 generic user-copy routine, namely when used for the user-to-user case ("copy_in_user()"). But in the process it broke an even more unusual case: using the user copy routine for kernel-to-kernel copying. Now, normally kernel-kernel copies are obviously done using memcpy(), but we have a couple of special cases when we use the user-copy functions. One is when we pass a kernel buffer to a regular user-buffer routine, using set_fs(KERNEL_DS). That's a "normal" case, and continued to work fine, because it never takes any faults (with the possible exception of a silent and successful vmalloc fault). But Jan Beulich pointed out another, very unusual, special case: when we use the user-copy routines not because it's a path that expects a user pointer, but for a couple of ftrace/kgdb cases that want to do a kernel copy, but do so using "unsafe" buffers, and use the user-copy routine to gracefully handle faults. IOW, for probe_kernel_write(). And that broke for the case of a faulting kernel destination, because we saw the kernel destination and wanted to try to clear the tail of the buffer. Which doesn't work, since that's what faults. This only triggers for things like kgdb and ftrace users (eg trying setting a breakpoint on read-only memory), but it's definitely a bug. The fix is to not compare against the kernel address start (TASK_SIZE), but instead use the same limits "access_ok()" uses. Reported-and-tested-by: Jan Beulich <jbeulich@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.0 Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 73ee39a4c944a11cfd6d43ba1f634da340bf5537 Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Thu Apr 23 14:11:47 2015 +0200 spi: fsl-spi: fix devm_ioremap_resource() error case devm_ioremap_resource() doesn't return NULL but an ERR_PTR on error. Reported-by: Jonas Gorsky <jogo@xxxxxxxxxxx> Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 50574dd2f63ed0afc3b666da27eb7062d26a39c5 Author: Haikun Wang <haikun.wang@xxxxxxxxxxxxx> Date: Fri Apr 24 18:41:17 2015 +0800 spi: Kconfig: Add SOC_LS1021A to SPI_FSL_DSPI dependence LS1021A chip also has the DSPI module. Add it to the dependence. Signed-off-by: Haikun Wang <haikun.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8c98ebd7a6ff6ef352bb4c5516a8849b40b5ef6b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Apr 23 20:03:58 2015 +0200 crypto: img-hash - CRYPTO_DEV_IMGTEC_HASH should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `img_hash_write_via_dma_stop': img-hash.c:(.text+0xa2b822): undefined reference to `dma_unmap_sg' drivers/built-in.o: In function `img_hash_xmit_dma': img-hash.c:(.text+0xa2b8d8): undefined reference to `dma_map_sg' img-hash.c:(.text+0xa2b948): undefined reference to `dma_unmap_sg' Also move the "depends" section below the "tristate" line while we're at it. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 00425bb181c204c8f250fec122e2817a930e0286 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Apr 24 08:37:09 2015 +0200 crypto: x86/sha512_ssse3 - fixup for asm function prototype change Patch e68410ebf626 ("crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer") changed the prototypes of the core asm SHA-512 implementations so that they are compatible with the prototype used by the base layer. However, in one instance, the register that was used for passing the input buffer was reused as a scratch register later on in the code, and since the input buffer param changed places with the digest param -which needs to be written back before the function returns- this resulted in the scratch register to be dereferenced in a memory write operation, causing a GPF. Fix this by changing the scratch register to use the same register as the input buffer param again. Fixes: e68410ebf626 ("crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer") Reported-By: Bobby Powers <bobbypowers@xxxxxxxxx> Tested-By: Bobby Powers <bobbypowers@xxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5a1b11cbccda7680b6859a4648f7af16f30e79b4 Merge: 334c40b 8844d0f 145367b 7d0ec8b 575bec5 c5a06e7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 24 11:10:46 2015 +0100 Merge remote-tracking branches 'spi/fix/bcm2835', 'spi/fix/bcm2835-code', 'spi/fix/bitbang', 'spi/fix/fsl-cpm' and 'spi/fix/omap2-mcspi' into spi-linus commit 334c40b17f0cc3de114197fa2cd75f89e3387d22 Merge: 39a8804 f8bb820 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 24 11:10:45 2015 +0100 Merge remote-tracking branch 'spi/fix/core' into spi-linus commit 3168c201f7ca333d12f80f8d98bbbe3a33746f8b Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Thu Apr 23 16:35:17 2015 -0700 ASoC: rt5645: Add ACPI match ID This patch adds the ACPI match ID for rt5645/5650 codec Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 74d6ea52aeef0236242221c6eff6d892565c5a92 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Apr 24 15:19:29 2015 +0800 ASoC: rt5677: add register patch for PLL The PLL output will be unstable in some cases. We can fix it by setting some registers. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit c5a06e75f38376238db6a38240bac4b27dfe5216 Author: Fionn Cleary <clearyf@xxxxxx> Date: Thu Apr 23 21:13:40 2015 +0200 spi/omap2-mcpsi: Always call spi_finalize_current_message() The spi queue waits forever for spi_finalize_current_message() to be called, blocking the bus. Ensure that all error paths from omap2_mcspi_transfer_one_message() call spi_finalize_current_message(). Signed-off-by: Fionn Cleary <fionn.cleary@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit caf22d311a35d1c0c2c73e1f0988276d51175c8f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Apr 24 11:10:10 2015 +0200 mac80211: enable hash table shrinking The hashtable behaviour change was merged into the tree at about the same time as the mac80211 use of rhashtable, but of course these don't really conflict in the normal sense. Enable hash table shrinking now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 1a70db49a735350f221959bf26e9a12f63a743bc Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Fri Apr 24 14:18:55 2015 +0800 nios2: rework cache - flush dcache before flush instruction cache - remork update_mmu_cache and flush_dcache_page - add shmparam.h Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 2009337e30cdae64405ea7b8fa1578b921508871 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 14:48:35 2015 +0800 nios2: Add types.h header required for __u32 type Reported by the header checker (CONFIG_HEADERS_CHECK=y): CHECK usr/include/asm/ (31 files) ./usr/include/asm/ptrace.h:77: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit e8191a8e475551b277d85cd76c3f0f52fdf42e86 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Fri Apr 24 13:39:59 2015 +0800 ALSA: hda - fix headset mic detection problem for one more machine We have two machines with alc256 codec in the pin quirk table, so moving the common pins to ALC256_STANDARD_PINS. Cc: stable@xxxxxxxxxxxxxxx BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1447909 Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d91e14b3b9e1d8e1d552f4d6aff45551bbb410b1 Author: Steven Miao <realmz6@xxxxxxxxx> Date: Fri Apr 24 11:39:08 2015 +0800 eth: bf609 eth clock: add pclk clock for stmmac driver probe Signed-off-by: Steven Miao <realmz6@xxxxxxxxx> commit 4f650a5966038f439c5f8d7d85dcc6b3a77a4e7c Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Mon Apr 13 22:02:58 2015 +0800 blackfin: Wire up missing syscalls The related syscalls are below which may cause samples/kdbus building break in next-20150401 tree, the related information and error: CALL scripts/checksyscalls.sh <stdin>:1223:2: warning: #warning syscall kcmp not implemented [-Wcpp] <stdin>:1226:2: warning: #warning syscall finit_module not implemented [-Wcpp] <stdin>:1229:2: warning: #warning syscall sched_setattr not implemented [-Wcpp] <stdin>:1232:2: warning: #warning syscall sched_getattr not implemented [-Wcpp] <stdin>:1235:2: warning: #warning syscall renameat2 not implemented [-Wcpp] <stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp] <stdin>:1241:2: warning: #warning syscall getrandom not implemented [-Wcpp] <stdin>:1244:2: warning: #warning syscall memfd_create not implemented [-Wcpp] <stdin>:1247:2: warning: #warning syscall bpf not implemented [-Wcpp] <stdin>:1250:2: warning: #warning syscall execveat not implemented [-Wcpp] [...] HOSTCC samples/kdbus/kdbus-workers samples/kdbus/kdbus-workers.c: In function â??prime_newâ??: samples/kdbus/kdbus-workers.c:930:18: error: â??__NR_memfd_createâ?? undeclared (first use in this function) p->fd = syscall(__NR_memfd_create, "prime-area", MFD_CLOEXEC); ^ samples/kdbus/kdbus-workers.c:930:18: note: each undeclared identifier is reported only once for each function it appears in Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> commit 85db36cfb3de1422aeafb4e2ce83396333b744bb Author: Chris Mason <clm@xxxxxx> Date: Thu Apr 23 08:02:49 2015 -0700 Btrfs: fix inode cache writeout The code to fix stalls during free spache cache IO wasn't using the correct root when waiting on the IO for inode caches. This is only a problem when the inode cache is enabled with mount -o inode_cache This fixes the inode cache writeout to preserve any error values and makes sure not to override the root when inode cache writeout is done. Reported-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e0155a99b28f63e007c0c74076ad8ae486a3c9d3 Merge: 2363ccb 78b9ae3 6b5eab5 7d28435 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 24 02:18:52 2015 +0200 Merge branches 'acpi-dock', 'acpi-ec' and 'acpi-scan' * acpi-dock: MAINTAINERS: remove maintainship entry of docking station driver * acpi-ec: ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler() * acpi-scan: ACPI / scan: Add a scan handler for PRP0001 ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline() commit 7d284352f9cbc032f2294024b1a6b5c06765c246 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 24 02:18:01 2015 +0200 ACPI / scan: Add a scan handler for PRP0001 If the special PRP0001 device ID is present in the given device's list of ACPI/PNP IDs and the device has a valid "compatible" property in the _DSD, it should be enumerated using the default mechanism, unless some scan handlers match the IDs preceding PRP0001 in the device's list of ACPI/PNP IDs. In addition to that, no scan handlers matching the IDs following PRP0001 in that list should be attached to the device. To make that happen, define a scan handler that will match PRP0001 and trigger the default enumeration for the matching devices if the "compatible" property is present for them. Since that requires the check for platform_id and device->handler to be removed from acpi_default_enumeration(), move the fallback invocation of acpi_default_enumeration() to acpi_bus_attach() (after it's checked if there's a matching ACPI driver for the device), which is a better place to call it, and do the platform_id check in there too (device->handler is guaranteed to be unset at the point where the function is looking for a matching ACPI driver). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 4c533c801d1c9b5c38458a0e7516e0cf50643782 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Apr 18 01:25:46 2015 +0200 ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline() acpi_scan_is_offline() may be called under the physical_node_lock lock of the given device object's parent, so prevent lockdep from complaining about that by annotating that instance with SINGLE_DEPTH_NESTING. Fixes: caa73ea158de (ACPI / hotplug / driver core: Handle containers in a special way) Reported-and-tested-by: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Reviewed-by: Toshi Kani <toshi.kani@xxxxxx> Cc: 3.14+ <stable@xxxxxxxxxxxxxxx> # 3.14+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b5f1c97f944482e98e6e39208af356630389d1ea Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Wed Apr 15 16:52:30 2015 -0700 drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg Due this typo we don't save/restore the GFX_MAX_REQ_COUNT register across suspend/resume, so fix this. This was introduced in commit ddeea5b0c36f3665446518c609be91f9336ef674 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon May 5 15:19:56 2014 +0300 drm/i915: vlv: add runtime PM support I noticed this only by reading the code. To my knowledge it shouldn't cause any real problems at the moment, since the power well backing this register remains on across a runtime s/r. This may change once system-wide s0ix functionality is enabled in the kernel. v2: - resend after a missing git add -u :/ Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@xxxxxxxxx) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 6b7acae74fc2ffe6cfd7592e95ca933cadb31219 Merge: 4b2f883 0a9024e f80f653 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Apr 23 21:05:16 2015 +0000 Merge branches 'misc' and 'vdso' into for-next commit 53292cdb066950611e5bc2e0eb109c7edb42af78 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Apr 15 18:11:33 2015 +0100 drm/i915: Workaround to avoid lite restore with HEAD==TAIL WaIdleLiteRestore is an execlists-only workaround, and requires the driver to ensure that any context always has HEAD!=TAIL when attempting lite restore. Add two extra MI_NOOP instructions at the end of each request, but keep the requests tail pointing before the MI_NOOPs. We may not need to executed them, and this is why request->tail is sampled before adding these extra instructions. If we submit a context to the ELSP which has previously been submitted, move the tail pointer past the MI_NOOPs. This ensures HEAD!=TAIL. v2: Move overallocation to gen8_emit_request, and added note about sampling request->tail in commit message (Chris). v3: Remove redundant request->tail assignment in __i915_add_request, in lrc mode this is already set in execlists_context_queue. Do not add wa implementation details inside gem (Chris). v4: Apply the wa whenever the req has been resubmitted and update comment (Chris). Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9535c4757b881e06fae72a857485ad57c422b8d2 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 21 09:49:11 2015 -0700 drm/i915: cope with large i2c transfers The hardware, according to the specs, is limited to 256 byte transfers, and current driver has no protections in case users attempt to do larger transfers. The code will just stomp over status register and mayhem ensues. Let's split larger transfers into digestable chunks. Doing this allows Atmel MXT driver on Pixel 1 function properly (it hasn't since commit 9d8dc3e529a19e427fd379118acd132520935c5d "Input: atmel_mxt_ts - implement T44 message handling" which tries to consume multiple touchscreen/touchpad reports in a single transaction). Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit de28c15daf60e9625bece22f13a091fac8d05f1d Author: Bobby Powers <bobbypowers@xxxxxxxxx> Date: Tue Apr 21 19:19:41 2015 -0400 tools lib api: Undefine _FORTIFY_SOURCE before setting it Some toolchains (like Hardened Gentoo) define _FORTIFY_SOURCE in the built-in, default args. This causes perf builds to fail with: <command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] <built-in>: note: this is the location of the previous definition cc1: all warnings being treated as errors To avoid this, undefine _FORTIFY_SOURCE before (possibly re-)defining it in tools/lib/api. v2 applies cleanly on top of already pulled kbuild changes for 4.1-rc1. Signed-off-by: Bobby Powers <bobbypowers@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Dirk Gouders <dirk@xxxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-kbuild@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1429658381-3039-1-git-send-email-bobbypowers@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6145c259cd454bcb7a1288f7bbb7b4fbc18175dd Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Apr 23 14:40:37 2015 +0100 perf kmem: Consistently use PRIu64 for printing u64 values Building the perf tool for 32-bit ARM results in the following build error due to a combination of an incorrect conversion specifier and compiling with -Werror: builtin-kmem.c: In function â??print_page_summaryâ??: builtin-kmem.c:644:9: error: format â??%luâ?? expects argument of type â??long unsigned intâ??, but argument 3 has type â??u64â?? [-Werror=format=] nr_alloc_freed, (total_alloc_freed_bytes) / 1024); ^ builtin-kmem.c:647:9: error: format â??%luâ?? expects argument of type â??long unsigned intâ??, but argument 3 has type â??u64â?? [-Werror=format=] (total_page_alloc_bytes - total_alloc_freed_bytes) / 1024); ^ cc1: all warnings being treated as errors This patch fixes the problem by consistently using PRIu64 for printing out u64 values. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1429796437-1790-1-git-send-email-will.deacon@xxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 02ac5421ddc634767c732f9b6a10a395a9ecfc4f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Apr 22 11:11:57 2015 -0300 perf trace: Disable events and drain events when forked workload ends We were not checking in the inner event processing loop if the forked workload had finished, which, on a busy system, may make it take a long time trying to drain events, entering a seemingly neverending loop, waiting for the system to get idle enough to make it drain the buffers. Fix it by disabling the events when 'done' is true, in the inner loop, to start draining what is in the buffers. Now: [root@ssdandy ~]# time trace --filter-pids 14003 -a sleep 1 | tail 996.748 ( 0.002 ms): sh/30296 rt_sigprocmask(how: SETMASK, nset: 0x7ffc83418160, sigsetsize: 8) = 0 996.751 ( 0.002 ms): sh/30296 rt_sigprocmask(how: BLOCK, nset: 0x7ffc834181f0, oset: 0x7ffc83418270, sigsetsize: 8) = 0 996.755 ( 0.002 ms): sh/30296 rt_sigaction(sig: INT, act: 0x7ffc83417f50, oact: 0x7ffc83417ff0, sigsetsize: 8) = 0 1004.543 ( 0.362 ms): tail/30198 ... [continued]: read()) = 4096 1004.548 ( 7.791 ms): sh/30296 wait4(upid: -1, stat_addr: 0x7ffc834181a0) ... 1004.975 ( 0.427 ms): tail/30198 read(buf: 0x7633f0, count: 8192) = 4096 1005.390 ( 0.410 ms): tail/30198 read(buf: 0x765410, count: 8192) = 4096 1005.743 ( 0.348 ms): tail/30198 read(buf: 0x7633f0, count: 8192) = 4096 1006.197 ( 0.449 ms): tail/30198 read(buf: 0x765410, count: 8192) = 4096 1006.492 ( 0.290 ms): tail/30198 read(buf: 0x7633f0, count: 8192) = 4096 real 0m1.219s user 0m0.704s sys 0m0.331s [root@ssdandy ~]# Reported-by: Michael Petlan <mpetlan@xxxxxxxxxx> Suggested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-p6kpn1b26qcbe47pufpw0tex@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb24d01d217497fb32467de22d773655f47d3896 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Apr 22 10:04:23 2015 -0300 perf trace: Enable events when doing system wide tracing and starting a workload commit f7aa222ff397 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 13:25:39 2015 -0300 perf trace: No need to enable evsels for workload started from perf The assumption was that whenever a workload is specified, the attr.enable_on_exec evsel flag would be set, but that is not happening when perf_record_opts.system_wide is set, for instance That resulted in both perf_evlist__enable() and attr.enable_on_exec being not called/set, which made the events to remain disabled while the workload runs, producing no output. Fix it, by calling perf_evlist__enable() in the 'trace' tool when forking and not targetting a workload started from trace v2: Test against !target__none(), as suggested by Namhyung Kim, that is what is used in perf_evsel__config() when deciding if the attr.enable_on_exec flag to be set. More work is needed to cover other cases such as opts->initial_delay. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-27z7169pvfxgj8upic636syv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f139b6c676c7e49b66016b28bf3f8ec5c54be891 Merge: 21330b6 d654788 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Apr 23 15:16:37 2015 -0400 Merge tag 'nfs-rdma-for-4.1-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma NFS: NFSoRDMA Client Changes This patch series creates an operation vector for each of the different memory registration modes. This should make it easier to one day increase credit limit, rsize, and wsize. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 21330b667070fd64b2340d8d31c1b0800df78ec8 Merge: c775707 5fcdfac Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Apr 23 15:16:27 2015 -0400 Merge branch 'bugfixes' * bugfixes: NFSv4: Return delegations synchronously in evict_inode SUNRPC: Fix a regression when reconnecting NFS: remount with security change should return EINVAL nfs: do not export discarded symbols NFSv4.1: don't export static symbol commit c7757074839f2cd440521482d76ea180d0d4bdac Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Apr 23 17:17:40 2015 +0100 fs/nfs: fix new compiler warning about boolean in switch The brand new GCC 5.1.0 warns by default on using a boolean in the switch condition. This results in the following warning: fs/nfs/nfs4proc.c: In function 'nfs4_proc_get_rootfh': fs/nfs/nfs4proc.c:3100:10: warning: switch condition has boolean value [-Wswitch-bool] switch (auth_probe) { ^ This code was obviously using switch to make use of the fall-through semantics (without the usual comment, though). Rewrite that code using if statements to avoid the warning and make the code a bit more readable on the way. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c456aacf3c27b9a3013d4524fdc4bd0bb61fb884 Author: Firo Yang <firogm@xxxxxxxxx> Date: Thu Apr 23 17:17:51 2015 +0800 nfs: Remove unneeded casts in nfs Don't unnecessarily cast allocation return value in fs/nfs/inode.c::nfs_alloc_inode(). Signed-off-by: Firo Yang <firogm@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit ce85cfbed6fe3dbc01bd1976b23ac3e97878cde6 Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Tue Apr 21 14:17:35 2015 -0400 NFS: Don't attempt to decode missing directory entries If a READDIR reply comes back without any page data, avoid a NULL pointer dereference in xdr_copy_to_scratch(). BUG: unable to handle kernel NULL pointer dereference at 0000000000000001 IP: [<ffffffff813a378d>] memcpy+0xd/0x110 ... Call Trace: ? xdr_inline_decode+0x7a/0xb0 [sunrpc] nfs3_decode_dirent+0x73/0x320 [nfsv3] nfs_readdir_page_filler+0xd5/0x4e0 [nfs] ? nfs3_rpc_wrapper.constprop.9+0x42/0xc0 [nfsv3] nfs_readdir_xdr_to_array+0x1fa/0x330 [nfs] ? mem_cgroup_commit_charge+0xac/0x160 ? nfs_readdir_xdr_to_array+0x330/0x330 [nfs] nfs_readdir_filler+0x22/0x90 [nfs] do_read_cache_page+0x7e/0x1a0 read_cache_page+0x1c/0x20 nfs_readdir+0x18e/0x660 [nfs] ? nfs3_xdr_dec_getattr3res+0x80/0x80 [nfsv3] iterate_dir+0x97/0x130 SyS_getdents+0x94/0x120 ? fillonedir+0xd0/0xd0 system_call_fastpath+0x12/0x17 Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3708f842e107b9b79d54a75d152e666b693649e8 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Thu Apr 16 18:48:39 2015 +0800 Revert "nfs: replace nfs_add_stats with nfs_inc_stats when add one" This reverts commit 5a254d08b086d80cbead2ebcee6d2a4b3a15587a. Since commit 5a254d08b086 ("nfs: replace nfs_add_stats with nfs_inc_stats when add one"), nfs_readpage and nfs_do_writepage use nfs_inc_stats to increment NFSIOS_READPAGES and NFSIOS_WRITEPAGES instead of nfs_add_stats. However nfs_inc_stats does not do the same thing as nfs_add_stats with value 1 because these functions work on distinct stats: nfs_inc_stats increments stats from "enum nfs_stat_eventcounters" (in server->io_stats->events) and nfs_add_stats those from "enum nfs_stat_bytecounters" (in server->io_stats->bytes). Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Fixes: 5a254d08b086 ("nfs: replace nfs_add_stats with nfs_inc_stats...") Cc: stable@xxxxxxxxxxxxxxx # 3.19+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7b320382d0d861e46f55087b50d252410b1f402f Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Apr 15 13:00:06 2015 -0400 NFS: Rename idmap.c to nfs4idmap.c I added the nfs4 prefix to make it obvious that this file is built into the NFS v4 module, and not the generic client. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 40c64c26a43494ba9982fd1b87dc54e3819566fc Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Apr 15 13:00:05 2015 -0400 NFS: Move nfs_idmap.h into fs/nfs/ This file is only used internally to the NFS v4 module, so it doesn't need to be in the global include path. I also renamed it from nfs_idmap.h to nfs4idmap.h to emphasize that it's an NFSv4-only include file. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f9ebd61855253078fe8b07bacaf516337f8078e8 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Apr 15 13:00:04 2015 -0400 NFS: Remove CONFIG_NFS_V4 checks from nfs_idmap.h The idmapper is completely internal to the NFS v4 module, so this macro will always evaluate to true. This patch also removes unnecessary includes of this file from the generic NFS client. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7c61f0d3897eeeff6f3294adb9f910ddefa8035a Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Tue Apr 14 10:34:20 2015 -0400 NFS: Add a stub for GETDEVICELIST d4b18c3e (pnfs: remove GETDEVICELIST implementation) removed the GETDEVICELIST operation from the NFS client, but left a "hole" in the nfs4_procedures array. This caused /proc/self/mountstats to report an operation named "51" where GETDEVICELIST used to be. This patch adds a stub to fix mountstats. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Fixes: d4b18c3e (pnfs: remove GETDEVICELIST implementation) Cc: stable@xxxxxxxxxxxxxxx # 3.17+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 05f54903d9d370a4cd302a85681304d3ec59e5c1 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Thu Apr 9 23:02:17 2015 +0800 nfs: remove WARN_ON_ONCE from nfs_direct_good_bytes For flexfiles driver, we might choose to read from mirror index other than 0 while mirror_count is always 1 for read. Reported-by: Jean Spector <jean@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+ Cc: Weston Andros Adamson <dros@xxxxxxxxxxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 1ccbad9f9f9bd36db26a10f0b17fbaf12b3ae93a Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Thu Apr 9 23:02:16 2015 +0800 nfs: fix DIO good bytes calculation For direct read that has IO size larger than rsize, we'll split it into several READ requests and nfs_direct_good_bytes() would count completed bytes incorrectly by eating last zero count reply. Fix it by handling mirror and non-mirror cases differently such that we only count mirrored writes differently. This fixes 5fadeb47("nfs: count DIO good bytes correctly with mirroring"). Reported-by: Jean Spector <jean@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+ Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit ea96d1ecbe4fcb1df487d99309d3157b4ff5fc02 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Fri Apr 3 14:35:59 2015 -0400 nfs: Fetch MOUNTED_ON_FILEID when updating an inode 2ef47eb1 (NFS: Fix use of nfs_attr_use_mounted_on_fileid()) was a good start to fixing a circular directory structure warning for NFS v4 "junctioned" mountpoints. Unfortunately, further testing continued to generate this error. My server is configured like this: anna@nfsd ~ % df Filesystem Size Used Avail Use% Mounted on /dev/vda1 9.1G 2.0G 6.5G 24% / /dev/vdc1 1014M 33M 982M 4% /exports /dev/vdc2 1014M 33M 982M 4% /exports/vol1 /dev/vdc3 1014M 33M 982M 4% /exports/vol1/vol2 anna@nfsd ~ % cat /etc/exports /exports/ *(rw,async,no_subtree_check,no_root_squash) /exports/vol1/ *(rw,async,no_subtree_check,no_root_squash) /exports/vol1/vol2 *(rw,async,no_subtree_check,no_root_squash) I've been running chown across the entire mountpoint twice in a row to hit this problem. The first run succeeds, but the second one fails with the circular directory warning along with: anna@client ~ % dmesg [Apr 3 14:28] NFS: server 192.168.100.204 error: fileid changed fsid 0:39: expected fileid 0x100080, got 0x80 WHere 0x80 is the mountpoint's fileid and 0x100080 is the mounted-on fileid. This patch fixes the issue by requesting an updated mounted-on fileid from the server during nfs_update_inode(), and then checking that the fileid stored in the nfs_inode matches either the fileid or mounted-on fileid returned by the server. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3f9400981691f6845e5c22b962500742b80a5484 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Tue Mar 31 12:03:28 2015 -0400 sunrpc: make debugfs file creation failure non-fatal v2: gracefully handle the case where some dentry pointers end up NULL and be more dilligent about zeroing out dentry pointers We currently have a problem that SELinux policy is being enforced when creating debugfs files. If a debugfs file is created as a side effect of doing some syscall, then that creation can fail if the SELinux policy for that process prevents it. This seems wrong. We don't do that for files under /proc, for instance, so Bruce has proposed a patch to fix that. While discussing that patch however, Greg K.H. stated: "No kernel code should care / fail if a debugfs function fails, so please fix up the sunrpc code first." This patch converts all of the sunrpc debugfs setup code to be void return functins, and the callers to not look for errors from those functions. This should allow rpc_clnt and rpc_xprt creation to work, even if the kernel fails to create debugfs files for some reason. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: "J. Bruce Fields" <bfields@xxxxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5d05e54af3cdbb13cf19c557ff2184781b91a22c Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Mar 20 15:15:14 2015 -0400 nfs: fix high load average due to callback thread sleeping Chuck pointed out a problem that crept in with commit 6ffa30d3f734 (nfs: don't call blocking operations while !TASK_RUNNING). Linux counts tasks in uninterruptible sleep against the load average, so this caused the system's load average to be pinned at at least 1 when there was a NFSv4.1+ mount active. Not a huge problem, but it's probably worth fixing before we get too many complaints about it. This patch converts the code back to use TASK_INTERRUPTIBLE sleep, simply has it flush any signals on each loop iteration. In practice no one should really be signalling this thread at all, so I think this is reasonably safe. With this change, there's also no need to game the hung task watchdog so we can also convert the schedule_timeout call back to a normal schedule. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Tested-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Fixes: commit 6ffa30d3f734 (â??nfs: don't call blocking . . .â??) Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f830f7ddd9165c8bd69127458627f03df4b1a406 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Mar 16 14:06:24 2015 -0400 NFS: Reduce time spent holding the i_mutex during fallocate() At the very least, we should not be taking the i_mutex until after checking if the server even supports ALLOCATE or DEALLOCATE, allowing v4.0 or v4.1 to exit without potentially waiting on a lock. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9a51940bf65bf9fdc93027d70bdecdfc403c5b24 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Mar 16 14:06:23 2015 -0400 NFS: Don't zap caches on fallocate() This patch adds a GETATTR to the end of ALLOCATE and DEALLOCATE operations so we can set the updated inode size and change attribute directly. DEALLOCATE will still need to release pagecache pages, so nfs42_proc_deallocate() now calls truncate_pagecache_range() before contacting the server. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e4b6c30375e83b92d9c3e9b9d853417e8cc74006 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Tue Apr 21 13:09:45 2015 -0700 ethernet: myri10ge: use arch_phys_wc_add() This driver already uses ioremap_wc() on the same range so when write-combining is available that will be used instead. Cc: Hyong-Youb Kim <hykim@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2fb42aab48762fb1d5e21fbb40acad0f2650b9b4 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Apr 23 20:04:51 2015 +0200 can: CAN_GRCAN should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `grcan_free_dma_buffers': grcan.c:(.text+0x2d7716): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `grcan_allocate_dma_buffers': grcan.c:(.text+0x2d779c): undefined reference to `dma_alloc_coherent' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0357cc1def050c4d6107835ed6b79122243bd240 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Apr 23 19:59:34 2015 +0200 ethernet: arc: ARC_EMAC and EMAC_ROCKCHIP should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `arc_emac_tx_clean': emac_main.c:(.text+0x2decde): undefined reference to `dma_unmap_single' drivers/built-in.o: In function `arc_emac_rx': emac_main.c:(.text+0x2dee1c): undefined reference to `dma_unmap_single' emac_main.c:(.text+0x2dee72): undefined reference to `dma_map_single' emac_main.c:(.text+0x2dee7e): undefined reference to `dma_mapping_error' drivers/built-in.o: In function `arc_emac_probe': (.text+0x2df2ee): undefined reference to `dmam_alloc_coherent' drivers/built-in.o: In function `arc_emac_open': emac_main.c:(.text+0x2df6d8): undefined reference to `dma_map_single' emac_main.c:(.text+0x2df6e4): undefined reference to `dma_mapping_error' drivers/built-in.o: In function `arc_emac_tx': emac_main.c:(.text+0x2df9e4): undefined reference to `dma_map_single' emac_main.c:(.text+0x2df9f0): undefined reference to `dma_mapping_error' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61e77d297dd1fc739828027a2790ee5365de50d2 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Apr 23 19:59:33 2015 +0200 ethernet: amd: AMD_XGBE should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `xgbe_probe': xgbe-main.c:(.text+0x2def0a): undefined reference to `dma_set_mask' xgbe-main.c:(.text+0x2def20): undefined reference to `dma_supported' drivers/built-in.o: In function `xgbe_rx_poll': xgbe-drv.c:(.text+0x2e0320): undefined reference to `dma_sync_single_for_cpu' xgbe-drv.c:(.text+0x2e035e): undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `xgbe_unmap_rdata': xgbe-desc.c:(.text+0x2e5fe4): undefined reference to `dma_unmap_page' xgbe-desc.c:(.text+0x2e5ffa): undefined reference to `dma_unmap_single' xgbe-desc.c:(.text+0x2e604a): undefined reference to `dma_unmap_page' xgbe-desc.c:(.text+0x2e6084): undefined reference to `dma_unmap_page' drivers/built-in.o: In function `xgbe_alloc_pages': xgbe-desc.c:(.text+0x2e6156): undefined reference to `dma_map_page' xgbe-desc.c:(.text+0x2e6164): undefined reference to `dma_mapping_error' drivers/built-in.o: In function `xgbe_free_ring': xgbe-desc.c:(.text+0x2e63d4): undefined reference to `dma_unmap_page' xgbe-desc.c:(.text+0x2e640e): undefined reference to `dma_unmap_page' xgbe-desc.c:(.text+0x2e644a): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `xgbe_init_ring': xgbe-desc.c:(.text+0x2e64d4): undefined reference to `dma_alloc_coherent' drivers/built-in.o: In function `xgbe_map_tx_skb': xgbe-desc.c:(.text+0x2e6628): undefined reference to `dma_map_single' xgbe-desc.c:(.text+0x2e6638): undefined reference to `dma_mapping_error' xgbe-desc.c:(.text+0x2e66b2): undefined reference to `dma_map_single' xgbe-desc.c:(.text+0x2e66c2): undefined reference to `dma_mapping_error' xgbe-desc.c:(.text+0x2e6762): undefined reference to `dma_map_page' xgbe-desc.c:(.text+0x2e6772): undefined reference to `dma_mapping_error' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fcdd5f09c03bfc95f196dfa781ff447c5cbcc319 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Thu Apr 23 13:42:02 2015 +0200 i2c: st: add include for pinctrl The driver uses pinctrl directly and thus should include the appropriate header. Sort the headers while we are here to have a better view what is included and what is not. Reported-by: Pascal Huerst <pascal.huerst@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 133778482ec6c8fde69406be380333963627c17a Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 23 10:29:09 2015 +0200 i2c: mux: use proper dev when removing "channel-X" symlinks Those symlinks are created for the mux_dev, so we need to remove it from there. Currently, it breaks for muxes where the mux_dev is not the device of the parent adapter like this: [ 78.234644] WARNING: CPU: 0 PID: 365 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x5c/0x78() [ 78.242438] sysfs: cannot create duplicate filename '/devices/platform/i2cbus@8/channel-0' Remove confusing comments while we are here. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Fixes: c9449affad2ae0 Cc: stable@xxxxxxxxxx commit 4c8979b226d773a02586ca75e88b6fb4b2d63a7b Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Apr 22 10:16:11 2015 +0200 i2c: digicolor: remove duplicate include And sort them to prevent this from happening again. Reported-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6ada5c1e1b077ab98fc144d7ac132b4dcc0148ec Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 13:05:19 2015 +0100 i2c: Mark adapter devices with pm_runtime_no_callbacks Commit 523c5b89640e ("i2c: Remove support for legacy PM") removed the PM ops from the bus type, which causes the pm operations on the s3c2410 adapter device to fail (-ENOSUPP in rpm_callback). The adapter device doesn't get bound to a driver and as such can't have its own pm_runtime callbacks. Previously this was fine as the bus callbacks would have been used, but now this can cause devices which use PM runtime and are attached over I2C to fail to resume. This commit fixes this issue by marking all adapter devices with pm_runtime_no_callbacks, since they can't have any. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Beata Michalska <b.michalska@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Fixes: 523c5b89640e Cc: stable@xxxxxxxxxx commit 9ef8a0bee93606afb1dd111ccc1d467f261099cc Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 15:51:40 2015 +0200 i2c: pca-platform: fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> commit 4daf5a2839b38cbb2d234d35bff993609d12ba61 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 15:51:39 2015 +0200 i2c: mxs: fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> commit c6cbfb91b878224e78408a2e15901c79de77115a Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Apr 20 15:14:47 2015 -0700 i2c: rk3x: report number of messages transmitted master_xfer() method should return number of i2c messages transferred, but on Rockchip we were usually returning just 1, which caused trouble with users that actually check number of transferred messages vs. checking for negative error codes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit d1ab39f17f8653021620d0355ee1cd24d7442a4f Author: Jason Eastman <eastman.jason.linux@xxxxxxxxx> Date: Wed Apr 22 00:56:42 2015 -0600 net: unix: garbage: fixed several comment and whitespace style issues fixed several comment and whitespace style issues Signed-off-by: Jason Eastman <eastman.jason.linux@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8406a4d56ea94d1d91f62cab3bed15399bac73cb Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Apr 23 10:47:44 2015 -0600 elevator: fix double release of elevator module Our issue is descripted in below call path: ->elevator_init ->elevator_init_fn ->{cfq,deadline,noop}_init_queue ->elevator_alloc ->kzalloc_node fail to call kzalloc_node and then put module in elevator_alloc; fail to call elevator_init_fn and then put module again in elevator_init. Remove elevator_put invoking in error path of elevator_alloc to avoid double release issue. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 464d1387acb94dc43ba772b35242345e3d2ead1b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Apr 21 16:49:13 2015 -0400 writeback: use |1 instead of +1 to protect against div by zero mm/page-writeback.c has several places where 1 is added to the divisor to prevent division by zero exceptions; however, if the original divisor is equivalent to -1, adding 1 leads to division by zero. There are three places where +1 is used for this purpose - one in pos_ratio_polynom() and two in bdi_position_ratio(). The second one in bdi_position_ratio() actually triggered div-by-zero oops on a machine running a 3.10 kernel. The divisor is x_intercept - bdi_setpoint + 1 == span + 1 span is confirmed to be (u32)-1. It isn't clear how it ended up that but it could be from write bandwidth calculation underflow fixed by c72efb658f7c ("writeback: fix possible underflow in write bandwidth calculation"). At any rate, +1 isn't a proper protection against div-by-zero. This patch converts all +1 protections to |1. Note that bdi_update_dirty_ratelimit() was already using |1 before this patch. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2a34c0872adf252f23a6fef2d051a169ac796cef Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Apr 21 10:00:20 2015 +0800 blk-mq: fix CPU hotplug handling hctx->tags has to be set as NULL in case that it is to be unmapped no matter if set->tags[hctx->queue_num] is NULL or not in blk_mq_map_swqueue() because shared tags can be freed already from another request queue. The same situation has to be considered during handling CPU online too. Unmapped hw queue can be remapped after CPU topo is changed, so we need to allocate tags for the hw queue in blk_mq_map_swqueue(). Then tags allocation for hw queue can be removed in hctx cpu online notifier, and it is reasonable to do that after mapping is updated. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx> Tested-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f054b56c951bf1731ba7314a4c7f1cc0b2977cc9 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Apr 21 10:00:19 2015 +0800 blk-mq: fix race between timeout and CPU hotplug Firstly during CPU hotplug, even queue is freezed, timeout handler still may come and access hctx->tags, which may cause use after free, so this patch deactivates timeout handler inside CPU hotplug notifier. Secondly, tags can be shared by more than one queues, so we have to check if the hctx has been unmapped, otherwise still use-after-free on tags can be triggered. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx> Tested-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 9283b42e46c2646dff1bec47e2dd683add7f9972 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Thu Apr 23 10:24:45 2015 -0600 NVMe: Fix VPD B0 max sectors translation Use the namespace's block format for reporting the max transfer length. Max unmap count is left as-is since NVMe doesn't provide a max, so the value the driver provided the block layer is valid for any format. Reported-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 37a06a87f20d93c2cec3db9aaf0360a322b703dd Merge: 4fce148 73a3173 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 23 11:50:34 2015 -0400 Merge branch 'tipc-fixes' Jon Maloy says: ==================== tipc: three bug fixes A set of unrelated corrections; one for the tipc netns implementation, one regarding problems with random link resets, and one removing a an erroneous refcount decrement when reading link statistsics via netlink. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73a317377303b5ec14d4703d73ba87efffbb779d Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Apr 23 09:37:40 2015 -0400 tipc: fix node refcount issue When link statistics is dumped over netlink, we iterate over the list of peer nodes and append each links statistics to the netlink msg. In the case where the dump is resumed after filling up a nlmsg, the node refcnt is decremented without having been incremented previously which may cause the node reference to be freed. When this happens, the following info/stacktrace will be generated, followed by a crash or undefined behavior. We fix this by removing the erroneous call to tipc_node_put inside the loop that iterates over nodes. [ 384.312303] INFO: trying to register non-static key. [ 384.313110] the code is fine but needs lockdep annotation. [ 384.313290] turning off the locking correctness validator. [ 384.313290] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.0.0+ #13 [ 384.313290] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 384.313290] ffff88003c6d0290 ffff88003cc03ca8 ffffffff8170adf1 0000000000000007 [ 384.313290] ffffffff82728730 ffff88003cc03d38 ffffffff810a6a6d 00000000001d7200 [ 384.313290] ffff88003c6d0ab0 ffff88003cc03ce8 0000000000000285 0000000000000001 [ 384.313290] Call Trace: [ 384.313290] <IRQ> [<ffffffff8170adf1>] dump_stack+0x4c/0x65 [ 384.313290] [<ffffffff810a6a6d>] __lock_acquire+0xf3d/0xf50 [ 384.313290] [<ffffffff810a7375>] lock_acquire+0xd5/0x290 [ 384.313290] [<ffffffffa0043e8c>] ? link_timeout+0x1c/0x170 [tipc] [ 384.313290] [<ffffffffa0043e70>] ? link_state_event+0x4e0/0x4e0 [tipc] [ 384.313290] [<ffffffff81712890>] _raw_spin_lock_bh+0x40/0x80 [ 384.313290] [<ffffffffa0043e8c>] ? link_timeout+0x1c/0x170 [tipc] [ 384.313290] [<ffffffffa0043e8c>] link_timeout+0x1c/0x170 [tipc] [ 384.313290] [<ffffffff810c4698>] call_timer_fn+0xb8/0x490 [ 384.313290] [<ffffffff810c45e0>] ? process_timeout+0x10/0x10 [ 384.313290] [<ffffffff810c5a2c>] run_timer_softirq+0x21c/0x420 [ 384.313290] [<ffffffffa0043e70>] ? link_state_event+0x4e0/0x4e0 [tipc] [ 384.313290] [<ffffffff8105a954>] __do_softirq+0xf4/0x630 [ 384.313290] [<ffffffff8105afdd>] irq_exit+0x5d/0x60 [ 384.313290] [<ffffffff8103ade1>] smp_apic_timer_interrupt+0x41/0x50 [ 384.313290] [<ffffffff817144a0>] apic_timer_interrupt+0x70/0x80 [ 384.313290] <EOI> [<ffffffff8100db10>] ? default_idle+0x20/0x210 [ 384.313290] [<ffffffff8100db0e>] ? default_idle+0x1e/0x210 [ 384.313290] [<ffffffff8100e61a>] arch_cpu_idle+0xa/0x10 [ 384.313290] [<ffffffff81099803>] cpu_startup_entry+0x2c3/0x530 [ 384.313290] [<ffffffff810d2893>] ? clockevents_register_device+0x113/0x200 [ 384.313290] [<ffffffff81038b0f>] start_secondary+0x13f/0x170 Fixes: 8a0f6ebe8494 ("tipc: involve reference counter for node structure") Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9871b27f6705fc6e0ba633b136369a289b2bfb99 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Apr 23 09:37:39 2015 -0400 tipc: fix random link reset problem In the function tipc_sk_rcv(), the stack variable 'err' is only initialized to TIPC_ERR_NO_PORT for the first iteration over the link input queue. If a chain of messages are received from a link, failure to lookup the socket for any but the first message will cause the message to bounce back out on a random link. We fix this by properly initializing err. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit def81f69bfbd70a3278a7592a4ab8717300cbac1 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Thu Apr 23 09:37:38 2015 -0400 tipc: fix topology server broken issue When a new topology server is launched in a new namespace, its listening socket is inserted into the "init ns" namespace's socket hash table rather than the one owned by the new namespace. Although the socket's namespace is forcedly changed to the new namespace later, the socket is still stored in the socket hash table of "init ns" namespace. When a client created in the new namespace connects its own topology server, the connection is failed as its server's socket could not be found from its own namespace's socket table. If __sock_create() instead of original sock_create_kern() is used to create the server's socket through specifying an expected namesapce, the socket will be inserted into the specified namespace's socket table, thereby avoiding to the topology server broken issue. Fixes: 76100a8a64bc ("tipc: fix netns refcnt leak") Reported-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4fce14820c1b0a3fd399719f970e0c3ae40dd270 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 23 14:43:05 2015 +1000 ibmveth: Fix off-by-one error in ibmveth_change_mtu() AFAIK the PAPR document which defines the virtual device interface used by the ibmveth driver doesn't specify a specific maximum MTU. So, in the ibmveth driver, the maximum allowed MTU is determined by the maximum allocated buffer size of 64k (corresponding to one page in the common case) minus the per-buffer overhead IBMVETH_BUFF_OH (which has value 22 for 14 bytes of ethernet header, plus 8 bytes for an opaque handle). This suggests a maximum allowable MTU of 65514 bytes, but in fact the driver only permits a maximum MTU of 65513. This is because there is a < instead of an <= in ibmveth_change_mtu(), which only permits an MTU which is strictly smaller than the buffer size, rather than allowing the buffer to be completely filled. This patch fixes the buglet. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec65aafb9e3f316ff9167289e288856a7d528773 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Apr 23 12:06:30 2015 +0200 netdev_alloc_pcpu_stats: use less common iterator variable With the CPU iteration variable called 'i', it's relatively easy to have variable shadowing which sparse will warn about. Avoid that by renaming the variable to __cpu which is less likely to be used in the surrounding context. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9061ef5d4da934cfc6e052a1e486077d29f267d Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 1 18:54:26 2015 +0100 arch: blackfin: kernel: kgdb: Remove unused function Remove the function kgdb_post_primary_code() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Acked-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit 57127645d79d2e83e801f141f7d03f64accf28aa Author: Harald Freudenberger <freude@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:52:52 2015 +0100 s390/zcrypt: Introduce new SHA-512 based Pseudo Random Generator. Rework of the prandom device with introduction of a new SHA-512 based NIST SP 800-90 conform deterministic random bit generator. Signed-off-by: Harald Freudenberger <freude@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a1c843b82541fdd4c4644607c942dabc7c7e6f6c Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 22 13:55:59 2015 +0200 s390/mm: change swap pte encoding and pgtable cleanup After the file ptes have been removed the bit combination used to encode non-linear mappings can be reused for the swap ptes. This frees up a precious pte software bit. Reflect the change in the swap encoding in the comments and do some cleanup while we are at it. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b7d14f3a92223c3f5e52e9f20c74cb96dc130e87 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 22 10:26:20 2015 +0200 s390/mm: correct transfer of dirty & young bits in __pmd_to_pte The dirty & young bit from the pmd is not copied correctly to the pseudo pte in __pmd_to_pte. In fact it is not copied at all, the bits get lost. As the old style huge page currently does not need the dirty & young information this has no effect, but may be needed in the future. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 77a87f0cb1a57237860754525d4e8cb2789e6e12 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Apr 21 16:50:08 2015 +0200 s390/bpf: add dependency to z196 features The new ebpf code uses e.g. the laal instruction which is part of the interlocked-access facility 1 which again was introduced with z196. So we must make sure the ebpf code generator depends on MARCH_Z196_FEATURES. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> commit 0a7c501e6759db49d9dffb10ed62142d705e3f90 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Mon Apr 20 10:26:52 2015 +0200 s390/3215: free memory in error path If one memory allocation fails, there is a memory leak. Signed-off-by: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0b46e0a3ec0d7a04af6a091354f1b5e1b952d70a Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 15 13:23:26 2015 +0200 s390/kvm: remove delayed reallocation of page tables for KVM Replacing a 2K page table with a 4K page table while a VMA is active for the affected memory region is fundamentally broken. Rip out the page table reallocation code and replace it with a simple system control 'vm.allocate_pgste'. If the system control is set the page tables for all processes are allocated as full 4K pages, even for processes that do not need it. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 7e01b5acd88b3f3108d8c4ce44e3205d67437202 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Apr 16 14:47:33 2015 +0200 kexec: allocate the kexec control page with KEXEC_CONTROL_MEMORY_GFP Introduce KEXEC_CONTROL_MEMORY_GFP to allow the architecture code to override the gfp flags of the allocation for the kexec control page. The loop in kimage_alloc_normal_control_pages allocates pages with GFP_KERNEL until a page is found that happens to have an address smaller than the KEXEC_CONTROL_MEMORY_LIMIT. On systems with a large memory size but a small KEXEC_CONTROL_MEMORY_LIMIT the loop will keep allocating memory until the oom killer steps in. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 60f4b626d5b5c5724b010200a8c2ff3169f6f4db Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Apr 23 14:02:30 2015 +0200 mac80211: fix rhashtable conversion My conversion of the mac80211 station hash table to rhashtable completely broke the lookup in sta_info_get() as it no longer took into account the virtual interface. Fix that. Fixes: 7bedd0cfad4e1 ("mac80211: use rhashtable for station table") Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 37557178a0388f52c05ead69e24587e67f2cc304 Author: Steven Miao <realmz6@xxxxxxxxx> Date: Fri Mar 6 17:52:33 2015 +0800 dma: fix build error after update to v3.19 Signed-off-by: Steven Miao <realmz6@xxxxxxxxx> commit 1a3372bc522ef8ba749c019c52d63168267fac0a Author: Steven Miao <realmz6@xxxxxxxxx> Date: Tue Jan 20 16:53:38 2015 +0800 blackfin: io: define __raw_readx/writex with bfin_readx/writex Signed-off-by: Steven Miao <realmz6@xxxxxxxxx> commit b3df664b85c7926619346cddad3aefab6554e0b1 Author: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Date: Thu Dec 11 17:47:37 2014 +0800 bf609: add resources for lcd nl8048 Signed-off-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Steven Miao <realmz6@xxxxxxxxx> commit ef7dcaf1e7bbf7adaaf45cac1c1d208929fb25e5 Author: Aaron Wu <Aaron.wu@xxxxxxxxxx> Date: Wed Oct 22 13:45:58 2014 +0800 pm: sometimes wake up from suspend to RAM would fail Sometimes it fails to wake up from suspend to RAM, this is because we would flush the data cache by assemble command FLUSHINV before suspend to RAM, and there is a delay between this command execution and cache flush completion. Add a 1uS delay to works around this. Signed-off-by: Aaron Wu <Aaron.wu@xxxxxxxxxx> commit bb717b33aa6b01abcc78c7a18dec343a3bde9574 Author: Andre Wolokita <Andre.Wolokita@xxxxxxxxxx> Date: Fri Sep 5 10:42:28 2014 +1000 debug-mmrs: Eliminate all traces of the USB_PHY_TEST MMR Interacting with the USB_PHY_TEST MMR through debugfs was causing wide-spread chaos in the realm (kernel panic). Expunge all references to this demonic register. Signed-off-by: Andre Wolokita <Andre.Wolokita@xxxxxxxxxx> commit f7fee0366c861c66c9abc8ab9a250bea2dd53c8d Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Thu Aug 21 15:49:27 2014 +0800 bf609: remove softswitch i2c configuration from adv7842 and adv7511 platform data Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit 199aad16d517d47cf13f96caf0eedc6a4542bc60 Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Wed Aug 20 18:32:22 2014 +0800 bf609: add platform data for soft switch devices on the video extenders Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit 707e6f0bc40b4db1fae616b8825c9e0f1231f873 Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Wed Aug 20 18:04:32 2014 +0800 bf609: enable soft switch gpio driver by default Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit ea9b706b8688ab155b092abc854bde0224332743 Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Wed Aug 20 17:04:55 2014 +0800 bf609: add gpio soft switch platform data for mcp23017 i2c devices Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit 374feb1f049b0a9eed62ac1b865c93b35aaef7c6 Author: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Date: Thu Jul 31 16:36:25 2014 +0800 bf609: use new SND_BF6XX_PCM to choose audio pcm driver There is a new bf6xx audio dma driver, so we don't reuse bf5xx i2s pcm driver again. Signed-off-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> commit a0f4207d03b40eee6338b51288849965ac2b94e2 Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Tue Jul 29 16:41:10 2014 +0800 bug[220] kgdb: change the smp cross core function entry Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> commit 4eb147c83f34e00184557923d2bf93f593deb41c Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 26 15:58:22 2014 +0200 arch: blackfin: kernel: setup.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: Steven Miao <realmz6@xxxxxxxxx> commit 2fcc440ca69a5d857523e5aed00c959c07085f3c Author: Steven Miao <realmz6@xxxxxxxxx> Date: Tue Jul 29 14:21:41 2014 +0800 blackfin: defconfigs: cleanup unused CONFIG_MTD_CHAR, add MTD_SPI_NOR for BF537-STAMP Signed-off-by: Steven Miao <realmz6@xxxxxxxxx> commit c264f1110d27185f8531602f5fce400a6bbce946 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Thu Mar 12 22:01:31 2015 +0530 pwm: Remove __init initializer for pwm_add_table() For platforms that don't support DT, some early MFD modules can register lookup tables. Remove the __init annotation so that this works. This is similar to gpio_add_lookup_table() which allows late additions. CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit d32b66668c702aed0e330dc5ca186afbadcdacf8 Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Thu Apr 23 15:10:53 2015 +0800 ALSA: hda/realtek - Fix Headphone Mic doesn't recording for ALC256 Switch default pcbeep path to Line in path. Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8faf141a9903477910387af062ece04ea7d730ed Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Apr 23 14:38:13 2015 +0530 ASoC: Intel: fix the makefile for atom code The tom code should be using SND_SST_MFLD_PLATFORM and not the baytrail one. So fix it now Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2e826695d87c2d213def07bc344ae97d88384f62 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 20:10:26 2015 +0530 powerpc/mm: Fix build error with CONFIG_PPC_TRANSACTIONAL_MEM disabled This fix the below build error arch/powerpc/mm/hash_utils_64.c: In function â??flush_hash_hugepageâ??: arch/powerpc/mm/hash_utils_64.c:1381:1: error: label at end of compound statement tm_abort: ^ make[1]: *** [arch/powerpc/mm/hash_utils_64.o] Error 1 Reported-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 04fca0e390e80d88c2f959aef86e0bb7f26fea01 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Apr 20 08:36:15 2015 -0700 frv: add io{read,write}{16,32}be functions These functions are used in various drivers, including the latest version of the 8250 driver. The latter causes the following build failure. drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_out': drivers/tty/serial/8250/8250_core.c:456:2: error: implicit declaration of function 'iowrite32be' drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_in': drivers/tty/serial/8250/8250_core.c:462:2: error: implicit declaration of function 'ioread32be' Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Fixes: c627f2ceb692 ("serial: 8250: Add support for big-endian MMIO accesses") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 601e3ad9def147f714c1b66fd397d138ba5dbd3b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Apr 20 08:37:42 2015 -0700 mn10300: add io{read,write}{16,32}be functions These functions are used in various drivers, including the latest version of the 8250 driver. The latter causes the following build failure. drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_out': drivers/tty/serial/8250/8250_core.c:456:2: error: implicit declaration of function 'iowrite32be' drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_in': drivers/tty/serial/8250/8250_core.c:462:2: error: implicit declaration of function 'ioread32be' Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Fixes: c627f2ceb692 ("serial: 8250: Add support for big-endian MMIO accesses") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f3b07b8611ede9584ef27288d9c35bc2fd7a8353 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 09:55:47 2015 -0500 Documentation: DT bindings: add doc for Altera's SoCFPGA platform Document "altr,socfpga-cyclone5", "altr,socfpga-arria5", and "altr,socfpga-arria10". Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 608404290e2d9d1756db4013c4ee12fa7617dad9 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Wed Apr 22 15:49:10 2015 +0800 vxlan: remove the unnecessary codes The return value of vxlan_fdb_replace always is greater than or equal to 0 Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21d3515ce7179523a2941cc015960dd788290e33 Author: Ben Shelton <ben.shelton@xxxxxx> Date: Wed Apr 22 17:28:54 2015 -0500 net/macb: Factor out one-time assignment from loop In 02c958dd3 (net/macb: add TX multiqueue support for gem), the initialization of tx_head and tx_tail in macb_init_rings() was moved inside the loop that iterates over each element in the ring. Since tx_head and tx_tail only need to be assigned once, move them back out of the loop. Signed-off-by: Ben Shelton <ben.shelton@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27cf3a16b2535a490f8cf1d29a6634f1c70f7831 Merge: a62d016 724e7bf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 14:49:23 2015 -0700 Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit Pull audit fixes from Paul Moore: "Seven audit patches for v4.1, all bug fixes. The largest, and perhaps most significant commit helps resolve some memory pressure issues related to the inode cache and audit, there are also a few small commits which help resolve some timing issues with the audit log queue, and the rest fall into the always popular "code clean-up" category. In general, nothing really substantial, just a nice set of maintenance patches" * 'upstream' of git://git.infradead.org/users/pcmoore/audit: audit: Remove condition which always evaluates to false audit: reduce mmap_sem hold for mm->exe_file audit: consolidate handling of mm->exe_file audit: code clean up audit: don't reset working wait time accidentally with auditd audit: don't lose set wait time on first successful call to audit_log_start() audit: move the tree pruning to a dedicated thread commit 79930f5892e134c6da1254389577fffb8bd72c66 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Apr 22 07:33:36 2015 -0700 net: do not deplete pfmemalloc reserve build_skb() should look at the page pfmemalloc status. If set, this means page allocator allocated this page in the expectation it would help to free other pages. Networking stack can do that only if skb->pfmemalloc is also set. Also, we must refrain using high order pages from the pfmemalloc reserve, so __page_frag_refill() must also use __GFP_NOMEMALLOC for them. Under memory pressure, using order-0 pages is probably the best strategy. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2d97723cb3a7741af81868427b36bba274b681b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 13:58:47 2015 +0100 ASoC: dapm: Enable autodisable on SOC_DAPM_SINGLE_TLV_AUTODISABLE Correct small copy and paste error where autodisable was not being enabled for the SOC_DAPM_SINGLE_TLV_AUTODISABLE control. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 575bec53181526ed01c0936ec008e1b70f8f5f31 Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Wed Apr 22 16:28:20 2015 +0200 spi: fsl-spi: use devm_ioremap_resource() to map parameter ram on CPM1 On CPM2, the SPI parameter RAM is dynamically allocated in the dualport RAM whereas in CPM1, it is statically allocated to a default address with capability to relocate it somewhere else via the use of CPM micropatch. The address of the parameter RAM is given by the boot loader and expected to be mapped via devm_ioremap_resource() In the current implementation, in function fsl_spi_cpm_get_pram() there is a confusion between the SPI_BASE register and the base of the SPI parameter RAM. Fortunatly, it is working properly with MPC866 and MPC885 because they do set SPI_BASE, but on MPC860 and other old MPC8xx that doesn't set SPI_BASE, pram_ofs is not properly set. Also, the parameter RAM is not properly mapped with devm_ioremap_resource() as it should but still gets accessible by chance through the full RAM which is mapped from somewhere else. This patch applies to the SPI driver the same principle as for the CPM UART: when the CPM is of type CPM1, we simply do an devm_ioremap_resource() of the area provided via the device tree. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26349c71b4323e62f8de0fe45f2f06c4df535b9b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Apr 22 16:56:16 2015 +0200 ip6_gre: use netdev_alloc_pcpu_stats() The code there just open-codes the same, so use the provided macro instead. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a62d016cece2fce1d5e4eedf36b17f03a7a5c78e Merge: 7c034df 3e550d2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 12:00:44 2015 -0700 Merge tag 'for-linus-20150422' of git://git.infradead.org/linux-mtd Pull MTD updates from Brian Norris: "Common MTD: - Add Kconfig option for keeping both the 'master' and 'partition' MTDs registered as devices. This would really make a better default if we could do it over, as it allows a lot more flexibility in (1) determining the flash topology of the system from user-space and (2) adding temporary partitions at runtime (ioctl(BLKPG)). Unfortunately, this would possibly cause user-space breakage, as it will cause renumbering of the /dev/mtdX devices. We'll see if we can change this in the future, as there have already been a few people looking for this feature, and I know others have just been working around our current limitations instead of fixing them this way. - Along with the previous change, add some additional information to sysfs, so user-space can read the offset of each partition within its master device SPI NOR: - add new device tree compatible binding to represent the mostly-compatible class of SPI NOR flash which can be detected by their extended JEDEC ID bytes, cutting down the duplication of our ID tables - misc. new IDs Various other miscellaneous fixes and changes" * tag 'for-linus-20150422' of git://git.infradead.org/linux-mtd: (53 commits) mtd: spi-nor: Add support for Macronix mx25u6435f serial flash mtd: spi-nor: Add support for Winbond w25q64dw serial flash mtd: spi-nor: add support for the Winbond W25X05 flash mtd: spi-nor: support en25s64 device mtd: m25p80: bind to "nor-jedec" ID, for auto-detection Documentation: devicetree: m25p80: add "nor-jedec" binding mtd: Make MTD tests cancelable mtd: mtd_oobtest: Fix bitflip_limit usage in test case 3 mtd: docg3: remove invalid __exit annotations mtd: fsl_ifc_nand: use msecs_to_jiffies for time conversion mtd: atmel_nand: don't map the ROM table if no pmecc table offset in DT mtd: atmel_nand: add a definition for the oob reserved bytes mtd: part: Remove partition overlap checks mtd: part: Add sysfs variable for offset of partition mtd: part: Create the master device node when partitioned mtd: ts5500_flash: Fix typo in MODULE_DESCRIPTION in ts5500_flash.c mtd: denali: Disable sub-page writes in Denali NAND driver mtd: pxa3xx_nand: cleanup wait_for_completion handling mtd: nand: gpmi: Check for scan_bbt() error mtd: nand: gpmi: fixup return type of wait_for_completion_timeout ... commit 7c034dfd58bbc056280262887acf5b7a98944d0a Merge: 1204c46 c1c2fef Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 11:50:05 2015 -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: - IPoIB fixes from Doug Ledford and Erez Shitrit - iSER updates from Sagi Grimberg - mlx4 GUID handling changes from Yishai Hadas - other misc fixes * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (51 commits) mlx5: wrong page mask if CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for 32Bit architectures IB/iser: Rewrite bounce buffer code path IB/iser: Bump version to 1.6 IB/iser: Remove code duplication for a single DMA entry IB/iser: Pass struct iser_mem_reg to iser_fast_reg_mr and iser_reg_sig_mr IB/iser: Modify struct iser_mem_reg members IB/iser: Make fastreg pool cache friendly IB/iser: Move PI context alloc/free to routines IB/iser: Move fastreg descriptor pool get/put to helper functions IB/iser: Merge build page-vec into register page-vec IB/iser: Get rid of struct iser_rdma_regd IB/iser: Remove redundant assignments in iser_reg_page_vec IB/iser: Move memory reg/dereg routines to iser_memory.c IB/iser: Don't pass ib_device to fall_to_bounce_buff routine IB/iser: Remove a redundant struct iser_data_buf IB/iser: Remove redundant cmd_data_len calculation IB/iser: Fix wrong calculation of protection buffer length IB/iser: Handle fastreg/local_inv completion errors IB/iser: Fix unload during ep_poll wrong dereference ib_srpt: convert printk's to pr_* functions ... commit 1204c464458e9837320a326a9fce550e3c5ef5de Merge: 4f21123 f77303b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 11:30:10 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph updates from Sage Weil: "This time around we have a collection of CephFS fixes from Zheng around MDS failure handling and snapshots, support for a new CRUSH straw2 algorithm (to sync up with userspace) and several RBD cleanups and fixes from Ilya, an error path leak fix from Taesoo, and then an assorted collection of cleanups from others" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (28 commits) rbd: rbd_wq comment is obsolete libceph: announce support for straw2 buckets crush: straw2 bucket type with an efficient 64-bit crush_ln() crush: ensuring at most num-rep osds are selected crush: drop unnecessary include from mapper.c ceph: fix uninline data function ceph: rename snapshot support ceph: fix null pointer dereference in send_mds_reconnect() ceph: hold on to exclusive caps on complete directories libceph: simplify our debugfs attr macro ceph: show non-default options only libceph: expose client options through debugfs libceph, ceph: split ceph_show_options() rbd: mark block queue as non-rotational libceph: don't overwrite specific con error msgs ceph: cleanup unsafe requests when reconnecting is denied ceph: don't zero i_wrbuffer_ref when reconnecting is denied ceph: don't mark dirty caps when there is no auth cap ceph: keep i_snap_realm while there are writers libceph: osdmap.h: Add missing format newlines ... commit 4f2112351b4ac964b0249bdd883f7b79601f39d8 Merge: 9b60afe 3193899 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 11:27:36 2015 -0700 Merge tag 'trace-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fixes from Steven Rostedt: "This adds three fixes for the tracing code. The first is a bug when ftrace_dump_on_oops is triggered in atomic context and function graph tracer is the tracer that is being reported. The second fix is bad parsing of the trace_events from the kernel command line, where it would ignore specific events if the system name is used with defining the event(it enables all events within the system). The last one is a fix to the TRACE_DEFINE_ENUM(), where a check was missing to see if the ptr was incremented to the end of the string, but the loop increments it again and can miss the nul delimiter to stop processing" * tag 'trace-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Fix possible out of bounds memory access when parsing enums tracing: Fix incorrect enabling of trace events by boot cmdline tracing: Handle ftrace_dump() atomic context in graph_trace_open() commit 9b60afee50425064fa0a69bea22f07b6ea55ebc1 Merge: 7dcca3e 9fbbda5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 11:26:00 2015 -0700 Merge tag 'pci-v4.1-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI fixes from Bjorn Helgaas: "These fix an ia64 regression caused by tighter resource checking we merged during the merge window and remove an invalid email address from MAINTAINERS. Resource management: - ia64: Treat all Address Space Descriptors as windows (Bjorn Helgaas) Miscellaneous: - MAINTAINERS: Remove Mohit Kumar (email bounces) (Bjorn Helgaas)" * tag 'pci-v4.1-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: ia64/PCI: Treat all host bridge Address Space Descriptors (even consumers) as windows MAINTAINERS: Remove Mohit Kumar (email bounces) commit 0e2d686530d5e6c3c50c2c4f9ef8d6428252c35c Merge: 909d9fa 5a9ab01 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 22 14:24:55 2015 -0400 Merge branch 'mpls' Robert Shearman says: ==================== mpls: ABI changes for security and correctness V2: - don't treat loopback interfaces specially by enabling mpls by default These changes make mpls not be enabled by default on all interfaces when in use for security, along with ensuring that a label not valid as an outgoing label can be added in mpls routes. This series contains three ABI/behaviour-affecting changes which have been split out from "[PATCH net-next v4 0/6] mpls: Behaviour-changing improvements" without any further modification. These changes need to be considered for 4.1 otherwise we'll be stuck with the current behaviour/ABI forever. ==================== Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a9ab0176198d91dfc153f5e6c5fdc5afa613607 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Wed Apr 22 11:14:39 2015 +0100 mpls: Prevent use of implicit NULL label as outgoing label The reserved implicit-NULL label isn't allowed to appear in the label stack for packets, so make it an error for the control plane to specify it as an outgoing label. Suggested-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37bde79979c3862c79294c62ddcef7efc477e4bf Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Wed Apr 22 11:14:38 2015 +0100 mpls: Per-device enabling of packet input An MPLS network is a single trust domain where the edges must be in control of what labels make their way into the core. The simplest way of ensuring this is for the edge device to always impose the labels, and not allow forward labeled traffic from untrusted neighbours. This is achieved by allowing a per-device configuration of whether MPLS traffic input from that interface should be processed or not. To be secure by default, the default state is changed to MPLS being disabled on all interfaces unless explicitly enabled and no global option is provided to change the default. Whilst this differs from other protocols (e.g. IPv6), network operators are used to explicitly enabling MPLS forwarding on interfaces, and with the number of links to the MPLS core typically fairly low this doesn't present too much of a burden on operators. Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03c57747a7020a28a200e7e920fb48ecdc9b0fb8 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Wed Apr 22 11:14:37 2015 +0100 mpls: Per-device MPLS state Add per-device MPLS state to supported interfaces. Use the presence of this state in mpls_route_add to determine that this is a supported interface. Use the presence of mpls_dev to drop packets that arrived on an unsupported interface - previously they were allowed through. Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 909d9faae2a447110aa061070145297fffe129cb Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Apr 22 12:47:32 2015 +0300 bnx2x: Prevent inner-reload while VFs exist On some feature changes, driver employes an inner-reload flow where it resets the function and re-configures it with the new required set of parameters. Such a flow proves fatal to any VF since those were not intended to be used while HW is being reset underneath, causing them [at best] to lose all connectivity. This changes driver behavior to fail all configuration changes [e.g., mtu change] requested of the driver in case VFs are active. 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 7dcca3e92a34bf8ffdc4c01a49182ce1cb6ff534 Merge: b9bb6fb cf82f52 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 11:22:55 2015 -0700 Merge git://www.linux-watchdog.org/linux-watchdog Pull watchdog updates from Wim Van Sebroeck: "This contains following changes: - Octeon: convert to watchdog-API and apply some fixes - Cadence wdt: remove dependency on ARCH - add DT bindings for qcom + msm - bcm281xx: Remove use of seq_printf return value - stmp3xxx_rtc_wdt + pnx4008_wdt: fix broken email addresses" * git://www.linux-watchdog.org/linux-watchdog: watchdog: stmp3xxx_rtc_wdt: fix broken email address watchdog: pnx4008_wdt: fix broken email address watchdog: octeon: use fixed length string for register names watchdog: octeon: fix some trivial coding style issues watchdog: octeon: convert to WATCHDOG_CORE API watchdog: cadence: Remove Kconfig dependency on ARCH ARM: msm: add watchdog entries to DT timer binding doc ARM: qcom: add description of KPSS WDT for IPQ8064 watchdog: qcom: use timer devicetree binding watchdog: bcm281xx: Remove use of seq_printf return value commit a2c3935aaa8fe99dbddb13ff244ecec7c324ec8b Merge: d83769a a87b9eb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 22 14:17:23 2015 -0400 Merge branch 'rhashtable-fixes' Thomas Graf says: ==================== rhashtable rehashing fixes Some rhashtable rehashing bugs found while testing with the next rhashtable self-test queued up for the next devel cycle: https://github.com/tgraf/net-next/commits/rht v2: - Moved schedule_work() call into rhashtable_insert_rehash() ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a87b9ebf1709687ff213091d0fdb4254b1564803 Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Apr 22 09:41:46 2015 +0200 rhashtable: Do not schedule more than one rehash if we can't grow further The current code currently only stops inserting rehashes into the chain when no resizes are currently scheduled. As long as resizes are scheduled and while inserting above the utilization watermark, more and more rehashes will be scheduled. This lead to a perfect DoS storm with thousands of rehashes scheduled which lead to thousands of spinlocks to be taken sequentially. Instead, only allow either a series of resizes or a single rehash. Drop any further rehashes and return -EBUSY. Fixes: ccd57b1bd324 ("rhashtable: Add immediate rehash during insertion") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2307ed6cbe71c74e291681aaa7e92ab98bc3177 Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Apr 22 09:41:45 2015 +0200 rhashtable: Schedule async resize when sync realloc fails When rhashtable_insert_rehash() fails with ENOMEM, this indicates that we can't allocate the necessary memory in the current context but the limits as set by the user would still allow to grow. Thus attempt an async resize in the background where we can allocate using GFP_KERNEL which is more likely to succeed. The insertion itself will still fail to indicate pressure. This fixes a bug where the table would never continue growing once the utilization is above 100%. Fixes: ccd57b1bd324 ("rhashtable: Add immediate rehash during insertion") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d83769a580f1132ac26439f50068a29b02be535e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 21 18:32:24 2015 -0700 tcp: fix possible deadlock in tcp_send_fin() Using sk_stream_alloc_skb() in tcp_send_fin() is dangerous in case a huge process is killed by OOM, and tcp_mem[2] is hit. To be able to free memory we need to make progress, so this patch allows FIN packets to not care about tcp_mem[2], if skb allocation succeeded. In a follow-up patch, we might abort tcp_send_fin() infinite loop in case TIF_MEMDIE is set on this thread, as memory allocator did its best getting extra memory already. This patch reverts d22e15371811 ("tcp: fix tcp fin memory accounting") Fixes: d22e15371811 ("tcp: fix tcp fin memory accounting") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9bb6fb73b3e112d241a5edd146740be9a0c3cc0 Merge: 15ce265 9abbfb4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 10:55:06 2015 -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: "Some virtio internal cleanups, a new virtio device "virtio input", and a change to allow the legacy virtio balloon. Most excitingly, some lguest work! No seriously, I got some cleanup patches" * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: virtio: drop virtio_device_is_legacy_only virtio_pci: support non-legacy balloon devices virtio_mmio: support non-legacy balloon devices virtio_ccw: support non-legacy balloon devices virtio: balloon might not be a legacy device virtio_balloon: transitional interface virtio_ring: Update weak barriers to use dma_wmb/rmb virtio_pci_modern: switch to type-safe io accessors virtio_pci_modern: type-safe io accessors lguest: handle traps on the "interrupt suppressed" iret instruction. virtio: drop a useless config read virtio_config: reorder functions Add virtio-input driver. lguest: suppress interrupts for single insn, not range. lguest: simplify lguest_iret lguest: rename i386_head.S in the comments lguest: explicitly set miscdevice's private_data NULL lguest: fix pending interrupt test. commit 3e550d2396d9deef77328237ed992e19dcfefca5 Merge: 81a1209 5e0899d Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Apr 22 10:29:19 2015 -0700 Merge MTD fixes from 4.0 into -next commit 15ce2658ddbd3db20dfba3622f3d224f01837fdc Merge: f3ca10d 4a3893d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:49:24 2015 -0700 Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module updates from Rusty Russell: "Quentin opened a can of worms by adding extable entry checking to modpost, but most architectures seem fixed now. Thanks to all involved. Last minute rebase because I noticed a "[PATCH]" had snuck into a commit message somehow" * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: modpost: don't emit section mismatch warnings for compiler optimizations modpost: expand pattern matching to support substring matches modpost: do not try to match the SHT_NUL section. modpost: fix extable entry size calculation. modpost: fix inverted logic in is_extable_fault_address(). modpost: handle -ffunction-sections modpost: Whitelist .text.fixup and .exception.text params: handle quotes properly for values not of form foo="bar". modpost: document the use of struct section_check. modpost: handle relocations mismatch in __ex_table. scripts: add check_extable.sh script. modpost: mismatch_handler: retrieve tosym information only when needed. modpost: factorize symbol pretty print in get_pretty_name(). modpost: add handler function pointer to sectioncheck. modpost: add .sched.text and .kprobes.text to the TEXT_SECTIONS list. modpost: add strict white-listing when referencing sections. module: do not print allocation-fail warning on bogus user buffer size kernel/module.c: fix typos in message about unused symbols commit f3ca10dde49043fbbb055854278b26954b549b36 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:44:36 2015 -0700 Revert "mm: avoid tail page refcounting on non-THP compound pages" This reverts commit 8d63d99a5dfbdb997d12dd3c07b2070ca723db3b. It causes in VM mapping refcount errors: page:ffffea0010a15040 count:0 mapcount:1 mapping: (null) index:0x0 flags: 0x8000000000008014(referenced|dirty|tail) page dumped because: VM_BUG_ON_PAGE(page_mapcount(page) != 0) ------------[ cut here ]------------ kernel BUG at mm/swap.c:134! as reported by Borislav Petkov Reported-and-tested-by: Borislav Petkov <bp@xxxxxxxxx> Cc: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: linux-mm@xxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5e6c94a999f67f120c6bbba71bbee840dfee6338 Merge: 3cfe213 96541ba Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:29:08 2015 -0700 Merge tag 'mmc-4.1-rc1' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC fixes from Ulf Hansson: "Here is two mmc core fixes for v.4.1 rc1: - fix error code propagation in mmc_pwrseq_simple_alloc() - revert 'mmc: core: Convert mmc_driver to device_driver'" * tag 'mmc-4.1-rc1' of git://git.linaro.org/people/ulf.hansson/mmc: Revert "mmc: core: Convert mmc_driver to device_driver" mmc: pwrseq: Fix error code propagation in mmc_pwrseq_simple_alloc() commit 3cfe213756a5c208ab51816d51641bf49f2e67fd Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Apr 22 12:17:46 2015 +0530 dmaengine: hsu: don't prompt for hsu_core part HSU_DMA is selected by the HSU_DMA_PCI driver, this should be user selected so remove the user prompt for this Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b3c8ba3d8c2680dab5363a80c024965cac08b1e Merge: d34dc4f 48c1078 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:24:55 2015 -0700 Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC late changes from Olof Johansson: "We were expecting to sit on this branch through most of the merge window since the contents was merged into our tree late, but we ended up sitting on all of our contents so it can go in with the rest. The contents here is: - a large branch of cleanups of the CM/PRM blocks on OMAP. - a couple of patches plumbing up CM/PRM on OMAP5 and DRA7. - a branch with DT updates for Freescale i.MX. including some shuffling from .dts to .dtsi (include) files that causes a little churn" * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (78 commits) ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON ARM: OMAP4+: control: add support for initializing control module via DT ARM: dts: dra7: add minimal l4 bus layout with control module support ARM: dts: omap5: add minimal l4 bus layout with control module support ARM: OMAP4+: control: remove support for legacy pad read/write ARM: OMAP4: display: convert display to use syscon for dsi muxing ARM: dts: omap4: add minimal l4 bus layout with control module support ARM: dts: am4372: add minimal l4 bus layout with control module support ARM: dts: am43xx-epos-evm: fix pinmux node layout ARM: dts: am33xx: add minimal l4 bus layout with control module support ARM: dts: omap3: add minimal l4 bus layout with control module support ARM: dts: omap24xx: add minimal l4 bus layout with control module support ARM: OMAP2+: control: add syscon support for register accesses ARM: OMAP2+: id: cache omap_type value ARM: OMAP2+: control: remove API for getting control module base address ARM: OMAP2+: clock: add low-level support for regmap ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags ARM: OMAP2+: CM: move SoC specific init calls within a generic API ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility ... commit d34dc4f9e88e4b6beefb819e4e743fd6160a9b75 Merge: 2144de8 bb1518f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:23:58 2015 -0700 Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC 64-bit changes from Olof Johansson: "Mostly DT updates for arm64, but also a couple of Kconfig additions. Main contents: - Qualcomm MSM8916/APQ8016 - Spreadtrum SC9836 - Xilinx ZynqMP - pincontrol entries for MediaTek MT8173" * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: arm64: dts: add interrupt-affinity property to pmu node for juno arm64: dts: Add Qualcomm APQ8016 SBC evaluation board dts arm64: dts: Add Qualcomm MSM8916 SoC and evaluation board dts arm64: dts: sprd: adding coresight entries to Spreadtrum SC9836 arm64: Add support for Spreadtrum's Sharkl64 Platform in Kconfig and defconfig arm64: dts: Add support for Spreadtrum SC9836 SoC in dts and Makefile ARM64: Add new Xilinx ZynqMP SoC arm64: qcom: Add support for Qualcomm MSM8916 SoC arm64: dts: mt8173: Add pinctrl/GPIO/EINT node for mt8173. arm64: mediatek: Select PINCTRL for Mediatek platform commit 2144de826e1eeac0c2e30a22029b3330d8bb813c Merge: e5ac320 b50c9c2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:21:30 2015 -0700 Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC defconfig updates from Olof Johansson: "We keep collecting defconfig updates in a separate branch mostly to encourage people to handle them separately and avoid conflicts between different topics. Most of these are enablement of new drivers that have come in, or minor config refreshes due to reorderings in Kconfig files, etc. I.e. mostly minor churn of various kinds. We might start folding this branch into something else for upstream merge since it's so small, but keep it independent in our own tree for the above reasons" * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (38 commits) ARM: multi_v7_defconfig: enable alpine platform ARM: multi_v7_defconfig: Add gpio-restart driver ARM: multi_v7_defconfig: Build the Marvell WiFi-Ex driver as a module ARM: multi_v7_defconfig: Enable support for ELAN i2c trackpads ARM: multi_v7_defconfig: Enable Tegra ACTMON support ARM: configs: remove all CONFIG_RCAR_AUDMAC_PP from ARM defconfigs ARM: configs: enable Marvell Armada 39x in multi_v7_defconfig ARM: exynos_defconfig: Enable HDMI support ARM: exynos_defconfig: Enable options to mount a rootfs via NFS ARM: qcom: Increase MMC_BLOCK_MINORS in defconfig ARM: mvebu: Enable perf support in mvebu_v7_defconfig ARM: exynos_defconfig: Enable ChromeOS EC chardev driver ARM: exynos_defconfig: Enable CPU idle ARM: exynos_defconfig: Enable Marvell WiFi-Ex support arm: qcom: Update defconfig arm: qcom: Enable lpass clock driver in defconfig ARM: omap2plus_defconfig: Enable n900 modem as loadable modules ARM: omap2plus_defconfig: Update bluetooth options ARM: omap2plus_defconfig: Enable leds-pwm ARM: omap1_defconfig: drop obsolete Kconfig symbols ... commit e5ac320de1fe3ef5a5afa5f8a0cd19b0c5373a37 Merge: 7d2b6ef 89522f0f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:20:15 2015 -0700 Merge tag 'armsoc-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC multiplatform code changes from Olof Johansson: "The changes here belong to two main platforms: - Atmel At91 is flipping the bit and going multiplatform. This includes some cleanups and removal of code, and the final flip of config dependencies - Shmobile has several platforms that are going multiplatform, but this branch also contains a bunch of cleanups that they weren't able to keep separate in a good way. THere's also a removal of one of their SoCs and the corresponding boards (sh7372 and mackerel)" * tag 'armsoc-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (67 commits) ARM: at91/pm: move AT91_MEMCTRL_* to pm.h ARM: at91/pm: move the standby functions to pm.c ARM: at91: fix pm_suspend.S compilation when ARMv6 is selected ARM: at91: add a Kconfig dependency on multi-platform ARM: at91: drop AT91_TIMER_HZ ARM: at91: remove hardware.h ARM: at91: remove SoC headers ARM: at91: remove useless mach/cpu.h ARM: at91: remove unused headers ARM: at91: switch at91_dt_defconfig to multiplatform ARM: at91: switch to multiplatform ARM: shmobile: r8a7778: enable multiplatform target ARM: shmobile: bockw: add sound to DT ARM: shmobile: r8a7778: add sound to DT ARM: shmobile: bockw: add devices hooked up to i2c0 to DT DT: i2c: add trivial binding for OKI ML86V7667 video decoder ARM: shmobile: r8a7778: common clock framework CPG driver ARM: shmobile: bockw dts: set extal clock frequency ARM: shmobile: bockw dts: Move Ethernet node to BSC ARM: shmobile: r8a73a4: Remove legacy code ... commit 7d2b6ef19cf0f98cef17aa5185de3631a618710a Merge: 5c73cc4 7415d97 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:18:17 2015 -0700 Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC driver updates from Olof Johansson: "Driver updates for v4.1. Some of these are for drivers/soc, where we find more and more SoC-specific drivers these days. Some are for other driver subsystems where we have received acks from the appropriate maintainers. The larger parts of this branch are: - MediaTek support for their PMIC wrapper interface, a high-level interface for talking to the system PMIC over a dedicated I2C interface. - Qualcomm SCM driver has been moved to drivers/firmware. It's used for CPU up/down and needs to be in a shared location for arm/arm64 common code. - cleanup of ARM-CCI PMU code. - another set of cleanusp to the OMAP GPMC code" * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits) soc/mediatek: Remove unused variables clocksource: atmel-st: select MFD_SYSCON soc: mediatek: Add PMIC wrapper for MT8135 and MT8173 SoCs arm-cci: Fix CCI PMU event validation arm-cci: Split the code for PMU vs driver support arm-cci: Get rid of secure transactions for PMU driver arm-cci: Abstract the CCI400 PMU specific definitions arm-cci: Rearrange code for splitting PMU vs driver code drivers: cci: reject groups spanning multiple HW PMUs ARM: at91: remove useless include clocksource: atmel-st: remove mach/hardware dependency clocksource: atmel-st: use syscon/regmap ARM: at91: time: move the system timer driver to drivers/clocksource ARM: at91: properly initialize timer ARM: at91: at91rm9200: remove deprecated arm_pm_restart watchdog: at91rm9200: implement restart handler watchdog: at91rm9200: use the system timer syscon mfd: syscon: Add atmel system timer registers definition ARM: at91/dt: declare atmel,at91rm9200-st as a syscon soc: qcom: gsbi: Add support for ADM CRCI muxing ... commit 5c73cc4b6c83e88863a5de869cc5df3b913aef4a Merge: e6c81cc 8b03655 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:09:46 2015 -0700 Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM DT updates from Olof Johansson: "As always, this tends to be one of our bigger branches. There are lots of updates this release, but not that many jumps out as something that needs more detailed coverage. Some of the highlights are: - DTs for the new Annapurna Labs Alpine platform - more graphics DT pieces falling into place on Exynos, bridges, clocks. - plenty of DT updates for Qualcomm platforms for various IP blocks - some churn on Tegra due to switch-over to tool-generated pinctrl data - misc fixes and updates for Atmel at91 platforms - various DT updates to add IP block support on Broadcom's Cygnus platforms - more updates for Renesas platforms as DT support is added for various IP blocks (IPMMU, display, audio, etc)" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (231 commits) ARM: dts: alpine: add internal pci Revert "ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135." ARM: mvebu: use 0xf1000000 as internal registers on Armada 370 DB ARM: dts: qcom: Add idle state device nodes for 8064 ARM: dts: qcom: Add idle states device nodes for 8084 ARM: dts: qcom: Add idle states device nodes for 8974/8074 ARM: dts: qcom: Update power-controller device node for 8064 Krait CPUs ARM: dts: qcom: Add power-controller device node for 8084 Krait CPUs ARM: dts: qcom: Add power-controller device node for 8074 Krait CPUs devicetree: bindings: Document qcom,idle-states devicetree: bindings: Update qcom,saw2 node bindings dt-bindings: Add #defines for MSM8916 clocks and resets arm: dts: qcom: Add LPASS Audio HW to IPQ8064 device tree arm: dts: qcom: Add APQ8084 chipset SPMI PMIC's nodes arm: dts: qcom: Add 8x74 chipset SPMI PMIC's nodes arm: dts: qcom: Add SPMI PMIC Arbiter nodes for APQ8084 and MSM8974 arm: dts: qcom: Add LCC nodes arm: dts: qcom: Add TCSR support for MSM8960 arm: dts: qcom: Add TCSR support for MSM8660 arm: dts: qcom: Add TCSR support for IPQ8064 ... commit e6c81cce5699ec6be3a7533b5ad7a062ab3357f2 Merge: d0440c5 a018bb2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:08:39 2015 -0700 Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC platform updates from Olof Johansson: "Our SoC branch usually contains expanded support for new SoCs and other core platform code. In this case, that includes: - support for the new Annapurna Labs "Alpine" platform - a rework greatly simplifying adding new platform support to the MCPM subsystem (Multi-cluster power management) - cpuidle and PM improvements for Exynos3250 - misc updates for Renesas, OMAP, Meson, i.MX. Some of these could have gone in other branches but ended up here for various reasons" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits) ARM: alpine: add support for generic pci ARM: Exynos: migrate DCSCB to the new MCPM backend abstraction ARM: vexpress: migrate DCSCB to the new MCPM backend abstraction ARM: vexpress: DCSCB: tighten CPU validity assertion ARM: vexpress: migrate TC2 to the new MCPM backend abstraction ARM: MCPM: move the algorithmic complexity to the core code ARM: EXYNOS: allow cpuidle driver usage on Exynos3250 SoC ARM: EXYNOS: add AFTR mode support for Exynos3250 ARM: EXYNOS: add code for setting/clearing boot flag ARM: EXYNOS: fix CPU1 hotplug on Exynos3250 ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore ARM: cygnus: fix const declaration bcm_cygnus_dt_compat ARM: DRA7: hwmod: Fix the hwmod class for GPTimer4 ARM: DRA7: hwmod: Add data for GPTimers 13 through 16 ARM: EXYNOS: Remove left over 'extra_save' ARM: EXYNOS: Constify exynos_pm_data array ARM: EXYNOS: use static in suspend.c ARM: EXYNOS: Use platform device name as power domain name ARM: EXYNOS: add support for async-bridge clocks for pm_domains ARM: omap-device: add missed callback for suspend-to-disk ... commit d0440c59f52d31aa7f74ba8e35cc22ee96acea84 Merge: 38eb1db c4c14f3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:04:39 2015 -0700 Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC cleanups from Olof Johansson: "We've got a fairly large cleanup branch this time. The bulk of this is removal of non-DT platforms of several flavors: - Atmel at91 platforms go full-DT, with removal of remaining board-file based support - OMAP removes legacy board files for three more platforms - removal of non-DT mach-msm, newer Qualcomm platforms now live in mach-qcom - Freescale i.MX25 also removes non-DT platform support" Most of the rest of the changes here are fallout from the above, i.e. for example removal of drivers that now lack platforms, etc. * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (58 commits) mmc: Remove msm_sdcc driver gpio: Remove gpio-msm-v1 driver ARM: Remove mach-msm and associated ARM architecture code ARM: shmobile: cpuidle: Remove the pointless default driver ARM: davinci: dm646x: Add interrupt resource for McASPs ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x ARM: davinci: dm646x: Clean up the McASP DMA resources ARM: davinci: devices-da8xx: Add support for McASP2 on da830 ARM: davinci: devices-da8xx: Clean up and correct the McASP device creation ARM: davinci: devices-da8xx: Add interrupt resource to McASP structs ARM: davinci: devices-da8xx: Add resource name for the McASP DMA request ARM: OMAP2+: Remove legacy support for omap3 TouchBook ARM: OMAP3: Remove legacy support for devkit8000 ARM: OMAP3: Remove legacy support for EMA-Tech Stalker board ARM: shmobile: Consolidate the pm code for R-Car Gen2 ARM: shmobile: r8a7791: Correct SYSCIER value ARM: shmobile: r8a7790: Correct SYSCIER value ARM: at91: remove old setup ARM: at91: sama5d4: remove useless map_io ARM: at91: sama5 use SoC detection infrastructure ... commit 38eb1dbb0d7d190bdfe2ea824e94dab19e32737f Merge: db4fd9c cdaa8cf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 22 09:03:30 2015 -0700 Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "Here's the usual "low-priority fixes that didn't make it into the last few -rcs, with a twist: We had a fixes pull request that I didn't send in time to get into 4.0, so we'll send some of them to Greg for -stable as well. Contents here is as usual not all that controversial: - a handful of randconfig fixes from Arnd, in particular for older Samsung platforms - Exynos fixes, !SMP building, DTS updates for MMC and lid switch - Kbuild fix to create output subdirectory for DTB files - misc minor fixes for OMAP" * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (23 commits) ARM: at91/dt: sama5d3 xplained: add phy address for macb1 kbuild: Create directory for target DTB ARM: mvebu: Disable CPU Idle on Armada 38x ARM: DRA7: Enable Cortex A15 errata 798181 ARM: dts: am57xx-beagle-x15: Add thermal map to include fan and tmp102 ARM: dts: DRA7: Add bandgap and related thermal nodes bus: ocp2scp: SYNC2 value should be changed to 0x6 ARM: dts: am4372: Add "ti,am437x-ocp2scp" as compatible string for OCP2SCP ARM: OMAP2+: remove superfluous NULL pointer check ARM: EXYNOS: Fix build breakage cpuidle on !SMP ARM: dts: fix lid and power pin-functions for exynos5250-spring ARM: dts: fix mmc node updates for exynos5250-spring ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688 MAINTAINERS: add OMAP defconfigs under OMAP SUPPORT ARM: OMAP1: PM: fix some build warnings on 1510-only Kconfigs ARM: cns3xxx: don't export static symbol ARM: S3C24XX: avoid a Kconfig warning ARM: S3C24XX: fix header file inclusions ARM: S3C24XX: fix building without PM_SLEEP ARM: S3C24XX: use SAMSUNG_WAKEMASK for s3c2416 ... commit f77303bddabf73ebccb60f613b77da391f933cf6 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Apr 22 18:28:13 2015 +0300 rbd: rbd_wq comment is obsolete After the switch to blk-mq rbd_wq processes requests, not devices. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 7c1c4747f28f59f2939687168203863f7e095d10 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Apr 14 23:13:31 2015 +0300 libceph: announce support for straw2 buckets Sync up feature bits and enable CEPH_FEATURE_CRUSH_V4. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 958a27658d94cf212caeb0ffb04ee0b0bc89cc40 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Apr 14 16:54:52 2015 +0300 crush: straw2 bucket type with an efficient 64-bit crush_ln() This is an improved straw bucket that correctly avoids any data movement between items A and B when neither A nor B's weights are changed. Said differently, if we adjust the weight of item C (including adding it anew or removing it completely), we will only see inputs move to or from C, never between other items in the bucket. Notably, there is not intermediate scaling factor that needs to be calculated. The mapping function is a simple function of the item weights. The below commits were squashed together into this one (mostly to avoid adding and then yanking a ~6000 lines worth of crush_ln_table): - crush: add a straw2 bucket type - crush: add crush_ln to calculate nature log efficently - crush: improve straw2 adjustment slightly - crush: change crush_ln to provide 32 more digits - crush: fix crush_get_bucket_item_weight and bucket destroy for straw2 - crush/mapper: fix divide-by-0 in straw2 (with div64_s64() for draw = ln / w and INT64_MIN -> S64_MIN - need to create a proper compat.h in ceph.git) Reflects ceph.git commits 242293c908e923d474910f2b8203fa3b41eb5a53, 32a1ead92efcd351822d22a5fc37d159c65c1338, 6289912418c4a3597a11778bcf29ed5415117ad9, 35fcb04e2945717cf5cfe150b9fa89cb3d2303a1, 6445d9ee7290938de1e4ee9563912a6ab6d8ee5f, b5921d55d16796e12d66ad2c4add7305f9ce2353. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 45002267e8d2699bf9b022315bee3dd13b044843 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Apr 14 16:04:23 2015 +0300 crush: ensuring at most num-rep osds are selected Crush temporary buffers are allocated as per replica size configured by the user. When there are more final osds (to be selected as per rule) than the replicas, buffer overlaps and it causes crash. Now, it ensures that at most num-rep osds are selected even if more number of osds are allowed by the rule. Reflects ceph.git commits 6b4d1aa99718e3b367496326c1e64551330fabc0, 234b066ba04976783d15ff2abc3e81b6cc06fb10. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 9be6df215a1baa57ccad0c388daeb2ad8f8d99ee Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Apr 14 20:55:13 2015 +0300 crush: drop unnecessary include from mapper.c Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit ec137c10e720e5cf085504332ee1bf380241ed69 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Apr 13 11:25:07 2015 +0800 ceph: fix uninline data function For CEPH_OSD_CMPXATTR_MODE_U64, OSD expects the u64 to be encoded as string in object's xattr. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 0ea611a3bc5fb8f6a0bb1a76fe2dbf8ebe4bdf77 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Apr 7 15:36:32 2015 +0800 ceph: rename snapshot support Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit c0bd50e2eeddf139d8f61e709d7003210301e93a Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Apr 7 15:51:08 2015 +0800 ceph: fix null pointer dereference in send_mds_reconnect() sb->s_root can be null when umounting Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 2fa462f826210bbec65f8ed06d5ef4e0cd4f5450 Merge: 123857a fd1d0dd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 22 17:08:12 2015 +0200 Merge tag 'kvm-arm-for-4.1-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master KVM/ARM changes for v4.1, take #2: Rather small this time: - a fix for a nasty bug with virtual IRQ injection - a fix for irqfd commit fd1d0ddf2ae92fb3df42ed476939861806c5d785 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Fri Apr 10 16:17:59 2015 +0100 KVM: arm/arm64: check IRQ number on userland injection When userland injects a SPI via the KVM_IRQ_LINE ioctl we currently only check it against a fixed limit, which historically is set to 127. With the new dynamic IRQ allocation the effective limit may actually be smaller (64). So when now a malicious or buggy userland injects a SPI in that range, we spill over on our VGIC bitmaps and bytemaps memory. I could trigger a host kernel NULL pointer dereference with current mainline by injecting some bogus IRQ number from a hacked kvmtool: ----------------- .... DEBUG: kvm_vgic_inject_irq(kvm, cpu=0, irq=114, level=1) DEBUG: vgic_update_irq_pending(kvm, cpu=0, irq=114, level=1) DEBUG: IRQ #114 still in the game, writing to bytemap now... Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = ffffffc07652e000 [00000000] *pgd=00000000f658b003, *pud=00000000f658b003, *pmd=0000000000000000 Internal error: Oops: 96000006 [#1] PREEMPT SMP Modules linked in: CPU: 1 PID: 1053 Comm: lkvm-msi-irqinj Not tainted 4.0.0-rc7+ #3027 Hardware name: FVP Base (DT) task: ffffffc0774e9680 ti: ffffffc0765a8000 task.ti: ffffffc0765a8000 PC is at kvm_vgic_inject_irq+0x234/0x310 LR is at kvm_vgic_inject_irq+0x30c/0x310 pc : [<ffffffc0000ae0a8>] lr : [<ffffffc0000ae180>] pstate: 80000145 ..... So this patch fixes this by checking the SPI number against the actual limit. Also we remove the former legacy hard limit of 127 in the ioctl code. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> # 4.0, 3.19, 3.18 [maz: wrap KVM_ARM_IRQ_GIC_MAX with #ifndef __KERNEL__, as suggested by Christopher Covington] Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 0b3289ebc2d50cf5ab778215ed0b4075bbae6629 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Mon Apr 13 15:01:59 2015 +0200 KVM: arm: irqfd: fix value returned by kvm_irq_map_gsi irqfd/arm curently does not support routing. kvm_irq_map_gsi is supposed to return all the routing entries associated with the provided gsi and return the number of those entries. We should return 0 at this point. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit cf82f52d3619d2e15c83ec9a03c6ce8cdf6c6b58 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 15:51:44 2015 +0200 watchdog: stmp3xxx_rtc_wdt: fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit e8cc53665728860a56dbbd56bfc32ac934efb70a Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 15:51:43 2015 +0200 watchdog: pnx4008_wdt: fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 3a30c07e712df895981deac0782655997942bc75 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 20:05:40 2015 +0200 watchdog: octeon: use fixed length string for register names Use fixed length string for register names. This saves 416 bytes in text size. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 8692cf0ad31b3654c798c23de01e4c23c4536dea Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 20:05:39 2015 +0200 watchdog: octeon: fix some trivial coding style issues Fix some trivial coding style issues to reduce noise from static analyzers. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 3d588c93c040c4aacca81b15a7aa9761357ecdc4 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 20:05:38 2015 +0200 watchdog: octeon: convert to WATCHDOG_CORE API Convert OCTEON watchdog to WATCHDOG_CORE API. This enables support for multiple watchdogs on OCTEON boards. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 6290d8c826023a633da3e675784b5f317a9600f0 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Mar 9 09:50:12 2015 +0100 watchdog: cadence: Remove Kconfig dependency on ARCH Remove Kconfig dependency and enable driver for all ARCHs. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit cf79fb14d09f8a9aaadfce59d01cfedf4f96d99d Author: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Date: Fri Feb 20 18:19:36 2015 -0800 ARM: msm: add watchdog entries to DT timer binding doc The watchdog has been reworked to use the same DT node as the timer. This change is updating the device tree doc accordingly. Signed-off-by: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 4ba1c98b552c58b1a29bd943aef51b1788465b2d Author: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Date: Fri Feb 20 18:19:35 2015 -0800 ARM: qcom: add description of KPSS WDT for IPQ8064 Add the watchdog related entries to the Krait Processor Sub-system (KPSS) timer IPQ8064 devicetree section. Also, add a fixed-clock description of SLEEP_CLK, which will do for now. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Signed-off-by: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 0dfd582e026af8a37917164aaba7227fa812e5c2 Author: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Date: Fri Feb 20 18:19:34 2015 -0800 watchdog: qcom: use timer devicetree binding MSM watchdog configuration happens in the same register block as the timer, so we'll use the same binding as the existing timer. The qcom-wdt will now be probed when devicetree has an entry compatible with "qcom,kpss-timer" or "qcom-scss-timer". Signed-off-by: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit e1dbde29609a4f829589f0e48361470327ae3f62 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:48 2015 -0800 watchdog: bcm281xx: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Guenter Roeck <linux~roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 4a3893d069b788f3570c19c12d9e986e8e15870f Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Apr 20 10:20:40 2015 +0930 modpost: don't emit section mismatch warnings for compiler optimizations Currently an allyesconfig build [gcc-4.9.1] can generate the following: WARNING: vmlinux.o(.text.unlikely+0x3864): Section mismatch in reference from the function cpumask_empty.constprop.3() to the variable .init.data:nmi_ipi_mask which comes from the cpumask_empty usage in arch/x86/kernel/nmi_selftest.c. Normally we would not see a symbol entry for cpumask_empty since it is: static inline bool cpumask_empty(const struct cpumask *srcp) however in this case, the variant of the symbol gets emitted when GCC does constant propagation optimization. Fix things up so that any locally optimized constprop variants don't warn when accessing variables that live in the __init sections. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 09c20c032b0f753969ae778d9783d946f054d7fe Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Apr 20 10:20:26 2015 +0930 modpost: expand pattern matching to support substring matches Currently the match() function supports a leading * to match any prefix and a trailing * to match any suffix. However there currently is not a combination of both that can be used to target matches of whole families of functions that share a common substring. Here we expand the *foo and foo* match to also support *foo* with the goal of targeting compiler generated symbol names that contain strings like ".constprop." and ".isra." Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit c5c3439af0f9c08e253d2a703a7eb3deba7d8591 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Thu Apr 16 13:16:41 2015 +0930 modpost: do not try to match the SHT_NUL section. Trying to match the SHT_NUL section isn't useful and causes build failures on parisc and mn10300 since the addition of section strict white-listing and __ex_table sanitizing. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Fixes: 050e57fd5936 ("modpost: add strict white-listing when referencing....") Fixes: 52dc0595d540 ("modpost: handle relocations mismatch in __ex_table.") Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit e84048aa173f2403fa468cb189f101b57fece539 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Thu Apr 16 13:05:36 2015 +0930 modpost: fix extable entry size calculation. As Guenter pointed out, we were never really calculating the extable entry size because the pointer arithmetic was simply wrong. We want to check we're handling the second relocation in __ex_table to infer an entry size, but we were using (void*) pointers instead of Elf_Rel[a]* ones. This fixes the problem by moving that check in the caller (since we can deal with different types of relocations) and add is_second_extable_reloc() to make the whole thing more readable. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> CC: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit d3df4de7eb095cc4334759a5e65bf3bfb4be04f1 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Thu Apr 16 13:03:32 2015 +0930 modpost: fix inverted logic in is_extable_fault_address(). As Guenter pointed out, we want to assert that extable_entry_size has been discovered and not the other way around. Moreover, this sanity check is only valid when we're not dealing with the first relocation in __ex_table, since we have not discovered the extable entry size at that point. This was leading to a divide-by-zero on some architectures and make the build fail. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> CC: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6c730bfc894f5d4989c2c1493512d3330402be94 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Apr 15 13:28:08 2015 +0930 modpost: handle -ffunction-sections 52dc0595d540 introduced OTHER_TEXT_SECTIONS for identifying what sections could validly have __ex_table entries. Unfortunately, it wasn't tested with -ffunction-sections, which some architectures use. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit d7e0abcf4c6d9fc4ebb948c9bbc880b2483434b4 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Wed Apr 15 13:23:48 2015 +0930 modpost: Whitelist .text.fixup and .exception.text 32-bit and 64-bit ARM use these sections to store executable code, so they must be whitelisted in modpost's table of valid text sections. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit cdde0e61cf2d41123604c6c9d8f09ef5c23464ee Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Apr 22 12:24:13 2015 +0530 dmaengine: dw: don't prompt for DW_DMAC_CORE DW_DMAC_CORE is slected by PCI or Platform driver, so this symbol shouldn't be user selectable, so remove the prompt Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0140e6141e4f1d4b15fb469e6912b0e71b7d1cc2 Author: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Date: Tue Apr 21 12:33:11 2015 -0700 perf/x86/intel/uncore: Move PCI IDs for IMC to uncore driver This keeps all the related PCI IDs together in the driver where they are used. Signed-off-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429644791-25724-1-git-send-email-sonnyrao@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 80bcffb376a6890dd7452b12c1ba032f8f24fef6 Author: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Date: Mon Apr 20 15:34:07 2015 -0700 perf/x86/intel/uncore: Add support for Intel Haswell ULT (lower power Mobile Processor) IMC uncore PMUs This uncore is the same as the Haswell desktop part but uses a different PCI ID. Signed-off-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1429569247-16697-1-git-send-email-sonnyrao@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3b6e042188994466ec257b71296b5f85b894dcd9 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Apr 21 17:26:23 2015 +0200 perf/x86/intel: Add cpu_(prepare|starting|dying) for core_pmu The core_pmu does not define cpu_* callbacks, which handles allocation of 'struct cpu_hw_events::shared_regs' data, initialization of debug store and PMU_FL_EXCL_CNTRS counters. While this probably won't happen on bare metal, virtual CPU can define x86_pmu.extra_regs together with PMU version 1 and thus be using core_pmu -> using shared_regs data without it being allocated. That could could leave to following panic: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff8152cd4f>] _spin_lock_irqsave+0x1f/0x40 SNIP [<ffffffff81024bd9>] __intel_shared_reg_get_constraints+0x69/0x1e0 [<ffffffff81024deb>] intel_get_event_constraints+0x9b/0x180 [<ffffffff8101e815>] x86_schedule_events+0x75/0x1d0 [<ffffffff810586dc>] ? check_preempt_curr+0x7c/0x90 [<ffffffff810649fe>] ? try_to_wake_up+0x24e/0x3e0 [<ffffffff81064ba2>] ? default_wake_function+0x12/0x20 [<ffffffff8109eb16>] ? autoremove_wake_function+0x16/0x40 [<ffffffff810577e9>] ? __wake_up_common+0x59/0x90 [<ffffffff811a9517>] ? __d_lookup+0xa7/0x150 [<ffffffff8119db5f>] ? do_lookup+0x9f/0x230 [<ffffffff811a993a>] ? dput+0x9a/0x150 [<ffffffff8119c8f5>] ? path_to_nameidata+0x25/0x60 [<ffffffff8119e90a>] ? __link_path_walk+0x7da/0x1000 [<ffffffff8101d8f9>] ? x86_pmu_add+0xb9/0x170 [<ffffffff8101d7a7>] x86_pmu_commit_txn+0x67/0xc0 [<ffffffff811b07b0>] ? mntput_no_expire+0x30/0x110 [<ffffffff8119c731>] ? path_put+0x31/0x40 [<ffffffff8107c297>] ? current_fs_time+0x27/0x30 [<ffffffff8117d170>] ? mem_cgroup_get_reclaim_stat_from_page+0x20/0x70 [<ffffffff8111b7aa>] group_sched_in+0x13a/0x170 [<ffffffff81014a29>] ? sched_clock+0x9/0x10 [<ffffffff8111bac8>] ctx_sched_in+0x2e8/0x330 [<ffffffff8111bb7b>] perf_event_sched_in+0x6b/0xb0 [<ffffffff8111bc36>] perf_event_context_sched_in+0x76/0xc0 [<ffffffff8111eb3b>] perf_event_comm+0x1bb/0x2e0 [<ffffffff81195ee9>] set_task_comm+0x69/0x80 [<ffffffff81195fe1>] setup_new_exec+0xe1/0x2e0 [<ffffffff811ea68e>] load_elf_binary+0x3ce/0x1ab0 Adding cpu_(prepare|starting|dying) for core_pmu to have shared_regs data allocated for core_pmu. AFAICS there's no harm to initialize debug store and PMU_FL_EXCL_CNTRS either for core_pmu. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150421152623.GC13169@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db4fd9c5d072a20ea6b7e40276a9822e04732610 Merge: 8aaa51b 0edfad5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 23:21:34 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc fixes from David Miller: 1) ldc_alloc_exp_dring() can be called from softints, so use GFP_ATOMIC. From Sowmini Varadhan. 2) Some minor warning/build fixups for the new iommu-common code on certain archs and with certain debug options enabled. Also from Sowmini Varadhan. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc: Use GFP_ATOMIC in ldc_alloc_exp_dring() as it can be called in softirq context sparc64: Use M7 PMC write on all chips T4 and onward. iommu-common: rename iommu_pool_hash to iommu_hash_common iommu-common: fix x86_64 compiler warnings commit 8aaa51b63cc3c5f3b2e72d2f0e193d9c2e00fe46 Merge: f614c81 fab9adf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 22:37:27 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "Just a few fixes trickling in at this point. 1) If we see an attached socket on an skb in the ipv4 forwarding path, bail. This can happen due to races with FIB rule addition, and deletion, and we should just drop such frames. From Sebastian Pöhn. 2) pppoe receive should only accept packets destined for this hosts's MAC address. From Joakim Tjernlund. 3) Handle checksum unwrapping properly in ppp receive properly when it's encapsulated in UDP in some way, fix from Tom Herbert. 4) Fix some bugs in mv88e6xxx DSA driver resulting from the conversion from register offset constants to mnenomic macros. From Vivien Didelot. 5) Fix handling of HCA max message size in mlx4 adapters, from Eran Ben ELisha" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: net/mlx4_core: Fix reading HCA max message size in mlx4_QUERY_DEV_CAP tcp: add memory barriers to write space paths altera tse: Error-Bit on tx-avalon-stream always set. net: dsa: mv88e6xxx: use PORT_DEFAULT_VLAN net: dsa: mv88e6xxx: fix setup of port control 1 ppp: call skb_checksum_complete_unset in ppp_receive_frame net: add skb_checksum_complete_unset pppoe: Lacks DST MAC address check ip_forward: Drop frames with attached skb->sk commit 48c1078509b47b38802329028ccfd77783bcff99 Merge: 30ecc84 da4d814 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Apr 21 21:45:15 2015 -0700 Merge tag 'omap-for-v4.1/prcm-dts-mfd-syscon-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/late Merge "urgent omap boot fix for v4.1 if MFD_SYSCON is not set" from Tony Lindgren: Urgent pull request for v4.1 to booting for custom kernel .config files that do not have MFD_SYSCON set. Omaps now have a dependency to MFD_SYSCON for system control module generic register area and some clocks with the changes done in omap-for-v4.1/prcm-dts branch. This can be pulled on top of omap-for-v4.1/prcm-dts, or into fixes for v4.1. We already do have a slight MFD_SYSCON dependency for REGULATOR_PBIAS for dual voltage MMC cards on the first MMC bus for many devices, so from that point of view this can also be merged separately from omap-for-v4.1/prcm-dts. * tag 'omap-for-v4.1/prcm-dts-mfd-syscon-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6b5eab54691956b27669ce726cbd8ef2d8ec1e50 Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Date: Wed Apr 22 00:25:36 2015 +0100 ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler() Use list_for_each_entry_safe for iterating because handler may be freed in the loop. BUG: unable to handle kernel NULL pointer dereference at 000000000000002c IP: [<ffffffff814d69c8>] acpi_ec_put_query_handler+0x7/0x1a Call Trace: acpi_ec_remove_query_handler+0x87/0x97 acpi_smbus_hc_remove+0x2a/0x44 [sbshc] acpi_device_remove+0x7b/0x9a __device_release_driver+0x7e/0x110 driver_detach+0xb0/0xc0 bus_remove_driver+0x54/0xe0 driver_unregister+0x2b/0x60 acpi_bus_unregister_driver+0x10/0x12 acpi_smb_hc_driver_exit+0x10/0x12 [sbshc] SyS_delete_module+0x1b8/0x210 system_call_fastpath+0x12/0x6a Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f614c8178b0696d070b23f36a2a27b5128f6c372 Merge: b8ce8d7 c19edb6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 17:57:28 2015 -0700 Merge branch 'parisc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc fixes from Helge Deller: "The patch by Guenter Roeck fixes the build on parisc which got broken because of commit f24ffde43237 ("parisc: expose number of page table levels on Kconfig level") and the patch from Matthew Wilcox converts our code to use the generic scatterlist.h header file" * 'parisc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Replace PT_NLEVELS with CONFIG_PGTABLE_LEVELS parisc: Eliminate sg_virt_addr() and private scatterlist.h commit 9ffc8f7cb9647b13dfe4d1ad0d5e1427bb8b46d6 Author: Eric Mei <eric.mei@xxxxxxxxxxx> Date: Wed Mar 18 23:39:11 2015 -0600 md/raid5: don't do chunk aligned read on degraded array. When array is degraded, read data landed on failed drives will result in reading rest of data in a stripe. So a single sequential read would result in same data being read twice. This patch is to avoid chunk aligned read for degraded array. The downside is to involve stripe cache which means associated CPU overhead and extra memory copy. Test Results: Following test are done on a enterprise storage node with Seagate 6T SAS drives and Xeon E5-2648L CPU (10 cores, 1.9Ghz), 10 disks MD RAID6 8+2, chunk size 128 KiB. I use FIO, using direct-io with various bs size, enough queue depth, tested sequential and 100% random read against 3 array config: 1) optimal, as baseline; 2) degraded; 3) degraded with this patch. Kernel version is 4.0-rc3. Each individual test I only did once so there might be some variations, but we just focus on big trend. Sequential Read: bs=(KiB) optimal(MiB/s) degraded(MiB/s) degraded-with-patch (MiB/s) 1024 1608 656 995 512 1624 710 956 256 1635 728 980 128 1636 771 983 64 1612 1119 1000 32 1580 1420 1004 16 1368 688 986 8 768 647 953 4 411 413 850 Random Read: bs=(KiB) optimal(IOPS) degraded(IOPS) degraded-with-patch (IOPS) 1024 163 160 156 512 274 273 272 256 426 428 424 128 576 592 591 64 726 724 726 32 849 848 837 16 900 970 971 8 927 940 929 4 948 940 955 Some notes: * In sequential + optimal, as bs size getting smaller, the FIO thread become CPU bound. * In sequential + degraded, there's big increase when bs is 64K and 32K, I don't have explanation. * In sequential + degraded-with-patch, the MD thread mostly become CPU bound. If you want to we can discuss specific data point in those data. But in general it seems with this patch, we have more predictable and in most cases significant better sequential read performance when array is degraded, and almost no noticeable impact on random read. Performance is a complicated thing, the patch works well for this particular configuration, but may not be universal. For example I imagine testing on all SSD array may have very different result. But I personally think in most cases IO bandwidth is more scarce resource than CPU. Signed-off-by: Eric Mei <eric.mei@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit edbe83ab4c27ea6669eb57adb5ed7eaec1118ceb Author: NeilBrown <neilb@xxxxxxx> Date: Thu Feb 26 12:47:56 2015 +1100 md/raid5: allow the stripe_cache to grow and shrink. The default setting of 256 stripe_heads is probably much too small for many configurations. So it is best to make it auto-configure. Shrinking the cache under memory pressure is easy. The only interesting part here is that we put a fairly high cost ('seeks') on shrinking the cache as the cost is greater than just having to read more data, it reduces parallelism. Growing the cache on demand needs to be done carefully. If we allow fast growth, that can upset memory balance as lots of dirty memory can quickly turn into lots of memory queued in the stripe_cache. It is important for the raid5 block device to appear congested to allow write-throttling to work. So we only add stripes slowly. We set a flag when an allocation fails because all stripes are in use, allocate at a convenient time when that flag is set, and don't allow it to be set again until at least one stripe_head has been released for re-use. This means that a spurt of requests will only cause one stripe_head to be allocated, but a steady stream of requests will slowly increase the cache size - until memory pressure puts it back again. It could take hours to reach a steady state. The value written to, and displayed in, stripe_cache_size is used as a minimum. The cache can grow above this and shrink back down to it. The actual size is not directly visible, though it can be deduced to some extent by watching stripe_cache_active. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 5423399a84ee1d92d29d763029ed40e4905cf50f Author: NeilBrown <neilb@xxxxxxx> Date: Thu Feb 26 12:21:04 2015 +1100 md/raid5: change ->inactive_blocked to a bit-flag. This allows us to easily add more (atomic) flags. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 486f0644c3482cbf64fe804499836e1f05abec14 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Feb 25 12:10:35 2015 +1100 md/raid5: move max_nr_stripes management into grow_one_stripe and drop_one_stripe Rather than adjusting max_nr_stripes whenever {grow,drop}_one_stripe() succeeds, do it inside the functions. Also choose the correct hash to handle next inside the functions. This removes duplication and will help with future new uses of {grow,drop}_one_stripe. This also fixes a minor bug where the "md/raid:%md: allocate XXkB" message always said "0kB". Signed-off-by: NeilBrown <neilb@xxxxxxx> commit a9683a795bcca6d0e7fe4c4c00e071218f3f4428 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Feb 25 12:02:51 2015 +1100 md/raid5: pass gfp_t arg to grow_one_stripe() This is needed for future improvement to stripe cache management. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit d06f191f8ecaef4d524e765fdb455f96392fbd42 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:05 2014 +1100 md/raid5: introduce configuration option rmw_level Depending on the available coding we allow optimized rmw logic for write operations. To support easier testing this patch allows manual control of the rmw/rcw descision through the interface /sys/block/mdX/md/rmw_level. The configuration can handle three levels of control. rmw_level=0: Disable rmw for all RAID types. Hardware assisted P/Q calculation has no implementation path yet to factor in/out chunks of a syndrome. Enforcing this level can be benefical for slow CPUs with hardware syndrome support and fast SSDs. rmw_level=1: Estimate rmw IOs and rcw IOs. Execute rmw only if we will save IOs. This equals the "old" unpatched behaviour and will be the default. rmw_level=2: Execute rmw even if calculated IOs for rmw and rcw are equal. We might have higher CPU consumption because of calculating the parity twice but it can be benefical otherwise. E.g. RAID4 with fast dedicated parity disk/SSD. The option is implemented just to be forward-looking and will ONLY work with this patch! Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 584acdd49cd2472ca0f5a06adbe979db82d0b4af Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:05 2014 +1100 md/raid5: activate raid6 rmw feature Glue it altogehter. The raid6 rmw path should work the same as the already existing raid5 logic. So emulate the prexor handling/flags and split functions as needed. 1) Enable xor_syndrome() in the async layer. 2) Split ops_run_prexor() into RAID4/5 and RAID6 logic. Xor the syndrome at the start of a rmw run as we did it before for the single parity. 3) Take care of rmw run in ops_run_reconstruct6(). Again process only the changed pages to get syndrome back into sync. 4) Enhance set_syndrome_sources() to fill NULL pages if we are in a rmw run. The lower layers will calculate start & end pages from that and call the xor_syndrome() correspondingly. 5) Adapt the several places where we ignored Q handling up to now. Performance numbers for a single E5630 system with a mix of 10 7200k desktop/server disks. 300 seconds random write with 8 threads onto a 3,2TB (10*400GB) RAID6 64K chunk without spare (group_thread_cnt=4) bsize rmw_level=1 rmw_level=0 rmw_level=1 rmw_level=0 skip_copy=1 skip_copy=1 skip_copy=0 skip_copy=0 4K 115 KB/s 141 KB/s 165 KB/s 140 KB/s 8K 225 KB/s 275 KB/s 324 KB/s 274 KB/s 16K 434 KB/s 536 KB/s 640 KB/s 534 KB/s 32K 751 KB/s 1,051 KB/s 1,234 KB/s 1,045 KB/s 64K 1,339 KB/s 1,958 KB/s 2,282 KB/s 1,962 KB/s 128K 2,673 KB/s 3,862 KB/s 4,113 KB/s 3,898 KB/s 256K 7,685 KB/s 7,539 KB/s 7,557 KB/s 7,638 KB/s 512K 19,556 KB/s 19,558 KB/s 19,652 KB/s 19,688 Kb/s Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit a582564b24bec0443b5c5ff43ee6d1258f8bd658 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:05 2014 +1100 md/raid6 algorithms: xor_syndrome() for SSE2 The second and (last) optimized XOR syndrome calculation. This version supports right and left side optimization. All CPUs with architecture older than Haswell will benefit from it. It should be noted that SSE2 movntdq kills performance for memory areas that are read and written simultaneously in chunks smaller than cache line size. So use movdqa instead for P/Q writes in sse21 and sse22 XOR functions. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 9a5ce91d053961b7cc8fa56bd083819a9fc92734 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:04 2014 +1100 md/raid6 algorithms: xor_syndrome() for generic int Start the algorithms with the very basic one. It is left and right optimized. That means we can avoid all calculations for unneeded pages above the right stop offset. For pages below the left start offset we still need the syndrome multiplication but without reading data pages. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 7e92e1d7629b00578cef22b1f4c6ada726663701 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:04 2014 +1100 md/raid6 algorithms: improve test program It is always helpful to have a test tool in place if we implement new data critical algorithms. So add some test routines to the raid6 checker that can prove if the new xor_syndrome() works as expected. Run through all permutations of start/stop pages per algorithm and simulate a xor_syndrome() assisted rmw run. After each rmw check if the recovery algorithm still confirms that the stripe is fine. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit fe5cbc6e06c7d8b3a86f6f5491d74766bb5c2827 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Mon Dec 15 12:57:04 2014 +1100 md/raid6 algorithms: delta syndrome functions v3: s-o-b comment, explanation of performance and descision for the start/stop implementation Implementing rmw functionality for RAID6 requires optimized syndrome calculation. Up to now we can only generate a complete syndrome. The target P/Q pages are always overwritten. With this patch we provide a framework for inplace P/Q modification. In the first place simply fill those functions with NULL values. xor_syndrome() has two additional parameters: start & stop. These will indicate the first and last page that are changing during a rmw run. That makes it possible to avoid several unneccessary loops and speed up calculation. The caller needs to implement the following logic to make the functions work. 1) xor_syndrome(disks, start, stop, ...): "Remove" all data of source blocks inside P/Q between (and including) start and end. 2) modify any block with start <= block <= stop 3) xor_syndrome(disks, start, stop, ...): "Reinsert" all data of source blocks into P/Q between (and including) start and end. Pages between start and stop that won't be changed should be filled with a pointer to the kernel zero page. The reasons for not taking NULL pages are: 1) Algorithms cross the whole source data line by line. Thus avoid additional branches. 2) Having a NULL page avoids calculating the XOR P parity but still need calulation steps for the Q parity. Depending on the algorithm unrolling that might be only a difference of 2 instructions per loop. The benchmark numbers of the gen_syndrome() functions are displayed in the kernel log. Do the same for the xor_syndrome() functions. This will help to analyze performance problems and give an rough estimate how well the algorithm works. The choice of the fastest algorithm will still depend on the gen_syndrome() performance. With the start/stop page implementation the speed can vary a lot in real life. E.g. a change of page 0 & page 15 on a stripe will be harder to compute than the case where page 0 & page 1 are XOR candidates. To be not to enthusiatic about the expected speeds we will run a worse case test that simulates a change on the upper half of the stripe. So we do: 1) calculation of P/Q for the upper pages 2) continuation of Q for the lower (empty) pages Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit dabc4ec6ba72418ebca6bf1884f344bba40c8709 Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:04 2014 +1100 raid5: handle expansion/resync case with stripe batching expansion/resync can grab a stripe when the stripe is in batch list. Since all stripes in batch list must be in the same state, we can't allow some stripes run into expansion/resync. So we delay expansion/resync for stripe in batch list. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 72ac733015bbdc0356ba3e92c52137a265910a91 Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:03 2014 +1100 raid5: handle io error of batch list If io error happens in any stripe of a batch list, the batch list will be split, then normal process will run for the stripes in the list. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 59fc630b8b5f9f21c8ce3ba153341c107dce1b0c Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:03 2014 +1100 RAID5: batch adjacent full stripe write stripe cache is 4k size. Even adjacent full stripe writes are handled in 4k unit. Idealy we should use big size for adjacent full stripe writes. Bigger stripe cache size means less stripes runing in the state machine so can reduce cpu overhead. And also bigger size can cause bigger IO size dispatched to under layer disks. With below patch, we will automatically batch adjacent full stripe write together. Such stripes will be added to the batch list. Only the first stripe of the list will be put to handle_list and so run handle_stripe(). Some steps of handle_stripe() are extended to cover all stripes of the list, including ops_run_io, ops_run_biodrain and so on. With this patch, we have less stripes running in handle_stripe() and we send IO of whole stripe list together to increase IO size. Stripes added to a batch list have some limitations. A batch list can only include full stripe write and can't cross chunk boundary to make sure stripes have the same parity disks. Stripes in a batch list must be in the same state (no written, toread and so on). If a stripe is in a batch list, all new read/write to add_stripe_bio will be blocked to overlap conflict till the batch list is handled. The limitations will make sure stripes in a batch list be in exactly the same state in the life circly. I did test running 160k randwrite in a RAID5 array with 32k chunk size and 6 PCIe SSD. This patch improves around 30% performance and IO size to under layer disk is exactly 32k. I also run a 4k randwrite test in the same array to make sure the performance isn't changed with the patch. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 7a87f43405e91ca12b8770eb689dd9886f217091 Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:03 2014 +1100 raid5: track overwrite disk count Track overwrite disk count, so we can know if a stripe is a full stripe write. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit da41ba65972532a04f73927c903029a7ec3bc2ed Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:03 2014 +1100 raid5: add a new flag to track if a stripe can be batched A freshly new stripe with write request can be batched. Any time the stripe is handled or new read is queued, the flag will be cleared. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 46d5b785621ad10a373e292f9101ccfc626466e0 Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx> Date: Mon Dec 15 12:57:02 2014 +1100 raid5: use flex_array for scribble data Use flex_array for scribble data. Next patch will batch several stripes together, so scribble data should be able to cover several stripes, so this patch also allocates scribble data for stripes across a chunk. Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 753f2856cda2a130d38ebc3db97bff66c1ef3ca7 Author: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Date: Fri Feb 13 19:48:01 2015 +0100 md raid0: access mddev->queue (request queue member) conditionally because it is not set when accessed from dm-raid The patch makes 3 references to mddev->queue in the raid0 personality conditional in order to allow for it to be accessed from dm-raid. Mandatory, because md instances underneath dm-raid don't manage a request queue of their own which'd lead to oopses without the patch. Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Tested-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit ac8fa4196d205ac8fff3f8932bddbad4f16e4110 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Feb 19 16:55:00 2015 +1100 md: allow resync to go faster when there is competing IO. When md notices non-sync IO happening while it is trying to resync (or reshape or recover) it slows down to the set minimum. The default minimum might have made sense many years ago but the drives have become faster. Changing the default to match the times isn't really a long term solution. This patch changes the code so that instead of waiting until the speed has dropped to the target, it just waits until pending requests have completed. This means that the delay inserted is a function of the speed of the devices. Testing shows that: - for some loads, the resync speed is unchanged. For those loads increasing the minimum doesn't change the speed either. So this is a good result. To increase resync speed under such loads we would probably need to increase the resync window size. - for other loads, resync speed does increase to a reasonable fraction (e.g. 20%) of maximum possible, and throughput of the load only drops a little bit (e.g. 10%) - for other loads, throughput of the non-sync load drops quite a bit more. These seem to be latency-sensitive loads. So it isn't a perfect solution, but it is mostly an improvement. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 09314799e4f0589e52bafcd0ca3556c60468bc0e Author: NeilBrown <neilb@xxxxxxx> Date: Thu Feb 19 16:04:40 2015 +1100 md: remove 'go_faster' option from ->sync_request() This option is not well justified and testing suggests that it hardly ever makes any difference. The comment suggests there might be a need to wait for non-resync activity indicated by ->nr_waiting, however raise_barrier() already waits for all of that. So just remove it to simplify reasoning about speed limiting. This allows us to remove a 'FIXME' comment from raid5.c as that never used the flag. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 50c37b136a3807eda44afe16529b5af701ec49f5 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Mar 23 17:36:38 2015 +1100 md: don't require sync_min to be a multiple of chunk_size. There is really no need for sync_min to be a multiple of chunk_size, and values read from here often aren't. That means you cannot read a value and expect to be able to write it back later. So remove the chunk_size check, and round down to a multiple of 4K, to be sure everything works with 4K-sector devices. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit d51e4fe6d68098d4361a6b6d41d8da727b1f1af4 Merge: 47d6897 97f6cd3 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Apr 22 08:00:20 2015 +1000 Merge branch 'cluster' into for-next commit 97f6cd39da227459cb46ed4088d37d5d8db51c50 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Apr 14 10:45:42 2015 -0500 md-cluster: re-add capabilities When "re-add" is writted to /sys/block/mdXX/md/dev-YYY/state, the clustered md: 1. Sends RE_ADD message with the desc_nr. Nodes receiving the message clear the Faulty bit in their respective rdev->flags. 2. The node initiating re-add, gathers the bitmaps of all nodes and copies them into the local bitmap. It does not clear the bitmap from which it is copying. 3. Initiating node schedules a md recovery to sync the devices. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit a6da4ef85cef0382244fc588c901e133a2ec5109 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Apr 14 10:45:22 2015 -0500 md: re-add a failed disk This adds the capability of re-adding a failed disk by writing "re-add" to /sys/block/mdXX/md/dev-YYY/state. This facilitates adding disks which have encountered a temporary error such as a network disconnection/hiccup in an iSCSI device, or a SAN cable disconnection which has been restored. In such a situation, you do not need to remove and re-add the device. Writing re-add to the failed device's state would add it again to the array and perform the recovery of only the blocks which were written after the device failed. This works for generic md, and is not related to clustering. However, this patch is to ease re-add operations listed above in clustering environments. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 88bcfef7be513e8bf5448e0025330fdd97c4c708 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Apr 14 10:44:44 2015 -0500 md-cluster: remove capabilities This adds "remove" capabilities for the clustered environment. When a user initiates removal of a device from the array, a REMOVE message with disk number in the array is sent to all the nodes which kick the respective device in their own array. This facilitates the removal of failed devices. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 57d051dccaef395e0d8c0fff02cfc3a77bacc88c Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Apr 14 10:43:55 2015 -0500 md: Export and rename find_rdev_nr_rcu This is required by the clustering module (patches to follow) to find the device to remove or re-add. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit fb56dfef4e31f214cfbfa0eb8a1949591c20b118 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Apr 14 10:43:24 2015 -0500 md: Export and rename kick_rdev_from_array This export is required for clustering module in order to co-ordinate remove/readd a rdev from all nodes. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 8c58f02e244d5b35fa38aa308007715d4957d4c7 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Tue Apr 21 11:25:52 2015 -0500 md-cluster: correct the num for comparison Since the node num of md-cluster is from zero, and cinfo->slot_number represents the slot num of dlm, no need to check for equality. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit fab9adfb71fc8690e20c3c280d39d49c8f4a3f0a Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Tue Apr 21 15:46:34 2015 +0300 net/mlx4_core: Fix reading HCA max message size in mlx4_QUERY_DEV_CAP Currently we parse max_msg_sz from the wrong offset in QUERY_DEV_CAP, fix to use the right offset. Fixes: 0b131561a7d6 ('net/mlx4_en: Add Flow control statistics [..]') Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fbbda5c8e0ab9c391e4160a0eb3a06260f9f668 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Apr 21 14:57:26 2015 -0500 ia64/PCI: Treat all host bridge Address Space Descriptors (even consumers) as windows Prior to c770cb4cb505 ("PCI: Mark invalid BARs as unassigned"), if we tried to claim a PCI BAR but could not find an upstream bridge window that matched it, we complained but still allowed the device to be enabled. c770cb4cb505 broke devices that previously worked (mptsas and igb in the case Tony reported, but it could be any devices) because it marks those BARs as IORESOURCE_UNSET, which makes pci_enable_device() complain and return failure: igb 0000:81:00.0: can't enable device: BAR 0 [mem size 0x00020000] not assigned igb: probe of 0000:81:00.0 failed with error -22 The underlying cause is an ACPI Address Space Descriptor for a PCI host bridge window that is marked as "consumer". This is a firmware defect: resources that are produced on the downstream side of a bridge should be marked "producer". But rejecting these BARs that we previously allowed is a functionality regression, and firmware has not used the producer/consumer bit consistently, so we can't rely on it anyway. Stop checking the producer/consumer bit, and assume all bridge Address Space Descriptors are for bridge windows. Note that this change does not affect I/O Port or Fixed Location I/O Port Descriptors, which are commonly used for the [io 0x0cf8-0x0cff] config access range. That range is a "consumer" range and should not be treated as a window. Fixes: c770cb4cb505 ("PCI: Mark invalid BARs as unassigned") Link: https://bugzilla.kernel.org/show_bug.cgi?id=96961 Reported-and-tested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0edfad5959df7379c9e554fbe8ba264ae232d321 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue Apr 21 10:30:41 2015 -0400 sparc: Use GFP_ATOMIC in ldc_alloc_exp_dring() as it can be called in softirq context Since it is possible for vnet_event_napi to end up doing vnet_control_pkt_engine -> ... -> vnet_send_attr -> vnet_port_alloc_tx_ring -> ldc_alloc_exp_dring -> kzalloc() (i.e., in softirq context), kzalloc() should be called with GFP_ATOMIC from ldc_alloc_exp_dring. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bff175238a2416110e2258989c462234baeb5f46 Author: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Date: Fri Mar 27 17:50:00 2015 +0100 uapi: Remove kernel internal declaration The enum nfs4_acl_whotype is only used in nfs4d's internal nfs4 acl representation. No longer expose it to user space. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit bb7ffbf29e76b89a86ca4c3ee0d4690641f2f772 Author: Giuseppe Cantavenera <giuseppe.cantavenera.ext@xxxxxxxxx> Date: Mon Apr 20 18:00:08 2015 +0200 nfsd: fix nsfd startup race triggering BUG_ON nfsd triggered a BUG_ON in net_generic(...) when rpc_pipefs_event(...) in fs/nfsd/nfs4recover.c was called before assigning ntfsd_net_id. The following was observed on a MIPS 32-core processor: kernel: Call Trace: kernel: [<ffffffffc00bc5e4>] rpc_pipefs_event+0x7c/0x158 [nfsd] kernel: [<ffffffff8017a2a0>] notifier_call_chain+0x70/0xb8 kernel: [<ffffffff8017a4e4>] __blocking_notifier_call_chain+0x4c/0x70 kernel: [<ffffffff8053aff8>] rpc_fill_super+0xf8/0x1a0 kernel: [<ffffffff8022204c>] mount_ns+0xb4/0xf0 kernel: [<ffffffff80222b48>] mount_fs+0x50/0x1f8 kernel: [<ffffffff8023dc00>] vfs_kern_mount+0x58/0xf0 kernel: [<ffffffff802404ac>] do_mount+0x27c/0xa28 kernel: [<ffffffff80240cf0>] SyS_mount+0x98/0xe8 kernel: [<ffffffff80135d24>] handle_sys64+0x44/0x68 kernel: kernel: Code: 0040f809 00000000 2e020001 <00020336> 3c12c00d 3c02801a de100000 6442eb98 0040f809 kernel: ---[ end trace 7471374335809536 ]--- Fixed this behaviour by calling register_pernet_subsys(&nfsd_net_ops) before registering rpc_pipefs_event(...) with the notifier chain. Signed-off-by: Giuseppe Cantavenera <giuseppe.cantavenera.ext@xxxxxxxxx> Signed-off-by: Lorenzo Restelli <lorenzo.restelli.ext@xxxxxxxxx> Reviewed-by: Kinlong Mee <kinglongmee@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 135dd002c23054aaa056ea3162c1e0356905c195 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Mon Apr 6 09:46:00 2015 -0400 nfsd: eliminate NFSD_DEBUG Commit f895b252d4edf ("sunrpc: eliminate RPC_DEBUG") introduced use of IS_ENABLED() in a uapi header which leads to a build failure for userspace apps trying to use <linux/nfsd/debug.h>: linux/nfsd/debug.h:18:15: error: missing binary operator before token "(" #if IS_ENABLED(CONFIG_SUNRPC_DEBUG) ^ Since this was only used to define NFSD_DEBUG if CONFIG_SUNRPC_DEBUG is enabled, replace instances of NFSD_DEBUG with CONFIG_SUNRPC_DEBUG. Cc: stable@xxxxxxxxxxxxxxx Fixes: f895b252d4edf "sunrpc: eliminate RPC_DEBUG" Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6e4891dc289cd191d46ab7ba1dcb29646644f9ca Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Fri Apr 3 17:19:41 2015 -0400 nfsd4: fix READ permission checking In the case we already have a struct file (derived from a stateid), we still need to do permission-checking; otherwise an unauthorized user could gain access to a file by sniffing or guessing somebody else's stateid. Cc: stable@xxxxxxxxxxxxxxx Fixes: dc97618ddda9 "nfsd4: separate splice and readv cases" Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 980608fb50aea34993ba956b71cd4602aa42b14b Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Apr 21 15:25:39 2015 -0400 nfsd4: disallow SEEK with special stateids If the client uses a special stateid then we'll pass a NULL file to vfs_llseek. Fixes: 24bab491220f " NFSD: Implement SEEK" Cc: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reported-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit df386375ffa8c2262a52db64a5b6446e11896978 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 21 13:14:53 2015 -0700 sparc64: Use M7 PMC write on all chips T4 and onward. They both work equally well, and the M7 implementation is simpler and cheaper (less register writes). With help from David Ahern. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af539e985b3fbe3b602313f317506a2a9e73f5bf Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Apr 21 14:57:45 2015 -0500 MAINTAINERS: Remove Mohit Kumar (email bounces) Email to Mohit Kumar <mohit.kumar@xxxxxx> has been bouncing, so remove the address from MAINTAINERS and add an entry in CREDITS. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit c19edb6946d250db6d4a3dbd6146f7b23bf3468b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Apr 15 13:34:28 2015 -0700 parisc: Replace PT_NLEVELS with CONFIG_PGTABLE_LEVELS The following warning is seen when compiling parisc images ./arch/parisc/include/asm/pgalloc.h: In function 'pgd_alloc': ./arch/parisc/include/asm/pgalloc.h:29:5: warning: "PT_NLEVELS" is not defined Some definitions of PT_NLEVELS were missed with the conversion to CONFIG_PGTABLE_LEVELS. Fixes: f24ffde43237 ("parisc: expose number of page table levels on Kconfig level") Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 8bf8a1d1c13c687eda599c827d713eb70764a79f Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Fri Mar 20 13:37:59 2015 -0400 parisc: Eliminate sg_virt_addr() and private scatterlist.h The only reason to keep parisc's private asm/scatterlist.h was that it had the macro sg_virt_addr(). Convert all callers to use something else (sometimes just sg->offset was enough, others should use sg_virt()), and we can just use the asm-generic scatterlist.h instead. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Dave Anglin <dave.anglin@xxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 3c7151275c0c9a80c3375f9874b1c7129a105eea Author: jbaron@xxxxxxxxxx <jbaron@xxxxxxxxxx> Date: Mon Apr 20 20:05:07 2015 +0000 tcp: add memory barriers to write space paths Ensure that we either see that the buffer has write space in tcp_poll() or that we perform a wakeup from the input side. Did not run into any actual problem here, but thought that we should make things explicit. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8ce8d7222b52200e61ea29523993e20751baaaa Merge: 1d11437 4885338 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 12:54:08 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull more input subsystem updates from Dmitry Torokhov: - an update to Atmel MXT driver that makes it functional on Google Pixel 2 boxes (both touchpad and touchscreen) - a new VMware VMMouse driver that should allow us drop X vmmouse driver that requires root privileges (since it accesses ioports) - XBox One controllers now support force feedback (rumble) * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: lm8333 - fix broken email address Input: cyapa - fix setting suspend scan rate Input: elan_i2c - fix calculating number of x and y traces. Input: elan_i2c - report hovering contacts Input: elants_i2c - zero-extend hardware ID in firmware name Input: alps - document separate pointstick button bits for V2 devices Input: atmel_mxt_ts - add support for Google Pixel 2 Input: xpad - add rumble support for Xbox One controller Input: ff-core - use new debug macros Input: add vmmouse driver Input: elan_i2c - adjust for newer firmware pressure reporting commit 1d11437f4fd02f9b5d3749675a1232216787dcc6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 12:49:33 2015 -0700 media: remove unused variable that causes a warning My 'allmodconfig' build is _almost_ free of warnings, and most of the remaining ones are for legacy drivers that just do bad things that I can't find it in my black heart to care too much about. But this one was just annoying me: drivers/media/v4l2-core/videobuf2-core.c:3256:26: warning: unused variable â??fileioâ?? [-Wunused-variable] because commit 0e661006370b ("[media] vb2: fix 'UNBALANCED' warnings when calling vb2_thread_stop()") removed all users of 'fileio' and instead calls "__vb2_cleanup_fileio(q)" to clean up q->fileio. But the now unused 'fileio' variable was left around. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5ba4a25ab7b13be528b23f85182f4d09cf7f71ad Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Fri Apr 3 16:24:27 2015 -0400 nfsd4: disallow ALLOCATE with special stateids vfs_fallocate will hit a NULL dereference if the client tries an ALLOCATE or DEALLOCATE with a special stateid. Fix that. (We also depend on the open to have broken any conflicting leases or delegations for us.) (If it turns out we need to allow special stateid's then we could do a temporary open here in the special-stateid case, as we do for read and write. For now I'm assuming it's not necessary.) Fixes: 95d871f03cae "nfsd: Add ALLOCATE support" Cc: stable@xxxxxxxxxxxxxxx Cc: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 48853389f206b689260ddfd3006816779ca7a52a Merge: 85a3685 c9eeb50 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 21 11:12:42 2015 -0700 Merge branch 'next' into for-linus Prepare second round of updates for 4.1 merge window. commit 123857a705603a1d10d2adc02e9dcd065b0e1cb1 Merge: 085e68e 66feed6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 21 20:04:41 2015 +0200 Merge tag 'signed-kvm-ppc-queue' of git://github.com/agraf/linux-2.6 into kvm-master Patch queue for ppc - 2015-04-21 This is the latest queue for KVM on PowerPC changes. Highlights this time around: - Book3S HV: Debugging aids - Book3S HV: Minor performance improvements - Book3S HV: Cleanups commit 085e68eeafbf76e21848ad5bafaecec88a11dd64 Author: Ben Serebrin <serebrin@xxxxxxxxxx> Date: Thu Apr 16 11:58:05 2015 -0700 KVM: VMX: Preserve host CR4.MCE value while in guest mode. The host's decision to enable machine check exceptions should remain in force during non-root mode. KVM was writing 0 to cr4 on VCPU reset and passed a slightly-modified 0 to the vmcs.guest_cr4 value. Tested: Built. On earlier version, tested by injecting machine check while a guest is spinning. Before the change, if guest CR4.MCE==0, then the machine check is escalated to Catastrophic Error (CATERR) and the machine dies. If guest CR4.MCE==1, then the machine check causes VMEXIT and is handled normally by host Linux. After the change, injecting a machine check causes normal Linux machine check handling. Signed-off-by: Ben Serebrin <serebrin@xxxxxxxxxx> Reviewed-by: Venkatesh Srinivas <venkateshs@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0c8027d50c070859314a88aaff42453ff4f71819 Merge: 1fc1499 64131a8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 10:01:27 2015 -0700 Merge tag 'media/v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - a new frontend driver for new ATSC devices: lgdt3306a - a new sensor driver: ov2659 - a new platform driver: xilinx - the m88ts2022 tuner driver was merged at ts2020 driver - the media controller gained experimental support for DVB and hybrid devices - lots of random cleanups, fixes and improvements on media drivers * tag 'media/v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (404 commits) [media] uvcvideo: add support for VIDIOC_QUERY_EXT_CTRL [media] uvcvideo: fix cropcap v4l2-compliance failure [media] media: omap3isp: remove unused clkdev [media] coda: Add tracing support [media] coda: drop dma_sync_single_for_device in coda_bitstream_queue [media] coda: fix fill bitstream errors in nonstreaming case [media] coda: call SEQ_END when the first queue is stopped [media] coda: fail to start streaming if userspace set invalid formats [media] coda: remove duplicate error messages for buffer allocations [media] coda: move parameter buffer in together with context buffer allocation [media] coda: allocate bitstream buffer from REQBUFS, size depends on the format [media] coda: allocate per-context buffers from REQBUFS [media] coda: use strlcpy instead of snprintf [media] coda: bitstream payload is unsigned [media] coda: fix double call to debugfs_remove [media] coda: check kasprintf return value in coda_open [media] coda: bitrate can only be set in kbps steps [media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and v4l2_m2m_buf_remove [media] s5p-mfc: set allow_zero_bytesused flag for vb2_queue_init [media] coda: set allow_zero_bytesused flag for vb2_queue_init ... commit 1fc149933fd49a5b0e7738dc0853dbfbac4ae0e1 Merge: 41d5e08 ea5505f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 09:42:58 2015 -0700 Merge tag 'char-misc-4.1-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 char/misc driver patchset for 4.1-rc1. Lots of different driver subsystem updates here, nothing major, full details are in the shortlog. All of this has been in linux-next for a while" * tag 'char-misc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (133 commits) mei: trace: remove unused TRACE_SYSTEM_STRING DTS: ARM: OMAP3-N900: Add lis3lv02d support Documentation: DT: lis302: update wakeup binding lis3lv02d: DT: add wakeup unit 2 and wakeup threshold lis3lv02d: DT: use s32 to support negative values Drivers: hv: hv_balloon: correctly handle num_pages>INT_MAX case Drivers: hv: hv_balloon: correctly handle val.freeram<num_pages case mei: replace check for connection instead of transitioning mei: use mei_cl_is_connected consistently mei: fix mei_poll operation hv_vmbus: Add gradually increased delay for retries in vmbus_post_msg() Drivers: hv: hv_balloon: survive ballooning request with num_pages=0 Drivers: hv: hv_balloon: eliminate jumps in piecewiese linear floor function Drivers: hv: hv_balloon: do not online pages in offline blocks hv: remove the per-channel workqueue hv: don't schedule new works in vmbus_onoffer()/vmbus_onoffer_rescind() hv: run non-blocking message handlers in the dispatch tasklet coresight: moving to new "hwtracing" directory coresight-tmc: Adding a status interface to sysfs coresight: remove the unnecessary configuration coresight-default-sink ... commit 41d5e08ea86af3359239d5a6f7021cdc61beaa49 Merge: 8d582b9 5dbc32a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 09:33:10 2015 -0700 Merge tag 'tty-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial updates from Greg KH: "Here's the big tty/serial driver update for 4.1-rc1. It was delayed for a bit due to some questions surrounding some of the console command line parsing changes that are in here. There's still one tiny regression for people who were previously putting multiple console command lines and expecting them all to be ignored for some odd reason, but Peter is working on fixing that. If not, I'll send a revert for the offending patch, but I have faith that Peter can address it. Other than the console work here, there's the usual serial driver updates and changes, and a buch of 8250 reworks to try to make that driver easier to maintain over time, and have it support more devices in the future. All of these have been in linux-next for a while" * tag 'tty-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (119 commits) n_gsm: Drop unneeded cast on netdev_priv sc16is7xx: expose RTS inversion in RS-485 mode serial: 8250_pci: port failed after wakeup from S3 earlycon: 8250: Document kernel command line options earlycon: 8250: Fix command line regression earlycon: Fix __earlycon_table stride tty: clean up the tty time logic a bit serial: 8250_dw: only get the clock rate in one place serial: 8250_dw: remove useless ACPI ID check dmaengine: hsu: move memory allocation to GFP_NOWAIT dmaengine: hsu: remove redundant pieces of code serial: 8250_pci: add Intel Tangier support dmaengine: hsu: add Intel Tangier PCI ID serial: 8250_pci: replace switch-case by formula for Intel MID serial: 8250_pci: replace switch-case by formula tty: cpm_uart: replace CONFIG_8xx by CONFIG_CPM1 serial: jsm: some off by one bugs serial: xuartps: Fix check in console_setup(). serial: xuartps: Get rid of register access macros. serial: xuartps: Fix iobase use. ... commit 8d582b94291b40dbb5961f99172ee8ebfafd4c9c Merge: e98bf5c b99e6fb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 09:31:26 2015 -0700 Merge tag 'pinctrl-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pincontrol Kconfig fix from Linus Walleij: "This fixes the annoying Kconfig noise from pin control. Mea Culpa" * tag 'pinctrl-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: fix allmodconfig noise commit e98bf5cedf25eb32f8f224e8dff9845f0856d18f Merge: 8f443e2 03bc10a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 09:24:09 2015 -0700 Merge tag 'clk-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux Pull clock framework updates from Michael Turquette: "The changes to the common clock framework for 4.0 are mostly new clock drivers and updates to existing ones for feature enhancements and bug fixes. There is more churn than usual in the framework core due to the change to introduce per-user unique struct clk pointers in 4.0. This caused several regressions to surface, some of which were sent as fixes to 4.0. New generic clock drivers were added for GPIO- and PWM-based clock controllers. Additionally the common clk-divider code recieved several fixes to the way it rounds rates" * tag 'clk-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (91 commits) clk: check ->determine/round_rate() return value in clk_calc_new_rates clk: at91: usb: propagate rate modification to the parent clk clk: samsung: exynos4: Disable ARMCLK down feature on Exynos4210 SoC clk: don't use __initconst for non-const arrays clk: at91: change to using endian agnositc IO clk: clk-gpio-gate: Fix active low clk: Add PWM clock driver clk: Add clock driver for mb86s7x clk: pxa: pxa3xx: add missing os timer clock clk: tegra: Use the proper parent for plld_dsi clk: tegra: Use generic tegra_osc_clk_init() on Tegra114 clk: tegra: Model oscillator as clock clk: tegra: Add peripheral registers for bank Y clk: tegra: Register the proper number of resets clk: tegra: Remove needless initializations clk: tegra: Use consistent indentation clk: tegra: Various whitespace cleanups clk: tegra: Enable HDA to HDMI clocks on Tegra124 clk: tegra: Fix a bunch of sparse warnings clk: tegra: Fix typo tabel -> table ... commit 8f443e2372ba23d51ee365974f54507acd6f69d1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 21 09:17:28 2015 -0700 Revert "ocfs2: incorrect check for debugfs returns" This reverts commit e2ac55b6a8e337fac7cc59c6f452caac92ab5ee6. Huang Ying reports that this causes a hang at boot with debugfs disabled. It is true that the debugfs error checks are kind of confusing, and this code certainly merits more cleanup and thinking about it, but there's something wrong with the trivial "check not just for NULL, but for error pointers too" patch. Yes, with debugfs disabled, we will end up setting the o2hb_debug_dir pointer variable to an error pointer (-ENODEV), and then continue as if everything was fine. But since debugfs is disabled, all the _users_ of that pointer end up being compiled away, so even though the pointer can not be dereferenced, that's still fine. So it's confusing and somewhat questionable, but the "more correct" error checks end up causing more trouble than they fix. Reported-by: Huang Ying <ying.huang@xxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Acked-by: Chengyu Song <csong84@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f80f6531b47c538b69769ada5e9fbacad085b34d Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Sat Apr 18 00:39:16 2015 +0100 ARM: 8344/1: VDSO: honor CONFIG_VDSO in Makefile When CONFIG_VDSO=n, the build normally does not enter arch/arm/vdso/ because arch/arm/Makefile does not add it to core-y. However, if the user runs 'make arch/arm/vdso/' the VDSO targets will get visited. This is because the VDSO Makefile itself does not consider the value of CONFIG_VDSO. It is arguably better and more consistent behavior to generate an empty built-in.o when CONFIG_VDSO=n and the user attempts to build arch/arm/vdso/. It's nicer because it doesn't try to build things that Kconfig dependencies are there to prevent (e.g. the dependency on AEABI), and it's less confusing than building objects that won't be used in the final image. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 2b507a2d9c7fdea3215aedf0a0e3660309f319e1 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Sat Apr 18 00:39:00 2015 +0100 ARM: 8343/1: VDSO: add build artifacts to .gitignore vdsomunge and vdso.so.raw are outputs that don't get matched by the normal ignore rules. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0a9024e80e85552b21076542355a4f4a7c0b9472 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Apr 19 20:28:53 2015 +0100 ARM: Fix nommu booting Commit bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with relative offset") broke booting on nommu platforms as it didn't update the nommu boot code. This patch fixes that oversight. Fixes: bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with relative offset") Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 66feed61cdf6ee65fd551d3460b1efba6bee55b8 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:12 2015 +1100 KVM: PPC: Book3S HV: Use msgsnd for signalling threads on POWER8 This uses msgsnd where possible for signalling other threads within the same core on POWER8 systems, rather than IPIs through the XICS interrupt controller. This includes waking secondary threads to run the guest, the interrupts generated by the virtual XICS, and the interrupts to bring the other threads out of the guest when exiting. Aggregated statistics from debugfs across vcpus for a guest with 32 vcpus, 8 threads/vcore, running on a POWER8, show this before the change: rm_entry: 3387.6ns (228 - 86600, 1008969 samples) rm_exit: 4561.5ns (12 - 3477452, 1009402 samples) rm_intr: 1660.0ns (12 - 553050, 3600051 samples) and this after the change: rm_entry: 3060.1ns (212 - 65138, 953873 samples) rm_exit: 4244.1ns (12 - 9693408, 954331 samples) rm_intr: 1342.3ns (12 - 1104718, 3405326 samples) for a test of booting Fedora 20 big-endian to the login prompt. The time taken for a H_PROD hcall (which is handled in the host kernel) went down from about 35 microseconds to about 16 microseconds with this change. The noinline added to kvmppc_run_core turned out to be necessary for good performance, at least with gcc 4.9.2 as packaged with Fedora 21 and a little-endian POWER8 host. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit eddb60fb1443f85c5728f1b1cd4be608c6832a79 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:11 2015 +1100 KVM: PPC: Book3S HV: Translate kvmhv_commence_exit to C This replaces the assembler code for kvmhv_commence_exit() with C code in book3s_hv_builtin.c. It also moves the IPI sending code that was in book3s_hv_rm_xics.c into a new kvmhv_rm_send_ipi() function so it can be used by kvmhv_commence_exit() as well as icp_rm_set_vcpu_irq(). Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6af27c847ad1b889c29a641dfc41f2d78c46a048 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:10 2015 +1100 KVM: PPC: Book3S HV: Streamline guest entry and exit On entry to the guest, secondary threads now wait for the primary to switch the MMU after loading up most of their state, rather than before. This means that the secondary threads get into the guest sooner, in the common case where the secondary threads get to kvmppc_hv_entry before the primary thread. On exit, the first thread out increments the exit count and interrupts the other threads (to get them out of the guest) before saving most of its state, rather than after. That means that the other threads exit sooner and means that the first thread doesn't spend so much time waiting for the other threads at the point where the MMU gets switched back to the host. This pulls out the code that increments the exit count and interrupts other threads into a separate function, kvmhv_commence_exit(). This also makes sure that r12 and vcpu->arch.trap are set correctly in some corner cases. Statistics from /sys/kernel/debug/kvm/vm*/vcpu*/timings show the improvement. Aggregating across vcpus for a guest with 32 vcpus, 8 threads/vcore, running on a POWER8, gives this before the change: rm_entry: avg 4537.3ns (222 - 48444, 1068878 samples) rm_exit: avg 4787.6ns (152 - 165490, 1010717 samples) rm_intr: avg 1673.6ns (12 - 341304, 3818691 samples) and this after the change: rm_entry: avg 3427.7ns (232 - 68150, 1118921 samples) rm_exit: avg 4716.0ns (12 - 150720, 1119477 samples) rm_intr: avg 1614.8ns (12 - 522436, 3850432 samples) showing a substantial reduction in the time spent per guest entry in the real-mode guest entry code, and smaller reductions in the real mode guest exit and interrupt handling times. (The test was to start the guest and boot Fedora 20 big-endian to the login prompt.) Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7d6c40da198ac18bd5dd2cd18628d5b4c615d842 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:09 2015 +1100 KVM: PPC: Book3S HV: Use bitmap of active threads rather than count Currently, the entry_exit_count field in the kvmppc_vcore struct contains two 8-bit counts, one of the threads that have started entering the guest, and one of the threads that have started exiting the guest. This changes it to an entry_exit_map field which contains two bitmaps of 8 bits each. The advantage of doing this is that it gives us a bitmap of which threads need to be signalled when exiting the guest. That means that we no longer need to use the trick of setting the HDEC to 0 to pull the other threads out of the guest, which led in some cases to a spurious HDEC interrupt on the next guest entry. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fd6d53b12410b4b73e3996629350dee3f4a7994f Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:08 2015 +1100 KVM: PPC: Book3S HV: Use decrementer to wake napping threads This arranges for threads that are napping due to their vcpu having ceded or due to not having a vcpu to wake up at the end of the guest's timeslice without having to be poked with an IPI. We do that by arranging for the decrementer to contain a value no greater than the number of timebase ticks remaining until the end of the timeslice. In the case of a thread with no vcpu, this number is in the hypervisor decrementer already. In the case of a ceded vcpu, we use the smaller of the HDEC value and the DEC value. Using the DEC like this when ceded means we need to save and restore the guest decrementer value around the nap. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ccc07772c99befeda7a7a4b1d05a6f3b762518c2 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:07 2015 +1100 KVM: PPC: Book3S HV: Don't wake thread with no vcpu on guest IPI When running a multi-threaded guest and vcpu 0 in a virtual core is not running in the guest (i.e. it is busy elsewhere in the host), thread 0 of the physical core will switch the MMU to the guest and then go to nap mode in the code at kvm_do_nap. If the guest sends an IPI to thread 0 using the msgsndp instruction, that will wake up thread 0 and cause all the threads in the guest to exit to the host unnecessarily. To avoid the unnecessary exit, this arranges for the PECEDP bit to be cleared in this situation. When napping due to a H_CEDE from the guest, we still set PECEDP so that the thread will wake up on an IPI sent using msgsndp. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5d5b99cd6818bdbea287d23ef055bba1a8a9e648 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:06 2015 +1100 KVM: PPC: Book3S HV: Get rid of vcore nap_count and n_woken We can tell when a secondary thread has finished running a guest by the fact that it clears its kvm_hstate.kvm_vcpu pointer, so there is no real need for the nap_count field in the kvmppc_vcore struct. This changes kvmppc_wait_for_nap to poll the kvm_hstate.kvm_vcpu pointers of the secondary threads rather than polling vc->nap_count. Besides reducing the size of the kvmppc_vcore struct by 8 bytes, this also means that we can tell which secondary threads have got stuck and thus print a more informative error message. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 25fedfca94cfbf2461314c6c34ef58e74a31b025 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:05 2015 +1100 KVM: PPC: Book3S HV: Move vcore preemption point up into kvmppc_run_vcpu Rather than calling cond_resched() in kvmppc_run_core() before doing the post-processing for the vcpus that we have just run (that is, calling kvmppc_handle_exit_hv(), kvmppc_set_timer(), etc.), we now do that post-processing before calling cond_resched(), and that post- processing is moved out into its own function, post_guest_process(). The reschedule point is now in kvmppc_run_vcpu() and we define a new vcore state, VCORE_PREEMPT, to indicate that that the vcore's runner task is runnable but not running. (Doing the reschedule with the vcore in VCORE_INACTIVE state would be bad because there are potentially other vcpus waiting for the runner in kvmppc_wait_for_exec() which then wouldn't get woken up.) Also, we make use of the handy cond_resched_lock() function, which unlocks and relocks vc->lock for us around the reschedule. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1f09c3ed86287d40fef90611cbbee055313f52cf Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:04 2015 +1100 KVM: PPC: Book3S HV: Minor cleanups * Remove unused kvmppc_vcore::n_busy field. * Remove setting of RMOR, since it was only used on PPC970 and the PPC970 KVM support has been removed. * Don't use r1 or r2 in setting the runlatch since they are conventionally reserved for other things; use r0 instead. * Streamline the code a little and remove the ext_interrupt_to_host label. * Add some comments about register usage. * hcall_try_real_mode doesn't need to be global, and can't be called from C code anyway. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d911f0beddc2a9248dbf375fc50a4bbf30947822 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:03 2015 +1100 KVM: PPC: Book3S HV: Simplify handling of VCPUs that need a VPA update Previously, if kvmppc_run_core() was running a VCPU that needed a VPA update (i.e. one of its 3 virtual processor areas needed to be pinned in memory so the host real mode code can update it on guest entry and exit), we would drop the vcore lock and do the update there and then. Future changes will make it inconvenient to drop the lock, so instead we now remove it from the list of runnable VCPUs and wake up its VCPU task. This will have the effect that the VCPU task will exit kvmppc_run_vcpu(), go around the do loop in kvmppc_vcpu_run_hv(), and re-enter kvmppc_run_vcpu(), whereupon it will do the necessary call to kvmppc_update_vpas() and then rejoin the vcore. The one complication is that the runner VCPU (whose VCPU task is the current task) might be one of the ones that gets removed from the runnable list. In that case we just return from kvmppc_run_core() and let the code in kvmppc_run_vcpu() wake up another VCPU task to be the runner if necessary. This all means that the VCORE_STARTING state is no longer used, so we remove it. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b6c295df3131c6fa25f8f29625ee0609506150ad Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:02 2015 +1100 KVM: PPC: Book3S HV: Accumulate timing information for real-mode code This reads the timebase at various points in the real-mode guest entry/exit code and uses that to accumulate total, minimum and maximum time spent in those parts of the code. Currently these times are accumulated per vcpu in 5 parts of the code: * rm_entry - time taken from the start of kvmppc_hv_entry() until just before entering the guest. * rm_intr - time from when we take a hypervisor interrupt in the guest until we either re-enter the guest or decide to exit to the host. This includes time spent handling hcalls in real mode. * rm_exit - time from when we decide to exit the guest until the return from kvmppc_hv_entry(). * guest - time spend in the guest * cede - time spent napping in real mode due to an H_CEDE hcall while other threads in the same vcore are active. These times are exposed in debugfs in a directory per vcpu that contains a file called "timings". This file contains one line for each of the 5 timings above, with the name followed by a colon and 4 numbers, which are the count (number of times the code has been executed), the total time, the minimum time, and the maximum time, all in nanoseconds. The overhead of the extra code amounts to about 30ns for an hcall that is handled in real mode (e.g. H_SET_DABR), which is about 25%. Since production environments may not wish to incur this overhead, the new code is conditional on a new config symbol, CONFIG_KVM_BOOK3S_HV_EXIT_TIMING. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e23a808b1681d398a983ebc51179efc51c4a1eaf Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Sat Mar 28 14:21:01 2015 +1100 KVM: PPC: Book3S HV: Create debugfs file for each guest's HPT This creates a debugfs directory for each HV guest (assuming debugfs is enabled in the kernel config), and within that directory, a file by which the contents of the guest's HPT (hashed page table) can be read. The directory is named vmnnnn, where nnnn is the PID of the process that created the guest. The file is named "htab". This is intended to help in debugging problems in the host's management of guest memory. The contents of the file consist of a series of lines like this: 3f48 4000d032bf003505 0000000bd7ff1196 00000003b5c71196 The first field is the index of the entry in the HPT, the second and third are the HPT entry, so the third entry contains the real page number that is mapped by the entry if the entry's valid bit is set. The fourth field is the guest's view of the second doubleword of the entry, so it contains the guest physical address. (The format of the second through fourth fields are described in the Power ISA and also in arch/powerpc/include/asm/mmu-hash64.h.) Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6e0365b782739eb41b03bcfd23abeefacbf0817a Author: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:48 2015 +1100 KVM: PPC: Book3S HV: Add ICP real mode counters Add two counters to count how often we generate real-mode ICS resend and reject events. The counters provide some performance statistics that could be used in the future to consider if the real mode functions need further optimizing. The counters are displayed as part of IPC and ICP state provided by /sys/debug/kernel/powerpc/kvm* for each VM. Also added two counters that count (approximately) how many times we don't find an ICP or ICS we're looking for. These are not currently exposed through sysfs, but can be useful when debugging crashes. Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b0221556dbd3c31c47f37703f856aeeffc78abd3 Author: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:47 2015 +1100 KVM: PPC: Book3S HV: Move virtual mode ICP functions to real-mode Interrupt-based hypercalls return H_TOO_HARD to inform KVM that it needs to switch to the host to complete the rest of hypercall function in virtual mode. This patch ports the virtual mode ICS/ICP reject and resend functions to be runnable in hypervisor real mode, thus avoiding the need to switch to the host to execute these functions in virtual mode. However, the hypercalls continue to return H_TOO_HARD for vcpu_wakeup and notify events - these events cannot be done in real mode and they will still need a switch to host virtual mode. There are sufficient differences between the real mode code and the virtual mode code for the ICS/ICP resend and reject functions that for now the code has been duplicated instead of sharing common code. In the future, we can look at creating common functions. Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 34cb7954c0aa7c8ad1591cb6cceae36432f55bb5 Author: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:46 2015 +1100 KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock Replaces the ICS mutex lock with a spin lock since we will be porting these routines to real mode. Note that we need to disable interrupts before we take the lock in anticipation of the fact that on the guest side, we are running in the context of a hard irq and interrupts are disabled (EE bit off) when the lock is acquired. Again, because we will be acquiring the lock in hypervisor real mode, we need to use an arch_spinlock_t instead of a normal spinlock here as we want to avoid running any lockdep code (which may not be safe to execute in real mode). Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 878610fe9884a34a282cd4431237343864324d23 Author: Suresh E. Warrier <warrier@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:45 2015 +1100 KVM: PPC: Book3S HV: Add guest->host real mode completion counters Add counters to track number of times we switch from guest real mode to host virtual mode during an interrupt-related hyper call because the hypercall requires actions that cannot be completed in real mode. This will help when making optimizations that reduce guest-host transitions. It is safe to use an ordinary increment rather than an atomic operation because there is one ICP per virtual CPU and kvmppc_xics_rm_complete() only works on the ICP for the current VCPU. The counters are displayed as part of IPC and ICP state provided by /sys/debug/kernel/powerpc/kvm* for each VM. Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a4bd6eb07ca72d21a7a34499ad34cfef6f527d4e Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:43 2015 +1100 KVM: PPC: Book3S HV: Add helpers for lock/unlock hpte This adds helper routines for locking and unlocking HPTEs, and uses them in the rest of the code. We don't change any locking rules in this patch. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 31037ecad275e9ad9bc671c34f72b495cf708ca3 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:42 2015 +1100 KVM: PPC: Book3S HV: Remove RMA-related variables from code We don't support real-mode areas now that 970 support is removed. Remove the remaining details of rma from the code. Also rename rma_setup_done to hpte_setup_done to better reflect the changes. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e928e9cb3601ce240189bfea05b67ebd391c85ae Author: Michael Ellerman <michael@xxxxxxxxxxxxxx> Date: Fri Mar 20 20:39:41 2015 +1100 KVM: PPC: Book3S HV: Add fast real-mode H_RANDOM implementation. Some PowerNV systems include a hardware random-number generator. This HWRNG is present on POWER7+ and POWER8 chips and is capable of generating one 64-bit random number every microsecond. The random numbers are produced by sampling a set of 64 unstable high-frequency oscillators and are almost completely entropic. PAPR defines an H_RANDOM hypercall which guests can use to obtain one 64-bit random sample from the HWRNG. This adds a real-mode implementation of the H_RANDOM hypercall. This hypercall was implemented in real mode because the latency of reading the HWRNG is generally small compared to the latency of a guest exit and entry for all the threads in the same virtual core. Userspace can detect the presence of the HWRNG and the H_RANDOM implementation by querying the KVM_CAP_PPC_HWRNG capability. The H_RANDOM hypercall implementation will only be invoked when the guest does an H_RANDOM hypercall if userspace first enables the in-kernel H_RANDOM implementation using the KVM_CAP_PPC_ENABLE_HCALL capability. Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 99342cf8044420eebdf9297ca03a14cb6a7085a1 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 11:53:25 2015 +1100 kvmppc: Implement H_LOGICAL_CI_{LOAD,STORE} in KVM On POWER, storage caching is usually configured via the MMU - attributes such as cache-inhibited are stored in the TLB and the hashed page table. This makes correctly performing cache inhibited IO accesses awkward when the MMU is turned off (real mode). Some CPU models provide special registers to control the cache attributes of real mode load and stores but this is not at all consistent. This is a problem in particular for SLOF, the firmware used on KVM guests, which runs entirely in real mode, but which needs to do IO to load the kernel. To simplify this qemu implements two special hypercalls, H_LOGICAL_CI_LOAD and H_LOGICAL_CI_STORE which simulate a cache-inhibited load or store to a logical address (aka guest physical address). SLOF uses these for IO. However, because these are implemented within qemu, not the host kernel, these bypass any IO devices emulated within KVM itself. The simplest way to see this problem is to attempt to boot a KVM guest from a virtio-blk device with iothread / dataplane enabled. The iothread code relies on an in kernel implementation of the virtio queue notification, which is not triggered by the IO hcalls, and so the guest will stall in SLOF unable to load the guest OS. This patch addresses this by providing in-kernel implementations of the 2 hypercalls, which correctly scan the KVM IO bus. Any access to an address not handled by the KVM IO bus will cause a VM exit, hitting the qemu implementation as before. Note that a userspace change is also required, in order to enable these new hcall implementations with KVM_CAP_PPC_ENABLE_HCALL. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> [agraf: fix compilation] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ae75116efdc29bb42f1d99f8c51b5c52965b2413 Author: Suresh E. Warrier <warrier@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 17:23:53 2015 -0600 powerpc: Export __spin_yield Export __spin_yield so that the arch_spin_unlock() function can be invoked from a module. This will be required for modules where we want to take a lock that is also is acquired in hypervisor real mode. Because we want to avoid running any lockdep code (which may not be safe in real mode), this lock needs to be an arch_spinlock_t instead of a normal spinlock. Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Acked-by: Paul Mackerras <paulus@xxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 64131a87f2aae2ed9e05d8227c5b009ca6c50d98 Merge: 676ee36 2c33ce0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Apr 21 06:33:03 2015 -0300 Merge branch 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux into v4l_for_linus * 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux: (9717 commits) media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format hexdump: avoid warning in test function fs: take i_mutex during prepare_binprm for set[ug]id executables smp: Fix error case handling in smp_call_function_*() iommu-common: Fix PARISC compile-time warnings sparc: Make LDC use common iommu poll management functions sparc: Make sparc64 use scalable lib/iommu-common.c functions Break up monolithic iommu table/lock into finer graularity pools and lock sparc: Revert generic IOMMU allocator. tools/power turbostat: correct dumped pkg-cstate-limit value tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL tools/power turbostat: correct DRAM RAPL units on recent Xeon processors tools/power turbostat: Initial Skylake support tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile tools/power turbostat: modprobe msr, if needed tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2 tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names Bluetooth: hidp: Fix regression with older userspace and flags validation config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected perf/x86/intel/pt: Fix and clean up error handling in pt_event_add() ... That solves several merge conflicts: Documentation/DocBook/media/v4l/subdev-formats.xml Documentation/devicetree/bindings/vendor-prefixes.txt drivers/staging/media/mn88473/mn88473.c include/linux/kconfig.h include/uapi/linux/media-bus-format.h The ones at subdev-formats.xml and media-bus-format.h are not trivial. That's why we opted to merge from DRM. commit 72449cb47b0104c32ff8fb9380ade9113375d8d1 Author: Sumit Semwal <sumit.semwal@xxxxxxxxxx> Date: Sat Feb 21 09:00:17 2015 +0530 staging: android: ion: fix wrong init of dma_buf_export_info Fixes: 817bd7253291 ("dma-buf: cleanup dma_buf_export() to make it easily extensible") Stupid copy-paste from me in the above patch leads to the following static checker warning: drivers/staging/android/ion/ion.c:1112 ion_share_dma_buf() error: potentially dereferencing uninitialized 'buffer'. drivers/staging/android/ion/ion.c 1103 struct dma_buf *ion_share_dma_buf(struct ion_client *client, 1104 struct ion_handle *handle) 1105 { 1106 struct ion_buffer *buffer; ^^^^^^ 1107 struct dma_buf *dmabuf; 1108 bool valid_handle; 1109 DEFINE_DMA_BUF_EXPORT_INFO(exp_info); 1110 1111 exp_info.ops = &dma_buf_ops; 1112 exp_info.size = buffer->size; ^^^^^^ 1113 exp_info.flags = O_RDWR; 1114 exp_info.priv = buffer; ^^^^^^ And here also. 1115 This patch corrects this stupidity. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Sumit Semwal <sumit.semwal@xxxxxxxxxx> commit d8fbe341beb617ebb22b98fb893e4aa32ae2d864 Author: Sumit Semwal <sumit.semwal@xxxxxxxxxx> Date: Fri Jan 23 12:53:43 2015 +0530 dma-buf: cleanup dma_buf_export() to make it easily extensible At present, dma_buf_export() takes a series of parameters, which makes it difficult to add any new parameters for exporters, if required. Make it simpler by moving all these parameters into a struct, and pass the struct * as parameter to dma_buf_export(). While at it, unite dma_buf_export_named() with dma_buf_export(), and change all callers accordingly. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Reviewed-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Sumit Semwal <sumit.semwal@xxxxxxxxxx> commit 676ee36be04985062522804c2de04f0764212be6 Merge: b18042a e183201 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Apr 21 06:12:35 2015 -0300 Merge branch 'patchwork' into v4l_for_linus * patchwork: (404 commits) [media] uvcvideo: add support for VIDIOC_QUERY_EXT_CTRL [media] uvcvideo: fix cropcap v4l2-compliance failure [media] media: omap3isp: remove unused clkdev [media] coda: Add tracing support [media] coda: drop dma_sync_single_for_device in coda_bitstream_queue [media] coda: fix fill bitstream errors in nonstreaming case [media] coda: call SEQ_END when the first queue is stopped [media] coda: fail to start streaming if userspace set invalid formats [media] coda: remove duplicate error messages for buffer allocations [media] coda: move parameter buffer in together with context buffer allocation [media] coda: allocate bitstream buffer from REQBUFS, size depends on the format [media] coda: allocate per-context buffers from REQBUFS [media] coda: use strlcpy instead of snprintf [media] coda: bitstream payload is unsigned [media] coda: fix double call to debugfs_remove [media] coda: check kasprintf return value in coda_open [media] coda: bitrate can only be set in kbps steps [media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and v4l2_m2m_buf_remove [media] s5p-mfc: set allow_zero_bytesused flag for vb2_queue_init [media] coda: set allow_zero_bytesused flag for vb2_queue_init ... commit 7d1b6e29327428993ba568bdd8c66734070f45e0 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Apr 21 10:48:46 2015 +0200 ALSA: hda - fix "num_steps = 0" error on ALC256 The ALC256 does not have a mixer nid at 0x0b, and there's no loopback path (the output pins are directly connected to the DACs). This commit fixes an "num_steps = 0 for NID=0xb (ctl = Beep Playback Volume)" error (and as a result, problems with amixer/alsamixer). If there's pcbeep functionality, it certainly isn't controlled by setting an amp on 0x0b, so disable beep functionality (at least for now). Cc: stable@xxxxxxxxxxxxxxx BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1446517 Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6d1f2f605601ec701b561eca143c03e2a22d6489 Author: Takamichi Horikawa <takamichiho@xxxxxxxxx> Date: Tue Apr 21 11:23:57 2015 +0900 ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module Roland SC-D70 reports its device class as vendor specific class and the quirk QUIRK_AUDIO_FIXED_ENDPOINT was used for audio output. In the quirks table the sampling rate was hard-coded to 44100 Hz and therefore not worked when the sound module was in 48000 Hz mode. In this change the quirk is changed to QUIRK_AUDIO_STANDARD_INTERFACE but as the sound module reports incorrect bSubframeSize in its descriptors, additional change is made in format.c to detect it and to override it (which uses the existing code for Edirol SD-90). Tested both when the sound module was in 44100 Hz mode and 48000 Hz mode and both audio input and output. MIDI related part of the driver is not touched. Signed-off-by: Takamichi Horikawa <takamichiho@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 40cc2392f4b144197d05eec73c1560f42fc25def Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Tue Apr 21 13:12:23 2015 +0800 ALSA: hda - add AZX_DCAPS_I915_POWERWELL to Baytrail This patch addes AZX_DCAPS_I915_POWERWELL to BYT (Baytrail). Like Braswell and Skylake, the HDMI codec on Bytrail is also in the shared power well with GPU. This power well must be turned on before we reset link to probe the codec, to avoid communication failure with the codec. The side effect is that this power is always ON in S0 because the BYT HDMI codec does not support EPSS or D3ClkStop and so the controller doesn't enter D3 at runtime, and the HDMI codec and analog codec share a single physical HD-A link and so we cannot reset the HD-A link freely when we re-enable the power to use the HDMI codec. Next step is to test if an AGP reset or double AGP reset on BYT HDMI codec is okay to bring the HDMI codec back to a functional state after restoring the power. If okay, we can bind the power on/off with the HDMI codec PM without interrupting the analog audio. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 71cd26e76a9514715df7880db0a8f7c37c17149a Author: Andreas Oetken <ennoerlangen@xxxxxxxxx> Date: Tue Apr 21 00:16:38 2015 +0200 altera tse: Error-Bit on tx-avalon-stream always set. The Error-Bit on the avalon streaming interface of the tx-dma-channel was always set. In SGMII configurations this leads to error-symbols on the PCS and packet-rejection on the receiver side (e.g. SGMII/1000Base-X connected switch). This only applies to the tse-configuration with MSGDMA. This issue was detected and fixed on a custom board with a direct connection to a Marvell switch in SGMII-PHY-Mode. (incl. custom patches for SGMII-PCS). According to the datasheet if ff_tx_err (avalon-streaming) is set it is forwarded to gm_tx_err. As a result the PCS is forwarding the error by sending a "/V/"-caracter. Signed-off-by: Andreas Oetken <ennoerlangen@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47cf1e659e0f44c29788a96345862c44c6a48c89 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 17:43:26 2015 -0400 net: dsa: mv88e6xxx: use PORT_DEFAULT_VLAN Minor, use the explicit PORT_DEFAULT_VLAN define instead of 0x07. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 614f03fc6a897d212546a93f50d449409215dfd4 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 17:19:23 2015 -0400 net: dsa: mv88e6xxx: fix setup of port control 1 mv88e6xxx_setup_port_common was writing to PORT_DEFAULT_VLAN (port offset 0x07) instead of PORT_CONTROL_1 (port offset 0x05). Fixes: cca8b1337541 ("net: dsa: Use mnemonics rather than register numbers") Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91f5bd8437d39feecfee215e032f440b1faa25f8 Merge: a068833 3dfb053 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 20 21:57:26 2015 -0400 Merge branch 'ppp_csum_unset' Tom Herbert says: ==================== net: Fix "hw csum failure" message flood for ppp tunnel This patch set addresses bug "Bug 95171 - "hw csum failure" message flood for ppp tunnel since upgrade to 3.16". The problem is that pppoe is being used over UDP with UDP checksusm enabled. On receive checksum conversion turns checksum-unnecessary in checksum- complete. The PPP receive functions do not properly pull the checksum over its headers, so that when an encapsulated checksums is considered the checksum-complete value is incorrect. This patch adds skb_checksum_complete_unset which can be called in the receive path in lieu of pulling checksum complete in layer. This is useful when the packet is being modified (e.g. decompressed) and the checksum-complete value is no longer relevant. In the ppp_receive_frame we call skb_checksum_complete_unset to toss out checksum-complete. This should eliminate the reported messages. Alternatively, we could add skb_postpull_rcsum and probably special case handling for VJ compression if maintaining the checksum-complete is needed (not clear to me this is worth the effort). I haven't tested this since setting up the failure scenario doesn't seem trivial to configure. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3dfb05340ec6676e6fc71a9ae87bbbe66d3c2998 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Apr 20 14:10:05 2015 -0700 ppp: call skb_checksum_complete_unset in ppp_receive_frame Call checksum_complete_unset in PPP receive to discard checksum-complete value. PPP does not pull checksum for headers and also modifies packet as in VJ compression. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e18b9adf2f910ec4d30b811a74a5b626e6c6125 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Apr 20 14:10:04 2015 -0700 net: add skb_checksum_complete_unset This function changes ip_summed to CHECKSUM_NONE if CHECKSUM_COMPLETE is set. This is called to discard checksum-complete when packet is being modified and checksum is not pulled for headers in a layer. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 646da63172f660ba84f195c1165360a9b73583ee Merge: 8f49309 315491e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 15:40:10 2015 -0700 Merge tag 'remoteproc-4.1-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc Pull remoteproc update from Ohad Ben-Cohen: "Suman Anna is adding remoteproc support for processors not behind IOMMUs" * tag 'remoteproc-4.1-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc: remoteproc: add IOMMU hardware capability flag commit 8f49309a261dbe9b5217908e0e8ee8da7f148695 Merge: b153f1d 3323641 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 15:31:49 2015 -0700 Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull misc kbuild updates: "This is the remaining part of kbuild stuff for v4.1-rc1: - One wew coccinelle script and a clarification of the proposed fix in bugon.coccinelle - CONFIG_KERNEL_LZ4 support for extract-ikconfig" * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning scripts/extract-ikconfig: Support LZ4-compressed images. irqf_oneshot.cocci: add check of devm_request_threaded_irq() commit b153f1d37a7d469501482bb3b38f398d4e778616 Merge: bf2ae5d 56cbd0c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 15:25:19 2015 -0700 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "I'd like to say these were a set of regressions for the recent merge window code. Unfortunately, they all predate the merge window code (stable cc'd). There are two fixes for data integrity (mostly only showing up on module removal), an mvsas crash with expander attached SATA devices which goes back to the dawn of the driver but is only just being picked up as sas expanders become a standard item in low end server hardware, an am53c974 one because the interrupt data isn't fully initialised before the line is and a megaraid_sas one because it uses smp_processor_id() to select MSI-X queues and that now triggers a WARN_ON()" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: mvsas: fix panic on expander attached SATA devices am53c974: Fix crash during modprobe megaraid_sas: use raw_smp_processor_id() sd: Fix missing ATO tag check sd: Unregister integrity profile commit bf2ae5d337cd09dfee3041364a36c5214cc7faf9 Merge: 14aa024 6b75b54 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 15:16:25 2015 -0700 Merge tag 'fbdev-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev updates from Tomi Valkeinen: "Small fixes and improvements to various fbdev drivers" * tag 'fbdev-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (24 commits) omapdss: extend pm notifier to handle hibernation OMAPDSS: Correct video ports description file path in DT binding doc OMAPDSS: disable VT switch fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex video: fbdev: sh_mobile_lcdcfb: Fix ROP3 sysfs attribute parsing fbdev: pm3fb: cleanup some confusing indenting hyperv: hyperv_fb: match wait_for_completion_timeout return type video: fbdev: use msecs_to_jiffies for time conversions fbdev: via/via_clock: fix sparse warning video: fbdev: make of_device_id array const fbdev: sm501fb: use memset_io OMAPDSS: workaround for MFLAG + NV12 issue OMAPDSS: Add support for MFLAG OMAPDSS: setup default fifo thresholds OMAPDSS: DISPC: lock access to DISPC_CONTROL & DISPC_CONFIG OMAPDSS: DISPC: fix div by zero issue in overlay scaling OMAPDSS: DISPC: change sync_pclk_edge default value OMAPDSS: change signal_level & signal_edge enum values OMAPDSS: DISPC: explicit handling for sync and de levels OMAPDSS: DISPC: remove OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES ... commit 14aa02449064541217836b9f3d3295e241d5ae9c Merge: 79319a0 2c33ce0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 14:06:06 2015 -0700 Merge branch 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux Pull drm updates from Dave Airlie: "Highlights: Core: - Virtual GEM layer merged, this has been around for a long time, and it provides a software backed device that allows userspace to use it as a GEM shared memory handler. This makes it a lot easier to do certain things when you have no GPU but still have to deal with DRI expectations. - atomic helper updates. - framebuffer modifier interface added. - i2c over auxch displayport fixes. - fb width/height confusion fixes. - new driver for ps8622/ps8625 bridge chips - lots of new panels i915: - more plane atomic conversion - vGPU guest support for XenGT - Skylake workarounds and fixes - Y-tiling support - work on dynamic pagetable allocation - EU count report param for gen9+ - CHV fixes (no longer prelim) - remove ilk rc6 - frontbuffer tracking for fbc - Displayport link rate refactoring - sprite colorkey refactor radeon: - Displayport MST support (not enabled by default) - non-ATOM native hw auxch support (DCE5+) - output csc support - new queries for userspace debug support - new VCE packet nouveau: - gk20a iommu support - gm107 graphics support - more gm20x bringup (waiting on signed nvidia fw). amdkfd: - multiple kgd instance support - use 64-bit time accessors msm: - stolen memory support - DSI and dual-DSI support - snapdragon 410 support exynos: - cleanups for atomic and pageflip imx-drm: - more media-bus formats - TV output prep - drm panel support tegra: - hw vblank counter using host1x syncpoints omap: - universal plane support - prep work for atomic modesetting rcar-du: - ported to atomic modesetting atmel-hlcdc: - ported to atomic modesetting - added suspend/resume support sti: - ported to atomic modesetting dwhdmi: - more compliant audio support - update rockchip phy support tda998x: - DT probing for attached crtcs - simplified EDID reading rockchip: - fixes adv7511: - fixes" * 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux: (689 commits) media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format drm/i915: Dont enable CS_PARSER_ERROR interrupts at all drm/i915: Move drm_framebuffer_unreference out of struct_mutex for takeover drm: fix trivial typo mistake drm: Make integer overflow checking cover universal cursor updates (v2) drm/nouveau/bios: fix fetching from acpi on certain systems drm/nouveau/gr/gm206: initial init+ctx code drm/nouveau/ce/gm206: enable support via gm204 code drm/nouveau/fifo/gm206: enable support via gm204 code drm/nouveau/gr/gm204: initial init+ctx code drm/nouveau: support for buffer moves via MaxwellDmaCopyA drm/nouveau/ce/gm204: initial support drm/nouveau: add support for gm20x fifo channels drm/nouveau/fifo/gm204: initial support drm/nouveau/gr/gk104-: prevent reading non-existent regs in intr handler drm/nouveau/gr/gm107: very slightly demagic part of attrib cb setup drm/nouveau/gr/gk104-: correct crop/zrop num_active_fbps setting drm/nouveau/gr/gf100-: add symbolic names for classes drm/nouveau/gr/gm107: support tpc "strand" ctxsw in gpccs ucode drm/nouveau/gr/gf100-: support mmio access with gpc offset from gpccs ucode ... commit a068833bbf0ede9203410f8fd186178c758ade9b Author: Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx> Date: Mon Apr 20 21:07:48 2015 +0200 pppoe: Lacks DST MAC address check A pppoe session is identified by its session ID and MAC address. Currently pppoe does not check if the received pkg has the correct MAC address. This is a problem when the eth I/F is in promisc mode as then any DST MAC address is accepted. Signed-off-by: Joakim Tjernlund <joakim.tjernlund@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b53c7582805b10d6a32e88e22d16dc469e66a37a Merge: 7d3beab 3cd44dcd Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Apr 21 00:21:14 2015 +0530 Merge branch 'topic/sh' into for-linus commit 4113756603db46cec464b39100770979e982bd4c Merge: 64fb1d0 7b3372d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 20 14:09:55 2015 -0400 Merge branch 'iommu-common-fixes' Sowmini Varadhan says: ==================== iommu-common build warning fixes. This patchset has fixes for 2 architectures - Part 1: x86_64 warnings generated by sparse - Part 2: allmodconfig build error for powerpc, identified by Guenter Roeck. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b3372d4c2bced80598771aab8fea87c40ebb52a Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Sun Apr 19 13:13:31 2015 -0400 iommu-common: rename iommu_pool_hash to iommu_hash_common When CONFIG_DEBUG_FORCE_WEAK_PER_CPU is set, the DEFINE_PER_CPU_SECTION macro will define an extern __pcpu_unique_##name variable that could conflict with the same definition in powerpc at this time. Avoid that conflict by renaming iommu_pool_hash in iommu-common.c Thanks to Guenter Roeck for catching this, and helping to test the fix. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0cc836d306c12462a60e72aae8f6d2318f10817 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Sun Apr 19 13:13:30 2015 -0400 iommu-common: fix x86_64 compiler warnings Declare iommu_large_alloc as static. Remove extern definition for iommu_tbl_pool_init(). Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ab957492d13bb819400ac29ae55911d50a82a13 Author: Sebastian Pöhn <sebastian.poehn@xxxxxxxxx> Date: Mon Apr 20 09:19:20 2015 +0200 ip_forward: Drop frames with attached skb->sk Initial discussion was: [FYI] xfrm: Don't lookup sk_policy for timewait sockets Forwarded frames should not have a socket attached. Especially tw sockets will lead to panics later-on in the stack. This was observed with TPROXY assigning a tw socket and broken policy routing (misconfigured). As a result frame enters forwarding path instead of input. We cannot solve this in TPROXY as it cannot know that policy routing is broken. v2: Remove useless comment Signed-off-by: Sebastian Poehn <sebastian.poehn@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79319a052cb0ae862954fe9f6e606417f1698ddb Merge: 6496edf 7f65ef0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 10:50:05 2015 -0700 Merge tag 'iommu-updates-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull IOMMU updates from Joerg Roedel: "Not much this time, but the changes include: - moving domain allocation into the iommu drivers to prepare for the introduction of default domains for devices - fixing the IO page-table code in the AMD IOMMU driver to correctly encode large page sizes - extension of the PCI support in the ARM-SMMU driver - various fixes and cleanups" * tag 'iommu-updates-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (34 commits) iommu/amd: Correctly encode huge pages in iommu page tables iommu/amd: Optimize amd_iommu_iova_to_phys for new fetch_pte interface iommu/amd: Optimize alloc_new_range for new fetch_pte interface iommu/amd: Optimize iommu_unmap_page for new fetch_pte interface iommu/amd: Return the pte page-size in fetch_pte iommu/amd: Add support for contiguous dma allocator iommu/amd: Don't allocate with __GFP_ZERO in alloc_coherent iommu/amd: Ignore BUS_NOTIFY_UNBOUND_DRIVER event iommu/amd: Use BUS_NOTIFY_REMOVED_DEVICE iommu/tegra: smmu: Compute PFN mask at runtime iommu/tegra: gart: Set aperture at domain initialization time iommu/tegra: Setup aperture iommu: Remove domain_init and domain_free iommu_ops iommu/fsl: Make use of domain_alloc and domain_free iommu/rockchip: Make use of domain_alloc and domain_free iommu/ipmmu-vmsa: Make use of domain_alloc and domain_free iommu/shmobile: Make use of domain_alloc and domain_free iommu/msm: Make use of domain_alloc and domain_free iommu/tegra-gart: Make use of domain_alloc and domain_free iommu/tegra-smmu: Make use of domain_alloc and domain_free ... commit e0e2674b92056c24c69940d5f405ea4aef5e4010 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Apr 20 14:41:05 2015 +0100 ata: ahci_st: fixup layering violations / drvdata errors Brian noticed while working on another SATA driver that uses libahci_platform, an error in this driver; it tries to the the driver data for its device, while libata also thinks it can set the driver data. See: ahci_platform_init_host() -> ata_host_alloc_pinfo() -> ata_host_alloc() -> dev_set_drvdata() So instead of sticking the IP-specific platform data into drvdata, let's use the plat_data variable that is reserved for this use. Addtionally plat_data isn't set until ahci_platform_init_host() has been called further down in probe(). So re-work the st_ahci_probe_resets and st_ahci_deassert_resets functions to take ahci_host_priv *hpriv as a parameter. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Suggested-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit da4d81453cf1eedfcd8b2cd1e7bfab230084bd87 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Apr 20 10:36:31 2015 -0700 ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON With the recent changes omaps have developed a dependency to MFD_SYSCON. This is used for system control module generic register area and some clocks. We do have it selected in omap2plus_defconfig, but targeted config files may not have it selected. Let's make sure it's selected like few other ARM platforms are already doing. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c9eeb5084b27ffede2709e8775827729d0c7c46c Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Apr 20 10:23:38 2015 -0700 Input: lm8333 - fix broken email address My Pengutronix address is not valid anymore, redirect people to the Pengutronix kernel team. Reported-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a333a03ce969c18f97f1eafa3dc1072caa33454e Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Apr 20 10:00:05 2015 -0700 Input: cyapa - fix setting suspend scan rate The suspend scan rate value should not exceed 1000, unfortunately when implementing the limit we used max_t instead of min_t, causing the value to be at least 1000. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9f423801c9e849df56b37833df895685c9d8a940 Author: Duson Lin <dusonlin@xxxxxxxxxx> Date: Mon Apr 20 10:19:24 2015 -0700 Input: elan_i2c - fix calculating number of x and y traces. According to Elan's firmware engineers we should not be subtracting 1 form the raw number of x and y traces so that the pitch size is correct. For example, if the touchpad x resolution is 2800 and x trace number is 20, the pitch size of x should be 2800/20 = 140, not 2800/19 = 147.36. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 090ad325068810a9edb09dfe8fec97a724c5743f Author: Duson Lin <dusonlin@xxxxxxxxxx> Date: Mon Apr 20 09:59:04 2015 -0700 Input: elan_i2c - report hovering contacts When hover is detected report ABS_MT_DISTANCE as 1; for active contacts the distance is reported as 0. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8c0776a8f046d5fb1804e525c3b6e9f897fe0d3f Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Apr 17 20:42:47 2015 -0700 Input: elants_i2c - zero-extend hardware ID in firmware name Let's zero-extend hardware id number when forming firmware file name, to avoid kernel requesting firmware like "elants_i2c_ 0.bin", which is quite unexpected. Acked-by: Charlie Mooney<charliemooney@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6496edfce95f943e1da43631c2f437509e56af7f Merge: b19a42e e4afa12 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 10:19:03 2015 -0700 Merge tag 'cpumask-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull final removal of deprecated cpus_* cpumask functions from Rusty Russell: "This is the final removal (after several years!) of the obsolete cpus_* functions, prompted by their mis-use in staging. With these function removed, all cpu functions should only iterate to nr_cpu_ids, so we finally only allocate that many bits when cpumasks are allocated offstack" * tag 'cpumask-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (25 commits) cpumask: remove __first_cpu / __next_cpu cpumask: resurrect CPU_MASK_CPU0 linux/cpumask.h: add typechecking to cpumask_test_cpu cpumask: only allocate nr_cpumask_bits. Fix weird uses of num_online_cpus(). cpumask: remove deprecated functions. mips: fix obsolete cpumask_of_cpu usage. x86: fix more deprecated cpu function usage. ia64: remove deprecated cpus_ usage. powerpc: fix deprecated CPU_MASK_CPU0 usage. CPU_MASK_ALL/CPU_MASK_NONE: remove from deprecated region. staging/lustre/o2iblnd: Don't use cpus_weight staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_ staging/lustre/ptlrpc: Do not use deprecated cpus_* functions blackfin: fix up obsolete cpu function usage. parisc: fix up obsolete cpu function usage. tile: fix up obsolete cpu function usage. arm64: fix up obsolete cpu function usage. mips: fix up obsolete cpu function usage. x86: fix up obsolete cpu function usage. ... commit b19a42e3cb9e73cad59e60ab7403e5afe7f4b262 Merge: 5ca08a8 80ed156 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 10:15:33 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull more s390 updates from Martin Schwidefsky: "The big thing in this second merge for s390 is the new eBPF JIT from Michael which replaces the old 32-bit backend. The remaining commits are bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/pci: add locking for fmb access s390/pci: extract software counters from fmb s390/dasd: Fix unresumed device after suspend/resume having no paths s390/dasd: fix unresumed device after suspend/resume s390/dasd: fix inability to set a DASD device offline s390/mm: Fix memory hotplug for unaligned standby memory s390/bpf: Add s390x eBPF JIT compiler backend s390: Use bool function return values of true/false not 1/0 commit 5ca08a82a75c9109f8207cbcbef8705334b4713a Merge: f4d03bd 6e42061 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 10:12:29 2015 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu Pull m68k fixes from Greg Ungerer: "Nothing big, spelling fixes and fix/cleanup for ColdFire eth device setup" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68knommu: fix fec setup warning for ColdFire 5271 builds m68knommu: ColdFire 5271 only has a single FEC controller m68k: Fix trivial typos in comments commit f4d03bd143c628b00f66cc2ec2c013767bdd1518 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 09:08:49 2015 -0700 smp: don't use 16-bit words for atomic accesses Yes, it should work, but it's a bad idea. Not only did ARM64 not have the 16-bit access code (there's a separate patch to add it), it's just not a good atomic type. Some architectures fundamentally don't do atomic accesses in them (alpha), and it's not like it saves any space here anyway because of structure packing issues. We normally should aim for flags to be "unsigned int" or "unsigned long". And if space is at a premium, use a single byte (although that causes problems on alpha again). There might be very special cases where a 16-byte entity is really wanted, but this is not one of them. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 32ec4397756d072873ee778cbf41b9f6a335b953 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Thu Mar 26 19:06:00 2015 +0800 ceph: hold on to exclusive caps on complete directories If a directory is complete, we want to keep the exclusive cap. So that MDS does not end up revoking the shared cap on every create/unlink operation. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 9571eb4f9617e89b3f979a3856b1296eba277bb1 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Mar 25 21:15:17 2015 +0300 libceph: simplify our debugfs attr macro No need to do single_open()'s job ourselves. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit ff7eeb82cc16f25203b69f817cbbb85845c817fe Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Mar 25 21:10:09 2015 +0300 ceph: show non-default options only Don't pollute /proc/mounts with default options (presently these are dcache, nofsc and acl). Leave the acl/noacl however - it's a bit of a special case due to CONFIG_CEPH_FS_POSIX_ACL. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 5cf7bd30120ead3db43ef9074be38018d9acf22f Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Mar 25 21:07:41 2015 +0300 libceph: expose client options through debugfs Add a client_options attribute for showing libceph options. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit ff40f9ae95917b72b6acb6057471c99054b6ee24 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Mar 25 21:02:16 2015 +0300 libceph, ceph: split ceph_show_options() Split ceph_show_options() into two pieces and move the piece responsible for printing client (libceph) options into net/ceph. This way people adding a libceph option wouldn't have to remember to update code in fs/ceph. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit d8a2c89c8636405ad0b234f111d22c00c37e452b Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Mar 24 16:15:17 2015 +0300 rbd: mark block queue as non-rotational Set QUEUE_FLAG_NONROT. Following commit b277da0a8a59 ("block: disable entropy contributions for nonrot devices") we should also clear QUEUE_FLAG_ADD_RANDOM, but it's off by default for blk-mq drivers, so just note it in the comment. Also remove physical block size assignment - no sense in repeating defaults that are not going to change. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 67c64eb742a49d3d3f5dcef75d0c32a3394e5519 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Mar 23 14:52:40 2015 +0300 libceph: don't overwrite specific con error msgs - specific con->error_msg messages (e.g. "protocol version mismatch") end up getting overwritten by a catch-all "socket error on read / write", introduced in commit 3a140a0d5c4b ("libceph: report socket read/write error message") - "bad message sequence # for incoming message" loses to "bad crc" due to the fact that -EBADMSG is used for both Fix it, and tidy up con->error_msg assignments and pr_errs while at it. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 1c841a96b5f369cbb0b169d13825c7ff7d0fba8d Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Mar 24 20:15:36 2015 +0800 ceph: cleanup unsafe requests when reconnecting is denied Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit a9f6eb61850e1599f9aa5141f25ccc1d8248e174 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Mar 24 15:49:36 2015 +0800 ceph: don't zero i_wrbuffer_ref when reconnecting is denied remove_session_caps_cb() does not truncate dirty data in page cache, but zeros i_wrbuffer_ref/i_wrbuffer_ref_head. This will result negtive i_wrbuffer_ref/i_wrbuffer_ref_head Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 571ade336ac89f5db602f7df992152e4f4b945bc Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Mar 24 11:36:08 2015 +0800 ceph: don't mark dirty caps when there is no auth cap No i_auth_cap means reconnecting to MDS was denied. So don't add new dirty caps. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit db40cc1702d6a7049740d269cf6c1a42f979c7a7 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Mar 23 20:12:20 2015 +0800 ceph: keep i_snap_realm while there are writers when reconnecting to MDS is denied, we remove session caps forcibly. But it's possible there are ongoing write, the write code needs to reference i_snap_realm. So if there are ongoing write, we keep i_snap_realm. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 3ef650d3989677bd460497f9c3b0d58caaba0116 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 23 13:35:03 2015 -0700 libceph: osdmap.h: Add missing format newlines To avoid possible interleaving, add missing '\n' to formats. Convert pr_warning to pr_warn while there. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit a149bb9a281c5c2904cf6fcdf9ed386340032ce3 Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Date: Sat Mar 21 12:54:58 2015 -0400 ceph: kstrdup() memory handling Currently, there is no check for the kstrdup() for r_path2, r_path1 and snapdir_name as various locations as there is a possibility of failure during memory pressure. Therefore, returning ENOMEM where the checks have been missed. Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit c1d00b2d9c4fc821e33c5cdfbdbc32677cb0e2e0 Author: Taesoo Kim <tsgatesv@xxxxxxxxx> Date: Fri Mar 20 17:36:56 2015 -0400 ceph: properly release page upon error When ceph_update_writeable_page fails (including -EAGAIN), it unlocks (w/ unlock_page) the page but does not 'release' (w/ page_cache_release) properly. Upon error, properly set *pagep to NULL, indicating an error. Signed-off-by: Taesoo Kim <tsgatesv@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 1fe480235ad7236e8ea6c167af5a5d1ac24f8a88 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Thu Mar 5 10:47:22 2015 +0300 rbd: be more informative on -ENOENT failures pr_info what exactly was the culprit: missing pool, image or snap. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit f4c1a311d8dc55c90c39e9cf7b003254a769574d Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Mon Apr 20 17:33:57 2015 +0800 ALSA: hda - only sync BCLK to the display clock for Haswell & Broadwell Only Intel Haswell and Broadwell have a separate HD-A controller (PCI device 3) for display audio, which needs to get 24MHz HD-A link BCLK from the variable display core clock through vendor specific registers EM4 & EM5. Other platforms (Baytrail, Braswell and Skylake) don't have this feature. So this patch checks the PCI device ID of the controller in haswell_set_bclk() and only sync BCLK for HSW and BDW. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cdaa8cf34863028dab238e1498555bf12d693244 Merge: 30a5c18 98b8098 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Apr 20 07:59:04 2015 -0700 Merge branch 'fixes' into next/fixes-non-critical Merge a set of fixes that we missed sending in before v4.0 release. These will also be sent to -stable. * fixes: (659 commits) ARM: at91/dt: sama5d3 xplained: add phy address for macb1 kbuild: Create directory for target DTB ARM: mvebu: Disable CPU Idle on Armada 38x arm64: juno: Fix misleading name of UART reference clock ARM: dts: sunxi: Remove overclocked/overvoltaged OPP ARM: dts: sun4i: a10-lime: Override and remove 1008MHz OPP setting ARM: socfpga: dts: fix spi1 interrupt ARM: dts: Fix gpio interrupts for dm816x ARM: dts: dra7: remove ti,hwmod property from pcie phy ARM: EXYNOS: Fix build breakage cpuidle on !SMP ARM: OMAP: dmtimer: disable pm runtime on remove ARM: OMAP: dmtimer: check for pm_runtime_get_sync() failure ARM: dts: fix lid and power pin-functions for exynos5250-spring ARM: dts: fix mmc node updates for exynos5250-spring ARM: OMAP2+: Fix socbus family info for AM33xx devices ARM: dts: omap3: Add missing dmas for crypto + Linux 4.0-rc4 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 57e95460f0b360c4d29c0320922b46b55dd2b79f Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Mar 10 11:18:15 2015 -0400 ceph: match wait_for_completion_timeout return type return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 3563dbdd99603d4339467ddffafe3851aae2e398 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 6 06:52:17 2015 -0500 ceph: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit e1eba3ea02dbd2a4b6be1a5708af31dc9b9aaaa6 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 3 18:57:49 2015 +0100 ceph: remove redundant declaration ceph_aops was already defined extern in addr.c section Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit e2c3de046c5a1f3525772b4cacc7731cb626ab61 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Mar 4 16:05:04 2015 +0800 ceph: fix dcache/nocache mount option Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 6e6f09231a134e7523514ed504380f5caafc9334 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Fri Feb 27 08:54:08 2015 +0800 ceph: drop cap releases in requests composed before cap reconnect These cap releases are stale because MDS will re-establish client caps according to the cap reconnect messages. Note: MDS can detect stale cap messages, so these stale cap releases are harmless even we don't drop them. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit d8f6ad85cbb740b7e8ca5275b12838fab685540c Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Apr 20 16:49:30 2015 +0530 ARC: perf: don't add code for impossible case Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 30fdd373f24cc50e250c71a6e2df89505e267804 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Apr 15 16:35:38 2015 +0530 ARC: perf: Rename DT binding to not confuse with power mgmt Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 22f6b899125063c5dc955dd378c408b14d80b020 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Jul 12 15:55:54 2013 +0200 ARC: perf: add user space attribution in callchains The actual user space unwinding is more involved, so simply capture the user space PC Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 389e3160b9b0002f8e7c95e9c0af5da6da311892 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Nov 12 11:00:03 2013 +0100 ARC: perf: Add kernel callchain support Signed-off-by: Mischa Jonker <mjonker@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 0a8a47679351f00145ddeaa0a05b510e67b780be Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Jan 7 13:14:07 2015 +0530 ARC: perf: support cache hit/miss ratio Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit bde80c237e49983e2b26dfa9925325a070b71de7 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Apr 15 19:44:07 2015 +0530 ARC: perf: Add some comments/debug stuff Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 03c94fcf954d6bc5e23460e200d23a2c0fe5cd2e Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Nov 17 17:13:03 2014 +0530 ARC: perf: make @arc_pmu static global Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5eb8f4d74204864d8a4154772206ad747274d12d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Apr 13 14:56:51 2015 +0200 mac80211: don't warn when stopping VLAN with stations Stations assigned to an AP_VLAN type interface are flushed when the interface is stopped, but then we warn about it. Suppress the warning since there's nothing else that would ensure those stations are already removed at this point. Reported-by: Jouni Malinen <j@xxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6b75b54c841a18ef114704aa5cf2cdf43487b0ae Merge: 7374ccc aa977f6 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Apr 20 12:09:31 2015 +0300 Merge omapdss topic branch for fbdev 4.1 commit aa977f62dff4fb41e89b473c9831c292c01d8bfc Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Date: Wed Feb 25 19:03:56 2015 +0200 omapdss: extend pm notifier to handle hibernation Add handling of missed events in omap_dss_pm_notif which are needed to support hibernation (suspend to disk). Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 34260a79b2b3063d7a8b8208f7d5d8cc0e1826f4 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sat Mar 7 17:08:03 2015 +0100 OMAPDSS: Correct video ports description file path in DT binding doc The doc refers to Documentation/devicetree/bindings/video/video-ports.txt which does not exist. The documentation seems to be outdated and wants to refer to Documentation/devicetree/bindings/graph.txt instead. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit cb17a4ae3bbf1daa3b179147b6d476ea2482e2d3 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Feb 25 12:08:14 2015 +0200 OMAPDSS: disable VT switch We don't need VT switch when suspending/resuming, so disable it. This speeds up suspend/resume. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: NeilBrown <neil@xxxxxxxxxx> commit 9476d369d7b39348945c297da5f2935904229813 Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Sun Apr 19 19:00:40 2015 +0200 ALSA: hda - Mute headphone pin on suspend on XPS13 9333 Muting the headphone output pin right before the codec suspension prevents pop noises when headphones are plugged in (except for a barely audible click noise). This solution allows to truly save some power when headphones are plugged in unlike the previous solution (033b0a7ca9c: "ALSA: hda - Pop noises fix for XPS13 9333") Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 94d4b4765b7ddb8478b0d57663cf7a08e2263bbf Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Nov 23 19:19:07 2012 +0100 x86/mm: Clean up types in xlate_dev_mem_ptr() Pavel Machek reported the following compiler warning on x86/32 CONFIG_HIGHMEM64G=y builds: arch/x86/mm/ioremap.c:344:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] Clean up the types in this function by using a single natural type for internal calculations (unsigned long), to make it more apparent what's happening, and also to remove fragile casts. Reported-by: Pavel Machek <pavel@xxxxxx> Cc: jgross@xxxxxxxx Cc: roland@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150416080440.GA507@amd Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 553452e5ffc0ed13214a287549627d02d9d7fbdc Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Thu Apr 16 17:21:12 2015 +0300 iwlwifi: pcie: prevent using unmapped memory in fw monitor In the case of a DMA mapping error on the last iteration of the loop of the allocation of memory of the FW monitor we indeed free the pages, but don't NULL out the page variable thus allowing for the possibility of setting the FW monitor variables with invalid data to use. Fixes: c2d202017da1 ("iwlwifi: pcie: add firmware monitor capabilities") Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 68d4cef3bab3fb9bb0dbac690ba35a96cb5a16d9 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Tue Apr 14 17:30:05 2015 -0700 target: Put TCMU under a new config option Conceptually version 2 should be viewed as an entirely new, incompatible version of TCMU, so emphasize this by changing the config option and Kconfig text. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0ad46af8a618fc38e0cdc3927cfa9f7b42cc9423 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Tue Apr 14 17:30:04 2015 -0700 target: Version 2 of TCMU ABI The initial version of TCMU (in 3.18) does not properly handle bidirectional SCSI commands -- those with both an in and out buffer. In looking to fix this it also became clear that TCMU's support for adding new types of entries (opcodes) to the command ring was broken. We need to fix this now, so that future issues can be handled properly by adding new opcodes. We make the most of this ABI break by enabling bidi cmd handling within TCMP_OP_CMD opcode. Add an iov_bidi_cnt field to tcmu_cmd_entry.req. This enables TCMU to describe bidi commands, but further kernel work is needed for full bidi support. Enlarge tcmu_cmd_entry_hdr by 32 bits by pulling in cmd_id and __pad1. Turn __pad1 into two 8 bit flags fields, for kernel-set and userspace-set flags, "kflags" and "uflags" respectively. Update version fields so userspace can tell the interface is changed. Update tcmu-design.txt with details of how new stuff works: - Specify an additional requirement for userspace to set UNKNOWN_OP (bit 0) in hdr.uflags for unknown/unhandled opcodes. - Define how Data-In and Data-Out fields are described in req.iov[] Changed in v2: - Change name of SKIPPED bit to UNKNOWN bit - PAD op does not set the bit any more - Change len_op helper functions to take just len_op, not the whole struct - Change version to 2 in missed spots, and use defines - Add 16 unused bytes to cmd_entry.req, in case additional SAM cmd parameters need to be included - Add iov_dif_cnt field to specify buffers used for DIF info in iov[] - Rearrange fields to naturally align cdb_off - Handle if userspace sets UNKNOWN_OP by indicating failure of the cmd - Wrap some overly long UPDATE_HEAD lines (Add missing req.iov_bidi_cnt + req.iov_dif_cnt zeroing - Ilias) Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Reviewed-by: Ilias Tsitsimpis <iliastsi@xxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit baa54ab93c2e1ced7e54f9c021fe102c0d39c090 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Thu Apr 16 15:19:01 2015 +0800 nios2: rework trap handler Redefine trap handler as below: 0 N/A reserved for system calls 1 SIGUSR1 user-defined signal 1 2 SIGUSR2 user-defined signal 2 3 SIGILL illegal instruction 4..29 reserved (but implemented to raise SIGILL instead of being undefined) 30 SIGTRAP KGDB 31 SIGTRAP trace/breakpoint trap Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 2c33ce009ca2389dbf0535d0672214d09738e35e Merge: cec32a4 09d5160 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Apr 20 11:32:26 2015 +1000 Merge Linus master into drm-next The merge is clean, but the arm build fails afterwards, due to API changes in the regulator tree. I've included the patch into the merge to fix the build. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 170c381f6bcd9ad3235654988aabddb612b34a39 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Wed Apr 15 10:45:49 2015 +0800 nios2: remove end address checking for initda Remove the end address checking for initda function. We need to invalidate each address line for initda instruction, from start to end address. Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit cec32a47010647e8b0603726ebb75b990a4057a4 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Apr 17 19:12:41 2015 +0200 media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format Change the constant values for RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus formats in anticipation of a merge conflict with the media tree, where the old values are already taken by RBG888_1X24, RGB888_1X32_PADHI, and VUY8_1X24, respectively. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 3ea68922fc4148abc97557df43d4ba9a136b1c8d Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Apr 20 01:00:53 2015 +0200 drm/rockchip: fix error check when getting irq platform_get_irq() can return negative error values and we already test for these. Therefore the variable holding this value should be signed to not loose possible error values. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-By: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 625e03461ba51592ac785214b2254af7bd630077 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Apr 20 00:59:50 2015 +0200 MAINTAINERS: add entry for Rockchip drm drivers Mark Yao looks after the Rockchip drm drivers and should thus also get patches touching these. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 09d51602cf84a1264946711dd4ea0dddbac599a1 Merge: 6162e4b e9257f5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 19 14:31:41 2015 -0700 Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux Pull turbostat update from Len Brown: "Updates to the turbostat utility. Just one kernel dependency in this batch -- added a #define to msr-index.h" * 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: tools/power turbostat: correct dumped pkg-cstate-limit value tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL tools/power turbostat: correct DRAM RAPL units on recent Xeon processors tools/power turbostat: Initial Skylake support tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile tools/power turbostat: modprobe msr, if needed tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2 tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names x86 msr-index: define MSR_TURBO_RATIO_LIMIT,1,2 tools/power turbostat: label base frequency tools/power turbostat: update PERF_LIMIT_REASONS decoding tools/power turbostat: simplify default output commit 6162e4b0bedeb3dac2ba0a5e1b1f56db107d97ec Merge: 17974c0 6ddb244 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 19 14:26:31 2015 -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 few bug fixes and add support for file-system level encryption in ext4" * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (31 commits) ext4 crypto: enable encryption feature flag ext4 crypto: add symlink encryption ext4 crypto: enable filename encryption ext4 crypto: filename encryption modifications ext4 crypto: partial update to namei.c for fname crypto ext4 crypto: insert encrypted filenames into a leaf directory block ext4 crypto: teach ext4_htree_store_dirent() to store decrypted filenames ext4 crypto: filename encryption facilities ext4 crypto: implement the ext4 decryption read path ext4 crypto: implement the ext4 encryption write path ext4 crypto: inherit encryption policies on inode and directory create ext4 crypto: enforce context consistency ext4 crypto: add encryption key management facilities ext4 crypto: add ext4 encryption facilities ext4 crypto: add encryption policy and password salt support ext4 crypto: add encryption xattr support ext4 crypto: export ext4_empty_dir() ext4 crypto: add ext4 encryption Kconfig ext4 crypto: reserve codepoints used by the ext4 encryption feature ext4 crypto: add ext4_mpage_readpages() ... commit 17974c054db3030b714b7108566bf5208d965a19 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 19 13:48:40 2015 -0700 hexdump: avoid warning in test function The test_data_1_le[] array is a const array of const char *. To avoid dropping any const information, we need to use "const char * const *", not just "const char **". I'm not sure why the different test arrays end up having different const'ness, but let's make the pointer we use to traverse them as const as possible, since we modify neither the array of pointers _or_ the pointers we find in the array. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b01fc86b9f425899f8a3a8fc1c47d73c2c20543 Author: Jann Horn <jann@xxxxxxxxx> Date: Sun Apr 19 02:48:39 2015 +0200 fs: take i_mutex during prepare_binprm for set[ug]id executables This prevents a race between chown() and execve(), where chowning a setuid-user binary to root would momentarily make the binary setuid root. This patch was mostly written by Linus Torvalds. Signed-off-by: Jann Horn <jann@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5224b9613b91d937c6948fe977023247afbcc04e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 19 04:56:03 2015 -0400 smp: Fix error case handling in smp_call_function_*() Commit 8053871d0f7f ("smp: Fix smp_call_function_single_async() locking") fixed the locking for the asynchronous smp-call case, but in the process of moving the lock handling around, one of the error cases ended up not unlocking the call data at all. This went unnoticed on x86, because this is a "caller is buggy" case, where the caller is trying to call a non-existent CPU. But apparently ARM does that (at least under qemu-arm). Bindly doing cross-cpu calls to random CPU's that aren't even online seems a bit fishy, but the error handling was clearly not correct. Simply add the missing "csd_unlock()" to the error path. Reported-and-tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Analyzed-by: Rabin Vincent <rabin@xxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2363ccb505c15328580d5f64b5e9ea5c1c8a1462 Merge: 0f5abd4 64df1fd 5fa0fa4 06b230e Author: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Date: Sun Apr 19 21:19:27 2015 +0200 Merge branches 'pm-cpufreq', 'powercap' and 'pm-tools' * pm-cpufreq: cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning intel_pstate: Change the setpoint for Atom params * powercap: powercap / RAPL: Add support for Intel Skylake processors * pm-tools: cpupower: fix breakage from libpci API change commit 8047cc0c584844817fbf3bf57cb18c1f762a7136 Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Thu Mar 26 13:15:03 2015 +0200 iwlwifi: mvm: Avoid signal based decisions if ave beacon RSSI is 0 If for some reason statistics notification received from the firmware reports 0 in average beacon RSSI value, then skip it and avoid signal based decisions. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1083fd7391e989be52022f0f338e9dadc048b063 Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Tue Mar 31 16:14:41 2015 +0300 iwlwifi: mvm: fix scan iteration complete notification handling Scan iteration complete notification handling uses the wrong FW API version (version 2 instead of version 3). Fix that by removing version 2 API which is no longer used, and using only the updated version. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Reviewed-by: David Spinadel <david.spinadel@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 145d90b6b3a3f00d8b66d0e118b4995b64b74fef Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Apr 13 12:05:48 2015 +0300 iwlwifi: mvm: don't stop the FW monitor too early When the delay paramatere is provided, we need to stop the collection only after the delay has elapsed. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d44c3fe68cc7e435ebc06d5b6ac260a5c1b495f8 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Sat Apr 18 22:16:42 2015 +0300 iwlwifi: mvm: fix Tx Power firmware API The firmware doesn't relate the scan to a vif. The scan is run by a separate entity called auxiliary MAC (aka AUX MAC). This AUX MAC needs to get Tx power limitations that are not applied on a specific vif, but on the device as a whole. This can be implemented by using the minimum of all the values set by the user for all the MACs. But then we need to ignore the limitations that come from the AP or regulatory for a specific vif: a specific vif might have regulatory limitations because of the channel is works on. This limit is irrelevant for the AUX MAC. Use the new API from mac80211: the user_power_level in bss_conf to achieve this. Firmware -13.ucode has already moved to this API. Change-Id: Ifba83660f378e91b93bd46d29fe8ba35a7c168a4 Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit aae013d646aae8787b76255d1a1cadd7f64a47dd Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Sun Apr 19 09:45:48 2015 +0800 ASoC: add static inline funcs to fix a compiling issue When CONFIG_PM_SLEEP is not selected, calling funcs snd_soc_suspend and _resume will generate a compiling issue. Here add static inline stub functions to fix it. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e4afa120c98252e44390067c3a6cc775cde30659 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Sat Apr 18 11:18:27 2015 +0930 cpumask: remove __first_cpu / __next_cpu They were for use by the deprecated first_cpu() and next_cpu() wrappers, but sparc used them directly. They're now replaced by cpumask_first / cpumask_next. And __next_cpu_nr is completely obsolete. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64fb1d0e975e92e012802d371e417266d6531676 Merge: dba94f2 ccb3018 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 18:01:29 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc fixes from David Miller "Unfortunately, I brown paper bagged the generic iommu pool allocator by applying the wrong revision of the patch series. This reverts the bad one, and puts the right one in" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: iommu-common: Fix PARISC compile-time warnings sparc: Make LDC use common iommu poll management functions sparc: Make sparc64 use scalable lib/iommu-common.c functions Break up monolithic iommu table/lock into finer graularity pools and lock sparc: Revert generic IOMMU allocator. commit dba94f2155f581395ef9608418778e3491b3d470 Merge: 34a984f f569d3e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 17:45:30 2015 -0400 Merge tag 'for-linus-4.1-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs Pull 9pfs updates from Eric Van Hensbergen: "Some accumulated cleanup patches for kerneldoc and unused variables as well as some lock bug fixes and adding privateport option for RDMA" * tag 'for-linus-4.1-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: net/9p: add a privport option for RDMA transport. fs/9p: Initialize status in v9fs_file_do_lock. net/9p: Initialize opts->privport as it should be. net/9p: use memcpy() instead of snprintf() in p9_mount_tag_show() 9p: use unsigned integers for nwqid/count 9p: do not crash on unknown lock status code 9p: fix error handling in v9fs_file_do_lock 9p: remove unused variable in p9_fd_create() 9p: kerneldoc warning fixes commit ccb301862aa51ea7c10c10b440f3e8bbeac5b720 Merge: c12f048 2f0c0fd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Apr 18 12:35:09 2015 -0700 Merge branch 'iommu-generic-allocator' Sowmini Varadhan says: ==================== Generic IOMMU pooled allocator Investigation of network performance on Sparc shows a high degree of locking contention in the IOMMU allocator, and it was noticed that the PowerPC code has a better locking model. This patch series tries to extract the generic parts of the PowerPC code so that it can be shared across multiple PCI devices and architectures. v10: resend patchv9 without RFC tag, and a new mail Message-Id, (previous non-RFC attempt did not show up on the patchwork queue?) Full revision history below: v2 changes: - incorporate David Miller editorial comments: sparc specific fields moved from iommu-common into sparc's iommu_64.h - make the npools value an input parameter, for the case when the iommu map size is not very large - cookie_to_index mapping, and optimizations for span-boundary check, for use case such as LDC. v3: eliminate iommu_sparc, rearrange the ->demap indirection to be invoked under the pool lock. v4: David Miller review changes: - s/IOMMU_ERROR_CODE/DMA_ERROR_CODE - page_table_map_base and page_table_shift are unsigned long, not u32. v5: removed ->cookie_to_index and ->demap indirection from the iommu_tbl_ops The caller needs to call these functions as needed, before invoking the generic arena allocator functions. Added the "skip_span_boundary" argument to iommu_tbl_pool_init() for those callers like LDC which do no care about span boundary checks. v6: removed iommu_tbl_ops, and instead pass the ->flush_all as an indirection to iommu_tbl_pool_init(); only invoke ->flush_all when there is no large_pool, based on the assumption that large-pool usage is infrequently encountered v7: moved pool_hash initialization to lib/iommu-common.c and cleaned up code duplication from sun4v/sun4u/ldc. v8: Addresses BenH comments with one exception: I've left the IOMMU_POOL_HASH as is, so that powerpc can tailor it to their convenience. Discard trylock for simple spin_lock to acquire pool v9: Addresses latest BenH comments: need_flush checks, add support for dma mask and align_order. v10: resend without RFC tag, and new mail Message-Id. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f0c0fdc085c0d415457a1c52344f72e12c4cec6 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Sat Apr 18 12:33:55 2015 -0700 iommu-common: Fix PARISC compile-time warnings Fixes warnings due to - no DMA_ERROR_CODE on PARISC, - sizeof (unsigned long) == 4 bytes on PARISC. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ae53ed15d9b87b883b593a9884957cfa4fc2480 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Apr 9 15:33:32 2015 -0400 sparc: Make LDC use common iommu poll management functions Note that this conversion is only being done to consolidate the code and ensure that the common code provides the sufficient abstraction. It is not expected to result in any noticeable performance improvement, as there is typically one ldc_iommu per vnet_port, and each one has 8k entries, with a typical request for 1-4 pages. Thus LDC uses npools == 1. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb620c3d3925aec0ed4f21010c86df08ec18a8c7 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Apr 9 15:33:31 2015 -0400 sparc: Make sparc64 use scalable lib/iommu-common.c functions In iperf experiments running linux as the Tx side (TCP client) with 10 threads results in a severe performance drop when TSO is disabled, indicating a weakness in the software that can be avoided by using the scalable IOMMU arena DMA allocation. Baseline numbers before this patch: with default settings (TSO enabled) : 9-9.5 Gbps Disable TSO using ethtool- drops badly: 2-3 Gbps. After this patch, iperf client with 10 threads, can give a throughput of at least 8.5 Gbps, even when TSO is disabled. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff7d37a502022149655c18035b99a53391be0383 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Apr 9 15:33:30 2015 -0400 Break up monolithic iommu table/lock into finer graularity pools and lock Investigation of multithreaded iperf experiments on an ethernet interface show the iommu->lock as the hottest lock identified by lockstat, with something of the order of 21M contentions out of 27M acquisitions, and an average wait time of 26 us for the lock. This is not efficient. A more scalable design is to follow the ppc model, where the iommu_map_table has multiple pools, each stretching over a segment of the map, and with a separate lock for each pool. This model allows for better parallelization of the iommu map search. This patch adds the iommu range alloc/free function infrastructure. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c12f048ffdf3a5802239426dc290290929268dc9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Apr 18 12:31:25 2015 -0700 sparc: Revert generic IOMMU allocator. I applied the wrong version of this patch series, V4 instead of V10, due to a patchwork bundling snafu. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9257f5fa48cc296d7eed35acf9f2ad195184122 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Apr 1 21:02:57 2015 -0400 tools/power turbostat: correct dumped pkg-cstate-limit value HSW expanded MSR_PKG_CST_CONFIG_CONTROL.Package-C-State-Limit, from bits[2:0] used by previous implementations, to [3:0]. The value 1000b is unlimited, and is used by BDW and SKL too. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 8a5bdf41d2c027c1e4ad62bc4f96f3fdf82070ba Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Apr 1 21:02:57 2015 -0400 tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL turbostat --debug ... CPUID(0x15): eax_crystal: 2 ebx_tsc: 100 ecx_crystal_hz: 0 TSC: 1200 MHz (24000000 Hz * 100 / 2 / 1000000) Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 40ee8e3b9dc8917e6077dde6a49c7a71d63b0231 Author: Andrey Semin <andrey.semin@xxxxxxxxx> Date: Fri Dec 5 00:07:00 2014 -0500 tools/power turbostat: correct DRAM RAPL units on recent Xeon processors While not yet documented in the Software Developer's Manual, the data-sheet for modern Xeon states that DRAM RAPL ENERGY units are fixed at 15.3 uJ, rather than being discovered via MSR. Before this patch, DRAM energy on these products is over-stated by turbostat because the RAPL units are 4x larger. ref: "Xeon E5-2600 v3/E5-1600 v3 Datasheet Volume 2" http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xeon-e5-v3-datasheet-vol-2.pdf Signed-off-by: Andrey Semin <andrey.semin@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 0b2bb6925eb602eae993a4b5c282a8c18ad1c949 Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu Mar 26 00:50:30 2015 -0400 tools/power turbostat: Initial Skylake support Skylake adds some additional residency counters. Skylake supports a different mix of RAPL registers from any previous product. In most other ways, Skylake is like Broadwell. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit f82263c6989c31ae9b94cecddffb29dcbec38710 Author: Thomas D <whissi@xxxxxxxxx> Date: Mon Jan 5 21:37:23 2015 +0100 tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile Since commit ee0778a30153 ("tools/power: turbostat: make Makefile a bit more capable") turbostat's Makefile is using [...] BUILD_OUTPUT := $(PWD) [...] which obviously causes trouble when building "turbostat" with make -C /usr/src/linux/tools/power/x86/turbostat ARCH=x86 turbostat because GNU make does not update nor guarantee that $PWD is set. This patch changes the Makefile to use $CURDIR instead, which GNU make guarantees to set and update (i.e. when using "make -C ...") and also adds support for the O= option (see "make help" in your root of your kernel source tree for more details). Link: https://bugs.gentoo.org/show_bug.cgi?id=533918 Fixes: ee0778a30153 ("tools/power: turbostat: make Makefile a bit more capable") Signed-off-by: Thomas D. <whissi@xxxxxxxxx> Cc: Mark Asselstine <mark.asselstine@xxxxxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit a21d38c846fce05ef55ab240f18fb19755bed16a Author: Len Brown <len.brown@xxxxxxxxx> Date: Tue Mar 24 16:37:35 2015 -0400 tools/power turbostat: modprobe msr, if needed Some distros (Ubuntu) ship the msr driver as a module. If turbosat is run as root on those systems, and discovers that there is no /dev/cpu/cpu0/msr, it will now "modprobe msr" for the user. If not root, the modprobe attempt will fail, and turbostat will exit as before: turbostat: no /dev/cpu/0/msr, Try "# modprobe msr" : No such file or directory Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit fcd17211bd807533f6d4be20b1a4644e9191bfe2 Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Mar 23 20:29:09 2015 -0400 tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2 and up to 18 cores of turbo ratio limit when using the turbostat --debug option. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 12bb43c6150525cd53af77a1a7b9ff2752944cbd Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Apr 13 16:08:18 2015 -0400 tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names s/MSR_NHM_TURBO_RATIO_LIMIT/MSR_TURBO_RATIO_LIMIT/ s/MSR_IVT_TURBO_RATIO_LIMIT/MSR_TURBO_RATIO_LIMIT1/ syntax only -- use the documented strings describing these registers. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 34a984f7b0cc6355a1e0c184251d0d4cc86f44d2 Merge: 90d1c08 4c1eaa2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:42:49 2015 -0400 Merge branch 'x86-pmem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull PMEM driver from Ingo Molnar: "This is the initial support for the pmem block device driver: persistent non-volatile memory space mapped into the system's physical memory space as large physical memory regions. The driver is based on Intel code, written by Ross Zwisler, with fixes by Boaz Harrosh, integrated with x86 e820 memory resource management and tidied up by Christoph Hellwig. Note that there were two other separate pmem driver submissions to lkml: but apparently all parties (Ross Zwisler, Boaz Harrosh) are reasonably happy with this initial version. This version enables minimal support that enables persistent memory devices out in the wild to work as block devices, identified through a magic (non-standard) e820 flag and auto-discovered if CONFIG_X86_PMEM_LEGACY=y, or added explicitly through manipulating the memory maps via the "memmap=..." boot option with the new, special '!' modifier character. Limitations: this is a regular block device, and since the pmem areas are not struct page backed, they are invisible to the rest of the system (other than the block IO device), so direct IO to/from pmem areas, direct mmap() or XIP is not possible yet. The page cache will also shadow and double buffer pmem contents, etc. Initial support is for x86" * 'x86-pmem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: drivers/block/pmem: Fix 32-bit build warning in pmem_alloc() drivers/block/pmem: Add a driver for persistent memory x86/mm: Add support for the non-standard protected e820 type commit 90d1c087861dcc3d1175993fc03492c137fd21bb Merge: 96b90f2 a6dfa12 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:31:11 2015 -0400 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Ingo Molnar: "This tree includes: - an FPU related crash fix - a ptrace fix (with matching testcase in tools/testing/selftests/) - an x86 Kconfig DMA-config defaults tweak to better avoid non-working drivers" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected x86/fpu: Load xsave pointer *after* initialization x86/ptrace: Fix the TIF_FORCED_TF logic in handle_signal() x86, selftests: Add single_step_syscall test commit 96b90f27bcf22f1d06cc16d9475cefa6ea4c4718 Merge: 396c9df 0c99241 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:26:46 2015 -0400 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf updates from Ingo Molnar: "This update has mostly fixes, but also other bits: - perf tooling fixes - PMU driver fixes - Intel Broadwell PMU driver HW-enablement for LBR callstacks - a late coming 'perf kmem' tool update that enables it to also analyze page allocation data. Note, this comes with MM tracepoint changes that we believe to not break anything: because it changes the formerly opaque 'struct page *' field that uniquely identifies pages to 'pfn' which identifies pages uniquely too, but isn't as opaque and can be used for other purposes as well" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf/x86/intel/pt: Fix and clean up error handling in pt_event_add() perf/x86/intel: Add Broadwell support for the LBR callstack perf/x86/intel/rapl: Fix energy counter measurements but supporing per domain energy units perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events perf/x86: Fix hw_perf_event::flags collision perf probe: Fix segfault when probe with lazy_line to file perf probe: Find compilation directory path for lazy matching perf probe: Set retprobe flag when probe in address-based alternative mode perf kmem: Analyze page allocator events also tracing, mm: Record pfn instead of pointer to struct page commit 396c9df2231865ef55aa031e3f5df9d99e036869 Merge: 8f502d5b 8053871 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:23:42 2015 -0400 Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull locking fixes from Ingo Molnar: "Two fixes: an smp-call fix and a lockdep fix" * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: smp: Fix smp_call_function_single_async() locking lockdep: Make print_lock() robust against concurrent release commit 8f502d5b9e3362971f58dad5d468f070340336e1 Merge: 06a60de e0c9c0a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:20:31 2015 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace Pull usernamespace mount fixes from Eric Biederman: "Way back in October Andrey Vagin reported that umount(MNT_DETACH) could be used to defeat MNT_LOCKED. As I worked to fix this I discovered that combined with mount propagation and an appropriate selection of shared subtrees a reference to a directory on an unmounted filesystem is not necessary. That MNT_DETACH is allowed in user namespace in a form that can break MNT_LOCKED comes from my early misunderstanding what MNT_DETACH does. To avoid breaking existing userspace the conflict between MNT_DETACH and MNT_LOCKED is fixed by leaving mounts that are locked to their parents in the mount hash table until the last reference goes away. While investigating this issue I also found an issue with __detach_mounts. The code was unnecessarily and incorrectly triggering mount propagation. Resulting in too many mounts going away when a directory is deleted, and too many cpu cycles are burned while doing that. Looking some more I realized that __detach_mounts by only keeping mounts connected that were MNT_LOCKED it had the potential to still leak information so I tweaked the code to keep everything locked together that possibly could be. This code was almost ready last cycle but Al invented fs_pin which slightly simplifies this code but required rewrites and retesting, and I have not been in top form for a while so it took me a while to get all of that done. Similiarly this pull request is late because I have been feeling absolutely miserable all week. The issue of being able to escape a bind mount has not yet been addressed, as the fixes are not yet mature" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: mnt: Update detach_mounts to leave mounts connected mnt: Fix the error check in __detach_mounts mnt: Honor MNT_LOCKED when detaching mounts fs_pin: Allow for the possibility that m_list or s_list go unused. mnt: Factor umount_mnt from umount_tree mnt: Factor out unhash_mnt from detach_mnt and umount_tree mnt: Fail collect_mounts when applied to unmounted mounts mnt: Don't propagate unmounts to locked mounts mnt: On an unmount propagate clearing of MNT_LOCKED mnt: Delay removal from the mount hash. mnt: Add MNT_UMOUNT flag mnt: In umount_tree reuse mnt_list instead of mnt_hash mnt: Don't propagate umounts in __detach_mounts mnt: Improve the umount_tree flags mnt: Use hlist_move_list in namespace_unlock commit 06a60deca87dba8e2c186ea7f12ea87d6785188e Merge: d6a24d0 1002755 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:17:20 2015 -0400 Merge tag 'for-f2fs-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs updates from Jaegeuk Kim: "New features: - in-memory extent_cache - fs_shutdown to test power-off-recovery - use inline_data to store symlink path - show f2fs as a non-misc filesystem Major fixes: - avoid CPU stalls on sync_dirty_dir_inodes - fix some power-off-recovery procedure - fix handling of broken symlink correctly - fix missing dot and dotdot made by sudden power cuts - handle wrong data index during roll-forward recovery - preallocate data blocks for direct_io ... and a bunch of minor bug fixes and cleanups" * tag 'for-f2fs-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (71 commits) f2fs: pass checkpoint reason on roll-forward recovery f2fs: avoid abnormal behavior on broken symlink f2fs: flush symlink path to avoid broken symlink after POR f2fs: change 0 to false for bool type f2fs: do not recover wrong data index f2fs: do not increase link count during recovery f2fs: assign parent's i_mode for empty dir f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries f2fs: fix mismatching lock and unlock pages for roll-forward recovery f2fs: fix sparse warnings f2fs: limit b_size of mapped bh in f2fs_map_bh f2fs: persist system.advise into on-disk inode f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get f2fs: preallocate fallocated blocks for direct IO f2fs: enable inline data by default f2fs: preserve extent info for extent cache f2fs: initialize extent tree with on-disk extent info of inode f2fs: introduce __{find,grab}_extent_tree f2fs: split set_data_blkaddr from f2fs_update_extent_cache f2fs: enable fast symlink by utilizing inline data ... commit d6a24d0640d609138a4e40a4ce9fd9fe7859e24c Merge: 1f5014d 1971754 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 11:10:49 2015 -0400 Merge tag 'docs-for-linus' of git://git.lwn.net/linux-2.6 Pull documentation updates from Jonathan Corbet: "Numerous fixes, the overdue removal of the i2o docs, some new Chinese translations, and, hopefully, the README fix that will end the flow of identical patches to that file" * tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: (34 commits) Documentation/memcg: update memcg/kmem status Documentation: blackfin: Makefile: Typo building issue Documentation/vm/pagemap.txt: correct location of page-types tool Documentation/memory-barriers.txt: typo fix doc: Add guest_nice column to example output of `cat /proc/stat' Documentation/kernel-parameters: Move "eagerfpu" to its right place Documentation: gpio: Update ACPI part of the document to mention _DSD docs/completion.txt: Various tweaks and corrections doc: completion: context, scope and language fixes Documentation:Update Documentation/zh_CN/arm64/memory.txt Documentation:Update Documentation/zh_CN/arm64/booting.txt Documentation: Chinese translation of arm64/legacy_instructions.txt DocBook media: fix broken EIA hyperlink Documentation: tweak the maintainers entry README: Change gzip/bzip2 to xz compression format README: Update version number reference doc:pci: Fix typo in Documentation/PCI Documentation: drm: Use '->' when describing access through pointers. Documentation: Remove mentioning of block barriers Documentation/email-clients.txt: Fix one grammar mistake, add extra info about TB ... commit 1f5014d6a77513fa7cefe30eb7791d5856c04384 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Apr 17 22:34:18 2015 +0200 Bluetooth: hidp: Fix regression with older userspace and flags validation While it is not used by newer userspace anymore, the older userspace was utilizing HIDP_VIRTUAL_CABLE_UNPLUG and HIDP_BOOT_PROTOCOL_MODE flags when adding a new HIDP connection. The flags validation is important, but we can not break older userspace and with that allow providing these flags even if newer userspace does not use them anymore. Reported-and-tested-by: Jörg Otte <jrg.otte@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cb0f3f320d64831afb39940863c5927d6af25514 Merge: 078838d 8d7dc92 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Apr 18 14:49:41 2015 +0200 Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/urgent Pull RCU fix from Paul E. McKenney: "This series contains a single change that fixes Kconfig asking pointless questions." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a6dfa128ce5c414ab46b1d690f7a1b8decb8526d Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Fri Apr 17 15:04:48 2015 -0400 config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected A huge amount of NIC drivers use the DMA API, however if compiled under 32-bit an very important part of the DMA API can be ommitted leading to the drivers not working at all (especially if used with 'swiotlb=force iommu=soft'). As Prashant Sreedharan explains it: "the driver [tg3] uses DEFINE_DMA_UNMAP_ADDR(), dma_unmap_addr_set() to keep a copy of the dma "mapping" and dma_unmap_addr() to get the "mapping" value. On most of the platforms this is a no-op, but ... with "iommu=soft and swiotlb=force" this house keeping is required, ... otherwise we pass 0 while calling pci_unmap_/pci_dma_sync_ instead of the DMA address." As such enable this even when using 32-bit kernels. Reported-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Chan <mchan@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: boris.ostrovsky@xxxxxxxxxx Cc: cascardo@xxxxxxxxxxxxxxxxxx Cc: david.vrabel@xxxxxxxxxx Cc: sanjeevb@xxxxxxxxxxxx Cc: siva.kallam@xxxxxxxxxxxx Cc: vyasevich@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150417190448.GA9462@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7505256626b0b3d11ea5a3ec1a89046d07c3c366 Merge: 510965d a2166ca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 08:30:10 2015 -0400 Merge tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux Pull devicetree changes from Grant Likely: "Here are the devicetree changes queued up for v4.1. Nothing really exciting here. Rob has another few commits for big-endian attached UARTs, but those will be sent in a separate merge request since they haven't been as thoroughly tested as this batch. Here are the highlights: - lots of unittest cleanup from Frank Rowand - bugfixes and updates to the of_graph code - tighten up of_get_mac_address() code - documentation updates" * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux: of/unittest: Fix of_platform_depopulate test case of/unittest: early return from test skips tests of/unittest: breadcrumbs to reduce pain of future maintainers of/unittest: reduce checkpatch noise - line after declarations of/unittest: typo in error string of/unittest: add const where needed of_net: factor out repetitive code from of_get_mac_address() drivers/of: Add empty ranges quirk for PA-Semi of: Allow selection of OF_DYNAMIC and OF_OVERLAY if OF_UNITTEST of: Empty node & property flag accessors when !OF of: Explicitly include linux/types.h in of_graph.h dt-bindings: brcm: rationalize Broadcom documentation naming of/unittest: replace 'selftest' with 'unittest' Documentation: rename of_selftest.txt to of_unittest.txt Documentation: update the of_selftest.txt dt: OF_UNITTEST make dependency broken MAINTAINERS: Pantelis Antoniou device tree overlay maintainer of: Add of_graph_get_port_by_id function of: Add for_each_endpoint_of_node helper macro of: Decrement refcount of previous endpoint in of_graph_get_next_endpoint commit 510965dd4a0a59504ba38455f77339ea8b4c6a70 Merge: 40d7839 03daa6f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 08:22:10 2015 -0400 Merge tag 'gpio-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO updates from Linus Walleij: "This is the bulk of GPIO changes for the v4.1 development cycle: - A new GPIO hogging mechanism has been added. This can be used on boards that want to drive some GPIO line high, low, or set it as input on boot and then never touch it again. For some embedded systems this is bliss and simplifies things to a great extent. - Some API cleanup and closure: gpiod_get_array() and gpiod_put_array() has been added to get and put GPIOs in bulk as was possible with the non-descriptor API. - Encapsulate cross-calls to the pin control subsystem in <linux/gpio/driver.h>. Now this should be the only header any GPIO driver needs to include or something is wrong. Cleanups restricting drivers to this include are welcomed if tested. - Sort the GPIO Kconfig and split it into submenus, as it was becoming and unstructured, illogical and unnavigatable mess. I hope this is easier to follow. Menus that require a certain subsystem like I2C can now be hidden nicely for example, still working on others. - New drivers: - New driver for the Altera Soft GPIO. - The F7188x driver now handles the F71869 and F71869A variants. - The MIPS Loongson driver has been moved to drivers/gpio for consolidation and cleanup. - Cleanups: - The MAX732x is converted to use the GPIOLIB_IRQCHIP infrastructure. - The PCF857x is converted to use the GPIOLIB_IRQCHIP infrastructure. - Radical cleanup of the OMAP driver. - Misc: - Enable the DWAPB GPIO for all architectures. This is a "hard IP" block from Synopsys which has started to turn up in so diverse architectures as X86 Quark, ARC and a slew of ARM systems. So even though it's not an expander, it's generic enough to be available for all. - We add a mock GPIO on Crystalcove PMIC after a long discussion with Daniel Vetter et al, tracing back to the shootout at the kernel summit where DRM drivers and sub-componentization was discussed. In this case a mock GPIO is assumed to be the best compromise gaining some reuse of infrastructure without making DRM drivers overly complex at the same time. Let's see" * tag 'gpio-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (62 commits) Revert "gpio: sch: use uapi/linux/pci_ids.h directly" gpio: dwapb: remove dependencies gpio: dwapb: enable for ARC gpio: removing kfree remove functionality gpio: mvebu: Fix mask/unmask managment per irq chip type gpio: split GPIO drivers in submenus gpio: move MFD GPIO drivers under their own comment gpio: move BCM Kona Kconfig option gpio: arrange SPI Kconfig symbols alphabetically gpio: arrange PCI GPIO controllers alphabetically gpio: arrange I2C Kconfig symbols alphabetically gpio: arrange Kconfig symbols alphabetically gpio: ich: Implement get_direction function gpio: use (!foo) instead of (foo == NULL) gpio: arizona: drop owner assignment from platform_drivers gpio: max7300: remove 'ret' variable gpio: use devm_kzalloc gpio: sch: use uapi/linux/pci_ids.h directly gpio: x-gene: fix devm_ioremap_resource() check gpio: loongson: Add Loongson-3A/3B GPIO driver support ... commit 40d7839879b4584f91522d841afb22ed401cf40f Merge: afad97e c1c21f4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 08:19:04 2015 -0400 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "Two buildfixes for I2C based on your tree from the day before yesterday. Sadly, these build errors never reached me while the patches were sitting in -next. Need to fix that" * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: core: Export bus recovery functions i2c: jz4780: Fix build for m68k and sparc64 commit afad97eee47c1f1f242202e2473929b4ef5d9f43 Merge: 04b7fe6 44c144f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 18 08:14:18 2015 -0400 Merge tag 'dm-4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper updates from Mike Snitzer: - the most extensive changes this cycle are the DM core improvements to add full blk-mq support to request-based DM. - disabled by default but user can opt-in with CONFIG_DM_MQ_DEFAULT - depends on some blk-mq changes from Jens' for-4.1/core branch so that explains why this pull is built on linux-block.git - update DM to use name_to_dev_t() rather than open-coding a less capable device parser. - includes a couple small improvements to name_to_dev_t() that offer stricter constraints that DM's code provided. - improvements to the dm-cache "mq" cache replacement policy. - a DM crypt crypt_ctr() error path fix and an async crypto deadlock fix - a small efficiency improvement for DM crypt decryption by leveraging immutable biovecs - add error handling modes for corrupted blocks to DM verity - a new "log-writes" DM target from Josef Bacik that is meant for file system developers to test file system integrity at particular points in the life of a file system - a few DM log userspace cleanups and fixes - a few Documentation fixes (for thin, cache, crypt and switch) * tag 'dm-4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (34 commits) dm crypt: fix missing error code return from crypt_ctr error path dm crypt: fix deadlock when async crypto algorithm returns -EBUSY dm crypt: leverage immutable biovecs when decrypting on read dm crypt: update URLs to new cryptsetup project page dm: add log writes target dm table: use bool function return values of true/false not 1/0 dm verity: add error handling modes for corrupted blocks dm thin: remove stale 'trim' message documentation dm delay: use msecs_to_jiffies for time conversion dm log userspace base: fix compile warning dm log userspace transfer: match wait_for_completion_timeout return type dm table: fall back to getting device using name_to_dev_t() init: stricter checking of major:minor root= values init: export name_to_dev_t and mark name argument as const dm: add 'use_blk_mq' module param and expose in per-device ro sysfs attr dm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mq dm: add full blk-mq support to request-based DM dm: impose configurable deadline for dm_request_fn's merge heuristic dm sysfs: introduce ability to add writable attributes dm: don't start current request if it would've merged with the previous ... commit 0c99241c93b8060441f3c8434848e54b5338f922 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 16 12:38:30 2015 +0200 perf/x86/intel/pt: Fix and clean up error handling in pt_event_add() Dan Carpenter reported that pt_event_add() has buggy error handling logic: it returns 0 instead of -EBUSY when it fails to start a newly added event. Furthermore, the control flow in this function is messy, with cleanup labels mixed with direct returns. Fix the bug and clean up the code by converting it to a straight fast path for the regular non-failing case, plus a clear sequence of cascading goto labels to do all cleanup. NOTE: I materially changed the existing clean up logic in the pt_event_start() failure case to use the direct perf_aux_output_end() path, not pt_event_del(), because perf_aux_output_end() is enough here. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150416103830.GB7847@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7d0ec8b6f40b356f780b79de63eeafd6b907d68c Author: Pelle Nilsson <per.nilsson@xxxxxxxxx> Date: Tue Apr 14 15:40:17 2015 +0200 spi: bitbang: Make setup_transfer() callback optional Some controller drivers have no need of this callback (spi-altera even causes a NULL pointer dereference because it doesn't register the callback, falsely assuming that it is already optional). Fixes: 30af9b558a56 ("spi/bitbang: Drop empty setup() functions") Signed-off-by: Pelle Nilsson <per.nilsson@xxxxxxxxx> Reviewed-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bc26d4d06e337ade069f33d3f4377593b24e6e36 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Apr 18 02:53:25 2015 +0300 sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND) A deadlock can be initiated by userspace via ioctl(SNDCTL_SEQ_OUTOFBAND) on /dev/sequencer with TMR_ECHO midi event. In this case the control flow is: sound_ioctl() -> case SND_DEV_SEQ: case SND_DEV_SEQ2: sequencer_ioctl() -> case SNDCTL_SEQ_OUTOFBAND: spin_lock_irqsave(&lock,flags); play_event(); -> case EV_TIMING: seq_timing_event() -> case TMR_ECHO: seq_copy_to_input() -> spin_lock_irqsave(&lock,flags); It seems that spin_lock_irqsave() around play_event() is not necessary, because the only other call location in seq_startplay() makes the call without acquiring spinlock. So, the patch just removes spinlocks around play_event(). By the way, it removes unreachable code in seq_timing_event(), since (seq_mode == SEQ_2) case is handled in the beginning. Compile tested only. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 43c499dc2778b96e21ed14e1a71e7b117a0b406f Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Apr 17 22:53:32 2015 +0530 ALSA: asound.h - use SNDRV_CTL_ELEM_ID_NAME_MAXLEN we have defined SNDRV_CTL_ELEM_ID_NAME_MAXLEN as size of name array so use this define instead of numeric value Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5d38000b3c97a1079734c0b4c5f87d5b935318cd Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Fri Apr 17 21:51:38 2015 +0100 ARM: 8342/1: VDSO: depend on CPU_V7 When targeting ARMv3 (e.g. rpc) and enabling CONFIG_VDSO we get: arch/arm/vdso/datapage.S:13: Error: selected processor does not support ARM mode `bx lr' One fix considered was to use 'ldr pc,lr' for such configurations, but since the VDSO is unlikely to be useful for pre-v7 hardware, just make it depend on CONFIG_CPU_V7. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 04b7fe6a4a231871ef681bc95e08fe66992f7b1f Merge: 388f997 d681f11 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 16:36:59 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide Pull IDE update from David Miller: "Just one change, getting rid of usage of the deprecated PCI DMA interfaces in the IDE drivers" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide: ide: remove deprecated use of pci api commit 388f997620cb57372c494a194e9698b28cc179b8 Merge: e2fdae7 e3122b7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 16:31:08 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix verifier memory corruption and other bugs in BPF layer, from Alexei Starovoitov. 2) Add a conservative fix for doing BPF properly in the BPF classifier of the packet scheduler on ingress. Also from Alexei. 3) The SKB scrubber should not clear out the packet MARK and security label, from Herbert Xu. 4) Fix oops on rmmod in stmmac driver, from Bryan O'Donoghue. 5) Pause handling is not correct in the stmmac driver because it doesn't take into consideration the RX and TX fifo sizes. From Vince Bridgers. 6) Failure path missing unlock in FOU driver, from Wang Cong. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits) net: dsa: use DEVICE_ATTR_RW to declare temp1_max netns: remove BUG_ONs from net_generic() IB/ipoib: Fix ndo_get_iflink sfc: Fix memcpy() with const destination compiler warning. altera tse: Fix network-delays and -retransmissions after high throughput. net: remove unused 'dev' argument from netif_needs_gso() act_mirred: Fix bogus header when redirecting from VLAN inet_diag: fix access to tcp cc information tcp: tcp_get_info() should fetch socket fields once net: dsa: mv88e6xxx: Add missing initialization in mv88e6xxx_set_port_state() skbuff: Do not scrub skb mark within the same name space Revert "net: Reset secmark when scrubbing packet" bpf: fix two bugs in verification logic when accessing 'ctx' pointer bpf: fix bpf helpers to use skb->mac_header relative offsets stmmac: Configure Flow Control to work correctly based on rxfifo size stmmac: Enable unicast pause frame detect in GMAC Register 6 stmmac: Read tx-fifo-depth and rx-fifo-depth from the devicetree stmmac: Add defines and documentation for enabling flow control stmmac: Add properties for transmit and receive fifo sizes stmmac: fix oops on rmmod after assigning ip addr ... commit e2fdae7e7c5a690b10b2d2891ec819e554dc033d Merge: 6b6e177 cb97201 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 16:19:26 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc updates from David Miller: "The PowerPC folks have a really nice scalable IOMMU pool allocator that we wanted to make use of for sparc. So here we have a series that abstracts out their code into a common layer that anyone can make use of. Sparc is converted, and the PowerPC folks have reviewed and ACK'd this series and plan to convert PowerPC over as well" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: iommu-common: Fix PARISC compile-time warnings sparc: Make LDC use common iommu poll management functions sparc: Make sparc64 use scalable lib/iommu-common.c functions sparc: Break up monolithic iommu table/lock into finer graularity pools and lock commit 6b6e177d632ee251c7c78d8f266a851ab9704879 Merge: bfaf245 128f3cb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 16:03:05 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile Pull arch/tile updates from Chris Metcalf: "These are mostly nohz_full changes, plus a smattering of minor fixes (notably a couple for ftrace)" * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: tile: nohz: warn if nohz_full uses hypervisor shared cores tile: ftrace: fix function_graph tracer issues tile: map data region shadow of kernel as R/W tile: support CONTEXT_TRACKING and thus NOHZ_FULL tile: support arch_irq_work_raise arch: tile: fix null pointer dereference on pt_regs pointer tile/elf: reorganize notify_exec() tile: use si_int instead of si_ptr for compat_siginfo commit e3122b7fae7b4e3d1d49fa84f6515bcbe6cbc6fc Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 15:12:25 2015 -0400 net: dsa: use DEVICE_ATTR_RW to declare temp1_max Since commit da4759c (sysfs: Use only return value from is_visible for the file mode), it is possible to reduce the permissions of a file. So declare temp1_max with the DEVICE_ATTR_RW macro and remove the write permission in dsa_hwmon_attrs_visible if set_temp_limit isn't provided. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bfaf245022b4b8661af2e35f467cf0e91943c24c Merge: 96d928e 3e20a26 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 15:50:54 2015 -0400 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS updates from Ralf Baechle: "This is the main pull request for MIPS for Linux 4.1. Most noteworthy: - Add more Octeon-optimized crypto functions - Octeon crypto preemption and locking fixes - Little endian support for Octeon - Use correct CSR to soft reset Octeons - Support LEDs on the Octeon-based DSR-1000N - Fix PCI interrupt mapping for the Octeon-based DSR-1000N - Mark prom_free_prom_memory() as __init for a number of systems - Support for Imagination's Pistachio SOC. This includes arch and CLK bits. I'd like to merge pinctrl bits later - Improve parallelism of csum_partial for certain pipelines - Organize DTB files in subdirs like other architectures - Implement read_sched_clock for all MIPS platforms other than Octeon - Massive series of 38 fixes and cleanups for the FPU emulator / kernel - Further FPU remulator work to support new features. This sits on a separate branch which also has been pulled into the 4.1 KVM branch - Clean up and fixes for the SEAD3 eval board; remove unused file - Various updates for Netlogic platforms - A number of small updates for Loongson 3 platforms - Increase the memory limit for ATH79 platforms to 256MB - A fair number of fixes and updates for BCM47xx platforms - Finish the implementation of XPA support - MIPS FDC support. No, not floppy controller but Fast Debug Channel :) - Detect the R16000 used in SGI legacy platforms - Fix Kconfig dependencies for the SSB bus support" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (265 commits) MIPS: Makefile: Fix MIPS ASE detection code MIPS: asm: elf: Set O32 default FPU flags MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G MIPS: Kconfig: Disable SMP/CPS for 64-bit MIPS: Hibernate: flush TLB entries earlier MIPS: smp-cps: cpu_set FPU mask if FPU present MIPS: lose_fpu(): Disable FPU when MSA enabled MIPS: ralink: add missing symbol for RALINK_ILL_ACC MIPS: ralink: Fix bad config symbol in PCI makefile. SSB: fix Kconfig dependencies MIPS: Malta: Detect and fix bad memsize values Revert "MIPS: Avoid pipeline stalls on some MIPS32R2 cores." MIPS: Octeon: Delete override of cpu_has_mips_r2_exec_hazard. MIPS: Fix cpu_has_mips_r2_exec_hazard. MIPS: kernel: entry.S: Set correct ISA level for mips_ihb MIPS: asm: spinlock: Fix addiu instruction for R10000_LLSC_WAR case MIPS: r4kcache: Use correct base register for MIPS R6 cache flushes MIPS: Kconfig: Fix typo for the r2-to-r6 emulator kernel parameter MIPS: unaligned: Fix regular load/store instruction emulation for EVA MIPS: unaligned: Surround load/store macros in do {} while statements ... commit 96d928ed75c4ba4253e82910a697ec7b06ace8b4 Merge: e076b7c 2ba9268 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 15:32:30 2015 -0400 Merge tag 'xtensa-20150416' of git://github.com/czankel/xtensa-linux Pull Xtensa updates from Chris Zankel: - fix linker script transformation for .text / .text.fixup - wire bpf and execveat syscalls - provide __NR_sync_file_range2 instead of __NR_sync_file_range, as that's what xtensa uses. - make xtfpgs LCD driver functional and configurable. This fixes hardware lockup on KC705/ML605 boot - add audio subsystem bits to xtfpga DTS and provide sample KC705 config with audio features enabled - add CY7C67300 USB controller support to XTFPGA - fix locking issues in ISS network driver - document PIC and MX interrupt distributor device tree bindings * tag 'xtensa-20150416' of git://github.com/czankel/xtensa-linux: xtensa: xtfpga: add CY7C67300 USB controller support irqchip: xtensa-pic: xtensa-mx: document DT bindings xtensa: ISS: fix locking in TAP network adapter xtensa: Fix fix linker script transformation for .text / .text.fixup xtensa: provide __NR_sync_file_range2 instead of __NR_sync_file_range xtensa: wire bpf and execveat syscalls xtensa: xtfpga: fix hardware lockup caused by LCD driver xtensa: xtfpga: provide defconfig with audio subsystem xtensa: xtfpga: add audio card to xtfpga DTS commit d681f1166919d6829083c069a83edcd59bfd5e34 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Mon Apr 13 10:26:53 2015 +0200 ide: remove deprecated use of pci api Replace occurences of the pci api by appropriate call to the dma api. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @deprecated@ idexpression id; position p; @@ ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @bad1@ idexpression id; position deprecated.p; @@ ...when != &id->dev when != pci_get_drvdata ( id ) when != pci_enable_device ( id ) ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @depends on !bad1@ idexpression id; expression direction; position deprecated.p; @@ ( - pci_dma_supported@p ( id, + dma_supported ( &id->dev, ... + , GFP_ATOMIC ) | - pci_alloc_consistent@p ( id, + dma_alloc_coherent ( &id->dev, ... + , GFP_ATOMIC ) ) Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb97201cb060d13da0b87fd1bf68208c7389c5b1 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Apr 16 22:28:04 2015 -0400 iommu-common: Fix PARISC compile-time warnings Fixes warnings due to - no DMA_ERROR_CODE on PARISC, - sizeof (unsigned long) == 4 bytes on PARISC. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2591ffd3085e34a231480efe8f1cac83ebb81725 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 17 19:06:30 2015 +0200 netns: remove BUG_ONs from net_generic() This inline has ~500 callsites. On 04/14/2015 08:37 PM, David Miller wrote: > That BUG_ON() was added 7 years ago, and I don't remember it ever > triggering or helping us diagnose something, so just remove it and > keep the function inlined. On x86 allyesconfig build: text data bss dec hex filename 82447071 22255384 20627456 125329911 77861f7 vmlinux4 82441375 22255384 20627456 125324215 7784bb7 vmlinux5prime Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> CC: David S. Miller <davem@xxxxxxxxxxxxx> CC: Jan Engelhardt <jengelh@xxxxxxxxxx> CC: Jiri Pirko <jpirko@xxxxxxxxxx> CC: linux-kernel@xxxxxxxxxxxxxxx CC: netdev@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c1539597419df6dfeb8ed774d60198b5830b8f7 Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 16 16:34:34 2015 +0300 IB/ipoib: Fix ndo_get_iflink Currently, iflink of the parent interface was always accessed, even when interface didn't have a parent and hence we crashed there. Handle the interface types properly: for a child interface, return the ifindex of the parent, for parent interface, return its ifindex. For child devices, make sure to set the parent pointer prior to invoking register_netdevice(), this allows the new ndo to be called by the stack immediately after the child device is registered. Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') Reported-by: Honggang Li <honli@xxxxxxxxxx> Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Honggang Li <honli@xxxxxxxxxx> Reviewed-By: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>+ Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d20a16062e771b6e26b843c0cde3b17c1146e00 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 17 15:15:40 2015 -0400 sfc: Fix memcpy() with const destination compiler warning. drivers/net/ethernet/sfc/selftest.c: In function â??efx_iterate_stateâ??: drivers/net/ethernet/sfc/selftest.c:388:9: warning: passing argument 1 of â??memcpyâ?? discards â??constâ?? qualifier from pointer target type [-Wdiscarded-array-qualifiers] This is because the msg[] member of struct efx_loopback_payload is marked as 'const'. Remove that. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93ea337852d6c9f292e2ccfc394be0f2859b99ae Author: Andreas Oetken <andreas@xxxxxxxxxxx> Date: Thu Apr 16 23:48:08 2015 +0200 altera tse: Fix network-delays and -retransmissions after high throughput. Fix bug which occurs when more than <limit> packets are available during napi-poll, leading to "delays" and retransmissions on the network. Check for (count < limit) before checking the get_rx_status in tse_rx-function. Function get_rx_status is reading from the response-fifo. If there is currently a response in the fifo, reading the last byte of the response pops the value from the fifo. If the limit is checked as second condition and the limit is reached the fifo is popped but the packet is not processed. Signed-off-by: Andreas Oetken <ennoerlangen@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e076b7c1343e0810880e6b909445f06921f31067 Merge: 0f5abd4 569fd0c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 15:09:51 2015 -0400 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block core fix from Jens Axboe: "A commit in the previous pull request introduce a regression. So far only observed on qemu-sparc64, but it's a general bug. Please pull this single fix to rectify that, thanks" [ And it turns out that it's been seen outside of that qemu-sparc64 case, and is easy to trigger with small number of CPUs and blk-mq enabled by default - Linus ] * 'for-linus' of git://git.kernel.dk/linux-block: blk-mq: fix iteration of busy bitmap commit 0f5abd4020bfd2b1eec6975b91bd5068aa674a93 Merge: 54e514b 0ee0d34 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 15:01:29 2015 -0400 Merge tag 'acpica-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPICA updates from Rafael Wysocki: "This updates the kernel's ACPICA code to upstream revision 20150410 and adds a fix for a GPE handling regression introduced during the 3.19 cycle on top of that. Included are two stable-candidate bug fixes (one of them fixing a 3.16 regression), multiple other fixes and a bunch of cleanups. Specifics: - Fix for a GPE handling regression on Dell Latitude D600 that caused GPE signaling to stop working on that machine, which appears to be due to a hardware glitch, but it used to work and it can be made work again in a relativly straightforward way (Rafael J Wysocki). - Fix for a mutex unlock regression related to the handling of ACPI tables introduced during the 3.16 development cycle (Octavian Purdila). - _REV modification to always return 2 which has been done by all versions of Windows since NT and the firmware people started to use it to distinguish between OSes in their AML and do some silly and wrong things on that basis (Bob Moore). - Fixes and cleanups related to the acpi_physicall_address data type including one stable-candidate fix for an issue occasionally occuring on 64-bit machines running 32-bit kernels where using offsets provided by the firmware may lead to address overflows (Lv Zheng). - External() opcode support infrastructure needed for recompiling disassembled ACPI tables in some cases including interpreter modification to ignore that opcode (Bob Moore). - Support for the "Windows 2015" string in _OSI (Bob Moore). - GPE debug interface change to return values read from hardware registers (Lv Zheng). - Removal of the __DATE__ macro usage in tools (Rasmus Villemoes). - Assorted minor fixes and cleanups (Lv Zheng, Rickard Strandqvist, Bob Moore)" * tag 'acpica-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits) ACPICA: Store GPE register enable masks upfront ACPICA: Update version to 20150410. ACPICA: Fix a couple issues with the local printf module. ACPICA: Disassembler: Some cleanup of the table dump module. ACPICA: iASL: Add support for MSDM ACPI table. ACPICA: Update for SLIC ACPI table. ACPICA: Add "//" before ascii output of buffers. ACPICA: Remove unused internal AML opcode. ACPICA: Permanently set _REV to the value '2'. ACPICA: Add "Windows 2015" string to _OSI support. ACPICA: Add infrastructure for External() opcode. ACPICA: iASL: Enhancement for constant folding. ACPICA: iASL/Disassembler: Add option to assume table contains valid AML. ACPICA: Update AML Debugger global variables. ACPICA: Update Resource descriptor dump module. ACPICA: Fix a sscanf format string. ACPICA: Casting changes around acpi_physical_address/acpi_size. ACPICA: Resources: Correct conditional compilation definitions. ACPICA: Utilities: Correct conditional compilation definitions. ACPICA: Tables: Move an iasl specific table function to iasl source file. ... commit 7d3beab16dd9eee86bb1a4dd05b51159fc7772f0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Apr 11 00:27:58 2015 +0200 dmaengine: shdmac: avoid unused variable warnings This driver uses '#ifdef CONFIG_ARCH_SHMOBILE' and '#ifdef CONFIG_ARM' interchangeably in its sh_dmae_probe function, which causes a build warning when building for ARM without also enabling shmobile: dma/sh/shdmac.c: In function sh_dmae_probe: dma/sh/shdmac.c:696:6: warning: unused variable errirq [-Wunused-variable] dma/sh/shdmac.c:695:16: warning: unused variable irqflags [-Wunused-variable] dma/sh/shdmac.c: At top level: dma/sh/shdmac.c:447:20: warning: sh_dmae_err defined but not used [-Wunused-function] This changes all the #ifdef to test for CONFIG_ARCH_SHMOBILE to avoid that warning. An earlier patch from Laurent had fixed the warning for non-ARM case, but it still remained present in ARM randconfig builds. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 52d6a5ee101bf ("DMA: shdma: Fix warnings due to declared but unused symbols") Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 11ebe4c067c7f95adff73594cb5c23f7a5c6d69e Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sun Apr 12 02:18:34 2015 +0800 dmaengine: fix platform_no_drv_owner.cocci warnings drivers/dma/xgene-dma.c:2079:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 12d7b7a23694b4d3dba58d7ae971ee9120a617e5 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Apr 11 01:28:41 2015 +0300 dmaengine: pch_dma: fix memory leak on failure path in pch_dma_probe() Memory allocated for pch_dma is not deallocated in case of failure in pch_dma_probe(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0434a23198d6a271b70b75221c7568e60482c04e Author: Niklas Cassel <niklas.cassel@xxxxxxxx> Date: Tue Apr 7 16:42:45 2015 +0200 dmaengine: at_xdmac: unlock spin lock before return Signed-off-by: Niklas Cassel <niklass@xxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9c361b1afd9b4b2bba7fa1ffb080c9f5de3ff108 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Apr 9 12:03:31 2015 +0300 dmaengine: xgene: devm_ioremap() returns NULL on error The code here is checking for IS_ERR() but devm_ioremap() returns NULL on error and not an error pointer. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ed1f041842f0c4226a78fcd96ccb8e6a5433ae9d Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Apr 9 12:05:04 2015 +0300 dmaengine: xgene: buffer overflow in xgene_dma_init_channels() We put 9 characters into the 8 character name[] array. Let's make the array bigger and change the sprintf() to snprintf(). Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 128f3cb9398b5eeb4ee04b60bd5e314f5c122821 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Mon Mar 30 16:33:00 2015 -0400 tile: nohz: warn if nohz_full uses hypervisor shared cores The "hypervisor shared" cores are ones that the Tilera hypervisor uses to receive interrupts to manage hypervisor-owned devices. It's a bad idea to try to use those cores with nohz_full, since they will get interrupted unpredictably -- and invisibly to Linux tracing tools, since the interrupts are delivered at a higher privilege level to the Tilera hypervisor. Generate a clear warning at boot up that this doesn't end well for the nohz_full cores in question. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 437d3e124d25daaa671bfecfd4015ecd2503a955 Author: Tony Lu <zlu@xxxxxxxxxx> Date: Fri Mar 27 14:46:38 2015 -0400 tile: ftrace: fix function_graph tracer issues - Add support for ARCH_SUPPORTS_FTRACE_OPS - Replace the instruction in ftrace_call with the bundle {move r10, lr; jal ftrace_stub}, so that the lr contains the right value after returning from ftrace_stub. An alternative fix might be to leave the instruction in ftrace_call alone when it is being updated with ftrace_stub. Signed-off-by: Tony Lu <zlu@xxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit a84f24230c137a4e0ab14185e9175798ca1b0376 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Fri Mar 27 14:35:31 2015 -0400 tile: map data region shadow of kernel as R/W This is necessary for things like reading /proc/kcore, doing ftrace, etc. It happens by default when using huge pages to map the kernel data, but not when using small pages. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 49e4e15619cd7cd9fc275d460fae2a95c1337fcc Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Mon Mar 23 14:23:58 2015 -0400 tile: support CONTEXT_TRACKING and thus NOHZ_FULL Add the TIF_NOHZ flag appropriately. Add call to user_exit() on entry to do_work_pending() and on entry to syscalls via do_syscall_trace_enter(), and also the top of do_syscall_trace_exit() just because it's done in x86. Add call to user_enter() at the bottom of do_work_pending() once we have no more work to do before returning to userspace. Wrap all the trap code in exception_enter() / exception_exit(). Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit d7d8e892aa6fe280a2e2974d9fd1ec9253ee1a05 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Fri Apr 3 20:20:15 2015 +0900 dmaengine: usb-dmac: Fix dereferencing freed memory 'desc' This patch fixes an issue that the usb_dmac_desc_free() is dereferencing freed memory 'desc' because it uses list_for_each_entry(). This function should use list_for_each_entry_safe(). Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 28591dfdd96c6289aebbf12d8eb4e5dc5ddbde97 Author: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Date: Thu Apr 2 18:39:31 2015 +0300 dmaengine: sa11x0: report slave capabilities to upper layers Fix the following warning by initializing necessary fields in the dma_device structure. ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1 at drivers/dma/dmaengine.c:863 dma_async_device_register+0x2b4/0x4f0() this driver doesn't support generic slave capabilities reporting Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 4.0.0-rc5+ #10 Hardware name: Sharp-Collie [<c0105cd8>] (unwind_backtrace) from [<c0103ef8>] (show_stack+0x10/0x14) [<c0103ef8>] (show_stack) from [<c010e9b8>] (warn_slowpath_common+0x74/0xac) [<c010e9b8>] (warn_slowpath_common) from [<c010ea20>] (warn_slowpath_fmt+0x30/0x40) [<c010ea20>] (warn_slowpath_fmt) from [<c02956fc>] (dma_async_device_register+0x2b4/0x4f0) [<c02956fc>] (dma_async_device_register) from [<c0296a9c>] (sa11x0_dma_probe+0x21c/0x358) [<c0296a9c>] (sa11x0_dma_probe) from [<c02c52c0>] (platform_drv_probe+0x30/0x94) [<c02c52c0>] (platform_drv_probe) from [<c02c39bc>] (driver_probe_device+0x84/0x234) [<c02c39bc>] (driver_probe_device) from [<c02c3c4c>] (__driver_attach+0x98/0x9c) [<c02c3c4c>] (__driver_attach) from [<c02c1f9c>] (bus_for_each_dev+0x74/0xa4) [<c02c1f9c>] (bus_for_each_dev) from [<c02c3230>] (bus_add_driver+0x13c/0x1e8) [<c02c3230>] (bus_add_driver) from [<c02c4260>] (driver_register+0x78/0xf8) [<c02c4260>] (driver_register) from [<c0100624>] (do_one_initcall+0x84/0x1f4) [<c0100624>] (do_one_initcall) from [<c0700e1c>] (kernel_init_freeable+0xf8/0x1b4) [<c0700e1c>] (kernel_init_freeable) from [<c040a920>] (kernel_init+0x8/0xf0) [<c040a920>] (kernel_init) from [<c01013a8>] (ret_from_fork+0x14/0x2c) ---[ end trace e188b8fe0e782e75 ]--- Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e60841b441e1b3d176f235f36c79158dd2ed3ed8 Author: Kedareswara rao Appana <appana.durga.rao@xxxxxxxxxx> Date: Mon Mar 30 18:48:29 2015 +0530 dmaengine: vdma: Fix compilation warnings This patch fixes the following compilation warnings. In file included from drivers/dma/xilinx/xilinx_vdma.c:26:0: include/linux/dmapool.h:18:4: warning: 'struct device' declared inside parameter list size_t size, size_t align, size_t allocation); ^ include/linux/dmapool.h:18:4: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/dmapool.h:31:7: warning: 'struct device' declared inside parameter list size_t size, size_t align, size_t allocation); ^ drivers/dma/xilinx/xilinx_vdma.c: In function 'xilinx_vdma_alloc_chan_resources': drivers/dma/xilinx/xilinx_vdma.c:501:20: warning: passing argument 2 of 'dma_pool_create' from incompatible pointer type chan->desc_pool = dma_pool_create("xilinx_vdma_desc_pool", ^ In file included from drivers/dma/xilinx/xilinx_vdma.c:26:0: include/linux/dmapool.h:17:18: note: expected 'struct device *' but argument is of type 'struct device *' struct dma_pool *dma_pool_create(const char *name, struct device *dev, . Signed-off-by: Kedareswara rao Appana <appanad@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8b86a61da37cbbcf4bd6e87fda494a59b1cf16c4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Apr 17 15:45:04 2015 +0200 net: remove unused 'dev' argument from netif_needs_gso() In commit 04ffcb255f22 ("net: Add ndo_gso_check") Tom originally added the 'dev' argument to be able to call ndo_gso_check(). Then later, when generalizing this in commit 5f35227ea34b ("net: Generalize ndo_gso_check to ndo_features_check") Jesse removed the call to ndo_gso_check() in netif_needs_gso() by calling the new ndo_features_check() in a different place. This made the 'dev' argument unused. Remove the unused argument and go back to the code as before. Cc: Tom Herbert <therbert@xxxxxxxxxx> Cc: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f40ae91307c275fc8b17420fa74145e9937c3c0b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 13:32:09 2015 +0800 act_mirred: Fix bogus header when redirecting from VLAN When you redirect a VLAN device to any device, you end up with crap in af_packet on the xmit path because hard_header_len is not equal to skb->mac_len. So the redirected packet contains four extra bytes at the start which then gets interpreted as part of the MAC address. This patch fixes this by only pushing skb->mac_len. We also need to fix ifb because it tries to undo the pushing done by act_mirred. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 521f1cf1dbb9d5ad858dca5dc75d1b45f64b6589 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 16 18:10:35 2015 -0700 inet_diag: fix access to tcp cc information Two different problems are fixed here : 1) inet_sk_diag_fill() might be called without socket lock held. icsk->icsk_ca_ops can change under us and module be unloaded. -> Access to freed memory. Fix this using rcu_read_lock() to prevent module unload. 2) Some TCP Congestion Control modules provide information but again this is not safe against icsk->icsk_ca_ops change and nla_put() errors were ignored. Some sockets could not get the additional info if skb was almost full. Fix this by returning a status from get_info() handlers and using rcu protection as well. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fad9dfefea6405039491e7e4fc21fb6e59e7d26c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 16 16:12:28 2015 -0700 tcp: tcp_get_info() should fetch socket fields once tcp_get_info() can be called without holding socket lock, so any socket fields can change under us. Use READ_ONCE() to fetch sk_pacing_rate and sk_max_pacing_rate Fixes: 977cb0ecf82e ("tcp: add pacing_rate information into tcp_info") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56cbd0ccc1b508de19561211d7ab9e1c77e6b384 Author: James Bottomley <JBottomley@xxxxxxxx> Date: Wed Apr 15 22:16:01 2015 -0700 mvsas: fix panic on expander attached SATA devices mvsas is giving a General protection fault when it encounters an expander attached ATA device. Analysis of mvs_task_prep_ata() shows that the driver is assuming all ATA devices are locally attached and obtaining the phy mask by indexing the local phy table (in the HBA structure) with the phy id. Since expanders have many more phys than the HBA, this is causing the index into the HBA phy table to overflow and returning rubbish as the pointer. mvs_task_prep_ssp() instead does the phy mask using the port properties. Mirror this in mvs_task_prep_ata() to fix the panic. Reported-by: Adam Talbot <ajtalbot1@xxxxxxxxx> Tested-by: Adam Talbot <ajtalbot1@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8041708ed4d993c5466c20926210598afa97194e Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 14:31:12 2015 +0100 am53c974: Fix crash during modprobe On systems with shared interrupts the interrupt routine might be called as soon as the interrupt is enabled. As this might happen before pci_set_drvdata() is called the system would crash. Reported-by: Andreas Brogle <anbro@xxxxx> Tested-by: Andreas Brogle <anbro@xxxxx> Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b340c656af6317e28b466996a72cca019d97b42d Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Mon Mar 23 11:21:23 2015 -0400 tile: support arch_irq_work_raise Tile includes a hypervisor hook to deliver messages to arbitrary tiles, so we can use that to raise an interrupt as soon as possible on our own core. Unfortunately the Tilera hypervisor disabled that support on principle in previous releases, but it will be available in MDE 4.3.4 and later. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 9088616fb3c4e0d3ec4efb20378691066a218f9c Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Mar 16 16:14:02 2015 -0400 arch: tile: fix null pointer dereference on pt_regs pointer Cppcheck reports the following issue: [arch/tile/kernel/stack.c:116]: (error) Possible null pointer dereference: p In this case, on reporting on an odd fault, p is set to NULL and immediately afterwords p is dereferenced iff !kbt->profile is false. Rather than doing this check just return NULL rather than falling through to the potential null pointer dereference (since the original intentional outcome would be to return NULL anyhow) for this odd fault case. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> [tweaked lightly] commit 5a3b4e8000c1ce476f5e8babd62c580457561f34 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Feb 25 13:58:35 2015 -0800 tile/elf: reorganize notify_exec() In the future mm->exe_file will be done without mmap_sem serialization, thus isolate and reorganize the tile elf code to make the transition easier. Good users will, make use of the more standard get_mm_exe_file(), requiring only holding the mmap_sem to read the value, and relying on reference counting to make sure that the exe file won't dissappear underneath us. The visible effects of this patch are: o We now take and drop the mmap_sem more often. Instead of just in arch_setup_additional_pages(), we also do it in: 1) get_mm_exe_file() 2) to get the mm->vm_file and notify the simulator. [Note that 1) will disappear once we change the locking rules for exe_file.] o We avoid getting a free page and doing d_path() while holding the mmap_sem. This requires reordering the checks. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 89067c2daf3d9e0ce51c768589e79e845e6fda42 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Mon Mar 16 15:04:05 2015 -0400 tile: use si_int instead of si_ptr for compat_siginfo To be compatible with the generic get_compat_sigevent(), the copy_siginfo_to_user32() and thus copy_siginfo_from_user32() have to use si_int instead of si_ptr. Using si_ptr means that for the case of ILP32 compat code running in big-endian mode, we would end up copying the high 32 bits of the pointer value into si_int instead of the desired low 32 bits. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> commit 98b228f55014870092c15d7d168fecac69f2f12a Author: Roy Franz <roy.franz@xxxxxxxxxx> Date: Wed Apr 15 16:32:24 2015 -0700 x86/efi: Store upper bits of command line buffer address in ext_cmd_line_ptr Until now, the EFI stub was only setting the 32 bit cmd_line_ptr in the setup_header structure, so on 64 bit platforms this could be truncated. This patch adds setting the upper bits of the buffer address in ext_cmd_line_ptr. This case was likely never hit, as the allocation for this buffer is done at the lowest available address. Only x86_64 kernels have this problem, as the 1-1 mapping mandated by EFI ensures that all memory is 32 bit addressable on 32 bit platforms. The EFI stub does not support mixed mode, so the 32 bit kernel on 64 bit firmware case does not need to be handled. Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit c57dcb566d3d866a302a1da2e06344bec31d5bcd Author: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> Date: Thu Apr 2 08:39:00 2015 +0100 efivarfs: Ensure VariableName is NUL-terminated Some buggy firmware implementations update VariableNameSize on success such that it does not include the final NUL character which results in garbage in the efivarfs name entries. Use kzalloc on the efivar_entry (as is done in efivars.c) to ensure that the name is always NUL-terminated. The buggy firmware is: BIOS Information Vendor: Intel Corp. Version: S1200RP.86B.02.02.0005.102320140911 Release Date: 10/23/2014 BIOS Revision: 4.6 System Information Manufacturer: Intel Corporation Product Name: S1200RP_SE Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> Acked-by: Matthew Garrett <mjg59@xxxxxxxxxx> Cc: Jeremy Kerr <jk@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 3193899d4dd54056f8c2e0b1e40dd6e2f0009f28 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Apr 17 10:27:57 2015 -0400 tracing: Fix possible out of bounds memory access when parsing enums The code that replaces the enum names with the enum values in the tracepoints' format files could possible miss the end of string nul character. This was caused by processing things like backslashes, quotes and other tokens. After processing the tokens, a check for the nul character needed to be done before continuing the loop, because the loop incremented the pointer before doing the check, which could bypass the nul character. Link: http://lkml.kernel.org/r/552E661D.5060502@xxxxxxxxxx Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> # via KASan Tested-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Fixes: 0c564a538aa9 "tracing: Add TRACE_DEFINE_ENUM() macro to map enums to their values" Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 569fd0ce96087283866ab8c438dac4bcf1738846 Author: Jens Axboe <axboe@xxxxxx> Date: Fri Apr 17 08:28:50 2015 -0600 blk-mq: fix iteration of busy bitmap Commit 889fa31f00b2 was a bit too eager in reducing the loop count, so we ended up missing queues in some configurations. Ensure that our division rounds up, so that's not the case. Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Fixes: 889fa31f00b2 ("blk-mq: reduce unnecessary software queue looping") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d09a6b4a1412149c133a58b53f50e9c05a95e834 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 21:46:29 2015 +0800 ASoC: Intel: sst_byt: remove kfree for memory allocated with devm_kzalloc It's not necessary to free memory allocated with devm_kzalloc and using kfree leads to a double free. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f4d770317997f89bb6997ee3e8dd495cb8356ae9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Apr 17 16:19:46 2015 +0300 ALSA: hda - potential (but unlikely) uninitialized variable This function is a bit unusual because it accepts negative values as "conn_len". It's theoretically possible for both "cache_len" and "conn_len" to be -ENOSPC and in that case we would oops trying to run memcmp() on the uninitialized "list" pointer. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c479163a1b6ab424786fbcd9225b4e3c1c58eb0b Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 20:18:02 2015 +0800 ASoC: samsung: s3c24xx-i2s: Fix return value check in s3c24xx_iis_dev_probe() 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> Reviewed-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 427ced4b203dfea4f08b1298cd1f88e19039fca4 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 20:17:46 2015 +0800 ASoC: tfa9879: Fix return value check in tfa9879_i2c_probe() In case of error, the function devm_kzalloc() returns NULL 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> Acked-by: Peter Rosin <peda@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 28ecc0b658e2ac882faa80e7ff1d72d144299bd0 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Apr 15 00:08:15 2015 -0300 ASoC: fsl_ssi: Fix platform_get_irq() error handling We should check whether platform_get_irq() returns a negative number and propagate the error in this case. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54e514b91b95d6441c12a7955addfb9f9d2afc65 Merge: 4fc8adc 6c8c903 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 17 09:04:38 2015 -0400 Merge branch 'akpm' (patches from Andrew) Merge third patchbomb from Andrew Morton: - various misc things - a couple of lib/ optimisations - provide DIV_ROUND_CLOSEST_ULL() - checkpatch updates - rtc tree - befs, nilfs2, hfs, hfsplus, fatfs, adfs, affs, bfs - ptrace fixes - fork() fixes - seccomp cleanups - more mmap_sem hold time reductions from Davidlohr * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (138 commits) proc: show locks in /proc/pid/fdinfo/X docs: add missing and new /proc/PID/status file entries, fix typos drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic Documentation/spi/spidev_test.c: fix warning drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD type .gitignore: ignore *.tar MAINTAINERS: add Mediatek SoC mailing list tomoyo: reduce mmap_sem hold for mm->exe_file powerpc/oprofile: reduce mmap_sem hold for exe_file oprofile: reduce mmap_sem hold for mm->exe_file mips: ip32: add platform data hooks to use DS1685 driver lib/Kconfig: fix up HAVE_ARCH_BITREVERSE help text x86: switch to using asm-generic for seccomp.h sparc: switch to using asm-generic for seccomp.h powerpc: switch to using asm-generic for seccomp.h parisc: switch to using asm-generic for seccomp.h mips: switch to using asm-generic for seccomp.h microblaze: use asm-generic for seccomp.h arm: use asm-generic for seccomp.h seccomp: allow COMPAT sigreturn overrides ... commit 6c8c90319c0bb1c9e0b68e721359b89ae4f28465 Author: Andrey Vagin <avagin@xxxxxxxxxx> Date: Thu Apr 16 12:49:38 2015 -0700 proc: show locks in /proc/pid/fdinfo/X Let's show locks which are associated with a file descriptor in its fdinfo file. Currently we don't have a reliable way to determine who holds a lock. We can find some information in /proc/locks, but PID which is reported there can be wrong. For example, a process takes a lock, then forks a child and dies. In this case /proc/locks contains the parent pid, which can be reused by another process. $ cat /proc/locks ... 6: FLOCK ADVISORY WRITE 324 00:13:13431 0 EOF ... $ ps -C rpcbind PID TTY TIME CMD 332 ? 00:00:00 rpcbind $ cat /proc/332/fdinfo/4 pos: 0 flags: 0100000 mnt_id: 22 lock: 1: FLOCK ADVISORY WRITE 324 00:13:13431 0 EOF $ ls -l /proc/332/fd/4 lr-x------ 1 root root 64 Mar 5 14:43 /proc/332/fd/4 -> /run/rpcbind.lock $ ls -l /proc/324/fd/ total 0 lrwx------ 1 root root 64 Feb 27 14:50 0 -> /dev/pts/0 lrwx------ 1 root root 64 Feb 27 14:50 1 -> /dev/pts/0 lrwx------ 1 root root 64 Feb 27 14:49 2 -> /dev/pts/0 You can see that the process with the 324 pid doesn't hold the lock. This information is required for proper dumping and restoring file locks. Signed-off-by: Andrey Vagin <avagin@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Acked-by: "J. Bruce Fields" <bfields@xxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 15eb42d674de8da66950f78b5c7202accabe026e Author: Nathan Scott <nathans@xxxxxxxxxx> Date: Thu Apr 16 12:49:35 2015 -0700 docs: add missing and new /proc/PID/status file entries, fix typos docs: add missing and new /proc/PID/status file entries, fix typos Signed-off-by: Nathan Scott <nathans@xxxxxxxxxx> Signed-off-by: Chen Hanxiao <chenhanxiao@xxxxxxxxxxxxxx> Cc: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6da7bb1e9cef9ab956e4223125090e4465f51fb2 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Thu Apr 16 12:49:32 2015 -0700 drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic Change the __raw IO calls to readl/write_relaxed which makes the driver endian agnostic to run properly on big endian systems. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Andrew Victor <linux@xxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 07eec628ffcea711e14644e14d2c83b4150ba1b7 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:49:29 2015 -0700 Documentation/spi/spidev_test.c: fix warning Documentation/spi/spidev_test.c:83:5: warning: no previous prototype for 'unespcape' [-Wmissing-prototypes] fix spelling too. Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 94f919225890a1adb3d44bf5b31ff4cb21d8ee7e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 16 12:49:27 2015 -0700 drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD type The RTC driver supports two flavors of S5M devices: S5M8767-like and S2MPS14-like. On S2MPS13 and S2MPS14 devices the RTC module is the same so we want to re-use the existing support of S2MPS14. However device type was passed from parent MFD driver in platform data structure. This way for the S2MPS13 device the main MFD driver passed device type of 'S2MPS13X'. Instead decouple detecting of device type between main MFD and RTC driver. This allows adding support for other S2MPS14 variations (like S2MPS11 and S2MPS13) easily by adding to mfd/sec-core.c: static const struct mfd_cell s2mps13_devs[] = { { .name = "s2mps14-rtc", } }; Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f4ae9497288336e9a1900e8e351edf71e27b6944 Author: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Date: Thu Apr 16 12:49:24 2015 -0700 .gitignore: ignore *.tar Running make tar-pkg results in following: # Untracked files: # (use "git add <file>..." to include in what will be committed) # # linux-4.0.0-rc3-next-20150313-150225--x86.tar This patch makes git ignore *.tar files. Running 'git ls-files -i --exclude-standard' does not show any tar files excluded from tracking after the change. Signed-off-by: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 17b199d62d7fd732ba02c13433e438ebb368aac9 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Thu Apr 16 12:49:21 2015 -0700 MAINTAINERS: add Mediatek SoC mailing list Add the new list that Mediatek specific patches should also be directed to. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d4144ea6e7cc307e84cd9ca227df7b04a54a2365 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Apr 16 12:49:18 2015 -0700 tomoyo: reduce mmap_sem hold for mm->exe_file The mm->exe_file is currently serialized with mmap_sem (shared) in order to both safely (1) read the file and (2) compute the realpath by calling tomoyo_realpath_from_path, making it an absolute overkill. Good users will, on the other hand, make use of the more standard get_mm_exe_file(), requiring only holding the mmap_sem to read the value, and relying on reference [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fd89a65f155fa890c0130139dfb91684d6da4cfb Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Apr 16 12:49:15 2015 -0700 powerpc/oprofile: reduce mmap_sem hold for exe_file In the future mm->exe_file will be done without mmap_sem serialization, thus isolate and reorganize the related code to make the transition easier. Good users will, make use of the more standard get_mm_exe_file(), requiring only holding the mmap_sem to read the value, and relying on reference counting to make sure that the exe file won't dissappear underneath us while getting the dcookie. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 11163348a23cdbcdca5fb42485418e75f8566a5c Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Apr 16 12:49:12 2015 -0700 oprofile: reduce mmap_sem hold for mm->exe_file sync_buffer() needs the mmap_sem for two distinct operations, both only occurring upon user context switch handling: 1) Dealing with the exe_file. 2) Adding the dcookie data as we need to lookup the vma that backs it. This is done via add_sample() and add_data(). This patch isolates 1), for it will no longer need the mmap_sem for serialization. However, for now, make of the more standard get_mm_exe_file(), requiring only holding the mmap_sem to read the value, and relying on reference counting to make sure that the exe file won't dissappear underneath us while doing the get dcookie. As a consequence, for 2) we move the mmap_sem locking into where we really need it, in lookup_dcookie(). The benefits are twofold: reduce mmap_sem hold times, and cleaner code. [akpm@xxxxxxxxxxxxxxxxxxxx: export get_mm_exe_file for arch/x86/oprofile/oprofile.ko] Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 15beb694c66146e1133b9ff81d54e3ef3daa1d7c Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Thu Apr 16 12:49:09 2015 -0700 mips: ip32: add platform data hooks to use DS1685 driver This modifies the IP32 (SGI O2) platform and reset code to utilize the new rtc-ds1685 driver. The old mc146818rtc.h header is removed and ip32_defconfig is updated as well. Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9e522c0d28d1418c2983ffbc3903f7bed3354180 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:49:07 2015 -0700 lib/Kconfig: fix up HAVE_ARCH_BITREVERSE help text Cc: Yalin Wang <yalin.wang@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8eb68bf75eb7ea73bce88cb9d42efd3bbcece3cd Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:49:04 2015 -0700 x86: switch to using asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. The obsolete sigreturn syscall override is retained in 32-bit mode, and the ia32 syscall overrides are used in the compat case. Remaining definitions were identical. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> 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 d0f138b0853e3b0a0bcd83f3019d34842e12951d Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:49:01 2015 -0700 sparc: switch to using asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. The obsolete sigreturn in COMPAT mode is retained as an override. Remaining definitions are identical. Also corrected missing #define for header reinclusion protection. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1a3aff9ec376666563c7a2223a1d6c19f908919d Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:58 2015 -0700 powerpc: switch to using asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. The obsolete sigreturn in COMPAT mode is retained as an override. Remaining definitions are identical, though they incorrectly appeared in uapi, which has been corrected. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cf7a71b602fe2255b5b42162fa39a3090a1ea2c7 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:55 2015 -0700 parisc: switch to using asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. Definitions were identical. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 97247fd99da723ce2c87a45e714c332b71e3e003 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:53 2015 -0700 mips: switch to using asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. COMPAT definitions retain their overrides and the remaining definitions were identical. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cc2d316fe7b2f39ecacdbd4be04fccbc2476cb7a Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:50 2015 -0700 microblaze: use asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. Since microblaze is 32-bit, the COMPAT seccomp defines are unused and can be dropped. The obsolete sigreturn for seccomp strict mode is retained as an override. Remaining definitions are identical. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6bcf4e9aab9e9f718edebe77712512fc5c4ecd3e Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:47 2015 -0700 arm: use asm-generic for seccomp.h Switch to using the newly created asm-generic/seccomp.h for the seccomp strict mode syscall definitions. Definitions were identical. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ddaa27ee627fb58d1a68eb1eb196393d64c25d1b Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:44 2015 -0700 seccomp: allow COMPAT sigreturn overrides Most architectures don't need to do much special for the strict-mode seccomp syscall entries. Remove the redundant headers and reduce the others. This patch (of 8): Some architectures may need to override the compat sigreturn definition, as is already possible in the non-compat case. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit be2a7fce397d82b7dc3fdbc61fb0bdab118e65ca Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Apr 16 12:48:40 2015 -0700 arc: do not export symbols in troubleshoot.c print_task_path_n_nm() is local to this file, its only user being show_regs(). Mark the function static and avoid the EXPORT_SYMBOL. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Acked-by: Vineet Gupta <vgupta@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 02d699f1f464410d5753a034dd38c76a1a1647e0 Author: Michal Simek <monstr@xxxxxxxxx> Date: Thu Apr 16 12:48:38 2015 -0700 include/linux/kconfig.h: ese macros which are already defined It is better to use macros which are already available because then there is just one location which needs to be change. [akpm@xxxxxxxxxxxxxxxxxxxx: move IS_ENABLED definition to after the IS_BUILTIN and IS_MODULE definitions] Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 13f6b191aaa11c7fd718d35a0c565f3c16bc1d99 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Apr 16 12:48:35 2015 -0700 memstick: mspro_block: add missing curly braces Using the indenting we can see the curly braces were obviously intended. This is a static checker fix, but my guess is that we don't read enough bytes, because we don't calculate "t_len" correctly. Fixes: f1d82698029b ('memstick: use fully asynchronous request processing') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Alex Dubov <oakad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c3fe5872eb3f5f9e027d61d8a3f5d092168fdbca Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Date: Thu Apr 16 12:48:32 2015 -0700 bfs: correct return values In case of failed memory allocation, the return should be ENOMEM instead of ENOSPC. Return -EIO when sb_bread() fails. Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: Tigran Aivazian <tigran@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f7d3f0f1ed5dce6ea7b833ec19cabe61a6e7ff8 Author: Jiri Slaby <jslaby@xxxxxxx> Date: Thu Apr 16 12:48:29 2015 -0700 bfs: bfad_worker cleanup This kthread is not loop at all due to break at the end of the loop. Make that function linear, with no while loop. And remove an unnecessary cast. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Cc: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c8f33d0bec999a4f2b5c3f9380361b88ce6f6ab0 Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Date: Thu Apr 16 12:48:26 2015 -0700 affs: kstrdup() memory handling There is a possibility of kstrdup() failure upon memory pressure. Therefore, returning ENOMEM even for new_opts. [akpm@xxxxxxxxxxxxxxxxxxxx: cleanup] Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: Taesoo kim <taesoo@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 79bda4d510f80e403ef66fee852f8ccb17308581 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:48:24 2015 -0700 fs/affs: use affs_test_opt() Replace mount option test by affs_test_opt(). Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 34f24835383092098cb4ce5c4eb6e719a9973d68 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:48:21 2015 -0700 fs/affs/super.c: use affs_set_opt() Replace direct mount option assignation by affs_set_opt() macro. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6bf445ce35353fe865664af0dbaeb848f0a2820f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:48:18 2015 -0700 fs/affs/affs.h: add mount option manipulation macros Add clear/set/test affs mount option macros. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a0016ff2867ad25aad9807fb46bd0d85429dd5e8 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:48:15 2015 -0700 fs/affs: use AFFS_MOUNT prefix for mount options Currently, affs still uses direct access on mount_options. This patch prepares to use affs_clear/set/test_opt() like other filesystems. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b796410630a0f090864d7595c6bffbc0136f0f8c Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Date: Thu Apr 16 12:48:13 2015 -0700 adfs: return correct return values Fix the wrong values returned by various functions such as EIO and ENOMEM. Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Taesoo kim <taesoo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9d796e66230205cd3366f5660387bd9ecca9d336 Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Thu Apr 16 12:48:10 2015 -0700 gcov: fix softlockups gcov profiling if enabled with other heavy compile-time instrumentation like KASan could trigger following softlockups: NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [swapper/0:1] Modules linked in: irq event stamp: 22823276 hardirqs last enabled at (22823275): [<ffffffff86e8d10d>] mutex_lock_nested+0x7d9/0x930 hardirqs last disabled at (22823276): [<ffffffff86e9521d>] apic_timer_interrupt+0x6d/0x80 softirqs last enabled at (22823172): [<ffffffff811ed969>] __do_softirq+0x4db/0x729 softirqs last disabled at (22823167): [<ffffffff811edfcf>] irq_exit+0x7d/0x15b CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 3.19.0-05245-gbb33326-dirty #3 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5.1-0-g8936dbb-20141113_115728-nilsson.home.kraxel.org 04/01/2014 task: ffff88006cba8000 ti: ffff88006cbb0000 task.ti: ffff88006cbb0000 RIP: kasan_mem_to_shadow+0x1e/0x1f Call Trace: strcmp+0x28/0x70 get_node_by_name+0x66/0x99 gcov_event+0x4f/0x69e gcov_enable_events+0x54/0x7b gcov_fs_init+0xf8/0x134 do_one_initcall+0x1b2/0x288 kernel_init_freeable+0x467/0x580 kernel_init+0x15/0x18b ret_from_fork+0x7c/0xb0 Kernel panic - not syncing: softlockup: hung tasks Fix this by sticking cond_resched() in gcov_enable_events(). Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 230633d109e35b0a24277498e773edeb79b4a331 Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Apr 16 12:48:07 2015 -0700 kernel/sysctl.c: detect overflows when converting to int When converting unsigned long to int overflows may occur. These currently are not detected when writing to the sysctl file system. E.g. on a system where int has 32 bits and long has 64 bits echo 0x800001234 > /proc/sys/kernel/threads-max has the same effect as echo 0x1234 > /proc/sys/kernel/threads-max The patch adds the missing check in do_proc_dointvec_conv. With the patch an overflow will result in an error EINVAL when writing to the the sysctl file system. Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 534b483a86e6b96f1b5cc03bbe4b696f3daead6d Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Apr 16 12:48:04 2015 -0700 cpumask: don't perform while loop in cpumask_next_and() cpumask_next_and() is looking for cpumask_next() in src1 in a loop and tests if found cpu is also present in src2. remove that loop, perform cpumask_and() of src1 and src2 first and use that new mask to find cpumask_next(). Apart from removing while loop, ./bloat-o-meter on x86_64 shows add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-8 (-8) function old new delta cpumask_next_and 62 54 -8 Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dfcce791fb0ad06f3f0b745a23160b9d8858fe39 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Thu Apr 16 12:48:01 2015 -0700 fs/exec.c:de_thread: move notify_count write under lock We set sig->notify_count = -1 between RELEASE and ACQUIRE operations: spin_unlock_irq(lock); ... if (!thread_group_leader(tsk)) { ... for (;;) { sig->notify_count = -1; write_lock_irq(&tasklist_lock); There are no restriction on it so other processors may see this STORE mixed with other STOREs in both areas limited by the spinlocks. Probably, it may be reordered with the above sig->group_exit_task = tsk; sig->notify_count = zap_other_threads(tsk); in some way. Set it under tasklist_lock locked to be sure nothing will be reordered. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e399cd144d8500ffb5d40fa6848890e2580a80a Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Apr 16 12:47:59 2015 -0700 prctl: avoid using mmap_sem for exe_file serialization Oleg cleverly suggested using xchg() to set the new mm->exe_file instead of calling set_mm_exe_file() which requires some form of serialization -- mmap_sem in this case. For archs that do not have atomic rmw instructions we still fallback to a spinlock alternative, so this should always be safe. As such, we only need the mmap_sem for looking up the backing vm_file, which can be done sharing the lock. Naturally, this means we need to manually deal with both the new and old file reference counting, and we need not worry about the MMF_EXE_FILE_CHANGED bits, which can probably be deleted in the future anyway. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Suggested-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 90f31d0ea88880f780574f3d0bb1a227c4c66ca3 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Thu Apr 16 12:47:56 2015 -0700 mm: rcu-protected get_mm_exe_file() This patch removes mm->mmap_sem from mm->exe_file read side. Also it kills dup_mm_exe_file() and moves exe_file duplication into dup_mmap() where both mmap_sems are locked. [akpm@xxxxxxxxxxxxxxxxxxxx: fix comment typo] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0ec62afeb143a34ce78143cf442f879ef68382f7 Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Apr 16 12:47:53 2015 -0700 Doc/sysctl/kernel.txt: document threads-max File /proc/sys/kernel/threads-max controls the maximum number of threads that can be created using fork(). [akpm@xxxxxxxxxxxxxxxxxxxx: fix typo, per Guenter] Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 16db3d3f1170fb0efca652c9378ce7c5f5cb4232 Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Apr 16 12:47:50 2015 -0700 kernel/sysctl.c: threads-max observe limits Users can change the maximum number of threads by writing to /proc/sys/kernel/threads-max. With the patch the value entered is checked against the same limits that apply when fork_init is called. Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ac1b398de1ef94aeee8ba87b0120763526572a6e Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Apr 16 12:47:47 2015 -0700 kernel/fork.c: avoid division by zero PAGE_SIZE is not guaranteed to be equal to or less than 8 times the THREAD_SIZE. E.g. architecture hexagon may have page size 1M and thread size 4096. This would lead to a division by zero in the calculation of max_threads. With 32-bit calculation there is no solution which delivers valid results for all possible combinations of the parameters. The code is only called once. Hence a 64-bit calculation can be used as solution. [akpm@xxxxxxxxxxxxxxxxxxxx: use clamp_t(), per Oleg] Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ff691f6e03815dc8f99461ea509df863a879fc3a Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Apr 16 12:47:44 2015 -0700 kernel/fork.c: new function for max_threads PAGE_SIZE is not guaranteed to be equal to or less than 8 times the THREAD_SIZE. E.g. architecture hexagon may have page size 1M and thread size 4096. This would lead to a division by zero in the calculation of max_threads. With this patch the buggy code is moved to a separate function set_max_threads. The error is not fixed. After fixing the problem in a separate patch the new function can be reused to adjust max_threads after adding or removing memory. Argument mempages of function fork_init() is removed as totalram_pages is an exported symbol. The creation of separate patches for refactoring to a new function and for fixing the logic was suggested by Ingo Molnar. Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ea7f5e25ec271909451b7dc17be37581b888de6 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Thu Apr 16 12:47:41 2015 -0700 fork_init: update max_threads comment The comment explaining what value max_threads is set to is outdated. The maximum memory consumption ratio for thread structures was 1/2 until February 2002, then it was briefly changed to 1/16 before being set to 1/8 which we still use today. The comment was never updated to reflect that change, it's about time. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 35f71bc0a09a45924bed268d8ccd0d3407bc476f Author: Michal Hocko <mhocko@xxxxxxx> Date: Thu Apr 16 12:47:38 2015 -0700 fork: report pid reservation failure properly copy_process will report any failure in alloc_pid as ENOMEM currently which is misleading because the pid allocation might fail not only when the memory is short but also when the pid space is consumed already. The current man page even mentions this case: : EAGAIN : : A system-imposed limit on the number of threads was encountered. : There are a number of limits that may trigger this error: the : RLIMIT_NPROC soft resource limit (set via setrlimit(2)), which : limits the number of processes and threads for a real user ID, was : reached; the kernel's system-wide limit on the number of processes : and threads, /proc/sys/kernel/threads-max, was reached (see : proc(5)); or the maximum number of PIDs, /proc/sys/kernel/pid_max, : was reached (see proc(5)). so the current behavior is also incorrect wrt. documentation. POSIX man page also suggest returing EAGAIN when the process count limit is reached. This patch simply propagates error code from alloc_pid and makes sure we return -EAGAIN due to reservation failure. This will make behavior of fork closer to both our documentation and POSIX. alloc_pid might alsoo fail when the reaper in the pid namespace is dead (the namespace basically disallows all new processes) and there is no good error code which would match documented ones. We have traditionally returned ENOMEM for this case which is misleading as well but as per Eric W. Biederman this behavior is documented in man pid_namespaces(7) : If the "init" process of a PID namespace terminates, the kernel : terminates all of the processes in the namespace via a SIGKILL signal. : This behavior reflects the fact that the "init" process is essential for : the correct operation of a PID namespace. In this case, a subsequent : fork(2) into this PID namespace will fail with the error ENOMEM; it is : not possible to create a new processes in a PID namespace whose "init" : process has terminated. and introducing a new error code would be too risky so let's stick to ENOMEM for this case. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 69828dce7af2cb6d08ef5a03de687d422fb7ec1f Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Apr 16 12:47:35 2015 -0700 signal: remove warning about using SI_TKILL in rt_[tg]sigqueueinfo Sending SI_TKILL from rt_[tg]sigqueueinfo was deprecated, so now we issue a warning on the first attempt of doing it. We use WARN_ON_ONCE, which is not informative and, what is worse, taints the kernel, making the trinity syscall fuzzer complain false-positively from time to time. It does not look like we need this warning at all, because the behaviour changed quite a long time ago (2.6.39), and if an application relies on the old API, it gets EPERM anyway and can issue a warning by itself. So let us zap the warning in kernel. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 64a4096c5cdab377b6e1f44008ee8b2636db579d Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Apr 16 12:47:32 2015 -0700 ptrace: ptrace_detach() can no longer race with SIGKILL ptrace_detach() re-checks ->ptrace under tasklist lock and calls release_task() if __ptrace_detach() returns true. This was needed because the __TASK_TRACED tracee could be killed/untraced, and it could even pass exit_notify() before we take tasklist_lock. But this is no longer possible after 9899d11f6544 "ptrace: ensure arch_ptrace/ptrace_request can never race with SIGKILL". We can turn these checks into WARN_ON() and remove release_task(). While at it, document the setting of child->exit_code. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Pavel Labath <labath@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b72c186999e689cb0b055ab1c7b3cd8fffbeb5ed Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Apr 16 12:47:29 2015 -0700 ptrace: fix race between ptrace_resume() and wait_task_stopped() ptrace_resume() is called when the tracee is still __TASK_TRACED. We set tracee->exit_code and then wake_up_state() changes tracee->state. If the tracer's sub-thread does wait() in between, task_stopped_code(ptrace => T) wrongly looks like another report from tracee. This confuses debugger, and since wait_task_stopped() clears ->exit_code the tracee can miss a signal. Test-case: #include <stdio.h> #include <unistd.h> #include <sys/wait.h> #include <sys/ptrace.h> #include <pthread.h> #include <assert.h> int pid; void *waiter(void *arg) { int stat; for (;;) { assert(pid == wait(&stat)); assert(WIFSTOPPED(stat)); if (WSTOPSIG(stat) == SIGHUP) continue; assert(WSTOPSIG(stat) == SIGCONT); printf("ERR! extra/wrong report:%x\n", stat); } } int main(void) { pthread_t thread; pid = fork(); if (!pid) { assert(ptrace(PTRACE_TRACEME, 0,0,0) == 0); for (;;) kill(getpid(), SIGHUP); } assert(pthread_create(&thread, NULL, waiter, NULL) == 0); for (;;) ptrace(PTRACE_CONT, pid, 0, SIGCONT); return 0; } Note for stable: the bug is very old, but without 9899d11f6544 "ptrace: ensure arch_ptrace/ptrace_request can never race with SIGKILL" the fix should use lock_task_sighand(child). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reported-by: Pavel Labath <labath@xxxxxxxxxx> Tested-by: Pavel Labath <labath@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8de560def7426a770ce8f967b3c3534bc9a2f683 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Apr 16 12:47:26 2015 -0700 fs/fat: comment fix, fat_bits can be also 32 Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58932ef7f2f28e89ee37c6e2be94885e5078ba77 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Apr 16 12:47:24 2015 -0700 fs/fat: remove unnecessary includes 'fat.h' includes <linux/buffer_head.h> which includes <linux/fs.h> which includes all the header files required for all *.c files fat filesystem. [akpm@xxxxxxxxxxxxxxxxxxxx: fs/fat/iode.c needs seq_file.h] [sfr@xxxxxxxxxxxxxxxx: put one actually necessary include file back] Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a40a7d9d07b818ce9aa9f6ddf86076a5eef2d8f9 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Apr 16 12:47:21 2015 -0700 fs/fat: remove unnecessary defintion '*sb' never used, so let's remote it and pass inode->i_sb directly to the MSDOS_SB. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit db579e76f06e78de011b2cb7e028740a82f5558c Author: Thomas Hebb <tommyhebb@xxxxxxxxx> Date: Thu Apr 16 12:47:18 2015 -0700 hfsplus: don't store special "osx" xattr prefix on-disk On Mac OS X, HFS+ extended attributes are not namespaced. Since we want to be compatible with OS X filesystems and yet still support the Linux namespacing system, the hfsplus driver implements a special "osx" namespace that is reported for any attribute that is not namespaced on-disk. However, the current code for getting and setting these unprefixed attributes is broken. hfsplus_osx_setattr() and hfsplus_osx_getattr() are passed names that have already had their "osx." prefixes stripped by the generic functions. The functions first, quite correctly, check those names to make sure that they aren't prefixed with a known namespace, which would allow namespace access restrictions to be bypassed. However, the functions then prepend "osx." to the name they're given before passing it on to hfsplus_getattr() and hfsplus_setattr(). Not only does this cause the "osx." prefix to be stored on-disk, defeating its purpose, it also breaks the check for the special "com.apple.FinderInfo" attribute, which is reported for all files, and as a consequence makes some userspace applications (e.g. GNU patch) fail even when extended attributes are not otherwise in use. There are five commits which have touched this particular code: 127e5f5ae51e ("hfsplus: rework functionality of getting, setting and deleting of extended attributes") b168fff72109 ("hfsplus: use xattr handlers for removexattr") bf29e886b242 ("hfsplus: correct usage of HFSPLUS_ATTR_MAX_STRLEN for non-English attributes") fcacbd95e121 ("fs/hfsplus: move xattr_name allocation in hfsplus_getxattr()") ec1bbd346f18 ("fs/hfsplus: move xattr_name allocation in hfsplus_setxattr()") The first commit creates the functions to begin with. The namespace is prepended by the original code, which I believe was correct at the time, since hfsplus_?etattr() stripped the prefix if found. The second commit removes this behavior from hfsplus_?etattr() and appears to have been intended to also remove the prefixing from hfsplus_osx_?etattr(). However, what it actually does is remove a necessary strncpy() call completely, breaking the osx namespace entirely. The third commit re-adds the strncpy() call as it was originally, but doesn't mention it in its commit message. The final two commits refactor the code and don't affect its functionality. This commit does what b168fff attempted to do (prevent the prefix from being added), but does it properly, instead of passing in an empty buffer (which is what b168fff actually did). Fixes: b168fff72109 ("hfsplus: use xattr handlers for removexattr") Signed-off-by: Thomas Hebb <tommyhebb@xxxxxxxxx> Cc: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Cc: Sergei Antonov <saproj@xxxxxxxxx> Cc: Anton Altaparmakov <anton@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Christian Kujau <lists@xxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Viacheslav Dubeyko <slava@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 059a704c43ea8800a689cf90fadb48f1e985c7eb Author: Sergei Antonov <saproj@xxxxxxxxx> Date: Thu Apr 16 12:47:15 2015 -0700 hfsplus: fix expand when not enough available space Fix a bug which is reproduced as follows. Create a file: echo abc > test_file Try to expand the file beyond available space: truncate --size=<size exceeding available space> test_file Since HFS+ does not support file size > allocated size, truncate should fail. However, it ends successfully. The driver returns success despite having been unable to allocate the requested space for the file. Also filesystem check finds an error: Checking catalog file. Incorrect size for file test_file (It should be 469094400 instead of 1000000000) Add a piece of code analogous to code in the fat driver. Now a proper error is returned and filesystem remains consistent. Signed-off-by: Sergei Antonov <saproj@xxxxxxxxx> Cc: Vyacheslav Dubeyko <slava@xxxxxxxxxxx> Cc: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anton Altaparmakov <anton@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Sougata Santra <sougata@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 27a4e3884e9c6497f96cc28256c3cdaa93d4cf97 Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Thu Apr 16 12:47:12 2015 -0700 hfsplus: incorrect return value In case of memory allocation error, the return should be -ENOMEM, instead of -ENOSPC. Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx> Reviewed-by: Sergei Antonov <saproj@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7ce844a20eb58c9823205e091b815163464e9d19 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:47:09 2015 -0700 fs/hfsplus: replace if/BUG by BUG_ON Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1ad8d63d63e21d711d97a4cd1105136bd0cfd647 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:47:07 2015 -0700 fs/hfsplus: use bool instead of int for is_known_namespace() return value is_known_namespace() only returns true/false. Also remove inline and let compiler decide what to do with static functions. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 73d28d571d09082e132340ae4ad4d973211b7668 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:47:04 2015 -0700 fs/hfsplus: atomically set inode->i_flags According to commit 5f16f3225b06 ("ext4: atomically set inode->i_flags in ext4_set_inode_flags()"). Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5e61473ea9f1ed6537ffaf6bf1cb60655f0d1b2c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:47:01 2015 -0700 fs/hfsplus: move xattr_name allocation in hfsplus_setxattr() security/trusted/user/osx setxattr did the same xattr_name initialization. Move that operation in hfsplus_setxattr(). Tested with security/trusted/user getfattr/setfattr Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a3cef4cd6886c755d2148739699751900b51a365 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:46:58 2015 -0700 fs/hfsplus: move xattr_name allocation in hfsplus_getxattr() security/trusted/user/osx getxattr did the same xattr_name initialization. Move that operation in hfsplus_getxattr(). Tested with security/trusted/user getfattr/setfattr Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f01fa5fb35c132587855be788297771e94b84330 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Apr 16 12:46:56 2015 -0700 hfsplus: add missing curly braces in hfsplus_delete_cat() This doesn't change how the code works, but clearly the curly braces were intended. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Vyacheslav Dubeyko <slava@xxxxxxxxxxx> Cc: Sougata Santra <sougata@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 13f244852f1197b623af2d3076fae197d2e038ec Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Thu Apr 16 12:46:53 2015 -0700 hfs: incorrect return values In case of memory allocation error, the return should be -ENOMEM, instead of -ENOSPC. Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit faea2c5311e162f5ceda8e0a261a9f9ece6f921d Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:50 2015 -0700 nilfs2: use inode_set_flags() in nilfs_set_inode_flags() Use inode_set_flags() to atomically set i_flags instead of clearing out the S_IMMUTABLE, S_APPEND, etc. flags and then setting them from the FS_IMMUTABLE_FL, FS_APPEND_FL flags to avoid a race where an immutable file has the immutable flag cleared for a brief window of time. This is a similar fix to commit 5f16f3225b06 ("ext4: atomically set inode->i_flags in ext4_set_inode_flags()"). Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0ce187c4f32d77eae077f249aa10656b5eef5f28 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:47 2015 -0700 nilfs2: put out gfp mask manipulation from nilfs_set_inode_flags() nilfs_set_inode_flags() function adjusts gfp-mask of inode->i_mapping as well as i_flags, however, this coupling of operations is not appropriate. For instance, nilfs_ioctl_setflags(), one of three callers of nilfs_set_inode_flags(), doesn't need to reinitialize the gfp-mask at all. In addition, nilfs_new_inode(), another caller of nilfs_set_inode_flags(), doesn't either because it has already initialized the gfp-mask. Only __nilfs_read_inode(), the remaining caller, needs it. So, this moves the gfp mask manipulation to __nilfs_read_inode() from nilfs_set_inode_flags(). Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3377f843cf80e33d63f1a3ded67fd129a298c6b0 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:45 2015 -0700 nilfs2: fix gcc warning at nilfs_checkpoint_is_mounted() Fix the following build warning: fs/nilfs2/super.c: In function 'nilfs_checkpoint_is_mounted': fs/nilfs2/super.c:1023:10: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if (cno < 0 || cno > nilfs->ns_cno) ^ This warning indicates that the comparision "cno < 0" is useless because variable "cno" has an unsigned integer type "__u64". Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 53a2c3bdf4132c2c9cc3581e15265fd962f34fa8 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:42 2015 -0700 nilfs2: improve execution time of NILFS_IOCTL_GET_CPINFO ioctl The older a filesystem gets, the slower lscp command becomes. This is because nilfs_cpfile_do_get_cpinfo() function meets more hole blocks as the start offset of valid checkpoint numbers gets bigger. This reduces the overhead by skipping hole blocks efficiently with nilfs_mdt_find_block() helper. A measurement result of this patch is as follows: Before: $ time lscp CNO DATE TIME MODE FLG BLKCNT ICNT 5769303 2015-02-22 19:31:33 cp - 108 1 5769304 2015-02-22 19:38:54 cp - 108 1 real 0m0.182s user 0m0.003s sys 0m0.180s After: $ time lscp CNO DATE TIME MODE FLG BLKCNT ICNT 5769303 2015-02-22 19:31:33 cp - 108 1 5769304 2015-02-22 19:38:54 cp - 108 1 real 0m0.003s user 0m0.001s sys 0m0.002s Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fa33915c92b43f5a4e95649f81303cc089b10dc6 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:39 2015 -0700 nilfs2: add helper to find existent block on metadata file Add a new metadata file function, nilfs_mdt_find_block(), which finds an existent block on a metadata file in a given range of blocks. This function skips continuous hole blocks efficiently by using nilfs_bmap_seek_key(). Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5b20384fb32cc3f93857f44fb84736d6d62a9917 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:36 2015 -0700 nilfs2: add bmap function to seek a valid key Add a new bmap function, nilfs_bmap_seek_key(), which seeks a valid entry and returns its key starting from a given key. This function can be used to skip hole blocks efficiently. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3568a13f4089aac90b3763a2b6c293cd2b638ec1 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:34 2015 -0700 nilfs2: unify type of key arguments in bmap interface The type of key arguments in block mapping interface varies depending on function. For instance, nilfs_bmap_lookup_at_level() takes "__u64" for its key argument whereas nilfs_bmap_lookup() takes "unsigned long". This fits them to "__u64" to eliminate the variation. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0de6d6b9a2ba21ae28b2420f6684021904833f68 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:31 2015 -0700 nilfs2: use bgl_lock_ptr() Simplify nilfs_mdt_bgl_lock() by utilizing bgl_lock_ptr() helper in <linux/blockgroup_lock.h>. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ead8ecffa3e180202c1096a39f14bbecffb139a1 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:28 2015 -0700 nilfs2: use set_mask_bits() for operations on buffer state bitmap nilfs_forget_buffer(), nilfs_clear_dirty_page(), and nilfs_segctor_complete_write() are using a bunch of atomic bit operations against buffer state bitmap. This reduces the number of them by utilizing set_mask_bits() macro. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6fb7a61e98ac311a65bc652a12611d9899994f49 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Thu Apr 16 12:46:25 2015 -0700 nilfs2: do not use async write flag for segment summary buffers The async write flag is introduced to nilfs2 in the commit 7f42ec394156 ("nilfs2: fix issue with race condition of competition between segments for dirty blocks"), but the flag only makes sense for data buffers and btree node buffers. It is not needed for segment summary buffers. This gets rid of the latter uses as part of refactoring of atomic bit operations on buffer state bitmap. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Vyacheslav Dubeyko <slava@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f8ccad2164d406e60c0fa91206258f608fdb0148 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:46:23 2015 -0700 befs: replace typedef befs_inode_info by structure See Documentation/CodingStyle Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 038428fcf7f05e5da46de617831a8230e1a2551d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:46:20 2015 -0700 befs: replace typedef befs_sb_info by structure See Documenation/CodingStyle Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 09ad0eae5ed0f354df892b1cfb868338dc578c5c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:46:17 2015 -0700 befs: replace typedef befs_mount_options by structure See Documentation/CodingStyle Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a737e835e5769ef22897179ed7f82b1fc50bfa58 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:46:14 2015 -0700 rtc: use more standard kernel logging styles Neaten the logging a bit by adding #define pr_fmt Miscellanea: o Remove __FILE__/__func__ uses o Coalesce formats adding missing spaces o Align arguments o (rtc-cmos) Integrated 2 consecutive messages Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f539a8acf1070557aef9c5df682751ba2af1005f Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Apr 16 12:46:11 2015 -0700 drivers/rtc/rtc-hym8563.c: fix swapped enable/disable of clockout control bit The hym8563 datasheet describes the clock output control-bit as "when set to logic 0, the square wave output is enable, when set to logic 1, the CLKOUT output is inhibited". But in reality the setting is exactly opposite. Before now, the clock output was not really used, but on the rk3288 soc this generated clock is used to supply the temperature sensor block and the swapped bit value prevented it from working. With the corrected value, the tsadc now reports correct values. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 492da68c8c3babc573208e057a9011d9489f2b5a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 16 12:46:08 2015 -0700 drivers/rtc/rtc-s3c.c: remove one superfluous rtc_valid_tm() check s3c_rtc_gettime() already returns the result of rtc_valid_tm() on the obtained time so get rid of another call to rtc_valid_tm(). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d9094b6c7fc87d1909143540c1e2fddde9129b3 Author: Lokesh Vutla <lokeshvutla@xxxxxx> Date: Thu Apr 16 12:46:05 2015 -0700 drivers/rtc/rtc-omap.c: use module_platform_driver module_platform_driver_probe() prevents driver from requesting probe deferral. So using module_platform_drive() to support probe deferral. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8608976e2bc9c1df090e1b346c65ec1405e9d03d Author: Lokesh Vutla <lokeshvutla@xxxxxx> Date: Thu Apr 16 12:46:03 2015 -0700 drivers/rtc/Kconfig: update Kconfig for OMAP RTC RTC is present in AM43xx and DRA7xx also. Updating the Kconfig to depend on ARCH_OMAP or ARCH_DAVINCI Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c28bd07c20776cc04aecf04ba5be53fa5fa6dd2 Author: Lokesh Vutla <lokeshvutla@xxxxxx> Date: Thu Apr 16 12:46:00 2015 -0700 drivers/rtc/rtc-omap.c: unlock and lock rtc registers before and after register writes RTC module contains a kicker mechanism to prevent any spurious writes from changing the register values. This mechanism requires two MMR writes to the KICK0 and KICK1 registers with exact data values before the kicker lock mechanism is released. Currently the driver release the lock in the probe and leaves it enabled until the rtc driver removal. This eliminates the idea of preventing spurious writes when RTC driver is loaded. So implement rtc lock and unlock functions before and after register writes. This is as advised by Paul to implement lock and unlock functions in the driver and not to unlock and leave it in probe. The same discussion can be seen here: http://www.mail-archive.com/linux-omap%40vger.kernel.org/msg111588.html Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 202fe4c27f427c48ca5660277d743ee8b43fc200 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 16 12:45:57 2015 -0700 drivers/rtc/rtc-s3c.c: fix failed first read of RTC time Initialize the device time (if it is wrong) before registering RTC device to fix following error message during rtc-s3c probe: [ 2.215414] rtc (null): read_time: fail to read [ 2.216322] s3c-rtc 10070000.rtc: rtc core: registered s3c as rtc1 Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 521fca18e828cddc94535a1ea5ac33460f1de679 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Thu Apr 16 12:45:54 2015 -0700 rtc: hctosys: use function name in the error log Use function name in the error log instead of __FILE__. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0bddb512d9c8e1adefc7416ef6c71cba05d62c8 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Thu Apr 16 12:45:51 2015 -0700 drivers/rtc/interface.c: __rtc_read_time: reduce log level __rtc_read_time logs should be debug logs instead of error logs. For example, when the RTC clock is not set, it's not really useful to print a kernel error log every time someone tries to read the clock: ~ # hwclock -r [ 604.508263] rtc rtc0: read_time: fail to read hwclock: RTC_RD_TIME: Invalid argument If there's a real error, it's likely that lower level or higher level code will tell it anyway. Make these logs debug logs, and also print the error code for the read failure. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 182683e955af4dd2324427129f3b90558d644066 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Thu Apr 16 12:45:48 2015 -0700 drivers/rtc/class.c: initialize rtc name early In some error cases RTC name is used before it is initialized: rtc-rs5c372 0-0032: clock needs to be set rtc-rs5c372 0-0032: rs5c372b found, 24hr, driver version 0.6 rtc (null): read_time: fail to read rtc-rs5c372 0-0032: rtc core: registered rtc-rs5c372 as rtc0 Fix by initializing the name early. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5281f94ae7f54d2d1a48dbc10223fd12d2aea716 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 16 12:45:45 2015 -0700 drivers/rtc/rtc-s5m.c: add support for S2MPS13 RTC The S2MPS13 RTC is almost the same as S2MPS14. The differences when updating alarm are: 1. Set WUDR+AUDR field instead of WUDR+RUDR. 2. Clear the AUDR field later (it is not auto-cleared). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c6f84f8df02a17ad3da5e38abc8b8abff122d39 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:45:43 2015 -0700 MAINTAINERS: Add Alexandre Belloni as an RTC maintainer I've noticed that most of the patches for the RTC subsystem are currently either taken directly by Andrew or going through another maintainer's tree, quite often without an Acked-by or Reviewed-by tag. I'd like to propose myself as the RTC subsystem co-maintainer, to mainly help Alessandro reviewing incoming patches and maintain a subsystem tree to avoid having the RTC patches going through trees when they have no particular dependencies. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ba17220878bf74b95ea24de568939e7b9e1b02db Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Apr 16 12:45:40 2015 -0700 rtc: driver for Conexant Digicolor CX92755 on-chip RTC Add driver for the RTC hardware block on the Conexant CX92755 SoC, from the Digicolor series of SoCs. Tested on the Equinox evaluation board for the CX92755 chip. [akpm@xxxxxxxxxxxxxxxxxxxx: build command arrays at compile-time] Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 71b800b628570ce315a3f820b79969e460cd297f Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Apr 16 12:45:37 2015 -0700 rtc: digicolor: document device tree binding Add a device tree binding documentation to the Real Time Clock hardware block on the Conexant CX92755 SoC. The CX92755 is from the Digicolor SoCs series. Other SoCs in that series may share the same hardware block. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b3288a43b4dacd2b4d2b24726d7b469d8ade5120 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Apr 16 12:45:34 2015 -0700 drivers/rtc/rtc-hym8563.c: return clock rate even when clock is disabled When the clock is disabled, do not return a rate of 0 but instead return the rate the clock will be running at after it gets enabled. This prevents problems when the core clock code is trying to determine a suitable rate, while the clock is still off. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d174a024007dd543fd066cffd8eb727806a62da6 Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Date: Thu Apr 16 12:45:32 2015 -0700 drivers/rtc/rtc-da9052.c: register ability of alarm to wake device from suspend Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Tested-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ae824c484c85d77e3f272515aafb410bbade13fa Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Date: Thu Apr 16 12:45:29 2015 -0700 drivers/rtc/rtc-da9052.c: add constraints to set valid year Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Tested-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 03cc1625e1f2e9fc6910af4174c942d56292f556 Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Date: Thu Apr 16 12:45:26 2015 -0700 drivers/rtc/rtc-da9052.c: add extra reads with timeouts to avoid returning partially updated values The RTC is in a different clock domain so a quick read after write can retrieve a mangled value of the old/new values Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Tested-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 52ef84d566dc145b4d469f06667c5fa3118fdd44 Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Thu Apr 16 12:45:23 2015 -0700 drivers/rtc/rtc-ds1685.c: fix sparse warnings Fix two minor sparse warnings: CHECK drivers/rtc/rtc-ds1685.c drivers/rtc/rtc-ds1685.c:2178:1: warning: function 'ds1685_rtc_poweroff' with external linkage has definition drivers/rtc/rtc-ds1685.c:802:23: warning: Using plain integer as NULL pointer Fixes: aaaf5fbf56f1 ("rtc: add driver for DS1685 family of real time clocks") Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 269812de8b1c28cd477a3f9cc9793047f0de530e Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Thu Apr 16 12:45:21 2015 -0700 drivers/rtc/rtc-ds1685.c: remove .owner assignment from platform_driver The rtc driver core now sets the platform_driver 'owner' property, so remove the assignment from the DS1685 driver. Fixes: aaaf5fbf56f1: "rtc: add driver for DS1685 family of real time clocks" Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ac2a2726661a8f8f74af0d499cb16b3adf90d764 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 16 12:45:18 2015 -0700 drivers/rtc/rtc-ab-b5ze-s3.c: constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 24e1455493dae5ce4b15f83d6ad549befd15f980 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Apr 16 12:45:15 2015 -0700 drivers/rtc/rtc-s3c.c: delete duplicate clock control The current functions in s3c-rtc driver execute clk_enable/disable() to control clocks and some functions execute s3c_rtc_alarm_clk_enable() unnecessarily. So this patch deletes the duplicate clock control and spilts s3c_rtc_alarm_clk_enable() out as s3c_rtc_enable_clk()/s3c_rtc_disable_clk() to improve readability. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Inki Dae <inki.dae@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aed98b9a1be6fcf1685dfd37f0a3e78e92a21f7d Author: Floris Bos <bos@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:45:12 2015 -0700 rtc: hctosys: do not treat lack of RTC device as error When using device trees on the ARM platform, it is not certain at compile time whether or not the system will have a RTC. If one enables CONFIG_HCTOSYS just in case the system booted has a RTC, and it turns out not to be, this will result in a big fat "unable to open rtc device" error being printed to console, even when "quiet" is set in the kernel cmdline. Fix this by outputting the message with loglevel info instead. Signed-off-by: Floris Bos <bos@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 86e66604fca053e5ecb2427538aa233637119409 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Thu Apr 16 12:45:09 2015 -0700 drivers/rtc/rtc-x1205.c: use sign_extend32() for sign extension Despite its name, sign_extend32() is safe to use for 8 bit types too. (See https://lkml.org/lkml/2015/1/18/289). Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e706974dc3e2f44891e736f4a96eb88b60356178 Author: Peter Robinson <pbrobinson@xxxxxxxxx> Date: Thu Apr 16 12:45:07 2015 -0700 drivers/rtc/rtc-em3027.c: add device tree support Set the of_match_table for this driver so that devices can be described in the device tree. This device is used in the Trimslice and is already defined in the Trimslice device tree. Signed-off-by: Peter Robinson <pbrobinson@xxxxxxxxx> Cc: Mike Rapoport <mike@xxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f48b21bdfede2c06e966258317a3bb4be3e4f25 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Apr 16 12:45:04 2015 -0700 rtc: stmp3xxx: use optional crystal in low power states The rtc's status register allows to determine if a 32k crystal is connected to keep the rtc running in low power states provided the corresponding fuse bits were blown correctly during production. (In case they were not, the right frequency can be stated in the device tree.) If there is no such crystal available force the 24 MHz XTAL clock to keep running to retain the right date and time. Otherwise use the crystal to save some power. It would be nice to only switch to the crystal when the XTAL clock is about to be disabled and keep the crystal off when unneeded because XTAL is always on while the chip is powered on. But as sudden power loss isn't detectable this is not save. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b0c57b5941c4a42698d845ada6a76feeba2d1be9 Author: Robert Kmiec <robert.r.kmiec@xxxxxxxxx> Date: Thu Apr 16 12:45:01 2015 -0700 drivers/rtc/rtc-pcf8563.c: simplify return from function This commit does not change any logic here. It just makes the code easier to read. This is how it looked like: If err != 0 return err; else return 0; Signed-off-by: Robert Kmiec <robert.r.kmiec@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e54abac1b8e0b7febffdbad37b605daef1cfcff Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Thu Apr 16 12:44:58 2015 -0700 kasan: Makefile: shut up warnings if CONFIG_COMPILE_TEST=y It might be annoying to constantly see this: scripts/Makefile.kasan:16: Cannot use CONFIG_KASAN: -fsanitize=kernel-address is not supported by compiler while performing allmodconfig/allyesconfig build tests. Disable this warning if CONFIG_COMPILE_TEST=y. Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6ceafb880c218a14e0cf8d08499138a1a9775fb2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:44:56 2015 -0700 fs/binfmt_misc.c: simplify entry_status() sprintf() reliably returns the number of characters printed, so we don't need to ask strlen() where we are. Also replace calling sprintf("%02x") in a loop with the much simpler bin2hex(). [akpm@xxxxxxxxxxxxxxxxxxxx: it's odd to include kernel.h after everything else] Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e0df7e1faebad9a7ac0931d03f86fcd5c0d1896e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:53 2015 -0700 checkpatch: avoid "spaces required around that ':'" false positive Since commit 1f65f947a6a8 ("checkpatch: add checks for question mark and colon spacing") back in 2008, checkpatch has reported false positive for asm volatile uses of "::" checkpatch thinks colons should always have spaces around it. Add an exception for colons with colons on either side for this valid asm volatile (and c++) use. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Yehuda Yitschak <yehuday@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 323b267faff4db5f2424b6c09ab78a272393b69e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:50 2015 -0700 checkpatch: fix --fix use with a patch of multiple files If a patch touches multiple files, the --fix and --fix-inplace option doesn't keep the proper line count and makes the new patch file not able to be applied via bad offset line numbers when lines are added or deleted by the --fix option. Dunno how that extra backslash snuck in there. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e15f431fe2d53cd4673510736da7d4fa1090e096 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Apr 16 12:44:47 2015 -0700 errno.h: Improve ENOSYS's comment ENOSYS is the mechanism used by user code to detect whether the running kernel implements a given system call. It should not be returned by anything except an unimplemented system call. Unfortunately, it is rather frequently used in the kernel to indicate that various new functions of existing system calls are not implemented. This should be discouraged. Improve the comment in errno.h to help clarify ENOSYS's purpose. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 91c9afaf97ee554d2cd3042a5ad01ad21c99e8c4 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Apr 16 12:44:44 2015 -0700 checkpatch.pl: new instances of ENOSYS are errors ENOSYS means that a nonexistent system call was called. We have a bad habit of using it for things like invalid operations on otherwise valid syscalls. We should avoid this in new code. Pervasive incorrect usage of ENOSYS came up at the kernel summit ABI review discussion. Let's see if checkpatch can help. I'll submit a separate patch for include/uapi/asm-generic/errno.h. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c17893c7407fbe988f5901596c3e5e75c0dc0f67 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:42 2015 -0700 checkpatch: add a test for const with __read_mostly uses const objects shouldn't be __read_mostly. They are read-only. Marking these objects as __read_mostly causes section conflicts with LTO linking. So add a test to try to avoid this issue. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d7fe8065ad891a2ad38b73ff10b97d08f0fb3b0b Author: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Date: Thu Apr 16 12:44:39 2015 -0700 checkpatch: improve operator spacing check Code such as: x = timercmp(&now, &end, <); Will currently trigger a checkpatch error. e.g. ERROR: spaces required around that '<' This is because the "Ignore operators passed as parameters" check looks only for a comma following the operator. Improve the check by also looking for a close parenthesis. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b598b67060f14eb8c34d0cef1db4727dab56ef91 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:36 2015 -0700 checkpatch: add 'Prefer ARRAY_SIZE" test Add a test for sizeof(foo)/sizeof(foo[0]) that could be ARRAY_SIZE(foo). Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6d07d01b62b2d81500803058f736b46677ec873a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:33 2015 -0700 checkpatch: add uart_ops to normally const structs Add another struct to the list of normally const struct types Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxx> Cc: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 29a3c46673a5e3ee22feaba7020a280486c78f0a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:30 2015 -0700 checkpatch: add #define foo "string" long line exception There are #defines with long string constants like: #define foo "some really long string > 80 columns" Add a long line exception for them. Miscellanea: Use the $String variable for slightly better readability Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Madalin-Cristian Bucur <madalin.bucur@xxxxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2a076f40d8c9be95bee7bcf18436655e1140447f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:28 2015 -0700 checkpatch, SubmittingPatches: suggest line wrapping commit messages at 75 columns Commit messages lines are sometimes overly long. Suggest line wrapping at 75 columns so the default git commit log indentation of 4 plus the commit message text still fits on an 80 column screen. Add a checkpatch test for long commit messages lines too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0e212e0a720601fabda102f7998d27625f9e144a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 16 12:44:25 2015 -0700 checkpatch: don't ask for asm/file.h to linux/file.h unconditionally Currently checkpatch warns when asm/file.h is included and linux/file.h exists. That conversion can be made when linux/file.h includes asm/file.h which is not always the case.(See signal.h) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx> Acked-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ab7e23f3448e55f4808f443a7b98ded6707701bb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:22 2015 -0700 checkpatch: add test for repeated const uses Using 'const <type> const *' is generally meant to be written 'const <type> * const'. Add a test for the miswritten form. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f34e4a4f979c0d39f741bc809127fcf2167a7389 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:19 2015 -0700 checkpatch: improve return negative errno check Add a few conditions to the test to find return (ERRNO); Make the output message a bit less cryptic too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b392c64f59d7b088aefb4e86d208cd6d3b93eefb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:16 2015 -0700 checkpatch: match more world writable permissions Currently checkpatch will fuss if one uses world writable settings in debugfs files and DEVICE_ATTR uses by testing S_IWUGO but not testing S_IWOTH, S_IRWXUGO or S_IALLUGO. Extend the check to catch all cases exporting world writable permissions including octal values. [akpm@xxxxxxxxxxxxxxxxxxxx: remove stray $] Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Original-patch-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ebfd7d62375316ff532b6b9bae9d88a29f434ba7 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:14 2015 -0700 checkpatch: add optional --codespell dictionary to find more typos If a codespell dictionary exists, use it if desired. default is off, maybe it could be turned on later. codespell's dictionary format allows multiple possible corrections, ignore that for now and only use the first suggestion. Also add \b to spelling test so that consecutive misspelled words are found properly. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Cc: Lucas De Marchi <lucas.de.marchi@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b3e9a677fc0875c7cc26d4edf6742a1436e86c52 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Apr 16 12:44:11 2015 -0700 checkpatch: spell check reudce References: http://mid.gmane.org/1424977312-24902-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 66d7a382cb5d2d40b468e68b665bbf6f9bc3400e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:08 2015 -0700 checkpatch: add spell checking of email subject line Only commit log and patch additions are checked for typos and spelling errors currently. Add a check of the email subject line too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Suggested-by: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Tested-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6ab3a9701e00c2a085bac6a7a9bdcf8fc5eca6c5 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Apr 16 12:44:05 2015 -0700 checkpatch: improve "no space is necessary after a cast" test The "no space is necessary after a cast" sizeof exclusion doesn't work properly. The test reports a false positive for code like: BUILD_BUG_ON(sizeof(struct batadv_bla_claim_dst) != 6); Make it work, simplify the exclusions, and add some comments. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d43698e8abb58a6ac47d16e0f47bb55f452e4fc4 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Thu Apr 16 12:44:02 2015 -0700 firmware/ihex2fw.c: restore missing default in switch statement Commit 2473238eac95 ("ihex: add support for CS:IP/EIP records") removes the "default:" statement in the switch block, making the "return usage();" line dead code and ihex2fw silently ignoring unknown options. Restore this statement. This bug was found by building with HOSTCC=clang and adding -Wunreachable-code-return to HOSTCFLAGS. Fixes: 2473238eac95 ("ihex: add support for CS:IP/EIP records") Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2afe27c718b669b551895595873611ac39cc31e3 Author: Yury Norov <yury.norov@xxxxxxxxx> Date: Thu Apr 16 12:44:00 2015 -0700 lib/bitmap.c: bitmap_[empty,full]: remove code duplication bitmap_empty() has its own implementation. But it's clearly as simple as: find_first_bit(src, nbits) == nbits The same is true for 'bitmap_full'. Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d48502eacd8934b79c3e62f7858c79fa6422398b Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Apr 16 12:43:57 2015 -0700 ASoC: pcm512x: use DIV_ROUND_CLOSEST_ULL() from kernel.h Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal implementation and use the kernel one. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Peter Rosin <peda@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Cc: Liam Girdwood <lgirdwood@xxxxxxxxx> Cc: Jaroslav Kysela <perex@xxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 512eb720c9892261d68f86ba880a55cdbb74710d Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Apr 16 12:43:54 2015 -0700 media: cxd2820r: use DIV_ROUND_CLOSEST_ULL() Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal implementation and use the kernel one. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ee3c86f356b4dfc130442d0bd68ff2da2bd60538 Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Apr 16 12:43:51 2015 -0700 cpuidle: menu: use DIV_ROUND_CLOSEST_ULL() Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal implementation and use the kernel one. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aa7762010a4340a12a87a54b7a402adcdce8cfa9 Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Apr 16 12:43:48 2015 -0700 clk: bcm/kona: use DIV_ROUND_CLOSEST_ULL() Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal implementation and use the kernel one. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Alex Elder <elder@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f766093ecb647f5a87bfa456715abbbccee547ce Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Apr 16 12:43:45 2015 -0700 kernel.h: implement DIV_ROUND_CLOSEST_ULL We have grown a number of different implementations of DIV_ROUND_CLOSEST_ULL throughout the kernel. Move the i915 one to kernel.h so that it can be reused. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Reviewed-by: Jeff Epler <jepler@xxxxxxxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx> Cc: Alex Elder <elder@xxxxxxxxxx> Cc: Antti Palosaari <crope@xxxxxx> Cc: Javi Merino <javi.merino@xxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 675cf53c1deaffadc7b6a0b4afe6cdafec86bedb Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:43:42 2015 -0700 lib/vsprintf.c: improve put_dec_trunc8 slightly I hadn't had enough coffee when I wrote this. Currently, the final increment of buf depends on the value loaded from the table, and causes gcc to emit a cmov immediately before the return. It is smarter to let it depend on r, since the increment can then be computed in parallel with the final load/store pair. It also shaves 16 bytes of .text. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdb1dc3f1ca5c5899e5fa186afe20390bd8c00dc Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Date: Thu Apr 16 12:43:39 2015 -0700 hwmon: (w83795) use find_closest_descending() in pwm_freq_to_reg() Replace the loop iterating over pwm_freq_cksel0 with a call to find_closest_descending(). Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f3721c51ec5643e00f07dd3bbc5712c72fc62b2 Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Date: Thu Apr 16 12:43:36 2015 -0700 hwmon: (lm85) use find_closest() in x_TO_REG() functions Replace RANGE_TO_REG() and FREQ_TO_REG() implementations with calls to find_closest(). Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d38df34e3f0ea1e65c7db5d33d132dc14da0009a Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Date: Thu Apr 16 12:43:34 2015 -0700 hwmon: (ina2xx) replace ina226_avg_bits() with find_closest() Use find_closest() to locate the closest average in ina226_avg_tab. Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2027543b9cb47e1853d8c34fe931e2fcee5cb65 Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Date: Thu Apr 16 12:43:31 2015 -0700 documentation: update CodingStyle on local variables naming in macros Describe proper naming convention for local variables in macros resembling functions. Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 95d119528b0b8440a63bc13904e9873fc3a70503 Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Date: Thu Apr 16 12:43:28 2015 -0700 util_macros.h: add find_closest() macro This series unduplicates the code used to find the member in an array closest to 'x'. The first patch adds a macro implementing the algorithm in two flavors - for arrays sorted in ascending and descending order. The second updates Documentation/CodingStyle on the naming convention for local variables in macros resembling functions. Other three patches replace duplicated code with calls to one of these macros in some hwmon drivers. This patch (of 5): Searching for the member of an array closest to 'x' is duplicated in several places. Add a new include - util_macros.h - and two macros that implement this algorithm for arrays sorted both in ascending and descending order. Uses linear search. Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a7a2c02a40151811609ad8cd3bf5c4fc516fece5 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:43:25 2015 -0700 lib/dma-debug: fix bucket_find_contain() bucket_find_contain() will search the bucket list for a dma_debug_entry. When the entry isn't found it needs to search other buckets too, since only the start address of a dma range is hashed (which might be in a different bucket). A copy of the dma_debug_entry is used to get the previous hash bucket but when its list is searched the original dma_debug_entry is to be used not its modified copy. This fixes false "device driver tries to sync DMA memory it has not allocated" warnings. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Horia Geanta <horia.geanta@xxxxxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c43d9a30c527d9e06e2c55f82b56f28df43caed Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 12:43:22 2015 -0700 lib/vsprintf.c: even faster binary to decimal conversion The most expensive part of decimal conversion is the divisions by 10 (albeit done using reciprocal multiplication with appropriately chosen constants). I decided to see if one could eliminate around half of these multiplications by emitting two digits at a time, at the cost of a 200 byte lookup table, and it does indeed seem like there is something to be gained, especially on 64 bits. Microbenchmarking shows improvements ranging from -50% (for numbers uniformly distributed in [0, 2^64-1]) to -25% (for numbers heavily biased toward the smaller end, a more realistic distribution). On a larger scale, perf shows that top, one of the big consumers of /proc data, uses 0.5-1.0% fewer cpu cycles. I had to jump through some hoops to get the 32 bit code to compile and run on my 64 bit machine, so I'm not sure how relevant these numbers are, but just for comparison the microbenchmark showed improvements between -30% and -10%. The bloat-o-meter costs are around 150 bytes (the generated code is a little smaller, so it's not the full 200 bytes) on both 32 and 64 bit. I'm aware that extra cache misses won't show up in a microbenchmark as used above, but on the other hand decimal conversions often happen in bulk (for example in the case of top). I have of course tested that the new code generates the same output as the old, for both the first and last 1e10 numbers in [0,2^64-1] and 4e9 'random' numbers in-between. Test and verification code on github: https://github.com/Villemoes/dec. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Tested-by: Jeff Epler <jepler@xxxxxxxxxxxxxx> Cc: "Peter Zijlstra (Intel)" <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 840620a1596a90636a44d6a593db4041bb28d52e Author: Yury Norov <yury.norov@xxxxxxxxx> Date: Thu Apr 16 12:43:19 2015 -0700 lib: rename lib/find_next_bit.c to lib/find_bit.c This file contains implementation for all find_*_bit{,_le} So giving it more generic name looks reasonable. Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx> Reviewed-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f6f19dd5143aa59139deeb885a8ed5e2d937e21 Author: Yury Norov <yury.norov@xxxxxxxxx> Date: Thu Apr 16 12:43:16 2015 -0700 lib: move find_last_bit to lib/find_next_bit.c Currently all 'find_*_bit' family is located in lib/find_next_bit.c, except 'find_last_bit', which is in lib/find_last_bit.c. It seems, there's no major benefit to have it separated. Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx> Reviewed-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c57a0e233d72f8c2e2404560dcf0188ac3cf5d7 Author: Yury Norov <yury.norov@xxxxxxxxx> Date: Thu Apr 16 12:43:13 2015 -0700 lib: find_*_bit reimplementation This patchset does rework to find_bit function family to achieve better performance, and decrease size of text. All rework is done in patch 1. Patches 2 and 3 are about code moving and renaming. It was boot-tested on x86_64 and MIPS (big-endian) machines. Performance tests were ran on userspace with code like this: /* addr[] is filled from /dev/urandom */ start = clock(); while (ret < nbits) ret = find_next_bit(addr, nbits, ret + 1); end = clock(); printf("%ld\t", (unsigned long) end - start); On Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz measurements are: (for find_next_bit, nbits is 8M, for find_first_bit - 80K) find_next_bit: find_first_bit: new current new current 26932 43151 14777 14925 26947 43182 14521 15423 26507 43824 15053 14705 27329 43759 14473 14777 26895 43367 14847 15023 26990 43693 15103 15163 26775 43299 15067 15232 27282 42752 14544 15121 27504 43088 14644 14858 26761 43856 14699 15193 26692 43075 14781 14681 27137 42969 14451 15061 ... ... find_next_bit performance gain is 35-40%; find_first_bit - no measurable difference. On ARM machine, there is arch-specific implementation for find_bit. Thanks a lot to George Spelvin and Rasmus Villemoes for hints and helpful discussions. This patch (of 3): New implementations takes less space in source file (see diffstat) and in object. For me it's 710 vs 453 bytes of text. It also shows better performance. find_last_bit description fixed due to obvious typo. [akpm@xxxxxxxxxxxxxxxxxxxx: include linux/bitmap.h, per Rasmus] Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx> Reviewed-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 396ada68acefc4f90cf1f05d4275913834af5d93 Author: Richard Weinberger <richard@xxxxxx> Date: Thu Apr 16 12:43:10 2015 -0700 alpha: forward declare struct pt_regs in processor.h Removal of exec domains uncovered this new warning. processor.h re-used struct pt_regs from personality.h which is now gone. ./arch/alpha/include/asm/processor.h:47:33: warning: 'struct pt_regs' declared inside parameter list [enabled by default] Signed-off-by: Richard Weinberger <richard@xxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6480827357923b3977b97c9413a7307be850975d Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Mar 19 14:03:41 2015 +0200 of: base: improve of_get_next_child() kernel-doc Add two new facts to of_get_next_child() documentation: * of_get_next_child() returns NULL when there is not next child * of_get_next_child() decrements the refcount of prev Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 96541bac0b4e62efa42e7900d9b32e6baa9a214c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Apr 14 13:06:12 2015 +0200 Revert "mmc: core: Convert mmc_driver to device_driver" This reverts commit 6685ac62b2f0 ("mmc: core: Convert mmc_driver to device_driver") The reverted commit went too far in simplifing the device driver parts for mmc. Let's restore the old mmc_driver to enable driver core to sooner or later to remove the ->probe(), ->remove() and ->shutdown() callbacks from the struct device_driver. Note that, the old ->suspend|resume() callbacks in the struct mmc_driver don't need to be restored, since the mmc block layer has converted to the modern system PM ops. Fixes: 6685ac62b2f0 ("mmc: core: Convert mmc_driver to device_driver") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 636efbc66452659840a9a4df1daf80074ee439f6 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Apr 13 16:07:41 2015 +0200 mmc: pwrseq: Fix error code propagation in mmc_pwrseq_simple_alloc() If the struct mmc_pwrseq_match .alloc function used to allocate a struct mmc_pwrseq fails, the error is propagated to mmc_of_parse(). But instead of returning the error code in pwrseq, host->pwrseq is returned which will always be 0. So mmc_of_parse() succeeds even if the pwrseq .alloc function failed and host->pwrseq is NULL. This makes the SDIO device to not be powered if the power sequencing .alloc functions wants to be deferred due a missing resource because the mmc controller driver probe did wrongly succeed. Fixes: 0f12a0ce4ce4a ("mmc: pwrseq: simplify alloc/free hooks") Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 18ecb3bfa5a9f6fffbb3eeb4369f0b9463438ec0 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Apr 16 20:41:37 2015 +0200 x86/fpu: Load xsave pointer *after* initialization So I was playing with gdb today and did this simple thing: gdb /bin/ls ... (gdb) run Box exploded with this splat: BUG: unable to handle kernel NULL pointer dereference at 00000000000001d0 IP: [<ffffffff8100fe5a>] xstateregs_get+0x7a/0x120 [...] Call Trace: ptrace_regset ptrace_request ? wait_task_inactive ? preempt_count_sub arch_ptrace ? ptrace_get_task_struct SyS_ptrace system_call_fastpath ... because we do cache &target->thread.fpu.state->xsave into the local variable xsave but that pointer is NULL at that time and it gets initialized later, in init_fpu(), see: e7f180dcd8ab ("x86/fpu: Change xstateregs_get()/set() to use ->xsave.i387 rather than ->fxsave") The fix is simple: load xsave *after* init_fpu() has run. Also do the same in xstateregs_set(), as suggested by Oleg Nesterov. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tavis Ormandy <taviso@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1429209697-5902-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 78d504bcd769cc496f63b626f507039eab2316b7 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Apr 2 04:12:57 2015 -0400 perf/x86/intel: Add Broadwell support for the LBR callstack Same as Haswell, Broadwell also support the LBR callstack. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427962377-40955-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 645523960102fa0ac0578d070630e49ab05f06d1 Author: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Date: Thu Mar 26 14:28:45 2015 -0700 perf/x86/intel/rapl: Fix energy counter measurements but supporing per domain energy units RAPL energy hardware unit can vary within a single CPU package, e.g. HSW server DRAM has a fixed energy unit of 15.3 uJ (2^-16) whereas the unit on other domains can be enumerated from power unit MSR. There might be other variations in the future, this patch adds per cpu model quirk to allow special handling of certain cpus. hw_unit is also removed from per cpu data since it is not per cpu and the sampling rate for energy counter is typically not high. Without this patch, DRAM domain on HSW servers will be counted 4x higher than the real energy counter. Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Andi Kleen <andi.kleen@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1427405325-780-1-git-send-email-jacob.jun.pan@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 517e6341fa123ec3a2f9ea78ad547be910529881 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sat Apr 11 12:16:22 2015 +0200 perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events Ingo reported that cycles:pp didn't work for him on some machines. It turns out that in this commit: af4bdcf675cf perf/x86/intel: Disallow flags for most Core2/Atom/Nehalem/Westmere events Andi forgot to explicitly allow that event when he disabled event flags for PEBS on those uarchs. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Fixes: af4bdcf675cf ("perf/x86/intel: Disallow flags for most Core2/Atom/Nehalem/Westmere events") Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8053871d0f7f67c7efb7f226ef031f78877d6625 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 11 12:42:10 2015 -0800 smp: Fix smp_call_function_single_async() locking The current smp_function_call code suffers a number of problems, most notably smp_call_function_single_async() is broken. The problem is that flush_smp_call_function_queue() does csd_unlock() _after_ calling csd->func(). This means that a caller cannot properly synchronize the csd usage as it has to. Change the code to release the csd before calling ->func() for the async case, and put a WARN_ON_ONCE(csd->flags & CSD_FLAG_LOCK) in smp_call_function_single_async() to warn us of improper serialization, because any waiting there can results in deadlocks when called with IRQs disabled. Rename the (currently) unused WAIT flag to SYNCHRONOUS and (re)use it such that we know what to do in flush_smp_call_function_queue(). Rework csd_{,un}lock() to use smp_load_acquire() / smp_store_release() to avoid some full barriers while more clearly providing lock semantics. Finally move the csd maintenance out of generic_exec_single() into its callers for clearer code. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> [ Added changelog. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Rafael David Tinoco <inaddy@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/CA+55aFz492bzLFhdbKN-Hygjcreup7CjMEYk3nTSfRWjppz-OA@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c857eb56e6e8e53dccd8d1e7ea90bcaf3311996d Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 15 20:14:53 2015 +0200 perf/x86: Fix hw_perf_event::flags collision Somehow we ended up with overlapping flags when merging the RDPMC control flag - this is bad, fix it. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d7bc3197b41e0a1af6677e83f8736e93a1575ce0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 15 17:11:57 2015 +0200 lockdep: Make print_lock() robust against concurrent release During sysrq's show-held-locks command it is possible that hlock_class() returns NULL for a given lock. The result is then (after the warning): |BUG: unable to handle kernel NULL pointer dereference at 0000001c |IP: [<c1088145>] get_usage_chars+0x5/0x100 |Call Trace: | [<c1088263>] print_lock_name+0x23/0x60 | [<c1576b57>] print_lock+0x5d/0x7e | [<c1088314>] lockdep_print_held_locks+0x74/0xe0 | [<c1088652>] debug_show_all_locks+0x132/0x1b0 | [<c1315c48>] sysrq_handle_showlocks+0x8/0x10 This *might* happen because the thread on the other CPU drops the lock after we are looking ->lockdep_depth and ->held_locks points no longer to a lock that is held. The fix here is to simply ignore it and continue. Reported-by: Andreas Messerschmid <andreas@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4fc8adcfec3da639da76e8314c9ccefe5bf9a045 Merge: 84588e7 aa4d861 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 23:27:56 2015 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull third hunk of vfs changes from Al Viro: "This contains the ->direct_IO() changes from Omar + saner generic_write_checks() + dealing with fcntl()/{read,write}() races (mirroring O_APPEND/O_DIRECT into iocb->ki_flags and instead of repeatedly looking at ->f_flags, which can be changed by fcntl(2), check ->ki_flags - which cannot) + infrastructure bits for dhowells' d_inode annotations + Christophs switch of /dev/loop to vfs_iter_write()" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (30 commits) block: loop: switch to VFS ITER_BVEC configfs: Fix inconsistent use of file_inode() vs file->f_path.dentry->d_inode VFS: Make pathwalk use d_is_reg() rather than S_ISREG() VFS: Fix up debugfs to use d_is_dir() in place of S_ISDIR() VFS: Combine inode checks with d_is_negative() and d_is_positive() in pathwalk NFS: Don't use d_inode as a variable name VFS: Impose ordering on accesses of d_inode and d_flags VFS: Add owner-filesystem positive/negative dentry checks nfs: generic_write_checks() shouldn't be done on swapout... ocfs2: use __generic_file_write_iter() mirror O_APPEND and O_DIRECT into iocb->ki_flags switch generic_write_checks() to iocb and iter ocfs2: move generic_write_checks() before the alignment checks ocfs2_file_write_iter: stop messing with ppos udf_file_write_iter: reorder and simplify fuse: ->direct_IO() doesn't need generic_write_checks() ext4_file_write_iter: move generic_write_checks() up xfs_file_aio_write_checks: switch to iocb/iov_iter generic_write_checks(): drop isblk argument blkdev_write_iter: expand generic_file_checks() call in there ... commit 84588e7a5d8220446d677d7b909a20ee7a4496b9 Merge: a39ef1a 3adc12e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 22:19:33 2015 -0400 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs Pull quota and udf updates from Jan Kara: "The pull contains quota changes which complete unification of XFS and VFS quota interfaces (so tools can use either interface to manipulate any filesystem). There's also a patch to support project quotas in VFS quota subsystem from Li Xi. Finally there's a bunch of UDF fixes and cleanups and tiny cleanup in reiserfs & ext3" * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: (21 commits) udf: Update ctime and mtime when directory is modified udf: return correct errno for udf_update_inode() ext3: Remove useless condition in if statement. vfs: Add general support to enforce project quota limits reiserfs: fix __RASSERT format string udf: use int for allocated blocks instead of sector_t udf: remove redundant buffer_head.h includes udf: remove else after return in __load_block_bitmap() udf: remove unused variable in udf_table_free_blocks() quota: Fix maximum quota limit settings quota: reorder flags in quota state quota: paranoia: check quota tree root quota: optimize i_dquot access quota: Hook up Q_XSETQLIM for id 0 to ->set_info xfs: Add support for Q_SETINFO quota: Make ->set_info use structure with neccesary info to VFS and XFS quota: Remove ->get_xstate and ->get_xstatev callbacks gfs2: Convert to using ->get_state callback xfs: Convert to using ->get_state callback quota: Wire up Q_GETXSTATE and Q_GETXSTATV calls to work with ->get_state ... commit a39ef1a7c6093bbd4e0a8197350b99cd635e5446 Merge: d82312c 976f2ab Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 22:05:27 2015 -0400 Merge branch 'for-4.1/drivers' of git://git.kernel.dk/linux-block Pull block driver updates from Jens Axboe: "This is the block driver pull request for 4.1. As with the core bits, this is a relatively slow round. This pull request contains: - Various fixes and cleanups for NVMe, from Alexey Khoroshilov, Chong Yuan, myself, Keith Busch, and Murali Iyer. - Documentation and code cleanups for nbd from Markus Pargmann. - Change of brd maintainer to me, from Ross Zwisler. At least the email doesn't bounce anymore then. - Two xen-blkback fixes from Tao Chen" * 'for-4.1/drivers' of git://git.kernel.dk/linux-block: (23 commits) NVMe: Meta data handling through submit io ioctl NVMe: Add translation for block limits NVMe: Remove check for null NVMe: Fix error handling of class_create("nvme") xen-blkback: define pr_fmt macro to avoid the duplication of DRV_PFX xen-blkback: enlarge the array size of blkback name nbd: Return error pointer directly nbd: Return error code directly nbd: Remove fixme that was already fixed nbd: Restructure debugging prints nbd: Fix device bytesize type nbd: Replace kthread_create with kthread_run nbd: Remove kernel internal header Documentation: nbd: Add list of module parameters Documentation: nbd: Reformat to allow more documentation NVMe: increase depth of admin queue nvme: Fix PRP list calculation for non-4k system page size NVMe: Fix blk-mq hot cpu notification NVMe: embedded iod mask cleanup NVMe: Freeze admin queue on device failure ... commit 44c144f9c8e8fbd73ede2848da8253b3aae42ec2 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 22:00:50 2015 -0400 dm crypt: fix missing error code return from crypt_ctr error path Fix to return a negative error code from crypt_ctr()'s optional parameter processing error path. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit a7e73e711e48e138a25265c156cca9a1ed109b50 Author: Shreyas B. Prabhu <shreyas@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 16:28:09 2015 +0530 powerpc/kvm: Fix ppc64_defconfig + PPC_POWERNV=n build error kvm_no_guest() calls power7_wakeup_loss() to put the thread into the deepest supported idle state. power7_wakeup_loss() is defined in arch/powerpc/kernel/idle_power7.S, which is compiled only when PPC_P7_NAP=y. And PPC_P7_NAP is selected when PPC_POWERNV=y. Hence in cases where PPC_POWERNV=n and KVM_BOOK3S_64_HV=y we see the following error: arch/powerpc/kvm/built-in.o: In function `kvm_no_guest': arch/powerpc/kvm/book3s_hv_rmhandlers.o:(.text+0x42c): undefined reference to `power7_wakeup_loss' Fix this by adding PPC_POWERNV as a dependency for KVM_BOOK3S_64_HV. Signed-off-by: Shreyas B. Prabhu <shreyas@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d82312c80860b8b83cd4473ac6eafd244e712061 Merge: 7d69cff 889fa31 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 21:49:16 2015 -0400 Merge branch 'for-4.1/core' of git://git.kernel.dk/linux-block Pull block layer core bits from Jens Axboe: "This is the core pull request for 4.1. Not a lot of stuff in here for this round, mostly little fixes or optimizations. This pull request contains: - An optimization that speeds up queue runs on blk-mq, especially for the case where there's a large difference between nr_cpu_ids and the actual mapped software queues on a hardware queue. From Chong Yuan. - Honor node local allocations for requests on legacy devices. From David Rientjes. - Cleanup of blk_mq_rq_to_pdu() from me. - exit_aio() fixup from me, greatly speeding up exiting multiple IO contexts off exit_group(). For my particular test case, fio exit took ~6 seconds. A typical case of both exposing RCU grace periods to user space, and serializing exit of them. - Make blk_mq_queue_enter() honor the gfp mask passed in, so we only wait if __GFP_WAIT is set. From Keith Busch. - blk-mq exports and two added helpers from Mike Snitzer, which will be used by the dm-mq code. - Cleanups of blk-mq queue init from Wei Fang and Xiaoguang Wang" * 'for-4.1/core' of git://git.kernel.dk/linux-block: blk-mq: reduce unnecessary software queue looping aio: fix serial draining in exit_aio() blk-mq: cleanup blk_mq_rq_to_pdu() blk-mq: put blk_queue_rq_timeout together in blk_mq_init_queue() block: remove redundant check about 'set->nr_hw_queues' in blk_mq_alloc_tag_set() block: allocate request memory local to request queue blk-mq: don't wait in blk_mq_queue_enter() if __GFP_WAIT isn't set blk-mq: export blk_mq_run_hw_queues blk-mq: add blk_mq_init_allocated_queue and export blk_mq_register_disk commit 7d6e7f7ffaba4e013c7a0589140431799bc17985 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 10:41:04 2015 +0530 powerpc/mm/thp: Return pte address if we find trans_splitting. For THP that is marked trans splitting, we return the pte. This require the callers to handle the pmd_trans_splitting scenario, if they care. All the current callers are either looking at pfn or write_ok, hence we don't need to update them. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 691e95fd7396905a38d98919e9c150dbc3ea21a3 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 10:41:03 2015 +0530 powerpc/mm/thp: Make page table walk safe against thp split/collapse We can disable a THP split or a hugepage collapse by disabling irq. We do send IPI to all the cpus in the early part of split/collapse, and disabling local irq ensure we don't make progress with split/collapse. If the THP is getting split we return NULL from find_linux_pte_or_hugepte(). For all the current callers it should be ok. We need to be careful if we want to use returned pte_t pointer outside the irq disabled region. W.r.t to THP split, the pfn remains the same, but then a hugepage collapse will result in a pfn change. There are few steps we can take to avoid a hugepage collapse.One way is to take page reference inside the irq disable region. Other option is to take mmap_sem so that a parallel collapse will not happen. We can also disable collapse by taking pmd_lock. Another method used by kvm subsystem is to check whether we had a mmu_notifer update in between using mmu_notifier_retry(). Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit dac5657067919161eb3273ca787d8ae9814801e7 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 10:39:13 2015 +0530 KVM: PPC: Remove page table walk helpers This patch remove helpers which we had used only once in the code. Limiting page table walk variants help in ensuring that we won't end up with code walking page table with wrong assumptions. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5e1d44aef1673b504dde475aa714b1bdb9b875c4 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 10:39:12 2015 +0530 KVM: PPC: Use READ_ONCE when dereferencing pte_t pointer pte can get updated from other CPUs as part of multiple activities like THP split, huge page collapse, unmap. We need to make sure we don't reload the pte value again and again for different checks. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1cbee462a5afc1cc30389915b3d18bdcb3c47ad6 Merge: d19d5ef 50c6a66 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Apr 17 11:22:51 2015 +1000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into fixes commit 78b9ae307bded23cd8b239562d3a832dad585bdd Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Apr 16 12:44:59 2015 +0800 MAINTAINERS: remove maintainship entry of docking station driver As Rafael suggested, docking station driver is maintained along with the ACPI core nowadays, so it's better to remove this entry. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7d69cff26ceadce8638cb65191285932a3de3d4c Merge: 8fa6f49 0351b8f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 19:02:04 2015 -0400 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI updates from James Bottomley: "This is the usual grab bag of driver updates (lpfc, qla2xxx, storvsc, aacraid, ipr) plus an assortment of minor updates. There's also a major update to aic1542 which moves the driver into this millenium" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (106 commits) change SCSI Maintainer email sd, mmc, virtio_blk, string_helpers: fix block size units ufs: add support to allow non standard behaviours (quirks) ufs-qcom: save controller revision info in internal structure qla2xxx: Update driver version to 8.07.00.18-k qla2xxx: Restore physical port WWPN only, when port down detected for FA-WWPN port. qla2xxx: Fix virtual port configuration, when switch port is disabled/enabled. qla2xxx: Prevent multiple firmware dump collection for ISP27XX. qla2xxx: Disable Interrupt handshake for ISP27XX. qla2xxx: Add debugging info for MBX timeout. qla2xxx: Add serdes read/write support for ISP27XX qla2xxx: Add udev notification to save fw dump for ISP27XX qla2xxx: Add message for sucessful FW dump collected for ISP27XX. qla2xxx: Add support to load firmware from file for ISP 26XX/27XX. qla2xxx: Fix beacon blink for ISP27XX. qla2xxx: Increase the wait time for firmware to be ready for P3P. qla2xxx: Fix crash due to wrong casting of reg for ISP27XX. qla2xxx: Fix warnings reported by static checker. lpfc: Update version to 10.5.0.0 for upstream patch set lpfc: Update copyright to 2015 ... commit 8fa6f4974d55ad1fb0a9522c5a5cfd050a517048 Merge: eabbfde ee23d66 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 19:00:31 2015 -0400 Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration Pull mailbox updates from Jassi Brar. * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration: mailbox: arm_mhu: add driver for ARM MHU controller Mailbox: Restructure and simplify PCC mailbox code commit eabbfdecdae4413687a36fd17c3e98de59ba492b Merge: 45701e2 04abab6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 18:50:27 2015 -0400 Merge branch 'for-v4.1-rc1' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping Pull DMA-mapping updates from Marek Szyprowski: "This contains two patches, which clarify abiguity in the dma-mapping api" * 'for-v4.1-rc1' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping: include/dma-mapping: Clarify output of dma_map_sg asm/dma-mapping-common: Clarify output of dma_map_sg_attrs commit 45701e2636a02ab1c5305ead5236f05bda64c15f Merge: 497a5df 3083ca2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 18:48:55 2015 -0400 Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming Pull arch/c6x fixes from Mark Salter. * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming: c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback c6x: kernel: setup: Export symbol memory_end c6x: kernel: setup: Add screen_info global variable c6x: include: asm: Kbuild: Add generic serial.h c6x: include: asm: dma-mapping: Add dummy dma_sync_single_range_for_device c6x: include: asm: setup: Include "linux/types.h" c6x: asm: Add default flat.h according to xtensa architecture c6x: kernel: setup: Remove 'const' for local variables in machine_init c6x: Makefile: Add -D__linux__ C6x: time: Ensure consistency in __init c6x: kernel: setup: Include "linux/console.h" commit a83f5d6a11ced6f43ec467a95fe8cc76e1c96cfd Merge: 497a5df 671d773 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 16 12:45:18 2015 -0700 Merge branch 'generic-iommu-allocator' Sowmini Varadhan says: ==================== Generic IOMMU pooled allocator Investigation of network performance on Sparc shows a high degree of locking contention in the IOMMU allocator, and it was noticed that the PowerPC code has a better locking model. This patch series tries to extract the generic parts of the PowerPC code so that it can be shared across multiple PCI devices and architectures. v10: resend patchv9 without RFC tag, and a new mail Message-Id, (previous non-RFC attempt did not show up on the patchwork queue?) Full revision history below: v2 changes: - incorporate David Miller editorial comments: sparc specific fields moved from iommu-common into sparc's iommu_64.h - make the npools value an input parameter, for the case when the iommu map size is not very large - cookie_to_index mapping, and optimizations for span-boundary check, for use case such as LDC. v3: eliminate iommu_sparc, rearrange the ->demap indirection to be invoked under the pool lock. v4: David Miller review changes: - s/IOMMU_ERROR_CODE/DMA_ERROR_CODE - page_table_map_base and page_table_shift are unsigned long, not u32. v5: removed ->cookie_to_index and ->demap indirection from the iommu_tbl_ops The caller needs to call these functions as needed, before invoking the generic arena allocator functions. Added the "skip_span_boundary" argument to iommu_tbl_pool_init() for those callers like LDC which do no care about span boundary checks. v6: removed iommu_tbl_ops, and instead pass the ->flush_all as an indirection to iommu_tbl_pool_init(); only invoke ->flush_all when there is no large_pool, based on the assumption that large-pool usage is infrequently encountered v7: moved pool_hash initialization to lib/iommu-common.c and cleaned up code duplication from sun4v/sun4u/ldc. v8: Addresses BenH comments with one exception: I've left the IOMMU_POOL_HASH as is, so that powerpc can tailor it to their convenience. Discard trylock for simple spin_lock to acquire pool v9: Addresses latest BenH comments: need_flush checks, add support for dma mask and align_order. v10: resend without RFC tag, and new mail Message-Id. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 671d773297969bebb1732e1cdc1ec03aa53c6be2 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Mar 12 20:02:37 2015 -0400 sparc: Make LDC use common iommu poll management functions Note that this conversion is only being done to consolidate the code and ensure that the common code provides the sufficient abstraction. It is not expected to result in any noticeable performance improvement, as there is typically one ldc_iommu per vnet_port, and each one has 8k entries, with a typical request for 1-4 pages. Thus LDC uses npools == 1. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1600e549b948a32ad7672e069b2915314637ae3 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Mar 12 20:02:36 2015 -0400 sparc: Make sparc64 use scalable lib/iommu-common.c functions In iperf experiments running linux as the Tx side (TCP client) with 10 threads results in a severe performance drop when TSO is disabled, indicating a weakness in the software that can be avoided by using the scalable IOMMU arena DMA allocation. Baseline numbers before this patch: with default settings (TSO enabled) : 9-9.5 Gbps Disable TSO using ethtool- drops badly: 2-3 Gbps. After this patch, iperf client with 10 threads, can give a throughput of at least 8.5 Gbps, even when TSO is disabled. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10b88a4b17d31a7409494b179dcb76e7ab2fcaea Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Mar 12 20:02:35 2015 -0400 sparc: Break up monolithic iommu table/lock into finer graularity pools and lock Investigation of multithreaded iperf experiments on an ethernet interface show the iommu->lock as the hottest lock identified by lockstat, with something of the order of 21M contentions out of 27M acquisitions, and an average wait time of 26 us for the lock. This is not efficient. A more scalable design is to follow the ppc model, where the iommu_table has multiple pools, each stretching over a segment of the map, and with a separate lock for each pool. This model allows for better parallelization of the iommu map search. This patch adds the iommu range alloc/free function infrastructure. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3ffe6d2c9733729307799a60e1ae09a9878e697 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Apr 16 20:49:14 2015 +0200 net: dsa: mv88e6xxx: Add missing initialization in mv88e6xxx_set_port_state() drivers/net/dsa/mv88e6xxx.c: In function â??mv88e6xxx_set_port_stateâ??: drivers/net/dsa/mv88e6xxx.c:905: warning: â??retâ?? may be used uninitialized in this function If oldstate == state, mv88e6xxx_set_port_state() will return an uninitialized value. Pre-initialize ret to zero to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a9fe3ca84afff6259820c4f62e579f41476becc Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Jan 20 23:47:30 2015 +0100 rockchip: make sure timer7 is enabled on rk3288 platforms timer7 supplies the architected timer and thus as has to run when the system clocksource and clockevents drivers are registered. While it should be the responsibility of the bootloader to do this, and there exists a fix in a community u-boot, all u-boot based systems that actually shipped have the mentioned issue. Therefore to not require every developer to update their u-boot, add a snippet for this, enabling the timer early in the kernel. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit b403125d3bbf8046c1186e1a49cb17bb5551db14 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Sun Mar 22 00:04:51 2015 +0800 ARM: rockchip: fix undefined instruction of reset_ctrl_regs Sometimes the debug module may not work well after resume, since it has not been correctly reset when wakeup from suspend. That cause system crash during reusme, and a 'undefined instruction' is displayed on the console. Set the GRF_FORCE_JTAG bit of RK3288_GRF_SOC_CON0 can ensure that debug modul is reset. And we can change the value of RK3288_GRF_SOC_CON0 back when system resume. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Tested-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> According to discussions, there does not seem a better solution available. Please also see the potential security implication described in the comment inline in the code. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 0ea001d3b43cc9d387c093ae205c4228cd88a886 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Wed Apr 15 13:57:11 2015 +0800 ARM: rockchip: disable dapswjdp during suspend Reset dapswjdp is controlled by JTAG_TRSTN, if the iomux of this pin is not "jtag_trstn". the AP would think this pin is always high, so it can not reset before resume. When system resume, but the dapswjdp is not in a default state, it may Access some illegal address, it cause system crash during resume. Let's disable this jtag function by clear the dapdeviceen bit, it prohibit the dapswjdp to access memory and registers. This bit would be enable in MASKROM, so we need clear it in suspend everytime. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 497a5df7bf6ffd136ae21c49d1a01292930d7ca2 Merge: 714d8e7 0b97b03 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 14:01:03 2015 -0500 Merge tag 'stable/for-linus-4.1-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen features and fixes from David Vrabel: - use a single source list of hypercalls, generating other tables etc. at build time. - add a "Xen PV" APIC driver to support >255 VCPUs in PV guests. - significant performance improve to guest save/restore/migration. - scsiback/front save/restore support. - infrastructure for multi-page xenbus rings. - misc fixes. * tag 'stable/for-linus-4.1-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen/pci: Try harder to get PXM information for Xen xenbus_client: Extend interface to support multi-page ring xen-pciback: also support disabling of bus-mastering and memory-write-invalidate xen: support suspend/resume in pvscsi frontend xen: scsiback: add LUN of restored domain xen-scsiback: define a pr_fmt macro with xen-pvscsi xen/mce: fix up xen_late_init_mcelog() error handling xen/privcmd: improve performance of MMAPBATCH_V2 xen: unify foreign GFN map/unmap for auto-xlated physmap guests x86/xen/apic: WARN with details. x86/xen: Provide a "Xen PV" APIC driver to support >255 VCPUs xen/pciback: Don't print scary messages when unsupported by hypervisor. xen: use generated hypercall symbols in arch/x86/xen/xen-head.S xen: use generated hypervisor symbols in arch/x86/xen/trace.c xen: synchronize include/xen/interface/xen.h with xen xen: build infrastructure for generating hypercall depending symbols xen: balloon: Use static attribute groups for sysfs entries xen: pcpu: Use static attribute groups for sysfs entry commit 714d8e7e27197dd39b2550e762a6a6fcf397a471 Merge: d19d5ef 6d1966d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 13:58:29 2015 -0500 Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 updates from Will Deacon: "Here are the core arm64 updates for 4.1. Highlights include a significant rework to head.S (allowing us to boot on machines with physical memory at a really high address), an AES performance boost on Cortex-A57 and the ability to run a 32-bit userspace with 64k pages (although this requires said userspace to be built with a recent binutils). The head.S rework spilt over into KVM, so there are some changes under arch/arm/ which have been acked by Marc Zyngier (KVM co-maintainer). In particular, the linker script changes caused us some issues in -next, so there are a few merge commits where we had to apply fixes on top of a stable branch. Other changes include: - AES performance boost for Cortex-A57 - AArch32 (compat) userspace with 64k pages - Cortex-A53 erratum workaround for #845719 - defconfig updates (new platforms, PCI, ...)" * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (39 commits) arm64: fix midr range for Cortex-A57 erratum 832075 arm64: errata: add workaround for cortex-a53 erratum #845719 arm64: Use bool function return values of true/false not 1/0 arm64: defconfig: updates for 4.1 arm64: Extract feature parsing code from cpu_errata.c arm64: alternative: Allow immediate branch as alternative instruction arm64: insn: Add aarch64_insn_decode_immediate ARM: kvm: round HYP section to page size instead of log2 upper bound ARM: kvm: assert on HYP section boundaries not actual code size arm64: head.S: ensure idmap_t0sz is visible arm64: pmu: add support for interrupt-affinity property dt: pmu: extend ARM PMU binding to allow for explicit interrupt affinity arm64: head.S: ensure visibility of page tables arm64: KVM: use ID map with increased VA range if required arm64: mm: increase VA range of identity map ARM: kvm: implement replacement for ld's LOG2CEIL() arm64: proc: remove unused cpu_get_pgd macro arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol arm64: remove __calc_phys_offset arm64: merge __enable_mmu and __turn_mmu_on ... commit d19d5efd8c8840aa4f38a6dfbfe500d8cc27de46 Merge: 34c9a0f 2fe0753 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 13:53:32 2015 -0500 Merge tag 'powerpc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc updates from Michael Ellerman: - Numerous minor fixes, cleanups etc. - More EEH work from Gavin to remove its dependency on device_nodes. - Memory hotplug implemented entirely in the kernel from Nathan Fontenot. - Removal of redundant CONFIG_PPC_OF by Kevin Hao. - Rewrite of VPHN parsing logic & tests from Greg Kurz. - A fix from Nish Aravamudan to reduce memory usage by clamping nodes_possible_map. - Support for pstore on powernv from Hari Bathini. - Removal of old powerpc specific byte swap routines by David Gibson. - Fix from Vasant Hegde to prevent the flash driver telling you it was flashing your firmware when it wasn't. - Patch from Ben Herrenschmidt to add an OPAL heartbeat driver. - Fix for an oops causing get/put_cpu_var() imbalance in perf by Jan Stancek. - Some fixes for migration from Tyrel Datwyler. - A new syscall to switch the cpu endian by Michael Ellerman. - Large series from Wei Yang to implement SRIOV, reviewed and acked by Bjorn. - A fix for the OPAL sensor driver from Cédric Le Goater. - Fixes to get STRICT_MM_TYPECHECKS building again by Michael Ellerman. - Large series from Daniel Axtens to make our PCI hooks per PHB rather than per machine. - Small patch from Sam Bobroff to explicitly abort non-suspended transactions on syscalls, plus a test to exercise it. - Numerous reworks and fixes for the 24x7 PMU from Sukadev Bhattiprolu. - Small patch to enable the hard lockup detector from Anton Blanchard. - Fix from Dave Olson for missing L2 cache information on some CPUs. - Some fixes from Michael Ellerman to get Cell machines booting again. - Freescale updates from Scott: Highlights include BMan device tree nodes, an MSI erratum workaround, a couple minor performance improvements, config updates, and misc fixes/cleanup. * tag 'powerpc-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (196 commits) powerpc/powermac: Fix build error seen with powermac smp builds powerpc/pseries: Fix compile of memory hotplug without CONFIG_MEMORY_HOTREMOVE powerpc: Remove PPC32 code from pseries specific find_and_init_phbs() powerpc/cell: Fix iommu breakage caused by controller_ops change powerpc/eeh: Fix crash in eeh_add_device_early() on Cell powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH powerpc/perf/hv-24x7: Fail 24x7 initcall if create_events_from_catalog() fails powerpc/pseries: Correct memory hotplug locking powerpc: Fix missing L2 cache size in /sys/devices/system/cpu powerpc: Add ppc64 hard lockup detector support oprofile: Disable oprofile NMI timer on ppc64 powerpc/perf/hv-24x7: Add missing put_cpu_var() powerpc/perf/hv-24x7: Break up single_24x7_request powerpc/perf/hv-24x7: Define update_event_count() powerpc/perf/hv-24x7: Whitespace cleanup powerpc/perf/hv-24x7: Define add_event_to_24x7_request() powerpc/perf/hv-24x7: Rename hv_24x7_event_update powerpc/perf/hv-24x7: Move debug prints to separate function powerpc/perf/hv-24x7: Drop event_24x7_request() powerpc/perf/hv-24x7: Use pr_devel() to log message ... Conflicts: tools/testing/selftests/powerpc/Makefile tools/testing/selftests/powerpc/tm/Makefile commit 213dd74aee765d4e5f3f4b9607fef0cf97faa2af Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 09:03:27 2015 +0800 skbuff: Do not scrub skb mark within the same name space On Wed, Apr 15, 2015 at 05:41:26PM +0200, Nicolas Dichtel wrote: > Le 15/04/2015 15:57, Herbert Xu a écrit : > >On Wed, Apr 15, 2015 at 06:22:29PM +0800, Herbert Xu wrote: > [snip] > >Subject: skbuff: Do not scrub skb mark within the same name space > > > >The commit ea23192e8e577dfc51e0f4fc5ca113af334edff9 ("tunnels: > Maybe add a Fixes tag? > Fixes: ea23192e8e57 ("tunnels: harmonize cleanup done on skb on rx path") > > >harmonize cleanup done on skb on rx path") broke anyone trying to > >use netfilter marking across IPv4 tunnels. While most of the > >fields that are cleared by skb_scrub_packet don't matter, the > >netfilter mark must be preserved. > > > >This patch rearranges skb_scurb_packet to preserve the mark field. > nit: s/scurb/scrub > > Else it's fine for me. Sure. PS I used the wrong email for James the first time around. So let me repeat the question here. Should secmark be preserved or cleared across tunnels within the same name space? In fact, do our security models even support name spaces? ---8<--- The commit ea23192e8e577dfc51e0f4fc5ca113af334edff9 ("tunnels: harmonize cleanup done on skb on rx path") broke anyone trying to use netfilter marking across IPv4 tunnels. While most of the fields that are cleared by skb_scrub_packet don't matter, the netfilter mark must be preserved. This patch rearranges skb_scrub_packet to preserve the mark field. Fixes: ea23192e8e57 ("tunnels: harmonize cleanup done on skb on rx path") Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c0ee414e877b899f7fc80aafb98d9425c02797f Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 16:12:53 2015 +0800 Revert "net: Reset secmark when scrubbing packet" This patch reverts commit b8fb4e0648a2ab3734140342002f68fb0c7d1602 because the secmark must be preserved even when a packet crosses namespace boundaries. The reason is that security labels apply to the system as a whole and is not per-namespace. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 725f9dcd58dedfea49ef958babf6c0bf6b7594a9 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Apr 15 16:19:33 2015 -0700 bpf: fix two bugs in verification logic when accessing 'ctx' pointer 1. first bug is a silly mistake. It broke tracing examples and prevented simple bpf programs from loading. In the following code: if (insn->imm == 0 && BPF_SIZE(insn->code) == BPF_W) { } else if (...) { // this part should have been executed when // insn->code == BPF_W and insn->imm != 0 } Obviously it's not doing that. So simple instructions like: r2 = *(u64 *)(r1 + 8) will be rejected. Note the comments in the code around these branches were and still valid and indicate the true intent. Replace it with: if (BPF_SIZE(insn->code) != BPF_W) continue; if (insn->imm == 0) { } else if (...) { // now this code will be executed when // insn->code == BPF_W and insn->imm != 0 } 2. second bug is more subtle. If malicious code is using the same dest register as source register, the checks designed to prevent the same instruction to be used with different pointer types will fail to trigger, since we were assigning src_reg_type when it was already overwritten by check_mem_access(). The fix is trivial. Just move line: src_reg_type = regs[insn->src_reg].type; before check_mem_access(). Add new 'access skb fields bad4' test to check this case. Fixes: 9bac3d6d548e ("bpf: allow extended BPF programs access skb fields") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a166151cbe33b53221c24259e4a7201064b3ba79 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Apr 15 12:55:45 2015 -0700 bpf: fix bpf helpers to use skb->mac_header relative offsets For the short-term solution, lets fix bpf helper functions to use skb->mac_header relative offsets instead of skb->data in order to get the same eBPF programs with cls_bpf and act_bpf work on ingress and egress qdisc path. We need to ensure that mac_header is set before calling into programs. This is effectively the first option from below referenced discussion. More long term solution for LD_ABS|LD_IND instructions will be more intrusive but also more beneficial than this, and implemented later as it's too risky at this point in time. I.e., we plan to look into the option of moving skb_pull() out of eth_type_trans() and into netif_receive_skb() as has been suggested as second option. Meanwhile, this solution ensures ingress can be used with eBPF, too, and that we won't run into ABI troubles later. For dealing with negative offsets inside eBPF helper functions, we've implemented bpf_skb_clone_unwritable() to test for unwriteable headers. Reference: http://thread.gmane.org/gmane.linux.network/359129/focus=359694 Fixes: 608cd71a9c7c ("tc: bpf: generalize pedit action") Fixes: 91bc4822c3d6 ("tc: bpf: add checksum helpers") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51b5df886874816ff986fe66fe0d7b7eca9f6cd1 Merge: e743471 f88203a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 16 13:58:43 2015 -0400 Merge branch 'stmmac-flow-control' Vince Bridgers says: ==================== stmmac: Correct flow control configuration This series of patches corrects flow control configuration for the Synopsys GMAC driver. Flow control is configured based on a configurable receive fifo size. If less than 4Kbytes flow control is left disabled and a warning is presented. If a receive fifo size is not specified, flow control is left disabled to maintain current behavior. Unicast pause detection was disabled, but is now enabled. The pause time was modified to be maximum time per a XON/XOFF flow control mode of operation. This patch was tested on an Altera Cyclone 5 and an Altera Arria 10 devkit, and verified that flow control operates as expected when enabled. Please consider this series for inclusion so that flow control will function as expected for the Synopsys GMAC controller. ==================== Acked-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f88203a229cca0b3634738b7dae47419d1da6dc8 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:17:42 2015 -0500 stmmac: Configure Flow Control to work correctly based on rxfifo size Configure flow control correctly, and based on the receive fifo size read as a property from the devicetree since the Synopsys stmmac fifo sizes are configurable based on a particular chip's implementation. This patch maintains the previous incorrect behavior unless the receive fifo size is found in the devicetree. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 545d655ebbea65986cb762905b81bff54f42eb6d Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:17:41 2015 -0500 stmmac: Enable unicast pause frame detect in GMAC Register 6 Unicast pause frame detect was not being enabled for the Synopsys stmmac. This patch sets Unicast pause frame detect in MAC register 6 so that pause frame detection by the stmmac conforms to IEEE 802.3, Annex 31B.3.3 Receive Operation - Specifically, a MAC shall respond to pause frames containing either the reserved multicast address or the unique physical address associated with this station. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7877f52fd4a8d7012f9b0faecc047a50c132a79 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:17:40 2015 -0500 stmmac: Read tx-fifo-depth and rx-fifo-depth from the devicetree Read the tx-fifo-depth and rx-fifo-depth from the devicetree. The Synopsys stmmac controller fifos are configurable per product instance, and the fifo sizes are needed to configure certain features correctly such as flow control. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2453beb632e3e8c194c87953a536a4c58b149867 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:17:39 2015 -0500 stmmac: Add defines and documentation for enabling flow control Add defines and documentation for enabling flow control on the stmmac. Flow control was not implemented correctly on the stmmac driver and is currently non-functional as a result. This is the first in a series of small patches to correctly implement this feature. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13967f0c2abc088c27718319b9a571ccbf43fa89 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:17:38 2015 -0500 stmmac: Add properties for transmit and receive fifo sizes The Synopsys stmmac fifo sizes are configurable, and need to be known in order to configure certain controller features. This patch adds tx-fifo-depth and rx-fifo-depth properties to the stmmac document file. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8bb820da4ae863c676156627973a950129559fb Author: Robin Gong <b38343@xxxxxxxxxxxxx> Date: Thu Apr 16 10:54:18 2015 +0800 spi: check tx_buf and rx_buf in spi_unmap_msg Some spi device drivers use the same tx_buf and rx_buf repeatly for better performance such as driver/input/touchsreen/ads7846.c, but spi core grab tx_buf /rx_buf of transfer and set them as dummy_tx/dummy_rx once they are NULL. Thus, in the second time the tx_buf/rx_buf will be replaced by dummy_tx/dummy_rx and the data which produced by the last tx or rx may be wrongly sent to the device or handled by the upper level protocol. This patch just keep the orignal value of tx_buf/rx_buf if they are NULL after this transfer processed. Signed-off-by: Robin Gong <b38343@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 145367baa492246cc19d7e859db642e6fed6908e Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Apr 16 07:51:26 2015 +0000 spi: bcm2835: change timeout of polling driver to 1s The way that the timeout code is written in the polling function the timeout does also trigger when interrupted or rescheduled while in the polling loop. This patch changes the timeout from effectively 20ms (=2 jiffies) to 1 second and removes the time that the transfer really takes out of the computation, as - per design - this is <30us and the jiffie resolution is 10ms so that does not make any difference what so ever. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e743471f8d9c6ad00eb10a6d1e05803231e1de83 Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 17:56:03 2015 +0100 stmmac: fix oops on rmmod after assigning ip addr An oops exists in the flow of stmmac_release(). phy_ethtool_get_wol() depends on phydev->drv. phydev->drv will be null after stmmac_mdio_unreg() completes. Steps to reproduce on Quark X1000: 1. ifconfig eth0 192.168.0.1 2. rmmod stmmac_pci To fix this stmmac_mdio_unreg() should be run after unregister_netdev(). Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Reported-by: Dan O'Donovan <dan.odonovan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16b8528d20607925899b1df93bfd8fbab98d267c Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed Apr 15 09:44:37 2015 -0700 megaraid_sas: use raw_smp_processor_id() We only want to steer the I/O completion towards a queue, but don't actually access any per-CPU data, so the raw_ version is fine to use and avoids the warnings when using smp_processor_id(). Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reported-by: Andy Lutomirski <luto@xxxxxxxxxx> Tested-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e557990e358934fb168d30371c9c0f63e314c6b8 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Tue Apr 14 17:11:03 2015 -0400 sd: Fix missing ATO tag check 3aec2f41a8bae introduced a merge error where we would end up check for sdkp instead of sdkp->ATO. Fix this so we register app tag capability correctly. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.17+ Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e727c42bd55794765c460b7ac2b6cc969f2a9698 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Tue Apr 14 16:56:23 2015 -0400 sd: Unregister integrity profile The new integrity code did not correctly unregister the profile for SD disks. Call blk_integrity_unregister() when we release a disk. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Tested-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.17+ Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 10027551ccf5459cc771c31ac8bc8e5cc8db45f8 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Apr 9 17:03:53 2015 -0700 f2fs: pass checkpoint reason on roll-forward recovery This patch adds CP_RECOVERY to remain recovery information for checkpoint. And, it makes sure writing checkpoint in this case. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit feb7cbb079e63ebb7c0bd7022d2ba9c1dd15c69b Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Apr 15 13:49:55 2015 -0700 f2fs: avoid abnormal behavior on broken symlink When f2fs_symlink was triggered and checkpoint was done before syncing its link path, f2fs can get broken symlink like "xxx -> \0\0\0". This incurs abnormal path_walk by VFS. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d0cae97cb600d84a7e00df6f83ab3b2f60d8d7f7 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Apr 15 13:37:53 2015 -0700 f2fs: flush symlink path to avoid broken symlink after POR This patch tries to avoid broken symlink case after POR in best effort. This results in performance regression. But, if f2fs has inline_data and the target path is under 3KB-sized long, the page would be stored in its inode_block, so that there would be no performance regression. Note that, if user wants to keep this file atomically, it needs to trigger dir->fsync. And, there is still a hole to produce broken symlink. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 31976cfdc7e2e8b0b23d731703e4f1e21ff79466 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Apr 16 06:49:50 2015 -0700 dsa: mv88e6xxx: Drop duplicate declaration of 'ret' variable A duplicate declaration of 'ret' can result in hiding an error code. Drop it. Fixes: 17ee3e04ddbf ("net: dsa: Provide additional RMON statistics") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a950ad58d412d76d33f4f4399d69308d511c1a4 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 21:17:35 2015 +0800 netns: remove duplicated include from net_namespace.c Remove duplicated include. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b892e98090fed57797528bb17abcca260f23df2d Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 21:06:47 2015 +0800 ethernet: remove unused including <linux/version.h> Remove including <linux/version.h> that don't need it. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3122a92e80957e30ea9afd963128c6e6c0f5c2ac Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 20:21:02 2015 +0800 rocker: fix error return code in rocker_probe() Fix to return -EINVAL from the invalid PCI region size error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 538cc282a3efb62cdb62ff9e6e44918c11a3c886 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Apr 15 22:12:42 2015 -0700 dsa: mv88e6xxx: Fix error handling in mv88e6xxx_set_port_state Return correct error code if _mv88e6xxx_reg_read returns an error. Fixes: facd95b2e0ec0 ("net: dsa: mv88e6xxx: Add Hardware bridging support") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 540207ae69777b85d167df28f469e77f0fcbb8f9 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Apr 15 11:48:49 2015 -0700 fou: avoid missing unlock in failure path Fixes: 7a6c8c34e5b7 ("fou: implement FOU_CMD_GET") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3de6317d748e23b9e46ba36e10483728d00d144 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Apr 14 15:57:13 2015 -0700 bpf: fix verifier memory corruption Due to missing bounds check the DAG pass of the BPF verifier can corrupt the memory which can cause random crashes during program loading: [8.449451] BUG: unable to handle kernel paging request at ffffffffffffffff [8.451293] IP: [<ffffffff811de33d>] kmem_cache_alloc_trace+0x8d/0x2f0 [8.452329] Oops: 0000 [#1] SMP [8.452329] Call Trace: [8.452329] [<ffffffff8116cc82>] bpf_check+0x852/0x2000 [8.452329] [<ffffffff8116b7e4>] bpf_prog_load+0x1e4/0x310 [8.452329] [<ffffffff811b190f>] ? might_fault+0x5f/0xb0 [8.452329] [<ffffffff8116c206>] SyS_bpf+0x806/0xa30 Fixes: f1bca824dabb ("bpf: add search pruning optimization to verifier") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f72f116a2a70f616ea44f86775ae6404c84ea8ef Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Apr 14 13:24:33 2015 -0700 cxgb4: drop __GFP_NOFAIL allocation set_filter_wr is requesting __GFP_NOFAIL allocation although it can return ENOMEM without any problems obviously (t4_l2t_set_switching does that already). So the non-failing requirement is too strong without any obvious reason. Drop __GFP_NOFAIL and reorganize the code to have the failure paths easier. The same applies to _c4iw_write_mem_dma_aligned which uses __GFP_NOFAIL and then checks the return value and returns -ENOMEM on failure. This doesn't make any sense what so ever. Either the allocation cannot fail or it can. del_filter_wr seems to be safe as well because the filter entry is not marked as pending and the return value is propagated up the stack up to c4iw_destroy_listen. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Hariprasad S <hariprasad@xxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4155fc07fa9fd691d424e7f8fb64591cccb88788 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Mar 20 17:57:47 2015 +0000 Doc: dt: arch_timer: discourage clock-frequency use The ARM Generic Timer (AKA the architected timer, arm_arch_timer) features a CPU register (CNTFRQ) which firmware is intended to initialize, and non-secure software can read to determine the frequency of the timer. On CPUs with secure state, this register cannot be written from non-secure states. The firmware of early SoCs featuring the timer did not correctly initialize CNTFRQ correctly on all CPUs, requiring the frequency to be described in DT as a workaround. This workaround is not complete however as it is exposed to all software in a privileged non-secure mode (including guests running under a hypervisor). The firmware and DTs for recent SoCs have followed the example set by these early SoCs. This patch updates the arch timer binding documentation to make it clearer that the use of the clock-frequency property is a poor work-around. The MMIO generic timer binding is similarly updated, though this is less of a concern as there is generally no need to expose the MMIO timers to guest OSs. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 7d4b5e978ad350916b5c3995490b09c4e59cec4a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 16 15:14:53 2015 +0200 ALSA: hda - Fix regression for slave SPDIF setups The commit [a551d91473e5: ALSA: hda - Use regmap for command verb caches, too] introduced a regression due to a typo in the conversion; the IEC958 status bits of slave digital devices aren't updated correctly. This patch corrects it. Fixes: a551d91473e5 ('ALSA: hda - Use regmap for command verb caches, too') Reported-and-tested-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 84fce9db4d7eaebd6cb2ee30c15da6d4e4daf846 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Apr 16 13:44:44 2015 +0900 tracing: Fix incorrect enabling of trace events by boot cmdline There is a problem that trace events are not properly enabled with boot cmdline. The problem is that if we pass "trace_event=kmem:mm_page_alloc" to the boot cmdline, it enables all kmem trace events, and not just the page_alloc event. This is caused by the parsing mechanism. When we parse the cmdline, the buffer contents is modified due to tokenization. And, if we use this buffer again, we will get the wrong result. Unfortunately, this buffer is be accessed three times to set trace events properly at boot time. So, we need to handle this situation. There is already code handling ",", but we need another for ":". This patch adds it. Link: http://lkml.kernel.org/r/1429159484-22977-1-git-send-email-iamjoonsoo.kim@xxxxxxx Cc: stable@xxxxxxxxxxxxxxx # 3.19+ Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> [ added missing return ret; ] Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit ef99b88b16bee753fa51207abdc58ae660453ec6 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Apr 13 22:30:12 2015 +0200 tracing: Handle ftrace_dump() atomic context in graph_trace_open() graph_trace_open() can be called in atomic context from ftrace_dump(). Use GFP_ATOMIC for the memory allocations when that's the case, in order to avoid the following splat. BUG: sleeping function called from invalid context at mm/slab.c:2849 in_atomic(): 1, irqs_disabled(): 128, pid: 0, name: swapper/0 Backtrace: .. [<8004dc94>] (__might_sleep) from [<801371f4>] (kmem_cache_alloc_trace+0x160/0x238) r7:87800040 r6:000080d0 r5:810d16e8 r4:000080d0 [<80137094>] (kmem_cache_alloc_trace) from [<800cbd60>] (graph_trace_open+0x30/0xd0) r10:00000100 r9:809171a8 r8:00008e28 r7:810d16f0 r6:00000001 r5:810d16e8 r4:810d16f0 [<800cbd30>] (graph_trace_open) from [<800c79c4>] (trace_init_global_iter+0x50/0x9c) r8:00008e28 r7:808c853c r6:00000001 r5:810d16e8 r4:810d16f0 r3:800cbd30 [<800c7974>] (trace_init_global_iter) from [<800c7aa0>] (ftrace_dump+0x90/0x2ec) r4:810d2580 r3:00000000 [<800c7a10>] (ftrace_dump) from [<80414b2c>] (sysrq_ftrace_dump+0x1c/0x20) r10:00000100 r9:809171a8 r8:808f6e7c r7:00000001 r6:00000007 r5:0000007a r4:808d5394 [<80414b10>] (sysrq_ftrace_dump) from [<800169b8>] (return_to_handler+0x0/0x18) [<80415498>] (__handle_sysrq) from [<800169b8>] (return_to_handler+0x0/0x18) r8:808c8100 r7:808c8444 r6:00000101 r5:00000010 r4:84eb3210 [<80415668>] (handle_sysrq) from [<800169b8>] (return_to_handler+0x0/0x18) [<8042a760>] (pl011_int) from [<800169b8>] (return_to_handler+0x0/0x18) r10:809171bc r9:809171a8 r8:00000001 r7:00000026 r6:808c6000 r5:84f01e60 r4:8454fe00 [<8007782c>] (handle_irq_event_percpu) from [<80077b44>] (handle_irq_event+0x4c/0x6c) r10:808c7ef0 r9:87283e00 r8:00000001 r7:00000000 r6:8454fe00 r5:84f01e60 r4:84f01e00 [<80077af8>] (handle_irq_event) from [<8007aa28>] (handle_fasteoi_irq+0xf0/0x1ac) r6:808f52a4 r5:84f01e60 r4:84f01e00 r3:00000000 [<8007a938>] (handle_fasteoi_irq) from [<80076dc0>] (generic_handle_irq+0x3c/0x4c) r6:00000026 r5:00000000 r4:00000026 r3:8007a938 [<80076d84>] (generic_handle_irq) from [<80077128>] (__handle_domain_irq+0x8c/0xfc) r4:808c1e38 r3:0000002e [<8007709c>] (__handle_domain_irq) from [<800087b8>] (gic_handle_irq+0x34/0x6c) r10:80917748 r9:00000001 r8:88802100 r7:808c7ef0 r6:808c8fb0 r5:00000015 r4:8880210c r3:808c7ef0 [<80008784>] (gic_handle_irq) from [<80014044>] (__irq_svc+0x44/0x7c) Link: http://lkml.kernel.org/r/1428953721-31349-1-git-send-email-rabin@xxxxxx Link: http://lkml.kernel.org/r/1428957012-2319-1-git-send-email-rabin@xxxxxx Cc: stable@xxxxxxxxxxxxxxx # 3.13+ Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 542c311813d5cb2e6f0dfa9557f41c829b8fb6a0 Merge: 6a63ef0 0cefb29 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Thu Apr 16 22:13:18 2015 +1000 Merge branch 'xfs-dio-extend-fix' into for-next Conflicts: fs/xfs/xfs_file.c commit 0cefb29e6a63727bc7606c47fc538467594ef112 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 22:03:27 2015 +1000 xfs: using generic_file_direct_write() is unnecessary generic_file_direct_write() does all sorts of things to make DIO work "sorta ok" with mixed buffered IO workloads. We already do most of this work in xfs_file_aio_dio_write() because of the locking requirements, so there's only a couple of things it does for us. The first thing is that it does a page cache invalidation after the ->direct_IO callout. This can easily be added to the XFS code. The second thing it does is that if data was written, it updates the iov_iter structure to reflect the data written, and then does EOF size updates if necessary. For XFS, these EOF size updates are now not necessary, as we do them safely and race-free in IO completion context. That leaves just the iov_iter update, and that's also moved to the XFS code. Therefore we don't need to call generic_file_direct_write() and in doing so remove redundant buffered writeback and page cache invalidation calls from the DIO submission path. We also remove a racy EOF size update, and make the DIO submission code in XFS much easier to follow. Wins all round, really. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 40c63fbc55a968383b8bb5cacad81585e80cd323 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 22:03:17 2015 +1000 xfs: direct IO EOF zeroing needs to drain AIO When we are doing AIO DIO writes, the IOLOCK only provides an IO submission barrier. When we need to do EOF zeroing, we need to ensure that no other IO is in progress and all pending in-core EOF updates have been completed. This requires us to wait for all outstanding AIO DIO writes to the inode to complete and, if necessary, run their EOF updates. Once all the EOF updates are complete, we can then restart xfs_file_aio_write_checks() while holding the IOLOCK_EXCL, knowing that EOF is up to date and we have exclusive IO access to the file so we can run EOF block zeroing if we need to without interference. This gives EOF zeroing the same exclusivity against other IO as we provide truncate operations. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b9d59846f73713d77f0f3fb784c7f84249fc2b93 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 22:03:07 2015 +1000 xfs: DIO write completion size updates race xfs_end_io_direct_write() can race with other IO completions when updating the in-core inode size. The IO completion processing is not serialised for direct IO - they are done either under the IOLOCK_SHARED for non-AIO DIO, and without any IOLOCK held at all during AIO DIO completion. Hence the non-atomic test-and-set update of the in-core inode size is racy and can result in the in-core inode size going backwards if the race if hit just right. If the inode size goes backwards, this can trigger the EOF zeroing code to run incorrectly on the next IO, which then will zero data that has successfully been written to disk by a previous DIO. To fix this bug, we need to serialise the test/set updates of the in-core inode size. This first patch introduces locking around the relevant updates and checks in the DIO path. Because we now have an ioend in xfs_end_io_direct_write(), we know exactly then we are doing an IO that requires an in-core EOF update, and we know that they are not running in interrupt context. As such, we do not need to use irqsave() spinlock variants to protect against interrupts while the lock is held. Hence we can use an existing spinlock in the inode to do this serialisation and so not need to grow the struct xfs_inode just to work around this problem. This patch does not address the test/set EOF update in generic_file_write_direct() for various reasons - that will be done as a followup with separate explanation. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a06c277a13c3620c8ee9304891758f2fcff9c4a4 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 22:00:00 2015 +1000 xfs: DIO writes within EOF don't need an ioend DIO writes that lie entirely within EOF have nothing to do in IO completion. In this case, we don't need no steekin' ioend, and so we can avoid allocating an ioend until we have a mapping that spans EOF. This means that IO completion has two contexts - deferred completion to the dio workqueue that uses an ioend, and interrupt completion that does nothing because there is nothing that can be done in this context. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 6dfa1b67e3b3a9bf536e2fb9ed99001c219822a5 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 21:59:34 2015 +1000 xfs: handle DIO overwrite EOF update completion correctly Currently a DIO overwrite that extends the EOF (e.g sub-block IO or write into allocated blocks beyond EOF) requires a transaction for the EOF update. Thi is done in IO completion context, but we aren't explicitly handling this situation properly and so it can run in interrupt context. Ensure that we defer IO that spans EOF correctly to the DIO completion workqueue, and now that we have an ioend in IO completion we can use the common ioend completion path to do all the work. Note: we do not preallocate the append transaction as we can have multiple mapping and allocation calls per direct IO. hence preallocating can still leave us with nested transactions by attempting to map and allocate more blocks after we've preallocated an append transaction. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d5cc2e3f968ff60f247fdef15b04fac788ef46d2 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 21:59:07 2015 +1000 xfs: DIO needs an ioend for writes Currently we can only tell DIO completion that an IO requires unwritten extent completion. This is done by a hacky non-null private pointer passed to Io completion, but the private pointer does not actually contain any information that is used. We also need to pass to IO completion the fact that the IO may be beyond EOF and so a size update transaction needs to be done. This is currently determined by checks in the io completion, but we need to determine if this is necessary at block mapping time as we need to defer the size update transactions to a completion workqueue, just like unwritten extent conversion. To do this, first we need to allocate and pass an ioend to to IO completion. Add this for unwritten extent conversion; we'll do the EOF updates in the next commit. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 1fdca9c21198b2c2869086ac3629612492476f28 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 21:58:21 2015 +1000 xfs: move DIO mapping size calculation The mapping size calculation is done last in __xfs_get_blocks(), but we are going to need the actual mapping size we will use to map the direct IO correctly in xfs_map_direct(). Factor out the calculation for code clarity, and move the call to be the first operation in mapping the extent to the returned buffer. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a719370be52d1152a5f6e19c4af3b73280e25475 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Apr 16 21:57:48 2015 +1000 xfs: factor DIO write mapping from get_blocks Clarify and separate the buffer mapping logic so that the direct IO mapping is not tangled up in propagating the extent status to teh mapping buffer. This makes it easier to extend the direct IO mapping to use an ioend in future. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fd0f86b66425bd8c6af8985881e82b28c30fd450 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Apr 16 00:40:25 2015 -0700 x86/ptrace: Fix the TIF_FORCED_TF logic in handle_signal() When the TIF_SINGLESTEP tracee dequeues a signal, handle_signal() clears TIF_FORCED_TF and X86_EFLAGS_TF but leaves TIF_SINGLESTEP set. If the tracer does PTRACE_SINGLESTEP again, enable_single_step() sets X86_EFLAGS_TF but not TIF_FORCED_TF. This means that the subsequent PTRACE_CONT doesn't not clear X86_EFLAGS_TF, and the tracee gets the wrong SIGTRAP. Test-case (needs -O2 to avoid prologue insns in signal handler): #include <unistd.h> #include <stdio.h> #include <sys/ptrace.h> #include <sys/wait.h> #include <sys/user.h> #include <assert.h> #include <stddef.h> void handler(int n) { asm("nop"); } int child(void) { assert(ptrace(PTRACE_TRACEME, 0,0,0) == 0); signal(SIGALRM, handler); kill(getpid(), SIGALRM); return 0x23; } void *getip(int pid) { return (void*)ptrace(PTRACE_PEEKUSER, pid, offsetof(struct user, regs.rip), 0); } int main(void) { int pid, status; pid = fork(); if (!pid) return child(); assert(wait(&status) == pid); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGALRM); assert(ptrace(PTRACE_SINGLESTEP, pid, 0, SIGALRM) == 0); assert(wait(&status) == pid); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGTRAP); assert((getip(pid) - (void*)handler) == 0); assert(ptrace(PTRACE_SINGLESTEP, pid, 0, SIGALRM) == 0); assert(wait(&status) == pid); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGTRAP); assert((getip(pid) - (void*)handler) == 1); assert(ptrace(PTRACE_CONT, pid, 0,0) == 0); assert(wait(&status) == pid); assert(WIFEXITED(status) && WEXITSTATUS(status) == 0x23); return 0; } The last assert() fails because PTRACE_CONT wrongly triggers another single-step and X86_EFLAGS_TF can't be cleared by debugger until the tracee does sys_rt_sigreturn(). Change handle_signal() to do user_disable_single_step() if stepping, we do not need to preserve TIF_SINGLESTEP because we are going to do ptrace_notify(), and it is simply wrong to leak this bit. While at it, change the comment to explain why we also need to clear TF unconditionally after setup_rt_frame(). Note: in the longer term we should probably change setup_sigcontext() to use get_flags() and then just remove this user_disable_single_step(). And, the state of TIF_FORCED_TF can be wrong after restore_sigcontext() which can set/clear TF, this needs another fix. This fix fixes the 'single_step_syscall_32' testcase in the x86 testsuite: Before: ~/linux/tools/testing/selftests/x86> ./single_step_syscall_32 [RUN] Set TF and check nop [OK] Survived with TF set and 9 traps [RUN] Set TF and check int80 [OK] Survived with TF set and 9 traps [RUN] Set TF and check a fast syscall [WARN] Hit 10000 SIGTRAPs with si_addr 0xf7789cc0, ip 0xf7789cc0 Trace/breakpoint trap (core dumped) After: ~/linux/linux/tools/testing/selftests/x86> ./single_step_syscall_32 [RUN] Set TF and check nop [OK] Survived with TF set and 9 traps [RUN] Set TF and check int80 [OK] Survived with TF set and 9 traps [RUN] Set TF and check a fast syscall [OK] Survived with TF set and 39 traps [RUN] Fast syscall with TF cleared [OK] Nothing unexpected happened Reported-by: Evan Teran <eteran@xxxxxxxxxxxx> Reported-by: Pedro Alves <palves@xxxxxxxxxx> Tested-by: Andres Freund <andres@xxxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Added x86 self-test info. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a15584d72760a3b83d97af85d37ffaa2c42068d Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Apr 15 16:10:07 2015 -0700 x86, selftests: Add single_step_syscall test This is a very simple test that makes system calls with TF set. This test currently fails when running the 32-bit build on a 64-bit kernel on an Intel CPU. This bug will be fixed by the next commit. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Shuah Khan <shuah.kh@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/20e68021155f6ab5c60590dcad81d37c68ea2c4f.1429139075.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3047755588e71b67c3f60409686fabf8506357e9 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Apr 15 18:16:47 2015 -0500 ALSA: intel8x0: Check pci_iomap() success for DEVICE_ALI DEVICE_ALI previously would jump to port_inited after calling pci_iomap(), bypassing the check for bmaddr being NULL. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 828fa8ce5a8d75169f16740c28c8a1b7c13dd96b Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Apr 15 13:29:05 2015 +0200 ALSA: hda - simplify azx_has_pm_runtime Because AZX_DCAPS_PM_RUNTIME is always defined as non-zero, the initial part of the expression can be skipped. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6ddb2447846a8ece111e316a2863c2355023682d Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Apr 16 01:56:00 2015 -0400 ext4 crypto: enable encryption feature flag Also add the test dummy encryption mode flag so we can more easily test the encryption patches using xfstests. Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f348c252320b98e11176074fe04223f22bddaf0d Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Apr 16 01:55:00 2015 -0400 ext4 crypto: add symlink encryption Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 65204c84d7666a78e965da0dd8696bdb007606dd Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Apr 15 09:04:41 2015 +0200 target: fix tcm_mod_builder.py Fix a misplaced comma I introduced. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 64d240b721b21e266ffde645ec965c3b6d1c551f Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Mon Apr 13 23:21:58 2015 +0900 target/file: Fix UNMAP with DIF protection support When UNMAP command is issued with DIF protection support enabled, the protection info for the unmapped region is remain unchanged. So READ command for the region causes data integrity failure. This fixes it by invalidating protection info for the unmapped region by filling with 0xff pattern. This change also adds helper function fd_do_prot_fill() in order to reduce code duplication with existing fd_format_prot(). Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c836777830428372074d5129ac513e1472c99791 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Mon Apr 13 23:21:57 2015 +0900 target/file: Fix SG table for prot_buf initialization In fd_do_prot_rw(), it allocates prot_buf which is used to copy from se_cmd->t_prot_sg by sbc_dif_copy_prot(). The SG table for prot_buf is also initialized by allocating 'se_cmd->t_prot_nents' entries of scatterlist and setting the data length of each entry to PAGE_SIZE at most. However if se_cmd->t_prot_sg contains a clustered entry (i.e. sg->length > PAGE_SIZE), the SG table for prot_buf can't be initialized correctly and sbc_dif_copy_prot() can't copy to prot_buf. (This actually happened with TCM loopback fabric module) As prot_buf is allocated by kzalloc() and it's physically contiguous, we only need a single scatterlist entry. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 38da0f49e8aa1649af397d53f88e163d0e60c058 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Mon Apr 13 23:21:56 2015 +0900 target/file: Fix BUG() when CONFIG_DEBUG_SG=y and DIF protection enabled When CONFIG_DEBUG_SG=y and DIF protection support enabled, kernel BUG()s are triggered due to the following two issues: 1) prot_sg is not initialized by sg_init_table(). When CONFIG_DEBUG_SG=y, scatterlist helpers check sg entry has a correct magic value. 2) vmalloc'ed buffer is passed to sg_set_buf(). sg_set_buf() uses virt_to_page() to convert virtual address to struct page, but it doesn't work with vmalloc address. vmalloc_to_page() should be used instead. As prot_buf isn't usually too large, so fix it by allocating prot_buf by kmalloc instead of vmalloc. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit dc0fafdab88b98581728a574885d0e4d9c6d0640 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Tue Apr 14 13:26:06 2015 +0200 target: Make core_tmr_abort_task() skip TMFs The loop in core_tmr_abort_task() iterates over sess_cmd_list. That list is a list of regular commands and task management functions (TMFs). Skip TMFs in this loop instead of letting the target drivers filter out TMFs in their get_task_tag() callback function. (Drop bogus check removal in tcm_qla2xxx_get_task_tag - nab) Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Andy Grover <agrover@xxxxxxxxxx> Cc: <qla2xxx-upstream@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6ae504082188d25178ac9a22197fee89ebda232c Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Apr 14 11:59:20 2015 -0700 target/sbc: Update sbc_dif_generate pr_debug output Now that sbc_dif_generate can also be called for READ_INSERT, update the debugging message accordingly. Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit d7a463b0acc3fecf9d01cd5d518bf46578658ff3 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Apr 14 11:57:43 2015 -0700 target/sbc: Make internal DIF emulation honor ->prot_checks The internal DIF emulation was not honoring se_cmd->prot_checks for the WRPROTECT/RDPROTECT == 0x3 case, so sbc_dif_v1_verify() has been updated to follow which checks have been calculated based on WRPROTECT/RDPROTECT in sbc_set_prot_op_checks(). Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cceca4a638708c7f62e60f9f99684a8d57358dd0 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Apr 14 11:55:01 2015 -0700 target/sbc: Return INVALID_CDB_FIELD if DIF + sess_prot_type disabled In sbc_check_prot(), if PROTECT is non-zero for a backend device with DIF disabled, and sess_prot_type is not set go ahead and return INVALID_CDB_FIELD. Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit bffb5128f91e820fd8804307a6431607c2c840a4 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Apr 14 11:52:22 2015 -0700 target: Ensure sess_prot_type is saved across session restart The following incremental patch saves the current sess_prot_type into se_node_acl, and will always reset sess_prot_type if a previous saved value exists. So the PI setting for the fabric's session with backend devices not supporting PI is persistent across session restart. (Fix se_node_acl dereference for discovery sessions - DanCarpenter) Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 34c9a0ffc75ad25b6a60f61e27c4a4b1189b8085 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 16 11:07:13 2015 +0800 crypto: fix broken crypto_register_instance() module handling Commit 9c521a200bc3 ("crypto: api - remove instance when test failed") tried to grab a module reference count before the module was even set. Worse, it then goes on to free the module reference count after it is set so you quickly end up with a negative module reference count which prevents people from using any instances belonging to that module. This patch moves the module initialisation before the reference count. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1527781d228cd88af6c2f78c13a9cb43b3f69f30 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Apr 16 12:33:51 2015 +0930 cpumask: resurrect CPU_MASK_CPU0 We removed it in 2f0f267ea072 (cpumask: remove deprecated functions.), but grep shows it still used by MIPS, and not unreasonably. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit eea3a00264cf243a28e4331566ce67b86059339d Merge: e7c8241 e693d73 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:39:15 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge second patchbomb from Andrew Morton: - the rest of MM - various misc bits - add ability to run /sbin/reboot at reboot time - printk/vsprintf changes - fiddle with seq_printf() return value * akpm: (114 commits) parisc: remove use of seq_printf return value lru_cache: remove use of seq_printf return value tracing: remove use of seq_printf return value cgroup: remove use of seq_printf return value proc: remove use of seq_printf return value s390: remove use of seq_printf return value cris fasttimer: remove use of seq_printf return value cris: remove use of seq_printf return value openrisc: remove use of seq_printf return value ARM: plat-pxa: remove use of seq_printf return value nios2: cpuinfo: remove use of seq_printf return value microblaze: mb: remove use of seq_printf return value ipc: remove use of seq_printf return value rtc: remove use of seq_printf return value power: wakeup: remove use of seq_printf return value x86: mtrr: if: remove use of seq_printf return value linux/bitmap.h: improve BITMAP_{LAST,FIRST}_WORD_MASK MAINTAINERS: CREDITS: remove Stefano Brivio from B43 .mailmap: add Ricardo Ribalda CREDITS: add Ricardo Ribalda Delgado ... commit e693d73c20ffdb06840c9378f367bad849ac0d5d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:28 2015 -0700 parisc: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d50f8f8d91a7dcb6110c4600072c62fc44b65572 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:25 2015 -0700 lru_cache: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 962e3707d9fb16bcf66ec5e5ebcea5248b9c2ab3 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:22 2015 -0700 tracing: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Miscellanea: o Remove unused return value from trace_lookup_stack Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 94ff212d096d96afea29e41585b0d8ce41087c0f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:20 2015 -0700 cgroup: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25ce319167b517a913a2ba9fc80da8330dbc3249 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:17 2015 -0700 proc: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c2f0b61d8969adf0dfb11aea7b700740fde6420b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:14 2015 -0700 s390: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Cc: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dc640a8813c0015e5a620d41e47df94c9879749d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:11 2015 -0700 cris fasttimer: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Miscellanea: o Coalesce formats, realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1336d4221dee528b5a0e92d2b1322790c4df1b53 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:08 2015 -0700 cris: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58a1aa7c83f4ee73d96efd50c4c16ebbeb64622e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:05 2015 -0700 openrisc: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd2b2937c6ae7f8d562d7e08e06da70e778d0323 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:02 2015 -0700 ARM: plat-pxa: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, (as it is here, it doesn't return # of chars emitted) will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4122669e5266a2af8a84a499cf7821786ed7d2cf Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:18:00 2015 -0700 nios2: cpuinfo: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Ley Foon Tan <lftan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81f0cd97aaf20b0df97ec888d90aa46f5279282b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:57 2015 -0700 microblaze: mb: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Michal Simek <monstr@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f032d6ef6154868a2a5d5f6b2c3f8587292196c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:54 2015 -0700 ipc: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4395eb1f16cc55406fe3de4546134fc61253a06b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:51 2015 -0700 rtc: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f6a240e8b08d3fa711c2b615e7ea901cf59e590 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:48 2015 -0700 power: wakeup: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ac62bc0602794dc36aad77a7ef5772e989b2e22 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:45 2015 -0700 x86: mtrr: if: remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> 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 89c1e79eb302349fcaf0697bc9116a4ff16bfeb0 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:42 2015 -0700 linux/bitmap.h: improve BITMAP_{LAST,FIRST}_WORD_MASK The macro BITMAP_LAST_WORD_MASK can be implemented without a conditional, which will generally lead to slightly better generated code (221 bytes saved for allmodconfig-GCOV_KERNEL, ~2k with GCOV_KERNEL). As a small bonus, this also ensures that the nbits parameter is expanded exactly once. In BITMAP_FIRST_WORD_MASK, if start is signed gcc is technically allowed to assume it is positive (or divisible by BITS_PER_LONG), and hence just do the simple mask. It doesn't seem to use this, and even on an architecture like x86 where the shift only depends on the lower 5 or 6 bits, and these bits are not affected by the signedness of the expression, gcc still generates code to compute the C99 mandated value of start % BITS_PER_LONG. So just use a mask explicitly, also for consistency with BITMAP_LAST_WORD_MASK. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a72ed6fa7e89c5ecd68803cd1160c35b079ea3b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:39 2015 -0700 MAINTAINERS: CREDITS: remove Stefano Brivio from B43 This email address isn't working anymore Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01c7e5a50cc16174b7ccfdbcf32e9bb136f277ba Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Apr 15 16:17:37 2015 -0700 .mailmap: add Ricardo Ribalda Work and Home computer had different settings in the mail client. Some contributions appear as Ricardo Ribalda, others as Ricardo Ribalda Delgado (and one as just Ricardo). Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ca7bf8756a0426e642446ae35df31a29a1b1108 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Apr 15 16:17:34 2015 -0700 CREDITS: add Ricardo Ribalda Delgado Add personal details to CREDITS file. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 49e7d9df9046590ab25788cb2a0cbcf071942e0d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 15 16:17:31 2015 -0700 MAINTAINERS: Use tabs consistently Consistently use a single tab after the "specifier:" type. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 41416f2330112d29f2cfa337bfc7e672bf0c2768 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:28 2015 -0700 lib/string_helpers.c: change semantics of string_escape_mem The current semantics of string_escape_mem are inadequate for one of its current users, vsnprintf(). If that is to honour its contract, it must know how much space would be needed for the entire escaped buffer, and string_escape_mem provides no way of obtaining that (short of allocating a large enough buffer (~4 times input string) to let it play with, and that's definitely a big no-no inside vsnprintf). So change the semantics for string_escape_mem to be more snprintf-like: Return the size of the output that would be generated if the destination buffer was big enough, but of course still only write to the part of dst it is allowed to, and (contrary to snprintf) don't do '\0'-termination. It is then up to the caller to detect whether output was truncated and to append a '\0' if desired. Also, we must output partial escape sequences, otherwise a call such as snprintf(buf, 3, "%1pE", "\123") would cause printf to write a \0 to buf[2] but leaving buf[0] and buf[1] with whatever they previously contained. This also fixes a bug in the escaped_string() helper function, which used to unconditionally pass a length of "end-buf" to string_escape_mem(); since the latter doesn't check osz for being insanely large, it would happily write to dst. For example, kasprintf(GFP_KERNEL, "something and then %pE", ...); is an easy way to trigger an oops. In test-string_helpers.c, the -ENOMEM test is replaced with testing for getting the expected return value even if the buffer is too small. We also ensure that nothing is written (by relying on a NULL pointer deref) if the output size is 0 by passing NULL - this has to work for kasprintf("%pE") to work. In net/sunrpc/cache.c, I think qword_add still has the same semantics. Someone should definitely double-check this. In fs/proc/array.c, I made the minimum possible change, but longer-term it should stop poking around in seq_file internals. [andriy.shevchenko@xxxxxxxxxxxxxxx: simplify qword_add] [andriy.shevchenko@xxxxxxxxxxxxxxx: add missed curly braces] Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3aeddc7d665e41b1ba193f5c427ca52086d085ae Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:25 2015 -0700 lib/string_helpers.c: refactor string_escape_mem When printf is given the format specifier %pE, it needs a way of obtaining the total output size that would be generated if the buffer was large enough, and string_escape_mem doesn't easily provide that. This is a refactorization of string_escape_mem in preparation of changing its external API to provide that information. The somewhat ugly early returns and subsequent seemingly redundant conditionals are to make the following patch touch as little as possible in string_helpers.c while still preserving the current behaviour of never outputting partial escape sequences. That behaviour must also change for %pE to work as one expects from every other printf specifier. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c98f2359600386efd1c6adfabc5a04118a79798 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:23 2015 -0700 lib/vsprintf.c: fix potential NULL deref in hex_string The helper hex_string() is broken in two ways. First, it doesn't increment buf regardless of whether there is room to print, so callers such as kasprintf() that try to probe the correct storage to allocate will get a too small return value. But even worse, kasprintf() (and likely anyone else trying to find the size of the result) pass NULL for buf and 0 for size, so we also have end == NULL. But this means that the end-1 in hex_string() is (char*)-1, so buf < end-1 is true and we get a NULL pointer deref. I double-checked this with a trivial kernel module that just did a kasprintf(GFP_KERNEL, "%14ph", "CrashBoomBang"). Nobody seems to be using %ph with kasprintf, but we might as well fix it before it hits someone. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 900cca2944254edd2d54dc181629314d3177a4af Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Apr 15 16:17:20 2015 -0700 lib/vsprintf: add %pC{,n,r} format specifiers for clocks Add format specifiers for printing struct clk: - '%pC' or '%pCn': name (Common Clock Framework) or address (legacy clock framework) of the clock, - '%pCr': rate of the clock. [akpm@xxxxxxxxxxxxxxxxxxxx: omit code if !CONFIG_HAVE_CLK] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e8a7ba5f5c8c0c94c0c7f1bcd53c0289560c7446 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Apr 15 16:17:17 2015 -0700 lib/vsprintf: Move integer format types to the top Move the format types for 64-bit integers and configurable size integers to the top, so they're next to the other integer format types. While at it, add the missing format types for s32 and u32. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7330660ed2e8d8d4c65b90cea62d8f1ed49c0104 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Apr 15 16:17:14 2015 -0700 lib/vsprintf: document %p parameters passed by reference This patch series improves the documentation for printk() formats, and adds support for printing clocks. The latter has always been a hassle if you wanted to support both the common and legacy clock frameworks. - '%pC' and '%pCn' print the name (Common Clock Framework) or address (legacy clock framework) of a clock, - '%pCr' prints the current clock rate. This patch (of 3): Make sure all %p extensions that take parameters by references are documented to do so. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d1c1b12137fff14363d0cf45c8b7a9ec5cd4578b Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:11 2015 -0700 lib/vsprintf.c: another small hack Making ZEROPAD == '0'-' ', we can eliminate a few more instructions. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ea8d440a86b85c63c2bb7f73988626e682db5f0 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:08 2015 -0700 lib/vsprintf.c: eliminate duplicate hex string array gcc doesn't merge or overlap const char[] objects with identical contents (probably language lawyers would also insist that these things have different addresses), but there's no reason to have the string "0123456789ABCDEF" occur in multiple places. hex_asc_upper is declared in kernel.h and defined in lib/hexdump.c, which is unconditionally compiled in. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e26c12c777118d65aeb97eb1651338e7decae80e Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:05 2015 -0700 lib/vsprintf.c: reduce stack use in number() At least since the initial git commit, when base was passed as a separate parameter, number() has only been called with bases 8, 10 and 16. I'm guessing that 66 was to accommodate 64 0/1, a sign and a '\0', but the buffer is only used for the actual digits. Octal digits carry 3 bits of information, so 24 is enough. Spell that 3*sizeof(num) so one less place needs to be changed should long long ever be 128 bits. Also remove the commented-out code that would handle an arbitrary base. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 51be17dfff753e72872f096ce1e654734f2fec50 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:17:02 2015 -0700 lib/vsprintf.c: eliminate some branches Since FORMAT_TYPE_INT is simply 1 more than FORMAT_TYPE_UINT, and similarly for BYTE/UBYTE, SHORT/USHORT, LONG/ULONG, we can eliminate a few instructions by making SIGN have the value 1 instead of 2, and then use arithmetic instead of branches for computing the right spec->type. It's a little hacky, but certainly in the same spirit as SMALL needing to have the value 0x20. For example for the spec->qualifier == 'l' case, gcc now generates 75e: 0f b6 53 01 movzbl 0x1(%rbx),%edx 762: 83 e2 01 and $0x1,%edx 765: 83 c2 09 add $0x9,%edx 768: 88 13 mov %dl,(%rbx) instead of 763: 0f b6 53 01 movzbl 0x1(%rbx),%edx 767: 83 e2 02 and $0x2,%edx 76a: 80 fa 01 cmp $0x1,%dl 76d: 19 d2 sbb %edx,%edx 76f: 83 c2 0a add $0xa,%edx 772: 88 13 mov %dl,(%rbx) Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7b1460eccad0621e0c48f52bbedeb7adddc55ac9 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Wed Apr 15 16:16:59 2015 -0700 printk: comment pr_cont() stating it is only to continue a line KERN_CONT is nicely commented in kern_levels.h, but pr_cont() is now used more often, and it lacks the comment stating what it is used for. It can be confused as continuing the log level, but that is not its purpose. Its purpose is to continue a line that had no newline enclosed. This should be documented by pr_cont() as well. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e243304d0a51f5b27a0606c4e5c2ebba6854d20f Author: Joel Stanley <joel@xxxxxxxxx> Date: Wed Apr 15 16:16:56 2015 -0700 powerpc/powernv: reboot when requested by firmware Use orderly_reboot so userspace will to shut itself down via the reboot path. This is required for graceful reboot initiated by the BMC, such as when a user uses ipmitool to issue a 'chassis power cycle' command. Signed-off-by: Joel Stanley <joel@xxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jeremy Kerr <jk@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7a54f46b301cfab8a0d7365aa186545f8b98f22e Author: Joel Stanley <joel@xxxxxxxxx> Date: Wed Apr 15 16:16:53 2015 -0700 kernel/reboot.c: add orderly_reboot for graceful reboot The kernel has orderly_poweroff which allows the kernel to initiate a graceful shutdown of userspace, by running /sbin/poweroff. This adds orderly_reboot that will cause userspace to shut itself down by calling /sbin/reboot. This will be used for shutdown initiated by a system controller on platforms that do not use ACPI. orderly_reboot() should be used when the system wants to allow userspace to gracefully shut itself down. For cases where the system may imminently catch on fire, the existing emergency_restart() provides an immediate reboot without involving userspace. Signed-off-by: Joel Stanley <joel@xxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jeremy Kerr <jk@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7975a9b7323d5a47e5b651bac810f3271e7156df Author: Joel Stanley <joel@xxxxxxxxx> Date: Wed Apr 15 16:16:50 2015 -0700 drivers/sbus/char/envctrl.c: ignore orderly_poweroff return value orderly_poweroff() unconditionally returns 0, so remove the dead code that checks the return value. A future patch will change the return type to void. Signed-off-by: Joel Stanley <joel@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 972fae6993cbbb934345011664dc703c0891dda3 Author: Aaron Tomlin <atomlin@xxxxxxxxxx> Date: Wed Apr 15 16:16:47 2015 -0700 kernel/hung_task.c: change hung_task.c to use for_each_process_thread() In check_hung_uninterruptible_tasks() avoid the use of deprecated while_each_thread(). The "max_count" logic will prevent a livelock - see commit 0c740d0a ("introduce for_each_thread() to replace the buggy while_each_thread()"). Having said this let's use for_each_process_thread(). Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Dave Wysochanski <dwysocha@xxxxxxxxxx> Cc: Aaron Tomlin <atomlin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 96831c0a6738f88f89e7012f4df0a747514af0a0 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Apr 15 16:16:44 2015 -0700 kernel/resource.c: remove deprecated __check_region() and friends All users of __check_region(), check_region(), and check_mem_region() are gone. We got rid of the last user in v4.0-rc1. Remove them. bloat-o-meter on x86_64 shows: add/remove: 0/3 grow/shrink: 0/0 up/down: 0/-102 (-102) function old new delta __kstrtab___check_region 15 - -15 __ksymtab___check_region 16 - -16 __check_region 71 - -71 Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2813893f8b197a14f1e1ddb04d99bce46817c84a Author: Iulia Manda <iulia.manda21@xxxxxxxxx> Date: Wed Apr 15 16:16:41 2015 -0700 kernel: conditionally support non-root users, groups and capabilities There are a lot of embedded systems that run most or all of their functionality in init, running as root:root. For these systems, supporting multiple users is not necessary. This patch adds a new symbol, CONFIG_MULTIUSER, that makes support for non-root users, non-root groups, and capabilities optional. It is enabled under CONFIG_EXPERT menu. When this symbol is not defined, UID and GID are zero in any possible case and processes always have all capabilities. The following syscalls are compiled out: setuid, setregid, setgid, setreuid, setresuid, getresuid, setresgid, getresgid, setgroups, getgroups, setfsuid, setfsgid, capget, capset. Also, groups.c is compiled out completely. In kernel/capability.c, capable function was moved in order to avoid adding two ifdef blocks. This change saves about 25 KB on a defconfig build. The most minimal kernels have total text sizes in the high hundreds of kB rather than low MB. (The 25k goes down a bit with allnoconfig, but not that much. The kernel was booted in Qemu. All the common functionalities work. Adding users/groups is not possible, failing with -ENOSYS. Bloat-o-meter output: add/remove: 7/87 grow/shrink: 19/397 up/down: 1675/-26325 (-24650) [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Iulia Manda <iulia.manda21@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Tested-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c79574abe2baddf569532e7e430e4977771dd25c Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:16:39 2015 -0700 lib/test-hexdump.c: fix initconst confusion const char *...[] is not const, but an array of pointer to const. So these arrays cannot be __initconst, but must be __initdata This fixes section conflicts with LTO. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 946e87981942552e526aca9cb6204f02a6c847cb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Apr 15 16:16:36 2015 -0700 paride: fix the "verbose" module param The verbose module parameter can be set to 2 for extremely verbose messages so the type should be int instead of bool. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Tim Waugh <tim@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 23f40a94d860449f39f00c3350bf850d15983e63 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:16:33 2015 -0700 include/linux: remove empty conditionals Commit 607ca46e97a1 ("UAPI: (Scripted) Disintegrate include/linux") left behind some empty conditional blocks. Since they are useless and may cause a reader to wonder whether something is missing, remove them. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e4bc33245124db69b74a6d853ac76c2976f472d5 Author: Chen Hanxiao <chenhanxiao@xxxxxxxxxxxxxx> Date: Wed Apr 15 16:16:30 2015 -0700 /proc/PID/status: show all sets of pid according to ns If some issues occurred inside a container guest, host user could not know which process is in trouble just by guest pid: the users of container guest only knew the pid inside containers. This will bring obstacle for trouble shooting. This patch adds four fields: NStgid, NSpid, NSpgid and NSsid: a) In init_pid_ns, nothing changed; b) In one pidns, will tell the pid inside containers: NStgid: 21776 5 1 NSpid: 21776 5 1 NSpgid: 21776 5 1 NSsid: 21729 1 0 ** Process id is 21776 in level 0, 5 in level 1, 1 in level 2. c) If pidns is nested, it depends on which pidns are you in. NStgid: 5 1 NSpid: 5 1 NSpgid: 5 1 NSsid: 1 0 ** Views from level 1 [akpm@xxxxxxxxxxxxxxxxxxxx: add CONFIG_PID_NS ifdef] Signed-off-by: Chen Hanxiao <chenhanxiao@xxxxxxxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Tested-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Tested-by: Nathan Scott <nathans@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 201c7b72f0bf38d7f31fd229a01de035d0f10cd1 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Apr 15 16:16:27 2015 -0700 zram: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Acked-by: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 160a117f0864871ae1bab26554a985a1d2861afd Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:24 2015 -0700 zsmalloc: remove extra cond_resched() in __zs_compact Do not perform cond_resched() before the busy compaction loop in __zs_compact(), because this loop does it when needed. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81da9b13f73653bf5f38c63af8029fc459198ac0 Author: Heesub Shin <heesub.shin@xxxxxxxxxxx> Date: Wed Apr 15 16:16:21 2015 -0700 zsmalloc: fix fatal corruption due to wrong size class selection There is no point in overriding the size class below. It causes fatal corruption on the next chunk on the 3264-bytes size class, which is the last size class that is not huge. For example, if the requested size was exactly 3264 bytes, current zsmalloc allocates and returns a chunk from the size class of 3264 bytes, not 4096. User access to this chunk may overwrite head of the next adjacent chunk. Here is the panic log captured when freelist was corrupted due to this: Kernel BUG at ffffffc00030659c [verbose debug info unavailable] Internal error: Oops - BUG: 96000006 [#1] PREEMPT SMP Modules linked in: exynos-snapshot: core register saved(CPU:5) CPUMERRSR: 0000000000000000, L2MERRSR: 0000000000000000 exynos-snapshot: context saved(CPU:5) exynos-snapshot: item - log_kevents is disabled CPU: 5 PID: 898 Comm: kswapd0 Not tainted 3.10.61-4497415-eng #1 task: ffffffc0b8783d80 ti: ffffffc0b71e8000 task.ti: ffffffc0b71e8000 PC is at obj_idx_to_offset+0x0/0x1c LR is at obj_malloc+0x44/0xe8 pc : [<ffffffc00030659c>] lr : [<ffffffc000306604>] pstate: a0000045 sp : ffffffc0b71eb790 x29: ffffffc0b71eb790 x28: ffffffc00204c000 x27: 000000000001d96f x26: 0000000000000000 x25: ffffffc098cc3500 x24: ffffffc0a13f2810 x23: ffffffc098cc3501 x22: ffffffc0a13f2800 x21: 000011e1a02006e3 x20: ffffffc0a13f2800 x19: ffffffbc02a7e000 x18: 0000000000000000 x17: 0000000000000000 x16: 0000000000000feb x15: 0000000000000000 x14: 00000000a01003e3 x13: 0000000000000020 x12: fffffffffffffff0 x11: ffffffc08b264000 x10: 00000000e3a01004 x9 : ffffffc08b263fea x8 : ffffffc0b1e611c0 x7 : ffffffc000307d24 x6 : 0000000000000000 x5 : 0000000000000038 x4 : 000000000000011e x3 : ffffffbc00003e90 x2 : 0000000000000cc0 x1 : 00000000d0100371 x0 : ffffffbc00003e90 Reported-by: Sooyong Suk <s.suk@xxxxxxxxxxx> Signed-off-by: Heesub Shin <heesub.shin@xxxxxxxxxxx> Tested-by: Sooyong Suk <s.suk@xxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 839373e645d12613308d9148041c4bd967bce8d5 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:16:18 2015 -0700 zsmalloc: remove unnecessary insertion/removal of zspage in compaction In putback_zspage, we don't need to insert a zspage into list of zspage in size_class again to just fix fullness group. We could do directly without reinsertion so we could save some instuctions. Reported-by: Heesub Shin <heesub.shin@xxxxxxxxxxx> Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Ganesh Mahendran <opensource.ganesh@xxxxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 495819ead5ad02174208994ca610852a7791a2f2 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:15 2015 -0700 zsmalloc: micro-optimize zs_object_copy() A micro-optimization. Avoid additional branching and reduce (a bit) registry pressure (f.e. s_off += size; d_off += size; may be calculated twise: first for >= PAGE_SIZE check and later for offset update in "else" clause). scripts/bloat-o-meter shows some improvement add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-10 (-10) function old new delta zs_object_copy 550 540 -10 Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1ec7cfb13acb8047ae5baafb43d2cd6b64ac85b9 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:12 2015 -0700 zsmalloc: remove synchronize_rcu from zs_compact() Do not synchronize rcu in zs_compact(). Neither zsmalloc not zram use rcu. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f7d282c717acaae25245c61b6b60e8995ec4ef4 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:09 2015 -0700 zram: deprecate zram attrs sysfs nodes Add Documentation/ABI/obsolete/sysfs-block-zram file and list obsolete and deprecated attributes there. The patch also adds additional information to zram documentation and describes the basic strategy: - the existing RW nodes will be downgraded to WO nodes (in 4.11) - deprecated RO sysfs nodes will eventually be removed (in 4.11) Users will be additionally notified about deprecated attr usage by pr_warn_once() (added to every deprecated attr _show()), as suggested by Minchan Kim. User space is advised to use zram<id>/stat, zram<id>/io_stat and zram<id>/mm_stat files. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Reported-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4f2109f60881585dc04fa0b5657a60556576625c Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:06 2015 -0700 zram: export new 'mm_stat' sysfs attrs Per-device `zram<id>/mm_stat' file provides mm statistics of a particular zram device in a format similar to block layer statistics. The file consists of a single line and represents the following stats (separated by whitespace): orig_data_size compr_data_size mem_used_total mem_limit mem_used_max zero_pages num_migrated Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2f6a3bed7347ee94fe57b3501fddaa646a26d890 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:03 2015 -0700 zram: export new 'io_stat' sysfs attrs Per-device `zram<id>/io_stat' file provides accumulated I/O statistics of particular zram device in a format similar to block layer statistics. The file consists of a single line and represents the following stats (separated by whitespace): failed_reads failed_writes invalid_io notify_free Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 77ba015f9d5c584226a634753e9b318cb272cd41 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:16:00 2015 -0700 zram: describe device attrs in documentation Briefly describe exported device stat attrs in zram documentation. We will eventually get rid of per-stat sysfs nodes and, thus, clean up Documentation/ABI/testing/sysfs-block-zram file, which is the only source of information about device sysfs nodes. Add `num_migrated' description, since there is no independent `num_migrated' sysfs node (and no corresponding sysfs-block-zram entry), it will be exported via zram<id>/mm_stat file. At this point we can provide minimal description, because sysfs-block-zram still contains detailed information. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8811a9421b325b06a2456ae1b8fe23e838cbfe33 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:15:57 2015 -0700 zram: use generic start/end io accounting Use bio generic_start_io_acct() and generic_end_io_acct() to account device's block layer statistics. This will let users to monitor zram activities using sysstat and similar packages/tools. Apart from the usual per-stat sysfs attr, zram IO stats are now also available in '/sys/block/zram<id>/stat' and '/proc/diskstats' files. We will slowly get rid of per-stat sysfs files. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c72c6160d967ed26a0b136dbab337f821d233509 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:15:55 2015 -0700 zram: move compact_store() to sysfs functions area A cosmetic change. We have a new code layout and keep zram per-device sysfs store and show functions in one place. Move compact_store() to that handlers block to conform to current layout. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 10447b60bee52f026bdbc5fe2aca52d0492fc91d Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Wed Apr 15 16:15:52 2015 -0700 zram: remove `num_migrated' device attr This patch introduces rework to zram stats. We have per-stat sysfs nodes, and it makes things a bit hard to use in user space: it doesn't give an immediate stats 'snapshot', it requires user space to use more syscalls - open, read, close for every stat file, with appropriate error checks on every step, etc. First, zram now accounts block layer statistics, available in /sys/block/zram<id>/stat and /proc/diskstats files. So some new stats are available (see Documentation/block/stat.txt), besides, zram's activities now can be monitored by sysstat's iostat or similar tools. Example: cat /sys/block/zram0/stat 248 0 1984 0 251029 0 2008232 5120 0 5116 5116 Second, group currently exported on per-stat basis nodes into two categories (files): -- zram<id>/io_stat accumulates device's IO stats, that are not accounted by block layer, and contains: failed_reads failed_writes invalid_io notify_free Example: cat /sys/block/zram0/io_stat 0 0 0 652572 -- zram<id>/mm_stat accumulates zram mm stats and contains: orig_data_size compr_data_size mem_used_total mem_limit mem_used_max zero_pages num_migrated Example: cat /sys/block/zram0/mm_stat 434634752 270288572 279158784 0 579895296 15060 0 per-stat sysfs nodes are now considered to be deprecated and we plan to remove them (and clean up some of the existing stat code) in two years (as of now, there is no warning printed to syslog about deprecated stats being used). User space is advised to use the above mentioned 3 files. This patch (of 7): Remove sysfs `num_migrated' attribute. We are moving away from per-stat device attrs towards 3 stat files that will accumulate io and mm stats in a format similar to block layer statistics in /sys/block/<dev>/stat. That will be easier to use in user space, and reduce the number of syscalls needed to read zram device statistics. `num_migrated' will return back in zram<id>/mm_stat file. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 888fa374e625f3ee8f3cc2efebf52939d3bb6da1 Author: Yinghao Xie <yinghao.xie@xxxxxxxxxxx> Date: Wed Apr 15 16:15:49 2015 -0700 mm/zsmalloc.c: fix comment for get_pages_per_zspage Signed-off-by: Yinghao Xie <yinghao.xie@xxxxxxxxxxx> Suggested-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d02be50dba649b4246e0c1c4b7cb5d8a8d49de9a Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:46 2015 -0700 zsmalloc: zsmalloc documentation Create zsmalloc doc which explains design concept and stat information. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 248ca1b053c82fa22427d22b33ac51a24c88a86d Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:42 2015 -0700 zsmalloc: add fullness into stat During investigating compaction, fullness information of each class is helpful for investigating how the compaction works well. With that, we could know how compaction works well more clear on each size class. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7b60a68529b0d827d26ea3426c2addd071bff789 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:39 2015 -0700 zsmalloc: record handle in page->private for huge object We store handle on header of each allocated object so it increases the size of each object by sizeof(unsigned long). If zram stores 4096 bytes to zsmalloc(ie, bad compression), zsmalloc needs 4104B-class to add handle. However, 4104B-class has 1-pages_per_zspage so wasted size by internal fragment is 8192 - 4104, which is terrible. So this patch records the handle in page->private on such huge object(ie, pages_per_zspage == 1 && maxobj_per_zspage == 1) instead of header of each object so we could use 4096B-class, not 4104B-class. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e3ba87845420e0bfa21e6c4f7f81897aed38f8c Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:36 2015 -0700 zram: support compaction Now that zsmalloc supports compaction, zram can use it. For the first step, this patch exports compact knob via sysfs so user can do compaction via "echo 1 > /sys/block/zram0/compact". Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d3d07c92ff69f784bb8c3279fa87678bfa2f7f6f Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:33 2015 -0700 zsmalloc: adjust ZS_ALMOST_FULL Curretly, zsmalloc regards a zspage as ZS_ALMOST_EMPTY if the zspage has under 1/4 used objects(ie, fullness_threshold_frac). It could make result in loose packing since zsmalloc migrates only ZS_ALMOST_EMPTY zspage out. This patch changes the rule so that zsmalloc makes zspage which has above 3/4 used object ZS_ALMOST_FULL so it could make tight packing. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 312fcae227037619dc858c9ccd362c7b847730a2 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:30 2015 -0700 zsmalloc: support compaction This patch provides core functions for migration of zsmalloc. Migraion policy is simple as follows. for each size class { while { src_page = get zs_page from ZS_ALMOST_EMPTY if (!src_page) break; dst_page = get zs_page from ZS_ALMOST_FULL if (!dst_page) dst_page = get zs_page from ZS_ALMOST_EMPTY if (!dst_page) break; migrate(from src_page, to dst_page); } } For migration, we need to identify which objects in zspage are allocated to migrate them out. We could know it by iterating of freed objects in a zspage because first_page of zspage keeps free objects singly-linked list but it's not efficient. Instead, this patch adds a tag(ie, OBJ_ALLOCATED_TAG) in header of each object(ie, handle) so we could check whether the object is allocated easily. This patch adds another status bit in handle to synchronize between user access through zs_map_object and migration. During migration, we cannot move objects user are using due to data coherency between old object and new object. [akpm@xxxxxxxxxxxxxxxxxxxx: zsmalloc.c needs sched.h for cond_resched()] Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c78062612fb525430b775a0bef4d3cc07e512da0 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:26 2015 -0700 zsmalloc: factor out obj_[malloc|free] In later patch, migration needs some part of functions in zs_malloc and zs_free so this patch factor out them. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2e40e163a25af3bd35d128d3e2e005916de5cce6 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:15:23 2015 -0700 zsmalloc: decouple handle and object Recently, we started to use zram heavily and some of issues popped. 1) external fragmentation I got a report from Juneho Choi that fork failed although there are plenty of free pages in the system. His investigation revealed zram is one of the culprit to make heavy fragmentation so there was no more contiguous 16K page for pgd to fork in the ARM. 2) non-movable pages Other problem of zram now is that inherently, user want to use zram as swap in small memory system so they use zRAM with CMA to use memory efficiently. However, unfortunately, it doesn't work well because zRAM cannot use CMA's movable pages unless it doesn't support compaction. I got several reports about that OOM happened with zram although there are lots of swap space and free space in CMA area. 3) internal fragmentation zRAM has started support memory limitation feature to limit memory usage and I sent a patchset(https://lkml.org/lkml/2014/9/21/148) for VM to be harmonized with zram-swap to stop anonymous page reclaim if zram consumed memory up to the limit although there are free space on the swap. One problem for that direction is zram has no way to know any hole in memory space zsmalloc allocated by internal fragmentation so zram would regard swap is full although there are free space in zsmalloc. For solving the issue, zram want to trigger compaction of zsmalloc before it decides full or not. This patchset is first step to support above issues. For that, it adds indirect layer between handle and object location and supports manual compaction to solve 3th problem first of all. After this patchset got merged, next step is to make VM aware of zsmalloc compaction so that generic compaction will move zsmalloced-pages automatically in runtime. In my imaginary experiment(ie, high compress ratio data with heavy swap in/out on 8G zram-swap), data is as follows, Before = zram allocated object : 60212066 bytes zram total used: 140103680 bytes ratio: 42.98 percent MemFree: 840192 kB Compaction After = frag ratio after compaction zram allocated object : 60212066 bytes zram total used: 76185600 bytes ratio: 79.03 percent MemFree: 901932 kB Juneho reported below in his real platform with small aging. So, I think the benefit would be bigger in real aging system for a long time. - frag_ratio increased 3% (ie, higher is better) - memfree increased about 6MB - In buddy info, Normal 2^3: 4, 2^2: 1: 2^1 increased, Highmem: 2^1 21 increased frag ratio after swap fragment used : 156677 kbytes total: 166092 kbytes frag_ratio : 94 meminfo before compaction MemFree: 83724 kB Node 0, zone Normal 13642 1364 57 10 61 17 9 5 4 0 0 Node 0, zone HighMem 425 29 1 0 0 0 0 0 0 0 0 num_migrated : 23630 compaction done frag ratio after compaction used : 156673 kbytes total: 160564 kbytes frag_ratio : 97 meminfo after compaction MemFree: 89060 kB Node 0, zone Normal 14076 1544 67 14 61 17 9 5 4 0 0 Node 0, zone HighMem 863 50 1 0 0 0 0 0 0 0 0 This patchset adds more logics(about 480 lines) in zsmalloc but when I tested heavy swapin/out program, the regression for swapin/out speed is marginal because most of overheads were caused by compress/decompress and other MM reclaim stuff. This patch (of 7): Currently, handle of zsmalloc encodes object's location directly so it makes support of migration hard. This patch decouples handle and object via adding indirect layer. For that, it allocates handle dynamically and returns it to user. The handle is the address allocated by slab allocation so it's unique and we could keep object's location in the memory space allocated for handle. With it, we can change object's position without changing handle itself. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Juneho Choi <juno.choi@xxxxxxx> Cc: Gunho Lee <gunho.lee@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 018e9a49a554d915ba945a5faf34c592d65fe575 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:15:20 2015 -0700 mm/compaction.c: fix "suitable_migration_target() unused" warning mm/compaction.c:250:13: warning: 'suitable_migration_target' defined but not used [-Wunused-function] Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit be64f884bed729b5d127db6a737155a4e514d286 Author: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Date: Wed Apr 15 16:15:17 2015 -0700 dax: unify ext2/4_{dax,}_file_operations The original dax patchset split the ext2/4_file_operations because of the two NULL splice_read/splice_write in the dax case. In the vfs if splice_read/splice_write are NULL we then call default_splice_read/write. What we do here is make generic_file_splice_read aware of IS_DAX() so the original ext2/4_file_operations can be used as is. For write it appears that iter_file_splice_write is just fine. It uses the regular f_op->write(file,..) or new_sync_write(file, ...). Signed-off-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Cc: Dave Chinner <dchinner@xxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0e3b210ce1722168227cb3bc7746256d0c0afece Author: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Date: Wed Apr 15 16:15:14 2015 -0700 dax: use pfn_mkwrite to update c/mtime + freeze protection From: Yigal Korman <yigal@xxxxxxxxxxxxx> [v1] Without this patch, c/mtime is not updated correctly when mmap'ed page is first read from and then written to. A new xfstest is submitted for testing this (generic/080) [v2] Jan Kara has pointed out that if we add the sb_start/end_pagefault pair in the new pfn_mkwrite we are then fixing another bug where: A user could start writing to the page while filesystem is frozen. Signed-off-by: Yigal Korman <yigal@xxxxxxxxxxxxx> Signed-off-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd9061846a3ba01b0fa45423aaa087e4a69187fa Author: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Date: Wed Apr 15 16:15:11 2015 -0700 mm: new pfn_mkwrite same as page_mkwrite for VM_PFNMAP This will allow FS that uses VM_PFNMAP | VM_MIXEDMAP (no page structs) to get notified when access is a write to a read-only PFN. This can happen if we mmap() a file then first mmap-read from it to page-in a read-only PFN, than we mmap-write to the same page. We need this functionality to fix a DAX bug, where in the scenario above we fail to set ctime/mtime though we modified the file. An xfstest is attached to this patchset that shows the failure and the fix. (A DAX patch will follow) This functionality is extra important for us, because upon dirtying of a pmem page we also want to RDMA the page to a remote cluster node. We define a new pfn_mkwrite and do not reuse page_mkwrite because 1 - The name ;-) 2 - But mainly because it would take a very long and tedious audit of all page_mkwrite functions of VM_MIXEDMAP/VM_PFNMAP users. To make sure they do not now CRASH. For example current DAX code (which this is for) would crash. If we would want to reuse page_mkwrite, We will need to first patch all users, so to not-crash-on-no-page. Then enable this patch. But even if I did that I would not sleep so well at night. Adding a new vector is the safest thing to do, and is not that expensive. an extra pointer at a static function vector per driver. Also the new vector is better for performance, because else we Will call all current Kernel vectors, so to: check-ha-no-page-do-nothing and return. No need to call it from do_shared_fault because do_wp_page is called to change pte permissions anyway. Signed-off-by: Yigal Korman <yigal@xxxxxxxxxxxxx> Signed-off-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2682582a6ea118d974c33da64923ae8c687fdd0b Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Wed Apr 15 16:15:08 2015 -0700 mm/memory: also print a_ops->readpage in print_bad_pte() A lot of filesystems use generic_file_mmap() and filemap_fault(), f_op->mmap and vm_ops->fault aren't enough to identify filesystem. This prints file name, vm_ops->fault, f_op->mmap and a_ops->readpage (which is almost always implemented and filesystem-specific). Example: [ 23.676410] BUG: Bad page map in process sh pte:1b7e6025 pmd:19bbd067 [ 23.676887] page:ffffea00006df980 count:4 mapcount:1 mapping:ffff8800196426c0 index:0x97 [ 23.677481] flags: 0x10000000000000c(referenced|uptodate) [ 23.677896] page dumped because: bad pte [ 23.678205] addr:00007f52fcb17000 vm_flags:00000075 anon_vma: (null) mapping:ffff8800196426c0 index:97 [ 23.678922] file:libc-2.19.so fault:filemap_fault mmap:generic_file_readonly_mmap readpage:v9fs_vfs_readpage [akpm@xxxxxxxxxxxxxxxxxxxx: use pr_alert, per Kirill] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 923936157b158f36bd6a3d86496dce82b1a957de Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Wed Apr 15 16:15:05 2015 -0700 mm/mempool.c: kasan: poison mempool elements Mempools keep allocated objects in reserved for situations when ordinary allocation may not be possible to satisfy. These objects shouldn't be accessed before they leave the pool. This patch poison elements when get into the pool and unpoison when they leave it. This will let KASan to detect use-after-free of mempool's elements. Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Tested-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Dmitry Chernenkov <drcheren@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bda6d33042a486c8f7b15bf15a80fd07d4eab204 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:15:02 2015 -0700 mm/cma_debug.c: remove blank lines before DEFINE_SIMPLE_ATTRIBUTE() Like EXPORT_SYMBOL(): the positioning communicates that the macro pertains to the immediately preceding function. Cc: Dmitry Safonov <d.safonov@xxxxxxxxxxxxxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Stefan Strogin <stefan.strogin@xxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Pintu Kumar <pintu.k@xxxxxxxxxxx> Cc: Weijie Yang <weijie.yang@xxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Vyacheslav Tyrtov <v.tyrtov@xxxxxxxxxxx> Cc: Aleksei Mateosian <a.mateosian@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2e32b947606daa642a28bfb9b57e9702cfc9a8b3 Author: Dmitry Safonov <d.safonov@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:59 2015 -0700 mm: cma: add functions to get region pages counters Here are two functions that provide interface to compute/get used size and size of biggest free chunk in cma region. Add that information to debugfs. [akpm@xxxxxxxxxxxxxxxxxxxx: move debug code from cma.c into cma_debug.c] [stefan.strogin@xxxxxxxxx: move code from cma_get_used() and cma_get_maxchunk() to cma_used_get() and cma_maxchunk_get()] Signed-off-by: Dmitry Safonov <d.safonov@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Strogin <stefan.strogin@xxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Pintu Kumar <pintu.k@xxxxxxxxxxx> Cc: Weijie Yang <weijie.yang@xxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Vyacheslav Tyrtov <v.tyrtov@xxxxxxxxxxx> Cc: Aleksei Mateosian <a.mateosian@xxxxxxxxxxx> Signed-off-by: Stefan Strogin <stefan.strogin@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 79553da293d38d63097278de13e28a3b371f43c1 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:56 2015 -0700 thp: cleanup khugepaged startup Few trivial cleanups: - no need to call set_recommended_min_free_kbytes() from late_initcall() -- start_khugepaged() calls it; - no need to call set_recommended_min_free_kbytes() from start_khugepaged() if khugepaged is not started; - there isn't much point in running start_khugepaged() if we've just set transparent_hugepage_flags to zero; - start_khugepaged() is misnamed -- it also used to stop the thread; Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e39155ea11eac6da056b04669d7c9fc612e2065a Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:53 2015 -0700 mm: uninline and cleanup page-mapping related helpers Most-used page->mapping helper -- page_mapping() -- has already uninlined. Let's uninline also page_rmapping() and page_anon_vma(). It saves us depending on configuration around 400 bytes in text: text data bss dec hex filename 660318 99254 410000 1169572 11d8a4 mm/built-in.o-before 659854 99254 410000 1169108 11d6d4 mm/built-in.o I also tried to make code a bit more clean. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 99e8ea6cd2210cf2271f922384b483cd83f0f8f3 Author: Stefan Strogin <s.strogin@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:50 2015 -0700 mm: cma: add trace events for CMA allocations and freeings Add trace events for cma_alloc() and cma_release(). The cma_alloc tracepoint is used both for successful and failed allocations, in case of allocation failure pfn=-1UL is stored and printed. Signed-off-by: Stefan Strogin <stefan.strogin@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mpn@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdd7875e0c4db5c41e28b645d3bf7d41bd2cbb45 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Apr 15 16:14:47 2015 -0700 include/linux/mm.h: simplify flag check Flip the flag test so that it is the simplest. No functional change, just a small readability improvement: No code changed: # arch/x86/kernel/sys_x86_64.o: text data bss dec hex filename 1551 24 0 1575 627 sys_x86_64.o.before 1551 24 0 1575 627 sys_x86_64.o.after md5: 70708d1b1ad35cc891118a69dc1a63f9 sys_x86_64.o.before.asm 70708d1b1ad35cc891118a69dc1a63f9 sys_x86_64.o.after.asm Signed-off-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6a4055bc72a516bae3f607eda3e243d18e66bd49 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Wed Apr 15 16:14:44 2015 -0700 mm/memblock.c: add debug output for memblock_add() memblock_reserve() calls memblock_reserve_region() which prints debugging information if 'memblock=debug' was passed on the command line. This patch adds the same behaviour, but for memblock_add function(). [akpm@xxxxxxxxxxxxxxxxxxxx: s/memblock_memory/memblock_add/ in message] Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7e1f049efb86bd86c06b80eeac0ef80cdeb8c0e7 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:14:41 2015 -0700 mm: hugetlb: cleanup using paeg_huge_active() Now we have an easy access to hugepages' activeness, so existing helpers to get the information can be cleaned up. [akpm@xxxxxxxxxxxxxxxxxxxx: s/PageHugeActive/page_huge_active/] Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bcc54222309c70ebcb6c69c156fba4a13dee0a3b Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:14:38 2015 -0700 mm: hugetlb: introduce page_huge_active We are not safe from calling isolate_huge_page() on a hugepage concurrently, which can make the victim hugepage in invalid state and results in BUG_ON(). The root problem of this is that we don't have any information on struct page (so easily accessible) about hugepages' activeness. Note that hugepages' activeness means just being linked to hstate->hugepage_activelist, which is not the same as normal pages' activeness represented by PageActive flag. Normal pages are isolated by isolate_lru_page() which prechecks PageLRU before isolation, so let's do similarly for hugetlb with a new paeg_huge_active(). set/clear_page_huge_active() should be called within hugetlb_lock. But hugetlb_cow() and hugetlb_no_page() don't do this, being justified because in these functions set_page_huge_active() is called right after the hugepage is allocated and no other thread tries to isolate it. [akpm@xxxxxxxxxxxxxxxxxxxx: s/PageHugeActive/page_huge_active/, make it return bool] [fengguang.wu@xxxxxxxxx: set_page_huge_active() can be static] Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 822fc61367f062d36c5b5a4d517e9bd2b65a741f Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:14:35 2015 -0700 mm: don't call __page_cache_release for hugetlb __put_compound_page() calls __page_cache_release() to do some freeing work, but it's obviously for thps, not for hugetlb. We don't care because PageLRU is always cleared and page->mem_cgroup is always NULL for hugetlb. But it's not correct and has potential risks, so let's make it conditional. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9fcd145717e6496d0c376acb1a5cc551a716c305 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:32 2015 -0700 mm/mmap.c: use while instead of if+goto The creators of the C language gave us the while keyword. Let's use that instead of synthesizing it from if+goto. Made possible by 6597d783397a ("mm/mmap.c: replace find_vma_prepare() with clearer find_vma_links()"). [akpm@xxxxxxxxxxxxxxxxxxxx: fix 80-col overflows] Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 215ba78115f82ad5f8faedac98cc42e572733b8a Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Apr 15 16:14:29 2015 -0700 mm, selftests: test return value of munmap for MAP_HUGETLB memory When MAP_HUGETLB memory is unmapped, the length must be hugepage aligned, otherwise it fails with -EINVAL. All tests currently behave correctly, but it's better to explcitly test the return value for completeness and document the requirement, especially if users copy map_hugetlb.c as a sample implementation. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Davide Libenzi <davidel@xxxxxxxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Jianguo Wu <wujianguo@xxxxxxxxxx> Cc: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80d6b94bd69a7a49b52bf503ef6a841f43cf5bbb Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Apr 15 16:14:26 2015 -0700 mm, doc: cleanup and clarify munmap behavior for hugetlb memory munmap(2) of hugetlb memory requires a length that is hugepage aligned, otherwise it may fail. Add this to the documentation. This also cleans up the documentation and separates it into logical units: one part refers to MAP_HUGETLB and another part refers to requirements for shared memory segments. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Davide Libenzi <davidel@xxxxxxxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Jianguo Wu <wujianguo@xxxxxxxxxx> Cc: Eric B Munson <emunson@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ae7efa507dee4813ec4bcdadebeec191e247d0c9 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:23 2015 -0700 thp: do not adjust zone water marks if khugepaged is not started set_recommended_min_free_kbytes() adjusts zone water marks to be suitable for khugepaged. We avoid doing this if khugepaged is disabled, but don't catch the case when khugepaged is failed to start. Let's address this by checking khugepaged_thread instead of khugepaged_enabled() in set_recommended_min_free_kbytes(). It's NULL if the kernel thread is stopped or failed to start. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 65ebb64f4d2ce8eba4d0ec82d6cf65022e70e4a1 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:14:20 2015 -0700 thp: handle errors in hugepage_init() properly We miss error-handling in few cases hugepage_init(). Let's fix that. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bdfedb76f4f5aa5e37380e3b71adee4a39f30fc6 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Apr 15 16:14:17 2015 -0700 mm, mempool: poison elements backed by slab allocator Mempools keep elements in a reserved pool for contexts in which allocation may not be possible. When an element is allocated from the reserved pool, its memory contents is the same as when it was added to the reserved pool. Because of this, elements lack any free poisoning to detect use-after-free errors. This patch adds free poisoning for elements backed by the slab allocator. This is possible because the mempool layer knows the object size of each element. When an element is added to the reserved pool, it is poisoned with POISON_FREE. When it is removed from the reserved pool, the contents are checked for POISON_FREE. If there is a mismatch, a warning is emitted to the kernel log. This is only effective for configs with CONFIG_DEBUG_SLAB or CONFIG_SLUB_DEBUG_ON. [fabio.estevam@xxxxxxxxxxxxx: use '%zu' for printing 'size_t' variable] [arnd@xxxxxxxx: add missing include] Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Dave Kleikamp <shaggy@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e244c9e66f6197f55f6fbb2d5e70714e262cc595 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Apr 15 16:14:14 2015 -0700 mm, mempool: disallow mempools based on slab caches with constructors All occurrences of mempools based on slab caches with object constructors have been removed from the tree, so disallow creating them. We can only dereference mem->ctor in mm/mempool.c without including mm/slab.h in include/linux/mempool.h. So simply note the restriction, just like the comment restricting usage of __GFP_ZERO, and warn on kernels with CONFIG_DEBUG_VM() if such a mempool is allocated from. We don't want to incur this check on every element allocation, so use VM_BUG_ON(). Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Dave Kleikamp <shaggy@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ee1462458cb543bbcfd379176bbba0d4bd052b7f Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Apr 15 16:14:11 2015 -0700 fs, jfs: remove slab object constructor Mempools based on slab caches with object constructors are risky because element allocation can happen either from the slab cache itself, meaning the constructor is properly called before returning, or from the mempool reserve pool, meaning the constructor is not called before returning, depending on the allocation context. For this reason, we should disallow creating mempools based on slab caches that have object constructors. Callers of mempool_alloc() will be responsible for properly initializing the returned element. Then, it doesn't matter if the element came from the slab cache or the mempool reserved pool. The only occurrence of a mempool being based on a slab cache with an object constructor in the tree is in fs/jfs/jfs_metapage.c. Remove it and properly initialize the element in alloc_metapage(). At the same time, META_free is never used, so remove it as well. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4db0c3c2983cc6b7a08a33542af5e14de8a9258c Author: Jason Low <jason.low2@xxxxxx> Date: Wed Apr 15 16:14:08 2015 -0700 mm: remove rest of ACCESS_ONCE() usages We converted some of the usages of ACCESS_ONCE to READ_ONCE in the mm/ tree since it doesn't work reliably on non-scalar types. This patch removes the rest of the usages of ACCESS_ONCE, and use the new READ_ONCE API for the read accesses. This makes things cleaner, instead of using separate/multiple sets of APIs. Signed-off-by: Jason Low <jason.low2@xxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9d8c47e4bb1c20dbceee437f9fa7d76dafee80a2 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Apr 15 16:14:05 2015 -0700 mm: use READ_ONCE() for non-scalar types Commit 38c5ce936a08 ("mm/gup: Replace ACCESS_ONCE with READ_ONCE") converted ACCESS_ONCE usage in gup_pmd_range() to READ_ONCE, since ACCESS_ONCE doesn't work reliably on non-scalar types. This patch also fixes the other ACCESS_ONCE usages in gup_pte_range() and __get_user_pages_fast() in mm/gup.c Signed-off-by: Jason Low <jason.low2@xxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6cd576130b7152d8f225bab9d21a3f6f96c84b47 Author: Derek <denc716@xxxxxxxxx> Date: Wed Apr 15 16:14:02 2015 -0700 mm/mremap.c: clean up goto just return ERR_PTR As suggested by Kirill the "goto"s in vma_to_resize aren't necessary, just change them to explicit return. Signed-off-by: Derek Che <crquan@xxxxxxxxx> Suggested-by: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 12215182c80c06ab3c69969abba6e4a834493cd8 Author: Derek <denc716@xxxxxxxxx> Date: Wed Apr 15 16:13:58 2015 -0700 mremap should return -ENOMEM when __vm_enough_memory fail Recently I straced bash behavior in this dd zero pipe to read test, in part of testing under vm.overcommit_memory=2 (OVERCOMMIT_NEVER mode): # dd if=/dev/zero | read x The bash sub shell is calling mremap to reallocate more and more memory untill it finally failed -ENOMEM (I expect), or to be killed by system OOM killer (which should not happen under OVERCOMMIT_NEVER mode); But the mremap system call actually failed of -EFAULT, which is a surprise to me, I think it's supposed to be -ENOMEM? then I wrote this piece of C code testing confirmed it: https://gist.github.com/crquan/326bde37e1ddda8effe5 $ ./remap allocated one page @0x7f686bf71000, (PAGE_SIZE: 4096) grabbed 7680512000 bytes of memory (1875125 pages) @ 00007f6690993000. mremap failed Bad address (14). The -EFAULT comes from the branch of security_vm_enough_memory_mm failure, underlyingly it calls __vm_enough_memory which returns only 0 for success or -ENOMEM; So why vma_to_resize needs to return -EFAULT in this case? this sounds like a mistake to me. Some more digging into git history: 1) Before commit 119f657c7 ("RLIMIT_AS checking fix") in May 1 2005 (pre 2.6.12 days) it was returning -ENOMEM for this failure; 2) but commit 119f657c7 ("untangling do_mremap(), part 1") changed it accidentally, to what ever is preserved in local ret, which happened to be -EFAULT, in a previous assignment; 3) then in commit 54f5de709 code refactoring, it's explicitly returning -EFAULT, should be wrong. Signed-off-by: Derek Che <crquan@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d61bfe8fddecad76eb37cc477aab369c5c81ed3 Author: Roman Pen <r.peniaev@xxxxxxxxx> Date: Wed Apr 15 16:13:55 2015 -0700 mm/vmalloc: get rid of dirty bitmap inside vmap_block structure In original implementation of vm_map_ram made by Nick Piggin there were two bitmaps: alloc_map and dirty_map. None of them were used as supposed to be: finding a suitable free hole for next allocation in block. vm_map_ram allocates space sequentially in block and on free call marks pages as dirty, so freed space can't be reused anymore. Actually it would be very interesting to know the real meaning of those bitmaps, maybe implementation was incomplete, etc. But long time ago Zhang Yanfei removed alloc_map by these two commits: mm/vmalloc.c: remove dead code in vb_alloc 3fcd76e8028e0be37b02a2002b4f56755daeda06 mm/vmalloc.c: remove alloc_map from vmap_block b8e748b6c32999f221ea4786557b8e7e6c4e4e7a In this patch I replaced dirty_map with two range variables: dirty min and max. These variables store minimum and maximum position of dirty space in a block, since we need only to know the dirty range, not exact position of dirty pages. Why it was made? Several reasons: at first glance it seems that vm_map_ram allocator concerns about fragmentation thus it uses bitmaps for finding free hole, but it is not true. To avoid complexity seems it is better to use something simple, like min or max range values. Secondly, code also becomes simpler, without iteration over bitmap, just comparing values in min and max macros. Thirdly, bitmap occupies up to 1024 bits (4MB is a max size of a block). Here I replaced the whole bitmap with two longs. Finally vm_unmap_aliases should be slightly faster and the whole vmap_block structure occupies less memory. Signed-off-by: Roman Pen <r.peniaev@xxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Gioh Kim <gioh.kim@xxxxxxx> Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cf725ce274ba026e132c225cb8e5b61973c63403 Author: Roman Pen <r.peniaev@xxxxxxxxx> Date: Wed Apr 15 16:13:52 2015 -0700 mm/vmalloc: occupy newly allocated vmap block just after allocation Previous implementation allocates new vmap block and repeats search of a free block from the very beginning, iterating over the CPU free list. Why it can be better?? 1. Allocation can happen on one CPU, but search can be done on another CPU. In worst case we preallocate amount of vmap blocks which is equal to CPU number on the system. 2. In previous patch I added newly allocated block to the tail of free list to avoid soon exhaustion of virtual space and give a chance to occupy blocks which were allocated long time ago. Thus to find newly allocated block all the search sequence should be repeated, seems it is not efficient. In this patch newly allocated block is occupied right away, address of virtual space is returned to the caller, so there is no any need to repeat the search sequence, allocation job is done. Signed-off-by: Roman Pen <r.peniaev@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Gioh Kim <gioh.kim@xxxxxxx> Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 68ac546f265ba36cd4f29c77b3841fb777315581 Author: Roman Pen <r.peniaev@xxxxxxxxx> Date: Wed Apr 15 16:13:48 2015 -0700 mm/vmalloc: fix possible exhaustion of vmalloc space caused by vm_map_ram allocator Recently I came across high fragmentation of vm_map_ram allocator: vmap_block has free space, but still new blocks continue to appear. Further investigation showed that certain mapping/unmapping sequences can exhaust vmalloc space. On small 32bit systems that's not a big problem, cause purging will be called soon on a first allocation failure (alloc_vmap_area), but on 64bit machines, e.g. x86_64 has 45 bits of vmalloc space, that can be a disaster. 1) I came up with a simple allocation sequence, which exhausts virtual space very quickly: while (iters) { /* Map/unmap big chunk */ vaddr = vm_map_ram(pages, 16, -1, PAGE_KERNEL); vm_unmap_ram(vaddr, 16); /* Map/unmap small chunks. * * -1 for hole, which should be left at the end of each block * to keep it partially used, with some free space available */ for (i = 0; i < (VMAP_BBMAP_BITS - 16) / 8 - 1; i++) { vaddr = vm_map_ram(pages, 8, -1, PAGE_KERNEL); vm_unmap_ram(vaddr, 8); } } The idea behind is simple: 1. We have to map a big chunk, e.g. 16 pages. 2. Then we have to occupy the remaining space with smaller chunks, i.e. 8 pages. At the end small hole should remain to keep block in free list, but do not let big chunk to occupy remaining space. 3. Goto 1 - allocation request of 16 pages can't be completed (only 8 slots are left free in the block in the #2 step), new block will be allocated, all further requests will lay into newly allocated block. To have some measurement numbers for all further tests I setup ftrace and enabled 4 basic calls in a function profile: echo vm_map_ram > /sys/kernel/debug/tracing/set_ftrace_filter; echo alloc_vmap_area >> /sys/kernel/debug/tracing/set_ftrace_filter; echo vm_unmap_ram >> /sys/kernel/debug/tracing/set_ftrace_filter; echo free_vmap_block >> /sys/kernel/debug/tracing/set_ftrace_filter; So for this scenario I got these results: BEFORE (all new blocks are put to the head of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 126000 30683.30 us 0.243 us 30819.36 us vm_unmap_ram 126000 22003.24 us 0.174 us 340.886 us alloc_vmap_area 1000 4132.065 us 4.132 us 0.903 us AFTER (all new blocks are put to the tail of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 126000 28713.13 us 0.227 us 24944.70 us vm_unmap_ram 126000 20403.96 us 0.161 us 1429.872 us alloc_vmap_area 993 3916.795 us 3.944 us 29.370 us free_vmap_block 992 654.157 us 0.659 us 1.273 us SUMMARY: The most interesting numbers in those tables are numbers of block allocations and deallocations: alloc_vmap_area and free_vmap_block calls, which show that before the change blocks were not freed, and virtual space and physical memory (vmap_block structure allocations, etc) were consumed. Average time which were spent in vm_map_ram/vm_unmap_ram became slightly better. That can be explained with a reasonable amount of blocks in a free list, which we need to iterate to find a suitable free block. 2) Another scenario is a random allocation: while (iters) { /* Randomly take number from a range [1..32/64] */ nr = rand(1, VMAP_MAX_ALLOC); vaddr = vm_map_ram(pages, nr, -1, PAGE_KERNEL); vm_unmap_ram(vaddr, nr); } I chose mersenne twister PRNG to generate persistent random state to guarantee that both runs have the same random sequence. For each vm_map_ram call random number from [1..32/64] was taken to represent amount of pages which I do map. I did 10'000 vm_map_ram calls and got these two tables: BEFORE (all new blocks are put to the head of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 10000 10170.01 us 1.017 us 993.609 us vm_unmap_ram 10000 5321.823 us 0.532 us 59.789 us alloc_vmap_area 420 2150.239 us 5.119 us 3.307 us free_vmap_block 37 159.587 us 4.313 us 134.344 us AFTER (all new blocks are put to the tail of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 10000 7745.637 us 0.774 us 395.229 us vm_unmap_ram 10000 5460.573 us 0.546 us 67.187 us alloc_vmap_area 414 2201.650 us 5.317 us 5.591 us free_vmap_block 412 574.421 us 1.394 us 15.138 us SUMMARY: 'BEFORE' table shows, that 420 blocks were allocated and only 37 were freed. Remained 383 blocks are still in a free list, consuming virtual space and physical memory. 'AFTER' table shows, that 414 blocks were allocated and 412 were really freed. 2 blocks remained in a free list. So fragmentation was dramatically reduced. Why? Because when we put newly allocated block to the head, all further requests will occupy new block, regardless remained space in other blocks. In this scenario all requests come randomly. Eventually remained free space will be less than requested size, free list will be iterated and it is possible that nothing will be found there - finally new block will be created. So exhaustion in random scenario happens for the maximum possible allocation size: 32 pages for 32-bit system and 64 pages for 64-bit system. Also average cost of vm_map_ram was reduced from 1.017 us to 0.774 us. Again this can be explained by iteration through smaller list of free blocks. 3) Next simple scenario is a sequential allocation, when the allocation order is increased for each block. This scenario forces allocator to reach maximum amount of partially free blocks in a free list: while (iters) { /* Populate free list with blocks with remaining space */ for (order = 0; order <= ilog2(VMAP_MAX_ALLOC); order++) { nr = VMAP_BBMAP_BITS / (1 << order); /* Leave a hole */ nr -= 1; for (i = 0; i < nr; i++) { vaddr = vm_map_ram(pages, (1 << order), -1, PAGE_KERNEL); vm_unmap_ram(vaddr, (1 << order)); } /* Completely occupy blocks from a free list */ for (order = 0; order <= ilog2(VMAP_MAX_ALLOC); order++) { vaddr = vm_map_ram(pages, (1 << order), -1, PAGE_KERNEL); vm_unmap_ram(vaddr, (1 << order)); } } Results which I got: BEFORE (all new blocks are put to the head of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 2032000 399545.2 us 0.196 us 467123.7 us vm_unmap_ram 2032000 363225.7 us 0.178 us 111405.9 us alloc_vmap_area 7001 30627.76 us 4.374 us 495.755 us free_vmap_block 6993 7011.685 us 1.002 us 159.090 us AFTER (all new blocks are put to the tail of a free list) # cat /sys/kernel/debug/tracing/trace_stat/function0 Function Hit Time Avg s^2 -------- --- ---- --- --- vm_map_ram 2032000 394259.7 us 0.194 us 589395.9 us vm_unmap_ram 2032000 292500.7 us 0.143 us 94181.08 us alloc_vmap_area 7000 31103.11 us 4.443 us 703.225 us free_vmap_block 7000 6750.844 us 0.964 us 119.112 us SUMMARY: No surprises here, almost all numbers are the same. Fixing this fragmentation problem I also did some improvements in a allocation logic of a new vmap block: occupy block immediately and get rid of extra search in a free list. Also I replaced dirty bitmap with min/max dirty range values to make the logic simpler and slightly faster, since two longs comparison costs less, than loop thru bitmap. This patchset raises several questions: Q: Think the problem you comments is already known so that I wrote comments about it as "it could consume lots of address space through fragmentation". Could you tell me about your situation and reason why it should be avoided? Gioh Kim A: Indeed, there was a commit 364376383 which adds explicit comment about fragmentation. But fragmentation which is described in this comment caused by mixing of long-lived and short-lived objects, when a whole block is pinned in memory because some page slots are still in use. But here I am talking about blocks which are free, nobody uses them, and allocator keeps them alive forever, continuously allocating new blocks. Q: I think that if you put newly allocated block to the tail of a free list, below example would results in enormous performance degradation. new block: 1MB (256 pages) while (iters--) { vm_map_ram(3 or something else not dividable for 256) * 85 vm_unmap_ram(3) * 85 } On every iteration, it needs newly allocated block and it is put to the tail of a free list so finding it consumes large amount of time. Joonsoo Kim A: Second patch in current patchset gets rid of extra search in a free list, so new block will be immediately occupied.. Also, the scenario above is impossible, cause vm_map_ram allocates virtual range in orders, i.e. 2^n. I.e. passing 3 to vm_map_ram you will allocate 4 slots in a block and 256 slots (capacity of a block) of course dividable on 4, so block will be completely occupied. But there is a worst case which we can achieve: each free block has a hole equal to order size. The maximum size of allocation is 64 pages for 64-bit system (if you try to map more, original alloc_vmap_area will be called). So the maximum order is 6. That means that worst case, before allocator makes a decision to allocate a new block, is to iterate 7 blocks: HEAD 1st block - has 1 page slot free (order 0) 2nd block - has 2 page slots free (order 1) 3rd block - has 4 page slots free (order 2) 4th block - has 8 page slots free (order 3) 5th block - has 16 page slots free (order 4) 6th block - has 32 page slots free (order 5) 7th block - has 64 page slots free (order 6) TAIL So the worst scenario on 64-bit system is that each CPU queue can have 7 blocks in a free list. This can happen only and only if you allocate blocks increasing the order. (as I did in the function written in the comment of the first patch) This is weird and rare case, but still it is possible. Afterwards you will get 7 blocks in a list. All further requests should be placed in a newly allocated block or some free slots should be found in a free list. Seems it does not look dramatically awful. This patch (of 3): If suitable block can't be found, new block is allocated and put into a head of a free list, so on next iteration this new block will be found first. That's bad, because old blocks in a free list will not get a chance to be fully used, thus fragmentation will grow. Let's consider this simple example: #1 We have one block in a free list which is partially used, and where only one page is free: HEAD |xxxxxxxxx-| TAIL ^ free space for 1 page, order 0 #2 New allocation request of order 1 (2 pages) comes, new block is allocated since we do not have free space to complete this request. New block is put into a head of a free list: HEAD |----------|xxxxxxxxx-| TAIL #3 Two pages were occupied in a new found block: HEAD |xx--------|xxxxxxxxx-| TAIL ^ two pages mapped here #4 New allocation request of order 0 (1 page) comes. Block, which was created on #2 step, is located at the beginning of a free list, so it will be found first: HEAD |xxX-------|xxxxxxxxx-| TAIL ^ ^ page mapped here, but better to use this hole It is obvious, that it is better to complete request of #4 step using the old block, where free space is left, because in other case fragmentation will be highly increased. But fragmentation is not only the case. The worst thing is that I can easily create scenario, when the whole vmalloc space is exhausted by blocks, which are not used, but already dirty and have several free pages. Let's consider this function which execution should be pinned to one CPU: static void exhaust_virtual_space(struct page *pages[16], int iters) { /* Firstly we have to map a big chunk, e.g. 16 pages. * Then we have to occupy the remaining space with smaller * chunks, i.e. 8 pages. At the end small hole should remain. * So at the end of our allocation sequence block looks like * this: * XX big chunk * |XXxxxxxxx-| x small chunk * - hole, which is enough for a small chunk, * but is not enough for a big chunk */ while (iters--) { int i; void *vaddr; /* Map/unmap big chunk */ vaddr = vm_map_ram(pages, 16, -1, PAGE_KERNEL); vm_unmap_ram(vaddr, 16); /* Map/unmap small chunks. * * -1 for hole, which should be left at the end of each block * to keep it partially used, with some free space available */ for (i = 0; i < (VMAP_BBMAP_BITS - 16) / 8 - 1; i++) { vaddr = vm_map_ram(pages, 8, -1, PAGE_KERNEL); vm_unmap_ram(vaddr, 8); } } } On every iteration new block (1MB of vm area in my case) will be allocated and then will be occupied, without attempt to resolve small allocation request using previously allocated blocks in a free list. In case of random allocation (size should be randomly taken from the range [1..64] in 64-bit case or [1..32] in 32-bit case) situation is the same: new blocks continue to appear if maximum possible allocation size (32 or 64) passed to the allocator, because all remaining blocks in a free list do not have enough free space to complete this allocation request. In summary if new blocks are put into the head of a free list eventually virtual space will be exhausted. In current patch I simply put newly allocated block to the tail of a free list, thus reduce fragmentation, giving a chance to resolve allocation request using older blocks with possible holes left. Signed-off-by: Roman Pen <r.peniaev@xxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Gioh Kim <gioh.kim@xxxxxxx> Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8c9b97033547834404a58ea88da7226ed5167726 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Wed Apr 15 16:13:45 2015 -0700 hugetlbfs: document min_size mount option and cleanup Add min_size mount option to the hugetlbfs documentation. Also, add the missing pagesize option and mention that size can be specified as bytes or a percentage of huge page pool. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7ca02d0ae586fe7df59632966a64f3f1a756ef05 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Wed Apr 15 16:13:42 2015 -0700 hugetlbfs: accept subpool min_size mount option and setup accordingly Make 'min_size=<value>' be an option when mounting a hugetlbfs. This option takes the same value as the 'size' option. min_size can be specified without specifying size. If both are specified, min_size must be less that or equal to size else the mount will fail. If min_size is specified, then at mount time an attempt is made to reserve min_size pages. If the reservation fails, the mount fails. At umount time, the reserved pages are released. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c5ecae3a93fa1ab51a784d77e9c9ed54e67c65f Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Wed Apr 15 16:13:39 2015 -0700 hugetlbfs: add minimum size accounting to subpools The same routines that perform subpool maximum size accounting hugepage_subpool_get/put_pages() are modified to also perform minimum size accounting. When a delta value is passed to these routines, calculate how global reservations must be adjusted to maintain the subpool minimum size. The routines now return this global reserve count adjustment. This global reserve count adjustment is then passed to the global accounting routine hugetlb_acct_memory(). Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c6a918200c4f4ebf74b7e1ae4fea9115c7b297f8 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Wed Apr 15 16:13:36 2015 -0700 hugetlbfs: add minimum size tracking fields to subpool structure hugetlbfs allocates huge pages from the global pool as needed. Even if the global pool contains a sufficient number pages for the filesystem size at mount time, those global pages could be grabbed for some other use. As a result, filesystem huge page allocations may fail due to lack of pages. Applications such as a database want to use huge pages for performance reasons. hugetlbfs filesystem semantics with ownership and modes work well to manage access to a pool of huge pages. However, the application would like some reasonable assurance that allocations will not fail due to a lack of huge pages. At application startup time, the application would like to configure itself to use a specific number of huge pages. Before starting, the application can check to make sure that enough huge pages exist in the system global pools. However, there are no guarantees that those pages will be available when needed by the application. What the application wants is exclusive use of a subset of huge pages. Add a new hugetlbfs mount option 'min_size=<value>' to indicate that the specified number of pages will be available for use by the filesystem. At mount time, this number of huge pages will be reserved for exclusive use of the filesystem. If there is not a sufficient number of free pages, the mount will fail. As pages are allocated to and freeed from the filesystem, the number of reserved pages is adjusted so that the specified minimum is maintained. This patch (of 4): Add a field to the subpool structure to indicate the minimimum number of huge pages to always be used by this subpool. This minimum count includes allocated pages as well as reserved pages. If the minimum number of pages for the subpool have not been allocated, pages are reserved up to this minimum. An additional field (rsv_hpages) is used to track the number of pages reserved to meet this minimum size. The hstate pointer in the subpool is convenient to have when reserving and unreserving the pages. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 195b0c60809ce841e5818b365808e7da3286fd3c Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Wed Apr 15 16:13:33 2015 -0700 mm/compaction: reset compaction scanner positions When the compaction is activated via /proc/sys/vm/compact_memory it would better scan the whole zone. And some platforms, for instance ARM, have the start_pfn of a zone at zero. Therefore the first try to compact via /proc doesn't work. It needs to reset the compaction scanner position first. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3b3636924dfe1e80f9bef2c0dc1207e16f3b078a Author: Michal Hocko <mhocko@xxxxxxx> Date: Wed Apr 15 16:13:29 2015 -0700 mm, memcg: sync allocation and memcg charge gfp flags for THP memcg currently uses hardcoded GFP_TRANSHUGE gfp flags for all THP charges. THP allocations, however, might be using different flags depending on /sys/kernel/mm/transparent_hugepage/{,khugepaged/}defrag and the current allocation context. The primary difference is that defrag configured to "madvise" value will clear __GFP_WAIT flag from the core gfp mask to make the allocation lighter for all mappings which are not backed by VM_HUGEPAGE vmas. If memcg charge path ignores this fact we will get light allocation but the a potential memcg reclaim would kill the whole point of the configuration. Fix the mismatch by providing the same gfp mask used for the allocation to the charge functions. This is quite easy for all paths except for hugepaged kernel thread with !CONFIG_NUMA which is doing a pre-allocation long before the allocated page is used in collapse_huge_page via khugepaged_alloc_page. To prevent from cluttering the whole code path from khugepaged_do_scan we simply return the current flags as per khugepaged_defrag() value which might have changed since the preallocation. If somebody changed the value of the knob we would charge differently but this shouldn't happen often and it is definitely not critical because it would only lead to a reduced success rate of one-off THP promotion. [akpm@xxxxxxxxxxxxxxxxxxxx: fix weird code layout while we're there] [rientjes@xxxxxxxxxx: clean up around alloc_hugepage_gfpmask()] Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cc5993bd7b8cff4a3e37042ee1358d1d5eafa70c Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Wed Apr 15 16:13:26 2015 -0700 mm: rename deactivate_page to deactivate_file_page "deactivate_page" was created for file invalidation so it has too specific logic for file-backed pages. So, let's change the name of the function and date to a file-specific one and yield the generic name. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Shaohua Li <shli@xxxxxxxxxx> Cc: Wang, Yalin <Yalin.Wang@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 922c0551a795dccadeb1dadc756d93fe3e303180 Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Wed Apr 15 16:13:23 2015 -0700 Documentation/vm/unevictable-lru.txt: document interaction between compaction and the unevictable LRU The memory compaction code uses the migration code to do most of the work in compaction. However, the compaction code interacts with the unevictable LRU differently than migration code and this difference should be noted in the documentation. [akpm@xxxxxxxxxxxxxxxxxxxx: identify /proc/sys/vm/compact_unevictable directly] Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5bbe3547aa3ba5242366a322a28996872301b703 Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Wed Apr 15 16:13:20 2015 -0700 mm: allow compaction of unevictable pages Currently, pages which are marked as unevictable are protected from compaction, but not from other types of migration. The POSIX real time extension explicitly states that mlock() will prevent a major page fault, but the spirit of this is that mlock() should give a process the ability to control sources of latency, including minor page faults. However, the mlock manpage only explicitly says that a locked page will not be written to swap and this can cause some confusion. The compaction code today does not give a developer who wants to avoid swap but wants to have large contiguous areas available any method to achieve this state. This patch introduces a sysctl for controlling compaction behavior with respect to the unevictable lru. Users who demand no page faults after a page is present can set compact_unevictable_allowed to 0 and users who need the large contiguous areas can enable compaction on locked memory by leaving the default value of 1. To illustrate this problem I wrote a quick test program that mmaps a large number of 1MB files filled with random data. These maps are created locked and read only. Then every other mmap is unmapped and I attempt to allocate huge pages to the static huge page pool. When the compact_unevictable_allowed sysctl is 0, I cannot allocate hugepages after fragmenting memory. When the value is set to 1, allocations succeed. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a4bb3ecdc12a78dc4d0e690d40ec10887b640786 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:13:17 2015 -0700 mm/page-writeback: check-before-clear PageReclaim With the page flag sanitization patchset, an invalid usage of ClearPageReclaim() is detected in set_page_dirty(). This can be called from __unmap_hugepage_range(), so let's check PageReclaim() before trying to clear it to avoid the misuse. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b3b3a99c5371e2e96a2c680e6ac20218bddbd422 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:13:15 2015 -0700 mm/migrate: check-before-clear PageSwapCache With the page flag sanitization patchset, an invalid usage of ClearPageSwapCache() is detected in migration_page_copy(). migrate_page_copy() is shared by both normal and hugepage (both thp and hugetlb) code path, so let's check PageSwapCache() and clear it if it's set to avoid misuse of the invalid clear operation. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8d63d99a5dfbdb997d12dd3c07b2070ca723db3b Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:13:12 2015 -0700 mm: avoid tail page refcounting on non-THP compound pages THP uses tail page refcounting to be able to split huge pages at any time. Tail page refcounting is not needed for other users of compound pages and it's harmful because of overhead. We try to exclude non-THP pages from tail page refcounting using __compound_tail_refcounted() check. It excludes most common non-THP compound pages: SL*B and hugetlb, but it doesn't catch rest of __GFP_COMP users -- drivers. And it's not only about overhead. Drivers might want to use compound pages to get refcounting semantics suitable for mapping high-order pages to userspace. But tail page refcounting breaks it. Tail page refcounting uses ->_mapcount in tail pages to store GUP pins on them. It means GUP pins would affect page_mapcount() for tail pages. It's not a problem for THP, because it never maps tail pages. But unlike THP, drivers map parts of compound pages with PTEs and it makes page_mapcount() be called for tail pages. In particular, GUP pins would shift PSS up and affect /proc/kpagecount for such pages. But, I'm not aware about anything which can lead to crash or other serious misbehaviour. Since currently all THP pages are anonymous and all drivers pages are not, we can fix the __compound_tail_refcounted() check by requiring PageAnon() to enable tail page refcounting. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e8c6158fef15a1532bd5242a0cd88565eedabe61 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Apr 15 16:13:08 2015 -0700 mm: consolidate all page-flags helpers in <linux/page-flags.h> Currently we take a naive approach to page flags on compound pages - we set the flag on the page without consideration if the flag makes sense for tail page or for compound page in general. This patchset try to sort this out by defining per-flag policy on what need to be done if page-flag helper operate on compound page. The last patch in the patchset also sanitizes usege of page->mapping for tail pages. We don't define the meaning of page->mapping for tail pages. Currently it's always NULL, which can be inconsistent with head page and potentially lead to problems. For now I caught one case of illegal usage of page flags or ->mapping: sound subsystem allocates pages with __GFP_COMP and maps them with PTEs. It leads to setting dirty bit on tail pages and access to tail_page's ->mapping. I don't see any bad behaviour caused by this, but worth fixing anyway. This patchset makes more sense if you take my THP refcounting into account: we will see more compound pages mapped with PTEs and we need to define behaviour of flags on compound pages to avoid bugs. This patch (of 16): We have page-flags helper function declarations/definitions spread over several header files. Let's consolidate them in <linux/page-flags.h>. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Steve Capper <steve.capper@xxxxxxxxxx> Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 64d37a2baf5e5c0f1009c0ef290a9027de721d66 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Wed Apr 15 16:13:05 2015 -0700 mm/memory-failure.c: define page types for action_result() in one place This cleanup patch moves all strings passed to action_result() into a singl= e array action_page_type so that a reader can easily find which kind of actio= n results are possible. And this patch also fixes the odd lines to be printed out, like "unknown page state page" or "free buddy, 2nd try page". [akpm@xxxxxxxxxxxxxxxxxxxx: rename messages, per David] [akpm@xxxxxxxxxxxxxxxxxxxx: s/DIRTY_UNEVICTABLE_LRU/CLEAN_UNEVICTABLE_LRU', per Andi] Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: "Xie XiuQi" <xiexiuqi@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Chen Gong <gong.chen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2564f683d1a6cb76893199ce68e6484725621e49 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Apr 15 16:13:03 2015 -0700 memcg: remove obsolete comment Low and high watermarks, as they defined in the TODO to the mem_cgroup struct, have already been implemented by Johannes, so remove the stale comment. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit adbe427b92d18cf3f801e82e9cd664fbe31cea3c Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Apr 15 16:13:00 2015 -0700 memcg: zap mem_cgroup_lookup() mem_cgroup_lookup() is a wrapper around mem_cgroup_from_id(), which checks that id != 0 before issuing the function call. Today, there is no point in this additional check apart from optimization, because there is no css with id <= 0, so that css_from_id, called by mem_cgroup_from_id, will return NULL for any id <= 0. Since mem_cgroup_from_id is only called from mem_cgroup_lookup, let us zap mem_cgroup_lookup, substituting calls to it with mem_cgroup_from_id and moving the check if id > 0 to css_from_id. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d7e4a2ea51c1b0ac0b2d53f5ab4a2e878b1c4aec Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Date: Wed Apr 15 16:12:57 2015 -0700 mm: refactor zone_movable_is_highmem() All callers of zone_movable_is_highmem are under #ifdef CONFIG_HIGHMEM, so the else branch return 0 is not needed. Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bdddbcd45fd191a0213e6d2a032eb55d18bd1fc0 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Wed Apr 15 16:12:54 2015 -0700 mm/oom_kill.c: fix typo in comment Alter 'taks' -> 'task' Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2b91d8d385d2cef3a1e3b3846f2dde4a6720c43 Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Date: Wed Apr 15 16:12:51 2015 -0700 vfs: delete vfs_readdir function declaration vfs_readdir() was replaced by iterate_dir() in commit 5c0ba4e0762e ("[readdir] introduce iterate_dir() and dir_context"). Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9df47ba759e40ea2facd0601d4888abb37ed9658 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Mon Apr 13 21:48:06 2015 +0900 f2fs: change 0 to false for bool type in the f2fs_fill_super function, variable "retry" is bool type i think that it should be set as false. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit e7c82412433a8039616c7314533a0a1c025d99bf Merge: d0a3997 ccdc450 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 15:48:28 2015 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds Pull LED subsystem updates from Bryan Wu: "In this cycle, we merged some fix and update for LED Flash class driver. Then the core code of LED Flash class driver is in the kernel now. Moreover, we also got some bug fixes, code cleanup and new drivers for LED controllers" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: leds: Don't treat the LED name as a format string leds: Use log level warn instead of info when telling about a name clash leds/led-class: Handle LEDs with the same name leds: lp8860: Fix typo in MODULE_DESCRIPTION in leds-lp8860.c leds: lp8501: Fix typo in MODULE_DESCRIPTION in leds-lp8501.c DT: leds: Add uniqueness requirement for 'label' property. dt-binding: leds: Add common LED DT bindings macros leds: add Qualcomm PM8941 WLED driver leds: add DT binding for Qualcomm PM8941 WLED block leds: pca963x: Add missing initialiation of struct led_info.flags leds: flash: Fix the size of sysfs_groups array Documentation: leds: Add description of LED Flash class extension leds: flash: document sysfs interface leds: flash: Remove synchronized flash strobe feature leds: Introduce devres helper for led_classdev_register leds: lp8860: make use of devm_gpiod_get_optional leds: Let the binding document example for leds-gpio follow the gpio bindings leds: flash: remove stray include directive leds: leds-pwm: drop one pwm_get_period() call commit d0a3997c0c3f9351e24029349dee65dd1d9e8d84 Merge: 6d50ff9 d6eb9e3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 15:41:41 2015 -0700 Merge tag 'sound-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "There have been major modernization with the standard bus: in ALSA sequencer core and HD-audio. Also, HD-audio receives the regmap support replacing the in-house cache register cache code. These changes shouldn't impact the existing behavior, but rather refactoring. In addition, HD-audio got the code split to a core library part and the "legacy" driver parts. This is a preliminary work for adapting the upcoming ASoC HD-audio driver, and the whole transition is still work in progress, likely finished in 4.1. Along with them, there are many updates in ASoC area as usual, too: lots of cleanups, Intel code shuffling, etc. Here are some highlights: ALSA core: - PCM: the audio timestamp / wallclock enhancement - PCM: fixes in DPCM management - Fixes / cleanups of user-space control element management - Sequencer: modernization using the standard bus HD-audio: - Modernization using the standard bus - Regmap support - Use standard runtime PM for codec power saving - Widget-path based power-saving for IDT, VIA and Realtek codecs - Reorganized sysfs entries for each codec object - More Dell headset support ASoC: - Move of jack registration to the card level - Lots of ASoC cleanups, mainly moving things from the CODEC level to the card level - Support for DAPM routes specified by both the machine driver and DT - Continuing improvements to rcar - pcm512x enhacements - Intel platforms updates - rt5670 updates / fixes - New platforms / devices: some non-DSP Qualcomm platforms, Google's Storm platform, Maxmim MAX98925 CODECs and the Ingenic JZ4780 SoC Misc: - ice1724: Improved ESI W192M support - emu10k1: Emu 1010 fixes/enhancement" * tag 'sound-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (411 commits) ALSA: hda - set GET bit when adding a vendor verb to the codec regmap ALSA: hda/realtek - Enable the ALC292 dock fixup on the Thinkpad T450 ALSA: hda - Fix another race in runtime PM refcounting ALSA: hda - Expose codec type sysfs ALSA: ctl: fix to handle several elements added by one operation for userspace element ASoC: Intel: fix array_size.cocci warnings ASoC: n810: Automatically disconnect non-connected pins ASoC: n810: Consistently pass the card DAPM context to n810_ext_control() ASoC: davinci-evm: Use card DAPM context to access widgets ASoC: mop500_ab8500: Use card DAPM context to access widgets ASoC: wm1133-ev1: Use card DAPM context to access widgets ASoC: atmel: Improve machine driver compile test coverage ASoC: atmel: Add dependency to SND_SOC_I2C_AND_SPI where necessary ALSA: control: Fix a typo of SNDRV_CTL_ELEM_ACCESS_TLV_* with SNDRV_CTL_TLV_OP_* ALSA: usb-audio: Don't attempt to get Microsoft Lifecam Cinema sample rate ASoC: rnsd: fix build regression without CONFIG_OF ALSA: emu10k1: add toggles for E-mu 1010 optical ports ALSA: ctl: fill identical information to return value when adding userspace elements ALSA: ctl: fix a bug to return no identical information in info operation for userspace controls ALSA: ctl: confirm to return all identical information in 'activate' event ... commit aa219a0dd7774e2454a5687e7d38e947a131cdee Merge: 4a11248 37ef01a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 16 08:34:51 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-04-15' of git://anongit.freedesktop.org/drm-intel into drm-next Misc i915 fixes. * tag 'drm-intel-next-fixes-2015-04-15' of git://anongit.freedesktop.org/drm-intel: drm/i915: Dont enable CS_PARSER_ERROR interrupts at all drm/i915: Move drm_framebuffer_unreference out of struct_mutex for takeover drm/i915: Allocate connector state together with the connectors drm/i915/chv: Remove DPIO force latency causing interpair skew issue drm/i915: Don't cancel DRRS worker synchronously for flush/invalidate drm/i915: Fix locking in DRRS flush/invalidate hooks commit 4a11248856933f33ca061ed55470ea7e1783b40b Merge: 52139bd 2b1193d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 16 08:34:24 2015 +1000 Merge tag 'topic/drm-misc-2015-04-15' of git://anongit.freedesktop.org/drm-intel into drm-next One more drm-misch pull for 4.1 with mostly simple stuff and boring refactoring. Even the cursor fix from Matt is just to make a really anal igt happy. * tag 'topic/drm-misc-2015-04-15' of git://anongit.freedesktop.org/drm-intel: drm: fix trivial typo mistake drm: Make integer overflow checking cover universal cursor updates (v2) drm: make crtc/encoder/connector/plane helper_private a const pointer drm/armada: constify struct drm_encoder_helper_funcs pointer drm/radeon: constify more struct drm_*_helper funcs pointers drm/edid: add #defines for ELD versions drm/atomic: Add for_each_{connector,crtc,plane}_in_state helper macros drm: Use kref_put_mutex in drm_gem_object_unreference_unlocked drm/drm: constify all struct drm_*_helper funcs pointers drm/qxl: constify all struct drm_*_helper funcs pointers drm/nouveau: constify all struct drm_*_helper funcs pointers drm/radeon: constify all struct drm_*_helper funcs pointers drm/gma500: constify all struct drm_*_helper funcs pointers drm/mgag200: constify all struct drm_*_helper funcs pointers drm/exynos: constify all struct drm_*_helper funcs pointers drm: Fix some typos commit 52139bdea1558e854123d7a07e7648f5a8c77a5c Merge: fc16fc4 1dbee1a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 16 08:33:30 2015 +1000 Merge branch 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next This set of patches adjust the setup of the HDMI CTS/N values for audio support to be compliant with the work-around given in the iMX6 errata documentation as part of the preparation for integrating audio support for this driver, and also update the HDMI phy configuration for Rockchip devices to improve the HDMI eye pattern. * 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm: rockchip/dw_hdmi-rockchip: improve for HDMI electrical test drm: bridge/dw_hdmi: separate VLEVCTRL settting into platform driver drm: bridge/dw_hdmi: fixed codec style drm: bridge/dw_hdmi: adjust n/cts setting order drm: bridge/dw_hdmi: protect n/cts setting with a mutex drm: bridge/dw_hdmi: combine hdmi_set_clock_regenerator_n() and hdmi_regenerate_cts() Conflicts: drivers/gpu/drm/imx/dw_hdmi-imx.c commit fc16fc4d69d5f1b67d3d6ac97bd3b4e1cc3f74cc Merge: 665ae58 49ecb10 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 16 08:00:06 2015 +1000 Merge branch 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux into drm-next Some final bits for 4.1. Some fixes for userptrs and allow a new packet for VCE to enable some new features in mesa. * 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: allow creating overlapping userptrs drm/radeon: add userptr config option drm/radeon: add video usability info support for VCE commit 6b9107d6a10b69cc0a675447bde9383dff8a1d4f Merge: 074975d 2aea6dc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 15 17:29:00 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-04-14 This series contains updates to i40e and i40evf. Mitch provides a fix for i40e, where VFs were gone and the associated VSI's had been removed and the rings were not stopped, which in some circumstances cased memory corruption or DMAR errors. So stop all the rings associated with each VF before releasing its resources. Also cleaned up a poorly indented piece of code. Fixes VF link state, where VF devices were assuming link is up unless told otherwise, which means that VFs instantiated on a PF with no link, would report the wrong state. Anjali adds support to add Flow director Sideband rules for a VF from it's PF. Fixes a recently discovered hardware issue, where after a VFLR hardware might be indicating to us a reset completion little too early, so wait another 10 msec for cache to be cleaned up. Jesse enables the user to dump the internal hardware state for better debugging by allowing a bash script to acquire information about the internal hardware state. The data output to the kernel log is collected by the script and can then be sent to Intel. Also fixed a possible failure path to allocate memory that was found by smatch. Cleaned up unused local variables. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 074975d0374333f656c48487aa046a21a9b9d7a1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Apr 14 18:45:00 2015 -0700 bnx2x: Fix busy_poll vs netpoll Commit 9a2620c877454 ("bnx2x: prevent WARN during driver unload") switched the napi/busy_lock locking mechanism from spin_lock() into spin_lock_bh(), breaking inter-operability with netconsole, as netpoll disables interrupts prior to calling our napi mechanism. This switches the driver into using atomic assignments instead of the spinlock mechanisms previously employed. Based on initial patch from Yuval Mintz & Ariel Elior I basically added softirq starvation avoidance, and mixture of atomic operations, plain writes and barriers. Note this slightly reduces the overhead for this driver when no busy_poll sockets are in use. Fixes: 9a2620c877454 ("bnx2x: prevent WARN during driver unload") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d50ff91d9780263160262daeb6adfdda8ddbc6c Merge: eccd02f 0429c2b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 14:22:45 2015 -0700 Merge tag 'locks-v4.1-1' of git://git.samba.org/jlayton/linux Pull file locking related changes from Jeff Layton: "This set is mostly minor cleanups to the overhaul that went in last cycle. The other noticeable items are the changes to the lm_get_owner and lm_put_owner prototypes, and the fact that we no longer need to use the i_lock to protect the i_flctx pointer" * tag 'locks-v4.1-1' of git://git.samba.org/jlayton/linux: locks: use cmpxchg to assign i_flctx pointer locks: get rid of WE_CAN_BREAK_LSLK_NOW dead code locks: change lm_get_owner and lm_put_owner prototypes locks: don't allocate a lock context for an F_UNLCK request locks: Add lockdep assertion for blocked_lock_lock locks: remove extraneous IS_POSIX and IS_FLOCK tests locks: Remove unnecessary IS_POSIX test commit 48b63776c8255d5b0a84c5caafab5560d9cb7f3b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Apr 14 21:42:42 2015 +0200 net: hip04: Make tx coalesce timer actually work The code sets the expiry value of the timer to a relative value and starts it with hrtimer_start_expires. That's fine, but that only works once. The timer is started in relative mode, so the expiry value gets overwritten with the absolut expiry time (now + expiry). So once the timer expired, a new call to hrtimer_start_expires results in an immidiately expired timer, because the expiry value is already in the past. Use the proper mechanisms to (re)start the timer in the intended way. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: dingtianhong <dingtianhong@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Acked-by: Ding Tianhong <dingtianhong@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eccd02f32a2c25139da2d5e72ebab1fee7b5baab Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 14:09:46 2015 -0700 crypto: fix mis-merge with the networking merge The networking updates from David Miller removed the iocb argument from sendmsg and recvmsg (in commit 1b784140474e: "net: Remove iocb argument from sendmsg and recvmsg"), but the crypto code had added new instances of them. When I pulled the crypto update, it was a silent semantic mis-merge, and I overlooked the new warning messages in my test-build. I try to fix those in the merge itself, but that relies on me noticing. Oh well. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5fa0fa4b01cd9c52c4be0ff69ce0d922cd724812 Author: Brian Bian <brian.bian@xxxxxxxxx> Date: Tue Apr 14 10:53:35 2015 -0700 powercap / RAPL: Add support for Intel Skylake processors Signed-off-by: Brian Bian <brian.bian@xxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 64df1fdfccc054a4e5480c6bc965b67d3c83c3ae Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Apr 3 15:19:53 2015 +0200 cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning I keep seeing drivers/cpufreq/intel_pstate.c: In function â??intel_pstate_initâ??: drivers/cpufreq/intel_pstate.c:1187:26: warning: initialization from incompatible pointer type struct cpuinfo_x86 *c = &boot_cpu_data; when doing randconfig builds. This is caused by the fact that when !CONFIG_SMP, asm/processor.h defines cpu_info to boot_cpu_data and the local variable struct cpu_defaults *cpu_info overshadows it leading to this unfortunate assignment in the preprocessed source: struct cpu_defaults *boot_cpu_data; struct cpuinfo_x86 *c = &boot_cpu_data; Rename the local variable and use static_cpu_has_safe() which alleviates the need for defining a local cpuinfo_x86 pointer. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fa2e5c073a355465a2a8c9a2fbecf404f9857c3a Merge: e44740c 97b2f0d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 13:53:55 2015 -0700 Merge branch 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc Pull exec domain removal from Richard Weinberger: "This series removes execution domain support from Linux. The idea behind exec domains was to support different ABIs. The feature was never complete nor stable. Let's rip it out and make the kernel signal handling code less complicated" * 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc: (27 commits) arm64: Removed unused variable sparc: Fix execution domain removal Remove rest of exec domains. arch: Remove exec_domain from remaining archs arc: Remove signal translation and exec_domain xtensa: Remove signal translation and exec_domain xtensa: Autogenerate offsets in struct thread_info x86: Remove signal translation and exec_domain unicore32: Remove signal translation and exec_domain um: Remove signal translation and exec_domain tile: Remove signal translation and exec_domain sparc: Remove signal translation and exec_domain sh: Remove signal translation and exec_domain s390: Remove signal translation and exec_domain mn10300: Remove signal translation and exec_domain microblaze: Remove signal translation and exec_domain m68k: Remove signal translation and exec_domain m32r: Remove signal translation and exec_domain m32r: Autogenerate offsets in struct thread_info frv: Remove signal translation and exec_domain ... commit e44740c1a94b5d39b093045920f543a7bc135584 Merge: d613896 fe205bd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 13:49:27 2015 -0700 Merge tag 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml Pull UML updates from Richard Weinberger: - hostfs saw a face lifting - old/broken stuff was removed (SMP, HIGHMEM, SKAS3/4) - random cleanups and bug fixes * tag 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: (26 commits) um: Print minimum physical memory requirement um: Move uml_postsetup in the init_thread stack um: add a kmsg_dumper x86, UML: fix integer overflow in ELF_ET_DYN_BASE um: hostfs: Reduce number of syscalls in readdir um: Remove broken highmem support um: Remove broken SMP support um: Remove SKAS3/4 support um: Remove ppc cruft um: Remove ia64 cruft um: Remove dead code from stacktrace hostfs: No need to box and later unbox the file mode hostfs: Use page_offset() hostfs: Set page flags in hostfs_readpage() correctly hostfs: Remove superfluous initializations in hostfs_open() hostfs: hostfs_open: Reset open flags upon each retry hostfs: Remove superfluous test in hostfs_open() hostfs: Report append flag in ->show_options() hostfs: Use __getname() in follow_link hostfs: Remove open coded strcpy() ... commit d613896926be608796bb80454256a07b55fe0e87 Merge: fa92789 5026906 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 13:43:40 2015 -0700 Merge tag 'upstream-4.1-rc1' of git://git.infradead.org/linux-ubifs Pull UBI/UBIFS updates from Richard Weinberger: "This pull request includes the following UBI/UBIFS changes: - powercut emulation for UBI - a huge update to UBI Fastmap - cleanups and bugfixes all over UBI and UBIFS" * tag 'upstream-4.1-rc1' of git://git.infradead.org/linux-ubifs: (50 commits) UBI: power cut emulation for testing UBIFS: fix output format of INUM_WATERMARK UBI: Fastmap: Fall back to scanning mode after ECC error UBI: Fastmap: Remove is_fm_block() UBI: Fastmap: Add blank line after declarations UBI: Fastmap: Remove else after return. UBI: Fastmap: Introduce may_reserve_for_fm() UBI: Fastmap: Introduce ubi_fastmap_init() UBI: Fastmap: Wire up WL accessor functions UBI: Add accessor functions for WL data structures UBI: Move fastmap specific functions out of wl.c UBI: Fastmap: Add new module parameter fm_debug UBI: Fastmap: Make self_check_eba() depend on fastmap self checking UBI: Fastmap: Add self check to detect absent PEBs UBI: Fix stale pointers in ubi->lookuptbl UBI: Fastmap: Enhance fastmap checking UBI: Add initial support for fastmap self checks UBI: Fastmap: Rework fastmap error paths UBI: Fastmap: Prepare for variable sized fastmaps UBI: Fastmap: Locking updates ... commit 6a82ba6d4fda21e5f9fda0f4126add3b88522f02 Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Date: Fri Apr 10 11:06:43 2015 -0700 intel_pstate: Change the setpoint for Atom params Change the setpoint for the Baytrail and Cherrytrail CPUs. This will cause more aggressive pstate selection and improves performance on a variety of workloads with little power penalty. Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c1c2fef6cfb04cf30a56bb37cff40d3498d7edbf Merge: 66578b0 ca9b590 ba943fb 59d2d18 56c1d23 9f5d32a Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Wed Apr 15 16:24:49 2015 -0400 Merge branches 'cve-fixup', 'ipoib', 'iser', 'misc-4.1', 'or-mlx4' and 'srp' into for-4.1 commit 50c6a665b383cb5839e45d04e36faeeefaffa052 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Apr 10 19:37:34 2015 -0500 powerpc/hugetlb: Call mm_dec_nr_pmds() in hugetlb_free_pmd_range() Commit dc6c9a35b66b5 ("mm: account pmd page tables to the process") added a counter that is incremented whenever a PMD is allocated and decremented whenever a PMD is freed. For hugepages on PPC, common code is used to allocated PMDs, but arch-specific code is used to free PMDs. This results in kernel output such as "BUG: non-zero nr_pmds on freeing mm: 1" when using hugepages. Update the PPC hugepage PMD freeing code to decrement the count, just as the above commit did for free_pmd_range(). Fixes: dc6c9a35b66b5 ("mm: account pmd page tables to the process") Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.0.x commit fa927894bbb4a4c7669c72bad1924991022fda38 Merge: c841e12 8436318 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 13:22:56 2015 -0700 Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull second vfs update from Al Viro: "Now that net-next went in... Here's the next big chunk - killing ->aio_read() and ->aio_write(). There'll be one more pile today (direct_IO changes and generic_write_checks() cleanups/fixes), but I'd prefer to keep that one separate" * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (37 commits) ->aio_read and ->aio_write removed pcm: another weird API abuse infinibad: weird APIs switched to ->write_iter() kill do_sync_read/do_sync_write fuse: use iov_iter_get_pages() for non-splice path fuse: switch to ->read_iter/->write_iter switch drivers/char/mem.c to ->read_iter/->write_iter make new_sync_{read,write}() static coredump: accept any write method switch /dev/loop to vfs_iter_write() serial2002: switch to __vfs_read/__vfs_write ashmem: use __vfs_read() export __vfs_read() autofs: switch to __vfs_write() new helper: __vfs_write() switch hugetlbfs to ->read_iter() coda: switch to ->read_iter/->write_iter ncpfs: switch to ->read_iter/->write_iter net/9p: remove (now-)unused helpers p9_client_attach(): set fid->uid correctly ... commit 59d2d18cc4e9ba30b370db18d0e02d792699da96 Author: Honggang LI <honli@xxxxxxxxxx> Date: Wed Apr 15 16:36:15 2015 +0800 mlx5: wrong page mask if CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for 32Bit architectures If CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for x86 systems and physical memory is more than 4GB, dma_map_page may return a valid memory address which greater than 0xffffffff. As a result, the mlx5 device page allocator RB tree will be initialized with valid addresses greater than 0xfffffff. However, (addr & PAGE_MASK) set the high four bytes to zeros. So, it's impossible for the function, free_4k, to release the pages whose addresses greater than 4GB. Memory leaks. And mlx5_ib module can't release the pages when user try to remove the module, as a result, system hang. [root@rdma05 root]# dmesg | grep addr | head addr = 3fe384000 addr & PAGE_MASK = fe384000 [root@rdma05 root]# rmmod mlx5_ib <---- hang on ---------------------- cosnole log ----------------- mlx5_ib 0000:04:00.0: irq 138 for MSI/MSI-X alloc irq_desc for 139 on node -1 alloc kstat_irqs on node -1 mlx5_ib 0000:04:00.0: irq 139 for MSI/MSI-X 0000:04:00.0:free_4k:221:(pid 1519): page not found 0000:04:00.0:free_4k:221:(pid 1519): page not found 0000:04:00.0:free_4k:221:(pid 1519): page not found 0000:04:00.0:free_4k:221:(pid 1519): page not found ---------------------- cosnole log ----------------- Fixes: bf0bf77f6519 ('mlx5: Support communicating arbitrary host page size to firmware') Signed-off-by: Honggang Li <honli@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ba943fb237ea48b01e3229f10cdb2a4274978a2d Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:28 2015 +0300 IB/iser: Rewrite bounce buffer code path In some rare cases, IO operations may be not aligned to page boundaries. This prevents iser from performing fast memory registration. In order to overcome that iser uses a bounce buffer to carry the transaction. We basically allocate a buffer in the size of the transaction and perform a copy. The buffer allocation using kmalloc is too restrictive since it requires higher order (atomic) allocations for large transactions (which may result in memory exhaustion fairly fast for some workloads). We rewrite the bounce buffer code path to allocate scattered pages and perform a copy between the transaction sg and the bounce sg. Reported-by: Alex Lyakas <alex@xxxxxxxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4fcd1470a05253236576a2d166ddd6d5b5c936fc Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:27 2015 +0300 IB/iser: Bump version to 1.6 Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ad1e5672429eadd5a7f9613bf2e59546a2eeef13 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:26 2015 +0300 IB/iser: Remove code duplication for a single DMA entry In singleton scatterlists, DMA memory registration code is taken both for Fastreg and FMR code paths. Move it to a function. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6ef8bb837dd7e60f078084d4842a43fd163fb4a2 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:25 2015 +0300 IB/iser: Pass struct iser_mem_reg to iser_fast_reg_mr and iser_reg_sig_mr Instead of passing ib_sge as output variable, we pass the mem_reg pointer to have the routines fill the rkey as well. This reduces code duplication and extra assignments. This is a preparation step to unify some registration logics together. Also, pass iser_fast_reg_mr the fastreg descriptor directly. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 90a6684c30918786446fd062c7422a4098926891 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:24 2015 +0300 IB/iser: Modify struct iser_mem_reg members No need to keep lkey, va, len variables, we can keep them as struct ib_sge. This will help when we change the memory registration logic. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8b95aa2c1bf8c936e5b0e9096b180a3e4f5327ff Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:23 2015 +0300 IB/iser: Make fastreg pool cache friendly Memory regions are resources that are saved in the device caches. Increase the probability for a cache hit by adding the MRU descriptor to pool head. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4dec2a27e385ac753d754af69f344625f5c50576 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:22 2015 +0300 IB/iser: Move PI context alloc/free to routines Make iser_[create|destroy]_fastreg_desc shorter, more readable and easily extendable. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bd8b944eeeb06f5dac705d2357af3800395174eb Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:21 2015 +0300 IB/iser: Move fastreg descriptor pool get/put to helper functions Instead of open-coding connection fastreg pool get/put, we introduce iser_reg_desc[get|put] helpers. We aren't setting these static as this will be a per-device routine later on. Also, cleanup iser_unreg_rdma_mem_fastreg a bit. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f0e35c27a5962cbd17fc58737c7f5f7b398bccb1 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:20 2015 +0300 IB/iser: Merge build page-vec into register page-vec No need for these two separate. Keep it in a single routine like in the fastreg case. This will also make iser_reg_page_vec closer to iser_fast_reg_mr arguments. This is a preparation step for registration flow refactor. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b130ededff03fcee9411be379fd24b5e840c5e9e Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:19 2015 +0300 IB/iser: Get rid of struct iser_rdma_regd This struct members other than struct iser_mem_reg are unused, so remove it altogether. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6847fdeb0bcd2eade5b8183d3d2857c4fd7b70d5 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:18 2015 +0300 IB/iser: Remove redundant assignments in iser_reg_page_vec Buffer length was assigned twice, and no reason to set va to io_addr and then add the offset, just set va to io_addr + offset. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d03e61d0366c61f596ada66ab11c217e7f887d15 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:17 2015 +0300 IB/iser: Move memory reg/dereg routines to iser_memory.c As memory registration/de-registration methods, lets move them to their natural location. While we're at it, make iser_reg_page_vec routine static. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 56408325900d380f6544460c5892bfeb0616cab3 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:16 2015 +0300 IB/iser: Don't pass ib_device to fall_to_bounce_buff routine No need to pass that, we can take it from the task. In a later stage, this function will be invoked according to a device capability. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e3784bd1d9f1039f28dff2c0c0d17daabb3d6761 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:15 2015 +0300 IB/iser: Remove a redundant struct iser_data_buf No need to keep two iser_data_buf structures just in case we use mem copy. We can avoid that just by adding a pointer to the original sg. So keep only two iser_data_buf per command (data and protection) and pass the relevant data_buf to bounce buffer routine. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ecc3993a2ad2a4ce8f1a58a08e9177f21015492d Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:14 2015 +0300 IB/iser: Remove redundant cmd_data_len calculation This code was added before we had protection data length calculation (in iser_send_command), so we needed to calc the sg data length from the sg itself. This is not needed anymore. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a065fe6aa25ba6ba93c02dc13486131bb3c64d5f Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:13 2015 +0300 IB/iser: Fix wrong calculation of protection buffer length This length miss-calculation may cause a silent data corruption in the DIX case and cause the device to reference unmapped area. Fixes: d77e65350f2d ('libiscsi, iser: Adjust data_length to include protection information') Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 30bf1d58ae8e87fef20248c7166777deab0d7f9c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:12 2015 +0300 IB/iser: Handle fastreg/local_inv completion errors Fast registration and local invalidate work requests can also fail. We should call error completion handler for them. Reported-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c4de4663e0fa858e3a84f9b32b2e1dd2de23fab2 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Apr 14 18:08:11 2015 +0300 IB/iser: Fix unload during ep_poll wrong dereference In case the user unloaded ib_iser while ep_connect is in progress, we need to destroy the endpoint although ep_disconnect wasn't invoked (we detect this by the iser conn state != DOWN). However, if we got an REJECTED/UNREACHABLE CM event we move the connection state to DOWN which will prevent us from destroying the endpoint in the module unload stage. Fix this by setting the connection state to TERMINATING in iser_conn_error so we can still destroy the endpoint at unload stage. Reported-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9f5d32af09b9a36ca1476c9932aac675051670c8 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Mon Oct 20 18:25:15 2014 -0400 ib_srpt: convert printk's to pr_* functions The driver already defined the pr_format, it just hadn't been converted to use pr_info, pr_warn, and pr_err instead of the equivalent printks. Convert so that messages from the driver are now properly tagged with their driver name and can be more easily debugged. In addition, a number of these printk's were not newline terminated, so fix that at the same time. Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 56b5390caf73694b2f50a042542f0b43c29d5ca8 Author: Bart Van Assche <bvanassche@xxxxxxx> Date: Wed Jul 9 15:58:22 2014 +0200 IB/srp: Use P_Key cache for P_Key lookups This change slightly reduces the time needed to log in. Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: David Dillow <dave@xxxxxxxxxxxxxx> Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit cc47d369b51286129aad1735096b1884b8068ad1 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 18:49:59 2015 +0100 infiniband/mlx4: check for mapping error Since ib_dma_map_single can fail use ib_dma_mapping_error to check for errors. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Acked-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d2928a8c0db061939ea34ff3f53f36dcccdf5aa2 Author: Selvin Xavier <selvin.xavier@xxxxxxxxxx> Date: Sun Mar 15 00:09:41 2015 +0530 MAINTAINERS: Adding list of maintainers for ocrdma Updating the MAINTAINERS file with ocrdma maintainers and their email ids Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b962dc0a480559c4c85911686bbb32a515b3d5c8 Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 16:36:14 2015 -0700 rdma: replace deprecated ifconfig in doc The ifconfig command has been deprecated for many years. To encourage new users not to continue using it and learning iproute2; the ifconfig should not be used in examples. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a233c4b54c882817ae9dd73384d5dd75d3e57498 Author: Sébastien Dugué <sebastien.dugue@xxxxxxxx> Date: Thu Apr 9 11:13:41 2015 +0200 ib_uverbs: Fix pages leak when using XRC SRQs Hello, When an application using XRCs abruptly terminates, the mmaped pages of the CQ buffers are leaked. This comes from the fact that when resources are released in ib_uverbs_cleanup_ucontext(), we fail to release the CQs because their refcount is not 0. When creating an XRC SRQ, we increment the associated CQ refcount. This refcount is only decremented when the SRQ is released. Therefore we need to release the SRQs prior to the CQs to make sure that all references to the CQs are gone before trying to release these. Signed-off-by: Sebastien Dugue <sebastien.dugue@xxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ca9b590caa17bcbbea119594992666e96cde9c2f Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:05 2015 +0300 IB/mlx4: Fix WQE LSO segment calculation The current code decreases from the mss size (which is the gso_size from the kernel skb) the size of the packet headers. It shouldn't do that because the mss that comes from the stack (e.g IPoIB) includes only the tcp payload without the headers. The result is indication to the HW that each packet that the HW sends is smaller than what it could be, and too many packets will be sent for big messages. An easy way to demonstrate one more aspect of the problem is by configuring the ipoib mtu to be less than 2*hlen (2*56) and then run app sending big TCP messages. This will tell the HW to send packets with giant (negative value which under unsigned arithmetics becomes a huge positive one) length and the QP moves to SQE state. Fixes: b832be1e4007 ('IB/mlx4: Add IPoIB LSO support') Reported-by: Matthew Finlay <matt@xxxxxxxxxxxx> Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0e5544d9bff432bfcac49ecf237738cc7cf3d032 Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:04 2015 +0300 IB/ipoib: Remove IPOIB_MCAST_RUN bit After Doug Ledford's changes there is no need in that bit, it's semantic becomes subset of the IPOIB_FLAG_OPER_UP bit. Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1e85b806f9b988ce2e465fb0f86c8cca228d83a9 Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:03 2015 +0300 IB/ipoib: Save only IPOIB_MAX_PATH_REC_QUEUE skb's Whenever there is no path->ah to the destination, keep only defined number of skb's. Otherwise there are cases that the driver can keep infinite list of skb's. For example, when one device want to send unicast arp to the destination, and from some reason the SM doesn't respond, the driver currently keeps all the skb's. If that unicast arp traffic stopped, all these skb's are kept by the path object till the interface is down. Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2c0107309550b332f83f8be366521557f4b3fd5a Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:02 2015 +0300 IB/ipoib: Handle QP in SQE state As the result of a completion error the QP can moved to SQE state by the hardware. Since it's not the Error state, there are no flushes and hence the driver doesn't know about that. The fix creates a task that after completion with error which is not a flush tracks the QP state and if it is in SQE state moves it back to RTS. Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 3fd0605caa74c3dc7fe69ed11ada452fe7169575 Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:01 2015 +0300 IB/ipoib: Update broadcast record values after each successful join request Update the cached broadcast record in the priv object after every new join of this broadcast domain group. These values are needed for the port configuration (MTU size) and to all the new multicast (non-broadcast) join requests initial parameters. For example, SM starts with 2K MTU for all the fabric, and after that it restarts (or handover to new SM) with new port configuration of 4K MTU. Without using the new values, the driver will keep its old configuration of 2K and will not apply the new configuration of 4K. Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a44878d100630a34a44f54960115b81e449858db Author: Erez Shitrit <erezsh@xxxxxxxxxxxx> Date: Thu Apr 2 13:39:00 2015 +0300 IB/ipoib: Use one linear skb in RX flow The current code in the RX flow uses two sg entries for each incoming packet, the first one was for the IB headers and the second for the rest of the data, that causes two dma map/unmap and two allocations, and few more actions that were done at the data path. Use only one linear skb on each incoming packet, for the data (IB headers and payload), that reduces the packet processing in the data-path (only one skb, no frags, the first frag was not used anyway, less memory allocations) and the dma handling (only one dma map/unmap over each incoming packet instead of two map/unmap per each incoming packet). After commit 73d3fe6d1c6d ("gro: fix aggregation for skb using frag_list") from Eric Dumazet, we will get full aggregation for large packets. When running bandwidth tests before and after the (over the card's numa node), using "netperf -H 1.1.1.3 -T -t TCP_STREAM", the results before are ~12Gbs before and after ~16Gbs on my setup (Mellanox's ConnectX3). Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1c0453d64a341909bbf89cb68c9edaa6cff93850 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:07 2015 -0500 IB/ipoib: drop mcast_mutex usage We needed the mcast_mutex when we had to prevent the join completion callback from having the value it stored in mcast->mc overwritten by a delayed return from ib_sa_join_multicast. By storing the return of ib_sa_join_multicast in an intermediate variable, we prevent a delayed return from ib_sa_join_multicast overwriting the valid contents of mcast->mc, and we no longer need a mutex to force the join callback to run after the return of ib_sa_join_multicast. This allows us to do away with the mutex entirely and protect our critical sections with a just a spinlock instead. This is highly desirable as there were some places where we couldn't use a mutex because the code was not allowed to sleep, and so we were currently using a mix of mutex and spinlock to protect what we needed to protect. Now we only have a spin lock and the locking complexity is greatly reduced. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d2fe937ce6ce23daf5fb214e45432dbb631581b7 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:06 2015 -0500 IB/ipoib: deserialize multicast joins Allow the ipoib layer to attempt to join all outstanding multicast groups at once. The ib_sa layer will serialize multiple attempts to join the same group, but will process attempts to join different groups in parallel. Take advantage of that. In order to make this happen, change the mcast_join_thread to loop through all needed joins, sending a join request for each one that we still need to join. There are a few special cases we handle though: 1) Don't attempt to join anything but the broadcast group until the join of the broadcast group has succeeded. 2) No longer restart the join task at the end of completion handling. If we completed successfully, we are done. The join task now needs kicked either by mcast_send or mcast_restart_task or mcast_start_thread, but should not need started anytime else except when scheduling a backoff attempt to rejoin. 3) No longer use separate join/completion routines for regular and sendonly joins, pass them all through the same routine and just do the right thing based on the SENDONLY join flag. 4) Only try to join a SENDONLY join twice, then drop the packets and quit trying. We leave the mcast group in the list so that if we get a new packet, all that we have to do is queue up the packet and restart the join task and it will automatically try to join twice and then either send or flush the queue again. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 69911416d87d6673c48d23a9fbc060e85f41fc73 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:05 2015 -0500 IB/ipoib: fix MCAST_FLAG_BUSY usage Commit a9c8ba5884 ("IPoIB: Fix usage of uninitialized multicast objects") added a new flag MCAST_JOIN_STARTED, but was not very strict in how it was used. We didn't always initialize the completion struct before we set the flag, and we didn't always call complete on the completion struct from all paths that complete it. And when we did complete it, sometimes we continued to touch the mcast entry after the completion, opening us up to possible use after free issues. This made it less than totally effective, and certainly made its use confusing. And in the flush function we would use the presence of this flag to signal that we should wait on the completion struct, but we never cleared this flag, ever. In order to make things clearer and aid in resolving the rtnl deadlock bug I've been chasing, I cleaned this up a bit. 1) Remove the MCAST_JOIN_STARTED flag entirely 2) Change MCAST_FLAG_BUSY so it now only means a join is in-flight 3) Test mcast->mc directly to see if we have completed ib_sa_join_multicast (using IS_ERR_OR_NULL) 4) Make sure that before setting MCAST_FLAG_BUSY we always initialize the mcast->done completion struct 5) Make sure that before calling complete(&mcast->done), we always clear the MCAST_FLAG_BUSY bit 6) Take the mcast_mutex before we call ib_sa_multicast_join and also take the mutex in our join callback. This forces ib_sa_multicast_join to return and set mcast->mc before we process the callback. This way, our callback can safely clear mcast->mc if there is an error on the join and we will do the right thing as a result in mcast_dev_flush. 7) Because we need the mutex to synchronize mcast->mc, we can no longer call mcast_sendonly_join directly from mcast_send and instead must add sendonly join processing to the mcast_join_task 8) Make MCAST_RUN mean that we have a working mcast subsystem, not that we have a running task. We know when we need to reschedule our join task thread and don't need a flag to tell us. 9) Add a helper for rescheduling the join task thread A number of different races are resolved with these changes. These races existed with the old MCAST_FLAG_BUSY usage, the MCAST_JOIN_STARTED flag was an attempt to address them, and while it helped, a determined effort could still trip things up. One race looks something like this: Thread 1 Thread 2 ib_sa_join_multicast (as part of running restart mcast task) alloc member call callback ifconfig ib0 down wait_for_completion callback call completes wait_for_completion in mcast_dev_flush completes mcast->mc is PTR_ERR_OR_NULL so we skip ib_sa_leave_multicast return from callback return from ib_sa_join_multicast set mcast->mc = return from ib_sa_multicast We now have a permanently unbalanced join/leave issue that trips up the refcounting in core/multicast.c Another like this: Thread 1 Thread 2 Thread 3 ib_sa_multicast_join ifconfig ib0 down priv->broadcast = NULL join_complete wait_for_completion mcast->mc is not yet set, so don't clear return from ib_sa_join_multicast and set mcast->mc complete return -EAGAIN (making mcast->mc invalid) call ib_sa_multicast_leave on invalid mcast->mc, hang forever By holding the mutex around ib_sa_multicast_join and taking the mutex early in the callback, we force mcast->mc to be valid at the time we run the callback. This allows us to clear mcast->mc if there is an error and the join is going to fail. We do this before we complete the mcast. In this way, mcast_dev_flush always sees consistent state in regards to mcast->mc membership at the time that the wait_for_completion() returns. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit efc82eeeae4ece716091d8540079b7f276ca1ad5 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:04 2015 -0500 IB/ipoib: No longer use flush as a parameter Various places in the IPoIB code had a deadlock related to flushing the ipoib workqueue. Now that we have per device workqueues and a specific flush workqueue, there is no longer a deadlock issue with flushing the device specific workqueues and we can do so unilaterally. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0b39578bcde4298a392fb2df16235c316d932127 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:03 2015 -0500 IB/ipoib: Use dedicated workqueues per interface During my recent work on the rtnl lock deadlock in the IPoIB driver, I saw that even once I fixed the apparent races for a single device, as soon as that device had any children, new races popped up. It turns out that this is because no matter how well we protect against races on a single device, the fact that all devices use the same workqueue, and flush_workqueue() flushes *everything* from that workqueue means that we would also have to prevent all races between different devices (for instance, ipoib_mcast_restart_task on interface ib0 can race with ipoib_mcast_flush_dev on interface ib0.8002, resulting in a deadlock on the rtnl_lock). There are several possible solutions to this problem: Make carrier_on_task and mcast_restart_task try to take the rtnl for some set period of time and if they fail, then bail. This runs the real risk of dropping work on the floor, which can end up being its own separate kind of deadlock. Set some global flag in the driver that says some device is in the middle of going down, letting all tasks know to bail. Again, this can drop work on the floor. Or the method this patch attempts to use, which is when we bring an interface up, create a workqueue specifically for that interface, so that when we take it back down, we are flushing only those tasks associated with our interface. In addition, keep the global workqueue, but now limit it to only flush tasks. In this way, the flush tasks can always flush the device specific work queues without having deadlock issues. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 894021a752912ef4c2b63c8d2c466c00bc3cd2e6 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:02 2015 -0500 IB/ipoib: Make the carrier_on_task race aware We blindly assume that we can just take the rtnl lock and that will prevent races with downing this interface. Unfortunately, that's not the case. In ipoib_mcast_stop_thread() we will call flush_workqueue() in an attempt to clear out all remaining instances of ipoib_join_task. But, since this task is put on the same workqueue as the join task, the flush_workqueue waits on this thread too. But this thread is deadlocked on the rtnl lock. The better thing here is to use trylock and loop on that until we either get the lock or we see that FLAG_OPER_UP has been cleared, in which case we don't need to do anything anyway and we just return. While investigating which flag should be used, FLAG_ADMIN_UP or FLAG_OPER_UP, it was determined that FLAG_OPER_UP was the more appropriate flag to use. However, there was a mix of these two flags in use in the existing code. So while we check for that flag here as part of this race fix, also cleanup the two places that had used the less appropriate flag for their tests. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c84ca6d2b1a1bfbdab2dd2bc243840e9589a5aaf Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:01 2015 -0500 IB/ipoib: Consolidate rtnl_lock tasks in workqueue The ipoib_mcast_flush_dev routine is called with the rtnl_lock held and needs to keep it held. It also needs to call flush_workqueue() to flush out any outstanding work. In the past, we've had to try and make sure that we didn't flush out any outstanding join completions because they also wanted to grab rtnl_lock() and that would deadlock. It turns out that the only thing in the join completion handler that needs this lock can be safely moved to our carrier_on_task, thereby reducing the potential for the join completion code and the flush code to deadlock against each other. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit be7aa663fc1d9156798f5af3c60e6df45e1fe5de Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:27:00 2015 -0500 IB/ipoib: change init sequence ordering In preparation for using per device work queues, we need to move the start of the neighbor thread task to after ipoib_ib_dev_init and move the destruction of the neighbor task to before ipoib_ib_dev_cleanup. Otherwise we will end up freeing our workqueue with work possibly still on it. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e135106fac9525352feb8e49077c8f46c3eaf288 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Feb 21 19:26:59 2015 -0500 IB/ipoib: factor out ah flushing Create a an ipoib_flush_ah and ipoib_stop_ah routines to use at appropriate times to flush out all remaining ah entries before we shut the device down. Because neighbors and mcast entries can each have a reference on any given ah, we must make sure to free all of those first before our ah will actually have a 0 refcount and be able to be reaped. This factoring is needed in preparation for having per-device work queues. The original per-device workqueue code resulted in the following error message: <ibdev>: ib_dealloc_pd failed That error was tracked down to this issue. With the changes to which workqueues were flushed when, there were no flushes of the per device workqueue after the last ah's were freed, resulting in an attempt to dealloc the pd with outstanding resources still allocated. This code puts the explicit flushes in the needed places to avoid that problem. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 66578b0b2f69659f00b6169e6fe7377c4b100d18 Author: Yann Droneaud <ydroneaud@xxxxxxxxxx> Date: Mon Apr 13 14:56:23 2015 +0200 IB/core: don't disallow registering region starting at 0x0 In a call to ib_umem_get(), if address is 0x0 and size is already page aligned, check added in commit 8494057ab5e4 ("IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic") will refuse to register a memory region that could otherwise be valid (provided vm.mmap_min_addr sysctl and mmap_low_allowed SELinux knobs allow userspace to map something at address 0x0). This patch allows back such registration: ib_umem_get() should probably don't care of the base address provided it can be pinned with get_user_pages(). There's two possible overflows, in (addr + size) and in PAGE_ALIGN(addr + size), this patch keep ensuring none of them happen while allowing to pin memory at address 0x0. Anyway, the case of size equal 0 is no more (partially) handled as 0-length memory region are disallowed by an earlier check. Link: http://mid.gmane.org/cover.1428929103.git.ydroneaud@xxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 8494057ab5e4 ("IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic") Cc: Shachar Raindel <raindel@xxxxxxxxxxxx> Cc: Jack Morgenstein <jackm@xxxxxxxxxxxx> Cc: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8abaae62f3fdead8f4ce0ab46b4ab93dee39bab2 Author: Yann Droneaud <ydroneaud@xxxxxxxxxx> Date: Mon Apr 13 14:56:22 2015 +0200 IB/core: disallow registering 0-sized memory region If ib_umem_get() is called with a size equal to 0 and an non-page aligned address, one page will be pinned and a 0-sized umem will be returned to the caller. This should not be allowed: it's not expected for a memory region to have a size equal to 0. This patch adds a check to explicitly refuse to register a 0-sized region. Link: http://mid.gmane.org/cover.1428929103.git.ydroneaud@xxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> Cc: Shachar Raindel <raindel@xxxxxxxxxxxx> Cc: Jack Morgenstein <jackm@xxxxxxxxxxxx> Cc: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 06b230e3dd46e3e45fb57990b09007c7cd071515 Author: Lucas Stach <dev@xxxxxxxxxx> Date: Mon Apr 13 22:24:01 2015 +0200 cpupower: fix breakage from libpci API change libpci 3.3.0 introduced an additional member in the pci_filter struct which needs to be initialized to -1 to get the same behavior as before the API change. The libpci internal helpers got updated accordingly, but as the cpupower pci helpers initialized the struct themselves the behavior changed. Use the libpci helper pci_filter_init() to fix this and guard against similar breakages in the future. This fixes probing of the AMD fam12h/14h cpuidle monitor on systems with libpci >= 3.3.0. Signed-off-by: Lucas Stach <dev@xxxxxxxxxx> Acked-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 56c1d2335b355205d6fabb7663d383e73ea0de47 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Feb 12 09:49:43 2015 +0200 IB/mlx4: Change alias guids default to be host assigned Change the default mode to be HOST assigned instead of SM assigned. This is the expected operational mode, because it doesn't depend on SM availability. As PF generates random GUIDs as the initial admin values, this gives out of the box experience. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e9a7ff3a71154ec03b6dc617d97d7c710b7bb98c Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Mon Feb 2 15:07:23 2015 +0200 net/mlx4_core: Return the admin alias GUID upon host view request Return the admin alias GUID value upon a GET request via HOST. We do this so that the GUID value requested by the admin is returned even if the SM has not yet approved this GUID (e.g. the SM is down). Note that this does not create a problem, since the virtual port will remain down until the SM does ACK the requested GUID value. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a0667a83aff20c7659960d7e7cd6a5d187c7df20 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Wed Mar 18 14:56:04 2015 +0200 net/mlx4_core: Raise slave shutdown event upon FLR There might be cases that PF doesn't get a "reset" command upon slave down (e.g. virsh destroy). In these cases, however, an FLR event is issued. Therefore, when the PF receives an FLR event for a slave, it should also generate a shutdown event on the PF for that slave, to let the PF upper layers (mlx4_ib, eth) perform any required cleanup/actions associated with slave shutdown. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ee59fa0d7e9af130bfc1b75524e04c101670bd5e Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue Mar 3 17:28:49 2015 +0200 IB/mlx4: Request alias GUID on demand Request GIDs from the SM on demand, i.e., when a VF actually needs them, and release them when the GIDs are no longer in use. In cloud environments, this is useful for GID migrations, in which a GID is assigned to a VF on the destination HCA, while the VF on the source HCA is shutdown (but the GID was not administratively released). Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f54796012837687532d0a87a0504de22da7c2503 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue Mar 3 16:12:14 2015 +0200 IB/mlx4: Change init flow to request alias GUIDs for active VFs Change the init flow to ask GUIDs only for active VFs. This is done for both SM & HOST modes so that there is no need any more to maintain the ownership record type. In case SM mode is used, the initial value will be 0, ask the SM to assign, for the HOST mode the initial value will be the HOST generated GUID. This will enable out of the box experience for both probed and attached VFs. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2350f24774627d73fe2e3843172b69db91714cd2 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Sun Mar 1 18:17:22 2015 +0200 IB/mlx4: Manage admin alias GUID upon admin request Set the admin alias GUID per the administrator's request via the sysfs mechanism into the core layer. The "get" request returns the current value. However, if the administrator requests the SM to assign a new value by requesting 0, the SM assigned GUID is returned. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit fb517a4f03041c5eaed394bd57ee518b44301f1a Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue Mar 3 11:23:32 2015 +0200 net/mlx4_core: Set initial admin GUIDs for VFs To have out of the box experience, the PF generates random GUIDs who serve as the initial admin values. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 773af94e4e3984d4055c332602de5d0d2ee3d840 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue Mar 3 10:54:48 2015 +0200 net/mlx4_core: Manage alias GUID per VF Manages alias GUIDs per VF per port in the core layer. This is a pre-step for managing alias GUIDs in a mode that the admin GUID is returned via ib_query_gid() regardless of whether the SM has approved it or not. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 99ee4df6aaf542b84f68d66a02de7b68b72a87a8 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Tue Feb 3 18:32:53 2015 +0200 IB/mlx4: Alias GUID adding persistency support If the SM rejects an alias GUID request the PF driver keeps trying to acquire the specified GUID indefinitely, utilizing an exponential backoff scheme. Retrying is managed per GUID entry. Each entry that wasn't applied holds its next retry information. Retry requests to the SM consist of records of 8 consecutive GUIDS. Each record that contains GUIDs requiring retries holds its next time-to-run based on the retry information of all its GUID entries. The record having the lowest retry time will run first when that retry time arrives. Since the method (SET or DELETE) as sent to the SM applies to all the GUIDs in the record, we must handle SET requests and DELETE requests in separate SM messages (one for SETs and the other for DELETEs). To avoid race conditions where a GUID entry request (set or delete) was modified after the SM request was sent, we save the method and the requested indices as part of the callback's context -- thus, only the requested indexes are evaluated when the response is received. When an GUID entry is approved we turn off its retry-required bit, this prevents redundant SM retries from occurring on that record. The port down event should be sent only when previously it was up. Likewise, the port up event should be sent only if previously the port was down. Synchronization was added around the flows that change entries and record state to prevent race conditions. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 30ecc84eea691cfb0b731d71839bdcba88df5f75 Merge: 9705fea 10709c0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Apr 15 21:35:22 2015 +0200 Merge branch 'omap/dt' into next/late As pointed out by Stephen Rothwell, commit e52117638b79 ("ARM: dts: omap3: Add DT entries for OMAP 3 ISP") conflicts with b8845074cfbb ("ARM: dts: omap3: add minimal l4 bus layout with control module support") in non-obvious ways, causing a build failure when both patches are present. This merges the two branches that introduce the respective changes into the next/late branch to resolve the way that Stephen suggested, as confirmed by Tony. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Link: https://lkml.org/lkml/2015/4/6/436 Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> commit bb668734c4c960c8f61f017585b323b97e5f47b5 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:21 2015 +0000 VFS: assorted d_backing_inode() annotations Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit df2b1afde178f01c6a1b2ec285ca8bcfd4c66640 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:15 2015 +0000 VFS: fs/inode.c helpers: d_inode() annotations these should be used on objects already in top layer Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 466b77bc954c23c5741ea7dd02f20212a72acdb2 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:21 2015 +0000 VFS: fs/cachefiles: d_backing_inode() annotations Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit dea655c28a32ac760c057383dadb5be0f5632362 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:15 2015 +0000 VFS: fs library helpers: d_inode() annotations library helpers called by filesystem drivers on their own inodes Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 75c3cfa855dcedc84e7964269c9b6baf26137959 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:12 2015 +0000 VFS: assorted weird filesystems: d_inode() annotations Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2b0143b5c986be1ce8408b3aadc4709e0a94429d Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:25:59 2015 +0000 VFS: normal filesystems (and lustre): d_inode() annotations that's the bulk of filesystem drivers dealing with inodes of their own Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ce0b16ddf18df35026164fda4a642ef10c01f442 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Feb 19 10:47:02 2015 +0000 VFS: security/: d_inode() annotations ... except where that code acts as a filesystem driver, rather than working with dentries given to it. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c6f493d631c4d40cea5c36055f9148f547b200af Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:22 2015 +0000 VFS: security/: d_backing_inode() annotations most of the ->d_inode uses there refer to the same inode IO would go to, i.e. d_backing_inode() Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c5ef60352893b139147b7c033354e8e028e7f52a Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:16 2015 +0000 VFS: net/: d_inode() annotations socket inodes and sunrpc filesystems - inodes owned by that code Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a25b376bded1ba7fd1d455e140d723b7de2e343c Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:21 2015 +0000 VFS: net/unix: d_backing_inode() annotations places where we are dealing with S_ISSOCK file creation/lookups. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7682c918439d42291df0d76b3e06627f27fbcdef Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:16 2015 +0000 VFS: kernel/: d_inode() annotations relayfs and tracefs are dealing with inodes of their own; those two act as filesystem drivers Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3b362157b2162719145d4f3d4f534357d89b45ce Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:26:21 2015 +0000 VFS: audit: d_backing_inode() annotations Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c1d81b1cf937027d23f7e53cdd12328799028c6a Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Mar 6 14:24:37 2015 +0000 VFS: Fix up some ->d_inode accesses in the chelsio driver Fix up some ->d_inode accesses in the chelsio driver. (1) FILE_DATA() should just be replaced with file_inode(). (2) set_debugfs_file_size() should be removed and debugfs_create_file_size() should be used to create the file. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5153bc817cdbed826a18938393cc1f81ebbbd898 Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Mar 6 14:08:58 2015 +0000 VFS: Cachefiles should perform fs modifications on the top layer only Cachefiles should perform fs modifications (eg. vfs_unlink()) on the top layer only and should not attempt to alter the lower layer. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ee8ac4d61c2cf43bdd427e70db97ac330e61570d Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Mar 6 14:05:26 2015 +0000 VFS: AF_UNIX sockets should call mknod on the top layer only AF_UNIX sockets should call mknod on the top layer only and should not attempt to modify the lower layer in a layered filesystem such as overlayfs. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit aa4d86163e4e91a1ac560954a554bab417e338f4 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Apr 7 18:23:29 2015 +0200 block: loop: switch to VFS ITER_BVEC Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6683de3886a313ae3d4b8c0323313a987073481b Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Mar 2 16:40:32 2015 +0000 configfs: Fix inconsistent use of file_inode() vs file->f_path.dentry->d_inode Fix inconsistent use of file_inode() vs file->f_path.dentry->d_inode. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4bbcbd3b11dbc676a272be508e47d1c4a5056349 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 22:16:40 2015 +0000 VFS: Make pathwalk use d_is_reg() rather than S_ISREG() Make pathwalk use d_is_reg() rather than S_ISREG() to determine whether to honour O_TRUNC. Since this occurs after complete_walk(), the dentry type field cannot change and the inode pointer cannot change as we hold a ref on the dentry, so this should be safe. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7ceab50c0be56cf1bbaf2b3dd1c6cda80e5335fb Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Mar 5 12:46:49 2015 +0000 VFS: Fix up debugfs to use d_is_dir() in place of S_ISDIR() Fix up debugfs to use d_is_dir(dentry) in place of S_ISDIR(dentry->d_inode->i_mode). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 698934df8b45da2a06816ee2d7f9a9034e671e62 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Mar 17 17:33:52 2015 +0000 VFS: Combine inode checks with d_is_negative() and d_is_positive() in pathwalk Where we have: if (!dentry->d_inode || d_is_negative(dentry)) { type constructions in pathwalk we should be able to eliminate the check of d_inode and rely solely on the result of d_is_negative() or d_is_positive(). What we do have to take care to do is to read d_inode after calling a d_is_xxx() typecheck function to get the barriering right. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 88e7fbd4a599375a08876e80a76d92e49fdea55c Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Mar 4 16:38:26 2015 +0000 NFS: Don't use d_inode as a variable name Don't use d_inode as a variable name as it now masks a function name. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4bf46a272647d89e780126b52eda04737defd9f4 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Mar 5 14:09:22 2015 +0000 VFS: Impose ordering on accesses of d_inode and d_flags Impose ordering on accesses of d_inode and d_flags to avoid the need to do this: if (!dentry->d_inode || d_is_negative(dentry)) { when this: if (d_is_negative(dentry)) { should suffice. This check is especially problematic if a dentry can have its type field set to something other than DENTRY_MISS_TYPE when d_inode is NULL (as in unionmount). What we really need to do is stick a write barrier between setting d_inode and setting d_flags and a read barrier between reading d_flags and reading d_inode. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 525d27b23555419e0e7b73fb6e78d4d678cb4f32 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Feb 11 13:40:17 2015 +0000 VFS: Add owner-filesystem positive/negative dentry checks Supply two functions to test whether a filesystem's own dentries are positive or negative (d_really_is_positive() and d_really_is_negative()). The problem is that the DCACHE_ENTRY_TYPE field of dentry->d_flags may be overridden by the union part of a layered filesystem and isn't thus necessarily indicative of the type of dentry. Normally, this would involve a negative dentry (ie. ->d_inode == NULL) having ->d_layer.lower pointed to a lower layer dentry, DCACHE_PINNING_LOWER set and the DCACHE_ENTRY_TYPE field set to something other than DCACHE_MISS_TYPE - but it could also involve, say, a DCACHE_SPECIAL_TYPE being overridden to DCACHE_WHITEOUT_TYPE if a 0,0 chardev is detected in the top layer. However, inside a filesystem, when that fs is looking at its own dentries, it probably wants to know if they are really negative or not - and doesn't care about the fallthrough bits used by the union. To this end, a filesystem should normally use d_really_is_positive/negative() when looking at its own dentries rather than d_is_positive/negative() and should use d_inode() to get at the inode. Anyone looking at someone else's dentries (this includes pathwalk) should use d_is_xxx() and d_backing_inode(). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 65a4a1cad7c56e7056fb4b35ac2d93695612612c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 14:11:08 2015 -0400 nfs: generic_write_checks() shouldn't be done on swapout... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c1c21f4e60ed4523292f1a89ff45a208bddd3849 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 15 19:18:39 2015 +0100 i2c: core: Export bus recovery functions Current -next fails to link an ARM allmodconfig because drivers that use the core recovery functions can be built as modules but those functions are not exported: ERROR: "i2c_generic_gpio_recovery" [drivers/i2c/busses/i2c-davinci.ko] undefined! ERROR: "i2c_generic_scl_recovery" [drivers/i2c/busses/i2c-davinci.ko] undefined! ERROR: "i2c_recover_bus" [drivers/i2c/busses/i2c-davinci.ko] undefined! Add exports to fix this. Fixes: 5f9296ba21b3c (i2c: Add bus recovery infrastructure) Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c841e12add6926d64aa608687893465330b5a03e Merge: b422b75 0a1f00a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:24:41 2015 -0700 Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kconfig updates from Michal Marek: "Here is the kconfig stuff for v4.1-rc1: - fixes for mergeconfig (used by make kvmconfig/tinyconfig) - header cleanup - make -s *config is silent now" * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: kconfig: Do not print status messages in make -s mode kconfig: Simplify Makefile kbuild: add generic mergeconfig target, %.config merge_config.sh: rename MAKE to RUNMAKE merge_config.sh: improve indentation kbuild: mergeconfig: remove redundant $(objtree) kbuild: mergeconfig: move an error check to merge_config.sh kbuild: mergeconfig: fix "jobserver unavailable" warning kconfig: Remove unnecessary prototypes from headers kconfig: Remove dead code kconfig: Get rid of the P() macro in headers kconfig: fix a misspelling in scripts/kconfig/merge_config.sh commit b422b75875a3663f08a9ab5aeb265ed2383cbe2f Merge: d488d3a 41b585b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:19:18 2015 -0700 Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kbuild updates from Michal Marek: "Here is the first round of kbuild changes for v4.1-rc1: - kallsyms fix for ARM and cleanup - make dep(end) removed (developers have no sense of nostalgia these days...) - include Makefiles by relative path - stop useless rebuilds of asm-offsets.h and bounds.h" * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: Kbuild: kallsyms: drop special handling of pre-3.0 GCC symbols Kbuild: kallsyms: ignore veneers emitted by the ARM linker kbuild: ia64: use $(src)/Makefile.gate rather than particular path kbuild: include $(src)/Makefile rather than $(obj)/Makefile kbuild: use relative path more to include Makefile kbuild: use relative path to include Makefile kbuild: do not add $(bounds-file) and $(offsets-file) to targets kbuild: remove warning about "make depend" kbuild: Don't reset timestamps in include/generated if not needed commit d488d3a4ce08e96dad5cb3b6117517d57ccec98f Merge: cb90695 5deeb5c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 11:08:27 2015 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull security subsystem updates from James Morris: "Highlights for this window: - improved AVC hashing for SELinux by John Brooks and Stephen Smalley - addition of an unconfined label to Smack - Smack documentation update - TPM driver updates" * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (28 commits) lsm: copy comm before calling audit_log to avoid race in string printing tomoyo: Do not generate empty policy files tomoyo: Use if_changed when generating builtin-policy.h tomoyo: Use bin2c to generate builtin-policy.h selinux: increase avtab max buckets selinux: Use a better hash function for avtab selinux: convert avtab hash table to flex_array selinux: reconcile security_netlbl_secattr_to_sid() and mls_import_netlbl_cat() selinux: remove unnecessary pointer reassignment Smack: Updates for Smack documentation tpm/st33zp24/spi: Add missing device table for spi phy. tpm/st33zp24: Add proper wait for ordinal duration in case of irq mode smack: Fix gcc warning from unused smack_syslog_lock mutex in smackfs.c Smack: Allow an unconfined label in bringup mode Smack: getting the Smack security context of keys Smack: Assign smack_known_web as default smk_in label for kernel thread's socket tpm/tpm_infineon: Use struct dev_pm_ops for power management MAINTAINERS: Add Jason as designated reviewer for TPM tpm: Update KConfig text to include TPM2.0 FIFO chips tpm/st33zp24/dts/st33zp24-spi: Add dts documentation for st33zp24 spi phy ... commit 2310568f570e0f95bfb1cc79ff7db617e782e25c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Apr 15 10:48:32 2015 -0700 Input: alps - document separate pointstick button bits for V2 devices Non interleaved dualpoint v2 devices have separate pointstick button bits, document this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4f8d808889d05807f494f82f8cfaa6c113c2f761 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 7 16:30:01 2015 -0700 Input: atmel_mxt_ts - add support for Google Pixel 2 This change allows atmel_mxt_ts to bind to ACPI-enumerated devices in Google Pixel 2 (2015). While newer version of ACPI standard allow use of device-tree-like properties in device descriptions, the version of ACPI implemented in Google BIOS does not support them, and we have to resort to DMI data to specify exact characteristics of the devices (touchpad vs. touchscreen, GPIO to button mapping, etc). Pixel 1 continues to use i2c devices and platform data created by chromeos-laptop driver, since ACPI does not enumerate them. Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit cb906953d2c3fd450655d9fa833f03690ad50c23 Merge: 6c373ca 3abafaf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 10:42:15 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto update from Herbert Xu: "Here is the crypto update for 4.1: New interfaces: - user-space interface for AEAD - user-space interface for RNG (i.e., pseudo RNG) New hashes: - ARMv8 SHA1/256 - ARMv8 AES - ARMv8 GHASH - ARM assembler and NEON SHA256 - MIPS OCTEON SHA1/256/512 - MIPS img-hash SHA1/256 and MD5 - Power 8 VMX AES/CBC/CTR/GHASH - PPC assembler AES, SHA1/256 and MD5 - Broadcom IPROC RNG driver Cleanups/fixes: - prevent internal helper algos from being exposed to user-space - merge common code from assembly/C SHA implementations - misc fixes" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (169 commits) crypto: arm - workaround for building with old binutils crypto: arm/sha256 - avoid sha256 code on ARMv7-M crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer crypto: x86/sha256_ssse3 - move SHA-224/256 SSSE3 implementation to base layer crypto: x86/sha1_ssse3 - move SHA-1 SSSE3 implementation to base layer crypto: arm64/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer crypto: arm64/sha1-ce - move SHA-1 ARMv8 implementation to base layer crypto: arm/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer crypto: arm/sha256 - move SHA-224/256 ASM/NEON implementation to base layer crypto: arm/sha1-ce - move SHA-1 ARMv8 implementation to base layer crypto: arm/sha1_neon - move SHA-1 NEON implementation to base layer crypto: arm/sha1 - move SHA-1 ARM asm implementation to base layer crypto: sha512-generic - move to generic glue implementation crypto: sha256-generic - move to generic glue implementation crypto: sha1-generic - move to generic glue implementation crypto: sha512 - implement base layer for SHA-512 crypto: sha256 - implement base layer for SHA-256 crypto: sha1 - implement base layer for SHA-1 crypto: api - remove instance when test failed crypto: api - Move alg ref count init to crypto_check_alg ... commit 889fa31f00b218a2cef96c32a6b3f57e6d3bf918 Author: Chong Yuan <chong.yuan@xxxxxxxxxxxx> Date: Wed Apr 15 11:39:29 2015 -0600 blk-mq: reduce unnecessary software queue looping In flush_busy_ctxs() and blk_mq_hctx_has_pending(), regardless of how many ctxs assigned to one hctx, they will all loop hctx->ctx_map.map_size times. Here hctx->ctx_map.map_size is a const ALIGN(nr_cpu_ids, 8) / 8. Especially, flush_busy_ctxs() is in hot code path. And it's unnecessary. Change ->map_size to contain the actually mapped software queues, so we only loop for as many iterations as we have to. And remove cpumask setting and nr_ctx count in blk_mq_init_cpu_queues() since they are all re-done in blk_mq_map_swqueue(). blk_mq_map_swqueue(). Signed-off-by: Chong Yuan <chong.yuan@xxxxxxxxxxxx> Reviewed-by: Wenbo Wang <wenbo.wang@xxxxxxxxxxxx> Updated by me for formatting and commenting. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dc48e56d761610da4ea1088d1bea0a030b8e3e43 Author: Jens Axboe <axboe@xxxxxx> Date: Wed Apr 15 11:17:23 2015 -0600 aio: fix serial draining in exit_aio() exit_aio() currently serializes killing io contexts. Each context killing ends up having to do percpu_ref_kill(), which in turns has to wait for an RCU grace period. This can take a long time, depending on the number of contexts. And there's no point in doing them serially, when we could be waiting for all of them in one fell swoop. This patches makes my fio thread offload test case exit 0.2s instead of almost 6s. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0618764cb25f6fa9fb31152995de42a8a0496475 Author: Ben Collins <ben.c@xxxxxxxxxxxx> Date: Fri Apr 3 16:09:46 2015 +0000 dm crypt: fix deadlock when async crypto algorithm returns -EBUSY I suspect this doesn't show up for most anyone because software algorithms typically don't have a sense of being too busy. However, when working with the Freescale CAAM driver it will return -EBUSY on occasion under heavy -- which resulted in dm-crypt deadlock. After checking the logic in some other drivers, the scheme for crypt_convert() and it's callback, kcryptd_async_done(), were not correctly laid out to properly handle -EBUSY or -EINPROGRESS. Fix this by using the completion for both -EBUSY and -EINPROGRESS. Now crypt_convert()'s use of completion is comparable to af_alg_wait_for_completion(). Similarly, kcryptd_async_done() follows the pattern used in af_alg_complete(). Before this fix dm-crypt would lockup within 1-2 minutes running with the CAAM driver. Fix was regression tested against software algorithms on PPC32 and x86_64, and things seem perfectly happy there as well. Signed-off-by: Ben Collins <ben.c@xxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5977907937afa2b5584a874d44ba6c0f56aeaa9c Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Apr 9 16:53:24 2015 -0400 dm crypt: leverage immutable biovecs when decrypting on read Commit 003b5c571 ("block: Convert drivers to immutable biovecs") stopped short of changing dm-crypt to leverage the fact that the biovec array of a bio will no longer be modified. Switch to using bio_clone_fast() when cloning bios for decryption after read. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e44f23b32dc7916b2bc12817e2f723fefa21ba41 Author: Milan Broz <gmazyland@xxxxxxxxx> Date: Sun Apr 5 18:03:10 2015 +0200 dm crypt: update URLs to new cryptsetup project page Cryptsetup home page moved to GitLab. Also remove link to abandonded Truecrypt page. Signed-off-by: Milan Broz <gmazyland@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 0e9cebe724597a76ab1b0ebc0a21e16f7db11b47 Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Mar 20 10:50:37 2015 -0400 dm: add log writes target Introduce a new target that is meant for file system developers to test file system integrity at particular points in the life of a file system. We capture all write requests and associated data and log them to a separate device for later replay. There is a userspace utility to do this replay. The idea behind this is to give file system developers a tool to verify that the file system is always consistent. Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Zach Brown <zab@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 7f61f5a022101e0c38c3cff2ef9ace9c9c86dbfb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 10:43:18 2015 -0700 dm table: use bool function return values of true/false not 1/0 Use the normal return values for bool functions. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 65ff5b7ddf0541f2b6e5cc59c47bfbf6cbcd91b8 Author: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Date: Wed Mar 18 15:52:14 2015 +0000 dm verity: add error handling modes for corrupted blocks Add device specific modes to dm-verity to specify how corrupted blocks should be handled. The following modes are defined: - DM_VERITY_MODE_EIO is the default behavior, where reading a corrupted block results in -EIO. - DM_VERITY_MODE_LOGGING only logs corrupted blocks, but does not block the read. - DM_VERITY_MODE_RESTART calls kernel_restart when a corrupted block is discovered. In addition, each mode sends a uevent to notify userspace of corruption and to allow further recovery actions. The driver defaults to previous behavior (DM_VERITY_MODE_EIO) and other modes can be enabled with an additional parameter to the verity table. Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 0e0e32c16cfd2eeaf4fd4f16aa6cccd1333ce1e0 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Wed Mar 18 20:57:29 2015 -0400 dm thin: remove stale 'trim' message documentation The 'trim' message wasn't ever implemented. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit aca607ba242dde316794c0b607048fd5b688a520 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Mar 17 07:47:58 2015 -0400 dm delay: use msecs_to_jiffies for time conversion Converting milliseconds to jiffies by "val * HZ / 1000" is technically OK but msecs_to_jiffies(val) is the cleaner solution and handles all corner cases correctly. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 18cc980ac8cf8c727d1f7d581b4576ed64bd78a6 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed Mar 18 18:59:02 2015 -0400 dm log userspace base: fix compile warning This fixes up a compile warning [-Wunused-but-set-variable] - given the comment in userspace_set_region_sync() the non-reporting of errors is intentional so the return value can be dropped to make gcc happy. Also, fix typo in comment. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit c32a512fdf62de260ee8298436558ea50b94dfcb Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 15 13:09:10 2015 -0400 dm log userspace transfer: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout() is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 644bda6f346038bce7ad3ed48f7044c10dde6d47 Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Tue Feb 10 15:20:51 2015 -0800 dm table: fall back to getting device using name_to_dev_t() If a device is used as the root filesystem, it can't be built off of devices which are within the root filesystem (just like command line arguments to root=). For this reason, Linux has a pseudo-filesystem for root= and MD initialization (based on the function name_to_dev_t) which handles different ways of specifying devices including PARTUUID and major:minor. Switch to using name_to_dev_t() in dm_get_device(). Rather than having DM assume that all things which are not major:minor are paths in an already-mounted filesystem, change dm_get_device() to first attempt to look up the device in the filesystem, and if not found it will fall back to using name_to_dev_t(). In terms of backwards compatibility, there are some cases where behavior will be different: - If you have a file in the current working directory named 1:2 and you initialze DM there, then it will try to use that file rather than the disk with that major:minor pair as a backing device. - Similarly for other bdev types which name_to_dev_t() knows how to interpret, the previous behavior was to repeatedly check for the existence of the file (e.g., while waiting for rootfs to come up) but the new behavior is to use the name_to_dev_t() interpretation. For example, if you have a file named /dev/ubiblock0_0 which is a symlink to /dev/sda3, but it is not yet present when DM starts to initialize, then the name_to_dev_t() interpretation will take precedence. These incompatibilities would only show up in really strange setups with bad practices so we shouldn't have to worry about them. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 283e7ad0241155710f99a9f39d13313a53336926 Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Tue Feb 10 15:20:50 2015 -0800 init: stricter checking of major:minor root= values In the kernel command-line, previously, root=1:2jakshflaksjdhfa would be accepted and interpreted just like root=1:2. This patch adds stricter checking so that additional characters after major:minor are rejected by root=. The goal of this change is to help in unifying DM's interpretation of its block device argument by using existing kernel code (name_to_dev_t). But DM rejects malformed major:minor pairs, it seems reasonable for root= to reject them as well. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e6e20a7a5f3f49bfee518d5c6849107398d83912 Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Tue Feb 10 15:20:49 2015 -0800 init: export name_to_dev_t and mark name argument as const DM will switch its device lookup code to using name_to_dev_t() so it must be exported. Also, the @name argument should be marked const. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 17e149b8f73ba116e71e25930dd6f2eb3828792d Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Wed Mar 11 15:01:09 2015 -0400 dm: add 'use_blk_mq' module param and expose in per-device ro sysfs attr Request-based DM's blk-mq support defaults to off; but a user can easily change the default using the dm_mod.use_blk_mq module/boot option. Also, you can check what mode a given request-based DM device is using with: cat /sys/block/dm-X/dm/use_blk_mq This change enabled further cleanup and reduced work (e.g. the md->io_pool and md->rq_pool isn't created if using blk-mq). Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 022333427a8aa4ccb318a9db90cea4e69ca1826b Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Mar 10 23:49:26 2015 -0400 dm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mq dm_mq_queue_rq() is in atomic context so care must be taken to not sleep -- as such GFP_ATOMIC is used for the md->bs bioset allocations and dm-mpath's call to blk_get_request(). In the future the bioset allocations will hopefully go away (by removing support for partial completions of bios in a cloned request). Also prepare for supporting DM blk-mq ontop of old-style request_fn device(s) if a new dm-mod 'use_blk_mq' parameter is set. The kthread will still be used to queue work if blk-mq is used ontop of old-style request_fn device(s). Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit bfebd1cdb497a57757c83f5fbf1a29931591e2a4 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Sun Mar 8 00:51:47 2015 -0500 dm: add full blk-mq support to request-based DM Commit e5863d9ad ("dm: allocate requests in target when stacking on blk-mq devices") served as the first step toward fully utilizing blk-mq in request-based DM -- it enabled stacking an old-style (request_fn) request_queue ontop of the underlying blk-mq device(s). That first step didn't improve performance of DM multipath ontop of fast blk-mq devices (e.g. NVMe) because the top-level old-style request_queue was severely limited by the queue_lock. The second step offered here enables stacking a blk-mq request_queue ontop of the underlying blk-mq device(s). This unlocks significant performance gains on fast blk-mq devices, Keith Busch tested on his NVMe testbed and offered this really positive news: "Just providing a performance update. All my fio tests are getting roughly equal performance whether accessed through the raw block device or the multipath device mapper (~470k IOPS). I could only push ~20% of the raw iops through dm before this conversion, so this latest tree is looking really solid from a performance standpoint." Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Tested-by: Keith Busch <keith.busch@xxxxxxxxx> commit 0ce65797a77ee780f62909d3128bf08b9735718b Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Feb 26 00:50:28 2015 -0500 dm: impose configurable deadline for dm_request_fn's merge heuristic Otherwise, for sequential workloads, the dm_request_fn can allow excessive request merging at the expense of increased service time. Add a per-device sysfs attribute to allow the user to control how long a request, that is a reasonable merge candidate, can be queued on the request queue. The resolution of this request dispatch deadline is in microseconds (ranging from 1 to 100000 usecs), to set a 20us deadline: echo 20 > /sys/block/dm-7/dm/rq_based_seq_io_merge_deadline The dm_request_fn's merge heuristic and associated extra accounting is disabled by default (rq_based_seq_io_merge_deadline is 0). This sysfs attribute is not applicable to bio-based DM devices so it will only ever report 0 for them. By allowing a request to remain on the queue it will block others requests on the queue. But introducing a short dequeue delay has proven very effective at enabling certain sequential IO workloads on really fast, yet IOPS constrained, devices to build up slightly larger IOs -- yielding 90+% throughput improvements. Having precise control over the time taken to wait for larger requests to build affords control beyond that of waiting for certain IO sizes to accumulate (which would require a deadline anyway). This knob will only ever make sense with sequential IO workloads and the particular value used is storage configuration specific. Given the expected niche use-case for when this knob is useful it has been deemed acceptable to expose this relatively crude method for crafting optimal IO on specific storage -- especially given the solution is simple yet effective. In the context of DM multipath, it is advisable to tune this sysfs attribute to a value that offers the best performance for the common case (e.g. if 4 paths are expected active, tune for that; if paths fail then performance may be slightly reduced). Alternatives were explored to have request-based DM autotune this value (e.g. if/when paths fail) but they were quickly deemed too fragile and complex to warrant further design and development time. If this problem proves more common as faster storage emerges we'll have to look at elevating a generic solution into the block core. Tested-by: Shiva Krishna Merla <shivakrishna.merla@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit b898320d683d54c2bc17b748b9742d2b601ad453 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Feb 27 17:58:42 2015 -0500 dm sysfs: introduce ability to add writable attributes Add DM_ATTR_RW() macro and establish .store method in dm_sysfs_ops. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit de3ec86dff160d35c817bb70eeaeff6e392f44a4 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Feb 24 21:58:21 2015 -0500 dm: don't start current request if it would've merged with the previous Request-based DM's dm_request_fn() is so fast to pull requests off the queue that steps need to be taken to promote merging by avoiding request processing if it makes sense. If the current request would've merged with previous request let the current request stay on the queue longer. Suggested-by: Jens Axboe <axboe@xxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit d548b34b062b60b4f4df295a0b4823dfda1f1fc4 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Mar 5 22:21:10 2015 -0500 dm: reduce the queue delay used in dm_request_fn from 100ms to 10ms Commit 7eaceaccab ("block: remove per-queue plugging") didn't justify DM's use of a 100ms delay; such an extended delay is a liability when there is reason to re-kick the queue. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 9d1deb83d489364f8749a3a1ba1689efb07d94b0 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Feb 24 20:49:18 2015 -0500 dm: don't schedule delayed run of the queue if nothing to do In request-based DM's dm_request_fn(), if blk_peek_request() returns NULL just return. Avoids unnecessary blk_delay_queue(). Reported-by: Jens Axboe <axboe@xxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 9a0e609e3fd8a95c96629b9fbde6b8c5b9a1456a Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Feb 24 11:03:22 2015 -0500 dm: only run the queue on completion if congested or no requests pending On really fast storage it can be beneficial to delay running the request_queue to allow the elevator more opportunity to merge requests. Otherwise, it has been observed that requests are being sent to q->request_fn much quicker than is ideal on IOPS-bound backends. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit ff36ab34583ae23250a4bf39805d69771e7e0131 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Feb 23 17:56:37 2015 -0500 dm: remove request-based logic from make_request_fn wrapper The old dm_request() method used for q->make_request_fn had a branch for request-based DM support but it isn't needed given that dm_init_request_based_queue() sets it to the standard blk_queue_bio() anyway. Cleanup dm_init_md_queue() to be DM device-type agnostic and have dm_setup_md_queue() properly finish queue setup based on DM device-type (bio-based vs request-based). A followup block patch can be made to remove the export for blk_queue_bio() now that DM no longer calls it directly. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit ac98b4c015b50b1e452f8d55b612320be7f80825 Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Mon Apr 13 14:20:54 2015 +0800 ASoC: Intel: Remove invalid kfree of devm allocated data kbuild robot reports following warning: "sound/soc/intel/haswell/sst-haswell-ipc.c:2204:1-6: WARNING: invalid free of devm_ allocated data" As julia explains to me, the memory allocated with devm_kalloc is freed automatically on failure of a probe function. So this kfree should be removed otherwise the double free will be got in error handler path. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d1acba2fdebb449bad01e7cf77a9f9730dfaca6e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Apr 13 06:00:45 2015 +0000 ASoC: rsnd: set dmaen->chan = NULL when error case rsnd_dmaen_quit() is assuming dmaen->chan is NULL if it failed to get DMAEngine channel. but, current dmaen->chan might have error value when error case (this driver is checking it by IS_ERR_OR_NULL()) This patch makes sure dmaen->chan is NULL when error case. Otherwise, it will contact to unknown address in rsnd_dmaen_quit() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 96f05be37f4ece1dffba92d4ae079a486a4cf6df Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 13 14:23:29 2015 +0200 ASoC: qcom: Return an error for invalid PCM trigger command Fix a compile warning sound/soc/qcom/lpass-cpu.c: In function â??lpass_cpu_daiops_triggerâ??: sound/soc/qcom/lpass-cpu.c:224:2: warning: â??retâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] return ret; ^ Although switch () lists the most of existing cases, it's still better to cover the rest as an error properly. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Acked-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c373ca89399c5a3f7ef210ad8f63dc3437da345 Merge: bb0fd7a 9f91514 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 15 09:00:47 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Pull networking updates from David Miller: 1) Add BQL support to via-rhine, from Tino Reichardt. 2) Integrate SWITCHDEV layer support into the DSA layer, so DSA drivers can support hw switch offloading. From Floria Fainelli. 3) Allow 'ip address' commands to initiate multicast group join/leave, from Madhu Challa. 4) Many ipv4 FIB lookup optimizations from Alexander Duyck. 5) Support EBPF in cls_bpf classifier and act_bpf action, from Daniel Borkmann. 6) Remove the ugly compat support in ARP for ugly layers like ax25, rose, etc. And use this to clean up the neigh layer, then use it to implement MPLS support. All from Eric Biederman. 7) Support L3 forwarding offloading in switches, from Scott Feldman. 8) Collapse the LOCAL and MAIN ipv4 FIB tables when possible, to speed up route lookups even further. From Alexander Duyck. 9) Many improvements and bug fixes to the rhashtable implementation, from Herbert Xu and Thomas Graf. In particular, in the case where an rhashtable user bulk adds a large number of items into an empty table, we expand the table much more sanely. 10) Don't make the tcp_metrics hash table per-namespace, from Eric Biederman. 11) Extend EBPF to access SKB fields, from Alexei Starovoitov. 12) Split out new connection request sockets so that they can be established in the main hash table. Much less false sharing since hash lookups go direct to the request sockets instead of having to go first to the listener then to the request socks hashed underneath. From Eric Dumazet. 13) Add async I/O support for crytpo AF_ALG sockets, from Tadeusz Struk. 14) Support stable privacy address generation for RFC7217 in IPV6. From Hannes Frederic Sowa. 15) Hash network namespace into IP frag IDs, also from Hannes Frederic Sowa. 16) Convert PTP get/set methods to use 64-bit time, from Richard Cochran. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1816 commits) fm10k: Bump driver version to 0.15.2 fm10k: corrected VF multicast update fm10k: mbx_update_max_size does not drop all oversized messages fm10k: reset head instead of calling update_max_size fm10k: renamed mbx_tx_dropped to mbx_tx_oversized fm10k: update xcast mode before synchronizing multicast addresses fm10k: start service timer on probe fm10k: fix function header comment fm10k: comment next_vf_mbx flow fm10k: don't handle mailbox events in iov_event path and always process mailbox fm10k: use separate workqueue for fm10k driver fm10k: Set PF queues to unlimited bandwidth during virtualization fm10k: expose tx_timeout_count as an ethtool stat fm10k: only increment tx_timeout_count in Tx hang path fm10k: remove extraneous "Reset interface" message fm10k: separate PF only stats so that VF does not display them fm10k: use hw->mac.max_queues for stats fm10k: only show actual queues, not the maximum in hardware fm10k: allow creation of VLAN on default vid fm10k: fix unused warnings ... commit c7f94520e988c9313c09e2768874c99d3b062dcc Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Apr 15 08:48:47 2015 -0700 i2c: jz4780: Fix build for m68k and sparc64 Fix: drivers/i2c/busses/i2c-jz4780.c: In function 'jz4780_i2c_readw': drivers/i2c/busses/i2c-jz4780.c:181:2: error: implicit declaration of function 'readw' drivers/i2c/busses/i2c-jz4780.c: In function 'jz4780_i2c_writew': drivers/i2c/busses/i2c-jz4780.c:187:2: error: implicit declaration of function 'writew' seen with sparc64:allmodconfig and m68k:allmodconfig. The driver has to include linux/io.h. Fixes: ba92222ed63a ("i2c: jz4780: Add i2c bus controller driver for Ingenic JZ4780") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit decf63336e356423300b935afbebeca1fcb15184 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Tue Apr 14 12:04:10 2015 +0800 KVM: MMU: fix comment in kvm_mmu_zap_collapsible_spte Soft mmu uses direct shadow page to fill guest large mapping with small pages if huge mapping is disallowed on host. So zapping direct shadow page works well both for soft mmu and hard mmu, it's just less widely applicable. Fix the comment to reflect this. Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Message-Id: <552C91BA.1010703@xxxxxxxxxxxxxxx> [Fix comment wording further. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 130005231c9f2090b1b177e2cca9841b562c1784 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Wed Apr 15 10:24:54 2015 +0800 kvm: mmu: don't do memslot overflow check As Andres pointed out: | I don't understand the value of this check here. Are we looking for a | broken memslot? Shouldn't this be a BUG_ON? Is this the place to care | about these things? npages is capped to KVM_MEM_MAX_NR_PAGES, i.e. | 2^31. A 64 bit overflow would be caused by a gigantic gfn_start which | would be trouble in many other ways. This patch drops the memslot overflow check to make the codes more simple. Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Message-Id: <1429064694-3072-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 95fce4fa0850da8f85ecf8d069ab3fc6c8bc1478 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Apr 15 12:27:04 2015 +0200 KVM: s390: disable RRBM again commit b273921356df ("KVM: s390: enable more features that need no hypervisor changes") also enabled RRBM. Turns out that this instruction does need some KVM code, so lets disable that bit again. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Fixes: b273921356df ("KVM: s390: enable more features that need no hypervisor changes") Message-Id: <1429093624-49611-2-git-send-email-borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 33236415ece63d5689411f3ddb676eeb93af2698 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Apr 9 22:58:04 2015 +0200 scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning if()/BUG conversion to BUG_ON must be avoided when there's side effect in condition. The reason being BUG_ON won't execute the condition when CONFIG_BUG is not defined. Inspired-by: J. Bruce Fields <bfields@xxxxxxxxxxxx> Suggested-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 99b2cdde83726a89daadbfd1264fb9a3b91eed0b Author: Alex Pilon <alp+linux@xxxxxxxxxxxx> Date: Tue Apr 14 00:38:33 2015 -0400 scripts/extract-ikconfig: Support LZ4-compressed images. Support for kernel image LZ4 compression was added around 3.11, but not the corresponding kernel .config extraction. This makes possible extracting the kernel config for LZ4-compressed kernels you're not running, or the current LZ4-compressed kernel if compiled without /proc/config.gz support. Signed-off-by: Alex Pilon <alp+linux@xxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 80ed156a3d12819a8c839f40f5b6996c4aa117a5 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 14:34:33 2015 +0200 s390/pci: add locking for fmb access Function measurement can be toggled at runtime. Make sure that all access to the fmb is protected via a mutex. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6001018ae8c659e624351d2e73b1272bacd68d6a Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 14:33:08 2015 +0200 s390/pci: extract software counters from fmb The software counters are not a part of the function measurement block. Also we do not check for zdev->fmb != NULL when using these counters (function measurement can be toggled at runtime). Just move the software counters to struct zpci_dev. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit df3044f1ef002c2269b11cb76a1b2bec629732b4 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Thu Apr 2 13:18:39 2015 +0200 s390/dasd: Fix unresumed device after suspend/resume having no paths The DASD device driver prevents I/O from being started on stopped devices. This also prevented channel paths to be verified and so the device was unable to be resumed. Fix by allowing path verification requests on stopped devices. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a3147a7bc266df39b4f471ee7c4c9adcb56d29a6 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Thu Apr 2 12:52:41 2015 +0200 s390/dasd: fix unresumed device after suspend/resume The DASD device driver only has a limited amount of memory to build I/O requests. This memory was used by blocklayer requests leading to an inability to build needed internal requests to resume the device. Fix by preventing the DASD driver to fetch requests for a stopped device. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Reference-ID: RQM 2520 Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit f2608cd4a37479d11d0748f524a6a363ee38631f Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Thu Apr 2 12:27:25 2015 +0200 s390/dasd: fix inability to set a DASD device offline Fix ref counting for DASD devices leading to an inability to set a DASD device offline. Before a worker is scheduled the DASD device driver takes a reference to the device. If the worker was already scheduled this reference was never freed. Fix by giving the reference to the DASD device free when schedule_work() returns false. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8741ce6d114873e482b1ef298d6537d18ff393d3 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 18:49:11 2015 +0200 s390/mm: Fix memory hotplug for unaligned standby memory Commit 27356f54c8c3 ("mm/hotplug: verify hotplug memory range") introduced a check that makes add_memory() only accept section size aligned memory. Therefore on z/VM systems, where standby memory is not aligned, no standby memory is registered at all. Example: #cp def store 3504M standby 2336M 00: CP Q V STORE 00: STORAGE = 3504M MAX = 6G INC = 8M STANDBY = 2336M RESERVED = 0 For this setup the following error message is printed: Section-unaligned hotplug range: start 0xdb000000, size 0x92000000 So fix this and register aligned memory in "sclp_cmd.c". This means that for the corner cases where the standby memory is not aligned we loose some memory. In order to inform the user about the potential loss of standby memory, we add a new message for each added standby block and print how much of the standby memory is usable, for example: sclp_cmd.4336b4: Standby memory at 0x50000000 (256M of 256M usable) sclp_cmd.4336b4: Standby memory at 0xb0000000 (256M of 256M usable) sclp_cmd.4336b4: Standby memory at 0xdb000000 (2048M of 2336M usable) We also ensure that a potential memory block that contains both "assigned" and "standby" memory cannot be setup offline. Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 054623105728b06852f077299e2bf1bf3d5f2b0b Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 16:08:32 2015 +0200 s390/bpf: Add s390x eBPF JIT compiler backend Replace 32 bit BPF JIT backend with new 64 bit eBPF backend. Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1c6e4b1811bffc6b0520310f6d8a6b4ec760fdbc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 16:46:05 2015 -0700 s390: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0b97b03d88b40bfbd7ff0e069186a137d9786d43 Author: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> Date: Thu Apr 9 08:05:10 2015 +0100 xen/pci: Try harder to get PXM information for Xen If the device being added to Xen is not contained in the ACPI table, walk the PCI device tree to find a parent that is contained in the ACPI table before finding the PXM information from this device. Previously, it would try to get a handle for the device, then the device's bridge, then the physfn. This changes the order so that it tries to get a handle for the device, then the physfn, the walks up the PCI device tree. Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit ccc9d90a9a8b5c4ad7e9708ec41f75ff9e98d61d Author: Wei Liu <wei.liu2@xxxxxxxxxx> Date: Fri Apr 3 14:44:59 2015 +0800 xenbus_client: Extend interface to support multi-page ring Originally Xen PV drivers only use single-page ring to pass along information. This might limit the throughput between frontend and backend. The patch extends Xenbus driver to support multi-page ring, which in general should improve throughput if ring is the bottleneck. Changes to various frontend / backend to adapt to the new interface are also included. Affected Xen drivers: * blkfront/back * netfront/back * pcifront/back * scsifront/back * vtpmfront The interface is documented, as before, in xenbus_client.c. Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit b99e6fb86541e4dc28f5c3ff7418347fa9d8d29c Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 15 10:00:35 2015 +0200 pinctrl: fix allmodconfig noise There was some mess in the dependencies in the pinctrl Kconfig for compile tests under allmodconfig. Mea Culpa. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2fe0753d49402aee325cc39c476b46fd51a8afec Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Apr 14 12:52:50 2015 -0700 powerpc/powermac: Fix build error seen with powermac smp builds powermac smp builds fail with arch/powerpc/platforms/powermac/smp.c: In function 'smp_psurge_probe': arch/powerpc/platforms/powermac/smp.c:278:3: error: 'return' with a value, in function returning void There are several instances of this error. Fixes: a7f4ee1fe93a ("powerpc: Drop return value of smp_ops->probe()") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2aea6dcb7864e174dada15728c43c5330637d424 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Tue Apr 7 19:45:42 2015 -0400 i40e: Bump version to 1.3.2 Bump. Change-ID: Id14baae72332d0f1a9bc5d351ea1a85cb0295ec3 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bb0fd7ab0986105765d11baa82e619c618a235aa Merge: bdfa54d 4b2f883 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 21:03:26 2015 -0700 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM updates from Russell King: "Included in this update are both some long term fixes and some new features. Fixes: - An integer overflow in the calculation of ELF_ET_DYN_BASE. - Avoiding OOMs for high-order IOMMU allocations - SMP requires the data cache to be enabled for synchronisation primitives to work, so prevent the CPU_DCACHE_DISABLE option being visible on SMP builds. - A bug going back 10+ years in the noMMU ARM94* CPU support code, where it corrupts registers. Found by folk getting Linux running on their cameras. - Versatile Express needs an errata workaround enabled for CPU hot-unplug to work. Features: - Clean up module linker by handling out of range relocations separately from relocation cases we don't handle. - Fix a long term bug in the pci_mmap_page_range() code, which we hope won't impact userspace (we hope there's no users of the existing broken interface.) - Don't map DMA coherent allocations when we don't have a MMU. - Drop experimental status for SMP_ON_UP. - Warn when DT doesn't specify ePAPR mandatory cache properties. - Add documentation concerning how we find the start of physical memory for AUTO_ZRELADDR kernels, detailing why we have chosen the mask and the implications of changing it. - Updates from Ard Biesheuvel to address some issues with large kernels (such as allyesconfig) failing to link. - Allow hibernation to work on modern (ARMv7) CPUs - this appears to have never worked in the past on these CPUs. - Enable IRQ_SHOW_LEVEL, which changes the /proc/interrupts output format (hopefully without userspace breaking... let's hope that if it causes someone a problem, they tell us.) - Fix tegra-ahb DT offsets. - Rework ARM errata 643719 code (and ARMv7 flush_cache_louis()/ flush_dcache_all()) code to be more efficient, and enable this errata workaround by default for ARMv7+SMP CPUs. This complements the Versatile Express fix above. - Rework ARMv7 context code for errata 430973, so that only Cortex A8 CPUs are impacted by the branch target buffer flush when this errata is enabled. Also update the help text to indicate that all r1p* A8 CPUs are impacted. - Switch ARM to the generic show_mem() implementation, it conveys all the information which we were already reporting. - Prevent slow timer sources being used for udelay() - timers running at less than 1MHz are not useful for this, and can cause udelay() to return immediately, without any wait. Using such a slow timer is silly. - VDSO support for 32-bit ARM, mainly for gettimeofday() using the ARM architected timer. - Perf support for Scorpion performance monitoring units" vdso semantic conflict fixed up as per linux-next. * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (52 commits) ARM: update errata 430973 documentation to cover Cortex A8 r1p* ARM: ensure delay timer has sufficient accuracy for delays ARM: switch to use the generic show_mem() implementation ARM: proc-v7: avoid errata 430973 workaround for non-Cortex A8 CPUs ARM: enable ARM errata 643719 workaround by default ARM: cache-v7: optimise test for Cortex A9 r0pX devices ARM: cache-v7: optimise branches in v7_flush_cache_louis ARM: cache-v7: consolidate initialisation of cache level index ARM: cache-v7: shift CLIDR to extract appropriate field before masking ARM: cache-v7: use movw/movt instructions ARM: allow 16-bit instructions in ALT_UP() ARM: proc-arm94*.S: fix setup function ARM: vexpress: fix CPU hotplug with CT9x4 tile. ARM: 8276/1: Make CPU_DCACHE_DISABLE depend on !SMP ARM: 8335/1: Documentation: DT bindings: Tegra AHB: document the legacy base address ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address ARM: 8333/1: amba: tegra-ahb: fix register offsets in the macros ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL ARM: 8338/1: kexec: Relax SMP validation to improve DT compatibility ARM: 8337/1: mm: Do not invoke OOM for higher order IOMMU DMA allocations ... commit b9cc4489c68de59f7a38ef4e02a9829465a6a544 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Apr 15 13:23:48 2015 +0930 params: handle quotes properly for values not of form foo="bar". When starting kernel with arguments like: init=/bin/sh -c "echo arguments" the trailing double quote is not removed which results in following command being executed: /bin/sh -c 'echo arguments"' Reported-by: Arthur Gautier <baloo@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit bdfa54dfd9eea001274dbcd622657a904fe43b81 Merge: 2481bc7 a1307bb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 20:51:44 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "The major change in this merge is the removal of the support for 31-bit kernels. Naturally 31-bit user space will continue to work via the compat layer. And then some cleanup, some improvements and bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (23 commits) s390/smp: wait until secondaries are active & online s390/hibernate: fix save and restore of kernel text section s390/cacheinfo: add missing facility check s390/syscalls: simplify syscall_get_arch() s390/irq: enforce correct irqclass_sub_desc array size s390: remove "64" suffix from mem64.S and swsusp_asm64.S s390/ipl: cleanup macro usage s390/ipl: cleanup shutdown_action attributes s390/ipl: cleanup bin attr usage s390/uprobes: fix address space annotation s390: add missing arch_release_task_struct() declaration s390: make couple of functions and variables static s390/maccess: improve s390_kernel_write() s390/maccess: remove potentially broken probe_kernel_write() s390/watchdog: support for KVM hypervisors and delete pr_info messages s390/watchdog: enable KEEPALIVE for /dev/watchdog s390/dasd: remove setting of scheduler from driver s390/traps: panic() instead of die() on translation exception s390: remove test_facility(2) (== z/Architecture mode active) checks s390/cmpxchg: simplify cmpxchg_double ... commit edf5cffd58d8e1a4b1bd5de43bc9f0553f9910fc Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Tue Apr 7 19:45:41 2015 -0400 i40e: Use new 40G speeds The kernel has added SPEED_40000 for ethtool. Go ahead and use the new #define. Change-ID: Ic7e16e5c9e91085afe539f11ee1b7668adc4d0ef Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0f575bf3382d5bdb58ba571b1fd573b994bb11ba Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Apr 7 19:45:40 2015 -0400 i40e: get rid of unused locals These changes just remove unused variables and any code that uses them as the results of storing into these variables doesn't have any side effects that I can see or provide any benefit. Change-ID: I8a5ec7132ff1443d23aae729cef94beaaaf19e3a Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c1147280d2a336ac6723a8dc8b74f809fd6db02c Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Apr 7 19:45:39 2015 -0400 i40e: handle possible memory allocation failure The init_interrupt_scheme function had a possible failure path to allocate memory that was found by smatch. This adds the correct handling to the function to abort probe if the memory allocation fails. Change-ID: I2bf1d826a244209619da4c452d0d58b3eb5e26a3 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 73b23402bb232ce655cf45aaca4f7feee317deb1 Author: Kevin Scott <kevin.c.scott@xxxxxxxxx> Date: Tue Apr 7 19:45:38 2015 -0400 i40e/i40evf: Save WR_CSR_PROT field from DEV/FUNC capabilities Store the 8 bytes of the WR_CSR_PROT field returned as part of the get device/function capabilities AQ command. Change-ID: Ifcaeea2ff29885fa769e4f384c7db88a25e8afd0 Signed-off-by: Kevin Scott <kevin.c.scott@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2481bc75283ea10e75d5fb1a8b42af363fc4b45c Merge: 8691c13 518b4e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 20:21:54 2015 -0700 Merge tag 'pm+acpi-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI updates from Rafael Wysocki: "These are mostly fixes and cleanups all over, although there are a few items that sort of fall into the new feature category. First off, we have new callbacks for PM domains that should help us to handle some issues related to device initialization in a better way. There also is some consolidation in the unified device properties API area allowing us to use that inferface for accessing data coming from platform initialization code in addition to firmware-provided data. We have some new device/CPU IDs in a few drivers, support for new chips and a new cpufreq driver too. Specifics: - Generic PM domains support update including new PM domain callbacks to handle device initialization better (Russell King, Rafael J Wysocki, Kevin Hilman) - Unified device properties API update including a new mechanism for accessing data provided by platform initialization code (Rafael J Wysocki, Adrian Hunter) - ARM cpuidle update including ARM32/ARM64 handling consolidation (Daniel Lezcano) - intel_idle update including support for the Silvermont Core in the Baytrail SOC and for the Airmont Core in the Cherrytrail and Braswell SOCs (Len Brown, Mathias Krause) - New cpufreq driver for Hisilicon ACPU (Leo Yan) - intel_pstate update including support for the Knights Landing chip (Dasaratharaman Chandramouli, Kristen Carlson Accardi) - QorIQ cpufreq driver update (Tang Yuantian, Arnd Bergmann) - powernv cpufreq driver update (Shilpasri G Bhat) - devfreq update including Tegra support changes (Tomeu Vizoso, MyungJoo Ham, Chanwoo Choi) - powercap RAPL (Running-Average Power Limit) driver update including support for Intel Broadwell server chips (Jacob Pan, Mathias Krause) - ACPI device enumeration update related to the handling of the special PRP0001 device ID allowing DT-style 'compatible' property to be used for ACPI device identification (Rafael J Wysocki) - ACPI EC driver update including limited _DEP support (Lan Tianyu, Lv Zheng) - ACPI backlight driver update including a new mechanism to allow native backlight handling to be forced on non-Windows 8 systems and a new quirk for Lenovo Ideapad Z570 (Aaron Lu, Hans de Goede) - New Windows Vista compatibility quirk for Sony VGN-SR19XN (Chen Yu) - Assorted ACPI fixes and cleanups (Aaron Lu, Martin Kepplinger, Masanari Iida, Mika Westerberg, Nan Li, Rafael J Wysocki) - Fixes related to suspend-to-idle for the iTCO watchdog driver and the ACPI core system suspend/resume code (Rafael J Wysocki, Chen Yu) - PM tracing support for the suspend phase of system suspend/resume transitions (Zhonghui Fu) - Configurable delay for the system suspend/resume testing facility (Brian Norris) - PNP subsystem cleanups (Peter Huewe, Rafael J Wysocki)" * tag 'pm+acpi-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (74 commits) ACPI / scan: Fix NULL pointer dereference in acpi_companion_match() ACPI / scan: Rework modalias creation when "compatible" is present intel_idle: mark cpu id array as __initconst powercap / RAPL: mark rapl_ids array as __initconst powercap / RAPL: add ID for Broadwell server intel_pstate: Knights Landing support intel_pstate: remove MSR test cpufreq: fix qoriq uniprocessor build ACPI / scan: Take the PRP0001 position in the list of IDs into account ACPI / scan: Simplify acpi_match_device() ACPI / scan: Generalize of_compatible matching device property: Introduce firmware node type for platform data device property: Make it possible to use secondary firmware nodes PM / watchdog: iTCO: stop watchdog during system suspend cpufreq: hisilicon: add acpu driver ACPI / EC: Call acpi_walk_dep_device_list() after installing EC opregion handler cpufreq: powernv: Report cpu frequency throttling intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs intel_idle: Update support for Silvermont Core in Baytrail SOC PM / devfreq: tegra: Register governor on module init ... commit 3169c323cf9dc3b00b0a6a3d434968832daa4147 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Apr 7 19:45:37 2015 -0400 i40e: enable user dump of internal hardware state This is a feature to enable better debugging of user reported issues by allowing a bash script to acquire information about the internal hardware state. The data output to the kernel log is collected by the script and can then be sent to Intel. This is a critical debugging feature for helping us interpret and reproduce complex customer setups. Change-ID: Ie8b3ab09086d6870a709015f51ada05af10b41bb Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9abbfb486f5c254805bb6a3f263bc14d989eb90b Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:45 2015 +0930 virtio: drop virtio_device_is_legacy_only virtio_device_is_legacy_only is now unused, drop it from core. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit f71d8286c1368f2dbbed5d1b59a574c7f25701e8 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:45 2015 +0930 virtio_pci: support non-legacy balloon devices virtio_device_is_legacy_only is always false now, drop the test from virtio pci. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit a62d547c72cd0ed03565b4eb2167536a64bad0f4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:45 2015 +0930 virtio_mmio: support non-legacy balloon devices virtio_device_is_legacy_only is always false now, drop the test from virtio mmio. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 2003a7a5b66fee3b1b90daa1ace62a8d762d4a34 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:44 2015 +0930 virtio_ccw: support non-legacy balloon devices As of last patch, virtio_device_is_legacy_only is always false, drop the test from virtio ccw. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (slight reword) commit 2343dabc6096486b2705ab9420dd292801fc47f3 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:44 2015 +0930 virtio: balloon might not be a legacy device We added transitional device support to balloon driver, so we don't need to black-list it in core anymore. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit df81b29c7b81b9d70ee29b7a263dd5009daa0ce4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 15 10:17:43 2015 +0930 virtio_balloon: transitional interface Virtio 1.0 doesn't include a modern balloon device. But it's not a big change to support a transitional balloon device: this has the advantage of supporting existing drivers, transparently. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 665ae581ae82ed6a28980a32b9d37345db4eed32 Merge: 1d2add2 4195f40 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 15 12:47:29 2015 +1000 Merge branch 'linux-4.1' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next - gk20a iommu support - gm107 graphics support without needing proprietary ucode - various random fixes - more gm20x bring-up, fifo/ce are ok, gr is mostly complete with the exception of ctxsw ucode.. nvidia aren't playing nice yet so there's not much more that can be done at this point... I spent a lot of time trying to find a viable way of doing gr ctxsw without signed firmware, but the "security" restrictions on the fecs/gpccs falcons are excessive and go beyond what'd be necessary to protect the host from malicious firmware. This newer nvidia hw is VERY open-source unfriendly. I have some experimental host-based ctxsw work that could be a viable (albeit unsatisfactory and slow) workaround in the meantime, but it needs some more work and i'd like to get the 3d driver working properly before i commit to pushing it. * 'linux-4.1' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (40 commits) drm/nouveau/bios: fix fetching from acpi on certain systems drm/nouveau/gr/gm206: initial init+ctx code drm/nouveau/ce/gm206: enable support via gm204 code drm/nouveau/fifo/gm206: enable support via gm204 code drm/nouveau/gr/gm204: initial init+ctx code drm/nouveau: support for buffer moves via MaxwellDmaCopyA drm/nouveau/ce/gm204: initial support drm/nouveau: add support for gm20x fifo channels drm/nouveau/fifo/gm204: initial support drm/nouveau/gr/gk104-: prevent reading non-existent regs in intr handler drm/nouveau/gr/gm107: very slightly demagic part of attrib cb setup drm/nouveau/gr/gk104-: correct crop/zrop num_active_fbps setting drm/nouveau/gr/gf100-: add symbolic names for classes drm/nouveau/gr/gm107: support tpc "strand" ctxsw in gpccs ucode drm/nouveau/gr/gf100-: support mmio access with gpc offset from gpccs ucode drm/nouveau/gr: fix engine name, cosmetic search+replace mistake drm/nouveau/pmu/gk20a: add some missing statics drm/nouveau/platform: fix probe error path drm/nouveau/platform: release IOMMU's mm upon exit drm/nouveau/gr/gk104-gk20a: call pmu to disable any power-gating before ctor() ... commit 8d7dc9283f399e1fda4e48a1c453f689326d9396 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 19:33:59 2015 -0700 rcu: Control grace-period delays directly from value In a misguided attempt to avoid an #ifdef, the use of the gp_init_delay module parameter was conditioned on the corresponding RCU_TORTURE_TEST_SLOW_INIT Kconfig variable, using IS_ENABLED() at the point of use in the code. This meant that the compiler always saw the delay, which meant that RCU_TORTURE_TEST_SLOW_INIT_DELAY had to be unconditionally defined. This in turn caused "make oldconfig" to ask pointless questions about the value of RCU_TORTURE_TEST_SLOW_INIT_DELAY in cases where it was not even used. This commit avoids these pointless questions by defining gp_init_delay under #ifdef. In one branch, gp_init_delay is initialized to RCU_TORTURE_TEST_SLOW_INIT_DELAY and is also a module parameter (thus allowing boot-time modification), and in the other branch gp_init_delay is a const variable initialized by default to zero. This approach also simplifies the code at the delay point by eliminating the IS_DEFINED(). Because gp_init_delay is constant zero in the no-delay case intended for production use, the "gp_init_delay > 0" check causes the delay to become dead code, as desired in this case. In addition, this commit replaces magic constant "10" with the preprocessor variable PER_RCU_NODE_PERIOD, which controls the number of grace periods that are allowed to elapse at full speed before a delay is inserted. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9f9151412dd7aae0e3f51a89ae4a1f8755fdb4d0 Merge: bae97d8 f4f88c6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 14 22:29:27 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-04-14 This series contains updates to fm10k only. Fixed transmit statistics which was actually using values from the receive ring, instead of the transmit ring. Fixed up spelling mistakes in code comments and resolved unused argument warnings. Added support for netconsole. Fixed up statistic reporting so that we are only reporting from actual queues as well as display PF only stats for just the PF and not the VF. Also fixed an issue that when returning virtualization queues from the VF back to the PF, we were retaining the VF rate limiter. Fixed up the driver to use a separate workqueue, which helps reduce and stabilize latency between scheduling the work in our interrupt and actually performing the work. Fixed a bug where the VF tried to set a multicast address before requesting the required xcast mode. Fix VF multicast update since VFs were being improperly added to the switch's mutlicast group. The error stems from the fact that incorrect arguments were passed to the update_mc_addr(). Thanks to Alex Duyck for the extensive review. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ee0d34985ceffe4036319e1e46df8bff591b9e3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Apr 15 04:00:27 2015 +0200 ACPICA: Store GPE register enable masks upfront It is reported that ACPI interrupts do not work any more on Dell Latitude D600 after commit c50f13c672df (ACPICA: Save current masks of enabled GPEs after enable register writes). The problem turns out to be related to the fact that the enable_mask and enable_for_run GPE bit masks are not in sync (in the absence of any system suspend/resume events) for at least one GPE register on that machine. Address this problem by writing the enable_for_run mask into enable_mask as soon as enable_for_run is updated instead of doing that only after the subsequent register write has succeeded. For consistency, update acpi_hw_gpe_enable_write() to store the bit mask to be written into the GPE register in enable_mask unconditionally before the write. Since the ACPI_GPE_SAVE_MASK flag is not necessary any more after that, drop it along with the symbols depending on it. Reported-and-tested-by: Jim Bos <jim876@xxxxxxxxx> Fixes: c50f13c672df (ACPICA: Save current masks of enabled GPEs after enable register writes) Cc: 3.19+ <stable@xxxxxxxxxxxxxxx> # 3.19+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 16e00f5a5f12eb32ca39df6a7afd5c0062705af6 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Tue Apr 14 17:01:56 2015 +1000 powerpc/pseries: Fix compile of memory hotplug without CONFIG_MEMORY_HOTREMOVE 51925fb3c5 "powerpc/pseries: Implement memory hotplug remove in the kernel" broke compile when CONFIG_MEMORY_HOTREMOVE is not defined due to missing symbols. This fixes the issue by adding the missing symbols. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Acked-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8691c130fae136bb2b7d0554422a2dff4c6ac169 Merge: c3a416a 85a3685 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 18:25:15 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input subsystem updates from Dmitry Torokhov: "You will get the following new drivers: - Qualcomm PM8941 power key drver - ChipOne icn8318 touchscreen controller driver - Broadcom iProc touchscreen and keypad drivers - Semtech SX8654 I2C touchscreen controller driver ALPS driver now supports newer SS4 devices; Elantech got a fix that should make it work on some ASUS laptops; and a slew of other enhancements and random fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (51 commits) Input: alps - non interleaved V2 dualpoint has separate stick button bits Input: alps - fix touchpad buttons getting stuck when used with trackpoint Input: atkbd - document "no new force-release quirks" policy Input: ALPS - make alps_get_pkt_id_ss4_v2() and others static Input: ALPS - V7 devices can report 5-finger taps Input: ALPS - add support for SS4 touchpad devices Input: ALPS - refactor alps_set_abs_params_mt() Input: elantech - fix absolute mode setting on some ASUS laptops Input: atmel_mxt_ts - split out touchpad initialisation logic Input: atmel_mxt_ts - implement support for T100 touch object Input: cros_ec_keyb - fix clearing keyboard state on wakeup Input: gscps2 - drop pci_ids dependency Input: synaptics - allocate 3 slots to keep stability in image sensors Input: Revert "Revert "synaptics - use dmax in input_mt_assign_slots"" Input: MT - make slot assignment work for overcovered solutions mfd: tc3589x: enforce device-tree only mode Input: tc3589x - localize platform data Input: tsc2007 - Convert msecs to jiffies only once Input: edt-ft5x06 - remove EV_SYN event report Input: edt-ft5x06 - allow to setting the maximum axes value through the DT ... commit f18ae1009276b604ff5776b41af981f25db52240 Author: Vasu Dev <vasu.dev@xxxxxxxxx> Date: Tue Apr 7 19:45:36 2015 -0400 i40e: print FCoE capability reported by the device function This is to allow quick check for FCoE capability is enabled or not in device function before any SW overrides. Change-ID: I5f78ba798d566f143161273156916c6f4074496e Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c3a416a669eb83cfa9ccb52db030e72d654bd105 Merge: 8c194f3 2bbd681 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 18:10:45 2015 -0700 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c updates from Wolfram Sang: "Most notable: - introducing the i2c_quirk infrastructure. Now, flaws of I2C controllers can be described and the core will check if the flaws collide with the messages to be sent - wait_for_completion return type cleanup series - new drivers for Digicolor, Netlogic XLP, Ingenic JZ4780 - updates to the I2C slave framework which include API changes. Its only user was updated, too. Documentation was finally added - changed dynamic bus numbering for the DT case. This could change bus numbers for users. However, it fixes a collision where dynamic and static busses request the same id. - driver bugfixes, cleanups" * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (52 commits) i2c: xlp9xx: Driver for Netlogic XLP9XX/5XX I2C controller of: Add vendor prefix 'netlogic' i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery i2c: davinci: use bus recovery infrastructure i2c: change input parameter to i2c_adapter for prepare/unprepare_recovery i2c: i2c-mux-gpio: remove error messages for probe deferrals i2c: jz4780: Add i2c bus controller driver for Ingenic JZ4780 i2c: dln2: set the device tree node of the adapter i2c: davinci: fixup wait_for_completion_timeout handling i2c: mpc: Fix ISR return value i2c: slave-eeprom: add more info when to increase the pointer i2c: slave: add documentation for i2c-slave-eeprom Documentation: i2c: describe the new slave mode i2c: slave: rework the slave API i2c: add support for the Digicolor I2C controller i2c: busses with dynamic ids should start after fixed ids for DT of: base: add function to get highest id of an alias stem i2c: designware: Suppress error message if platform_get_irq() < 0 i2c: mpc: assign the correct prescaler from SVR i2c: img-scb: fixup of wait_for_completion_timeout return handling ... commit 8c194f3bd322a8bd44d079092d870549b8ae62d1 Merge: 07e492e 5a0ff17 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 18:06:47 2015 -0700 Merge tag 'vfio-v4.1-rc1' of git://github.com/awilliam/linux-vfio Pull VFIO updates from Alex Williamson: - VFIO platform bus driver support (Baptiste Reynal, Antonios Motakis, testing and review by Eric Auger) - Split VFIO irqfd support to separate module (Alex Williamson) - vfio-pci VGA arbiter client (Alex Williamson) - New vfio-pci.ids= module option (Alex Williamson) - vfio-pci D3 power state support for idle devices (Alex Williamson) * tag 'vfio-v4.1-rc1' of git://github.com/awilliam/linux-vfio: (30 commits) vfio-pci: Fix use after free vfio-pci: Move idle devices to D3hot power state vfio-pci: Remove warning if try-reset fails vfio-pci: Allow PCI IDs to be specified as module options vfio-pci: Add VGA arbiter client vfio-pci: Add module option to disable VGA region access vgaarb: Stub vga_set_legacy_decoding() vfio: Split virqfd into a separate module for vfio bus drivers vfio: virqfd_lock can be static vfio: put off the allocation of "minor" in vfio_create_group vfio/platform: implement IRQ masking/unmasking via an eventfd vfio: initialize the virqfd workqueue in VFIO generic code vfio: move eventfd support code for VFIO_PCI to a separate file vfio: pass an opaque pointer on virqfd initialization vfio: add local lock for virqfd instead of depending on VFIO PCI vfio: virqfd: rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and export vfio/platform: support for level sensitive interrupts vfio/platform: trigger an interrupt via eventfd vfio/platform: initial interrupts support code ... commit 07e492eb8921a8aa53fd2bf637bee3da94cc03fe Merge: b240452 1dfe0d1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 17:58:15 2015 -0700 Merge tag 'pinctrl-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pincontrol updates from Linus Walleij: "This is the bulk of pin control changes for the v4.1 development cycle. Nothing really exciting this time: we basically added a few new drivers and subdrivers and stabilized them in linux-next. Some cleanups too. With sunrisepoint Intel has a real fine fully featured pin control driver for contemporary hardware, and the AMD driver is also for large deployments. Most of the others are ARM devices. New drivers: - Intel Sunrisepoint - AMD KERNCZ GPIO - Broadcom Cygnus IOMUX New subdrivers: - Marvell MVEBU Armada 39x SoCs - Samsung Exynos 5433 - nVidia Tegra 210 - Mediatek MT8135 - Mediatek MT8173 - AMLogic Meson8b - Qualcomm PM8916 On top of this cleanups and development history for the above drivers as issues were fixed after merging" * tag 'pinctrl-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (71 commits) pinctrl: sirf: move sgpio lock into state container pinctrl: Add support for PM8916 GPIO's and MPP's pinctrl: bcm2835: Fix support for threaded level triggered IRQs sh-pfc: r8a7790: add EtherAVB pin groups pinctrl: Document "function" + "pins" pinmux binding pinctrl: intel: Add Intel Sunrisepoint pin controller and GPIO support pinctrl: fsl: imx: Check for 0 config register pinctrl: Add support for Meson8b documentation: Extend pinctrl docs for Meson8b pinctrl: Cleanup Meson8 driver Fix inconsistent spinlock of AMD GPIO driver which can be recognized by static analysis tool smatch. Declare constant Variables with Sparse's suggestion. pinctrl: at91: convert __raw to endian agnostic IO pinctrl: constify of_device_id array pinctrl: pinconf-generic: add dt node names to error messages pinctrl: pinconf-generic: scan also referenced phandle node pinctrl: mvebu: add suspend/resume support to Armada XP pinctrl driver pinctrl: st: Display pin's function when printing pinctrl debug information pinctrl: st: Show correct pin direction also in GPIO mode pinctrl: st: Supply a GPIO get_direction() call-back pinctrl: st: Move st_get_pio_control() further up the source file ... commit 57175ac1987bf770122f6fe5056fe73269add00f Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Apr 7 19:45:35 2015 -0400 i40e: For VF reset (VFR and VFLR) add some more delay With a HW issue that was recently discovered, after a VFLR HW might be indicating to us a reset completion little too early. So wait another 10 msec for cache to be cleaned up. Change-ID: I6a24dcf5dd7ffcd6500246e717411ef58532d1e9 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b240452a0f5846280e25be7c5a507a99b382fd10 Merge: f0c1bc9 b1f85c0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 17:54:22 2015 -0700 Merge tag 'backlight-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight Pull backlight updates from Lee Jones: "Changes to existing drivers: - Use of_get_child_by_name() instead of refcount; 88pm860x_bl - Terminate array with NULL element; da9052_bl" * tag 'backlight-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: backlight: da9052_bl: Terminate da9052_wled_ids array with empty element backlight: 88pm860x_bl: Use of_get_child_by_name() instead of refcount hack commit 532b045588f5a0f65df90e5d3de1afe89926449e Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Apr 7 19:45:34 2015 -0400 i40e: move VF notification routines up Move the VF notification functions to the top of the file. This eliminates an unnecessary declaration. Change-ID: I036171f14180ee9f0ce4e0a21334d6a217d06c94 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 492a22aceb75e34e7b1c1b300ecc8bef2a2f42dc Author: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Date: Tue Apr 7 22:23:49 2015 +0300 of: unittest: overlay: Keep track of created overlays During the course of the overlay selftests some of them remain applied. While this does not pose a real problem, make sure you track them and destroy them at the end of the test. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 05f4647b10233dd2e18106abb16ff7fb68abbd08 Author: Ricky Liang <jcliang@xxxxxxxxxxxx> Date: Tue Apr 14 12:36:05 2015 +0800 of/fdt: fix allocation size for device node path The allocation size of device node path is off by one which drops the '\0' terminator. Signed-off-by: Ricky Liang <jcliang@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit ebc5e20082160df384dedbe1c95066c3e545b689 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Apr 9 13:05:18 2015 -0700 serial: of_serial: Support big-endian register accesses If the device node has a "big-endian" property and 32-bit registers, tell the serial driver to use UPIO_MEM32BE instead of UPIO_MEM32. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit c627f2ceb692e8a9358b64ac2d139314e7bb0d17 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Apr 9 13:05:17 2015 -0700 serial: 8250: Add support for big-endian MMIO accesses Add cases for UPIO_MEM32BE wherever there are currently cases handling UPIO_MEM32. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 65a71007a20cfe7ebd456d72c0bb155fe42de963 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Apr 9 13:05:16 2015 -0700 of: Document {little,big,native}-endian bindings These apply to newly converted drivers, like serial8250/libahci/... The examples were adapted from the regmap bindings document. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit cc7837867a559feba70fdf68eb53c24a84e3712f Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Apr 9 13:05:15 2015 -0700 of/fdt: Add endianness helper function for early init code Provide a libfdt-based equivalent for of_device_is_big_endian(), suitable for use in the early_init_* functions. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 37786c7fee40771d13901de129af7e084ed48b55 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Apr 9 13:05:14 2015 -0700 of: Add helper function to check MMIO register endianness SoC peripherals can come in several different flavors: - little-endian: registers always need to be accessed in LE mode (so the kernel should perform a swap if the CPU is running BE) - big-endian: registers always need to be accessed in BE mode (so the kernel should perform a swap if the CPU is running LE) - native-endian: the bus will automatically swap accesses, so the kernel should never swap Introduce a function that checks an OF device node to see whether it contains a "big-endian" or "native-endian" property. For the former case, always return true. For the latter case, return true iff the kernel was built for BE (implying that the BE MMIO accessors do not perform a swap). Otherwise return false, assuming LE registers. LE registers are assumed by default because most existing drivers (libahci, serial8250, usb) always use readl/writel in the absence of instructions to the contrary, so that will be our fallback. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit c954b36e3f5bfdd5aeceba49614a4864d7efec87 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Sun Apr 12 13:16:26 2015 -0700 of/fdt: Remove "reg" data prints from early_init_dt_scan_memory Commit 51975db0b7333 ("of/flattree: merge early_init_dt_scan_memory() common code") consolidated some code from PowerPC (typically big-endian), and ended-up adding a pr_debug() printing reg properties in big-endian (DT native) format, not CPU endian. This debug print suffers from two problems: - we only print 4 "reg" values, while there could be more on typical systems having multiple memory ranges - we print these 4 "reg" values in FDT endianess, that is big-endian, and these values could be confusing for little-endian configurations Since we are already printing the base address and size of the memory regions parsed by early_init_dt_scan_memory() later in a way that is both endian correct, and takes into account arbitrary number of memory banks, just remove that part of the debug print. Suggested-by: Frank Rowand <frowand.list@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 3712655914530479b424e6f3db2130c48b931a41 Author: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx> Date: Wed Apr 8 11:04:39 2015 +0200 of: add vendor prefix for Artesyn Signed-off-by: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 055b295d99adb246b2b9284e1d1e602630c119e3 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Apr 7 19:45:33 2015 -0400 i40e: notify VFs of link state Gratuitously notify VFs of link state when they activate their queues. In general, this is the last thing that a VF driver will do as it opens its interface, so this is a good time to notify the VF. Currently, VF devices assume link is up unless told otherwise, which means that VFs instantiated on a PF with no link will report the wrong state. This change corrects that issue. Change-ID: Iea53622904ecc681ac3f8938d81c30033ef9a0a6 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f0c1bc95a108b36677dde6c9d96a5bb810a05b75 Merge: 1dcf58d e554a99 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 17:29:55 2015 -0700 Merge tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD updates from Lee Jones: "Changes to existing drivers: - Rename child driver [axp288_battery => axp288_fuel_gauge]; axp20x - Rename child driver [max77693-flash => max77693-led]; max77693 - Error handling fixes; intel_soc_pmic - GPIO tweaking; intel_soc_pmic - Remove non-DT code; vexpress-sysreg, tc3589x - Remove unused/legacy code; ti_am335x_tscadc, rts5249, rtsx_gops, rtsx_pcr, rtc-s5m, sec-core, max77693, menelaus, wm5102-tables - Trivial fixups; rtsx_pci, da9150-core, sec-core, max7769, max77693, mc13xxx-core, dln2, hi6421-pmic-core, rk808, twl4030-power, lpc_ich, menelaus, twl6040 - Update register/address values; rts5227, rts5249 - DT and/or binding document fixups; arizona, da9150, mt6397, axp20x, qcom-rpm, qcom-spmi-pmic - Couple of trivial core Kconfig fixups - Remove use of seq_printf return value; ab8500-debugfs - Remove __exit markups; menelaus, tps65010 - Fix platform-device name collisions; mfd-core New drivers/supported devices: - Add support for wm8280/wm8281 into arizona - Add support for COMe-cBL6 into kempld-core - Add support for rts524a and rts525a into rts5249 - Add support for ipq8064 into qcom_rpm - Add support for extcon into axp20x - New MediaTek MT6397 PMIC driver - New Maxim MAX77843 PMIC dirver - New Intel Quark X1000 I2C-GPIO driver - New Skyworks SKY81452 driver" * tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (76 commits) mfd: sec: Fix RTC alarm interrupt number on S2MPS11 mfd: wm5102: Remove registers for output 3R from readable list mfd: tps65010: Remove incorrect __exit markups mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes mfd: axp20x: Add support for extcon cell mfd: lpc_ich: Sort IDs mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's mfd: axp20x: Fix duplicate const for model names mfd: menelaus: Use macro for magic number mfd: menelaus: Drop support for SW controller VCORE mfd: menelaus: Delete omap_has_menelaus mfd: arizona: Correct type of gpio_defaults mfd: lpc_ich: Sort IDs mfd: Fix a typo in Kconfig mfd: qcom_rpm: Add support for IPQ8064 mfd: devicetree: qcom_rpm: Document IPQ8064 resources mfd: core: Fix platform-device name collisions mfd: intel_quark_i2c_gpio: Don't crash if !DMI dt-bindings: Add vendor-prefix for X-Powers ... commit d616a703a52cf972425cddd43fc01cd4ef867faf Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Apr 5 16:59:25 2015 +0200 of: Add dummy of_irq_to_resource_table() for IRQ_OF=n If CONFIG_IRQ_OF=n: drivers/built-in.o: In function `of_device_alloc': (.text+0x72bce): undefined reference to `of_irq_to_resource_table' make: *** [vmlinux] Error 1 of_device_alloc() calls of_irq_to_resource_table() with nr_irqs = 0 due to of_irq_count() already being a dummy, so just add a dummy for of_irq_to_resource_table(), too. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 63c60e3a6dc3eca53714e8a1784c985a552bc5cd Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Apr 5 16:59:24 2015 +0200 of: OF_IRQ should depend on IRQ_DOMAIN If CONFIG_IRQ_DOMAIN=n: drivers/of/irq.c: In function â??of_irq_getâ??: drivers/of/irq.c:406: error: implicit declaration of function â??irq_find_hostâ?? drivers/of/irq.c:406: warning: assignment makes pointer from integer without a cast make[2]: *** [drivers/of/irq.o] Error 1 Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit ed636960c3b5a44e59eccafef94837d14e3bc10f Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Apr 7 19:45:32 2015 -0400 i40evf: remove aq_pending The aq_pending field in the adapter structure is actually redundant with the current_op field. Remove the aq_pending field and expunge all traces of it from the official record. This simplifies the code significantly, especially in the virtual channel completion routine. Change-ID: Ib2957c8c19882bd0cecc6fcd133912c24b46a1ff Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e7c8c60bc5d48994a67e4b1c7bfb01d6979dbc54 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Apr 7 19:45:31 2015 -0400 i40e: Add support to program FDir SB rules for VF from PF through ethtool With this patch we can now add Flow director Sideband rules for a VF from it's PF. Here is an example on how it can be done when VF id = 5 and queue = 2: "ethtool -N ethx flow-type udp4 src-ip x.x.x.x dst-ip y.y.y.y src-port p1 dst-port p2 action 2 user-def 5" User-def specifies VF id and action specifies queue. Change-ID: Ib37d6dff3823a4d85caffde638473891c38c2b89 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5deeb5cece3f9b30c8129786726b9d02c412c8ca Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Tue Apr 14 11:01:02 2015 -0400 lsm: copy comm before calling audit_log 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 middle of the output string that would effectively truncate the rest of the report text after the comm= field in the audit log message, losing fields. Using 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 would incur potentially unacceptable overhead, considering that the value can be influenced by userspace and therefore untrusted anyways. Copy the value before passing it to audit_log_untrustedstring() ensures that a local copy is used to calculate the length *and* subsequently printed. Even if this value contains a mix of old and new values, it will only calculate and copy up to the first NULL, preventing the rest of the audit log message being truncated. Use a second local copy of comm to avoid a race between the first and second calls to audit_log_untrustedstring() with comm. Reported-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 2619ef475f7607f1cf1c434d4adca2593a59a6e6 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Apr 7 19:45:30 2015 -0400 i40evf: fix bad indentation Not sure how this slipped through. Cosmetic change only. Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0604949ce3b9a59cff419daf706272620a9a0df0 Author: Ming-ting Yao Wei <mwei@xxxxxxxx> Date: Tue Apr 14 16:59:11 2015 -0700 Input: xpad - add rumble support for Xbox One controller This adds rumble support for Xbox One controller by sending continuous rumble command. Trigger button rumbling is not yet implemented. Signed-off-by: Ming-ting Yao Wei <mwei@xxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 444346385249603f8970314dcdb058d84a2530a4 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Apr 7 11:32:55 2015 -0700 i40e: stop VF rings Explicitly stop the rings belonging to each VF when disabling SR-IOV. Even though the VFs were gone, and the associated VSIs were removed, the rings were not stopped, and in some circumstances the hardware would continue to access the memory formerly used by the rings, causing memory corruption or DMAR errors, both of which would lead to general malaise of the kernel. To relieve this condition, explicitly stop all the rings associated with each VF before releasing its resources. Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1dcf58d6e6e6eb7ec10e9abc56887b040205b06f Merge: 80dcc31 e4b0db7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 16:49:17 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge first patchbomb from Andrew Morton: - arch/sh updates - ocfs2 updates - kernel/watchdog feature - about half of mm/ * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (122 commits) Documentation: update arch list in the 'memtest' entry Kconfig: memtest: update number of test patterns up to 17 arm: add support for memtest arm64: add support for memtest memtest: use phys_addr_t for physical addresses mm: move memtest under mm mm, hugetlb: abort __get_user_pages if current has been oom killed mm, mempool: do not allow atomic resizing memcg: print cgroup information when system panics due to panic_on_oom mm: numa: remove migrate_ratelimited mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE mm: split ET_DYN ASLR from mmap ASLR s390: redefine randomize_et_dyn for ELF_ET_DYN_BASE mm: expose arch_mmap_rnd when available s390: standardize mmap_rnd() usage powerpc: standardize mmap_rnd() usage mips: extract logic for mmap_rnd() arm64: standardize mmap_rnd() usage x86: standardize mmap_rnd() usage arm: factor out mmap ASLR into mmap_rnd ... commit e4b0db72be2487bae0e3251c22f82c104f7c1cfd Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:43 2015 -0700 Documentation: update arch list in the 'memtest' entry Since arm64/arm support memtest command line option update the "memtest" entry. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8d8cfb47d67ef38f49f97fc0cd3cfe2b5dc8642e Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:40 2015 -0700 Kconfig: memtest: update number of test patterns up to 17 Additional test patterns for memtest were introduced since commit 63823126c221 ("x86: memtest: add additional (regular) test patterns"), but looks like Kconfig was not updated that time. Update Kconfig entry with the actual number of maximum test patterns. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d30eae473360aea25e0584d4fbf6a70417d89784 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:37 2015 -0700 arm: add support for memtest Add support for memtest command line option. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 36dd9086cb31613ace45e94c18a17241d3d0aac4 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:33 2015 -0700 arm64: add support for memtest Add support for memtest command line option. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f70baeeb9e2d2b2a37a4bd3727d709547c4ae41 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:30 2015 -0700 memtest: use phys_addr_t for physical addresses Since memtest might be used by other architectures pass input parameters as phys_addr_t instead of long to prevent overflow. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4a20799d11f64e6b8725cacc7619b1ae1dbf9acd Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Apr 14 15:48:27 2015 -0700 mm: move memtest under mm Memtest is a simple feature which fills the memory with a given set of patterns and validates memory contents, if bad memory regions is detected it reserves them via memblock API. Since memblock API is widely used by other architectures this feature can be enabled outside of x86 world. This patch set promotes memtest to live under generic mm umbrella and enables memtest feature for arm/arm64. It was reported that this patch set was useful for tracking down an issue with some errant DMA on an arm64 platform. This patch (of 6): There is nothing platform dependent in the core memtest code, so other platforms might benefit from this feature too. [linux@xxxxxxxxxxxx: MEMTEST depends on MEMBLOCK] Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 02057967b5d3b77ed47f06ee8fe98e2687fdf18b Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:48:24 2015 -0700 mm, hugetlb: abort __get_user_pages if current has been oom killed If __get_user_pages() is faulting a significant number of hugetlb pages, usually as the result of mmap(MAP_LOCKED), it can potentially allocate a very large amount of memory. If the process has been oom killed, this will cause a lot of memory to potentially deplete memory reserves. In the same way that commit 4779280d1ea4 ("mm: make get_user_pages() interruptible") aborted for pending SIGKILLs when faulting non-hugetlb memory, based on the premise of commit 462e00cc7151 ("oom: stop allocating user memory if TIF_MEMDIE is set"), hugetlb page faults now terminate when the process has been oom killed. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Acked-by: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 11d83360452ea2a95e699da01f8e1bcc4676a5de Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:48:21 2015 -0700 mm, mempool: do not allow atomic resizing Allocating a large number of elements in atomic context could quickly deplete memory reserves, so just disallow atomic resizing entirely. Nothing currently uses mempool_resize() with anything other than GFP_KERNEL, so convert existing callers to drop the gfp_mask. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Steffen Maier <maier@xxxxxxxxxxxxxxxxxx> [zfcp] Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Steve French <sfrench@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2415b9f5cb048a803b30b790af994ba71ff0bd4c Author: Balasubramani Vivekanandan <balu252@xxxxxxxxx> Date: Tue Apr 14 15:48:18 2015 -0700 memcg: print cgroup information when system panics due to panic_on_oom If kernel panics due to oom, caused by a cgroup reaching its limit, when 'compulsory panic_on_oom' is enabled, then we will only see that the OOM happened because of "compulsory panic_on_oom is enabled" but this doesn't tell the difference between mempolicy and memcg. And dumping system wide information is plain wrong and more confusing. This patch provides the information of the cgroup whose limit triggerred panic Signed-off-by: Balasubramani Vivekanandan <balasubramani_vivekanandan@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2a8e70026435ad97570a1e0a0c4c941e0f700a3e Author: Mel Gorman <mgorman@xxxxxxx> Date: Tue Apr 14 15:48:15 2015 -0700 mm: numa: remove migrate_ratelimited This code is dead since commit 9e645ab6d089 ("sched/numa: Continue PTE scanning even if migrate rate limited") so remove it. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 204db6ed17743000691d930368a5abd6ea541c58 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:48:12 2015 -0700 mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE The arch_randomize_brk() function is used on several architectures, even those that don't support ET_DYN ASLR. To avoid bulky extern/#define tricks, consolidate the support under CONFIG_ARCH_HAS_ELF_RANDOMIZE for the architectures that support it, while still handling CONFIG_COMPAT_BRK. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Hector Marco-Gisbert <hecmargi@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: "David A. Long" <dave.long@xxxxxxxxxx> Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Arun Chandran <achandran@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Cc: Min-Hua Chen <orca.chen@xxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx> Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Cc: Ismael Ripoll <iripoll@xxxxxx> Cc: Jan-Simon Mller <dl9pf@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d1fd836dcf00d2028c700c7e44d2c23404062c90 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:48:07 2015 -0700 mm: split ET_DYN ASLR from mmap ASLR This fixes the "offset2lib" weakness in ASLR for arm, arm64, mips, powerpc, and x86. The problem is that if there is a leak of ASLR from the executable (ET_DYN), it means a leak of shared library offset as well (mmap), and vice versa. Further details and a PoC of this attack is available here: http://cybersecurity.upv.es/attacks/offset2lib/offset2lib.html With this patch, a PIE linked executable (ET_DYN) has its own ASLR region: $ ./show_mmaps_pie 54859ccd6000-54859ccd7000 r-xp ... /tmp/show_mmaps_pie 54859ced6000-54859ced7000 r--p ... /tmp/show_mmaps_pie 54859ced7000-54859ced8000 rw-p ... /tmp/show_mmaps_pie 7f75be764000-7f75be91f000 r-xp ... /lib/x86_64-linux-gnu/libc.so.6 7f75be91f000-7f75beb1f000 ---p ... /lib/x86_64-linux-gnu/libc.so.6 7f75beb1f000-7f75beb23000 r--p ... /lib/x86_64-linux-gnu/libc.so.6 7f75beb23000-7f75beb25000 rw-p ... /lib/x86_64-linux-gnu/libc.so.6 7f75beb25000-7f75beb2a000 rw-p ... 7f75beb2a000-7f75beb4d000 r-xp ... /lib64/ld-linux-x86-64.so.2 7f75bed45000-7f75bed46000 rw-p ... 7f75bed46000-7f75bed47000 r-xp ... 7f75bed47000-7f75bed4c000 rw-p ... 7f75bed4c000-7f75bed4d000 r--p ... /lib64/ld-linux-x86-64.so.2 7f75bed4d000-7f75bed4e000 rw-p ... /lib64/ld-linux-x86-64.so.2 7f75bed4e000-7f75bed4f000 rw-p ... 7fffb3741000-7fffb3762000 rw-p ... [stack] 7fffb377b000-7fffb377d000 r--p ... [vvar] 7fffb377d000-7fffb377f000 r-xp ... [vdso] The change is to add a call the newly created arch_mmap_rnd() into the ELF loader for handling ET_DYN ASLR in a separate region from mmap ASLR, as was already done on s390. Removes CONFIG_BINFMT_ELF_RANDOMIZE_PIE, which is no longer needed. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Reported-by: Hector Marco-Gisbert <hecmargi@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: "David A. Long" <dave.long@xxxxxxxxxx> Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Arun Chandran <achandran@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Cc: Min-Hua Chen <orca.chen@xxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx> Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Cc: Ismael Ripoll <iripoll@xxxxxx> Cc: Jan-Simon Mller <dl9pf@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c6f5b001e65cdac592b65a08c5d2dd179cfba568 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:48:04 2015 -0700 s390: redefine randomize_et_dyn for ELF_ET_DYN_BASE In preparation for moving ET_DYN randomization into the ELF loader (which requires a static ELF_ET_DYN_BASE), this redefines s390's existing ET_DYN randomization in a call to arch_mmap_rnd(). This refactoring results in the same ET_DYN randomization on s390. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2b68f6caeac271620cd2f9362aeaed360e317df0 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:48:00 2015 -0700 mm: expose arch_mmap_rnd when available When an architecture fully supports randomizing the ELF load location, a per-arch mmap_rnd() function is used to find a randomized mmap base. In preparation for randomizing the location of ET_DYN binaries separately from mmap, this renames and exports these functions as arch_mmap_rnd(). Additionally introduces CONFIG_ARCH_HAS_ELF_RANDOMIZE for describing this feature on architectures that support it (which is a superset of ARCH_BINFMT_ELF_RANDOMIZE_PIE, since s390 already supports a separated ET_DYN ASLR from mmap ASLR without the ARCH_BINFMT_ELF_RANDOMIZE_PIE logic). Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Hector Marco-Gisbert <hecmargi@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: "David A. Long" <dave.long@xxxxxxxxxx> Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Arun Chandran <achandran@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Cc: Min-Hua Chen <orca.chen@xxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx> Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Cc: Ismael Ripoll <iripoll@xxxxxx> Cc: Jan-Simon Mller <dl9pf@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8e89a356feb6f196824a72101861d931a97ac2d2 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:57 2015 -0700 s390: standardize mmap_rnd() usage In preparation for splitting out ET_DYN ASLR, this refactors the use of mmap_rnd() to be used similarly to arm and x86, and extracts the checking of PF_RANDOMIZE. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ed6322746afb74c2509e2f3a6464182793b16eb9 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:54 2015 -0700 powerpc: standardize mmap_rnd() usage In preparation for splitting out ET_DYN ASLR, this refactors the use of mmap_rnd() to be used similarly to arm and x86. (Can mmap ASLR be safely enabled in the legacy mmap case here? Other archs use "mm->mmap_base = TASK_UNMAPPED_BASE + random_factor".) Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1f0569df0b0285e7ec2432d804a4921b06a61618 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:51 2015 -0700 mips: extract logic for mmap_rnd() In preparation for splitting out ET_DYN ASLR, extract the mmap ASLR selection into a separate function. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd04cff1dceab18226853b555cf07914648a235f Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:48 2015 -0700 arm64: standardize mmap_rnd() usage In preparation for splitting out ET_DYN ASLR, this refactors the use of mmap_rnd() to be used similarly to arm and x86. This additionally enables mmap ASLR on legacy mmap layouts, which appeared to be missing on arm64, and was already supported on arm. Additionally removes a copy/pasted declaration of an unused function. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 82168140bc4cec7ec9bad39705518541149ff8b7 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:45 2015 -0700 x86: standardize mmap_rnd() usage In preparation for splitting out ET_DYN ASLR, this refactors the use of mmap_rnd() to be used similarly to arm, and extracts the checking of PF_RANDOMIZE. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fbbc400f3924ce095b466c776dc294727ec0a202 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Apr 14 15:47:41 2015 -0700 arm: factor out mmap ASLR into mmap_rnd To address the "offset2lib" ASLR weakness[1], this separates ET_DYN ASLR from mmap ASLR, as already done on s390. The architectures that are already randomizing mmap (arm, arm64, mips, powerpc, s390, and x86), have their various forms of arch_mmap_rnd() made available via the new CONFIG_ARCH_HAS_ELF_RANDOMIZE. For these architectures, arch_randomize_brk() is collapsed as well. This is an alternative to the solutions in: https://lkml.org/lkml/2015/2/23/442 I've been able to test x86 and arm, and the buildbot (so far) seems happy with building the rest. [1] http://cybersecurity.upv.es/attacks/offset2lib/offset2lib.html This patch (of 10): In preparation for splitting out ET_DYN ASLR, this moves the ASLR calculations for mmap on ARM into a separate routine, similar to x86. This also removes the redundant check of personality (PF_RANDOMIZE is already set before calling arch_pick_mmap_layout). Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Hector Marco-Gisbert <hecmargi@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: "David A. Long" <dave.long@xxxxxxxxxx> Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Arun Chandran <achandran@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Cc: Min-Hua Chen <orca.chen@xxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx> Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Cc: Ismael Ripoll <iripoll@xxxxxx> Cc: Jan-Simon Mller <dl9pf@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a87938b2e246b81b4fb713edb371a9fa3c5c3c86 Author: Michael Davidson <md@xxxxxxxxxx> Date: Tue Apr 14 15:47:38 2015 -0700 fs/binfmt_elf.c: fix bug in loading of PIE binaries With CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE enabled, and a normal top-down address allocation strategy, load_elf_binary() will attempt to map a PIE binary into an address range immediately below mm->mmap_base. Unfortunately, load_elf_ binary() does not take account of the need to allocate sufficient space for the entire binary which means that, while the first PT_LOAD segment is mapped below mm->mmap_base, the subsequent PT_LOAD segment(s) end up being mapped above mm->mmap_base into the are that is supposed to be the "gap" between the stack and the binary. Since the size of the "gap" on x86_64 is only guaranteed to be 128MB this means that binaries with large data segments > 128MB can end up mapping part of their data segment over their stack resulting in corruption of the stack (and the data segment once the binary starts to run). Any PIE binary with a data segment > 128MB is vulnerable to this although address randomization means that the actual gap between the stack and the end of the binary is normally greater than 128MB. The larger the data segment of the binary the higher the probability of failure. Fix this by calculating the total size of the binary in the same way as load_elf_interp(). Signed-off-by: Michael Davidson <md@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b1b0deabbffa922fed808d4a5d99d03372a4c701 Author: Chen Gang <762976180@xxxxxx> Date: Tue Apr 14 15:47:35 2015 -0700 mm: memcontrol: let mem_cgroup_move_account() have effect only if MMU enabled When !MMU, it will report warning. The related warning with allmodconfig under c6x: CC mm/memcontrol.o mm/memcontrol.c:2802:12: warning: 'mem_cgroup_move_account' defined but not used [-Wunused-function] static int mem_cgroup_move_account(struct page *page, ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b6378355b925050eb6fa966742d8c2d65ff0d83 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:32 2015 -0700 x86, mm: support huge KVA mappings on x86 Implement huge KVA mapping interfaces on x86. On x86, MTRRs can override PAT memory types with a 4KB granularity. When using a huge page, MTRRs can override the memory type of the huge page, which may lead a performance penalty. The processor can also behave in an undefined manner if a huge page is mapped to a memory range that MTRRs have mapped with multiple different memory types. Therefore, the mapping code falls back to use a smaller page size toward 4KB when a mapping range is covered by non-WB type of MTRRs. The WB type of MTRRs has no affect on the PAT memory types. pud_set_huge() and pmd_set_huge() call mtrr_type_lookup() to see if a given range is covered by MTRRs. MTRR_TYPE_WRBACK indicates that the range is either covered by WB or not covered and the MTRR default value is set to WB. 0xFF indicates that MTRRs are disabled. HAVE_ARCH_HUGE_VMAP is selected when X86_64 or X86_32 with X86_PAE is set. X86_32 without X86_PAE is not supported since such config can unlikey be benefited from this feature, and there was an issue found in testing. [fengguang.wu@xxxxxxxxx: ioremap_pud_capable can be static] Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d72b4fba40ef4b3f7a1a11d6aacc85d9af81561 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:29 2015 -0700 x86, mm: support huge I/O mapping capability I/F Implement huge I/O mapping capability interfaces for ioremap() on x86. IOREMAP_MAX_ORDER is defined to PUD_SHIFT on x86/64 and PMD_SHIFT on x86/32, which overrides the default value defined in <linux/vmalloc.h>. Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b9820d8f39f816b67112eb7ec5cdc4c1655ff060 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:26 2015 -0700 mm: change vunmap to tear down huge KVA mappings Change vunmap_pmd_range() and vunmap_pud_range() to tear down huge KVA mappings when they are set. pud_clear_huge() and pmd_clear_huge() return zero when no-operation is performed, i.e. huge page mapping was not used. These changes are only enabled when CONFIG_HAVE_ARCH_HUGE_VMAP is defined on the architecture. [akpm@xxxxxxxxxxxxxxxxxxxx: use consistent code layout] Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e61ce6ade404ef17bd63d62bec78e29047a47b47 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:23 2015 -0700 mm: change ioremap to set up huge I/O mappings ioremap_pud_range() and ioremap_pmd_range() are changed to create huge I/O mappings when their capability is enabled, and a request meets required conditions -- both virtual & physical addresses are aligned by their huge page size, and a requested range fufills their huge page size. When pud_set_huge() or pmd_set_huge() returns zero, i.e. no-operation is performed, the code simply falls back to the next level. The changes are only enabled when CONFIG_HAVE_ARCH_HUGE_VMAP is defined on the architecture. Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0ddab1d2ed664c85c95488eef569786a84aedf37 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:20 2015 -0700 lib/ioremap.c: add huge I/O map capability interfaces Add ioremap_pud_enabled() and ioremap_pmd_enabled(), which return 1 when I/O mappings with pud/pmd are enabled on the kernel. ioremap_huge_init() calls arch_ioremap_pud_supported() and arch_ioremap_pmd_supported() to initialize the capabilities at boot-time. A new kernel option "nohugeiomap" is also added, so that user can disable the huge I/O map capabilities when necessary. Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f616be120c632c818faaea9adcb8f05a7a8601f Author: Toshi Kani <toshi.kani@xxxxxx> Date: Tue Apr 14 15:47:17 2015 -0700 mm: change __get_vm_area_node() to use fls_long() ioremap() and its related interfaces are used to create I/O mappings to memory-mapped I/O devices. The mapping sizes of the traditional I/O devices are relatively small. Non-volatile memory (NVM), however, has many GB and is going to have TB soon. It is not very efficient to create large I/O mappings with 4KB. This patchset extends the ioremap() interfaces to transparently create I/O mappings with huge pages whenever possible. ioremap() continues to use 4KB mappings when a huge page does not fit into a requested range. There is no change necessary to the drivers using ioremap(). A requested physical address must be aligned by a huge page size (1GB or 2MB on x86) for using huge page mapping, though. The kernel huge I/O mapping will improve performance of NVM and other devices with large memory, and reduce the time to create their mappings as well. On x86, MTRRs can override PAT memory types with a 4KB granularity. When using a huge page, MTRRs can override the memory type of the huge page, which may lead a performance penalty. The processor can also behave in an undefined manner if a huge page is mapped to a memory range that MTRRs have mapped with multiple different memory types. Therefore, the mapping code falls back to use a smaller page size toward 4KB when a mapping range is covered by non-WB type of MTRRs. The WB type of MTRRs has no affect on the PAT memory types. The patchset introduces HAVE_ARCH_HUGE_VMAP, which indicates that the arch supports huge KVA mappings for ioremap(). User may specify a new kernel option "nohugeiomap" to disable the huge I/O mapping capability of ioremap() when necessary. Patch 1-4 change common files to support huge I/O mappings. There is no change in the functinalities unless HAVE_ARCH_HUGE_VMAP is defined on the architecture of the system. Patch 5-6 implement the HAVE_ARCH_HUGE_VMAP funcs on x86, and set HAVE_ARCH_HUGE_VMAP on x86. This patch (of 6): __get_vm_area_node() takes unsigned long size, which is a 64-bit value on a 64-bit kernel. However, fls(size) simply ignores the upper 32-bit. Change to use fls_long() to handle the size properly. Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Robert Elliott <Elliott@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 42ff27035c77edccfdf346c739265040dc2155f2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Apr 14 15:47:14 2015 -0700 mm/page_alloc.c: clean up comment Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f91e8d6d76866eafba255864ca617438cec268de Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Apr 14 15:47:11 2015 -0700 sparc: clarify __GFP_NOFAIL allocation Commit 920c3ed74134 ("[SPARC64]: Add basic infrastructure for MD add/remove notification") has added __GFP_NOFAIL for the allocation request but it hasn't mentioned why is this strict requirement really needed. The code was handling an allocation failure and propagated it properly up the callchain so it is not clear why it is needed. Dave has clarified the intention when I tried to remove the flag as not being necessary: : It is a serious failure. : : If we miss an MDESC update due to this allocation failure, the update : is not an event which gets retransmitted so we will lose the updated : machine description forever. : : We really need this allocation to succeed. So add a comment to clarify the nofail flag and get rid of the failure check because __GFP_NOFAIL allocation doesn't fail. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Vipul Pandya <vipul@xxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 647757197cd34fae041e21af39ded00f5c346fc4 Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Apr 14 15:47:07 2015 -0700 mm: clarify __GFP_NOFAIL deprecation status __GFP_NOFAIL is documented as a deprecated flag since commit 478352e789f5 ("mm: add comment about deprecation of __GFP_NOFAIL"). This has discouraged people from using it but in some cases an opencoded endless loop around allocator has been used instead. So the allocator is not aware of the de facto __GFP_NOFAIL allocation because this information was not communicated properly. Let's make clear that if the allocation context really cannot afford failure because there is no good failure policy then using __GFP_NOFAIL is preferable to opencoding the loop outside of the allocator. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Vipul Pandya <vipul@xxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ac173824959adeb489f9fcf88858774c4535a241 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Apr 14 15:47:04 2015 -0700 mm: cma: constify and use correct signness in mm/cma.c Constify function parameters and use correct signness where needed. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Cc: Pintu Kumar <pintu.k@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e276d2a517fba71a2be2252fdffb237e746e784 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:47:01 2015 -0700 kernel, cpuset: remove exception for __GFP_THISNODE Nothing calls __cpuset_node_allowed() with __GFP_THISNODE set anymore, so remove the obscure comment about it and its special-case exception. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Pravin Shelar <pshelar@xxxxxxxxxx> Cc: Jarno Rajahalme <jrajahalme@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5265047ac30191ea24b16503165000c225f54feb Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:46:58 2015 -0700 mm, thp: really limit transparent hugepage allocation to local node Commit 077fcf116c8c ("mm/thp: allocate transparent hugepages on local node") restructured alloc_hugepage_vma() with the intent of only allocating transparent hugepages locally when there was not an effective interleave mempolicy. alloc_pages_exact_node() does not limit the allocation to the single node, however, but rather prefers it. This is because __GFP_THISNODE is not set which would cause the node-local nodemask to be passed. Without it, only a nodemask that prefers the local node is passed. Fix this by passing __GFP_THISNODE and falling back to small pages when the allocation fails. Commit 9f1b868a13ac ("mm: thp: khugepaged: add policy for finding target node") suffers from a similar problem for khugepaged, which is also fixed. Fixes: 077fcf116c8c ("mm/thp: allocate transparent hugepages on local node") Fixes: 9f1b868a13ac ("mm: thp: khugepaged: add policy for finding target node") Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Pravin Shelar <pshelar@xxxxxxxxxx> Cc: Jarno Rajahalme <jrajahalme@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4167e9b2cf10f8a4bcda0c713ddc8bb0a18e8187 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:46:55 2015 -0700 mm: remove GFP_THISNODE NOTE: this is not about __GFP_THISNODE, this is only about GFP_THISNODE. GFP_THISNODE is a secret combination of gfp bits that have different behavior than expected. It is a combination of __GFP_THISNODE, __GFP_NORETRY, and __GFP_NOWARN and is special-cased in the page allocator slowpath to fail without trying reclaim even though it may be used in combination with __GFP_WAIT. An example of the problem this creates: commit e97ca8e5b864 ("mm: fix GFP_THISNODE callers and clarify") fixed up many users of GFP_THISNODE that really just wanted __GFP_THISNODE. The problem doesn't end there, however, because even it was a no-op for alloc_misplaced_dst_page(), which also sets __GFP_NORETRY and __GFP_NOWARN, and migrate_misplaced_transhuge_page(), where __GFP_NORETRY and __GFP_NOWAIT is set in GFP_TRANSHUGE. Converting GFP_THISNODE to __GFP_THISNODE is a no-op in these cases since the page allocator special-cases __GFP_THISNODE && __GFP_NORETRY && __GFP_NOWARN. It's time to just remove GFP_THISNODE entirely. We leave __GFP_THISNODE to restrict an allocation to a local node, but remove GFP_THISNODE and its obscurity. Instead, we require that a caller clear __GFP_WAIT if it wants to avoid reclaim. This allows the aforementioned functions to actually reclaim as they should. It also enables any future callers that want to do __GFP_THISNODE but also __GFP_NORETRY && __GFP_NOWARN to reclaim. The rule is simple: if you don't want to reclaim, then don't set __GFP_WAIT. Aside: ovs_flow_stats_update() really wants to avoid reclaim as well, so it is unchanged. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Pravin Shelar <pshelar@xxxxxxxxxx> Cc: Jarno Rajahalme <jrajahalme@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b360edb43f8ed50aa7b8c9aae7d7557a1a6e32c8 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:46:52 2015 -0700 mm, mempolicy: migrate_to_node should only migrate to node migrate_to_node() is intended to migrate a page from one source node to a target node. Today, migrate_to_node() could end up migrating to any node, not only the target node. This is because the page migration allocator, new_node_page() does not pass __GFP_THISNODE to alloc_pages_exact_node(). This causes the target node to be preferred but allows fallback to any other node in order of affinity. Prevent this by allocating with __GFP_THISNODE. If memory is not available, -ENOMEM will be returned as appropriate. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3cb29d11174f29b76addcba4374884b14f8ea4b1 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Tue Apr 14 15:46:48 2015 -0700 cleancache: remove limit on the number of cleancache enabled filesystems The limit equals 32 and is imposed by the number of entries in the fs_poolid_map and shared_fs_poolid_map. Nowadays it is insufficient, because with containers on board a Linux host can have hundreds of active fs mounts. These maps were introduced by commit 49a9ab815acb8 ("mm: cleancache: lazy initialization to allow tmem backends to build/run as modules") in order to allow compiling cleancache drivers as modules. Real pool ids are stored in these maps while super_block->cleancache_poolid points to an entry in the map, so that on cleancache registration we can walk over all (if there are <= 32 of them, of course) cleancache-enabled super blocks and assign real pool ids. Actually, there is absolutely no need in these maps, because we can iterate over all super blocks immediately using iterate_supers. This is not racy, because cleancache_init_ops is called from mount_fs with super_block->s_umount held for writing, while iterate_supers takes this semaphore for reading, so if we call iterate_supers after setting cleancache_ops, all super blocks that had been created before cleancache_register_ops was called will be assigned pool ids by the action function of iterate_supers while all newer super blocks will receive it in cleancache_init_fs. This patch therefore removes the maps and hence the artificial limit on the number of cleancache enabled filesystems. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx> Cc: Florian Schmaus <fschmaus@xxxxxxxxx> Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx> Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> Cc: Bob Liu <lliubbo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 53d85c98566535d7bc69470f008d7dcb09a0fec9 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Tue Apr 14 15:46:45 2015 -0700 cleancache: forbid overriding cleancache_ops Currently, cleancache_register_ops returns the previous value of cleancache_ops to allow chaining. However, chaining, as it is implemented now, is extremely dangerous due to possible pool id collisions. Suppose, a new cleancache driver is registered after the previous one assigned an id to a super block. If the new driver assigns the same id to another super block, which is perfectly possible, we will have two different filesystems using the same id. No matter if the new driver implements chaining or not, we are likely to get data corruption with such a configuration eventually. This patch therefore disables the ability to override cleancache_ops altogether as potentially dangerous. If there is already cleancache driver registered, all further calls to cleancache_register_ops will return EBUSY. Since no user of cleancache implements chaining, we only need to make minor changes to the code outside the cleancache core. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx> Cc: Florian Schmaus <fschmaus@xxxxxxxxx> Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx> Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> Cc: Bob Liu <lliubbo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9de1626290eaa7d921413ddc83544bc3bae27283 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Tue Apr 14 15:46:42 2015 -0700 cleancache: zap uuid arg of cleancache_init_shared_fs Use super_block->s_uuid instead. Every shared filesystem using cleancache must now initialize super_block->s_uuid before calling cleancache_init_shared_fs. The only one on the tree, ocfs2, already meets this requirement. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx> Cc: Florian Schmaus <fschmaus@xxxxxxxxx> Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx> Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> Cc: Bob Liu <lliubbo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58be19dcf7c0c206e60796c2ee18fc4fc1659fea Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Tue Apr 14 15:46:39 2015 -0700 ocfs2: copy fs uuid to superblock Currently, maximal number of cleancache enabled filesystems equals 32, which is insufficient nowadays, because a Linux host can have hundreds of containers on board, each of which might want its own filesystem. This patch set targets at removing this limitation - see patch 4 for more details. Patches 1-3 prepare the code for this change. This patch (of 4): This will allow us to remove the uuid argument from cleancache_init_shared_fs. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx> Cc: Florian Schmaus <fschmaus@xxxxxxxxx> Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx> Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> Cc: Bob Liu <lliubbo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 93e478d4c36ecaf15b942988b8272102d661d44e Author: Shachar Raindel <raindel@xxxxxxxxxxxx> Date: Tue Apr 14 15:46:35 2015 -0700 mm: refactor do_wp_page handling of shared vma into a function The do_wp_page function is extremely long. Extract the logic for handling a page belonging to a shared vma into a function of its own. This helps the readability of the code, without doing any functional change in it. Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2f38ab2c3c7fef04dca0313fd89d91f142ca9281 Author: Shachar Raindel <raindel@xxxxxxxxxxxx> Date: Tue Apr 14 15:46:32 2015 -0700 mm: refactor do_wp_page, extract the page copy flow In some cases, do_wp_page had to copy the page suffering a write fault to a new location. If the function logic decided that to do this, it was done by jumping with a "goto" operation to the relevant code block. This made the code really hard to understand. It is also against the kernel coding style guidelines. This patch extracts the page copy and page table update logic to a separate function. It also clean up the naming, from "gotten" to "wp_page_copy", and adds few comments. Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 28766805275c12c2298883cece3f98505ac764b4 Author: Shachar Raindel <raindel@xxxxxxxxxxxx> Date: Tue Apr 14 15:46:29 2015 -0700 mm: refactor do_wp_page - rewrite the unlock flow When do_wp_page is ending, in several cases it needs to unlock the pages and ptls it was accessing. Currently, this logic was "called" by using a goto jump. This makes following the control flow of the function harder. Readability was further hampered by the unlock case containing large amount of logic needed only in one of the 3 cases. Using goto for cleanup is generally allowed. However, moving the trivial unlocking flows to the relevant call sites allow deeper refactoring in the next patch. Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e047f897771222215ee572e1c0b25e9417376eb Author: Shachar Raindel <raindel@xxxxxxxxxxxx> Date: Tue Apr 14 15:46:25 2015 -0700 mm: refactor do_wp_page, extract the reuse case Currently do_wp_page contains 265 code lines. It also contains 9 goto statements, of which 5 are targeting labels which are not cleanup related. This makes the function extremely difficult to understand. The following patches are an attempt at breaking the function to its basic components, and making it easier to understand. The patches are straight forward function extractions from do_wp_page. As we extract functions, we remove unneeded parameters and simplify the code as much as possible. However, the functionality is supposed to remain completely unchanged. The patches also attempt to document the functionality of each extracted function. In patch 2, we split the unlock logic to the contain logic relevant to specific needs of each use case, instead of having huge number of conditional decisions in a single unlock flow. This patch (of 4): When do_wp_page is ending, in several cases it needs to reuse the existing page. This is achieved by making the page table writable, and possibly updating the page-cache state. Currently, this logic was "called" by using a goto jump. This makes following the control flow of the function harder. It is also against the coding style guidelines for using goto. As the code can easily be refactored into a specialized function, refactor it out and simplify the code flow in do_wp_page. Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5a3fbef325e872f831cf13171c7032915bb1916d Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:21 2015 -0700 mm: do not add nr_pmds into mm_struct if PMD is folded CONFIG_PGTABLE_LEVELS is now available on every architecture and we can use it to check if we need to add nr_pmds into mm_struct. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 235a8f0286d3de5754322e9b4abd472ed4d57209 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:17 2015 -0700 mm: define default PGTABLE_LEVELS to two By this time all architectures which support more than two page table levels should be covered. This patch add default definiton of PGTABLE_LEVELS equal 2. We also add assert to detect inconsistence between CONFIG_PGTABLE_LEVELS and __PAGETABLE_PMD_FOLDED/__PAGETABLE_PUD_FOLDED. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 982333683385343d8d2db9a1df69c98406f42687 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:14 2015 -0700 x86: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b8ce2a1a464526335672c33cbf3cb9fc638efff Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:11 2015 -0700 um: expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Richard Weinberger <richard@xxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 909d45e62801ea77422d478519baa7d2287c77f7 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:08 2015 -0700 tile: expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81a2936c1a98dd007c510dc523c5bbdce263878b Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:05 2015 -0700 sparc: expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 69543d639938fc71b3df69d32ecccc58beb7e578 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:02 2015 -0700 sh: expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: linux-sh@xxxxxxxxxxxxxxx Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c81956c9cd587d36b87d4ab37c92016ebb79b517 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:46:00 2015 -0700 s390: expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Core mm expects __PAGETABLE_{PUD,PMD}_FOLDED to be defined if these page table levels folded. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 06ef42a16f2dd8480ada1be3a549e12b02c45915 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:57 2015 -0700 powerpc: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f24ffde43237755b290c46306a3dd2deb1428700 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:54 2015 -0700 parisc: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a728ab52709e2fb9659d2661ac30c901df42ef02 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:51 2015 -0700 mips: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 980d5b7387c6bbc9b411a3469274b3226b161e45 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:48 2015 -0700 m68k: mark PMD folded and expose number of page table levels We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Core mm expects __PAGETABLE_{PUD,PMD}_FOLDED to be defined if these page table levels folded. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4d66bcc7cf762e82703b94d416245d4a216c79ae Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:45 2015 -0700 ia64: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. We need to define PGTABLE_LEVELS before sourcing init/Kconfig: arch/Kconfig will define default value and it's sourced from init/Kconfig. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1bcad26e9d5362d4890ab5718d729ee9cd85a493 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:42 2015 -0700 arm: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f25e6ad58e1fb3b4d441e4c55635c4598a6fa94 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:39 2015 -0700 arm64: expose number of page table levels on Kconfig level We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. ARM64_PGTABLE_LEVELS is renamed to PGTABLE_LEVELS and defined before sourcing init/Kconfig: arch/Kconfig will define default value and it's sourced from init/Kconfig. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f5d4547ad27737137fae8e67025e5664ecb8e790 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:36 2015 -0700 alpha: expose number of page table levels on Kconfig level I've implemented accounting for pmd page tables as we have for pte (see mm->nr_ptes). It's requires a new counter in mm_struct: mm->nr_pmds. But the feature doesn't make any sense if an architecture has PMD level folded and it would be nice get rid of the counter in this case. The problem is that we cannot use __PAGETABLE_PMD_FOLDED in <linux/mm_types.h> due to circular dependencies: <linux/mm_types> -> <asm/pgtable.h> -> <linux/mm_types.h> In most cases <asm/pgtable.h> wants <linux/mm_types.h> to get definition of struct page and struct vm_area_struct. I've tried to split mm_struct into separate header file to be able to user <asm/pgtable.h> there. But it doesn't fly on some architectures, like ARM: it wants mm_struct <asm/pgtable.h> to implement tlb flushing. I don't see how to fix it without massive de-inlining or coverting a lot for inline functions to macros. This is other approach: expose number of page tables in use via Kconfig and use it in <linux/mm_types.h> instead of __PAGETABLE_PMD_FOLDED from <asm/pgtable.h>. This patch (of 19): We would want to use number of page table level to define mm_struct. Let's expose it as CONFIG_PGTABLE_LEVELS. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 761b06771adeeb734e9eebc6f70f916cb9e2f643 Author: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Date: Tue Apr 14 15:45:32 2015 -0700 mm: completely remove dumping per-cpu lists from show_mem() It seems nobody needs this. Signed-off-by: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d1bfcdb8ce0ea6eb6034daa7ff02548e0bc9c21b Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:30 2015 -0700 mm: hide per-cpu lists in output of show_mem() This makes show_mem() much less verbose on huge machines. Instead of huge and almost useless dump of counters for each per-zone per-cpu lists this patch prints the sum of these counters for each zone (free_pcp) and size of per-cpu list for current cpu (local_pcp). The filter flag SHOW_MEM_PERCPU_LISTS reverts to the old verbose mode. [akpm@xxxxxxxxxxxxxxxxxxxx: update show_free_areas comment] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b9ea25152e56365ce149b9a39637cd7a16eec556 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:27 2015 -0700 page_writeback: clean up mess around cancel_dirty_page() This patch replaces cancel_dirty_page() with a helper function account_page_cleaned() which only updates counters. It's called from truncate_complete_page() and from try_to_free_buffers() (hack for ext3). Page is locked in both cases, page-lock protects against concurrent dirtiers: see commit 2d6d7f982846 ("mm: protect set_page_dirty() from ongoing truncation"). Delete_from_page_cache() shouldn't be called for dirty pages, they must be handled by caller (either written or truncated). This patch treats final dirty accounting fixup at the end of __delete_from_page_cache() as a debug check and adds WARN_ON_ONCE() around it. If something removes dirty pages without proper handling that might be a bug and unwritten data might be lost. Hugetlbfs has no dirty pages accounting, ClearPageDirty() is enough here. cancel_dirty_page() in nfs_wb_page_cancel() is redundant. This is helper for nfs_invalidate_page() and it's called only in case complete invalidation. The mess was started in v2.6.20 after commits 46d2277c796f ("Clean up and make try_to_free_buffers() not race with dirty pages") and 3e67c0987d75 ("truncate: clear page dirtiness before running try_to_free_buffers()") first was reverted right in v2.6.20 in commit ecdfc9787fe5 ("Resurrect 'try_to_free_buffers()' VM hackery"), second in v2.6.25 commit a2b345642f53 ("Fix dirty page accounting leak with ext3 data=journal"). Custom fixes were introduced between these points. NFS in v2.6.23, commit 1b3b4a1a2deb ("NFS: Fix a write request leak in nfs_invalidate_page()"). Kludge in __delete_from_page_cache() in v2.6.24, commit 3a6927906f1b ("Do dirty page accounting when removing a page from the page cache"). Since v2.6.25 all of them are redundant. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ca0984caa8235762dc4e22c1c47ae6719dcc4064 Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Tue Apr 14 15:45:24 2015 -0700 mm: incorporate zero pages into transparent huge pages This patch improves THP collapse rates, by allowing zero pages. Currently THP can collapse 4kB pages into a THP when there are up to khugepaged_max_ptes_none pte_none ptes in a 2MB range. This patch counts pte none and mapped zero pages with the same variable. The patch was tested with a program that allocates 800MB of memory, and performs interleaved reads and writes, in a pattern that causes some 2MB areas to first see read accesses, resulting in the zero pfn being mapped there. To simulate memory fragmentation at allocation time, I modified do_huge_pmd_anonymous_page to return VM_FAULT_FALLBACK for read faults. Without the patch, only %50 of the program was collapsed into THP and the percentage did not increase over time. With this patch after 10 minutes of waiting khugepaged had collapsed %99 of the program's memory. [aarcange@xxxxxxxxxx: fix bogus BUG()] Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2149cdaef6c0eb59a9edf3b152027392cd66b41f Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Tue Apr 14 15:45:21 2015 -0700 mm/compaction: enhance compaction finish condition Compaction has anti fragmentation algorithm. It is that freepage should be more than pageblock order to finish the compaction if we don't find any freepage in requested migratetype buddy list. This is for mitigating fragmentation, but, there is a lack of migratetype consideration and it is too excessive compared to page allocator's anti fragmentation algorithm. Not considering migratetype would cause premature finish of compaction. For example, if allocation request is for unmovable migratetype, freepage with CMA migratetype doesn't help that allocation and compaction should not be stopped. But, current logic regards this situation as compaction is no longer needed, so finish the compaction. Secondly, condition is too excessive compared to page allocator's logic. We can steal freepage from other migratetype and change pageblock migratetype on more relaxed conditions in page allocator. This is designed to prevent fragmentation and we can use it here. Imposing hard constraint only to the compaction doesn't help much in this case since page allocator would cause fragmentation again. To solve these problems, this patch borrows anti fragmentation logic from page allocator. It will reduce premature compaction finish in some cases and reduce excessive compaction work. stress-highalloc test in mmtests with non movable order 7 allocation shows considerable increase of compaction success rate. Compaction success rate (Compaction success * 100 / Compaction stalls, %) 31.82 : 42.20 I tested it on non-reboot 5 runs stress-highalloc benchmark and found that there is no more degradation on allocation success rate than before. That roughly means that this patch doesn't result in more fragmentations. Vlastimil suggests additional idea that we only test for fallbacks when migration scanner has scanned a whole pageblock. It looked good for fragmentation because chance of stealing increase due to making more free pages in certain pageblock. So, I tested it, but, it results in decreased compaction success rate, roughly 38.00. I guess the reason that if system is low memory condition, watermark check could be failed due to not enough order 0 free page and so, sometimes, we can't reach a fallback check although migrate_pfn is aligned to pageblock_nr_pages. I can insert code to cope with this situation but it makes code more complicated so I don't include his idea at this patch. [akpm@xxxxxxxxxxxxxxxxxxxx: fix CONFIG_CMA=n build] Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> 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 4eb7dce62007113f1a2778213980fd6d8034ef5e Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Tue Apr 14 15:45:18 2015 -0700 mm/page_alloc: factor out fallback freepage checking This is preparation step to use page allocator's anti fragmentation logic in compaction. This patch just separates fallback freepage checking part from fallback freepage management part. Therefore, there is no functional change. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> 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 dc67647b78b92d9497f01fab95ac6764ed886b40 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Tue Apr 14 15:45:15 2015 -0700 mm/cma: change fallback behaviour for CMA freepage Freepage with MIGRATE_CMA can be used only for MIGRATE_MOVABLE and they should not be expanded to other migratetype buddy list to protect them from unmovable/reclaimable allocation. Implementing these requirements in __rmqueue_fallback(), that is, finding largest possible block of freepage has bad effect that high order freepage with MIGRATE_CMA are broken continually although there are suitable order CMA freepage. Reason is that they are not be expanded to other migratetype buddy list and next __rmqueue_fallback() invocation try to finds another largest block of freepage and break it again. So, MIGRATE_CMA fallback should be handled separately. This patch introduces __rmqueue_cma_fallback(), that just wrapper of __rmqueue_smallest() and call it before __rmqueue_fallback() if migratetype == MIGRATE_MOVABLE. This results in unintended behaviour change that MIGRATE_CMA freepage is always used first rather than other migratetype as movable allocation's fallback. But, as already mentioned above, MIGRATE_CMA can be used only for MIGRATE_MOVABLE, so it is better to use MIGRATE_CMA freepage first as much as possible. Otherwise, we needlessly take up precious freepages with other migratetype and increase chance of fragmentation. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> 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 30467e0b3be83c286d60039f8267dd421128ca74 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:45:11 2015 -0700 mm, hotplug: fix concurrent memory hot-add deadlock There's a deadlock when concurrently hot-adding memory through the probe interface and switching a memory block from offline to online. When hot-adding memory via the probe interface, add_memory() first takes mem_hotplug_begin() and then device_lock() is later taken when registering the newly initialized memory block. This creates a lock dependency of (1) mem_hotplug.lock (2) dev->mutex. When switching a memory block from offline to online, dev->mutex is first grabbed in device_online() when the write(2) transitions an existing memory block from offline to online, and then online_pages() will take mem_hotplug_begin(). This creates a lock inversion between mem_hotplug.lock and dev->mutex. Vitaly reports that this deadlock can happen when kworker handling a probe event races with systemd-udevd switching a memory block's state. This patch requires the state transition to take mem_hotplug_begin() before dev->mutex. Hot-adding memory via the probe interface creates a memory block while holding mem_hotplug_begin(), there is no way to take dev->mutex first in this case. online_pages() and offline_pages() are only called when transitioning memory block state. We now require that mem_hotplug_begin() is taken before calling them -- this requires exporting the mem_hotplug_begin() and mem_hotplug_done() to generic code. In all hot-add and hot-remove cases, mem_hotplug_begin() is done prior to device_online(). This is all that is needed to avoid the deadlock. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Reported-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Tested-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 17e0db822b00cff96c1b662ac0dc0449cb70e0ec Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Apr 14 15:45:08 2015 -0700 cma: debug: document new debugfs interface Document the structure and files under the new debugfs interface. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 875abdb6d43401c745ee8bc6d240f119a601d21f Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:45:05 2015 -0700 mm-cma-allocation-trigger-fix s/CONFIG_CMA_ALIGNMENT/0/, per Joonsoo Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8325330b026509127d4541e0f511c0c10648c2d5 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Apr 14 15:45:02 2015 -0700 mm: cma: release trigger Provides a userspace interface to trigger a CMA release. Usage: echo [pages] > free This would provide testing/fuzzing access to the CMA release paths. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] [mhocko@xxxxxxx: fix build] Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 26b02a1f9670862c51b3ff63a6128589866f5c71 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Apr 14 15:44:59 2015 -0700 mm: cma: allocation trigger Provides a userspace interface to trigger a CMA allocation. Usage: echo [pages] > alloc This would provide testing/fuzzing access to the CMA allocation paths. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 28b24c1fc8c22cabe5b8a16ffe6a61dfce51a1f2 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Apr 14 15:44:57 2015 -0700 mm: cma: debugfs interface I've noticed that there is no interfaces exposed by CMA which would let me fuzz what's going on in there. This small patchset exposes some information out to userspace, plus adds the ability to trigger allocation and freeing from userspace. This patch (of 3): Implement a simple debugfs interface to expose information about CMA areas in the system. Useful for testing/sanity checks for CMA since it was impossible to previously retrieve this information in userspace. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 19c07d5e0414261bd7ec3d8419dd26f468ef69d9 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Tue Apr 14 15:44:54 2015 -0700 memory hotplug: use macro to switch between section and pfn Use macro section_nr_to_pfn() to switch between section and pfn, instead of open-coding it. No semantic changes. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1575e68b3c1111aca9779ecbdb106a4aa563f01f Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Tue Apr 14 15:44:51 2015 -0700 mm: memcontrol: update copyright notice Add myself to the list of copyright holders. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7fc825b4566c591670f6b605cc3d10da77d27efb Author: Baoquan He <bhe@xxxxxxxxxx> Date: Tue Apr 14 15:44:48 2015 -0700 mm/memblock.c: rename local variable of memblock_type to `type' A small cleanup. Seems in e3239ff9 ("memblock: Rename memblock_region to memblock_type and memblock_property to memblock_region") this one was missed. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit acc3c8d15eed6b68c7edf5bfaea884753aaa8e85 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:44:45 2015 -0700 mm: move mm_populate()-related code to mm/gup.c It's odd that we have populate_vma_page_range() and __mm_populate() in mm/mlock.c. It's implementation of generic memory population and mlocking is one of possible side effect, if VM_LOCKED is set. __get_user_pages() is core of the implementation. Let's move the code into mm/gup.c. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c561259ca79a88be540a75e84b45d49123014aa4 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:44:42 2015 -0700 mm: move gup() -> posix mlock() error conversion out of __mm_populate This is praparation to moving mm_populate()-related code out of mm/mlock.c. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fc05f566210fa57f8e68ead8762b8dbb3f1c61e3 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:44:39 2015 -0700 mm: rename __mlock_vma_pages_range() to populate_vma_page_range() __mlock_vma_pages_range() doesn't necessarily mlock pages. It depends on vma flags. The same codepath is used for MAP_POPULATE. Let's rename __mlock_vma_pages_range() to populate_vma_page_range(). This patch also drops mlock_vma_pages_range() references from documentation. It has gone in cea10a19b797 ("mm: directly use __mlock_vma_pages_range() in find_extend_vma()"). Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 84d33df279e0380995b0e03fb8aad04cef2bc29f Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Apr 14 15:44:37 2015 -0700 mm: rename FOLL_MLOCK to FOLL_POPULATE After commit a1fde08c74e9 ("VM: skip the stack guard page lookup in get_user_pages only for mlock") FOLL_MLOCK has lost its original meaning: we don't necessarily mlock the page if the flags is set -- we also take VM_LOCKED into consideration. Since we use the same codepath for __mm_populate(), let's rename FOLL_MLOCK to FOLL_POPULATE. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c21a6daf466a7bfa7bc2ac594837a1ce793a7960 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Apr 14 15:44:34 2015 -0700 slob: make slob_alloc_node() static and remove EXPORT_SYMBOL() slob_alloc_node() is only used in slob.c. Remove the EXPORT_SYMBOL and make slob_alloc_node() static. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> 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 6f6528a1632cb9661a2ff46e217b07d84a80eff6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Apr 14 15:44:31 2015 -0700 slub: use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: 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 124dee09f0669b92cc0073b00984d53541ca0884 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:44:28 2015 -0700 mm, slab: correct config option in comment CONFIG_SLAB_DEBUG doesn't exist, CONFIG_DEBUG_SLAB does. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 08303a73c62a1cc83c613fa1965f5127ba030c46 Author: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Date: Tue Apr 14 15:44:25 2015 -0700 mm/slub.c: parse slub_debug O option in switch statement By moving the O option detection into the switch statement, we allow this parameter to be combined with other options correctly. Previously options like slub_debug=OFZ would only detect the 'o' and use DEBUG_DEFAULT_FLAGS to fill in the rest of the flags. Signed-off-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: 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 ef2a5153b4d2c48c05b9280491cb5592a46df385 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Apr 14 15:44:22 2015 -0700 mm/migrate: mark unmap_and_move() "noinline" to avoid ICE in gcc 4.7.3 With gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) : mm/migrate.c: In function `migrate_pages': mm/migrate.c:1148:1: internal compiler error: in push_minipool_fix, at config/arm/arm.c:13500 Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions. Preprocessed source stored into /tmp/ccPoM1tr.out file, please attach this to your bugreport. make[1]: *** [mm/migrate.o] Error 1 make: *** [mm/migrate.o] Error 2 Mark unmap_and_move() (which is used in a single place only) "noinline" to work around this compiler bug. [akpm@xxxxxxxxxxxxxxxxxxxx: make it conditional on gcc-4.7.3 and arm] [khilman@xxxxxxxxxx: fine-tune compiler versions] [akpm@xxxxxxxxxxxxxxxxxxxx: fix comment] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reported-by: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 692297d8f96887f836d9049a653ed05a71cf48fb Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:19 2015 -0700 watchdog: introduce the hardlockup_detector_disable() function Have kvm_guest_init() use hardlockup_detector_disable() instead of watchdog_enable_hardlockup_detector(false). Remove the watchdog_hardlockup_detector_is_enabled() and the watchdog_enable_hardlockup_detector() function which are no longer needed. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 b2f57c3a0df9d168220be8848a303a32ef4d2e7d Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:16 2015 -0700 watchdog: clean up some function names and arguments Rename the update_timers*() functions to update_watchdog*(). Remove the boolean argument from watchdog_enable_all_cpus() because update_watchdog_all_cpus() is now a generic function to change the run state of the lockup detectors and to have the lockup detectors use a new sample period. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 195daf665a6299de98a4da3843fed2dd9de19d3a Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:13 2015 -0700 watchdog: enable the new user interface of the watchdog mechanism With the current user interface of the watchdog mechanism it is only possible to disable or enable both lockup detectors at the same time. This series introduces new kernel parameters and changes the semantics of some existing kernel parameters, so that the hard lockup detector and the soft lockup detector can be disabled or enabled individually. With this series applied, the user interface is as follows. - parameters in /proc/sys/kernel . soft_watchdog This is a new parameter to control and examine the run state of the soft lockup detector. . nmi_watchdog The semantics of this parameter have changed. It can now be used to control and examine the run state of the hard lockup detector. . watchdog This parameter is still available to control the run state of both lockup detectors at the same time. If this parameter is examined, it shows the logical OR of soft_watchdog and nmi_watchdog. . watchdog_thresh The semantics of this parameter are not affected by the patch. - kernel command line parameters . nosoftlockup The semantics of this parameter have changed. It can now be used to disable the soft lockup detector at boot time. . nmi_watchdog=0 or nmi_watchdog=1 Disable or enable the hard lockup detector at boot time. The patch introduces '=1' as a new option. . nowatchdog The semantics of this parameter are not affected by the patch. It is still available to disable both lockup detectors at boot time. Also, remove the proc_dowatchdog() function which is no longer needed. [dzickus@xxxxxxxxxx: wrote changelog] [dzickus@xxxxxxxxxx: update documentation for kernel params and sysctl] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 bcfba4f4bf3c9c7c72b459d52a9e826dfd72855e Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:10 2015 -0700 watchdog: implement error handling for failure to set up hardware perf events If watchdog_nmi_enable() fails to set up the hardware perf event of one CPU, the entire hard lockup detector is deemed unreliable. Hence, disable the hard lockup detector and shut down the hardware perf events on all CPUs. [dzickus@xxxxxxxxxx: update comments to explain some code] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 83a80a39075a9ded23df1e26a4b617c289077630 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:08 2015 -0700 watchdog: introduce separate handlers for parameters in /proc/sys/kernel Separate handlers for each watchdog parameter in /proc/sys/kernel replace the proc_dowatchdog() function. Three of those handlers merely call proc_watchdog_common() with one different argument. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 ef246a216b02c604ff465b9a62bb0d2e1ea183a7 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:05 2015 -0700 watchdog: introduce proc_watchdog_common() Three of four handlers for the watchdog parameters in /proc/sys/kernel essentially have to do the same thing. if the parameter is being read { return the state of the corresponding bit(s) in 'watchdog_enabled' } else { set/clear the state of the corresponding bit(s) in 'watchdog_enabled' update the run state of the lockup detector(s) } Hence, introduce a common function that can be called by those handlers. The callers pass a 'bit mask' to this function to indicate which bit(s) should be set/cleared in 'watchdog_enabled'. This function handles an uncommon race with watchdog_nmi_enable() where a concurrent update of 'watchdog_enabled' is possible. We use 'cmpxchg' to detect the concurrency. [This avoids introducing a new spinlock or a mutex to synchronize updates of 'watchdog_enabled'. Using the same lock or mutex in watchdog thread context and in system call context needs to be considered carefully because it can make the code prone to deadlock situations in connection with parking/unparking the watchdog threads.] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 f54c2274f5515da6bae779c7340cd0dc69d0dd8d Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:44:01 2015 -0700 watchdog: move definition of 'watchdog_proc_mutex' outside of proc_dowatchdog() This series removes proc_dowatchdog(). Since multiple new functions need the 'watchdog_proc_mutex' to serialize access to the watchdog parameters in /proc/sys/kernel, move the mutex outside of any function. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 a0c9cbb93da9b9a0e00907a4a5d2e5f1fed86350 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:43:58 2015 -0700 watchdog: introduce the proc_watchdog_update() function This series introduces a separate handler for each watchdog parameter in /proc/sys/kernel. The separate handlers need a common function that they can call to update the run state of the lockup detectors, or to have the lockup detectors use a new sample period. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 84d56e66b9b4a646f04ec30696ca1aeea5e654d5 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Tue Apr 14 15:43:55 2015 -0700 watchdog: new definitions and variables, initialization The hardlockup and softockup had always been tied together. Due to the request of KVM folks, they had a need to have one enabled but not the other. Internally rework the code to split things apart more cleanly. There is a bunch of churn here, but the end result should be code that should be easier to maintain and fix without knowing the internals of what is going on. This patch (of 9): Introduce new definitions and variables to separate the user interface in /proc/sys/kernel from the internal run state of the lockup detectors. The internal run state is represented by two bits in a new variable that is named 'watchdog_enabled'. This helps simplify the code, for example: - In order to check if any of the two lockup detectors is enabled, it is sufficient to check if 'watchdog_enabled' is not zero. - In order to enable/disable one or both lockup detectors, it is sufficient to set/clear one or both bits in 'watchdog_enabled'. - Concurrent updates of 'watchdog_enabled' need not be synchronized via a spinlock or a mutex. Updates can either be atomic or concurrency can be detected by using 'cmpxchg'. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> 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 1d5b897706d11ac59fecd85ba7b1cbf91c44fe50 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:43:52 2015 -0700 ocfs2: make mlog_errno return the errno ocfs2 does mlog_errno(v); return v; in many places. Change mlog_errno() so we can do return mlog_errno(v); For some weird reason this patch reduces the size of ocfs2 by 6k: akpm3:/usr/src/25> size fs/ocfs2/ocfs2.ko text data bss dec hex filename 1146613 82767 832192 2061572 1f7504 fs/ocfs2/ocfs2.ko-before 1140857 82767 832192 2055816 1f5e88 fs/ocfs2/ocfs2.ko-after [dan.carpenter@xxxxxxxxxx: double evaluation concerns in mlog_errno()] Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: alex chen <alex.chen@xxxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2f2eca20a09dac0e9d62bf57ce6a0c6ef6cf91e6 Author: alex chen <alex.chen@xxxxxxxxxx> Date: Tue Apr 14 15:43:49 2015 -0700 ocfs2: check if the ocfs2 lock resource has been initialized before calling ocfs2_dlm_lock If ocfs2 lockres has not been initialized before calling ocfs2_dlm_lock, the lock won't be dropped and then will lead umount hung. The case is described below: ocfs2_mknod ocfs2_mknod_locked __ocfs2_mknod_locked ocfs2_journal_access_di Failed because of -ENOMEM or other reasons, the inode lockres has not been initialized yet. iput(inode) ocfs2_evict_inode ocfs2_delete_inode ocfs2_inode_lock ocfs2_inode_lock_full_nested __ocfs2_cluster_lock Succeeds and allocates a new dlm lockres. ocfs2_clear_inode ocfs2_open_unlock ocfs2_drop_inode_locks ocfs2_drop_lock Since lockres has not been initialized, the lock can't be dropped and the lockres can't be migrated, thus umount will hang forever. Signed-off-by: Alex Chen <alex.chen@xxxxxxxxxx> Reviewed-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 1543306e75ee40662b2c6d37c43c8659f3d6f880 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Apr 14 15:43:46 2015 -0700 ocfs2: logging: remove static buffer, use vsprintf extension %pV Use the vsprintf %pV extension to avoid using a static buffer and remove the now unnecessary buffer. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> 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 e2ac55b6a8e337fac7cc59c6f452caac92ab5ee6 Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Tue Apr 14 15:43:44 2015 -0700 ocfs2: incorrect check for debugfs returns debugfs_create_dir and debugfs_create_file may return -ENODEV when debugfs is not configured, so the return value should be checked against ERROR_VALUE as well, otherwise the later dereference of the dentry pointer would crash the kernel. This patch tries to solve this problem by fixing certain checks. However, I have that found other call sites are protected by #ifdef CONFIG_DEBUG_FS. In current implementation, if CONFIG_DEBUG_FS is defined, then the above two functions will never return any ERROR_VALUE. So another possibility to fix this is to surround all the buggy checks/functions with the same #ifdef CONFIG_DEBUG_FS. But I'm not sure if this would break any functionality, as only OCFS2_FS_STATS declares dependency on DEBUG_FS. Signed-off-by: Chengyu Song <csong84@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 762515a8e9c7ead55539cf96a63dec2363b1df50 Author: Jakub Wilk <jwilk@xxxxxxxxx> Date: Tue Apr 14 15:43:41 2015 -0700 ocfs2: fix a typo in the copyright statement Signed-off-by: Jakub Wilk <jwilk@xxxxxxxxx> Reviewed-by: Eric Ren <zren@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 023d4ea358494ccfeb37abfe5b0fd01b45a6051c Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:33 2015 -0700 ocfs2: fix possible uninitialized variable access In ocfs2_local_alloc_find_clear_bits and ocfs2_get_dentry, variable numfound and set may be uninitialized and then used in tracepoint. In ocfs2_xattr_block_get and ocfs2_delete_xattr_in_bucket, variable block_off and xv may be uninitialized and then used in the following logic due to unchecked return value. This patch fixes these possible issues. Signed-off-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 7c01ad8fe7c159d7e1ddbd8e586d4d0dfed7ab3d Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Apr 14 15:43:30 2015 -0700 ocfs2: remove goto statement in ocfs2_check_dir_for_entry() Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> 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 a47726bcf299db6b5743d574df36c423263b4e65 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:27 2015 -0700 ocfs2: rollback the cleared bits if error occurs after ocfs2_block_group_clear_bits ocfs2_block_group_clear_bits will clear bits in block group bitmap. Once it succeeds but fails in the following step, it will cause block group bitmap mismatch the corresponding count recorded in dinode. So rollback the cleared bits if error occurs. Signed-off-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 62f8b1f0d609838361d65b5b2114859d464e6baa Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:24 2015 -0700 ocfs2: use ENOENT instead of EEXIST when get system file fails When ocfs2_get_system_file_inode fails, it is obscure to set the return value to -EEXIST. So change it to -ENOENT. Signed-off-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 e38a573907383b3c57514fe2331322b1fc110eef Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:22 2015 -0700 ocfs2: use actual name length when find entry in ocfs2_orphan_del() If the namelen is 20 and name only has actual length 16, it will fail in ocfs2_find_entry because of mismatch. So use actual name length when find entry. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Signed-off-by: Yiwen Jiang <jiangyiwen@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 e073fc58dfe6a4c9b614320c1d56bb71cb213ec4 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Apr 14 15:43:19 2015 -0700 ocfs2: dereferencing freed pointers in ocfs2_reflink() The code at the "out" label assumes that "default_acl" and "acl" are NULL, but actually the pointers can be NULL, unitialized, or freed. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0ba25b905ba1246d04578cd59df83014e9b9152 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:16 2015 -0700 ocfs2: fix typo in ocfs2_reserve_local_alloc_bits In ocfs2_reserve_local_alloc_bits, it calls ocfs2_error if local alloc inode bitmap used bits mismatch, but the log mistakes it as free bits. Signed-off-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 14a5275d8c31ba24832f45eeb2469e835ded660d Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:13 2015 -0700 ocfs2: do not use ocfs2_zero_extend during direct IO In ocfs2_direct_IO_write, we use ocfs2_zero_extend to zero allocated clusters in case of cluster not aligned. But ocfs2_zero_extend uses page cache, this may happen that it clears the data which blockdev_direct_IO has already written. We should use blkdev_issue_zeroout instead of ocfs2_zero_extend during direct IO. So fix this issue by introducing ocfs2_direct_IO_zero_extend and ocfs2_direct_IO_extend_no_holes. Reported-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Tested-by: Yiwen Jiang <jiangyiwen@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 37a8d89aee2a5b58812e19520d96632efe987f54 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:10 2015 -0700 ocfs2: take inode lock when get clusters We need take inode lock when calling ocfs2_get_clusters. And use GFP_NOFS instead of GFP_KERNEL. Signed-off-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 7e9b19551c8249baf380cbd274633ee4af95bc99 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:08 2015 -0700 ocfs2: no need get dinode bh when zeroing extend Since di_bh won't be used when zeroing extend, set it to NULL. Signed-off-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 bdd86215b393b743be34b854299c6cda7cbb361c Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Tue Apr 14 15:43:05 2015 -0700 ocfs2: fix a typing error in ocfs2_direct_IO_write Only when direct IO succeeds we need consider zeroing out in case of cluster not aligned. Signed-off-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 7a8346429d6da4039a4687a8a07f3f8cdaf96d92 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Apr 14 15:43:02 2015 -0700 ocfs2: avoid a pointless delay in o2cb_cluster_check() Fix an off-by-one when attempting to avoid an msleep() on the final loop iteration. Signed-off-by: Daeseok Youn <daeseok.youn@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 43ee9cad8a81954eea893b52e08d0c00ca9baccc Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:59 2015 -0700 ocfs2: one function call less in user_cluster_connect() after error detection kfree() was called by user_cluster_connect() even if a previous call of the kzalloc() function failed. Return from this implementation directly after failure detection. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 bb34ed21bce54a900c034089a6b1fde8c09f6a6d Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:56 2015 -0700 ocfs2: one function call less in ocfs2_init_slot_info() after error detection __ocfs2_free_slot_info() was called by ocfs2_init_slot_info() even if a call of the kzalloc() function failed. Return from this implementation directly after corresponding exception handling. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 629a3b5f0b1c09025546e110ea2b2a67335ed8c5 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:53 2015 -0700 ocfs2: one function call less in ocfs2_merge_rec_right() after error detection ocfs2_free_path() was called by ocfs2_merge_rec_right() even if a call of the ocfs2_get_right_path() function failed. Return from this implementation directly after corresponding exception handling. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 992ef6e794c4d6b84e7930ee79310f066c7f6727 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:51 2015 -0700 ocfs2: one function call less in ocfs2_merge_rec_left() after error detection ocfs2_free_path() was called by ocfs2_merge_rec_left() even if a call of the ocfs2_get_left_path() function failed. Return from this implementation directly after corresponding exception handling. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 06a269ccdf0550671667f5cfa00bdabb6bf05259 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:48 2015 -0700 ocfs2: less function calls in ocfs2_figure_merge_contig_type() after error detection ocfs2_free_path() was called in some cases by ocfs2_figure_merge_contig_type() during error handling even if the passed variables "left_path" and "right_path" contained still a null pointer. Corresponding implementation details could be improved by adjustments for jump labels according to the current Linux coding style convention. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 3cc79b795b53a9a04aa1bcc1a943379f06324bb6 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:45 2015 -0700 ocfs2: less function calls in ocfs2_convert_inline_data_to_extents() after error detection kfree() was called in a few cases by ocfs2_convert_inline_data_to_extents() during error handling even if the passed variable "pages" contained a null pointer. * Return from this implementation directly after failure detection for the function call "kcalloc". * Corresponding details could be improved by the introduction of another jump label. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 fd90d4dfb94a8c0d626c0c85ca7dcfb905f81a65 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:42:42 2015 -0700 ocfs2: delete unnecessary checks before three function calls kfree(), ocfs2_free_path() and __ocfs2_free_slot_info() test whether their argument is NULL and then return immediately. Thus the test around their calls is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> 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 1cf370c61179e01313457363b21f0859be0d8cb7 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:42:40 2015 -0700 arch/sh/kernel/dwarf.c: use mempool_create_slab_pool() Mempools created for slab caches should use mempool_create_slab_pool(). Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7b4b425897cd582897ccc38b637ce7ab5ffc5593 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Apr 14 15:42:37 2015 -0700 arch/sh/kernel/dwarf.c: destroy mempools on cleanup dwarf_reg_pool and dwarf_frame_pool are not properly destroyed when cleaning up the dwarf unwinder. Destroy them with mempool_destroy(). Also mark dwarf_unwinder_cleanup() as __init. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5017335d6d8c1fc3bbc04f80785440885f305879 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Apr 14 15:42:34 2015 -0700 scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning if()/BUG conversion to BUG_ON must be avoided when there's side effect in condition. The reason being BUG_ON won't execute the condition when CONFIG_BUG is not defined. With inspiration from Bruce Fields. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Suggested-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: J. Bruce Fields <bfields@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 97534127012f0e396eddea4691f4c9b170aed74b Author: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Date: Tue Apr 14 15:42:30 2015 -0700 mm/hugetlb: use pmd_page() in follow_huge_pmd() Commit 61f77eda9bbf ("mm/hugetlb: reduce arch dependent code around follow_huge_*") broke follow_huge_pmd() on s390, where pmd and pte layout differ and using pte_page() on a huge pmd will return wrong results. Using pmd_page() instead fixes this. All architectures that were touched by that commit have pmd_page() defined, so this should not break anything on other architectures. Fixes: 61f77eda "mm/hugetlb: reduce arch dependent code around follow_huge_*" Signed-off-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx>, Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80dcc31fbe55932ac9204daee5f2ebc0c49b6da3 Merge: 78d5dcd 3013317 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 16:09:18 2015 -0700 Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 Pull GFS2 updates from Bob Peterson: "Here is a list of patches we've accumulated for GFS2 for the current upstream merge window. Most of the patches fix GFS2 quotas, which were not properly enforced. There's another that adds me as a GFS2 co-maintainer, and a couple patches that fix a kernel panic doing splice_write on GFS2 as well as a few correctness patches" * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: gfs2: fix quota refresh race in do_glock() gfs2: incorrect check for debugfs returns gfs2: allow fallocate to max out quotas/fs efficiently gfs2: allow quota_check and inplace_reserve to return available blocks gfs2: perform quota checks against allocation parameters GFS2: Move gfs2_file_splice_write outside of #ifdef GFS2: Allocate reservation during splice_write GFS2: gfs2_set_acl(): Cache "no acl" as well Add myself (Bob Peterson) as a maintainer of GFS2 commit 78d5dcda92a17f17132671c269ea2c3a17688649 Merge: 2cfde72 7d2ac45 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 16:04:26 2015 -0700 Merge tag 'jfs-4.1' of git://github.com/kleikamp/linux-shaggy Pull jfs update from David Kleikamp: "Not much this time. Just a one-liner format fix" * tag 'jfs-4.1' of git://github.com/kleikamp/linux-shaggy: jfs: %pf is only for function pointers commit 2cfde72f0f26d3df7e565c5dce687c372042feba Merge: ca2ec32 62f269e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:58:56 2015 -0700 Merge tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux Pull pstore fix from Tony Luck: "Just one pstore fix this release" * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: pstore: Fix the ramoops module parameters update commit f4f88c6d3b6fe1632ddb567be155698733e857a1 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:33:10 2015 -0700 fm10k: Bump driver version to 0.15.2 With the recent driver changes, bump the version. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> commit b32d15b9d71b37854b94923a176acda35b40c9f4 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:15 2015 -0700 fm10k: corrected VF multicast update VFs were being improperly added to the switch's multicast group. The error stems from the fact that incorrect arguments were passed to the "update_mc_addr" function. It would seem to be a copy paste error since the parameters are similar to the "update_uc_addr" function. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Ngai-Mint Kwan <ngai-mint.kwan@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit da61b36706f06a95bedeef0168db5b40a2940f8a Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:14 2015 -0700 fm10k: mbx_update_max_size does not drop all oversized messages When we call update_max_size it does not drop all oversized messages. This is due to the difficulty in performing this operation, since it is a FIFO which makes updating anything other than head or tail very difficult. To fix this, modify validate_msg_size to ensure that we error out later when trying to transmit the message that could be oversized. This will generally be a rare condition, as it requires the FIFO to include a message larger than the max_size negotiated during mailbox connect. Note that max_size is always smaller than rx.size so it should be safe to use here. Also, update the update_max_size function header comment to clearly indicate that it does not drop all oversized messages, but only those at the head of the FIFO. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 78288e3750c568f0f95db235a06475db3b1a122a Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:13 2015 -0700 fm10k: reset head instead of calling update_max_size When we forcefully shutdown the mailbox, we then go about resetting max size to 0, and clearing all messages in the FIFO. Instead, we should just reset the head pointer so that the FIFO becomes empty, rather than changing the max size to 0. This helps prevent increment in tx_dropped counter during mailbox negotiation, which is confusing to viewers of Linux ethtool statistics output. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 750c607e303971e1746f98bfeec17bf45cbf228d Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:12 2015 -0700 fm10k: renamed mbx_tx_dropped to mbx_tx_oversized The use of dropped doesn't really mean dropped mailbox messages, but rather specifically messages which were too large to fit in the remote Rx FIFO. Rename the stat to more clearly indicate what it means. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bae97d84100ae7a8dc3b79233ecd3a8f7c19ea57 Merge: 87ffabb 97bb43c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 14 18:51:19 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next A final pull request, I know it's very late but this time I think it's worth a bit of rush. The following patchset contains Netfilter/nf_tables updates for net-next, more specifically concatenation support and dynamic stateful expression instantiation. This also comes with a couple of small patches. One to fix the ebtables.h userspace header and another to get rid of an obsolete example file in tree that describes a nf_tables expression. This time, I decided to paste the original descriptions. This will result in a rather large commit description, but I think these bytes to keep. Patrick McHardy says: ==================== netfilter: nf_tables: concatenation support The following patches add support for concatenations, which allow multi dimensional exact matches in O(1). The basic idea is to split the data registers, currently consisting of 4 registers of 16 bytes each, into smaller units, 16 registers of 4 bytes each, and making sure each register store always leaves the full 32 bit in a well defined state, meaning smaller stores will zero the remaining bits. Based on that, we can load multiple adjacent registers with different values, thereby building a concatenated bigger value, and use that value for set lookups. Sets are changed to use variable sized extensions for their key and data values, removing the fixed limit of 16 bytes while saving memory if less space is needed. As a side effect, these patches will allow some nice optimizations in the future, like using jhash2 in nft_hash, removing the masking in nft_cmp_fast, optimized data comparison using 32 bit word size etc. These are not done so far however. The patches are split up as follows: * the first five patches add length validation to register loads and stores to make sure we stay within bounds and prepare the validation functions for the new addressing mode * the next patches prepare for changing to 32 bit addressing by introducing a struct nft_regs, which holds the verdict register as well as the data registers. The verdict members are moved to a new struct nft_verdict to allow to pull struct nft_data out of the stack. * the next patches contain preparatory conversions of expressions and sets to use 32 bit addressing * the next patch introduces so far unused register conversion helpers for parsing and dumping register numbers over netlink * following is the real conversion to 32 bit addressing, consisting of replacing struct nft_data in struct nft_regs by an array of u32s and actually translating and validating the new register numbers. * the final two patches add support for variable sized data items and variable sized keys / data in set elements The patches have been verified to work correctly with nft binaries using both old and new addressing. ==================== Patrick McHardy says: ==================== netfilter: nf_tables: dynamic stateful expression instantiation The following patches are the grand finale of my nf_tables set work, using all the building blocks put in place by the previous patches to support something like iptables hashlimit, but a lot more powerful. Sets are extended to allow attaching expressions to set elements. The dynset expression dynamically instantiates these expressions based on a template when creating new set elements and evaluates them for all new or updated set members. In combination with concatenations this effectively creates state tables for arbitrary combinations of keys, using the existing expression types to maintain that state. Regular set GC takes care of purging expired states. We currently support two different stateful expressions, counter and limit. Using limit as a template we can express the functionality of hashlimit, but completely unrestricted in the combination of keys. Using counter we can perform accounting for arbitrary flows. The following examples from patch 5/5 show some possibilities. Userspace syntax is still WIP, especially the listing of state tables will most likely be seperated from normal set listings and use a more structured format: 1. Limit the rate of new SSH connections per host, similar to iptables hashlimit: flow ip saddr timeout 60s \ limit 10/second \ accept 2. Account network traffic between each set of /24 networks: flow ip saddr & 255.255.255.0 . ip daddr & 255.255.255.0 \ counter 3. Account traffic to each host per user: flow skuid . ip daddr \ counter 4. Account traffic for each combination of source address and TCP flags: flow ip saddr . tcp flags \ counter The resulting set content after a Xmas-scan look like this: { 192.168.122.1 . fin | psh | urg : counter packets 1001 bytes 40040, 192.168.122.1 . ack : counter packets 74 bytes 3848, 192.168.122.1 . psh | ack : counter packets 35 bytes 3144 } In the future the "expressions attached to elements" will be extended to also support user created non-stateful expressions to allow to efficiently select beween a set of parameter sets, f.i. a set of log statements with different prefixes based on the interface, which currently require one rule each. This will most likely have to wait until the next kernel version though. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7731cc8a1593510cdd5acf97a70a41a2ebe9571 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:11 2015 -0700 fm10k: update xcast mode before synchronizing multicast addresses When the PF receives a request to update a multicast address for the VF, it checks the enabled multicast mode first. Fix a bug where the VF tried to set a multicast address before requesting the required xcast mode. This ensures the multicast addresses are honored as long as the xcast mode was allowed. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 54b3c9cfad6bf0488a031171805c52346f4efa3d Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:09 2015 -0700 fm10k: start service timer on probe Since the service task handles varying work that doesn't all require the interface to be up, launch the service timer immediately. This ensures that we continually check the mailbox, as well as handle other tasks while the device is down. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 41857562530c1da9cd73b018996b9522676cb6a2 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:08 2015 -0700 fm10k: fix function header comment The header comment included a miscopy of a C-code line, and also mis-used Rx FIFO when it clearly meant Tx FIFO Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ada2411d4fce4c55cfe04cdd9ed3dc2c5fe6523a Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:07 2015 -0700 fm10k: comment next_vf_mbx flow Add a header comment explaining why we have the somewhat crazy mailbox flow. This flow is necessary as it prevents the PF<->SM mailbox from being flooded by the VF messages, which normally trigger a message to the PF. This helps prevent the case where we see a PF mailbox timeout. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9de15bda37bd9b86378afd82e6fc52e82dc89ac3 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 10 17:20:17 2015 -0700 fm10k: don't handle mailbox events in iov_event path and always process mailbox Since we already schedule the service task, we can just wait for this task to handle the mailbox events from the VF. This reduces some complex code flow, and makes it so we have a single path for handling the VF messages. There is a possibility that we have a slight delay in handling VF messages, but it should be minimal. The result of tx_complete and !rx_ready is insufficient to determine whether we need to process the mailbox. There is a possible race condition whereby the VF fills up the mbmem for us, but we have already recently processed the mailboxes in the interrupt. During this time, the interrupt is disabled. Thus, our Rx FIFO is empty, but the mbmem now has data in it. Since we continually check whether Rx FIFO is empty, we then never call process. This results in the possibility to prevent PF from handling the VF mailbox messages. Instead, just call process every time, despite the fact that we may or may not have anything to process for the VF. There should be minimal overhead for doing this, and it resolves an issue where the VF never comes up due to never getting response for its SET_LPORT_STATE message. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b382bb1b3e2d498ee7ce8976afa7737d407a4f11 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:05 2015 -0700 fm10k: use separate workqueue for fm10k driver Since we run the watchdog periodically, which might take a while and potentially monopolize the system default workqueue, create our own separate work queue. This also helps reduce and stabilize latency between scheduling the work in our interrupt and actually performing the work. Still use a timer for the regular scheduled interval but queue the work onto its own work queue. It seemed overkill to create a single workqueue per interface, so we just spawn a single work queue for all interfaces upon driver load. For this reason, use a multi-threaded workqueue with one thread per processor, rather than single threaded queue. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ded8b20d5f236f5850f000b4da5f3b4bfa00262d Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:04 2015 -0700 fm10k: Set PF queues to unlimited bandwidth during virtualization When returning virtualization queues from the VF back to the PF, do not retain the VF rate limiter. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Todd Russell <todd.a.russell@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e05546ec05d854b540d9f39b32f40c3bda34f6cc Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:03 2015 -0700 fm10k: expose tx_timeout_count as an ethtool stat Named it tx_hang_count to differentiate it from tx_hwtstamp_timeout. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 10df06fa2ad10a685c51c6652288ed531a414a3e Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:02 2015 -0700 fm10k: only increment tx_timeout_count in Tx hang path We were incrementing the tx_timeout_count for both the Tx hang and then for all reset flows. Instead, we should only increment tx_timeout_count in the Tx hang path, so that our Tx hang counter does not increment when it was not caused by a Tx hang. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5deaf50bfba5f3ffb42bd655faa5b18822452b3b Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:01 2015 -0700 fm10k: remove extraneous "Reset interface" message Since we already print this message when a reset is requested via the RESET_REQUESTED flag, we do not need to print it before setting the flag. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fbdb159f7d662b32111b489a50ce59a1f5d4a817 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:27:00 2015 -0700 fm10k: separate PF only stats so that VF does not display them This patch resolves an issue with ethtool stats displaying useless values on the VF, because some stats simply have no meaning to the VF. Resolve this by splitting these out into PF_STATS and only showing them if we aren't the VF. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c0e61781a8cb1c5d1b092a4d9776dbefe799444e Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:59 2015 -0700 fm10k: use hw->mac.max_queues for stats Even though it shouldn't strictly matter, don't count queue stats higher than the max_queues value stored for this mac. This ensures that we don't attempt to check queues which don't belong to use in VFs. This shouldn't be a visible change, as the VFs should see zero for queues which don't belong to them. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 29a928ee633a9166e5637609ce4c735856b23fbe Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:58 2015 -0700 fm10k: only show actual queues, not the maximum in hardware Currently, we show statistics for all 128 queues, even though we don't necessarily have that many queues available especially in the VF case. Instead, use the hw->mac.max_queues value, which tells us how many queues we actually have, rather than the space for the rings we allocated. In this way, we prevent dumping statistics that are useless on the VF. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 661b2067910fdecb9a7053f7b5279a0ff61b0bf7 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 10 16:48:19 2015 -0700 fm10k: allow creation of VLAN on default vid Previously, the user was not allowed to create a VLAN interface on top of the switch default vid. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ca2ec32658db160745990496f0f4580056a5dc9f Merge: 6c8a53c9 fdc81f4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 15:31:03 2015 -0700 Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs update from Al Viro: "Part one: - struct filename-related cleanups - saner iov_iter_init() replacements (and switching the syscalls to use of those) - ntfs switch to ->write_iter() (Anton) - aio cleanups and splitting iocb into common and async parts (Christoph) - assorted fixes (me, bfields, Andrew Elble) There's a lot more, including the completion of switchover to ->{read,write}_iter(), d_inode/d_backing_inode annotations, f_flags race fixes, etc, but that goes after #for-davem merge. David has pulled it, and once it's in I'll send the next vfs pull request" * 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (35 commits) sg_start_req(): use import_iovec() sg_start_req(): make sure that there's not too many elements in iovec blk_rq_map_user(): use import_single_range() sg_io(): use import_iovec() process_vm_access: switch to {compat_,}import_iovec() switch keyctl_instantiate_key_common() to iov_iter switch {compat_,}do_readv_writev() to {compat_,}import_iovec() aio_setup_vectored_rw(): switch to {compat_,}import_iovec() vmsplice_to_user(): switch to import_iovec() kill aio_setup_single_vector() aio: simplify arguments of aio_setup_..._rw() aio: lift iov_iter_init() into aio_setup_..._rw() lift iov_iter into {compat_,}do_readv_writev() NFS: fix BUG() crash in notify_change() with patch to chown_common() dcache: return -ESTALE not -EBUSY on distributed fs race NTFS: Version 2.1.32 - Update file write from aio_write to write_iter. VFS: Add iov_iter_fault_in_multipages_readable() drop bogus check in file_open_root() switch security_inode_getattr() to struct path * constify tomoyo_realpath_from_path() ... commit de445199161530636cd7ab9c85ba2eb6d15c380b Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:56 2015 -0700 fm10k: fix unused warnings The were several functions which had parameters which were never or sometimes used in functions. To resolve possible compiler warnings, use __always_unused or __maybe_unused kernel macros to resolve. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8b4a98c7fa0344c08c34657e2bd2cc2293a67238 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 10 19:14:31 2015 -0700 fm10k: Add netconsole support This change adds a function called "fm10k_netpoll" that's used to define "ndo_poll_controller" in "fm10k_netdev_ops". This is required to enable support for "netconsole" in fm10k. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Ngai-Mint Kwan <ngai-mint.kwan@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4c16ceae8daa13c99ca1b7b46d372678f5024a6f Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:54 2015 -0700 fm10k: Have the VF get the default VLAN during init Currently, the VFs do not read the default VLAN during initialization, so they will not be able to indicate untagged frames properly. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a4bcea83d1f124f8964cfae85a68b2c984187607 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:53 2015 -0700 fm10k: Correct spelling mistake Corrected a spelling mistake that was found over time. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Ngai-Mint Kwan <ngai-mint.kwan@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 97c71e3ccf70291249a564566a63e23dcaa9eee7 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:52 2015 -0700 fm10k: Remove redundant rx_errors in ethtool Output of ethtool was reporting 2 rx_errors entries. This change removes one of the redundant entries. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> commit f4e25f6e368492198d49ac6b2e05a25866fe3e8e Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Apr 3 13:26:51 2015 -0700 fm10k: Corrected an error in Tx statistics The function collecting Tx statistics was actually using values from the RX ring. Thus, Tx and Rx statistics values reported by "ifconfig" will return identical values. This change corrects this error and the Tx statistics is now reading from the Tx ring. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> commit 6c8a53c9e6a151fffb07f8b4c34bd1e33dddd467 Merge: e95e7f6 066450b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 14:37:47 2015 -0700 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf changes from Ingo Molnar: "Core kernel changes: - One of the more interesting features in this cycle is the ability to attach eBPF programs (user-defined, sandboxed bytecode executed by the kernel) to kprobes. This allows user-defined instrumentation on a live kernel image that can never crash, hang or interfere with the kernel negatively. (Right now it's limited to root-only, but in the future we might allow unprivileged use as well.) (Alexei Starovoitov) - Another non-trivial feature is per event clockid support: this allows, amongst other things, the selection of different clock sources for event timestamps traced via perf. This feature is sought by people who'd like to merge perf generated events with external events that were measured with different clocks: - cluster wide profiling - for system wide tracing with user-space events, - JIT profiling events etc. Matching perf tooling support is added as well, available via the -k, --clockid <clockid> parameter to perf record et al. (Peter Zijlstra) Hardware enablement kernel changes: - x86 Intel Processor Trace (PT) support: which is a hardware tracer on steroids, available on Broadwell CPUs. The hardware trace stream is directly output into the user-space ring-buffer, using the 'AUX' data format extension that was added to the perf core to support hardware constraints such as the necessity to have the tracing buffer physically contiguous. This patch-set was developed for two years and this is the result. A simple way to make use of this is to use BTS tracing, the PT driver emulates BTS output - available via the 'intel_bts' PMU. More explicit PT specific tooling support is in the works as well - will probably be ready by 4.2. (Alexander Shishkin, Peter Zijlstra) - x86 Intel Cache QoS Monitoring (CQM) support: this is a hardware feature of Intel Xeon CPUs that allows the measurement and allocation/partitioning of caches to individual workloads. These kernel changes expose the measurement side as a new PMU driver, which exposes various QoS related PMU events. (The partitioning change is work in progress and is planned to be merged as a cgroup extension.) (Matt Fleming, Peter Zijlstra; CPU feature detection by Peter P Waskiewicz Jr) - x86 Intel Haswell LBR call stack support: this is a new Haswell feature that allows the hardware recording of call chains, plus tooling support. To activate this feature you have to enable it via the new 'lbr' call-graph recording option: perf record --call-graph lbr perf report or: perf top --call-graph lbr This hardware feature is a lot faster than stack walk or dwarf based unwinding, but has some limitations: - It reuses the current LBR facility, so LBR call stack and branch record can not be enabled at the same time. - It is only available for user-space callchains. (Yan, Zheng) - x86 Intel Broadwell CPU support and various event constraints and event table fixes for earlier models. (Andi Kleen) - x86 Intel HT CPUs event scheduling workarounds. This is a complex CPU bug affecting the SNB,IVB,HSW families that results in counter value corruption. The mitigation code is automatically enabled and is transparent. (Maria Dimakopoulou, Stephane Eranian) The perf tooling side had a ton of changes in this cycle as well, so I'm only able to list the user visible changes here, in addition to the tooling changes outlined above: User visible changes affecting all tools: - Improve support of compressed kernel modules (Jiri Olsa) - Save DSO loading errno to better report errors (Arnaldo Carvalho de Melo) - Bash completion for subcommands (Yunlong Song) - Add 'I' event modifier for perf_event_attr.exclude_idle bit (Jiri Olsa) - Support missing -f to override perf.data file ownership. (Yunlong Song) - Show the first event with an invalid filter (David Ahern, Arnaldo Carvalho de Melo) User visible changes in individual tools: 'perf data': New tool for converting perf.data to other formats, initially for the CTF (Common Trace Format) from LTTng (Jiri Olsa, Sebastian Siewior) 'perf diff': Add --kallsyms option (David Ahern) 'perf list': Allow listing events with 'tracepoint' prefix (Yunlong Song) Sort the output of the command (Yunlong Song) 'perf kmem': Respect -i option (Jiri Olsa) Print big numbers using thousands' group (Namhyung Kim) Allow -v option (Namhyung Kim) Fix alignment of slab result table (Namhyung Kim) 'perf probe': Support multiple probes on different binaries on the same command line (Masami Hiramatsu) Support unnamed union/structure members data collection. (Masami Hiramatsu) Check kprobes blacklist when adding new events. (Masami Hiramatsu) 'perf record': Teach 'perf record' about perf_event_attr.clockid (Peter Zijlstra) Support recording running/enabled time (Andi Kleen) 'perf sched': Improve the performance of 'perf sched replay' on high CPU core count machines (Yunlong Song) 'perf report' and 'perf top': Allow annotating entries in callchains in the hists browser (Arnaldo Carvalho de Melo) Indicate which callchain entries are annotated in the TUI hists browser (Arnaldo Carvalho de Melo) Add pid/tid filtering to 'report' and 'script' commands (David Ahern) Consider PERF_RECORD_ events with cpumode == 0 in 'perf top', removing one cause of long term memory usage buildup, i.e. not processing PERF_RECORD_EXIT events (Arnaldo Carvalho de Melo) 'perf stat': Report unsupported events properly (Suzuki K. Poulose) Output running time and run/enabled ratio in CSV mode (Andi Kleen) 'perf trace': Handle legacy syscalls tracepoints (David Ahern, Arnaldo Carvalho de Melo) Only insert blank duration bracket when tracing syscalls (Arnaldo Carvalho de Melo) Filter out the trace pid when no threads are specified (Arnaldo Carvalho de Melo) Dump stack on segfaults (Arnaldo Carvalho de Melo) No need to explicitely enable evsels for workload started from perf, let it be enabled via perf_event_attr.enable_on_exec, removing some events that take place in the 'perf trace' before a workload is really started by it. (Arnaldo Carvalho de Melo) Allow mixing with tracepoints and suppressing plain syscalls. (Arnaldo Carvalho de Melo) There's also been a ton of infrastructure work done, such as the split-out of perf's build system into tools/build/ and other changes - see the shortlog and changelog for details" * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (358 commits) perf/x86/intel/pt: Clean up the control flow in pt_pmu_hw_init() perf evlist: Fix type for references to data_head/tail perf probe: Check the orphaned -x option perf probe: Support multiple probes on different binaries perf buildid-list: Fix segfault when show DSOs with hits perf tools: Fix cross-endian analysis perf tools: Fix error path to do closedir() when synthesizing threads perf tools: Fix synthesizing fork_event.ppid for non-main thread perf tools: Add 'I' event modifier for exclude_idle bit perf report: Don't call map__kmap if map is NULL. perf tests: Fix attr tests perf probe: Fix ARM 32 building error perf tools: Merge all perf_event_attr print functions perf record: Add clockid parameter perf sched replay: Use replay_repeat to calculate the runavg of cpu usage instead of the default value 10 perf sched replay: Support using -f to override perf.data file ownership perf sched replay: Fix the EMFILE error caused by the limitation of the maximum open files perf sched replay: Handle the dead halt of sem_wait when create_tasks() fails for any task perf sched replay: Fix the segmentation fault problem caused by pr_err in threads perf sched replay: Realloc the memory of pid_to_task stepwise to adapt to the different pid_max configurations ... commit 2afebafdbdabd666f6ed3989bb5be21bd94b57bd Author: Oliver Neukum <oneukum@xxxxxxx> Date: Tue Apr 14 14:24:09 2015 -0700 Input: ff-core - use new debug macros Replace old pr_* with dev_* debugging macros Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8b8be51b4fd365ac5983e117be9d28f427a07b68 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Tue Apr 14 10:06:38 2015 -0700 Input: add vmmouse driver VMMouse enables low-latency mouse-cursor-movements for VMWare and QEMU guests. By removing the guest cursor and using the host as a guest cursor the cursor movement appears instant although in reality there is some lag. To be able to do this, the host's view of the cursor position must exactly match the guest's view and an absolute pointer device is needed. Enter the VMMouse. While the VMMouse driver has historically been an Xorg user-space driver, implementing it as a kernel imput driver enables rootless Xorg and new compositing display servers for VMware guests. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4b2f8838479eb2abe042e094f7d2cced6d5ea772 Merge: c848791 9fd85eb Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Apr 14 22:28:32 2015 +0100 Merge branch 'devel-stable' into for-next commit c848791f0336914a3081ea3fe029cf177d81de81 Merge: 79403cd e5b61de 6c5c2a0 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Apr 14 22:28:25 2015 +0100 Merge branches 'misc', 'vdso' and 'fixes' into for-next Conflicts: arch/arm/mm/proc-macros.S commit 79403cda37204b06b9f96351a35251ff7d88de4b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Apr 13 16:14:37 2015 +0100 ARM: update errata 430973 documentation to cover Cortex A8 r1p* This errata covers all r1 variants of Cortex A8, it's not limited to just r1p0..r1p2. Update the documentation to reflect this. The code already applies the workaround to all r1p* A8 CPUs. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 57ca654bef6c43bbbccfb2d231fd245d3f67dd46 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Apr 13 10:36:04 2015 +0100 ARM: ensure delay timer has sufficient accuracy for delays We have recently had an example of someone wanting to use a 90kHz timer for the software delay loop. udelay() needs to have at least microsecond resolution to allow drivers access to a delay mechanism with a reasonable chance of delaying the period they requested within at least a 50% marging of error, especially for small delays. Discussion about the udelay() accuracy can be found at: https://lkml.org/lkml/2011/1/9/37 Reject timers which are unable to supply this level of resolution. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 37463be8658ae5fba153f4029ca3ec3f8a64fd51 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:43:51 2015 +0000 ARM: switch to use the generic show_mem() implementation Switch ARM to use the generic show_mem() implementation, which displays the statistics from the mm zone rather than walking the page arrays. Acked-by: Mel Gorman <mgorman <mgorman@xxxxxxx> Tested-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a6d746789825e4d7229523eebee233b03ad48c54 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Apr 7 15:35:24 2015 +0100 ARM: proc-v7: avoid errata 430973 workaround for non-Cortex A8 CPUs Avoid the errata 430973 workaround for non-Cortex A8 CPUs. Having this workaround enabled introduces an additional branch target buffer flush into the context switching path, something we wish to avoid. To allow this errata to be enabled in multiplatform kernels while reducing its impact, rearrange the Cortex-A8 CPU support to avoid impacting on other Version 7 CPUs. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e5a5de4447471ab1a01585f075400c2be36e2cb6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Apr 2 23:58:55 2015 +0100 ARM: enable ARM errata 643719 workaround by default The effects of not having ARM errata 643719 enabled on affected CPUs can be very confusing and hard to debug. Rather than leave this to chance, enable this workaround by default. Now that we have rearranged the code, it should have a low impact on the majority of CPUs. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit aaf4b5d92ce8299a363f1c0d7dc00aafde532e56 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:32:34 2015 +0100 ARM: cache-v7: optimise test for Cortex A9 r0pX devices Eliminate one unnecessary instruction from this test by pre-shifting the Cortex A9 ID - we can shift the actual ID in the teq instruction thereby losing the pX bit of the ID at no cost. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d3cd451dfb579367b4c5968256b3d8342dd0b0e8 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:25:39 2015 +0100 ARM: cache-v7: optimise branches in v7_flush_cache_louis Optimise the branches such that for the majority of unaffected devices, we avoid needing to execute the errata work-around code path by branching to start_flush_levels early. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit cd8b24d9e852b53e68c69a086358c81423dfb8d1 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:21:42 2015 +0100 ARM: cache-v7: consolidate initialisation of cache level index Both v7_flush_cache_louis and v7_flush_dcache_all both begin the flush_levels loop with r10 initialised to zero. In each case, this is done immediately prior to entering the loop. Branch to this instruction in v7_flush_dcache_all from v7_flush_cache_louis and eliminate the unnecessary initialisation in v7_flush_cache_louis. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 47b8484ea6569511a3cd915bea29886b4cd08333 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:15:53 2015 +0100 ARM: cache-v7: shift CLIDR to extract appropriate field before masking Rather than have code which masks and then shifts, such as: mrc p15, 1, r0, c0, c0, 1 ALT_SMP(ands r3, r0, #7 << 21) ALT_UP( ands r3, r0, #7 << 27) ALT_SMP(mov r3, r3, lsr #20) ALT_UP( mov r3, r3, lsr #26) re-arrange this as a shift and then mask. The masking is the same for each field which we want to extract, so this allows the mask to be shared amongst code paths: mrc p15, 1, r0, c0, c0, 1 ALT_SMP(mov r3, r0, lsr #20) ALT_UP( mov r3, r0, lsr #26) ands r3, r3, #7 << 1 Use this method for the LoUIS, LoUU and LoC fields. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 5aca370826a2487aaaae5db31f6bb0b906e9755f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:10:46 2015 +0100 ARM: cache-v7: use movw/movt instructions We always build cache-v7.S for ARMv7, so we can use the ARMv7 16-bit move instructions to load large constants, rather than using constants in a literal pool. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 89c6bc5884e52ec004f03071f268ba3f27003aba Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Apr 9 12:59:35 2015 +0100 ARM: allow 16-bit instructions in ALT_UP() Allow ALT_UP() to cope with a 16-bit Thumb instruction by automatically inserting a following nop instruction. This allows us to care less about getting the assembler to emit a 32-bit thumb instruction. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e95e7f627062be5e6ce971ce873e6234c91ffc50 Merge: 078838d 1524b74 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 13:58:48 2015 -0700 Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull NOHZ changes from Ingo Molnar: "This tree adds full dynticks support to KVM guests (support the disabling of the timer tick on the guest). The main missing piece was the recognition of guest execution as RCU extended quiescent state and related changes" * 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest context_tracking: Export context_tracking_user_enter/exit context_tracking: Run vtime_user_enter/exit only when state == CONTEXT_USER context_tracking: Add stub context_tracking_is_enabled context_tracking: Generalize context tracking APIs to support user and guest context_tracking: Rename context symbols to prepare for transition state ppc: Remove unused cpp symbols in kvm headers commit 078838d56574694d0a4815d9c1b7f28e8844638b Merge: eeee78c 590ee7d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 13:36:04 2015 -0700 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RCU changes from Ingo Molnar: "The main changes in this cycle were: - changes permitting use of call_rcu() and friends very early in boot, for example, before rcu_init() is invoked. - add in-kernel API to enable and disable expediting of normal RCU grace periods. - improve RCU's handling of (hotplug-) outgoing CPUs. - NO_HZ_FULL_SYSIDLE fixes. - tiny-RCU updates to make it more tiny. - documentation updates. - miscellaneous fixes" * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (58 commits) cpu: Provide smpboot_thread_init() on !CONFIG_SMP kernels as well cpu: Defer smpboot kthread unparking until CPU known to scheduler rcu: Associate quiescent-state reports with grace period rcu: Yet another fix for preemption and CPU hotplug rcu: Add diagnostics to grace-period cleanup rcutorture: Default to grace-period-initialization delays rcu: Handle outgoing CPUs on exit from idle loop cpu: Make CPU-offline idle-loop transition point more precise rcu: Eliminate ->onoff_mutex from rcu_node structure rcu: Process offlining and onlining only at grace-period start rcu: Move rcu_report_unblock_qs_rnp() to common code rcu: Rework preemptible expedited bitmask handling rcu: Remove event tracing from rcu_cpu_notify(), used by offline CPUs rcutorture: Enable slow grace-period initializations rcu: Provide diagnostic option to slow down grace-period initialization rcu: Detect stalls caused by failure to propagate up rcu_node tree rcu: Eliminate empty HOTPLUG_CPU ifdef rcu: Simplify sync_rcu_preempt_exp_init() rcu: Put all orphan-callback-related code under same comment rcu: Consolidate offline-CPU callback initialization ... commit 8844d0f1cb921f70ca09f6b54feeba0b90db072c Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Apr 13 21:24:48 2015 -0700 spi: bcm2835: Add GPIOLIB dependency Fix: drivers/spi/spi-bcm2835.c: In function 'chip_match_name': drivers/spi/spi-bcm2835.c:356:21: error: dereferencing pointer to incomplete type drivers/spi/spi-bcm2835.c: In function 'bcm2835_spi_setup': drivers/spi/spi-bcm2835.c:382:2: error: ` implicit declaration of function 'gpiochip_find' drivers/spi/spi-bcm2835.c:387:21: error: dereferencing pointer to incomplete type by adding the now mandatory GPIOLIB dependency. Fixes: a30a555d7435 ("spi: bcm2835: transform native-cs to gpio-cs on first spi_setup") Cc: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 87ffabb1f055e14e7d171c6599539a154d647904 Merge: 5e0e0dc b50edd7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 14 15:44:14 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net The dwmac-socfpga.c conflict was a case of a bug fix overlapping changes in net-next to handle an error pointer differently. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bfd9a53e0110442eeef670227907bdd14def94e1 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Sat Apr 11 13:17:31 2015 +0900 target/rd: Don't pass incomplete scatterlist entries to sbc_dif_verify_* The scatterlist for protection information which is passed to sbc_dif_verify_read() or sbc_dif_verify_write() requires that neighboring scatterlist entries are contiguous or chained so that they can be iterated by sg_next(). However, the protection information for RD-MCP backends could be located in the multiple scatterlist arrays when the ramdisk space is too large. So if the read/write request straddles this boundary, sbc_dif_verify_read() or sbc_dif_verify_write() can't iterate all scatterlist entries. This problem can be fixed by chaining protection information scatterlist at creation time. For the architectures which don't support sg chaining (i.e. !CONFIG_ARCH_HAS_SG_CHAIN), fix it by allocating temporary scatterlist if needed. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: target-devel@xxxxxxxxxxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 054922bb3549abbea9ed2c1a78a1e331343cc05e Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Apr 10 14:49:44 2015 +0200 target: Remove the unused flag SCF_ACK_KREF The flag SCF_ACK_KREF is only set but never tested. Hence remove this flag. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cb0df4d30105416ef1b4f9845c4ba96569dce587 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Apr 10 14:49:02 2015 +0200 target: Fix two sparse warnings Avoid that sparse complains about context imbalances. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c8e639852ad720499912acedfd6b072325fd2807 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Apr 7 21:53:27 2015 +0000 target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling This patch fixes a bug for COMPARE_AND_WRITE handling with fabrics using SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC. It adds the missing allocation for cmd->t_bidi_data_sg within transport_generic_new_cmd() that is used by COMPARE_AND_WRITE for the initial READ payload, even if the fabric is already providing a pre-allocated buffer for cmd->t_data_sg. Also, fix zero-length COMPARE_AND_WRITE handling within the compare_and_write_callback() and target_complete_ok_work() to queue the response, skipping the initial READ. This fixes COMPARE_AND_WRITE emulation with loopback, vhost, and xen-backend fabric drivers using SG_TO_MEM_NOALLOC. Reported-by: Christoph Hellwig <hch@xxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.12+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9ac8928e6a3e1ed02e632e45aa766129fe6b1802 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Apr 8 20:01:35 2015 +0200 target: simplify the target template registration API Instead of calling target_fabric_configfs_init() + target_fabric_configfs_register() / target_fabric_configfs_deregister() target_fabric_configfs_free() from every target driver, rewrite the API so that we have simple register/unregister functions that operate on a const operations vector. This patch also fixes a memory leak in several target drivers. Several target drivers namely called target_fabric_configfs_deregister() without calling target_fabric_configfs_free(). A large part of this patch is based on earlier changes from Bart Van Assche <bart.vanassche@xxxxxxxxxxx>. (v2: Add a new TF_CIT_SETUP_DRV macro so that the core configfs code can declare attributes as either core only or for drivers) Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 5e0e0dc10a8be16239eae24ab775de60821eee2d Merge: 29ba877 c3c7b12 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 14 15:08:52 2015 -0400 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== cxgb4: Misc. fixes for sge Increases value of MAX_IMM_TX_PKT_LEN to improve latency, fill freelist starving threshold based on adapter type, add comments for tx flits and sge length code and don't call t4_slow_intr_handler when we are not master PF. This patch series has been created against net-next tree and includes patches on cxgb4 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 c3c7b1217f557f9585f3805803d2126c2d385592 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 15 02:02:34 2015 +0530 cxgb4: Don't call t4_slow_intr_handler when we're not the Master PF Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0aac3f56d4a63f049268fec78ead525a9227fead Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 15 02:02:33 2015 +0530 cxgb4: Add comment for calculate tx flits and sge length code Add comment for tx filt and sge length calucaltion code, also remove a hardcoded value Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d52ce9203746254e010dc7f0f3c260d5a5f4b640 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 15 02:02:32 2015 +0530 cxgb4: Use device node in page allocation Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c098b026f075ea34f70d669a84c71cc55fdeb37c Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 15 02:02:31 2015 +0530 cxgb4: Freelist starving threshold varies from adapter to adapter fl_starv_thres could be different from adapter to adapter, don't use hardcoded values Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21dcfad6401b008e7352eb95104c7f199f025ac9 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 15 02:02:30 2015 +0530 cxgb4: Increased the value of MAX_IMM_TX_PKT_LEN from 128 to 256 bytes This allows a significant latency drop for packets of sizes between 128 and 192 bytes Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29ba877e7c8092a4dd3cbef80cca4e857129ca55 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:08:02 2015 +0200 bgmac: drop ring->num_slots The ring size is always known at compile time, so make the code a bit more efficient Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4668ae1fbcab89af5ffbb161d4c70b25ce4c50f4 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:08:01 2015 +0200 bgmac: fix DMA rx corruption The driver needs to inform the hardware about the first invalid (not yet filled) rx slot, by writing its DMA descriptor pointer offset to the BGMAC_DMA_RX_INDEX register. This register was set to a value exceeding the rx ring size, effectively allowing the hardware constant access to the full ring, regardless of which slots are initialized. To fix this issue, always mark the last filled rx slot as invalid. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74b6f29163490d88ff53f7c54d0e4514bbf1630b Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:08:00 2015 +0200 bgmac: simplify dma init/cleanup Instead of allocating buffers at device init time and initializing descriptors at device open, do both at the same time (during open). Free all buffers when closing the device. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Acked-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9650557f3d58924e3be040df0ff7a3dae19ad83 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:59 2015 +0200 bgmac: increase rx ring size from 511 to 512 Limiting it to 511 looks like a failed attempt at leaving one descriptor empty to allow the hardware to stop processing a buffer that has not been prepared yet. However, this doesn't work because this affects the total ring size as well Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a6c708469c9e10fd87adcc3abff164270538d62 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:58 2015 +0200 bgmac: add check for oversized packets In very rare cases, the MAC can catch an internal buffer that is bigger than it's supposed to be. Instead of crashing the kernel, simply pass the buffer back to the hardware Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56faacd04509f0a60ed646473a930fe584f1cb02 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:57 2015 +0200 bgmac: simplify/optimize rx DMA error handling Allocate a new buffer before processing the completed one. If allocation fails, reuse the old buffer. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Acked-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b62dce450e2447146ff6924a1ce8ad1a6592107 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:56 2015 +0200 bgmac: set received skb headroom to NET_SKB_PAD A packet buffer offset of 30 bytes is inefficient, because the first 2 bytes end up in a different cacheline. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb64e2923a886441c7b322f138b36029f3fa6a36 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:55 2015 +0200 bgmac: leave interrupts disabled as long as there is work to do Always poll rx and tx during NAPI poll instead of relying on the status of the first interrupt. This prevents bgmac_poll from leaving unfinished work around until the next IRQ. In my tests this makes bridging/routing throughput under heavy load more stable and ensures that no new IRQs arrive as long as bgmac_poll uses up the entire budget. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b38c83dd08665a93e439c4ffd9eef31bc098a6ea Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Apr 14 12:07:54 2015 +0200 bgmac: simplify tx ring index handling Keep incrementing ring->start and ring->end instead of pointing it to the actual ring slot entry. This simplifies the calculation of the number of free slots. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Acked-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e07678341b612bbf98c2bf205c3f26f3ef5f8e93 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Apr 14 15:28:44 2015 +1000 toshiba: Remove celleb from Kconfig options The toshiba drivers had celleb as an optional dependency. celleb has been dropped [1], so clean that out of Kconfig. [1] http://patchwork.ozlabs.org/patch/451730/ CC: netdev@xxxxxxxxxxxxxxx CC: Valentin Rothberg <valentinrothberg@xxxxxxxxx> CC: mpe@xxxxxxxxxxxxxx CC: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa0a34be68290aa9aa071c0691fb8b6edda38358 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Apr 13 16:34:35 2015 -0700 hv_netvsc: Implement partial copy into send buffer If remaining space in a send buffer slot is too small for the whole message, we only copy the RNDIS header and PPI data into send buffer, so we can batch one more packet each time. It reduces the vmbus per-message overhead. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eeee78cf77df0450ca285a7cd6d73842181e825c Merge: 3f3c73de 9828413 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 10:49:03 2015 -0700 Merge tag 'trace-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing updates from Steven Rostedt: "Some clean ups and small fixes, but the biggest change is the addition of the TRACE_DEFINE_ENUM() macro that can be used by tracepoints. Tracepoints have helper functions for the TP_printk() called __print_symbolic() and __print_flags() that lets a numeric number be displayed as a a human comprehensible text. What is placed in the TP_printk() is also shown in the tracepoint format file such that user space tools like perf and trace-cmd can parse the binary data and express the values too. Unfortunately, the way the TRACE_EVENT() macro works, anything placed in the TP_printk() will be shown pretty much exactly as is. The problem arises when enums are used. That's because unlike macros, enums will not be changed into their values by the C pre-processor. Thus, the enum string is exported to the format file, and this makes it useless for user space tools. The TRACE_DEFINE_ENUM() solves this by converting the enum strings in the TP_printk() format into their number, and that is what is shown to user space. For example, the tracepoint tlb_flush currently has this in its format file: __print_symbolic(REC->reason, { TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" }, { TLB_REMOTE_SHOOTDOWN, "remote shootdown" }, { TLB_LOCAL_SHOOTDOWN, "local shootdown" }, { TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" }) After adding: TRACE_DEFINE_ENUM(TLB_FLUSH_ON_TASK_SWITCH); TRACE_DEFINE_ENUM(TLB_REMOTE_SHOOTDOWN); TRACE_DEFINE_ENUM(TLB_LOCAL_SHOOTDOWN); TRACE_DEFINE_ENUM(TLB_LOCAL_MM_SHOOTDOWN); Its format file will contain this: __print_symbolic(REC->reason, { 0, "flush on task switch" }, { 1, "remote shootdown" }, { 2, "local shootdown" }, { 3, "local mm shootdown" })" * tag 'trace-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (27 commits) tracing: Add enum_map file to show enums that have been mapped writeback: Export enums used by tracepoint to user space v4l: Export enums used by tracepoints to user space SUNRPC: Export enums in tracepoints to user space mm: tracing: Export enums in tracepoints to user space irq/tracing: Export enums in tracepoints to user space f2fs: Export the enums in the tracepoints to userspace net/9p/tracing: Export enums in tracepoints to userspace x86/tlb/trace: Export enums in used by tlb_flush tracepoint tracing/samples: Update the trace-event-sample.h with TRACE_DEFINE_ENUM() tracing: Allow for modules to convert their enums to values tracing: Add TRACE_DEFINE_ENUM() macro to map enums to their values tracing: Update trace-event-sample with TRACE_SYSTEM_VAR documentation tracing: Give system name a pointer brcmsmac: Move each system tracepoints to their own header iwlwifi: Move each system tracepoints to their own header mac80211: Move message tracepoints to their own header tracing: Add TRACE_SYSTEM_VAR to xhci-hcd tracing: Add TRACE_SYSTEM_VAR to kvm-s390 tracing: Add TRACE_SYSTEM_VAR to intel-sst ... commit 3f3c73de77b5598e9f87812ac4da9445090c3b4a Merge: 9497d738 eae4735 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 10:22:29 2015 -0700 Merge tag 'trace-4.1-tracefs' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracefs from Steven Rostedt: "This adds the new tracefs file system. This has been in linux-next for more than one release, as I had it ready for the 4.0 merge window, but a last minute thing that needed to go into Linux first had to be done. That was that perf hard coded the file system number when reading /sys/kernel/debugfs/tracing directory making sure that the path had the debugfs mount # before it would parse the tracing file. This broke other use cases of perf, and the check is removed. Now when mounting /sys/kernel/debug, tracefs is automatically mounted in /sys/kernel/debug/tracing such that old tools will still see that path as expected. But now system admins can mount tracefs directly and not need to mount debugfs, which can expose security issues. A new directory is created when tracefs is configured such that system admins can now mount it separately (/sys/kernel/tracing)" * tag 'trace-4.1-tracefs' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Have mkdir and rmdir be part of tracefs tracefs: Add directory /sys/kernel/tracing tracing: Automatically mount tracefs on debugfs/tracing tracing: Convert the tracing facility over to use tracefs tracefs: Add new tracefs file system tracing: Create cmdline tracer options on tracing fs init tracing: Only create tracer options files if directory exists debugfs: Provide a file creation function that also takes an initial size commit b9bced0eecd77067f4659b90d5ab2fb32485c3e2 Author: duson <dusonlin@xxxxxxxxxx> Date: Sun Apr 12 16:01:05 2015 -0700 Input: elan_i2c - adjust for newer firmware pressure reporting Get pressure format flag from firmware to check if we need to normalize pressure data before reporting it. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9497d7380b9c450830190c75aa43b25c278bb1f9 Merge: d0bbe0d 09675bd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 10:15:34 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching Pull livepatching updates from Jiri Kosina: "These are mostly smaller things that got accumulated during the development cycle. The unified solution is still being worked on and is not mature enough for 4.1 yet. - s390 livepatching support, from Jiri Slaby (has Ack from s390 maintainers) - error handling simplification, from Josh Poimboeuf - two minor code cleanups from Josh Poimboeuf and Miroslav Benes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching: livepatch: add support on s390 livepatch: remove unnecessary call to klp_find_object_module() livepatch: simplify disable error path livepatch: remove extern specifier from header files commit 5df07b74f671d1dfc1d81c3e791c335183cfc515 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Apr 14 15:23:25 2015 +1000 Remove celleb-only SCC PATA drivers The SCC PATA interface is only used by celleb. celleb has been dropped [1], so drop the drivers. [1] http://patchwork.ozlabs.org/patch/451730/ CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: linux-ide@xxxxxxxxxxxxxxx CC: Valentin Rothberg <valentinrothberg@xxxxxxxxx> CC: mpe@xxxxxxxxxxxxxx CC: linuxppc-dev@xxxxxxxxxxxxxxx Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d0bbe0dd353af9521e9d8bc5236308c677b6f62a Merge: 8de29a3 0e4f93e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 09:50:27 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull trivial tree from Jiri Kosina: "Usual trivial tree updates. Nothing outstanding -- mostly printk() and comment fixes and unused identifier removals" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: goldfish: goldfish_tty_probe() is not using 'i' any more powerpc: Fix comment in smu.h qla2xxx: Fix printks in ql_log message lib: correct link to the original source for div64_u64 si2168, tda10071, m88ds3103: Fix firmware wording usb: storage: Fix printk in isd200_log_config() qla2xxx: Fix printk in qla25xx_setup_mode init/main: fix reset_device comment ipwireless: missing assignment goldfish: remove unreachable line of code coredump: Fix do_coredump() comment stacktrace.h: remove duplicate declaration task_struct smpboot.h: Remove unused function prototype treewide: Fix typo in printk messages treewide: Fix typo in printk messages mod_devicetable: fix comment for match_flags commit 8de29a35dc840a05e451ad035bcb06e21ccf605f Merge: 31f7dc7 2e455c2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 14 08:25:26 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid Pull HID updates from Jiri Kosina: - quite a few firmware fixes for RMI driver by Andrew Duggan - huion and uclogic drivers have been substantially overlaping in functionality laterly. This redundancy is fixed by hid-huion driver being merged into hid-uclogic; work done by Benjamin Tissoires and Nikolai Kondrashov - i2c-hid now supports ACPI GPIO interrupts; patch from Mika Westerberg - Some of the quirks, that got separated into individual drivers, have historically had EXPERT dependency. As HID subsystem matured (as well as the individual drivers), this made less and less sense. This dependency is now being removed by patch from Jean Delvare - Logitech lg4ff driver received a couple of improvements for mode switching, by Michal Malý - multitouch driver now supports clickpads, patches by Benjamin Tissoires and Seth Forshee - hid-sensor framework received a substantial update; namely support for Custom and Generic pages is being added; work done by Srinivas Pandruvada - wacom driver received substantial update; it now supports i2c-conntected devices (Mika Westerberg), Bamboo PADs are now properly supported (Benjamin Tissoires), much improved battery reporting (Jason Gerecke) and pen proximity cleanups (Ping Cheng) - small assorted fixes and device ID additions * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (68 commits) HID: sensor: Update document for custom sensor HID: sensor: Custom and Generic sensor support HID: debug: fix error handling in hid_debug_events_read() Input - mt: Fix input_mt_get_slot_by_key HID: logitech-hidpp: fix error return code HID: wacom: Add support for Cintiq 13HD Touch HID: logitech-hidpp: add a module parameter to keep firmware gestures HID: usbhid: yet another mouse with ALWAYS_POLL HID: usbhid: more mice with ALWAYS_POLL HID: wacom: set stylus_in_proximity before checking touch_down HID: wacom: use wacom_wac_finger_count_touches to set touch_down HID: wacom: remove hardcoded WACOM_QUIRK_MULTI_INPUT HID: pidff: effect can't be NULL HID: add quirk for PIXART OEM mouse used by HP HID: add HP OEM mouse to quirk ALWAYS_POLL HID: wacom: ask for a in-prox report when it was missed HID: hid-sensor-hub: Fix sparse warning HID: hid-sensor-hub: fix attribute read for logical usage id HID: plantronics: fix Kconfig default HID: pidff: support more than one concurrent effect ... commit bea15428b9d6bc36e87288f168ab314619a66757 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 13 15:40:02 2015 +0200 KVM: x86: cleanup kvm_irq_delivery_to_apic_fast Sparse is reporting a "we previously assumed 'src' could be null" error. This is true as far as the static analyzer can see, but in practice only IPIs can set shorthand to self and they also set 'src', so it's ok. Still, move the initialization of x2apic_ipi (and thus the NULL check for src right before the first use. While at it, initializing ret to "false" is somewhat confusing because of the almost immediate assigned of "true" to the same variable. Thus, initialize it to "true" and modify it in the only path that used to use the value from "bool ret = false". There is no change in generated code from this change. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9e9c3fe40bcd28e3f98f0ad8408435f4503f2781 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Sun Apr 12 21:47:15 2015 +0300 KVM: x86: Fix MSR_IA32_BNDCFGS in msrs_to_save kvm_init_msr_list is currently called before hardware_setup. As a result, vmx_mpx_supported always returns false when kvm_init_msr_list checks whether to save MSR_IA32_BNDCFGS. Move kvm_init_msr_list after vmx_hardware_setup is called to fix this issue. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1428864435-4732-1-git-send-email-namit@xxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.15+ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 31f7dc796998d2967e999a0f9229d8a50c7b348d Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Tue Apr 14 22:24:13 2015 +0900 ACPI / battery: Fix doubly added battery on system suspend Commit 297d716f6260 ("power_supply: Change ownership from driver to core") inverted the logic in battery_notify(). As an effect already present battery was re-added on each system suspend or hibernation. WARNING: CPU: 0 PID: 303 at ../fs/sysfs/dir.c:31 sysfs_warn_dup+0x68/0x80() sysfs: cannot create duplicate filename '/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/PNP0C0A:00/power_supply/BAT0' CPU: 0 PID: 303 Comm: rtcwake Not tainted 4.0.0-ARCH-02621-g07e6253af953 #48 Call Trace: sysfs_create_dir_ns+0x8d/0xa0 kobject_add_internal+0xb6/0x370 kobject_add+0x6f/0xd0 device_add+0x120/0x6c0 __power_supply_register+0x145/0x290 power_supply_register_no_ws+0x10/0x20 sysfs_add_battery+0x84/0xc5 [battery] battery_notify+0x45/0x6b [battery] notifier_call_chain+0x4f/0x80 __blocking_notifier_call_chain+0x4b/0x70 blocking_notifier_call_chain+0x16/0x20 pm_notifier_call_chain+0x1a/0x40 pm_suspend+0x3ed/0x4e0 Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-By: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 85a3685852d9ac7d92be9d824533c915a4597fa4 Merge: 92bac83 8b8a518 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 14 08:51:33 2015 -0700 Merge branch 'next' into for-linus Prepare first round of input updates for 4.1 merge window. commit 37ef01ab5d24d1d520dc79f6a98099d451c2a901 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Apr 1 13:43:46 2015 +0200 drm/i915: Dont enable CS_PARSER_ERROR interrupts at all We stopped handling them in commit aaecdf611a05cac26a94713bad25297e60225c29 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Nov 4 15:52:22 2014 +0100 drm/i915: Stop gathering error states for CS error interrupts but just clearing is apparently not enough: A sufficiently dead gpu left behind by firmware (*cough* coreboot *cough*) can keep the gpu in an endless loop of such interrupts, eventually leading to the nmi firing. And definitely to what looks like a machine hang. Since we don't even enable these interrupts on gen5+ let's do the same on earlier platforms. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=93171 Tested-by: Mono <mono-for-kernel-org@xxxxxxxxxxxxxxxx> Tested-by: info@xxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit e0d6149b3debce1a7e17dfda7c2829935917dc58 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Apr 13 16:03:03 2015 +0100 drm/i915: Move drm_framebuffer_unreference out of struct_mutex for takeover intel_user_framebuffer_destroy() requires the struct_mutex for its object bookkeeping, so this means that all calls to drm_framebuffer_unreference must be held without that lock. This is a simplified version of the identically named patch by Chris Wilson. Regression from commit ab8d66752a9c28cd6c94fa173feacdfc1554aa03 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Feb 2 15:44:15 2015 +0000 drm/i915: Track old framebuffer instead of object v2: Bikeshedding. References: https://bugs.freedesktop.org/show_bug.cgi?id=89166 Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 2b5083e51088253b1b3e126934c9200d8a3493ab Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:51:29 2015 +0800 ACPICA: Update version to 20150410. ACPICA commit 06198cfd96ef271f554a50f1830a5975468c39ac ACPICA commit 8a3c1df1edb5f9fc5c940500c598c0107d30df71 Version 20150410. Link: https://github.com/acpica/acpica/commit/06198cfd Link: https://github.com/acpica/acpica/commit/8a3c1df1 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 cef9aaa764dafc7d9a1504dc70d3b4ea49aef87a Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:51:23 2015 +0800 ACPICA: Fix a couple issues with the local printf module. ACPICA commit 6853da4c0a99b49d62d6c58d22956cd6ff5759a9 The following commit has fixed local printf issue in width.prec: Commit: 3589b8b8af6bdc3aafe520d76a73b77d965006b6 Subject: ACPICA: Utilities: Fix local printf issue. But this commit only resets width/precision/quialifier to fix the reported issue and doesn't fix other states issues. So now we still can see breakage in format types and integer bases. This patch resets format type/base states for local printf to fix this issue. Lv Zheng. Linux kernel is not affected by this patch as acpi_ut_vsnprintf() hasn't been enabled in the kernel. Link: https://github.com/acpica/acpica/commit/6853da4c Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a50edd4b72b4add7ad3b6e082deffafc88dd09e4 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:51:16 2015 +0800 ACPICA: Disassembler: Some cleanup of the table dump module. ACPICA commit 330e3b7ec96fbd2e0677b786c09d86be36dd5673 Cleanup of LPIT table output (Dean Nelson) Split some long lines. Link: https://github.com/acpica/acpica/commit/330e3b7e 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 5132f2faa50454faf9e9b2dcbdbff389f4014e57 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:51:08 2015 +0800 ACPICA: iASL: Add support for MSDM ACPI table. ACPICA commit a2c590ce9bff850e3abf4fd430cede860a3cb1fa This is the Microsoft Data Management table. MSDM table is not used in the Linux kernel. Link: https://github.com/acpica/acpica/commit/a2c590ce 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 64645c3fb0a70daa9d798c79e7411ae583374aa2 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:51:02 2015 +0800 ACPICA: Update for SLIC ACPI table. ACPICA commit c73195e13d6ad53dd7f03f86cea03c7dec72ffd3 Update to latest table definition, which contains major changes. SLIC table is not used in the Linux kernel. Link: https://github.com/acpica/acpica/commit/c73195e1 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 d5a6f6b48f5c2685ed48efc450330b1176845bb9 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:56 2015 +0800 ACPICA: Add "//" before ascii output of buffers. ACPICA commit 657dc227672709895df3192fa5ea59a649b9a76f Updates the dump buffer utility to comment out the ASCII part of buffer dump. Prevents some tools from getting confused. Link: https://github.com/acpica/acpica/commit/657dc227 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 539451711bd4c8f3dc9c236c85fa37701cc1bb66 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:49 2015 +0800 ACPICA: Remove unused internal AML opcode. ACPICA commit 3ec867764b079a98d8097d705c9f7b68270c04ec This patch removes unused AML_INT_STATICSTRING_OP. Lv Zheng. Link: https://github.com/acpica/acpica/commit/3ec86776 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 b1ef2972586577e0ca9675254ee141f65a8824e5 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:43 2015 +0800 ACPICA: Permanently set _REV to the value '2'. ACPICA commit 7af00219681ab35ebe57d64a9189fd04a5a026d8 Windows uses a value of 2, and has no plans to ever change this. So, _REV is essentially useless for its primary purpose. Worse, some BIOS vendors have used the difference in _REV values between Windows and ACPICA to indicate which one is running. It has been decided by the ACPI community to deprecate this method, and return 1 for ACPI 1.0 (32-bit integers) and 2 for ACPI 2.0 and greater (both 32-bit and 64-bit integers. ACPICA is changed to reflect this. Link: https://github.com/acpica/acpica/commit/7af00219 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 796888e942b34cbbd738d9e5478b7d103ee38061 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:37 2015 +0800 ACPICA: Add "Windows 2015" string to _OSI support. ACPICA commit b293f602a67da478ae0bec129e68bd99787d9908 This change adds this string for Windows 10. Link: https://github.com/acpica/acpica/commit/b293f602 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 56a3d5e755e889d1543cb90a3ebaed513cadb727 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:32 2015 +0800 ACPICA: Add infrastructure for External() opcode. ACPICA commit d115fe2ffdab449d6107d58580c5afd0a81d65fe This change adds the basic low-level infrastructure for the External AML opcode. The interpreter will simply ignore this op, as the op is intended for use by the disassembler only. Note that External() opcode is useful for disassembler, interpreter can simply ignore it and still return exceptions for unknown control methods so the kernel part only includes the grammar definition of External() opcode in order to ignore it but doesn't interpret it. Link: https://github.com/acpica/acpica/commit/d115fe2f 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 2e7cc46a0f30bc3b749e371ab0afd29b774ae898 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:26 2015 +0800 ACPICA: iASL: Enhancement for constant folding. ACPICA commit 4f9e950d41cd6f6c704d5d6cf518647620d65e99 Add support to fold expressions with a target operand -- these are folded and converted to a Store operator: Add (4, 3, INT1) --> Store (7, INT1) Also supports ASL+ constructs: INT1 = 4 + 3 --> Store (7, INT1) Linux kernel is not affected by this patch. Link: https://github.com/acpica/acpica/commit/4f9e950d 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 8b0b1a9976c04b85c382590c59b305d763a9a5e6 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:21 2015 +0800 ACPICA: iASL/Disassembler: Add option to assume table contains valid AML. ACPICA commit f5d2ff3fa05341d9fe27250fcb2e14c7f871432c For dynamically loaded tables that have unknown ACPI signatures, this option (-df) forces the disassembler to treat the table as if it contains valid AML code (like a DSDT or SSDT). Otherwise, the disassembler will treat the table as an unkown data table and simply do a hex dump of the table. Linux kernel is not affected by this patch. Link: https://github.com/acpica/acpica/commit/f5d2ff3f 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 0a381133127af4434301b3d9fb545005f38ad98c Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:14 2015 +0800 ACPICA: Update AML Debugger global variables. ACPICA commit f65d0e5b880860a6da0c336b7c48139d1469f5b4 - Remove unused variables - Update to use standard naming/capitalization convention. Linux kernel is not affected by this patch. Link: https://github.com/acpica/acpica/commit/f65d0e5b 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 39239fedbfb5493d5804d6cefb806fd208a006c5 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:08 2015 +0800 ACPICA: Update Resource descriptor dump module. ACPICA commit 184f3cc4d162a6b6b2005eacd8be2fe55f19a245 - Change global #ifdef to check for ACPI_DEBUGGER only. - Cleanup some long lines and misaligned code. Link: https://github.com/acpica/acpica/commit/184f3cc4 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 81ed793d303aec4f4e3755637a3ae5e99db8808e Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:50:01 2015 +0800 ACPICA: Fix a sscanf format string. ACPICA commit 84f3569db7accc576ace2dae81d101467254fe9d Was using %d instead of properly using %u. This patch only affects acpidump tool. Link: https://github.com/acpica/acpica/commit/84f3569d 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 938ed1029a866eebdf39bc742a402f2ccd8b8b57 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Apr 13 11:49:54 2015 +0800 ACPICA: Casting changes around acpi_physical_address/acpi_size. ACPICA commit 46dc081e570b1363af1e368980201cbb65c4100f Update for some recent changes, detected by MSVC and FreeBSD builds. Link: https://github.com/acpica/acpica/commit/46dc081e 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 27c481f37f915cfb7dbaf0025075a1358e45c889 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:49:47 2015 +0800 ACPICA: Resources: Correct conditional compilation definitions. ACPICA commit f92a08512b0b35dce4a7fc6a73216674a3c2541b Some conditional compilation definitions are wrong across header and source files. This patch corrects them for the resources component. NOTE that a further patch in this patchset cleans up all ACPI_EXEC_APP, converting them into ACPI_DEBUGGER, including part of this change. Link: https://github.com/acpica/acpica/commit/f92a0851 Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6306bf886222f382d59bbb8b72bf6996cbba1f6e Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:49:39 2015 +0800 ACPICA: Utilities: Correct conditional compilation definitions. ACPICA commit 9a5982afbebc56289c4834b5f6dac87e0f04af14 Some conditional compilation definitions are wrong across header and source files. This patch corrects them for the utilities component. Link: https://github.com/acpica/acpica/commit/9a5982af Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 76cffa79bd7f139a8f16d4e7969bf7891fe6f901 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:49:30 2015 +0800 ACPICA: Tables: Move an iasl specific table function to iasl source file. ACPICA commit 6eb364d790dd103bd4990f808e0095a421c437cb acpi_tb_store_table() implements a logic that is only correct to iasl. So it won't be used by any other utilities except iasl. This function is complained by the kernel users as an unused function. The best choice to stop releasing it to the Linux kernel should be moving it to adisasm.c. ACPI table manager can use both struct acpi_table_desc (direct referencing) and table index (indirect referencing) as the descriptor to the table, so acpi_tb_get_next_root_index() is extended to return both of them to allow maximum usability from the callers. NOTE that indirect referencing is a design result to meet the boot stage static allocation requirement for the table descriptors. This is a linuxized acpi_tb_store_table() removing result, there should be no functional changes introduced to the Linux kernel by this patch except the additonal kernel unused argument for acpi_tb_get_next_root_index() (renamed to acpi_tb_get_next_root_index()). This argument is used in the ACPICA upstream. Link: https://github.com/acpica/acpica/commit/6eb364d7 Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9bd4ce36dcbc8e3b2218e84cdfd1dff6d5671f3c Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 11:49:24 2015 +0800 ACPICA: Utilities: Remove unused acpi_ut_create_pkg_state_and_push(). ACPICA commit 2a9ebd974aee41391f4b0edcd4f0cc5ee23ec2f8 Remove the function acpi_ut_create_pkg_state_and_push() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Link: https://github.com/acpica/acpica/commit/2a9ebd97 Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> 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 1797d379f20901ee51711d737b65cc77e22c13e2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 11:49:18 2015 +0800 ACPICA: Applications: Remove use of __DATE__ macro. ACPICA commit 3d9fb6d1f216a78ad098d3ad23f1304376c2f4ef The macro __DATE__ and friends is not allowed in the Linux kernel. Also, including the build time in output doesn't seem to provide any value. Link: https://github.com/acpica/acpica/commit/3d9fb6d1 Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> 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 09af8e8290deaff821ced01ea83594ee4c21e8df Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:49:13 2015 +0800 ACPICA: Events: Add support to return both enable/status register values for GPE and fixed event. ACPICA commit e25d791e4b3d5b9f4ead298269610cb05f89749a There is a facility in Linux, developers can obtain GPE and fixed event status via /sys/firmware/interrupts/. This is implemented using acpi_get_event_status() and acpi_get_gpe_status(). Recently while debugging some GPE race issues, it is found that the facility is lacking in the ability to obtain real hardware register values, the confusing information makes debugging difficult. This patch modifies acpi_get_gpe_status() to return EN register values to fix this gap. Then flags returned from acpi_get_event_status() and acpi_get_gpe_status() are also cleaned up to reflect this change. The old ACPI_EVENT_FLAG_SET is carefully kept to avoid regressions. It can be deleted after we can make sure all its references are removed from OSPM code. Lv Zheng. Link: https://github.com/acpica/acpica/commit/e25d791e Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 77ddc2fe08329e375505bc36a3df3233fe57317b Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Mon Apr 13 11:49:05 2015 +0800 ACPICA: Tables: Don't release ACPI_MTX_TABLES in acpi_tb_install_standard_table(). ACPICA commit c70434d4da13e65b6163c79a5aa16b40193631c7 ACPI_MTX_TABLES is acquired and released by the callers of acpi_tb_install_standard_table() so releasing it in the function itself is causing the following error in Linux kernel if the table is reloaded: ACPI Error: Mutex [0x2] is not acquired, cannot release (20141107/utmutex-321) Call Trace: [<ffffffff81b0bd48>] dump_stack+0x4f/0x7b [<ffffffff81546bf5>] acpi_ut_release_mutex+0x47/0x67 [<ffffffff81544357>] acpi_load_table+0x73/0xcb Link: https://github.com/acpica/acpica/commit/c70434d4 Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Cc: 3.16+ <stable@xxxxxxxxxxxxxxx> # 3.16+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2b8760100e1de69b6ff004c986328a82947db4ad Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:58 2015 +0800 ACPICA: Utilities: split IO address types from data type models. ACPICA commit aacf863cfffd46338e268b7415f7435cae93b451 It is reported that on a physically 64-bit addressed machine, 32-bit kernel can trigger crashes in accessing the memory regions that are beyond the 32-bit boundary. The region field's start address should still be 32-bit compliant, but after a calculation (adding some offsets), it may exceed the 32-bit boundary. This case is rare and buggy, but there are real BIOSes leaked with such issues (see References below). This patch fixes this gap by always defining IO addresses as 64-bit, and allows OSPMs to optimize it for a real 32-bit machine to reduce the size of the internal objects. Internal acpi_physical_address usages in the structures that can be fixed by this change include: 1. struct acpi_object_region: acpi_physical_address address; 2. struct acpi_address_range: acpi_physical_address start_address; acpi_physical_address end_address; 3. struct acpi_mem_space_context; acpi_physical_address address; 4. struct acpi_table_desc acpi_physical_address address; See known issues 1 for other usages. Note that acpi_io_address which is used for ACPI_PROCESSOR may also suffer from same problem, so this patch changes it accordingly. For iasl, it will enforce acpi_physical_address as 32-bit to generate 32-bit OSPM compatible tables on 32-bit platforms, we need to define ACPI_32BIT_PHYSICAL_ADDRESS for it in acenv.h. Known issues: 1. Cleanup of mapped virtual address In struct acpi_mem_space_context, acpi_physical_address is used as a virtual address: acpi_physical_address mapped_physical_address; It is better to introduce acpi_virtual_address or use acpi_size instead. This patch doesn't make such a change. Because this should be done along with a change to acpi_os_map_memory()/acpi_os_unmap_memory(). There should be no functional problem to leave this unchanged except that only this structure is enlarged unexpectedly. Link: https://github.com/acpica/acpica/commit/aacf863c Reference: https://bugzilla.kernel.org/show_bug.cgi?id=87971 Reference: https://bugzilla.kernel.org/show_bug.cgi?id=79501 Reported-and-tested-by: Paul Menzel <paulepanter@xxxxxxxxxxxxxxxxxxxxx> Reported-and-tested-by: Sial Nije <sialnije@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Cc: All applicable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1d0a0b2f6df2bf2643fadc990eb143361eca6ada Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:52 2015 +0800 ACPICA: Utilities: Cleanup to remove useless ACPI_PRINTF/FORMAT_xxx helpers. ACPICA commit b60612373a4ef63b64a57c124576d7ddb6d8efb6 For physical addresses, since the address may exceed 32-bit address range after calculation, we should use 0x%8.8X%8.8X instead of ACPI_PRINTF_UINT and ACPI_FORMAT_UINT64() instead of ACPI_FORMAT_NATIVE_UINT()/ACPI_FORMAT_TO_UINT(). This patch also removes above replaced macros as there are no users. This is a preparation to switch acpi_physical_address to 64-bit on 32-bit kernel builds. Link: https://github.com/acpica/acpica/commit/b6061237 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cc2080b0e5a7c6c33ef5e9ffccbc2b8f6f861393 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:46 2015 +0800 ACPICA: Utilities: Cleanup to convert physical address printing formats. ACPICA commit 7f06739db43a85083a70371c14141008f20b2198 For physical addresses, since the address may exceed 32-bit address range after calculation, we should use %8.8X%8.8X (see ACPI_FORMAT_UINT64()) to convert the %p formats. This is a preparation to switch acpi_physical_address to 64-bit on 32-bit kernel builds. Link: https://github.com/acpica/acpica/commit/7f06739d Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6d3fd3cc33d50e4c0d0c0bd172de02caaec3127c Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:37 2015 +0800 ACPICA: Utilities: Cleanup to enforce ACPI_PHYSADDR_TO_PTR()/ACPI_PTR_TO_PHYSADDR(). ACPICA commit 154f6d074dd38d6ebc0467ad454454e6c5c9ecdf There are code pieces converting pointers using "(acpi_physical_address) x" or "ACPI_CAST_PTR (t, x)" formats, this patch cleans up them. Known issues: 1. Cleanup of "(ACPI_PHYSICAL_ADDRRESS) x" for a table field For the conversions around the table fields, it is better to fix it with alignment also fixed. So this patch doesn't modify such code. There should be no functional problem by leaving them unchanged. Link: https://github.com/acpica/acpica/commit/154f6d07 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ea2849255f13b63de90483ffa7781b8b65cc7765 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:31 2015 +0800 ACPICA: Executer: Cleanup to remove an unnecessary conversion. ACPICA commit c327986430b7eb170c17d0f45735fe71bb62a810 The conversion converts an acpi_physical_address to acpi_physical_address, this patch thus removes such useless conversion. Link: https://github.com/acpica/acpica/commit/c3279864 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e0423edff19a99ed12bedfe4f3605e94efa2c669 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:24 2015 +0800 ACPICA: Unix: Cleanup to use ACPI_TO_INTEGER() to calc page offset. ACPICA commit 9e2d8180f4d5e61949b17513bae8aff6412f62dd The offset calculation needn't convert a pointer to a special integer type. So this patch uses ACPI_TO_INTEGER() instead. This patch only affects acpidump tool. Link: https://github.com/acpica/acpica/commit/9e2d8180 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f254e3c57b9d952e987502aefa0804c177dd2503 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:18 2015 +0800 ACPICA: Tables: Change acpi_find_root_pointer() to use acpi_physical_address. ACPICA commit 7d9fd64397d7c38899d3dc497525f6e6b044e0e3 OSPMs like Linux expect an acpi_physical_address returning value from acpi_find_root_pointer(). This triggers warnings if sizeof (acpi_size) doesn't equal to sizeof (acpi_physical_address): drivers/acpi/osl.c:275:3: warning: passing argument 1 of 'acpi_find_root_pointer' from incompatible pointer type [enabled by default] In file included from include/acpi/acpi.h:64:0, from include/linux/acpi.h:36, from drivers/acpi/osl.c:41: include/acpi/acpixf.h:433:1: note: expected 'acpi_size *' but argument is of type 'acpi_physical_address *' This patch corrects acpi_find_root_pointer(). Link: https://github.com/acpica/acpica/commit/7d9fd643 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 18ae90214d385e9b992ead6653e6976b42097978 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Apr 13 11:48:12 2015 +0800 ACPICA: Linuxize: Reduce divergences for 20150410 release. This patch reduces source code differences between the Linux kernel and the ACPICA upstream so that the linuxized ACPICA 20150410 release can be applied with reduced human intervention. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5b24e8cf618f03b4f1275c229d0a1d464648f9e2 Merge: 066450b f19e80c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Apr 14 14:10:56 2015 +0200 Merge tag 'perf-core-for-mingo-2' 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: New features: - Analyze page allocator events in 'perf kmem' (Namhyung Kim) User visible changes: - Fix retprobe 'perf probe' handling when failing to find needed debuginfo (He Kuang) - lazy_line probe fixes in 'perf probe' (Naohiro Aota, He Kuang) Infrastructure changes: - Record pfn instead of pointer to struct page in tracepoints (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 518b4e272d99dcb13699b229ea480bc845c141f6 Merge: 03aecbc ea85dbc 66776a6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Apr 14 12:53:59 2015 +0200 Merge branches 'powercap' and 'pm-devfreq' * powercap: powercap / RAPL: mark rapl_ids array as __initconst powercap / RAPL: add ID for Broadwell server * pm-devfreq: PM / devfreq: tegra: Register governor on module init PM / devfreq: tegra: Enable interrupts after resuming the devfreq monitor PM / devfreq: tegra: Set drvdata before enabling the irq PM / devfreq: tegra: remove operating-points PM / devfreq: tegra: Use clock rate constraints PM / devfreq: tegra: Update to v5 of the submitted patches PM / devfreq: correct misleading comment PM / devfreq: event: Add const keyword for devfreq_event_ops structure commit 03aecbcd71f2d9b9a3bf422a880a1596fd585880 Merge: 0fe0952 5f2e327 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Apr 14 12:53:36 2015 +0200 Merge branch 'acpi-scan' * acpi-scan: ACPI / scan: Fix NULL pointer dereference in acpi_companion_match() commit 2b1193d5287004edfbf89407149a3159656f47f1 Author: John Hunter <zhaojunwang@xxxxxxxxxx> Date: Tue Apr 14 17:07:22 2015 +0800 drm: fix trivial typo mistake Signed-off-by: John Hunter <zhjwpku@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ff7a2adac50873aaba71759779505693806adcc1 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Apr 14 10:16:47 2015 +1000 powerpc: Remove PPC32 code from pseries specific find_and_init_phbs() In bdc728a849a7 ("powerpc: move find_and_init_phbs() to pSeries specific code"), find_and_init_phbs() was moved into a pseries specific file, but PPC32 code wasn't removed. Remove it. See https://lkml.kernel.org/r/552C0AA6.4010403@xxxxxx Reported-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Fixes: bdc728a849a7 Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4acd09b4bfd4a653fcf02e422890d98764c0f1ff Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 14 16:49:06 2015 +1000 powerpc/cell: Fix iommu breakage caused by controller_ops change The recent patch to convert cell to use pci_controller_ops had a small bug which broke machines using an iommu. The set of phb->controller_ops was added after the check for name != "pci", meaning pcix/pcie PHBs weren't getting their ops set correctly. Fixes: 9c1368fc50e7 ("powerpc/cell: Move controller ops from ppc_md to controller_ops") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 89a51df5ab1d38b257300b8ac940bbac3bb0eb9b Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 14 16:49:05 2015 +1000 powerpc/eeh: Fix crash in eeh_add_device_early() on Cell The recent change to the EEH probing causes a crash on Cell because eeh_ops is NULL. Check if EEH is enabled and if not bail out. Fixes: ff57b454ddb9 ("powerpc/eeh: Do probe on pci_dn") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3968be946a057baa48c9b002166f0bfb85ac7b4b Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Apr 13 11:06:13 2015 -0700 drm: Make integer overflow checking cover universal cursor updates (v2) Our legacy SetPlane updates perform integer overflow checking on a plane's destination rectangle in drm_mode_setplane(), and atomic updates handled as part of a drm_atomic_state transaction do the same checking in drm_atomic_plane_check(). However legacy cursor updates that get routed through universal plane interfaces may bypass this overflow checking if the driver's .update_plane is serviced by the transitional plane helpers rather than the full atomic plane helpers. Move the check for destination rectangle integer overflow from the drm_mode_setplane() to __setplane_internal() so that it also covers cursor operations. This fixes an issue first noticed with i915 commit: commit ff42e093e9c9c17a6e1d6aab24875a36795f926e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Mar 2 16:35:20 2015 +0100 Revert "drm/i915: Switch planes from transitional helpers to full atomic helpers" The above revert switched us from full atomic helpers back to the transitional helpers, and in doing so we lost the overflow checking here for universal cursor updates. Even though such extreme cursor positions are unlikely to actually happen in the wild, we still don't want there to be a change of behavior when drivers switch from transitional helpers to full helpers. v2: Move check from setplane ioctl to setplane_internal rather than adding an additional copy of the checks to the transitional plane helpers. (Daniel) Cc: Daniel Vetter <daniel@xxxxxxxx> Testcase: igt/kms_cursor_crc Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84269 Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4195f40685a5f2783b4decece13ed740b61ee038 Author: Jan Vesely <jano.vesely@xxxxxxxxx> Date: Wed Apr 8 21:34:36 2015 -0400 drm/nouveau/bios: fix fetching from acpi on certain systems nvbios_extend() returns 1 to indicate "extended the array" and 0 to indicate the array is already big enough. This is used by the core shadowing code to prevent re-fetching chunks of the image that have already been shadowed. The ACPI fetching code may possibly need to extend this further due to requiring fetches to happen in 4KiB chunks. Under certain circumstances (that happen if the total image size is a multiple of 4KiB), the memory allocated to store the shadow will already be big enough, causing the ACPI code's nvbios_extend() call to return 0, which is misinterpreted as a failure. The fix is simple, accept >= 0 as a successful condition here. The core will have already made sure that we're not re-fetching data we already have. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89047 v2 (Ben Skeggs): - dropped hunk which would cause unnecessary re-fetching - more descriptive explanation Signed-off-by: Jan Vesely <jano.vesely@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 426b20e42eaefecdc703f9eff9f874f45e839dca Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 14 12:06:44 2015 +1000 drm/nouveau/gr/gm206: initial init+ctx code Uncertain whether the GPC pack change is due to a newer driver version, or a legitimate difference from GM204. My GM204 has broken vram, so can't currently try a newer binary driver on it to confirm. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 985826bccdcc381674a8b83c5d293b54f9a84551 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 14 11:45:29 2015 +1000 drm/nouveau/ce/gm206: enable support via gm204 code Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5dd7fb771a6b1f00bce8a7f48f7aa4da5da01237 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 14 11:45:10 2015 +1000 drm/nouveau/fifo/gm206: enable support via gm204 code Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3fed3ea9fd8561ee7a5e6887bc087a4fd97c8e91 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Mar 26 09:28:34 2015 +1000 drm/nouveau/gr/gm204: initial init+ctx code Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 990b4547042a947dce908b81f4f01c8780923c8d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 14 11:50:35 2015 +1000 drm/nouveau: support for buffer moves via MaxwellDmaCopyA Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b44881e453246d73bd419bd69e9ec67d923216f0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Mar 11 12:24:45 2015 +1000 drm/nouveau/ce/gm204: initial support Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a1020afe88146ece4c1ae77c59b201e030116142 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 14 11:47:24 2015 +1000 drm/nouveau: add support for gm20x fifo channels Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 89025bd458a572f15e30f59d1ac5acb599cb53bc Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Mar 11 12:21:15 2015 +1000 drm/nouveau/fifo/gm204: initial support Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 91c772ec129dc63038ee5642f441a03584474e1e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Apr 13 13:09:28 2015 +1000 drm/nouveau/gr/gk104-: prevent reading non-existent regs in intr handler Under certain circumstances the trapped address will contain subc 7, which GK104 GR doesn't have anymore. Notice this case to avoid causing additional priv ring faults. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ddec1a2b4c01b51134eca13fe6915d945745f1c9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Mar 26 15:44:04 2015 +1000 drm/nouveau/gr/gm107: very slightly demagic part of attrib cb setup No idea if "3" is a constant or derived from something else, but the value is unchanged in the limited traces of gm107/gm204 I have here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6eb70826215f3f3ac04b4749ac0de1ac06047e4f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Mar 26 13:26:20 2015 +1000 drm/nouveau/gr/gk104-: correct crop/zrop num_active_fbps setting Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3740c82590d87714b41b8b48bd3062178cbe0b17 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Mar 26 09:18:32 2015 +1000 drm/nouveau/gr/gf100-: add symbolic names for classes Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8fd4b7d438a1b9b1f639f377da9e98828bd7dacf Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Mar 10 09:20:07 2015 +1000 drm/nouveau/gr/gm107: support tpc "strand" ctxsw in gpccs ucode Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a19b3ed65170cb51b5a5286ecba3de41de3a71f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Apr 7 18:54:40 2015 +1000 drm/nouveau/gr/gf100-: support mmio access with gpc offset from gpccs ucode Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7b03ac2ce0695a5c7e221829c5690ce1e8327d36 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Mar 23 13:49:43 2015 +1000 drm/nouveau/gr: fix engine name, cosmetic search+replace mistake Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7120908d12db5d2d1ba136ee014fee4e95513fc0 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Mar 20 19:41:06 2015 +0900 drm/nouveau/pmu/gk20a: add some missing statics Make static a few functions and structures that should be. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bbf2e92f914019324bb4351fcf0db9f41329a7c3 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Mar 20 19:41:05 2015 +0900 drm/nouveau/platform: fix probe error path A "return 0" found its way in the middle of the error path of nouveau_platform_probe(), remove it as it will make the kernel crash if we try to unload the module afterwards. While we are at it, also remove the IOMMU domain if it has been created, as we should. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 25eb3a924f8589b5ad80e5d50d743befca8a46de Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Mar 20 19:41:04 2015 +0900 drm/nouveau/platform: release IOMMU's mm upon exit nvkm_mm_fini() was not called when exiting the driver, resulting in a memory leak. Fix this. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ed22e684622533f903dfad9beb99d872536c3040 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Mar 20 15:38:23 2015 +1000 drm/nouveau/gr/gk104-gk20a: call pmu to disable any power-gating before ctor() On some of these chipsets, reading NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK can trigger a PRI fault and return an error code instead of a TPC mask, unless PGOB has been disabled first. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f02a0e849dbd16541a1e75ef8c8719bc5f611219 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Mar 20 15:28:52 2015 +1000 drm/nouveau/pmu/gk208: implement gr power-up magic with gk110_pmu_pgob() Before we moved gk110's implementation of this to pmu, the functions were identical. This commit just switches GK208 to use the new (more complete) implementation of the power-up sequence. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e1fc44fb9dbec4ff4e63c888d206a0bc4ca93f4f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Mar 20 15:20:17 2015 +1000 drm/nouveau/pmu/gk110: implement gr power-up magic like PGOB on earlier chips Turns out the PTHERM part of this dance is bracketed by the same PMU fiddling that occurs on GK104/6, let's assume it's also PGOB. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d9da545e101312f52706c8b05afbd8f1f875ff81 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Mar 12 20:43:23 2015 +0100 drm/nouveau/pbus/hwsq: Make code size u16 So we can actually use the full 512 byte code space Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3834b632b2e3f8586692e80b936c52b9dc987144 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Mar 12 20:43:22 2015 +0100 drm/nouveau/pbus/hwsq: Support strided register writes Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit df16896b866a056da3c275cf416f6f4cc47934bd Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Mar 10 15:46:08 2015 +0900 drm/nouveau/instmem/gk20a: fix crash during error path If a memory allocation fails when using the DMA allocator, gk20a_instobj_dtor_dma() will be called on the failed instmem object. At this time, node->handle might not be NULL despite the call to dma_alloc_attrs() having failed. node->cpuaddr is the right member to check for such a failure, so use it instead. Reported-by: Vince Hsu <vinceh@xxxxxxxxxx> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b03eaa4d3428ebbc5e32e3595be6027e7d99942b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Mar 10 09:13:45 2015 +1000 drm/nouveau/disp/gf110-: fix base channel update debug/error output Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 963e965033c002d2238dd3dbd6628109cc6d90de Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Mar 10 09:13:08 2015 +1000 drm/nouveau/disp/nv50-: fix push buffers in vram Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 824527551c6b5dec30e499ffc279f8f4a4711409 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Mar 4 10:17:08 2015 +1000 drm/nouveau: bump driver patchlevel for coherent flag Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 996f545fbb0dc9ed4a640b5ef098f51fe28cca5c Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Feb 26 12:44:51 2015 +0900 drm/nouveau/gem: allow user-space to specify an object should be coherent User-space use mappable BOs notably for fences, and expects that a value update by the GPU will be immediatly visible through the user-space mapping. ARM has a property that may prevent this from happening though: memory can be mapped multiple times only if the different mappings share the same caching properties. However all the lowmem memory is already identity-mapped into the kernel with cache enabled, so when user-space requests an uncached mapping, we actually get an "undefined caching policy" one and this has strange side-effects described on Freedesktop bug 86690. To prevent this from happening, allow user-space to explicitly specify which objects should be coherent, and create such objects with the TTM_PL_FLAG_UNCACHED flag. This will make TTM allocate memory using the DMA API, which will fix the identify mapping and allow us to safely map the objects to user-space uncached. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Lucas Stach <dev@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a7f6da6e758cd99fcae918b63549273893983189 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:23:04 2015 +0900 drm/nouveau/instmem/gk20a: add IOMMU support Let GK20A's instmem take advantage of the IOMMU if it is present. Having an IOMMU means that instmem is no longer allocated using the DMA API, but instead obtained through page_alloc and made contiguous to the GPU by IOMMU mappings. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 58fd9375c2c5344e8ab6ef9971635bc59cd39658 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:23:03 2015 +0900 drm/nouveau/platform: probe IOMMU if present Tegra SoCs have an IOMMU that can be used to present non-contiguous physical memory as contiguous to the GPU and maximize the use of large pages in the GPU MMU, leading to performance gains. This patch adds support for probing such a IOMMU if present and make its properties available in the nouveau_platform_gpu structure so subsystems can take advantage of it. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5dc240bcfe9a8d30b151be58b174261ba388cb01 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:23:02 2015 +0900 drm/nouveau/instmem/gk20a: use DMA attributes instmem for GK20A is allocated using dma_alloc_coherent(), which provides us with a coherent CPU mapping that we never use because instmem objects are accessed through PRAMIN. Switch to dma_alloc_attrs() which gives us the option to dismiss that CPU mapping and free up some CPU virtual space. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 14520876751e1022704b58ce08e0dadc8c736656 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:23:01 2015 +0900 drm/nouveau/gk20a: remove RAM device Now that Nouveau can operate even when there is no RAM device, remove the dummy one used by GK20A. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a6ff85d386368da8180828e5948ec38b39f4a226 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:23:00 2015 +0900 drm/nouveau/instmem/gk20a: move memory allocation to instmem GK20A does not have dedicated RAM, thus having a RAM device for it does not make sense. Move the contiguous physical memory allocation to instmem. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit eaecf0326f096faaba462eae48a3b30bcb1f7009 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Feb 20 18:22:59 2015 +0900 make RAM device optional Having a RAM device does not make sense for chips like GK20A which have no dedicated video memory. The dummy RAM device that we used so far works as a temporary band-aid, but in the longer term it is desirable for the driver to be able to work without any kind of VRAM. This patch adds a few conditionals in places where a RAM device was assumed to be present and allows some more objects to be allocated from the TT domain, allowing Nouveau to handle GPUs for which pfb->ram == NULL. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c6a7b026a3a80662d8f7bb6b4f7821329aa7111b Author: Lauri Peltonen <lpeltonen@xxxxxxxxxx> Date: Thu Feb 26 13:16:48 2015 +0900 drm/nouveau/gr/gf100: Clear notify interrupt Notify interrupt is only used for cyclestats. We can just clear it and avoid an "unknown stat" error that gets printed to dmesg otherwise. Signed-off-by: Lauri Peltonen <lpeltonen@xxxxxxxxxx> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3d951c38006bd007e1b9a6f681691141ed600ea0 Author: Lauri Peltonen <lpeltonen@xxxxxxxxxx> Date: Tue Feb 17 15:55:42 2015 +0900 drm/nouveau/graph/nvc0: Fix engine pointer retrieval Other methods in this file suggest this is the correct way to retrieve the engine pointer. Signed-off-by: Lauri Peltonen <lpeltonen@xxxxxxxxxx> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 30489c230ac9f27e16a17a51b34a556952d4929b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Sat Jan 31 17:13:40 2015 +1000 drm/nouveau/devinit/nv04: change owner to int We use -1 to mean "not read from hw yet" Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5dfe7a01796073659a6e6a0830cf942404970539 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Jan 30 11:27:49 2015 +0300 drm/nouveau/mxm: indent an if statement This if statement is correct but it wasn't indented, so it looked like some code was missing. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3e5ede1defe26ab03f42a0a8c0ad1fa1727f930d Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Jan 25 21:35:44 2015 +0200 drm/nouveau/fuse/gm107: simplify the return logic Spotted by coccinelle: drivers/gpu/drm/nouveau/core/subdev/fuse/gm107.c:50:5-8: WARNING: end returns can be simpified Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Reviewed-by: Tobias Klausmann <tobias.johannes.klausmann@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9a5cbce421a283e6aea3c4007f141735bf9da8c3 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Apr 14 07:51:03 2015 +1000 powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH We cap 32bit userspace backtraces to PERF_MAX_STACK_DEPTH (currently 127), but we forgot to do the same for 64bit backtraces. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d6eb9e3ec78c98324097bab8eea266c3bb0d0ac7 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Tue Apr 14 11:25:36 2015 +0800 ALSA: hda - set GET bit when adding a vendor verb to the codec regmap Some HD-A codecs may add their own vendor 'set' verb to the regmap, thru func snd_hdac_add_vendor_verb(). This patch sets the GET bit (bit 11) when adding the verb so that its peer vendor 'get' verb is actually added. This can avoid I/O error when writing the 'set' verb thru remap, since HD-A regmap internally looks up a writable vendor verb with GET bit set at first. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2ba9268dd603d23e17643437b2246acb6844953b Merge: 7ead5b7 e0bf6c5 Author: Chris Zankel <chris@xxxxxxxxxx> Date: Tue Apr 14 04:47:53 2015 +0000 Merge tag 'xtensa-for-next-20150413' of git://github.com/jcmvbkbc/linux-xtensa into for_next Xtensa improvements for 4.1: - fix locking issues in ISS network driver; - document PIC and MX interrupt distributor device tree bindings; - add CY7C67300 USB controller support to XTFPGA. Signed-off-by: Chris Zankel <chris@xxxxxxxxxx> commit 7ead5b7e4a3cf4a16579a8f164022345b93fe972 Merge: 834a316 39a8804 Author: Chris Zankel <chris@xxxxxxxxxx> Date: Tue Apr 14 03:51:35 2015 +0000 Merge tag 'v4.0' into for_next Linux 4.0 commit 7debc970ae7a5573ed43a1dfa242fd1a5390d21a Author: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:48:37 2015 +0800 powerpc/perf/hv-24x7: Fail 24x7 initcall if create_events_from_catalog() fails As Michael pointed out, create_events_from_catalog() fails when we either have: - a kernel bug - some sort of hypervisor misconfiguration - ENOMEM In all the above cases, we can also fail 24x7 initcall. For hypervisor errors, EIO is used so there is something reported in dmesg. Signed-off-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b79013b2449c23f1f505bdf39c5a6c330338b244 Merge: c4be50e c610f7f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 17:37:33 2015 -0700 Merge tag 'staging-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver updates from Greg KH: "Here's the big staging driver patchset for 4.1-rc1. There's a lot of patches here, the Outreachy application period happened during this development cycle, so that means that there was a lot of cleanup patches accepted. Other than the normal coding style and sparse fixes here, there are some driver updates and work toward making some of the drivers into "mergable" shape (like the Unisys drivers.) All of these have been in linux-next for a while" * tag 'staging-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1214 commits) staging: lustre: orthography & coding style staging: lustre: lnet: lnet: fix error return code staging: lustre: fix sparse warning Revert "Staging: sm750fb: Fix C99 Comments" Staging: rtl8192u: use correct array for debug output staging: rtl8192e: Remove dead code staging: rtl8192e: Comment cleanup (style/format) staging: rtl8192e: Fix indentation in rtllib_rx_auth_resp() staging: rtl8192e: Decrease nesting of rtllib_rx_auth_resp() staging: rtl8192e: Divide rtllib_rx_auth() staging: rtl8192e: Fix PRINTK_WITHOUT_KERN_LEVEL warnings staging: rtl8192e: Fix DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON warning staging: rtl8192e: Fix BRACES warning staging: rtl8192e: Fix LINE_CONTINUATIONS warning staging: rtl8192e: Fix UNNECESSARY_PARENTHESES warnings staging: rtl8192e: remove unused EXPORT_SYMBOL_RSL macro staging: rtl8192e: Fix RETURN_VOID warnings staging: rtl8192e: Fix UNNECESSARY_ELSE warning staging: rtl8723au: Remove unneeded comments staging: rtl8723au: Use __func__ in trace logs ... commit c4be50eee2bd4d50e0f0ca58776f685c08de69c3 Merge: 42e3a58 c9e15f2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 17:17:32 2015 -0700 Merge tag 'driver-core-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core updates from Greg KH: "Here's the driver-core / kobject / lz4 tree update for 4.1-rc1. Everything here has been in linux-next for a while with no reported issues. It's mostly just coding style cleanups, with other minor changes in here as well, nothing big" * tag 'driver-core-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (32 commits) debugfs: allow bad parent pointers to be passed in stable_kernel_rules: Add clause about specification of kernel versions to patch. kobject: WARN as tip when call kobject_get() to a kobject not initialized lib/lz4: Pull out constant tables drivers: platform: parse IRQ flags from resources driver core: Make probe deferral more quiet drivers/core/of: Add symlink to device-tree from devices with an OF node device: Add dev_of_node() accessor drivers: base: fw: fix ret value when loading fw firmware: Avoid manual device_create_file() calls drivers/base: cacheinfo: validate device node for all the caches drivers/base: use tabs where possible in code indentation driver core: add missing blank line after declaration drivers: base: node: Delete space after pointer declaration drivers: base: memory: Use tabs instead of spaces firmware_class: Fix whitespace and indentation drivers: base: dma-mapping: Erase blank space after pointer drivers: base: class: Add a blank line after declarations attribute_container: fix missing blank lines after declarations drivers: base: memory: Fix switch indent ... commit 42e3a58b028e0e51746f596a11abfec01cd1c5c4 Merge: 4fd48b4 00fe52d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 17:07:21 2015 -0700 Merge tag 'usb-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB driver updates from Greg KH: "Here's the big USB (and PHY) driver patchset for 4.1-rc1. Everything here has been in linux-next, and the full details are below in the shortlog. Nothing major, just the normal round of new drivers,api updates, and other changes, mostly in the USB gadget area, as usual" * tag 'usb-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (252 commits) drivers/usb/core: devio.c: Removed an uneeded space before tab usb: dwc2: host: sleep USB_RESUME_TIMEOUT during resume usb: chipidea: debug: add low power mode check before print registers usb: chipidea: udc: bypass pullup DP when gadget connect in OTG fsm mode usb: core: hub: use new USB_RESUME_TIMEOUT usb: isp1760: hcd: use new USB_RESUME_TIMEOUT usb: dwc2: hcd: use new USB_RESUME_TIMEOUT usb: host: sl811: use new USB_RESUME_TIMEOUT usb: host: r8a66597: use new USB_RESUME_TIMEOUT usb: host: oxu210hp: use new USB_RESUME_TIMEOUT usb: host: fusbh200: use new USB_RESUME_TIMEOUT usb: host: fotg210: use new USB_RESUME_TIMEOUT usb: host: isp116x: use new USB_RESUME_TIMEOUT usb: musb: use new USB_RESUME_TIMEOUT usb: host: uhci: use new USB_RESUME_TIMEOUT usb: host: ehci: use new USB_RESUME_TIMEOUT usb: host: xhci: use new USB_RESUME_TIMEOUT usb: define a generic USB_RESUME_TIMEOUT macro usb: musb: dsps: fix build on i386 when COMPILE_TEST is set ehci-hub: use USB_DT_HUB ... commit 7415d97ee2b809119270fc3a365968ff8d4f544b Merge: 875dac1 7ab7ef7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 01:52:47 2015 +0200 Merge tag 'at91-clocksource-driver2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/drivers Pull "A fix for the ST clocksource driver Kconfig option" from Nicolas Ferre * tag 'at91-clocksource-driver2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: clocksource: atmel-st: select MFD_SYSCON commit 89522f0f8bd5056dec21bb7de073cbd5886e435c Merge: e8621d8 2e57dc0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 01:50:21 2015 +0200 Merge tag 'at91-cleanup4_bis' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/multiplatform Pull "Fourth batch of cleanup for 4.1" from Nicolas Ferre: - 1 issues revealed by the kbuild test robot fixed - move of some functions and macros into relevant files to be able to streamline the at91 specific header afterwards * tag 'at91-cleanup4_bis' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91/pm: move AT91_MEMCTRL_* to pm.h ARM: at91/pm: move the standby functions to pm.c ARM: at91: fix pm_suspend.S compilation when ARMv6 is selected commit 4fd48b45ffc4addd3c2963448b05417aa14abbf7 Merge: a1480a1 34ebe93 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 16:47:11 2015 -0700 Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup Pull cgroup updates from Tejun Heo: "Nothing too interesting. Rik made cpuset cooperate better with isolcpus and there are several other cleanup patches" * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: cpuset, isolcpus: document relationship between cpusets & isolcpus cpusets, isolcpus: exclude isolcpus from load balancing in cpusets sched, isolcpu: make cpu_isolated_map visible outside scheduler cpuset: initialize cpuset a bit early cgroup: Use kvfree in pidlist_free() cgroup: call cgroup_subsys->bind on cgroup subsys initialization commit a1480a166dd509f25f90e824411cb488fa9fff7e Merge: 45141ee c54c719 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 16:42:16 2015 -0700 Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata updates from Tejun Heo: - Hannes's patchset implements support for better error reporting introduced by the new ATA command spec. - the deperecated pci_ dma API usages have been replaced by dma_ ones. - a bunch of hardware specific updates and some cleanups. * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: ata: remove deprecated use of pci api ahci: st: st_configure_oob must be called after IP is clocked. ahci: st: Update the ahci_st DT documentation ahci: st: Update the DT example for how to obtain the PHY. sata_dwc_460ex: indent an if statement libata: Add tracepoints libata-eh: Set 'information' field for autosense libata: Implement support for sense data reporting libata: Implement NCQ autosense libata: use status bit definitions in ata_dump_status() ide,ata: Rename ATA_IDX to ATA_SENSE libata: whitespace fixes in ata_to_sense_error() libata: whitespace cleanup in ata_get_cmd_descript() libata: use READ_LOG_DMA_EXT libata: remove ATA_FLAG_LOWTAG sata_dwc_460ex: re-use hsdev->dev instead of dwc_dev sata_dwc_460ex: move to generic DMA driver sata_dwc_460ex: join messages back sata: xgene: add ACPI support for APM X-Gene SATA ports ata: sata_mv: add proper definitions for LP_PHY_CTL register values commit ad30cb9946515f72af5c3e89ad9de18870c1a1e7 Merge: b0a478e d4ed11a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 14 09:29:23 2015 +1000 Merge branch 'next-sriov' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next Merge Richard's work to support SR-IOV on PowerNV. All generic PCI patches acked by Bjorn. Some minor conflicts with Daniel's pci_controller_ops work. Conflicts: arch/powerpc/include/asm/machdep.h arch/powerpc/platforms/powernv/pci-ioda.c commit b0a478ede669949682b9c698f6146c0065543b91 Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 09:53:46 2015 -0500 powerpc/pseries: Correct memory hotplug locking Memory dlpar handling can return from dlpar_memory() without releasing the device_hotplug lock. Correct this routine to ensure the lock is released. Fixes: 5f97b2a0d176 ("powerpc/pseries: Implement memory hotplug add in the kernel") Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 45141eeafefdb8998d2ab1f87c2afe0457059b47 Merge: 8954672 6ba9442 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 16:19:18 2015 -0700 Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq Pull workqueue updates from Tejun Heo: "Workqueue now prints debug information at the end of sysrq-t which should be helpful when tracking down suspected workqueue stalls. It only prints out the ones with something currently going on so it shouldn't add much output in most cases" * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: Reorder sysfs code percpu: Fix trivial typos in comments workqueue: dump workqueues on sysrq-t workqueue: keep track of the flushing task and pool manager workqueue: make the workqueues list RCU walkable commit 9705feacb778d2aa8bb868e8a9ab40557f7f7043 Merge: 643ee0d 8e047c1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 01:18:44 2015 +0200 Merge tag 'imx-dt-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/late Pull "The i.MX device tree updates for 4.1" from Shawn Guo: - Convert GPC controller to use stacked interrupt domains - Add power domain descriptions for i.MX6 platforms - Improve i.MX25 pin function defines - Disable PWM devices in <soc>.dtsi by default and enable it at board level dts where the device is actually available. - Define labels for SNVS RTC device to ease the board description, where an external RTC is available. - Add dr_mode host setting to all i.MX host-only USB instances - Support Miscellaneous System Control Module (MSCM) for VF610 - Add initial i.MX6SL WaRP Board support - Add i.MX6SX SDB revision B board support - A bunch of imx28-apf28dev board updates, including gpio polarity correction and CAN, AUART device support. - SolidRun iMX6 platform updates: dual-license of GPLv2/X11, PWM setup, PCF8523 RTC, GPIO key and SGTL5000 audio support. - A number of random device additions for boards: SPI and CAN for vf-colibri, MAX7310 GPIO expander for imx6qdl-sabreauto and LCD support for imx25-pdk. Note: Branch imx/cleanup was merged as the base to solve conflict on imx25 iomux header. Branch imx/soc was merged as the base to solve conflict on arch/arm/mach-imx/gpc.c. And Jason Cooper's irqchip/vybrid branch was pulled into the base as a run-time dependency. * tag 'imx-dt-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (69 commits) ARM: dts: hummingboard: add sgtl5000 support for Hummingboard Pro ARM: dts: imx25-pinfunc: Add several pinfunctions ARM: dts: vf610: fix missing irqs ARM: dts: cubox: Map gpio-keys to gpio3 8 ARM: dts: hummingboard: Setup pwm lines ARM: dts: hummingboard: enable PCF8523 RTC support ARM: dts: Re-license SolidRun iMX6 platform DT GPL v2/X11 ARM: dts: imx28: add alternative pinmuxing for spi3 ARM: dts: imx6sx: Add label snvs_rtc ARM: dts: imx6sl: Add label snvs_rtc ARM: imx6: Warn when an old DT is detected ARM: imx6: Allow GPC interrupts affinity to be changed ARM: imx6qdl-sabreauto.dtsi: add max7310 support ARM: dts: imx6sl-warp: Add BCM4330 support ARM: dts: imx28-apf28dev: add wakeup function to user button ARM: dts: imx28-apf28dev: fix user button polarity ARM: dts: imx25-pinfunc: remove input values for pinfuncs without input register ARM: dts: vf610: add Miscellaneous System Control Module (MSCM) ARM: dts: imx6sl-warp: Pass 'bus-width' property ARM: dts: imx6qdl: disable PWMs by default ... commit 8b036556d68175caa9bea3fb98768f733fde33c6 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Sun Apr 5 15:43:53 2015 +0300 ARM: dts: alpine: add internal pci This patch adds device-tree entry for the internal pci bus on Alpine. Alpine's on-chip devices appear as pci devices on this bus. Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit a018bb2ff95868ea592212b6735b35836fda268b Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Sun Apr 5 15:43:51 2015 +0300 ARM: alpine: add support for generic pci The Alpine platform requires generic-pci driver to access the internal pci bus. Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit b50c9c2de553102d42842db842f57c6cad676494 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 26 20:34:33 2015 +0200 ARM: multi_v7_defconfig: enable alpine platform The generic PCI driver is required for SATA device probe on Alpine platform, so it cannot be modular. Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit f19e80c640d58ddfd70f2454ee597f81ba966690 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Apr 13 19:41:30 2015 +0800 perf probe: Fix segfault when probe with lazy_line to file The first argument passed to find_probe_point_lazy() should be CU die, which will be passed to die_walk_lines() when lazy_line matches. Currently, when we probe with lazy_line pattern to file without function name, NULL pointer is passed and causes a segment fault. Can be reproduced as following: $ perf probe -k vmlinux --add='fs/super.c;s->s_count=1;' [ 1958.984658] perf[1020]: segfault at 10 ip 00007fc6e10d8c71 sp 00007ffcbfaaf900 error 4 in libdw-0.161.so[7fc6e10ce000+34000] Segmentation fault After this patch: $ perf probe -k vmlinux --add='fs/super.c;s->s_count=1;' Added new event: probe:_stext (on @fs/super.c) You can now use it in all perf tools, such as: perf record -e probe:_stext -aR sleep 1 Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428925290-5623-3-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 09ed8975c4b13be4469899b210f0e0936021ee8f Author: Naohiro Aota <naota@xxxxxxxxx> Date: Fri Mar 13 14:18:40 2015 +0900 perf probe: Find compilation directory path for lazy matching If we use lazy matching, it failed to open a souce file if perf command is invoked outside of compilation directory: $ perf probe -a '__schedule;clear_*' Failed to open kernel/sched/core.c: No such file or directory Error: Failed to add events. (-2) OTOH, other commands like "probe -L" can solve the souce directory by themselves. Let's make it possible for lazy matching too! Signed-off-by: Naohiro Aota <naota@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: He Kuang <hekuang@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/1426223923-1493-1-git-send-email-naota@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 643ee0d50a7392671c0488912cdbb37549ac4cc7 Merge: 13a7a6a 2129536 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 01:03:29 2015 +0200 Merge tag 'omap-for-v4.1/prcm-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/late Pull "Clean-up for omap PRCM (Power Reset Clock Management) and interconnects" from Tony Lindgren Patches originally from Tero Kristo <t-kristo@xxxxxx>. This sets gets us into a better position for further clean-up: - Gets PRCM code closer to being device drivers - Allows to move the remainig clock code to drivers/clk for v4.2 - Starts enforcing interconnect hierarchy in the SoC specific .dts files to enforce device drivers are only accesing registers in the related hardware module This patchset has seen quite a few revisions but did not come into mergeable shape until recently. As other patchsets for clock specific device drivers depend on this, it would be good to get this merged although it's a bit late for the v4.1 merge window. Note that as the device entries in the .dts files are moved around, this is based on earlier non-urgent fixes to avoid a non-trivial merge conflict. * tag 'omap-for-v4.1/prcm-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (44 commits) ARM: OMAP4+: control: add support for initializing control module via DT ARM: dts: dra7: add minimal l4 bus layout with control module support ARM: dts: omap5: add minimal l4 bus layout with control module support ARM: OMAP4+: control: remove support for legacy pad read/write ARM: OMAP4: display: convert display to use syscon for dsi muxing ARM: dts: omap4: add minimal l4 bus layout with control module support ARM: dts: am4372: add minimal l4 bus layout with control module support ARM: dts: am43xx-epos-evm: fix pinmux node layout ARM: dts: am33xx: add minimal l4 bus layout with control module support ARM: dts: omap3: add minimal l4 bus layout with control module support ARM: dts: omap24xx: add minimal l4 bus layout with control module support ARM: OMAP2+: control: add syscon support for register accesses ARM: OMAP2+: id: cache omap_type value ARM: OMAP2+: control: remove API for getting control module base address ARM: OMAP2+: clock: add low-level support for regmap ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags ARM: OMAP2+: CM: move SoC specific init calls within a generic API ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility ARM: OMAP2+: PRM: move SoC specific init calls within a generic API ... commit 49faf809ab824d7362870b55ef10e900ed9ca8d9 Merge: 2c13d8c 4f054d4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 00:56:58 2015 +0200 Merge tag 'mvebu-fixes-4.0-2' of git://git.infradead.org/linux-mvebu into next/dt Pull "mvebu fix for 4.0" from Gregory CLEMENT: use 0xf1000000 as internal registers on Armada 370 DB: needed for the recent version of the board which no more comes with a bogus version of the Armada 370 SoC. * tag 'mvebu-fixes-4.0-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: use 0xf1000000 as internal registers on Armada 370 DB ARM: mvebu: Disable CPU Idle on Armada 38x commit 8954672d86d036643e3ce7ce3b2422c336db66d0 Merge: 3be1b98 b7dccbe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:54:50 2015 -0700 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq core updates from Thomas Gleixner: "Managerial summary: Core code: - final removal of IRQF_DISABLED - new state save/restore functions for virtualization support - wakeup support for stacked irqdomains - new function to solve the netpoll synchronization problem irqchips: - new driver for STi based devices - new driver for Vybrid MSCM - massive cleanup of the GIC driver by moving the GIC-addons to stacked irqdomains - the usual pile of fixes and updates to the various chip drivers" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits) irqchip: GICv3: Add support for irq_[get, set]_irqchip_state() irqchip: GIC: Add support for irq_[get, set]_irqchip_state() genirq: Allow the irqchip state of an IRQ to be save/restored genirq: MSI: Fix freeing of unallocated MSI irqchip: renesas-irqc: Add wake-up support irqchip: armada-370-xp: Allow using wakeup source irqchip: mips-gic: Add new functions to start/stop the GIC counter irqchip: tegra: Add Tegra210 support irqchip: digicolor: Move digicolor_set_gc to init section irqchip: renesas-irqc: Add functional clock to bindings irqchip: renesas-irqc: Add minimal runtime PM support irqchip: renesas-irqc: Add more register documentation DT: exynos: update PMU binding ARM: exynos4/5: convert pmu wakeup to stacked domains irqchip: gic: Don't complain in gic_get_cpumask() if UP system ARM: zynq: switch from gic_arch_extn to gic_set_irqchip_flags ARM: ux500: switch from gic_arch_extn to gic_set_irqchip_flags ARM: shmobile: remove use of gic_arch_extn.irq_set_wake irqchip: gic: Add an entry point to set up irqchip flags ARM: omap: convert wakeupgen to stacked domains ... commit 8b481b01db016bdfefa0ccdfb3ab4abc90db73a3 Merge: 7cef987 3213e67 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 00:47:11 2015 +0200 Merge tag 'arm-soc/for-4.1/soc' of http://github.com/broadcom/stblinux into next/soc Pull "Trivial change to fix a const declaration for the Cygnus SoC" from Florian Fainelli: * tag 'arm-soc/for-4.1/soc' of http://github.com/broadcom/stblinux: ARM: cygnus: fix const declaration bcm_cygnus_dt_compat commit 3be1b98e073bdd4c1bb3144201a927c4a21330ba Merge: 392b46f 5468d5a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:45:47 2015 -0700 Merge tag 'pci-v4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI changes from Bjorn Helgaas: "Enumeration - Read capability list as dwords, not bytes (Sean O. Stalley) Resource management - Don't check for PNP overlaps with unassigned PCI BARs (Bjorn Helgaas) - Mark invalid BARs as unassigned (Bjorn Helgaas) - Show driver, BAR#, and resource on pci_ioremap_bar() failure (Bjorn Helgaas) - Fail pci_ioremap_bar() on unassigned resources (Bjorn Helgaas) - Assign resources before drivers claim devices (Yijing Wang) - Claim bus resources before pci_bus_add_devices() (Yijing Wang) Power management - Optimize device state transition delays (Aaron Lu) - Don't clear ASPM bits when the FADT declares it's unsupported (Matthew Garrett) Virtualization - Add ACS quirks for Intel 1G NICs (Alex Williamson) IOMMU - Add ptr to OF node arg to of_iommu_configure() (Murali Karicheri) - Move of_dma_configure() to device.c to help re-use (Murali Karicheri) - Fix size when dma-range is not used (Murali Karicheri) - Add helper functions pci_get[put]_host_bridge_device() (Murali Karicheri) - Add of_pci_dma_configure() to update DMA configuration (Murali Karicheri) - Update DMA configuration from DT (Murali Karicheri) - dma-mapping: limit IOMMU mapping size (Murali Karicheri) - Calculate device DMA masks based on DT dma-range size (Murali Karicheri) ARM Versatile host bridge driver - Check for devm_ioremap_resource() failures (Jisheng Zhang) Broadcom iProc host bridge driver - Add Broadcom iProc PCIe driver (Ray Jui) Marvell MVEBU host bridge driver - Add suspend/resume support (Thomas Petazzoni) Renesas R-Car host bridge driver - Fix position of MSI enable bit (Nobuhiro Iwamatsu) - Write zeroes to reserved PCIEPARL bits (Nobuhiro Iwamatsu) - Change PCIEPARL and PCIEPARH to PCIEPALR and PCIEPAUR (Nobuhiro Iwamatsu) - Verify that mem_res is 64K-aligned (Nobuhiro Iwamatsu) Samsung Exynos host bridge driver - Fix INTx enablement statement termination error (Jaehoon Chung) Miscellaneous - Make a shareable UUID for PCI firmware ACPI _DSM (Aaron Lu) - Clarify policy for vendor IDs in pci.txt (Michael S. Tsirkin)" * tag 'pci-v4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (36 commits) PCI: Read capability list as dwords, not bytes PCI: layerscape: Simplify platform_get_resource_byname() failure checking PCI: keystone: Don't dereference possible NULL pointer PCI: versatile: Check for devm_ioremap_resource() failures PCI: Don't clear ASPM bits when the FADT declares it's unsupported PCI: Clarify policy for vendor IDs in pci.txt PCI/ACPI: Optimize device state transition delays PCI: Export pci_find_host_bridge() for use inside PCI core PCI: Make a shareable UUID for PCI firmware ACPI _DSM PCI: Fix typo in Thunderbolt kernel message PCI: exynos: Fix INTx enablement statement termination error PCI: iproc: Add Broadcom iProc PCIe support PCI: iproc: Add DT docs for Broadcom iProc PCIe driver PCI: Export symbols required for loadable host driver modules PCI: Add ACS quirks for Intel 1G NICs PCI: mvebu: Add suspend/resume support PCI: Cleanup control flow sparc/PCI: Claim bus resources before pci_bus_add_devices() PCI: Assign resources before drivers claim devices (pci_scan_root_bus()) PCI: Fail pci_ioremap_bar() on unassigned resources ... commit 875dac1c72e4ced725c37685086d52259ccb90dc Merge: 9d86339 7a4261d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 00:43:28 2015 +0200 Merge tag 'v4.0-next-soc-fix' of https://github.com/mbgg/linux-mediatek into next/drivers Merge "fix unused variable warning for pmic-wrapper" from Matthias Brugger * tag 'v4.0-next-soc-fix' of https://github.com/mbgg/linux-mediatek: soc/mediatek: Remove unused variables commit 2c13d8c7a85fdbf7d5c71b4989bb5c249b76a0c1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Apr 14 00:39:27 2015 +0200 Revert "ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135." This reverts commit e6f219b8ec5e4227c8b87b758afb48ed102b4210. to fix a build error: arch/arm/boot/dts/mt8135-pinfunc.h:18:40: fatal error: dt-bindings/pinctrl/mt65xx.h: No such file or directory Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 392b46f31f43a71c5391eb9cffe304979d2d6c30 Merge: a21c1ea 265ef3e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:36:31 2015 -0700 Merge tag 'hsi-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi Pull HSI changes from Sebastian Reichel: - nokia-modem: support speech data - misc fixes * tag 'hsi-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi: HSI: cmt_speech: fix error return code HSI: nokia-modem: Add cmt-speech support HSI: cmt_speech: Add cmt-speech driver HSI: nokia-modem: fix error return code commit a21c1ea65615f5323575d84508637a9481ca79c6 Merge: d700b05 5939d9d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:21:34 2015 -0700 Merge tag 'for-v4.1' of git://git.infradead.org/battery-2.6 Pull power supply and reset changes from Sebastian Reichel: - new API for safe access of power supply function attrs - devres support for power supply (un)registration - new drivers / chips: - generic syscon based poweroff driver - iio & charger driver for da9150 - fuel gauge driver for axp288 - bq27x00: add support for bq27510 - bq2415x: add support for bq24157s - twl4030-madc-battery: convert to iio consumer - misc fixes * tag 'for-v4.1' of git://git.infradead.org/battery-2.6: (66 commits) power: twl4030_madc_battery: Add missing MODULE_ALIAS power: twl4030-madc-battery: Convert to iio consumer. dt: power: Add docs for generic SYSCON poweroff driver. power: reset: Add generic SYSCON register mapped poweroff. power: max17042_battery: add missed blank power: max17042_battery: Use reg type instead of chip type power/reset: at91: big endian fixes for atsama5d3x power_supply: charger-manager: Fix dereferencing of ERR_PTR HID: input: Fix NULL pointer dereference when power_supply_register fails power: constify of_device_id array power/reset/rmobile-reset.c: Fix !HAS_IOMEM build power_supply: 88pm860x_charger: Fix possible NULL pointer dereference and use of initialized variable arm: mach-pxa: Decrement the power supply's device reference counter mfd: ab8500: Decrement the power supply's device reference counter power_supply: bq2415x_charger: Decrement the power supply's device reference counter power_supply: 88pm860x_charger: Decrement the power supply's device reference counter x86/olpc/xo15/sci: Use newly added power_supply_put API x86/olpc/xo1/sci: Use newly added power_supply_put API power_supply: charger-manager: Decrement the power supply's device reference counter power_supply: Increment power supply use counter when obtaining references ... commit 6e8a9d9148b6dc2305fcaaf60550b81cbb6319c6 Merge: 789f558 01e97e6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 13 18:18:05 2015 -0400 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Al Viro says: ==================== netdev-related stuff in vfs.git There are several commits sitting in vfs.git that probably ought to go in via net-next.git. First of all, there's merge with vfs.git#iocb - that's Christoph's aio rework, which has triggered conflicts with the ->sendmsg() and ->recvmsg() patches a while ago. It's not so much Christoph's stuff that ought to be in net-next, as (pretty simple) conflict resolution on merge. The next chunk is switch to {compat_,}import_iovec/import_single_range - new safer primitives for initializing iov_iter. The primitives themselves come from vfs/git#iov_iter (and they are used quite a lot in vfs part of queue), conversion of net/socket.c syscalls belongs in net-next, IMO. Next there's afs and rxrpc stuff from dhowells. And then there's sanitizing kernel_sendmsg et.al. + missing inlined helper for "how much data is left in msg->msg_iter" - this stuff is used in e.g. cifs stuff, but it belongs in net-next. That pile is pullable from git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-davem I'll post the individual patches in there in followups; could you take a look and tell if everything in there is OK with you? ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d700b0567132e894971325fbb452a8db9e781c13 Merge: 0055dc5 4ec0853 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:13:25 2015 -0700 Merge tag 'regulator-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "Another release, another set of regulator updates. Not much of it is showing up in the code yet but there's been a lot of discussion going on about how to enhance the regulator API to work better with modern SoCs which have a microcontroller sitting between Linux and the hardware. I'm hopeful that'll start to come through into mainline for v4.2 but it's not quite there for v4.1 - what we do have (along with the usual small updates is) is: - work from Bjorn Andersson on refactoring the configuration of regulator loading interfaces to be useful for use with microcontrollers, the existing interfaces were never actually useful for anything as-is since nobody was willing to put enough data into public code. - a summary tree display in debugfs from Heiko Stübner. - support for act6000 regulators" * tag 'regulator-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (34 commits) regulator: max8660: Handle empty regulator data regulator: output current-limit for all regulators in summary regulator: add a summary tree in debugfs regulator: qcom: Tidy up probe() regulator: qcom: Rework to single platform device regulator: qcom: Refactor of-parsing code regulator: qcom: Don't enable DRMS in driver regulator: max8660: fix assignment of pdata to data that becomes dead regulator: Defer lookup of supply to regulator_get mfd: max77693: Remove unused structures regulator: max77693: Let core parse DT and drop board files support regulator: Ensure unique regulator debugfs directory names regulator: stw481x: Remove unused fields from struct stw481x regulator: palmas: Add has_regen3 check for TPS659038 regulator: constify of_device_id array regulator: fixes for regulator_set_optimum_mode name change regulator: Drop temporary regulator_set_optimum_mode wrapper usb: phy: phy-msm-usb: Rename regulator_set_optimum_mode usb: phy: ab8500-usb: Rename regulator_set_optimum_mode ufs: Rename of regulator_set_optimum_mode ... commit 0055dc5b23cc1738fc2f14221cf922a83057d8fb Merge: 1b57c7c 56afdb7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:05:40 2015 -0700 Merge tag 'spi-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi updates from Mark Brown: "Only one framework update this time around, a change from Lars-Peter to move full to pm_ops and remove the legacy bus PM ops. Otherwise it's all driver updates: - make the spidev driver complain loudly if registered as spidev with DT rather than with a compatible string, hopefully helping people avoid making that mistake. - error handling and robustness fixes for the Designware and Intel MID drivers from Andy Shevchenko. - substantial performance improvements for the Raspberry Pi driver from Martin Sperl. - several new features for spidev_test from Adrian Remonda and Ian Abbott" * tag 'spi-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (75 commits) spi: bcm2835: enabling polling mode for transfers shorter than 30us spi: bcm2835: transform native-cs to gpio-cs on first spi_setup spi: img-spfi: Control CS lines with GPIO spi: img-spfi: Reset controller after each message spi: img-spfi: Implement a handle_err() callback spi: img-spfi: Setup TRANSACTION register before CONTROL register spi: Make master->handle_err() callback optional to avoid crashes spi: img-spfi: Limit bit clock to 1/4th of input clock spi: img-spfi: Implement a prepare_message() callback spi: fsl-dspi: Add ~50ns delay between cs and sck spi: fsl-dspi: Add cs-sck delays spi: fsl-dspi: Fix clock rate scale values spi: signedness bug in qspi_trigger_transfer_out_int() spi: imx: read back the RX/TX watermark levels earlier spi: spi-bfin5xx: Initialize cr_width in bfin_spi_pump_transfers() spi: bitbang: only toggle bitchanges spi: pxa2xx: missing break in pxa2xx_ssp_get_clk_div() spi: fsl-dspi: Fix clock rate scale values spi: Using Trigger number to transmit/receive data spi: bcm2835: fill FIFO before enabling interrupts to reduce interrupts/message ... commit 1b57c7c2fbb81763cd4a6940c8530c98022c409c Merge: 8d9095c f58078d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 15:00:55 2015 -0700 Merge tag 'regmap-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap Pull regmap update from Mark Brown: "Just one patch for regmap this time around, a change from Steven Rostedt to prettify the way we're making the regmap internal header available to the trace events (it turns out that the trace subsystem doesn't actually need to be in trace/events)" * tag 'regmap-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: Move tracing header into drivers/base/regmap commit 09675bd395458543e70d19544f8046038a2fd053 Merge: bcf5d54 21042d4 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Apr 13 23:57:27 2015 +0200 Merge branch 'for-4.1/core-s390' into for-linus commit bcf5d545890e9f7414341c572337ce58cba00a32 Merge: 8cb2c2d 2e3ac94 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Apr 13 23:57:20 2015 +0200 Merge branch 'for-4.1/core-noarch' into for-linus commit 8d9095c667a185c8e2449632343a2b6c65ae58f1 Merge: 1a370f4 69f0fb2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 14:53:03 2015 -0700 Merge tag 'mmc-v4.1' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC updates from Ulf Hansson: "MMC core: - Add support for marking HPI as broken through devicetree - Enable runtime PM management of host devices - Remove the ->enable|disable() callbacks - Restructure code and cleanups - Refreshed some of the MMC sections in MAINTAINERS MMC host: - dw_mmc: HS400 mode support - dw_mmc: Add the cmd11 timer to detect a timeout - dw_mmc: Endian agnostic IO accessors - dw_mmc: Bugfixes - sh_mmcif: Add exclusion between cmd and interrupt - omap_hsmmc: Hibernation support - omap_hsmmc: Rework and simplify cover/card detect - omap_hsmmc: Stop using ->enable|disable() callbacks - atmel-mci: Endian agnostic IO - sunxi: Enable MMC_CAP_SDIO_IRQ - sdhci-st: Add support for the stih407 family silicon - sdhci-st: UHS card support in SDR104 mode - sdhci-st: HS200 mode support - sdhci-esdhc-imx: Use common mmc DT parser - sdhci-of-arasan: Use common mmc DT parser - sdhci-iproc: Add new driver for Broadcom IPROC SDHCI controller - sdhci-tegra: Convert to GPIO descriptors - sdhci-tegra: Optmize write_w path for tegra114 and later - sdhci-sirf: Update tuning procedure - sdhci: Fix card presence logic - sdhci: Cleanups and consolidation" * tag 'mmc-v4.1' of git://git.linaro.org/people/ulf.hansson/mmc: (79 commits) mmc: sdhci-st: Update ST SDHCI binding documentation. mmc: sdhci-st: Update the quirks for this controller. mmc: sdhci-st: Add sdhci_st_set_uhs_signaling function. mmc: sdhci-st: Add st_mmcss_cconfig function to configure mmcss glue registers. mmc: sdhci-st: Add delay management functions for top registers (eMMC). mmc: sdhci-st: Add support for de-asserting reset signal and top regs resource mmc: sdhci-st: Add macros for register offsets and bitfields for mmcss glue regs mmc: sdhci-esdhc-imx: Call mmc_of_parse() mmc: dw_mmc: Add locking around cmd11 timer mmc: dw_mmc: Add a return in an unexpected cmd11 timeout mmc: dw_mmc: Increase cmd11 timeout to 500ms mmc: dw_mmc: fix fifo ordering in big endian mmc: dw_mmc: change idmac descriptor files to __le32 mmc: dw_mmc: make IO accessors endian agnostic mmc: core: Convert the error field in struct mmc_command|data into an int mmc: sdhci-of-arasan: Call OF parsing for MMC mmc: sdhci-pci: fix 64 BIT DMA quirks for rtsx mmc: Add support for marking hpi as broken through devicetree mmc: sdhci-tegra: convert to use GPIO descriptors mmc: omap_hsmmc: use generic slot-gpio isr to manage card detect pin ... commit 1a370f4cd95e056d55ef5bf1a183880e70195e59 Merge: 4b5ca74 1afaa05 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 14:47:37 2015 -0700 Merge tag 'edac_for_4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp Pull EDAC updates from Borislav Petkov: - convert a bunch of drivers to static attribute groups (Takashi Iwai) - misc cleanups * tag 'edac_for_4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: EDAC: Constify of_device_id array EDAC, i82443bxgx: Don't export static symbol EDAC, amd64_edac: Get rid of per-node driver instances EDAC: Properly unwind on failure path in edac_init() EDAC: highbank: Use static attribute groups for sysfs entries EDAC: octeon: Use static attribute groups for sysfs entries EDAC: mpc85xx: Use static attribute groups for sysfs entries EDAC: i7core: Use static attribute groups for sysfs entries EDAC: i7core: Return proper error codes for kzalloc() errors EDAC: amd64: Use static attribute groups EDAC: Allow to pass driver-specific attribute groups EDAC: Use static attribute groups for managing sysfs entries EDAC: Delete unnecessary checks before pci_dev_put() commit 2e455c27bddbf8cf6d1039daea40de8e6865c453 Merge: 05f6d02 b2eafd7 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Apr 13 23:43:34 2015 +0200 Merge branch 'for-4.1/sensor-hub' into for-linus Conflicts: drivers/iio/common/hid-sensors/hid-sensor-trigger.c include/linux/hid-sensor-hub.h commit 05f6d02521d4c7a656c5135d6d81c345ce531ac0 Merge: 43faadf feb6faf ee20fe2 a485923 7af05e7 b832da5 2c6e027 f097dee 2e701a3 8fec02a b4bf212 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Apr 13 23:41:15 2015 +0200 Merge branches 'for-4.0/upstream-fixes', 'for-4.1/genius', 'for-4.1/huion-uclogic-merge', 'for-4.1/i2c-hid', 'for-4.1/kconfig-drop-expert-dependency', 'for-4.1/logitech', 'for-4.1/multitouch', 'for-4.1/rmi', 'for-4.1/sony', 'for-4.1/upstream' and 'for-4.1/wacom' into for-linus commit 4b5ca74113a1e02f4a7ea80aea9b977705f3d961 Merge: cb0fc55 f354169 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 14:39:25 2015 -0700 Merge tag 'hwmon-for-linus-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon updates from Guenter Roeck: "Support for new chips: - add support for IT8620E, IT8781F, IT8786E, and IT8790E to it87 driver - add driver for NCT7904 Functional improvements: - support for new devicetree structure in ibmpowernv driver - register pwm-fan and gpio-fan drivers as thermal cooling devices - various minor cleanup and improvements to it87, nct6775, jc42, ibmpex, and coretemp drivers" * tag 'hwmon-for-linus-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (43 commits) hwmon: (pwm-fan) Update the duty cycle inorder to control the pwm-fan hwmon: (it87) Use feature macros on sio_data hwmon: (ibmpowernv) Fix build error seen for some configurations hwmon: (gpio-fan) Move the thermal registration after registration is complete hwmon: (ibmpowernv) pretty print labels hwmon: (ibmpowernv) add a label attribute hwmon: (ibmpowernv) add support for the new device tree hwmon: (ibmpowernv) add a helper routine create_hwmon_attr hwmon: (it87) Add support for 6th fan of IT8620E hwmon: (it87) Add support for IT8620E hwmon: (it87) Add support for IT8790E hwmon: (it87) Introduce feature flag to reflect internal in7 sensor hwmon: (it87) Introduce configuration field for chip suffix hwmon: (it87) Fix PWM frequency display for chips with newer PWM control hwmon: (it87) Fix pwm sysfs attribute removal hwmon: (ibmpowernv) do not use the OPAL index for hwmon attribute names hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype hwmon: (ibmpowernv) add a convert_opal_attr_name() routine hwmon: (ibmpowernv) add a get_sensor_type() routine hwmon: (ibmpowernv) replace AMBIENT_TEMP by TEMP ... commit cb0fc55dea8b498c286976bc4833481f6078c061 Merge: 5142ef1c 940db9e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 14:19:26 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 Pull avr32 fix from Hans-Christian Egtvedt. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32: avr32: fix integer overflow in ELF_ET_DYN_BASE commit 5142ef1cbda9a48ff87e9b944096767252204c6e Merge: 6a16dda b24f670 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 14:18:27 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k Pull m68k updates from Geert Uytterhoeven. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k/mac: Fix out-of-bounds array index in OSS IRQ source initialization m68k/pci: Remove a superflous KERN_ERR m68k/defconfig: Update defconfigs for v4.0-rc1 m68k/q40: Make NE2000 builtin instead of modular m68k: Remove FSF address commit c4d30668da689de2f27bb0b19de4430d6c95d7cf Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Apr 10 00:22:56 2015 -0400 x86 msr-index: define MSR_TURBO_RATIO_LIMIT,1,2 MSR_TURBO_RATIO_LIMIT has grown into a set of three registers. Add the documented names for them, in preparation for deleting the previous ad-hoc names: +#define MSR_TURBO_RATIO_LIMIT 0x000001ad +#define MSR_TURBO_RATIO_LIMIT1 0x000001ae +#define MSR_TURBO_RATIO_LIMIT2 0x000001af Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: x86@xxxxxxxxxx commit 789f558cfb3680aeb52de137418637f6b04b7d22 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Apr 12 18:51:09 2015 -0700 tcp/dccp: get rid of central timewait timer Using a timer wheel for timewait sockets was nice ~15 years ago when memory was expensive and machines had a single processor. This does not scale, code is ugly and source of huge latencies (Typically 30 ms have been seen, cpus spinning on death_lock spinlock.) We can afford to use an extra 64 bytes per timewait sock and spread timewait load to all cpus to have better behavior. Tested: On following test, /proc/sys/net/ipv4/tcp_tw_recycle is set to 1 on the target (lpaa24) Before patch : lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0 419594 lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0 437171 While test is running, we can observe 25 or even 33 ms latencies. lpaa24:~# ping -c 1000 -i 0.02 -qn lpaa23 ... 1000 packets transmitted, 1000 received, 0% packet loss, time 20601ms rtt min/avg/max/mdev = 0.020/0.217/25.771/1.535 ms, pipe 2 lpaa24:~# ping -c 1000 -i 0.02 -qn lpaa23 ... 1000 packets transmitted, 1000 received, 0% packet loss, time 20702ms rtt min/avg/max/mdev = 0.019/0.183/33.761/1.441 ms, pipe 2 After patch : About 90% increase of throughput : lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0 810442 lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0 800992 And latencies are kept to minimal values during this load, even if network utilization is 90% higher : lpaa24:~# ping -c 1000 -i 0.02 -qn lpaa23 ... 1000 packets transmitted, 1000 received, 0% packet loss, time 19991ms rtt min/avg/max/mdev = 0.023/0.064/0.360/0.042 ms Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a16dda86ebbcfe690c753c3fb469b4f9ad5a5ef Merge: ec1bc8e 115db5c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:36:45 2015 -0700 Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 vdso changes from Ingo Molnar: "Misc vDSO updates" * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/vdso: Remove x32 intermediates during 'make clean' x86/vdso: Teach 'make clean' to remove generated vdso-image-*.c files x86/vdso32/syscall.S: Do not load __USER32_DS to %ss x86/vdso: Fix the x86 vdso2c tool includes commit 20a1d16526b79c76cd45e29cb637aec1d43c41de Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 00:52:39 2015 +0200 netfilter: Fix format string of nfnetlink_log proc file The printed values are all of type unsigned integer, therefore use %u instead of %d. Otherwise an user can face negative values. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b46f7b7e97e58a23fd96c3bfc1efee9da3d1a3d Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 00:52:38 2015 +0200 netfilter: Fix format string of nfnetlink_queue proc file The printed values are all of type unsigned integer, therefore use %u instead of %d. Otherwise an user can face negative values. Fixes: $ cat /proc/net/netfilter/nfnetlink_queue 0 29508 278 2 65531 0 2004213241 -2129885586 1 1 -27747 0 2 65531 0 0 0 1 2 -27748 0 2 65531 0 0 0 1 Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc6bc4486346aedbdc9ae293c0c675fd29777a98 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 00:52:37 2015 +0200 netfilter: Fix portid types The netlink portid is an unsigned integer, use this type also in netfilter. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65bc4f936e6f1c7de59938e832701faa903d2d45 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 00:52:36 2015 +0200 nfc: Fix portid type in urelease_work portid is an unsigned integer. Fix urelease_work to match all other portid user in the kernel. Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0392d099ab29767b8d7d4d1d29e8020f8abe943f Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 00:52:35 2015 +0200 netlink: Fix portid type in netlink_notify portid is an unsigned integer. Fix netlink_notify to match all other portid user in the kernel. Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec1bc8e4cf47914349cbecf327ea86636bb3265e Merge: 07f2d8c 22ef882 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:34:46 2015 -0700 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fix from Ingo Molnar: "Leftover from 4.0 Fix a local stack variable corruption with certain kdump usage patterns (Dave Young)" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm/numa: Fix kernel stack corruption in numa_init()->numa_clear_kernel_node_hotplug() commit 07f2d8c63fa439613405760841e41fce3041023f Merge: ee799f4 cee8f5a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:33:20 2015 -0700 Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 RAS changes from Ingo Molnar: "The main changes in this cycle were: - Simplify the CMCI storm logic on Intel CPUs after yet another report about a race in the code (Borislav Petkov) - Enable the MCE threshold irq on AMD CPUs by default (Aravind Gopalakrishnan) - Add AMD-specific MCE-severity grading function. Further error recovery actions will be based on its output (Aravind Gopalakrishnan) - Documentation updates (Borislav Petkov) - ... assorted fixes and cleanups" * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mce/severity: Fix warning about indented braces x86/mce: Define mce_severity function pointer x86/mce: Add an AMD severities-grading function x86/mce: Reindent __mcheck_cpu_apply_quirks() properly x86/mce: Use safe MSR accesses for AMD quirk x86/MCE/AMD: Enable thresholding interrupts by default if supported x86/MCE: Make mce_panic() fatal machine check msg in the same pattern x86/MCE/intel: Cleanup CMCI storm logic Documentation/acpi/einj: Correct and streamline text x86/MCE/AMD: Drop bogus const modifier from AMD's bank4_names() commit ee799f41eb2bc0484711b0fc942fddf54248289f Merge: 6cf78d4 a6fcb6d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:32:35 2015 -0700 Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 platform change from Ingo Molnar: "An Intel Quark SoC fix" * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/intel/quark: Run IMR self-test on IMR capble hw only commit 6cf78d4b3766bcd25348d72377796f9566ac8e1a Merge: 0ad5c6b 4e26d11f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 12:31:32 2015 -0800 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 mm changes from Ingo Molnar: "The main changes in this cycle were: - reduce the x86/32 PAE per task PGD allocation overhead from 4K to 0.032k (Fenghua Yu) - early_ioremap/memunmap() usage cleanups (Juergen Gross) - gbpages support cleanups (Luis R Rodriguez) - improve AMD Bulldozer (family 0x15) ASLR I$ aliasing workaround to increase randomization by 3 bits (per bootup) (Hector Marco-Gisbert) - misc fixlets" * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm: Improve AMD Bulldozer ASLR workaround x86/mm/pat: Initialize __cachemode2pte_tbl[] and __pte2cachemode_tbl[] in a bit more readable fashion init.h: Clean up the __setup()/early_param() macros x86/mm: Simplify probe_page_size_mask() x86/mm: Further simplify 1 GB kernel linear mappings handling x86/mm: Use early_param_on_off() for direct_gbpages init.h: Add early_param_on_off() x86/mm: Simplify enabling direct_gbpages x86/mm: Use IS_ENABLED() for direct_gbpages x86/mm: Unexport set_memory_ro() and set_memory_rw() x86/mm, efi: Use early_ioremap() in arch/x86/platform/efi/efi-bgrt.c x86/mm: Use early_memunmap() instead of early_iounmap() x86/mm/pat: Ensure different messages in STRICT_DEVMEM and PAT cases x86/mm: Reduce PAE-mode per task pgd allocation overhead from 4K to 32 bytes commit 0ad5c6b3c2d1183740d225944059b0fdedb2afba Merge: 421ec90 46423ff Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:25:33 2015 -0700 Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 microcode changes from Ingo Molnar: "Microcode driver updates: mostly cleanups but also some fixes (Borislav Petkov)" * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/microcode/amd: Drop the pci_ids.h dependency x86/microcode/intel: Fix printing of microcode blobs in show_saved_mc() x86/microcode/intel: Check scan_microcode()'s retval x86/microcode/intel: Sanitize microcode_pointer() x86/microcode/intel: Move mc arg last in get_matching_{microcode|sig} x86/microcode/intel: Simplify generic_load_microcode_early() x86/microcode: Consolidate family,model, ... code x86/microcode/intel: Rename update_match_revision() x86/microcode/intel: Sanitize _save_mc() x86/microcode/intel: Make _save_mc() return the updated saved count x86/microcode/intel: Simplify load_ucode_intel_bsp() x86/microcode/intel: Get rid of last arg to load_ucode_intel_bsp() x86/microcode/intel: Do the mc_saved_src NULL check first x86/microcode/intel: Check if microcode was found before applying x86/microcode/intel: Fix out of bounds memory access to the extended header commit 9d7b45c5721dfd524666bc1f07cf7d0855edb4d5 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Apr 13 19:41:28 2015 +0800 perf probe: Set retprobe flag when probe in address-based alternative mode When perf probe searched in a debuginfo file and failed, it tried with an alternative, in function get_alternative_probe_event(): memcpy(tmp, &pev->point, sizeof(*tmp)); memset(&pev->point, 0, sizeof(pev->point)); In this case, it drops the retprobe flag and forgets to set it back in find_alternative_probe_point(), so the problem occurs. Can be reproduced as following: $ perf probe -v -k vmlinux --add='sys_write%return' ... Added new event: Writing event: p:probe/sys_write _stext+1584952 probe:sys_write (on sys_write%return) $ cat /sys/kernel/debug/tracing/kprobe_events p:probe/sys_write _stext+1584952 After this patch: $ perf probe -v -k vmlinux --add='sys_write%return' Added new event: Writing event: r:probe/sys_write SyS_write+0 probe:sys_write (on sys_write%return) $ cat /sys/kernel/debug/tracing/kprobe_events r:probe/sys_write SyS_write Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428925290-5623-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 421ec9017f3a1f3f032d894c55c15870f3d474aa Merge: 64f004a 7fc253e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:24:23 2015 -0700 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fpu changes from Ingo Molnar: "Various x86 FPU handling cleanups, refactorings and fixes (Borislav Petkov, Oleg Nesterov, Rik van Riel)" * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits) x86/fpu: Kill eager_fpu_init_bp() x86/fpu: Don't allocate fpu->state for swapper/0 x86/fpu: Rename drop_init_fpu() to fpu_reset_state() x86/fpu: Fold __drop_fpu() into its sole user x86/fpu: Don't abuse drop_init_fpu() in flush_thread() x86/fpu: Use restore_init_xstate() instead of math_state_restore() on kthread exec x86/fpu: Introduce restore_init_xstate() x86/fpu: Document user_fpu_begin() x86/fpu: Factor out memset(xstate, 0) in fpu_finit() paths x86/fpu: Change xstateregs_get()/set() to use ->xsave.i387 rather than ->fxsave x86/fpu: Don't abuse FPU in kernel threads if use_eager_fpu() x86/fpu: Always allow FPU in interrupt if use_eager_fpu() x86/fpu: __kernel_fpu_begin() should clear fpu_owner_task even if use_eager_fpu() x86/fpu: Also check fpu_lazy_restore() when use_eager_fpu() x86/fpu: Use task_disable_lazy_fpu_restore() helper x86/fpu: Use an explicit if/else in switch_fpu_prepare() x86/fpu: Introduce task_disable_lazy_fpu_restore() helper x86/fpu: Move lazy restore functions up a few lines x86/fpu: Change math_error() to use unlazy_fpu(), kill (now) unused save_init_fpu() x86/fpu: Don't do __thread_fpu_end() if use_eager_fpu() ... commit 64f004a2ab68691b5a2e3db4cb460fcd31b6abc6 Merge: b48488d 6d4d198 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:23:34 2015 -0700 Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 debug changes from Ingo Molnar: "Stack printing fixlets" * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kernel: Use kstack_end() in dumpstack_64.c x86/kernel: Fix output of show_stack_log_lvl() commit b48488d10954e0a337c41ea2e6086f274f118acf Merge: 9f3252f 37dea8c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:21:51 2015 -0700 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cacheinfo sysfs changes from Ingo Molnar: "This tree converts the x86 cacheinfo sysfs code to use the generic code in drivers/base/cacheinfo.c. It's not intended to change the sysfs ABI: 'This patch neither alters any existing sysfs entries nor their formating, however since the generic cacheinfo has switched to use the device attributes instead of the traditional raw kobjects, a directory named 'power' along with its standard attributes are added similar to any other device'" * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpu/cacheinfo: Fix cache_get_priv_group() for Intel processors x86/cacheinfo: Move cacheinfo sysfs code to generic infrastructure commit 9f3252f1ad3f10a96a51ebd79b18ffc20664a1d8 Merge: 5945fba b449159 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:20:54 2015 -0700 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cleanups from Ingo Molnar: "Various cleanups" * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/iommu: Fix header comments regarding standard and _FINISH macros x86/earlyprintk: Put CONFIG_PCI-only functions under the #ifdef x86: Fix up obsolete __cpu_set() function usage commit 5945fba8c596546a075382c42cf35141d1ae6eca Merge: 8f74bc5 d8eb894 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:19:59 2015 -0700 Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 build changes from Ingo Molnar: "Small cleanups and fixes" * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kexec: Cleanup KEXEC_VERIFY_SIG Kconfig help text x86/build/defconfig: Enable USB_EHCI_TT_NEWSCHED=y x86/build: Fix mkcapflags.sh bash-ism x86/Kconfig: Simplify X86_UP_APIC handling x86/Kconfig: Simplify X86_IO_APIC dependencies x86/Kconfig: Avoid issuing pointless turned off entries to .config commit 8f74bc5ff0eb20a055e4cb8d390669164ca15cb3 Merge: 60f898e 1c1d046 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:19:10 2015 -0700 Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 boot changes from Ingo Molnar: "A number of cleanups" * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/boot: Standardize strcmp() x86/boot/64: Remove pointless early_printk() message x86/boot/video: Move the 'video_segment' variable to video.c commit 60f898eeaaa1c5d0162a4240bacf33a6c87ecef6 Merge: 977e1ba 3b75232 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:16:36 2015 -0700 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 asm changes from Ingo Molnar: "There were lots of changes in this development cycle: - over 100 separate cleanups, restructuring changes, speedups and fixes in the x86 system call, irq, trap and other entry code, part of a heroic effort to deobfuscate a decade old spaghetti asm code and its C code dependencies (Denys Vlasenko, Andy Lutomirski) - alternatives code fixes and enhancements (Borislav Petkov) - simplifications and cleanups to the compat code (Brian Gerst) - signal handling fixes and new x86 testcases (Andy Lutomirski) - various other fixes and cleanups By their nature many of these changes are risky - we tried to test them well on many different x86 systems (there are no known regressions), and they are split up finely to help bisection - but there's still a fair bit of residual risk left so caveat emptor" * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (148 commits) perf/x86/64: Report regs_user->ax too in get_regs_user() perf/x86/64: Simplify regs_user->abi setting code in get_regs_user() perf/x86/64: Do report user_regs->cx while we are in syscall, in get_regs_user() perf/x86/64: Do not guess user_regs->cs, ss, sp in get_regs_user() x86/asm/entry/32: Tidy up JNZ instructions after TESTs x86/asm/entry/64: Reduce padding in execve stubs x86/asm/entry/64: Remove GET_THREAD_INFO() in ret_from_fork x86/asm/entry/64: Simplify jumps in ret_from_fork x86/asm/entry/64: Remove a redundant jump x86/asm/entry/64: Optimize [v]fork/clone stubs x86/asm/entry: Zero EXTRA_REGS for stub32_execve() too x86/asm/entry/64: Move stub_x32_execvecloser() to stub_execveat() x86/asm/entry/64: Use common code for rt_sigreturn() epilogue x86/asm/entry/64: Add forgotten CFI annotation x86/asm/entry/irq: Simplify interrupt dispatch table (IDT) layout x86/asm/entry/64: Move opportunistic sysret code to syscall code path x86, selftests: Add sigreturn selftest x86/alternatives: Guard NOPs optimization x86/asm/entry: Clear EXTRA_REGS for all executable formats x86/signal: Remove pax argument from restore_sigcontext ... commit 977e1ba50893c15121557b39de586901fe3f75cf Merge: 7fd5647 1912c7a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 13:15:09 2015 -0700 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 apic changes from Ingo Molnar: "Changes: - SGI UV APIC driver updates - dead code removal" * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/apic/uv: Update the UV APIC HUB check x86/apic/uv: Update the UV APIC driver check x86/apic/uv: Update the APIC UV OEM check x86/apic: Remove verify_local_APIC() commit 8f61f3598d541b12e714d9e3f8f6094cff946c6f Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Mar 23 18:36:57 2015 -0400 tools/power turbostat: label base frequency syntax only. The cool kids are now using the phrase "base frequency", where in the past we used "max non-turbo frequency" or "TSC frequency". This distinction becomes important when a processor has a TSC that runs at a different speed than the "base frequency". Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit e33cbe852de48c313a8a52686765c58a711dd9e4 Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Mar 13 16:30:57 2015 -0400 tools/power turbostat: update PERF_LIMIT_REASONS decoding cosmetic only. order the decoding of MSR_PERF_LIMIT_REASONS bits from MSB to LSB -- which you notice when more than 1 bit is set and you are, say, comparing the output to the documentation... Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 1cc21f7b6b747220c29b42cfd1c84b5648d12407 Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Feb 23 00:34:57 2015 -0500 tools/power turbostat: simplify default output Casual turbostat users generally just want to know MHz. So by default, just print enough information to make sense of MHz. All the other configuration data and columns for C-states and temperature etc, are printed with the --debug option. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 5f2e3274e527ec52413b43b5a9b30422eda4cdd2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 21:35:51 2015 +0200 ACPI / scan: Fix NULL pointer dereference in acpi_companion_match() Commit e1acdeb0e770 "ACPI / scan: Simplify acpi_match_device()" introduced code that may lead to a NULL pointer dereference when trying to unlock a mutex. Fix that. Fixes: e1acdeb0e770 "ACPI / scan: Simplify acpi_match_device()" Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fe205bdd1321f95f8f3c35d243ea7cb22af8fbe1 Author: Thomas Meyer <thomas@xxxxxxxx> Date: Fri Apr 3 16:51:26 2015 +0200 um: Print minimum physical memory requirement Print a more sensible message about the minimum physical memory requirement. Signed-off-by: Thomas Meyer <thomas@xxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 33bbc3065414722065a20cbdbeaf352173e72f39 Author: Thomas Meyer <thomas@xxxxxxxx> Date: Sat Mar 28 09:59:46 2015 +0100 um: Move uml_postsetup in the init_thread stack atomic_notifier_chain_register() and uml_postsetup() do call kernel code that rely on the "current" kernel macro and a valid task_struct resp. thread_info struct. Give those functions a valid stack by moving uml_postsetup() in the init_thread stack. This moves enables a panic() call in this early code to generate a valid stacktrace, instead of crashing. E.g. when an UML kernel is started with an initrd but too few physical memory the panic() call get's actually processed. Signed-off-by: Thomas Meyer <thomas@xxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 04a418495e0852263d77c4fb82adf470feaafef3 Author: Thomas Meyer <thomas@xxxxxxxx> Date: Sat Mar 28 10:07:37 2015 +0100 um: add a kmsg_dumper Add a kmsg_dumper, that dumps the kmsg buffer to stdout, when no console is available. This an enables the printing of early panic() calls triggered in uml_postsetup(). When a panic() call happens so early in the UML kernel no earlyprintk/console is available yet, but with a kmsg_dumper in place the kernel message buffer will be outputted to the user, to give a better hint, of what the failure was. Signed-off-by: Thomas Meyer <thomas@xxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit fc9bea0e28db8cbfe0a08c1bfb1796bfd7adf49b Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Tue Mar 24 18:31:24 2015 +0300 x86, UML: fix integer overflow in ELF_ET_DYN_BASE Almost all arches define ELF_ET_DYN_BASE as 2/3 of TASK_SIZE. Though it seems that some architectures do this in a wrong way. The problem is that 2*TASK_SIZE may overflow 32-bits so the real ELF_ET_DYN_BASE becomes wrong. Fix this overflow by dividing TASK_SIZE prior to multiplying: (TASK_SIZE / 3 * 2) Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 502690674281a047abd45f81e64c498bc23a8bb3 Author: david.oberhollenzer@xxxxxxxxxxxxx <david.oberhollenzer@xxxxxxxxxxxxx> Date: Thu Mar 26 23:59:50 2015 +0100 UBI: power cut emulation for testing Emulate random power cuts by switching device to ro after a number of writes to allow simple power cut testing with nand-sim. Maximum and minimum number of successful writes before power cut and what kind of writes (EC header, VID header or none) to interrupt configurable via debugfs. Signed-off-by: David Oberhollenzer <david.oberhollenzer@xxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 0c9bd6365d0b278728359843b8303047ddedb831 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Mar 24 15:47:38 2015 +0100 um: hostfs: Reduce number of syscalls in readdir Currently hostfs issues every time a seekdir(), in fact it has to do this only upon the first call. Also telldir() can be omitted as we can obtain the directory offset from readdir(). Signed-off-by: Richard Weinberger <richard@xxxxxx> commit a98a6d864d3b84219a6ec6213b00c260fb52f9f4 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 21:59:35 2015 +0100 um: Remove broken highmem support Highmem was always buggy and experimental on UML(i386). In times where 64 bit computers are default we can remove that experimental code. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 28fa468f53163bc0b867b4cc75a9e36e7ed4dbbd Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 21:42:54 2015 +0100 um: Remove broken SMP support At times where UML used the TT mode to operate it had kind of SMP support. It never got finished nor was stable. Let's rip out that cruft and stop confusing developers which do tree-wide SMP cleanups. If someone wants SMP support UML it has do be done from scratch. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d0b5e15f0c0fdd759dd3dd48dc2dc2e7199e0da0 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 21:31:27 2015 +0100 um: Remove SKAS3/4 support Before we had SKAS0 UML had two modes of operation TT (tracing thread) and SKAS3/4 (separated kernel address space). TT was known to be insecure and got removed a long time ago. SKAS3/4 required a few (3 or 4) patches on the host side which never went mainline. The last host patch is 10 years old. With SKAS0 mode (separated kernel address space using 0 host patches), default since 2005, SKAS3/4 is obsolete and can be removed. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit aaeac66b1a02d399ec8ee63e8d617c1d601ea353 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 21:28:15 2015 +0100 um: Remove ppc cruft That code is a relict from the early days of UML. ppc support was never completed nor worked. Let's rip it out. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 23fc5f156bddbaaa8939a74c67dfd5bf6d07f596 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 21:27:35 2015 +0100 um: Remove ia64 cruft That code is a relict from the early days of UML. ia64 support was never completed nor worked. Let's rip it out. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit fcf81931a0f9cff10101386685f2e9f30fe5f3d2 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 18 14:11:04 2015 +0100 um: Remove dead code from stacktrace Remove left over code from commit 970e51feaddb (um: Add support for CONFIG_STACKTRACE) Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 97b2f0dc331474fb80ba4f4e4aee1d8e9ffbf7ce Author: Richard Weinberger <richard@xxxxxx> Date: Mon Apr 13 20:40:10 2015 +0200 arm64: Removed unused variable arch/arm64/kernel/signal.c: In function â??handle_signalâ??: arch/arm64/kernel/signal.c:290:22: warning: unused variable â??threadâ?? [-Wunused-variable] Fixes: arm64: Remove signal translation and exec_domain Reported-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 97bb43c3e06e9bfdc9e3140a312004df462685b9 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Apr 13 20:15:21 2015 +0200 netfilter: nf_tables: get rid of the expression example code There's an example net/netfilter/nft_expr_template.c example file in tree that got out of sync along time, remove it. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: Patrick McHardy <kaber@xxxxxxxxx> commit 3e135cd499bfbec15684fe9c756162d58df4dc77 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 10:46:42 2015 +0100 netfilter: nft_dynset: dynamic stateful expression instantiation Support instantiating stateful expressions based on a template that are associated with dynamically created set entries. The expressions are evaluated when adding or updating the set element. This allows to maintain per flow state using the existing set infrastructure and expression types, with arbitrary definitions of a flow. Usage is currently restricted to anonymous sets, meaning only a single binding can exist, since the desired semantics of multiple independant bindings haven't been defined so far. Examples (userspace syntax is still WIP): 1. Limit the rate of new SSH connections per host, similar to iptables hashlimit: flow ip saddr timeout 60s \ limit 10/second \ accept 2. Account network traffic between each set of /24 networks: flow ip saddr & 255.255.255.0 . ip daddr & 255.255.255.0 \ counter 3. Account traffic to each host per user: flow skuid . ip daddr \ counter 4. Account traffic for each combination of source address and TCP flags: flow ip saddr . tcp flags \ counter The resulting set content after a Xmas-scan look like this: { 192.168.122.1 . fin | psh | urg : counter packets 1001 bytes 40040, 192.168.122.1 . ack : counter packets 74 bytes 3848, 192.168.122.1 . psh | ack : counter packets 35 bytes 3144 } Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7c6c6e95a12e46f499749bdd496e53d03950f377 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 10:46:41 2015 +0100 netfilter: nf_tables: add flag to indicate set contains expressions Add a set flag to indicate that the set is used as a state table and contains expressions for evaluation. This operation is mutually exclusive with the mapping operation, so sets specifying both are rejected. The lookup expression also rejects binding to state tables since it only deals with loopup and map operations. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 151d799a61da1b6f6b7e5116fb776177917bbe9a Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 10:46:40 2015 +0100 netfilter: nf_tables: mark stateful expressions Add a flag to mark stateful expressions. This is used for dynamic expression instanstiation to limit the usable expressions. Strictly speaking only the dynset expression can not be used in order to avoid recursion, but since dynamically instantiating non-stateful expressions will simply create an identical copy, which behaves no differently than the original, this limits to expressions where it actually makes sense to dynamically instantiate them. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f25ad2e907f110378159fe5e088aa13176faaa5b Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 10:46:39 2015 +0100 netfilter: nf_tables: prepare for expressions associated to set elements Preparation to attach expressions to set elements: add a set extension type to hold an expression and dump the expression information with the set element. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 0b2d8a7b638b5034d2d68f6add8af94daaa1d4cd Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 10:46:38 2015 +0100 netfilter: nf_tables: add helper functions for expression handling Add helper functions for initializing, cloning, dumping and destroying a single expression that is not part of a rule. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 24477e57412a7a7dea62637ac990bc5c1cff0665 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Apr 8 19:41:40 2015 +0200 uapi: ebtables: don't include linux/if.h linux/if.h creates conflicts in userspace with net/if.h By using it here we force userspace to use linux/if.h while net/if.h may be needed. Note that: include/linux/netfilter_ipv4/ip_tables.h and include/linux/netfilter_ipv6/ip6_tables.h don't include linux/if.h and they also refer to IFNAMSIZ, so they are expecting userspace to include use net/if.h from the client program. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7fd56474db326f7a6df0e2a4e3a9600cc083ab9b Merge: 49d2953 def7470 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 11:08:28 2015 -0700 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer updates from Ingo Molnar: "The main changes in this cycle were: - clockevents state machine cleanups and enhancements (Viresh Kumar) - clockevents broadcast notifier horror to state machine conversion and related cleanups (Thomas Gleixner, Rafael J Wysocki) - clocksource and timekeeping core updates (John Stultz) - clocksource driver updates and fixes (Ben Dooks, Dmitry Osipenko, Hans de Goede, Laurent Pinchart, Maxime Ripard, Xunlei Pang) - y2038 fixes (Xunlei Pang, John Stultz) - NMI-safe ktime_get_raw_fast() and general refactoring of the clock code, in preparation to perf's per event clock ID support (Peter Zijlstra) - generic sched/clock fixes, optimizations and cleanups (Daniel Thompson) - clockevents cpu_down() race fix (Preeti U Murthy)" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (94 commits) timers/PM: Drop unnecessary braces from tick_freeze() timers/PM: Fix up tick_unfreeze() timekeeping: Get rid of stale comment clockevents: Cleanup dead cpu explicitely clockevents: Make tick handover explicit clockevents: Remove broadcast oneshot control leftovers sched/idle: Use explicit broadcast oneshot control function ARM: Tegra: Use explicit broadcast oneshot control function ARM: OMAP: Use explicit broadcast oneshot control function intel_idle: Use explicit broadcast oneshot control function ACPI/idle: Use explicit broadcast control function ACPI/PAD: Use explicit broadcast oneshot control function x86/amd/idle, clockevents: Use explicit broadcast oneshot control functions clockevents: Provide explicit broadcast oneshot control functions clockevents: Remove the broadcast control leftovers ARM: OMAP: Use explicit broadcast control function intel_idle: Use explicit broadcast control function cpuidle: Use explicit broadcast control function ACPI/processor: Use explicit broadcast control function ACPI/PAD: Use explicit broadcast control function ... commit 3d0d26c7976bf190c3f1d2efbc31462db8246bc0 Author: Kenneth Klette Jonassen <kennetkl@xxxxxxxxxx> Date: Sat Apr 11 02:17:49 2015 +0200 tcp: fix bogus RTT for CC when retransmissions are acked Since retransmitted segments are not used for RTT estimation, previously SACKed segments present in the rtx queue are used. This estimation can be several times larger than the actual RTT. When a cumulative ack covers both previously SACKed and retransmitted segments, CC may thus get a bogus RTT. Such segments previously had an RTT estimation in tcp_sacktag_one(), so it seems reasonable to not reuse them in tcp_clean_rtx_queue() at all. Afaik, this has had no effect on SRTT/RTO because of Karn's check. Signed-off-by: Kenneth Klette Jonassen <kennetkl@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Tested-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49d2953c72c64182ef2dcac64f6979c0b4e25db7 Merge: cc76ee7 62a935b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 10:47:34 2015 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler changes from Ingo Molnar: "Major changes: - Reworked CPU capacity code, for better SMP load balancing on systems with assymetric CPUs. (Vincent Guittot, Morten Rasmussen) - Reworked RT task SMP balancing to be push based instead of pull based, to reduce latencies on large CPU count systems. (Steven Rostedt) - SCHED_DEADLINE support updates and fixes. (Juri Lelli) - SCHED_DEADLINE task migration support during CPU hotplug. (Wanpeng Li) - x86 mwait-idle optimizations and fixes. (Mike Galbraith, Len Brown) - sched/numa improvements. (Rik van Riel) - various cleanups" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits) sched/core: Drop debugging leftover trace_printk call sched/deadline: Support DL task migration during CPU hotplug sched/core: Check for available DL bandwidth in cpuset_cpu_inactive() sched/deadline: Always enqueue on previous rq when dl_task_timer() fires sched/core: Remove unused argument from init_[rt|dl]_rq() sched/deadline: Fix rt runtime corruption when dl fails its global constraints sched/deadline: Avoid a superfluous check sched: Improve load balancing in the presence of idle CPUs sched: Optimize freq invariant accounting sched: Move CFS tasks to CPUs with higher capacity sched: Add SD_PREFER_SIBLING for SMT level sched: Remove unused struct sched_group_capacity::capacity_orig sched: Replace capacity_factor by usage sched: Calculate CPU's usage statistic and put it into struct sg_lb_stats::group_usage sched: Add struct rq::cpu_capacity_orig sched: Make scale_rt invariant with frequency sched: Make sched entity usage tracking scale-invariant sched: Remove frequency scaling from cpu_capacity sched: Track group sched_entity usage contributions sched: Add sched_avg::utilization_avg_contrib ... commit 4577139b2dabf58973d59d157aae4ddd3bde863a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Apr 10 23:07:54 2015 +0200 net: use jump label patching for ingress qdisc in __netif_receive_skb_core Even if we make use of classifier and actions from the egress path, we're going into handle_ing() executing additional code on a per-packet cost for ingress qdisc, just to realize that nothing is attached on ingress. Instead, this can just be blinded out as a no-op entirely with the use of a static key. On input fast-path, we already make use of static keys in various places, e.g. skb time stamping, in RPS, etc. It makes sense to not waste time when we're assured that no ingress qdisc is attached anywhere. Enabling/disabling of that code path is being done via two helpers, namely net_{inc,dec}_ingress_queue(), that are being invoked under RTNL mutex when a ingress qdisc is being either initialized or destructed. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc76ee75a9d3201eeacc576d17fbc1511f673010 Merge: 9c65e12 58995a9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 10:27:28 2015 -0700 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull core locking changes from Ingo Molnar: "Main changes: - jump label asm preparatory work for PowerPC (Anton Blanchard) - rwsem optimizations and cleanups (Davidlohr Bueso) - mutex optimizations and cleanups (Jason Low) - futex fix (Oleg Nesterov) - remove broken atomicity checks from {READ,WRITE}_ONCE() (Peter Zijlstra)" * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: powerpc, jump_label: Include linux/jump_label.h to get HAVE_JUMP_LABEL define jump_label: Allow jump labels to be used in assembly jump_label: Allow asm/jump_label.h to be included in assembly locking/mutex: Further simplify mutex_spin_on_owner() locking: Remove atomicy checks from {READ,WRITE}_ONCE locking/rtmutex: Rename argument in the rt_mutex_adjust_prio_chain() documentation as well locking/rwsem: Fix lock optimistic spinning when owner is not running locking: Remove ACCESS_ONCE() usage locking/rwsem: Check for active lock before bailing on spinning locking/rwsem: Avoid deceiving lock spinners locking/rwsem: Set lock ownership ASAP locking/rwsem: Document barrier need when waking tasks locking/futex: Check PF_KTHREAD rather than !p->mm to filter out kthreads locking/mutex: Refactor mutex_spin_on_owner() locking/mutex: In mutex_spin_on_owner(), return true when owner changes commit 9c65e12a55fea2da50f4069ec0dc47c50b7bd2bb Merge: 67dbb3a 84a87c6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 10:22:30 2015 -0700 Merge branch 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull EFI update from Ingo Molnar: "This tree includes various fixes, cleanups, a new efi=debug boot option and EFI boot stub memory allocation optimizations" * 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: efi/libstub: Retrieve FDT size when loaded from UEFI config table efi: Clean up the efi_call_phys_[prolog|epilog]() save/restore interaction efi: Disable interrupts around EFI calls, not in the epilog/prolog calls x86/efi: Add a "debug" option to the efi= cmdline firmware: dmi_scan: Use direct access to static vars firmware: dmi_scan: Use full dmi version for SMBIOS3 commit dfc96c192ad48a16b0d5bba43165d9893a00fe37 Merge: cf89013 14ffbbb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 13 13:15:14 2015 -0400 Merge branch 'netdev_diet' Thomas Graf says: ==================== Bring sizeof(net_device) down to < 2K bytes The size of struct net_device crossed the 2K boundary a while ago which is a waste in combination with many net namespaces. This series brings the size of struct net_device down to well below 2K in total size with a typical configuration. Some reserves a several holes leave room for further expansion. Before: /* size: 2176, cachelines: 34, members: 121 */ After: /* size: 1984, cachelines: 31, members: 120 */ ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14ffbbb8dab670393a8718adb7b0a385b23fa7bc Author: Thomas Graf <tgraf@xxxxxxx> Date: Fri Apr 10 15:52:38 2015 +0200 net_device: Reorder members to fill holes Some trivial reorders while preserving the RX/TX cache lines split to fill a couple of holes. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2c6544829f8df396a0a233c86d5ee78f405ffef Author: Thomas Graf <tgraf@xxxxxxx> Date: Fri Apr 10 15:52:37 2015 +0200 e1000e: Move pm_qos_req to e1000e adapter e1000e is the only driver requiring pm_qos_req, instead of causing every device to waste up to 240 bytes. Allocate it for the specific driver. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67dbb3a099d0fe04df5974edddc0b8c64a9f7529 Merge: 9003601 47d6897 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 10:11:18 2015 -0700 Merge tag 'md/4.0-rc7-fix' of git://neil.brown.name/md Pull md fixes from Neil Brown: "Two regression fixes for md, one fairly recent and minor (diskstats has confusing data) and one older and more serious - RAID0 with non-power-of-2 chunksize corrupts data. I guess (almost) no-one uses non-power-of-2 chunks. Summary: - Revert recent change which broke IO accounting. - Fix bug with RAID0 arrays with non-power-of-2 chunk size" * tag 'md/4.0-rc7-fix' of git://neil.brown.name/md: md/raid0: fix bug with chunksize not a power of 2. md: fix md io stats accounting broken commit cf890138087a6da2f56a642acb80476370b04332 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Apr 13 15:20:37 2015 +0200 selinux/nlmsg: add a build time check for rtnl/xfrm cmds When a new rtnl or xfrm command is added, this part of the code is frequently missing. Let's help the developer with a build time test. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 940db9e654dab0cb68b5b9ec52f627945807aac9 Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Tue Mar 24 18:31:22 2015 +0300 avr32: fix integer overflow in ELF_ET_DYN_BASE Almost all arches define ELF_ET_DYN_BASE as 2/3 of TASK_SIZE. Though it seems that some architectures do this in a wrong way. The problem is that 2*TASK_SIZE may overflow 32-bits so the real ELF_ET_DYN_BASE becomes wrong. Fix this overflow by dividing TASK_SIZE prior to multiplying: (TASK_SIZE / 3 * 2) Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> commit 900360131066f192c82311a098d03d6ac6429e20 Merge: 4541fec ca3f087 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 09:47:01 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull KVM updates from Paolo Bonzini: "First batch of KVM changes for 4.1 The most interesting bit here is irqfd/ioeventfd support for ARM and ARM64. Summary: ARM/ARM64: fixes for live migration, irqfd and ioeventfd support (enabling vhost, too), page aging s390: interrupt handling rework, allowing to inject all local interrupts via new ioctl and to get/set the full local irq state for migration and introspection. New ioctls to access memory by virtual address, and to get/set the guest storage keys. SIMD support. MIPS: FPU and MIPS SIMD Architecture (MSA) support. Includes some patches from Ralf Baechle's MIPS tree. x86: bugfixes (notably for pvclock, the others are small) and cleanups. Another small latency improvement for the TSC deadline timer" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (146 commits) KVM: use slowpath for cross page cached accesses kvm: mmu: lazy collapse small sptes into large sptes KVM: x86: Clear CR2 on VCPU reset KVM: x86: DR0-DR3 are not clear on reset KVM: x86: BSP in MSR_IA32_APICBASE is writable KVM: x86: simplify kvm_apic_map KVM: x86: avoid logical_map when it is invalid KVM: x86: fix mixed APIC mode broadcast KVM: x86: use MDA for interrupt matching kvm/ppc/mpic: drop unused IRQ_testbit KVM: nVMX: remove unnecessary double caching of MAXPHYADDR KVM: nVMX: checks for address bits beyond MAXPHYADDR on VM-entry KVM: x86: cache maxphyaddr CPUID leaf in struct kvm_vcpu KVM: vmx: pass error code with internal error #2 x86: vdso: fix pvclock races with task migration KVM: remove kvm_read_hva and kvm_read_hva_atomic KVM: x86: optimize delivery of TSC deadline timer interrupt KVM: x86: extract blocking logic from __vcpu_run kvm: x86: fix x86 eflags fixed bit KVM: s390: migrate vcpu interrupt state ... commit 4541fec3104bef0c60633f9e180be94ea5ccc2b7 Merge: 39a8804 2bfd4d1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 13 08:59:21 2015 -0700 Merge tag 'linux-kselftest-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest updates from Shuah Khan: "This is a milestone update in a sense. Several new tests and install and packaging support is added in this update. This update adds install and packaging tools developed on top of back-end shared logic enhancemnets to run and install tests. In addition several timer tests are added. - New timer tests from John Stultz - rtc test from Prarit Bhargava - Enhancements to un and install tests from Michael Ellerman - Install and packaging tools from Shuah Khan - Cross-compilation enablement from Tyler Baker - A couple of bug fixes" * tag 'linux-kselftest-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (42 commits) ftracetest: Do not use usleep directly selftest/mqueue: enable cross compilation selftest/ipc: enable cross compilation selftest/memfd: include default header install path selftest/mount: enable cross compilation selftest/memfd: enable cross compilation kselftests: timers: Make set-timer-lat fail more gracefully for !CAP_WAKE_ALARM selftests: Change memory on-off-test.sh name to be unique selftests: change cpu on-off-test.sh name to be unique selftests/mount: Make git ignore all binaries in mount test suite kselftests: timers: Reduce default runtime on inconsistency-check and set-timer-lat ftracetest: Convert exit -1 to exit $FAIL ftracetest: Cope properly with stack tracer not being enabled tools, update rtctest.c to verify passage of time Documentation, split up rtc.txt into documentation and test file selftests: Add tool to generate kselftest tar archive selftests: Add kselftest install tool selftests: Set CC using CROSS_COMPILE once in lib.mk selftests: Add install support for the powerpc tests selftests/timers: Use shared logic to run and install tests ... commit 49ecb10e01c68b05dcb73005a54430c15caa05d0 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Mar 31 17:37:00 2015 +0200 drm/radeon: allow creating overlapping userptrs Similar to the Intel implementation, but instead of just falling back to a global linear list when we have an overlapping userptr request we accumulate all overlapping userptrs in a local list. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c6a1fc725a847b75be9bd0d1e91d0e1c529ad93f Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Mar 31 17:36:59 2015 +0200 drm/radeon: add userptr config option This allows selecting CONFIG_MMU_NOTIFIER if it isn't already selected. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7d7402642eaf385aef0772eff5a35e34fc4995d7 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:39 2015 +0100 netfilter: nf_tables: variable sized set element keys / data This patch changes sets to support variable sized set element keys / data up to 64 bytes each by using variable sized set extensions. This allows to use concatenations with bigger data items suchs as IPv6 addresses. As a side effect, small keys/data now don't require the full 16 bytes of struct nft_data anymore but just the space they need. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d0a11fc3dc4ab4c717642c9c15c8ad1cbc00d2ec Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:38 2015 +0100 netfilter: nf_tables: support variable sized data in nft_data_init() Add a size argument to nft_data_init() and pass in the available space. This will be used by the following patches to support variable sized set element data. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 49499c3e6e18b7677a63316f3ff54a16533dc28f Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:37 2015 +0100 netfilter: nf_tables: switch registers to 32 bit addressing Switch the nf_tables registers from 128 bit addressing to 32 bit addressing to support so called concatenations, where multiple values can be concatenated over multiple registers for O(1) exact matches of multiple dimensions using sets. The old register values are mapped to areas of 128 bits for compatibility. When dumping register numbers, values are expressed using the old values if they refer to the beginning of a 128 bit area for compatibility. To support concatenations, register loads of less than a full 32 bit value need to be padded. This mainly affects the payload and exthdr expressions, which both unconditionally zero the last word before copying the data. Userspace fully passes the testsuite using both old and new register addressing. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b1c96ed37ceeef5573402d4af202897edaf1e4b8 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:36 2015 +0100 netfilter: nf_tables: add register parsing/dumping helpers Add helper functions to parse and dump register values in netlink attributes. These helpers will later be changed to take care of translation between the old 128 bit and the new 32 bit register numbers. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8cd8937ac0d68435b4ca9bd3c987c3cfea269b4f Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:35 2015 +0100 netfilter: nf_tables: convert sets to u32 data pointers Simple conversion to use u32 pointers to the beginning of the data area to keep follow up patches smaller. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e562d860d7c8ad28f83dc4c9094fd3ae648ea0d6 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:34 2015 +0100 netfilter: nf_tables: kill nft_data_cmp() Only needlessly complicates things due to requiring specific argument types. Use memcmp directly. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit fad136ea0d32ead1f62e3e2a3d436c26d74e5289 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:33 2015 +0100 netfilter: nf_tables: convert expressions to u32 register pointers Simple conversion to use u32 pointers to the beginning of the registers to keep follow up patches smaller. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1ca2e1702c050aff352cb3efc8a649363dbaeab2 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:32 2015 +0100 netfilter: nf_tables: use struct nft_verdict within struct nft_data Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a55e22e92f1a31018e6dc8fce35380900f022c24 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:31 2015 +0100 netfilter: nf_tables: get rid of NFT_REG_VERDICT usage Replace the array of registers passed to expressions by a struct nft_regs, containing the verdict as a seperate member, which aliases to the NFT_REG_VERDICT register. This is needed to seperate the verdict from the data registers completely, so their size can be changed. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e082f56313f374d723b0366978ddb062c8fe79ea Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:28 2015 +0800 btrfs: quota: Update quota tree after qgroup relationship change. Previous patch modified the in memory struct but it's not written in quota tree until next commit. So user will still get old data using "btrfs qgroup show" after assign/remove. This patch will call btrfs_run_qgroups in assign ioctl so it will be updated to in memory quota trees and user will get up-to-date results. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 9c8b35b1ba21bbf7527056f394aa6109424c55ef Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:27 2015 +0800 btrfs: quota: Automatically update related qgroups or mark INCONSISTENT flags when assigning/deleting a qgroup relations. Operation like qgroups assigning/deleting qgroup relations will mostly cause qgroup data inconsistent, since it needs to do the full rescan to determine whether shared extents are exclusive or still shared in parent qgroups. But there are some exceptions, like qgroup with only exclusive extents (qgroup->excl == qgroup->rfer), in that case, we only needs to modify all its parents' excl and rfer. So this patch adds a quick path for such qgroup in qgroup assign/remove routine, and if quick path failed, the qgroup status will be marked INCONSISTENT, and return 1 to info user-land. BTW since the quick path is much the same of qgroup_excl_accounting(), so move the core of it to __qgroup_excl_accounting() and reuse it. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8ea0ec9e011eb542a3e7b1171776aa4877cf8a90 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:26 2015 +0800 btrfs: qgroup: clear STATUS_FLAG_ON in disabling quota. we forgot to clear STATUS_FLAG_ON in quota_disable(), it will cause a problem shown as below: # mount /dev/sdc /mnt # btrfs quota enable /mnt # btrfs quota disable /mnt # btrfs quota rescan /mnt quota rescan started <--- expecting it fail here. # echo $? 0 Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 53b7cde9d5aa58cf7605664f0e34419156b02698 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:25 2015 +0800 btrfs: Update btrfs qgroup status item when rescan is done. Update qgroup status when rescan is done. Before this patch, status item is not updated on rescan finish, which causing the RESCAN and INCONSISTENT flags never cleared. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3393168d22fd5f1be5b5429a818c10f642e88ae3 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:24 2015 +0800 btrfs: qgroup: Fix dead judgement on qgroup_rescan_leaf() return value. Old qgroup_rescan_leaf() comment indicates ret == 2 as complete and cleared INCONSISTENT flag. This is not true since it will never return 2, and inside it no codes will clear INCONSISTENT flag. The flag clearance is done in btrfs_qgroup_rescan_work(). This caused the bug that INCONSISTENT flag is never cleared. So change the comment and fix the dead judgment. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e09fe2d2119800e6060f9b8ba71e072a0eb0fa4d Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:23 2015 +0800 btrfs: Don't allow subvolid >= (1 << BTRFS_QGROUP_LEVEL_SHIFT) to be created Btrfs will create qgroup on subvolume creation if quota is enabled, but qgroup uses the high bits(currently 16 bits) as level, to build the inheritance. However it is fully possible a subvolume can be created with a subvolumeid larger than 1 << BTRFS_QGROUP_LEVEL_SHIFT, so it will be considered as level 1 and can't be assigned to other qgroup in level 1. This patch will prevent such things so qgroup inheritance will not be screwed up. The downside is very clear, btrfs subvolume number limit will decrease from (u64 max - 256(fisrt free objectid) - 256(last free objectid)) to (u48 max -256(first free objectid)). But we still have near u48(that's 15 digits in dec), so that should not be a huge problem. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8465ecec9611d60cbbc8e374ecf68453e0dd5b50 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:24:22 2015 +0800 btrfs: Check qgroup level in kernel qgroup assign. Although we have qgroup level check in btrfs-progs, it's not enough since other programe may still call ioctl directly not using btrfs-progs. For example, systemd. But it's btrfs-progs to be blame since we don't provide a full-function(like subvolume create things) btrfs library with enough check, and only rely on kernel ioctl. So Add level checks in kernel too. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f5a6b1c53bdd44f79e3904c0f5e59f956b49b2c8 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Mon Nov 24 10:27:09 2014 -0500 btrfs: qgroup: allow to remove qgroup which has parent but no child. When a qgroup has parents but no child, it should be removable in Theory I think. But currently, we can not remove it when it has either parent or child. Example: # btrfs quota enable /mnt # btrfs qgroup create 1/0 /mnt # btrfs qgroup create 2/0 /mnt # btrfs qgroup assign 1/0 2/0 /mnt # btrfs qgroup show -pcre /mnt qgroupid rfer excl max_rfer max_excl parent child -------- ---- ---- -------- -------- ------ ----- 0/5 16384 16384 0 0 --- --- 1/0 0 0 0 0 2/0 --- 2/0 0 0 0 0 --- 1/0 At this time, there is no subvol or qgroup depending on it. Just a qgroup 2/0 is its parent, but 2/0 can work well without 1/0. So I think 1/0 should be removalbe. But: # btrfs qgroup destroy 1/0 /mnt ERROR: unable to destroy quota group: Device or resource busy This patch remove the check of qgroup->parent in removing it, then we can remove a qgroup when it has a parent. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 09870d2772b284d0061a5e4d1e1cdf6fb6764344 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Tue Nov 11 07:18:22 2014 -0500 btrfs: qgroup: return EINVAL if level of parent is not higher than child's. When we create a subvol inheriting a qgroup, we need to check the level of them. Otherwise, there is a chance a qgroup can inherit another qgroup at the same level. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e2d1f92399afb6ec518b68867ed10db2585b283a Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Fri Feb 6 10:26:52 2015 -0500 btrfs: qgroup: do a reservation in a higher level. There are two problems in qgroup: a). The PAGE_CACHE is 4K, even when we are writing a data of 1K, qgroup will reserve a 4K size. It will cause the last 3K in a qgroup is not available to user. b). When user is writing a inline data, qgroup will not reserve it, it means this is a window we can exceed the limit of a qgroup. The main idea of this patch is reserving the data size of write_bytes rather than the reserve_bytes. It means qgroup will not care about the data size btrfs will reserve for user, but only care about the data size user is going to write. Then reserve it when user want to write and release it in transaction committed. In this way, qgroup can be released from the complex procedure in btrfs and only do the reserve when user want to write and account when the data is written in commit_transaction(). Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 237c0e9f1fbfdca7287f3539f1fa73e5063156b5 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Mon Dec 29 06:23:05 2014 -0500 Btrfs: qgroup, Account data space in more proper timings. Currenly, in data writing, ->reserved is accounted in fill_delalloc(), but ->may_use is released in clear_bit_hook() which is called by btrfs_finish_ordered_io(). That's too late, that said, between fill_delalloc() and btrfs_finish_ordered_io(), the data is doublely accounted by qgroup. It will cause some unexpected -EDQUOT. Example: # btrfs quota enable /root/btrfs-auto-test/ # btrfs subvolume create /root/btrfs-auto-test//sub Create subvolume '/root/btrfs-auto-test/sub' # btrfs qgroup limit 1G /root/btrfs-auto-test//sub dd if=/dev/zero of=/root/btrfs-auto-test//sub/file bs=1024 count=1500000 dd: error writing '/root/btrfs-auto-test//sub/file': Disk quota exceeded 681353+0 records in 681352+0 records out 697704448 bytes (698 MB) copied, 8.15563 s, 85.5 MB/s It's (698 MB) when we got an -EDQUOT, but we limit it by 1G. This patch move the btrfs_qgroup_reserve/free() for data from btrfs_delalloc_reserve/release_metadata() to btrfs_check_data_free_space() and btrfs_free_reserved_data_space(). Then the accounter in qgroup will be updated at the same time with the accounter in space_info updated. In this way, the unexpected -EDQUOT will be killed. Reported-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 31193213f1f9c13f6485007ef1e233b119e46910 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Fri Dec 12 16:44:35 2014 +0800 Btrfs: qgroup: Introduce a may_use to account space_info->bytes_may_use. Currently, for pre_alloc or delay_alloc, the bytes will be accounted in space_info by the three guys. space_info->bytes_may_use --- space_info->reserved --- space_info->used. But on the other hand, in qgroup, there are only two counters to account the bytes, qgroup->reserved and qgroup->excl. And qg->reserved accounts bytes in space_info->bytes_may_use and qg->excl accounts bytes in space_info->used. So the bytes in space_info->reserved is not accounted in qgroup. If so, there is a window we can exceed the quota limit when bytes is in space_info->reserved. Example: # btrfs quota enable /mnt # btrfs qgroup limit -e 10M /mnt # for((i=0;i<20;i++));do fallocate -l 1M /mnt/data$i; done # sync # btrfs qgroup show -pcre /mnt qgroupid rfer excl max_rfer max_excl parent child -------- ---- ---- -------- -------- ------ ----- 0/5 20987904 20987904 0 10485760 --- --- qg->excl is 20987904 larger than max_excl 10485760. This patch introduce a new counter named may_use to qgroup, then there are three counters in qgroup to account bytes in space_info as below. space_info->bytes_may_use --- space_info->reserved --- space_info->used. qgroup->may_use --- qgroup->reserved --- qgroup->excl With this patch applied: # btrfs quota enable /mnt # btrfs qgroup limit -e 10M /mnt # for((i=0;i<20;i++));do fallocate -l 1M /mnt/data$i; done fallocate: /mnt/data9: fallocate failed: Disk quota exceeded fallocate: /mnt/data10: fallocate failed: Disk quota exceeded fallocate: /mnt/data11: fallocate failed: Disk quota exceeded fallocate: /mnt/data12: fallocate failed: Disk quota exceeded fallocate: /mnt/data13: fallocate failed: Disk quota exceeded fallocate: /mnt/data14: fallocate failed: Disk quota exceeded fallocate: /mnt/data15: fallocate failed: Disk quota exceeded fallocate: /mnt/data16: fallocate failed: Disk quota exceeded fallocate: /mnt/data17: fallocate failed: Disk quota exceeded fallocate: /mnt/data18: fallocate failed: Disk quota exceeded fallocate: /mnt/data19: fallocate failed: Disk quota exceeded # sync # btrfs qgroup show -pcre /mnt qgroupid rfer excl max_rfer max_excl parent child -------- ---- ---- -------- -------- ------ ----- 0/5 9453568 9453568 0 10485760 --- --- Reported-by: Cyril SCETBON <cyril.scetbon@xxxxxxx> Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 804ca127fb93988c6a9d5f2bf4a8f1a780c9a2d0 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Fri Dec 12 16:44:34 2014 +0800 Btrfs: qgroup: free reserved in exceeding quota. When we exceed quota limit in writing, we will free some reserved extent when we need to drop but not free account in qgroup. It means, each time we exceed quota in writing, there will be some remain space in qg->reserved we can not use any more. If things go on like this, the all space will be ate up. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4087cf24ae2af17f7dd9fd34e22fde816952d421 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Sun Jan 18 10:59:23 2015 -0500 Btrfs: qgroup: cleanup, remove an unsued parameter in btrfs_create_qgroup(). Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 03477d945f13a284d35a757b2c2323d165d5cd81 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Fri Feb 6 11:06:25 2015 -0500 btrfs: qgroup: fix limit args override whole limit struct btrfs_limit_group use arg limit to override the old qgroup_limit of corresponding qgroup. However, we should override part of old qgroup_limit according to the bit which has been set in arg limit. Signed-off-by: Fan Chengniang <fancn.fnst@xxxxxxxxxxxxxx> Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d3001ed3a82ec2696bb13c78092d0a3460003fd7 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Nov 20 21:04:56 2014 -0500 btrfs: qgroup: update limit info in function btrfs_run_qgroups(). When we commit_transaction(), qgroups in btree should be updated. But, limit info is not considered currently. It will cause a problem when a qgroup of a snapshot inherit the limit info from srcqgroup, then there is an inconsistency. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1510e71c620c27ffc7540176a0689f70d6915e28 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Nov 20 21:01:41 2014 -0500 btrfs: qgroup: consolidate the parameter of fucntion update_qgroup_limit_item(). Cleanup: Change the parameter of update_qgroup_limit_item() to the family of update_qgroup_xxx_item(). Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e8c8541ac379709db8d2339e1cb720469fc2cd8f Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Nov 20 20:58:34 2014 -0500 btrfs: qgroup: update qgroup in memory at the same time when we update it in btree. When we call btrfs_qgroup_inherit() with BTRFS_QGROUP_INHERIT_SET_LIMITS, btrfs will update the limit info of qgroup in btree but forget to update the qgroup in rbtree at the same time. It obviousely will cause an inconsistency. This patch fix it by updating the rbtree at the same time. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3eeb4d597efc9e068902057f1bd040cffc69e9e6 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Nov 20 20:14:38 2014 -0500 btrfs: qgroup: inherit limit info from srcgroup in creating snapshot. Currently, when we snapshot a subvol, snapshot will not copy the limits from srcqgroup. This patch make the qgroup in snapshot inherit the limit info when create a snapshot. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0d68bc92c48167130b61b449f08be27dc862dba2 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Apr 6 14:36:10 2015 +0900 perf kmem: Analyze page allocator events also The perf kmem command records and analyze kernel memory allocation only for SLAB objects. This patch implement a simple page allocator analyzer using kmem:mm_page_alloc and kmem:mm_page_free events. It adds two new options of --slab and --page. The --slab option is for analyzing SLAB allocator and that's what perf kmem currently does. The new --page option enables page allocator events and analyze kernel memory usage in page unit. Currently, 'stat --alloc' subcommand is implemented only. If none of these --slab nor --page is specified, --slab is implied. First run 'perf kmem record' to generate a suitable perf.data file: # perf kmem record --page sleep 5 Then run 'perf kmem stat' to postprocess the perf.data file: # perf kmem stat --page --alloc --line 10 ------------------------------------------------------------------------------- PFN | Total alloc (KB) | Hits | Order | Mig.type | GFP flags ------------------------------------------------------------------------------- 4045014 | 16 | 1 | 2 | RECLAIM | 00285250 4143980 | 16 | 1 | 2 | RECLAIM | 00285250 3938658 | 16 | 1 | 2 | RECLAIM | 00285250 4045400 | 16 | 1 | 2 | RECLAIM | 00285250 3568708 | 16 | 1 | 2 | RECLAIM | 00285250 3729824 | 16 | 1 | 2 | RECLAIM | 00285250 3657210 | 16 | 1 | 2 | RECLAIM | 00285250 4120750 | 16 | 1 | 2 | RECLAIM | 00285250 3678850 | 16 | 1 | 2 | RECLAIM | 00285250 3693874 | 16 | 1 | 2 | RECLAIM | 00285250 ... | ... | ... | ... | ... | ... ------------------------------------------------------------------------------- SUMMARY (page allocator) ======================== Total allocation requests : 44,260 [ 177,256 KB ] Total free requests : 117 [ 468 KB ] Total alloc+freed requests : 49 [ 196 KB ] Total alloc-only requests : 44,211 [ 177,060 KB ] Total free-only requests : 68 [ 272 KB ] Total allocation failures : 0 [ 0 KB ] Order Unmovable Reclaimable Movable Reserved CMA/Isolated ----- ------------ ------------ ------------ ------------ ------------ 0 32 . 44,210 . . 1 . . . . . 2 . 18 . . . 3 . . . . . 4 . . . . . 5 . . . . . 6 . . . . . 7 . . . . . 8 . . . . . 9 . . . . . 10 . . . . . Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1428298576-9785-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9fdd8a875c6f3b02af48d5fa426206ca009b2b06 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Apr 6 14:36:09 2015 +0900 tracing, mm: Record pfn instead of pointer to struct page The struct page is opaque for userspace tools, so it'd be better to save pfn in order to identify page frames. The textual output of $debugfs/tracing/trace file remains unchanged and only raw (binary) data format is changed - but thanks to libtraceevent, userspace tools which deal with the raw data (like perf and trace-cmd) can parse the format easily. So impact on the userspace will also be minimal. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Based-on-patch-by: Joonsoo Kim <js1304@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1428298576-9785-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c99f1b0c6c45d1621f08afb1352689e24a627844 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Mar 2 19:32:20 2015 +0800 btrfs: Support busy loop of write and delete Reproduce: while true; do dd if=/dev/zero of=/mnt/btrfs/file count=[75% fs_size] rm /mnt/btrfs/file done Then we can see above loop failed on NO_SPACE. It it long-term problem since very beginning, because delayed-iput after rm are not run. We already have commit_transaction() in alloc_space code, but it is not triggered in above case. This patch trigger commit_transaction() to run delayed-iput and reflash pinned-space to to make write success. It is based on previous fix of delayed-iput in commit_transaction(), need to be applied on top of: btrfs: Fix NO_SPACE bug caused by delayed-iput Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d7c151717a1efe289aec29fb9f94485f64262c0b Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Feb 26 10:49:20 2015 +0800 btrfs: Fix NO_SPACE bug caused by delayed-iput Steps to reproduce: while true; do dd if=/dev/zero of=/btrfs_dir/file count=[fs_size * 75%] rm /btrfs_dir/file sync done And we'll see dd failed because btrfs return NO_SPACE. Reason: Normally, btrfs_commit_transaction() call btrfs_run_delayed_iputs() in end to free fs space for next write, but sometimes it hadn't done work on time, because btrfs-cleaner thread get delayed-iputs from list before, but do iput() after next write. This is log: [ 2569.050776] comm=btrfs-cleaner func=btrfs_evict_inode() begin [ 2569.084280] comm=sync func=btrfs_commit_transaction() call btrfs_run_delayed_iputs() [ 2569.085418] comm=sync func=btrfs_commit_transaction() done btrfs_run_delayed_iputs() [ 2569.087554] comm=sync func=btrfs_commit_transaction() end [ 2569.191081] comm=dd begin [ 2569.790112] comm=dd func=__btrfs_buffered_write() ret=-28 [ 2569.847479] comm=btrfs-cleaner func=add_pinned_bytes() 0 + 32677888 = 32677888 [ 2569.849530] comm=btrfs-cleaner func=add_pinned_bytes() 32677888 + 23834624 = 56512512 ... [ 2569.903893] comm=btrfs-cleaner func=add_pinned_bytes() 943976448 + 21762048 = 965738496 [ 2569.908270] comm=btrfs-cleaner func=btrfs_evict_inode() end Fix: Make btrfs_commit_transaction() wait current running btrfs-cleaner's delayed-iputs() done in end. Test: Use script similar to above(more complex), before patch: 7 failed in 100 * 20 loop. after patch: 0 failed in 100 * 20 loop. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 18d018ad2c899d3d9c503c25125d56046ed7d3ca Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Feb 24 20:07:44 2015 +0800 btrfs: add WARN_ON() to check is space_info op current space_info's value calculation is some complex and easy to cause bug, add WARN_ON() to help debug. Changelog v1->v2: Put WARN_ON()s under the ENOSPC_DEBUG mount option. Suggested by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c30666d466c70a30491e45dd8d068360f9dd7693 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Feb 25 14:17:20 2015 +0800 btrfs: Set relative data on clear btrfs_block_group_cache->pinned Bug1: space_info->bytes_readonly was set to very large(negative) value in btrfs_remove_block_group(). Reason: Current code set block_group_cache->pinned = 0 in btrfs_delete_unused_bgs(), but above space was not counted to space_info->bytes_readonly. Then in btrfs_remove_block_group(): block_group->space_info->bytes_readonly -= block_group->key.offset; We can see following value in trace: btrfs_remove_block_group: pid=2677 comm=btrfs-cleaner WARNING: bytes_readonly=12582912, key.offset=134217728 Bug2: space_info->total_bytes_pinned grow to value larger than fs size. In a 1.2G fs, we can get following trace log: at first: ZL_DEBUG: add_pinned_bytes: pid=2710 comm=sync change total_bytes_pinned flags=1 869793792 + 95944704 = 965738496 after some op: ZL_DEBUG: add_pinned_bytes: pid=2770 comm=sync change total_bytes_pinned flags=1 1780178944 + 95944704 = 1876123648 after some op: ZL_DEBUG: add_pinned_bytes: pid=3193 comm=sync change total_bytes_pinned flags=1 2924568576 + 95551488 = 3020120064 ... Reason: Similar to bug1, we also need to adjust space_info->total_bytes_pinned in above code block. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 264ca0f60becac34395f3b42171ad0cc2e53ea6e Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Feb 17 17:25:51 2015 +0800 btrfs: Adjust commit-transaction condition to avoid NO_SPACE more If we have any chance to make a successful write, we should not give up. This patch adjust commit-transaction condition from: pinned >= wanted to left + pinned >= wanted Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f2ab76188ec185dde84e7fe7c533ef2f5d668a32 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Feb 16 18:52:17 2015 +0800 btrfs: Fix tail space processing in find_free_dev_extent() It is another reason for NO_SPACE case. When we found enough free space in loop and saved them to max_hole_start/size before, and tail space contains pending extent, origional innocent max_hole_start/size are reset in retry. As a result, find_free_dev_extent() returns less space than it can, and cause NO_SPACE in user program. Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 94b947b2f3f84f3bba25d34c4e2a229fc2276830 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Sat Feb 14 13:23:45 2015 +0800 btrfs: fix condition of commit transaction Old code bypass commit transaction when we don't have enough pinned space, but another case is there exist freed bgs in current transction, it have possibility to make alloc_chunk success. This patch modify the condition to: if (have_free_bg || have_pinned_space) commit_transaction() Confirmed above action by printk before and after patch. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d07db9884a5fba8c8020166c86183c79a18d066a Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:30 2015 +0100 netfilter: nf_tables: introduce nft_validate_register_load() Change nft_validate_input_register() to not only validate the input register number, but also the length of the load, and rename it to nft_validate_register_load() to reflect that change. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 27e6d2017abdfbdb8b790c34c93d65ee10ce2fc5 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:29 2015 +0100 netfilter: nf_tables: kill nft_validate_output_register() All users of nft_validate_register_store() first invoke nft_validate_output_register(). There is in fact no use for using it on its own, so simplify the code by folding the functionality into nft_validate_register_store() and kill it. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 58f40ab6e2427532881a79e139a4aaae7fbe1826 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:28 2015 +0100 netfilter: nft_lookup: use nft_validate_register_store() to validate types In preparation of validating the length of a register store, use nft_validate_register_store() in nft_lookup instead of open coding the validation. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1ec10212f9bc62645932b0ca39bab0eb57d5331a Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:27 2015 +0100 netfilter: nf_tables: rename nft_validate_data_load() The existing name is ambiguous, data is loaded as well when we read from a register. Rename to nft_validate_register_store() for clarity and consistency with the upcoming patch to introduce its counterpart, nft_validate_register_load(). Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 45d9bcda21f4c13be75e3571b0f0ef39e77934b5 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Apr 11 02:27:26 2015 +0100 netfilter: nf_tables: validate len in nft_validate_data_load() For values spanning multiple registers, we need to validate that enough space is available from the destination register onwards. Add a len argument to nft_validate_data_load() and consolidate the existing length validations in preparation of that. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit de249e66a73d696666281cd812087979c6fae552 Author: Chris Mason <clm@xxxxxx> Date: Sat Apr 11 05:09:06 2015 -0700 Btrfs: fix uninit variable in clone ioctl Commit 0d97a64e0 creates a new variable but doesn't always set it up. This puts it back to the original method (key.offset + 1) for the cases not covered by Filipe's new logic. Signed-off-by: Chris Mason <clm@xxxxxx> commit 3e20a26b02bd4f24945c87407df51948dd488620 Merge: 98b0429 5306a54 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Apr 13 16:03:32 2015 +0200 Merge branch '4.0-fixes' into mips-for-linux-next commit ccccf3d67294714af2d72a6fd6fd7d73b01c9329 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Mar 30 18:23:59 2015 +0100 Btrfs: fix inode eviction infinite loop after cloning into it If we attempt to clone a 0 length region into a file we can end up inserting a range in the inode's extent_io tree with a start offset that is greater then the end offset, which triggers immediately the following warning: [ 3914.619057] WARNING: CPU: 17 PID: 4199 at fs/btrfs/extent_io.c:435 insert_state+0x4b/0x10b [btrfs]() [ 3914.620886] BTRFS: end < start 4095 4096 (...) [ 3914.638093] Call Trace: [ 3914.638636] [<ffffffff81425fd9>] dump_stack+0x4c/0x65 [ 3914.639620] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb [ 3914.640789] [<ffffffffa03ca44f>] ? insert_state+0x4b/0x10b [btrfs] [ 3914.642041] [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48 [ 3914.643236] [<ffffffffa03ca44f>] insert_state+0x4b/0x10b [btrfs] [ 3914.644441] [<ffffffffa03ca729>] __set_extent_bit+0x107/0x3f4 [btrfs] [ 3914.645711] [<ffffffffa03cb256>] lock_extent_bits+0x65/0x1bf [btrfs] [ 3914.646914] [<ffffffff8142b2fb>] ? _raw_spin_unlock+0x28/0x33 [ 3914.648058] [<ffffffffa03cbac4>] ? test_range_bit+0xcc/0xde [btrfs] [ 3914.650105] [<ffffffffa03cb3c3>] lock_extent+0x13/0x15 [btrfs] [ 3914.651361] [<ffffffffa03db39e>] lock_extent_range+0x3d/0xcd [btrfs] [ 3914.652761] [<ffffffffa03de1fe>] btrfs_ioctl_clone+0x278/0x388 [btrfs] [ 3914.654128] [<ffffffff811226dd>] ? might_fault+0x58/0xb5 [ 3914.655320] [<ffffffffa03e0909>] btrfs_ioctl+0xb51/0x2195 [btrfs] (...) [ 3914.669271] ---[ end trace 14843d3e2e622fc1 ]--- This later makes the inode eviction handler enter an infinite loop that keeps dumping the following warning over and over: [ 3915.117629] WARNING: CPU: 22 PID: 4228 at fs/btrfs/extent_io.c:435 insert_state+0x4b/0x10b [btrfs]() [ 3915.119913] BTRFS: end < start 4095 4096 (...) [ 3915.137394] Call Trace: [ 3915.137913] [<ffffffff81425fd9>] dump_stack+0x4c/0x65 [ 3915.139154] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb [ 3915.140316] [<ffffffffa03ca44f>] ? insert_state+0x4b/0x10b [btrfs] [ 3915.141505] [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48 [ 3915.142709] [<ffffffffa03ca44f>] insert_state+0x4b/0x10b [btrfs] [ 3915.143849] [<ffffffffa03ca729>] __set_extent_bit+0x107/0x3f4 [btrfs] [ 3915.145120] [<ffffffffa038c1e3>] ? btrfs_kill_super+0x17/0x23 [btrfs] [ 3915.146352] [<ffffffff811548f6>] ? deactivate_locked_super+0x3b/0x50 [ 3915.147565] [<ffffffffa03cb256>] lock_extent_bits+0x65/0x1bf [btrfs] [ 3915.148785] [<ffffffff8142b7e2>] ? _raw_write_unlock+0x28/0x33 [ 3915.149931] [<ffffffffa03bc325>] btrfs_evict_inode+0x196/0x482 [btrfs] [ 3915.151154] [<ffffffff81168904>] evict+0xa0/0x148 [ 3915.152094] [<ffffffff811689e5>] dispose_list+0x39/0x43 [ 3915.153081] [<ffffffff81169564>] evict_inodes+0xdc/0xeb [ 3915.154062] [<ffffffff81154418>] generic_shutdown_super+0x49/0xef [ 3915.155193] [<ffffffff811546d1>] kill_anon_super+0x13/0x1e [ 3915.156274] [<ffffffffa038c1e3>] btrfs_kill_super+0x17/0x23 [btrfs] (...) [ 3915.167404] ---[ end trace 14843d3e2e622fc2 ]--- So just bail out of the clone ioctl if the length of the region to clone is zero, without locking any extent range, in order to prevent this issue (same behaviour as a pwrite with a 0 length for example). This is trivial to reproduce. For example, the steps for the test I just made for fstests: mkfs.btrfs -f SCRATCH_DEV mount SCRATCH_DEV $SCRATCH_MNT touch $SCRATCH_MNT/foo touch $SCRATCH_MNT/bar $CLONER_PROG -s 0 -d 4096 -l 0 $SCRATCH_MNT/foo $SCRATCH_MNT/bar umount $SCRATCH_MNT A test case for fstests follows soon. CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 113e8283869b9855c8b999796aadd506bbac155f Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Mar 30 18:26:47 2015 +0100 Btrfs: fix inode eviction infinite loop after extent_same ioctl If we pass a length of 0 to the extent_same ioctl, we end up locking an extent range with a start offset greater then its end offset (if the destination file's offset is greater than zero). This results in a warning from extent_io.c:insert_state through the following call chain: btrfs_extent_same() btrfs_double_lock() lock_extent_range() lock_extent(inode->io_tree, offset, offset + len - 1) lock_extent_bits() __set_extent_bit() insert_state() --> WARN_ON(end < start) This leads to an infinite loop when evicting the inode. This is the same problem that my previous patch titled "Btrfs: fix inode eviction infinite loop after cloning into it" addressed but for the extent_same ioctl instead of the clone ioctl. CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit df858e76723ace61342b118aa4302bd09de4e386 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Tue Mar 31 14:56:46 2015 +0100 Btrfs: fix range cloning when same inode used as source and destination While searching for extents to clone we might find one where we only use a part of it coming from its tail. If our destination inode is the same the source inode, we end up removing the tail part of the extent item and insert after a new one that point to the same extent with an adjusted key file offset and data offset. After this we search for the next extent item in the fs/subvol tree with a key that has an offset incremented by one. But this second search leaves us at the new extent item we inserted previously, and since that extent item has a non-zero data offset, it it can make us call btrfs_drop_extents with an empty range (start == end) which causes the following warning: [23978.537119] WARNING: CPU: 6 PID: 16251 at fs/btrfs/file.c:550 btrfs_drop_extent_cache+0x43/0x385 [btrfs]() (...) [23978.557266] Call Trace: [23978.557978] [<ffffffff81425fd9>] dump_stack+0x4c/0x65 [23978.559191] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb [23978.560699] [<ffffffffa047f0ea>] ? btrfs_drop_extent_cache+0x43/0x385 [btrfs] [23978.562389] [<ffffffff8104544d>] warn_slowpath_null+0x1a/0x1c [23978.563613] [<ffffffffa047f0ea>] btrfs_drop_extent_cache+0x43/0x385 [btrfs] [23978.565103] [<ffffffff810e3a18>] ? time_hardirqs_off+0x15/0x28 [23978.566294] [<ffffffff81079ff8>] ? trace_hardirqs_off+0xd/0xf [23978.567438] [<ffffffffa047f73d>] __btrfs_drop_extents+0x6b/0x9e1 [btrfs] [23978.568702] [<ffffffff8107c03f>] ? trace_hardirqs_on+0xd/0xf [23978.569763] [<ffffffff811441c0>] ? ____cache_alloc+0x69/0x2eb [23978.570817] [<ffffffff81142269>] ? virt_to_head_page+0x9/0x36 [23978.571872] [<ffffffff81143c15>] ? cache_alloc_debugcheck_after.isra.42+0x16c/0x1cb [23978.573466] [<ffffffff811420d5>] ? kmemleak_alloc_recursive.constprop.52+0x16/0x18 [23978.574962] [<ffffffffa0480d07>] btrfs_drop_extents+0x66/0x7f [btrfs] [23978.576179] [<ffffffffa049aa35>] btrfs_clone+0x516/0xaf5 [btrfs] [23978.577311] [<ffffffffa04983dc>] ? lock_extent_range+0x7b/0xcd [btrfs] [23978.578520] [<ffffffffa049b2a2>] btrfs_ioctl_clone+0x28e/0x39f [btrfs] [23978.580282] [<ffffffffa049d9ae>] btrfs_ioctl+0xb51/0x219a [btrfs] (...) [23978.591887] ---[ end trace 988ec2a653d03ed3 ]--- Then we attempt to insert a new extent item with a key that already exists, which makes btrfs_insert_empty_item return -EEXIST resulting in abortion of the current transaction: [23978.594355] WARNING: CPU: 6 PID: 16251 at fs/btrfs/super.c:260 __btrfs_abort_transaction+0x52/0x114 [btrfs]() (...) [23978.622589] Call Trace: [23978.623181] [<ffffffff81425fd9>] dump_stack+0x4c/0x65 [23978.624359] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb [23978.625573] [<ffffffffa044ab6c>] ? __btrfs_abort_transaction+0x52/0x114 [btrfs] [23978.626971] [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48 [23978.628003] [<ffffffff8108a6c8>] ? vprintk_default+0x1d/0x1f [23978.629138] [<ffffffffa044ab6c>] __btrfs_abort_transaction+0x52/0x114 [btrfs] [23978.630528] [<ffffffffa049ad1b>] btrfs_clone+0x7fc/0xaf5 [btrfs] [23978.631635] [<ffffffffa04983dc>] ? lock_extent_range+0x7b/0xcd [btrfs] [23978.632886] [<ffffffffa049b2a2>] btrfs_ioctl_clone+0x28e/0x39f [btrfs] [23978.634119] [<ffffffffa049d9ae>] btrfs_ioctl+0xb51/0x219a [btrfs] (...) [23978.647714] ---[ end trace 988ec2a653d03ed4 ]--- This is wrong because we should not process the extent item that we just inserted previously, and instead process the extent item that follows it in the tree For example for the test case I wrote for fstests: bs=$((64 * 1024)) mkfs.btrfs -f -l $bs -O ^no-holes /dev/sdc mount /dev/sdc /mnt xfs_io -f -c "pwrite -S 0xaa $(($bs * 2)) $(($bs * 2))" /mnt/foo $CLONER_PROG -s $((3 * $bs)) -d $((267 * $bs)) -l 0 /mnt/foo /mnt/foo $CLONER_PROG -s $((217 * $bs)) -d $((95 * $bs)) -l 0 /mnt/foo /mnt/foo The second clone call fails with -EEXIST, because when we process the first extent item (offset 262144), we drop part of it (counting from the end) and then insert a new extent item with a key greater then the key we found. The next time we search the tree we search for a key with offset 262144 + 1, which leaves us at the new extent item we have just inserted but we think it refers to an extent that we need to clone. Fix this by ensuring the next search key uses an offset corresponding to the offset of the key we found previously plus the data length of the corresponding extent item. This ensures we skip new extent items that we inserted and works for the case of implicit holes too (NO_HOLES feature). A test case for fstests follows soon. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 98b0429b7abd5c05efdb23f3eba02ec3f696748e Merge: 3cf2954 1f3a2c6 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Apr 13 16:01:37 2015 +0200 Merge branch '4.1-fp' into mips-for-linux-next commit ea5505fabd3b59608750bfd3721d0f8bc5c8b0bb Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Apr 13 13:56:20 2015 +0300 mei: trace: remove unused TRACE_SYSTEM_STRING fix warning: include/trace/ftrace.h:28:0: note: this is the location of the previous definition ^ In file included from include/trace/define_trace.h:90:0, from drivers/misc/mei/mei-trace.h:76, from drivers/misc/mei/mei-trace.c:21: include/trace/ftrace.h:28:0: warning: "TRACE_SYSTEM_STRING" redefined Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a436ee6c3f311f2ae604d775d7de06a49f8c9a0 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Mon Apr 13 11:21:42 2015 +0300 drm: make crtc/encoder/connector/plane helper_private a const pointer They're only used to store const pointers anyway. This helps to keep Ville and the compiler happy. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d4d936f49d3baa5e078ea6dafebcbdd3ec4449d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Mon Apr 13 11:21:41 2015 +0300 drm/armada: constify struct drm_encoder_helper_funcs pointer Not to be modified. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 16bb079e45f2c3a795b6b0546535cd6466275ec5 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Mon Apr 13 11:21:40 2015 +0300 drm/radeon: constify more struct drm_*_helper funcs pointers Some non-const pointers were added since the last constification, fix them. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1b54bdb8ccbc46e5a406a690d48a1639d5001f4b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Mon Apr 13 10:57:14 2015 +0300 drm/edid: add #defines for ELD versions Add ELD versions according to HDA Specification v1.0a. 2 indicates version 2, which supports CEA_Ver 861D or below. Maximum Baseline ELD size of 80 bytes (15 SAD count). 31 indicates an ELD that has been partially populated through implementation specific mean of default programming before an external graphics driver is loaded. Only the field that is called out as "canned" field will be populated, and audio driver should ignore the non "canned" field. 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 08d9bc920d465bbbbd762cac9383249c19bf69a2 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Apr 10 10:59:10 2015 +0300 drm/i915: Allocate connector state together with the connectors Connector states were being allocated in intel_setup_outputs() in loop over all connectors. That meant hot-added connectors would have a NULL state. Since the change to use a struct drm_atomic_state for the legacy modeset, connector states are necessary for the i915 driver to function properly, so that would lead to oopses. Broken by commit 944b0c76575753da5a332aab0a1d8c6df65a076b Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:07 2015 +0200 drm/i915: Copy the staged connector config to the legacy atomic state v2: Fix test for intel_connector_init() success in lvds and sdvo (PRTS) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Reported-and-tested-by: Nicolas Kalkhof <nkalkhof@xxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ce4524e5a78123fbf2db5b1549798c91a6d98294 Merge: f2aa111 7667428 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 13 14:14:29 2015 +0200 Merge tag 'asoc-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Updates for v4.1 More updates for v4.1, pretty much all drivers: - Lots of cleanups from Lars, mainly moving things from the CODEC level to the card level. - Continuing improvements to rcar from Morimoto-san, pcm512x from Howard and Peter, the Intel platforms from Vinod, Jie, Jin and Han, and to rt5670 from Bard. - Support for some non-DSP Qualcomm platforms, Google's Storm platform, Maxmim MAX98925 CODECs and the Ingenic JZ4780 SoC. commit 9e1a27ea42691429e31f158cce6fc61bc79bb2e9 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Mon Apr 13 21:03:49 2015 +0930 virtio_ring: Update weak barriers to use dma_wmb/rmb This change makes it so that instead of using smp_wmb/rmb which varies depending on the kernel configuration we can can use dma_wmb/rmb which for most architectures should be equal to or slightly more strict than smp_wmb/rmb. The advantage to this is that these barriers are available to uniprocessor builds as well so the performance should improve under such a configuration. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit e5d8f59a5cfa76ab5ebe47622d0c569eddd42fbe Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:55:15 2015 +0930 modpost: document the use of struct section_check. struct section_check is used as a generic way of describing what relocations are authorized/forbidden when running modpost. This commit tries to describe how each field is used. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (Fixed "mist"ake) commit 52dc0595d540155436d91811f929bdc8afd6a2a1 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:52:53 2015 +0930 modpost: handle relocations mismatch in __ex_table. __ex_table is a simple table section where each entry is a pair of addresses - the first address is an address which can fault in kernel space, and the second address points to where the kernel should jump to when handling that fault. This is how copy_from_user() does not crash the kernel if userspace gives a borked pointer for example. If one of these addresses point to a non-executable section, something is seriously wrong since it either means the kernel will never fault from there or it will not be able to jump to there. As both cases are serious enough, we simply error out in these cases so the build fails and the developper has to fix the issue. In case the section is executable, but it isn't referenced in our list of authorized sections to point to from __ex_table, we just dump a warning giving more information about it. We do this in case the new section is executable but isn't supposed to be executed by the kernel. This happened with .altinstr_replacement, which is executable but is only used to copy instructions from - we should never have our instruction pointer pointing in .altinstr_replacement. Admitedly, a proper fix in that case would be to just set .altinstr_replacement NX, but we need to warn about future cases like this. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (added long casts) commit c31e4b832f124dccdb5d80ba3c1cd4f9081f7fb2 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:44:04 2015 +0930 scripts: add check_extable.sh script. This shell script can be used to sanity check the __ex_table section on an object file, making sure the relocations in there are pointing to valid executable sections. If it finds some suspicious relocations, it'll use addr2line to try and dump where this is coming from. This works best with CONFIG_DEBUG_INFO. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit c7a65e0645b2d1f8382ce27f4edaf1b4f2e09549 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:43:45 2015 +0930 modpost: mismatch_handler: retrieve tosym information only when needed. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 356ad538128ed9221f7d01199a3a7d080f158a5d Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:43:34 2015 +0930 modpost: factorize symbol pretty print in get_pretty_name(). Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 644e8f14cb3bca5c66f6ddd944d9d26074eec46e Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:43:17 2015 +0930 modpost: add handler function pointer to sectioncheck. This will be useful when we want to have special handlers which need to go through more hops to print useful information to the user. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 157d1972d079207332d31a761cdfb81598455e0a Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:42:52 2015 +0930 modpost: add .sched.text and .kprobes.text to the TEXT_SECTIONS list. sched.text and .kprobes.text should behave exactly like .text with regards to how we should warn about referencing sections which might get discarded at runtime. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 050e57fd5936eb175cbb7a788252aa6867201120 Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Mon Apr 13 20:41:04 2015 +0930 modpost: add strict white-listing when referencing sections. Prints a warning when a section references a section outside a strict white-list. This will be useful to print a warning if __ex_table references a non-executable section. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit f2aa111041ce36b94e651d882458dea502e76721 Author: Jo-Philipp Wich <jow@xxxxxxxxxxx> Date: Mon Apr 13 12:47:26 2015 +0200 ALSA: hda/realtek - Enable the ALC292 dock fixup on the Thinkpad T450 The Lenovo Thinkpad T450 requires the ALC292_FIXUP_TPT440_DOCK as well in order to get working sound output on the docking stations headphone jack. Patch tested on a Thinkpad T450 (20BVCTO1WW) using kernel 4.0-rc7 in conjunction with a ThinkPad Ultradock. Signed-off-by: Jo-Philipp Wich <jow@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1a7e985dd1bf5939af0f56bbd6d13d2caf48dd63 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Fri Apr 3 03:13:42 2015 +0000 UBIFS: fix output format of INUM_WATERMARK The INUM_WATERMARK is a unsigned 32bit value, `%d' prints it as negatave: [ 103.682255] UBIFS warning (ubi0:0 pid 691): ubifs_new_inode: running out of inode numbers (current 122763, max -256) Fix it as: [ 154.422940] UBIFS warning (ubi0:0 pid 688): ubifs_new_inode: running out of inode numbers (current 122765, max 4294967040) Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit f2e2013f757204d4e0a009597722c75bb2332796 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Feb 13 13:59:53 2015 +0530 ARC: mem init spring cleaning - No functional changes Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit a44ec8bd2a55c7644d458d8e79d83bd9204e1796 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sun Mar 8 14:18:21 2015 +0530 ARC: Fix RTT boot printing Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit de60c1a1849c57e864f02f0d921993982b1648f8 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Nov 7 19:19:37 2014 +0530 ARC: fold __builtin_constant_p() into test_bit() This makes test_bit() more like its siblings *_bit() routines. Also add some comments about the constant @nr micro-optimization Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 0dfb8ec70fd67be02096eaf9898feb94950d6f06 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 13 15:29:50 2014 +0530 ARC: rename unhandled exception handler Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit dc9e234f91c77a98a8911bf02619275f51b14bfc Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Sep 22 17:54:45 2014 +0530 ARC: cosmetic: Remove unused ECR bitfield masks Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 1425d5e72c8c41300d66a24b81ad911cb1239e97 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Mar 27 11:59:02 2014 +0530 ARC: Fix WRITE_BCR * There was obvious bit rot due to lack of use * Old naming was confusing since BCR are read only Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5971d81517752749a8155bb3f9b1ff1309bf3ea5 Author: Mischa Jonker <mjonker@xxxxxxxxxxxx> Date: Thu May 16 23:16:29 2013 +0200 ARC: [nsimosci] Update defconfig Signed-off-by: Mischa Jonker <mjonker@xxxxxxxxxxxx> commit c3aeda62878f09da91329693a60a1f08ec97e0b8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 13 11:01:14 2015 +0200 ALSA: hda - Fix another race in runtime PM refcounting Although some races in runtime PM refcount was fixed by the commit [664c715573c2: ALSA: hda - Work around races of power up/down with runtime PM], there is still a race in the following case: CPU0: CPU1 : runtime suspend: codec->in_pm = 1 snd_hdac_power_up_pm(): pm_runtime_get_sync() skipped suspend finished: codec->in_pm = 0 snd_hdac_power_down_pm(): pm_runtime_put_*() is called! For avoiding this situation, increment in_pm flag atomically when it's non-zero, and decrement accordingly, to ensure that in_pm is set consistently for the whole concurrent operations. Also, since atomic_inc_not_zero() and atomic_dec_if_positive() are lengthy inline functions, move snd_hdac_power_up_pm() and _down_pm() to sound/hda/hdac_device.c as no inline functions. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a1307bba1adcc9b338511180fa94a54b4c3f534b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Mar 30 12:51:42 2015 +0200 s390/smp: wait until secondaries are active & online This is the s390 version of 875ebe940d77 ("powerpc/smp: Wait until secondaries are active & online"). The race described in length within the commit message is also possible on s390 and every other architecture. So fix this race on s390 as well. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit d74419495633493c9cd3f2bbeb7f3529d0edded6 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Mar 25 10:13:33 2015 +0100 s390/hibernate: fix save and restore of kernel text section Sebastian reported a crash caused by a jump label mismatch after resume. This happens because we do not save the kernel text section during suspend and therefore also do not restore it during resume, but use the kernel image that restores the old system. This means that after a suspend/resume cycle we lost all modifications done to the kernel text section. The reason for this is the pfn_is_nosave() function, which incorrectly returns that read-only pages don't need to be saved. This is incorrect since we mark the kernel text section read-only. We still need to make sure to not save and restore pages contained within NSS and DCSS segment. To fix this add an extra case for the kernel text section and only save those pages if they are not contained within an NSS segment. Fixes the following crash (and the above bugs as well): Jump label code mismatch at netif_receive_skb_internal+0x28/0xd0 Found: c0 04 00 00 00 00 Expected: c0 f4 00 00 00 11 New: c0 04 00 00 00 00 Kernel panic - not syncing: Corrupted kernel text CPU: 0 PID: 9 Comm: migration/0 Not tainted 3.19.0-01975-gb1b096e70f23 #4 Call Trace: [<0000000000113972>] show_stack+0x72/0xf0 [<000000000081f15e>] dump_stack+0x6e/0x90 [<000000000081c4e8>] panic+0x108/0x2b0 [<000000000081be64>] jump_label_bug.isra.2+0x104/0x108 [<0000000000112176>] __jump_label_transform+0x9e/0xd0 [<00000000001121e6>] __sm_arch_jump_label_transform+0x3e/0x50 [<00000000001d1136>] multi_cpu_stop+0x12e/0x170 [<00000000001d1472>] cpu_stopper_thread+0xb2/0x168 [<000000000015d2ac>] smpboot_thread_fn+0x134/0x1b0 [<0000000000158baa>] kthread+0x10a/0x110 [<0000000000824a86>] kernel_thread_starter+0x6/0xc Reported-and-tested-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 77bb36e57bbe5586bea29b67ba7f87cfe03610a0 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Mar 18 13:22:00 2015 +0100 s390/cacheinfo: add missing facility check Git commit d97d929f06d0 ("s390: move cacheinfo sysfs to generic cacheinfo infrastructure") removed the general-instructions-extension availability check before the ecag instruction is executed. Without this check this may lead to crashes on machines without this facility. Therefore add the check again where needed. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit eacf6e0a238923dfce0626450adcb6d486072f28 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 13 10:43:54 2015 +0200 ALSA: hda - Expose codec type sysfs The type field of HD-audio codec object should be exposed to user-space so that it can identify which driver type to bind (legacy / asoc). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7a4261d5d35362d1c9ec4f80ba01ad417ca467b7 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 10:50:16 2015 +0200 soc/mediatek: Remove unused variables The PMIC wrapper driver adds a couple of variables that are never used. Remove them to avoid build warnings. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit e1c78df1da112f2644058af2425dd5ca3eb1a96a Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Apr 12 10:12:25 2015 +0900 ALSA: ctl: fix to handle several elements added by one operation for userspace element An element instance can have several elements with the same feature. Some userspace applications can add such an element instance by add operation with the number of elements. Then, the element instance gets a memory object to keep states of these elements. But the element instance has just one memory object for the elements. This causes the same result to each read/write operations to the different elements. This commit fixes this bug by allocating enough memory objects to the element instance for each of elements. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9a4f35865ffcb2f4603375eadabe0d475fab1a0f Merge: eef0342 c30cf8c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Apr 13 10:23:18 2015 +0200 Merge branch 'for-next' into for-linus commit 590ee7dbd569a012df705a5204fc5f1066f52b8c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Apr 13 10:04:59 2015 +0200 cpu: Provide smpboot_thread_init() on !CONFIG_SMP kernels as well Now that we are using smpboot_thread_init() in init/main.c as well, provide it for !CONFIG_SMP as well. This addresses a !CONFIG_SMP build failure. Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1d2add28edd268a8290801ccf46b37f6d5239cdb Merge: bb1dc08 5e501ed Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Apr 13 17:28:57 2015 +1000 Merge tag 'imx-drm-next-2015-03-31' of git://git.pengutronix.de/git/pza/linux into drm-next imx-drm changes to use media bus formats and LDB drm_panel support - Add media bus formats needed by imx-drm - Switch to use media bus formats to describe the pixel format on the internal parallel bus between display interface and encoders - Some preparations for TV Output via TVEv2 on i.MX5 - Add drm_panel support to the i.MX LVDS driver, allow to determine the bus pixel format from the panel descriptor. * tag 'imx-drm-next-2015-03-31' of git://git.pengutronix.de/git/pza/linux: drm/imx: imx-ldb: allow to determine bus format from the connected panel drm/imx: imx-ldb: reset display clock input when disabling LVDS drm/imx: imx-ldb: add drm_panel support drm/imx: consolidate bus format variable names drm/imx: switch to use media bus formats Add RGB666_1X24_CPADHI media bus format Add YUV8_1X24 media bus format Add BGR888_1X24 and GBR888_1X24 media bus formats Add LVDS RGB media bus formats Add RGB444_1X12 and RGB565_1X16 media bus formats drm/imx: ipuv3-crtc: Allow to divide DI clock from TVEv2 drm/imx: Add support for interlaced scanout commit bb1dc08c94ead1b98e750caf535422f79363c1a2 Merge: a7d6883 ecaa490 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Apr 13 17:28:16 2015 +1000 Merge tag 'of-graph-drm-2015-04-08' of git://git.pengutronix.de/git/pza/linux into drm-next drm: Use of-graph helpers to loop over endpoints Convert all drm callers that use of_graph_get_next_endpoint to loop over of-graph endpoints to the newly introduced for_each_endpoint_of_node helper macro. * tag 'of-graph-drm-2015-04-08' of git://git.pengutronix.de/git/pza/linux: drm/rockchip: use for_each_endpoint_of_node macro, drop endpoint reference on break drm/rcar-du: use for_each_endpoint_of_node macro drm/imx: use for_each_endpoint_of_node macro in imx_drm_encoder_get_mux_id drm: use for_each_endpoint_of_node macro in drm_of_find_possible_crtcs of: Explicitly include linux/types.h in of_graph.h dt-bindings: brcm: rationalize Broadcom documentation naming of/unittest: replace 'selftest' with 'unittest' Documentation: rename of_selftest.txt to of_unittest.txt Documentation: update the of_selftest.txt dt: OF_UNITTEST make dependency broken MAINTAINERS: Pantelis Antoniou device tree overlay maintainer of: Add of_graph_get_port_by_id function of: Add for_each_endpoint_of_node helper macro of: Decrement refcount of previous endpoint in of_graph_get_next_endpoint commit a7d6883619584c2dbeeb5f6a1cf86cde6a3993de Merge: 1d8ac08 68a2913 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Apr 13 17:26:58 2015 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next This pull request contains just cleanup for atomic pageflip/modeset support, and some fixeups. We wanted to merge atomic pageflip/modeset feature support, new drivers - MIC and DECON for exynos5433 SoC - and relevant patches this time. However, I'd found that these features are not only safe enough but also aren't tested yet. So for them, I'd like to have enough times for the reviews. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm/exynos: Fix FIMD buffer size calculation drm/exynos: Enable DP clock to fix display on Exynos5250 and other drm/exynos: fimd: check whether exynos_drm_crtc_create succeed or not drm/exynos: dsi: remove the empty mode_valid callback drm/exynos: add ratio calculation drm/exynos: use src_x and src_y instead of fb_x and fb_y drm/exynos: mixer: add 2x scaling to mixer_graph_buffer drm/exynos: remove superfluous error messages drm/exynos: fix typos in hdmi and mixer drm/exynos/ipp: Validate buffer enqueue requests drm/exynos: track vblank events on a per crtc basis drm/exynos: remove leftover functions declarations drm/exynos: remove exynos_plane_destroy() drm/exynos: make zpos property immutable drm/exynos: preset zpos value for overlay planes drm/exynos: remove struct *_win_data abstraction on planes drm/exynos: remove unused exynos_crtc->win_enable() callback drm/exynos: fimd: fix alpha setting for XR24 pixel format commit e0bf6c5ca2d3281f231c5f0c9bf145e9513644de Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sun Sep 8 06:58:38 2013 +0400 xtensa: xtfpga: add CY7C67300 USB controller support Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 00df35f991914db6b8bde8cf09808e19a9cffc3d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Apr 12 08:06:55 2015 -0700 cpu: Defer smpboot kthread unparking until CPU known to scheduler Currently, smpboot_unpark_threads() is invoked before the incoming CPU has been added to the scheduler's runqueue structures. This might potentially cause the unparked kthread to run on the wrong CPU, since the correct CPU isn't fully set up yet. That causes a sporadic, hard to debug boot crash triggering on some systems, reported by Borislav Petkov, and bisected down to: 2a442c9c6453 ("x86: Use common outgoing-CPU-notification code") This patch places smpboot_unpark_threads() in a CPU hotplug notifier with priority set so that these kthreads are unparked just after the CPU has been added to the runqueues. Reported-and-tested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b67c961cb86c2e296742c4e86096effb1f2c6ab8 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Tue Oct 7 00:45:13 2014 +0400 irqchip: xtensa-pic: xtensa-mx: document DT bindings Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 24e94454c8cb6a13634f5a2f5a01da53a546a58d Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Apr 3 09:56:21 2015 +0300 xtensa: ISS: fix locking in TAP network adapter - don't lock lp->lock in the iss_net_timer for the call of iss_net_poll, it will lock it itself; - invert order of lp->lock and opened_lock acquisition in the iss_net_open to make it consistent with iss_net_poll; - replace spin_lock with spin_lock_bh when acquiring locks used in iss_net_timer from non-atomic context; - replace spin_lock_irqsave with spin_lock_bh in the iss_net_start_xmit as the driver doesn't use lp->lock in the hard IRQ context; - replace __SPIN_LOCK_UNLOCKED(lp.lock) with spin_lock_init, otherwise lockdep is unhappy about using non-static key. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 3a29dd6d6f445212ddbcf43a2ba6352127ce9ee8 Merge: f7e9e35 51925fb Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Apr 13 15:29:36 2015 +1000 Merge branch 'next-dlpar' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next Merge series from Nathan Fontenot to do memory hotplug in the kernel. commit 03bc10ab5b0f9b8f81bffbe6e40c944f9d3dbcc5 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 03:48:48 2015 +0200 clk: check ->determine/round_rate() return value in clk_calc_new_rates ->determine_rate() and ->round_rate() can return the closest rate to the requested one or an error code. clk_calc_new_rates is assuming these functions can't return a negative value, which leads to a undefined behavior when the clk implementation returns such an error code. Fix this by returning NULL in case ->determine_rate() or ->round_rate() returned an error code. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 3abafaf2192b1712079edfd4232b19877d6f41a5 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Sat Apr 11 15:32:34 2015 +0200 crypto: arm - workaround for building with old binutils Old versions of binutils (before 2.23) do not yet understand the crypto-neon-fp-armv8 fpu instructions, and an attempt to build these files results in a build failure: arch/arm/crypto/aes-ce-core.S:133: Error: selected processor does not support ARM mode `vld1.8 {q10-q11},[ip]!' arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aese.8 q0,q8' arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aesmc.8 q0,q0' arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aese.8 q0,q9' arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aesmc.8 q0,q0' Since the affected versions are still in widespread use, and this breaks 'allmodconfig' builds, we should try to at least get a successful kernel build. Unfortunately, I could not come up with a way to make the Kconfig symbol depend on the binutils version, which would be the nicest solution. Instead, this patch uses the 'as-instr' Kbuild macro to find out whether the support is present in the assembler, and otherwise emits a non-fatal warning indicating which selected modules could not be built. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Link: http://storage.kernelci.org/next/next-20150410/arm-allmodconfig/build.log Fixes: 864cbeed4ab22d ("crypto: arm - add support for SHA1 using ARMv8 Crypto Instructions") [ard.biesheuvel: - omit modules entirely instead of building empty ones if binutils is too old - update commit log accordingly] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4591243102faa8de92da320edea47219901461e9 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 03:45:33 2015 +0200 clk: at91: usb: propagate rate modification to the parent clk The at91sam9n12 and at91sam9x5 usb clocks do not propagate rate modification requests to their parents. This causes a bug when the PLLB is left uninitialized by the bootloader (PLL multiplier set to 0, or in other words, PLL rate = 0 Hz). Implement the determinate_rate method and propagate the change rate request to the parent clk. Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Bo Shen <voice.shen@xxxxxxxxx> Tested-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit b48321def4c506057e22845f8e0dcdce2214dbfa Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Apr 11 10:48:44 2015 +0200 crypto: arm/sha256 - avoid sha256 code on ARMv7-M The sha256 assembly implementation can deal with all architecture levels from ARMv4 to ARMv7-A, but not with ARMv7-M. Enabling it in an ARMv7-M kernel results in this build failure: arm-linux-gnueabi-ld: error: arch/arm/crypto/sha256_glue.o: Conflicting architecture profiles M/A arm-linux-gnueabi-ld: failed to merge target specific data of file arch/arm/crypto/sha256_glue.o This adds a Kconfig dependency to prevent the code from being disabled for ARMv7-M. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3a9e9cb65be84d6c64fbe9c69a73c15d59f29454 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Mar 27 17:27:10 2015 +0100 clk: samsung: exynos4: Disable ARMCLK down feature on Exynos4210 SoC Commit 42773b28e71d ("clk: samsung: exynos4: Enable ARMCLK down feature") enabled ARMCLK down feature on all Exynos4 SoCs. Unfortunately on Exynos4210 SoC ARMCLK down feature causes a lockup when ondemand cpufreq governor is used. Fix it by limiting ARMCLK down feature to Exynos4x12 SoCs. This patch was tested on: - Exynos4210 SoC based Trats board - Exynos4210 SoC based Origen board - Exynos4412 SoC based Trats2 board - Exynos4412 SoC based Odroid-U3 board Cc: Daniel Drake <drake@xxxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Fixes: 42773b28e71d ("clk: samsung: exynos4: Enable ARMCLK down feature") Cc: <stable@xxxxxxxxxxxxxxx> # v3.17+ Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 68a2913407d8defac36f381e4877507a06e57c8e Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Wed Apr 8 16:39:06 2015 +0100 drm/exynos: Fix FIMD buffer size calculation Commit adacb228d72b ("drm: Exynos: Respect framebuffer pitch for FIMD/Mixer") fixed the buffer size calculation by using the FB pitch value but later commit 26b9c2813ede1 ("drm/exynos: remove struct *_win_data abstraction on planes") added a regression so fix the buffer size calculation again. Tested on Chromebook Snow / Peach Pit. Fixes: 26b9c2813ede1 ("drm/exynos: remove struct *_win_data abstraction on planes") Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1c363c7cccf64128087002b0779986ad16aff6dc Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Apr 7 22:28:50 2015 +0900 drm/exynos: Enable DP clock to fix display on Exynos5250 and other After adding display power domain for Exynos5250 in commit 2d2c9a8d0a4f ("ARM: dts: add display power domain for exynos5250") the display on Chromebook Snow and others stopped working after boot. The reason for this suggested Andrzej Hajda: the DP clock was disabled. This clock is required by Display Port and is enabled by bootloader. However when FIMD driver probing was deferred, the display power domain was turned off. This effectively reset the value of DP clock enable register. When exynos-dp is later probed, the clock is not enabled and display is not properly configured: exynos-dp 145b0000.dp-controller: Timeout of video streamclk ok exynos-dp 145b0000.dp-controller: unable to config video Fixes: 2d2c9a8d0a4f ("ARM: dts: add display power domain for exynos5250") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reported-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d1222842c1c7c2760ebd412238d9bb6234e6742c Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Tue Apr 7 22:19:43 2015 +0900 drm/exynos: fimd: check whether exynos_drm_crtc_create succeed or not >From the commit "drm/exynos: fix the execution order in FIMD initialization" (598285bfdce46d7c47632a2ba4b980f60be4a677), the error checking code is removed improperly. This patch fix the regression. Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 643c3024a5ee2bf74ee25c8dd03bcd287f3b2833 Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Thu Apr 2 18:52:20 2015 +0900 drm/exynos: dsi: remove the empty mode_valid callback Because the helper function which calls this callback checks whether it is registered or not. It is not necessary if it does nothing. So it would be better to remove the function for clarity. Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 3cabaf7ea7044d6a75fd76e2fc53304a55abe965 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Apr 7 15:59:39 2015 +0900 drm/exynos: add ratio calculation Calculation ratio from exynos_drm plane codes, then each hw drivers can use it without extra operation. Also this fixes width and height of source used for actual crtc shown via screen. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cb8a3db29f8fa8186185ba716f3f485a7f3fabe7 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Apr 7 15:59:38 2015 +0900 drm/exynos: use src_x and src_y instead of fb_x and fb_y It's more reasonable to use src_x and src_y to represent source as counterpart of destination(crtc). Already we are using src_width and src_height for width and height of source. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 2611015c7511106719bae904cac459383c55ffef Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 01:14:52 2015 +0200 drm/exynos: mixer: add 2x scaling to mixer_graph_buffer While the VP (video processor) supports arbitrary scaling of its input, the mixer just supports a simple 2x (line doubling) scaling. Expose this functionality and exit early when an unsupported scaling configuration is encountered. This was tested with modetest's DRM plane test (from the libdrm test suite) on an Odroid-X2 (Exynos4412). v2: Put if- and return-statement on different lines. Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7ded85885d49bac7df1836ea3ac5612d9afcc8de Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 01:14:51 2015 +0200 drm/exynos: remove superfluous error messages The messages are redundant since 'check_fb_gem_memory_type' already prints out exactly the same string when it fails. Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1e6d459df61f5386b9d00c9b5b4520240e70eded Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 01:14:50 2015 +0200 drm/exynos: fix typos in hdmi and mixer Use the correct spelling for 'progressive'. Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit e44bf6b7a50e331a1a97c23d726e39726b914dc8 Author: Beata Michalska <b.michalska@xxxxxxxxxxx> Date: Wed Mar 4 15:02:49 2015 +0100 drm/exynos/ipp: Validate buffer enqueue requests As for now there is no validation of incoming buffer enqueue request as far as the gem buffers are being concerned. This might lead to some undesired cases when the driver tries to operate on invalid buffers (wiht no valid gem object handle i.e.). Add some basic checks to rule out those potential issues. Signed-off-by: Beata Michalska <b.michalska@xxxxxxxxxxx> [mszyprow: rebased onto v4.0-rc1 and adapted to recent ipp changes] Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit e752747b98ae64ff0d1484a3b1b812fd2cafed53 Author: Mandeep Singh Baines <msb@xxxxxxxxxxxx> Date: Wed Apr 1 13:02:12 2015 -0300 drm/exynos: track vblank events on a per crtc basis The goal of the change is to make sure we send the vblank event on the current vblank. My hope is to fix any races that might be causing flicker. After this change I only see a flicker in the transition plymouth and X11. Simplified the code by tracking vblank events on a per-crtc basis. This allowed me to remove all error paths from the callback. It also allowed me to remove the vblank wait from the callback. Signed-off-by: Mandeep Singh Baines <msb@xxxxxxxxxxxx> Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5d09a67f1c102468ec8116c10bcd79bba6563508 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:02:11 2015 -0300 drm/exynos: remove leftover functions declarations These functions were already removed by previous cleanup work, but these ones were left behind. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 97464d7d9dd2443571ec4f113b10588ffd4abd79 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:02:10 2015 -0300 drm/exynos: remove exynos_plane_destroy() The .destroy() callback for exynos can be replaced by drm_plane_cleanup(). The only extra operation on exynos_plane_destroy() was a call to exynos_plane_disable() but the plane is already disabled by a earlier call to drm_framebuffer_remove(). Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 92104886e4834c2ceb8748efa49d040714018eb5 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:02:09 2015 -0300 drm/exynos: make zpos property immutable We already set each plane zpos at init, after that changes to zpos are not expected. This patch turns zpos into a read-only property so now it is impossible to set zpos. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 6e2a3b66e78b693065ee67af91175a1a7e4dc209 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Fri Apr 3 21:05:52 2015 +0900 drm/exynos: preset zpos value for overlay planes Usually userspace don't want to have two overlay planes on the same zpos so this change assign a different zpos for each plane. Before this change a zpos of value zero was created for all planes so the userspace had to set up the zpos of every plane it wanted to use. Also all places that were storing zpos positions are now unsigned int. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7ee14cdcbc4f813b9c5875d6e8e3daef71c366b3 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Fri Apr 3 21:03:40 2015 +0900 drm/exynos: remove struct *_win_data abstraction on planes struct {fimd,mixer,vidi}_win_data was just keeping the same data as struct exynos_drm_plane thus get ride of it and use exynos_drm_plane directly. It changes how planes are created and remove .win_mode_set() callback that was only filling all *_win_data structs. v2: check for return of exynos_plane_init() Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1be4b7ee800a57ca613131304e01cd91ec8bca2a Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:02:06 2015 -0300 drm/exynos: remove unused exynos_crtc->win_enable() callback None of the exynos crtc drivers implements win_enable() so remove it for better clarity of the code. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 453b44a3f6f3f43f50387a9af27c5356c273e831 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:02:05 2015 -0300 drm/exynos: fimd: fix alpha setting for XR24 pixel format XR24 planes were not shown properly, so now set the right registers to correctly enable displaying these planes. It also moves the alpha register settings to fimd_win_set_pixfmt() to keep all pixel format stuff together. v2: remove leftover var alpha Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 3add594bf60a901ba973cdcdafd47af2aac0ac1c Merge: cf7b6c0 f02dee2 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Mon Apr 13 12:07:47 2015 +1000 Merge branch 'tomoyo-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild into next commit 6a63ef064b2444883ce8b68b0779d0c739d27204 Merge: a448f8f 21c3ea1 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Apr 13 11:40:16 2015 +1000 Merge branch 'xfs-misc-fixes-for-4.1-3' into for-next Conflicts: fs/xfs/xfs_iops.c commit 21c3ea18819b5f650c75f59a0457415bc05d2b17 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Apr 13 11:38:29 2015 +1000 xfs: unlock i_mutex in xfs_break_layouts We want to drop all I/O path locks when recalling layouts, and that includes i_mutex for the write path. Without this we get stuck processe when recalls take too long. [dchinner: fix build with !CONFIG_PNFS] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e60a9de49c3744aa44128eaaed3aca965911ca2e Merge: 1ceb0b8 b641173 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 12 21:36:57 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-04-11 This series contains updates to iflink, ixgbe and ixgbevf. The entire set of changes come from Vlad Zolotarov to ultimately add the ethtool ops to VF driver to allow querying the RSS indirection table and RSS random key. Currently we support only 82599 and x540 devices. On those devices, VFs share the RSS redirection table and hash key with a PF. Letting the VF query this information may introduce some security risks, therefore this feature will be disabled by default. The new netdev op allows a system administrator to change the default behaviour with "ip link set" command. The relevant iproute2 patch has already been sent and awaits for this series upstream. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66db8104968ad8c0bf5a45a100ae586ddfadc1e1 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Apr 13 11:27:59 2015 +1000 xfs: kill unnecessary firstused overflow check on attr3 leaf removal xfs_attr3_leaf_remove() removes an attribute from an attr leaf block. If the attribute nameval data happens to be at the start of the nameval region, a new start offset (firstused) for the region is calculated (since the region grows from the tail of the block to the start). Once the new firstused is calculated, it is checked for zero in an apparent overflow check. Now that the in-core firstused is 32-bit, overflow is not possible and this check can be removed. Since the purpose for this check is not documented and appears to exist since the port to Linux, be conservative and replace it with an assert. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e87021a2bc100d330ae859c2cc0614be3e335c5a Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Apr 13 11:27:10 2015 +1000 xfs: use larger in-core attr firstused field and detect overflow The on-disk xfs_attr3_leaf_hdr structure firstused field is 16-bit and subject to overflow when fs block size is 64k. The field is typically initialized to block size when an attr leaf block is initialized. This problem is demonstrated by assert failures when running xfstests generic/117 on an fs with 64k blocks. To support the existing attr leaf block algorithms for insertion, rebalance and entry movement, increase the size of the in-core firstused field to 32-bit and handle the potential overflow on conversion to/from the on-disk structure. If the overflow condition occurs, set a special value in the firstused field that is translated back on header read. The special value is only required in the case of an empty 64k attr block. A value of zero is used because firstused is initialized to the block size and grows backwards from there. Furthermore, the attribute block header occupies the first bytes of the block. Thus, a value of zero has no other legitimate meaning for this structure. Two new conversion helpers are created to manage the conversion of firstused to and from disk. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2f6612415436bab4d923a61d8df399b134247810 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Apr 13 11:26:02 2015 +1000 xfs: pass attr geometry to attr leaf header conversion functions The firstused field of the xfs_attr3_leaf_hdr structure is subject to an overflow when fs blocksize is 64k. In preparation to handle this overflow in the header conversion functions, pass the attribute geometry to the functions that convert the in-core structure to and from the on-disk structure. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit bbe051c841d522bf2aaa1d362b57fe47457187bf Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Mon Apr 13 11:25:41 2015 +1000 xfs: disallow ro->rw remount on norecovery mount There's a bit of a loophole in norecovery mount handling right now: an initial mount must be readonly, but nothing prevents a mount -o remount,rw from producing a writable, unrecovered xfs filesystem. It might be possible to try to perform a log recovery when this is requested, but I'm not sure it's worth the effort. For now, simply disallow this sort of transition. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 1ceb0b8ca5be40d32b0fcf57b117cfb595c9bbfa Merge: d72da6aa 7a6c8c3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 12 21:25:14 2015 -0400 Merge branch 'fou-next' Cong Wang says: ==================== fou: some fixes and updates Patch 1~3 fix some minor bugs in net/ipv4/fou.c, the only thing I am not sure is if it's too late to change the byte order of FOU_ATTR_PORT, if so we have to fix iproute2 instead of kernel. Patch 4~5 add some new features to make it complete. v2: make fou->port be16 too ==================== Acked-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a6c8c34e5b71ac50e39588e20b39494a9e1d8e5 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 10 12:00:30 2015 -0700 fou: implement FOU_CMD_GET Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02d793c5bbebf2c750da03df4c950fc4e8e8a5a7 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 10 12:00:29 2015 -0700 fou: add network namespace support Also convert the spinlock to a mutex. Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cbcdf2b6c8065cb9f2e0eda8c12d33b1b617043 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 10 12:00:28 2015 -0700 fou: always use be16 for port udp_config.local_udp_port is be16. And iproute2 passes network order for FOU_ATTR_PORT. This doesn't fix any bug, just for consistency. Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67270636a8285166c4ee035e1b53e99a7c55d232 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 10 12:00:27 2015 -0700 fou: exit early when parsing config fails Not a big deal, just for corretness. Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9272f048727513c1b28e5cd7b1425dae49111d5d Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 10 12:00:26 2015 -0700 fou: avoid calling udp_del_offload() twice This fixes the following harmless warning: ./ip/ip fou del port 7777 [ 122.907516] udp_del_offload: didn't find offload for port 7777 Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72c1a73993cfa3572e45e1a878ff7acf31d14fc8 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Apr 13 11:25:04 2015 +1000 xfs: xfs_shift_file_space can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d72da6aa00497ed86836a1d41fc55e2809a8ca18 Merge: 52db70d bd2cba0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 12 21:19:40 2015 -0400 Merge branch 'selinux_xfrm_nl_cmd' Nicolas Dichtel says: ==================== selinux: add missing xfrm nl cmd With this series, xfrm commands are fully synchronized. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd2cba07381a6dba60bc1c87ed8b37931d244da1 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Apr 10 16:24:28 2015 +0200 selinux/nlmsg: add XFRM_MSG_MAPPING This command is missing. Fixes: 3a2dfbe8acb1 ("xfrm: Notify changes in UDP encapsulation via netlink") CC: Martin Willi <martin@xxxxxxxxxxxxxx> Reported-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d465bb777179c4bea731b828ec484088cc9fbc1 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Apr 10 16:24:27 2015 +0200 selinux/nlmsg: add XFRM_MSG_MIGRATE This command is missing. Fixes: 5c79de6e79cd ("[XFRM]: User interface for handling XFRM_MSG_MIGRATE") Reported-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0b59b0056acd6f157a04cc895f7e24692fb08aa Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Apr 10 16:24:26 2015 +0200 selinux/nlmsg: add XFRM_MSG_REPORT This command is missing. Fixes: 97a64b4577ae ("[XFRM]: Introduce XFRM_MSG_REPORT.") Reported-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52db70dca5c206741f4f5c89410a2d32864f9840 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Apr 10 06:07:18 2015 -0700 tcp: do not cache align timewait sockets With recent adoption of skc_cookie in struct sock_common, struct tcp_timewait_sock size increased from 192 to 200 bytes on 64bit arches. SLAB rounds then to 256 bytes. It is time to drop SLAB_HWCACHE_ALIGN constraint for twsk_slab. This saves about 12 MB of memory on typical configuration reaching 262144 timewait sockets, and has no noticeable impact on performance. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e78eb0dbf867ccf206706ff2af34084f71a99bf Merge: 716723c 6d00ec0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 12 20:43:46 2015 -0400 Merge tag 'mac80211-next-for-davem-2015-04-10' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== There isn't much left, but we have * new mac80211 internal software queue to allow drivers to have shorter hardware queues and pull on-demand * use rhashtable for mac80211 station table * minstrel rate control debug improvements and some refactoring * fix noisy message about TX power reduction * fix continuous message printing and activity if CRDA doesn't respond * fix VHT-related capabilities with "iw connect" or "iwconfig ..." * fix Kconfig for cfg80211 wireless extensions compatibility ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 716723c2d2f0d5af9911966fb3cd8ccd33480d63 Author: Wolfgang Steinwender <wsteinwender@xxxxxxx> Date: Fri Apr 10 11:42:56 2015 +0200 net/macb: sqe_test_errors are TX errors, not RX errors The statistics are grouped by TX and RX errors. The SQE Test Errors Register indicates problems with TX. Signed-off-by: Wolfgang Steinwender <wsteinwender@xxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 692d8328e8c039f9497eb862c6cf835de922c061 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Feb 18 10:59:45 2015 +0100 clk: don't use __initconst for non-const arrays The statement static const char *name[]; defines a modifiable array of pointers to constant chars. That is *name[0] = 'f'; is forbidden, but name[0] = "f"; is not. So marking an array that is defined as above with __initconst is wrong. Either an additional const must be added such that the whole definition reads: static const char *const name[] __initconst; or where this is not possible __initdata must be used. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit f354169e0f7dcd1b2c82cf1f98f6d976e85f74c3 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Apr 13 04:14:11 2015 +0930 hwmon: (pwm-fan) Update the duty cycle inorder to control the pwm-fan pwm_config() must be called with a duty cycle of 0 prior to calling pwm_disable() to ensure that the pwm signal is set to low. Reported-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Tested-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Reviewed-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Reviewed-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 92bac83dd79e60e65c475222e41a992a70434beb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Apr 12 15:42:35 2015 -0700 Input: alps - non interleaved V2 dualpoint has separate stick button bits Non interleaved V2 dualpoint touchpad / stick combos have separate stick button bits in the touchpad packets, if we do not check these then the trackpoint buttons will not work when using the touchpad, and when pressed when the user starts using the touchpad will report a release event even though the button is still pressed. This commit fixes this by checking the separate bits, note that we simply combine the buttons, since the hardware does the same when using the touchpad buttons with the trackpoint, so we do not have enough information to properly separate them. Reported-by: Hans de Bruin <jmdebruin@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6bcca19f5dcedc3a006ca0bcc3699a437cadee74 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Apr 8 09:26:42 2015 -0700 Input: alps - fix touchpad buttons getting stuck when used with trackpoint When the left touchpad button gets pressed, and then the trackpoint is moved, and then the button is released, the following happens: 1) touchpad packet is received, touchpad evdev node reports BTN_LEFT 1 2) pointing stick packet is received, the hw will report a BTN_LEFT 1 in this packet because when the trackstick is active it communicates the combined touchpad + pointing stick buttons in the trackstick packet, since alps_report_bare_ps2_packet passes NULL (*) for the dev2 parameter to alps_report_buttons the combining is not detected and the pointing stick evdev node will also report BTN_LEFT 1 3) on release of the button a pointing stick packet with BTN_LEFT 0 is received and the pointing stick evdev node will report BTN_LEFT 0 Note how because of the passing as NULL for dev2 the touchpad evdev node will never send BTN_LEFT 0 in this scenario leading to a stuck mouse button. This is a regression in 4.0 introduced by commit 04aae283ba6a8 ("Input: ALPS - do not mix trackstick and external PS/2 mouse data") This commit fixes this by passing in the touchpad evdev as dev2 parameter when calling alps_report_buttons for the pointingstick on alps v2 devices, so that alps_report_buttons correctly detect that we're already reporting the button as pressed via the touchpad evdev node, and will also send the release event there. Cc: stable@xxxxxxxxxxxxxxx # 4.0 Reported-by: Hans de Bruin <jmdebruin@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0fe0952b2191b19493adb847eb40c6f88e1caeaf Merge: 419a48c be77002 df6a0d6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:37:13 2015 +0200 Merge branches 'pm-sleep' and 'pm-domains' * pm-sleep: PM / watchdog: iTCO: stop watchdog during system suspend PM / sleep: add pm-trace support for suspending phase PM / sleep: add configurable delay for pm_test * pm-domains: PM / domains: avoid potential oops in pm_genpd_remove_device() PM / domains: factor out code to get the generic PM domain from a struct device PM / domains: quieten down generic pm domains PM / Domains: Sync runtime PM status with genpd after probe driver core / PM: Add PM domain callbacks for device setup/cleanup MAINTAINERS: add entry for Generic PM domains (genpd) commit 419a48ce8576e2617130bb6b6e20f824ddde1033 Merge: 17528b3 b34ef93 baa9a93 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:37:07 2015 +0200 Merge branches 'pm-cpufreq' and 'pm-cpuidle' * pm-cpufreq: intel_pstate: Knights Landing support intel_pstate: remove MSR test cpufreq: fix qoriq uniprocessor build cpufreq: hisilicon: add acpu driver cpufreq: powernv: Report cpu frequency throttling cpufreq: qoriq: rename the driver cpufreq: qoriq: Make the driver usable on all QorIQ platforms * pm-cpuidle: intel_idle: mark cpu id array as __initconst intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs intel_idle: Update support for Silvermont Core in Baytrail SOC ARM: cpuidle: Document the code ARM: cpuidle: Register per cpuidle device ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64 ARM64: cpuidle: Remove arm64 reference ARM64: cpuidle: Rename cpu_init_idle to a common function name ARM64: cpuidle: Replace cpu_suspend by the common ARM/ARM64 function ARM: cpuidle: Add a cpuidle ops structure to be used for DT ARM: cpuidle: Remove duplicate header inclusion commit 17528b31c5e2b2d40bb52954af88849303ebb915 Merge: 9a9ca16 71150d2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:36:15 2015 +0200 Merge branch 'pnp' * pnp: PNP: Avoid leaving unregistered device objects in lists PNP: Convert pnp_lock into a mutex PNP: tty/serial/8250/8250_fintek: Use module_pnp_driver to register driver PNP: platform/x86/apple-gmux: Use module_pnp_driver to register driver PNP: net/sb1000: Use module_pnp_driver to register driver PNP: media/rc: Use module_pnp_driver to register driver PNP: ide/ide-pnp: Use module_pnp_driver to register driver PNP: ata/pata_isapnp: Use module_pnp_driver to register driver PNP: tpm/tpm_infineon: Use module_pnp_driver to register driver PNP: Add helper macro for pnp_register_driver boilerplate PNP / ACPI: Use ACPI_COMPANION_SET() during initialization commit 9a9ca16e7a36a9daa93f6d2cf912170091d91ed6 Merge: 34a1b99 16ba08d Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:35:54 2015 +0200 Merge branch 'device-properties' * device-properties: device property: Introduce firmware node type for platform data device property: Make it possible to use secondary firmware nodes driver core: Implement device property accessors through fwnode ones driver core: property: Update fwnode_property_read_string_array() driver core: Add comments about returning array counts ACPI: Introduce has_acpi_companion() driver core / ACPI: Represent ACPI companions using fwnode_handle commit 34a1b99b9b4d81b0d835c08239c1180e83703bb7 Merge: 14bd8d7 8a5de52 6449188 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:35:38 2015 +0200 Merge branches 'acpi-blacklist' and 'acpi-video' * acpi-blacklist: ACPI / blacklist: Disable Vista compatibility for Sony VGN-SR19XN. * acpi-video: ACPI / video: Add force native backlight quirk for Lenovo Ideapad Z570 ACPI / video: Allow forcing native backlight on non win8 machines commit 14bd8d745afc1d84b1aae5357a8917127730373c Merge: 1a7fd41 1c832b3 9237516 dff1eb0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:35:21 2015 +0200 Merge branches 'acpi-ec', 'acpi-battery' and 'acpi-pmic' * acpi-ec: ACPI / EC: Call acpi_walk_dep_device_list() after installing EC opregion handler ACPI / EC: Add GPE reference counting debugging messages. ACPI / EC: Cleanup logging/debugging splitter support. * acpi-battery: ACPI / battery: make warning greppable * acpi-pmic: ACPI/PMIC: Fix typo in MODULE_DESCRIPTION in intel_pmic_crc.c commit 1a7fd41ac24004fa1d7527828e9cad88bb1f8f5e Merge: f303906 8765c5b Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:34:57 2015 +0200 Merge branch 'acpi-scan' * acpi-scan: ACPI / scan: Rework modalias creation when "compatible" is present ACPI / scan: Take the PRP0001 position in the list of IDs into account ACPI / scan: Simplify acpi_match_device() ACPI / scan: Generalize of_compatible matching ACPI / scan: fix fixed event handler return value commit f303906d4d5c22cdffe309807e2e21d9b8ff9a91 Merge: 39a8804 7b02cce 359597c 7b1a132 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:34:00 2015 +0200 Merge branches 'acpi-pm', 'acpi-enumeration' and 'acpi-sysfs' * acpi-pm: ACPI / PM: Enable all wakeup GPEs in suspend-to-idle ACPI / sleep: Drop acpi_suspend() which is not used * acpi-enumeration: ACPI: Add acpi_device_uid() for convenience ACPI: Update GPIO documentation to mention _DSD * acpi-sysfs: ACPI / sysfs: Treat the count field of counter_show() as unsigned commit 8765c5ba19490c9167fe0c4e05c2dfdcc39873a3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Apr 13 00:29:36 2015 +0200 ACPI / scan: Rework modalias creation when "compatible" is present Currently, the ACPI modalias creation covers two mutually exclusive cases: If the PRP0001 device ID is present in the device's list of ACPI/PNP IDs and the "compatible" property is present in _DSD, the created modalias will follow the OF rules of modalias creation. Otherwise, ACPI rules are used. However, that is not really desirable, because the presence of PRP0001 in the list of device IDs generally does not preclude using other ACPI/PNP IDs with that device and those other IDs may be of higher priority. In those cases, the other IDs should take preference over PRP0001 and therefore they also should be present in the modalias. For this reason, rework the modalias creation for ACPI so that it shows both the ACPI-style and OF-style modalias strings if the device has a non-empty list of ACPI/PNP IDs (other than PRP0001) and a valid "compatible" property at the same time. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 39a8804455fb23f09157341d3ba7db6d7ae6ee76 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 12 15:12:50 2015 -0700 Linux 4.0 commit 720d70716d137c0cb83b9a5279c384286c02a1c0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Apr 11 19:58:25 2015 -0700 sparc: Fix execution domain removal ksp must be 8-byte aligned. Cc: Richard Weinberger <richard@xxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 9058f3b326dbe8cd2ebea7f3cfe367b0d101039b Author: Richard Weinberger <richard@xxxxxx> Date: Sat Apr 11 21:45:22 2015 +0200 Remove rest of exec domains. It is gone from all archs, now we can remove the final bits. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit fa41b1c7dfa0453931afb32c9988af67a2ee28ae Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 30 07:30:38 2015 +0200 arch: Remove exec_domain from remaining archs Signed-off-by: Richard Weinberger <richard@xxxxxx> commit e6de3ca91cd7ee252ef271c96a4c480c1f3e071e Author: Richard Weinberger <richard@xxxxxx> Date: Fri Mar 27 09:55:52 2015 +0100 arc: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 3e66701cbda2e04bb62e0afe2f3d86c9d3d76b24 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:45:11 2014 +0200 xtensa: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit cb418fdb33feba951187f6e01e9f78d3cd2dacbb Author: Richard Weinberger <richard@xxxxxx> Date: Sun Apr 12 18:10:36 2015 +0200 xtensa: Autogenerate offsets in struct thread_info Maintaining offsets by hand is no fun. Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 3050a35fba296196cb00e87f4a96aa7d9ed17a7b Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:43:51 2014 +0200 x86: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 19b6d0b6df3e6b244959d9fc373ff75323f28e92 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:42:53 2014 +0200 unicore32: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit fd223849f10a28fa40201652b5f13d52fa8f2bb0 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:41:57 2014 +0200 um: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 89f191b31ceeb8e79c46815533b7d96c15e83720 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:40:49 2014 +0200 tile: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 14464772c95d351e802b7f07c1860d9e5bf2cafc Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:39:47 2014 +0200 sparc: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> commit daea906dd31843edc062faba82cd43c8b720305d Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:37:45 2014 +0200 sh: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 6a32591a4a38948d785a3bb0dac32d5be1f76354 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Sep 9 23:50:11 2014 +0200 s390: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 78d156b8d8e5884cb5af07f9e57a45a1ae5d59cf Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:28:15 2014 +0200 mn10300: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 6140de5aae4a490e7320215b4197874e37e0969c Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:21:49 2014 +0200 microblaze: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit a0075cd1cb79971ed6162e27fdb2ae76fc3008cf Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:19:34 2014 +0200 m68k: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 445a626afb7f8050ac290fee89d4d9d2ce43b3f2 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:18:15 2014 +0200 m32r: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 37f078ff4c97ad143a6dc2adae31e20a3f780ca7 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Apr 3 18:20:58 2015 +0200 m32r: Autogenerate offsets in struct thread_info Maintaining offsets by hand is no fun. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 7bd8301084dfaf9210f66142fadb62a2bee7588b Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:15:06 2014 +0200 frv: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 61622aa399ecc65601331b946395ce095cb7c9d8 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Apr 3 18:58:10 2015 +0200 blackfin: Remove exec_domain usage As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ede45dd302385007b7ee83148753654ab8453167 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Apr 3 18:56:16 2015 +0200 blackfin: Autogenerate offsets in struct thread_info Maintaining offsets by hand is no fun. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 9699a517e0029c4dc34159787a26a746dfab858b Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 17:09:40 2014 +0200 arm64: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit a4980448ed658db313da3195bcca634c7a5adafa Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 15:24:03 2014 +0200 arm: Remove signal translation and exec_domain As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 973f911f55a0e510dd6db8bbb29cd82ff138d3c0 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 30 08:14:16 2015 +0200 Remove execution domain support All users of exec_domain are gone, now we can get rid of that abandoned feature. To not break existing userspace we keep a dummy /proc/execdomains file which will always contain "0-0 Linux [kernel]". Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 3c7a49d0745a82845f017929eefa9ac1ad117355 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 14:52:04 2014 +0200 ia64: Remove Linux/x86 exec domain support As this series removes exec domain support we can get rid of this hack. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 125ec7b4e90cbae4eed5a7ff1ee479cc331dcf3c Author: Richard Weinberger <richard@xxxxxx> Date: Sun Jul 13 14:42:04 2014 +0200 arm: Remove RISC OS personality The RISC OS personality seems to be unused and untested for a long time. It is doubtful whether this personality worked ever as expected. Let's rip it out. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7667428f80526d908124e0647ac5dbe3dad88900 Merge: ff096ea f263fa3 905a808 99d4223 1a60667 159366e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:22 2015 +0100 Merge remote-tracking branches 'asoc/topic/wm2200', 'asoc/topic/wm5100', 'asoc/topic/wm8731', 'asoc/topic/wm8804' and 'asoc/topic/wm8996' into asoc-next commit ff096eae2ef7d5f1c62a340a4b670912c2df5b98 Merge: e343818 1b13fe7 f580f8a 5cf57f0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:20 2015 +0100 Merge remote-tracking branches 'asoc/topic/tegra', 'asoc/topic/tlv320aic23' and 'asoc/topic/ux500' into asoc-next commit e3438187d2a3b149f5c246ed740df3cf9d4df3d6 Merge: 1fa1e07 261e43a3 c36aa0a 1efb53a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:17 2015 +0100 Merge remote-tracking branches 'asoc/topic/rt5641', 'asoc/topic/rt5677' and 'asoc/topic/sh-cleanup' into asoc-next commit 1fa1e0731db9e5579afa60b6299b6c47447eee3a Merge: e1f0599 59c41d1 6a32888 8616774 d53d59e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:11 2015 +0100 Merge remote-tracking branches 'asoc/topic/omap', 'asoc/topic/qcom', 'asoc/topic/rcar' and 'asoc/topic/rt286' into asoc-next commit e1f059937a2b90a1dbf314959776d3f51b4ab20d Merge: 626761a 46172b6 c6b424f 5116ede fa41181 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:06 2015 +0100 Merge remote-tracking branches 'asoc/topic/link-param', 'asoc/topic/max98090', 'asoc/topic/max98925' and 'asoc/topic/nuc900' into asoc-next commit 626761ad022c01450330c5774399b35d7fc7a0ac Merge: b7af54a 02f5164 967beb2 7f2c52a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:49:03 2015 +0100 Merge remote-tracking branches 'asoc/topic/jack', 'asoc/topic/jz4740' and 'asoc/topic/kirkwood' into asoc-next commit b7af54a99218a110e6dcb8a1e9742d60d3c322c9 Merge: 41caf05 0aed112 9a42ab0 1169006 ca26418 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:59 2015 +0100 Merge remote-tracking branches 'asoc/topic/dmaengine', 'asoc/topic/fsi', 'asoc/topic/fsl' and 'asoc/topic/fsl-ssi' into asoc-next commit 41caf0564ea1a8a3b3cb572abc64d5116c150b6c Merge: 6ca4aba 3255639 b213b44 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:56 2015 +0100 Merge remote-tracking branches 'asoc/topic/cx20442' and 'asoc/topic/davinci' into asoc-next commit 6ca4aba43e52b0743c28a9fa7d550b96df63b4f0 Merge: 7ad2d1d f7d4bfe b3f5dbe 39c2618 158bf4e ada602b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:51 2015 +0100 Merge remote-tracking branches 'asoc/topic/4554', 'asoc/topic/ab8500', 'asoc/topic/ak4642', 'asoc/topic/arizona' and 'asoc/topic/atmel' into asoc-next commit 7ad2d1d5b069ce658d9c646c55278e161036dfca Merge: aab0bb1 3732255 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:49 2015 +0100 Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-next commit aab0bb17ef2440ef5f68dcde5f1a6b32dcdfa9fb Merge: 77b62fa a5e5e12 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:33 2015 +0100 Merge remote-tracking branch 'asoc/topic/intel' into asoc-next commit 77b62fa5d23988155132cf7fee44f2c209e3dc4c Merge: d1113af4 6b5b042 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:31 2015 +0100 Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next commit d1113af4e8c0f2cd71e52cb904447bd0eec8aa54 Merge: 89a88dd a5053a8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:30 2015 +0100 Merge remote-tracking branch 'asoc/topic/core' into asoc-next commit 89a88dd3d6823f46bfb1405c4b358f89d5526cd6 Merge: 3eaecb4 d7e3281 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:29 2015 +0100 Merge tag 'asoc-v4.1' into asoc-next ASoC: Changes for v4.1 A selection of changes for v4.1 so far. The main things are: - Move of jack registration to the card where it belongs. - Support for DAPM routes specified by both the machine driver and DT. # gpg: Signature made Thu 05 Mar 2015 01:10:27 GMT using RSA key ID 5D5487D0 # gpg: WARNING: digest algorithm MD5 is deprecated # gpg: please see https://gnupg.org/faq/weak-digest-algos.html for more information # gpg: Oops: keyid_from_fingerprint: no pubkey # 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 3eaecb4b50693378bb55cc633992e7f72be35687 Merge: 250acc7 8787041 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:27 2015 +0100 Merge remote-tracking branch 'asoc/fix/wm8741' into asoc-linus commit 250acc709ee23856eba8432f979e42ba64a9a8b6 Merge: a37a940 c01673e 3a82002 74ff960 a57069e 2f78dd7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:22 2015 +0100 Merge remote-tracking branches 'asoc/fix/ak4642', 'asoc/fix/atmel', 'asoc/fix/cs4271', 'asoc/fix/davinci' and 'asoc/fix/rcar' into asoc-linus commit a37a9407ca3cec1f9218657eaec43814db1673f6 Merge: a55ede1 cd02e3d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:21 2015 +0100 Merge remote-tracking branch 'asoc/fix/pcm512x' into asoc-linus commit a55ede1661268c1a6fe94078b7b08906dfa7b77a Merge: dad0e52 6212755 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:20 2015 +0100 Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus commit dad0e523ede5a6d2d20c54d0e179b36a54a9953b Merge: f22e6e8 14f0413c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Apr 12 19:48:19 2015 +0100 Merge tag 'asoc-fix-v4.0-rc7' into asoc-linus ASoC: Last minute fix for v4.0 This patch backs out a change that came in during the merge window which selects a configuration for GPIO4 on pcm512x CODECs that may not be suitable for all systems using the device. Changes for v4.1 will make this properly configurable but for now it's safest to revert to the v3.19 behaviour and leave the pin configuration alone. Sorry for sending this direct at the last minute but due to the GPIO misuse it'd be really good to get it in the release and I'd not realised it hadn't been sent yet - between some travel, a job change and other non-urgent fixes coming in I'd lost track of the urgency. It's been in -next for several weeks now, is isolated to the driver and fairly clear to inspection. # gpg: Signature made Sat 11 Apr 2015 22:14:17 BST using RSA key ID 5D5487D0 # gpg: WARNING: digest algorithm MD5 is deprecated # gpg: please see https://gnupg.org/faq/weak-digest-algos.html for more information # gpg: Oops: keyid_from_fingerprint: no pubkey # 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 a5e5e12bd4ed5cd1123ace4300b5c07230fbf21e Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Apr 13 02:16:21 2015 +0800 ASoC: Intel: fix array_size.cocci warnings sound/soc/intel/haswell/sst-haswell-ipc.c:646:28-29: WARNING: Use ARRAY_SIZE Use ARRAY_SIZE instead of dividing sizeof array with sizeof an element Semantic patch information: This makes an effort to find cases where ARRAY_SIZE can be used such as where there is a division of sizeof the array by the sizeof its first element or by any indexed element or the element type. It replaces the division of the two sizeofs by ARRAY_SIZE. Generated by: scripts/coccinelle/misc/array_size.cocci CC: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6a23b45f1d4b9961e9bf38bc9fb64dc154272abf Merge: 54d8ccc 64b4e25 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 12 10:56:12 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs and fs fixes from Al Viro: "Several AIO and OCFS2 fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: ocfs2: _really_ sync the right range ocfs2_file_write_iter: keep return value and current position update in sync [regression] ocfs2: do *not* increment ->ki_pos twice ioctx_alloc(): fix vma (and file) leak on failure fix mremap() vs. ioctx_kill() race commit 54d8ccc30270586f869bfb46ff8a8ca330c8aa23 Merge: 56fd85b 541d529 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 12 10:43:30 2015 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal Pull last minute thermal-SoC management fixes from Eduardo Valentin: "Specifics: - Minor fixes on ST and RCAR thermal drivers. - Avoid flooding kernel log when driver returns -EAGAIN. Note: I am sending this pull on Rui's behalf while he fixes issues in his Linux box" * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal: drivers: thermal: st: remove several sparse warnings thermal: constify of_device_id array thermal: Do not log an error if thermal_zone_get_temp returns -EAGAIN thermal: rcar: Fix typo in r8a73a4 SoC name commit 59c41d15e63063545b1f91f7ad5411c25f6d046d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 10:47:58 2015 +0200 ASoC: n810: Automatically disconnect non-connected pins All CODEC input and output widgets are either in the DAPM routing table or manually marked as non-connected. This means the card is fully routed and we can let the core take care of disconnecting non-connected pins. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d4bdaced1a81ca2953557f8ecae842b42879fda4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 10:47:57 2015 +0200 ASoC: n810: Consistently pass the card DAPM context to n810_ext_control() Some callers of n810_ext_control() pass the card DAPM context and some pass the CODEC DAPM context. Given that some of the widgets that are accessed in the function are in the card's context, always passing it is the obvious choice. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b213b44a96ed1f868f68b094dbcf8fc9622984ef Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 13:11:28 2015 +0200 ASoC: davinci-evm: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5cf57f0f6b25d046e6ea219d99681077edca5d7c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 13:01:02 2015 +0200 ASoC: mop500_ab8500: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02f51640fedb61ab17fcddbd6fdb40239a4f46d9 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 12:52:01 2015 +0200 ASoC: wm1133-ev1: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ada602b30e070e786caa6e14a2e17100c6bd6998 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 11:16:19 2015 +0200 ASoC: atmel: Improve machine driver compile test coverage The Atmel ASoC machine drivers don't have any compile time arch dependencies anymore. Make it possible to select them when COMPILE_TEST is enabled to get better compile test coverage. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ca92b8f5ad80e0d97f093dad81a4e4143c8edeb Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Apr 11 11:16:18 2015 +0200 ASoC: atmel: Add dependency to SND_SOC_I2C_AND_SPI where necessary The SND_AT91_SOC_SAM9G20_WM8731 and SND_AT91_SOC_SAM9X5_WM8731 machine driver symbols select SND_SOC_WM8731 which depends on SND_SOC_I2C_AND_SPI. So the machine driver symbols need to depend on SND_SOC_I2C_AND_SPI as well, otherwise we might end up with a invalid configuration, which will sooner or later upset the randconfig auto-builders. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 066450be419fa48007a9f29e19828f2a86198754 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Apr 12 11:11:21 2015 +0200 perf/x86/intel/pt: Clean up the control flow in pt_pmu_hw_init() Dan Carpenter pointed out that the control flow in pt_pmu_hw_init() is a bit messy: for example the kfree(de_attrs) is entirely superfluous. Another problem is the inconsistent mixing of label based and direct return error handling. Add modern, label based error handling instead and clean up the code a bit as well. Note that we'll still do a kfree(NULL) in the normal case - this does not matter as this is an init path and kfree() returns early if it sees a NULL. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150409090805.GG17605@mwanda Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c30cf8cbe55413cd643a0bdd3442d75950caa918 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sun Apr 12 09:16:11 2015 +0200 ALSA: control: Fix a typo of SNDRV_CTL_ELEM_ACCESS_TLV_* with SNDRV_CTL_TLV_OP_* The commit [39d118677baa: ALSA: ctl: evaluate macro instead of numerical value] replaced the numbers with constants, but one place was replaced wrongly with a different type. Fixed now. Fixes: 39d118677baa ('ALSA: ctl: evaluate macro instead of numerical value') Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eef0342cf32689f77d78ee3302999e5caaa6a8f3 Author: Adam Honse <calcprogrammer1@xxxxxxxxx> Date: Sun Apr 12 01:03:07 2015 -0500 ALSA: usb-audio: Don't attempt to get Microsoft Lifecam Cinema sample rate Adds Microsoft LifeCam Cinema USB ID to the snd_usb_get_sample_rate_quirk list as the Lifecam Cinema does not appear to support getting the sample rate. Fixes the issue where the LifeCam Cinema would wait for USB timeout and log the message "cannot get freq at ep 0x82" when accessed. Addresses bug report https://bugzilla.kernel.org/show_bug.cgi?id=95961. Signed-off-by: Adam Honse <calcprogrammer1@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4461471107b79bee16c497c9f7f69fa26126ae5b Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 01:09:05 2015 -0400 ext4 crypto: enable filename encryption Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1f3862b5575b138e83080232706e37ee24b8093e Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 01:09:03 2015 -0400 ext4 crypto: filename encryption modifications Modifies htree_dirblock_to_tree, dx_make_map, ext4_match search_dir, and ext4_find_dest_de to support fname crypto. Filename encryption feature is not yet enabled at this patch. Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b30984864406ad01b72eee486add103e9cb3526f Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 01:07:01 2015 -0400 ext4 crypto: partial update to namei.c for fname crypto Modifies dx_show_leaf and dx_probe to support fname encryption. Filename encryption not yet enabled. Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 4bdfc873ba34e425d6532581b4127b960274272a Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:56:28 2015 -0400 ext4 crypto: insert encrypted filenames into a leaf directory block Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 2f61830ae33e2944ad66bb8bb40916f534b2e494 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Apr 12 00:56:26 2015 -0400 ext4 crypto: teach ext4_htree_store_dirent() to store decrypted filenames For encrypted directories, we need to pass in a separate parameter for the decrypted filename, since the directory entry contains the encrypted filename. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit d5d0e8c7203a41c01ba05f4e053e16a94ce3c2e1 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:56:17 2015 -0400 ext4 crypto: filename encryption facilities Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit c9c7429c2e486f375bddd0c338cc3ad366123717 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:56:10 2015 -0400 ext4 crypto: implement the ext4 decryption read path Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 2058f83a728adffbe00bded4f804b37a5ee58cbe Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:55:10 2015 -0400 ext4 crypto: implement the ext4 encryption write path Pulls block_write_begin() into fs/ext4/inode.c because it might need to do a low-level read of the existing data, in which case we need to decrypt it. Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit dde680cefc842e58524772099a3b8219e5abf551 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:55:09 2015 -0400 ext4 crypto: inherit encryption policies on inode and directory create Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit d9cdc903318171571f1cd1e5737fd0cab94186be Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Apr 12 00:55:08 2015 -0400 ext4 crypto: enforce context consistency Enforce the following inheritance policy: 1) An unencrypted directory may contain encrypted or unencrypted files or directories. 2) All files or directories in a directory must be protected using the same key as their containing directory. As a result, assuming the following setup: mke2fs -t ext4 -Fq -O encrypt /dev/vdc mount -t ext4 /dev/vdc /vdc mkdir /vdc/a /vdc/b /vdc/c echo foo | e4crypt add_key /vdc/a echo bar | e4crypt add_key /vdc/b for i in a b c ; do cp /etc/motd /vdc/$i/motd-$i ; done Then we will see the following results: cd /vdc mv a b # will fail; /vdc/a and /vdc/b have different keys mv b/motd-b a # will fail, see above ln a/motd-a b # will fail, see above mv c a # will fail; all inodes in an encrypted directory # must be encrypted ln c/motd-c b # will fail, see above mv a/motd-a c # will succeed mv c/motd-a a # will succeed Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 88bd6ccdcdd638faa11e9746affc21d5f2fe2acf Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:55:06 2015 -0400 ext4 crypto: add encryption key management facilities Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <muslukhovi@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b30ab0e03407d2aa2d9316cba199c757e4bfc8ad Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sun Apr 12 00:43:56 2015 -0400 ext4 crypto: add ext4 encryption facilities On encrypt, we will re-assign the buffer_heads to point to a bounce page rather than the control_page (which is the original page to write that contains the plaintext). The block I/O occurs against the bounce page. On write completion, we re-assign the buffer_heads to the original plaintext page. On decrypt, we will attach a read completion callback to the bio struct. This read completion will decrypt the read contents in-place prior to setting the page up-to-date. The current encryption mode, AES-256-XTS, lacks cryptographic integrity. AES-256-GCM is in-plan, but we will need to devise a mechanism for handling the integrity data. Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 7da839c475894ea872ec909a5d2e83dddccff5be Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 14:01:33 2015 -0400 ocfs2: use __generic_file_write_iter() we can do that now - all we need is to clear IOCB_DIRECT from ->ki_flags in "can't do dio" case. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2ba48ce513c4e545318d22b138861d5876edf906 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 13:52:01 2015 -0400 mirror O_APPEND and O_DIRECT into iocb->ki_flags ... avoiding write_iter/fcntl races. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3309dd04cbcd2cdad168485af5cf3576b5051e49 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 12:55:47 2015 -0400 switch generic_write_checks() to iocb and iter ... returning -E... upon error and amount of data left in iter after (possible) truncation upon success. Note, that normal case gives a non-zero (positive) return value, so any tests for != 0 _must_ be updated. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Conflicts: fs/ext4/file.c commit 90320251db0fe3d05f2b10686ec936c7d6ecd99a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 11:14:45 2015 -0400 ocfs2: move generic_write_checks() before the alignment checks Alignment checks for dio depend upon the range truncation done by generic_write_checks(). They can be done as soon as we got ocfs2_rw_lock() and that actually makes ocfs2_prepare_inode_for_write() simpler. The only thing to watch out for is restoring the original count in "unlock and redo without dio" case. Position doesn't need to be restored, since we change it only in O_APPEND case and in that case it will be reassigned anyway. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5dc3161cb63265adca0c34fac79512af59b776a4 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 07:25:03 2015 -0400 ocfs2_file_write_iter: stop messing with ppos it's &iocb->ki_pos; no need to obfuscate. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit dfea934575164497a9e36074ebce606a1a278ed9 Merge: 165f1a6 64b4e25 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 22:29:51 2015 -0400 Merge branch 'for-linus' into for-next commit 165f1a6e300d5a1ffb57cf9a9c8762de731228f2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 15:26:36 2015 -0400 udf_file_write_iter: reorder and simplify it's easier to do generic_write_checks() first Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6b775b18eecf60b8a44723e05f8eb6251b71a7a9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 15:06:19 2015 -0400 fuse: ->direct_IO() doesn't need generic_write_checks() already done by caller. We used to call __fuse_direct_write(), which called generic_write_checks(); now the former got expanded, bringing the latter to the surface. It used to be called all along and calling it from there had been wrong all along... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e768d7ff7b923a74a019d8782e6ee75dc1de12c1 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 14:48:22 2015 -0400 ext4_file_write_iter: move generic_write_checks() up simpler that way... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 99733fa372eaaa59cfb93fd383cee7b0ff056e1d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 14:25:18 2015 -0400 xfs_file_aio_write_checks: switch to iocb/iov_iter Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0fa6b005afdb3152ce85df963302e59b61115f9b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 04:05:48 2015 -0400 generic_write_checks(): drop isblk argument all remaining callers are passing 0; some just obscure that fact. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7ec7b94a3339756dfbb88234e3e45a428e8c08fb Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:35:14 2015 -0400 blkdev_write_iter: expand generic_file_checks() call in there Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5f380c7fa7e01f15ca0816bd241ece9a64a73192 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:28:12 2015 -0400 lift generic_write_checks() into callers of __generic_file_write_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0b8def9d6dfa6b2a9a2740cf81d8d2c134688d39 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 10:22:53 2015 -0400 __generic_file_write_iter: keep ->ki_pos and return value consistent A side effect worth noting: in O_APPEND case we set ->ki_pos early, so if it turns out to be an error or a zero-length write, we'll end up with ->ki_pos modified. Safe, since all callers never look at the ->ki_pos after the call of __generic_file_write_iter() returning non-positive, all the way to caller of ->write_iter() and those discard ->ki_pos when getting that. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e9d1593d4e9311bca040ecf6ec7599e6f235140c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 22:44:11 2015 -0400 cifs: fold cifs_iovec_write() into the only caller Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ccca26835dc27f7ba54e09d7aa03f462684a1927 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Apr 5 14:06:24 2015 -0400 ntfs: move iov_iter_truncate() closer to generic_write_checks() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit f765b134c0d3f294f6084d3e0a11de184059a387 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 20:50:38 2015 -0400 new_sync_write(): discard ->ki_pos unless the return value is positive That allows ->write_iter() instances much more convenient life wrt iocb->ki_pos (and fixes several filesystems with borderline POSIX violations when zero-length write succeeds and changes the current position). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 22c6186ecea0be9eff1c399298ad36e94a59995f Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Mon Mar 16 04:33:53 2015 -0700 direct_IO: remove rw from a_ops->direct_IO() Now that no one is using rw, remove it completely. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6f67376318abea58589ebe6d69dffeabb6f6c26a Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Mon Mar 16 04:33:52 2015 -0700 direct_IO: use iov_iter_rw() instead of rw everywhere The rw parameter to direct_IO is redundant with iov_iter->type, and treated slightly differently just about everywhere it's used: some users do rw & WRITE, and others do rw == WRITE where they should be doing a bitwise check. Simplify this with the new iov_iter_rw() helper, which always returns either READ or WRITE. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a95cd6311512bd954e88684eb39373f7f4b0a984 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Mon Mar 16 04:33:51 2015 -0700 Remove rw from dax_{do_,}io() And use iov_iter_rw() instead. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 17f8c842d24ac054e4212c82b5bd6ae455a334f3 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Mon Mar 16 04:33:50 2015 -0700 Remove rw from {,__,do_}blockdev_direct_IO() Most filesystems call through to these at some point, so we'll start here. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit bd8e0ff956456ad9071dbb6c2ed7d33bd22fc216 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Tue Mar 17 14:04:02 2015 -0700 new helper: iov_iter_rw() Get either READ or WRITE out of iter->type. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8436318205b9f29e45db88850ec60e326327e241 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 01:14:53 2015 -0400 ->aio_read and ->aio_write removed no remaining users Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1c65d98672e09a0cb28e1e9ae49e9d96355f522f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 00:19:32 2015 -0400 pcm: another weird API abuse readv() and writev() should _not_ ignore all but the first ->iov_len, among other things. Really weird abuse of those syscalls - it expects a vector element per channel, with identical lengths (it actually assumes them to be identical - no checking is done). readv() and writev() are really bad match for that. Unfortunately, userland API is userland API and we can't do anything about them. Converted to ->read_iter/->write_iter. Please, _please_ don't do anything of that kind when designing new interfaces. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4961772560d2f19695c73ece943716033ad62ac2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 00:11:32 2015 -0400 infinibad: weird APIs switched to ->write_iter() Things Not To Do When Writing A Driver, part 1001st: have writev() and write() on the same file doing completely different things. As in, "interpret very different sets of commands". We _can_ handle that, but it's a bloody bad idea. Don't do that in new drivers. Ever. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9a219bc70b54523c8f14a3c957179854785ee97c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 22:10:20 2015 -0400 kill do_sync_read/do_sync_write all remaining instances of aio_{read,write} (all 4 of them) have explicit ->read and ->write resp.; do_sync_read/do_sync_write is never called by __vfs_read/__vfs_write anymore and no other users had been left. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6c09e94a32e1094983d39879b9e8ccf9ffdcfa36 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 22:06:08 2015 -0400 fuse: use iov_iter_get_pages() for non-splice path store reference to iter instead of that to iovec Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fbdbacca6153101f85cbc4ad8eb19bf0dde6a5cc Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 21:53:39 2015 -0400 fuse: switch to ->read_iter/->write_iter we just change the calling conventions here; more work to follow. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cd28e28d801e052a3378161c9cb3231828cfaa77 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:57:04 2015 -0400 switch drivers/char/mem.c to ->read_iter/->write_iter Note that _these_ guys have ->read() and ->write() left in place - they are eqiuvalent to what we'd get if we replaced those with NULL, but we are talking about hot paths here. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5d5d568975307877e9195f5305f4240e506a2807 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:41:18 2015 -0400 make new_sync_{read,write}() static All places outside of core VFS that checked ->read and ->write for being NULL or called the methods directly are gone now, so NULL {read,write} with non-NULL {read,write}_iter will do the right thing in all cases. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 86cc05840a0da1afcb6b8151b53f3b606457c91b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:23:17 2015 -0400 coredump: accept any write method Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 283e7e5d249f4861c797679b6a5b53d525194c98 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:21:59 2015 -0400 switch /dev/loop to vfs_iter_write() all writable files that might be used as backing store for /dev/loop already support ->write_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 79ff50c09eee690985e178417b36d7128ece8b68 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:14:42 2015 -0400 serial2002: switch to __vfs_read/__vfs_write Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e145286685fe6a9eb3f984832b0667d0407081b1 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:09:38 2015 -0400 ashmem: use __vfs_read() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3d04c8a17f1a0041a6851cf64f3da8c40deed837 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:09:18 2015 -0400 export __vfs_read() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a35fb914ae62a58ca7519778fffac722c6ae255f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:07:48 2015 -0400 autofs: switch to __vfs_write() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 493c84c0722ac991a96df2fd6c7798b2126b626c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 15:06:43 2015 -0400 new helper: __vfs_write() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c48722c6364ec94738afa42e48b1e1f8f20e3192 Merge: 34d0640 dcdbd7b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 22:28:58 2015 -0400 Merge branch '9p-iov_iter' into for-next commit 34d0640e268923bb1fb9d244a047cdfcd3f77909 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 11:31:35 2015 -0400 switch hugetlbfs to ->read_iter() ... and fix the case when the area we are asked to read crosses a hugepage boundary Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c12c49e70218ed1bde28fc8182ac274889d15b9d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 10:58:11 2015 -0400 coda: switch to ->read_iter/->write_iter ... and request the same from the local cache - all filesystems with anything usable for that support those already. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 274a48869b26c53c641f146b312486e1693f4d61 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 23:30:18 2015 -0400 ncpfs: switch to ->read_iter/->write_iter Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit dcdbd7b269003bec7d729ca3fd143f93cf98f56e Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 23:11:36 2015 -0400 net/9p: remove (now-)unused helpers Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 21c9f5ccb103868c730aec6f8548e144ec397fed Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 21:47:49 2015 -0400 p9_client_attach(): set fid->uid correctly it's almost always equal to current_fsuid(), but there's an exception - if the first writeback fid is opened by non-root *and* that happens before root has done any lookups in /, we end up doing attach for root. The current code leaves the resulting FID owned by root from the server POV and by non-root from the client one. Unfortunately, it means that e.g. massive dcache eviction will leave that user buggered - they'll end up redoing walks from / *and* picking that FID every time. As soon as they try to create something, the things will get nasty. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ce85dd58ad5a6c209bb6e7413997b87b667db7ad Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 12:02:03 2015 -0400 9p: we are leaking glock.client_id in v9fs_file_getlock() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e494b6b5e1034db00571c44e089e6fe3845b6e8c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 23:59:57 2015 -0400 9p: switch to ->read_iter/->write_iter Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 42b1ab979d92d21ae2ea376e77f33f18973b9581 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 23:49:24 2015 -0400 9p: get rid of v9fs_direct_file_read() do it in ->direct_IO()... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e1200fe68f20759f359698f8a8dc81d06d1265f5 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 23:42:28 2015 -0400 9p: switch p9_client_read() to passing struct iov_iter * ... and make it loop Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9565a5445240cd441f2c670aa7260ee8eb5dff79 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 22:32:23 2015 -0400 9p: get rid of v9fs_direct_file_write() just handle it in ->direct_IO() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c711a6b111322941a41bb024dbcc22b9858d5dd6 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 22:04:46 2015 -0400 9p: fold v9fs_file_write_internal() into the caller Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 371098c6a689da81fbb53bf7acf128f89a6efa09 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 21:54:42 2015 -0400 9p: switch ->writepage() to direct use of p9_client_write() Don't mess with kmap() - just use ITER_BVEC. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 070b3656cf228eaaef7b28b59264c5c7cdbdd0fb Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 20:17:51 2015 -0400 9p: switch p9_client_write() to passing it struct iov_iter * ... and make it loop until it's done Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4f3b35c157e43107cc7e1f1aa06694e8b22e10bb Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 19:57:53 2015 -0400 net/9p: switch the guts of p9_client_{read,write}() to iov_iter ... and have get_user_pages_fast() mapping fewer pages than requested to generate a short read/write. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6e242a1ceeb1bcf55ffefa84d3079f711fe8a667 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:35:13 2015 -0400 nommu: use __vfs_read() ... instead of open-coding the call of ->read() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d0f88f8d5da674445f23ace60bb1896f4a3a3783 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:30:48 2015 -0400 acct: check FMODE_CAN_WRITE it's not calling ->write() directly anymore. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 47e393622bbdd48aa21837eb2c55ee1c359e080c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 11:54:59 2015 -0400 aio_run_iocb(): kill dead check We check if ->ki_pos is positive. However, by that point we have already done rw_verify_area(), which would have rejected such unless the file had been one of /dev/mem, /dev/kmem and /proc/kcore. All of which do not have vectored rw methods, so we would've bailed out even earlier. This check had been introduced before rw_verify_area() had been added there - in fact, it was a subset of checks done on sync paths by rw_verify_area() (back then the /dev/mem exception didn't exist at all). The rest of checks (mandatory locking, etc.) hadn't been added until later. Unfortunately, by the time the call of rw_verify_area() got added, the /dev/mem exception had already appeared, so it wasn't obvious that the older explicit check downstream had become dead code. It *is* a dead code, though, since the few files for which the exception applies do not have ->aio_{read,write}() or ->{read,write}_iter() and for them we won't reach that check anyway. What's more, even if we ever introduce vectored methods for /dev/mem and friends, they'll have to cope with negative positions anyway, since readv(2) and writev(2) are using the same checks as read(2) and write(2) - i.e. rw_verify_area(). Let's bury it. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 08397acdd0f02d566154c9ac7f625ae8e77133b3 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 11:43:52 2015 -0400 ioctx_alloc(): remove pointless check Way, way back kiocb used to be picked from arrays, so ioctx_alloc() checked for multiplication overflow when calculating the size of such array. By the time fs/aio.c went into the tree (in 2002) they were already allocated one-by-one by kmem_cache_alloc(), so that check had already become pointless. Let's bury it... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 23602adfee71894d04ce2b69cbd6d29ab2e77d6d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 23:39:16 2015 -0400 lustre: kill unused members of struct vvp_thread_info Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 812408fb51ef580200b169c5a0f653adb248f05b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 22:15:58 2015 -0400 expand __fuse_direct_write() in both callers it's actually shorter that way *and* later we'll want iocb in scope of generic_write_check() caller. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 15316263649d9eed393d75095b156781a877eb06 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 22:08:36 2015 -0400 fuse: switch fuse_direct_io_file_operations to ->{read,write}_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cfa86a74122942a18806f861eeb2a0b97676a598 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 09:01:45 2015 -0400 cuse: switch to iov_iter Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 39c853ebfe169f187a760b34f9cbf54751bfce00 Merge: fdc81f4 01e97e6 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 22:27:19 2015 -0400 Merge branch 'for-davem' into for-next commit fdc81f45e9f57858da6351836507fbcf1b7583ee Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:25:30 2015 -0400 sg_start_req(): use import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 451a2886b6bf90e2fb378f7c46c655450fb96e81 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:08:18 2015 -0400 sg_start_req(): make sure that there's not too many elements in iovec unfortunately, allowing an arbitrary 16bit value means a possibility of overflow in the calculation of total number of pages in bio_map_user_iov() - we rely on there being no more than PAGE_SIZE members of sum in the first loop there. If that sum wraps around, we end up allocating too small array of pointers to pages and it's easy to overflow it in the second loop. X-Coverup: TINC (and there's no lumber cartel either) Cc: stable@xxxxxxxxxxxxxxx # way, way back Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8f7e885a4cc167f8b1931800fa1319772ae4b11d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:06:04 2015 -0400 blk_rq_map_user(): use import_single_range() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e272b89ff8fb63902294ba6eadd14729e2880ade Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:02:55 2015 -0400 sg_io(): use import_iovec() ... and don't skip access_ok() validation. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 17d17e728224f69311675e2ff312e992b7cc7b1e Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 14:47:11 2015 -0400 process_vm_access: switch to {compat_,}import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b353a1f7bbd6c015e8563e902f7c78710348e28f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 09:59:38 2015 -0400 switch keyctl_instantiate_key_common() to iov_iter Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0504c074b546651f19f23a214b76d145d3a0f5af Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:40:11 2015 -0400 switch {compat_,}do_readv_writev() to {compat_,}import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 32a56afa23e157b444b6c2b943322ea0d119517b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:34:53 2015 -0400 aio_setup_vectored_rw(): switch to {compat_,}import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 345995fa48c599210fd339a768eb68dead430b79 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:17:55 2015 -0400 vmsplice_to_user(): switch to import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d4fb392f4c5e57197a43b729e6fad5e02e5acaca Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:11:55 2015 -0400 kill aio_setup_single_vector() identical to import_single_range() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 36e9f6535f398952772df5238b23e795a2810f86 Merge: a96114f bc917be Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 22:26:51 2015 -0400 Merge branch 'iov_iter' into for-next commit a96114fa1acaabca1091a27aacebd945a5733075 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:40:18 2015 -0400 aio: simplify arguments of aio_setup_..._rw() We don't need req in either of those. We don't need nr_segs in caller. We don't really need len in caller either - iov_iter_count(&iter) will do. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4c185ce06dca14f5cea192f5a2c981ef50663f2b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:17:32 2015 -0400 aio: lift iov_iter_init() into aio_setup_..._rw() the only non-trivial detail is that we do it before rw_verify_area(), so we'd better cap the length ourselves in aio_setup_single_rw() case (for vectored case rw_copy_check_uvector() will do that for us). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ac15ac0669d5f5ce7fddec0d9cf3721c42d77a2c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 20:10:21 2015 -0400 lift iov_iter into {compat_,}do_readv_writev() get it closer to matching {compat_,}rw_copy_check_uvector(). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c0fec3a98bd6c4d992f191ee1aa0b3599213f3d4 Merge: c1b8940 e2e40f2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 22:24:41 2015 -0400 Merge branch 'iocb' into for-next commit c1b8940b42bb6487b10f2267a96b486276ce9ff7 Author: Andrew Elble <aweits@xxxxxxx> Date: Mon Feb 23 08:51:24 2015 -0500 NFS: fix BUG() crash in notify_change() with patch to chown_common() We have observed a BUG() crash in fs/attr.c:notify_change(). The crash occurs during an rsync into a filesystem that is exported via NFS. 1.) fs/attr.c:notify_change() modifies the caller's version of attr. 2.) 6de0ec00ba8d ("VFS: make notify_change pass ATTR_KILL_S*ID to setattr operations") introduced a BUG() restriction such that "no function will ever call notify_change() with both ATTR_MODE and ATTR_KILL_S*ID set". Under some circumstances though, it will have assisted in setting the caller's version of attr to this very combination. 3.) 27ac0ffeac80 ("locks: break delegations on any attribute modification") introduced code to handle breaking delegations. This can result in notify_change() being re-called. attr _must_ be explicitly reset to avoid triggering the BUG() established in #2. 4.) The path that that triggers this is via fs/open.c:chmod_common(). The combination of attr flags set here and in the first call to notify_change() along with a later failed break_deleg_wait() results in notify_change() being called again via retry_deleg without resetting attr. Solution is to move retry_deleg in chmod_common() a bit further up to ensure attr is completely reset. There are other places where this seemingly could occur, such as fs/utimes.c:utimes_common(), but the attr flags are not initially set in such a way to trigger this. Fixes: 27ac0ffeac80 ("locks: break delegations on any attribute modification") Reported-by: Eric Meddaugh <etmsys@xxxxxxx> Tested-by: Eric Meddaugh <etmsys@xxxxxxx> Signed-off-by: Andrew Elble <aweits@xxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3d330dc175d3faf518cf035be5ae6a39bf256e6e Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Feb 10 10:55:53 2015 -0500 dcache: return -ESTALE not -EBUSY on distributed fs race On a distributed filesystem it's possible for lookup to discover that a directory it just found is already cached elsewhere in the directory heirarchy. The dcache won't let us keep the directory in both places, so we have to move the dentry to the new location from the place we previously had it cached. If the parent has changed, then this requires all the same locks as we'd need to do a cross-directory rename. But we're already in lookup holding one parent's i_mutex, so it's too late to acquire those locks in the right order. The (unreliable) solution in __d_unalias is to trylock() the required locks and return -EBUSY if it fails. I see no particular reason for returning -EBUSY, and -ESTALE is already the result of some other lookup races on NFS. I think -ESTALE is the more helpful error return. It also allows us to take advantage of the logic Jeff Layton added in c6a9428401c0 "vfs: fix renameat to retry on ESTALE errors" and ancestors, which hopefully resolves some of these errors before they're returned to userspace. I can reproduce these cases using NFS with: ssh root@$client ' mount -olookupcache=pos '$server':'$export' /mnt/ mkdir /mnt/TO mkdir /mnt/DIR touch /mnt/DIR/test.txt while true; do strace -e open cat /mnt/DIR/test.txt 2>&1 | grep EBUSY done ' ssh root@$server ' while true; do mv $export/DIR $export/TO/DIR mv $export/TO/DIR $export/DIR done ' It also helps to add some other concurrent use of the directory on the client (e.g., "ls /mnt/TO"). And you can replace the server-side mv's by client-side mv's that are repeatedly killed. (If the client is interrupted while waiting for the RENAME response then it's left with a dentry that has to go under one parent or the other, but it doesn't yet know which.) Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a632f5593041305c8adbf4727bc1ccdf0b45178b Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Wed Mar 11 10:43:32 2015 -0400 NTFS: Version 2.1.32 - Update file write from aio_write to write_iter. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 171a02032bf1e1bb35442a38d6e25e0dcbb85c63 Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Wed Mar 11 10:43:31 2015 -0400 VFS: Add iov_iter_fault_in_multipages_readable() simillar to iov_iter_fault_in_readable() but differs in that it is not limited to faulting in the first iovec and instead faults in "bytes" bytes iterating over the iovecs as necessary. Also, instead of only faulting in the first and last page of the range, all pages are faulted in. This function is needed by NTFS when it does multi page file writes. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e5b811e38af7540b385c898d83eb0198310343fd Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 23:36:51 2015 -0400 drop bogus check in file_open_root() For one thing, LOOKUP_DIRECTORY will be dealt with in do_last(). For another, name can be an empty string, but not NULL - no callers pass that and it would oops immediately if they would. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3f7036a071b879da017eddaedb10fba173fdf1ff Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 19:28:30 2015 -0400 switch security_inode_getattr() to struct path * Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2247386243747500977dc92b1ab833401303f9f0 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 19:24:30 2015 -0400 constify tomoyo_realpath_from_path() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 74008b365dcb921781f7430c1fc279be7778327b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 05:46:21 2015 -0500 whack-a-mole: there's no point doing set_fs(USER_DS) in sigframe setup Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a555ad450f973528825201a5fedbe46374f86644 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 03:21:31 2015 -0500 whack-a-mole: no need to set_fs(USER_DS) in {start,flush}_thread() flush_old_exec() has already done that. Back on 2011 a bunch of instances like that had been kicked out, but that hadn't taken care of then-out-of-tree architectures, obviously, and they served as reinfection vector... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9e7543e9398ddd9679fbc81748a3e62eff4ab105 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 02:49:48 2015 -0500 remove incorrect comment in lookup_one_len() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 74eb8cc5a5f8ec85b8f6b8daebbce05a27e77e2a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 02:44:36 2015 -0500 namei.c: fold do_path_lookup() into both callers Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fd2f7cb5bcac58b63717cd45366bff9a6ab961c6 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 20:07:13 2015 -0500 kill struct filename.separate just make const char iname[] the last member and compare name->name with name->iname instead of checking name->separate We need to make sure that out-of-line name doesn't end up allocated adjacent to struct filename refering to it; fortunately, it's easy to achieve - just allocate that struct filename with one byte in ->iname[], so that ->iname[0] will be inside the same object and thus have an address different from that of out-of-line name [spotted by Boqun Feng <boqun.feng@xxxxxxxxx>] Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 56fd85b5dd595c84ed12b4b12e9b271876ac34de Merge: 12522ee 14f0413c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 15:57:36 2015 -0700 Merge tag 'asoc-fix-v4.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound Pull last-minute ASoC fix from Mark Brown: "This patch backs out a change that came in during the merge window which selects a configuration for GPIO4 on pcm512x CODECs that may not be suitable for all systems using the device. Changes for v4.1 will make this properly configurable but for now it's safest to revert to the v3.19 behaviour and leave the pin configuration alone. Sorry for sending this direct at the last minute but due to the GPIO misuse it'd be really good to get it in the release and I'd not realised it hadn't been sent yet - between some travel, a job change and other non-urgent fixes coming in I'd lost track of the urgency. It's been in -next for several weeks now, is isolated to the driver and fairly clear to inspection" * tag 'asoc-fix-v4.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound: ASoC: pcm512x: Remove hardcoding of pll-lock to GPIO4 commit 56afdb70ca9140cdcbdcf01870f3e4e2e8be17f5 Merge: 165f228 956b200a 3006191 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:31 2015 +0100 Merge remote-tracking branches 'spi/topic/spidev' and 'spi/topic/spidev-test' into spi-next commit 165f2288e1fc82df0c429942f2b7aef69de17d72 Merge: 8afba18 612762e 76b17e6 c9bc3e8 0744ea2 b4e2754 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:25 2015 +0100 Merge remote-tracking branches 'spi/topic/qup', 'spi/topic/rockchip', 'spi/topic/rspi', 'spi/topic/s3c64xx' and 'spi/topic/sc18is602' into spi-next commit 8afba181b90fbad372c420c302a57c0c4f9fdae4 Merge: 35fbf84 db91841 d4f9dcd 7183d1e ea022bb eecacf7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:18 2015 +0100 Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/pl022', 'spi/topic/pm' and 'spi/topic/pxa2xx' into spi-next commit 35fbf8452ce6e7da4389d037a981c9d8d58dc1b7 Merge: 431959c 7f43a87 63031ed e8361f7 0935540 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:14 2015 +0100 Merge remote-tracking branches 'spi/topic/fsl-cspi', 'spi/topic/fsl-dspi', 'spi/topic/imx' and 'spi/topic/of-id' into spi-next commit 431959c0793e0d399303a061424dbaa1b33eb940 Merge: f9de734 057f606 38b6484 207cda9 ff61eb4 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:09 2015 +0100 Merge remote-tracking branches 'spi/topic/blackfin', 'spi/topic/cadence', 'spi/topic/dw' and 'spi/topic/err' into spi-next commit f9de73426c69ec3357c31a10af5f5acb037dbbaa Merge: 19655dd ea46732 b716c4f 704f32d b3e7766 232a5ad Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:03 2015 +0100 Merge remote-tracking branches 'spi/topic/atmel', 'spi/topic/bcm2385', 'spi/topic/bcm2835', 'spi/topic/bcm53xx' and 'spi/topic/bitbang' into spi-next commit 19655dd083290c371cbb5279839314a6927d9082 Merge: e897f79 8c2c8c0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:01 2015 +0100 Merge remote-tracking branch 'spi/topic/img-spfi' into spi-next commit e897f795a925c95082b6890c6c6a00286b702012 Merge: 31d25e5 22de3ef Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:09:00 2015 +0100 Merge remote-tracking branch 'spi/topic/core' into spi-next commit 31d25e5cdad8e627a6509261da8b1eb083d66107 Merge: 68a595c e689d6d f511ab0 754ec43 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:08:56 2015 +0100 Merge remote-tracking branches 'spi/fix/fsl-dspi', 'spi/fix/imx' and 'spi/fix/rockchip' into spi-linus commit 68a595c7754d22bfe741a27c7df0965160df575d Merge: f22e6e8 8543d0e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Apr 11 23:08:54 2015 +0100 Merge remote-tracking branch 'spi/fix/img-spfi' into spi-linus commit 8616774968f3baf0c49fc6bcca9550cac49034ee Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Apr 11 00:18:37 2015 +0200 ASoC: rnsd: fix build regression without CONFIG_OF The r-car sound driver only works when CONFIG_OF is set, and after a recent change has a compile-time dependency as well: sound/built-in.o: In function `rsnd_dma_request_channel': :(.text+0x9fb84): undefined reference to `of_dma_request_slave_channel' This could be fixed either by adding a static inline wrapper for the function, or by adding a Kconfig dependency. This implements the second approach, which seems appropriate because the driver in fact has a hard dependency. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 72adc61f4637aa3 ("ASoC: rsnd: 1st DMAC dma-names cares subnode") Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f6194213cbe871341cd5dfcfe31b4de78ef9503f Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Thu Mar 26 13:07:29 2015 +0000 clk: at91: change to using endian agnositc IO Change to using endian agnostic _relaxed IO accessors instead of __raw Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> -- CC: Andrew Victor <linux@xxxxxxxxxxxx> CC: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Mike Turquette <mturquette@xxxxxxxxxx> (maintainer:COMMON CLK FRAMEWORK) CC: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> (maintainer:COMMON CLK FRAMEWORK) CC: linux-kernel@xxxxxxxxxxxxxxx (open list:COMMON CLK FRAMEWORK) Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 14f0413ce3c400a74213a861bc8f47dca5e4d231 Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Mon Mar 23 21:17:01 2015 +0000 ASoC: pcm512x: Remove hardcoding of pll-lock to GPIO4 Currently GPIO4 is hardcoded to output the pll-lock signal. Unfortunately this is after the pll-out GPIO is configured which is selectable in the device tree. Therefore it is not possible to use GPIO4 for pll-out. Therefore this patch removes the configuration of GPIO4. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 12522eeac88165d0db56a6a19ab607addf728995 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 13:46:07 2015 -0700 Revert "dmaengine: Add a warning for drivers not using the generic slave caps retrieval" This reverts commit ecc19d17868be9c9f8f00ed928791533c420f3e0. It added a new warning to try to encourage driver writers to set the device capabities properly, but drivers haven't been updated and in the meantime it just generaters a scary message that users cannot actually do anything about. Warnings like these are appropriate if you actually expect to fix the code that causes them. They are not appropriate for releases. Requested-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ac2111753ca9350c8634c5d5f592628b32652cf3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 14:12:22 2015 -0700 blk-mq: initialize 'struct request' and associated data to zero Jan Engelhardt reports a strange oops with an invalid ->sense_buffer pointer in scsi_init_cmd_errh() with the blk-mq code. The sense_buffer pointer should have been initialized by the call to scsi_init_request() from blk_mq_init_rq_map(), but there seems to be some non-repeatable memory corruptor. This patch makes sure we initialize the whole struct request allocation (and the associated 'struct scsi_cmnd' for the SCSI case) to zero, by using __GFP_ZERO in the allocation. The old code initialized a couple of individual fields, leaving the rest undefined (although many of them are then initialized in later phases, like blk_mq_rq_ctx_init() etc. It's not entirely clear why this matters, but it's the rigth thing to do regardless, and with 4.0 imminent this is the defensive "let's just make sure everything is initialized properly" patch. Tested-by: Jan Engelhardt <jengelh@xxxxxxx> Acked-by: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01e97e6517053d7c0b9af5248e944a9209909cf5 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Dec 15 21:39:31 2014 -0500 new helper: msg_data_left() convert open-coded instances Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a2dd3793a1c3ac709f1d7b48ad7751563f4c654f Merge: d8725c8 53d5864 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 15:51:09 2015 -0400 Merge remote-tracking branch 'dh/afs' into for-davem commit d8725c86aebaf3516e220760aaf5fefc73825188 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 11 00:02:50 2014 -0500 get rid of the size argument of sock_sendmsg() it's equal to iov_iter_count(&msg->msg_iter) in all cases Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b641173915ae7b51c79abfde9580c3a381876bb1 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:29 2015 +0300 ixgbevf: Add the appropriate ethtool ops to query RSS indirection table and key Added get_rxfh_indir_size, get_rxfh_key_size and get_rxfh ethtool_ops callbacks implementations. This enables the ethtool's "-x" and "--show-rxfh[-indir]" options for VF devices. This patch adds the support for 82599 and x540 devices only. Support for other devices will be added later. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ad1431e2db5590bcc32ded8a27b3b5c0ced9add7 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:28 2015 +0300 ixgbevf: Add RSS Key query code Add the ixgbevf_get_rss_key() function that queries the PF for an RSS Random Key using a new VF-PF channel IXGBE_VF_GET_RSS_KEY command. This patch adds the support for 82599 and x540 devices only. Support for other devices will be added later. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3c0841a9229d9d3c33bab06b661314b82896c2d9 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:27 2015 +0300 ixgbe: Add GET_RSS_KEY command to VF-PF channel commands set For 82599 and x540 VFs and PF share the same RSS Key. Therefore we will return the same RSS key for all VFs. Support for other devices will be added later. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8fa5975900ba4e91e14a63f11fb7a026f60cecd5 Merge: 545124e ffeb13a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 10:52:13 2015 -0700 Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma Pull dmaengine fix from Vinod Koul: "I have one more fix to fix the boot warning on cppi driver due to missing capabilities" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: cppi41: add missing bitfields commit 545124e7773fc2f5f0f9574e5763583f7920d872 Merge: 3259b12 d0acf73 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 11 10:47:17 2015 -0700 Merge tag 'for-linus-4.0-1' of git://git.code.sf.net/p/openipmi/linux-ipmi Pull late ipmi fixes from Corey Minyard: "Some annoying issues in the IPMI driver that would be good to have fixed before 4.0 is released. These got reported or discovered late, but they will avoid some situations that would cause lots of log spam and in one case a deadlock" * tag 'for-linus-4.0-1' of git://git.code.sf.net/p/openipmi/linux-ipmi: ipmi_ssif: Use interruptible completion for waiting in the thread ipmi/powernv: Fix minor locking bug ipmi: Handle BMCs that don't allow clearing the rcv irq bit commit df63b9994eaf942afcdb946d27a28661d7dfbf2a Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Apr 10 14:58:39 2015 +0300 drm/atomic: Add for_each_{connector,crtc,plane}_in_state helper macros This saves some typing whenever a iteration over all the connector, crtc or plane states in the atomic state is written, which happens quite often. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 99dcab46b5a5b470074bec6d8386e2c7807684cf Author: Michael Gernoth <michael@xxxxxxxxxxx> Date: Sat Apr 11 18:00:19 2015 +0200 ALSA: emu10k1: add toggles for E-mu 1010 optical ports The optical ports on the E-mu 1010 (and dock) can be configured for ADAT- or S/PDIF-mode, which is currently hardcoded to ADAT. Add two mixer elements to expose this setting. Tested on an E-mu 1010 PCIe with connected Micro Dock. Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 94cf66f87064b8e4b24412f042b98e7cba4ebce2 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:26 2015 +0300 ixgbevf: Add a RETA query code We will currently support only 82599 and x540 devices. Support for other devices will be added later. - Added a new API version support. - Added the query implementation in the ixgbevf. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ffeb13aab68e2d0082cbb147dc765beb092f83f4 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Apr 8 11:45:42 2015 -0500 dmaengine: cppi41: add missing bitfields Add missing directions, residue_granularity, srd_addr_widths and dst_addr_widths bitfields. Without those we will see a kernel WARN() when loading musb on am335x devices. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit cab2ed7474bffafd2a68a885e03b85526194abcd Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Apr 11 17:41:04 2015 +0900 ALSA: ctl: fill identical information to return value when adding userspace elements currently some members related identical information are not fiiled in returned parameter of SNDRV_CTL_IOCTL_ELEM_ADD. This is not better for userspace application. This commit copies information to returned value. When failing to copy into userspace, the added elements are going to be removed. Then, no applications can lock these elements between adding and removing because these are already locked. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c378c3b03c8d6eef2d2600d0279e2c718d6a0a44 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Apr 11 17:41:03 2015 +0900 ALSA: ctl: fix a bug to return no identical information in info operation for userspace controls In operations of SNDRV_CTL_IOCTL_ELEM_INFO, identical information in returned value is cleared. This is not better to userspace application. This commit confirms to return full identical information to the operations. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c78497e010ae62c8abfb33a45d0e0b361218e9bb Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Apr 11 17:41:02 2015 +0900 ALSA: ctl: confirm to return all identical information in 'activate' event When event originator doesn't set numerical ID in identical information, the event data includes no numerical ID, thus userspace applications cannot identify the control just by unique ID in event data. This commit fix this bug so as the event data includes all of identical information. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fa863b2d5e62e2ea7d86ccfa9a888bd28dd79ebe Author: Michael Gernoth <michael@xxxxxxxxxxx> Date: Sat Apr 11 14:34:44 2015 +0200 ALSA: emu10k1: handle dock disconnects When the dock on an E-mu 1010 card is disconnected, all outputs get muted by the hardware. Add logic to detect a disconnect and unmute. Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c0278669fb61596cc1a10ab8686d27c37269c37b Author: Yves-Alexis Perez <corsac@xxxxxxxxxx> Date: Sat Apr 11 09:31:35 2015 +0200 ALSA: hda - Add dock support for ThinkPad X250 (17aa:2226) This model uses the same dock port as the previous generation. Signed-off-by: Yves-Alexis Perez <corsac@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 197175427a221fe3200f7727ea35e261727e7228 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Apr 1 17:30:36 2015 +0300 Documentation/memcg: update memcg/kmem status Memcg/kmem reclaim support has been finally merged. Reflect this in the documentation. Acked-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 82c91e87642dd6f88b9d9b1e5cc09232b6701eb0 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Sun Apr 5 11:50:02 2015 +0800 Documentation: blackfin: Makefile: Typo building issue Miss a ')' for ifneq in Makefile, the related building error: Documentation/blackfin/Makefile:2: *** invalid syntax in conditional. Stop. make[1]: *** [Documentation/blackfin] Error 2 Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 3250af197b0ad7b6935a955c7e5492cf49d39ccd Author: Randy Wright <rwright@xxxxxx> Date: Fri Apr 10 15:00:02 2015 -0600 Documentation/vm/pagemap.txt: correct location of page-types tool The page-types tool was relocated to tools/vm in the 3.4 kernel timeframe. Signed-off-by: Randy Wright <rwright@xxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9bd8212f981ea6375911fe055382ad7529be5b28 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sat Apr 11 07:48:01 2015 -0400 ext4 crypto: add encryption policy and password salt support Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Ildar Muslukhov <muslukhovi@xxxxxxxxx> commit 887e2c452255fbfdc8bdb891ff2066fb26908466 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sat Apr 11 07:47:00 2015 -0400 ext4 crypto: add encryption xattr support Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit e875a2ddba06ff8e84d4ce1c2bf69b67e4bf3678 Author: Michael Halcrow <mhalcrow@xxxxxxxxxx> Date: Sat Apr 11 07:46:49 2015 -0400 ext4 crypto: export ext4_empty_dir() Required for future encryption xattr changes. Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b17655fb7f4a1d27c1e50dcc28268612da944a54 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Apr 11 07:46:47 2015 -0400 ext4 crypto: add ext4 encryption Kconfig Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f542fbe8d5e842ed4e9ad6ccc6c2913407451c51 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Apr 11 07:44:12 2015 -0400 ext4 crypto: reserve codepoints used by the ext4 encryption feature Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 3b75232d55680ca166dffa274d0587d5faf0a016 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 10 15:06:59 2015 +0200 perf/x86/64: Report regs_user->ax too in get_regs_user() I don't see why we report e.g. orix_ax, which is not always meaningful, but don't report ax, which is meaningful. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1428671219-29341-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 32caa06091cc59651222cdc971dc21eaab36b097 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 10 15:06:58 2015 +0200 perf/x86/64: Simplify regs_user->abi setting code in get_regs_user() user_64bit_mode(regs) basically checks regs->cs to point to a 64-bit segment. This check used to be unreliable here because regs->cs was not always correct in syscalls. Now regs->cs is always correct: in syscalls, in interrupts, in exceptions. No need to emply heuristics here. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1428671219-29341-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5df71b396b2d1fdd9d9f5a33e2eda5dc27c5632d Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 10 15:06:57 2015 +0200 perf/x86/64: Do report user_regs->cx while we are in syscall, in get_regs_user() Yes, it is true that cx contains return address. It's not clear why we trash it. Stop doing that. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1428671219-29341-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aa21df0424468dbd991440d41ba0f700c5997103 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 10 15:06:56 2015 +0200 perf/x86/64: Do not guess user_regs->cs, ss, sp in get_regs_user() After recent changes to syscall entry points, user_regs->{cs,ss,sp} are always correct. (They used to be undefined while in syscalls). We can report them reliably, without guessing. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1428671219-29341-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f7e9e358362557c3aa2c1ec47490f29fe880a09e Author: Dave Olson <olson@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 21:28:45 2015 -0700 powerpc: Fix missing L2 cache size in /sys/devices/system/cpu This problem appears to have been introduced in 2.6.29 by commit 93197a36a9c1 "Rewrite sysfs processor cache info code". This caused lscpu to error out on at least e500v2 devices, eg: error: cannot open /sys/devices/system/cpu/cpu0/cache/index2/size: No such file or directory Some embedded powerpc systems use cache-size in DTS for the unified L2 cache size, not d-cache-size, so we need to allow for both DTS names. Added a new CACHE_TYPE_UNIFIED_D cache_type_info structure to handle this. Fixes: 93197a36a9c1 ("powerpc: Rewrite sysfs processor cache info code") Signed-off-by: Dave Olson <olson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c54b2bf1b5e99760d53ea0376e96a046f93df6ae Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Apr 9 12:52:56 2015 +1000 powerpc: Add ppc64 hard lockup detector support The hard lockup detector uses a PMU event as a periodic NMI to detect if we are stuck (where stuck means no timer interrupts have occurred). Ben's rework of the ppc64 soft disable code has made ppc64 PMU exceptions a partial NMI. They can get disabled if an external interrupt comes in, but otherwise PMU interrupts will fire in interrupt disabled regions. We disable the hard lockup detector by default for a few reasons: - It breaks userspace event based branches on POWER8. - It is likely to produce false positives on KVM guests. - Since PMCs can only count to 2^31, counting cycles means we might take multiple PMU exceptions per second per hardware thread even if our hard lockup timeout is 10 seconds. It can be enabled via a boot option, or via procfs. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit af9feebe60add19fdd15adee80ac5b4eeb2a489b Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Apr 9 12:52:55 2015 +1000 oprofile: Disable oprofile NMI timer on ppc64 We want to enable the hard lockup detector on ppc64, but right now that enables the oprofile NMI timer too. We'd prefer not to enable the oprofile NMI timer, it adds another element to our PMU testing and it requires us to increase our exported symbols (eg cpu_khz). Modify the config entry for OPROFILE_NMI_TIMER to disable it on PPC64. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Acked-by: Robert Richter <rric@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b816ce67fcb57f9d51681cb3d26fd6598b4351ed Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 17 14:14:36 2015 -0500 powerpc/perf/hv-24x7: Add missing put_cpu_var() Add missing put_cpu_var() for 24x7 requests. This went missing in commit f34b6c7 (3.18-rc3). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit aeab199d84c2616ffc5e29aa4831bd8a660bde96 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:47 2015 -0700 powerpc/perf/hv-24x7: Break up single_24x7_request Break up the function single_24x7_request() into smaller functions. This would later enable us to "prepare" a multi-event request buffer and then submit a single hcall for several events. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 529ce8c9ddd00bd1ee77727f7a83c02dff0684f8 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:46 2015 -0700 powerpc/perf/hv-24x7: Define update_event_count() Move the code to update an event count into a new function, update_event_count(). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3ca4ea71cb27b4de781dd86f06e322ee11c82975 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:45 2015 -0700 powerpc/perf/hv-24x7: Whitespace cleanup Fix minor whitespace damages. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e3ee15dc5d19d060012d0a89b085d56e50d40a2b Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:44 2015 -0700 powerpc/perf/hv-24x7: Define add_event_to_24x7_request() Move code that maps a perf_event to a 24x7 request buffer into a separate function, add_event_to_24x7_request(). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 33ba14c0d8ff64d51adb543f689cde7a9a227cd8 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:43 2015 -0700 powerpc/perf/hv-24x7: Rename hv_24x7_event_update For consistency with the pmu operation ->read() and with other pmus, rename hv_24x7_event_update() to hv_24x7_event_read(). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f954825dd9c47ffaa0e6ff86e16a2355ae8a81d7 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:42 2015 -0700 powerpc/perf/hv-24x7: Move debug prints to separate function To simplify/cleanup code, move the rather long printk() to a separate function. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8079876497653381c233445374465c3da6450766 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:41 2015 -0700 powerpc/perf/hv-24x7: Drop event_24x7_request() The function event_24x7_request() is essentially a wrapper to the function single_24x7_request() and can be dropped to simplify code. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7aabe0cec2bcfcb08a4e706ec7c794883cbbcf6f Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:40 2015 -0700 powerpc/perf/hv-24x7: Use pr_devel() to log message Use pr_devel_ratelimited() to log error message when the 24x7 HCALL fails. Since users specify events by their sysfs name, the HCALL should succeed. Any errors reported by the HCALL would be of interest to the developer, rather than the user/administrator. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f2b1237c732d3f3ce18e85c84782a4d1f3b5ba08 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:39 2015 -0700 powerpc/perf/hv-24x7: Remove unnecessary parameter Remove the 'success_expected' parameter and log the message unconditionally. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 145264e2129a5e2fca9bc75f666e80424020f9ea Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 18:53:38 2015 -0700 powerpc/perf/hv-24x7: Modify definition of request and result buffers The parameters to the 24x7 HCALL have variable number of elements in them. Set the minimum number of such elements to 1 rather than 0 and eliminate the temporary structures. This would enable us to submit multiple counter requests and process multiple results from a single HCALL (in a follow on patch). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ed59190e41b725e1cfd79541f5fc66c20adb0671 Author: Cyril Bur <cyrilbur@xxxxxxxxx> Date: Wed Apr 1 14:05:30 2015 +0800 powerpc/powernv: Add interfaces for flash device access This change adds the OPAL interface definitions to allow Linux to read, write and erase from system flash devices. We register platform devices for the flash devices exported by firmware. We clash with the existing opal_flash_init function, which is really for the FSP flash update functionality, so we rename that initcall to opal_flash_update_init(). A future change will add an mtd driver that uses this interface. Changes from Joel Stanley and Jeremy Kerr. Signed-off-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Joel Stanley <joel@xxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d1d915783d90b15236e73d261cd8909db7275001 Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Fri Apr 10 14:16:50 2015 +1000 powerpc/tm: Correct minor documentation typos Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7fe924d9d71c96598ed37719c53187b357d6edff Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Fri Apr 10 14:16:49 2015 +1000 selftests/powerpc: Add transactional syscall test Check that a syscall made during an active transaction will fail with the correct failure code and that one made during a suspended transaction will succeed. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2b03fc1db59d53da327cf21f77e189b4d0a8aced Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Fri Apr 10 14:16:48 2015 +1000 selftests/powerpc: Move get_auxv_entry() to harness.c Move get_auxv_entry() from pmu/lib.c up to harness.c in order to make it available to other tests. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit feba40362b11341bee6d8ed58d54b896abbd9f84 Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Fri Apr 10 14:16:47 2015 +1000 powerpc/tm: Abort syscalls in active transactions This patch changes the syscall handler to doom (tabort) active transactions when a syscall is made and return immediately without performing the syscall. Currently, the system call instruction automatically suspends an active transaction which causes side effects to persist when an active transaction fails. This does change the kernel's behaviour, but in a way that was documented as unsupported. It doesn't reduce functionality because syscalls will still be performed after tsuspend. It also provides a consistent interface and makes the behaviour of user code substantially the same across powerpc and platforms that do not support suspended transactions (e.g. x86 and s390). Performance measurements using http://ozlabs.org/~anton/junkcode/null_syscall.c indicate the cost of a system call increases by about 0.5%. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Acked-By: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 771e569e8200ab6f5cdbcd6513f7a476718bb44d Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:57 2015 +1100 powerpc: dart_iommu: Remove check for controller_ops == NULL case Now that we have ported the calls to iommu_init_early_dart to always supply a pci_controller_ops struct, we can safely drop the check. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 467efc2e4fdc44e6cd4be7dd4adf01c14b3d148e Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:56 2015 +1100 powerpc: Remove shims for pci_controller_ops operations Remove shims, patch callsites to use pci_controller_ops versions instead. Also move back the probe mode defines, as explained in the patch for pci_probe_mode. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9c1368fc50e78ff862a05d1a0995ce44413c49e2 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:55 2015 +1100 powerpc/cell: Move controller ops from ppc_md to controller_ops This moves the Cell platform to use the pci_controller_ops structure rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 97884e00e29ad6654b8b6939bb805b9d6303427c Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Apr 10 13:15:47 2015 +1000 powerpc: fsl_pci, swiotlb: Move controller ops from ppc_md to controller_ops Move the installation of DMA operations out of swiotlb's subsys initcall, and into the generic PCI controller operations struct. These ops are installed conditionally, based on the ppc_swiotlb_enable global. The global can be set in two places: - swiotlb_detect_4g, which is always called at the arch initcall level - setup_pci_atmu, which is called as part of the fsl_add_bridge and fsl_pci_syscore_do_resume. fsl_pci_syscore_do_resume is called late enough that any changes as a result of that call will have no effect. As such, if we test the global and set the operations as part of fsl_add_bridge, after the call to setup_pci_atmu, we can be confident that it will cover all the PCI implementations affected by the changes to dma-swiotlb.c. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 19124d6deed32c5c7096f1892dd9f3882cef4605 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:53 2015 +1100 powerpc/maple: Move controller ops from ppc_md to controller_ops This moves the Maple platform to use the pci_controller_ops structure rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d28a0d94d752354d9830f8cc0426e9119f9f227d Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:52 2015 +1100 powerpc/pasemi: Move controller ops from ppc_md to controller_ops This moves the PaSemi platform to use the pci_controller_ops structure rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 65ebf4b6370e8eabbf31076de022e49926dd4573 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:51 2015 +1100 powerpc/powernv: Move controller ops from ppc_md to controller_ops This moves the PowerNV platform to use the pci_controller_ops structure rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 38ae9ec40f06f3aef5c25314f432113cf2c1340a Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:50 2015 +1100 powerpc/pseries: Move controller ops from ppc_md to controller_ops This moves the pSeries platform to use the pci_controller_ops structure, rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e63f26d3757fb8c00116b7f7c75d2a2e15bb5549 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:49 2015 +1100 powerpc/powermac: Move controller ops from ppc_md to controller_ops This moves the Power Mac platform to use the pci_controller_ops structure rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 798248a3c083a4cf0ead44a85e66c6a18647abea Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:48 2015 +1100 powerpc: dart_iommu: optionally populate controller_ops on init If a pci_controller_ops struct is provided to iommu_init_early_dart, populate that with the DMA setup ops, rather than ppc_md. If NULL is provided, populate ppc_md as before. This also patches the call sites for Maple and Power Mac to pass NULL, so existing behaviour is preserved. The benefit of making this optional is that it means we don't have to change dart, Maple and Power Mac over to the controller_ops system in one fell swoop. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit cd16c7ba0cc21aa1563e4b8430519b6488d0de60 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:47 2015 +1100 powerpc: Create pci_controller_ops.reset_secondary_bus and shim Add pci_controller_ops.reset_secondary_bus, shadowing ppc_md.pcibios_reset_secondary_bus. Add a shim, and changes the callsites to use the shim. Use pcibios_reset_secondary_bus_shim, as both pcibios_reset_secondary_bus and pci_reset_secondary_bus are already taken. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 542070baf4a0fe9de14cc2c4ca3ff1b43f14f90f Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:46 2015 +1100 powerpc: Create pci_controller_ops.window_alignment and shim Add pci_controller_ops.window_alignment, shadowing ppc_md.pcibios_window_alignment. Add a shim, and changes the callsites to use the shim. Here, we use pci_window_alignment, as pcibios_window_alignment is already taken. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b31e79f8d92ca115a935e37cfd4da74048739689 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:45 2015 +1100 powerpc: Create pci_controller_ops.enable_device_hook and shim Add pci_controller_ops.enable_device_hook, shadowing ppc_md.pcibios_enable_device_hook. Add a shim, and changes the callsites to use the shim. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ff9df8c87d6807e90c5c3b0e1fd1649d09fd3bcd Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:44 2015 +1100 powerpc: Create pci_controller_ops.probe_mode and shim Add pci_controller_ops.probe_mode, shadowing ppc_md.pci_probe_mode. Add a shim, and changes the callsites to use the shim. We also need to move the probe mode defines to pci-bridge.h from pci.h. They are required by the shim in order to return a sensible default. Previously, the were defined in pci.h, but pci.h includes pci-bridge.h before the relevant #defines. This means the definitions are absent if pci.h is included before pci-bridge.h. This occurs in some drivers. So, move the definitons now, and move them back when we remove the shim. Anything that wants the defines would have had to include pci.h, and since pci.h includes pci-bridge.h, nothing will lose access to the defines. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b122c95494374ab848f8d9f41d98644c2c318ecc Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:43 2015 +1100 powerpc: Create pci_controller_ops.dma_bus_setup and shim Add pci_controller_ops.dma_bus_setup, shadowing ppc_md.pci_dma_bus_setup. Add a shim, and changes the callsites to use the shim. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e02def5bce12b472e9eb6dcdd9f7af72239e6330 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:42 2015 +1100 powerpc: Create pci_controller_ops.dma_dev_setup and shim Introduces the pci_controller_ops structure. Add pci_controller_ops.dma_dev_setup, shadowing ppc_md.pci_dma_dev_setup. Add a shim, and change the callsites to use the shim. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c88c2a188905cb3077c3c38dc498e7e9f8eebeee Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:41 2015 +1100 powerpc: pcibios_enable_device_hook: return bool rather than int pcibios_enable_device_hook returned an int. Every implementation returned either -EINVAL or 0. The return value wasn't propagated by the caller: any non-zero return value caused pcibios_enable_device to return -EINVAL itself. Therefore, make the hook return a bool. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ba9c8f227358bcbc80fca19e7a339883cbc956a5 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:40 2015 +1100 powerpc/powermac: move pmac_pci_probe_mode from setup.c to pci.c Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bdc728a849a7047e55014c6f968aa300cc9f57fa Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Tue Mar 31 16:00:39 2015 +1100 powerpc: move find_and_init_phbs() to pSeries specific code Previously, find_and_init_phbs() was used in both PowerNV and pSeries setup. However, since RTAS support has been dropped from PowerNV, we can move it into a platform-specific file. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b7dccbea6b079be01e07921264709f249009b8e8 Merge: 425b655 a01e7b3 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sat Apr 11 11:17:28 2015 +0200 Merge tag 'irqchip-core-4.1-3' of git://git.infradead.org/users/jcooper/linux into irq/core irqchip core change for v4.1 (round 3) from Jason Cooper Purge the gic_arch_extn hacks and abuse by using the new stacked domains NOTE: Due to the nature of these changes, patches crossing subsystems have been kept together in their own branches. - tegra - Handle the LIC properly - omap - Convert crossbar to stacked domains - kill arm,routable-irqs in GIC binding - exynos - Convert PMU wakeup to stacked domains - shmobile, ux500, zynq (irq_set_wake branch) - Switch from abusing gic_arch_extn to using gic_set_irqchip_flags commit 425b655ce479843abae07bf4dc7c496ca9538a5a Merge: fdb7144 7822335 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sat Apr 11 11:15:38 2015 +0200 Merge tag 'irqchip-core-4.1-2' of git://git.infradead.org/users/jcooper/linux into irq/core irqchip core changes for v4.1 (round 2) from Jason Cooper - gic - Tolerate uni-processor systems better in gic_get_cpumask() - mvebu - Handle per-cpu interrupts properly - Enable PMU interrupts - Enable wakeup source - vybrid - Add MSCM interrupt router - renesas - Add PM and wakeup support commit 54cfa458b492fcf76d653698d362743bcb329055 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 10 20:13:40 2015 +0200 x86/asm/entry/32: Tidy up JNZ instructions after TESTs After TESTs, use logically correct JNZ mnemonic instead of JNE. This doesn't change code: md5: c3005b39a11fe582b7df7908561ad4ee entry_32.o.before.asm c3005b39a11fe582b7df7908561ad4ee entry_32.o.after.asm Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428689620-21881-1-git-send-email-dvlasenk@xxxxxxxxxx [ Added object file comparison. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3e21a19d1d6775591415efd5617375ba42c41bbd Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Apr 11 13:24:47 2015 +0900 ALSA: seq: fill client ID in return value of pool operation The returned value of 'get/seq client pool' operation has zeroed value for its client ID, against requested client ID. This commit fix the bug by filling it with index value of referred client object. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8b8a518ef16be2de27207991e32fc32b0475c767 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Apr 9 09:52:31 2015 -0700 Input: atkbd - document "no new force-release quirks" policy To save people some time let's document that we do not want new quirks for "force-release" keys in the kernel and that they should patch userspace (udev) instead. Suggested-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 07f19e3db89507ff902b1bb0f64a25ea161d645c Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Fri Apr 10 23:54:31 2015 -0700 Input: ALPS - make alps_get_pkt_id_ss4_v2() and others static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5dafd7cb96ec75454eb1fcbf993000bf41175f13 Merge: 51ab715 7b8283b5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Apr 11 08:31:19 2015 +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: New user visible features: - Support multiple probes on different binaries on the same command line (Masami Hiramatsu) User visible changes: - Fix synthesizing fork_event.ppid for non-main thread (David Ahern) - Fix cross-endian analysis (David Ahern) - Fix segfault in 'perf buildid-list' when show DSOs with hits (He Kuang) Infrastructure changes: - Fix type for references to data_head/tail (David Ahern) - Fix error path to do closedir() when synthesizing threads (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0351b8f81392c6dbbbb036e5c8f73ceff68726e9 Author: James Bottomley <jbottomley@xxxxxxxx> Date: Wed Apr 1 09:09:36 2015 +0000 change SCSI Maintainer email We've recently suffered a rebranding and the Service Provider half of Parallels has become Odin. This means my email has changed so update the MAINTAINERS file (and tidy up the pointers to our git trees to be correct). Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4ce37a4c05cfb5bfd445419d5b880a91bb19228f Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 11:24:54 2015 +0300 ixgbe: Add a RETA query command to VF-PF channel API Add this new command for 82599 and x540 devices only. Support for other devices will be added later. 82599 and x540 VFs and PF share the same RSS redirection table (RETA). Therefore we just return it for all VFs. For 82599 and x540 RETA table is an array of 32 registers (128 bytes) and the maximum number of registers that may be delivered in a single VF-PF channel command is 15. On the other hand VFs of these devices can be configured to have up to 4 RSS queues. Therefore we will "compress" the RETA by transferring only 2 bits per entry and thereby it will take only 8 registers (DWORDS) to transfer the whole VF RETA. Thus this patch does the following: - Adds a new API version (to specify a new commands set). - Adds the IXGBE_VF_GET_RETA command to the VF-PF commands set. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e65ce0d395c2822e568faedad8bcf5770d3cdcdf Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:24 2015 +0300 ixgbe: Add a new netdev op to allow/prevent a VF from querying an RSS info Implements the new netdev op to allow user to enable/disable the ability of a specific VF to query its RSS Indirection Table and an RSS Hash Key. This patch limits the new feature support to 82599 and x540 devices only. Support for other devices will be added later. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 01a3d796813d6302af9f828f34b73d21a4b96c9a Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:35:23 2015 +0300 if_link: Add an additional parameter to ifla_vf_info for RSS querying Add configuration setting for drivers to allow/block an RSS Redirection Table and a Hash Key querying for discrete VFs. On some devices VF share the mentioned above information with PF and querying it may adduce a theoretical security risk. We want to let a system administrator to decide if he/she wants to take this risk or not. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7f276efb45f8b022eeb9a0453240937806dc27e3 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:18:58 2015 +0300 ixgbe: Add the appropriate ethtool ops to query RSS indirection table and key Added get_rxfh_indir_size, get_rxfh_key_size and get_rxfh ethtool_ops callbacks implementations. This enables the ethtool's "-x" and "--show-rxfh[-indir]" options. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit dfaf891dd3e1e2e4531c4fd800bd6d8e3079ed72 Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:18:57 2015 +0300 ixgbe: Refactor the RSS configuration code This patch is a preparation for enablement of ethtool RSS indirection table and hash key querying. We don't want to read registers every time the RSS info is queried. Therefore we will store its current content in the arrays in the adapter struct and will read it from there (instead of from registers) when requested. Will change the code that writes the indirection table and hash key into the HW registers to take its content from these arrays. This will also simplify the indirection table updating ethtool callback implementation in the future. Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d0acf734d886ce50bb5103cc75f7ca39f280e8a7 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Sat Apr 4 01:54:26 2015 -0500 ipmi_ssif: Use interruptible completion for waiting in the thread The code was using an normal completion, but that caused stuck task errors after a while. Use an interruptible one to avoid that. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit ad1ed2a9dd4c435d6a3ce470211db9a8d107c3e0 Author: Alistair Popple <alistair@xxxxxxxxxxxx> Date: Fri Apr 10 17:32:20 2015 +1000 ipmi/powernv: Fix minor locking bug If ipmi_powernv_recv(...) is called without a current message it prints a warning and returns. However it fails to release the message lock causing the system to dead lock during any subsequent IPMI operations. This error path should never normally be taken unless there are bugs elsewhere in the system. Signed-off-by: Alistair Popple <alistair@xxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 1e7d6a45f6b10bc48a1453bca3d829e210546571 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Fri Apr 3 12:13:48 2015 -0500 ipmi: Handle BMCs that don't allow clearing the rcv irq bit Some BMCs don't let you clear the receive irq bit in the global enables. This is kind of silly, but they give an error if you try to clear it. Compensate for this by detecting the situation and working around it. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Tested-by: Thomas D <whissi@xxxxxxxxx> Reviewed-by: Thomas D <whissi@xxxxxxxxx> commit c14deee398c344a5f93c8206fa91314388b4a8c2 Merge: 820ad97 c1d676c Author: Michael Turquette <mturquette@xxxxxxxxxx> Date: Fri Apr 10 18:06:55 2015 -0700 Merge tag 'clk/for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into clk-next clk/tegra: Changes for v4.1-rc1 These are mostly cleanups that I've been carrying in my local tree for far too long. In addition to those, there are some preparatory patches for the upcoming Tegra210 support and a patch to enable clocks needed for HDMI audio support. commit 820ad9752c232239d3278eafe71c2c251ae233d3 Author: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Date: Wed Mar 18 14:53:17 2015 +0100 clk: clk-gpio-gate: Fix active low The active low flag in the DT cell is currently ignored. This occurs because of_get_named_gpio_flags() does not apply the flags to the underlying struct gpio_desc so the test in clk_register_gpio_gate() was bogus. Note that this patch changes the internal kernel API for clk_register_gpio_gate() but there are currently no other users. Signed-off-by: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Acked-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 3259b12ae1c79c146809829412ddc0d11a1b8e26 Merge: 49850a1 bba0bdd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 17:41:47 2015 -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 our remaining set of three fixes for 4.0: two oops fixes(one for cable pulls triggering oopses and the other be2iscsi specific) and one warn on in sysfs on multipath devices using enclosures" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: Defer processing of REQ_PREEMPT requests for blocked devices be2iscsi: Fix kernel panic when device initialization fails enclosure: fix WARN_ON removing an adapter in multi-path devices commit baa9a93a4412330a49245e69c5e8b22086656482 Merge: d5cdc3c cab07a5 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Apr 11 02:28:00 2015 +0200 Merge branch 'cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux into pm-cpuidle Pull intel_idle material for v4.1 from Len Brown. * 'cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs intel_idle: Update support for Silvermont Core in Baytrail SOC commit d5cdc3c4c22fce5a187b51736f3d0dc3e6cbe282 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Wed Mar 25 22:15:14 2015 +0100 intel_idle: mark cpu id array as __initconst The CPU ids are only tested in intel_idle_probe() which is itself an __init function. For the MODULE_DEVICE_TABLE() file2alias doesn't care about the section, just about the symbol name. So it's safe to mark the cpu id array as __initconst so its memory can be released after initialization is done. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ea85dbcaec0ff29f2c3f84be4c8a01a94e8bd449 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Wed Mar 25 22:15:52 2015 +0100 powercap / RAPL: mark rapl_ids array as __initconst The RAPL ids are only tested in rapl_init() which is itself an __init function. For the MODULE_DEVICE_TABLE() file2alias doesn't care about the section, just about the symbol name. Therefore it's safe to mark the rapl_ids[] array as __initconst so its memory can be released after initialization is done. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 34dfa36c04c5883c325e8d62905c0ca5551fcf27 Author: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Date: Tue Apr 7 05:50:35 2015 -0700 powercap / RAPL: add ID for Broadwell server Validated RAPL functions on this platform. Add support to driver. Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b34ef932d79ac2a36e1d7ba2742e5d4ba54efa3c Author: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Date: Fri Apr 10 10:22:18 2015 -0700 intel_pstate: Knights Landing support 1. Add Knights Landing (KNL) CPUID to the list of CPUIDs supported by the intel_pstate driver. 2. Add a new cpu_default structure for KNL since KNL has a slightly different mechanism to get turbo pstates from MSRs. Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> [ rjw: Subject and changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5f97899d780787a8bbb42dee3be91ab5d8003b7f Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Date: Fri Apr 10 10:21:09 2015 -0700 intel_pstate: remove MSR test x86_match_cpu will not match our cpuid unless APERF/MPERF flag is set, so there is no need to do the manual check for this MSR. Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4492d1a2e9566495858d25b35093e11509707407 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Apr 11 00:17:11 2015 +0200 cpufreq: fix qoriq uniprocessor build The qoriq-cpufreq driver contains a hack for powerpc to include asm/smp.h on uniprocessor builds so it can get the hardware CPU number. On ARM, it does not require this hack, but instead gets a compile error: In file included from drivers/cpufreq/qoriq-cpufreq.c:24:0: arch/arm/include/asm/smp.h:18:3: error: #error "<asm/smp.h> included in non-SMP build" arch/arm/include/asm/smp.h:21:0: warning: "raw_smp_processor_id" redefined This adds an #ifdef to mirror the one in its get_cpu_physical_id() function. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 2f249358eedaf ("cpufreq: qoriq: rename the driver") Cc: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 49850a147c9cba958ce411f93f2aa6d4d92fe5e3 Merge: cfc4957 b815fc1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 16:56:40 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending Pull SCSI target fixes from Nicholas Bellinger: "Just a few small fixes: Two from Andy, the first addresses a v4.0 target specific regression to a user visible configfs attribute, and the second adds a set of missing brackets around IPv6 discovery portal information within iscsi-target. And one from Mike that fixes an OOPs regression in traditional iscsi-target when an iovec allocation fails, that has been present since v3.10.y code. (CC'd to stable)" * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: iscsi target: fix oops when adding reject pdu iscsi-target: TargetAddress in SendTargets should bracket ipv6 addresses target: Allow userspace to write 1 to attrib/emulate_fua_write commit b9f28d863594c429e1df35a0474d2663ca28b307 Author: James Bottomley <JBottomley@xxxxxxxx> Date: Thu Mar 5 18:47:01 2015 -0800 sd, mmc, virtio_blk, string_helpers: fix block size units The current string_get_size() overflows when the device size goes over 2^64 bytes because the string helper routine computes the suffix from the size in bytes. However, the entirety of Linux thinks in terms of blocks, not bytes, so this will artificially induce an overflow on very large devices. Fix this by making the function string_get_size() take blocks and the block size instead of bytes. This should allow us to keep working until the current SCSI standard overflows. Also fix virtio_blk and mmc (both of which were also artificially multiplying by the block size to pass a byte side to string_get_size()). The mathematics of this is pretty simple: we're taking a product of size in blocks (S) and block size (B) and trying to re-express this in exponential form: S*B = R*N^E (where N, the exponent is either 1000 or 1024) and R < N. Mathematically, S = RS*N^ES and B=RB*N^EB, so if RS*RB < N it's easy to see that S*B = RS*RB*N^(ES+EB). However, if RS*BS > N, we can see that this can be re-expressed as RS*BS = R*N (where R = RS*BS/N < N) so the whole exponent becomes R*N^(ES+EB+1) [jejb: fix incorrect 32 bit do_div spotted by kbuild test robot <fengguang.wu@xxxxxxxxx>] Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a01e7b3258bea93fbf1f028fab1c739d80c61823 Merge: fb414e9 008e4d6 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Fri Apr 10 22:58:19 2015 +0000 Merge branch 'irqchip/stacked-irq_set_wake' into irqchip/core Conflicts: drivers/irqchip/irq-gic.c commit fb414e908b15ae3d704aa0572f77981a516279b9 Merge: 07c523f d4ad075 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Fri Apr 10 22:57:58 2015 +0000 Merge branch 'irqchip/stacked-exynos' into irqchip/core commit 07c523f1493b6860662e74a3d7e1ae0e7d67d416 Merge: 37b25ff 7136d45 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Fri Apr 10 22:57:56 2015 +0000 Merge branch 'irqchip/stacked-omap' into irqchip/core commit 37b25fffd1435dd9b77ac5882a6791f7d5691097 Merge: 7822335 1eec582 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Fri Apr 10 22:57:53 2015 +0000 Merge branch 'irqchip/stacked-tegra' into irqchip/core commit e03b07d9084d03e896b7f1a598a7f6aa18f6eeda Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Apr 1 19:38:20 2015 -0700 f2fs: do not recover wrong data index During the roll-forward recovery, if we found a new data index written fsync lastly, we need to recover new block address. But, if that address was corrupted, we should not recover that. Otherwise, f2fs gets kernel panic from: In check_index_in_prev_nodes(), sentry = get_seg_entry(sbi, segno); --------------------------> out-of-range segno. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 418f6c277011d89c394309e72df9ad058e0a3f7d Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Mar 31 18:03:29 2015 -0700 f2fs: do not increase link count during recovery If there are multiple fsynced dnodes having a dent flag, roll-forward routine sets FI_INC_LINK for their inode, and recovery_dentry increases its link count accordingly. That results in normal file having a link count as 2, so we can't unlink those files. This was added to handle several inode blocks having same inode number with different directory paths. But, current f2fs doesn't replay all of path changes and only recover its dentry for the last fsynced inode block. So, there is no reason to do this. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit cb58463bc94470c428f3b9f4cda748e7755218ca Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Mar 30 15:23:45 2015 -0700 f2fs: assign parent's i_mode for empty dir When assigning i_mode for dotdot, it needs to assign parent's i_mode. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 510022a85839a8409d1e6a519bb86ce71a84f30a Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Mar 30 15:07:16 2015 -0700 f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries If f2fs was corrupted with missing dot dentries, it needs to recover them after fsck.f2fs detection. The underlying precedure is: 1. The fsck.f2fs remains F2FS_INLINE_DOTS flag in directory inode, if it detects missing dot dentries. 2. When f2fs looks up the corrupted directory, it triggers f2fs_add_link with proper inode numbers and their dot and dotdot names. 3. Once f2fs recovers the directory without errors, it removes F2FS_INLINE_DOTS finally. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c9ef481097d17fb8ff8ea7930ce715b5a676f10f Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Mar 26 18:46:38 2015 -0700 f2fs: fix mismatching lock and unlock pages for roll-forward recovery Previously, inode page is not correctly locked and unlocked in pair during the roll-forward recovery. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit adad81ed42bbc537f37192dcdd9a83e34bb61987 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Mar 24 12:04:20 2015 -0700 f2fs: fix sparse warnings This patch fixes the below warning. sparse warnings: (new ones prefixed by >>) >> fs/f2fs/inode.c:56:23: sparse: restricted __le32 degrades to integer >> fs/f2fs/inode.c:56:52: sparse: restricted __le32 degrades to integer Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1b3e27a92ab60452b8fbb35e3ba691ac34f2c0fb Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Mar 24 13:08:05 2015 +0800 f2fs: limit b_size of mapped bh in f2fs_map_bh Map bh over max size which caller defined is not needed, limit it in f2fs_map_bh. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 30c62fdb25cc0c55fa442245f7aaab074d2e701a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 23 10:37:39 2015 +0800 f2fs: persist system.advise into on-disk inode This patch fixes to dirty inode for persisting i_advise of f2fs inode info into on-disk inode if user sets system.advise through setxattr. Otherwise the new value will be lost. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 84e97c2767f9ed711718b47b8722ddd137f1dfe9 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 23 10:36:15 2015 +0800 f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get We will encounter oops by executing below command. getfattr -n system.advise /mnt/f2fs/file Killed message log: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<f8b54d69>] f2fs_xattr_advise_get+0x29/0x40 [f2fs] *pdpt = 00000000319b7001 *pde = 0000000000000000 Oops: 0002 [#1] SMP Modules linked in: f2fs(O) snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq joydev snd_seq_device snd_timer bnep snd rfcomm microcode bluetooth soundcore i2c_piix4 mac_hid serio_raw parport_pc ppdev lp parport binfmt_misc hid_generic psmouse usbhid hid e1000 [last unloaded: f2fs] CPU: 3 PID: 3134 Comm: getfattr Tainted: G O 4.0.0-rc1 #6 Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 task: f3a71b60 ti: f19a6000 task.ti: f19a6000 EIP: 0060:[<f8b54d69>] EFLAGS: 00010246 CPU: 3 EIP is at f2fs_xattr_advise_get+0x29/0x40 [f2fs] EAX: 00000000 EBX: f19a7e71 ECX: 00000000 EDX: f8b5b467 ESI: 00000000 EDI: f2008570 EBP: f19a7e14 ESP: f19a7e08 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 80050033 CR2: 00000000 CR3: 319b8000 CR4: 000007f0 Stack: f8b5a634 c0cbb580 00000000 f19a7e34 c1193850 00000000 00000007 f19a7e71 f19a7e64 c0cbb580 c1193810 f19a7e50 c1193c00 00000000 00000000 00000000 c0cbb580 00000000 f19a7f70 c1194097 00000000 00000000 00000000 74737973 Call Trace: [<c1193850>] generic_getxattr+0x40/0x50 [<c1193810>] ? xattr_resolve_name+0x80/0x80 [<c1193c00>] vfs_getxattr+0x70/0xa0 [<c1194097>] getxattr+0x87/0x190 [<c11801d7>] ? path_lookupat+0x57/0x5f0 [<c11819d2>] ? putname+0x32/0x50 [<c116653a>] ? kmem_cache_alloc+0x2a/0x130 [<c11819d2>] ? putname+0x32/0x50 [<c11819d2>] ? putname+0x32/0x50 [<c11819d2>] ? putname+0x32/0x50 [<c11827f9>] ? user_path_at_empty+0x49/0x70 [<c118283f>] ? user_path_at+0x1f/0x30 [<c11941e7>] path_getxattr+0x47/0x80 [<c11948e7>] SyS_getxattr+0x27/0x30 [<c163f748>] sysenter_do_call+0x12/0x12 Code: 66 90 55 89 e5 57 56 53 66 66 66 66 90 8b 78 20 89 d3 ba 67 b4 b5 f8 89 d8 89 ce e8 42 7c 7b c8 85 c0 75 16 0f b6 87 44 01 00 00 <88> 06 b8 01 00 00 00 5b 5e 5f 5d c3 8d 76 00 b8 ea ff ff ff eb EIP: [<f8b54d69>] f2fs_xattr_advise_get+0x29/0x40 [f2fs] SS:ESP 0068:f19a7e08 CR2: 0000000000000000 ---[ end trace 860260654f1f416a ]--- The reason is that in getfattr there are two steps which is indicated by strace info: 1) try to lookup and get size of specified xattr. 2) get value of the extented attribute. strace info: getxattr("/mnt/f2fs/file", "system.advise", 0x0, 0) = 1 getxattr("/mnt/f2fs/file", "system.advise", "\x00", 256) = 1 For the first step, getfattr may pass a NULL pointer in @value and zero in @size as parameters for ->getxattr, but we access this @value pointer directly without checking whether the pointer is valid or not in f2fs_xattr_advise_get, so the oops occurs. This patch fixes this issue by verifying @value pointer before using. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit df6136ef5533421e68ea7ff9c33d5b2ac9005ff9 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 23 10:33:37 2015 +0800 f2fs: preallocate fallocated blocks for direct IO Normally, due to DIO_SKIP_HOLES flag is set by default, blockdev_direct_IO in f2fs_direct_IO tries to skip DIO in holes when writing inside i_size, this makes us falling back to buffered IO which shows lower performance. So in commit 59b802e5a453 ("f2fs: allocate data blocks in advance for f2fs_direct_IO"), we improve perfromance by allocating data blocks in advance if we meet holes no matter in i_size or not, since with it we can avoid falling back to buffered IO. But we forget to consider for unwritten fallocated block in this commit. This patch tries to fix it for fallocate case, this helps to improve performance. Test result: Storage info: sandisk ultra 64G micro sd card. touch /mnt/f2fs/file truncate -s 67108864 /mnt/f2fs/file fallocate -o 0 -l 67108864 /mnt/f2fs/file time dd if=/dev/zero of=/mnt/f2fs/file bs=1M count=64 conv=notrunc oflag=direct Time before applying the patch: 67108864 bytes (67 MB) copied, 36.16 s, 1.9 MB/s real 0m36.162s user 0m0.000s sys 0m0.180s Time after applying the patch: 67108864 bytes (67 MB) copied, 27.7776 s, 2.4 MB/s real 0m27.780s user 0m0.000s sys 0m0.036s Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 75342797988a0f9ebec400a2dde8d4de581c4079 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Mar 24 10:20:27 2015 +0800 f2fs: enable inline data by default Enable inline_data feature by default since it brings us better performance and space utilization and now has already stable. Add another option noinline_data to disable it during mount. Suggested-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Suggested-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 0bdee482509fe8c3cf0e66231ed37b8e70954093 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Mar 19 19:27:51 2015 +0800 f2fs: preserve extent info for extent cache This patch tries to preserve last extent info in extent tree cache into on-disk inode, so this can help us to reuse the last extent info next time for performance. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 028a41e89383e1208dff1afe3e260b8cb6d3431c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Mar 19 19:26:02 2015 +0800 f2fs: initialize extent tree with on-disk extent info of inode With normal extent info cache, we records largest extent mapping between logical block and physical block into extent info, and we persist extent info in on-disk inode. When we enable extent tree cache, if extent info of on-disk inode is exist, and the extent is not a small fragmented mapping extent. We'd better to load the extent info into extent tree cache when inode is loaded. By this way we can have more chance to hit extent tree cache rather than taking more time to read dnode page for block address. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 93dfc52656e9ae1009ccba67e67ff69285b7743f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Mar 19 19:24:59 2015 +0800 f2fs: introduce __{find,grab}_extent_tree This patch introduces __{find,grab}_extent_tree for reusing by following patches. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 216a620a7c3d35ae604ba519c99c5cd1ce4dad6e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Mar 19 19:23:32 2015 +0800 f2fs: split set_data_blkaddr from f2fs_update_extent_cache Split __set_data_blkaddr from f2fs_update_extent_cache for readability. Additionally rename __set_data_blkaddr to set_data_blkaddr for exporting. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 368a0e40b5aedb036de3d78333571c8689869490 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Thu Mar 19 13:23:48 2015 +0800 f2fs: enable fast symlink by utilizing inline data Fast symlink can utilize inline data flow to avoid using any i_addr region, since we need to handle many cases such as truncation, roll-forward recovery, and fsck/dump tools. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 8ce67cb07dbf6ba35aea1e07e8ad1ea004ced27b Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Mar 17 17:58:08 2015 -0700 f2fs: add some tracepoints to debug volatile and atomic writes Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3c6c2bebef79999b1827041696dc1881e637e3af Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Mar 17 17:16:35 2015 -0700 f2fs: avoid punch_hole overhead when releasing volatile data This patch is to avoid some punch_hole overhead when releasing volatile data. If volatile data was not written yet, we just can make the first page as zero. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 83e21db6939dd6ff50a81d54aaef4b44847aefff Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Mar 16 16:54:52 2015 -0700 f2fs: avoid wrong f2fs_bug_on when truncating inline_data This patch removes wrong f2fs_bug_on in truncate_inline_inode. When there is no space, it can happen a corner case where i_isze is over MAX_INLINE_SIZE while its inode is still inline_data. The scenario is 1. write small data into file #A. 2. fill the whole partition to 100%. 3. truncate 4096 on file #A. 4. write data at 8192 offset. --> f2fs_write_begin -> -ENOSPC = f2fs_convert_inline_page -> f2fs_write_failed -> truncate_blocks -> truncate_inline_inode BUG_ON, since i_size is 4096. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 78373b7319abdf15050af5b1632c4c8b8b398f33 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Mar 13 21:44:36 2015 -0700 f2fs: enhance multi-threads performance Previously, f2fs_write_data_pages has a mutex, sbi->writepages, to serialize data writes to maximize write bandwidth, while sacrificing multi-threads performance. Practically, however, multi-threads environment is much more important for users. So this patch tries to remove the mutex. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3402e87cfb5e762f9c95071bf4a2ad65fd9392a2 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Mar 11 23:27:25 2015 -0400 f2fs: set buffer_new when new blocks are allocated This patch modifies to call set_buffer_new, if new blocks are allocated. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2adc3505cfb819c91855a64d997a7cdd9731ee6e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 16 21:08:44 2015 +0800 f2fs: set SBI_NEED_FSCK when encountering exception in recovery This patch tries to set SBI_NEED_FSCK flag into sbi only when we fail to recover in fill_super, so we could skip fscking image when we fail to fill super for other reason. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 21cb1d99bcc77252e6426010bcc6433f75b581bb Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Mar 11 13:42:48 2015 -0400 f2fs: fix to cover sentry_lock for block allocation In the following call stack, f2fs changes the bitmap for dirty segments and # of dirty sentries without grabbing sit_i->sentry_lock. This can result in mismatch on bitmap and # of dirty sentries, since if there are some direct_io operations. In allocate_data_block, - __allocate_new_segments - mutex_lock(&curseg->curseg_mutex); - s_ops->allocate_segment - new_curseg/change_curseg - reset_curseg - __set_sit_entry_type - __mark_sit_entry_dirty - set_bit(dirty_sentries_bitmap) - dirty_sentries++; Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d6d4f1cb912d9bcf988a529d0934568d4550f7b5 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Mar 12 17:04:24 2015 +0800 f2fs: fix to check current blkaddr in __allocate_data_blocks In __allocate_data_blocks, we should check current blkaddr which is located at ofs_in_node of dnode page instead of checking first blkaddr all the time. Otherwise we can only allocate one blkaddr in each dnode page. Fix it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 0bfcfcca3d4351f129b8c8a73c114c7ffa99228e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Mar 10 13:16:25 2015 +0800 f2fs: fix to truncate inline data past EOF Previously if inode is with inline data, we will try to invalid partial inline data in page #0 when we truncate size of inode in truncate_partial_data_page(). And then we set page #0 to dirty, after this we can synchronize inode page with page #0 at ->writepage(). But sometimes we will fail to operate page #0 in truncate_partial_data_page() due to below reason: a) if offset is zero, we will skip setting page #0 to dirty. b) if page #0 is not uptodate, we will fail to update it as it has no mapping data. So with following operations, we will meet recent data which should be truncated. 1.write inline data to file 2.sync first data page to inode page 3.truncate file size to 0 4.truncate file size to max_inline_size 5.echo 1 > /proc/sys/vm/drop_caches 6.read file --> meet original inline data which is remained in inode page. This patch renames truncate_inline_data() to truncate_inline_inode() for code readability, then use truncate_inline_inode() to truncate inline data in inode page in truncate_blocks() and truncate page #0 in truncate_partial_data_page() for fixing. v2: o truncate partially #0 page in truncate_partial_data_page to avoid keeping old data in #0 page. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 83dfe53c185e3554c102708c70dc1e5ff4bcac2c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 9 18:18:19 2015 +0800 f2fs: fix reference leaks in f2fs_acl_create Our f2fs_acl_create is copied and modified from posix_acl_create to avoid deadlock bug when inline_dentry feature is enabled. Now, we got reference leaks in posix_acl_create, and this has been fixed in commit fed0b588be2f ("posix_acl: fix reference leaks in posix_acl_create") by Omar Sandoval. https://lkml.org/lkml/2015/2/9/5 Let's fix this issue in f2fs_acl_create too. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Reviewed-by: Changman Lee <cm224.lee@xxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit bda190760b07a7350de7ca8d9afe0fd8c667ad2d Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Mar 9 17:33:16 2015 +0800 f2fs: fix to calculate max length of contiguous free slots correctly When lookuping for creating, we will try to record the level of current dentry hash table if current dentry has enough contiguous slots for storing name of new file which will be created later, this can save our lookup time when add a link into parent dir. But currently in find_target_dentry, our current length of contiguous free slots is not calculated correctly. This make us leaving some holes in dentry block occasionally, it wastes our space of dentry block. Let's refactor the lookup flow for max slots as following to fix this issue: a) increase max_len if current slot is free; b) update max_slots with max_len if max_len is larger than max_slots; c) reset max_len to zero if current slot is not free. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 57ed1e95babbd2df33f70eb820c7a9984199557b Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Mon Mar 9 11:00:55 2015 +0800 f2fs: fix unlocked nat set cache operation nm_i->nat_tree_lock is used to sync both the operations of nat entry cache tree and nat set cache tree, however, it isn't held when flush nat entries during checkpoint which lead to potential race, this patch fix it by holding the lock when gang lookup nat set cache and delete item from nat set cache. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit e0150392ddfaaf5ccf338893f6db177a2c64a7ee Author: Changman Lee <cm224.lee@xxxxxxxxxxx> Date: Mon Mar 9 08:07:04 2015 +0900 f2fs: cleanup statement about max orphan inodes calc Through each macro, we can read the meaning easily. Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d9f46bb1a84ee15f58c9c58ab91962b7dc6eb9a4 Author: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx> Date: Mon Mar 9 02:43:50 2015 +0000 f2fs: remove unnecessary condition judgment Remove the unnecessary condition judgment, because 'max_slots' has been initialized to '0' at the beginging of the function, as following: if (max_slots) *max_slots = 0; Signed-off-by: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit b1f73b79d26ffd8966404c268e558d6fec448814 Author: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx> Date: Sat Mar 7 10:07:42 2015 +0000 f2fs: set the correct place of initializing *res_page The function 'find_in_inline_dir()' contain 'res_page' as an argument. So, we should initiaize 'res_page' before this function. Signed-off-by: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7fd97019b8db0668a4eb8b08d707bdce9f51d58e Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Mar 6 15:00:55 2015 +0800 f2fs: reduce searching region of segmap when set free section In __set_free we will check whether all segment are free in one section when free one segment, in order to set section to free status. But the searching region of segmap is from start segno to last segno of main area, it's not necessary. So let's just only check all segment bitmap of target section. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit fdf6c8be337af72b066548f325abcbcdf626dea8 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Mar 6 15:00:54 2015 +0800 f2fs: fix extent cache memory leak extent tree/node slab cache is created during f2fs insmod, how, it isn't destroyed during f2fs rmmod, this patch fix it by destroy extent tree/node slab cache once rmmod f2fs. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d7196c5a32caf6ebbe60771ff04ee7d797039d74 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Mar 3 17:06:55 2015 -0800 f2fs: relocate Kconfig from misc filesystems The f2fs has been shipped on many smartphone devices during a couple of years. So, it is worth to relocate Kconfig into main page from misc filesystems for developers to choose it more easily. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 76629165913a6d5542bbe735191b021f31dd3798 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Mar 2 16:28:16 2015 -0800 f2fs: report -ENOENT for unreached data indices If inode has inline_data, it should report -ENOENT when accessing out-of-bound region. This is used by f2fs_fiemap which treats -ENOENT with no error. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit cff28521bbbfcd97ba56c515d4be5554c0d26014 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Mar 2 10:48:56 2015 -0800 f2fs: clear append/update flags once fsync is done When fsync is done through checkpoint, previous f2fs missed to clear append and update flag. This patch fixes to clear them. This was originally catched by Changman Lee before. Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d5669f7b9b0344a7f1e874ac86b9403434381ba8 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Feb 27 13:37:39 2015 -0800 f2fs: avoid to trigger writepage during POR This patch doesn't make any effect on previous behavior, since f2fs_write_data_page bypasses writing the page during POR. But, the difference is that this patch avoids holding writepages mutex. This is to avoid the following false warning, since this can happen only when mount and shutdown are triggered at the same time. ====================================================== [ INFO: possible circular locking dependency detected ] 4.0.0-rc1+ #3 Tainted: G O ------------------------------------------------------- kworker/u8:0/2270 is trying to acquire lock: (&sbi->gc_mutex){+.+.+.}, at: [<ffffffffa02bdd33>] f2fs_balance_fs+0x73/0x90 [f2fs] but task is already holding lock: (&sbi->writepages){+.+...}, at: [<ffffffffa02b261b>] f2fs_write_data_pages+0xcb/0x3a0 [f2fs] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (&sbi->writepages){+.+...}: [<ffffffff810e2b11>] lock_acquire+0xe1/0x2f0 [<ffffffff8185e1b3>] mutex_lock_nested+0x63/0x530 [<ffffffffa02b261b>] f2fs_write_data_pages+0xcb/0x3a0 [f2fs] [<ffffffff811c38c1>] do_writepages+0x21/0x50 [<ffffffff8126c5a6>] __writeback_single_inode+0x76/0xbf0 [<ffffffff8126e23a>] writeback_single_inode+0xea/0x1c0 [<ffffffff8126e425>] write_inode_now+0x95/0xa0 [<ffffffff81259dab>] iput+0x20b/0x3f0 [<ffffffffa02c1c8b>] recover_data.constprop.14+0x26b/0xa80 [f2fs] [<ffffffffa02c2776>] recover_fsync_data+0x2b6/0x5e0 [f2fs] [<ffffffffa02a9744>] f2fs_fill_super+0xb24/0xb90 [f2fs] [<ffffffff8123d7f4>] mount_bdev+0x1a4/0x1e0 [<ffffffffa02a3c85>] f2fs_mount+0x15/0x20 [f2fs] [<ffffffff8123e159>] mount_fs+0x39/0x180 [<ffffffff8125e51b>] vfs_kern_mount+0x6b/0x160 [<ffffffff81261554>] do_mount+0x204/0xbe0 [<ffffffff8126223b>] SyS_mount+0x8b/0xe0 [<ffffffff81863e6d>] system_call_fastpath+0x16/0x1b -> #1 (&sbi->cp_mutex){+.+...}: [<ffffffff810e2b11>] lock_acquire+0xe1/0x2f0 [<ffffffff8185e1b3>] mutex_lock_nested+0x63/0x530 [<ffffffffa02acbf2>] write_checkpoint+0x42/0x1230 [f2fs] [<ffffffffa02a847d>] f2fs_sync_fs+0x9d/0x2a0 [f2fs] [<ffffffff81272f82>] sync_filesystem+0x82/0xb0 [<ffffffff8123c214>] generic_shutdown_super+0x34/0x100 [<ffffffff8123c5f7>] kill_block_super+0x27/0x70 [<ffffffffa02a3c60>] kill_f2fs_super+0x20/0x30 [f2fs] [<ffffffff8123ca49>] deactivate_locked_super+0x49/0x80 [<ffffffff8123d05e>] deactivate_super+0x4e/0x70 [<ffffffff8125df63>] cleanup_mnt+0x43/0x90 [<ffffffff8125e002>] __cleanup_mnt+0x12/0x20 [<ffffffff810a82e4>] task_work_run+0xc4/0xf0 [<ffffffff8101f0bd>] do_notify_resume+0x8d/0xa0 [<ffffffff81864141>] int_signal+0x12/0x17 -> #0 (&sbi->gc_mutex){+.+.+.}: [<ffffffff810e2866>] __lock_acquire+0x1ac6/0x1c90 [<ffffffff810e2b11>] lock_acquire+0xe1/0x2f0 [<ffffffff8185e1b3>] mutex_lock_nested+0x63/0x530 [<ffffffffa02bdd33>] f2fs_balance_fs+0x73/0x90 [f2fs] [<ffffffffa02b5938>] f2fs_write_data_page+0x348/0x5b0 [f2fs] [<ffffffffa02af9da>] __f2fs_writepage+0x1a/0x50 [f2fs] [<ffffffff811c1b54>] write_cache_pages+0x274/0x6f0 [<ffffffffa02b2630>] f2fs_write_data_pages+0xe0/0x3a0 [f2fs] [<ffffffff811c38c1>] do_writepages+0x21/0x50 [<ffffffff8126c5a6>] __writeback_single_inode+0x76/0xbf0 [<ffffffff8126d44a>] writeback_sb_inodes+0x32a/0x710 [<ffffffff8126d8cf>] __writeback_inodes_wb+0x9f/0xd0 [<ffffffff8126dcdb>] wb_writeback+0x3db/0x850 [<ffffffff8126e848>] bdi_writeback_workfn+0x148/0x980 [<ffffffff810a3782>] process_one_work+0x1e2/0x840 [<ffffffff810a3f01>] worker_thread+0x121/0x460 [<ffffffff810a9dc8>] kthread+0xf8/0x110 [<ffffffff81863dbc>] ret_from_fork+0x7c/0xb0 Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit e1235983e385afafb33bab3578bfc83a7d871ce1 Author: Changman Lee <cm224.lee@xxxxxxxxxxx> Date: Tue Dec 23 08:37:39 2014 +0900 f2fs: add stat info for moved blocks by background gc This patch is for looking into gc performance of f2fs in detail. Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> [Jaegeuk Kim: fix build errors] Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit b28c3f94933dae663eeca24637bf9ff962bf02dc Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Sat Feb 28 17:23:30 2015 +0800 f2fs: fix to issue small discard in real-time mode discard Now in f2fs, we share functions and structures for batch mode and real-time mode discard. For real-time mode discard, in shared function add_discard_addrs, we will use uninitialized trim_minlen in struct cp_control to compare with length of contiguous free blocks to decide whether skipping discard fragmented freespace or not, this makes us ignore small discard sometimes. Fix it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Reviewed-by : Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7ecebe5e07958a0b7e54a560dbc24144287c6b41 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Feb 27 13:13:14 2015 +0100 f2fs: add cond_resched() to sync_dirty_dir_inodes() In a preempt-off enviroment a alot of FS activity (write/delete) I run into a CPU stall: | NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [kworker/u2:2:59] | Modules linked in: | CPU: 0 PID: 59 Comm: kworker/u2:2 Tainted: G W 3.19.0-00010-g10c11c51ffed #153 | Workqueue: writeback bdi_writeback_workfn (flush-179:0) | task: df230000 ti: df23e000 task.ti: df23e000 | PC is at __submit_merged_bio+0x6c/0x110 | LR is at f2fs_submit_merged_bio+0x74/0x80 â?¦ | [<c00085c4>] (gic_handle_irq) from [<c0012e84>] (__irq_svc+0x44/0x5c) | Exception stack(0xdf23fb48 to 0xdf23fb90) | fb40: deef3484 ffff0001 ffff0001 00000027 deef3484 00000000 | fb60: deef3440 00000000 de426000 deef34ec deefc440 df23fbb4 df23fbb8 df23fb90 | fb80: c02191f0 c0218fa0 60000013 ffffffff | [<c0012e84>] (__irq_svc) from [<c0218fa0>] (__submit_merged_bio+0x6c/0x110) | [<c0218fa0>] (__submit_merged_bio) from [<c02191f0>] (f2fs_submit_merged_bio+0x74/0x80) | [<c02191f0>] (f2fs_submit_merged_bio) from [<c021624c>] (sync_dirty_dir_inodes+0x70/0x78) | [<c021624c>] (sync_dirty_dir_inodes) from [<c0216358>] (write_checkpoint+0x104/0xc10) | [<c0216358>] (write_checkpoint) from [<c021231c>] (f2fs_sync_fs+0x80/0xbc) | [<c021231c>] (f2fs_sync_fs) from [<c0221eb8>] (f2fs_balance_fs_bg+0x4c/0x68) | [<c0221eb8>] (f2fs_balance_fs_bg) from [<c021e9b8>] (f2fs_write_node_pages+0x40/0x110) | [<c021e9b8>] (f2fs_write_node_pages) from [<c00de620>] (do_writepages+0x34/0x48) | [<c00de620>] (do_writepages) from [<c0145714>] (__writeback_single_inode+0x50/0x228) | [<c0145714>] (__writeback_single_inode) from [<c0146184>] (writeback_sb_inodes+0x1a8/0x378) | [<c0146184>] (writeback_sb_inodes) from [<c01463e4>] (__writeback_inodes_wb+0x90/0xc8) | [<c01463e4>] (__writeback_inodes_wb) from [<c01465f8>] (wb_writeback+0x1dc/0x28c) | [<c01465f8>] (wb_writeback) from [<c0146dd8>] (bdi_writeback_workfn+0x2ac/0x460) | [<c0146dd8>] (bdi_writeback_workfn) from [<c003c3fc>] (process_one_work+0x11c/0x3a4) | [<c003c3fc>] (process_one_work) from [<c003c844>] (worker_thread+0x17c/0x490) | [<c003c844>] (worker_thread) from [<c0041398>] (kthread+0xec/0x100) | [<c0041398>] (kthread) from [<c000ed10>] (ret_from_fork+0x14/0x24) As it turns out, the code loops in sync_dirty_dir_inodes() and waits for others to make progress but since it never leaves the CPU there is no progress made. At the time of this stall, there is also a rm process blocked: | rm R running 0 1989 1774 0x00000000 | [<c047c55c>] (__schedule) from [<c00486dc>] (__cond_resched+0x30/0x4c) | [<c00486dc>] (__cond_resched) from [<c047c8c8>] (_cond_resched+0x4c/0x54) | [<c047c8c8>] (_cond_resched) from [<c00e1aec>] (truncate_inode_pages_range+0x1f0/0x5e8) | [<c00e1aec>] (truncate_inode_pages_range) from [<c00e1fd8>] (truncate_inode_pages+0x28/0x30) | [<c00e1fd8>] (truncate_inode_pages) from [<c00e2148>] (truncate_inode_pages_final+0x60/0x64) | [<c00e2148>] (truncate_inode_pages_final) from [<c020c92c>] (f2fs_evict_inode+0x4c/0x268) | [<c020c92c>] (f2fs_evict_inode) from [<c0137214>] (evict+0x94/0x140) | [<c0137214>] (evict) from [<c01377e8>] (iput+0xc8/0x134) | [<c01377e8>] (iput) from [<c01333e4>] (d_delete+0x154/0x180) | [<c01333e4>] (d_delete) from [<c0129870>] (vfs_rmdir+0x114/0x12c) | [<c0129870>] (vfs_rmdir) from [<c012d644>] (do_rmdir+0x158/0x168) | [<c012d644>] (do_rmdir) from [<c012dd90>] (SyS_unlinkat+0x30/0x3c) | [<c012dd90>] (SyS_unlinkat) from [<c000ec40>] (ret_fast_syscall+0x0/0x4c) As explained by Jaegeuk Kim: |This inode is the directory (c.f., do_rmdir) causing a infinite loop on |sync_dirty_dir_inodes. |The sync_dirty_dir_inodes tries to flush dirty dentry pages, but if the |inode is under eviction, it submits bios and do it again until eviction |is finished. This patch adds a cond_resched() (as suggested by Jaegeuk) after a BIO is submitted so other thread can make progress. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> [Jaegeuk Kim: change fs/f2fs to f2fs in subject as naming convention] Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 14b42817763903070fa8cbf087369461400cc021 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Feb 27 17:38:13 2015 +0800 f2fs: fix max orphan inodes calculation cp_payload is introduced for sit bitmap to support large volume, and it is just after the block of f2fs_checkpoint + nat bitmap, so the first segment should include F2FS_CP_PACKS + NR_CURSEG_TYPE + cp_payload + orphan blocks. However, current max orphan inodes calculation don't consider cp_payload, this patch fix it by reducing the number of cp_payload from total blocks of the first segment when calculate max orphan inodes. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2b11a74b21b040270d19fc3b61265c75413c0dc1 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Feb 27 16:52:50 2015 +0800 f2fs: don't need to collect dirty sit entries and flush journal when there's no dirty sit entries Don't need to collect dirty sit entries and flush sit journal to sit entries when there's no dirty sit entries. This patch check dirty_sentries earlier just like flush_nat_entries. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2bda542d59f970b61095bd8205c6c76062f286e3 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:56:16 2015 +0800 f2fs: fix block_ops trace point block operations is used to flush all dirty node and dentry blocks in the page cache and suspend ordinary writing activities, however, there are some facts such like cp error or mount read-only etc which lead to block operations can't be invoked. Current trace point print block_ops start premature even if block_ops doesn't have opportunity to execute. This patch fix it by move block_ops trace point just before block_ops. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit b7f204cca4b7155f47e64555614b1f534a53737e Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Feb 25 19:54:48 2015 -0800 f2fs: check its block allocation to avoid producing wrong dirty pages If a page is cached but its block was deallocated, we don't need to make the page dirty again by gc and truncate_partial_data_page. In that case, it needs to check its block allocation all the time instead of giving up-to-date page. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2bca1e2388a8a9e8a3db0daf54fcc124516a3e83 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Feb 25 19:25:01 2015 -0800 f2fs: clear page's up-to-date if block was deallocated If page's on-disk block was deallocated, let's remove up-to-date flag to avoid further access with wrong contents. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3c64298579a1343cbdf3d2f17adf774a58546aae Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Thu Feb 26 07:57:21 2015 +0800 f2fs: fix the number of orphan inode blocks cp_pack_start_sum is calculated in do_checkpoint and is equal to cpu_to_le32(1 + cp_payload_blks + orphan_blocks). The number of orphan inode blocks is take advantage of by recover_orphan_inodes to readahead meta pages and recovery inodes. However, current codes forget to reduce the number of cp payload blocks when calculate the number of orphan inode blocks. This patch fix it. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 551414861fbd494d58d50f4750d1d1b7f42b6df1 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Thu Feb 26 07:57:20 2015 +0800 f2fs: introduce macro __cp_payload This patch introduce macro __cp_payload. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1abff93d01eddaab7ccdcf15f8cda4d91cbbcd9a Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Jan 8 19:15:53 2015 -0800 f2fs: support fs shutdown This patch introduces a generic ioctl for fs shutdown, which was used by xfs. If this shutdown is triggered, filesystem stops any further IOs according to the following options. 1. FS_GOING_DOWN_FULLSYNC : this will flush all the data and dentry blocks, and do checkpoint before shutdown. 2. FS_GOING_DOWN_METASYNC : this will do checkpoint before shutdown. 3. FS_GOING_DOWN_NOSYNC : this will trigger shutdown as is. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9a74ccdbbb8fa6302ae1ba606f2ef0c03d3242ab Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Feb 13 20:18:52 2015 +0100 clk: Add PWM clock driver Some board designers, when running out of clock output pads, decide to (mis)use PWM output pads to provide a clock to external components. This driver supports this practice by providing an adapter between the PWM and clock bindings in the device tree. As the PWM bindings specify the period in the device tree, this is a fixed clock. Tested-by: Janusz Uzycki <j.uzycki@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit cdfb080e1853660952db5e5332727e59427856df Author: Chris Mason <clm@xxxxxx> Date: Mon Apr 6 18:17:00 2015 -0700 Btrfs: fix use after free when close_ctree frees the orphan_rsv Near the end of close_ctree, we're calling btrfs_free_block_rsv to free up the orphan rsv. The problem is this call updates the space_info, which has already been freed. This adds a new __ function that directly calls kfree instead of trying to update the space infos. Signed-off-by: Chris Mason <clm@xxxxxx> commit 1bbc621ef28462456131c035eaeb5567a1a2a2fe Author: Chris Mason <clm@xxxxxx> Date: Mon Apr 6 12:46:08 2015 -0700 Btrfs: allow block group cache writeout outside critical section in commit We loop through all of the dirty block groups during commit and write the free space cache. In order to make sure the cache is currect, we do this while no other writers are allowed in the commit. If a large number of block groups are dirty, this can introduce long stalls during the final stages of the commit, which can block new procs trying to change the filesystem. This commit changes the block group cache writeout to take appropriate locks and allow it to run earlier in the commit. We'll still have to redo some of the block groups, but it means we can get most of the work out of the way without blocking the entire FS. Signed-off-by: Chris Mason <clm@xxxxxx> commit 2b108268006e06d57ec9810f4ccf5d99d7e5b598 Author: Chris Mason <clm@xxxxxx> Date: Mon Apr 6 07:48:20 2015 -0700 Btrfs: don't use highmem for free space cache pages In order to create the free space cache concurrently with FS modifications, we need to take a few block group locks. The cache code also does kmap, which would schedule with the locks held. Instead of going through kmap_atomic, lets just use lowmem for the cache pages. Signed-off-by: Chris Mason <clm@xxxxxx> commit c9dc4c6578502c2085705347375b82089aad18d0 Author: Chris Mason <clm@xxxxxx> Date: Sat Apr 4 17:14:42 2015 -0700 Btrfs: two stage dirty block group writeout Block group cache writeout is currently waiting on the pages for each block group cache before moving on to writing the next one. This commit switches things around to send down all the caches and then wait on them in batches. The end result is much faster, since we're keeping the disk pipeline full. Signed-off-by: Chris Mason <clm@xxxxxx> commit 4c6d1d85ad89fd8e32dc9204b7f944854399bda9 Author: Chris Mason <clm@xxxxxx> Date: Mon Apr 6 13:17:20 2015 -0700 btrfs: move struct io_ctl into ctree.h and rename it We'll need to put the io_ctl into the block_group cache struct, so name it struct btrfs_io_ctl and move it into ctree.h Signed-off-by: Chris Mason <clm@xxxxxx> commit 3bce876fd58a745b8a1bc0bd8325c3e5b4cebeb0 Author: Josef Bacik <jbacik@xxxxxx> Date: Tue Feb 24 12:35:51 2015 -0800 Btrfs: don't steal from the global reserve if we don't have the space btrfs_evict_inode() needs to be more careful about stealing from the global_rsv. We dont' want to end up aborting commit with ENOSPC just because the evict_inode code was too greedy. Signed-off-by: Chris Mason <clm@xxxxxx> commit 365c5313776730acf433d54226f0216a1d075e9a Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Feb 18 13:58:15 2015 -0800 Btrfs: don't commit the transaction in the async space flushing We're triggering a huge number of commits from btrfs_async_reclaim_metadata_space. These aren't really requried, because everyone calling the async reclaim code is going to end up triggering a commit on their own. Signed-off-by: Chris Mason <clm@xxxxxx> commit cb723e491955ac11a1591ae25cada7c3b1470609 Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Feb 18 08:06:57 2015 -0800 Btrfs: reserve space for block groups This changes our delayed refs calculations to include the space needed to write back dirty block groups. Signed-off-by: Chris Mason <clm@xxxxxx> commit 28f75a0e6cdfbce8115487ecbc0968a2c4e01806 Author: Chris Mason <clm@xxxxxx> Date: Wed Feb 4 06:59:29 2015 -0800 Btrfs: refill block reserves during truncate When truncate starts, it allocates some space in the block reserves so that we'll have enough to update metadata along the way. For very large files, we can easily go through all of that space as we loop through the extents. This changes truncate to refill the space reservation as it progresses through the file. Signed-off-by: Chris Mason <clm@xxxxxx> commit 1262133b8d6f10f5ca7621cd4cf65ddf6254126a Author: Josef Bacik <jbacik@xxxxxx> Date: Tue Feb 3 07:50:16 2015 -0800 Btrfs: account for crcs in delayed ref processing As we delete large extents, we end up doing huge amounts of COW in order to delete the corresponding crcs. This adds accounting so that we keep track of that space and flushing of delayed refs so that we don't build up too much delayed crc work. This helps limit the delayed work that must be done at commit time and tries to avoid ENOSPC aborts because the crcs eat all the global reserves. Signed-off-by: Chris Mason <clm@xxxxxx> commit 28ed1345a50491d78e1454ad4005dc5d3557a69e Author: Chris Mason <clm@xxxxxx> Date: Wed Dec 17 09:41:04 2014 -0800 btrfs: actively run the delayed refs while deleting large files When we are deleting large files with large extents, we are building up a huge set of delayed refs for processing. Truncate isn't checking often enough to see if we need to back off and process those, or let a commit proceed. The end result is long stalls after the rm, and very long commit times. During the commits, other processes back up waiting to start new transactions and we get into trouble. Signed-off-by: Chris Mason <clm@xxxxxx> commit 1ccdd04f536510b7bd9b09efe31b7002ebfedf9c Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Wed Mar 4 19:04:03 2015 +0800 clk: Add clock driver for mb86s7x The CRG11 clock controller is managed by remote f/w. This driver simply maps Linux CLK ops onto mailbox api. Signed-off-by: Andy Green <andy.green@xxxxxxxxxx> Signed-off-by: Vincent Yang <vincent.yang@xxxxxxxxxxxxx> Signed-off-by: Tetsuya Nuriya <nuriya.tetsuya@xxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit c7739aebec22d43fa78389f286bd5520fc53562b Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Feb 14 15:54:58 2015 +0100 clk: pxa: pxa3xx: add missing os timer clock The pxa3xx scheduler relies on the pxa-timer, which requires a clock for its rate. As the clock handling will be taken over by the clock framework, add this missing clock. The miss was discovered by attempting to run a zylonite platform in a device-tree configuration, with the future patch to shift clocks handling to clock framework applied. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit b2eafd7282fdfd148fc09032540b0ff42bfedfbf Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Fri Apr 10 11:22:23 2015 -0700 HID: sensor: Update document for custom sensor Added custom sensor documentation Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Fri Apr 10 11:22:22 2015 -0700 HID: sensor: Custom and Generic sensor support HID Sensor Spec defines two usage ids for custom sensors HID_USAGE_SENSOR_TYPE_OTHER_CUSTOM (0x09, 0xE1) HID_USAGE_SENSOR_TYPE_OTHER_GENERIC(0x09, 0xE2) In addition the standard also defines usage ids for custom fields. The purpose of these sensors is to extend the functionality or provide a way to obfuscate the data being communicated by a sensor. Without knowing the mapping between the data and its encapsulated form, it is difficult for an driver to determine what data is being communicated by the sensor. This allows some differentiating use cases, where vendor can provide applications. Since these can't be represented by standard sensor interfaces like IIO, we present these as fields with - type (input/output) - units - min/max - get/set value In addition an dev interface to transfer report events. Details about this interface is described in /Documentation/hid/hid-sensor.txt. Manufacturers should not use these ids for any standard sensors, otherwise the the product/vendor id can be added to black list. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Reviewed-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5288ec157cf1d1bf7cfa3581f958b1812a37fec9 Merge: 78ebb0d 020f1d9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 10 12:49:34 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-04-10 This series contains updates to ixgbe and documentation for igb, ixgbe and ixgb. Stephen cleans up documentation to igb, ixgbe and ixgb. Don updates how bridge mode is stored to minimize obfuscation and makes updates for future silicon easier. Adds a new bridge mode support function which gathers all the logic needed to configure bridge modes. Adds Source Address Prunning for VEPA bridge mode for x550 devices. Vasu adds specific FCoE offloads for x550 for DDP context programming and increased DDP exchanges. Alex Duyck cleans up the use of HW_VLAN_CTAG_FILTER in hw_features, where the driver was actually ignoring the value of the bit and was just assuming it was always set. Also cleans up the use of rcu_barrier() since the driver has not used call_rcu() to free the rings for some time now. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78ebb0d00b49125ea03a1adcaa4db39de38be41c Author: Thomas Graf <tgraf@xxxxxxx> Date: Fri Apr 10 01:45:53 2015 +0200 rtnetlink: Mark name argument of rtnl_create_link() const Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b815fc12d4dd2b5586184fb4f867caff05a810d4 Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Fri Apr 10 02:47:27 2015 -0500 iscsi target: fix oops when adding reject pdu This fixes a oops due to a double list add when adding a reject PDU for iscsit_allocate_iovecs allocation failures. The cmd has already been added to the conn_cmd_list in iscsit_setup_scsi_cmd, so this has us call iscsit_reject_cmd. Note that for ERL0 the reject PDU is not actually sent, so this patch is not completely tested. Just verified we do not oops. The problem is the add reject functions return -1 which is returned all the way up to iscsi_target_rx_thread which for ERL0 will drop the connection. Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 704f32d48af221fd6d6ffcafe679f04ddcf5e7f6 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Mon Apr 6 17:16:30 2015 +0000 spi: bcm2835: enabling polling mode for transfers shorter than 30us In cases of short transfer times the CPU is spending lots of time in the interrupt handler and scheduler to reschedule the worker thread. Measurements show that we have times where it takes 29.32us to between the last clock change and the time that the worker-thread is running again returning from wait_for_completion_timeout(). During this time the interrupt-handler is running calling complete() and then also the scheduler is rescheduling the worker thread. This time can vary depending on how much of the code is still in CPU-caches, when there is a burst of spi transfers the subsequent delays are in the order of 25us, so the value of 30us seems reasonable. With polling the whole transfer of 4 bytes at 10MHz finishes after 6.16us (CS down to up) with the real transfer (clock running) taking 3.56us. So the efficiency has much improved and is also freeing CPU cycles, reducing interrupts and context switches. Because of the above 30us seems to be a reasonable limit for polling. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a30a555d7435a440fab06fe5960cf3448d8cedd3 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Mon Apr 6 17:16:31 2015 +0000 spi: bcm2835: transform native-cs to gpio-cs on first spi_setup Transforms the bcm-2835 native SPI-chip select to their gpio-cs equivalent. This allows for some support of some optimizations that are not possible due to HW-gliches on the CS line - especially filling the FIFO before enabling SPI interrupts (by writing to CS register) while the transfer is already in progress (See commit: e3a2be3030e2) This patch also works arround some issues in bcm2835-pinctrl which does not set the value when setting the GPIO as output - it just sets up output and (typically) leaves the GPIO as low. When a fix for this is merged then this gpio_set_value can get removed from bcm2835_spi_setup. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cfc4957b46d78115351ad6ff3ce0cd0da7b83730 Merge: 6fb805f 3dc8523 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 11:16:54 2015 -0700 Merge tag 'sound-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Here are fixes gathered for 4.0-final; one FireFire endian fix, two USB-audio quirks, and three HD-audio quirks. All relatively small and device-specific fixes, should be pretty safe to apply" * tag 'sound-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support ALSA: hda - Fix headphone pin config for Lifebook T731 ALSA: bebob: fix to processing in big-endian machine for sending cue ALSA: hda/realtek - Make more stable to get pin sense for ALC283 ALSA: usb-audio: don't try to get Benchmark DAC1 sample rate ALSA: hda/realtek - Support Dell headset mode for ALC256 commit 4ec0853ac5d55e8984d7f727bc16bf16675e6484 Merge: bea3672 1b42085 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:16:06 2015 +0100 Merge remote-tracking branch 'regulator/topic/wm8350' into regulator-next commit bea3672833dac06e37651e755d24ffdb0c471907 Merge: 3984c9d 7e476c7 046db76 e999c72 ce8ae17 14aef29 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:16:03 2015 +0100 Merge remote-tracking branches 'regulator/topic/mode', 'regulator/topic/notifier', 'regulator/topic/palmas', 'regulator/topic/qcom' and 'regulator/topic/stw481x' into regulator-next commit 3984c9da458dbdc352a82909a51c42cf2860a4a5 Merge: e507384 af78114 2b85c28 eb2d90c c0cf5a59 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:16:02 2015 +0100 Merge remote-tracking branches 'regulator/topic/dbx500', 'regulator/topic/load-op', 'regulator/topic/max77693' and 'regulator/topic/max8660' into regulator-next commit e5073849f9d78cd091dccc2a993c0fa5d65f0014 Merge: 5fc31b4 c8b263c ec454d7 a7b976a a46a073 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:16:00 2015 +0100 Merge remote-tracking branches 'regulator/topic/act8865', 'regulator/topic/arizona-ldo1', 'regulator/topic/arizona-micsupp' and 'regulator/topic/da9211' into regulator-next commit 5fc31b43d59a983c47c37b7a6d327f83395609ed Merge: f22e6e8 498e530 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:15:59 2015 +0100 Merge remote-tracking branch 'regulator/topic/core' into regulator-next commit 498e530e50ffccb979cf5f2f2e5bbce01afe1b6e Merge: 6261b06 2329609 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 19:05:21 2015 +0100 Merge branch 'topic/debugfs' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-core commit 0e7921e9583b72be93d8fa82536a7594974b7eea Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Apr 7 09:33:32 2015 +0800 ASoC: Intel: Use the generic IPC/mailbox APIs in Broadwell Use the generic IPC/mailbox APIs to replace the original processing code for Broadwell platform. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Acked-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 48cec59b6f383c63b2b828b93656ee2030abecc0 Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Apr 7 09:33:31 2015 +0800 ASoC: Intel: Use the generic IPC/mailbox APIs in Baytrail Use the generic IPC/mailbox APIs to replace the original processing code for Baytrail platform. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Acked-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a33c1ec5cf82efb76f0e7339b13f11cfb53a2a2f Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Apr 7 09:33:30 2015 +0800 ASoC: Intel: Refactor common IPC/mailbox code into generic APIs Currently in Intel SST driver, some similar IPC/mailbox processing code are used in different platforms (e.g. in baytrail/broadwell). This patch extracts the common code and creates new files (sst-ipc.c/sst-ipc.h) to contain the common code and provide the generic APIs for IPC/mailbox processing. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Acked-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6fb805fb104de653ad28384192c1e469505b6bdd Merge: e5e02de 4a89c30 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 10:51:34 2015 -0700 Merge tag 'nios2-fixes-v4.0-final' of git://git.rocketboards.org/linux-socfpga-next Pull arch/nios2 fixes from Ley Foon Tan: "There are 3 arch/nios2 fixes for 4.0 final: - fix cache coherency issue when debugging with gdb - move restart_block to struct task_struct (aligned with other architectures) - fix for missing registers defines for ptrace" * tag 'nios2-fixes-v4.0-final' of git://git.rocketboards.org/linux-socfpga-next: nios2: fix cache coherency issue when debug with gdb nios2: add missing ptrace registers defines nios2: signal: Move restart_block to struct task_struct commit 1169006b054ed98f6056b67fd7f18231b65794a0 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Apr 9 15:32:09 2015 -0300 ASoC: fsl: Add the audio interface acronyms in Kconfig text To keep consistency with the other Kconfig entries, use the audio interface acronyms (SSI and SPDIF) in the Kconfig menu text. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c0cf5a59fb69527151eb8e332a1b9660200f66c6 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Apr 10 15:23:42 2015 +0200 regulator: max8660: Handle empty regulator data It is not necessary to have regulator init data for a regulator. This patch removes the necessity of this data and handles a NULL pointer properly. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2bbd681ba2bfa0f3805fb541b0840b96893c5727 Author: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Date: Wed Mar 18 17:20:29 2015 +0530 i2c: xlp9xx: Driver for Netlogic XLP9XX/5XX I2C controller Add an I2C bus driver i2c-xlp9xx.c to support the I2C block in the XLP9xx/XLP5xx MIPS SoC. Update Kconfig and Makefile to add the CONFIG_I2C_XLP9XX option. Signed-off-by: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 85e4564ab234221f81b13e08ec5eb235734e51b0 Author: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Date: Wed Mar 18 17:20:28 2015 +0530 of: Add vendor prefix 'netlogic' Add vendor name "netlogic" in vendor-prefixes.txt, which will be used for the Netlogic XLP and XLPII MIPS SoCs. These processors were from NetLogic Microsystems that is now a part of Broadcom Corporation. Signed-off-by: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7ef97e9a312c359a2b32a7b5d918c60f238b69b2 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Apr 6 15:38:41 2015 +0300 i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery Having a board where the I2C bus locks up occasionally made it clear that the bus recovery in the i2c-davinci driver will only work on some boards, because on regular boards, this will only toggle GPIO lines that aren't muxed to the actual pins. The I2C controller on SoCs like da850 (and da830), Keystone 2 has the built-in capability to bit-bang its lines by using the ICPFUNC registers of the i2c controller. Implement the suggested procedure by toggling SCL and checking SDA using the ICPFUNC registers of the I2C controller when present. Allow platforms to indicate the presence of the ICPFUNC registers with a has_pfunc platform data flag and add optional DT property "ti,has-pfunc" to indicate the same in DT. Reviewed-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Tested-by: Michael Lawnick <michael.lawnick@xxxxxxxxx> Signed-off-by: Ben Gardiner <bengardiner@xxxxxxxxxxxxxx> Signed-off-by: Mike Looijmans <milo-software@xxxxxxxxxxxxxxxxxxxxx> [grygorii.strashko@xxxxxx: combined patches from Ben Gardiner and Mike Looijmans and reimplemented ICPFUNC bus recovery using I2C bus recovery infrastructure] Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2e65676f710e8feb9f76a7beee649b0e5ff95ca3 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Apr 6 15:38:40 2015 +0300 i2c: davinci: use bus recovery infrastructure This patch converts Davinci I2C driver to use I2C bus recovery infrastructure, introduced by commit 5f9296ba21b3 ("i2c: Add bus recovery infrastructure"). The i2c_bus_recovery_info is configured for Davinci I2C adapter only in case scl_pin is provided in platform data. As the controller must be held in reset while doing so, the recovery routine must re-init the controller. Since this was already being done after each call to i2c_recover_bus, move those calls into the recovery_prepare/unprepare routines and as well. Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2b2190a375d796a5ad9ec557cb51269f36b264d4 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Apr 6 15:38:39 2015 +0300 i2c: change input parameter to i2c_adapter for prepare/unprepare_recovery This patch changes type of input parameter for prepare/unprepare_recovery() callbacks from struct i2c_bus_recovery_info * to struct i2c_adapter *. This allows to simplify implementation of these callbacks and avoid type conversations from i2c_bus_recovery_info to i2c_adapter. The i2c_bus_recovery_info can be simply retrieved from struct i2c_adapter which contains pointer on it. There are no users currently, so this is safe to do. Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit cad2e03d8607793fd71a830b4b41fc8e9e9995ea Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Tue Mar 31 17:37:14 2015 +0300 ufs: add support to allow non standard behaviours (quirks) Some implementation of UFS host controller HW might have some non-standard behaviours (quirks) when compared to behaviour specified by UFSHCI specification. This patch add support to allow specifying all such quirks to standard UFS host controller driver so standard driver takes them into account. In this change a UFSHCD_QUIRK_DELAY_BEFORE_DME_CMDS is introduced, where a minimum delay of 1ms is required before DME commands for stability purposes. Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit bfdbe8ba21291c024afcec95b7bd515b5bf69689 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Tue Mar 31 17:37:13 2015 +0300 ufs-qcom: save controller revision info in internal structure Sometimes, specific information about the UFS controller revision is required in order to determine certain operations or execute controller dependent quirks. In order to avoid reading the controller revision multiple times, we simply read it once and save this information in internal structure. Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a776e39416cc4580b5a1688c3e44258888955996 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:08 2015 -0400 qla2xxx: Update driver version to 8.07.00.18-k Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 718abbdca79f8ad87b359cc2cbcc4b1cb3aa6759 Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Thu Apr 9 15:00:07 2015 -0400 qla2xxx: Restore physical port WWPN only, when port down detected for FA-WWPN port. For FA-WWPN is enabled port, if NPIV created on that port and, if port link is brought down, then WWPN was restored from flash for both physical and NPIV port. This will result in NPIV port and physical port sharing same WWPN. Any application refreshing ports information will not be able to scan NPIV port because of this behavior. So while restoring WWPN, only restore physical port WWPN. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ded6411fd88267510dcee6d6c29cfd0bd82d4f0e Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Thu Apr 9 15:00:06 2015 -0400 qla2xxx: Fix virtual port configuration, when switch port is disabled/enabled. On some vendor switches, when switch port is toggled (down /up), then in some condition driver tries to configure virtual port, before FW is actually in ready state to process any commands on wire. At this time, configuring virtual port can fail. Add fix in driver to make driver wait, for FW to be ready state before Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e8fb1250ba5898c6c53e0063bbdcc9cadd580797 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:05 2015 -0400 qla2xxx: Prevent multiple firmware dump collection for ISP27XX. For ISP27XX, driver will capture new firmware dump even if there is one already collected. Prevent this from happening by checking fw_dumped flag. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fd564b5d5ddeead05f5b5cb8fbac6694f13f1007 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:04 2015 -0400 qla2xxx: Disable Interrupt handshake for ISP27XX. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d14e72fb859cf9a767ce3758342466883611cc57 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:03 2015 -0400 qla2xxx: Add debugging info for MBX timeout. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 064135e01e0abc21bad9dfb9ae42d0b88c87ed32 Author: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx> Date: Thu Apr 9 15:00:02 2015 -0400 qla2xxx: Add serdes read/write support for ISP27XX Signed-off-by: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx> Signed-off-by: Harish Zunjarrao <harish.zunjarrao@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0137e59e6271fc91f9e6c854d7833ad8ff8cb50b Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:01 2015 -0400 qla2xxx: Add udev notification to save fw dump for ISP27XX Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f4bf5e3c11dbc1e030ad245d970ce7a2df4b21dd Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 15:00:00 2015 -0400 qla2xxx: Add message for sucessful FW dump collected for ISP27XX. o Added message indicating firmware dump was sucessfully collected for ISP27XX. o Improve logging to help debug firmware dump process for ISP27XX. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f1458cda44eb89c0222bae4a964aae2bc5ad1e76 Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Thu Apr 9 14:59:59 2015 -0400 qla2xxx: Add support to load firmware from file for ISP 26XX/27XX. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b21ba319dc4c68045a982b64b710c84f482f32d8 Author: Nigel Kirkland <nigel.kirkland@xxxxxxxxxx> Date: Thu Apr 9 14:59:58 2015 -0400 qla2xxx: Fix beacon blink for ISP27XX. Signed-off-by: Nigel Kirkland <nigel.kirkland@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 334614912b252b49f2e218e3efaddf86edd7f91a Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Apr 9 14:59:57 2015 -0400 qla2xxx: Increase the wait time for firmware to be ready for P3P. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6cbfb1ebbbcdc49eac2f49e146452507b05fcae5 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 14:59:56 2015 -0400 qla2xxx: Fix crash due to wrong casting of reg for ISP27XX. [Bart: additional sparse warning caused by this patch] [jejb: fix sparse warning] Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Cc: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8fec02a73e31407e14986fca67dab48d4f777f0e Author: Jiri Kosina <jkosina@xxxxxxx> Date: Thu Apr 9 13:32:35 2015 +0200 HID: debug: fix error handling in hid_debug_events_read() In the unlikely case of hdev vanishing while hid_debug_events_read() was sleeping, we can't really break out of the case switch as with other cases, as on the way out we'll try to remove ourselves from the hdev waitqueue. Fix this by taking a shortcut exit path and avoiding cleanup that doesn't make sense in case hdev doesn't exist any more anyway. Reported-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dd83cb2c168f32a8d2ad0acaacb56b2a4078df3a Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Apr 9 14:59:55 2015 -0400 qla2xxx: Fix warnings reported by static checker. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a5053a8e200e865ab786384df3f985a3cbb346fe Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Apr 10 09:47:00 2015 +0000 ASoC: core: call snd_soc_runtime_set_dai_fmt() before soc_new_pcm() Current snd_soc_runtime_set_dai_fmt() is called after soc_probe_link_dais(). this means snd_soc_dai_set_fmt() will be called after soc_new_pcm(). Before appling 1efb53a220b78fdfdbb97b726a2156713e75bdab (ASoC: simple-card: Remove support for setting differing DAI formats) simple-card user had (1) snd_soc_dai_set_fmt() -> soc_new_pcm(), but, after that it is (2) soc_new_pcm() -> snd_soc_dai_set_fmt(). At least rsnd driver is assuming (1) pattern. This patch move snd_soc_dai_set_fmt() into soc_probe_link_dais() after the dai_link->init section to solve this issue. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ddca24c532247894eb4430e9315e690306cf860 Merge: 5f97a4b 3185878 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 16:09:21 2015 +0100 Merge branch 'topic/dapm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-core commit 5f97a4bd2c92aff216581d662a37163881ac3888 Merge: 6553bf06 7c0e3fa Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Apr 10 16:04:46 2015 +0100 Merge branch 'topic/delay' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-core commit d09c78f8f3ab6dc77dd12049447921ba4a132bc2 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:29 2015 -0400 lpfc: Update version to 10.5.0.0 for upstream patch set Update version to 10.5.0.0 for upstream patch set Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f25e8e79bdb269b47de28ac263af09b9e29c775a Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:28 2015 -0400 lpfc: Update copyright to 2015 Update copyright to 2015 Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4fbdf9cbcc5c0e154d9eb9da4ac3a6d8f9df7ada Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:27 2015 -0400 lpfc: Fix for lun discovery issue with saturn adapter. FCP_CMD payload was not always properly initialized on SLI-3 devices. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ad490b6e70c5756d0479ce1a7336626859b8b546 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:26 2015 -0400 lpfc: Fix crash in device reset handler. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6c7cf486d35e0441c81f9bb8c49e6c826028bbb6 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:25 2015 -0400 lpfc: Fix OS crash when running loopback test in applications Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6eae430328d23e2d6adaa649a7c0bac18e04dda8 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:23 2015 -0400 lpfc: Fix internal loopback failure. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit be6bb94100dc6803a530e20aad05360e6267f56b Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:22 2015 -0400 lpfc: Fix premature release of rpi bit in bitmask Currently, the driver plays off the fact that older sli4 adapters have a different rpi access pattern that allowed for the rpi reference to be released earlier in the teardown sequence, allowing the driver to recycle the rpi value sooner. Newer sli4 adapters have a different access pattern that requires us to wait for a later mailbox completion. This changes the put call location on the newer sli4 adapters. Symptoms of the error are "0110 ELS" and the "0372 iotag" errors. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 34154e05bc135f16804584d81a8c810611a4abe9 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:21 2015 -0400 lpfc: Initiator sends wrong BBCredit value for either FLOGI or FLOGI_ACC Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 63e480fd2f598e9ad37f89e79c36834e7dd60ba0 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:20 2015 -0400 lpfc: Fix null ndlp dereference in target_reset_handler Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 76b2c34aeb947a649e52e0f03f5b930ef936e506 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:19 2015 -0400 lpfc: Fix FDMI Fabric support in driver for Brocade Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f0bf5f91908f7c8819d4111c7bd793178021aa3f Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:18 2015 -0400 lpfc: Fix provide host name and OS name in RSNN-NN FC-GS command Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 26d830ec7fb660130a00f5d27601f37da70a4c1e Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:17 2015 -0400 lpfc: Parse the new 20G, 25G and 40G link speeds in the lpfc driver Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a0683bf67a0502c6ed8b75a1f1a65762c7790635 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:16 2015 -0400 lpfc: Add support for reporting option_rom_version on newer adapters Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2c9c5a001002cf95d36636c2debd897a17781b06 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:15 2015 -0400 lpfc: Fix setting of EQ (interrupt) delay Multiplier Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ea4142f6b10585f271a40ee52eec2f55e48aeccf Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:13 2015 -0400 lpfc: Fix host reset escalation killing all IOs. Fix host reset escalation killing all IOs. SLI-3 adapters will use a new host template. The template differs from SLI-4 adapters in that it does not have an eh_host_reset_handler. Lpfc has traditionally never had a host_reset. The host reset handler was added when we ran into a stuck hardware condition on a SLI-4 adapter. The host_reset will reset and reinit the pci function, clearing the hardware condition. Unfortunately, the host reset handler uses attach/detach code paths, which makes scsi_add_host() and scsi_remove_host() calls. Meaning, a host_reset will completely remove the scsi_host from the system. As a new call to scsi_add_host() is made, the shost# changes, which results in completely new scsi_devices and device names. All the older scsi devices on the old shost# are now orphaned and unrecoverable. We realize we need to re-implement the host_reset_handler so the scsi_host stays registered across the host_reset, but that will be a rather lengthy effort. In the short term, we had an immediate need to restore the SLI-3 devices to their working behavior, with the easiest path being to remove their host_reset handler. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 23296099e70854a272fc369bab8ddcc57f27f97a Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Fri Apr 10 13:48:41 2015 +0200 regulator: output current-limit for all regulators in summary Voltage regulators can have (unregulated) current limits too, so we should probably output both voltage and current for all regulators. Holding the rdev->mutex actually conflicts with _regulator_get_current_limit but also is not really necessary, as the global regulator_list_mutex already protects us from the regulator vanishing while we go through the list. On the rk3288-firefly the summary now looks like: regulator use open bypass voltage current min max ------------------------------------------------------------------------------- vcc_sys 0 12 0 5000mV 0mA 5000mV 5000mV vcc_lan 1 1 0 3300mV 0mA 3300mV 3300mV ff290000.ethernet 0mV 0mV vcca_33 0 0 0 3300mV 0mA 3300mV 3300mV vcca_18 0 0 0 1800mV 0mA 1800mV 1800mV vdd10_lcd 0 0 0 1000mV 0mA 1000mV 1000mV [...] Suggested-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7c225ec90c368a474daa9803922f4b7d6fe6d5c8 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Tue Apr 7 16:16:39 2015 +0200 regulator: add a summary tree in debugfs On modern systems the regulator hierarchy can get quite long and nested with regulators supplying other regulators. In some cases when debugging it might be nice to get a tree of these regulators, their consumers and the regulation constraints in one go. To achieve this add a regulator_summary sysfs node, similar to clk_summary in the common clock framework, that walks the regulator list and creates a tree out of the regulators, their consumers and core per-regulator settings. On a rk3288-firefly the regulator_summary would for example look something like: regulator use open bypass value min max ----------------------------------------------------------------------- vcc_sys 0 12 0 5000mV 5000mV 5000mV vcc_lan 1 1 0 3300mV 3300mV 3300mV ff290000.ethernet 0mV 0mV vcca_33 0 0 0 3300mV 3300mV 3300mV vcca_18 0 0 0 1800mV 1800mV 1800mV vdd10_lcd 0 0 0 1000mV 1000mV 1000mV vccio_sd 0 0 0 3300mV 3300mV 3300mV vcc_20 0 3 0 2000mV 2000mV 2000mV vcc18_lcd 0 0 0 1800mV 1800mV 1800mV vcc_18 0 2 0 1800mV 1800mV 1800mV ff100000.saradc 0mV 0mV ff0d0000.dwmmc 1650mV 1950mV vdd_10 0 0 0 1000mV 1000mV 1000mV vdd_log 0 0 0 1100mV 1100mV 1100mV vcc_io 0 3 0 3300mV 3300mV 3300mV ff0f0000.dwmmc 3300mV 3400mV vcc_flash 1 1 0 1800mV 1800mV 1800mV ff0f0000.dwmmc 1700mV 1950mV vcc_sd 1 1 0 3300mV 3300mV 3300mV ff0c0000.dwmmc 3300mV 3400mV vcc_ddr 0 0 0 1200mV 1200mV 1200mV vdd_gpu 0 0 0 1000mV 850mV 1350mV vdd_cpu 0 1 0 900mV 850mV 1350mV cpu0 900mV 900mV vcc_5v 0 2 0 5000mV 5000mV 5000mV vcc_otg_5v 0 0 0 5000mV 5000mV 5000mV vcc_host_5v 0 0 0 5000mV 5000mV 5000mV regulator-dummy 0 0 0 0mV 0mV 0mV Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85c0f177200b49cbed0f9c9ac67fe2656749f9cd Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:12 2015 -0400 lpfc: Linux lpfc driver doesn't re-establish the link after a cable pull on LPe12002 Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ed4afe7405f3839236fd34c7918204640c00e4e8 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:11 2015 -0400 lpfc: Fix to handle PLOGI when already logged in Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c63779702094bcfdb2ead17181fbcd04b71b0215 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:10 2015 -0400 lpfc: Add new mbx cmd recognition Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 946727dc073dbac5751f98902c1c73e3b7268218 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:09 2015 -0400 lpfc: Add Lancer Temperature Event support to the lpfc driver This will detect and send an async event if overtemp is detected Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 77d093fb009c339f9fa15a2865787eb94eee22c6 Author: James Smart <james.smart@xxxxxxxxxx> Date: Tue Apr 7 15:07:08 2015 -0400 lpfc: Fix the iteration count to match the 30 sec comment in the routine lpfc_pci_function_reset Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c749e6bca57ffcc161c1ede8d9dcf274044eca15 Author: James Smart <james.smart@xxxxxxxxxx> Date: Thu Apr 2 15:50:52 2015 -0400 scsi_transport_fc: Add support for 25Gbit speed Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ca2641891d8f0503f166502d168690c1e7d38e49 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Apr 10 07:12:29 2015 -0300 ASoC: fsl_ssi: Use devm_ioremap_resource() Using platform_get_resource() and devm_ioremap_resource() can make the code a bit simpler. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7b8283b56d9fb36106ff1c459dfd399a20bd374d Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue Apr 7 09:20:37 2015 -0600 perf evlist: Fix type for references to data_head/tail The data_head and data_tail fields are defined as __u64 in linux/perf_event.h, but perf userspace uses int and unsigned int. Convert all references to u64 for consistency. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428420037-26599-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2b9c698efa58bf7d9a0d3d3b28115cf9e55ca818 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 16:07:51 2015 +0200 ACPI / scan: Take the PRP0001 position in the list of IDs into account If the special PRP0001 device ID is present in a device's _CID list, it should not prevent any ACPI/PNP IDs preceding it in the device's list of identifiers from being matched first. That is, only if none of the IDs preceding PRP0001 in the device's PNP/ACPI IDs list matches the IDs recognized by the driver, the driver's list of "compatible" IDs should be matched against the device's "compatible" property, if present. In addition to that, drivers can provide both acpi_match_table and of_match_table at the same time and the of_compatible matching should be used in that case too if PRP0001 is present in the device's list of identifiers. To make that happen, rework acpi_driver_match_device() to do the "compatible" property check in addition to matching the driver's list of ACPI IDs against the device's one. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit e1acdeb0e7707f4220aa14ad6739102ba26e07c0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 16:07:38 2015 +0200 ACPI / scan: Simplify acpi_match_device() Redefine acpi_companion_match() to return an ACPI device object pointer instead of a bool and use it to remove some redundant code from acpi_match_device(). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 54fe9ce385d499fe5a2bb0c68f092c97dad9365c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 16:07:30 2015 +0200 ACPI / scan: Generalize of_compatible matching Redefine the function used for matching the device's "compatible" property against a given list of "compatible" strings to take a pointer to that list instead of a driver object pointer to make it more general. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit ca3f0874723fad81d0c701b63ae3a17a408d5f25 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Wed Apr 8 14:16:48 2015 +0200 KVM: use slowpath for cross page cached accesses kvm_write_guest_cached() does not mark all written pages as dirty and code comments in kvm_gfn_to_hva_cache_init() talk about NULL memslot with cross page accesses. Fix all the easy way. The check is '<= 1' to have the same result for 'len = 0' cache anywhere in the page. (nr_pages_needed is 0 on page boundary.) Fixes: 8f964525a121 ("KVM: Allow cross page reads and writes from cached translations.") Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <20150408121648.GA3519@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c1d676cec572544616273d5853cb7cc38fbaa62b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Mar 26 17:53:01 2015 +0100 clk: tegra: Use the proper parent for plld_dsi The current parent, plld_out0, does not exist. The proper name is pll_d_out0. While at it, rename the plld_dsi clock to pll_d_dsi_out to be more consistent with other clock names. Fixes: b270491eb9a0 ("clk: tegra: Define PLLD_DSI and remove dsia(b)_mux") Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a84724a1c3cccd03b4ca1c8aea135095d0a6204e Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Mar 26 17:50:06 2015 +0100 clk: tegra: Use generic tegra_osc_clk_init() on Tegra114 There is no reason why Tegra114 cannot use the same generic code to set up the oscillator, clk_m and pll_ref clocks. The only effective change that this causes is that the CLK_SET_PARENT_RATE flag is dropped, but since these clocks are all fixed it is not needed anyway. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 63cc5a4da1fafedee24d8f5af67c1dd9d08f95c7 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Mar 26 17:43:56 2015 +0100 clk: tegra: Model oscillator as clock Currently the Tegra clock driver simplifies the clock tree somewhat by taking advantage of the fact that clk_m runs at the same frequency as the oscillator. While that's true on all currently supported SoCs, it does not apply to Tegra210 anymore. On Tegra210 clk_m is typically divided down from the oscillator frequency. To support that setup, add a separate clock for the oscillator that both clk_m and pll_ref derive from. Modify the tegra_osc_clk_init() function to take an additional divider parameter for clk_m. Existing SoCs always pass in 1, whereas Tegra210 will read the divider from a register in the clock & reset controller. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 699b477a0d3a5bc68034a1520a4337ea0a20f63b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 10:52:45 2015 +0100 clk: tegra: Add peripheral registers for bank Y Tegra210 has an extra bank of peripheral clock registers. Add it to the generic peripheral clock code. Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5e43e259171e1eee8bc074d9c44be434e685087b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 10:57:46 2015 +0100 clk: tegra: Register the proper number of resets The number of resets controls is 32 times the number of peripheral register banks rather than 32 times the number of clocks. This reduces (drastically) the number of reset controls registered from 10080 (315 clocks * 32) to 224 (6 peripheral register banks * 32). This also fixes a potential crash because trying to use any of the excess reset controls (224-10079) would have caused accesses beyond the array bounds of the peripheral register banks definition array. Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> Fixes: 6d5b988e7dc5 ("clk: tegra: implement a reset driver") Cc: stable@xxxxxxxxxxxxxxx # 3.14+ Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 44a6f3dbf1ac63b4d689cf081a3540cde03aa5d5 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Feb 18 16:25:16 2015 +0100 clk: tegra: Remove needless initializations The ret variable is often explicitly initialized to 0, but there is no need to do so in many cases because it will immediately be overwritten with the return value from a function. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 12cf33c0eb7fbedb2a26b6da2f9f7863b2f4ddda Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 23 09:42:33 2015 +0100 clk: tegra: Use consistent indentation Some of the .dev_id entries in the devclks table were oddly indented. Make them consistent with the rest of the table. Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 6bb18c532d08438f4ae4e282da6d12e86a86dcfb Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 1 10:44:20 2014 +0200 clk: tegra: Various whitespace cleanups Make usage of blank lines as separators more consistent. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 04794d982e830d4fdc39c1e1b8699fe53a7bd947 Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Mon May 19 19:17:23 2014 -0700 clk: tegra: Enable HDA to HDMI clocks on Tegra124 Add the clocks used for HDMI audio played through the HDA controller. Initialize the codec clock to 48Mhz and the HDA clock to 102MHz per the TRM. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit f081c89606f2abba40fafae7133082801d332009 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Jul 21 13:16:36 2014 +0200 clk: tegra: Fix a bunch of sparse warnings The second to last parameter of the TEGRA_CLK_PERIPH macro denotes a table and should therefore users should pass in NULL instead of 0. Fixes a bunch of sparse warnings like this: warning: Using plain integer as NULL pointer Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8106462faa3e9f140c8953939745fe2c0d8a6435 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 5 13:26:12 2014 +0200 clk: tegra: Fix typo tabel -> table The clock initialization structure is named struct clk_init_table. Update the kerneldoc comment to use the correct name. Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5306a5450824691e27d68f711758515debedeeac Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Apr 2 14:42:52 2015 +0100 MIPS: Makefile: Fix MIPS ASE detection code Commit 32098ec7bcba ("MIPS: Makefile: Move the ASEs checks after setting the core's CFLAGS") re-arranged the MIPS ASE detection code and also added the current cflags to the detection logic. However, this introduced a few bugs. First of all, the mips-cflags should not be quoted since that ends up being passed as a string to subsequent commands leading to broken detection from the cc-option-* tools. Moreover, in order to avoid duplicating the cflags-y because of how cc-option works, we rework the logic so we pass only those cflags which are needed by the selected ASE. Finally, fix some typos resulting in MSA not being detected correctly. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: Commit 32098ec7bcba ("MIPS: Makefile: Move the ASEs checks after setting the core's CFLAGS") Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9661/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 48f8eaee3f59848809644507fc47363b37e54450 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Feb 26 11:11:30 2015 +0000 MIPS: asm: elf: Set O32 default FPU flags Set good default FPU flags (FR0) for O32 binaries similar to what the kernel does for the N64/N32 ones. This also fixes a regression introduced in commit 46490b572544 ("MIPS: kernel: elf: Improve the overall ABI and FPU mode checks") when MIPS_O32_FP64_SUPPORT is disabled. In that case, the mips_set_personality_fp() did not set the FPU mode at all because it assumed that the FPU mode was already set properly. That led to O32 userland problems. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Reported-by: Mans Rullgard <mans@xxxxxxxxx> Fixes: 46490b572544 ("MIPS: kernel: elf: Improve the overall ABI and FPU mode checks") Tested-by: Mans Rullgard <mans@xxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Matthew Fortune <Matthew.Fortune@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: http://patchwork.linux-mips.org/patch/9344/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 96f7c21363e0e0d19f3471f54a719ed06d708513 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 16:01:02 2015 +0200 MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G Since the day of adding this code it was broken. We were iterating over a wrong array and checking for wrong NVRAM entry. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9654/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6ca716f2e5571d25a3899c6c5c91ff72ea6d6f5e Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Nov 25 09:15:45 2014 +0000 MIPS: Kconfig: Disable SMP/CPS for 64-bit A 64-bit build for Malta produces far too many build problems when SMP/CPS is selected. Moreover, there is currently no 64-bit product with SMP/CPS so we disable SMP/CPS when building for 64-bit until it is properly supported. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8573/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a843d00d038b11267279e3b5388222320f9ddc1d Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:05 2015 +0800 MIPS: Hibernate: flush TLB entries earlier We found that TLB mismatch not only happens after kernel resume, but also happens during snapshot restore. So move it to the beginning of swsusp_arch_suspend(). Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9621/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 90db024f140d0d6ad960cc5f090e3c8ed890ca55 Author: Niklas Cassel <niklas.cassel@xxxxxxxx> Date: Thu Jan 15 16:41:13 2015 +0100 MIPS: smp-cps: cpu_set FPU mask if FPU present If we have an FPU, enroll ourselves in the FPU-full mask. Matching the MT_SMP and CMP implementations of smp_setup. Signed-off-by: Niklas Cassel <niklass@xxxxxxxx> Cc: paul.burton@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8948/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f8483988cadd7dd22de928db29ed3bcbe02faf78 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Feb 25 13:08:05 2015 +0000 MIPS: lose_fpu(): Disable FPU when MSA enabled The lose_fpu() function only disables the FPU in CP0_Status.CU1 if the FPU is in use and MSA isn't enabled. This isn't necessarily a problem because KSTK_STATUS(current), the version of CP0_Status stored on the kernel stack on entry from user mode, does always get updated and gets restored when returning to user mode, but I don't think it was intended, and it is inconsistent with the case of only the FPU being in use. Sometimes leaving the FPU enabled may also mask kernel bugs where FPU operations are executed when the FPU might not be enabled. So lets disable the FPU in the MSA case too. Fixes: 33c771ba5c5d ("MIPS: save/disable MSA in lose_fpu") Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9323/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a7b7aad383c5dd9221a06e378197350dd27c1163 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Mon Feb 23 06:17:33 2015 +0100 MIPS: ralink: add missing symbol for RALINK_ILL_ACC A driver was added in commit 5433acd81e87 ("MIPS: ralink: add illegal access driver") without the Kconfig section being added. Fix this by adding the symbol to the Kconfig file. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Reported-by: Paul Bolle <pebolle@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9299/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 93a7de8819a661d06eb11f4de3d6888b9a842b30 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Mon Feb 23 06:17:32 2015 +0100 MIPS: ralink: Fix bad config symbol in PCI makefile. A wrong symbol is referenced by commit 187c26ddf0b2 ("MIPS: ralink: add rt2880 pci driver"). Fix this by changing it to the correct symbol. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Reported-by: Paul Bolle <pebolle@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9298/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 179fa46fb666c8f2aa2bbb1f3114d5d826d59d3d Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Wed Mar 25 16:31:42 2015 +0100 SSB: fix Kconfig dependencies The commit 21400f252a97 ("MIPS: BCM47XX: Make ssb init NVRAM instead of bcm47xx polling it") introduces a dependency to SSB_SFLASH but did not add it to the Kconfig. drivers/ssb/driver_mipscore.c:216:36: error: 'struct ssb_mipscore' has no member named 'sflash' struct ssb_sflash *sflash = &mcore->sflash; ^ drivers/ssb/driver_mipscore.c:249:12: error: dereferencing pointer to incomplete type if (sflash->present) { ^ Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Cc: m@xxxxxxx Cc: zajec5@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9598/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f7f8aea4b97c4d48e42f02cb37026bee445f239f Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Feb 27 07:51:32 2015 +0000 MIPS: Malta: Detect and fix bad memsize values memsize denotes the amount of RAM we can access from kseg{0,1} and that should be up to 256M. In case the bootloader reports a value higher than that (perhaps reporting all the available RAM) it's best if we fix it ourselves and just warn the user about that. This is usually a problem with the bootloader and/or its environment. [ralf@xxxxxxxxxxxxxx: Remove useless parens as suggested bei Sergei. Reformat long pr_warn statement to fit into 80 column limit.] Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9362/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9eaffa84a8a46adab065c983401fc9d5949c958f Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Mar 25 13:18:27 2015 +0100 Revert "MIPS: Avoid pipeline stalls on some MIPS32R2 cores." For a discussion, see http://patchwork.linux-mips.org/patch/9539/. This reverts commit 625c0a21700bdb90844d926a1508a17a77e369c9. commit f05ff43355e6997c18f82ddcee370a6e5f8643ce Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Mar 25 13:21:51 2015 +0100 MIPS: Octeon: Delete override of cpu_has_mips_r2_exec_hazard. This is no longer needed with the fixed, new and improved definition of cpu_has_mips_r2_exec_hazard in <asm/cpu-features.h>. For a discussion, see http://patchwork.linux-mips.org/patch/9539/. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9cdf30bd3bac697fc533988f44a117434a858f69 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Mar 25 13:14:16 2015 +0100 MIPS: Fix cpu_has_mips_r2_exec_hazard. Returns a non-zero value if the current processor implementation requires an IHB instruction to deal with an instruction hazard as per MIPS R2 architecture specification, zero otherwise. For a discussion, see http://patchwork.linux-mips.org/patch/9539/. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit aebac99384f7a6d83a3dcd42bf2481eed2670083 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Mar 3 18:48:49 2015 +0000 MIPS: kernel: entry.S: Set correct ISA level for mips_ihb Commit 6ebb496ffc7e("MIPS: kernel: entry.S: Add MIPS R6 related definitions") added the MIPSR6 definition but it did not update the ISA level of the actual assembly code so a pre-MIPSR6 jr.hb instruction was generated instead. Fix this by using the MISP_ISA_LEVEL_RAW macro. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: 6ebb496ffc7e("MIPS: kernel: entry.S: Add MIPS R6 related definitions") Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9386/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 518222161d4a2d3f3b2700098563b62383f83878 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Mar 3 18:48:48 2015 +0000 MIPS: asm: spinlock: Fix addiu instruction for R10000_LLSC_WAR case Commit 5753762cbd1c("MIPS: asm: spinlock: Replace "sub" instruction with "addiu") replaced the "sub" instruction with addiu but it did not update the immediate value in the R10000_LLSC_WAR case. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: 5753762cbd1c("MIPS: asm: spinlock: Replace "sub" instruction with "addiu"") Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9385/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f6b39ae6f4d6ee835bb16e452086121aa010f1a7 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Mar 3 18:48:47 2015 +0000 MIPS: r4kcache: Use correct base register for MIPS R6 cache flushes Commit 934c79231c1b("MIPS: asm: r4kcache: Add MIPS R6 cache unroll functions") added support for MIPS R6 cache flushes but it used the wrong base address register to perform the flushes so the same lines were flushed over and over. Moreover, replace the "addiu" instructions with LONG_ADDIU so the correct base address is calculated for 64-bit cores. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: 934c79231c1b("MIPS: asm: r4kcache: Add MIPS R6 cache unroll functions") Cc: linux-mips@xxxxxxxxxxxxxx Reviewed-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9384/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 07edf0d46c07568d08feee95bbaa38c71b084150 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Mar 10 12:30:56 2015 +0000 MIPS: Kconfig: Fix typo for the r2-to-r6 emulator kernel parameter Commit b0a668fb2038 ("MIPS: kernel: mips-r2-to-r6-emul: Add R2 emulator for MIPS R6") added the mips r2-to-r6 emulator so an R2 userland can be executed on R6 kernels. This needed both build time and runtime support. The runtime support needed the "mipsr2emu" kernel parameter instead of the "mipsr2emul" listed in the Kconfig help message. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: b0a668fb2038 ("MIPS: kernel: mips-r2-to-r6-emul: Add R2 emulator for MIPS R6") Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9504/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6eae35485b26f9e51ab896eb8a936bed9908fdf6 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 9 14:54:52 2015 +0000 MIPS: unaligned: Fix regular load/store instruction emulation for EVA When emulating a regular lh/lw/lhu/sh/sw we need to use the appropriate instruction if we are in EVA mode. This is necessary for userspace applications which trigger alignment exceptions. In such case, the userspace load/store instruction needs to be emulated with the correct eva/non-eva instruction by the kernel emulator. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: c1771216ab48 ("MIPS: kernel: unaligned: Handle unaligned accesses for EVA") Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9503/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3563c32d6532ece53c9dd8905a8e41983ef9952f Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 9 14:54:51 2015 +0000 MIPS: unaligned: Surround load/store macros in do {} while statements It's best to surround such complex macros with do {} while statements so they can appear as independent logical blocks when used within other control blocks. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9502/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit eeb538950367e3966cbf0237ab1a1dc30e059818 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 9 14:54:50 2015 +0000 MIPS: unaligned: Prevent EVA instructions on kernel unaligned accesses Commit c1771216ab48 ("MIPS: kernel: unaligned: Handle unaligned accesses for EVA") allowed unaligned accesses to be emulated for EVA. However, when emulating regular load/store unaligned accesses, we need to use the appropriate "address space" instructions for that. Previously, an unaligned load/store instruction in kernel space would have used the corresponding EVA instructions to emulate it which led to segmentation faults because of the address translation that happens with EVA instructions. This is now fixed by using the EVA instruction only when emulating EVA unaligned accesses. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: c1771216ab48 ("MIPS: kernel: unaligned: Handle unaligned accesses for EVA") Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9501/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 60cd7e08e453bc6828ac4b539f949e4acd80f143 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 9 14:54:49 2015 +0000 MIPS: asm: asm-eva: Introduce kernel load/store variants Introduce new macros for kernel load/store variants which will be used to perform regular kernel space load/store operations in EVA mode. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9500/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 872cd4c2c617bb3a203ebe18115fd0c697112b87 Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:26 2015 +0530 MIPS: Netlogic: Fix for SATA PHY init Update to the SATA PHY initialization. This is needed for SATA detection to succeed in all configurations. Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8886/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b083518c52ab75a345d668ca7fa41e530df08d51 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:55:39 2015 +0200 MIPS: OCTEON: fix PCI interrupt mapping for D-Link DSR-1000N Fix PCI interrupt mapping for DSR1000N. This will get the PCI slot interrupts working. The mapping is based on D-Link GPL tarball. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9593/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 73bf3c2a500b2db8ac966469591196bf55afb409 Author: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Date: Wed Mar 18 14:05:21 2015 +0100 MIPS: Octeon: Remove udelay() causing huge IRQ latency udelay() in PCI/PCIe read/write callbacks cause 30ms IRQ latency on Octeon platforms because these operations are called from PCI_OP_READ() and PCI_OP_WRITE() under raw_spin_lock_irqsave(). Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: David Daney <ddaney@xxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Mathias <mathias.rulf@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9576/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e68410ebf62676dfb93aafff7c55b76644f37072 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:48 2015 +0200 crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. It also changes the prototypes of the core asm functions to be compatible with the base prototype void (sha512_block_fn)(struct sha256_state *sst, u8 const *src, int blocks) so that they can be passed to the base layer directly. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1631030ae63aef0a54fe08813e0f4e26c8ef9c78 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:47 2015 +0200 crypto: x86/sha256_ssse3 - move SHA-224/256 SSSE3 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. It also changes the prototypes of the core asm functions to be compatible with the base prototype void (sha256_block_fn)(struct sha256_state *sst, u8 const *src, int blocks) so that they can be passed to the base layer directly. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 824b43763c562ee2feec16bb4017785528f3b54c Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:46 2015 +0200 crypto: x86/sha1_ssse3 - move SHA-1 SSSE3 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 03802f6a80b3a993067af97b0dc094f60d6fbc8b Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:45 2015 +0200 crypto: arm64/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 07eb54d306f4f0efabe0a0d5dd6739d079d90e0e Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:44 2015 +0200 crypto: arm64/sha1-ce - move SHA-1 ARMv8 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9205b94923213ee164d7398fdc90826e463c281a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:43 2015 +0200 crypto: arm/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b59e2ae3690c8ef5f8ddeeb0b6b3313521b915e6 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:42 2015 +0200 crypto: arm/sha256 - move SHA-224/256 ASM/NEON implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dde00981e64b3c6621cafe3eea2eef6a4055208c Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:41 2015 +0200 crypto: arm/sha1-ce - move SHA-1 ARMv8 implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 51e515faa887e40e7e30a3e13607ea6be418e4c4 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:40 2015 +0200 crypto: arm/sha1_neon - move SHA-1 NEON implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 90451d6bdb787e1631c6ce4619221eb59562343c Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:39 2015 +0200 crypto: arm/sha1 - move SHA-1 ARM asm implementation to base layer This removes all the boilerplate from the existing implementation, and replaces it with calls into the base layer. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ca142584bc8ebc8e15b317680771ade58ca96315 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:38 2015 +0200 crypto: sha512-generic - move to generic glue implementation This updated the generic SHA-512 implementation to use the generic shared SHA-512 glue code. It also implements a .finup hook crypto_sha512_finup() and exports it to other modules. The import and export() functions and the .statesize member are dropped, since the default implementation is perfectly suitable for this module. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a2e5ba4fedd6e590bb2cd83817c2bf0cd0de69d1 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:37 2015 +0200 crypto: sha256-generic - move to generic glue implementation This updates the generic SHA-256 implementation to use the new shared SHA-256 glue code. It also implements a .finup hook crypto_sha256_finup() and exports it to other modules. The import and export() functions and the .statesize member are dropped, since the default implementation is perfectly suitable for this module. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7c71f0f760d65f270aca0849caebb1fd5d53c66b Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:36 2015 +0200 crypto: sha1-generic - move to generic glue implementation This updated the generic SHA-1 implementation to use the generic shared SHA-1 glue code. It also implements a .finup hook crypto_sha1_finup() and exports it to other modules. The import and export() functions and the .statesize member are dropped, since the default implementation is perfectly suitable for this module. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b84a2a0b4ec214fc5d4ba1d3d5b26d4f88733dba Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:35 2015 +0200 crypto: sha512 - implement base layer for SHA-512 To reduce the number of copies of boilerplate code throughout the tree, this patch implements generic glue for the SHA-512 algorithm. This allows a specific arch or hardware implementation to only implement the special handling that it needs. The users need to supply an implementation of void (sha512_block_fn)(struct sha512_state *sst, u8 const *src, int blocks) and pass it to the SHA-512 base functions. For easy casting between the prototype above and existing block functions that take a 'u64 state[]' as their first argument, the 'state' member of struct sha512_state is moved to the base of the struct. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 11b8d5ef91388162103bf28f2e9d6dfd400d192d Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:34 2015 +0200 crypto: sha256 - implement base layer for SHA-256 To reduce the number of copies of boilerplate code throughout the tree, this patch implements generic glue for the SHA-256 algorithm. This allows a specific arch or hardware implementation to only implement the special handling that it needs. The users need to supply an implementation of void (sha256_block_fn)(struct sha256_state *sst, u8 const *src, int blocks) and pass it to the SHA-256 base functions. For easy casting between the prototype above and existing block functions that take a 'u32 state[]' as their first argument, the 'state' member of struct sha256_state is moved to the base of the struct. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c4d5b9ffa31f7283b34cba991514dacae4c8d3de Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Apr 9 12:55:33 2015 +0200 crypto: sha1 - implement base layer for SHA-1 To reduce the number of copies of boilerplate code throughout the tree, this patch implements generic glue for the SHA-1 algorithm. This allows a specific arch or hardware implementation to only implement the special handling that it needs. The users need to supply an implementation of void (sha1_block_fn)(struct sha1_state *sst, u8 const *src, int blocks) and pass it to the SHA-1 base functions. For easy casting between the prototype above and existing block functions that take a 'u32 state[]' as their first argument, the 'state' member of struct sha1_state is moved to the base of the struct. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9c521a200bc3c12bd724e48a75c57d5358f672be Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Thu Apr 9 12:09:55 2015 +0200 crypto: api - remove instance when test failed A cipher instance is added to the list of instances unconditionally regardless of whether the associated test failed. However, a failed test implies that during another lookup, the cipher instance will be added to the list again as it will not be found by the lookup code. That means that the list can be filled up with instances whose tests failed. Note: tests only fail in reality in FIPS mode when a cipher is not marked as fips_allowed=1. This can be seen with cmac(des3_ede) that does not have a fips_allowed=1. When allocating the cipher, the allocation fails with -ENOENT due to the missing fips_allowed=1 flag (which causes the testmgr to return EINVAL). Yet, the instance of cmac(des3_ede) is shown in /proc/crypto. Allocating the cipher again fails again, but a 2nd instance is listed in /proc/crypto. The patch simply de-registers the instance when the testing failed. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e9b8e5beb7befe682f9fe90428ea534b01d66568 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 17:40:35 2015 +0800 crypto: api - Move alg ref count init to crypto_check_alg We currently initialise the crypto_alg ref count in the function __crypto_register_alg. As one of the callers of that function crypto_register_instance needs to obtain a ref count before it calls __crypto_register_alg, we need to move the initialisation out of there. Since both callers of __crypto_register_alg call crypto_check_alg, this is the logical place to perform the initialisation. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Stephan Mueller <smueller@xxxxxxxxxx> commit e183201b9e917daf2530b637b2f34f1d5afb934d Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Mar 14 14:04:00 2015 -0300 [media] uvcvideo: add support for VIDIOC_QUERY_EXT_CTRL Add support for the new VIDIOC_QUERY_EXT_CTRL ioctl. Since uvc doesn't use the control framework, support for this ioctl isn't automatic. This is makes v4l2-compliance happy as well. [Added blank lines for improved readability] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5468d5a64bf1e002e5081fa280186d0eba09fa0e Merge: 4dd1f57 55db320 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Apr 10 08:27:18 2015 -0500 Merge branch 'pci/misc' into next * pci/misc: PCI: Read capability list as dwords, not bytes PCI: Don't clear ASPM bits when the FADT declares it's unsupported PCI: Clarify policy for vendor IDs in pci.txt PCI/ACPI: Optimize device state transition delays PCI: Export pci_find_host_bridge() for use inside PCI core PCI: Make a shareable UUID for PCI firmware ACPI _DSM PCI: Fix typo in Thunderbolt kernel message commit 4dd1f57956ada782fd80b1c11c30a9595d6caafc Merge: 8e79584 01d06a9 1fb37a8 f76ea57 e3dc17a ab14d45 7a27db2 8735816 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Apr 10 08:26:54 2015 -0500 Merge branches 'pci/host-exynos', 'pci/host-iproc', 'pci/host-keystone', 'pci/host-layerscape', 'pci/host-mvebu', 'pci/host-rcar' and 'pci/host-versatile' into next * pci/host-exynos: PCI: exynos: Fix INTx enablement statement termination error * pci/host-iproc: PCI: iproc: Add Broadcom iProc PCIe support PCI: iproc: Add DT docs for Broadcom iProc PCIe driver PCI: Export symbols required for loadable host driver modules * pci/host-keystone: PCI: keystone: Don't dereference possible NULL pointer * pci/host-layerscape: PCI: layerscape: Simplify platform_get_resource_byname() failure checking * pci/host-mvebu: PCI: mvebu: Add suspend/resume support * pci/host-rcar: PCI: rcar: Verify that mem_res is 64K-aligned PCI: rcar: Change PCIEPARL and PCIEPARH to PCIEPALR and PCIEPAUR PCI: rcar: Write zeroes to reserved PCIEPARL bits PCI: rcar: Fix position of MSI enable bit * pci/host-versatile: PCI: versatile: Check for devm_ioremap_resource() failures commit 1461fe7ab6e61c4ad59f54e308872c0bae09d609 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Apr 3 06:53:42 2015 -0300 [media] uvcvideo: fix cropcap v4l2-compliance failure The v4l2-compliance tool expects that if VIDIOC_CROPCAP is defined, then VIDIOC_G_SELECTION for TGT_CROP_BOUNDS/DEFAULT is also defined (or COMPOSE in the case of an output device). In fact, all that a driver has to do to implement cropcap is to support those two targets since the v4l2 core will implement cropcap and fill in the pixelaspect to 1/1 by default. Implementing cropcap is only needed if the pixelaspect isn't square. So implement g_selection instead of cropcap in uvc to fix the v4l2-compliance failure. [Added blank lines for improved readability] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit befd25a2bd61f1706508280f705e18be8b283e3e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 14:12:58 2015 -0300 [media] media: omap3isp: remove unused clkdev No merged platform supplies xclks via platform data. As we want to slightly change the clkdev interface, rather than fixing this unused code, remove it instead. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8cb0aa4c2db395b143cd5165586dc17677960002 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Apr 1 19:25:42 2015 +0900 perf probe: Check the orphaned -x option To avoid probing in unintended binary, the orphaned -x option must be checked and warned. Without this patch, following command sets up the probe in the kernel. ----- # perf probe -a strcpy -x ./perf Added new event: probe:strcpy (on strcpy) You can now use it in all perf tools, such as: perf record -e probe:strcpy -aR sleep 1 ----- But in this case, it seems that the user may want to probe in the perf binary. With this patch, perf-probe correctly handles the orphaned -x. ----- # perf probe -a strcpy -x ./perf Error: -x/-m must follow the probe definitions. ... ----- Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150401102541.17137.75477.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7afb3fab390871b1d20b1dbb94e03b8a3861cb0d Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Apr 1 19:25:39 2015 +0900 perf probe: Support multiple probes on different binaries Support multiple probes on different binaries with just one command. In the result, this example sets up the probes on icmp_rcv in kernel, on main and set_target in perf, and on pcspkr_event in pcspker.ko driver. ----- # perf probe -a icmp_rcv -x ./perf -a main -a set_target \ -m /lib/modules/4.0.0-rc5+/kernel/drivers/input/misc/pcspkr.ko \ -a pcspkr_event Added new event: probe:icmp_rcv (on icmp_rcv) You can now use it in all perf tools, such as: perf record -e probe:icmp_rcv -aR sleep 1 Added new event: probe_perf:main (on main in /home/mhiramat/ksrc/linux-3/tools/perf/perf) You can now use it in all perf tools, such as: perf record -e probe_perf:main -aR sleep 1 Added new event: probe_perf:set_target (on set_target in /home/mhiramat/ksrc/linux-3/tools/perf/perf) You can now use it in all perf tools, such as: perf record -e probe_perf:set_target -aR sleep 1 Added new event: probe:pcspkr_event (on pcspkr_event in pcspkr) You can now use it in all perf tools, such as: perf record -e probe:pcspkr_event -aR sleep 1 ----- Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150401102539.17137.46454.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5e78c69b72276853ac64070a010e6df64723dba9 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Fri Apr 10 17:35:00 2015 +0800 perf buildid-list: Fix segfault when show DSOs with hits commit: f3b623b8490a ("perf tools: Reference count struct thread") appends every thread->node to dead_threads in machine__remove_thread() and list_del_init() this node in thread__put(). perf_event__exit_del_thread() releases thread wihout using machine__remove_thread(), and causes a NULL pointer crash when list_del_init(&thread->node) is called. Fix this by using machine_remove_thread() instead of using thread__put() directly. This problem can be reproduced as following: $ perf record ls $ perf buildid-list --with-hits [ 3874.195070] perf[1018]: segfault at 0 ip 00000000004b0b15 sp 00007ffc35b44780 error 6 in perf[400000+166000] Segmentation fault After this patch: $ perf record ls $ perf buildid-list --with-hits bc23e7c3281e542650ba4324421d6acf78f4c23e /proc/kcore 643324cb0e969f30c56d660f167f84a150845511 [vdso] 0000000000000000000000000000000000000000 /bin/busybox ... Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428658500-6483-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1060ab857f64f33a9445881fd31fa91470aeb622 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Thu Apr 9 16:15:46 2015 -0400 perf tools: Fix cross-endian analysis Trying to analyze a big endian data file on little endian system fails with the error: 0xa9b40 [0x70]: failed to process type: 9 The problem is that header parsing is not done correctly because the file attributes are not swapped. Make it so. With this patch able to analyze a sparc64 data file on x86_64. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428610546-178789-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d998b732599b304c3865e8e5c7ba6250faba6589 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Apr 8 11:57:03 2015 -0300 perf tools: Fix error path to do closedir() when synthesizing threads When traversing /proc to synthesize the PERF_RECORD_FORK et al events we were bailing out on errors without calling closedir(), fix it. Reported-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> 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: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-vxtp593rfztgbi8noy0m967p@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9a1a8f9953f3f101ce769878fc7bbbc43a4fd2dc Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jan 29 14:36:00 2015 -0300 [media] coda: Add tracing support This patch adds tracepoints to the coda driver that can be used together with the v4l2:v4l2_qbuf and v4l2:v4l2_dqbuf tracepoints to to follow video frames through the mem2mem device. For encoding with the BIT processor: coda:coda_enc_pic_run coda:coda_enc_pic_done For decoding with the BIT processor: coda:coda_bit_queue coda:coda_dec_pic_run coda:coda_dec_pic_done coda:coda_dec_rot_done Additionally, two low level tracepoints register whenever the BIT processor is started and returns: coda:coda_bit_run coda:coda_bit_done 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 8191919bff678ae16050c60e1f86355d7731ac73 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Mar 25 13:45:09 2015 -0300 [media] coda: drop dma_sync_single_for_device in coda_bitstream_queue Issuing a cache flush for the whole bitstream buffer is not optimal in the first place when only a part of it was written. But given that the buffer is mapped in writecombine mode, it is not needed at all. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Ian Molton <imolton@xxxxxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 582d887211612c197fc8ea9435503f9b278ce76f Author: Philipp Zabel <philipp.zabel@xxxxxxxxx> Date: Tue Mar 24 14:30:57 2015 -0300 [media] coda: fix fill bitstream errors in nonstreaming case When queueing a buffer into the bitstream fails, it has to be requeued in the videobuf2 queue before streaming starts, but while streaming it should be returned to userspace with an error. Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7764a385f60bd200304a33124bdb4e684caeabdf Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Thu Apr 9 12:48:27 2015 -0400 perf tools: Fix synthesizing fork_event.ppid for non-main thread Commit ca6c41c59b9 sets the ppid based on what is read from the /proc/pid/status file when synthesizing fork events. This is correct thing to do for new processes but not threads of a process. Fix ppid for threads to be the main thread when synthesizing fork events (ie., assume main thread spawned all sub-threads in a process). Reported-by: Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428598107-178999-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5c76c2c3e2783886975ff536c50d9c446e0ecb6e Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:56 2015 -0300 [media] coda: call SEQ_END when the first queue is stopped This allows to stop and restart the output queue to start a new sequence while keeping the capture queue running. Before, sequence end would only be issued if both output and capture queue were stopped and the sequence start issued when reenabling the output queue would fail. 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 23b6ee5cd9d99d9d99d92ff923d6971a33dc7b03 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:55 2015 -0300 [media] coda: fail to start streaming if userspace set invalid formats 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 6ba53b81b6f8ad0fde3d7834ad7714abc12aacaa Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:54 2015 -0300 [media] coda: remove duplicate error messages for buffer allocations coda_alloc_aux_buf already prints an error, no need to print duplicate error messages all over the place. 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 650b939ecd3f0a1a9dc800155f7efadeb1794868 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:53 2015 -0300 [media] coda: move parameter buffer in together with context buffer allocation The parameter buffer is a per-context buffer, so we can allocate and free it together with the other context buffers during REQBUFS. Since this was the last context buffer allocated in coda-common.c, we can now move coda_alloc_context_buf 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 <mchehab@xxxxxxxxxxxxxxx> commit ad532d37b2958f6c7652429be36ddd46a65ab67a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:52 2015 -0300 [media] coda: allocate bitstream buffer from REQBUFS, size depends on the format Allocating the bitstream buffer only when the format is set allows to guarantee that at least two frames fit into the bitstream buffer. For small frame sizes a smaller bitstream buffer can be allocated. Since the bitstream buffer size now depends on the format, replace CODA_MAX_FRAME_SIZE with ctx->bitstream.size where appropriate and remove the now unused constant. Since REQBUFS can be called multiple times, but the format can't be changed unless REQBUFS 0 was called before, we can just keep the allocated context and bitstream buffers if REQBUFS is called multiple times with a non-zero buffer count. [fixed a resource leak preventing repeatedly decoding] Signed-off-by: Peter Seiderer <ps.report@xxxxxxx> 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 73751da61c00db9914ae1c47a25f7462722bc76b Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:51 2015 -0300 [media] coda: allocate per-context buffers from REQBUFS Allocate the per-context buffers from REQBUFS instead in start_encoding or start_decoding. This allows to stop and start streaming independently of buffer (re)allocation 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 bf249daf079492d60306ad1c5c78d53255ff15a3 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:50 2015 -0300 [media] coda: use strlcpy instead of snprintf There is no need to take the detour through a "%s" format string to create a copy of a string. 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 2b7684683d4b6e41717b9d1354d4080fdee970fc Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:30:49 2015 -0300 [media] coda: bitstream payload is unsigned kfifo_len is unsigned int, return it as such. 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 d446ec8e122c210a9260f103cbf8da5a56de9c82 Author: Peter Seiderer <ps.report@xxxxxxx> Date: Tue Mar 24 14:30:48 2015 -0300 [media] coda: fix double call to debugfs_remove In coda_free_aux_buf() call debugfs_remove only if buffer entry is valid (and therfore dentry is valid), double protect by invalidating dentry value. Fixes erroneous prematurely dealloc of debugfs caused by incorrect reference count incrementing. Signed-off-by: Peter Seiderer <ps.report@xxxxxxx> 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 a7f933a56908587e30539d649a9ae808d0601bc5 Author: Peter Seiderer <ps.report@xxxxxxx> Date: Tue Mar 24 14:30:47 2015 -0300 [media] coda: check kasprintf return value in coda_open kasprintf might fail if free memory is low. Signed-off-by: Peter Seiderer <ps.report@xxxxxxx> 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 92b042ecedea7aa3d47391be57411709dab52cd7 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Mar 18 08:15:36 2015 -0300 [media] coda: bitrate can only be set in kbps steps We divide the bitrate by 1000 before writing it to the register. Communicate to userspace that the bitrate granularity is kbps. 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 d5451c1d9257622105a1c5bee732c050b3e82cf0 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Mar 11 12:57:50 2015 -0300 [media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and v4l2_m2m_buf_remove The first time b is used, it is assigned to the first element of the rdy_queue list. There is no need to set it to NULL before. 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 e6c9dec3e7d68c477768e2955c7f8ed78a09bfd6 Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Mon Feb 23 09:26:19 2015 -0300 [media] s5p-mfc: set allow_zero_bytesused flag for vb2_queue_init The s5p-mfc driver interprets a buffer with bytesused equal to 0 as a special case indicating end-of-stream. After vb2: fix bytesused == 0 handling (8a75ffb) patch videobuf2 modified the value of bytesused if it was 0. The allow_zero_bytesused flag was added to videobuf2 to keep backward compatibility. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e4af23d33193c4da52fa84b835374e975085f8fd Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Mon Feb 23 09:26:18 2015 -0300 [media] coda: set allow_zero_bytesused flag for vb2_queue_init The coda driver interprets a buffer with bytesused equal to 0 as a special case indicating end-of-stream. After vb2: fix bytesused == 0 handling (8a75ffb) patch videobuf2 modified the value of bytesused if it was 0. The allow_zero_bytesused flag was added to videobuf2 to keep backward compatibility. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f61bf13b6a07a93b9348e77808d369803f40b681 Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Mon Feb 23 09:26:17 2015 -0300 [media] vb2: add allow_zero_bytesused flag to the vb2_queue struct The vb2: fix bytesused == 0 handling (8a75ffb) patch changed the behavior of __fill_vb2_buffer function, so that if bytesused is 0 it is set to the size of the buffer. However, bytesused set to 0 is used by older codec drivers as as indication used to mark the end of stream. To keep backward compatibility, this patch adds a flag passed to the vb2_queue_init function - allow_zero_bytesused. If the flag is set upon initialization of the queue, the videobuf2 keeps the value of bytesused intact in the OUTPUT queue and passes it to the driver. Reported-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 06e7a9b638467fddf8f62ca9f07adc7754319461 Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Mon Feb 23 09:26:16 2015 -0300 [media] vb2: split the io_flags member of vb2_queue into a bit field This patch splits the io_flags member of vb2_queue into a bit field. Instead of an enum with flags separate bit fields were introduced. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5dbc32a88f1e73f244e6134fc119dd4d60a398c0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Mar 29 14:54:13 2015 +0200 n_gsm: Drop unneeded cast on netdev_priv The result of netdev_priv is already implicitly cast to the type of the left side of the assignment. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; T *x; @@ x = - (T *) netdev_priv(...) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0e381158a95a63a283be4cde64795d37e32134b Author: Jakub Kicinski <kubakici@xxxxx> Date: Tue Mar 31 21:11:40 2015 +0200 sc16is7xx: expose RTS inversion in RS-485 mode Hardware is capable of inverting RTS signal when working in RS-485 mode. Expose this functionality to user space. Relay on a matching combination of standard flags (SER_RS485_RTS_ON_SEND and SER_RS485_RTS_AFTER_SEND) to detect when user space is requesting inverted RTS mode. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a8bc239a8c3e6ad34fceabb61ff8ec6222dad4e Author: Peter Hung <hpeter@xxxxxxxxx> Date: Wed Apr 1 14:00:21 2015 +0800 serial: 8250_pci: port failed after wakeup from S3 Serial ports of F81504/F81508/F81512 will failed when wakeup from S3(STR). It's due to when the system wakeup from S3(STR), this PCI device's configuration space from 0x40 to 0x40 + max_port * 0x08 should be re-configured. We move all initialization from pci_fintek_setup() to pci_fintek_init() and set it to pci_serial_quirks .init section. It's will re-init this device when system wakeup from pciserial_resume_ports(). Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca782f16ce02e3f4fa2ae28a5ff256ac69f731e2 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 10:52:39 2015 -0400 earlycon: 8250: Document kernel command line options Document the expected behavior of kernel command lines of the forms: console=uart[8250],io|mmio|mmio32,<addr>[,options] console=uart[8250],<addr>[,options] and earlycon=uart[8250],io|mmio|mmio32,<addr>[,options] earlycon=uart[8250],<addr>[,options] Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87515772c33ee8a0cc08d984a7d2401eeff074cd Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 10:48:49 2015 -0400 earlycon: 8250: Fix command line regression Restore undocumented behavior of kernel command line parameters of the forms: console=uart[8250],io|mmio|mmio32,<addr>[,options] console=uart[8250],<addr>[,options] where 'options' have not been specified; in this case, the hardware is assumed to be initialized. Fixes: c7cef0a84912cab3c9df8 ("console: Add extensible console matching") Reported-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99492c39f39fc2d8c4ae36ecfb88d7de5d8106b5 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 08:57:51 2015 -0400 earlycon: Fix __earlycon_table stride The compiler and the linker must agree on the alignment of struct earlycon_id; empirical testing and commit 07fca0e57fca92 ("tracing: Properly align linker defined symbols") suggests 32-byte alignment is the LCD. Reported-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00fe52deb45b1a5ef42b0aa82e632e2df012eddc Author: Chase Metzger <chasemetzger15@xxxxxxxxx> Date: Thu Apr 9 21:41:52 2015 -0700 drivers/usb/core: devio.c: Removed an uneeded space before tab Ran checkpatch.pl on file and removed a warning about an unwanted space before a tab. Signed-off-by: Chase Metzger <chasemetzger15@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42a6630a875c17b8ad129d2cc0472217107147ad Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Fri Apr 3 10:53:25 2015 +0200 usb: dwc2: host: sleep USB_RESUME_TIMEOUT during resume msleep(USB_RESUME_TIMEOUT) must be done when the controller drives the resume. This is true after HPRT0_RES is written. Moreover, restore the delay after controller power is up. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9cd825d066c911cd6076a539986bcf22f1cbcd7 Merge: 2aebe3f 0c4d6af Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 13:51:20 2015 +0200 Merge tag 'usb-ci-v4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-next Peter writes: Two Chipidea updates - Forbid dumpping registers when the controller in low power mode - dp pullup needs to be controlled by fsm when working at otg fsm mode commit 2aebe3f3b20724e09ec76b196e16404d1ea573d9 Merge: c8d1bc1 e95cf39 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 13:47:50 2015 +0200 Merge tag 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next Kishon writes: New Features ============ *) Add driver for USB PHYs on sun9i *) Add driver for USB PHY on dm816x *) Modified exynos5-usbdrd driver to add support for Exynos5433 SoC Fixes ===== *) Fix power_on/power_off failure paths in some drivers *) Make miphy365x use generic PHY type constants *) Fix build errors due to missing export symbols in qcom-ufs driver *) Make all the functions return proper error values Cleanups ======== *) use PTR_ERR_OR_ZERO to simplify code *) use devm_kcalloc instead of devm_kzalloc with multiply *) remove un-necessary ifdef CONFIG_OF commit c8d1bc12c7986c166bd3504213d9df2bc11ad7d6 Merge: b7a4abb bbc78c0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 10 13:45:27 2015 +0200 Merge tag 'usb-for-v4.1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-testing Felipe writes: usb: generic resume timeout for v4.1 This part 2 pull request contains only the patches which make sure everybody on linux uses the same resume timeout value. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit af8fcb9c58f1b2f02ddc04ba64710aaa52da00db Author: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Date: Thu Apr 9 13:42:06 2015 -0700 drm/i915/chv: Remove DPIO force latency causing interpair skew issue Latest version of the "CHV DPIO programming notes" no longer requires writes to TX DW 11 to fix a +2UI interpair skew issue. The current code from April 2014 was actually causing additional skew issues between all TMDS pairs. ver2: added same treatment to intel_dp.c based on Ville's testing. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 88f933a8b03474ebcd16935d3620e5c10b557f6f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Apr 9 16:44:16 2015 +0200 drm/i915: Don't cancel DRRS worker synchronously for flush/invalidate It's not needed since the worker rechecks that it didn't race. We only need to cancel synchronously after disabling drrs to make sure the worker really is gone (e.g. for driver unload). But for normal operation the stall is just wasted time. Reported-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Ramalingam C <ramalingam.c@xxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Vandana Kannan <vandana.kannan@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9da7d69357389ea63893434fe3b17b9fbc2c2d2d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Apr 9 16:44:15 2015 +0200 drm/i915: Fix locking in DRRS flush/invalidate hooks We must acquire the mutex before we can check drrs.dp, otherwise someone might sneak in with a modeset, clear the pointer after we've checked it and then the code will Oops. This issue has been introduced in commit a93fad0f7fb8a3ff12e8814b630648f6d187954c Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Sat Jan 10 02:25:59 2015 +0530 drm/i915: DRRS calls based on frontbuffer v2: Don't blow up on uninitialized mutex and work item by checking whether DRRS is support or not first. Also unconditionally initialize the mutex/work item to avoid future trouble. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Ramalingam C <ramalingam.c@xxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Vandana Kannan <vandana.kannan@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx (4.0+ only) Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Tested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 91bf0c2dcb935a87e5c0795f5047456b965fd143 Author: Michael Gernoth <michael@xxxxxxxxxxx> Date: Thu Apr 9 23:42:15 2015 +0200 ALSA: emu10k1: don't deadlock in proc-functions The functions snd_emu10k1_proc_spdif_read and snd_emu1010_fpga_read acquire the emu_lock before accessing the FPGA. The function used to access the FPGA (snd_emu1010_fpga_read) also tries to take the emu_lock which causes a deadlock. Remove the outer locking in the proc-functions (guarding only the already safe fpga read) to prevent this deadlock. [removed superfluous flags variables too -- tiwai] Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 69f0fb2a592fc9ebc5e3e55178055d1cff31d479 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:29 2015 +0100 mmc: sdhci-st: Update ST SDHCI binding documentation. This patch updates the binding information to reflect the extra dt options which are now supported by the sdhci-st.c driver which enable support for stih407 family silicon. STiH410 SoC and later support UHS modes for eMMC, so the driver now makes use of these common bindings. Examples are provided for both eMMC (which has additional bindings) and also sd slot for STiH407. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4e187d3154e6a47dfb8561aa0003d93243ec7e4a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:28 2015 +0100 mmc: sdhci-st: Update the quirks for this controller. Some additional quirks need to be enabled now we support UHS modes. This avoids some spurious warnings like "Got data interrupt 0x00000002 even though no data operation was in progress" Testing on stih410-b2120 board achieves the following speeds with HS200 eMMC card. max-frequency = 200Mhz /dev/mmcblk0p1: Timing buffered disk reads: 270 MB in 3.02 seconds = 89.54 MB/sec max-frequency = 100Mhz root@debian-armhf:~# hdparm -t /dev/mmcblk0p1 /dev/mmcblk0p1: Timing buffered disk reads: 210 MB in 3.00 seconds = 70.00 MB/sec max-frequency = 50Mhz root@debian-armhf:~# hdparm -t /dev/mmcblk0p1 /dev/mmcblk0p1: Timing buffered disk reads: 118 MB in 3.00 seconds = 39.28 MB/sec This is better than the 3.10 kernel which achieves 77.59 MB/sec at 200Mhz clock (same board/soc/eMMC). Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit cf48d32efb4b9e70ca1e17f2c38f77756e9aae58 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:27 2015 +0100 mmc: sdhci-st: Add sdhci_st_set_uhs_signaling function. To allow UHS modes to work properly we need to provide the st specific set_uhs_signaling callback function. This function differs from the generic sdhci_set_uhs_signaling callback in that we need to configure the correct delay depending on the UHS mode, and also set the V18_EN bit. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2053812f6e1af0b8c3d18d4d6d9f356b0c0d0039 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:26 2015 +0100 mmc: sdhci-st: Add st_mmcss_cconfig function to configure mmcss glue registers. STiH407 family SoC's have glue registers in the flashSS subsystem which are used to configure the Arasan HC. This patch configures these glue registers according to what has been specified in the DT. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bfa448041fb51311e32f0fd6342619b8c5672175 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:25 2015 +0100 mmc: sdhci-st: Add delay management functions for top registers (eMMC). Due to the tight timing constraints in some UHS modes, it is required to have some delay management in the design. Two types of delay management are supported in the HW: - 1) Static delay management 2) Dynamic delay management NB: The delay management is only there when eMMC interface is selected. 1: Static delay management: is used to provide PVT dependent static delay on the clock/data lines to manage setup/hold requirements of the interface. The maximum delay possible is 3.25ns. These delays are PVT dependent, and thus delay values applied are not accurate and vary across provcess voltage and temperature range. Due to this these delays must not be used on the very time critical paths. 2. Dynamic delay locked loop (DLL): is used to provide dynamic delay management. The advantage of DLL is that it provides accurate & PVT indepedent delay. The DLL is used to provide delay on the loopback clock on "Read Path" to capture read data reliably. On TX path the clock on which output data is transmitted is delayed, resulting in delay of TX data. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 406c24310a7bd7ce152662647fcb76c4a67971a5 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:24 2015 +0100 mmc: sdhci-st: Add support for de-asserting reset signal and top regs resource STiH407 family SoC's can have a reset signal for the controller which needs to be managed. Also the eMMC controller has some additional 'top' memory mapped registers which are used to manage the dynamic and static delay required for UHS modes. This patch adds support for creating the mapping, which will be used by subsequent patches. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8bef7178a630dc41ca5868e6bb54ffee91e1c83a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Apr 10 10:40:23 2015 +0100 mmc: sdhci-st: Add macros for register offsets and bitfields for mmcss glue regs The stih407 family SoC's have additional glue registers in the flashSS which are used to configure the Arasan controller. This patch adds macros for the register offsets and bitfields which will be used by subsequent patches to support stih407 family SoC's. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 299e7e97cc33d2d8894250ae2a3101bfb5670141 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Apr 9 14:56:41 2015 -0300 ASoC: fsl_ssi: Use devm_snd_soc_register_component() Using devm_snd_soc_register_component() can make the code shorter and cleaner. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c01673e0b7236140eb5bbe1c7b30aa262f142d7e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Apr 10 08:46:22 2015 +0000 ASoC: ak4642: fixup channels_min ak4642 doesn't have Mono record, ak4643 have it, but not supported. This patch fixes channel mismatch Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a7f4ee1fe93aa9ae191971be9324edb8f9fbcb4a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Sat Apr 4 19:28:50 2015 +1100 powerpc: Drop return value of smp_ops->probe() smp_ops->probe() is currently supposed to return the number of cpus in the system. The last actual usage of the value was removed in May 2007 in e147ec8f1808 "[POWERPC] Simplify smp_space_timers". We still passed the value around until June 2010 when even that was finally removed in c1aa687d499a "powerpc: Clean up obsolete code relating to decrementer and timebase". So drop that requirement, probe() now returns void, and update all implementations. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7261b956b276aa97fbf60d00f1d7717d2ea6ee78 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Apr 3 14:11:54 2015 +1100 powerpc/cell: Fix cell iommu after it_page_shift changes The patch to add it_page_shift incorrectly changed the increment of uaddr to use it_page_shift, rather then (1 << it_page_shift). This broke booting on at least some Cell blades, as the iommu was basically non-functional. Fixes: 3a553170d35d ("powerpc/iommu: Add it_page_shift field to determine iommu page size") Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b0dd00addc5035f87ec9c5820dacc1ebc7fcb3e6 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Apr 3 14:11:53 2015 +1100 powerpc/cell: Fix crash in iic_setup_cpu() after per_cpu changes The conversion from __get_cpu_var() to this_cpu_ptr() in iic_setup_cpu() is wrong. It causes an oops at boot. We need the per-cpu address of struct cpu_iic, not cpu_iic.regs->prio. Sparse noticed this, because we pass a non-iomem pointer to out_be64(), but we obviously don't check the sparse results often enough. Fixes: 69111bac42f5 ("powerpc: Replace __get_cpu_var uses") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7e862d7e7d118e3becc5b495af10ca076f087180 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Mar 30 17:38:09 2015 +1100 powerpc: Reword the "returning from prom_init" message We get way too many bug reports that say "the kernel is hung in prom_init", which stems from the fact that the last piece of output people see is "returning from prom_init". The kernel is almost never hung in prom_init(), it's just that it's crashed somewhere after prom_init() but prior to the console coming up. The existing message should give a clue to that, ie. "returning from" indicates that prom_init() has finished, but it doesn't seem to work. Let's try something different. This prints: Quiescing Open Firmware ... Booting Linux via __start() ... Which hopefully makes it clear that prom_init() is not the problem, and although __start() probably isn't either, it's at least the right place to begin looking. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Wistfully-Acked-by: Jeremy Kerr <jk@xxxxxxxxxx> commit f691fa1080c37c48da0cdfeae082c3bef5df2643 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Mar 30 14:10:37 2015 +1100 powerpc: Replace mem_init_done with slab_is_available() We have a powerpc specific global called mem_init_done which is "set on boot once kmalloc can be called". But that's not *quite* true. We set it at the bottom of mem_init(), and rely on the fact that mm_init() calls kmem_cache_init() immediately after that, and nothing is running in parallel. So replace it with the generic and 100% correct slab_is_available(). Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4f9c53c8cc76ed84e3bb0cca8c4ffa2b170d0239 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 25 20:11:57 2015 +1100 powerpc: Fix compile errors with STRICT_MM_TYPECHECKS enabled Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> [mpe: Fix the 32-bit code also] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit be770021011f00bd6220c87876292053221ca5f1 Merge: e5e02de f321c9cb Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 12:01:59 2015 +0200 Merge back earlier suspend/hibernate material for v4.1. commit cdde51b9fe83a20fd6c50e81473e6ffb5ba63b92 Merge: e5e02de 993c592 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 12:01:24 2015 +0200 Merge back earlier cpuidle material for v4.1. commit 38fc7839bae2db7a1321d9f6bfc7b5b3ccb59d2a Merge: e5e02de 5acb972 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 10 12:00:36 2015 +0200 Merge back earlier cpufreq material for v4.1. commit 6c5c2a01fcfdb70f2e95e30e96ccf53b88e81023 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Apr 4 23:22:07 2015 +0100 ARM: proc-arm94*.S: fix setup function Both ARM946 and ARM940 setup functions were corrupting r1 and r2, which is not permissible - these are used to carry the machine ID and boot data into the kernel, and must be preserved. The code responsible for this was the same in both files: they were using the registers to generate a protection region register value. Fix this by turning this process into a macro, and using that macro in both these files with an alternative register allocation. r0, r3 and r7 can be used for temporary values here. Reported-by: Alex Dumitrache <broscutamaker@xxxxxxxxx> Tested-by: Georg Hofstetter <g3gg0.de@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 03daa6f82f2b634019fe8261698f6af3c133497f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Apr 10 11:35:45 2015 +0200 Revert "gpio: sch: use uapi/linux/pci_ids.h directly" This reverts commit d1e10dc8c104d533547f6e499550fafc36809943. This commit should not go through this tree. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1912c7afa39d2683a574011ff455fe49ada8016c Author: Mike Travis <travis@xxxxxxx> Date: Thu Apr 9 13:26:31 2015 -0500 x86/apic/uv: Update the UV APIC HUB check Update the check for UV2000/3000. Note when the HUB is not recognized. Signed-off-by: Mike Travis <travis@xxxxxxx> Acked-by: Hedi Berriche <hedi@xxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Link: http://lkml.kernel.org/r/20150409182629.267239403@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 379b97e280971ef7673db5166c7e0f7ab49b81de Author: Mike Travis <travis@xxxxxxx> Date: Thu Apr 9 13:26:30 2015 -0500 x86/apic/uv: Update the UV APIC driver check Fix a bug in the OEM check function that determines if the system is a UV system and the BIOS is compatible with the kernel's UV apic driver. This prevents some possibly obscure panics and guards the system against being started on SGI hardware that does not have the required kernel support. Signed-off-by: Mike Travis <travis@xxxxxxx> Acked-by: Hedi Berriche <hedi@xxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Link: http://lkml.kernel.org/r/20150409182629.112998930@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7a4e017041136de05527722b97e0c1f8702a5cbe Author: Mike Travis <travis@xxxxxxx> Date: Thu Apr 9 13:26:29 2015 -0500 x86/apic/uv: Update the APIC UV OEM check Optimize the first "SGI" OEM check to return faster if the system is not an SGI or UV system. Signed-off-by: Mike Travis <travis@xxxxxxx> Acked-by: Hedi Berriche <hedi@xxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Link: http://lkml.kernel.org/r/20150409182628.952357922@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f4d3129c2b580ad2b82aa3211a6216bbf7ad007c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Apr 10 09:53:04 2015 +0200 ALSA: hda/realtek - Fix a typo A comma was used instead of a semicolon, which may lead to a build error. Fixes: cffd39668177 ('ALSA: hda/realtek - Fix the regression by widget power-saving') Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 39d118677baa531cd9ee4c025a34f243746a3d18 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Apr 10 08:43:00 2015 +0900 ALSA: ctl: evaluate macro instead of numerical value SNDRV_CTL_TLV_OP_XXX is defined but not used in core code. Instead, raw numerical value is evaluated. This commit replaces these values to these macros for better looking. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 834a316eeebcb75316c0a7d9088fa638c52dc584 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Apr 7 22:49:54 2015 -0700 xtensa: Fix fix linker script transformation for .text / .text.fixup Commit 779c88c94c34 ("ARM: 8321/1: asm-generic: introduce .text.fixup input section") introduced a new .text.fixup section which is merged with .text at link time. This causes xtensa builds to fail with lots of error messages similar to the following. lib/lib.a(kobject.o): In function `kobject_create': (.text+0x498): dangerous relocation: l32r: literal placed after use: (.literal+0x150) Linker script transformation needs to be updated to detect and handle the new section. Fixes: 779c88c94c34 ("ARM: 8321/1: asm-generic: introduce .text.fixup input section") Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Chris Zankel <chris@xxxxxxxxxx> commit 020f1d9d9ae3f476d887f2b043223d8a89652174 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Apr 9 22:03:24 2015 -0700 ixgbe: Drop unnecessary call to rcu_barrier The ixgbe driver hasn't used call_rcu to free the rings for some time now. Since that is the case the call to rcu_barrier can be dropped since calls to kfree_rcu don't require it. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 87031c0df521d80af3b168bb2425a8faa999b629 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Apr 9 22:03:24 2015 -0700 ixgbe: Remove NETIF_F_HW_VLAN_CTAG_FILTER from hw_features This change makes it so that the HW_VLAN_CTAG_FILTER bit is not falsely advertised as being a feature that can be toggled on ixgbe parts. The driver was setting the bit in features and letting it be inherited by hw_features, however the driver was actually ignoring the value of the bit and just assuming it was always set. As a result VLAN filtering was always enabled which is a requirement for SR-IOV, VMDq, DCB, FCoE, and possibly other features within the adapters. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ea412015a2e72faf066e90765bdd1dc4e4ecea41 Author: Vasu Dev <vasu.dev@xxxxxxxxx> Date: Thu Apr 9 22:03:23 2015 -0700 ixgbe: adds x550 specific FCoE offloads Adds x550 specific FCoE offloads for DDP context programming and increased DDP exchanges. Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6d4c96ad4afd7265d2d214e02d28e66cfdaf9bb4 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Thu Apr 9 22:03:23 2015 -0700 ixgbe: add support for X550 source_address_prunning This patch will enable X550 Source Address Prunning for VEPA bridge mode. This requires that we also have replication enabled as well, while in this mode. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 219efe97bb8a6989dfc93ae6bf97cd72e5b72de3 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Thu Apr 9 22:03:22 2015 -0700 ixgbe: add new bridge mode support function. This patch gathers together all the logic needed to configure bridge modes. Currently that it is rather simple but this is really laying the ground work for future X550 feature enhancement. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 47d68979cc968535cb87f3e5f2e6a3533ea48fbd Author: NeilBrown <neilb@xxxxxxx> Date: Fri Apr 10 13:19:04 2015 +1000 md/raid0: fix bug with chunksize not a power of 2. Since commit 20d0189b1012a37d2533a87fb451f7852f2418d1 in v3.14-rc1 RAID0 has performed incorrect calculations when the chunksize is not a power of 2. This happens because "sector_div()" modifies its first argument, but this wasn't taken into account in the patch. So restore that first arg before re-using the variable. Reported-by: Joe Landman <joe.landman@xxxxxxxxx> Reported-by: Dave Chinner <david@xxxxxxxxxxxxx> Fixes: 20d0189b1012a37d2533a87fb451f7852f2418d1 Cc: stable@xxxxxxxxxxxxxxx (3.14 and later). Signed-off-by: NeilBrown <neilb@xxxxxxx> commit aa2bacb60963870919ec5bc59ac69f0c31572d26 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Thu Apr 9 22:03:22 2015 -0700 ixgbe: Move bridge mode from flag to variable We are currently storing our BRIDGE_MODE as a bit in our adapter flags. This patch will store the actual mode instead which minimizes obfuscation and makes following patches for X550 simpler. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 322d3ed1679047e4ed0c9997d84acf3cdd4f1d29 Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 22:03:21 2015 -0700 ixgb: remove references to ifconfig Move documentation into this century, even if this device hasn't been available for some time. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d7018be0ae2aee988331d2908234d1a1ee3196ac Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 22:03:21 2015 -0700 ixgbe: fix documentation The MTU values in the documentation do not match the source. The source has frame limit of IXGBE_MAX_JUMBO_FRAME_SIZE (9728) which is MTU of 9710 because of the accounting for Ethernet header and CRC. Also, don't refer to the obsolete ifconfig command. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c0a34ebd43959ca83df86ba2ffc63ab0ddb2ea75 Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 21:02:02 2015 -0700 igb: doc don't refer to ifconfig ifconfig command is obsolete, best to remove all references so that new users learn ip. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4a89c3088ff61aa24754e9cd6dc665cc719f7efe Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Fri Apr 10 11:10:08 2015 +0800 nios2: fix cache coherency issue when debug with gdb Remove the end address checking for flushda function. We need to flush each address line for flushda instruction, from start to end address. This is because flushda instruction only flush the cache if tag and line fields are matched. Change to use ldwio instruction (bypass cache) to load the instruction that causing trap. Our interest is the actual instruction that executed by the processor, this should be uncached. Note, EA address might be an userspace cached address. Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit eef77801b56b098cd7e1daf8a03854dd203a051c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:57 2015 +0100 aha1542: remove loop from aha1542_outb The loop in aha1542_outb with double-check is no longer needed, remove it. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 7061dec40c07265f819ae0a6842846f74f889aa9 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:56 2015 +0100 aha1542: Fix bus reset Bus reset always fails because aha1542_reset waits for the controller to assert the INIT bit (Mailbox Initialization Required) which it never does. This bit is asserted only after host reset. Remove the requirement for INIT bit (we really need only the IDLE bit). Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1b0224b0ec6003c06cc369188510642a5fb3b864 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:55 2015 +0100 aha1542: rework locking Remove aha1542_lock and use host_lock instead. Remove interrupt and queuecommand function wrappers. Remove locking from lowlevel _out and _in functions, they now can onle be called (at runtime) with host_lock being held. Remove ssleep(4) in aha1542_reset as we can't sleep while holding a spinlock. It's useless anyway as wait_mask will wait until the controller is idle and kernel waits for 10 seconds (HOST_RESET_SETTLE_TIME) after that. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 764a0c7e840085828afbc16fb9b47be5712f5531 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:54 2015 +0100 aha1542: Don't reduce functionality with DEBUG enabled Enabling DEBUG disables write commands and devices with ID > 1. Remove this "feature" to allow real debugging. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6ddc8cf40a2011af0c1a5dd300cc75d727c3c3a8 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:53 2015 +0100 aha1542: Use print_hex_dump_bytes in debug code Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fde1fb8a4a74607c82a47389be9ee3a134c854cb Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:52 2015 +0100 aha1542: remove DEB macro and simplify debug code Remove DEB macro and join ifdef DEBUG blocks Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2906b3ceb1bfc4a1abd59dd7a5f09268b8d585a6 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:51 2015 +0100 aha1542: Use shost_printk instead of printk Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 37d607bd7944ce8d9d7b3baecc4f0ca725240fb8 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:50 2015 +0100 aha1542: Change aha1542_set_bus_times parameters Pass struct Scsi_Host *sh and dma parameters instead of index to aha1542_set_bus_times. This is required for printk conversion. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 68ea9de3a6256195ab4d92fa7d0edf6ed657a500 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:49 2015 +0100 aha1542: Pass struct Scsi_Host * to functions Pass struct Scsi_Host * to functions instead of base address. This reduces the number of parameters and is also required for printk conversion. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 954a9fd79b165c14e136e8f90e822ba3d186f6b1 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:48 2015 +0100 aha1542: cleanup includes Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1d084d200d2a57219ec2c912c700ddff09f0676c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:47 2015 +0100 aha1542: remove useless changelog Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e51dacbf4eadcae006aeac5dcf87f29a37b770e9 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:46 2015 +0100 aha1542: fix include guard and remove useless changelog Fix include guard in header file and remove useless changelog Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c2532f68266d3b10fe71e0b3e63f4c29d73e6ee5 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:45 2015 +0100 aha1542: Always name Scsi_Host variables sh Make Scsi_Host variable names consistent - use sh everywhere. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 55b28f9fc033f9af090a58ea97063ca51552a2a6 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:44 2015 +0100 aha1524: Use struct scsi_cmnd Use struct scsi_cmnd instead of Scsi_Cmnd and also rename the variables to get rid of SC prefix Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cad2fc72cfc092ed3448a0235f59fe003f4f85c3 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:43 2015 +0100 aha1542: clean up cmd variables Make sure that there's no variable named cmd Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 17787a09fdfcb07ccc361758737af0dfa1ea4214 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:42 2015 +0100 aha1542: Simplify aha1542_biosparam Simplify aha1542_biosparam, use sector_div, remove unused BIOS_TRANSLATION_1632. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f71429ab535d90806a35bc346adcdebfc8996008 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:41 2015 +0100 aha1542: rework configuration parameters Remove __setup and introduce separate io, bus_on, bus_off and dma_speed module parameters. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3a70c006edbe6071bd78e1e0c8004791cd4b531c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:40 2015 +0100 aha1542: rework hw_init Cleanup hw_init, use goto for error handling. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 23e6940a9ecfc6477fb1216cad062e2fa12ea98f Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:39 2015 +0100 aha1542: Call wait_mask from aha1542_out aha1542_out call is always followed by wait_mask. Move the call into aha1542_out to simplify code. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b847fd0d85060fa213a14fa78b46e0ca5b09c5df Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:38 2015 +0100 aha1542: split out code from aha1542_hw_init Split out bus times related block of aha1542_hw_init into separate function aha1542_set_bus_times. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8537cba8b6e14ff86f088dd71592090606c97050 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:37 2015 +0100 aha1542: Merge aha1542_host_reset and aha1542_bus_reset aha1542_host_reset and aha1542_bus_reset are almost same, merge them into aha1542_reset Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit dfd7c991f31261fb4fb14adf0479206b178d270d Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:36 2015 +0100 aha1542: Remove aha1542_restart aha1542_restart does nothing (except useless printk), remove it Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit bdebe2241eb49bf2308571b6158fa5635b9e708e Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:35 2015 +0100 aha1542: remove useless code from aha1542_test_port Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a13b3722a352dffa838994eb713573e2e189d928 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:34 2015 +0100 aha1542: Remove unneeded gotos Remove gotos that are no longer needed. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0c2b64819105986c12d7412a1cb5b91e3d80c15c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:33 2015 +0100 aha1542: Split aha1542_out aha1542_out are in fact two separate functions. Split them into aha1542_out and aha1542_outb to simplify the code. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f8846be334443b432f5daf22099e9f4bdd02ba9f Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:32 2015 +0100 aha1542: Unify aha1542_in and aha1542_in1 Unify aha1542_in and aha1542_in1 functions, they differ only in timeout and printk. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2093bfa1364472759d4711d034c634594d35188a Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:31 2015 +0100 aha1542: Remove WAIT and WAITd macros Convert the ugly WAIT and WAITd macros into wait_mask function. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6d9ffe6a01be435dae0984d94f92e2e85e3e5195 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:30 2015 +0100 aha1542: Use BIT() macro Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f232d538017ec0da1df66cf22dc5a5842077b0e6 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:29 2015 +0100 aha1542: remove empty aha1542_stat Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 09a44833887dfc856facff0a9b21f3def0367f0c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:28 2015 +0100 aha1542: Reorder functions to remove forward declarations Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cb5b570ce3cc7e91f47339e60efba75a4bbc347c Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:27 2015 +0100 aha1542: Use u8 instead of unchar Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f1bbef63442f36f5a0fc91f73da104aa8a39a873 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:26 2015 +0100 aha1542: Convert aha1542_intr_reset to function Convert aha1542_intr_reset macro to inline function Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e98878f737293d8c43e5e5982f3cd4317c423ba5 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:25 2015 +0100 aha1542: Remove HOSTDATA macro Remove HOSTDATA macro and use shost_priv instead Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 10be62506f5dd8013bf76f168c89ed4f7608c4d4 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:24 2015 +0100 aha1542: Remove SCSI_BUF_PA, SCSI_SG_PA, AHA1542_SCATTER and AHA1542_CMDLUN Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6f82fbf3868712576f137ebdf0b9a72aa99b5935 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:23 2015 +0100 aha1542: remove dead code Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 643a7c43f11ee776701e06410d7b3f9a41e5d284 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 23:11:22 2015 +0100 aha1542: Stop using scsi_module.c Convert aha1542 to use scsi_add_host instead of scsi_module.c Use pnp_driver and isa_driver to manage cards. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e5e02de0665ef2477e7a018193051387c6fe0fbc Merge: 3cfb2f7 b2d5fb9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 17:44:27 2015 -0700 Merge tag 'pm+acpi-4.0-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI fixes from Rafael Wysocki: "These are stable-candidate fixes of some recently reported issues in the cpufreq core, cpuidle core, the ACPI cpuidle driver and the hibernate core. Specifics: - Revert a 3.17 hibernate commit that was supposed to fix an issue related to e820 reserved regions, but broke resume from hibernation on Lenovo x230 (Rafael J Wysocki). - Prevent the ACPI cpuidle driver from overwriting the name and description of the C0 state set by the core when the list of C-states changes (Thomas Schlichter). - Remove the no longer needed state_count field from struct cpuidle_device which prevents the list of C-states shown by the sysfs interface from becoming incorrect when the current number of them is different from the number of C-states on boot (Bartlomiej Zolnierkiewicz). - The cpufreq core updates the policy object of the only online CPU during system resume to make it reflect the current hardware state, but it always assumes that CPU to be CPU0 which need not be the case, so fix the code to avoid that assumption (Viresh Kumar)" * tag 'pm+acpi-4.0-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions" cpuidle: ACPI: do not overwrite name and description of C0 cpuidle: remove state_count field from struct cpuidle_device cpufreq: Schedule work for the first-online CPU on resume commit f20dffc7c67b1c88aedd600031229cc97a4ddb97 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:32 2015 -0400 aacraid: driver version change Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit dab04b0151975103ed6c56a0c03e66dd85f6c158 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:31 2015 -0400 aacraid: AIF raw device remove support Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ef6162333a6910007c0ae2237e750ffd5bf25811 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:30 2015 -0400 aacraid: performance improvement changes Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f9c4259678cbde854a4e94398d66ef379178fd7c Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:29 2015 -0400 aacraid: IOCTL fix After getting the platform shutdown command "VM_CloseAll" response from the firmware, driver was getting configuration IOCTL request from the upper layers and it sends down to firmware. This causes firmware assert issue. This patch fixes the firmware assert issue. During the shutdown, if driver gets commands from the upper layer, driver sends error code to the upper layers. Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit dafde947bce37b10f3681d6b9df473ba7136fc05 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:28 2015 -0400 aacraid: IOP RESET command handling changes This patch fixes the IOP_RESET issue. Sending IOP_RESET command need to wait for only 10 sec instead of 5 minutes in case of firmware does not response IOP_RESET command. Disable interrupt before setup interrupt routine to prevent spurious interrupts. Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a7129a5443cd01b0a3544785974e09032f19b464 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:27 2015 -0400 aacraid: 240 simple volume support Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5d9106490c7f7533abc6b8e15ceab64f2c7f466a Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:26 2015 -0400 aacraid: vpd page code 0x83 support Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 495c021767bd78c998a46cf8cdd7a4ebf3a9cfd1 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:25 2015 -0400 aacraid: MSI-x support Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b836439faf04b16c80ffd9a0699a2354ebde13e1 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:24 2015 -0400 aacraid: 4KB sector support Also fix up a name truncation problem Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2f5d1f7998b67d49263ee9d9a49669e1b8d0e302 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:23 2015 -0400 aacraid: IOCTL pass-through command fix The Linux aacriad driver fails to detect the case of SG list count=0 on IOCTL pass-through command and cause intermittent fault. The result is the Linux aacriad driver send down IOCTL pass-through command with one not initialized SG list to firmware when receiving SG list count =0 on pass-through command. Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 46154a0224cfb82a14405e7d7ce486b6e6af63e0 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Thu Mar 26 10:41:22 2015 -0400 aacraid: AIF support for SES device add/remove Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c3d0dac6935e388547d7b7721e80b9c996eb90a1 Merge: b52e692 23310f6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 18:31:50 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-04-09 We've had enough new patches during the past week (especially from Marcel) that it'd be good to still get these queued for 4.1. The majority of the changes are from Marcel with lots of cleanup & refactoring patches for the HCI UART driver. Marcel also split out some Broadcom & Intel vendor specific functionality into two new btintel & btbcm modules. In addition to the HCI driver changes there's the completion of our local OOB data interface for pairing, added support for requesting remote LE features when connecting, as well as a couple of minor fixes for mac802154. Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b52e69217b5a02469f8431934f59c0d7103dd32f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 9 14:36:42 2015 -0700 tcp: md5: fix a typo in tcp_v4_md5_lookup() Lookup key for tcp_md5_do_lookup() has to be taken from addr_sk, not sk (which can be the listener) Fixes: fd3a154a00fb ("tcp: md5: get rid of tcp_v[46]_reqsk_md5_lookup()") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55db3208f238ee776f1f747734051723d8a3c13e Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Thu Apr 2 14:10:19 2015 -0700 PCI: Read capability list as dwords, not bytes Reading both the capability ID and "next" pointer at the same time lets us parse the list with half the number of config reads. Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 2963e3f7e8e3465895897a175560210120b932ac Author: Jens Axboe <axboe@xxxxxx> Date: Thu Apr 9 15:54:05 2015 -0600 blk-mq: cleanup blk_mq_rq_to_pdu() Casting to void and adding the size of the request is "shit code" and only a "crazy monkey on crack" would write that. So lets clean it up. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2e9095234daa5ac3aa5f53f66b00c92d32271343 Merge: 1e53d5b a8373f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 17:35:37 2015 -0400 Merge branch 'xgbe-next' Tom Lendacky says: ==================== amd-xgbe: AMD XGBE driver updates 2015-04-09 The following series of patches includes functional updates and changes to the driver. - Allow ethtool rx-frames coalescing to be changed while the device is up - Consolidate initialization routine into the init function - Add support for the TX watchdog timeout This patch series is based on net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8373f1a60d0716e25f5c4cd4d6e3909bfdb41bd Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Thu Apr 9 12:12:03 2015 -0500 amd-xgbe: Add support for the netdev Tx watchdog Add support to be able to detect a hung Tx task by adding the netdev ndo_tx_timeout function callback. Do not set the watchdog_timeo value so as to use the system default time (currently 5 seconds). Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b876382bac0fe2ed1129247c47029799bb4d763a Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Thu Apr 9 12:11:57 2015 -0500 amd-xgbe: Move Rx mode configuration into init Currently a call to configure the Rx mode (promiscuous mode, all multicast mode, etc.) is made in xgbe_start separate from the xgbe_init function. This call to set the Rx mode should be part of the xgbe_init function so that calls to the init function don't have to be preceded with calls to configure the Rx mode. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8dee19e619bb6d4aefdf0ce5260099fec08601a3 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Thu Apr 9 12:11:51 2015 -0500 amd-xgbe: Allow rx-frames coalescing to be changed anytime Currently the device must be down in order to update the rx-frames coalescing setting because the interrupt indicator is set in the descriptor data during initialization. Allow this setting to be changed while the device is up by moving the interrupt decision into the descriptor reset function and base the decision off of the supplied descriptor index value. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e53d5bb8878dcbdbffde334ab89b1f57778b48c Author: Hubert Sokolowski <hubert.sokolowski@xxxxxxxxx> Date: Thu Apr 9 12:16:17 2015 +0000 net: Pass VLAN ID to rtnl_fdb_notify. When an FDB entry is added or deleted the information about VLAN is not passed to listening applications like 'bridge monitor fdb'. With this patch VLAN ID is passed if it was set in the original netlink message. Also remove an unused bdev variable. Signed-off-by: Hubert Sokolowski <hubert.sokolowski@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b50edd7812852d989f2ef09dcfc729690f54a42d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Apr 9 13:31:56 2015 -0700 tcp: tcp_make_synack() should clear skb->tstamp I noticed tcpdump was giving funky timestamps for locally generated SYNACK messages on loopback interface. 11:42:46.938990 IP 127.0.0.1.48245 > 127.0.0.2.23850: S 945476042:945476042(0) win 43690 <mss 65495,nop,nop,sackOK,nop,wscale 7> 20:28:58.502209 IP 127.0.0.2.23850 > 127.0.0.1.48245: S 3160535375:3160535375(0) ack 945476043 win 43690 <mss 65495,nop,nop,sackOK,nop,wscale 7> This is because we need to clear skb->tstamp before entering lower stack, otherwise net_timestamp_check() does not set skb->tstamp. Fixes: 7faee5c0d514 ("tcp: remove TCP_SKB_CB(skb)->when") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2d5fb97d37fb35708a0811af74d9e76e44d421c Merge: f22e6e8 f82daee c75de0a c7e8bdf Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Apr 9 23:25:23 2015 +0200 Merge branches 'pm-sleep', 'pm-cpufreq' and 'pm-cpuidle' * pm-sleep: Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions" * pm-cpufreq: cpufreq: Schedule work for the first-online CPU on resume * pm-cpuidle: cpuidle: ACPI: do not overwrite name and description of C0 cpuidle: remove state_count field from struct cpuidle_device commit 29854a4f7b035204c821a67e4e7a60c6d216b794 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:24:00 2015 -0500 ipr: Driver version 2.6.1 Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f8ee25d7d2395212ba614ba08c12d1255f612f0e Author: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:23:58 2015 -0500 ipr: AF DASD raw mode implementation in ipr driver This patch implements raw mode support for AF DASD in ipr driver which allows for tools to send commands directly to physical devices which are members of RAID arrays when enabled in the firmware. [jejb: fix up whitespace] Signed-off-by: Wen Xiong<wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ea30c1deb6c6ccbceb29b6a3d48e1f601aefddf1 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:23:56 2015 -0500 ipr: Re-enable write same Re-enable write same support for ipr RAID adapters. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a65e8f128eca1efafeb16039650ae36b25cfd0dc Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:23:55 2015 -0500 ipr: Fix possible error path oops during initialization Fixes a possible oops during adapter initialization in some memory allocation failure error paths scenarios. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2796ca5e51737ed0be8ebb6cf73fd56af05da0a7 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:23:52 2015 -0500 ipr: Reset in task context The pci_set_pcie_reset_state has changed semantics to not be callable from interrupt context, so change ipr's usage of the API to comply with this change by ensuring this occurs from a workqueue. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4fdd7c7aabbec3aa9e5dc41c129bc9f6aed7e615 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:23:50 2015 -0500 ipr: Reboot speed improvements Currently when performing a reboot with an ipr adapter, the adapter gets shutdown completely, flushing all write cache, as well as performing a full hardware reset of the card during the shutdown phase of the old kernel. This ensures the adapter is in a fully quiesced state across the reboot. There are scenarios, however, such as when performing kexec, where this full adapter shutdown is not required and not desired, since it can make the reboot process take noticeably longer. This patch adds a module parameter to allow for skipping the full shutdown during reboot. Rather than performing a full adapter shutdown and reset, we simply cancel any outstanding error buffers, place the adapter into a state where it has no memory of any DMA addresses from the old kernel, then disable the device. This significantly speeds up kexec boot, particularly in configurations with multiple ipr adapters. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit be0cf6ca301c61458dc4aa1a37acf4f58d2ed3d6 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:20 2015 -0700 scsi: storvsc: Set the tablesize based on the information given by the host Set the tablesize based on the information given by the host. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Tested-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit aaced9934d2231227fec4255f394eb86af818ce2 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:19 2015 -0700 scsi: storvsc: Don't assume that the scatterlist is not chained The current code assumes that the scatterlists presented are not chained. Fix the code to not make this assumption. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8de580742fee8bc34d116f57a20b22b9a5f08403 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:18 2015 -0700 scsi: storvsc: Fix a bug in copy_from_bounce_buffer() We may exit this function without properly freeing up the maapings we may have acquired. Fix the bug. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5117b93696fae092be92acf1b80ae19cb28f4ba3 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:17 2015 -0700 scsi: storvsc: Retrieve information about the capability of the target The storage protocol informs the guest of the I/O capabilities of the storage stack. Retrieve this information and use it in the guest. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0147dabc4404b3c91d65a47151283d9aa478b666 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:16 2015 -0700 scsi: storvsc: Always send on the selected outgoing channel The current code always sent packets without data on the primary channel. Properly distribute sending of packets with no data amongst all available channels. I would like to thank Long Li for noticing this problem. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f458aada75891e6e9aff391f8f12a2cb2aac7d58 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:15 2015 -0700 scsi: storvsc: Size the queue depth based on the ringbuffer size Size the queue depth based on the ringbuffer size. Also accommodate for the fact that we could have multiple channels (ringbuffers) per adaptor. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b9ec3a55389560a13e226c8d835db6bf0b3d61fd Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Mar 27 00:27:14 2015 -0700 scsi: storvsc: Increase the ring buffer size Increase the default ring buffer size as this can significantly improve performance especially on high latency storage back-ends. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 114fc1d9a8cc7e8eb34fb3896d908992dac09b58 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 17:51:46 2015 -0700 aic7xxx: replace kmalloc/memset by kzalloc This replaces kmalloc + memset by a call to kzalloc This also fixes one checkpatch.pl issue in the process. This improvement was suggested by "make coccicheck" Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit e3dc17a53f9649d0a67ec69ec883e781fa9dd920 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Apr 9 14:36:52 2015 -0500 PCI: layerscape: Simplify platform_get_resource_byname() failure checking devm_ioremap_resource() validates the resource it receives, so if we check for devm_ioremap_resource() failure, we need not check for failure of the preceding platform_get_resource(). Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit f76ea574d615cd003b2fc51580006f7dc220897c Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Apr 9 14:34:10 2015 -0500 PCI: keystone: Don't dereference possible NULL pointer Check for failure from platform_get_resource() (this check actually happens inside devm_ioremap_resource()) before dereferencing the pointer returned from platform_get_resource(). Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 873581698d391ff070fc1eb8fb298c85e873c07c Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Apr 3 21:17:05 2015 +0800 PCI: versatile: Check for devm_ioremap_resource() failures Check for failure of devm_ioremap_resource(). devm_ioremap_resource() validates the resource it receives, so if we check for devm_ioremap_resource() failure, we need not check for failure of the preceding platform_get_resource(). [bhelgaas: changelog] Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 387d37577fdd05e9472c20885464c2a53b3c945f Author: Matthew Garrett <mjg59@xxxxxxxxxx> Date: Tue Apr 7 11:07:00 2015 -0700 PCI: Don't clear ASPM bits when the FADT declares it's unsupported Communications with a hardware vendor confirm that the expected behaviour on systems that set the FADT ASPM disable bit but which still grant full PCIe control is for the OS to leave any BIOS configuration intact and refuse to touch the ASPM bits. This mimics the behaviour of Windows. Signed-off-by: Matthew Garrett <mjg59@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b736a623bd099cdf5521ca9bd03559f3bc7fa31c Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Thu Apr 9 11:19:14 2015 -0700 udptunnels: Call handle_offloads after inserting vlan tag. handle_offloads() calls skb_reset_inner_headers() to store the layer pointers to the encapsulated packet. However, we currently push the vlag tag (if there is one) onto the packet afterwards. This changes the MAC header for the encapsulated packet but it is not reflected in skb->inner_mac_header, which breaks GSO and drivers which attempt to use this for encapsulation offloads. Fixes: 1eaa8178 ("vxlan: Add tx-vlan offload support.") Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca69d7102fde3e22b09536867ba14ace84ea80e1 Merge: 3ab1a30 aadd51a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 14:46:04 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for your net-next tree. They are: * nf_tables set timeout infrastructure from Patrick Mchardy. 1) Add support for set timeout support. 2) Add support for set element timeouts using the new set extension infrastructure. 4) Add garbage collection helper functions to get rid of stale elements. Elements are accumulated in a batch that are asynchronously released via RCU when the batch is full. 5) Add garbage collection synchronization helpers. This introduces a new element busy bit to address concurrent access from the netlink API and the garbage collector. 5) Add timeout support for the nft_hash set implementation. The garbage collector peridically checks for stale elements from the workqueue. * iptables/nftables cgroup fixes: 6) Ignore non full-socket objects from the input path, otherwise cgroup match may crash, from Daniel Borkmann. 7) Fix cgroup in nf_tables. 8) Save some cycles from xt_socket by skipping packet header parsing when skb->sk is already set because of early demux. Also from Daniel. * br_netfilter updates from Florian Westphal. 9) Save frag_max_size and restore it from the forward path too. 10) Use a per-cpu area to restore the original source MAC address when traffic is DNAT'ed. 11) Add helper functions to access physical devices. 12) Use these new physdev helper function from xt_physdev. 13) Add another nf_bridge_info_get() helper function to fetch the br_netfilter state information. 14) Annotate original layer 2 protocol number in nf_bridge info, instead of using kludgy flags. 15) Also annotate the pkttype mangling when the packet travels back and forth from the IP to the bridge layer, instead of using a flag. * More nf_tables set enhancement from Patrick: 16) Fix possible usage of set variant that doesn't support timeouts. 17) Avoid spurious "set is full" errors from Netlink API when there are pending stale elements scheduled to be released. 18) Restrict loop checks to set maps. 19) Add support for dynamic set updates from the packet path. 20) Add support to store optional user data (eg. comments) per set element. BTW, I have also pulled net-next into nf-next to anticipate the conflict resolution between your okfn() signature changes and Florian's br_netfilter updates. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ab1a30fbded99936956442d8cf8f379064e4a26 Merge: 9399bdc f56d9e2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 14:43:13 2015 -0400 Merge tag 'wireless-drivers-next-for-davem-2015-04-09' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: iwlwifi: * some more work on LAR * fixes for UMAC scan * more work on debugging framework * more work for 8000 devices * cleanups and small bugfixes ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9399bdcbb54b1e224a8532c01d496ada87e526bd Merge: 6fb8c38 7400599 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 14:41:47 2015 -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 2015-04-09 1) Prohibit the use/abuse of the xfrm netlink interface on 32/64 bit compatibility tasks. We need a full compat layer before we can allow this. From Fan Du. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 634d8ee4de9e41726d4f6f68f57cdd8647b3d204 Merge: 11f17ef 092a29a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 14:39:37 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec Steffen Klassert says: ==================== pull request (net): ipsec 2015-04-09 1) We dereferenced the xfrm outer_mode too early, larval SAs don't have it set. Move the dereference of the outer mode below the larval SA check to fix it. From Alexey Dobriyan. 2) Fix vti6 tunnel uninit on namespace crosssing. From Yao Xiwei. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11f17ef3154fc8a7876a9ada1d1b80d41106960a Author: Oliver Neukum <oneukum@xxxxxxx> Date: Thu Apr 9 10:09:04 2015 +0200 usbnet: rename work handler "kevent" is an extremely generic name that causes trouble if debugging for work queues is used. So change it to something clear. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37a9c502c0af013aaae094556830100c2bb133ac Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 30 10:32:34 2015 +0200 PCI: Clarify policy for vendor IDs in pci.txt Clarify pci.txt so it matches the "do not add new entries unless they are shared between multiple drivers" comment in include/linux/pci_ids.h. [bhelgaas: changelog, strengthen language] Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 6fb8c381a6412981c05741d7d077c3f537eb5d14 Merge: f13b168 c335869 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 9 14:25:26 2015 -0400 Merge branch 'dma_rmb_wmb' Alexander Duyck says: ==================== Replace wmb()/rmb() with dma_wmb()/dma_rmb() where appropriate, round 2 More cleanup of drivers in order to start making use of dma_rmb and dma_wmb calls. This is another pass of what I would consider to be low hanging fruit. There may be other opportunities to make use of the barriers in the Mellanox and Chelsio drivers but I didn't want to risk meddling with code I was not completely familiar with so I am leaving that for future work. I have revisited the Mellanox driver changes. This time around I went only for the sections with a clearly defined pattern. For dma_wmb I used it between accesses of the descriptor bits followed by owner or size. For dma_rmb I used it to replace rmb following a read of the ownership bit in the descriptor. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c335869fb934ebcccab69315f1cbe7b34f6d9414 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 8 18:49:49 2015 -0700 e100: Use dma_rmb/wmb where appropriate Reduce the CPU overhead for transmit and receive by using lightweight dma_ barriers instead of full barriers where they are applicable. Cc: Jeff Kirsher <jeffrey.t.kirsher@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 67317166dd6e8e78f20768e9f07fcc80846b207b Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 8 18:49:43 2015 -0700 i40e/i40evf: Use dma_rmb where appropriate Update i40e and i40evf to use dma_rmb. This should improve performance by decreasing the barrier overhead on strong ordered architectures. Cc: Jeff Kirsher <jeffrey.t.kirsher@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 12b3375f3963536ba3ad47d2db49f72067b4905e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 8 18:49:36 2015 -0700 mlx4/mlx5: Use dma_wmb/rmb where appropriate This patch should help to improve the performance of the mlx4 and mlx5 on a number of architectures. For example, on x86 the dma_wmb/rmb equates out to a barrer() call as the architecture is already strong ordered, and on PowerPC the call works out to a lwsync which is significantly less expensive than the sync call that was being used for wmb. I placed the new barriers between any spots that seemed to be trying to order memory/memory reads or writes, if there are any spots that involved MMIO I left the existing wmb in place as the new barriers cannot order transactions between coherent and non-coherent memories. v2: Reduced the replacments to just the spots where I could clearly identify the usage pattern. Cc: Amir Vadai <amirv@xxxxxxxxxxxx> Cc: Ido Shamay <idos@xxxxxxxxxxxx> Cc: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 019be1cff44bdfed23163be7469419be4f38589b Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 8 18:49:29 2015 -0700 cxgb3/4/4vf: Update drivers to use dma_rmb/wmb where appropriate Update the Chelsio Ethernet drivers to use the dma_rmb/wmb calls instead of the full barriers in order to improve performance. Cc: Santosh Raspatur <santosh@xxxxxxxxxxx> Cc: Hariprasad S <hariprasad@xxxxxxxxxxx> Cc: Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27015f8c17578e14b3c6cc098b915b0f8db3ac36 Author: Phil Reid <preid@xxxxxxxxxxxxxxxxx> Date: Wed Apr 8 18:41:34 2015 -0700 stmmac: devm_reset_control_get can return PROBE_DEFER In socfpga_dwmac_parse_data forward error code from devm_reset_control_get. This gives the driver another chance to laod if altr,rst-mgr is loaded after the network driver. Signed-off-by: Phil Reid <preid@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 23310f6f3a8f30f4b6794e941763da4708f7471a Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Thu Apr 9 13:55:11 2015 +0530 mac802154: fix transmission power datatype Netlink attribute for the power is s8. But for the driver level operations we are collection power level value into integer. It has to be change to s8 from int. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3cfb2f7976a2f9cfe48eda4e6d7e4ce74fee09e3 Merge: 20624d1 d10b730 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 10:17:44 2015 -0700 Merge tag 'pci-v4.0-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI fixes from Bjorn Helgaas: "Here are some fixes for v4.0. I apologize for how late they are. We were hoping for some better fixes, but couldn't get them polished in time. These fix: - a Xen domU oops with PCI passthrough devices - a sparc T5 boot failure - a STM SPEAr13xx crash (use after initdata freed) - a cpcihp hotplug driver thinko - an AER thinko that printed stack junk Details: Enumeration - Don't look for ACPI hotplug parameters if ACPI is disabled (Bjorn Helgaas) Resource management - Revert "sparc/PCI: Clip bridge windows to fit in upstream windows" (Bjorn Helgaas) AER - Avoid info leak in __print_tlp_header() (Rasmus Villemoes) PCI device hotplug - Add missing curly braces in cpci_configure_slot() (Dan Carpenter) ST Microelectronics SPEAr13xx host bridge driver - Drop __initdata from spear13xx_pcie_driver (Matwey V. Kornilov) * tag 'pci-v4.0-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: Revert "sparc/PCI: Clip bridge windows to fit in upstream windows" PCI: Don't look for ACPI hotplug parameters if ACPI is disabled PCI: cpcihp: Add missing curly braces in cpci_configure_slot() PCI/AER: Avoid info leak in __print_tlp_header() PCI: spear: Drop __initdata from spear13xx_pcie_driver commit e0c9c0afd2fc958ffa34b697972721d81df8a56f Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Apr 1 18:30:06 2015 -0500 mnt: Update detach_mounts to leave mounts connected Now that it is possible to lazily unmount an entire mount tree and leave the individual mounts connected to each other add a new flag UMOUNT_CONNECTED to umount_tree to force this behavior and use this flag in detach_mounts. This closes a bug where the deletion of a file or directory could trigger an unmount and reveal data under a mount point. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit f53e57975151f54ad8caa1b0ac8a78091cd5700a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Jan 19 11:48:45 2015 -0600 mnt: Fix the error check in __detach_mounts lookup_mountpoint can return either NULL or an error value. Update the test in __detach_mounts to test for an error value to avoid pathological cases causing a NULL pointer dereferences. The callers of __detach_mounts should prevent it from ever being called on an unlinked dentry but don't take any chances. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit ce07d891a0891d3c0d0c2d73d577490486b809e1 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Dec 23 21:37:03 2014 -0600 mnt: Honor MNT_LOCKED when detaching mounts Modify umount(MNT_DETACH) to keep mounts in the hash table that are locked to their parent mounts, when the parent is lazily unmounted. In mntput_no_expire detach the children from the hash table, depending on mnt_pin_kill in cleanup_mnt to decrement the mnt_count of the children. In __detach_mounts if there are any mounts that have been unmounted but still are on the list of mounts of a mountpoint, remove their children from the mount hash table and those children to the unmounted list so they won't linger potentially indefinitely waiting for their final mntput, now that the mounts serve no purpose. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 820f9f147dcce2602eefd9b575bbbd9ea14f0953 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Apr 2 16:35:48 2015 -0500 fs_pin: Allow for the possibility that m_list or s_list go unused. This is needed to support lazily umounting locked mounts. Because the entire unmounted subtree needs to stay together until there are no users with references to any part of the subtree. To support this guarantee that the fs_pin m_list and s_list nodes are initialized by initializing them in init_fs_pin allowing for the possibility that pin_insert_group does not touch them. Further use hlist_del_init in pin_remove so that there is a hlist_unhashed test before the list we attempt to update the previous list item. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 6a46c5735c29175da55b2fa9d53775182422cdd7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Jan 15 22:58:33 2015 -0600 mnt: Factor umount_mnt from umount_tree For future use factor out a function umount_mnt from umount_tree. This function unhashes a mount and remembers where the mount was mounted so that eventually when the code makes it to a sleeping context the mountpoint can be dput. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 7bdb11de8ee4f4ae195e2fa19efd304e0b36c63b Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Dec 29 13:03:41 2014 -0600 mnt: Factor out unhash_mnt from detach_mnt and umount_tree Create a function unhash_mnt that contains the common code between detach_mnt and umount_tree, and use unhash_mnt in place of the common code. This add a unncessary list_del_init(mnt->mnt_child) into umount_tree but given that mnt_child is already empty this extra line is a noop. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit cd4a40174b71acd021877341684d8bb1dc8ea4ae Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Jan 7 14:28:26 2015 -0600 mnt: Fail collect_mounts when applied to unmounted mounts The only users of collect_mounts are in audit_tree.c In audit_trim_trees and audit_add_tree_rule the path passed into collect_mounts is generated from kern_path passed an audit_tree pathname which is guaranteed to be an absolute path. In those cases collect_mounts is obviously intended to work on mounted paths and if a race results in paths that are unmounted when collect_mounts it is reasonable to fail early. The paths passed into audit_tag_tree don't have the absolute path check. But are used to play with fsnotify and otherwise interact with the audit_trees, so again operating only on mounted paths appears reasonable. Avoid having to worry about what happens when we try and audit unmounted filesystems by restricting collect_mounts to mounts that appear in the mount tree. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 0a1f00a1c86421cc07cec87011c7cf4df68ee54b Author: Michal Marek <mmarek@xxxxxxx> Date: Wed Apr 8 13:30:42 2015 +0200 kconfig: Do not print status messages in make -s mode Add an -s option to the various frontends and pass it when make -s is used. Also, use $(kecho) instead of @echo in the Makefile. Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 3dc8523fa7412e731441c01fb33f003eb3cfece1 Author: Dmitry M. Fedin <dmitry.fedin@xxxxxxxxx> Date: Thu Apr 9 17:37:03 2015 +0300 ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support Adds an entry for Creative USB X-Fi to the rc_config array in mixer_quirks.c to allow use of volume knob on the device. Adds support for newer X-Fi Pro card, known as "Model No. SB1095" with USB ID "041e:3237" Signed-off-by: Dmitry M. Fedin <dmitry.fedin@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e52786ac3ca721636a6fb0ae88521f5b9ece88a3 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Apr 4 16:59:29 2015 +0200 clk: versatile: test returned value Put NULL test on the result of the previous call instead on one of its arguments. A simplified version of the semantic match that finds this problem is as follows (http://coccinelle.lip6.fr/): // <smpl> r@ expression *e1; expression *e2; identifier f; statement S1,S2; @@ e1 = f(...,e2,...); ( if (e1 == NULL || ...) S1 else S2 | *if (e2 == NULL || ...) S1 else S2 ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f83a9cb6228472a464c2ab4abb9bd1e83939aec2 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Mar 31 09:31:34 2015 -0700 hwmon: (it87) Use feature macros on sio_data Feature macros work on sio_data as well, so use them there. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit cfd3113e7cc358b68bc13a2ca46714b0445dca56 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 15:23:59 2015 +0200 ALSA: hda/via - Add missing stream_pm ops setup Similar like the case for Realtek, VIA codec driver needs this ops as well for making the widget power-save working. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6553bf06a369683408895b87e5172aa99a9266bd Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Apr 9 10:52:38 2015 +0200 ASoC: Don't try to register debugfs entries if the parent does not exist If the registration of a debugfs directory fails this is treated as a non-fatal error in ASoC and operation continues as normal. This means we need to be careful and check if the parent debugfs directory exists if we try to register a debugfs file or sub-directory. Otherwise we might end up passing NULL for the parent and the file or directory will be registered in the top-level debugfs directory. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 64b4e2526d1cf6e6a4db6213d6e2b6e6ab59479a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 17:00:32 2015 -0400 ocfs2: _really_ sync the right range "ocfs2 syncs the wrong range" had been broken; prior to it the code was doing the wrong thing in case of O_APPEND, all right, but _after_ it we were syncing the wrong range in 100% cases. *ppos, aka iocb->ki_pos is incremented prior to that point, so we are always doing sync on the area _after_ the one we'd written to. Spotted by Joseph Qi <joseph.qi@xxxxxxxxxx> back in January; unfortunately, I'd missed his mail back then ;-/ Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit be8e58d93fba531b12ef2fce4fb33c9c5fb5b69f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Apr 9 07:33:45 2015 -0300 Revert "[media] Add device tree support to adp1653 flash driver" As requested by Sakari: "The driver changes are still being reviewed. It's been proposed that the max-microamp property be renamed." So, as the DT bindings are not agreed upstream yet, let's revert it. Requested-by: Sakari Ailus <sakari.ailus@xxxxxx> This reverts commit b6100f10bdc2019a65297d2597c388de2f7dd653. commit 2e55b90a5e234524f8195c657006ec4f71103dff Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Apr 9 10:52:37 2015 +0200 ASoC: Make soc_dpcm_debugfs_add() non-fatal Failing to register the debugfs entries is not fatal and will not affect normal operation of the sound card. Don't abort the card registration if soc_dpcm_debugfs_add() fails. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d53d59ecad74f3e90c6eefedd2186abbadd64d7c Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Thu Apr 9 11:20:32 2015 +0800 ASoC: rt286: Restore default in probe RT286 can't do register reset. If the hardware power is still existing in power off, rt286 will keep the register settings. So, we need to restore the default register value in probe to make sure the cache value is the same as the real register value. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e3e29f990cc77c5b23280c77275812a3f010cc41 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Thu Apr 9 18:28:05 2015 +0800 nios2: add missing ptrace registers defines These are all register available in nios2. Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 0757d834eb7482e5763fb9ee014abb50789f906a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Apr 9 10:52:36 2015 +0200 ASoC: Create card debugfs directory earlier Create the card debugfs directory at the begining of the initilization rather then the end as various steps in the initilization sequence will try to register files and sub-directories in the card directory. Fixes: 4e2576bd36a1 ("ASoC: soc-core: initialize debugfs in snd_soc_instantiate_card()") Reported-by: Fabio Estevam <festevam@xxxxxxxxx> Reported-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 95a9ca74768089d89c17ba958d6f009aa9c18525 Merge: 4e2576b f22e6e8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Apr 9 11:23:57 2015 +0100 Merge tag 'v4.0-rc7' into asoc-core Linux 4.0-rc7 commit cffd39668177afe5566104a2f289242c3c5ce3d1 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 10:30:25 2015 +0200 ALSA: hda/realtek - Fix the regression by widget power-saving While enabling the widget power-saving for ALC269 & co, the important setup was forgotten -- stream_pm ops. Without this setup, the paths for PCM won't be powered up at all. Also, the power_filter callbacks used in ALC269 & co need to chain to the default snd_hda_gen_path_power_filter(). Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 75afbd052b3675e9b812f9327e19be63f3e7b5de Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Apr 9 12:02:39 2015 +0300 ASoC: Intel: do cast earlier in sst_cdev_tstamp() My static checker complains about these because it looks like the multiply can overflow and then we cast to a larger data type. I don't think this is a problem, but it's also harmless to do the cast earlier so let's silence the static checker warning. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b1f85c0fec20e6cde2a511345f24f6133f247e70 Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Wed Jan 21 18:06:08 2015 +0300 backlight: da9052_bl: Terminate da9052_wled_ids array with empty element Array of platform_device_id elements should be terminated with empty element. Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c6f77bc2b3f9512fd8d637a45060408061a035a9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jan 14 14:51:59 2015 +0100 backlight: 88pm860x_bl: Use of_get_child_by_name() instead of refcount hack of_find_node_by_name() calls of_node_put() on its "from" parameter. To counter this, pm860x_backlight_dt_init() calls of_node_get() first. Use of_get_child_by_name() instead to get rid of the refcount hack. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e554a99ee8d09132e80dc467433c9a4df9054645 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Apr 2 16:36:15 2015 +0200 mfd: sec: Fix RTC alarm interrupt number on S2MPS11 The RTC on S2MPS11 is the same as S2MPS14. However interrupt numbers of RTC alarms 0 and 1 were inversed between these two devices. So when rtc-s5m driver requested S2MPS14_IRQ_RTCA0 interrupt, it matched to S2MPS11_IRQ_RTCA1, not RTCA0. Fix this by using consistent RTC alarm interrupt numbers and adding a BUILD_BUG_ON for future generations. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit dcbbcba92601dc05e5c9a844cb35a9112cb7d7ad Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 18:25:59 2015 +0100 mfd: wm5102: Remove registers for output 3R from readable list The earpiece on 5102 is mono, thus there is no output 3R. Remove the registers associated with the unused right channel from the readable registers list. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bb733707913389d77223fa3b2849b41ab540f69b Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 10:47:15 2015 -0700 mfd: tps65010: Remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8d2f1a9d36f270b28cca960510f293f2b9eb905d Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Apr 6 16:33:56 2015 -0700 mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes Add the regulator subnodes to the Qualcomm RPM MFD device tree bindings. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bdb01f78235537e6eee3bb8a985e2af00058c4db Author: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Date: Fri Apr 3 00:49:47 2015 +0530 mfd: axp20x: Add support for extcon cell This patch adds the mfd cell info for axp288 extcon device. Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 72715757880b36bdd7ff67f768a31324ee31c156 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 31 14:47:29 2015 +0300 mfd: lpc_ich: Sort IDs The patch sorts IDs in the table for easier maintenance. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b44915927ca88084a7292e4ddd4cf91036f365e1 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Thu Apr 9 10:51:48 2015 +0200 x86/iommu: Fix header comments regarding standard and _FINISH macros The comment line regarding IOMMU_INIT and IOMMU_INIT_FINISH macros is incorrect: "The standard vs the _FINISH differs in that the _FINISH variant will continue detecting other IOMMUs in the call list..." It should be "..the *standard* variant will continue detecting..." Fix that. Also, make it readable while at it. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: konrad.wilk@xxxxxxxxxx Fixes: 6e9636693373 ("x86, iommu: Update header comments with appropriate naming") Link: http://lkml.kernel.org/r/1428508017-5316-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 549c5dc19ee33f4af5a343884c3a559adc53a44c Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Apr 9 10:32:50 2015 +0200 gpio: dwapb: remove dependencies The Synopsys DesignWare DWAPB GPIO block is popular to synthesize amongst many architectures: X86, ARM, ARC. The driver was restricted to only these archs due to using [read|write]l_relaxed() accessors that were not universally available in the past, but as of commit 9439eb3ab9d1ece6e4ad7baaa4a7f534f9b9dab0 "asm-generic: io: implement relaxed accessor macros as conditional wrappers" these accessors are available on all archs so this should not be a problem any more. Enable the driver for all archs. Cc: Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 24fef9022a83d789ee372a393ea4782dc22b9b51 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 10:28:15 2015 +0200 ALSA: hda/generic - Don't override power_filter when power_save_node is set Currently the generic parser sets codec->power_filter when power_save_node flag is set. But this overrides the existing filter that has been already set by the codec driver, thus it looses some features. Instead, set the default power_filter only when it's not set yet. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b6c09b3c7b54743cbc58af8c27bbae8299c4f8cc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 10:25:03 2015 +0200 ALSA: hda/generic - Make snd_hda_gen_path_power_filter() always applicable Add the check of power_save_node flag at the beginning of the function so that it skips the rest if the flag isn't set. In this way, we can call this function safely no matter whether the widget power-saving is really used or not. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d5ac0100a9027bdf488cf20247b1041f26f796f3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 10:21:30 2015 +0200 ALSA: hda/generic - Fix wrong initial power state for fixed pins When the widget power-saving is enabled, the first automute hook invocation checks through the whole pins and it also tries to synchronize the power state. However, this results in a wrong state because it calls unconditionally snd_hda_jack_detect_state(). This patch adds a check of jack detectability before the actual jack detection call. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2206dc949286fe0010c69213d3d8b4c53e6a2295 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 10:18:31 2015 +0200 ALSA: hda/generic - Check power state cap at updating the widget power The new widget power-saving tries to apply the power change no matter whether the node has a power cap or not. It's bad (although most of codecs chip just ignore it). Check the capability properly beforehand. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a37f34a325d90856314ccd4994e1070dcc6bdcc4 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:44 2015 +0200 x86/asm/entry/64: Reduce padding in execve stubs execve stubs are 7 bytes only. Padding them to 16 bytes is a waste. text data bss dec hex filename 12594 0 0 12594 3132 entry_64.o.before 12530 0 0 12530 30f2 entry_64.o Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-8-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 54a81e914b2432a86dd49cf611b0f71ef44ca7ad Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:43 2015 +0200 x86/asm/entry/64: Remove GET_THREAD_INFO() in ret_from_fork It used to be used to check for _TIF_IA32, but the check has been removed. Remove GET_THREAD_INFO() too. Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-7-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 66ad4efa51805964521db03d8aa827a8dd9058b9 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:42 2015 +0200 x86/asm/entry/64: Simplify jumps in ret_from_fork Replace test jz 1f jmp label 1: with test jnz label Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-6-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a30b0085f54efae11f6256df4e4a16af7eefc1c4 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:41 2015 +0200 x86/asm/entry/64: Remove a redundant jump Jumping to the very next instruction is not very useful: jmp label label: Removing the jump. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-5-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 772951c4e4b06cdffeff499259dba07b544f3166 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:40 2015 +0200 x86/asm/entry/64: Optimize [v]fork/clone stubs Replace "call func; ret" with "jmp func". Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0f90fb979d7b53d80a6d5cb6e127b4b4b249907e Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:39 2015 +0200 x86/asm/entry: Zero EXTRA_REGS for stub32_execve() too The change which affected how execve clears EXTRA_REGS missed 32-bit execve syscalls. Fix this by using 64-bit execve stub epilogue for them too. Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 05f1752d195c145d02ae40881d0985c2cfbee473 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:38 2015 +0200 x86/asm/entry/64: Move stub_x32_execvecloser() to stub_execveat() This is a preparatory patch for moving stub32_execve[at]() to this file. It makes sense to have all execve stubs in one place, so that they can reuse code. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 31f0119b817f6474a7b4c48fed7588af1b62c543 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 22:43:37 2015 +0200 x86/asm/entry/64: Use common code for rt_sigreturn() epilogue Similarly to stub_execve, we can reuse the epilogue in stub_rt_sigreturn() and stub_x32_rt_sigreturn(). Add a comment explaining why we can't eliminage SAVE_EXTRA_REGS here. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428439424-7258-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1dfe0d159dc7f7b6d1734b2010aabda2bbe87d5a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 23 23:13:01 2014 +0200 pinctrl: sirf: move sgpio lock into state container Instead of referring to a global static variable for the sgpio locking, use the state container to contain the lock. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ccd6da2ab81815e03c0713069597a8fc8f6f8431 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Apr 9 00:35:19 2015 -0700 Bluetooth: btusb: Use proper data structures for Intel vendor events The Intel vendors events indicating firmware loading result and the bootup of the operational firmware are currently hardcoded byte comparisons. So intead of doing that, provide proper data structures and actually use them. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 58995a9a5b292458f94a2356b8c878230fa56fe0 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Apr 9 13:51:32 2015 +1000 powerpc, jump_label: Include linux/jump_label.h to get HAVE_JUMP_LABEL define Commit 1bc9e47aa8e4 ("powerpc/jump_label: Use HAVE_JUMP_LABEL") converted uses of CONFIG_JUMP_LABEL to HAVE_JUMP_LABEL in some assembly files. HAVE_JUMP_LABEL is defined in linux/jump_label.h, so we need to include this or we always get the non jump label fallback code. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: catalin.marinas@xxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: jbaron@xxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: mgorman@xxxxxxx Cc: mmarek@xxxxxxx Cc: paulus@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: schwidefsky@xxxxxxxxxx Cc: will.deacon@xxxxxxx Fixes: 1bc9e47aa8e4 ("powerpc/jump_label: Use HAVE_JUMP_LABEL") Link: http://lkml.kernel.org/r/1428551492-21977-3-git-send-email-anton@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c0ccf6f99e3a43b87980c9df7da48427885206d0 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Apr 9 13:51:31 2015 +1000 jump_label: Allow jump labels to be used in assembly To use jump labels in assembly we need the HAVE_JUMP_LABEL define, so we select a fallback version if the toolchain does not support them. Modify linux/jump_label.h so it can be included by assembly files. We also need to add -DCC_HAVE_ASM_GOTO to KBUILD_AFLAGS. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: catalin.marinas@xxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: jbaron@xxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: mgorman@xxxxxxx Cc: mmarek@xxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: paulus@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: schwidefsky@xxxxxxxxxx Cc: will.deacon@xxxxxxx Link: http://lkml.kernel.org/r/1428551492-21977-2-git-send-email-anton@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 55dd0df781e58ec23d218376ea4a676e7362a98c Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Apr 9 13:51:30 2015 +1000 jump_label: Allow asm/jump_label.h to be included in assembly Wrap asm/jump_label.h for all archs with #ifndef __ASSEMBLY__. Since these are kernel only headers, we don't need #ifdef __KERNEL__ so can simplify things a bit. If an architecture wants to use jump labels in assembly, it will still need to define a macro to create the __jump_table entries (see ARCH_STATIC_BRANCH in the powerpc asm/jump_label.h for an example). Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: catalin.marinas@xxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: jbaron@xxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: mgorman@xxxxxxx Cc: mmarek@xxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: paulus@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: schwidefsky@xxxxxxxxxx Cc: will.deacon@xxxxxxx Link: http://lkml.kernel.org/r/1428551492-21977-1-git-send-email-anton@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 94910d419a506a8e21333cc87ffb80db8b89d88a Author: Varka Bhadram <varkab@xxxxxxx> Date: Thu Apr 9 12:05:43 2015 +0530 mac802154: fix typo for device Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8d86e4fcccf61bafe54212f6ea9fb47a455abc56 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Apr 8 10:17:44 2015 -0300 mmc: sdhci-esdhc-imx: Call mmc_of_parse() Currently it is not possible to use 'mmc-pwrseq-simple' property with this driver because mmc_of_parse() is never called. mmc_of_parse() calls mmc_pwrseq_alloc() that manages MMC power sequence and allows passing GPIOs in the devicetree to properly power/reset the Wifi chipset. When using mmc_of_parse() we no longer need to have custom code to request card-detect and write-protect pins, as this can now be handled by the mmc core. Tested on a imx6sl-warp board where BT/Wifi is functional and also on a imx6q-sabresd. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 49ba030221d23ad8e35deb66b74873b852f4d7bf Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Apr 3 11:13:07 2015 -0700 mmc: dw_mmc: Add locking around cmd11 timer It is possible for the cmd11 interrupt to fire and delete the cmd11_timer before the cmd11_timer was actually setup. Let's fix this race by adding a few spinlocks. Note that the race wasn't seen in practice without adding some printk statements, but it still seems wise to fix. Fixes: 5c935165da79 ("mmc: dw_mmc: Add a timeout for sending CMD11") Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fd6741983386a7ec1c707a4c93e7a26e383cc571 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Apr 3 11:13:06 2015 -0700 mmc: dw_mmc: Add a return in an unexpected cmd11 timeout If we get an unexpected cmd11 timeout we shouldn't actually treat it as a timeout (not that we really expect to get an unexpected cmd11 timeout, but still). Fixes: 5c935165da79 ("mmc: dw_mmc: Add a timeout for sending CMD11") Reported-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8886a6fd19775eb43b7834850d0ad3f749b70053 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Apr 3 11:13:05 2015 -0700 mmc: dw_mmc: Increase cmd11 timeout to 500ms Although the cmd11 interrupt should come within 2ms, that's a very short time. Let's increase the timeout to be really sure that we don't get an accidnetal timeout. One case in particular this is useful is if you've got a serial console and printk in just the right places. Under that scenario I've seen delays of up to 130ms before the interrupt fired. CMD11 is only sent during card insertion, so this extra timeout shouldn't be terrible. Fixes: 5c935165da79 ("mmc: dw_mmc: Add a timeout for sending CMD11") Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 76184ac17edf3c640390b0eddc3aa7be1095fb9f Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 25 11:27:52 2015 +0000 mmc: dw_mmc: fix fifo ordering in big endian The dw_mmc driver changes to make the IO accesors endian agnostic did not take into account the fifo accesses do not need to be swapped. To fix this add a mmci_fifo_read/write wrapper to allow these to be passed through the IO without being swapped. Since these are now specific functions, it would be easier just to store the pointer to the fifo registers in the host block instead of the offset to them. So change the host->data_offset to host->fifo_reg (which also means we catch all the places this is read or written). Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6687c42fa71acd6ae39608c5af4146c82bd0c0ea Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 25 11:27:51 2015 +0000 mmc: dw_mmc: change idmac descriptor files to __le32 The dw_mmc driver does not take into account the processor may be in big endian when writing the descriptors. Change the descriptors for the 32bit IDMA to use __le32 and ensure they are suitably swapped before writing. Note, this has not been tested as the socfpga driver does not try to use idma. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a2f17680f42878ee8d55a5e66c1466465a412f62 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 25 11:27:50 2015 +0000 mmc: dw_mmc: make IO accessors endian agnostic The dw_mmc driver does not use endian agnostic IO accessors, so fix the use of __raw reads and writes to be the relaxed versions. This fixes the dw_mmc driver initialisation on Altera socfpga in big endian. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9efe2731db3a8944d26233bb47532011411810fb Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Apr 9 07:58:46 2015 +0200 ALSA: hda - Always allow access for POWER_STATE verbs via regmap The hdac regmap code checks whether the codec is powered on while accessing, but there must be an exception -- the verbs to control the power state. Currently HD-audio driver doesn't access them via regmap, so this patch doesn't fix any current behavior, but it's just for future. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 01ac33c1f907b366dcc50551316b372f1519cca9 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Apr 8 12:39:19 2015 -0700 locking/mutex: Further simplify mutex_spin_on_owner() Similar to what Linus suggested for rwsem_spin_on_owner(), in mutex_spin_on_owner() instead of having while (true) and breaking out of the spin loop on lock->owner != owner, we can have the loop directly check for while (lock->owner == owner) to improve the readability of the code. It also shrinks the code a bit: text data bss dec hex filename 3721 0 0 3721 e89 mutex.o.before 3705 0 0 3705 e79 mutex.o.after Signed-off-by: Jason Low <jason.low2@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Aswin Chandramouleeswaran <aswin@xxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428521960-5268-2-git-send-email-jason.low2@xxxxxx [ Added code generation info. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0fe29fd1cd77ffbdb8e36ec1715868d9d8011c9b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 8 09:05:27 2015 -0700 Bluetooth: Read LE remote features during connection establishment When establishing a Bluetooth LE connection, read the remote used features mask to determine which features are supported. This was not really needed with Bluetooth 4.0, but since Bluetooth 4.1 and also 4.2 have introduced new optional features, this becomes more important. This works the same as with BR/EDR where the connection enters the BT_CONFIG stage and hci_connect_cfm call is delayed until the remote features have been retrieved. Only after successfully receiving the remote features, the connection enters the BT_CONNECTED state. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8416915c16d4335980c5d5d6d39957adbfe40b55 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Apr 8 21:02:47 2015 -0700 hwmon: (ibmpowernv) Fix build error seen for some configurations Fix drivers/hwmon/ibmpowernv.c: In function 'get_logical_cpu': drivers/hwmon/ibmpowernv.c:121:3: error: implicit declaration of function 'get_hard_smp_processor_id' seen for some configurations, possibly if SMP is not configured. Fixes: 3df2f59f0aae ("hwmon: (ibmpowernv) pretty print labels") Cc: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 6aa248145ab0b1809de2411cf129ec1fc315a46f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:56:16 2015 -0400 switch kernel_sendmsg() and kernel_recvmsg() to iov_iter_kvec() For kernel_sendmsg() that eliminates the need to play with setfs(); for kernel_recvmsg() it does *not* - a couple of callers are using it with non-NULL ->msg_control, which would be treated as userland address on recvmsg side of things. In all cases we are really setting a kvec-backed iov_iter, though. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit da18428498fb24438a23d982259461fe22bc1f46 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:29:06 2015 -0400 net: switch importing msghdr from userland to {compat_,}import_iovec() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 602bd0e90e14c0b50246b361290dbbbe551ada98 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 19:12:32 2015 -0400 net: switch sendto() and recvfrom() to import_single_range() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fe3cce2e01ef7a2796c9674b1ec3a28a85f53547 Merge: 237dae8 bc917be Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 00:02:06 2015 -0400 Merge branch 'iov_iter' into for-davem commit 237dae889051ed4ebf438b08ca6c0e7c54b97774 Merge: 7abccdb e2e40f2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 9 00:00:30 2015 -0400 Merge branch 'iocb' into for-davem trivial conflict in net/socket.c and non-trivial one in crypto - that one had evaded aio_complete() removal. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e76ea26142821894bf78b0b311c8f7aceff0aa9b Author: Nishanth Menon <nm@xxxxxx> Date: Wed Apr 8 18:23:52 2015 -0500 hwmon: (gpio-fan) Move the thermal registration after registration is complete Thermal framework may already be ready and cooling policies might already be functional when we are attempting to register gpio fan as a cooling device. This can be reproduced by changing probe order in which registration of various modules are done in a system. In such a case, kernel generates an oops since the data structures are not completely populated with the wrong assumption that thermal framework is not yet ready. Fix this by reordering the thermal framework registration to occur after hwmon registration of the fan is complete. Example kernel oops: [ 149.005828] Unable to handle kernel NULL pointer dereference at virtual address 0000008c [ 149.014369] pgd = ecf48000 [ 149.017204] [0000008c] *pgd=ac065831, *pte=00000000, *ppte=00000000 [ 149.023820] Internal error: Oops: 17 [#1] SMP ARM [ 149.028745] Modules linked in: gpio_fan(+) cpufreq_dt ipv6 evdev leds_gpio led_class omap_wdt phy_omap_usb2 rtc_palmas palmas_pwrbutton tmp102 ti_soc_thermal dwc3_omap thermal_sys extcon rtc_omap rtc_ds1307 hwmon [ 149.048629] CPU: 1 PID: 1183 Comm: modprobe Not tainted 4.0.0-rc7-next-20150407-00002-g7a82da074c99 #3 [ 149.058383] Hardware name: Generic DRA74X (Flattened Device Tree) [ 149.064763] task: edec1240 ti: ec0e0000 task.ti: ec0e0000 [ 149.070421] PC is at dev_driver_string+0x0/0x38 [ 149.075165] LR is at __dev_printk+0x24/0x70 [ 149.079540] pc : [<c03d6cd0>] lr : [<c03d72c4>] psr: 20000013 [ 149.079540] sp : ec0e1c28 ip : edec1240 fp : 00000000 [ 149.091568] r10: edf3eee0 r9 : 00000000 r8 : ffffffff [ 149.097040] r7 : edf3eea0 r6 : 00000034 r5 : 00000010 r4 : ec0e1c44 [ 149.103871] r3 : ec0e1c4c r2 : ec0e1c44 r1 : c079d800 r0 : 00000010 [ 149.110709] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user [ 149.118182] Control: 10c5387d Table: acf4806a DAC: 00000015 [ 149.124198] Process modprobe (pid: 1183, stack limit = 0xec0e0218) [ 149.130673] Stack: (0xec0e1c28 to 0xec0e2000) [ 149.135235] 1c20: 60000013 c05e2ae0 00000000 edf3ec00 ec934a10 c03d73d4 ... [ 149.392230] 1fe0: befe1888 befe1878 00019418 b6ea08f0 80000010 00000003 00000000 00000000 [ 149.400798] [<c03d6cd0>] (dev_driver_string) from [<c03d72c4>] (__dev_printk+0x24/0x70) [ 149.409193] [<c03d72c4>] (__dev_printk) from [<c03d73d4>] (dev_warn+0x34/0x48) [ 149.416767] [<c03d73d4>] (dev_warn) from [<bf0f54fc>] (get_fan_speed_index+0x94/0xa4 [gpio_fan]) [ 149.425980] [<bf0f54fc>] (get_fan_speed_index [gpio_fan]) from [<bf0f5524>] (gpio_fan_get_cur_state+0x18/0x30 [gpio_fan]) [ 149.437476] [<bf0f5524>] (gpio_fan_get_cur_state [gpio_fan]) from [<bf02767c>] (thermal_zone_trip_update+0xe8/0x2a4 [thermal_sys]) [ 149.449794] [<bf02767c>] (thermal_zone_trip_update [thermal_sys]) from [<bf027844>] (step_wise_throttle+0xc/0x74 [thermal_sys]) [ 149.461832] [<bf027844>] (step_wise_throttle [thermal_sys]) from [<bf024ff4>] (handle_thermal_trip+0x5c/0x188 [thermal_sys]) [ 149.473603] [<bf024ff4>] (handle_thermal_trip [thermal_sys]) from [<bf0256c4>] (thermal_zone_device_update+0x94/0x108 [thermal_sys]) [ 149.486104] [<bf0256c4>] (thermal_zone_device_update [thermal_sys]) from [<bf026470>] (__thermal_cooling_device_register+0x2e8/0x374 [thermal_sys]) [ 149.499956] [<bf026470>] (__thermal_cooling_device_register [thermal_sys]) from [<bf0f58e4>] (gpio_fan_probe+0x350/0x4d0 [gpio_fan]) [ 149.512438] [<bf0f58e4>] (gpio_fan_probe [gpio_fan]) from [<c03db8a0>] (platform_drv_probe+0x48/0x98) [ 149.522109] [<c03db8a0>] (platform_drv_probe) from [<c03da30c>] (driver_probe_device+0x1b0/0x26c) [ 149.531399] [<c03da30c>] (driver_probe_device) from [<c03da45c>] (__driver_attach+0x94/0x98) [ 149.540238] [<c03da45c>] (__driver_attach) from [<c03d8bb0>] (bus_for_each_dev+0x54/0x88) [ 149.548814] [<c03d8bb0>] (bus_for_each_dev) from [<c03d9a34>] (bus_add_driver+0xdc/0x1d4) [ 149.557381] [<c03d9a34>] (bus_add_driver) from [<c03dac30>] (driver_register+0x78/0xf4) [ 149.565765] [<c03dac30>] (driver_register) from [<c0009784>] (do_one_initcall+0x80/0x1d8) [ 149.574340] [<c0009784>] (do_one_initcall) from [<c00c2278>] (do_init_module+0x5c/0x1b8) [ 149.582833] [<c00c2278>] (do_init_module) from [<c00c3bbc>] (load_module+0x1720/0x1dcc) [ 149.591212] [<c00c3bbc>] (load_module) from [<c00c43d0>] (SyS_finit_module+0x68/0x6c) [ 149.599418] [<c00c43d0>] (SyS_finit_module) from [<c000f3c0>] (ret_fast_syscall+0x0/0x4c) [ 149.607994] Code: 15830000 e1a00006 e28dd008 e8bd8070 (e590307c) Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Fixes: b5cf88e46bad ("(gpio-fan): Add thermal control hooks") Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit f13b1689d753f333459878ac27cb12d414502a09 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Apr 8 14:48:30 2015 -0700 vxlan: do not exit on error in vxlan_stop() We need to clean up vxlan despite vxlan_igmp_leave() fails. This fixes the following kernel warning: WARNING: CPU: 0 PID: 6 at lib/debugobjects.c:263 debug_print_object+0x7c/0x8d() ODEBUG: free active (active state 0) object type: timer_list hint: vxlan_cleanup+0x0/0xd0 CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted 4.0.0-rc7+ #953 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Workqueue: netns cleanup_net 0000000000000009 ffff88011955f948 ffffffff81a25f5a 00000000253f253e ffff88011955f998 ffff88011955f988 ffffffff8107608e 0000000000000000 ffffffff814deba2 ffff8800d4e94000 ffffffff82254c30 ffffffff81fbe455 Call Trace: [<ffffffff81a25f5a>] dump_stack+0x4c/0x65 [<ffffffff8107608e>] warn_slowpath_common+0x9c/0xb6 [<ffffffff814deba2>] ? debug_print_object+0x7c/0x8d [<ffffffff81076116>] warn_slowpath_fmt+0x46/0x48 [<ffffffff814deba2>] debug_print_object+0x7c/0x8d [<ffffffff81666bf1>] ? vxlan_fdb_destroy+0x5b/0x5b [<ffffffff814dee02>] __debug_check_no_obj_freed+0xc3/0x15f [<ffffffff814df728>] debug_check_no_obj_freed+0x12/0x16 [<ffffffff8117ae4e>] slab_free_hook+0x64/0x6c [<ffffffff8114deaa>] ? kvfree+0x31/0x33 [<ffffffff8117dc66>] kfree+0x101/0x1ac [<ffffffff8114deaa>] kvfree+0x31/0x33 [<ffffffff817d4137>] netdev_freemem+0x18/0x1a [<ffffffff817e8b52>] netdev_release+0x2e/0x32 [<ffffffff815b4163>] device_release+0x5a/0x92 [<ffffffff814bd4dd>] kobject_cleanup+0x49/0x5e [<ffffffff814bd3ff>] kobject_put+0x45/0x49 [<ffffffff817d3fc1>] netdev_run_todo+0x26f/0x283 [<ffffffff817d4873>] ? rollback_registered_many+0x20f/0x23b [<ffffffff817e0c80>] rtnl_unlock+0xe/0x10 [<ffffffff817d4af0>] default_device_exit_batch+0x12a/0x139 [<ffffffff810aadfa>] ? wait_woken+0x8f/0x8f [<ffffffff817c8e14>] ops_exit_list+0x2b/0x57 [<ffffffff817c9b21>] cleanup_net+0x154/0x1e7 [<ffffffff8108b05d>] process_one_work+0x255/0x4ad [<ffffffff8108af69>] ? process_one_work+0x161/0x4ad [<ffffffff8108b4b1>] worker_thread+0x1cd/0x2ab [<ffffffff8108b2e4>] ? process_scheduled_works+0x2f/0x2f [<ffffffff81090686>] kthread+0xd4/0xdc [<ffffffff8109eca3>] ? local_clock+0x19/0x22 [<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83 [<ffffffff81a31c48>] ret_from_fork+0x58/0x90 [<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83 For the long-term, we should handle NETDEV_{UP,DOWN} event from the lower device of a tunnel device. Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope") Cc: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69304cc986bdcd7a09df179aeda3736f7e1544a5 Author: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx> Date: Wed Apr 8 16:59:48 2015 -0500 be2net: Fix a bug in Rx buffer posting The numPosted field in the ERX Doorbell register is 8-bits wide. So the max buffers that we can post at a time is 255 and not 256 which we are doing currently. Signed-off-by: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dd929c1b3df94a7236c637fe294f04653d07b0d5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Apr 8 15:34:04 2015 -0700 tcp: do not rearm rsk_timer on FastOpen requests FastOpen requests are not like other regular request sockets. They do not yet use rsk_timer : tcp_fastopen_queue_check() simply manually removes one expired request from fastopenq->rskq_rst list. Therefore, tcp_check_req() must not call mod_timer_pending(), otherwise we crash because rsk_timer was not initialized. Fixes: fa76ce7328b ("inet: get rid of central tcp/dccp listener timer") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20624d17963c737bbd9f242402bf3136cb664d10 Merge: 9a08da1 f4274e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 15:12:25 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Final drm fixes: one core locking imbalance regression, and a bunch of i915 baytrail s/r fixes" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm: fix drm_mode_getconnector() locking imbalance regression drm/i915/vlv: remove wait for previous GFX clk disable request drm/i915/chv: Remove Wait for a previous gfx force-off drm/i915/vlv: save/restore the power context base reg commit 1957d6bed15fd7635c2867f7c21c17e6baa9a672 Author: Leo Liu <leo.liu@xxxxxxx> Date: Tue Mar 31 11:19:50 2015 -0400 drm/radeon: add video usability info support for VCE v2: bump version to make sure userspace backward compatibility Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Leo Liu <leo.liu@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3cf29543413207d3ab1c3f62a88c09bb46f2264e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Apr 7 13:34:02 2015 -0700 MIPS: BCM63xx: Provide a plat_post_dma_flush hook Broadcom BCM63xx DSL SoCs utilize BMIPS CPUs, and as such are required to perform a read-ahead cache flush after a DMA transfer. Utilize asm/bmips.h to provide a plat_post_dma_flush_hook, and mach-generic/dma-coherence.h for everything else. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: cernekee@xxxxxxxxx Cc: jogo@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9726/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 68ba7cb083300409eb92282417db4c179081ade3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Apr 7 13:34:01 2015 -0700 MIPS: DMA: Allow platforms to override only the post DMA hook Instead of having platforms to copy the entirety of mach-generic/dma-coherence.h, check whether these platforms have already defined a plat_post_dma_flush hook, and if not, provide an inline stub. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: cernekee@xxxxxxxxx Cc: jogo@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9725/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 36fe97635826d54d07c51a5953148235b7dd6a04 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Apr 7 13:34:00 2015 -0700 MIPS: BMIPS: Move post DMA flush implementation to common header arch/mips/include/asm/mach-bmips/dma-coherence.h contains the plat_post_dma_flush implementation which is not specific to mach-bmips, but required for all BMIPS-based systems. Move plat_post_dma_flush to arch/mips/include/asm/bmips.h, rename it to bmips_post_dma_flush such that other platforms like bcm63xx can utilize it. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: cernekee@xxxxxxxxx Cc: jogo@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9724/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9a08da1c8b4865a16eb991776d4c53770eb6f31f Merge: b97fdef 6d7fdb0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 14:51:56 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull ceph revert from Sage Weil: "This corrects a recent misadventure with __GFP_MEMALLOC and PF_MEMALLOC; it turns out it's not a good fit for RBD and we're better off relying on dirty page throttling" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: Revert "libceph: use memalloc flags for net IO" commit 1d8ac08d498d579aae36221a80b4b724b2f52f39 Merge: 5c7f0c2 f22e6e8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 9 07:48:27 2015 +1000 Merge tag 'v4.0-rc7' into drm-next Linux 4.0-rc7 Requested by Alex for fixes -next needs. Conflicts: drivers/gpu/drm/i915/intel_sprite.c commit b97fdef8e680ca8bdfea6114eea19fb6832d54be Merge: 3afe9f8 6b79c57 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 14:42:49 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge misc fixes from Andrew Morton: "Three fixes" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: mm: numa: disable change protection for vma(VM_HUGETLB) include/linux/dmapool.h: declare struct device mm: move zone lock to a different cache line than order-0 free page lists commit fdb7144ba36ef0c1882df3484cc9dfb7d57b2a26 Merge: b594c6e c955865 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Apr 8 23:41:28 2015 +0200 Merge tag 'irqchip-core-4.0' of git://git.infradead.org/users/jcooper/linux into irq/core irqchip core changes for v4.0 from Jason Cooper - ST - New driver, irq-st - Renesas - Use u32 type for 32bit regs commit 3afe9f849600645723246baa95e7559caeca6ce9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 10:33:49 2015 -0700 Copy the kernel module data from user space in chunks Unlike most (all?) other copies from user space, kernel module loading is almost unlimited in size. So we do a potentially huge "copy_from_user()" when we copy the module data from user space to the kernel buffer, which can be a latency concern when preemption is disabled (or voluntary). Also, because 'copy_from_user()' clears the tail of the kernel buffer on failures, even a *failed* copy can end up wasting a lot of time. Normally neither of these are concerns in real life, but they do trigger when doing stress-testing with trinity. Running in a VM seems to add its own overheadm causing trinity module load testing to even trigger the watchdog. The simple fix is to just chunk up the module loading, so that it never tries to copy insanely big areas in one go. That bounds the latency, and also the amount of (unnecessarily, in this case) cleared memory for the failure case. Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cae2a173fe94ab3a437416af6f092fae2e65837e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 10:26:17 2015 -0700 x86: clean up/fix 'copy_in_user()' tail zeroing The rule for 'copy_from_user()' is that it zeroes the remaining kernel buffer even when the copy fails halfway, just to make sure that we don't leave uninitialized kernel memory around. Because even if we check for errors, some kernel buffers stay around after thge copy (think page cache). However, the x86-64 logic for user copies uses a copy_user_generic() function for all the cases, that set the "zerorest" flag for any fault on the source buffer. Which meant that it didn't just try to clear the kernel buffer after a failure in copy_from_user(), it also tried to clear the destination user buffer for the "copy_in_user()" case. Not only is that pointless, it also means that the clearing code has to worry about the tail clearing taking page faults for the user buffer case. Which is just stupid, since that case shouldn't happen in the first place. Get rid of the whole "zerorest" thing entirely, and instead just check if the destination is in kernel space or not. And then just use memset() to clear the tail of the kernel buffer if necessary. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b594c6e20c7ff65e0f0775cb1866e97501c96846 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 18 11:01:24 2015 +0000 irqchip: GICv3: Add support for irq_[get, set]_irqchip_state() Add the required hooks for the internal state of an interrupt to be exposed to other subsystems. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Phong Vo <pvo@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Tin Huynh <tnhuynh@xxxxxxx> Cc: Y Vo <yvo@xxxxxxx> Cc: Toan Le <toanle@xxxxxxx> Cc: Bjorn Andersson <bjorn@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Link: http://lkml.kernel.org/r/1426676484-21812-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 567178077c369ae6a32f90926fb4172f7cf1f87f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 18 11:01:23 2015 +0000 irqchip: GIC: Add support for irq_[get, set]_irqchip_state() Add the required hooks for the internal state of an interrupt to be exposed to other subsystems. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Phong Vo <pvo@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Tin Huynh <tnhuynh@xxxxxxx> Cc: Y Vo <yvo@xxxxxxx> Cc: Toan Le <toanle@xxxxxxx> Cc: Bjorn Andersson <bjorn@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Link: http://lkml.kernel.org/r/1426676484-21812-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1b7047edfcfb257f69e306c9afbab150cb987717 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 18 11:01:22 2015 +0000 genirq: Allow the irqchip state of an IRQ to be save/restored There is a number of cases where a kernel subsystem may want to introspect the state of an interrupt at the irqchip level: - When a peripheral is shared between virtual machines, its interrupt state becomes part of the guest's state, and must be switched accordingly. KVM on arm/arm64 requires this for its guest-visible timer - Some GPIO controllers seem to require peeking into the interrupt controller they are connected to to report their internal state This seem to be a pattern that is common enough for the core code to try and support this without too many horrible hacks. Introduce a pair of accessors (irq_get_irqchip_state/irq_set_irqchip_state) to retrieve the bits that can be of interest to another subsystem: pending, active, and masked. - irq_get_irqchip_state returns the state of the interrupt according to a parameter set to IRQCHIP_STATE_PENDING, IRQCHIP_STATE_ACTIVE, IRQCHIP_STATE_MASKED or IRQCHIP_STATE_LINE_LEVEL. - irq_set_irqchip_state similarly sets the state of the interrupt. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Phong Vo <pvo@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Tin Huynh <tnhuynh@xxxxxxx> Cc: Y Vo <yvo@xxxxxxx> Cc: Toan Le <toanle@xxxxxxx> Cc: Bjorn Andersson <bjorn@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Link: http://lkml.kernel.org/r/1426676484-21812-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fe0c52fc003bc046380e52fe6799c96d770770cc Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jan 26 19:10:19 2015 +0000 genirq: MSI: Fix freeing of unallocated MSI While debugging an unrelated issue with the GICv3 ITS driver, the following trace triggered: WARNING: CPU: 1 PID: 1 at kernel/irq/irqdomain.c:1121 irq_domain_free_irqs+0x160/0x17c() NULL pointer, cannot free irq Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 3.19.0-rc6+ #3690 Hardware name: FVP Base (DT) Call trace: [<ffffffc000089398>] dump_backtrace+0x0/0x13c [<ffffffc0000894e4>] show_stack+0x10/0x1c [<ffffffc00066d134>] dump_stack+0x74/0x94 [<ffffffc0000a92f8>] warn_slowpath_common+0x9c/0xd4 [<ffffffc0000a938c>] warn_slowpath_fmt+0x5c/0x80 [<ffffffc0000ee04c>] irq_domain_free_irqs+0x15c/0x17c [<ffffffc0000ef918>] msi_domain_free_irqs+0x58/0x74 [<ffffffc000386f58>] free_msi_irqs+0xb4/0x1c0 // The msi_prepare callback fails here [<ffffffc0003872c0>] pci_enable_msix+0x25c/0x3d4 [<ffffffc00038746c>] pci_enable_msix_range+0x34/0x80 [<ffffffc0003924ac>] vp_try_to_find_vqs+0xec/0x528 [<ffffffc000392954>] vp_find_vqs+0x6c/0xa8 [<ffffffc0003ee2a8>] init_vq+0x120/0x248 [<ffffffc0003eefb0>] virtblk_probe+0xb0/0x6bc [<ffffffc00038fc34>] virtio_dev_probe+0x17c/0x214 [<ffffffc0003d4a04>] driver_probe_device+0x7c/0x23c [<ffffffc0003d4cb0>] __driver_attach+0x98/0xa0 [<ffffffc0003d2c60>] bus_for_each_dev+0x60/0xb4 [<ffffffc0003d455c>] driver_attach+0x1c/0x28 [<ffffffc0003d41b0>] bus_add_driver+0x150/0x208 [<ffffffc0003d54c0>] driver_register+0x64/0x130 [<ffffffc00038f9e8>] register_virtio_driver+0x24/0x68 [<ffffffc00091320c>] init+0x70/0xac [<ffffffc0000828f0>] do_one_initcall+0x94/0x1d0 [<ffffffc0008e9b00>] kernel_init_freeable+0x144/0x1e4 [<ffffffc00066a434>] kernel_init+0xc/0xd8 ---[ end trace f9ee562a77cc7bae ]--- The ITS msi_prepare callback having failed, we end-up trying to free MSIs that have never been allocated. Oddly enough, the kernel is pretty upset about it. It turns out that this behaviour was expected before the MSI domain was introduced (and dealt with in arch_teardown_msi_irqs). The obvious fix is to detect this early enough and bail out. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422299419-6051-1-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 462b69b1e43ceccab68a47d65b1e46520cd0fdc0 Merge: d8bf368 f22e6e8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Apr 8 23:26:21 2015 +0200 Merge branch 'linus' into irq/core to get the GIC updates which conflict with pending GIC changes. Conflicts: drivers/usb/isp1760/isp1760-core.c commit e33caa82e221b0bbeba373b507e3f134dc2efa1a Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Wed Mar 25 14:37:06 2015 +0800 PCI/ACPI: Optimize device state transition delays The PCI "ACPI additions for FW latency optimizations" ECN (link below) defines two functions in the PCI _DSM: Function 8, "Reset Delay," applies to the entire hierarchy below a PCI host bridge. If it returns one, the OS may assume that all devices in the hierarchy have already completed power-on reset delays. Function 9, "Device Readiness Durations," applies only to the object where it is located. It returns delay durations required after various events if the device requires less time than the spec requires. Delays from this function take precedence over the Reset Delay function. Add support for Reset Delay and part of Device Readiness Durations. [bhelgaas: changelog, comments] Link: https://www.pcisig.com/specifications/conventional/pci_firmware/ECN_fw_latency_optimization_final.pdf Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 82740b9ac2fbd935361c1dc770ec49b692c28e7d Merge: 51df60f 3590ebc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 17:12:50 2015 -0400 Merge tag 'nfc-next-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next Samuel Ortiz says: ==================== NFC: 4.1 pull request This is the NFC pull request for 4.1. This is a shorter one than usual, as the Intel Field Peak NFC driver could not make it in time. We have: - A new driver for NXP NCI based chipsets, like e.g. the NPC100 or the PN7150. It currently only supports an i2c physical layer, but could easily be extended to work on top of e.g. SPI. This driver also includes support for user space triggered firmware updates. - A few minor st21nfc[ab] fixes, cleanups, and comments improvements. - A pn533 error return fix. - A few NFC related logs formatting cleanups. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4274e23fb16721449d973ed607505f5dbdcd2df Merge: 04bdf44 5df0582 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Apr 9 06:59:50 2015 +1000 Merge tag 'drm-intel-fixes-2015-04-08' of git://anongit.freedesktop.org/drm-intel into drm-fixes three commits, all cc: stable, to address Baytrail suspend/resume issues. * tag 'drm-intel-fixes-2015-04-08' of git://anongit.freedesktop.org/drm-intel: drm/i915/vlv: remove wait for previous GFX clk disable request drm/i915/chv: Remove Wait for a previous gfx force-off drm/i915/vlv: save/restore the power context base reg commit 9ce5a232b8a941be9e74c055535d81508207a570 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 15:45:02 2015 -0400 ocfs2_file_write_iter: keep return value and current position update in sync Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cf1b5ea1c5cd26a003b01d4798266a4bdf0ffe64 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 15:41:17 2015 -0400 [regression] ocfs2: do *not* increment ->ki_pos twice generic_file_direct_write() already does that. Broken by "ocfs2: do not fallback to buffer I/O write if appending" Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b6100f10bdc2019a65297d2597c388de2f7dd653 Author: Pavel Machek <pavel@xxxxxx> Date: Fri Mar 13 17:48:40 2015 -0300 [media] Add device tree support to adp1653 flash driver Nokia N900 is switching to device tree, make sure we can use flash there, too. Signed-off-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 51df60f5a428c249cd458451e0b56269417f3cda Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 16:30:01 2015 -0400 sfc: Revert SRIOV changes. This reverts commits: d92916f71a57582ce7276547510cedb2c10b6bd6 ("sfc: Own header for nic-specific sriov functions,") 25672dba9535b804331145379c79f835ba2205c5 ("sfc: Enable VF's via a write to the sysfs file sriov_numvfs") As they break the build with SRIOV disabled and there is no easy way to fix it the way things are arranged. Reported-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a4580075d37d334b40f510cab54008d2dc66827 Author: Sylvain Trias <bozo@xxxxxxxxxxx> Date: Wed Apr 8 10:27:57 2015 +0200 Documentation/memory-barriers.txt: typo fix Fix an obvious typo in the documentation. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 1b13fe718b6ebca2b12cfa3d6cd32b8b68a03e38 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Apr 3 13:04:08 2015 +0200 ASoC: tegra_wm9712: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 14e954f5ddc56c0dc9c32fadf188f44f5855e0fa Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Apr 3 13:04:07 2015 +0200 ASoC: tegra_wm8903: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c67a443b11d96f35f8514283334c50302253f2b4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Apr 3 13:04:06 2015 +0200 ASoC: tegra_rt5677: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 884c0f5b2ad542037b6f04de84a3fd3f82b15828 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Apr 3 13:04:05 2015 +0200 ASoC: tegra_alc5632: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c77dc2c203908fe03582770b016ffc7c84242939 Merge: 012baec 77c7176 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 8 21:09:54 2015 +0100 Merge branch 'topic/jack' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-tegra commit 8c2c8c03cdcb9b0a75b5585e611715fdd8096c38 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Wed Apr 8 10:03:16 2015 -0700 spi: img-spfi: Control CS lines with GPIO When the CONTINUE bit is set, the interrupt status we are polling to identify if a transaction has finished can be sporadic. Even though the transfer has finished, the interrupt status may erroneously indicate that there is still data in the FIFO. This behaviour causes random timeouts in large PIO transfers. Instead of using the CONTINUE bit to control the CS lines, use the SPI core's CS GPIO handling. Also, now that the CONTINUE bit is not being used, we can poll for the ALLDONE interrupt to indicate transfer completion. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a25202b04f17830dbf241a24838f8c8575a56611 Merge: ba33d8a 8543d0e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 8 21:04:43 2015 +0100 Merge branch 'fix/img-spfi' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-img-spfi commit ba33d8ac0c93fdfbdbc825ef690caab5d57e22c2 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Wed Apr 8 10:03:15 2015 -0700 spi: img-spfi: Reset controller after each message Imagination has recommended that the SPFI controller be reset after each message, regardless of success or failure. Do this in an unprepare_message() callback. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 824ab37df006ea2d06e4c4817344c0e8c056b744 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Wed Apr 8 10:03:14 2015 -0700 spi: img-spfi: Implement a handle_err() callback The driver can be greatly simplified by moving the transfer timeout handling to a handle_err() callback. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 89cda06d7f9c3c111a81fcdf5464926f5f984ebc Merge: ede8342b f22e6e8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Apr 8 21:04:25 2015 +0100 Merge tag 'v4.0-rc7' into spi-img-spfi Linux 4.0-rc7 commit 3390e0850b711d163b35508464cfbe0a4477dfe2 Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Wed Mar 25 14:32:25 2015 +0800 PCI: Export pci_find_host_bridge() for use inside PCI core The find_pci_host_bridge() function can be useful to other PCI code so export it. Change its name to pci_find_host_bridge(). Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 18e94a3384368340d438cf67fcaebd72084f34f8 Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Wed Mar 25 14:31:41 2015 +0800 PCI: Make a shareable UUID for PCI firmware ACPI _DSM The PCI Firmware Specification, r3.0, sec 4.6.4.1.3, defines a single UUID for an ACPI _DSM method to provide device-specific control functions. This _DSM method support several functions, including PCI Express Slot Information, PCI Express Slot Number, PCI Bus Capabilities, etc. Move the UUID definition from pci/pci-label.c, where it could be used only for one function, to pci/pci-acpi.c where it can be shared for all these functions. [bhelgaas: changelog] Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c89ac4433030fa95a453b14857358cc6ec2e30db Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Tue Mar 31 19:38:38 2015 -0700 PCI: Fix typo in Thunderbolt kernel message Fix a typo in one of the kernel messages. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 5eeb2922152042b78eccfb6cf70458019296654f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Apr 8 06:04:31 2015 -0700 fou: Don't use const __read_mostly const __read_mostly is a senseless combination. If something is already const it cannot be __read_mostly. Remove the bogus __read_mostly in the fou driver. This fixes section conflicts with LTO. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bca4cf6022ee2ff1ff2142bed28a6fca00d3a44 Author: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx> Date: Wed Apr 8 12:15:18 2015 +0200 net: phy: broadcom: Add BCM54616S phy entry Signed-off-by: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 01d06a9a4c28b6b0121014591a3c3da5e908d51e Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Wed Mar 25 14:13:12 2015 +0900 PCI: exynos: Fix INTx enablement statement termination error Use a semicolon, not a comma, to terminate a statement. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit c1f866767777d1c6abae0ec57effffcb72017c00 Author: David Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 7 23:05:42 2015 -0400 netfilter: Fix switch statement warnings with recent gcc. More recent GCC warns about two kinds of switch statement uses: 1) Switching on an enumeration, but not having an explicit case statement for all members of the enumeration. To show the compiler this is intentional, we simply add a default case with nothing more than a break statement. 2) Switching on a boolean value. I think this warning is dumb but nevertheless you get it wholesale with -Wswitch. This patch cures all such warnings in netfilter. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1fb37a8178da007cad75f48e2355b9dcb0711e06 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Apr 8 11:21:35 2015 -0700 PCI: iproc: Add Broadcom iProc PCIe support Add support for the Broadcom iProc PCIe controller. pcie-iproc.c is the common core driver, and a front-end bus interface needs to be added to support different bus interfaces. pcie-iproc-platform.c contains the support for the platform bus interface. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 1b55d62259187fe77ade87dccc33522d51f113ee Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Apr 8 11:21:34 2015 -0700 PCI: iproc: Add DT docs for Broadcom iProc PCIe driver Document the Broadcom iProc PCIe platform interface device tree binding. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit e85e85c85a6ae250ef2549065fc0c7377ba4689b Merge: 5f9755d 5b5800f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 15:19:17 2015 -0400 Merge branch 'selinux-nlmsg' Nicolas Dichtel says: ==================== selinux: add some missing nlmsg commands It's not a critical issue, thus the patches are based on net-next. Patches are splitted because the 'Fixes' tag is not the same for all commands. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b5800fad072133e4a9c2efbf735baaac83dec86 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Wed Apr 8 18:36:42 2015 +0200 selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO These commands are missing. Fixes: 28d8909bc790 ("[XFRM]: Export SAD info.") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e6deebafb45fb271ae6939d48832e920b8fb74e Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Wed Apr 8 18:36:41 2015 +0200 selinux/nlmsg: add XFRM_MSG_GETSPDINFO This command is missing. Fixes: ecfd6b183780 ("[XFRM]: Export SPD info") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b7834d3e1b828429faa5dc41a480919e52d3f31 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Wed Apr 8 18:36:40 2015 +0200 selinux/nlmsg: add XFRM_MSG_NEWSPDINFO This new command is missing. Fixes: 880a6fab8f6b ("xfrm: configure policy hash table thresholds by netlink") Reported-by: Christophe Gouault <christophe.gouault@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 387f989a60db00207c39b9fe9ef32c897356aaba Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Wed Apr 8 18:36:39 2015 +0200 selinux/nlmsg: add RTM_GETNSID This new command is missing. Fixes: 9a9634545c70 ("netns: notify netns id events") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5bdfbc1f19d047a182d2bab102c22bbf2a1ea244 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Wed Apr 8 18:36:38 2015 +0200 selinux/nlmsg: add RTM_NEWNSID and RTM_GETNSID These new commands are missing. Fixes: 0c7aecd4bde4 ("netns: add rtnl cmd to add and get peer netns ids") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ec1e23d1d43ce96fe9a3b96ffbf3fbb702a8db7 Merge: 0ad2a83 443be0e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 15:17:38 2015 -0400 Merge branch 'rds' Sowmini Varadhan says: ==================== RDS: RDS-core fixes This patch-series updates the RDS core and rds-tcp modules with some bug fixes that were originally authored by Andy Grover, Zach Brown, and Chris Mason. v2: Code review comment by Sergei Shtylov V3: DaveM comments: - dropped patches 3, 5 for "heuristic" changes in rds_send_xmit(). Investigation into the root-cause of these IB-triggered changes produced the feedback: "I don't remember seeing "RDS: Stuck RM" message in last 1-1.5 years and checking with other folks. It may very well be some old workaround for stale connection for which long term fix is already made and this part of code not exercised anymore." Any such fixes, *if* they are needed, can/should be done in the IB specific RDS transport modules. - similarly dropped the LL_SEND_FULL patch (patch 6 in v2 set) v4: Documentation/networking/rds.txt contains incorrect references to "missing sysctl values for pf_rds and sol_rds in mainline". The sysctl values were never needed in mainline, thus fix the documentation. v5: Clarify comment per http://www.spinics.net/lists/netdev/msg324220.html v6: Re-added entire version history to cover letter. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 443be0e5affe3acb6dd81e7402951677e0a0eb35 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Apr 8 12:33:47 2015 -0400 RDS: make sure not to loop forever inside rds_send_xmit If a determined set of concurrent senders keep the send queue full, we can loop forever inside rds_send_xmit. This fix has two parts. First we are dropping out of the while(1) loop after we've processed a large batch of messages. Second we add a generation number that gets bumped each time the xmit bit lock is acquired. If someone else has jumped in and made progress in the queue, we skip our goto restart. Original patch by Chris Mason. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1789b2c077f6d6c82b04cfe49a0fec020dc42488 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Apr 8 12:33:46 2015 -0400 RDS: only use passive connections when addresses match Passive connections were added for the case where one loopback IB connection between identical addresses needs another connection to store the second QP. Unfortunately, they were also created in the case where the addesses differ and we already have both QPs. This lead to a message reordering bug. - two different IB interfaces and addresses on a machine: A B - traffic is sent from A to B - connection from A-B is created, connect request sent - listening accepts connect request, B-A is created - traffic flows, next_rx is incremented - unacked messages exist on the retrans list - connection A-B is shut down, new connect request sent - listen sees existing loopback B-A, creates new passive B-A - retrans messages are sent and delivered because of 0 next_rx The problem is that the second connection request saw the previously existing parent connection. Instead of using it, and using the existing next_rx_seq state for the traffic between those IPs, it mistakenly thought that it had to create a passive connection. We fix this by only using passive connections in the special case where laddr and faddr match. In this case we'll only ever have one parent sending connection requests and one passive connection created as the listening path sees the existing parent connection which initiated the request. Original patch by Zach Brown Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e6b29deafad3ce020dcf873a27a95c0cb9966c5b Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Apr 8 11:21:33 2015 -0700 PCI: Export symbols required for loadable host driver modules Export the following symbols so they can be referenced by a PCI host bridge driver compiled as a kernel loadable module: pci_common_swizzle pci_create_root_bus pci_stop_root_bus pci_remove_root_bus pci_assign_unassigned_bus_resources pci_fixup_irqs Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit ebe96e641dee2cbd135ee802ae7e40c361640088 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Apr 8 12:33:45 2015 -0400 RDS: Documentation: Document AF_RDS, PF_RDS and SOL_RDS correctly. AF_RDS, PF_RDS and SOL_RDS are available in header files, and there is no need to get their values from /proc. Document this correctly. Fixes: 0c5f9b8830aa ("RDS: Documentation") Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f9755d26fbfcb6787a6746653f1760fef0d5ba5 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Apr 7 13:38:45 2015 -0700 stmmac: Add an optional register interface clock The DWMAC block on certain SoCs (such as IMG Pistachio) have a second clock which must be enabled in order to access the peripheral's register interface, so add support for requesting and enabling an optional "pclk". Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2790460e145d198fe6925d405301a49b2d8cb03f Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Apr 8 10:17:58 2015 -0700 vxlan: fix a shadow local variable Commit 79b16aadea32cce077 ("udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb()") introduce 'sk' but we already have one inner 'sk'. Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc7016ab1a22fb26f388c2fb2b692b89897cbc3e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Apr 8 20:47:55 2015 +0200 ALSA: hda - Fix headphone pin config for Lifebook T731 Some BIOS version of Fujitsu Lifebook T731 seems to set up the headphone pin (0x21) without the assoc number 0x0f while it's set only to the output on the docking port (0x1a). With the recent commit [03ad6a8c93b6: ALSA: hda - Fix "PCM" name being used on one DAC when there are two DACs], this resulted in the weird mixer element mapping where the headphone on the laptop is assigned as a shared volume with the speaker and the docking port is assigned as an individual headphone. This patch improves the situation by correcting the headphone pin config to the more appropriate value. Reported-and-tested-by: Taylor Smock <smocktaylor@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 09f50121e3b96a613e7c9724e7bbf31fdec640f7 Author: Christian Dale <kernel@xxxxxxxxxxxx> Date: Mon Mar 9 02:19:01 2015 -0300 [media] WinFast DTV2000 DS Plus Add Leadtek WinFast DTV2000DS Plus device based on Realtek RTL2832U. I have not tested the remote, but it is the Y04G0051 model. Signed-off-by: Christian Dale <kernel@xxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1a60667fc81fdab3733a1d41480da3a5d0ccecea Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 12:55:10 2015 +0100 ASoC: wm8804: Enable runtime PM Currently both the oscillator and the PLL are powered up in set_bias_level. This can be problematic when using output clocks from the wm8804 for other devices. The snd_soc_codec_set_pll API defines that a clock should be available once the call returns, however, with all the clocking controlled in set_bias_level this is not currently the case. This patch enables pm_runtime for the wm8804, enabling both the regulators and the oscillator when the chip resumes, and enabling the PLL in the snd_soc_codec_set_pll call. Naturally the enabling the PLL will also cause the chip to resume. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5631f18763f1b0989cec7cbf8f3badcb74dfe469 Author: Sapthagiri Baratam <sapthagiri.baratam@xxxxxxxxxxxxx> Date: Tue Apr 7 12:55:09 2015 +0100 ASoC: wm8804: Add DAPM widgets for SPDIF/AIF This change converts the driver to use DAPM to control the power for the various blocks on the chip. As part of this change the existing controls "TX Playback Switch" (controlled power for the SPDIF TX block) and "AIF Playback Switch" (controlled power for the AIF block) are both removed, as they are now redundant since the power state of those blocks is controlled automatically by DAPM. There are several benefits of this change, the most important of which is this change adds support for powering down the SPDIF RX block. The RX block will automatically assume control of the PLL on the chip when it is receiving a signal, so leaving this enabled all the time as was currently done in the driver can be problematic. An incoming SPDIF signal that is not being used can completely destroy the clocking for an in use TX signal. But this change ensures that the RX block will only be powered when the user intends to be receiving data, thus avoiding this issue. Additional benefits include the chip being simpler to operate as the power no longer needs to be manually controlled between use-cases and a small power saving (although it is acknowledged that this is likely unimportant in the typical use-cases for this chip). Signed-off-by: Sapthagiri Baratam <sapthagiri.baratam@xxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2f272e7b015c6d0f308d1a03e71557c962b10ce9 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Tue Apr 7 17:14:51 2015 +0300 clk: qcom: Fix parent_map translations When we introduced the parent_map tables, we missed to update some of the functions where mapping is translated. Fix this. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Tested-by: Nicolas Dechesne <nicolas.dechesne@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 00c78a3728dff798b4c9d5e2d38c86106ff6e8c7 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Apr 8 15:04:35 2015 -0300 dvb-frontends: use IS_REACHABLE() instead of IS_ENABLED() Changeset 9b174527e7b7 added this new macro, ensuring that it is true only if the function is actually reachable. However, newer drivers were added since when it was written. So, change those drivers to also use it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9b174527e7b756cda9f5d9e541f87b7fec9cfdf0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Feb 18 14:12:42 2015 -0300 [media] Add and use IS_REACHABLE macro In the media drivers, the v4l2 core knows about all submodules and calls into them from a common function. However this cannot work if the modules that get called are loadable and the core is built-in. In that case we get drivers/built-in.o: In function `set_type': drivers/media/v4l2-core/tuner-core.c:301: undefined reference to `tea5767_attach' drivers/media/v4l2-core/tuner-core.c:307: undefined reference to `tea5761_attach' drivers/media/v4l2-core/tuner-core.c:349: undefined reference to `tda9887_attach' drivers/media/v4l2-core/tuner-core.c:405: undefined reference to `xc4000_attach' This was working previously, until the IS_ENABLED() macro was used to replace the construct like #if defined(CONFIG_DVB_CX24110) || (defined(CONFIG_DVB_CX24110_MODULE) && defined(MODULE)) with the difference that the new code no longer checks whether it is being built as a loadable module itself. To fix this, this new patch adds an 'IS_REACHABLE' macro, which evaluates true in exactly the condition that was used previously. The downside of this is that this trades an obvious link error for a more subtle runtime failure, but it is clear that the change that introduced the link error was unintentional and it seems better to revert it for now. Also, a similar change was originally created by Trent Piepho and then reverted by teh change to the IS_ENABLED macro. Ideally Kconfig would be used to avoid the case of a broken dependency, or the code restructured in a way to turn around the dependency, but either way would require much larger changes here. Fixes: 7b34be71db53 ("[media] use IS_ENABLED() macro") See-also: c5dec9fb248e ("V4L/DVB (4751): Fix DBV_FE_CUSTOMISE for card drivers compiled into kernel") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a87a4d34286e5f790d2b495db5f37753ef75a80d Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Thu Feb 26 07:13:06 2015 -0300 [media] si2168: tda10071: m88ds3103: Fix trivial typos Change 'firmare' to 'firmware' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 856260a57cdfa5c121c7b7a6e816409bab07885c Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Mon Sep 22 21:30:46 2014 -0300 [media] xc5000: fix memory corruption when unplugging device This patch addresses a regression introduced in the following patch: commit 5264a522a597032c009f9143686ebf0fa4e244fb Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> [media] media: tuner xc5000 - release firmwware from xc5000_release() The "priv" struct is actually reference counted, so the xc5000_release() function gets called multiple times for hybrid devices. Because release_firmware() was always being called, it would work fine as expected on the first call but then the second call would corrupt aribtrary memory. Set the pointer to NULL after releasing so that we don't call release_firmware() twice. This problem was detected in the HVR-950q where plugging/unplugging the device multiple times would intermittently show panics in completely unrelated areas of the kernel. Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3df2f59f0aae2f5380a9d8037c91dcab75c4478d Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Wed Apr 8 19:19:50 2015 +0200 hwmon: (ibmpowernv) pretty print labels The new OPAL device tree adds a few properties which can be used to add extra information on the sensor label. In the case of a cpu core sensor, the firmware exposes the physical identifier of the core in the "ibm,pir" property. The driver translates this identifier in a linux cpu number and prints out a range corresponding to the hardware threads of the core (as they share the same sensor). The numbering gives a hint on the localization of the core in the system (which socket, which chip). Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2bcd3787b946b725a37763c0877da0996f5ec064 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Wed Apr 8 19:19:49 2015 +0200 hwmon: (ibmpowernv) add a label attribute Currently, sensors are only identified by their type and index. The new OPAL device tree can expose extra properties to identify some sensors by their name or location. This patch adds the creation of a new hwmon *_label attribute when such properties are detected. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 14681637ab3013d3577cc59633159f425733532e Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Wed Apr 8 19:19:48 2015 +0200 hwmon: (ibmpowernv) add support for the new device tree The new OPAL device tree for sensors has a different layout and uses new property names, for the type and for the handler used to capture the sensor data. This patch modifies the ibmpowernv driver to support such a tree in a way preserving compatibility with older OPAL firmwares. This is achieved by changing the error path of the routine parsing an OPAL node name. The node is simply considered being from the new device tree layout and fallback values are used. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9e4f74b11925d033dcbe429f1fb6202cab03ad8f Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Wed Apr 8 19:19:47 2015 +0200 hwmon: (ibmpowernv) add a helper routine create_hwmon_attr This should shorten a bit the code necessary to create a hmwon attribute. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit c6b424fee7511407107403d3a7c50e0756ae282e Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Wed Apr 8 19:05:56 2015 +0800 ASoC: max98090: add shutdown callback for max98090 To fix pop noise when shutdown,the pop noise during shutdown is the pmic cutoff power of codec without any notice. Signed-off-by: jay.xu <xjq@xxxxxxxxxxxxxx> Signed-off-by: zhengxing <zhengxing@xxxxxxxxxxxxxx> Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1f544fd8ff377127a512e20358045cc9b92c245c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Apr 8 18:34:25 2015 +0530 ASoC: Intel: remove unused functions these functions were never called by anyone. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bba0bdd7ad4713d82338bcd9b72d57e9335a664b Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Wed Mar 4 10:31:47 2015 +0100 Defer processing of REQ_PREEMPT requests for blocked devices SCSI transport drivers and SCSI LLDs block a SCSI device if the transport layer is not operational. This means that in this state no requests should be processed, even if the REQ_PREEMPT flag has been set. This patch avoids that a rescan shortly after a cable pull sporadically triggers the following kernel oops: BUG: unable to handle kernel paging request at ffffc9001a6bc084 IP: [<ffffffffa04e08f2>] mlx4_ib_post_send+0xd2/0xb30 [mlx4_ib] Process rescan-scsi-bus (pid: 9241, threadinfo ffff88053484a000, task ffff880534aae100) Call Trace: [<ffffffffa0718135>] srp_post_send+0x65/0x70 [ib_srp] [<ffffffffa071b9df>] srp_queuecommand+0x1cf/0x3e0 [ib_srp] [<ffffffffa0001ff1>] scsi_dispatch_cmd+0x101/0x280 [scsi_mod] [<ffffffffa0009ad1>] scsi_request_fn+0x411/0x4d0 [scsi_mod] [<ffffffff81223b37>] __blk_run_queue+0x27/0x30 [<ffffffff8122a8d2>] blk_execute_rq_nowait+0x82/0x110 [<ffffffff8122a9c2>] blk_execute_rq+0x62/0xf0 [<ffffffffa000b0e8>] scsi_execute+0xe8/0x190 [scsi_mod] [<ffffffffa000b2f3>] scsi_execute_req+0xa3/0x130 [scsi_mod] [<ffffffffa000c1aa>] scsi_probe_lun+0x17a/0x450 [scsi_mod] [<ffffffffa000ce86>] scsi_probe_and_add_lun+0x156/0x480 [scsi_mod] [<ffffffffa000dc2f>] __scsi_scan_target+0xdf/0x1f0 [scsi_mod] [<ffffffffa000dfa3>] scsi_scan_host_selected+0x183/0x1c0 [scsi_mod] [<ffffffffa000edfb>] scsi_scan+0xdb/0xe0 [scsi_mod] [<ffffffffa000ee13>] store_scan+0x13/0x20 [scsi_mod] [<ffffffff811c8d9b>] sysfs_write_file+0xcb/0x160 [<ffffffff811589de>] vfs_write+0xce/0x140 [<ffffffff81158b53>] sys_write+0x53/0xa0 [<ffffffff81464592>] system_call_fastpath+0x16/0x1b [<00007f611c9d9300>] 0x7f611c9d92ff Reported-by: Max Gurtuvoy <maxg@xxxxxxxxxxxx> Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2e7cee027b26cbe7e6685a7a14bd2850bfe55d33 Author: John Soni Jose <sony.john-n@xxxxxxxxxx> Date: Thu Feb 12 06:45:47 2015 +0530 be2iscsi: Fix kernel panic when device initialization fails Kernel panic was happening as iscsi_host_remove() was called on a host which was not yet added. Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit aadd51aa71f8d013c818a312bb2a0c5714830dbc Merge: 68e942e ee90b81 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Apr 8 17:40:17 2015 +0200 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Resolve conflicts between 5888b93 ("Merge branch 'nf-hook-compress'") and Florian Westphal br_netfilter works. Conflicts: net/bridge/br_netfilter.c Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 803afb316eba2df2bba16d984eb90b67c147c922 Merge: 8ae178f e88f7e0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 12:27:26 2015 -0400 Merge branch 'hv_netvsc_linearize' Vitaly Kuznetsov says: ==================== hv_netvsc: linearize SKBs bigger than MAX_PAGE_BUFFER_COUNT-2 pages This patch series fixes the same issue which was fixed in Xen with commit 97a6d1bb2b658ac85ed88205ccd1ab809899884d ("xen-netfront: Fix handling packets on compound pages with skb_linearize"). It is relatively easy to create a packet which is small in size but occupies more than 30 (MAX_PAGE_BUFFER_COUNT-2) pages. Here is a kernel-mode reproducer which tries sending a packet with only 34 bytes of payload (but on 34 pages) and fails: static int __init sendfb_init(void) { struct socket *sock; int i, ret; struct sockaddr_in in4_addr = { 0 }; struct page *pages[17]; unsigned long flags; ret = sock_create_kern(AF_INET, SOCK_STREAM, IPPROTO_TCP, &sock); if (ret) { pr_err("failed to create socket: %d!\n", ret); return ret; } in4_addr.sin_family = AF_INET; /* www.google.com, 74.125.133.99 */ in4_addr.sin_addr.s_addr = cpu_to_be32(0x4a7d8563); in4_addr.sin_port = cpu_to_be16(80); ret = sock->ops->connect(sock, (struct sockaddr *)&in4_addr, sizeof(in4_addr), 0); if (ret) { pr_err("failed to connect: %d!\n", ret); return ret; } /* We can send up to 17 frags */ flags = MSG_MORE; for (i = 0; i < 17; i++) { if (i == 16) flags = MSG_EOR; pages[i] = alloc_pages(GFP_KERNEL | __GFP_COMP, 1); if (!pages[i]) { pr_err("out of memory!"); goto free_pages; } sock->ops->sendpage(sock, pages[i], PAGE_SIZE -1, 2, flags); } free_pages: for (; i > 0; i--) __free_pages(pages[i - 1], 1); printk("sendfb_init: test done\n"); return -1; } module_init(sendfb_init); MODULE_LICENSE("GPL"); A try to load such module results in multiple 'kernel: hv_netvsc vmbus_15 eth0: Packet too big: 100' messages as all retries fail as well. It should also be possible to trigger the issue from userspace, I expect e.g. NFS under heavy load to get stuck sometimes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e88f7e078e47d4261a22e6f20a574620cbfc7a4b Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Apr 8 17:54:06 2015 +0200 hv_netvsc: try linearizing big SKBs before dropping them In netvsc_start_xmit() we can handle packets which are scattered around not more than MAX_PAGE_BUFFER_COUNT-2 pages. It is, however, easy to create a packet which is not big in size but occupies more pages (e.g. if it uses frags on compound pages boundaries). When we drop such packet it cases sender to try resending it but in most cases it will try resending the same packet which will also get dropped, this will cause the particular connection to stick. To solve the issue we can try linearizing skb. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 981a1bd85a959bb3b44e07c212ebc61c62ad7cf9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Apr 8 17:54:05 2015 +0200 hv_netvsc: use single existing drop path in netvsc_start_xmit ... which validly uses dev_kfree_skb_any() instead of dev_kfree_skb(). Setting ret to -EFAULT and -ENOMEM have no real meaning here (we need to set it to anything but -EAGAIN) as we drop the packet and return NETDEV_TX_OK anyway. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a053fc318bc5d28cd25168c948255fd48a29ea26 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Apr 9 01:15:03 2015 +0900 ALSA: bebob: fix to processing in big-endian machine for sending cue Some M-Audio devices require to receive bootup command just after powering on, while codes in BeBoB driver doesn't work properly in big-endian machine because the command should be aligned by little-endian. This commit fixes this bug. This fix should go to stable kernel. Cc: Takayuki Shiroma <t.shiroma.oki@xxxxxxxxx> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8ae178fb1ce0428d1a22c36c8493bda4807ad3b8 Merge: b5de97b 25672db Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 12:21:36 2015 -0400 Merge branch 'sfc-next' Shradha Shah says: ==================== sfc: Nic specific sriov functions, netdev_ops and sriov_configure First two patches among the series of patches to support SRIOV on EF10. First patch declares nic specific sriov functions in nic specific headers, creates only one instance of the netdev_ops, removes sriov functionality from Falcon code. Second patch adds support for sriov_configure. The Virtual Functions can be enabled but they do not bind to the SFC driver just yet. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25672dba9535b804331145379c79f835ba2205c5 Author: Shradha Shah <sshah@xxxxxxxxxxxxxx> Date: Wed Apr 8 15:25:04 2015 +0100 sfc: Enable VF's via a write to the sysfs file sriov_numvfs This patch adds support for the use of sriov_configure on EF10 to enable Virtual Functions while the driver is loaded. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d92916f71a57582ce7276547510cedb2c10b6bd6 Author: Shradha Shah <sshah@xxxxxxxxxxxxxx> Date: Wed Apr 8 15:24:45 2015 +0100 sfc: Own header for nic-specific sriov functions, single instance of netdev_ops and sriov removed from Falcon code By putting all the efx_{siena,ef10}_sriov_* declarations in {siena,ef10}_sriov.h, ensure they cannot be called from nic-generic code. Also fixes up an instance of this, where mcdi.c was calling efx_siena_sriov_flr. The single instance of netdev_ops should call general high level functions that can then call something adapter specific in efx_nic_type. We should only do adapter specialisation via efx_nic_type. Removal of sriov functionality from the Falcon code means that tests are needed for the presence of some callbacks. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09bf4a858d72a632dd12a61bda1d5272d67b2ce9 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Apr 8 13:16:57 2015 -0300 Revert "[media] v4l: vb2-memops: use vma slab when vma allocation" Please revert this patch: vm_area_cachep is not exported, so you cannot use this in a module. This reverts commit 5ed1c328ea077d70e1ebcd5188dc77cdc754df3a. Reported-by: Hans Verkuil <hverkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b5de97bc1753fb9c5be103a820ea5473923ca067 Merge: 04abac5 837a1db Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 8 12:15:15 2015 -0400 Merge branch 'dma_rmb_wmb' Alexander Duyck says: ==================== Replace wmb()/rmb() with dma_wmb()/dma_rmb() where appropriate This is a start of a side project cleaning up the drivers that can make use of the dma_wmb and dma_rmb calls. The general idea is to start removing the unnecessary wmb/rmb calls from a number of drivers and to make use of the lighter weight dma_wmb/dma_rmb calls as this should allow for an overall improvement in performance as each barrier can cost a significant number of cycles and on architectures such as x86 this is unnecessary. These changes are what I would consider low hanging fruit. The likelihood of the changes introducing an error should be low since the use of the barriers in these cases are fairly obvious. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 837a1dba0078d0bad755f6cb13a48c1623d11ff5 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Apr 7 16:55:27 2015 -0700 e1000, e1000e: Use dma_rmb instead of rmb for descriptor read ordering This change replaces calls to rmb with dma_rmb in the case where we want to order all follow-on descriptor reads after the check for the descriptor status bit. 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 03cc864a2571af278fc83d24b6a78d8424f92736 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Apr 7 16:55:21 2015 -0700 s2io: Update driver to use dma_wmb This change updates several spots where a wmb was being used to instead use a dma_wmb to flush out writes before updating the control portion of the descriptor. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4468cc6f2aeccaea74baa3b211a49851fd84158 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Apr 7 16:55:14 2015 -0700 sungem, sunhme, sunvnet: Update drivers to use dma_wmb/rmb This patch goes through and replaces wmb/rmb with dma_wmb/dma_rmb in cases where the barrier is being used to order writes or reads to just memory and doesn't involve any programmed I/O. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 882302c8598aa9d3d82adef10f283fa7ec29fb32 Author: Dimitris Lampridis <dlampridis@xxxxxxxxx> Date: Sat Feb 14 11:11:34 2015 -0300 [media] rtl28xxu: add support for Turbo-X DTT2000 ID 1b80:d3a4 Afatech Simply added the PID (0xd3a4) of this DVB-T USB device to the list of rtl2832u-supported devices. VID (0x1b80) is same as KWORLD2. Tested and verified to work in amd64 with kernels 3.13.0 and 3.16.0. Signed-off-by: Dimitris Lampridis <dlampridis@xxxxxxxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 203577562449c1889caa3a321be572ed2b972ac9 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Feb 11 08:08:51 2015 -0300 [media] rtl2832: remove compiler warning Cleaning up the following compiler warning: rtl2832.c:703:12: warning: 'tmp' may be used uninitialized in this function Even though it could never happen since if rtl2832_rd_demod_reg () doesn't set tmp, this line would never run because we go to err. It is still nice to avoid compiler warnings. [mchehab@xxxxxxxxxxxxxxx: fix a merge conflict with another patch meant to fix the same bug, but doing it at the wrong way] Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 04abac5fd6ad9341434add1c27047f4b16ada92c Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Tue Apr 7 16:16:29 2015 -0700 bonding: Remove unnecessary initialization bond_3ad_bind_slave() calls ad_initialize_port() and then immediately assigns correct values making some of that initialization unnecessary. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3cd9ee11dd72cfb8ff5d3dde47cd197e9b22cd2 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Tue Apr 7 16:16:11 2015 -0700 bonding: Code re-factoring for admin, oper-key operations This patch breaks the rich assignments into it's own statements and removes some duplicate code where admin-key, & oper-key are updated. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b112871186e3ab8333851c0caf203b47d7561b9 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 17:01:23 2015 +0200 ipv6: call iptunnel_xmit with NULL sock pointer if no tunnel sock is available Fixes: 79b16aadea32cce ("udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb().") Reported-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 926a882f6916fd76b6f8ee858d45a2241c5e7999 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 8 17:01:22 2015 +0200 ipv4: ip_tunnel: use net namespace from rtable not socket The socket parameter might legally be NULL, thus sock_net is sometimes causing a NULL pointer dereference. Using net_device pointer in dst_entry is more reliable. Fixes: b6a7719aedd7e5c ("ipv4: hash net ptr into fragmentation bucket selection") Reported-by: Rick Jones <rick.jones2@xxxxxx> Cc: Rick Jones <rick.jones2@xxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80ccf4ad06dc9d2f06a8347b2d309cdc959f72b3 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Tue Feb 10 07:41:56 2015 -0300 [media] rc: img-ir: fix error in parameters passed to irq_free() img_ir_remove() passes a pointer to the ISR function as the 2nd parameter to irq_free() instead of a pointer to the device data structure. This issue causes unloading img-ir module to fail with the below warning after building and loading img-ir as a module. WARNING: CPU: 2 PID: 155 at ../kernel/irq/manage.c:1278 __free_irq+0xb4/0x214() Trying to free already-free IRQ 58 Modules linked in: img_ir(-) CPU: 2 PID: 155 Comm: rmmod Not tainted 3.14.0 #55 ... Call Trace: ... [<8048d420>] __free_irq+0xb4/0x214 [<8048d6b4>] free_irq+0xac/0xf4 [<c009b130>] img_ir_remove+0x54/0xd4 [img_ir] [<8073ded0>] platform_drv_remove+0x30/0x54 ... Fixes: 160a8f8aec4d ("[media] rc: img-ir: add base driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.15+ Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 974e08d8f02fdfc97915054d8e0c7d3cbe6b9e6e Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Feb 17 11:30:34 2015 -0300 [media] cxusb: Use enum to represent table offsets rather than hard-coding numbers Use enum to represent table offsets rather than hard-coding numbers to avoid problems with the numbers becoming out of sync with the table. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d10b730f97a7f1fa58c9ec300828f87157cd6b95 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Apr 8 10:04:55 2015 -0500 Revert "sparc/PCI: Clip bridge windows to fit in upstream windows" This reverts commit d63e2e1f3df904bf6bd150bdafb42ddbb3257ea8. David Ahern reported that d63e2e1f3df9 breaks booting on an 8-socket T5 sparc system. He also verified that the system boots with d63e2e1f3df9 reverted. Yinghai has some fixes, but they need a little more polishing than we can do before v4.0. Link: http://lkml.kernel.org/r/5514391F.2030300@xxxxxxxxxx # report Link: http://lkml.kernel.org/r/1427857069-6789-1-git-send-email-yinghai@xxxxxxxxxx # patches Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.19+ commit 51ab7155c08baf45cc2aa911961e5b78422e478f Merge: 6645f31 a1e12da Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Apr 8 17:03:47 2015 +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: - Teach 'perf record' about perf_event_attr.clockid (Peter Zijlstra) - Improve 'perf sched replay' on high CPU core count machines (Yunlong Song) - Consider PERF_RECORD_ events with cpumode == 0 in 'perf top', removing one cause of long term memory usage buildup, i.e. not processing PERF_RECORD_EXIT events (Arnaldo Carvalho de Melo) - Add 'I' event modifier for perf_event_attr.exclude_idle bit (Jiri Olsa) - Respect -i option 'in perf kmem' (Jiri Olsa) Infrastructure changes: - Honor operator priority in libtraceevent (Namhyung Kim) - Merge all perf_event_attr print functions (Peter Zijlstra) - Check kmaps access to make code more robust (Wang Nan) - Fix inverted logic in perf_mmap__empty() (He Kuang) - Fix ARM 32 'perf probe' building error (Wang Nan) - Fix perf_event_attr tests (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a490c656c96b54e7582a6c846c7d1d3dba61e373 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Mar 31 11:30:07 2015 +0300 gpio: dwapb: enable for ARC Synopsys SDP platform uses DW GPIO controller in design with ARC cores. So adding ARC to architectures that may select this GPIO controller. Even though support for Synopsys SDP is yet to be submitted we'll need this tiny option enabled at least for properly working interrupts (DW GPIO controller is used as interrupt controller). Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7414b0993cd020aea14574065c28b55f3f849688 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Tue Mar 31 12:37:18 2015 +0300 pinctrl: Add support for PM8916 GPIO's and MPP's Add compatible string definitions and supported pin functions. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8647ca9ad5a0065ad53a2ad7e39163592b6ed35e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Mar 24 11:12:45 2015 -0500 PCI: Don't look for ACPI hotplug parameters if ACPI is disabled Booting a v3.18 or newer Xen domU kernel with PCI devices passed through results in an oops (this is a 32-bit 3.13.11 dom0 with a 64-bit 4.4.0 hypervisor and 32-bit domU): BUG: unable to handle kernel paging request at 0030303e IP: [<c06ed0e6>] acpi_ns_validate_handle+0x12/0x1a Call Trace: [<c06eda4d>] ? acpi_evaluate_object+0x31/0x1fc [<c06b78e1>] ? pci_get_hp_params+0x111/0x4e0 [<c0407bc7>] ? xen_force_evtchn_callback+0x17/0x30 [<c04085fb>] ? xen_restore_fl_direct_reloc+0x4/0x4 [<c0699d34>] ? pci_device_add+0x24/0x450 Don't look for ACPI configuration information if ACPI has been disabled. I don't think this is the best fix, because we can boot plain Linux (no Xen) with "acpi=off", and we don't need this check in pci_get_hp_params(). There should be a better fix that would make Xen domU work the same way. The domU kernel has ACPI support but it has no AML. There should be a way to initialize the ACPI data structures so things fail gracefully rather than oopsing. This is an interim fix to address the regression. Fixes: 6cd33649fa83 ("PCI: Add pci_configure_device() during enumeration") Link: https://bugzilla.kernel.org/show_bug.cgi?id=96301 Reported-by: Michael D Labriola <mlabriol@xxxxxxxx> Tested-by: Michael D Labriola <mlabriol@xxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.18+ commit 9828413d4715d4ed12bc92b161f4ed377d777ffb Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 31 17:23:45 2015 -0400 tracing: Add enum_map file to show enums that have been mapped Add a enum_map file in the tracing directory to see what enums have been saved to convert in the print fmt files. As this requires the enum mapping to be persistent in memory, it is only created if the new config option CONFIG_TRACE_ENUM_MAP_FILE is enabled. This is for debugging and will increase the persistent memory footprint of the kernel. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 91df6089aa330f12f31cf4b710350a3d6e3d66e6 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 17:08:41 2015 -0400 writeback: Export enums used by tracepoint to user space The enums used in tracepoints for __print_symbolic() do not have their values shown in the tracepoint format files and this makes it difficult for user space tools to convert the binary values to the strings they are to represent. Add TRACE_DEFINE_ENUM(x) macros to export the enum names to their values to make the tracing output from user space tools more robust. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Dave Chinner <dchinner@xxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 68e942e88add0ac8576fc8397e86495edf3dcea7 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sun Apr 5 14:43:38 2015 +0200 netfilter: nf_tables: support optional userdata for set elements Add an userdata set extension and allow the user to attach arbitrary data to set elements. This is intended to hold TLV encoded data like comments or DNS annotations that have no meaning to the kernel. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 22fe54d5fefcfa98c58cc2f4607dd26d9648b3f5 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sun Apr 5 14:41:08 2015 +0200 netfilter: nf_tables: add support for dynamic set updates Add a new "dynset" expression for dynamic set updates. A new set op ->update() is added which, for non existant elements, invokes an initialization callback and inserts the new element. For both new or existing elements the extenstion pointer is returned to the caller to optionally perform timer updates or other actions. Element removal is not supported so far, however that seems to be a rather exotic need and can be added later on. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 11113e190bf0ad73086884f87efccc994ff28b3d Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sun Apr 5 14:41:07 2015 +0200 netfilter: nf_tables: support different set binding types Currently a set binding is assumed to be related to a lookup and, in case of maps, a data load. In order to use bindings for set updates, the loop detection checks must be restricted to map operations only. Add a flags member to the binding struct to hold the set "action" flags such as NFT_SET_MAP, and perform loop detection based on these. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3dd0673ac3cd7d05cde103396ec7ec410a901de2 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sun Apr 5 14:41:06 2015 +0200 netfilter: nf_tables: prepare set element accounting for async updates Use atomic operations for the element count to avoid races with async updates. To properly handle the transactional semantics during netlink updates, deleted but not yet committed elements are accounted for seperately and are treated as being already removed. This means for the duration of a netlink transaction, the limit might be exceeded by the amount of elements deleted. Set implementations must be prepared to handle this. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4a8678efbec6b0ea46baafb77cd297e6e02da933 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sun Apr 5 14:41:05 2015 +0200 netfilter: nf_tables: fix set selection when timeouts are requested The NFT_SET_TIMEOUT flag is ignore in nft_select_set_ops, which may lead to selection of a set implementation that doesn't actually support timeouts. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 43d0f71f0e3f36cc54de8e95bd8005063fa9e818 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 17:04:45 2015 -0400 v4l: Export enums used by tracepoints to user space Enums used by tracepoints for __print_symbolic() are shown in the tracepoint format files with just their names and not their values. This makes it difficult for user space tools to know how to convert the binary data into their string representations. By adding the use of TRACE_DEFINE_ENUM(), the enum names will be mapped to their values and shown in the tracing file system to let tools convert the data as necessary. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit c54c719b558e0eb3ba60b1390aeb47ed25ff4352 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Apr 8 14:34:10 2015 +0200 ata: remove deprecated use of pci api Replace occurences of the pci api by appropriate call to the dma api. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @deprecated@ idexpression id; position p; @@ ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @bad1@ idexpression id; position deprecated.p; @@ ...when != &id->dev when != pci_get_drvdata ( id ) when != pci_enable_device ( id ) ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @depends on !bad1@ idexpression id; expression direction; position deprecated.p; @@ ( - pci_dma_supported@p ( id, + dma_supported ( &id->dev, ... + , GFP_ATOMIC ) | - pci_alloc_consistent@p ( id, + dma_alloc_coherent ( &id->dev, ... + , GFP_ATOMIC ) ) Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit c4941e072ed5ac1aaad7365ba1290fdd44e7058c Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Apr 7 21:34:40 2015 +0530 gpio: removing kfree remove functionality commit 3de07e5aaf290a0b58919 ("drivers: gpio: use devm_kzalloc") introduce devm_kzalloc() for allocating the memory. In this case kfree is not required to use. Above commit id introduced the bug that kfree is not removed from the remove function. This patch fix the above bug. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a1e67951e6c0b11bb11c256f8e1c45ed51fcd760 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:45 2015 +0200 netfilter: bridge: make BRNF_PKT_TYPE flag a bool nf_bridge_info->mask is used for several things, for example to remember if skb->pkt_type was set to OTHER_HOST. For a bridge, OTHER_HOST is expected case. For ip forward its a non-starter though -- routing expects PACKET_HOST. Bridge netfilter thus changes OTHER_HOST to PACKET_HOST before hook invocation and then un-does it after hook traversal. This information is irrelevant outside of br_netfilter. After this change, ->mask now only contains flags that need to be known outside of br_netfilter in fast-path. Future patch changes mask into a 2bit state field in sk_buff, so that we can remove skb->nf_bridge pointer for good and consider all remaining places that access nf_bridge info content a not-so fastpath. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3eaf402502e49ad9c58c73e8599c7c4f345d62da Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:44 2015 +0200 netfilter: bridge: start splitting mask into public/private chunks ->mask is a bit info field that mixes various use cases. In particular, we have flags that are mutually exlusive, and flags that are only used within br_netfilter while others need to be exposed to other parts of the kernel. Remove BRNF_8021Q/PPPoE flags. They're mutually exclusive and only needed within br_netfilter context. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 383307838d41935841ba6b2e939b968326e2dea1 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:43 2015 +0200 netfilter: bridge: add and use nf_bridge_info_get helper Don't access skb->nf_bridge directly, this pointer will be removed soon. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a99074ae1f5cce08c769542440391981899ac04c Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:42 2015 +0200 netfilter: physdev: use helpers Avoid skb->nf_bridge accesses where possible. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c737b7c4510026c200e14de51eb0006adea0fb2f Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:41 2015 +0200 netfilter: bridge: add helpers for fetching physin/outdev right now we store this in the nf_bridge_info struct, accessible via skb->nf_bridge. This patch prepares removal of this pointer from skb: Instead of using skb->nf_bridge->x, we use helpers to obtain the in/out device (or ifindexes). Followup patches to netfilter will then allow nf_bridge_info to be obtained by a call into the br_netfilter core, rather than keeping a pointer to it in sk_buff. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e70deecbf8e1562cac0b19f23848919e2f5d65aa Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Apr 2 14:31:40 2015 +0200 netfilter: bridge: don't use nf_bridge_info data to store mac header br_netfilter maintains an extra state, nf_bridge_info, which is attached to skb via skb->nf_bridge pointer. Amongst other things we use skb->nf_bridge->data to store the original mac header for every processed skb. This is required for ip refragmentation when using conntrack on top of bridge, because ip_fragment doesn't copy it from original skb. However there is no need anymore to do this unconditionally. Move this to the one place where its needed -- when br_netfilter calls ip_fragment(). Also switch to percpu storage for this so we can handle fragmenting without accessing nf_bridge meta data. Only user left is neigh resolution when DNAT is detected, to hold the original source mac address (neigh resolution builds new mac header using bridge mac), so rename ->data and reduce its size to whats needed. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d64d80a2cde94f3e89caebd27240be419fec5b81 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Apr 2 14:28:30 2015 +0200 netfilter: x_tables: don't extract flow keys on early demuxed sks in socket match Currently in xt_socket, we take advantage of early demuxed sockets since commit 00028aa37098 ("netfilter: xt_socket: use IP early demux") in order to avoid a second socket lookup in the fast path, but we only make partial use of this: We still unnecessarily parse headers, extract proto, {s,d}addr and {s,d}ports from the skb data, accessing possible conntrack information, etc even though we were not even calling into the socket lookup via xt_socket_get_sock_{v4,v6}() due to skb->sk hit, meaning those cycles can be spared. After this patch, we only proceed the slower, manual lookup path when we have a skb->sk miss, thus time to match verdict for early demuxed sockets will improve further, which might be i.e. interesting for use cases such as mentioned in 681f130f39e1 ("netfilter: xt_socket: add XT_SOCKET_NOWILDCARD flag"). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b8a19382ac6212d18b21fcc7867060a5d54fe1a2 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:43:45 2015 +0100 pinctrl: bcm2835: Fix support for threaded level triggered IRQs Currently, the driver uses handle_simple_irq for all IRQ types and hard codes the acknowledge for different IRQ types into the handler. It is better to use the IRQ core as intended and let it handle the differences between the various types of IRQ. For example the current system does not work for threaded level triggered IRQs as these need to be masked until the threaded handler has run. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4f054d445139d63868f931328f897ac5ef87242e Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 14:23:03 2015 +0200 ARM: mvebu: use 0xf1000000 as internal registers on Armada 370 DB All Marvell EBU SoCs (Kirkwood, Dove, Orion, Armada) have the capability of changing the location of their internal registers (i.e the registers for most hardware blocks inside the SoC). When coming out of reset, the internal registers are mapped at 0xd0000000, but since years and years, the tradition has been to have the internal registers remapped at 0xf1000000 by the bootloader, and Linux has since then assumed that the internal registers for the SoC were located at 0xf1000000 on Kirkwood, Dove, Orion, etc. Linux has never been aware that those registers are remappable (and there is no way to know where they are mapped at runtime, since the register to configure the address of the registers is itself within the internal registers). Then came the Armada 370 and Armada XP, in which some of the very early silicon steppings had an issue, which forced to use 0xd0000000: the SoC was no longer working properly when the internal registers were remapped at 0xf1000000. This issue is only affecting very early silicon steppings and production steppings are not affected: the issue has been fixed in between. Since what we (Free Electrons) used to do the initial submission of the Armada 370 and Armada XP platforms was evaluation boards with those very early steppings, we submitted Device Tree that assumed the internal registers were mapped at 0xd0000000. This is the case for Armada 370 DB, Armada XP DB and Armada XP GP. However, in practice, since Marvell has been shipping the evaluation boards with production steppings of the SoC, they are shipping those boards with bootloaders that remap the registers to 0xf1000000. We have already changed this internal register address to 0xf1000000 for the Armada XP DB in commit 82066bdb5a75 and for the Armada XP GP in commit 91ed32200e6e (both merged in v3.15). We only recently got our hand on an Armada 370 DB with a production stepping of the SoC, which uses a bootloader that remaps internal registers at 0xf1000000. Therefore, this commit aligns the Armada 370 DB to be like the Armada XP DB and Armada XP GP: assume that the internal registers are mapped at 0xf1000000. We would like to stress out the fact that the usage of 0xd0000000 as the internal register base address was a temporary workaround for early steppings deficiencies, and that the real long-term solution is the usage of 0xf1000000. Having 0xd0000000 is an *accident* in the life of the Marvell platform support in the kernel, as is confirmed by the usage of 0xf1000000 in all previous Marvell platforms (Dove, Kirkwood, Orion). There are unfortunately a number of commercial devices that continue to use 0xd0000000 even though they use production steppings of the SoC, simply because the vendors of such devices have never bothered using a more recent bootloader version from Marvell. There is not much we can do about it, and we plan on keeping 0xd0000000 in the Device Tree of such devices. The main reason for remapping the internal registers at 0xf1000000 instead of 0xd0000000 is that it leaves more space in the 0 -> 4 GB part of the physical address space for RAM. With registers at 0xd0000000, all RAM between 0xd0000000 to 0xffffffff is lost because it's covered by the I/O registers. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 61819549f572edd7fce53f228c0d8420cdc85f71 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:11:11 2015 +0200 gpio: mvebu: Fix mask/unmask managment per irq chip type Level IRQ handlers and edge IRQ handler are managed by tow different sets of registers. But currently the driver uses the same mask for the both registers. It lead to issues with the following scenario: First, an IRQ is requested on a GPIO to be triggered on front. After, this an other IRQ is requested for a GPIO of the same bank but triggered on level. Then the first one will be also setup to be triggered on level. It leads to an interrupt storm. The different kind of handler are already associated with two different irq chip type. With this patch the driver uses a private mask for each one which solves this issue. It has been tested on an Armada XP based board and on an Armada 375 board. For the both boards, with this patch is applied, there is no such interrupt storm when running the previous scenario. This bug was already fixed but in a different way in the legacy version of this driver by Evgeniy Dushistov: 9ece8839b1277fb9128ff6833411614ab6c88d68 "ARM: orion: Fix for certain sequence of request_irq can cause irq storm". The fact the new version of the gpio drive could be affected had been discussed there: http://thread.gmane.org/gmane.linux.ports.arm.kernel/344670/focus=364012 Reported-by: Evgeniy A. Dushistov <dushistov@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.7 + Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 30133177957dca9a3e2a37b720f891d3225a92a1 Author: Abhi Das <adas@xxxxxxxxxx> Date: Wed Apr 8 09:03:56 2015 -0500 gfs2: fix quota refresh race in do_glock() quotad periodically syncs in-memory quotas to the ondisk quota file and sets the QDF_REFRESH flag so that a subsequent read of a synced quota is re-read from disk. gfs2_quota_lock() checks for this flag and sets a 'force' bit to force re-read from disk if requested. However, there is a race condition here. It is possible for gfs2_quota_lock() to find the QDF_REFRESH flag unset (i.e force=0) and quotad comes in immediately after and syncs the relevant quota and sets the QDF_REFRESH flag. gfs2_quota_lock() resumes with force=0 and uses the stale in-memory quota usage values that result in miscalculations. This patch fixes this race by moving the check for the QDF_REFRESH flag check further out into the gfs2_quota_lock() process, i.e, in do_glock(), under the protection of the quota glock. Signed-off-by: Abhi Das <adas@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 1711045fb11b4aa9afda066ce5fe68b2345d52c5 Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Date: Tue Apr 7 17:13:42 2015 +0200 crypto: sahara - fix AES descriptor create The AES implementation still assumes, that the hw_desc[0] has a valid key as long as no new key needs to be set; consequentialy it always sets the AES key header for the first descriptor and puts data into the second one (hw_desc[1]). Change this to only update the key in the hardware, when a new key is to be set and use the first descriptor for data otherwise. Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ddacc621f6597d503ed6a06e2beb1ed21df759f6 Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Date: Tue Apr 7 17:13:41 2015 +0200 crypto: sahara - use the backlog With commit 7e77bdebff5cb1e9876c561f69710b9ab8fa1f7e crypto: af_alg - fix backlog handling in place, the backlog works under all circumstances where it previously failed, atleast for the sahara driver. Use it. Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 016baaa1183bb0c5fb2a7de42413bba8a51c1bc8 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 21:27:01 2015 +0800 crypto: user - Fix crypto_alg_match race The function crypto_alg_match returns an algorithm without taking any references on it. This means that the algorithm can be freed at any time, therefore all users of crypto_alg_match are buggy. This patch fixes this by taking a reference count on the algorithm to prevent such races. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9cd223239a79df3cc758ecabb8473ca91599021b Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:11 2015 +0800 crypto: atmel-aes - correct usage of dma_sync_* API The output buffer is used for CPU access, so the API should be dma_sync_single_for_cpu which makes the cache line invalid in order to reload the value in memory. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 289b2623df34ebec4c25b7d31804b70fc90b92c6 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:10 2015 +0800 crypto: atmel-aes - sync the buf used in DMA or CPU The input buffer and output buffer are mapped for DMA transfer in Atmel AES driver. But they are also be used by CPU when the requested crypt length is not bigger than the threshold value 16. The buffers will be cached in cache line when CPU accessed them. When DMA uses the buffers again, the memory can happened to be flushed by cache while DMA starts transfer. So using API dma_sync_single_for_device and dma_sync_single_for_cpu in DMA to ensure DMA coherence and CPU always access the correct value. This fix the issue that the encrypted result periodically goes wrong when doing performance test with OpenSSH. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8a10eb8d36ffc86512ae66a35c8888f07b8ec921 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:09 2015 +0800 crypto: atmel-aes - initialize spinlock in probe Kernel will report "BUG: spinlock lockup suspected on CPU#0" when CONFIG_DEBUG_SPINLOCK is enabled in kernel config and the spinlock is used at the first time. It's caused by uninitialized spinlock, so just initialize it in probe. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1d1b91637ce1d0968d17b0a288de557946a9494e Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:08 2015 +0800 crypto: atmel-tdes - initialize spinlock in probe Kernel will report "BUG: spinlock lockup suspected on CPU#0" when CONFIG_DEBUG_SPINLOCK is enabled in kernel config and the spinlock is used at the first time. It's caused by uninitialized spinlock, so just initialize it in probe. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3f1992c002064f5628eafbec9649f7a82f439eaf Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:07 2015 +0800 crypto: atmel-sha - correct the max burst size The maximum source and destination burst size is 16 according to the datasheet of Atmel DMA. And the value is also checked in function at_xdmac_csize of Atmel DMA driver. With the restrict, the value beyond maximum value will not be processed in DMA driver, so SHA384 and SHA512 will not work and the program will wait forever. So here change the max burst size of all the cases to 16 in order to make SHA384 and SHA512 work and keep consistent with DMA driver and datasheet. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 62728e82026c90af004dd2c328c1314f2f3e6b58 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:06 2015 +0800 crypto: atmel-sha - initialize spinlock in probe Kernel will report "BUG: spinlock lockup suspected on CPU#0" when CONFIG_DEBUG_SPINLOCK is enabled in kernel config and the spinlock is used at the first time. It's caused by uninitialized spinlock, so just initialize it in probe. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 803eeae8f3eb394d898a7aa65ba706628dd6a85c Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:05 2015 +0800 crypto: atmel-sha - fix sg list management Having a zero length sg doesn't mean it is the end of the sg list. This case happens when calculating HMAC of IPSec packet. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0099286b664493c85f0f2248f09f3b467a0e3a78 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Tue Apr 7 17:45:04 2015 +0800 crypto: atmel-sha - correct the way data are split When a hash is requested on data bigger than the buffer allocated by the SHA driver, the way DMA transfers are performed is quite strange: The buffer is filled at each update request. When full, a DMA transfer is done. On next update request, another DMA transfer is done. Then we wait to have a full buffer (or the end of the data) to perform the dma transfer. Such a situation lead sometimes, on SAMA5D4, to a case where dma transfer is finished but the data ready irq never comes. Moreover hash was incorrect in this case. With this patch, dma transfers are only performed when the buffer is full or when there is no more data. So it removes the transfer whose size is equal the update size after the full buffer transmission. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 141824d0ae3b125a499b35138c01c985e81c0aca Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:03 2015 +0800 crypto: atmel-sha - add new version Add new version of atmel-sha available with SAMA5D4 devices. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cf1f0d12792cc57404582c9a7a693cf8f975e967 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Tue Apr 7 17:45:02 2015 +0800 crypto: atmel-aes - add new version Add new version of atmel-aes available with SAMA5D4 devices. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5a0ff17741c1785b27229a16b5ab77470d71b170 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Apr 8 08:11:51 2015 -0600 vfio-pci: Fix use after free Reported by 0-day test infrastructure. Fixes: ecaa1f6a0154 ("vfio-pci: Add VGA arbiter client") Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit a1e12da4796a4ddd0e911687a290eb396d1c64bf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Apr 7 23:25:14 2015 +0200 perf tools: Add 'I' event modifier for exclude_idle bit Adding 'I' event modifier to have complete set of modifiers for perf_event_attr:exclude_* bits. Any event specified with 'I' modifier will have the perf_event_attr:exclude_idle bit set. $ perf record -e cycles:I -vv ls 2>&1 | grep exclude_idle exclude_hv 0 exclude_idle 1 Adding automated tests. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: William Cohen <wcohen@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428441919-23099-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6fcc1433a4a9057b2977313f31eadbc1c84268b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Apr 8 10:59:32 2015 +0000 perf report: Don't call map__kmap if map is NULL. report__warn_kptr_restrict() calls map__kmap(kernel_map) before checking kernel_map againest NULL. Which is dangerous, since map__kmap() will return a invalid and not NULL address. It will trigger a warning message in map__kmap() after the patch "perf: kmaps: enforce usage of kmaps to protect futher bugs." was applied. This patch fixes it by adding the missing checking. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1428490772-135393-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 54a50f93eb13ab5efa7366627534e2b0f7caa8e5 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Apr 7 19:17:15 2015 +0200 perf tests: Fix attr tests Following commit: 1a5941312414 perf: Add wakeup watermark control to the AUX area enlarged perf_event_attr, but did not updated attr tests. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Markus T Metzger <markus.t.metzger@xxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Link: http://lkml.kernel.org/n/20150407171715.GA22603@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6c15621f04b97ce882c66e5055f0ac325fb8eb8 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Apr 8 02:14:34 2015 +0000 perf probe: Fix ARM 32 building error Commit 9b118acae310f57baee770b5db402500d8695e50 ("perf probe: Fix to handle aliased symbols in glibc") uses an absolute format '%lx' to print u64 argument, which causes compiling error on ARM 32. This patch replaces it with PRIx64. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1428459274-138470-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6ba16eefcdaa8634e1c1d70d5c31b0495c99ab02 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 16:53:03 2015 -0400 SUNRPC: Export enums in tracepoints to user space The enums used in the tracepoints for __print_symbolic() have their names shown in the tracepoint format files. User space tools do not know how to convert those names into their values to be able to convert the binary data. Use TRACE_DEFINE_ENUM() to export the enum names to their values for userspace to do the parsing correctly. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Acked-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 190f0b76ca498789b4dc6acb8c8e9a31b6548f9d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 16:48:57 2015 -0400 mm: tracing: Export enums in tracepoints to user space The enums used in tracepoints with __print_symbolic() have their names shown in the tracepoint format files and not their values. This makes it difficult for user space tools to convert the binary data to the strings as user space does not know what those enums are about. By having them use TRACE_DEFINE_ENUM(), the names of the enums will be mapped to the values and shown to user space. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f0a91b3caa053c9964f1d1e6941f0963d002a670 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 16:31:44 2015 -0400 irq/tracing: Export enums in tracepoints to user space The enums used by the softirq mapping is what is shown in the output of the __print_symbolic() and not their values, that are needed to map them to their strings. Export them to userspace with the TRACE_DEFINE_ENUM() macro so that user space tools can map the enums with their values. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 5511b9a471f3bb2f1cd5d7bf6b4191403e49315e Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 16:18:07 2015 -0400 f2fs: Export the enums in the tracepoints to userspace The tracepoints that use __print_symbolic() use enums as the value to convert to strings. Unfortunately, the format files for these tracepoints show the enum name and not their value. This causes some userspace tools not to know how to convert __print_symbolic() to their strings. Add TRACE_DEFINE_ENUM() macros to export the enums used to userspace to let those tools know what those enum values are. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Cc: Pankaj Kumar <pankaj.km@xxxxxxxxxxx> Cc: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 56e1b226088b07d14ad863bb73753ae24d48c113 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 16:15:07 2015 -0400 net/9p/tracing: Export enums in tracepoints to userspace The tracepoints in the 9p code use a lot of enums for the __print_symbolic() function. These enums are shown in the tracepoint format files, and user space tools such as trace-cmd does not have the information to parse it. Add helper macros to export the enums with TRACE_DEFINE_ENUM(). Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 23b9766261aa9bd4cc9ba770deda794608708bdc Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 18:15:57 2015 -0400 x86/tlb/trace: Export enums in used by tlb_flush tracepoint Have the enums used in __print_symbolic() by the trace_tlb_flush() tracepoint exported to userpace such that they can be parsed by userspace tools. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Dave Hansen <dave@xxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 32eb3d0d09943ab9dcc01fb8d2619b64e965992c Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Apr 1 15:55:36 2015 -0400 tracing/samples: Update the trace-event-sample.h with TRACE_DEFINE_ENUM() Document the use of TRACE_DEFINE_ENUM() by adding enums to the trace-event-sample.h and using this macro to convert them in the format files. Also update the comments and sho the use of __print_symbolic() and __print_flags() as well as adding comments abount __print_array(). Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3673b8e4ce7237160fa31ee8d7e94a4d5a9976a1 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Mar 25 15:44:21 2015 -0400 tracing: Allow for modules to convert their enums to values Update the infrastructure such that modules that declare TRACE_DEFINE_ENUM() will have those enums converted into their values in the tracepoint print fmt strings. Link: http://lkml.kernel.org/r/87vbhjp74q.fsf@xxxxxxxxxxxxxxx Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0c564a538aa934ad15b2145aaf8b64f3feb0be63 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 17:58:09 2015 -0400 tracing: Add TRACE_DEFINE_ENUM() macro to map enums to their values Several tracepoints use the helper functions __print_symbolic() or __print_flags() and pass in enums that do the mapping between the binary data stored and the value to print. This works well for reading the ASCII trace files, but when the data is read via userspace tools such as perf and trace-cmd, the conversion of the binary value to a human string format is lost if an enum is used, as userspace does not have access to what the ENUM is. For example, the tracepoint trace_tlb_flush() has: __print_symbolic(REC->reason, { TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" }, { TLB_REMOTE_SHOOTDOWN, "remote shootdown" }, { TLB_LOCAL_SHOOTDOWN, "local shootdown" }, { TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" }) Which maps the enum values to the strings they represent. But perf and trace-cmd do no know what value TLB_LOCAL_MM_SHOOTDOWN is, and would not be able to map it. With TRACE_DEFINE_ENUM(), developers can place these in the event header files and ftrace will convert the enums to their values: By adding: TRACE_DEFINE_ENUM(TLB_FLUSH_ON_TASK_SWITCH); TRACE_DEFINE_ENUM(TLB_REMOTE_SHOOTDOWN); TRACE_DEFINE_ENUM(TLB_LOCAL_SHOOTDOWN); TRACE_DEFINE_ENUM(TLB_LOCAL_MM_SHOOTDOWN); $ cat /sys/kernel/debug/tracing/events/tlb/tlb_flush/format [...] __print_symbolic(REC->reason, { 0, "flush on task switch" }, { 1, "remote shootdown" }, { 2, "local shootdown" }, { 3, "local mm shootdown" }) The above is what userspace expects to see, and tools do not need to be modified to parse them. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Cc: Guilherme Cox <cox@xxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 889204278ccf98c5c097b1d1ae69babc6a3222fd Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Apr 1 14:57:27 2015 -0400 tracing: Update trace-event-sample with TRACE_SYSTEM_VAR documentation Add documentation about TRACE_SYSTEM needing to be alpha-numeric or with underscores, and that if it is not, then the use of TRACE_SYSTEM_VAR is required to make something that is. An example of this is shown in samples/trace_events/trace-events-sample.h Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit acd388fd3af350ab24c6ab6f19b83fc4a4f3aa60 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 31 14:37:12 2015 -0400 tracing: Give system name a pointer Normally the compiler will use the same pointer for a string throughout the file. But there's no guarantee of that happening. Later changes will require that all events have the same pointer to the system string. Name the system string and have all events point to it. Testing this, it did not increases the size of the text, except for the notes section, which should not harm the real size any. Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 6e9dd8ddbdbb3b7aeba7fd9b987579534cfc260b Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Apr 7 12:08:37 2015 -0400 brcmsmac: Move each system tracepoints to their own header Every tracing file must have its own TRACE_SYSTEM defined. The brcmsmac tracepoint header broke this and added in the middle of the file: #undef TRACE_SYSTEM #define TRACE_SYSTEM brcmsmac #undef TRACE_SYSTEM #define TRACE_SYSTEM brcmsmac_tx #undef TRACE_SYSTEM #define TRACE_SYSTEM brcmsmac_msg Unfortunately, this broke new code in the ftrace infrastructure. Moving each of these TRACE_SYSTEMs into their own trace file with just one TRACE_SYSTEM per file fixes the issue. Link: http://lkml.kernel.org/r/5524D99C.1050902@xxxxxxxxxxxx Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit c5ef935d01a29211551073f2620c93ba5ca897c4 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Apr 7 11:25:14 2015 -0400 iwlwifi: Move each system tracepoints to their own header Every tracing file must have its own TRACE_SYSTEM defined. The iwlwifi tracepoint header broke this and added in the middle of the file: #undef TRACE_SYSTEM #define TRACE_SYSTEM iwlwifi_io #undef TRACE_SYSTEM #define TRACE_SYSTEM iwlwifi_ucode #undef TRACE_SYSTEM #define TRACE_SYSTEM iwlwifi_msg #undef TRACE_SYSTEM #define TRACE_SYSTEM iwlwifi_data #undef TRACE_SYSTEM #define TRACE_SYSTEM iwlwifi Unfortunately, this broke new code in the ftrace infrastructure. Moving each of these TRACE_SYSTEMs into their own trace file with just one TRACE_SYSTEM per file fixes the issue. Link: http://lkml.kernel.org/r/1428479094.2809.3.camel@xxxxxxxxxxxxxxxx Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 177b0381c5e39180b237284231a02fa783a3af3b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 15:11:16 2015 +0200 gpio: split GPIO drivers in submenus Create Kconfig submenus for memory mapped, I2C, MFD, PCI, SPI and USB GPIO drivers to help navigate the forest of drivers in this subsystem. The I2C, SPI and USB menus get dependencies so we don't have to see them unless we have the required subsystem enabled in the first place. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit be9cab5bed454acfb253fe703682bc05ed370e99 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 14:51:23 2015 +0200 gpio: move MFD GPIO drivers under their own comment Get rid of AC97, MODULbus and other weird subheadings for GPIO drivers. Move all MFD drivers out of I2C etc and in under the MFD comment. This is too weird as it is and makes no sense, if the dependent parent driver is MFD, group these as MFD GPIO drivers. Alphabetize and move this comment group inbetween "I2C" and "PCI" to also have the groups in alphabetic order. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2c5e8c52c6354f77c4019357be8231bcc34456f8 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Apr 7 11:09:54 2015 +0200 perf tools: Merge all perf_event_attr print functions Currently there's 3 (that I found) different and incomplete implementations of printing perf_event_attr. This is quite silly. Merge the lot. While this patch does not retain the exact form all printing that I found is debug output and thus it should not be critical. Also, I cannot find a single print_event_desc() caller. Pre: $ perf record -vv -e cycles -- sleep 1 ------------------------------------------------------------ perf_event_attr: type 0 size 104 config 0 sample_period 4000 sample_freq 4000 sample_type 0x107 read_format 0 disabled 1 inherit 1 pinned 0 exclusive 0 exclude_user 0 exclude_kernel 0 exclude_hv 0 exclude_idle 0 mmap 1 comm 1 mmap2 1 comm_exec 1 freq 1 inherit_stat 0 enable_on_exec 1 task 1 watermark 0 precise_ip 0 mmap_data 0 sample_id_all 1 exclude_host 0 exclude_guest 1 excl.callchain_kern 0 excl.callchain_user 0 wakeup_events 0 wakeup_watermark 0 bp_type 0 bp_addr 0 config1 0 bp_len 0 config2 0 branch_sample_type 0 sample_regs_user 0 sample_stack_user 0 sample_regs_intr 0 ------------------------------------------------------------ $ perf evlist -vv cycles: sample_freq=4000, size: 104, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, mmap2: 1, comm: 1, comm_exec: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1 Post: $ ./perf record -vv -e cycles -- sleep 1 ------------------------------------------------------------ perf_event_attr: size 112 { sample_period, sample_freq } 4000 sample_type IP|TID|TIME|PERIOD disabled 1 inherit 1 mmap 1 comm 1 freq 1 enable_on_exec 1 task 1 sample_id_all 1 exclude_guest 1 mmap2 1 comm_exec 1 ------------------------------------------------------------ $ ./perf evlist -vv cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150407091150.644238729@xxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 814c8c38e13c7050259c72f89bb01f3fc903f642 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Mar 31 00:19:31 2015 +0200 perf record: Add clockid parameter Teach perf-record about the new perf_event_attr::{use_clockid, clockid} fields. Add a simple parameter to set the clock (if any) to be used for the events to be recorded into the data file. Since we store the entire perf_event_attr in the EVENT_DESC section we also already store the used clockid in the data file. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Yunlong Song <yunlong.song@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150407154851.GR23123@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ Conditionally define CLOCK_BOOTTIME, at least rhel6 doesn't have it - dsahern Ditto for CLOCK_MONOTONIC_RAW, sles11sp2 doesn't have it - yunlong.song ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ea948cff41999cdf891e955cf08a8f918e3a1546 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 14:36:17 2015 +0200 gpio: move BCM Kona Kconfig option Move the Kconfig option for the Broadcom BCM Kona up to the commin GPIO controllers, as it is currently grouped under MODULbus expanders which it definately is not. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a7ec2e7f150c193f3ea6ffd6bf7b6cedfbdc7a25 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 14:34:51 2015 +0200 gpio: arrange SPI Kconfig symbols alphabetically Rearrange the SPI GPIO expanders in alphabetic order as already indicated by the comment in the file. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 92c33ef7ef1ed232199ffaeecbe65b7b6fab2302 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 14:30:37 2015 +0200 gpio: arrange PCI GPIO controllers alphabetically Rearrange PCI GPIO controllers in alphabetic order as already indicated by the comment in the file. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bf5a16bae51808d1748508f122bacd858bad2837 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 14:14:40 2015 +0200 gpio: arrange I2C Kconfig symbols alphabetically Rearrange the I2C GPIO expanders in alphabetic order as already indicated by the comment in the file. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ff5f3bbd40bfb8632f826f1f83223d95363f36af Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:36 2015 +0800 perf sched replay: Use replay_repeat to calculate the runavg of cpu usage instead of the default value 10 Since sched->replay_repeat is set to 10 as default, the sched->run_avg, sched->runavg_cpu_usage, and sched->runavg_parent_cpu_usage all use 10 to calculate their value. However, the replay_repeat can be changed to other value by using -r option, so the calculation above should use replay_repeat to achieve more accurate results instead of the default value 10. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-10-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f0dd330fdf07d295ac468660cf60341796d5d501 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:35 2015 +0800 perf sched replay: Support using -f to override perf.data file ownership Enable to use perf.data when it is not owned by current user or root. Example: $ ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 5321918 Mar 25 15:14 perf.data $ sudo id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: $ sudo perf sched replay -f run measurement overhead: 98 nsecs sleep measurement overhead: 52909 nsecs the run test took 1000015 nsecs the sleep test took 1054253 nsecs File perf.data not owned by current user or root (use -f to override) As shown above, the -f option does not work at all. After this patch: $ sudo perf sched replay -f run measurement overhead: 221 nsecs sleep measurement overhead: 40514 nsecs the run test took 1000003 nsecs the sleep test took 1056098 nsecs nr_run_events: 10 nr_sleep_events: 1562 nr_wakeup_events: 5 task 0 ( :1: 1), nr_events: 1 task 1 ( :2: 2), nr_events: 1 task 2 ( :3: 3), nr_events: 1 ... ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 ------------------------------------------------------------ #1 : 50.198, ravg: 50.20, cpu: 2335.18 / 2335.18 #2 : 219.099, ravg: 67.09, cpu: 2835.11 / 2385.17 #3 : 238.626, ravg: 84.24, cpu: 3278.26 / 2474.48 #4 : 200.364, ravg: 95.85, cpu: 2977.41 / 2524.77 #5 : 176.882, ravg: 103.96, cpu: 2801.35 / 2552.43 #6 : 191.093, ravg: 112.67, cpu: 2813.70 / 2578.56 #7 : 189.448, ravg: 120.35, cpu: 2809.21 / 2601.62 #8 : 200.637, ravg: 128.38, cpu: 2849.91 / 2626.45 #9 : 248.338, ravg: 140.37, cpu: 4380.61 / 2801.87 #10 : 511.139, ravg: 177.45, cpu: 3077.73 / 2829.45 As shown above, the -f option really works now. Besides for replay, -f option can also work for latency and map. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-9-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 939cda521a24ae4dbf3beec983abd519bce56231 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:34 2015 +0800 perf sched replay: Fix the EMFILE error caused by the limitation of the maximum open files The soft maximum number of open files for a calling process is 1024, which is defined as INR_OPEN_CUR in include/uapi/linux/fs.h, and the hard maximum number of open files for a calling process is 4096, which is defined as INR_OPEN_MAX in include/uapi/linux/fs.h. Both INR_OPEN_CUR and INR_OPEN_MAX are used to limit the value of RLIMIT_NOFILE in include/asm-generic/resource.h. And the soft maximum number finally decides the limitation of the maximum files which are allowed to be opened. That is to say a process can use at most 1024 file descriptors for its o pened files, or an EMFILE error will happen. This error can be fixed by increasing the soft maximum number, under the constraint that the soft maximum number can not exceed the hard maximum number, or both soft and hard maximum number should be increased simultaneously with privilege. For perf sched replay, it uses sys_perf_event_open to create the file descriptor for each of the tasks in order to handle information of perf events. That is to say each task needs a unique file descriptor. In x86_64, there may be over 1024 or 4096 tasks correspoinding to the record in perf.data, which causes that no enough file descriptors can be used. As a result, EMFILE error happens and stops the replay process. To solve this problem, we adaptively increase the soft and hard maximum number of open files with a '-f' option. Example: Test environment: x86_64 with 160 cores $ cat /proc/sys/kernel/pid_max 163840 $ cat /proc/sys/fs/file-max 6815744 $ ulimit -Sn 1024 $ ulimit -Hn 4096 Before this patch: $ perf sched replay ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 Error: sys_perf_event_open() syscall returned with -1 (Too many open files) After this patch: $ perf sched replay ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 Error: sys_perf_event_open() syscall returned with -1 (Too many open files) Have a try with -f option $ perf sched replay -f ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 ------------------------------------------------------------ #1 : 54.401, ravg: 54.40, cpu: 3285.21 / 3285.21 #2 : 199.548, ravg: 68.92, cpu: 4999.65 / 3456.66 #3 : 170.483, ravg: 79.07, cpu: 1349.94 / 3245.99 #4 : 192.034, ravg: 90.37, cpu: 1322.88 / 3053.67 #5 : 182.929, ravg: 99.62, cpu: 1406.51 / 2888.96 #6 : 152.974, ravg: 104.96, cpu: 1167.54 / 2716.82 #7 : 155.579, ravg: 110.02, cpu: 2992.53 / 2744.39 #8 : 130.557, ravg: 112.08, cpu: 1126.43 / 2582.59 #9 : 138.520, ravg: 114.72, cpu: 1253.22 / 2449.65 #10 : 134.328, ravg: 116.68, cpu: 1587.95 / 2363.48 Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-8-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1aff59be53ef37aa9943fb5f772f03148f789bb6 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:33 2015 +0800 perf sched replay: Handle the dead halt of sem_wait when create_tasks() fails for any task Since there is sem_wait for each task in the wait_for_tasks(), e.g. sem_wait(&task->work_done_sem). The sem_wait can continue only when work_done_sem is greater than 0, or it will be blocked. For perf sched replay, one task may sem_post the work_done_sem of another task, which causes the work_done_sem of that task processed in a reasonable sequence, e.g. sem_post, sem_wait, sem_wait, sem_post... This sequence simulates the sched process of the running tasks at the time when perf sched record runs. As a result, all the tasks are required and their threads must be successfully created. If any one (task A) of the tasks fails to create its thread, then another task (task B), whose work_done_sem needs sem_post from that failed task A, may likely block itself due to seg_wait. And this is a dead halt, since task B's thread_func cannot continue at all. To solve this problem, perf sched replay should exit once any task fails to create its thread. Example: Test environment: x86_64 with 160 cores Before this patch: $ perf sched replay ... Error: sys_perf_event_open() syscall returned with -1 (Too many open files) ------------------------------------------------------------ <- dead halt After this patch: $ perf sched replay ... task 1551 ( <unknown>: 0), nr_events: 10 Error: sys_perf_event_open() syscall returned with -1 (Too many open files) $ As shown above, perf sched replay finishes the process after printing an error message and does not block itself. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-7-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 08097abc11bcee21355dd857852a807b2a30b79f Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:32 2015 +0800 perf sched replay: Fix the segmentation fault problem caused by pr_err in threads The pr_err in self_open_counters() prints error message to stderr. Unlike stdout, stderr uses memory buffer on the stack of each calling process. The pr_err in self_open_counters() works in a thread called thread_func created in function create_tasks, which concurrently creates sched->nr_tasks threads. If the error happens and pr_err prints the error message in each of these threads, the stack size of the perf process (default is 8192 kbytes) will quickly run out and the segmentation fault will happen then. To solve this problem, pr_err with self_open_counters() should be moved from newly created threads to the old main thread of the perf process. Then the pr_err can work in a stable situation without the strange segmentation fault problem. Example: Test environment: x86_64 with 160 cores Before this patch: $ perf sched replay ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 Segmentation fault After this patch: $ perf sched replay ... task 1549 ( :163132: 163132), nr_events: 1 task 1550 ( :163540: 163540), nr_events: 1 task 1551 ( <unknown>: 0), nr_events: 10 ... As shown above, the result continues without any segmentation fault. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-6-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3a423a5c36d1a28a258beaa7db855568b82d07ab Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:31 2015 +0800 perf sched replay: Realloc the memory of pid_to_task stepwise to adapt to the different pid_max configurations Although the memory of pid_to_task can be allocated via calloc according to the value of /proc/sys/kernel/pid_max, it cannot handle the case when pid_max is changed after 'perf sched record' has created its perf.data. If the new pid_max configured in 'perf sched replay' is smaller than the old pid_max configured in 'perf sched record', then it will cause the assertion failure problem. To solve this problem, we realloc the memory of pid_to_task stepwise once the passed-in pid parameter in register_pid is larger than the current pid_max. Example: Test environment: x86_64 with 160 cores $ cat /proc/sys/kernel/pid_max 163840 $ perf sched record ls $ echo 5000 > /proc/sys/kernel/pid_max $ cat /proc/sys/kernel/pid_max 5000 Before this patch: $ perf sched replay run measurement overhead: 221 nsecs sleep measurement overhead: 55356 nsecs the run test took 1000011 nsecs the sleep test took 1060940 nsecs perf: builtin-sched.c:337: register_pid: Assertion `!(pid >= (unsigned long)pid_max)' failed. Aborted After this patch: $ perf sched replay run measurement overhead: 221 nsecs sleep measurement overhead: 55611 nsecs the run test took 1000026 nsecs the sleep test took 1060486 nsecs nr_run_events: 10 nr_sleep_events: 1562 nr_wakeup_events: 5 task 0 ( :1: 1), nr_events: 1 task 1 ( :2: 2), nr_events: 1 task 2 ( :3: 3), nr_events: 1 task 3 ( :5: 5), nr_events: 1 ... Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-5-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb06ac256a16fc1a5ab063107c2b35b3b9e95102 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:30 2015 +0800 perf sched replay: Alloc the memory of pid_to_task dynamically to adapt to the unexpected change of pid_max The current memory allocation of struct task_desc *pid_to_task[MAX_PID] is in a permanent and preset way, and it has two problems: Problem 1: If the pid_max, which is the max number of pids in the system, is much smaller than MAX_PID (1024*1000), then it causes a waste of stack memory. This may happen in the case where the number of cpu cores is much smaller than 1000. Problem 2: If the pid_max is changed from the default value to a value larger than MAX_PID, then it will cause assertion failure problem. The maximum value of pid_max can be set to pid_max_max (see pidmap_init defined in kernel/pid.c), which equals to PID_MAX_LIMIT. In x86_64, PID_MAX_LIMIT is 4*1024*1024 (defined in include/linux/threads.h). This value is much larger than MAX_PID, and will take up 32768 Kbytes (4*1024*1024*8/1024) for memory allocation of pid_to_task, which is much larger than the default 8192 Kbytes of the stack size of calling process. Due to these two problems, we use calloc to allocate the memory of pid_to_task dynamically. Example: Test environment: x86_64 with 160 cores $ cat /proc/sys/kernel/pid_max 163840 $ echo 1025000 > /proc/sys/kernel/pid_max $ cat /proc/sys/kernel/pid_max 1025000 Run some applications until the pid of some process is greater than the value of MAX_PID (1024*1000). Before this patch: $ perf sched replay run measurement overhead: 221 nsecs sleep measurement overhead: 55480 nsecs the run test took 1000008 nsecs the sleep test took 1063151 nsecs perf: builtin-sched.c:330: register_pid: Assertion `!(pid >= 1024000)' failed. Aborted After this patch: $ perf sched replay run measurement overhead: 221 nsecs sleep measurement overhead: 55435 nsecs the run test took 1000004 nsecs the sleep test took 1059312 nsecs nr_run_events: 10 nr_sleep_events: 1562 nr_wakeup_events: 5 task 0 ( :1: 1), nr_events: 1 task 1 ( :2: 2), nr_events: 1 task 2 ( :3: 3), nr_events: 1 task 3 ( :5: 5), nr_events: 1 ... Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-4-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a35e27d0e5d801ff75481a8f639bb4d59ea1aafa Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:29 2015 +0800 perf sched replay: Increase the MAX_PID value to fix assertion failure problem Current MAX_PID is only 65536, which will cause assertion failure problem when CPU cores are more than 64 in x86_64. This is because the pid_max value in x86_64 is at least PIDS_PER_CPU_DEFAULT * num_possible_cpus() (see function pidmap_init defined in kernel/pid.c), where PIDS_PER_CPU_DEFAULT is 1024 (defined in include/linux/threads.h). Thus for MAX_PID = 65536, the correspoinding CPU cores are 65536/1024=64. This is obviously not enough at all for x86_64, and will cause an assertion failure problem due to BUG_ON(pid >= MAX_PID) in the codes. We increase MAX_PID value from 65536 to 1024*1000, which can be used in x86_64 with 1000 cores. This number is finally decided according to the limitation of stack size of calling process. Use 'ulimit -a', the result shows the stack size of any process is 8192 Kbytes, which is defined in include/uapi/linux/resource.h (#define _STK_LIM (8*1024*1024)). Thus we choose a large enough value for MAX_PID, and make it satisfy to the limitation of the stack size, i.e., making the perf process take up a memory space just smaller than 8192 Kbytes. We have calculated and tested that 1024*1000 is OK for MAX_PID. This means perf sched replay can now be used with at most 1000 cores in x86_64 without any assertion failure problem. Example: Test environment: x86_64 with 160 cores $ cat /proc/sys/kernel/pid_max 163840 Before this patch: $ perf sched replay run measurement overhead: 240 nsecs sleep measurement overhead: 55379 nsecs the run test took 1000004 nsecs the sleep test took 1059424 nsecs perf: builtin-sched.c:330: register_pid: Assertion `!(pid >= 65536)' failed. Aborted After this patch: $ perf sched replay run measurement overhead: 221 nsecs sleep measurement overhead: 55397 nsecs the run test took 999920 nsecs the sleep test took 1053313 nsecs nr_run_events: 10 nr_sleep_events: 1562 nr_wakeup_events: 5 task 0 ( :1: 1), nr_events: 1 task 1 ( :2: 2), nr_events: 1 task 2 ( :3: 3), nr_events: 1 task 3 ( :5: 5), nr_events: 1 ... Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0755bc4dc77a876aa60d4b3d33b5f6506f21f91b Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Tue Mar 31 21:46:28 2015 +0800 perf sched replay: Use struct task_desc instead of struct task_task for correct meaning There is no struct task_task at all, thus it is a typo error in the old commits, now fix it to what it should be in order to avoid unnecessary misunderstanding. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427809596-29559-2-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 28939e1a1f6d198239d86b1d77fa9fd55773189a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Apr 6 14:36:08 2015 +0900 perf kmem: Respect -i option Currently the perf kmem does not respect -i option. Initializing the file.path properly after options get parsed. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1428298576-9785-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3201f0dc42f7fad9387afc4692cea3d0c730cba2 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Apr 6 14:36:16 2015 +0900 tools lib traceevent: Honor operator priority Currently it ignores operator priority and just sets processed args as a right operand. But it could result in priority inversion in case that the right operand is also a operator arg and its priority is lower. For example, following print format is from new kmem events. "page=%p", REC->pfn != -1UL ? (((struct page *)(0xffffea0000000000UL)) + (REC->pfn)) : ((void *)0) But this was treated as below: REC->pfn != ((null - 1UL) ? ((struct page *)0xffffea0000000000UL + REC->pfn) : (void *) 0) In this case, the right arg was '?' operator which has lower priority. But it just sets the whole arg so making the output confusing - page was always 0 or 1 since that's the result of logical operation. With this patch, it can handle it properly like following: ((REC->pfn != (null - 1UL)) ? ((struct page *)0xffffea0000000000UL + REC->pfn) : (void *) 0) Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1428298576-9785-10-git-send-email-namhyung@xxxxxxxxxx [ Replaced 'swap' with 'rotate' in a comment as requested by Steve and agreed by Namhyung ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba92732e9808df679ddf75c5ea1c0caae6d7dce2 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Apr 7 08:22:45 2015 +0000 perf kmaps: Check kmaps to make code more robust This patch add checks in places where map__kmap is used to get kmaps from struct kmap. Error messages are added at map__kmap to warn invalid accessing of kmap (for the case of !map->dso->kernel, kmap(map) does not exists at all). Also, introduces map__kmaps() to warn uninitialized kmaps. Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428394966-131044-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8ea92ceb748535799e3e9f35afb85bdc23bf6d7c Author: He Kuang <hekuang@xxxxxxxxxx> Date: Tue Apr 7 17:31:10 2015 +0800 perf evlist: Fix inverted logic in perf_mmap__empty perf_evlist__mmap_consume() uses perf_mmap__empty() to judge whether perf_mmap is empty and can be released. But the result is inverted so fix it. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1428399071-7141-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 664c715573c2c116c2d8f5de7d59ce85a98a1751 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Apr 8 11:43:14 2015 +0200 ALSA: hda - Work around races of power up/down with runtime PM Currently, snd_hdac_power_up()/down() helpers checks whether the codec is being in pm (suspend/resume), and skips the call of runtime get/put during it. This is needed as there are lots of power up/down sequences called in the paths that are also used in the PM itself. An example is found in hda_codec.c::codec_exec_verb(), where this can power up the codec while it may be called again in its power up sequence, too. The above works in most cases, but sometimes we really want to wait for the real power up. For example, the control element get/put may want explicit power up so that the value change is assured to reach to the hardware. Using the current snd_hdac_power_up(), however, results in a race, e.g. when it's called during the runtime suspend is being performed. In the worst case, as found in patch_ca0132.c, it can even lead to the deadlock because the code assumes the power up while it was skipped due to the check above. For dealing with such cases, this patch makes snd_hdac_power_up() and _down() to two variants: with and without in_pm flag check. The version with pm flag check is named as snd_hdac_power_up_pm() while the version without pm flag check is still kept as snd_hdac_power_up(). (Just because the usage of the former is fewer.) Then finally, the patch replaces each call potentially done in PM with the new _pm() variant. In theory, we can implement a unified version -- if we can distinguish the current context whether it's in the pm path. But such an implementation is cumbersome, so leave the code like this a bit messy way for now... Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=96271 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 67a260f1eb5020888b157794007b4bdabdd85898 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Feb 12 19:11:47 2015 -0300 [media] dib0700: remove unused macros Remove unused macros RC_REPEAT_DELAY and RC_REPEAT_DELAY_V1_20 Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ce8ae17c5d86db92cecd8291ad6a137dc19031ad Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Apr 6 16:34:00 2015 -0700 regulator: qcom: Tidy up probe() Tidy up error reporting and move rpm reference retrieval out of the for loop for improved readability. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 087a1b5cdd555970feb8a340dc008b6914f05128 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Apr 6 16:33:59 2015 -0700 regulator: qcom: Rework to single platform device Modeling the individual RPM resources as platform devices consumes at least 12-15kb of RAM, just to hold the platform_device structs. Rework this to instead have one device per pmic exposed by the RPM. With this representation we can more accurately define the input pins on the pmic and have the supply description match the data sheet. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 469a951446460da843028014a90100428ff6e0c1 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Apr 6 16:33:58 2015 -0700 regulator: qcom: Refactor of-parsing code Refactor out all custom property parsing code from the probe function into a function suitable for regulator_desc->of_parse_cb usage. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d1e4d629a484b725d5fc88d7e0f967435ab6edd Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Apr 6 16:33:57 2015 -0700 regulator: qcom: Don't enable DRMS in driver The driver itself should not flag regulators as being DRMS compatible, this should come from board or dt files. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ec73b9fdc7c4fe3da8937a8e7b6a03a1e002d6ac Author: Christian Engelmayer <cengelma@xxxxxx> Date: Wed Feb 11 17:58:23 2015 -0300 [media] si2165: Fix possible leak in si2165_upload_firmware() In case of an error function si2165_upload_firmware() releases the already requested firmware in the exit path. However, there is one deviation where the function directly returns. Use the correct cleanup so that the firmware memory gets freed correctly. Detected by Coverity CID 1269120. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Reviewed-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1cba0c305758c3c1786ecaceb03e142c95a4edc9 Author: Michal Marek <mmarek@xxxxxxx> Date: Wed Apr 8 11:11:57 2015 +0200 kconfig: Simplify Makefile Use a single rule for targets handled directly by the conf program. Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit dfb85ba1140ab649f6f0bf3e502ac37c0f69dbcb Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Tue Apr 7 23:06:46 2015 +0100 regulator: max8660: fix assignment of pdata to data that becomes dead pdata is assigned to &pdata_of, however, pdata_of becomes dead (when it goes out of scope) so pdata effectively becomes a dead pointer to the out of scope object. This is detected by static analysis: [drivers/regulator/max8660.c:411]: (error) Dead pointer usage. Pointer 'pdata' is dead if it has been assigned '&pdata_of' at line 404. Move declaration of pdata_of so it is always in scope. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 51b5b3d6c96ee244c51ec57265fc3c5ae5897610 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Thu Feb 5 07:09:10 2015 -0300 [media] s5k5baf: Add missing error check for devm_kzalloc This patch add a missing a check on the return value of devm_kzalloc, which would cause a NULL pointer dereference in a OOM situation. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Acked-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ed1c328ea077d70e1ebcd5188dc77cdc754df3a Author: KyongHo Cho <pullip.cho@xxxxxxxxxxx> Date: Thu Feb 5 02:52:42 2015 -0300 [media] v4l: vb2-memops: use vma slab when vma allocation The slab for vm_area_struct which is vm_area_cachep is already prepared for the general use. Instead of kmalloc() for the vma copy for userptr, allocation from vm_area_cachep is more beneficial. CC: Hans Verkuil <hans.verkuil@xxxxxxxxx> CC: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Cho KyongHo <pullip.cho@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cc4e8c3dc95369c08615a4151bce8506b00356d9 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Wed Feb 4 13:48:14 2015 -0300 [media] rc: img-ir: Add and enable sys clock for img-ir Gets a handle to the system clock, already described in the binding document, and calls the appropriate common clock framework functions to mark it prepared/enabled, the common clock framework initially enables the clock and doesn't disable it at least until the device/driver is removed. It's important the systen clock is enabled before register interface is accessed by the driver. The system clock to IR is needed for the driver to communicate with the IR hardware via MMIO accesses on the system bus, so it must not be disabled during use or the driver will malfunction. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a2bbf5d05918a3156e9854a7144a8b2806badb53 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 12:47:48 2015 -0300 [media] DVB: Less function calls in dvb_ca_en50221_init() after error detection The functions "dvb_unregister_device" and "kfree" could still be called by the dvb_ca_en50221_init() function in the case that a previous resource allocation failed. * Corresponding details could be improved by adjustments for jump targets. * Let us delete also an unnecessary check for the variable "ca" there. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 07d0e554b5d10522b4cd6448108c0ad16403fea6 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 12:01:40 2015 -0300 [media] DVB: Delete an unnecessary check before the function call "dvb_unregister_device" The dvb_unregister_device() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e68c2fe64c52c33e55f2d259d41a956a9e1f2a83 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Feb 4 10:42:12 2015 -0300 [media] dvb-usb: fix spaces after commas Fixing a few checkpatch errors of type: space required after that ',' Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5164d6aac0ed1b711a7b29bb556844e40f422ec6 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 11:27:38 2015 -0300 [media] V4L2: Delete an unnecessary check before the function call "media_entity_put" The media_entity_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0ea4bce7c09e29dc0a1891f6c7ba17794ec5f2b1 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 11:05:26 2015 -0300 [media] sp2: Delete an unnecessary check before the function call "kfree" The kfree() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ede8342bf63166e8d8fc3c05fc0985b27cc8186b Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Mon Apr 6 14:29:06 2015 -0700 spi: img-spfi: Setup TRANSACTION register before CONTROL register Setting the transfer length in the TRANSACTION register after the CONTROL register is programmed causes intermittent timeout issues in SPFI transfers when using the SPI framework to control the CS GPIO lines. To avoid this issue, set transfer length before programming the CONTROL register. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e64aedf80ae14b852abc0d7ca262530b69e9a18 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Tue Apr 7 20:14:59 2015 +0800 ASoC: Intel: Fix a buffer overflow issue 0day robot reported a buffer overflow issue: ... sound/soc/intel/haswell/sst-haswell-pcm.c:1107 hsw_pcm_probe() error: buffer\ overflow 'hsw_dais' 4 <= 4 sound/soc/intel/haswell/sst-haswell-pcm.c:1109 hsw_pcm_probe() error: buffer\ overflow 'hsw_dais' 4 <= 4 ... Fix it by initializing the index(i) to correct value. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 275350a0467ef50c3d9a820fe7a45a9c01a69d18 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Mon Jan 12 16:10:02 2015 -0300 [media] r820t: enable flt_ext_wide for SYS_DVBC_ANNEX_A standard Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d03b550910e6ad99a56b0d3a17163df13810e816 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Mon Jan 12 16:10:03 2015 -0300 [media] r820t: add settings for SYS_DVBC_ANNEX_C standard Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5c5179b9a8ab8e3255f78e233d94ea54f23f832 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Mar 31 12:41:55 2015 +0200 mmc: core: Convert the error field in struct mmc_command|data into an int Everybody expects the error field in the struct mmc_command|data to be and int but it's actually an unsigned int. Let's convert it into an int to meet the expectations. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 16b23787fc709fe60c5d2bd05927b1a3da33d4e9 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Tue Apr 7 07:57:32 2015 +0200 mmc: sdhci-of-arasan: Call OF parsing for MMC Also check MMC OF properties. The controller supports MMC too. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e30b978f17446d10dcb92c6979b4da9991a18005 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Tue Apr 7 11:32:01 2015 +0800 mmc: sdhci-pci: fix 64 BIT DMA quirks for rtsx rts5250 chip failed handle 64 bit ADMA for address below 4G. Add 64 BIT quirks to disable this feature. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 021cd2d21b5d68d6e7c1edb468e990e1c0caf6fb Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Fri Dec 5 21:25:33 2014 -0300 [media] mn88472: add ts mode and ts clock to driver Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d8da7513bcf9834abbb1963f909f96a9f513dd65 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:11 2015 -0300 [media] uvc: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d4352f3639d780f1727c26708cb511a3e3702226 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:06 2015 -0300 [media] em28xx: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 23fb4c5ea11814f48249ea3ab9f3ddb4dff77be1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:02 2015 -0300 [media] bttv: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 34080bc25fa04e07691e853cd516c431b67be5f4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:00 2015 -0300 [media] cx88: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 55cda4ab5386418b31e626e91bbf4eedf209b9bb Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Apr 2 08:34:31 2015 -0300 [media] cx18: replace cropping ioctls by selection ioctls Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3a29a4f177e99af0d80b5c4396a7aa1e9418742c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Apr 2 08:34:30 2015 -0300 [media] cx18: fix VIDIOC_ENUMINPUT: wrong std value The std field of v4l2_input is always V4L2_STD_ALL. For tuner inputs this should be cx->tuner_std. This fixes a v4l2-compliance failure. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 142267c9e026827ca5fa622f1f13780b6db26cf8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Apr 8 11:41:59 2015 +0200 ALSA: hda - Create AFG sysfs node at last ... so that user-space can know that the whole nodes have been created. Unfortunately, this can't be implemented easily in race-free way, so it's a kind of compromise. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eaa80c44d69a790feab29ccb07ced5ac38e98e4d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Apr 2 08:34:29 2015 -0300 [media] cx18: add support for control events v4l2-compliance failed due to missing control event support in cx18. Add this to the driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b36ae8532f48916d46f92c048d4866ee50e5fc67 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Mar 26 17:47:53 2015 -0300 [media] media: radio-si4713: improve usage of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify accordingly. Moreover use the _optional variant which has tighter error checking, but is simpler to use which allows further simplification. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4a203349593a636bff46c49be3f955e0a0c0b0d2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 20 14:05:06 2015 -0300 [media] vivid: use V4L2_DV_FL_IS_CE_VIDEO instead of V4L2_DV_BT_STD_CEA861 Don't rely on V4L2_DV_BT_STD_CEA861 since that include the 640x480p format, which is an IT format, not CE. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 680fee04a227d60dca5850e55597a09d15b92eb3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 20 14:05:05 2015 -0300 [media] adv: use V4L2_DV_FL_IS_CE_VIDEO instead of V4L2_DV_BT_STD_CEA861 Don't rely on V4L2_DV_BT_STD_CEA861 since that include the 640x480p format, which is an IT format, not CE. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Martin Bugge <marbugge@xxxxxxxxx> Cc: Mats Randgaard <mats.randgaard@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8b44b4e513a8da1d68759897445431b5d2e99d91 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 20 14:05:04 2015 -0300 [media] DocBook media: document the new V4L2_DV_FL_IS_CE_VIDEO flag Document this new flag. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Martin Bugge <marbugge@xxxxxxxxx> Cc: Mats Randgaard <mats.randgaard@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e1e62b98ebddc3234f3259019d3236f66fc667f8 Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Wed Apr 8 16:01:22 2015 +0800 ALSA: hda/realtek - Support Dell headset mode for ALC288 Dell create new platform with ALC288 codec. This patch will enable headset mode for Dino platform. [slight code refactoring and compile fix by tiwai] Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 74d802d8888667fce5d943f6e415d04418c2ee29 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Apr 3 06:27:02 2015 -0300 [media] v4l2-dv-timings: log new V4L2_DV_FL_IS_CE_VIDEO flag Add support for the new flag to v4l2_print_dv_timings(). Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ce65d1f874ddc109780fc781bb3b099bff82001 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 20 14:05:03 2015 -0300 [media] videodev2.h/v4l2-dv-timings.h: add V4L2_DV_FL_IS_CE_VIDEO flag In the past the V4L2_DV_BT_STD_CEA861 standard bit was used to determine whether the format is a CE (Consumer Electronics) format or not. However, the 640x480p59.94 format is part of the CEA-861 standard, but it is *not* a CE video format. Add a new flag to make this explicit. This information is needed in order to determine the default R'G'B' encoding for the format: for CE video this is limited range (16-235) instead of full range (0-255). The header with all the timings has been updated with this new flag. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Martin Bugge <marbugge@xxxxxxxxx> Cc: Mats Randgaard <mats.randgaard@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit acd2b672b45e557829c1f080e46457586aab9d74 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Mar 20 11:13:14 2015 -0300 [media] media/Documentation: New flag EXECUTE_ON_WRITE Document new flag V4L2_CTRL_FLAG_EXECUTE_ON_WRITE, and the new behavior of CH_VALUE event on VOLATILE controls. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 45f014c5264f5e68ef0e51b36f4ef5ede3d18397 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Mar 20 10:55:37 2015 -0300 [media] media/v4l2-ctrls: Always execute EXECUTE_ON_WRITE ctrls Any control with V4L2_CTRL_FLAG_EXECUTE_ON_WRITE set should return changed == true in cluster_changed. This forces the value to be passed to the driver even if it has not changed. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ef66c0ca09595d72f058b11bd7b542b0d95a1350 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Mar 20 11:21:28 2015 -0300 [media] media/v4l2-ctrls: Add execute flags to write_only controls Any control that sets FLAG_WRITE_ONLY should OR it with FLAG_EXECUTE_ON_WRITE. So we can keep the current meaning of WRITE_ONLY. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b6e5b8f1a90230f922de8af59cdaf1ad83e1ac1e Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Mar 20 10:45:43 2015 -0300 [media] media: New flag V4L2_CTRL_FLAG_EXECUTE_ON_WRITE Create a new flag that represent controls which its value needs to be passed to the driver even if it has not changed. They typically represent actions, like triggering a flash or clearing an error flag. So writing to such a control means some action is executed. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b08d8d26f4520187e09191f0c45374383b5a74eb Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Mar 20 10:30:46 2015 -0300 [media] media/v4l2-ctrls: volatiles should not generate CH_VALUE Volatile controls should not generate CH_VALUE events. Set has_changed to false to prevent this happening. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5190931d1d992fadc6ad9cc53b630783cf8e39c5 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Sat Mar 21 09:29:14 2015 -0300 [media] vivid: add support to set CVT, GTF timings In addition to v4l2_find_dv_timings_cap(), where timings are searched against the list of preset timings, the incoming timing from v4l2-ctl is checked against CVT and GTF standards. If it confirms to be CVT or GTF, it is treated as valid timing and vivid format is updated with new timings. Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 29103668e9be0aa28e3c893b398cb69978b920ad Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Fri Mar 20 03:41:45 2015 -0300 [media] vivid: add CVT,GTF standards to vivid dv timings caps Currently vivid supports V4L2_DV_BT_STD_DMT and V4L2_DV_BT_STD_CEA861 discrete video standards. Extending the capability set to allow for setting CVT and GTF standards. This change, along with adding the support for calculating CVT, GTF timings in v4l2-ctl would extend the number of resolutions supported by vivid to almost any custom resolution. Also extending the limits on min and max pixel clock to accommodate pixel clock range provided by cvt/gtf for resolutions ranging from 640x360p50 to 4kx2Kp60. Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f3b703326541d0c1ce85f5e570f6d2b6bd4296ec Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Wed Apr 8 15:01:17 2015 +0800 ALSA: hda/realtek - Support headset mode for ALC286/288 Support headset mode for ALC286 and ALC288 platforms. Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0a599838737a2527c35e4d94f794aefe59df1781 Merge: 2d846c7 a59d719 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Apr 8 11:29:56 2015 +0200 Merge branch 'for-linus' into for-next Back merge HD-audio quirks to for-next branch, so that we can apply a couple of more quirks. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a59d7199f62b8336570972dcc288321d0ec999fe Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Wed Apr 8 16:34:00 2015 +0800 ALSA: hda/realtek - Make more stable to get pin sense for ALC283 Pin sense will active when power pin is wake up. Power pin will not wake up immediately during resume state. Add some delay to wait for power pin activated. Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d3633329e88fb33eecbc9448730e9f3125763313 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Apr 3 05:15:09 2015 -0300 [media] ov2640: add missing consumer.h include Needed for mips and sh platforms Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c2529908a1905cd8b76bed0a6039975226cb24eb Author: Florian Echtler <floe@xxxxxxxxxxxxxx> Date: Tue Mar 31 06:43:28 2015 -0300 [media] sur40: fix occasional hard freeze due to buffer queue underrun This patch fixes a kernel panic which occurs when buf_list is empty. This can happen occasionally when user space is under heavy load (e.g. due to image processing on the CPU) and new buffers aren't re-queued fast enough. In that case, vb2_start_streaming_called can return true, but when the spinlock is taken and sur40_poll attempts to fetch the next buffer from buf_list, the list is in fact empty. This patch needs to be applied on top of the queued one adding V4L2 support to the sur40 driver. Signed-off-by: Florian Echtler <floe@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit af7f388e7452e1707f862378f38a0372c6c33728 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Mar 26 10:06:21 2015 -0300 [media] cx23885: Always initialise dev->slock spinlock The slock spinlock in the cx23885_dev struct is only initialised if analogue video is being used, but is used in other places too, leading to the attached lockdep complaint. Move the lock initialisation so that it is done unconditionally. INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. CPU: 1 PID: 4413 Comm: scandvb Tainted: G W 4.0.0-rc1-fsdevel+ #25 Hardware name: System manufacturer System Product Name/P5Q PRO TURBO, BIOS 0701 10/08/2012 0000000000000000 ffff880129d779d8 ffffffff8162bbdf 0000000000000006 0000000000000000 ffff880129d77aa8 ffffffff810780e3 0000000000000001 0000000000000046 0000000000000004 ffffffff81c3f180 0000000000000000 Call Trace: [<ffffffff8162bbdf>] dump_stack+0x4c/0x65 [<ffffffff810780e3>] __lock_acquire+0x7b5/0x1a0e [<ffffffff810799ee>] lock_acquire+0x97/0x10c [<ffffffffa006494e>] ? cx23885_buf_queue+0x69/0x142 [cx23885] [<ffffffff8102e9bc>] ? amd_set_subcaches+0x19b/0x19b [<ffffffff816313b4>] _raw_spin_lock_irqsave+0x36/0x4a [<ffffffffa006494e>] ? cx23885_buf_queue+0x69/0x142 [cx23885] [<ffffffffa006494e>] cx23885_buf_queue+0x69/0x142 [cx23885] [<ffffffffa00662cb>] buffer_queue+0x17/0x19 [cx23885] [<ffffffffa00382d5>] __enqueue_in_driver+0x6a/0x6f [videobuf2_core] [<ffffffffa0038ead>] vb2_start_streaming+0x37/0x129 [videobuf2_core] [<ffffffffa003a6c0>] vb2_internal_streamon+0xc5/0x105 [videobuf2_core] [<ffffffffa003b889>] __vb2_init_fileio+0x224/0x286 [videobuf2_core] [<ffffffffa003bcc0>] ? vb2_thread_start+0x7b/0x15f [videobuf2_core] [<ffffffffa0050182>] ? vb2_dvb_start_feed+0x86/0x86 [videobuf2_dvb] [<ffffffffa003bd06>] vb2_thread_start+0xc1/0x15f [videobuf2_core] [<ffffffff8150d393>] ? dmx_section_feed_start_filtering+0x2f/0x14f [<ffffffffa0050157>] vb2_dvb_start_feed+0x5b/0x86 [videobuf2_dvb] [<ffffffff8150d461>] dmx_section_feed_start_filtering+0xfd/0x14f [<ffffffff8150afc7>] dvb_dmxdev_filter_start+0x23f/0x315 [<ffffffff8150b6ad>] dvb_demux_do_ioctl+0x1fb/0x556 [<ffffffff81509e94>] dvb_usercopy+0xb4/0x11c [<ffffffff8150b4b2>] ? dvb_dmxdev_ts_callback+0xd0/0xd0 [<ffffffff8150a11a>] dvb_demux_ioctl+0x10/0x14 [<ffffffff81144ac4>] do_vfs_ioctl+0x3c1/0x474 [<ffffffff8126f181>] ? file_has_perm+0x5b/0x7f [<ffffffff810bf6ca>] ? __audit_syscall_entry+0xbc/0xde [<ffffffff81144bcc>] SyS_ioctl+0x55/0x7a [<ffffffff81631d52>] system_call_fastpath+0x12/0x17 Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ecaa4902222fd4d28692203bec028513fbac29c7 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Sun Dec 21 15:38:02 2014 +0100 drm/rockchip: use for_each_endpoint_of_node macro, drop endpoint reference on break Using the for_each_... macro should make the code a bit shorter and easier to read. Also, when breaking out of the loop, the endpoint node reference count needs to be decremented. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 4af642d5bf75c726c874a198daf742589db30981 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Dec 22 11:46:40 2014 +0100 drm/rcar-du: use for_each_endpoint_of_node macro Using the for_each_... macro should make the code a bit shorter and easier to read. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 539bb6a248858edd99d8645677345799f37ca51d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 3 23:07:49 2014 +0200 drm/imx: use for_each_endpoint_of_node macro in imx_drm_encoder_get_mux_id Using the for_each_... macro should make the code bit shorter and easier to read. This patch also properly decrements the endpoint node reference count before returning out of the loop. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7416f4e33b5e924baa030ddab1f261a0a85fa32e Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 3 22:59:51 2014 +0200 drm: use for_each_endpoint_of_node macro in drm_of_find_possible_crtcs Using the for_each_... macro should make the code a bit shorter and easier to read. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 3ea3b7fa9af067982f34b6745584558821eea79d Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Apr 3 15:40:25 2015 +0800 kvm: mmu: lazy collapse small sptes into large sptes Dirty logging tracks sptes in 4k granularity, meaning that large sptes have to be split. If live migration is successful, the guest in the source machine will be destroyed and large sptes will be created in the destination. However, the guest continues to run in the source machine (for example if live migration fails), small sptes will remain around and cause bad performance. This patch introduce lazy collapsing of small sptes into large sptes. The rmap will be scanned in ioctl context when dirty logging is stopped, dropping those sptes which can be collapsed into a single large-page spte. Later page faults will create the large-page sptes. Reviewed-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Message-Id: <1428046825-6905-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1119022c71fb11826041787cf0ebffc1a1b0ba5b Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Thu Apr 2 03:10:38 2015 +0300 KVM: x86: Clear CR2 on VCPU reset CR2 is not cleared as it should after reset. See Intel SDM table named "IA-32 Processor States Following Power-up, Reset, or INIT". Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427933438-12782-5-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ae561edeb421fbc24f97df7af8607c14009c16b2 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Thu Apr 2 03:10:37 2015 +0300 KVM: x86: DR0-DR3 are not clear on reset DR0-DR3 are not cleared as they should during reset and when they are set from userspace. It appears to be caused by c77fb5fe6f03 ("KVM: x86: Allow the guest to run with dirty debug registers"). Force their reload on these situations. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427933438-12782-4-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 58d269d8cccc53643f1a0900cfc0940e85ec9691 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Thu Apr 2 03:10:36 2015 +0300 KVM: x86: BSP in MSR_IA32_APICBASE is writable After reset, the CPU can change the BSP, which will be used upon INIT. Reset should return the BSP which QEMU asked for, and therefore handled accordingly. To quote: "If the MP protocol has completed and a BSP is chosen, subsequent INITs (either to a specific processor or system wide) do not cause the MP protocol to be repeated." [Intel SDM 8.4.2: MP Initialization Protocol Requirements and Restrictions] Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427933438-12782-3-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3b5a5ffa928a3f875b0d5dd284eeb7c322e1688a Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Feb 12 19:41:34 2015 +0100 KVM: x86: simplify kvm_apic_map recalculate_apic_map() uses two passes over all VCPUs. This is a relic from time when we selected a global mode in the first pass and set up the optimized table in the second pass (to have a consistent mode). Recent changes made mixed mode unoptimized and we can do it in one pass. Format of logical MDA is a function of the mode, so we encode it in apic_logical_id() and drop obsoleted variables from the struct. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <1423766494-26150-5-git-send-email-rkrcmar@xxxxxxxxxx> [Add lid_bits temporary in apic_logical_id. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3548a259f6990d8cb4f520e6c14f4b45b1f2fd38 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Feb 12 19:41:33 2015 +0100 KVM: x86: avoid logical_map when it is invalid We want to support mixed modes and the easiest solution is to avoid optimizing those weird and unlikely scenarios. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <1423766494-26150-4-git-send-email-rkrcmar@xxxxxxxxxx> [Add comment above KVM_APIC_MODE_* defines. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9ea369b032d87b88f1a47187b51ad4321dea5766 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Feb 12 19:41:32 2015 +0100 KVM: x86: fix mixed APIC mode broadcast Broadcast allowed only one global APIC mode, but mixed modes are theoretically possible. x2APIC IPI doesn't mean 0xff as broadcast, the rest does. x2APIC broadcasts are accepted by xAPIC. If we take SDM to be logical, even addreses beginning with 0xff should be accepted, but real hardware disagrees. This patch aims for simple code by considering most of real behavior as undefined. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <1423766494-26150-3-git-send-email-rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 03d2249ea60818e97475ac529aa183cf130935bb Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Feb 12 19:41:31 2015 +0100 KVM: x86: use MDA for interrupt matching In mixed modes, we musn't deliver xAPIC IPIs like x2APIC and vice versa. Instead of preserving the information in apic_send_ipi(), we regain it by converting all destinations into correct MDA in the slow path. This allows easier reasoning about subsequent matching. Our kvm_apic_broadcast() had an interesting design decision: it didn't consider IOxAPIC 0xff as broadcast in x2APIC mode ... everything worked because IOxAPIC can't set that in physical mode and logical mode considered it as a message for first 8 VCPUs. This patch interprets IOxAPIC 0xff as x2APIC broadcast. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <1423766494-26150-2-git-send-email-rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 19456060315cedc5595a47007f886369871dfbc5 Author: Arseny Solokha <asolokha@xxxxxxxxxx> Date: Tue Feb 24 16:05:04 2015 +0700 kvm/ppc/mpic: drop unused IRQ_testbit Drop unused static procedure which doesn't have callers within its translation unit. It had been already removed independently in QEMU[1] from the OpenPIC implementation borrowed from the kernel. [1] https://lists.gnu.org/archive/html/qemu-devel/2014-06/msg01812.html Signed-off-by: Arseny Solokha <asolokha@xxxxxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-Id: <1424768706-23150-3-git-send-email-asolokha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 92d71bc6951364c20f7d8c70a83cd93a68a63ea7 Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Date: Sun Mar 29 23:56:44 2015 +0300 KVM: nVMX: remove unnecessary double caching of MAXPHYADDR After speed-up of cpuid_maxphyaddr() it can be called frequently: instead of heavyweight enumeration of CPUID entries it returns a cached pre-computed value. It is also inlined now. So caching its result became unnecessary and can be removed. Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Message-Id: <20150329205644.GA1258@gnote> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9090422f1ca5270795738549cf91a4ae7cb47662 Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Date: Sun Mar 29 23:56:27 2015 +0300 KVM: nVMX: checks for address bits beyond MAXPHYADDR on VM-entry On each VM-entry CPU should check the following VMCS fields for zero bits beyond physical address width: - APIC-access address - virtual-APIC address - posted-interrupt descriptor address This patch adds these checks required by Intel SDM. Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Message-Id: <20150329205627.GA1244@gnote> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5a4f55cde81f1633cb7ae9f0963b722e47acdc36 Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Date: Sun Mar 29 23:56:12 2015 +0300 KVM: x86: cache maxphyaddr CPUID leaf in struct kvm_vcpu cpuid_maxphyaddr(), which performs lot of memory accesses is called extensively across KVM, especially in nVMX code. This patch adds a cached value of maxphyaddr to vcpu.arch to reduce the pressure onto CPU cache and simplify the code of cpuid_maxphyaddr() callers. The cached value is initialized in kvm_arch_vcpu_init() and reloaded every time CPUID is updated by usermode. It is obvious that these reloads occur infrequently. Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Message-Id: <20150329205612.GA1223@gnote> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 80f0e95d1b221688b2608e0a80134e7acccd9a89 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Apr 2 21:11:05 2015 +0200 KVM: vmx: pass error code with internal error #2 Exposing the on-stack error code with internal error is cheap and potentially useful. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Message-Id: <1428001865-32280-1-git-send-email-rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 80f7fdb1c7f0f9266421f823964fd1962681f6ce Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Apr 2 20:44:23 2015 +0200 x86: vdso: fix pvclock races with task migration If we were migrated right after __getcpu, but before reading the migration_count, we wouldn't notice that we read TSC of a different VCPU, nor that KVM's bug made pvti invalid, as only migration_count on source VCPU is increased. Change vdso instead of updating migration_count on destination. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Fixes: 0a4e6be9ca17 ("x86: kvm: Revert "remove sched notifier for cross-cpu migrations"") Message-Id: <1428000263-11892-1-git-send-email-rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3180a7fcbc0ec7ed7cc85ed5015bdd7a8c2176e8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 2 14:08:20 2015 +0200 KVM: remove kvm_read_hva and kvm_read_hva_atomic The corresponding write functions just use __copy_to_user. Do the same on the read side. This reverts what's left of commit 86ab8cffb498 (KVM: introduce gfn_to_hva_read/kvm_read_hva/kvm_read_hva_atomic, 2012-08-21) Cc: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-Id: <1427976500-28533-1-git-send-email-pbonzini@xxxxxxxxxx> commit 9c8fd1ba2201c072bd3cf6940e2ca4d0a7aed723 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 6 12:58:42 2015 +0100 KVM: x86: optimize delivery of TSC deadline timer interrupt The newly-added tracepoint shows the following results on the tscdeadline_latency test: qemu-kvm-8387 [002] 6425.558974: kvm_vcpu_wakeup: poll time 10407 ns qemu-kvm-8387 [002] 6425.558984: kvm_vcpu_wakeup: poll time 0 ns qemu-kvm-8387 [002] 6425.561242: kvm_vcpu_wakeup: poll time 10477 ns qemu-kvm-8387 [002] 6425.561251: kvm_vcpu_wakeup: poll time 0 ns and so on. This is because we need to go through kvm_vcpu_block again after the timer IRQ is injected. Avoid it by polling once before entering kvm_vcpu_block. On my machine (Xeon E5 Sandy Bridge) this removes about 500 cycles (7%) from the latency of the TSC deadline timer. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 362c698f8220e636edf1c40b1935715fa57f492f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 6 12:48:04 2015 +0100 KVM: x86: extract blocking logic from __vcpu_run Rename the old __vcpu_run to vcpu_run, and extract part of it to a new function vcpu_block. The next patch will add a new condition in vcpu_block, avoid extra indentation. Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 35fd68a38d574188835110cde2937d18fe9b46dd Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Wed Apr 8 14:08:14 2015 +0800 kvm: x86: fix x86 eflags fixed bit Guest can't be booted w/ ept=0, there is a message dumped as below: If you're running a guest on an Intel machine without unrestricted mode support, the failure can be most likely due to the guest entering an invalid state for Intel VT. For example, the guest maybe running in big real mode which is not supported on less recent Intel processors. EAX=00000011 EBX=f000d2f6 ECX=00006cac EDX=000f8956 ESI=bffbdf62 EDI=00000000 EBP=00006c68 ESP=00006c68 EIP=0000d187 EFL=00000004 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =e000 000e0000 ffffffff 00809300 DPL=0 DS16 [-WA] CS =f000 000f0000 ffffffff 00809b00 DPL=0 CS16 [-RA] SS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA] DS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA] FS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA] GS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA] LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy GDT= 000f6a80 00000037 IDT= 000f6abe 00000000 CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 EFER=0000000000000000 Code=01 1e b8 6a 2e 0f 01 16 74 6a 0f 20 c0 66 83 c8 01 0f 22 c0 <66> ea 8f d1 0f 00 08 00 b8 10 00 00 00 8e d8 8e c0 8e d0 8e e0 8e e8 89 c8 ff e2 89 c1 b8X X86 eflags bit 1 is fixed set, which means that 1 << 1 is set instead of 1, this patch fix it. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Message-Id: <1428473294-6633-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 223fa2725a0fb43b303a29fe215a1997e70acd82 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Apr 8 10:08:56 2015 +0200 gpio: arrange Kconfig symbols alphabetically This rearranges the GPIO drivers Kconfig symbols alphabetically as the top comment in the file already states they should be. No functional changes whatsoever. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 62e08f25bd09b088f266ea6fc34d2f596d83c04e Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Tue Mar 31 10:11:47 2015 -0500 gpio: ich: Implement get_direction function Allow the kernel to query the driver for a GPIO's pin direction. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit afeb7b45e96239f0bfa610dd40945786f5a9b164 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Mar 31 09:49:11 2015 +0530 gpio: use (!foo) instead of (foo == NULL) Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4878b46679f5b0ec86cc6ff48f4edb8a54e2a4d0 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Mar 31 09:49:10 2015 +0530 gpio: arizona: drop owner assignment from platform_drivers This driver no need to set the owner field, it will be populated by driver core. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 76a2dae0e69b0ee511c6d64ad5c37596e7356a93 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Mar 31 09:49:09 2015 +0530 gpio: max7300: remove 'ret' variable Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7898b31ebafbf01d2ad56d251cfc9bfa4e5c644a Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Mar 31 09:49:08 2015 +0530 gpio: use devm_kzalloc We can use devres API for allocating memory. No need of using kfree. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d1e10dc8c104d533547f6e499550fafc36809943 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Mar 29 15:40:39 2015 +0200 gpio: sch: use uapi/linux/pci_ids.h directly Header moved from linux/pci_ids.h to uapi/linux/pci_ids.h, use the new header directly so we can drop the wrapper in include/linux/pci_ids.h. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 33c07b46774219ceaa2e6650413aa4d2cd6d6dd0 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sun Mar 29 05:37:20 2015 +0300 gpio: x-gene: fix devm_ioremap_resource() check devm_ioremap_resource() returns IOMEM_ERR_PTR() and it never returns NULL, fix the check to prevent access to invalid virtual address. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cbfb3ea7f8c8da2e12d6d5aeca6d483de4297427 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Wed Apr 1 10:20:09 2015 +0800 gpio: loongson: Add Loongson-3A/3B GPIO driver support Improve Loongson-2's GPIO driver to support Loongson-3A/3B, and update Loongson-3's default config file. Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6d00ec0514bd909e89ede59501342732dbef49fd Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Apr 8 09:16:32 2015 +0200 cfg80211: don't allow disabling WEXT if it's required The change to only export WEXT symbols when required could break the build if CONFIG_CFG80211_WEXT was explicitly disabled while a driver like orinoco selected it. Fix this by hiding the symbol when it's required so it can't be disabled in that case. Fixes: 2afe38d15cee ("cfg80211-wext: export symbols only when needed") Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8b3607b5b8c591d8bf045911cb7c90ecaa6e7b73 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Apr 7 18:42:47 2015 +0200 x86/asm/entry/64: Add forgotten CFI annotation Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428424967-14460-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3304c9c37bef30ebd2ef71d986e6568372ce80f8 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Apr 3 21:49:13 2015 +0200 x86/asm/entry/irq: Simplify interrupt dispatch table (IDT) layout Interrupt entry points are handled with the following code, each 32-byte code block contains seven entry points: ... [push][jump 22] // 4 bytes [push][jump 18] // 4 bytes [push][jump 14] // 4 bytes [push][jump 10] // 4 bytes [push][jump 6] // 4 bytes [push][jump 2] // 4 bytes [push][jump common_interrupt][padding] // 8 bytes [push][jump] [push][jump] [push][jump] [push][jump] [push][jump] [push][jump] [push][jump common_interrupt][padding] [padding_2] common_interrupt: And there is a table which holds pointers to every entry point, IOW: to every push. In cold cache, two jumps are still costlier than one, even though we get the benefit of them residing in the same cacheline. This change replaces short jumps with near ones to 'common_interrupt', and pads every push+jump pair to 8 bytes. This way, each interrupt takes only one jump. This change replaces ".p2align CONFIG_X86_L1_CACHE_SHIFT" before dispatch table with ".align 8" - we do not need anything stronger than that. The table of entry addresses (the interrupt[] array) is no longer necessary, the address of entries can be easily calculated as (irq_entries_start + i*8). text data bss dec hex filename 12546 0 0 12546 3102 entry_64.o.before 11626 0 0 11626 2d6a entry_64.o The size decrease is because 1656 bytes of .init.rodata are gone. That's initdata, though. The resident size does go up a bit. Run-tested (32 and 64 bits). Acked-and-Tested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428090553-7283-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fffbb5dcfd29f8831e41b4dd2ab938bd36d35283 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Apr 2 18:46:59 2015 +0200 x86/asm/entry/64: Move opportunistic sysret code to syscall code path This change does two things: Copy-pastes "retint_swapgs:" code into syscall handling code, the copy is under "syscall_return:" label. The code is unchanged apart from some label renames. Removes "opportunistic sysret" code from "retint_swapgs:" code block, since now it won't be reached by syscall return. This in fact removes most of the code in question. text data bss dec hex filename 12530 0 0 12530 30f2 entry_64.o.before 12562 0 0 12562 3112 entry_64.o Run-tested. Acked-and-Tested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427993219-7291-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4bcc7827b02feea2c762fa6d46a1bffb300d7403 Merge: 3f705df f22e6e8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Apr 8 09:01:54 2015 +0200 Merge tag 'v4.0-rc7' into x86/asm, to resolve conflicts Conflicts: arch/x86/kernel/entry_64.S Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0c4d6af42d8375e003f0e4626f2f661862b5df4b Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Fri Mar 27 19:43:01 2015 +0800 usb: chipidea: debug: add low power mode check before print registers Since the required clock to access registers is gated off in low power mode, add ci->in_lpm check before try to dump registers value. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 2c336e3a2e1728d9b3116422655832184dc7046c Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Apr 7 19:11:17 2015 +0200 target: simplify target_xcopy_init_pt_lun Drop unused argument & return value and consolidate a duplicate assignment. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c3d0a7c21db219ef87679c2a667aba9f138524db Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Apr 7 19:11:16 2015 +0200 target: remove the unused SCF_CMD_XCOPY_PASSTHROUGH flag Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6766cc81191c946dcb8e8bfe49f220f9a1cc8b5c Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Sun Apr 5 23:59:38 2015 +0900 target/rd: reduce code duplication in rd_execute_rw() Factor out code duplication in rd_execute_rw() into a helper function rd_do_prot_rw(). This change is required to minimize the forthcoming fix in rd_do_prot_rw(). (Fix up v4.1 for-next fuzz - nab) Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: target-devel@xxxxxxxxxxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 2e1cd90d718a5fc721e0caa0dc9f037d9b1f46b8 Author: Ming Lin <mlin@xxxxxxxxxx> Date: Sun Mar 29 23:11:30 2015 -0700 tcm_loop: fixup tpgt string to integer conversion Currently, for example, mkdir "tpgt_xyz" doesn't return error. mkdir /sys/kernel/config/target/loopback/naa.60014055f195952b/tpgt_xyz Replace obsoleted simple_strtoul with kstrtoul and check the conversion. Signed-off-by: Ming Lin <mlin@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9e35eff449fc7c7106ea0fd64457afacf68f3bb3 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:20 2015 +0300 iser-target: Bump version to 1.0 Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit dac6ab305d73b5a67bbb2a0b3d8e2bd6a1383447 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:19 2015 +0300 iser-target: Remove conn_ prefix from struct isert_conn members These variables are always accessed via struct isert_conn so no need to have a "conn_" prefix for them. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 992607e813811778a76f9ff25f31e33a1660e146 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:18 2015 +0300 iser-target: Remove un-needed rdma_listen backlog iser target can handle as many connect request as the fabric sends to it. This backlog should not set as a back-pressure mechanism (which is not very useful). isert does need a back-pressure mechanism, but it should be added in isert by monitoring the number of pending established connections (will be added in a later stage). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 57df81e3b1bc7e65f48c2146ba1b3affbd709d5c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:17 2015 +0300 iser-target: Remove redundant check on the device In iser_connect_release there is no chance that the iser device is set to NULL, if this happens we have a BUG. So use BUG_ON. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c6b8e9180de76624d0a01148d6edd0107edebed1 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:16 2015 +0300 iser-target: Get rid of redundant max_accept Not sure what it was used for, but there is no real need for it now as I see it. Go ahead and get rid of it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ae9ea9ed38c9c8f6cf19c669d7b032cab3dadede Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:15 2015 +0300 iser-target: Split some logic in isert_connect_request to routines Move login buffer alloc/free code to dedicated routines and introduce isert_conn_init which initializes the connection lists and locks. Simplifies and cleans up the code a little bit. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cf8ae95823ae99186729834a630f24ff9e7b1501 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:14 2015 +0300 iser-target: Rename device find/release routines isert_device_find_by_ib_dev and isert_device_try_release can have a better, more common name like isert_device_[get|put]. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7748681bb8100f24571a53d42f180e9f4fe8f39f Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:13 2015 +0300 iser-target: Rename rend/recv completion routines Make receive/send completion handling routines symmetrical. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit fd8205e883cd3a7ca4ca86baecf44be3114bafcf Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:12 2015 +0300 iser-target: Remove redundant assignment to local variable No need to keep a local ib_dev as a device pointer. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 172369c5703861ca54ec1dcd2708ad75e1ec171a Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:11 2015 +0300 iser-target: Introduce isert_[alloc|free]_comps Move the code for completion context handling to dedicated routines. This simplifies the code and removes code duplication. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 40fc069ad8c910e2c20348bd9adeb79b3a945fef Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:10 2015 +0300 iser-target: Split isert_setup_qp Simplify iser QP creation by splitting some unrelated logic bulks to routines. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6700425eb0fc92a5e3944ec3e43711877d2d5862 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:09 2015 +0300 iser-target: Remove redundant casting on void pointers No need to cast void pointers. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit fb140271414be416c5d13d2a16a96fbe6e8cde01 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:08 2015 +0300 iser-target: Remove redundant local variable No need for this assignment. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit b859203473d5d61260e8447915e22328442deb0b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:07 2015 +0300 iser-target: Remove dead code unmap_list is unused. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit e26e6ef703f78943e1a4e69ad82f6e5143925ffc Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:06 2015 +0300 iser-target: Remove redundant check on recv completion We have a switch default for this. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 67cb39492571433b95eb2952edca46f024ddf16c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:05 2015 +0300 iser-target: Use a single DMA MR and PD per device This is to favor the HCA cache hit rate using less MRs and PDs. This commit partially reverts commit: "eb6ab13 IB/isert: separate connection protection domains and dma MRs" At the time I thought this would be needed. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4a579da2586bd3b79b025947ea24ede2bbfede62 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:04 2015 +0300 iser-target: Fix possible deadlock in RDMA_CM connection error Before we reach to connection established we may get an error event. In this case the core won't teardown this connection (never established it), so we take care of freeing it ourselves. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 364189f0ada5478e4faf8a552d6071a650d757cd Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Sun Mar 29 15:52:03 2015 +0300 iser-target: Fix session hang in case of an rdma read DIF error This hang was a result of a missing command put when a DIF error occurred during a rdma read (and we sent an CHECK_CONDITION error without passing it to the backend). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 901c04a33f138e5fb935a1621375a1a0997fe7b1 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Mar 29 19:36:16 2015 -0700 iscsi/iser-target: Add fabric_prot_type attribute support This patch updates iscsi/iser-target to add a new fabric_prot_type TPG attribute for iser-target, used for controlling LLD level protection into LIO when the backend device does not support T10-PI. This is required for ib_isert to enable WRITE_STRIP + READ_INSERT hardware offloads. It's disabled by default and controls which se_sesion->sess_prot_type are set at iscsi_target_locate_portal() session registration time. Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 64b16887749fd8e8000cc2ad1acca3cd29f84086 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 27 23:30:57 2015 -0700 tcm_qla2xxx: Add fabric_prot_type attribute support This patch updates qla2xxx target to add a new fabric_prot_type TPG attribute, used for controlling LLD level protection into LIO when the backend device does not support T10-PI. This is required for qla_target.c to enable WRITE_STRIP + READ_INSERT hardware offloads. It's disabled by default and controls which se_sesion->sess_prot_type are set at tcm_qla2xxx_check_initiator_node_acl() session registration time. Cc: Quinn Tran <quinn.tran@xxxxxxxxxx> Cc: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Cc: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 59bb0ff5db755a6a833acd633015b406d0894253 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 12:49:46 2015 -0800 tcm_qla2xxx: Set TARGET_PROT_ALL for sup_prot_ops This patch adds the missing TARGET_PROT_ALL when initializing a new session and declaring the capable se_sess->sup_prot_ops for T10-PI. This is required in order to function with existing qla_target.c DIF protection offload support. Cc: Quinn Tran <quinn.tran@xxxxxxxxxx> Cc: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Cc: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit b1d75fe53ef20b90bb64b1e48b905416f0dfde23 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sat Mar 28 00:03:51 2015 -0700 vhost/scsi: Add fabric_prot_type attribute support This patch updates vhost-scsi to add a new fabric_prot_type TPG attribute, used for controlling LLD level protection into LIO when the backend device does not support T10-PI. This is required for vhost-scsi to enable WRITE_STRIP + READ_INSERT operations using software emulation + crct10dif instruction offload. It's disabled by default and controls which se_sesion->sess_prot_type are set at vhost_scsi_make_nexus() session registration time. Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 436f4a0a99520623ef3fb994d70d2938fc9f00b6 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 12:31:39 2015 -0800 loopback: Add fabric_prot_type attribute support This patch updates loopback to add a new fabric_prot_type TPG attribute, used for controlling LLD level protection into LIO when the backend device does not support T10-PI. Also, go ahead and set DIN_PASS + DOUT_PASS so target-core knows that it will be doing any WRITE_STRIP and READ_INSERT operations. Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 1762742f3fd276570456eb669922e34e11bd98b7 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 27 23:15:04 2015 -0700 target/rd: Add checks for backend DIF emulation Make sure that RAMDISK only attempts to use backend DIF emulation when it's actually enabled at device level. Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6f16ec43e06e37dc5c3bed52ae76803c13ee2f8c Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 27 23:14:16 2015 -0700 target/iblock: Add checks for backend DIF emulation Make sure that IBLOCK only attempts to use backend DIF emulation when it's actually enabled at device level. Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ee920469d61e896d124fec528250ecfba1ec9f8d Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sat Feb 28 02:44:19 2015 -0800 target/file: Add checks for backend DIF emulation Make sure that FILEIO only attempts to use backend DIF emulation when it's actually enabled at device level. Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 72c0385014a140b6029c5c8bf88efb9ad166ae48 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 04:02:08 2015 -0800 target: Add internal READ_INSERT support This patch adds READ_INSERT support in target_read_prot_action() that invokes sbc_dif_generate() when LIO is responsible for generating the outgoing T10-PI. Required for supporting fabrics that exchange protection information, and would like to function with un-protected devices. Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit fdeab852983249fd1b8859f8bf54a5bfd8581c90 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 02:53:25 2015 -0800 target: Move cmd->prot_op check into target_read_prot_action This patch moves the existing target_complete_ok_work() check for cmd->prot_op into it's own function, so it's easier to add future support for READ INSERT. Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 5132d1e655dc4befcc075ef32a261eb9733bb04c Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 03:06:17 2015 -0800 target: Add internal WRITE_STRIP support This patch adds WRITE_STRIP support in target_write_prot_action() that invokes sbc_dif_verify_write() for checking T10-PI metadata before submitting the I/O to a backend driver. Upon verify failure, the specific sense code is propigated up the failure path up to transport_generic_request_failure(). Also, update sbc_dif_verify_write() to only perform the subsequent protection metadata copy when a valid *sg is passed. (Use ilog2 instead of division and unlikely for pi_err - Sagi) Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit aa58b53168e12342aa0561c12bf5d6729487c63e Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Feb 8 12:39:06 2015 -0800 target: Move cmd->prot_op check into target_write_prot_action This patch moves the existing target_execute_cmd() check for cmd->prot_op into it's own function, so it's easier to add future support for WRITE STRIP. (Use better target_write_prot_action name - Sagi) Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9ef5466ee2f0599caf8d84203d36e581c6fc7035 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Feb 27 22:05:33 2015 -0800 target: Update SPC/SBC emulation for sess_prot_type This patch updates standard INQUIRY, INQUIRY EVPD=0x86, READ_CAPACITY_16 and control mode pages to use se_sess->sess_prot_type when determing which type of T10-PI related feature bits can be exposed. This is required for fabric sessions supporting T10-PI metadata to backend devices that don't have protection enabled. Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Doug Gilbert <dgilbert@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 38b57f82f66dfb21ebe321d71c84c0e3469980c4 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Feb 27 22:05:21 2015 -0800 target: Add protected fabric + unprotected device support This patch adds a new target_core_fabric_ops callback for allowing fabric drivers to expose a TPG attribute for signaling when a T10-PI protected fabric wants to function with an un-protected device without T10-PI. This specifically is to allow LIO to perform WRITE_STRIP + READ_INSERT operations when functioning with non T10-PI enabled devices, seperate from any available hw offloads the fabric supports. This is done using a new se_sess->sess_prot_type that is set at fabric session creation time based upon the TPG attribute. It currently cannot be changed for individual sessions after initial creation. Also, update existing target_core_sbc.c code to honor sess_prot_type when setting up cmd->prot_op + cmd->prot_type assignments. (Add unlikely and !! boolean conversion in sbc_check_prot - Sagi) Cc: Martin Petersen <martin.petersen@xxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Doug Gilbert <dgilbert@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 823ddd877f3a5c301490196d369f68baa6c020e4 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Feb 27 22:42:11 2015 -0800 target: Convert DIF emulation to use cmd->prot_type This patch changes existing DIF emulation to check the command descriptor's prot_type, instead of what the backend device is exposing in pi_prot_type. Since this value is already set in sbc_check_prot(), go ahead and use it to allow protected fabrics to function with unprotected devices. Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3f705dfdf85a6416f5f12e52b7610144a99cbedc Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Apr 6 23:11:06 2015 -0700 x86, selftests: Add sigreturn selftest This is my sigreturn test, added mostly unchanged from its old home. It exercises the sigreturn(2) syscall, specifically focusing on its interactions with various IRET corner cases. It tests for correct behavior in several areas that were historically dangerously buggy. For example, it exercises espfix on kernels of both bitnesses under various conditions, and it contains testcases for several now-fixed bugs in IRET error handling. If you run it on older kernels without the fixes, your system will crash. It probably won't eat your data in the process. There is no released kernel on which the sigreturn_64 test will pass, but it passes on tip:x86/asm. I plan to switch to lib.mk for Linux 4.2. I'm not using the ksft_ helpers at all yet. I can do that later. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuah.kh@xxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/89d10b76b92c7202d8123654dc8d36701c017b3d.1428386971.git.luto@xxxxxxxxxx [ Fixed empty format string GCC build warning in trivial_32bit_program.c ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9b6567e19bc55187bc1bb094b00a9f63acb30071 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Mon Mar 23 16:03:35 2015 +0800 usb: chipidea: udc: bypass pullup DP when gadget connect in OTG fsm mode By pass pullup DP in OTG fsm mode when do gadget connect, to let it handled by OTG state machine. This patch can fix the problem you found with my HNP polling patchset after below 3 patches introduced: 467a78c usb: chipidea: udc: apply new usb_udc_vbus_handler interface 628ef0d usb: udc: add usb_udc_vbus_handler dfea9c9 usb: udc: store usb_udc pointer in struct usb_gadget Problem: - Connect USB cable and MicroAB cable between two boards - Boot up two boards - load g_mass_storage at B-device side, the enumeration will success, and A will see a usb mass-storage device - load g_mass_storage at A-device side, the problem has occurred, the connection will be lost at the beginning, then connect again. This patch is based on commit eff933c1d3a2e046492b3dfc86db813856553a29 (chipidea: pci: make it depends on NOP_USB_XCEIV) on branch peter-usb-dev of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 7587d12647f1d952a4fbe5fb54a52e98b5509dcc Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Wed Apr 8 13:44:18 2015 +0800 nios2: signal: Move restart_block to struct task_struct See https://lkml.org/lkml/2014/10/29/643 and commit f56141e3e2d9 ("all arches, signal: move restart_block to struct task_struct") Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 04bdf441787a385487fb7b08d9a3f35a1271b474 Author: Tommi Rantala <tt.rantala@xxxxxxxxx> Date: Fri Apr 3 10:45:29 2015 +0300 drm: fix drm_mode_getconnector() locking imbalance regression Regression in commit 2caa80e72b57c6216aec6f6a11fcfb4fec46daa0 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 11:38:36 2015 +0100 drm: Fix deadlock due to getconnector locking changes If the drm_connector_find() call returns NULL, we should no longer call drm_modeset_unlock() to avoid locking imbalance. Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit f64e02fe9bc6a359cab95632b33900094d225ae1 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Wed Apr 8 00:00:32 2015 -0400 ext4 crypto: add ext4_mpage_readpages() This takes code from fs/mpage.c and optimizes it for ext4. Its primary reason is to allow us to more easily add encryption to ext4's read path in an efficient manner. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit cdbff611940882b36d6964ced177bc167012f5c0 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Sun Mar 29 15:38:50 2015 +0200 MAINTAINERS: Add me on list of Dell laptop drivers I have written many parts of dell laptop drivers dell-laptop.c, dell-wmi.c and dell-smo8800.c Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 6cff8d60aa0aba5583ecda09984dbcb2f24cc28d Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Thu Feb 19 11:58:29 2015 +0100 platform: x86: dell-laptop: Add support for keyboard backlight This patch adds the support for the configuration of the keyboard backlight on supported Dell laptops. With this patch it is possible to set: * keyboard backlight level * timeout after which the backlight will be automatically turned off * input activity triggers (keyboard, touchpad, mouse) that enable the backlight * ambient light settings The settings are exposed via /sys/class/leds/dell::kbd_backlight/ The code is based on the newly released documentation by Dell in the libsmbios project. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 9659bee43bf010d4c7037fee9c023124f144c6ca Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Apr 2 19:28:07 2015 -0600 Documentation/ABI: Update sysfs-driver-toshiba_acpi entry This patch updates the sysfs-driver-toshiba_acpi entry, adding the missing entries for USB Sleep functions. And also, while at the neighborhood, fix some typos and add a note that some features require a reboot. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit bb26f1893a086db77edca73529d5f59a8338ff30 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Apr 2 19:26:21 2015 -0600 toshiba_acpi: Fix pr_* messages from USB Sleep Functions This patch fixes the messages displayed by the USB Sleep Functions, they were printing wrong messages not associated to the feature currently queried. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit c8c918425ac88cf314db3a223dbbfd75ed6306d6 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Apr 2 19:26:20 2015 -0600 toshiba_acpi: Update and fix USB Sleep and Charge modes This patch fixes the USB Sleep and Charge mode on certain models where the value returned by the BIOS is different, and thus, making this feature not to work for those models. Also, the "Typical" charging mode was added as a supported mode. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 097c27fcb256415e7c1612e7ab916aa906874f9b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 10:43:20 2015 -0700 wmi: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 74672d069b298b03e9f657fd70915e055739882e Author: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Date: Fri Apr 3 08:44:47 2015 +0800 md: fix md io stats accounting broken Simon reported the md io stats accounting issue: " I'm seeing "iostat -x -k 1" print this after a RAID1 rebuild on 4.0-rc5. It's not abnormal other than it's 3-disk, with one being SSD (sdc) and the other two being write-mostly: Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 345.00 0.00 0.00 0.00 0.00 100.00 md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 58779.00 0.00 0.00 0.00 0.00 100.00 md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12.00 0.00 0.00 0.00 0.00 100.00 " The cause is commit "18c0b223cf9901727ef3b02da6711ac930b4e5d4" uses the generic_start_io_acct to account the disk stats rather than the open code, but it also introduced the increase to .in_flight[rw] which is needless to md. So we re-use the open code here to fix it. Reported-by: Simon Kirby <sim@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 3.19 Signed-off-by: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 8bc0034cf6951a107e0c75c2d10b17b57d681229 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Wed Apr 8 01:26:18 2015 +0000 net: remove extra newlines Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 976f2ab4985a1dbe3f3f0777ce01d4fdb404c62a Merge: a67a951 77387b8 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Apr 7 20:00:45 2015 -0600 Merge branch 'stable/for-jens-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-4.1/drivers Konrad writes: This pull has one fix and an cleanup. Note that David Vrabel in the xen/tip.git tree has other changes for the Xen block drivers that are related to his grant work - and they do not conflict with this git pull. commit 5c7f0c27956a9884e29dbe5f83e56609fa00290f Merge: fa37a8c 8f361b2 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:19:24 2015 +1000 Merge tag 'imx-drm-fixes-2015-03-31' of git://git.pengutronix.de/git/pza/linux into drm-next imx-drm limit fixes Fix IPU IC downscaler to its hardware limitation of 4:1 and the IPU DI pixel clock divider integer part to 8-bit. * tag 'imx-drm-fixes-2015-03-31' of git://git.pengutronix.de/git/pza/linux: gpu: ipu-v3: turns out the IPU can only downsize 4:1 gpu: ipu-v3: limit pixel clock divider to 8-bits drm/radeon: programm the VCE fw BAR as well drm/radeon: always dump the ring content if it's available radeon: Do not directly dereference pointers to BIOS area. drm/radeon/dpm: fix 120hz handling harder commit fa37a8c8237613d525437c4f9ec8add41749b314 Merge: a08aad5 d5af49c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:14:40 2015 +1000 Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next 1) support for "stolen mem" for splash-screen take-over 2) additional hdmi pixel clks 3) various pipe flush related fixes 4) support for snapdragon 410 (8x16) 5) support for DSI and dual-DSI It includes one small patch to export tile-group functions (which was ack'd by you), as these are used to explain to userspace dual-dsi configurations (with left and right tile). * 'msm-next' of git://people.freedesktop.org/~robclark/linux: (24 commits) drm/msm/mdp5: Enable DSI connector in msm drm driver drm/msm: Initial add DSI connector support drm/msm: Add split display interface drm/msm/mdp5: Move *_modeset_init out of construct_encoder function drm: export tile-group functions drm/msm/mdp5: Remove CTL flush dummy bits drm/msm/mdp5: Update headers (add CTL flush bits) drm/msm/mdp5: Add hardware configuration for msm8x16 drm/msm/mdp5: Get SMP client list from mdp5_cfg drm/msm/mdp5: Update headers (remove enum mdp5_client_id) drm/msm/mdp5: Separate MDP5 domain from MDSS domain drm/msm/mdp5: Update headers (introduce MDP5 domain) drm/msm/dsi: Update generated DSI header file drm/msm/mdp5: Fix PIPE source image size settings drm/msm/mdp5: Update generated mdp5 header file with DSI support drm/msm/mdp5: Add pingpong entry to mdp5 config table drm/msm/mdp5: Make the intf connection in config module drm/msm/mdp5: Add START signal to kick off certain pipelines drm/msm/mdp5: Enhance operation mode for pipeline configuration drm/msm/mdp5: Update generated header files ... commit a08aad54be7fca595af2cc7f482961e1af99c4a8 Merge: 1ddd36e 1c550fa1 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:14:10 2015 +1000 Merge tag 'drm/panel/for-4.1-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/panel: Changes for v4.1-rc1 This set of changes adds support for a whole bunch of new panels, mostly simple ones. There's now also support for panels to provide display timings rather than fixed modes, which should allow panels to work with a larger number of display drivers. Eventually drivers should migrate to this new interface and the fixed modes removed from panels. There are also a couple of sparse fixes for the PS8622 and PS8625 bridge drivers. * tag 'drm/panel/for-4.1-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/panel: Add support for Ampire AM-800480R3TMQW-A1H 800x480 7" panel of: Add vendor prefix for Ampire Co., Ltd. drm/panel: Add display timing for HannStar HSD070PWW1 drm/panel: simple: Add display timing support drm/panel: Add display timing support drm/panel: Add support for OrtusTech COM43H4M85ULC panel of: Add vendor prefix for Ortus Technology Co., Ltd. drm/panel: Add bus format for Giantplus GPG482739QS5 panel drm/panel: simple: Add support for AUO b101ean01 panel drm/panel: simple: Add support for Innolux ZJ070NA-01P drm/panel: simple: Add support for Innolux AT043TN24 drm/panel: simple: Add support for Shelly SCA07010-BFN-LNN drm/panel: simple: Add support for Samsung LTN140AT29 panel drm: Remove unused DRM_MODE_OBJECT_BRIDGE drm/bridge: ptn3460: Fix sparse warnings drm/bridge: ps8622: Fix sparse warnings drm/bridge: Add I2C based driver for ps8622/ps8625 bridge commit 1ddd36eda1a577837826a8e465ab9d43b024d382 Merge: 67a0375 535a65d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:13:06 2015 +1000 Merge tag 'drm/tegra/for-4.1-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/tegra: Changes for v4.1-rc1 Perhaps the most noteworthy change in this set is the implementation of a hardware VBLANK counter using host1x syncpoints. The SOR registers can now be dumped via debugfs, which can be useful while debugging. The IOVA address space maintained by the driver can also be dumped via debugfs. Other than than, these changes are mostly cleanup work, such as making register names more consistent or removing unused code (that was left over after the atomic mode-setting conversion). There's also a fix for eDP that makes the driver cope with firmware that already initialized the display (such as the firmware on the Tegra-based Chromebooks). * tag 'drm/tegra/for-4.1-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/tegra: sor: Reset during initialization drm/tegra: gem: Return 64-bit offset for mmap(2) drm/tegra: hdmi: Name register fields consistently drm/tegra: hdmi: Resets are synchronous drm/tegra: dc: Document tegra_dc_state_setup_clock() drm/tegra: dc: Remove unused callbacks drm/tegra: dc: Remove unused function drm/tegra: dc: Use base atomic state helpers drm/atomic: Add helpers for state-subclassing drivers drm/tegra: dc: Implement hardware VBLANK counter gpu: host1x: Export host1x_syncpt_read() drm/tegra: sor: Dump registers via debugfs drm/tegra: sor: Registers are 32-bit drm/tegra: Provide debugfs file for the IOVA space drm/tegra: dc: Check for valid parent clock commit 67a0375f5e27c1daa50554de7a01fdfa4a9ea0bf Merge: 4d0982c 1d601da Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:11:48 2015 +1000 Merge tag 'omapdrm-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next omapdrm changes for 4.1 * universal plane support * refactoring to prepare work atomic modesetting work * a lot of small fixes * tag 'omapdrm-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (36 commits) drm/omap: tiler: add hibernation callback drm/omap: add hibernation callbacks drm/omap: keep ref to old_fb drm/omap: fix race conditon in DMM drm/omap: fix race condition with dev->obj_list drm/omap: do not use BUG_ON(!spin_is_locked(x)) drm/omap: only ignore DIGIT SYNC LOST for TV output drm/omap: fix race with error_irq drm/omap: use DRM_ERROR_RATELIMITED() for error irqs drm/omap: stop connector polling during suspend drm/omap: remove dummy PM functions drm/omap: tiler: fix race condition with engine->async drm/omap: fix plane's channel selection drm/omap: fix TILER on OMAP5 drm/omap: handle incompatible buffer stride and pixel size drm/omap: fix error handling in omap_framebuffer_create() drm/omap: fix operation without fbdev drm/omap: add a comment why locking is missing drm/omap: add pin refcounting to omap_framebuffer drm/omap: clear omap_obj->paddr in omap_gem_put_paddr() ... commit a67a95134ffddd0ca4527c77e86375c3deb2938f Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Apr 7 16:57:19 2015 -0600 NVMe: Meta data handling through submit io ioctl This adds support for the extended metadata formats through the submit IO ioctl, and simplifies the rest when using a separate metadata format. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7f749d9c109223e4d1724e674e7d603082e85839 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Apr 7 15:34:18 2015 -0600 NVMe: Add translation for block limits Adds SCSI-to-NVMe translation for VPD B0h, block limits inquiry data. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4d0982c6eab072d17201c83d5c7af495fb1dec33 Merge: 502e95c 5d82d1a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 8 11:10:56 2015 +1000 Merge branch 'drm-next0401' of git://github.com/markyzq/kernel-drm-rockchip into drm-next These are based on drm-next branch, fix some drm/rockchip problem. Please pull them. * 'drm-next0401' of git://github.com/markyzq/kernel-drm-rockchip: drm/rockchip: vop: add vop power domain support drm: rockchip: Turn off VT switching on suspend drm/rockchip: register all connectors after bind drm/rockchip: fix clk enable disable mismatch in vop_crtc_mode_set commit 447228023eaa8c96a48a8a459be7a992008df830 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Apr 7 15:48:26 2015 -0600 NVMe: Remove check for null Checking fails static analysis due to additional arithmetic prior to the NULL check. Mapping doesn't return NULL here anyway, so removing the check. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c727040bdaa28cd7aa9dbc086eee7b236e0fb270 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Mar 7 01:43:41 2015 +0300 NVMe: Fix error handling of class_create("nvme") class_create() returns ERR_PTR on failure, so IS_ERR() should be used instead of check for NULL. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1997e625963e24994a81070fef169e78965f6496 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Tue Mar 31 10:43:18 2015 -0700 iscsi-target: TargetAddress in SendTargets should bracket ipv6 addresses "The domainname can be specified as either a DNS host name, a dotted-decimal IPv4 address, or a bracketed IPv6 address as specified in [RFC2732]." See https://bugzilla.redhat.com/show_bug.cgi?id=1206868 Reported-by: Kyle Brantley <kyle@xxxxxxxxxxxxxx> Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7b43b47373d40d557cd7e1a84a0bd8ebc4d745ab Merge: f22e6e8 b18042a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 17:38:31 2015 -0700 Merge tag 'media/v3.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: "A series of fixup patches for version 4.0: - one VB2 core fixup, when stopping the stream; - one VB2 core fixup for dma-contig memory type; - driver fixes at rtl28xx, s5p (tv, jpeg, mfc, soc-camera, sh_veu, cx23885, gspca" * tag 'media/v3.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] rtl28xxu: return success for unimplemented FE callback [media] rtl2832: disable regmap register cache [media] vb2: Fix dma_dir setting for dma-contig mem type [media] media: s5p-mfc: fix broken pointer cast on 64bit arch [media] media: s5p-mfc: fix mmap support for 64bit arch [media] cx23885: fix querycap [media] sh_veu: v4l2_dev wasn't set [media] s5p-mfc: Fix NULL pointer dereference caused by not set q->lock [media] s5p-jpeg: exynos3250: fix erroneous reset procedure [media] s5p-tv: hdmi needs I2C support [media] s5p-jpeg: Initialize cb and cr to zero [media] media: fix gspca drivers build dependencies [media] soc-camera: Fix devm_kfree() in soc_of_bind() [media] media: atmel-isi: increase the burst length to improve the performance [media] vb2: fix 'UNBALANCED' warnings when calling vb2_thread_stop() commit 6b79c57b92cdd90853002980609af516d14c4f9c Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue Apr 7 14:26:47 2015 -0700 mm: numa: disable change protection for vma(VM_HUGETLB) Currently when a process accesses a hugetlb range protected with PROTNONE, unexpected COWs are triggered, which finally puts the hugetlb subsystem into a broken/uncontrollable state, where for example h->resv_huge_pages is subtracted too much and wraps around to a very large number, and the free hugepage pool is no longer maintainable. This patch simply stops changing protection for vma(VM_HUGETLB) to fix the problem. And this also allows us to avoid useless overhead of minor faults. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Suggested-by: Mel Gorman <mgorman@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ce66b032ad7b838bf376e3b1bb4d8bce1a69ee5c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Apr 7 14:26:44 2015 -0700 include/linux/dmapool.h: declare struct device dmapool uses struct device in function arguments but relies on an implicit inclusion to declare struct device causing warnings in some configurations: include/linux/dmapool.h:31:7: warning: 'struct device' declared inside parameter list Fix this by adding a struct device declaration to the file. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a368ab67aa55615a03b2c9c00fb965bee3ebeaa4 Author: Mel Gorman <mgorman@xxxxxxx> Date: Tue Apr 7 14:26:41 2015 -0700 mm: move zone lock to a different cache line than order-0 free page lists Huang Ying reported the following problem due to commit 3484b2de9499 ("mm: rearrange zone fields into read-only, page alloc, statistics and page reclaim lines") from the Intel performance tests 24b7e5819ad5cbef 3484b2de9499df23c4604a513b ---------------- -------------------------- %stddev %change %stddev \ | \ 152288 \261 0% -46.2% 81911 \261 0% aim7.jobs-per-min 237 \261 0% +85.6% 440 \261 0% aim7.time.elapsed_time 237 \261 0% +85.6% 440 \261 0% aim7.time.elapsed_time.max 25026 \261 0% +70.7% 42712 \261 0% aim7.time.system_time 2186645 \261 5% +32.0% 2885949 \261 4% aim7.time.voluntary_context_switches 4576561 \261 1% +24.9% 5715773 \261 0% aim7.time.involuntary_context_switches The problem is specific to very large machines under stress. It was not reproducible with the machines I had used to justify the original patch because large numbers of CPUs are required. When pressure is high enough, the cache line is bouncing between CPUs trying to acquire the lock and the holder of the lock adjusting free lists. The intention was that the acquirer of the lock would automatically have the cache line holding the free lists but according to Huang, this is not a universal win. One possibility is to move the zone lock to its own cache line but it increases the size of the zone. This patch moves the lock to the other end of the free lists where they do not contend under high pressure. It does mean the page allocator paths now require more cache lines but Huang reports that it restores performance to previous levels on large machines %stddev %change %stddev \ | \ 84568 \261 1% +94.3% 164280 \261 1% aim7.jobs-per-min 2881944 \261 2% -35.1% 1870386 \261 8% aim7.time.voluntary_context_switches 681 \261 1% -3.4% 658 \261 0% aim7.time.user_time 5538139 \261 0% -12.1% 4867884 \261 0% aim7.time.involuntary_context_switches 44174 \261 1% -46.0% 23848 \261 1% aim7.time.system_time 426 \261 1% -48.4% 219 \261 1% aim7.time.elapsed_time 426 \261 1% -48.4% 219 \261 1% aim7.time.elapsed_time.max 468 \261 1% -43.1% 266 \261 2% uptime.boot Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Reported-by: Huang Ying <ying.huang@xxxxxxxxx> Tested-by: Huang Ying <ying.huang@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3937567ded412bd03b327b596a21eb4bb6377702 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Apr 7 14:12:04 2015 +0200 clk: qcom: fix driver dependencies Support for Qualcomm's clock controllers should be available only on Qualcomm platforms. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 87842661a315618dfdeeede188257e4011164023 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Apr 7 20:29:08 2015 +0200 MIPS: Octeon: Don't set .owner. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 04f156c9a5cc34729554e561b33cd3f0efd953a6 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Apr 7 15:01:48 2015 +0200 MIPS: Netlogic: Fix double inclusion of <asm/netlogic/common.h>. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8af2f6967cb9eeedb0f85979a8c20a59a6332d50 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Apr 7 14:59:18 2015 +0200 MIPS: Fix double inclusion of headers in misalignment emulator. Introduced in 34c2f668d0f6b2ca1c076d8170d6cd4f2235a9d4 (MIPS: microMIPS: Add unaligned access support.) Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5ffd7c8b13643f4bb6e35b2eababf5336d5e8353 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:32:22 2015 +0100 MIPS: DEC: Do not set up the FPU interrupt if no FPU Following the arrangement for processors that wire FPU exceptions to the FPE CPU exception handle the case where no FPU is in use -- which for DECstation systems will only ever happen when the "nofpu" kernel option has been used -- do not register the FPU interrupt in such a case either. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9714/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f02cf4691e19ab61d4415b2fbfeb64aa8a93757e Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:32:08 2015 +0100 MIPS: DEC: Implement FPU interrupt counter Implement a cheap way to count FPU interrupts for R2k/R3k DECstation systems. Do this manually in handcoded assembly, rather than calling `kstat_incr_irq_this_cpu' that would require setting up a stack frame and a lot of redirection. This is not going to be a problem because the FPU interrupt is local to the CPU and also there is one CPU only anyway. So at bootstrap determine the address of the correct location within `struct irq_desc', and then only refer to it directly in the interrupt handler. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9713/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7aecd5ca80d1c08f882a5357ddae8c677c7fd1af Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:54 2015 +0100 MIPS: Factor out FPU feature probing Factor out FPU feature probing, mainly to remove code duplication from `fpu_disable'. No functional change although shuffle some code to avoid forward references. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9712/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9b26616c8d9dae53fbac7f7cb2c6dd1308102976 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:48 2015 +0100 MIPS: Respect the ISA level in FCSR handling Define the central place the default FCSR value is set from, initialised in `cpu_probe'. Determine the FCSR mask applied to values written to the register with CTC1 in the full emulation mode and via ptrace(2), according to the ISA level of processor hardware or the writability of bits 31:18 if actual FPU hardware is used. Software may rely on FCSR bits whose functions our emulator does not implement, so it should not allow them to be set or software may get confused. For ptrace(2) it's just sanity. [ralf@xxxxxxxxxxxxxx: Fixed double inclusion of <asm/current.h>.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9711/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 232b6ec5df874236166fb0167cd473601a631715 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:43 2015 +0100 MIPS: math-emu: Make ABS.fmt and NEG.fmt arithmetic again The ABS.fmt and NEG.fmt instructions have been specified as arithmetic in the MIPS architecture, which in particular implies handling NaN data in the usual way with qNaN bit patterns propagated unchanged and sNaN bit patterns signalling the usual IEEE 754 Invalid Operation exception and quieted by default. A series of changes applied over time to our implementation: c5033d78 [MIPS] ieee754[sd]p_neg workaround cea2be44 MIPS: Fix abs.[sd] and neg.[sd] emulation for NaN operands has led to the current situation where the sign bit is updated according to the operation requested even for NaN inputs. This is according to these commits a workaround so that broken binaries produced by GCC disregarding the properties of these instructions have a chance to work. For sNaN inputs this remains within IEEE Std 754 as the standard leaves the choice of output qNaN bit patterns produced under the default Invalid Operation exception handling for individual sNaN input bit patterns to implementer's discretion, even though it still recommends as much NaN input information to be preserved in NaN outputs. For qNaN inputs however it violates the standard as it requires a qNaN input bit patterns to propagate unchanged to output. This is also unlike real MIPS FPU hardware behaves where sNaN and/or qNaN processing has been fully implemented with no Unimplemented Operation exception signalled. Such hardware propagates any input qNaN bit pattern unchanged. It also quiets any input sNaN bit pattern in an implementer-specific manner, for example the MIPS 74Kf processor returns the default qNaN pattern with the sign bit always clear and the Broadcom SB-1 and BMIPS5000 processors propagate the input sNaN bit pattern with the sign bit unchanged and the quiet bit first cleared in the trailing significand field and then the next lower bit set if clearing the quiet bit left the field with no other bit set. Especially the latter observation indicates the limited usefulness of the workaround as it will cover many hardware configurations, but not all of them, only making it harder to discover such broken binaries that need to be recompiled with GCC told to avoid the use of ABS.fmt and NEG.fmt instructions where non-arithmetic semantics is required by the algorithm used. Revert the damage done by the series of changes then, and take the opportunity to simplify implementation by calling `ieee754dp_sub' and `ieee754dp_add' as required and also the rounding mode set towards -Inf temporarily so that the sign of 0 is correctly handled. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9710/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f1f3b7ebac08161761c352fd070cfa07b7b94c54 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:38 2015 +0100 MIPS: math-emu: Define IEEE 754-2008 feature control bits Define IEEE 754-2008 feature control bits: FIR.HAS2008, FCSR.ABS2008 and FCSR.NAN2008, and update the `_ieee754_csr' structure accordingly. For completeness define FIR.UFRP too. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9709/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c491cfa2ca804e58f4e88386736c1608c82da08a Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:33 2015 +0100 MIPS: math-emu: Implement the FCCR, FEXR and FENR registers Implement the FCCR, FEXR and FENR "shadow" FPU registers for the architecture levels that include them, for the CFC1 and CTC1 instructions in the full emulation mode. For completeness add macros for the CP1 UFR and UNFR registers too, no actual implementation though. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9708/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f684362689ddc4a4e055be438d6416cc280a1372 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:26 2015 +0100 MIPS: math-emu: Set FIR feature flags for full emulation Implement FIR feature flags in the FPU emulator according to features supported and architecture level requirements. The W, L and F64 bits have only been added at level #2 even though the features they refer to were also included with the MIPS64r1 ISA and the W fixed-point format also with the MIPS32r1 ISA. This is only relevant for the full emulation mode and the emulated CFC1 instruction as well as ptrace(2) accesses. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9707/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9cb60e202631d71b7b8d38fa84ae7663805244b6 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:21 2015 +0100 MIPS: Correct ISA masking in FPU feature determination Correct an ISA level determination problem introduced with 8b8aa636 [MIPS: kernel: cpu-probe.c: Add support for MIPS R6], reverting explicit masking against individual `MIPS_CPU_ISA_*' macros in FPU feature determination. Feature macros such as `cpu_has_mips_r' cannot be used here, because they operate on CPU #0 and we want to refer to the current CPU instead. They cannot be used for masking against the current CPU either because they mask against CPU #0 too, e.g.: # define cpu_has_mips32r1 (cpu_data[0].isa_level & MIPS_CPU_ISA_M32R1) Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9706/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 304acb717e5b67cf56f05bc5b21123758e1f7ea0 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:15 2015 +0100 MIPS: Set `si_code' for SIGFPE signals sent from emulation too Rework `process_fpemu_return' and move IEEE 754 exception interpretation there, from `do_fpe'. Record the cause bits set in FCSR before they are cleared and pass them through to `process_fpemu_return' so as to set `si_code' correctly too for SIGFPE signals sent from emulation rather than those issued by hardware with the FPE processor exception only. For simplicity `mipsr2_decoder' assumes `*fcr31' has been preinitialised and only sets it to anything if an FPU instruction has been emulated, which in turn is the only case SIGFPE can be issued for here. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9705/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 443c44032a54f9acf027a8e688380fddc809bc19 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:10 2015 +0100 MIPS: Always clear FCSR cause bits after emulation Clear any FCSR cause bits recorded in the saved FPU context after emulation in all cases rather than in `do_fpe' only, so that any unmasked IEEE 754 exception left from emulation does not cause a fatal kernel-mode FPE hardware exception with the CTC1 instruction used by the kernel to subsequently restore FCSR hardware from the saved FPU context. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9704/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ed2d72c1eb3643b7c109bdf387563d9b9a30c279 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:06 2015 +0100 MIPS: Respect the FCSR exception mask for `si_code' Respect the FCSR exception mask when interpreting the IEEE 754 exception condition to report with SIGFPE in `si_code', so as not to use one that has been masked where a different one set in parallel caused the FPE hardware exception to trigger. As per the IEEE Std 754 the Inexact exception can happen together with Overflow or Underflow. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9703/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cfafc4feb39a5f5f12cf30da33c0b6ae89ce907d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:27:01 2015 +0100 MIPS: math-emu: Move long fixed-point support into an `ar' library Complement 593d33fe [MIPS: math-emu: Move various objects into an ar library.] and also move sp_tlong.o, sp_flong.o, dp_tlong.o, and dp_flong.o into an `ar' library. These objects implement long fixed-point format support that can be omitted from MIPS I, MIPS II and MIPS32r1 configurations. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9702/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9ab4471c9f1b3e986f4d429951492f736c888ff6 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:56 2015 +0100 MIPS: math-emu: Correct delay-slot exception propagation Restore EPC at the branch whose delay slot is emulated if the delay-slot instruction signals. This is so that code in `fpu_emulator_cop1Handler' does not see EPC having advanced and mistakenly successfully resume userland execution from the location at the branch target in that case. Restoring EPC guarantees an immediate exit from the emulation loop and if EPC hasn't advanced at all since entering the loop, also issuing the signal reported by the delay-slot instruction. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9701/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2d83fea786d7aeb5b3b76bd492d9b3bccc0f823c Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:49 2015 +0100 MIPS: Correct FP ISA requirements Correct ISA requirements for floating-point instructions: * the CU3 exception signifies a real COP3 instruction in MIPS I & II, * the BC1FL and BC1TL instructions are not supported in MIPS I, * the SQRT.fmt instructions are indeed supported in MIPS II, * the LDC1 and SDC1 instructions are indeed supported in MIPS32r1, * the CEIL.W.fmt, FLOOR.W.fmt, ROUND.W.fmt and TRUNC.W.fmt instructions are indeed supported in MIPS32, * the CVT.L.fmt and CVT.fmt.L instructions are indeed supported in MIPS32r2 and MIPS32r6, * the CEIL.L.fmt, FLOOR.L.fmt, ROUND.L.fmt and TRUNC.L.fmt instructions are indeed supported in MIPS32r2 and MIPS32r6, * the RSQRT.fmt and RECIP.fmt instructions are indeed supported in MIPS64r1, Also simplify conditionals for MIPS III and MIPS IV FPU instructions and the handling of the MOVCI minor opcode. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9700/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 80cbfad790962125b542cb0cb637954c04386b30 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:44 2015 +0100 MIPS: Correct MIPS I FP context layout Implement the correct ordering of individual floating-point registers within double-precision register pairs for the MIPS I FP context, as required by our FP emulation code and expected by userland talking via ptrace(2). Use L.D and S.D assembly macros that do the right thing like LDC1 and SDC1 from MIPS II up, avoiding the need to mess up with endianness conditionals. This in particular fixes the handling of denormals and NaN generation in Unimplemented Operation emulation traps. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9699/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7737b20b9e071f3595582686e894bf56377c43e4 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:37 2015 +0100 MIPS: math-emu: Fix delay-slot emulation cache incoherency Correct a cache coherency regression introduced with be1664c4 [Another round of fixes for the fp emulator.] for the emulation frame used in delay-slot emulation. Two instructions are copied into the frame and as from the commit referred a cache synchronisation call is made for the second instruction aka `badinst' of the two only. The `flush_cache_sigtramp' interface is reused that guarantees that synchronisation will be made for 8 bytes or 2 instructions starting from the address requested, although if cache lines are wider then a larger area may be synchronised. Change the call to point to the first of the two instructions aka `emul' instead, removing unpredictable behaviour resulting from cache incoherency. This bug only ever manifested itself on systems implementing 4-byte cache lines, typically MIPS I systems, causing all kinds of weirdness. This is because the sequence of two instructions starting from `emul' is 8-byte aligned and for 8-byte or wider cache lines the line synchronised will span both, so the vast majority of systems have escaped unharmed. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9698/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c9875032015ec94033295382a098657d4e38bf89 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:32 2015 +0100 MIPS: Fix BREAK code interpretation heuristics Do not lose the other half of the BREAK code where there is an upper half. This is so that e.g. `BREAK 7, 7' is not interpreted as a divide by zero trap, while `BREAK 0, 7' or `BREAK 7, 0' still are. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9697/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f6a31da50158c1003bd487968d89a6b27ff25bb6 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:27 2015 +0100 MIPS: BREAK instruction interpretation corrections Add the missing microMIPS BREAK16 instruction code interpretation and reshape code removing instruction fetching duplication and the separate call to `do_trap_or_bp' in the MIPS16 path. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9696/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 68893e0051419ccdc14fd6eafcdecc96533c6cc3 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:21 2015 +0100 MIPS: Correct MIPS16 BREAK code interpretation Correct the interpretation of the immediate MIPS16 BREAK instruction code embedded in the instruction word across bits 10:5 rather than 11:6 as current code implies, fixing the interpretation of integer overflow and divide by zero traps. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9695/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 18a2c2c6b9319503eeac8a38b62fc82c9ff81b0d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:26:04 2015 +0100 MIPS: Correct `nofpu' non-functionality The `cpu_has_fpu' feature flag must not be hardcoded to 1 or the `nofpu' kernel option will be ignored. Remove any such overrides and add a cautionary note. Hardcoding to 0 is fine for FPU-less platforms. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9694/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e06b530b92364b2d6ce2981f2c775d2e79dc8f21 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:57 2015 +0100 MIPS: math-emu: Make NaN classifiers static The `ieee754sp_isnan' and `ieee754dp_isnan' NaN classifiers are now no longer externally referred, remove their header prototypes and make them local to the two only respective places still making use of them. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9693/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b0c2f8fbdb52b95b969c96994bcab7c084530199 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:52 2015 +0100 MIPS: math-emu: Optimise qNaN handling in `ieee754sp_fdp' Rewrite qNaN handling in `ieee754sp_fdp' using the `ieee754_class_nan' helper recently added, removing the external call to `ieee754sp_isnan' and reducing the size of code by 16 instructions or 64 bytes. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9692/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 42fa24242182771394ae93361914b7da4099a60d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:48 2015 +0100 MIPS: math-emu: Remove dead comparison helpers None of the comparison helpers in ieee754.h is used, remove them. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9691/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bd267a53055c1a0fb3a8ad7fa74ae91ece13dcfb Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:43 2015 +0100 MIPS: math-emu: Remove redundant code from NaN comparison Remove a redundant call to `ieee754_setandtestcx' in `ieee754sp_cmp' and `ieee754dp_cmp'. The IEEE 754 exception requested will have already been set by a call to `ieee754_setcx' immediately above, because `sig' has to be non-zero to reach here, and the comparison result returned will be 0 regardless of the result from the call. Simplify the return expression remaining. All this reducing the size of code by 16 and 12 instructions or 64 and 48 bytes respectively. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9690/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c9a1084516e35ff4f1d5b83e77530ed019ca364b Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:38 2015 +0100 MIPS: math-emu: Optimise NaN handling in comparisons We have the input operands already classified in `ieee754sp_cmp' and `ieee754dp_cmp' comparison operations, so use the class obtained to tell NaNs and numbers apart rather than classifying inputs again for this purpose, reducing the size of code by 24 and 40 instructions or 96 and 160 bytes respectively. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9689/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d5afa7e905544a3d9e2bb29d9cafebc8e544c978 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:34 2015 +0100 MIPS: math-emu: Reinstate sNaN quieting handlers Revert the changes made by commit fdffbafb [Lots of FPU bug fixes from Kjeld Borch Egevang.] to `ieee754sp_nanxcpt' and `ieee754dp_nanxcpt' sNaN quieting handlers and their callers so that sNaN processing is done within the handlers againg. Pass the sNaN causing an IEEE 754 invalid operation exception down to the relevant handler. Pass the sNaN in `fs' where two sNaNs are supplied to a binary operation. Set the Invalid Operation FCSR exception bits in the quieting handlers rather than at their call sites throughout. Make the handlers exclusive for sNaN processing. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9688/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 539bfb579babbe5a14b405370ecc99b4ed53bc4e Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:30 2015 +0100 MIPS: math-emu: Don't pass qNaNs through quieting handlers Don't call the `ieee754sp_nanxcpt' and `ieee754dp_nanxcpt' sNaN quieting handlers for a qNaN supplied to floating-point format conversions or SQRT.S/SQRT.D instructions, or for a qNaN produced out of a negative operand supplied to SQRT.S/SQRT.D instructions. Return the qNaN right away in these cases. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9687/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d19cf86e2e295b0406b5fa3a35609fb0a99f1bde Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:23 2015 +0100 MIPS: math-emu: Factor out NaN FP format conversions Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9686/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ec98f9a01ffb23ea72471ccbc8c390c8c2e4c0b3 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:18 2015 +0100 MIPS: math-emu: Update sNaN quieting handlers Commit fdffbafb [Lots of FPU bug fixes from Kjeld Borch Egevang.] replaced the two single `ieee754sp_nanxcpt' and `ieee754dp_nanxcpt' places, where sNaN quieting used to happen for single and double floating-point operations respectively, with individual qNaN instantiations across all the call sites instead. It also made most of these two functions dead code as where called on a qNaN they return right away. To revert the damage and make sNaN quieting uniform again first rewrite `ieee754sp_nanxcpt' and `ieee754dp_nanxcpt' to do the same quieting all the call sites do, that is return the default qNaN encoding for all input sNaN values; never propagate any sNaN payload bits from its trailing significand field. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9685/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1f6d2c29b08bbd29a3d3b8476e9a26546e03104e Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:14 2015 +0100 MIPS: Use `FPU_CSR_ALL_X' in `__build_clear_fpe' Replace a hardcoded numeric bitmask for FCSR cause bits with `FPU_CSR_ALL_X' in `__build_clear_fpe'. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9684/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 27e28e8ec47a5ce335ebf25d34ca356c80635908 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:08 2015 +0100 MIPS: Normalise code flow in the CpU exception handler Changes applied to `do_cpu' over time reduced the use of the SIGILL issued with `force_sig' at the end to a single CU3 case only in the switch statement there. Move that `force_sig' call over to right where required then and toss out the pile of gotos now not needed to skip over the call, replacing them with regular breaks out of the switch. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9683/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d4f5b088937e2dae7528245c597dcab7e57eb5f3 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:04 2015 +0100 MIPS: math-emu: Factor out CFC1/CTC1 emulation Move CFC1/CTC1 emulation code to separate functions to avoid excessive indentation in forthcoming changes. Adjust formatting in a minor way and remove extraneous round brackets. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9682/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cb5d4aad6844cdbe2f3b9f5d581ae1c9ec342009 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:25:00 2015 +0100 MIPS: bitops.h: Avoid inline asm for constant FLS GCC is smart enough to substitute the final result for FLS calculations as implemented in the fallback C code we have in `__fls' and `fls' applied to constant values. The presence of inline asm defeats the compiler though, forcing it to emit extraneous CLZ/DCLZ calculation for processors that support these instructions. Use `__builtin_constant_p' then to avoid inline asm altogether for constants. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9681/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2cfcf8a8313bd9bdb54d62ca4ea581f130869aca Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:56 2015 +0100 MIPS: math-emu: Remove `modeindex' macro Commit 56a64733 [MIPS: math-emu: Switch to using the MIPS rounding modes.] removed the distinction between hardware and emulator rounding mode encodings, the hardware encoding is now used in emulation as well. Complement the change and remove the `modeindex' macro previously used for indexing into encoding translation tables, it now does nothing and only obfuscates code by reinserting the value extracted from FCSR. Adjust comments accordingly. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9680/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4a7c2371823a4d35eb4d4f5802c472469934c57d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:51 2015 +0100 MIPS: Reindent R6 RI exception emulation Fold a nested `if' statement for the R6 case in `do_ri' into its containing `if' block, removing excessive indentation causing code to extend beyond 79 columns. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9679/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fad0bfdb893acfc2444deba6111e700ef013a954 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:46 2015 +0100 MIPS: mips-r2-to-r6-emul.h: Inline empty `mipsr2_decoder' Use `static inline' rather than `static __maybe_unused' for `mipsr2_decoder' in the empty case, making inlining explicit where it will happen anyway. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9678/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a49dc4276e07fb94858bcaf46bf99ac3effd026a Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:41 2015 +0100 MIPS: ELF: Drop `get_fp_abi' Commit 46490b57 [MIPS: kernel: elf: Improve the overall ABI and FPU mode checks] reduced `get_fp_abi' to an elaborate pass-through. Drop it then. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9677/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b844bc781b7bb4fa49c0a26f998d9ba10ecc3742 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:35 2015 +0100 MIPS: math-emu: Fix oversize lines in comparisons Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9676/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 241e9c465f5ff424b1b6de0d8100962a9bddc3f3 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:29 2015 +0100 MIPS: Correct the comment for and reformat `movf_func' Correct a copy-and-paste issue with the description for `movf_func' referring to `movt_func'. Reformat the former function to match the latter. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9675/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5d77cf2895edea277878a526b4c47abfdbf6ffd2 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:24 2015 +0100 MIPS: math-emu: Reindent `bc_op' emulation Correct the double-tab indentation of the branch-likely not-taken case. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9674/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f6c70ff4de7f244f2aac0b25925fdcfcfdfe4578 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:18 2015 +0100 MIPS: Clarify the comment for `__cpu_has_fpu' Reword the comment for `__cpu_has_fpu' to make it unambiguous this code is for external floating-point units only, generally MIPS I processors using the original CP1 hardware interface. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9673/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1f443779009c10e118e03569939807a4bfe0d330 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:14 2015 +0100 MIPS: Correct the comment for FPU emulator traps Adjust the explanatory comment for FPU emulator traps according to ba3049ed [MIPS: Switch FPU emulator trap to BREAK instruction.]; originally coming from `do_ade'. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9672/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1796ec774237948156936cd4b8f543585699e8a9 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:09 2015 +0100 MIPS: ieee754.h: Supplement comments for special values Add the remaining missing comments for IEEE 754 special value array indices. Reindent macro definitions for consistency. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9671/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b3fea96269679a50802ffb5051d19b8e3f7dd80e Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:24:01 2015 +0100 MIPS: ieee754.h: Correct comments for special values IEEE754_SPCVAL_NMIN denotes the index into the special value array where the closest to zero negative normal number expressible is stored. Similarly IEEE754_SPCVAL_NMIND denotes such index for the closest to zero negative subnormal number expressible. Make comments match that. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9670/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1054533a322204042344b563012421e2dff6104d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:23:56 2015 +0100 MIPS: mipsregs.h: Reindent CP0 Cause macros Reindent CP0 Cause macros for a single space after #define, leaving extra indentation for individual Interrupt Pending bits as with CP0 Status register's Interrupt Mask bits. [ralf@xxxxxxxxxxxxxx: Fix conflict.] [ralf@xxxxxxxxxxxxxx: Fix indentation of the CAUSEB_FDCI and CAUSEF_FDCI definitions.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9669/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e08384cad86b5ddd78ff8ef3262e846a1c4b2faa Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:23:50 2015 +0100 MIPS: mipsregs.h: Move TX39 macros out of the way TX39 CP0 Configuration Register 3 macro definitions have been randomly thrown in the middle of a block of CP0 Status register value macros. Move them to the end of the whole CP0 register value macro block, complementing the location of the TX39 Cache register name macro at the end of the CP0 register name macro block. [ralf@xxxxxxxxxxxxxx: Fix conflict.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9668/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fda51906ea282c554fbe735d2000d9b00a0c6669 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:23:46 2015 +0100 MIPS: mipsregs.h: Reorder CP1 macro definitions Originally CP1 macros were placed between CP0 register name macros and CP0 register value macros. As changes were applied to the header the position of CP1 macros gradually has become more and more arbitrary and two separate blocks were created. This may only cause confusion. Move them out of the way then and place together after all the CP0 macros. No semantic change. [ralf@xxxxxxxxxxxxxx: Fix conflict.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9667/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 124f43d30ffe84a9ffd1fe448022467a2bfb70bc Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:23:41 2015 +0100 MIPS: mipsregs.h: Remove broken comments Remove a duplicate FPU Status Register reference that has been there since forever and a mistakenly copied and pasted R4xx0 manual reference. [ralf@xxxxxxxxxxxxxx: Fix conflict.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9666/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fab43ef4c8b825d8cbe05e8f70c9138de1951980 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Fri Apr 3 23:23:34 2015 +0100 DOC: kernel-parameters.txt: Mark `nofpu' for MIPS too The MIPS port has supported this option since forever, long before SH was even in plans. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9665/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ee90b81203a91d4e5385622811ee7872b5bcfe76 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Apr 6 15:22:54 2015 -0700 hv_netvsc: Fix the packet free when it is in skb headroom In the two places changed, we now use netvsc_xmit_completion() which properly frees hv_netvsc_packet in or not in skb headroom. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 721514222db13498613706709409c21c105e0f4a Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Apr 6 15:22:53 2015 -0700 hv_netvsc: Define a macro RNDIS_AND_PPI_SIZE The sum of RNDIS msg and PPI struct sizes is used in multiple places, so we define a macro for them. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d158852a8089099a6959ae235b20f230871982f Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Apr 6 15:22:52 2015 -0700 hv_netvsc: Clean up two unused variables Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2646c831c00c5d22aa72b79d24069c1b412cda7c Author: Daniel Lee <Longinus00@xxxxxxxxx> Date: Mon Apr 6 14:37:27 2015 -0700 tcp: RFC7413 option support for Fast Open client Fast Open has been using an experimental option with a magic number (RFC6994). This patch makes the client by default use the RFC7413 option (34) to get and send Fast Open cookies. This patch makes the client solicit cookies from a given server first with the RFC7413 option. If that fails to elicit a cookie, then it tries the RFC6994 experimental option. If that also fails, it uses the RFC7413 option on all subsequent connect attempts. If the server returns a Fast Open cookie then the client caches the form of the option that successfully elicited a cookie, and uses that form on later connects when it presents that cookie. The idea is to gradually obsolete the use of experimental options as the servers and clients upgrade, while keeping the interoperability meanwhile. Signed-off-by: Daniel Lee <Longinus00@xxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f9b838b71eb78a27de27a12ca5de8542fac3115 Author: Daniel Lee <Longinus00@xxxxxxxxx> Date: Mon Apr 6 14:37:26 2015 -0700 tcp: RFC7413 option support for Fast Open server Fast Open has been using the experimental option with a magic number (RFC6994) to request and grant Fast Open cookies. This patch enables the server to support the official IANA option 34 in RFC7413 in addition. The change has passed all existing Fast Open tests with both old and new options at Google. Signed-off-by: Daniel Lee <Longinus00@xxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ad2a8365975d6794d79a4e4dde60fcc036692c7 Author: Beshay, Joseph <jdb109120@xxxxxxxxxxxx> Date: Mon Apr 6 18:00:56 2015 +0000 netem: Fixes byte backlog accounting for the first of two chained netem instances Fixes byte backlog accounting for the first of two chained netem instances. Bytes backlog reported now corresponds to the number of queued packets. When two netem instances are chained, for instance to apply rate and queue limitation followed by packet delay, the number of backlogged bytes reported by the first netem instance is wrong. It reports the sum of bytes in the queues of the first and second netem. The first netem reports the correct number of backlogged packets but not bytes. This is shown in the example below. Consider a chain of two netem schedulers created using the following commands: $ tc -s qdisc replace dev veth2 root handle 1:0 netem rate 10000kbit limit 100 $ tc -s qdisc add dev veth2 parent 1:0 handle 2: netem delay 50ms Start an iperf session to send packets out on the specified interface and monitor the backlog using tc: $ tc -s qdisc show dev veth2 Output using unpatched netem: qdisc netem 1: root refcnt 2 limit 100 rate 10000Kbit Sent 98422639 bytes 65434 pkt (dropped 123, overlimits 0 requeues 0) backlog 172694b 73p requeues 0 qdisc netem 2: parent 1: limit 1000 delay 50.0ms Sent 98422639 bytes 65434 pkt (dropped 0, overlimits 0 requeues 0) backlog 63588b 42p requeues 0 The interface used to produce this output has an MTU of 1500. The output for backlogged bytes behind netem 1 is 172694b. This value is not correct. Consider the total number of sent bytes and packets. By dividing the number of sent bytes by the number of sent packets, we get an average packet size of ~=1504. If we divide the number of backlogged bytes by packets, we get ~=2365. This is due to the first netem incorrectly counting the 63588b which are in netem 2's queue as being in its own queue. To verify this is the case, we subtract them from the reported value and divide by the number of packets as follows: 172694 - 63588 = 109106 bytes actualled backlogged in netem 1 109106 / 73 packets ~= 1494 bytes (which matches our MTU) The root cause is that the byte accounting is not done at the same time with packet accounting. The solution is to update the backlog value every time the packet queue is updated. Signed-off-by: Joseph D Beshay <joseph.beshay@xxxxxxxxxxxx> Acked-by: Hagen Paul Pfeifer <hagen@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 812034f11628aaaab0e2d7af1d3bc50a49eb396b Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Mon Apr 6 20:23:23 2015 +0530 cxgb4: Move ethtool related code to a separate file Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40f66c05c360777e847033ddbe076d88123719d1 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Apr 7 21:52:22 2015 +0300 Bluetooth: Add local SSP OOB data to OOB ext data mgmt command The Read Local Out Of Band Extended Data mgmt command is specified to return the SSP values when given a BR/EDR address type as input parameter. The returned values may include either the 192-bit variants of C and R, or their 256-bit variants, or both, depending on the status of Secure Connections and Secure Connections Only modes. If SSP is not enabled the command will only return the Class of Device value (like it has done so far). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 388069d30240e9524ad69ce6cc692fff2a5a7829 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 7 12:10:16 2015 +0200 netdevice.h: remove iflink description Also move 'group' description to match the order of the net_device structure. Fixes: 7a66bbc96ce9 ("net: remove iflink field from struct net_device") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26ba9e8c3f455b1328d805937a320719cb152e80 Merge: e0e8db2 a143c40 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 7 17:29:47 2015 -0400 Merge branch 'netns-next' Nicolas Dichtel says: ==================== netns: enhance netlink interface for nsid The first patch is a small cleanup. The second patch implements notifications for netns id events. And the last one allows to dump existing netns id from userland. iproute2 patches are available, I can send them on demand. v2: drop the first patch (the fix is now in net-next) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a143c40c32bb8a6d6a556920646021d7e96d1f91 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 7 11:51:54 2015 +0200 netns: allow to dump netns ids Which this patch, it's possible to dump the list of ids allocated for peer netns. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a9634545c7051f567096117d417e9c3be24706d Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 7 11:51:53 2015 +0200 netns: notify netns id events With this patch, netns ids that are created and deleted are advertised into the group RTNLGRP_NSID. Because callers of rtnl_net_notifyid() already know the id of the peer, there is no need to call __peernet2id() in rtnl_net_fill(). Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b111e4e1112316e800dd1f1debdf017d2cf940b2 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Tue Apr 7 11:51:52 2015 +0200 netns: minor cleanup in rtnl_net_getid() No need to initialize err, it will be overridden by the value of nlmsg_parse(). Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d619ffcfbd07983d34dc87d474af6cb5c21adf27 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Apr 7 21:52:21 2015 +0300 Bluetooth: Update SSP OOB data EIR definitions Since Bluetooth 4.1 there are two additional values for SSP OOB data, namely C-256 and R-256. This patch updates the EIR definitions to take into account both the 192 and 256 bit variants of C and R. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 541d529f9845d249d1cb84f1b395e48f0a117e3f Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Tue Apr 7 13:42:12 2015 -0700 drivers: thermal: st: remove several sparse warnings Simple patch to make symbols static. Symbols that are not shared with other parts of the kernel can be made static. This change also removes several sparse complains. Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Lee Jones <lee.jones@xxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Ajit Pal Singh <ajitpal.singh@xxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit d877a62b20f0592971a3c434486b58c425492732 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:09 2015 +0100 thermal: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 7e497a7375fe5d5c5d751a71d006f4fd515bbcd8 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Mar 21 15:02:55 2015 +0100 thermal: Do not log an error if thermal_zone_get_temp returns -EAGAIN Some temperature sensors only get updated every few seconds and while waiting for the first irq reporting a (new) temperature to happen there get_temp operand will return -EAGAIN as it does not have any data to report yet. Not logging an error in this case avoids messages like these from showing up in dmesg on affected systems: [ 1.219353] thermal thermal_zone0: failed to read out thermal zone 0 [ 2.015433] thermal thermal_zone0: failed to read out thermal zone 0 [ 2.416737] thermal thermal_zone0: failed to read out thermal zone 0 Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 2771d00081a4e70f52a9b290dae1b68b1bdf41f6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:42:41 2015 +0100 thermal: rcar: Fix typo in r8a73a4 SoC name r8a73a4 is R-Mobile APE6, not AP6. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit e0e8db2f89bac4529fa12dde2595d6295e313952 Merge: a3786a5 79b16aa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 7 15:29:30 2015 -0400 Merge branch 'udp_tunnel_sk' Prevent UDP tunnels from operating on garbage socket So this should do the rest of the work such that when we encapsulate into a UDP tunnel, the output path works on the UDP tunnel's socket rather than skb->sk. Part of this work is based upon changes done by Jiri Pirko some time ago. Basically the first step is to pass the socket through the nf_hook okfn(), and then next we do the same for the UDP tunnel xmit routines. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79b16aadea32cce077acbe9e229fcb58a7801687 Author: David Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 5 22:19:09 2015 -0400 udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb(). That was we can make sure the output path of ipv4/ipv6 operate on the UDP socket rather than whatever random thing happens to be in skb->sk. Based upon a patch by Jiri Pirko. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> commit f02dee2d148ba854464e7dbf09f1241ee159173a Author: Michal Marek <mmarek@xxxxxxx> Date: Thu Jan 15 10:39:22 2015 +0100 tomoyo: Do not generate empty policy files The Makefile automatically generates the tomoyo policy files, which are not removed by make clean (because they could have been provided by the user). Instead of generating the missing files, use /dev/null if a given file is not provided. Store the default exception_policy in exception_policy.conf.default. Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit bf7a9ab43c2f692bce4ee3ed1456f42c77eb1346 Author: Michal Marek <mmarek@xxxxxxx> Date: Fri Jan 9 14:36:27 2015 +0100 tomoyo: Use if_changed when generating builtin-policy.h Combine the generation of builtin-policy.h into a single command and use if_changed, so that the file is regenerated each time the command changes. The next patch will make use of this. Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 7e114bbf51fbb015dc25d8123e090afcce5b5048 Author: Michal Marek <mmarek@xxxxxxx> Date: Fri Jan 9 14:08:26 2015 +0100 tomoyo: Use bin2c to generate builtin-policy.h Simplify the Makefile by using a readily available tool instead of a custom sed script. The downside is that builtin-policy.h becomes unreadable for humans, but it is only a generated file. Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 7026b1ddb6b8d4e6ee33dc2bd06c0ca8746fa7ab Author: David Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 5 22:19:04 2015 -0400 netfilter: Pass socket pointer down through okfn(). On the output paths in particular, we have to sometimes deal with two socket contexts. First, and usually skb->sk, is the local socket that generated the frame. And second, is potentially the socket used to control a tunneling socket, such as one the encapsulates using UDP. We do not want to disassociate skb->sk when encapsulating in order to fix this, because that would break socket memory accounting. The most extreme case where this can cause huge problems is an AF_PACKET socket transmitting over a vxlan device. We hit code paths doing checks that assume they are dealing with an ipv4 socket, but are actually operating upon the AF_PACKET one. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c984f8a5df085bcf35364a8a870bd4db4da4ed3 Author: David Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 5 22:19:00 2015 -0400 netfilter: Add socket pointer to nf_hook_state. It is currently always set to NULL, but nf_queue is adjusted to be prepared for it being set to a real socket by taking and releasing a reference to that socket when necessary. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 107a9f4dc9211c1f91703d1739d7fd22ac58b332 Author: David Miller <davem@xxxxxxxxxxxxx> Date: Sun Apr 5 22:18:54 2015 -0400 netfilter: Add nf_hook_state initializer function. This way we can consolidate where we setup new nf_hook_state objects, to make sure the entire thing is initialized. The only other place an nf_hook_object is instantiated is nf_queue, wherein a structure copy is used. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3786a5ff7551d03029219f93306106d0a6bdf55 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Apr 5 14:06:28 2015 +0200 cosa: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: David S. Miller <davem@xxxxxxxxxxxxx> commit 27d751bfa41bdc022d1357479ff67c6902c02c8c Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Apr 5 14:06:21 2015 +0200 wan: lmc: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: David S. Miller <davem@xxxxxxxxxxxxx> commit ff61eb422024a4614f898c1c73625e222b219a5d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Apr 7 20:39:19 2015 +0200 spi: Make master->handle_err() callback optional to avoid crashes If a driver doesn't implement the master->handle_err() callback and an SPI transfer fails, the kernel will crash with a NULL pointer dereference: Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0003000 [00000000] *pgd=80000040004003, *pmd=00000000 Internal error: Oops: 80000206 [#1] SMP ARM Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc7-koelsch-05861-g1fc9fdd4add4f783 #1046 Hardware name: Generic R8A7791 (Flattened Device Tree) task: eec359c0 ti: eec54000 task.ti: eec54000 PC is at 0x0 LR is at spi_transfer_one_message+0x1cc/0x1f0 Make the master->handle_err() callback optional to avoid the crash. Also fix a spelling mistake in the callback documentation while we're at it. Fixes: b716c4ffc6a2b0bf ("spi: introduce master->handle_err() callback") Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bbc78c07a51f6fd29c227b1220a9016e585358ba Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 15:38:33 2015 -0600 usb: core: hub: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 59c9904cce77b55892e15f40791f1e66e4d3a1e6 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 15:04:06 2015 -0600 usb: isp1760: hcd: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 74bd7b69801819707713b88e9d0bc074efa2f5e7 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 15:03:13 2015 -0600 usb: dwc2: hcd: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 08debfb13b199716da6153940c31968c556b195d Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 15:00:38 2015 -0600 usb: host: sl811: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7a606ac29752a3e571b83f9b3fceb1eaa1d37781 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:58:53 2015 -0600 usb: host: r8a66597: use new USB_RESUME_TIMEOUT While this driver was already using a 50ms resume timeout, let's make sure everybody uses the same macro so it's easy to fix later should anything go wrong. It also gives a more "stable" expectation to Linux users. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 84c0d178eb9f3a3ae4d63dc97a440266cf17f7f5 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:57:54 2015 -0600 usb: host: oxu210hp: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 595227db1f2d98bfc33f02a55842f268e12b247d Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:55:34 2015 -0600 usb: host: fusbh200: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7e136bb71a08e8b8be3bc492f041d9b0bea3856d Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:54:38 2015 -0600 usb: host: fotg210: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8c0ae6574ccfd3d619876a65829aad74c9d22ba5 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:50:10 2015 -0600 usb: host: isp116x: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 309be239369609929d5d3833ee043f7c5afc95d1 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:46:27 2015 -0600 usb: musb: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Based on original work by Bin Liu <Bin Liu <b-liu@xxxxxx>> Cc: Bin Liu <b-liu@xxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b8fb6f79f76f478acbbffccc966daa878f172a0a Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:44:17 2015 -0600 usb: host: uhci: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ea16328f80ca8d74434352157f37ef60e2f55ce2 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:42:25 2015 -0600 usb: host: ehci: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9e451885deb6262dbaf5cd14aa77d192d9ac759 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:39:13 2015 -0600 usb: host: xhci: use new USB_RESUME_TIMEOUT Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Acked-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 62f0342de1f012f3e90607d39e20fce811391169 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 13 14:34:25 2015 -0600 usb: define a generic USB_RESUME_TIMEOUT macro Every USB Host controller should use this new macro to define for how long resume signalling should be driven on the bus. Currently, almost every single USB controller is using a 20ms timeout for resume signalling. That's problematic for two reasons: a) sometimes that 20ms timer expires a little before 20ms, which makes us fail certification b) some (many) devices actually need more than 20ms resume signalling. Sure, in case of (b) we can state that the device is against the USB spec, but the fact is that we have no control over which device the certification lab will use. We also have no control over which host they will use. Most likely they'll be using a Windows PC which, again, we have no control over how that USB stack is written and how long resume signalling they are using. At the end of the day, we must make sure Linux passes electrical compliance when working as Host or as Device and currently we don't pass compliance as host because we're driving resume signallig for exactly 20ms and that confuses certification test setup resulting in Certification failure. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f56d9e23b78e311fbd992a1bd80b8bf2adaee29b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Apr 5 18:39:27 2015 +0200 ssb: add delay after PCI reset to fix SoC reboots Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 61b559dea40ec1712be4a0ea712a2922a8f38588 Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Date: Wed Apr 1 10:19:57 2015 +0800 ath9k: add extra GPIO led support ar9550 or later chips, the AR_GPIO_IN_OUT register only can control GPIO[0:3]. For the extra GPIO, use standard GPIO calls instead of WMAC internal registers. Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6eb7018705de09b4138ca05d6a157203e0ea791a Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:46 2015 -0600 vfio-pci: Move idle devices to D3hot power state We can save some power by putting devices that are bound to vfio-pci but not in use by the user in the D3hot power state. Devices get woken into D0 when opened by the user. Resets return the device to D0, so we need to re-apply the low power state after a bus reset. It's tempting to try to use D3cold, but we have no reason to inhibit hotplug of idle devices and we might get into a loop of having the device disappear before we have a chance to try to use it. A new module parameter allows this feature to be disabled if there are devices that misbehave as a result of this change. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 561d72ddbbe480e2cae6c1a63c688986586ef2b1 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:44 2015 -0600 vfio-pci: Remove warning if try-reset fails As indicated in the comment, this is not entirely uncommon and causes user concern for no reason. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 80c7e8cc2aaa36944acdfbce46f373101b9f21ff Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:43 2015 -0600 vfio-pci: Allow PCI IDs to be specified as module options This copies the same support from pci-stub for exactly the same purpose, enabling a set of PCI IDs to be automatically added to the driver's dynamic ID table at module load time. The code here is pretty simple and both vfio-pci and pci-stub are fairly unique in being meta drivers, capable of attaching to any device, so there's no attempt made to generalize the code into pci-core. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit ecaa1f6a01544604de5f9531379a303eee886162 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:41 2015 -0600 vfio-pci: Add VGA arbiter client If VFIO VGA access is disabled for the user, either by CONFIG option or module parameter, we can often opt-out of VGA arbitration. We can do this when PCI bridge control of VGA routing is possible. This means that we must have a parent bridge and there must only be a single VGA device below that bridge. Fortunately this is the typical case for discrete GPUs. Doing this allows us to minimize the impact of additional GPUs, in terms of VGA arbitration, when they are only used via vfio-pci for non-VGA applications. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 88c0dead9fb2cc66962b64064770558eecf3eafd Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:40 2015 -0600 vfio-pci: Add module option to disable VGA region access Add a module option so that we don't require a CONFIG change and kernel rebuild to disable VGA support. Not only can VGA support be troublesome in itself, but by disabling it we can reduce the impact to host devices by doing a VGA arbitration opt-out. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 0ea18b40cdd382a8a338d02e06c4646c35bd753b Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Apr 7 11:14:38 2015 -0600 vgaarb: Stub vga_set_legacy_decoding() vga_set_legacy_decoding() is defined in drivers/gpu/vga/vgaarb.c, which is only compiled with CONFIG_VGA_ARB. A caller would therefore get an undefined symbol if the VGA arbiter is not enabled. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> commit fcc658dabf5ef0320de1fbb28a9478e265e60422 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Mar 30 22:27:47 2015 +0900 wl1251: Fix typo in MODULE_DESCRIPTION in wl1251/main.c This patch fix a spelling typo in MODULE_DESCRIPTION in wl1251/main.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 12827fecf4dd47cc6e2b3a37edcdf81b52c9e2fa Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Mar 29 18:29:42 2015 -0700 wireless: Use bool function returns of true/false instead of 1/0 Use bool constants as the return values instead of 1 and 0. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cad737dfde3566e3293e884e8b391e2cae7e8068 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Sat Mar 28 00:22:39 2015 +0900 rtlwifi: Add encryption argument in rtl_is_special_data for checking DHCP packet. rtl8192cu can't connect to AP after physical reconnect. according to dmesg, that problem's cause was DHCP timeout. rtl_is_special_data function checks packet type for adjusting rate. when that function is called from _rtl_rc_get_highest_rix, it can not calculate offset correctly. so i add argument is_encn in rtl_is_special_data. is_enc variable mean that iv header is added in skb parameter. i test only rtl8192cu chipset. because i doesn't have other rtlwifi chipsets. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 00ca18034f62a6a3f29b8e660198e4ea573f2657 Author: Fred Chou <fred.chou.nd@xxxxxxxxx> Date: Fri Mar 13 16:32:38 2015 +0800 ath9k_htc: check seq number instead of cmd id for timeout As the driver may send multiple wmi commands with identical cmd id, it is more robust to check seq number for timeout instead. Signed-off-by: Fred Chou <fred.chou.nd@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6dcaac59d08b77d5730f2ae824bca1c0bf8130dc Merge: 7abccdb 3175520 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Apr 7 19:55:57 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-04-02' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * some more work on LAR * fixes for UMAC scan * more work on debugging framework * more work for 8000 devices * cleanups and small bugfixes commit bca03c959ab377010d87bef2679890a4a4e66e37 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Apr 6 00:52:14 2015 -0700 Bluetooth: hci_uart: Use generic Intel support for address setting The Bluetooth address setting for Intel devices is provided by a generic module now. Start using that module instead of relying it being included in the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 59a077c4792e2226b8a95430c0f17d1098939647 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Apr 6 00:52:13 2015 -0700 Bluetooth: btusb: Move Intel command structs into its own header Since the Intel Bluetooth support has its own header, it makes sense to move all command structs into it. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4185a0f5d0431bf91ea1ec202fdf12e6e3b73c46 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Apr 6 00:52:12 2015 -0700 Bluetooth: btusb: Use generic Intel support for address support The Bluetooth address handling for Intel devices is provided by a generic module now. Start using that module instead of relying it being included in the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 48f0ed1bb68589db5d6566bd3cd28ec675feaf2f Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Apr 6 00:52:11 2015 -0700 Bluetooth: btintel: Introduce generic Intel Bluetooth support The majority of Intel Bluetooth vendor commands are shared between USB and UART transports. This creates a separate module that eventually will hold all Intel specific commands, but for now just start with the commands to change the Bluetooth public address and check for the default address. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 79b8df9362e8bd1951e1fddbd65ca87af8df52c8 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 23:44:59 2015 -0700 Bluetooth: hci_uart: Provide generic H:4 receive framework Future H:4 based UART drivers require custom packet types and custom receive functions. To support this, extended the h4_recv_buf function with a packet definition table. For the default H:4 packets types of ACL data, SCO data and events, provide helpers to reduce the amount of code duplication. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 9a0bb57d2d08f1923aeef3af1877ec0b6f3209ba Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:19 2015 -0700 Bluetooth: btbcm: Add firmware table for UART based devices The Broadcom UART based devices seem to use a little bit different firmare naming prefix. So add a separate table for these devices. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bdd8818e05da187cd028f64ef2c0a2a6a582bcb1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:18 2015 -0700 Bluetooth: hci_uart: Add protocol support for Broadcom UART devices This adds the protocol support for Broadcom based UART devices to enable firmware and patchram download procedure. It is a pretty straight forward H:4 driver with the exception of actually having its own setup and address configuration callbacks. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6ae4fddf78c11dedfb13a518a9050e9b265529ca Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:17 2015 -0700 Bluetooth: hci_uart: Move setup callback into different location The setup callback got wrongly inserted between the enqueue and dequeue callbacks. Move it to a better location. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 34dced9bd6baf677fa6cfbfb65f002601a10d1e7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:16 2015 -0700 Bluetooth: btusb: Update version number of the module The version number is cosmetic, but pretty handy for debugging purposes and since the Broadcom protocol support is now optional, just increase it to indicate the difference. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 941521e24fa8019b94eedecdd0b39942b0060399 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:15 2015 -0700 Bluetooth: btusb: Move Broadcom quirk setting into support module The quirks for Broadcom devices can be set from the setup function and to keep the code simple, just move them into Broadcom support module. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c2bfb10092ece07f9e9cf5096cfeec0ef92a97c5 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:14 2015 -0700 Bluetooth: btusb: Add option for Broadcom protocol support With the generic Broadcom Bluetooth support module, it is possible to turn support for firmware and patchram download into an optional feature. To keep backwards compatibility with previous kernel configurations, the new option defaults to enabled. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1c8ba6d013c553bd13c50c139d652daac3348685 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:13 2015 -0700 Bluetooth: btbcm: Add support for Broadcom controller setup To unify the controller setup of Broadcom devices between USB and UART transport, add the patchram download support into the Broadcom module. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 3e0ac12a1a610b4ab47282a25ee5945064228e35 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:12 2015 -0700 Bluetooth: hci_uart: Use generic functionality from Broadcom module The new Broadcom Bluetooth support module provides generic functionality for changing and checking the Bluetooth device address. Use these new features instead of keeping a duplicate in the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1df1f5910825821ebac5eb1a74da2af8fdcaebf3 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:11 2015 -0700 Bluetooth: btusb: Use generic functionality by Broadcom module The new Broadcom Bluetooth support module provides generic functionality for changing and checking the Bluetooth device address. Use these new features instead of keeping a duplicate in the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4fba30f07f51617438835f75b58e37fb610b2d8d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Apr 5 22:52:10 2015 -0700 Bluetooth: btbcm: Introduce generic Broadcom Bluetooth support The majority of Broadcom Bluetooth vendor commands are shared between USB and UART transports. This creates a separate module that eventually will hold all Broadcom specific commands, but for now just start with the commands to change the Bluetooth public address and check for the default address. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 788a675675b3ec5b64d232eae25e8e3e897cd31b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 22:36:04 2015 -0700 Bluetooth: hci_uart: Update version number driver This version number is more cosmetic and for debugging purposes, but since there has been a few changes lately, increase it now. Two left-over and not used version constants that were never exposed anywhere are removed since they have no actual value. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 01009eec70a7d80773267b34522b0bb1208a73e9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 22:27:35 2015 -0700 Bluetooth: hci_uart: Remove the manual protocol init message The init function for each HCI UART protocol prints the same on success and failure. This information is so generic, remove it and let the main HCI UART handling print it instead. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7c40fb8db135288485f4f6226ceb69d64610a84e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 22:27:34 2015 -0700 Bluetooth: hci_uart: Add name information to hci_uart_proto struct This adds an extra name field to the hci_uart_proto struct that provides a simple way of adding a string identifier to the protocol. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4ee7ef19894c0ac35cc6dc374d65658a26d7496a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 22:11:43 2015 -0700 Bluetooth: hci_uart: Make struct hci_uart_proto always const The usage of struct hci_uart_proto should always be const. Change the function headers and individual protocol drivers. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 2d7cc19eebc182dbdda228aa26eb5bfff97ac072 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 21:59:27 2015 -0700 Bluetooth: Remove hci_recv_stream_fragment function The hci_recv_stream_fragment function should have never been introduced in the first place. The Bluetooth core does not need to know anything about the HCI transport protocol. With all transport protocol specific detailed moved back into the drivers where they belong (mainly generic USB and UART drivers), this function can now be removed. This reduces the size of hci_dev structure and also removes an exported symbol from the Bluetooth core module. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d90aa68236137d4170e39055dba41a5a000c568e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 21:59:26 2015 -0700 Bluetooth: hci_uart: Use h4_recv_buf helper for Atheros AR300x Instead of using hci_recv_stream_fragment, use the local available h4_recv_buf helper function. To ensure that the function is available select BT_HCIUART_H4. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c27799f99f589e76ea84642508a32638091a409a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 21:59:25 2015 -0700 Bluetooth: hci_uart: Use h4_recv_buf helper for H:4 protocol Instead of using hci_recv_stream_fragment, use the local available h4_recv_buf helper function. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e1a38d70d8e07db6fbf93621f289c08bbcca0ba3 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 21:59:24 2015 -0700 Bluetooth: hci_uart: Introduce h4_recv_buf helper function The h4_recv_buf helper function can be used for receiving H:4 packets out of a TTY stream. It is self-contained and allows for reuse by all HCI UART protocols. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 9d1c40ebb66416f166b92c6828af48549ca99307 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 20:59:41 2015 -0700 Bluetooth: hci_uart: Use const data pointer for received data The TTY layer provides its data pointers as const, but the HCI UART callbacks expect them as general data pointers. This is of course wrong and instead of casting them, just fix the individual drivers to actually take a const data pointer. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5c7d2dd2852c7cd8f07cf91291b351c01b781044 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 20:59:40 2015 -0700 Bluetooth: Make data pointer of hci_recv_stream_fragment const The data pointer provided to hci_recv_stream_fragment function should have been marked const. The function has no business in modifying the original data. So fix this now. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 940cbe3a6b2282551e2e458d307967ae37cbba18 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 20:29:27 2015 -0700 Bluetooth: hci_uart: Remove unused h4->rx_state and h4->rx_count field The fields h4->rx_state and h4->rx_count are not used at all and with that they can be just removed. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 72b9439be96ffc816a131cd92fd33ef6541871d7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 20:25:50 2015 -0700 Bluetooth: hci_uart: Remove unused h4->rx_skb field The h4->rx_skb is not used anymore and with that just remove it. Seems this was a leftover and even the kfree_skb call freeing it is rather pointless since it got never allocated. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit facf5225e88c03170e66f76ff498e0c29f41a64a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 19:57:22 2015 -0700 Bluetooth: hci_uart: Fix indentation issues for multi-line functions Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit dfe19d28200f0d2306ef1510bbea3df18e22a6bc Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 19:57:21 2015 -0700 Bluetooth: hci_uart: Remove unneeded cast of tty->disc_data Casting the tty->disc_data to (void *) is not needed at all. So just remove this cast and assign the object without a cast. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e9a2dd261ac3d7bffbf55368a60401f5982dcc59 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 16:13:03 2015 -0700 Bluetooth: hci_uart: Add support Broadcom address configuration When using vendor detection, this adds support for the Broadcom specific address configuration command. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 16e3887f9c625dbcbc5d7cc939881dd4515141c5 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 16:13:02 2015 -0700 Bluetooth: hci_uart: Add support Intel address configuration When using vendor detection, this adds support for the Intel specific address configuration command. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit fb2ce8d11f0399a1359e02fa2fcc5ad7e595544a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Apr 4 16:13:01 2015 -0700 Bluetooth: hci_uart: Add support for vendor detection flag This adds a new HCI_UART_VND_DETECT flag to allow automatic vendor detection. This allows to enable known vendor commands (for example for setting the public device address) when using a standard H:4 UART protocol or when running in virtual machines. When this new flag is configured and no vendor specific setup routine is provided, then the local version information are read and the provided manufacturer information can be evaluated to configure extra vendor callbacks. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1bc1e4d048d372a0191e78124b247747864dfde3 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Apr 6 23:02:22 2015 -0400 mac80211: Move message tracepoints to their own header Every tracing file must have its own TRACE_SYSTEM defined. The mac80211 tracepoint header broke this and add in the middle of the file had: #undef TRACE_SYSTEM #define TRACE_SYSTEM mac80211_msg Unfortunately, this broke new code in the ftrace infrastructure. Moving the mac80211_msg into its own trace file with its own TRACE_SYSTEM defined fixes the issue. Link: http://lkml.kernel.org/r/1428389938.1841.1.camel@xxxxxxxxxxxxxxxx Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 7267b23859ba4188873e3d1c90c9b29031cc9356 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Apr 1 14:22:01 2015 -0400 tracing: Add TRACE_SYSTEM_VAR to xhci-hcd New code will require TRACE_SYSTEM to be a valid C variable name, but some tracepoints have TRACE_SYSTEM with '-' and not '_', so it can not be used. Instead, add a TRACE_SYSTEM_VAR that can give the tracing infrastructure a unique name for the trace system. Cc: Xenia Ragiadakou <burzalodowa@xxxxxxxxx> Cc: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit bd41202214f8e89db3a64f8031d29d081f268190 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Apr 1 14:19:06 2015 -0400 tracing: Add TRACE_SYSTEM_VAR to kvm-s390 New code will require TRACE_SYSTEM to be a valid C variable name, but some tracepoints have TRACE_SYSTEM with '-' and not '_', so it can not be used. Instead, add a TRACE_SYSTEM_VAR that can give the tracing infrastructure a unique name for the trace system. Link: http://lkml.kernel.org/r/20150402111500.5e52c1ed.cornelia.huck@xxxxxxxxxx Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 882156e0407f06ca3d4c6500a7d347c3a2ed88b4 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Apr 1 14:14:53 2015 -0400 tracing: Add TRACE_SYSTEM_VAR to intel-sst New code will require TRACE_SYSTEM to be a valid C variable name, but some tracepoints have TRACE_SYSTEM with '-' and not '_', so it can not be used. Instead, add a TRACE_SYSTEM_VAR that can give the tracing infrastructure a unique name for the trace system. Link: http://lkml.kernel.org/r/20150402142831.GT6023@xxxxxxxxxxxxx Acked-by: Mark Brown <broonie@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 77cb2fea1e5fc4b083dd967f231bbf6edd96150e Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Thu Apr 2 12:37:36 2015 -0400 tracing/drm: Remove unused TRACE_SYSTEM_STRING define The tracing infrastructure is adding a macro TRACE_SYSTEM_STRING, and hit the following build failure: In file included from include/trace/define_trace.h:90:0, from drivers/gpu/drm/.//radeon/radeon_trace.h:209, from drivers/gpu/drm/.//radeon/radeon_trace_points.c:9: >> include/trace/ftrace.h:28:0: warning: "TRACE_SYSTEM_STRING" redefined #define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name) Seems that the DRM folks have added their own use to the TRACE_SYSTEM_STRING, with: #define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM) Although, I can not find its use anywhere. I could simply use another name, but if this macro is not being used, it should be removed. Link: http://lkml.kernel.org/r/20150402123736.01eda052@xxxxxxxxxxxxxxxxxx Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: Christian König <christian.koenig@xxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0578be680c6623ad6515b60a0b41ec70ebc1f204 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Apr 7 15:56:07 2015 +0200 drm: Use kref_put_mutex in drm_gem_object_unreference_unlocked If kref_put_mutex returns true then the caller or the put function is responsible for unlocking the mutex. The usual pattern assumes that the free callback unlocks the mutex, but since that is shared with the locked variant we need to explicitly unlock here. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be26a66de5f5722388966a62d772df832818bcb9 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:06 2015 +0200 drm/drm: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 71279a11380faabf70ea2827dc168b4156a10971 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:05 2015 +0200 drm/qxl: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d58ded7625a6811593616420cf1bcea902ce2c76 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:04 2015 +0200 drm/nouveau: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f22b45d66b8e603e2e85e78f209531779f8b1cc Merge: bf0fb67 816c766 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 7 18:10:03 2015 +0200 Merge tag 'kvm-s390-next-20150331' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD Features and fixes for 4.1 (kvm/next) 1. Assorted changes 1.1 allow more feature bits for the guest 1.2 Store breaking event address on program interrupts 2. Interrupt handling rework 2.1 Fix copy_to_user while holding a spinlock (cc stable) 2.2 Rework floating interrupts to follow the priorities 2.3 Allow to inject all local interrupts via new ioctl 2.4 allow to get/set the full local irq state, e.g. for migration and introspection commit bf0fb67cf957fc8ecfaaa2819b7d6a0f795e2ef2 Merge: 8999602 d44758c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 7 18:09:20 2015 +0200 Merge tag 'kvm-arm-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into 'kvm-next' KVM/ARM changes for v4.1: - fixes for live migration - irqfd support - kvm-io-bus & vgic rework to enable ioeventfd - page ageing for stage-2 translation - various cleanups commit 6d7fdb0ab351b33d4c12d53fe44be030b90fc9d4 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Thu Apr 2 14:40:58 2015 +0300 Revert "libceph: use memalloc flags for net IO" This reverts commit 89baaa570ab0b476db09408d209578cfed700e9f. Dirty page throttling should be sufficient for us in the general case so there is no need to use __GFP_MEMALLOC - it would be needed only in the swap-over-rbd case, which we currently don't support. (It would probably take approximately the commit that is being reverted to add that support, but we would also need the "swap" option to distinguish from the general case and make sure swap ceph_client-s aren't shared with anything else.) See ceph-devel threads [1] and [2] for the details of why enabling pfmemalloc reserves for all cases is a bad thing. On top of potential system lockups related to drained emergency reserves, this turned out to cause ceph lockups in case peers are on the same host and communicating via loopback due to sk_filter() dropping pfmemalloc skbs on the receiving side because the receiving loopback socket is not tagged with SOCK_MEMALLOC. [1] "SOCK_MEMALLOC vs loopback" http://www.spinics.net/lists/ceph-devel/msg22998.html [2] "[PATCH] libceph: don't set memalloc flags in loopback case" http://www.spinics.net/lists/ceph-devel/msg23392.html Conflicts: net/ceph/messenger.c [ context: tcp_nodelay option ] Cc: Mike Christie <michaelc@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Sage Weil <sage@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.18+, needs backporting Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Acked-by: Mike Christie <michaelc@xxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> commit 8999602d08a804ae9cb271fdd5378f910058112d Merge: 1d804d0 ae70593 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 7 18:06:01 2015 +0200 Merge tag 'kvm-arm-fixes-4.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into 'kvm-next' Fixes for KVM/ARM for 4.0-rc5. Fixes page refcounting issues in our Stage-2 page table management code, fixes a missing unlock in a gicv3 error path, and fixes a race that can cause lost interrupts if signals are pending just prior to entering the guest. commit 7abccdba25be45630eede85053496f1f48d36ec8 Merge: c85d697 38c8af6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Apr 7 11:47:52 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-04-04 Here's what's probably the last bluetooth-next pull request for 4.1: - Fixes for LE advertising data & advertising parameters - Fix for race condition with HCI_RESET flag - New BNEPGETSUPPFEAT ioctl, needed for certification - New HCI request callback type to get the resulting skb - Cleanups to use BIT() macro wherever possible - Consolidate Broadcom device entries in the btusb HCI driver - Check for valid flags in CMTP, HIDP & BNEP - Disallow local privacy & OOB data combo to prevent a potential race - Expose SMP & ECDH selftest results through debugfs - Expose current Device ID info through debugfs Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d289842c8ab99edc9437609bd41656295b72cf9 Author: Masaki Ota <masaki.ota@xxxxxxxxxxx> Date: Fri Mar 27 21:30:46 2015 -0700 Input: ALPS - V7 devices can report 5-finger taps Signed-off-by: Masaki Ota <masaki.ota@xxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3db5b9f782b50a309fe0fb89fb890f6b4f66d9ae Author: Masaki Ota <masaki.ota@xxxxxxxxxxx> Date: Fri Mar 27 20:57:52 2015 -0700 Input: ALPS - add support for SS4 touchpad devices This change adds support for SS4 touchpad devices as ALPS_PROTO_V8 protocol. They are real multi-touch devices and can be found in TOSHIBA Tecra C50. Signed-off-by: Masaki Ota <masaki.ota@xxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8eccd39340adb502ac7131552e8a4a2f35c35e06 Author: Masaki Ota <masaki.ota@xxxxxxxxxxx> Date: Fri Mar 27 20:44:21 2015 -0700 Input: ALPS - refactor alps_set_abs_params_mt() In preparation for adding support for SS4 touchpads, let's split alps_set_abs_params_mt into common, v7-specific, and other protocols portions. Signed-off-by: Masaki Ota <masaki.ota@xxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5f63e885ac32429fc1340f5a61e1484022efc773 Merge: b6d2d32 f22e6e8 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Apr 7 08:46:23 2015 -0700 Merge tag 'v4.0-rc7' into next Sync up with Linux 4.0-rc7 to bring in ALPS changes. commit 319d1e14109047b4f002394a80fe89a96ced64ed Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:02 2015 +0200 drm/radeon: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 45fe734c304edc36acb9bee653f16fa6fed64351 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:01 2015 +0200 drm/gma500: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d584ff822b19ac788dcda7d764b567001178cfe5 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:51:00 2015 +0200 drm/mgag200: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ian Romanick <ian.d.romanick@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b0f8778a34186455f3661308676f068f43fc9335 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Mar 11 11:50:59 2015 +0200 drm/exynos: constify all struct drm_*_helper funcs pointers They are not to be modified. Generated using the semantic patch: @@ @@ ( const struct drm_crtc_helper_funcs * | - struct drm_crtc_helper_funcs * + const struct drm_crtc_helper_funcs * ) @@ @@ ( const struct drm_encoder_helper_funcs * | - struct drm_encoder_helper_funcs * + const struct drm_encoder_helper_funcs * ) @@ @@ ( const struct drm_connector_helper_funcs * | - struct drm_connector_helper_funcs * + const struct drm_connector_helper_funcs * ) @@ @@ ( const struct drm_plane_helper_funcs * | - struct drm_plane_helper_funcs * + const struct drm_plane_helper_funcs * ) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 16d78bc2e4d69df962a750ac37ce69dd8eda401b Author: John Hunter <zhaojunwang@xxxxxxxxxx> Date: Tue Apr 7 19:38:50 2015 +0800 drm: Fix some typos Signed-off-by: John Hunter <zhjwpku@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f6ac49ba29499387e12e864a22e6d4bf46dafe9b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Apr 2 15:38:18 2015 +0100 ARM: vexpress: fix CPU hotplug with CT9x4 tile. The Cortex A9 tile fails to unplug CPUs if errata 643719 is not enabled. This leads to random weird behaviours, but ultimately seem to lock the kernel one way or another when a CPU is hot unplugged. Symptoms range from a spinlock lockup in the scheduler, the entire system hanging, to dumping out the kernel printk buffer a few lines at a time, and other weird behaviours. This is caused by the outgoing CPU not having its inner caches properly flushed before it exits coherency - flush_cache_louis() is used to achieve this, but as a result of the hardware bug, this function ends up doing nothing without the errata workaround enabled. As the Versatile Express has an affected CPU, this errata must always be enabled. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 77387b82d1b2bada25a7b566ab7716408fedc5e9 Author: Tao Chen <boby.chen@xxxxxxxxxx> Date: Wed Apr 1 15:04:22 2015 +0000 xen-blkback: define pr_fmt macro to avoid the duplication of DRV_PFX Define pr_fmt macro with {xen-blkback: } prefix, then remove all use of DRV_PFX in the pr sentences. Replace all DPRINTK with pr sentences, and get rid of DPRINTK macro. It will simplify the code. And if the pr sentences miss a \n, add it in the end. If the DPRINTK sentences have redundant \n, remove it. It will format the code. These all make the readability of the code become better. Signed-off-by: Tao Chen <boby.chen@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> commit 1375590d3e18b4d87d2f768178e93a0c8644a7dc Author: Tao Chen <boby.chen@xxxxxxxxxx> Date: Fri Mar 27 13:15:54 2015 +0000 xen-blkback: enlarge the array size of blkback name The blkback name is like blkback.domid.xvd[a-z], if domid has four digits (means larger than 1000), then the backmost xvd wouldn't be fully shown. Define a BLKBACK_NAME_LEN macro to be 20, enlarge the array size of blkback name, so it will be fully shown in any case. Signed-off-by: Tao Chen <boby.chen@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> commit 22ef882e6b5bd2bf668d10b1e2be3dc2fc365b99 Author: Dave Young <dyoung@xxxxxxxxxx> Date: Tue Apr 7 21:41:32 2015 +0800 x86/mm/numa: Fix kernel stack corruption in numa_init()->numa_clear_kernel_node_hotplug() I got below kernel panic during kdump test on Thinkpad T420 laptop: [ 0.000000] No NUMA configuration found [ 0.000000] Faking a node at [mem 0x0000000000000000-0x0000000037ba4fff] [ 0.000000] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: ffffffff81d21910 ... [ 0.000000] Call Trace: [ 0.000000] [<ffffffff817c2a26>] dump_stack+0x45/0x57 [ 0.000000] [<ffffffff817bc8d2>] panic+0xd0/0x204 [ 0.000000] [<ffffffff81d21910>] ? numa_clear_kernel_node_hotplug+0xe6/0xf2 [ 0.000000] [<ffffffff8107741b>] __stack_chk_fail+0x1b/0x20 [ 0.000000] [<ffffffff81d21910>] numa_clear_kernel_node_hotplug+0xe6/0xf2 [ 0.000000] [<ffffffff81d21e5d>] numa_init+0x1a5/0x520 [ 0.000000] [<ffffffff81d222b1>] x86_numa_init+0x19/0x3d [ 0.000000] [<ffffffff81d22460>] initmem_init+0x9/0xb [ 0.000000] [<ffffffff81d0d00c>] setup_arch+0x94f/0xc82 [ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120 [ 0.000000] [<ffffffff817bd0bb>] ? printk+0x55/0x6b [ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120 [ 0.000000] [<ffffffff81d05d9b>] start_kernel+0xe8/0x4d6 [ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120 [ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120 [ 0.000000] [<ffffffff81d055ee>] x86_64_start_reservations+0x2a/0x2c [ 0.000000] [<ffffffff81d05751>] x86_64_start_kernel+0x161/0x184 [ 0.000000] ---[ end Kernel panic - not syncing: stack-protector: Kernel sta This is caused by writing over the end of numa mask bitmap in numa_clear_kernel_node(). numa_clear_kernel_node() tries to set the node id in a mask bitmap, by iterating all reserved regions and assuming that every region has a valid nid. This assumption is not true because there's an exception for some graphic memory quirks. See trim_snb_memory() in arch/x86/kernel/setup.c It is easily to reproduce the bug in the kdump kernel because kdump kernel use pre-reserved memory instead of the whole memory, but kexec pass other reserved memory ranges to 2nd kernel as well. like below in my test: kdump kernel ram 0x2d000000 - 0x37bfffff One of the reserved regions: 0x40000000 - 0x40100000 which includes 0x40004000, a page excluded in trim_snb_memory(). For this memblock reserved region the nid is not set, it is still default value MAX_NUMNODES. later node_set will set bit MAX_NUMNODES thus stack corruption happen. This also happens when booting with mem= kernel commandline during my test. Fixing it by adding a check, do not call node_set in case nid is MAX_NUMNODES. Signed-off-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: bhe@xxxxxxxxxx Cc: qiuxishi@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150407134132.GA23522@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b4e97050248d9cbf84a5fd023eb20c253b7ab35b Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Apr 3 08:41:17 2015 -0700 crypto: qat - fix double release_firmware on error path release_firmware was called twice on error path causing an Oops. Reported-by: Ahsan Atta <ahsan.atta@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8b5cf097c3b0940f2be0d20dd16178405ebb63ec Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Apr 3 08:40:58 2015 -0700 crypto: qat - print ring name in debug output Ring name was allocated but never refenenced. It was supposed to be printed out in debug output. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1e6232f87b2d8b45f561cbb37a60cfc40b1a1b0d Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Apr 4 00:20:30 2015 +0900 crypto: serpent_sse2 - Fix a typo in Kconfig This patch fix a spelling typo in crypto/Kconfig. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7374ccc0c322a6dc55f783a1a9c816c6f308d990 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Apr 3 14:50:28 2015 +0200 fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex If sh_mobile_lcdc_probe() fails after the allocation of driver-private data, but before the initialization of all channels, a warning will be printed due to the destruction of an uninitialized mutex: WARNING: CPU: 0 PID: 1 at kernel/locking/mutex-debug.c:116 mutex_destroy+0x5c/0x7c() DEBUG_LOCKS_WARN_ON(mutex_is_locked(lock)) ... Backtrace: ... [<c00425b4>] (mutex_destroy) from [<c01d5858>] (sh_mobile_lcdc_remove+0x1bc/0x230) r4:df6a4800 r3:00000000 [<c01d569c>] (sh_mobile_lcdc_remove) from [<c01d6620>] (sh_mobile_lcdc_probe+0xd54/0xe28) Move the initialization of the mutexes from sh_mobile_lcdc_channel_init() to immediately after the allocation of driver-private data to fix this. Note that the interrupt number is moved to a new variable "irq", so we can reuse the existing variable "i" for iterating over the channels. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 19ef697d1eb7be06dcd0d0eb170ee5cc206e8f84 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 00:30:02 2015 +0300 sh-pfc: r8a7790: add EtherAVB pin groups Add EtherAVB pin groups to R8A7790 PFC driver. Based on original patch by Mitsuhiro Kimura <mitsuhiro.kimura.kc@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cec656501fc20a5d1b20a43cfa4679705fa7e1ef Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Mar 30 16:16:54 2015 -0700 pinctrl: Document "function" + "pins" pinmux binding Currently the "function" + "groups" combination is the only documented format for pinmux nodes, although many drivers use "function" + "pins". Update the generic pinctrl binding to include the "function" + "pins" combination 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> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c627589282213bbef12a482c0b87f23526ceb3f0 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Mon Mar 30 14:54:15 2015 -0400 Input - mt: Fix input_mt_get_slot_by_key The case occurred recently with a touchscreen using twice a slot during a single EV_SYN event: E: 0.288415 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- E: 0.296207 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0 E: 0.296207 0003 0039 -001 # EV_ABS / ABS_MT_TRACKING_ID -1 E: 0.296207 0003 002f 0001 # EV_ABS / ABS_MT_SLOT 1 E: 0.296207 0003 0035 0908 # EV_ABS / ABS_MT_POSITION_X 908 E: 0.296207 0003 0036 1062 # EV_ABS / ABS_MT_POSITION_Y 1062 E: 0.296207 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0 E: 0.296207 0003 0039 8787 # EV_ABS / ABS_MT_TRACKING_ID 8787 E: 0.296207 0003 0035 1566 # EV_ABS / ABS_MT_POSITION_X 1566 E: 0.296207 0003 0036 0861 # EV_ABS / ABS_MT_POSITION_Y 861 E: 0.296207 0003 0000 0908 # EV_ABS / ABS_X 908 E: 0.296207 0003 0001 1062 # EV_ABS / ABS_Y 1062 E: 0.296207 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- This occurred because while having already slots 0 and 1 assigned, the touchscreen sent: 0.293377 Tip Switch: 0 | Contact Id: 0 | X: 539 | Y: 1960 | Contact Count: 3 0.294783 Tip Switch: 1 | Contact Id: 1 | X: 908 | Y: 1062 | Contact Count: 0 0.296187 Tip Switch: 1 | Contact Id: 2 | X: 1566 | Y: 861 | Contact Count: 0 Slot 0 is released correclty, but when we look for Contact ID 2, the slot 0 is then picked up again because it is marked as inactive (trackingID < 0). This is wrong, and we should not reuse a slot in the same frame. The test should also check for input_mt_is_used(). In addition, we need to initialize mt->frame to an other value than 0. With mt->frame being 0, all slots are tags as currently used, and so input_mt_get_slot_by_key() would return -1 for all requests. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=88903 Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7981c0015af26323281c937c8983dfeabc3395fe Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:31:49 2015 +0300 pinctrl: intel: Add Intel Sunrisepoint pin controller and GPIO support This driver supports pinctrl/GPIO hardware found on Intel Sunrisepoint (a Skylake PCH) providing users a pinctrl and GPIO interfaces (including GPIO interrupts). The driver is split into core and platform parts so that the same core driver can be reused in other drivers for other Intel GPIO hardware that is based on the same host controller design. Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5df0582bf036bb5f9a8ad8db5884fe13a55347d1 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Wed Apr 1 14:22:58 2015 -0700 drm/i915/vlv: remove wait for previous GFX clk disable request Looks like it was introduced in: commit 650ad970a39f8b6164fe8613edc150f585315289 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Fri Apr 18 16:35:02 2014 +0300 drm/i915: vlv: factor out vlv_force_gfx_clock and check for pending force-of but I'm not sure why. It has caused problems for us in the past (see 85250ddff7a6 "drm/i915/chv: Remove Wait for a previous gfx force-off" and 8d4eee9cd7a1 "drm/i915: vlv: increase timeout when forcing on the GFX clock") and doesn't seem to be required, so let's just drop it. References: https://bugs.freedesktop.org/show_bug.cgi?id=89611 Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Tested-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # c9c52e24194a: drm/i915/chv: Remove Wait ... Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 16837f9588819c06469e635c04a8135f98ab9ae6 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Tue Mar 24 16:26:18 2015 +0100 pinctrl: fsl: imx: Check for 0 config register 0 is used in all pinfunction definitions when a config register is not available, for example imx25-pinfunc.h. If a configuration value is used for such a pinfunction the driver will always write it to the configuration register if it is not -1. For a 0 configuration register the configuration value is written to offset 0x0. This can lead to a crashing/hanging system without any warning message. This patch checks for 0 config register and sets the internal value to -1. If the configuration value is not NO_PADCTL this leads to an error message that applying the configuration failed. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Tested-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2d846c74027231264e57e4e34faf9576394e3ce0 Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Tue Apr 7 20:32:20 2015 +0800 ALSA: hda_intel: add AZX_DCAPS_I915_POWERWELL for SKL and BSW HDMI/DP codec on SKL/BSW is in the power well. The power well must be turned on before probing the HDMI/DP codec. This is a temporary patch, which will power on the powerwell by adding AZX_DCAPS_I915_POWERWELL for SKL and BSW. After restructuring and new flag is added, this patch will be reverted. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c9c52e24194a741f9fca96e7aa965f0fa36af504 Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Date: Sat Mar 28 15:23:34 2015 +0530 drm/i915/chv: Remove Wait for a previous gfx force-off On CHV, PUNIT team confirmed that 'VLV_GFX_CLK_STATUS_BIT' is not a sticky bit and it will always be set. So ignore Check for previous Gfx force off during suspend and allow the force clk as part S0ix Sequence Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9c25210fd30991e68f93e2ec0857de2d967b5766 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Wed Apr 1 14:22:57 2015 -0700 drm/i915/vlv: save/restore the power context base reg Some BIOSes (e.g. the one on the Minnowboard) don't save/restore this reg. If it's unlocked, we can just restore the previous value, and if it's locked (in case the BIOS re-programmed it for us) the write will be ignored and we'll still have "did it move" sanity check in the PM code to warn us if something is still amiss. References: https://bugs.freedesktop.org/show_bug.cgi?id=89611 Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Tested-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 46b9d180141dac76cd6065bf497cec44816ab4c6 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 31 16:09:13 2015 +0200 cfg80211: send extended capabilities IE in connect If the connect request from userspace didn't include an extended capabilities IE, create one using the driver capabilities. This fixes VHT associations, since those need to set the operating mode notification capability. Reviewed-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 29464ccc78f1e8f77b8c37ddbe95af46d13c2ec2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 31 15:36:22 2015 +0200 cfg80211: move IE split utilities here from mac80211 As the next patch will require the IE splitting utility functions in cfg80211, move them there from mac80211. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9b5c352e5425622b4371387d4718060da5d3ae32 Author: Charles Keepax <ckeepax@xxxxxxxxx> Date: Tue Apr 7 11:34:51 2015 +0100 ASoC: wm8804: Update binding documentation to include reset GPIO Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7e5ee1c33e9ce4e4be0a6b8955c760e9a41a9e84 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:34:50 2015 +0100 ASoC: wm8804: Add support for hardware reset line It is best to use the physical reset if it is available. This patch adds support for a GPIO controlled physical reset for the chip. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8543d0e72d4340001d756bd89bee70ce239e1ea5 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Apr 6 14:29:03 2015 -0700 spi: img-spfi: Limit bit clock to 1/4th of input clock Although the SPFI BITCLK divider supports a value of up to 255, only values up to 128 are usable. This results in a maximum possible bit clock rate of 1/4th the input clock rate. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b6fe39770aa63d14129bc7e061c95cfc3cb1419a Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Apr 6 14:29:04 2015 -0700 spi: img-spfi: Implement a prepare_message() callback In preparation for switching to using the SPI core's CS GPIO handling, move setup of the PORT_STATE register, which must be configured before CS is asserted, to a prepare_message() callback. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c8c7c44b7cf5ef7163e4bd6aedbdeb6f6031ee3e Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 4 12:32:45 2015 -0300 [media] s5p-jpeg: Remove some unused functions Removes some functions that are not used anywhere: s5p_jpeg_input_raw_y16() s5p_jpeg_timer_disable() s5p_jpeg_timer_enable(). This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 12b055662ac6216c518d7ec09bf2f7d75435015c Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Mar 5 10:56:25 2015 -0300 [media] s5p-jpeg: Initialize jpeg_addr fields to zero JPEG codecs on Exynos4 and Exynos3250 SoCs utilize different number of planes for storing the raw image data, depending on the format of the image being processed. For the unused planes a random data was being written to the related registers. Regardless of the fact that this seemed not to be harmful, fix the issue for clarity reasons. Reported-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7c15fd4bf3d367bfc80f76814559f51f75c4d28a Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Mon Mar 9 09:32:46 2015 -0300 [media] s5p-jpeg: add 5420 family support JPEG IP found in Exynos5420 is similar to what is in Exynos3250, but there are some subtle differences which this patch takes into account. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4eb297e068736f3f67586077799c1233154209ec Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Apr 4 09:04:32 2015 -0300 [media] m88ts2022: remove from Makefile Remove target from Makefile: this driver no longer exists. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4cd9db08598454e4d051b818c5f1d61ac7539a47 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Apr 7 14:03:53 2015 +0300 ASoC: davinci-mcasp: Fix ruledata setup in davinci_mcasp_startup Passing &mcasp->ruledata[dir] to snd_pcm_hw_rule_add() is not correct since commit: 7b3d165a2821 ASoC: davinci-mcasp: Index ruledata in drvdata with substream->stream now sets up the struct based on the substream->stream (0 or 1) while we pass a pointer which we take with dir (1 or 2). This will lead kernel crash. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 41b585b2ed793db6f02ec87d0026d73382e8180a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Mar 30 15:20:32 2015 +0200 Kbuild: kallsyms: drop special handling of pre-3.0 GCC symbols Since we have required at least GCC v3.2 for some time now, we can drop the special handling of the 'gcc[0-9]_compiled.' label which is not emitted anymore since GCC v3.0. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit bd8b22d2888e75063c9012b95341d6cb36456434 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Mar 30 15:20:31 2015 +0200 Kbuild: kallsyms: ignore veneers emitted by the ARM linker When linking large kernels on ARM, the linker will insert veneers (i.e., PLT like stubs) when function symbols are out of reach for the ordinary relative branch/branch-and-link instructions. However, due to the fact that the kallsyms region sits in .rodata, which is between .text and .init.text, additional veneers may be emitted in the second pass due to the fact that the size of the kallsyms region itself has pushed the .init.text section further apart, requiring even more veneers. So ignore the veneers when generating the symbol table. Veneers have no corresponding source code, and they will not turn up in backtraces anyway. This patch also lightly refactors the symbol_valid() function to use a local 'sym_name' rather than the obfuscated 'sym + 1' and 'sym + offset' Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 63031ed6b8bd69d4baff6a46f5c9b79b51bd1eaa Merge: 95bf15f e689d6d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Apr 7 11:54:40 2015 +0100 Merge branch 'fix/fsl-dspi' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-fsl-dspi Conflicts: drivers/spi/spi-fsl-dspi.c commit 3590ebc040c9ee5d06754ce926f0e7c3a595e46d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Apr 7 00:17:00 2015 -0700 NFC: logging neatening Add missing terminating newlines to nfc_info and nfc_err to avoid possible interleaving from other messages. Miscellanea: o typo fix of "unknonwn" in message o remove unnecessary OOM messages as there's a generic dump_stack() o realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0fefcb6876d0d650ac2255c57051b31c48c1b165 Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Sun Mar 29 12:56:42 2015 +0200 pinctrl: Add support for Meson8b This patch adds support for the AmLogic Meson8b SoC. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Acked-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit faa246debff1cfc0950f73c778f2db83451aa38b Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Thu Mar 19 22:34:11 2015 +0100 documentation: Extend pinctrl docs for Meson8b Add the compatible string for Meson8b in Meson pinctrl documentation and add new information for Meson8b in source code comments. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Acked-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0cf6f3c2b5ef0b5b3bb82f02edbeda4751b27763 Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Thu Mar 19 22:34:10 2015 +0100 pinctrl: Cleanup Meson8 driver This patch introduces a new PIN macro and few small modifications to simplify and shorten the Meson pinctrl drivers and cleanup the support file for the AmLogic Meson8 SoC. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Acked-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 25a853d037a40b7ac2c317adef6442ef92d8407e Author: Ken Xue <Ken.Xue@xxxxxxx> Date: Fri Mar 27 17:44:26 2015 +0800 Fix inconsistent spinlock of AMD GPIO driver which can be recognized by static analysis tool smatch. Declare constant Variables with Sparse's suggestion. Signed-off-by: Ken Xue <Ken.Xue@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b7a4abb67416aa07cd65446dd39e64525ccfe8e5 Merge: d30323f f22e6e8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:17:34 2015 +0200 Merge 4.0-rc7 into usb-next We want the fixes in here, and to help resolve merge issues. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 991ff4e3d71dcad184d18f9b1b241f3191601909 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Wed Apr 1 10:20:08 2015 +0800 MIPS: Move Loongson GPIO driver to drivers/gpio Move Loongson-2's GPIO driver to drivers/gpio and add Kconfig options. Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit df5dade4a7b29b003e000c5db5c35612e0b1019b Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Wed Apr 1 10:20:07 2015 +0800 MIPS: Cleanup Loongson-2F's gpio driver This cleanup is prepare to move the driver to drivers/gpio. Custom definitions of gpio_get_value()/gpio_set_value() are dropped. Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b3e3bf2ef2c74f5ce5c19510edbbb9bfc1d249c2 Merge: fbf4763 f22e6e8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:07:20 2015 +0200 Merge 4.0-rc7 into tty-next We want the fixes in here as well, also to help out with merge issues. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d480239ba4963c7d994582ccddc9310127593e14 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Thu Mar 26 12:18:49 2015 +0000 pinctrl: at91: convert __raw to endian agnostic IO Use endian agnostic _relaxed IO accessors instead of the __raw ones. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Cc: Andrew Victor <linux@xxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c610f7f772aa06ae2bd8e5ace87cde4d90f70198 Merge: f9541f8 f22e6e8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Apr 7 11:03:02 2015 +0200 Merge 4.0-rc7 into staging-next We want those fixes (iio primarily) into the -next branch to help with merge and testing issues. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dd4e4f6fe9495f02d4594bd460b84008a3e8e93 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 25 20:11:55 2015 +1100 powerpc/mm: Change setbat() to take a pgprot_t rather than flags The callers of setbat() are actually passing a pgprot_t for the flags parameter. This doesn't matter unless STRICT_MM_TYPECHECKS is enabled. So we can turn that on without breaking the build, change setbat() to take a pgprot_t and have it convert it to an unsigned long internally. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 911083350e010e23719a8ecb4dd5f170f22854eb Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 25 20:11:54 2015 +1100 powerpc/mm: Remove duplicate declaration of setbat() This is already declared in mmu_decl.h, so we don't need a second version in the C file. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bf4981a00636347ddcef3fc008e4dd979380a851 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Mar 19 15:15:20 2015 +1100 powerpc: Remove the celleb support The celleb code has seen no actual development for ~7 years. We (maintainers) have no access to test hardware, and it is highly likely the code has bit-rotted. As far as we're aware the hardware was never widely available, and is certainly no longer available, and no one on the list has shown any interest in it over the years. So remove it. If anyone has one and cares please speak up. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Jeremy Kerr <jk@xxxxxxxxxx> commit 646b54f2f2041473495f166479e3e17fd59a9dd1 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Mar 12 17:27:11 2015 +1100 powerpc/powernv: Remove powernv RTAS support The powernv code has some conditional support for running on bare metal machines that have no OPAL firmware, but provide RTAS. No released machines ever supported that, and even in the lab it was just a transitional hack in the days when OPAL was still being developed. So remove the code. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> commit 092a29a40bab8bb4530bb3e58a0597001cdecdef Author: Yao Xiwei <xiwei.yao@xxxxxxxxx> Date: Thu Apr 2 17:31:17 2015 +0200 vti6: fix uninit when using x-netns When the kernel deleted a vti6 interface, this interface was not removed from the tunnels list. Thus, when the ip6_vti module was removed, this old interface was found and the kernel tried to delete it again. This was leading to a kernel panic. Fixes: 61220ab34948 ("vti6: Enable namespace changing") Signed-off-by: Yao Xiwei <xiwei.yao@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 68c11e98ef6748ddb63865799b12fc45abb3755d Author: Alexey Dobriyan <adobriyan@xxxxxxxxx> Date: Thu Apr 2 10:58:24 2015 +0300 xfrm: fix xfrm_input/xfrm_tunnel_check oops https://bugzilla.kernel.org/show_bug.cgi?id=95211 Commit 70be6c91c86596ad2b60c73587880b47df170a41 ("xfrm: Add xfrm_tunnel_skb_cb to the skb common buffer") added check which dereferences ->outer_mode too early but larval SAs don't have this pointer set (yet). So check for tunnel stuff later. Mike Noordermeer reported this bug and patiently applied all the debugging. Technically this is remote-oops-in-interrupt-context type of thing. BUG: unable to handle kernel NULL pointer dereference at 0000000000000034 IP: [<ffffffff8150dca2>] xfrm_input+0x3c2/0x5a0 ... [<ffffffff81500fc6>] ? xfrm4_esp_rcv+0x36/0x70 [<ffffffff814acc9a>] ? ip_local_deliver_finish+0x9a/0x200 [<ffffffff81471b83>] ? __netif_receive_skb_core+0x6f3/0x8f0 ... RIP [<ffffffff8150dca2>] xfrm_input+0x3c2/0x5a0 Kernel panic - not syncing: Fatal exception in interrupt Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit b7f859dda95c231a276f2ec915253708f1ca7bdb Merge: 428d4d6 0eebf9b Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 7 13:25:14 2015 +1000 Merge branch 'next-remove-ldst' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next commit 428d4d6520a0b8683fe9eac6df3077001e13d00b Merge: 28ea605 027fa02 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 7 13:24:55 2015 +1000 Merge branch 'next-eeh' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next commit 28ea605caac49497e5e34a73ee4f4682fc035f1d Merge: 6a84079 d41444d Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Apr 7 13:07:42 2015 +1000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next Freescale updates from Scott: "Highlights include BMan device tree nodes, an MSI erratum workaround, a couple minor performance improvements, config updates, and misc fixes/cleanup." commit c85d6975ef923cffdd56de3e0e6aba0977282cff Merge: 60302ff f22e6e8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Apr 6 21:52:19 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/mellanox/mlx4/cmd.c net/core/fib_rules.c net/ipv4/fib_frontend.c The fib_rules.c and fib_frontend.c conflicts were locking adjustments in 'net' overlapping addition and removal of code in 'net-next'. The mlx4 conflict was a bug fix in 'net' happening in the same place a constant was being replaced with a more suitable macro. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf7b6c0205f11cdb015384244c0b423b00e35c69 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Tue Mar 24 16:54:18 2015 -0400 selinux: increase avtab max buckets Now that we can safely increase the avtab max buckets without triggering high order allocations and have a hash function that will make better use of the larger number of buckets, increase the max buckets to 2^16. Original: 101421 entries and 2048/2048 buckets used, longest chain length 374 With new hash function: 101421 entries and 2048/2048 buckets used, longest chain length 81 With increased max buckets: 101421 entries and 31078/32768 buckets used, longest chain length 12 Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 33ebc1932a07efd8728975750409741940334489 Author: John Brooks <john.brooks@xxxxxxxxx> Date: Tue Mar 24 16:54:17 2015 -0400 selinux: Use a better hash function for avtab This function, based on murmurhash3, has much better distribution than the original. Using the current default of 2048 buckets, there are many fewer collisions: Before: 101421 entries and 2048/2048 buckets used, longest chain length 374 After: 101421 entries and 2048/2048 buckets used, longest chain length 81 The difference becomes much more significant when buckets are increased. A naive attempt to expand the current function to larger outputs doesn't yield any significant improvement; so this function is a prerequisite for increasing the bucket size. sds: Adapted from the original patches for libsepol to the kernel. Signed-off-by: John Brooks <john.brooks@xxxxxxxxx> Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit ba39db6e0519aa8362dbda6523ceb69349a18dc3 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Tue Mar 24 16:54:16 2015 -0400 selinux: convert avtab hash table to flex_array Previously we shrank the avtab max hash buckets to avoid high order memory allocations, but this causes avtab lookups to degenerate to very long linear searches for the Fedora policy. Convert to using a flex_array instead so that we can increase the buckets without such limitations. This change does not alter the max hash buckets; that is left to a separate follow-on change. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit da8026fa0f9154b1c571c4d160dd51a7b8c34495 Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Tue Feb 17 15:30:23 2015 -0500 selinux: reconcile security_netlbl_secattr_to_sid() and mls_import_netlbl_cat() Move the NetLabel secattr MLS category import logic into mls_import_netlbl_cat() where it belongs, and use the mls_import_netlbl_cat() function in security_netlbl_secattr_to_sid(). Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 83d4a806ae46397f606de7376b831524bd3a21e5 Author: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Date: Thu Feb 26 13:54:17 2015 -0800 selinux: remove unnecessary pointer reassignment Commit f01e1af445fa ("selinux: don't pass in NULL avd to avc_has_perm_noaudit") made this pointer reassignment unnecessary. Avd should continue to reference the stack-based copy. Signed-off-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> [PM: tweaked subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit f82daee49c09cf6a99c28303d93438a2566e5552 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Apr 7 01:07:39 2015 +0200 Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions" Commit 84c91b7ae07c (PM / hibernate: avoid unsafe pages in e820 reserved regions) is reported to make resume from hibernation on Lenovo x230 unreliable, so revert it. We will revisit the issue the commit in question was supposed to fix in the future. Link: https://bugzilla.kernel.org/show_bug.cgi?id=96111 Reported-by: rhn <kebuac.rhn@xxxxxxxxxxxxxxxxxxxx> Cc: 3.17+ <stable@xxxxxxxxxxxxxxx> # 3.17+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f22e6e847115abc3a0e2ad7bb18d243d42275af1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 15:39:45 2015 -0700 Linux 4.0-rc7 commit bd884149aca61de269fd9bad83fe2a4232ffab21 Author: Ulrik De Bie <ulrik.debie-os@xxxxxxxxx> Date: Mon Apr 6 15:35:38 2015 -0700 Input: elantech - fix absolute mode setting on some ASUS laptops On ASUS TP500LN and X750JN, the touchpad absolute mode is reset each time set_rate is done. In order to fix this, we will verify the firmware version, and if it matches the one in those laptops, the set_rate function is overloaded with a function elantech_set_rate_restore_reg_07 that performs the set_rate with the original function, followed by a restore of reg_07 (the register that sets the absolute mode on elantech v4 hardware). Also the ASUS TP500LN and X750JN firmware version, capabilities, and button constellation is added to elantech.c Cc: stable@xxxxxxxxxxxxxxx Reported-and-tested-by: George Moutsopoulos <gmoutso@xxxxxxxxxxx> Signed-off-by: Ulrik De Bie <ulrik.debie-os@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 442bb4bad90134e1c49ffb3ccdefca391ce05600 Merge: 9e44163 fde913e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 15:19:59 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) In TCP, don't register an FRTO for cumulatively ACK'd data that was previously SACK'd, from Neal Cardwell. 2) Need to hold RNL mutex in ipv4 multicast code namespace cleanup, from Cong WANG. 3) Similarly we have to hold RNL mutex for fib_rules_unregister(), also from Cong WANG. 4) Revert and rework netns nsid allocation fix, from Nicolas Dichtel. 5) When we encapsulate for a tunnel device, skb->sk still points to the user socket. So this leads to cases where we retraverse the ipv4/ipv6 output path with skb->sk being of some other address family (f.e. AF_PACKET). This can cause things to crash since the ipv4 output path is dereferencing an AF_PACKET socket as if it were an ipv4 one. The short term fix for 'net' and -stable is to elide these socket checks once we've entered an encapsulation sequence by testing xmit_recursion. Longer term we have a better solution wherein we pass the tunnel's socket down through the output paths, but that is way too invasive for 'net' and -stable. From Hannes Frederic Sowa. 6) l2tp_init() failure path forgets to unregister per-net ops, from Cong WANG. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: net/mlx4_core: Fix error message deprecation for ConnectX-2 cards net: dsa: fix filling routing table from OF description l2tp: unregister l2tp_net_ops on failure path mvneta: dont call mvneta_adjust_link() manually ipv6: protect skb->sk accesses from recursive dereference inside the stack netns: don't allocate an id for dead netns Revert "netns: don't clear nsid too early on removal" ip6mr: call del_timer_sync() in ip6mr_free_table() net: move fib_rules_unregister() under rtnl lock ipv4: take rtnl_lock and mark mrt table as freed on namespace cleanup tcp: fix FRTO undo on cumulative ACK of SACKed range xen-netfront: transmit fully GSO-sized packets commit deeb8525f9bcea60f5e86521880c1161de7a5829 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 17:57:44 2015 -0400 ioctx_alloc(): fix vma (and file) leak on failure If we fail past the aio_setup_ring(), we need to destroy the mapping. We don't need to care about anybody having found ctx, or added requests to it, since the last failure exit is exactly the failure to make ctx visible to lookups. Reproducer (based on one by Joe Mario <jmario@xxxxxxxxxx>): void count(char *p) { char s[80]; printf("%s: ", p); fflush(stdout); sprintf(s, "/bin/cat /proc/%d/maps|/bin/fgrep -c '/[aio] (deleted)'", getpid()); system(s); } int main() { io_context_t *ctx; int created, limit, i, destroyed; FILE *f; count("before"); if ((f = fopen("/proc/sys/fs/aio-max-nr", "r")) == NULL) perror("opening aio-max-nr"); else if (fscanf(f, "%d", &limit) != 1) fprintf(stderr, "can't parse aio-max-nr\n"); else if ((ctx = calloc(limit, sizeof(io_context_t))) == NULL) perror("allocating aio_context_t array"); else { for (i = 0, created = 0; i < limit; i++) { if (io_setup(1000, ctx + created) == 0) created++; } for (i = 0, destroyed = 0; i < created; i++) if (io_destroy(ctx[i]) == 0) destroyed++; printf("created %d, failed %d, destroyed %d\n", created, limit - created, destroyed); count("after"); } } Found-by: Joe Mario <jmario@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b2edffdd912b4205899a8efa0974dfbbc3216109 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 17:48:54 2015 -0400 fix mremap() vs. ioctx_kill() race teach ->mremap() method to return an error and have it fail for aio mappings in process of being killed Note that in case of ->mremap() failure we need to undo move_page_tables() we'd already done; we could call ->mremap() first, but then the failure of move_page_tables() would require undoing whatever _successful_ ->mremap() has done, which would be a lot more headache in general. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fde913e25496761a4e2a4c81230c913aba6289a2 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Sun Apr 5 17:50:48 2015 +0300 net/mlx4_core: Fix error message deprecation for ConnectX-2 cards Commit 1daa4303b4ca ("net/mlx4_core: Deprecate error message at ConnectX-2 cards startup to debug") did the deprecation only for port 1 of the card. Need to deprecate for port 2 as well. Fixes: 1daa4303b4ca ("net/mlx4_core: Deprecate error message at ConnectX-2 cards startup to debug") Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 303038135afbd0520d1e241c02592be6e4ea7204 Author: Pavel Nakonechny <pavel.nakonechny@xxxxxxxxxx> Date: Sun Apr 5 00:46:21 2015 +0300 net: dsa: fix filling routing table from OF description According to description in 'include/net/dsa.h', in cascade switches configurations where there are more than one interconnected devices, 'rtable' array in 'dsa_chip_data' structure is used to indicate which port on this switch should be used to send packets to that are destined for corresponding switch. However, dsa_of_setup_routing_table() fills 'rtable' with port numbers of the _target_ switch, but not current one. This commit removes redundant devicetree parsing and adds needed port number as a function argument. So dsa_of_setup_routing_table() now just looks for target switch number by parsing parent of 'link' device node. To remove possible misunderstandings with the way of determining target switch number, a corresponding comment was added to the source code and to the DSA device tree bindings documentation file. This was tested on a custom board with two Marvell 88E6095 switches with following corresponding routing tables: { -1, 10 } and { 8, -1 }. Signed-off-by: Pavel Nakonechny <pavel.nakonechny@xxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e441639d1ed78245600191f0fa45e106935a9dc Merge: f8b3d8a 58d8a3b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 6 14:10:08 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input fixes from Dmitry Torokhov: "Updates for the input subsystem - two more tweaks for ALPS driver to work out kinks after splitting the touchpad, trackstick, and potential external PS/2 mouse into separate input devices. Changes to support ALPS SS4 devices (protocol V8) will be coming in 4.1..." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: alps - document stick behavior for protocol V2 Input: alps - report V2 Dualpoint Stick events via the right evdev node Input: alps - report interleaved bare PS/2 packets via dev3 commit 4c385b25fab119144bffb255ad77712fe586ac10 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Thu Apr 2 11:20:41 2015 +0530 clk: qcom: Add EBI2 clocks for IPQ806x The NAND controller within EBI2 requires EBI2_CLK and EBI2_ALWAYS_ON_CLK clocks. Create structs for these clocks so that they can be used by the NAND controller driver. Add an entry for EBI2_AON_CLK in the gcc-ipq806x DT binding document. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 67e04c29ec0daad9ba29341b4dab4b89526994cf Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Apr 3 13:46:09 2015 -0700 l2tp: unregister l2tp_net_ops on failure path Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60302ff631f0f3eac0ec592e128b776f0676b397 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Apr 2 13:05:47 2015 +0200 virtio: document queue state logic commit d631b94e7a15277858ec5f88d674d93080506999 virtio: change comment in transmit started clarifying the logic behind queue state management, but introduced an inaccuracy: TX_BUSY does not cause a BUG message. Clean this up some more, explaining the tradeoffs in detail. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91bc4822c3d61b9bb7ef66d3b77948a4f9177954 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Apr 1 17:12:13 2015 -0700 tc: bpf: add checksum helpers Commit 608cd71a9c7c ("tc: bpf: generalize pedit action") has added the possibility to mangle packet data to BPF programs in the tc pipeline. This patch adds two helpers bpf_l3_csum_replace() and bpf_l4_csum_replace() for fixing up the protocol checksums after the packet mangling. It also adds 'flags' argument to bpf_skb_store_bytes() helper to avoid unnecessary checksum recomputations when BPF programs adjusting l3/l4 checksums and documents all three helpers in uapi header. Moreover, a sample program is added to show how BPF programs can make use of the mangle and csum helpers. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6d2d3289f84e9c7449dff04fb959e29207acd80 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Mon Apr 6 13:10:30 2015 -0700 Input: atmel_mxt_ts - split out touchpad initialisation logic If the "linux,gpio-keymap" DT property is defined, the T19 keys are configured and the device is setup as a touchpad rather than a touchscreen. The logic is part of the input device initialization routine but it can be factored out to its own function to simplify the former. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b23157dc74272ac8ebffd1a566e3e822dbc3e65f Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Mon Apr 6 11:25:13 2015 -0700 Input: atmel_mxt_ts - implement support for T100 touch object Add support for the new T100 object which replaces the previous T9 multitouch touchscreen object in recent maXTouch devices. T100 provides improved reporting with selectable auxiliary information, and a type field for hover/stylus/glove reporting. The hovering finger support was based on Chung-Yih's work in the ChromiumOS downstream kernel: https://chromium-review.googlesource.com/#/c/219280/ Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Acked-by: Yufeng Shen <miletus@xxxxxxxxxxxx> [javier: Factor out T9 and T100 init functions and rework hover support] Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ecf7b361a6bc1fd5441e4d6a3d7433abbe577064 Author: Stas Sergeev <stsp@xxxxxxx> Date: Wed Apr 1 19:23:29 2015 +0300 mvneta: dont call mvneta_adjust_link() manually mvneta_adjust_link() is a callback for of_phy_connect() and should not be called directly. The result of calling it directly is as below: Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f60e5990d9c1424af9dbca60a23ba2a1c7c1ce90 Author: hannes@xxxxxxxxxxxxxxxxxxx <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 17:07:44 2015 +0200 ipv6: protect skb->sk accesses from recursive dereference inside the stack We should not consult skb->sk for output decisions in xmit recursion levels > 0 in the stack. Otherwise local socket settings could influence the result of e.g. tunnel encapsulation process. ipv6 does not conform with this in three places: 1) ip6_fragment: we do consult ipv6_npinfo for frag_size 2) sk_mc_loop in ipv6 uses skb->sk and checks if we should loop the packet back to the local socket 3) ip6_skb_dst_mtu could query the settings from the user socket and force a wrong MTU Furthermore: In sk_mc_loop we could potentially land in WARN_ON(1) if we use a PF_PACKET socket ontop of an IPv6-backed vxlan device. Reuse xmit_recursion as we are currently only interested in protecting tunnel devices. Cc: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f34c4bc7e599bb895f77381c4d91ccc77635d68f Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Apr 7 03:06:06 2015 +0800 ASoC: Intel: read_shim_data() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5939d9dfe4406a49d8688eb827d88abcaf233c42 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Mar 10 22:27:27 2015 +0100 power: twl4030_madc_battery: Add missing MODULE_ALIAS Without MODULE_ALIAS twl4030_madc_battery won't get loaded automatically. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7e5e43893d24b44507f8239a07064596401820d8 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Mar 10 22:27:22 2015 +0100 power: twl4030-madc-battery: Convert to iio consumer. Because of added iio error handling private data allocation was converted to managed to simplify code. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Reviewed-By: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 95bf15f386417f3ba80bb860c1385b1ebfdcdffa Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Date: Fri Apr 3 13:39:31 2015 -0700 spi: fsl-dspi: Add ~50ns delay between cs and sck Add delay between chip select and clock signals, before clock starts and after clock stops. Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c1c14957afd3026dcbc2e7ca599e6d035c7d8e01 Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Date: Fri Apr 3 13:39:30 2015 -0700 spi: fsl-dspi: Add cs-sck delays Adding fsl,spi-cs-sck-delay and fsl,spi-sck-cs-delay properties to support delays before and after starting the clock in a transfer. Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e689d6df8257f92abf59e93736632b79c9b2aa66 Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Date: Fri Apr 3 13:39:29 2015 -0700 spi: fsl-dspi: Fix clock rate scale values Previous algorithm had an outer loop with the values {2,3,5,7} and an inner loop with {2,4,6,8,16,32,...,32768}, and would pick the first value over the required scaling value (where the total scale was the two numbers multiplied). Since the inner loop went up to 32768 it would always pick a value of 2 for PBR and a much higher than necessary value for BR. The desired scale factor was being divided by two I believe to compensate for the much higher scale factors (the divide by two not specified in the reference manual). Updated to check all values and find the smallest scale factor possible without going over the desired clock rate. Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ef30a406468a3eae007210ae0dc5ed8d5eb59b7d Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Apr 6 09:44:59 2015 -0700 Input: cros_ec_keyb - fix clearing keyboard state on wakeup As the comment right before explains, the keyboard state is to be cleared only if the EC wasn't a wakeup source in the last suspend. Without this commit, there's an unneeded delay when resuming from suspend and we also lose the key that was pressed while suspended. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0db739fa06f95a040313c4479e1940caeb48e92f Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Wed Mar 11 17:37:19 2015 -0700 dt: power: Add docs for generic SYSCON poweroff driver. Add documentation for generic SYSCON poweroff driver. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8a577608ba4a3cab1d74025cea382e40544ab9cd Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Wed Mar 11 17:37:18 2015 -0700 power: reset: Add generic SYSCON register mapped poweroff. Add a generic SYSCON register mapped poweroff mechanism. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b97169da06992ef04081e66ed22bbdb23dbf6610 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Apr 2 15:37:04 2015 +0800 ASoC: Intel: create atom folder and move atom platform files in Restructure the sound/soc/intel/ directory: create atom folder, and move sst atom platform files here. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 66a6fd9846f0aecdbab9324b792b319fd8e95e77 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Apr 2 15:37:03 2015 +0800 ASoC: Intel: create baytrail folder and move baytrail platform files in Restructure the sound/soc/intel/ directory: create baytrail folder, and move sst baytrail platform files here. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e56c72d5f201044b14191c5b83a25e17f2d68ccf Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Apr 2 15:37:02 2015 +0800 ASoC: Intel: create boards folder and move sst boards files in Restructure the sound/soc/intel/ directory: create boards folder, and move sst boards files here. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ba57f68235cf6e9105bf649b01cf9eafc321ea7b Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Apr 2 15:37:01 2015 +0800 ASoC: Intel: create haswell folder and move haswell platform files in Restructure the sound/soc/intel/ directory: create haswell folder, and move haswell platform files here. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Reviewed-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2106241a680397f6f49da796a4ce11eb5cf2698e Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Apr 2 15:37:00 2015 +0800 ASoC: Intel: create common folder and move common files in Restructure the sound/soc/intel/ directory: create common folder, and move sst common files here. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a54aecbd3ad08f6a5e9546a3602af7d88cc5a613 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Apr 6 09:23:30 2015 -0700 Input: gscps2 - drop pci_ids dependency This driver does not use any PCI IDs, don't include the pci_ids.h header. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 63c4fda3c0bb841b1aad1298fc7fe94058fc79f8 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Sun Apr 5 13:45:04 2015 -0700 Input: synaptics - allocate 3 slots to keep stability in image sensors When slowly dropping 1, 2 and then 3 fingers on an image sensor touchpad, we can see that the first finger gets reassigned a new slot while it did not move. This is due to the kernel tracking algorithm which can not assign correctly the 3 touches, being out of slots. Declaring that we support 3 slots allows to actually forward: slot 0 -> down, slot 1 -> up, slot 2 -> down Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Henrik Rydberg <rydberg@xxxxxxxxxxx Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 58fd9af6e1ccabec6bc799b32eea22a82103d5ae Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Sun Apr 5 13:44:12 2015 -0700 Input: Revert "Revert "synaptics - use dmax in input_mt_assign_slots"" This reverts commit 09d042a2eb90 ("Revert "Input: synaptics - use dmax in input_mt_assign_slots"") Now that balanced slots assignments seem to be fixed, let's re-enable the use in synaptics.c and wait for users to complain if there are still problems. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Henrik Rydberg <rydberg@xxxxxxxxxxx Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 73e8a8e777d8dde6a67df1cf4b18371e27d080d8 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Sun Apr 5 13:41:35 2015 -0700 Input: MT - make slot assignment work for overcovered solutions The recent inclusion of a deassignment cost in the slot assignment algorithm did not properly account for the corner cases where the solutions are overcovered. This change makes sure the resulting assignment is unique, allocating new slots when necessary. Signed-off-by: Henrik Rydberg <rydberg@xxxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c9bc3e8bf04225968f1cee34b50216263ed58000 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Apr 3 11:45:27 2015 +0300 spi: signedness bug in qspi_trigger_transfer_out_int() We need "ret" to be unsigned for the error handling to work. The signedness of "i" and "n" don't matter but qspi_set_send_trigger() returns an int so I've changed them to int as well. Fixes: 4b6fe3edcbba ('spi: Using Trigger number to transmit/receive data') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 158bf4ed7f686f92ea6c046c5d9d04afad92eb17 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 18:28:32 2015 +0100 ASoC: wm5102: Remove set of volume update bits for output 3R The earpiece on wm5102 is mono, thus there is no output 3R. Don't toggle the volume update bits for this output, although worth noting that doing so had no negative effects it is just redundant. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bbaeeaaf314aaf5e32e20070378bc14792ae3752 Author: Beomho Seo <beomho.seo@xxxxxxxxxxx> Date: Fri Apr 3 17:26:09 2015 +0900 power: max17042_battery: add missed blank This patch add missed blank line after decalations. Signed-off-by: Beomho Seo <beomho.seo@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 709c2c70c8ea73f488971f1de3c39fbdac995951 Author: Beomho Seo <beomho.seo@xxxxxxxxxxx> Date: Fri Apr 3 17:26:08 2015 +0900 power: max17042_battery: Use reg type instead of chip type Currently, max17042 battery driver choose register map by MAX17042_DevName register. But it is return IC specific firmware version. So other maxim chip hard to use this drvier. This patch choose chip type from driver_data. Signed-off-by: Beomho Seo <beomho.seo@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6ba94429c8e7b87b0fff13c5ac90731b239b77fa Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Thu Apr 2 19:14:39 2015 +0800 workqueue: Reorder sysfs code The sysfs code usually belongs to the botom of the file since it deals with high level objects. In the workqueue code it's misplaced and such that we'll need to work around functions references to allow the sysfs code to call APIs like apply_workqueue_attrs(). Lets move that block further in the file, almost the botom. And declare workqueue_sysfs_unregister() just before destroy_workqueue() which reference it. tj: Moved workqueue_sysfs_unregister() forward declaration where other forward declarations are. Suggested-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Mike Galbraith <bitbucket@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 69df353ff305805fc16082d0c5bfa6e20fa8b863 Author: Borislav Petkov <bp@xxxxxxx> Date: Sat Apr 4 23:07:42 2015 +0200 x86/alternatives: Guard NOPs optimization Take a look at the first instruction byte before optimizing the NOP - there might be something else there already, like the ALTERNATIVE_2() in rdtsc_barrier() which NOPs out on AMD even though we just patched in an MFENCE. This happens because the alternatives sees X86_FEATURE_MFENCE_RDTSC, AMD CPUs set it, we patch in the MFENCE and right afterwards it sees X86_FEATURE_LFENCE_RDTSC which AMD CPUs don't set and we blindly optimize the NOP. Checking whether at least the first byte is 0x90 prevents that. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428181662-18020-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fc3e958a2b552fe6210e6de3bebb4348156a0b5f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Sat Apr 4 20:55:19 2015 +0200 x86/asm/entry: Clear EXTRA_REGS for all executable formats On failure, sys_execve() does not clobber EXTRA_REGS, so we can just return to userpsace without saving/restoring them. On success, ELF_PLAT_INIT() in sys_execve() clears all these registers. On other executable formats: - binfmt_flat.c has similar FLAT_PLAT_INIT, but x86 (and everyone else except sh) doesn't define it. - binfmt_elf_fdpic.c has ELF_FDPIC_PLAT_INIT, but x86 (and most others) doesn't define it. - There are no such hooks in binfmt_aout.c et al. We inherit EXTRA_REGS from the prior executable. This inconsistency was not intended. This change removes SAVE/RESTORE_EXTRA_REGS in stub_execve, removes register clearing in ELF_PLAT_INIT(), and instead simply clears them on success in stub_execve. Run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428173719-7637-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6a3713f001b3b53587e411ab0d3036ae9b0fb93b Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Sat Apr 4 08:58:23 2015 -0400 x86/signal: Remove pax argument from restore_sigcontext The 'pax' argument is unnecesary. Instead, store the RAX value directly in regs. This pattern goes all the way back to 2.1.106pre1, when restore_sigcontext() was changed to return an error code instead of EAX directly: https://git.kernel.org/cgit/linux/kernel/git/history/history.git/diff/arch/i386/kernel/signal.c?id=9a8f8b7ca3f319bd668298d447bdf32730e51174 In 2007 sigaltstack syscall support was added, where the return value of restore_sigcontext() was changed to carry the memory-copying failure code. But instead of putting 'ax' into regs->ax directly, it was carried in via a pointer and then returned, where the generic syscall return code copied it to regs->ax. So there was never any deeper reason for this suboptimal pattern, it was simply never noticed after being introduced. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428152303-17154-1-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 81a1209c90914cbf5639a2bc9a325d9821f89faa Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Feb 5 18:39:03 2015 +0200 mtd: spi-nor: Add support for Macronix mx25u6435f serial flash Add Macronix (mx25u6435f) 8MB flash to the list of supported chips. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e88e567f15a26fc62da8e4e0c56d5319b40f628b Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Feb 5 18:39:02 2015 +0200 mtd: spi-nor: Add support for Winbond w25q64dw serial flash Add Winbond (w25q64dw) 8MB flash to the list of supported chips. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 40d19ab69c79da373cdf561a444fbb9778a2ab7d Author: Gabor Juhos <juhosg@xxxxxxxxxxx> Date: Thu Mar 26 23:58:02 2015 +0100 mtd: spi-nor: add support for the Winbond W25X05 flash Signed-off-by: Gabor Juhos <juhosg@xxxxxxxxxxx> Signed-off-by: Luka Perkov <luka@xxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 072b56ab86d2bb2eb6aea4a810cebfa9f105b732 Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Date: Fri Mar 27 17:38:30 2015 +0800 mtd: spi-nor: support en25s64 device Add support for EON en25s64 SPI flash. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1103b8517041b08286cae0da8481bef9164c961a Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Mar 27 10:29:50 2015 -0700 mtd: m25p80: bind to "nor-jedec" ID, for auto-detection Use the new 'nor-jedec' binding to provide automatic detection of flash that use the 0x9F READ ID opcode. This can help for use cases where platforms just specify compatibility with "m25p80", and then see messages like this: m25p80 spi32766.0: found s25fl256s1, expected m25p80 Instead, they can just specify the generic string and see this: m25p80 spi32766.0: s25fl256s1 (32768 Kbytes) Also, update the language about m25p_ids[] to straighten out the expectations here. We should no longer need to continuously grow the m25p_ids[] table, and in fact, we might want to start removing entries which are not used in device trees so far, so we can just default to auto-detection as much as possible in the future. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> commit 8ff16cf77ce314c20d7bd57c788f5b7719b450e1 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Mar 27 10:29:49 2015 -0700 Documentation: devicetree: m25p80: add "nor-jedec" binding Almost all flash that are "compatible" with m25p80 support the JEDEC READ ID opcode (0x9F), and in fact, that is often the only thing that is used to differentiate them. Let's add a compatible string that represents this lowest common denominator of compatibility. Device trees can still specify manufacturer/device names in addition, but (until some reason is found to differentiate between them through device tree) software will likely want to bind just against the generic name, and avoid unnecessarily growing its device ID binding tables. This is related to the work of commit a5b7616c55e1 ("mtd: m25p80,spi-nor: Fix module aliases for m25p80"), which showed that maintaining these device tables as stable device-tree/modalias binding tables is not a worthwhile burden for mostly-comptatible flash. At the same time, let's update the binding doc to point to the m25p_ids[] ID list instead of spi_nor_ids[]. The former can be used for device tree bindings, but the latter cannot. In the future, we should pare down the m25p_ids[] list to only those IDs which are actually used in device trees. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> commit 2a6a28e7922c07c116ba8f2aa3682c03ef8be678 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Mar 29 21:52:06 2015 +0200 mtd: Make MTD tests cancelable I always go nuts when I start an MTD test on a slow device and have to wait forever until it finishes. From the debug output I already know what the issue is but I have to wait or reset the board hard. Resetting is often not an option (remote access, you don't want lose the current state, etc...). The solution is easy, check for pending signals at key positions in the code. Using that one can even stop a test by pressing CTRL-C as insmod/modprobe have SIGINT pending. Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d2b51c808745ca93c020ba34a3cf256ad52adc63 Author: Roger Quadros <rogerq@xxxxxx> Date: Fri Dec 5 17:18:39 2014 +0200 mtd: mtd_oobtest: Fix bitflip_limit usage in test case 3 In test case 3, we set vary_offset to write at different offsets and lengths in the OOB available area. We need to do the bitflip_limit check while checking for 0xff outside the OOB offset + length area that we didn't modify during write. Signed-off-by: Roger Quadros <rogerq@xxxxxx> [Brian: whitespace fixup] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 45fd357a491ecc56c0f9bb110bd05d9caf28889f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Mar 31 09:53:37 2015 -0700 mtd: docg3: remove invalid __exit annotations The .remove callback may be used when detaching a device via sysfs, so we can't expect to free up this memory. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 95d706657311f24407d0f7a0cf79b55904ec6524 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Mar 13 07:23:47 2015 -0400 mtd: fsl_ifc_nand: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var) which helps readability and also handles all corner-cases properly. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 41c7540d0c4e362212845aa2258c15aaa878665f Author: Wu, Josh <Josh.wu@xxxxxxxxx> Date: Thu Apr 2 14:13:47 2015 +0800 mtd: atmel_nand: don't map the ROM table if no pmecc table offset in DT if atmel,pmecc-lookup-table-offset is not found in DT node, we don't need to map the ROM table as we will build a runtime gf table anyway. Reported-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 477478aedc8bdf1925785835609bc7e790f69aef Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Apr 2 14:12:33 2015 +0800 mtd: atmel_nand: add a definition for the oob reserved bytes It's better to use a macro instead of just a number. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3a434f66e6dab645d74a59c95651cdbe16497a50 Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Thu Apr 2 15:15:12 2015 -0700 mtd: part: Remove partition overlap checks This patch makes MTD dynamic partitioning more flexible by removing overlap checks for dynamic partitions. I don't see any particular reason why overlapping dynamic partitions should be prohibited while static partitions are allowed to overlap freely. The checks previously had an off-by-one error, where 'end' should be one less than what it is currently set at, and adding partitions out of increasing order will fail. Disabling the checks resolves this issue. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a62c24d75529118d10c45350c3b75715d52ff574 Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Thu Apr 2 15:15:11 2015 -0700 mtd: part: Add sysfs variable for offset of partition This patch makes a sysfs variable called 'offset' on each partition which contains the offset in bytes from the beginning of the master device that the partition starts. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 727dc612c46b8f3858537ea23805b3e897cf127e Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Date: Thu Apr 2 15:15:10 2015 -0700 mtd: part: Create the master device node when partitioned For many use cases, it helps to have a device node for the entire MTD device as well as device nodes for the individual partitions. For example, this allows querying the entire device's properties. A common idiom is to create an additional partition which spans over the whole device. This patch makes a config option, CONFIG_MTD_PARTITIONED_MASTER, which makes the master partition present even when the device is partitioned. This isn't turned on by default since it presents a backwards-incompatible device numbering. The patch also makes the parent of a partition device be the master, if the config flag is set, now that the master is a full device. Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5df848f37b1d20e5dd64bea16ba9f69ed321e11b Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Apr 5 14:06:36 2015 +0200 NFC: pn533: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9421ce10ad87f799263bddad74b91e2166f020a1 Author: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Date: Mon Apr 6 00:58:51 2015 +0200 NFC: nxp-nci: Release firmware when switching to FW mode fails In that case, the firmware work will never be scheduled, will never complete and thus the firmware will never be released. Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2b591257d97550e575f761e83c607d99b0f86899 Author: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Date: Mon Apr 6 00:51:17 2015 +0200 NFC: nxp-nxi: Remove useless fw pointer check It request_firmware returns 0, the request succeeded and the firmware pointer is valid. No need to check for it. Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9dbe776338e7f97483452cc00adf0d527d6900dd Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:23 2015 +0200 nfc: st21nfca: Add additional comments about EVT_TRANSACTION Add comments about HCI EVT_TRANSACTION in order to make the code understandable by other readers. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1dab57f0ed753ddef07a8aa987d490c74884ff18 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:22 2015 +0200 nfc: st21nfcb: Add additional comments about EVT_TRANSACTION Add comments about HCI EVT_TRANSACTION in order to make the code understandable by other readers. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1f74f323e2c30b7fd53f6ad16c1990f2c80bbfc0 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:21 2015 +0200 nfc: nci: Add comment to explain NCI_HCI_MAX_PIPES According to specification etsi 102 622 chapter 4.4 pipes identifier is 7 bits long giving a 127 possible pipes value. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 05db6e94fe7f63e10df94bd628a033b2ecb0bf7b Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:20 2015 +0200 nfc: st21nfcb: Add missing break statement in switch section Add missing break statement when ST21NFCB_EVT_TRANSACTION switch section ends. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0fc4a1291aeef338593e44e5396559df27f0bfdf Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:19 2015 +0200 nfc: Reduce nfc_evt_transaction params length to 0 According to etsi 102 622 chapter 11.2.2.4 EVT_TRANSACTION, the nfc_evt_transaction parameters can be 0 up to 255 byte long. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0b040964a01ccfd880207ddc498e55e6c990a5d5 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:18 2015 +0200 nfc: hci: Add comment to explain NFC_HCI_MAX_PIPES According to specification etsi 102 622 chapter 4.4 pipes identifier is 7 bits long giving a 127 possible pipes value. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a8f686ec1041bd704748a2d919cea9652e8e943e Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:17 2015 +0200 NFC: st21nfca: Change st21nfca_get_iso14443_3_uid parameter name st21nfca_get_iso14443_3_uid gate parameter name is incorrect and should be uid. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9906a88df224bc2b8be50fdb14df5eda0936fe34 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:16 2015 +0200 NFC: st21nfca: fix st21nfca_get_iso14443_3_uid data copy st21nfca_get_iso14443_3_uid() does not correctly copy the uid from uid_skb->data to its gate parameter. "gate = uid_skb->data;" only puts a pointer to uid_skb->data to the local variable gate. This means that in st21nfca_hci_target_from_gate() the content of "u8 uid[NFC_NFCID1_MAXSIZE]" local variable is never initialized before being used in memcpy(target->nfcid1, uid, len). Fix this by replacing the local variable assignment with a memcpy. This was found by compiling Linux with "gcc -Wunused-but-set-parameter". Acked-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d4a41d10b2cb5890aeda6b2912973b2a754b05b1 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:15 2015 +0200 NFC: st21nfcb: Retry i2c_master_send if it returns a negative value i2c_master_send may return many negative values different than -EREMOTEIO. In case an i2c transaction is NACK'ed, on raspberry pi B+ kernel 3.18, -EIO is generated instead. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2ca21002798a1a88196a90f407b80df3a25c69dc Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Tue Mar 31 08:02:14 2015 +0200 NFC: st21nfcb: Fix memory leak in secure element probing stage In case the hci session is successfully initialized we never release the nci_core_conn_create dest_params. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b832da56024b33e6c7f06f766c59d90e4f377a9b Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Apr 5 14:06:29 2015 +0200 HID: logitech-hidpp: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7ab7ef741a467e7af50c9b7446ec992bec9ea6a7 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 14:17:48 2015 +0100 clocksource: atmel-st: select MFD_SYSCON Enforce MFD_SYSCON selection as the driver needs it. Else, it will still compile with some warning about X1, x2 or sr being used uninitialized. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 2e57dc087c27b8b0bd4a9e5f2c6f28f3cd0b47ff Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 23:44:38 2015 +0100 ARM: at91/pm: move AT91_MEMCTRL_* to pm.h the AT91_MEMCTRL_* defines are only used by the pm code, move them to pm.h Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit a18d0699dd18ba5661c321ebd67e6056656b6765 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 23:44:37 2015 +0100 ARM: at91/pm: move the standby functions to pm.c The standby functions are now only used in pm.c, move them there. Also, they are not inlined as a pointer to those functions is passed to the cpuidle driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 176a1b3dadf08835b9435bed4957daa066702a39 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 21:14:40 2015 +0100 ARM: at91: fix pm_suspend.S compilation when ARMv6 is selected When compiling for multiplatform for both ARMv6 and ARMv7, the default compiler flags are for ARMv6, and results in: arch/arm/mach-at91/pm_suspend.S:144: Error: selected processor does not support ARM mode `dsb' Enforce ARMv7 flags for pm_suspend.o when CPU_V7 is selected. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit f32c1c1b46c2bd5fda77b49e28b9f9329cd830d1 Author: Michael Gernoth <michael@xxxxxxxxxxx> Date: Sat Mar 28 19:20:35 2015 +0100 ALSA: emu10k1: add Audigy 5/Rx The Audigy 5/Rx is essentially an Audigy 4 behind a PLX PCIe- bridge with an additional TOSLINK output. Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 58d8a3be36cf0fe2eb2609e205bb07a141c29a7c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 3 17:30:31 2015 -0700 Input: alps - document stick behavior for protocol V2 Document that protocol V2 uses standard (bare) PS/2 mouse packets for the DualPoint stick. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-By: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e3a79212eae6eb64ed68c78409778f8d1a84c2a1 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 3 17:20:05 2015 -0700 Input: alps - report V2 Dualpoint Stick events via the right evdev node On V2 devices the DualPoint Stick reports bare packets, these should be reported via the "AlpsPS/2 ALPS DualPoint Stick" dev2 evdev node, which also has the INPUT_PROP_POINTING_STICK propbit set. Note that since there is no way to distinguish these packets from an external PS/2 mouse (insofar as these laptops have an external PS/2 port) this means that we will be reporting PS/2 mouse events via this evdev node too, as we've been doing in kernel 3.19 and older. This has been tested on a Dell Latitude D620 and a Dell Latitude E6400, which both have a V2 touchpad + a DualPoint Stick which reports bare packets. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 59c30afbd37c26168597e737297a1de68848c332 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 3 17:14:40 2015 -0700 Input: alps - report interleaved bare PS/2 packets via dev3 Bare packets should be reported via the same evdev device independent on whether they are detected on the beginning of a packet or in the middle of a packet. This has been tested on a Dell Latitude E6400, where the DualPoint Stick reports bare packets, which get reported via dev3 when the touchpad is idle, and via dev2 when the touchpad and stick are used simultaneously. This commit fixes this inconsistency by always reporting bare packets via dev3. Note that since the come from a DualPoint Stick they really should be reported via dev2, this gets fixed in a later commit. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f9541f8239a5765595543b021b2dce6a8d6653ab Author: Amaury.Bouchra.Pilet@xxxxxx <Amaury.Bouchra.Pilet@xxxxxx> Date: Sun Apr 5 00:58:16 2015 +0200 staging: lustre: orthography & coding style Orthography and coding style corrections. Signed-off-by: Amaury Bouchra Pilet <Amaury.Bouchra.Pilet@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a18ac314ebff427b972a0bb5ddfc205b8145e04e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Apr 5 14:06:35 2015 +0200 staging: lustre: lnet: lnet: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b183c11217e10c274720795daed5703c2186a459 Author: Tal Shorer <tal.shorer@xxxxxxxxx> Date: Sun Apr 5 13:54:09 2015 +0300 staging: lustre: fix sparse warning Sparse reports: drivers/staging/lustre/lustre/obdclass/obd_mount.c:1284:6: warning: symbol 'lustre_kill_super' was not declared. Should it be static? Fix this warning by making lustre_kill_super static. It is not used outside this file. Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 646cb6dae4994eb332ddf7376520eed255c5a8b4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Apr 5 14:06:33 2015 +0200 ALSA: au1x00: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: Takashi Iwai <tiwai@xxxxxxx> commit fa3f70d62844bd91880ea634c06b46585fefd74b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Mar 25 23:15:32 2015 -0700 hwmon: (it87) Add support for 6th fan of IT8620E IT8620E supports up to 6 fan tachometers. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 3ba9d977a9b8a90c586f46444448d977bdbdcc3b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 13 20:13:20 2015 -0800 hwmon: (it87) Add support for IT8620E IT8620E is mostly compatible to IT7828F. Add generic support for it. IT8620E supports up to 6 fan tachometers and 6 pwm controls. Support for the 6th tachometer and for the additional pwm controls are addded in separate patches. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 4ee07157d690b1b824328a473816a371130de6f2 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Mar 25 23:26:28 2015 -0700 hwmon: (it87) Add support for IT8790E IT8790E is a super-IO chip with three fan tachometers. It is mostly compatible to IT8728F, but only supports three fan tachometers instead of five. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 7f5726c39ad469447545233f41a13d202a233d6b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 08:49:18 2015 -0700 hwmon: (it87) Introduce feature flag to reflect internal in7 sensor On some chips, in7 is always an internal voltage sensor. Introduce feature flag to reflect this condition to simplify adding support for new chips. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit faf392fb843007ade20720f18920f8444660cd8b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 08:36:18 2015 -0700 hwmon: (it87) Introduce configuration field for chip suffix ITE chips may have 'E', 'F', or both 'E' and 'F' suffixes. Introduce suffic configuration to the it87_devices structure to simplify adding new chips. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit f56c9c0aa66034b0de4f6fdeb0d41d38cdbb6dc1 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 20:01:24 2015 -0700 hwmon: (it87) Fix PWM frequency display for chips with newer PWM control On chips with newer PWM control, the PWM frequency divider is 256 instead of 128. Since the base PWM frequency remained the same, the actual PWM frequency is half of what it used to be with the older PWM control mechanism. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 265ef3ee9575e6d150f485d28dbe153a50d27f4c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Apr 5 14:06:26 2015 +0200 HSI: cmt_speech: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: Sebastian Reichel <sre@xxxxxxxxxx> commit eab0fbfa41040f4f76b173cad17c0c8ed40cba33 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Apr 4 13:38:25 2015 -0700 ALSA: Use const struct ac97_quirk Use const to reduce data by ~3Kb. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f8b3d8a5af7559a58613384cd23fc03a3c787acf Merge: 8eb6dcf d3a3d28 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 12:26:28 2015 -0700 Merge tag 'usb-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are some small USB fixes and new device ids for 4.0-rc6. Nothing major, some xhci fixes for reported problems, and some usb-serial device ids. All have been in linux-next for a while" * tag 'usb-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: USB: ftdi_sio: Use jtag quirk for SNAP Connect E10 usb: isp1760: fix spin unlock in the error path of isp1760_udc_start usb: xhci: apply XHCI_AVOID_BEI quirk to all Intel xHCI controllers usb: xhci: handle Config Error Change (CEC) in xhci driver USB: keyspan_pda: add new device id USB: ftdi_sio: Added custom PID for Synapse Wireless product commit 5888b93b750609680735d6b8b737703083ef40ff Merge: b81b7be b85c3dc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Apr 4 15:23:15 2015 -0400 Merge branch 'nf-hook-compress' netfilter: Compress hook function signatures. Currently netfilter hooks have a function signature that is huge and has many arguments. This propagates from the hook entry points down into the individual hook implementations themselves. This means that if, for example, we want to change the type of one of these arguments then we have to touch hundreds of locations. The main initial motivation behind this is that we'd like to change the signature of "okfn" so that a socket pointer can be passed in (and reference counted properly) for the sake of using the proper socket context in the case of tunnels whilst not releasing the top level user socket from skb->sk (and thus releasing it's socket memory quota usage) in order to accomodate this. This also makes it clear who actually uses 'okfn', nf_queue(). It is absolutely critical to make this obvious because any user of 'okfn' down in these hook chains have the be strictly audited for escapability. Specifically, escapability of references to objects outside of the packet processing path. And that's exactly what nf_queue() does via it's packet reinjection framework. In fact this points out a bug in Jiri's original attempt to push the socket pointer down through netfilter's okfn. It didn't grab and drop a reference to the socket in net/netfilter/nf_queue.c as needed. Furthermore, so many code paths are simplified, and should in fact be more efficient because we aren't passing in arguments that often are simply not used by the netfilter hook at all. Further simplifications are probably possible, but this series takes care of the main cases. Unfortunately I couldn't convert ebt_do_table() because ebtables is complete and utter crap and uses ebt_do_table() outside of the hook call chains. But that should not be news to anyone. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8eb6dcf9d2b15bb1ac066d378e503f79efcbe65c Merge: eca8258 dce5bdf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 12:22:31 2015 -0700 Merge tag 'staging-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver fixes from Greg KH: "Here are some staging driver fixes, well, really all just IIO driver fixes, for 4.0-rc6. They fix issues that have been reported with these drivers. All of these patches have been in linux-next for a while" * tag 'staging-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: iio: imu: Use iio_trigger_get for indio_dev->trig assignment iio: adc: vf610: use ADC clock within specification iio/adc/cc10001_adc.c: Fix !HAS_IOMEM build iio: core: Fix double free. iio:inv-mpu6050: Fix inconsistency for the scale channel staging: iio: dummy: Fix undefined symbol build error iio: inv_mpu6050: Clear timestamps fifo while resetting hardware fifo staging: iio: hmc5843: Set iio name property in sysfs iio: bmc150: change sampling frequency iio: fix drivers that check buffer->scan_mask commit eca8258be3e60c88383aa439751d3e2069b56241 Merge: 1cced50 8e4934c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 12:11:57 2015 -0700 Merge tag 'tty-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial fixes from Greg KH: "Here are 3 serial driver fixes for 4.0-rc6. They fix some reported issues with the samsung and fsl_lpuart drivers. All have been in linux-next for a while" * tag 'tty-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: tty: serial: fsl_lpuart: clear receive flag on FIFO flush tty: serial: fsl_lpuart: specify transmit FIFO size serial: samsung: Clear operation mode on UART shutdown commit b85c3dc9bd5347ad9540ec8d103b7c049c48b7cd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 21:18:46 2015 -0400 netfilter: Pass nf_hook_state through arpt_do_table(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 073bfd56860446a2cb349bcf282fc17a36ca386c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 21:16:25 2015 -0400 netfilter: Pass nf_hook_state through nft_set_pktinfo*(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f8a37152df49d541c43f010543f2b0176fcfb8e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 21:09:51 2015 -0400 netfilter: Pass nf_hook_state through ip6t_do_table(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fe22382d1e73dc0ded8098ccf761c986149f72b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 21:05:07 2015 -0400 netfilter: Pass nf_hook_state through nf_nat_ipv6_{in,out,fn,local_fn}(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c491ba2592f621f21a693d43fab06302527fc0f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 20:56:08 2015 -0400 netfilter: Pass nf_hook_state through ipt_do_table(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7cf4081ed454dba02cb632e492ecf5e29d1ee44 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 20:51:13 2015 -0400 netfilter: Pass nf_hook_state through nf_nat_ipv4_{in,out,fn,local_fn}(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 238e54c9cb9385a1ba99e92801f3615a2fb398b6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 20:32:56 2015 -0400 netfilter: Make nf_hookfn use nf_hook_state. Pass the nf_hook_state all the way down into the hook functions themselves. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d1de89b9a4746f1dd055a3b8d073dd2f962a3b6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 16:31:01 2015 -0400 netfilter: Use nf_hook_state in nf_queue_entry. That way we don't have to reinstantiate another nf_hook_state on the stack of the nf_reinject() path. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cfdfab314647b1755afedc33ab66f3f247e161ae Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 16:23:58 2015 -0400 netfilter: Create and use nf_hook_state. Instead of passing a large number of arguments down into the nf_hook() entry points, create a structure which carries this state down through the hook processing layers. This makes is so that if we want to change the types or signatures of any of these pieces of state, there are less places that need to be changed. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbe4058a6a44af4ca5d146aebe01b0a1f9b7fd2a Author: Borislav Petkov <bp@xxxxxxx> Date: Sat Apr 4 15:34:43 2015 +0200 x86/alternatives: Fix ALTERNATIVE_2 padding generation properly Quentin caught a corner case with the generation of instruction padding in the ALTERNATIVE_2 macro: if len(orig_insn) < len(alt1) < len(alt2), then not enough padding gets added and that is not good(tm) as we could overwrite the beginning of the next instruction. Luckily, at the time of this writing, we don't have ALTERNATIVE_2() invocations which have that problem and even if we did, a simple fix would be to prepend the instructions with enough prefixes so that that corner case doesn't happen. However, best it would be if we fixed it properly. See below for a simple, abstracted example of what we're doing. So what we ended up doing is, we compute the max(len(alt1), len(alt2)) - len(orig_insn) and feed that value to the .skip gas directive. The max() cannot have conditionals due to gas limitations, thus the fancy integer math. With this patch, all ALTERNATIVE_2 sites get padded correctly; generating obscure test cases pass too: #define alt_max_short(a, b) ((a) ^ (((a) ^ (b)) & -(-((a) < (b))))) #define gen_skip(orig, alt1, alt2, marker) \ .skip -((alt_max_short(alt1, alt2) - (orig)) > 0) * \ (alt_max_short(alt1, alt2) - (orig)),marker .pushsection .text, "ax" .globl main main: gen_skip(1, 2, 4, 0x09) gen_skip(4, 1, 2, 0x10) ... .popsection Thanks to Quentin for catching it and double-checking the fix! Reported-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150404133443.GE21152@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c8a329c777f5a38e39b25425d29b2e37cbb06614 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Mon Mar 30 15:49:26 2015 +0200 doc: Add guest_nice column to example output of `cat /proc/stat' Commit ce0e7b28fb75cb00 ("sched, cpuacct: Fix niced guest time accounting") added the guest_nice column to /proc/stat, but the example output of `cat /proc/stat' in Documentation/filesystems/proc.txt wasn't updated accordingly. Do so now. Cc: Ryota Ozaki <ozaki.ryota@xxxxxxxxx> Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit f29ba61d0abad6ad0beed5237cd337b5e25adad7 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Mar 27 16:15:18 2015 +0100 Documentation/kernel-parameters: Move "eagerfpu" to its right place We're at least trying to be alphabetically sorted. So move "eagerfpu=" in the vicinity of where it belongs at least. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit cfc507648c2c9060aeba0d1a41bb5e5985f16636 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Apr 1 11:13:16 2015 +0300 Documentation: gpio: Update ACPI part of the document to mention _DSD With ACPI 5.1 _DSD (Device Specific Data) it is now possible to name functions just like Device Tree is doing. Make sure that the documentation mentions _DSD as the recommended way to describe GPIOs in ACPI systems. Reported-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 7085f6c354e1d0b1cc6efafc1389dc63f8b0699a Author: Jonathan Corbet <corbet@xxxxxxx> Date: Fri Mar 27 10:16:35 2015 -0600 docs/completion.txt: Various tweaks and corrections Mostly language improvements to the new completions.txt document, but there is also a semantic correction in the description of completion_done() at the very end. Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 4988aaa6e508614e5d4c4f08723635fc8191188b Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 20 12:28:48 2015 -0500 doc: completion: context, scope and language fixes Fix for imprecise/wrong statements on context in which wait_for_completion*() can be called, updated notes on "going out of scope" problems and some language fixups. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 4997166a393851d0595f85cbe1195208d582e172 Author: Fu Wei <wefu@xxxxxxxxxx> Date: Tue Mar 24 00:43:17 2015 +0800 Documentation:Update Documentation/zh_CN/arm64/memory.txt This is a update of Chinese documentation:Documentation/zh_CN/arm64/memory.txt It is based on the modifications of Documentation/arm64/memory.txt in submission: "08375198", "4edae01e", "a24637d5", "383c2799". Signed-off-by: Fu Wei <wefu@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 89098bfcf5944e4aab98c83de3cf4c0d802e8d3f Author: Fu Wei <wefu@xxxxxxxxxx> Date: Tue Mar 24 17:37:19 2015 +0800 Documentation:Update Documentation/zh_CN/arm64/booting.txt This is a update of Chinese documentation: Documentation/zh_CN/arm64/booting.txt It is based on the modifications of Documentation/arm64/booting.txt in submission: "a2c1d73b", "cdd78578", "c218bca7", "63f8344c". Signed-off-by: Fu Wei <wefu@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 007c33bb9c8ee4ca7a7f0003a4529ad7df0c9e5c Author: Fu Wei <wefu@xxxxxxxxxx> Date: Thu Mar 26 17:49:25 2015 +0800 Documentation: Chinese translation of arm64/legacy_instructions.txt This is a Chinese translated version of Documentation/arm64/legacy_instructions.txt It is based on the modifications of Documentation/arm64/legacy_instructions.txt in submission: "587064b6", "bd35a4ad", "2d888f48", "c852f320". Signed-off-by: Fu Wei <wefu@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 751e2216899cb143fe1d5909fe762870faa945f6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Apr 2 16:51:43 2015 +0530 ALSA: hda: fix possible null dereference we are dereferencing pcm first then checking pcm. instead now lets put them in same if condition so that pcm is checked first. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9fc88ad6fd86ff6ce979105c633c58cc3980129c Author: Eric Wong <normalperson@xxxxxxxx> Date: Tue Mar 31 07:34:05 2015 +0000 ALSA: usb-audio: don't try to get Benchmark DAC1 sample rate Adding this quirk allows us to avoid the noisy "cannot get freq at ep 0x1" message in dmesg output every time playback starts. This ought to affect other Benchmark DAC1 variations using the same "Microchip Technology, Inc." chip as well, but I have only tested with the "Pre" variant. Signed-off-by: Eric Wong <normalperson@xxxxxxxx> Cc: Joe Turner <joe@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7081adf3f98f4c39dc6758208775b2aa48f51f8a Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Mon Mar 30 17:05:37 2015 +0800 ALSA: hda/realtek - Support Dell headset mode for ALC256 Dell new platform of ALC256 audio codec. Support headset mode for Dell ALC256 platform. Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 382fd7becc409be9cc18dea8e3d53f6d184f9a5c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Apr 4 12:24:00 2015 +0200 ALSA: hda - Enable widget power saving for Realtek codecs Recent Realtek codecs support the finer power state control on each widget. Let's enable the new feature. Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d545a57c5f84c01b50187177921e232a450858c7 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Apr 4 12:17:28 2015 +0200 ALSA: hda - Sync node attributes at resume from widget power saving So far we assumed that the node attributes like amp values remain during the power state transition of the node itself. While this is true for IDT/STAC codecs I've tested, but some other codecs don't seem behaving in that way. This patch implements a partial sync mechanism specific to the given widget node. Now we've merged the regmap support, and it can be easily written with regcache_sync_region(). Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 664bc5c55923712a8aabd2a390ed7477325e32df Merge: ffda568 9d82f92 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Apr 4 12:15:32 2015 +0200 Merge branch 'topic/hda-regmap' into for-next This merges the support of regmap in HD-audio infrastructure. Many in-house cache codes in HD-audio driver are relaced with the more standard regmap base now. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ffda568e8b4979c6a04bbdd92acfd93b5dc5e163 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Apr 1 12:43:00 2015 +0200 ALSA: hda - Fix subsystem ID read regression A regression was introduced in 7639a06c23c7d4cda3: if AC_PAR_SUBSYSTEM_ID reads as zero, one should retry using AC_VERB_GET_SUBSYSTEM_ID. This seems to hit many codecs (my own laptop included), and causes quirks for some machines not to apply correctly. Reported-by: TienFu Chen <tienfu.chen@xxxxxxxxxxxxx> Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 97498bb5764b8ddb3e14f7699c50e6bacbc4581c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sat Apr 4 12:00:25 2015 +0200 Revert "Staging: sm750fb: Fix C99 Comments" This reverts commit 6ad6b5ed3e2472b399b567a2f036006bf25df467. It added a file that should not be in the kernel source tree. Cc: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38c8af60046edab4c9db5f26e79746b1bd52c837 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Apr 3 13:23:12 2015 -0700 Bluetooth: Fix location of TX power field in LE advertising data The TX power field in the LE advertising data should be placed last since it needs to be possible to enable kernel controlled TX power, but still allow for userspace provided flags field. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit fd6413d882304ca66d99199db1561382e18396e4 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Apr 3 11:02:10 2015 -0700 Bluetooth: hidp: Use BIT(x) instead of (1 << x) Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b2ddeb11738464ce8f75c15384a3b8132cb80357 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Apr 3 11:02:09 2015 -0700 Bluetooth: cmtp: Use BIT(x) instead of (1 << x) Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 61125591e1de23992279938eebf8c54f47d7e0a9 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Mar 27 09:32:06 2015 -0700 mfd: tc3589x: enforce device-tree only mode All systems using the TC3589x multifunction expander uses devicetree, so don't clutter the place with a lot of and assume it is there. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8b6f53c2f6d3d04c077e74fdb07130242a2d6f58 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Mar 27 09:28:16 2015 -0700 Input: tc3589x - localize platform data This driver can only get its platform data from the device tree, and all platforms using it do that. Localize the platform data for the keypad. A later patch will enforce the device tree / OF dependence. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7cef9875f304d10fff18c2625ebd8a5bd748ce8b Merge: f83255c bd0d888 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 15:05:41 2015 -0700 Merge tag 'samsung-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc Merge "Samsung mach updates for v4.1" from Kukjin Kim: - for s3c64xx : use fixed IRQ bases to avoid conflicts on Cragganmore - for exynos3250 : add cpuidle and AFTR mode support : fix CPU1 hotplug - for exynos SoCs : add code for setting/clearing boot flag for cpuidle AFTR : remove left over 'extra_save' and constify 'exynos_pm_data' array : use static in suspend.c as per compiler suggestions : use platform device name as power domain name : add support for async-bridge clocks for pm_domains (exynos5420) * tag 'samsung-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: allow cpuidle driver usage on Exynos3250 SoC ARM: EXYNOS: add AFTR mode support for Exynos3250 ARM: EXYNOS: add code for setting/clearing boot flag ARM: EXYNOS: fix CPU1 hotplug on Exynos3250 ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore ARM: EXYNOS: Remove left over 'extra_save' ARM: EXYNOS: Constify exynos_pm_data array ARM: EXYNOS: use static in suspend.c ARM: EXYNOS: Use platform device name as power domain name ARM: EXYNOS: add support for async-bridge clocks for pm_domains Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fb0d305dcb05f2ab11d77e900362811019b4983b Merge: 4b3be93 f27b907 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:59:52 2015 -0700 Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Merge "Samsung DT updates for v4.1" from Kukjin Kim: - for exynos3250 : add assigned clock parents for CMU nodes - for exynos4412-odroid : add eMMC reset line - for exynos5250 : fixed typo for interrupt-cells - for exynos5250-snow : define stdout-path property : represent bridge and panel connection : enable wifi power-on and add cap-sdio-irq to wifi mmc node - for exynos5250-spring : define stdout-path property - for exynos5420 : fixed typo for interrupt-cells : add async-bridge clocks for gsc and disp1 PDs - for exynos5420 boards : Mux XMMCnDATA[0] pad correctly - for exynos5420-odroidxu3 : add eMMC reset line - for Peach boards : add HS400 support and define stdout-path property : add mclk entry and add WiFi module support : represent bridge and panel connection * tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Fixed typo interrupt-cells for exynos5420 and exynos5250 ARM: dts: Add HS400 support for exynos5420 and exynos5800 ARM: dts: add async-bridge clocks to gsc power domain for exynos5420 ARM: dts: add async-bridge clocks to disp1 power domain for exynos5420 dt-bindings: add asynchronous bridge clock for exynos ARM: dts: Define stdout-path property for exynos5250-spring ARM: dts: Define stdout-path property for exynos5250-snow ARM: dts: Define stdout-path property for Peach boards ARM: dts: Add assigned clock parents to CMU node for exynos3250 ARM: dts: Add mclk entry for Peach boards ARM: dts: Add WiFi module support for Peach boards ARM: dts: Mux XMMCnDATA[0] pad correctly for Exynos5420 boards ARM: dts: add eMMC reset line for exynos5422-odroidxu3 ARM: dts: add eMMC reset line for exynos4412-odroid-common ARM: dts: represent bridge and panel connection for exynos5420-peach-pit ARM: dts: represent bridge and panel connection for exynos5250-snow ARM: dts: Add cap-sdio-irq to wifi mmc node for exynos5250-snow ARM: dts: Enable wifi power-on for exynos5250-snow Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1cced5015b171415169d938fb179c44fe060dc15 Merge: 57a9d89 3309677 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 14:58:48 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input subsystem fixes from Dmitry Torokhov: "A fix for ALPS driver for issue introduced in the latest update and a tweak for yet another Lenovo box in Synaptics. There will be more ALPS tweaks coming.." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: define INPUT_PROP_ACCELEROMETER behavior Input: synaptics - fix min-max quirk value for E440 Input: synaptics - add quirk for Thinkpad E440 Input: ALPS - fix max coordinates for v5 and v7 protocols Input: add MT_TOOL_PALM commit d66e8d2e3c03bd380f23b29699d1991b1f064f22 Merge: d8ea264 bb84296 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:57:51 2015 -0700 Merge tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/defconfig Merge "Samsung defconfig updates for v4.1" from Kukjin Kim: - update exynos-defconfig : enable HDMI, CPUidle, ChromeOS EC chardev driver and thermal emulation, Marvell WiFi-Ex, CPUfreq, and support for NFS rootfs : remove EXYNOS_THERMAL_CORE define and disable IOMMU support until support it * tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: exynos_defconfig: Enable HDMI support ARM: exynos_defconfig: Enable options to mount a rootfs via NFS ARM: exynos_defconfig: Enable ChromeOS EC chardev driver ARM: exynos_defconfig: Enable CPU idle ARM: exynos_defconfig: Enable Marvell WiFi-Ex support ARM: exynos_defconfig: Disable IOMMU support ARM: exynos_defconfig: Enable support for cpufreq on Exynos SoCs ARM: exynos_defconfig: Enable thermal emulation for Exynos TMU ARM: exynos_defconfig: Remove CONFIG_EXYNOS_THERMAL_CORE define Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 30a5c1894a4c932f5a417f0a6ec369c7da81204b Merge: 77e3c09 a11176e Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:56:56 2015 -0700 Merge tag 'samsung-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/fixes-non-critical Merge "Samsung non-critical fixes for v4.1" from Kukjin Kim: - mostly trivial build fixes with random configurations from Arnd Bergmann for s3c24xx: avoid a Kconfig warning and fix header file inclusions, and fix building without PM_SLEEP and use SAMSUNG_WAKEMASK for s3c64xx: fix __initdata section mismatch and add I2C dependencies, and fix building with PM_SLEEP * tag 'samsung-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: S3C24XX: avoid a Kconfig warning ARM: S3C24XX: fix header file inclusions ARM: S3C24XX: fix building without PM_SLEEP ARM: S3C24XX: use SAMSUNG_WAKEMASK for s3c2416 ARM: S3C64XX: fix __initdata section mismatch ARM: S3C64XX: fix building without CONFIG_PM_SLEEP ARM: S3C64XX: add I2C dependencies where needed Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 98b80987c940956da48f0c703f60340128bb8521 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 10:56:10 2015 +0200 ARM: at91/dt: sama5d3 xplained: add phy address for macb1 After 57a38effa598 (net: phy: micrel: disable broadcast for KSZ8081/KSZ8091) the macb1 interface refuses to work properly because it tries to cling to address 0 which isn't able to communicate in broadcast with the mac anymore. The micrel phy on the board is actually configured to show up at address 1. Adding the phy node and its real address fixes the issue. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Johan Hovold <johan@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #3.19 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4b3be93dd095af7488b0aee6e53c0e74a6130303 Merge: ccca5d7 292a354 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:54:13 2015 -0700 Merge tag 'mvebu-dt-4.1-3' of git://git.infradead.org/linux-mvebu into next/dt Merge "ARM: mvebu: dt changes for v4.1 (round 3)" from Gregory Clement: mvebu dt changes for v4.1 (part #3) These changes have no influence on the kernel behavior (except removing a warning message), but they allow to have a better representation of the hardware. - conform L2CC node with ePAPR specification by adding cache-level - remove cpuclk resources overlapping coredivclk registers on Armada XP * tag 'mvebu-dt-4.1-3' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Conform L2CC node with ePAPR specification by adding cache-level ARM: mvebu: clk: remove cpuclk resources overlapping coredivclk registers on Armada XP Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 03a1e74cad817a381b4789fb9cc39c47c263c8a8 Merge: 1eddf57 cfdda35 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:51:10 2015 -0700 Merge tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Merge "Samsung 2nd fixes for v4.0" from Kukjin Kim: - Fix build breakage exynos cpuidle driver on !SMP because it is coupled built-in so added check for SMP. - Fix lid, power pin-functions and mmc node updates for exynos5250-spring: Fixes commit ID 53dd4138bb0a ("ARM: dts: Add exynos5250-spring device tree") * tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: Fix build breakage cpuidle on !SMP ARM: dts: fix lid and power pin-functions for exynos5250-spring ARM: dts: fix mmc node updates for exynos5250-spring Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9d8633915ba52158d53b016d276ca30616a6e6b3 Merge: 47f36e4 1f022d8 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:49:52 2015 -0700 Merge tag 'v4.0-next-soc' of https://github.com/mbgg/linux-mediatek into next/drivers Merge "ARM: mediatek: soc updates for v4.1" from Matthias Brugger: - enable the pin controller in Kconfig - Add PMIC wrapper for MT8135 and MT8173 SoCs * tag 'v4.0-next-soc' of https://github.com/mbgg/linux-mediatek: soc: mediatek: Add PMIC wrapper for MT8135 and MT8173 SoCs ARM: mediatek: enable the pin controller Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 57a9d89dc093d86920748fa706fd55f4fcd2399a Merge: 567cfea e963741 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 14:49:26 2015 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block layer fix from Jens Axboe: "Just one patch in this pull request, fixing a regression caused by a 'mathematically correct' change to lcm()" * 'for-linus' of git://git.kernel.dk/linux-block: block: fix blk_stack_limits() regression due to lcm() change commit ccca5d7d0844f9d97a985dc159056cf6d2e5d9eb Merge: efc98f7 85fc20b Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:47:54 2015 -0700 Merge tag 'v4.0-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt Merge "ARM: mediatek: dts updates for v4.1" from Matthias Brugger: - Add pinctrl/GPIO/EINT node for mt8135. - document binding for the PMIC wrapper - Add watchdog to mt6589 * tag 'v4.0-next-dts' of https://github.com/mbgg/linux-mediatek: ARM: DTS: Add watchdog to mt6589 dt-bindings: ARM: Mediatek: document binding for the PMIC wrapper ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit bb1518f39bec1b3061425ad378793cf9c4bdb3d2 Merge: 2b01311 359f936 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:47:11 2015 -0700 Merge tag 'v4.0-next-arm64' of https://github.com/mbgg/linux-mediatek into next/arm64 Merge "ARM: mediatek: arm64 changes for 4.1" from Matthias Brugger: - Select PINCTRL for Mediatek platform - Add pinctrl/GPIO/EINT node for mt8173. * tag 'v4.0-next-arm64' of https://github.com/mbgg/linux-mediatek: arm64: dts: mt8173: Add pinctrl/GPIO/EINT node for mt8173. arm64: mediatek: Select PINCTRL for Mediatek platform Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d8ea2645e91c8a6446bc987a74ed67688763e7d4 Merge: b98849c bfc6dc1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 14:46:26 2015 -0700 Merge tag 'imx-defconfig-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig Merge "ARM: imx: defconfig updates for 4.1" from Shawn Guo: The i.MX defconfig updates for 4.1: - Enable VFAT, Bluetooth and PCA953X GPIO expander support * tag 'imx-defconfig-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v6_v7_defconfig: Enable Bluetooth support ARM: imx_v6_v7_defconfig: Add CONFIG_GPIO_PCA953X ARM: imx_v4_v5_defconfig: Add VFAT support ARM: mxs_defconfig: Add VFAT support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 16ba08d5c9ec44f89ec03c67ecf7a9c5e2d204fd Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 16:05:11 2015 +0200 device property: Introduce firmware node type for platform data Introduce data structures and code allowing "built-in" properties to be associated with devices in such a way that they will be used by the device_property_* API if no proper firmware node (neither DT nor ACPI) is present for the given device. Each property is to be represented by a property_entry structure. An array of property_entry structures (terminated with a null entry) can be pointed to by the properties field of struct property_set that can be added as a firmware node to a struct device using device_add_property_set(). That will cause the device_property_* API to use that property_set as the source of properties if the given device does not have a DT node or an ACPI companion device object associated with it. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97badf873ab60e841243b66133ff9eff2a46ef29 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 23:23:37 2015 +0200 device property: Make it possible to use secondary firmware nodes Add a secondary pointer to struct fwnode_handle so as to make it possible for a device to have two firmware nodes associated with it at the same time, for example, an ACPI node and a node with a set of properties provided by platform initialization code. In the future that will allow device property lookup to fall back from the primary firmware node to the secondary one if the given property is not present there to make it easier to provide defaults for device properties used by device drivers. Introduce two helper routines, set_primary_fwnode() and set_secondary_fwnode() allowing callers to add a primary/secondary firmware node to the given device in such a way that (1) If there's only one firmware node for that device, it will be pointed to by the device's firmware node pointer. (2) If both the primary and secondary firmware nodes are present, the primary one will be pointed to by the device's firmware node pointer, while the secondary one will be pointed to by the primary node's secondary pointer. (3) If one of these nodes is removed (by calling one of the new nelpers with NULL as the second argument), the other one will be preserved. Make ACPI use set_primary_fwnode() for attaching its firmware nodes to devices. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 836a061b19d7b4e2e5e05c2a87a366e33127cf88 Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Date: Fri Apr 3 12:14:55 2015 +0200 Bluetooth: bnep: Handle BNEP connection setup request With this patch kernel will be able to handle setup request. This is needed if we would like to handle control mesages with extension headers. User space will be only resposible for reading setup data and checking if scenario is conformance to specification (dst and src device bnep role). In case of new user space, setup data must be leaved(peek msg) on queue. New bnep session will be responsible for handling this data. Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bf8b9a9cb77b14e37a8bc925be5db7bfd54d69a8 Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Date: Fri Apr 3 12:14:54 2015 +0200 Bluetooth: bnep: Add support to extended headers of control frames Handling extended headers of control frames is required BNEP functionality. This patch refractor bnep rx frame handling function. Extended header for control frames shouldn't be omitted as it was previously done. Every control frame should be checked if it contains extended header and then every extension should be parsed separately. Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0477e2e868ceead7fd96218e1a062e01631ce717 Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Date: Fri Apr 3 12:14:53 2015 +0200 Bluetooth: bnep: Add support for get bnep features via ioctl This is needed if user space wants to know supported bnep features by kernel, e.g. if kernel supports sending response to bnep setup control message. By now there is no possibility to know supported features by kernel in case of bnep. Ioctls allows only to add connection, delete connection, get connection list, get connection info. Adding connection if it's possible (establishing network device connection) is equivalent to starting bnep session. Bnep session handles data queue of transmit, receive messages over bnep channel. It means that if we add connection the received/transmitted data will be parsed immediately. In case of get bnep features we want to know before session start, if we should leave setup data on socket queue and let kernel to handle with it, or in case of no setup handling support, if we should pull this message and handle setup response within user space. Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f83255cca7ce437e9a071a6e177453371cec78b8 Merge: 50ae4bb ae4aee9 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:57:26 2015 -0700 Merge tag 'imx-soc-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc Merge "ARM: imx: soc changes for 4.1" from Shawn Guo: The i.MX SoC changes for 4.1: - An error handling improvement on imx-weim bus driver - A number of imx6q clock tree update around MIPI support - Add support for i.MX6 GPU/VPU power domain - Enable SMP_ON_UP build for Vybrid - Let MXC_DEBUG_BOARD depend on 3-stack (3DS) boards * tag 'imx-soc-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: depend MXC debug board on 3DS machines ARM: imx6: gpc: Add PU power domain for GPU/VPU Documentation: Add device tree bindings for Freescale i.MX GPC bus: imx-weim: improve error handling upon child probe-failure ARM: imx6q: clk: Add support for mipi_ipg clock as a shared clock gate ARM: imx6q: clk: Add support for mipi_core_cfg clock as a shared clock gate ARM: imx6q: clk: Change hsi_tx clock to be a shared clock gate ARM: imx6q: clk: Change hdmi_isfr clock's parent to be video_27m clock ARM: imx6q: clk: Add the video_27m clock ARM: imx6q: Add GPR3 MIPI muxing control register field shift bits definition ARM: vf610: use SMP_ON_UP for Vybrid SoC Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c4c14f393fe4991a423c21516511ff1011140143 Merge: 5602d12 dc98b0c Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:56:36 2015 -0700 Merge tag 'imx-cleanup-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/cleanup Merge "ARM: imx: cleanup for 4.1" from Shawn Guo: The i.MX cleanup for v4.1: - Convert i.MX25 to be a DT only platform and remove the code that is only used by non-DT support - A couple trivial cleanup on iomux-v3 code * tag 'imx-cleanup-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v4_v5_defconfig: Remove CONFIG_MACH_MX25_3DS ARM: mx25: Remove imxdi_rtc platform code ARM: mx25: Remove "mx25.h" header file ARM: mx25: Remove static memory mapping ARM: mx25: Retrieve IIM base from dt ARM: mx25: Remove mx25_clocks_init() ARM: mx25: Remove platform code support files ARM: mx25: Convert to a dt-only platform ARM: imx25: Remove eukrea mx25 board files ARM: mx25: Remove mach-mx25_3ds board file ARM: imx: Fix trivial typo in comments ARM: imx: Kconfig: Fix grammar in help text ARM: imx/iomux-v3: allow pad_list to be const Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1eddf578e25521267cf734935b2a856ed2be28fc Merge: 77479b3 548ae94 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:55:38 2015 -0700 Merge tag 'mvebu-fixes-4.0' of git://git.infradead.org/linux-mvebu into fixes Merge "ARM: mvebu: fixes for v4.0" from Gregory Clement: mvebu fix for 4.0 Disable CPU Idle on Armada 38x * tag 'mvebu-fixes-4.0' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Disable CPU Idle on Armada 38x Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b98849ccc7b906b38646dac60558ea9e46de443a Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 16:40:16 2015 +0200 ARM: multi_v7_defconfig: Add gpio-restart driver Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3021af88d5fb59ee9ec4319b08f69be69c4cd124 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 16:40:15 2015 +0200 ARM: multi_v7_defconfig: Build the Marvell WiFi-Ex driver as a module Needed in several Chromebook models such as the Tegra-based ones. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 049b94d614a0bd60602d433fe68a7e8a02e11f46 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 16:40:14 2015 +0200 ARM: multi_v7_defconfig: Enable support for ELAN i2c trackpads Needed in several Chromebook models such as the Tegra-based ones. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d0c0639e6d864e1b201bae41d937467a09fce9b3 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 16:40:13 2015 +0200 ARM: multi_v7_defconfig: Enable Tegra ACTMON support This brings the DevFreq framework in and builds the ACTMON driver that on Tegra124 will scale the external memory clock based on current load. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 77479b38e2f58890eb221a0418357502a5b41cd6 Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Date: Mon Mar 30 14:39:08 2015 +0200 kbuild: Create directory for target DTB When building specific DTBs out of the kernel tree the vendor subdirs (boot/dts/<vendor>) are not created, ensure that they are before building the DTB. Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit efc98f776234fedf5fc1069c6dc22c7d5bb1916a Merge: 06c49f2 03650bd Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:50:55 2015 -0700 Merge tag 'tegra-for-4.1-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt Merge "ARM: tegra: Device tree changes for v4.1-rc1" from Thierry Reding: A bunch of changes to improve support on the Nyan Big (Acer Chromebook 13). These enable the trackpad and make the WiFi card work. Changes to the userspace-exposed name of the soundcard are required for a better audio experience. Support for Nyan Blaze (HP Chromebook 14) is added. It is very similar to Nyan Big and therefore can enjoys many of the above improvements. Since the EMC driver can now be used to scale the frequency at which external memory is clocked, corresponding EMC frequency tables are added for Jetson TK1 and the Nyan boards. The Jetson TK1, Beaver and Nyan boards now also use generated pinmux data, which makes it easier to keep it in sync with the data provided by syseng. * tag 'tegra-for-4.1-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Add EMC timings to Nyan Blaze device tree ARM: tegra: Add EMC timings to Nyan Big device tree ARM: tegra: Add EMC timings to Jetson TK1 device tree ARM: tegra: Add EMC to Tegra124 device tree ARM: tegra: Add Tegra124 ACTMON support of: Add binding for NVIDIA Tegra ACTMON node ARM: tegra: nyan: The WiFi card is kept powered during suspend ARM: tegra: nyan: Add gpio-restart node ARM: tegra: nyan: Set maximum frequency for SPI flash ARM: tegra: Use generated pinmux data for Nyan Big ARM: tegra: Use pwrseq-simple for the wifi in Nyan ARM: tegra: Add node for trackpad in Nyan boards ARM: tegra: Add DTS for the nyan-blaze board ARM: tegra: Move generic parts out of the nyan-big DT ARM: tegra: Change model of sound card in Nyan Big ARM: tegra: Use generated pinmux for Beaver board ARM: tegra: Import latest Jetson TK1 pinmux Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 2b01311afc120ffb0ce5ec94721a77f05c84763f Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Mar 30 10:59:30 2015 +0100 arm64: dts: add interrupt-affinity property to pmu node for juno Make the Juno .dts robust against potential reordering of the CPU nodes by adding an explicit interrupt-affinity property to the PMU node. While we're at it, fix the PMU interrupts numbers too. Cc: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Liviu Dudau <liviu.dudau@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 50ae4bb946126d1ae52b83446eb125117af9dcd3 Merge: 5f493ac a6b188e Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:41:29 2015 -0700 Merge tag 'v4.1-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Merge "omap soc changes for v4.1" from Tony Lindgren: SoC related changes for omaps. Mostly hwmod related changes via Paul Walmsley <paul@xxxxxxxxx>: OMAP hwmod data changes for AM43xx and DRA7xx for v4.1 Add support for the AM43xx HDQ/1-wire driver and fix the GPTIMER data for DRA7xx. Note that I do not have AM43xx nor DRA7xx boards, and cannot test these patches on those platforms. Basic build, boot, and PM test logs are available at: http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v4.1/20150324185246/ * tag 'v4.1-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: DRA7: hwmod: Fix the hwmod class for GPTimer4 ARM: DRA7: hwmod: Add data for GPTimers 13 through 16 ARM: omap-device: add missed callback for suspend-to-disk ARM: OMAP2: hwmod: AM43XX: Add hwmod support for HDQ-1W Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 77e3c09e451ae78b64f7b89fc1690804da726787 Merge: dc0961b 209431e Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:40:34 2015 -0700 Merge tag 'omap-for-v4.1/fixes-0' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical Merge "omap non-urgent fixes for v4.1" from Tony Lindgren: Fixes for omaps that were not considered urgent enough for the -rc cycle. This is mostly to enable errata 798181 and thermal support for dra7, configure ocp2scp for am437x, remove dead code for OMAP4_ERRATA_I688 and fix build warnings for omap1510 only config. * tag 'omap-for-v4.1/fixes-0' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: DRA7: Enable Cortex A15 errata 798181 ARM: dts: am57xx-beagle-x15: Add thermal map to include fan and tmp102 ARM: dts: DRA7: Add bandgap and related thermal nodes bus: ocp2scp: SYNC2 value should be changed to 0x6 ARM: dts: am4372: Add "ti,am437x-ocp2scp" as compatible string for OCP2SCP ARM: OMAP2+: remove superfluous NULL pointer check ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688 MAINTAINERS: add OMAP defconfigs under OMAP SUPPORT ARM: OMAP1: PM: fix some build warnings on 1510-only Kconfigs Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 47f36e4921ae11dccf3163f75f70bb55686780f1 Merge: 63fad06 874c571 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:38:43 2015 -0700 Merge tag 'arm-perf-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into next/drivers Merge "arm-cci PMU updates for 4.1" from Will Deacon: CCI-400 PMU updates This series reworks some of the CCI-400 PMU code so that it can be used on both ARM and ARM64-based systems, without the need to boot in secure mode on the latter. This paves the way for CCI-500 support in future. * tag 'arm-perf-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux: arm-cci: Fix CCI PMU event validation arm-cci: Split the code for PMU vs driver support arm-cci: Get rid of secure transactions for PMU driver arm-cci: Abstract the CCI400 PMU specific definitions arm-cci: Rearrange code for splitting PMU vs driver code drivers: cci: reject groups spanning multiple HW PMUs + Linux 4.0-rc4 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 06c49f2b88eb177f4f96d68d561f28fb125e7c0c Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:35 2015 -0600 ARM: dts: qcom: Add idle state device nodes for 8064 Add ARM common idle state device bindings for cpuidle support for APQ 8064. Support Standalone power collapse (SPC) idle state (power down that does not affect any SoC idle states) for each cpu. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d8664979e6ba97024c43d6248f94982ee0c8d1ee Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:34 2015 -0600 ARM: dts: qcom: Add idle states device nodes for 8084 Add ARM common idle states device bindings for cpuidle support for APQ 8084. Support Standalone power collapse (SPC) idle state (power down that does not affect any SoC idle states) for each cpu. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d596d620d82f64989aaf73144bac82002204d88c Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:33 2015 -0600 ARM: dts: qcom: Add idle states device nodes for 8974/8074 Add ARM common idle states device bindings for cpuidle support for APQ 8974/8074. Support Standalone power collapse (SPC) idle state (power down that does not affect any SoC idle states) for each cpu. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9fc23ce3bfb8c205f2a43de94f3730aa301f2efe Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:32 2015 -0600 ARM: dts: qcom: Update power-controller device node for 8064 Krait CPUs Update the SAW2 DT bindings to add qcom,apq8064-saw2-v1.1-cpu compatible binding string to configure SPM registers and allow the SPM to put the core in deeper idle states when the core is idle. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 030e27f6c60d37a24bbbff060936954ad6f77b0b Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:31 2015 -0600 ARM: dts: qcom: Add power-controller device node for 8084 Krait CPUs Each Krait CPU in the QCOM 8084 SoC has an SAW power controller to regulate the power to the cpu and aide the core in entering idle states. Reference the SAW instance and associate the instance with the CPU core. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 8c76a6382eb0c45d152c0cf37206e4ec9c3781cd Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:30 2015 -0600 ARM: dts: qcom: Add power-controller device node for 8074 Krait CPUs Each Krait CPU in the QCOM 8074/8974 SoC has an SAW power controller to regulate the power to the cpu and aide the core in entering idle states. Reference the SAW instance and associate the instance with the CPU core. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 52cd8451818bffa25bec2f69bc6286b3cc045bf7 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:28 2015 -0600 devicetree: bindings: Document qcom,idle-states Document cpuidle states of QCOM cpus. In addition to arm-idle-state compatible string, the ARM idle state definition must define one of the following compatible strings - "qcom,idle-state-ret", "qcom,idle-state-spc", "qcom,idle-state-pc", The compatibles helps the SPM platform driver to use the correct idle function when the index to the idle state is passed to the platform driver. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 005c5dc9b3dd72970992d05ea63f1148d020112c Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Mar 25 14:25:27 2015 -0600 devicetree: bindings: Update qcom,saw2 node bindings Update qcom,saw2 node bindings with compatible strings to identify nodes that provides cpuidle functionality for a particular SoC. Remove unused compatible strings. Update examples for different SAW nodes. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 83bd147952ef5c8a99df27b8597ee21f2424348d Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Wed Mar 18 16:08:21 2015 +0200 dt-bindings: Add #defines for MSM8916 clocks and resets Add clocks/resets defines for the global clock controller found on Qualcomm MSM8916 SoCs. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f49cadeb48a2717d1baaab701066bda9b69cfed4 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 01:01:08 2015 -0700 arm: dts: qcom: Add LPASS Audio HW to IPQ8064 device tree Model the Qualcomm Technologies LPASS hardware for the ipq806x SOC. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e321cbbd55270bcced00ab73ea8e2ee1390861af Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Tue Feb 3 14:18:00 2015 +0200 arm: dts: qcom: Add APQ8084 chipset SPMI PMIC's nodes PMA8084 have 2 SPMI devices per physical package. Add their configuration nodes and include them in boards which are using AQP8084 based chipset. Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c91278931d7b469d8203b7c3ea6d202df5832755 Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Tue Feb 3 14:17:59 2015 +0200 arm: dts: qcom: Add 8x74 chipset SPMI PMIC's nodes PM8841 and PM8941 have 2 SPMI devices per physical package. Add their configuration nodes and include them in boards which are using 8x74 based chipset. Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit af22e46d3e8e29d7a1edb6f171745e4991d40cf1 Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Tue Feb 3 14:17:58 2015 +0200 arm: dts: qcom: Add SPMI PMIC Arbiter nodes for APQ8084 and MSM8974 Add SPMI PMIC Arbiter configuration nodes for APQ8084 and MSM8974. Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1e1177bf4c24d593afddf40f9f63538136aee6c9 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Wed Jan 28 13:36:12 2015 -0800 arm: dts: qcom: Add LCC nodes Add the node for the LPASS clock controller found on a few qcom SoCs so that the clock driver can probe. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Added apq8064 and msm8960 nodes] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3860d43c807c40ad6193280716be2f241f7a4c28 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:11 2015 -0600 arm: dts: qcom: Add TCSR support for MSM8960 This patch adds TCSR support for use by the GSBI to automatically configure ADM CRCI values based on the GSBI port configuration. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit da047acd173478fd0dd901bfd268d91d35c4f4b8 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:10 2015 -0600 arm: dts: qcom: Add TCSR support for MSM8660 This patch adds TCSR support for use by the GSBI to automatically configure ADM CRCI values based on the GSBI port configuration. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4d9b766bfe08d63ca1b6867be005a7bc603f9985 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:09 2015 -0600 arm: dts: qcom: Add TCSR support for IPQ8064 This patch adds TCSR support for use by the GSBI to automatically configure ADM CRCI values based on the GSBI port configuration. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4105d9d60a7f28a60198302e8d4b79bd308cac35 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:08 2015 -0600 arm: dts: qcom: Add TCSR support for APQ8064 This patch adds TCSR support for use by the GSBI to automatically configure ADM CRCI values based on the GSBI port configuration. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a8b21018de2ec8864176670c87015b19babdfe58 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:07 2015 -0600 mfd: qcom,tcsr: Add device tree binding for TCSR This patch adds the device tree binding for the Qualcomm Top Control and Status Register device. The TCSR is comprised of a set of registers that provide various control and status functions for attached peripherals. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 2d9ad4f85ed43101f55816472895e112203f9881 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Wed Mar 4 13:52:44 2015 -0600 arm: qcom: dts: gic: add compatible string for Qualcomm MSM GICs Document the Qualcomm MSM GICs implementation as compatible with the ARM GIC standard. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 282703e8285026dbb051055ebeba1baa13be4a21 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Fri Mar 20 13:39:54 2015 -0500 arm64: dts: Add Qualcomm APQ8016 SBC evaluation board dts Add initial device tree support for Qualcomm APQ8016 SBC Evaluation board. This board is also referred to as the DragonBoard 410c. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 57f0a7eae6bd5f5811f070f63ffa482c7d6faad7 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Fri Feb 27 15:48:59 2015 -0600 arm64: dts: Add Qualcomm MSM8916 SoC and evaluation board dts Add initial device tree support for Qualcomm MSM8916 SoC and MTP8916 evaluation board. At the current time we only boot up a single processor. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a6964d90fe54ac0a5c610fea0f5b6f6608c22b2a Merge: 3726767 dc344b6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:23:33 2015 -0700 Merge tag 'qcom-defconfig-for-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/defconfig Merge "qcom defconfig changes for 4.1-1" from Kumar Gala: Qualcomm ARM Based defconfig Updates for v4.1-1 * Increase MMC_BLOCK_MINORS to 32 since qcom platforms have more than 16 partitions * tag 'qcom-defconfig-for-4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: qcom: Increase MMC_BLOCK_MINORS in defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ee327179b9f5f9c0259f43493a5a7e96854094de Merge: 6054ef2 83c3a7d Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:22:39 2015 -0700 Merge tag 'omap-for-v4.1/wl12xx-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "wireless wl12xx and omap device tree changes for v4.1" from Tony Lindgren: Wireless and omap changes to make wl12xx driver to use device tree data instead of platform data from Eliad Peller <eliad@xxxxxxxxxx>: - Add device-tree support to the wlcore (wl12xx/wl18xx) driver. - Update the current users to use the bindings instead of pdata-quirks. - Finally, remove the deprecated wl12xx_platform_data struct Note that da850 board file code that still uses the platform data, but we have da850.dtsi that can be used instead. So it was decided that we should try to remove the wl12xx support from the da850 board file as suggested by Sekhar Nori <nsekhar@xxxxxx>. As it's the last patch in the series, the last patch can be simply reverted if needed. As this series touches quite a bit of arch code, it was suggested by Kalle Valo <kvalo@xxxxxxxxxxxxxx> that the whole series should be merged via the arm-soc tree. * tag 'omap-for-v4.1/wl12xx-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: wlcore: remove wl12xx_platform_data ARM: dts: add wl12xx/wl18xx bindings wlcore: add device-tree support dt: bindings: add TI's wilink wireless device wl12xx: use frequency instead of enumerations for pdata clocks wlcore: set irq_trigger in board files instead of hiding behind a quirk + Linux 4.0-rc4 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5602d12a861340e9ed2c17cdefc500fa12b52446 Merge: 0a47acf 27842bb Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:20:42 2015 -0700 Merge tag 'qcom-cleanup-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/cleanup Merge "qcom cleanup changes for 4.1" from Kumar Gala: General cleanups for MSM/QCOM for 4.1 * Removal of mach-msm and associated drivers cleanups that have been ack'd by associated maintainers * tag 'qcom-cleanup-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: mmc: Remove msm_sdcc driver gpio: Remove gpio-msm-v1 driver ARM: Remove mach-msm and associated ARM architecture code + Linux 4.0-rc3 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 37267675c9f0037b550d6c4c253a669fb728dfe5 Merge: f28ae3b a198d27 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 13:06:52 2015 -0700 Merge tag 'sunxi-defconfig-for-4.1' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/defconfig Merge "Allwinner defconfig changes for 4.1" from Maxime Ripard: Nothing really standing out here, just a few options to enable in the defconfigs * tag 'sunxi-defconfig-for-4.1' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: sunxi_defconfig: increase the number of maximum number of CPUs to 8 ARM: multi_v7_defconfig: Enable CONFIG_PHY_SUN9I_USB ARM: sunxi_defconfig: Enable CONFIG_PHY_SUN9I_USB Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 623e4ecb869ea5c643715a08f376987887664de1 Author: Ioan Nicu <ioan.nicu.ext@xxxxxxxxx> Date: Mon Mar 30 15:03:38 2015 +0200 i2c: i2c-mux-gpio: remove error messages for probe deferrals Probe deferral is not an error case. It happens only when the necessary dependencies are not there yet. The driver core is already printing a message when a driver requests probe deferral, so this can be traced in the logs without these error prints. This patch removes the error messages for these deferral cases. Signed-off-by: Ionut Nicu <ioan.nicu.ext@xxxxxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Acked-by: Peter Korsgaard <peter.korsgaard@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5f493ace72db9fdb59301366d77d8b9a1d2f68b9 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Mon Mar 16 17:16:07 2015 -0400 ARM: Exynos: migrate DCSCB to the new MCPM backend abstraction The custom suspend callback is removed for this change. The extra call to exynos_cpu_power_up(() that was present at the end of exynos_suspend() is now relocated to the cpu_is_up callback. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Tested-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 323ab95339b515330a4e0908e53b06498f2cafde Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Sat Mar 14 21:13:48 2015 -0400 ARM: vexpress: migrate DCSCB to the new MCPM backend abstraction Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 03fd5db717918b36a4ac1dbfc197222041608eab Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Sat Mar 14 20:29:44 2015 -0400 ARM: vexpress: DCSCB: tighten CPU validity assertion Currently the cpu argument validity check uses a hardcoded limit of 4. The DCSCB configuration data provides the actual number of CPUs and we already use it elsewhere. Let's improve the cpu argument validity check by using that information instead. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 41f26e2d94374f7a31d3dc0b03223df7006a83cd Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Sat Mar 14 17:58:33 2015 -0400 ARM: vexpress: migrate TC2 to the new MCPM backend abstraction Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d3a875444ad8d5e64c5a932361ca579312e49801 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Wed Mar 11 18:16:13 2015 -0400 ARM: MCPM: move the algorithmic complexity to the core code All backends are reimplementing a variation of the same CPU reference count handling. They are also responsible for driving the MCPM special low-level locking. This is needless duplication, involving algorithmic requirements that are not necessarily obvious to the uninitiated. And from past code review experience, those were all initially implemented badly. After 3 years, it is time to refactor as much common code to the core MCPM facility to make the backends as simple as possible. To avoid a flag day, the new scheme is introduced in parallel to the existing backend interface. When all backends are converted over, the compatibility interface could be removed. The new MCPM backend interface implements simpler methods addressing very platform specific tasks performed under lock protection while keeping the algorithmic complexity and race avoidance local to the core code. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Tested-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3341ada4367df002603354e0570048e3fa2b1a18 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Wed Mar 25 20:52:11 2015 +0800 arm64: dts: sprd: adding coresight entries to Spreadtrum SC9836 Support only for ETF, FUNNEL, STM are included currently. Support for ETM, TPIU and the replicator linked to it are not included in this version patch. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ba92222ed63a12d09120df9b92f56cc990abac19 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Tue Mar 31 14:03:55 2015 +0100 i2c: jz4780: Add i2c bus controller driver for Ingenic JZ4780 Adds the i2c bus controller driver for the Ingenic JZ4780 SoC. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b81b7be6ae830a507d15cf4fc626be02cc9ab79b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 12:29:50 2015 +0800 test_rhashtable: Remove bogus max_size setting Now that resizing is completely automatic, we need to remove the max_size setting or the test will fail. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b98d8075e65c9cb688e73b941d873986e7bbf7ae Merge: bcad571 898b297 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 15:08:20 2015 -0400 Merge branch 'mvneta-sgmii' Stas Sergeev says: ==================== mvneta: SGMII-based in-band link state signaling Currently the fixed-link DT binding is pre-configured and cannot be changed in run-time. This means the cable unplug events are not being detected, and the link parameters can't be negotiated. The following patches are needed when mvneta is used in fixed-link mode (without MDIO). They add an API to fixed_phy that allows to update status, and use that API in the mvneta driver when parsing the SGMII in-band status. There is also another implementation that doesn't add any API and does everything in mvneta driver locally: https://lkml.org/lkml/2015/3/31/327 I'll let people decide which approach is better. No strong opinion on my side. ==================== Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 898b2970e2c91e4543b579998922822894325866 Author: Stas Sergeev <stsp@xxxxxxx> Date: Wed Apr 1 20:32:49 2015 +0300 mvneta: implement SGMII-based in-band link state signaling When MDIO bus is unavailable (common setup for SGMII), the in-band signaling must be used to correctly track link state. This patch enables the in-band status delivery for link state changes, namely: - link up/down - link speed - duplex full/half fixed_phy_update_state() is used to update phy status. CC: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> CC: Florian Fainelli <f.fainelli@xxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3bebdce4135a44d09e96ba66c40797c8f9fa902 Author: Stas Sergeev <stsp@xxxxxxx> Date: Wed Apr 1 20:30:31 2015 +0300 add fixed_phy_update_state() - update state of fixed_phy Currently fixed_phy uses a callback to periodically poll the link state. This patch adds the fixed_phy_update_state() API. It solves the following problems: - On link state interrupt, MAC driver can't update status. Instead it needs to provide the callback to periodically query the HW about the link state. It is more efficient to update status after interrupt. - The callback needs to be unregistered before phy_disconnect(), or otherwise it will be called with net_dev==NULL. phy_disconnect() does not have enough info to unregister the callback automatically. - The callback needs to be registered before of_phy_connect() to avoid running with outdated state, but of_phy_connect() returns the phy_device pointer, which is needed to register the callback. Registering it before of_phy_connect() will therefore require a hack to get the pointer earlier. Overall, this addition makes the subsequent patch that implements SGMII link status for mvneta, much cleaner. CC: Florian Fainelli <f.fainelli@xxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bcad57182425426dd4aa14deb27f97acb329f3cd Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Apr 3 20:52:24 2015 +0200 ebpf: add skb->priority to offset map for usage in {cls, act}_bpf This adds the ability to read out the skb->priority from an eBPF program, so that it can be taken into account from a tc filter or action for the use-case where the priority is not being used to directly override the filter classification in a qdisc, but to tag traffic otherwise for the classifier; the priority can be assigned from various places incl. user space, in future we may also mangle it from an eBPF program. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a47acfa16a5043f5fad562abb8e3e4b53367a43 Merge: c25a9fa df67a2b Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 11:26:08 2015 -0700 Merge tag 'renesas-soc-cleanup3-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Third Round of Renesas ARM Based SoC Cleanup for v4.1" from Simon Horman: * Remove default cpuidle driver, it does not appear to serve any purpose * tag 'renesas-soc-cleanup3-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: cpuidle: Remove the pointless default driver Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6054ef25e20219a604429c1437bc601f8ead87a4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 11:24:26 2015 -0700 ARM: dts: fix typo in bcm7445.dtsi Reported-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ceca038a354f65005babf4c462eaf4af9604f4d1 Merge: e0199d9 0c02ace Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 11:23:19 2015 -0700 Merge tag 'arm-soc/for-4.1/devicetree-part-3' of http://github.com/broadcom/stblinux into next/dt Merge "Broadcom Device Tree changes for 4.1 #3" from Brian Norris: This pull request contains changes to the BCM7445 reference DTS files from Brian: - making a clock-frequency property decimal instead of hexadecimal - adding the irq0 interrupt controller node to make the reference DTS bootable again * tag 'arm-soc/for-4.1/devicetree-part-3' of http://github.com/broadcom/stblinux: ARM: dts: brcmstb: add IRQ0 controller ARM: dts: brcmstb: un-hexify clock frequency Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e0199d9829e56d3b3a85b14bb3480fa1c4d151b9 Merge: c674695 3c42ae3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 11:08:28 2015 -0700 Merge tag 'at91-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt Merge "at91: dt for 4.1 #2" from Nicolas Ferre: Second batch of DT changes for 4.1: - RTC nodes for at91sam9x5 boards and at91sam9n12ek - HLCDC nodes and pin definitions for sama5d3 & sama5d4 - additional uarts for sama5d3 * tag 'at91-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91/dt: sama5d4: add rgb777 LCD line configuration ARM: at91/dt: sama5d4: fix LCD pins for RGB666 format ARM: at91/dt: sama5d4: add hlcdc node ARM: at91/dt: sama5d4: add lcdc pin definitions ARM: at91/dt: sama5d3: add uart1 pinctrl definition ARM: at91/dt: sama5d3: add uart0 ARM: at91/dt: define the HLCDC node available on sama5d3 SoCs ARM: at91/dt: add alternative pin muxing for sama5d3 lcd pins ARM: at91/dt: split sama5d3 lcd pin definitions to match RGB mode configs ARM: at91/dt: at91sam9n12ek: enable RTC ARM: at91/dt: at91sam9x5cm: enable RTC DT: video: atmel_lcdc: Add example of fixed framebuffer memory Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 63fad06a2733f78f7565a436a97848aee8099600 Merge: aabab88 4b613e9 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 11:00:47 2015 -0700 Merge tag 'gpmc-omap-for-v4.1' of git://github.com/rogerq/linux into next/drivers Merge "OMAP-GPMC driver fixes for v4.1" from Roger Quandros: * Fixed WAITMONITORINGTIME programming to be based on GPMC_CLK instead of GPMC_FCLK. The GPMC clock divider programming is fixed for both synchronous and asynchronous modes. * Allow GPMC's children of default bus type to be populated in the device tree. * Improved DEBUG output data and format. * Prevent writing 1 into reserved bits of GPMC_CONFIG7. * tag 'gpmc-omap-for-v4.1' of git://github.com/rogerq/linux: ARM OMAP2+ GPMC: fix programming/showing reserved timing parameters ARM OMAP2+ GPMC: fix WAITMONITORINGTIME divider bug ARM OMAP2+ GPMC: calculate GPMCFCLKDIVIDER based on WAITMONITORINGTIME ARM OMAP2+ GPMC: always program GPMCFCLKDIVIDER ARM OMAP2+ GPMC: change get_gpmc_timing_reg output for DTS ARM OMAP2+ GPMC: fix debug output alignment ARM OMAP2+ GPMC: add bus children ARM OMAP2+ GPMC: don't undef DEBUG ARM: OMAP2+: gpmc: make gpmc_cs_get_name() static ARM: OMAP2+: gpmc: Fix writing in gpmc_cs_set_memconf Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c6746958bc1ea33489c946aec1b90114e9d9e74b Merge: 263c3f5 7776ab7 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:55:21 2015 -0700 Merge tag 'mvebu-dt-4.1-2' of git://git.infradead.org/linux-mvebu into next/dt Merge "ARM: mvebu: dt changes for v4.1 (round 2)" from Gregory Clement: mvebu dt changes for v4.1 (part #2) - add support for Performance Monitor Unit on most of mvebu SoCs - add nas2big support - add support for USB3 port On Armada 385 AP * tag 'mvebu-dt-4.1-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: armada-385-ap: Enable USB3 port ARM: mvebu: Enable Performance Monitor Unit on Armada 380/385 SoC ARM: mvebu: Enable Performance Monitor Unit on Armada 375 SoC ARM: mvebu: Enable Performance Monitor Unit on Armada XP/370 SoCs ARM: Kirkwood: add DT description for nas2big Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f28ae3ba10f3d9535289e7902293c52a494ed476 Merge: cef9f50 76b21e3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:54:34 2015 -0700 Merge tag 'mvebu-defconfig-4.1-2' of git://git.infradead.org/linux-mvebu into next/defconfig Merge "ARM: mvebu: defconfig changes for v4.1 (round 2)" from Gregory Clement: mvebu defconfig changes for v4.1 (part #2) - add perf support in mvebu_v7_defconfig * tag 'mvebu-defconfig-4.1-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Enable perf support in mvebu_v7_defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit cef9f501305480c2bff7259b5d260131aca4445a Merge: 342f346 bb3ab87 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:53:09 2015 -0700 Merge tag 'renesas-defconfig-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Merge "Renesas ARM Based SoC Defconfig Updates for v4.1" from Simon Horman: Multiplatform defconfig updates * Enable bockw and ape6evm boards * Drop useless SERIAL_8250_EXTENDED=y * Enable R-Mobile reset * tag 'renesas-defconfig-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Enable bockw board in multiplatform defconfig ARM: shmobile: defconfig: Drop useless SERIAL_8250_EXTENDED=y ARM: shmobile: Enable R-Mobile reset driver in multiplatform defconfig ARM: shmobile: Enable ape6evm board in multiplatform defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e0fdbab1699b89a9b0c192d4cb355f8ab43a8f17 Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Date: Fri Apr 3 12:14:52 2015 +0200 Bluetooth: bnep: Return err value while sending cmd is not understood Send command not understood response should be verified if it was successfully sent, like all send responses. Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c25a9fada42395b43ad332a208f328975471f38e Merge: 69f2a08 a8caad6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:52:29 2015 -0700 Merge tag 'renesas-pm-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Renesas ARM Based SoC PM Updates for v4.1" from Simon Horman: * Consolidate the pm code for R-Car Gen2 * Correct SYSCIER value for r8a7790 and r8a7791 SoCs * tag 'renesas-pm-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Consolidate the pm code for R-Car Gen2 ARM: shmobile: r8a7791: Correct SYSCIER value ARM: shmobile: r8a7790: Correct SYSCIER value Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 69f2a08047d0e5177f92835d8dc06d6d8b17fb93 Merge: 5ec5e79 01ea0d4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:51:02 2015 -0700 Merge tag 'v4.1-legacy' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Merge "omap legacy boot clean-up for v4.1" from Tony Lindgren: Drop three omap3 legacy board-*.c files We want to get omap3 moved over to device tree only based booting. These three board-*.c files seem to be inactive, so let's attempt to drop them now rather than later. With these dropped, we have omap3 device tree conversion status in a known state. Then we know that we have .dts support for the remaining omap3 board-*.c files, or it's being worked on. By dropping these files now, we can simply revert them if really needed for the next few merge cycles if we run into suprises. Reverting things later on will not be so easily done. * tag 'v4.1-legacy' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Remove legacy support for omap3 TouchBook ARM: OMAP3: Remove legacy support for devkit8000 ARM: OMAP3: Remove legacy support for EMA-Tech Stalker board Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 342f346af11dbe9b05466ecaeb8d853cfd06327d Merge: e7199d3 1fd6d08 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:49:51 2015 -0700 Merge tag 'v4.1-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/defconfig Merge "omap defconfig changes for v4.1" from Tony Lindgren: Few omap2plus_defconfig updates to add commonly used drivers as loadable modules. Note that I'll do patches for armv7_defconfig for these at some point too once we're happy with omap2plus_defconfig to avoid extra churn on the defconfig files. * tag 'v4.1-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: omap2plus_defconfig: Enable n900 modem as loadable modules ARM: omap2plus_defconfig: Update bluetooth options ARM: omap2plus_defconfig: Enable leds-pwm ARM: omap1_defconfig: drop obsolete Kconfig symbols arm: config: omap2plus_defconfig: switch over to LZMA compression ARM: omap2plus_defconfig: Enable EXTCON_GPIO_USB Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 263c3f50bec8f868aa454d78ae2809c28e0f8cf8 Merge: ebdf8cc 10709c0 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:48:38 2015 -0700 Merge tag 'v4.1-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap device tree changes for v4.1, part1" from Tony Lindgren: Device tree related changes for omaps: - Add support for ChiliSOM - Add support for OpenPandora - Add support for BeagleBoard NAND - Enable crypto devices for omap3 devices - Add bindings for omap3 camera support - Updates for am437x and dra7x and dm816x SoCs * tag 'v4.1-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (27 commits) ARM: dts: Update Nanobone dts file ARM: dts: n950, n9: Add primary camera support ARM: dts: omap3: Add DT entries for OMAP 3 ISP Documentation: DT: Add bindings for omap3isp ARM: dts: Remove files omap34xx-hs.dtsi and omap36xx-hs.dtsi ARM: dts: omap3-tao3530: Include directly omap34xx.dtsi ARM: dts: n900: Enable omap sham and include directly omap34xx.dtsi ARM: dts: n9/n950: Enable omap crypto support ARM: dts: Remove PIN_INPUT for dm816x McSPI ARM: dts: Add cppi41 support for dm816x MUSB ARM: dts: Fix typo for dm816x usb0_pins ARM: dts: dra7x-evm: beagle-x15: Fix USB Peripheral ARM: dts: am57xx-beagle-x15: Do not include the atl header ARM: dts: DRA7: Remove ti,timer-dsp and ti,timer-pwm properties Documentation: omap-twl4030: Move ti,codec property to optional ARM: dts: omap3: Remove all references to ti,codec property ARM: dts: omap3-beagle: Add NAND device ARM: dts: AM4372: update hdq compatible property ARM: dts: omap3-pandora: add DM3730 1 GHz version ARM: dts: omap3-pandora: add OMAP3530 600 MHz version ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e8621d83c10ee95798bdb5e04f54439a7c1c9a2b Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Apr 2 17:07:57 2015 +0200 ARM: at91: add a Kconfig dependency on multi-platform When building a legacy (non-multi) platforms and if the ARCH_AT91 config option is enabled there is a build error. We need AT91 to depend on multi-platform core type options. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit aabab880c5441cd39aef75fc1ecaa3125efb7a89 Merge: 4580cb8 8590ca6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Apr 3 10:44:28 2015 -0700 Merge tag 'at91-cleanup3' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/drivers Merge "at91: cleanup for 4.1 #3" from Nicolas Ferre: Third batch of cleanup for 4.1: - System Timer (ST) for at91rm9200 re-work (syscon/regmap): - watchdog - restart handler - timer as a proper clocksource => remove mach dependency + cleanup * tag 'at91-cleanup3' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (54 commits) ARM: at91: remove useless include clocksource: atmel-st: remove mach/hardware dependency clocksource: atmel-st: use syscon/regmap ARM: at91: time: move the system timer driver to drivers/clocksource ARM: at91: properly initialize timer ARM: at91: at91rm9200: remove deprecated arm_pm_restart watchdog: at91rm9200: implement restart handler watchdog: at91rm9200: use the system timer syscon mfd: syscon: Add atmel system timer registers definition ARM: at91/dt: declare atmel,at91rm9200-st as a syscon ARM: at91: remove old setup ARM: at91: sama5d4: remove useless map_io ARM: at91: sama5 use SoC detection infrastructure ARM: at91: at91sam9: use SoC detection infrastructure ARM: at91: at91rm9200 use SoC detection infrastructure ARM: at91: add soc detection infrastructure ARM: at91/dt: introduce atmel,<chip>-dbgu ARM: at91: remove unused _matrix.h headers ARM: at91: remove unused at91_ioremap_matrix and header ARM: at91: remove NEED_MACH_IO_H ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 567cfea99af61ef19da42f8491da98cf94a4d166 Merge: ec2e76b f59df35 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 10:42:32 2015 -0700 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 fixes: a SYSRET single-stepping fix, a dmi-scan robustization fix, a reboot quirk and a kgdb fixlet" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: kgdb/x86: Fix reporting of 'si' in kgdb on x86_64 x86/asm/entry/64: Disable opportunistic SYSRET if regs->flags has TF set x86/reboot: Add ASRock Q1900DC-ITX mainboard reboot quirk MAINTAINERS: Change the x86 microcode loader maintainer firmware: dmi_scan: Prevent dmi_num integer overflow commit ec2e76b4c73362231e7d6903e14fc9817d99f3ae Merge: ccc20a3 c420f19 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 10:38:36 2015 -0700 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 x86 Intel PMU constraint handling fixes" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf/x86/intel: Fix Haswell CYCLE_ACTIVITY.* counter constraints perf/x86/intel: Filter branches for PEBS event commit ccc20a3317c4985febbcb7e3d9e73ab639f45c0a Merge: b010a0f 41d9489 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 10:15:19 2015 -0700 Merge tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux Pull devicetree fix from Grant Likely: "Simple bugfix for bad device tree data on the PA-Semi platform" * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux: drivers/of: Add empty ranges quirk for PA-Semi commit d30323f810e4da94eb75cf4bfe5165b9518c64df Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Mar 25 14:18:37 2015 -0700 usb: musb: dsps: fix build on i386 when COMPILE_TEST is set Commit 3e457371f436 ("usb: musb: Fix fifo reads for dm816x with musb_dsps") fixed a USB error on dm816x, but introduced a new build error on i386 when COMPILE_TEST is set: drivers/usb/musb/musb_dsps.c: In function â??dsps_read_fifo32â??: drivers/usb/musb/musb_dsps.c:624:3: error: implicit declaration of function â??readslâ?? [-Werror=implicit-function-declaration] readsl(fifo, dst, len >> 2); Let's fix this by using ioread32_rep() instead of readsl() as that's more portable. Fixes: 3e457371f436 ("usb: musb: Fix fifo reads for dm816x with musb_dsps") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Bin Liu <binmlist@xxxxxxxxx> Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: George Cherian <george.cherian@xxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 625a4c5910cc8aa63da2afcf662aeb2ca64458e1 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:03:03 2015 +0300 ehci-hub: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51a114bc5d20d6540418bc40422a9631cfa73da8 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:04:50 2015 +0300 fhci-hub: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4631f4e9856efc296c1e80bcd69b3375d75bf834 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:06:21 2015 +0300 fotg210-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87327b14621a10f0382c49ac181de7aaa5c2c88a Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:07:43 2015 +0300 fusbh200-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72cce8cb05bfe9ff545520606e51651adb1bac33 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:09:06 2015 +0300 imx21-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a0855673ea81f436625ff0e471e990e503232c9 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:10:43 2015 +0300 isp116x-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00d29b3e9320112c3d53d6865af60492dbc29163 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:12:31 2015 +0300 isp1362-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3d02e0e54bce76e331529dd6f47d61cecc9d375 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:14:03 2015 +0300 max3421-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a2d2672b89d402312b4b741544ab5fdcd48df19 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:19:48 2015 +0300 ohci-hub: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c42c08774f07824ac689cf198e26ffba7831564 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:21:10 2015 +0300 oxu210hp-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e77beafb10e451b8370e8248b25207810110ed8 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:24:24 2015 +0300 r8a66597-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e283ef1549f7e9de198d1a8988eff97c9e42f878 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:26:55 2015 +0300 sl811-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ce6fe9e1b4666ebccb403e6fa4e8304599d50bd Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:28:15 2015 +0300 u132-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e5dd4c349465066b85a487af6fabd4fc32c7987 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:30:04 2015 +0300 uhci-hub: use USB_DT_HUB Fix using the bare numbers to set the 'bHubCharacteristics' field of the Hub Descriptor while the values are #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e27465f51aa40f9826553547f3de25330bfcdeec Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:34:12 2015 +0300 c67x00-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5dd03950aa8be19b61a802cea8e9edde462d4ea Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:36:28 2015 +0300 dwc2: hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2569ffd58b03d900f53b073054df4dc45ca67873 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:39:09 2015 +0300 dummy_hcd: use USB_DT[_SS]_HUB Fix using the bare numbers to set the 'bDescriptorType' field of the Hub Descriptors while the values are #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cf6563b3e9ecdfd8378fb81484632f715607a04 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:40:24 2015 +0300 isp1760-hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e95af3aa1dc791d04795dbd12597cbe71405765d Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:42:06 2015 +0300 musb_virthub: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b11373debee613760e81f520899e8807368188ad Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:43:25 2015 +0300 renesas_usbhs: mod_host: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f413d807b37efcc7c7fa45f824f08d614a8cc0a Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:45:02 2015 +0300 usbip: vhci_hcd: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Valentina Manea <valentina.manea.m@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22299d13c28b13fe6140037980e79bc6fdb5f329 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 01:46:39 2015 +0300 wusbcore: rh: use USB_DT_HUB Fix using the bare number to set the 'bDescriptorType' field of the Hub Descriptor while the value is #define'd in <linux/usb/ch11.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9aab404e60d122ded979fa0b81db42fb680d867 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Thu Apr 2 17:10:55 2015 -0700 usb/misc: fix chaoskey build, needs HW_RANDOM Fix build errors when HW_RANDOM is not enabled: drivers/built-in.o: In function `chaoskey_disconnect': chaoskey.c:(.text+0x5f3f00): undefined reference to `hwrng_unregister' drivers/built-in.o: In function `chaoskey_probe': chaoskey.c:(.text+0x5f42a6): undefined reference to `hwrng_register' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6ab3aec4bc4beda2d6eb8ea43c6f5be3b215d3f Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Thu Apr 2 20:22:34 2015 +0900 usb: phy: rcar-gen2-usb: Fix USBHS_UGSTS_LOCK value According to the technical update (No. TN-RCS-B011A/E), the UGSTS LOCK bit location is bit 8, not bits 9 and 8. So, this patch fixes the USBHS_UGSTS_LOCK value. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e845d64743ee397ff132e7f81e6bfb3597f9f479 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Mar 29 02:21:20 2015 -0700 Revert "usb: host/sl811-hcd: fix sparse warning" This reverts commit 1dc6120ef7f003305d99ef12f598a6b05eacc38c. Commit 1dc6120ef7f0 results in the following error when compiling x86_64:allyesconfig. sl811_cs.c:(.text+0x1d3cb72): undefined reference to `sl811h_driver' Fixes: 1dc6120ef7f0 ("usb: host/sl811-hcd: fix sparse warning") Cc: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3510c8164ccbda7150379900f71078ce6ab23550 Merge: 8b86ed0 65dd82a Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 18:59:34 2015 +0200 Merge tag 'usb-serial-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next Johan writes: USB-serial updates for v4.1-rc1 Fix up the f81232 driver, which up to this point has mostly been a placeholder without a proper implementation. Included is also a minor clean up of ch341. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit b010a0f77a9b3b05d6268d863695694c3d377847 Merge: 8f778bb 4c5930e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 09:54:36 2015 -0700 Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 Pull CIFS fixes from Steve French: "A set of small cifs fixes fixing a memory leak, kernel oops, and infinite loop (and some spotted by Coverity)" * 'for-next' of git://git.samba.org/sfrench/cifs-2.6: Fix warning Fix another dereference before null check warning CIFS: session servername can't be null Fix warning on impossible comparison Fix coverity warning Fix dereference before null check warning Don't ignore errors on encrypting password in SMBTcon Fix warning on uninitialized buftype cifs: potential memory leaks when parsing mnt opts cifs: fix use-after-free bug in find_writable_file cifs: smb2_clone_range() - exit on unhandled error commit 2e7056c433216f406b90a003aa0ba42e19d3bdcf Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Mar 31 14:19:10 2015 -0700 jhash: Update jhash_[321]words functions to use correct initval Looking over the implementation for jhash2 and comparing it to jhash_3words I realized that the two hashes were in fact very different. Doing a bit of digging led me to "The new jhash implementation" in which lookup2 was supposed to have been replaced with lookup3. In reviewing the patch I noticed that jhash2 had originally initialized a and b to JHASH_GOLDENRATIO and c to initval, but after the patch a, b, and c were initialized to initval + (length << 2) + JHASH_INITVAL. However the changes in jhash_3words simply replaced the initialization of a and b with JHASH_INITVAL. This change corrects what I believe was an oversight so that a, b, and c in jhash_3words all have the same value added consisting of initval + (length << 2) + JHASH_INITVAL so that jhash2 and jhash_3words will now produce the same hash result given the same inputs. Fixes: 60d509c823cca ("The new jhash implementation") Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c5e0ad3f9dca572198f3ad6fbf7dc2e647bcf0c Merge: e79d842 42d255c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 12:40:50 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-04-03 This series contains updates to i40e and i40evf only. Anjali provides a fix for verifying outer UDP receive checksum. Also adds helpful information to display when figuring out the cause of HMC errors. Mitch provides a fix to prevent a malicious or buggy VF driver from sending an invalid index into the VSI array which could panic the host. Cleans up the code where a function was moved, but the message did not follow. Adds protection to the VLAN filter list, same as the MAC filter list, to protect from corruption if the watchdog happens to run at the same time as a VLAN filter is being added/deleted. Jesse changes several memcpy() statements to struct assignments which are type safe and preferable. Fixed a bug when skb allocation fails, where we should not continue using the skb pointer. Also fixed a void function in FCoE which should not be returning anything. Greg fixes both i40e and i40evf to set the Ethernet protocol correctly when transmit VLAN offloads are disabled. Shannon fixes up VLAN messages when ports are added or removed, which were giving bogus index info. Also aligned the message text style with other messages in the driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e79d8429aac95a5cbe4c235795c7cd554c91f924 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Fri Apr 3 22:17:17 2015 +1030 netdevice: document NETDEV_TX_BUSY deprecation. This paraphrases DaveM (and steals some of his words) explaining why a device shouldn't return NETDEV_TX_BUSY, even though it looks so inviting to driver authors. See http://www.spinics.net/lists/netdev/msg322350.html Inspired-by: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 576b7cd2f6ff1e90b3fc0a000d2fe74f8a50a4bb Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Apr 3 12:02:37 2015 +0200 netns: don't allocate an id for dead netns First, let's explain the problem. Suppose you have an ipip interface that stands in the netns foo and its link part in the netns bar (so the netns bar has an nsid into the netns foo). Now, you remove the netns bar: - the bar nsid into the netns foo is removed - the netns exit method of ipip is called, thus our ipip iface is removed: => a netlink message is built in the netns foo to advertise this deletion => this netlink message requests an nsid for bar, thus a new nsid is allocated for bar and never removed. This patch adds a check in peernet2id() so that an id cannot be allocated for a netns which is currently destroyed. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d458f5b4ece8542a5c2281e40008823fec91814 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Apr 3 12:02:36 2015 +0200 Revert "netns: don't clear nsid too early on removal" This reverts commit 4217291e592d ("netns: don't clear nsid too early on removal"). This is not the right fix, it introduces races. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0bd66827220a7292bfbed54fb547c83363e07405 Merge: 11a9c78 00db412 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Apr 3 12:11:15 2015 -0400 Merge branch 'ipv4-null-cmp' Ian Morris says: ==================== ipv4: coding style - comparisons with NULL Per the suggestion of Joe Perches, attached is a patch which aligns the coding style in ipv4 for comparisons with NULL. The code uses multiple different styles when comparing with NULL (I.e. x == NULL and !x as well as x != NULL and x). Generally the latter form is preferred in netdev and so this changes aligns the code to this style. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00db41243e8d5032c2e0f5bf6063bb19324bfdb3 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 09:17:27 2015 +0100 ipv4: coding style: comparison for inequality with NULL The ipv4 code uses a mixture of coding styles. In some instances check for non-NULL pointer is done as x != NULL and sometimes as x. x is preferred according to checkpatch and this patch makes the code consistent by adopting the latter form. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51456b2914a34d16b1255b7c55d5cbf6a681d306 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Fri Apr 3 09:17:26 2015 +0100 ipv4: coding style: comparison for equality with NULL The ipv4 code uses a mixture of coding styles. In some instances check for NULL pointer is done as x == NULL and sometimes as !x. !x is preferred according to checkpatch and this patch makes the code consistent by adopting the latter form. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2bfd4d1f8c2bee8b0b8832be0c38d3916713625f Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Apr 3 09:27:58 2015 +0900 ftracetest: Do not use usleep directly The usleep is only provided on distros from Redhat so running ftracetest on other distro resulted in failures due to the missing usleep. The reason of using [u]sleep in the test was to generate (scheduler) events. It can be done various ways like this: yield() { ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1; } For more information to the history of this patch, please refer to: Link: http://lkml.kernel.org/r/1427329943-16896-1-git-send-email-namhyung@xxxxxxxxxx Reported-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reported-by: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Reported-by: Luis Henriques <luis.henriques@xxxxxxxxxxxxx> Suggested-by: Pádraig Brady <P@xxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit e12fb97222fc41e8442896934f76d39ef99b590a Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Fri Apr 3 10:46:58 2015 -0400 ext4: make fsync to sync parent dir in no-journal for real this time Previously commit 14ece1028b3ed53ffec1b1213ffc6acaf79ad77c added a support for for syncing parent directory of newly created inodes to make sure that the inode is not lost after a power failure in no-journal mode. However this does not work in majority of cases, namely: - if the directory has inline data - if the directory is already indexed - if the directory already has at least one block and: - the new entry fits into it - or we've successfully converted it to indexed So in those cases we might lose the inode entirely even after fsync in the no-journal mode. This also includes ext2 default mode obviously. I've noticed this while running xfstest generic/321 and even though the test should fail (we need to run fsck after a crash in no-journal mode) I could not find a newly created entries even when if it was fsynced before. Fix this by adjusting the ext4_add_entry() successful exit paths to set the inode EXT4_STATE_NEWENTRY so that fsync has the chance to fsync the parent directory as well. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Cc: Frank Mayhar <fmayhar@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit c9e15f25f514a76d906be01e621f400cdee94558 Author: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 14:59:15 2015 +0200 debugfs: allow bad parent pointers to be passed in If something went wrong with creating a debugfs file/symlink/directory, that value could be passed down into debugfs again as a parent dentry. To make caller code simpler, just error out if this happens, and don't crash the kernel. Reported-by: Alex Elder <elder@xxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 1ac4e6fee41d6534b6e54dcbed381590e242bdcb Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Mar 27 15:39:46 2015 +0100 DTS: ARM: OMAP3-N900: Add lis3lv02d support This adds support for the N900's accelerometer to the Nokia N900 DTS file. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21e8681862a544517c1c9d6515770efe3897e326 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Mar 27 15:39:45 2015 +0100 Documentation: DT: lis302: update wakeup binding This updated the documentation of the DT binding to describe the added wakeup threshold and second wakeup engine. It also adds a note, that the axis values may be negative. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5131a373613713fccd3b7a377d957391c498f21 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Mar 27 15:39:44 2015 +0100 lis3lv02d: DT: add wakeup unit 2 and wakeup threshold This adds support for the the wakeup threshold and support for the second wakeup unit to the DT based setup. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdcd6f824ecb6b5e5fd6729c2552c1254012c3ca Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Mar 27 15:39:43 2015 +0100 lis3lv02d: DT: use s32 to support negative values st,axis-{x,y,z} can be negative to imply inverted axis. Apart from that the minimal and maximal threshold may be negative. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 797f88c987b02a8de8d4fac94ec2877b92ec35a2 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Tue Mar 31 11:16:41 2015 -0700 Drivers: hv: hv_balloon: correctly handle num_pages>INT_MAX case balloon_wrk.num_pages is __u32 and it comes from host in struct dm_balloon where it is also __u32. We, however, use 'int' in balloon_up() and in case we happen to receive num_pages>INT_MAX request we'll end up allocating zero pages as 'num_pages < alloc_unit' check in alloc_balloon_pages() will pass. Change num_pages type to unsigned int. In real life ballooning request come with num_pages in [512, 32768] range so this is more a future-proof/cleanup. Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba0c444153889a9b672974d85a4a57a8eeb49fe3 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Tue Mar 31 11:16:40 2015 -0700 Drivers: hv: hv_balloon: correctly handle val.freeram<num_pages case 'Drivers: hv: hv_balloon: refuse to balloon below the floor' fix does not correctly handle the case when val.freeram < num_pages as val.freeram is __kernel_ulong_t and the 'val.freeram - num_pages' value will be a huge positive value instead of being negative. Usually host doesn't ask us to balloon more than val.freeram but in case he have a memory hog started after we post the last pressure report we can get into troubles. Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a84d63d22a0ac79ab422b69ef2b4d75002c5641 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Fri Mar 27 00:27:59 2015 +0200 mei: replace check for connection instead of transitioning The function mei_cl_is_transitioning is just opposite of mei_cl_is_connected. What we actually wanted to check is if we lost connection so we can discard the check for transition and check for 'not connected' Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3de9b635d93a3d268adda428e1df94091506a42 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Fri Mar 27 00:27:58 2015 +0200 mei: use mei_cl_is_connected consistently Replace open coded check for cl->state !=/== MEI_FILE_CONNECTED with mei_cl_is_connected function. Note that cl->state != MEI_FILE_CONNECTED is not the same as cl->state == MEI_FILE_DISCONNECTED Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d9013f09203c694e2cba478b05afc6484d55180 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Fri Mar 27 00:27:57 2015 +0200 mei: fix mei_poll operation mei_poll returned with POLLIN w/o checking whether the operation has really completed. remove redundant check and locking in amthif specific handler Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1c0d82dab4a4605d3bd1968436f030dfed4a829 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Fri Mar 27 09:10:14 2015 -0700 hv_vmbus: Add gradually increased delay for retries in vmbus_post_msg() Most of the retries can be done within a millisecond successfully, so we sleep 1ms before the first retry, then gradually increase the retry interval to 2^n with max value of 2048ms. Doing so, we will have shorter overall delay time, because most of the cases succeed within 1-2 attempts. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a1a86ac046091d7228c9f3a283dea5be96275dd Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Mar 27 09:10:13 2015 -0700 Drivers: hv: hv_balloon: survive ballooning request with num_pages=0 ... and simplify alloc_balloon_pages() interface by removing redundant alloc_error from it. If we happen to enter balloon_up() with balloon_wrk.num_pages = 0 we will enter infinite 'while (!done)' loop as alloc_balloon_pages() will be always returning 0 and not setting alloc_error. We will also be sending a meaningless message to the host on every iteration. The 'alloc_unit == 1 && alloc_error -> num_ballooned == 0' change and alloc_error elimination requires a special comment. We do alloc_balloon_pages() with 2 different alloc_unit values and there are 4 different alloc_balloon_pages() results, let's check them all. alloc_unit = 512: 1) num_ballooned = 0, alloc_error = 0: we do 'alloc_unit=1' and retry pre- and post-patch. 2) num_ballooned > 0, alloc_error = 0: we check 'num_ballooned == num_pages' and act accordingly, pre- and post-patch. 3) num_ballooned > 0, alloc_error > 0: we report this chunk and remain within the loop, no changes here. 4) num_ballooned = 0, alloc_error > 0: we do 'alloc_unit=1' and retry pre- and post-patch. alloc_unit = 1: 1) num_ballooned = 0, alloc_error = 0: this can happen in two cases: when we passed 'num_pages=0' to alloc_balloon_pages() or when there was no space in bl_resp to place a single response. The second option is not possible as bl_resp is of PAGE_SIZE size and single response 'union dm_mem_page_range' is 8 bytes, but the first one is (in theory, I think that Hyper-V host never places such requests). Pre-patch code loops forever, post-patch code sends a reply with more_pages = 0 and finishes. 2) num_ballooned > 0, alloc_error = 0: we ran out of space in bl_resp, we report partial success and remain within the loop, no changes pre- and post-patch. 3) num_ballooned > 0, alloc_error > 0: pre-patch code finishes, post-patch code does one more try and if there is no progress (we finish with 'num_ballooned = 0') we finish. So we try a bit harder with this patch. 4) num_ballooned = 0, alloc_error > 0: both pre- and post-patch code enter 'more_pages = 0' branch and finish. So this patch has two real effects: 1) We reply with an empty response to 'num_pages=0' request. 2) We try a bit harder on alloc_unit=1 allocations (and reply with an empty tail reply in case we fail). An empty reply should be supported by host as we were able to send it even with pre-patch code when we were not able to allocate a single page. Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7fb0e1a65075a871c58cbcf8c877d1f9ae5cd83c Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Mar 27 09:10:12 2015 -0700 Drivers: hv: hv_balloon: eliminate jumps in piecewiese linear floor function Commit 79208c57da53 ("Drivers: hv: hv_balloon: Make adjustments in computing the floor") was inacurate as it introduced a jump in our piecewiese linear 'floor' function: At 2048MB we have: Left limit: 104 + 2048/8 = 360 Right limit: 256 + 2048/16 = 384 (so the right value is 232) We now have to make an adjustment at 8192 boundary: 232 + 8192/16 = 744 512 + 8192/32 = 768 (so the right value is 488) Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6cbd2c3a3db437708520c66f285c69ef028ac1f Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Mar 27 09:10:11 2015 -0700 Drivers: hv: hv_balloon: do not online pages in offline blocks Currently we add memory in 128Mb blocks but the request from host can be aligned differently. In such case we add a partially backed block and when this block goes online we skip onlining pages which are not backed (hv_online_page() callback serves this purpose). When we receive next request for the same host add region we online pages which were not backed before with hv_bring_pgs_online(). However, we don't check if the the block in question was onlined and online this tail unconditionally. This is bad as we avoid all online_pages() logic: these pages are not accounted, we don't send notifications (and hv_balloon is not the only receiver of them),... And, first of all, nobody asked as to online these pages. Solve the issue by checking if the last previously backed page was onlined and onlining the tail only in case it was. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aadc3780f31865edc84c587ab718a33a8eeeb09d Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Mar 27 09:10:10 2015 -0700 hv: remove the per-channel workqueue It's not necessary any longer, since we can safely run the blocking message handlers in vmbus_connection.work_queue now. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d43e2fe7da320310834467a3fd87a10adb25a221 Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Mar 27 09:10:09 2015 -0700 hv: don't schedule new works in vmbus_onoffer()/vmbus_onoffer_rescind() Since the 2 fucntions can safely run in vmbus_connection.work_queue without hang, we don't need to schedule new work items into the per-channel workqueue. Actally we can even remove the per-channel workqueue now -- we'll do it in the next patch. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 652594c7dfd9bf6392e3a727bc69d89a2562d953 Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Mar 27 09:10:08 2015 -0700 hv: run non-blocking message handlers in the dispatch tasklet A work item in vmbus_connection.work_queue can sleep, waiting for a new host message (usually it is some kind of "completion" message). Currently the new message will be handled in the same workqueue, but since work items in the workqueue is serialized, we actually have no chance to handle the new message if the current work item is sleeping -- as as result, the current work item will hang forever. K. Y. has posted the below fix to resolve the issue: Drivers: hv: vmbus: Perform device register in the per-channel work element Actually we can simplify the fix by directly running non-blocking message handlers in the dispatch tasklet (inspired by K. Y.). This patch is the fundamental change. The following 2 patches will simplify the message offering and rescind-offering handling a lot. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01081f5ab9916603555f236b11f76bb00e4e01e9 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:41 2015 -0600 coresight: moving to new "hwtracing" directory Keeping drivers related to HW tracing on ARM, i.e coresight, under "drivers/coresight" doesn't make sense when other architectures start rolling out technologies of the same nature. As such creating a new "drivers/hwtracing" directory where all drivers of the same kind can reside, reducing namespace pollution under "drivers/". Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2d6e1849329b7735f2872af4221727c7b9502dd Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:40 2015 -0600 coresight-tmc: Adding a status interface to sysfs Knowing the state of various control register is always useful for degging and tuning. As such add an entry in sysfs that expose to userspace the most important registers. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 223437c72ae008094e43199dea93c3a144c4e153 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Mon Mar 30 14:13:39 2015 -0600 coresight: remove the unnecessary configuration coresight-default-sink The coresight-default-sink configuration option has been removed from the framework. As such remove it from DT and bindings. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0a500efab41c761a1d1fd919d2e42a3a3545b2e Author: Xia Kaixu <kaixu.xia@xxxxxxxxxx> Date: Mon Mar 30 14:13:38 2015 -0600 coresight: adding the LINKSINK block as a sink type >From the TMC TRM, the ETF can be configured as buffer mode, so ETF can be a sink type. Signed-off-by: Xia Kaixu <kaixu.xia@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b29d5c1f057f583bc15be3d1ec4993e90cc53641 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:37 2015 -0600 coresight: Correcting documentation typographical error Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3288731e628e0269c20d86e43b647d0b92f2b3fc Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:36 2015 -0600 coresight: Adding coresight support for arm64 architecture Most CoreSight blocks are 64-bit ready. As such move configuration entries from "arch/arm/Kconfig.config" to the driver's subdirectory and source the newly created Kconfig from architecture specific Kconfig.debug files. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72f641fe6818a403aed52fb3a5b8a241ff76c24f Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:35 2015 -0600 coresight: fixing compilation warnings picked up by 64bit compiler Compiling coresight drivers with a 64-bit compiler highlights a couple of formatting issues, which are fixed by this patch. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c02a5ba34a1fae6def8cb5a39bb582f09bca49c Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Mon Mar 30 14:13:34 2015 -0600 coresight: making cpu index lookup arm64 compliant Function "get_logical_index()" is not available on arm64. Instead of adding the function simply using "of_get_cpu_node()" and comparing the return value with cpu handles yields the same result. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d86fb45b5c52d8f2a3e78e81afd85a2a9d4478d7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 26 22:12:49 2015 +0300 mcb: request_mem_region() returns NULL on error The code here is checking for IS_ERR() when request_mem_region() only returns NULL on error and never an ERR_PTR. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 127af8828518074ab24e9b5678229513d198d832 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Fri Mar 27 11:56:06 2015 +0300 char: xillybus: Don't return -EFAULT on user-triggered flush The API allows the application to flush a host-to-FPGA stream by calling write() with the data count set to zero. Before this patch, copy_from_user() was called with a non-zero byte count, which possibly made it attempt to read from unmapped user memory. Such attempts caused the driver to return -EFAULT instead of 0, even though the desired operation went through fine. This patch ensures the driver returns 0 on a successful flush. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be29bc2eaa5360537df422a237c889dc493492f4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Mar 29 17:04:27 2015 +0200 mic: drop pci_msi_off call on probe pci core now disables msi on probe automatically, drop this from device-specific code. Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 149cb911ae242242e5aae698710bf59e804a96e6 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Apr 1 10:46:19 2015 +0300 spmi: pmic_arb: remove ARM build time dependency Qualcomm PMIC arbiter driver already depends on ARCH_QCOM, which could be either ARM or ARM64. New version of the PMIC arbiter controller is available on 64 bit platforms. Remove ARM dependency to allow driver to be build for 64 bit platforms. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f580d730c90c11be0ef4fe88aff3de80845176cb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 16:46:10 2015 -0700 virtio_console: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b509d8d336eef6d622d66b3ae2a1fc3a072bf92 Author: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx> Date: Tue Mar 31 16:39:21 2015 +0200 misc: pass miscdevice through file's private_data Make the miscdevice accessible through the file's private_data. Previously, this was done only when an open() file operation had been registered. If no custom open() file operation was defined, private_data was set to NULL. This subtle quirk was confusing, to the point where kernel code registered *empty* file open operations to have private_data point to the misc device structure and avoid duplicating that logic. And it could easily lead to bugs, where the addition or removal of a custom open() file operation surprisingly changes the initial value of a file's private_data structure. To resolve this, we now place the miscdevice in the file's private_data member unconditionally when open() is called. Signed-off-by: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16c9c8e1ae228e89b66cbc03ec6c753ee44d39bc Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 16:04:21 2015 +0200 Revert "uio: constify of_device_id array" This reverts commit 4d8beff2ae07fad85d723b4cdf704b05f0ed4794. It causes build warnings, and it's incorrect as we do write to this structure. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b3075c59f858d64478f46a15daa6ecda3cf2318 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed Apr 1 01:37:05 2015 -0700 nfsd: add NFSEXP_PNFS to the exflags array Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c4151700bbf661d0f73c1beffb35b2039f5306fd Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Mar 31 11:58:55 2015 +0300 Staging: rtl8192u: use correct array for debug output This is supposed to be ->rates_ex[] instead of ->rates[]. I found this because static checkers complain than ->rates is too small so we're reading beyond the end of the array. It has 12 elements instead of 15. This bug was apparently copy and pasted from ipw2x00. I fixed it before in that driver 428e3cf5f98c ('ipw2x00: printing the wrong array in debug code') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8852112e1c23a27e41f1b6b401c254c2de0f82b5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:38 2015 +0200 staging: rtl8192e: Remove dead code Remove commented-out code Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14b40d92881533dca8b25647f105b9546433cda2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:37 2015 +0200 staging: rtl8192e: Comment cleanup (style/format) - Multiline comments use "network subsystem comment style" - Merge short multiline comments - Remove empty comments - Remove function name comment at the end of small (<1 screen) functions - Reformat 802.11 data frame format to use spaces and network format Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e725fb6f814b290fbf967e475f2a136efca66986 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:36 2015 +0200 staging: rtl8192e: Fix indentation in rtllib_rx_auth_resp() Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7567e20708ed4129ccec1a21c4c55b9725b66d0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:35 2015 +0200 staging: rtl8192e: Decrease nesting of rtllib_rx_auth_resp() Return from rtllib_rx_auth_resp() if auth_parse() fails. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f05b0b01ea1593c8cc6311704c227fb0d08b04 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:34 2015 +0200 staging: rtl8192e: Divide rtllib_rx_auth() Move authentication response processing to rtllib_rx_auth_resp() function. No logic is affected. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61dbdf36f2f1083a0b224afbb0feb13ad44792a5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:33 2015 +0200 staging: rtl8192e: Fix PRINTK_WITHOUT_KERN_LEVEL warnings Replace custom hex dumping function with print_hex_dump_bytes() to make checkpatch.pl happy Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff28b74c1c1d2fdb899dc646fc1e536365794af4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:32 2015 +0200 staging: rtl8192e: Fix DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON warning Fix 'do {} while (0) macros should not be semicolon terminated' checkpatch.pl warning Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bec027ea3845058bf8e7cf2c00626374963c3ca5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:31 2015 +0200 staging: rtl8192e: Fix BRACES warning Fix 'braces {} are not necessary for single statement blocks' checkpatch.pl warning Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2ac043118eed826444972bd81ab0bf70461a0fe Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:30 2015 +0200 staging: rtl8192e: Fix LINE_CONTINUATIONS warning Fix 'Avoid unnecessary line continuations' checkpatch.pl warning Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 025b8bbe49939dfd68a57cc94bca65c39a5409b8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:29 2015 +0200 staging: rtl8192e: Fix UNNECESSARY_PARENTHESES warnings Fix 'Unnecessary parentheses' checkpatch.pl warning Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2e70746e9ae42620a5790926736864c03ac5245 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:28 2015 +0200 staging: rtl8192e: remove unused EXPORT_SYMBOL_RSL macro This macro caused checkpatch.pl warning and is not used. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f0688b3ced6cf085a1bce52fb9984ecc8f39a45 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:27 2015 +0200 staging: rtl8192e: Fix RETURN_VOID warnings Fix 'void function return statements are not generally useful' checkpatch.pl warnings Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 285b7c00e06b4fdd6e9ac63b9b8082508340f1ab Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Apr 1 00:24:26 2015 +0200 staging: rtl8192e: Fix UNNECESSARY_ELSE warning Fix checkpatch warnings 'else is not generally useful after a break or return' Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b51311c976593fb7311322b1647a912cd456ec4 Author: Borislav Petkov <bp@xxxxxxxxx> Date: Fri Apr 3 14:25:28 2015 +0200 x86/asm/entry/64: Use a define for an invalid segment selector ... instead of a naked number, for better readability. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428054130-25847-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7c74d5b7b7b63fc279ed446ebd78de20d81f2824 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Apr 3 11:42:10 2015 +0200 x86/asm/entry/64: Fix MSR_IA32_SYSENTER_CS MSR value Commit: d56fe4bf5f3c ("x86/asm/entry/64: Always set up SYSENTER MSRs") missed to add "ULL" to the 0 and wrmsrl_safe() complains: arch/x86/kernel/cpu/common.c: In function â??syscall_initâ??: arch/x86/kernel/cpu/common.c:1226:2: warning: right shift count >= width of type wrmsrl_safe(MSR_IA32_SYSENTER_CS, 0); Fix it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428054130-25847-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 78cac48c0434c82e860fade3cd0420a7a4adbb08 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Apr 1 12:49:52 2015 +0200 x86/mm/KASLR: Propagate KASLR status to kernel proper Commit: e2b32e678513 ("x86, kaslr: randomize module base load address") made module base address randomization unconditional and didn't regard disabled KKASLR due to CONFIG_HIBERNATION and command line option "nokaslr". For more info see (now reverted) commit: f47233c2d34f ("x86/mm/ASLR: Propagate base load address calculation") In order to propagate KASLR status to kernel proper, we need a single bit in boot_params.hdr.loadflags and we've chosen bit 1 thus leaving the top-down allocated bits for bits supposed to be used by the bootloader. Originally-From: Jiri Kosina <jkosina@xxxxxxx> Suggested-by: H. Peter Anvin <hpa@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 28eb1f3b640f793371a7cac599f3ac0f89f63b54 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:58 2015 -0400 staging: rtl8723au: Remove unneeded comments This commit removes a number of unneeded comments. Two of the aforementioned comments were most likely meant to aid with version control, whereas the remaining two comments relate to (now unused) local variable names. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58b39a90977c3ac067895c87c3940132f6adc1c4 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:57 2015 -0400 staging: rtl8723au: Use __func__ in trace logs Rework the trace log-related lines in rtl8723au's rtw_security.c to use the __func__ GCC magic variable instead of hardcoding the function names into the trace log strings. This also corrects a copy-paste-related typo in the function named rtw_tkip_decrypt23a. Thanks to Jes Sorensen for the suggestion to use __func__. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87a432944f13b408167208dc509a8af62c66312c Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:56 2015 -0400 staging: rtl8723au: Rework two byte array comparisons Prior to this commit, rtl8723au's rtw_security.c had two instances of byte array comparisons (for CRC checks) where the individual elements of the byte arrays were compared one by one and an error trace would be output if the byte arrays were determined to be different. This commit improves the readability of the CRC verification by placing the individual 4 bytes of each byte array into an 32-bit unsigned integer and comparing the two resulting integers. Thanks to Larry Finger for spotting the code style issues in the previous version of this commit, and thanks to Joe Perches for suggesting the use of 32-bit integer comparisons instead of byte array comparisons. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 046ca5f7e10c476a6fd762c1561cc07f259f97a8 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:55 2015 -0400 staging: rtl8723au: suspect code indent for conditional statements Correct a number of indentation-with-spaces-and-tabs issues in rtl8723au's rtw_security.c, according to checkpatch.pl: WARNING: suspect code indent for conditional statements Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d6b1ac0b654e5d94b6f92292a7047d33af44d2e Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:54 2015 -0400 staging: rtl8723au: Adjust whitespace in and around comments As the subject indicates, adjust whitespace in and around comments in rtl8723au's rtw_security.c. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 268523aa6a408f9b9ea04fdd8b344c2b5fbcf2e4 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:53 2015 -0400 staging: rtl8723au: No spaces at the start of a line Prior to this commit, a large block of constants used to represent an AES S-box table were indented with spaces in rtl8723au's rtw_security.c. Correct the checkpatch.pl warnings indicating that spaces should not be used to indent lines: WARNING: please, no spaces at the start of a line Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3104ebad91c15b9b3b17d28837b67f0a74088dbe Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:52 2015 -0400 staging: rtl8723au: that open brace should be on the previous line Correct two instances of the checkpatch.pl error indicating that the opening curly braces should not be on new lines: ERROR: that open brace { should be on the previous line Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06641b2a38447c2c446af5e6b1a15b06f7535433 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:51 2015 -0400 staging: rtl8723au: trailing statements should be on next line Correct a number of checkpatch.pl errors in rtl8723au's rtw_security.c related to trailing statements: ERROR: trailing statements should be on next line Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47b720a16cff11ba822000104bac7dcf6fa1cfbb Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:50 2015 -0400 staging: rtl8723au: Remove unneeded curly braces Correct a number of checkpatch.pl warnings in rtl8723au's rtw_security.c related to the existence of unnecessary curly braces around single statement blocks: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 444c704321a6e97efbc16d252cbecb5897749221 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:49 2015 -0400 staging: rtl8723au: else is not generally useful after a return Correct a checkpatch.pl warning regarding rtl8723au's rtw_security.c::crc32_init pointing out that having an else statement after a break or a return is not useful. drivers/staging/rtl8723au/core/rtw_security.c:105: WARNING: else is not generally useful after a break or return Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3cc7593ecaf1c2b84e36fccccd81b6d3a8dd104 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:48 2015 -0400 staging: rtl8723au: Reorganize a few functions to remove indentation Prior to this commit, functions rtw_tkip_encrypt23a and rtw_tkip_decrypt23a had large if blocks which contained the majority of the logic in the functions. Rework these functions so that if the negated version of the aforementioned if blocks' conditions are true, we return from the function with _FAIL, as expected by the calling code. This lets us remove two levels of indentation from the functions in question, making them more readable. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2390239582fbb16564bed93e37ca4cf8d219c79 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:47 2015 -0400 staging: rtl8723au: Fix the indentation of two lines Correct the indentation of two lines in rtw_tkip_encrypt23a function in rtl8723au's rtw_security.c. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d7b3a7bb81fb585a4f794667297406438605090 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:46 2015 -0400 staging: rtl8723au: else should follow close brace Correct checkpatch.pl errors in rtl8723au's rtw_security.c indicating that an else statement should follow the closing brace of the previous if/else if code block: ERROR: else should follow close brace '}' Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c0cfd4b6f51af9a935dbec680a60a4521b5f2b8 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:45 2015 -0400 staging: rtl8723au: Fix "before/around/after" whitespace issues Correct a number of "space(s) required before/around/after" checkpatch.pl issues in a number of functions in rtl8723au's rtw_security.c. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f321c9cbf3bbf86f6e6153419eaf93ad085e3d74 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 15:25:04 2015 +0200 PM / watchdog: iTCO: stop watchdog during system suspend If the target sleep state of the system is not an ACPI sleep state (S1, S2 or S3), the TCO watchdog needs to be stopped during system suspend, because it may not be possible to ping it any more after timekeeping has been suspended (suspend-to-idle does that for one example). For this reason, provide ->suspend_noirq and ->resume_noirq callbacks for the iTCO watchdog driver and use them to stop and restart the watchdog during system suspend and resume, respectively, if the system is not going to enter an ACPI sleep state (in which case the watchdog will be stopped by the platform firmware before the state is entered). Reported-and-tested-by: Borun Fu <borun.fu@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 7f99f8b94c9355acdb14f1be28cb19aac741da68 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Apr 1 22:32:04 2015 +0100 x86/earlyprintk: Put CONFIG_PCI-only functions under the #ifdef Two static functions are only used if CONFIG_PCI is defined, so only build them if this is the case. Fixes the build warnings: arch/x86/kernel/early_printk.c:98:13: warning: â??mem32_serial_outâ?? defined but not used [-Wunused-function] static void mem32_serial_out(unsigned long addr, int offset, int value) ^ arch/x86/kernel/early_printk.c:105:21: warning: â??mem32_serial_inâ?? defined but not used [-Wunused-function] static unsigned int mem32_serial_in(unsigned long addr, int offset) ^ Also convert a few related instances of uintXX_t to kernel specific uXX defines. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: stuart.r.anderson@xxxxxxxxx Link: http://lkml.kernel.org/r/1427923924-22653-1-git-send-email-mark.einon@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cee8f5a6c8c917613dd021552909d071b1dab592 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Tue Mar 31 10:04:41 2015 -0500 x86/mce/severity: Fix warning about indented braces Dan reported compiler warnings about missing curly braces in mce_severity_amd(). Reindent the catch-all "return MCE_AR_SEVERITY" correctly to single tab. While at it, chain ctx == IN_KERNEL check with mcgstatus check to make it cleaner, as suggested by Boris. No functional changes are introduced by this patch. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427814281-18192-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit def747087e83aa5f6a71582cfa71e18341988688 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 15:31:32 2015 +0200 timers/PM: Drop unnecessary braces from tick_freeze() Some braces in tick_freeze() are not necessary, so drop them. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: peterz@xxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1534128.H5hN3KBFB4@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 422fe7502e3f16dc1c680f22d31f59f022edc10d Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 15:21:51 2015 +0200 timers/PM: Fix up tick_unfreeze() A recent conflict resolution has left tick_resume() in tick_unfreeze() which leads to an unbalanced execution of tick_resume_broadcast() every time that function runs. Fix that by replacing the tick_resume() in tick_unfreeze() with tick_resume_local() as appropriate. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: boris.ostrovsky@xxxxxxxxxx Cc: david.vrabel@xxxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: peterz@xxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8099075.V0LvN3pQAV@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f5d8bde742a5dbea11eed35a026bc4d968001119 Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Date: Sat Mar 28 21:07:44 2015 -0400 staging: rtl8723au: Reformat whitespace to increase readability Adjust the whitespace in the signature, local variable declaration and initialization parts of a number of functions to increase readability in rtl8723au's rtw_security.c. Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f47c28b5a0346728259291d9e4a1de90a5d3624 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Mar 29 14:54:12 2015 +0200 staging: rtl8712: Drop unneeded cast on netdev_priv The result of netdev_priv is already implicitly cast to the type of the left side of the assignment. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; T *x; @@ x = - (T *) netdev_priv(...) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86d7b29e12b3bfba9b46761448476c878cf6e8b1 Author: Phong Tran <tranmanphong@xxxxxxxxx> Date: Thu Apr 2 21:36:05 2015 +0700 staging: android: ion_test: Add the MODULE_LICENSE macro Base on the file comment should define GPL v2 for ion test driver Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6388e68321a1e0a0f408379c2a36396807745b3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Apr 1 22:32:52 2015 +0100 staging: vt6655: use ieee80211_tx_info to select packet type. Information for packet type is in ieee80211_tx_info band IEEE80211_BAND_5GHZ for PK_TYPE_11A. IEEE80211_TX_RC_USE_CTS_PROTECT via tx_rate flags selects PK_TYPE_11GB This ensures that the packet is always the right type. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+ Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df18480650df1d9dc94188bc7dd7e47b5c888d05 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Apr 1 22:32:51 2015 +0100 staging: vt6655: s_vGenerateTxParameter Replace PSTxBufHead with struct vnt_tx_fifo_head With endian correction on fifo_ctl and current_rate. Removing pTxBufHead, pFifoHead and wFifoCtl Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d049c7f8191440d881bf2224af8ed0de74d8d9a3 Author: Piotr Witoslawski <pwitos@xxxxxxxxx> Date: Thu Apr 2 15:37:30 2015 +0200 drivers: staging: rtl8723au: fix "warning: cast to restricted __le16" This patch fixes the sparse warning: "cast to restricted __le16" reported for rtl8723au/hal/rtl8723au_xmit.c Signed-off-by: Piotr Witoslawski <pwitos@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0429c2b5c1c4c8ba6cd563c1964baf3ed238df26 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Fri Apr 3 09:04:04 2015 -0400 locks: use cmpxchg to assign i_flctx pointer During the v3.20/v4.0 cycle, I had originally had the code manage the inode->i_flctx pointer using a compare-and-swap operation instead of the i_lock. Sasha Levin though hit a problem while testing with trinity that made me believe that that wasn't safe. At the time, changing the code to protect the i_flctx pointer seemed to fix the issue, but I now think that was just coincidence. The issue was likely the same race that Kirill Shutemov hit while testing the pre-rc1 v4.0 kernel and that Linus spotted. Due to the way that the spinlock was dropped in the middle of flock_lock_file, you could end up with multiple flock locks for the same struct file on the inode. Reinstate the use of a CAS operation to assign this pointer since it's likely to be more efficient and gets the i_lock completely out of the file locking business. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 3648888e90bb7fe6d0586ec177511e6678ee22c3 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Fri Apr 3 09:04:04 2015 -0400 locks: get rid of WE_CAN_BREAK_LSLK_NOW dead code As Bruce points out, there's no compelling reason to change /proc/locks output at this point. If we did want to do this, then we'd almost certainly want to introduce a new file to display this info (maybe via debugfs?). Let's remove the dead WE_CAN_BREAK_LSLK_NOW ifdef here and just plan to stay with the legacy format. Reported-by: J. Bruce Fields <bfields@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit cae80b305e1c3944746dd93e33e9b2ccd5a490c1 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Fri Apr 3 09:04:04 2015 -0400 locks: change lm_get_owner and lm_put_owner prototypes The current prototypes for these operations are somewhat awkward as they deal with fl_owners but take struct file_lock arguments. In the future, we'll want to be able to take references without necessarily dealing with a struct file_lock. Change them to take fl_owner_t arguments instead and have the callers deal with assigning the values to the file_lock structs. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 5c1c669a1b2435e071d566b6db1a8e6b26542ba1 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Fri Apr 3 09:04:03 2015 -0400 locks: don't allocate a lock context for an F_UNLCK request In the event that we get an F_UNLCK request on an inode that has no lock context, there is no reason to allocate one. Change locks_get_lock_context to take a "type" pointer and avoid allocating a new context if it's F_UNLCK. Then, fix the callers to return appropriately if that function returns NULL. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 663d5af750b8c025d0dfea2cf2a4b4a78cafa3a7 Author: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Date: Fri Apr 3 09:04:03 2015 -0400 locks: Add lockdep assertion for blocked_lock_lock Annonate insert, remove and iterate function that we need blocked_lock_lock held. Signed-off-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 9b8c86956dea44276e2b2bb368f1f34895f4c5ea Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Fri Apr 3 09:04:02 2015 -0400 locks: remove extraneous IS_POSIX and IS_FLOCK tests We know that the locks being passed into this function are of the correct type, now that they live on their own lists. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 9cd29044bd7be430f0d38620a6b0b6a0c017c6c9 Author: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Date: Fri Apr 3 09:04:02 2015 -0400 locks: Remove unnecessary IS_POSIX test Since following change commit bd61e0a9c852de2d705b6f1bb2cc54c5774db570 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Jan 16 15:05:55 2015 -0500 locks: convert posix locks to file_lock_context all Posix locks are kept on their a separate list, so the test is redudant. Signed-off-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Cc: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Cc: "J. Bruce Fields" <bfields@xxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit e95cf393d2097a7744f98de1c7936fcbde0843e3 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Apr 1 07:42:41 2015 +0100 MAINTAINERS: Add phy-miphy28lp.c and phy-miphy365x.c to ARCH/STI architecture This patch adds the phy-miphy28lp.c and phy-miphy365x.c phy drivers found on STMicroelectronics stih407 family 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: Kishon Vijay Abraham I <kishon@xxxxxx> commit 407ed8357464851cf12d68c4a969cd933f8dbcaf Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Apr 1 08:45:33 2015 +0800 phy: spear1340-miphy: Return proper error for spear1340_miphy_xlate The of_xlate callback should return ERR_PTR on error. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 247e21c613649f34bcf2f71e57e813e6ed18b458 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Apr 1 08:44:32 2015 +0800 phy: spear1310-miphy: Return proper error for spear1310_miphy_xlate The of_xlate callback should return ERR_PTR on error. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit fbea230e7884044ee2e84bb28f6879dc30e1db24 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Mar 30 16:17:07 2015 +0100 phy: miphy365x: Use the generic phy type constants in dt-bindings/phy/phy.h Now there are generic phy type constants declared in phy.h, migrate over to using them rather than defining our own. This change has been done as one atomic commit to be bisectable. Note: The values of the defines are the same, so there is no ABI breakage with this patch. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 9c3b443026368583d2df3373a11b1c18c361d9a6 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Mar 14 11:57:16 2015 +0800 phy: Add driver to support individual USB PHYs on sun9i Unlike previous Allwinner SoCs, there is no central PHY control block on the A80. Also, OTG support is completely split off into a different controller. This adds a new driver to support the regular USB PHYs. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 609adde838f4557f9d209b0432f4bac5c5eb5e86 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 19 17:08:07 2015 -0700 phy: Add a driver for dm816x USB PHY Add a minimal driver for dm816x USB. This makes USB work on dm816x without any other changes needed as it can use the existing musb_dsps glue layer for the USB controller. Note that this phy is different from dm814x and am335x. Cc: Bin Liu <binmlist@xxxxxxxxx> Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 52ea796b9161b1b81242e6831d9e128ee207ad2d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Mar 23 12:08:18 2015 +0800 phy: qcom-ufs: Don't return error if fail to get optional resource "dev_ref_clk_ctrl_mem" is optional resource, so don't return error if fail to get the resource. Since it's an optional resource, don't emit error if fail to get dev_ref_clk_ctrl_mem. Also remove redundant test for res, it's done by devm_ioremap_resource(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 358d6c87e73310c8e6564153cb556c0cd9e523fc Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Mar 23 11:54:50 2015 +0800 phy: qcom-ufs: Fix build error due to missing export symbols Fix below build error when compile the driver as a module. ERROR: "ufs_qcom_phy_power_off" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_power_on" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_exit" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_calibrate" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_generic_probe" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_init_vregulators" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_init_clks" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_remove" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "get_ufs_qcom_phy" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined! ERROR: "ufs_qcom_phy_power_off" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_power_on" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_exit" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_generic_probe" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_init_vregulators" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_init_clks" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_calibrate" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "ufs_qcom_phy_remove" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! ERROR: "get_ufs_qcom_phy" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a4820acfaf179982a86783ee0c0d5d39a9c5ab20 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Mar 29 14:54:14 2015 +0200 staging: ft1000: Drop unneeded cast on netdev_priv The result of netdev_priv is already implicitly cast to the type of the left side of the assignment. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; T *x; @@ x = - (T *) netdev_priv(...) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 528a5691ad2f687d8f59ce1f3d058507a00927b6 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 21:46:29 2015 +0200 staging: octeon-ethernet: delete cvm_oct_set_carrier() Delete unused function cvm_oct_set_carrier(). Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 203d77621405345c1f3ffc4c1db3f7ff89571b58 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 21:24:34 2015 +0200 staging: octeon-usb: make CVMX_WAIT_FOR_FIELD32 to take condition expression Make CVMX_WAIT_FOR_FIELD32 to take full condition expression. This should make the usage simpler, and the macro more readable. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6068e81879c81f83b1e3dcaa02746b20be2af0c0 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 21:24:33 2015 +0200 staging: octeon-usb: assume union type for FIELD32 macros Assume union type for FIELD32 macros to simplify usage. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a02e8d211d54d2e8f6a3b22cff72f2a4b2933e1 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 21:24:32 2015 +0200 staging: octeon-usb: octeon_usb_probe: delete unused variable "flags" is not used, delete it. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3d3390d1ee4a7e30cc48402c434eca82c16cb38 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 21:24:31 2015 +0200 staging: octeon-usb: make cvmx_fifo_setup void Make cvmx_fifo_setup void, it does not return any value. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a227437e860d3b7d5584a14b60953992b0634f7f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 30 12:59:49 2015 +0200 staging/olpc: drop pci dependencies This file does not use any pci APIs, drop pci header includes. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b0a9b10378d25b9ecb11ed85a983a82d3b7799e Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:09 2015 -0500 staging: fsl-mc: Changed version matching rules for MC object drivers Before this change, we were requiring a complete version match (major and minor version numbers) between MC objects and corresponding drivers, to allow MC objects to be bound to their drivers. We realized that a mismatch in minor version numbers should be tolerated, as long as the major version numbers match. This allows the driver to decide what to do in the minor version mismatch case. For example, a driver may decide to run with downgraded functionality if the MC firmware object has older minor version number than the driver. Also, a driver with older minor version than the MC firmware object may decide to run even though it cannot use newer functionality of the MC object. As part of this change, the dpmng Flib version was also updated to match the latest MC firmware version. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e91ffa9ec18e79214eef9bafc400f5d3b8d4aa98 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:08 2015 -0500 staging: fsl-mc: Refactored fsl_mc_object_allocator driver init/exit The fsl_mc_allocator driver does not need to be its own module as it is tightly integrated into the MC bus main driver. It is really just a sub-component of the MC bus driver. By not making fsl_mc_allocator its own module, we can have more control of when its initialization happens and we want it to happen before any driver that depends on the MC bus driver gets initialized. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bdc55d94fef59296f9f1aeda2a503d4c64cad86 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:07 2015 -0500 staging: fsl-mc: Fix crash in fsl_mc_device_remove() Only call fsl_mc_io_destroy() if the DPRC being removed actually had an mc_io object associated with. Child DPRCs that have not been bound to the DPRC driver or the VFIO driver will not have an mc_io associated with them. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1663e80982eef51892576cb2e3d4978af787ca4d Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:06 2015 -0500 staging: fsl-mc: Bind/unbind driver when MC object is plugged/unplugged Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b528775948d9224c0eb26ed1c0fab973e6b2502 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:05 2015 -0500 staging: fsl-mc: Removed reordering of MC objects during bus scan MC objects discovered during an MC bus scan were being reordered to ensure that all allocatable objects are probed before all non-allocatable objects. However, this is not necessary, as drivers of non-allocatable objects, that allocate allocatable objects in their probe function, can return -EPROBE_DEFER if such allocations fail. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f83e775d6ef55ea4edbe2740b8a56a94f97158b5 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Mar 28 14:33:41 2015 +0530 staging: sm7xxfb: disable pci device disable the pci device when the module exits. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77371fbd440f482bc6f092d8a33d141f45dc3b70 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Mar 27 16:01:04 2015 -0500 staging: fsl-mc: Name MC object devices using decimal numbers MC object devices were being named using hexadecimaal numbers. This was not consistent with the object naming conventions used by MC DPLs and the MC restool. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f30a746bec5507d9781e876626d4bba7f5ab0c8e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Mar 28 14:33:40 2015 +0530 staging: sm7xxfb: reserve PCI resource before starting to access any address inside the PCI region we should reserve the resource and release the resource when the module exits. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63b8ebe44ab6bc812f849818250e49e9157c309c Author: Shirish Gajera <gshirishfree@xxxxxxxxx> Date: Sat Mar 28 13:21:39 2015 -0700 staging: speakup: Fix warning of line over 80 characters. This patch fixes the checkpatch.pl warning: WARNING: line over 80 characters All line over 80 characters in driver/staging/speakup/* are fixed. Signed-off-by: Shirish Gajera <gshirishfree@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f688833662dac4c48dcc18198a1a3a35fcbf0cd Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Mar 27 15:26:11 2015 +0530 staging: unisys: remove forward declaration rearranged the functions to get rid of the forward declarations. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e71c9e42799ad5a7ece815a14cd8467eaa3be26 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Mar 27 15:26:10 2015 +0530 staging: unisys: use error codes we were just returning -1 to the calling function which was again returning that if the module failed to load. Now we are returning the actual error codes. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bdb610142fc0433077e24bb36f90e7c52bcaded Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Mar 27 15:26:09 2015 +0530 staging: unisys: unregister chardev on error after registering the major numbers if the cdev_add fails then we were not releasing the major numbers. now we are doing that. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61c507cf652da1bc8436bdb909343f33175fd566 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:27:25 2015 +0100 staging: sm750: move assignment out of if cond This patch moves the assignments from the if conditions to the line before the condition. The 3 occurrence are return values and the checks for errors. Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb1167a36cdb48ae6328132ad68bf1bdc29339cf Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:27:09 2015 +0100 staging: sm750: fix whitspace for cast to pointer This patch fixes the checkpatch.pl warning: 'ERROR: "(foo*)" should be "(foo *)"' Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0c838f10a18982a02f1a46904637748d066a6b9 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:26:52 2015 +0100 staging: sm750: fix whitespace This patch fixes whitespace checkpatch.pl warnings and errors. Mainly whitespaces around operators. - ERROR: spaces required around that ':' (ctx:VxW) - ERROR: space required after that ';' (ctx:VxV) - ERROR: spaces required around that '<' (ctx:VxV) - ERROR: spaces required around that '!=' (ctx:VxV) And some small warnings around whitespace: - ERROR: trailing whitespace - WARNING: space prohibited before semicolon - WARNING: unnecessary whitespace before a quoted newline Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 876e5a701f17e447ca6a828b9eda320f1cd835d7 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:26:37 2015 +0100 staging: sm750: blank line after declaration This patch fixes "WARNING: Missing a blank line after declaration" checkpatch.pl warnings. Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3318bb5e945f7007842fef4b6c69e559bc6a0e79 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:26:23 2015 +0100 staging: sm750: 80 characters per line This patch inserts line breaks to make lines fit into 80 characters and increase readability. Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bd9503d0becdb6f825fc13b3f4f5a194a91f7be Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:26:04 2015 +0100 staging: sm750: comment formating This patch fixes checkpatch.pl warnings / errors: - "WARNING: please, no space before tabs" - "ERROR: do not use C99 // comments" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f46a04c75605fd55879c797fd7f349f8cb32bb88 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Fri Mar 27 19:42:48 2015 +0100 staging: sm750: no braces for single stmt if blocks This patches fixes checkpatch.pl warning: "WARNING: braces {} are not necessary for single statement blocks" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27fa159bd2958ed2146d794c295c32e4fe4dd055 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:25:37 2015 +0100 staging: sm750: fix whitespaces around pointers This patch fixes checkpatch.pl errors: - ERROR: "foo * bar" should be "foo *bar" - ERROR: "foo* bar" should be "foo *bar" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ace4e10c1cf7c8e9069b1299582899a61c9994f Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:25:22 2015 +0100 staging: sm750: fix whitespace around braces Fix multiple similar checkpatch.pl errors: - "ERROR: space required before the open parenthesis '('" - "ERROR: space required before the open brace '{'" - "ERROR: space prohibited after that open parenthesis '('" - "ERROR: space prohibited before that close parenthesis ')'" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70407df77665c0e6bb6f6dea5e1561670fbadf18 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:25:08 2015 +0100 staging: sm750: move '{' to previous line Fix checkpatch.pl error: "ERROR: that open brace { should be on the previous line" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45e3b3da820ae612268294caac44776beb5ab885 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:24:53 2015 +0100 staging: sm750: add missing spaces after ',' Fixes checkpatch.pl error: "ERROR: space required after that ',' (ctx:VxV)" Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c52c3700d8a603dace184aed453c5e635645c523 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Thu Mar 26 23:24:32 2015 +0100 staging: sm750: Reindent The reindent fixes the "WARNING: please, no spaces at the start of a line", "ERROR: code indent should use tabs where possible" and some other small checkpatch.pl warnings and errors. Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7e8bdf5872c5a8f5a6494e16fe839c38a0d3d3d Author: Thomas Schlichter <thomas.schlichter@xxxxxx> Date: Tue Mar 31 20:24:39 2015 +0200 cpuidle: ACPI: do not overwrite name and description of C0 Fix a bug that leads to showing the name and description of C-state C0 as "<null>" in sysfs after the ACPI C-states changed (e.g. after AC->DC or DC->AC transition). The function poll_idle_init() in drivers/cpuidle/driver.c initializes the state 0 during cpuidle_register_driver(), so we better do not overwrite it again with '\0' during acpi_processor_cst_has_changed(). Signed-off-by: Thomas Schlichter <thomas.schlichter@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: 3.13+ <stable@xxxxxxxxxxxxxxx> # 3.13+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d75e4af14e228bbe3f86e29bcecb8e6be98d4e04 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Mar 31 20:15:09 2015 +0200 cpuidle: remove state_count field from struct cpuidle_device Thomas Schlichter reports the following issue on his Samsung NC20: "The C-states C1 and C2 to the OS when connected to AC, and additionally provides the C3 C-state when disconnected from AC. However, the number of C-states shown in sysfs is fixed to the number of C-states present at boot. If I boot with AC connected, I always only see the C-states up to C2 even if I disconnect AC. The reason is commit 130a5f692425 (ACPI / cpuidle: remove dev->state_count setting). It removes the update of dev->state_count, but sysfs uses exactly this variable to show the C-states. The fix is to use drv->state_count in sysfs. As this is currently the last user of dev->state_count, this variable can be completely removed." Remove dev->state_count as per the above. Reported-by: Thomas Schlichter <thomas.schlichter@xxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: 3.14+ <stable@xxxxxxxxxxxxxxx> # 3.14+ [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4c97b37a8447976f95493afc45dfdcb160dae4bf Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:40 2015 +0000 staging: comedi: remove "comedi_fc.h" None of the comedi low-level drivers include "comedi_fc.h" any longer, 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 8a8626b4f83a66bd219964127b1bfad75ff55615 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:39 2015 +0000 staging: comedi: usbduxsigma: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f53398ebde69e7f554cdb7ab3d7e34f855557701 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:38 2015 +0000 staging: comedi: usbduxfast: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b012d948c00f1c74c7e70ab7444ff3f3944778f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:37 2015 +0000 staging: comedi: usbdux: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d044e28f38dcc5b9de460eb0ce8a68df5cc2707b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:36 2015 +0000 staging: comedi: s626: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57fab5a22edc3841ae2b9be189a756afd92fe29d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:35 2015 +0000 staging: comedi: rtd520: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75a12586cb717fb57197d3b3a9467ebab216c984 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:34 2015 +0000 staging: comedi: quatech_daqp_cs: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21de3b8d84dd8ec0e129c7d2909e135e8af6f58e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:33 2015 +0000 staging: comedi: pcmuio: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b21a766f7c5476db7730653bee2915ff0a9e40a8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:32 2015 +0000 staging: comedi: pcmmio: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95373ceb1e236c0d9ca298b7db028a11115b5297 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:31 2015 +0000 staging: comedi: pcl818: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cf36bd747a631afa78e59518f65368ab3f6708f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:30 2015 +0000 staging: comedi: pcl816: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75ebc7fe7a55bc19f6c56742aa34cccb42c754b7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:29 2015 +0000 staging: comedi: pcl812: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdd62d8dde7dd13f6640b3de89613a70aa68ed0e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:28 2015 +0000 staging: comedi: pcl726: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1efa78f6bcbbde6437ac487411dcc1ca672b4e77 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:27 2015 +0000 staging: comedi: pcl711: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eeae1cc974a711478cf7b229dec7f69321f999ad Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:26 2015 +0000 staging: comedi: ni_tiocmd: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21ebbb1473fa5b148c77a218a77e008179643309 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:25 2015 +0000 staging: comedi: ni_pcidio: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 311fd9b2e59fee401c884bb4eca8897a25d5e6d2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:24 2015 +0000 staging: comedi: ni_mio_common: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4179164e9f9e3fd6d2d8be6eb37df8135f106354 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:23 2015 +0000 staging: comedi: ni_labpc_common: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2684a5e94a3b126a46d14ab438769db228112d79 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:22 2015 +0000 staging: comedi: ni_atmio16d: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ded2468314ea8f81be3ee16f398ee8206fe22f37 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:21 2015 +0000 staging: comedi: ni_at_a2150: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e9782c1c20412f535b10f62dce5d525a2fd4e41 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:20 2015 +0000 staging: comedi: ni_65xx: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6664e2efa2e643975c6eba712fd0c1034681410c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:19 2015 +0000 staging: comedi: ni_6527: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51ec1db9d93422b1bbe536bd93e0589bafafd336 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:18 2015 +0000 staging: comedi: me4000: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86ca1cdda3e8e4aa76dd9289f302349f96414fc5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:17 2015 +0000 staging: comedi: gsc_hpdi: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9a3c4317b96b794ea013f512adbf1aab4121185 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:16 2015 +0000 staging: comedi: dt3000: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34e444c8581866a32e7f3ed3229909c732c621f5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:15 2015 +0000 staging: comedi: dt282x: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71bb49d055e510a8c0ff0bb02529b5859d587b84 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:14 2015 +0000 staging: comedi: dt2814: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b504252a768c3d939f017f2c9044e3f7309be51e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:13 2015 +0000 staging: comedi: dmm32at: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5519108b114e7a5bc012d51e33a2d651efe4047a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:12 2015 +0000 staging: comedi: das800: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e70d6377525618f4b206bf3614865d3ab9617dea Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:11 2015 +0000 staging: comedi: das6402: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05e07db18552de231f0a62172c2f7715a58c46cd Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:10 2015 +0000 staging: comedi: das1800: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dedb59fc69f72f5af8cee8ca6e3c646a2e0b83cb Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:09 2015 +0000 staging: comedi: das16m1: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8cfb3fb9b22d38214791789565e4ecf0bc7337e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:08 2015 +0000 staging: comedi: das16: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61f7697033bff3a1696ff1434d84aeda269e505b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:07 2015 +0000 staging: comedi: comedi_test: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 070c8e167bec5fba8ea020eb615c583062f8f9b0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:06 2015 +0000 staging: comedi: comedi_parport: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b339d322b279e234533a98cbc644e95e8077198 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:05 2015 +0000 staging: comedi: cb_pcidas: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 571cea09014711d801f8a6a81a8cb18aa78eba14 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:04 2015 +0000 staging: comedi: cb_pcidas64: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a716811441368c90efd55955d1404c3f51aac391 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:03 2015 +0000 staging: comedi: amplc_pci230: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0703e09e719819da1cc5e380c70a56f9c248663 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:02 2015 +0000 staging: comedi: amplc_pci224: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29d9edd0d0e03211b4b6c2e8057a043eb94a91a5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:01 2015 +0000 staging: comedi: amplc_pc236_common: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f95354325eee75d67d632a60c3b91aa83254028a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:14:00 2015 +0000 staging: comedi: amplc_dio200_common: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f900aec97b52ce875d97b566c3882ff825c53c95 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:59 2015 +0000 staging: comedi: aio_iiro_16: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3087f440c226c014e2461e909e5669a53db7fb03 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:58 2015 +0000 staging: comedi: adv_pci1710: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94fff03def69fa26b85057f2a57e186ea7310946 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:57 2015 +0000 staging: comedi: adl_pci9118: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a4888c18fe0e2331087bcb690191036eea3b187 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:56 2015 +0000 staging: comedi: adl_pci9111: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0618689e58d08b27c99c1f0acb472bff65e4586 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:55 2015 +0000 staging: comedi: addi_apci_3xxx: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25e8046478c7755319eea0a77734bdf97139555d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:54 2015 +0000 staging: comedi: addi_apci_3120: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea7040e6364fc69291a0a3d5ded5948d66ceaa09 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:53 2015 +0000 staging: comedi: addi_apci_2032: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39a89e14697a82678ecfd68155ad2494b21d8d04 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:52 2015 +0000 staging: comedi: addi_apci_1564: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a7c337c49969d7c842718503e82bccd4b5fda8c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:51 2015 +0000 staging: comedi: addi_apci_1500: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e63db6f775b803bcdc66d28c983b0c1f552dbe29 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:50 2015 +0000 staging: comedi: addi_apci_1032: remove #include "comedi_fc.h" As preparation for removal of "comedi_fc.h", replace calls to the `cfc_check_trigger_...` functions from "comedi_fc.h" with the replacement `comedi_check_trigger_...` functions from "../comedidev.h" and remove the inclusion of "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 557e0c1c6575aaaf190534b291131afb972e6774 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:49 2015 +0000 staging: comedi: ni_labpc_isadma: remove #include "comedi_fc.h" "ni_labpc_isadma.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3baeea2848e939c55a6d8ff0c8e2375c52e6e90 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:48 2015 +0000 staging: comedi: ni_660x: remove #include "comedi_fc.h" "ni_660x.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8044cc3b314d751000fc0fa7e0e15eff9c380fa Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:47 2015 +0000 staging: comedi: mite: remove #include "comedi_fc.h" "mite.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8bac7d15718a9703380e8e55ebfe02225fdb00ed Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:46 2015 +0000 staging: comedi: cb_pcidda: remove #include "comedi_fc.h" "cb_pcidda.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 830c6190466a487ee36d93b451614ab5fe7f907b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:45 2015 +0000 staging: comedi: cb_das16_cs: remove #include "comedi_fc.h" "cb_das16_cs.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49da482e691e921e51967e71f7b639cf3789c5e7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:44 2015 +0000 staging: comedi: addi_apci_3501: remove #include "comedi_fc.h" "addi_apci_3501.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 782658427b89a0beaf891eeac98e9ebc211bb057 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:43 2015 +0000 staging: comedi: addi_apci_1516: remove #include "comedi_fc.h" "addi_apci_1516.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39d9333eaa75c25d7a9b597d53b2db449e703108 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:42 2015 +0000 staging: comedi: 8255: remove #include "comedi_fc.h" "8255.c" doesn't use anything from "comedi_fc.h". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e1a61928eb9622d2bc8eec2a354616281c0e475 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 19:13:41 2015 +0000 staging: comedi: comedi_fc.h: begin migration to comedidev.h "comedi_fc.h" contains a few inline functions used by the `do_cmdtest` handler functions for comedi subdevices in several low-level comedi drivers for checking asynchronous command trigger sources and arguments. They all use the prefix `cfc_check_trigger_arg`. Copy them over to "../comedidev.h", but change the `cfc_` prefix to `comedi_`. Change the original functions in "comedi_fc.h" into simple wrappers for their replacements. Once the drivers have been changed to call the replacement functions, "comedi_fc.h" 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 78cff59e88eb0f3ae81f50741a8ce2e38f890139 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:58:19 2015 +0000 staging: comedi: make comedi_internal.h self-reliant Add `#include`s and declare incomplete types to "comedi_internal.h" so that .c files still compile when it is the first file included. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef4b4b274cf96a857dd78b49558509b55d75163a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:06 2015 +0000 staging: comedi: comedi_fops: extend spin-lock scope in comedi_event() `comedi_event()` is called from low-level drivers to handle comedi asynchronous command event flags. As a safety check, it checks the subdevice's "run" flags to make sure an asynchronous command is running. It can also change the run flags to mark the command as no longer running (possibly also marking it as terminated with an error). Checking the runflags and modifying them involves two uses of the subdevice's spin-lock. It seems better to do it with a single use of the spin-lock. This also avoids possible interactions with `do_become_nonbusy()`. Acquire the subdevice's spin-lock at the start of `comedi_event()` and release it near the end, before a possible call to `kill_fasync()` (but after it's parameter values have been determined). Add and make use of few new inline helper functions: * `__comedi_clear_subdevice_runflags()` -- clears some run flags without using the spin-lock * `__comedi_set_subdevice_runflags()` -- sets some run flags without using the spin-lock * `__comedi_get_subdevice_runflags()` -- a spin-lockless version of `comedi_get_subdevice_runflags() * `__comedi_is_subdevice_running()` -- a spin-lockless version of * `comedi_is_subdevice_running()` Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa33122f005069cb3408acf609b78b9a62f58021 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:05 2015 +0000 staging: comedi: comedi_fops: send SIGIO according to command direction `comedi_event()` is called from low-level drivers to handle comedi asynchronous command event flags. Some events cause waiting tasks to be woken up, and a `SIGIO` signal to be sent via `kill_fasync()`. The signal code is `POLL_OUT` if the subdevice supports commands in the "write" direction, or `POLL_IN` for the "read" direction. If the subdevice supports commands in either direction, it sends two `SIGIO` signals, one with each code. Change that latter case to only send one `SIGIO` signal, using the direction of the current command to determine the signal code. If the `CMDF_WRITE` flag is set in the current command, it's in the "write" direction, otherwise it's in the "read" direction. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 922d9ced718268e464a0884ecee09da436e00d70 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:04 2015 +0000 staging: comedi: comedi_fops: always clear events `comedi_event()` is called from low-level drivers to handle asynchronous command event flags that are stored in `s->async->events` for subdevice `s`. It normally clears the event flags as well. As a safety check, it does nothing if no asynchronous command is running, but it leaves `s->async->events` unchanged in this case. For additional safety, change it to always clear the event flags to avoid leaving stale event flags set when another asynchronous command is set up. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 258c1dd76bf1223a0f67ff8d799b5eb383a3a632 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:03 2015 +0000 staging: comedi: comedi_fops: remove unnecessary s->async use In places where the `s->async` value has been stored in a local variable, use the variable instead of repeating `s->async`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38ee1fd309a629a618c031238c5d681ed4239af4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:02 2015 +0000 staging: comedi: comedi_fops: simplify comedi_is_subdevice_idle() Don't use a conditional operator when a simple "not" will do. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b183a836fe02a59c2b55273655196ba288f3adb7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:01 2015 +0000 staging: comedi: comedi_fops: eliminate a use of subdevice spin-lock `comedi_is_subdevice_in_error()` is only used by `comedi_read()` and `comedi_write()` and is only called (soon) after `comedi_is_subdevice_running()` returns `false` (with extra conditions in the case of `comedi_write()`). `comedi_is_subdevice_running()` and `comedi_get_subdevice_runflags()` both call `comedi_get_subdevice_runflags()` which uses the subdevice's spin-lock. Eliminate one use of the subdevice's spin-lock in `comedi_read()` and `comedi_write()` by calling `comedi_get_subdevice_runflags()` and checking the runflags directly. Add a couple of inline functions to check the runflags: `comedi_is_runflags_running()` and `comedi_is_runflags_in_error()`. These do the same test on runflags as `comedi_is_subdevice_running()` and `comedi_is_subdevice_in_error()` but get passed the runflags value directly. `comedi_is_subdevice_in_error()` is no longer used, 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 cc64ea4239c354d30f88130ecf5aa81a506b57e3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Mar 27 15:13:00 2015 +0000 staging: comedi: comedi_fops: rename comedi_set_subdevice_runflags() `comedi_set_subdevice_runflags()` changes the comedi subdevice's `runflags` member according to a bit-mask and new bit values. It's name might suggest that it only "sets", not "clears". Rename it to `comedi_update_subdevice_runflags()` to avoid confusion. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c75de0ac0756d4b442f460e10461720c7c2412c2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Apr 2 10:21:33 2015 +0530 cpufreq: Schedule work for the first-online CPU on resume All CPUs leaving the first-online CPU are hotplugged out on suspend and and cpufreq core stops managing them. On resume, we need to call cpufreq_update_policy() for this CPU's policy to make sure its frequency is in sync with cpufreq's cached value, as it might have got updated by hardware during suspend/resume. The policies are always added to the top of the policy-list. So, in normal circumstances, CPU 0's policy will be the last one in the list. And so the code checks for the last policy. But there are cases where it will fail. Consider quad-core system, with policy-per core. If CPU0 is hotplugged out and added back again, the last policy will be on CPU1 :( To fix this in a proper way, always look for the policy of the first online CPU. That way we will be sure that we are calling cpufreq_update_policy() for the only CPU that wasn't hotplugged out. Cc: 3.15+ <stable@xxxxxxxxxxxxxxx> # 3.15+ Fixes: 2f0aea936360 ("cpufreq: suspend governors on system suspend/hibernate") Reported-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7928848997a708dcdf21e2d2f0875fe6764c5870 Merge: 7a3888a e416a89 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Apr 3 12:56:05 2015 +0200 Merge lustre patches based on 4.0-rc5 into staging-testing This is done to handle some lustre patches that were made against the wrong kernel branch, which was my fault, as I gave a lecture where I messed things up for the students, it wasn't their fault. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42d255ce43e1dbe28b5907ec276cd88330952661 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Tue Mar 31 00:45:06 2015 -0700 i40e: Bump to version 1.3.1 Bump. Change-ID: I7dc88baa33264e5919bc938adf76706573209432 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9a9c8ae1c1b43e12a5ab786d3463b251fe2fd4aa Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Mar 31 00:45:06 2015 -0700 i40evf: Refactor VF RSS code Refactor VF RSS code to allow RSS on a single queue and eliminate the need for the next_queue function. Change-ID: I9253bad96b7f542ee7036e15636db0e5d58d8ef2 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 13acb54683f834cb16baf7ad7fd6e15a97b0762f Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Mar 31 00:45:05 2015 -0700 i40evf: protect VLAN filter list The MAC filter list is protected by a critical task bit, and the VLAN list should be protected as well. This prevents list corruption if the watchdog happens to run at the same time as a VLAN filter is being added or deleted. Change-ID: Ia4867cebbbb046a1f38012771b288a634ca5882b Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fdf0e0bfc363a9b5380ecb5e9c46d6f5a39a9b75 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Mar 31 00:45:05 2015 -0700 i40e: Communicate VSI id in place of VSI index to the VFs This does not affect the Virtual channel API as such but it changes the meaning of what is communicated to the VSI resource struct as vsi_id. Earlier vsi_idx was being passed in, which was the index in the PF's VSI array. Now we pass vsi_id as communicated by the FW to the driver. This will help with future expansion of VF and FW communication. With this in place now the VF and Virtual channel driver change to move over to VSI id use is complete and is validated. Change-ID: I14246ef82b3b3dc1fa76291d2dd0c05d12cedb7c Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3932dbfe1ecdcf05578cc6aca7ca1b6c6dbd311e Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Mar 31 00:45:04 2015 -0700 i40e: stop flow director on shutdown In some cases, the hardware would continue to try to access the FDIR ring after entering D3Hot state, which would cause either PCIe errors or NMIs, depending upon system configuration. Explicitly stop FDIR in our shutdown routine to eliminate this possibility. Change-ID: Ib98060d6352ec595ab9a78bfe252675a9fa5d8bc Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c22c06c8d1b62cd2a42a8f276c7e72bc17067183 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Tue Mar 31 00:45:04 2015 -0700 i40e: fix up VXLAN messages When the VXLAN ports are added and removed, the messaging was giving some bogus index info, the port was always '0' for the delete, and the message text style didn't match other messages in the driver. Also, there was an over-use of the tertiary statement which made reading a little harder than necessary. Change-ID: Ie805182a697b8b4c12024403ada87fd4e4fa2358 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c142b1dc898efd4702aeacc787bbef8918c401e7 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Tue Mar 31 00:45:03 2015 -0700 i40e: Don't register/de-register apps on NIC partitions in MFP mode Do not register or try to de-register DCB applications with the DCBNL layer in case of NIC partitions when adapter is in MFP mode. Change-ID: I603d042a61983a6562be471c6a2b181572504118 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 31eaaccff0fedb7cf6b6716efa3a2b8b8315ec68 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Tue Mar 31 00:45:03 2015 -0700 i40e/i40evf: Set Ethernet protocol correctly when Tx VLAN offloads are disabled If transmit VLAN HW offloads are disabled then the network stack sends up an skb with the protocol set to 8021q. In that case to get the correct checksum offloads we have to reset the skb protocol to the encapsulated ethertype. Change-ID: I903d78533de09b1c5d3ec695ee1990dd0fa5dd0d Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6d7b967db3b1607c789f62936d68ced6321482ed Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Mar 31 00:45:02 2015 -0700 i40e: warn at the right time The call to pci_disable_sriov got moved, but the message about not disabling VFs didn't move. So move it. While we're at, reword the message a bit to make it more consistent with other driver messages. Change-ID: I17d3e15e4fcfd5c9431a96ecb0117d728d3da18b Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b38da40190a1f8a1a0edcc70f983f7838aabadd4 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Mar 31 00:45:02 2015 -0700 i40e: fix invalid void return in FCoE code A function was calling i40e_tx_map with return, but tx_map returns void, and the caller returns void, so just drop the return, and everything is good. Change-ID: I53fc676d517864761e7cbb8ca83f1ef0c15b1f8f Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8b6ed9c202c0c7c179ab7a6cf8010ff0b63d2d4f Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Mar 31 00:45:01 2015 -0700 i40e/i40evf: fix bug when skb allocation fails If the skb allocation fails we should not continue using the skb pointer. Breaking out at the point of failure means that at the next RX interrupt the driver will try the allocation again. Change-ID: Iefaad69856ced7418bfd92afe55322676341f82e Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1a2f62489b5dc15bd2aadb1de2e38f732e2c4553 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Mar 31 00:45:01 2015 -0700 i40e: Change some memcpys to struct assignments Several memcpys are not necessary and can be changed to structure assignments. Struct assignments are always type safe so this is preferable. Change-ID: I7daf45a4b5e799c686b9d5c8ba9db047584ab82b Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 25fc0e6590d7c18886cab667430c0da16f0586c4 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Mar 31 00:45:01 2015 -0700 i40e: Print some more info to help figure out the cause of HMC error HMC_ERRORINFO and HMC_ERRORDATA helps explain the cause of HMC error. Change-ID: I053bbc175a5f4c5c3e9ec2ea7400d5c56aaa4ec1 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b57459e913afeca56b43b09f35588e3e8b2b0f26 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Mar 31 00:45:00 2015 -0700 i40e: validate VSI param from VFs Validate that the VF has sent us a valid VSI index before actually using that index. Without this code, a malicious or buggy VF driver could panic the host by sending an invalid index into the VSI array. Change-ID: I66a177687a0dcc281ec83e714d3813d70d18c8b4 Reported-by: Nick Nunley <nicholas.d.nunley@xxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 818f2e7b25ac3ae12b1a40690e3aa082ff5896ee Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Mar 31 00:44:59 2015 -0700 i40evf: Fix Outer UDP RX checksum code Inner protocol being UDP should not stop us from verifying Outer UDP checksum correctness. If the Outer protocol is not UDP (NVGRE) we should not be doing a UDP checksum check. If the packet has zero checksum, skip checksum check. Change-ID: Ie7f153feb276a59f66a54a0938901b2c0a8100fa Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7a3888a3ad15796c834dc6cb00d247d27021f01b Author: Guillaume Matheron <guillaume.matheron@xxxxxx> Date: Thu Apr 2 19:52:07 2015 +0200 Staging: lustre: o2iblnd.c: Finished cleaning code style I fixed lines over 80 characters and unnecessary returns Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fe7f9624d64831c6ebf8845c90c56ae5244a155 Author: Guillaume Matheron <guillaume.matheron@xxxxxx> Date: Thu Apr 2 17:04:55 2015 +0200 Staging: lustre: o2iblnd_cb.c: Removed the rest of unnecessary spaces before parenthesis I removed all the 'unneeded space' warnings given by checkpatch.pl Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit febe73bdab9ab069144d6068248631ce1b5e80cd Author: Guillaume Matheron <guillaume.matheron@xxxxxx> Date: Thu Apr 2 19:35:45 2015 +0200 Staging: lustre: o2iblnd.c: Started fixing coding style I focused on function declarations (placed return type on the same line as function name), and spaces between function name and parenthesis Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fb186cf6907ba4e873d8396d7e5abfa4f22ca4e Author: Georges-Axel Jaloyan <georges-axel.jaloyan@xxxxxx> Date: Thu Apr 2 16:10:31 2015 +0200 Staging: Lustre: rw26.c: include according to checkpatch.pl Signed-off-by: Georges-Axel Jaloyan <georges-axel.jaloyan@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acc59a8b93ed4b57598506f30c89275dbb3f7f61 Author: Cyrille Ruggero <cyrille.ruggero@xxxxxx> Date: Thu Apr 2 16:09:14 2015 +0200 Staging: lustre: dir.c: adding a blank after a declaration. Adding a blank in this file after a declaration as reported by checkpatch.pl. Signed-off-by: Cyrille Ruggero <cyrille.ruggero@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21c25a9ff87502e74130b568c102802b27891f1b Author: Luca Wehrstedt <luca.wehrstedt@xxxxxx> Date: Thu Apr 2 16:33:34 2015 +0200 Staging: lustre: lov_io.c: remove useless unary pluses Replace two occurrences of "+1" with simply "1". Signed-off-by: Luca Wehrstedt <luca.wehrstedt@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b0033a15f6fe79015eea477c4e7b4c2ff4357c5 Author: Gwendoline Chouasne-Guillon <chouasne@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:11:04 2015 +0200 Staging: lustre: o2iblnd_modparam.c: remove unneeded space before the arguments of a function Remove unneeded space before the arguments of a function Signed_off_by: Gwendoline Chouasne-guillon <chouasne@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af967b29c810bfceb547f312ea62920675094738 Author: Guillaume Matheron <guillaume.matheron@xxxxxx> Date: Thu Apr 2 16:10:15 2015 +0200 Staging: lustre: o2iblnd_cb.c: Removed a bunch of spaces before parenthesis Fixed warnings as reported by checkpatch.pl Also fixed padding before function arguments when needed Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e416a893210a4b4f17bb7e6670f8cd218080a3d5 Author: Rafaël Bocquet <rafaelbocquet+personnel@xxxxxxxxx> Date: Thu Apr 2 17:12:34 2015 +0200 Staging: lustre: config.c: fix a "do not add new typedefs" warning reported by checkpatch.pl Signed-off-by: Rafaël Bocquet <rafael.bocquet@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a338e201486897ce7d633dcbb8c43983cb1d237 Author: Rafaël Bocquet <rafaelbocquet+personnel@xxxxxxxxx> Date: Thu Apr 2 17:12:33 2015 +0200 Staging: lustre: config.c: fix lines exceeding 80 characters reported by checkpatch.pl Signed-off-by: Rafaël Bocquet <rafael.bocquet@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2f770d74a8d12265e023f2792ad2eb996cabe1a Author: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Date: Fri Apr 3 18:03:40 2015 +0800 crypto: arm/sha256 - Add optimized SHA-256/224 Add Andy Polyakov's optimized assembly and NEON implementations for SHA-256/224. The sha256-armv4.pl script for generating the assembly code is from OpenSSL commit 51f8d095562f36cdaa6893597b5c609e943b0565. Compared to sha256-generic these implementations have the following tcrypt speed improvements on Motorola Nexus 6 (Snapdragon 805): bs b/u sha256-neon sha256-asm 16 16 x1.32 x1.19 64 16 x1.27 x1.15 64 64 x1.36 x1.20 256 16 x1.22 x1.11 256 64 x1.36 x1.19 256 256 x1.59 x1.23 1024 16 x1.21 x1.10 1024 256 x1.65 x1.23 1024 1024 x1.76 x1.25 2048 16 x1.21 x1.10 2048 256 x1.66 x1.23 2048 1024 x1.78 x1.25 2048 2048 x1.79 x1.25 4096 16 x1.20 x1.09 4096 256 x1.66 x1.23 4096 1024 x1.79 x1.26 4096 4096 x1.82 x1.26 8192 16 x1.20 x1.09 8192 256 x1.67 x1.23 8192 1024 x1.80 x1.26 8192 4096 x1.85 x1.28 8192 8192 x1.85 x1.27 Where bs refers to block size and b/u to bytes per update. Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Cc: Andy Polyakov <appro@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 87b1675634e1e9f1570445c55604204771ac9078 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 22:39:40 2015 +0800 crypto: api - Change crypto_unregister_instance argument type This patch makes crypto_unregister_instance take a crypto_instance instead of a crypto_alg. This allows us to remove a duplicate CRYPTO_ALG_INSTANCE check in crypto_unregister_instance. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1f7237109951ebe8dc194461716443a5d8caf308 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 22:31:22 2015 +0800 crypto: api - Fix races in crypto_unregister_instance There are multiple problems in crypto_unregister_instance: 1) The cra_refcnt BUG_ON check is racy and can cause crashes. 2) The cra_refcnt check shouldn't exist at all. 3) There is no reference on tmpl to protect the tmpl->free call. This patch rewrites the function using crypto_remove_spawn which now morphs into crypto_remove_instance. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 13cf394c8c79b5655cdc76f7ae0d9869a1434103 Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Thu Apr 2 15:32:45 2015 +0530 crypto: omap-sham - Add the offset of sg page to vaddr kmap_atomic() gives only the page address of the input page. Driver should take care of adding the offset of the scatterlist within the page to the returned page address. omap-sham driver is not adding the offset to page and directly operates on the return vale of kmap_atomic(), because of which the following error comes when running crypto tests: 00000000: d9 a1 1b 7c aa 90 3b aa 11 ab cb 25 00 b8 ac bf [ 2.338169] 00000010: c1 39 cd ff 48 d0 a8 e2 2b fa 33 a1 [ 2.344008] alg: hash: Chunking test 1 failed for omap-sha256 So adding the scatterlist offset to vaddr. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 07eb422db401fd584801197cff156b585c9ce7a9 Author: Martin Vassor <martin.vassor@xxxxxxx> Date: Thu Apr 2 16:47:39 2015 +0200 Staging: lustre: lib-md.c format line too long Format comment such that it is under 80 chars Signed-off-by: Martin Vassor <martin.vassor@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 659dc3417e8502bf93c189b891d4a048edc10683 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Apr 2 20:01:15 2015 +0200 staging: lustre: include: remove unused macros OBD_CHECK_DEV and OBD_CHECK_DEV_ACTIVE have been replaced by static inline functions. They are removed since they are not used anymore. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f36b6553e0ffe2c06ffc025b23c13967754ce7f4 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Apr 2 20:00:24 2015 +0200 staging: lustre: include: replace OBD_CHECK_DEV_ACTIVE by obd_check_dev_active Static inline functions are preferred over macros. The inline function obd_check_dev_active is introduced to replace OBD_CHECK_DEV_ACTIVE. All functions that call obd_check_dev_active store the return values and return them if they represent an error code. Some of the changes were carried out manually while others were done using coccinelle. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ca1b8fbe609b7c52aeaa78a5f4678efcc9b8d73 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Apr 2 19:59:15 2015 +0200 staging: lustre: include: replace OBD_CHECK_DEV by obd_check_dev Static inline functions are preferred over macros. Hence, the function obd_check_dev was introduced. obd_check_dev replaces the macro OBD_CHECK_DEV. All functions that call obd_check_dev store the return values and return them if they represent an error code. Some of the changes were carried out manually while others were done using coccinelle. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a18dd4702c923167e98acbb0c9d94463ce19546f Author: Théotime Grohens <theotime.grohens@xxxxxx> Date: Thu Apr 2 16:24:36 2015 +0200 Staging: lustre: lnet: selftest: lconctl.c: fixed indentation of the switch Signed-off-by: Théotime Grohens <theotime.grohens@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c209069e9b81b1d2a9f344c1da102f3256460c16 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 16:28:12 2015 +0200 Staging: lustre: module.c: remove unneeded return statement Remove an unneeded return statement in this file as reported by checkpatch.pl. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59f084070c96f777f977ebd58dc934b9d2a1d95b Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Apr 2 23:01:04 2015 +0530 Staging: sm750fb: Remove zero testing pointer typed value Removes variable comparison with 0. Done using following coccinelle script. @ disable is_zero,isnt_zero @ expression *E; expression E1,f; @@ E = f(...) <... ( - E == 0 + !E | - E != 0 + E | - 0 == E + !E | - 0 != E + E ) ...> ?E = E1 @ disable is_zero,isnt_zero @ expression *E; @@ ( E == - 0 + NULL | E != - 0 + NULL | - 0 + NULL == E | - 0 + NULL != E ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e261e69e2d16b69eb712123b9e73bac50282b6a7 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Apr 2 22:57:55 2015 +0530 Staging: sm750fb: Fixed indent of switch-case Fixed indent of switch-case by adding space using tabs. Problem found using checkpatch.pl ERROR: space required after that ';' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ad6b5ed3e2472b399b567a2f036006bf25df467 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Apr 2 22:55:18 2015 +0530 Staging: sm750fb: Fix C99 Comments Used C89 instead of C99 Comment and removed C99 comments performing prints only. Problem found using checkpatch.pl ERROR: do not use C99 // comments Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecfd2267311ebe3fb2fe5e173dfd8f84f981ba0f Author: Charlie Wong Super <1213charlie@xxxxxxxxx> Date: Thu Apr 2 18:10:04 2015 +0800 Staging: comedi: addi_apci_1564: Delete a tap Fix the checkpatch.pl WARNING: line over 80 characters Signed-off-by: Charlie Wong Super <1213charlie@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 005b23d6b6e7e798b6799bedffc60f33494058ea Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Apr 1 11:13:03 2015 +0300 staging: lustre: prevent underflows in lnet_parse_reply() I don't know if "hdr->payload_length;" can really be negative, but if so then we shouldn't allow it. Do the comparison as an unsigned. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit faec8ab42b4a0f119a1cfbceef0c14b7b61059cb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Apr 1 11:12:15 2015 +0300 Staging: lustre: integer overflow in ioctl hdr->ioc_len is a user controlled u32 so the addition can overflow, especially on 32 bit systems. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b311ebac5babac7ce2b11e35a1462815580324b8 Author: Achille Aknin <achille.aknin@xxxxxx> Date: Thu Apr 2 16:12:04 2015 +0200 Staging: lustre: brw_test.c: remove unneeded return statement Remove an unneeded return statement in this file Signed-off-by: Achille Aknin <achille.aknin@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62a935b256f68a71697716595347209fb5275426 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Apr 3 10:42:50 2015 +0200 sched/core: Drop debugging leftover trace_printk call Commit: 3c18d447b3b3 ("sched/core: Check for available DL bandwidth in cpuset_cpu_inactive()") forgot a trace_printk() debugging piece in and Steve's banner screamed in dmesg. Remove it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1428050570-21041-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 47091e3c5b072daca29a15d2a3caf40359b0d140 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Apr 3 10:28:34 2015 +0200 x86/asm/entry: Drop now unused ENABLE_INTERRUPTS_SYSEXIT32 Commit: 4214a16b0297 ("x86/asm/entry/64/compat: Use SYSRETL to return from compat mode SYSENTER") removed the last user of ENABLE_INTERRUPTS_SYSEXIT32. Kill the macro now too. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1428049714-829-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4214a16b02971c60960afd675d03544e109e0d75 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Apr 2 17:12:12 2015 -0700 x86/asm/entry/64/compat: Use SYSRETL to return from compat mode SYSENTER SYSEXIT is scary on 64-bit kernels -- SYSEXIT must be invoked with usergs and IRQs on. That means that we rely on STI to correctly mask interrupts for one instruction. This is okay by itself, but the semantics with respect to NMIs are unclear. Avoid the whole issue by using SYSRETL instead. For background, Intel CPUs don't allow SYSCALL from compat mode, but they do allow SYSRETL back to compat mode. Go figure. To avoid doing too much at once, this doesn't revamp the calling convention. We still return with EBP, EDX, and ECX on the user stack. Oddly this seems to be 30 cycles or so faster. Avoiding POPFQ and STI will account for under half of that, I think, so my best guess is that Intel just optimizes SYSRET much better than SYSEXIT. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/57a0bf1b5230b2716a64ebe48e9bc1110f7ab433.1428019097.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 347c6f6dda1098318088feb8e60188f0161e743d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:39:05 2015 +0200 timekeeping: Get rid of stale comment Arch specific management of xtime/jiffies/wall_to_monotonic is gone for quite a while. Zap the stale comment. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Link: http://lkml.kernel.org/r/2422730.dmO29q661S@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a49b116dcb1265f238f3169507424257b0519069 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:38:05 2015 +0200 clockevents: Cleanup dead cpu explicitely clockevents_notify() is a leftover from the early design of the clockevents facility. It's really not a notification mechanism, it's a multiplex call. We are way better off to have explicit calls instead of this monstrosity. Split out the cleanup function for a dead cpu and invoke it directly from the cpu down code. Make it conditional on CPU_HOTPLUG as well. Temporary change, will be refined in the future. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Rebased, added clockevents_notify() removal ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1735025.raBZdQHM3m@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 52c063d1adbc16c76e70fffa20727fcd4e9343b3 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:37:24 2015 +0200 clockevents: Make tick handover explicit clockevents_notify() is a leftover from the early design of the clockevents facility. It's really not a notification mechanism, it's a multiplex call. We are way better off to have explicit calls instead of this monstrosity. Split out the tick_handover call and invoke it explicitely from the hotplug code. Temporary solution will be cleaned up in later patches. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Rebase ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1658173.RkEEILFiQZ@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ffa48c0d76803057ee89bf220305466d74256d7b Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Apr 3 02:36:10 2015 +0200 clockevents: Remove broadcast oneshot control leftovers Now that all users are converted over to explicit calls into the clockevents state machine, remove the notification chain leftovers. Original-from: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Link: http://lkml.kernel.org/r/14018863.NQUzkFuafr@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 335f49196fd6011521f078cb44f445847e5aa183 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:34:49 2015 +0200 sched/idle: Use explicit broadcast oneshot control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/6422336.RMm7oUHcXh@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a0b4122447a3c1a467ce4e4f1bb863e1170394d5 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:32:14 2015 +0200 ARM: Tegra: Use explicit broadcast oneshot control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Link: http://lkml.kernel.org/r/2131111.rjxRLX1eZB@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fb7f0398a98020def9429ddd7b4a8fc2d948b092 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:31:29 2015 +0200 ARM: OMAP: Use explicit broadcast oneshot control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/3123047.uVjevtxDV7@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f6cee191fc6b286f9056a13456c4c8ade0aeb890 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:14:23 2015 +0200 intel_idle: Use explicit broadcast oneshot control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20714596.QMfNNPbuyU@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7815701c5cd7276b712d898b3cf49c55e587dbb1 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:12:03 2015 +0200 ACPI/idle: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2653377.MSAlfA939I@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c79521354e71a1fbcee040ee3147cadc0f8e3c97 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:06:37 2015 +0200 ACPI/PAD: Use explicit broadcast oneshot control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1552509.UntNmyqF5v@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 435c350e8197488f12c97e7df28a9c2199bd1673 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:05:53 2015 +0200 x86/amd/idle, clockevents: Use explicit broadcast oneshot control functions Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8569669.lgxIty9PKW@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1fe5d5c3c9ba0c4ade18e3325cba0ffe35127941 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:05:15 2015 +0200 clockevents: Provide explicit broadcast oneshot control functions clockevents_notify() is a leftover from the early design of the clockevents facility. It's really not a notification mechanism, it's a multiplex call. We are way better off to have explicit calls instead of this monstrosity. Split out the broadcast oneshot control into a separate function and provide inline helpers. Switch clockevents_notify() over. This will go away once all callers are converted. This also gets rid of the nested locking of clockevents_lock and broadcast_lock. The broadcast oneshot control functions do not require clockevents_lock. Only the managing functions (setup/shutdown/suspend/resume of the broadcast device require clockevents_lock. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/13000649.8qZuEDV0OA@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 89feddbfe7023ccfb4a6d7f5e3f5161d91b28b18 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:03:42 2015 +0200 clockevents: Remove the broadcast control leftovers All users converted. Remove the notify leftovers. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2076318.76XJZ8QYP3@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fa8589fe3bfafadd80677c8eabae97dc5dab22c0 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:02:47 2015 +0200 ARM: OMAP: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/2124877.3nbWGILHCV@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76962caa4b691ad09556903602143fc8b16802ae Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:02:34 2015 +0200 intel_idle: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/3878165.rXNXrtVNuy@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ee7a1438b548fb5e206058d6bd0e2a5adf081dbf Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:02:18 2015 +0200 cpuidle: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2106401.cYdJzzA6Ic@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ee41eebf9cef624b2e766a4b8688eeeedb65114c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:02:00 2015 +0200 ACPI/processor: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/25071624.dkenaL3SGT@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 979081e7440056da28b19e57acf20098caf49103 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:01:49 2015 +0200 ACPI/PAD: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1521832.mm0ZfkTzTA@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 162a688e84df49c5bcc855a5e5bf812d0ec89ad5 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:01:28 2015 +0200 x86/amd/idle, clockevents: Use explicit broadcast control function Replace the clockevents_notify() call with an explicit function call. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1528188.S1pjqkSL1P@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 592a438ff3fea61d303c5784c209b3f1fd3e16df Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 02:01:10 2015 +0200 clockevents: Provide explicit broadcast control functions clockevents_notify() is a leftover from the early design of the clockevents facility. It's really not a notification mechanism, it's a multiplex call. We are way better off to have explicit calls instead of this monstrosity. Split out the broadcast control into a separate function and provide inline helpers. Switch clockevents_notify() over. This will go away once all callers are converted. This also gets rid of the nested locking of clockevents_lock and broadcast_lock. The broadcast control functions do not require clockevents_lock. Only the managing functions (setup/shutdown/suspend/resume of the broadcast device require clockevents_lock. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/8086559.ttsuS0n1Xr@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3ff70551a942b4c1d3c2e96e31a5c6e369a6d0be Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Apr 3 01:46:34 2015 +0200 ACPI/PAD: Remove the local APIC nonsense While looking through the (ab)use of the clockevents_notify() function I stumbled over the following gem in the acpi_pad code: if (lapic_detected_unstable && !lapic_marked_unstable) { /* LAPIC could halt in idle, so notify users */ for_each_online_cpu(i) clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ON, &i); lapic_marked_unstable = 1; } This code calls on the cpu which detects the lapic unstable condition first clockevents_notify() to tell the core code that the broadcast should be enabled on all online cpus. Brilliant stuff that as it notifies the core code a num_online_cpus() times that the broadcast should be enabled on the current cpu. This probably has never been noticed because that code got never tested with NOHZ=n and HIGHRES_TIMER=n or it just worked by chance because one of the other mechanisms told the core in the right way that the local apic timer is wreckaged. Sigh, this is: - The 4th incarnation of idle drivers which has their own mechanism to detect and deal with X86_FEATURE_ARAT. - The 2nd incarnation of fake idle mechanisms with a different set of brainmelting bugs. - Has been merged against an explicit NAK of the scheduler maintainer with the promise to improve it over time. - Another example of featuritis driven trainwreck engineering. - Another pointless waste of my time. Fix this nonsense by removing that lapic detection and notification logic and simply call into the clockevents code unconditonally. The ARAT feature is marked in the lapic clockevent already so the core code will just ignore the requests and return. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1887788.RObRuI4tSv@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cf9328cc9989e028fdc64d8c0a7b1b043dc96735 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Apr 2 12:41:45 2015 -0700 x86/asm/entry/32: Stop caching MSR_IA32_SYSENTER_ESP in tss.sp1 We write a stack pointer to MSR_IA32_SYSENTER_ESP exactly once, and we unnecessarily cache the value in tss.sp1. We never read the cached value. Remove all of the caching. It serves no purpose. Suggested-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/05a0163eb33ef5208363f0015496855da7cebadd.1428002830.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ff8287f36381deff729aa4e7b02296a080519fd0 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Apr 2 12:41:44 2015 -0700 x86/asm/entry/32: Improve a TOP_OF_KERNEL_STACK_PADDING comment At Denys' request, clean up the comment describing stack padding in the 32-bit sysenter path. No code changes. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/41fee7bb8490ae840fe7ef2699f9c2feb932e729.1428002830.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5d82d1a785155fe4ff65628a88b677cfacea863b Author: Mark Yao <yzq@xxxxxxxxxxxxxx> Date: Wed Apr 1 13:48:53 2015 +0800 drm/rockchip: vop: add vop power domain support Reference the power domain incase vop power down when in use. Signed-off-by: Mark Yao <yzq@xxxxxxxxxxxxxx> commit b340b3fb71473291ea924a47e0069828c83da729 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Mar 31 18:22:50 2015 +0800 drm: rockchip: Turn off VT switching on suspend drm/rockchip already has support for disabling all displays on suspend and enabling them on resume. Disable automatic VT switching on suspend by the pm console tracking layer. Tested on veyron, used `echo mem > sys/power/state` => verified no VT switch Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> commit d3007dabeff493d82416a7ed69e0ff055a579fa1 Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Fri Jan 30 10:14:17 2015 +0100 drm/rockchip: register all connectors after bind Register connectors with userspace after all components are bound. Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Reviewed-by: Dominik Behr <dbehr@xxxxxxxxxxxx> drm_connector_get_name -> connector->name This patch is necessary to make X11 see screens it seems. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 7f53fbba3cf8db8f584b26e89802413bc2e8d902 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Fri Jan 30 20:28:48 2015 +0100 drm/rockchip: fix clk enable disable mismatch in vop_crtc_mode_set The function disables the dclk at the beginning, so don't simply return when an error happens, but instead enable the clock again, so that enable and disable calls are balanced. ret_clk is introduced to hold the clk_enable result and not mangle the original error code. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 8e56f33f8439b2f8e7f4ae7f3d0bfe683ecc3b09 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Apr 1 20:34:39 2015 -0700 clocksource: Improve comment explaining clocks_calc_max_nsecs()'s 50% safety margin Ingo noted that the description of clocks_calc_max_nsecs()'s 50% safety margin was somewhat circular. So this patch tries to improve the comment to better explain what we mean by the 50% safety margin and why we need it. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-20-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0fa88cb4b82b5cf7429bc1cef9db006ca035754e Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:38 2015 -0700 time, drivers/rtc: Don't bother with rtc_resume() for the nonstop clocksource If a system does not provide a persistent_clock(), the time will be updated on resume by rtc_resume(). With the addition of the non-stop clocksources for suspend timing, those systems set the time on resume in timekeeping_resume(), but may not provide a valid persistent_clock(). This results in the rtc_resume() logic thinking no one has set the time and it then will over-write the suspend time again, which is not necessary and only increases clock error. So, fix this for rtc_resume(). This patch also improves the name of persistent_clock_exist to make it more grammatical. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-19-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 264bb3f79f2a465477cdcd2f0554e21aedc443a3 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:37 2015 -0700 time: Fix a bug in timekeeping_suspend() with no persistent clock When there's no persistent clock, normally timekeeping_suspend_time should always be zero, but this can break in timekeeping_suspend(). At T1, there was a system suspend, so old_delta was assigned T1. After some time, one time adjustment happened, and xtime got the value of T1-dt(0s<dt<2s). Then, there comes another system suspend soon after this adjustment, obviously we will get a small negative delta_delta, resulting in a negative timekeeping_suspend_time. This is problematic, when doing timekeeping_resume() if there is no nonstop clocksource for example, it will hit the else leg and inject the improper sleeptime which is the wrong logic. So, we can solve this problem by only doing delta related code when the persistent clock is existent. Actually the code only makes sense for persistent clock cases. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-18-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 814dcf8ead04f5ebcec74af06c705b207887f0fa Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:36 2015 -0700 drivers/rtc: Remove redundant rtc_valid_tm() from rtc_resume() rtc_read_time() has already judged valid tm by rtc_valid_tm(), so just remove it. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-17-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7f2981393af31a854879f2496cab4c978e886902 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:35 2015 -0700 time: Don't build timekeeping_inject_sleeptime64() if no one uses it timekeeping_inject_sleeptime64() is only used by RTC suspend/resume, so add build dependencies on the necessary RTC related macros. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> [ Improve commit message clarity. ] Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-16-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5312f56e0a67deed5c7d1191140e00b6d367e01 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:34 2015 -0700 alpha, rtc: Change to use rtc_class_ops's set_mmss64() Change alpha_rtc_set_mmss() and remote_set_mmss() to use rtc_class_ops's set_mmss64(), to be y2038 safe. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-15-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 933623c38f014b10db564f0ec44f9db64a5ced84 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:33 2015 -0700 drivers/rtc/mxc: Update driver to address y2038/y2106 issues This driver has a number of y2038/y2106 issues. This patch resolves them by: - Replacing rtc_time_to_tm() with rtc_time64_to_tm() - Replacing rtc_tm_to_time() with rtc_tm_to_time64() - Changing mxc_rtc_set_mmss() to use rtc_class_ops's set_mmss64() After this patch, the driver should not have any remaining y2038/y2106 issues. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-14-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a015b8aabfd2fb58875dea001f1eac8100eacc2e Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:32 2015 -0700 drivers/rtc/mxc: Convert get_alarm_or_time()/set_alarm_or_time() to use time64_t We want to convert mxc_rtc_set_mmss() to use rtc_class_ops's set_mmss64(), but it uses get_alarm_or_time()/set_alarm_or_time() internal interfaces which are y2038 unsafe. So here as a separate patch, it converts these two internal interfaces of "mxc" to use safe time64_t to make some preparations. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-13-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 482494a8d395877c4776a3d76f89342d7ad7c4c6 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:31 2015 -0700 drivers/rtc/mxc: Modify rtc_update_alarm() not to touch the alarm time rtc_class_ops's set_alarm() shouldn't deal with the alarm date, as this is handled in the rtc core. See rtc_dev_ioctl()'s RTC_ALM_SET and RTC_WKALM_SET cases. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-12-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0307b0d77a0830b0fd4a22b5db4a9fa723a5fa5f Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:30 2015 -0700 drivers/rtc/mc13xxx: Update driver to address y2038/y2106 issues This driver has a number of y2038/y2106 issues. This patch resolves them by: - Replacing rtc_time_to_tm() with rtc_time64_to_tm() - Changing mc13xxx_rtc_set_mmss() to use rtc_class_ops's set_mmss64() After this patch, the driver should not have any remaining y2038/y2106 issues. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-11-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5c7e11bc66647f2e4bc95de9b4302fff6d612f3a Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:29 2015 -0700 drivers/rtc/ab3100: Update driver to address y2038/y2106 issues This driver has a number of y2038/y2106 issues. This patch resolves them by: - Replacing rtc_tm_to_time() with rtc_tm_to_time64() - Replacing rtc_time_to_tm() with rtc_time64_to_tm() - Changing ab3100_rtc_set_mmss() to use rtc_class_ops's set_mmss64() After this patch, the driver should not have any remaining y2038/y2106 issues. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-10-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4d644ab84c6ed66f7a628c74d83c34d85bec13bf Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:28 2015 -0700 drivers/rtc/test: Update driver to address y2038/y2106 issues This driver has a number of y2038/y2106 issues. This patch resolves them by: - Replacing get_seconds() with ktime_get_real_seconds() - Replacing rtc_time_to_tm() with rtc_time64_to_tm() Also add test_rtc_set_mmss64() for testing rtc_class_ops's set_mmss64(), which can be activated by "test_mmss64" module parameter. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-9-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8e4ff1a81aa91d12856287c7103d0301ac91351a Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:27 2015 -0700 drivers/rtc: Provide y2038 safe rtc_class_ops.set_mmss() replacement Currently the rtc_class_op's set_mmss() function takes a 32-bit second value (on 32-bit systems), which is problematic for dates past y2038. This patch provides a safe version named set_mmss64() using y2038 safe time64_t. After this patch, set_mmss() is deprecated and all its users will be fixed to use set_mmss64(), it can be removed when having no users. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> [jstultz: Add whitespace fix for checkpatch] Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-8-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cb850717b076d979058d52529e15f1736359d811 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:26 2015 -0700 ARM, clocksource/drivers: Provide read_boot_clock64() and read_persistent_clock64() and use them As part of addressing "y2038 problem" for in-kernel uses, this patch converts read_boot_clock() to read_boot_clock64() and read_persistent_clock() to read_persistent_clock64() using timespec64 by converting clock_access_fn to use timespec64. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> (for tegra part) Cc: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-7-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a0c2998f918e7e597d3c686c5f3d5a30d0382dd6 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:25 2015 -0700 clocksource/drivers/tegra: Provide y2038-safe tegra_read_persistent_clock() replacement As part of addressing "y2038 problem" for in-kernel uses, this patch adds the y2038-safe tegra_read_persistent_clock64() using timespec64. Because we rely on some subsequent changes to convert arm multiarch support, tegra_read_persistent_clock() will be removed then. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-6-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a451570c008b9e19592e29f15cfd295bdf818c7a Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:24 2015 -0700 ARM: OMAP: 32k counter: Provide y2038-safe omap_read_persistent_clock() replacement As part of addressing "y2038 problem" for in-kernel uses, this patch adds the y2038-safe omap_read_persistent_clock64() using timespec64. Because we rely on some subsequent changes to convert arm multiarch support, omap_read_persistent_clock() will be removed then. Also remove the needless spinlock, because read_persistent_clock() doesn't run simultaneously. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-5-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3c00a1fe8496ff29ab62764bb3f4ce4b48089004 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:23 2015 -0700 time: Add y2038 safe update_persistent_clock64() As part of addressing in-kernel y2038 issues, this patch adds update_persistent_clock64() and replaces all the call sites of update_persistent_clock() with this function. This is a __weak implementation, which simply calls the existing y2038 unsafe update_persistent_clock(). This allows architecture specific implementations to be converted independently, and eventually y2038-unsafe update_persistent_clock() can be removed after all its architecture specific implementations have been converted to update_persistent_clock64(). Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-4-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2ee966320028ac846654eba5344540eeb4dc228d Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:22 2015 -0700 time: Add y2038 safe read_persistent_clock64() As part of addressing in-kernel y2038 issues, this patch adds read_persistent_clock64() and replaces all the call sites of read_persistent_clock() with this function. This is a __weak implementation, which simply calls the existing y2038 unsafe read_persistent_clock(). This allows architecture specific implementations to be converted independently, and eventually the y2038 unsafe read_persistent_clock() can be removed after all its architecture specific implementations have been converted to read_persistent_clock64(). Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-3-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a806ddbb9a18c510e4acdcc828b9a87f5fd3aef Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Wed Apr 1 20:34:21 2015 -0700 time: Add y2038 safe read_boot_clock64() As part of addressing in-kernel y2038 issues, this patch adds read_boot_clock64() and replaces all the call sites of read_boot_clock() with this function. This is a __weak implementation, which simply calls the existing y2038 unsafe read_boot_clock(). This allows architecture specific implementations to be converted independently, and eventually the y2038 unsafe read_boot_clock() can be removed after all its architecture specific implementations have been converted to read_boot_clock64(). Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427945681-29972-2-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6645f3187f5beb64f7a40515cfa18f3889264ece Merge: 2e54a5b bd05954 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Apr 3 07:00:02 2015 +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: - Support unnamed union/structure members data collection in 'perf probe'. (Masami Hiramatsu) - Support missing -f to override perf.data file ownership. (Yunlong Song) Infrastructure changes: - No need to lookup thread twice when processing samples in 'perf script'. (Arnaldo Carvalho de Melo) - No need to pass thread twice to the scripting callbacks. (Arnaldo Carvalho de Melo) - No need to pass thread twice to the db-export facility. (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d9dc64f30abe42f71bc7e9eb9d38c41006cf39f9 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Jan 27 09:53:51 2015 -0700 x86/asm: Add support for the CLWB instruction Add support for the new CLWB (cache line write back) instruction. This instruction was announced in the document "Intel Architecture Instruction Set Extensions Programming Reference" with reference number 319433-022. https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf The CLWB instruction is used to write back the contents of dirtied cache lines to memory without evicting the cache lines from the processor's cache hierarchy. This should be used in favor of clflushopt or clflush in cases where you require the cache line to be written to memory but plan to access the data again in the near future. One of the main use cases for this is with persistent memory where CLWB can be used with PCOMMIT to ensure that data has been accepted to memory and is durable on the DIMM. This function shows how to properly use CLWB/CLFLUSHOPT/CLFLUSH and PCOMMIT with appropriate fencing: void flush_and_commit_buffer(void *vaddr, unsigned int size) { void *vend = vaddr + size - 1; for (; vaddr < vend; vaddr += boot_cpu_data.x86_clflush_size) clwb(vaddr); /* Flush any possible final partial cacheline */ clwb(vend); /* * Use SFENCE to order CLWB/CLFLUSHOPT/CLFLUSH cache flushes. * (MFENCE via mb() also works) */ wmb(); /* PCOMMIT and the required SFENCE for ordering */ pcommit_sfence(); } After this function completes the data pointed to by vaddr is has been accepted to memory and will be durable if the vaddr points to persistent memory. Regarding the details of how the alternatives assembly is set up, we need one additional byte at the beginning of the CLFLUSH so that we can flip it into a CLFLUSHOPT by changing that byte into a 0x66 prefix. Two options are to either insert a 1 byte ASM_NOP1, or to add a 1 byte NOP_DS_PREFIX. Both have no functional effect with the plain CLFLUSH, but I've been told that executing a CLFLUSH + prefix should be faster than executing a CLFLUSH + NOP. We had to hard code the assembly for CLWB because, lacking the ability to assemble the CLWB instruction itself, the next closest thing is to have an xsaveopt instruction with a 0x66 prefix. Unfortunately XSAVEOPT itself is also relatively new, and isn't included by all the GCC versions that the kernel needs to support. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422377631-8986-3-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9d21c9fa2cc24e2a195a79c27b6550e1a96051a4 Author: Eric Whitney <enwlinux@xxxxxxxxx> Date: Fri Apr 3 00:17:31 2015 -0400 ext4: don't release reserved space for previously allocated cluster When xfstests' auto group is run on a bigalloc filesystem with a 4.0-rc3 kernel, e2fsck failures and kernel warnings occur for some tests. e2fsck reports incorrect iblocks values, and the warnings indicate that the space reserved for delayed allocation is being overdrawn at allocation time. Some of these errors occur because the reserved space is incorrectly decreased by one cluster when ext4_ext_map_blocks satisfies an allocation request by mapping an unused portion of a previously allocated cluster. Because a cluster's worth of reserved space was already released when it was first allocated, it should not be released again. This patch appears to correct the e2fsck failure reported for generic/232 and the kernel warnings produced by ext4/001, generic/009, and generic/033. Failures and warnings for some other tests remain to be addressed. Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 94426f4b9648154dc5a6760b59e6953e640ab3b1 Author: Eric Whitney <enwlinux@xxxxxxxxx> Date: Fri Apr 3 00:13:42 2015 -0400 ext4: fix loss of delalloc extent info in ext4_zero_range() In ext4_zero_range(), removing a file's entire block range from the extent status tree removes all records of that file's delalloc extents. The delalloc accounting code uses this information, and its loss can then lead to accounting errors and kernel warnings at writeback time and subsequent file system damage. This is most noticeable on bigalloc file systems where code in ext4_ext_map_blocks() handles cases where delalloc extents share clusters with a newly allocated extent. Because we're not deleting a block range and are correctly updating the status of its associated extent, there is no need to remove anything from the extent status tree. When this patch is combined with an unrelated bug fix for ext4_zero_range(), kernel warnings and e2fsck errors reported during xfstests runs on bigalloc filesystems are greatly reduced without introducing regressions on other xfstests-bld test scenarios. Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 0f2af21aae11972fa924374ddcf52e88347cf5a8 Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Fri Apr 3 00:09:13 2015 -0400 ext4: allocate entire range in zero range Currently there is a bug in zero range code which causes zero range calls to only allocate block aligned portion of the range, while ignoring the rest in some cases. In some cases, namely if the end of the range is past i_size, we do attempt to preallocate the last nonaligned block. However this might cause kernel to BUG() in some carefully designed zero range requests on setups where page size > block size. Fix this problem by first preallocating the entire range, including the nonaligned edges and converting the written extents to unwritten in the next step. This approach will also give us the advantage of having the range to be as linearly contiguous as possible. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit a5562f65b1371a0988b707c10c44fcc2bba56990 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed May 15 11:36:56 2013 -0300 [media] v4l: xilinx: Add Test Pattern Generator driver The TPG generates multiple static or dynamic test patterns. The driver currently hardcodes the pattern to the moving box pattern. Signed-off-by: Christian Kohn <christian.kohn@xxxxxxxxxx> Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5a4f3145aa685ddc2caf424763d42d3eaaebbc6f Author: Maurizio Lombardi <mlombard@xxxxxxxxxx> Date: Fri Apr 3 00:02:53 2015 -0400 ext4: remove unnecessary lock/unlock of i_block_reservation_lock This is a leftover of commit 71d4f7d032149b935a26eb3ff85c6c837f3714e1 Signed-off-by: Maurizio Lombardi <mlombard@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx> commit 40ac9b196d07813132e2d5a14aae40d5812f131e Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Mar 26 11:46:25 2014 -0300 [media] v4l: xilinx: Add Video Timing Controller driver The Video Timing Controller (VTC) includes a timing detector and/or a timing generator. Only the generator is currently supported. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit df3305156f989339529b3d6744b898d498fb1f7b Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed May 15 11:36:19 2013 -0300 [media] v4l: xilinx: Add Xilinx Video IP core Xilinx platforms have no hardwired video capture or video processing interface. Users create capture and memory to memory processing pipelines in the FPGA fabric to suit their particular needs, by instantiating video IP cores from a large library. The Xilinx Video IP core is a framework that models a video pipeline described in the device tree and expose the pipeline to userspace through the media controller and V4L2 APIs. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Signed-off-by: Radhey Shyam Pandey <radheys@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 08439fec266c3cc5702953b4f54bdf5649357de0 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Apr 2 23:56:32 2015 -0400 ext4: remove block_device_ejected bdi->dev now never goes away, so this function became useless. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 5f80f62adae2a2920781a847805d34b36b323f7d Author: Wei Yuan <weiyuan.wei@xxxxxxxxxx> Date: Thu Apr 2 23:50:48 2015 -0400 ext4: remove useless condition in if statement. In this if statement, the previous condition is useless, the later one has covered it. Signed-off-by: Weiyuan <weiyuan.wei@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx> commit c9bca8b33118573da9b7ac2ea21947a8e4d287dd Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Fri May 17 07:31:04 2013 -0300 [media] v4l: of: Add v4l2_of_parse_link() function The function fills a link data structure with the device node and port number at both the local and remote ends of a link defined by one of its endpoint nodes. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2dca0551e4e2f3fc2b9beee784c7071e1e79c14b Author: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Date: Tue Mar 18 13:18:15 2014 -0300 [media] v4l: Add VUY8 24 bits bus format Add VUY8 24 bits bus format, V4L2_MBUS_FMT_VUY8_1X24. Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e8b2d7a565ae4fc8627ffe35b953062ff6119533 Author: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Date: Tue Mar 18 13:18:14 2014 -0300 [media] v4l: Sort YUV formats of v4l2_mbus_pixelcode Keep the formats sorted by type, bus_width, bits per component, samples per pixel and order of subsamples, in that order. Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 72b8e0f9fa8aee7e623808af1a5f33b70ebcb2c7 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Thu Apr 2 23:47:42 2015 -0400 ext4: remove unused header files Remove unused header files and header files which are included in ext4.h. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 7b0fd4568bee379474eb0d989ef1125064f19fa7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed May 15 11:34:26 2013 -0300 [media] v4l: Add RBG and RGB 8:8:8 media bus formats on 24 and 32 bit busses Add support and documentation for two media bus formats: MEDIA_BUS_FMT_RBG888_1X24 and MEDIA_BUS_FMT_RGB888_1X32_PADHI Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5a5394be30dd9725351cdd0f923c1e374dc140cc Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Mar 26 00:01:44 2014 -0300 [media] media: entity: Document the media_entity_ops structure Currently, there's no documentation for the structure. Add a kernel-doc nano documentation to it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 08569d6477d76e2fc8fdd41cfb0ce02f59333c69 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:03 2015 -0300 [media] cx18: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 38a1421ddd68edecb53e6dd16bae3a4b089fa1cf Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 30 04:53:11 2015 -0300 [media] ivtv: disable fbuf support if ivtvfb isn't loaded Disable all fbuf-related functionality if ivtvfb isn't loaded. This caused various v4l2-compliance failures. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bbc9fa2ece0f2bb1db9b195d7a6ac88468cd45d4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 30 13:54:13 2015 -0300 [media] ivtv: replace crop by selection Replace the old g/s_crop ioctls by the new g/s_selection ioctls. This solves a v4l2-compliance failure, and it is something that needs to be done anyway to eventually be able to remove the old g/s_crop ioctl ops. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4db4ca7450f97c300ebf74f5dca69015ad0d5ed3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:04 2015 -0300 [media] sta2x11: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Federico Vaga <federico.vaga@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d079f99f00f75065feb0c33cd7c7b8e4d224d3c9 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Mon Mar 9 19:10:51 2015 -0300 [media] media: sh_vou: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. 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 afd270d1a45043cef14341bcceff62ed50e8dc9a Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Fri Mar 27 19:39:09 2015 -0300 [media] usbvision: fix leak of usb_dev on failure paths in usbvision_probe() There is no usb_put_dev() on failure paths in usbvision_probe(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cc7d2dfb75b3ac0f248801ceed65f69465eb0389 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 15 14:30:25 2015 -0300 [media] v4l2_plane_pix_format: use __u32 bytesperline instead of __u16 While running v4l2-compliance tests on vivid I suddenly got errors due to a call to vmalloc_user with size 0 from vb2. Digging deeper into the cause I discovered that this was due to the fact that struct v4l2_plane_pix_format defines bytesperline as a __u16 instead of a __u32. The test I was running selected a format of 4 * 4096 by 4 * 2048 with a 32 bit pixelformat. So bytesperline was 4 * 4 * 4096 = 65536, which becomes 0 in a __u16. And bytesperline * height is suddenly 0 as well. While the vivid driver may be a virtual driver, it is to be expected that this limit will be hit for real hardware as well in the near future: 8k deep-color video will already reach it. The solution is to change the type to __u32. The only drivers besides vivid that use the multiplanar API are little-endian ARM and SH platforms (exynos, ti-vpe, vsp1), so this is safe. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 03c278f01d70ce168a24f85a08e11636df30f580 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Tue Mar 10 14:53:05 2015 -0300 [media] media: davinci: vpfe_capture: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. 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 60acf187681aa61f339030540aef74e4d0db875e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:13 2015 -0300 [media] cx231xx: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2aa689dd80575606a569951467eee6ac98710d33 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:12 2015 -0300 [media] usbvision: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 65b88c0be1f3fff0c652db19d5e13d8448764cf5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:10 2015 -0300 [media] tm6000: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4b30409b1b77975ed6197e3494662eedc7a1e26f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:09 2015 -0300 [media] hdpvr: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dbe98b30d3a0d703369fef9712482e12fc685805 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:08 2015 -0300 [media] gadget/uvc: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cab9bf11f8ef433151a15b9519e3e0a56302c9a4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:07 2015 -0300 [media] wl128x: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 650e629bf7a782ce3c646f12a0ec381147b2c9b9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:05 2015 -0300 [media] m2m-deinterlace: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Javier Martin <javier.martin@xxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e239129ca7c5aa1791fa66528bfdd43854cf0d48 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:34:01 2015 -0300 [media] meye: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f91fccde35cd41b085756b134d94b6f87ed1c94e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:33:59 2015 -0300 [media] dt3155v4l: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 54ad7b9d427e62f21138aacf92f8d7585344f6df Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:33:58 2015 -0300 [media] radio-bcm2048: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3ae863e0db47ae7815f9e52975e1fddfca59520a Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:33:57 2015 -0300 [media] saa7146: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 093654201e209b2a1aa59bd6c0bc1e33c1f6c4d2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:33:56 2015 -0300 [media] vim2m: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 635d62f073247e71b51167a01b84f08ff4ca000c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 13:33:55 2015 -0300 [media] ivtv: embed video_device Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0c56fe31420ca599c90240315f7959bf1b4eb6ce Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Jan 5 13:38:04 2015 -0600 mnt: Don't propagate unmounts to locked mounts If the first mount in shared subtree is locked don't unmount the shared subtree. This is ensured by walking through the mounts parents before children and marking a mount as unmountable if it is not locked or it is locked but it's parent is marked. This allows recursive mount detach to propagate through a set of mounts when unmounting them would not reveal what is under any locked mount. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 5d88457eb5b86b475422dc882f089203faaeedb5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Jan 3 05:39:35 2015 -0600 mnt: On an unmount propagate clearing of MNT_LOCKED A prerequisite of calling umount_tree is that the point where the tree is mounted at is valid to unmount. If we are propagating the effect of the unmount clear MNT_LOCKED in every instance where the same filesystem is mounted on the same mountpoint in the mount tree, as we know (by virtue of the fact that umount_tree was called) that it is safe to reveal what is at that mountpoint. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 411a938b5abc9cb126c41cccf5975ae464fe0f3e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Dec 22 19:12:07 2014 -0600 mnt: Delay removal from the mount hash. - Modify __lookup_mnt_hash_last to ignore mounts that have MNT_UMOUNTED set. - Don't remove mounts from the mount hash table in propogate_umount - Don't remove mounts from the mount hash table in umount_tree before the entire list of mounts to be umounted is selected. - Remove mounts from the mount hash table as the last thing that happens in the case where a mount has a parent in umount_tree. Mounts without parents are not hashed (by definition). This paves the way for delaying removal from the mount hash table even farther and fixing the MNT_LOCKED vs MNT_DETACH issue. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 590ce4bcbfb4e0462a720a4ad901e84416080bba Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Dec 22 18:30:08 2014 -0600 mnt: Add MNT_UMOUNT flag In some instances it is necessary to know if the the unmounting process has begun on a mount. Add MNT_UMOUNT to make that reliably testable. This fix gets used in fixing locked mounts in MNT_DETACH Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit c003b26ff98ca04a180ff34c38c007a3998d62f9 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Dec 18 13:10:48 2014 -0600 mnt: In umount_tree reuse mnt_list instead of mnt_hash umount_tree builds a list of mounts that need to be unmounted. Utilize mnt_list for this purpose instead of mnt_hash. This begins to allow keeping a mount on the mnt_hash after it is unmounted, which is necessary for a properly functioning MNT_LOCKED implementation. The fact that mnt_list is an ordinary list makding available list_move is nice bonus. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 8318e667f176f7ea34451a1a530634e293f216ac Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Dec 24 07:35:10 2014 -0600 mnt: Don't propagate umounts in __detach_mounts Invoking mount propagation from __detach_mounts is inefficient and wrong. It is inefficient because __detach_mounts already walks the list of mounts that where something needs to be done, and mount propagation walks some subset of those mounts again. It is actively wrong because if the dentry that is passed to __detach_mounts is not part of the path to a mount that mount should not be affected. change_mnt_propagation(p,MS_PRIVATE) modifies the mount propagation tree of a master mount so it's slaves are connected to another master if possible. Which means even removing a mount from the middle of a mount tree with __detach_mounts will not deprive any mount propagated mount events. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit e819f152104c9f7c9fe50e1aecce6f5d4bf06d65 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Dec 24 07:20:01 2014 -0600 mnt: Improve the umount_tree flags - Remove the unneeded declaration from pnode.h - Mark umount_tree static as it has no callers outside of namespace.c - Define an enumeration of umount_tree's flags. - Pass umount_tree's flags in by name This removes the magic numbers 0, 1 and 2 making the code a little clearer and makes it possible for there to be lazy unmounts that don't propagate. Which is what __detach_mounts actually wants for example. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit a3b3c5627c8301ac850962b04f645dfab81e6a60 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Apr 2 20:33:53 2015 -0500 mnt: Use hlist_move_list in namespace_unlock Small cleanup to make the code more readable and maintainable. Signed-off-by: Eric Biederman <ebiederm@xxxxxxxxxxxx> commit b3226f961aa91eb94971939400c7506e7dcc86c0 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Mar 24 09:40:58 2015 -0300 [media] ts2020: do not use i2c_transfer() on sleep() There is no need to use bulk i2c_transfer() to write single register. Use write register function instead. Tested-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ce0b065a7cc3cad8e974f1e8a5bead61563a3885 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 20:35:57 2015 -0300 [media] m88ts2022: remove obsolete driver This driver was replaced by ts2020 driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0fecb6c0944f841561067a2b7ae8738602f48cdb Author: Antti Palosaari <crope@xxxxxx> Date: Sun Mar 29 19:28:39 2015 -0300 [media] dw2102: switch ts2022 to ts2020 driver Change ts2022 driver to ts2020 driver. ts2020 driver supports both tuner chip models. That affects TechnoTrend TT-connect S2-4600 DVB-S/S2 device, which Olli just added. Cc: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f31a6386000eb1459e89099867723e9bcc513fd6 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 20:32:39 2015 -0300 [media] dvbsky: switch ts2022 to ts2020 driver Change ts2022 driver to ts2020 driver. ts2020 driver supports both tuner chip models. Cc: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2ad8dd417a6af899d6298869bf6d2f76b1eab6a6 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 20:22:28 2015 -0300 [media] smipcie: switch ts2022 to ts2020 driver Change ts2022 driver to ts2020 driver. ts2020 driver supports both tuner chip models. Cc: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d76e08784cb8c08669613b6c1103452b5e4094c0 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 18:52:46 2015 -0300 [media] cx23885: switch ts2022 to ts2020 driver Change ts2022 driver to ts2020 driver. ts2020 driver supports both chip models. Cc: Olli Salonen <olli.salonen@xxxxxx> Cc: Nibble Max <nibble.max@xxxxxxxxx> Tested-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 83c1b6ce7562efe157faac04d388144e1fd3c053 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 18:33:29 2015 -0300 [media] em28xx: switch PCTV 461e to ts2020 driver Change ts2022 driver to ts2020 driver as ts2020 driver now supports both models. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dc245a5f9b5163511e0c164c8aa47848f07b75a9 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 18:26:55 2015 -0300 [media] ts2020: implement I2C client bindings Implement I2C binding model. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit abd9025b95619c02f83583c9659298bc65dcdf50 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 23 14:14:40 2015 -0300 [media] ts2020: add support for TS2022 TS2022 is slightly newer and different version of same tuner, which could be supported with rather small changes. Tuner type is auto-detected. Tested-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 27254c36346b8c3990f4951c39afc495c7c2c2ad Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Mar 16 14:22:18 2015 -0300 [media] dw2102: TechnoTrend TT-connect S2-4600 DVB-S/S2 tuner TechnoTrend TT-connect S2-4600 is a USB2.0 DVB-S/S2 tuner using the popular Montage M88DS3103/M88TS2022 demod/tuner. The demodulator needs a firmware. Antti posted a firmware when releasing support for PCTV 461e, available here: http://palosaari.fi/linux/v4l-dvb/firmware/M88DS3103/ Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 70769b24d2973428907de3429dd2a5792e4ce317 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Mar 16 14:14:05 2015 -0300 [media] dw2102: store i2c client for tuner into dw2102_state Prepare the dw2102 driver for tuner drivers that are implemented as I2C drivers (such as m88ts2022). The I2C client is stored in to the state and released at disconnect. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2c4ffe27d0a45b50ee1c7ed4da37409098483fcd Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Mar 16 14:14:04 2015 -0300 [media] dw2102: combine su3000_state and s6x0_state into dw2102_state Two separate state structs are defined for different devices inside the dw2102. Combine them, as both only contain one element. This will also make it easier to further cleanup the driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 67e6590aa9384f87492e20f78a5943718baa695b Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Mar 20 10:37:38 2015 -0300 [media] m88ts2022: Nested loops shouldn't use the same index variable There are a pair of nested loops inside m88ts2022_cmd() that use the same index variable, but for different things. Split the variable. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0fd68f2f7aee2343f2396188362ba41447d8004f Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Mon Mar 9 20:44:40 2015 -0300 [media] smiapp: Clean up smiapp_get_pdata() Don't set rval when it's not used (the function returns a pointer to struct smiapp_platform_data). Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c4c0283ab3cd78f8c53e708f8e75e8ed80468a31 Author: Benoit Parrot <bparrot@xxxxxx> Date: Fri Mar 20 18:03:52 2015 -0300 [media] media: i2c: add support for omnivision's ov2659 sensor this patch adds support for omnivision's ov2659 sensor, the driver supports following features: 1: Asynchronous probing 2: DT support 3: Media controller support Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d16cae25cba9372fb504ba1c024b775cbbe62618 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 22 15:35:56 2015 -0300 [media] DocBook media: fix broken EIA hyperlink This fixes the bibliography hyperlink to "http://www.eia.org" which now redirects to a page with a "404 Not found" error. The latest update to the document referred to is now available on the Consumer Electronics Association website. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 924b34ea48252cdf258aec759638b61c7d82f282 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 20 14:05:02 2015 -0300 [media] DocBook media: improve V4L2_DV_FL_HALF_LINE documentation Explicitly specify where the half-line is added or removed in each field. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e202e515b7278e4b418df3ceafae3fdd2bd31128 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 20 13:23:06 2015 -0300 [media] vivid-tpg.c: fix wrong Bt.2020 coefficients Mistyping 0.2627 as 0.2726 I can understand, but -0.4598 as -0.4629? No idea how I managed that. Anyway, these coefficients are now correct again. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 486e56be5274848fb1adc68a39a5b4e69cab8ca8 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Mar 19 11:31:10 2015 -0300 [media] DocBook media: fix BT.2020 description One number was wrong (0.6789 -> 0.6780) and Y' should have been Yc'. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b766586b1a87c5417ee6d1f3806f06ccfc335277 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Mar 18 07:05:31 2015 -0300 [media] DocBook media: improve event documentation It always annoyed me that the event type documentation was separate from the struct v4l2_event documentation. This patch moves it all to one place, VIDIOC_DQEVENT. This makes much more sense. Also changed the 'changes-flags' ref to 'ctrl-changes-flags' since this referred to control changes. There is a src-changes-flags as well, so 'changes-flags' was a bit vague. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9a68c9fa760c958653def811ed7257e3e9bb2ee5 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Mon Mar 9 18:46:32 2015 -0300 [media] smiapp: Read link-frequencies property from the endpoint node The documentation stated that the link-frequencies property belongs to the endpoint node, not to the device's of_node. Fix this. There are no DT board descriptions using the driver yet, so a fix in the driver is sufficient. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0aa83bb1814e64bfc744abb6bae85e264edee4ef Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sat Mar 21 07:18:07 2015 -0300 [media] mn88473: implement lock for all delivery systems Add capability to check if digital TV has lock for all delivery systems. Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d73ab406137fb137f1ac56ed43cfb8a151179940 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 16 19:01:53 2015 -0300 [media] mn88472: define symbol rate limits w_scan complains about missing symbol rate limits: This dvb driver is *buggy*: the symbol rate limits are undefined - please report to linuxtv.org Lets add some reasonable limits in order to keep w_scan happy :) Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8459e41da53b48e9b5f92312f27e07a67ea6b27a Author: Antti Palosaari <crope@xxxxxx> Date: Mon Mar 16 18:56:21 2015 -0300 [media] mn88473: define symbol rate limits w_scan complains about missing symbol rate limits: This dvb driver is *buggy*: the symbol rate limits are undefined - please report to linuxtv.org Lets add some reasonable limits in order to keep w_scan happy :) Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4752eb273133778816e7affe6c8381712f363c50 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:54 2015 -0300 [media] mn88472: check if firmware is already running before loading it Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 567627bfb2b5837315fe467e52c1bbca634acc00 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:53 2015 -0300 [media] mn88473: check if firmware is already running before loading it Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0f21ac7f92e8a014a3c653337fbae7af4c240c3a Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:52 2015 -0300 [media] mn88473: implement firmware parity check Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 307e95c92257fe2602b457ab6df56d9ef9a7444e Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:51 2015 -0300 [media] mn88472: implement firmware parity check Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7ba0c47c34a1ea5bc7a24ca67309996cce0569b5 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Mar 31 11:01:47 2015 -0700 ip6mr: call del_timer_sync() in ip6mr_free_table() We need to wait for the flying timers, since we are going to free the mrtable right after it. Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 419df12fb5fa558451319276838c1842f2b11f8f Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Mar 31 11:01:46 2015 -0700 net: move fib_rules_unregister() under rtnl lock We have to hold rtnl lock for fib_rules_unregister() otherwise the following race could happen: fib_rules_unregister(): fib_nl_delrule(): ... ... ... ops = lookup_rules_ops(); list_del_rcu(&ops->list); list_for_each_entry(ops->rules) { fib_rules_cleanup_ops(ops); ... list_del_rcu(); list_del_rcu(); } Note, net->rules_mod_lock is actually not needed at all, either upper layer netns code or rtnl lock guarantees we are safe. Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed785309c94445dd90e242370e1f7bb034e008fd Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Mar 31 11:01:45 2015 -0700 ipv4: take rtnl_lock and mark mrt table as freed on namespace cleanup This is the IPv4 part for commit 905a6f96a1b1 (ipv6: take rtnl_lock and mark mrt6 table as freed on namespace cleanup). Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba6d6d8a06c323782badf8cbead6e4ec1c742235 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:50 2015 -0300 [media] mn88472: implement lock for all delivery systems The increase of the lock timeout is needed for dvb-t2. Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 46cf7074828e148bdc9112d0f81bab2dfcbefe62 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:48 2015 -0300 [media] rtl28xxu: lower the rc poll time to mitigate i2c transfer errors The Astrometa device has issues with i2c transfers. Lowering the poll time somehow makes these errors disappear. Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b91bfcda45a984288f5977b3574aca56eee6f2e4 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:47 2015 -0300 [media] r820t: change read_gain() code to match register layout Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7b7ef4b4a5997229a42c02435e1775623e4ab379 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Sun Mar 15 19:57:46 2015 -0300 [media] r820t: add DVBC profile in sysfreq_sel This will make the Astrometa DVB-T/T2/C usb stick be able to pick up muxes around 290-314 MHz. Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f2272e1347c452fb6cc4cb6eeea8b7266cc87ae5 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jan 1 14:40:35 2014 -0300 [media] v4l: mt9v032: Add OF support Parse DT properties into a platform data structure when a DT node is available. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5888f9df0dcd5eb3479345301e0a35a19fcb52a9 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Mar 12 20:53:51 2015 -0300 [media] of: Add vendor prefix for Aptina Imaging Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2d01209fd2d96cb9cd07b5c353efc47b525d71dc Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jan 1 14:40:35 2014 -0300 [media] v4l: mt9v032: Consider control initialization errors as fatal The device requires control to be properly operated, they're not optional. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7c3be9f812be6c2466ecb705200fc13cc34caa9c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Sep 20 18:38:56 2014 -0300 [media] v4l: mt9p031: Convert to the gpiod API This simplifies platform data and DT integration. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reviewed-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9012d0888c8fc473d5760f2367b002dfddee80f9 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Fri Feb 27 13:10:19 2015 -0300 [media] media: i2c: mt9p031: add support for asynchronous probing Both synchronous and asynchronous mt9p031 subdevice probing is supported by this patch. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 15af4a532f7fb21f7e02973a4829735ce13190c0 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Thu Feb 26 15:05:38 2015 -0300 [media] media: i2c: mt9p031: make sure we destroy the mutex Make sure to call mutex_destroy() in case of probe failure or module unload. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 198b47ddd23498cd88f4ec2c2a050eb727cc357c Author: Enrico Scholz <enrico.scholz@xxxxxxxxxxxxxxxxx> Date: Wed Feb 4 11:53:32 2015 -0300 [media] mt9p031: fixed calculation of clk_div There must be used 'min_t', not 'max_t' for calculating the divider. Signed-off-by: Enrico Scholz <enrico.scholz@xxxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8f778bbc542ddf8f6243b21d6aca087e709cabdc Merge: 4e8a483 51b52fa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:18:57 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "One drm core fix, one exynos regression fix, two sets of radeon fixes (Alex was a bit behind last week), and two i915 fixes. Nothing too serious we seem to have calmed down i915 since last week" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/radeon: fix wait in radeon_mn_invalidate_range_start drm/radeon: add extra check in radeon_ttm_tt_unpin_userptr drm: Exynos: Respect framebuffer pitch for FIMD/Mixer drm/i915: Reject the colorkey ioctls for primary and cursor planes drm/i915: Skip allocating shadow batch for 0-length batches drm/radeon: programm the VCE fw BAR as well drm/radeon: always dump the ring content if it's available radeon: Do not directly dereference pointers to BIOS area. drm/radeon/dpm: fix 120hz handling harder drm/edid: set ELD for firmware and debugfs override EDIDs commit ac0eb4809e88357b885c72b4e95def98235613c8 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Mar 3 08:08:42 2015 -0300 [media] staging: media: omap4iss: video: Don't WARN() on unknown pixel formats When mapping from a V4L2 pixel format to a media bus format in the VIDIOC_TRY_FMT and VIDIOC_S_FMT handlers, the requested format may be unsupported by the driver. Return a hardcoded default format instead of WARN()ing in that case. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9d9104fb9db90f7d806b1f0ba270c209b8d4fa25 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Dec 11 10:23:57 2014 -0300 [media] staging: media: omap4iss: Cleanup media entities after unregistration The ipipeif, ipipe and resizer media entities are cleaned up before unregistering the media device, creating a race condition. Fix it by cleaning them up at cleanup time. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e831cd251fb91d6c25352d322743db0d17ea11dd Author: Florian Echtler <floe@xxxxxxxxxxxxxx> Date: Mon Mar 16 06:48:23 2015 -0300 [media] add raw video stream support for Samsung SUR40 This patch adds raw video support for the Samsung SUR40 using vbuf2-dma-sg. All tests from v4l2-compliance pass. Support for VB2_USERPTR is currently disabled due to unexpected interference with dma-sg buffer sizes. Signed-off-by: Florian Echtler <floe@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: fix compile warning: %ld -> %zd] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5f853487328ba4d9d99d5be4900d804b1fdf1f15 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 15 17:54:30 2015 -0300 [media] DocBook media: fix awkward language in VIDIOC_QUERYCAP Fix some awkward language in the VIDIOC_QUERYCAP description. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3c828ff8965630c757cceab8acfac060aa4da69f Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 15 17:51:54 2015 -0300 [media] DocBook media: fix VIDIOC_CROPCAP type description The type field of VIDIOC_CROPCAP does not allow the MPLANE variants, just as all the other crop/selection related ioctls. Fix the description of CROPCAP and G_CROP and make the text describing this consistent for all selection ioctls. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 82bdb26abcae2988c74be29203caf23dabbe4be3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 15 13:40:04 2015 -0300 [media] vivid: sanitize selection rectangle Handle values like ~0 as width, height, left or top fields. Just strip off the top 16 bits will ensure that the calculations remain OK. Found with v4l2-compliance. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 29813a6f34042da13d201694964d9dea3d4658ef Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 13 13:22:07 2015 -0300 [media] vivid: report only one frameinterval The vivid driver reports a range of frame intervals for non-webcams, when in fact the frame interval is fixed for those inputs as it depends on the DV timings or standard. Just report the single discrete frame interval instead. Caught by v4l2-compliance. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1bd0835a27a8651c0a2a06415a64fdab161cbeba Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Mar 14 09:35:23 2015 -0300 [media] vivid: allow s_dv_timings if it is the same as the current Allow setting the same timings as the current timings (i.e., do nothing in that case). The code was actually there, but the vb2_is_busy() call was done before the timings check instead of afterwards. Found by v4l2-compliance. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 02aa769d9fa12d51213e7b1db34bb9b200a967a3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 14 08:01:50 2015 -0300 [media] vivid: add support for 8-bit Bayer formats Add support for: PIX_FMT_SBGGR8, SGBRG8, SGRBG8 and SRGGB8. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 87c674e24362cf0f8d5b70d2e20f6160045fd753 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 07:41:05 2015 -0300 [media] vivid: use v4l2_device.release to clean up the driver Use the release callback of the v4l2_device to clean up the memory. This prevents vivid from breaking if someone tries to unbind the driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f46d740fb0258982f00ffdbddc6486e674edafb5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 05:40:37 2015 -0300 [media] vivid: turn this into a platform_device This turns this driver into a platform device. This ensures that it appears in /sys/bus/platform_device since it now has a proper parent device. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 628821c84e9047bffab8357668a6b1ef6c0038a5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 06:35:40 2015 -0300 [media] vivid: add support for packed YUV formats Add support for the packed YUV formats YUV444, YUV555, YUV565 and YUV32. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 68cd4e9f21d9d3b868f78eb3a85165229cb4f024 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 05:36:08 2015 -0300 [media] vivid: add support for BGR666 Add support for the four byte BGR666 format. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f234a76e10e700a01ad473358921bc695b6ef5c9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 07:54:12 2015 -0300 [media] DocBook media: clarify BGR666 The documentation is not clear whether this is a three or four byte format. Clarify this. Also move the BGR666 format to the other 32 bit formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 71491063b85c04e6b68803db52cca7a9f14a945e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Mar 12 15:40:36 2015 -0300 [media] vivid: add support for PIX_FMT_RGB332 Add support for the one-byte-per-pixel RGB332 format. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dde72bd773dfce36fd0fb193d8ac5096f31e041c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 13 05:51:21 2015 -0300 [media] vivid: add support for NV24 and NV42 Add support for the YUV 4:4:4 formats NV24 and NV42. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8f1ff5435d314d607504964f13593a074e8efac9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Mar 12 05:08:01 2015 -0300 [media] vivid: add support for [A|X]RGB555X Only RGB555X was supported, add support for the other two variants. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9e1b73cfed2e28061810221467aa3bdd5284cc83 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 11 08:16:03 2015 -0300 [media] vivid: fix format comments Clarify which formats have an alpha channel and which do not by using 'x' instead of 'a' if there is no alpha channel. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8aca230b6d2769a0441782bcba242d0d007f0cea Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 11 08:14:34 2015 -0300 [media] vivid: add RGB444 support Add support for (A/X)RGB444 formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b521c375519f7d2a2d703f004f122a0831d8f22e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 10:37:52 2015 -0300 [media] vivid: add the new planar and monochrome formats Everything is in place to support these formats, so add them to the list. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1f9f23f62fb46d6cef93febe57bf41fb21fd01fa Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 12:06:27 2015 -0300 [media] vivid: add downsampling support Add support in vivid for downsampling. Most of the changes are in vivid_copy_buffer which needs to know about the right line widths. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ddcaee9dd4c00174db8ddf913c87ddf3773c446e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 12:03:52 2015 -0300 [media] vivid: add support for single buffer planar formats Make vivid aware of the difference of planes and buffers. Note that this does not yet add support for hor/vert downsampled formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 96c76efae3211c7b798553602d3165b4ea34aa95 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 15:04:49 2015 -0300 [media] vivid: add new format fields These fields are necessary to handle the new planar formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ecb9e91b2dfa3ef69c17c03b2e73ce935254fa65 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:52:43 2015 -0300 [media] vivid-tpg: split off the pattern drawing code The last part of the vivid-tpg refactoring: split off the pattern drawing code into a function of its own. This greatly improves the readability and maintainability of this code. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c6ff1c1b5ba0cff72f899e3b3ba0343b5a0e0024 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:47:48 2015 -0300 [media] vivid-tpg: move the 'extras' drawing to a separate function This moves the drawing code for the extras (border, square, etc) to a function of its own instead of having this in the main for loop. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 07386b9ab1d2adcf83543dfee0e835db56ccb3d5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:39:19 2015 -0300 [media] vivid-tpg: move 'extras' parameters to tpg_draw_params Any parameters related to drawing 'extras' like the border, the square, etc. are moved to struct tpg_draw_params. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f0ce4fd6e03afcc22c6b2cd59e155832cea644a9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:30:05 2015 -0300 [media] vivid-tpg: move pattern-related fields to struct tpg_draw_params Add a new function that fills in pattern-related fields in struct tpg_draw_params. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5e72939322862770f5dea9634c3cd2700dff9ca2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:26:43 2015 -0300 [media] vivid-tpg: move common parameters to tpg_draw_params Replace local variables by fields in the tpg_draw_params struct. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e76036d8507ca8568661e5c4f5010219d7097497 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:07:23 2015 -0300 [media] vivid-tpg: add a new tpg_draw_params structure This is needed to refactor the drawing function which is much too big. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dfff048953eb1e38e1f1ee718ff1295f219f1a89 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 11:04:02 2015 -0300 [media] vivid-tpg: add const where appropriate Added 'const' to several functions where that is possible to do. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9991deff1ac9361abbe0c5938b27f903f16d1ca0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 8 05:53:10 2015 -0300 [media] vivid-tpg: add helper functions to simplify common calculations Add helper functions to handle horizontal downscaling and horizontal scaling. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 51f309683510ced24b1b3886f0935a0ab32d1e0b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:57:50 2015 -0300 [media] vivid-tpg: add support for V4L2_PIX_FMT_GREY Add monochrome support to the TPG. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 68c90d64964de8a0c8c19825f373943096e3f673 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:55:09 2015 -0300 [media] vivid-tpg: add support for more planar formats Now that the support for hor/vert downsampled planar formats is in place we can add support for such formats to the TPG. This patch adds support for: V4L2_PIX_FMT_YUV420M V4L2_PIX_FMT_YVU420M V4L2_PIX_FMT_YUV420 V4L2_PIX_FMT_YVU420 V4L2_PIX_FMT_YUV422P V4L2_PIX_FMT_NV16 V4L2_PIX_FMT_NV61 V4L2_PIX_FMT_NV12 V4L2_PIX_FMT_NV21 V4L2_PIX_FMT_NV12P V4L2_PIX_FMT_NV21P Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 280abe474ec3c4e14b9bf3bdbe19c12b08530408 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:50:41 2015 -0300 [media] vivid-tpg: finish hor/vert downsampling support Implement horizontal and vertical downsampling when filling in the plane. The TPG is now ready to support such formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3e14e7a82c1efdd15253a67cf5dccb84b1e9b7f1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:23:16 2015 -0300 [media] vivid-tpg: add hor/vert downsampling support to tpg_gen_text This will just skip lines/pixels since color fidelity is not quite as important here as it is with the test patterns themselves. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1f088dc162ff191b95d4737d9a3664d8b6a4fca8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:15:25 2015 -0300 [media] vivid-tpg: correctly average the two pixels in gen_twopix() gen_twopix() is always called twice: once for the first and once for the second pixel. Improve the code to properly average the two if the format requires horizontal downsampling. This is necessary for patterns like 1x1 red/blue checkers. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5d7c539e194af598a8f8d8f616ce97581f3d079a Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 14:06:43 2015 -0300 [media] vivid-tpg: precalculate downsampled lines When dealing with vertical downsampling two successive lines have to be averaged. In the case of the test pattern generator that only happens if the two lines are using different patterns. So precalculate the average between two pattern lines: one of pattern P and one of pattern P + 1. That way there is no need to do any on-the-fly downsampling: it's all done in the precalculate phase. This patch also implements horizontal downsampling in the precalculate phase. The only thing that needs to be done is to half the width since the actual downsampling happens when two pixels at a time are generated. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ba01f673e031ade4f60583ab1ac4f06dd260a972 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 13:57:27 2015 -0300 [media] vivid-tpg: add hor/vert downsampling fields This is step one of supporting horizontal and vertical downsampling. This just adds support for the h/vdownsampling fields and it increases the maximum number of planes to 3. Currently none of the planar formats need horizontal or vertical downsampling, so this change has no effect at the moment. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4e8a4830dc9f0883d5302b871adb9e6179338d24 Merge: b0838b1 dbcf988 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 16:37:56 2015 -0700 Merge tag 'irqchip-fixes-4.0-2' of git://git.infradead.org/users/jcooper/linux Pull irqchip fixes from Jason Cooper: "This is the second round of fixes for irqchip. It contains some fixes found while the arm64 guys were writing the kvm gicv3 its emulation. GICv3 ITS: - Small batch of fixes discovered while writing the kvm ITS emulation" * tag 'irqchip-fixes-4.0-2' of git://git.infradead.org/users/jcooper/linux: irqchip: gicv3-its: Use non-cacheable accesses when no shareability irqchip: gicv3-its: Fix PROP/PEND and BASE/CBASE confusion irqchip: gicv3-its: Fix device ID encoding irqchip: gicv3-its: Fix encoding of collection's target redistributor commit 4db22041892946348f98672a5524bdf2f18f66f5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 13:39:01 2015 -0300 [media] vivid-tpg: add helper functions for single buffer planar formats Add helpers functions to determine the line widths and image sizes for planar formats that are stores in a single buffer. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 06d1f0c2eaaebe04fa3ea780ca37dcd6e05ade16 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 13:01:53 2015 -0300 [media] vivid-tpg: separate planes and buffers Add a new field that contains the number of buffers. This may be less than the number of planes in case multiple planes are combined into one buffer. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ba24b442033b7f50e24798685f4b24b8e4c3aaa2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 10:06:55 2015 -0300 [media] vivid: do not allow video loopback for SEQ_TB/BT Sequential top-bottom/bottom-top fields are not supported as video loopback. This is too much work to implement for field settings that are rarely used. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9c35bd48d54345b2c89426dd2efdb33adaa0aac3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 12:53:39 2015 -0300 [media] vivid-tpg: don't add offset when switching to monochrome The grayscale values are still full range sRGB, so don't add the limited range offset. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1a05d3133f826c9578986d9ec6ffab64ced62a03 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 12:49:57 2015 -0300 [media] vivid: add new checkboard patterns Add a 2x2 checker patterns and 1x1 and 2x2 red/blue checker patterns. Useful for testing 4:2:2 and 4:2:0 formats. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 43047f6b7467c2c9e3ef0b8113469c40b0b78cc3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 12:38:42 2015 -0300 [media] vivid: fix test pattern movement for V4L2_FIELD_ALTERNATE The successive TOP/BOTTOM fields did not move as they should: only every other field actually changed position. The cause was that the tpg needs to know if it is dealing with a FIELD_ALTERNATE case since that requires slightly different handling. So tell the TPG whether or not the field setting is for the ALTERNATE case or not. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c501abcfbfd75da44f35992d0da39af92860fb01 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 12:30:43 2015 -0300 [media] vivid: use TPG_MAX_PLANES instead of hardcoding plane-arrays Two arrays of size 'max number of planes' have a hardcoded size instead of using TPG_MAX_PLANES. Fix that, since TPG_MAX_PLANES will be increased later on. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a94e7d6e825ac20f17436477120fb3fd8a755ebf Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Mar 6 11:24:04 2015 -0300 [media] vivid: wrong top/bottom order for FIELD_ALTERNATE The condition to decide whether the current field is top or bottom was inverted. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 360565fcf72637258ebe6d3984c669bc9d86f7cd Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Mar 7 12:19:36 2015 -0300 [media] vivid: fix typo in plane size checks The plane size check was hardcoded to plane 0 instead of using the plane index. This failed when using the NV61M format which has a larger plane size for the second plane compared to the first plane. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 51b52fac9b4ece9ec0c27a39b0ae1b3b4a829df9 Merge: 165b11b 22e2e86 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Apr 3 09:28:55 2015 +1000 Merge branch 'drm-fixes-4.0' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Just two small fixes for radeon, both destined for stable. * 'drm-fixes-4.0' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: fix wait in radeon_mn_invalidate_range_start drm/radeon: add extra check in radeon_ttm_tt_unpin_userptr commit 165b11bfe44a4c758fece6e5b1bd9dcb628d6b13 Merge: 3fa50dc adacb22 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Apr 3 09:28:18 2015 +1000 Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes Fix display on issue to Exynos5250 based Snow(1366x768) board. * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm: Exynos: Respect framebuffer pitch for FIMD/Mixer commit 9832e0e013c5cbbf688c1c2421a0b05e01fe409b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Mar 9 12:34:32 2015 -0300 [media] vivid: the overlay API wasn't disabled completely for multiplanar If the vivid driver is loaded in multiplanar mode, then the capture overlay functionality should be disabled. This wasn't fully done, which led to v4l2-compliance errors. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3fa50dc3be89f721f4dd64c38fd45d330f98c1f0 Merge: c7d7487 840a1cf Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Apr 3 09:27:48 2015 +1000 Merge tag 'drm-intel-fixes-2015-04-02' of git://anongit.freedesktop.org/drm-intel into drm-fixes one oops fixes and a 0-length allocation fix from next backported. * tag 'drm-intel-fixes-2015-04-02' of git://anongit.freedesktop.org/drm-intel: drm/i915: Reject the colorkey ioctls for primary and cursor planes drm/i915: Skip allocating shadow batch for 0-length batches commit 78223354a64284fe1ef74c5a7900435776fcf2a0 Merge: 2a6c0f0 6f46aed Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Thu Apr 2 23:27:23 2015 +0000 Merge branch 'irqchip/renesas' into irqchip/core commit c7d748743f3ae73f1997a0a56e34674244b99a4a Merge: 91fd896 ad692b4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Apr 3 09:27:15 2015 +1000 Merge tag 'topic/drm-fixes-2015-04-02' of git://anongit.freedesktop.org/drm-intel into drm-fixes Here's a single drm core fix, cc: stable, that affects i915 users. * tag 'topic/drm-fixes-2015-04-02' of git://anongit.freedesktop.org/drm-intel: drm/edid: set ELD for firmware and debugfs override EDIDs commit 2a6c0f0ad5c0127d18b43674bd94785fae2ef5fe Merge: fa6ed4c 0d8e1d8 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Thu Apr 2 23:27:10 2015 +0000 Merge branch 'irqchip/mvebu' into irqchip/core commit 6f46aedb9c85873b67f6186a8b0f9d7a769b6b2c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Apr 1 14:00:06 2015 +0200 irqchip: renesas-irqc: Add wake-up support The IRQC module clock is managed through Runtime PM and PM Domains. If wake-up is enabled, this clock must not be disabled during system suspend. Hence implement irq_chip.irq_set_wake(), which increments/decrements the clock's enable_count when needed. This fixes wake-up by gpio-keys on r8a73a4/ape6evm. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1427889606-18671-1-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0d8e1d80bbe9852f42784072880df002534c6e0f Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 16:04:37 2015 +0200 irqchip: armada-370-xp: Allow using wakeup source On the Armada 370/XP SoCs, in standby mode the SoC stay powered and it is possible to wake-up from any interrupt sources. This patch adds flag to the MPIC irqchip driver to let linux know this. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1427724278-12379-5-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 739cfd9be9af6bbbe4c652077add59409adf2225 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 03:39:35 2015 -0300 [media] rcar-vin: Don't implement empty optional clock operations The clock_start and clock_stop operations are now optional, don't implement empty stubs. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3781760a3d2bed2df8ed4cc3d061f8541bf7bd1d Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 03:39:34 2015 -0300 [media] soc-camera: Make clock_start and clock_stop operations optional Instead of forcing drivers to implement empty clock operations, make them optional. v4l2 clock registration in the soc-camera core should probably be conditionned on the availability of those operations, but careful review and/or testing of all drivers would be needed, so that should be a separate step. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2af12f025870f664244defab14796da2fdb5009e Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 03:39:33 2015 -0300 [media] soc-camera: Unregister v4l2 clock in the OF bind error path The v4l2 clock registered in soc_of_bind() must be unregistered if an error occurs and makes the function fail. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4e65172f7bd20fcbfa87453d1e5711ad129d4216 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Feb 10 06:31:35 2015 -0300 [media] media: ov2640: add primary dt support Add device tree support for ov2640. In device tree, user needs to provide the master clock (xvclk). User can add the reset/pwdn pins if they have. Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 87838addf6143430061823c334792185b56ede47 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Feb 10 06:31:36 2015 -0300 [media] media: ov2640: dt: add the device tree binding document Add the document for ov2640 dt. Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f180ebae1ac05805acdb808eb92e63ddbd014934 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Sun Mar 1 22:52:38 2015 -0300 [media] media: ov2640: add async probe function In async probe, there is a case that ov2640 is probed before the host device which provided 'mclk'. To support this async probe, we will get 'mclk' at first in the probe(), if failed it will return -EPROBE_DEFER. That will let ov2640 wait for the host device probed. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0b9508aa030f8119c20fcf64b4b36bc792b59d41 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Feb 10 06:31:33 2015 -0300 [media] media: soc-camera: use icd->control instead of icd->pdev for reset() icd->control is the sub device dev, i.e. i2c device. icd->pdev is the soc camera device's device. To be consitent with power() function, we will call reset() with icd->control as well. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4f528afcfbcac540c8690b41307cac5c22088ff1 Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Date: Sun Feb 1 08:12:33 2015 -0300 [media] V4L: add CCF support to the v4l2_clk API V4L2 clocks, e.g. used by camera sensors for their master clock, do not have to be supplied by a different V4L2 driver, they can also be supplied by an independent source. In this case the standart kernel clock API should be used to handle such clocks. This patch adds support for such cases. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a37462b919e1368ea3cf4bb0cbdb00ca8e76959c Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Date: Sat Jan 31 20:21:32 2015 -0300 [media] V4L: remove clock name from v4l2_clk API All uses of the v4l2_clk API so far only register one clock with a fixed name. This allows us to get rid of it, which also will make CCF and DT integration easier. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9b239b22df3ced4629af97e7edda558f1e7531b6 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Mar 14 13:28:25 2015 -0300 [media] v4l2-ioctl: allow all controls if ctrl_class == 0 The check_ext_ctrls() function in v4l2-ioctl.c checks if all controls in the control array are from the same control class as c->ctrl_class. However, that check should only be done if c->ctrl_class != 0. A 0 value means that this restriction does not apply. So return 1 (OK) if c->ctrl_class == 0. Found by running v4l2-compliance on the uvc driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2c9fc463d60b9d09111fde5903e1f3e8e891a674 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 13 13:25:53 2015 -0300 [media] v4l2-dev: disable selection ioctls for non-video devices The selection/cropping ioctls are only valid for video nodes, not for vbi. Found by v4l2-compliance when run on a VBI device node. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8a55ddd94c3a763f701f003fd56e39f7c317063d Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 13 10:41:39 2015 -0300 [media] au0828: fix broken streaming Commit c5036d61e0bed3f4f51391a145638b426825e69c ("media: au0828: drop vbi_buffer_filled() and re-use buffer_filled()") broke video and vbi streaming. The vb2_buffer struct was copied instead of taking a pointer to it, but vb2_buffer_done() needs the real object, not a copy, since it is hooking the buffer into a different list. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b18042a673e88c9457a6d1716219c2367ca447b0 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Mar 14 13:03:55 2015 -0300 [media] rtl28xxu: return success for unimplemented FE callback Return success for FE callback on case we don't have any special implementation. fc0013 tuner driver calls that callback in order to switch antenna input, even we don't provide antenna switch. Returning error caused fc0013 driver given up tuning. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b3b2bf820e82d7581462dea28a9c3af1bd8cc747 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Mar 14 11:13:07 2015 -0300 [media] rtl2832: disable regmap register cache Caching register reads causes some random I/O errors on channel change. Disable caching now in order to avoid those errors. Reverts partly commit dcadb82 Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ba445432e384f86c1d8a4bff4b6f9ebc19d1b19c Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 13 08:00:05 2015 -0300 [media] DocBook media: fix PIX_FMT_SGRBR8 example Fix the example of the V4L2_PIX_FMT_SGRBG8 Bayer format. The even lines should read BGBG, not RBRB. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 27eb5e24e0d6f4e3be236e861475ed3aacd3c6d2 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Mar 13 07:00:07 2015 -0300 [media] cx231xx: fix compiler warnings If CONFIG_VIDEO_CX231XX_RC is undefined, then these compiler warnings are generated: In file included from drivers/media/usb/cx231xx/cx231xx-cards.c:23:0: drivers/media/usb/cx231xx/cx231xx-cards.c: In function â??cx231xx_release_resourcesâ??: drivers/media/usb/cx231xx/cx231xx.h:982:30: warning: statement with no effect [-Wunused-value] #define cx231xx_ir_exit(dev) (0) ^ drivers/media/usb/cx231xx/cx231xx-cards.c:1158:2: note: in expansion of macro â??cx231xx_ir_exitâ?? cx231xx_ir_exit(dev); ^ drivers/media/usb/cx231xx/cx231xx-cards.c: In function â??cx231xx_init_devâ??: drivers/media/usb/cx231xx/cx231xx.h:981:30: warning: statement with no effect [-Wunused-value] #define cx231xx_ir_init(dev) (0) ^ drivers/media/usb/cx231xx/cx231xx-cards.c:1351:2: note: in expansion of macro â??cx231xx_ir_initâ?? cx231xx_ir_init(dev); ^ drivers/media/usb/cx231xx/cx231xx-cards.c: In function â??cx231xx_usb_probeâ??: drivers/media/usb/cx231xx/cx231xx.h:982:30: warning: statement with no effect [-Wunused-value] #define cx231xx_ir_exit(dev) (0) ^ drivers/media/usb/cx231xx/cx231xx-cards.c:1705:2: note: in expansion of macro â??cx231xx_ir_exitâ?? cx231xx_ir_exit(dev); ^ drivers/media/usb/cx231xx/cx231xx-cards.c: In function â??cx231xx_usb_disconnectâ??: drivers/media/usb/cx231xx/cx231xx.h:982:30: warning: statement with no effect [-Wunused-value] #define cx231xx_ir_exit(dev) (0) ^ drivers/media/usb/cx231xx/cx231xx-cards.c:1754:3: note: in expansion of macro â??cx231xx_ir_exitâ?? cx231xx_ir_exit(dev); ^ Fix by using static inlines instead of defines. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 78e9b7de78bb53e8bc7f4c4a60ebacb250c0c190 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Mar 12 07:29:42 2015 -0300 [media] wl128x-radio really depends on TI_ST All other drivers using the TI_ST infrastructure use 'depends on' for this symbol, and it makes no sense to only enable that if CONFIG_NET is enable, because the radio driver also depends on CONFIG_NET itself: ERROR: "skb_queue_purge" [drivers/media/radio/wl128x/fm_drv.ko] undefined! ERROR: "skb_push" [drivers/media/radio/wl128x/fm_drv.ko] undefined! ERROR: "skb_pull" [drivers/media/radio/wl128x/fm_drv.ko] undefined! Making the driver dependency explicit solves randconfig build problems and makes it more obvious to the reader. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f2e37b9b733c720de917aa7616cce3a1c52225eb Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Mar 12 04:27:43 2015 -0300 [media] rtl2832: fix compiler warning >From the daily build: rtl2832.c: In function 'rtl2832_read_status': rtl2832.c:703:12: warning: 'tmp' may be used uninitialized in this function [-Wmaybe-uninitialized] } else if (tmp == 10) { ^ The code is OK, it's just the compiler that cannot figure out what's going on. So just init 'tmp' to 0. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fae119beddb5c102f117f7f4bd59803e0f6637df Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 13:56:29 2015 -0300 [media] media: pci: cx23885: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 073e24f5217019850ac586a8b93cf596c9e1900b Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Mar 11 09:51:12 2015 -0300 [media] DocBook media: fix section IDs The colorspace section IDs were assigned to the title instead of to the section. Some links failed because of that. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2ddb77bb1138dccb5067690e8696e991093e22c6 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Mar 11 09:00:45 2015 -0300 [media] DocBook v4l: update bytesperline handling The documentation says that the bytesperline field in v4l2_pix_format refers to the largest plane in the case of planar formats (i.e. multiple planes stores in a single buffer). For almost all planar formats the first plane is also the largest (or equal) plane, except for two formats: V4L2_PIX_FMT_NV24/NV42. For this YUV 4:4:4 format the second chroma plane is twice the size of the first luma plane. Looking at the very few drivers that support this format the bytesperline value that they report is actually that of the first plane and not that of the largest plane. Rather than fixing the drivers it makes more sense to update the documentation since it is very difficult to use the largest plane for this. You would have to check what the format is in order to know to which plane bytesperline belongs, which makes calculations much more difficult. This patch updates the documentation accordingly. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3259aa57dba142c04da3f37e207f9cbcf30a76df Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 11:43:20 2015 -0300 [media] MAINTAINERS: Update the maintainer mail address for stk1160 I'd rather use my work mail address to get patches, so let's update it. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit aeff09276748b66072f2db2e668cec955cf41959 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 11:37:14 2015 -0300 [media] stk1160: Make sure current buffer is released The available (i.e. not used) buffers are returned by stk1160_clear_queue(), on the stop_streaming() path. However, this is insufficient and the current buffer must be released as well. Fix it. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e933c6bc67d8129d184d5add4230eb8250646cb8 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 18:57:24 2015 -0300 [media] media: davinci: vpif_display: embed video_device struct in channel_obj Embed video_device struct (video_dev) in channel_obj and also the Unregister path doesn't need to free the video_device structure, hence, change the video_device.release callback point to video_device_release_empty. 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 8eef6669d3d4a9a8694bb6703fb81bd17bb9080e Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 18:57:23 2015 -0300 [media] media: davinci: vpif_capture: embed video_device struct in channel_obj Embed video_device struct (video_dev) in channel_obj and also the Unregister path doesn't need to free the video_device structure, hence, change the video_device.release callback point to video_device_release_empty. 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 afb7a966b54600d678f57535be6e5ef3156f04f1 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:53 2015 -0300 [media] media: blackfin: bfin_capture: embed video_device struct in bcap_device Embed video_device struct (video_dev) in bcap_device and Unregister path doesn't need to free the video_device structure, hence, change the video_device.release callback point to video_device_release_empty. 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 225ccaa307b544f13014600a2ca689a7d9847f18 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:52 2015 -0300 [media] media: blackfin: bfin_capture: drop bcap_get_unmapped_area() this patch drops bcap_get_unmapped_area() and uses vb2_fop_get_unmapped_area() helper provided 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 9d490e529d567d15e984923aebe487c53e6c9ed3 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:51 2015 -0300 [media] media: blackfin: bfin_capture: set v4l2 buffer sequence this patch adds support to set the v4l2 buffer sequence. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 812447e5871da28aba8bd752d49c2620569ed797 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:50 2015 -0300 [media] media: blackfin: bfin_capture: add support for VIDIOC_EXPBUF this patch adds support for VIDIOC_EXPBUF. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 70753b5e70033c1f0ef649f6024c76615621f83a Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:49 2015 -0300 [media] media: blackfin: bfin_capture: add support for VB2_DMABUF this patch adds support for VB2_DMABUF. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8df229bdec3e13120b673713fbbb2aff0e9c0165 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:48 2015 -0300 [media] media: blackfin: bfin_capture: add support for vidioc_create_bufs this patch adds support for vidioc_create_bufs. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 116a6488d32ac62336b9c1a1dd989fdbfab128bd Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:47 2015 -0300 [media] media: blackfin: bfin_capture: return -ENODATA for *dv_timings calls this patch adds support to return -ENODATA for *dv_timings calls if the current output does not support it. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fe00b716e75f78cb9f90328b6a5f18cc88089050 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:46 2015 -0300 [media] media: blackfin: bfin_capture: return -ENODATA for *std calls this patch adds supports to return -ENODATA to *_std calls if the selected output does not support it. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2bf34b2f0952eeb15f10434ce0d1ee7356c005ff Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:45 2015 -0300 [media] media: blackfin: bfin_capture: make sure all buffers are returned on stop_streaming() callback In start_streaming() callback the buffer is removed from the dma_queue list and assigned to cur_frm, this patch makes sure that is returned to vb2 core with VB2_BUF_STATE_ERROR flag. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d61233bf4cc3cdd378cb20236f1209ed8c2023f5 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:44 2015 -0300 [media] media: blackfin: bfin_capture: use vb2_ioctl_* helpers this patch adds support to vb2_ioctl_* helpers. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f0e91c65a9eb9faa25ba6d0a63683cf0152eb77f Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:43 2015 -0300 [media] media: blackfin: bfin_capture: use v4l2_fh_open and vb2_fop_release this patch adds support to use v4l2_fh_open() and vb2_fop_release, which allows to drop driver specific struct bcap_fh, as this is handled by core. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8fd05b7eee4b5a8653751cab90b3d1aa7901ccf7 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:42 2015 -0300 [media] media: blackfin: bfin_capture: use vb2_fop_mmap/poll No need to reinvent the wheel. Just use the already existing functions provided by vb2. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f314002279a4984cca86b5fa3920b6c84171beab Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:41 2015 -0300 [media] media: blackfin: bfin_capture: improve queue_setup() callback This patch does the following: a: returns -EINVAL in case format image size is less then current image size. b: assigns nbuffers to two in case the total of vq->num_buffers and nbuffers is less then the number of buffers required by driver. c: sets the sizes[0] of plane according to the fmt passed or which is being set in the device. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cd3c38effc6f7eac1b1aa64ba08dc8d5c5d0c809 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:40 2015 -0300 [media] media: blackfin: bfin_capture: set vb2 buffer field set the vb2 buffer field in buf_prepare() callback, alongside drop local variable buf as we already have a pointer to vb2 buffer. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5f65ca81c321e8390645b80460444c3aa04c856f Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:39 2015 -0300 [media] media: blackfin: bfin_capture: set min_buffers_needed this patch sets the min_buffers_needed field of the vb2 queue so that the vb2 core will make sure start_streaming() callback is called only when we have minimum buffers queued. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6692871a7c898ff05b33e58f1eab3ec1975bc894 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:38 2015 -0300 [media] media: blackfin: bfin_capture: release buffers in case start_streaming() call back fails this patch adds support to release the buffer by calling vb2_buffer_done(), with state marked as VB2_BUF_STATE_QUEUED if start_streaming() call back fails. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b4e81b23788448c2ed9f4b8a3e3fdeb013a4a8f6 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sun Mar 8 11:40:37 2015 -0300 [media] media: blackfin: bfin_capture: drop buf_init() callback this patch drops the buf_init() callback as init of buf list is not required. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c0b50d951283eddec292811440f1d38eb2a3f455 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 8 04:53:33 2015 -0300 [media] vivid: BT.2020 R'G'B' is limited range According to the standard the R'G'B' BT.2020 colorspace is limited range, not full range. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit aa05b979f14998fec16fa38f1c91eaa197e73148 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 8 04:53:32 2015 -0300 [media] videodev2.h: fix comment The quantization comment in the header was incorrect w.r.t. BT.2020. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1acb93ad3f68a0a509ccb50d78d65c1ea2f7ad7f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 8 04:53:31 2015 -0300 [media] DocBook media: BT.2020 RGB uses limited quantization range In contrast to all other colorspaces, the BT.2020 colorspace uses limited range R'G'B' quantization as the default. This was incorrected documented, so fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f658d133ba40af54b167a69b149a78bd966fa269 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Mar 8 04:53:30 2015 -0300 [media] DocBook media: fix xv601/709 formulas The denominator for the scaling and offsets is 256, not 255. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1e8faa5945155ee8035cc3f9add6a715197f36ed Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 8 04:30:47 2015 -0300 [media] v4l2-ioctl: tidy up debug messages Make sure the format fields are reported consistently. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 66108e3cb39f28b5b165519f90ae2001ce8b82a5 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 8 04:30:03 2015 -0300 [media] v4l2-framework.txt: debug -> dev_debug The debug attribute was renamed to dev_debug. Update the doc accordingly. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8b97e0e3f437ba01efeece830817c6adddc32641 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sat Mar 7 13:12:09 2015 -0300 [media] media: am437x-vpfe: embed video_device struct in vpfe_device Embed video_device struct (video_dev) in vpfe_device and Unregister path doesn't need to free the video_device structure, hence, change the video_device.release callback point to video_device_release_empty. 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 7d87db3df00ccc138d6243ec12eb354e9c3f48ec Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sat Mar 7 12:30:50 2015 -0300 [media] media: am437x-vpfe: return error in case memory allocation failure return error in case devm_kzalloc() fails. 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 d37232390fd4d1f76061879390b0447287730e6b Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Sat Mar 7 12:30:49 2015 -0300 [media] media: am437x-vpfe: match the OF node/i2c addr instead of name Instead of matching the subdevs with their name, match it with OF node/ i2c address and adapter number. 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 4eaa3a6cc4c577103d678492ec50979b3aa360a4 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Thu Mar 5 23:39:40 2015 -0300 [media] drivers: media: platform: vivid: Fix possible null derefrence Check for dev_fmt being null before derefrencing it, to assign it to planes. Found using Coccinelle. Signed-off-by: Tapasweni Pathak <tapaswenipathak@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 64bf8049a2ec1e61e1475eb02b5514d7061d443e Author: Masatake YAMATO <yamato@xxxxxxxxxx> Date: Wed Mar 4 17:13:24 2015 -0300 [media] am437x: include linux/videodev2.h for expanding BASE_VIDIOC_PRIVATE In am437x-vpfe.h BASE_VIDIOC_PRIVATE is used for making the name of ioctl command(VIDIOC_AM437X_CCDC_CFG). The definition of BASE_VIDIOC_PRIVATE is in linux/videodev2.h. However, linux/videodev2.h is not included in am437x-vpfe.h. As the result an application using has to include both am437x-vpfe.h and linux/videodev2.h. With this patch, the application can include just am437x-vpfe.h. Signed-off-by: Masatake YAMATO <yamato@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 ff05cb4b81d81e997476dc6d2c18e884389b5196 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Mar 3 08:23:59 2015 -0300 [media] vb2: check if vb2_fop_write/read is allowed Return -EINVAL if read() or write() is not supported by the queue. This makes it possible to provide both vb2_fop_read and vb2_fop_write in a struct v4l2_file_operations since the vb2_fop_* function will check if the file operation is allowed. A similar check exists in __vb2_init_fileio() which is called from __vb2_perform_fileio(), but that check is only done if no file I/O is active. So the sequence of read() followed by write() would be allowed, which is obviously a bug. In addition, vb2_fop_write/read should always return -EINVAL if the operation is not allowed, and by putting the check in the lower levels of the code it is possible that other error codes are returned (EBUSY or ERESTARTSYS). All these issues are avoided by just doing a quick explicit check. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ee662d44a23df45e2b3ff8b122e165b57672b656 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 11:49:21 2015 -0300 [media] media: am437x: Don't release OF node reference twice The remote port reference is released both at the end of the OF graph parsing loop, and in the error code path at the end of the function. Those two calls will release the same reference, causing the reference count to go negative. Fix the problem by removing the second call. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Benoit Parrot <bparrot@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b0838b150160f90be0903a38a2ce11d764962752 Merge: 1d51433 3c56b3a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 13:53:53 2015 -0700 Merge tag 'stable/for-linus-4.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen regression fixes from David Vrabel: "Fix two regressions in the balloon driver's use of memory hotplug when used in a PV guest" * tag 'stable/for-linus-4.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen/balloon: before adding hotplugged memory, set frames to invalid x86/xen: prepare p2m list for memory hotplug commit 4255c224b97f6d286d9d791962dec2b02c652b42 Author: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:53:11 2015 -0400 ext4: fix comments in ext4_can_extents_be_merged() Since commit a9b8241594add, we are allowed to merge unwritten extents, so here these comments are wrong, remove it. Signed-off-by: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1d514333da19410751c195cc715f9dbe1bb4b08f Merge: 06459fc d52356e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 13:48:43 2015 -0700 Merge tag 'powerpc-4.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc fix from Michael Ellerman: "Fix memory corruption by pnv_alloc_idle_core_states" * tag 'powerpc-4.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: powerpc: fix memory corruption by pnv_alloc_idle_core_states commit 80cfb71e2e9222b86399a554a69e299877f2dc27 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 16:42:43 2015 -0400 ext4: fix transposition typo in format string According to C99, %*.s means the same as %*.0s, in other words, print as many spaces as the field width argument says and effectively ignore the string argument. That is certainly not what was meant here. The kernel's printf implementation, however, treats it as if the . was not there, i.e. as %*s. I don't know if de->name is nul-terminated or not, but in any case I'm guessing the intention was to use de->name_len as precision instead of field width. [ Note: this is debugging code which is commented out, so this is not security issue; a developer would have to explicitly enable INLINE_DIR_DEBUG before this would be an issue. ] Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 666b805150efd62f05810ff0db08f44a2370c937 Author: Neal Cardwell <ncardwell@xxxxxxxxxx> Date: Wed Apr 1 20:26:46 2015 -0400 tcp: fix FRTO undo on cumulative ACK of SACKed range On processing cumulative ACKs, the FRTO code was not checking the SACKed bit, meaning that there could be a spurious FRTO undo on a cumulative ACK of a previously SACKed skb. The FRTO code should only consider a cumulative ACK to indicate that an original/unretransmitted skb is newly ACKed if the skb was not yet SACKed. The effect of the spurious FRTO undo would typically be to make the connection think that all previously-sent packets were in flight when they really weren't, leading to a stall and an RTO. Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Fixes: e33099f96d99c ("tcp: implement RFC5682 F-RTO") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06459fc02f53d8adf9ccd9111a6c434dd5b208cd Merge: 0a48127 8494057 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 13:35:58 2015 -0700 Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband Pull infiniband/rdma fix from Roland Dreier: "Fix for exploitable integer overflow in uverbs interface" * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic commit 11a9c7821c583aa22b35f37fba20539def9e8f14 Merge: c448b5e 64613d9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 2 16:33:43 2015 -0400 Merge branch 'mlx5-next' Eli Cohen says: ==================== mlx5 batch of patches for net-next This series contains small fixes to the mlx5 core driver and also preparation steps towards adding Ethernet support for ConnectX4 devices which will be part of mlx5 driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64613d9499c4887485d4350387919ea507330d90 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:34 2015 +0300 net/mlx5_core: Extend struct mlx5_interface to support multiple protocols Preparation for ethernet driver. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce0f75093282c5dca1e79ae3e3e893deaea86166 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:33 2015 +0300 net/mlx5_core: Modify arm CQ in preparation for upcoming Ethernet driver Pass consumer index as a parameter to arm CQ Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 233d05d28ad942929b6b4fbc48aa8dd083c16484 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:32 2015 +0300 net/mlx5_core: Move completion eqs from mlx5_ib to mlx5_core Preparation for ethernet driver. These functions will be used in drivers other than mlx5_ib. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ae6c18c59f1419202ab5e2a918e551099d88f9f Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:31 2015 +0300 net/mlx5_core: Update module info macros for ConnectX4 Support Declare the support of new ConnectX4 HCA in module info Pump up the module version Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cf0a15f07a5a4600beb72f3a246fcd9325e86aa Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:30 2015 +0300 IB/mlx5: Fix Mellanox copyright note Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 302bdf68fc56a6330bc6b10ce435b4d466417537 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:29 2015 +0300 net/mlx5_core: Fix Mellanox copyright note Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cbdd27c9c3abf87d6fe88cdd749218193ed3e12 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:28 2015 +0300 net/mlx5_core: Fix a bug in alloc_token In alloc_token(), the token '1' would be allocated twice consecutively. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21db507439ec3a76a9587f2ad50ad3e4d13f4440 Author: Ira Gusinsky <irenag@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:27 2015 +0300 net/mlx5_core: Avoid usage command work entry after writing command doorbell Avoid usage of command work entry in cmd_work_handler since it can be released by mlx5_cmd_invoke before the work handler returns to running. Signed-off-by: Ira Gusinsky <irenag@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05e4ecd1dc8b085a9010f20dcb5409b25488480a Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:26 2015 +0300 net/mlx5_core: Avoid copying outbox in aysnc command completion Avoid copying to the output buffer in cmd_exec since this is done after the command is completed. Failure to do this may cause cases where the callback handler is called before the copy done by cmd_exec which then overwrites it. Reported-by: Tamer Hleihel <tamerh@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64599cca51de08cef94bc13a0f98351e5bb01f41 Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:25 2015 +0300 net/mlx5_core: Use coherent memory for command interface page Use coherent memory for the commands descriptor page. Take measures to make sure the page is aligned to MLX5_ADAPTER_PAGE_SIZE as required by the hardware. Reported-by: Yevgeny Kliteynik <kliteyn@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60722c2ba02be052140998bc80ed77d74e3c03df Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:24 2015 +0300 net/mlx5_core: Use the right inbox struct in destroy mkey command struct mlx5_query_mkey_mbox_in rather than mlx5_destroy_mkey_mbox_in Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b812b5441e359adb9bd44108f7f91e5b0ba4a768 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:23 2015 +0300 net/mlx5_core: Clear doorbell record inside mlx5_db_alloc() Do it in one place instead of every where the function is invoked Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ef9baa2acda077f3831f6e7cdf751bc8691f78f Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:22 2015 +0300 net/mlx5_core: Avoid setting DC requestor/responder resources PRM does not support setting these values so avoid setting them. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7bef7ad24b9aa15cb06870f78ba8bd84bb7e1407 Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:21 2015 +0300 net/mlx5_core: Coding style fix Put a line of space before return and next statement. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3c6c9c810e100ab92c782e855f9ab9991065f4e Author: Haggai Abramonvsky <hagaya@xxxxxxxxxxxx> Date: Thu Apr 2 17:07:20 2015 +0300 net/mlx5_core: Fix call to mlx5_core_qp_modify Pass 0 in the sqd_event parameter. Signed-off-by: Haggai Abramovsky <hagaya@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad1891062adcdacb5818e104707dca8c193c33d8 Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:19 2015 +0300 net/mlx5_core: Allocate firmware pages from device's NUMA node Allocate firmware pages from the NUMA node which is close to the device. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7071b715873a66b69a9c0c5839963bb51aeae41b Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:32:15 2015 -0400 ext4: fix bh leak on error paths in ext4_rename() and ext4_cross_rename() Release references to buffer-heads if ext4_journal_start() fails. Fixes: 5b61de757535 ("ext4: start handle at least possible moment when renaming files") Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 1cdf60c97a9e7bc1829cca2e52d61be75f02c13c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Fri Mar 6 09:54:47 2015 -0300 [media] uvcvideo: Validate index during step-wise frame intervals enumeration Frame intervals exposed as an interval and step (so-called step-wise) are restricted by the V4L2 API to a single enumeration entry. Return an error when the index is not zero. Reported-by: Alexey Smirnoff <fling@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [mchehab@xxxxxxxxxxxxxxx: add a missing collon at the end of the return statement, in order to avoid compilation breakage] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fe6524719d67623786f1a993421388d3b373ab9d Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 15:30:10 2015 -0300 [media] uvcvideo: Recognize the Tasco USB microscope The device is based on an Aveo chipset, implements UVC but advertises a vendor-specific class on all interfaces. Support it by listing the USB VID:PID explicitly. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9e68c53910721ffc55c05ee9bbc08129c796b470 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:38:28 2015 -0300 [media] uvcvideo: Don't call vb2 mmap and get_unmapped_area with queue lock held videobuf2 has long been subject to AB-BA style deadlocks due to the queue lock and mmap_sem being taken in different orders for the mmap and get_unmapped_area operations. The problem has been fixed by making those two operations callable without taking the queue lock, using an mmap_lock internal to videobuf2. The uvcvideo driver still calls the mmap and get_unmapped_area operations with the queue lock held, resulting in a potential deadlock. As the operations can now be called without locking the queue, fix it. Reported-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cfa967224382f8ac3adbb40117be776838b91ebc Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Sat Jan 31 21:11:46 2015 -0300 [media] smiapp: Make pixel_order_str static pixel_order_str is only referred to in smiapp-core.c, it should be thus static. Thanks to Hans Verkuil for pointing this out. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c448b5e7853b5921957c4cbf5ad54a20eff79882 Merge: c5531ca ed193ec Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 2 16:27:13 2015 -0400 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: remove some unnecessary complexity The TIPC code is unnecessarily complex in some places, often because the conditions or assumptions that were the cause for the complexity are not valid anymore. In these three commits, we eliminate some cases of such redundant complexity. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed193ece2649c194a87a9d8470195760d367c075 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Apr 2 09:33:02 2015 -0400 tipc: simplify link mtu negotiation When a link is being established, the two endpoints advertise their respective interface MTU in the transmitted RESET and ACTIVATE messages. If there is any difference, the lower of the two MTUs will be selected for use by both endpoints. However, as a remnant of earlier attempts to introduce TIPC level routing. there also exists an MTU discovery mechanism. If an intermediate node has a lower MTU than the two endpoints, they will discover this through a bisectional approach, and finally adopt this MTU for common use. Since there is no TIPC level routing, and probably never will be, this mechanism doesn't make any sense, and only serves to make the link level protocol unecessarily complex. In this commit, we eliminate the MTU discovery algorithm,and fall back to the simple MTU advertising approach. This change is fully backwards compatible. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dff29b1a88524fe6afe296d6c477c491d1e02af0 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Apr 2 09:33:01 2015 -0400 tipc: eliminate delayed link deletion at link failover When a bearer is disabled manually, all its links have to be reset and deleted. However, if there is a remaining, parallel link ready to take over a deleted link's traffic, we currently delay the delete of the removed link until the failover procedure is finished. This is because the remaining link needs to access state from the reset link, such as the last received packet number, and any partially reassembled buffer, in order to perform a successful failover. In this commit, we do instead move the state data over to the new link, so that it can fulfill the procedure autonomously, without accessing any data on the old link. This means that we can now proceed and delete all pertaining links immediately when a bearer is disabled. This saves us from some unnecessary complexity in such situations. We also choose to change the confusing definitions CHANGEOVER_PROTOCOL, ORIGINAL_MSG and DUPLICATE_MSG to the more descriptive TUNNEL_PROTOCOL, FAILOVER_MSG and SYNCH_MSG respectively. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2da7142516527a5213588f47ed302e79a5d9527a Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Apr 2 09:33:00 2015 -0400 tipc: drop tunneled packet duplicates at reception In commit 8b4ed8634f8b3f9aacfc42b4a872d30c36b9e255 ("tipc: eliminate race condition at dual link establishment") we introduced a parallel link synchronization mechanism that guarentees sequential delivery even for users switching from an old to a newly established link. The new mechanism makes it unnecessary to deliver the tunneled duplicate packets back to the old link, as we are currently doing. It is now sufficient to use the last tunneled packet's inner sequence number as synchronization point between the two parallel links, whereafter it can be dropped. In this commit, we drop the duplicate packets arriving on the new link, after updating the synchronization point at each new arrival. Although it would now have been sufficient for the other endpoint to only tunnel the last packet in its send queue, and not the entire queue, we must still do this to maintain compatibility with older nodes. This commit makes it possible to get rid if some complex interaction between the two parallel links. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f39fb0f1e52617fc502d989cac72dd3779fccd4 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Sun Nov 30 12:33:55 2014 -0300 [media] smiapp: Use of_property_read_u64_array() to read a 64-bit number array of_property_read_u64_array() wasn't yet part of the kernel tree when the functionality was needed. Do use it now. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5531ca2bf3de4e172d2dcc12b97b9f663ab0453 Merge: 9f0d34b db60304 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 2 16:25:27 2015 -0400 Merge branch 'mlx4-next' Or Gerlitz says: ==================== Mellanox mlx4 driver updates The main feature added by this series are Ido's changes to support Granular QoS for VFs, where for the time being only max rate is supported. Muhammad added support for setting rx-fcs and rx-all through ethtool, and Ido did the interface identify work. Last, add Ido as a maintainer for the mlx4 Ethernet driver! Some of next week is the Passover holiday here and I will be mostly OOO. If needed (...) Ido or Amir will send V1 and such. Rebased against net-next commit 033f46b "crypto: algif - explicitly mark end of data". ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db60304718583f99162adabb7dd96e2f7073f8f3 Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:23 2015 +0300 MAINTAINERS: Update mlx4_en entry Add Ido Shamay as co-maintainer for the mlx4 Ethernet driver. Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78500b8c03236a18d454c9cc8a24cccca506b200 Author: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:22 2015 +0300 net/mlx4_en: Add RX-ALL support Enabled when the device supports KEEP FCS and IGNORE FCS. When the flag is set, pass all received frames up the stack, even ones with invalid FCS, controlled by ethtool. Signed-off-by: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx> Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0df35037a0a0df902a31f79065222951888bbc9 Author: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:21 2015 +0300 net/mlx4_en: Add RX-FCS support Enabled when device supports KEEP FCS. When the flag is set, Ethernet FCS is appended to the end of the frame, controlled by ethtool. Signed-off-by: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx> Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51af33cfed248dc8f36fa82df06b85e10038a01e Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:20 2015 +0300 net/mlx4_en: Add interface identify support Add support for the interface ethtool identify feature. Make the physical port LED to blink with green and yellow colors. The device handles the LED blink by itself (synchrous use of set_phys_id), by returning 0 to ETHTOOL_ID_ACTIVE command. Signed-off-by: Eyal Grossman <eyalgr@xxxxxxxxxxxx> Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a130b59057320192b4b00ed0ba4bc8a38f66f289 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:19 2015 +0300 net/mlx4: Add SET_PORT opcode modifiers enumeration The calls to SET_PORT used hard-code numbers, when supplying command's opcode modifiers, fix that to use well defined constants. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 38438f7c7e8cdbb0e9f55aae0e43da67c460639f Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:18 2015 +0300 net/mlx4: Set enhanced QoS support by default when ETS supported If HCA supports ETS QoS feature, set enhanced QoS bit in init_hca as default. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3742cc65512cd4897a63dce94104f9a6e74997a0 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:17 2015 +0300 net/mlx4: Warn users of depracated QoS Firmware A new capability bit was introduced in the past to to differ devices using the QoS ETS feature. The old was deprecated since then. If driver sees device which set only the old capabilty, it will print warning to user suggesting to upgrade the FW. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cda373f4849d5dd6fedceb4aeba35682a0e1a833 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:16 2015 +0300 net/mlx4_en: Enable TX rate limit per VF Support granular QoS per VF, by implementing the ndo_set_vf_rate. Enforce a rate limit per VF when called, and enabled only for VFs in VST mode with user priority supported by the device. We don't enforce VFs to be in VST mode at the moment of configuration, but rather save the given rate limit and enforce it when the VF is moved to VST with user priority which is supported (currently 0). VST<->VGT or VST qos value state changes are disallowed when a rate limit is configured. Minimum BW share is not supported yet. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08068cd5683f11e4505aa9c8cc6ed5942f8ad299 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:15 2015 +0300 net/mlx4: Added qos_vport QP configuration in VST mode Granular QoS per VF feature introduce a new QP field, qos_vport. PF administrator can connect VF QPs to a certain QoS Vport, to inherit its proporties. Connecting QPs to the default QoS Vport (defined as 0) is always allowed, even when there are no allocated VPPs. At this point, only the default vport is connected to QPs. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 666672d480fbae1af2e086f2bea200ed5607f967 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:14 2015 +0300 net/mlx4: Allocate VPPs for each port on PF init Initialization of granular Qos per VF mechanism. Query the port availible VPPs and allocates those on all supported priorities in an equal share. Allocation is done only in SRIOV mode, when the feature is supported by the device and port type is Ethernet. Allocation currently is done only on the default priority 0. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d019fcb2244519d453694bfce868f3e717bfcebb Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:13 2015 +0300 net/mlx4: Query device for QoS per VF support Checks in QUERY_DEV_CAP if the granular QoS per VF feature is supported by the device. Disabled for guests. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c29146d3821be984030b49cf9509a269edc3b8b Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:12 2015 +0300 net/mlx4: Add mlx4_SET_VPORT_QOS implementation Add the SET_VPORT_QOS device command, which is ntended for virtual granular QoS configuration per VF in SRIOV mode. The SET_VPORT_QOS command sets and queries QoS parameters of a VPort. Each priority allowed for a VPort is assigned with a share of the BW, and a BW limitation. QoS parameters can be modified at any time, but must be initialized before any QP is associated with the VPort. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e95bb99a8f969d4534867452793e44cc4731ca9 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:11 2015 +0300 net/mlx4: Add mlx4_ALLOCATE_VPP implementation Implements device ALLOCATE_VPP command, to be used for granular QoS configuration of VFs by the PF device. Defines and queries the amount of VPPs assigned to each port, and the amount of VPPs assigned to each priority of each port. Once the total VPPs are split between the priorities of a port, they may be assigned with a share of the BW or a rate limit. Split into two functions (get/set) whoch are supplied with mlx4_alloc_vpp_context and physical port number. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12a889c057504fbf307dd237aedb87263ef2848a Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:10 2015 +0300 net/mlx4: New file for QoS related firmware commands Create two new files fw_qos.h and fw_qos.c in mlx4_core module. It gathers all relevant QoS firmware related commands etc, thus improving encapsulation of the mlx4_core module. For now it contains the QoS existing commands: mlx4_SET_PORT_SCHEDULER and mlx4_SET_PORT_PRIO2TC. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4abccb61578694372dc9b245afd41f55b5f1e546 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:09 2015 +0300 net/mlx4: Aesthetic code changes in multi_func_init Previous vf_oper and vf_admin code created very long lines, making it hard to read the code. Added relevant in-struct pointers to reduce code complexity and avoid code lines spread over 80 lines. Same logic is preserved. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fccea6436a5bd16aed6f722efce13ec2c90427d7 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:08 2015 +0300 net/mlx4: Make mlx4_is_eth visible inline funcion Currently implemented as static function in resource_tracker.c -- this change will allow other files in mlx4_core to use it as well. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 241a08c3a767ca2f6ab1c99c4db4c3ff867de8aa Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:07 2015 +0300 net/mlx4_en: Change loopback only upon feature change Currently any change of netdev features results in a call to mlx4_en_update_loopback_state(). Those calls are unnecessary, and should be called only upon loopback feature change. Also moved some of the logic into mlx4_en_update_loopback_state(). Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 802f42a8d99254b8602bf65cc50e8333bf479f13 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Apr 2 16:31:06 2015 +0300 net/mlx4: Add RSS support for fragmented IP datagrams Enable RSS support for fragmented IP packets, when device supports it. Until now, fragmented IP packets were directed only to the default_qpn. Since IP fragments (datagram) have no upper protocols (L3 IP packets), hash is performed on 3-tuple - dst MAC, source IP and dest IP. The HW makes sure that this holds for the 1st fragment too, so all fragments go to the same QP. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c36820e2ab7d943ab1188230fdf2149826d33c0 Author: Jonathan Davies <jonathan.davies@xxxxxxxxxx> Date: Tue Mar 31 11:05:15 2015 +0100 xen-netfront: transmit fully GSO-sized packets xen-netfront limits transmitted skbs to be at most 44 segments in size. However, GSO permits up to 65536 bytes, which means a maximum of 45 segments of 1448 bytes each. This slight reduction in the size of packets means a slight loss in efficiency. Since c/s 9ecd1a75d, xen-netfront sets gso_max_size to XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER, where XEN_NETIF_MAX_TX_SIZE is 65535 bytes. The calculation used by tcp_tso_autosize (and also tcp_xmit_size_goal since c/s 6c09fa09d) in determining when to split an skb into two is sk->sk_gso_max_size - 1 - MAX_TCP_HEADER. So the maximum permitted size of an skb is calculated to be (XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER) - 1 - MAX_TCP_HEADER. Intuitively, this looks like the wrong formula -- we don't need two TCP headers. Instead, there is no need to deviate from the default gso_max_size of 65536 as this already accommodates the size of the header. Currently, the largest skb transmitted by netfront is 63712 bytes (44 segments of 1448 bytes each), as observed via tcpdump. This patch makes netfront send skbs of up to 65160 bytes (45 segments of 1448 bytes each). Similarly, the maximum allowable mtu does not need to subtract MAX_TCP_HEADER as it relates to the size of the whole packet, including the header. Fixes: 9ecd1a75d977 ("xen-netfront: reduce gso_max_size to account for max TCP header") Signed-off-by: Jonathan Davies <jonathan.davies@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f0d34bc344889c2e6c593bd949d7ab821f0f4a5 Merge: e4a924f 0a48127 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 2 16:16:53 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/usb/asix_common.c drivers/net/usb/sr9800.c drivers/net/usb/usbnet.c include/linux/usb/usbnet.h net/ipv4/tcp_ipv4.c net/ipv6/tcp_ipv6.c The TCP conflicts were overlapping changes. In 'net' we added a READ_ONCE() to the socket cached RX route read, whilst in 'net-next' Eric Dumazet touched the surrounding code dealing with how mini sockets are handled. With USB, it's a case of the same bug fix first going into net-next and then I cherry picked it back into net. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 152635c6eadf41931892cccaac5fe8b627d9951b Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Mon Feb 16 07:45:01 2015 -0300 [media] Revert "[media] smiapp: Don't compile of_read_number() if CONFIG_OF isn't defined" This reverts commit cb88d7384e5e05f90c1daa7750bdb467fd026261. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6c9fe765360efa97c63b89af685b620baf5e0012 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Mar 4 10:55:22 2015 -0300 [media] media: s5p-mfc: fix broken pointer cast on 64bit arch Unsigned int cannot be used to store casted pointer on 64bit architecture, so correct such casts to properly use unsigned long variables. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> [k.debski@xxxxxxxxxxx: removed volatile and __iomem from cast] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a301ea1f50e487393636901876ab44d22ec590b3 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Mar 4 10:55:21 2015 -0300 [media] media: s5p-mfc: fix mmap support for 64bit arch TASK_SIZE is depends on the systems architecture (32 or 64 bits) and it should not be used for defining offset boundary for mmaping buffers for CAPTURE and OUTPUT queues. This patch fixes support for MMAP calls on the CAPTURE queue on 64bit architectures (like ARM64). Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f95c16ea70cac9987f5cdc28b937ba83ce8f0f98 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:39 2015 -0300 [media] omap3isp: Deprecate platform data support Print a warning when the driver is used with platform data. Existing platform data users should move to DT now. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit da7f3843d2c797419af6befcc0fdd54f6e13b6f4 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:38 2015 -0300 [media] omap3isp: Add support for the Device Tree Add the ISP device to omap3 DT include file and add support to the driver to use it. Also obtain information on the external entities and the ISP configuration related to them through the Device Tree in addition to the platform data. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b6eec1c4939962838ff51b10a8feb7a49bccc0d2 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:37 2015 -0300 [media] v4l: of: Read lane-polarities endpoint property Add lane_polarities field to struct v4l2_of_bus_mipi_csi2 and write the contents of the lane-polarities property to it. The field tells the polarity of the physical lanes starting from the first one. Any unused lanes are ignored, i.e. only the polarity of the used lanes is specified. Also rework reading the "data-lanes" property a little. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9e1ee1b7307e384716a8c2cefca9036a2cf170e5 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:36 2015 -0300 [media] dt: bindings: Add lane-polarity property to endpoint nodes Add lane-polarity property to endpoint nodes. This essentially tells that the order of the differential signal wires is inverted. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8644cdf972dd6dfebf98161025900f6a9d1ad58a Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:35 2015 -0300 [media] omap3isp: Replace many MMIO regions by two The omap3isp MMIO register block is contiguous in the MMIO register space apart from the fact that the ISP IOMMU register block is in the middle of the area. Ioremap it at two occasions, and keep the rest of the layout of the register space internal to the omap3isp driver. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 503596a15225e00bdf24f0805567d5195f6c749f Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:34 2015 -0300 [media] omap3isp: Move the syscon register out of the ISP register maps The syscon register isn't part of the ISP, use it through the syscom driver regmap instead. The syscom block is considered to be from 343x on ISP revision 2.0 whereas 15.0 is assumed to have 3630 syscon. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 00ccbf2f5b7580cd7dcdaeda84828d14f0cba3c9 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Feb 19 15:56:14 2015 +0100 ftrace/x86: Let dynamic trampolines call ops->func even for dynamic fops Dynamically allocated trampolines call ftrace_ops_get_func to get the function which they should call. For dynamic fops (FTRACE_OPS_FL_DYNAMIC flag is set) ftrace_ops_list_func is always returned. This is reasonable for static trampolines but goes against the main advantage of dynamic ones, that is avoidance of going through the list of all registered callbacks for functions that are only being traced by a single callback. We can fix it by returning ops->func (or recursion safe version) from ftrace_ops_get_func whenever it is possible for dynamic trampolines. Note that dynamic trampolines are not allowed for dynamic fops if CONFIG_PREEMPT=y. Link: http://lkml.kernel.org/r/alpine.LNX.2.00.1501291023000.25445@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1424357773-13536-1-git-send-email-mbenes@xxxxxxx Reported-by: Miroslav Benes <mbenes@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4fcfeca833c48e8cb899ae9cff31de481ae52ca2 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:33 2015 -0300 [media] omap3isp: Replace mmio_base_phys array with the histogram block base Only the histogram sub-block driver uses the physical address. Do not store it for other sub-blocks. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6387b75284aa7b78c2e947934fb874444ab427e9 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:32 2015 -0300 [media] omap3isp: Calculate vpclk_div for CSI-2 The video port clock is l3_ick divided by vpclk_div. This clock must be high enough for the external pixel rate. The video port requires two clock cycles to process a pixel. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3494bb05940e4c392baeb85f77c1e7c8a78b4e1a Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:31 2015 -0300 [media] omap3isp: Rename regulators to better suit the Device Tree Rename VDD_CSIPHY1 as vdd-csiphy1 and VDD_CSIPHY2 as vdd-csiphy2. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6890874772e4c5e2925187f262893df0eb0322ba Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:30 2015 -0300 [media] omap3isp: Refactor device configuration structs for Device Tree Make omap3isp configuration data structures more suitable for consumption by the DT by separating the I2C bus information of all the sub-devices in a group and the ISP bus information from each other. The ISP bus information is made a pointer instead of being directly embedded in the struct. In the case of the DT only the sensor specific information on the ISP bus configuration is retained. The structs are renamed to reflect that. After this change the structs needed to describe device configuration can be allocated and accessed separately without those needed only in the case of platform data. The platform data related structs can be later removed once the support for platform data can be removed. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> (for cm-t35) Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4c8f14861cccb7b19cfd582e135847aa772f3854 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:29 2015 -0300 [media] omap3isp: Platform data could be NULL Only check for call platform data callback functions if there's platform data. Also take care of a few other cases where the NULL pdata pointer could have been accessed, and remove the check for NULL dev->platform_data pointer. Removing the check for NULL dev->platform_data isn't strictly needed by the DT support but there's no harm from that either: the device now can be used without sensors, for instance. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 64904b574e33f897cc425fcbe64cebab92b3c6fb Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Mar 25 19:57:28 2015 -0300 [media] omap3isp: DT support for clocks Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 703e6f625bd9400e76fd9dcda56011b67b954a10 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:27 2015 -0300 [media] omap3isp: Separate external link creation from platform data parsing Move the code which connects the external entity to an ISP entity into a separate function. This disconnects it from parsing the platform data. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8b3aff7cdd6c2e7c9a3df755b23525e393195102 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:26 2015 -0300 [media] omap3isp: Avoid a BUG_ON() in media_entity_create_link() If an uninitialised v4l2_subdev struct was passed to media_entity_create_link(), one of the BUG_ON()'s in the function will be hit since media_entity.num_pads will be zero. Avoid this by checking whether the num_pads field is non-zero for the interface. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 697cca21b09ce4c641bce821b90e90b3e95d17f6 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Mar 25 19:57:25 2015 -0300 [media] omap3isp: Fix error handling in probe The mutex was not destroyed correctly if dma_coerce_mask_and_coherent() failed for some reason. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0ff4e419dc6a409a60dc492fbbc58288af78bed7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Feb 21 17:59:54 2015 -0300 [media] media: omap3isp: hist: Move histogram DMA to DMA engine Replace the custom OMAP DMA API usage by DMA engine. Feature-wise the driver has lost the ability to get notified of DMA transfers failure through the completion handler, as the DMA engine API doesn't expose that status information. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 32346b9cc01566126034f47afd94ff8a39238d3a Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 15:58:19 2015 -0300 [media] media: omap3isp: video: Use v4l2_get_timestamp() Replace the open-coded copy by a function call. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 13dab904d5575c494d54643079f690b2a698ac14 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Mon Feb 23 17:19:31 2015 -0300 [media] media: omap3isp: video: drop setting of vb2 buffer state to VB2_BUF_STATE_ACTIVE There isn't a need to assign the state of vb2_buffer to active as this is already done by the core. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9be29369598543ff1d4800c2591640bc11ef2197 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Feb 24 07:39:49 2015 -0300 [media] media: omap3isp: video: Don't call vb2 mmap with queue lock held videobuf2 has long been subject to AB-BA style deadlocks due to the queue lock and mmap_sem being taken in different orders for the mmap operation. The problem has been fixed by making this operation callable without taking the queue lock, using an mmap_lock internal to videobuf2. The omap3isp driver still calls the mmap operation with the queue lock held, resulting in a potential deadlock. As the operation can now be called without locking the queue, fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e213568ad6b06ac828fe2a050fe4ec7b69f09f37 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Apr 2 12:00:58 2015 -0700 Bluetooth: Disallow LE local out-of-band data when LE privacy is used When the LE pivacy feature is used, then pairing has to happen based on resolvable random addresses (RPA), but currently there is no clean way to retrieve the correct RPA. So instead of returning an outdated RPA, just disallow this command when LE privacy is in use. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6886f41d885e1a0c0e95069e3c73d27eed89d8ed Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Apr 1 16:20:20 2015 -0700 selftest/mqueue: enable cross compilation Use the CC variable instead of hard coding gcc. Also clean up the compiler options by creating a CFLAGS variable. Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 5de830490454315fa64fd42a6efa6ad83bf123da Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Apr 1 16:20:19 2015 -0700 selftest/ipc: enable cross compilation Use the CC variable instead of hard coding gcc. Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit ab923bb9e2aedc9333aa0153a610a9de8993345e Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Apr 1 16:20:18 2015 -0700 selftest/memfd: include default header install path Include the default path for INSTALL_HDR_PATH to make it less intrusive when cross building. Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 365ce9997b40c763413e965bd6a3a87dfce01f74 Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Apr 1 16:20:17 2015 -0700 selftest/mount: enable cross compilation Use the CC variable instead of hard coding gcc. Also clean up the compiler options by creating a CFLAGS variable. Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 52dd5576cd0d9d23b0b83b133d853a8ef074ee77 Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Apr 1 16:20:15 2015 -0700 selftest/memfd: enable cross compilation Use the CC variable instead of hard coding gcc. Also clean up the compiler options by creating a CFLAGS variable. Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit de9ad6d4edb63e0ba5d5aae365fb3565064fc00d Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:41 2015 +0200 nbd: Return error pointer directly Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dab5313aa4e668d87253dd4289c816cb08f63e52 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:40 2015 +0200 nbd: Return error code directly By returning the error code directly, we can avoid the jump label error_out. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e018e7570c8b0f9f5a4bb0e1eff9b1e7f768f49b Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:39 2015 +0200 nbd: Remove fixme that was already fixed The mentioned problem is not present anymore. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d18509f5979881ae326e910115ab2ba914c016b6 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:38 2015 +0200 nbd: Restructure debugging prints dprintk has some name collisions with other frameworks and drivers. It is also not necessary to have these custom debug print filters. Dynamic debug offers the same amount of filtered debugging. This patch replaces all dprintks with dev_dbg(). It also removes the ioctl dprintk which prints the ingoing ioctls which should be replaceable by strace or similar stuff. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b9c495bb6d8edc719fd23af2ac67de8303cfc1e8 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:37 2015 +0200 nbd: Fix device bytesize type The block subsystem uses loff_t to store the device size. Change the type for nbd_device bytesize to loff_t. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d06df60b9460838553d37d01049d04c43a36f396 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:36 2015 +0200 nbd: Replace kthread_create with kthread_run kthread_run includes the wake_up_process() call, so instead of kthread_create() followed by wake_up_process() we can use this macro. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 13e71d69cc7444b7d840bab581dbe831e440fb62 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:35 2015 +0200 nbd: Remove kernel internal header The header is not included anywhere. Remove it and include the private nbd_device struct in nbd.c. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4e5b44ca7b5c44872b6ec172331a5545116e2d46 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:34 2015 +0200 Documentation: nbd: Add list of module parameters Add a list of available module parameters as attachment to the documentation. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ef8d9e7db285ea3d26b13dfeb6762346c95dc0d1 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Apr 2 10:11:33 2015 +0200 Documentation: nbd: Reformat to allow more documentation Reformat the existing documentation to have more structure. This allows for more documentation seperated from the existing paragraphs. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0a4812798fae4f6bfcaab51e31b3898ff5ea3108 Merge: 8172ba5 fbef403 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 11:30:36 2015 -0700 Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma Pull dmaengine fixes from Vinod Koul: "This time we have addition of caps for jz4740 which fixes intentional warning at boot. Then we have memory leak issues in drivers using virt-dma by Peter on few drive" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: moxart-dma: Fix memory leak when stopping a running transfer dmaengine: bcm2835-dma: Fix memory leak when stopping a running transfer dmaengine: omap-dma: Fix memory leak when terminating running transfer dmaengine: edma: fix memory leak when terminating running transfers dmaengine: jz4740: Define capabilities commit 8172ba51e257fdd353010cd7caaa37c8bc9eb44a Merge: d403931 f5f321c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Apr 2 11:09:41 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix use-after-free with mac80211 RX A-MPDU reorder timer, from Johannes Berg. 2) iwlwifi leaks memory every module load/unload cycles, fix from Larry Finger. 3) Need to use for_each_netdev_safe() in rtnl_group_changelink() otherwise we can crash, from WANG Cong. 4) mlx4 driver does register_netdev() too early in the probe sequence, from Ido Shamay. 5) Don't allow router discovery hop limit to decrease the interface's hop limit, from D.S. Ljungmark. 6) tx_packets and tx_bytes improperly accounted for certain classes of USB network devices, fix from Ben Hutchings. 7) ip{6}mr_rules_init() mistakenly use plain kfree to release the ipmr tables in the error path, they must instead use ip{6}mr_free_table(). Fix from WANG Cong. 8) cxgb4 doesn't properly quiesce all RX activity before unregistering the netdevice. Fix from Hariprasad Shenai. 9) Fix hash corruptions in ipvlan driver, from Jiri Benc. 10) nla_memcpy(), like a real memcpy, should fully initialize the destination buffer, even if the source attribute is smaller. Fix from Jiri Benc. 11) Fix wrong error code returned from iucv_sock_sendmsg(). We should use whatever sock_alloc_send_skb() put into 'err'. From Eugene Crosser. 12) Fix slab object leak on module unload in TIPC, from Ying Xue. 13) Need a READ_ONCE() when reading the cached RX socket route in tcp_v{4,6}_early_demux(). From Michal Kubecek. 14) Still too many problems with TPC support in the ath9k driver, so disable it for now. From Felix Fietkau. 15) When in AP mode the rtlwifi driver can leak DMA mappings, fix from Larry Finger. 16) Missing kzalloc() failure check in gs_usb CAN driver, from Colin Ian King. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (52 commits) cxgb4: Fix to dump devlog, even if FW is crashed cxgb4: Firmware macro changes for fw verison 1.13.32.0 bnx2x: Fix kdump when iommu=on bnx2x: Fix kdump on 4-port device mac80211: fix RX A-MPDU session reorder timer deletion MAINTAINERS: Update Intel Wired Ethernet Driver info tipc: fix a slab object leak net/usb/r8152: add device id for Lenovo TP USB 3.0 Ethernet af_iucv: fix AF_IUCV sendmsg() errno openvswitch: Return vport module ref before destruction netlink: pad nla_memcpy dest buffer with zeroes bonding: Bonding Overriding Configuration logic restored. ipvlan: fix check for IP addresses in control path ipvlan: do not use rcu operations for address list ipvlan: protect against concurrent link removal ipvlan: fix addr hash list corruption net: fec: setup right value for mdio hold time net: tcp6: fix double call of tcp_v6_fill_cb() cxgb4vf: Fix sparse warnings netns: don't clear nsid too early on removal ... commit e4a924f5768c55002c02ceba9b9f86824c35f956 Merge: 033f46b a45253b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Apr 2 14:05:02 2015 -0400 Merge branch 'netdev_iflink_remove' Nicolas Dichtel says: ==================== Remove iflink field from the net_device structure The first goal of this series was to advertise the veth peer via the IFLA_LINK attribute, but iflink was not ready for network namespaces. The iflink of an interface should be set to its ifindex for a physical interface and to another value (0 if not relevant) for a virtual interface. This was not the case for some interfaces, like vxlan, bond, or bridge for example. There is also a risk, if the targeted interface moves to another netns, that the ifindex changes without updating corresponding iflink fields (eg. vlan). Moving the management of this property into virtual interface drivers allows to better handle this last case because most of virtual interface drivers have a pointer to the link netdevice. Anyway, dev->iflink value was always a copy of some internal data of the virtual interface driver, thus let's use these internal data directly. So, this series removes the iflink field and let the drivers manage it. Only the last patch was present in the v1, but I fully rework it. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a45253bf32bf49cdb2807bad212b84f5ab51ac26 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:11 2015 +0200 veth: set iflink to the peer veth Now that the peer netns is advertised in rtnl messages, we can set this property so that IFLA_LINK will advertise the peer ifindex. It allows the userland to get the full veth configuration. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1622baf54df8cc958bf29d71de5ad545ea7d93c Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:10 2015 +0200 dev: set iflink to 0 for virtual interfaces Virtual interfaces are supposed to set an iflink value != of their ifindex. It was not the case for some of them, like vxlan, bond or bridge. Let's set iflink to 0 when dev->rtnl_link_ops is set. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a66bbc96ce9ad8261fa5f7f6ae65370eb6866ee Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:09 2015 +0200 net: remove iflink field from struct net_device Now that all users of iflink have the ndo_get_iflink handler available, it's possible to remove this field. By default, dev_get_iflink() returns the ifindex of the interface. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abd2be00d474956c542a1c2ec848af7196b7fd51 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:08 2015 +0200 dsa: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5aa7add8f14bc29105bca841c053f574c8d232dd Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:07 2015 +0200 infiniband/ipoib: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Roland Dreier <roland@xxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c4116588b2ad5f45c693e0f12b612b621604c92 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:06 2015 +0200 ipvlan: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef5fa6bc46ee516f732d1171323cf3b8524bb8c2 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:05 2015 +0200 macvlan: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2dbf6b5058ace6b12e0674b07d59d47177741ae7 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:04 2015 +0200 vlan: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee9b9596a8dd90fc59a910f840a419321be5917b Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:03 2015 +0200 ipmr,ip6mr: implement ndo_get_iflink Don't use dev->iflink anymore. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e99584b911cb6f3d2a681e2532d8dc3f9339c9c Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:02 2015 +0200 ipip,gre,vti,sit: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ecf2c06a88d2ed534a87b84b8c1a467ab23352dd Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:01 2015 +0200 ip6tnl,gre6,vti6: implement ndo_get_iflink Don't use dev->iflink anymore. CC: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a54acb3a6f853e8394c4cb7b6a4d93c88f13eefd Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Apr 2 17:07:00 2015 +0200 dev: introduce dev_get_iflink() The goal of this patch is to prepare the removal of the iflink field. It introduces a new ndo function, which will be implemented by virtual interfaces. There is no functional change into this patch. All readers of iflink field now call dev_get_iflink(). Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74ff960222d90999508b4ba0d3449f796695b6d5 Author: Pascal Huerst <pascal.huerst@xxxxxxxxx> Date: Thu Apr 2 10:17:40 2015 +0200 ASoC: cs4271: Increase delay time after reset The delay time after a reset in the codec probe callback was too short, and did not work on certain hw because the codec needs more time to power on. This increases the delay time from 1us to 1ms. Signed-off-by: Pascal Huerst <pascal.huerst@xxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1c550fa193d08920255240743f57731d4d57cd4d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Feb 11 18:50:09 2015 +0100 drm/panel: Add support for Ampire AM-800480R3TMQW-A1H 800x480 7" panel This adds support for the AM-800480R3TMQW-A1H 7" 800x480 panel to the DRM simple panel driver. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9df6d49adb4eecc50538e56c0bb0ccdcaae8c697 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Feb 11 18:50:08 2015 +0100 of: Add vendor prefix for Ampire Co., Ltd. Add Ampire Co., Ltd. to the list of device tree vendor prefixes. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ab07725abc9aa1e3dbc41ee429ad19336b31f207 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Dec 11 18:32:46 2014 +0100 drm/panel: Add display timing for HannStar HSD070PWW1 The HannStar HSD070PWW1 LVDS panel data sheet lists allowed ranges additionally to the typical values for pixel clock rate (64.3-82 MHz) and blanking intervals (54-681 clock cycles horizontally, 3-23 lines vertically). This patch replaces this panel's display mode with the display timing information to describe acceptable timings. Since the HSYNC and VSYNC are unused, the distribution between front porches, back porches, and sync pulse lengths was chosen at will. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a5d3e625148073587955bb0c49dbbba231b3234a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Dec 11 18:32:45 2014 +0100 drm/panel: simple: Add display timing support The simple panel driver's ->get_modes() implementation calculates the display mode list from the typical timings and the ->get_timings() implementation returns the timings to the connected encoder for mode validation and fixup. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> [treding@xxxxxxxxxx: select VIDEOMODE_HELPERS] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 2938931f3732a4ec70c299e221ec8dea01dfd796 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Dec 11 18:32:44 2014 +0100 drm/panel: Add display timing support Many panel data sheets, additionally to typical values, list allowed ranges for timings such as hsync/vsync lengths, porches, and the pixel clock rate. These can be stored in a struct display_timing, to be used by an encoder mode_fixup callback to clamp user provided timing values or to validate workarounds for clock source limitations. This patch adds a new drm_panel_funcs callback that returns the panel's available display_timing entries. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 725c9d40f3fe61256903adfab868f302e249fa2a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Feb 11 18:50:11 2015 +0100 drm/panel: Add support for OrtusTech COM43H4M85ULC panel This adds support for the COM43H4M85ULC 3.7" 800x480 panel to the DRM simple panel driver. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d75ce3854bc95f8d439a9ffcebdeb473de0605f3 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Feb 11 18:50:10 2015 +0100 of: Add vendor prefix for Ortus Technology Co., Ltd. Add Ortus Technology Co., Ltd. to the list of device tree vendor prefixes. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 33536a09f02e4b179a4594fdb986dda1415339ee Author: Philipp Zabel <philipp.zabel@xxxxxxxxx> Date: Wed Feb 11 18:50:07 2015 +0100 drm/panel: Add bus format for Giantplus GPG482739QS5 panel This patch adds the bus_format field to the GPG482739QS5 panel structure. Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a531bc3d952ffd6ebe6452bd39cb3c64cfa5ceb3 Author: Huang Lin <hl@xxxxxxxxxxxxxx> Date: Sat Feb 28 10:18:58 2015 +0800 drm/panel: simple: Add support for AUO b101ean01 panel The AUO b101ean01 panel is a 10.1" 1280x800 panel which can be supported by the simple panel driver. Signed-off-by: Huang Lin <hl@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit bccac3f121d53b645c882cae7948facb50940043 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Mar 19 12:22:44 2015 +0100 drm/panel: simple: Add support for Innolux ZJ070NA-01P The Innolux ZJ070NA-01P is a 7.0" TFT LCD panel with an integrated LED backlight unit. This panel is used on the Technexion Toucan. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 41bcceb4de9c5b120459610fe8a9157dee418d75 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 19 14:43:01 2015 +0100 drm/panel: simple: Add support for Innolux AT043TN24 The Innolux AT043TN24 4.3" WQVGA TFT LCD panel. This panel with backlight is found in PDA 4.3" LCD screen (TM43xx series for instance). Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9c6615bc379d2a85d7ef593d1c89a72abcc8186c Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 14:43:00 2015 +0100 drm/panel: simple: Add support for Shelly SCA07010-BFN-LNN The Shelly SCA07010-BFN-LNN is a 7.0" WVGA TFT LCD panel. This panel with backlight is found in PDA 7" LCD screen (TM70xx series for instance). Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0c934306ec9a63bd271a4376caa014c21b20072b Author: Stéphane Marchesin <marcheu@xxxxxxxxxxxx> Date: Wed Mar 18 10:52:18 2015 +0100 drm/panel: simple: Add support for Samsung LTN140AT29 panel This panel is used by the Nyan Blaze board and can be supported by the simple-panel driver. Signed-off-by: Stéphane Marchesin <marcheu@xxxxxxxxxxxx> [tomeu.vizoso@xxxxxxxxxxxxx: add device tree binding document] Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8494057ab5e40df590ef6ef7d66324d3ae33356b Author: Shachar Raindel <raindel@xxxxxxxxxxxx> Date: Wed Mar 18 17:39:08 2015 +0000 IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic Properly verify that the resulting page aligned end address is larger than both the start address and the length of the memory area requested. Both the start and length arguments for ib_umem_get are controlled by the user. A misbehaving user can provide values which will cause an integer overflow when calculating the page aligned end address. This overflow can cause also miscalculation of the number of pages mapped, and additional logic issues. Addresses: CVE-2014-8159 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 535a65db484ff4e4654a037f2ea7e1ff21431b77 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 10:33:03 2015 +0200 drm/tegra: sor: Reset during initialization As there isn't a way for the firmware on the Nyan Chromebooks to hand over the display to the kernel, and the kernel isn't redoing the whole configuration at present. With this patch, the SOR is brought to a known state and we get correct display on every boot. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit bdf765071a8b573f7b1ba14c02881fa3e623825e Author: Sean Paul <seanpaul@xxxxxxxxxxxx> Date: Fri Jan 30 13:57:01 2015 -0500 drm/tegra: gem: Return 64-bit offset for mmap(2) On 64-bit targets, tegra_gem_mmap() only returns a partial offset to userspace. As such, subsequent calls to mmap(2) may fail. Change the arguments to use a 64-bit offset to fix this. Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Acked-by: Erik Faye-Lund <kusmabite@xxxxxxxxx> [treding@xxxxxxxxxx: tweak commit message] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5c1c071a3667600d1b8426dba031b2d4a20a3efa Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 16:32:52 2015 +0100 drm/tegra: hdmi: Name register fields consistently Name the fields of the SOR_SEQ_CTL register consistently. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 375e118437716acdccda224abb3d464ecfe92884 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 16:14:26 2015 +0100 drm/tegra: hdmi: Resets are synchronous Resets on Tegra are synchronous, so keep the clock enabled while asserting the reset. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9d910b6068be9b6670d0ebba2ddc3e7816dd8881 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 15:25:54 2015 +0100 drm/tegra: dc: Document tegra_dc_state_setup_clock() This function is called by output drivers so should be documented. While at it, move it to a more appropriate location. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d0852ab9bb63aaf8e31d39f8819e67ce210d8dbb Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 15:10:48 2015 +0100 drm/tegra: dc: Remove unused callbacks The ->mode_set() and ->mode_set_base() callbacks are no longer used with full atomic mode-setting drivers, so remove them. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3774363c75fa32cfb415df14b362e0d426418e93 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 15:08:40 2015 +0100 drm/tegra: dc: Remove unused function The tegra_dc_setup_clock() function is unused after the conversion to atomic mode-setting, so remove it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3b59b7ac02e434f267f7cb1ef8fe48c23ddbe9a2 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 15:01:22 2015 +0100 drm/tegra: dc: Use base atomic state helpers Instead of duplicating the code, make use of the newly introduced atomic state duplicate and destroy helpers. This allows changes to the base atomic state handling to automatically propagate to the Tegra driver and thereby prevent breakage resulting from both copies going out of sync. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit f5e7840b0c4368f8cdbb055188c2a0eef50c3052 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 14:54:32 2015 +0100 drm/atomic: Add helpers for state-subclassing drivers Drivers that subclass CRTC, plane or connector state need to carefully duplicate the code that the atomic helpers have. This is bound to cause breakage eventually because it requires auditing all drivers and update them when code is added to the helpers. In order to avoid that, implement new helpers that perform the required steps when copying and destroying state. These new helpers are exported so that state-subclassing drivers can use them. The default helpers are implemented using them as well, providing a single location that needs to be changed when adding to base atomic states. Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Eric Anholt <eric@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 42e9ce0523699b3f3383b7c5c0bcc2657a77d0ca Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 14:43:05 2015 +0100 drm/tegra: dc: Implement hardware VBLANK counter The display controller on Tegra can use syncpoints to count VBLANK events. syncpoints are 32-bit unsigned integers, so well suited as VBLANK counters. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b4a20144e0c0a45431695fa5968ce2ed8c9ce6ca Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jan 28 14:29:02 2015 +0100 gpu: host1x: Export host1x_syncpt_read() This function is used to read the current value of the syncpt and is useful in situations where drivers don't schedule work and wait for the syncpoint to increment. One particular use-case is using the syncpoint as a VBLANK counter. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit dab163366a2a0f134cfa13a64ab750945648a18a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Jan 26 16:04:08 2015 +0100 drm/tegra: sor: Dump registers via debugfs Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 28fe2076004da062e9affac1cec98c697de53eb1 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Jan 26 16:02:48 2015 +0100 drm/tegra: sor: Registers are 32-bit Use a sized unsigned 32-bit data type (u32) to store register contents. The SOR registers are 32 bits wide irrespective of the architecture's data width. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 28c23373b88bcc244b573ea45596a51e9db73d2c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 23 09:16:03 2015 +0100 drm/tegra: Provide debugfs file for the IOVA space The Tegra DRM driver uses a single IO virtual address space for buffer mappings. Provide a table of the address space usage in debugfs. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d29827484b9cf6026506a0e376fb5d246580ffd8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jan 22 08:48:25 2015 +0100 drm/tegra: dc: Check for valid parent clock Check that the desired parent clock is indeed a valid parent for the display controller clock. This is purely cosmetic at this point since the parent clocks are specified in DT and all the currently defined parents are in fact valid parents of the display controller clock. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 48fd77d1444a387435c3bbc773fa4e7ab6b6aca3 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Apr 1 20:43:39 2015 -0700 kselftests: timers: Make set-timer-lat fail more gracefully for !CAP_WAKE_ALARM The set-timer-lat test fails when testing CLOCK_BOOTTIME_ALARM or CLOCK_REALTIME_ALARM when the user isn't running as root or with CAP_WAKE_ALARM. So this patch improves the error checking so we report the issue more clearly and continue rather then reporting a failure. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit bd05954bfa17f03a7bd4454178ba09786b35e383 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:19 2015 +0800 perf data: Support using -f to override perf.data file ownership for 'convert' Enable perf data convert to use perf.data when it is not owned by current user or root. Example: # perf record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 28260 Apr 2 17:35 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf data convert --to-ctf=./ctf-data/ File perf.data not owned by current user or root (use -f to override) # perf data convert --to-ctf=./ctf-data/ -f Error: unknown switch `f' usage: perf data convert [<options>] -v, --verbose be more verbose -i, --input <file> input file name --to-ctf ... Convert to CTF format After this patch: # perf data convert --to-ctf=./ctf-data/ File perf.data not owned by current user or root (use -f to override) # perf data convert --to-ctf=./ctf-data/ -f # ls ctf-data/ metadata perf_stream_0 As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-11-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e366a6d8949f3cfab01906b42c591098d59f3f35 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:18 2015 +0800 perf trace: Support using -f to override perf.data file ownership Enable perf trace to use perf.data when it is not owned by current user or root. Example: # perf trace record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 4153101 Apr 2 15:28 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf trace -i perf.data File perf.data not owned by current user or root (use -f to override) # perf trace -i perf.data -f Error: unknown switch `f' usage: perf trace [<options>] [<command>] or: perf trace [<options>] -- <command> [<options>] or: perf trace record [<options>] [<command>] or: perf trace record [<options>] -- <command> [<options>] --event <event> event selector. use 'perf list' to list available events --comm show the thread COMM next to its id --tool_stats show tool stats -e, --expr <expr> list of events to trace -o, --output <file> output file name -i, --input <file> Analyze events in file -p, --pid <pid> trace events on existing process id -t, --tid <tid> trace events on existing thread id --filter-pids <float> ... As shown above, the -f option does not work at all. After this patch: # perf trace -i perf.data File perf.data not owned by current user or root (use -f to override) # perf trace -i perf.data -f 0.056 ( 0.002 ms): ls/47325 brk( ... 0.108 ( 0.018 ms): ls/47325 mmap(len: 4096, prot: READ|WRITE, ... 0.145 ( 0.013 ms): ls/47325 access(filename: 0x7f31259a0eb0, ... 0.172 ( 0.008 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ... 0.180 ( 0.004 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ... 0.185 ( 0.004 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ... 0.189 ( 0.003 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ... 0.195 ( 0.004 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ... 0.199 ( 0.002 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ... 0.205 ( 0.004 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ... 0.211 ( 0.004 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ... 0.220 ( 0.007 ms): ls/47325 open(filename: 0x7f312599e8ff, ... ... ... As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-10-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 44f7e432e3dc8a13f5661e8b722f53645df083d1 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:17 2015 +0800 perf timechart: Support using -f to override perf.data file ownership Enable perf timechart to use perf.data when it is not owned by current user or root. Example: # perf timechart record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 5471744 Apr 2 15:15 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf timechart File perf.data not owned by current user or root (use -f to override) # perf timechart -f Error: unknown switch `f' usage: perf timechart [<options>] {record} -i, --input <file> input file name -o, --output <file> output file name -w, --width <n> page width --highlight <duration or task name> highlight tasks. Pass duration in ns or process name. -P, --power-only output power data only -T, --tasks-only output processes data only -p, --process <process> process selector. Pass a pid or process name. --symfs <directory> Look for files with symbols relative to this directory -n, --proc-num <n> min. number of tasks to print -t, --topology sort CPUs according to topology --io-skip-eagain skip EAGAIN errors --io-min-time <time> all IO faster than min-time will visually appear longer --io-merge-dist <time> merge events that are merge-dist us apart As shown above, the -f option does not work at all. After this patch: # perf timechart File perf.data not owned by current user or root (use -f to override) # perf timechart -f Written 0.0 seconds of trace to output.svg. # cat output.svg <?xml version="1.0" standalone="no"?> <!DOCTYPE svg SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width="1000" height="10110" version="1.1" xmlns="http://www.w3.org/2000/svg"> <defs> <style type="text/css"> <![CDATA[ rect { stroke-width: 1; } ... ... As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-9-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 06af0f2c919d7c8f05efebe0d96a6f22297aafd4 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:16 2015 +0800 perf script: Support using -f to override perf.data file ownership Enable perf script to use perf.data when it is not owned by current user or root. Change the short option name of --fields to -F to avoid confusion with --force. Example: # perf record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 28360 Apr 2 14:53 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf script File perf.data not owned by current user or root (use -f to override) # perf script -f Error: switch `f' requires a value usage: perf script [<options>] or: perf script [<options>] record <script> [<record-options>] <command> or: perf script [<options>] report <script> [script-args] or: perf script [<options>] <script> [<record-options>] <command> or: perf script [<options>] <top-script> [script-args] -f, --fields <str> comma separated output fields prepend with 'type:'. Valid types: hw,sw,trace,raw. Fields: comm,tid,pid,time,cpu,event,trace,ip,sym,dso,addr,symoff,period As shown above, the -f option does not work at all. And -f is already taken up by --fields, which makes --force confused, so change the short option name of --fields to -F like what other perf commands do (e.g. perf report -F) and use -f as the short option name of --force. After this patch: # perf script File perf.data not owned by current user or root (use -f to override) # perf script -f :41298 41298 2590086.564226: 1 cycles: ffffffff8103efc6 native_write_msr_safe ([kernel.kallsyms]) :41298 41298 2590086.564244: 1 cycles: ffffffff8103efc6 native_write_msr_safe ([kernel.kallsyms]) :41298 41298 2590086.564249: 7 cycles: ffffffff8103efc6 native_write_msr_safe ([kernel.kallsyms]) :41298 41298 2590086.564255: 176 cycles: ffffffff8103efc6 native_write_msr_safe ([kernel.kallsyms]) ls 41298 2590086.567346: 4059 cycles: ffffffff8105a592 raise_softirq ([kernel.kallsyms]) ls 41298 2590086.567353: 3717 cycles: ffffffff8105a592 raise_softirq ([kernel.kallsyms]) ls 41298 2590086.567358: 63058 cycles: ffffffff8105a592 raise_softirq ([kernel.kallsyms]) ls 41298 2590086.567448: 1706255 cycles: 406ae0 [unknown] (/usr/bin/ls) As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-8-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 62a1a63a77451dee8fd318a5106ca108d6a8ebcb Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:15 2015 +0800 perf mem: Support using -f to override perf.data file ownership Enable perf mem to use perf.data when it is not owned by current user or root. Example: # perf mem -t load record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 16392 Apr 2 14:34 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf mem -D report File perf.data not owned by current user or root (use -f to override) # perf mem -D -f report Error: unknown switch `f' usage: perf mem [<options>] {record|report} -t, --type <type> memory operations(load,store) Default load,store -D, --dump-raw-samples dump raw samples in ASCII -U, --hide-unresolved Only display entries resolved to a symbol -i, --input <file> input file name -C, --cpu <cpu> list of cpus to profile -x, --field-separator <separator> separator for columns, no spaces will be added between columns '.' is reserved. As shown above, the -f option does not work at all. After this patch: # perf mem -D report File perf.data not owned by current user or root (use -f to override) # perf mem -D -f report # PID, TID, IP, ADDR, LOCAL WEIGHT, DSRC, SYMBOL 39095 39095 0xffffffff81127e40 0x016ffff887f45148338 8 0x68100142 /proc/kcore:perf_event_aux 39095 39095 0xffffffff8100a3fe 0xffff89007f8cb7d0 6 0x68100142 /proc/kcore:native_sched_clock 39095 39095 0xffffffff81309139 0xffff88bf44c9ded8 6 0x68100142 /proc/kcore:acpi_map_lookup 39095 39095 0xffffffff810f8c4c 0xffff89007f8ccd88 6 0x68100142 /proc/kcore:rcu_nmi_exit 39095 39095 0xffffffff81136346 0xffff88fea995dd50 6 0x68100142 /proc/kcore:unlock_page 39095 39095 0xffffffff812a64a2 0xffff88fea995dcc8 6 0x68100142 /proc/kcore:half_md4_transform 39095 39095 0x7f0cf877c7e9 0x25dfb94 6 0x68100142 /lib64/libc-2.19.so:__readdir64 39095 39095 0x7f0cf87575a3 0x7f0cf9163731 6 0x68100142 /lib64/libc-2.19.so:__strcoll_l 39095 39095 0xffffffff8116910e 0xffffea01c1bfbd50 23 0x68100242 /proc/kcore:page_remove_rmap As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-7-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c4ac732a0377d1544a8385393a9877b693ff0652 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:14 2015 +0800 perf lock: Support using -f to override perf.data file ownership Enable perf lock to use perf.data when it is not owned by current user or root. Example: # perf lock record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 4880686 Apr 2 14:14 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf lock report File perf.data not owned by current user or root (use -f to override) Initializing perf session failed # perf lock report -f Error: unknown switch `f' usage: perf lock report [<options>] -k, --key <acquired> key for sorting (acquired / contended / avg_wait / wait_total / wait_max / wait_min) As shown above, the -f option does not work at all. After this patch: # perf lock report File perf.data not owned by current user or root (use -f to override) Initializing perf session failed # perf lock report -f Name acquired contended avg wait (ns) total wait (ns) ... &ldata->output_l... 128 0 0 0 ... &ctx->lock 114 0 0 0 ... &p->pi_lock 112 0 0 0 ... &(&pool->lock)->... 112 0 0 0 ... &(&dentry->d_loc... 70 0 0 0 ... &(&newf->file_lo... 62 0 0 0 ... &(&fs->lock)->rl... 43 0 0 0 ... ... As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-6-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8cc5ec1f754355ed788838390e86389c9ffb7590 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:13 2015 +0800 perf kvm: Support using -f to override perf.data.guest file ownership Enable perf kvm to use perf.data.guest when it is not owned by current user or root. Example: # perf kvm stat record ls # chown Yunlong.Song:Yunlong.Song perf.data.guest # ls -al perf.data.guest -rw------- 1 Yunlong.Song Yunlong.Song 4128937 Apr 2 11:05 perf.data.guest # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf kvm stat report File perf.data.guest not owned by current user or root (use -f to override) Initializing perf session failed # perf kvm stat report -f Error: unknown switch `f' usage: perf kvm stat report [<options>] --event <report event> event for reporting: vmexit, mmio (x86 only), ioport (x86 only) --vcpu <n> vcpu id to report -k, --key <sort-key> key for sorting: sample(sort by samples number) time (sort by avg time) -p, --pid <pid> analyze events only for given process id(s) As shown above, the -f option does not work at all. After this patch: # perf kvm stat report File perf.data.guest not owned by current user or root (use -f to override) Initializing perf session failed # perf kvm stat report -f Analyze events for all VMs, all VCPUs: VM-EXIT Samples Samples% Time% Min Time Max Time Avg time Total Samples:0, Total events handled time:0.00us. As shown above, the -f option really works now. Since we have not launched any KVM related process, the result shows 0 sample here. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-5-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d1eeb77c1811fd178442ccb8f58004a19ec40dd3 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:12 2015 +0800 perf kmem: Support using -f to override perf.data file ownership Enable perf kmem to use perf.data when it is not owned by current user or root. Example: # perf kmem record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 5315665 Apr 2 10:54 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf kmem stat File perf.data not owned by current user or root (use -f to override) # perf kmem stat -f Error: unknown switch `f' usage: perf kmem [<options>] {record|stat} -i, --input <file> input file name -v, --verbose be more verbose (show symbol address, etc) --caller show per-callsite statistics --alloc show per-allocation statistics -s, --sort <key[,key2...]> sort by keys: ptr, call_site, bytes, hit, pingpong, frag -l, --line <num> show n lines --raw-ip show raw ip instead of symbol As shown above, the -f option does not work at all. After this patch: # perf kmem stat File perf.data not owned by current user or root (use -f to override) # perf kmem stat -f SUMMARY ======= Total bytes requested: 437599 Total bytes allocated: 615472 Total bytes wasted on internal fragmentation: 177873 Internal fragmentation: 28.900259% Cross CPU allocations: 6/1192 As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-4-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ccaa474c8a0983d26ecb3eac755672b546b997c3 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:11 2015 +0800 perf inject: Support using -f to override perf.data file ownership Enable perf inject to use perf.data when it is not owned by current user or root. Example: # perf record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 28260 Apr 2 10:37 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf inject -v -b -i perf.data -o perf.data.new File perf.data not owned by current user or root (use -f to override) # perf inject -v -b -i perf.data -o perf.data.new -f Error: unknown switch `f' usage: perf inject [<options>] -b, --build-ids Inject build-ids into the output stream -i, --input <file> input file name -o, --output <file> output file name -s, --sched-stat Merge sched-stat and sched-switch for getting events where and how long tasks slept -v, --verbose be more verbose (show build ids, etc) --kallsyms <file> kallsyms pathname As shown above, the -f option does not work at all. After this patch: # perf inject -v -b -i perf.data -o perf.data.new File perf.data not owned by current user or root (use -f to override) # perf inject -v -b -i perf.data -o perf.data.new -f build id event received for [kernel.kallsyms]: f6dcb66d8b98f1c0d9eb87bf043444b69f91d30c symsrc__init: cannot get elf header. Looking at the vmlinux_path (7 entries long) Using /proc/kcore for kernel object code Using /proc/kallsyms for symbols As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9e3b6ec17374299516d83c2e36135b958a895aa3 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Apr 2 21:47:10 2015 +0800 perf evlist: Support using -f to override perf.data file ownership Enable perf evlist to use perf.data when it is not owned by current user or root. Example: # perf record ls # chown Yunlong.Song:Yunlong.Song perf.data # ls -al perf.data -rw------- 1 Yunlong.Song Yunlong.Song 28260 Apr 2 10:18 perf.data # id uid=0(root) gid=0(root) groups=0(root),64(pkcs11) Before this patch: # perf evlist File perf.data not owned by current user or root (use -f to override) # perf evlist -f Error: unknown switch `f' usage: perf evlist [<options>] -i, --input <file> Input file name -F, --freq Show the sample frequency -v, --verbose Show all event attr details -g, --group Show event group information As shown above, the -f option does not work at all. After this patch: # perf evlist File perf.data not owned by current user or root (use -f to override) # perf evlist -f cycles As shown above, the -f option really works now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427982439-27388-2-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c72738355b2ac79506fbfa10ffee8fe3a27e69da Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Apr 2 16:33:12 2015 +0900 perf probe: Fix to track down unnamed union/structure members Fix 'perf probe' to track down unnamed union/structure members. perf probe did not track down the tree of unnamed union/structure members, since it just failed to find given "name" in a parent structure/union. To solve this issue, I've introduced 2 changes. - Fix die_find_member() to track down the type-DIE if it is unnamed, and if it contains the specified member, returns the unnamed member. (note that we don't return found member, since unnamed member has the offset in the parent structure) - Fix convert_variable_fields() to track down the unnamed union/ structure (one-by-one). With this patch, perf probe can access unnamed fields: ----- #./perf probe -nfx ./perf lock__delete ops 'locked_ops=ops->locked.ops' Added new event: probe_perf:lock__delete (on lock__delete in /home/mhiramat/ksrc/linux-3/tools/perf/perf with ops locked_ops=ops->locked.ops) You can now use it in all perf tools, such as: perf record -e probe_perf:lock__delete -aR sleep 1 ----- Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Report-Link: https://lkml.org/lkml/2015/3/5/431 Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150402073312.14482.37942.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b83e868d0a0350c107b98417b4dcc73834506f98 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Apr 2 11:16:05 2015 -0300 perf db-export: No need to have ->thread twice in struct export_sample As it comes from address_location->thread, that is already stored as export_sample->al, where the thread can be obtained. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150402141542.GA9630@xxxxxxxxxx Link: http://lkml.kernel.org/n/tip-bzotbl4epoztw0jd6sm2stpf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7327259d7ea96d04d02e7dbe51ee9201319dc204 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Apr 2 11:08:30 2015 -0300 perf db-export: No need to pass thread twice to db_export__sample As it is available via another parameter, address_location->thread. Acked-by: 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: lkml.kernel.org/r/551D08F8.3040706@xxxxxxxxx Link: http://lkml.kernel.org/n/tip-6dbn0tcm9hyv92g7h3zj2dbt@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f9d5d549d2c2934be84b0bc7e5e034834459f591 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Apr 1 13:29:25 2015 -0300 perf scripting: No need to pass thread twice to the scripting callbacks It is already in the addr_location, so remove the redundant 'thread' parameter from the callback signatures. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> 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: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427906210-10519-3-git-send-email-acme@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 79628f2cfe0f488b23e5dc99a4a9a599032fa653 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Apr 1 13:26:45 2015 -0300 perf script: No need to lookup thread twice We get the thread when we call perf_event__preprocess_sample(), no need to do it before that. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> 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: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427906210-10519-2-git-send-email-acme@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2e54a5bdba107f80a9ba90065fb43bba0498147d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 17:57:59 2015 +0200 perf/x86/intel/pt: Fix the 32-bit build On a 32-bit build I got: arch/x86/kernel/cpu/perf_event_intel_pt.c:413:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] arch/x86/kernel/cpu/perf_event_intel_bts.c:162:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] Fix it. The code should probably be (re-)tested on 32-bit systems to make sure all is fine. Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3650b57fdf208bc0e36cbe7b5e0744bd0e0cf34d Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Mar 31 20:49:02 2015 +0530 timer: Further simplify the SMP and HOTPLUG logic Remove one CONFIG_HOTPLUG_CPU #ifdef in trade for introducing one CONFIG_SMP #ifdef. The CONFIG_SMP ifdef avoids declaring the per-CPU __tvec_bases storage on UP systems since they already have boot_tvec_bases. Also (re)add a runtime check on the base alignment -- for the paranoid amongst us :-) Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/fdd2d35e169bdc554ffa3fe77f77716298c75ada.1427814611.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8def906044c02edcedac79aa3d6310ab4d90c4d8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Mar 31 20:49:01 2015 +0530 timer: Don't initialize 'tvec_base' on hotplug There is no need to call init_timers_cpu() on every CPU hotplug event, there is not much we need to reset. - Timer-lists are already empty at the end of migrate_timers(). - timer_jiffies will be refreshed while adding a new timer, after the CPU is online again. - active_timers and all_timers can be reset from migrate_timers(). Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/54a1c30ea7b805af55beb220cadf5a07a21b0a4d.1427814611.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b337a9380f7effd60d082569dd7e0b97a7549730 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Mar 31 20:49:00 2015 +0530 timer: Allocate per-cpu tvec_base's statically Memory for the 'tvec_base' array is allocated separately for the boot CPU (statically) and non-boot CPUs (dynamically). The reason is because __TIMER_INITIALIZER() needs to set ->base to a valid pointer (because we've made NULL special, hint: lock_timer_base()) and we cannot get a compile time pointer to per-cpu entries because we don't know where we'll map the section, even for the boot cpu. This can be simplified a bit by statically allocating per-cpu memory. The only disadvantage is that memory for one of the structures will stay unused, i.e. for the boot CPU, which uses boot_tvec_bases. This will also guarantee that tvec_base is cacheline aligned. Even though tvec_base has ____cacheline_aligned stuck on, kzalloc_node() does not actually respect that (but guarantees a minimum u64 alignment). Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/17cdf560f2727f687ab159707d0aa591f8a2f82d.1427814611.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fa9c9d10e97e38d9903fad1829535175ad261f45 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Fri Mar 27 07:08:35 2015 +0800 sched/deadline: Support DL task migration during CPU hotplug I observed that DL tasks can't be migrated to other CPUs during CPU hotplug, in addition, task may/may not be running again if CPU is added back. The root cause which I found is that DL tasks will be throtted and removed from the DL rq after comsuming all their budget, which leads to the situation that stop task can't pick them up from the DL rq and migrate them to other CPUs during hotplug. The method to reproduce: schedtool -E -t 50000:100000 -e ./test Actually './test' is just a simple for loop. Then observe which CPU the test task is on and offline it: echo 0 > /sys/devices/system/cpu/cpuN/online This patch adds the DL task migration during CPU hotplug by finding a most suitable later deadline rq after DL timer fires if current rq is offline. If it fails to find a suitable later deadline rq then it falls back to any eligible online CPU in so that the deadline task will come back to us, and the push/pull mechanism should then move it around properly. Suggested-and-Acked-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427411315-4298-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3c18d447b3b36a8d3c90dc37dfbd363cdb685d0a Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Tue Mar 31 09:53:37 2015 +0100 sched/core: Check for available DL bandwidth in cpuset_cpu_inactive() Hotplug operations are destructive w.r.t. cpusets. In case such an operation is performed on a CPU belonging to an exlusive cpuset, the DL bandwidth information associated with the corresponding root domain is gone even if the operation fails (in sched_cpu_inactive()). For this reason we need to move the check we currently have in sched_cpu_inactive() to cpuset_cpu_inactive() to prevent useless cpusets reconfiguration in the CPU_DOWN_FAILED path. Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Link: http://lkml.kernel.org/r/1427792017-7356-2-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4cd57f97135840f637431c92380c8da3edbe44ed Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Tue Mar 31 09:53:36 2015 +0100 sched/deadline: Always enqueue on previous rq when dl_task_timer() fires dl_task_timer() may fire on a different rq from where a task was removed after throttling. Since the call path is: dl_task_timer() -> enqueue_task_dl() -> enqueue_dl_entity() -> replenish_dl_entity() and replenish_dl_entity() uses dl_se's rq, we can't use current's rq in dl_task_timer(), but we need to lock the task's previous one. Tested-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Fixes: 3960c8c0c789 ("sched: Make dl_task_time() use task_rq_lock()") Link: http://lkml.kernel.org/r/1427792017-7356-1-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 07c54f7a7ff77bb47bae26e566969e9c4b6fb0c6 Author: Abel Vesa <abelvesa@xxxxxxxxx> Date: Tue Mar 3 13:50:27 2015 +0200 sched/core: Remove unused argument from init_[rt|dl]_rq() Obviously, 'rq' is not used in these two functions, therefore, there is no reason for it to be passed as an argument. Signed-off-by: Abel Vesa <abelvesa@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425383427-26244-1-git-send-email-abelvesa@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cd1f11de69226cc7ce7e7f22bdab9010103ddaa6 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Mar 20 10:11:24 2015 -0700 perf/x86/intel: Avoid rewriting DEBUGCTL with the same value for LBRs perf with LBRs on has a tendency to rewrite the DEBUGCTL MSR with the same value. Add a little optimization to skip the unnecessary write. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1426871484-21285-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a78d93750bb5f61abdc59a91fc3bd06a214542a Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Mar 20 10:11:23 2015 -0700 perf/x86/intel: Streamline LBR MSR handling in PMI The perf PMI currently does unnecessary MSR accesses when LBRs are enabled. We use LBR freezing, or when in callstack mode force the LBRs to only filter on ring 3. So there is no need to disable the LBRs explicitely in the PMI handler. Also we always unnecessarily rewrite LBR_SELECT in the LBR handler, even though it can never change. 5) | /* write_msr: MSR_LBR_SELECT(1c8), value 0 */ 5) | /* read_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801 */ 5) | /* write_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801 */ 5) | /* write_msr: MSR_CORE_PERF_GLOBAL_CTRL(38f), value 70000000f */ 5) | /* write_msr: MSR_CORE_PERF_GLOBAL_CTRL(38f), value 0 */ 5) | /* write_msr: MSR_LBR_SELECT(1c8), value 0 */ 5) | /* read_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801 */ 5) | /* write_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801 */ This patch: - Avoids disabling already frozen LBRs unnecessarily in the PMI - Avoids changing LBR_SELECT in the PMI Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1426871484-21285-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 15fde1101a1aed11958e0d86bc360f01866a74b1 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Feb 27 09:48:32 2015 -0800 perf/x86: Only dump PEBS register when PEBS has been detected Technically PEBS_ENABLED is only guaranteed to exist when we detected PEBS. So add a check for this to the PMU dump function. I don't think it can happen on a real CPU, but could in a VM. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425059312-18217-4-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit da3e606d885a17525eb18afd423f5c438860b833 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Feb 27 09:48:31 2015 -0800 perf/x86: Dump DEBUGCTL in PMU dump LBRs and LBR freezing are controlled through the DEBUGCTL MSR. So dump the state of DEBUGCTL too when dumping the PMU state. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425059312-18217-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8882edf735738c949aba4b65d3ec3453066bab12 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Feb 27 09:48:30 2015 -0800 perf/x86/intel: Reset more state in PMU reset The PMU reset code didn't quite keep up with newer PMU features. Improve it a bit to really reset a modern PMU: - Clear all overflow status - Clear LBRs and freezing state - Disable fixed counters too Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425059312-18217-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b37609c30e41264c4df4acff78abfc894499a49b Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:07:04 2014 +0100 perf/x86/intel: Make the HT bug workaround conditional on HT enabled This patch disables the PMU HT bug when Hyperthreading (HT) is disabled. We cannot do this test immediately when perf_events is initialized. We need to wait until the topology information is setup properly. As such, we register a later initcall, check the topology and potentially disable the workaround. To do this, we need to ensure there is no user of the PMU. At this point of the boot, the only user is the NMI watchdog, thus we disable it during the switch and re-enable it right after. Having the workaround disabled when it is not needed provides some benefits by limiting the overhead is time and space. The workaround still ensures correct scheduling of the corrupting memory events (0xd0, 0xd1, 0xd2) when HT is off. Those events can only be measured on counters 0-3. Something else the current kernel did not handle correctly. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: maria.n.dimakopoulou@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-13-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b3738d29323344da3017a91010530cf3a58590fc Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:07:03 2014 +0100 watchdog: Add watchdog enable/disable all functions This patch adds two new functions to enable/disable the watchdog across all CPUs. This will be used by the HT PMU bug workaround code to disable/enable the NMI watchdog across quirk enablement. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: maria.n.dimakopoulou@xxxxxxxxx Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1416251225-17721-12-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c02cdbf60b51b8d98a49185535f5d527a2965142 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:07:02 2014 +0100 perf/x86/intel: Limit to half counters when the HT workaround is enabled, to avoid exclusive mode starvation This patch limits the number of counters available to each CPU when the HT bug workaround is enabled. This is necessary to avoid situation of counter starvation. Such can arise from configuration where one HT thread, HT0, is using all 4 counters with corrupting events which require exclusion the the sibling HT, HT1. In such case, HT1 would not be able to schedule any event until HT0 is done. To mitigate this problem, this patch artificially limits the number of counters to 2. That way, we can gurantee that at least 2 counters are not in exclusive mode and therefore allow the sibling thread to schedule events of the same type (system vs. per-thread). The 2 counters are not determined in advance. We simply set the limit to two events per HT. This helps mitigate starvation in case of events with specific counter constraints such a PREC_DIST. Note that this does not elimintate the starvation is all cases. But it is better than not having it. (Solution suggested by Peter Zjilstra.) Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: maria.n.dimakopoulou@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-11-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a90738c2cb0dceb882e0d7f7f9141e0062809b4d Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:07:01 2014 +0100 perf/x86/intel: Fix intel_get_event_constraints() for dynamic constraints With dynamic constraint, we need to restart from the static constraints each time the intel_get_event_constraints() is called. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-10-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b63b4b459a78a9a45ea47a4803b8d1868e9d17d5 Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Date: Mon Nov 17 20:07:00 2014 +0100 perf/x86/intel: Enforce HT bug workaround with PEBS for SNB/IVB/HSW This patch modifies the PEBS constraint tables for SNB/IVB/HSW such that corrupting events supporting PEBS activate the HT workaround. Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-9-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 93fcf72cc0fa286aa8c3e11a1a8fd4659f0e27c0 Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Date: Mon Nov 17 20:06:59 2014 +0100 perf/x86/intel: Enforce HT bug workaround for SNB/IVB/HSW This patches activates the HT bug workaround for the SNB/IVB/HSW processors. This covers non-PEBS mode. Activation is done thru the constraint tables. Both client and server processors needs this workaround. Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-8-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e979121b1b1556e184492e6fc149bbe188fc83e6 Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Date: Mon Nov 17 20:06:58 2014 +0100 perf/x86/intel: Implement cross-HT corruption bug workaround This patch implements a software workaround for a HW erratum on Intel SandyBridge, IvyBridge and Haswell processors with Hyperthreading enabled. The errata are documented for each processor in their respective specification update documents: - SandyBridge: BJ122 - IvyBridge: BV98 - Haswell: HSD29 The bug causes silent counter corruption across hyperthreads only when measuring certain memory events (0xd0, 0xd1, 0xd2, 0xd3). Counters measuring those events may leak counts to the sibling counter. For instance, counter 0, thread 0 measuring event 0xd0, may leak to counter 0, thread 1, regardless of the event measured there. The size of the leak is not predictible. It all depends on the workload and the state of each sibling hyper-thread. The corrupting events do undercount as a consequence of the leak. The leak is compensated automatically only when the sibling counter measures the exact same corrupting event AND the workload is on the two threads is the same. Given, there is no way to guarantee this, a work-around is necessary. Furthermore, there is a serious problem if the leaked count is added to a low-occurrence event. In that case the corruption on the low occurrence event can be very large, e.g., orders of magnitude. There is no HW or FW workaround for this problem. The bug is very easy to reproduce on a loaded system. Here is an example on a Haswell client, where CPU0, CPU4 are siblings. We load the CPUs with a simple triad app streaming large floating-point vector. We use 0x81d0 corrupting event (MEM_UOPS_RETIRED:ALL_LOADS) and 0x20cc (ROB_MISC_EVENTS:LBR_INSERTS). Given we are not using the LBR, the 0x20cc event should be zero. $ taskset -c 0 triad & $ taskset -c 4 triad & $ perf stat -a -C 0 -e r81d0 sleep 100 & $ perf stat -a -C 4 -r20cc sleep 10 Performance counter stats for 'system wide': 139 277 291 r20cc 10,000969126 seconds time elapsed In this example, 0x81d0 and r20cc ar eusing sinling counters on CPU0 and CPU4. 0x81d0 leaks into 0x20cc and corrupts it from 0 to 139 millions occurrences. This patch provides a software workaround to this problem by modifying the way events are scheduled onto counters by the kernel. The patch forces cross-thread mutual exclusion between counters in case a corrupting event is measured by one of the hyper-threads. If thread 0, counter 0 is measuring event 0xd0, then nothing can be measured on counter 0, thread 1. If no corrupting event is measured on any hyper-thread, event scheduling proceeds as before. The same example run with the workaround enabled, yield the correct answer: $ taskset -c 0 triad & $ taskset -c 4 triad & $ perf stat -a -C 0 -e r81d0 sleep 100 & $ perf stat -a -C 4 -r20cc sleep 10 Performance counter stats for 'system wide': 0 r20cc 10,000969126 seconds time elapsed The patch does provide correctness for all non-corrupting events. It does not "repatriate" the leaked counts back to the leaking counter. This is planned for a second patch series. This patch series makes this repatriation more easy by guaranteeing the sibling counter is not measuring any useful event. The patch introduces dynamic constraints for events. That means that events which did not have constraints, i.e., could be measured on any counters, may now be constrained to a subset of the counters depending on what is going on the sibling thread. The algorithm is similar to a cache coherency protocol. We call it XSU in reference to Exclusive, Shared, Unused, the 3 possible states of a PMU counter. As a consequence of the workaround, users may see an increased amount of event multiplexing, even in situtations where there are fewer events than counters measured on a CPU. Patch has been tested on all three impacted processors. Note that when HT is off, there is no corruption. However, the workaround is still enabled, yet not costing too much. Adding a dynamic detection of HT on turned out to be complex are requiring too much to code to be justified. This patch addresses the issue when PEBS is not used. A subsequent patch fixes the problem when PEBS is used. Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> [spinlock_t -> raw_spinlock_t] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-7-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6f6539cad926f55d5eb6e79d05bbe99f0d54d56d Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Date: Mon Nov 17 20:06:57 2014 +0100 perf/x86/intel: Add cross-HT counter exclusion infrastructure This patch adds a new shared_regs style structure to the per-cpu x86 state (cpuc). It is used to coordinate access between counters which must be used with exclusion across HyperThreads on Intel processors. This new struct is not needed on each PMU, thus is is allocated on demand. Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> [peterz: spinlock_t -> raw_spinlock_t] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-6-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 79cba822443a168c8f7f5b853d9c7225a6d5415e Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:06:56 2014 +0100 perf/x86: Add 'index' param to get_event_constraint() callback This patch adds an index parameter to the get_event_constraint() x86_pmu callback. It is expected to represent the index of the event in the cpuc->event_list[] array. When the callback is used for fake_cpuc (evnet validation), then the index must be -1. The motivation for passing the index is to use it to index into another cpuc array. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: maria.n.dimakopoulou@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-5-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5362c0c376486afcf3c91d3c2691d348ac1e2fd Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Date: Mon Nov 17 20:06:55 2014 +0100 perf/x86: Add 3 new scheduling callbacks This patch adds 3 new PMU model specific callbacks during the event scheduling done by x86_schedule_events(). ->start_scheduling(): invoked when entering the schedule routine. ->stop_scheduling(): invoked at the end of the schedule routine ->commit_scheduling(): invoked for each committed event To be used optionally by model-specific code. Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-4-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 90413464313e00fe4975f4a0ebf25fe31d01f793 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:06:54 2014 +0100 perf/x86: Vectorize cpuc->kfree_on_online Make the cpuc->kfree_on_online a vector to accommodate more than one entry and add the second entry to be used by a later patch. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-3-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a5e3fb52ae5458c8bf1a67129b96c39b541a582 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:06:53 2014 +0100 perf/x86: Rename x86_pmu::er_flags to 'flags' Because it will be used for more than just tracking the presence of extra registers. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: maria.n.dimakopoulou@xxxxxxxxx Link: http://lkml.kernel.org/r/1416251225-17721-2-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c2b078e78ace39710356a7bb6b984177d942a699 Merge: 8062382 c420f19 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 17:17:46 2015 +0200 Merge branch 'perf/urgent' into perf/core, before applying dependent patches Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8062382c8dbe2dc11d37e7f0b139508cf10de9d4 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Fri Jan 30 12:40:35 2015 +0200 perf/x86/intel/bts: Add BTS PMU driver Add support for Branch Trace Store (BTS) via kernel perf event infrastructure. The difference with the existing implementation of BTS support is that this one is a separate PMU that exports events' trace buffers to userspace by means of AUX area of the perf buffer, which is zero-copy mapped into userspace. The immediate benefit is that the buffer size can be much bigger, resulting in fewer interrupts and no kernel side copying is involved and little to no trace data loss. Also, kernel code can be traced with this driver. The old way of collecting BTS traces still works. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1422614435-114702-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 52ca9ced3f70779589e6ecc329baffe69d8f5f7a Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Fri Jan 30 12:39:52 2015 +0200 perf/x86/intel/pt: Add Intel PT PMU driver Add support for Intel Processor Trace (PT) to kernel's perf events. PT is an extension of Intel Architecture that collects information about software execuction such as control flow, execution modes and timings and formats it into highly compressed binary packets. Even being compressed, these packets are generated at hundreds of megabytes per second per core, which makes it impractical to decode them on the fly in the kernel. This driver exports trace data by through AUX space in the perf ring buffer, which is zero-copy mapped into userspace for faster data retrieval. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1422614392-114498-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4807034248bed58d49a4f9f450c024e3b0f58577 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:20 2015 +0200 perf/x86: Mark Intel PT and LBR/BTS as mutually exclusive Intel PT cannot be used at the same time as LBR or BTS and will cause a general protection fault if they are used together. In order to avoid fixing up GPs in the fast path, instead we disallow creating LBR/BTS events when PT events are present and vice versa. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-12-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ed69628b3b04578179334393d7f5fe60a2681f1c Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:19 2015 +0200 x86: Add Intel Processor Trace (INTEL_PT) cpu feature detection Intel Processor Trace is an architecture extension that allows for program flow tracing. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-11-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ec0d7729bbaed4b9d2d3fada693278e13a3d1368 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:23 2015 +0200 perf: Add ITRACE_START record to indicate that tracing has started For counters that generate AUX data that is bound to the context of a running task, such as instruction tracing, the decoder needs to know exactly which task is running when the event is first scheduled in, before the first sched_switch. The decoder's need to know this stems from the fact that instruction flow trace decoding will almost always require program's object code in order to reconstruct said flow and for that we need at least its pid/tid in the perf stream. To single out such instruction tracing pmus, this patch introduces ITRACE PMU capability. The reason this is not part of RECORD_AUX record is that not all pmus capable of generating AUX data need this, and the opposite is *probably* also true. While sched_switch covers for most cases, there are two problems with it: the consumer will need to process events out of order (that is, having found RECORD_AUX, it will have to skip forward to the nearest sched_switch to figure out which task it was, then go back to the actual trace to decode it) and it completely misses the case when the tracing is enabled and disabled before sched_switch, for example, via PERF_EVENT_IOC_DISABLE. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-15-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a5941312414c71dece6717da9a0fa1303127afa Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:18 2015 +0200 perf: Add wakeup watermark control to the AUX area When AUX area gets a certain amount of new data, we want to wake up userspace to collect it. This adds a new control to specify how much data will cause a wakeup. This is then passed down to pmu drivers via output handle's "wakeup" field, so that the driver can find the nearest point where it can generate an interrupt. We repurpose __reserved_2 in the event attribute for this, even though it was never checked to be zero before, aux_watermark will only matter for new AUX-aware code, so the old code should still be fine. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-10-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2023a0d2829e521fe6ad6b9907f3f90bfbf57142 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:17 2015 +0200 perf: Support overwrite mode for the AUX area This adds support for overwrite mode in the AUX area, which means "keep collecting data till you're stopped", turning AUX area into a circular buffer, where new data overwrites old data. It does not depend on data buffer's overwrite mode, so that it doesn't lose sideband data that is instrumental for processing AUX data. Overwrite mode is enabled at mapping AUX area read only. Even though aux_tail in the buffer's user page might be user writable, it will be ignored in this mode. A PERF_RECORD_AUX with PERF_AUX_FLAG_OVERWRITE set is written to the perf data stream every time an event writes new data to the AUX area. The pmu driver might not be able to infer the exact beginning of the new data in each snapshot, some drivers will only provide the tail, which is aux_offset + aux_size in the AUX record. Consumer has to be able to tell the new data from the old one, for example, by means of time stamps if such are provided in the trace. Consumer is also responsible for disabling any events that might write to the AUX area (thus potentially racing with the consumer) before collecting the data. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-9-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fdc2670666f40ab3e03143f04d1ebf4a05e2c24a Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:16 2015 +0200 perf: Add API for PMUs to write to the AUX area For pmus that wish to write data to ring buffer's AUX area, provide perf_aux_output_{begin,end}() calls to initiate/commit data writes, similarly to perf_output_{begin,end}. These also use the same output handle structure. Also, similarly to software counterparts, these will direct inherited events' output to parents' ring buffers. After the perf_aux_output_begin() returns successfully, handle->size is set to the maximum amount of data that can be written wrt aux_tail pointer, so that no data that the user hasn't seen will be overwritten, therefore this should always be called before hardware writing is enabled. On success, this will return the pointer to pmu driver's private structure allocated for this aux area by pmu::setup_aux. Same pointer can also be retrieved using perf_get_aux() while hardware writing is enabled. PMU driver should pass the actual amount of data written as a parameter to perf_aux_output_end(). All hardware writes should be completed and visible before this one is called. Additionally, perf_aux_output_skip() will adjust output handle and aux_head in case some part of the buffer has to be skipped over to maintain hardware's alignment constraints. Nested writers are forbidden and guards are in place to catch such attempts. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-8-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 68db7e98c3a6ebe7284b6cf14906ed7c55f3f7f0 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:15 2015 +0200 perf: Add AUX record When there's new data in the AUX space, output a record indicating its offset and size and a set of flags, such as PERF_AUX_FLAG_TRUNCATED, to mean the described data was truncated to fit in the ring buffer. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-7-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bed5b25ad9c8a2f5d735ef0bc746ec870c01c1b0 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Fri Jan 30 12:31:06 2015 +0200 perf: Add a pmu capability for "exclusive" events Usually, pmus that do, for example, instruction tracing, would only ever be able to have one event per task per cpu (or per perf_event_context). For such pmus it makes sense to disallow creating conflicting events early on, so as to provide consistent behavior for the user. This patch adds a pmu capability that indicates such constraint on event creation. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1422613866-113186-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6a279230391b63130070e0219b0ad09d34d28c89 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:13 2015 +0200 perf: Add a capability for AUX_NO_SG pmus to do software double buffering For pmus that don't support scatter-gather for AUX data in hardware, it might still make sense to implement software double buffering to avoid losing data while the user is reading data out. For this purpose, add a pmu capability that guarantees multiple high-order chunks for AUX buffer, so that the pmu driver can do switchover tricks. To make use of this feature, add PERF_PMU_CAP_AUX_SW_DOUBLEBUF to your pmu's capability mask. This will make the ring buffer AUX allocation code ensure that the biggest high order allocation for the aux buffer pages is no bigger than half of the total requested buffer size, thus making sure that the buffer has at least two high order allocations. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-5-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a4e38e64f5e91ce131cc42ee5bb3925377ec840 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:12 2015 +0200 perf: Support high-order allocations for AUX space Some pmus (such as BTS or Intel PT without multiple-entry ToPA capability) don't support scatter-gather and will prefer larger contiguous areas for their output regions. This patch adds a new pmu capability to request higher order allocations. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-4-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 45bfb2e50471abbbfd83d40d28c986078b0d24ff Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jan 14 14:18:11 2015 +0200 perf: Add AUX area to ring buffer for raw data streams This patch introduces "AUX space" in the perf mmap buffer, intended for exporting high bandwidth data streams to userspace, such as instruction flow traces. AUX space is a ring buffer, defined by aux_{offset,size} fields in the user_page structure, and read/write pointers aux_{head,tail}, which abide by the same rules as data_* counterparts of the main perf buffer. In order to allocate/mmap AUX, userspace needs to set up aux_offset to such an offset that will be greater than data_offset+data_size and aux_size to be the desired buffer size. Both need to be page aligned. Then, same aux_offset and aux_size should be passed to mmap() call and if everything adds up, you should have an AUX buffer as a result. Pages that are mapped into this buffer also come out of user's mlock rlimit plus perf_event_mlock_kb allowance. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-3-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e8c6deac69629c0cb97c3d3272f8631ef17f8f0f Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jan 14 14:18:10 2015 +0200 perf: Add data_{offset,size} to user_page Currently, the actual perf ring buffer is one page into the mmap area, following the user page and the userspace follows this convention. This patch adds data_{offset,size} fields to user_page that can be used by userspace instead for locating perf data in the mmap area. This is also helpful when mapping existing or shared buffers if their size is not known in advance. Right now, it is made to follow the existing convention that data_offset == PAGE_SIZE and data_offset + data_size == mmap_size. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-2-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9ab674e23872f5c13fa0ccb531c6bc52741d23a Author: Auguste Olivry <auguste.olivry@xxxxxx> Date: Thu Apr 2 16:07:17 2015 +0200 staging: lustre: ping_test.c : remove space after function names remove space between function names and open parentheses as reported by checkpatch.pl. Signed-off-by: Auguste Olivry <auguste.olivry@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c420f19b9cdc59662dbb56677417487efc1729ec Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Mar 9 11:20:22 2015 -0700 perf/x86/intel: Fix Haswell CYCLE_ACTIVITY.* counter constraints Some of the CYCLE_ACTIVITY.* events can only be scheduled on counter 2. Due to a typo Haswell matched those with INTEL_EVENT_CONSTRAINT, which lead to the events never matching as the comparison does not expect anything in the umask too. Fix the typo. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425925222-32361-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 687805e4a60fe83a11556c041840161f8016a367 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Mar 27 10:38:25 2015 -0400 perf/x86/intel: Filter branches for PEBS event For supporting Intel LBR branches filtering, Intel LBR sharing logic mechanism is introduced from commit b36817e88630 ("perf/x86: Add Intel LBR sharing logic"). It modifies __intel_shared_reg_get_constraints() to config lbr_sel, which is finally used to set LBR_SELECT. However, the intel_shared_regs_constraints() function is called after intel_pebs_constraints(). The PEBS event will return immediately after intel_pebs_constraints(). So it's impossible to filter branches for PEBS events. This patch moves intel_shared_regs_constraints() ahead of intel_pebs_constraints(). We can safely do that because the intel_shared_regs_constraints() function only returns empty constraint if its rejecting the event, otherwise it returns NULL such that we continue calling intel_pebs_constraints() and x86_get_event_constraint(). Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1427467105-9260-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 612544fbde1b3cf60eb1c06ce1b6640c5d61bcdd Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Apr 2 17:07:26 2015 +0200 MIPS: SEAD3: Combine all platform device registrations in one file. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 822aa3e22f6eace077b53b28176aaf001a92a61d Author: Luca Wehrstedt <luca.wehrstedt@xxxxxx> Date: Thu Apr 2 16:33:34 2015 +0200 Staging: lustre: lov_io.c: remove useless unary pluses Replace two occurrences of "+1" with simply "1". Signed-off-by: Luca Wehrstedt <luca.wehrstedt@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4a4e3f5a3e8bcd8aa778120d5f902b06a0e1019 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 27 20:43:38 2015 +0900 kbuild: ia64: use $(src)/Makefile.gate rather than particular path Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 5f655c7a4c9fcf7152b8a34e987d936f7b5255b8 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 27 20:43:37 2015 +0900 kbuild: include $(src)/Makefile rather than $(obj)/Makefile This commit actually has no impact because $(src) and $(obj) point to the same path, but $(src)/Makefile looks better when we include source files. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit a436bb7b806383ae0593cab53d17fc9676270cd3 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 27 20:43:36 2015 +0900 kbuild: use relative path more to include Makefile Prior to this commit, it was impossible to use relative path to include Makefiles from the top level Makefile because the option "--include-dir=$(srctree)" becomes effective when Make enters into sub Makefiles. To use relative path in any places, this commit moves the option above the "sub-make" target. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 7aacad53aeb57b7ff52399f56eb6d7d4010e72e9 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 27 20:43:35 2015 +0900 kbuild: use relative path to include Makefile The "MAKEFLAGS += --include-dir=$(srctree)" line in the top Makefile allows us to do this. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 21c784b93b0a19af4ae7bcce0d22120ba91970cf Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:37:00 2015 +0200 MIPS: SEAD3: Make static in sead3-ehci what can be made static. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8a58e1628ce4416490fb00e958b867fb5b9b1f90 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Mar 26 20:59:52 2015 +0900 kbuild: do not add $(bounds-file) and $(offsets-file) to targets $(always) is added to targets by scripts/Makefile.build. Moreover, filechk does not need .*.cmd files. Adding these two files to targets is redundant. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit e1abf2cc8d5d80b41c4419368ec743ccadbb131e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 15:51:39 2015 +0200 bpf: Fix the build on BPF_SYSCALL=y && !CONFIG_TRACING kernels, make it more configurable So bpf_tracing.o depends on CONFIG_BPF_SYSCALL - but that's not its only dependency, it also depends on the tracing infrastructure and on kprobes, without which it will fail to build with: In file included from kernel/trace/bpf_trace.c:14:0: kernel/trace/trace.h: In function â??trace_test_and_set_recursionâ??: kernel/trace/trace.h:491:28: error: â??struct task_structâ?? has no member named â??trace_recursionâ?? unsigned int val = current->trace_recursion; [...] It took quite some time to trigger this build failure, because right now BPF_SYSCALL is very obscure, depends on CONFIG_EXPERT. So also make BPF_SYSCALL more configurable, not just under CONFIG_EXPERT. If BPF_SYSCALL, tracing and kprobes are enabled then enable the bpf_tracing gateway as well. We might want to make this an interactive option later on, although I'd not complicate it unnecessarily: enabling BPF_SYSCALL is enough of an indicator that the user wants BPF support. Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6b09adcf6a96bbc1d7456b0a4da160fa737c6c2f Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:26:32 2015 +0200 MIPS: SEAD3: sead3-ehci should not be a module. So let's remove everythig that only make sense for a kernel module and build the thing unconditionally. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 85f215cf9b8a8888e1742bbfb00a29f609f28022 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:20:04 2015 +0200 MIPS: SEAD3: sead3-platform is not a module. So let's remove everything that only makes sense for kernel modules. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9d4b5b9e869677154bc5dd27f9cb57c8141deca5 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Apr 2 16:19:29 2015 +0200 MIPS: SEAD3: sead3-net is not a module. So let's remove everything that only makes sense for kernel modules. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1b9441f8ec426223f6f54f2af10ee01c8b743e5b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:13 2015 +0300 Bluetooth: Convert local OOB data reading to use HCI request Now that there's a HCI request API available where the callback receives the resulting skb, we can convert the local OOB data reading to use this new API. This patch does the necessary update in mgmt.c (which also requires moving the callback higher up since it's now a static function) and removes the custom calls from hci_event.c that are no-longer necessary. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 757aa0b56da5d1089c55bf349fa15836dae22b6f Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:12 2015 +0300 Bluetooth: Move hci_get_cmd_complete() to hci_event.c To make the hci_req_run_skb() API consistent with hci_cmd_sync_ev() the callback should receive the cmd_complete parameters in the 'normal' case and the full HCI event if a special event was expected. This patch moves the hci_get_cmd_complete() function from hci_core.c to hci_event.c where it's used to strip the skb from the needed headers before passing it on to the callback. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit abe66a4d036933c7376b40b0d7bb5de0458331aa Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:11 2015 +0300 Bluetooth: Remove unused hci_req_pending() function The hci_req_pending() function has no users anymore, so simply remove it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f7d9e97592aeb7742084814c5f37e25571b2d51d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:10 2015 +0300 Bluetooth: Remove unneeded recv_event variable Now that the synchronous HCI requests use the new API and a new private variable the recv_evt member of hci_dev is no-longer needed. This patch removes it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f60cb30579d3401cab1ed36b42df5c0568ae0ba7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:09 2015 +0300 Bluetooth: Convert hci_req_sync family of function to new request API Now that there's an API in place that allows passing the resulting skb to the request callback we can conveniently convert the hci_req_sync and related functions to use it. Since we still need to get the skb from the async callback into the sleeping _sync() function the patch adds another req_skb variable to hci_dev where the sync request state is tracked. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e6214487492566b15ff24e97c6747bb2e5d9e040 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:08 2015 +0300 Bluetooth: Add second hci_request callback option for full skb This patch adds a second possible callback for HCI requests where the callback will receive the full skb of the last successfully completed HCI command. This API is useful for cases where we want to use a request to read some data and the existing hci_event.c handlers do not store it e.g. in the hci_dev struct. The reason the patch is a bit bigger than just adding the new API is because the hci_req_cmd_complete() functions required some refactoring to enable it: now hci_req_cmd_complete() is simply used to request the callback pointers if any, and the actual calling of them happens from a single place at the end of hci_event_packet(). The reason for this is that we need to pass the original skb (without any skb_pull, etc modifications done to it) and it's simplest to keep track of it within the hci_event_packet() function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 444c6dd54d81edf81c606f571cb52eff4d47fa99 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Apr 2 13:41:07 2015 +0300 Bluetooth: Add clarifying comment to command status handling When dealing with HCI command status events, the reasoning for trying to mark a request as complete if no specific event is being waited for and status was success is not self-evident. This patch adds a clarifying comment above the if-statement. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 22e2e86560c5fca6f9b9d078f221fcdab9947a5e Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Mar 31 17:36:58 2015 +0200 drm/radeon: fix wait in radeon_mn_invalidate_range_start We need to wait for all fences, not just the exclusive one. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 863653fed0f449fb738295255cc834b271cfa088 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Mar 31 17:36:57 2015 +0200 drm/radeon: add extra check in radeon_ttm_tt_unpin_userptr We somehow try to free the SG table twice. Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=89734 Signed-off-by: Christian König <christian.koenig@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit adacb228d72b9529f8de0769cc33414c3012054d Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Tue Mar 17 13:24:58 2015 +0000 drm: Exynos: Respect framebuffer pitch for FIMD/Mixer When performing a modeset, use the framebuffer pitch value to set FIMD IMG_SIZE and Mixer SPAN registers. These are both defined as pitch - the distance between contiguous lines (bytes for FIMD, pixels for mixer). Fixes display on Snow (1366x768). Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b4bf2120d40b96552326a6606d5fb90e2ab04841 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Mar 25 17:08:13 2015 -0700 HID: wacom: Add support for Cintiq 13HD Touch Cintiq 13HD Touch is a new display tablet with pen and 10 finger touches. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 9188dbaed68a4b23dc96eba165265c08caa7dc2a Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Mar 26 12:41:57 2015 -0400 HID: logitech-hidpp: add a module parameter to keep firmware gestures The Logitech T650 used to report 3 fingers swipes to the up as a press on the Super key. When we switched the touchpad to the raw mode, we also disable such firmware gesture and some users may rely on it. Unfortunately, 3 finger swipes are still not supported in most of the Linux environments, which means that we disabled a feature of the touchpad. Allow users to revert the raw reporting mode and keep going with the firmware gestures by providing a new module parameter. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 43faadfe96d3f049f4ae2c4090d2e57b9aafb995 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Mon Mar 30 12:36:36 2015 +0200 HID: usbhid: yet another mouse with ALWAYS_POLL The device exists with two device IDs instead of one as previously believed. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 003e817a9ecf6cfded59630858bbf04056d71e9a Author: Oliver Neukum <oneukum@xxxxxxx> Date: Mon Mar 30 12:36:35 2015 +0200 HID: usbhid: more mice with ALWAYS_POLL During a stress test these mice kept dropping and reappearing in runlevel 1 as opposed to 5. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 345527b1edce8df719e0884500c76832a18211c3 Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 14:59:19 2015 +0530 clockevents: Fix cpu_down() race for hrtimer based broadcasting It was found when doing a hotplug stress test on POWER, that the machine either hit softlockups or rcu_sched stall warnings. The issue was traced to commit: 7cba160ad789 ("powernv/cpuidle: Redesign idle states management") which exposed the cpu_down() race with hrtimer based broadcast mode: 5d1638acb9f6 ("tick: Introduce hrtimer based broadcast") The race is the following: Assume CPU1 is the CPU which holds the hrtimer broadcasting duty before it is taken down. CPU0 CPU1 cpu_down() take_cpu_down() disable_interrupts() cpu_die() while (CPU1 != CPU_DEAD) { msleep(100); switch_to_idle(); stop_cpu_timer(); schedule_broadcast(); } tick_cleanup_cpu_dead() take_over_broadcast() So after CPU1 disabled interrupts it cannot handle the broadcast hrtimer anymore, so CPU0 will be stuck forever. Fix this by explicitly taking over broadcast duty before cpu_die(). This is a temporary workaround. What we really want is a callback in the clockevent device which allows us to do that from the dying CPU by pushing the hrtimer onto a different cpu. That might involve an IPI and is definitely more complex than this immediate fix. Changelog was picked up from: https://lkml.org/lkml/2015/2/16/213 Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Preeti U. Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: peterz@xxxxxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Fixes: http://linuxppc.10917.n7.nabble.com/offlining-cpus-breakage-td88619.html Link: http://lkml.kernel.org/r/20150330092410.24979.59887.stgit@xxxxxxxxxxxxxxxxx [ Merged it to the latest timer tree, renamed the callback, tidied up the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0149931e6d2fa995fbcee590bb6cf9007a8839fc Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Fri Mar 20 14:58:01 2015 -0700 HID: wacom: set stylus_in_proximity before checking touch_down In wacom_bpt_pen, we checked touch_down before assigning new stylus_in_proximity value. This would cause stylus_in_proximity not updated properly if touch is down before pen is in proximity. [jkosina@xxxxxxx: fix if-else style] Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7d059ed01ca18d20e0a94ef785ee81a45c19d78c Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Fri Mar 20 14:57:21 2015 -0700 HID: wacom: use wacom_wac_finger_count_touches to set touch_down Counting number of touching fingers by wacom_wac_finger_count_touches so we don't have to count them inside individual routines. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f3586d2f819af6dbe5b08d2a6f1d22b1a97e2b64 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Fri Mar 20 14:57:00 2015 -0700 HID: wacom: remove hardcoded WACOM_QUIRK_MULTI_INPUT The quirk was added for devices that support both pen and touch. It decides if a device supports multiple inputs by hardcoded feature type. However, for some devices, we do not know if they support both before accessing their HID descriptors. This patch relies on dynamically assigned device_type to make the decision. Also, we make it certain that wacom_wac->shared is always created. That is, the driver will not be loaded if it fails to create wacom_wac->shared. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1fd29be5cede285e673d3ed73d9ed9db59536b33 Merge: 5fcad16 b70b825 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Thu Apr 2 14:09:09 2015 +0200 Merge branch 'for-4.0/upstream-fixes' into for-4.1/wacom Conflicts: drivers/hid/wacom_wac.c Need to fetch the 4.0 fixes to apply 4.1 patches based on top of those. Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e754dfcfe37f49c9249152e2e98e58887a4d87c8 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Apr 2 12:30:24 2015 +0200 MIPS: BCM47xx: Move filling most of SPROM to the generic function This simplifies code a lot by dropping many per-revision-group functions. There are still some paths left that use uncommon NVRAM read helpers or fill arrays. They will need to be handled in separated patch. I've tested this (by printing SPROM content) for regressions on: 1) BCM4704 (SPROM revision 2) 2) BCM4706 (SPROM revision 8 plus 11 & 9 on extra WiFi cards) The only difference is not reading board_type from SPROM rev 11 which is unsupported and treated as rev 1. This change for rev 1 is expected. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: Jonas Gorski <jonas.gorski@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9660/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4879785ed511083676f27a016c9ad6c46c8e5737 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Fri Feb 13 04:42:37 2015 -0300 [media] vb2: Fix dma_dir setting for dma-contig mem type The last argument of vb2_dc_get_user_pages() is of type enum dma_data_direction, but the caller, vb2_dc_get_userptr() passes a value which is the result of comparison dma_dir == DMA_FROM_DEVICE. This results in the write parameter to get_user_pages() being zero in all cases, i.e. that the caller has no intent to write there. This was broken by patch "vb2: replace 'write' by 'dma_dir'". Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # for v3.19 Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d55a52ccf8f80cdf51af2c5c6e56c825f98c4f85 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Apr 2 09:13:49 2015 +0200 MIPS: BCM47xx: Add generic function filling SPROM entries Handling many SPROM revisions became messy, we have tons of functions specific to various revision groups which are quite hard to track. For years there is yet another revision 11 asking for support, but adding it in current the form would make things even worse. To resolve this problem let's add new function with table-like entries that will contain revision bitmask for every SPROM variable. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: Jonas Gorski <jonas.gorski@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9659/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7ae7ef3ffdd62454a1c0e6b69ebc7a14b523f0cc Author: Wu Zhangjin <wuzhangjin@xxxxxxxxx> Date: Sat Dec 25 23:11:49 2010 +0800 MIPS: Reduce kernel image size for !CONFIG_DEBUG_ZBOOT !CONFIG_DEBUG_ZBOOT doesn't need puts() and puthex(), remove them and the corrospindig strings for !CONFIG_DEBUG_ZBOOT, as a result, it saves about 1280 bytes. [ralf@xxxxxxxxxxxxxx: Resolved reject.] Signed-off-by: Wu Zhangjin <wuzhangjin@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Wu Zhangjin <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/1898/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 160f14312b0b7d35759535b1f60be79247b263c4 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 18:18:02 2015 +0200 MIPS: BCM47xx: Devices database update for 4.1 (or 4.2?) Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9656/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7515c6f1da334184c3ece06e6f61461086d8e2b1 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 18:18:01 2015 +0200 MIPS: BCM47xx: Keep ID entries for non-standard devices together Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9655/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5db7ccdc9f685fd742cc32efe58aa0c036f380b9 Author: Daniel Walter <dwalter@xxxxxxxxxx> Date: Tue Jun 24 16:39:59 2014 +0100 MIPS: AR7: Replace mac address parsing Replace sscanf() with mac_pton(). [ralf@xxxxxxxxxxxxxx: Resolved conflict.] Signed-off-by: Daniel Walter <dwalter@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7151/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1f8d271385d542796ab7917692908beef10acdc9 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 1 17:48:23 2015 +0100 MIPS: Lasat: Remove unused function from sysctl code. Remove the function proc_dolasatint() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8868/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 40d12172c8a5c2f3fc39642fc564b053575cd000 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 08:23:05 2015 +0200 MIPS: BCM47XX: Don't try guessing NVRAM size on MTD partition When dealing with whole flash content (bcm47xx_nvram_init_from_mem) we need to find NVRAM start trying various partition sizes (nvram_sizes). This is not needed when using MTD as we have direct partition access. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9652/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6ab7c29099390b3d23c97f14498fd26a5ef6b22b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 08:23:04 2015 +0200 MIPS: BCM47XX: Increase NVRAM buffer size to 64 KiB For years Broadcom devices use 64 KiB NVRAM partition size and some of them indeed have it filled in more than 50%. This change allows reading whole NVRAM e.g. on Netgear WNDR4500 and Netgear R8000. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9651/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 50c979109c484c07358a1ac75b99df36d563c132 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Apr 1 08:23:03 2015 +0200 MIPS: BCM47XX: Include io.h directly and fix brace indent We use IO functions like readl & ioremap_nocache, so include linux/io.h Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9650/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e2e7f29af84aa59dd8191b9f6fee80aafa4e06cd Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Date: Sun Nov 16 01:02:29 2014 +0000 MIPS: c-r4k.c: Fix the 74K D-cache alias erratum workaround Fix the 74K D-cache alias erratum workaround so that it actually works. Our current code sets MIPS_CACHE_VTAG for the D-cache, but that flag only has any effect for the I-cache. Additionally MIPS_CACHE_PINDEX is set for the D-cache if CP0.Config7.AR is also set for an affected processor, leading to confusing information in the bootstrap log (the flag isn't used beyond that). So delete the setting of MIPS_CACHE_VTAG and rely on MIPS_CACHE_ALIASES, set in a common place, removing I-cache coherency issues seen in GDB testing with software breakpoints, gdbserver and ptrace(2), on affected systems. While at it add a little piece of explanation of what CP0.Config6.SYND is so that people do not have to chase documentation. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8507/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 12a8471de9e8dc3c867e15bbf4a37152d2f690b8 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Feb 11 13:27:19 2015 -0800 MIPS: Remove prototype for copy_user_page MIPS architecture code does not provide copy_user_page, so it should not provide a prototype for it either. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9266/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7f65ef01e131650d455875598099cd06fea6096b Merge: 509fca8 2f119c7 d4b0366 b61e2e6 804cb54 89be34a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Apr 2 13:33:19 2015 +0200 Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'arm/smmu', 'arm/tegra' and 'core' into next Conflicts: drivers/iommu/amd_iommu.c drivers/iommu/tegra-gart.c drivers/iommu/tegra-smmu.c commit d4b036648402bb4ef6d4a0df51375a2fb705b6cc Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:52 2015 +0200 iommu/amd: Correctly encode huge pages in iommu page tables When a default page-size for given level should be mapped, the level encoding must be 0 rather than 7. This fixes an issue seen on IOMMUv2 hardware, where this encoding is enforced. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit b24b1b63a37d05d61601d643ef30f95dd2452048 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:51 2015 +0200 iommu/amd: Optimize amd_iommu_iova_to_phys for new fetch_pte interface Now that fetch_pte returns the page-size of the pte, this function can be optimized too. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5d7c94c3f4f20964b217d64ee44a9a08320c315a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:50 2015 +0200 iommu/amd: Optimize alloc_new_range for new fetch_pte interface Now that fetch_pte returns the page-size of the pte, the call in this function can also be optimized a little bit. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 71b390e9bec5121d25c45326ff0b0b96a143f9a8 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:49 2015 +0200 iommu/amd: Optimize iommu_unmap_page for new fetch_pte interface Now that fetch_pte returns the page-size of the pte, this function can be optimized a lot. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 3039ca1b1c37e61cc9239dbb3903db55141ecabd Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:48 2015 +0200 iommu/amd: Return the pte page-size in fetch_pte Extend the fetch_pte function to also return the page-size that is mapped by the returned pte. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 3b839a57998515bb44c091bbcb8ea0da9d2adef4 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:47 2015 +0200 iommu/amd: Add support for contiguous dma allocator Add code to allocate memory from the contiguous memory allocator to support coherent allocations larger than 8MB. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5fc872c7323534e8f7dc21bab635e7a9b9659e07 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:46 2015 +0200 iommu/amd: Don't allocate with __GFP_ZERO in alloc_coherent Don't explicitly add __GFP_ZERO to the allocator flags. Leave this up to the caller. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7139a2e929b9e3ca8d5c217cb8aec560be1faf00 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:45 2015 +0200 iommu/amd: Ignore BUS_NOTIFY_UNBOUND_DRIVER event Detaching a device from its domain at this event is problematic for several reasons: * The device might me in an alias group and detaching it will also detach all other devices in the group. This removes valid DMA mappings from the other devices causing io-page-faults and lets these devices fail. * Devices might have unity mappings specified by the IVRS table. These mappings are required for the device even when no device driver is attached. Detaching the device from its domain in driver unbind will also remove these unity mappings. This patch removes the handling of the BUS_NOTIFY_UNBOUND_DRIVER event to prevent these issues and align it better with the behavior of the VT-d driver. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 6c5cc8015793cdfd56d9997bcfddf2740ff716c5 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Apr 1 14:58:44 2015 +0200 iommu/amd: Use BUS_NOTIFY_REMOVED_DEVICE Use the new device-notifier event instead of the old BUS_NOTIFY_DEL_DEVICE to make sure the device driver had a chance to uninit the device before all its mappings are teared down. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 9811e35359d4b18baf5bb603b225e957255b9c46 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:26 2015 -0700 samples/bpf: Add kmem_alloc()/free() tracker tool One BPF program attaches to kmem_cache_alloc_node() and remembers all allocated objects in the map. Another program attaches to kmem_cache_free() and deletes corresponding object from the map. User space walks the map every second and prints any objects which are older than 1 second. Usage: $ sudo tracex4 Then start few long living processes. The 'tracex4' will print something like this: obj 0xffff880465928000 is 13sec old was allocated at ip ffffffff8105dc32 obj 0xffff88043181c280 is 13sec old was allocated at ip ffffffff8105dc32 obj 0xffff880465848000 is 8sec old was allocated at ip ffffffff8105dc32 obj 0xffff8804338bc280 is 15sec old was allocated at ip ffffffff8105dc32 $ addr2line -fispe vmlinux ffffffff8105dc32 do_fork at fork.c:1665 As soon as processes exit the memory is reclaimed and 'tracex4' prints nothing. Similar experiment can be done with the __kmalloc()/kfree() pair. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-10-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5c7fc2d27d004f28f3a94b35edd40e68f779e35a Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:25 2015 -0700 samples/bpf: Add IO latency analysis (iosnoop/heatmap) tool BPF C program attaches to blk_mq_start_request()/blk_update_request() kprobe events to calculate IO latency. For every completed block IO event it computes the time delta in nsec and records in a histogram map: map[log10(delta)*10]++ User space reads this histogram map every 2 seconds and prints it as a 'heatmap' using gray shades of text terminal. Black spaces have many events and white spaces have very few events. Left most space is the smallest latency, right most space is the largest latency in the range. Usage: $ sudo ./tracex3 and do 'sudo dd if=/dev/sda of=/dev/null' in other terminal. Observe IO latencies and how different activity (like 'make kernel') affects it. Similar experiments can be done for network transmit latencies, syscalls, etc. '-t' flag prints the heatmap using normal ascii characters: $ sudo ./tracex3 -t heatmap of IO latency # - many events with this latency - few events |1us |10us |100us |1ms |10ms |100ms |1s |10s *ooo. *O.#. # 221 . *# . # 125 .. .o#*.. # 55 . . . . .#O # 37 .# # 175 .#*. # 37 # # 199 . . *#*. # 55 *#..* # 42 # # 266 ...***Oo#*OO**o#* . # 629 # # 271 . .#o* o.*o* # 221 . . o* *#O.. # 50 Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-9-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d822a192684912c80950d28a0b7adc96261e957c Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:24 2015 -0700 samples/bpf: Add counting example for kfree_skb() function calls and the write() syscall this example has two probes in one C file that attach to different kprove events and use two different maps. 1st probe is x64 specific equivalent of dropmon. It attaches to kfree_skb, retrevies 'ip' address of kfree_skb() caller and counts number of packet drops at that 'ip' address. User space prints 'location - count' map every second. 2nd probe attaches to kprobe:sys_write and computes a histogram of different write sizes Usage: $ sudo tracex2 location 0xffffffff81695995 count 1 location 0xffffffff816d0da9 count 2 location 0xffffffff81695995 count 2 location 0xffffffff816d0da9 count 2 location 0xffffffff81695995 count 3 location 0xffffffff816d0da9 count 2 557145+0 records in 557145+0 records out 285258240 bytes (285 MB) copied, 1.02379 s, 279 MB/s syscall write() stats byte_size : count distribution 1 -> 1 : 3 | | 2 -> 3 : 0 | | 4 -> 7 : 0 | | 8 -> 15 : 0 | | 16 -> 31 : 2 | | 32 -> 63 : 3 | | 64 -> 127 : 1 | | 128 -> 255 : 1 | | 256 -> 511 : 0 | | 512 -> 1023 : 1118968 |************************************* | Ctrl-C at any time. Kernel will auto cleanup maps and programs $ addr2line -ape ./bld_x64/vmlinux 0xffffffff81695995 0xffffffff816d0da9 0xffffffff81695995: ./bld_x64/../net/ipv4/icmp.c:1038 0xffffffff816d0da9: ./bld_x64/../net/unix/af_unix.c:1231 Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-8-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b896c4f95ab4052d6bad3acde95167d30242a84f Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:23 2015 -0700 samples/bpf: Add simple non-portable kprobe filter example tracex1_kern.c - C program compiled into BPF. It attaches to kprobe:netif_receive_skb() When skb->dev->name == "lo", it prints sample debug message into trace_pipe via bpf_trace_printk() helper function. tracex1_user.c - corresponding user space component that: - loads BPF program via bpf() syscall - opens kprobes:netif_receive_skb event via perf_event_open() syscall - attaches the program to event via ioctl(event_fd, PERF_EVENT_IOC_SET_BPF, prog_fd); - prints from trace_pipe Note, this BPF program is non-portable. It must be recompiled with current kernel headers. kprobe is not a stable ABI and BPF+kprobe scripts may no longer be meaningful when kernel internals change. No matter in what way the kernel changes, neither the kprobe, nor the BPF program can ever crash or corrupt the kernel, assuming the kprobes, perf and BPF subsystem has no bugs. The verifier will detect that the program is using bpf_trace_printk() and the kernel will print 'this is a DEBUG kernel' warning banner, which means that bpf_trace_printk() should be used for debugging of the BPF program only. Usage: $ sudo tracex1 ping-19826 [000] d.s2 63103.382648: : skb ffff880466b1ca00 len 84 ping-19826 [000] d.s2 63103.382684: : skb ffff880466b1d300 len 84 ping-19826 [000] d.s2 63104.382533: : skb ffff880466b1ca00 len 84 ping-19826 [000] d.s2 63104.382594: : skb ffff880466b1d300 len 84 Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-7-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9c959c863f8217a2ff3d7c296e8223654d240569 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:22 2015 -0700 tracing: Allow BPF programs to call bpf_trace_printk() Debugging of BPF programs needs some form of printk from the program, so let programs call limited trace_printk() with %d %u %x %p modifiers only. Similar to kernel modules, during program load verifier checks whether program is calling bpf_trace_printk() and if so, kernel allocates trace_printk buffers and emits big 'this is debug only' banner. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-6-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d9847d310ab4003725e6ed1822682e24bd406908 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:21 2015 -0700 tracing: Allow BPF programs to call bpf_ktime_get_ns() bpf_ktime_get_ns() is used by programs to compute time delta between events or as a timestamp Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-5-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2541517c32be2531e0da59dfd7efc1ce844644f5 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:20 2015 -0700 tracing, perf: Implement BPF programs attached to kprobes BPF programs, attached to kprobes, provide a safe way to execute user-defined BPF byte-code programs without being able to crash or hang the kernel in any way. The BPF engine makes sure that such programs have a finite execution time and that they cannot break out of their sandbox. The user interface is to attach to a kprobe via the perf syscall: struct perf_event_attr attr = { .type = PERF_TYPE_TRACEPOINT, .config = event_id, ... }; event_fd = perf_event_open(&attr,...); ioctl(event_fd, PERF_EVENT_IOC_SET_BPF, prog_fd); 'prog_fd' is a file descriptor associated with BPF program previously loaded. 'event_id' is an ID of the kprobe created. Closing 'event_fd': close(event_fd); ... automatically detaches BPF program from it. BPF programs can call in-kernel helper functions to: - lookup/update/delete elements in maps - probe_read - wraper of probe_kernel_read() used to access any kernel data structures BPF programs receive 'struct pt_regs *' as an input ('struct pt_regs' is architecture dependent) and return 0 to ignore the event and 1 to store kprobe event into the ring buffer. Note, kprobes are a fundamentally _not_ a stable kernel ABI, so BPF programs attached to kprobes must be recompiled for every kernel version and user must supply correct LINUX_VERSION_CODE in attr.kern_version during bpf_prog_load() call. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-4-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 72cbbc8994242b5b43753738c01bf07bf29cb70d Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Mar 25 12:49:19 2015 -0700 tracing: Add kprobe flag add TRACE_EVENT_FL_KPROBE flag to differentiate kprobe type of tracepoints, since bpf programs can only be attached to kprobe type of PERF_TYPE_TRACEPOINT perf events. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-3-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4e537f7fbdce5e8ae7c33ebaa8a1956c7727d5a7 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Mar 25 12:49:18 2015 -0700 bpf: Make internal bpf API independent of CONFIG_BPF_SYSCALL #ifdefs Socket filter code and other subsystems with upcoming eBPF support should not need to deal with the fact that we have CONFIG_BPF_SYSCALL defined or not. Having the bpf syscall as a config option is a nice thing and I'd expect it to stay that way for expert users (I presume one day the default setting of it might change, though), but code making use of it should not care if it's actually enabled or not. Instead, hide this via header files and let the rest deal with it. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427312966-8434-2-git-send-email-ast@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 223aa646d5aa6096230a9481e4c6c9cb67cfc4a6 Merge: aaa9fa3 34f4392 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 13:22:35 2015 +0200 Merge branch 'perf/timer' into perf/core This WIP branch is now ready to be merged. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a6fcb6d4804b51ffcae7881c7f99483f4981ddf1 Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:15:36 2015 +0100 x86/intel/quark: Run IMR self-test on IMR capble hw only Automated testing with LKP shows IMR self test code running and printing error messages on QEMU hardware lacking IMR support. Update IMR self-test code to run only when IMR hardware should be present. Tested on Quark X1000 and QEMU. Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Acked-by: Ong Boon Leong <boon.leong.ong@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: andriy.shevchenko@xxxxxxxxx Cc: dvhart@xxxxxxxxxxxxxxx Cc: huang.ying.caritas@xxxxxxxxx Cc: ying.huang@xxxxxxxxx Link: http://lkml.kernel.org/r/1427800536-32339-1-git-send-email-pure.logic@xxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 453dcdb5ba048011d823cd31710f78ce2fd57da3 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Apr 2 16:11:35 2015 +0530 dmaengine: fsl_raid: statify fsl_re_chan_probe Function fsl_re_chan_probe should be declared static, so do it Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ad80da658bbcaaac1d3617ea6cb0f4d5e16da422 Author: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx> Date: Tue Mar 3 14:26:22 2015 +0800 dmaengine: Driver support for FSL RaidEngine device. The RaidEngine is a new FSL hardware used for Raid5/6 acceration. This patch enables the RaidEngine functionality and provides hardware offloading capability for memcpy, xor and pq computation. It works with async_tx. Signed-off-by: Harninder Rai <harninder.rai@xxxxxxxxxxxxx> Signed-off-by: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a3f92e8ebe1547705dfda9c04bacb31417510692 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Apr 2 17:50:56 2015 +0800 dmaengine: xgene_dma_init_ring_mngr() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9eed56e889d8a0bb7870e1216d8d4326dd63ec50 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 11:26:23 2015 +0200 clockevents: Clean up clockchips.h Do various cleanups on the clockchips.h file: - indent preprocessor blocks to make it more clear which block we are in, this also makes merge resolution easier - comment larger preprocessor blocks consistently, using the: #if FOO ... #else /* !FOO: */ ... #endif /* !FOO */ notation. - unbreak lines - etc. No change in functionality. Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3f85483bd80ef1de8cbbf0361be59f6a069b59d4 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Wed Apr 1 10:12:14 2015 -0400 x86/cpu: Factor out common CPU initialization code, fix 32-bit Xen PV guests Some of x86 bare-metal and Xen CPU initialization code is common between the two and therefore can be factored out to avoid code duplication. As a side effect, doing so will also extend the fix provided by commit a7fcf28d431e ("x86/asm/entry: Replace this_cpu_sp0() with current_top_of_stack() to x86_32") to 32-bit Xen PV guests. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: konrad.wilk@xxxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427897534-5086-1-git-send-email-boris.ostrovsky@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 40e4f2d177f748a83e7639554ea7d11568a9fa1f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Apr 1 16:50:58 2015 +0200 x86/asm/boot/64: Use __BOOT_TSS instead of literal $0x20 __BOOT_TSS = (GDT_ENTRY_BOOT_TSS * 8) GDT_ENTRY_BOOT_TSS = (GDT_ENTRY_BOOT_CS + 2) GDT_ENTRY_BOOT_CS = 2 (2 + 2) * 8 = 4 * 8 = 32 = 0x20 No code changes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427899858-7165-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0784b36448a2a85b95b6eb21a69b9045c896c065 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Apr 1 16:50:57 2015 +0200 x86/asm/entry/64: Fold the 'test_in_nmi' macro into its only user No code changes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427899858-7165-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f59df35fc28167886a0caf9f15db2f4a1f5932da Author: Steffen Liebergeld <steffen.liebergeld@xxxxxxxxxxxxxxx> Date: Thu Apr 2 11:01:59 2015 +0200 kgdb/x86: Fix reporting of 'si' in kgdb on x86_64 This patch fixes an error in kgdb for x86_64 which would report the value of dx when asked to give the value of si. Signed-off-by: Steffen Liebergeld <steffen.liebergeld@xxxxxxxxxxxxxxx> Cc: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3ae7a939165c6159afb3c09e1d7405b6d1807f2b Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Apr 2 11:26:06 2015 +0200 tick: Further simplify tick-internal.h Move the broadcasting related section to the GENERIC_CLOCKEVENTS=y section - this also solves build failures on architectures that don't use generic clockevents yet. Also standardize include file style to make it easier to read, and use nesting depth aware preprocessor directives to make future merges easier. Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7ea24169097d3d3a3eab2dcc5773bc43fd5593e7 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Apr 1 14:26:34 2015 -0700 x86/asm/entry/64: Disable opportunistic SYSRET if regs->flags has TF set When I wrote the opportunistic SYSRET code, I missed an important difference between SYSRET and IRET. Both instructions are capable of setting EFLAGS.TF, but they behave differently when doing so: - IRET will not issue a #DB trap after execution when it sets TF. This is critical -- otherwise you'd never be able to make forward progress when returning to userspace. - SYSRET, on the other hand, will trap with #DB immediately after returning to CPL3, and the next instruction will never execute. This breaks anything that opportunistically SYSRETs to a user context with TF set. For example, running this code with TF set and a SIGTRAP handler loaded never gets past 'post_nop': extern unsigned char post_nop[]; asm volatile ("pushfq\n\t" "popq %%r11\n\t" "nop\n\t" "post_nop:" : : "c" (post_nop) : "r11"); In my defense, I can't find this documented in the AMD or Intel manual. Fix it by using IRET to restore TF. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 2a23c6b8a9c4 ("x86_64, entry: Use sysret to return to userspace when possible") Link: http://lkml.kernel.org/r/9472f1ca4c19a38ecda45bba9c91b7168135fcfa.1427923514.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e1e2f6e4c5759aab3a8cfb1a0c19017ea770dfd2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Jan 9 19:34:43 2015 +0100 ARM: 8276/1: Make CPU_DCACHE_DISABLE depend on !SMP Enabling CPU_DCACHE_DISABLE on a SMP capable system will prevent the kernel from booting because of the following ldrex instruction in arch_spin_lock: (gdb) x/10i $pc => 0xc053cfa8 <_raw_spin_lock+4>: ldrex r3, [r0] 0xc053cfac <_raw_spin_lock+8>: add r2, r3, #65536 ; 0x10000 which is taken by the very first printk call: at /home/fainelli/work/linux/arch/arm/include/asm/spinlock.h:65 fmt=0xc0637650 " 01 66Booting Linux on physical CPU 0x%xn", args=<incomplete type>) at kernel/printk/printk.c:1525 fmt=0xc05370f4 <printk+52> " 24320215342 04340235344 20320215342 36377/341 17") at kernel/printk/printk.c:1688 ldrex requires exclusive monitor(s) (local or global) which are no longer working when the Data cache is disabled in CP15 and will just hang the CPU there. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 38e42f121601fc0640c032871a38efa5a59cff68 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Thu Mar 26 08:58:31 2015 +0100 ARM: 8335/1: Documentation: DT bindings: Tegra AHB: document the legacy base address Documentation: DT bindings: Tegra AHB: require the legacy base address for existing chips Per Stephen Warren, note in the Tegra AHB DT binding documentation that we specifically deprecate any attempt to use the IP block's actual hardware base address, and advocate the use of the legacy "off-by-four" address in the 'regs' property, for Tegra chips with existing upstream Linux DT files that include a Tegra AHB node. This patch updates the documentation accordingly. Changing the existing kernel DT data isn't under consideration because Linux kernel DT data policy is to preserve compatibility between newer DT data files and older kernels. However, this additional step of changing the documentation should discourage others from sending kernel patches to try to change the legacy kernel DT data. Furthermore, for out-of-tree software (such as bootloaders or other operating systems) that may rely on Linux kernel DT binding documentation as an ABI (but not the Linux kernel DT data itself), such a change may allow future convergence with the Linux kernel DT data without additional code changes. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ce7a10b0ff3db63a43d2d7885aa0f43dc8c96419 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Thu Mar 26 08:56:35 2015 +0100 ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address amba: tegra-ahb: detect and correct bogus base address From a hardware SoC integration point of view, the starting address of this IP block in the existing Tegra SoC DT files is off by 4 bytes from the actual base address. Since we attempt to make old DT files forward-compatible with newer kernels, we cannot fix the IP block base address in old DT data. This patch works around the problem by detecting the four byte base address offset in the driver code, and correcting it if it's detected. (In general, IP block base addresses almost always have a null low byte.) Future SoC DT data for Tegra AHB should use the correct Tegra AHB base address, in cases where there is no DT data backward compatibility requirement. This patch is a revision of the patch originally titled "amba: tegra-ahb: use correct base address for future chip support". This revision implements changes requested by Russell King: http://marc.info/?l=linux-tegra&m=142658851825062&w=2 http://marc.info/?l=linux-tegra&m=142658873925178&w=2 Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Hiroshi DOYU <hdoyu@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 049e4b3f801778569c619324a36b4518d955dba4 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Thu Mar 26 08:53:57 2015 +0100 ARM: 8333/1: amba: tegra-ahb: fix register offsets in the macros amba: tegra-ahb: fix register offsets in the macros From a hardware SoC integration point of view, the offsets of the Tegra AHB registers that are currently defined in tegra-ahb.c macros are all off by four bytes. Similarly, the starting address of this IP block in our existing DT files is also off by four bytes. Since we attempt to make old DT files forward-compatible with newer kernels, we cannot fix the IP block base address in old DT data. However, we can fix the offsets in the driver so that they are correct with respect to the hardware, which is what this patch does. And a subsequent patch will allow the offset to be removed for DT 'compatible' strings used in future DT files for newer Tegra chips that the kernel does not yet support. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Hiroshi DOYU <hdoyu@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c14e2591bf54c45c9f80cf728fb90976c4e10384 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 21:40:37 2015 +0200 ASoC: atmel-pcm-dma: increase buffer_bytes_max atmel-pcm-dma is not limited to a buffer size of 64kB like atmel-pcm-pdc. Increase buffer_bytes_max to 512kB to allow for higher bit rates (i.e. 32bps at 192kHz) to work correctly. By default, keep the prealloc at 64kB. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7c07005eea967db09163491d39bd0c1cda485c21 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Wed Apr 1 13:37:11 2015 +0100 ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL Several interrupt controllers support both edge and level interrupts, so it's useful to provide that information in /proc/interrupts. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit fee3fd4fd2ad136b26226346c3f8b446cc120bf5 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Wed Apr 1 13:36:57 2015 +0100 ARM: 8338/1: kexec: Relax SMP validation to improve DT compatibility When trying to kexec into a new kernel on a platform where multiple CPU cores are present, but no SMP bringup code is available yet, the kexec_load system call fails with: kexec_load failed: Invalid argument The SMP test added to machine_kexec_prepare() in commit 2103f6cba61a8b8b ("ARM: 7807/1: kexec: validate CPU hotplug support") wants to prohibit kexec on SMP platforms where it cannot disable secondary CPUs. However, this test is too strict: if the secondary CPUs couldn't be enabled in the first place, there's no need to disable them later at kexec time. Hence skip the test in the absence of SMP bringup code. This allows to add all CPU cores to the DTS from the beginning, without having to implement SMP bringup first, improving DT compatibility. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 81f8a7be6642b4c26ab681b2e0f4c4120a6de1b0 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Apr 1 17:26:23 2015 +0200 mmc: Add support for marking hpi as broken through devicetree The eMMC on a tablet I've will stop working / communicating as soon as the kernel executes: mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HPI_MGMT, 1, card->ext_csd.generic_cmd6_time); There seems to be no way to reliable identify eMMC-s which have a broken hpi implementation, but at least for eMMC's which are soldered onto a board we can work around this by specifying that hpi is broken in devicetree. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 49f28aa6b0d0735dbe5f04263c49a199ed0c5bb7 Author: Tomasz Figa <tfiga@xxxxxxxxxxxx> Date: Wed Apr 1 07:26:33 2015 +0100 ARM: 8337/1: mm: Do not invoke OOM for higher order IOMMU DMA allocations IOMMU should be able to use single pages as well as bigger blocks, so if higher order allocations fail, we should not affect state of the system, with events such as OOM killer, but rather fall back to order 0 allocations. This patch changes the behavior of ARM IOMMU DMA allocator to use __GFP_NORETRY, which bypasses OOM invocation, for orders higher than zero and, only if that fails, fall back to normal order 0 allocation which might invoke OOM killer. Signed-off-by: Tomasz Figa <tfiga@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 045ab94e10ee17038066d71abc8fdce719ab56f9 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Apr 1 17:02:45 2015 +0100 ARM: move reboot code to arch/arm/kernel/reboot.c Move shutdown and reboot related code to a separate file, out of process.c. This helps to avoid polluting process.c with non-process related code. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 767bf7e7a1e82a81c59778348d156993d0a6175d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Apr 1 16:20:39 2015 +0100 ARM: fix broken hibernation Normally, when a CPU wants to clear a cache line to zero in the external L2 cache, it would generate bus cycles to write each word as it would do with any other data access. However, a Cortex A9 connected to a L2C-310 has a specific feature where the CPU can detect this operation, and signal that it wants to zero an entire cache line. This feature, known as Full Line of Zeros (FLZ), involves a non-standard AXI signalling mechanism which only the L2C-310 can properly interpret. There are separate enable bits in both the L2C-310 and the Cortex A9 - the L2C-310 needs to be enabled and have the FLZ enable bit set in the auxiliary control register before the Cortex A9 has this feature enabled. Unfortunately, the suspend code was not respecting this - it's not obvious from the code: swsusp_arch_suspend() cpu_suspend() /* saves the Cortex A9 auxiliary control register */ arch_save_image() soft_restart() /* turns off FLZ in Cortex A9, and disables L2C */ cpu_resume() /* restores the Cortex A9 registers, inc auxcr */ At this point, we end up with the L2C disabled, but the Cortex A9 with FLZ enabled - which means any memset() or zeroing of a full cache line will fail to take effect. A similar issue exists in the resume path, but it's slightly more complex: swsusp_arch_suspend() cpu_suspend() /* saves the Cortex A9 auxiliary control register */ arch_save_image() /* image with A9 auxcr saved */ ... swsusp_arch_resume() call_with_stack() arch_restore_image() /* restores image with A9 auxcr saved above */ soft_restart() /* turns off FLZ in Cortex A9, and disables L2C */ cpu_resume() /* restores the Cortex A9 registers, inc auxcr */ Again, here we end up with the L2C disabled, but Cortex A9 FLZ enabled. There's no need to turn off the L2C in either of these two paths; there are benefits from not doing so - for example, the page copies will be faster with the L2C enabled. Hence, fix this by providing a variant of soft_restart() which can be used without turning the L2 cache controller off, and use it in both of these paths to keep the L2C enabled across the respective resume transitions. Fixes: 8ef418c7178f ("ARM: l2c: trial at enabling some Cortex-A9 optimisations") Reported-by: Sean Cross <xobs@xxxxxxxxxx> Tested-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0b67c43ce36a9964f1d5e3f973ee19eefd3f9f8f Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Apr 1 22:36:27 2015 +0200 netfilter: bridge: really save frag_max_size between PRE and POST_ROUTING We also need to save/store in forward, else br_parse_ip_options call will zero frag_max_size as well. Fixes: 93fdd47e5 ('bridge: Save frag_max_size between PRE_ROUTING and POST_ROUTING') Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit fe90ced9e9d7bdba75ccae83100ae656807a6261 Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Wed Mar 18 19:17:36 2015 +0530 Documentation: dma: Add documentation for the APM X-Gene SoC DMA device DTS binding This patch adds documentation for the APM X-Gene SoC DMA device DTS binding Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Loc Ho <lho@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 74e353e1530044ac0dac82d64012850358e60248 Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Wed Mar 18 19:17:35 2015 +0530 arm64: dts: Add APM X-Gene SoC DMA device and DMA clock DTS nodes This patch adds the device tree node for APM X-Gene SoC DMA controller and DMA clock. Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Loc Ho <lho@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9f2fd0dfa594d857fbdaeda523ff7a46f16567f5 Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Wed Mar 18 19:17:34 2015 +0530 dmaengine: Add support for APM X-Gene SoC DMA engine driver This patch implements the APM X-Gene SoC DMA engine driver. The APM X-Gene SoC DMA engine consists of 4 DMA channels for performing DMA operations. These DMA operations include memory copy, scatter-gather memory copy, raid5 xor, and raid6 p+q offloading. Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Loc Ho <lho@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1ca510b0ea6da1a4ff3a385f0613e045f670304e Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Apr 1 18:50:17 2015 +0300 iio: light: ltr501: Powerdown device on error Power down device when an error occurs in order to avoid wasting power. Move powerdown function up to be seen by the new call and align parameters for the ltr501_write_contr() call. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 840a1cf0cd533f30da792527ca5ff6a023d4a727 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 19:59:40 2015 +0200 drm/i915: Reject the colorkey ioctls for primary and cursor planes The legcy colorkey ioctls are only implemented for sprite planes, so reject the ioctl for primary/cursor planes. If we want to support colorkeying with these planes (assuming we have hw support of course) we should just move ahead with the colorkey property conversion. Testcase: kms_legacy_colorkey Cc: Tommi Rantala <tt.rantala@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reference: http://mid.gmane.org/CA+ydwtr+bCo7LJ44JFmUkVRx144UDFgOS+aJTfK6KHtvBDVuAw@xxxxxxxxxxxxxx Reported-and-tested-by: Tommi Rantala <tt.rantala@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 0c1c8ff32fa29e425b4938934c21afdb81104431 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Apr 1 15:22:45 2015 +0900 dmaengine: usb-dmac: Add Renesas USB DMA Controller (USB-DMAC) driver This DMAC is Renesas USB high-speed module DMA controller that supports slave transfer. This USB-DMAC has similar register sets with R-Car Gen2 DMAC, but the USB-DMAC has specific registers to control the USB transactions. If this code is added into the rcar-dmac driver, it will become unreadable. So, this driver is independent from the rcar-dmac. And, this USB-DMAC uses virt-dma infrastructure. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a7267831565030ab94dab76eb1afe5d4b63a1009 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Apr 1 15:22:44 2015 +0900 dmaengine: renesas,usb-dmac: Add device tree bindings documentation Document the device tree bindings for the Renesas USB DMA Controller (USB-DMAC). Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 31755207afc5d5a30e3eea9e4f2a518fc5b680c1 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 30 10:55:57 2015 +0300 iwlwifi: mvm: capture connection loss as part of MLME trigger The only other way to catch these would have been to monitor the Tx deauth event, but we can send a deauth when we roam. So it would have been tricky to make sure we capture the connection losses only. Define a separate trigger for the connection losses to make it easier to catch them. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 874c174eb9950a62032a7c90c4a23947a2bb863d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Mar 25 22:40:47 2015 +0200 iwlwifi: mvm: add trigger for time events This will allow to collect data when a time event notifcation with a certain id and action is coming from the firmware. This can be very useful to debug various flows. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5d4f929e3d0c09838677a116ffd168d9d519ada7 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 31 09:12:54 2015 +0200 iwlwifi: mvm: do string formatting in debug triggers The current code has a lot of duplicates of printing into a buffer (while having to make sure it's NUL-filled and -terminated) and then passing that to the debug trigger collection. Since that's error-prone, instead make the debug trigger collection function take a format string and format arguments (with compiler validity checking) and handle the buffer internally. This makes one behavioural change -- instead of sending the whole buffer to userspace (clearing is needed to not leak stack data) it just passes the actual string (including NUL-terminator.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0d365ae5f2715a4a749e41ce5e75e34f03090db6 Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Tue Mar 31 12:24:05 2015 +0300 iwlwifi: fix spelling errors Fix spelling error across the driver. Modified only comments and prints. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 10a7c028dbf9920ba6781bf1adde1811dc50de86 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Apr 1 10:00:31 2015 +0200 iwlwifi: mvm: don't return uninitialized value in get_survey() If ucode_loaded isn't true the function returns the 'ret' variable without having assigned a value properly. Fix that. Reported-by: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d42f53503406d5dcedbad9ea18c964f189f72d84 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 10 14:29:48 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon MLME failures This will allow to catch failures in MLME and get the firmware data when this happens. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b916693a7731670429609854c32de1a71775d070 Merge: 21023b1 2c44be8 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Apr 2 09:26:51 2015 +0300 Merge tag 'mac80211-next-for-davem-2015-03-30' into iwlwifi-next Lots of updates for net-next; along with the usual flurry of small fixes, cleanups and internal features we have: * VHT support for TDLS and IBSS (conditional on drivers though) * first TX performance improvements (the biggest will come later) * many suspend/resume (race) fixes * name_assign_type support from Tom Gundersen commit 21023b1e7f9862015fd8c91d5619217da8d9a06a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 31 08:58:16 2015 +0200 iwlwifi: mvm: remove unused arguments The str/len arguments to iwl_fw_dbg_trigger_simple_stop() aren't used, and for a simple trigger don't really need to be used as the trigger code itself encodes the reason, so remove them. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6ed13164450a916116cf7f0f38fe0da4679a45c9 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Mon Mar 30 16:50:07 2015 +0300 iwlwifi: mvm: Fix wrongfully flushing frames in the roc/off channel queue Sending multiple action frames off channel, one after the other can create a race that will result in a timeout: 1. Start sending action frame off channel. 2. Once the frame is sent or the time event is over, the flow will eventually call ieee80211_start_next_roc to start the next roc frame & iwl_mvm_roc_finished schedules to schedule a work to flush the queue. 3. Start sending new roc frame and write it to the queue before the flush work has started. 4. The work is called and it flushes the new packet that was placed on the on the queue so the packet is lost. This causes the frame to be removed & not sent, that causes a timeout in userspace. Flush the work queue that flushes the roc/off channel queue before starting to send a new frame off channel, in order to avoid a race between the new frame that is transmitted off channel & the flushing of the queue. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b6e160ab15c203fe77d13a121081b1a9bce7cbfe Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Mon Mar 23 14:32:53 2015 +0200 iwlwifi: mvm: always reconfigure last MCC on init Currently the last found MCC is reconfigured only in the recovery flow. But it should always be used when available, for the ifdown/up or RF-Kill/CT-Kill scenarios. While at it, fix a couple of bugs in the init-from-last-MCC flow. Return an error value when a current MCC is not found. Pass on the regdomain to cfg80211 only if it was changed and don't ignore the return value from the cfg80211-setter function. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 484b3d13b4ac3d721f3479433ad82100e1277580 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Mon Mar 30 20:46:32 2015 +0300 iwlwifi: mvm: add debugfs entry with the number of net-detect scans Our testers need to know the number of scans performed while in net-detect mode before the device wakes up. The firmware already passes this information to the driver, so we can save it and report it in a debugfs entry. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7b9d74e44a9f504e22a505e36327a00dc301a968 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Mar 29 18:38:07 2015 +0300 iwlwifi: mvm: rs: refactor rs_update_rate_tbl Minor cleanup and refactoring. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 64dd374eac154f747623b256c59ecaf5affba724 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 12:52:13 2015 -0700 Bluetooth: Export SMP selftest result in debugfs When SMP selftest is enabled, then besides printing the result into the kernel message buffer, also create a debugfs file that allows retrieving the same information. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6de50f9fdb60a8d4c1cd94556106200ab1592e2d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 12:52:12 2015 -0700 Bluetooth: Export ECDH selftest result in debugfs When ECDH selftest is enabled, then besides printing the result into the kernel message buffer, also create a debugfs file that allows retrieving the same information. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 0151e426b150db17992b49fa9ce96b79dace2aed Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 13:51:54 2015 -0700 Bluetooth: Restrict BNEP flags to only valid ones The BNEP flags should be clearly restricted to valid ones. So this puts extra checks in place to ensure this. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5f5da99f1da5b01c7c45473a500c7dbb77a00958 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 13:51:53 2015 -0700 Bluetooth: Restrict HIDP flags to only valid ones The HIDP flags should be clearly restricted to valid ones. So this puts extra checks in place to ensure this. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8bf17a3619250944957c732e71659787528131c3 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 13:51:52 2015 -0700 Bluetooth: Restrict CMTP flags to only valid ones The CMTP flags should be clearly restricted to valid ones. So this puts extra checks in place to ensure this. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 41533fe5b4f92adb3c40f263b889dc6addff550e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 13:51:51 2015 -0700 Bluetooth: Remove unneeded extra ( ) in valid flags check Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c3370de64d563fa0db5e773b97b77ea7a961d131 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Apr 1 13:21:37 2015 -0700 Bluetooth: Expose current Device ID information via debugfs For debugging purposes it is good to be able to read the current configured Device ID details. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 86d65dc4fe74d5b3228fe13c5eff0b10ae6808eb Author: Andy Grover <agrover@xxxxxxxxxx> Date: Tue Mar 31 15:04:37 2015 -0700 target: Allow userspace to write 1 to attrib/emulate_fua_write Before 4.0, reading attrib/emulate_fua_write has returned 1. Saved configs created on a pre-4.0 kernel will try to write that back when restoring LIO configuration. This should succeed with no effect, and issue a warning. See https://bugzilla.redhat.com/show_bug.cgi?id=1206184 Reported-by: Yanko Kaneti <yaneti@xxxxxxxxxxx> Reported-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 033f46b3c13d4072d8ee6b26dd1e90fdd06895d0 Author: tadeusz.struk@xxxxxxxxx <tadeusz.struk@xxxxxxxxx> Date: Wed Apr 1 13:53:06 2015 -0700 crypto: algif - explicitly mark end of data After the TX sgl is expanded we need to explicitly mark end of data at the last buffer that contains data. Changes in v2 - use type 'bool' and true/false for 'mark'. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99949a74aa8f1b0b1befbd1afaa6959a3654cd72 Merge: 05e8bb8 f3a8b6b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 22:55:41 2015 -0400 Merge branch 'dsa-next' Andrew Lunn says: ==================== DSA Mavell drivers refactoring and cleanup v1->v2: * Add missing signed-of-by: For patches authored by Guenter Roeck. * Add Reviewed by from Guenter Roack to patch #5. This is a collection of patches again net-next from today containing refactoring and consolidate of code, cleanups and using #define's to replace register numbers. Patch #1 Swaps the 6131 driver to use the consolidated setup code. Patch #2 Moves the Switch IDs used during probe into a central location. We need these later so that we can differentiate the different features the devices have. Patch #3 Makes the 6131 driver set the number of ports in the private state structure. It then uses this, rather than hard coded maximum number of ports. Patch #4 Similar to Patch #3, but for the 6123_61_65 driver. Patch #5 Similar to Patch #3, and #4, but for all the remaining drivers. This greatly increases the similarity of the code between drivers, allow further patches to consolidate the duplicated code. Patch #6 Consolidate the switch reset code, which has two minor variants. Removes around 35 lines per driver. Patch #7 Moves phy page access functions out of the 6352 driver into the shared code. Currently only the 6352 driver uses this, but it is likely other devices will come along wanting this functionality. Patch #8 Consolidates the code used to access phy registers. Removes around 40 lines of code per driver. Patch #9 Fixes missing mutex locking in the EEE code, and refactors the code a bit to make it more understandable with respect to locks. Patch #10 Consolidates reading statistics. This is very similar code for all devices, but the number of available statistics differ, which can be determined from the product ID. Removes around 65 lines per driver. Patch #11 Add #defines for registers, and bits within the registers. For the moment, this is limited to the shared code. The individual drivers will be converted once the remaining duplicated code is consolidated Patch #12 Fix broken statistic counters on the 6172. The 6352 family requires the port number is poked into a different set of bits in the register compared to other devices. Many thanks to Guenter Roeck for repeatedly reviewing the patches and testing them on his hardware. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f3a8b6b6a155210dac1f2a6ec4eb1b9ad04219df Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:40 2015 +0200 net: dsa: mv88e6xxx: Fix stats counters for 6352 family The statistic counters for the mv88e6172 never worked. This device is a member of the 6352 family of chips, which has a slightly different layout of the register used for capturing statistics. Add support for detecting this family and poking the port in the right place in the register. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cca8b1337541253f0414f744919c09f8b10bd962 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:39 2015 +0200 net: dsa: Use mnemonics rather than register numbers Rather than refer to registers by number, define mnemonics. Also define mnemonics for the commonly used bits within the registers. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e413e7e1f7493910274c552d7f70ae396c93199a Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:38 2015 +0200 net: dsa: Consolidate getting the statistics Reading the statistics from the hardware is the same for all chips. What differs is the number of available statistics. Have just one copy of the code in the shared mv88e6xxx. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f40c6981ac0adcaa2b3fc64e6ae81f80809aec8 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:37 2015 +0200 net: dsa: mv88e6xxx: Add missing mutex's in EEE operations. The phy_mutex should be held while reading and writing to the phy. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd3a0ee4063e4f44d915df8f117d9e0d8b05950a Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:36 2015 +0200 net: dsa: Consolidate phy read and write functions Move the common code for reading and writing phy registers into the shared mv88e6xxx. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4914358567d81d6f1d95f7809c77658c55555f1c Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:35 2015 +0200 net: dsa: Move phy page access functions into shared code These functions could in future be used by other drivers. Move them into the shared area. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 143a83073aaea145aa050cd0ebb80454c9362608 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:34 2015 +0200 net: dsa: Centralize Marvell switch reset Marvell switches are all reset in nearly the same way. The only difference is if the PPU should be enabled or not. Move this code into the shared mv88x6xxx.c. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 44e50ddbc74a4bd6a862be9e6de22bce8c0b4150 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Apr 2 04:06:33 2015 +0200 net: dsa: Consistently set and use ps->num_ports As a step towards consolidating code, consistently set the number of ports in the private state structure, and make use of it in loops. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14ef6ad22a2db28021e8ea8cd068fe5fcd88de7b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Apr 2 04:06:32 2015 +0200 net: dsa: mv88e6123_61_65: Determine and use number of switch ports Determine and use number of switch ports from chip ID instead of always using the maximum, and return error when an attempt is made to access a non-existing port. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d198893e73c66ceb36cc1b1c3f261e82b7cc5700 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Apr 2 04:06:31 2015 +0200 net: dsa: mv88e6131: Determine and use number of switch ports Determine and use number of switch ports from chip ID instead of always using the maximum, and return error when an attempt is made to access a non-existing port. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2eb06627718836f7d133141693ec9685b4c4ef5 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Apr 2 04:06:30 2015 +0200 net: dsa: mv88e6xxx: Move switch product IDs into common include file This will let us use the switch product IDs in the common source code. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d65da4a238d3e9fc358b8e1540a193d63f92e20 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Apr 2 04:06:29 2015 +0200 net: dsa: mv88e6131: Use common initialization functions Common initialization functions will be needed to enable HW bridging support. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05e8bb860b55acc2646b59cd5746c6b4189fa29e Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Thu Apr 2 11:20:23 2015 +0900 pkt_sched: fq: correct spelling of locally Correct spelling of locally. Also remove extra space before tab character in struct fq_flow. Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4b495128c5d941607179f18ec07c36bd2a3fc38 Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Thu Apr 2 11:17:58 2015 +0900 vxlan: correct spelling in comments Fix some spelling / typos: * droppped -> dropped * asddress -> address * compatbility -> compatibility Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7887456e9da0fc57e8cc5ab50743539440e50750 Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 15:33:08 2015 -0700 vmxnet3: spelling fixes Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58bc2d9b160e1d2ce517eb05552b5a07efa814ef Merge: c0b0bb6 1164f67 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:58:11 2015 -0700 Merge tag 'at91-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/multiplatform Merge "at91: multiplatform for 4.1 #1" from Nicolas Ferre: This is the multi-platform support for AT91: - reworked arch/arm/mach-at91/Kconfig and arch/arm/Kconfig to switch to multi-platform - updated at91_dt_defconfig - continue the cleanup of unneeded files and code chunks * tag 'at91-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (61 commits) ARM: at91: drop AT91_TIMER_HZ ARM: at91: remove hardware.h ARM: at91: remove SoC headers ARM: at91: remove useless mach/cpu.h ARM: at91: remove unused headers ARM: at91: switch at91_dt_defconfig to multiplatform ARM: at91: switch to multiplatform ARM: at91: remove useless include clocksource: atmel-st: remove mach/hardware dependency clocksource: atmel-st: use syscon/regmap ARM: at91: time: move the system timer driver to drivers/clocksource ARM: at91: properly initialize timer ARM: at91: at91rm9200: remove deprecated arm_pm_restart watchdog: at91rm9200: implement restart handler watchdog: at91rm9200: use the system timer syscon mfd: syscon: Add atmel system timer registers definition ARM: at91/dt: declare atmel,at91rm9200-st as a syscon ARM: at91: remove old setup ARM: at91: sama5d4: remove useless map_io ARM: at91: sama5 use SoC detection infrastructure ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5ec5e792feac6b52915dc68a1ec286bc6770281b Merge: 9fb71bc 6cfdf55 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:56:33 2015 -0700 Merge tag 'davinci-for-v4.1/mcasp' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/cleanup Merge "DaVinci McASP changes for v4.1" from Sekhar Nori: This pull request contains cleanups and non-urgent fixes for DaVinci McASP platform support code. * tag 'davinci-for-v4.1/mcasp' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: davinci: dm646x: Add interrupt resource for McASPs ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x ARM: davinci: dm646x: Clean up the McASP DMA resources ARM: davinci: devices-da8xx: Add support for McASP2 on da830 ARM: davinci: devices-da8xx: Clean up and correct the McASP device creation ARM: davinci: devices-da8xx: Add interrupt resource to McASP structs ARM: davinci: devices-da8xx: Add resource name for the McASP DMA request Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e7199d32608b4d59a92f82addb78afb69bccb094 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 05:30:09 2015 +0000 ARM: configs: remove all CONFIG_RCAR_AUDMAC_PP from ARM defconfigs Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC). And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine. But, in result of DMA ML discussion, 2nd DMAC was concluded that it is not a general purpose DMAC (2nd DMAC is for Device to Device inside sound system). Additionally, current DMAEngine can't support Device to Device, and we don't have correct DT bindings for it at this point. So the easiest solution for it is that move it from DMAEngine to rsnd driver. Audio DMAC peri peri DMAEngine is no longer needed. Remove all CONFIG_RCAR_AUDMAC_PP from ARM defconfigs Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ebdf8cc0009d535a79fb3ac34a2ee341886c7472 Merge: cdf77d7 6357333 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:54:16 2015 -0700 Merge tag 'renesas-dt3-for-v4.1' 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 v4.1" from Simon Horman: * Add DMA sound support to r8a7791 and r8a7790 SoCs * tag 'renesas-dt3-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7791: sound enables Audio DMAC entry on DTSI ARM: shmobile: r8a7790: sound enables Audio DMAC entry on DTSI ARM: shmobile: r8a7791: enable Audio DMAC peri peri via sound driver ARM: shmobile: r8a7790: enable Audio DMAC peri peri via sound driver ARM: shmobile: r8a7791: add reg-names for sound ARM: shmobile: r8a7790: add reg-names for sound Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit cdf77d767e0952bc45e45974c2874f4204993e83 Merge: d24363a 91d5cb7 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:52:46 2015 -0700 Merge tag 'v4.1-rockchip-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Merge "ARM: rockchip: dts changes for 4.1" from Heiko Stuebner: This adds and enables the usbphy nodes on the rk3288 boards and enables the gmac on the firefly board. A new board the Popmetal-rk3288 is also added. And finally the pmic supplies for act8846 based boards are added, as the act8865/act8846 driver gained supply handling in the regulator tree. * tag 'v4.1-rockchip-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: complete rk3288-evb pmic supplies ARM: dts: rockchip: add input supplies for the act8846 on Radxa Rock ARM: dts: add rk3288 PopMetal board dt-bindings: add root compatible property for PopMetal board ARM: dts: rockchip: enable gmac on rk3288-firefly ARM: dts: rockchip: enable usbphy on rk3288-firefly ARM: dts: rockchip: Enable usb PHY on rk3288-evb board ARM: dts: rockchip: add rk3288 usb PHY Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 824f25c1ccded5de2d3e18268b91cddccdad3868 Merge: ffe971e a0307d1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:52:02 2015 -0700 Merge tag 'v4.1-rockchip-soc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc Merge "ARM: rockchip: soc code changes for 4.1" from Heiko Stuebner: Some suspend improvements reducing resume time and making sure the watchdog does not reset after 12 hours and a change to constify and staticize some smp parts. * tag 'v4.1-rockchip-soc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: rockchip: disable watchdog during suspend ARM: rockchip: decrease the wait time for resume ARM: rockchip: Constify struct regmap_config and staticize local function Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 80737123e934547e32502c707c67c12cbfd9e8fb Merge: a90c138 9e0388c Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:38:19 2015 -0700 Merge tag 'qcom-defconfig-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/defconfig Merge "qcom defconfig changes for v4.1" from Kumar Gala: Qualcomm ARM Based defconfig Updates for v4.1 * Enable LPASS clock support for IPQ806x in defconfig * Update qcom_defconfig to select GPIOLIB * tag 'qcom-defconfig-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: arm: qcom: Update defconfig arm: qcom: Enable lpass clock driver in defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e5710319382e2e204b8386e05ee76cdcb41f651c Merge: c4bb799 d7f64a4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:36:52 2015 -0700 Merge tag 'qcom-arm64-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/arm64 Merge "qcom ARM64 changes for v4.1" from Kumar Gala: Qualcomm ARM64 Updates for v4.1 * Add support for Qualcomm MSM8916 SoC * tag 'qcom-arm64-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: arm64: qcom: Add support for Qualcomm MSM8916 SoC Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4580cb8a9812c3acc7a1663064d2a2800b3541bd Merge: 3f9b66b e5fdad6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:35:34 2015 -0700 Merge tag 'qcom-soc-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/drivers Merge "qcom SoC changes for v4.1" from Kumar Gala: Qualcomm ARM Based SoC Updates for v4.1 * Merged the based Qualcomm SCM and SCM boot support * Cleaned up SCM interface to only expose functional SCM APIs * Moved Qualcomm SCM code into drivers/firmware * Updated the SCM APIs for setting cpu cold and warm boot addresses * Added support for ADM CRCI muxing * tag 'qcom-soc-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: soc: qcom: gsbi: Add support for ADM CRCI muxing firmware: qcom: scm: Support cpu power down through SCM firmware: qcom: scm: Add qcom_scm_set_warm_boot_addr function firmware: qcom: scm: Clean cold boot entry to export only the API firmware: qcom: scm: Move the scm driver to drivers/firmware ARM: qcom: Prep scm code for move to drivers/firmware ARM: qcom: Cleanup scm interface to only export what is needed ARM: qcom: Merge scm and scm boot code together Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5acb972fed8bcfe6c38a4bdef4e74148eaad04b2 Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Mon Mar 30 13:26:37 2015 +0800 cpufreq: hisilicon: add acpu driver Add acpu driver for hisilicon SoC, acpu is application processor subsystem. Currently the acpu has the coupled clock domain for two clusters, so this driver will directly use cpufreq-dt driver as backend. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1c832b3e85b6ac35e5f113fa4204eb725c54794e Author: Lan Tianyu <tianyu.lan@xxxxxxxxx> Date: Wed Apr 1 09:47:18 2015 +0800 ACPI / EC: Call acpi_walk_dep_device_list() after installing EC opregion handler On some machines(E,G Mircosoft surface 3), ACPI battery depends on the EC operation region and it has _DEP method which contains EC. Current code doesn't support such devices whose dep_unmet will be not be decreased after EC opregion handler being installed. This blocks battery device to be attached with its driver. This patch is to fix the issue. Link: https://bugzilla.kernel.org/show_bug.cgi?id=90161 Reported-and-tested-by: Lompik <lompik@xxxxxxxx> Tested-by: Valentin Lab <valentin.lab_bugzilla.kernel.org@xxxxxxxxxxx> Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d24363a5a40a3b7f976faada311b623fc8047b1e Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 17:05:54 2015 -0700 ARM: dts: fix typo in makefile for alpine-db File uses dash in the filename, not underscore. Reported-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4f9a60f5c7e74f3e413a1ede1e8b959d01df4e57 Merge: 1018bc2 18779b7 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Apr 2 11:03:58 2015 +1100 Merge branch 'smack-for-4.1' of git://github.com/cschaufler/smack-next into next commit c0b0bb6e1490f48f2675c3557653fb554a9c8817 Merge: d36d520 3c7585b Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 16:37:30 2015 -0700 Merge tag 'renesas-sh73a0-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Merge "Renesas ARM Based SoC sh73a0 Multiplatform Updates for v4.1" from Simon Horman: * Add multiplatform support to sh73a0 and its kzm9g board * Use Bus State Controller to enable ethernet for multiplatform sh73a0/kzm9g * Add PM domain support to multiplatform sh73a0 * tag 'renesas-sh73a0-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (43 commits) ARM: shmobile: sh73a0: Remove restart callback ARM: shmobile: sh73a0 dtsi: Add PM domain support ARM: shmobile: sh73a0: Remove unused sh73a0_add_standard_devices_dt() ARM: shmobile: sh73a0 dtsi: Add Cortex-A9 TWD node ARM: shmobile: kzm9g-reference: Remove board C code and DT file ARM: shmobile: kzm9g dts: Move Ethernet node to BSC ARM: shmobile: sh73a0 dtsi: Add Bus State Controller node ARM: shmobile: kzm9g: Build DTS for Multiplatform ARM: shmobile: kzm9g dts: Sync with kzm9g-reference dts ARM: shmobile: sh73a0: Add Multiplatform support ARM: shmobile: sh73a0: Introduce generic setup callback ARM: shmobile: r8a7794: add SDHI DT support ARM: shmobile: r8a7790: add ADSP clocks ARM: shmobile: r8a7791: add ADSP clocks ARM: shmobile: henninger: add CAN0 DT support ARM: shmobile: r8a7791: add CAN DT support ARM: shmobile: r8a7791: add CAN clocks ARM: shmobile: r8a7790: add CAN DT support ARM: shmobile: r8a7790: add CAN clocks ARM: shmobile: emev2-kzm9d dts: Add PFC information for uart1 ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d5af49c92a8aff8236e7b0bb35e9af364000c017 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 26 19:25:17 2015 -0400 drm/msm/mdp5: Enable DSI connector in msm drm driver This change adds the support in mdp5 kms driver for single and dual DSI. Dual DSI case depends on the framework API and sequence change to support dual data path. v1: Initial change v2: Address Rob Clark's comment - Separate command mode encoder to a new file mdp5_cmd_encoder.c - Rebase to not depend on msm_drm_sub_dev change Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a689554ba6ed81cf606c16539f6ffc2a1dcdaf8e Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Tue Mar 31 14:36:33 2015 -0400 drm/msm: Initial add DSI connector support This change adds the DSI connector support in msm drm driver. v1: Initial change v2: - Address comments from Archit + minor clean-ups - Rebase to not depend on msm_drm_sub_dev change [Rob's comment] v3: Fix issues when initialization is failed Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 7a6dc9550d0a17e3f24b2c13582f093193cd08ef Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 26 19:25:15 2015 -0400 drm/msm: Add split display interface This change is to add an interface to MDP for connector devices setting split display information. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 5722a9e303be25adbe25c174f66c5e1e9e17c276 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 26 19:25:14 2015 -0400 drm/msm/mdp5: Move *_modeset_init out of construct_encoder function This change is to make the content in construct_encoder reflect its name. Also, DSI connector may be connected to video mode or command mode encoder, so that 2 different encoders need to be constructed for DSI. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 81ddd1bc5cff2df619559860f2481393ba74e3a0 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Mar 27 13:01:52 2015 -0400 drm: export tile-group functions Normally these are called from within drm core, from the EDID parsing code. But for dual-dsi in some drivers (at least drm/msm) we need to call these from the driver. So they should be exported. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> commit 531db9ff3d3aabc36772bb02a9c636e398d0f21c Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Mar 24 09:30:02 2015 -0400 drm/msm/mdp5: Remove CTL flush dummy bits This TODO can now be removed and replaced by the previous patch "drm/msm/mdp5: Update headers (add CTL flush bits)" Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 87ed66c41441589b9718331410ceea7aeb8a740b Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Mar 24 09:30:01 2015 -0400 drm/msm/mdp5: Update headers (add CTL flush bits) Some upcoming targets have more bits to set in CTL_FLUSH registers. Example: msm8x16 needs to set TIMING1 bit so that some of the INTF1's interface registers get flushed. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 02dfd9d2ba2b86068a23fb1ff8b9b633a61e732e Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Mar 24 15:06:02 2015 -0400 drm/msm/mdp5: Add hardware configuration for msm8x16 This change adds the hw configuration for msm8x16 chipsets in mdp5_cfg module. Note that only one external display interface is present in this configuration (DSI) but has not been enabled yet. It will be enabled once drm/msm driver supports DSI connectors. v2: add CTL flush register's hardware mask [pointed by Archit] Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 6fa6acdfa37737fce6f69a7aa50606825ccea5ea Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Mon Mar 9 09:11:06 2015 -0400 drm/msm/mdp5: Get SMP client list from mdp5_cfg SMP blocks are configured for specific client IDs (ports). These client IDs can be different from one chip to another for a given pipe. e.g.: DMA0 pipe fetch Y component is connected to: - port #10 for MDP5 v1.3 - port #4 for MDP5 v1.6 In order to be compatible for upcoming versions of MDP5, the client ID list is passed through the MDP5 config module rather than using a list of hard-coded enum values. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit de50d351b37ba43a8d9e944e78c4df37f88d4ae2 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Mon Mar 9 09:11:05 2015 -0400 drm/msm/mdp5: Update headers (remove enum mdp5_client_id) This patch contains the generated header file of the following change "drm/msm/mdp5: Get SMP client list from mdp5_cfg". Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit f52538125e4dfb2a74f2efd915430d6fc39d0124 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Mon Mar 9 09:11:04 2015 -0400 drm/msm/mdp5: Separate MDP5 domain from MDSS domain MDP block is actually contained inside the MDSS block. For some chipsets, the base address of the MDP registers is different from the current (assumed) 0x100 offset. Like CTL and LM blocks, this changes introduce a dynamic offset for the MDP instance, which can be found out at runtime, once the MDSS HW version is read. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit ba474a02cb1009574a7cdcc29de9ca2d0b3c6df6 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Mon Mar 9 09:11:03 2015 -0400 drm/msm/mdp5: Update headers (introduce MDP5 domain) This change contains the generated header file for the following change "drm/msm/mdp5: Separate MDP5 domain from MDSS domain". Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3b3627a35d866946aa34adf8a2c57d62bb9dc570 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Fri Mar 13 19:24:15 2015 -0400 drm/msm/dsi: Update generated DSI header file Prepare for initial DSI implementation Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit de31ea694466fa199b5ff3cc71fb8308a1f0791e Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 5 15:20:49 2015 -0500 drm/msm/mdp5: Fix PIPE source image size settings The width and height in SSPP_SRC_IMG_SIZE register should be the size of the entire source framebuffer, not the fetch size. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 81c71ad324beaf4776c45573cd620fab660fd476 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 5 15:20:48 2015 -0500 drm/msm/mdp5: Update generated mdp5 header file with DSI support This change adds the registers in mdp5 ping pong blocks and split display control registers. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 38305907ef28e2df3656bd17bcbf39aeb66f10fc Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Mar 5 15:20:47 2015 -0500 drm/msm/mdp5: Add pingpong entry to mdp5 config table Pingpong register base addresses are different across platforms. This change adds this information to config table and initialize the values for 8x74 and 8084. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 67ac0a2d6994fef77a611106fa7f6fcc58f4bb8d Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Mar 13 15:49:34 2015 -0400 drm/msm/mdp5: Make the intf connection in config module Up until now, we assume that eDP is tight to intf_0 and HDMI to intf_3. This information shall actually come from the mdp5_cfg module since it can change from one chip to another. v2: rename macro to mdp5_cfg_intf_is_virtual() [pointed by Archit] v3: add sanity check before writing in INTF_TIMING_ENGINE_EN registers Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 389b09a1822db2bf5050060acc63611ea6c4670d Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Mar 13 15:49:33 2015 -0400 drm/msm/mdp5: Add START signal to kick off certain pipelines Some interfaces (WB, DSI Command Mode) need to be kicked off through a START Signal. This signal needs to be sent at the right time and requests in some cases to keep track of the pipeline status (eg: whether pipeline registers are flushed AND output WB buffers are ready, in case of WB interface). Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit d145dd78d7e72ac07c84f6919283569e6b45a5c3 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Mar 13 15:49:32 2015 -0400 drm/msm/mdp5: Enhance operation mode for pipeline configuration DSI and WB interfaces need a more complex pipeline configuration than the current mdp5_ctl_set_intf(). For example, memory output connections need to be selected for WB. Interface mode (Video vs. Command modes) also need to be configured for DSI. This change takes care of configuring the whole pipeline as far as operation mode goes. DSI and WB interfaces will be added later. v2: rename macro to mdp5_cfg_intf_is_virtual() [pointed by Archit] Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> [Remove temp bisectability hack -Rob] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a13cebabc81d709e1649c8d8475f0c0f66c0dd24 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Mar 13 15:49:31 2015 -0400 drm/msm/mdp5: Update generated header files Prepare for pipeline operation mode configuration, in particular for DSI and WB modes. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> [Throw in a #define temporarily to keep things bisectable -Rob] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a73f3382dae242261338588d8411057938501701 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Jan 27 11:35:56 2015 -0500 drm/msm/mdp5: only flush on a CRTC ->atomic_flush() MDP5 hardware has some limitation and requires to avoid flushing registers more than once between two Vblanks. This change removes all FLUSH operations (except for HW cursor) beside the one coming from a CRTC's ->atomic_flush(). This avoid this type of behavior (eg: CRTC + 1 plane overlay): [drm:mdp5_crtc_vblank_irq] vblank [drm:mdp5_ctl_commit] flush (20048) CTL + LM0 + RGB0 [drm:mdp5_ctl_commit] flush (20040) CTL + LM0 [drm:mdp5_crtc_vblank_irq] blank [drm:mdp5_ctl_commit] flush (20049) CTL + LM0 + RGB0 + VIG0 [drm:mdp5_crtc_vblank_irq] blank and replaces it by: [drm:mdp5_crtc_vblank_irq] vblank [drm:mdp5_ctl_commit] flush (20048) CTL + LM0 + RGB0 [drm:mdp5_crtc_vblank_irq] blank [drm:mdp5_ctl_commit] flush (20049) CTL + LM0 + RGB0 + VIG0 [drm:mdp5_crtc_vblank_irq] blank Only *one* FLUSH is called between Vblanks interrupts. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 034c5150ae8777265f5beae257f8e7f2721ebccc Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Jan 27 09:05:59 2015 -0500 drm/msm/hdmi: add 74.176MHz and 154.0MHz pix clks Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 072f1f9168ed67d6ddc94bb76b1dfc04795062b4 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Mar 3 15:04:25 2015 -0500 drm/msm: add support for "stolen" mem Add support to use the VRAM carveout (if specified in dtb) for fbdev scanout buffer. This allows drm/msm to take over a bootloader splash- screen, and avoids corruption on screen that results if the kernel uses memory that is still being scanned out for itself. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 5bf9c0b614542d69fb9a8681a0411715cc3e8ba8 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Mar 3 15:04:24 2015 -0500 drm/msm: split out vram initialization We'll want to extend this a bit to handle also a reserved-memory ("stolen") region, so that drm/msm can take-over bootloader splash screen. First split it out into it's own fxn to reduce noise in the following patch. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit d36d520ae669ab95e6113f3a5e52493dfaa59f8d Merge: 369237a 914d7d1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Apr 1 16:29:08 2015 -0700 Merge tag 'renesas-r8a73a4-ccf-and-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Merge "Renesas ARM Based SoC r8a73a4 CCF and Multiplatform Updates for v4.1" from Simon Horman: * Add CCF and them multiplatform support to r8a73a4 SoC and its ape6evm board. * Then remove legacy r8a73a4 SoC and ape6evm board code. ---------------------------------------------------------------- Geert Uytterhoeven (6): ARM: shmobile: r8a73a4 dtsi: Add Bus State Controller node ARM: shmobile: ape6evm dts: Move Ethernet node to BSC ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug ARM: shmobile: ape6evm dts: Drop console= bootargs parameter PM / Domains: R-Mobile SYSC: Document R-Mobile APE6 (r8a73a4) binding ARM: shmobile: r8a73a4 dtsi: Add PM domain support Laurent Pinchart (1): ARM: shmobile: r8a73a4: Remove legacy code Simon Horman (1): ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform Ulrich Hecht (5): ARM: shmobile: r8a73a4: Add CPG register bits header ARM: shmobile: r8a73a4: Common clock framework DT description ARM: shmobile: ape6evm: Disable legacy clock initialization ARM: shmobile: r8a73a4: Add MSTP clock assignments to DT ARM: shmobile: ape6evm-reference: Remove board C code and DT file Documentation/devicetree/bindings/arm/shmobile.txt | 2 - .../bindings/power/renesas,sysc-rmobile.txt | 1 + MAINTAINERS | 1 - arch/arm/boot/dts/Makefile | 2 - arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts | 156 ----- arch/arm/boot/dts/r8a73a4-ape6evm.dts | 37 +- arch/arm/boot/dts/r8a73a4.dtsi | 557 ++++++++++++++++- arch/arm/configs/ape6evm_defconfig | 109 ---- arch/arm/mach-shmobile/Kconfig | 25 - arch/arm/mach-shmobile/Makefile | 3 - arch/arm/mach-shmobile/Makefile.boot | 2 - arch/arm/mach-shmobile/board-ape6evm-reference.c | 60 -- arch/arm/mach-shmobile/board-ape6evm.c | 306 ---------- arch/arm/mach-shmobile/clock-r8a73a4.c | 659 --------------------- arch/arm/mach-shmobile/r8a73a4.h | 17 - arch/arm/mach-shmobile/setup-r8a73a4.c | 273 +-------- include/dt-bindings/clock/r8a73a4-clock.h | 62 ++ 17 files changed, 615 insertions(+), 1657 deletions(-) delete mode 100644 arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts delete mode 100644 arch/arm/configs/ape6evm_defconfig delete mode 100644 arch/arm/mach-shmobile/board-ape6evm-reference.c delete mode 100644 arch/arm/mach-shmobile/board-ape6evm.c delete mode 100644 arch/arm/mach-shmobile/clock-r8a73a4.c delete mode 100644 arch/arm/mach-shmobile/r8a73a4.h create mode 100644 include/dt-bindings/clock/r8a73a4-clock.h * tag 'renesas-r8a73a4-ccf-and-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a73a4: Remove legacy code ARM: shmobile: r8a73a4 dtsi: Add PM domain support PM / Domains: R-Mobile SYSC: Document R-Mobile APE6 (r8a73a4) binding ARM: shmobile: ape6evm dts: Drop console= bootargs parameter ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform ARM: shmobile: ape6evm-reference: Remove board C code and DT file ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug ARM: shmobile: ape6evm dts: Move Ethernet node to BSC ARM: shmobile: r8a73a4 dtsi: Add Bus State Controller node ARM: shmobile: r8a73a4: Add MSTP clock assignments to DT ARM: shmobile: ape6evm: Disable legacy clock initialization ARM: shmobile: r8a73a4: Common clock framework DT description ARM: shmobile: r8a73a4: Add CPG register bits header Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a90c13819b17fed8ccbaaeb15433a86c87709df0 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:15 2015 +0100 ARM: configs: enable Marvell Armada 39x in multi_v7_defconfig Following the introduction of the Marvell Armada 39x support, let's enable this support by default in multi_v7_defconfig. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: <arm@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 502e95c6678505474f1056480310cd9382bacbac Author: Zach Reizner <zachr@xxxxxxxxxx> Date: Wed Mar 4 16:33:41 2015 -0800 drm/vgem: implement virtual GEM This patch implements the virtual GEM driver with PRIME sharing which allows vgem to import a gem object from other drivers for the purpose of mmap-ing them to userspace. The mmap is done using the mmap operation exported by other drivers. v2: remove platform_device and do not attach to dma bufs v3: use drm helpers for get/put pages v4: correct dumb create pitch Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> (v3) Reviewed-by: Stéphane Marchesin <marcheu@xxxxxxxxxxxx> (v3) Signed-off-by: Adam Jackson <ajax@xxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Zach Reizner <zachr@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 66776a67f7b1aeb4b0fac83df0a3379ed47af05c Merge: e42391c 358b615 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Apr 2 00:20:08 2015 +0200 Merge tag 'pull_req_20150331' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq into pm-devfreq Pull devfreq updates for v4.1 from MyungJoo Ham. "This set includes tegra driver update and style fixes." * tag 'pull_req_20150331' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq: PM / devfreq: tegra: Register governor on module init PM / devfreq: tegra: Enable interrupts after resuming the devfreq monitor PM / devfreq: tegra: Set drvdata before enabling the irq PM / devfreq: tegra: remove operating-points PM / devfreq: tegra: Use clock rate constraints PM / devfreq: tegra: Update to v5 of the submitted patches PM / devfreq: correct misleading comment PM / devfreq: event: Add const keyword for devfreq_event_ops structure commit 09a972d1620934142d30cfda455ffe429af751c4 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 15:16:34 2015 +0530 cpufreq: powernv: Report cpu frequency throttling The power and thermal safety of the system is taken care by an On-Chip-Controller (OCC) which is real-time subsystem embedded within the POWER8 processor. OCC continuously monitors the memory and core temperature, the total system power, state of power supply and fan. The cpu frequency can be throttled by OCC for the following reasons: 1)If a processor crosses its power and temperature limit then OCC will lower its Pmax to reduce the frequency and voltage. 2)If OCC crashes then the system is forced to Psafe frequency. 3)If OCC fails to recover then the kernel is not allowed to do any further frequency changes and the chip will remain in Psafe. The user can see a drop in performance when frequency is throttled and is unaware of throttling. So detect and report such a condition, so the user can check the OCC status to reboot the system or check for power supply or fan failures. The current status of the core is read from Power Management Status Register(PMSR) to check if any of the throttling condition is occurred and the appropriate throttling message is reported. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 53d5864bc673288f03bb7892a3cffa41a173082b Author: Nathaniel Wesley Filardo <nwf@xxxxxxxxxx> Date: Thu Aug 21 14:10:55 2014 -0400 kafs: Add more "unified AFS" error codes This should cover the set emitted by viced and the volume server. Signed-off-by: Nathaniel Wesley Filardo <nwf@xxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 7b3d165a282145e605247148d3dec034814e0a78 Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri Mar 27 11:47:51 2015 +0200 ASoC: davinci-mcasp: Index ruledata in drvdata with substream->stream The serializer direction definitions runs from 1 to 2, which does not suite the purpose. The substream->stream is perfect for the purpose and should have been used from the beginning. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f511ab09dfb0fe7b2335eccac51ff9f001a32e4a Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Apr 1 10:46:15 2015 +0200 spi: imx: read back the RX/TX watermark levels earlier They are used to decide if the controller can do DMA on a buffer of a specific length and thus are needed before any transfer is attempted. This fixes a memory leak where the SPI core uses the drivers can_dma() callback to determine if a buffer needs to be mapped. As the watermark levels aren't correct at that point the driver falsely claims to be able to DMA the buffer when it fact it isn't. After the transfer has been done the core uses the same callback to determine if it needs to unmap the buffers. As the driver now correctly claims to not being able to DMA the buffer the core doesn't attempt to unmap the buffer which leaves the SGT leaking. Fixes: f62caccd12c17e4 (spi: spi-imx: add DMA support) Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 7b425f264fc2572bea8b15fe97948659507c6a45 Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Apr 1 20:35:57 2015 +0300 ASoC: omap-hdmi-audio: No not use IEC958_AES1_PRO_MODE_NOTID No IEC958_AES?_PRO_* macros should be used in HDMI consumer audio mode and IEC958_AES1_PRO_MODE_NOTID should be applied to byte 1 when applicable. However IEC958_AES1_PRO_MODE_NOTID is defined as 0 so this fix does not affect the functionality in any way. Reported-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 057f6061a1972b0d63383cbbbb98795e8ef0a752 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Thu Apr 2 03:03:33 2015 +0800 spi: spi-bfin5xx: Initialize cr_width in bfin_spi_pump_transfers() cr_width may be not initialized before using by cr, the related warning (with defconfig under blackfin by gcc5): CC drivers/spi/spi-bfin5xx.o drivers/spi/spi-bfin5xx.c: In function 'bfin_spi_pump_transfers': drivers/spi/spi-bfin5xx.c:655:5: warning: 'cr_width' may be used uninitialized in this function [-Wmaybe-uninitialized] cr |= cr_width; ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7c0e3facf39a68f30c2eae69e969918eca1ff9d6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:52 2015 +0200 ASoC: dapm: Remove delayed_work from dapm context struct The delayed_work field in the snd_soc_dapm_context struct is now unused and can be removed. Removing it reduces the size of the snd_soc_dapm_context struct by ~50% from 100 bytes to 48 bytes. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd5d822688f3b32af286a76f7078dfe49c716282 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:51 2015 +0200 ASoC: wm8350: Move delayed work struct from DAPM context to driver state The wm8350 driver is the last driver that still uses the delayed_work field from the snd_soc_dapm_context struct. Moving this over to the driver's private data struct will allow us to remove the field from the DAPM context, which will drastically reduce its size. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 37660b6daf6d28bb2206c95ec75c8063f2db1606 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:50 2015 +0200 ASoC: Remove suspend_bias_level from DAPM context struct The only two users of the suspend_bias_level field were two rather old drivers which weren't exactly doing things by the book. Those drivers have been updated and field is now unused and can be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a1f0b9674936bf55d5d49813de01547de2667690 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:49 2015 +0200 ASoC: wm8753: 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: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 35afd9221b301d1959eadab2d45a2cb94dcb7d30 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:48 2015 +0200 ASoC: wm8753: Integrate capacitor charging into the DAPM sequence When being powered on, either initially on probe or when resuming from suspend, the wm8971 configures the device for quick output capacitor charging. Since the charging can take a rather long time (up to multiple seconds) it is done asynchronously without blocking. A delayed work item is run once the charging is finished and the device is switched to the target bias level. This all done asynchronously to the regular DAPM sequence accessing the same data structures and registers without any looking, which can lead to race conditions. Furthermore this potentially delays the start of stream on the CODEC while the rest of the system is already up and running, meaning the first bytes of audio are lost. It also does no comply with the assumption of the DAPM core that if set_bias_level() returned successfully the device will be at the requested bias level. This patch slightly refactors things and makes sure that the caps charging is properly integrated into the DAPM sequence. When transitioning from SND_SOC_BIAS_OFF to SND_SOC_BIAS_STANDBY the part will be put into fast charging mode and a work item will be scheduled that puts it back into standby charging once the charging period has elapsed. If a playback or capture stream is started while charging is in progress the driver will now wait in SND_SOC_BIAS_PREPARE until the charging is done. This makes sure that charging is done asynchronously in the background when the chip is idle, but at the same time makes sure that playback/capture is not started before the charging is done. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c59e6abba9dd7bc273c3dd389ae9927d1da88f35 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:47 2015 +0200 ASoC: wm8971: 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: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 643518403c3fdecd40d9edfd50f4bafcebeda79b Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:46 2015 +0200 ASoC: wm8971: Integrate capacitor charging into the DAPM sequence When being powered on, either initially on probe or when resuming from suspend, the wm8971 configures the device for quick output capacitor charging. Since the charging can take a rather long time (up to multiple seconds) it is done asynchronously without blocking. A delayed work item is run once the charging is finished and the device is switched to the target bias level. This all done asynchronously to the regular DAPM sequence accessing the same data structures and registers without any looking, which can lead to race conditions. Furthermore this potentially delays the start of stream on the CODEC while the rest of the system is already up and running, meaning the first bytes of audio are lost. It also does no comply with the assumption of the DAPM core that if set_bias_level() returned successfully the device will be at the requested bias level. This patch slightly refactors things and makes sure that the caps charging is properly integrated into the DAPM sequence. When transitioning from SND_SOC_BIAS_OFF to SND_SOC_BIAS_STANDBY the part will be put into fast charging mode and a work item will be scheduled that puts it back into standby charging once the charging period has elapsed. If a playback or capture stream is started while charging is in progress the driver will now wait in SND_SOC_BIAS_PREPARE until the charging is done. This makes sure that charging is done asynchronously in the background when the chip is idle, but at the same time makes sure that playback/capture is not started before the charging is done. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ab87ce1d9bb0501fccfc00d5e5ce7c16cd2bcc3e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 30 21:04:45 2015 +0200 ASoC: wm8971: Use system_power_efficient_wq instead of custom workqueue The delayed work used by the wm8971 driver to manage the caps charging doesn't have any special requirements that would justify using a custom workqueue, just use the generic system_power_efficient_wq instead. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 488cb533911b96fe41af68a0206878aa46b799bc Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 19:54:54 2015 +0200 ASoC: atmel-pcm-pdc: merge atmel-pcm back in atmel-pcm.c was split into two files to create a generic framework for both PDC and DMA. atmel-pcm-dma.c is using the generic dmaengine framework since 95e0e07e710e (ASoC: atmel-pcm: use generic dmaengine framework). Merge atmel-pcm.c in atmel-pcm-pdc.c as this is now the only user. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 43cb6954f8c8a68fdc354226fa045ff43c7e4d39 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Apr 1 04:15:16 2015 +0000 ASoC: rsnd: add Synchronous SRC mode Renesas R-Car sound SRC (= Sampling Rate Converter) has Asynchronous/Synchronous SRC mode. Asynchronous mode is already supported via DPCM. This patch adds Synchronous mode on it. The condition of enabling Synchronous mode are - SoC is clock master - Sound uses SRC - Sound doesn't use DVC - Sound card uses DPCM (= rsrc-card card) amixer set "SRC Out Rate" on aplay xxx.wav & amixer set "SRC Out Rate" 48000 Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6261b06de565baafa590e58a531a1a5522cea0b6 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Mar 24 18:56:05 2015 -0700 regulator: Defer lookup of supply to regulator_get Instead of resolving regulator supplies during registration move this to the time of a consumer retrieving a handle. The benefit is that it's possible for one driver to register regulators with internal dependencies out of order. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f1a8ff21d083c6b37bba9e4ad2c1d899ae41f75d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 1 12:29:13 2015 -0700 vxge: Add const to ethtool_driver_stats_keys Move about half a KB of data to text. Miscellanea: o Move strings out of the .h file into the .c file in case the .h file is ever #included twice Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 82d929207a11402f9cfe2131013a94939967828a Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Mar 30 14:25:44 2015 -0700 crypto: algif - use kmalloc instead of kzalloc No need to use kzalloc to allocate sgls as the structure is initialized anyway. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd50752034e4c4847d413e812f554f1bde1e668c Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Mar 30 14:25:43 2015 -0700 crypto: af_alg - make exports consistant Use EXPORT_SYMBOL_GPL instead of EXPORT_SYMBOL. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a3d1caf8a2c16c55424a0768eade54ee0922341 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Mar 13 01:58:46 2015 -0700 fs: btrfs: Add missing include file Building alpha:allmodconfig fails with fs/btrfs/inode.c: In function 'check_direct_IO': fs/btrfs/inode.c:8050:2: error: implicit declaration of function 'iov_iter_alignment' due to a missing include file. Fixes: 3737c63e1fb0 ("fs: move struct kiocb to fs.h") Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 21295368367beaa563b310d5492166dba158b884 Merge: 209431e ca125b5 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Apr 1 12:24:29 2015 -0700 Merge branch '4.0-rc1-prcm-cleanup-v6' of https://github.com/t-kristo/linux-pm into omap-for-v4.1/prcm-cleanup Conflicts: arch/arm/boot/dts/dra7.dtsi commit f5f321c43150cb4db8f342c8479c6fbdbe20b338 Merge: 877e45d 69628cd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 14:48:50 2015 -0400 Merge tag 'wireless-drivers-for-davem-2015-04-01' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers Kalle Valo says: ==================== iwlwifi: * fix a memory leak, we leaked memory each time the module was loaded. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 877e45d60cdf134b4f152ec7d426def5d0ca4a94 Merge: af3e09e ae469b6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 14:47:21 2015 -0400 Merge branch 'cxgb4-net' Hariprasad Shenai says: ==================== cxgb4 FW macro changes for new FW Fix to dump device log even in the case of firmware crash. Also incorporates changes for new FW. This patch series has been created against net tree and includes patches on cxgb4 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 ae469b68a557d1bd538c9122eaf99cf09fc242f2 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 1 21:41:16 2015 +0530 cxgb4: Fix to dump devlog, even if FW is crashed Add new Common Code routines to retrieve Firmware Device Log parameters from PCIE_FW_PF[7]. The firmware initializes its Device Log very early on and stores the parameters for its location/size in that register. Using the parameters from the register allows us to access the Firmware Device Log even when the firmware crashes very early on or we're not attached to the firmware 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 7ef65a42111270f343b26673c10e48180871326b Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Apr 1 21:41:15 2015 +0530 cxgb4: Firmware macro changes for fw verison 1.13.32.0 Adds new macro and few macro changes for fw version 1.13.32.0 also changes version string in driver to match 1.13.32.0 Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba8c3d6f16a1f9305c23ac1d2fd3992508c5ac03 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Fri Mar 27 21:30:37 2015 +0100 mac80211: add an intermediate software queue implementation This allows drivers to request per-vif and per-sta-tid queues from which they can pull frames. This makes it easier to keep the hardware queues short, and to improve fairness between clients and vifs. The task of scheduling packet transmission is left up to the driver - queueing is controlled by mac80211. Drivers can only dequeue packets by calling ieee80211_tx_dequeue. This makes it possible to add active queue management later without changing drivers using this code. This can also be used as a starting point to implement A-MSDU aggregation in a way that does not add artificially induced latency. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> [resolved minor context conflict, minor changes, endian annotations] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cef2fc1ce4326f7f24c3cf938b94a661fbe773e3 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Tue Mar 31 10:49:14 2015 -0400 mac80211: reduce log spam from ieee80211_handle_pwr_constr This changes a couple of messages from sdata_info to sdata_dbg. This should reduce some log spam, as reported here: https://bugzilla.redhat.com/show_bug.cgi?id=1206468 Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5f919abc76fc3de1e5965ea03c925f7563c7fc15 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:43 2015 +0100 mac80211: add standard deviation to Minstrel stats This patch adds the statistical descriptor "standard deviation" to better describe the current properties of Minstrel and Minstrel-HTs success probability distribution. The standard deviation (SD) is calculated as exponential weighted moving standard deviation (EWMSD) and its current value is added as new column in all rc_stats (in debugfs). Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ade6d4a2ec57d258bc181a155288c267dd8cf094 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:42 2015 +0100 mac80211: reduce calculation costs of EWMA This patch reduces the calculation costs of the EWMA macro from "2x multiplication and 1 addition" down to "1x multiplication and 2x additions". This slightly improves performance depending on the CPU architecture. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 50e55a8ea76fb593403cc09767b6371c17364ba8 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:41 2015 +0100 mac80211: add max lossless throughput per rate This patch adds the new statistic "maximum possible lossless throughput" to Minstrels and Minstrel-HTs rc_stats (in debugfs). This enables comprehensive comparison between current per-rate throughput and max. achievable per-rate throughput. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6a27b2c40b4829e625bc1dfdd0705c5ece720ab4 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:40 2015 +0100 mac80211: restructure per-rate throughput calculation into function This patch moves Minstrels and Minstrel-HTs per-rate throughput calculation (EWMA(thr)) into a dedicated function to be called. Therefore the variable "unsigned int cur_tp" within struct "minstrel_rate_stats" becomes obsolete. and is removed to free up its space. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9134073bc693633b5e1f1a7252c93b3fb262aae4 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:39 2015 +0100 mac80211: improve Minstrel variable & function naming This patch ensures a consistent usage of variable names for type "minstrel_rate_stats" to be used as "mrs" and from type minstrel_rate as "mr" across both Minstrel & Minstrel-HT. In addition some variable and function names got changed to more meaningful ones. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f62838bcc5f58f580961aaf8c9fe59036b7be825 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:38 2015 +0100 mac80211: unify Minstrel & Minstrel-HTs calculation of rate statistics This patch unifies the calculation of Minstrels and Minstrel-HTs per-rate statistic. The new common function minstrel_calc_rate_stats() is called when a statistic update is performed. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2cae0b6a70d666f8905f0f4bf788e56df1273878 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:37 2015 +0100 mac80211: add new Minstrel-HT statistic output via csv This patch adds a new debugfs file "rc_stats_csv" to output Minstrel-HTs statistics in a common csv format that is easy to parse. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> [remove printing current time of day] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6d4885177929b1d978babe24d61ece687782c303 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:36 2015 +0100 mac80211: add new Minstrel statistic output via csv This patch adds a new debugfs file "rc_stats_csv" to output Minstrels statistics in a common csv format that is easy to parse. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> [remove printing current time of day] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9ca683c6d1482714a12170632afb74d43f0ece5a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Apr 1 08:49:24 2015 -0700 chelsio cxgb/cxgb3: Make stats_strings arrays const Move ~2KB of strings in each driver from data to text. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45eb5168873c93b4f1c3c3867fea65aad4c6abd6 Merge: b9600d2 9374e7d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 14:27:28 2015 -0400 Merge tag 'wireless-drivers-next-for-davem-2015-04-01' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: ath9k: * add Active Interference Cancellation, a method implemented in the HW to counter WLAN RX > sensitivity degradation when BT is transmitting at the same time. This feature is supported by cards like WB222 based on AR9462. iwlwifi: * Location Aware Regulatory was added by Arik * 8000 device family work * update to the BT Coex firmware API brmcfmac: * add new BCM43455 and BCM43457 SDIO device support * add new BCM43430 SDIO device support wil6210: * take care of AP bridging * fix NAPI behavior * found approach to achieve 4*n+2 alignment of Rx frames rt2x00: * add new rt2800usb device DWA 130 rtlwifi: * add USB ID for D-Link DWA-131 * add USB ID ASUS N10 WiFi dongle mwifiex: * throughput enhancements ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af3e09e666428f9493e0dd309e0f2ac8480cde8a Merge: 9c02642 788211d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 14:19:22 2015 -0400 Merge tag 'mac80211-for-davem-2015-04-01' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 Johannes Berg says: ==================== This contains just a single fix for a crash I happened to randomly run into today during testing. It's clearly been around for a while, but is pretty hard to trigger, even when I tried explicitly (and modified the code to make it more likely) it rarely did. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f375573c96470a27b911aeb1c0a25212d0e145a2 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 31 20:50:42 2015 +0200 clk: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) __initdata updated to __initconst for static const struct of_device_id ti_clkdm_match_table[] Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b9600d2d0901cd0f91cb372e72bd53d22f49638d Merge: 8d88c6e 79d5eed Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 13:58:06 2015 -0400 Merge tag 'linux-can-next-for-4.1-20150401' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-04-01 this is a pull request of 5 patches for net-next/master. There are two patches for the ems_usb driver by Gerhard Uttenthaler and me, which fix sparse endianess warnings. Oliver Hartkopp adds two patches to improve and extend the CAN-ID filter handling on RAW CAN sockets. The last patch is by me, it silences an uninitialized variable warning in the peak_usb driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d88c6ebb34c3e54debe81e9b0d81b60411f8179 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Apr 1 00:40:00 2015 -0700 net: bcmgenet: enable MoCA link state change detection Currently, MoCA fixed PHYs are always in link-up state, regardless of whether the link is actually up or not. Add code to properly detect MoCA link state changes and to reflect the new state in MoCA fixed PHY. Only GENET V3 and V4 MACs are capable of detecting MoCA link state changes. The code works as follows: 1. GENET MAC detects MoCA link state change and issues UMAC_IRQ_LINK_UP or UMAC_IRQ_LINK_DOWN interrupt. 2. Link up/down interrupt is processed in bcmgenet_irq_task(), which calls phy_mac_interrupt(). 3. phy_mac_interrupt() updates the fixed PHY phydev->link and kicks the PHY state machine. 4. PHY state machine proceeds to read the fixed PHY link status register. 5. When the fixed PHY link status register is being read, the new function bcmgenet_fixed_phy_link_update() gets called. It copies the fixed PHY phydev->link value to the fixed PHY status->link. 6. PHY state machine receives the new link state of the fixed PHY. 7. MoCA fixed PHY link state now correctly reflects the real MoCA hardware link state. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4039314d0b1b57aa602490b7b9ae505e2467a44 Merge: e1b7c02 509fca8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 10:29:55 2015 -0700 Merge tag 'iommu-fixes-v4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull IOMMU fixes from Joerg Roedel: "This contains fixes for: - a VT-d issue where hardware domain-ids might be freed while still in use. - an ipmmu-vmsa issue where where the device-table was not zero terminated - unchecked register access issue in the arm-smmu driver" * tag 'iommu-fixes-v4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu/vt-d: Remove unused variable iommu: ipmmu-vmsa: Add terminating entry for ipmmu_of_ids iommu/vt-d: Detach domain *only* from attached iommus iommu/arm-smmu: fix ARM_SMMU_FEAT_TRANS_OPS condition commit e1b7c029a31a26e42c76f763b7cd566ecf62cbd2 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Apr 1 17:03:30 2015 +1030 lguest: now needs PCI_DIRECT. Since commit 8e7094694396 ("lguest: add a dummy PCI host bridge.") lguest uses PCI, but it needs you to frob the ports directly. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b6c3a5946c60ed2e3da33443a7db8f000ba108c5 Merge: 1e84891 1efff91 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 10:05:42 2015 -0700 Merge tag 'lazytime_fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull lazytime fixes from Ted Ts'o: "This fixes a problem in the lazy time patches, which can cause frequently updated inods to never have their timestamps updated. These changes guarantee that no timestamp on disk will be stale by more than 24 hours" * tag 'lazytime_fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: fs: add dirtytime_expire_seconds sysctl fs: make sure the timestamps for lazytime inodes eventually get written commit 2841a2d3a1b4b4e5cd22851928087b664a4dafad Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Mar 19 23:14:06 2015 +0200 iwlwifi: check the size of the trigger struct from the firmware file When we access the triggers we need to make sure that the data we expect was actually provided by the firmware file. Check this when we decode the triggers from the firmware file. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1e848913f017cb84256ef5fe4cdd5cc4b935bd36 Merge: 6c310bc f9c72d1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 09:45:47 2015 -0700 Merge branch 'for-4.0' of git://linux-nfs.org/~bfields/linux Pull nfsd fixes from Bruce Fields: "Two main issues: - We found that turning on pNFS by default (when it's configured at build time) was too aggressive, so we want to switch the default before the 4.0 release. - Recent client changes to increase open parallelism uncovered a serious bug lurking in the server's open code. Also fix a krb5/selinux regression. The rest is mainly smaller pNFS fixes" * 'for-4.0' of git://linux-nfs.org/~bfields/linux: sunrpc: make debugfs file creation failure non-fatal nfsd: require an explicit option to enable pNFS NFSD: Fix bad update of layout in nfsd4_return_file_layout NFSD: Take care the return value from nfsd4_encode_stateid NFSD: Printk blocklayout length and offset as format 0x%llx nfsd: return correct lockowner when there is a race on hash insert nfsd: return correct openowner when there is a race to put one in the hash NFSD: Put exports after nfsd4_layout_verify fail NFSD: Error out when register_shrinker() fail NFSD: Take care the return value from nfsd4_decode_stateid NFSD: Check layout type when returning client layouts NFSD: restore trace event lost in mismerge commit 687908c2b6498130172286f3387ec0eb0a20080e Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Mar 31 22:08:45 2015 +0200 net: phy: at803x: simplify using devm_gpiod_get_optional and its 4th argument Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Moreover use devm_gpiod_get_optional instead of ignoring all errors returned by devm_gpiod_get and simplify accordingly. The result is more strict error handling which is good. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 906a7985f72ee2f28433e2dd847a013da0e4cdea Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 16:05:23 2015 +0200 caif: remove unused struct member The tty_name member of struct ser_device is never set or used, so it can be removed. (The definition of struct ser_device is private to this .c file, and the identifier tty_name only occurs in this one place.) Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 072264fee89633b676f656613efff7dd5cdbf88a Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Fri Mar 27 10:07:33 2015 -0600 selftests: Change memory on-off-test.sh name to be unique cpu and memory hotplug scripts use the same name. Change memory on-off-test.sh to mem-on-off-test.sh. Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc16782169e5a7d523c82a45a24ead70d6e2275f Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Fri Mar 27 10:03:48 2015 -0600 selftests: change cpu on-off-test.sh name to be unique cpu and memory hotplug scripts use the same name. Change cpu on-off-test.sh to cpu-on-off-test.sh. Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c026424dbdb89e2cef9962562cbfd576b293d29 Merge: 2f30232 da254fb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Apr 1 12:30:39 2015 -0400 Merge branch 'bnx2' Yuval Mintz says: ==================== bnx2x: kdump related fixes This patch series aims to fix bnx2x driver issues when loading in kdump kernel. Both issues fixed here would be fatal to the device, requiring full reset of the system in order to recover, preventing the device from serving its purpose in the kdump environment. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da254fbc6357a66a127e4e4e234b4f9c555d5ed1 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Apr 1 10:02:20 2015 +0300 bnx2x: Fix kdump when iommu=on When IOMM-vtd is active, once main kernel crashes unfinished DMAE transactions will be blocked, putting the HW in an error state which will cause further transactions to timeout. Current employed logic uses wrong macros, causing the first function to be the only function that cleanups that error state during its probe/load. This patch allows all the functions to successfully re-load in kdump kernel. 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 3d6b72534a109be4353b161a09a5683b441d0941 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Apr 1 10:02:19 2015 +0300 bnx2x: Fix kdump on 4-port device When running in a kdump kernel, it's very likely that due to sync. loss with management firmware the first PCI function to probe and reach the previous unload flow would decide it can reset the chip and continue onward. While doing so, it will only close its own Rx port. On a 4-port device where 2nd port on engine is a 1g-port, the 2nd port would allow ingress traffic after the chip is reset [assuming it was active on the first kernel]. This would later cause a HW attention. This changes driver flow to close both ports' 1g capabilities during the previous driver unload flow prior to the chip reset. 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 9a1e75e11a8d09c5cba022e1ac04b0785354f708 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Mar 31 08:35:09 2015 +0100 ahci: st: st_configure_oob must be called after IP is clocked. Currently the ahci_st driver will hang the system on probe, as the st_configure_oob function does some register writes before the IP is clocked. This patch moves the function call to after ahci_platform_enable_resources (which enables the IP clock), and resolves the hang. Addtionally st_ahci_configure_oob should be called in the st_ahci_resume function, so we also rectify that ensuring it is also called after the IP clock has been enabled. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9a8340bfeb03c5fc20b39aa533b164844ef582f9 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Mar 31 08:35:07 2015 +0100 ahci: st: Update the ahci_st DT documentation As part of testing ahci_st driver working on stih407 I noticed several things wrong in the DT documentation: - 1) Compatible string doesn't match the driver code 2) pwr-rst reset isn't documented (but exists in the driver) 3) some whitespace issues (spaces not tabs) Also add in a stih407 family example into the doc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b6305d62234642a37fa1a68d15e741cfc3428c45 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Mar 31 18:37:12 2015 +0100 ahci: st: Update the DT example for how to obtain the PHY. The example is wrong in that the phys property should take a phandle to the phy port. Also with the changing over to generic PHY type constants we also update that as well. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit c471c989addf4d806c62ece60d6cfd6d9ad50c95 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Tue Mar 31 02:29:35 2015 +0300 staging: dgnc_sysfs: Replace printk(KERN_ERR ) with pr_err() Fix the following checkpatch warning: WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ... Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd82525956744c3a5e6b7275cd468b6180cc5b72 Author: Chris Mason <clm@xxxxxx> Date: Wed Apr 1 08:36:05 2015 -0700 Btrfs: free and unlock our path before btrfs_free_and_pin_reserved_extent() The error handling path for alloc_reserved_tree_block is calling btrfs_free_and_pin_reserved_extent with a spinning tree lock held. This might sleep as we allocate extent_state objects: BUG: sleeping function called from invalid context at mm/slub.c:1268 in_atomic(): 1, irqs_disabled(): 0, pid: 11093, name: kworker/u4:7 5 locks held by kworker/u4:7/11093: #0: ("%s-%s""btrfs", name){++++.+}, at: [<ffffffff81091d51>] process_one_work+0x151/0x520 #1: ((&work->normal_work)){+.+.+.}, at: [<ffffffff81091d51>] process_one_work+0x151/0x520 #2: (sb_internal){++++.+}, at: [<ffffffffa003a70e>] start_transaction+0x43e/0x590 [btrfs] #3: (&head_ref->mutex){+.+...}, at: [<ffffffffa0089f8c>] btrfs_delayed_ref_lock+0x4c/0x240 [btrfs] #4: (btrfs-extent-00){++++..}, at: [<ffffffffa007697b>] btrfs_clear_lock_blocking_rw+0x9b/0x150 [btrfs] CPU: 0 PID: 11093 Comm: kworker/u4:7 Tainted: G W 4.0.0-rc6-default+ #246 Hardware name: Intel Corporation Santa Rosa platform/Matanzas, BIOS TSRSCRB1.86C.0047.B00.0610170821 10/17/06 Workqueue: btrfs-extent-refs btrfs_extent_refs_helper [btrfs] 00000000000004f4 ffff88006dd17848 ffffffff81ab0e3b ffff88006dd17848 ffff88007a944760 ffff88006dd17868 ffffffff8109d516 ffff88006dd17898 0000000000000000 ffff88006dd17898 ffffffff8109d5b2 ffffffff81aba2bb Call Trace: [<ffffffff81ab0e3b>] dump_stack+0x4f/0x6c [<ffffffff8109d516>] ___might_sleep+0xf6/0x140 [<ffffffff8109d5b2>] __might_sleep+0x52/0x90 [<ffffffff81aba2bb>] ? ftrace_call+0x5/0x34 [<ffffffff81196363>] kmem_cache_alloc+0x163/0x1b0 [<ffffffffa0056f31>] ? alloc_extent_state+0x31/0x150 [btrfs] [<ffffffffa0056f20>] ? alloc_extent_state+0x20/0x150 [btrfs] [<ffffffffa0056f31>] alloc_extent_state+0x31/0x150 [btrfs] [<ffffffffa005805b>] __set_extent_bit+0x37b/0x5d0 [btrfs] [<ffffffff81aba2bb>] ? ftrace_call+0x5/0x34 [<ffffffffa005888d>] ? set_extent_bit+0xd/0x30 [btrfs] [<ffffffffa00588a3>] set_extent_bit+0x23/0x30 [btrfs] [<ffffffffa0058e80>] set_extent_dirty+0x20/0x30 [btrfs] [<ffffffffa00195ba>] pin_down_extent+0xaa/0x170 [btrfs] [<ffffffffa001d8ef>] __btrfs_free_reserved_extent+0xcf/0x160 [btrfs] [<ffffffffa0023856>] btrfs_free_and_pin_reserved_extent+0x16/0x20 [btrfs] [<ffffffffa002482a>] __btrfs_run_delayed_refs+0xfca/0x1290 [btrfs] [<ffffffffa0026eae>] btrfs_run_delayed_refs+0x6e/0x2e0 [btrfs] [<ffffffffa0027378>] delayed_ref_async_start+0x48/0xb0 [btrfs] [<ffffffffa006c883>] normal_work_helper+0x83/0x350 [btrfs] [<ffffffffa006cd79>] ? btrfs_extent_refs_helper+0x9/0x20 [btrfs] [<ffffffffa006cd82>] btrfs_extent_refs_helper+0x12/0x20 [btrfs] [<ffffffff81091dcb>] process_one_work+0x1cb/0x520 [<ffffffff81091d51>] ? process_one_work+0x151/0x520 [<ffffffff811c7abf>] ? seq_read+0x3f/0x400 [<ffffffff8109260b>] worker_thread+0x5b/0x4e0 [<ffffffff81097be2>] ? __kthread_parkme+0x12/0xa0 [<ffffffff810925b0>] ? rescuer_thread+0x450/0x450 [<ffffffff81098686>] kthread+0xf6/0x120 [<ffffffff81098590>] ? flush_kthread_worker+0x1b0/0x1b0 [<ffffffff81ab8088>] ret_from_fork+0x58/0x90 [<ffffffff81098590>] ? flush_kthread_worker+0x1b0/0x1b0 ------------[ cut here ]------------ This changes things to free the path first, which will also unlock the extent buffer. Signed-off-by: Chris Mason <clm@xxxxxx> Reported-by: Dave Sterba <dsterba@xxxxxxx> Tested-by: Dave Sterba <dsterba@xxxxxxx> commit 4b80af40ebd61fcaaa9a2326a4ce401b5fe7c103 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:55:04 2015 +0530 Staging: lustre: Mark internal functions static in llog_cat.c This patch marks functions llog_cat_set_first_idx and cat_cancel_cb static as these are used only within this file. Also since cat_cancel_cb is made static do not export it. This eliminates the following sparse warning: warning: symbol * was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bf31f075c5138bab1a5d9c61798739424f51781 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:13:56 2015 +0530 Staging: lustre: Mark internal functions as static This patch makes functions mgc_logname2resid, mgc_set_info_async and mgc_init static as these are only used internally. This also eliminates sparse warnings of the type: warning: symbol * was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 171aee168e4fe04502e2e065750dcbe0b2e0ffa9 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:13:55 2015 +0530 Staging: lustre: Include header file that declares lprocfs_mdc_init_vars This patch includes the header file mdc_internal.h that declares the function lprocfs_mdc_init_vars. This also eliminates the sparse warning: warning: symbol 'lprocfs_mdc_init_vars' was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5edcf2f8679d2a4434f791ee19eb82b2d6997f3 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:13:54 2015 +0530 Staging: lustre: Include header for functions prototypes This patch includes the header lustre/include/lclient.h that declares the functions lov_lsm_put and lov_read_and_clear_async_rc defined in lov_object.c. This eliminates warnings reported by sparse: warning: symbol was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80e177380b3a9e08a3c74ae0562c020c80ce3c2c Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:13:53 2015 +0530 Staging: lustre: Add header that declares function lprocfs_lmv_init_vars This patch includes the header file lmv_internal.h that declares the function lprocfs_lmv_init_vars defined in lproc_lmv.c. This eliminates the sparse warning: warning: symbol 'lprocfs_lmv_init_vars' was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 132eacb7fbd32cbfd55d47a230aea636e48ee959 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 23:13:52 2015 +0530 Staging: lustre: Make obd_proc_version_seq_show static The function obd_proc_version_seq_show is only used in this file, so make it static. This eliminates the following sparse warning: warning: symbol 'obd_proc_version_seq_show' was not declared. Should it be static? Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44ba06987c0b10faa998b9324850e8a6564c714d Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Apr 1 16:31:26 2015 +0100 RxRPC: Handle VERSION Rx protocol packets Handle VERSION Rx protocol packets. We should respond to a VERSION packet with a string indicating the Rx version. This is a maximum of 64 characters and is padded out to 65 chars with NUL bytes. Note that other AFS clients use the version request as a NAT keepalive so we need to handle it rather than returning an abort. The standard formulation seems to be: <project> <version> built <yyyy>-<mm>-<dd> for example: " OpenAFS 1.6.2 built 2013-05-07 " (note the three extra spaces) as obtained with: rxdebug grand.mit.edu -version from the openafs package. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 967db076bd3eddb36c4699743f8304a5ffcbd814 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 17:12:53 2015 +0530 Staging: lustre: Add function prototypes in console.h Sparse reported the following warnings: warning: symbol 'lstcon_console_init' was not declared. Should it be static? warning: symbol 'lstcon_console_fini' was not declared. Should it be static? warning: symbol 'lstcon_ioctl_entry' was not declared. Should it be static? However since these functions are used in other files, they cannot be made static, so add protoypes for the same in console.h. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c7d08c32d0cb96ec0e831539bb68b7fe5b45973 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Wed Apr 1 00:52:18 2015 +0530 Staging: rtl8712: Remove zero-testing pointer typed value Removes variable comparison with 0 by using !. Done using following coccinelle script. @ disable is_zero,isnt_zero @ expression *E; expression E1,f; @@ E = f(...) <... ( - E == 0 + !E | - E != 0 + E | - 0 == E + !E | - 0 != E + E ) ...> ?E = E1 @ disable is_zero,isnt_zero @ expression *E; @@ ( E == - 0 + NULL | E != - 0 + NULL | - 0 + NULL == E | - 0 + NULL != E ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6955a8f4350686321ccc4efd2b2333d91c5c2f5 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 28 03:30:12 2015 +0200 Staging: rtl8712: Remove duplicated argument to | Delete duplicated argument to | for the state argument in the _clr_fwstate_() function call as it is redundant. Detected with coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45de432775d6df1b349b02c4d783237937278906 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 28 02:57:34 2015 +0200 Staging: rtl8712: Use memdup_user() instead of copy_from_user() Use memdup_user() to avoid its duplicated implementation and simplify code. memdup_user() uses GFP_KERNEL instead of GFP_ATOMIC, which is valid because copy_from_user() might sleep and it's useless to make the allocation atomic. Found with coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66687e6aed4ab25ab5aac52ed94b277c4db2093f Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Apr 1 14:01:11 2015 +0300 iio: magnetometer: mag3110: Place driver on standby on error Place driver on standby mode on error in order to prevent wasting power. Move standby function above to be seen by the new call. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa5587f3cb9fde2db852b5549ee561198aa95748 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 13:04:29 2015 +0300 Staging: iio: accel: Remove explicit NULL comparison This patch removes explicit NULL comparison and writes it in its equivalent shorter form. Done with coccinelle. @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3f31e87dbcc2c6d3a9cf28e1404cf43ef265ebe Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 13:04:07 2015 +0300 Staging: iio: adc: Remove explicit NULL comparison This patch removes explicit NULL comparison and writes it in its shorter form. Detected with coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16d55be4cc694f76bff0cd99a8101e943e878d38 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 13:03:38 2015 +0300 Staging: iio: impedance-analyzer: Remove explicit NULL comparison This patch removes explicit NULL comparison and replaces it with its shorter form. Detected with coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e84d0724101ba8a38afab21c118135815f707733 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 13:03:12 2015 +0300 Staging: iio: trigger: Remove explicit NULL comparison This patch removes explicit NULL comparison and replaces it with its shorter form. Detected with coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45297571e90bd59195011ae8e328dae84534ecef Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 13:01:18 2015 +0300 Staging: iio: meter: Remove explicit NULL comparison This patch removes explicit NULL comparison and replaces it with its shorter form. Detected with coccinelle. @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f94c31feeba8b872ed18d075b57de5d04575d05 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 12:51:38 2015 +0300 Staging: iio: iio_simple_dummy: Remove explicit NULL comparison This patch removes explicit NULL comparison and writes it in its simpler form. Done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 025c7da9eeba3a6c77ef9485a4c1c1a797dd7a4e Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Mar 31 12:51:10 2015 +0300 Staging: iio: iio_dummy_evgen: Simplify NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b72eb70209a0aac7651166d3f610ffb57b4c6e5f Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Mar 29 16:14:39 2015 +0300 Staging: iio: Add error check on iio_register_device() This patch checks if an error occurred on probe and stops the device in order to avoid wasting power. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c057b3e02184b111d3392be75efc7c94f0fdf20 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:10 2015 +0800 MIPS: Loongson-3: Add chipset ACPI platform driver This add south-bridge (SB700/SB710/SB800 chipset) ACPI platform driver for Loongson-3. This will be used by EC (Embedded Controller, used by laptops) driver and STR (Suspend To RAM). [ralf@xxxxxxxxxxxxxx: Fix build error if !CONFIG_CPU_LOONGSON3. Build doesn't like it if no obj-* variable is defined at all in a Makefile. Obviously this has not been tested on other platforms.] Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9619/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 64f09aa967e1a6effdffcbf14c912ec5f9e3715e Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:09 2015 +0800 MIPS: Loongson-3: Add CPU Hwmon platform driver This add CPU Hwmon (temperature sensor) platform driver for Loongson-3. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9617/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f14ceff75545f9a1e62430fe9cc796208569b972 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:08 2015 +0800 MIPS: perf: Add hardware perf events support for Loongson-3 This patch enable hardware performance counter support for Loongson-3's perf events. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9618/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a2e50f53d535fa885a432fb9fc3e3ca5ed97364c Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Mon Jan 19 04:19:20 2015 -0500 MIPS: PCI: Add a hook for IORESOURCE_BUS in pci_controller/bridge_controller On SGI Origin 2k/Onyx2 and SGI Octane systems, there can exist multiple PCI buses attached to the Xtalk bus. The current code will stop counting PCI buses after it finds the first one. If one installs the optional PCI cardcage ("shoebox") into these systems, because of the order of the Xtalk widgets, the current PCI code will find the cardcage first, and fail to detect the BaseIO PCI devices, which are on a higher Xtalk widget ID. This patch adds the hooks needed for resolving this issue in the IP27 PCI code (in a later patch). Verified on both an SGI Onyx2 and an SGI Octane. Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Linux MIPS List <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9074/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3db2742554bb7cc077de478c2ebf9c1efdd317f5 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 16:46:03 2015 -0700 MIPS: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9640/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 97b290b5637f473588a297834c10cd750718e980 Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:01:01 2015 +0100 MIPS: Octeon: Fix to IP checksum offloading in Little Endian When hardware checksum generation is switched on the checksum generation was only being signalled to the hardware correctly in Big Endian mode. Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9634/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d2a948d2db68bda8780df636cf6390748953793f Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:01:00 2015 +0100 MIPS: Octeon: Make octeon-md5 driver endian-agnostic The octeon crypto co-processor expects values to be big endian. Wrap the data transfers with cpu_to_be64() and be64_to_cpu() transformations. This passes for all the MD5 test vectors in crypto/testmgr.h Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9631/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8a5cc923af4298e7d40a434398743c03ef875fb1 Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:00:59 2015 +0100 MIPS: Octeon: Set up ethernet hardware for little endian Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9635/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f1e770cf51fc0567b7d2b1d242b5ab8d23399d09 Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:00:58 2015 +0100 MIPS: Octeon: Reverse the order of register accesses to the FAU 64 bit access is unaffected but for 32 bit access, swap high and low words. Similarly for 16 bit access, reverse the order of the four possible words, and for 8 bit access reverse the order of byte accesses. Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9630/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b0abf36ffdc2b7efbb74e02b9dad99b40e85ec3b Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:00:57 2015 +0100 MIPS: Octeon: Set appropriate endianness in L2C registers Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9629/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 11db04c8f3f2353b45848ceda2e6e3440520f7cb Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Date: Mon Mar 30 17:00:56 2015 +0100 MIPS: Octeon: Turn hardware bitfields and structures inside out. Although the proper way to do this for bitfields would be to use the macro that Ralf has provided, this is a little easier to understand as a diff. Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9628/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0a1cd2c5887cc87178adf9f58191a18cca8c55c0 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Mar 30 23:02:51 2015 +0200 MIPS: IP32: ip32-platform is not a module. So let's remove everything that only makes sense for kernel modules. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3057739138eb8fbaa5154b149a864f5218898c73 Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Wed Jan 21 07:59:45 2015 -0500 MIPS: Add R16000 detection This allows the kernel to correctly detect an R16000 MIPS CPU on systems that have those. Otherwise, such systems will detect the CPU as an R14000, due to similarities in the CPU PRId value. Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Linux MIPS List <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9092/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5b4e845393d313af1d319b8bd01c9daaca3aa487 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Feb 23 18:28:34 2015 -0800 CLOCKSOURCE: mips-gic: Allow GIC clock to be specified in device-tree As an alternative to the "clock-frequency" property, allow the GIC timer operating clock to be specified in the device-tree instead. This is useful on systems which use common clock or where the GIC is not fixed to a particular frequency and is instead, for example, derived from the CPU clock. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hogan <james.hogan@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> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9309/ commit 615eb603f4e1da4f151c7fac4aa175753a9913ec Author: Chen Jie <chenj@xxxxxxxxxx> Date: Fri Mar 27 01:07:24 2015 +0800 MIPS: csum_partial: Improve instruction parallelism. Computing sum introduces true data dependency. This patch removes some true data depdendencies, hence increases instruction level parallelism. This patch brings up to 50% csum performance gain on Loongson 3a. One example about how this patch works is in CSUM_BIGCHUNK1: // ** original ** vs ** patch applied ** ADDC(sum, t0) ADDC(t0, t1) ADDC(sum, t1) ADDC(t2, t3) ADDC(sum, t2) ADDC(sum, t0) ADDC(sum, t3) ADDC(sum, t2) In the original implementation, each ADDC(sum, ...) depends on the sum value updated by previous ADDC(as source operand). With this patch applied, the first two ADDC operations are independent, hence can be executed simultaneously if possible. Another example is in the "copy and sum calculating chunk": // ** original ** vs ** patch applied ** STORE(t0, UNIT(0) ... STORE(t0, UNIT(0) ... ADDC(sum, t0) ADDC(t0, t1) STORE(t1, UNIT(1) ... STORE(t1, UNIT(1) ... ADDC(sum, t1) ADDC(sum, t0) STORE(t2, UNIT(2) ... STORE(t2, UNIT(2) ... ADDC(sum, t2) ADDC(t2, t3) STORE(t3, UNIT(3) ... STORE(t3, UNIT(3) ... ADDC(sum, t3) ADDC(sum, t2) With this patch applied, ADDC and the **next next** ADDC are independent. Signed-off-by: chenj <chenj@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9608/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d548ca6b0784a99f0fcae397f115823ccd0361a5 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Dec 10 17:38:26 2014 +0100 MIPS: BCM47XX: Fix coding style to match kernel standards [ralf@xxxxxxxxxxxxxx: Fixed conflicts.] Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Paul Walmsley <paul@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/8665/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 05f5507f59d6d3eab1c2172c6266b664b61599b5 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Mon Mar 30 00:04:56 2015 +0300 MIPS: OCTEON: add GPIO LED support for DSR-1000N DSR-1000N board has two GPIO LEDs next to USB ports. Add support for them. [ralf@xxxxxxxxxxxxxx: Resolved conflict due to the moving of the DTS files into vendor subdirectories.] Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9624/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f8fd30ebdb36f2598f382a6e57fa010477ad094f Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:06 2015 +0800 MIPS: Hibernate: Restructure files and functions This patch has no functional changes, it just to keep the assembler code to a minimum. Files and functions naming is borrowed from X86. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9616/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2a21dc7c196209d94cb570a0d340faa6c760f7f8 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Sun Mar 29 10:54:05 2015 +0800 MIPS: Hibernate: flush TLB entries earlier We found that TLB mismatch not only happens after kernel resume, but also happens during snapshot restore. So move it to the beginning of swsusp_arch_suspend(). Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9621/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4c9164b9f77cebe715db18f179329c48b95243bb Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Sun Mar 29 22:09:02 2015 +0200 MIPS: SEAD3: Nuke remaining I2C bits. With no I2C driver available, keeping the platform device registration makes no sense just as keeping the code to instantiage the I2C devices. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 968c94bcd891075ac06dd2f669c557f58a6523fc Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Sun Mar 29 22:06:51 2015 +0200 MIPS: SEAD3: Nuke I2C driver that never was wired up in Makefile. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e598e47144e41e8429bf127266bc3e8017d1a5f4 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Sun Mar 29 16:06:03 2015 +0200 MIPS: SEAD3: Use symbolic addresses from sead-addr.h in I2C driver. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fbacc8dfd8bab24d326b3055d38246ca7a2e1da5 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 23:50:58 2015 +0100 MIPS: SEAD3: Use symbolic addresses from sead-addr.h in LED driver. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit be2d960e0017a9a100edaccc18249d29b427b6ec Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 23:47:59 2015 +0100 MIPS: SEAD3: New header file sead3-addr.h with hardware addresses. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2c0916d4b706bff58221cf7f58a40ef8e997f537 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 21:57:36 2015 +0100 MIPS: SEAD3: Get rid of DRVNAME from LED driver for readability. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2ead2d73494ec86b8e35e0a8a1054b16bb66b5c0 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 21:56:01 2015 +0100 MIPS: SEAD3: Get rid of useless pr_debug calls in the LED driver. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 50a73f19e67a966f518192f808ed7bfa8f80ff97 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 21:47:42 2015 +0100 MIPS: SEAD3: Convert I2C driver to module_platform_driver. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4558e09469fe376752a8d3ba097a0cfe42691b72 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 21:47:01 2015 +0100 MIPS: SEAD3: Convert LED driver to module_platform_driver. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 01f7ab34325e76301915d5a4604834c5e2a91e74 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Oct 24 01:32:25 2014 +0200 MIPS: SEAD3: Collect LED platform device registration in a single file. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: linux-leds@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8203/ commit 8a5f1efbb1a13cd2e2a1c2d1ae3773821e8b1d67 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Mar 25 21:55:15 2015 -0700 MIPS: BMIPS: restrict DTB selection to BMIPS_GENERIC Since we are always sourcing arch/mips/bmips/Kconfig and there is no dependency on BMIPS_GENERIC, we will offer building BMIPS-related DTBs while this is not relevant for the other MIPS platforms. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: cernekee@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9603/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 554b7f56b998c72316ab2d5c21963512fd6c9a5e Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 15:17:31 2015 +0100 MIPS: BMIPS: Flush the readahead cache after DMA. BMIPS 3300/435x/438x CPUs have a readahead cache that is separate from the L1/L2. During a DMA operation, accesses adjacent to a DMA buffer may cause parts of the DMA buffer to be prefetched into the RAC. To avoid possible coherency problems, flush the RAC upon DMA completion. Derived from Kevin Cernekee's https://patchwork.linux-mips.org/patch/9602/. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0acbfc66d09e97e5a01e7a23ac7e99f360ff851b Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 15:10:30 2015 +0100 MIPS: DMA: Implement platform hook to perform post-DMA cache flushes. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 253073801363e5cea3cd368fed1afc3111a21c35 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 27 13:11:51 2015 +0100 MIPS: ath25: Remove unused DMA helper functions. These got merged with the ath25 support after 4e7f72660c39 (MIPS: Remove unnecessary platform dma helper functions) had already removed them for all other platforms. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit eec99f2079df0f58c346652f03f3c18c6799bd79 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 18:33:41 2015 -0700 MIPS: Loongson-3: remove deprecated IRQF_DISABLED This removes the use of the IRQF_DISABLED flag from arch/mips/loongson/loongson-3/hpet.c It's a NOOP since 2.6.35. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: chenhc@xxxxxxxxxx Cc: taohl@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9609/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 138173d4e826587da66c7d321da1a91283222536 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Dec 1 07:58:18 2014 +0100 MIPS: BCM47xx: Move NVRAM header to the include/linux/. There are two reasons for having this header in the common place: 1) Simplifying drivers that read NVRAM entries. We will be able to safely call bcm47xx_nvram_* functions without #ifdef-s. 2) Getting NVRAM driver out of MIPS arch code. This is needed to support BCM5301X arch which also requires this NVRAM driver. Patch for that will follow once we get is reviewed. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: linux-soc@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8619/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5ae03b1220ac22b823d8414997329806db16020c Author: David Daney <david.daney@xxxxxxxxxx> Date: Tue Feb 24 15:35:34 2015 -0800 MIPS: Expand __swp_offset() to carry 40 significant bits for 64-bit kernel. With CONFIG_MIGRATION, the PFN of the migrating pages is stored in __swp_offset(), so we must have enough bits to store the largest possible PFN. OCTEON NUMA systems have 41 bits of physical address space, so with 4K pages (12-bits), we need at least 29 bits to store the PFN. The current width of 24-bits is too narrow, so expand it all the way out to 40-bits. This leaves the low order 16 bits as zero which does not interfere with any of the PTE bits. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9315/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 80aaaa8b93d860f828e2cf883f307894640765f0 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Dec 10 11:49:54 2014 +0100 MIPS: BCM47XX: Use strnchr to avoid reading out of the buffer Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8662/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 23d2bc42aceb829eaf90c694941e4523c22865e8 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Dec 10 11:49:53 2014 +0100 MIPS: BCM47XX: Use helpers for reading NVRAM content Also drop some unneeded memset-s. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8661/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit aa816c1b390aacb698dd6faf5a8cbffb5123c03a Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Thu Feb 26 01:31:04 2015 +0200 MIPS: mark prom_free_prom_memory() everywhere with __init On OCTEON the function is non-trivial and we can potentially even save some memory. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9338/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f45e388ff0f90b922b77bef959a2cfb0645cffbe Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Wed Mar 25 10:25:44 2015 -0700 MIPS: Provide fallback reboot/poweroff/halt implementations If a machine-specific hook is not implemented for restart, poweroff, or halt, fall back to halting secondary CPUs, disabling interrupts, and spinning. In the case of restart, attempt to restart the system via do_kernel_restart() (which will call any registered restart handlers) before halting. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9600/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ea925a72a271f6868dddef98426b396f110da211 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Wed Mar 25 10:25:43 2015 -0700 MIPS: smp: Make stop_this_cpu() actually stop the CPU Since cpu_wait() enables interrupts upon return, CPUs which have entered stop_this_cpu() may still end up handling interrupts. This can lead to the softlockup detector firing on a panic or restart/poweroff/halt. Just disable interrupts and spin to ensure nothing else runs on the CPU once it has entered stop_this_cpu(). Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9601/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c1bed31f9c67f7d315ba13e6eb215fb412a33514 Author: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Date: Thu Dec 18 13:05:40 2014 +0100 MIPS: ath79: Increase max memory limit to 256MByte At least QCA955x can handle up to 256MBytes. Signed-off-by: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Gabor Juhos <juhosg@xxxxxxxxxxx> Cc: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/8738/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2707cd293cc2386f8eea6fee1ba72e8b190f25cc Author: David Daney <david.daney@xxxxxxxxxx> Date: Wed Dec 3 11:12:23 2014 -0800 MIPS: Add FPU emulator counter for emulated delay slots. Delay slot emulation in the FPU emulator is the only kernel user of an executable stack, it is also very slow. Add a counter so we can see how many of these emulations are done. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8634/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7d168923a35551ed6572d02a0f159e7d61f62cfc Author: Joshua Kinard <kumba@xxxxxxxxxx> Date: Thu Dec 11 21:15:35 2014 -0500 MIPS: Update arch/mips/include/asm/sgi/sgi.h Update arch/mips/include/asm/sgi/sgi.h with some updated information on SGI systems. Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Linux MIPS List <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/8666/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 02e47ca9bceb4f20c7e321590e17f1fb1e0cdf9b Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sun Dec 21 22:14:24 2014 +0100 MIPS: pci: Drop owner assignment from platform_drivers This platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8824/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1e294287bb5baec9a0173aff91df16e7eb68de09 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sun Dec 21 22:14:23 2014 +0100 MIPS: lantiq: xway: drop owner assignment from platform_drivers This platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8823/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 94e37fc22a99ce8f4b1995e4ead1c51c27923ae3 Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:38 2015 +0530 MIPS: Netlogic: Add built-in dts for XLP5xx boards Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8896/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 065d7029a83dab2c4d3947c0c8462e5c4ae5a5a6 Author: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:37 2015 +0530 MIPS: Netlogic: i2c IRQ mappings for XLP9XX The new I2C block in XLP9XX has 4 interrupts, add the mapping for these in nlm_hal.c Signed-off-by: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8897/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c982232a3c3627d5735fbc1be0ed9a77bf8e3de1 Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:36 2015 +0530 MIPS: Netlogic: Add irq mapping and setup for XHCI port 3 Add support for third XHCI port in XLPII processors. Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8895/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 94e2b96ecea3ee2a3cbd5147fa380e05a6c4b4bc Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:35 2015 +0530 MIPS: Netlogic: Do not enable SUE for core Enabling the SUE bit for core can can result in rare cache errors which are difficult to track down, so do not enable it. This can cause a minor performance loss in some tests. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8894/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5084e93dfeebd171e0ad02cc7ea560364a7f80b3 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Fri Jan 9 16:13:20 2015 +0530 MIPS: Netlogic: Handle XLP hardware errata Core configuration register IFU_BRUB_RESERVE has to be setup to handle a silicon errata which can result in a CPU hang. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8902/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b3b73ae62ca82744c92c1c2d49381add26d0a8bd Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:33 2015 +0530 MIPS: Netlogic: Update function to read DRAM BARs Change name of xlp_get_dram_map to nlm_get_dram_map to be consistent with the rest of the functions in the file. Pass the the size of the array 'dram_map' to the function, and ensure that it does not write past the end of the array. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8892/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ddba6833bbc5d0e1ed264ada2c00927c9f7cc11f Author: Prem Mallappa <pmallapp@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:32 2015 +0530 MIPS: Netlogic: Added HugeTLB as default Enable CPU_SUPPORTS_HUGEPAGES for XLP processors. Signed-off-by: Prem Mallappa <pmallapp@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8891/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7d1859dcf5bef2fb974c8b0617bee6b085767807 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:31 2015 +0530 MIPS: Netlogic: nlm_core_id for xlp9xx XLP9XX has 5 bits that specify the core in the EBASE register. XLP5XX case added as well for completeness. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8890/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c2736525465a5d6fe1456da8cc2bc701f9128682 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:30 2015 +0530 MIPS: Netlogic: Move cores per node out of multi-node.h Use the current_cpu_data package field to get the node of the current CPU. This allows us to remove xlp_cores_per_node and move nlm_threads_per_node() and nlm_cores_per_node() to netlogic/common.h, which simplifies code. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8889/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 65fecc2725e5c8d5ef988d971b798b28b94e1865 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:29 2015 +0530 MIPS: Netlogic: Use MIPS topology.h commit bda4584cd943 ("MIPS: Support CPU topology files in sysfs") added topology related macros for all MIPS platforms and commit bbbf6d8768f5 ("MIPS: NL: Fix nlm_xlp_defconfig build error") removed most of the contents from mach-netlogic/topology.h. The netlogic specific topology is not needed anymore, we just need to setup the package field in current_cpu_data. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8888/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 53f676977dddaa6784dab7b058cfe8895e3c8772 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:28 2015 +0530 MIPS: MSI: Update MSI handling for XLP The per-cpu interrupt ACK using EIRR has to be done just once after all the bits in the status register are processed. PIC ack has to be done once in case of MSI, and for every interrupt in case of MSI-X Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8887/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a3613be442aaf435d7d3b224c81cea0b0f702d6a Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:27 2015 +0530 MIPS: Netlogic: Fix frequency calculation register Change the PIC frequency calculation to use the register that has the current configuration. The existing code used the register that is written to change frequency, which can have an invalid value if the firmware did not set it up correctly. Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8885/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 72e0605b4346c3b018a5926ab0b3f535ab1f9b82 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:25 2015 +0530 MIPS: Netlogic: Disable writing IRT for disabled blocks If the device header of a block is not present, return invalid IRT value so that we do not program an incorrect offset. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8882/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9bbc6c7d35e2b3370e5e447f3d165892882d35a8 Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:24 2015 +0530 MIPS: Netlogic: Fix cop0 prid check in AHCI init PRID register should be masked with IMP_MASK to get processor ID. Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8883/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8db23f7df6be572d816f0d056fec16c954d3bdf6 Author: Qingmin Liu <qingmin@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:23 2015 +0530 MIPS: Netlogic: Fix nlm_xlp2_get_pic_frequency to use ref_div The variable ref_div is initialized to the correct divisor but not used in the frequency calculation. This caused incorrect frequency to be reported when the clock divisor is not 3. Signed-off-by: Qingmin Liu <qingmin@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8884/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 46ab6f24ac7b05c07e2936124b45da5f2f8fdc61 Author: Shanghui Liu <shliu@xxxxxxxxxxxx> Date: Wed Jan 7 16:58:22 2015 +0530 MIPS: Netlogic: Fix wait for slave CPUs For core 0, the condition of "cpu == bootcpu" is always true, so it does not wait for other three threads to become ready. Fix this by using correct check. Signed-off-by: Shanghui Liu <shliu@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8881/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c775aa12307efecb00ea78265210535dc41cdd49 Author: Toma Tabacu <toma.tabacu@xxxxxxxxxx> Date: Tue Feb 24 15:25:11 2015 +0000 MIPS: LLVMLinux: Silence variable self-assignment warnings. Remove variable self-assignments. This silences a bunch of -Wself-assign warnings reported by clang. The changed code can be compiled without warnings by both gcc and clang. Signed-off-by: Toma Tabacu <toma.tabacu@xxxxxxxxxx> Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9314/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 20c82d93d3c284700c7749f51d4eff3eaaf3e13f Author: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Date: Tue Feb 24 15:25:10 2015 +0000 MIPS: LLVMLinux: Fix an 'inline asm input/output type mismatch' error. Replace incorrect matching constraint that caused the error with an alternative that still has the required constraints on the inline assembly. This is the error message reported by clang: arch/mips/include/asm/checksum.h:285:27: error: unsupported inline asm: input with type '__be32' (aka 'unsigned int') matching output with type 'unsigned short' "0" (htonl(len)), "1" (htonl(proto)), "r" (sum)); ^~~~~~~~~~~~ The changed code can be compiled successfully by both gcc and clang. Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Signed-off-by: Toma Tabacu <toma.tabacu@xxxxxxxxxx> Suggested-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9313/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e6baf0e0b6757082554b9fc217f1f036e9e4ee8f Author: Toma Tabacu <toma.tabacu@xxxxxxxxxx> Date: Tue Feb 24 15:25:09 2015 +0000 MIPS: LLVMLinux: Fix a 'cast to type not present in union' error. Remove a cast to the 'mips16e_instruction' union inside an if condition and instead do an assignment to a local 'union mips16e_instruction' variable's 'full' member before the if statement and use this variable in the if condition. This is the error message reported by clang: arch/mips/kernel/branch.c:38:8: error: cast to union type from type 'unsigned short' not present in union if (((union mips16e_instruction)inst).ri.opcode ^ ~~~~ The changed code can be compiled successfully by both gcc and clang. Signed-off-by: Toma Tabacu <toma.tabacu@xxxxxxxxxx> Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Cc: Andreas Herrmann <andreas.herrmann@xxxxxxxxxxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9312/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fe92da0f355e9f664a56702c36c50e20e84c51cd Author: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Date: Tue Feb 24 15:02:57 2015 +0000 MIPS: Changed current_thread_info() to an equivalent supported by both clang and GCC Without this, a 'break' instruction is executed very early in the boot and the boot hangs. The problem is that clang doesn't honour named registers on local variables and silently treats them as normal uninitialized variables. However, it does honour them on global variables. Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Acked-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9311/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 65c6896d266616e505d1c51fdd52120e90defa80 Author: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Date: Thu Feb 26 18:16:39 2015 -0600 MIPS: XPA: Add new configuration file. Add in new config files for enabling a XPA platform. Signed-off-by: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9354/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fe2360f8f505ea8340f710f1c80a8f56462bdd62 Author: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 18:06:11 2015 +0300 MIPS: OCTEON: Use correct CSR to soft reset This fixes reboot for Octeon III boards [ralf@xxxxxxxxxxxxxx: Dropped segment for function cvmx_reset_octeon() which was removed by the preceeding commit.] Signed-off-by: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9464/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 254f0bd99d37341b96977b9fdb153874e20db449 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Mar 25 11:44:09 2015 +0100 MIPS: Octeon: Remove unused function cvmx_reset_octeon(). As suggested by David Daney. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7f481716bc90442bb19e77b53b28c59a41499300 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Mar 5 17:31:31 2015 +0300 MIPS: OCTEON: Use device tree to probe for flash chips. Don't assume they are there, the device tree will tell us. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9461/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8c1e6b14e27d78fcea4aa6ba09e56c41f528f1cc Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Mar 5 17:31:30 2015 +0300 MIPS: OCTEON: Protect accesses to bootbus flash with octeon_bootbus_sem. Without this, we get bus errors. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9460/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 24d4e7f642882a8a13da170b4ba86eec8fa91bf2 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Mar 5 17:31:29 2015 +0300 MIPS: OCTEON: Add semaphore to serialize bootbus accesses. Some hardware blocks attached to the OCTEON bootbus run asynchronously to accesses from the CPUs. These include MMC/SD host, CF(when using DMA), and NAND controller. A bus error, or corrupt data may occur if a CPU is trying to access a bootbus connected device at the same time the bus is running asynchronous operations. To work around these problems we add this semaphore that must be acquired before initiating bootbus activity. Subsequent patches will add users for this. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> [aleksey.makarov@xxxxxxxxxx: combine the patches] Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Signed-off-by: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9459/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8945e37e103b165f12c403cc412740718969f811 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:20 2014 -0800 MIPS: BMIPS: Add DTS files for several platforms Most of the supported chips use legacy (non-DT) bootloaders, so they will need to select an appropriate builtin DTB at compile time until the bootloader is updated. Provide suitable DTS files, and a means to compile one of them into the kernel image. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8858/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 81a07b4abe1b574605b67e01e3167be44b541980 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:19 2014 -0800 MIPS: BMIPS: Update DT bindings to reflect new SoC support Add an entry for each supported Broadcom SoC. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8857/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cd586ebc324d7514ca1129f5847fbf83b0a59b60 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:18 2014 -0800 MIPS: BMIPS: Refresh BCM3384 DTS files The DT bindings for this platform have changed as the bootloader and product requirements evolved. In particular, there are both Linux-on-Zephyr and Linux-on-Viper configurations. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8856/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 60b858f225256a574d33e7321246ae501b7d8693 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:17 2014 -0800 MIPS: BMIPS: Enable additional peripheral and CPU support in defconfig Also, add an LE defconfig for set-top box (BCM7xxx). This will allow the BMIPS kernel to run on several non-BCM3384 platforms. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8855/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 66cc8ff3eb150850cd9230e3aae6c73dee93b06b Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:16 2014 -0800 MIPS: BMIPS: Use a non-default FIXADDR_TOP setting This will be required to support BMIPS3300 platforms. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8854/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e5a6fcc05831b269be35ec266639d901b43cba78 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:15 2014 -0800 MIPS: BMIPS: Delete the irqchip driver from irq.c BCM3384/BCM63xx can use the common drivers/irqchip/irq-bcm7120-l2.c for this purpose; BCM7xxx will use drivers/irqchip/irq-bcm7038-l1.c. We no longer need this code under arch/mips. [ralf@xxxxxxxxxxxxxx: Fix conflicts.] Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8853/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4b049a6b275db68c2c028937b89abd732dcdf536 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:14 2014 -0800 MIPS: BMIPS: Add quirks for several Broadcom platforms A couple of chips require special handling in order to make SMP secondary boot and/or exception vectors work correctly. Take care of these in setup.c. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8852/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c4b257091745170183e73d476906cabaf7edd540 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:13 2014 -0800 MIPS: BMIPS: Remove bogus bus name There is no "bcm3384" bus so let's just remove it to avoid confusion. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8851/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1ada656f67b0ada37309199997b9e4da9411ef7c Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:12 2014 -0800 MIPS: BMIPS: Rewrite DMA code to use "dma-ranges" property This is a more standardized way of handling DMA remapping, and it is suitable for the memory map found on BCM3384. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8850/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9c24ce29b2b8c60d4bcca90c0a4da54b28f0b4e7 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:11 2014 -0800 MIPS: BMIPS: Document the firmware->kernel DTB interface Add a new section covering the Generic BMIPS machine type. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8849/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5432eeb6fa5a43ec223ea7b5e06212ce422c9462 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:09 2014 -0800 MIPS: Reorder MIPS_L1_CACHE_SHIFT priorities Enabling support for more than one BMIPS CPU in the same build may result in different L1_CACHE_SHIFT values, e.g. CPU_BMIPS5000 selects MIPS_L1_CACHE_SHIFT_7 CPU_BMIPS4380 selects MIPS_L1_CACHE_SHIFT_6 anything else defaults to MIPS_L1_CACHE_SHIFT_5 Ensure that if more than one MIPS_L1_CACHE_SHIFT_x option is selected, Kconfig sets CONFIG_MIPS_L1_CACHE_SHIFT to the highest value. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8847/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9127dc478cd6c3bae3f20df78ea932528cd6b092 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:07 2014 -0800 MIPS: Let __dt_register_buses accept a single bus type Some machines only have one bus type to register (e.g. "simple-bus"). Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8845/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5f7f0317ed28b86bdae9baf65bb72d405b6f79ee Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:06 2014 -0800 IRQCHIP: Add new driver for BCM7038-style level 1 interrupt controllers This is the main peripheral IRQ controller on the BCM7xxx MIPS chips; it has the following characteristics: - 64 to 160+ level IRQs - Atomic set/clear registers - Reasonably predictable register layout (N status words, then N mask status words, then N mask set words, then N mask clear words) - SMP affinity supported on most systems - Typically connected to MIPS IRQ 2,3,2,3 on CPUs 0,1,2,3 This driver registers one IRQ domain and one IRQ chip to cover all instances of the block. Up to 4 instances of the block may appear, as it supports 4-way IRQ affinity on BCM7435. The same block exists on the ARM BCM7xxx chips, but typically the ARM GIC is used instead. So this driver is primarily intended for MIPS STB chips. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8844/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7b7230e70e9eda75356cf15c450b65b77924486f Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:05 2014 -0800 IRQCHIP: bcm7120-l2: Add support for BCM3380-style controllers These controllers support multiple enable/status pairs (64+ IRQs), can put the enable/status words at different offsets, and do not support multiple parent IRQs. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8843/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ca40f1b23df70c6f31b14a5743a6f3b60e862ce1 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:04 2014 -0800 IRQCHIP: bcm7120-l2: Split STB-specific logic into its own function The BCM7xxx instances of this block (listed in the register manual as simply "IRQ0") all have the following items in common: - brcm,int-map-mask: for routing different bits in the L2 to different parent IRQs - brcm,int-fwd-mask: for hardwiring certain IRQs to bypass the L2 and use dedicated L1 lines - one enable/status pair (32 bits only) Much of the driver code can be shared with BCM3380-style controllers, but in order to do this cleanly, let's split out the BCM7xxx-specific logic first. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8842/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5b5468cf1fe9d16e568b45685b31dd4c72588778 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:03 2014 -0800 IRQCHIP: bcm7120-l2: Refactor driver for arbitrary IRQEN/IRQSTAT offsets Currently the driver assumes that REG_BASE+0x00 is the IRQ enable mask, and REG_BASE+0x04 is the IRQ status mask. This is true on BCM3384 and BCM7xxx, but it is not true for some of the controllers found on BCM63xx chips. So we will change a couple of key assumptions: - Don't assume that both the IRQEN and IRQSTAT registers will be covered by a single ioremap() operation. - Don't assume any particular ordering (IRQSTAT might show up before IRQEN on some chips). - For an L2 controller with >=64 IRQs, don't assume that every IRQEN/IRQSTAT pair will use the same register spacing. This patch changes the "plumbing" but doesn't yet provide a way for users to instantiate a controller with arbitrary IRQEN/IRQSTAT offsets. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8841/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c9ae71e0f78fb72eedd674c788415cdf1eb34195 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Dec 25 09:49:02 2014 -0800 IRQCHIP: brcmstb-l2: don't clear wakeable interrupts at init time Wakeable interrupts might be pending at boot/init time, because wakeup interrupts might have triggered a resume from S5. So don't clear such wakeups. This means that any driver which requests a wakeable interrupt bit should be prepared to handle an interrupt as soon as they call request_irq(). (This is technically already the correct development practice, but some drivers probably expect not to receive interrupts until they have performed some I/O.) Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8840/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7e229fa07da10ee3dc3f88989b515293758c42eb Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:01 2014 -0800 IRQCHIP: Update docs regarding irq_domain_add_tree() Several drivers now use this API, including the ARM GIC driver, so remove the outdated comment. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8839/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5f2d44591fb374ae346a3df682d722b68552adc2 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Thu Dec 25 09:49:00 2014 -0800 MIPS: bcm3384: Rename "bcm3384" target to "bmips" This platform is configured primarily through device tree, and we can reuse the same code to support a bunch of other chips. Change the name to reflect this. [ralf@xxxxxxxxxxxxxx: Fix conflicts with other patches.] Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: abrestic@xxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8838/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit eb2236ea580bb21c954c889cc3dc05b3e98238cd Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Dec 25 09:48:58 2014 -0800 MIPS: Add dtbs_install target Add the dtbs_install Makefile target to install the dtb files into $INSTALL_DTBS_PATH. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Tested-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8836/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8c0b9ee8665c43ee370108930ff51cab9a545c1c Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Dec 25 09:48:57 2014 -0800 MIPS: Move device-trees into vendor sub-directories Move the MIPS device-trees into the appropriate vendor sub-directories. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Tested-by: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: f.fainelli@xxxxxxxxx Cc: jaedon.shin@xxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Cc: arnd@xxxxxxxx Cc: computersforpeace@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/8835/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ec9ddad3c6a5789373e4f67009a0dea276febc47 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:35 2015 -0800 MIPS: Add support for fine granularity task level IRQ time accounting With sched_clock being ready, it makes sense to add the option of IRQ time accounting -- When we have a fast enough sched_clock, IRQ time accounting will be enabled (see sched_clock_register). Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9489/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 262f1c92912fcf4150cafb1b1e78a2e4e646d008 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:34 2015 -0800 MIPS: csrc-sb1250: Implement read_sched_clock Use sb1250 hpt for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9488/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0dc886aba2c170118da8986c8ec73cc9902f7340 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:33 2015 -0800 MIPS: csrc-sb1250: Remove FSF mail address from GPL notice This is to make checkpatch.pl happy for the next patch. It would otherwise say -- ERROR: Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9487/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 02710fc8512f77597e9fa68d2d00000107b84242 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:32 2015 -0800 MIPS: csrc-sb1250: Extract hpt cycle acquisition from sb1250_hpt_read This is to prepare for the upcoming read_sched_clock implementation, which will also need to get cycles from the high precision timer. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9486/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 944081ac53c38f7f2b86165553bf9d4aa9fd5d97 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:31 2015 -0800 MIPS: jz4740: Implement read_sched_clock Use jz4740 timer counter for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9485/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a6071af914caec91d97d9db42a1bb0e9d6ad6890 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:30 2015 -0800 MIPS: cevt-txx9: Implement read_sched_clock Use txx9 up-counter for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9484/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c41cef36530a4b4afa79981e8f1a31f49b871a90 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:29 2015 -0800 MIPS: sgi-ip27: Implement read_sched_clock Use ip27 hub real time counter for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9483/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7cb24b700349f4287f4104bb9f3266d7f383d4cc Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:28 2015 -0800 MIPS: csrc-ioasic: Implement read_sched_clock Use DEC I/O ASIC's free-running counter for sched_clock source. This implementation will give high resolution cputime accounting. Acked-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9482/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 317adb12e5417167162bf7f8a3265c06ae9ef216 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:27 2015 -0800 MIPS: csrc-ioasic: Remove FSF mail address from GPL notice This is to make checkpatch.pl happy for the next patch. It would otherwise say -- ERROR: Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL. Acked-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9481/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 27acdea8fefeb6bec6f5af771df233c83aeac683 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:26 2015 -0800 MIPS: csrc-bcm1480: Implement read_sched_clock Use the ZBbus cycle counter for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9480/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 788049e2d523e64fa48a9a4bce99ed93a8dc943a Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:25 2015 -0800 MIPS: csrc-bcm1480: Remove FSF mail address from GPL notice This is to make checkpatch.pl happy for the next patch. It would otherwise say -- ERROR: Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9479/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e9cef549c34603cd312cf536d8b624243a7963d4 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:24 2015 -0800 MIPS: csrc-r4k: Implement read_sched_clock Use c0 count register for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9478/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 929de4cc9719398f3a7246854b6c254070e18b0a Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:23 2015 -0800 MIPS: Add sched_clock support This will provide sched_clock interface to implement individual read_sched_clock(). Not for CAVIUM_OCTEON_SOC as it defines its own sched_clock() directly (not using the sched_clock_register interface). Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9477/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ff37015b6d8078eed8641fa7602e09fee7db761a Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:22 2015 -0800 CLOCKSOURCE: versatile: Add PLAT_VERSATILE dependency GENERIC_SCHED_CLOCK can be selected by architectures other than ARM. The current dependencies of CLKSRC_VERSATILE make it possible that other architectures will have CLKSRC_VERSATILE available in configuration once they select GENERIC_SCHED_CLOCK, whereas this clock source should be solely available to ARM in reality. This patch adds one more dependency to CLKSRC_VERSATILE to fix the issue. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Reported-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9476/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bb877e96bea1f411106bdc639ce6858095775c3a Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:21 2015 -0800 MIPS: Add support for full dynticks CPU time accounting With the correct cmpxchg64 on 32-bit platforms, we can now add the config HAVE_VIRT_CPU_ACCOUNTING_GEN into arch/mips/Kconfig. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9475/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e2093c7b03c116238dd8e36bdbe03fff97e1cae9 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:20 2015 -0800 MIPS: Fall back to generic implementation of cmpxchg64 on 32-bit platforms This is in preparation of adding HAVE_VIRT_CPU_ACCOUNTING_GEN support in the next patch. Without having cmpxchg64 to use the generic implementation, kernel linking will complain: kernel/built-in.o: In function `cputime_adjust': cputime.c:(.text+0x33748): undefined reference to `__cmpxchg_called_with_bad_pointer' cputime.c:(.text+0x33810): undefined reference to `__cmpxchg_called_with_bad_pointer' Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9474/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 96685b17108b4dbbbaea06307c3fcdb32eb152d0 Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Date: Sat Mar 7 10:30:19 2015 -0800 MIPS: Add SCHED_HRTICK support We have HIGH_RES_TIMERS to support SCHED_HRTICK. But SCHED_HRTICK is in kernel/Kconfig.hz where HZ values unsuitable for MIPS are defined. So we simply add this config in arch/mips/Kconfig as opposed to including the whole kernel/Kconfig.hz. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: macro@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9473/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 73569d87e2cc5fdc0010e612a3c94f919228e301 Author: David Daney <david.daney@xxxxxxxxxx> Date: Fri Mar 20 19:11:58 2015 +0300 MIPS: OCTEON: Enable little endian kernel. Now it is supported, so let people select it. [ralf@xxxxxxxxxxxxxx: Folded in fix for bogus CONFIG_ kconfig symbol prefix. Issue reported by Valentin Rothberg <valentinrothberg@xxxxxxxxx>.] Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Leonid Rosenboim <lrosenboim@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9592/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e7916357e7d037594ca356221b8595754bec1a8a Author: David Daney <david.daney@xxxxxxxxxx> Date: Fri Mar 20 19:11:57 2015 +0300 MIPS: OCTEON: Add mach-cavium-octeon/mangle-port.h Needed for little-endian ioport access. This fixes NOR flash in little-endian mode Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9591/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 534c158ea64b8977c7971a0a609018ab48c5c055 Author: David Daney <david.daney@xxxxxxxxxx> Date: Fri Mar 20 19:11:56 2015 +0300 MIPS: Octeon: Handle bootloader structures in little-endian mode. Compensate for the differences in the layout of in-memory bootloader information as seen from little-endian mode. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9590/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4c1eaa2344fb26bb5e936fb4d8ee307343ea0089 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Apr 1 09:12:19 2015 +0200 drivers/block/pmem: Fix 32-bit build warning in pmem_alloc() Fix: drivers/block/pmem.c: In function â??pmem_allocâ??: drivers/block/pmem.c:138:7: warning: format â??%llxâ?? expects argument of type â??long long unsigned intâ??, but argument 3 has type â??phys_addr_tâ?? [-Wformat=] By using the proper %pa format specifier we use for 'phys_addr_t' arguments. Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Keith Busch <keith.busch@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-nvdimm@xxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9e853f2313e5eb163cb1ea461b23c2332cf6438a Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Wed Apr 1 09:12:19 2015 +0200 drivers/block/pmem: Add a driver for persistent memory PMEM is a new driver that presents a reserved range of memory as a block device. This is useful for developing with NV-DIMMs, and can be used with volatile memory as a development platform. This patch contains the initial driver from Ross Zwisler, with various changes: converted it to use a platform_device for discovery, fixed partition support and merged various patches from Boaz Harrosh. Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Keith Busch <keith.busch@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-nvdimm@xxxxxxxxxxx Link: http://lkml.kernel.org/r/1427872339-6688-3-git-send-email-hch@xxxxxx [ Minor cleanups. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bfd4e9562c8769feadba9b5262200448656b8048 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Apr 1 16:03:46 2015 +0100 AFS: afs_send_empty_reply() doesn't require an iovec array afs_send_empty_reply() doesn't require an iovec array with which to initialise the msghdr, but can pass NULL instead. Suggested-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit ec776ef6bbe1734c29cd6bd05219cd93b2731bd4 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Apr 1 09:12:18 2015 +0200 x86/mm: Add support for the non-standard protected e820 type Various recent BIOSes support NVDIMMs or ADR using a non-standard e820 memory type, and Intel supplied reference Linux code using this type to various vendors. Wire this e820 table type up to export platform devices for the pmem driver so that we can use it in Linux. Based on earlier work from: Dave Jiang <dave.jiang@xxxxxxxxx> Dan Williams <dan.j.williams@xxxxxxxxx> Includes fixes for NUMA regions from Boaz Harrosh. Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Keith Busch <keith.busch@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-nvdimm@xxxxxxxxxxx Link: http://lkml.kernel.org/r/1427872339-6688-2-git-send-email-hch@xxxxxx [ Minor cleanups. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 382d7974de31ef5e64dceee0d9cada3d3864b767 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Apr 1 15:43:26 2015 +0100 RxRPC: Use iov_iter_count() in rxrpc_send_data() instead of the len argument Use iov_iter_count() in rxrpc_send_data() to get the remaining data length instead of using the len argument as the len argument is now redundant. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit aab94830a7fdf17aac07fea54d4cb43b0ad001b8 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Apr 1 15:48:00 2015 +0100 RxRPC: Don't call skb_add_data() if there's no data to copy Don't call skb_add_data() in rxrpc_send_data() if there's no data to copy and also skip the calculations associated with it in such a case. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 64a31be39b8c0c0b0a00cf46a3e10a90dc336a0e Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:55 2015 -0700 crypto: qat - fix checkpatch CODE_INDENT issue ERROR:CODE_INDENT: code indent should use tabs where possible Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 724c76ce30aeb7699561f7dd4c8bd63d30f65938 Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:50 2015 -0700 crypto: qat - fix checkpatch COMPARISON_TO_NULL issue CHECK:COMPARISON_TO_NULL: Comparison to NULL could be written "!device_reset_wq" Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit af6f2a7bb56cfb9face2155c6c823a3b5a7cb1ab Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:45 2015 -0700 crypto: qat - fix checkpatch BIT_MACRO issues CHECK:BIT_MACRO: Prefer using the BIT macro Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f7b3c2d34f9e2d02254d550b557ddf7c76ab8057 Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:40 2015 -0700 crypto: qat - fix checkpatch CONCATENATED_STRING issues CHECK:CONCATENATED_STRING: Concatenated strings should use spaces between elements Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b21582dfd5865fe83b690153eed9622981834598 Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:35 2015 -0700 crypto: qat - checkpatch PARENTHESIS_ALIGNMENT and LOGICAL_CONTINUATIONS Cleanup code to fix the subject checkpatch warnings Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 304989fe59eb8edb4bf015cd6ebfd4f4a857c3b0 Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:29 2015 -0700 crypto: qat - fix checkpatch CHECK_SPACING issues Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 754a90d3f38979677490994189bf371ec2dd118d Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Tue Mar 31 09:30:24 2015 -0700 crypto: qat - fix typo adt_ctl_drv should be adf_ctl_drv Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6d7e7e02a044025237b6f62a20521170b794537f Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Mar 31 09:52:25 2015 +0530 crypto: omap-aes - Fix support for unequal lengths For cases where total length of an input SGs is not same as length of the input data for encryption, omap-aes driver crashes. This happens in the case when IPsec is trying to use omap-aes driver. To avoid this, we copy all the pages from the input SG list into a contiguous buffer and prepare a single element SG list for this buffer with length as the total bytes to crypt, which is similar thing that is done in case of unaligned lengths. Fixes: 6242332ff2f3 ("crypto: omap-aes - Add support for cases of unaligned lengths") Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b0a3d8986a768c8b6a95ea6dd36e975bb3a44c44 Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Mar 31 09:52:24 2015 +0530 crypto: omap-sham - Use pm_runtime_irq_safe() omap_sham_handle_queue() can be called as part of done_task tasklet. During this its atomic and any calls to pm functions cannot sleep. But there is a call to pm_runtime_get_sync() (which can sleep) in omap_sham_handle_queue(), because of which the following appears: " [ 116.169969] BUG: scheduling while atomic: kworker/0:2/2676/0x00000100" Add pm_runtime_irq_safe() to avoid this. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 84a87c628a12f95d8b0c86cc7b8edb28ea5edf90 Merge: e42391c a643375 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Apr 1 15:10:25 2015 +0200 Merge tag 'efi-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into core/efi Pull EFI updates from Matt Fleming: - Fixes and cleanups for SMBIOS 3.0 DMI code. (Ivan Khoronzhuk) - A new efi=debug command line option that enables debug output in the EFI boot stub and results in less verbose EFI memory map output by default. (Borislav Petkov) - Disable interrupts around EFI calls and use a more standard page table saving and restoring idiom when making EFI calls. (Ingo Molnar) - Reduce the number of memory allocations performed when allocating the FDT in EFI boot stub by retrieving size from the FDT header in the EFI config table. (Ard Biesheuvel) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3af6878ecad229346fbc2c8f2663089aa6aef20d Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Apr 1 14:06:00 2015 +0100 RxRPC: Fix the conversion to iov_iter This commit: commit af2b040e470b470bfc881981db3c796072853eae Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 27 21:44:24 2014 -0500 Subject: rxrpc: switch rxrpc_send_data() to iov_iter primitives incorrectly changes a do-while loop into a while loop in rxrpc_send_data(). Unfortunately, at least one pass through the loop is required - even if there is no data - so that the packet the closes the send phase can be sent if MSG_MORE is not set. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 788211d81bfdf9b6a547d0530f206ba6ee76b107 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Apr 1 14:20:42 2015 +0200 mac80211: fix RX A-MPDU session reorder timer deletion There's an issue with the way the RX A-MPDU reorder timer is deleted that can cause a kernel crash like this: * tid_rx is removed - call_rcu(ieee80211_free_tid_rx) * station is destroyed * reorder timer fires before ieee80211_free_tid_rx() runs, accessing the station, thus potentially crashing due to the use-after-free The station deletion is protected by synchronize_net(), but that isn't enough -- ieee80211_free_tid_rx() need not have run when that returns (it deletes the timer.) We could use rcu_barrier() instead of synchronize_net(), but that's much more expensive. Instead, to fix this, add a field tracking that the session is being deleted. In this case, the only re-arming of the timer happens with the reorder spinlock held, so make that code not rearm it if the session is being deleted and also delete the timer after setting that field. This ensures the timer cannot fire after ___ieee80211_stop_rx_ba_session() returns, which fixes the problem. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3adc12e9648291149a1e3f354d0ad158fc2571e7 Author: Jan Kara <jack@xxxxxxx> Date: Tue Mar 24 16:47:25 2015 -0400 udf: Update ctime and mtime when directory is modified We failed to update ctime & mtime of a directory when new entry was created in it during rename, link, create, etc. Fix that. Reported-by: Taesoo Kim <tsgatesv@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 7270d11c56f594af4d166b2988421cd8ed933dc1 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:11:52 2015 +0100 arm/bL_switcher: Kill tick suspend hackery Use the new tick_suspend/resume_local() and get rid of the homebrewn implementation of these in the ARM bL switcher. The check for the cpumask is completely pointless. There is no harm to suspend a per cpu tick device unconditionally. If that's a real issue then we fix it proper at the core level and not with some completely undocumented hacks in some random core code. Move the tick internals to the core code, now that this nuisance is gone. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ rjw: Rebase, changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1655112.Ws17YsMfN7@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f46481d0a7cb942b84145acb80ad43bdb1ff8eb4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:11:04 2015 +0100 tick/xen: Provide and use tick_suspend_local() and tick_resume_local() Xen calls on every cpu into tick_resume() which is just wrong. tick_resume() is for the syscore global suspend/resume invocation. What XEN really wants is a per cpu local resume function. Provide a tick_resume_local() function and use it in XEN. Also provide a complementary tick_suspend_local() and modify tick_unfreeze() and tick_freeze(), respectively, to use the new local tick resume/suspend functions. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Combined two patches, rebased, modified subject/changelog. ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1698741.eezk9tnXtG@xxxxxxxxxxxxxx [ Merged to latest timers/core. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 080873ce2d1abd8c0a2b8c87bfa0762546a6b713 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:09:55 2015 +0100 tick: Make tick_resume_broadcast_oneshot() static Solely used in tick-broadcast.c and the return value is hardcoded 0. Make it static and void. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1689058.QkHYDJSRKu@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4ffee521f36390c7720d493591b764ca35c8030b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:09:16 2015 +0100 clockevents: Make suspend/resume calls explicit clockevents_notify() is a leftover from the early design of the clockevents facility. It's really not a notification mechanism, it's a multiplex call. We are way better off to have explicit calls instead of this monstrosity. Split out the suspend/resume() calls and invoke them directly from the call sites. No locking required at this point because these calls happen with interrupts disabled and a single cpu online. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Rebased on top of 4.0-rc5. ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/713674030.jVm1qaHuPf@xxxxxxxxxxxxxx [ Rebased on top of latest timers/core. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db6f672ef11d7a3c5aa128a3c3e57c92580a25f7 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:08:27 2015 +0100 clockevents: Remove extra local_irq_save() in clockevents_exchange_device() Called with 'clockevents_lock' held and interrupts disabled already. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/51005827.yXt5tjZMBs@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c1797baf6880174f899ce3960d0598f5bbeeb7ff Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:07:37 2015 +0100 tick: Move core only declarations and functions to core No point to expose everything to the world. People just believe such functions can be abused for whatever purposes. Sigh. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ Rebased on top of 4.0-rc5 ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Nicolas Pitre <nico@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/28017337.VbCUc39Gme@xxxxxxxxxxxxxx [ Merged to latest timers/core ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b7475eb599ddb2e8cab2dc86ff38a9507463ad6b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:06:47 2015 +0100 tick: Simplify tick-internal.h tick-internal.h is pretty confusing as a lot of the stub inlines are there several times. Distangle the maze and make clear functional sections. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ rjw: Subject ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/16068264.vcNp79HLaT@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bfb83b27519aa7ed9510f601a8f825a2c1484bc2 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:06:04 2015 +0100 tick: Move clocksource related stuff to timekeeping.h Move clocksource related stuff to timekeeping.h and remove the pointless include from ntp.c Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ rjw: Subject ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2714218.nM5AEfAHj0@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9f083b74df3a7eaa100b456f2dc195512daf728e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Mar 25 13:05:19 2015 +0100 clockevents: Remove CONFIG_GENERIC_CLOCKEVENTS_BUILD This option was for simpler migration to the clock events code. Most architectures have been converted and the option has been disfunctional as a standalone option for quite some time. Remove it. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/5021859.jl9OC1medj@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 80313b3078fcd2ca51970880d90757f05879a193 Author: Stefan Lippers-Hollmann <s.l-h@xxxxxx> Date: Mon Mar 30 22:44:27 2015 +0200 x86/reboot: Add ASRock Q1900DC-ITX mainboard reboot quirk The ASRock Q1900DC-ITX mainboard (Baytrail-D) hangs randomly in both BIOS and UEFI mode while rebooting unless reboot=pci is used. Add a quirk to reboot via the pci method. The problem is very intermittent and hard to debug, it might succeed rebooting just fine 40 times in a row - but fails half a dozen times the next day. It seems to be slightly less common in BIOS CSM mode than native UEFI (with the CSM disabled), but it does happen in either mode. Since I've started testing this patch in late january, rebooting has been 100% reliable. Most of the time it already hangs during POST, but occasionally it might even make it through the bootloader and the kernel might even start booting, but then hangs before the mode switch. The same symptoms occur with grub-efi, gummiboot and grub-pc, just as well as (at least) kernel 3.16-3.19 and 4.0-rc6 (I haven't tried older kernels than 3.16). Upgrading to the most current mainboard firmware of the ASRock Q1900DC-ITX, version 1.20, does not improve the situation. ( Searching the web seems to suggest that other Bay Trail-D mainboards might be affected as well. ) -- Signed-off-by: Stefan Lippers-Hollmann <s.l-h@xxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Matt Fleming <matt.fleming@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150330224427.0fb58e42@mir Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b86ed078a65433a60ff59091a136d23724bd6d3 Author: Keith Packard <keithp@xxxxxxxxxx> Date: Thu Mar 26 16:49:38 2015 -0700 usb: Fix warnings in chaoskey driver > drivers/usb/misc/chaoskey.c: In function 'chaoskey_read': > >> drivers/usb/misc/chaoskey.c:412:3: error: implicit declaration of function 'copy_to_user' > >> [-Werror=implicit-function-declaration] > remain = copy_to_user(buffer, dev->buf + dev->used, this_time); I was unable to reproduce this locally, but added an explicit #include <linux/uaccess.h> which should ensure the definition on all architectures. > sparse warnings: (new ones prefixed by >>) > > >> drivers/usb/misc/chaoskey.c:117:30: sparse: incorrect type in assignment (different base types) > drivers/usb/misc/chaoskey.c:117:30: expected int [signed] size > drivers/usb/misc/chaoskey.c:117:30: got restricted __le16 [usertype] wMaxPacketSize Switched the code to using the USB descriptor accessor functions. Signed-off-by: Keith Packard <keithp@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86d39839bc6bccc9b6b89de8c9c38beb9709f559 Merge: 911a888 66bee35 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 13:51:59 2015 +0200 Merge tag 'extcon-next-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next Chanwoo writes: Update extcon for v4.1 This patchset include two new extcon driver and fix minor issue of extcon driver. Detailed description for patchset: 1. new extcon-max77843.c and extcon-usb-gpio.c extcon driver - extcon-max77843.c driver support the MAXIM MAX77843 MUIC (Micor-USB Interface Controller) device which handles the various external connectors such as TA/USB /USB-HOST/JIG and so on. - extcon-usb-gpio.c driver support the USB and USB-HOST cable detection by using the GPIO pin which is connected to USB ID pin. This GPIO pin updates the USB cable states. 2. Rename the filename of extcon core driver and add missing locking mechanism - Rename the previous extcon-class driver.c as extcon.c because '-class' postfix is not necessary word. - extcon core driver (extcon.c) used the raw_notifier_chain. It must be protected by locking mechanism to avoid the list changing while extcon_update_state() is executed. 3. Fix minor issue of extcon drviers - Fix cable name by using the capital letter instead of small letter on extcon-max77693.c driver. - Clean-up code of extcon-arizona.c to detect headphone cable. - Fix the wrong return type and variable type on extcon-max77843.c. - Fix the checkpatch warning of all extcon drivers. commit dce5bdfe8fc1e3b49fa6fcf21e07bb12360e1b98 Merge: 3d8bbe2 4ce7ca8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 13:51:02 2015 +0200 Merge tag 'iio-fixes-for-4.0d' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus Jonathan writes: IIO fixes for 4.0 set 4 A couple more IIO fixes. * Fix check for HAS_IOMEM in the cc100001_adc driver to avoid build errors. Rather curiously it was ORed with Regulator and clock support. * vf610 driver was trying to use an ADC clock outside the possible spec on some boards. The driver assumed a fixed clock speed previously across all boards, but that is not true. This fix ensures that the reported frequency is correct on all boards. * The adis imu common code directly set the current trigger to the driver supplied one. Unfortunately this didn't increase the use count leading to a double free via a particular path of changing the trigger then removing the driver. commit a643375f4b175569bc3c03c7a3e758f845c1ccd9 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 4 13:02:29 2015 +0100 efi/libstub: Retrieve FDT size when loaded from UEFI config table When allocating memory for the copy of the FDT that the stub modifies and passes to the kernel, it uses the current size as an estimate of how much memory to allocate, and increases it page by page if it turns out to be too small. However, when loading the FDT from a UEFI configuration table, the estimated size is left at its default value of zero, and the allocation loop runs starting from zero all the way up to the allocation size that finally fits the updated FDT. Instead, retrieve the size of the FDT from the FDT header when loading it from the UEFI config table. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Roy Franz <roy.franz@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 744937b0b12a669f298949c4a810794c59fead98 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 07:48:50 2015 +0100 efi: Clean up the efi_call_phys_[prolog|epilog]() save/restore interaction Currently x86-64 efi_call_phys_prolog() saves into a global variable (save_pgd), and efi_call_phys_epilog() restores the kernel pagetables from that global variable. Change this to a cleaner save/restore pattern where the saving function returns the saved object and the restore function restores that. Apply the same concept to the 32-bit code as well. Plus this approach, as an added bonus, allows us to express the !efi_enabled(EFI_OLD_MEMMAP) situation in a clean fashion as well, via a 'NULL' return value. Cc: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 23a0d4e8fa6d3a1d7fb819f79bcc0a3739c30ba9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 07:34:33 2015 +0100 efi: Disable interrupts around EFI calls, not in the epilog/prolog calls Tapasweni Pathak reported that we do a kmalloc() in efi_call_phys_prolog() on x86-64 while having interrupts disabled, which is a big no-no, as kmalloc() can sleep. Solve this by removing the irq disabling from the prolog/epilog calls around EFI calls: it's unnecessary, as in this stage we are single threaded in the boot thread, and we don't ever execute this from interrupt contexts. Reported-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit fed6cefe3b6e862dcc74d07324478caa07e84eaf Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 5 11:44:41 2015 +0100 x86/efi: Add a "debug" option to the efi= cmdline ... and hide the memory regions dump behind it. Make it default-off. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Link: http://lkml.kernel.org/r/20141209095843.GA3990@xxxxxxx Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx> Acked-by: Dave Young <dyoung@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 675732707f29d6714bc756a75e70a6ec2b16a478 Merge: f8da055 e0631a3 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 13:43:39 2015 +0200 Merge tag 'iio-for-4.1b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: Second set of new devices, functionality and cleanup for IIO in the 4.1 cycle. New Functionality * Watermark logic for buffers. Allows for blocking reads to block until their requested amount is available - previously they only blocked until a single scan of data was available. Also allows for polling for a watermark amount of data to be available. This feature was first proposed some time ago to good responses, but not taken further by the original author Octavian has picked up the gauntlet and taken it through to merging (along with the hardware fifo support that follows). * New approach to hardware fifo handling - in particular handling the interaction of a hardware fifo feeding into a software fifo and their watershed events. We don't have every possible case well covered yet, but this is certainly a good, flexible starting point. This will replace the previous approach used in ancient drivers (sca3000) where we just exposed the hardware buffer directly to userspace. Very few pieces of hardware have sufficiently long buffers for that to be an adequate solution. * bmc150_accel - hardware fifo support. * mlx90614 - support dual IR sensor devices + some refactoring to clean up the code and allow some other functionality currently under review. * L3GD20H gyroscope support added to the st_gyro driver. * lis3lv02d accelerometer added to the st_gyro driver. Note this part is also supported by the older lis3 driver under misc. A lengthy discussion took place and concluded that holding parts out on the basis that whole driver would be subsumed into this one was counter productive. Better to add part support and add additional features as people need them. Basically there was not advantage in not merging the support. * max517 driver gains support for MAX520 and MAX521 DACs. Documentation * 3.20 -> 4.0 renaming for recent docs. Whilst technically a fix, I think people will cope until the next merge merge window. * An ABI typo hat -> What: More ABIs should have hats. * Document in_rot_offset, illuminance_raw and illuminance_scale. Cleanups * Fix a scale extraction bug in generic_buffer.c example. * Constify a load of device tree related structures. commit d3a3d28f1c7eaec42bdc26aab2dc53bc602887a4 Merge: baf7a6c b229a0f Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Apr 1 13:42:58 2015 +0200 Merge tag 'usb-serial-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus Johan writes: USB-serial fixes for v4.0-rc6 Here are a few new device IDs. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit a6de5a21fb25cdbbdf3c3e9afd8481581c4f2464 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:11 2015 +0200 x86/asm/entry/64: Use local label to skip around sycall dispatch Logically, we just want to jump around the following instruction and its prologue/epilogue: call *sys_call_table(,%rax,8) if the syscall number is too big - we do not specifically target the "int_ret_from_sys_call" label. Use a local, numerical label for this jump, for more clarity. This also makes the code smaller: -ffffffff8187756b: 0f 87 0f 00 00 00 ja ffffffff81877580 <int_ret_from_sys_call> +ffffffff8187756b: 77 0f ja ffffffff8187757c <int_ret_from_sys_call> because jumps to global labels are never translated to short jump instructions by GAS. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-9-git-send-email-dvlasenk@xxxxxxxxxx [ Improved the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a734b4a23e4b5a5bba577d11b6e2ff21f6ca4fce Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:10 2015 +0200 x86/asm: Replace "MOVQ $imm, %reg" with MOVL There is no reason to use MOVQ to load a non-negative immediate constant value into a 64-bit register. MOVL does the same, since the upper 32 bits are zero-extended by the CPU. This makes the code a bit smaller, while leaving functionality unchanged. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-8-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 36acef2510853e2831047ca9e22d333ba7a1047b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:07 2015 +0200 x86/asm/entry/64: Simplify looping around preempt_schedule_irq() At the 'exit_intr' label we test whether interrupt/exception was in kernel. If it did, we jump to the preemption check. If preemption does happen (IOW if we call preempt_schedule_irq()), we go back to 'exit_intr'. But it's pointless, we already know that the test succeeded last time, preemption doesn't change the fact that interrupt/exception was in the kernel. We can go back directly to checking PER_CPU_VAR(__preempt_count) instead. This makes the 'exit_intr' label unused, drop it. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-5-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 32a04077fe401842424a4b555572fa459c01e0a3 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:06 2015 +0200 x86/asm/entry/64: Remove redundant DISABLE_INTERRUPTS() At this location, we already have interrupts off, always. To be more specific, we already disabled them here: ret_from_intr: DISABLE_INTERRUPTS(CLBR_NONE) Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6ba71b7617f1fa65f19bd34f4484a0694ef9a520 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:05 2015 +0200 x86/asm/entry/64: Simplify retint_kernel label usage, make retint_restore_args label local Get rid of #define obfuscation of retint_kernel in CONFIG_PREEMPT case by defining retint_kernel label always, not only for CONFIG_PREEMPT. Strip retint_kernel of .global-ness (ENTRY macro) - it has no users outside of this file. This looks like cosmetics, but it is not: "je LABEL" can be optimized to short jump by assember only if LABEL is not global, for global labels jump is always a near one with relocation. Convert retint_restore_args to a local numeric label, making it clearer that it is not used elsewhere in the file. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4c9c0e919fef05b3bc6a8aff1db7a31b2ba4f4b6 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:04 2015 +0200 x86/asm/entry/32: Use smaller PUSH instructions instead of MOV, to build 'pt_regs' on stack This mimics the recent similar 64-bit change. Saves ~110 bytes of code. Patch was run-tested on 32 and 64 bits, Intel and AMD CPU. I also looked at the diff of entry_64.o disassembly, to have a different view of the changes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4416c5a6dacdddd55378e7011f9c8720d2a7470f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 31 19:00:03 2015 +0200 x86/asm/entry/64: Do not TRACE_IRQS fast SYSRET64 path SYSRET code path has a small irq-off block. On this code path, TRACE_IRQS_ON can't be called right before interrupts are enabled for real, we can't clobber registers there. So current code does it earlier, in a safe place. But with this, TRACE_IRQS_OFF/ON frames just two fast instructions, which is ridiculous: now most of irq-off block is _outside_ of the framing. Do the same thing that we do on SYSCALL entry: do not track this irq-off block, it is very small to ever cause noticeable irq latency. Be careful: make sure that "jnz int_ret_from_sys_call_irqs_off" now does invoke TRACE_IRQS_OFF - move int_ret_from_sys_call_irqs_off label before TRACE_IRQS_OFF. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427821211-25099-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2391b340ca5b7dd041a2bf86afe12bc004acb583 Author: Mylene JOSSERAND <josserand.mylene@xxxxxxxxx> Date: Mon Mar 30 23:39:25 2015 +0200 mmc: sdhci-tegra: convert to use GPIO descriptors Modify the driver to handle GPIOs using the descriptor API. Signed-off-by: Mylene JOSSERAND <josserand.mylene@xxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Tested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0fd2ba36b8e4c720e5fb5ee40171919c8207237e Author: Changwoo Min <changwoo.m@xxxxxxxxx> Date: Sun Mar 22 19:17:49 2015 -0400 udf: return correct errno for udf_update_inode() Instead of -ENOMEM, properly return -EIO udf_update_inode() error, similar/consistent to the rest of filesystems. Signed-off-by: Changwoo Min <changwoo.m@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 6d1966dfd6e0ad2f8aa4b664ae1a62e33abe1998 Author: Bo Yan <byan@xxxxxxxxxx> Date: Tue Mar 31 21:30:48 2015 +0100 arm64: fix midr range for Cortex-A57 erratum 832075 Register MIDR_EL1 is masked to get variant and revision fields, then compared against midr_range_min and midr_range_max when checking whether CPU is affected by any particular erratum. However, variant and revision fields in MIDR_EL1 are separated by 16 bits, so the min and max of midr range should be constructed accordingly, otherwise the patch will not be applied when variant field is non-0. Cc: stable@xxxxxxxxxxxxxxx # 3.19+ Acked-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Bo Yan <byan@xxxxxxxxxx> [will: use MIDR_VARIANT_SHIFT to construct upper bound] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a0f10c131cc49d7d84394beb7903e1f246331224 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Mar 4 05:55:22 2015 -0800 [media] media: s5p-mfc: fix broken pointer cast on 64bit arch Unsigned int cannot be used to store casted pointer on 64bit architecture, so correct such casts to properly use unsigned long variables. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> [k.debski@xxxxxxxxxxx: removed volatile and __iomem from cast] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 05b676ab42f624425d5f6519276e506b812fa058 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Mar 4 05:55:21 2015 -0800 [media] media: s5p-mfc: fix mmap support for 64bit arch TASK_SIZE is depends on the systems architecture (32 or 64 bits) and it should not be used for defining offset boundary for mmaping buffers for CAPTURE and OUTPUT queues. This patch fixes support for MMAP calls on the CAPTURE queue on 64bit architectures (like ARM64). Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6b46211f0a3b18b2360275ac29c4d6bfdf7bc015 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Mar 8 23:20:03 2015 -0800 [media] cx23885: fix querycap cap->device_caps wasn't set in cx23885-417.c causing a warning from the v4l2-core. Reported-by: Joseph Jasi <joe.yasi@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.19 and up Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ab3120300be067a2d41a027c41db0b2c662ab200 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Dec 10 12:35:34 2014 -0300 [media] sh_veu: v4l2_dev wasn't set The v4l2_dev field of struct video_device must be set correctly. This was never done for this driver, so no video nodes were created anymore. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.11 and up Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1dbee1a3c38a8792c235048df1d709fc5ca3a185 Author: Yakir Yang <ykk@xxxxxxxxxxxxxx> Date: Tue Mar 31 23:57:10 2015 -0400 drm: rockchip/dw_hdmi-rockchip: improve for HDMI electrical test When pixel clock less than 148.5MHz, make sloopboost=2 tklvl=20 cklvl=13 increase rasing/falling time and increase data & clock voltage driver. When pixel clock less than 74.25MHz, make sloopboost=0 tklvl=19 cklvl=18, increase data and clock voltage driver. Signed-off-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 034705a48bcae9d51661c461b7dd21e0d5b85afc Author: Yakir Yang <ykk@xxxxxxxxxxxxxx> Date: Tue Mar 31 23:56:10 2015 -0400 drm: bridge/dw_hdmi: separate VLEVCTRL settting into platform driver Because of iMX6 & Rockchip have differnet mpll config parameter, the VLEVCTRL parameter would be different. In this case we should separate VLEVCTRL setting from the common dw_hdmi driver, config this parameter in platform driver(dw_hdmi-imx and dw_hdmi-rockchip) Signed-off-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ca44b9d16423e5c8bd75328a217e5ed8d30c5b1d Author: Yakir Yang <ykk@xxxxxxxxxxxxxx> Date: Tue Mar 31 23:55:59 2015 -0400 drm: bridge/dw_hdmi: fixed codec style Using a local struct pointer to reduce one level of indirection makes the code slightly more readable. Signed-off-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 79d5eeddd7d23bd4588e370072977928b7075911 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Wed Apr 1 11:49:59 2015 +0200 can: pcan_usb: pcan_usb_fd_send_cmd(): silence compiler warning about uninitialized var This patch silences the compiler warning: drivers/net/can/usb/peak_usb/pcan_usb_fd.c: In function 'pcan_usb_fd_send_cmd': drivers/net/can/usb/peak_usb/pcan_usb_fd.c:185:6: warning: 'err' may be used uninitialized in this function [-Wuninitialized] by initialising the variable as 0. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit c5035c77f89364d2da2871d829553bd1a4321940 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Mar 27 12:14:13 2015 +0100 netfilter: nft_meta: fix cgroup matching We have to stop iterating on the rule expressions if the cgroup mismatches. Moreover, make sure a non-full socket from the input path leads us to a crash. Fixes: ce67417 ("netfilter: nft_meta: add cgroup support") Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a5581ef4c2eac6449188862e903eb46c7233582a Author: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Date: Wed Apr 1 07:50:29 2015 +0200 can: introduce new raw socket option to join the given CAN filters The CAN_RAW socket can set multiple CAN identifier specific filters that lead to multiple filters in the af_can.c filter processing. These filters are indenpendent from each other which leads to logical OR'ed filters when applied. This socket option joines the given CAN filters in the way that only CAN frames are passed to user space that matched *all* given CAN filters. The semantic for the applied filters is therefore changed to a logical AND. This is useful especially when the filterset is a combination of filters where the CAN_INV_FILTER flag is set in order to notch single CAN IDs or CAN ID ranges from the incoming traffic. As the raw_rcv() function is executed from NET_RX softirq the introduced variables are implemented as per-CPU variables to avoid extensive locking at CAN frame reception time. Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 514ac99c64b22d83b52dfee3b8becaa69a92bc4a Author: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Date: Wed Apr 1 07:50:28 2015 +0200 can: fix multiple delivery of a single CAN frame for overlapping CAN filters The CAN_RAW socket can set multiple CAN identifier specific filters that lead to multiple filters in the af_can.c filter processing. These filters are indenpendent from each other which leads to logical OR'ed filters when applied. This patch makes sure that every CAN frame which is filtered for a specific socket is only delivered once to the user space. This is independent from the number of matching CAN filters of this socket. As the raw_rcv() function is executed from NET_RX softirq the introduced variables are implemented as per-CPU variables to avoid extensive locking at CAN frame reception time. Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit afb7718016fcb0370ac29a83b2839c78b76c2960 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Mar 27 19:37:41 2015 +0100 netfilter: x_tables: fix cgroup matching on non-full sks While originally only being intended for outgoing traffic, commit a00e76349f35 ("netfilter: x_tables: allow to use cgroup match for LOCAL_IN nf hooks") enabled xt_cgroups for the NF_INET_LOCAL_IN hook as well, in order to allow for nfacct accounting. Besides being currently limited to early demuxes only, commit a00e76349f35 forgot to add a check if we deal with full sockets, i.e. in this case not with time wait sockets. TCP time wait sockets do not have the same memory layout as full sockets, a lower memory footprint and consequently also don't have a sk_classid member; probing for sk_classid member there could potentially lead to a crash. Fixes: a00e76349f35 ("netfilter: x_tables: allow to use cgroup match for LOCAL_IN nf hooks") Cc: Alexey Perevalov <a.perevalov@xxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 905e8c5dcaa147163672b06fe9dcb5abaacbc711 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Mar 23 19:07:02 2015 +0000 arm64: errata: add workaround for cortex-a53 erratum #845719 When running a compat (AArch32) userspace on Cortex-A53, a load at EL0 from a virtual address that matches the bottom 32 bits of the virtual address used by a recent load at (AArch64) EL1 might return incorrect data. This patch works around the issue by writing to the contextidr_el1 register on the exception return path when returning to a 32-bit task. This workaround is patched in at runtime based on the MIDR value of the processor. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9c00bb7210e5bc0691c93b05a0edfab0e93b3ec9 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:35 2015 +0100 mac80211: enhance readability of Minstrel-HTs rc_stats output This patch restructures the rc_stats debugfs table of Minstrel-HT in order to achieve better human readability. A new layout of the statistics and a new header is added. In addition to the old layout there are two new columns of information added: idx - representing the rate index of each rate in mac80211 which can be used to set specific rates as fixed rate via debugfs airtime - the tx-time in micro seconds that a 1200 Byte packet takes to be transmitted over the air at the given rate The old layout of rc_stats: type rate tpt eprob *prob ret *ok(*cum) ok( cum) HT20/LGI MCS0 5.6 100.0 100.0 1 0( 0) 1( 1) HT20/LGI B MCS1 10.5 100.0 100.0 0 0( 0) 1( 1) HT20/LGI A MCS2 14.8 100.0 100.0 0 0( 0) 1( 1) ... is changed into this new layout: best ________rate______ __statistics__ ________last_______ ______sum-of________ mode guard # rate [name idx airtime] [ ø(tp) ø(prob)] [prob.|retry|suc|att] [#success | #attempts] HT20 LGI 1 MCS0 0 1480 0.0 0.0 0.0 1 0 0 0 0 HT20 LGI 1 B MCS1 1 740 10.5 100.0 100.0 0 0 0 1 1 HT20 LGI 1 A MCS2 2 496 14.8 100.0 100.0 0 0 0 1 1 ... Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e161f7f6c4143ef0d945e98b2d1032cf82939fb6 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 21:09:34 2015 +0100 mac80211: enhance readability of Minstrels rc_stats output This patch restructures the rc_stats debugfs table of Minstrel in order to achieve better human readability. A new layout of the statistics and a new header is added. In addition to the old layout there are two new columns of information added: idx - representing the rate index of each rate in mac80211 which can be used to set specific rates as fixed rate via debugfs airtime - the tx-time in micro seconds that a 1200 Byte packet takes to be transmitted over the air at the given rate The old layout of rc_stats: rate tpt eprob *prob ret *ok(*cum) ok( cum) DP 1 0.9 93.5 100.0 1 0( 0) 2( 2) 2 0.4 40.0 100.0 0 0( 0) 4( 10) 5.5 0.0 0.0 0.0 0 0( 0) 0( 0) ... is changed into this new layout: best _______rate_____ __statistics__ ________last_______ ______sum-of________ rate [name idx tx-time] [ ø(tp) ø(prob)] [prob.|retry|suc|att] [#success | #attempts] DP 1 0 9738 0.9 93.5 100.0 1 1 1 2 2 2 1 4922 0.4 40.0 100.0 1 0 0 4 10 5.5 2 1858 0.0 0.0 0.0 2 0 0 0 0 ... Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c37722bd1972118142ee54c0e1a727142d944068 Author: Ilan peer <ilan.peer@xxxxxxxxx> Date: Mon Mar 30 15:15:49 2015 +0300 cfg80211: Stop calling crda if it is not responsive Patch eeca9fce1d71a4955855ceb0c3b13c1eb9db27c1 (cfg80211: Schedule timeout for all CRDA call) introduced a regression, where in case that crda is not installed (or not configured properly etc.), the regulatory core will needlessly continue to call it, polluting the log with the following log: "cfg80211: Calling CRDA to update world regulatory domain" Fix this by limiting the number of continuous CRDA request failures. Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit bf104c238dc1c7172460853882a545141eaa8222 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Feb 1 15:34:37 2015 -0300 [media] mn88472: One function call less in mn88472_init() after error detection The release_firmware() function was called in three cases by the mn88472_init() function during error handling even if the passed variable "fw" contained still a null pointer. This implementation detail could be improved by the introduction of another jump label. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 68feaa6b8bc537de1d02732fb1b74fe5433ceff1 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Feb 1 15:12:56 2015 -0300 [media] mn88472: Deletion of an unnecessary check before the function call "release_firmware" The release_firmware() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 18acc6ace529f331cf6a780ac0d68216df47ca27 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Tue Mar 3 13:28:35 2015 -0300 [media] si2157: extend frequency range for ATSC The Si2157 tuner supports ATSC in addition to DVB-T and DVB-C. Extend minimum frequency range to cover the complete ATSC/QAM-B range. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9d0982927e79049675cb6c6c04a0ebb3dad5a434 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Mar 26 12:39:40 2015 +0000 netfilter: nft_hash: add support for timeouts Add support for element timeouts to nft_hash. The lookup and walking functions are changed to ignore timed out elements, a periodic garbage collection task cleans out expired entries. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6908665826d56ddd024f3e131a9ee36f0d140943 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Mar 26 12:39:39 2015 +0000 netfilter: nf_tables: add GC synchronization helpers GC is expected to happen asynchrously to the netlink interface. In the netlink path, both insertion and removal of elements consist of two steps, insertion followed by activation or deactivation followed by removal, during which the element must not be freed by GC. The synchronization helpers use an unused bit in the genmask field to atomically mark an element as "busy", meaning it is either currently being handled through the netlink API or by GC. Elements being processed by GC will never survive, netlink will simply ignore them. Elements being currently processed through netlink will be skipped by GC and reprocessed during the next run. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit cfed7e1b1f8ed9b3d81ab12203cfb69c3ef24ac6 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Mar 26 12:39:38 2015 +0000 netfilter: nf_tables: add set garbage collection helpers Add helpers for GC batch destruction: since element destruction needs a RCU grace period for all set implementations, add some helper functions for asynchronous batch destruction. Elements are collected in a batch structure, which is asynchronously released using RCU once its full. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c3e1b005ed1cc068fc9d454a6e745830d55d251d Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Mar 26 12:39:37 2015 +0000 netfilter: nf_tables: add set element timeout support Add API support for set element timeouts. Elements can have a individual timeout value specified, overriding the sets' default. Two new extension types are used for timeouts - the timeout value and the expiration time. The timeout value only exists if it differs from the default value. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 761da2935d6e18d178582dbdf315a3a458555505 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Mar 26 12:39:36 2015 +0000 netfilter: nf_tables: add set timeout API support Add set timeout support to the netlink API. Sets with timeout support enabled can have a default timeout value and garbage collection interval specified. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a0bc163a7cf2ceb413a76cfd7149c6591db829ea Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Wed Mar 25 10:36:17 2015 +0100 can: ems_usb: mark timestamp as little endian The struct ems_cpc_msg describes the a message received from the USB device, which uses little endian byte order. This patch marks the timestamp in struct ems_cpc_msg accordingly. Acked-by: Gerhard Uttenthaler <uttenthaler@xxxxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 8a4b5b0fb765947ff8d254e6078ca64ac0439a66 Author: Gerhard Uttenthaler <uttenthaler@xxxxxxxxxxxxxxxx> Date: Tue Mar 24 19:02:29 2015 +0100 can: ems_usb: fix endianess of CAN ID The device expects the CAN ID in little endian format. Signed-off-by: Gerhard Uttenthaler <uttenthaler@xxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 969b8619069f0e4da767c54481dcc10812f949a5 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Mar 31 20:35:09 2015 +0200 ASoC: rcar: mark device data as constant A driver's device data should and can be const. This is a follow-up on commit 33187fb4a203 (ASoC: rsnd: constify of_device_id array) which marked the of_device_id as const. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4399c03c6780ed75fa26e09a7b3a175b3aac5760 Author: Bandan Das <bsd@xxxxxxxxxx> Date: Tue Mar 31 16:43:17 2015 -0400 x86/apic: Remove verify_local_APIC() __verify_local_APIC() is detritus from the early APIC days. Its return value isn't used anywhere and the information it prints when debug is enabled is already part of APIC initialization messages printed to syslog. Off with it! Signed-off-by: Bandan Das <bsd@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/jpgy4mcsxsq.fsf@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a42ab04aae96d47cd86e065b5127e472fd9eab9 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Mar 31 16:48:57 2015 +0200 ASoC: fsi: mark several data structures as const A driver's platform_device_id and device data should and can be const. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3b6281cf2893a3c140a37be817b0802c46af292b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Mar 31 16:48:56 2015 +0200 ASoC: fsi: reorder code to make a forward declaration superfluous Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7bedd0cfad4e122bc0ddaf3fc955a38c88c95d35 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Feb 13 21:55:15 2015 +0100 mac80211: use rhashtable for station table We currently have a hand-rolled table with 256 entries and are using the last byte of the MAC address as the hash. This hash is obviously very fast, but collisions are easily created and we waste a lot of space in the common case of just connecting as a client to an AP where we just have a single station. The other common case of an AP is also suboptimal due to the size of the hash table and the ease of causing collisions. Convert all of this to use rhashtable with jhash, which gives us the advantage of a far better hash function (with random perturbation to avoid hash collision attacks) and of course that the hash table grows and shrinks dynamically with chain length, improving both cases above. Use a specialised hash function (using jhash, but with fixed length) to achieve better compiler optimisation as suggested by Sergey Ryazanov. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit aaa9fa387541a30f6f4138bea6e082319de5e3fe Merge: ccd41c8 9870d78 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Apr 1 09:55:17 2015 +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 'perf script' pipe mode segfault, by always initializing ordered_events in perf_session__new(). (Arnaldo Carvalho de Melo) - Fix ppid for synthesized fork events. (David Ahern) - Fix kernel symbol resolution of callchains in S/390 by remembering the cpumode. (David Hildenbrand) Infrastructure changes: - Disable libbabeltrace check by default in the build system. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 78c3eb3c84470a654b283103deff0ba128759dcd Author: Wei Yuan <weiyuan.wei@xxxxxxxxxx> Date: Fri Mar 20 11:09:10 2015 +0800 ext3: Remove useless condition in if statement. In this if statement, the previous condition is useless, the later one has covered it. Signed-off-by: Weiyuan <weiyuan.wei@xxxxxxxxxx> Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 4c5930e8056127e9a89bb7836bfa34318a89ab14 Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Mar 30 22:03:06 2015 -0500 Fix warning Coverity reports a warning due to unitialized attr structure in one code path. Reported by Coverity (CID 728535) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxx> commit dfebe40076f3b4966e818eaf94021a7ff788df04 Author: Steve French <smfrench@xxxxxxxxx> Date: Fri Mar 27 01:00:06 2015 -0500 Fix another dereference before null check warning null tcon is not possible in these paths so remove confusing null check Reported by Coverity (CID 728519) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxx> commit 8b7a454443bdb73df4fd200af7f013f3319a3855 Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Mar 30 16:58:17 2015 -0500 CIFS: session servername can't be null remove impossible check Pointed out by Coverity (CID 115422) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxx> commit c85c35f8fc1d3f5ca60cd713f10af387de73cb94 Author: Steve French <smfrench@xxxxxxxxx> Date: Fri Mar 27 01:15:02 2015 -0500 Fix warning on impossible comparison workstation_RFC1001_name is part of the struct and can't be null, remove impossible comparison (array vs. null) Pointed out by Coverity (CID 140095) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxx> commit 064bcc0702a83aed29220bee3b3db3f968c5d8ae Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Mar 26 22:41:59 2015 -0500 Fix coverity warning Coverity reports a warning for referencing the beginning of the SMB2/SMB3 frame using the ProtocolId field as an array. Although it works the same either way, this patch should quiet the warning and might be a little clearer. Reported by Coverity (CID 741269) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Acked-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Acked-by: Sachin Prabhu <sprabhu@xxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 8e3531060556bf5e09444acd2aa5c78bce9c9f70 Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Mar 26 19:47:02 2015 -0500 Fix dereference before null check warning null tcon is not likely in these paths in current code, but obviously it does clarify the code to check for null (if at all) before derefrencing rather than after. Reported by Coverity (CID 1042666) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Acked-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Acked-by: Sachin Prabhu <sprabhu@xxxxxxxxxx> commit f3a31a2bbbfe22db0313a4e270c7ba91baa7b630 Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Mar 26 19:23:20 2015 -0500 Don't ignore errors on encrypting password in SMBTcon Although unlikely to fail (and tree connect does not commonly send a password since SECMODE_USER is the default for most servers) do not ignore errors on SMBNTEncrypt in SMB Tree Connect. Reported by Coverity (CID 1226853) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Acked-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Acked-by: Sachin Prabhu <sprabhu@xxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 75fdfc849ae0636853add4b7dbdc5753160ad0cb Author: Steve French <smfrench@xxxxxxxxx> Date: Wed Mar 25 18:51:57 2015 -0500 Fix warning on uninitialized buftype Pointed out by coverity analyzer. resp_buftype is not initialized in one path which can rarely log a spurious warning (buf is null so there will not be a problem with freeing data, but if buf_type were randomly set to wrong value could log a warning) Reported by Coverity (CID 1269144) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Acked-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Acked-by: Sachin Prabhu <sprabhu@xxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 2f30232481ef39aa1657ac76b16c47d0c0241a69 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Wed Mar 25 17:01:03 2015 -0700 MAINTAINERS: Update Intel Wired Ethernet Driver info Update the git tree info with a recent change in tree names. Also add our new mailing list created solely for Linux kernel patches and kernel development, as well as the new patchwork project for tracking patches. Lastly update the list of "reviewers" since a couple of developers have moved on to different projects. Made an update to the section header so that it is more manageable going forward as we add new drivers. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a8557d32fe90a91d70dbbf57a034ad0c660ce237 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 1 14:43:15 2015 +1030 virtio_pci_modern: switch to type-safe io accessors As Rusty noted, we were accessing queue_enable with an incorrect width. Switch to type-safe accessors so we don't make this mistake again in the future. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit c5d4c2c9ce4f4b6980a71dec50f2db4c2e55778d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 1 13:33:20 2015 +1030 virtio_pci_modern: type-safe io accessors The spec is very clear on this: 4.1.3.1 Driver Requirements: PCI Device Layout The driver MUST access each field using the â??naturalâ?? access method, i.e. 32-bit accesses for 32-bit fields, 16-bit accesses for 16-bit fields and 8-bit accesses for 8-bit fields. Add type-safe wrappers to prevent access with incorrect width. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 3eebd233fcb392286d385e764eb91e90d6218cdf Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Apr 1 13:32:20 2015 +1030 lguest: handle traps on the "interrupt suppressed" iret instruction. Lguest's "iret" is non-atomic, as it needs to restore the interrupt state before the real iret (the guest can't actually suppress interrupts). For this reason, the host discards an interrupt if it occurs in this (1-instruction) window. We can do better, by emulating the iret execution, then immediately setting up the interrupt handler. In fact, we don't need to do much, as emulating the iret and setting up th stack for the interrupt handler basically cancel each other out. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 012665391dfe12bf8a88d1000e627be012c39dbf Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 1 13:31:20 2015 +1030 virtio: drop a useless config read "virtio: core support for config generation" fixed reading up 64 bit values, adding generation checks for such reads. By mistake, it left an explicit get call in place as well. the result is that the value is read twice, the first result is discarded. Not a big deal since this only happens with virtio blk and only on boot ATM, so performance isn't affected, but let's clean it up. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit caa0e2d0e331a04cbc1cb9bca3169c1d94b80838 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 1 08:21:51 2015 +1030 virtio_config: reorder functions This simply reorders functions in virtio_config so width access wrapper helpers are all together. Drops an extra empty line while we are at it. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit ab7add30ce63a7147f045f00c65a44c0f14ad6b2 Author: Petr Kulhavy <petr@xxxxxxxxx> Date: Mon Mar 23 21:35:01 2015 +0100 dmaengine: edma: fixed wrongly initialized data parameter to the edma callback The "data" parameter passed indirectly to the edma_callback() should be edma_chan and not the dma_chan. This bug was so far harmless since the offset of struct dma_chan within struct edma_chan is 0. However as soon as someone changes struct edma_chan this would cause troubles. Signed-off-by: Petr Kulhavy <petr@xxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit de6b641e2d23d116dcf6b6a67e2ee4856e3c3026 Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 22 00:51:08 2015 +0100 dmaengine: ste_dma40: fix implicit conversion The function d40_prep_sg takes the type enum dma_transfer_direction as second last parameter. However, the memcpy calls pass DMA_NONE which is of type enum dma_data_direction. Fix this by passing the actual transfer direction DMA_MEM_TO_MEM. This does not change the actual code flow since only the transfer direction DMA_MEM_TO_DEV and DMA_DEV_TO_MEM are actually used in the function d40_prep_sg. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d41444daba1fd65e5a998c83398f44524f638d07 Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Date: Fri Mar 27 18:45:35 2015 +0800 powerpc/corenet: enable CONFIG_I2C_MUX and CONFIG_I2C_MUX_PCA954x By default we enable CONFIG_I2C_MUX and CONFIG_I2C_MUX_PCA954x, which are needed on T2080QDS, T4240QDS, B4860QDS, etc. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> [scottwood@xxxxxxxxxxxxx: fixed subject line] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7f9af0a6d5ab78e3cd40bf7aef1da45ace1d69f6 Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Date: Fri Mar 27 18:49:17 2015 +0800 powerpc/t2080qds: fix rtc interrupt RTC interrupt uses IRQ11 on T2080QDS. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> [scottwood@xxxxxxxxxxxxx: fix subject line] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 56302c53d3dc477b8360954fc92c1dfc4fc0ec54 Author: Bogdan Purcareata <bogdan.purcareata@xxxxxxxxxxxxx> Date: Tue Mar 24 10:43:43 2015 +0000 powerpc/mpic: Remove WHOAMI readback after EOI After previous discussions regarding the subject [1][2], there's no clear explanation or reason why the call was needed in the first place. The sensible argument is some sort of synchronization between the CPU and the MPIC, which hasn't been pointed out precisely and is no longer required (at least on BookE platforms). The benefit of this change is saving a MMIO trap per interrupt when running in a KVM guest. [1] https://patchwork.ozlabs.org/patch/429098/ [2] https://patchwork.ozlabs.org/patch/433557/ Signed-off-by: Bogdan Purcareata <bogdan.purcareata@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 88b7936da39618be04a6e1c2fb052dc528633392 Author: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Date: Mon Mar 2 16:35:35 2015 +0800 powerpc/mpc85xx: call k(un)map_atomic rather than k(un)map The k(un)map function may be called in atomic context in the function map_and_flush(), so use k(un)map_atomic to replace it, else we would get the below warning during kdump: BUG: sleeping function called from invalid context at include/linux/highmem.h:58 in_atomic(): 1, irqs_disabled(): 1, pid: 736, name: sh INFO: lockdep is turned off. irq event stamp: 0 hardirqs last enabled at (0): [< (null)>] (null) hardirqs last disabled at (0): [<c000000000066d1c>] .copy_process.part.44+0x50c/0x1360 softirqs last enabled at (0): [<c000000000066d1c>] .copy_process.part.44+0x50c/0x1360 softirqs last disabled at (0): [< (null)>] (null) CPU: 1 PID: 736 Comm: sh Tainted: G D W 3.10.62-ltsi-WR6.0.0.0_standard #2 Call Trace: [c0000000f47cf120] [c00000000000b150] .show_stack+0x170/0x290 (unreliable) [c0000000f47cf210] [c000000000b71334] .dump_stack+0x28/0x3c [c0000000f47cf280] [c0000000000bb5d8] .__might_sleep+0x1a8/0x270 [c0000000f47cf310] [c0000000000440cc] .map_and_flush+0x4c/0xc0 [c0000000f47cf390] [c0000000000441cc] .mpc85xx_smp_machine_kexec+0x8c/0xec0 [c0000000f47cf420] [c00000000002ae00] .machine_kexec+0x60/0x90 [c0000000f47cf4b0] [c00000000010957c] .crash_kexec+0x8c/0x100 [c0000000f47cf6a0] [c000000000015df8] .die+0x348/0x450 [c0000000f47cf740] [c00000000002f3a0] .bad_page_fault+0xe0/0x130 [c0000000f47cf7c0] [c00000000001f3e4] storage_fault_common+0x40/0x44 Signed-off-by: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> [scottwood@xxxxxxxxxxxxx: fix subject line] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit bb65f5048ee34bd6a81288382ef0a608ccfcd914 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:24 2015 +0100 powerpc: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Furthermore, the function is never used, so its definition is dropped as well. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 016f8cf0d87bb2bda15ccb8708748a013c27423f Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Tue Mar 10 20:41:31 2015 +0800 powerpc: book3e_64: fix the align size for paca_struct All the cache line size of the current book3e 64bit SoCs are 64 bytes. So we should use this size to align the member of paca_struct. This only change the paca_struct's members which are private to book3e CPUs, and should not have any effect to book3s ones. With this, we save 192 bytes. Also change it to __aligned(size) since it is preferred over __attribute__((aligned(size))). Before: /* size: 1920, cachelines: 30, members: 46 */ /* sum members: 1667, holes: 6, sum holes: 141 */ /* padding: 112 */ After: /* size: 1728, cachelines: 27, members: 46 */ /* sum members: 1667, holes: 4, sum holes: 13 */ /* padding: 48 */ Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 2e51563d07cf0caae03dd7f693d7545825326c29 Author: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Date: Tue Mar 10 15:19:42 2015 +0200 powerpc/fsl-booke: Add T4080 SVR value Signed-off-by: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 8adc53fdc9721ef6f71fbaad07c486abdc4c8f60 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Mar 18 16:16:37 2015 +0000 MAINTAINERS: Add Ingenic JZ4780 DMA driver maintainer entry Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d894fc6046fecd66b0d8ec35c7d2515781cc030b Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Wed Mar 18 16:16:36 2015 +0000 dmaengine: jz4780: add driver for the Ingenic JZ4780 DMA controller This patch adds a driver for the DMA controller found in the Ingenic JZ4780. It currently does not implement any support for the programmable firmware feature of the controller - this is not necessary for most uses. It also does not take priority into account when allocating channels, it just allocates the first available channel. This can be implemented later. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> [Updated for dmaengine api changes, Add residue support, couple of minor fixes] Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c8307106f5fa53b8fe8763b488d629e3cce9fae3 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Wed Mar 18 16:16:35 2015 +0000 dt-bindings: dma: Add binding for jz4780-dma Add device tree bindings for the DMA controller on JZ4780 SoCs, used by the dma-jz4780 driver. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7e436905780659d6dc12d0581944934bf91a9919 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Apr 1 09:42:50 2015 +0800 tipc: fix a slab object leak When remove TIPC module, there is a warning to remind us that a slab object is leaked like: root@localhost:~# rmmod tipc [ 19.056226] ============================================================================= [ 19.057549] BUG TIPC (Not tainted): Objects remaining in TIPC on kmem_cache_close() [ 19.058736] ----------------------------------------------------------------------------- [ 19.058736] [ 19.060287] INFO: Slab 0xffffea0000519a00 objects=23 used=1 fp=0xffff880014668b00 flags=0x100000000004080 [ 19.061915] INFO: Object 0xffff880014668000 @offset=0 [ 19.062717] kmem_cache_destroy TIPC: Slab cache still has objects This is because the listening socket of TIPC topology server is not closed before TIPC proto handler is unregistered with proto_unregister(). However, as the socket is closed in tipc_exit_net() which is called by unregister_pernet_subsys() during unregistering TIPC namespace operation, the warning can be eliminated if calling unregister_pernet_subsys() is moved before calling proto_unregister(). Fixes: e05b31f4bf89 ("tipc: make tipc socket support net namespace") Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cab07a5652d1d124b505c2b7ed21c6823295c5d7 Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Mar 27 20:54:01 2015 -0400 intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs Support C-states for the Airmont core in the Cherrytrail and Braswell SOCs. The states are similar to those of Silvermont in Baytrail, except both flavors of C6 states are faster. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit d7ef76717322c8e2df7d4360b33faa9466cb1a0d Author: Len Brown <len.brown@xxxxxxxxx> Date: Tue Mar 24 23:23:20 2015 -0400 intel_idle: Update support for Silvermont Core in Baytrail SOC On some Silvermont-Core/Baytrail-SOC systems, C1E latency is higher than original specifications. Although C1E is still enumerated in CPUID.MWAIT.EDX, we delete the state from intel_idle to avoid latency impact. Under some conditions, the latency of the C6N-BYT and C6S-BYT states may exceed the specified values of 40 and 140 usec, respectively. Increase those values to 300 and 500 usec; to assure that the hardware does not violate constraints that may be set by the Linux PM_QOS sub-system. Also increase the C7-BYT target residency to 4.0 ms from 1.5 ms. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit aa571b148c6ab9843e79622f0209b6163d8d4fc5 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Wed Mar 25 18:32:59 2015 +0000 MAINTAINERS: clk: discuss on the linux-clk@xxxxxxxxxxxxxxx list Most Linux clock framework discussions take place on the linux-kernel@xxxxxxxxxxxxxxx or linux-arm-kernel@xxxxxxxxxxxxxxxxxxx mailing lists. The volume of unrelated messages on these lists makes it difficult for non-maintainers to follow along with discussions. Switch the discussion list for clock framework discussions to linux-clk@xxxxxxxxxxxxxxxx Also, add linux-clk@xxxxxxxxxxxxxxx as a mailing list for clock API discussions. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Viresh Kumar <viresh.linux@xxxxxxxxx> Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit d52356e7f48e400ca258c6763a232a92fa82ff68 Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Tue Mar 31 18:11:46 2015 +0200 powerpc: fix memory corruption by pnv_alloc_idle_core_states Space allocated for paca is based off nr_cpu_ids, but pnv_alloc_idle_core_states() iterates paca with cpu_nr_cores()*threads_per_core, which is using NR_CPUS. This causes pnv_alloc_idle_core_states() to write over memory, which is outside of paca array and may later lead to various panics. Fixes: 7cba160ad789 (powernv/cpuidle: Redesign idle states management) Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 564b687b031ccc647943f946b93037cf0780612a Author: Chris Ruffin <chris.ruffin@xxxxxxxxx> Date: Tue Mar 24 16:57:42 2015 -0400 drm/bochs: disable video before changing video mode qemu and simics simulators both seem to expect that video should be disabled before changing the video mode. references: http://git.qemu.org/?p=qemu.git;a=blob;f=hw/display/vga.c;h=c0f7b343bbab586c8593d29c7a765f1e6ca3662c;hb=HEAD#l727 http://wiki.osdev.org/Bochs_VBE_Extensions#Setting_display_resolution_and_bit_depth Signed-off-by: Chris Ruffin <chris.ruffin@xxxxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 53d8858bb81ccf47ddca8b94d21f39972549e166 Merge: 9e87e48 066626d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 1 08:23:25 2015 +1000 Merge tag 'topic/drm-misc-2015-03-31' of git://anongit.freedesktop.org/drm-intel into drm-next Final drm-misc pull for 4.0, just various things all over, including a few more important atomic fixes. btw I didn't pick up the vmwgfx patch from Ville's series, but one patch has one hunk touching vmwgfx and Thomas/Jakob didn't get around to ack it. I figured it's simple enough to be ok though. * tag 'topic/drm-misc-2015-03-31' of git://anongit.freedesktop.org/drm-intel: drm: line wrap DRM_IOCTL_DEF* macros drm/atomic: Don't try to free a NULL state drm/atomic: Clear crtcs, connectors and planes when clearing state drm: Rewrite drm_ioctl_flags() to resemble the new drm_ioctl() code drm: Use max() to make the ioctl alloc size code cleaner drm: Simplify core vs. drv ioctl handling drm: Drop ioctl->cmd_drv drm: Fix DRM_IOCTL_DEF_DRV() drm/atomic-helpers: Properly avoid full modeset dance drm: atomic: Allow setting CRTC active property drm: atomic: Expose CRTC active property drm: crtc_helper: Update hwmode before mode_set call drm: mode: Allow NULL modes for equality check drm: fb_helper: Simplify exit condition drm: mode: Fix typo in kerneldoc drm/dp: Print the number of bytes processed for aux nacks commit 9e87e48f8e5de2146842fd0ff436e0256b52c4a9 Merge: d7de390 6e0aa80 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Apr 1 08:21:46 2015 +1000 Merge tag 'drm-intel-next-2015-03-27-merge' of git://anongit.freedesktop.org/drm-intel into drm-next This backmerges 4.0-rc6 due to the recent fixes in rc5/6 - DP link rate refactoring from Ville - byt/bsw rps tuning from Chris - kerneldoc for the shrinker code - more dynamic ppgtt pte work (Michel, Ben, ...) - vlv dpll code refactoring to prep fro bxt (Imre) - refactoring the sprite colorkey code (Ville) - rotated ggtt view support from Tvrtko - roll out struct drm_atomic_state to prep for atomic update (Ander) * tag 'drm-intel-next-2015-03-27-merge' of git://anongit.freedesktop.org/drm-intel: (473 commits) Linux 4.0-rc6 arm64: juno: Fix misleading name of UART reference clock drm/i915: Update DRIVER_DATE to 20150327 drm/i915: Skip allocating shadow batch for 0-length batches drm/i915: Handle error to get connector state when staging config drm/i915: Compare GGTT view structs instead of types drm/i915: fix simple_return.cocci warnings drm/i915: Add module param to test the load detect code drm/i915: Remove usage of encoder->new_crtc from clock computations drm/i915: Don't look at staged config crtc when changing DRRS state drm/i915: Convert intel_pipe_will_have_type() to using atomic state drm/i915: Pass an atomic state to modeset_global_resources() functions drm/i915: Add dynamic page trace events drm/i915: Finish gen6/7 dynamic page table allocation drm/i915: Remove unnecessary gen6_ppgtt_unmap_pages drm/i915: Fix i915_dma_map_single positive error code drm/i915: Prevent out of range pt in gen6_for_each_pde drm/i915: fix definition of the DRM_IOCTL_I915_GET_SPRITE_COLORKEY ioctl drm/i915: Rip out GET_SPRITE_COLORKEY ioctl watchdog: imgpdc: Fix default heartbeat ... commit 33096777519a66e632fed7f1e54e6480b4228827 Author: Peter Hutterer <peter.hutterer@xxxxxxxxx> Date: Fri Mar 27 09:59:55 2015 -0700 Input: define INPUT_PROP_ACCELEROMETER behavior Spell out what this property means to userspace. If the property is set, all directional axes must be accelerometer axes, any other axes are left as-is. This allows an accelerometer device to e.g. have an ABS_WHEEL. It is not permitted to mix normal directional axes and accelerometer axes on the same device node. Signed-off-by: Peter Hutterer <peter.hutterer@xxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> Reviewed-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 85734b1a5de80341d7d01cd29bbea9cf6f77094b Author: Filip Ayazi <filipayazi@xxxxxxxxx> Date: Wed Mar 25 15:53:04 2015 -0700 Input: synaptics - fix min-max quirk value for E440 Commit 98dc070373 ("Input: synaptics - add quirk for Thinkpad E440") had a typo in ymax, this changes the value to the one reported by touchpad-edge-detector and mentioned in the commit. Signed-off-by: Filip Ayazi <filipayazi@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit bbdb38a22e8a5197a6db1e4d22d7e5c6c368e7f7 Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Tue Mar 31 14:35:36 2015 -0700 Input: tsc2007 - Convert msecs to jiffies only once Eliminate redundant calculations by performing millisecond to jiffy calculations once during driver initialization. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9911674fcf1f239ff3c87e56177c4826e33dfd95 Merge: f6a69a8 0704fae Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 17:19:19 2015 -0400 Merge branch 'ptp-ns_to_timespec64' Richard Cochran says: ==================== ptp: remove open coded ns_to_timespec64 and reverse This patch series is a follow up to the recent timespec64 work for the PTP Hardware Clock drivers. Arnd noticed that drivers are using open coded implementations of ns_to_timespec64 and timespec64_to_ns. This series replaces the open coded logic with the helper functions. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0704fae33c201dbda338f748b45ebae54eeb4a69 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:13 2015 +0200 ptp: ixgbe: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6630514fcee9987a06e991956a1e8eaa2a421a70 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:09 2015 +0200 ptp: fec: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a20efb07437f8716977401c5bd183c3d192ff12 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:08 2015 +0200 ptp: tg3: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96ff1c37a8453e72d91179987337d6159768a9e4 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:06 2015 +0200 ptp: blackfin: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84d923ce4a70858c0b23afa5efb812df791b29f2 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:16 2015 +0200 ptp: cpts: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7ea55be29bb65e393ff17bd49ec9f5c12614108 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:15 2015 +0200 ptp: stmmac: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f75419c81edf8e5c287cefd6e9a419b6e3c1300a Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:14 2015 +0200 ptp: mlx4: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 350f66d58a62e63ef3163450f68ed4b2a0ab507b Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:12 2015 +0200 ptp: igb: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdf36d947134baced573594118ff575f5c6cb77b Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:11 2015 +0200 ptp: e1000e: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3359e7c2e904eac4e76d5b8b5e9390a622863df8 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:10 2015 +0200 ptp: gianfar: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7dcdefe362c06a36483679defb116dda02177e1 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Tue Mar 31 23:08:07 2015 +0200 ptp: bnx2x: use helpers for converting ns to timespec. This patch changes the driver to use ns_to_timespec64() and timespec64_to_ns() instead of open coding the same logic. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 347eec348a9b0ba6968145cc7b1995d2475ae31b Author: Christian Hesse <mail@xxxxxxxx> Date: Tue Mar 31 14:10:07 2015 +0200 net/usb/r8152: add device id for Lenovo TP USB 3.0 Ethernet This device is sold as 'Lenovo Tinkpad USB 3.0 Ethernet 4X90E51405'. Chipset is RTL8153 and works with r8152. Signed-off-by: Christian Hesse <mail@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6a69a8fd6c009c0f5958f769dd4165773c75695 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Mon Mar 30 14:31:16 2015 -0700 bonding: Fix another case of LACPDU not sent on slave When mii-mon discovers that the link is up, it will call bond_3ad_handle_link_change() but we forget to add the LACP_ENABLED flag when we discover the speed and duplex for the slave link are normal. Change-Id: Ie8b268ecfeea0f99bf9fdcd72706c0653f9d9e49 Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef015d72e55166c8785e897ecec149e0a20b742f Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Mon Mar 30 14:30:40 2015 -0700 bonding: deprecate BOND_MONITOR_CHURNED in favor of existing definitions AD_PORT_ACTOR_CHURN and AD_PORT_PARTNER_CHURN are already present and essentially BOND_MONITOR_CHURNED is a combination of these two definitions. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9870d7809575515e26194f4b3df1750872a6ee60 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 31 12:48:16 2015 -0300 perf ordered_samples: Remove references to perf_{evlist,tool} and machines As these can be obtained from the ordered_events pointer, via container_of, reducing the cross section of ordered_samples. These were added to ordered_samples in: commit b7b61cbebd789a3dbca522e3fdb727fe5c95593f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 11:58:45 2015 -0300 perf ordered_events: Shorten function signatures By keeping pointers to machines, evlist and tool in ordered_events. But that was more a transitional patch while moving stuff out from perf_session.c to ordered_events.c and possibly not even needed by then, as we could use the container_of() method and instead of having the nr_unordered_samples stats in events_stats, we can have it in ordered_samples. Based-on-a-patch-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-4lk0t9js82g0tfc0x1onpkjt@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit aae59fab978e143f24d22e52f075c4be3ee4e628 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 31 09:53:50 2015 -0300 perf session: Always initialize ordered_events Even when it is not used to actually reorder events, some of its fields are used, like session->ordered_events->tool, to shorten function signatures where tool, for instance, was being passed, as the tool is needed for the ordered_events code, we need it there and might as well use it for other perf_session needs. This fixes a problem where 'perf script' had some condition that made session->ordered_events not to be initialized even with its script->tool ordered_events related flags asking for it to be, which looks like another bug and needs to be investigated further. Always initializing session->ordered_events at least leaves the current assumptions in place, so do it now. Reported-by: David Ahern <dsahern@xxxxxxxxx> Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Tested-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-b1xxk0rwkz2a0gip1uufmjqg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ca6c41c59b964d362823e80442e9e32c31106b29 Author: David Ahern <dsahern@xxxxxxxxx> Date: Mon Mar 30 14:35:58 2015 -0600 perf tools: Fix ppid for synthesized fork events 363b785f38 added synthesized fork events and set a thread's parent id to itself. Since we are already processing /proc/<pid>/status the ppid can be determined properly. Make it so. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joe Mario <jmario@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427747758-18510-2-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5aa0b030e8d29d6719c144818814b519cfcb105c Author: David Ahern <dsahern@xxxxxxxxx> Date: Mon Mar 30 14:35:57 2015 -0600 perf tools: Refactor comm/tgid lookup Rather than parsing /proc/pid/status file one line at a time, read it into a buffer in one shot and search for all strings in one pass. tgid conversion also simplified -- removing the isspace walk. As noted by Arnaldo those are not needed for atoi == strtol calls. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joe Mario <jmario@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427747758-18510-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 73dbcd6537f0ef6bf98d84f8fd7f8ab9994c6cd8 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 10:11:00 2015 +0200 perf callchain: Fix kernel symbol resolution by remembering the cpumode Commit 2e77784bb7d8 ("perf callchain: Move cpumode resolve code to add_callchain_ip") promised "No change in behavior.". As this commit breaks callchains on s390x (symbols not getting resolved, observed when profiling the kernel), this statement is wrong. The cpumode must be kept when iterating over all ips, otherwise the default (PERF_RECORD_MISC_USER) will be used by error. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1427703060-59883-1-git-send-email-dahi@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ec9a82fbb10951b1841d8bbbe599f91e8ab2f67f Merge: 34d21e3 fa69359 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 16:51:18 2015 -0400 Merge branch 'macb-next' Nicolas Ferre says: ==================== net/macb: fixes after big driver update The recent modifications to the macb driver lead to issues with the probe function code flow. Here are some attempt to fix them. This time, some more issues are fixed related to the clock as reported by Boris Brezillon. The series is written on top of net-next. Changes in v2: - address Cyrille comment about exit condition of queue configuration loop - add fixes for probe sequence related to clocks - add ethtool register dump - fix peripheral version test ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa6935981af81706f363df4b6f1285a20dc7ae17 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:06 2015 +0200 net/macb: unify peripheral version testing As we need to check peripheral version from the hardware during probe, I introduce a little helper to unify these tests. It would prevent to de-synchronize the test like previously observed. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 361918970b7426bba97a64678ef2b2679c37199b Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:05 2015 +0200 net/macb: fix the peripheral version test We currently need two checks of the peripheral version in MACB_MID register. One of them got out of sync after modification by 8a013a9c71b2 (net: macb: Include multi queue support for xilinx ZynqMP ethernet version). Fix this in macb_configure_caps() so that xilinx ZynqMP will be considered as a GEM flavor. Fixes: 8a013a9c71b2 ("net: macb: Include multi queue support for xilinx ZynqMP ethernet version") Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #4.0 (if it doesn't make it for -final) Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c39994fc1e2b6a1bb5cb207a88e88a6b1ac1694 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:04 2015 +0200 net/macb: add the user i/o to ethtool register dump User i/o register EMAC_USRIO or GMAC_UR can be found on both macb and gem flavors of the peripheral. By using the proper accessor, we can add it to the register dump feature of ethtool. Increment the version of this API so it can be noticed from user space. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c69618b3e4f220f4990b91596d40ea3c4cdc938a Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:03 2015 +0200 net/macb: fix probe sequence to setup clocks earlier As accessing the peripheral registers need the clocks to be set, we have to enable them as soon as possible. Their configuration depend on the type of device used and determined by the DT compatible string. That lead to add another initialization function in the DT configuration structure. As the device private structure length depend on an information read in the registers, we have to store the clock pointers in temporary variables before feeding the structure fields. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad78347f06581e445790343bc1d9e34375f11fd4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:02 2015 +0200 net/macb: trivial: correct wording for caps As a non-native English speaker, I would correct "capacities" of the macb peripheral to "capabilities": correct me if I'm wrong! Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6970505defd0e7bb5dea9606939bb3b32e51768 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:01 2015 +0200 net/macb: fix capabilities configuration Capabilities configuration by macb_configure_caps() was moved far too late by 421d9df0628b (net/macb: merge at91_ether driver into macb driver) which would lead to badly configured hardware. So, move this function to early probe and modify its prototype to re-gain its original behavior. DT data retrieval is also moved to simplify the probe code flow. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da120112493460332b5b430070ca0ea205c37632 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:02:00 2015 +0200 net/macb: add comment in macb_probe_queues As we access the MID register directly, we need to tell why we don't use the macb_is_gem() dedicated function. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bfa0914afa95d44df9e1a1553e0c03a991223db3 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:01:59 2015 +0200 net/macb: only probe queues once and use stored values When merging at91_ether and macb driver during 421d9df0628b (net/macb: merge at91_ether driver into macb driver) the probe function has been split. The code dealing with initialization of queues is now moved in macb_init() which needs information computed in the parent macb_probe() function. So, add the queue_mask information to the private structure and use it when needed in macb_init(). Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ec8c0c47f63b4af66e3615618f842267ac88b4a Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sat Mar 28 23:46:09 2015 +0800 nfsd: Remove duplicate macro define for max sec label length NFS4_MAXLABELLEN has defined for sec label max length, use it directly. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit b14f4f7e61aaa4437a42e2e11055fc01782a15bf Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Thu Mar 26 10:37:51 2015 -0400 nfsd: allow setting acls with unenforceable DENYs We've been refusing ACLs that DENY permissions that we can't effectively deny. (For example, we can't deny permission to read attributes.) Andreas points out that any DENY of Window's "read", "write", or "modify" permissions would trigger this. That would be annoying. So maybe we should be a little less paranoid, and ignore entirely the permissions that are meaningless to us. Reported-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 629b8729cc2ca8fde7deb008dab09f3ad19fed52 Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Wed Mar 25 16:37:07 2015 -0400 nfsd: NFSD_FAULT_INJECTION depends on DEBUG_FS NFSD_FAULT_INJECTION depends on DEBUG_FS, otherwise the debugfs_create_* interface may return unexpected error -ENODEV, and cause system crash. Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4229789993ee23bf35ee87546655bbbb6013569a Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Mar 23 10:53:44 2015 -0400 nfsd: remove unused status arg to nfsd4_cleanup_open_state Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit fc26c3860a6a4a9396f401024f1cc91a95a59143 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Mar 23 10:53:43 2015 -0400 nfsd: remove bogus setting of status in nfsd4_process_open2 status is always reset after this (and it doesn't make much sense there anyway). Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit beaca2347f1b7986376e3906dfa7615a9d6f53d8 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 15 23:35:11 2015 +0800 NFSD: Use correct reply size calculating function ALLOCATE/DEALLOCATE only reply one status value to client, so, using nfsd4_only_status_rsize for reply size calculating. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit b77a4b2edb29459ad039a1d8f5769bb2192acae1 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 15 23:13:32 2015 +0800 NFSD: Using path_equal() for checking two paths Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 34d21e3f399729ca7c89636207fe41c481d99352 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Mar 30 13:43:38 2015 -0300 net: smc91x: Remove an unused variable Commit cb6e0b3690f48dff ("net: smc91x: make use of 4th parameter to devm_gpiod_get_index") caused the following build warning: drivers/net/ethernet/smsc/smc91x.c:2208:6: warning: unused variable 'res' [-Wunused-variable] Remove the unused 'res' variable. Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b6249bba940f57c20cdde793b306ca3831778c7 Merge: fbcb217 2c44be8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 16:39:04 2015 -0400 Merge tag 'mac80211-next-for-davem-2015-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== Lots of updates for net-next; along with the usual flurry of small fixes, cleanups and internal features we have: * VHT support for TDLS and IBSS (conditional on drivers though) * first TX performance improvements (the biggest will come later) * many suspend/resume (race) fixes * name_assign_type support from Tom Gundersen ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fbcb21705930f2930f506149d0b8d36dfbe45107 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Mon Mar 30 16:56:01 2015 +0200 net: rename dev to orig_dev in deliver_ptype_list_skb Unlike other places, this function uses name "dev" for what should be "orig_dev", which might be a bit confusing. So fix this. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3aa10dad5b1bafc6107f96ffe7b936d8cab75b92 Merge: c997533 a3333b3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 16:36:51 2015 -0400 Merge branch 'mlx4-next' Or Gerlitz says: ==================== mlx4: Extend statistics gathering and display This series from Eran and Matan extends the statistics collected and later reported to the user via ethtool for native mode and SRIOV PF. More Packet statistics, PFC statistics and global pause statistics are now displayed via ethtool. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3333b35da1634f49aca541f2574a084221e2616 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:26 2015 +0300 net/mlx4_en: Moderate ethtool callback to show more statistics More packet statistics are now calculated and visible to the user via ethtool: - RX packet errors statistics. - TX/RX drops are now calculated. - TX multicast and broadcast statistics. - RX/TX per priority bytes statistics. - RX/TX no vlan packets and bytes statistics. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b131561a7d639abb0a194d2d8fae839ce3b99e9 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:25 2015 +0300 net/mlx4_en: Add Flow control statistics display via ethtool Flow control per priority and Global pause counters are now visible via ethtool. The counters shows statistics regarding pauses in the device. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Shani Michaeli <shanim@xxxxxxxxxxxx> Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3da8a36cc5c2a172bb42f8dc89638f5b41d7d7a6 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:24 2015 +0300 net/mlx4_en: Protect access to the statistics bitmap This will allow parallel access to the statistics bitmap. A pre-step for adding PFC counters, where the statistics bitmap can be dynamically changed when modifying the PFC setting. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6fcd27354b36fb9234aabeecde337b40d5a16842 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:23 2015 +0300 net/mlx4_en: Support general selective view of ethtool statistics The driver uses a bitmask to indicate which statistics should be displayed to the user in ethtool. The bitmask is u64, therefore we are limited for a selective view of up to 64 statistics. Extend the bitmap in order to show more than 64 statistics. In addition, add packet statistics to the ethtool display for PF. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ffa88f37ffeaac398be68f9678b0e6046a5ba7f6 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:22 2015 +0300 net/mlx4_en: Move statistics bitmap setting to the Ethernet driver The statistics bitmap belongs to the Ethernet driver, move it there. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4b6e842fc590de809a2f5af472a4ba64999e6b1 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:21 2015 +0300 net/mlx4_en: Create new header file for all statistics info Add mlx4_stats.h file and move there all statistics structs and marcos. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66f24a7ebffc5eaef9b799a2a72dd61149ad846b Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Mon Mar 30 17:45:20 2015 +0300 net/mlx4_en: Fix port counters statistics bitmask Two counters (rx_chksum_complete and tx_chksum_offload) are not displayed under SRIOV for the PF via ethtool because their bit mask is off, fix that. Fixes: f8c6455bb ('net/mlx4_en: Extend checksum offloading by CHECKSUM COMPLETE') Fixes: 9fab426de ('mlx4: add a new xmit_more counter') Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9c0d76eb47e115f64006a8406f6494387fc428c Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Tue Mar 3 01:14:41 2015 +0100 HSI: nokia-modem: Add cmt-speech support Register cmt-speech driver in nokia-modem driver and forward hsi channel information. Acked-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Tested-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7f62fe8a5851db94e10d8d956c123d4011aaeed9 Author: Kai Vehmanen <kai.vehmanen@xxxxxxxxx> Date: Wed Jun 2 22:23:34 2010 +0300 HSI: cmt_speech: Add cmt-speech driver Introduces the cmt-speech driver, which implements a character device interface for transferring speech data frames over HSI/SSI. The driver is used to exchange voice/speech data between the Nokia N900/N950/N9's modem and its cpu. Signed-off-by: Kai Vehmanen <kai.vehmanen@xxxxxxxxx> Signed-off-by: Carlos Chinea <carlos.chinea@xxxxxxxxx> Signed-off-by: Joni Lapilainen <joni.lapilainen@xxxxxxxxx> Since the original driver has been written for 2.6.28 some build fixes and general cleanups have been added by me: * fix build for 4.0 kernel * replace GFP_ATOMIC with GFP_KERNEL in cs_alloc_cmds() * add sanity check for CS_SET_WAKELINE ioctl * cleanup driver initialisation * rename driver to cmt-speech to be consistent with ssi-protocol driver * move cs-protocol.h to include/uapi/linux/hsi, since it describes a userspace API * replace hardcoded channels numbers with values provided via the HSI framework (e.g. coming from DT) Acked-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Tested-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8f3d7346435e8db1719f8cacb2de4fe87a68cb55 Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Date: Sat Mar 28 09:51:13 2015 +0800 selftests/mount: Make git ignore all binaries in mount test suite This patch includes the mount test binaries into the .gitignore file listing in their respective directories. This will make sure that git ignores all of these test binaries when displaying status. Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit ed4ac4221776a5103faf71a4032ca00178d6e66b Author: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Date: Mon Mar 30 15:40:42 2015 +0200 af_iucv: fix AF_IUCV sendmsg() errno When sending over AF_IUCV socket, errno was incorrectly set to ENOMEM even when other values where appropriate, notably EAGAIN. With this patch, error indicator returned by sock_alloc_send_skb() is passed to the caller, rather than being overwritten with ENOMEM. Signed-off-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa2d8ff4e3522b4e05f590575d3eb8087f3a8cdc Author: Thomas Graf <tgraf@xxxxxxx> Date: Mon Mar 30 13:57:41 2015 +0200 openvswitch: Return vport module ref before destruction Return module reference before invoking the respective vport ->destroy() function. This is needed as ovs_vport_del() is not invoked inside an RCU read side critical section so the kfree can occur immediately before returning to ovs_vport_del(). Returning the module reference before ->destroy() is safe because the module unregistration is blocked on ovs_lock which we hold while destroying the datapath. Fixes: 62b9c8d0372d ("ovs: Turn vports with dependencies into separate modules") Reported-by: Pravin Shelar <pshelar@xxxxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e48f284d63ece564f8aa19fbf5434b3458af8d3f Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 25 16:44:33 2015 -0700 kselftests: timers: Reduce default runtime on inconsistency-check and set-timer-lat For the default run_timers target, the timers tests takes the majority of kselftests runtime. So this patch reduces the default runtime for inconsistentcy-check and set-timer-lat, which reduced the runtime almost in half. Before: 11m48.629s After: 6m47.723s Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 816c7667ea97c61884e014cfeedaede5b67b0e58 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Mon Nov 24 17:13:46 2014 +0100 KVM: s390: migrate vcpu interrupt state This patch adds support to migrate vcpu interrupts. Two new vcpu ioctls are added which get/set the complete status of pending interrupts in one go. The ioctls are marked as available with the new capability KVM_CAP_S390_IRQ_STATE. We can not use a ONEREG, as the number of pending local interrupts is not constant and depends on the number of CPUs. To retrieve the interrupt state we add an ioctl KVM_S390_GET_IRQ_STATE. Its input parameter is a pointer to a struct kvm_s390_irq_state which has a buffer and length. For all currently pending interrupts, we copy a struct kvm_s390_irq into the buffer and pass it to userspace. To store interrupt state into a buffer provided by userspace, we add an ioctl KVM_S390_SET_IRQ_STATE. It passes a struct kvm_s390_irq_state into the kernel and injects all interrupts contained in the buffer. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 79e87a103de1eda0cb4d726cd8581798e2d38f3e Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 15:12:12 2015 +0100 KVM: s390: refactor vcpu injection function Let's provide a version of kvm_s390_inject_vcpu() that does not acquire the local-interrupt lock and skips waking up the vcpu. To be used in a later patch for vcpu-local interrupt migration, where we are already holding the lock. Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 47b43c52ee4b0425449d1b2b1eedca7f6b7a578a Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 11 20:57:06 2014 +0100 KVM: s390: add ioctl to inject local interrupts We have introduced struct kvm_s390_irq a while ago which allows to inject all kinds of interrupts as defined in the Principles of Operation. Add ioctl to inject interrupts with the extended struct kvm_s390_irq Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit b4aec92567f3146167cbc262c686ff73730aa4ca Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Dec 1 15:55:42 2014 +0100 KVM: s390: cpu timer irq priority We now have a mechanism for delivering interrupts according to their priority. Let's inject them using our new infrastructure (instead of letting only hardware handle them), so we can be sure that the irq priorities are satisfied. For s390, the cpu timer and the clock comparator are to be checked for common code kvm_cpu_has_pending_timer(), although the cpu timer is only stepped when the guest is being executed. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 6d3da241416e6088f83a7ff1f37fb6bb518d9bc8 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 3 15:18:35 2013 +0200 KVM: s390: deliver floating interrupts in order of priority This patch makes interrupt handling compliant to the z/Architecture Principles of Operation with regard to interrupt priorities. Add a bitmap for pending floating interrupts. Each bit relates to a interrupt type and its list. A turned on bit indicates that a list contains items (interrupts) which need to be delivered. When delivering interrupts on a cpu we can merge the existing bitmap for cpu-local interrupts and floating interrupts and have a single mechanism for delivery. Currently we have one list for all kinds of floating interrupts and a corresponding spin lock. This patch adds a separate list per interrupt type. An exception to this are service signal and machine check interrupts, as there can be only one pending interrupt at a time. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 94aa033efcac47b09db22cb561e135baf37b7887 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 12:17:13 2015 +0100 KVM: s390: fix get_all_floating_irqs This fixes a bug introduced with commit c05c4186bbe4 ("KVM: s390: add floating irq controller"). get_all_floating_irqs() does copy_to_user() while holding a spin lock. Let's fix this by filling a temporary buffer first and copy it to userspace after giving up the lock. Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+: 69a8d4562638 KVM: s390: no need to hold... Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit ca125b5e31f5ada6844f57c5a8e7cd104d26c8fa Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 11:47:04 2015 +0200 ARM: OMAP4+: control: add support for initializing control module via DT OMAP4, OMAP5 and DRA7 now parse DT entries for control module address spaces, and set up syscon mappings appropriately. Low level IO init is updated to remove the legacy control module mappings for these devices also. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit d919501feffa8715147582c3ffce96fad0c7016f Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 11:37:13 2015 +0200 ARM: dts: dra7: add minimal l4 bus layout with control module support This patch creates the l4_cfg and l4_wkup interconnects for DRA7, and moves some of the generic peripherals under it. System control module support is added to the device tree also, and the existing SCM related functionality is moved under it. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit ed8509edddebf27e6e69f10c9c314f31ac4f2831 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 11:35:29 2015 +0200 ARM: dts: omap5: add minimal l4 bus layout with control module support This patch creates the l4_cfg and l4_wkup interconnects for OMAP5, and moves some of the generic peripherals under it. System control module support is added to the device tree also, and the existing SCM related functionality is moved under it. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit efde234674d9db08b762d9faef4dbbaa2eba3a2e Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Feb 20 10:08:52 2015 +0200 ARM: OMAP4+: control: remove support for legacy pad read/write omap4_ctrl_pad_readl/writel are no longer used by anybody, so remove these. Syscon / pinctrl should be used to access the padconf area instead. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 23d34981c7e36fb609d3eaacf0a52a05d75ae008 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 19 12:42:59 2015 +0200 ARM: OMAP4: display: convert display to use syscon for dsi muxing The legacy control module APIs will be gone, thus convert the display driver to use syscon. This change should eventually be moved to display driver from the board directory. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7415b0b4c645fe9897352f144f056fd557526667 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 11:32:14 2015 +0200 ARM: dts: omap4: add minimal l4 bus layout with control module support This patch creates the l4_cfg and l4_wkup interconnects for OMAP4, and moves some of the generic peripherals under it. System control module support is added to the device tree also, and the existing SCM related functionality is moved under it. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Reported-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 83a5d6c98af24bb4531dfc05e7c2d3ac2562c6d9 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 10:25:40 2015 +0200 ARM: dts: am4372: add minimal l4 bus layout with control module support This patch creates an l4_wkup interconnect for AM43xx, and moves some of the generic peripherals under it. System control module nodes are moved under this new interconnect also, and the SCM clock layout is changed to use the renamed SCM nodea as the clock provider. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit d7eaf3c40d8d7e9cd133f0aec85fdca0d546cc1b Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Feb 25 15:03:57 2015 +0200 ARM: dts: am43xx-epos-evm: fix pinmux node layout Pinmux node should be a reference to the base one, not a complete re-write of it. Having the node like this also prevents modifying the node layout in the base am4372.dtsi file, which is needed for control module changes. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e3bc5358e0977b95652625f9329ba68f1ebb1a42 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Mar 20 13:08:29 2015 +0200 ARM: dts: am33xx: add minimal l4 bus layout with control module support This patch creates an l4_wkup interconnect for AM33xx, and moves some of the generic peripherals under it. System control module nodes are moved under this new interconnect also, and the SCM clock layout is changed to use the renamed SCM node as the clock provider. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit b8845074cfbbd1d1b46720a1b563d7b4240dac21 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Feb 24 16:22:45 2015 +0200 ARM: dts: omap3: add minimal l4 bus layout with control module support This patch creates an l4_core interconnect for OMAP3, and moves some of the generic peripherals under it. System control module nodes are moved under this new interconnect also, and the SCM clock layout is changed to use the renamed SCM node as the clock provider. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Reported-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 72b10ac00eb1c154037e398371685d3f1d2d4793 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 10:38:16 2015 +0200 ARM: dts: omap24xx: add minimal l4 bus layout with control module support This patch creates an l4 / l4-wkup interconnects for omap2420 / omap2430 SoCs, and moves some of the generic peripherals under it. System control module nodes are moved under this new interconnect also, and the SCM clock layout is changed to use the new SCM node as the clock provider. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e5b635742e9824c8c0fc7fc524a24024cf88a448 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Feb 12 11:24:11 2015 +0200 ARM: OMAP2+: control: add syscon support for register accesses Control module driver needs to support syscon for register accesses, as the DT hierarchy for control module driver is going to be changed. All the control module related features will be moved under control module node, including clocks, pinctrl, and generic configuration register access. Temporary iomap is still provided very early in the boot for access while syscon is not yet ready. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 23d240d661f42214bd372c0e5b21afaf71b9329c Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Feb 9 16:17:38 2015 +0200 ARM: OMAP2+: id: cache omap_type value There is no need to read the register with every invocation of the function, as the value is constant. Thus, cache the value in a static variable. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit ae0f6798474053eb76863fa9b3befd9deea58ba6 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Feb 6 16:20:13 2015 +0200 ARM: OMAP2+: control: remove API for getting control module base address This shall not be used anymore, as control module driver is converted into using regmap. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 80cbb224b789d256ad5cb36b0af3e5c04ed46bca Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Feb 6 16:00:32 2015 +0200 ARM: OMAP2+: clock: add low-level support for regmap Some of the TI clock providers will be converted to use syscon, thus low-level regmap support is needed for the clock drivers also. This patch adds this support, which can be enabled for individual drivers in later patches. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 219595b6ee139d883b98a9a32efbe2970802200a Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Sep 8 11:44:10 2014 +0300 ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init The compatible DT node is now passed with the prm init, so there is no need to do node matching here again. Added a new flag to the init data also, to detect default IRQ support for OMAP4. Also, any booting omap4 DT setup always has a PRM node, so there is no need to check against the special case where it would be missing. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 8b5b9a22b57c75905b368194b6fd4c472d5dc630 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Nov 21 14:45:29 2014 +0200 ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags Currently some cpu_is_X checks are used to setup prm_features, however the same can be accomplished by just passing these flags from the PRM init data. This is done in preparation to make PRM a separate driver. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 425dc8b2dff222ffd88f31f589dc647409cae0ce Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Nov 21 15:51:37 2014 +0200 ARM: OMAP2+: CM: move SoC specific init calls within a generic API This gets rid of need for some exported driver APIs, and simplifies the initialization of the CM driver. Done in preparation to make CM a separate driver. The init data is now also passed to the SoC specific implementations, allowing future expansion to add feature flags etc. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 48e0c1148d18de677f1b2aec179f36fb7c1e3839 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Sep 8 11:29:43 2014 +0300 ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility PRM device instance offset is now provided through the prm_init_data. This gets rid of some cpu_is_X / soc_is_X calls from PRM core code, preparing for PRM to be its own separate driver. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit ab7b2ffcf576a49b51c240dcd68ca4b7cd60b84d Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Nov 20 15:02:59 2014 +0200 ARM: OMAP2+: PRM: move SoC specific init calls within a generic API This gets rid of need for some exported driver APIs, and simplifies the initialization of the PRM driver. Done in preparation to make PRM a separate driver. The init data is now also passed to the SoC specific implementations, allowing future expansion to add feature flags etc. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit f9c72d10d6fbf949558cd088389a42213ed7b12d Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Tue Mar 31 12:03:28 2015 -0400 sunrpc: make debugfs file creation failure non-fatal We currently have a problem that SELinux policy is being enforced when creating debugfs files. If a debugfs file is created as a side effect of doing some syscall, then that creation can fail if the SELinux policy for that process prevents it. This seems wrong. We don't do that for files under /proc, for instance, so Bruce has proposed a patch to fix that. While discussing that patch however, Greg K.H. stated: "No kernel code should care / fail if a debugfs function fails, so please fix up the sunrpc code first." This patch converts all of the sunrpc debugfs setup code to be void return functins, and the callers to not look for errors from those functions. This should allow rpc_clnt and rpc_xprt creation to work, even if the kernel fails to create debugfs files for some reason. Symptoms were failing krb5 mounts on systems using gss-proxy and selinux. Fixes: 388f0c776781 "sunrpc: add a debugfs rpc_xprt directory..." Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c99753379ccb26ae0acf3059b579154876e0cf1e Merge: 3271e4f 451e1ca Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 14:15:01 2015 -0400 Merge branch 'bcmgenet-next' Petri Gynther says: ==================== net: bcmgenet: code cleanup Five patches to clean up bcmgenet code: 1. add UMAC_IRQ_RXDMA_DONE and UMAC_IRQ_TXDMA_DONE 2. remove __bcmgenet_fini_dma() 3. fix bcmgenet_open() 4. add UMAC_IRQ_LINK_EVENT 5. fix the call to phy_mac_interrupt() ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 451e1ca2ab68b9184379fde7867f278c4b3efc61 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 30 00:29:35 2015 -0700 net: bcmgenet: fix the call to phy_mac_interrupt() On phy_mac_interrupt() call, the new_link parameter should be 0 or 1. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e122966dd9aedb666df93f5ee6007e1688194611 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 30 00:29:24 2015 -0700 net: bcmgenet: add UMAC_IRQ_LINK_EVENT Add #define UMAC_IRQ_LINK_EVENT to simplify link event handling code. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fac25940c5e0d6f31d56bb2a704fadad6d5e382a Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 30 00:29:13 2015 -0700 net: bcmgenet: fix bcmgenet_open() If bcmgenet_init_dma() fails, it cleans up after itself. Rx and Tx DMAs are off, and NAPI instances haven't been netif_napi_add()'ed. Therefore, we need to skip calling bcmgenet_fini_dma() on the error handling path. bcmgenet_resume() already does this correctly. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9abab96d9feabf4df87464de035344e91aeefa0a Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 30 00:29:01 2015 -0700 net: bcmgenet: remove __bcmgenet_fini_dma() bcmgenet_fini_dma() is the only caller of __bcmgenet_fini_dma(). Move __bcmgenet_fini_dma() code inside bcmgenet_fini_dma(). Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee7d8c2067e1bc633f4df3159698b32a9714f724 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 30 00:28:50 2015 -0700 net: bcmgenet: add UMAC_IRQ_RXDMA_DONE and UMAC_IRQ_TXDMA_DONE Add #define for UMAC_IRQ_RXDMA_DONE and UMAC_IRQ_TXDMA_DONE in order to simplify the code that handles Rx and Tx default queue interrupts. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3271e4f18d9a4ec9ac5568f94444dac08f29c5a0 Merge: 4e833c5 b08cc79 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 14:12:37 2015 -0400 Merge branch 'hv_netvsc-next' K. Y. Srinivasan says: ==================== hv_netvsc: Eliminate memory allocation in the send path The network protocol used to communicate with the host is the remote ndis (rndis) protocol. We need to decorate each outgoing packet with a rndis header and additional rndis state (rndis per-packet state). To manage this state, we currently allocate memory in the transmit path. Eliminate this allocation by requesting additional head room in the skb. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b08cc79155fc26d0d112b1470d1ece5034651a4b Author: KY Srinivasan <kys@xxxxxxxxxxxxx> Date: Sun Mar 29 21:08:42 2015 -0700 hv_netvsc: Eliminate memory allocation in the packet send path The network protocol used to communicate with the host is the remote ndis (rndis) protocol. We need to decorate each outgoing packet with a rndis header and additional rndis state (rndis per-packet state). To manage this state, we currently allocate memory in the transmit path. Eliminate this allocation by requesting additional head room in the skb. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbacec76bcd03ff21b37ac331e652b5a8f3ea644 Author: KY Srinivasan <kys@xxxxxxxxxxxxx> Date: Sun Mar 29 21:08:41 2015 -0700 hv_netvsc: Cleanup the test for freeing skb when we use sendbuf mechanism In preparation for embedding the rndis state and other packet state into the skb, cleanup the test for freeing the skb. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e833c596ef5f699479a8ba2d3294a004895f5f4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Mar 29 18:25:12 2015 -0700 ethernet: Use bool function returns of true/false instead of 1/0 Use bool constants as the return values instead of 1 and 0. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5899f0478528b59ea9ced201eacb3e56ca406c39 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:05:28 2015 +0200 netlink: pad nla_memcpy dest buffer with zeroes This is especially important in cases where the kernel allocs a new structure and expects a field to be set from a netlink attribute. If such attribute is shorter than expected, the rest of the field is left containing previous data. When such field is read back by the user space, kernel memory content is leaked. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e1fa36b3f5347eabd02385883fb5757aed56687 Merge: f0ef312 67b61f6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 13:58:36 2015 -0400 Merge branch 'nla_in_addr' Jiri Benc says: ==================== netlink: access functions for IP address attributes There are many places that read or write IP addresses to netlink attributes. With IPv6 addresses, every such place currently has to use generic nla_put and nla_memcpy. Implementing IPv6 address access functions simplify things and makes the code more intelligible. IPv4 address access functions has lesser value but it would be better to be consistent between IPv6 and IPv4 and they still serve as documentation. The conversion is straightforward and the resulting patches are not that large, thus I kept all the changes in the patches that introduce the access functions. If anyone prefers to split the definition of access functions and the conversion and/or break it out by network protocols, please let me know. While doing the conversion, I came across ugly typecasting in inetpeer_addr_base and xfrm_address_t when dealing with IPv6 addresses. Instead of introducing more of this, I cleaned it up. Those are the first two patches, serving as a prerequisite to the latter two. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67b61f6c130a05b2cd4c3dfded49a751ff42c534 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:59:26 2015 +0200 netlink: implement nla_get_in_addr and nla_get_in6_addr Those are counterparts to nla_put_in_addr and nla_put_in6_addr. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 930345ea630405aa6e6f42efcb149c3f360a6b67 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:59:25 2015 +0200 netlink: implement nla_put_in_addr and nla_put_in6_addr IP addresses are often stored in netlink attributes. Add generic functions to do that. For nla_put_in_addr, it would be nicer to pass struct in_addr but this is not used universally throughout the kernel, in way too many places __be32 is used to store IPv4 address. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15e318bdc6dfb82914c82fb7ad00badaa8387d8e Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:59:24 2015 +0200 xfrm: simplify xfrm_address_t use In many places, the a6 field is typecasted to struct in6_addr. As the fields are in union anyway, just add in6_addr type to the union and get rid of the typecasting. Modifying the uapi header is okay, the union has still the same size. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f55db48608b109ad8c7ff4b946ad39b3189a540 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:59:23 2015 +0200 tcp: simplify inetpeer_addr_base use In many places, the a6 field is typecasted to struct in6_addr. As the fields are in union anyway, just add in6_addr type to the union and get rid of the typecasting. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0ef31264cde8b489a0b87149ebc3a72cef4c58a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sun Mar 29 16:17:37 2015 +0200 vxlan: fix indentation Some lines in vxlan code are indented by 7 spaces instead of a tab. Fixes: e4c7ed415387 ("vxlan: add ipv6 support") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1695fb46eb5880dae70b4940a7d6bdf6e276104d Merge: bc48878 53b24b8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 13:51:59 2015 -0400 Merge branch 'ipv6_null' Ian Morris says: ==================== ipv6: coding style - comparisons with NULL The following patches address some coding style issues only. No functional changes and no changes detected by objdiff. The IPV6 code uses multiple different styles when comparing with NULL (I.e. x == NULL and !x as well as x != NULL and x). Generally the latter form is preferred according to checkpatch and so this changes aligns the code to this style. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53b24b8f94cb15e38e332db82177cf3f0f4df0c5 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Mar 29 14:00:05 2015 +0100 ipv6: coding style: comparison for inequality with NULL The ipv6 code uses a mixture of coding styles. In some instances check for NULL pointer is done as x != NULL and sometimes as x. x is preferred according to checkpatch and this patch makes the code consistent by adopting the latter form. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 63159f29be1df7f93563a8a0f78c5e65fc844ed6 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Mar 29 14:00:04 2015 +0100 ipv6: coding style: comparison for equality with NULL The ipv6 code uses a mixture of coding styles. In some instances check for NULL pointer is done as x == NULL and sometimes as !x. !x is preferred according to checkpatch and this patch makes the code consistent by adopting the latter form. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5e2dc5d7fe78fe4d8748d217338f4f7b6a5d7ea Author: Anton Nayshtut <anton@xxxxxxxxxxx> Date: Sun Mar 29 14:20:25 2015 +0300 bonding: Bonding Overriding Configuration logic restored. Before commit 3900f29021f0bc7fe9815aa32f1a993b7dfdd402 ("bonding: slight optimizztion for bond_slave_override()") the override logic was to send packets with non-zero queue_id through the slave with corresponding queue_id, under two conditions only - if the slave can transmit and it's up. The above mentioned commit changed this logic by introducing an additional condition - whether the bond is active (indirectly, using the slave_can_tx and later - bond_is_active_slave), that prevents the user from implementing more complex policies according to the Documentation/networking/bonding.txt. Signed-off-by: Anton Nayshtut <anton@xxxxxxxxxxx> Signed-off-by: Alexey Bogoslavsky <alexey@xxxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18779b75e90e75bf7f1aee8e71307b69fa5f7631 Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Tue Mar 31 09:49:40 2015 -0700 Smack: Updates for Smack documentation Document the Smack bringup features. Update the proper location for mounting smackfs from /smack to /sys/fs/smackfs. Fix some spelling errors. Suggest the use of the load2 interface instead of the load interface. Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit bc48878c06028f297e4fdf75be7dda88de050430 Merge: 19a1204 0f587f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 13:34:15 2015 -0400 Merge branch 'bnx2x-next' Yuval Mintz says: ==================== bnx2x: link and protection changes This patch series contains 2 small additions to link configuration, as well as a safeguard against loading the device on a hardware at a failed state. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f587f1bfb1fb15d9ebd94c565dd11ae6d4e03b6 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Mar 29 10:05:01 2015 +0300 bnx2x: Prevent probe as early as possible It's possible that due to errors [either on PCI or on device itself] registers reads would fail, returning all-Fs. This adds a check as early as possible so that driver will not read junk values and make incorrect probe decisions according to them; instead, gracefully fail the probe. 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 fcd02d27b5c543f2d4538d2ac402fed1154c6dfb Author: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx> Date: Sun Mar 29 10:05:00 2015 +0300 bnx2x: Count number of link changes Number of link changes are now being stored in shared memory [by all possible link owners], for management use [as well as possible debug information for dumps]. Signed-off-by: Yaniv Rosner <Yaniv.Rosner@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 30fd9ff0d9e0d1f83e0ae59cbef3b78648f42b46 Author: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx> Date: Sun Mar 29 10:04:59 2015 +0300 bnx2x: Configure IFir et al. according to nvram Enable controlling Post2, coeff, IPreDriver and IFir according to NVRAM setup. Signed-off-by: Yaniv Rosner <Yaniv.Rosner@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 d91e9015c78af1dc1f8ac4fdcf6118dbc2401668 Merge: 63c6073 e9997c2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 13:28:38 2015 -0400 Merge branch 'ipvlan-corruptions' Jiri Benc says: ==================== ipvlan: list corruption and rcu fixes This patch set fixes different issues leading to corrupted lists and incorrect rcu usage. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9997c2938b23d792528da1597b3aea9b0f2a324 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sat Mar 28 19:13:25 2015 +0100 ipvlan: fix check for IP addresses in control path When an ipvlan interface is down, its addresses are not on the hash list. Fix checks for existence of addresses not to depend on the hash list, walk through all interface addresses instead. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40891e8ad630558caae26788d37bf50137b6d5d2 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sat Mar 28 19:13:24 2015 +0100 ipvlan: do not use rcu operations for address list All accesses to ipvlan->addrs are under rtnl. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2afa650ce297bc2048bc3d059774be9c39734565 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sat Mar 28 19:13:23 2015 +0100 ipvlan: protect against concurrent link removal Adding and removing to the 'ipvlans' list is already done using _rcu list operations. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27705f7085ce2e124fac4c280ce824962cc90bb6 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Sat Mar 28 19:13:22 2015 +0100 ipvlan: fix addr hash list corruption When ipvlan interface with IP addresses attached is brought down and then deleted, the assigned addresses are deleted twice from the address hash list, first on the interface down and second on the link deletion. Similarly, when an address is added while the interface is down, it is added second time once the interface is brought up. When the interface is down, the addresses should be kept off the hash list for performance reasons. Ensure this is true, which also fixes the double add problem. To fix the double free, check whether the address is hashed before removing it. Reported-by: Dan Williams <dcbw@xxxxxxxxxx> Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19a12049cd12ea2c5195f81e747adbc2c89e6560 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Fri Mar 27 22:34:31 2015 -0700 bonding: Remove hardcoded initialization Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e47d6caff9e8af6db0741ddbd260bdd36d24c13 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 27 14:14:22 2015 -0700 fib_trie: Cleanup ip_fib_net_exit code path While fixing a recent issue I noticed that we are doing some unnecessary work inside the loop for ip_fib_net_exit. As such I am pulling out the initialization to NULL for the locally stored fib_local, fib_main, and fib_default. In addition I am restoring the original code for flushing the table as there is no need to split up the fib_table_flush and hlist_del work since the code for packing the tnodes with multiple key vectors was dropped. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad88d05136386de3584867091a51927eab18dc39 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 27 14:14:16 2015 -0700 fib_trie: Fix warning on fib4_rules_exit This fixes the following warning: BUG: sleeping function called from invalid context at mm/slub.c:1268 in_atomic(): 1, irqs_disabled(): 0, pid: 6, name: kworker/u8:0 INFO: lockdep is turned off. CPU: 3 PID: 6 Comm: kworker/u8:0 Tainted: G W 4.0.0-rc5+ #895 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Workqueue: netns cleanup_net 0000000000000006 ffff88011953fa68 ffffffff81a203b6 000000002c3a2c39 ffff88011952a680 ffff88011953fa98 ffffffff8109daf0 ffff8801186c6aa8 ffffffff81fbc9e5 00000000000004f4 0000000000000000 ffff88011953fac8 Call Trace: [<ffffffff81a203b6>] dump_stack+0x4c/0x65 [<ffffffff8109daf0>] ___might_sleep+0x1c3/0x1cb [<ffffffff8109db70>] __might_sleep+0x78/0x80 [<ffffffff8117a60e>] slab_pre_alloc_hook+0x31/0x8f [<ffffffff8117d4f6>] __kmalloc+0x69/0x14e [<ffffffff818ed0e1>] ? kzalloc.constprop.20+0xe/0x10 [<ffffffff818ed0e1>] kzalloc.constprop.20+0xe/0x10 [<ffffffff818ef622>] fib_trie_table+0x27/0x8b [<ffffffff818ef6bd>] fib_trie_unmerge+0x37/0x2a6 [<ffffffff810b06e1>] ? arch_local_irq_save+0x9/0xc [<ffffffff818e9793>] fib_unmerge+0x2d/0xb3 [<ffffffff818f5f56>] fib4_rule_delete+0x1f/0x52 [<ffffffff817f1c3f>] ? fib_rules_unregister+0x30/0xb2 [<ffffffff817f1c8b>] fib_rules_unregister+0x7c/0xb2 [<ffffffff818f64a1>] fib4_rules_exit+0x15/0x18 [<ffffffff818e8c0a>] ip_fib_net_exit+0x23/0xf2 [<ffffffff818e91f8>] fib_net_exit+0x32/0x36 [<ffffffff817c8352>] ops_exit_list+0x45/0x57 [<ffffffff817c8d3d>] cleanup_net+0x13c/0x1cd [<ffffffff8108b05d>] process_one_work+0x255/0x4ad [<ffffffff8108af69>] ? process_one_work+0x161/0x4ad [<ffffffff8108b4b1>] worker_thread+0x1cd/0x2ab [<ffffffff8108b2e4>] ? process_scheduled_works+0x2f/0x2f [<ffffffff81090686>] kthread+0xd4/0xdc [<ffffffff8109ec8f>] ? local_clock+0x19/0x22 [<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83 [<ffffffff81a2c0c8>] ret_from_fork+0x58/0x90 [<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83 The issue was that as a part of exiting the default rules were being deleted which resulted in the local trie being unmerged. By moving the freeing of the FIB tables up we can avoid the unmerge since there is no local table left when we call the fib4_rules_exit function. Fixes: 0ddcf43d5d4a ("ipv4: FIB Local/MAIN table collapse") Reported-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 548ae94c1cc7fc120848757249b9a542b1080ffb Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 30 12:34:25 2015 +0100 ARM: mvebu: Disable CPU Idle on Armada 38x On Armada 38x SoCs, under heavy I/O load, the system hangs when CPU Idle is enabled. Waiting for a solution to this issue, this patch disables the CPU Idle support for this SoC. As CPU Hot plug support also uses some of the CPU Idle functions it is also affected by the same issue. This patch disables it also for the Armada 38x SoCs. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.17 + commit 89a3f3c55ba54e08968b12a5f8e7d1787a0bbb4a Merge: 32eaf12 a7a484b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 12:45:58 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-03-27 Here's another set of Bluetooth & 802.15.4 patches for 4.1: - New API to control LE advertising data (i.e. peripheral role) - mac802154 & at86rf230 cleanups - Support for toggling quirks from debugfs (useful for testing) - Memory leak fix for LE scanning - Extra version info reading support for Broadcom controllers Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d31af0a325ca4ff8e57b8616ab2228913df369ad Author: Jens Axboe <axboe@xxxxxx> Date: Fri Mar 6 12:56:13 2015 -0700 NVMe: increase depth of admin queue Usually the admin queue depth of 64 is plenty, but for some use cases we really need it larger. Examples are use cases like MAT, where you have to touch all of NAND for init/format like purposes. In those cases, we see a good 2x increase with an increased queue depth. Signed-off-by: Jens Axboe <axboe@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit f137e0f15101c0a0ff8a5d956042e50247f1fef9 Author: Murali Iyer <mniyer@xxxxxxxxxx> Date: Thu Mar 26 11:07:51 2015 -0500 nvme: Fix PRP list calculation for non-4k system page size PRP list calculation is supposed to be based on device's page size. Systems with page size larger than device's page size cause corruption to the name space as well as system memory with out this fix. Systems like x86 might not experience this issue because it uses PAGE_SIZE of 4K where as powerpc uses PAGE_SIZE of 64k while NVMe device's page size varies depending upon the vendor. Signed-off-by: Murali Iyer <mniyer@xxxxxxxxxx> Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1efccc9ddb98fd533169669160201b027562af7e Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Mar 31 10:37:17 2015 -0600 NVMe: Fix blk-mq hot cpu notification The driver may issue commands to a device that may never return, so its request_queue could always have active requests while the controller is running. Waiting for the queue to freeze could block forever, which is what blk-mq's hot cpu notification handler was doing when nvme drives were in use. This has the nvme driver make the asynchronous event command's tag reserved and does not keep the request active. We can't have more than one since the request is released back to the request_queue before the command is completed. Having only one avoids potential tag collisions, and reserving the tag for this purpose prevents other admin tasks from reusing the tag. I also couldn't think of a scenario where issuing AEN requests single depth is worse than issuing them in batches, so I don't think we lose anything with this change. As an added bonus, doing it this way removes "Cancelling I/O" warnings observed when unbinding the nvme driver from a device. Reported-by: Yigal Korman <yigal@xxxxxxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit fda631ffe5422424579e1649e04cc468d0215b85 Author: Chong Yuan <chong.yuan@xxxxxxxxxxxx> Date: Fri Mar 27 09:21:32 2015 +0800 NVMe: embedded iod mask cleanup Remove unused mask in nvme_alloc_iod Signed-off-by: Chong Yuan <chong.yuan@xxxxxxxxxxxx> Reviewed-by: Wenbo Wang <wenbo.wang@xxxxxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6df3dbc83fb8043a5975d75970d296d6d14f7273 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Thu Mar 26 13:49:33 2015 -0600 NVMe: Freeze admin queue on device failure This fixes a race accessing an invalid address when a controller's admin queue is in use during a reset for failure or hot removal occurs. The admin queue will be frozen to prevent new users from entering prior to the doorbell queue being unmapped. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 32eaf120e66b1763626ed564adf1e42e69da82f4 Merge: d482994 ed7c631 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 31 12:01:21 2015 -0400 Merge branch 'ptp-2038' Fixed two warnings in e1000e and igb, when switching to timespec64 some printf formats started to not match. In theses cases actually the new type is __kernel_time_t which is __kernel_long_t which unfortunately can be either "long" or "long long". So to solve this I cases the arguments to "long long". -DaveM Richard Cochran says: ==================== ptp: get ready for 2038 This series converts the core driver methods of the PTP Hardware Clock (PHC) subsystem to use the 64 bit version of the timespec structure, making the core API ready for the year 2038. In addition, I reviewed how each driver and device represents the time value at the hardware register level. Most of the drivers are ready, but a few will need some work before the year 2038, as shown: Patch Driver ------------------------------------------------ 12 drivers/net/ethernet/intel/igb/igb_ptp.c 15 ? drivers/net/ethernet/sfc/ptp.c 16 drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c The commit log messages document how each driver is ready or why it is not ready. For patch 15, I could not easily find out the hardware representation of the time value, and so the SFC maintainers will have to review their low level code in order to resolve any remaining issues. * ChangeLog ** V3 - dp83640: use timespec64 throughout per Arnd's suggestion - tilegx: use timespec64 throughout per Chris' suggestion - add Jeff's acked-bys ** V2 - use the new methods in the posix clock code right away (patch #3) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 232a5adc5199891efde6c844fd15b8d4d18245e6 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Tue Mar 31 16:35:01 2015 +0200 spi: bitbang: only toggle bitchanges The current implementation of bitbang_txrx_be_cpha0 and bitbang_txrx_be_cpha1 always call setmosi. That runs into several unnecessary calls into the gpiolib when the level of the GPIO actually has not to be changed. This patch changes the routines to remember the last GPIO level and only calls setmosi if an change has to be made. This way it improves the transfer throughput. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44164c4ba98c3dd3560d929ba66da51b5170ff1c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Mar 30 16:21:00 2015 +1100 ftracetest: Convert exit -1 to exit $FAIL POSIX says that exit takes an unsigned integer between 0 and 255, so using -1 doesn't work on POSIX shells. There is already a well-defined failure code, $FAIL (1), so use that. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit a05ffdce7155769ea5ac3409e1490fb9116dbaed Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Mar 30 16:21:40 2015 +1100 ftracetest: Cope properly with stack tracer not being enabled If the stack tracer (CONFIG_STACK_TRACER) is disabled, the fgraph-filter-stack test blows chunks: [8] ftrace - function graph filters with stack tracer [FAIL] + reset_tracer + echo nop ./ftracetest: 19: /home/michael/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc: cannot create /proc/sys/kernel/stack_tracer_enabled: Directory nonexistent Fix it by checking if the proc file exists before echoing to it. With the patch applied it fails correctly with: [8] ftrace - function graph filters with stack tracer [UNSUPPORTED] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 1d804d079a92138d011900785193b6b00b44bc00 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 16:46:09 2015 -0700 x86: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Message-Id: <9f593eb2f43b456851cd73f7ed09654ca58fb570.1427759009.git.joe@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d56b9b28a4a5d9e61dd99154b986e760373e2392 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Feb 23 19:10:15 2015 -0500 dm: remove request-based DM queue's lld_busy_fn hook DM multipath is the only caller of blk_lld_busy() -- which calls a queue's lld_busy_fn hook. Request-based DM doesn't support stacking multipath devices so there is no reason to register the lld_busy_fn hook on a multipath device's queue using blk_queue_lld_busy(). As such, remove functions dm_lld_busy and dm_table_any_busy_target. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 52b09914af86fa3e728175c1125c91520e437b2f Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Feb 23 16:36:41 2015 -0500 dm: remove unnecessary wrapper around blk_lld_busy There is no need for DM to export a wrapper around the already exported blk_lld_busy(). Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 09c2d53101da87f5ab4084643d2f8c718b3ab3cf Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Feb 27 22:25:26 2015 -0500 dm: rename __dm_get_reserved_ios() helper to __dm_get_module_param() __dm_get_module_param() could be useful for future DM module parameters besides those related to "reserved_ios". Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e73f6e8a0de8ce28edef986d86720ef83dd2864f Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Feb 27 15:25:31 2015 -0500 dm switch: fix Documentation to use plain text Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e65ff8703f56273c6dc8b77373f4d2bef6e35107 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Feb 20 14:22:17 2015 +0000 dm cache policy mq: try not to writeback data that changed in the last second Writeback takes out a lock on the cache block, so will increase the latency for any concurrent io. This patch works by placing 2 sentinel objects on each level of the multiqueues. Every WRITEBACK_PERIOD the oldest sentinel gets moved to the newest end of the queue level. When looking for writeback work: if less than 25% of the cache is clean: we select the oldest object with the lowest hit count otherwise: we select the oldest object that is not past a writeback sentinel. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit fdecee3224d90e51c611198baeb0c38e568ca0e8 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Feb 20 13:54:14 2015 +0000 dm cache policy mq: remove unused generation member of struct entry Remove to stop wasting memory. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 3e45c91e5cdd0cfd3cc1228628602c8e7e587157 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Feb 20 13:49:45 2015 +0000 dm cache policy mq: track entries hit this 'tick' via sentinel objects A sentinel object is placed on each level of the multiqueues. When an object is hit it is requeued behind the sentinel. When the tick is incremented we iterate through all objects behind the sentinel and update the hit_count, then reposition the sentinel at the very back. This saves memory by avoiding tracking the tick explicitly for every struct entry object in the multiqueues. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit c74ffc5c63b0b2753bedd49bdc1196d570f66803 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Feb 20 13:01:22 2015 +0000 dm cache policy mq: remove queue_shift_down() queue_shift_down() didn't adjust the hit_counts to the new levels, so it just had the effect of scrambling levels. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 75da39bf256c27e25f395b191ead79f323772672 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Feb 20 12:58:03 2015 +0000 dm cache policy mq: keep track of the number of entries in a multiqueue Small optimisation, now queue_empty() doesn't need to walk all levels of the multiqueue. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit ac1f9ef211d5dd70110fa4bec6e8866b2c3a965e Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Feb 12 15:20:35 2015 -0500 dm log userspace: split flush_entry_pool to be per dirty-log Use a single slab cache to allocate a mempool for each dirty-log. This _should_ eliminate DM's need for io_schedule_timeout() in mempool_alloc(); so io_schedule() should be sufficient now. Also, rename struct flush_entry to dm_dirty_log_flush_entry to allow KMEM_CACHE() to create a meaningful global name for the slab cache. Also, eliminate some holes in struct log_c by rearranging members. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> commit ed7c6317bc599502e1fdc7f5f95cb9a5550360a4 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:13 2015 +0200 ptp: remove 32 bit get/set methods. All of the PHC drivers have been converted to the new methods. This patch converts the three remaining callers within the core code and removes the older methods for good. As a result, the core PHC code is ready for the year 2038. However, some of the PHC drivers are not quite ready yet. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a043a72909b9ed9b3505f3be42d5329cea50c273 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:12 2015 +0200 ptp: pch: convert to the 64 bit get/set time methods. The device has a 64 bit clock register, where each clock tick is 32 nanoseconds, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ca13de26740dfd21e85769f08a89321c2ec1266 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:11 2015 +0200 ptp: ixp46x: convert to the 64 bit get/set time methods. The device has a 64 bit clock register, where each clock tick is 16 nanoseconds, and so with this patch the driver is ready for the year 2038. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41c2c18ffb4d5e46bca5b419784f67db9b0c1425 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:10 2015 +0200 ptp: dp83640: convert to the 64 bit get/set time methods. This device stores the number of seconds in a 32 bit register, and the stored value is unsigned. Therefore this driver and device are ready for the year 2038. However, more work will be needed prior to 2106. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9acf24f779c778b994a7dc017c977a18560f690 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:09 2015 +0200 ptp: tilegx: convert to the 64 bit get/set time methods. This driver is 64 bit only, and so this driver and device are ready for 2038. This patch changes the driver to the new PHC and also carries the timespec64 parameter on out to the gxio_mpipe_get- set_timestamp functions, making explicit the fact that the tv_sec field is 64 bits wide. Not even compile tested. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5c79c26e168018df201c07e046003a6ab226cdc Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:08 2015 +0200 ptp: cpts: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f6c4654c8bff4230ba279a7b5b6d8721b572ddf Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:07 2015 +0200 ptp: stmmac: convert to the 64 bit get/set time methods. This device stores the number of seconds in a 32 bit register. So more work is needed on this driver before the year 2038 comes around. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fcb5c76ca71afbef6c18d0710f2d4557b1d216a Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:06 2015 +0200 ptp: sfc: convert to the 64 bit get/set time methods. This patch changes the driver to use the newer API. Depending on how the hardware represents a time value, this driver may or may not yet be ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e394b80545a005fa9b2eea27036d670641a0c728 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:05 2015 +0200 ptp: mlx4: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91432d18eddd370f28ea77fd699a947bb893e5fe Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:04 2015 +0200 ptp: ixgbe: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4c496fe45de9dc33ace3a5796e4211e2e809231 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:03 2015 +0200 ptp: igb: convert to the 64 bit get/set time methods. For the 82576, the driver's clock is implemented using a timecounter, and so with this patch that device is ready for the year 2038. However, in the case of the i210, the device stores the number of seconds in a 32 bit register. Therefore, more work is needed on this driver before the year 2038 comes around. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f7a9b8ab327a2aa9ee5a6d1670439ce5ed47554 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:02 2015 +0200 ptp: i40e: convert to the 64 bit get/set time methods. The device appears to use a 64 bit nanoseconds register, and so with this patch the driver should be ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 843293e1bb7d8cccc3b4a528db9eef710113fb6a Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:01 2015 +0200 ptp: fm10k: convert to the 64 bit get/set time methods. The device appears to use a 64 bit nanoseconds register, and so with this patch the driver should be ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07c74eb775dd4a58c331529973111166f3683541 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:12:00 2015 +0200 ptp: e1000e: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d28fdf0fe3dc73df8f0e41424ec0bba0660baabe Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:59 2015 +0200 ptp: gianfar: convert to the 64 bit get/set time methods. The device features a 64 bit nanoseconds register, and so with this patch the driver is ready for the year 2038. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 241926bcb4546187363d6140a610e4bb7d12d85e Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:58 2015 +0200 ptp: fec: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f578b41812069e99504f0c2c54412e7ede08532b Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:57 2015 +0200 ptp: tg3: convert to the 64 bit get/set time methods. The device appears to use a 64 bit nanoseconds register, and so with this patch the driver should be ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d45186b4772512e6db9f1494735c983518e3a09 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:56 2015 +0200 ptp: bnx2x: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Sony Chacko <sony.chacko@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15dd95ffe424e336b2a2bc7a01603c0e1314901c Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:55 2015 +0200 ptp: xgbe: convert to the 64 bit get/set time methods. This driver's clock is implemented using a timecounter, and so with this patch the driver is ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20ca7fb6e4d6e8c44442ac0b82c24e74de2bad02 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:54 2015 +0200 ptp: blackfin: convert to the 64 bit get/set time methods. The device uses 64 bit nanoseconds register, and so with this patch the driver is ready for the year 2038. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7d38f5bd7bece539a6cbb59fc8121f29f63fbdb Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:53 2015 +0200 ptp: use the 64 bit get/set time methods for the posix clock. This patch changes the posix clock code to prefer the new methods whenever they are implemented by the PHC drivers. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e13cfcb03eeccb97d3f8deb393304c6190b61da9 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:52 2015 +0200 ptp: use the 64 bit gettime method for the SYS_OFFSET ioctl. This patch changes the code to use the new method whenever implemented by the PHC driver. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92f1719407b90475b3be0b7b9c983dec2ff8351e Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Sun Mar 29 23:11:51 2015 +0200 ptp: introduce get/set time methods with explicit 64 bit seconds. Converting the PHC drivers over to the new methods is one step along the way to making them ready for 2038. Once all the drivers are up to date, then the old methods will be removed. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 851c9f38e4199adb612366f8e202036d624d5de2 Merge: e963741 c76cbbc Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Mar 31 12:00:32 2015 -0400 Merge remote-tracking branch 'jens/for-4.1/core' into dm/for-next commit 3071efa466b30636bf958f3d13bc808e03105cd8 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:12:26 2015 +0200 clocksource/drivers/sun5i: Add clock notifiers The parent clock of the sun5i timer is the AHB clock, which rate might change because of other devices requirements. This is for example the case on the Allwinner A31, where the DMA controller needs a minimum rate higher than the default, that is enforced after the timer driver has probed. Add clock notifiers to make sure we reflect the clock rate changes in the timer rates. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427796746-373-5-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4a59058f0b09682200c04b1db236b4a3b92128d7 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:12:25 2015 +0200 clocksource/drivers/sun5i: Refactor the current code Refactor the code in order to remove the global variables and split the clock source and clock events registration in order to ease the addition of the clock notifiers needed to handle the parent clock rate changes. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427796746-373-4-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a45860d0ba433c217d359fa2cc2a4984d18ce263 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:12:24 2015 +0200 clocksource/drivers/sun5i: Use of_io_request_and_map() of_iomap doesn't do a request_mem_region() on the memory area defined in the DT it maps. Switch to of_io_request_and_map() to make sure we're the only users. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427796746-373-3-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5673bc5a863bd4391eab5bb85277f0f1dd1dca50 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:12:23 2015 +0200 clocksource/drivers/sun5i: Switch to request_irq() The current code uses setup_irq(), while it could perfectly use the much simpler request_irq(). Switch to that. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427796746-373-2-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 566e6dfad580a55084c29fe3e887c7273b16fc6a Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Mar 31 12:12:22 2015 +0200 clocksource/drivers/arm_arch_timer: Rename 'arch_timer_probed()' to 'arch_timer_needs_probing()' to reflect behaviour The arch_timer_probed() function returns whether the given time doesn't need to be probed. This can be the case when the timer has been probed already, but also when it has no corresponding enabled node in DT. Rename the function to arch_timer_needs_probing() and invert its return value to better reflect the function's purpose and behaviour. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427796746-373-1-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9637415a92cf25ad800b7fdeddcd30cce7b44ab Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Mar 30 13:39:09 2015 -0400 block: fix blk_stack_limits() regression due to lcm() change Linux 3.19 commit 69c953c ("lib/lcm.c: lcm(n,0)=lcm(0,n) is 0, not n") caused blk_stack_limits() to not properly stack queue_limits for stacked devices (e.g. DM). Fix this regression by establishing lcm_not_zero() and switching blk_stack_limits() over to using it. DM uses blk_set_stacking_limits() to establish the initial top-level queue_limits that are then built up based on underlying devices' limits using blk_stack_limits(). In the case of optimal_io_size (io_opt) blk_set_stacking_limits() establishes a default value of 0. With commit 69c953c, lcm(0, n) is no longer n, which compromises proper stacking of the underlying devices' io_opt. Test: $ modprobe scsi_debug dev_size_mb=10 num_tgts=1 opt_blks=1536 $ cat /sys/block/sde/queue/optimal_io_size 786432 $ dmsetup create node --table "0 100 linear /dev/sde 0" Before this fix: $ cat /sys/block/dm-5/queue/optimal_io_size 0 After this fix: $ cat /sys/block/dm-5/queue/optimal_io_size 786432 Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.19+ Acked-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7676fa70feb2f3bcdd4b854a553a57d8ef8505aa Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Fri Mar 27 12:14:36 2015 +0000 ARM64 / ACPI: make acpi_map_gic_cpu_interface() as void function Since the only caller of acpi_parse_gic_cpu_interface() doesn't need the return value, make it have a void return type to avoid introducing subtle bugs, and update the comments of the function accordingly. Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ec81ad4eca9736bb73d4458fb7d8a5ccaf3e908e Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Fri Mar 27 12:14:35 2015 +0000 ARM64 / ACPI: Ignore the return error value of acpi_map_gic_cpu_interface() MADT scanning will stop when it gets an error from the handler, acpi_map_gic_cpu_interface(), on arm64. However, we need to find all of the enabled CPUs so that SMP initialization can work properly. So, if an error occurs in this case, ignore it for now so that we can find all of the enabled CPUs. Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit cc3979b54d5f1d5b5059b404892888c304d28080 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Mar 31 00:46:00 2015 +0100 arm64: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3a82002c7cbb166b891de515b5463aec41035c75 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Mar 31 15:34:51 2015 +0200 MAINTAINERS: change the Atmel audio alsa driver entry I take over the the maintainship of Atmel alsa drivers from Voice. Thanks for your work! Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e03de74516ec434aea77cfcf276df9c87fc7285a Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Mar 3 13:28:18 2015 +0100 mmc: omap_hsmmc: use generic slot-gpio isr to manage card detect pin Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 11227d12397c6dd5c578e27210aa14e3fa44f11c Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Mar 3 13:28:17 2015 +0100 mmc: omap_hsmmc: simplify card/cover detect isr strip the card dectet logic from cover detect isr and vice versa the generic mmc_gpio_cd_irqt isr, uses 200ms on removal/insertion, hence that should be fine here as well Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b793f658b194edfe5e1d86aaeace01a7b03c68f9 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Mar 11 15:15:14 2015 -0700 mmc: dw_mmc: Don't try to enable the CD until we're sure we're not deferring If dw_mci_init_slot() returns that we got a probe deferral then it may leave slot->mmc as NULL. That will cause dw_mci_enable_cd() to crash when it calls mmc_gpio_get_cd(). Fix this by moving the call of dw_mci_enable_cd() until we're sure that we're good. Note that if we have more than one slot and one defers (but the others don't) things won't work so well. ...but that's not a new thing and everyone has already agreed that multislot support ought to be removed from dw_mmc eventually anyway since it is unused, untested, and you can see several bugs like this by inspecting the code. Fixes: bcafaf5470f0 ("mmc: dw_mmc: Only enable CD after setup and only if needed") Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5c935165da79644df90a647ecc140fb77b40dee5 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Mar 9 16:18:21 2015 -0700 mmc: dw_mmc: Add a timeout for sending CMD11 In the Designware databook's description of the "Voltage Switch Normal Scenario" it instructs us to set a timer and fail the voltage change if we don't see the voltage change interrupt within 2ms. Let's implement that. Without implementing this I have often been able to reproduce a hang while trying to send CMD11 on an rk3288-based board while constantly ejecting and inserting UHS cards. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 488b8d63a63400e2839062a99358815ca21a2860 Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Thu Mar 5 19:45:21 2015 +0900 mmc: dw_mmc: enable card read threshold when mode is HS400 Enable card-read-threshold, when eMMC mode is HS400. Refer to f1d2736c8156 (mmc: dw_mmc: control card read threshold) Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9250aea76bfcbf4c2a7868e5566281bf2bb7af27 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Mar 27 12:15:15 2015 +0100 mmc: core: Enable runtime PM management of host devices Currently those host drivers which have deployed runtime PM, deals with the runtime PM reference counting entirely by themselves. Since host drivers don't know when the core will send the next request through some of the host_ops callbacks, they need to handle runtime PM get/put between each an every request. In quite many cases this has some negative effects, since it leads to a high frequency of scheduled runtime PM suspend operations. That due to the runtime PM reference count will normally reach zero in-between every request. We can decrease that frequency, by enabling the core to deal with runtime PM reference counting of the host device. Since the core often knows that it will send a seqeunce of requests, it makes sense for it to keep a runtime PM reference count during these periods. More exactly, let's increase the runtime PM reference count by invoking pm_runtime_get_sync() from __mmc_claim_host(). Restore that action by invoking pm_runtime_mark_last_busy() and pm_runtime_put_autosuspend() in mmc_release_host(). In this way a runtime PM reference count will be kept during the complete cycle of a claim -> release host. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Konstantin Dorfman <kdorfman@xxxxxxxxxxxxxx> commit 804cb54cbb3ddac58218e830d64816617bdb6da8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Mar 27 11:07:27 2015 +0100 iommu/tegra: smmu: Compute PFN mask at runtime The SMMU on Tegra30 and Tegra114 supports addressing up to 4 GiB of physical memory. On Tegra124 the addressable physical memory was extended to 16 GiB. The page frame number stored in PTEs therefore requires 20 or 22 bits, depending on SoC generation. In order to cope with this, compute the proper value at runtime. Reported-by: Joseph Lo <josephl@xxxxxxxxxx> Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 836a8ac9fe60fb112e830464868791bf7470e7b6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Mar 27 11:07:26 2015 +0100 iommu/tegra: gart: Set aperture at domain initialization time The aperture of the domain should always be available, otherwise drivers need to attach first before they can use the aperture geometry. Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 471d9144b4ec2a2cbf497af7e186c1fe89b5150e Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Mar 27 11:07:25 2015 +0100 iommu/tegra: Setup aperture Each address space in the Tegra SMMU provides 4 GiB worth of addresses. Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit eecacf73a40f37e74dc9d0453283c79b91f34d51 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Mar 31 16:49:38 2015 +0300 spi: pxa2xx: missing break in pxa2xx_ssp_get_clk_div() We refactored this code but accidentally left out a break statement so QUARK_X1000_SSP isn't handled correctly. Fixes: 025ffe88ee60 ('spi: pxa2xx: shift clk_div in one place') Tested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d654788e98f74f2df8dfc6079fa314938f739486 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:35:44 2015 -0400 xprtrdma: Make rpcrdma_{un}map_one() into inline functions These functions are called in a loop for each page transferred via RDMA READ or WRITE. Extract loop invariants and inline them to reduce CPU overhead. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit e46ac34c3c34e408435656a5fed605c4c787d081 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:35:35 2015 -0400 xprtrdma: Handle non-SEND completions via a callout Allow each memory registration mode to plug in a callout that handles the completion of a memory registration operation. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 3968cb58501bf526eed1441f4ef237028aa9cd2d Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:35:26 2015 -0400 xprtrdma: Add "open" memreg op The open op determines the size of various transport data structures based on device capabilities and memory registration mode. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 4561f347d49c645fd81d1f47b0fb460e8a6e4587 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:35:17 2015 -0400 xprtrdma: Add "destroy MRs" memreg op Memory Region objects associated with a transport instance are destroyed before the instance is shutdown and destroyed. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 31a701a94751509bb72e13d851f18ddcf22ff722 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:35:07 2015 -0400 xprtrdma: Add "reset MRs" memreg op This method is invoked when a transport instance is about to be reconnected. Each Memory Region object is reset to its initial state. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 91e70e70e47b3355bb0a8b3b196c93897dcdb440 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:58 2015 -0400 xprtrdma: Add "init MRs" memreg op This method is used when setting up a new transport instance to create a pool of Memory Region objects that will be used to register memory during operation. Memory Regions are not needed for "physical" registration, since ->prepare and ->release are no-ops for that mode. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 6814baead86b5d44096ddfbb6f944163578e68c3 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:48 2015 -0400 xprtrdma: Add a "deregister_external" op for each memreg mode There is very little common processing among the different external memory deregistration functions. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 9c1b4d775f2d7dd5bb806e3de2f3e1244a7cbd16 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:39 2015 -0400 xprtrdma: Add a "register_external" op for each memreg mode There is very little common processing among the different external memory registration functions. Have rpcrdma_create_chunks() call the registration method directly. This removes a stack frame and a switch statement from the external registration path. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 1c9351ee0e346ec1b3c700a4bc8f881923e1808e Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:30 2015 -0400 xprtrdma: Add a "max_payload" op for each memreg mode The max_payload computation is generalized to ensure that the payload maximum is the lesser of RPC_MAX_DATA_SEGS and the number of data segments that can be transmitted in an inline buffer. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit a0ce85f595c22d28bf03c3fae8545b3077b7be1b Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:21 2015 -0400 xprtrdma: Add vector of ops for each memory registration strategy Instead of employing switch() statements, let's use the typical Linux kernel idiom for handling behavioral variation: virtual functions. Start by defining a vector of operations for each supported memory registration mode, and by adding a source file for each mode. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 41f97028969e4c88efa5fcf58bc6125210413a6d Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:12 2015 -0400 xprtrdma: Prevent infinite loop in rpcrdma_ep_create() If a provider advertizes a zero max_fast_reg_page_list_len, FRWR depth detection loops forever. Instead of just failing the mount, try other memory registration modes. Fixes: 0fc6c4e7bb28 ("xprtrdma: mind the device's max fast . . .") Reported-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 805272406a980cab0e11742e5423ba97b6f38836 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:34:02 2015 -0400 xprtrdma: Byte-align FRWR registration The RPC/RDMA transport's FRWR registration logic registers whole pages. This means areas in the first and last pages that are not involved in the RDMA I/O are needlessly exposed to the server. Buffered I/O is typically page-aligned, so not a problem there. But for direct I/O, which can be byte-aligned, and for reply chunks, which are nearly always smaller than a page, the transport could expose memory outside the I/O buffer. FRWR allows byte-aligned memory registration, so let's use it as it was intended. Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit e23779451ee05e824fedbb68bd17fc5c77e40166 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:33:53 2015 -0400 xprtrdma: Perform a full marshal on retransmit Commit 6ab59945f292 ("xprtrdma: Update rkeys after transport reconnect" added logic in the ->send_request path to update the chunk list when an RPC/RDMA request is retransmitted. Note that rpc_xdr_encode() resets and re-encodes the entire RPC send buffer for each retransmit of an RPC. The RPC send buffer is not preserved from the previous transmission of an RPC. Revert 6ab59945f292, and instead, just force each request to be fully marshaled every time through ->send_request. This should preserve the fix from 6ab59945f292, while also performing pullup during retransmits. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Acked-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 0dd39cae26f3990789b4a558f9abafe59adc6fc1 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:33:43 2015 -0400 xprtrdma: Display IPv6 addresses and port numbers correctly Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx> Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx> Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit dbbc14775ae395a50d91f22904670ca4c9297542 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Mar 30 14:33:33 2015 -0400 SUNRPC: Introduce missing well-known netids Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit b61e2e62aa2dee89d6e71aa90a9341607c4a7a97 Merge: e42391c 63979b8 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Mar 31 15:38:02 2015 +0200 Merge branch 'for-joerg/arm-smmu/updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu commit 89be34a1ced886880a3219f9d2ba2192dc738ef2 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:19 2015 +0100 iommu: Remove domain_init and domain_free iommu_ops All drivers have been converted to the new domain_alloc and domain_free iommu-ops. So remove the old ones and get rid of iommu_domain->priv too, as this is no longer needed when the struct iommu_domain is embedded in the private structures of the iommu drivers. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 8d4bfe40bd001c49caa9079541ff25522e7ed55d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:18 2015 +0100 iommu/fsl: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit bcd516a32416aadd4f1ac40540407aa3b4ffd222 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:17 2015 +0100 iommu/rockchip: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5914c5fdde926604f65b249b662b26e3bc2c5923 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:16 2015 +0100 iommu/ipmmu-vmsa: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit dc8fb227ad9029f071c7de0a97b12a810a376364 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:15 2015 +0100 iommu/shmobile: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 3e116c3cd2a99fb9628fe3169b454482a7f07047 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:14 2015 +0100 iommu/msm: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit b5cbb386ae312b2028cee61c96f65581ac0d44ec Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:13 2015 +0100 iommu/tegra-gart: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d5f1a81ccb8947828f60b50d8e9ed7617259a9ec Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:12 2015 +0100 iommu/tegra-smmu: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e1fd1eaa3323b3ea68f2ad3116b8cbe1f34cb2a2 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:11 2015 +0100 iommu/exynos: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1d672638fca24db2a66101c2109d94dbee084e96 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:10 2015 +0100 iommu/arm-smmu: Make use of domain_alloc and domain_free Implement domain_alloc and domain_free iommu-ops as a replacement for domain_init/domain_destroy. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 8cf851e0945251766e8bf1f966a9aef80663ed63 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:09 2015 +0100 iommu/omap: Make use of domain_alloc and domain_free Implement the new domain_alloc and domain_free call-backs and remove the old domain_init/destroy ones. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 00a77deb0f2f2c35cfeba183df98f92487d2e88b Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:08 2015 +0100 iommu/vt-d: Make use of domain_alloc and domain_free Get rid of domain_init and domain_destroy and implement domain_alloc/domain_free instead. Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 3f4b87b959eab362b89fce6ceb9d1badd102e5ea Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:07 2015 +0100 iommu/amd: Make use of domain_alloc and domain_free Implement the new iommu-ops function pointers and remove the obsolete domain_init and domain_destroy functions. Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a10315e5efb86c689142a7e7927125889f3682e6 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:06 2015 +0100 iommu: Only allow iommu_map/unmap for paging domains Check for the new __IOMMU_DOMAIN_PAGING flag before calling into the iommu drivers ->map and ->unmap call-backs. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 8539c7c16b970258e14761d8a1f7d10fe798031a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:05 2015 +0100 iommu: Introduce iommu domain types This allows to handle domains differently based on their type in the future. An IOMMU driver can implement certain optimizations for DMA-API domains for example. The domain types can be extended later and some of the existing domain attributes can be migrated to become domain flags. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 938c470976192590b4adc921b2e10fa31237eddc Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Mar 26 13:43:04 2015 +0100 iommu: Introduce domain_alloc and domain_free iommu_ops These new call-backs defer the allocation and destruction of 'struct iommu_domain' to the iommu driver. This allows drivers to embed this struct into their private domain structures and to get rid of the domain_init and domain_destroy call-backs when all drivers have been converted. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1c6ae56c5d26d22e8ba9ea6d3a0afc8b22b4e207 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sun Mar 29 21:47:16 2015 +0200 ASoC: fsi: fix license specification According to the file header only GPL v2 applies to it. Fix the MODULE_LICENSE parameter accordingly. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 555fa17b2b8cc865c203de263443041eb75bc7f7 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:11:46 2015 +0200 crypto: sha-mb - mark Multi buffer SHA1 helper cipher Flag all Multi buffer SHA1 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f52bbf55d1957b9ab279998dd71ed1c89b36e3a7 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:10:58 2015 +0200 crypto: mcryptd - process CRYPTO_ALG_INTERNAL The mcryptd is used as a wrapper around internal ciphers. Therefore, the mcryptd must process the internal cipher by marking mcryptd as internal if the underlying cipher is an internal cipher. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cd98411c36b596f5bd64e7e670c13252ad0852c7 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:10:27 2015 +0200 crypto: arm64/aes - mark 64 bit ARMv8 AES helper ciphers Flag all 64 bit ARMv8 AES helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 94a7e5e8d86459da85ce90366346207e99fc052b Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:09:53 2015 +0200 crypto: aes-ce - mark ARMv8 AES helper ciphers Flag all ARMv8 AES helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 76aa9d5f2c129dab1c5f3f578fdae0f60cc0dff8 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:09:27 2015 +0200 crypto: aesbs - mark NEON bit sliced AES helper ciphers Flag all NEON bit sliced AES helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4dda66f62e01e832e09d6d1fbd9c9070d57b049e Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:08:53 2015 +0200 crypto: twofish_avx - mark Twofish AVX helper ciphers Flag all Twofish AVX helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 748be1f1bfddfe83d4b31c17191b082e96c86867 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:07:45 2015 +0200 crypto: serpent_sse2 - mark Serpent SSE2 helper ciphers Flag all Serpent SSE2 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 65aed5394120953ccb6e307d75f9abd17c15740e Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:07:05 2015 +0200 crypto: serpent_avx - mark Serpent AVX helper ciphers Flag all Serpent AVX helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f82419acd8ad6b045a040ba8f5f0289972189826 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:06:13 2015 +0200 crypto: serpent_avx2 - mark Serpent AVX2 helper ciphers Flag all Serpent AVX2 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e69b8a46ca0ec38ef419071b00574bc053664e18 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:05:35 2015 +0200 crypto: cast6_avx - mark CAST6 helper ciphers Flag all CAST6 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7d2c31dd70ed49210847ae8cc00f14064292b349 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:04:49 2015 +0200 crypto: camellia_aesni_avx - mark AVX Camellia helper ciphers Flag all AVX Camellia helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 680574e8b3b2f62e507cdd9ca35c77cad0344bb2 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:03:57 2015 +0200 crypto: cast5_avx - mark CAST5 helper ciphers Flag all CAST5 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a62356a978180eb3ccd2bcac49764dfd628c72f8 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:03:17 2015 +0200 crypto: camellia_aesni_avx2 - mark AES-NI Camellia helper ciphers Flag all AES-NI Camellia helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4b3f4e37ec9b0d95255e1b5b445ad063c7341f67 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:02:36 2015 +0200 crypto: ghash-ce - mark GHASH ARMv8 vmull.p64 helper ciphers Flag all GHASH ARMv8 vmull.p64 helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6a9b52b7fa1a376c1749cf441d1aeb8572d3b691 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 22:01:49 2015 +0200 crypto: clmulni - mark ghash clmulni helper ciphers Flag all ash clmulni helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit eabdc320ece583e16e581306c720e5f1ff67c3bb Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 21:58:17 2015 +0200 crypto: aesni - mark AES-NI helper ciphers Flag all AES-NI helper ciphers as internal ciphers to prevent them from being called by normal users. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b0cda2ba18a50abf0d7b248e3d588260e0194ab2 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 21:57:42 2015 +0200 crypto: proc - identify internal ciphers With ciphers that now cannot be accessed via the kernel crypto API, callers shall be able to identify the ciphers that are not callable. The /proc/crypto file is added a boolean field identifying that such internal ciphers. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 466a7b9e3e7833a0cc21a69a0bea9d50daf0ca10 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 21:57:06 2015 +0200 crypto: cryptd - process CRYPTO_ALG_INTERNAL The cryptd is used as a wrapper around internal ciphers. Therefore, the cryptd must process the internal cipher by marking cryptd as internal if the underlying cipher is an internal cipher. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 425a882991d9da8bfd2fe0fc495773fab5ac9988 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 21:56:31 2015 +0200 crypto: testmgr - use CRYPTO_ALG_INTERNAL Allocate the ciphers irrespectively if they are marked as internal or not. As all ciphers, including the internal ciphers will be processed by the testmgr, it needs to be able to allocate those ciphers. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 06ca7f68d4c861d549a8deb161e1527065a80bb1 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Mar 30 21:55:52 2015 +0200 crypto: api - prevent helper ciphers from being used Several hardware related cipher implementations are implemented as follows: a "helper" cipher implementation is registered with the kernel crypto API. Such helper ciphers are never intended to be called by normal users. In some cases, calling them via the normal crypto API may even cause failures including kernel crashes. In a normal case, the "wrapping" ciphers that use the helpers ensure that these helpers are invoked such that they cannot cause any calamity. Considering the AF_ALG user space interface, unprivileged users can call all ciphers registered with the crypto API, including these helper ciphers that are not intended to be called directly. That means, with AF_ALG user space may invoke these helper ciphers and may cause undefined states or side effects. To avoid any potential side effects with such helpers, the patch prevents the helpers to be called directly. A new cipher type flag is added: CRYPTO_ALG_INTERNAL. This flag shall be used to mark helper ciphers. These ciphers can only be used if the caller invoke the cipher with CRYPTO_ALG_INTERNAL in the type and mask field. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a3ed8dae6e3db479ca275883ba7fe994170b0ae6 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Mar 18 13:54:31 2015 +0100 KVM: s390: enable more features that need no hypervisor changes After some review about what these facilities do, the following facilities will work under KVM and can, therefore, be reported to the guest if the cpu model and the host cpu provide this bit. There are plans underway to make the whole bit thing more readable, but its not yet finished. So here are some last bit changes and we enhance the KVM mask with: 9 The sense-running-status facility is installed in the z/Architecture architectural mode. ---> handled by SIE or KVM 10 The conditional-SSKE facility is installed in the z/Architecture architectural mode. ---> handled by SIE. KVM will retry SIE 13 The IPTE-range facility is installed in the z/Architecture architectural mode. ---> handled by SIE. KVM will retry SIE 36 The enhanced-monitor facility is installed in the z/Architecture architectural mode. ---> handled by SIE 47 The CMPSC-enhancement facility is installed in the z/Architecture architectural mode. ---> handled by SIE 48 The decimal-floating-point zoned-conversion facility is installed in the z/Architecture architectural mode. ---> handled by SIE 49 The execution-hint, load-and-trap, miscellaneous- instruction-extensions and processor-assist ---> handled by SIE 51 The local-TLB-clearing facility is installed in the z/Architecture architectural mode. ---> handled by SIE 52 The interlocked-access facility 2 is installed. ---> handled by SIE 53 The load/store-on-condition facility 2 and load-and- zero-rightmost-byte facility are installed in the z/Architecture architectural mode. ---> handled by SIE 57 The message-security-assist-extension-5 facility is installed in the z/Architecture architectural mode. ---> handled by SIE 66 The reset-reference-bits-multiple facility is installed in the z/Architecture architectural mode. ---> handled by SIE. KVM will retry SIE 80 The decimal-floating-point packed-conversion facility is installed in the z/Architecture architectural mode. ---> handled by SIE Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Tested-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 2ba459685204af53b034d269d5cdb3059d4b471e Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 13:12:32 2015 +0100 KVM: s390: store the breaking-event address on pgm interrupts If the PER-3 facility is installed, the breaking-event address is to be stored in the low core. There is no facility bit for PER-3 in stfl(e) and Linux always uses the value at address 272 no matter if PER-3 is available or not. We can't hide its existence from the guest. All program interrupts injected via the SIE automatically store this information if the PER-3 facility is available in the hypervisor. Also the itdb contains the address automatically. As there is no switch to turn this mechanism off, let's simply make it consistent and also store the breaking event address in case of manual program interrupt injection. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 6fd63087d87329a2a84f28d0adec875fd9efb782 Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Date: Mon Mar 30 10:49:15 2015 -0700 spi: fsl-dspi: Fix clock rate scale values Previous algorithm had an outer loop with the values {2,3,5,7} and an inner loop with {2,4,6,8,16,32,...,32768}, and would pick the first value over the required scaling value (where the total scale was the two numbers multiplied). Since the inner loop went up to 32768 it would always pick a value of 2 for PBR and a much higher than necessary value for BR. The desired scale factor was being divided by two I believe to compensate for the much higher scale factors (the divide by two not specified in the reference manual). Updated to check all values and find the smallest scale factor possible without going over the desired clock rate. Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5e501ed7253b369a8a9ec553c35238a3d6808f28 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Dec 2 20:22:49 2014 +0100 drm/imx: imx-ldb: allow to determine bus format from the connected panel This patch makes the fsl,data-width and fsl,data-mapping device tree properties optional if a panel is connected to the ldb output port via the of_graph bindings. The data mapping is determined from the display_info.bus_format field provided by the panel. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 3973aff06585309f6215c66ed9d11d74656a9fa6 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Nov 26 13:59:11 2014 +0100 drm/imx: imx-ldb: reset display clock input when disabling LVDS The LDB driver changes the attached display interface's input clock mux to the LDB_DI clock reference. Change it back again when disabling the LVDS display. Changing back to the PLL5 for example allows to configure the same DI for HDMI output later. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 751e2676ee9272a0fbde6566afde33c1106d7da1 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Mar 6 14:54:39 2014 +0100 drm/imx: imx-ldb: add drm_panel support This patch allows to optionally attach the lvds-channel to a panel supported by a drm_panel driver using of-graph bindings, instead of supplying the modes via display-timings in the device tree. This depends on of_graph_get_port_by_id and uses the OF graph to link the optional DRM panel to the LDB lvds-channel. The output port number is 1 on devices without the 4-port input multiplexer (i.MX5) and 4 on devices with the mux (i.MX6). Before: ldb { ... lvds-channel@0 { ... display-timings { native-timing = <&timing1>; timing1: etm0700g0dh6 { hactive = <800>; vactive = <480>; clock-frequency = <33260000>; hsync-len = <128>; hback-porch = <88>; hfront-porch = <40>; vsync-len = <2>; vback-porch = <33>; vfront-porch = <10>; hsync-active = <0>; vsync-active = <0>; ... }; }; ... }; }; After: ldb { ... lvds-channel@0 { ... port@4 { reg = <4>; lvds_out: endpoint { remote_endpoint = <&panel_in>; }; }; }; }; panel { compatible = "edt,etm0700g0dh6", "simple-panel"; ... port { panel_in: endpoint { remote-endpoint = <&lvds_out>; }; }; }; [Fixed build error due to missing select on DRM_PANEL --rmk] Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit be37a9900b0470fc424fe3382a414eabf759a8ac Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 23 12:32:03 2015 +0000 MIPS: Malta: malta-time: Ensure GIC counter is running Start the GIC counter before we try to determine its frequency. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9596/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7d9cd1f5189abaa9553ddcb966b749c65b669d5a Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 23 12:32:02 2015 +0000 CLOCKSOURCE: mips-gic-timer: Ensure GIC counter is running Start the GIC counter after configuring the clocksource since there are no guarantees the counter will be running after a CPU reset. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9595/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8fa4b93067b70a87785279a7c60158e58e4f2f20 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 23 12:32:01 2015 +0000 IRQCHIP: irq-mips-gic: Add new functions to start/stop the GIC counter We add new functions to start and stop the GIC counter since there are no guarantees the counter will be running after a CPU reset. The GIC counter is stopped by setting the 29th bit on the GIC Config register and it is started by clearing that bit. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9594/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c2d7ef51d731fd34ec2c5db0d9dc7501ad069484 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:14 2015 +0000 ttyFDC: Implement KGDB IO operations. Implement KGDB IO operations for MIPS Fast Debug Channel (FDC). This can be enabled via Kconfig, which also allows the channel number to be chosen. The magic sysrq hack is implemented in the TTY driver, detecting just ^C for the KGDB channel, and ^O followed by a letter for the FDC console channel. The KGDB operations are reasonably efficient thanks to the flush callback, with a 4 byte buffer being used in both directions to allow up to 4 bytes to be encoded per FDC word. Reading of data for KGDB will discard any data received on other channels, which clearly isn't ideal, but given that there is a single FIFO shared between channels we can't do much better. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kgdb-bugreport@xxxxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9147/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e934945db7625716f9cc469e31fc5da8666c8024 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:13 2015 +0000 MIPS, ttyFDC: Add early FDC console support Add support for early console of MIPS Fast Debug Channel (FDC) on channel 1 with a call very early from the MIPS setup_arch(). Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9145/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4cebec609aea6dff23e67a42b6516d852fa87d07 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:12 2015 +0000 TTY: Add MIPS EJTAG Fast Debug Channel TTY driver Add TTY driver and consoles for the MIPS EJTAG Fast Debug Channel (FDC), which is found on the per-CPU MIPS Common Device Mapped Memory (CDMM) bus. The FDC is a per-CPU device which is used to communicate with an EJTAG probe. RX and TX FIFOs exist, containing 32-bits of data and 4-bit channel numbers. 16 general data streams are implemented on this for TTY and console use by encoding up to 4 bytes on each 32-bit FDC word. The TTY devices are named e.g. /dev/ttyFDC3c2 for channel 2 of the FDC attached to logical CPU 3. These can be used for getting the kernel log, a login prompt, or as a GDB remote transport, all over EJTAG and without needing a serial port. It can have an interrupt to notify of when incoming data is available in the RX FIFO or when the TX FIFO is no longer full. The detection of this interrupt occurs in architecture / platform code, but it may be shared with the timer and/or performance counter interrupt. Due to the per-CPU nature of the hardware, all outgoing TTY data is written out from a kthread which is pinned to the appropriate CPU. The console is not bound to a specific CPU, so output will appear on the chosen channel on whichever CPU the code is executing on. Enable with e.g. console=fdc1 in kernel arguments. /dev/console is bound to the same channel on the boot CPU's FDC if it exists. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9146/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e38df288a9db56c1bdb60aa4fb2354cde57fdc5f Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:11 2015 +0000 MIPS: idle: Workaround wait + FDC problems On certain cores (namely proAptiv and P5600) incoming data via a Fast Debug Channel (FDC) while the core is blocked on a wait instruction will cause the wait not to wake up even when another interrupt is received. This makes an idle target stop as soon as you send FDC data to it, until the debug probe interrupts it and restarts the wait instruction. This is worked around by avoiding using r4k_wait on these cores if CONFIG_MIPS_EJTAG_FDC_TTY is enabled (which would imply the user intends to use the FDC). [ralf@xxxxxxxxxxxxxx: Fix conflict.] Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9144/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 602e8a345a916e91256497e13575d0690cd1565f Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:10 2015 +0000 MIPS: Malta: Implement get_c0_fdc_int() Implement the weak get_c0_fdc_int() function for Malta. The Fast Debug Channel (FDC) interrupt is obtained mainly depending on whether a GIC is present. Vectored external interrupt mode isn't yet supported. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9143/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6429e2b6fc05d8640bb94f5b67c047e936707f31 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:09 2015 +0000 IRQCHIP: mips-gic: Add function for retrieving FDC IRQ Add a function to the MIPS GIC driver for retrieving the Fast Debug Channel (FDC) interrupt number, similar to the existing ones for the timer and perf counter interrupts. This will be used by platform implementations of get_c0_fdc_int() if a GIC is present. A workaround exists for interAptiv and proAptiv which claim to be able to route the FDC interrupt but don't seem to be able to in practice (at least on Malta). [ralf@xxxxxxxxxxxxxx: Fix conflict.] Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9142/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b720fd8b66151a8bdf6ec1be32c338d73592ff15 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:08 2015 +0000 irqchip: mips-gic: Don't treat FDC IRQ as percpu devid Treat the Fast Debug Channel (FDC) interrupt the same as the timer and performance counter interrupts. Like them, the FDC IRQ is also per-VPE, and also doesn't use a per-CPU device ID yet. Per-CPU device IDs don't seem to work with IRQF_SHARED which is needed for compatibility with cores which don't route the FDC IRQ through the GIC. For hardware which routes FDC IRQs through the GIC this is something that could be added later. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9141/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8f7ff027965619b17488141a5f39d14c850696ab Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:07 2015 +0000 MIPS: Read CPU IRQ line that FDC to routed to Read the CPU IRQ line reportedly used for the Fast Debug Channel (FDC) interrupt from the IntCtl register and store it in cp0_fdc_irq where platform implementations of the new weak platform function get_c0_fdc_int() can refer to it. [ralf@xxxxxxxxxxxxxx: Fixed conflict.] Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9140/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9323f84f22c0e1b84d940062f0b756a49956f8d5 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jan 29 11:14:06 2015 +0000 MIPS: Add architectural FDC IRQ fields Add architectural field definitions relating to the Fast Debug Channel (FDC) interrupt, namely the pending bit in Cause and the field in IntCtl to specify which CPU IRQ line the FDC interrupt is routed to. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9139/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 296b7c68c0b675b2a9fd44290b8d18719afc9abf Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Feb 2 11:45:10 2015 +0000 MIPS: Malta: Implement mips_cdmm_phys_base() Implement mips_cdmm_phys_base() for Malta, returning the physical base address 0x1fc10000 which is "typically unused". This allows the Common Device Memory Map (CDMM) region to be mapped, and devices in that region (such as the Fast Debug Channel (FDC) hardware for communication over EJTAG) to be discovered. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9177/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8286ae03308c6f97f346f9f8cb9174b04969add5 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Mar 25 15:39:50 2015 +0000 MIPS: Add CDMM bus support Add MIPS Common Device Memory Map (CDMM) support in the form of a bus in the standard Linux device model. Each device attached via CDMM is discoverable via an 8-bit type identifier and may contain a number of blocks of memory mapped registers in the CDMM region. IRQs are expected to be handled separately. Due to the per-cpu (per-VPE for MT cores) nature of the CDMM devices, all the driver callbacks take place from workqueues which are run on the right CPU for the device in question, so that the driver doesn't need to be as concerned about which CPU it is running on. Callbacks also exist for when CPUs are taken offline, so that any per-CPU resources used by the driver can be disabled so they don't get forcefully migrated. CDMM devices are created as children of the CPU device they are attached to. Any existing CDMM configuration by the bootloader will be inherited, however platforms wishing to enable CDMM should implement the weak mips_cdmm_phys_base() function (see asm/cdmm.h) so that the bus driver knows where it should put the CDMM region in the physical address space if the bootloader hasn't already enabled it. A mips_cdmm_early_probe() function is also provided to allow early boot or particularly low level code to set up the CDMM region and probe for a specific device type, for example early console or KGDB IO drivers for the EJTAG Fast Debug Channel (FDC) CDMM device. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9599/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9b3274bd585c6dff7848119e837bd5ce6c9173e2 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Feb 2 11:45:08 2015 +0000 MIPS: Add arch CDMM definitions and probing Add architectural definitions and probing for the MIPS Common Device Memory Map (CDMM) region. When supported and enabled at a particular physical address, this region allows some number of per-CPU devices to be discovered and controlled via MMIO. A bit exists in Config3 to determine whether the feature is present, and a CDMMBase CP0 register allows the region to be enabled at a particular physical address. [ralf@xxxxxxxxxxxxxx: Sort conflict with other patches.] Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9178/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4a91d8fb61e2b5218acc7a46d5dd28ff1f44f927 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:55 2015 +0000 MIPS: Allow shared IRQ for timer & perf counter Before release 2 of the architecture there weren't separate interrupt pending bits for the local CPU interrupts (timer & perf counter overflow), so when they were connected to the same interrupt line the timer handler had to call the performance counter handler before knowing whether a timer interrupt was actually pending. Now another CPU local interrupt, for the Fast Debug Channel (FDC), can also be routed to an arbitrary interrupt line. It isn't scalable to keep adding cross-calls between handlers for these cases of shared interrupt lines, especially since the FDC could in theory share its interrupt line with the performance counter, timer, or both. Fortunately since release 2 of the architecture separate interrupt pending bits do exist in the Cause register. This allows local interrupts which share an interrupt line to have separate handlers using IRQF_SHARED. Unfortunately they can't easily have their own irqchip as there is no generic way to individually mask them. Enable this sharing to happen by removing the special case for when the perf count shares an IRQ with the timer. cp0_perfcount_irq and cp0_compare_irq can then be set to the same value with shared interrupt handlers registered for both of them. Pre-R2 code should be unaffected. cp0_perfcount_irq will always be -1 and the timer handler will contnue to call into the perf counter handler. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9131/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 369a93bbc78dd7848d433d60e3c88a0c698dde57 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:54 2015 +0000 MIPS: OProfile: Allow sharing IRQ with timer When requesting the performance counter overflow interrupt, pass flags which are compatible with the cevt-r4k driver, in particular IRQF_SHARED so that the two handlers can share the same IRQ. This is possible since release 2 of the architecture where there are separate pending interrupt bits for the timer interrupt and the performance counter interrupt. This will be necessary since the FDC interrupt can also be arbitrarily routed to a CPU interrupt, possibly sharing with the timer, the performance counters, or both, and it isn't scalable to have all the handlers able to call other handlers that may be on the same IRQ line. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: oprofile-list@xxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9130/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a1ec0e18833088673d2bdfe6e89b67b4f6ab00d7 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:53 2015 +0000 MIPS: perf: Allow sharing IRQ with timer When requesting the performance counter overflow interrupt, pass flags which are compatible with the cevt-r4k driver, in particular IRQF_SHARED so that the two handlers can share the same IRQ. This is possible since release 2 of the architecture where there are separate pending interrupt bits for the timer interrupt and the performance counter interrupt. This will be necessary since the FDC interrupt can also be arbitrarily routed to a CPU interrupt, possibly sharing with the timer, the performance counters, or both, and it isn't scalable to have all the handlers able to call other handlers that may be on the same IRQ line. Shared handlers must also have a unique device pointer so they can be individually removed, so &mipspmu is now passed in for that instead of NULL. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9129/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f0c5b8944b39896821e5d64b2d731564498160a9 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Mar 20 19:45:09 2015 +0100 MIPS: cevt-r4k: Cleanup c0_compare_interrupt. The attempt to get gcc to generate best possible code turned c0_compare_interrupt() into a bit of Italian pasta code. Tweak for sanity. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7dfe819803898c824d55a4afe3a0089861681041 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:52 2015 +0000 MIPS: cevt-r4k: Make interrupt handler shared Make the cevt-r4k interrupt handler shared so that other interrupt handlers (specifically the performance counter overflow handler and fast debug channel interrupt handler) can share the same interrupt line. This simply imvolves returning IRQ_NONE when no timer interrupt has been handled to allow other handlers to run, and passing IRQF_SHARED when setting up the IRQ handler so that other handlers (with compatible flags) can be registered. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9128/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ea3c023ebf7130d72f9f00a3992c22176ef6703b Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:51 2015 +0000 IRQCHIP: mips-gic: Add missing definitions for FDC IRQ Add missing VPE_PEND, VPE_RMASK and VPE_SMASK definitions for the local FDC interrupt. These local interrupt definitions aren't directly used, but if they exist they should be complete. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9127/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7e3e6cb29aeb64df24a0325ffd18892eca33e9b4 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:50 2015 +0000 IRQCHIP: mips-gic: Fix typo in comment Fix typo in comment in gic_get_c0_perfcount_int: "erformance" -> "performance". Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9126/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7eca5b1460f3f1ad3891252743c36f309df53d53 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:49 2015 +0000 MIPS: Remove redundant IPTI==IPPCI logic The situation where the timer interrupt is on the same line as the performance counter interrupt is handled in per_cpu_trap_init() by setting cp0_perfcount_irq to -1, so there is no need to duplicate the logic conditional upon cp0_perfcount_irq >= 0 in perf (init_hw_perf_events()) and oprofile (mipsxx_init()). Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9125/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3ba5040af01fb06a36198f5f6065e25b0655ca0d Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:48 2015 +0000 MIPS: cevt-r4k: Use CAUSEF_TI, CAUSEF_PCI constants Use CAUSEF_TI and CAUSEF_PCI constants from asm/mipsregs.h rather than the magic values (1 << 30) and (1 << 26). Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9124/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 19971c0bcb45f264c83cb2fd2bce50457bd17cc4 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Jan 27 21:45:47 2015 +0000 MIPS: cevt-r4k: Move handle_perf_irq() out of header Long ago, commit 8531a35e5e27 ("[MIPS] SMTC: Fix SMTC dyntick support.") moved handle_perf_irq() out of cevt-r4k.c into a header so it could be shared with cevt-smtc.c. Slightly less long ago, commit b633648c5ad3 ("MIPS: MT: Remove SMTC support") removed all traces of SMTC support, including cevt-smtc.c, leaving cevt-r4k.c once again the sole user of handle_perf_irq(), therefore move it back into cevt-r4k.c from the header. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9123/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c9d6c8b0eba2421b9bf812919bece0b82d923689 Author: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Date: Mon Mar 16 14:43:11 2015 -0700 MIPS: pistachio: Add an initial defconfig Add a defconfig for Pistachio which enables drivers for all the currently supported peripherals on the SoC. Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9570/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6a438309a5fe00480fe4c68fbad402617ac05813 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Mar 16 14:43:10 2015 -0700 MIPS: Add support for the IMG Pistachio SoC Add initial support for boards based on the Imagination Pistachio SoC. Pistachio is based on a dual-core MIPS interAptiv CPU and will boot using device-tree. Signed-off-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9569/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e14ba3cdd6dddb004def9811ee057576e53ca9a0 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Mar 16 14:43:09 2015 -0700 MIPS: Document Pistachio boot protocol and device-tree bindings The Pistachio SoC boots only with device-tree. Document the required properties and nodes as well as the boot protocol between the bootlaoder and the kernel. 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: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9568/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b76a4c1ae1923b0b21d1a97e972cb2ce39791aa1 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Mon Mar 16 14:43:08 2015 -0700 MIPS: Allow platforms to specify the decompressor load address Platforms which use raw zboot images may need to link the image at a fixed address if there is no other way to communicate the load address to the bootloader. Allow the per-platform Kbuild files to specify an optional zboot image load address (zload-y) and fall back to calc_vmlinuz_load_addr if unset. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9566/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8f361b279f76b1e9548c9b3e59da63d3dec11bea Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Mar 23 11:16:21 2015 +0100 gpu: ipu-v3: turns out the IPU can only downsize 4:1 The value for downsizing 8:1 is marked as reserved in the technical reference manual and the documentation states downsizing capability up to 4:1 only. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit f7089d923eacb9c8e57d8492699662756881b54d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 10 15:03:43 2015 +0100 gpu: ipu-v3: limit pixel clock divider to 8-bits The DI pixel clock divider bit field is only 8 bits wide for the integer part, so limit the divider to the 1...255 interval before deciding whether the internal clock can be used and before writing to the register. Reported-by: Felix Mellmann <felix.mellmann@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit d631fc60706ccd86c5c2b0084bcea0739952ce90 Author: Kevin Cernekee <cernekee@xxxxxxxxx> Date: Mon Mar 16 14:43:07 2015 -0700 MIPS: Create a common <asm/mach-generic/war.h> 11 platforms require at least one of these workarounds to be enabled; 22 platforms do not. In the latter case we can fall back to a generic version. Note that this also deletes an orphaned reference to RM9000_CDEX_SMP_WAR. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9567/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2872c8072aae65fa55cafea50e73d69d423df168 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 2 17:25:59 2015 +0100 drm/imx: consolidate bus format variable names This patch consolidates the different interface_pix_fmt, pixel_fmt, pix_fmt, and pixfmt variables to a common name "bus_format" wherever they describe the pixel format on the bus between display controller and encoder hardware. At the same time, it renames imx_drm_panel_format to imx_drm_set_bus_format. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Emil Renner Berthing <kernel@xxxxxxxx> commit a7c6e76feeb19de1a5cefa50ea6c0fc5ad45bbe1 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Dec 2 17:51:36 2014 +0100 drm/imx: switch to use media bus formats imx-drm internally misused the V4L2_PIX_FMT constants, which are supposed to describe the pixel format of frame buffers in memory, to describe the pixel format on the bus between the display controller and the encoder hardware. Now that MEDIA_BUS_FMT constants are available to drm drivers, use those instead. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Emil Renner Berthing <kernel@xxxxxxxx> commit 203508ef52e3fee93b71262928541ecea82c735d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Dec 2 17:56:04 2014 +0100 Add RGB666_1X24_CPADHI media bus format Commit 9e74d2926a28 ("staging: imx-drm: add LVDS666 support for parallel display") describes a 24-bit bus format where three 6-bit components each take the lower part of 8 bits with the two high bits zero padded. Add a component-wise padded media bus format RGB666_1X24_CPADHI to support this connection. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Tested-by: Emil Renner Berthing <kernel@xxxxxxxx> commit 0fc63eb104d76e20654cd97eeb1bfd0f35bc3d3a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Dec 3 11:01:54 2014 +0100 Add YUV8_1X24 media bus format This patch adds the media bus format for a 24-bit bus format with three 8-bit YUV components. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> commit 08c38458be7efa36a1d2dffd40500448e46d29c5 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Dec 2 15:45:25 2014 +0100 Add BGR888_1X24 and GBR888_1X24 media bus formats This patch adds two more 24-bit RGB formats. BGR888 is more or less common, GBR888 is used on the internal connection between the IPU display interface and the TVE (VGA DAC) on i.MX53 SoCs. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> commit b295c22978b86fc62019d12f4108b68b7e795610 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Dec 2 17:49:04 2014 +0100 Add LVDS RGB media bus formats This patch adds three new RGB media bus formats that describe 18-bit or 24-bit samples transferred over an LVDS bus with three or four differential data pairs, serialized into 7 time slots, using standard SPWG/PSWG/VESA or JEIDA data ordering. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> commit 4b3a81a917a5ef21a4483d699cefd4d9fa35b841 Author: Boris Brezillion <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 28 17:49:51 2015 +0100 Add RGB444_1X12 and RGB565_1X16 media bus formats Add RGB444_1X12 and RGB565_1X16 format definitions and update the documentation. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit e0d155cadbc569319e49b97ebb8b062e241483e6 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 11 17:28:45 2014 +0200 drm/imx: ipuv3-crtc: Allow to divide DI clock from TVEv2 This patch allows the IPU to divide the 27 MHz input clock from the TVE by two to obtain the 13.5 MHz pixel clock needed for NTSC/PAL SD modes. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit dd7fa6d88796b1aaa511abbac38963aa1c443443 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 11 18:02:06 2014 +0200 drm/imx: Add support for interlaced scanout This patch allows interlaced frame buffer scanout for interlaced output via HDMI or TV-Encoder. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit a47eb351d2bd17cdf01de070f13cb12f6be4a0c5 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:07 2015 -0800 CLK: Pistachio: Register external clock gates Register the clock gates for the external audio and ethernet reference clocks provided by the top-level general control block. Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9321/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8cb94af684ecfea38e8c9ff8d8519ff751a66968 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:06 2015 -0800 CLK: Pistachio: Register system interface gate clocks Register the system interface gate clocks provided by the peripheral general control block. These clocks gate register access for various peripherals. Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9322/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 44960ab862a6db088f46fbf582d16a25fb999a83 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:05 2015 -0800 CLK: Pistachio: Register peripheral clocks Register the clocks generated by the peripheral clock controller. This includes the clocks for several peripherals, including I2C, PWM, watchdog, and timer. Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9320/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b35d7c33419cb0d000d23d3a5ab524ab8d3d8bf9 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:04 2015 -0800 CLK: Pistachio: Register core clocks Register the clocks generated by the core clock controller. This includes the 7 PLLs and clocks for the CPU, RPU co-processor, audio, WiFi, bluetooth, and several other peripherals. The MIPS and PERIPH_SYS clocks must remain enabled at all times. Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9317/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 43049b0c83f177083a56d69e64e47c82bcc04185 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:03 2015 -0800 CLK: Pistachio: Add PLL driver Add a driver for the integer (GF40LP_LAINT) and fractional (GF40LP_FRAC) PLLs present on Pistachio. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9316/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8e4b7721f61e70396ad8ec2d866c91300f2afbd1 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:02 2015 -0800 CLK: Add basic infrastructure for Pistachio clocks Add helpers for registering clocks and clock providers on Pistachio. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9318/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 55474c48b4726fd3914c1ec47fced0f931729979 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Mar 29 11:02:34 2015 +0200 x86/asm/entry: Remove user_mode_ignore_vm86() user_mode_ignore_vm86() can be used instead of user_mode(), in places where we have already done a v8086_mode() security check of ptregs. But doing this check in the wrong place would be a bug that could result in security problems, and also the naming still isn't very clear. Furthermore, it only affects 32-bit kernels, while most development happens on 64-bit kernels. If we replace them with user_mode() checks then the cost is only a very minor increase in various slowpaths: text data bss dec hex filename 10573391 703562 1753042 13029995 c6d26b vmlinux.o.before 10573423 703562 1753042 13030027 c6d28b vmlinux.o.after So lets get rid of this distinction once and for all. Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andrew Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150329090233.GA1963@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f5c8a104116a56503b6e824e7782b2e805b29abb Merge: c9ce871 43eaa2a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 31 10:47:18 2015 +0200 Merge tag 'amd_severity' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras into x86/ras Pull RAS update from Borislav Petkov: "This has been long in the making - an AMD-specific MCE-severity grading function. And it is actually readable at a quick glance. Further error recovery actions will be based on its output. Patches tested on every relevant AMD family out there." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 36cbf25dc79cc33d623889cafba2c672b161c1ad Merge: ca68a52 bfbaafa Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 31 10:45:47 2015 +0200 Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into x86/urgent Pull EFI fix from Matt Fleming: - Fix integer overflow issue in the DMI SMBIOS 3.0 code when calculating the number of DMI table entries. (Jean Delvare) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 115db5c68bd4ed7fbcb73f300e666ff127b359b6 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Mar 27 11:48:19 2015 -0700 x86/vdso: Remove x32 intermediates during 'make clean' The existing clean-files rule was missing vdsox32.so and vdsox32.so.dbg. We should really rename the intermediates to allow a single rule to get them all. Also-reported-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Link: http://lkml.kernel.org/r/7fa2ad4a63bc6f52e214125900d54165ef06cc10.1427482099.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ef37507d99ab29c253de3c55e7ee9fa4f6d50834 Author: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Date: Fri Mar 27 11:48:18 2015 -0700 x86/vdso: Teach 'make clean' to remove generated vdso-image-*.c files After 'make clean' the following files were left in arch/x86/vdso/: vdso-image-32-int80.c vdso-image-32-syscall.c vdso-image-32-sysenter.c These file are generated during the build process and are present in .gitignore, so remove them. Signed-off-by: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Link: http://lkml.kernel.org/r/f85bb7ef6f8c6f6aa4bf422348018c84321454f8.1427482099.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e7d6eefaaa443130079d73cd05039d90b3db7a4a Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 27 11:48:17 2015 -0700 x86/vdso32/syscall.S: Do not load __USER32_DS to %ss This vDSO code only gets used by 64-bit kernels, not 32-bit ones. On 64-bit kernels, the data segment is the same for 32-bit and 64-bit userspace, and the SYSRET instruction loads %ss with its selector. So there's no need to repeat it by hand. Segment loads are somewhat expensive: tens of cycles. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> [ Removed unnecessary comment. ] Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/63da6d778f69fd0f1345d9287f6764d58be519fa.1427482099.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a4f59d6e09ef16fbb7d213cfa1bf472c7845fda Author: Tommi Kyntola <tommi.kyntola@xxxxxxxxx> Date: Fri Mar 27 11:48:16 2015 -0700 x86/vdso: Fix the x86 vdso2c tool includes The build-time tool arch/x86/vdso/vdso2c.c includes <linux/elf.h>, but cannot find it, unless the build host happens to provide it. It should be reading the uapi linux/elf.h This build regression came along with the vdso2c changes between v3.15 and v3.16. Signed-off-by: Tommi Kyntola <tommi.kyntola@xxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1525002.3cJ7BySVpA@musta Link: http://lkml.kernel.org/r/efe1ec29eda830b1d0030882706f3dac99ce1f73.1427482099.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6a840791182c7dab3428c6f005776b50e62e53ef Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Mon Dec 8 15:16:44 2014 +0100 powerpc32/chrp: fix section mismatch warning This patch fixes a section mismatch warning WARNING: vmlinux.o(.text+0x213b6): Section mismatch in reference from the function chrp_init_early() to the variable .init.data:boot_command_line The function chrp_init_early() references the variable __initdata boot_command_line. This is often because chrp_init_early lacks a __initdata annotation or the annotation of boot_command_line is wrong. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ca68a525ff6b62e77dc8a8c3020a63321bfb864f Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Mar 29 15:54:13 2015 +0200 MAINTAINERS: Change the x86 microcode loader maintainer Let's make it official - I've been doing this for a while now anyway. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tigran Aivazian <tigran@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4e26d11f52684dc8b1632a8cfe450cb5197a8464 Author: Hector Marco-Gisbert <hecmargi@xxxxxx> Date: Fri Mar 27 12:38:21 2015 +0100 x86/mm: Improve AMD Bulldozer ASLR workaround The ASLR implementation needs to special-case AMD F15h processors by clearing out bits [14:12] of the virtual address in order to avoid I$ cross invalidations and thus performance penalty for certain workloads. For details, see: dfb09f9b7ab0 ("x86, amd: Avoid cache aliasing penalties on AMD family 15h") This special case reduces the mmapped file's entropy by 3 bits. The following output is the run on an AMD Opteron 62xx class CPU processor under x86_64 Linux 4.0.0: $ for i in `seq 1 10`; do cat /proc/self/maps | grep "r-xp.*libc" ; done b7588000-b7736000 r-xp 00000000 00:01 4924 /lib/i386-linux-gnu/libc.so.6 b7570000-b771e000 r-xp 00000000 00:01 4924 /lib/i386-linux-gnu/libc.so.6 b75d0000-b777e000 r-xp 00000000 00:01 4924 /lib/i386-linux-gnu/libc.so.6 b75b0000-b775e000 r-xp 00000000 00:01 4924 /lib/i386-linux-gnu/libc.so.6 b7578000-b7726000 r-xp 00000000 00:01 4924 /lib/i386-linux-gnu/libc.so.6 ... Bits [12:14] are always 0, i.e. the address always ends in 0x8000 or 0x0000. 32-bit systems, as in the example above, are especially sensitive to this issue because 32-bit randomness for VA space is 8 bits (see mmap_rnd()). With the Bulldozer special case, this diminishes to only 32 different slots of mmap virtual addresses. This patch randomizes per boot the three affected bits rather than setting them to zero. Since all the shared pages have the same value at bits [12..14], there is no cache aliasing problems. This value gets generated during system boot and it is thus not known to a potential remote attacker. Therefore, the impact from the Bulldozer workaround gets diminished and ASLR randomness increased. More details at: http://hmarco.org/bugs/AMD-Bulldozer-linux-ASLR-weakness-reducing-mmaped-files-by-eight.html Original white paper by AMD dealing with the issue: http://developer.amd.com/wordpress/media/2012/10/SharedL1InstructionCacheonAMD15hCPU.pdf Mentored-by: Ismael Ripoll <iripoll@xxxxxxxxxxxx> Signed-off-by: Hector Marco-Gisbert <hecmargi@xxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jan-Simon <dl9pf@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-fsdevel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427456301-3764-1-git-send-email-hecmargi@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 46423ffaf45c2494626841238d8bf75123a28caa Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Mar 29 15:43:09 2015 +0200 x86/microcode/amd: Drop the pci_ids.h dependency This file doesn't use any macros from pci_ids.h anymore, drop the include. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427635734-24786-80-git-send-email-mst@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a3675b32aac81c2c4733568844f8276527a37423 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 30 20:09:34 2015 +0200 x86/asm/entry/64: Do not GET_THREAD_INFO() too early At exit_intr, we GET_THREAD_INFO(%rcx) and then jump to retint_kernel if saved CS was from kernel. But the code at retint_kernel doesn't need %rcx. Move GET_THREAD_INFO(%rcx) down, after CS check and branch. While at it, remove "has a correct top of stack" comment. After recent changes which eliminated FIXUP_TOP_OF_STACK, we always have a correct pt_regs layout. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427738975-7391-5-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 627276cb55f33e2dc56eab5b973937c128b7704c Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 30 20:09:31 2015 +0200 x86/asm/entry/64: Move retint_kernel code block closer to its user The "retint_kernel" code block is misplaced. Since its logical continuation is "retint_restore_args", it is more natural to place it above that label. This also makes two jumps "short". This change only moves code block around, without changing logic. This enables the next simplification: making "retint_restore_args" label a local numeric one. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427738975-7391-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 066626d5d5548d7ff63772a840b8d40a0d278825 Author: Emil Velikov <emil.l.velikov@xxxxxxxxx> Date: Mon Mar 30 17:10:36 2015 +0000 drm: line wrap DRM_IOCTL_DEF* macros Improve the readability and keeps the lines shorter than 80 columns. Signed-off-by: Emil Velikov <emil.l.velikov@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4806c87f017d8a7003ad34886f58c3b9e023df6a Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Mon Mar 30 22:17:09 2015 +0200 clocksource/drivers/at91: Fix IO endianness Fix the use of __raw IO accessor with the readl/writel_relaxed() versions to allow the code to be used on a system running in big endian mode. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Andrew Victor <linux@xxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: digetx@xxxxxxxxx Cc: hdegoede@xxxxxxxxxx Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx Cc: viresh.kumar@xxxxxxxxxx Link: http://lkml.kernel.org/r/1427746633-9137-7-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 37b8b003c483191a327a740fc32c1993959e7ae9 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Mar 30 22:17:10 2015 +0200 clocksource/drivers/sun4i-timer: Only register a sched_clock on sun4i and sun5i sun6i and newer have an arm arch timer which is a better sched_clock source then the sun4i-timer, and sched_clock does not have priorities, so do not register the sun4i-timer sched_clock at all on sun6i and newer. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: ben.dooks@xxxxxxxxxxxxxxx Cc: digetx@xxxxxxxxx Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: viresh.kumar@xxxxxxxxxx Link: http://lkml.kernel.org/r/1427746633-9137-8-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 59196bcef5c1034f020fe5bf3579f89767537246 Author: Dmitry Osipenko <digetx@xxxxxxxxx> Date: Mon Mar 30 22:17:11 2015 +0200 clocksource/drivers/tegra: Fix IO endianness Support big-endian kernel by using endian-aware register access functions. Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Cc: ben.dooks@xxxxxxxxxxxxxxx Cc: hdegoede@xxxxxxxxxx Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx Cc: viresh.kumar@xxxxxxxxxx Link: http://lkml.kernel.org/r/1427746633-9137-9-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3a10013b6a5975346fe5a8db59500a8d176d64e0 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Mon Mar 30 22:17:12 2015 +0200 clocksource/drivers/dw_apb_timers_of: Fix IO endianness causing time jumps The dw_apb_timer_of timer is using __raw_readl() to access the timer register, which is causing issues when the system is running in big endian mode. Fix this by using readl_relaxed() which should account for the endian settings. This fixes issues where the time jumps around in the dmesg output due to returnling __le32 values. For an example, these two console lines show time running backwards: [ 49.882572] CPU1: failed to come online [ 43.282457] Brought up 1 CPUs Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: digetx@xxxxxxxxx Cc: hdegoede@xxxxxxxxxx Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx Cc: viresh.kumar@xxxxxxxxxx Link: http://lkml.kernel.org/r/1427746633-9137-10-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ad834a346853b7ee7c684efa56b1d415a850a710 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Mar 30 22:17:13 2015 +0200 clocksource/drivers/efm32: Use CLOCK_EVT_FEAT_PERIODIC for defining features We have used CLOCK_EVT_MODE_PERIODIC instead of CLOCK_EVT_FEAT_PERIODIC while defining features. Fix it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx> Cc: ben.dooks@xxxxxxxxxxxxxxx Cc: digetx@xxxxxxxxx Cc: hdegoede@xxxxxxxxxx Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427746633-9137-11-git-send-email-daniel.lezcano@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5e77f5216abdd1d98e6d14d9a3eb4e88d80011a Merge: de81e64 e42391c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 31 09:08:13 2015 +0200 Merge tag 'v4.0-rc6' into timers/core, before applying new patches Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 11e52a699afff576606ceb6cf697270459f1a4aa Author: James Bottomley <JBottomley@xxxxxxxxxxxxx> Date: Wed Mar 18 15:56:16 2015 -0700 enclosure: fix WARN_ON removing an adapter in multi-path devices We have peculiar problems with multi-path and enclosures: physically, we know each bay can only be occupied by a single disk device. However in multi-path, it appears we have many (because each path to the device appears in Linux as a different kernel device). We try to fix this by only having the last seen device show up in the bay. Sysfs gets very annoyed if we try to manipulate links when the kobject sysfs directory (kobj.sd) doesn't exist and drops a huge WARN_ON which most users panic and report an oops for. This happens on a few path removal situations and IBM reports seeing it when one of their multi-path adapters is removed. Add a check to enclosure device removal for the existence the sysfs directory containing both the forward and back links so that the remnants (if any) get removed in either direction but no scary warnings are dumped. Reported-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Tested-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 18e1d1b115f79ab1f9137f2b4c72f87c218a5fb9 Author: Alex Dowad <alexinbeijing@xxxxxxxxx> Date: Fri Mar 13 20:04:18 2015 +0200 arc: copy_thread(): rename 'arg' argument to 'kthread_arg' The 'arg' argument to copy_thread() is only ever used when forking a new kernel thread. Hence, rename it to 'kthread_arg' for clarity. Signed-off-by: Alex Dowad <alexinbeijing@xxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 358b615f5812e28dd763d2aa1297563927a2f89d Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Mar 30 17:33:23 2015 +0200 PM / devfreq: tegra: Register governor on module init So this driver builds as a module. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 34ed504008b2d8d3578191424fc5cddcb76d69f5 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:17 2015 +0100 PM / devfreq: tegra: Enable interrupts after resuming the devfreq monitor Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 2da19b1a4d4fadf8d84a5cb6a953749a559a29fb Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:16 2015 +0100 PM / devfreq: tegra: Set drvdata before enabling the irq To avoid a race in which the interrupt will be handled before the drvdata has been set up. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 5d498b463a3cdef51e6d4cc7066ac89c360e7a98 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:15 2015 +0100 PM / devfreq: tegra: remove operating-points As the DT bindings don't have an operating-points property any more, build the OPP table from the frequencies supported by the EMC clock. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit c70eea739f5e765b5d6aadf9621cbdeb024dfbd6 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:14 2015 +0100 PM / devfreq: tegra: Use clock rate constraints Now that we have per-user clocks and the possibility to set constraints in a clock, set a floor constraint on the EMC clock. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 11573e9132ae40239195fe5162d48caf2b7d85bb Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:12 2015 +0100 PM / devfreq: tegra: Update to v5 of the submitted patches There seemed to be some miscommunication and an old version of the submitted patches was merged. This commit updates the driver to v5, which had this changelog: * Clarify the units of avg_dependency_threshold * Remove unused references to platform_device * Enable and disable interrupts on governor events * Make sure we handle all interrupts for any of the devices we are sampling * Move locking to be per-actmon-device Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> CC: Alex Frid <afrid@xxxxxxxxxx> CC: Mikko Perttunen <mikko.perttunen@xxxxxxxx> [Added const to device ID by MyungJoo] Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 6bc08d03e745a0b369bd28294b969e4fdaf7be9f Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Mon Mar 30 12:06:10 2015 +0200 powerpc/powernv: handle OPAL_SUCCESS return in opal_sensor_read Currently, when a sensor value is read, the kernel calls OPAL, which in turn builds a message for the FSP, and waits for a message back. The new device tree for OPAL sensors [1] adds new sensors that can be read synchronously (core temperatures for instance) and that don't need to wait for a response. This patch modifies the opal call to accept an OPAL_SUCCESS return value and cover the case above. [1] https://lists.ozlabs.org/pipermail/skiboot/2015-March/000639.html Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e3c5c2e0bc857c7cbdb81f35a6b90236c5f330e9 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Mon Mar 30 12:06:09 2015 +0200 powerpc/powernv: convert codes returned by OPAL calls OPAL has its own list of return codes. The patch provides a translation of such codes in errnos for the opal_sensor_read call, and possibly others if needed. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d7de390bff7ad0f551fc0e409543e98db86a65df Merge: b1f389e f026eb6 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Mar 31 13:38:01 2015 +1000 Merge branch 'drm-atmel-hlcdc-4.1-fixes' of git://github.com/bbrezillon/linux-at91 into drm-next add PM fix. * 'drm-atmel-hlcdc-4.1-fixes' of git://github.com/bbrezillon/linux-at91: drm: atmel-hlcdc: use appropriate enabled flag in suspend/resume commit b1f389ecc20b95f0f64515588d3736e85146848f Merge: 517bc04 cea405b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Mar 31 13:36:25 2015 +1000 Merge tag 'drm-amdkfd-next-2015-03-25' of git://people.freedesktop.org/~gabbayo/linux into drm-next - Allow amdkfd to work with multiple kgd instances. This is in preparation for AMD's new open source kernel graphic driver (amdgpu), and for the new AMD APU, Carrizo. - Convert timestamping to use 64bit time accessors - Three other minor changes. * tag 'drm-amdkfd-next-2015-03-25' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: Add multiple kgd support drm/amdkfd: Convert timestamping to use 64bit time accessors drm/amdkfd: add debug prints for process teardown drm/amdkfd: Remove unused field from struct qcm_process_device drm/amdkfd: rename fence_wait_timeout commit 3bbf7f4624856751aa4cf279a472bd14a8eb16fd Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 13:25:05 2015 +1030 linux/cpumask.h: add typechecking to cpumask_test_cpu The Subtlety (1) referred to vanished with 6ba2ef7baac2 ("cpumask: Move deprecated functions to end of header."). That used to mention some suboptimal code generation by a, by now, rather ancient gcc. With gcc 4.7, I don't see any change in the generated code by making it a static inline, so let's add type checking and get rid of the ghost reference. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit acdb66857fb9a713c93bb3e6edba5ee478ba0678 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 30 16:46:04 2015 -0700 powerpc: Use bool function return values of true/false not 1/0 Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9cd5196ed25979a3760f97225aae3e17caf21512 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Mar 30 19:06:22 2015 +0900 mtd: ts5500_flash: Fix typo in MODULE_DESCRIPTION in ts5500_flash.c This patch fixes a spelling typo in MODULE_DESCRIPTION in ts5500_flash.c. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> [ Brian: fixed grammar in a spelling patch :) ] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d4ed11aa4881246e1e36e0189f30f053f140370c Merge: 3305244 027fa02 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 31 13:11:17 2015 +1100 Merge branch 'next-eeh' into next-sriov Merge in Gavin EEH fixes commit 027fa02f84e851e21daffdf8900d6117071890f8 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 11:29:00 2015 +1100 powerpc/powernv: Don't map M64 segments using M32DT If M64 has been supported, the prefetchable 64-bits memory resources shouldn't be mapped to the corresponding PE# via M32DT. Unfortunately, we're doing that in pnv_ioda_setup_pe_seg() wrongly. The issue was introduced by commit 262af55 ("powerpc/powernv: Enable M64 aperatus for PHB3"). The patch fixes the issue by simply skipping M64 resources when updating to M32DT. Cc: <stable@xxxxxxxxxxxxxxx> # v3.17+ Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 433185d2b4e9c25f2a444424c05af72fbadd4275 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 11:22:17 2015 +1100 powerpc/eeh: Fix PE#0 check in eeh_add_to_parent_pe() The function eeh_add_parent_pe() is used to create a PE or add one edev to its parent PE. Current code checks if PE#0 is valid for the later case. Actually, we should validate PE#0 for both cases when EEH core regards PE#0 as invalid one (without flag EEH_VALID_PE_ZERO). Otherwise, not all EEH devices can be added to its parent PE#0 for EEH on P7IOC. The patch fixes the issue by validating PE#0 for the two cases. So far, we don't have PE#0 for EEH on P7IOC, but it will show up when we enable M64 for P7IOC. The patch also makes the error message more meaningful. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 330524404298b2142d2e3a2f64251ca855d55d72 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:24:01 2015 +0800 powerpc/pci: Add PCI resource alignment documentation In order to enable SRIOV on PowerNV platform, the PF's IOV BAR needs to be adjusted: 1. size expanded 2. aligned to M64BT size This patch documents this change on the reason and how. [bhelgaas: reformat, clarify, expand] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 250c7b277c65e801a3312061dc2e919233468916 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:24:00 2015 +0800 powerpc/pci: Remove unused struct pci_dn.pcidev field In struct pci_dn, the pcidev field is assigned but not used, so remove it. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 02639b0e1326c3eff88d74fde6b5dbd04ace564e Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:59 2015 +0800 powerpc/powernv: Group VF PE when IOV BAR is big on PHB3 When IOV BAR is big, each is covered by 4 M64 windows. This leads to several VF PE sits in one PE in terms of M64. Group VF PEs according to the M64 allocation. [bhelgaas: use dev_printk() when possible] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 5b88ec228498b7d41de6599eca12cc0032056e3f Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:58 2015 +0800 powerpc/powernv: Reserve additional space for IOV BAR, with m64_per_iov supported M64 aperture size is limited on PHB3. When the IOV BAR is too big, this will exceed the limitation and failed to be assigned. Introduce a different mechanism based on the IOV BAR size: - if IOV BAR size is smaller than 64MB, expand to total_pe - if IOV BAR size is bigger than 64MB, roundup power2 [bhelgaas: make dev_printk() output more consistent, use PCI_SRIOV_NUM_BARS] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 781a868f3136c6eb8e8c5c19d148416d7da86610 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:57 2015 +0800 powerpc/powernv: Shift VF resource with an offset On PowerNV platform, resource position in M64 BAR implies the PE# the resource belongs to. In some cases, adjustment of a resource is necessary to locate it to a correct position in M64 BAR . This patch adds pnv_pci_vf_resource_shift() to shift the 'real' PF IOV BAR address according to an offset. Note: After doing so, there would be a "hole" in the /proc/iomem when offset is a positive value. It looks like the device return some mmio back to the system, which actually no one could use it. [bhelgaas: rework loops, rework overlap check, index resource[] conventionally, remove pci_regs.h include, squashed with next patch] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 5350ab3fd794f899079d9f6b2b6fe1a7917087ef Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:56 2015 +0800 powerpc/powernv: Implement pcibios_iov_resource_alignment() on powernv Implement pcibios_iov_resource_alignment() on powernv platform. On PowerNV platform, there are 3 cases for the IOV BAR: 1. initial state, the IOV BAR size is multiple times of VF BAR size 2. after expanded, the IOV BAR size is expanded to meet the M64 segment size 3. sizing stage, the IOV BAR is truncated to 0 pnv_pci_iov_resource_alignment() handle these three cases respectively. [bhelgaas: adjust to drop "align" parameter, return pci_iov_resource_size() if no ppc_md machdep_call version] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 6e628c7d33d99406cef374972c89389edcc3570f Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:55 2015 +0800 powerpc/powernv: Reserve additional space for IOV BAR according to the number of total_pe On PHB3, PF IOV BAR will be covered by M64 BAR to have better PE isolation. M64 BAR is a type of hardware resource in PHB3, which could map a range of MMIO to PE numbers on powernv platform. And this range is divided equally by the number of total_pe with each divided range mapping to a PE number. Also, the M64 BAR must map a MMIO range with power-of-two size. The total_pe number is usually different from total_VFs, which can lead to a conflict between MMIO space and the PE number. For example, if total_VFs is 128 and total_pe is 256, the second half of M64 BAR will be part of other PCI device, which may already belong to other PEs. This patch prevents the conflict by reserving additional space for the PF IOV BAR, which is total_pe number of VF's BAR size. [bhelgaas: make dev_printk() output more consistent, index resource[] conventionally] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 9e8d4a19ab66ec9e132d405357b9108a4f26efd3 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:54 2015 +0800 powerpc/powernv: Allocate struct pnv_ioda_pe iommu_table dynamically Previously the iommu_table had the same lifetime as a struct pnv_ioda_pe and was embedded in it. The pnv_ioda_pe was assigned to a PE on the bootup stage. Since PEs are based on the hardware layout which is static in the system, they will never get released. This means the iommu_table in the pnv_ioda_pe will never get released either. This no longer works for VF PE. VF PEs are created and released dynamically when VFs are created and released. So we need to assign pnv_ioda_pe to VF PEs respectively when VFs are enabled and clean up those resources for VF PE when VFs are disabled. And iommu_table is one of the resources we need to handle dynamically. Current iommu_table is a static field in pnv_ioda_pe, which will face a problem when freeing it. During the disabling of a VF, pnv_pci_ioda2_release_dma_pe will call iommu_free_table to release the iommu_table for this PE. A static iommu_table will fail in iommu_free_table. According to these requirement, this patch allocates iommu_table dynamically. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit c3b80fb0f22f464f35a970d65e76d2fe904d4923 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:53 2015 +0800 powerpc/pci: Don't unset PCI resources for VFs Flag PCI_REASSIGN_ALL_RSRC is used to ignore resources information setup by firmware, so that kernel would re-assign all resources of pci devices. On powerpc arch, this happens in a header fixup function pcibios_fixup_resources(), which will clean up the resources if this flag is set. This works fine for PFs, since after clean up, kernel will re-assign the resources in pcibios_resource_survey(). Below is a simple call flow on how it works: pcibios_init pcibios_scan_phb pci_scan_child_bus ... pci_device_add pci_fixup_device(pci_fixup_header) pcibios_fixup_resources # header fixup for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) dev->resource[i].start = 0 pcibios_resource_survey # re-assign pcibios_allocate_resources However, the VF resources won't be re-assigned, since the VF resources are completely determined by the PF resources, and the PF resources have already been reassigned. This means we need to leave VF's resources un-cleared in pcibios_fixup_resources(). In this patch, we skip the resource unset process in pcibios_fixup_resources(), if the pci_dev is a VF. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit a8b2f8288a3fdef8d93efef2b1ead7563004275e Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:52 2015 +0800 powerpc/pci: Create pci_dn for VFs pci_dn is the extension of PCI device node and is created from device node. Unfortunately, VFs are enabled dynamically by PF's driver and they don't have corresponding device nodes and pci_dn, which is required to access VFs' config spaces. The patch creates pci_dn for VFs in pcibios_sriov_enable() on their PF, and removes pci_dn for VFs in pcibios_sriov_disable() on their PF. When VF's pci_dn is created, it's put to the child list of the pci_dn of PF's upstream bridge. The pci_dn is linked to pci_dev during early fixup time to setup the fast path. [bhelgaas: add ifdef around add_one_dev_pci_info(), use dev_printk()] Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit d74b9027a4dafa44d3a3c2a44ce135e50a13ec10 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:51 2015 +0800 PCI: Consider additional PF's IOV BAR alignment in sizing and assigning When sizing and assigning resources, we divide the resources into two lists: the requested list and the additional list. We don't consider the alignment of additional VF(n) BAR space. This is because the alignment required for the VF(n) BAR space is the size of an individual VF BAR, not the size of the space for *all* VFs. But we want additional alignment to support partitioning on PowerNV. Consider the additional IOV BAR alignment when sizing and assigning resources. When there is not enough system MMIO space to accomodate both the requested list and the additional list, the PF's IOV BAR alignment will not contribute to the bridge. When there is enough system MMIO space for both lists, the additional alignment will contribute to the bridge. The additional alignment is stored in the min_align of pci_dev_resource, which is stored in the additional list by add_to_list() at the end of pbus_size_mem(). The additional alignment is calculated in pci_resource_alignment(). For an IOV BAR, we have arch dependent function to get the alignment for different arch. [bhelgaas: changelog, printk cast] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 978d2d68312326b715a5913aaab1eaf24fe99108 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:50 2015 +0800 PCI: Add pcibios_iov_resource_alignment() interface Per the SR-IOV spec r1.1, sec 3.3.14, the required alignment of a PF's IOV BAR is the size of an individual VF BAR, and the size consumed is the individual VF BAR size times NumVFs. The PowerNV platform has additional alignment requirements to help support its Partitionable Endpoint device isolation feature (see Documentation/powerpc/pci_iov_resource_on_powernv.txt). Add a pcibios_iov_resource_alignment() interface to allow platforms to request additional alignment. [bhelgaas: changelog, adapt to reworked pci_sriov_resource_alignment(), drop "align" parameter] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 995df527f3990d91fe8f3d7d1917a7adc3938320 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:49 2015 +0800 PCI: Add pcibios_sriov_enable() and pcibios_sriov_disable() VFs are dynamically created when a driver enables them. On some platforms, like PowerNV, special resources are necessary to enable VFs. Add platform hooks for enabling and disabling VFs. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit b07579c0924eee1543eb6cd2c19544d15a4b5236 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:48 2015 +0800 PCI: Export pci_iov_virtfn_bus() and pci_iov_virtfn_devfn() On PowerNV, some resource reservation is needed for SR-IOV VFs that don't exist at the bootup stage. To do the match between resources and VFs, the code need to get the VF's BDF in advance. Rename virtfn_bus() and virtfn_devfn() to pci_iov_virtfn_bus() and pci_iov_virtfn_devfn() and export them. [bhelgaas: changelog, make "busnr" int] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 4449f079722c86d2f6925da039835acdd8e973a8 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:47 2015 +0800 PCI: Calculate maximum number of buses required for VFs An SR-IOV device can change its First VF Offset and VF Stride based on the values of ARI Capable Hierarchy and NumVFs. The number of buses required for all VFs is determined by NumVFs, First VF Offset, and VF Stride (see SR-IOV spec r1.1, sec 2.1.2). Previously pci_iov_bus_range() computed how many buses would be required by TotalVFs, but this was based on a single NumVFs value and may not have been the maximum for all NumVFs configurations. Iterate over all valid NumVFs and calculate the maximum number of bus numbers that could ever be required for VFs of this device. [bhelgaas: changelog, compute busnr of NumVFs, not TotalVFs, remove kerenl-doc comment marker] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit f59dca27d20c73500c4a88ab9a077e40669755db Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:46 2015 +0800 PCI: Refresh First VF Offset and VF Stride when updating NumVFs The First VF Offset and VF Stride fields depend on the NumVFs setting, so refresh the cached fields in struct pci_sriov when updating NumVFs. See the SR-IOV spec r1.1, sec 3.3.9 and 3.3.10. [bhelgaas: changelog, remove kernel-doc comment marker] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit c1fe1f96e30d31cc99826f19a058d9e9eef87712 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Mar 25 16:23:45 2015 +0800 PCI: Index IOV resources in the conventional style Most of PCI uses "res = &dev->resource[i]", not "res = dev->resource + i". Use that style in iov.c also. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 0e6c9122a6ec96d19f1db61e9750287d86b6829c Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:44 2015 +0800 PCI: Keep individual VF BAR size in struct pci_sriov Currently we don't store the individual VF BAR size. We calculate it when needed by dividing the PF's IOV resource size (which contains space for *all* the VFs) by total_VFs or by reading the BAR in the SR-IOV capability again. Keep the individual VF BAR size in struct pci_sriov.barsz[], add pci_iov_resource_size() to retrieve it, and use that instead of doing the division or reading the SR-IOV capability BAR. [bhelgaas: rename to "barsz[]", simplify barsz[] index computation, remove SR-IOV capability BAR sizing] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit e88ae01d2c43be3c3a6f340bfa7bab8b87127f57 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:23:43 2015 +0800 PCI: Print PF SR-IOV resource that contains all VF(n) BAR space When we size VF BAR0, VF BAR1, etc., from the SR-IOV Capability of a PF, we learn the alignment requirement and amount of space consumed by a single VF. But when VFs are enabled, *each* of the NumVFs consumes that amount of space, so the total size of the PF resource is "VF BAR size * NumVFs". Add a printk of the total space consumed by the VFs corresponding to what we already do for normal non-IOV BARs. No functional change; new message only. [bhelgaas: split out into its own patch] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 68f8e9fa56ce6b5cb18323e8d8fa536fee0f89ca Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Mar 25 16:23:42 2015 +0800 PCI: Print more info in sriov_enable() error message If we don't have space for all the bus numbers required to enable VFs, print the largest bus number required and the range available. No functional change; improved error message only. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit d99d72829ec00a96d2d71f30a704b901c198a673 Author: Graham Moore <grmoore@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 09:38:50 2015 -0600 mtd: denali: Disable sub-page writes in Denali NAND driver The Denali Controller IP does not support sub-page writes. Signed-off-by: Graham Moore <grmoore@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e5860c18e68606446a10c3e926a2a0162c385cbf Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 1 11:55:37 2015 -0500 mtd: pxa3xx_nand: cleanup wait_for_completion handling return type of wait_for_completion_timeout is unsigned long not int, this patch uses the return value of wait_for_completion_timeout in the condition directly rather than assigning it to an incorrect type variable. The variable used for handling the return of wait_for_cmpletion_timeout was int but should be unsigned long, where it was not in use for anything else and the return value in case of completion (>0) is not used it was removed and wait_for_completion_timeout() used directly in the if condition. To make the timeout values a bit simpler to read and also handle all of the corner cases correctly the declarations are moved to msecs_to_jiffies(). The timeout declaration cleanup is just for readability Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 899b834a462921a087f92f705d9f85def5892242 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Feb 9 19:22:33 2015 -0200 mtd: nand: gpmi: Check for scan_bbt() error In case of scan_bbt() failure, we should better propagate it. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Huang Shijie <shijie.huang@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 706d5b289924678de9d8af67bcb00e28c1a5000c Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 11:37:33 2015 -0500 mtd: nand: gpmi: fixup return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. The return variable is renamed to reflect its use and the type adjusted to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Huang Shijie <shijie.huang@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 219a8d13dd2bd0536e359405d046bdce9cc9d134 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 1 06:15:46 2015 -0500 mtd: fsl-quadspi: cleanup wait_for_completion return handling return type of wait_for_completion_timeout is unsigned long not int, this patch uses the return value of wait_for_completion_timeout in the condition directly rather than adding a additional appropriately typed variable. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Han Xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit dc6525c61f0fc1e41611d91134f56ed2c297feac Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Feb 9 10:07:19 2015 -0200 mtd: fsl-quadspi: Print the error value When displaying dev_err() messages it is useful to print the error value. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Han Xu <han.xu@xxxxxxxxxxxxx> [Brian: fix up "can not" at the same time] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 35cc3337b6d5bb71ec80daaaf268bf25514fb6a2 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:15:58 2015 +0300 mtd: cfi: clean up some indenting These lines were all indented one tab more than they should be. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 271afb4c96b70292c5eae0744e08bc2d2b5f4fae Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 11:10:41 2015 -0700 mtd: maps: sa1100-flash: remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 318157ab1fc843b7e08b7bf1fc2c431c4da9f3ff Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Thu Mar 12 16:24:04 2015 +0100 mtd: replace CONFIG_8xx by CONFIG_PPC_8xx Two config options exist to define powerpc MPC8xx: * CONFIG_PPC_8xx * CONFIG_8xx In addition, CONFIG_PPC_8xx also defines CONFIG_CPM1 as communication co-processor arch/powerpc/platforms/Kconfig.cputype has contained the following comment about CONFIG_8xx item for some years: "# this is temp to handle compat with arch=ppc" It looks like not many places still have that old CONFIG_8xx used, so it is likely to be a good time to get rid of it completely ? Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 62b57f4c1475a4c452000192e5cad2ae86164be5 Author: Stefan Roese <sr@xxxxxxx> Date: Thu Mar 19 14:34:29 2015 +0100 mtd: fsmc_nand.c: Use default timings if none are provided in the dts Without this patch the timings are all set to 0 if not specified in the dts. With this patch the driver falls back to use the defaults that are already present in the driver and are known to work okay for some (older) boards. Tested on a custom SPEAr600 based board. Signed-off-by: Stefan Roese <sr@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Viresh Kumar <viresh.linux@xxxxxxxxx> Cc: Mian Yousaf Kaukab <mian.yousaf.kaukab@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d800fcabc75a091569b6e19a67844eb264c7db9b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 12:35:19 2015 +0300 jffs2: remove an unneeded condition We know "rc" is set so there is no need to check again. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 60c70d66cdd39eb560bba5a95c429bf2ad5294d0 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Feb 23 17:26:39 2015 +0200 mtd: nand: Prevent possible kernel lockup in nand_command() If a NAND device is not really present or pin muxes are not correctly configured we can lock up the kernel waiting infinitely for NAND_STATUS to be ready. This can be easily reproduced on TI's DRA7-evm board by booting it without NAND support in u-boot and disabling NAND pin muxes in the kernel. Add timeout when waiting for NAND_CMD_RESET completion. As per ONFi v4.0 tRST can be upto 250ms for EZ-NAND and 5ms for raw NAND. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Tested-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 045ecad0fdb23f34a2769fa9d49384a3130f7831 Author: Tomasz Figa <t.figa@xxxxxxxxxxx> Date: Mon Mar 2 14:17:29 2015 +0100 clk: samsung: exynos3250: Add driver for CMU_ISP clock domain Add clock controller for CMU ISP clock domain on Exynos3250, providing clocks for FIMC-IS subsystem. [b.michalska: use samsung_cmu_register_one to register the provider; updated DT binding documentation] Signed-off-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Beata Michalska <b.michalska@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> [s.nawrocki: added __init attribute which was missing in function exynos3250_cmu_platform_init() in function, which has been] Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit abec147faa071af48e70f368319ba784284dc016 Author: Inha Song <ideal.song@xxxxxxxxxxx> Date: Mon Mar 2 11:15:00 2015 +0900 clk: samsung: Add CLKOUT driver support for Exynos3250 SoC This patch add CLKOUT driver support for Exynos3250 SoC. Exynos3250 SoC PMU_DEBUG is the same with Exynos4's PMU_DEBUG including CLKOUT mux. So we can use the exynos4's clkout init function for Exynos3250 without the need to add new function. Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit ccdc45075aeaaa144af4177b85570eb26c2f5a8b Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Thu Mar 26 16:42:06 2015 -0700 leds: Don't treat the LED name as a format string The LED name was wrongly interpreted as format string. Stop doing that. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> commit 6f06c7f87cf54fa0fa6f95963d7c0d436eb56f43 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Thu Mar 26 16:42:05 2015 -0700 leds: Use log level warn instead of info when telling about a name clash The LED names are expected to be unique in the system. Use KERN_WARNING log level to notify the user about the matter. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> commit db6e3e8d016823c6b0f773c70a69ce65807d8a44 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 30 23:21:02 2015 +0300 Bluetooth: Refactor HCI request variables into own struct In order to shrink the size of bt_skb_cb, this patch moves the HCI request related variables into their own req_ctrl struct. Additionall the L2CAP and HCI request structs are placed inside the same union since they will never be used at the same time for the same skb. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a4368ff3ed3b57e4b5e36d83b75604f68bbcdaad Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 30 23:21:01 2015 +0300 Bluetooth: Refactor L2CAP variables into l2cap_ctrl We're getting very close to the maximum possible size of bt_skb_cb. To prepare to shrink the struct with the help of a union this patch moves all L2CAP related variables into the l2cap_ctrl struct. To later add other 'ctrl' structs the L2CAP one is renamed simple 'l2cap' instead of 'control'. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f3f03330dee0526d82f2a0fd1a79d207ed1ac439 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Mar 30 18:46:29 2015 +0200 nfsd: require an explicit option to enable pNFS Turns out sending out layouts to any client is a bad idea if they can't get at the storage device, so require explicit admin action to enable pNFS. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e0631a31b9ed501415e552a783b1f1e3988c7c46 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Mon Mar 30 14:22:13 2015 +0300 iio: Documentation: fix kernel version for 4.0 new ABI Kernel version for new ABI in 4.0 has been documented as 3.20, since the changes have been merged before the kernel version number change. Change kernel version from 3.20 to 4.0. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a96aa64cb5723d941de879a9cd1fea025d6acb1b Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Mon Mar 30 10:45:59 2015 -0700 leds/led-class: Handle LEDs with the same name The current code expected that every LED had an unique name. This is a legit expectation when the device tree can no be modified or extended. But with device tree overlays this requirement can be easily broken. This patch finds out if the name is already in use and adds the suffix _1, _2... if not. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 5ee047fb7ddd5ce65b804b0888fa32dd8536cda6 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Mar 30 02:50:11 2015 -0700 leds: lp8860: Fix typo in MODULE_DESCRIPTION in leds-lp8860.c This patch fix a spelling typo in MODULE_DESCRIPTION in leds-lp8860.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 336af37e38828dcc822d0ba53738d8996ca842a6 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Mar 30 02:50:10 2015 -0700 leds: lp8501: Fix typo in MODULE_DESCRIPTION in leds-lp8501.c This patch fix a spelling typo in MODULE_DESCRIPTION in leds-lp8501.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 116b8e164116be537f50cdcce84d80be0facd0cf Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Mar 26 07:03:09 2015 -0700 DT: leds: Add uniqueness requirement for 'label' property. Label is used for naming LED class devices. Since ePAPR doesn't require uniqueness for label properties, it has to be explicitly required in the LEDs common bindings documentation. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 5e23a35cf8b3c5c07111409d589590b9fb4305f6 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Mar 12 08:45:03 2015 -0700 dt-binding: leds: Add common LED DT bindings macros Add macros for defining boost mode and trigger type properties of flash LED devices. 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 93c64f1ea1e886a1e43e9b0215affdb696f1fe66 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Mar 12 08:47:08 2015 -0700 leds: add Qualcomm PM8941 WLED driver This adds support for the WLED ('White' LED) block on Qualcomm's PM8941 PMICs. (cooloney@xxxxxxxxx: remove unneeded semicolon) Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit cbbd896f25316e823af228432c690c35992d60f4 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Mar 12 08:47:07 2015 -0700 leds: add DT binding for Qualcomm PM8941 WLED block This adds device tree binding documentation for the WLED ('White' LED) block on Qualcomm's PM8941 PMICs. Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit a44b0f5edfc63dc06af9bb0ae473f7852d8d2cb6 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Mar 15 03:41:52 2015 -0700 leds: pca963x: Add missing initialiation of struct led_info.flags Only the name and default_trigger fields are initialized. Other fields (currently flags only) contain random stack data. Pre-initialize the led structure completely to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 9647507aff4d885d98a884a634d360b8f2d24c10 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Mar 12 08:45:02 2015 -0700 leds: flash: Fix the size of sysfs_groups array LED_FLASH_MAX_SYSFS_GROUPS macro had value that was relevant for previous version of the patches introducing LED Flash class. Currently it is required to reserve the room for maximum 4 sysfs groups. Since the last element of the struct attribute_group array passed to the function device_create_with_groups has to be NULL, the size of the array has to be greater by one than maximum allowed number of groups. Therefore, the name of the macro is being changed to LED_FLASH_SYSFS_GROUPS_SIZE, to make it more accurrate. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 622494a3560b13e05c9f2049bfab8e7fb12c67a2 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Feb 2 10:55:38 2015 +0000 drm: bridge/dw_hdmi: adjust n/cts setting order Patch derived from one from Yakir Yang. Yakir Yang says: For Designerware HDMI, the following write sequence is recommended: 1. aud_n3 (set bit ncts_atomic_write if desired) 2. aud_cts3 (set CTS_manual and CTS value if desired/enabled) 3. aud_cts2 (required in CTS_manual) 4. aud_cts1 (required in CTS_manual) 5. aud_n3 (bit ncts_atomic_write with same value as in step 1.) 6. aud_n2 7. aud_n1 However, avoid the ncts_atomic_write_bit and CTS_manual settings in this patch, both of which are marked reserved in the iMX6 documentation. All iMX6 code in the wild seems to want CTS_manual cleared. Having requested clarification from FSL, it appears that neither of these bits are implemented in their version of the IP. Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6bcf495317857e4e4cfb2e6f57fa8230cedc1362 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Feb 2 11:01:08 2015 +0000 drm: bridge/dw_hdmi: protect n/cts setting with a mutex The HDMI n/cts settings need to be updated whenever the audio sample rate or the video pixel clock changes. This needs to be protected against concurrency as there is no synchronisation between these two operations. Introduce a mutex (called audio_mutex) to protect against two threads trying to update the video clock rate and pixel clock simultaneously. Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 351e1354fcd06e96245f8fda141ac3cc2f68f763 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jan 31 14:50:23 2015 +0000 drm: bridge/dw_hdmi: combine hdmi_set_clock_regenerator_n() and hdmi_regenerate_cts() Combine these two functions into a single implementation. These two functions are called consecutively anyway. Idea from a patch by Yakir Yang. Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit fbef403aa7b377eb238dc6cade21213c315bc1a7 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Mar 27 13:35:55 2015 +0200 dmaengine: moxart-dma: Fix memory leak when stopping a running transfer The vd->node is removed from the lists when the transfer started so the vchan_get_all_descriptors() will not find it. This results memory leak. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f93178291712772983845700b12fc1c8b32f2eb1 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Mar 27 13:35:53 2015 +0200 dmaengine: bcm2835-dma: Fix memory leak when stopping a running transfer The vd->node is removed from the lists when the transfer started so the vchan_get_all_descriptors() will not find it. This results memory leak. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 02d88b735f5a60f04dbf6d051b76e1877a0d0844 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Mar 27 13:35:52 2015 +0200 dmaengine: omap-dma: Fix memory leak when terminating running transfer In omap_dma_start_desc the vdesc->node is removed from the virt-dma framework managed lists (to be precise from the desc_issued list). If a terminate_all comes before the transfer finishes the omap_desc will not be freed up because it is not in any of the lists and we stopped the DMA channel so the transfer will not going to complete. There is no special sequence for leaking memory when using cyclic (audio) transfer: with every start and stop of a cyclic transfer the driver leaks struct omap_desc worth of memory. Free up the allocated memory directly in omap_dma_terminate_all() since the framework will not going to do that for us. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> CC: <stable@xxxxxxxxxxxxxxx> CC: <linux-omap@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5ca9e7ce6eebec53362ff779264143860ccf68cd Author: Petr Kulhavy <petr@xxxxxxxxx> Date: Fri Mar 27 13:35:51 2015 +0200 dmaengine: edma: fix memory leak when terminating running transfers If edma_terminate_all() was called while a transfer was running (i.e. after edma_execute() but before edma_callback()) the echan->edesc was not freed. This was due to the fact that a running transfer is on none of the vchan lists: desc_submitted, desc_issued, desc_completed (edma_execute() removes it from the desc_issued list), so the vchan_dma_desc_free_list() called at the end of edma_terminate_all() didn't find it and didn't free it. This bug was found on an AM1808 based hardware (very similar to da850evm, however using the second MMC/SD controller), where intense operations on the SD card wasted the device 128MB RAM within a couple of days. Peter Ujfalusi: The issue is even more severe since it affects cyclic (audio) transfers as well. In this case starting/stopping audio will results memory leak. Signed-off-by: Petr Kulhavy <petr@xxxxxxxxx> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> CC: <stable@xxxxxxxxxxxxxxx> CC: <linux-omap@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d631c8cceb1d1d06f372878935949d421585186b Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Mar 27 17:39:49 2015 -0400 ring-buffer: Remove duplicate use of '&' in recursive code A clean up of the recursive protection code changed val = this_cpu_read(current_context); val--; val &= this_cpu_read(current_context); to val = this_cpu_read(current_context); val &= val & (val - 1); Which has a duplicate use of '&' as the above is the same as val = val & (val - 1); Actually, it would be best to remove that line altogether and just add it to where it is used. And Christoph even mentioned that it can be further compacted to just a single line: __this_cpu_and(current_context, __this_cpu_read(current_context) - 1); Link: http://lkml.kernel.org/alpine.DEB.2.11.1503271423580.23114@xxxxxxxxxx Suggested-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit ca76683930a1c6acb8dd22867eca2bedaab998e3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Mar 28 18:05:44 2015 +0100 dmaengine: jz4740: Define capabilities Setup the capabilities of the device/driver, so that users of the DMAengine API can query them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8d5fe8d5eda6854a4c7f5e1b98f3d884f0604137 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 30 13:30:25 2015 +0300 sata_dwc_460ex: indent an if statement We shuffled some code around in 8b3444852a2b ('sata_dwc_460ex: move to generic DMA driver') an accidentally deleted a tab character here. It causes a Smatch warning "if statement not indented". Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d44758c0dfc5993a4b9952935a7eae4c91ebb6b4 Author: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 24 12:00:02 2015 +0000 KVM: arm/arm64: enable KVM_CAP_IOEVENTFD As the infrastructure for eventfd has now been merged, report the ioeventfd capability as being supported. Signed-off-by: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx> [maz: grouped the case entry with the others, fixed commit log] Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 950324ab81bf006542f30a1d1ab3d65fcf15cbc1 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Sat Mar 28 01:13:13 2015 +0000 KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus Currently we have struct kvm_exit_mmio for encapsulating MMIO abort data to be passed on from syndrome decoding all the way down to the VGIC register handlers. Now as we switch the MMIO handling to be routed through the KVM MMIO bus, it does not make sense anymore to use that structure already from the beginning. So we keep the data in local variables until we put them into the kvm_io_bus framework. Then we fill kvm_exit_mmio in the VGIC only, making it a VGIC private structure. On that way we replace the data buffer in that structure with a pointer pointing to a single location in a local variable, so we get rid of some copying on the way. With all of the virtual GIC emulation code now being registered with the kvm_io_bus, we can remove all of the old MMIO handling code and its dispatching functionality. I didn't bother to rename kvm_exit_mmio (to vgic_mmio or something), because that touches a lot of code lines without any good reason. This is based on an original patch by Nikolay. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Cc: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit fb8f61abab48467ef670ef165ff664cdc94f742e Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:37 2015 +0000 KVM: arm/arm64: prepare GICv3 emulation to use kvm_io_bus MMIO handling Using the framework provided by the recent vgic.c changes, we register a kvm_io_bus device on mapping the virtual GICv3 resources. The distributor mapping is pretty straight forward, but the redistributors need some more love, since they need to be tagged with the respective redistributor (read: VCPU) they are connected with. We use the kvm_io_bus framework to register one devices per VCPU. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 0ba10d53920d030cd7772a9553b13b5ea1aa4115 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:36 2015 +0000 KVM: arm/arm64: merge GICv3 RD_base and SGI_base register frames Currently we handle the redistributor registers in two separate MMIO regions, one for the overall behaviour and SPIs and one for the SGIs/PPIs. That latter forces the creation of _two_ KVM I/O bus devices for each redistributor. Since the spec mandates those two pages to be contigious, we could as well merge them and save the churn with the second KVM I/O bus device. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 1696d1deb05710f246f62e810034fb5d8d7713bd Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Mar 27 06:03:41 2015 -0700 hwmon: (it87) Fix pwm sysfs attribute removal Detection if a pwm channel is supported was wrong on removal, causing the code to try removing non-existing sysfs attributes. That didn't matter much because sysfs attribute removal of non-existing files fails silently, and because the wrong evaluation always returned false, but should nevertheless be fixed. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit bc917be8105993c256338ad1189650364a741483 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 17:45:43 2015 -0400 saner iov_iter initialization primitives iovec-backed iov_iter instances are assumed to satisfy several properties: * no more than UIO_MAXIOV elements in iovec array * total size of all ranges is no more than MAX_RW_COUNT * all ranges pass access_ok(). The problem is, invariants of data structures should be established in the primitives creating those data structures, not in the code using those primitives. And iov_iter_init() violates that principle. For a while we managed to get away with that, but once the use of iov_iter started to spread, it didn't take long for shit to hit the fan - missed check in sys_sendto() had introduced a roothole. We _do_ have primitives for importing and validating iovecs (both native and compat ones) and those primitives are almost always followed by shoving the resulting iovec into iov_iter. Life would be considerably simpler (and safer) if we combined those primitives with initializing iov_iter. That gives us two new primitives - import_iovec() and compat_import_iovec(). Calling conventions: iovec = iov_array; err = import_iovec(direction, uvec, nr_segs, ARRAY_SIZE(iov_array), &iovec, &iter); imports user vector into kernel space (into iov_array if it fits, allocated if it doesn't fit or if iovec was NULL), validates it and sets iter up to refer to it. On success 0 is returned and allocated kernel copy (or NULL if the array had fit into caller-supplied one) is returned via iovec. On failure all allocations are undone and -E... is returned. If the total size of ranges exceeds MAX_RW_COUNT, the excess is silently truncated. compat_import_iovec() expects uvec to be a pointer to user array of compat_iovec; otherwise it's identical to import_iovec(). Finally, import_single_range() sets iov_iter backed by single-element iovec covering a user-supplied range - err = import_single_range(direction, address, size, iovec, &iter); does validation and sets iter up. Again, size in excess of MAX_RW_COUNT gets silently truncated. Next commits will be switching the things up to use of those and reducing the amount of iov_iter_init() instances. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c76cbbcf404475f8885b2252049dac99b0614868 Author: Wei Fang <fangwei1@xxxxxxxxxx> Date: Mon Mar 30 09:07:00 2015 -0600 blk-mq: put blk_queue_rq_timeout together in blk_mq_init_queue() Don't assign ->rq_timeout twice. Signed-off-by: Wei Fang <fangwei1@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f9018ac9308ea415e659cfbdda040504ef92597b Author: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Date: Mon Mar 30 13:19:14 2015 +0800 block: remove redundant check about 'set->nr_hw_queues' in blk_mq_alloc_tag_set() At the beginning of blk_mq_alloc_tag_set(), we have already checked whether 'set->nr_hw_queues' is zero, so here remove this redundant check. Signed-off-by: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ee73c61c0af590ff2c03fb83e68a5664bd8b38d0 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 11:02:10 2015 +0000 drm/i915: Skip allocating shadow batch for 0-length batches Since commit 17cabf571e50677d980e9ab2a43c5f11213003ae Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 11:20:57 2015 +0000 drm/i915: Trim the command parser allocations we may then try to allocate a zero-sized object and attempt to extract its pages. Understandably this fails. Note that the real offender seems to be commit b9ffd80ed659c559152c042e74741f4f60cac691 Author: Brad Volkin <bradley.d.volkin@xxxxxxxxx> Date: Thu Dec 11 12:13:10 2014 -0800 drm/i915: Use batch length instead of object size in command parser Testcase: igt/gem_exec_nop #ivb,byt,hsw Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [cherry picked from commit 743e78c1d726d875b98ff9689cc77c4d3d5d9ae2 from drm-intel-next because 4.0 seems to be affected by this too, despite that the obvious culprit is definitely not in 4.0. Whatever, if fixes a bug. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 2f729b10bb74f97797beb310113f6182f262d36a Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Date: Sun Mar 29 01:27:17 2015 +0300 KVM: remove useless check of "ret" variable prior to returning the same value A trivial code cleanup. This `if` is redundant. Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Message-Id: <20150328222717.GA6508@gnote> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a0211bb482c346820506c546a6a58b8357999a99 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Mar 30 14:05:43 2015 +0300 drm/atomic: Don't try to free a NULL state Consistently with other free functions, handle the NULL case without oopsing. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b32a99180027ec980af971d548781eac1f6bb9b5 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Sun Mar 29 16:33:04 2015 +0300 KVM: x86: Remove redundant definitions Some constants are redfined in emulate.c. Avoid it. s/SELECTOR_RPL_MASK/SEGMENT_RPL_MASK s/SELECTOR_TI_MASK/SEGMENT_TI_MASK No functional change. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427635984-8113-3-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0efb04406de834d820f7ba150a00d1d3194aa8a6 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Sun Mar 29 16:33:03 2015 +0300 KVM: x86: removing redundant eflags bits definitions The eflags are redefined (using other defines) in emulate.c. Use the definition from processor-flags.h as some mess already started. No functional change. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427635984-8113-2-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 900efe200e317649aecbeaa55619a4fc3adb2251 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Mon Mar 30 15:39:21 2015 +0300 KVM: x86: BSF and BSR emulation change register unnecassarily If the source of BSF and BSR is zero, the destination register should not change. That is how real hardware behaves. If we set the destination even with the same value that we had before, we may clear bits [63:32] unnecassarily. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427719163-5429-4-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6fd8e1275709a5bb084847eda6730b983538a572 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Mon Mar 30 15:39:20 2015 +0300 KVM: x86: POPA emulation may not clear bits [63:32] POPA should assign the values to the registers as usual registers are assigned. In other words, 32-bits register assignments should clear bits [63:32] of the register. Split the code of register assignments that will be used by future changes as well. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427719163-5429-3-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b91aa14d95bf4cf8ed0426bd25c0af1548519696 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Mon Mar 30 15:39:19 2015 +0300 KVM: x86: CMOV emulation on legacy mode is wrong On legacy mode CMOV emulation should still clear bits [63:32] even if the assignment is not done. The previous fix 140bad89fd ("KVM: x86: emulation of dword cmov on long-mode should clear [63:32]") was incomplete. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Message-Id: <1427719163-5429-2-git-send-email-namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2dccb4cdbf8fd4cb1d779a6f7ddd66d193bb5805 Author: Petr Matousek <pmatouse@xxxxxxxxxx> Date: Wed Mar 11 12:16:09 2015 +0100 kvm: x86: i8259: return initialized data on invalid-size read If data is read from PIC with invalid access size, the return data stays uninitialized even though success is returned. Fix this by always initializing the data. Signed-off-by: Petr Matousek <pmatouse@xxxxxxxxxx> Reported-by: Nadav Amit <nadav.amit@xxxxxxxxx> Message-Id: <20150311111609.GG8544@xxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6e0aa8018f9c676b115b7ca6c20a056fc57c68a9 Merge: 1ff27a3 e42391c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Mar 30 16:37:08 2015 +0200 Merge tag 'v4.0-rc6' into drm-intel-next Backmerge Linux 4.0-rc6 because conflicts are (again) getting out of hand. To make sure we don't lose any bugfixes from the 4.0-rc5-rc6 flurry of patches we've applied them all to -next too. Conflicts: drivers/gpu/drm/i915/intel_display.c Always take the version from -next, we've already handled all conflicts with explicit cherrypicking. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 65844bb0a7861eefa3ce44cd788163ecc4e14f2d Merge: b3a2a90 d952bd0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Mar 30 16:37:06 2015 +0200 Merge tag 'kvm_mips_20150327' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/kvm-mips into kvm-next MIPS KVM Guest FPU & SIMD (MSA) Support Add guest FPU and MIPS SIMD Architecture (MSA) support to MIPS KVM, by enabling the host FPU/MSA while in guest mode. This adds two new KVM capabilities, KVM_CAP_MIPS_FPU & KVM_CAP_MIPS_MSA, and supports the 3 FP register modes (FR=0, FR=1, FRE=1), and 128-bit MSA vector registers, with lazy FPU/MSA context save and restore. Some required MIPS FP/MSA fixes are merged in from a branch in the MIPS tree first. commit 7b4ddfa7c9523a19fca30830f8b426964d359da2 Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Tue Mar 24 09:37:53 2015 -0500 gfs2: incorrect check for debugfs returns debugfs_create_dir and debugfs_create_file may return -ENODEV when debugfs is not configured, so the return value should be checked against ERROR_VALUE as well, otherwise the later dereference of the dentry pointer would crash the kernel. Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 6ab2b762befd192b90704c5c7898f5abf8ebb387 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Mar 28 11:30:30 2015 +0100 perf build: Disable libbabeltrace check by default Disabling libbabeltrace check by default and replacing the NO_LIBBABELTRACE make variable with LIBBABELTRACE. Users wanting the libbabeltrace feature need to build via: $ make LIBBABELTRACE=1 The reason for this is that the libababeltrace interface we use (version 1.3) hasn't been packaged/released yet, thus the failing feature check only slows down build and confuses other (non CTF) developers. Requested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150328103030.GA8431@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2c44be81f0fc147eed9dc63e2601318b2c007aeb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Mar 30 15:09:20 2015 +0200 mac80211: set QoS capability before changing station state In the upcoming fast-xmit patch, changing station state will build a header cache based on the station's capabilities, and as the QoS capability (sta.wme) impacts the header, it needs to be set before. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8e047c120fb2ccb7b7aba8f5e9224e463f86bebc Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Mar 30 13:06:57 2015 +0100 ARM: dts: hummingboard: add sgtl5000 support for Hummingboard Pro Add the DT description for the SGTL5000 found on the Hummingboard Pro model. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit ba867bc60a44cb8519b7d674c8ab37d139da6910 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Mar 30 16:12:55 2015 +0800 mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias This is a I2C driver, so it's wrong to use platform prefix for the modalias. We have all needed i2c aliases coming form MODULE_DEVICE_TABLE, so let's remove the wrong and unneeded "platform:twl6040" modalias. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1a327ffd3d6a79ed85d53b683c185196060ac3b3 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Mar 30 11:11:49 2015 +0200 s390/syscalls: simplify syscall_get_arch() Given that sizeof(long) is now always 8, we can simplify syscall_get_arch() a bit. Just another piece I didn't find when removing 31 bit support. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5c5506bdaf9a2ce79855eb4fd535b6399dcbfed4 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Sun Mar 29 22:00:35 2015 +0200 ARM: dts: imx25-pinfunc: Add several pinfunctions This patch adds some not yet defined pinfunctions. It also adds two comments about mistakes in the i.MX25 reference manual so it is easier to spot the difference between reference manual and pinfunction definitions. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 53f643d23b6025fc4ddfbb0370d56aa8745bd85c Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Mar 30 12:10:39 2015 +0800 ARM: dts: vf610: fix missing irqs While adding the MSCM interrupt router, all interrupts have been moved to vfxxx.dtsi again. However, some properties got lost. Readd the missing interrupt properties. Fixes: 97e6466ab9d0 ("ARM: dts: vf610: add Miscellaneous System Control Module (MSCM)") Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 3274af07c924fbb682bd4a8eb25bcf41f899d50a Author: George Joseph <george.joseph@xxxxxxxxxxxxx> Date: Tue Mar 24 10:31:35 2015 -0600 ARM: dts: cubox: Map gpio-keys to gpio3 8 The Cubox has a recessed button between the HDMI and RJ-45 connectors that wasn't mapped in the device tree, so I've mapped it to gpio-keys BTN_0. Signed-off-by: George Joseph <george.joseph@xxxxxxxxxxxxx> Tested-by: George Joseph <george.joseph@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 85fc20b2ad9937fccbff3b47841f33d47e5e62c8 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Mar 16 10:47:25 2015 +0100 ARM: DTS: Add watchdog to mt6589 This patch adds the watchdog to the device tree of Mediatek mt6589 SoC. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 475bfd3d67fa8f7e9cbc08a943b5e8cb6f70044d Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Mar 30 11:29:35 2015 +0100 arm64: defconfig: updates for 4.1 Enable a few useful options in our defconfig: - New platform support (exynos7, seattle, tegra132) - SKY2 (ethernet in newer revisions of Juno) - Xgene reboot support - Virtio-pci for kvmtool and qemu - EFIVAR_FS (previously selected as a module) - NFSv4 Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 979275897e5c52945ae10adba98453cf9e2715d2 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Mar 17 11:14:33 2015 +0100 dt-bindings: ARM: Mediatek: document binding for the PMIC wrapper This adds documentation for the PMIC wrapper unit found on Mediatek SoCs. Currently support are the MT8135 and MT8173 SoCs, but the PMIC wrapper can also be found on MT6xxx and possibly other SoCs. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 1f022d84bd193ec88b01c6d2cb5b6647cb20a02f Author: Flora Fu <flora.fu@xxxxxxxxxxxx> Date: Tue Mar 17 11:14:34 2015 +0100 soc: mediatek: Add PMIC wrapper for MT8135 and MT8173 SoCs This adds support for the PMIC wrapper found on MediaTek MT8135 and MT8173 SoCs. The PMIC wrapper is found on MT6xxx SoCs aswell but these are currently not supported. On MediaTek MT8135, MT8173 and other SoCs the PMIC is connected via SPI. The SPI master interface is not directly visible to the CPU, but only through the PMIC wrapper inside the SoC. The communication between the SoC and the PMIC can optionally be encrypted. Also a non standard Dual IO SPI mode can be used to increase speed. The MT8135 also supports a special feature named "IP Pairing". With IP Pairing the pins of some SoC internal peripherals can be on the PMIC. The signals of these pins are routed over the SPI bus using the pwrap bridge. Because of these optional non SPI conform features the PMIC driver is not implemented as a SPI bus master driver. Signed-off-by: Flora Fu, MediaTek Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 359b706473b47da3c93bd99fd10d798fe411ab67 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 13:09:23 2015 +0000 arm64: Extract feature parsing code from cpu_errata.c As we detect more architectural features at runtime, it makes sense to reuse the existing framework whilst avoiding to call a feature an erratum... This patch extract the core capability parsing, moves it into a new file (cpufeature.c), and let the CPU errata detection code use it. Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fef7f2b2010381c795ae43743ad31931cc58f5ad Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 13:09:22 2015 +0000 arm64: alternative: Allow immediate branch as alternative instruction Since all immediate branches are PC-relative on Aarch64, these instructions cannot be used as an alternative with the simplistic approach we currently have (the immediate has been computed from the .altinstr_replacement section, and end-up being completely off if we insert it directly). This patch handles the b and bl instructions in a different way, using the insn framework to recompute the immediate, and generate the right displacement. Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0978fb25f86b7595821cee6955679250d47c6438 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 13:09:21 2015 +0000 arm64: insn: Add aarch64_insn_decode_immediate Patching an instruction sometimes requires extracting the immediate field from this instruction. To facilitate this, and avoid potential duplication of code, add aarch64_insn_decode_immediate as the reciprocal to aarch64_insn_encode_immediate. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 03650bd2010b117c5c16a75278b0d01def8e9376 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Mar 12 15:48:09 2015 +0100 ARM: tegra: Add EMC timings to Nyan Blaze device tree This adds a new file, tegra124-nyan-blaze-emc.dtsi that contains valid timings for the EMC memory clock. The file is included to the main device tree file for the Nyan Blaze. The frequency 528MHz is missing because we don't currently have a timing configuration that works. Additionally, only the timings for the ram-code 1 is present as that's what could be tested currently, though downstream has timings for more ram-codes. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3182c7c6c7244c0ecfc47dad35acfd5f67203a25 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Mar 12 15:48:08 2015 +0100 ARM: tegra: Add EMC timings to Nyan Big device tree This adds a new file, tegra124-nyan-big-emc.dtsi that contains valid timings for the EMC memory clock. The file is included to the main device tree file for the Nyan Big. The frequency 528MHz is missing because we don't currently have a timing configuration that works. Additionally, only the timings for the ram-code 1 is present as that's what could be tested currently, though downstream has timings for more ram-codes. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 6e72cf002708ea636555beacda455cca4a5548d4 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Thu Mar 12 15:48:01 2015 +0100 ARM: tegra: Add EMC timings to Jetson TK1 device tree This adds a new file, tegra124-jetson-tk1-emc.dtsi that contains valid timings for the EMC memory clock. The file is included to the main Jetson TK1 device tree. The data is generated from the V5.0.17 version of the DVFS tables. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b273c8873757a9f990d5aa62af7eeea168bc20c6 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Thu Mar 12 15:48:00 2015 +0100 ARM: tegra: Add EMC to Tegra124 device tree This adds a node for the EMC memory controller. It is always enabled, but only provides read-only functionality without board-specific timing tables. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c5f8e8ca09e5700cb643ffa78d311f43a16e6432 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:18 2015 +0100 ARM: tegra: Add Tegra124 ACTMON support Add device node for the ACTMON block to the Tegra124 device tree. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 552644687838089766457612f6dcf1c897ea09a8 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Mar 17 10:36:11 2015 +0100 of: Add binding for NVIDIA Tegra ACTMON node This block gathers statistics about various counters and can be configured to fire interrupts when thresholds are crossed. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> [treding@xxxxxxxxxx: rename document, minor cleanups] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8a5c0bde54ca0354ae8b7e9d37d17bc514aa6c42 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Mar 30 10:41:19 2015 +0300 drm/atomic: Clear crtcs, connectors and planes when clearing state Users of the atomic state assume that if the pointer to a crtc, plane or connector is not NULL in the respective object vector, than the state for that object in *_states vector also won't be NULL. That assumption was broken by drm_atomic_state_clear(), which would clear the state pointer but leave the pointer to the object still set. This fixes a NULL pointer dereference in i915 caused by the use of drm_atomic_state_clear(). Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dc716bbf1d487503110139b019c3e6e526bf7cc8 Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Tue Mar 17 12:47:24 2015 +0200 mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's Some of the PMIC's could have specific regmap configuration tables in future, so add specific compatible strings for known PMIC's. Also print runtime detected chip revision information. Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c31e858b1ae5a7d0b0beb37f66b1f0e1effa0c6e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Mar 24 11:21:17 2015 +0100 mfd: axp20x: Fix duplicate const for model names Replace duplicated const keyword for 'axp20x_model_names' with proper array of const pointers to const strings. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit dfe514b67a05edc14a7aa0579d1ab2378fa9e4c5 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 22:45:37 2015 +0200 mfd: menelaus: Use macro for magic number Use macro to check a register bit. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1ea8684e1e0d7453f65a1ed69c2d0b890bfb9e33 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 22:45:36 2015 +0200 mfd: menelaus: Drop support for SW controller VCORE Drop support for SW controlled VCORE, nobody uses it. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5cdc7f02162aa8b980bd5d89e86fd94de0285ca3 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Mar 28 22:45:35 2015 +0200 mfd: menelaus: Delete omap_has_menelaus Delete unused macro. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6e00ff079354ee72fe95cb61a3993962074a2592 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sun Mar 29 12:45:42 2015 +0100 mfd: arizona: Correct type of gpio_defaults gpio_defaults needs to be specified as an unsigned int rather than an int, because the intention of the DT binding is that all out of range values for a 16-bit register will cause the defaults to be used, however, if gpio_defaults is an int then values that are larger than INT_MAX will become negative numbers and be written out directly to the hardware. As no where in the code replies on gpio_defaults being an int, the simplest fix is to just change it to unsigned. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit aec9038ec9c60a6ffbf2617859201befa87746d6 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 27 20:06:01 2015 +0200 mfd: lpc_ich: Sort IDs This patch just sorts IDs in the table for better maintenance. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 78c059c65a8d6f4d06803295a776d70fe0fab521 Author: Å?ukasz Stelmach <stlman@xxxxxxxxx> Date: Fri Mar 27 21:39:59 2015 +0100 mfd: Fix a typo in Kconfig Signed-off-by: Å?ukasz Stelmach <stlman@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 070e176a758e5c96f112d6fc6c348fe4daef99a5 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Mon Mar 30 11:16:23 2015 +0300 mac80211: send HT/VHT IEs in TDLS discovery response These are mandated by IEEE802.11-2012 section 8.5.8.6 and IEEE802.11ac-2013 section 8.5.8.16. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit abcff6ef01f9ffa6958e50457574132f8f786308 Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Fri Mar 20 06:37:01 2015 +0100 mac80211: add VHT support for IBSS Add VHT support for IBSS. Drivers could activate this feature by setting NL80211_EXT_FEATURE_VHT_IBSS flag. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 76bed0f43b27d37cbe5fe9f3c27362db59451dea Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Fri Mar 20 06:37:00 2015 +0100 mac80211: IBSS fix scan request In case of wide bandwidth (wider than 20MHz) used by IBSS, scan all channels in chandef to be able to find neighboring IBSS netwqworks that use the same overall channels but a different control channel. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 97ffe75791b3e9c0797d5891070e41321c3beccb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sat Mar 21 09:13:45 2015 +0100 mac80211: factor out station lookup from ieee80211_build_hdr() In order to look up the RA station earlier to implement a TX fastpath, factor out the lookup from ieee80211_build_hdr(). To always have a valid station pointer, also move some of the checks into the new function. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 527871d7206dac2733d0bae52f5a328811d299ee Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sat Mar 21 08:09:55 2015 +0100 mac80211: make sta.wme indicate whether QoS is used Indicating just the peer's capability is fairly pointless if the local device doesn't support it. Make the variable track both combined, and remove the 'local support' check in the TX path. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a73f8e21f3f93159bc19e154e8f50891c22c11db Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sat Mar 21 07:41:04 2015 +0100 mac80211: send AP probe as unicast again Louis reported that a static checker was complaining that the 'dst' variable was set (multiple times) but not used. This is due to a previous commit having removed the usage (apparently erroneously), so add it back. Fixes: a344d6778a98 ("mac80211: allow drivers to support NL80211_SCAN_FLAG_RANDOM_ADDR") Reported-by: Louis Langholtz <lou_langholtz@xxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ffbae6b719227662f3baca349d1e17ac7e652ec4 Author: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Date: Mon Mar 2 20:03:59 2015 +0000 ARM: dts: hummingboard: Setup pwm lines Setup pwm lines as follows - pwm1: In case HummingBoard base carrier; this pin drives through a serial capacitor the mono out of the audio jack. In case HummingBoard pro the this pad can be reached by wiring to C8 capacitors on the board. pwm2: Setup pwm2 on gpio-1 but leave the default function of the iopad as a gpio. The user can change the io pad mux in user space and therefore use this function on gpio-1 (pin number 7 on the 26 pin header). pwm3,pwm4: unused Signed-off-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> [tweaked alias for pwm pinctrl group --rmk] Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit a931bbbc64f671340f98dfd3f74f3a2901a60cfc Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Mar 2 20:03:54 2015 +0000 ARM: dts: hummingboard: enable PCF8523 RTC support Enable the commented out PCF8523 RTC support for Hummingboard pro base boards. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 42919c5c1487dcd7e886da7c3818e28b1455b00a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Mar 2 20:00:50 2015 +0000 ARM: dts: Re-license SolidRun iMX6 platform DT GPL v2/X11 Update SolidRun iMX6 platforms DT descriptions to be dual-licensed. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Acked-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 8f0b07a4285c03ee8aed286ff32bcbd7f9b47c42 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Mar 19 10:55:47 2015 +0100 ARM: dts: imx28: add alternative pinmuxing for spi3 Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 6f9dbfda4893e2203b40e9d1d25de1e0902de92b Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Mar 14 12:47:48 2015 -0300 ARM: dts: imx6sx: Add label snvs_rtc It may be useful to disable the internal snvs-rtc when an external rtc is available. This patch adds a label so that dts files can disable it. Based on a patch from Markus Pargmann for imx6qdl.dtsi. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 8716186f5c3c0d647fbac8d216fc86263e1c6cdb Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Mar 14 12:47:47 2015 -0300 ARM: dts: imx6sl: Add label snvs_rtc It may be useful to disable the internal snvs-rtc when an external rtc is available. This patch adds a label so that dts files can disable it. Based on a patch from Markus Pargmann for imx6qdl.dtsi. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 14517564795a5cd22e2da3119037f9883383fae9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 13 16:05:37 2015 +0000 ARM: imx6: Warn when an old DT is detected Now that the GPC has been converted to be a full blown irqchip (and not a mole on the side of the GIC), booting a new kernel with an old DT is likely to result in a rough ride for the user. This patch makes sure such a situation is promptly detected and the user made aware that a DT update is in order. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit e33b67523f556aa7ddb09f1c7fa4de5c080670c9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Mar 12 08:40:37 2015 +0000 ARM: imx6: Allow GPC interrupts affinity to be changed While converting the GPC code to a stacked irqchip, we lost the possibility to change the CPU affinity of an interrupt routed through the GPC. This patch restore the expected behaviour by forwarding the affinity setup to the underlying irqchip (GIC). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 4e18a2243a8783010cc2c3c1c454e2eb279c0486 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 13 14:21:42 2015 +0800 ARM: imx6qdl-sabreauto.dtsi: add max7310 support max7310 is an i2c interface gpio expander Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 159097f86d6fa90bbd5dc954c1beeb7b800af92f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Mar 12 19:07:12 2015 -0300 ARM: dts: imx6sl-warp: Add BCM4330 support Warp has a Murata chip based on a BCM4330 that provides Wifi and Bluetooth functionality. Add support for it. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit e9b16e9cae90e9e588f2a35df54b50439dd8fed8 Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Wed Mar 11 16:06:01 2015 +0100 ARM: dts: imx28-apf28dev: add wakeup function to user button Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 816bd40186bfc7daad1ac66f73933a52669b8482 Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Wed Mar 11 16:06:00 2015 +0100 ARM: dts: imx28-apf28dev: fix user button polarity Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 6ada7bf59ba7e8c9af74bda44c49d37989922a35 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Mar 12 16:03:08 2015 +0100 ARM: dts: imx25-pinfunc: remove input values for pinfuncs without input register input values are only useful for pin functions which define a input register. This patch removes all input values of pin functions which do not have an input configuration register. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit c09d0f7ce05fb2d85edab12c99f0beb8f5c8f487 Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 1 23:41:29 2015 +0100 ARM: dts: vf610: add Miscellaneous System Control Module (MSCM) Add the Miscellaneous System Control Module (MSCM) to the base device tree for Vybrid SoC's. This module contains registers to get information of the individual and current (accessing) CPU. In a second block, there is an interrupt router, which handles the routing of the interrupts between the two CPU cores on VF6xx variants of the SoC. However, also on single core variants the interrupt router needs to be configured in order to receive interrupts on the CPU's interrupt controller. Almost all peripheral interrupts are routed through the router, hence the MSCM module is the default interrupt parent for this SoC. In a earlier commit the interrupt nodes were moved out of the peripheral nodes and specified in the CPU specific vf500.dtsi device tree. This allowed to use the base device tree vfxxx.dtsi also for a Cortex-M4 specific device tree, which uses different interrupt nodes due to the NVIC interrupt controller. However, since the interrupt parent for peripherals is the MSCM module independently which CPU the device tree is used for, we can move the interrupt nodes into the base device tree vfxxx.dtsi again. Depending on which CPU this base device tree will be used with, the correct parent interrupt controller has to be assigned to the MSCM-IR node (GIC or NVIC). The driver takes care of the parent interrupt controller specific needs (interrupt-cells). Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 649b1fe856ad577a5db1b613c9fb0167a10abd8c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Mar 9 23:33:22 2015 -0300 ARM: dts: imx6sl-warp: Pass 'bus-width' property USDHC2 port uses all the 8 data signals, so pass the 'bus-width' property accordingly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit e2675266b39b979d1d60b3671d5053af4a719be0 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Mar 9 17:40:36 2015 +0100 ARM: dts: imx6qdl: disable PWMs by default Since PWMs are only useful if they are actually connected to an output pin, let users enable them explicitly in their device trees where they should also set up the pin configuration. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 7cdbec1f5d30fca90a73099505ea833ad3b6d027 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Mar 9 17:40:35 2015 +0100 ARM: dts: hummingboard/cubox-i: enable front LED PWM explicitly All PWM users should explicitly enable the used PWMs in their device tree so they can be disabled by default in imx6qdl.dtsi. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 22c765b9210f13aa8b6857a226b6600b68b54e2e Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Mar 9 17:40:34 2015 +0100 ARM: dts: imx6dl-aristainetos: enable backlight PWM explicitly All PWM users should explicitly enable the used PWMs in their device tree so they can be disabled by default in imx6qdl.dtsi. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 40130d327f7206c76838cf8efd180d960e4ce454 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 23 18:40:15 2015 +0100 ARM: dts: imx6qdl: Allow disabling the PU regulator, add a enable ramp delay The PU regulator is enabled during boot, but not necessarily always-on. It can be disabled by the generic pm domain framework when the PU power domain is shut down. The ramp delay of 150 us might be a bit conservative, the value is taken from the Freescale kernel. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 016dbd7ad54cc6cdf05df5df5d98fbef09d82ebd Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 23 18:40:14 2015 +0100 ARM: dts: imx6sl: Add power-domain information to gpc node The PGC that is part of GPC controls isolation and power sequencing of the power domains. The PU power domain will be handled by the generic pm domain framework. It needs a phandle to the PU regulator to turn off power when the domain is disabled and a list of clocks to be enabled during powerup for reset propagation. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 729c88812fa0fdb5188b23b6da425619741faf6d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 23 18:40:13 2015 +0100 ARM: dts: imx6qdl: Add power-domain information to gpc node The PGC that is part of GPC controls isolation and power sequencing of the power domains. The PU power domain will be handled by the generic pm domain framework. It needs a phandle to the PU regulator to turn off power when the domain is disabled, and a list of phandles to all clocks that must be enabled during powerup for reset propagation. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 3ec481ed05a5d4b567d5063483a0fdca5b81a6ae Author: Matt Porter <mporter@xxxxxxxxxxxx> Date: Fri Feb 27 09:06:00 2015 -0500 ARM: dts: imx: Add dr_mode host setting to all host-only usb instances The chipidea driver adds an extra line of spam to the log when a host-only chipidea instance is left set to the default of a dual role controller. [ 2.010873] ci_hdrc ci_hdrc.1: doesn't support gadget Set the dr_mode property to host on all the host-only nodes to avoid this warning. Signed-off-by: Matt Porter <mporter@xxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 27b0b9d8515f1315ba3ec848aa58cf936200fe07 Author: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Date: Tue Mar 3 00:41:45 2015 -0300 ARM: dts: warp: Add initial WaRP Board support The WaRP Board is a Wearable Reference Plaform. The board features: - Freescale i.MX6 SoloLite processor with 512MB of RAM - Freescale FXOS8700CQ 6-axis Xtrinsic sensor - Freescale Kinetis KL16 MCU - Freescale Xtrinsic MMA955xL intelligent motion sensing platform The board implements a hybrid architecture to address the evolving needs of the wearables market. The platform consists of a main board and an example daughtercard with the ability to add additional daughtercards for different usage models. For more information about the project, visit: http://www.warpboard.org/ Signed-off-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 7c8a0353799b2813a606b8862a6c43ed33df079a Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Mar 2 16:58:01 2015 +0100 ARM: dts: vf610: remove unused gpio-range-cells property The anyway depricated gpio-range-cells property was never used by the pin controller driver. This patch removes it. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit b923ff6af0d5a806a3996dac6d4393cd9792d0f4 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Feb 23 17:45:18 2015 +0000 ARM: imx6: convert GPC to stacked domains IMX6 has been (ab)using the gic_arch_extn to provide wakeup from suspend, and it makes a lot of sense to convert this code to use stacked domains instead. This patch does just this, updating the DT files to actually reflect what the HW provides. BIG FAT WARNING: because the DTs were so far lying by not exposing the fact that the GPC block is actually the first interrupt controller in the chain, kernels with this patch applied wont have any suspend-resume facility when booted with old DTs, and old kernels with updated DTs won't even boot. Tested-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 07862e13e60305e3026aaff88c764b4bafa02a64 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Mar 23 17:08:14 2015 +0300 mac80111: aes_gcm: clean up ieee80211_aes_gcm_key_setup_encrypt() This code is written using an anti-pattern called "success handling" which makes it hard to read, especially if you are used to normal kernel style. It should instead be written as a list of directives in a row with branches for error handling. (Basically copied from Dan's previous patch for CCM) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 45fd63293a214c48d6d3856bb39cf207a805dfda Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 17:08:14 2015 +0300 mac80111: aes_ccm: cleanup ieee80211_aes_key_setup_encrypt() This code is written using an anti-pattern called "success handling" which makes it hard to read, especially if you are used to normal kernel style. It should instead be written as a list of directives in a row with branches for error handling. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit fc26d5f29b0d056699e8921bcb1a0ec709122596 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Feb 21 16:27:18 2015 -0200 ARM: dts: imx25-pdk: Add LCD support Add support for the CLAA057VC01CW display. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 18e2b50407fb82bc7e35abd4affd2da623b6b653 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sat Feb 21 15:31:23 2015 +0100 ARM: dts: imx25-pinfunc: more defines Add some defines currently missing, fix ordering to make the list sorted by (mux_reg, mux_val), make sure pins are grouped by mux_reg. The same definitions are missing from the old pinmux header (arch/arm/mach-imx/iomux-mx25.h) but as only legacy machine support uses that and therefor the existing list is obviously good enough I didn't spend the effort to add the corresponding definitions there, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 54a6bcb82ec06ba656f64b0ce470b26f3cd050b0 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sat Feb 21 15:31:22 2015 +0100 ARM: imx25: fix some wrong iomux definitions Noticed while looking over the pad definitions. None of the bogus definitions is used in-tree. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit b1df649b4a765cf2e5fe7411081ed782cf27e550 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Feb 20 17:04:09 2015 +0100 ARM: dts: imx6qdl: Add label snvs_rtc It may be useful to disable the internal rtc snvs-rtc because an external rtc is available. This patch adds a label so that board files can disable this rtc. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit f1646e88ddf29d04527b9b3c649229083bdae3cd Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Fri Feb 13 15:12:05 2015 +0100 ARM: dts: imx28-apf28dev: add support for auart0 Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit d5ee087a664403c92f70a25e5d31e8d7d348241d Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Fri Feb 13 15:12:04 2015 +0100 ARM: dts: imx28-apf28dev: add support for can0 Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 9648bb4873e9dc73172584dd9bb07d63372d94a8 Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Fri Feb 13 15:12:03 2015 +0100 ARM: dts: imx28-apf28dev: fix mac1 gpio location and polarity Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 2fd05c97ac1fec9c69384a89afcdd0cddc462170 Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Fri Feb 13 15:12:02 2015 +0100 ARM: dts: imx28-apf28: fix mac0 gpio polarity Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 94d5f33c8e1bd527ceac54d6ea811666a0e563c0 Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Date: Fri Feb 13 15:12:01 2015 +0100 ARM: dts: imx28-apf28dev: Add pinctrl for USB OTG ID pin Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx> Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 70c2652c6c5be75b897bc172f6dbdd3c491edc54 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:31 2015 +0800 ARM: dts: imx6qdl: Move existing MIPI DSI ports into a new 'ports' node The MIPI DSI node contains some ports which represent possible DRM CRTCs it can connect with. Each port has a 'reg' property embedded. This property will be wrongly interpretted by the MIPI DSI bus driver, because the driver will take each subnode which contains a 'reg' property as a DSI peripheral device. This patch moves the existing MIPI DSI ports into a new 'ports' node so that the MIPI DSI bus driver may distinguish its DSI peripheral device(s) from the existing ports. Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 54183bd7f7662930ec52ef6bbe20ed1a805262d7 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Feb 26 16:28:30 2015 +0800 ARM: imx6sx-sdb: add revb board and make it default Since imx6sx-sdb reva board is experimental and will not be used formally (eg, no software release based on it), we set revb board as the formal imx6sx-sdb board. The imx6sx-sdb uses pfuse200 as pmic which has only one power supply for both VDDARM_IN and VDDSOC_IN, so VDDARM_IN and VDDSOC_IN have to use the same (higher one in the same frequency) one as its power supply, that's the reason we override the OPP setting in board dts file. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 1bb733f64f2abdf5bf113244ace3e4083bac4f91 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Feb 26 16:28:29 2015 +0800 ARM: imx6sx-sdb: change default board as reva board The imx6sx sdb board has two revisions, the current mainline one is reva which is experimental and mainly for internal use. In this commit, we rename imx6sx-sdb.dts to imx6sx-sdb.dtsi, and move the reva dedicated contents to imx6sx-sdb-reva.dts. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 9fca015177f9c8ecf4a25805b69c046867e7d53e Author: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Date: Thu Jan 29 21:57:45 2015 +0530 ARM: vf-colibri: add SPI support and enable MCP2515 CAN MCP2515 CAN controller is available on Colibri Evaluation board. Hence enable MCP2515 CAN. Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 1b545c172ea70f3019c6c144ba7b77f80f927740 Author: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Date: Tue Jan 27 16:27:18 2015 +0530 ARM: vf610: add second DSPI instance Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 9374e7d2fdcad3c36dafc8d3effd554bc702c4b6 Author: Marek Vasut <marex@xxxxxxx> Date: Thu Mar 26 02:16:06 2015 +0100 rtlwifi: rtl8192cu: Add new device ID Add new ID for ASUS N10 WiFi dongle. Signed-off-by: Marek Vasut <marex@xxxxxxx> Tested-by: Marek Vasut <marex@xxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: John W. Linville <linville@xxxxxxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 82ca6ef686f0fcefe2c1ad4ab74d5caf41be03a9 Author: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> Date: Mon Mar 23 15:41:15 2015 +0200 mac80211: Fix misplaced return in AES-GMAC key setup Commit 8ade538bf39b ("mac80111: Add BIP-GMAC-128 and BIP-GMAC-256 ciphers") had the success return in incorrect place before the crypto_aead_setauthsize() call which practically ended up skipping that call unconditionally. The missing call did not actually change any functionality since GMAC_MIC_LEN (16) is identical to the maxauthsize in gcm(aes) and as such, the default value used for the authsize parameter. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2f92b314f4daff2117847ac5343c54d3d041bf78 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Mar 23 18:14:10 2015 -0500 rtlwifi: rtl8192cu: Add new USB ID USB ID 2001:330d is used for a D-Link DWA-131. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c5455f708b968dc462a292ba99da0d17100461d8 Merge: 40cb198 4a07317 Author: Shawn Guo <shawn.guo@xxxxxxxxxx> Date: Mon Mar 30 16:37:21 2015 +0800 Merge remote-tracking branch 'jcooper/irqchip/vybrid' into imx/dt commit 40cb1981b387f70ae750da57c2310539f4b813c7 Merge: dc98b0c ae4aee9 Author: Shawn Guo <shawn.guo@xxxxxxxxxx> Date: Mon Mar 30 16:37:04 2015 +0800 Merge branch 'imx/soc' into imx/dt commit 6bab2e19c5ffd1f21b28c2cabb3801a37b77ae69 Author: Tom Gundersen <teg@xxxxxxx> Date: Wed Mar 18 11:13:39 2015 +0100 cfg80211: pass name_assign_type to rdev_add_virtual_intf() This will expose in /sys whether the ifname of a device is set by userspace or generated by the kernel. The latter kind (wlanX, etc) is not deterministic, so userspace needs to rename these devices to names that are guaranteed to stay the same between reboots. The former, however should never be renamed, so userspace needs to be able to reliably tell the difference. Similar functionality was introduced for the rtnetlink core in commit 5517750f058e ("net: rtnetlink - make create_link take name_assign_type") Signed-off-by: Tom Gundersen <teg@xxxxxxx> Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Cc: Brett Rudley <brudley@xxxxxxxxxxxx> Cc: Arend van Spriel <arend@xxxxxxxxxxxx> Cc: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Cc: Hante Meuleman <meuleman@xxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> [reformat changelog to fit 72 cols] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4acaf048b1d27cb6e1b214d370ed993bb2aac664 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Mon Mar 23 19:50:56 2015 +0530 mwifiex: recover from skb allocation failures during RX This patch adds recovery mechanism for SDIO RX during SKB allocation failures. For allocation failures during multiport aggregation, we skip and drop RX packets. For single port read case, we will use preallocated card->mpa_rx.buf to complete cmd53 read. Now we terminate SDIO operations only upon cmd53 failures. CC: James Cameron <quozl@xxxxxxxxxx> Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5ff46f7923b87f6cc5d5d66df08c9b6379a0461e Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Mar 23 19:50:55 2015 +0530 mwifiex: stop command path in suspend handler Cancel all pending commands including scan commands and stop CAC during cfg80211 suspend handler. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6a8b4adb47aea322e376cd1be62781c50dc1a9b5 Author: Michael Braun <michael-dev@xxxxxxxxxxxxx> Date: Wed Mar 18 07:17:37 2015 +0100 mac80211: fix typo in debug output Signed-off-by: Michael Braun <michael-dev@xxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2d7defb07bbee286537457e5eab534bac01d126a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 12:35:51 2015 +0300 mwifiex: remove an unneede NULL check in mwifiex_init_adapter() "adapter->sleep_cfm" is always non-NULL at this point. Static checkers complain that we already dereference it at the start of the function when we do: skb_put(adapter->sleep_cfm, sizeof(struct mwifiex_opt_sleep_confirm)); Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8f9c77fc1e8d4dfc1e7dc631d193162c75feef2e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Mar 9 11:13:04 2015 +0100 mac80211: reject aggregation sessions with non-HT peers If a peer or some local agent (rate control, ...) decides to start an aggregation session but doesn't support HT (which also implies QoS), reject it. This is mostly a corner case as such peers normally won't try to use block-ack sessions and rate control wouldn't start them, but technically QoS stations could request it according to the spec. However, since drivers don't really support such non-HT sessions it's better to reject them. Also, while at it, move the tracing for TX sessions earlier so it captures the error cases as well. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2f5872b60146eadf74b8d349a3596f5aaf687401 Author: Maithili Hinge <maithili@xxxxxxxxxxx> Date: Sun Mar 22 23:01:25 2015 -0700 mwifiex: Fix issue in the SDIO reset path of mwifiex. SDIO reset was not happening properly on mwifiex as cancel_work_sync in mwifiex_sdio_remove used to kill the calling work function itself. Due to this, the interface was not getting removed and card was not getting added again. Reset work function has been made independent of adapter variable and cancel_work_sync has been moved to cleanup function. Signed-off-by: Maithili Hinge <maithili@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit eaa4059d56fdbeb1633c94e82d54849688d96777 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:30:03 2015 +0100 ath9k: use REG_RMW and rmw buffer in ath9k_hw_def_set_gain Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b1c1a26461a79a289e08d0c04bf8520e305bf05d Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:30:02 2015 +0100 ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_board_values replace REG_WRITE to REG_RMW and place every thing in one RMW buffer. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2dfc0247f0ff755296ab72ab3ddb8309fb35c660 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:30:01 2015 +0100 ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_gain it is possible to reduce time needed for this function by rplacing REG_WRITE with REG_RMW (plus dummy 0) and putt all commands in same buffer. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ad10e0d65030d39c218e96f7e5269b301913b477 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:30:00 2015 +0100 ath9k: ath9k_hw_4k_set_board_values: use rmw buffer it will reduce exution time from 14ms to 2ms on ar9271 Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2028523b6dcead43ddbbe4dc14f59f07b6238d34 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:59 2015 +0100 ath9k: ath9k_hw_analog_shift_rmw: use REG_RMW use REG_RMW in ath9k_hw_analog_shift_rmw. It will double execution speed on usb bus. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 18d6616f1bb14a29b14c6b0d4cde7fd527579b72 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:58 2015 +0100 ath9k: ath9k_hw_4k_set_board_values: use rmw buffer Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7b37e0d4db038d37bbb88a4c8ea2b828707cbd12 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:57 2015 +0100 ath9k: use rmw buffer in ath9k_hw_set_operating_mode and ath9k_hw_reset Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 10e03ef6b4669c56d5d6858d80866bfa9bb2dc57 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:56 2015 +0100 ath9k: ath9k_hw_set_4k_power_cal_tabl: use rmw buffer Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 3df5dd901d1a4eddcb386d6a5321ef8a61edf376 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:55 2015 +0100 ath9k: write buffer related optimisation in ar5008_hw_set_channel_regs Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9830ba6c9ad0165f4aa1025bcfc8e75d76083907 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:54 2015 +0100 ath9k: ath9k_hw_loadnf: use REG_RMW Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9c05babd933e1c4a811867c4d5aa170d788eeaf9 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:53 2015 +0100 ath9k: use one shot read in ath9k_hw_update_mibstats this will reduce some overhead on usb bus. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 03822782e8293db08f28507b85588656ff02f354 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:52 2015 +0100 ath9k: ar9271_hw_pa_cal: use REG_READ_ARRAY insted of reading each register separatly and waste 4ms on each operation, we can use one shot read. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a57cb45a0a051601e14f81436b62750cc4f478c3 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:51 2015 +0100 ath9k: add new function ath9k_hw_read_array REG_READ generate most overhead on usb bus. It send and read micro packages and reduce usb bandwidth. To reduce this overhead we should read in batches. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d55ce0a6f98305c75c4581d7a19be622bb95179a Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:50 2015 +0100 ath9k: add multi_read to be compatible with ath9k_htc Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 93442c85d23a1e86c693de4b00915168a4a99d92 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:49 2015 +0100 ath9k: ar9271_hw_pa_cal: use RMW buffer Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0202a553f59b7d0df4db56d0ce64c702afea64d0 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:48 2015 +0100 ath9k: ar9271_hw_pa_cal: use proper makroses. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8d1cbdef8a640536d0af1ee57930f671127329d5 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:47 2015 +0100 ath9k: ar9271_hw_pa_cal - use defs instead of magin numbers This function uses mixed styles for register names/numbers which is make harder reading and optimisation. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8badb50cfab6d433622dbfd5a90b6adf27333107 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Mar 22 19:29:46 2015 +0100 ath9k_htc: add new WMI_REG_RMW_CMDID command Since usb bus add extra delay on each request, a command with read + write requests is too expensive. We can dramtically reduce usb load by moving this command to firmware. In my tests, this patch will reduce channel scan time for about 5-10 seconds. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e480e1344873b6a715d06a003e603d86a11a4033 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Fri Mar 20 19:31:33 2015 +0900 rtlwifi: Change REG_CR+2 to MSR I changed REG_CR+2 and (MSR) to MSR because MSR is defined as (REG_CR + 2). Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 01fbd4ecff4f8dc8ca9614778326cc159705623e Author: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Date: Thu Mar 19 15:32:49 2015 +0100 rt2800usb: check Autorun mode on FW load only once Seems H/W report correctly firmware Autorun value only at initialization stage. When we close interface and open it again, Autorun value is 0 and we try to load firmware what kills the device. To fix clear REQUIRE_FIRMWARE firmware flag, to do not load firmware again, once we discover Autorun mode. Reported-and-tested-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a38700dd486f3def34cef47d00e2d360a04a7bc8 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Mar 18 08:46:08 2015 +0200 cfg/mac80211: add regulatory classes IE during TDLS setup Seems Broadcom TDLS peers (Nexus 5, Xperia Z3) refuse to allow TDLS connection when channel-switching is supported but the regulatory classes IE is missing from the setup request. Add a chandef to reg-class translation function to cfg80211 and use it to add the required IE during setup. For now add only the current regulatory class as supported - it is enough to resolve the compatibility issue. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3a323d4e17dd5a84f6ad036e6f985d263ca973ed Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Mar 18 10:47:02 2015 +0200 nl80211: small clarification of the sched_scan delay attribute Just clarify that the delay is only before the first cycle. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7d830a198689bd33057923e0370147d43241c7f0 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Tue Mar 17 19:58:38 2015 +0200 mac80211: stop scan before connection Stop scan before authentication or association to make sure that nothing interferes with connection flow. Currently mac80211 defers RX auth and assoc packets (among other ones) until after the scan is complete, so auth during scan is likely to fail if scan took too much time. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 21fea567313641b6be69e0c684dc36c871ac848c Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Mar 17 16:36:01 2015 +0200 nl80211: add net-detect delay to wowlan info Pass the initial net-detect delay (NL80211_ATTR_SCHED_SCAN_DELAY) attribute in the WoWLAN info response. Additionally, remove a bogus TODO comment. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a90faa9d6449f3861428bafeaf4d1fcf2be4ba7f Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 16 23:23:37 2015 +0200 mac80211: notify the driver about deauth This can allow the driver to take action based on the reason of the deauth. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d0d1a12f9cc665f3fcac5288ab84429a91abd4e9 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 16 23:23:36 2015 +0200 mac80211: notify the driver about association status This can allow the driver to take action based on the success / failure of the association. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a9409093d23c822d13a73f8d2df7e6fa987ae485 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 16 23:23:35 2015 +0200 mac80211: notify the driver about authentication status This can allow the driver to take action based on the success / failure of the authentication. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a818292952bbfad12ec5a32ab01330cb1ceed013 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 16 23:23:34 2015 +0200 mac80211: convert rssi_callback() to event_callback() We will be able to add more events, such as MLME events and others. The low level driver may be interested in knowing about these events to dump firmware data upon failures, or to change parameters in case connection attempts fail etc... Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b24f670b7f5b2058b95370caa9f104b3cefb9f1d Author: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 12:22:30 2015 +1100 m68k/mac: Fix out-of-bounds array index in OSS IRQ source initialization Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 4b524f12188c20c64c602ff09ba26a5d39d16b1c Author: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Date: Wed Mar 18 13:35:09 2015 +0900 PM / devfreq: correct misleading comment _remove_devfreq() does not have @skip anymore after 3.16. The comment for _remove_devfreq() has been updated correspondingly. Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 6f240fbc474018872f6d9664a3bd350bd22cc8d9 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Mar 10 09:27:35 2015 +0900 PM / devfreq: event: Add const keyword for devfreq_event_ops structure This patch adds the const keyword for devfreq_event_ops structure because the ops of devfreq_event_desc structure should not be changed after initialization. Cc: Myungjoo Ham <myungjoo.ham@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 2c158887f1185e04b3763ae346da9f71fcbc4429 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Mar 12 19:28:31 2015 +0100 mac80211: agg-tx: avoid sending DelBA with sta->lock held The rate control locking caused a potential deadlock here due to the locks being acquired in different orders, so that change cannot yet be applied. However, there's no fundamental reason for this code to hold the sta->lock while transmitting frames. Clearly it's better not to hold the lock for longer periods of time, which can happen here since we call all the way down to the driver. Change the code a bit to not hold it while doing that. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4d54b0adfa67476e6509bc8646b9dbac642e8a29 Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Thu Mar 26 11:29:26 2015 -0700 mfd: qcom_rpm: Add support for IPQ8064 The IPQ8064 also includes an RPM following the same message structure as other chips. In addition, it supports a few new resource types to support the NSS fabric clocks and the SMB208/SMB209 regulators found on the reference boards. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 30bc3aa5c4ed3072bdff7d915772df1b91307ed4 Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Thu Mar 26 11:29:25 2015 -0700 mfd: devicetree: qcom_rpm: Document IPQ8064 resources The IPQ8064 SoC has several RPM-controlled resources, an NSS fabrick clock and four regulator resources. Provide definitions for them. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Drop regulator part of binding] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a77c50b44cfb663ad03faba9800fec19bdf83577 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Wed Mar 25 12:07:05 2015 +0100 mfd: core: Fix platform-device name collisions Since commit 6e3f62f0793e ("mfd: core: Fix platform-device id generation") we honour PLATFORM_DEVID_AUTO and PLATFORM_DEVID_NONE when registering mfd-devices. Unfortunately, some mfd-drivers rely on the old behaviour of generating platform-device ids by adding the cell id also to the special value of PLATFORM_DEVID_NONE. The resulting platform ids are not only used to generate device-unique names, but are also used instead of the cell id to identify cells when probing subdevices. These drivers should be updated to use PLATFORM_DEVID_AUTO, which would also allow more than one device to be registered without resorting to hacks (see for example wm831x), but lets fix the regression first by partially reverting the above mentioned commit with respect to PLATFORM_DEVID_NONE. Fixes: 6e3f62f0793e ("mfd: core: Fix platform-device id generation") Cc: stable <stable@xxxxxxxxxxxxxxx> # v3.19 Reported-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bafc1face21f34005d34b72010ad6d7235bd448e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Mar 25 20:03:55 2015 +0200 mfd: intel_quark_i2c_gpio: Don't crash if !DMI dmi_get_system_info() may return NULL either when CONFIG_DMI is not set or when board has an old firmware. The patch prevents a crash and changes the default frequency to be in align with older board. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> [Lee: Removed overt "sentinel" comment and extra lines] Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0787ded88e620c81ee2e42cee56cbb5cc26077de Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Fri Feb 20 19:19:28 2015 +0800 dt-bindings: Add vendor-prefix for X-Powers Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit cf1d54394dd5ee04ca4a88283deaaade37d12882 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Fri Feb 20 19:19:27 2015 +0800 mfd: AXP20x: Add bindings documentation Bindings documentation for the AXP20x driver. In this file also sub-nodes are documented. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> [wens@xxxxxxxx: clarify interrupt source for the axp PMIC] [wens@xxxxxxxx: explain dcdc-workmode in detail and trim lines to 80 chars] [wens@xxxxxxxx: make regulator supplies optional if using unregulated input] [wens@xxxxxxxx: use cubieboard2 regulator nodes as example] [wens@xxxxxxxx: x-powers,dcdc-workmode default changed to 'current hardware setting'] [wens@xxxxxxxx: reorganized regulator related properties into separate section.] Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 69628cd0652a091591ef44ac07c150063b789c4a Merge: 6ae4ccf a71aaf6 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Mon Mar 30 09:39:12 2015 +0300 Merge tag 'iwlwifi-for-kalle-2015-03-30' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes * fix a memory leak: we leaked memory each time the module was loaded. commit 90cb12372bf2779406bd0378195d8b5357a06dc3 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Sun Mar 29 11:39:34 2015 +0300 iwlwifi: mvm: rs: fix comment indentation Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 963221bea4b46b175d51329c63dd6f16601d411b Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Thu Mar 26 11:07:35 2015 +0200 iwlwifi: mvm: Clean up UMAC scan UIDs in the reset and drv_stop flows In the reset flow, the driver cancels ongoing scan and sends scan complete notification to mac80211. However it does not clean its UID. Add cleaning scan UID for the ongoing scan. Loop over all other UIDs to make sure there's nothing left there and warn if any is found. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d383c7409171452aaa6569f1451f9975d44f3d76 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Tue Mar 24 10:59:46 2015 +0200 iwlwifi: 8000: change PNVM in case it doesn't match to the HW step There is a strong relationship between the NVM version and the hardware step. Enforce that in the driver in case the default NVM on the platform is the wrong one. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1e16707166caf7499e9e3decc403267d346a5fb7 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Thu Mar 19 13:01:07 2015 +0200 iwlwifi: mvm: fix debug print in the RSA ownership workaround The semaphore may not be accessible. Fix the debug prints accordingly. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5d42e7b2a39d015180af44f8e56b0c2fc46874e1 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Mar 19 20:04:51 2015 +0200 iwlwifi: mvm: allow to configure the timeout for the Tx queues Sometimes we will want to configure the timeouts for the Tx queues based on the vif type. Allow to do that using the trigger mechanism. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4b6fe3edcbbaa3d0e5513adcb9577c7e184ad1b5 Author: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Date: Thu Oct 23 12:14:13 2014 +0900 spi: Using Trigger number to transmit/receive data In order to transmit and receive data when have 32 bytes of data that ready has prepared on Transmit/Receive Buffer to transmit or receive. Instead transmits/receives a byte data using Transmit/Receive Buffer Data Triggering Number will improve the speed of transfer data. Signed-off-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eb2d90c058280b41c8493cb17271e053b5ebba39 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 26 11:35:59 2015 +0100 mfd: max77693: Remove unused structures The max77693 regulator driver no longer supports board files. Remove the left-overs. Additionally fix name of device in comment. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 222d0f04340c686b136ec3a610cc50ba46baaea1 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 26 11:35:58 2015 +0100 regulator: max77693: Let core parse DT and drop board files support Simplify the driver by removing board file support and letting regulator core to parse DT. The max77693 regulator driver is used only on Exynos based boards which are DT-only. Board files for Exynos are not supported. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 91fd89660ba2e8ee59a587294fa9b17761691b05 Merge: e42391c 88f9eae Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 30 12:17:27 2015 +1000 Merge branch 'drm-fixes-4.0' of git://people.freedesktop.org/~agd5f/linux into drm-fixes A few more fixes for 4.0 for radeon. Sorry for the delay, I was a little under the weather this week and time got away from me. * 'drm-fixes-4.0' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: programm the VCE fw BAR as well drm/radeon: always dump the ring content if it's available radeon: Do not directly dereference pointers to BIOS area. drm/radeon/dpm: fix 120hz handling harder commit 6e4206136faa9a4d588946dfa604e1d989a9b3b6 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Tue Mar 24 11:08:22 2015 +1000 m68knommu: fix fec setup warning for ColdFire 5271 builds Building for the ColdFire 5271 produces the following warning: arch/m68k/coldfire/m527x.c: In function â??m527x_fec_initâ??: arch/m68k/coldfire/m527x.c:95:6: warning: unused variable â??parâ?? Fix it by moving the definition of par inside the 5271 conditional code. Reported-by: ertheb <3rth3bnospam@xxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit a630ec1b64c57f681877cc19c8e7ea5640cf7fcb Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Wed Mar 18 10:14:45 2015 +1000 m68knommu: ColdFire 5271 only has a single FEC controller The inclusion of multiple FEC ethernet platform devices is based around the FEC address definitions in the platform headers. The ColdFire m527x platform is defining 2 FEC modules, but the 5271 SoC only has a single FEC hardware module. The attempt to probe and init a second FEC module causes a trap and dump on boot on this platform. Fix the definitions so that only the 5275 SoC platform (which has 2 FEC hardware modules) defines the second base address. Reported-by: ertheb <3rth3bnospam@xxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit faa7cc2862c861d241cdb052e495e296bece1ccb Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Mon Mar 9 22:29:24 2015 +0100 m68k: Fix trivial typos in comments Change 'Reaceive' to 'Receive' Change 'alighnment' to 'alignment' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit 7b02ccea2e70e5e3e9fccf36123b77240323b8d6 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Fri Mar 27 18:08:48 2015 +0800 ACPI / PM: Enable all wakeup GPEs in suspend-to-idle Currently, in suspend-to-idle, wakeup GPE for PCI devices are handled properly because acpi_pci_sleep_wake() invokes acpi_enable_gpe() to enable the wakeup GPE directly. But for the other wakeup-capable devices in ACPI bus, acpi_enable_wakeup_devices() should be invoked to update enable_for_wake mask in gpe_register_info structure, thus acpi_enable_all_wakeup_gpes() can enable the wakeup GPE referred in _PRW methods. And acpi_disable_wakeup_devices() will be called before disable_irq_wake() in acpi_freeze_restore() to restore the mask. This patch fixes a power button wakeup problem on Surface Pro 3, on which platform power button uses EC to deliver event (EC GPE is referred in _PRW). Note: enabling EC GPE during freeze state may bring some risks because EC events are expected to fire more frequently than others. Thus it may bring the system out of freeze state unnecessarily. (We already have comments about this in bugzilla) Link: https://bugzilla.kernel.org/show_bug.cgi?id=84651 Reported-and-tested-by: Ethan Schoonover <es@xxxxxxxxxxxxxxxxxxx> Tested-by: Peter Amidon <psa.pub.0@xxxxxxxxxxxxxx> Tested-by: Yani Ioadnnou <yani.ioannou@xxxxxxxxx> Tested-by: Mister Wardrop <mister.wardrop@xxxxxxxxx> Tested-by: Anton Anikin <anton@xxxxxxxxxxx> Tested-by: Keith McClelland <zismylaptop@xxxxxxxxx> Reviewed-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 00ee68ecc2bf714ee97bc3629c29eef502e69c4b Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 25 07:42:49 2015 +0100 ARM: 8326/1: s5pv210: move resume code to .text section This code calls cpu_resume() using a straight branch (b), so now that we have moved cpu_resume() back to .text, this should be moved there as well. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 12833bacf5d904c2dac0c3f52b2ebde5f2c5a2bc Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 25 07:41:43 2015 +0100 ARM: 8325/1: exynos: move resume code to .text section This code calls cpu_resume() using a straight branch (b), so now that we have moved cpu_resume() back to .text, this should be moved there as well. Any direct references to symbols that will remain in the .data section are replaced with explicit PC-relative references. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d0776aff9a38b1390cc06ffc2c4dcf6ece7c05b9 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 25 07:39:21 2015 +0100 ARM: 8324/1: move cpu_resume() to .text section Move cpu_resume() to the .text section where it belongs. Change the adr reference to sleep_save_sp to an explicit PC relative reference so sleep_save_sp itself can remain in .data. This helps prevent linker failure on large kernels, as the code in the .data section may be too far away to be in range for normal b/bl instructions. Reviewed-by: Nicolas Pitre <nico@xxxxxxxxxx> Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 02e541db0540a2830f4af749c6f2b650abbbb77c Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 25 07:37:57 2015 +0100 ARM: 8323/1: force linker to use PIC veneers When building a very large kernel, it is up to the linker to decide when and where to insert stubs to allow calls to functions that are out of range for the ordinary b/bl instructions. However, since the kernel is built as a position dependent binary, these stubs (aka veneers) may contain absolute addresses, which will break far calls performed with the MMU off. For instance, the call from __enable_mmu() in the .head.text section to __turn_mmu_on() in the .idmap.text section may be turned into something like this: c0008168 <__enable_mmu>: c0008168: f020 0002 bic.w r0, r0, #2 c000816c: f420 5080 bic.w r0, r0, #4096 c0008170: f000 b846 b.w c0008200 <____turn_mmu_on_veneer> [...] c0008200 <____turn_mmu_on_veneer>: c0008200: 4778 bx pc c0008202: 46c0 nop c0008204: e59fc000 ldr ip, [pc] c0008208: e12fff1c bx ip c000820c: c13dfae1 teqgt sp, r1, ror #21 [...] c13dfae0 <__turn_mmu_on>: c13dfae0: 4600 mov r0, r0 [...] After adding --pic-veneer to the LDFLAGS, the veneer is emitted like this instead: c0008200 <____turn_mmu_on_veneer>: c0008200: 4778 bx pc c0008202: 46c0 nop c0008204: e59fc004 ldr ip, [pc, #4] c0008208: e08fc00c add ip, pc, ip c000820c: e12fff1c bx ip c0008210: 013d7d31 teqeq sp, r1, lsr sp c0008214: 00000000 andeq r0, r0, r0 Note that this particular example is best addressed by moving .head.text and .idmap.text closer together, but this issue could potentially affect any code that needs to execute with the MMU off. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c4a84ae39b4a5bdf609c0001e14207aa731aab30 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 24 10:41:09 2015 +0100 ARM: 8322/1: keep .text and .fixup regions closer together This moves all fixup snippets to the .text.fixup section, which is a special section that gets emitted along with the .text section for each input object file, i.e., the snippets are kept much closer to the code they refer to, which helps prevent linker failure on large kernels. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 779c88c94c34bd3b521da97b456a1aa51d870dec Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 24 10:39:10 2015 +0100 ARM: 8321/1: asm-generic: introduce .text.fixup input section This introduces a new .text.fixup input section that gets emitted together with the .text section for each input object file. Note that *(.text) *(.text.fixup) is not the same as *(.text .text.fixup) and we are looking for the latter, to ensure that fixup snippets that are assembled into a separate section in the object file do not end up out of range for the relative branch instructions it contains if the .text section itself grows very large. This helps prevent linker failures on large ARM kernels. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c097877319ab61dd045b6497953b4e3df8f2bb44 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Mar 6 12:08:30 2015 +0100 ARM: 8307/1: psci: move psci firmware calls out of line arm64 builds with GCC 5 have caused the __asmeq assertions in the PSCI calling code to fire, so move the ARM PSCI calls out of line into their own assembly file for consistency and to safeguard against the same issue occuring with the 32-bit toolchain. [will: brought into line with arm64 implementation] Reported-by: Andy Whitcroft <apw@xxxxxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d482994fca82380912b3a80201b74d5118ff0487 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 27 10:19:19 2015 -0400 tipc: fix two bugs in secondary destination lookup A message sent to a node after a successful name table lookup may still find that the destination socket has disappeared, because distribution of name table updates is non-atomic. If so, the message will be rejected back to the sender with error code TIPC_ERR_NO_PORT. If the source socket of the message has disappeared in the meantime, the message should be dropped. However, in the currrent code, the message will instead be subject to an unwanted tertiary lookup, because the function tipc_msg_lookup_dest() doesn't check if there is an error code present in the message before performing the lookup. In the worst case, the message may now find the old destination again, and be redirected once more, instead of being dropped directly as it should be. A second bug in this function is that the "prev_node" field in the message is not updated after successful lookup, something that may have unpredictable consequences. The problems arising from those bugs occur very infrequently. The third change in this function; the test on msg_reroute_msg_cnt() is purely cosmetic, reflecting that the returned value never can be negative. This commit corrects the two bugs described above. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 63c607321492c5efc7a31bc4ea734b877f8e7f87 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Mar 27 11:08:32 2015 +0100 net: fec: setup right value for mdio hold time The FEC modules used on i.MX28 and newer have a register to tune the MDIO output hold time that should be at least 10 ns. Up to now this value was not explicitly set and so resulted in less hold time if the fec clock was faster than 100 MHz. This was noticed on an i.MX28 machine that uses an input clock of ~150 Mhz which resulted in unreliable communication with a Marvell switch. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d92a3e9b90e23eaf7d893d1841cd0391403b99a Merge: afb0bc9 3182b25 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 13:38:08 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-27 This series contains updates to i40e and i40evf. Jesse adds new device IDs to handle the new 20G speed for KR2. Mitch provides a fix for an issue that shows up as a panic or memory corruption when the device is brought down while under heavy stress. This is resolved by delaying the releasing of resources until we receive acknowledgment from the PF driver that the rings have indeed been stopped. Also adds firmware version information to ethtool reporting to align with ixgbevf behavior. Akeem increases the polling loop limiter, sine we found that in certain circumstances the firmware can take longer to be ready after a reset. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ad19de8774e2a7b075b3e8ea48db85adcf33fa6 Author: Alexey Kodanev <alexey.kodanev@xxxxxxxxxx> Date: Fri Mar 27 12:24:22 2015 +0300 net: tcp6: fix double call of tcp_v6_fill_cb() tcp_v6_fill_cb() will be called twice if socket's state changes from TCP_TIME_WAIT to TCP_LISTEN. That can result in control buffer data corruption because in the second tcp_v6_fill_cb() call it's not copying IP6CB(skb) anymore, but 'seq', 'end_seq', etc., so we can get weird and unpredictable results. Performance loss of up to 1200% has been observed in LTP/vxlan03 test. This can be fixed by copying inet6_skb_parm to the beginning of 'cb' only if xfrm6_policy_check() and tcp_v6_fill_cb() are going to be called again. Fixes: 2dc49d1680b53 ("tcp6: don't move IP6CB before xfrm6_policy_check()") Signed-off-by: Alexey Kodanev <alexey.kodanev@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afb0bc972b5269a2046a1194c475d929c62fc1a3 Merge: 608cd71 1abbc98 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 13:33:32 2015 -0700 Merge branch 'stacked_vlan_tso' Toshiaki Makita says: ==================== Stacked vlan TSO On the basis of Netdev 0.1 discussion[1], I made a patch set to enable TSO for packets with multiple vlans. Currently, packets with multiple vlans are always segmented by software, which is caused by that netif_skb_features() drops most feature flags for multiple tagged packets. To allow NICs to segment them, we need to get rid of that check from core. Fortunately, recently introduced ndo_features_check() can be used to move the check to each driver, and this patch set is based on the idea. For the initial patch set, I chose 3 drivers, bonding, team, and igb, as candidates to enable TSO. I tested them and confirmed they works fine with this change. Here are samples of performance test results. As I expected, %sys gets pretty lower than before. * TEST1: vlan (.1Q) on vlan (.1ad) on igb (I350) - before $ netperf -t TCP_STREAM -H 192.168.10.1 -l 60 Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.02 933.72 Average: CPU %user %nice %system %iowait %steal %idle Average: all 0.13 0.00 11.28 0.01 0.00 88.58 - after $ netperf -t TCP_STREAM -H 192.168.10.1 -l 60 Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.01 936.13 Average: CPU %user %nice %system %iowait %steal %idle Average: all 0.24 0.00 4.17 0.01 0.00 95.58 * TEST2: vlan (.1Q) on bridge (.1ad vlan filtering) on team on igb (I350) - before $ netperf -t TCP_STREAM -H 192.168.10.1 -l 60 Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.01 936.28 Average: CPU %user %nice %system %iowait %steal %idle Average: all 0.41 0.00 11.57 0.01 0.00 88.01 - after $ netperf -t TCP_STREAM -H 192.168.10.1 -l 60 Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.02 935.72 Average: CPU %user %nice %system %iowait %steal %idle Average: all 0.14 0.00 7.66 0.01 0.00 92.19 In addition to above, I tested these configurations: - vlan (.1Q) on vlan (1.ad) on bonding on igb (I350) - vlan (.1Q) on vlan (1.Q) on igb (I350) - vlan (.1Q) on vlan (1.Q) on team on igb (I350) And didn't find any problem. [1] https://netdev01.org/sessions/18 https://netdev01.org/docs/netdev01_bof_8021ad_makita_150212.pdf ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1abbc98a8ac5c6cc016e672e5888b6416ae243f6 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:16 2015 +0900 igb: Enable TSO for stacked vlan As datasheets for igb (I210, I350, 82576, etc.) say, maclen can be from 14 to 127, which is enough for reasonable number of vlan tags. My netperf test showed I350's TSO works pretty fine with multiple vlans. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9f4cf7531ac7a0c99db9e08d0a83cb559251bea Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:15 2015 +0900 team: Don't segment multiple tagged packets on team device Team devices don't need to segment multiple tagged packets since their slaves can segment them. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4847f04982c360ffb233a10e8ef79a16e8be5c28 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:14 2015 +0900 bonding: Don't segment multiple tagged packets on bonding device Bonding devices don't need to segment multiple tagged packets since their slaves can segment them. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e38f30256b36700aa63aa709dc091bf6eb69c257 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:13 2015 +0900 net: Introduce passthru_features_check As there are a number of (especially virtual) devices that don't need the multiple vlan check, introduce passthru_features_check() for convenience. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8cb65d00086bfba22bac87ff18b751432fc74003 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:12 2015 +0900 net: Move check for multiple vlans to drivers To allow drivers to handle the features check for multiple tags, move the check to ndo_features_check(). As no drivers currently handle multiple tagged TSO, introduce dflt_features_check() and call it if the driver does not have ndo_features_check(). Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5a7fb88e1f82542ca14ba93a1d4fa35471c60ca Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:11 2015 +0900 vlan: Introduce helper functions to check if skb is tagged Separate the two checks for single vlan and multiple vlans in netif_skb_features(). This allows us to move the check for multiple vlans to another function later. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d463504c191c2126d097ac94fb258aabe6d3e62 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Mar 27 14:31:10 2015 +0900 vlan: Add features for stacked vlan device Stacked vlan devices curretly have few features (GRO, HIGHDMA, LLTX). Since we have software fallbacks in case the NIC can not handle some features for multiple vlans, we can add the same features as the lower vlan devices for stacked vlan devices. This allows stacked vlan devices to create large (GSO) packets and not to segment packets. Those packets will be segmented by software on the real device, or even can be segmented by the NIC once TSO for multiple vlans becomes enabled by the following patches. The exception is those related to FCoE, which does not have a software fallback. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ff2acf1fb65f1c83c41b67aba990c6d49a2274c Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Mar 27 11:01:18 2015 +0530 cxgb4vf: Fix sparse warnings Fixes sparse warnings introduced in commit e85c9a7abfa407ed ("cxgb4/cxgb4vf: Add code to calculate T5 BAR2 Offsets for SGE Queue Registers") and df64e4d38c904dd3 ("cxgb4/cxgb4vf: Use new interfaces to calculate BAR2 SGE Queue Register addresses") and few old ones sparse warnings: >> drivers/net/ethernet/chelsio/cxgb4vf/sge.c:1006:48: sparse: cast removes >> address space of expression >> drivers/net/ethernet/chelsio/cxgb4vf/sge.c:1006:48: sparse: incorrect type in >> initializer (different address space) >> drivers/net/ethernet/chelsio/cxgb4vf/sge.c:1020:40: sparse: incorrect type in >> argument 1 (different base types) Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 608cd71a9c7c9db76e78a792c5a4101e12fea43f Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Mar 26 19:53:57 2015 -0700 tc: bpf: generalize pedit action existing TC action 'pedit' can munge any bits of the packet. Generalize it for use in bpf programs attached as cls_bpf and act_bpf via bpf_skb_store_bytes() helper function. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7836b16c0dd1d3039ccc35ceeff6d75401fbba8c Merge: 5ce58c2 b2a6b93 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 13:24:05 2015 -0700 Merge branch 'dsa-hw-bridging' Guenter Roeck says: ==================== net: dsa: HW bridging, EEE support Patch 1 to 7 of this series prepare the drivers using the mv88e6xxx code for HW bridging support, without adding the code itself. For the most part this factors out common port initialization code. There is no functional change except for patch 3, which disables the message port bit for the CPU port to prevent packet duplication if HW bridging is configured. Patch 8 adds the infrastructure for hardware bridging support to the mv88e6xxx code. Patch 9 wires the MV88E6352 driver to support hardware bridging. Patches 10 to 12 add support for ndo_fdb functions to the dsa subsystem, and wire up the MV88E6352 driver to support those functions. Patches 13 to 16 add EEE support and HW bridging support to the mv88e6171 driver. This set of patches is from Andrew, applied on top of the first set of patches. The series applies to net-next as of 3/24/2015. Thanks a lot to Andrew Lunn for testing and valuable feedback. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2a6b93a0c5730dd96f224ed22ccd0662d06b3b0 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Mar 26 18:36:43 2015 -0700 net: dsa: mv88e6171: Add support for hardware bridging Wire up the common code for setting up hardware bridging and access to the forwarding database. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit baae51d5242d7e4e94ce4cce6d4bca639eec07e0 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Mar 26 18:36:42 2015 -0700 net: dsa: mv88e6171: Add EEE support to the mv88e6172 The mv88e6172 has support for EEE. Check for the product ID and call the common code if applicable. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 464caa2f5ba8d937ce3d434b1be4179fefb011e5 Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Mar 26 18:36:41 2015 -0700 net: dsa: mv88e6171: Add defines for switch product IDs Make the code more readable by using defines for the switch IDs. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8f064c602cf0170d41274e173a26151d7520dbe Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Mar 26 18:36:40 2015 -0700 net: dsa: Centralise getting switch id Get the switch id and save it away in the private mv88x6xxx structure in a centralised piece of code, rather than each driver doing it itself. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f431e56625761b1d81a4a6544fda92c02bed917 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:39 2015 -0700 net: dsa: mv88e6352: Add support for ndo_fdb functions Add support for manipulating switch fdb entries by pointing to the ndo_fdb functions implemented for mv88e6xxxx. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit defb05b9b9b4376aeb9db366cdb6ffa5ef0fa176 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:38 2015 -0700 net: dsa: mv88e6xxx: Add support for fdb_add, fdb_del, and fdb_getnext No vlan support at this time. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 339d82626d225e9b876665e4e89b7eb123e96b3d Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:37 2015 -0700 net: dsa: Add basic framework to support ndo_fdb functions Provide callbacks for ndo_fdb_add, ndo_fdb_del, and ndo_fdb_dump. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f244abb53665bf1ae0a762bb452d33b6648b7df Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:36 2015 -0700 net: dsa: mv88e6352: Add support for hardware bridging Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit facd95b2e0ec02ccf6d13f4d08c060628dca0862 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:35 2015 -0700 net: dsa: mv88e6xxx: Add Hardware bridging support Bridge support is similar for all chips supported by the mv88e6xxx code, so add the code there. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0019b70d02bae9757b5b9237f38fb8cf2899009 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:34 2015 -0700 net: dsa: mv88e6171: Use common port configuration Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54af0cf0d25eb3147ea6f1e121c641856486331a Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:33 2015 -0700 net: dsa: mv88e6123_61_65: Use common port configuration This will simplify adding offloaded bridge support later on. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2089052f82fdd85214542ece1ec39a383ab4c076 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:32 2015 -0700 net: dsa: mv88e6352: Use common port initialization code This prepares the driver for hardware bridging. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d6d09e7a0149b60a8b504b21cafe5f4b304fd97 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:31 2015 -0700 net: dsa: mv88e6xxx: Split mv88e6xxx_reg_read and mv88e6xxx_reg_write Split mv88e6xxx_reg_read and mv88e6xxx_reg_write into two functions each, one to acquire smi_mutex and one to get struct mii_bus *bus from struct dsa_switch *ds and to call the actual read/write function. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 366f0a0f98370d435de64978d623e6abf2630b01 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:30 2015 -0700 net: dsa: mv88e6xxx: Disable Message Port bit for CPU port Datasheet says that the Message Port bit should not be set for the CPU port. Having it set causes DSA tagged packets to be sent to the CPU port roughly every 30 seconds. Those packets are the same as real packets forwarded between switch ports if the switch is configured for switching between multiple ports. The packets are then bridged by the software bridge, resulting in duplicated packets on the network. Reported-by: Andrew Lunn <andrew@xxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d827e88a3f48606f1fcd0c285613befce375e076 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:29 2015 -0700 net: dsa: mv88e6xxx: Provide function for common port initialization Provide mv88e6xxx_setup_port_common() for common port initialization. Currently only write Port 1 Control and VLAN configuration since this will be needed for hardware bridging. More can be added later if desired/needed. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit acdaffcc890a29262c9bb47e287b62488c85eb59 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 26 18:36:28 2015 -0700 net: dsa: mv88e6xxx: Factor out common initialization code Code used and needed in mv886xxx.c should be initialized there as well, so factor it out from the individual initialization files. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ce58c2f13eaa8ca6d7e1041175433bd8cc55756 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Thu Mar 26 16:20:58 2015 -0700 hv_netvsc: remove vmbus_are_subchannels_present() in rndis_filter_device_add() The vmbus_are_subchannels_present() also involves opening the channels, which may be too early at this point. Checking for subchannels is not necessary here. So this patch removes it. Subchannels will be opened when offer messages arrive. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa6ed4cb6fd44ef4c6fad4d9572119d22381f32c Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Mon Mar 23 12:32:01 2015 +0000 irqchip: mips-gic: Add new functions to start/stop the GIC counter We add new functions to start and stop the GIC counter since there are no guarantees the counter will be running after a CPU reset. The GIC counter is stopped by setting the 29th bit on the GIC Config register and it is started by clearing that bit. Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: <linux-kernel@xxxxxxxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1427113923-9840-2-git-send-email-markos.chandras@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit cb6e0b3690f48dffb9397c3e868164b689420441 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Mar 26 22:26:08 2015 +0100 net: smc91x: make use of 4th parameter to devm_gpiod_get_index Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify accordingly. Moreover use devm_gpiod_get_index_optional for still simpler handling. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4217291e592da0e4258b652e82e5428639d29acc Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Mar 26 17:56:38 2015 +0100 netns: don't clear nsid too early on removal With the current code, ids are removed too early. Suppose you have an ipip interface that stands in the netns foo and its link part in the netns bar (so the netns bar has an nsid into the netns foo). Now, you remove the netns bar: - the bar nsid into the netns foo is removed - the netns exit method of ipip is called, thus our ipip iface is removed: => a netlink message is sent in the netns foo to advertise this deletion => this netlink message requests an nsid for bar, thus a new nsid is allocated for bar and never removed. We must remove nsids when we are sure that nobody will refer to netns currently cleaned. Fixes: 0c7aecd4bde4 ("netns: add rtnl cmd to add and get peer netns ids") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1eec582158e2d1d1d3978449d2d01da2d1c3feb8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 11:26:19 2015 +0100 irqchip: tegra: Add Tegra210 support Tegra210 uses the same legacy interrupt controller as older generations but it adds a sixth instance. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1427106379-14037-1-git-send-email-thierry.reding@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 7c3877f275ee6b479fa828947811c76d431501ca Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Thu Mar 26 09:03:37 2015 -0700 hv_netvsc: Implement batching in send buffer With this patch, we can send out multiple RNDIS data packets in one send buffer slot and one VMBus message. It reduces the overhead associated with VMBus messages. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ef295e04722c955cd60723d78ec525a2e80de27 Merge: ae7633c cc02e45 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 12:43:43 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for your net-next tree. Basically, nf_tables updates to add the set extension infrastructure and finish the transaction for sets from Patrick McHardy. More specifically, they are: 1) Move netns to basechain and use recently added possible_net_t, from Patrick McHardy. 2) Use LOGLEVEL_<FOO> from nf_log infrastructure, from Joe Perches. 3) Restore nf_log_trace that was accidentally removed during conflict resolution. 4) nft_queue does not depend on NETFILTER_XTABLES, starting from here all patches from Patrick McHardy. 5) Use raw_smp_processor_id() in nft_meta. Then, several patches to prepare ground for the new set extension infrastructure: 6) Pass object length to the hash callback in rhashtable as needed by the new set extension infrastructure. 7) Cleanup patch to restore struct nft_hash as wrapper for struct rhashtable 8) Another small source code readability cleanup for nft_hash. 9) Convert nft_hash to rhashtable callbacks. And finally... 10) Add the new set extension infrastructure. 11) Convert the nft_hash and nft_rbtree sets to use it. 12) Batch set element release to avoid several RCU grace period in a row and add new function nft_set_elem_destroy() to consolidate set element release. 13) Return the set extension data area from nft_lookup. 14) Refactor existing transaction code to add some helper functions and document it. 15) Complete the set transaction support, using similar approach to what we already use, to activate/deactivate elements in an atomic fashion. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae7633c841b3d17ab54e372ad9cc0f37a9a7c72d Merge: faadb05 8a0f6eb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 12:40:37 2015 -0700 Merge branch 'tipc-next' Ying Xue says: ==================== tipc: fix two corner issues The patch set aims at resolving the following two critical issues: Patch #1: Resolve a deadlock which happens while all links are reset Patch #2: Correct a mistake usage of RCU lock which is used to protect node list ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a0f6ebe8494c5c6ccfe12264385b64c280e3241 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Thu Mar 26 18:10:24 2015 +0800 tipc: involve reference counter for node structure TIPC node hash node table is protected with rcu lock on read side. tipc_node_find() is used to look for a node object with node address through iterating the hash node table. As the entire process of what tipc_node_find() traverses the table is guarded with rcu read lock, it's safe for us. However, when callers use the node object returned by tipc_node_find(), there is no rcu read lock applied. Therefore, this is absolutely unsafe for callers of tipc_node_find(). Now we introduce a reference counter for node structure. Before tipc_node_find() returns node object to its caller, it first increases the reference counter. Accordingly, after its caller used it up, it decreases the counter again. This can prevent a node being used by one thread from being freed by another thread. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b952b2befb6f6b009e91f087285b9a0a6beb1cc8 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Thu Mar 26 18:10:23 2015 +0800 tipc: fix potential deadlock when all links are reset [ 60.988363] ====================================================== [ 60.988754] [ INFO: possible circular locking dependency detected ] [ 60.989152] 3.19.0+ #194 Not tainted [ 60.989377] ------------------------------------------------------- [ 60.989781] swapper/3/0 is trying to acquire lock: [ 60.990079] (&(&n_ptr->lock)->rlock){+.-...}, at: [<ffffffffa0006dca>] tipc_link_retransmit+0x1aa/0x240 [tipc] [ 60.990743] [ 60.990743] but task is already holding lock: [ 60.991106] (&(&bclink->lock)->rlock){+.-...}, at: [<ffffffffa00004be>] tipc_bclink_lock+0x8e/0xa0 [tipc] [ 60.991738] [ 60.991738] which lock already depends on the new lock. [ 60.991738] [ 60.992174] [ 60.992174] the existing dependency chain (in reverse order) is: [ 60.992174] -> #1 (&(&bclink->lock)->rlock){+.-...}: [ 60.992174] [<ffffffff810a9c0c>] lock_acquire+0x9c/0x140 [ 60.992174] [<ffffffff8179c41f>] _raw_spin_lock_bh+0x3f/0x50 [ 60.992174] [<ffffffffa00004be>] tipc_bclink_lock+0x8e/0xa0 [tipc] [ 60.992174] [<ffffffffa0000f57>] tipc_bclink_add_node+0x97/0xf0 [tipc] [ 60.992174] [<ffffffffa0011815>] tipc_node_link_up+0xf5/0x110 [tipc] [ 60.992174] [<ffffffffa0007783>] link_state_event+0x2b3/0x4f0 [tipc] [ 60.992174] [<ffffffffa00193c0>] tipc_link_proto_rcv+0x24c/0x418 [tipc] [ 60.992174] [<ffffffffa0008857>] tipc_rcv+0x827/0xac0 [tipc] [ 60.992174] [<ffffffffa0002ca3>] tipc_l2_rcv_msg+0x73/0xd0 [tipc] [ 60.992174] [<ffffffff81646e66>] __netif_receive_skb_core+0x746/0x980 [ 60.992174] [<ffffffff816470c1>] __netif_receive_skb+0x21/0x70 [ 60.992174] [<ffffffff81647295>] netif_receive_skb_internal+0x35/0x130 [ 60.992174] [<ffffffff81648218>] napi_gro_receive+0x158/0x1d0 [ 60.992174] [<ffffffff81559e05>] e1000_clean_rx_irq+0x155/0x490 [ 60.992174] [<ffffffff8155c1b7>] e1000_clean+0x267/0x990 [ 60.992174] [<ffffffff81647b60>] net_rx_action+0x150/0x360 [ 60.992174] [<ffffffff8105ec43>] __do_softirq+0x123/0x360 [ 60.992174] [<ffffffff8105f12e>] irq_exit+0x8e/0xb0 [ 60.992174] [<ffffffff8179f9f5>] do_IRQ+0x65/0x110 [ 60.992174] [<ffffffff8179da6f>] ret_from_intr+0x0/0x13 [ 60.992174] [<ffffffff8100de9f>] arch_cpu_idle+0xf/0x20 [ 60.992174] [<ffffffff8109dfa6>] cpu_startup_entry+0x2f6/0x3f0 [ 60.992174] [<ffffffff81033cda>] start_secondary+0x13a/0x150 [ 60.992174] -> #0 (&(&n_ptr->lock)->rlock){+.-...}: [ 60.992174] [<ffffffff810a8f7d>] __lock_acquire+0x163d/0x1ca0 [ 60.992174] [<ffffffff810a9c0c>] lock_acquire+0x9c/0x140 [ 60.992174] [<ffffffff8179c41f>] _raw_spin_lock_bh+0x3f/0x50 [ 60.992174] [<ffffffffa0006dca>] tipc_link_retransmit+0x1aa/0x240 [tipc] [ 60.992174] [<ffffffffa0001e11>] tipc_bclink_rcv+0x611/0x640 [tipc] [ 60.992174] [<ffffffffa0008646>] tipc_rcv+0x616/0xac0 [tipc] [ 60.992174] [<ffffffffa0002ca3>] tipc_l2_rcv_msg+0x73/0xd0 [tipc] [ 60.992174] [<ffffffff81646e66>] __netif_receive_skb_core+0x746/0x980 [ 60.992174] [<ffffffff816470c1>] __netif_receive_skb+0x21/0x70 [ 60.992174] [<ffffffff81647295>] netif_receive_skb_internal+0x35/0x130 [ 60.992174] [<ffffffff81648218>] napi_gro_receive+0x158/0x1d0 [ 60.992174] [<ffffffff81559e05>] e1000_clean_rx_irq+0x155/0x490 [ 60.992174] [<ffffffff8155c1b7>] e1000_clean+0x267/0x990 [ 60.992174] [<ffffffff81647b60>] net_rx_action+0x150/0x360 [ 60.992174] [<ffffffff8105ec43>] __do_softirq+0x123/0x360 [ 60.992174] [<ffffffff8105f12e>] irq_exit+0x8e/0xb0 [ 60.992174] [<ffffffff8179f9f5>] do_IRQ+0x65/0x110 [ 60.992174] [<ffffffff8179da6f>] ret_from_intr+0x0/0x13 [ 60.992174] [<ffffffff8100de9f>] arch_cpu_idle+0xf/0x20 [ 60.992174] [<ffffffff8109dfa6>] cpu_startup_entry+0x2f6/0x3f0 [ 60.992174] [<ffffffff81033cda>] start_secondary+0x13a/0x150 [ 60.992174] [ 60.992174] other info that might help us debug this: [ 60.992174] [ 60.992174] Possible unsafe locking scenario: [ 60.992174] [ 60.992174] CPU0 CPU1 [ 60.992174] ---- ---- [ 60.992174] lock(&(&bclink->lock)->rlock); [ 60.992174] lock(&(&n_ptr->lock)->rlock); [ 60.992174] lock(&(&bclink->lock)->rlock); [ 60.992174] lock(&(&n_ptr->lock)->rlock); [ 60.992174] [ 60.992174] *** DEADLOCK *** [ 60.992174] [ 60.992174] 3 locks held by swapper/3/0: [ 60.992174] #0: (rcu_read_lock){......}, at: [<ffffffff81646791>] __netif_receive_skb_core+0x71/0x980 [ 60.992174] #1: (rcu_read_lock){......}, at: [<ffffffffa0002c35>] tipc_l2_rcv_msg+0x5/0xd0 [tipc] [ 60.992174] #2: (&(&bclink->lock)->rlock){+.-...}, at: [<ffffffffa00004be>] tipc_bclink_lock+0x8e/0xa0 [tipc] [ 60.992174] The correct the sequence of grabbing n_ptr->lock and bclink->lock should be that the former is first held and the latter is then taken, which exactly happened on CPU1. But especially when the retransmission of broadcast link is failed, bclink->lock is first held in tipc_bclink_rcv(), and n_ptr->lock is taken in link_retransmit_failure() called by tipc_link_retransmit() subsequently, which is demonstrated on CPU0. As a result, deadlock occurs. If the order of holding the two locks happening on CPU0 is reversed, the deadlock risk will be relieved. Therefore, the node lock taken in link_retransmit_failure() originally is moved to tipc_bclink_rcv() so that it's obtained before bclink lock. But the precondition of the adjustment of node lock is that responding to bclink reset event must be moved from tipc_bclink_unlock() to tipc_node_unlock(). Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit faadb05f4b7f11b3063a20d7fc5afcbf1124dbeb Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Mar 26 15:39:45 2015 +0800 virtio: simplify the using of received in virtnet_poll received is 0, no need to minus it and use "+=" to reassign it Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbcf988653e91681305189fc8b8c54aa4ae9033c Merge: aaa95f7 241a386 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Mar 29 19:34:05 2015 +0000 Merge branch 'irqchip/urgent-gic' into irqchip/urgent commit 3556eaaab566e478a4ed68041a7cacfd8974662a Merge: 41d25fe 265ec92 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 12:34:05 2015 -0700 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Hi David, this patch set includes 2 feature additions to the be2net driver: Patch 1 sets up cpu affinity hints for be2net irqs using the cpumask_set_cpu_local_first() API that first picks the near numa cores and when they are exhausted, selects the far numa cores. Patch 2 setups up xps queue mapping for be2net's TXQs to avoid, by default, TX lock contention. Patch 3 just bumps up the driver version. Pls consider applying this patch set to the net-next queue. Thanks! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 265ec9275809067fa6925508bed0a590f48286d3 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Thu Mar 26 03:05:10 2015 -0400 be2net: bump up the driver version to 10.6.0.1 Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73f394e6290b9a2f3d297623c3db2d975111b445 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Thu Mar 26 03:05:09 2015 -0400 be2net: setup xps queue mapping This patch sets up xps queue mapping on load, so that TX traffic is steered to the queue whose irqs are being processed by the current cpu. This helps in avoiding TX lock contention. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d658d98aa55a0a6e1f3b818645b098bc3187777a Author: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxx> Date: Thu Mar 26 03:05:08 2015 -0400 be2net: assign CPU affinity hints to be2net IRQs This patch provides hints to irqbalance to map be2net IRQs to specific CPU cores. cpumask_set_cpu_local_first() is used, which first maps IRQs to near NUMA cores; when those cores are exhausted, IRQs are mapped to far NUMA cores. Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 241a386c7dbb8b0db400a1f92f2ebe3b10eb661d Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 14:15:05 2015 +0000 irqchip: gicv3-its: Use non-cacheable accesses when no shareability If the ITS or the redistributors report their shareability as zero, then it is important to make sure they will no generate any cacheable traffic, as this is unlikely to produce the expected result. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1427465705-17126-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 4ad3e3634a6cbe916722c7113c5b488d52c7a3dc Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 14:15:04 2015 +0000 irqchip: gicv3-its: Fix PROP/PEND and BASE/CBASE confusion The ITS driver sometime mixes up the use of GICR_PROPBASE bitfields for the GICR_PENDBASE register, and GITS_BASER for GICR_CBASE. This does not lead to any observable bug because similar bits are at the same location, but this just make the code even harder to understand... This patch provides the required #defines and fixes the mixup. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1427465705-17126-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 7e195ba03738dec72fe337dcd3cb3c3c2bd66c30 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Fri Mar 27 14:15:03 2015 +0000 irqchip: gicv3-its: Fix device ID encoding When building ITS commands which have the device ID in it, we should mask off the whole upper 32 bits of the first command word before inserting the new value in there. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1427465705-17126-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 263fcd312deffb9bf10f007f958dccfa64a807f5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Mar 27 14:15:02 2015 +0000 irqchip: gicv3-its: Fix encoding of collection's target redistributor With a monolithic GICv3, redistributors are addressed using a linear number, while a distributed implementation uses physical addresses. When encoding a target address into a command, we strip the lower 16 bits, as redistributors are always 64kB aligned. This works perfectly well with a distributed implementation, but has the silly effect of always encoding target 0 in the monolithic case (unless you have more than 64k CPUs, of course). The obvious fix is to shift the linear target number by 16 when computing the target address, so that we don't loose any precious bit. Reported-by: Andre Przywara <andre.przywara@xxxxxxx> Tested-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1427465705-17126-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 17f5ddd5a3b31bdb3acc6f7a41785503c9d113ee Merge: f243e5a b37987e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 29 12:24:46 2015 -0700 Merge branch 'cxgb4' Hariprasad Shenai says: ==================== cxgb4: Fixes ingress queue mapping and other fixes The below series fixes ingress queue mapping by allocating them dynamically to prevent stack overflow. Disable napi and interrupts before unregistering netdev to avoid crash while unloading driver when traffic is flowing. The patches series is created against 'net' tree. And includes patches on cxgb4 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 b37987e8db5faee3fc12baecc4699f9d92bc0695 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Mar 26 10:04:26 2015 +0530 cxgb4: Disable interrupts and napi before unregistering netdev Disable interrupts and quiesce rx before unregistering net device to avoid crash while unloading driver when traffic is flowing through. Based on original work by Shameem Khalid <shameem@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b8e27a86d209063d8aacfb918668bbb75e56019 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Mar 26 10:04:25 2015 +0530 cxgb4: Allocate dynamic mem. for egress and ingress queue maps QIDs (egress/ingress) from firmware in FW_*_CMD.alloc command can be anywhere in the range from EQ(IQFLINT)_START to EQ(IQFLINT)_END. For eg, in the first load eqid can be from 100 to 300. In the next load it can be from 301 to 500 (assume eq_start is 100 and eq_end is 1000). The driver was assuming them to always start from EQ(IQFLINT)_START till MAX_EGRQ(INGQ). This was causing stack overflow and subsequent crash. Fixed it by dynamically allocating memory (of qsize (x_END - x_START + 1)) for these structures. Based on original work by Santosh Rastapur <santosh@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41d25fe0927aabb1d4b671871a99a55bcd203257 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 25 15:08:47 2015 -0700 tcp: tcp_syn_flood_action() can be static After commit 1fb6f159fd21 ("tcp: add tcp_conn_request"), tcp_syn_flood_action() is no longer used from IPv6. We can make it static, by moving it above tcp_conn_request() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reviewed-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fb7cd4ef02bea6416b5afd60617d12ceb3533c1 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Thu Mar 26 05:55:25 2015 +0800 cxgb4: fix boolreturn.cocci warnings drivers/net/ethernet/chelsio/cxgb4/cxgb4_fcoe.c:49:9-10: WARNING: return of 0/1 in function 'cxgb_fcoe_sof_eof_supported' with return type bool Return statements in functions returning bool should use true/false instead of 1/0. Generated by: scripts/coccinelle/misc/boolreturn.cocci CC: Varun Prakash <varun@xxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f243e5a7859a24d10975afb9a1708cac624ba6f1 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Mar 25 14:45:03 2015 -0700 ipmr,ip6mr: call ip6mr_free_table() on failure path Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85b9909272f128757dcb6d053ca12e15931747d4 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Mar 25 14:45:02 2015 -0700 fib6: install fib6 ops in the last step We should not commit the new ops until we finish all the setup, otherwise we have to NULL it on failure. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a1e890e2168e33fb62d84528e996b8b4b478fea Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Wed Mar 25 21:41:33 2015 +0100 usbnet: Fix tx_bytes statistic running backward in cdc_ncm cdc_ncm disagrees with usbnet about how much framing overhead should be counted in the tx_bytes statistics, and tries 'fix' this by decrementing tx_bytes on the transmit path. But statistics must never be decremented except due to roll-over; this will thoroughly confuse user-space. Also, tx_bytes is only incremented by usbnet in the completion path. Fix this by requiring drivers that set FLAG_MULTI_FRAME to set a tx_bytes delta along with the tx_packets count. Fixes: beeecd42c3b4 ("net: cdc_ncm/cdc_mbim: adding NCM protocol statistics") Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> commit 1e9e39f4a29857a396ac7b669d109f697f66695e Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 19:34:37 2015 +0000 usbnet: Fix tx_packets stat for FLAG_MULTI_FRAME drivers Currently the usbnet core does not update the tx_packets statistic for drivers with FLAG_MULTI_PACKET and there is no hook in the TX completion path where they could do this. cdc_ncm and dependent drivers are bumping tx_packets stat on the transmit path while asix and sr9800 aren't updating it at all. Add a packet count in struct skb_data so these drivers can fill it in, initialise it to 1 for other drivers, and add the packet count to the tx_packets statistic on completion. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Tested-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3a2be3030e2fec27a2577d3c52203da090a4366 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Sun Mar 29 16:03:25 2015 +0200 spi: bcm2835: fill FIFO before enabling interrupts to reduce interrupts/message To reduce the number of interrupts/message we fill the FIFO before enabling interrupts - for short messages this reduces the interrupt count from 2 to 1 interrupt. There have been rare cases where short (<200ns) chip-select switches with native CS have been observed during such operation, this is why this optimization is only enabled for GPIO-CS. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Tested-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1e4df62d46fa45109123f2b265b2d8146031db16 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Sun Mar 29 16:03:23 2015 +0200 spi: bcm2835: fix code formatting issue Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Tested-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5798cd23f87a93a7f187c0314804b9a736a5319a Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Sun Mar 29 01:59:49 2015 +0100 Documentation/ABI:iio:fix typo Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bad4d1a074c7ba29636b951520574e18aec4c7fe Author: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Date: Tue Mar 24 16:54:15 2015 +0100 iio: mlx90614: Support devices with dual IR sensor The model is detected by reading the EEPROM configuration during probing. Signed-off-by: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 209c00691938c4b3d58142b05ca6f50b8971e521 Author: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Date: Tue Mar 24 16:54:14 2015 +0100 iio: mlx90614: Add symbols for accessible registers Add symbols for all accessible RAM and EEPROM registers, as well as the sleep command and timings defined in the datasheet. Signed-off-by: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3bbec9773389112330954a6a64422eaa78d546c1 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sun Mar 22 20:33:40 2015 +0200 iio: bmc150_accel: add support for hardware fifo We only advertise hardware fifo support if the I2C bus supports full I2C or smbus I2C block data reads since it is mandatory to read the full frame in one read (otherwise the rest of the frame is discarded). The hardware fifo is enabled only when triggers are not active because: (a) when using the any-motion trigger the user expects to see samples based on ROC events, but the fifo stores samples based on the sample frequency (b) the data-ready trigger is waking the CPU for for every sample, so using the hardware fifo does not have any benefit Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f4f4673b7535eff4ee1a8cfb1685fa1e1a0cb79d Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sun Mar 22 20:33:39 2015 +0200 iio: add support for hardware fifo Some devices have hardware buffers that can store a number of samples for later consumption. Hardware usually provides interrupts to notify the processor when the FIFO is full or when it has reached a certain watermark level. This helps with reducing the number of interrupts to the host processor and thus it helps decreasing the power consumption. This patch enables usage of hardware FIFOs for IIO devices in conjunction with software device buffers. When the hardware FIFO is enabled the samples are stored in the hardware FIFO. The samples are later flushed to the device software buffer when the number of entries in the hardware FIFO reaches the hardware watermark or when a flush operation is triggered by the user when doing a non-blocking read on an empty software device buffer. In order to implement hardware FIFO support the device drivers must implement the following new operations: setting and getting the hardware FIFO watermark level, flushing the hardware FIFO to the software device buffer. The device must also expose information about the hardware FIFO such it's minimum and maximum watermark and if necessary a list of supported watermark values. Finally, the device driver must activate the hardware FIFO when the device buffer is enabled, if the current device settings allows it. The software device buffer watermark is passed by the IIO core to the device driver as a hint for the hardware FIFO watermark. The device driver can adjust this value to allow for hardware limitations (such as capping it to the maximum hardware watermark or adjust it to a value that is supported by the hardware). It can also disable the hardware watermark (and implicitly the hardware FIFO) it this value is below the minimum hardware watermark. Since a driver may support hardware FIFO only when not in triggered buffer mode (due to different semantics of hardware FIFO sampling and triggered sampling) this patch changes the IIO core code to allow falling back to non-triggered buffered mode if no trigger is enabled. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 37d3455672732b29a477732a94abfe95e199f0ce Author: Josselin Costanzi <josselin.costanzi@xxxxxxxxxxxxxxxxx> Date: Sun Mar 22 20:33:38 2015 +0200 iio: add watermark logic to iio read and poll Currently the IIO buffer blocking read only wait until at least one data element is available. This patch makes the reader sleep until enough data is collected before returning to userspace. This should limit the read() calls count when trying to get data in batches. Co-author: Yannick Bedhomme <yannick.bedhomme@xxxxxxxxxxxxxxxxx> Signed-off-by: Josselin Costanzi <josselin.costanzi@xxxxxxxxxxxxxxxxx> [rebased and remove buffer timeout] Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a2166ca5f3204794e8b59f01c93a0f1564e3e138 Merge: 37791b6 01218bf Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Sun Mar 29 08:59:58 2015 +0100 Merge remote-tracking branch 'robh/for-next' into devicetree/next Conflicts: drivers/of/unittest.c commit 37791b6fbe7ab772020e714d34515f144fa981a0 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Fri Mar 27 20:30:04 2015 -0700 of/unittest: Fix of_platform_depopulate test case The previous commit, "of/unittest: early return from test skips tests" exposed broken tests for the of_platform_unpopulate() function. The problem was the populate and depopulate calls were not symmetrical like they were intended to be, and unpopulate depends on the parent device to have it's of_node pointer pointing to the parent device node. Fix these bugs so that the test case works correctly. In the process, the test_bus used as a container for the test devices has been changed from a statically allocated struct device (which is bad) to a properly allocated device with a .release() method (which is good). This stops the test code from being a bad example of abusing the device model. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Cc: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> commit 716e1d493a8717251158c708b2f161017bdcb3f9 Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Fri Mar 13 23:57:40 2015 -0700 of/unittest: early return from test skips tests Fix bugs pointed out by checkpatch: Mis-coding of two if statements caused early return from function. Number of tests completed increased from 102 to 107. Number of tests failed increased from 0 to 2. Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit c8547119ce54ef6d3c0685ef3837514fa6e11d28 Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Sat Mar 14 00:04:24 2015 -0700 of/unittest: breadcrumbs to reduce pain of future maintainers Fix warnings pointed out by checkpatch. Checkpatch warns: externs should be avoided in .c files Reducing pain for future maintainers - adding a comment so that anyone trying to find where the extern data is created will be able to find it. (grep will not find that location) Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 3db316d00bfa60c673c54f27cd5edc329a3b28b5 Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Sat Mar 14 00:02:31 2015 -0700 of/unittest: reduce checkpatch noise - line after declarations Fix warnings pointed out by checkpatch. No bug fixes, but reduce the number of checkpatch warnings so that future problems will stand out better. Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit a6bb121e16ae1e1cedc8cf37616a4d13c5a9a65b Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Fri Mar 13 23:59:01 2015 -0700 of/unittest: typo in error string Fix bug pointed out by checkpatch. Splitting string incorrectly removed a space between two words. Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit afaed7a993ceae468dabdbbda8a5eaf3e41b7a69 Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Sat Mar 14 00:00:36 2015 -0700 of/unittest: add const where needed Fix warnings pointed out by checkpatch. No bugs fixed, but the test code should be a good example of how to use the devicetree API. Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 3eb46a1da78dfff0c9e03313e11ee99841a9efdb Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 22:25:46 2015 +0300 of_net: factor out repetitive code from of_get_mac_address() of_get_mac_address() basically does the same thing thrice, every time with a different property name, so it makes sense to factor out the repetitive code into separate function. While at it, we can start using ETH_ALEN instead of the bare number and drop unnecessary parens around the property length check. The resulting ARM object file is 100 bytes less in size than before the patch. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 20fa110a54d8070a7d68fb44a6c0ea2d8b09fddc Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 28 15:32:52 2015 -0700 Bluetooth: Remove superfluous extra empty line between functions Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 57b0d3e8e7d570b693a1a253c637308130134a23 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 28 15:18:59 2015 -0700 Bluetooth: Fix error returns for Read Local OOB Extended Data commands The Read Local OOB Extended Data commands are required to return the address type and the data length at least. However currently the error returns only the address type. To fix this and avoid any extra allocations or stack memory, rearrange the code so that the same path can be used for error returns. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit efcd8c98e0d195c09fd9141a7af32dd83e62a5cb Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 28 15:18:58 2015 -0700 Bluetooth: Move memory location outside of hci_dev lock Taking the hci_dev lock for just a memory allocation seems a bit too much and not really needed. So instead try to allocate the memory first and then take the lock. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 271c865161c57cfabca45b93eaa712b19da365bc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 27 12:46:12 2015 +1030 Add virtio-input driver. virtio-input is basically evdev-events-over-virtio, so this driver isn't much more than reading configuration from config space and forwarding incoming events to the linux input layer. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 880897d4c9eedd69b33b9905a6919e3e4f58eae8 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Sat Mar 28 12:39:00 2015 -0700 Bluetooth: Update adv. parameters when conn. setting changes This patch fixes a bug where the advertising parameters weren't updated after a call to "Set Connectable" if the HCI_ADVERTISING_INSTANCE setting was set. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c7d4883b0684a732af779f88768c57ab006ce3a1 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Sat Mar 28 12:38:59 2015 -0700 Bluetooth: Use ADV_SCAN_IND for adv. instances With this patch, ADV_SCAN_IND will be used for advertising instances that have non-zero scan response data while the global "connectable" setting is "off". Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit faccb950f7170c37c9c2e1f82a6e33cd7a23a5c9 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Sat Mar 28 12:38:58 2015 -0700 Bluetooth: Fix using global connectable settings for adv This patch fixes a bug where ADV_NONCONN_IND was being used for advertising instances >0 while the global connectable setting was set to "on". Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 600b21507eb64bcd85bb87d06c2c2c451b565f02 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sat Mar 28 11:17:36 2015 +0200 Bluetooth: Fix race condition with HCI_RESET flag During the HCI init phase a completed request might be the last part of the setup procedure after which the actual init procedure starts. The init procedure begins with a call to hci_reset_req() which sets the HCI_RESET flag. The purpose of this flag is to make us ignore any updates to ncmd/cmd_cnt as long as we haven't received the command complete event for the HCI_Reset. There's a potential race with this however: hci_req_cmd_complete(hdev, opcode, status); if (ev->ncmd && !test_bit(HCI_RESET, &hdev->flags)) { atomic_set(&hdev->cmd_cnt, 1); if (!skb_queue_empty(&hdev->cmd_q)) queue_work(hdev->workqueue, &hdev->cmd_work); } Since the hci_req_cmd_complete() will trigger the completion of the setup stage, it's possible that hci_reset_req() gets called before we try to read ev->ncmd and the HCI_RESET flag. Because of this the cmd_cnt would never be updated and the hci_reset_req() in practice ends up blocking itself. This patch fixes the issue by updating cmd_cnt before notifying the request completion, and then reading it again to determine whether the cmd_work should be queued or not. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 15955e70320bdc5d60b153a572ee4d89ab34e3d3 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Mar 25 11:44:14 2015 +0100 ARM: 8328/1: remove empty preprocessor #else branch When the patch for e16343c47e42 (ARM: 8160/1: drop warning about return_address not using unwind tables) was created there was still more code in said branch. Probably this simplification was just missed during conflict resolution when the patch was applied. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c20611df13c3e3070607c267cf781ba8645a185e Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Mar 25 08:47:18 2015 +0100 ARM: 8327/1: zImage: add support for ARMv7-M This patch makes it possible to enter zImage in Thumb mode for ARMv7-M (Cortex-M) CPUs that do not support ARM mode. The kernel entry is also made in Thumb mode. [ukl: fix spelling in commit log, return early in call_cache_fn] Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Tested-by: Stefan Agner <stefan@xxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8defb3367fcd19d1af64c07792aade0747b54e0f Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Fri Mar 20 15:42:27 2015 +0100 ARM: 8320/1: fix integer overflow in ELF_ET_DYN_BASE Usually ELF_ET_DYN_BASE is 2/3 of TASK_SIZE. With 3G/1G user/kernel split this is not so, because 2*TASK_SIZE overflows 32 bits, so the actual value of ELF_ET_DYN_BASE is: (2 * TASK_SIZE / 3) = 0x2a000000 When ASLR is disabled PIE binaries will load at ELF_ET_DYN_BASE address. On 32bit platforms AddressSanitzer uses addresses [0x20000000 - 0x40000000] for shadow memory [1]. So ASan doesn't work for PIE binaries when ASLR disabled as it fails to map shadow memory. Also after Kees's 'split ET_DYN ASLR from mmap ASLR' patchset PIE binaries has a high chance of loading somewhere in between [0x2a000000 - 0x40000000] even if ASLR enabled. This makes ASan with PIE absolutely incompatible. Fix overflow by dividing TASK_SIZE prior to multiplying. After this patch ELF_ET_DYN_BASE equals to (for CONFIG_VMSPLIT_3G=y): (TASK_SIZE / 3 * 2) = 0x7f555554 [1] https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerAlgorithm#Mapping Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Reported-by: Maria Guseva <m.guseva@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a092aedb8115c16cb49bc64dd09cb20471ff942b Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Mar 19 19:04:05 2015 +0100 ARM: 8319/1: advertise availability of v8 Crypto instructions When running the 32-bit ARM kernel on ARMv8 capable bare metal (e.g., 32-bit Android userland and kernel on a Cortex-A53), or as a KVM guest on a 64-bit host, we should advertise the availability of the Crypto instructions, so that userland libraries such as OpenSSL may use them. (Support for the v8 Crypto instructions in the 32-bit build was added to OpenSSL more than six months ago) This adds the ID feature bit detection, and sets elf_hwcap2 accordingly. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b8c9592b4a6c93211c8163888a97880d608503b5 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Mar 19 19:03:25 2015 +0100 ARM: 8318/1: treat CPU feature register fields as signed quantities The various CPU feature registers consist of 4-bit blocks that represent signed quantities, whose positive values represent incremental features, and whose negative values are reserved. To improve forward compatibility, update the feature detection code to take possible future higher values into account, but ignore negative values. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit eb765c1ceb275b839ec67ff5779148b9298369c2 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 18 07:35:01 2015 +0100 ARM: 8317/1: move the .idmap.text section closer to .head.text This moves the .idmap.text section closer to .head.text, so that relative branches are less likely to go out of range if the kernel text gets bigger. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit bf35706f3d0929b413e90b32cf9dd453f200a570 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 18 07:29:32 2015 +0100 ARM: 8314/1: replace PROCINFO embedded branch with relative offset This patch replaces the 'branch to setup()' instructions embedded in the PROCINFO structs with the offset to that setup function relative to the base of the struct. This preserves the position independent nature of that field, but uses a data item rather than an instruction. This is mainly done to prevent linker failures on large kernels, where the setup function is out of reach for the branch. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4ce7ca89d6e8eae9e201cd0e972ba323f33e2fb4 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Mar 28 12:07:14 2015 +0530 iio: imu: Use iio_trigger_get for indio_dev->trig assignment This patch uses iio_trigger_get to increment the reference count of trigger device, to avoid incorrect assignment. Can result in a null pointer dereference during removal if the trigger has been changed before removal. This patch refers to a similar situation encountered through the following discussion: http://www.spinics.net/lists/linux-iio/msg13669.html Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f54e9f2be312a4e71b54aea865b2e33ccb95ef0c Author: Stefan Agner <stefan@xxxxxxxx> Date: Tue Mar 24 13:47:47 2015 +0100 iio: adc: vf610: use ADC clock within specification Depending on conversion mode used, the ADC clock (ADCK) needs to be below a maximum frequency. According to Vybrid's data sheet this is 20MHz for the low power conversion mode. The ADC clock is depending on input clock, which is the bus clock by default. Vybrid SoC are typically clocked at at 400MHz or 500MHz, which leads to 66MHz or 83MHz bus clock respectively. Hence, a divider of 8 is required to stay below the specified maximum clock of 20MHz. Due to the different bus clock speeds, the resulting sampling frequency is not static. Hence use the ADC clock and calculate the actual available sampling frequency dynamically. This fixes bogous values observed on some 500MHz clocked Vybrid SoC. The resulting value usually showed Bit 9 being stuck at 1, or 0, which lead to a value of +/-512. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bbc45f3ab78edb8c97e563ddd351f851da47dab1 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 16 22:27:10 2015 +0100 iio/adc/cc10001_adc.c: Fix !HAS_IOMEM build Fixes: drivers/built-in.o: In function `cc10001_adc_probe': cc10001_adc.c:(.text+0x412e92): undefined reference to `devm_ioremap_resource' Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9444a300c2be3ce6266462e3171ceb6636cc62e8 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Mon Mar 23 15:40:25 2015 +0200 IIO: Add support for L3GD20H gyroscope It can be used exactly like L3GD20 but it has a different WhoAmI register value. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4cd968ef4249fde24194b7b9a74be87dd7f8ed0f Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Sat Mar 28 21:35:17 2015 +1100 selftests/powerpc: Add a test of the switch_endian() syscall This adds a test of the switch_endian() syscall we added in the previous commit. We test it by calling the endian switch syscall, and then executing some code in the other endian to check everything went as expected. That code checks registers we expect to be maintained are. If the endian switch failed to happen that code sequence will be illegal and cause the test to abort. We then switch back to the original endian, do the same checks and finally write a success message and exit(0). Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 529d235a0e190ded1d21ccc80a73e625ebcad09b Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Sat Mar 28 21:35:16 2015 +1100 powerpc: Add a proper syscall for switching endianness We currently have a "special" syscall for switching endianness. This is syscall number 0x1ebe, which is handled explicitly in the 64-bit syscall exception entry. That has a few problems, firstly the syscall number is outside of the usual range, which confuses various tools. For example strace doesn't recognise the syscall at all. Secondly it's handled explicitly as a special case in the syscall exception entry, which is complicated enough without it. As a first step toward removing the special syscall, we need to add a regular syscall that implements the same functionality. The logic is simple, it simply toggles the MSR_LE bit in the userspace MSR. This is the same as the special syscall, with the caveat that the special syscall clobbers fewer registers. This version clobbers r9-r12, XER, CTR, and CR0-1,5-7. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d9d7b990473889a17b0f54e860a65b141733799c Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Fri Mar 27 13:53:00 2015 +0200 tools: iio: generic_buffer: Fix generic scale extraction When using generic_buffer to read data, the scale is not properly detected for scale shared by type. This is caused by a problem with the generation of generic name out of the full name. E.g.: for current->name in_accel_z, the extracted generic name is "in" (when it should be "in_accel"). This is used in generic_buffer to generate scale and offset paths (in_accel_scale). Consider the in_ or out_ prefix when extracting the generic name from the full name. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8ea06893e66d03dc567845d65b42812efd71b9f3 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Mar 28 03:02:39 2015 +0300 iio: Add ABI documentation for in_rot offset value This patch adds ABI documentation entries for in_rot_offset. At least one user for these is present that is the HID Sensors Driver. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a878a1a61a1f0e4b23602ddd87b1408a7a748d0e Author: Antonio Fiol <antonio@xxxxxxx> Date: Sat Mar 28 09:07:14 2015 +0100 iio: max517: Add support for MAX520 and MAX521 chips. MAX520 and MAX521 are protocol-compatible with the already supported chips, just have more channels. Signed-off-by: Antonio Fiol <antonio@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7253606d383954c5b0470b5f27fbcedeec2e6d72 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:15 2015 +0100 iio: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7cf78db585b13d5f43e5108cca6cdc5d9682793a Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Mon Mar 16 17:18:20 2015 +0530 iio: Add ABI documentation for illuminance raw and scale values in light This patchset adds ABI documentation for the following attributes: in_illuminance_scale, used atleast once in al3320a staging/iio/light/ in_illuminance_calibscale, used atleast once in cm32181 in_illuminance_input, used in cm3232 at least once in_illuminance_raw used atleast once in al3320a in_illuminance_clear_raw and in_illuminance_ir_raw exposed by gp2ap020a00f with modifiers IIO_MOD_LIGHT_CLEAR and IIO_MOD_LIGHT_IR respectively. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3acddf74f807778f0593ab4aaf26189c93e55ff1 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Mar 18 10:52:06 2015 +0100 iio: st-sensors: add support for lis3lv02d accelerometer This adds support for the LIS3LV02 accelerometer found in the ST Microelectronics Nomadik board series. Cc: devicetree@xxxxxxxxxxxxxxx Cc: Denis CIOCCA <denis.ciocca@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 6331c686e664909988ecc35b040e1e96c137f5e0 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 27 15:11:41 2015 -0700 Bluetooth: btusb: Consolidate Broadcom based device entries For all modern Bluetooth USB devices from Broadcom it makes a lot more sense to use USB_VENDOR_AND_INTERFACE_INFO instead of manually adding USB_DEVICE for each one of them. There are already interface entries for these vendors and so just remove the duplicate device entries. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a5ed1ad07b3a75894311e12fdd401bf64d0667fe Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 14:16:38 2015 +1100 drivers/of: Add empty ranges quirk for PA-Semi The "sdc" node is missing the ranges property, it needs to be treated as having an empty one otherwise translation fails for its children. Fixes 746c9e9f92dd, "of/base: Fix PowerPC address parsing hack" Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> # v3.18+ commit 121c92cad33db29685f09e11c892b99c1b87ce7d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Jan 23 17:10:04 2015 +0100 of: Allow selection of OF_DYNAMIC and OF_OVERLAY if OF_UNITTEST Currently OF_DYNAMIC and OF_OVERLAY are not visible to the user, and are selected automatically only when needed. Allow them to be enabled manually to improve device tree unit test coverage. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 0384e8c6c6fa49dae44ffad31958e9b897da0160 Author: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Date: Wed Jan 21 19:05:57 2015 +0200 of: Empty node & property flag accessors when !OF Introduce empty node and property flag accessors when CONFIG_OF is not defined. This allows us to use them without ifdef'ing them in places where it makes sense to do so. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 41d9489319f28f06cf51731131bc353d5a6bce59 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 14:16:38 2015 +1100 drivers/of: Add empty ranges quirk for PA-Semi The "sdc" node is missing the ranges property, it needs to be treated as having an empty one otherwise translation fails for its children. Fixes 746c9e9f92dd, "of/base: Fix PowerPC address parsing hack" Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> # v3.18+ commit c03e73740d24fbe990291cd9ac2d6ae0d95b975f Author: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 12:47:25 2015 -0700 powerpc/pseries: Simplify check for suspendability during suspend/migration During suspend/migration operation we must wait for the VASI state reported by the hypervisor to become Suspending prior to making the ibm,suspend-me RTAS call. Calling routines to rtas_ibm_supend_me() pass a vasi_state variable that exposes the VASI state to the caller. This is unnecessary as the caller only really cares about the following three conditions; if there is an error we should bailout, success indicating we have suspended and woken back up so proceed to device tree update, or we are not suspendable yet so try calling rtas_ibm_suspend_me again shortly. This patch removes the extraneous vasi_state variable and simply uses the return code to communicate how to proceed. We either succeed, fail, or get -EAGAIN in which case we sleep for a second before trying to call rtas_ibm_suspend_me again. The behaviour of ppc_rtas() remains the same, but migrate_store() now returns the propogated error code on failure. Previously -1 was returned from migrate_store() in the failure case which equates to -EPERM and was clearly wrong. Signed-off-by: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx> Cc: Nathan Fontenont <nfont@xxxxxxxxxxxxxxxxxx> Cc: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 956b200a846e324322f6211034c734c65a38e550 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Mar 27 16:36:04 2015 -0700 spi: spidev: Warn loudly if instantiated from DT as "spidev" Since spidev is a detail of how Linux controls a device rather than a description of the hardware in the system we should never have a node described as "spidev" in DT, any SPI device could be a spidev so this is just not a useful description. In order to help prevent users from writing such device trees generate a warning if spidev is instantiated as a DT node without an ID in the match table. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a9eaa8130707d4013fb109b80323489c0d0111ac Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Oct 17 08:17:03 2014 -0700 regulator: Ensure unique regulator debugfs directory names If multiple regulator devices of the same type exist in a system, the regulator driver assigns generic names for the regulators it provides, and debugfs is enabled, the regulator subsystem attempts to create multiple entries with the same name in the regulator debugfs directory. This fails for all but the first regulator, resulting in multiple "Failed to create debugfs directory" log entries. To avoid the problem, prepend the debugfs directory name for a regulator with its parent device name if available, but only if no explicit regulator name was provided. Cc: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3b7843ff618f63d1776abd71de7eea9130987037 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 26 04:02:51 2015 +0000 ASoC: rsnd: add DPCM based sampling rate convert This patch supports DPCM based sampling rate convert on Renesas sound driver. It assumes... 1. SRC is implemented as FE 2. BE dai_link supports .be_hw_params_fixup Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b543b52a44c4e45283cd17721af1299049405136 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 26 04:02:32 2015 +0000 ASoC: rsnd: remove useless debug message This patch removes useless debug message. especially some kind of "probed" message will be printed from core.c if it has #define DEBUG Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f8d04e7d91f86c61dbb096d81b99cd692b87fa19 Merge: af7e2be 2f78dd7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Mar 27 16:00:39 2015 -0700 Merge branch 'asoc-fix-rcar' into HEAD commit 2f78dd7f40264697afed4c2ac0890df8f0588e49 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 26 04:02:09 2015 +0000 ASoC: rsnd: call clk_prepare/unprepare() in probe/remove clk_prepare_enable()/clk_disable_unprepare() uses mutex inside, in concretely clk_prepare()/clk_unprepare().And it uses __schedule(). Then, raw_spin_lock/unlock_irq() is called, and it breaks Renesas sound driver's spin lock irq. This patch separates thesse into clk_prepare()/clk_unprepare() and clk_enable/clk_disable. And call clk_prepare()/clk_unprepare() from probe/remove function. Special thanks to Das Biju. Reported-by: Das Biju <biju.das@xxxxxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af7e2be96623785816c1a6e521307b7af11ad016 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 26 04:01:46 2015 +0000 ASoC: rsrc-card: add .be_hw_params_fixup support for convert rate Current rsnd-dpcm-card is supporting DPCM FE/BE sound card. This patch adds .be_hw_params_fixup and enabled sampling convert rate. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 415f1cb29d3be865b034b528058c7115bc262f43 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 26 04:01:27 2015 +0000 ASoC: rsrc-card: add Renesas sampling rate convert sound card support Renesas sound card has "sampling rate convert" feature which should be implemented via DPCM. But, sound card driver point of view, it is difficult to add this DPCM feature on simple-card driver. Especially, DT binding support is very difficult. This patch implements DPCM feature on DT as Renesas specific sound card. This new driver is copied from current simple-card driver. Main difference between simple-card and this driver are... 1. removed unused feature from simple-card 2. removed driver named prefix from DT property 3. CPU will be FE, CODEC will be BE with snd-soc-dummy 4. it supports sampling rate convert via .be_hw_params_fixup 5. board specific routing is implemented in driver Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0a6a78b8b3c1c1757fbeca4bbf518e44c70c9e4b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 09:41:33 2015 +0000 ARM: add documentation for finding start of physical memory Occasionally, there's a question about the method we use to find the start of physical memory. Add some documentation so we don't have to keep repeating outselves on the mailing list. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e5b61deb3af465f11db7e5e11944ba00a33ece1f Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Wed Mar 25 19:16:05 2015 +0100 ARM: 8332/1: add CONFIG_VDSO Kconfig and Makefile bits Allow users to enable the vdso in Kconfig; include the vdso in the build if CONFIG_VDSO is enabled. Add 'vdso_install' target. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ecf99a439105ebd0a507af1a9cd901a2e166bf9a Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Wed Mar 25 19:15:08 2015 +0100 ARM: 8331/1: VDSO initialization, mapping, and synchronization Initialize the VDSO page list at boot, install the VDSO mapping at exec time, and update the data page during timer ticks. This code is not built if CONFIG_VDSO is not enabled. Account for the VDSO length when randomizing the offset from the stack. The [vdso] and [vvar] pages are placed immediately following the sigpage with separate _install_special_mapping calls. We want to "penalize" systems lacking the arch timer as little as possible. Previous versions of this code installed the VDSO unconditionally and unmodified, making it a measurably slower way for glibc to invoke the real syscalls on such systems. E.g. calling gettimeofday via glibc goes from ~560ns to ~630ns on i.MX6Q. If we can indicate to glibc that the time-related APIs in the VDSO are not accelerated, glibc can continue to invoke the syscalls directly instead of dispatching through the VDSO only to fall back to the slow path. Thus, if the architected timer is unusable for whatever reason, patch the VDSO at boot time so that symbol lookups for gettimeofday and clock_gettime return NULL. (This is similar to what powerpc does and borrows code from there.) This allows glibc to perform the syscall directly instead of passing control to the VDSO, which minimizes the penalty. In my measurements the time taken for a gettimeofday call via glibc goes from ~560ns to ~580ns (again on i.MX6Q), and this is solely due to adding a test and branch to glibc's gettimeofday syscall wrapper. An alternative to patching the VDSO at boot would be to not install the VDSO at all when the arch timer isn't usable. Another alternative is to include a separate "dummy" vdso.so without gettimeofday and clock_gettime, which would be selected at boot time. Either of these would get cumbersome if the VDSO were to gain support for an API such as getcpu which is unrelated to arch timer support. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8512287a8165592466cb9cb347ba94892e9c56a5 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Wed Mar 25 19:14:22 2015 +0100 ARM: 8330/1: add VDSO user-space code Place VDSO-related user-space code in arch/arm/kernel/vdso/. It is almost completely written in C with some assembly helpers to load the data page address, sample the counter, and fall back to system calls when necessary. The VDSO can service gettimeofday and clock_gettime when CONFIG_ARM_ARCH_TIMER is enabled and the architected timer is present (and correctly configured). It reads the CP15-based virtual counter to compute high-resolution timestamps. Of particular note is that a post-processing step ("vdsomunge") is necessary to produce a shared object which is architecturally allowed to be used by both soft- and hard-float EABI programs. The 2012 edition of the ARM ABI defines Tag_ABI_VFP_args = 3 "Code is compatible with both the base and VFP variants; the user did not permit non-variadic functions to pass FP parameters/results." Unfortunately current toolchains do not support this tag, which is ideally what we would use. The best available option is to ensure that both EF_ARM_ABI_FLOAT_SOFT and EF_ARM_ABI_FLOAT_HARD are unset in the ELF header's e_flags, indicating that the shared object is "old" and should be accepted for backward compatibility's sake. While binutils < 2.24 appear to produce a vdso.so with both flags clear, 2.24 always sets EF_ARM_ABI_FLOAT_SOFT, with no way to inhibit this behavior. So we have to fix things up with a custom post-processing step. In fact, the VDSO code in glibc does much less validation (including checking these flags) than the code for handling conventional file-backed shared libraries, so this is a bit moot unless glibc's VDSO code becomes more strict. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1713ce7c43755fe8b0f31ea317513129bf784909 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Wed Mar 25 19:13:16 2015 +0100 ARM: 8329/1: miscellaneous vdso infrastructure, preparation Define the layout of the data structure shared between kernel and userspace. Track the vdso address in the mm_context; needed for communicating AT_SYSINFO_EHDR to the ELF loader. Add declarations for arm_install_vdso; implementation is in a following patch. Define AT_SYSINFO_EHDR, and, if CONFIG_VDSO=y, report the vdso shared object address via the ELF auxiliary vector. Note - this adds the AT_SYSINFO_EHDR in a new user-visible header asm/auxvec.h; this is consistent with other architectures. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 209431eff8afb928d72200c79153165c7d860ca0 Author: Praneeth Bajjuri <praneeth@xxxxxx> Date: Wed Mar 25 18:25:09 2015 -0500 ARM: DRA7: Enable Cortex A15 errata 798181 ARM errata 798181 is applicable for OMAP5/DRA7 based devices. So enable the same in the build. DRA7xx is based on Cortex-A15 r2p2 revision. ARM Errata extract and workaround information is as below. On Cortex-A15 (r0p0..r3p2) the TLBI*IS/DSB operations are not adequately shooting down all use of the old entries. The ARM_ERRATA_798181 option enables the Linux kernel workaround for this erratum which sends an IPI to the CPUs that are running the same ASID as the one being invalidated. Signed-off-by: Praneeth Bajjuri <praneeth@xxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7145074b374dd90a4512fe52c062b336b724f276 Merge: 19cc2de 4055eae Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 27 14:26:21 2015 -0700 Merge branch 'bcmgenet-next' Petri Gynther says: ==================== net: bcmgenet: multiple Rx queues support Final patch set to add support for multiple Rx queues: 1. remove priv->int0_mask and priv->int1_mask 2. modify Tx ring int_enable and int_disable vectors 3. simplify bcmgenet_init_dma() 4. tweak init_umac() 5. rework Tx NAPI code 6. rework Rx NAPI code 7. add support for multiple Rx queues ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4055eaefb3603a2a55305c81292379922a742131 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:16 2015 -0700 net: bcmgenet: add support for multiple Rx queues Add support for multiple Rx queues: 1. Add NAPI context per Rx queue 2. Modify Rx interrupt and Rx NAPI code to handle multiple Rx queues Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ab113399b633bacb500a903d2f96f25ded2226c Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:15 2015 -0700 net: bcmgenet: rework Rx NAPI code Introduce new bcmgenet functions to handle the NAPI calls to: netif_napi_add() napi_enable() napi_disable() netif_napi_del() Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2aadb4aa9fe4619a78dd925a4756535e9bf3d74 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:14 2015 -0700 net: bcmgenet: rework Tx NAPI code Introduce new bcmgenet functions to handle the NAPI calls to: netif_napi_add() napi_enable() napi_disable() netif_napi_del() Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2e97eca88f07d1a4dae691ad8d751ba1de15645 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:12 2015 -0700 net: bcmgenet: tweak init_umac() Use more meaningful variable names int0_enable and int1_enable when enabling bcmgenet interrupts. For Rx default queue interrupts, use: UMAC_IRQ_RXDMA_BDONE | UMAC_IRQ_RXDMA_PDONE For Tx default queue interrupts, use: UMAC_IRQ_TXDMA_BDONE | UMAC_IRQ_TXDMA_PDONE Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebbd96fb2861f591df011cd0eac67dd367596cca Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:11 2015 -0700 net: bcmgenet: simplify bcmgenet_init_dma() Do the two kcalloc() calls first, before proceeding into Rx/Tx DMA init. Makes the error case handling much simpler. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9dbac28fc193e3972f566f120dce67d69a1df634 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:10 2015 -0700 net: bcmgenet: modify Tx ring int_enable and int_disable vectors Remove unnecessary function parameter priv. Use ring->priv instead. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e412b1045c3bddd31e16f9e93d6843de2482be0c Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 25 12:35:09 2015 -0700 net: bcmgenet: remove priv->int0_mask and priv->int1_mask Remove unused priv->int0_mask and priv->int1_mask. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d952bd070f79b6dcbad52c03dbc41cbc8ba086c8 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Dec 8 23:07:56 2014 +0000 MIPS: KVM: Wire up MSA capability Now that the code is in place for KVM to support MIPS SIMD Architecutre (MSA) in MIPS guests, wire up the new KVM_CAP_MIPS_MSA capability. For backwards compatibility, the capability must be explicitly enabled in order to detect or make use of MSA from the guest. The capability is not supported if the hardware supports MSA vector partitioning, since the extra support cannot be tested yet and it extends the state that the userland program would have to save. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx commit ab86bd600400357ffa0dfdb1797f587476d01352 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Dec 2 15:48:24 2014 +0000 MIPS: KVM: Expose MSA registers Add KVM register numbers for the MIPS SIMD Architecture (MSA) registers, and implement access to them with the KVM_GET_ONE_REG / KVM_SET_ONE_REG ioctls when the MSA capability is enabled (exposed in a later patch) and present in the guest according to its Config3.MSAP bit. The MSA vector registers use the same register numbers as the FPU registers except with a different size (128bits). Since MSA depends on Status.FR=1, these registers are inaccessible when Status.FR=0. These registers are returned as a single native endian 128bit value, rather than least significant half first with each 64-bit half native endian as the kernel uses internally. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx commit c2537ed9fb8e17d713e5e67fcede047699d25814 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Feb 6 10:56:27 2015 +0000 MIPS: KVM: Add MSA exception handling Add guest exception handling for MIPS SIMD Architecture (MSA) floating point exceptions and MSA disabled exceptions. MSA floating point exceptions from the guest need passing to the guest kernel, so for these a guest MSAFPE is emulated. MSA disabled exceptions are normally handled by passing a reserved instruction exception to the guest (because no guest MSA was supported), but the hypervisor can now handle them if the guest has MSA by passing an MSA disabled exception to the guest, or if the guest has MSA enabled by transparently restoring the guest MSA context and enabling MSA and the FPU. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 2b6009d646887cac8888f1ce8694af0beefce88b Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Feb 6 23:01:00 2015 +0000 MIPS: KVM: Emulate MSA bits in COP0 interface Emulate MSA related parts of COP0 interface so that the guest will be able to enable/disable MSA (Config5.MSAEn) once the MSA capability has been wired up. As with the FPU (Status.CU1) setting Config5.MSAEn has no immediate effect if the MSA state isn't live, as MSA state is restored lazily on first use. Changes after the MSA state has been restored take immediate effect, so that the guest can start getting MSA disabled exceptions right away for guest MSA operations. The MSA state is saved lazily too, as MSA may get re-enabled in the near future anyway. A special case is also added for when Status.CU1 is set while FR=0 and the MSA state is live. In this case we are at risk of getting reserved instruction exceptions if we try and save the MSA state, so we lose the MSA state sooner while MSA is still usable. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 539cb89fbdfe082d00be6f83d0f2140b7802151c Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Mar 5 11:43:36 2015 +0000 MIPS: KVM: Add base guest MSA support Add base code for supporting the MIPS SIMD Architecture (MSA) in MIPS KVM guests. MSA cannot yet be enabled in the guest, we're just laying the groundwork. As with the FPU, whether the guest's MSA context is loaded is stored in another bit in the fpu_inuse vcpu member. This allows MSA to be disabled when the guest disables it, but keeping the MSA context loaded so it doesn't have to be reloaded if the guest re-enables it. New assembly code is added for saving and restoring the MSA context, restoring only the upper half of the MSA context (for if the FPU context is already loaded) and for saving/clearing and restoring MSACSR (which can itself cause an MSA FP exception depending on the value). The MSACSR is restored before returning to the guest if MSA is already enabled, and the existing FP exception die notifier is extended to catch the possible MSA FP exception and step over the ctcmsa instruction. The helper function kvm_own_msa() is added to enable MSA and restore the MSA context if it isn't already loaded, which will be used in a later patch when the guest attempts to use MSA for the first time and triggers an MSA disabled exception. The existing FPU helpers are extended to handle MSA. kvm_lose_fpu() saves the full MSA context if it is loaded (which includes the FPU context) and both kvm_lose_fpu() and kvm_drop_fpu() disable MSA. kvm_own_fpu() also needs to lose any MSA context if FR=0, since there would be a risk of getting reserved instruction exceptions if CU1 is enabled and we later try and save the MSA context. We shouldn't usually hit this case since it will be handled when emulating CU1 changes, however there's nothing to stop the guest modifying the Status register directly via the comm page, which will cause this case to get hit. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 5fafd8748b366105e08c198892e9fe02ef15c021 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Dec 8 23:07:56 2014 +0000 MIPS: KVM: Wire up FPU capability Now that the code is in place for KVM to support FPU in MIPS KVM guests, wire up the new KVM_CAP_MIPS_FPU capability. For backwards compatibility, the capability must be explicitly enabled in order to detect or make use of the FPU from the guest. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx commit 379245cdf1d1efc1eccc38bf0cc985dae232123d Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Dec 2 15:48:24 2014 +0000 MIPS: KVM: Expose FPU registers Add KVM register numbers for the MIPS FPU registers, and implement access to them with the KVM_GET_ONE_REG / KVM_SET_ONE_REG ioctls when the FPU capability is enabled (exposed in a later patch) and present in the guest according to its Config1.FP bit. The registers are accessible in the current mode of the guest, with each sized access showing what the guest would see with an equivalent access, and like the architecture they may become UNPREDICTABLE if the FR mode is changed. When FR=0, odd doubles are inaccessible as they do not exist in that mode. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx commit 1c0cd66adbac8aa339b9521eceb18b00d1b0699e Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Feb 6 10:56:27 2015 +0000 MIPS: KVM: Add FP exception handling Add guest exception handling for floating point exceptions and coprocessor 1 unusable exceptions. Floating point exceptions from the guest need passing to the guest kernel, so for these a guest FPE is emulated. Also, coprocessor 1 unusable exceptions are normally passed straight through to the guest (because no guest FPU was supported), but the hypervisor can now handle them if the guest has its FPU enabled by restoring the guest FPU context and enabling the FPU. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 6cdc65e31d4f70561d71eeaf34a2a70ab68bf146 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Feb 3 13:59:38 2015 +0000 MIPS: KVM: Emulate FPU bits in COP0 interface Emulate FPU related parts of COP0 interface so that the guest will be able to enable/disable the following once the FPU capability has been wired up: - The FPU (Status.CU1) - 64-bit FP register mode (Status.FR) - Hybrid FP register mode (Config5.FRE) Changing Status.CU1 has no immediate effect if the FPU state isn't live, as the FPU state is restored lazily on first use. After that, changes take place immediately in the host Status.CU1, so that the guest can start getting coprocessor unusable exceptions right away for guest FPU operations if it is disabled. The FPU state is saved lazily too, as the FPU may get re-enabled in the near future anyway. Any change to Status.FR causes the FPU state to be discarded and FPU disabled, as the register state is architecturally UNPREDICTABLE after such a change. This should also ensure that the FPU state is fully initialised (with stale state, but that's fine) when it is next used in the new FP mode. Any change to the Config5.FRE bit is immediately updated in the host state so that the guest can get the relevant exceptions right away for single-precision FPU operations. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 98e91b8457d81f53fab990fac6c57e2a43c47627 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Nov 18 14:09:12 2014 +0000 MIPS: KVM: Add base guest FPU support Add base code for supporting FPU in MIPS KVM guests. The FPU cannot yet be enabled in the guest, we're just laying the groundwork. Whether the guest's FPU context is loaded is stored in a bit in the fpu_inuse vcpu member. This allows the FPU to be disabled when the guest disables it, but keeping the FPU context loaded so it doesn't have to be reloaded if the guest re-enables it. An fpu_enabled vcpu member stores whether userland has enabled the FPU capability (which will be wired up in a later patch). New assembly code is added for saving and restoring the FPU context, and for saving/clearing and restoring FCSR (which can itself cause an FP exception depending on the value). The FCSR is restored before returning to the guest if the FPU is already enabled, and a die notifier is registered to catch the possible FP exception and step over the ctc1 instruction. The helper function kvm_lose_fpu() is added to save FPU context and disable the FPU, which is used when saving hardware state before a context switch or KVM exit (the vcpu_get_regs() callback). The helper function kvm_own_fpu() is added to enable the FPU and restore the FPU context if it isn't already loaded, which will be used in a later patch when the guest attempts to use the FPU for the first time and triggers a co-processor unusable exception. The helper function kvm_drop_fpu() is added to discard the FPU context and disable the FPU, which will be used in a later patch when the FPU state will become architecturally UNPREDICTABLE (change of FR mode) to force a reload of [stale] context in the new FR mode. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit b86ecb3766abd9138289ff2a18381d25b73f4622 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Feb 9 16:35:20 2015 +0000 MIPS: KVM: Add vcpu_get_regs/vcpu_set_regs callback Add a vcpu_get_regs() and vcpu_set_regs() callbacks for loading and restoring context which may be in hardware registers. This may include floating point and MIPS SIMD Architecture (MSA) state which may be accessed directly by the guest (but restored lazily by the hypervisor), and also dedicated guest registers as provided by the VZ ASE. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit c771607af959f282704268a209743560d3264eb3 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jun 26 15:11:29 2014 +0100 MIPS: KVM: Add Config4/5 and writing of Config registers Add Config4 and Config5 co-processor 0 registers, and add capability to write the Config1, Config3, Config4, and Config5 registers using the KVM API. Only supported bits can be written, to minimise the chances of the guest being given a configuration from e.g. QEMU that is inconsistent with that being emulated, and as such the handling is in trap_emul.c as it may need to be different for VZ. Currently the only modification permitted is to make Config4 and Config5 exist via the M bits, but other bits will be added for FPU and MSA support in future patches. Care should be taken by userland not to change bits without fully handling the possible extra state that may then exist and which the guest may begin to use and depend on. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 2211ee810ac6fdcdb42b7a126e20d1b4e5c55124 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Mar 4 15:56:47 2015 +0000 MIPS: KVM: Simplify default guest Config registers Various semi-used definitions exist in kvm_host.h for the default guest config registers. Remove them and use the appropriate values directly when initialising the Config registers. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 7bd4acec42670a18b023392db6f4bfaa4dee179e Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Dec 2 15:47:04 2014 +0000 MIPS: KVM: Clean up register definitions a little Clean up KVM_GET_ONE_REG / KVM_SET_ONE_REG register definitions for MIPS, to prepare for adding a new group for FPU & MSA vector registers. Definitions are added for common bits in each group of registers, e.g. KVM_REG_MIPS_CP0 = KVM_REG_MIPS | 0x10000, for the coprocessor 0 registers. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 58a115bcec06f2de26923bc13e88cb73b780ae41 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jun 26 15:21:11 2014 +0100 MIPS: KVM: Drop pr_info messages on init/exit The information messages when the KVM module is loaded and unloaded are a bit pointless and out of line with other architectures, so lets drop them. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit e93d4c159caaf746422c1af4c4f09fce9b456f8c Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jun 26 13:47:22 2014 +0100 MIPS: KVM: Sort kvm_mips_get_reg() registers Sort the registers in the kvm_mips_get_reg() switch by register number, which puts ERROREPC after the CONFIG registers. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 1068eaaf2f64ffb44d97fbaa9ff7a4662b76cf9e Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jun 26 13:56:52 2014 +0100 MIPS: KVM: Implement PRid CP0 register access Implement access to the guest Processor Identification CP0 register using the KVM_GET_ONE_REG and KVM_SET_ONE_REG ioctls. This allows the owning process to modify and read back the value that is exposed to the guest in this register. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 0a5604272d80c985f87de959f0bb7e36fd53d3c7 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Feb 6 16:03:57 2015 +0000 MIPS: KVM: Handle TRAP exceptions from guest kernel Trap instructions are used by Linux to implement BUG_ON(), however KVM doesn't pass trap exceptions on to the guest if they occur in guest kernel mode, instead triggering an internal error "Exception Code: 13, not yet handled". The guest kernel then doesn't get a chance to print the usual BUG message and stack trace. Implement handling of the trap exception so that it gets passed to the guest and the user is left with a more useful log message. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: kvm@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx commit 64bedffe496820dbb6b53302d80dd0f04db33d8e Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Dec 2 13:44:13 2014 +0000 MIPS: Clear [MSA]FPE CSR.Cause after notify_die() When handling floating point exceptions (FPEs) and MSA FPEs the Cause bits of the appropriate control and status register (FCSR for FPEs and MSACSR for MSA FPEs) are read and cleared before enabling interrupts, presumably so that it doesn't have to go through the pain of restoring those bits if the process is pre-empted, since writing those bits would cause another immediate exception while still in the kernel. The bits aren't normally ever restored again, since userland never expects to see them set. However for virtualisation it is necessary for the kernel to be able to restore these Cause bits, as the guest may have been interrupted in an FP exception handler but before it could read the Cause bits. This can be done by registering a die notifier, to get notified of the exception when such a value is restored, and if the PC was at the instruction which is used to restore the guest state, the handler can step over it and continue execution. The Cause bits can then remain set without causing further exceptions. For this to work safely a few changes are made: - __build_clear_fpe and __build_clear_msa_fpe no longer clear the Cause bits, and now return from exception level with interrupts disabled instead of enabled. - do_fpe() now clears the Cause bits and enables interrupts after notify_die() is called, so that the notifier can chose to return from exception without this happening. - do_msa_fpe() acts similarly, but now actually makes use of the second argument (msacsr) and calls notify_die() with the new DIE_MSAFP, allowing die notifiers to be informed of MSA FPEs too. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx commit 98119ad53376885819d93dfb8737b6a9a61ca0ba Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Feb 6 11:11:56 2015 +0000 MIPS: KVM: Handle MSA Disabled exceptions from guest Guest user mode can generate a guest MSA Disabled exception on an MSA capable core by simply trying to execute an MSA instruction. Since this exception is unknown to KVM it will be passed on to the guest kernel. However guest Linux kernels prior to v3.15 do not set up an exception handler for the MSA Disabled exception as they don't support any MSA capable cores. This results in a guest OS panic. Since an older processor ID may be being emulated, and MSA support is not advertised to the guest, the correct behaviour is to generate a Reserved Instruction exception in the guest kernel so it can send the guest process an illegal instruction signal (SIGILL), as would happen with a non-MSA-capable core. Fix this as minimally as reasonably possible by preventing kvm_mips_check_privilege() from relaying MSA Disabled exceptions from guest user mode to the guest kernel, and handling the MSA Disabled exception by emulating a Reserved Instruction exception in the guest, via a new handle_msa_disabled() KVM callback. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ commit 8e6c94910320e8ff0f6a4f2fdd809f50289d2852 Merge: b3a2a90 1f3a2c6 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Mar 27 19:03:40 2015 +0000 Merge branch '4.1-fp' of git://git.linux-mips.org/pub/scm/ralf/upstream-sfr into kvm_mips_queue MIPS FP/MSA fixes from the MIPS tree. Includes a fix to ensure that the FPU is properly disabled by lose_fpu() when MSA is in use, and Paul Burton's "FP/MSA fixes" patchset which is required for FP/MSA support in KVM: > This series fixes a bunch of bugs, both build & runtime, with FP & MSA > support. Most of them only affect systems with the new FP modes & MSA > support enabled but patch 6 in particular is more general, fixing > problems for mips64 systems. commit 19cc2dec8ab0fd258b023be1835aa8d710232877 Merge: 5a352dd 6772b65 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 27 14:18:52 2015 -0700 Merge branch 'xgene-next' Iyappan Subramanian says: ==================== drivers: net: xgene: Add separate tx completion ring SGMII based 1GbE and 10GbE interfaces support multiple interrupts. Adding separate tx completion descriptor ring and associating a dedicated irq for the TX completion. ==================== Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> commit 6772b653f8c2fd0a54a23da28a0a761685deec85 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Wed Mar 25 12:19:12 2015 -0700 drivers: net: xgene: Add separate tx completion ring - Added wrapper functions around napi_add, napi_del, napi_enable and napi_disable - Moved platform_get_irq function call after reading phy_mode - Associating the new irq to tx completion for the supported ethernet interfaces Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d31346494bd2b1185949dc64ab6467186b80fb05 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Wed Mar 25 12:19:11 2015 -0700 dtb: xgene: Add interrupt for Tx completion Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e7d638ab1542d22ff9b14e56f323e1f6cd25cf1 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Wed Mar 25 12:19:10 2015 -0700 Documentation: dts: xgene: Update interrupt field description Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5116ede10dc92d7a11a38fc59f545c24a33809cd Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Mar 27 17:25:21 2015 +0800 ASoC: max98925: Fix bit-width 24 settings in max98925_dai_hw_params Trivial typo fix. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Anish Kumar <Anish.Kumar@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ff27a3443addb19af609245b218fa510c7d37dd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Mar 27 20:21:01 2015 +0100 drm/i915: Update DRIVER_DATE to 20150327 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1f3a2c6e229ccb8df8115b04d16ad4832767cf3a Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Jan 30 12:09:39 2015 +0000 MIPS: MSA: Fix big-endian FPR_IDX implementation The maximum word size is 64-bits since MSA state is saved using st.d which stores two 64-bit words, therefore reimplement FPR_IDX using xor, and only within each 64-bit word. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9169/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 466aec5f292be469e15b3dc3d17b731dab93727c Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Jan 30 12:09:38 2015 +0000 Revert "MIPS: Don't assume 64-bit FP registers for context switch" This reverts commit 02987633df7ba2f62967791dda816eb191d1add3. The basic premise of the patch was incorrect since MSA context (including FP state) is saved using st.d which stores two consecutive 64-bit words in memory rather than a single 128-bit word. This means that even with big endian MSA, the FP state is still in the first 64-bit word. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9168/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 84ab45b33858a87632e1f5e207e302bf48eaf52e Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:37 2015 +0000 MIPS: disable FPU if the mode is unsupported The expected semantics of __enable_fpu are for the FPU to be enabled in the given mode if possible, otherwise for the FPU to be left disabled and SIGFPE returned. The FPU was incorrectly being left enabled in cases where the desired value for FR was unavailable. Without ensuring the FPU is disabled in this case, it would be possible for userland to go on to execute further FP instructions natively in the incorrect mode, rather than those instructions being trapped & emulated as they need to be. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9167/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ac9ad83bc318635ed7496e9dff30beaa522eaec7 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:36 2015 +0000 MIPS: prevent FP context set via ptrace being discarded If a ptracee has not used the FPU and the ptracer sets its FP context using PTRACE_POKEUSR, PTRACE_SETFPREGS or PTRACE_SETREGSET then that context will be discarded upon either the ptracee using the FPU or a further write to the context via ptrace. Prevent this loss by recording that the task has "used" math once its FP context has been written to. The context initialisation code that was present for the PTRACE_POKEUSR case is reused for the other 2 cases to provide consistent behaviour for the different ptrace requests. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9166/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ad70c13a938daf833cad86830f23865ee37aa5c7 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:35 2015 +0000 MIPS: Ensure FCSR cause bits are clear after invoking FPU emulator When running the emulator to handle an instruction that raised an FP unimplemented operation exception, the FCSR cause bits were being cleared. This is done to ensure that the kernel does not take an FP exception when later restoring FP context to registers. However, this was not being done when the emulator is invoked in response to a coprocessor unusable exception. This happens in 2 cases: - There is no FPU present in the system. In this case things were OK, since the FP context is never restored to hardware registers and thus no FP exception may be raised when restoring FCSR. - The FPU could not be configured to the mode required by the task. In this case it would be possible for the emulator to set cause bits which are later restored to hardware if the task migrates to a CPU whose associated FPU does support its mode requirements, or if the tasks FP mode requirements change. Consistently clear the cause bits after invoking the emulator, by moving the clearing to process_fpemu_return and ensuring this is always called before the tasks FP context is restored. This will make it easier to catch further paths invoking the emulator in future, as will be introduced in further patches. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9165/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 091be550a70a086c3b4420c6155e733dc410f190 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:34 2015 +0000 MIPS: clear MSACSR cause bits when handling MSA FP exception Much like for traditional scalar FP exceptions, the cause bits in the MSACSR register need to be cleared following an MSA FP exception. Without doing so the exception will simply be raised again whenever the kernel restores MSACSR from a tasks saved context, leading to undesirable spurious exceptions. Clear the cause bits from the handle_msa_fpe function, mirroring the way handle_fpe clears the cause bits in FCSR. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9164/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e1bebbab1eaecac77d77033010b5e0f51b737e64 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:33 2015 +0000 MIPS: wrap cfcmsa & ctcmsa accesses for toolchains with MSA support Uses of the cfcmsa & ctcmsa instructions were not being wrapped by a macro in the case where the toolchain supports MSA, since the arguments exactly match a typical use of the instructions. However using current toolchains this leads to errors such as: arch/mips/kernel/genex.S:437: Error: opcode not supported on this processor: mips32r2 (mips32r2) `cfcmsa $5,1' Thus uses of the instructions must be in the context of a ".set msa" directive, however doing that from the users of the instructions would be messy due to the possibility that the toolchain does not support MSA. Fix this by renaming the macros (prepending an underscore) in order to avoid recursion when attempting to emit the instructions, and provide implementations for the TOOLCHAIN_SUPPORTS_MSA case which ".set msa" as appropriate. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9163/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a3a49810c55e3489dfb5d72a9b2e41ab1db9ffb9 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:32 2015 +0000 MIPS: remove MSA macro recursion Recursive macros made the code more concise & worked great for the case where the toolchain doesn't support MSA. However, with toolchains which do support MSA they lead to build failures such as: arch/mips/kernel/r4k_switch.S: Assembler messages: arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w(0+1)[2],$1' arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w(0+1)[3],$1' arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w((0+1)+1)[2],$1' arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w((0+1)+1)[3],$1' ... Drop the recursion from msa_init_all_upper invoking the msa_init_upper macro explicitly for each vector register. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9162/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f23ce3883a30743a5b779dc6fb90ca8620688a23 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jan 30 12:09:31 2015 +0000 MIPS: assume at as source/dest of MSA copy/insert instructions Assuming at ($1) as the source or destination register of copy or insert instructions: - Simplifies the macros providing those instructions for toolchains without MSA support. - Avoids an unnecessary move instruction when at is used as the source or destination register anyway. - Is sufficient for the uses to be introduced in the kernel by a subsequent patch. Note that due to a patch ordering snafu on my part this also fixes the currently broken build with MSA support enabled. The build has been broken since commit c9017757c532 "MIPS: init upper 64b of vector registers when MSA is first used", which this patch should have preceeded. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9161/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 631afc65e8f4f845945ef9e90236d10cee601498 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Mar 27 17:00:03 2015 +0000 MIPS: Push .set mips64r* into the functions needing it The {save,restore}_fp_context{,32} functions require that the assembler allows the use of sdc instructions on any FP register, and this is acomplished by setting the arch to mips64r2 or mips64r6 (using MIPS_ISA_ARCH_LEVEL_RAW). However this has the effect of enabling the assembler to use mips64 instructions in the expansion of pseudo-instructions. This was done in the (now-reverted) commit eec43a224cf1 "MIPS: Save/restore MSA context around signals" which led to my mistakenly believing that there was an assembler bug, when in reality the assembler was just emitting mips64 instructions. Avoid the issue for future commits which will add code to r4k_fpu.S by pushing the .set MIPS_ISA_ARCH_LEVEL_RAW directives into the functions that require it, and remove the spurious assertion declaring the assembler bug. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> [james.hogan@xxxxxxxxxx: Rebase on v4.0-rc1 and reword commit message to reflect use of MIPS_ISA_ARCH_LEVEL_RAW] Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9612/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit acaf6a97d623af123314c2f8ce4cf7254f6b2fc1 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Feb 25 13:08:05 2015 +0000 MIPS: lose_fpu(): Disable FPU when MSA enabled The lose_fpu() function only disables the FPU in CP0_Status.CU1 if the FPU is in use and MSA isn't enabled. This isn't necessarily a problem because KSTK_STATUS(current), the version of CP0_Status stored on the kernel stack on entry from user mode, does always get updated and gets restored when returning to user mode, but I don't think it was intended, and it is inconsistent with the case of only the FPU being in use. Sometimes leaving the FPU enabled may also mask kernel bugs where FPU operations are executed when the FPU might not be enabled. So lets disable the FPU in the MSA case too. Fixes: 33c771ba5c5d ("MIPS: save/disable MSA in lose_fpu") Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9323/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a7a484bfca218f9671a3e3bc98851eab6b628310 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Mar 26 12:46:30 2015 +0100 at86rf230: fix is_tx while error handling This patch fix the error handling when is_tx is true. The error handling tries to get the transceiver into RX_AACK_ON mode then we need to be sure that is_tx is false. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3ff7092bc83b50e831c43d83141084756f4e6ae1 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Mar 26 12:46:29 2015 +0100 at86rf230: remove unnecessary spinlock This spinlock isn't necessary because if we are in TX_ON/TX_ARET_ON state the transceiver can't be interrupted e.g. by receiving a frame when a SHR was detected. In this time the transceiver doesn't leave the TX_ON/TX_ARET_ON state until the tx complete irq change the state into RX_AACK_ON again. This means a receiving interrupt in state TX_ON/TX_ARET_ON can't happen and is_tx is protected by transceiver. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8bf9538a5de5f6496993fb294ef606e453232ea4 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Mar 26 12:46:28 2015 +0100 mac802154: cleanup concurrent check This patch cleanups the checking of different mac phy depended values by handling depended mac settings per hw support flag in one condition. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1006e3c93161431c81135b8a23fbfa69dcd43ab0 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Tue Feb 24 19:56:01 2015 -0800 CLK: Add binding document for Pistachio clock controllers Add a device-tree binding document describing the four clock controllers present on the IMG Pistachio SoC. Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx> 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: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9319/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a6b188e50a6ad6fa4d2da163a44f21280cea01c2 Merge: 6248015 edec178 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Mar 27 10:42:16 2015 -0700 Merge tag 'for-v4.1/omap-hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.1/soc OMAP hwmod data changes for AM43xx and DRA7xx for v4.1 Add support for the AM43xx HDQ/1-wire driver and fix the GPTIMER data for DRA7xx. Note that I do not have AM43xx nor DRA7xx boards, and cannot test these patches on those platforms. Basic build, boot, and PM test logs are available at: http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v4.1/20150324185246/ commit 8cc7f33aadc8fb37b5a3f4c46f5fa83748a92a01 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Mar 13 00:38:39 2015 -0700 mtd: spi-nor: factor out replace-able flash_{lock,unlock} Flash lock/unlock is a flash-specific operations. Factor out a callback for it to more readily support other vendors. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: VIET NGA DAO <vndao@xxxxxxxxxx> commit 373225510f9608150a18b3491e756fbf3f58ff24 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Mar 27 20:19:09 2015 +0800 ASoC: rt5645: Restore HP depop setting in HP off This driver will set RT5645_DEPOP_MAN bit in headphone power up depop process. We need to restore it in headphone power down process. Otherwise, we will get headphone noise when push button function is enabled. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1b5d0160e8f17db0714016a2550d3b1d65c70c3e Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Mar 27 20:19:08 2015 +0800 ASoC: rt5645: Use update_bits for bit control In codec bias level off, we need to disable gate mode with MCLK for power saving. It is set by one bit. We don't need to write while register for that. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit afefc12801e501fea90f1d9a678e0985f47dc1bf Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Mar 27 20:19:07 2015 +0800 ASoC: rt5645: Set use_single_rw flag for regmap RT5645 doesn't support auto incrementing writes so driver should set the use_single_rw flag for regmap. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 57bf27365c56b547097253004768904419df6c69 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Mar 27 20:19:06 2015 +0800 ASoC: rt5645: Redefine format config for rt5650 rt5650 and rt5645 use different register bits for format configuration. This patch modifies rt5645_hw_params and rt5645_set_dai_fmt to support both codecs. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8c18d76bcba874e872410ca63c7e59b10aafa17d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 16:40:07 2015 -0400 NFS: Block new writes while syncing data in nfs_getattr() Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5bb89b4702e22981445ae01af733a57d1cae2018 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 14:14:42 2015 -0400 NFSv4.1/pnfs: Separate out metadata and data consistency for pNFS The LAYOUTCOMMIT operation means different things to different layout types. For blocks and objects, it is both a data and metadata consistency operation. For files and flexfiles, it is only a metadata consistency operation. This patch separates out the 2 cases, allowing the files/flexfiles layout drivers to optimise away the data consistency calls to layoutcommit. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7140171ea9be4143736c35acf6f31b6feb195ca0 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 12:36:13 2015 -0400 NFSv4.1/pnfs: Ensure we send layoutcommit before return-on-close We must not send a close or delegreturn that would result in a return-on-close of the layout without ensuring that we've also sent the necessary layoutcommit. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a0815d556d1cfb686b46995f86fb081f623fa720 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 18:58:53 2015 -0400 NFSv4.1/pnfs: Ensure that writes respect the O_SYNC flag when doing O_DIRECT If the caller does not specify the O_SYNC flag, then it is legitimate to return from O_DIRECT without doing a pNFS layoutcommit operation. However if the file is opened O_DIRECT|O_SYNC then we'd better get it right. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9e1681c2e74bdd84bad6f74b47a4d88ad2f433df Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 17:23:31 2015 -0400 NFSv4: Truncating file opens should also sync O_DIRECT writes We don't just want to sync out buffered writes, but also O_DIRECT ones. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit d9dabc1a01656868d53a1d08309ca24d922b1376 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Mar 26 15:55:49 2015 -0400 NFS: File unlock needs to be a metadata synchronisation point File unlock needs to update both data and metadata on the NFS server in order to act as a synchronisation point for other clients. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4d346bea8f0bf6d6351037899586a85435c15b9b Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 16:38:33 2015 -0400 NFS: Add a helper to sync both O_DIRECT and buffered writes Then apply it to nfs_setattr() and nfs_getattr(). Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 67af7611ec57dbcbc96f9d9daa4d3c7b0999aa73 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 20:40:38 2015 -0400 NFSv4.1/pnfs: Refactor pnfs_set_layoutcommit() pnfs_set_layoutcommit() and pnfs_commit_set_layoutcommit() are 100% identical except for the function arguments. Refactor to eliminate the difference. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 29559b11aef072f893cd32280dcec9d7380ca011 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 20:10:20 2015 -0400 NFSv4.1/pnfs: Fix setting of layoutcommit last write byte If the NFS_INO_LAYOUTCOMMIT flag was unset, then we _must_ ensure that we also reset the last write byte (lwb) for that layout. The current code depends on us clearing the lwb when we clear NFS_INO_LAYOUTCOMMIT, which is not the case when we call pnfs_clear_layoutcommit(). Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 415320fc14eca40b564d1797e68895d15b51ac49 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 13:26:18 2015 -0400 NFSv4: Return the delegation before returning the layout in evict_inode() Minor optimisation for the case where the layout has return-on-close enabled. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 81b79afb504870a31ee1f764e81a202685cde795 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 19:09:08 2015 -0400 NFSv4: Allow tracing of NFSv4 fsync calls I appear to have missed this when adding the ftrace probes. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 65dd82ae453f5290be0ea83ed0f23163ea49c0eb Author: Johan Hovold <johan@xxxxxxxxxx> Date: Fri Mar 27 17:33:38 2015 +0100 USB: f81232: fix some minor style issues Fix some really minor coding-style issues. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit fc87701b918c05c2d78f8191f5bc3c6c178bdb3d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 9 17:25:14 2015 -0400 NFS: Fix free_deveiceid -> free_deviceid Make it easier to grep for these functions by name. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit df52699e4fcefe30ebe4f1db48bd161254a0b102 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 9 14:48:32 2015 -0400 NFSv4.1: Don't cache deviceids that have no notifications The spec says that once all layouts that reference a given deviceid have been returned, then we are only allowed to continue to cache the deviceid if the metadata server supports notifications. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4e59080397faadee59d39ffa2116dc8607adc9c9 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 9 14:01:25 2015 -0400 NFSv4.1: Allow getdeviceinfo to return notification info back to caller We are only allowed to cache deviceinfo if the server supports notifications and actually promises to call us back when changes occur. Right now, we request those notifications, but then we don't check the server's reply. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fb1458f4578c8dc78dc124de2a58950a6d4e3492 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 9 15:37:00 2015 -0400 NFSv4.1: Cleanup - don't opencode nfs4_put_deviceid_node() There really is no reason to do so. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 84a80f62f71beac20a426709c04b49f2bd352291 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 9 15:23:35 2015 -0400 NFSv4.1: Convert pNFS deviceid to use kfree_rcu() Use of synchronize_rcu() when unmounting and potentially freeing a lot of deviceids is problematic. There really is no reason why we can't just use kfree_rcu() here. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 27842bb18b004a2802f4b3221c79ce638c4bf6ee Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:39 2015 -0700 mmc: Remove msm_sdcc driver This driver is orphaned now that mach-msm has been removed. Delete it. Cc: Chris Ball <chris@xxxxxxxxxx> Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 8c7b69ae430c449414b34230946ef707ea95dcc6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:35 2015 -0700 gpio: Remove gpio-msm-v1 driver This driver is orphaned now that mach-msm has been removed. Delete it. Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit c0c89fafa289ea241ba3fb22d6f583f8089a719e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:34 2015 -0700 ARM: Remove mach-msm and associated ARM architecture code The maintainers for mach-msm no longer have any plans to support or test the platforms supported by this architecture[1]. Most likely there aren't any active users of this code anyway, so let's delete it. [1] http://lkml.kernel.org/r/20150307031212.GA8434@xxxxxxxxxx Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 96ee85c06515407453e2ac09d6fbdece0c791087 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:28 2015 +0800 USB: f81232: modify/add author Add me to co-author and fix no '>' in greg kh's email Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 9e7d953bbf746cf704238965a716e0afcfe0f5f4 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:27 2015 +0800 USB: f81232: cleanup non-used define We remove non-used define in this patch to avoid wrong usage. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 88d35cffff83cc0b11d6e7a2bef73b602f156da0 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:26 2015 +0800 USB: f81232: clarify f81232_ioctl() and fix We extract TIOCGSERIAL section in f81232_ioctl() to f81232_get_serial_info() to make it clarify. Also we fix device type from 16654 to 16550A, and set it's baud_base to 115200 (1.8432MHz/16). Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 8bb4ca6b56bdf65944d0848561ea8dcf53a87507 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:25 2015 +0800 USB: f81232: implement set_termios() The original driver had do not any h/w change in driver. This patch implements with configure H/W for baud/parity/word length/stop bits functional in f81232_set_termios(). This patch also implement DTR/RTS control when baudrate B0. We drop DTR/RTS when B0, otherwise enable it. We are checking baudrate in set_termios() too, If baudrate larger then 115200, it will be changed to 115200 and use tty_encode_baud_rate() to encode into tty Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 94f87309fb12e3d41dbc56df899f3b357277d0bf Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:24 2015 +0800 USB: f81232: implement port enable/disable method We put FCR/IER initial step to f81232_port_enable()/f81232_port_disable(). When port is open, it set MSR interrupt on. Otherwise set it off. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 691545fd92551baea6207781b33c95aa6444bf0d Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:23 2015 +0800 USB: f81232: implement MCR/MSR function This patch implement relative MCR/MSR function, such like tiocmget()/tiocmset()/dtr_rts()/carrier_raised() original f81232_carrier_raised() compared with wrong value UART_DCD. It's should compared with UART_MSR_DCD. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 87fe5adcd8de001160d9208def72cc11f3780845 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:22 2015 +0800 USB: f81232: implement read IIR/MSR with endpoint The interrupt endpoint will report current IIR. If we got IIR with MSR changed , We will do read MSR with interrupt_work worker to do f81232_read_msr() function. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 7139c932859f5b35b5a928b445e03f5a43610fa7 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:21 2015 +0800 USB: f81232: change lock mechanism The original driver lock with spin_lock_irqsave()/spin_unlock_irqrestore() because of it's maybe used in interrupt context f81232_process_read_urb(). We had remove it from previous patch "implement RX bulk-in EP", so we can change it from busying loop spin_lock to sleepable mutex_lock. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 8885078949fbb78c6be39ed2c653e4e883568e2f Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:20 2015 +0800 USB: f81232: implement RX bulk-in EP The F81232 bulk-in is RX data + LSR channel, data format is [LSR+Data][LSR+Data]..... , We had implemented in f81232_process_read_urb(). Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> [johan: reword comment in process_read_urb ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit b830d07dc3f6891cd4788f651fa240d32fdbc068 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 17:48:19 2015 +0800 USB: f81232: rename private struct member name Change private struct member name from line_status to modem_status. It will store MSR for some functions used Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 2c0ed6349287a15f7be73bba00e520106087cd1b Author: Lu, Han <han.lu@xxxxxxxxx> Date: Fri Mar 27 15:03:57 2015 +0800 ASoC: Intel: fix warning reported by static check tool smatch The smatch tool report warning: ... CHECK sound/soc/intel/sst-haswell-pcm.c sound/soc/intel/sst-haswell-pcm.c:1110 hsw_pcm_probe() error: buffer overflow\ 'hsw_dais' 4 <= 4 sound/soc/intel/sst-haswell-pcm.c:1112 hsw_pcm_probe() error: buffer overflow\ 'hsw_dais' 4 <= 4 ... fix it by use its own struct member for post-process module, rather than sharing unused pcm member. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Acked-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5fcdfacc01f3a3415b75acb172cd75c9fe1cbda5 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 25 13:19:42 2015 -0400 NFSv4: Return delegations synchronously in evict_inode Kinglong Mee reports that asynchronous delegations are being killed by the call to rpc_shutdown_client() when unmounting. This can lead to state leakage on the server until the client lease expires. Reported-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0695314ef0920b745423510f1e96bf60415a404a Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Mar 23 16:10:00 2015 -0400 SUNRPC: Fix a regression when reconnecting If the task needs to give up the socket lock in order to allow a reconnect to occur, then it must also clear the 'rq_bytes_sent' field so that when it retransmits, it knows to start from the beginning. Fixes: 718ba5b87343 ("SUNRPC: Add helpers to prevent socket create from racing") Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 255c03d15a29a3ccb7a40d247f02bf38ba3f3592 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:38 2015 +0100 libata: Add tracepoints Add some tracepoints for ata_qc_issue, ata_qc_complete, and ata_eh_link_autopsy. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a1524f226a02aa6edebd90ae0752e97cfd78b159 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:37 2015 +0100 libata-eh: Set 'information' field for autosense If NCQ autosense or the sense data reporting feature is enabled the LBA of the offending command should be stored in the sense data 'information' field. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit fe7173c206de63fc28475ee6ae42ff95c05692de Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:36 2015 +0100 libata: Implement support for sense data reporting ACS-4 defines a sense data reporting feature set. This patch implements support for it. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 42b966fbf35da9c87f08d98f9b8978edf9e717cf Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:35 2015 +0100 libata: Implement NCQ autosense Some newer devices support NCQ autosense (cf ACS-4), so we should be using it to retrieve the sense code and speed up recovery. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 1308d7f0107b264b480e7048dc345fc6b7408e7e Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:34 2015 +0100 libata: use status bit definitions in ata_dump_status() Use the bit definitions for better readability. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 27f00e53af72702d3a9e6f75590e66fe04914149 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:33 2015 +0100 ide,ata: Rename ATA_IDX to ATA_SENSE ATA-8 defines bit 1 as 'ATA_SENSE', not 'ATA_IDX'. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 8ae720449fca4b1d0294c0a0204c0c45556a3e61 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:32 2015 +0100 libata: whitespace fixes in ata_to_sense_error() Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 825e2d878319faf75a0cd432fa92f290f6ffd130 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:31 2015 +0100 libata: whitespace cleanup in ata_get_cmd_descript() Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9faa643855df6f673f08543576c759b82dd270d3 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Mar 27 16:46:30 2015 +0100 libata: use READ_LOG_DMA_EXT If READ_LOG_DMA_EXT is supported we should try to use it for reading the log pages. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3b10db23c0411524357c5834731df2e24897b53b Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Fri Mar 27 17:37:10 2015 +0200 i2c: dln2: set the device tree node of the adapter This patch makes sure the platform device tree node is inherited by the adapter device. This allows the DLN2 bus to work with i2c devices defined in the device tree. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d9e1f4417a43cd0871253b2158eae07a48d656b5 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Mar 17 03:51:13 2015 -0400 i2c: davinci: fixup wait_for_completion_timeout handling wait_for_completion_timeout return 0 (timeout) or >=1 (completion) so the check for >= 0 is always true and can be dropped implying that r==-EREMOTEIO and thus the return of -EREMOTEIO can be done in the if (dev->buf_len) branch. As wait_for_completion_timeout returns unsigned long not int, and int r is exclusively used for wait_for_completion_timeout it is renamed and the type changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9c836d0c44798227a75c410cf33a76992cf93437 Author: Amit Tomar <Amit.Tomar@xxxxxxxxxxxxx> Date: Fri Mar 27 18:19:00 2015 +0530 i2c: mpc: Fix ISR return value ISR should not return IRQ_HANDLED for not handling anything. This patch fixes the return value of ISR for the same case. Signed-off-by: Amit Singh Tomar <amit.tomar@xxxxxxxxxxxxx> Acked-by: Danielle Costantino <danielle.costantino@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 98e982b3a29829b676b723e42c1184c87e5242d0 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 09:26:39 2015 +0100 i2c: slave-eeprom: add more info when to increase the pointer It is a bit subtle when to correctly increase the buffer index when reading. Make this clearer by adding some more comments and pointers to the docs. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d0c892f59c918535f902caea63637af87d931d91 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 09:26:38 2015 +0100 i2c: slave: add documentation for i2c-slave-eeprom Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7c6037508357b553670a713ec537b8a76941b952 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 09:26:37 2015 +0100 Documentation: i2c: describe the new slave mode Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5b77d162a3d7359a8a8d83776720da065bf4e77b Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 09:26:36 2015 +0100 i2c: slave: rework the slave API After more discussion, brave users, and additional datasheet evaluation, some API updates for the new I2C slave framework became imminent. The slave events now get some easier to understand naming. Also, the event handling has been simplified to only need a single call to the slave callback when an action by the backend is required. Reported-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7ef5f82b100716b23de7d2da6ff602b0842e5804 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 15:52:00 2015 +0200 drm: Rewrite drm_ioctl_flags() to resemble the new drm_ioctl() code Use the same logic when checking for valid ioctl range in drm_ioctl_flags() that is used in drm_ioctl() to avoid confusion. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53615af7a27400d252307093ce49768ccf6442a9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 15:51:59 2015 +0200 drm: Use max() to make the ioctl alloc size code cleaner Use max() to make the code to determine the allocation size for the ioctl data easier to read. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83be003807415a07465fc5d748803b702409f3da Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 15:51:58 2015 +0200 drm: Simplify core vs. drv ioctl handling Now that cmd_drv is gone the handling for core and driver ioctls is mostly identical, so eliminate the duplication. Also take the opportunity to simplify the range checks to be less cluttered. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7e7392a6e854a29016377b87bebe5ae263f65e5c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 15:51:56 2015 +0200 drm: Drop ioctl->cmd_drv ioctl->cmd_drv is pointless and we can just as well stick the full ioctl definition into ioctl->cmd. Cc: Jakob Bornecrantz <jakob@xxxxxxxxxx> Cc: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9c7d3d3e289c9870ae688780a0f9807bb5ae9faf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 27 15:51:55 2015 +0200 drm: Fix DRM_IOCTL_DEF_DRV() Currently DRM_IOCTL_DEF_DRV does '[DRM_IOCTL_NR(DRM_##ioctl)]' which doesn't make much sense since DRM_##ioctl is already a the raw ioctl number. So change it to 'DRM_IOCTL_NR(DRM_IOCTL_##ioctl) - DRM_COMMAND_BASE' which means the DRM_IOCTL_NR() now makes sense, and also this also means if there's a mistake in the DRM_IOCTL_##ioctl macros we might get a warning about it (eg. we would have gotten a sparse warning about the i915 colorkey get/set ioctl being defined to be the same thing). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b9e9cd32ba33d13c7ecbc15b9f4418beded403d2 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Fri Mar 27 16:03:26 2015 +0100 HID: pidff: effect can't be NULL Force-beedback core guarantees that the 'effect' pointer that's being passed to ->upload() callback is non-NULL. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 743e78c1d726d875b98ff9689cc77c4d3d5d9ae2 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 11:02:10 2015 +0000 drm/i915: Skip allocating shadow batch for 0-length batches Since commit 17cabf571e50677d980e9ab2a43c5f11213003ae Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 11:20:57 2015 +0000 drm/i915: Trim the command parser allocations we may then try to allocate a zero-sized object and attempt to extract its pages. Understandably this fails. Testcase: igt/gem_exec_nop #ivb,byt,hsw Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 88f9eae4d74c1b5c35adb026d7f0d4d44d2fdf70 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Mar 23 11:33:00 2015 +0100 drm/radeon: programm the VCE fw BAR as well Otherwise the VCE firmware needs to be in the first 256MB of VRAM. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1b01fc347ae7d2b76ac849f7040a32582cb5aee3 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Mar 23 11:32:59 2015 +0100 drm/radeon: always dump the ring content if it's available Dumping is still possible if a ring isn't ready, only when it isn't allocated at all we need to abort here. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f2c9e560b406f2f6b14b345c7da33467dee9cdf2 Author: David Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 23:18:40 2015 -0400 radeon: Do not directly dereference pointers to BIOS area. Use readb() and memcpy_fromio() accessors instead. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3899ca844b82fb201fb764f56eec483acb59a29c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Mar 18 17:05:10 2015 -0400 drm/radeon/dpm: fix 120hz handling harder Need to expand the check to handle short circuiting if the selected state is the same as current state. bug: https://bugs.freedesktop.org/show_bug.cgi?id=87796 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9d918c157fc27716ca8d601745b4776a3145cc93 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 27 15:33:51 2015 +0200 drm/i915: Handle error to get connector state when staging config The return value of one of the calls to drm_atomic_get_connector_state() in intel_modeset_stage_output_state() wasn't checked for errors. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21042d43b34129cef00d185b7aa2705d1249f879 Author: Jiri Slaby <jslaby@xxxxxxx> Date: Thu Mar 26 10:10:17 2015 +0100 livepatch: add support on s390 This is a trivial port from kGraft. Module relocations are not supported yet. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 9abc464854cf12273ebe66dc5e4a9d82b6e0c303 Author: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Date: Fri Mar 27 13:09:22 2015 +0200 drm/i915: Compare GGTT view structs instead of types To allow for views where the view type is not defined by the view type only, like it is in stereo or rotated 90 degree view, change the semantic to require the whole view structure for comparison when we match a GGTT view. This allows including parameters like offset to be included in the view which is useful for eg. partial views. v3: - Rely on ggtt_view type being 0 for non-GGTT vma's, which equals to I915_GGTT_VIEW_NORMAL. (Daniel Vetter) - Do not use potentially slower comparison when we only want to know if something is or is not a normal view. - Rebase on top of rotated view patches. Add rotated view singleton. - If one view is missing in comparison they're equal only if both are missing. v4: - Use comparison helper in obj_to_ggtt_view too. (Tvrtko Ursulin) - Do WARN_ON if one view is NULL. (Tvrtko Ursulin) Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2f2cf68261acc4c5356dd07e8a8966612ae5a0d4 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Mar 27 19:26:35 2015 +0800 drm/i915: fix simple_return.cocci warnings drivers/gpu/drm/i915/i915_gem_gtt.c:1349:1-4: WARNING: end returns can be simpified and declaration on line 1347 can be dropped Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4218a32f55fc71983e4c1c6e5b98b28db8226b3b Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Mar 26 22:18:40 2015 +0100 drm/atomic-helpers: Properly avoid full modeset dance Legacy setCrtc has a nice fastpath for just updating the frontbuffer when the output routing doesn't change. Which I of course tried to keep working, except that I fumbled the job: The helpers correctly compute ->mode_changed, CRTC updates get correctly skipped but connector functions are called unconditionally. Fix this. v2: For the disable sided connector->state->crtc might be NULL. Instead look at the old_connector_state->crtc, but still use the new crtc state for that old crtc. Reported by Thierry. Reported-and-Tested-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> (v1) Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 874c571414d5617f4042298986b6a826816ee885 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Mar 18 12:24:42 2015 +0000 arm-cci: Fix CCI PMU event validation We mask the event with the CCI_PMU_EVENT_MASK, before passing the config to pmu_validate_hw_event(), which causes extra bits to be ignored and qualifies an invalid event code as valid. e.g, $ perf stat -a -C 0 -e CCI_400/config=0x1ff,name=cycles/ sleep 1 Performance counter stats for 'system wide': 506951142 cycles 1.013879626 seconds time elapsed where, cycles has an event coding of 0xff. This patch also removes the unnecessary 'event' mask in pmu_write_register, since the config_base is set by the pmu code after the event is validated. Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx> Reviewed-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ee8e5d5fbec0e880b18bbdbfe12de53ab1dec21f Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Mar 18 12:24:41 2015 +0000 arm-cci: Split the code for PMU vs driver support This patch separates the PMU driver code from the low level CCI driver code and enables the PMU driver for ARM64. Introduces config options for both. ARM_CCI400_PORT_CTRL - controls the low level driver code for CCI400 ports. ARM_CCI400_PMU - controls the PMU driver code ARM_CCI400_COMMON - Common defintions for CCI400 This patch also changes: ARM_CCI - common code for probing the CCI devices. This can be used for adding support for newer CCI versions(e.g, CCI-500). Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Cc: Liviu Dudau <liviu.dudau@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Punit Agrawal <punit.agrawal@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 772742a6c7ea4612fe043353531e6435ed33e719 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Mar 18 12:24:40 2015 +0000 arm-cci: Get rid of secure transactions for PMU driver Avoid secure transactions while probing the CCI PMU. The existing code makes use of the Peripheral ID2 (PID2) register to determine the revision of the CCI400, which requires a secure transaction. This puts a limitation on the usage of the driver on systems running non-secure Linux(e.g, ARM64). Updated the device-tree binding for cci pmu node to add the explicit revision number for the compatible field. The supported strings are : arm,cci-400-pmu,r0 arm,cci-400-pmu,r1 arm,cci-400-pmu - DEPRECATED. See NOTE below NOTE: If the revision is not mentioned, we need to probe the cci revision, which could be fatal on a platform running non-secure. We need a reliable way to know if we can poke the CCI registers at runtime on ARM32. We depend on 'mcpm_is_available()' when it is available. mcpm_is_available() returns true only when there is a registered driver for mcpm. Otherwise, we assume that we don't have secure access, and skips probing the revision number(ARM64 case). The MCPM should figure out if it is safe to access the CCI. Unfortunately there isn't a reliable way to indicate the same via dtb. This patch doesn't address/change the current situation. It only deals with the CCI-PMU, leaving the assumptions about the secure access as it has been, prior to this patch. Cc: devicetree@xxxxxxxxxxxxxxx Cc: Punit Agrawal <punit.agrawal@xxxxxxx> Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fc17c839448e498393009e06ca30a204eefaccee Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Mar 18 12:24:39 2015 +0000 arm-cci: Abstract the CCI400 PMU specific definitions CCI400 has different event specifications for PMU, for revsion 0 and revision 1. As of now, we check the revision every single time before using the parameters for the PMU. This patch abstracts the details of the pmu models in a struct (cci_pmu_model) and stores the information in cci_pmu at initialisation time, avoiding multiple probe operations. Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx> Reviewed-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit f6b9e83ce05e362f4190cf2b4281d85cd094e541 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Mar 18 12:24:38 2015 +0000 arm-cci: Rearrange code for splitting PMU vs driver code No functional changes, only code re-arrangements for easier split of the PMU code vs low level driver code. Extracts the port handling code to cci_probe_ports(). Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b1862199be6098855b598b69f5098d2fb4cecfcb Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Tue Mar 17 18:15:00 2015 +0000 drivers: cci: reject groups spanning multiple HW PMUs The perf core implicitly rejects events spanning multiple HW PMUs, as in these cases the event->ctx will differ. However this validation is performed after pmu::event_init() is called in perf_init_event(), and thus pmu::event_init() may be called with a group leader from a different HW PMU. The CCI PMU driver does not take this fact into account, and assumes that the any other hardware event belongs to the CCI. There are two issues with it : 1) It is wrong and we should reject such groups. 2) Validation allocates an temporary idx for this non-cci event, which leads to wrong calculation of the counter availability, and eventually lesser number of events in the group. This patch updates the CCI PMU driver to first test for and reject events from other PMUs, which is the right thing to do. Cc: Will Deacon <will.deacon@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Peter Ziljstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 63979b8da30013ce58d8447f34dde60802d1ccba Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Mar 18 10:22:18 2015 +0000 iommu/io-pgtable-arm: avoid speculative walks through TTBR1 Although we set TCR.T1SZ to 0, the input address range covered by TTBR1 is actually calculated using T0SZ in this case on the ARM SMMU. This could theoretically lead to speculative table walks through physical address zero, leading to all sorts of fun and games if we have MMIO regions down there. This patch avoids the issue by setting EPD1 to disable walks through the unused TTBR1 register. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 03edb2264cadddc38ca9030887c2902affbfca3f Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jan 19 14:27:33 2015 +0000 iommu/arm-smmu: handle multi-alias IOMMU groups for PCI devices IOMMU groups for PCI devices can correspond to multiple DMA aliases due to things like ACS and PCI quirks. This patch extends the ARM SMMU ->add_device callback so that we consider all of the DMA aliases for a PCI IOMMU group, rather than creating a separate group for each Requester ID. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit f1d84548694fe45f3348c0379d7277fed05bbcf0 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Mar 4 16:41:05 2015 +0000 iommu/arm-smmu: set a more appropriate DMA mask Since we use dma_map_page() as an architecture-independent means of making page table updates visible to non-coherent SMMUs, we need to have a suitable DMA mask set to discourage the DMA mapping layer from creating bounce buffers and flushing those instead, if said page tables happen to lie outside the default 32-bit mask. Tested-by: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> [will: added error checking] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4a1c93cbe9b2cf559fee3316ee287bb042eb1aba Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Mar 4 12:21:03 2015 +0000 iommu/arm-smmu: ensure CBA2R is initialised before CBAR on SMMUv2 The VMID16 (8.1) extension to SMMUv2 added a 16-bit VMID16 field to the CBA2R registers. Unfortunately, if software writes this field as zero after setting an 8-bit VMID in a stage-2 CBAR, then the VMID may also be overwritten with zero on some early implementations (the architecture was later updated to fix this issue). This patch ensures that we initialise CBA2R before CBAR, therefore ensuring that the VMID is set correctly. Tested-by: Manish Jaggi <mjaggi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9d82f9272ddd8492afdd721c9999171741be835b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 27 14:07:26 2015 +0100 ALSA: hda - Set use_single_rw flag for regmap HD-audio doesn't support the bulk access. Currently it works even without this flag as implicitly assumed, but it's safer to set explicitly. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 849176c96dab827548176e851525bd1c3fff5a6a Merge: 24deabf a9fea8b Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Mar 27 12:22:50 2015 +0000 Merge branch 'aarch64/kvm-bounce-page' into aarch64/for-next/core Just as we thought we'd fixed this, another old linker reared its ugly head trying to build linux-next. Unfortunately, it's the linker binary provided on kernel.org, so give up trying to be clever and align the hyp page to 4k. commit a9fea8b388ed5838fe0744970e67f7019d420824 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Mar 27 10:18:01 2015 +0000 ARM: kvm: round HYP section to page size instead of log2 upper bound Older binutils do not support expressions involving the values of external symbols so just round up the HYP region to the page size. Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> [will: when will this ever end?!] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4a1c683c98e4e2997c79258bffbb9be4af4fba83 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Mar 5 09:14:03 2015 +0100 pwm: samsung: Fix output race on disabling When disabling the Samsung PWM the output state remains at the level it was at the end of a PWM cycle. In other words, calling pwm_disable() when at 100% duty cycle will keep the output active, while at all other settings the output will go/stay inactive. On top of that the Samsung PWM settings are double-buffered, which means the new settings only get applied at the start of a new PWM cycle. This results in a race if the PWM is at 100% duty cycle and a driver calls: pwm_config(pwm, 0, period); pwm_disable(pwm); In this case the PWMs output will unexpectedly stay active, unless a new PWM cycle happened to start between the register writes in pwm_config() and pwm_disable(). As far as I can tell this is a regression introduced by 3bdf878, before that a call to pwm_config() would call pwm_samsung_enable() which, while heavy-handed, made sure the expected settings were live. To resolve this, while not re-introducing the issues 3bdf878 (flickering as the PWM got reset while in a PWM cycle) fixed, only force an update of the settings when at 100% duty cycle, which shouldn't have any noticeable effect on the output but is enough to ensure the behaviour is as expected on disable. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 4ee8ec17ba00fce4af042543771f996fb9d98d34 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 27 11:36:21 2015 +0100 x86/asm/entry/32: Make register zero-extension more prominent There are a couple of syscall argument zero-extension instructions in the 32-bit compat entry code, and it was mentioned that people keep trying to optimize them out, introducing bugs. Make them more visible, and add a "do not remove" comment. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427452582-21624-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a232e3d558eef421fbb539ede5483dfb668e38f2 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 27 11:36:20 2015 +0100 x86/asm/entry/32: Update "interrupt off" comments The existing comment has proven to be not very clear. Replace it with a comment similar to the one we now have in the 64-bit syscall entry point. (Three instances, one per 32-bit syscall entry). In the INT80 entry point's CFI annotations, replace mysterious expressions with numric constants. In this case, raw numbers look more understandable. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427452582-21624-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27be87c5d53117f048d590d6fc6febb21176c3e9 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 27 11:36:19 2015 +0100 x86/asm/entry/64: Add missing CFI annotation This is a missing bit of the recent MOV-to-PUSH conversion. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427452582-21624-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ad692b46dbf122ef90aadce3b389ef64c90e861d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Mar 26 10:42:00 2015 +0200 drm/edid: set ELD for firmware and debugfs override EDIDs If the user supplies EDID through firmware or debugfs override, the driver callbacks are bypassed and the connector ELD does not get updated, and audio fails. Set ELD for firmware and debugfs EDIDs too. There should be no harm in gratuitously doing this for non HDMI/DP connectors, as it's still up to the driver to use the ELD, if any. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82349 Reference: https://bugs.freedesktop.org/show_bug.cgi?id=80691 Reported-by: Emil <emilsvennesson@xxxxxxxxx> Reported-by: Rob Engle <grenoble@xxxxxxxxx> Tested-by: Jolan Luff <jolan@xxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 487d1edb9a6005cf790c7fe59f25ad1e5cb5817b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 27 11:59:16 2015 +0100 x86/asm/entry/64: Fix comment about SYSENTER MSRs The comment is ancient, it dates to the time when only AMD's x86_64 implementation existed. AMD wasn't (and still isn't) supporting SYSENTER, so these writes were "just in case" back then. This has changed: Intel's x86_64 appeared, and Intel does support SYSENTER in long mode. "Some future 64-bit CPU" is here already. The code may appear "buggy" for AMD as it stands, since MSR_IA32_SYSENTER_EIP is only 32-bit for AMD CPUs. Writing a kernel function's address to it would drop high bits. Subsequent use of this MSR for branch via SYSENTER seem to allow user to transition to CPL0 while executing his code. Scary, eh? Explain why that is not a bug: because SYSENTER insn would not work on AMD CPU. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427453956-21931-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b7a5646fa5d5d319b2b1a3db07f615e40b184205 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Fri Mar 20 15:53:54 2015 +0100 ARM: OMAP2: HSMMC: explicit fields to declare cover/card detect pin board-rx51 has no card detect pin in the mmc slot, but can detect that the (cell-phone) cover has been removed and the card is accessible. The semantics between cover/card detect differ, the gpio on the slot informs you after the card has been removed, cover removal does not necessarily mean that the card has been removed. This means different code paths are necessary. To complete this we also want different fields in the platform data for cover and card detect. This separation is not pushed all the way down into struct omap2_hsmmc_info which is used to initialize the platform data. If we did that we had to go over all board files and set the new gpio_cod pin to -EINVAL. If we forget one board or some out-of-tree archicture forgets that the default '0' is used which is a valid pin number. Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bfbaafae8519d82d10da6abe75f5766dd5b20475 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Mar 20 09:59:47 2015 +0100 firmware: dmi_scan: Prevent dmi_num integer overflow dmi_num is a u16, dmi_len is a u32, so this construct: dmi_num = dmi_len / 4; would result in an integer overflow for a DMI table larger than 256 kB. I've never see such a large table so far, but SMBIOS 3.0 makes it possible so maybe we'll see such tables in the future. So instead of faking a structure count when the entry point does not provide it, adjust the loop condition in dmi_table() to properly deal with the case where dmi_num is not set. This bug was introduced with the initial SMBIOS 3.0 support in commit fc43026278b2 ("dmi: add support for SMBIOS 3.0 64-bit entry point"). Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit b8a51a2e8a9f8e24f8f155772168a7ca35ce7f75 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 11:04:09 2015 -0700 gpio: gpio-tb10x: remove incorrect __exit markup Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5bedeb2de2127b3b80b40d977a17fe4fce83fe25 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Mar 3 18:03:47 2015 +0100 drm/i915: Add module param to test the load detect code This is useful for writing igts to make sure we don't break this, without being forced to own a one of these dinosaurs. Suggested-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17d33a450a776c0ce6c3659e1154396dc1eecba8 Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:30 2015 +0200 gpio: omap: get rid of GPIO_INDEX() macro Now OMAP GPIO driver prepared for GPIO_INDEX() macro removing. Do It ;) Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ea5fbe8dea85056b028184459ad86d76f5ceeca4 Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:29 2015 +0200 gpio: omap: get rid of omap_irq_to_gpio() Now OMAP GPIO driver prepared for omap_irq_to_gpio() removing. Do it ;) Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8ac58a0a7286a7cd8e70141309cc04ca4677216e Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:28 2015 +0200 gpio: omap: get rid of GPIO_BIT() macro Now OMAP GPIO driver prepared for GPIO_BIT() macro removing. Do it ;) Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9943f2611c33b9f651b23600d6c3f13478c7fb0d Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:27 2015 +0200 gpio: omap: convert gpio irq functions to use GPIO offset Convert GPIO IRQ functions to use GPIO offset instead of system GPIO numbers. This allows to drop unneeded conversations between system GPIO <-> GPIO offset which are done in many places and many times. It is safe to do now because: - gpiolib always passes GPIO offset to GPIO controller - OMAP GPIO driver converted to use IRQ domain, so struct irq_data->hwirq contains GPIO offset This is preparation step before removing: #define GPIO_INDEX(bank, gpio) #define GPIO_BIT(bank, gpio) int omap_irq_to_gpio() Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 37e14ecfb1f461621d4dd0b2d83a790c176212a4 Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:26 2015 +0200 gpio: omap: drop 'gpio' param from omap_gpio_init_irq() The 'gpio' parameter isn't needed any more as it duplicates 'offset' parameter, so drop it. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4a58d2296f602202839d563d680cf0b2d677337f Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:25 2015 +0200 gpio: omap: convert debounce functions switch to use gpio offset Convert debounce functions to use GPIO offset instead of system GPIO numbers. This allows to drop unneeded conversations between system GPIO <-> GPIO offset which are done in many places and many times. It is safe to do now because: - gpiolib always passes GPIO offset to GPIO controller - OMAP GPIO driver converted to use IRQ domain This is preparation step before removing: #define GPIO_INDEX(bank, gpio) #define GPIO_BIT(bank, gpio) int omap_irq_to_gpio() Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 52fd475042dc145284d05f86ceac66ef5ed6665c Author: Philippe Bergheaud <felix@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:46:56 2015 +0100 cxl: Fix a typo in ABI documentation Fix the attribute name of the configuration record class ID. Signed-off-by: Philippe Bergheaud <felix@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 04ebcbd82ec3b6fb88644e983f85224e95cf55e5 Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:24 2015 +0200 gpio: omap: simplify omap_set_gpio_dataout_x() Both functions omap_set_gpio_dataout_reg() and omap_set_gpio_dataout_mask() accept GPIO offset as 'gpio' input parameter, so rename it to 'offset' and drop usage of GPIO_BIT() macro. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b2b2004550f4b18ed16929107f478005fadfdb5c Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Mon Mar 23 14:18:23 2015 +0200 gpio: omap: convert omap_gpio_is_input() to use gpio offset Convert omap_gpio_is_input() to use GPIO offset instead of mask and, in such way, make code simpler and remove few lines of code. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3182b25e1764142600a231050ae0182ba627da72 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Mar 27 00:12:11 2015 -0700 i40e: Bump version to 1.2.43 Bump. Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit cc470a811b22a566c66569e09d094a82431e1124 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Mar 27 00:12:11 2015 -0700 i40evf: add FW version to ethtool info Customers reported that the firmware version information from i40evf is unlike that of ixgbevf and was causing problems with their scripts. To resolve this, populate the field to align with ixgbevf. Change-ID: I9f4e24f6a76cd819bbe07087aab2b74f715ec103 Reported-by: Sourav Chatterjee <sourav.chatterjee@xxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8af580dff23e5323120c1c9b206fb2c06ec6fcf6 Author: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Date: Fri Mar 27 00:12:10 2015 -0700 i40e: Increase PF reset max loop limit In some circumstances the firmware can take longer to be ready after a reset than we're currently waiting. This patch increases the polling loop limiter to much longer than expected. Change-ID: I4b2c4c100dfa4abb77d02e5ecdec1cdd253b8c7e Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 40433267331bc6b9d70d5cdd14bfa2c8e3e5f0ec Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Mar 26 08:43:37 2015 +1100 mmc: core: Remove the ->enable|disable() callbacks These callbacks have been set to deprecated for some time. The last user (omap_hsmmc) has moved away from using them, which thus enables us to completely remove them. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 63e18c252068da46ba5ab11ad8861c310afc79fd Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Mar 27 00:12:10 2015 -0700 i40evf: resequence close operations Call the netdev carrier off and TX disable functions first, before other shutdown operations. This stops the stack from hitting us with transmits while we're shutting down. Additionally, disable NAPI before disabling interrupts, or the interrupt might get re-enabled inappropriately. Finally, remove the call to netif_tx_stop_all_queues, as it is redundant - the call to netif_tx_disable already did the same thing. Change-ID: I8b2dd25231b82817746cc256234a5eeeb4abaccc Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e284fc88dfb6ceb69c547abb8d78b9fde6b9dc85 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Mar 27 00:12:09 2015 -0700 i40evf: delay releasing rings When the VF interface is closed, we cannot immediately free our rings and RX buffers, because the hardware hasn't yet stopped accessing this memory. This shows up as a panic or memory corruption when the device is brought down while under heavy stress. To fix this, delay releasing resources until we receive acknowledgment from the PF driver that the rings have indeed been stopped. Because of this delay, we also need to check to make sure that all of our admin queue requests have been handled before allowing the device to be opened. Change-ID: I44edd35529ce2fa2a9512437a3a8e6f14ed8ed63 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 55bb9992db9b2c65cc3dd11cc75785f80e8d7e66 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:19 2015 +0200 drm/i915: Remove usage of encoder->new_crtc from clock computations Some of the crtc_compute_clock() still depended on encoder->new_crtc since they didn't use intel_pipe_will_have_type() and used an open coded version of that function instead. This patch replaces those with the appropriate code that checks the atomic state intead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Separate the if (!connector) continue to facility easier extraction of a loop iterator for all of these (there's lots more in i915 and atomic helpers).] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f57ba4ca483a3e7d0ca31677f3baf036740c883b Author: NeilBrown <neilb@xxxxxxx> Date: Thu Mar 26 12:18:23 2015 +1100 mmc: omap_hsmmc: stop using ->enable|disable() callbacks The ->enable|disable() callbacks are only used to get and put runtime PM references. Currently omap_hsmmc's ->set_ios() already does this itself. Other host drivers deals with runtime PM without using the ->enable|disable() callbacks and thus do the runtime PM reference counting themselves. Apply that approach for omap_hsmmc as well and then discard the ->enable|disable() callbacks. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 723f9aab5537eabd88f96fa49a73a5e8df2ebf7b Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:18 2015 +0200 drm/i915: Don't look at staged config crtc when changing DRRS state The function intel_dp_set_drrs_state() would decide which pipe to downclock based on the staged config for the given connector. However, the result of that function is immediate, and it uses input values from crtc->config, so it should be looking at the current crtc instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a93e255f819cae49dff7319b6686f718b8069fec Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:17 2015 +0200 drm/i915: Convert intel_pipe_will_have_type() to using atomic state Pass a crtc_state to it and find whether the pipe has an encoder of a given type by looking at the drm_atomic_state the crtc_state points to. Until recently i9xx_get_refclk() used to be called indirectly from vlv_force_pll_on() with a dummy crtc_state. That dummy crtc state is not converted to be part of a full drm atomic state, so add a WARN in case someone decides to call that again with a such dummy state. This was removed in commit 9cbe40c15a753e02f5da16f6de901decf3276cf1 Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Thu Mar 5 19:33:08 2015 +0530 drm/i915: Update prop, int co-eff and gain threshold for CHV v2: Warn if there is no connectors for a given crtc. (Daniel) Replace comment i9xx_get_refclk() with a WARN_ON(). (Ander) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Add commit reference for when i9xx_get_refclk was removed.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de81e64b250d3865a75d221a80b4311e3273670a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 17:21:34 2015 +0530 clockevents: Don't validate dev->mode against CLOCK_EVT_MODE_UNUSED for new interface It was a requirement in the legacy interface that drivers must initialize ->mode field to 'CLOCK_EVT_MODE_UNUSED'. This field isn't used anymore by the new interface and so should be only checked for the legacy interface. Probably it can be dropped as well as core doesn't rely on it anymore, but lets keep it to support legacy interface. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: linaro-networking@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/c6604fa1a77fe1fc8dcab87769857228fb1dadd5.1425037853.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 77e32c89a7117614ab3d66d20c1088de721abfaa Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 17:21:33 2015 +0530 clockevents: Manage device's state separately for the core 'enum clock_event_mode' is used for two purposes today: - to pass mode to the driver of clockevent device::set_mode(). - for managing state of the device for clockevents core. For supporting new modes/states we have moved away from the legacy set_mode() callback to new per-mode/state callbacks. New modes/states shouldn't be exposed to the legacy (now OBSOLOTE) callbacks and so we shouldn't add new states to 'enum clock_event_mode'. Lets have separate enums for the two use cases mentioned above. Keep using the earlier enum for legacy set_mode() callback and mark it OBSOLETE. And add another enum to clearly specify the possible states of a clockevent device. This also renames the newly added per-mode callbacks to reflect state changes. We haven't got rid of 'mode' member of 'struct clock_event_device' as it is used by some of the clockevent drivers and it would automatically die down once we migrate those drivers to the new interface. It ('mode') is only updated now for the drivers using the legacy interface. Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: linaro-networking@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/b6b0143a8a57bd58352ad35e08c25424c879c0cb.1425037853.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 554ef3876c6acdff1331feab10275e9e9e0adb84 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 17:21:32 2015 +0530 clockevents: Handle tick device's resume separately Upcoming patch will redefine possible states of a clockevent device. The RESUME mode is a special case only for tick's clockevent devices. In future it can be replaced by ->resume() callback already available for clockevent devices. Lets handle it separately so that clockevents_set_mode() only handles states valid across all devices. This also renames set_mode_resume() to tick_resume() to make it more explicit. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: linaro-networking@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/c1b0112410870f49e7bf06958e1483eac6c15e20.1425037853.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 34f439278cef7b1177f8ce24f9fc81dfc6221d3b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Feb 20 14:05:38 2015 +0100 perf: Add per event clockid support While thinking on the whole clock discussion it occurred to me we have two distinct uses of time: 1) the tracking of event/ctx/cgroup enabled/running/stopped times which includes the self-monitoring support in struct perf_event_mmap_page. 2) the actual timestamps visible in the data records. And we've been conflating them. The first is all about tracking time deltas, nobody should really care in what time base that happens, its all relative information, as long as its internally consistent it works. The second however is what people are worried about when having to merge their data with external sources. And here we have the discussion on MONOTONIC vs MONOTONIC_RAW etc.. Where MONOTONIC is good for correlating between machines (static offset), MONOTNIC_RAW is required for correlating against a fixed rate hardware clock. This means configurability; now 1) makes that hard because it needs to be internally consistent across groups of unrelated events; which is why we had to have a global perf_clock(). However, for 2) it doesn't really matter, perf itself doesn't care what it writes into the buffer. The below patch makes the distinction between these two cases by adding perf_event_clock() which is used for the second case. It further makes this configurable on a per-event basis, but adds a few sanity checks such that we cannot combine events with different clocks in confusing ways. And since we then have per-event configurability we might as well retain the 'legacy' behaviour as a default. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b381e63b48a0b6befc7b4e55408c39012a0dcf8c Merge: 4e6d7c2 ccd41c8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 10:10:47 2015 +0100 Merge branch 'perf/core' into perf/timer, before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4e6d7c2aa95158315902647963b359b32da5c295 Merge: 3c435c1 fe5fba0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 10:09:21 2015 +0100 Merge branch 'timers/core' into perf/timer, to apply dependent patch An upcoming patch will depend on tai_ns() and NMI-safe ktime_get_raw_fast(), so merge timers/core here in a separate topic branch until it's all cooked and timers/core is merged upstream. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 68de8867ea5d99127e836c23f6bccf4d44859623 Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Tue Mar 24 08:33:22 2015 -0400 powerpc/perf: add missing put_cpu_var in power_pmu_event_init One path in power_pmu_event_init() calls get_cpu_var(), but is missing matching call to put_cpu_var(), which causes preemption imbalance and crash in user-space: Page fault in user mode with in_atomic() = 1 mm = c000001fefa5a280 NIP = 3fff9bf2cae0 MSR = 900000014280f032 Oops: Weird page fault, sig: 11 [#23] SMP NR_CPUS=2048 NUMA PowerNV Modules linked in: <snip> CPU: 43 PID: 10285 Comm: a.out Tainted: G D 4.0.0-rc5+ #1 task: c000001fe82c9200 ti: c000001fe835c000 task.ti: c000001fe835c000 NIP: 00003fff9bf2cae0 LR: 00003fff9bee4898 CTR: 00003fff9bf2cae0 REGS: c000001fe835fea0 TRAP: 0401 Tainted: G D (4.0.0-rc5+) MSR: 900000014280f032 <SF,HV,VEC,VSX,EE,PR,FP,ME,IR,DR,RI> CR: 22000028 XER: 00000000 CFAR: 00003fff9bee4894 SOFTE: 1 GPR00: 00003fff9bee494c 00003fffe01c2ee0 00003fff9c084410 0000000010020068 GPR04: 0000000000000000 0000000000000002 0000000000000008 0000000000000001 GPR08: 0000000000000001 00003fff9c074a30 00003fff9bf2cae0 00003fff9bf2cd70 GPR12: 0000000052000022 00003fff9c10b700 NIP [00003fff9bf2cae0] 0x3fff9bf2cae0 LR [00003fff9bee4898] 0x3fff9bee4898 Call Trace: ---[ end trace 5d3d952b5d4185d4 ]--- BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:41 in_atomic(): 1, irqs_disabled(): 0, pid: 10285, name: a.out INFO: lockdep is turned off. CPU: 43 PID: 10285 Comm: a.out Tainted: G D 4.0.0-rc5+ #1 Call Trace: [c000001fe835f990] [c00000000089c014] .dump_stack+0x98/0xd4 (unreliable) [c000001fe835fa10] [c0000000000e4138] .___might_sleep+0x1d8/0x2e0 [c000001fe835faa0] [c000000000888da8] .down_read+0x38/0x110 [c000001fe835fb30] [c0000000000bf2f4] .exit_signals+0x24/0x160 [c000001fe835fbc0] [c0000000000abde0] .do_exit+0xd0/0xe70 [c000001fe835fcb0] [c00000000001f4c4] .die+0x304/0x450 [c000001fe835fd60] [c00000000088e1f4] .do_page_fault+0x2d4/0x900 [c000001fe835fe30] [c000000000008664] handle_page_fault+0x10/0x30 note: a.out[10285] exited with preempt_count 1 Reproducer: #include <stdio.h> #include <unistd.h> #include <syscall.h> #include <sys/types.h> #include <sys/stat.h> #include <linux/perf_event.h> #include <linux/hw_breakpoint.h> static struct perf_event_attr event = { .type = PERF_TYPE_RAW, .size = sizeof(struct perf_event_attr), .sample_type = PERF_SAMPLE_BRANCH_STACK, .branch_sample_type = PERF_SAMPLE_BRANCH_ANY_RETURN, }; int main() { syscall(__NR_perf_event_open, &event, 0, -1, -1, 0); } Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4bfe186dbe0a058680e4bfb0d673194f0ceaffd4 Merge: 3c435c1 4252879 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 10:04:06 2015 +0100 Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull RCU updates from Paul E. McKenney: - Documentation updates. - Changes permitting use of call_rcu() and friends very early in boot, for example, before rcu_init() is invoked. - Miscellaneous fixes. - Add in-kernel API to enable and disable expediting of normal RCU grace periods. - Improve RCU's handling of (hotplug-) outgoing CPUs. Note: ARM support is lagging a bit here, and these improved diagnostics might generate (harmless) splats. - NO_HZ_FULL_SYSIDLE fixes. - Tiny RCU updates to make it more tiny. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aa6d9a128b861fe7e9dc37bcc37179837674b739 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Mar 25 21:14:28 2015 +0100 x86/irq/tracing: Do not save callee-preserved registers around lockdep_sys_exit_thunk Internally, lockdep_sys_exit_thunk saves callee-clobbered registers, and calls a C function, lockdep_sys_exit. Thus, callee-preserved registers won't be mangled, there is no need to save them. Patch was run-tested. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427314468-12763-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7dc7cc0780b04935f1127fa22ee23e9d6daf166a Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Mar 25 21:14:27 2015 +0100 x86/irq/tracing: Fold ARCH_LOCKDEP_SYS_EXIT defines into their users There is no need to have an extra level of macro indirection here. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427314468-12763-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 679dacd430cac3f58fc80db69c1694621ede00fc Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:15 2015 +0200 drm/i915: Pass an atomic state to modeset_global_resources() functions Follow up patches will convert some functions called from there to use the atomic state, instead of directly accessing the new or current config. This patch just changes the parameters, but shouldn't have any functional changes. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40e2ec657dcb0ae328db1abc8e37df4caa893391 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Mar 25 21:14:26 2015 +0100 x86/irq/tracing: Move ARCH_LOCKDEP_SYS_EXIT defines closer to their users This change simply moves defines around (even if it's not obvious in a patch form). Nothing is changed. This is a preparation for folding ARCH_LOCKDEP_SYS_EXIT defines into their users. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427314468-12763-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit baa9946e32f9f26e740721c1f972de87c095baa9 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:59:09 2015 +0100 pinctrl: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Acked-by: Lee Jones <lee@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 47eb582e702880c302036d17341c7ea1a7dc2a53 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Mar 25 18:18:15 2015 +0100 x86/asm/entry/64: Use smaller instructions The $AUDIT_ARCH_X86_64 parameter to syscall_trace_enter_phase1/2 is a 32-bit constant, loading it with 32-bit MOV produces 5-byte insn instead of 10-byte MOVABS one. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427303896-24023-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 146b2b097d7a322b64b88a927fc5d870fc79a60b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Mar 25 18:18:13 2015 +0100 x86/asm/entry/64: Use better label name, fix comments A named label "ret_from_sys_call" implies that there are jumps to this location from elsewhere, as happens with many other labels in this file. But this label is used only by the JMP a few insns above. To make that obvious, use local numeric label instead. Improve comments: "and return regs->ax" isn't too informative. We always return regs->ax. The comment suggesting that it'd be cool to use rip relative addressing for CALL is deleted. It's unclear why that would be an improvement - we aren't striving to use position-independent code here. PIC code here would require something like LEA sys_call_table(%rip),reg + CALL *(reg,%rax*8)... "iret frame is also incomplete" is no longer true, fix that too. Also fix typo in comment. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427303896-24023-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2208bf115fecae211480ea41d25e6d56ec20d405 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Nov 13 19:17:34 2014 +0200 ARM: OMAP2+: control: determine control module base address from DT There is no need to provide the control module base address through a low-level API from the low-level IO init, as this information is available through DT. This patch adds a new API to initialize the control module though, but mostly makes the old API obsolete. The old API can be completely removed once OMAP3 is made DT only. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit ae521d4d9c54995df1e0fb53ef6820374a3cae4e Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Nov 11 17:17:18 2014 +0200 ARM: OMAP2+: PRM: determine PRM base address from device tree There is no need to provide the PRM base address through a low-level API from the low-level IO init, as this information is available through DT. Re-routed the parsing function to be called from the PRM drivers also to simplify the implementation under io.c. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 5970ca2db960b2c14e077d27950e402e063298e6 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Nov 11 16:51:52 2014 +0200 ARM: OMAP2+: CM: determine CM base address from device tree There is no need to provide the CM base address through a low-level API from the low-level IO init, as this information is available through DT. Re-routed the parsing function to be called from the CM drivers also to simplify the implementation under io.c. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit fe87414f71d0035756cf91a80ac256557d16b488 Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Mar 12 18:33:45 2014 +0200 ARM: OMAP2+: PRCM: split PRCM module init to their own driver files Splits the clock related provider module inits under their own driver files. Previously this was done for all modules under the common PRM driver. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 9f029b1579b2dfe291006e5bfe8e7d0c4ef20828 Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Oct 22 15:15:36 2014 +0300 ARM: OMAP2+: clock: move clock provider infrastructure to clock driver Splits the clock provider init out of the PRM driver and moves it to clock driver. This is needed so that once the PRCM drivers are separated, they can logically just access the clock driver not needing to go through common PRM code. This would be wrong in the case of control module for example. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 4024efb4047df0f317065571bd6ee9de3ab79512 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Mar 19 22:17:42 2015 +0200 pinctrl: pinconf-generic: add dt node names to error messages This makes the error message much more useful. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c7289500e29df3441a7167861424e7d77a167dfb Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Mar 19 22:17:41 2015 +0200 pinctrl: pinconf-generic: scan also referenced phandle node Make pinconf_generic_dt_node_to_map() also scan the dt pin configuration node directly referenced by phandle, not only its child nodes. The "parent scan" feature needs a few other changes: * Move the pinconf_generic_dt_node_to_map() error handling code to a common place, under the 'exit' label. * Move the pins/groups strings count earlier in pinconf_generic_dt_subnode_to_map(), to allow us to bail out early when these properties are missing or wrong Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ccd41c86ad4d464d0ed4e48d80759ff85c2115b0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Feb 25 15:56:04 2015 +0100 perf: Fix racy group access While looking at some fuzzer output I noticed that we do not hold any locks on leader->ctx and therefore the sibling_list iteration is unsafe. Acquire the relevant ctx->mutex before calling into the pmu specific code. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150225151639.GL5029@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9332d250b4b4f67c633894b311e022e3cf943bd5 Author: David Ahern <dsahern@xxxxxxxxx> Date: Wed Feb 18 10:45:43 2015 -0700 perf/x86: Remove redundant calls to perf_pmu_{dis|en}able() perf_pmu_disable() is called before pmu->add() and perf_pmu_enable() is called afterwards. No need to call these inside of x86_pmu_add() as well. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424281543-67335-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 936c663aed930972f7e185485fd6c2da69e33819 Merge: 072e5a1 50f16a8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 09:46:19 2015 +0100 Merge branch 'perf/x86' into perf/core, because it's ready Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 072e5a1cfabca7276744d24726e094d85721df5c Merge: 294fe0f d525211 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 09:46:03 2015 +0100 Merge branch 'perf/urgent' into perf/core, to pick up fixes and to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe5fba05b46c791c95a9f34228ac495f81f72fc0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Mar 17 12:39:10 2015 +0100 time: Add ktime_get_tai_ns() Because it was the only clock for which we didn't have a _ns() accessor yet. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f09cb9a1808e35ad7502ea39b6bfb443c7fa0f19 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 19 09:39:08 2015 +0100 time: Introduce tk_fast_raw Add the NMI safe CLOCK_MONOTONIC_RAW accessor.. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150319093400.562746929@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4498e7467e9e441c18ca12f1ca08460356e0508a Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 19 09:36:19 2015 +0100 time: Parametrize all tk_fast_mono users In preparation for more tk_fast instances, remove all hard-coded tk_fast_mono references. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150319093400.484279927@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4a4ad80d32cea69ee93bd4589f24dc478804cd80 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 19 09:28:44 2015 +0100 time: Add timerkeeper::tkr_raw Introduce tkr_raw and make use of it. base_raw -> tkr_raw.base clock->{mult,shift} -> tkr_raw.{mult.shift} Kill timekeeping_get_ns_raw() in favour of timekeeping_get_ns(&tkr_raw), this removes all mono_raw special casing. Duplicate the updates to tkr_mono.cycle_last into tkr_raw.cycle_last, both need the same value. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150319093400.422589590@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 876e78818def2983be55878b21f7152fbaebbd36 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 19 10:09:06 2015 +0100 time: Rename timekeeper::tkr to timekeeper::tkr_mono In preparation of adding another tkr field, rename this one to tkr_mono. Also rename tk_read_base::base_mono to tk_read_base::base, since the structure is not specific to CLOCK_MONOTONIC and the mono name got added to the tk_read_base instance. Lots of trivial churn. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150319093400.344679419@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7bd3e239d6c6d1cad276e8f130b386df4234dcd7 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 26 17:45:37 2015 +0100 locking: Remove atomicy checks from {READ,WRITE}_ONCE The fact that volatile allows for atomic load/stores is a special case not a requirement for {READ,WRITE}_ONCE(). Their primary purpose is to force the compiler to emit load/stores _once_. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a1963b81deec54c113e770b0020e5f1c3188a087 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Mar 17 19:15:31 2015 +0800 sched/deadline: Fix rt runtime corruption when dl fails its global constraints One version of sched_rt_global_constaints() (the !rt-cgroup one) changes state, therefore if we fail the later sched_dl_global_constraints() call the state is left in an inconsistent state. Fix this by changing the order of the calls. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> [ Improved the changelog. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Juri Lelli <juri.lelli@xxxxxxx> Link: http://lkml.kernel.org/r/1426590931-4639-2-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bd4bde14b93cce8fa77765ff709e0be55abdba2c Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Mar 17 19:15:30 2015 +0800 sched/deadline: Avoid a superfluous check Since commit 40767b0dc768 ("sched/deadline: Fix deadline parameter modification handling") we clear the thottled state when switching from a dl task, therefore we should never find it set in switching to a dl task. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> [ Improved the changelog. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Juri Lelli <juri.lelli@xxxxxxx> Link: http://lkml.kernel.org/r/1426590931-4639-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d4573c3e1c992668f5dcd57d1c2ced56ae9650b9 Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 18:32:44 2015 +0530 sched: Improve load balancing in the presence of idle CPUs When a CPU is kicked to do nohz idle balancing, it wakes up to do load balancing on itself, followed by load balancing on behalf of idle CPUs. But it may end up with load after the load balancing attempt on itself. This aborts nohz idle balancing. As a result several idle CPUs are left without tasks till such a time that an ILB CPU finds it unfavorable to pull tasks upon itself. This delays spreading of load across idle CPUs and worse, clutters only a few CPUs with tasks. The effect of the above problem was observed on an SMT8 POWER server with 2 levels of numa domains. Busy loops equal to number of cores were spawned. Since load balancing on fork/exec is discouraged across numa domains, all busy loops would start on one of the numa domains. However it was expected that eventually one busy loop would run per core across all domains due to nohz idle load balancing. But it was observed that it took as long as 10 seconds to spread the load across numa domains. Further investigation showed that this was a consequence of the following: 1. An ILB CPU was chosen from the first numa domain to trigger nohz idle load balancing [Given the experiment, upto 6 CPUs per core could be potentially idle in this domain.] 2. However the ILB CPU would call load_balance() on itself before initiating nohz idle load balancing. 3. Given cores are SMT8, the ILB CPU had enough opportunities to pull tasks from its sibling cores to even out load. 4. Now that the ILB CPU was no longer idle, it would abort nohz idle load balancing As a result the opportunities to spread load across numa domains were lost until such a time that the cores within the first numa domain had equal number of tasks among themselves. This is a pretty bad scenario, since the cores within the first numa domain would have as many as 4 tasks each, while cores in the neighbouring numa domains would all remain idle. Fix this, by checking if a CPU was woken up to do nohz idle load balancing, before it does load balancing upon itself. This way we allow idle CPUs across the system to do load balancing which results in quicker spread of load, instead of performing load balancing within the local sched domain hierarchy of the ILB CPU alone under circumstances such as above. Signed-off-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Jason Low <jason.low2@xxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: efault@xxxxxx Cc: iamjoonsoo.kim@xxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: srikar@xxxxxxxxxxxxxxxxxx Cc: svaidy@xxxxxxxxxxxxxxxxxx Cc: tim.c.chen@xxxxxxxxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150326130014.21532.17158.stgit@xxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dfbca41f347997e57048a53755611c8e2d792924 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Mar 23 14:19:05 2015 +0100 sched: Optimize freq invariant accounting Currently the freq invariant accounting (in __update_entity_runnable_avg() and sched_rt_avg_update()) get the scale factor from a weak function call, this means that even for archs that default on their implementation the compiler cannot see into this function and optimize the extra scaling math away. This is sad, esp. since its a 64-bit multiplication which can be quite costly on some platforms. So replace the weak function with #ifdef and __always_inline goo. This is not quite as nice from an arch support PoV but should at least result in compile time errors if done wrong. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150323131905.GF23123@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1aaf90a4b88aae26a4535ba01dacab520a310d17 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:14 2015 +0100 sched: Move CFS tasks to CPUs with higher capacity When a CPU is used to handle a lot of IRQs or some RT tasks, the remaining capacity for CFS tasks can be significantly reduced. Once we detect such situation by comparing cpu_capacity_orig and cpu_capacity, we trig an idle load balance to check if it's worth moving its tasks on an idle CPU. It's worth trying to move the task before the CPU is fully utilized to minimize the preemption by irq or RT tasks. Once the idle load_balance has selected the busiest CPU, it will look for an active load balance for only two cases: - There is only 1 task on the busiest CPU. - We haven't been able to move a task of the busiest rq. A CPU with a reduced capacity is included in the 1st case, and it's worth to actively migrate its task if the idle CPU has got more available capacity for CFS tasks. This test has been added in need_active_balance. As a sidenote, this will not generate more spurious ilb because we already trig an ilb if there is more than 1 busy cpu. If this cpu is the only one that has a task, we will trig the ilb once for migrating the task. The nohz_kick_needed function has been cleaned up a bit while adding the new test env.src_cpu and env.src_rq must be set unconditionnally because they are used in need_active_balance which is called even if busiest->nr_running equals 1 Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-12-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit caff37ef96eac7fe96a582d032f6958e834e9447 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:13 2015 +0100 sched: Add SD_PREFER_SIBLING for SMT level Add the SD_PREFER_SIBLING flag for SMT level in order to ensure that the scheduler will place at least one task per core. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Preeti U. Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-11-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dc7ff76eadb4b89fd39bb466b8f3773e5467c11d Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Mar 3 11:35:03 2015 +0100 sched: Remove unused struct sched_group_capacity::capacity_orig The 'struct sched_group_capacity::capacity_orig' field is no longer used in the scheduler so we can remove it. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425378903-5349-1-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ea67821b9a3edadf602b7772a0b2a69657ced746 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:11 2015 +0100 sched: Replace capacity_factor by usage The scheduler tries to compute how many tasks a group of CPUs can handle by assuming that a task's load is SCHED_LOAD_SCALE and a CPU's capacity is SCHED_CAPACITY_SCALE. 'struct sg_lb_stats:group_capacity_factor' divides the capacity of the group by SCHED_LOAD_SCALE to estimate how many task can run in the group. Then, it compares this value with the sum of nr_running to decide if the group is overloaded or not. But the 'group_capacity_factor' concept is hardly working for SMT systems, it sometimes works for big cores but fails to do the right thing for little cores. Below are two examples to illustrate the problem that this patch solves: 1- If the original capacity of a CPU is less than SCHED_CAPACITY_SCALE (640 as an example), a group of 3 CPUS will have a max capacity_factor of 2 (div_round_closest(3x640/1024) = 2) which means that it will be seen as overloaded even if we have only one task per CPU. 2 - If the original capacity of a CPU is greater than SCHED_CAPACITY_SCALE (1512 as an example), a group of 4 CPUs will have a capacity_factor of 4 (at max and thanks to the fix [0] for SMT system that prevent the apparition of ghost CPUs) but if one CPU is fully used by rt tasks (and its capacity is reduced to nearly nothing), the capacity factor of the group will still be 4 (div_round_closest(3*1512/1024) = 5 which is cap to 4 with [0]). So, this patch tries to solve this issue by removing capacity_factor and replacing it with the 2 following metrics: - The available CPU's capacity for CFS tasks which is already used by load_balance(). - The usage of the CPU by the CFS tasks. For the latter, utilization_avg_contrib has been re-introduced to compute the usage of a CPU by CFS tasks. 'group_capacity_factor' and 'group_has_free_capacity' has been removed and replaced by 'group_no_capacity'. We compare the number of task with the number of CPUs and we evaluate the level of utilization of the CPUs to define if a group is overloaded or if a group has capacity to handle more tasks. For SD_PREFER_SIBLING, a group is tagged overloaded if it has more than 1 task so it will be selected in priority (among the overloaded groups). Since [1], SD_PREFER_SIBLING is no more concerned by the computation of 'load_above_capacity' because local is not overloaded. [1] 9a5d9ba6a363 ("sched/fair: Allow calculate_imbalance() to move idle cpus") Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425052454-25797-9-git-send-email-vincent.guittot@xxxxxxxxxx [ Tidied up the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8bb5b00c2f90100a272b09a9d17ec7875d088aa7 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Wed Mar 4 08:48:47 2015 +0100 sched: Calculate CPU's usage statistic and put it into struct sg_lb_stats::group_usage Monitor the usage level of each group of each sched_domain level. The usage is the portion of cpu_capacity_orig that is currently used on a CPU or group of CPUs. We use the utilization_load_avg to evaluate the usage level of each group. The utilization_load_avg only takes into account the running time of the CFS tasks on a CPU with a maximum value of SCHED_LOAD_SCALE when the CPU is fully utilized. Nevertheless, we must cap utilization_load_avg which can be temporally greater than SCHED_LOAD_SCALE after the migration of a task on this CPU and until the metrics are stabilized. The utilization_load_avg is in the range [0..SCHED_LOAD_SCALE] to reflect the running load on the CPU whereas the available capacity for the CFS task is in the range [0..cpu_capacity_orig]. In order to test if a CPU is fully utilized by CFS tasks, we have to scale the utilization in the cpu_capacity_orig range of the CPU to get the usage of the latter. The usage can then be compared with the available capacity (ie cpu_capacity) to deduct the usage level of a CPU. The frequency scaling invariance of the usage is not taken into account in this patch, it will be solved in another patch which will deal with frequency scaling invariance on the utilization_load_avg. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425455327-13508-1-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ca6d75e6908efbc350d536e0b496ebdac36b20d2 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:09 2015 +0100 sched: Add struct rq::cpu_capacity_orig This new field 'cpu_capacity_orig' reflects the original capacity of a CPU before being altered by rt tasks and/or IRQ The cpu_capacity_orig will be used: - to detect when the capacity of a CPU has been noticeably reduced so we can trig load balance to look for a CPU with better capacity. As an example, we can detect when a CPU handles a significant amount of irq (with CONFIG_IRQ_TIME_ACCOUNTING) but this CPU is seen as an idle CPU by scheduler whereas CPUs, which are really idle, are available. - evaluate the available capacity for CFS tasks Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Kamalesh Babulal <kamalesh@xxxxxxxxxxxxxxxxxx> Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-7-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b5b4860d1d61ddc5308c7d492cbeaa3a6e508d7f Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:08 2015 +0100 sched: Make scale_rt invariant with frequency The average running time of RT tasks is used to estimate the remaining compute capacity for CFS tasks. This remaining capacity is the original capacity scaled down by a factor (aka scale_rt_capacity). This estimation of available capacity must also be invariant with frequency scaling. A frequency scaling factor is applied on the running time of the RT tasks for computing scale_rt_capacity. In sched_rt_avg_update(), we now scale the RT execution time like below: rq->rt_avg += rt_delta * arch_scale_freq_capacity() >> SCHED_CAPACITY_SHIFT Then, scale_rt_capacity can be summarized by: scale_rt_capacity = SCHED_CAPACITY_SCALE * available / total with available = total - rq->rt_avg This has been been optimized in current code by: scale_rt_capacity = available / (total >> SCHED_CAPACITY_SHIFT) But we can also developed the equation like below: scale_rt_capacity = SCHED_CAPACITY_SCALE - ((rq->rt_avg << SCHED_CAPACITY_SHIFT) / total) and we can optimize the equation by removing SCHED_CAPACITY_SHIFT shift in the computation of rq->rt_avg and scale_rt_capacity(). so rq->rt_avg += rt_delta * arch_scale_freq_capacity() and scale_rt_capacity = SCHED_CAPACITY_SCALE - (rq->rt_avg / total) arch_scale_frequency_capacity() will be called in the hot path of the scheduler which implies to have a short and efficient function. As an example, arch_scale_frequency_capacity() should return a cached value that is updated periodically outside of the hot path. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-6-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0c1dc6b27dac883ee78392189c8e20e764d79bfa Author: Morten Rasmussen <morten.rasmussen@xxxxxxx> Date: Wed Mar 4 08:46:26 2015 +0100 sched: Make sched entity usage tracking scale-invariant Apply frequency scale-invariance correction factor to usage tracking. Each segment of the running_avg_sum geometric series is now scaled by the current frequency so the utilization_avg_contrib of each entity will be invariant with frequency scaling. As a result, utilization_load_avg which is the sum of utilization_avg_contrib, becomes invariant too. So the usage level that is returned by get_cpu_usage(), stays relative to the max frequency as the cpu_capacity which is is compared against. Then, we want the keep the load tracking values in a 32-bit type, which implies that the max value of {runnable|running}_avg_sum must be lower than 2^32/88761=48388 (88761 is the max weigth of a task). As LOAD_AVG_MAX = 47742, arch_scale_freq_capacity() must return a value less than (48388/47742) << SCHED_CAPACITY_SHIFT = 1037 (SCHED_SCALE_CAPACITY = 1024). So we define the range to [0..SCHED_SCALE_CAPACITY] in order to avoid overflow. Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425455186-13451-1-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a8faa8f55d48496f64d96df48298e54fd380f6af Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:06 2015 +0100 sched: Remove frequency scaling from cpu_capacity Now that arch_scale_cpu_capacity has been introduced to scale the original capacity, the arch_scale_freq_capacity is no longer used (it was previously used by ARM arch). Remove arch_scale_freq_capacity from the computation of cpu_capacity. The frequency invariance will be handled in the load tracking and not in the CPU capacity. arch_scale_freq_capacity will be revisited for scaling load with the current frequency of the CPUs in a later patch. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-4-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 21f4486630b0bd1b6dbcc04f61836987fa54278f Author: Morten Rasmussen <morten.rasmussen@xxxxxxx> Date: Fri Feb 27 16:54:05 2015 +0100 sched: Track group sched_entity usage contributions Add usage contribution tracking for group entities. Unlike se->avg.load_avg_contrib, se->avg.utilization_avg_contrib for group entities is the sum of se->avg.utilization_avg_contrib for all entities on the group runqueue. It is _not_ influenced in any way by the task group h_load. Hence it is representing the actual cpu usage of the group, not its intended load contribution which may differ significantly from the utilization on lightly utilized systems. Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-3-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 36ee28e45df50c2c8624b978335516e42d84ae1f Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Fri Feb 27 16:54:04 2015 +0100 sched: Add sched_avg::utilization_avg_contrib Add new statistics which reflect the average time a task is running on the CPU and the sum of these running time of the tasks on a runqueue. The latter is named utilization_load_avg. This patch is based on the usage metric that was proposed in the 1st versions of the per-entity load tracking patchset by Paul Turner <pjt@xxxxxxxxxx> but that has be removed afterwards. This version differs from the original one in the sense that it's not linked to task_group. The rq's utilization_load_avg will be used to check if a rq is overloaded or not instead of trying to compute how many tasks a group of CPUs can handle. Rename runnable_avg_period into avg_period as it is now used with both runnable_avg_sum and running_avg_sum. Add some descriptions of the variables to explain their differences. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Morten.Rasmussen@xxxxxxx Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: dietmar.eggemann@xxxxxxx Cc: efault@xxxxxx Cc: kamalesh@xxxxxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1425052454-25797-2-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 12149a20b86330d6eac71edaad0357541abdcd05 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 11:30:47 2015 +0100 pinctrl: mvebu: add suspend/resume support to Armada XP pinctrl driver This commit adds suspend/resume support to the Armada XP pinctrl driver, by simply saving and restoring the MPP registers. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c4b40493de668a86856602a4cf19bf0d809e2681 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 19 17:40:02 2015 +0800 altera_gpio_probe() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 72744cb13c9ccc248331462f35468398160338bf Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Mar 24 15:46:23 2015 +0000 drm/i915: Add dynamic page trace events Traces for page directories and tables allocation and map. v2: Removed references to teardown. v3: bitmap_scnprintf has been deprecated. v4: Replace bitmap_scnprintf with scnprintf correctly, and get right range lengths. (Mika) Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4933d51955aca6d2b05da5a7afe25f156016dfa8 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Mar 24 15:46:22 2015 +0000 drm/i915: Finish gen6/7 dynamic page table allocation This patch continues on the idea from "Track GEN6 page table usage". From here on, in the steady state, PDEs are all pointing to the scratch page table (as recommended in the spec). When an object is allocated in the VA range, the code will determine if we need to allocate a page for the page table. Similarly when the object is destroyed, we will remove, and free the page table pointing the PDE back to the scratch page. Following patches will work to unify the code a bit as we bring in GEN8 support. GEN6 and GEN8 are different enough that I had a hard time to get to this point with as much common code as I do. The aliasing PPGTT must pre-allocate all of the page tables. There are a few reasons for this. Two trivial ones: aliasing ppgtt goes through the ggtt paths, so it's hard to maintain, we currently do not restore the default context (assuming the previous force reload is indeed necessary). Most importantly though, the only way (it seems from empirical evidence) to invalidate the CS TLBs on non-render ring is to either use ring sync (which requires actually stopping the rings in order to synchronize when the sync completes vs. where you are in execution), or to reload DCLV. Since without full PPGTT we do not ever reload the DCLV register, there is no good way to achieve this. The simplest solution is just to not support dynamic page table creation/destruction in the aliasing PPGTT. We could always reload DCLV, but this seems like quite a bit of excess overhead only to save at most 2MB-4k of memory for the aliasing PPGTT page tables. v2: Make the page table bitmap declared inside the function (Chris) Simplify the way scratching address space works. Move the alloc/teardown tracepoints up a level in the call stack so that both all implementations get the trace. v3: Updated trace event to spit out a name v4: Aliasing ppgtt is now initialized differently (in setup global gtt) v5: Rebase to latest code. Also removed unnecessary aliasing ppgtt check for trace, as it is no longer possible after the PPGTT cleanup patch series of a couple of months ago (Daniel). v6: Implement changes from code review (Daniel): - allocate/teardown_va_range calls added. - Add a scratch page allocation helper (only need the address). - Move trace events to a new patch. - Use updated mark_tlbs_dirty. - Moved pt preallocation for aliasing ppgtt into gen6_ppgtt_init. v7: teardown_va_range removed (Daniel). In init, gen6_ppgtt_clear_range call is only needed for aliasing ppgtt. v8: Rebase after s/page_tables/page_table/. v9: Remove unnecessary scratch flag in page_table struct, future patches can just compare against ppgtt->scratch_pt, and alloc_pt_scratch becomes redundant. Initialize scratch_pt and pt. (Mika) v10: Clean up aliasing ppgtt init error path and prevent leaking the ppgtt obj when init fails. (Mika) Updated commit author. (Daniel) Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v4+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 59568eb59a20c743623de9c3247d4e22af1a3573 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Mar 24 15:46:21 2015 +0000 drm/i915: Remove unnecessary gen6_ppgtt_unmap_pages We are already unmapping them in gen6_ppgtt_free. This function became redundant since commit 06fda602dbca9c59d87db7da71192e4b54c9f5ff ("drm/i915: Create page table allocators"). Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1266cdb1c236eabd49cbf1e45f401159fb4c21d1 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Mar 24 17:06:33 2015 +0000 drm/i915: Fix i915_dma_map_single positive error code i915_dma_map_single relies on dma_mapping_error, which returns positive error codes. Found by static checker. Introduced by commit 678d96fbb3b5995a2fdff2bca5e1ab4a40b7e968 ("drm/i915: Track GEN6 page table usage"). v2: Return negative error code and renamed commit title. (Dan) v3: Missing reported-by tag (Daniel) Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fdc454c1484a20e1345cf4e4d7a9feaee814147f Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Mar 24 15:46:19 2015 +0000 drm/i915: Prevent out of range pt in gen6_for_each_pde Found by static analysis tool, this was harmless as the pt was not used out of scope though. Introduced by commit 678d96fbb3b5995a2fdff2bca5e1ab4a40b7e968 ("drm/i915: Track GEN6 page table usage"). Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 294fe0f52a44c6f207211de0686c369a961b5533 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Feb 17 18:18:06 2015 -0800 perf/x86/intel: 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. This is erratum BDM11 and BDM55: http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/5th-gen-core-family-spec-update.pdf BDM11: When using a period < 100; we may get incorrect PEBS/PMI interrupts and/or an invalid counter state. BDM55: When bit0-5 of the period are !0 we may get redundant PEBS records on overflow. Add a new callback to enforce this, and set it for Broadwell. How does this handle the case when an app requests a specific period with some of the bottom bits set? 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 (by Peterz): 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> [ Updated comments and changelog a bit. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424225886-18652-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 91f1b70582c62576f429cf78d53751c66677553d Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Feb 17 18:18:05 2015 -0800 perf/x86/intel: Add Broadwell core support Add Broadwell support for Broadwell to perf. The basic support is very similar to Haswell. We use the new cache event list added for Haswell earlier. The only differences are a few bits related to remote nodes. To avoid an extra, mostly identical, table these are patched up in the initialization code. The constraint list has one new event that needs to be handled over Haswell. Includes code and testing from Kan Liang. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424225886-18652-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0f1b5ca240c65ed9533f193720f337bf24fb2f2f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Feb 17 18:18:04 2015 -0800 perf/x86/intel: Add new cache events table for Haswell Haswell offcore events are quite different from Sandy Bridge. Add a new table to handle Haswell properly. Note that the offcore bits listed in the SDM are not quite correct (this is currently being fixed). An uptodate list of bits is in the patch. The basic setup is similar to Sandy Bridge. The prefetch columns have been removed, as prefetch counting is not very reliable on Haswell. One L1 event that is not in the event list anymore has been also removed. - data reads do not include code reads (comparable to earlier Sandy Bridge tables) - data counts include speculative execution (except L1 write, dtlb, bpu) - remote node access includes both remote memory, remote cache, remote mmio. - prefetches are not included in the counts for consistency (different from Sandy Bridge, which includes prefetches in the remote node) Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> [ Removed the HSM30 comments; we don't have them for SNB/IVB either. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424225886-18652-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2c60fae1489c70206e66c28d72b69a3e496c313d Author: Tommi Rantala <tt.rantala@xxxxxxxxx> Date: Thu Mar 26 21:47:16 2015 +0200 drm/i915: fix definition of the DRM_IOCTL_I915_GET_SPRITE_COLORKEY ioctl Fix definition of the DRM_IOCTL_I915_GET_SPRITE_COLORKEY ioctl, so that it is different from the DRM_IOCTL_I915_SET_SPRITE_COLORKEY ioctl. Note that this is just for accuracy, the ioctl implementation itself is totally unused and already ripped out. Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx> [danvet: Add note that this is a dead ioctl.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a8265c59e22ae636617019dda602e1913bdaeca7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Mar 27 09:08:04 2015 +0100 drm/i915: Rip out GET_SPRITE_COLORKEY ioctl It's completely unused and Tommi noticed that the #define is borked since forever. I've done a git search in userspace and only found broken definitions and no users anywhere. Cc: Tommi Rantala <tt.rantala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 30fdaa6b11834fc19656c6127a50229ea42ec27b Merge: baa5a7b 7c27f78 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 08:36:01 2015 +0100 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: - Show the first event with an invalid filter (David Ahern, Arnaldo Carvalho de Melo) - Fix garbage output when intermixing syscalls from different threads in 'perf trace' (Arnaldo Carvalho de Melo) - Fix 'perf timechart' SIBGUS error on sparc64 (David Ahern) Infrastructure changes: - Set JOBS based on CPU or processor, making it work on SPARC, where /proc/cpuinfo has "CPU", not "processor" (David Ahern) - Zero should not be considered "not found" in libtraceevent's eval_flag() (Steven Rostedt) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 32fea568aec5b73ae27253125522b5c2a970a1f0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 27 07:08:06 2015 +0100 timers, sched/clock: Clean up the code a bit Trivial cleanups, to improve the readability of the generic sched_clock() code: - Improve and standardize comments - Standardize the coding style - Use vertical spacing where appropriate - etc. No code changed: md5: 19a053b31e0c54feaeff1492012b019a sched_clock.o.before.asm 19a053b31e0c54feaeff1492012b019a sched_clock.o.after.asm Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1809bfa44e1019e397fabaa6f2349bb7237e57a4 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Thu Mar 26 12:23:26 2015 -0700 timers, sched/clock: Avoid deadlock during read from NMI Currently it is possible for an NMI (or FIQ on ARM) to come in and read sched_clock() whilst update_sched_clock() has locked the seqcount for writing. This results in the NMI handler locking up when it calls raw_read_seqcount_begin(). This patch fixes the NMI safety issues by providing banked clock data. This is a similar approach to the one used in Thomas Gleixner's 4396e058c52e("timekeeping: Provide fast and NMI safe access to CLOCK_MONOTONIC"). Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1427397806-20889-6-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9fee69a8c8070b38b558161a3f18bd5e2b664682 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Thu Mar 26 12:23:25 2015 -0700 timers, sched/clock: Remove redundant notrace from update function Currently update_sched_clock() is marked as notrace but this function is not called by ftrace. This is trivially fixed by removing the mark up. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1427397806-20889-5-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13dbeb384d2d3aa555ea48d511e8cb110bd172e0 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Thu Mar 26 12:23:24 2015 -0700 timers, sched/clock: Remove suspend from clock_read_data() Currently cd.read_data.suspended is read by the hotpath function sched_clock(). This variable need not be accessed on the hotpath. In fact, once it is removed, we can remove the conditional branches from sched_clock() and install a dummy read_sched_clock function to suspend the clock. The new master copy of the function pointer (actual_read_sched_clock) is introduced and is used for all reads of the clock hardware except those within sched_clock itself. Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1427397806-20889-4-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cf7c9c170787d6870af54684822f58acc00a966c Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Thu Mar 26 12:23:23 2015 -0700 timers, sched/clock: Optimize cache line usage Currently sched_clock(), a very hot code path, is not optimized to minimise its cache profile. In particular: 1. cd is not ____cacheline_aligned, 2. struct clock_data does not distinguish between hotpath and coldpath data, reducing locality of reference in the hotpath, 3. Some hotpath data is missing from struct clock_data and is marked __read_mostly (which more or less guarantees it will not share a cache line with cd). This patch corrects these problems by extracting all hotpath data into a separate structure and using ____cacheline_aligned to ensure the hotpath uses a single (64 byte) cache line. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1427397806-20889-3-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8710e914027e4f64058ebbf0501cc6db3cc8454f Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Thu Mar 26 12:23:22 2015 -0700 timers, sched/clock: Match scope of read and write seqcounts Currently the scope of the raw_write_seqcount_begin/end() in sched_clock_register() far exceeds the scope of the read section in sched_clock(). This gives the impression of safety during cursory review but achieves little. Note that this is likely to be a latent issue at present because sched_clock_register() is typically called before we enable interrupts, however the issue does risk bugs being needlessly introduced as the code evolves. This patch fixes the problem by increasing the scope of the read locking performed by sched_clock() to cover all data modified by sched_clock_register. We also improve clarity by moving writes to struct clock_data that do not impact sched_clock() outside of the critical section. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> [ Reworked it slightly to apply to tip/timers/core] Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1427397806-20889-2-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d7ef4a6c03da2513beb21cc8028f1ac3075f64a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Mar 20 12:34:12 2015 +0100 clk: cdce706: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 217c8df6c9f3ba5b2831c01936a478b27d9c2fa9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Mar 20 12:34:11 2015 +0100 clk: si570: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8234caed27f7bce141c9fb1f7e76c91a2a66d248 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Mar 20 12:34:10 2015 +0100 clk: si5351: Constify clock names and struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Replace doubled const in the arrays of clock names with proper const pointer to const data. This fixes the warnings: drivers/clk/clk-si5351.c:71:25: warning: duplicate const drivers/clk/clk-si5351.c:74:25: warning: duplicate const drivers/clk/clk-si5351.c:77:25: warning: duplicate const drivers/clk/clk-si5351.c:80:25: warning: duplicate const Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ae24b4095c2f9547d0f2ab2845155aabe4e564d0 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Mar 27 00:12:09 2015 -0700 i40e/i40evf: implement KR2 support The new devices need a new device ID some other defines to handle the new 20G speed for KR2. Change-ID: I03f717e364afe59657e8c9ce5ffaad856b4b21df Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Piotr Raczynski <piotr.raczynski@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d41bd923d3e624462c9d7a2fcff5b62eee5e7f7f Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Sat Nov 29 02:01:38 2014 +0800 clk: qcom: fix simple_return.cocci warnings drivers/clk/qcom/clk-pll.c:74:1-4: WARNING: end returns can be simpified Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b3261d768bcdd4b368179ed85becf38c95461848 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Feb 26 19:34:35 2015 -0800 clk: qcom: Fix ipq806x LCC frequency tables These frequency tables list the wrong rates. Either they don't have the correct frequency at all, or they're specified in kHz instead of Hz. Fix it. Fixes: c99e515a92e9 "clk: qcom: Add IPQ806X LPASS clock controller (LCC) driver" Tested-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1018bc268864b20c1ae7b0bc5c5c396ee6d33fe3 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Mar 23 22:29:58 2015 +0100 tpm/st33zp24/spi: Add missing device table for spi phy. MODULE_DEVICE_TABLE is missing in spi phy in case CONFIG_OF is not set. Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 7216ebc51bdd62517be6878dd37555ff428a80c9 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Mar 23 22:29:56 2015 +0100 tpm/st33zp24: Add proper wait for ordinal duration in case of irq mode In case the driver is configured to use irq, we are not waiting the answer for a duration period to see the DATA_AVAIL status bit to raise but at maximum timeout_c. This may result in critical failure as we will not wait long enough for the command completion. Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Fixes: bf38b8710892 ("tpm/tpm_i2c_stm_st33: Split tpm_i2c_tpm_st33 in 2 layers (core + phy)") Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 1efb53a220b78fdfdbb97b726a2156713e75bdab Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Mar 24 01:07:08 2015 +0000 ASoC: simple-card: Remove support for setting differing DAI formats Having to set different formats on the CPU side and the CODEC side of a DAI link is usually indication that something is terribly wrong and in most cases is a result of a broken driver that implements a set_fmt() callback which does not follow the specification. In the past this feature has been used to work around broken drivers, rather than fixing them. We don't really want to encourage this, so remove support for setting different formats on both ends of the link. Along the way switch to static DAI format setup by setting the the dai_fmt field of the snd_soc_dai_link rather than calling snd_soc_dai_fmt(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 947a37cd38796f5b196a934353165a001cbcb0a9 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Mar 24 01:06:40 2015 +0000 ARM: shmobile: armadillo800eva: fix clock inversion When operating in left-justfied mode both the frame-clock and the bit-clock need to be inverted to be standards compliant. This means that the exta clock inversion setting in the armadillo800eva machine driver for CPU component should now be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd38c1d4a17cda2486883cef7ec1bd84b5095260 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Mar 24 01:06:01 2015 +0000 ARM: shmobile: armadillo800eva: Properly specify HDMI audio link format The DAI link format should be specified for the whole link rather than just one component on the link. So move the format specification for the HDMI audio link from the CPU component to the link itself. Since the sh-mobile-hdmi DAI driver doesn't implement the set_fmt() callback in this case there is no functional difference between only specifying the the format for the CPU side or for the whole link, but the later it will allow us to remove support for just specifying the format for one component. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b3a2a9076d3149781c8622d6a98a51045ff946e4 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Mar 23 19:27:19 2015 +0100 KVM: nVMX: Add support for rdtscp If the guest CPU is supposed to support rdtscp and the host has rdtscp enabled in the secondary execution controls, we can also expose this feature to L1. Just extend nested_vmx_exit_handled to properly route EXIT_REASON_RDTSCP. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit e34ff011c70e5f4ef219141711142d5111ae6ebb Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:08:36 2015 +0100 spi: bcm2835: move to the transfer_one driver model This also allows for GPIO-CS to get used removing the limitation of 2/3 SPI devises on the SPI bus. Fixes: spi-cs-high with native CS with multiple devices on the spi-bus resetting the chip selects to "normal" polarity after a finished transfer. No other functionality/improvements added. Tested with the following 4 devices on the spi-bus: * mcp2515 with native CS * mcp2515 with gpio CS * fb_st7735r with native CS (plus spi-cs-high via transistor inverting polarity) * enc28j60 with gpio-CS Tested-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e56a951e01bf55f49533c47ad2ce61dbd613a3f3 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Mar 17 14:34:16 2015 +0800 Btrfs: Remove the check for old-style mkfs This was used to make sure that a fresh btrfs from an older mkfs.btrfs, but it also allows us to mount a buggy btrfs if this btrfs has the right superblock head part but has something wrong with chunk tree part[1], and after that we can hit BUG_ON()s set in the code to prevent something impossible. Since David has released "Btrfs progs v3.19-rc2", just remove the check, if anyone who wants to make a fresh btrfs, please use the latest one. [1]: http://www.spinics.net/lists/linux-btrfs/msg42358.html Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Reviewed-by: Omar Sandoval <osandov@xxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 727b9784b6085c99c2f836bf4fcc2848dc9cf904 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Fri Mar 20 14:02:09 2015 -0400 btrfs: cleanup orphans while looking up default subvolume Orphans in the fs tree are cleaned up via open_ctree and subvolume orphans are cleaned via btrfs_lookup_dentry -- except when a default subvolume is in use. The name for the default subvolume uses a manual lookup that doesn't trigger orphan cleanup and needs to trigger it manually as well. This doesn't apply to the remount case since the subvolumes are cleaned up by walking the root radix tree. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d8620958296e4fa61afde421f1de16a5c2234b28 Author: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx> Date: Tue Mar 24 16:35:49 2015 +0100 btrfs: explicitly set control file's private_data The private_data member of the Btrfs control device file (/dev/btrfs-control) is used to hold the current transaction and needs to be initialized to NULL to signify that no transaction is in progress. We explicitly set the control file's private_data to NULL to be independent of whatever value the misc subsystem initializes it to. Backstory: ---------- The misc subsystem (which is used by /dev/btrfs-control) initializes a file's private_data to point to the misc device when a driver has registered a custom open file operation and initializes it to NULL when a custom open file operation has *not* been provided. This subtle quirk is confusing, to the point where kernel code registers *empty* file open operations to have private_data point to the misc device structure. And it leads to bugs, where the addition or removal of a custom open file operation surprisingly changes the initial contents of a file's private_data structure. To simplify things in the misc subsystem, a patch [1] has been proposed to *always* set private_data to point to the misc device instead of only doing this when a custom open file operation has been registered. But before we can fix this in the misc subsystem itself, we need to modify the (few) drivers that rely on this very subtle behavior. [1] https://lkml.org/lkml/2014/12/4/939 Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 26e726afe01c1c82072cf23a5ed89ce25f39d9f2 Author: Chengyu Song <csong84@xxxxxxxxxx> Date: Tue Mar 24 18:12:56 2015 -0400 btrfs: incorrect handling for fiemap_fill_next_extent return fiemap_fill_next_extent returns 0 on success, -errno on error, 1 if this was the last extent that will fit in user array. If 1 is returned, the return value may eventually returned to user space, which should not happen, according to manpage of ioctl. Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3c3b04d10ff1811a27f86684ccd2f5ba6983211d Author: David Sterba <dsterba@xxxxxxx> Date: Wed Mar 25 19:26:41 2015 +0100 btrfs: don't accept bare namespace as a valid xattr Due to insufficient check in btrfs_is_valid_xattr, this unexpectedly works: $ touch file $ setfattr -n user. -v 1 file $ getfattr -d file user.="1" ie. the missing attribute name after the namespace. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94291 Reported-by: William Douglas <william.douglas@xxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> # 2.6.29+ Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dcc82f4783ad91d4ab654f89f37ae9291cdc846a Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Mar 23 14:07:40 2015 +0000 Btrfs: fix log tree corruption when fs mounted with -o discard While committing a transaction we free the log roots before we write the new super block. Freeing the log roots implies marking the disk location of every node/leaf (metadata extent) as pinned before the new super block is written. This is to prevent the disk location of log metadata extents from being reused before the new super block is written, otherwise we would have a corrupted log tree if before the new super block is written a crash/reboot happens and the location of any log tree metadata extent ended up being reused and rewritten. Even though we pinned the log tree's metadata extents, we were issuing a discard against them if the fs was mounted with the -o discard option, resulting in corruption of the log tree if a crash/reboot happened before writing the new super block - the next time the fs was mounted, during the log replay process we would find nodes/leafs of the log btree with a content full of zeroes, causing the process to fail and require the use of the tool btrfs-zero-log to wipeout the log tree (and all data previously fsynced becoming lost forever). Fix this by not doing a discard when pinning an extent. The discard will be done later when it's safe (after the new super block is committed) at extent-tree.c:btrfs_finish_extent_commit(). Fixes: e688b7252f78 (Btrfs: fix extent pinning bugs in the tree log) CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2f2ff0ee5e4303e727cfd7abd4133d1a8ee68394 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Mar 20 17:19:46 2015 +0000 Btrfs: fix metadata inconsistencies after directory fsync We can get into inconsistency between inodes and directory entries after fsyncing a directory. The issue is that while a directory gets the new dentries persisted in the fsync log and replayed at mount time, the link count of the inode that directory entries point to doesn't get updated, staying with an incorrect link count (smaller then the correct value). This later leads to stale file handle errors when accessing (including attempt to delete) some of the links if all the other ones are removed, which also implies impossibility to delete the parent directories, since the dentries can not be removed. Another issue is that (unlike ext3/4, xfs, f2fs, reiserfs, nilfs2), when fsyncing a directory, new files aren't logged (their metadata and dentries) nor any child directories. So this patch fixes this issue too, since it has the same resolution as the incorrect inode link count issue mentioned before. This is very easy to reproduce, and the following excerpt from my test case for xfstests shows how: _scratch_mkfs >> $seqres.full 2>&1 _init_flakey _mount_flakey # Create our main test file and directory. $XFS_IO_PROG -f -c "pwrite -S 0xaa 0 8K" $SCRATCH_MNT/foo | _filter_xfs_io mkdir $SCRATCH_MNT/mydir # Make sure all metadata and data are durably persisted. sync # Add a hard link to 'foo' inside our test directory and fsync only the # directory. The btrfs fsync implementation had a bug that caused the new # directory entry to be visible after the fsync log replay but, the inode # of our file remained with a link count of 1. ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/foo_2 # Add a few more links and new files. # This is just to verify nothing breaks or gives incorrect results after the # fsync log is replayed. ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/foo_3 $XFS_IO_PROG -f -c "pwrite -S 0xff 0 64K" $SCRATCH_MNT/hello | _filter_xfs_io ln $SCRATCH_MNT/hello $SCRATCH_MNT/mydir/hello_2 # Add some subdirectories and new files and links to them. This is to verify # that after fsyncing our top level directory 'mydir', all the subdirectories # and their files/links are registered in the fsync log and exist after the # fsync log is replayed. mkdir -p $SCRATCH_MNT/mydir/x/y/z ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/x/y/foo_y_link ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/x/y/z/foo_z_link touch $SCRATCH_MNT/mydir/x/y/z/qwerty # Now fsync only our top directory. $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/mydir # And fsync now our new file named 'hello', just to verify later that it has # the expected content and that the previous fsync on the directory 'mydir' had # no bad influence on this fsync. $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/hello # Simulate a crash/power loss. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey # Verify the content of our file 'foo' remains the same as before, 8192 bytes, # all with the value 0xaa. echo "File 'foo' content after log replay:" od -t x1 $SCRATCH_MNT/foo # Remove the first name of our inode. Because of the directory fsync bug, the # inode's link count was 1 instead of 5, so removing the 'foo' name ended up # deleting the inode and the other names became stale directory entries (still # visible to applications). Attempting to remove or access the remaining # dentries pointing to that inode resulted in stale file handle errors and # made it impossible to remove the parent directories since it was impossible # for them to become empty. echo "file 'foo' link count after log replay: $(stat -c %h $SCRATCH_MNT/foo)" rm -f $SCRATCH_MNT/foo # Now verify that all files, links and directories created before fsyncing our # directory exist after the fsync log was replayed. [ -f $SCRATCH_MNT/mydir/foo_2 ] || echo "Link mydir/foo_2 is missing" [ -f $SCRATCH_MNT/mydir/foo_3 ] || echo "Link mydir/foo_3 is missing" [ -f $SCRATCH_MNT/hello ] || echo "File hello is missing" [ -f $SCRATCH_MNT/mydir/hello_2 ] || echo "Link mydir/hello_2 is missing" [ -f $SCRATCH_MNT/mydir/x/y/foo_y_link ] || \ echo "Link mydir/x/y/foo_y_link is missing" [ -f $SCRATCH_MNT/mydir/x/y/z/foo_z_link ] || \ echo "Link mydir/x/y/z/foo_z_link is missing" [ -f $SCRATCH_MNT/mydir/x/y/z/qwerty ] || \ echo "File mydir/x/y/z/qwerty is missing" # We expect our file here to have a size of 64Kb and all the bytes having the # value 0xff. echo "file 'hello' content after log replay:" od -t x1 $SCRATCH_MNT/hello # Now remove all files/links, under our test directory 'mydir', and verify we # can remove all the directories. rm -f $SCRATCH_MNT/mydir/x/y/z/* rmdir $SCRATCH_MNT/mydir/x/y/z rm -f $SCRATCH_MNT/mydir/x/y/* rmdir $SCRATCH_MNT/mydir/x/y rmdir $SCRATCH_MNT/mydir/x rm -f $SCRATCH_MNT/mydir/* rmdir $SCRATCH_MNT/mydir # An fsck, run by the fstests framework everytime a test finishes, also detected # the inconsistency and printed the following error message: # # root 5 inode 257 errors 2001, no inode item, link count wrong # unresolved ref dir 258 index 2 namelen 5 name foo_2 filetype 1 errors 4, no inode ref # unresolved ref dir 258 index 3 namelen 5 name foo_3 filetype 1 errors 4, no inode ref status=0 exit The expected golden output for the test is: wrote 8192/8192 bytes at offset 0 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 65536/65536 bytes at offset 0 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) File 'foo' content after log replay: 0000000 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa * 0020000 file 'foo' link count after log replay: 5 file 'hello' content after log replay: 0000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff * 0200000 Which is the output after this patch and when running the test against ext3/4, xfs, f2fs, reiserfs or nilfs2. Without this patch, the test's output is: wrote 8192/8192 bytes at offset 0 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 65536/65536 bytes at offset 0 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) File 'foo' content after log replay: 0000000 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa * 0020000 file 'foo' link count after log replay: 1 Link mydir/foo_2 is missing Link mydir/foo_3 is missing Link mydir/x/y/foo_y_link is missing Link mydir/x/y/z/foo_z_link is missing File mydir/x/y/z/qwerty is missing file 'hello' content after log replay: 0000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff * 0200000 rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/x/y/z': No such file or directory rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/x/y': No such file or directory rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/x': No such file or directory rm: cannot remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/foo_2': Stale file handle rm: cannot remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/foo_3': Stale file handle rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/mydir': Directory not empty Fsck, without this fix, also complains about the wrong link count: root 5 inode 257 errors 2001, no inode item, link count wrong unresolved ref dir 258 index 2 namelen 5 name foo_2 filetype 1 errors 4, no inode ref unresolved ref dir 258 index 3 namelen 5 name foo_3 filetype 1 errors 4, no inode ref So fix this by logging the inodes that the dentries point to when fsyncing a directory. A test case for xfstests follows. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit bf69196045a8c5c42b10493a26ed45c33014371e Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Sat Mar 14 07:03:27 2015 +0000 Btrfs: change the insertion criteria for the qgroup operations rbtree After looking at Liu Bo's recent patch (titled "Btrfs: fix comp_oper to get right order") I realized the search made by qgroup_oper_exists() was buggy because its rbtree navigation comparison function, comp_oper_exist(), only looks at the fields bytenr and ref_root of a tree node, ignoring the seq field completely. This was wrong because when we insert a node into the rbtree we use comp_oper(), which takes a decision based first on bytenr, then on seq and then on the ref_root field. That means qgroup_oper_exists() could miss the fact that at least one operation with given bytenr and ref_root exists. Consider the following simple example of a 3 nodes qgroup operations rbtree (created using comp_oper before this patch), where each node's key is a tuple with the shape (bytenr, seq, ref_root, op): [ (4096, 2, 20, op X) ] / \ / \ [ (4096, 1, 5, op Y) ] [ (4096, 3, 10, op Z) ] qgroup_oper_exists() when called to search for an existing operation for bytenr 4096 and ref root 10 wouldn't find anything because it would go to the left subtree instead of the right subtree, since comp_oper_exits() ignores the seq field completely. Fix this by changing the insertion navigation function to use the ref_root field right after using the bytenr field and before using the seq field, so that qgroup_oper_exists() / comp_oper_exist() work as expected. This patch applies on top of the patch mentioned above from Liu. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3d850dd44889d3aa67d0b8007c2cdd259bff7da4 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Mar 12 23:23:13 2015 +0000 Btrfs: add missing inode item update in fallocate() If we fallocate(), without the keep size flag, into an area already covered by an extent previously fallocated, we were updating the inode's i_size but we weren't updating the inode item in the fs/subvol tree. A following umount + mount would result in a loss of the inode's size (and an fsync would miss too the fact that the inode changed). Reproducer: $ mkfs.btrfs -f /dev/sdd $ mount /dev/sdd /mnt $ fallocate -n -l 1M /mnt/foobar $ fallocate -l 512K /mnt/foobar $ umount /mnt $ mount /dev/sdd /mnt $ od -t x1 /mnt/foobar 0000000 The expected result is: $ od -t x1 /mnt/foobar 0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 * 2000000 A test case for fstests follows soon. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5f806c3ae2ff6263a10a6901f97abb74dac03d36 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Mar 12 16:04:50 2015 +0000 Btrfs: incremental send, remove dead code The logic to detect path loops when attempting to apply a pending directory rename, introduced in commit f959492fc15b (Btrfs: send, fix more issues related to directory renames) is no longer needed, and the respective fstests test case for that commit, btrfs/045, now passes without this code (as well as all the other test cases for send/receive). Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8996a48c0a8ed01c55f52e6794625c95a9977ee6 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Mar 12 15:16:20 2015 +0000 Btrfs: incremental send, clear name from cache after orphanization If a directory's reference ends up being orphanized, because the inode currently being processed has a new path that matches that directory's path, make sure we evict the name of the directory from the name cache. This is because there might be descendent inodes (either directories or regular files) that will be orphanized later too, and therefore the orphan name of the ancestor must be used, otherwise we send issue rename operations with a wrong path in the send stream. Reproducer: $ mkfs.btrfs -f /dev/sdb $ mount /dev/sdb /mnt $ mkdir -p /mnt/data/n1/n2/p1/p2 $ mkdir /mnt/data/n4 $ mkdir -p /mnt/data/p1/p2 $ btrfs subvolume snapshot -r /mnt /mnt/snap1 $ mv /mnt/data/p1/p2 /mnt/data $ mv /mnt/data/n1/n2/p1/p2 /mnt/data/p1 $ mv /mnt/data/p2 /mnt/data/n1/n2/p1 $ mv /mnt/data/n1/n2 /mnt/data/p1 $ mv /mnt/data/p1 /mnt/data/n4 $ mv /mnt/data/n4/p1/n2/p1 /mnt/data $ btrfs subvolume snapshot -r /mnt /mnt/snap2 $ btrfs send /mnt/snap1 -f /tmp/1.send $ btrfs send -p /mnt/snap1 /mnt/snap2 -f /tmp/2.send $ mkfs.btrfs -f /dev/sdc $ mount /dev/sdc /mnt2 $ btrfs receive /mnt2 -f /tmp/1.send $ btrfs receive /mnt2 -f /tmp/2.send ERROR: rename data/p1/p2 -> data/n4/p1/p2 failed. no such file or directory Directories data/p1 (inode 263) and data/p1/p2 (inode 264) in the parent snapshot are both orphanized during the incremental send, and as soon as data/p1 is orphanized, we must make sure that when orphanizing data/p1/p2 we use a source path of o263-6-o/p2 for the rename operation instead of the old path data/p1/p2 (the one before the orphanization of inode 263). A test case for xfstests follows soon. Reported-by: Robbie Ko <robbieko@xxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2f1f465ae6da244099af55c066e5355abd8ff620 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Mar 2 20:53:53 2015 +0000 Btrfs: send, don't leave without decrementing clone root's send_progress If the clone root was not readonly or the dead flag was set on it, we were leaving without decrementing the root's send_progress counter (and before we just incremented it). If a concurrent snapshot deletion was in progress and ended up being aborted, it would be impossible to later attempt to delete again the snapshot, since the root's send_in_progress counter could never go back to 0. We were also setting clone_sources_to_rollback to i + 1 too early - if we bailed out because the clone root we got is not readonly or flagged as dead we ended up later derreferencing a null pointer because we didn't assign the clone root to sctx->clone_roots[i].root: for (i = 0; sctx && i < clone_sources_to_rollback; i++) btrfs_root_dec_send_in_progress( sctx->clone_roots[i].root); So just don't increment the send_in_progress counter if the root is readonly or flagged as dead. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5cc2b17e80cf5770f2e585c2d90fd8af1b901258 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Mar 2 20:53:52 2015 +0000 Btrfs: send, add missing check for dead clone root After we locked the root's root item, a concurrent snapshot deletion call might have set the dead flag on it. So check if the dead flag is set and abort if it is, just like we do for the parent root. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4f764e5153616fccaed38e7524d6f5f89a49a060 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Feb 23 19:53:35 2015 +0000 Btrfs: remove deleted xattrs on fsync log replay If we deleted xattrs from a file and fsynced the file, after a log replay the xattrs would remain associated to the file. This was an unexpected behaviour and differs from what other filesystems do, such as for example xfs and ext3/4. Fix this by, on fsync log replay, check if every xattr in the fs/subvol tree (that belongs to a logged inode) has a matching xattr in the log, and if it does not, delete it from the fs/subvol tree. This is a similar approach to what we do for dentries when we replay a directory from the fsync log. This issue is trivial to reproduce, and the following excerpt from my test for xfstests triggers the issue: _crash_and_mount() { # Simulate a crash/power loss. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey } rm -f $seqres.full _scratch_mkfs >> $seqres.full 2>&1 _init_flakey _mount_flakey # Create out test file and add 3 xattrs to it. touch $SCRATCH_MNT/foobar $SETFATTR_PROG -n user.attr1 -v val1 $SCRATCH_MNT/foobar $SETFATTR_PROG -n user.attr2 -v val2 $SCRATCH_MNT/foobar $SETFATTR_PROG -n user.attr3 -v val3 $SCRATCH_MNT/foobar # Make sure everything is durably persisted. sync # Now delete the second xattr and fsync the inode. $SETFATTR_PROG -x user.attr2 $SCRATCH_MNT/foobar $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foobar _crash_and_mount # After the fsync log is replayed, the file should have only 2 xattrs, the ones # named user.attr1 and user.attr3. The btrfs fsync log replay bug left the file # with the 3 xattrs that we had before deleting the second one and fsyncing the # file. echo "xattr names and values after first fsync log replay:" $GETFATTR_PROG --absolute-names --dump $SCRATCH_MNT/foobar | _filter_scratch # Now write some data to our file, fsync it, remove the first xattr, add a new # hard link to our file and commit the fsync log by fsyncing some other new # file. This is to verify that after log replay our first xattr does not exist # anymore. echo "hello world!" >> $SCRATCH_MNT/foobar $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foobar $SETFATTR_PROG -x user.attr1 $SCRATCH_MNT/foobar ln $SCRATCH_MNT/foobar $SCRATCH_MNT/foobar_link touch $SCRATCH_MNT/qwerty $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/qwerty _crash_and_mount # Now only the xattr with name user.attr3 should be set in our file. echo "xattr names and values after second fsync log replay:" $GETFATTR_PROG --absolute-names --dump $SCRATCH_MNT/foobar | _filter_scratch status=0 exit The expected golden output, which is produced with this patch applied or when testing against xfs or ext3/4, is: xattr names and values after first fsync log replay: # file: SCRATCH_MNT/foobar user.attr1="val1" user.attr3="val3" xattr names and values after second fsync log replay: # file: SCRATCH_MNT/foobar user.attr3="val3" Without this patch applied, the output is: xattr names and values after first fsync log replay: # file: SCRATCH_MNT/foobar user.attr1="val1" user.attr2="val2" user.attr3="val3" xattr names and values after second fsync log replay: # file: SCRATCH_MNT/foobar user.attr1="val1" user.attr2="val2" user.attr3="val3" A patch with a test case for xfstests follows soon. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1be38e041f8eaa935f370aa0f34dd7a2fe39b1d8 Merge: 6935224 bc465aa Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 26 17:50:42 2015 -0700 Merge tag 'v4.0-rc5' into spi-bcm2835 Linux 4.0-rc5 commit 76b17e6e4923e4138ed9a4d480cba148ff239dc9 Author: Julius Werner <jwerner@xxxxxxxxxxxx> Date: Thu Mar 26 16:30:25 2015 -0700 spi/rockchip: Add device tree property to configure Rx Sample Delay We have found that we can sometimes see read failures on boards with high-capacitance SPI lines. It seems that the controller samples the Rx data line too early, and its register interface has an "Rx Sample Delay" setting to fine-tune against this issue. This patch adds a new optional device tree entry that can configure this delay in terms of nanoseconds. The kernel will calculate the best-fitting amount of parent clock ticks to program the controller with based on that. Signed-off-by: Julius Werner <jwerner@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 754ec43c0184aae48f5a8c917d8282449ab564a9 Author: Julius Werner <jwerner@xxxxxxxxxxxx> Date: Thu Mar 26 16:30:24 2015 -0700 spi/rockchip: Round up clock rate divisor to err on the safe side The Rockchip SPI driver currently calculates its clock rate divisor by integer dividing the parent rate by the target rate, and then rounding the result up to the next even number (since the divisor must be even). Clock rate divisors should always be rounded up, so that the resulting frequency is lower or equal to the target. This is correctly done in the second step here but not in the first, so we still have a risk of exceeding the desired target frequency (e.g. setting spi-max-frequency to 40000000 with a parent clock of 99000000 could lead to a divisor of 99000000 / 40000000 == 2 (which is even) that then results in an effective frequency of 99000000 / 2 == 49500000 (potentially exceeding the flash chip's specifications). This patch changes the division to round up to fix this problem. Signed-off-by: Julius Werner <jwerner@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 517bc04582afbd3cd441d363656a064d0e285fbe Merge: 74ccbff de4b00b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Mar 27 09:17:20 2015 +1000 Merge branch 'drm-st-next-2015-03-19' of git://git.linaro.org/people/benjamin.gaignard/kernel into drm-next This patch makes STI driver use the atomic helpers. I have fix the comments done by Daniel on the first version and get his ack with this second version. * 'drm-st-next-2015-03-19' of git://git.linaro.org/people/benjamin.gaignard/kernel: drm: sti: convert driver to atomic modeset commit f8da055aafec0483c12132554504ec683868c655 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:20 2015 -0300 staging: sm750fb: Change "foo * bar" style to "foo *bar" This patch fixes the checkpatch.pl error: ERROR: "foo * bar" should be "foo *bar" +int ddk750_initHw(initchip_param_t * pInitParam) Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae59c465417a726453f36fc6167e92b14e8bda36 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:19 2015 -0300 staging: sm750fb: Move switch case trailing statment This patch fixes the checkpatch.pl error: ERROR: trailing statements should be on next line Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c04051f533da0408e21782f2e39f88281201f511 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:18 2015 -0300 staging: sm750fb: Add spaces after ',' This patch fixes the checkpatch.pl error: ERROR: space required after that ',' (ctx:VxV) Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c107243b09a62d17956362b6780c07cd5bbb071c Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:17 2015 -0300 staging: sm750fb: Add space before switch statement This patch fixes the checkpatch.pl warnings: ERROR: space required before the open parenthesis '(' + switch(divisor) { ERROR: space required before the open parenthesis '(' + switch(divisor) { ERROR: space required before the open parenthesis '(' + switch(reg) { Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82736d2244a059962bf9efec3338036ae9464986 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:16 2015 -0300 staging: sm750fb: Add space before if statement This patch fix the checkpatch.pl warning: ERROR: space required before the open parenthesis '(' Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce02a16ae444f8a80877d660e41f162f7b2a967a Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:15 2015 -0300 staging: sm750fb: Fix for statement style This patch fixes the checkpatch.pl warnings: ERROR: spaces required around that '=' (ctx:VxV) ERROR: spaces required around that '<=' (ctx:VxV) ERROR: spaces required around that '>' (ctx:VxV) ERROR: space required before the open parenthesis '(' ERROR: space required after that ';' (ctx:VxV) Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9767fc5126c5eff780adff6b4beae81134655206 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:14 2015 -0300 staging: sm750fb: Fix if/else/for/switch braces style This patch fixes the checkpatch.pl errors: ERROR: that open brace { should be on the previous line ERROR: else should follow close brace '}' WARNING: braces {} are not necessary for single statement blocks ERROR: space required before the open brace '{' Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 569a6dcf3d7f7b6b84ba20fdf419df5a1c4f885d Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Thu Mar 26 14:09:13 2015 -0300 staging: sm750fb: Add space after struct definition This patch fixes checkpatch.pl warning: WARNING: missing space after struct definition +typedef struct _pllcalparam{ Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3866a3c6e554cb3f3d6e7fadb1ff4dac1fde2348 Author: Niranjan Dighe <niranjan.dighe@xxxxxxxxx> Date: Thu Mar 26 23:51:58 2015 +0530 Staging: slicoss: Remove redundant and disabled code block Removing code guarded by undefined macro SLIC_TRACE_DUMP_ENABLED Signed-off-by: Niranjan Dighe <niranjan.dighe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b82fa8388db5ccd50bad172d3e885dcea22596d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 20:47:30 2015 +0530 staging: unisys: remove comparison the comparison is always true as the dev_t has been initialized in the init function and we are sending that initialized dev_t to the cleanup(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb79db2b59ce9acda94cd8f0e27cdba0bea0bad1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 20:47:29 2015 +0530 staging: unisys: remove global dev_t the global variable majordev is no longer required, as it is not being used anywhere. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit addceb12a3ed62e50c842f4c8f6099e1ead29ba8 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 20:47:28 2015 +0530 staging: unisys: use local variable in cleanup the dev_t was being stored in visorchipset_platform_device.dev.devt while initializing the module. so pass that value as an argument to cleanup() so that it can use this local variable instead of the global variable. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1191146c9a6ebc0e15ef50788bd392339510c0d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 20:47:27 2015 +0530 staging: unisys: use local variable we are getting dev_t as an argument in the function, so use the local variable instead of the global variable "majordev". this global variable will be removed in one of the next patch of the series. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61986f730eb83912ac4a0c59b671232bdee07c40 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 20:47:26 2015 +0530 staging: unisys: remove redundant variable remove the variable "registered", which was used in the cleanup() to detect if the driver has successfully initialized. the cleanup() is called from module_exit, so its obvious that the module has successfully initialized. if the initialization had failed, then we will never be in the cleanup(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdc81b7910ad5153bf257e5f7861be71f75a02ef Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Mar 26 10:09:08 2015 -0700 stable_kernel_rules: Add clause about specification of kernel versions to patch. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 911a88829725572820dad9a168e735c606a2fdcb Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Mon Mar 9 14:29:04 2015 +0000 memory: jz4780-nemc: driver for the NEMC on JZ4780 SoCs Add a driver for the NAND/External Memory Controller (NEMC) on JZ4780 and later SoCs. The primary function of this driver is to configure parameters, such as timings, for external memory devices using data supplied in the device tree. Devices connected to the NEMC are represented in the DT as children of the NEMC node, the driver uses optional properties specified in these child nodes to configure the parameters of each bank. Signed-off-by: Alex Smith <alex@xxxxxxxxxxxxxxxx> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0e6841653e9e96fea9e0f973a785bc66f45b532 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Mon Mar 9 14:29:03 2015 +0000 dt-bindings: memory-controllers: Add binding for jz4780-nemc Add device tree bindings for the NAND/External Memory Controller (NEMC) on Ingenic JZ4780 Signed-off-by: Alex Smith <alex@xxxxxxxxxxxxxxxx> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0c6ae41d12ad7b2ba271f279936327320b6671c Author: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Date: Wed Mar 25 11:37:32 2015 -0600 spmi: pmic_arb: add support for hw version 2 Qualcomm PMIC Arbiter version-2 changes from version-1 are: - Some different register offsets. - New channel register space, one per PMIC peripheral (ppid). All tx traffic uses these channels. - New observer register space. All rx trafic uses this space. - Different command format for spmi command registers. Reviewed-by: Sagar Dharia <sdharia@xxxxxxxxxxxxxx> Signed-off-by: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b9641f5722a9c08cacb534d633ff469ab02a288 Author: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Date: Wed Mar 25 11:37:31 2015 -0600 spmi: remove wakeup command before slave probe According to spmi spec a slave powers up into startup state and then transitions into active state. Thus, the wakeup command is not required before calling the slave's probe. The wakeup command is only needed for slaves that are in sleep state after receiving the sleep command. Cc: galak@xxxxxxxxxxxxxx Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Sagar Dharia <sdharia@xxxxxxxxxxxxxx> Acked-by: Josh Cartwright <joshc@xxxxxxxxxxxx> Signed-off-by: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03515f323c3766f0a69b62743794577bbd9f87c9 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 19 10:49:42 2015 +0100 MAINTAINERS: change Atmel ssc driver entry I take over the maintainship from Voice. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73cffdb65e679b98893f484063462c045adcf212 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Thu Mar 19 08:11:34 2015 -0700 Drivers: hv: vmbus: Don't wait after requesting offers Don't wait after sending request for offers to the host. This wait is unnecessary and simply adds 5 seconds to the boot time. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b98b91029cf8a6defc6311d4018c44f3b05fbec7 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 23:44:54 2015 +0100 hostfs: No need to box and later unbox the file mode There is really no point in having a function with 10 arguments. Reported-by: Daniel Walter <d.walter@xxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit af6aa1b9cad7350d675fe3523ab062e0e4c829cb Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 20:58:39 2015 +0100 hostfs: Use page_offset() The kernel offers a helper function for that, use it. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit b86b413a321105cb75373b48fd7ba53fcbc7ec4c Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 12:44:03 2015 +0100 hostfs: Set page flags in hostfs_readpage() correctly In case of an error set the page error flag and clear the up-to-date flag. If the read was successful clear the error flag unconditionally. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit bd1052a245c004068a7123aa077c576be64639e4 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 00:06:38 2015 +0100 hostfs: Remove superfluous initializations in hostfs_open() Only initialize what we really need. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit a9d1958b4b9a688becceda44938baac99a62fbd7 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 22:39:48 2015 +0100 hostfs: hostfs_open: Reset open flags upon each retry ...otherwise we might end up with an incorrect mode mode. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 112a5da717f86250bc6be2c63e7af174be7c5507 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 00:05:11 2015 +0100 hostfs: Remove superfluous test in hostfs_open() Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 7f74a6687992f29c14b98a7bc8d5d924d5883434 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Mar 4 00:00:54 2015 +0100 hostfs: Report append flag in ->show_options() hostfs has an "append" mount option. Report it. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 7c9509924c711d45d7932548d2c632f44f64e7e3 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Mar 3 23:55:49 2015 +0100 hostfs: Use __getname() in follow_link Be consistent with all other functions in hostfs and just use __getname(). Signed-off-by: Richard Weinberger <richard@xxxxxx> commit c278e81b8a0291f5adce43c4613ad569d76dc384 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Mar 3 23:42:25 2015 +0100 hostfs: Remove open coded strcpy() Signed-off-by: Richard Weinberger <richard@xxxxxx> commit aad50b1e06081de0e4ff25335ab6f52e58bfcef1 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Mar 3 23:41:52 2015 +0100 hostfs: Add a BUG_ON to detect behavior changes of dentry_path_raw() hostfs' __dentry_name() relies on the fact that dentry_path_raw() will place the path name at the end of the provided buffer. While this is okay, add a BUG_ON() to detect behavior changes as soon as possible. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 41761ddfaecb30e1f0ecac4ce568e3e641d10bec Author: Richard Weinberger <richard@xxxxxx> Date: Tue Mar 3 21:40:55 2015 +0100 hostfs: Make hostfs_readpage more readable ...to make life easier for future readers of that code. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 2ad2dca6fd28cf24ed64110a8b374fc838838c81 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 2 00:10:25 2015 +0100 hostfs: Handle bogus st.mode Make sure that we return EIO if one passes an invalid st.mode into hostfs. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 4c6dcafc691bbd1e3258b623121d8859d3213ae9 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 2 00:09:33 2015 +0100 hostfs: Allow fsync on directories Historically hostfs did not open directories on the host filesystem for performance and memory reasons. But it turned out that this optimization has a drawback. Calling fsync() on a hostfs directory returns immediately with -EINVAL as fsync is not implemented. While this is behavior is strictly speaking correct common userspace like dpkg(1) stumbles over that and makes it impossible to use hostfs as root filesystem. The fix is easy, wire up the existing host open/fsync functions to the directory file operations. Reported-by: Daniel Gröber <dxld@xxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit af9556586a906106453ff7df8bcacf795b2b7d0a Author: Richard Weinberger <richard@xxxxxx> Date: Fri Feb 27 22:56:28 2015 +0100 hostfs: hostfs_file_open: Fix a fd leak in hostfs_file_open In case of a race between to callers of hostfs_file_open() it can happen that a file describtor is leaked. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 69886e676e89534953b12df77382504a7731f7bb Author: Richard Weinberger <richard@xxxxxx> Date: Fri Feb 27 22:55:20 2015 +0100 hostfs: hostfs_file_open: Switch to data locking model Instead of serializing hostfs_file_open() we can use a per inode mutex to protect ->mode. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 160b7daab96636d089fee4e0487da49c70ca4e15 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:33 2015 +0100 coresight-replicator: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e4934c6d6c659e22b1b746af4196683e77ce6ca Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Mar 13 14:51:51 2015 +0100 tty: serial: fsl_lpuart: clear receive flag on FIFO flush When the receiver was enabled during startup, a character could have been in the FIFO when the UART get initially used. The driver configures the (receive) watermark level, and flushes the FIFO. However, the receive flag (RDRF) could still be set at that stage (as mentioned in the register description of UARTx_RWFIFO). This leads to an interrupt which won't be handled properly in interrupt mode: The receive interrupt function lpuart_rxint checks the FIFO count, which is 0 at that point (due to the flush during initialization). The problem does not manifest when using DMA to receive characters. Fix this situation by explicitly read the status register, which leads to clearing of the RDRF flag. Due to the flush just after the status flag read, a explicit data read is not to required. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e8f245937091b2c9eebf3d4909c9ceda4f0a78e Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Mar 13 14:51:50 2015 +0100 tty: serial: fsl_lpuart: specify transmit FIFO size Specify transmit FIFO size which might be different depending on LPUART instance. This makes sure uart_wait_until_sent in serial core getting called, which in turn waits and checks if the FIFO is really empty on shutdown by using the tx_empty callback. Without the call of this callback, the last several characters might not yet be transmitted when closing the serial port. This can be reproduced by simply using echo and redirect the output to a ttyLP device. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e91d863d1aaeda0349aed42dfbd75c98e042a2c9 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Mar 13 12:38:51 2015 +0100 serial: samsung: Clear operation mode on UART shutdown Exynos serial ports operate either in a DMA-based or interrupt-based modes. In DMA-based mode, the UART generates a transfer data request and a Transmission (Tx) interrupt in interrupt-based mode. The Tx IRQ is only unmasked in interrupt-based mode and it was done in s3c24xx_serial_start_tx(). Commit ba019a3e2ad5 ("serial: samsung: remove redundant interrupt enabling") removed the IRQ enable on that function since it is enabled when the mode is set in enable_tx_pio(). The problem is that enable_tx_pio() is only called if the port mode has not been set before but the mode was not cleared on .shutdown(). So if the UART was shutdown and then started up again, the mode set will remain and the Tx IRQ won't be unmasked. This caused a hang on at least Exynos5250, Exynos5420 and Exynos5800 when the system is rebooted or powered off. Fixes: ba019a3e2ad5 ("serial: samsung: remove redundant interrupt enabling") Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbf47635315ab308c9b58a1ea0906e711a9228de Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 23:10:27 2015 +0100 tty: clean up the tty time logic a bit We only care if anything other than the lower 3 bits of the tty has changed, so just check that way, which makes it a bit faster, and more obvious what is going on. Also, document this for future developers to understand why we did this. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx commit 23f5b3fdd04e89b4c67fd9ffa60a193d239acf0f Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Wed Mar 18 12:55:13 2015 +0200 serial: 8250_dw: only get the clock rate in one place The clock rate is requested from a property called "clock-frequency" in both dw8250_probe_of and dw8250_probe_acpi. Moving the requests to dw8250_probe. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9001c07995fdd1f3657408c71bca7d6c5fb87fd3 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Wed Mar 18 12:55:12 2015 +0200 serial: 8250_dw: remove useless ACPI ID check Having ACPI handle does not mean the same as having ACPI identifier. The check is in any case useless, but having it prevents this driver from being used for example with multifunctional PCI devices, such as the newer Intel LPSS devices. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 180a53577b809026af744e99a35b3a3a0056520b Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 9 10:04:09 2015 +0100 UBI: Fastmap: Fall back to scanning mode after ECC error If we encounter an uncorrectable ECC error while scanning for the fastmap UBI must not fail hard. Instead fall back to scanning mode. Reported-by: Alexander Block <Alexander.Block@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ad53b26cd140fbea92d79a449c8ddb8d1a6f5f26 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 16 10:53:58 2015 +0200 dmaengine: hsu: move memory allocation to GFP_NOWAIT The GFP_ATOMIC is too strict, and DMAEngine documentation make an advice to use GFP_NOWAIT. This patch does the conversion. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bb82458ec76edc6d2a91fd3b2d2daae44561443 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 16 10:53:57 2015 +0200 dmaengine: hsu: remove redundant pieces of code There are few places where the implemented pieces of code are not needed, i.e.: - direction can't be wrong in hsu_dma_chan_start() - desc->active set to 0 by kzalloc - DMAEngine is NULL-aware when call ->device_alloc_chan_resources() Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90b9aacf912af38a177114ca232051c61be8b93e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 13 17:44:26 2015 +0200 serial: 8250_pci: add Intel Tangier support Intel Tangier contains 4 HSUART ports as found on Intel Edison board which are 8250 compatible. The patch adds necessary bits to the driver. Note that the HSU port0 is currently unavailable and thus not supported. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 594eb4a4be013b27a4ed28ccf5a3431432723719 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 13 17:44:25 2015 +0200 dmaengine: hsu: add Intel Tangier PCI ID Intel Tangier is known to have the HSU DMA IP as PCI device 00:05.0. The patch adds the ID as found on Intel Edison board to the PCI device table. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1a67b48f6a5878b7ec9f49144faa02f94e965cc Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 13 18:51:13 2015 +0200 serial: 8250_pci: replace switch-case by formula for Intel MID This patch replaces a switch-case by a formula using rational best approximation that does necessary calculations for intel_mid_set_termios(). Below is a list of the calculations done for all defined baud rates. Each line in a format: 1) nominator, 2) denominator, 3) prescaler, 4) Fuart, 5) port UART clock, 6) list of baud rates with DLAB values. 24 25 12 48000000 64000000 4000000(1) 49 50 14 49000000 56000000 3500000(1) 4 5 16 40000000 40000000 2500000(1) 16 25 16 32000000 32000000 500000(4),1000000(2),2000000(1) 24 25 16 48000000 48000000 1500000(2),3000000(1) 2304 3125 16 36864000 36864000 576000(4),1152000(2) 8192 15625 16 26214400 26214400 50(32768),200(8192) 9216 15625 16 29491200 29491200 1800(1024),57600(32),115200(16), 230400(8),460800(4),921600(2),1843200(1) 12288 15625 16 39321600 39321600 75(32768),150(16384),300(8192), 600(4096),1200(2048),2400(1024),4800(512), 9600(256),19200(128),38400(64) 45056 78125 16 28835840 28835840 110(16384) 274432 390625 16 35127296 35127296 134(16384) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21947ba654a685ab48f2d4089c5c2d27443c2d0d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 13 18:51:12 2015 +0200 serial: 8250_pci: replace switch-case by formula This patch replaces a switch-case by a formula using rational best approximation that does necessary calculations for byt_set_termios(). Below is a list of the calculations done for all defined baud rates. Each line in a format: 1) numerator, 2) denominator, 3) prescaler, 4) Fuart, 5) port UART clock, 6) list of baud rates with DLAB values. 4 5 16 80000000 80000000 2500000(2) 14 25 16 56000000 56000000 3500000(1) 16 25 16 64000000 64000000 500000(8),1000000(4),2000000(2), 4000000(1) 24 25 16 96000000 96000000 1500000(4),3000000(2) 2180 3103 16 70254592 70254592 134(32768) 2304 3125 16 73728000 73728000 576000(8),1152000(4) 8192 15625 16 52428800 52428800 50(65536),200(16384) 9216 15625 16 58982400 58982400 1800(2048),57600(64),115200(32), 230400(16),460800(8),921600(4),1843200(2) 12288 15625 16 78643200 78643200 75(65536),150(32768),300(16384), 600(8192),1200(4096),2400(2048), 4800(1024),9600(512),19200(256),38400(128) 9893 17154 16 57671680 57671680 110(32768) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49708c9e6cbb3c534677f429053bd18c2e948069 Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Thu Mar 12 16:23:59 2015 +0100 tty: cpm_uart: replace CONFIG_8xx by CONFIG_CPM1 Two config options exist to define powerpc MPC8xx: * CONFIG_PPC_8xx * CONFIG_8xx In addition, CONFIG_PPC_8xx also defines CONFIG_CPM1 as communication co-processor arch/powerpc/platforms/Kconfig.cputype has contained the following comment about CONFIG_8xx item for some years: "# this is temp to handle compat with arch=ppc" It looks like not many places still have that old CONFIG_8xx used, so it is likely to be a good time to get rid of it completely ? Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a666b54adabc7dd40d754671a26996e6c985ae1b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Mar 17 12:17:28 2015 +0300 serial: jsm: some off by one bugs "brd->nasync" amd "brd->maxports" are the same. They hold the number of filled out channels in the brd->channels[] array. These tests should be ">=" instead of ">" so that we don't read one element past the end. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 136debf707d2b3cd8e74d0fff8e29d11a78bf5c2 Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Wed Mar 11 22:39:28 2015 +0100 serial: xuartps: Fix check in console_setup(). cdns_uart_console_setup() checks port->mapbase != 0, but the port may not be initialized yet even if this condition is met [e.g., ioremap() may have failed]. Check port->membase != NULL instead, similar to cdns_early_console_setup(). Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19f22efdb653642814e6c8710fca974c1dbe7cfa Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 22:11:59 2015 +0100 serial: xuartps: Get rid of register access macros. Get rid of cdns_uart_readl() and cdns_uart_writel() and just call readl() and writel() directly. Most of the patch was created by search-and-replace (I had to convert a few lines manually, and break some lines longer than 80 columns): * s/cdns_uart_readl(/readl(port->membase + /g * s/cdns_uart_writel(\([^,]*\),/writel(\1, port->membase +/g Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3c951726edbec6219ba75b34a2151d7c0fa9fc7 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:36 2015 +0100 target: add missing __user annotations Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3abff1e5b0ab19900364cf1faddb92d64f9ee2cb Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:35 2015 +0100 target: add missing sense_reason_t annotations Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 077aa3b2db67dd43781e9ca1635e542696c39269 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:34 2015 +0100 target: add __releases annotation to target_release_cmd_kref Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0c39a467e7ba68a0d94439c1ebe260dc5b26302b Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Wed Mar 11 22:39:27 2015 +0100 serial: xuartps: Fix iobase use. cdns_uart_get_port() sets port->iobase = 1 to "mark port in use", but this "in use" condition is not checked anywhere else in the code. So remove the line, keeping port->iobase = 0 (which also makes more sense). Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db6df0e4a1b913810fc9063bbb332476ce316b7 Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Wed Mar 11 22:39:26 2015 +0100 serial: xuartps: Fix cdns_uart_port[] definition. The code assumes that the array cdns_uart_port[] has dimension CDNS_UART_NR_PORTS, so let us define it this way. Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9646e4fee42d080ad484eef005691a17ed9cb8e7 Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Wed Mar 11 22:39:25 2015 +0100 serial: xuartps: Fix register space size. The register space size is 0x1000, and this value [not 0xfff] should be provided to request_mem_region(), ioremap(), etc. Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 964949169e0aef56f729e5fca3478ca0ee634478 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:33 2015 +0100 target: mark iscsit_start_kthreads static Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6e1a27b919c643a1570885425d639f77f04d8690 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:32 2015 +0100 target: mark tcm_loop_primary static Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit b13876d23a24f7fb5307183ee3314434193870af Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Mar 26 12:27:31 2015 +0100 target: move external declarations to a headers We should not declare extrnal .c symbols in C files to make sure they match the actual prototype, and sparse correctly warns about this. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0787691230d88af8cdfc6d4085957bbf7cec1e5d Author: Mans Rullgard <mans@xxxxxxxxx> Date: Sun Mar 8 14:30:05 2015 +0000 serial: of: set port iomem size from devicetree Make the 8250 driver reserve exactly the mmio region specified in the devicetree. This prevents conflicts between UPIO_AU type UARTs and other devices mapped closer than the default size of 0x1000 (or 0x100 for RT2880). Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee97d0e3f06498487671c23cad4230bf9aa5fd88 Author: Mans Rullgard <mans@xxxxxxxxx> Date: Sun Mar 8 14:30:04 2015 +0000 serial: 8250: allow specifying iomem size in addition to address This adds a mapsize field to struct uart_port to be used in conjunction with mapbase. If set, it overrides whatever value serial8250_port_size() would otherwise report. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e673dc920b805f08429e122321f8355cb97c2120 Author: Ilias Tsitsimpis <iliastsi@xxxxxxxxxxx> Date: Thu Mar 26 17:12:42 2015 +0200 target: Better handling of AllRegistrants reservations Fix AllRegistrants reservations in register_and_move() function where the code didn't handle all of the registered devices as reservation holders, resulting in the wrong warning message being displayed. At the same time, introduce a helper function named 'is_reservation_holder()' that properly checks if a device is a reservation holder, taking into account the reservation type. This function cleans up the code and improves readability. Signed-off-by: Ilias Tsitsimpis <iliastsi@xxxxxxxxxxx> Signed-off-by: Vangelis Koukis <vkoukis@xxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 073900bdb4e34109a647c7cb871856a771634460 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Feb 27 10:21:06 2015 +0000 iscsi-target: Drop legacy iscsi_target_tq.c logic Now that iscsi_conn allocates new [rx,tx] threads using kthread.h primitives on the fly, and kthread_stop() is called directly during connection shutdown, it's time to go ahead and drop iscsi_target_tq.c legacy code. The use of multiple struct completion in iscsi_activate_thread_set() has been proven to cause issues during repeated iser login/logout. Tested-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Slava Shwartsman <valyushash@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 88dcd2dab5c23b1c9cfc396246d8f476c872f0ca Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Thu Feb 26 22:19:15 2015 -0800 iscsi-target: Convert iscsi_thread_set usage to kthread.h This patch converts iscsi-target code to use modern kthread.h API callers for creating RX/TX threads for each new iscsi_conn descriptor, and releasing associated RX/TX threads during connection shutdown. This is done using iscsit_start_kthreads() -> kthread_run() to start new kthreads from within iscsi_post_login_handler(), and invoking kthread_stop() from existing iscsit_close_connection() code. Also, convert iscsit_logout_post_handler_closesession() code to use cmpxchg when determing when iscsit_cause_connection_reinstatement() needs to sleep waiting for completion. Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Slava Shwartsman <valyushash@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 5ef86b74209db33c133b5f18738dd8f3189b63a1 Author: Ken Xue <Ken.Xue@xxxxxxx> Date: Mon Mar 9 17:10:13 2015 +0800 serial: 8250_dw: add support for AMD SOC Carrizo Add ACPI identifier for UART on AMD SOC Carrizo. Signed-off-by: Ken Xue <Ken.Xue@xxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed0bb2323c9321b91dfa0ea8317fdc4d9592dce4 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:11 2015 +0100 tty: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Peter Korsgaard <peter@xxxxxxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37ff5252b3ae141eba2dcf20693484e4b53176b1 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:10 2015 +0100 tty/hvc_opal: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56794c0a1ae738cb4184ab27501e4d152b0b2771 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Nov 7 13:35:41 2014 +0100 UBI: Fastmap: Remove is_fm_block() This function was added to fastmap in a very early stage to have paranoid assertions. With the current fastmap implementation this assert will never trigger as fastmap PEBs are not seen by the WL sub-system. Remove it to save us some CPU cycles. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 1841fcfd910b4e841de40e1f6bc3dad6109a4054 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 29 11:47:22 2014 +0100 UBI: Fastmap: Add blank line after declarations Another checkpatch complaint: WARNING: Missing a blank line after declarations Signed-off-by: Richard Weinberger <richard@xxxxxx> commit e1bc37ceafc04dff20a8cdc88ed250941ec2ea92 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 29 11:44:45 2014 +0100 UBI: Fastmap: Remove else after return. checkpatch.pl complains: WARNING: else is not generally useful after a break or return Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 2f84c2469e2f2e94a45d86597baec10bfbf06847 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 29 10:31:41 2014 +0100 UBI: Fastmap: Introduce may_reserve_for_fm() ...and kill another #ifdef. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit acfda79f8808518b0235eb9a13c8b5f762e43a75 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 28 17:07:06 2014 +0100 UBI: Fastmap: Introduce ubi_fastmap_init() ...and kill another #ifdef in wl.c. :-) Signed-off-by: Richard Weinberger <richard@xxxxxx> commit c5c3f3cf969e45c53345283fce0ba11fae7abd32 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 28 16:24:27 2014 +0100 UBI: Fastmap: Wire up WL accessor functions Use the new WL accessor functions in fastmap. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 23c482ef7b7611225f70efe46a3627b889cab1a4 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 28 16:18:42 2014 +0100 UBI: Add accessor functions for WL data structures Fastmap need access to various WL data structures as fastmap tightly depends on WL. To make the access less invasive add accessor functions. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 78d6d497a648cc04ae26b27af1e01ce3e41a9c72 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 18:21:51 2014 +0100 UBI: Move fastmap specific functions out of wl.c Fastmap is tightly connected to the WL sub-system, many fastmap-specific functionslive in wl.c. To get rid of most #ifdefs in wl.c move this functions into a new file and include it into wl.c Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 479c2c0cac0c1d23655df15cf039b4f8e3623d23 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 8 15:14:09 2014 +0200 UBI: Fastmap: Add new module parameter fm_debug If fm_debug is set fastmap debugging is enabled by default. This is useful if one wants to debug fastmap on an UBI device with serves the rootfs. The the UBI attach mechanism runs long before debugfs can be mounted and chk_fastmap set. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 560d86a1a210000b33859cd66e051fcb516a3559 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 27 13:00:26 2014 +0100 UBI: Fastmap: Make self_check_eba() depend on fastmap self checking ...instead of generic self checking. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit daef3dd1f0ae71bf04a32af4ef643baf040bb73d Author: Richard Weinberger <richard@xxxxxx> Date: Mon Sep 22 15:36:40 2014 +0200 UBI: Fastmap: Add self check to detect absent PEBs This self check allows Fastmap to detect absent PEBs while writing a new fastmap to the MTD device. It will help to find implementation issues in Fastmap. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ee59ba8b064f692a1dee99b6f3ba30b0e904b2c1 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 16:16:23 2014 +0100 UBI: Fix stale pointers in ubi->lookuptbl In some error paths the WL sub-system gives up on a PEB and frees it's ubi_wl_entry struct but does not set the entry in ubi->lookuptbl to NULL. Fastmap can stumble over such a stale pointer as it uses ubi->lookuptbl to find all PEBs. Fix this by introducing a new helper function which free()s a WL entry and removes the reference from the lookup table. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 24b7a347c37f99c9d08d2d3ae9c6a56a8333429b Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 15:18:41 2014 +0200 UBI: Fastmap: Enhance fastmap checking Don't update the fastmap upon detach if fastmap checking is enabled. This is poor men's power cut testing feature. :-) Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 5fa7fa5dad0cf8f2b47bb8dca91c605c48d282f6 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Sep 22 11:44:50 2014 +0200 UBI: Add initial support for fastmap self checks Using this debugfs knob fastmap self checks can be controlled. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> commit 5ca97ad83800938e8aeea622821a26d69d2052bf Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 16:11:40 2014 +0100 UBI: Fastmap: Rework fastmap error paths If UBI is unable to write the fastmap to the device we have make sure that upon next attach UBI will fall back to scanning mode. In case we cannot ensure that they only thing we can do is falling back to read-only mode. The current error handling code is not powercut proof. It could happen that a powercut while invalidating would lead to a state where an too old fastmap could be used upon attach. This patch addresses the issue by writing a fake fastmap super block to a fresh PEB instead of reerasing the existing one. The fake fastmap super block will UBI case to do a full scan. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 61de74ce2fa2cc9eee85cf5edc6525b12831b507 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 29 16:59:32 2014 +0100 UBI: Fastmap: Prepare for variable sized fastmaps The current code assumes that each fastmap has the same amount of PEBs. So far this is true but will change soon. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 111ab0b26fc1bfad575d1e376e146d194d261e22 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 16:28:08 2014 +0100 UBI: Fastmap: Locking updates a) Rename ubi->fm_sem to ubi->fm_eba_sem as this semaphore protects EBA changes. b) Turn ubi->fm_mutex into a rw semaphore. It will still serialize fastmap writes but also ensures that ubi_wl_put_peb() is not interrupted by a fastmap write. We use a rw semaphore to allow ubi_wl_put_peb() still to be executed in parallel if no fastmap write is happening. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 42dd3cdcd6b5671ebedc3df76ca8dcc3473bcc67 Author: Richard Weinberger <richard@xxxxxx> Date: Sat Oct 25 13:26:49 2014 +0200 UBI: Fastmap: Set used_ebs only for static volumes If we set it for dynamic ones we might confuse various self checks. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 8fb2a514780eee48602424a86e3cd72d3f1bdfb2 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 16:27:10 2014 +0100 UBI: Fastmap: Fix race after ubi_wl_get_peb() ubi_wl_get_peb() returns a fresh PEB which can be used by user of UBI. Due to the pool logic fastmap will correctly map this PEB upon attach time because it will be scanned. If a new fastmap is written (due to heavy parallel io) while the before the fresh PEB is assigned to the EBA table it will not be scanned as it is no longer in the pool. So, the race window exists between ubi_wl_get_peb() and the EBA table assignment. We have to make sure that no new fastmap can be written while that. To ensure that ubi_wl_get_peb() will grab ubi->fm_sem in read mode and the user of ubi_wl_get_peb() has to release it after the PEB got assigned. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ad3d6a05ee45eebf68ff08da0d3f86251b530a27 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Oct 24 15:22:05 2014 +0200 UBI: Fastmap: Fix leb_count unbalance If a LEB is unmapped we have to decrement leb_count as well. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 68e3226bd4e05c4be1f6286e4e708e1163ffa092 Author: Richard Weinberger <richard@xxxxxx> Date: Wed Oct 8 14:55:58 2014 +0200 UBI: Fastmap: Make WL pool size 50% of user pool size Don't use a fixed size for the WL pool. Make it instead 50% of the user pool. We don't make it 100% as it is not as heavily used as the user pool. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 2d93fb3632755c170bc684989709e28ef3d22a80 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 7 21:45:19 2014 +0200 UBI: Fastmap: Switch to ro mode if invalidate_fastmap() fails We have to switch to ro mode to guarantee that upon next UBI attach all data is consistent. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d141a8ef21ab496ab6f8d188dfe7ca33e16fe798 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 7 21:39:20 2014 +0200 UBI: Fastmap: Remove eba_orphans logic This logic is in vain as we treat protected PEBs also as used, so this case must not happen. If a PEB is found which is in the EBA table but not known as used has to be issued as fatal error. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit a83832a7c8d023f446ec865926190951bd18a4b1 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 7 18:51:07 2014 +0200 UBI: Fastmap: Remove bogus ubi_assert() It is legal to have PEBs left in the used list. This can happen if UBI copies a PEB and a powercut happens between writing a new fastmap and adding this PEB into the EBA table. In this case the old PEB will be used. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 36a87e44f642966442fd0d23f2ec536851e00236 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Oct 7 16:31:22 2014 +0200 UBI: Fastmap: Fix race in ubi_eba_atomic_leb_change() This function a) requests a new PEB, b) writes data to it, c) returns the old PEB and d) registers the new PEB in the EBA table. For the non-fastmap case this works perfectly fine and is powercut safe. Is fastmap enabled this can lead to issues. If a new fastmap is written between a) and c) the freshly requested PEB is no longer in a pool and will not be scanned upon attaching. If now a powercut happens between c) and d) the freshly requested PEB will not be scanned and the old one got already scheduled for erase. After attaching the EBA table will point to a erased PEB. Fix this issue by swapping steps c) and d). Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d2158f69a7d469c21c37f7028c18aa8c54707de3 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 15:58:07 2014 +0200 UBI: Remove alloc_ai() slab name from parameter list There is always exactly one ubi_attach_info object allocated, therefore we don't have to care about the name. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 98105d0819daf569e741ddfba73cedcac371b9d8 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 15:39:01 2014 +0200 UBI: Fastmap: Fix memory leak while attaching Currently we leak a few ubi_ainf_pebs while attaching. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 84b678f497c6eda650f0640bd7cf165e2c1acb49 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 15:14:16 2014 +0200 UBI: Fastmap: Fix fastmap usage in ubi_volume_notify() There is no need to switch to ro mode if ubi_update_fastmap() fails. Also get rid of the ifdef. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> commit 5e0246e332349751d39d186ea0b7ec1e371ab2f8 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 15:12:16 2014 +0200 UBI: Fastmap: Wrap fastmap specific function in a ifdef ...such that we can implement NOP variants of some functions. This will help to reduce fastmap specific ifdefs in other c files. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> commit 943b33564e78130014ca91b575181becc828179e Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 14:57:18 2014 +0200 UBI: Fastmap: Notify user in case of an ubi_update_fastmap() failure If ubi_update_fastmap() fails notify the user. This is not a hard error as ubi_update_fastmap() makes sure that upon failure the current on-flash fastmap will no be used upon next UBI attach. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 74cdaf24004aea8de350f58979548b3eddc11e9a Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 14:42:01 2014 +0200 UBI: Fastmap: Fix memory leaks while closing the WL sub-system Add a ubi_fastmap_close() to free all resources used by fastmap at WL shutdown. Signed-off-by: Richard Weinberger <richard@xxxxxx> Tested-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> commit a9cf86f62b785202684c3ba92895946f03d910c8 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:35 2015 +0000 KVM: arm/arm64: prepare GICv2 emulation to be handled by kvm_io_bus Using the framework provided by the recent vgic.c changes we register a kvm_io_bus device when initializing the virtual GICv2. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 6777f77f0f544f686ee3158ff0db6a7d81b7d3a2 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:34 2015 +0000 KVM: arm/arm64: implement kvm_io_bus MMIO handling for the VGIC Currently we use a lot of VGIC specific code to do the MMIO dispatching. Use the previous reworks to add kvm_io_bus style MMIO handlers. Those are not yet called by the MMIO abort handler, also the actual VGIC emulator function do not make use of it yet, but will be enabled with the following patches. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 9f199d0a0eeb8efb564ff41a6b9f819c4c0285ea Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:33 2015 +0000 KVM: arm/arm64: simplify vgic_find_range() and callers The vgic_find_range() function in vgic.c takes a struct kvm_exit_mmio argument, but actually only used the length field in there. Since we need to get rid of that structure in that part of the code anyway, let's rework the function (and it's callers) to pass the length argument to the function directly. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit cf50a1eb43b98daa181714e40e22c8e5ad5007d6 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:32 2015 +0000 KVM: arm/arm64: rename struct kvm_mmio_range to vgic_io_range The name "kvm_mmio_range" is a bit bold, given that it only covers the VGIC's MMIO ranges. To avoid confusion with kvm_io_range, rename it to vgic_io_range. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit f0e4b2776c12c1633ccef17f210733d6e1b6b2b3 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:31 2015 +0000 KVM: x86: remove now unneeded include directory from Makefile virt/kvm was never really a good include directory for anything else than locally included headers. With the move of iodev.h there is no need anymore to add this directory the compiler's include path, so remove it from the x86 kvm Makefile. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5d9d15af1cade35e84979f222b911cbc97106032 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:30 2015 +0000 KVM: arm/arm64: remove now unneeded include directory from Makefile virt/kvm was never really a good include directory for anything else than locally included headers. With the move of iodev.h there is no need anymore to add this directory the compiler's include path, so remove it from the arm and arm64 kvm Makefile. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit af669ac6dc3f66bb56fb9612b9826adac6292794 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Mar 26 14:39:29 2015 +0000 KVM: move iodev.h from virt/kvm/ to include/kvm iodev.h contains definitions for the kvm_io_bus framework. This is needed both by the generic KVM code in virt/kvm as well as by architecture specific code under arch/. Putting the header file in virt/kvm and using local includes in the architecture part seems at least dodgy to me, so let's move the file into include/kvm, so that a more natural "#include <kvm/iodev.h>" can be used by all of the code. This also solves a problem later when using struct kvm_io_device in arm_vgic.h. Fixing up the FSF address in the GPL header and a wrong include path on the way. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit e32edf4fd0fa4897e12ca66118ab67bf257e16e4 Author: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 26 14:39:28 2015 +0000 KVM: Redesign kvm_io_bus_ API to pass VCPU structure to the callbacks. This is needed in e.g. ARM vGIC emulation, where the MMIO handling depends on the VCPU that does the access. Signed-off-by: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5f6d851564a978085e23ccc41ee95cfa3a2ee43e Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Tue Mar 17 01:19:54 2015 +0900 serial: sh-sci: Update calculation of timeout for DMA The current calculation method in the case of 9600bps, rounding error occurs has become setting that occur timeout faster than the required time. When we use 9600bps, 32byte buffer, 10 bit (CS8) and 100 HZ, it becomes 3 jiffies (30msec). In fact it is necessary 33msec. This updates to the calculation that are not actually less than the value set by the rounding error. Also, this is nothing will be calculated value when there is no load. If there are a lot of case load, overrun error will occur immediately. This is by the buffer size to be calculated twice the DMA buffer, and add the change of setting a sufficient time-out value. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb772fe75fa189c25ec258d36dabf914205e6635 Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Tue Mar 17 01:19:19 2015 +0900 serial: sh-sci: Add overrun handling of SCIFA and SCIFB SCIFA and SCIFB can detect the overrun, but it does not support. This adds overrun handling of SCIFA and SCIFB. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0814e8d5da2b6f25088fe28d5e23f511d8441883 Author: Jakub Kicinski <kubakici@xxxxx> Date: Tue Mar 17 00:28:49 2015 +0100 sc16is7xx: enable the clock Although clk_disable_unprepare() is called both on .remove() and in .probe() error path, the clock is never actually enabled. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9764e7a0f63bda5664cb985f992002c6eccef641 Author: Jakub Kicinski <kubakici@xxxxx> Date: Tue Mar 17 00:28:47 2015 +0100 sc16is7xx: don't wipe out port configuration on shutdown EFCR register contains RS-485 configuration which should not be changed by shutdown. Instead of doing a write only update the appropriate bits. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11b03ea0c1ef1cd2df3e7ea0437a13e2dfb65f60 Author: Jakub Kicinski <kubakici@xxxxx> Date: Tue Mar 17 00:28:46 2015 +0100 sc16is7xx: remove ports on probe error path If ports are not explicitly removed on the error path the device will not get properly unregistered leaving /dev/ttySC* nodes in the filesystem. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cf94d3a115ad118a36cba2c9a5383acda94e544 Author: Doug Kehn <rdkehn@xxxxxxxxx> Date: Tue Mar 24 08:19:27 2015 -0500 tty/serial: omap: fix !wakeirq message When wakeirq is not used/enabled, "no wakeirq for uart0" is output for all TTY as the log message is generated before the port line is initialized. [ 0.802656] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.811700] omap_uart 44e09000.serial: no wakeirq for uart0 [ 0.812379] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0 [ 1.503622] console [ttyO0] enabled [ 1.509836] omap_uart 48022000.serial: no wakeirq for uart0 [ 1.516118] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 89, base_baud = 3000000) is a OMAP UART1 [ 1.527711] omap_uart 48024000.serial: no wakeirq for uart0 [ 1.533881] 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 90, base_baud = 3000000) is a OMAP UART2 [ 1.545324] omap_uart 481a6000.serial: no wakeirq for uart0 [ 1.551410] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 60, base_baud = 3000000) is a OMAP UART3 [ 1.562946] omap_uart 481a8000.serial: no wakeirq for uart0 [ 1.569036] 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 61, base_baud = 3000000) is a OMAP UART4 Fix by moving wakeirq initialization, check, and dev_info() call to after port line initialization and validation. Signed-off-by: Doug Kehn <rdkehn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fea53e255eaa889fb6cf8e10d11fbea2921eac8 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:36 2015 -0700 tty: serial: Remove orphaned serial driver This driver is orphaned now that mach-msm has been removed. Delete it. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e23407d8b3e4b3011520e5140322fddd34172173 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:37 2015 -0700 tty: serial: msm_serial: Remove dead code This config no longer exists now that mach-msm has been removed. Delete it and the associated code. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77002c6f95cc2b51284f6f855da2c19e911f837a Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Mar 17 18:02:14 2015 +0800 serial: 8250_pci: remove non-used var for F81504 Remove pci_fintek_setup() non-used var with calculation ciobase Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4228d7cf5844776bfe7c1a466fc827530c0086f Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Mon Mar 9 04:17:51 2015 +0000 serial: 8250: remove the redundant include The serial_core.h file have been included in header file serial_8250.h. so remove the "#include <serial_core.h>" in some 8250 serial drivers, because they have included the header file serial_8250.h. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f01a0bd8921b9d6668d41fae3198970e6318f532 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:05:01 2015 -0400 serial: 8250: Check UART_SCR is writable Au1x00/RT2800+ doesn't implement the 8250 scratch register (and this may be true of other h/w currently supported by the 8250 driver); read back the canary value written to the scratch register to enable the console h/w restart after resume from system suspend. Fixes: 4516d50aabedb ("serial: 8250: Use canary to restart console ...") Reported-by: Mason <slash.tmp@xxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 509cb7dc07cc03c28c7995a9213a605c04675a58 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:05:00 2015 -0400 serial: 8250: Validate reg addr for Au1x00/RT288x i/o accessors Au1x00/RT2800+ hardware has an alternate register layout which is remapped with lookup tables by the au_serial_in()/out() i/o accessors. However, the h/w does not support the complete 8250 register set, and accesses to unmapped registers cause out-of-bounds lookups. Further, because the lookup tables are defined by designated initializers, the tables may contain unmapped entries (although the current tables do not). Declare fixed-size lookup tables with contiguous initialization for the complete 8250 register map; unmapped registers are initialized to -1. Validate the register index (ie., 'offset') is in the range [0, table size). Return fixed value for unmapped register reads and ignore unmapped register writes. Reported-by: Mason <slash.tmp@xxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Tested-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4ca6be9d67eaf5a53054903530c8f422b4b88bd Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 6 14:47:51 2014 +0200 UBI: Fastmap: Don't allocate new ubi_wl_entry objects There is no need to allocate new ones every time, we can reuse the existing ones. This makes the code cleaner and more easy to follow. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> commit 6830356466a57db21c7bc31bf3be4e61189e145b Author: Richard Weinberger <richard@xxxxxx> Date: Mon Nov 10 15:39:17 2014 +0100 UBI: Fastmap: Make ubi_refill_pools() fair Currently ubi_refill_pools() first fills the first and then the second one. If only very few free PEBs are available the second pool can get zero PEBs. Change ubi_refill_pools() to distribute free PEBs fair between all pools. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> commit 691a870563b4fe9e014a309477fb8f9fe41b36bb Author: Richard Weinberger <richard@xxxxxx> Date: Fri Nov 7 23:40:27 2014 +0100 UBI: Split __wl_get_peb() Make it two functions, wl_get_wle() and wl_get_peb(). wl_get_peb() works exactly like __wl_get_peb() but wl_get_wle() does not call produce_free_peb(). While refilling the fastmap user pool we cannot release ubi->wl_lock as produce_free_peb() does. Hence the fastmap logic uses now wl_get_wle(). Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 5d3fc1d54e5a020c087002dd8590ee21c17e3182 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Mar 26 14:56:07 2015 -0600 toshiba_bluetooth: Fix enabling/disabling loop on recent devices Bug 93911 reported a broken handling of the BT device, causing the driver to get stuck in a loop enabling/disabling the device whenever the device is deactivated by the kill switch as follows: 1. The user activated the kill switch, causing the system to generate a 0x90 (status change) event and disabling the BT device. 2. The driver catches the event and re-enables the BT device. 3. The system detects the device being activated, but since the kill switch is activated, disables the BT device (again) and generates a 0x90 event (again). 4. Repeat from 2. This patch adds an extra check to verify the status of the BT device, returning silently if it is already activated. Also, checks and returns appropriate error values while evaluating the AUSB and BTPO methods. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 18b8696b66d79024649c895d4a5b7da4f268300e Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Mar 26 14:56:06 2015 -0600 toshiba_bluetooth: Clean up *_add function and disable BT device at removal This patch cleans the toshiba_bluetooth_add function by using the recently introduced function toshiba_bluetooth_present, simplifying its code and returning appropriate error values. Also, disables the BT device at the removal of the driver, by using the function toshiba_bluetooth_disable. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit bb2ea96b4840fb244e74ed7c470a3ec88e5b084a Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Thu Mar 26 14:56:05 2015 -0600 toshiba_bluetooth: Add three new functions to the driver This patch introduces three new functions, which are going to be used by the next patches. The functions introduced are toshiba_bluetooth_present, toshiba_bluetooth_status and toshiba_bluetooth_disable, which queries the presence of the device, queries the status and disables the device respectively. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit dff1eb047ff649c3fc3adc42776039b8b0c5a869 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Mar 25 23:13:08 2015 +0900 ACPI/PMIC: Fix typo in MODULE_DESCRIPTION in intel_pmic_crc.c This patch fix a spelling typo in MODULE_DESCRIPTION within intel_pmic_crc.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d59f21bebe9d0fda34027ff1afda4f2b0d5f1869 Author: Richard Weinberger <richard@xxxxxx> Date: Thu Oct 2 15:00:35 2014 +0200 UBI: Fastmap: Fix races in ubi_wl_get_peb() ubi_wl_get_peb() has two problems, it reads the pool size and usage counters without any protection. While reading one value would be perfectly fine it reads multiple values and compares them. This is racy and can lead to incorrect pool handling. Furthermore ubi_update_fastmap() is called without wl_lock held, before incrementing the used counter it needs to be checked again. It could happen that another thread consumed all PEBs from the pool and the counter goes beyond ->size. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d723cfeafc7b4c73e89ed3d4b1a4d747e990872c Author: Nishanth Menon <nm@xxxxxx> Date: Mon Mar 23 14:39:39 2015 -0500 ARM: dts: am57xx-beagle-x15: Add thermal map to include fan and tmp102 BeagleBoard-X15 has capability for a fan and has an onboard TMP102 temperature sensor as well. This allows us to create a new thermal zone (called, un-imaginatively "board"), and allows us to use some active cooling as temperatures start edge upward in the system by creating a new alert temperature (emperically 50C) for cpu. NOTE: Fan is NOT mounted by default on the platform, in such a case, all we end up doing is switch on a regulator and leak very minimal current. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f7397edf47ecc859fa69c15c4f9cefc8f2ee00c8 Author: Keerthy <j-keerthy@xxxxxx> Date: Mon Mar 23 14:39:38 2015 -0500 ARM: dts: DRA7: Add bandgap and related thermal nodes Add bandgap and related thermal nodes. The patch adds 5 thermal sensors. Only one cooling device for mpu as of now. The sensors are the exact same on both dra72 and dra7. Introduce CPU, GPU, core nodes for the moment as they are direct reuse of OMAP5 entities. NOTE: OMAP4 has a finer counter granularity, which allows for a delay of 1000ms in the thermal zone polling intervals. DRA7 have different counter mechanism, which allows at maximum a 500ms timer. Adjust the cpu thermal zone accordingly for DRA7. Signed-off-by: Keerthy <j-keerthy@xxxxxx> [t-kristo@xxxxxx: few reuse from OMAP5 entities] Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 399a9feeac83c2f64138c438e41222a12dd71766 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 26 23:08:15 2014 +0200 UBI: Fastmap: Ensure that all fastmap work is done upon WL shutdown ...otherwise the deferred work might run after datastructures got freed and corrupt memory. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> commit 19371d73c9bd31a8e634ec5a80fc19fcd7714481 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Sep 23 19:29:05 2014 +0200 UBI: Fastmap: Ensure that only one fastmap work is scheduled If the WL pool runs out of PEBs we schedule a fastmap write to refill it as soon as possible. Ensure that only one at a time is scheduled otherwise we might end in a fastmap write storm because writing the fastmap can schedule another write if bitflips are detected. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> commit e129fdb9b2dc49e7be62eb1626ae8b8c84f41c59 Merge: afda768f cdf6124 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 26 10:48:49 2015 -0700 Merge branch 'omap-for-v4.1/ocp2scp' into omap-for-v4.1/fixes-not-urgent commit cdf61240e11f838705b7a3f51acad5b641e54210 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Tue Mar 17 16:54:51 2015 +0530 bus: ocp2scp: SYNC2 value should be changed to 0x6 As per the TRMs of AM572x, OMAP4430, OMAP4460, OMAP543x, the value of SYNC2 must be set to 0x6 in order to ensure correct operation. So modified the SYNC2 value of OCP2SCP TIMING register to 0x6 in all the platforms that use OCP2SCP driver except AM437x. Also introduced a new compatible property since we don't want to modify the OCP2SCP TIMING register for AM437x. The sections in TRM where the above caution can be found is mentioned below. AM572x TRM SPRUHZ6 (http://www.ti.com/lit/ug/spruhz6/spruhz6.pdf) under section 26.3.2.2, table 26-26. OMAP4430 TRM SWPU231AP (http://www.ti.com/lit/ug/swpu231ap/swpu231ap.pdf) under section 23.12.6.2.2 , Table 23-1213. OMAP4460 TRM SWPU235AB (http://www.ti.com/lit/ug/swpu235ab/swpu235ab.pdf) under section 23.12.6.2.2, Table 23-1213. OMAP543x TRM SWPU249 (http://www.ti.com/lit/pdf/swpu249) under section 27.3.2.2, Table 27-27. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Praneeth Bajjuri <praneeth@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 20431db949ce5eec0ff6012688c0ff6d9feb3319 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Tue Mar 17 16:54:50 2015 +0530 ARM: dts: am4372: Add "ti,am437x-ocp2scp" as compatible string for OCP2SCP Added a new compatible string "ti,am437x-ocp2scp" for OCP2SCP module. This is needed since except for the OCP2SCP used in AM437x, SYNC2 value in OCP2SCP TIMING should be changed whereas the default value is sufficient in AM437x. Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit bd0d888c4f7f125b7c7168f51039142150d9d1cc Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Mar 27 02:35:52 2015 +0900 ARM: EXYNOS: allow cpuidle driver usage on Exynos3250 SoC Register cpuidle platform device on Exynos3250 SoC allowing EXYNOS cpuidle driver usage on this SoC. Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 89366409748c2de0521cf4303bfb1247676882df Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Mar 27 02:35:48 2015 +0900 ARM: EXYNOS: add AFTR mode support for Exynos3250 AFTR mode support brings reduced energy consumption and is a prerequisite for more advanced W-AFTR/LPA power saving modes. AFTR mode has been already supported on other Exynos SoCs for few years and this patch adds its support for Exynos3250 SoC. The differences in Exynos3250 SoC AFTR mode support when compared to Exynos4x12 SoCs are: - different secure firmware calls are used - different S5P_WAKEUP_MASK wakeup mask is used - S5P_WAKEUP_MASK2 wakeup mask needs to be set in addition to the standard S5P_WAKEUP_MASK one - C2_STATE BOOT mode flag needs to be set/cleared pre/post AFTR Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit afda768f88555a19bbcf66264d9fa622f78ff4fb Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 22 01:00:18 2015 +0100 ARM: OMAP2+: remove superfluous NULL pointer check The NULL pointer check for superset->muxnames will always evaluate true since muxnames is an array within struct omap_mux. Remove the superfluous check to avoid warnings when using LLVM/clang. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit dc1b9448d23deb51ad74a873392402560955dbc2 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Mar 27 02:32:56 2015 +0900 ARM: EXYNOS: add code for setting/clearing boot flag This code is needed for cpuidle (W-)AFTR mode support on Exynos3250. Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 497ab3b30c7687f52e6711e2ac72d1b696ec7685 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Mar 27 02:32:56 2015 +0900 ARM: EXYNOS: fix CPU1 hotplug on Exynos3250 CPU1 hotplug may hang when AFTR is used. Fix it by: - setting AUTOWAKEUP_EN bit in ARM_COREx_CONFIGURATION register in exynos_cpu_power_up() - not clearing reserved bits of ARM_COREx_CONFIGURATION register in exynos_cpu_power_down() - waiting while an undocumented register 0x0908 becomes non-zero in exynos_core_restart() - using dsb_sev() instead of IPI in exynos_boot_secondary() on Exynos3250 This patch also fixes hotplug issues during resume from S2R: $ echo mem > /sys/power/state [ 156.517266] Disabling non-boot CPUs ... [ 156.517781] IRQ18 no longer affine to CPU1 [ 156.518043] CPU1: shutdown [ 156.544718] Enabling non-boot CPUs ... [ 156.554925] CPU1: Software reset [ 158.552631] CPU1: failed to come online [ 158.552753] Error taking CPU1 up: -5 Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 72a33aad476f9d4b1210dbf434f53eeea84909ab Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:15 2015 -0500 serial: 8250: Declare base port operations const The base port operations dispatch table should never be modified at runtime; the proper way to override base port operations is to dup the port operations, modify the copy, and point port->ops at the copy. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 403753937020549e4bb0d8ef6e915f00a338a096 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:14 2015 -0500 serial: 8250: Decouple RSA probe Prepare for 8250 split; separate RSA probe and resource management from base port operations. Override base port operations for the config_port(), request_port() and release_port() methods to implement the optional RSA probe and resource management only in the universal/legacy 8250 driver. Introduce 'probe' flags for 8250 ports, which allows drivers higher up the driver stack to enable optional probes. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b81c26c92414024a8046eb216782f3d599a5d77 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:13 2015 -0500 serial: 8250: Only get RSA resource when required The probe for Remote Supervisor Adapter is limited to port i/o addresses which match one of the probe_rsa[] module parameter addresses. Limit RSA resource acquire to matching i/o ports. The result is a saner probe policy: only perform optional probes when specified rather than by default. NB: It is possible for userspace to set the port type == PORT_RSA with ioctl(TIOCSSERIAL) and then autoconfig with ioctl(TIOCSERCONFIG), which if it fails, may leave the port type set to PORT_RSA. Since this may have previously resulted in a working RSA port, this behavior is preserved. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd52b7599c1a1150719b2f6d20bce6b4f30dc8df Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:12 2015 -0500 serial: 8250: Get RSA resource iff CONFIG_SERIAL_8250_RSA Support for Remote Supervisor Adapter is conditional on CONFIG_SERIAL_8250_RSA; only attempt RSA resource acquire if defined. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d53e1428a9f1110ec865b2839f6a6f12d13da2b9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:11 2015 -0500 serial: 8250: Initialize default dma handlers when setting defaults Prepare for 8250 split; move default dma tx/rx handler initialization into serial8250_set_defaults(), which allows default dma ops to remain unexported from the base port operations module after the split. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afd483bd0f6808d7a8891349b8a141d7abd0509d Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:10 2015 -0500 serial: 8250: Initialize fixed type fields when setting defaults Prepare for 8250 split; move fixed type initialization into serial8250_set_defaults(). This enables uart_config[] array to remain file scope in base port operations after the split. NB: the call to serial8250_init_fixed_type_port() from serial8250_register_ports() was added by commit b5d228cc4f85 ("serial: copy UART properties of UPF_FIXED_TYPE ports provisioned using early_serial_setup") specifically to support ports initialized by early_serial_setup(). Since serial8250_set_defaults() is called from early_serial_setup(), fixed type initialization is now already handled there before serial8250_register_ports() is called. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a53e07989733d72354eb9617f49377ff30588a8 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:09 2015 -0500 serial: 8250: Encapsulate port i/o method init Prepare for 8250 split; introduce serial8250_set_defaults() to set default port methods prior to driver override. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a16e2c1a6221703aa4d4942c95e37d641e87cc7 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:08 2015 -0500 serial: 8250: Separate port initialization Prepare for 8250 split; introduce serial8250_init_port() to initialize port fields uncoupled from port structure storage. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4416cd1ac7b48988f0f41a17769d65c71ffc504 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:07 2015 -0500 serial: 8250: Separate legacy irq handling from core port operations Prepare for 8250 split; decouple irq setup/teardown and handler from core port operations. Introduce setup_irq() and release_irq() 8250 driver methods; the 8250 core will use these methods to install and remove irq handling for the given 8250 port. Refactor irq chain linking/unlinking from 8250 core into univ8250_setup_irq()/univ8250_release_irq() for the universal 8250 driver. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01218bf14ee60d4a2d6c667ebdbba3ae9a7a1d66 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 26 09:47:55 2015 -0700 of: Explicitly include linux/types.h in of_graph.h In current -next of_graph.h fails to build due to it relying on linux/types.h without explicitly including it: ../include/linux/of_graph.h:43:71: error: unknown type name 'u32' caused by bfe446e37c4e (of: Add of_graph_get_port_by_id function). Add an explicit inclusion to fix this. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 23a71fd616bf77fcc630ea514c469b0dd09cb99c Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Fri Mar 20 18:06:22 2015 -0700 dt-bindings: brcm: rationalize Broadcom documentation naming This patchset attempts to standardize the naming of dt-bindings documents based on the Broadcom vendor prefix of brcm. Although there are no guidelines currently present for how to name the dt-bindings document the "vendor,binding.txt" style is in use by some of the other vendors. Acked-by: Lee Jones <lee@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 6e28157173037b779fcf90715416a21a1e5ea2f9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:06 2015 -0500 serial: 8250: Separate 8250 console interface Prepare for 8250 core split; separate shared console interface from the console definition of the universal driver. Introduce 8250 shared console interface; serial8250_console_write() and serial8250_console_setup() which decouples the console operation from the port structure storage. Rename existing serial8250_console* identifiers to univ8250_console*. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45e4372525592eafe84d8385e1e7c99a7cb23e0c Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 22 11:35:56 2015 -0700 DocBook media: fix broken EIA hyperlink This fixes the bibliography hyperlink to "http://www.eia.org" which now redirects to a page with a "404 Not found" error. The latest update to the document referred to is now available on the Consumer Electronics Association website. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit a57069e33fbc6625f39e1b09c88ea44629a35206 Author: Manish Badarkhe <manishvb@xxxxxx> Date: Thu Mar 26 15:38:25 2015 +0200 ASoC: davinci-evm: drop un-necessary remove function As davinci card gets registered using 'devm_' api there is no need to unregister the card in 'remove' function. Hence drop the 'remove' function. Fixes: ee2f615d6e59c (ASoC: davinci-evm: Add device tree binding) Signed-off-by: Manish Badarkhe <manishvb@xxxxxx> Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit d21bd67bbbc635424b336b7c881dbcdf6098f9f5 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:14 2015 +0200 drm/i915: Don't use encoder->new_crtc in intel_lvds_compute_config() Move towards atomic by using the legacy modeset's drm_atomic_state instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e75f4771f81e969d60177cb0c72526f4a05cbb5f Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:13 2015 +0200 drm/i915: Don't use staged config in intel_dp_mst_compute_config() Move towards atomic by using the legacy modeset's drm_atomic_state instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bb84296ae52da844c9cab81e0197152a69f2f841 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Mar 27 02:00:09 2015 +0900 ARM: exynos_defconfig: Enable HDMI support Many Exynos boards have an HDMI port so enable Exynos DRM HDMI support. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 4e330ae4ab2915444f1e6dca1358a910aa259362 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 27 01:58:08 2015 +0900 ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore There are two PMICs on Cragganmore, currently one dynamically assign its IRQ base and the other uses a fixed base. It is possible for the statically assigned PMIC to fail if its IRQ is taken by the dynamically assigned one. Fix this by statically assigning both the IRQ bases. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 3165c074175cddab1dcfd553042ea4f363bc76e7 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:12 2015 +0200 drm/i915: Use atomic state in intel_ddi_crtc_get_new_encoder() Instead of using connector->new_encoder, get the same information from the pipe_config, thus making the function ready for the atomic conversion. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f27b907595fc586bce62b8a3dc421e89bb927250 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Fri Mar 27 01:55:10 2015 +0900 ARM: dts: Fixed typo interrupt-cells for exynos5420 and exynos5250 Changes fixes the misspelled of #interrups-cell. arch/arm/boot/dts/exynos5420.dtsi:224: WARNING: 'interrups' may be misspelled - perhaps 'interrupts'? Tested on OdroidXU3 board. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> [kgene@xxxxxxxxxx: added fixing same typo in exynos5250] Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 77f06c86622e1237fbab3333021211e8b04fe37d Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:11 2015 +0200 drm/i915: Don't depend on encoder->new_crtc in intel_hdmi_compute_config Move towards atomic by using the legacy modeset's drm_atomic_state instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4f59ebed8945c7102b960113093bb2e5497d2fab Author: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Date: Fri Mar 27 01:52:02 2015 +0900 ARM: dts: Add HS400 support for exynos5420 and exynos5800 HS400 timing values are added for SMDK5420, exynos5420-peach-pit and exynos5800-peach-pi boards. This also adds RCLK GPIO line, this gpio should be in pull-down state. This also enables HS400 on peach-pi and this updates the clock frequency to 800MHz to be set as input clock to controller. Signed-off-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> [alim.akhtar@xxxxxxxxxxx: addressed review comments] Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 19f79ccf6d77409cd138bce8db206cdac7fd5ea7 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Mar 27 01:50:16 2015 +0900 ARM: exynos_defconfig: Enable options to mount a rootfs via NFS This patch enables the options to mount a rootfs over NFS and also support for automatic configuration of IP addresses during boot as needed by NFS. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 84556d58efead4cf4e53d807e5c846c7919be4c9 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:10 2015 +0200 drm/i915: Don't depend on encoder->new_crtc in intel_dp_compute_config() Move towards atomic by using the legacy modeset's drm_atomic_state instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1486017fbfef5441cc61c805ccace4d3dea27c80 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:09 2015 +0200 drm/i915: Don't use encoder->new_crtc in compute_baseline_pipe_bpp() Move towards atomic by using the legacy modeset's drm_atomic_state instead. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Keep the if (!connector) continue; separate so that it's easier to eventually extract a for_each_connector_in_state iterator. And because of the upcast it's also safer.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0b9018793939970aad49e4e0ed21f0fd0db74e4a Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:08 2015 +0200 drm/i915: Don't use encoder->new_crtc in intel_modeset_pipe_config() Move towards atomic by using the legacy modeset's drm_atomic_state instead. v2: Move call to drm_atomic_add_affected_connectors() to intel_modeset_compute_config(). (Daniel) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Resurrect the ret local variable which I've dropped from an earlier patch and which is now needed.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 944b0c76575753da5a332aab0a1d8c6df65a076b Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:07 2015 +0200 drm/i915: Copy the staged connector config to the legacy atomic state With this in place, we can start converting pieces of the modeset code to look at the connector atomic state instead of the staged config. v2: Handle the load detect staged config changes too. (Ander) Remove unnecessary blank line. (Daniel) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d29b2f9dce3e53ed3d5ada9d42f0edcca72fbfcd Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:05 2015 +0200 drm/i915: Update dummy connector atomic state with current config Keep that state updated so that we can write code that depends on it on the follow up patches. v2: Fix BUG due to stale connector_state->crtc value. (Chandra) v3: Update comment about dummy state connectors. (Chandra) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit df519e7bd33cf56d8a5ce357dfb94248d427b688 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:22 2015 -0400 serial: 8250_early: Remove setup_early_serial8250_console() setup_earlycon() will now match and register the desired earlycon from the param string (as if 'earlycon=...' had been set on the command line). Use setup_earlycon() from existing arch call sites which start an earlycon directly. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 470ca0de69feaba5df215ad804cec1859883a5ed Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:21 2015 -0400 serial: earlycon: Enable earlycon without command line param Earlycon matching can only be triggered if 'earlycon=...' has been specified on the kernel command line. To workaround this limitation requires tight coupling between arches and specific serial drivers in order to start an earlycon. Devicetree avoids this limitation with a link table that contains the required data to match earlycons. Mirror this approach for earlycon match by name. Re-purpose EARLYCON_DECLARE to generate a table entry which associates name with setup() function. Re-purpose setup_earlycon() to scan this table for an earlycon match, which is registered if found. Declare one "earlycon" early_param, which calls setup_earlycon(). This design allows setup_earlycon() to be called directly with a param string (as if 'earlycon=...' had been set on the command line). Re-registration (either directly or by early_param) is prevented. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c53cb3de493573dc3b7f2468a542a9f11cc5079 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:20 2015 -0400 serial: earlycon: Refactor earlycon registration Separate earlycon matching from registration; add register_earlycon which initializes and registers the matched earlycon. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60846880384f00713c7f54243f749c1923e6c0e3 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:19 2015 -0400 serial: earlycon: Skip parse_options() if empty string Earlycon param strings of the form earlycon=<name> are rejected from parse_options() with an error (which, in turn, results in a NULL argument for the setup() method options parameter). Only pass non-empty string to parse_options(); this will enable handling actual parse errors differently than expected and allow formats. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 933a46b8df02caa1bd16a6dc4ddf13091c970ef5 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Mar 26 10:25:17 2015 -0600 Documentation: tweak the maintainers entry The previous maintainer didn't want translation patches, but I'll happily take them. Also note a few subdirectories where the subsystem maintainers would prefer to handle docs patches themselves. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 989697255d6019df2b8548a072b0a81abd77c6aa Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:06 2015 +0200 drm/i915: Implement connector state duplication So that we can add connector states to the drm_atomic_state used in the legacy modeset. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2f0b57901b6cb1a340c16a408d9da968252eed4f Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 26 22:30:21 2015 +0800 drm/i915/skl: fix semicolon.cocci warnings drivers/gpu/drm/i915/intel_pm.c:2913:4-5: Unneeded semicolon Removes unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci CC: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit db7542dd402ad7be8e337ab483350f8795a3c7b0 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:04 2015 +0200 drm/i915: Allocate a crtc_state also when the crtc is being disabled For consistency, allocate a new crtc_state for a crtc that is being disabled. Previously only the enabled value of the current state would change. v2: Rebase on v5 of previous patch. (Ander) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Resolve rebase conflict.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 526ebc3f56491fe971cd2b51cfc859a879e11e93 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:18 2015 -0400 serial: earlycon: Ignore parse_options() error code Because setup_earlycon() continues to attempt console registration if an error occurred parsing the option string, the actual value of the error code from parse_options() is ignored. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd385e9a2a2daa7e74003f930886e4c1cdf032f4 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:17 2015 -0400 serial: 8250_early: Fix setup() error code If parsing failed to decode a valid uart addr, return -ENODEV instead of success. Although setup_earlycon() will detect the failure anyway (because the write() method has not been set), that behavior is not obvious and should not be relied on. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e3e143e5d1e7be65331cdf6d100b08bc6c15b72 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:16 2015 -0400 serial: 8250_early: Assume uart already initialized if no baud option The <baud><parity><bit> option string is not supplied if the earlycon is started via devicetree and OF_EARLYCON_DECLARE(). The option string is also not required if started via kernel command line parameters of the form: earlycon=uart,mmio,<addr> console=uart,mmio,<addr> If earlycon_device->baud is 0, then an option string was not supplied. In this case, assume the uart has already been initialized by the bootloader or firmware. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit feed5bab0d33feb5dbe5365b34d044c79f93dc6b Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:15 2015 -0400 serial: earlycon: Move ->uartclk initialize Initializing the ->uartclk field is not related to option parsing; relocate from parse_options() to setup_earlycon() (which mirrors the behavior of of_setup_earlycon()). Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0d654ce53ab34f9306630ebcbfc477a994ea662 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:14 2015 -0400 serial: 8250_early: Remove early_device variable early_device was only required for serial8250_find_port_for_earlycon(), which was replaced by extensible console matching. Fixup early_serial8250_write() to get the earlycon_device * from console->data (which is initialized by {of_}setup_earlycon()). Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cfe42b7fd299723b521b5b4bd8019a611366c5e Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:13 2015 -0400 serial: core: Fix kernel doc for uart_console_write() '/**' is required to start a kernel-doc comment block. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7cef0a84912cab3c9df8949b034e4aa62982ec9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 16:27:12 2015 -0400 console: Add extensible console matching Add match() method to struct console which allows the console to perform console command line matching instead of (or in addition to) default console matching (ie., by fixed name and index). The match() method returns 0 to indicate a successful match; normal console matching occurs if no match() method is defined or the match() method returns non-zero. The match() method is expected to set the console index if required. Re-implement earlycon-to-console-handoff with direct matching of "console=uart|uart8250,..." to the 8250 ttyS console. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83a57153f5de299c7672d0cb241289c349b784d4 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:03 2015 +0200 drm/i915: Allocate a drm_atomic_state for the legacy modeset code For the atomic conversion, the mode set paths need to be changed to rely on an atomic state instead of using the staged config. By using an atomic state for the legacy code, we will be able to convert the code base in small chunks. v2: Squash patch that adds stat argument to intel_set_mode(). (Ander) Make every caller of intel_set_mode() allocate state. (Daniel) Call drm_atomic_state_clear() in set config's error path. (Daniel) v3: Copy staged config to atomic state in force restore path. (Ander) v4: Don't update ->new_config for disabled pipes in __intel_set_mode(), since it is expected to be NULL in that case. (Ander) v5: Don't change return type of intel_modeset_pipe_config(). (Chandra) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [danvet: Remove spurious ret local variable due to changes in v5.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e13cb72beeada6f6ac12058b9129334e3bb5ce85 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:05 2015 -0500 serial: 8250: Decouple core from skip_txen_test module param Prepare for 8250 split; initialize the port flags based on the "skip_txen_test" module param to use the existing flag test. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d81e50f6161ea169a14fbc17a94cd4943f5d8df6 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:04 2015 -0500 serial: 8250: Move ns16550a_goto_hispeed() to local header Prepare for 8250_core.c file split; move shared inline function to local header file. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5db496b9c808270e9e569fa721d1ecdd8f145142 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:03 2015 -0500 serial: 8250: Simplify capabilities reset at port unregister Since uart->port.type has just reset to PORT_UNKNOWN, capabilities are reset to uart_config[PORT_UNKNOWN].flags, which is 0. Removes unnecessary dependency on uart_config[]. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6e98ceff34d398ca98b78f90966b6b90f668b68 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:02 2015 -0500 serial: 8250: Remove duplicate ->handle_irq initialization set_io_from_upio() already initializes ->handle_irq to serial8250_default_handle_irq. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51c39814b6b23c0d7b0c47ba9236248576a164ad Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:01 2015 -0500 serial: 8250: Compute ttyS index from port minor Prepare for 8250 split; calculate the ttyS index directly from the port minor which avoids the global serial8250_reg reference from base port operations. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ef320319592693f4a6286d80df210fd47b3e356 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Mar 26 15:09:20 2015 +0000 ARM64 / ACPI: fix usage of acpi_map_gic_cpu_interface acpi_parse_gic_cpu_interface calls acpi_map_gic_cpu_interface by both passing a 32-bit value in the u8 enabled parameter and then subsequently ignoring its return value. Sort it out. Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fb094eb19900937322848beaf1a622c6afb6250b Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Wed Mar 25 15:22:13 2015 +0000 ARM64: kernel: acpi: honour acpi=force command line parameter If acpi=force is passed on the command line, it forces ACPI to be the only available boot method, hence it must be left enabled even if the initialization and sanity checks on ACPI tables fails. This patch refactors ACPI initialization to prevent disabling ACPI if acpi=force is passed on the command line. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 54971e43b9d6cb37366d2da64cc5a2d8f8102bc4 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Wed Mar 25 15:13:56 2015 +0000 ARM64: kernel: acpi: refactor ACPI tables init and checks Current ACPI init code on ARM64 relies on acpi_table_parse() API to check if the FADT is present and to carry out sanity checks on that. The handler passed to the acpi_table_parse() function and used to carry out the parsing on the requested table returns a value that is ignored by the acpi_table_parse() function, so it is not possible to propagate errors back to the acpi_table_parse() caller through the handler. This forces ARM64 ACPI init code to have disable_acpi() calls scattered all over the place that makes code unwieldy and not easy to follow. This patch refactors the ARM64 ACPI init code, by creating a self-contained function (ie acpi_fadt_sanity_check()) that carries out the required checks on FADT and returns an adequate return value to the caller. This allows creating a common error path that disables ACPI and makes code more readable and easy to parse and change were further checks FADT to be added in the future. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d9895571877e965a9f3e18a2a30611322099ae30 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Mar 24 17:58:53 2015 +0000 ARM64: kernel: psci: let ACPI probe PSCI version PSCI v0.2+ allows the kernel to probe the PSCI firmware version. This patch replaces the default initialization of PSCI v0.2+ functions with code that allows probing PSCI firmware version and initializes PSCI functions accordingly. Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 48eb3c8a8b4fffb48f64019e1f68a7de4db4cc43 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Mar 24 17:58:52 2015 +0000 ARM64: kernel: psci: factor out probe function PSCI v0.2+ versions provide a specific PSCI call (PSCI_VERSION) to detect the PSCI version at run-time. Current PSCI v0.2 init code carries out the version probing in the PSCI 0.2 DT init function, but the version probing does not depend on DT so it can be factored out in order to make it available to other boot mechanisms (ie ACPI) to reuse. The psci_probe() probing function can be easily extended to add detection and initialization of PSCI functions defined in PSCI versions >0.2. Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d8f4f161e31f3ee9768467344e6cc31a0b9d9249 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Mar 24 17:58:51 2015 +0000 ACPI: move arm64 GSI IRQ model to generic GSI IRQ layer The code deployed to implement GSI linux IRQ numbers mapping on arm64 turns out to be generic enough so that it can be moved to ACPI core code along with its respective config option ACPI_GENERIC_GSI selectable on architectures that can reuse the same code. Current ACPI IRQ mapping code is not integrated in the kernel IRQ domain infrastructure, in particular there is no way to look-up the IRQ domain associated with a particular interrupt controller, so this first version of GSI generic code carries out the GSI<->IRQ mapping relying on the IRQ default domain which is supposed to be always set on a specific architecture in case the domain structure passed to irq_create/find_mapping() functions is missing. This patch moves the arm64 acpi functions that implement the gsi mappings: acpi_gsi_to_irq() acpi_register_gsi() acpi_unregister_gsi() to ACPI core code. Since the generic GSI<->domain mapping is based on IRQ domains, it can be extended as soon as a way to map an interrupt controller to an IRQ domain is implemented for ACPI in the IRQ domain layer. x86 and ia64 code for GSI mappings cannot rely on the generic GSI layer at present for legacy reasons, so they do not select the ACPI_GENERIC_GSI config options and keep relying on their arch specific GSI mapping layer. Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Acked-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 33757ded074918eb49243968a82e7c9ec2d71720 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:56 2015 +0000 ARM64 / ACPI: Don't unflatten device tree if acpi=force is passed Since the policy is that once we pass acpi=force in the early param, we will not unflatten device tree even if ACPI is disabled in ACPI table init fails, so fix the code by comparinging both acpi_disabled and param_acpi_force before the device tree is unflattened. CC: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 735f00bdf23c427af0f54a9e672a93b5d3723f60 Author: Al Stone <al.stone@xxxxxxxxxx> Date: Tue Mar 24 14:02:55 2015 +0000 ARM64 / ACPI: additions of ACPI documentation for arm64 One more documentation file are also being added: A section by section review of the ACPI spec (acpi_object_usage.txt) to note recommendations and prohibitions on the use of the numerous ACPI tables and objects. This sets out the current expectations of the firmware by Linux very explicitly (or as explicitly as I can, for now). CC: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> CC: Yi Li <phoenix.liyi@xxxxxxxxxx> CC: Mark Langsdorf <mlangsdo@xxxxxxxxxx> CC: Ashwin Chaugule <ashwinc@xxxxxxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit dc81f2cfaa7f536e9900080cdc63e403440b670b Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:54 2015 +0000 Documentation: ACPI for ARM64 Add documentation for the guidelines of how to use ACPI on ARM64. Reviewed-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Reviewed-by: Yi Li <phoenix.liyi@xxxxxxxxxx> Reviewed-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Reviewed-by: Ashwin Chaugule <ashwinc@xxxxxxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b6a0217371317298c900f0e0f84afb04312d5af0 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:53 2015 +0000 ARM64 / ACPI: Enable ARM64 in Kconfig Add Kconfigs to build ACPI on ARM64, and make ACPI available on ARM64. acpi_idle driver is x86/IA64 dependent now, so make CONFIG_ACPI_PROCESSOR depend on X86 || IA64, and implement it on ARM64 in the future. CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 42068cfd652843bdb61c374cf3582c4c0643483b Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:52 2015 +0000 XEN / ACPI: Make XEN ACPI depend on X86 When ACPI is enabled on ARM64, XEN ACPI will also compiled into the kernel, but XEN ACPI is x86 dependent, so introduce CONFIG_XEN_ACPI to make it depend on x86 before XEN ACPI is functional on ARM64. CC: Julien Grall <julien.grall@xxxxxxxxxx> CC: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> CC: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> CC: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6933de0ca0b7656db94f67731c8c53c7dcacae3a Author: Al Stone <al.stone@xxxxxxxxxx> Date: Tue Mar 24 14:02:51 2015 +0000 ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 ACPI reduced hardware mode is disabled by default, but ARM64 can only run properly in ACPI hardware reduced mode, so select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64. If the firmware is not using hardware reduced ACPI mode, we will disable ACPI to avoid nightmare such as accessing some registers which are not available on ARM64. CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b09ca1ecf6d499d5a33f978c905d2fbcc79b55d9 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:50 2015 +0000 clocksource / arch_timer: Parse GTDT to initialize arch timer Using the information presented by GTDT (Generic Timer Description Table) to initialize the arch timer (not memory-mapped). CC: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Originally-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d60fc3892c4de4a25658786f941690462c5a5bab Author: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Date: Tue Mar 24 14:02:49 2015 +0000 irqchip: Add GICv2 specific ACPI boot support ACPI kernel uses MADT table for proper GIC initialization. It needs to parse GIC related subtables, collect CPU interface and distributor addresses and call driver initialization function (which is hardware abstraction agnostic). In a similar way, FDT initialize GICv1/2. NOTE: This commit allow to initialize GICv1/2 basic functionality. While now simple GICv2 init call is used, any further GIC features require generic infrastructure for proper ACPI irqchip initialization. That mechanism and stacked irqdomains to support GICv2 MSI/virtualization extension, GICv3/4 and its ITS are considered as next steps. CC: Jason Cooper <jason@xxxxxxxxxxxxxx> CC: Marc Zyngier <marc.zyngier@xxxxxxx> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fbe61ec71ac975279cd47b6c299d5e33f63aac4e Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:48 2015 +0000 ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi Introduce ACPI_IRQ_MODEL_GIC which is needed for ARM64 as GIC is used, and then register device's gsi with the core IRQ subsystem. acpi_register_gsi() is similar to DT based irq_of_parse_and_map(), since gsi is unique in the system, so use hwirq number directly for the mapping. We are going to implement stacked domains when GICv2m, GICv3, ITS support are added. CC: Marc Zyngier <marc.zyngier@xxxxxxx> Originally-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 020295b4cb5b7d510ea1f4531a502c3f8a2380c5 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:47 2015 +0000 ACPI / processor: Make it possible to get CPU hardware ID via GICC Introduce a new function map_gicc_mpidr() to allow MPIDRs to be obtained from the GICC Structure introduced by ACPI 5.1, since MPIDR for ARM64 is 64-bit, so typedef u64 for phys_cpuid_t. The ARM architecture defines the MPIDR register as the CPU hardware identifier. This patch adds the code infrastructure to retrieve the MPIDR values from the ARM ACPI GICC structure in order to look-up the kernel CPU hardware ids required by the ACPI core code to identify CPUs. CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 828aef376d7a129547bc4ebb949965040177e3da Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Tue Mar 24 14:02:46 2015 +0000 ACPI / processor: Introduce phys_cpuid_t for CPU hardware ID CPU hardware ID (phys_id) is defined as u32 in structure acpi_processor, but phys_id is used as int in acpi processor driver, so it will lead to some inconsistence for the drivers. Furthermore, to cater for ACPI arch ports that implement 64 bits CPU ids a generic CPU physical id type is required. So introduce typedef u32 phys_cpuid_t in a common file, and introduce a macro PHYS_CPUID_INVALID as (phys_cpuid_t)(-1) if it's not defined by other archs, this will solve the inconsistence in acpi processor driver, and will prepare for the ACPI on ARM64 for the 64 bit CPU hardware ID in the following patch. CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx> Suggested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> [hj: reworked cpu physid map return codes] Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 959801fef94b7ee66ea2c713229637a7e1770890 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:25:00 2015 -0500 serial: core: Add minor field to uart_port UART drivers that share ttyS namespace cannot trivially compute the ttyS index from the port->line value since the minor_start may be offset from minor 64. Further, to do so requires a pointer to the uart driver since there is no back pointer from uart_port to uart_driver. Rather than have UART drivers computing the minor value by themselves, encapsulate within the serial core at port registration time. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3157b2ca59ceb9ad1b72cad09535a343f315667 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Wed Feb 4 18:23:59 2015 +0000 tty/n_gsm: fix sparse warning this patch fixes following sparse warning: n_gsm.c:2827:22: warning: symbol 'tty_ldisc_packet' was not declared. Should it be static? Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1083a7be4504df8149015894c982ebaf69766ddc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 5 11:07:42 2015 +0100 tty: Use static attribute groups for sysfs entries Instead of manual calls of device_create_file() and device_remove_file(), pass the static attribute groups using device_create_with_groups(). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1569039db0062c47c97ca0bf0c86210d26b8f412 Author: Hao Liang <hliang1025@xxxxxxxxx> Date: Thu Mar 26 17:13:24 2015 +0800 bfin uart: it will hang when read current y count if not disable dma irq Add irq disable and enable in bfin_serial_rx_dma_timeout in case of system hang. This reverts part of commit 9642dbe73c8a ("serial: bfin-uart: avoid dead lock in rx irq handler in smp kernel"). Signed-off-by: Hao Liang <hliang1025@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3083ca2376a76072dc0071fb211de80b0ac44bd1 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 15:05:25 2015 +0800 c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback They are needed by other modules, the related error with allmodconfig: MODPOST 3327 modules ERROR: "L1P_cache_block_invalidate" [drivers/misc/lkdtm.ko] undefined! ERROR: "L1D_cache_block_writeback" [drivers/misc/lkdtm.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 2135115c938dcaba689a3780c0bffb6db1d05601 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 14:44:54 2015 +0800 c6x: kernel: setup: Export symbol memory_end It is needed by several modules, the related error with allmodconfig: MODPOST 3327 modules ERROR: "memory_end" [net/wireless/lib80211_crypt_tkip.ko] undefined! ERROR: "memory_end" [net/sunrpc/sunrpc.ko] undefined! ERROR: "memory_end" [net/sunrpc/auth_gss/rpcsec_gss_krb5.ko] undefined! ERROR: "memory_end" [net/rxrpc/rxkad.ko] undefined! ERROR: "memory_end" [net/mac802154/mac802154.ko] undefined! ERROR: "memory_end" [net/mac80211/mac80211.ko] undefined! ERROR: "memory_end" [net/ipv6/esp6.ko] undefined! ERROR: "memory_end" [net/ipv6/ah6.ko] undefined! ERROR: "memory_end" [net/ipv4/esp4.ko] undefined! ERROR: "memory_end" [net/ipv4/ah4.ko] undefined! ERROR: "memory_end" [net/ceph/libceph.ko] undefined! ERROR: "memory_end" [net/9p/9pnet_virtio.ko] undefined! ERROR: "memory_end" [drivers/usb/wusbcore/wusbcore.ko] undefined! ERROR: "memory_end" [drivers/usb/misc/usbtest.ko] undefined! ERROR: "memory_end" [drivers/usb/core/usbcore.ko] undefined! ERROR: "memory_end" [drivers/target/target_core_file.ko] undefined! ERROR: "memory_end" [drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko] undefined! ERROR: "memory_end" [drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko] undefined! ERROR: "memory_end" [drivers/net/virtio_net.ko] undefined! ERROR: "memory_end" [drivers/net/usb/usbnet.ko] undefined! ERROR: "memory_end" [drivers/net/ppp/ppp_mppe.ko] undefined! ERROR: "memory_end" [drivers/mtd/nand/nand.ko] undefined! ERROR: "memory_end" [drivers/mmc/card/mmc_block.ko] undefined! ERROR: "memory_end" [drivers/crypto/qce/qcrypto.ko] undefined! ERROR: "memory_end" [drivers/block/drbd/drbd.ko] undefined! ERROR: "memory_end" [drivers/block/aoe/aoe.ko] undefined! ERROR: "memory_end" [crypto/tcrypt.ko] undefined! ERROR: "memory_end" [crypto/gcm.ko] undefined! ERROR: "memory_end" [crypto/cts.ko] undefined! ERROR: "memory_end" [crypto/ccm.ko] undefined! ERROR: "memory_end" [crypto/authencesn.ko] undefined! ERROR: "memory_end" [crypto/authenc.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit d0f73520b3782a5447e9602f181daba6671e5cc7 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 14:12:52 2015 +0800 c6x: kernel: setup: Add screen_info global variable Or can not pass building with allmodconfig: LD init/built-in.o drivers/built-in.o: In function `vgacon_switch': vgacon.c:(.text+0x47f8): undefined reference to `screen_info' vgacon.c:(.text+0x4810): undefined reference to `screen_info' drivers/built-in.o: In function `vgacon_resize': vgacon.c:(.text+0x4ac8): undefined reference to `screen_info' vgacon.c:(.text+0x4acc): undefined reference to `screen_info' drivers/built-in.o: In function `vgacon_save_screen': vgacon.c:(.text+0x4cc8): undefined reference to `screen_info' drivers/built-in.o:vgacon.c:(.text+0x4cd0): more undefined references to `screen_info' follow Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit df93ab7552daf664ffa048704729e25f2aeb55ac Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 11:12:10 2015 +0800 c6x: include: asm: Kbuild: Add generic serial.h Or it will cause building break with allmodconfig: CC [M] drivers/tty/serial/8250/8250_core.o drivers/tty/serial/8250/8250_core.c:102:24: fatal error: asm/serial.h: No such file or directory Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 76e018925406b2fd619babc1a9a9e25456017109 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 11:09:35 2015 +0800 c6x: include: asm: dma-mapping: Add dummy dma_sync_single_range_for_device c6x does not implement get_dma_ops() for dma-mapping-common.h. And in dma-mapping-common.h, dma_sync_single_range_for_device() may be dummy. So c6x can just define a dummy function for allmodconfig building. CC [M] drivers/net/ethernet/micrel/ks8851.o drivers/net/ethernet/micrel/ks8842.c: In function 'ks8842_tx_frame_dma': drivers/net/ethernet/micrel/ks8842.c:453:2: error: implicit declaration of function 'dma_sync_single_range_for_device' [-Werror=implicit-function-declaration] dma_sync_single_range_for_device(adapter->dev, ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 9bd54f64afa4da93d8f5751d80466ab3d660b51c Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 06:06:26 2015 +0800 c6x: include: asm: setup: Include "linux/types.h" Some modules may assume "asm/setup.h" already include all headers which needed by itself. So need let "asm/setup.h" include "linux/types.h", the related error: C [M] drivers/input/joydev.o In file included from include/asm-generic/page.h:23:0, from ./arch/c6x/include/asm/page.h:9, from include/asm-generic/io.h:14, from arch/c6x/include/generated/asm/io.h:1, from drivers/input/joydev.c:15: ./arch/c6x/include/asm/setup.h:17:27: error: unknown type name 'phys_addr_t' extern int c6x_add_memory(phys_addr_t start, unsigned long size); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 06745d74e46a8dffa768e43b54835aa94903550a Author: Chen Gang <762976180@xxxxxx> Date: Tue Mar 3 07:24:26 2015 +0800 c6x: asm: Add default flat.h according to xtensa architecture For supporting uClinux flat-format executables, c6x needs to define the fewest features to support it, at present, xtensa architecture has the fewest feature for it, so just copy xtensa flat.h. The related error: CC fs/binfmt_flat.o In file included from fs/binfmt_flat.c:36:0: include/linux/flat.h:12:22: fatal error: asm/flat.h: No such file or directory Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 1a394e1a36aa9f47b411a8e4cb53dfca6f134401 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 04:55:06 2015 +0800 c6x: kernel: setup: Remove 'const' for local variables in machine_init early_init_dt_scan() accepts "void *", the related warning: CC arch/c6x/kernel/setup.o arch/c6x/kernel/setup.c: In function 'machine_init': arch/c6x/kernel/setup.c:290:21: warning: passing argument 1 of 'early_init_dt_scan' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] early_init_dt_scan(fdt); ^ In file included from arch/c6x/kernel/setup.c:19:0: include/linux/of_fdt.h:75:13: note: expected 'void *' but argument is of type 'const void *' extern bool early_init_dt_scan(void *params); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 1d2a64bd2da6034036fff9ad9b41682516f79fa3 Author: Chen Gang <762976180@xxxxxx> Date: Tue Mar 3 06:33:42 2015 +0800 c6x: Makefile: Add -D__linux__ For gcc5 c6x raw compiler, at present, it may not define __linux__, so c6x kernel still needs to define __linux__ just like another archs have done. The related error: CC [M] fs/coda/psdev.o In file included from include/linux/coda.h:64:0, from fs/coda/psdev.c:45: include/uapi/linux/coda.h:221:2: error: unknown type name 'u_quad_t' u_quad_t va_size; /* file size in bytes */ ^ include/uapi/linux/coda.h:229:2: error: unknown type name 'u_quad_t' u_quad_t va_bytes; /* bytes of disk space held by file */ ^ include/uapi/linux/coda.h:230:2: error: unknown type name 'u_quad_t' u_quad_t va_filerev; /* file modification number */ ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit f4831605f2dacd12730fe73961c77253cc2ea425 Author: Nishanth Menon <nm@xxxxxx> Date: Sat Mar 7 03:39:05 2015 -0600 C6x: time: Ensure consistency in __init time_init invokes timer64_init (which is __init annotation) since all of these are invoked at init time, lets maintain consistency by ensuring time_init is marked appropriately as well. This fixes the following warning with CONFIG_DEBUG_SECTION_MISMATCH=y WARNING: vmlinux.o(.text+0x3bfc): Section mismatch in reference from the function time_init() to the function .init.text:timer64_init() The function time_init() references the function __init timer64_init(). This is often because time_init lacks a __init annotation or the annotation of timer64_init is wrong. Fixes: 546a39546c64 ("C6X: time management") Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 7be5ac2c32bd26c47a05367c0135cb6e67b3d452 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Thu Mar 26 14:16:22 2015 +0000 power/reset: at91: big endian fixes for atsama5d3x Fix the passing of big endian data to routines that will be writing it to the bus in the wrong order. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit eea2e596069ecd48b7b83108ac863824f113410a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Mar 17 13:36:17 2015 +0100 mfd: sec-core: Enable RTC on S2MPS11 PMIC The S2MPS11 PMIC (present on Arndale Octa board) has the same RTC module as S2MPS14 device. Add respective mfd cell to enable it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 908725d541a46d76d488bcbacdb131b16d59331b Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:21:36 2015 +0100 mfd: Constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 48579a9ae8d2034215d15912c863be36166696ed Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Mar 16 11:20:49 2015 -0400 mfd: dln2: Use msecs_to_jiffies for time conversion Converting milliseconds to jiffies by "val * HZ / 1000" is technically OK but msecs_to_jiffies(val) is the cleaner solution and handles all corner cases correctly. This is a minor API consolidation only and should make things more readable. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1422731dbc14063fc7083cb090108c0d95267361 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Mar 19 15:52:45 2015 +0100 mfd: tc3589x: Enforce device-tree only mode All systems using the TC3589x multifunction expander uses devicetree, so don't clutter the place with a lot of and assume it is there. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 49172fee6173d213cf711bfad751e1b38e8fdaaf Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:02 2015 +0200 drm/i915: Pass acquire ctx also to intel_release_load_detect_pipe() For now this is not necessary since intel_set_mode() doesn't acquire any new locks. However, once that function is converted to atomic, that will change, since we'll pass an atomic state to it, and that needs to have the right acquire context set. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10f81c194a78915f47aa5a17756b6492be133251 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri Mar 20 16:18:01 2015 +0200 drm/i915: Add intel_atomic_get_crtc_state() helper function The pattern of getting the crtc state with drm_atomic_get_crtc_state() and then converting it to intel_crtc_state will repeat quite often in the following patches, so add a helper function to save some typing. v2: Fix upcasting so that crtc_state base field could be moved. (Daniel) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 552e19d8764aeea3ecdf6cf29e22d6b99a505091 Author: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Date: Wed Feb 18 13:33:21 2015 +0200 firmware: dmi_scan: Use direct access to static vars There is no reason to pass static vars to function that can use only them. The dmi_table() can use only dmi_len and dmi_num static vars, so use them directly. In this case we can freely change their type in one place and slightly decrease redundancy. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 7c27f78a297b54c3c2f5075cb15d33431b7f6333 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 14:58:13 2015 -0400 tools lib traceevent: Zero should not be considered "not found" in eval_flag() Guilherme Cox found that: There is, however, a potential bug if there is an item with code zero that is not the first one in the symbol list, since eval_flag(..) returns 0 when it doesn't find anything. That is, if you have the following enums: enum { FOO_START = 0, FOO_GO = 1, FOO_END = 2 } and then have: __print_symbolic(foo, FOO_GO, "go", FOO_START, "start", FOO_END, "end") If none of the enums are known to pevent, then eval_flag() will return zero, and it will match it to the first item in the list, which would be FOO_GO, which is not zero. Luckily, in most cases, the first element would be zero, and the parsing would match out of sheer luck. Reported-by: Guilherme Cox <cox@xxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324145813.0bfe95ba@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6ebad5c101de0d43dafc9aff88bad45819f10470 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Mar 25 18:01:15 2015 -0300 perf trace: Fix syscall enter formatting bug commit e596663ebb28a068f5cca57f83285b7b293a2c83 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Feb 13 13:22:21 2015 -0300 perf trace: Handle multiple threads better wrt syscalls being intermixed Introduced a bug where it considered the number of bytes output directly to the output file when formatting the syscall entry buffer that is stored to be finally printed at syscall exit, ending up leaving garbage at the start of syscalls that appeared while another syscall was being processed, in another thread. Fix it. Example of garbage in the output before this patch: 4280.102 ( 0.000 ms): lsmd/763 ... [continued]: select()) = 0 Timeout 4280.107 (275.250 ms): tuned/852 select(tvp: 0x7f41f7ffde50 ) ... 4280.109 ( 0.002 ms): lsmd/763 Xl�� ) = -10 4639.197 ( 0.000 ms): systemd-journa/542 ... [continued]: epoll_wait()) = 1 4639.202 (359.088 ms): lsmd/763 select(n: 6, inp: 0x7ffff21daad0, tvp: 0x7ffff21daac0) ... 4639.207 ( 0.005 ms): systemd-journa/542 Hn�� ) = 106 4639.221 ( 0.002 ms): systemd-journa/542 uname(name: 0x7ffdbaed8e00) = 0 4639.271 ( 0.008 ms): systemd-journa/542 ftruncate(fd: 11</run/log/journal/60cd52417cf440a4a80107518bbd3c20/system.journal>, length: 50331648) = 0 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-9ckfe8mvsedgkg6y80gz1ul8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6428c59a97de7c3d88fc4e66317daea5e5008758 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Tue Mar 24 12:10:55 2015 -0400 perf tools: Set JOBS based on CPU or processor Number of JOBS to use is set automatically to the number of processors found in /proc/cpuinfo. SPARC uses 'CPU' lines rather than 'processor'. Update the check in perf's Makefile to work for SPARC. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427213455-127249-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4d255766d28b1fecec7e00ab4166b2c17bfc37be Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Tue Mar 24 12:10:38 2015 -0400 perf: Bump max number of cpus to 1024 SPARC based systems currently support up to 1024 cpus (e.g. T5-8). Allow perf to work on those systems. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427213438-127216-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 23d4aad48e31d3269af484dd2f9bd251278cd667 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 24 19:23:47 2015 -0300 perf evlist: Return the first evsel with an invalid filter in apply_filters() Use of a bad filter currently generates the message: Error: failed to set filter with 22 (Invalid argument) Add the event name to make it clear to which event the filter failed to apply: Error: Failed to set filter "foo" on event sched:sg_lb_stats: 22: Invalid argument To test it use something like: # perf record -e sched:sched_switch -e sched:*fork --filter parent_pid==1 -e sched:*wait* --filter bla usleep 1 Error: failed to set filter "bla" on event sched:sched_stat_iowait with 22 (Invalid argument) # Based-on-a-patch-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d7gq2fjvaecozp9o2i0siifu@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e94eedab3ab8201fd41480171b2fabbf3c5b1ae0 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Tue Mar 24 16:14:09 2015 -0400 perf timechart: Fix SIBGUS error on sparc64 perf timechart -T on sparc64 is terminating due to SIGBUS. Backtrace: Program received signal SIGBUS, Bus error. 0x0000000000173d7c in perf_evsel__intval (evsel=<value optimized out>, sample=0x7feffffda28, name=0x289b28 "prev_state") at util/evsel.c:1918 1918 util/evsel.c: No such file or directory. in util/evsel.c Missing separate debuginfos, use: debuginfo-install audit-libs-2.3.7-1.0.1.el6.sparc64 bzip2-libs-1.0.5-7.el6_0.sparc64 elfutils-libelf-0.155-2.0.3.el6.sparc64 elfutils-libs-0.155-2.0.3.el6.sparc64 glibc-2.12-1.132.0.8.el6_5.sparc64 numactl-2.0.7-8.el6.sparc64 python-libs-2.6.6-52.0.2.el6.sparc64 slang-2.2.1-1.el6.sparc64 xz-libs-4.999.9-0.3.beta.20091007git.el6.sparc64 zlib-1.2.3-29.el6.sparc64 (gdb) bt 0 0x0000000000173d7c in perf_evsel__intval (evsel=<value optimized out>, sample=0x7feffffda28, name=0x289b28 "prev_state") at util/evsel.c:1918 1 0x0000000000123b94 in process_sample_sched_switch (tchart=0x7feffffe040, evsel=0x4ca850, sample=0x7feffffda28, backtrace=0xc39010 "") at builtin-timechart.c:627 2 0x0000000000122828 in process_sample_event (tool=0x7feffffe040, event=<value optimized out>, sample=0x7feffffda28, evsel=0x4ca850, machine=0x4c9c88) at builtin-timechart.c:569 Another extended load on unaligned pointer. As before fix by copying to a temporary variable using memcpy. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427228049-51893-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 95be58df74a5b21e5a78e45fddb2fd59112524c5 Author: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Date: Wed Feb 18 13:33:20 2015 +0200 firmware: dmi_scan: Use full dmi version for SMBIOS3 New SMBIOS3 spec adds additional field for versioning - docrev. The docrev identifies the revision of a specification implemented in the table structures, so display SMBIOSv3 versions in format, like "3.22.1". In case of only 32 bit entry point for versions > 3 display dmi version like "3.22.x" as we don't know the docrev. In other cases display version like it was. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 88595ac9ad199fc2e09270ec92e1ff0806033b83 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Mar 26 12:42:24 2015 +0100 drm/i915: always preserve bios swizzling Currently we only set preserve_bios_swizzling when the initial fb is shared and totally miss the single-screen case. Fix this by consolidating all the logic for both cases. This seems to go back to when swizzle preservation was originally merged in commit d9ceb8163339134bd3ffb9fb87a0db4698283e32 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Thu Oct 9 12:57:43 2014 -0700 drm/i915: preserve swizzle settings if necessary v4 Cc: Kristian Høgsberg <hoegsberg@xxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f6936e2902a7a6be52112e735a280aa2155b2c71 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Mar 26 12:17:05 2015 +0100 drm/i915: Add initial_ prefix to bios fb takeover code In spirit with commit 5724dbd1678e2f573b13f0688277941fad66cb88 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jan 20 12:51:52 2015 +0000 drm/i915: Rename plane_config to initial_plane_config to make it clear that this code is all special-purpose for the initial plane takeover. Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8bc174e9e3079b2475fb09e244f71fd57de7a802 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Mar 26 14:18:34 2015 +0100 ALSA: hda - Handle a few verbs as read-only Although they can be written, handle a few verbs as read-only in regmap interface: CONFIG_DEFAULT, CONV and CVT_CHAN_COUNT. These are either updated in PCM or HDMI management code in a volatile manner, or just needed only as parameter, thus they don't need to be written at resume sync. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8ee775f92c8af2eb1626d39f06feac04fe0cb6e0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Mar 25 12:54:26 2015 -0700 staging: rts5208: Remove RTSX_READ_REG and RTSX_WRITE_REG macros Macros with hidden flow control are bad form as the code path taken can be unexpected for the reader. Expand these in-place and remove the macros. Done with coccinelle script: @@ expression chip; expression arg1; expression arg2; expression arg3; @@ - RTSX_WRITE_REG(chip, arg1, arg2, arg3); + retval = rtsx_write_register(chip, arg1, arg2, arg3); + if (retval) { + rtsx_trace(chip); + return retval; + } @@ expression chip; expression arg1; expression arg2; @@ - RTSX_READ_REG(chip, arg1, arg2); + retval = rtsx_read_register(chip, arg1, arg2); + if (retval) { + rtsx_trace(chip); + return retval; + } Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 031366ea65495f787eb792a135f51c093d75a197 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Mar 25 12:54:25 2015 -0700 staging: rts5208: Remove TRACE_RET and TRACE_GOTO macros Remove these flow hiding macros. Miscellanea: o Add a macro and function to replace a large inline o Simplify #includes o Add trace.c and update Makefile o Remove static inline filename function and use kbasename instead This reduces object size quite a lot: ~350KB (x86-64 allyesconfig) $ size drivers/staging/rts5208/built-in.o* text data bss dec hex filename 248385 36728 77888 363001 589f9 drivers/staging/rts5208/built-in.o.new 506691 83352 115896 705939 ac593 drivers/staging/rts5208/built-in.o.old Done via coccinelle script and some typing. @@ expression chip; expression ret; @@ - TRACE_RET(chip, ret); + rtsx_trace(chip); + return ret; @@ expression chip; identifier label; @@ - TRACE_GOTO(chip, label); + rtsx_trace(chip); + goto label; Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da3c8deef6b392cfe9d19645de2fec9fc2005522 Author: Niranjan Dighe <niranjan.dighe@xxxxxxxxx> Date: Wed Mar 25 00:46:33 2015 +0530 Staging: rtl8188eu: replace kzalloc and memcpy by kmemdup This was generated by 'make coccicheck' using scripts at scripts/coccinelle/api/memdup.cocci. Signed-off-by: Niranjan Dighe <niranjan.dighe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90403aa118fe5e9f0e5bed1acc3fa2406237f9cb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Mar 24 16:06:44 2015 -0700 staging: rtl8723au: Update RT_TRACE macro and uses Create an rt_trace function using %pV to reduce overall code size. Update the macro uses to remove unnecessary and now harmful parentheses. Miscellanea around these changes: o Coalesce formats o Realign arguments o Remove commented-out RT_TRACE uses o Spelling fixes in formats o Add missing newlines to formats o Remove multiple newlines from formats o Neaten formats where noticed o Use %pM in one instance Reduces code size ~20KB Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73454eaf2032c64f1d863ac7e91304e4bf903bfb Author: Eddie Kovsky <ewk@xxxxxxxxxxxx> Date: Wed Mar 25 22:16:11 2015 -0600 Staging: rtl8192 Clean up function definition Change function definition to match its prototype declaration. This fixes the following warning generated by sparse: drivers/staging/rtl8192u/r8192U_core.c:1970:6: warning: symbol 'rtl8192_update_ratr_table' was not declared. Should it be static? Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9e048cdd260a1e7f9f2e25cb2bad46521812d99 Author: Cihangir Akturk <cakturk@xxxxxxxxx> Date: Tue Mar 24 21:53:53 2015 +0200 staging: rtl8192u: Fix static decleration sparse warning. The function 'ieee80211_check_auth_response' is used only in this file, so make it static. This patch fixes the following sparse warning. 'ieee80211_check_auth_response' was not declared. Should it be static? Signed-off-by: Cihangir Akturk <cakturk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 330b5e80efcace88663b93bdd5ee41013284cb52 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Mar 21 02:15:32 2015 +0300 staging: ozwpan: implement error handling in ozwpan_init() Errors are correctly handled in oz_cdev_register() and oz_protocol_init(), but then they are ignored in ozwpan_init(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c181be7f32d168f5deb85bffc7f874a4b36daeee Author: Matteo Semenzato <mattew8898@xxxxxxxxx> Date: Fri Mar 20 20:41:45 2015 +0100 Staging: rtl8188eu: remove dead code The condition pxmitpriv->hwxmit_entry == 5 is always false because HWXMIT_ENTRY is always 4. Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea07278681c9738b8da96670be20898cd40c7bfe Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Mar 24 11:10:09 2015 -0700 staging: rtl8723au: Remove uses of MAC_FMT and MAC_ARG Use the standard vsprintf kernel extension to format mac addresses. This reduces object code size a bit. Miscellanea: o Coalesce formats o Realign arguments o Remove the now unused MAC_FMT and MAC_ARG #defines Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92def781ee757ba384ecc618004a9419d04ea749 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Mar 21 11:48:37 2015 +0900 staging: fbtft: Fix typo in fbtft This patch fix spelling typo in comment and printk within fbtft Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4178549e4c477502e33e0cede28678faff44ad3e Author: Cláudio Maia <crrm@xxxxxxxxxxx> Date: Fri Mar 20 16:31:46 2015 +0000 Staging: fbtft: fb_pcd8544: Fix comments style This patch fixes the following errors by refactoring the comments' style: WARNING: line over 80 characters ERROR: code indent should use tabs where possible Signed-off-by: Cláudio Maia <crrm@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14cf23b155a343631adace6d41e5ace3cefb8339 Author: Cláudio Maia <crrm@xxxxxxxxxxx> Date: Fri Mar 20 16:31:45 2015 +0000 Staging: fbtft: fb_pcd8544: Fix warning line over 80 characters This patch fixes the following checkpatch warning: WARNING: line over 80 characters Signed-off-by: Cláudio Maia <crrm@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b143b5503a7ee5e9b6fdd97cb1cacc0d320786e Author: Kozhevnikov Anatoly <shilo.xyz@xxxxxxxxx> Date: Fri Mar 20 18:37:54 2015 +0300 staging: fbtft: Add support for ili9163 controller Driver for ili9163-based displays (for example: Nokia 5110) Signed-off-by: Kozhevnikov Anatoly <shilo.xyz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb422f3bbc47ebf30ea3862b6ade462ea8e81e56 Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Fri Mar 20 15:22:15 2015 +0000 staging: sm750fb: Remove spinlock helper function This patch removes the unnecessary spinlock helper function and instead calls spin_lock and spin_unlock directly. This does *not* resolve sparse warnings about context imbalances but these are spurious. Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35fb80b9de08024b375d76f08591ec5b7cc57995 Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Fri Mar 20 15:22:14 2015 +0000 staging: sm750fb: Fix __iomem pointer types This patch annotates pointers as referring to I/O mapped memory where they ought to be, removes now unnecessary ugly casts, eliminates an incorrect deref on I/O mapped memory by using iowrite16 instead, and updates the pointer arithmetic accordingly to take into account that the pointers are now byte-sized. This fixes the following sparse warnings:- drivers/staging/sm750fb/sm750_cursor.c:113:19: warning: cast removes address space of expression drivers/staging/sm750fb/sm750_cursor.c:204:19: warning: cast removes address space of expression Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ffbc9c6aa2c36cbdc584ef9669b9ef97c1283c1 Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Fri Mar 20 15:22:13 2015 +0000 staging: sm750fb: Remove unused function This patch removes the unused hw712_fillrect function. This patch fixes the following sparse warning:- drivers/staging/sm750fb/sm750_accel.c:95:5: warning: symbol 'hw712_fillrect' was not declared. Should it be static? Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cd919fc010043d67259ccf37ca5c5892582051e Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Mar 25 12:18:23 2015 -0700 drm/i915: Remove duplicated psr.active unset psr.active is being unset out of the if so this here is useless and duplicated. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5097f8c72a38128e99ae2869e397a2f43d0a0b51 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 25 18:30:38 2015 +0100 drm/i915: Fixup legacy plane->crtc link for initial fb config This is a very similar bug in the load detect code fixed in commit 9128b040eb774e04bc23777b005ace2b66ab2a85 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Mar 3 17:31:21 2015 +0100 drm/i915: Fix modeset state confusion in the load detect code But this time around it was the initial fb code that forgot to update the plane->crtc pointer. Otherwise it's the exact same bug, with the exact same restrains (any set_config call/ioctl that doesn't disable the pipe papers over the bug for free, so fairly hard to hit in normal testing). So if you want the full explanation just go read that one over there - it's rather long ... Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Reported-and-tested-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab585dea120fa20313b1b5a3be2b3d614f094678 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Mar 24 12:40:09 2015 -0700 drm/i915: kill i915.powersave This flag was being mostly used as a meta flag in some cases and not covering other cases. One of the risks is that it was masking some frontbuffer trackings without disabling PSR. So, better to kill this at once and avoid umbrella parameters. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Drop unused out: label to appease gcc.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d93abd15c84bd2598d0b59ab93f72bf3527cf51a Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Fri Mar 20 15:22:12 2015 +0000 staging: sm750fb: Make internal functions static This patch declares externally unavailable functions static. This fixes the following sparse warnings:- drivers/staging/sm750fb/ddk750_hwi2c.c:63:6: warning: symbol 'hwI2CWaitTXDone' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_hwi2c.c:93:14: warning: symbol 'hwI2CWriteData' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_hwi2c.c:160:14: warning: symbol 'hwI2CReadData' was not declared. Should it be static? Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3de08a2d14ff8c771b5f806d6186b4601b770f6f Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Fri Mar 20 15:22:11 2015 +0000 staging: sm750fb: Use memset_io instead of memset This patch takes into account that cursor->vstart, crtc->vScreen and share->pvMem are pointers to memory-mapped I/O and thus we should use memset_io to make this explicit. In addition, some architectures require special treatment of memory-mapped I/O so the previous code could actually break without this change. This fixes the following sparse warnings:- drivers/staging/sm750fb/sm750.c:489:17: warning: incorrect type in argument 1 (different address spaces) drivers/staging/sm750fb/sm750.c:490:17: warning: incorrect type in argument 1 (different address spaces) drivers/staging/sm750fb/sm750.c:501:17: warning: incorrect type in argument 1 (different address spaces) drivers/staging/sm750fb/sm750.c:502:17: warning: incorrect type in argument 1 (different address spaces) drivers/staging/sm750fb/sm750.c:833:5: warning: incorrect type in argument 1 (different address spaces) drivers/staging/sm750fb/sm750.c:1154:9: warning: incorrect type in argument 1 (different address spaces) Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 855fe6ea9600a6d4b406b0d66e86e6e60ace4ef4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 16:22:24 2015 +0530 staging: sm7xxfb: add MODULE_DEVICE_TABLE add MODULE_DEVICE_TABLE to support hot-plugging. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab6de685221a95392e46d75d0651ac08b8a57689 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:23:29 2015 -0800 UBI: align comment for readability The kerneldoc for @vid_hdr_aloffset continues onto a second line, but this is not obvious, because the second line isn't indented, and it begins with '@'. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 299d0c5b27346a77a0777c993372bf8777d4f2e5 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:23:28 2015 -0800 UBI: fix check for "too many bytes" The comparison from the previous line seems to have been erroneously (partially) copied-and-pasted onto the next. The second line should be checking req.bytes, not req.lnum. Coverity CID #139400 Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> [rw: Fixed comparison] Signed-off-by: Richard Weinberger <richard@xxxxxx> commit f16db8071ce18819fbd705ddcc91c6f392fb61f8 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:23:27 2015 -0800 UBI: initialize LEB number variable In some of the 'out_not_moved' error paths, lnum may be used uninitialized. Don't ignore the warning; let's fix it. This uninitialized variable doesn't have much visible effect in the end, since we just schedule the PEB for erasure, and its LEB number doesn't really matter (it just gets printed in debug messages). But let's get it straight anyway. Coverity CID #113449 Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d74adbdb9abf0d2506a6c4afa534d894f28b763f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:23:26 2015 -0800 UBI: fix out of bounds write If aeb->len >= vol->reserved_pebs, we should not be writing aeb into the PEB->LEB mapping. Caught by Coverity, CID #711212. Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 8eef7d70f7c6772c3490f410ee2bceab3b543fa1 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:23:25 2015 -0800 UBI: account for bitflips in both the VID header and data We are completely discarding the earlier value of 'bitflips', which could reflect a bitflip found in ubi_io_read_vid_hdr(). Let's use the bitwise OR of header and data 'bitflip' statuses instead. Coverity CID #1226856 Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 6be88670fc59d50426f90f734a36b90e1de7d148 Author: Clément Perrochaud <clement.perrochaud@xxxxxxx> Date: Mon Mar 9 11:12:05 2015 +0100 NFC: nxp-nci_i2c: Add I2C support to NXP NCI driver Add a module to the NXP-NCI driver to support NFC controllers with an I2C control interface, such as the NPC100. Signed-off-by: Clément Perrochaud <clement.perrochaud@xxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d6abc59ec8440cf3677a54d6fb12afbd20f70821 Author: Lai Siyao <lai.siyao@xxxxxxxxx> Date: Wed Mar 25 21:53:26 2015 -0400 staging/lustre/xattr: xattr data may be gone with lock held Xattr cached data may be gone, but lock still held, in this case, refetch xattr from server, otherwise client will return error. Signed-off-by: Lai Siyao <lai.siyao@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12952 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3544 Reviewed-by: Bobi Jam <bobijam@xxxxxxxxxxx> 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 3ce08cd7a281e11d83ac3f92832522cf4a2f549c Author: Niu Yawei <yawei.niu@xxxxxxxxx> Date: Wed Mar 25 21:53:25 2015 -0400 staging/lustre: update timestamps after buiding rpc The mtime/atime/ctime in the write RPC has to be updated after the RPC is built (where xid is generated), otherwise, it could race with the setattr and updating wrong timestamps on OST side. Seems this regression was introduced when landing clio code. Signed-off-by: Niu Yawei <yawei.niu@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/13261 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5951 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 a915ffda199013a8ee2dd6a8a23b89ea45879ed3 Author: Li Dongyang <dongyang.li@xxxxxxxxxx> Date: Wed Mar 25 21:53:24 2015 -0400 staging/lustre/llite: glimpse the inode before doing fiemap For a new inode, the i_size is 0 until a stat, which will yield an empty fiemap result. Fix the issue by glimpsing the size before doing fiemap. Signed-off-by: Li Dongyang <dongyang.li@xxxxxxxxxx> Signed-off-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/13439 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6091 Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 502cb58e2138dea3cef0da29021528172ff9fe58 Author: Andriy Skulysh <Andriy_Skulysh@xxxxxxxxxxx> Date: Wed Mar 25 22:07:07 2015 -0400 staging/lustre/ptlrpc: fix import state during replay Client doesn't restore import state correctly on reconnect during replay. It resends lock replay when final ping was queued by server. Server fails with "target_queue_recovery_request()) ASSERTION( req->rq_export->exp_lock_replay_needed ) failed" Add imp_replay_state to store last replay state. imp_state is restored from imp_replay_state during reconnect. Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xxxxxxxxxxx> Signed-off-by: Bob Glossman <bob.glossman@xxxxxxxxx> Xyratex-bug-id: MRP-2022 Reviewed-on: http://review.whamcloud.com/12163 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5651 Reviewed-by: Jian Yu <jian.yu@xxxxxxxxx> Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 397632e467d195a268ac3c5adfd7de32e92bd864 Author: Yang Sheng <yang.sheng@xxxxxxxxx> Date: Wed Mar 25 21:53:22 2015 -0400 staging/lustre/lov: don't crash accessing LOV object with FID{0, 0} Some object maybe has a corrupted LOV EA or a hole in LOV EA. We should not crash client in such case. Signed-off-by: Fan Yong <fan.yong@xxxxxxxxx> Signed-off-by: Yang Sheng <yang.sheng@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12740 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4958 Reviewed-by: Jian Yu <jian.yu@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 4345abb2c3b56eae9bcf4728dcdc0f584690c8aa Author: Bobi Jam <bobijam.xu@xxxxxxxxx> Date: Wed Mar 25 21:53:21 2015 -0400 staging/lustre/mgc: detach MGC dev on error lustre_start_mgc() creates MGC device, if error happens later on ll_fill_super(), this device is still attached, and later mount fails by keep complaining that the MGC device's already in the client node. It turns out that the device was referenced by mgc config llog data which is arranged in the mgc lock requeue thread re-trying to get its mgc lock, and in normal case, this llog reference only released in mgc_blocking_ast() when the system is umount. This patch make mgc_precleanup() to wake up requeue thread to handle the config llog data. This patch also makes mgc_setup() wait for mgc_requeue_thread() start before moving on. Signed-off-by: Bobi Jam <bobijam.xu@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11765 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4943 Reviewed-by: Ryan Haasken <haasken@xxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c8aa54aaf2c74a28a9e427bb27fd1a12fca8536 Author: Hongchao Zhang <hongchao.zhang@xxxxxxxxx> Date: Wed Mar 25 21:53:20 2015 -0400 staging/lustre/mgc: check the import stat for lprocfs in lprocfs_mgc_rd_ir_state, the import state should be checked the validity before doing further work. Signed-off-by: Hongchao Zhang <hongchao.zhang@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12896 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5650 Reviewed-by: Fan Yong <fan.yong@xxxxxxxxx> Reviewed-by: Niu Yawei <yawei.niu@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06fbc01a870eea4431ca340642da7bfd4a5a262e Author: Liang Zhen <liang.zhen@xxxxxxxxx> Date: Wed Mar 25 21:53:19 2015 -0400 staging/lustre/ptlrpc: false alarm in AT network latency measuring If early reply of client RPC is lost and client RPC is expired and resent, server will drop the resent RPC because it's already in processing, server may also send reply or early reply to client, which can still match reply buffer of the original request. In this case, client is measuring time from resent time, but server is reporting service time of original RPC, which is longer than the time measured by client. Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12855 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5545 Reviewed-by: Li Wei <wei.g.li@xxxxxxxxx> Reviewed-by: Johann Lombardi <johann.lombardi@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f42894004727ffdfb3b0826b0047eaf44cbdece6 Author: Christopher J. Morrone <morrone2@xxxxxxxx> Date: Wed Mar 25 21:53:18 2015 -0400 staging/lustre/mdc: Handle empty but non-zero acl xattr We have found that posix_acl_access can have a value of \002\000\000\000. In that case body->aclsize is non-zero, but the there are no actuall acls stored in the xattr. In mdc_unpack_acl(), it only checks IS_ERR() on the pointer returned by posix_acl_from_xattr(), it does not check for NULL. Because of the above situation, the xattr aclsize can be non-zero, but posic_acl_from_xattr() still returns NULL. Passing NULL to posix_acl_valid() crashes the kernel. We add a check to properly handle the NULL return value. Signed-off-by: Christopher J. Morrone <morrone2@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/11989 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5150 Reviewed-by: Fan Yong <fan.yong@xxxxxxxxx> Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc02e457bb86f7b6ffee3651bab22d104b60effb Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 14:08:50 2015 +0000 netfilter: nf_tables: implement set transaction support Set elements are the last object type not supporting transaction support. Implement similar to the existing rule transactions: The global transaction counter keeps track of two generations, current and next. Each element contains a bitmask specifying in which generations it is inactive. New elements start out as inactive in the current generation and active in the next. On commit, the previous next generation becomes the current generation and the element becomes active. The bitmask is then cleared to indicate that the element is active in all future generations. If the transaction is aborted, the element is removed from the set before it becomes active. When removing an element, it gets marked as inactive in the next generation. On commit the next generation becomes active and the therefor the element inactive. It is then taken out of then set and released. On abort, the element is marked as active for the next generation again. Lookups ignore elements not active in the current generation. The current set types (hash/rbtree) both use a field in the extension area to store the generation mask. This (currently) does not require any additional memory since we have some free space in there. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ea4bd995b0f2fc5677ff8085e92a5d2544b9937c Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 14:08:49 2015 +0000 netfilter: nf_tables: add transaction helper functions Add some helper functions for building the genmask as preparation for set transactions. Also add a little documentation how this stuff actually works. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b2832dd6621bf73eb8ad38389a94bd83a5983886 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 14:08:48 2015 +0000 netfilter: nf_tables: return set extensions from ->lookup() Return the extension area from the ->lookup() function to allow to consolidate common actions. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 61edafbb47e9f46fb850035b1f8f062564445704 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 14:08:47 2015 +0000 netfilter: nf_tables: consolide set element destruction With the conversion to set extensions, it is now possible to consolidate the different set element destruction functions. The set implementations' ->remove() functions are changed to only take the element out of their internal data structures. Elements will be freed in a batched fashion after the global transaction's completion RCU grace period. This reduces the amount of grace periods required for nft_hash from N to zero additional ones, additionally this guarantees that the set elements' extensions of all implementations can be used under RCU protection. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c61ac9791e357e0589f688a0a5ee4ad24f41cd84 Author: Bobi Jam <bobijam.xu@xxxxxxxxx> Date: Wed Mar 25 22:04:53 2015 -0400 staging/lustre/osc: shorten IO calling path By using osc_io_unplug_aync() for osc_queue_sync_pages() to shorten the IO calling path, to reduce the chance of stack overflow. Signed-off-by: Bobi Jam <bobijam.xu@xxxxxxxxx> Signed-off-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11612 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3188 Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Reviewed-by: Niu Yawei <yawei.niu@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dece45855a8b0d1dcf48eb01d0822070ded6a4c8 Author: Clément Perrochaud <clement.perrochaud@xxxxxxx> Date: Mon Mar 9 11:12:04 2015 +0100 NFC: nxp-nci: Add support for NXP NCI chips Add support for NXP NCI NFC controllers such as the NPC100 or PN7150 families. Signed-off-by: Clément Perrochaud <clement.perrochaud@xxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit de5160ffd279dc6e7fa070a4a3852c6c5be42f9c Author: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Date: Mon Mar 16 23:53:38 2015 +0100 ft1000-pcmcia: ft1000_hw.c: code refactoring: add ft1000_read_dsp_timer() Add new function ft1000_read_dsp_timer() replacing recurring code block for reading DSP timer. Such code refactoring solves all remaining "line over 80 characters" warnings reported by checkpatch.pl. Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21a1d41174a16c1bba8b43eb607ac031f31533ae Author: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Date: Mon Mar 16 23:53:37 2015 +0100 ft1000-pcmcia: ft1000_hw.c: fix style issues not requiring code refactoring Fix all the trivial style issues (as reported by checkpatch.pl) not requiring code refactoring. A following patch is expected to fix the remaining issues by performing some code refactoring. Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c20d92dad5db6440cfa88d811b69fd605240ce4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 24 16:29:32 2015 +0530 staging: panel: fix lcd type the lcd type as defined in the Kconfig is not matching in the code. as a result the rs, rw and en pins were getting interchanged. Kconfig defines the value of PANEL_LCD to be 1 if we select custom configuration but in the code LCD_TYPE_CUSTOM is defined as 5. my hardware is LCD_TYPE_CUSTOM, but the pins were assigned to it as pins of LCD_TYPE_OLD, and it was not working. Now values are corrected with referenece to the values defined in Kconfig and it is working. checked on JHD204A lcd with LCD_TYPE_CUSTOM configuration. Cc: <stable@xxxxxxxxxxxxxxx> # 2.6.32+ Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e43c9c75faf2902955bd2ecd7a50a8cc41cb00a Author: Alistair Strachan <alistair.strachan@xxxxxxxxxx> Date: Tue Mar 24 14:51:31 2015 -0700 staging: android: sync: Fix memory corruption in sync_timeline_signal(). The android_fence_release() function checks for active sync points by calling list_empty() on the list head embedded on the sync point. However, it is only valid to use list_empty() on nodes that have been initialized with INIT_LIST_HEAD() or list_del_init(). Because the list entry has likely been removed from the active list by sync_timeline_signal(), there is a good chance that this WARN_ON_ONCE() will be hit due to dangling pointers pointing at freed memory (even though the sync drivers did nothing wrong) and memory corruption will ensue as the list entry is removed for a second time, corrupting the active list. This problem can be reproduced quite easily with CONFIG_DEBUG_LIST=y and fences with more than one sync point. Signed-off-by: Alistair Strachan <alistair.strachan@xxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Colin Cross <ccross@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4ea80a6026a09aa0b59ec7443b901660f390550 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Wed Mar 25 07:54:12 2015 +0800 usb: host/sl811-hcd: fix platform_no_drv_owner.cocci warnings drivers/usb/host/sl811-hcd.c:1812:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25af01ed18a282e7d324e5694fe67b85ac412994 Author: Clément Perrochaud <clement.perrochaud@xxxxxxx> Date: Mon Mar 9 11:12:03 2015 +0100 NFC: nci: Add firmware download support A simple forward for firmware download (i.e. sending a new firmware to the NFC adapter) from the NFC subsystem to the drivers. This feature is required to update the firmware of NXP-NCI NFC controllers but can be used by any NCI driver. This feature has been present in the HCI subsystem since 9a695d. Signed-off-by: Clément Perrochaud <clement.perrochaud@xxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit db7869cabd4862d984cca91dee62c14d08ae5b03 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 20 16:28:08 2015 +0800 chipidea: pci: make it depends on NOP_USB_XCEIV After commit ba1aff67f99a (chipidea: pci: register nop PHY) the PCI glue driver requires nop-PHY to be selected. Thus, make it an explicit dependency. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: ba1aff67f99a (chipidea: pci: register nop PHY) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d728189d10a0bea28ecb0e9acde1ea517112d090 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Mar 20 16:28:07 2015 +0800 chipidea: introduce specific Kconfig options for glue drivers This patch introduces USB_CHIPIDEA_PCI and USB_CHIPIDEA_OF Kconfig options, one per each specific glue driver. This is needed to provide different dependencies they have. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a316ec4c91cfe03093d708369f9ab57000c96c3 Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Fri Mar 20 16:28:06 2015 +0800 usb: chipidea: use hrtimer for otg fsm timers Current otg fsm timers are using controller 1ms irq and count it, this patch is to replace it with hrtimer solution, use one hrtimer for all otg timers. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f8a467a11aeec61f5077cd337b4efe74847e1d3 Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Fri Mar 20 16:28:05 2015 +0800 usb: otg-fsm: move 2 otg fsm timers definition to otg_fsm_timer B_DATA_PLS(data-line pulse time) and B_SSEND_SRP(session end to SRP init) are also from OTG&EH 2.0 Specification and they are not chipidea specific. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01ecd156905f6bbfe4f5bd278325071f9141726d Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Fri Mar 20 16:28:04 2015 +0800 usb: chipidea: otg: remove unnecessary B_SESS_VLD timer Since BSV irq is enabled for B-device all the time, so B_SESS_VLD timer is not required, and also no need to check BSV status when B_ASE0_BRST timer timeout. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 963719c872a3a71bc2abf4d4899392acab93b09d Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 17:15:47 2015 +0100 USB: host: ohci-at91: remove useless uclk clock Now that the system clock driver is forwarding set_rate request to the parent clock, we can safely call clk_set_rate on the system clk and get rid of the uclk field. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85e8a0b9a3565c8185068b6b340cc8c6dd4411f4 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Mon Mar 23 14:34:43 2015 +0100 cdc-wdm: error returns need to be translated One more case of error codes not correctly being correctly returned to user space. Signed-off-by: Olive Neukum <oneukum@xxxxxxxx>0 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 323ece54e0761198946ecd0c2091f1d2bfdfcb64 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 14:29:34 2015 +0100 cdc-wdm: fix endianness bug in debug statements Values directly from descriptors given in debug statements must be converted to native endianness. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28965e17ee7a9591c241b831fee050d2391688c6 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 14:29:18 2015 +0100 cdc-wdm: unify error handling in write This makes sure the error handling path is the same for all error conditions, thus reducing code duplication. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>0 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4132cd02db180d018325e26bd145a509a14fcd6b Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 11:41:06 2015 +0100 cdc-acm: convert to not directly using urb->status A step on the road to passing status as a parameter Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c8074e90c7350f5e38caf1e8d73e98df4115403 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 11:25:17 2015 +0100 cdc-acm: surpress misleading message During the entry intro suspend a misleading message can be printed. Surpress it by checking the specific error. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>0 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36e59e0d70d6150e7a2155c54612ea875e88ce8d Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 09:24:24 2015 +0100 cdc-acm: fix race between callback and unthrottle Abn URB may be may marked free only after the buffer has been processed or there is a small window during which it could be submitted on another CPU and overwrite an unprocessed buffer Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0ab6bb0597363532f178f3cd7b7fb527eef39e2 Author: Ben Gamari <ben@xxxxxxxxxxxxxxxx> Date: Wed Mar 18 14:37:45 2015 -0400 usb/misc/usb3503: Always read refclk frequency from DT This is necessary to set REF_SEL appropriately in uses where refclk is always available. Signed-off-by: Ben Gamari <ben@xxxxxxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76cb03e7d5d7ba49175784dce961696da66c44cc Author: Oliver Neukum <oneukum@xxxxxxx> Date: Fri Mar 20 14:28:56 2015 +0100 cdc-wdm: return correct error codes Lieing to user space is wrong. The real reason for a failure to write should be returned to user space. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>0 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8373856d94aae5adf25f9e3388747c53867f1ab0 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Mar 23 19:57:36 2015 +0800 MAINTAINERS: change my git address to kernel.org Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24677af8693647d611448651f7df3ddc3211aa83 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 15:01:07 2015 +0100 usb: ehci-orion: add more constants for register values This commit adds new register values for the USB_CMD and USB_MODE registers, which allows to avoid the usage of a number of magic values in orion_usb_phy_v1_setup(). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb3247a34257a271b32d43244eabf71198f40ff0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Mar 20 09:04:41 2015 +0530 USB: Move usb_disabled() towards top of the file Move usb_disabled() and module_param()/core_param() towards the top of the file, where 'nousb' is defined, as they are all related. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1da47f54ddaf99d2fa8b4319480d49b88ff5fc2c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Mar 20 09:04:40 2015 +0530 USB: Use usb_disabled() consistently At few places we have used usb_disabled() and at other places used 'nousb' directly. Lets be consistent and use usb_disabled(); Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66e3e591891da9899a8990792da080432531ffd4 Author: Keith Packard <keithp@xxxxxxxxxx> Date: Thu Mar 19 20:36:49 2015 -0700 usb: Add driver for Altus Metrum ChaosKey device (v2) This is a hardware random number generator. The driver provides both a /dev/chaoskeyX entry and hooks the entropy source up to the kernel hwrng interface. More information about the device can be found at http://chaoskey.org The USB ID for ChaosKey was allocated from the OpenMoko USB vendor space and is visible as 'USBtrng' here: http://wiki.openmoko.org/wiki/USB_Product_IDs v2: Respond to review from Oliver Neukum <oneukum@xxxxxxx> * Delete extensive debug infrastructure and replace it with calls to dev_dbg. * Allocate I/O buffer separately from device structure to obey requirements for non-coherant architectures. * Initialize mutexes before registering device to ensure that open cannot be invoked before the device is ready to proceed. * Return number of bytes read instead of -EINTR when partial read operation is aborted due to a signal. * Make sure device mutex is unlocked in read error paths. * Add MAINTAINERS entry for the driver Signed-off-by: Keith Packard <keithp@xxxxxxxxxx> Cc: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fcefbdf06708a5811ffa8acc949714aee60ae13 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Wed Mar 25 07:23:52 2015 +0100 usb: chipidea: usbmisc_imx: fix returnvar.cocci warnings drivers/usb/chipidea/usbmisc_imx.c:277:5-8: Unneeded variable: "ret". Return "0" on line 297 Removes unneeded variable used to store return value. Generated by: scripts/coccinelle/misc/returnvar.cocci Cc: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0270c6257701a33262239ffc38442f18ae047d98 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Wed Mar 25 21:11:44 2015 -0300 Staging: octeon: Remove extern from .c file This patch fixes the checkpatch.pl warning: WARNING: externs should be avoided in .c files +extern void octeon_mdiobus_force_mod_depencency(void); Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da868b0305c43eaab0e2b3c14807531c5665f0a2 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Wed Mar 25 21:02:42 2015 -0300 Staging: i2o: Remove indentation of labels This patch fixes the checkpatche.pl warnings: WARNING: labels should not be indented + context_remove: WARNING: labels should not be indented + nop_msg: WARNING: labels should not be indented + exit: Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ebe6f46cb20b004e94e9862509085f6b7e69366 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Wed Mar 25 20:56:43 2015 -0300 staging: fbtft: Remove do {} while(0) in single statement macro This patch fixes the checkpatch.pl warning: WARNING: Single statement macros should not use a do {} while (0) loop +#define write_reg(par, ...) \ +do { \ + par->fbtftops.write_register(par, NUMARGS(__VA_ARGS__), __VA_ARGS__); \ +} while (0) Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f5f636c7746d2badbb960b51a13a1bb1edb1304 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Wed Mar 25 20:54:33 2015 -0300 staging: fbtft: Add space around '=' This patch fixes the checkpatch.pl error: ERROR: spaces required around that '=' (ctx:VxV) + sdev->bits_per_word=9; ^ Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 418880f5708dec9fdb2eaa7a61175fa1d8ab4110 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Thu Mar 26 02:23:29 2015 +0300 Staging: iio: use the BIT macro in adc This patch replaces bit shifting on: 0,1,2, and 3 with the BIT(x) macro. Issue addressed by checkpatcg.pl. This was done with the help of Coccinelle: @r1@ identifier x; constant int g; @@ ( 0<<\(x\|g\) | 1<<\(x\|g\) | 2<<\(x\|g\) | 3<<\(x\|g\) ) @script:python b@ g2 <<r1.g; y; @@ coccinelle.y = int(g2) + 1 @c@ constant int r1.g; identifier b.y; @@ ( -(1 << g) +BIT(g) | -(0 << g) + 0 | -(2 << g) +BIT(y) | -(3 << g) +(BIT(y)| BIT(g)) ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e273eb01feb15593d9cb3607a59d96ab12e4c0c2 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 10:55:06 2015 +0300 Staging: iio: Add braces on all arms of if statement The following patch adds braces on all arms of if statement. Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 281ab7efa25b01802e40dd4b7ef5548960881ad7 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 10:54:32 2015 +0300 Staging: iio: add blank line after function declaration This patch adds blank line after function declaration. Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31245077231b9204595f8a480b77590b81c9b571 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 10:52:51 2015 +0300 Staging: iio: remove multible blank lines This patch removes extra blank lines to address checkpatch.pl warnings regarding that. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9963bce76657d9fd5caa3fc77c72d57ec00c8cff Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 10:51:55 2015 +0300 Staging: iio: Adjust alignment for function parameters This patch adjust parameters alignment in functions to match open parenthesis. Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f53cb7b16861f0bd474aab07b91c744758d4f1fd Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 08:09:59 2015 +0300 Staging: rtl8192u: Fix space issues before '(' and after ')' Space is required before the open and after the close parenthesis. This patch adds space after 'if' and before '{'. This was done with the help of the following Coccinelle script: @r@ expression E; position p1,p2,p3; @@ if@p1 (E) @p3{@p2 ... } @script:python@ p1 << r.p1; p2 << r.p2; p3 << r.p3; @@ l1 = int (p1[0].line) l2 = int (p2[0].line) l3 = int (p3[0].line) c1 = int (p1[0].column_end) c2 = int (p2[0].column) c3 = int (p3[0].column) if (l1 != l2): cocci.include_match(False) if (l2 == l3 and c3 + 2 == c2): cocci.include_match(False) @@ position r.p1,r.p2,r.p3; expression r.E; @@ -if@p1 (E) @p3{@p2 +if (E) { ... } Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dde48b99d23f3f2e0f016d297801e4d5f13297fa Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 25 08:07:06 2015 +0300 Staging: rtl8192u: Add space before open parenthesis Space is required before the open parenthesis. This patch adds space after if to address that issue. This was done with the help of the following Coccinelle script: @r@ position p1,p2; @@ if@p1 (@p2 ...) { ... } @script:python@ p1 << r.p1; p2 << r.p2; @@ l1 = int (p1[0].line) l2 = int (p2[0].line) c1 = int (p1[0].column) c2 = int (p2[0].column) if (l2 == l1 and c1 + 2 != c2): cocci.include_match(False) @@ position r.p1,r.p2; @@ - if@p1 ( + if ( ...) { ... } Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26bce795d6f1fd0292283db0bf730a6c37970ab6 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Mar 25 21:34:48 2015 +0530 Staging: lustre: Remove extern from function declaration Functions have the extern storage class specifier by default, so this keyword can be removed. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe36bad239c90416ef11d44b5ea52238c027f923 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Mar 25 18:43:11 2015 +0530 Staging: rtl8188eu: Add new variable to make code compact Introducing this variable leads to overall more code compactness and increases readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 175bbae0c74bd9d250c7f9992d0b746412b78d12 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Mar 25 18:35:47 2015 +0530 Staging: rtl8188eu: Refactor repititive code to loop to increase compactness Refactor repetitive code to loop so as to increase compactness and introduce newlines for readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf9525157107a4fac6afeb4757249e1569249faf Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Mar 25 18:35:46 2015 +0530 Staging: rtl8188eu: Reduce line size to increase readability Reduce line size to increase readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab82fa7da4dce5c728730d7aa0e11a2cbc9266da Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:41:09 2015 +0100 gpio: rcar: Prevent module clock disable when wake-up is enabled When the GPIO module is needed for wake-up, it's module clock must not be disabled. Hence implement irq_chip.irq_set_wake(), which increments/decrements the clock's enable_count when needed, and forwards the wake-up state to the upstream interrupt controller. This fixes wake-up from s2ram using gpio-keys when using a PM Domain to manage the module clock. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3dc1e6852115b3163e7dacc76bbcb78ccff29421 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:41:08 2015 +0100 gpio: rcar: Add more register documentation Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4d84b9e4957589730d13d210e9e94bb5f5996ba3 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:41:07 2015 +0100 gpio: rcar: Use local variable gpio_chip in gpio_rcar_probe() The existing variable gpio_chip already points to the gpiochip instance, hence use it everywhere. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit df60f57684529a1dde4461cf84354453b440806a Merge: 605f302 b921e90 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Mar 26 20:03:16 2015 +1100 Merge branch 'next-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into test Merge miscellaneous bits from benh. Fix a minor conflict with OpalMessageType changing names to opal_msg_type. commit e189ca56d91bbf1d3fe2f88ab6858bf919d42adf Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Thu Mar 12 22:01:26 2015 +0530 gpio/crystalcove: Add additional GPIO for Panel control Export PANEL_EN/DISABLE (offset 0x52) as additional GPIO. Needed by display driver to enable the DSI panel on BYT platform where the Panel EN/Disable control is routed thorugh CRC PMIC CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5dd9c68a854a77da2091b08d8fb7717b04667c6d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Mar 5 13:06:13 2015 +0200 iwlwifi: drop support for early versions of 8000 These early versions are no longer supported. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit cb2513bb71cfaedfb9af37c27744b0e5cef15aa3 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Feb 27 16:26:57 2015 +0200 iwlwifi: mvm: use debugfs_create_bool() for enable_scan_iteration_notif There is no need to implement the enable_scan_iteration_notif handling explicitly and there's no reason not to export the current value. So use debugfs_create_bool() instead. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2250fd94c8887bdf0fb583a8f35bf555a0fff81c Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Dec 3 10:52:26 2014 +0200 iwlwifi: mvm: add delay to scheduled scan Add support for delaying the start of a scheduled scan (or a WoWLAN net-detect scan). Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 483f3ab1754f3c3698db622cc181249a0ca6372c Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Mar 4 10:38:32 2015 +0200 iwlwifi: pcie: initialize trans_pcie->ref_count on configure() ref_count is currently initialized on start_fw(). This causes some issues in restart flow, as currently active references (e.g. unclaimed command) will get cleared, resulting in invalid reference accounting. Move the ref_count initialization to the configure() trans op, so it won't be re-initialized on restart. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4ffb36505c0d4e0909aa1812b0269eb181a51390 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Tue Mar 10 10:06:02 2015 +0200 iwlwifi: mvm: inform mac80211 about umac scans that was aborted by restart In nic restart flow we inform mac80211 that scan was aborted, but it was based only on scan_status which is not set by UMAC scan. Fix that. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 939e4904e09044f0446a5eccd2bb93090087d713 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 8 12:19:42 2015 +0200 iwlwifi: mvm: remove d0i3 ref correctly during AP start The AP_START d0i3 reference was never removed if the AP started correctly. This has the unpleasant side-effect of preventing D0i3 on Android if the WiFi hotspot was ever started on the device. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 605f30205348f1d808d98d77505149da8b047b9f Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 12:13:44 2015 +0530 powerpc/powernv: Avoid explicit endian conversions while parsing device tree We currently read the information about idle states from the device tree, so as to find out the CPU idle states supported by the platform. Use the of_property_read/count_xxx() APIs, which handle endian conversions for us, and mean we don't need any endian annotations in the code. Signed-off-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1318470d7877dbb7168c6edcdc6127912b45f81e Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Sat Mar 7 13:03:36 2015 +0100 ps3: Fix trivial typos in comment and debug message Change 'prosessor' to 'processor' Change 'set_inteval' to 'set_interval' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Acked-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e77553cb21adabb7680930e7b20c578cec7ae5a8 Author: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Date: Fri Feb 27 13:30:34 2015 +0800 powerpc/mm: Free string after creating kmem cache kmem_cache_create()->kmem_cache_create_memcg()->kstrdup() allocates new space and copys name's content, so it is safe to free name memory after calling kmem_cache_create(). Else kmemleak will report the below warning: unreferenced object 0xc0000000f9002160 (size 16): comm "swapper/0", pid 0, jiffies 4294892296 (age 1386.640s) hex dump (first 16 bytes): 70 67 74 61 62 6c 65 2d 32 5e 39 00 de ad be ef pgtable-2^9..... backtrace: [<c0000000004e03ec>] .kvasprintf+0x5c/0xa0 [<c0000000004e045c>] .kasprintf+0x2c/0x50 [<c00000000002e36c>] .pgtable_cache_add+0xac/0x100 [<c00000000002e3e4>] .pgtable_cache_init+0x24/0x80 [<c000000000c6c67c>] .start_kernel+0x228/0x4c8 [<c000000000000594>] .start_here_common+0x24/0x90 Signed-off-by: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fdf51784cd728e55daa0ca7b0ba16966afbfeae0 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:46 2015 -0700 Bluetooth: Unify advertising data code paths This patch simplifies the code paths for assembling the advertising data used by advertising instances 0 and 1. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 089fa8c09e7fd36b9db01c23c826fb7956f25a1e Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:45 2015 -0700 Bluetooth: Update supported_flags for AD features This patch updates the "supported_flags" parameter returned from the "Read Advertising Features" command. Add Advertising will now return an error if an unsupported flag is provided. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5507e358112af307c1c8595a04a0ef172d197f3c Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:44 2015 -0700 Bluetooth: Support the "tx-power" adv flag This patch adds support for the "tx-power" flag of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 67e0c0cd8f5afea17689f7688041e9d215df6875 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:43 2015 -0700 Bluetooth: Support the "managed-flags" adv flag This patch adds support for the "managed-flags" flag of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 807ec772bf484a8e93bc9a2a681e49cb8f2c4d69 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:42 2015 -0700 Bluetooth: Support the "limited-discoverable" adv flag This patch adds support for the "limited-discoverable" flag of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b44133ff03be30b55f23036e62f403a3f7784fce Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:41 2015 -0700 Bluetooth: Support the "discoverable" adv flag This patch adds support for the "discoverable" flag of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e7a685d316e7d4b64cd3b2811687b0270d590386 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:40 2015 -0700 Bluetooth: Support the "connectable mode" adv flag This patch adds support for the "connectable mode" flag of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 495099962138732c28449d07f3b1988836659851 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Wed Mar 25 18:53:39 2015 -0700 Bluetooth: Add macros for advertising instance flags This patch adds macro definitions for possible advertising instance flags that can be passed to the "Add Advertising" command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 08dc0e987e2855e28714670b8214dea1f76534ba Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Mar 25 18:32:13 2015 -0700 Bluetooth: Fix minor typo in comment for static address setting Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7890203da2cb9b861dae9bdb88f882f3e03baec9 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 22 22:17:20 2015 +0800 NFSD: Fix bad update of layout in nfsd4_return_file_layout With return layout as, (seg is return layout, lo is record layout) seg->offset <= lo->offset and layout_end(seg) < layout_end(lo), nfsd should update lo's offset to seg's end, and, seg->offset > lo->offset and layout_end(seg) >= layout_end(lo), nfsd should update lo's end to seg's offset. Fixes: 9cf514ccfa ("nfsd: implement pNFS operations") Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 376675daeac3dc0e39b84ca90f0bdc41a9d44d46 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 22 22:17:10 2015 +0800 NFSD: Take care the return value from nfsd4_encode_stateid Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 853695230e9847445ad42c330d023fca2324fd56 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 22 22:16:40 2015 +0800 NFSD: Printk blocklayout length and offset as format 0x%llx When testing pnfs with nfsd_debug on, nfsd print a negative number of layout length and foff in nfsd4_block_proc_layoutget as, "GET: -xxxx:-xxx 2" Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 340f0ba1c6c8412aa35fd6476044836b84361ea6 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Mon Mar 23 11:02:30 2015 -0400 nfsd: return correct lockowner when there is a race on hash insert alloc_init_lock_stateowner can return an already freed entry if there is a race to put openowners in the hashtable. Noticed by inspection after Jeff Layton fixed the same bug for open owners. Depending on client behavior, this one may be trickier to trigger in practice. Fixes: c58c6610ec24 "nfsd: Protect adding/removing lock owners using client_lock" Cc: <stable@xxxxxxxxxxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Acked-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c5952338bfc234e54deda45b7228f610a545e28a Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Mar 23 10:53:42 2015 -0400 nfsd: return correct openowner when there is a race to put one in the hash alloc_init_open_stateowner can return an already freed entry if there is a race to put openowners in the hashtable. In commit 7ffb588086e9, we changed it so that we allocate and initialize an openowner, and then check to see if a matching one got stuffed into the hashtable in the meantime. If it did, then we free the one we just allocated and take a reference on the one already there. There is a bug here though. The code will then return the pointer to the one that was allocated (and has now been freed). This wasn't evident before as this race almost never occurred. The Linux kernel client used to serialize requests for a single openowner. That has changed now with v4.0 kernels, and this race can now easily occur. Fixes: 7ffb588086e9 Cc: <stable@xxxxxxxxxxxxxxx> # v3.17+ Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e2e40f2c1ed433c5e224525c8c862fd32e5d3df2 Author: Christoph Hellwig <hch@xxxxxx> Date: Sun Feb 22 08:58:50 2015 -0800 fs: move struct kiocb to fs.h struct kiocb now is a generic I/O container, so move it to fs.h. Also do a #include diet for aio.h while we're at it. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7a504c935e42737e5ad40ea2f6f2d21b4dc27e81 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Mar 17 08:42:38 2015 +0800 phy: samsung_usb2: Fixup samsung_usb2_phy_power_on/off paths Ensure we have balanced clk_prepare_enable/clk_disable_unprepare calls if .power_on or .power_off callbacks return error. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 2be608561abfcceda4b35b71a0c1ec5088bb39b9 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Thu Mar 12 19:11:13 2015 +0900 phy: exynos5-usbdrd: Add to support for Exynos5433 SoC This patch adds driver data to support for Exynos5433 SoC. The Exynos5433 has one USB3.0 Host and USB3.0 DRD(Dual Role Device). Exynos5433 is simplar to Eyxnos7 but Exynos5433 have one more USB3.0 Host controller. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit d89a7f69d69409ffafad7affc1cc3085d2cd0dd8 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Mar 3 09:05:55 2015 +0800 phy: qcom-ufs: Catch devm_phy_create failure in ufs_qcom_phy_generic_probe Current code does NULL test against return value of ufs_qcom_phy_generic_probe. However, in the case of devm_phy_create() failure, ufs_qcom_phy_generic_probe does not return NULL. Fix it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 080de5ba390c54b7504c43b36ae21911acf66b30 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Mar 17 08:39:01 2015 +0800 phy: stih41x-usb: Fixup stih41x_usb_phy_power_on failure path If stih41x_usb_phy_power_on() fails, we need to call clk_disable_unprepare() before return error. This is to ensure we have balanced clk_enable/disable calls. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit fe15dedc02e4ee29edfc84bbbf5ee42827e36ac7 Merge: c77662a f101796 Author: Michael Turquette <mturquette@xxxxxxxxxx> Date: Wed Mar 25 14:51:40 2015 -0700 Merge tag 'sunxi-clocks-for-4.1' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into clk-next Allwinner clocks changes for 4.1 The usual round of clock changes for the Allwinner SoCs. There is nothing really standing out here, but a few changes and fixes, most notably to allow the AHB clock to be parented to a PLL, instead of the CPU clock to avoid any AHB rate change due to cpufreq. commit 22de3ef94bd191537227a7f1bb0908f368601f03 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Mar 25 13:32:22 2015 -0700 spi: of: do explicitly request modules for of-registered devices Trying to register an SPI device asynchronously (via async_schedule() call) results in an ugly complaint from request_module() warning about potential deadlock (because request_module tries to wait for async works to complete, the caller is also an async work in this case). While we could try to switch to using request_module_nowait(), other buses, as well as SPI itself when not using device tree, do not try to load modules explicitly, but rather rely on the standard infrastructure (such as udev) to execute module loading. There is no reason why SPI OF-described devices should be treated differently. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dc344b62121c4e2ba5bd9d5bf7a2b4ce5f0487ce Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Thu Oct 9 11:33:34 2014 +0300 ARM: qcom: Increase MMC_BLOCK_MINORS in defconfig There are currently more than 16 partitions on the eMMC of all recent Qualcomm devices. Increase the number of minors per block device to detect all available partitions. Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 9017f25254e474f2cc05df489e4f83b972d3d6fd Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Mar 24 00:24:16 2015 +0100 driver core: Implement device property accessors through fwnode ones Now that the ACPI companions of devices are pointed to by the fwnode field in struct device, the device_property_*() accessor functions can be modified to use their fwnode_property_*() counterparts internally with minimum extra overhead in the IS_ENABLED(CONFIG_OF) case, so make those changes. This allows us to get rid of the rather ugly DEV_PROP_READ_ARRAY() macro among other things. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe0a20a3eff282efae9f891fd10081a9e2b45c96 Merge: f42712a ca5b74d Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Mar 25 20:59:51 2015 +0100 Merge branch 'acpi-driver-core' into device-properties commit f42712a92e660fbee2193c5dde672470d099f63f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Mar 24 00:18:05 2015 +0100 driver core: property: Update fwnode_property_read_string_array() Commit 5c0acf3b4f96 (driver core: Add comments about returning array counts) forgot to update fwnode_property_read_string_array() along the lines of device_property_read_string_array(), although it did change the kerneldoc comment of it. Fix that. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b305632cb220ffa495cbbefb313f3c34d4decc4 Merge: fc4c3c8 29cf342 Author: Chris Mason <clm@xxxxxx> Date: Wed Mar 25 12:25:02 2015 -0700 Merge branch 'cleanup/divs' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.1 Signed-off-by: Chris Mason <clm@xxxxxx> Conflicts: fs/btrfs/volumes.c commit 207cda93f0446c2da5461a37252c7468ddc1c2bc Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Mar 25 20:26:26 2015 +0200 spi: dw: fix crash on setup stage The commit 1a7b7ee72c21 (spi: Ensure that CS line is in non-active state after spi_setup()) introduces an unconditional call of spi_set_cs() before ->setup(). The dw_spi_set_cs() relies on that fact that ->setup() is already called, but it doesn't now. This patch fixes the crash by adding an additional check to dw_spi_set_cs(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f1017969661dd33ead5ba7c3f4a0793c6611441a Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Mar 25 01:22:08 2015 +0800 clk: sunxi: Add pll6 / 4 clock output to sun4i-a10-pll6 The pll6 has a /4 output that is used as an input to the ahb mux clock. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 934fe5f48ae52841f8a5f5e0411147a8ccd171c1 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Mar 25 01:22:07 2015 +0800 clk: sunxi: Make divs clocks specify which output is the base factor clock The current sunxi clock driver has the base factor clock of divs clocks as the last clock output of the clock node. This makes it rather difficult to add new outputs, such as fixed dividers, which were previously unknown. This patch makes the divs clocks data structure specify which output is the factor clock, and updates all current divs clocks accordingly. We can then add new outputs after the factor clocks, at least not breaking backward compatibility with regards to the devicetree bindings. Also replace kzalloc with kcalloc in sunxi_divs_clk_setup(). Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5a352dd0a3aac03b443c94828dfd7144261c8636 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 17:07:45 2015 +0100 ipv6: hash net ptr into fragmentation bucket selection As namespaces are sometimes used with overlapping ip address ranges, we should also use the namespace as input to the hash to select the ip fragmentation counter bucket. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6a7719aedd7e5c0f2df7641aa47386111682df4 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 17:07:44 2015 +0100 ipv4: hash net ptr into fragmentation bucket selection As namespaces are sometimes used with overlapping ip address ranges, we should also use the namespace as input to the hash to select the ip fragmentation counter bucket. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fa38a38ac37a0ca5366cd62ba4339c2bab49db9 Merge: b06b107 8b4ed86 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 25 14:05:56 2015 -0400 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: some improvements and fixes We introduce a better algorithm for selecting when and which users should be subject to link congestion control, plus clean up some code for that mechanism. Commit #3 fixes another rare race condition during packet reception. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b4ed8634f8b3f9aacfc42b4a872d30c36b9e255 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Mar 25 12:07:26 2015 -0400 tipc: eliminate race condition at dual link establishment Despite recent improvements, the establishment of dual parallel links still has a small glitch where messages can bypass each other. When the second link in a dual-link configuration is established, part of the first link's traffic will be steered over to the new link. Although we do have a mechanism to ensure that packets sent before and after the establishment of the new link arrive in sequence to the destination node, this is not enough. The arriving messages will still be delivered upwards in different threads, something entailing a risk of message disordering during the transition phase. To fix this, we introduce a synchronization mechanism between the two parallel links, so that traffic arriving on the new link cannot be added to its input queue until we are guaranteed that all pre-establishment messages have been delivered on the old, parallel link. This problem seems to always have been around, but its occurrence is so rare that it has not been noticed until recent intensive testing. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3127a0200d4a46cf279bb388cc0f71827cd60699 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Mar 25 12:07:25 2015 -0400 tipc: clean up handling of link congestion After the recent changes in message importance handling it becomes possible to simplify handling of messages and sockets when we encounter link congestion. We merge the function tipc_link_cong() into link_schedule_user(), and simplify the code of the latter. The code should now be easier to follow, especially regarding return codes and handling of the message that caused the situation. In case the scheduling function is unable to pre-allocate a wakeup message buffer, it now returns -ENOBUFS, which is a more correct code than the previously used -EHOSTUNREACH. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f66d161ab3d8b518903fa6c3f9c1f48d6919e74 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Mar 25 12:07:24 2015 -0400 tipc: introduce starvation free send algorithm Currently, we only use a single counter; the length of the backlog queue, to determine whether a message should be accepted to the queue or not. Each time a message is being sent, the queue length is compared to a threshold value for the message's importance priority. If the queue length is beyond this threshold, the message is rejected. This algorithm implies a risk of starvation of low importance senders during very high load, because it may take a long time before the backlog queue has decreased enough to accept a lower level message. We now eliminate this risk by introducing a counter for each importance priority. When a message is sent, we check only the queue level for that particular message's priority. If that is ok, the message can be added to the backlog, irrespective of the queue level for other priorities. This way, each level is guaranteed a certain portion of the total bandwidth, and any risk of starvation is eliminated. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b06b107a4c190299e9e3f8dbcccfc7fe9e10c8cb Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Mar 25 08:08:37 2015 -0700 net: dsa: Handle non-bridge master change Master change notifications may occur other than when joining or leaving a bridge, for example when being added to or removed from a bond or Open vSwitch. In that case, do nothing instead of asking the switch driver to remove a port from a bridge that it didn't join. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb42d1f491ebf6bb3e41b4dc93c5a1b1768e0df7 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Mar 20 16:55:18 2015 -0600 toshiba_acpi: Fix the enabling of the Special Functions Some Toshiba laptops with the "Special Functions" feature enabled fail to properly enable such feature unless a specific value is used to enable the hotkey events. This patch adds a new function called "*_enable_special_functions", that simply makes a call to the HCI_HOTKEY_EVENT call, but this time we are using a different parameter to make the "Special Functions" mode work as expected. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit a2b3471b5b13b81c5975d8f88db65694d7b69f56 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Mar 20 16:55:17 2015 -0600 toshiba_acpi: Use the Hotkey Event Type function for keymap choosing With the previous patch adding support to "Hotkey Event Type", we can now use the type to distinguish which keymap to use. This patch changes the toshiba_acpi_setup_keyboard function to make use of the hotkey event type to choose the correct keymap without the need to use the DMI matching list. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 56e6b353396187a6e79acdbe3934fcd796a15e2e Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Mar 20 16:55:16 2015 -0600 toshiba_acpi: Add Hotkey Event Type function and definitions This patch adds support to query the "Hotkey Event Type" the system supports. There are two main event types (so far), 0x10 and 0x11, with the first being all those laptops that have the old keyboard layout, and the latter all those new laptops with the new keyboard layout. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit fc4c3c872f44bf425963feba57eb9c3f8ac2d7eb Merge: 9deed22 a4f3d2c Author: Chris Mason <clm@xxxxxx> Date: Wed Mar 25 10:52:48 2015 -0700 Merge branch 'cleanups-post-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.1 Signed-off-by: Chris Mason <clm@xxxxxx> Conflicts: fs/btrfs/disk-io.c commit 9deed229fa8a83bb5cd713b2d2a8e5c022a4b45b Merge: bc465aa 258ece0 Author: Chris Mason <clm@xxxxxx> Date: Wed Mar 25 10:43:16 2015 -0700 Merge branch 'cleanups-for-4.1-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.1 commit f62a4ffd43c8739aa4b0358710ace0a4e91d2071 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Mar 23 14:01:37 2015 -0400 x86/wmi: delete unused wmi_data_lock mutex causing gcc warning In commit bff431e49ff531a343fbb2b4426e313000844f32 ("ACPI: WMI: Add ACPI-WMI mapping driver") this mutex was added, but the rest of the final commit never actually made use of it, resulting in: In file included from include/linux/mutex.h:29:0, from include/linux/kernfs.h:13, from include/linux/sysfs.h:15, from include/linux/kobject.h:21, from include/linux/device.h:17, from drivers/platform/x86/wmi.c:35: drivers/platform/x86/wmi.c:48:21: warning: â??wmi_data_lockâ?? defined but not used [-Wunused-variable] static DEFINE_MUTEX(wmi_data_lock); ^ A git grep shows no other instances/references to the wmi_data_lock. Delete it, assuming that the mutex addition was just a leftover from an earlier work in progress version of the change, since the original dates from 2008. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 6c826f349587f6c897da9bd224912ca1aee3d9ea Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Mar 24 14:54:19 2015 +0200 drm/i915: Add fault address to error state for gen8 and gen9 The faulting virtual address is >32bits and has been moved to different registers. Add to error state and output upper register first, in the same line for easy reconstruction of the fault address. v2: correct gen masking (Michel) v3: s/TBL/TLB (Ville) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d00dad56b15ed5dab5802143df2bf61d51b6b55 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Wed Mar 25 10:15:26 2015 +0000 drm/i915/skl: Fix up positive error code It should have been negative since it is returned with ERR_PTR(). Introduced in new code commit: commit 50470bb011c4be278097670bea92462f4e8c8945 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:36 2015 +0000 drm/i915/skl: Support secondary (rotated) frame buffer mapping Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c0f404284192f2d4a0159a714372a8c8610c1f6d Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Mon Mar 23 12:43:50 2015 -0700 drm/i915: make unsupported fb modifier message DRM_DEBUG Or users can just spam the log all they want. Issue introduced in commit 9a8f0a1290993c86c4e35756a2624bfe461f9036 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 11:15:24 2015 +0000 drm/i915/skl: Allow Y (and Yf) frame buffer creation References: https://bugs.freedesktop.org/show_bug.cgi?id=89628 Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eb17380972d563a7dd59634cd2fdb614f3b98cdd Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Mar 25 15:19:30 2015 +0100 Bluetooth: hci_uart: Add setup callback Some Bluetooth controllers require initialization before being used (vendor config, firmware download). Add possibility for a HCI UART proto to implement this early init via the setup callback. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fe2811ebeb97a7a76de0b2b35f13600169508393 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:50 2015 +0000 netfilter: nf_tables: convert hash and rbtree to set extensions The set implementations' private struct will only contain the elements needed to maintain the search structure, all other elements are moved to the set extensions. Element allocation and initialization is performed centrally by nf_tables_api instead of by the different set implementations' ->insert() functions. A new "elemsize" member in the set ops specifies the amount of memory to reserve for internal usage. Destruction will also be moved out of the set implementations by a following patch. Except for element allocation, the patch is a simple conversion to using data from the extension area. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3ac4c07a24007f0f45d2082b745508768a8e21cf Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:49 2015 +0000 netfilter: nf_tables: add set extensions Add simple set extension infrastructure for maintaining variable sized and optional per element data. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit bfd6e327e118d2fe443047829047862b49012457 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:48 2015 +0000 netfilter: nft_hash: convert to use rhashtable callbacks A following patch will convert sets to use so called set extensions, where the key is not located in a fixed position anymore. This will require rhashtable hashing and comparison callbacks to be used. As preparation, convert nft_hash to use these callbacks without any functional changes. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 45d84751fb310fe0063cf005ffd6593b4c2321a8 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:47 2015 +0000 netfilter: nft_hash: indent rhashtable parameters Improve readability by indenting the parameter initialization. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 745f5450d5190e8bd02301b8d42f06999af3f5f8 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:46 2015 +0000 netfilter: nft_hash: restore struct nft_hash Following patches will add new private members, restore struct nft_hash as preparation. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 49f7b33e63fec9d16e7ee62ba8f8ab4159cbdc26 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 13:07:45 2015 +0000 rhashtable: provide len to obj_hashfn nftables sets will be converted to use so called setextensions, moving the key to a non-fixed position. To hash it, the obj_hashfn must be used, however it so far doesn't receive the length parameter. Pass the key length to obj_hashfn() and convert existing users. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 03ecc32c5274962b9b1904d7a730e71c95bac05f Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Feb 13 14:35:21 2015 +0000 iommu/vt-d: support extended root and context entries Add a new function iommu_context_addr() which takes care of the differences and returns a pointer to a context entry which may be in either format. The formats are binary compatible for all the old fields anyway; the new one is just larger and some of the reserved bits in the original 128 are now meaningful. So far, nothing actually uses the new fields in the extended context entry. Modulo hardware bugs with interpreting the new-style tables, this should basically be a no-op. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit dde93dfea53c72b07907d9e44a6e4b1545f6bdc4 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Mar 25 20:01:26 2015 +0530 cxgb4: Fix frame size warning for 32 bit arch Fixes below warning by dynamically allocating memory All warnings: drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c: In function 'cctrl_tbl_show': >> drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c:689:1: warning: the >> frame >> size of 1028 bytes is larger than 1024 bytes [-Wframe-larger-than=] Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac110f4954252b7bbe66268c78c8ece7ac2569b9 Author: tadeusz.struk@xxxxxxxxx <tadeusz.struk@xxxxxxxxx> Date: Wed Mar 25 07:29:19 2015 -0700 crypto: algif - fix warn: unsigned 'used' is never less than zero Change type from unsigned long to int to fix an issue reported by kbuild robot: crypto/algif_skcipher.c:596 skcipher_recvmsg_async() warn: unsigned 'used' is never less than zero. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4423f5e7d28c26af31df711c5c21eeacfac737b4 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Mar 25 15:43:39 2015 +0000 iommu/vt-d: Add new extended capabilities from v2.3 VT-d specification Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit bc14b8d6a98eb0747126cd517b468148b9e1c7ac Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Mar 25 18:09:40 2015 +0800 tipc: fix a link reset issue due to retransmission failures When a node joins a cluster while we are transmitting a fragment stream over the broadcast link, it's missing the preceding fragments needed to build a meaningful message. As a result, the node has to drop it. However, as the fragment message is not acknowledged to its sender before it's dropped, it accidentally causes link reset of retransmission failure on the node. Reported-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Tested-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 358e048d670a0feeb030effd1a3611cc6288fa70 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 16:31:37 2015 +0100 s390: fix /proc/interrupts output The irqclass_sub_desc array and enum interruption_class are out of sync thus /proc/interrupts is broken. Remove IRQIO_CLW. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6fd99094de2b83d1d4c8457f2c83483b2828e75a Author: D.S. Ljungmark <ljungmark@xxxxxxxx> Date: Wed Mar 25 09:28:15 2015 +0100 ipv6: Don't reduce hop limit for an interface A local route may have a lower hop_limit set than global routes do. RFC 3756, Section 4.2.7, "Parameter Spoofing" > 1. The attacker includes a Current Hop Limit of one or another small > number which the attacker knows will cause legitimate packets to > be dropped before they reach their destination. > As an example, one possible approach to mitigate this threat is to > ignore very small hop limits. The nodes could implement a > configurable minimum hop limit, and ignore attempts to set it below > said limit. Signed-off-by: D.S. Ljungmark <ljungmark@xxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e3ea6d5c4f4880dbdf85f4083f40d8a3dc9b906 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Mar 25 14:13:01 2015 +0800 sctp: avoid to repeatedly declare external variables Move the declaration for external variables to sctp.h file avoiding to repeatedly declare them with extern keyword. Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8381faca5ec90b7eea94ce575e90af86e2c9a9e Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Mar 18 17:21:19 2015 +0000 pinctrl: st: Display pin's function when printing pinctrl debug information Great for easily determining which mode a pin is operating in. This patch was particularly helpful when debugging a recent GPIO/ Pinctrl disparity issue. Before: $ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins pin 33 (PIO4[1]):[OE:0,PU:0,OD:0] [retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0] After [GPIO]: $ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins pin 33 (PIO4[1]):[OE:0,PU:0,OD:0] GPIO [retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0] After [Alt]: $ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins pin 33 (PIO4[1]):[OE:0,PU:0,OD:0] Alt Fn 2 [retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0] Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e2ed0e88ecba59775a25b3cc237eed1faf71a9aa Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Mar 18 17:21:18 2015 +0000 pinctrl: st: Show correct pin direction also in GPIO mode Until now ST's pinconf_dbg_show() call-back has displayed the PIO alternate function direction, which is only relevant if a pin is operating in an alternate function mode i.e not GPIO mode. If a pin is in GPIO mode its direction is both set and status is obtained by a completely different/unrelated bunch of registers. This change ensures that the correct pin direction is shown, even if a pin is operating in GPIO mode. Reported-by: Olivier Clergeaud <olivier.clergeaud@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1e702ec2aa3bfed17d1266d31f94923322afbc60 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Mar 18 17:21:17 2015 +0000 pinctrl: st: Supply a GPIO get_direction() call-back ST's hardware differentiates between GPIO mode and Pinctrl alternate functions. When a pin is in GPIO mode, there are dedicated registers to set and obtain direction status. However, If a pin's alternate function is in use then the direction is set and status is derived from a bunch of syscon registers. The issue is; until now there was a lack of parity between the two. For example: Catting the two following information sources could result in conflicting information (output has been snipped for simplicity): $ cat /sys/kernel/debug/gpio GPIOs 32-39, platform/961f080.pin-controller-sbc, PIO4: gpio-33 (? ) out hi $ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins pin 33 (PIO4[1]):[OE:0,PU:0,OD:0] [retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0] In this example GPIO-33 is a GPIO controlled LED, which is set for output, as you'd expect. However, when the same information is drafted from Pinctrl, it clearly states that OE (Output Enable) is not set i.e. the pin is set for input. This is because OE normally only represents alternate functions and has no bearing on how the pin operates when in Alt-0 (GPIO mode). This patch changes the current semantics and provides a parity link between the two subsystems. The get_direction() call-back firstly determines which function a pin is operating in, then uses the appropriate helpers for that mode. Reported-by: Olivier Clergeaud <olivier.clergeaud@xxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 18436afdc11a00ac881990b454cfb2eae81d6003 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Mar 25 15:05:47 2015 +0000 iommu/vt-d: Allow RMRR on graphics devices too Commit c875d2c1 ("iommu/vt-d: Exclude devices using RMRRs from IOMMU API domains") prevents certain options for devices with RMRRs. This even prevents those devices from getting a 1:1 mapping with 'iommu=pt', because we don't have the code to handle *preserving* the RMRR regions when moving the device between domains. There's already an exclusion for USB devices, because we know the only reason for RMRRs there is a misguided desire to keep legacy keyboard/mouse emulation running in some theoretical OS which doesn't have support for USB in its own right... but which *does* enable the IOMMU. Add an exclusion for graphics devices too, so that 'iommu=pt' works there. We should be able to successfully assign graphics devices to guests too, as long as the initial handling of stolen memory is reconfigured appropriately. This has certainly worked in the past. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit f89e68fc3b5a5d53d73a0df71b94d3c0a009d0ba Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Mar 18 17:21:16 2015 +0000 pinctrl: st: Move st_get_pio_control() further up the source file st_get_pio_control() will be used by subsequent calls which are to be located above its original position. This is required to prevent the need for an unnecessary forward-declaration/prototype. Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 68c1b89cf5653acd1107253e146b332420a1f4a7 Author: Fenghua Yu <fenghua.yu@xxxxxxxxx> Date: Sat Feb 21 13:07:27 2015 -0800 iommu/vt-d: Print x2apic opt out info instead of printing a warning BIOS can set up x2apic_opt_out bit on some platforms, for various misguided reasons like insane SMM code with weird assumptions about what descriptors look like, or wanting Windows not to enable the IOMMU so that the graphics driver will take it over for SVM in "driver mode". A user can either disable the x2apic_opt_out bit in BIOS or by kernel parameter "no_x2apic_optout". Instead of printing a warning, we just print information of x2apic opt out. Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit c2a4bf47089823bb76d2498eebda922ecf99546d Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Mar 18 17:21:15 2015 +0000 pinctrl: st: Introduce a 'get pin function' call This call fetches the numerical function value a specified pin is currently operating in. Function zero is more often than not the GPIO function. Greater than zero values represent an alternative function. You'd need to either look those up in the Device Tree sources or the Programmer's Manual. Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 44caf2f37f009b2affa743073fa935826b6ab2fd Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Feb 13 14:25:24 2015 +0000 iommu/vt-d: kill bogus ecap_niotlb_iunits() As far back as I can see (which right now is a draft of the v1.2 spec dating from September 2008), bits 24-31 of the Extended Capability Register have already been reserved. I have no idea why anyone ever thought there would be multiple sets of IOTLB registers, but we've never supported them and all we do is make sure we map enough MMIO space for them. Kill it dead. Those bits do actually have a different meaning now. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 9df461eca18f5395ee84670cdba6755dddec1898 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Mar 25 15:06:16 2015 +0200 spi: pxa2xx: replace ugly table by approximation The Quark SoC data sheet describes the baud rate setting using fractional divider. The subset of possible values represented by a table suggests that the divisor has one block that could divide by 5. This explains the number of the beast in some cases in the table. Thus, in this particular case the divisor can be evaluated as 5^i * 2^j * 2 * k, where i = [0, 1] j = [0, 23] k = [1, 256] There are few cases as mentioned in the data sheet, i.e. better form of the clock signal will be in case if DDS_CLK_RATE either 2^n or 2/5. It's also possible to use any value that is less or equal to 0x33333 (1/5/16 = 1/80). All three cases are compared to each other and the one that suits better is chosen by the approximation algorithm. Anyone can play with the script [1] that represents the algorithm. [1] https://gist.github.com/06b084488b3629898121 Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8787041d9bb832b9449b1eb878cedcebce42c61a Author: Sergej Sawazki <ce3a@xxxxxx> Date: Tue Mar 24 21:13:22 2015 +0100 ASoC: wm8741: Fix rates constraints values The WM8741 DAC supports the following typical audio sampling rates: 44.1kHz, 88.2kHz, 176.4kHz (eg: with a master clock of 22.5792MHz) 32kHz, 48kHz, 96kHz, 192kHz (eg: with a master clock of 24.576MHz) For the rates lists, we should use 82000 instead of 88235, 176400 instead of 1764000 and 192000 instead of 19200 (seems to be a typo). Signed-off-by: Sergej Sawazki <ce3a@xxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 46172b6c26667133b9945b916b6223cc87bbf10c Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 11:22:35 2015 +0000 ASoC: dapm: Fix build warning commit c66150824b8a ("ASoC: dapm: add code to configure dai link parameters") introduced the following build warning: sound/soc/soc-dapm.c: In function 'snd_soc_dapm_new_pcm': sound/soc/soc-dapm.c:3389:4: warning: passing argument 1 of 'snprintf' discards 'const' qualifier from pointer target type snprintf(w_param_text[count], len, This patch fixes this by switching to using devm_kasprintf. This also saves a couple of lines of code. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b70b82580248b5393241c986082842ec05a2b7d7 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Wed Mar 25 15:38:31 2015 +0100 HID: add quirk for PIXART OEM mouse used by HP This mouse is also known under other IDs. It needs the quirk or will disconnect in runlevel 1 or 3. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7a8e53c414c8183e8735e3b08d9a776200e6e665 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Wed Mar 25 15:13:36 2015 +0100 HID: add HP OEM mouse to quirk ALWAYS_POLL This mouse needs QUIRK_ALWAYS_POLL. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b229a0f840f774d29d8fedbf5deb344ca36b7f1a Author: Doug Goldstein <cardoe@xxxxxxxxxx> Date: Mon Mar 23 20:34:48 2015 -0500 USB: ftdi_sio: Use jtag quirk for SNAP Connect E10 This patch uses the existing CALAO Systems ftdi_8u2232c_probe in order to avoid attaching a TTY to the JTAG port as this board is based on the CALAO Systems reference design and needs the same fix up. Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx> CC: stable <stable@xxxxxxxxxxxxxxx> [johan: clean up probe logic ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit d82d54af7b14092dc5934a8ce09170789c9ddb57 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Thu Mar 12 13:04:16 2015 +0900 kobject: WARN as tip when call kobject_get() to a kobject not initialized call kobject_get() to kojbect that is not initalized or released will only leave following like call trace to us: -----------[ cut here ]------------ [ 54.545816] WARNING: CPU: 0 PID: 213 at include/linux/kref.h:47 kobject_get+0x41/0x50() [ 54.642595] Modules linked in: i2c_i801(+) mfd_core shpchp(+) acpi_cpufreq(+) edac_core ioatdma(+) xfs libcrc32c ast syscopyarea ixgbe sysfillrect sysimgblt sr_mod sd_mod drm_kms_helper igb mdio cdrom e1000e ahci dca ttm libahci uas drm i2c_algo_bit ptp megaraid_sas libata usb_storage i2c_core pps_core dm_mirror dm_region_hash dm_log dm_mod [ 55.007264] CPU: 0 PID: 213 Comm: kworker/0:2 Not tainted 3.18.5 [ 55.099970] Hardware name: Oracle Corporation SUN FIRE X4170 M2 SERVER /ASSY,MOTHERBOARD,X4170, BIOS 08120104 05/08/2012 [ 55.239736] Workqueue: kacpi_notify acpi_os_execute_deferred [ 55.308598] 0000000000000000 00000000bd730b61 ffff88046742baf8 ffffffff816b7edb [ 55.398305] 0000000000000000 0000000000000000 ffff88046742bb38 ffffffff81078ae1 [ 55.488040] ffff88046742bbd8 ffff8806706b3000 0000000000000292 0000000000000000 [ 55.577776] Call Trace: [ 55.608228] [<ffffffff816b7edb>] dump_stack+0x46/0x58 [ 55.670895] [<ffffffff81078ae1>] warn_slowpath_common+0x81/0xa0 [ 55.743952] [<ffffffff81078bfa>] warn_slowpath_null+0x1a/0x20 [ 55.814929] [<ffffffff8130d0d1>] kobject_get+0x41/0x50 [ 55.878654] [<ffffffff8153e955>] cpufreq_cpu_get+0x75/0xc0 [ 55.946528] [<ffffffff8153f37e>] cpufreq_update_policy+0x2e/0x1f0 The above issue was casued by a race condition, if there is a WARN in kobject_get() of the kobject is not initialized, that would save us much time to debug it. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a267d3b22f56bf5ba379c20604fd28409119698 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:47 2015 -0800 i8k: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bea2b592fd18eb8ffa3fc4ad380610632d03a38f Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 11:12:21 2015 +0100 lib/lz4: Pull out constant tables There's no reason to allocate the dec{32,64}table on the stack; it just wastes a bunch of instructions setting them up and, of course, also consumes quite a bit of stack. Using size_t for such small integers is a little excessive. $ scripts/bloat-o-meter /tmp/built-in.o lib/built-in.o add/remove: 2/2 grow/shrink: 2/0 up/down: 1304/-1548 (-244) function old new delta lz4_decompress_unknownoutputsize 55 718 +663 lz4_decompress 55 632 +577 dec64table - 32 +32 dec32table - 32 +32 lz4_uncompress 747 - -747 lz4_uncompress_unknownoutputsize 801 - -801 The now inlined lz4_uncompress functions used to have a stack footprint of 176 bytes (according to -fstack-usage); their inlinees have increased their stack use from 32 bytes to 48 and 80 bytes, respectively. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7085a7401ba54e92bbb5aa24d6f428071e18e509 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Feb 18 17:12:18 2015 +0100 drivers: platform: parse IRQ flags from resources This fixes a regression from the net subsystem: After commit d52fdbb735c36a209f36a628d40ca9185b349ba7 "smc91x: retrieve IRQ and trigger flags in a modern way" a regression would appear on some legacy platforms such as the ARM PXA Zylonite that specify IRQ resources like this: static struct resource r = { .start = X, .end = X, .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, }; The previous code would retrieve the resource and parse the high edge setting in the SMC91x driver, a use pattern that means every driver specifying an IRQ flag from a static resource need to parse resource flags and apply them at runtime. As we switched the code to use IRQ descriptors to retrieve the the trigger type like this: irqd_get_trigger_type(irq_get_irq_data(...)); the code would work for new platforms using e.g. device tree as the backing irq descriptor would have its flags properly set, whereas this kind of oldstyle static resources at no point assign the trigger flags to the corresponding IRQ descriptor. To make the behaviour identical on modern device tree and legacy static platform data platforms, modify platform_get_irq() to assign the trigger flags to the irq descriptor when a client looks up an IRQ from static resources. Fixes: d52fdbb735c3 ("smc91x: retrieve IRQ and trigger flags in a modern way") Tested-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13fcffbbdec4e4863a9a9c7792b821cd6d363a8f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Mar 10 11:55:49 2015 +0000 driver core: Make probe deferral more quiet Currently probe deferral prints a message every time a device requests deferral at info severity (which is displayed by default). This can have an impact on system boot times with serial consoles and is generally quite noisy. Since subsystems and drivers should already be logging the specific reason for probe deferral in order to aid users in understanding problems the messages from the driver core should be redundant lower the severity of the messages printed, cutting down on the volume of output on the console. This does mean that if the drivers and subsystems aren't doing a good job we get no output on the console by default. Ideally we'd be able to arrange to print if nothing else printed, though that's a little fun. Even better would be to come up with a mechanism that explicitly does dependencies so we don't have to keep polling and erroring. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5590f3196b293574a12be58d06d5e1120d8856ec Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 11:25:18 2015 +1100 drivers/core/of: Add symlink to device-tree from devices with an OF node So I've been annoyed lately with having a bunch of devices such as i2c eeproms (for use by VPDs, server world !) and other bits and pieces that I want to be able to identify from userspace, and possibly provide additional data about from FW. Basically, it boils down to correlating the sysfs device with the OF tree device node, so that user space can use device-tree info such as additional "location" or "label" (or whatever else we can come up with) propreties to identify a given device, or get some attributes of use about it, etc... Now, so far, we've done that in some subsystem in a fairly ad-hoc basis using "devspec" properties. For example, PCI creates them if it can correlate the probed device with a DT node. Some powerpc specific busses do that too. However, i2c doesn't and it would be nice to have something more generic since technically any device can have a corresponding device tree node. This patch adds an "of_node" symlink to devices that have a non-NULL dev->of_node pointer, the patch is pretty trivial and seems to work just fine for me. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8a51e1b51ee5730ad3913f3962e3099a5e19359 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Tue Feb 17 19:03:41 2015 -0600 device: Add dev_of_node() accessor Suggested by Arnd Bergmann, this gives a practical accessor for the of_node field of struct device while instructing the compiler that it will be NULL if CONFIG_OF is not set. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef518cc8aa4427043efe21cb2f0799be9cb1d74d Author: Zahari Doychev <zahari.doychev@xxxxxxxxx> Date: Tue Mar 10 10:45:40 2015 +0100 drivers: base: fw: fix ret value when loading fw When using the user mode helper to load firmwares the function _request_firmware gets a positive return value from fw_load_from_user_helper and because of this the firmware buffer is not assigned. This happens only when the return value is zero. This patch fixes this problem in _request_firmware_load. When the completion is ready the return value is set to zero. Signed-off-by: Zahari Doychev <zahari.doychev@xxxxxxxxx> Cc: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46239902ecddd4690b6d800da258d0ab65a5cb78 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 15:18:07 2015 +0100 firmware: Avoid manual device_create_file() calls Use the static attribute groups assigned to the device instead of manual device_create_file() & co calls. It simplifies the code and can avoid possible races, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a7d95f95c95f396decbd4cda6d4903fc4664946 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Tue Mar 17 17:28:46 2015 +0000 drivers/base: cacheinfo: validate device node for all the caches On architectures that depend on DT for obtaining cache hierarcy, we need to validate the device node for all the cache indices, failing to do so might result in wrong information being exposed to the userspace. This is quite possible on initial/incomplete versions of the device trees. In such cases, it's better to bail out if all the required device nodes are not present. This patch adds checks for the validation of device node for all the caches and doesn't initialise the cacheinfo if there's any error. Reported-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # 4.0 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2071b9502dadffd22ac1bc31c68728e2783ec3ac Author: Lavinia Tache <lavinia.tachee@xxxxxxxxx> Date: Sun Mar 8 22:33:44 2015 +0200 drivers/base: use tabs where possible in code indentation Linux kernel coding style require that tabs should be used instead of spaces for code indentation. Problem found using checkpatch.pl script. Signed-off-by: Lavinia Tache <lavinia.tachee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74642c6cd088e124c3cccbd5cb2f54984d6d4e1a Author: Lavinia Tache <lavinia.tachee@xxxxxxxxx> Date: Sun Mar 8 12:48:55 2015 +0200 driver core: add missing blank line after declaration Found using checkpatch.pl Signed-off-by: Lavinia Tache <lavinia.tachee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 518d3f38abb8cc3a5125e71a1d23a366c69e2e49 Author: Ana Nedelcu <anafnedelcu@xxxxxxxxx> Date: Sun Mar 8 12:48:48 2015 +0200 drivers: base: node: Delete space after pointer declaration This patch fixes the following error found by checkpatch.pl: ERROR: "foo * bar" should be "foo *bar" Signed-off-by: Ana Nedelcu <anafnedelcu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2aeebca2f3586755802689e12ba87140d803d88a Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Mar 8 12:48:35 2015 +0200 drivers: base: memory: Use tabs instead of spaces This patch changes spaces to tabs. Found using checkpatch.pl Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea31003ccb2d684916cb7ebc079437ae85425a6d Author: Andrei Oprea <andrei.br92@xxxxxxxxx> Date: Sun Mar 8 12:41:15 2015 +0200 firmware_class: Fix whitespace and indentation Fix checkpatch.pl issues with coding style. Removed whitespace and fixed indentation Signed-off-by: Andrei Oprea <andrei.br92@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d42d79e640fd1cd8fd97d11c8693f8907fc4eac Author: Marius Cristian Eseanu <eseanu.cristian@xxxxxxxxx> Date: Sun Mar 8 12:34:14 2015 +0200 drivers: base: dma-mapping: Erase blank space after pointer This patch fixes the following checkpatch.pl error: ERROR: "foo * bar" should be "foo *bar" Signed-off-by: Marius Cristian Eseanu <eseanu.cristian@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d34898de9a43bf79b274c8c6a43bf2f6f76dac05 Author: Cosmin Tomulescu <cosmintom@xxxxxxxxx> Date: Sun Mar 8 12:31:54 2015 +0200 drivers: base: class: Add a blank line after declarations This patch fixes the following warning found by checkpatch.pl: WARNING: Missing a black line after declarations Signed-off-by: Cosmin Tomulescu <cosmintom@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 481026dbe88bd42cae88ade3289f26d16e5168aa Author: Cosmin Dragomir <cosmin.gabriel.dragomir@xxxxxxxxx> Date: Sun Mar 8 12:30:14 2015 +0200 attribute_container: fix missing blank lines after declarations Found with checkpatch.pl Signed-off-by: Cosmin Dragomir <cosmin.gabriel.dragomir@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d3af6afa9985ca30d9ee8f48897eb71f9c1583f Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Mar 8 12:29:04 2015 +0200 drivers: base: memory: Fix switch indent Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e4fabec5e79d9fb8b75e4afda192ed3d6486f86 Author: Andrei Poenaru <andreigpoenaru@xxxxxxxxx> Date: Sun Mar 8 12:29:02 2015 +0200 drivers: base: map: Use kmalloc_array instead of kmalloc Reported by checkpatch.pl While at it, removed blank line between function call and error checking. Signed-off-by: Andrei Poenaru <andreigpoenaru@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7036cd46c8239a520abf69720de9a8538a9011d5 Author: Florin Papa <florin.papa192@xxxxxxxxx> Date: Sun Mar 8 12:24:05 2015 +0200 Driver core: Fix missing whitespace in function argument Found this using checkpatch.pl. Signed-off-by: Florin Papa <florin.papa192@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9a16d3ab8770357015c85a07387f1d2676a4773 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Thu Mar 12 16:58:34 2015 +1100 trace: Don't use __weak in header files The commit that added a check for this to checkpatch says: "Using weak declarations can have unintended link defects. The __weak on the declaration causes non-weak definitions to become weak." In this case, when a PowerPC kernel is built with CONFIG_KPROBE_EVENT but not CONFIG_UPROBE_EVENT, it generates the following warning: WARNING: 1 bad relocations c0000000014f2190 R_PPC64_ADDR64 uprobes_fetch_type_table This is fixed by passing the fetch_table arrays to traceprobe_parse_probe_arg() which also means that they can never be NULL. Link: http://lkml.kernel.org/r/20150312165834.4482cb48@xxxxxxxxxxxxxxxx Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 754cb0071a5c9576ccfa6523969ef6a2f6a71676 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Tue Mar 3 15:21:33 2015 +0800 tracing: remove ftrace:function TRACE_EVENT_FL_USE_CALL_FILTER flag TRACE_EVENT_FL_USE_CALL_FILTER flag in ftrace:functon event can be removed. This flag was first introduced in commit f306cc82a93d ("tracing: Update event filters for multibuffer"). Now, the only place uses this flag is ftrace:function, but the filter of ftrace:function has a different code path with events/syscalls and events/tracepoints. It uses ftrace_filter_write() and perf's ftrace_profile_set_filter() to set the filter, the functionality of file 'tracing/events/ftrace/function/filter' is bypassed in function init_pred(), in which case, neither call->filter nor file->filter is used. So we can safely remove TRACE_EVENT_FL_USE_CALL_FILTER flag from ftrace:function events. Link: http://lkml.kernel.org/r/1425367294-27852-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit bbedb179944c29e5e449603163eec9951116fe39 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 11 22:13:57 2015 -0500 tracing: %pF is only for function pointers Use %pS for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pF expects a function descriptor. Link: http://lkml.kernel.org/r/1426130037-17956-22-git-send-email-scottwood@xxxxxxxxxxxxx Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 80a9b64e2c156b6523e7a01f2ba6e5d86e722814 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Tue Mar 17 10:40:38 2015 -0400 ring-buffer: Replace this_cpu_*() with __this_cpu_*() It has come to my attention that this_cpu_read/write are horrible on architectures other than x86. Worse yet, they actually disable preemption or interrupts! This caused some unexpected tracing results on ARM. 101.356868: preempt_count_add <-ring_buffer_lock_reserve 101.356870: preempt_count_sub <-ring_buffer_lock_reserve The ring_buffer_lock_reserve has recursion protection that requires accessing a per cpu variable. But since preempt_disable() is traced, it too got traced while accessing the variable that is suppose to prevent recursion like this. The generic version of this_cpu_read() and write() are: #define this_cpu_generic_read(pcp) \ ({ typeof(pcp) ret__; \ preempt_disable(); \ ret__ = *this_cpu_ptr(&(pcp)); \ preempt_enable(); \ ret__; \ }) #define this_cpu_generic_to_op(pcp, val, op) \ do { \ unsigned long flags; \ raw_local_irq_save(flags); \ *__this_cpu_ptr(&(pcp)) op val; \ raw_local_irq_restore(flags); \ } while (0) Which is unacceptable for locations that know they are within preempt disabled or interrupt disabled locations. Paul McKenney stated that __this_cpu_() versions produce much better code on other architectures than this_cpu_() does, if we know that the call is done in a preempt disabled location. I also changed the recursive_unlock() to use two local variables instead of accessing the per_cpu variable twice. Link: http://lkml.kernel.org/r/20150317114411.GE3589@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150317104038.312e73d1@xxxxxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Acked-by: Christoph Lameter <cl@xxxxxxxxx> Reported-by: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx> Tested-by: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 5f0163a5ee9cc7c59751768bdfd94a73186debba Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 11:48:26 2015 +0100 driver core: Delete an unnecessary check before the function call "put_device" The put_device() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d46a67a3eb827ccf1125959936fd51ba318dabc Author: Lars Persson <lars.persson@xxxxxxxx> Date: Thu Feb 26 14:16:03 2015 +0100 MIPS: Fix race condition in lazy cache flushing. The lazy cache flushing implemented in the MIPS kernel suffers from a race condition that is exposed by do_set_pte() in mm/memory.c. A pre-condition is a file-system that writes to the page from the CPU in its readpage method and then calls flush_dcache_page(). One example is ubifs. Another pre-condition is that the dcache flush is postponed in __flush_dcache_page(). Upon a page fault for an executable mapping not existing in the page-cache, the following will happen: 1. Write to the page 2. flush_dcache_page 3. flush_icache_page 4. set_pte_at 5. update_mmu_cache (commits the flush of a dcache-dirty page) Between steps 4 and 5 another thread can hit the same page and it will encounter a valid pte. Because the data still is in the L1 dcache the CPU will fetch stale data from L2 into the icache and execute garbage. This fix moves the commit of the cache flush to step 3 to close the race window. It also reduces the amount of flushes on non-executable mappings because we never enter __flush_dcache_page() for non-aliasing CPUs. Regressions can occur in drivers that mistakenly relies on the flush_dcache_page() in get_user_pages() for DMA operations. [ralf@xxxxxxxxxxxxxx: Folded in patch 9346 to fix highmem issue.] Signed-off-by: Lars Persson <larper@xxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: paul.burton@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9346/ Patchwork: https://patchwork.linux-mips.org/patch/9738/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5b9593f3bccb9904f260f9ad7f184e1d2921bd1e Author: Lars Persson <lars.persson@xxxxxxxx> Date: Thu Feb 26 14:16:02 2015 +0100 Revert "MIPS: Remove race window in page fault handling" Revert commit 2a4a8b1e5d9d ("MIPS: Remove race window in page fault handling") because it increased the number of flushed dcache pages and became a performance problem for some workloads. Signed-off-by: Lars Persson <larper@xxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: paul.burton@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9345/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9a49899eb88803dcc0ef437f09912f9a7b7a66fd Author: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 14:02:21 2015 +0300 MIPS: OCTEON: Use correct CSR to soft reset Also delete unused cvmx_reset_octeon() This fixes reboot for Octeon III boards Signed-off-by: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: David Daney <david.daney@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9471/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a8667d706dfa394ef9fe5f9013dee92d40a096e8 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Wed Mar 4 23:08:49 2015 +0200 MIPS: OCTEON: dma-octeon: fix OHCI USB config check CONFIG_USB_OCTEON_OHCI is deprecated and no longer needed to use OHCI on OCTEON II. Instead, CONFIG_USB_OHCI_HCD_PLATFORM should be used. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9421/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0add9c2f1cff9f3f1f2eb7e9babefa872a9d14b9 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Thu Mar 12 11:51:06 2015 +0800 MIPS: Loongson-3: Add IRQF_NO_SUSPEND to Cascade irqaction HPET irq is routed to i8259 and then to MIPS CPU irq (cascade). After commit a3e6c1eff5 (MIPS: IRQ: Fix disable_irq on CPU IRQs), if without IRQF_NO_SUSPEND in cascade_irqaction, HPET interrupts will lost during suspend. The result is machine cannot be waken up. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9528/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2ec459f2a77b808c1e5a3616c88b613d3f720c8d Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Thu Mar 12 17:00:58 2015 +0100 MIPS: BCM63xx: Move bcm63xx_gpio_init() to bcm63xx_register_devices(). When called from prom init code, bcm63xx_gpio_init() will fail as it will call gpiochip_add() which relies on a working kmalloc() to alloc the gpio_desc array and kmalloc is not useable yet at prom init time. Move bcm63xx_gpio_init() to bcm63xx_register_devices() (an arch_initcall) where kmalloc works. Fixes: 14e85c0e69d5 ("gpio: remove gpio_descs global array") Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9530/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7ca7ec40f42a13c6966fb3a5d8713e895d58c728 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 13:47:17 2015 +0100 drivers/base/node: clean up attribute group conversion We can use the ATTRIBUTE_GROUPS() macro here, so use it, saving some lines of code. Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx commit e6beaa363d56d7fc2f8cd6f7291e4d93911a428a Author: Tom(JeHyeon) Yeon <tom.yeon@xxxxxxxxxxxxx> Date: Wed Mar 18 14:03:30 2015 +0900 locking/rtmutex: Rename argument in the rt_mutex_adjust_prio_chain() documentation as well The following commit changed "deadlock_detect" to "chwalk": 8930ed80f970 ("rtmutex: Cleanup deadlock detector debug logic") do that rename in the function's documentation as well. Signed-off-by: Tom(JeHyeon) Yeon <tom.yeon@xxxxxxxxxxxxx> Cc: peterz@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1426655010-31651-1-git-send-email-tom.yeon@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3c9b8aaf95bb4de3d8ac9fd83d4aca2c97bd9f2a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Jan 29 12:29:22 2015 +0100 drivers/base/node: Avoid manual device_create_file() calls Instead of manual calls of multiple device_create_file() and device_remove_file(), use the static attribute groups assigned to the new device. This also fixes the possible races, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07afb6ace3bde4ffdce26befa6b2f38c5d708dd0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 13:41:42 2015 +0100 samples/kobject: be explicit in the module license Rusty pointed out that the module license should be "GPL v2" to properly match the notice at the top of the files, so make that change. Reported-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5fd637e7a75fb2a4c0b62683c08dae959160fedf Author: Rastislav Barlik <barlik@xxxxxxxx> Date: Wed Dec 17 21:14:48 2014 +0100 samples/kobject: Use kstrtoint instead of sscanf Use kstrtoint function instead of sscanf and check for return values. Signed-off-by: Rastislav Barlik <barlik@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c34203a1496d1849ba978021b878b3447d433c8 Author: Junjie Mao <junjie_mao@xxxxxxxx> Date: Wed Jan 28 10:02:44 2015 +0800 driver core: bus: Goto appropriate labels on failure in bus_add_device It is not necessary to call device_remove_groups() when device_add_groups() fails. The group added by device_add_groups() should be removed if sysfs_create_link() fails. Fixes: fa6fdb33b486 ("driver core: bus_type: add dev_groups") Signed-off-by: Junjie Mao <junjie_mao@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb2b40754ff4b2fffd8015ac96c45269cb54ee79 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 22:14:41 2015 +0300 driver core: use *switch* statement in really_probe() There are series of comparisons of the 'ret' variable on the failure path of really_probe(), so the *switch* statement seems more appropriate there. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba61af6f3e4766c76aec0b5e7f2bb8277e1acdd0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 12 09:58:28 2015 -0400 sysfs: Document struct attribute_group Document variables defined in struct attribute_group to ensure correct usage. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8bf8c92e80fed9119eb222c7e5cc88acf57c12c Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 09:58:27 2015 -0400 sysfs: Only accept read/write permissions for file attributes For sysfs file attributes, only read and write permissions make sense. Mask provided attribute permissions accordingly and send a warning to the console if invalid permission bits are set. This patch is originally from Guenter [1] and includes the fixup explained in the thread, that is printing permissions in octal format and limiting the scope of attributes to SYSFS_PREALLOC | 0664. [1] https://lkml.org/lkml/2015/1/19/599 Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da4759c73b0f1aac79f37bdb39ad2124439c30e7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Mar 12 09:58:26 2015 -0400 sysfs: Use only return value from is_visible for the file mode Up to now, is_visible can only be used to either remove visibility of a file entirely or to add permissions, but not to reduce permissions. This makes it impossible, for example, to use DEVICE_ATTR_RW to define file attributes and reduce permissions to read-only. This behavior is undesirable and unnecessarily complicates code which needs to reduce permissions; instead of just returning the desired permissions, it has to ensure that the permissions in the attribute variable declaration only reflect the minimal permissions ever needed. Change semantics of is_visible to only use the permissions returned from it instead of oring the returned value with the hard-coded permissions. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06ab9c1ba6a19977432b6906b0eee84804212dc6 Merge: 72d64cc b3494a4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 21:14:07 2015 +0100 Merge branch 'x86/urgent' into x86/asm, to resolve conflict Conflicts: arch/x86/kernel/entry_64.S Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cea405b172e3b1fd2cf9da5ec05c7d808d6af03d Author: Xihan Zhang <xihan.zhang@xxxxxxx> Date: Tue Mar 17 19:32:53 2015 +0800 drm/amdkfd: Add multiple kgd support The current code can only support one kgd instance. We have to support multiple kgd instances in one system. i.e two amdgpu or two radeon or one amdgpu + one radeon or more than two kgd instances. Signed-off-by: Xihan Zhang <xihan.zhang@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> commit affa7d86441a9fe1ddd67f4ed551ed41313da561 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Thu Mar 12 10:23:40 2015 -0700 drm/amdkfd: Convert timestamping to use 64bit time accessors Convert the timestamping in the amdkfd driver to use a timespec64 and 64bit time accessors. Although the existing code is completely safe beyond y2038 because it deals with monotonic time, this patch is still needed in order to kill off all uses of struct timespec. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> commit 94a1ee09235d404190ff82400a24595b6b2af771 Author: Oded Gabbay <oded.gabbay@xxxxxxx> Date: Tue Feb 24 10:51:59 2015 +0200 drm/amdkfd: add debug prints for process teardown Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 0d9200874c6cc9b3887f3474bbba638e43d696d0 Author: Oded Gabbay <oded.gabbay@xxxxxxx> Date: Wed Feb 25 14:15:24 2015 +0200 drm/amdkfd: Remove unused field from struct qcm_process_device Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> Reviewed-by: Ben Goz <ben.goz@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a9243ede5d5797bacb846a09169aa0a514439fe9 Author: Oded Gabbay <oded.gabbay@xxxxxxx> Date: Thu Feb 26 21:24:44 2015 +0200 drm/amdkfd: rename fence_wait_timeout fence_wait_timeout() is an exported kernel symbol, so we should rename our local function to something different. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fccb9a81fd08b61bed91ddef88341694f8ecbfd1 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 22:02:45 2015 +0800 ARM64 / ACPI: Parse MADT for SMP initialization MADT contains the information for MPIDR which is essential for SMP initialization, parse the GIC cpu interface structures to get the MPIDR value and map it to cpu_logical_map(), and add enabled cpu with valid MPIDR into cpu_possible_map. ACPI 5.1 only has two explicit methods to boot up SMP, PSCI and Parking protocol, but the Parking protocol is only specified for ARMv7 now, so make PSCI as the only way for the SMP boot protocol before some updates for the ACPI spec or the Parking protocol spec. Parking protocol patches for SMP boot will be sent to upstream when the new version of Parking protocol is ready. CC: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4c1c8d7a7ebc8b909493a14b21b233e5377b69aa Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:44 2015 +0000 ACPI / table: Print GIC information when MADT is parsed When MADT is parsed, print GIC information as debug message: ACPI: GICC (acpi_id[0x0000] address[00000000e112f000] MPIDR[0x0] enabled) ACPI: GICC (acpi_id[0x0001] address[00000000e112f000] MPIDR[0x1] enabled) ... ACPI: GICC (acpi_id[0x0201] address[00000000e112f000] MPIDR[0x201] enabled) This debug information will be very helpful to bring up early systems to see if acpi_id and MPIDR are matched or not as spec defined. CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 7c59a3df15df29c8402a05b92385e83e55355778 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:43 2015 +0000 ARM64 / ACPI: Get PSCI flags in FADT for PSCI init There are two flags: PSCI_COMPLIANT and PSCI_USE_HVC. When set, the former signals to the OS that the firmware is PSCI compliant. The latter selects the appropriate conduit for PSCI calls by toggling between Hypervisor Calls (HVC) and Secure Monitor Calls (SMC). FADT table contains such information in ACPI 5.1, FADT table was parsed in ACPI table init and copy to struct acpi_gbl_FADT, so use the flags in struct acpi_gbl_FADT for PSCI init. Since ACPI 5.1 doesn't support self defined PSCI function IDs, which means that only PSCI 0.2+ is supported in ACPI. CC: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3505f30fb6a980283116390e9a962d60cf8e2a57 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:42 2015 +0000 ARM64 / ACPI: If we chose to boot from acpi then disable FDT If the early boot methods of acpi are happy that we have valid ACPI tables and acpi=force has been passed, then do not unflat devicetree effectively disabling further hardware probing from DT. CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b10d79f76085b577673395daf92d6208ae09196f Author: Al Stone <al.stone@xxxxxxxxxx> Date: Tue Mar 24 14:02:41 2015 +0000 ARM64 / ACPI: Introduce early_param "acpi=" to enable/disable ACPI This implements the following policy to decide whether ACPI should be used to boot the system: - acpi=off: ACPI will not be used to boot the system, even if there is no alternative available (e.g., device tree is empty) - acpi=force: only ACPI will be used to boot the system; if that fails, there will be no fallback to alternative methods (such as device tree) - otherwise, ACPI will be used as a fallback if the device tree turns out to lack a platform description; the heuristic to decide this is whether /chosen is the only node present at depth 1 CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a9cb97fe71d84df103994861f00112fe2cba91be Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:40 2015 +0000 ARM64 / ACPI: Introduce PCI stub functions for ACPI CONFIG_ACPI depends CONFIG_PCI on x86 and ia64, in ARM64 server world we will have PCIe in most cases, but some of them may not, make CONFIG_ACPI depend CONFIG_PCI on ARM64 will satisfy both. With that case, we need some arch dependent PCI functions to access the config space before the PCI root bridge is created, and pci_acpi_scan_root() to create the PCI root bus. So introduce some stub function here to make ACPI core compile and revisit them later when implemented on ARM64. CC: Liviu Dudau <Liviu.Dudau@xxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6e0a0ea12962a2175a9f47621f9fe7a4c866cb12 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:39 2015 +0000 ACPI / sleep: Introduce CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT ACPI 5.1 does not currently support S states for ARM64 hardware but ACPI code will call acpi_target_system_state() and acpi_sleep_init() for device power management, so introduce CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT and select it for x86 and ia64 only to make sleep functions available, and also introduce stub function to allow other drivers to function until S states are defined for ARM64. It will be no functional change for x86 and IA64. Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 652261a7a86c884147930fa1e5ddd82a8a5748da Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Mar 24 14:02:38 2015 +0000 ACPI: fix acpi_os_ioremap for arm64 The acpi_os_ioremap() function may be used to map normal RAM or IO regions. The current implementation simply uses ioremap_cache(). This will work for some architectures, but arm64 ioremap_cache() cannot be used to map IO regions which don't support caching. So for arm64, use ioremap() for non-RAM regions. CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 37655163ce1a3ef2635a9bba0ad614f25e01484e Author: Al Stone <al.stone@xxxxxxxxxx> Date: Tue Mar 24 14:02:37 2015 +0000 ARM64 / ACPI: Get RSDP and ACPI boot-time tables As we want to get ACPI tables to parse and then use the information for system initialization, we should get the RSDP (Root System Description Pointer) first, it then locates Extended Root Description Table (XSDT) which contains all the 64-bit physical address that pointer to other boot-time tables. Introduce acpi.c and its related head file in this patch to provide fundamental needs of extern variables and functions for ACPI core, and then get boot-time tables as needed. - asm/acenv.h for arch specific ACPICA environments and implementation, It is needed unconditionally by ACPI core; - asm/acpi.h for arch specific variables and functions needed by ACPI driver core; - acpi.c for ARM64 related ACPI implementation for ACPI driver core; acpi_boot_table_init() is introduced to get RSDP and boot-time tables, it will be called in setup_arch() before paging_init(), so we should use eary_memremap() mechanism here to get the RSDP and all the table pointers. FADT Major.Minor version was introduced in ACPI 5.1, it is the same as ACPI version. In ACPI 5.1, some major gaps are fixed for ARM, such as updates in MADT table for GIC and SMP init, without those updates, we can not get the MPIDR for SMP init, and GICv2/3 related init information, so we can't boot arm64 ACPI properly with table versions predating 5.1. If firmware provides ACPI tables with ACPI version less than 5.1, OS has no way to retrieve the configuration data that is necessary to init SMP boot protocol and the GIC properly, so disable ACPI if we get an FADT table with version less that 5.1 when acpi_boot_table_init() called. CC: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> CC: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b2cedba09dd7034c144c03eadc09ee1e4d791590 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Mar 24 14:02:36 2015 +0000 ARM64: allow late use of early_ioremap Commit 0e63ea48b4d8 (arm64/efi: add missing call to early_ioremap_reset()) added a missing call to early_ioremap_reset(). This triggers a BUG if code tries using early_ioremap() after the early_ioremap_reset(). This is a problem for some ACPI code which needs short-lived temporary mappings after paging_init() but before acpi_early_init() in start_kernel(). This patch adds definitions for the __late_set_fixmap() and __late_clear_fixmap() which avoids the BUG by allowing later use of early_ioremap(). CC: Leif Lindholm <leif.lindholm@xxxxxxxxxx> CC: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Jon Masters <jcm@xxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit aafc65c731fe2e6020850cd87ba69e96aaf38649 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Mar 24 14:02:35 2015 +0000 ACPI: add arm64 to the platforms that use ioremap Now with the base changes to the arm memory mapping it is safe to convert to using ioremap to map in the tables after acpi_gbl_permanent_mmap is set. CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx> Tested-by: Robert Richter <rrichter@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Acked-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 07f438df22886432ff50772446768f65fbbf3ee0 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Mar 24 14:02:34 2015 +0000 ACPI / table: Use pr_debug() instead of pr_info() for MADT table scanning For a normal 8 cpu sockets system, it will up to 240 cpu threads (Xeon E7 v2 family for now), and we need 240 entries for local apic or local x2apic in MADT table, so it will be much verbose information printed with a slow uart console when system booted, this will be even worse with large system with 16/32 cpu sockets. This patch just use pr_debug() instead of pr_info() for ioapic/iosapic, local apic/x2apic/sapic structures when scanning the MADT table to remove those verbose information, but leave other structures unchanged. CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 24deabf1b29a72ec7cb8e4f5e8151d60f0066467 Merge: 0c20856 12eb3e8 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Mar 25 11:44:29 2015 +0000 Merge branch 'aarch64/kvm-bounce-page' into aarch64/for-next/core linux-next testing found a bug with the PROVIDE keyword and older versions of binutils, so Ard has fixed that here. commit 12eb3e833961bfe532b763a6e4e817ec87f48bc7 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 24 17:48:07 2015 +0000 ARM: kvm: assert on HYP section boundaries not actual code size Using ASSERT() with an expression that involves a symbol that is only supplied through a PROVIDE() definition in the linker script itself is apparently not supported by some older versions of binutils. So instead, rewrite the expression so that only the section boundaries __hyp_idmap_text_start and __hyp_idmap_text_end are used. Note that this reverts the fix in 06f75a1f6200 ("ARM, arm64: kvm: get rid of the bounce page") for the ASSERT() being triggered erroneously when unrelated linker emitted veneers happen to end up in the HYP idmap region. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0a56c0e1e7ad4dc3721e96c499f3074cb6867cfe Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:29 2015 +0100 w1: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d8beff2ae07fad85d723b4cdf704b05f0ed4794 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:54:38 2015 +0100 uio: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 993c592d745c467d83e753c9e8f4e9f952381478 Merge: bc465aa 9a309d6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Mar 25 12:22:37 2015 +0100 Merge branch 'cpuidle/4.1' of http://git.linaro.org/people/daniel.lezcano/linux into pm-cpuidle Pull ARM cpuidle changes for v4.1 from Daniel Lezcano. * 'cpuidle/4.1' of http://git.linaro.org/people/daniel.lezcano/linux: ARM: cpuidle: Document the code ARM: cpuidle: Register per cpuidle device ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64 ARM64: cpuidle: Remove arm64 reference ARM64: cpuidle: Rename cpu_init_idle to a common function name ARM64: cpuidle: Replace cpu_suspend by the common ARM/ARM64 function ARM: cpuidle: Add a cpuidle ops structure to be used for DT ARM: cpuidle: Remove duplicate header inclusion commit 14d14a5d2957a4a047b4dbabb6d5ef28a7a70b33 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 08:09:56 2015 +0000 netfilter: nft_meta: use raw_smp_processor_id() Using smp_processor_id() triggers warnings with PREEMPT_RCU. There is no point in disabling preemption since we only collect the numeric value, so use raw_smp_processor_id() instead. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d95797252a9d967d462d9581fb72546d6a92e14b Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed Mar 25 08:09:55 2015 +0000 netfilter: nf_tables: nft_queue does not depend on x_tables Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit fce1528ef619bf55bf5e5bca8acaa8a37f0d4202 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Mar 24 10:55:38 2015 +0100 netfilter: nf_tables: restore nf_log_trace() in nf_tables_core.c As described by 4017a7e ("netfilter: restore rule tracing via nfnetlink_log"), this accidentally slipped through during conflict resolution in d5c1d8c. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a81b2ce8508b9c57c2eae0b0ab7fc8a5e849a4b4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 23 11:50:10 2015 -0700 netfilter: Use LOGLEVEL_<FOO> defines Use the #defines where appropriate. Miscellanea: Add explicit #include <linux/kernel.h> where it was not previously used so that these #defines are a bit more explicitly defined instead of indirectly included via: module.h->moduleparam.h->kernel.h Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5ebb335dcbe63470c88c4f80f2d571089543b638 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Mar 21 15:19:15 2015 +0000 netfilter: nf_tables: move struct net pointer to base chain The network namespace is only needed for base chains to get at the gencursor. Also convert to possible_net_t. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2c2b913d19e149bf7c4ae5f62634fc3b46a06306 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Wed Mar 4 09:32:32 2015 +0100 irqf_oneshot.cocci: add check of devm_request_threaded_irq() Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. Until now, this coccinelle script only checked request_threaded_irq(). However, the counterpart devm function (see kernel/irq/devres.c) is also affected by the missing flag which can be detected with this patch. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 5f5cc81733baf7b67a039a931dae282e53bf97b9 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:30 2015 -0700 Drivers: hv: vmbus: Fix a siganlling host signalling issue Handle the case when the write to the ringbuffer fails. In this case, unconditionally signal the host. Since we may have deferred signalling the host based on the kick_q parameter, signalling the host unconditionally in this case deals with the issue. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3a19b36ad7450d4c8caeb7d9f623af3da32a578 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:29 2015 -0700 Drivers: hv: vmbus: Export the vmbus_sendpacket_pagebuffer_ctl() Export the vmbus_sendpacket_pagebuffer_ctl() interface. This export will be used by the netvsc driver. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ce50e9491c5c92baf8bb7af85eb25398d3f70af Author: Vaughan Cao <vaughan.cao@xxxxxxxxxx> Date: Wed Mar 18 12:29:28 2015 -0700 hv: hypervvssd: call endmntent before call setmntent again If freeze fails, vss_operate will re-enter itself to thaw. But it forgets to call endmntent() before it recalls setmntent() again. Signed-off-by: Vaughan Cao <vaughan.cao@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2eddbc9f1a466329c68f3b75e89cfacd2792365 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:27 2015 -0700 Drivers: hv: vmbus: Fix a bug in rescind processing in vmbus_close_internal() When a channel has been rescinded, the close operation is a noop. Restructure the code so we deal with the rescind condition after we properly cleanup the channel. I would like to thank Dexuan Cui <decui@xxxxxxxxxxxxx> for observing this problem. The current code leaks memory when the channel is rescinded. The current char-next branch is broken and this patch fixes the bug. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4affbbb7217e440f80c922b2b304795758d40bb Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:26 2015 -0700 tools: hv: fcopy_daemon: support >2GB files for x86_32 guest Without this patch, hv_fcopy_daemon's hv_copy_data() -> pwrite() will fail for >2GB file offset. The current char-next branch is broken and this patch fixes the bug. Signed-off-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 177757423fde68a6ce773d2b67b468fbd8367bbc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 18 12:29:25 2015 -0700 hv: vmbus: missing curly braces in vmbus_process_offer() The indenting makes it clear that there were curly braces intended here. Fixes: 2dd37cb81580 ('Drivers: hv: vmbus: Handle both rescind and offer messages in the same context') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ef5b6927f14f29cacd78fa1fb861661a5367f13 Author: Nick Meier <nmeier@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:24 2015 -0700 Drivers: hv: vmbus: Correcting truncation error for constant HV_CRASH_CTL_CRASH_NOTIFY HV_CRASH_CTL_CRASH_NOTIFY is a 64 bit number. Depending on the usage context, the value may be truncated. This patch is in response from the following email from Wu Fengguang <fengguang.wu@xxxxxxxxx>: From: Wu Fengguang <fengguang.wu@xxxxxxxxx> Subject: [char-misc:char-misc-testing 25/45] drivers/hv/vmbus_drv.c:67:9: sparse: constant 0x8000000000000000 is so big it is unsigned long tree: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git char-misc-testing head: b3de8e3719e582f3182bb504295e4a8e43c8c96f commit: 96c1d0581d00f7abe033350edb021a9d947d8d81 [25/45] Drivers: hv: vmbus: Add support for VMBus panic notifier handler reproduce: # apt-get install sparse git checkout 96c1d0581d00f7abe033350edb021a9d947d8d81 make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) drivers/hv/vmbus_drv.c:67:9: sparse: constant 0x8000000000000000 is so big it is unsigned long ... Signed-off-by: Nick Meier <nmeier@xxxxxxxxxxxxx> Reported-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5abbbb75d733793b1637441691de95b7665cee85 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Mar 18 12:29:23 2015 -0700 Drivers: hv: hv_balloon: don't lose memory when onlining order is not natural Memory blocks can be onlined in random order. When this order is not natural some memory pages are not onlined because of the redundant check in hv_online_page(). Here is a real world scenario: 1) Host tries to hot-add the following (process_hot_add): pg_start=rg_start=0x48000, pfn_cnt=111616, rg_size=262144 2) This results in adding 4 memory blocks: [ 109.057866] init_memory_mapping: [mem 0x48000000-0x4fffffff] [ 114.102698] init_memory_mapping: [mem 0x50000000-0x57ffffff] [ 119.168039] init_memory_mapping: [mem 0x58000000-0x5fffffff] [ 124.233053] init_memory_mapping: [mem 0x60000000-0x67ffffff] The last one is incomplete but we have special has->covered_end_pfn counter to avoid onlining non-backed frames and hv_bring_pgs_online() function to bring them online later on. 3) Now we have 4 offline memory blocks: /sys/devices/system/memory/memory9-12 $ for f in /sys/devices/system/memory/memory*/state; do echo $f `cat $f`; done | grep -v onlin /sys/devices/system/memory/memory10/state offline /sys/devices/system/memory/memory11/state offline /sys/devices/system/memory/memory12/state offline /sys/devices/system/memory/memory9/state offline 4) We bring them online in non-natural order: $grep MemTotal /proc/meminfo MemTotal: 966348 kB $echo online > /sys/devices/system/memory/memory12/state && grep MemTotal /proc/meminfo MemTotal: 1019596 kB $echo online > /sys/devices/system/memory/memory11/state && grep MemTotal /proc/meminfo MemTotal: 1150668 kB $echo online > /sys/devices/system/memory/memory9/state && grep MemTotal /proc/meminfo MemTotal: 1150668 kB As you can see memory9 block gives us zero additional memory. We can also observe a huge discrepancy between host- and guest-reported memory sizes. The root cause of the issue is the redundant pg >= covered_start_pfn check (and covered_start_pfn advancing) in hv_online_page(). When upper memory block in being onlined before the lower one (memory12 and memory11 in the above case) we advance the covered_start_pfn pointer and all memory9 pages do not pass the check. If the assumption that host always gives us requests in sequential order and pg_start always equals rg_start when the first request for the new HA region is received (that's the case in my testing) is correct than we can get rid of covered_start_pfn and pg >= start_pfn check in hv_online_page() is sufficient. The current char-next branch is broken and this patch fixes the bug. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3f6eb80872becdbce07f7d2670d3f8ae5119752 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Mar 18 12:29:22 2015 -0700 Drivers: hv: hv_balloon: keep locks balanced on add_memory() failure When add_memory() fails the following BUG is observed: [ 743.646107] hv_balloon: hot_add memory failed error is -17 [ 743.679973] [ 743.680930] ===================================== [ 743.680930] [ BUG: bad unlock balance detected! ] [ 743.680930] 3.19.0-rc5_bug1131426+ #552 Not tainted [ 743.680930] ------------------------------------- [ 743.680930] kworker/0:2/255 is trying to release lock (&dm_device.ha_region_mutex) at: [ 743.680930] [<ffffffff81aae5fe>] mutex_unlock+0xe/0x10 [ 743.680930] but there are no more locks to release! This happens as we don't acquire ha_region_mutex and hot_add_req() expects us to as it does unconditional mutex_unlock(). Acquire the lock on the error path. The current char-next branch is broken and this patch fixes the bug. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fde25d25dbd997067058f7d4c2ff31600157e6f2 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Mar 18 12:29:21 2015 -0700 Drivers: hv: vmbus: Perform device register in the per-channel work element This patch is a continuation of the rescind handling cleanup work. We cannot block in the global message handling work context especially if we are blocking waiting for the host to wake us up. I would like to thank Dexuan Cui <decui@xxxxxxxxxxxxx> for observing this problem. The current char-next branch is broken and this patch fixes the bug. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57fe1b263907430a27fabcfde11a144caac9f5cd Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Mar 25 08:05:49 2015 +0100 s390/irq: enforce correct irqclass_sub_desc array size Add a BUILD_BUG_ON() to enforce that irqclass_sub_desc contains the required number of defined interrupt descriptions and won't be filled up with zeros. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 304987e36577e308be483113fa85cef8d1b948d8 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Mar 24 08:10:53 2015 +0100 s390: remove "64" suffix from mem64.S and swsusp_asm64.S Rename two more files which I forgot. Also remove the "asm" from the swsusp_asm64.S file, since the ".S" suffix already makes it obvious that this file contains assembler code. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3be7ae6350c2418efc51aa779a31a6e27c47e046 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 10:36:14 2015 +0100 s390/ipl: cleanup macro usage ipl.c uses 3 different macros to create a sysfs show function for ipl attributes. Define IPL_ATTR_SHOW_FN which is used by all macros. Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0f024379ff8bce40d2387bd7de2dbf0921ab5a5c Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 10:28:46 2015 +0100 s390/ipl: cleanup shutdown_action attributes Use macros wherever applicable and create a shutdown_action attribute group to simplify the code. Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 22d557abf75ce39f8b2264c86058b4bcc7a8f9f0 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 10:25:16 2015 +0100 s390/ipl: cleanup bin attr usage Use macros wherever applicable and put bin_attributes inside attribute_groups to simplify/remove some code. Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9f9d86e1e9ecbb43d0ca41c9c9118f141ab8d93e Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Mar 16 12:59:04 2015 +0100 s390/uprobes: fix address space annotation Remove __user address space annotation for sim_stor_event() calls since it generates false positive warnings from sparse. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2a5e91c3acda515f9faac646777f3e54aa9cf04b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Mar 16 12:46:38 2015 +0100 s390: add missing arch_release_task_struct() declaration Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3ddb1b7578040ef114747e30f277cfea6286c5da Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Mar 16 12:44:10 2015 +0100 s390: make couple of functions and variables static As reported by sparse these can and should be static. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3c1a3bcea945f9d59ab1fe3d319c67c0ff56100f Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Mar 13 13:13:36 2015 +0100 s390/maccess: improve s390_kernel_write() Use the sturg instruction instead of the stura instruction. This allows to modify up to eight bytes in a row instead of only four. For function tracer enabling and disabling this reduces the time needed to modify the text sections by 50%, since for each mcount call site six bytes need to be changed. Also remove the EXTABLE entries, since calls to this function are not supposed to fail. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8a5d8473dd7e2b0bc2864e34bd6836b520589fa1 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Mar 13 12:55:56 2015 +0100 s390/maccess: remove potentially broken probe_kernel_write() Remove the s390 architecture implementation of probe_kernel_write() and instead use a new function s390_kernel_write() to modify kernel text and data everywhere. The s390 implementation of probe_kernel_write() was potentially broken since it modified memory in a read-modify-write fashion, which read four bytes, modified the requested bytes within those four bytes and wrote the result back. If two cpus would modify the same four byte area at different locations within that area, this could lead to corruption. Right now the only places which called probe_kernel_write() did run within stop_machine_run. Therefore the scenario can't happen right now, however that might change at any time. To fix this rename probe_kernel_write() to s390_kernel_write() which can have special semantics, like only call it while running within stop_machine(). Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b2527d2009903a06b0076bb89166c72a0f17823b Author: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 16:26:30 2015 +0800 s390/watchdog: support for KVM hypervisors and delete pr_info messages This patch extends the diag288 watchdog driver to be able to deal with KVM hypervisors. Only z/VM needs special handling, we can use the same interface as on LPAR. Remove all pr_info output to avoid misconception. Because there is no value in these messages and only the pr_err messages make sense. Signed-off-by: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9ec6cb80c8752db70174d3f67d33243fbab05014 Author: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 16:26:29 2015 +0800 s390/watchdog: enable KEEPALIVE for /dev/watchdog There's no reason why we wouldn't want to be able to send a keep alive message to /dev/watchdog (feed dog) for the s390 diag288 watchdog, so let's enable the WDIOF_KEEPALIVEPING option. Signed-off-by: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a5fd8ddce2af98c7f8199d37a0b866e98f4c0de0 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Wed Mar 4 14:29:47 2015 +0100 s390/dasd: remove setting of scheduler from driver Remove the hard coded scheduler for the DASD device driver to enable change of the scheduler during runtime. Set recommended deadline scheduler via additional udev rule. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e1d12d70f7467c3b26cbd0c14139dcddec88448d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Feb 18 14:17:14 2015 +0100 s390/traps: panic() instead of die() on translation exception In case of a translation exception the page tables are corrupted. If the exception handler then calls die() which again calls show_regs() -> show_code() -> copy_from_user(), the kernel may access the same memory location again and generates yet another translation exception. Which in turn will lead to a deadlock on the die_lock spinlock, which the kernel tries to grab recursively. Given that the page tables are corrupted anyway, if we see such an exception, let's simply panic. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 86cd741bc6ed0edf6ea0e8ec5c840cf9e3f3a7cb Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Sat Feb 14 11:23:21 2015 +0100 s390: remove test_facility(2) (== z/Architecture mode active) checks Given that the kernel now always runs in 64 bit mode, it is pointless to check if the z/Architecture mode is active. Remove the checks. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 26f15caaf993bbb6f246a30aad3c96a349564528 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Sat Feb 14 11:10:14 2015 +0100 s390/cmpxchg: simplify cmpxchg_double Since sizeof(long) == 4 is always false now, simplify cmpxchg_double a bit. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a876cb3f6b2d3eb9e857d06caa9ed4c911ea0bd3 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Feb 13 14:44:29 2015 +0100 s390: remove 31 bit syscalls Remove the 31 bit syscalls from the syscall table. This is a separate patch just in case I screwed something up so it can be easily reverted. However the conversion was done with a script, so everything should be ok. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 4bfc86ce9436ea8064cad90fd891625bd814be1d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Feb 13 13:04:39 2015 +0100 s390: remove "64" suffix from a couple of files Rename a couple of files to get rid of the "64" suffix. "git blame" will still work. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5a79859ae0f35d25c67a03e82bf0c80592f16a39 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Feb 12 13:08:27 2015 +0100 s390: remove 31 bit support Remove the 31 bit support in order to reduce maintenance cost and effectively remove dead code. Since a couple of years there is no distribution left that comes with a 31 bit kernel. The 31 bit kernel also has been broken since more than a year before anybody noticed. In addition I added a removal warning to the kernel shown at ipl for 5 minutes: a960062e5826 ("s390: add 31 bit warning message") which let everybody know about the plan to remove 31 bit code. We didn't get any response. Given that the last 31 bit only machine was introduced in 1999 let's remove the code. Anybody with 31 bit user space code can still use the compat mode. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0daa7a0afd0fa7aad83cbde0fb341d7fbeac952c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 2 15:44:55 2015 +0100 hwrng: Avoid manual device_create_file() calls Use the new group field of struct miscdevice for managing the sysfs entries instead of manually adding/removing via device_create_file() and device_remove_file(). This simplifies the code a lot and fixes the possible races. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd735995308b553cc3c7f6a975aa284b270c7e2c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 2 15:44:54 2015 +0100 misc: Add attribute groups Add groups field to struct miscdevice for passing the attribute groups at device creation. In this way, the driver can avoid the manual call of device_create_file() after the device registration, which is basically a racy operation, in addition to the reduction of manual device_remove_file() calls. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f9763190dd6356eec95548f4cfa8a36a71f767c Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 14:09:09 2015 -0500 misc: mic: fixup return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. The rc variable is renamed timeout to reflect its use and the type adjusted to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 860cba13432e071442a39e9bab83258c631d33a6 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 14:24:25 2015 -0500 misc: carma: fixup return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. The rc variable is renamed timeout to reflect its use and the type adjusted to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a819a228feae6f936e2696c4946c53f883a3d480 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 14:43:44 2015 -0500 misc: tifm: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. The rc variable is in use for other calls so an additional timeout variable of type unsigned long is added. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03190c67ff72b5c56b24266762ab8abe68970f45 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Mon Mar 23 13:59:46 2015 +0100 char: misc: document behaviour of open() an open syscall now assignes file->private_data to a pointer to the miscdevice structure. This reminds people not to duplicate code if they want this and not to depend on it being NULL. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab3ae0096a6d31e1b244c5c5155f48ef3700329e Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Mar 19 12:10:09 2015 +0200 mei: fix regression on NFC connection In mei_host_client_init function we enable the all internal connected clients including NFC. This is done before we set the device to enabled state and let userspace call open. We need to check only for MEI_FILE_CONNECTED in mei_cl_is_connected in order to enable the communication with the clients before MEI_DEV_ENABLED is set. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d939b52abe0cee9cc3167f554da6b864db86d3f2 Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Tue Mar 24 18:31:23 2015 +0300 cris: fix integer overflow in ELF_ET_DYN_BASE Almost all arches define ELF_ET_DYN_BASE as 2/3 of TASK_SIZE. Though it seems that some architectures do this in a wrong way. The problem is that 2*TASK_SIZE may overflow 32-bits so the real ELF_ET_DYN_BASE becomes wrong. Fix this overflow by dividing TASK_SIZE prior to multiplying: (TASK_SIZE / 3 * 2) Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit aa6467f190d32b263f7144239c89c63c922d9ff8 Author: Jorgen Hansen <jhansen@xxxxxxxxxx> Date: Mon Mar 2 08:19:11 2015 -0800 VMCI: Guard against overflow in queue pair allocation The current maximum size of a queue in a queue pair is 128 MB. If we increase that in the future, the queue pair allocation routines may run into overflow issues. This change adds additional checks to guard against this. Acked-by: Andy King <acking@xxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jorgen Hansen <jhansen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74b5c297f5ecbef0ca128fa7b385b43f036a7984 Author: Andy King <acking@xxxxxxxxxx> Date: Thu Feb 19 10:33:56 2015 -0800 VMCI: Check userland-provided datagram size Ensure that the size filled in by userland in the datagram header matches the size of the buffer passed down in the IOCTL. Note that we account for the size of the header itself in the check. Acked-by: Jorgen Hansen <jhansen@xxxxxxxxxx> Acked-by: Aditya Sarwade <asarwade@xxxxxxxxxx> Signed-off-by: Andy King <acking@xxxxxxxxxx> Reported-by: David Ramos <daramos@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf1361211dd842659b5b882390de687426f3471a Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Tue Feb 17 14:29:21 2015 -0800 drivers/vmw_vmci: Show correct get_user_pages_fast upon failure As of 240ddd495a9 (vmw_vmci: Convert driver to use get_user_pages_fast()) we no longer user get_user_pages(), thus update the warning. Also convert to pr_debug, which is a more appropriate level of logging. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d38b98a3b8c951a2d7f742609524632e078ddede Merge: ff85f70 0164a71 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 11:29:51 2015 +0100 Merge branch 'fix_ioremap_wc' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag into char-misc-next commit d3dad475b2839b9964ef54211e135eb6fb9952f9 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Mar 9 18:51:31 2015 +0100 CRISv32: use GENERIC_SCHED_CLOCK Provide a fast sched clock using the free-running timer and the generic sched_clock infrastructure. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit edfb6d5f1a05627204d1640ba527312dc8ea745a Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Mar 9 18:48:25 2015 +0100 CRISv32: use MMIO clocksource Use a generic MMIO clocksource and get rid of some lines of code. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit ed9fd3ff0251783cb3943e71aac398b9064efae6 Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Mar 8 16:29:12 2015 +0100 CRISv32: use generic clockevents Implement a oneshot-capable clockevents device so we get support for things like hrtimers and NOHZ. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 16428f943d192390b4673612b1d3fb81772323d9 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 18:13:43 2015 +0100 CRIS: use generic headers via Kbuild Delete headers which do nothing but include the asm-generic versions and use Kbuild magic instead. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit f87a2f58e34857304b8a2c284d02360210186dd0 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 18:56:17 2015 +0100 CRIS: use generic cmpxchg.h CRIS can use asm-generic's cmpxchg.h Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit e7db8a3c96970d847da5611e78b6bde998f13da8 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 17:54:35 2015 +0100 CRIS: use generic atomic.h CRIS can use asm-generic's atomic.h. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit f64751118b07579c7ebb7935b6fd8cc8e2c3291a Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 17:53:33 2015 +0100 CRIS: use generic atomic bitops The generic atomic bitops are the same as the CRIS-specific ones. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 3c2165f807570c936b8ed6714edff1ef44def50a Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 22 20:45:46 2015 +0100 CRISv10: remove redundant macros from system.h All of these are either unused or already provided by other headers, so they can be removed. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 47a8f6fb349c977ff752f979b159aef96a0bb352 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 17:35:28 2015 +0100 CRIS: remove SMP code The CRIS SMP code cannot be built since there is no (and appears to never have been) a CONFIG_SMP Kconfig option in arch/cris/. Remove it. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 06aca92424c2a53a9e26cb81c1d6a829af9491b8 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 18:20:09 2015 +0100 CRISv32: don't enable irqs in INIT_THREAD INIT_THREAD enables interrupts in the thread_struct's saved flags. This means that interrupts get enabled in the middle of context_switch() while switching to new tasks that get forked off the init task during boot. Don't do this. Fixes the following splat on boot with spinlock debugging on: BUG: spinlock cpu recursion on CPU#0, swapper/2 lock: runqueues+0x0/0x47c, .magic: dead4ead, .owner: swapper/0, .owner_cpu: 0 CPU: 0 PID: 2 Comm: swapper Not tainted 3.19.0-08796-ga747b55 #285 Call Trace: [<c0032b80>] spin_bug+0x2a/0x36 [<c0032c98>] do_raw_spin_lock+0xa2/0x126 [<c01964b0>] _raw_spin_lock+0x20/0x2a [<c00286c8>] scheduler_tick+0x22/0x76 [<c003db2c>] update_process_times+0x5e/0x72 [<c0007a94>] timer_interrupt+0x4e/0x6a [<c00378d6>] handle_irq_event_percpu+0x54/0xf2 [<c00379c4>] handle_irq_event+0x50/0x74 [<c003988e>] handle_simple_irq+0x6c/0xbe [<c0037270>] generic_handle_irq+0x2a/0x36 [<c0004c40>] do_IRQ+0x38/0x84 [<c000662e>] crisv32_do_IRQ+0x54/0x60 [<c0006204>] IRQ0x4b_interrupt+0x34/0x3c [<c0192baa>] __schedule+0x24a/0x532 [<c00056b4>] ret_from_kernel_thread+0x0/0x14 Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 9a7449d3e975fe5c5ca12b7fea4f4bd69188a5f9 Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 8 18:19:17 2015 +0100 CRISv32: handle multiple signals Al Viro noted that CRIS fails to handle multiple signals. This fixes the problem for CRISv32 by making it use a C work_pending handling loop similar to the ARM implementation in 0a267fa6a15d41c ("ARM: 7472/1: pull all work_pending logics into C function"). This also happens to fixes the warnings which currently trigger on CRISv32 due to do_signal() being called with interrupts disabled. Test case (should die of the SIGSEGV which gets raised when setting up the stack for SIGALRM, but instead reaches and executes the _exit(1)): #include <unistd.h> #include <signal.h> #include <sys/time.h> #include <err.h> static void handler(int sig) { } int main(int argc, char *argv[]) { int ret; struct itimerval t1 = { .it_value = {1} }; stack_t ss = { .ss_sp = NULL, .ss_size = SIGSTKSZ, }; struct sigaction action = { .sa_handler = handler, .sa_flags = SA_ONSTACK, }; ret = sigaltstack(&ss, NULL); if (ret < 0) err(1, "sigaltstack"); sigaction(SIGALRM, &action, NULL); setitimer(ITIMER_REAL, &t1, NULL); pause(); _exit(1); return 0; } Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20121208074429.GC4939@xxxxxxxxxxxxxxxxxx Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit ff85f707ac49ad77b7cf8dcef38e7fcd468ca3d6 Merge: e9533ae bc465aa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 25 10:51:53 2015 +0100 Merge 4.0-rc5 into char-misc-next We want those fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f72e5c0df732658d5e9e3c556c9c6928034e291 Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 8 17:53:22 2015 +0100 CRISv32: prevent bogus restarts on sigreturn Al Viro noted that CRIS is vulnerable to bogus restarts on sigreturn. The fixes CRISv32 by using regs->exs as an additional indicator to whether we should attempt to restart the syscall or not. EXS is only used in the sigtrap handling, and in that path we already have r9 (the other indicator, which indicates if we're in a syscall or not) cleared. Test case, a port of Al's ARM version from 653d48b22166db2d8 ("arm: fix really nasty sigreturn bug"): #include <unistd.h> #include <signal.h> #include <stdlib.h> #include <sys/time.h> #include <errno.h> void f(int n) { register int r10 asm ("r10") = n; __asm__ __volatile__( "ba 1f \n" "nop \n" "break 8 \n" "1: ba . \n" "nop \n" : : "r" (r10) : "memory"); } void handler1(int sig) { } void handler2(int sig) { raise(1); } void handler3(int sig) { exit(0); } int main(int argc, char *argv[]) { struct sigaction s = {.sa_handler = handler2}; struct itimerval t1 = { .it_value = {1} }; struct itimerval t2 = { .it_value = {2} }; signal(1, handler1); sigemptyset(&s.sa_mask); sigaddset(&s.sa_mask, 1); sigaction(SIGALRM, &s, NULL); signal(SIGVTALRM, handler3); setitimer(ITIMER_REAL, &t1, NULL); setitimer(ITIMER_VIRTUAL, &t2, NULL); f(-513); /* -ERESTARTNOINTR */ return 0; } Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20121208074429.GC4939@xxxxxxxxxxxxxxxxxx Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit db4a35c651a10eddc6b48b69e1db1f46bea303fa Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 8 16:57:40 2015 +0100 CRISv32: don't attempt syscall restart on irq exit r9 is used to determine whether syscall restarting must be performed or not. Unfortunately, r9 is never set to zero in the non-syscall path, and r9 is on top of that a callee-saved register which can be set to non-zero by the C functions that are called during IRQ handling. This means that if r10 (used for the syscall return value) is one of the -ERESTART* values when a hardware interrupt occurs which leads to a signal being delivered to the process, the kernel will "restart" a syscall which never occurred. This will lead to the PC being moved back by 2 on return to user space. Fix the problem by setting r9 to zero in the interrupt path. Test case (should loop forever but ends up executing the break 8 trap instruction): #include <signal.h> #include <stdlib.h> #include <sys/time.h> void f(int n) { register int r9 asm ("r9") = 1; register int r10 asm ("r10") = n; __asm__ __volatile__( "ba 1f \n" "nop \n" "break 8 \n" "1: ba . \n" "nop \n" : : "r" (r9), "r" (r10) : "memory"); } void handler1(int sig) { } int main(int argc, char *argv[]) { struct itimerval t1 = { .it_value = {1} }; signal(SIGALRM, handler1); setitimer(ITIMER_REAL, &t1, NULL); f(-513); /* -ERESTARTNOINTR */ return 0; } Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 1eb1390bb21b1aa3b303627eb254296f097988cb Author: Jesper Nilsson <jespern@xxxxxxxx> Date: Wed Mar 25 10:06:21 2015 +0100 Add binding documentation for CRIS Only includes the devboard 88 (CRISv32) at the moment. Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 235c362bd0f6afcf767bc72aa0c647e1434cc631 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Fri Mar 20 10:39:42 2015 +0000 UBIFS: extend debug/message capabilities In the case where we have more than one volumes on different UBI devices, it may be not that easy to tell which volume prints the messages. Add ubi number and volume id in ubifs_msg/warn/error to help debug. These two values are passed by struct ubifs_info. For those where ubifs_info is not initialized yet, ubifs_* is replaced by pr_*. For those where ubifs_info is not avaliable, ubifs_info is passed to the calling function as a const parameter. The output looks like, [ 95.444879] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 696 [ 95.484688] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "test1" [ 95.484694] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [ 95.484699] UBIFS (ubi0:1): FS size: 30220288 bytes (28 MiB, 238 LEBs), journal size 1523712 bytes (1 MiB, 12 LEBs) [ 95.484703] UBIFS (ubi0:1): reserved for root: 1427378 bytes (1393 KiB) [ 95.484709] UBIFS (ubi0:1): media format: w4/r0 (latest is w4/r0), UUID 40DFFC0E-70BE-4193-8905-F7D6DFE60B17, small LPT model [ 95.489875] UBIFS (ubi1:0): background thread "ubifs_bgt1_0" started, PID 699 [ 95.529713] UBIFS (ubi1:0): UBIFS: mounted UBI device 1, volume 0, name "test2" [ 95.529718] UBIFS (ubi1:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [ 95.529724] UBIFS (ubi1:0): FS size: 19808256 bytes (18 MiB, 156 LEBs), journal size 1015809 bytes (0 MiB, 8 LEBs) [ 95.529727] UBIFS (ubi1:0): reserved for root: 935592 bytes (913 KiB) [ 95.529733] UBIFS (ubi1:0): media format: w4/r0 (latest is w4/r0), UUID EEB7779D-F419-4CA9-811B-831CAC7233D4, small LPT model [ 954.264767] UBIFS error (ubi1:0 pid 756): ubifs_read_node: bad node type (255 but expected 6) [ 954.367030] UBIFS error (ubi1:0 pid 756): ubifs_read_node: bad node at LEB 0:0, LEB mapping status 1 Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 8a87dc55f75f19ffdbb52066afea1b633577c79f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Mar 12 21:34:21 2015 +0100 UBIFS: simplify returns Directly return recover_head() and ubifs_leb_unmap() instead of storing value in err and testing it. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit d3f9db00d04ef1388d7ff24130b9a95099ce1542 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Fri Mar 6 23:14:39 2015 +0100 UBIFS: Fix trivial typos in comments Change 'comress' to 'compress' Change 'inteval' to 'interval' Change 'disabe' to 'disable' Change 'nenver' to 'never' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 2c84599ca4c2ffd81301f23eabc69c5180ff2f64 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Wed Mar 4 10:46:16 2015 +0000 UBIFS: do not write master node if need recovery The commits 781c571 ("UBIFS: intialize LPT earlier") and 0980119 ("UBIFS: fix-up free space earlier") move some initialization before marking the master node dirty. But the modification changes the conditions of writing master. If unclean umount happens, ubifs may fail when mounting. But trying to mount it will write new master nodes on the flash. This is useless but increasing sqnum. So check need_recovery before writing master node, and don't create new master node if filesystem needs recovery. The behavour of the bug shows at: http://lists.infradead.org/pipermail/linux-mtd/2015-February/057712.html Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Reviewed-by: Ben Gardiner <ben.l.gardiner@xxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 9401a795c6478953e10226471ba5990db5000e05 Author: Taesoo Kim <tsgatesv@xxxxxxxxx> Date: Wed Mar 25 09:53:37 2015 +0100 UBIFS: fix incorrect unlocking handling When ubifs_init_security() fails, 'ui_mutex' is incorrectly unlocked and incorrectly restores 'i_size'. Fix this. Signed-off-by: Taesoo Kim <tsgatesv@xxxxxxxxx> Fixes: d7f0b70d30ff ("UBIFS: Add security.* XATTR support for the UBIFS") Reviewed-by: Ben Shelton <ben.shelton@xxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 3a3e1c88362429ca3a6ef84d232e56b197294ce0 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Feb 23 15:57:32 2015 +0200 ARM: OMAP2+: PRCM: add support for static clock memmap indices All clock provider related drivers will now register their iomaps with a static index. This makes it easier to split up the individual drivers to their own files in subsequent patches. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e8e8f7e41b86c3d89e6db2cf9e54cf2b17ff112a Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Feb 25 15:09:21 2015 +0200 Documentation: DT: document PRCM compatible strings for dm81x SoCs These PRCM nodes were earlier added in patch 7800064ba5 ("ARM: dts: Add basic dm816x device tree configuration"), but the documentation for the same wasn't added. Fix this by adding the missing compatible strings under the generic prcm.txt document. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit b22df89fcc470f27ac442b5c0e8cdfc21d51de9b Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Nov 19 16:13:57 2014 +0200 ARM: OMAP4: PRM: move omap4xxx_prm_init earlier in init order OMAP4 has different ordering of PRM and CM init calls in the early init. Re-oder these accordingly for OMAP4 also. This is needed so that we can do some optimizations in the following patches for the PRCM init. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 66db6428d5dccac9f38d92d521a9b3de8d9d0b0b Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Nov 6 14:39:40 2014 +0200 ARM: OMAP4+: CM: move omap_cm_base_init under OMAP4 CM driver There is no need to call this separately from io.c, rather this can be done commonly under the CM driver. Also, this patch makes the API static, as it is no longer used outside the driver file. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 4e3870f3f62b18d92ff1ec5e7ff408afed0766f0 Author: Tero Kristo <t-kristo@xxxxxx> Date: Thu Nov 6 14:34:32 2014 +0200 ARM: OMAP4+: PRM: move omap_prm_base_init under OMAP4 PRM driver There is no need to call this separately from io.c, rather this can be done commonly under the PRM driver. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e9f1ddcdec54d32892a0a749de017a39c6c84beb Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Apr 4 15:52:01 2014 +0300 ARM: OMAP3+: PRM: add common APIs for prm_vp_check/clear_txdone PRM driver now only exports a generic API for clearing / checking VP txdone status. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 9cb6d36371b0a9935de92bf250c7152f5b50fdc1 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Apr 4 12:31:51 2014 +0300 ARM: OMAP2+: PRM: add generic API for clear_mod_irqs OMAP2/3 now use generic API for the prm_clear_mod_irqs, the SoC specific implementation details are provided through prm_ll_data. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit f0caa5270bcf97c6a51c89d44747da00c0d67bb8 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Apr 4 12:14:27 2014 +0300 ARM: OMAP3: PRM: invert the wkst_mask for the prm_clear_mod_irqs This makes the API the same as used with OMAP2, and makes it possible to implement a generic driver API for the functionality. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 3a1a388e910950553817b71046b00511d6242b06 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Nov 18 14:59:36 2014 +0200 ARM: OMAP2+: PRCM: rename of_prcm_init to omap_prcm_init This avoids conflicts in the global namespace, and is more descriptive of the purpose anyway. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 3527a86b7ae17c949307d00e1eb7087604bca1b4 Merge: b388e6a bc465aa Author: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Date: Wed Mar 25 11:03:07 2015 +0200 Merge tag 'v4.0-rc5' into linux-next Merge the upstream -rc5 tag because we needed a more up-to-date base our further work. commit 9a309d6fd213911321acbfe839e0bdb3a7a9f4bf Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Mar 24 10:49:55 2015 +0100 ARM: cpuidle: Document the code Add kernel-doc format documentation in the code. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit c8e840d8578a68a77cfd29f8cd68fb210855ce87 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Jan 19 22:26:06 2015 +0100 CRIS: add Axis 88 board device tree Add a minimal device tree for the ETRAX FS SoC and the Axis 88 developer board. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit a9f75ac5a24cb94c2373daa3d73f90d22cf5d94b Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 8 16:14:06 2015 +0100 CRISv32: add device tree support Add support for booting CRISv32 with a built-in device tree. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 43f7071e107ede92ac9e499d218233c8bb4c3607 Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Feb 8 16:15:19 2015 +0100 CRISv32: add irq domains support Add support for IRQ domains to the CRISv32 interrupt controller. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 3a3ad3e9d54c968de1a26fe8ad5982f7ddec7e9f Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Mon Mar 23 18:47:29 2015 +0200 mmc: sdhci-msm: Add support for vendor capabilities registers Some versions of this controller do not advertise their 3.0v and 8bit bus-width support capabilities. It is required to explicitly set these capabilities for the specific controller versions. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 07bf2b54cd8555390cf5fced9471689ebf7fd56c Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Mar 24 14:45:04 2015 +0100 mmc: sdhci-esdhc-imx: support voltage-range property Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9369c97cc7eca4a73baf382cfabe92ed20ea04ed Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Mar 24 18:39:49 2015 -0700 mmc: mmci: Cascade EPROBE_DEFER from regulators. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit dc5248820d0b766155fb542e060131a979594b56 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Mar 20 10:15:29 2015 +0100 MAINTAINERS: mmc: Add Jaehoon as co-maintainer for SDHCI SAMSUNG DRIVER Jaehoon has volunteered in maintaining the SDHCI SAMSUNG DRIVER so add him. Since we are updating this section let's also correct file path to cover all files for sdhci-s3c. Cc: Ben Dooks <ben-linux@xxxxxxxxx> Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1a467abf198b4fb3dbf9a8c3d0d2d8650bbe0286 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:53:11 2015 +0000 mmc: atmel-mci: use endian agnostic IO Change the __raw IO functions to endian agnostic relaxed ones to allow the driver to function on big endian ARM systems. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8fda64c23c2a2d421704d349696565b3a8366864 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 5 21:20:26 2015 +0100 CRIS: enable GPIOLIB Enable GPIOLIB on CRIS so that we can use the generic GPIO APIs. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 4738465c37298cd9228750f7e16aad88af8495c5 Author: W. Trevor King <wking@xxxxxxxxxx> Date: Wed Mar 25 00:43:42 2015 -0700 ALSA: hda/via - Add beep controls to VIA codecs My codec has a beep-generating node: $ cat /proc/asound/card1/codec#0 Codec: VIA VT1802 ... Vendor Id: 0x11068446 Subsystem Id: 0x15587410 Revision Id: 0x100000 ... Node 0x22 [Beep Generator Widget] wcaps 0x70040c: Mono Amp-Out Amp-Out caps: ofs=0x0a, nsteps=0x12, stepsize=0x05, mute=1 Amp-Out vals: [0x0a] Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 ... But I was missing the: Control: name=... entries that I need to manage this widget from alsamixer. With this patch (based on the similar Mono Amp-Out handling in patch_conexant.c), I get a new: input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card1/hdaudioC1D0/input15 entry in dmesg and controls to manage that beep: $ cat /proc/asound/card1/codec#0 | grep -A5 Beep Node 0x22 [Beep Generator Widget] wcaps 0x70040c: Mono Amp-Out Control: name="Beep Playback Volume", index=0, device=0 ControlAmp: chs=1, dir=Out, idx=0, ofs=0 Control: name="Beep Playback Switch", index=0, device=0 ControlAmp: chs=1, dir=Out, idx=0, ofs=0 Amp-Out caps: ofs=0x0a, nsteps=0x12, stepsize=0x05, mute=1 Amp-Out vals: [0x12] Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 [rebased and modified for the latest tree by tiwai] Signed-off-by: W. Trevor King <wking@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 44e39b985393e506d82b669c9765e850daed9dc5 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Mar 25 07:40:33 2015 +0100 ALSA: hda - Remove superfluous hda_nid_t definition in hda_codec.h Just forgotten to remove. It's now in sound/hdaudio.h. Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9697a5595ece52a722d88f25a90ded0028e5e6b4 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Wed Mar 11 08:36:54 2015 +0000 of/unittest: replace 'selftest' with 'unittest' This patch just replace the string 'selftest' with 'unittest' in OF unittest and data and binding file. I have tested it successfully on ARM. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit b921e90260cec1e04988bb3763491de885b67b51 Author: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 11 11:57:23 2015 +0530 powerpc/powernv: Add OPAL message notifier unregister function Provide an unregister interface for the opal message notifiers to be called when not needed like during driver unload/remove. Signed-off-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Reviewed-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 792f96e9a769b799a2944e9369e4ea1e467135b2 Author: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 11 11:57:06 2015 +0530 powerpc/powernv: Fix the overflow of OPAL message notifiers head array Fixes the condition check of incoming message type which can otherwise shoot beyond the message notifiers head array. Signed-off-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Reviewed-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 111fbc68fd895ba437bcb03d5dcc4dd21bc61df8 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Feb 20 19:12:53 2015 +0100 powerpc/pmac: replace current->state by set_current_state() Use helper functions to access current->state. Direct assignments are prone to races and therefore buggy. current->state = TASK_RUNNING can be replaced by __set_current_state() Thanks to Peter Zijlstra for the exact definition of the problem. Suggested-By: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 1f8c82ab1b0bc7e24601c0fca411fd27b9c883ef Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 4 12:56:20 2015 +0100 cpufreq/ppc: Add missing #include <asm/smp.h> If CONFIG_SMP=n, <linux/smp.h> does not include <asm/smp.h>, causing: drivers/cpufreq/ppc-corenet-cpufreq.c: In function 'corenet_cpufreq_cpu_init': drivers/cpufreq/ppc-corenet-cpufreq.c:173:3: error: implicit declaration of function 'get_hard_smp_processor_id' [-Werror=implicit-funcuresh E. Warrier" <warrier@xxxxxxxxxxxxxxxxxx> X-Patchwork-Id: 443703 Message-Id: <54EE5989.7010800@xxxxxxxxxxxxxxxxxx> To: linuxppc-dev@xxxxxxxxxx Date: Wed, 25 Feb 2015 17:23:53 -0600 Export __spin_yield so that the arch_spin_unlock() function can be invoked from a module. This will be required for modules where we want to take a lock that is also is acquired in hypervisor real mode. Because we want to avoid running any lockdep code (which may not be safe in real mode), this lock needs to be an arch_spinlock_t instead of a normal spinlock. Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx> Acked-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 8f910fd0d9d234764e89cb770940df2ece851e71 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Mar 3 11:02:15 2015 +0100 powerpc/pmac: Fix DT refcount imbalance in pmac_pic_probe_oldstyle Internally, of_find_node_by_name() calls of_node_put() on its "from" parameter, which must not be done on "master", as it's still in use, and will be released manually later. This may cause a zero kref refcount. Call of_node_get() before to compensate for this. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 4b7d8358819da84b1272cdae29ace4680254a104 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 4 21:32:27 2015 +0100 drivers/macintosh: Delete an unnecessary check before the function call "of_node_put" The of_node_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 3bf57561d4dbd36ba45ce05656b0469bfdcc7ef2 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 14 16:13:50 2014 +1100 powerpc/powernv: Support OPAL requested heartbeat If OPAL requests it, call it back via opal_poll_events() at a regular interval. Some versions of OPAL on some machines require this to operate some internal timeouts properly. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit ff86dc5412a9299c4a02b9eb11498b0c7a167d34 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Wed Mar 11 08:36:53 2015 +0000 Documentation: rename of_selftest.txt to of_unittest.txt Since the test of the devicetree's OF api use unittest as its name. so we should rename of_selftest.txt to of_unittest.txt. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 7a39086d23218dc85c744525f1653cd90197a971 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Mon Mar 9 02:35:24 2015 +0000 Documentation: update the of_selftest.txt Since the directory "drivers/of/testcase-data" is renamed to "drivers/of/unittest-data". so we should update the path in the of_selftest.txt. When the kernel is built with OF_SELFUNIT enabled, the output dtb is testcases.dtb instead of testcase.dtb, also update it (s/testcase/testcases/). Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f0570d91ce8493883daa234ffdafb5c5620a1128 Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Date: Fri Mar 13 12:21:46 2015 -0700 dt: OF_UNITTEST make dependency broken If CONFIG_OF_UNITTEST=y then a kernel image make will always cause .version to be incremented, even if there are not source changes. This is caused by a lack of dependency tracking and checking for drivers/of/unittest-data/testcases.dtb.o. Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 2bb65f56480a927d4ca77173e2eb44db18f33b84 Author: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Date: Tue Mar 17 22:30:57 2015 +0200 MAINTAINERS: Pantelis Antoniou device tree overlay maintainer Add me as the device tree overlays maintainer. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 8147e2e8f13d823307e1edf2add5a8df84180cca Merge: bc465aa bfe446e Author: Rob Herring <robh@xxxxxxxxxx> Date: Wed Mar 25 00:41:08 2015 -0500 Merge tag 'of-graph-for-4.0' of git://git.pengutronix.de/git/pza/linux into for-next Pull of-graph helpers from Philipp Zabel: of: Add of-graph helpers to loop over endpoints and find ports by id This series converts of_graph_get_next_endpoint to decrement the refcount of the passed prev parameter. This allows to add a for_each_endpoint_of_node helper macro to loop over all endpoints in a device tree node. The of_graph_get_port_by_id function is added to retrieve a port by its known port id (contained in the reg property) from the device tree. commit 3f77df7f81526c932ef681eda56eeaa75d0617da Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 13 15:26:33 2015 +0530 powerpc/powernv: Check image loaded or not before calling flash Present code checks for update_flash_data in opal_flash_term_callback(). update_flash_data has been statically initialized to zero, and that is the value of FLASH_IMG_READY. Also code update initialization happens during subsys init. So if reboot is issued before the subsys init stage then we endup displaying "Flashing new firmware" message.. which may confuse end user. This patch fixes above described issue by initializes update_flash status to invalid state. Reported-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 0144a81cccf7532bead90f0542f517bd028d3b3c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 21:45:56 2015 -0700 tcp: fix ipv4 mapped request socks ss should display ipv4 mapped request sockets like this : tcp SYN-RECV 0 0 ::ffff:192.168.0.1:8080 ::ffff:192.0.2.1:35261 and not like this : tcp SYN-RECV 0 0 192.168.0.1:8080 192.0.2.1:35261 We should init ireq->ireq_family based on listener sk_family, not the actual protocol carried by SYN packet. This means we can set ireq_family in inet_reqsk_alloc() Fixes: 3f66b083a5b7 ("inet: introduce ireq_family") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a448f8f1b744611fb1867ea811170cca2a9a6588 Merge: 2b93681 a904b1c Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Mar 25 15:12:53 2015 +1100 Merge branch 'fallocate-insert-range' into for-next commit 2b93681f593577df6fcb9af61947beaace071b74 Merge: d41bb03 5e9383f Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Mar 25 15:12:30 2015 +1100 Merge branch 'xfs-misc-fixes-for-4.1-2' into for-next Conflicts: fs/xfs/libxfs/xfs_bmap.c fs/xfs/xfs_inode.c commit a904b1ca5751faf5ece8600e18cd3b674afcca1b Author: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Date: Wed Mar 25 15:08:56 2015 +1100 xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate This patch implements fallocate's FALLOC_FL_INSERT_RANGE for XFS. 1) Make sure that both offset and len are block size aligned. 2) Update the i_size of inode by len bytes. 3) Compute the file's logical block number against offset. If the computed block number is not the starting block of the extent, split the extent such that the block number is the starting block of the extent. 4) Shift all the extents which are lying bewteen [offset, last allocated extent] towards right by len bytes. This step will make a hole of len bytes at offset. Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Signed-off-by: Ashish Sangwan <a.sangwan@xxxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit dd46c787788d5bf5b974729d43e4c405814a4c7d Author: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Date: Wed Mar 25 15:07:05 2015 +1100 fs: Add support FALLOC_FL_INSERT_RANGE for fallocate FALLOC_FL_INSERT_RANGE command is the opposite command of FALLOC_FL_COLLAPSE_RANGE that is needed for someone who wants to add some data in the middle of file. FALLOC_FL_INSERT_RANGE will create space for writing new data within a file after shifting extents to right as given length. This command also has same limitations as FALLOC_FL_COLLAPSE_RANGE in that operations need to be filesystem block boundary aligned and cannot cross the current EOF. Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Signed-off-by: Ashish Sangwan <a.sangwan@xxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0b63accf87225b5eb7e52814c374cf02d733d4bb Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Wed Mar 18 15:46:33 2015 -0400 tools, update rtctest.c to verify passage of time rtctest.c checks to see if PIE is functioning by testing if 20 interrupts occur at rates from 2HZ to 64HZ. While this check is good, it does not check to see if the correct amount of time has actually passed. This misses situations where the RTC may be operating at a higher or lower frequency than expected. This patch introduces a simple check to verify if the time passed is less than 10% of what was programmed into the RTC. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: corbet@xxxxxxx Cc: rtc-linux@xxxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: a.zummo@xxxxxxxxxxxx Cc: prarit@xxxxxxxxxx Cc: john.stultz@xxxxxxxxxx Cc: shuahkh@xxxxxxxxxxxxxxx Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 4a5fd81507eaea556e533e9ebc8a3cf31fe159d1 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Mon Mar 23 16:32:09 2015 -0400 Documentation, split up rtc.txt into documentation and test file This patch splits rtc.txt into two separate files, one for the documentation itself, and the other for the rtctest.c file. The rtctest file is moved into the kernel tools/testing/selftests/timers directory. This will make automated testing easier. Note that the only difference in the rtc.txt file is that the location of the rtctest.c file has changed. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: corbet@xxxxxxx Cc: rtc-linux@xxxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: a.zummo@xxxxxxxxxxxx Cc: prarit@xxxxxxxxxx Cc: john.stultz@xxxxxxxxxx Cc: shuahkh@xxxxxxxxxxxxxxx Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 5e9383f97e773e9a5385144ef5561f2ac0ee1349 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Mar 25 15:00:24 2015 +1100 xfs: Fix incorrect positive ENOMEM return added a positive error return value. This value filters up through the return layers and should be negative as the other return values are in the same function. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 20dafeefac97d1a690b113f2a954dc84fdf8f290 Author: Byoungyoung Lee <blee@xxxxxxxxxx> Date: Wed Mar 25 14:57:53 2015 +1100 xfs: xfs_mru_cache_insert() should use GFP_NOFS xfs_mru_cache_insert() can be called from within transaction context during block allocation like so: write(2) .... xfs_get_blocks xfs_iomap_write_direct start transaction xfs_bmapi_write xfs_bmapi_allocate xfs_bmap_btalloc xfs_bmap_btalloc_filestreams xfs_filestream_new_ag xfs_filestream_pick_ag xfs_mru_cache_insert radix_tree_preload(GFP_KERNEL) In this case, GFP_KERNEL is incorrect and can potentially lead to deadlocks in memory reclaim. It should use GFP_NOFS allocations to avoid lock recursion problems. [dchinner: rewrote commit message] Signed-off-by: Byoungyoung Lee <blee@xxxxxxxxxx> Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 65dd297ac25565701fead5e4ee69b9ca62729f0e Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 25 14:56:21 2015 +1100 xfs: %pF is only for function pointers Use %pS for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pF expects a function descriptor. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 29916df08db4726c92bdfe72ce524b4b6a9e3c54 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 25 14:55:25 2015 +1100 xfs: fix shadow warning in xfs_da3_root_split() Use icnodehdr for struct xfs_da3_icnode_hdr instead of nodehdr (already declared above). Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 86aaf02e57d25a3b4094ca76ff805ee2d7aa30f8 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 25 14:54:53 2015 +1100 xfs: use bool instead of int in xfs_rename() new_parent and src_is_directory are only used in 0/1 context. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b26384dc52edba2f5fcc2b38eccc98e1f44bb379 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Wed Mar 25 14:54:25 2015 +1100 xfs: fix NULL pointer dereference in xfs_filestream_lookup_ag() If xfs_filestream_get_parent() fails, we have a null pip, goto out, and attempt to IRELE(NULL). This causes a null pointer dereference and BUG(). Fix this by directly returning NULLAGNUMBER in this case. Reported-by: Adrien Nader <adrien@xxxxxxxx> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d64588ca28bcd58f100f7933d0c18c8b504162bb Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:53:48 2015 +1100 xfs: remove xfs_bmap_sanity_check() This code is redundant now that we have verifiers that sanity check the buffers as they are read from disk. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d41bb03444147305e955cdd53753f0493e4d9e28 Merge: 88e8fda 7dcf5c3 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Mar 25 14:29:13 2015 +1100 Merge branch 'xfs-rename-whiteout' into for-next Conflicts: fs/xfs/xfs_inode.c commit 7dcf5c3e4527cfa2807567b00387cf2ed5e07f00 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:08:08 2015 +1100 xfs: add RENAME_WHITEOUT support Whiteouts are used by overlayfs - it has a crazy convention that a whiteout is a character device inode with a major:minor of 0:0. Because it's not documented anywhere, here's an example of what RENAME_WHITEOUT does on ext4: # echo foo > /mnt/scratch/foo # echo bar > /mnt/scratch/bar # ls -l /mnt/scratch total 24 -rw-r--r-- 1 root root 4 Feb 11 20:22 bar -rw-r--r-- 1 root root 4 Feb 11 20:22 foo drwx------ 2 root root 16384 Feb 11 20:18 lost+found # src/renameat2 -w /mnt/scratch/foo /mnt/scratch/bar # ls -l /mnt/scratch total 20 -rw-r--r-- 1 root root 4 Feb 11 20:22 bar c--------- 1 root root 0, 0 Feb 11 20:23 foo drwx------ 2 root root 16384 Feb 11 20:18 lost+found # cat /mnt/scratch/bar foo # In XFS rename terms, the operation that has been done is that source (foo) has been moved to the target (bar), which is like a nomal rename operation, but rather than the source being removed, it have been replaced with a whiteout. We can't allocate whiteout inodes within the rename transaction due to allocation being a multi-commit transaction: rename needs to be a single, atomic commit. Hence we have several options here, form most efficient to least efficient: - use DT_WHT in the target dirent and do no whiteout inode allocation. The main issue with this approach is that we need hooks in lookup to create a virtual chardev inode to present to userspace and in places where we might need to modify the dirent e.g. unlink. Overlayfs also needs to be taught about DT_WHT. Most invasive change, lowest overhead. - create a special whiteout inode in the root directory (e.g. a ".wino" dirent) and then hardlink every new whiteout to it. This means we only need to create a single whiteout inode, and rename simply creates a hardlink to it. We can use DT_WHT for these, though using DT_CHR means we won't have to modify overlayfs, nor anything in userspace. Downside is we have to look up the whiteout inode on every operation and create it if it doesn't exist. - copy ext4: create a special whiteout chardev inode for every whiteout. This is more complex than the above options because of the lack of atomicity between inode creation and the rename operation, requiring us to create a tmpfile inode and then linking it into the directory structure during the rename. At least with a tmpfile inode crashes between the create and rename doesn't leave unreferenced inodes or directory pollution around. By far the simplest thing to do in the short term is to copy ext4. While it is the most inefficient way of supporting whiteouts, but as an initial implementation we can simply reuse existing functions and add a small amount of extra code the the rename operation. When we get full whiteout support in the VFS (via the dentry cache) we can then look to supporting DT_WHT method outlined as the first method of supporting whiteouts. But until then, we'll stick with what overlayfs expects us to be: dumb and stupid. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> commit eeacd3217b8fa8143f5dc27ded405790c74f01e8 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:08:07 2015 +1100 xfs: make xfs_cross_rename() complete fully Now that xfs_finish_rename() exists, there is no reason for xfs_cross_rename() to return to xfs_rename() to finish off the rename transaction. Drive the completion code into xfs_cross_rename() and handle all errors there so as to simplify the xfs_rename() code. Further, push the rename exchange target_ip check to early in the rename code so as to make the error handling easy and obviously correct. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 310606b0c7e385e9dd3533d168413ad2c579d961 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:06:07 2015 +1100 xfs: factor out xfs_finish_rename() Rather than use a jump label for the final transaction commit in the rename, factor it into a simple helper function and call it appropriately. This slightly reduces the spaghetti nature of xfs_rename. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 445883e8133975fe8d555610c70c1c4c501f0bf8 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:05:43 2015 +1100 xfs: cleanup xfs_rename error handling The jump labels are ambiguous and unclear and some of the error paths are used inconsistently. Rules for error jumps are: - use out_trans_cancel for unmodified transaction context - use out_bmap_cancel on ENOSPC errors - use out_trans_abort when transaction is likely to be dirty. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 95afcf5c7bca93fb84d260f70c304f35ef4c3114 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 25 14:03:32 2015 +1100 xfs: clean up inode locking for RENAME_WHITEOUT When doing RENAME_WHITEOUT, we now have to lock 5 inodes into the rename transaction. This means we need to update xfs_sort_for_rename() and xfs_lock_inodes() to handle up to 5 inodes. Because of the vagaries of rename, this means we could have anywhere between 3 and 5 inodes locked into the transaction.... While xfs_lock_inodes() does not need anything other than an assert telling us we are passing more inodes that we ever thought we should see, it could do with a logic rework to remove all the indenting. This is not a functional change - it just makes the code a lot easier to read. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 124eb761edfdee13c02e48815b05d9bed7666d4c Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Tue Mar 24 11:29:05 2015 -0500 md: Fix bitmap offset calculations The calculations of bitmap offset is incorrect with respect to bits to bytes conversion. Also, remove an irrelevant duplicate message. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit cbc4ffdbe72a1bad3dbed27bb6b2eaba2b11bcc3 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Mar 24 16:22:54 2015 -0700 block, drbd: use mempool_create_slab_pool() Mempools created for slab caches should use mempool_create_slab_pool(). Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 23fe8f8b1101ec77befc995ab15fad82d9d91d16 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Mar 24 16:22:32 2015 -0700 block, drbd: fix drbd_req_new() initialization mempool_alloc() does not support __GFP_ZERO since elements may come from memory that has already been released by mempool_free(). Remove __GFP_ZERO from mempool_alloc() in drbd_req_new() and properly initialize it to 0. Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 271508dba2c3fc307e7c44e2731a2ece70a4025e Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Mar 24 16:21:16 2015 -0700 block: allocate request memory local to request queue blk_init_rl() allocates a mempool using mempool_create_node() with node local memory. This only allocates the mempool and element list locally to the requeue queue node. What we really want to do is allocate the request itself local to the queue. To do this, we need our own alloc and free functions that will allocate from request_cachep and pass the request queue node in to prefer node local memory. Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 99c679acce5d07aa1be63d8afe94df27f0aecb50 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Mar 24 17:31:03 2015 -0700 Bluetooth: Filter list of supported commands/events for untrusted users When the user of the management interface is not trusted, then it only has access to a limited set of commands and events. When providing the list of supported commands and events take the trusted vs untrusted status of the user into account and return different lists. This way the untrusted user knows exactly which commands it can execute and which events it can receive. So no guesswork needed. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d631b94e7a15277858ec5f88d674d93080506999 Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 16:22:07 2015 -0700 virtio: change comment in transmit The original comment was not really informative or funny as well as sexist. Replace it with a better explanation of why the driver does stop and what the impacts are. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 835c3d9b7a28f5ecfc2dea2300946e27811f16a5 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Tue Mar 24 23:19:24 2015 +0100 tools: bpf_asm: cleanup vlan extension related token We now have K_VLANT, K_VLANP and K_VLANTPID. Clean them up into more descriptive token, namely K_VLAN_TCI, K_VLAN_AVAIL and K_VLAN_TPID. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1275eb32e1c543f0664ebbb9d9ec3baa9bbfcba Merge: 9ead352 fd3a154 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 24 21:16:30 2015 -0400 Merge branch 'listener_refactor_16' Eric Dumazet says: ==================== tcp: listener refactor part 16 A CONFIG_PROVE_RCU=y build revealed an RCU splat I had to fix. I added const qualifiers to various md5 methods, as I expect to call them on behalf of request sock traffic even if the listener socket is not locked. This seems ok, but adding const makes the contract clearer. Note a good reduction of code size thanks to request/establish sockets convergence. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd3a154a00fb991872680f19021f5edbb40b4dbe Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 15:58:56 2015 -0700 tcp: md5: get rid of tcp_v[46]_reqsk_md5_lookup() With request socks convergence, we no longer need different lookup methods. A request socket can use generic lookup function. Add const qualifier to 2nd tcp_v[46]_md5_lookup() parameter. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39f8e58e53be32ab758d30536e0bd2e6ce766462 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 15:58:55 2015 -0700 tcp: md5: remove request sock argument of calc_md5_hash() Since request and established sockets now have same base, there is no need to pass two pointers to tcp_v4_md5_hash_skb() or tcp_v6_md5_hash_skb() Also add a const qualifier to their struct tcp_md5sig_key argument. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff74e23f7edb3759d1290b10f80222e3bbb6304b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 15:58:54 2015 -0700 tcp: md5: input path is run under rcu protected sections It is guaranteed that both tcp_v4_rcv() and tcp_v6_rcv() run from rcu read locked sections : ip_local_deliver_finish() and ip6_input_finish() both use rcu_read_lock() Also align tcp_v6_inbound_md5_hash() on tcp_v4_inbound_md5_hash() by returning a boolean. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0980c1e3084572b1d6c35ace5d795cf68b7ae409 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 15:58:53 2015 -0700 tcp: use C99 initializers in new_state[] Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80f03e27a309f3e32ebdd9629ac0320005a2180b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 24 15:58:52 2015 -0700 tcp: md5: fix rcu lockdep splat While timer handler effectively runs a rcu read locked section, there is no explicit rcu_read_lock()/rcu_read_unlock() annotations and lockdep can be confused here : net/ipv4/tcp_ipv4.c-906- /* caller either holds rcu_read_lock() or socket lock */ net/ipv4/tcp_ipv4.c:907: md5sig = rcu_dereference_check(tp->md5sig_info, net/ipv4/tcp_ipv4.c-908- sock_owned_by_user(sk) || net/ipv4/tcp_ipv4.c-909- lockdep_is_held(&sk->sk_lock.slock)); Let's explicitely acquire rcu_read_lock() in tcp_make_synack() Before commit fa76ce7328b ("inet: get rid of central tcp/dccp listener timer"), we were holding listener lock so lockdep was happy. Fixes: fa76ce7328b ("inet: get rid of central tcp/dccp listener timer") Signed-off-by: Eric DUmazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c77662a4df847e7b75ff8c5f2314dd4f022377e3 Merge: 3966fab 9089848 Author: Michael Turquette <mturquette@xxxxxxxxxx> Date: Tue Mar 24 16:33:33 2015 -0700 Merge branch 'for-4.1-clk-ti' of github.com:t-kristo/linux-pm into clk-next commit 3213e674ca42c95b84ed040eab3d5722f41412ae Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 22 00:45:35 2015 +0100 ARM: cygnus: fix const declaration bcm_cygnus_dt_compat The const declaration for char* is actually duplicated, however the array of strings is currently not constant. However, typically the dt_compat array is declared as const char *const. Follow that convention and also add the __initconst macro for constant initialization data. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Tested-by: Ray Jui <rjui@xxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 153fe946412b5da1a8808f79d4f7f4ebfa7586b0 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Mar 20 16:21:58 2015 +0100 staging: fbtft: Do not use binary constants Gcc < 4.3 doesn't understand binary constants (0b*): drivers/staging/fbtft/fbtft-sysfs.c:156:19: error: invalid suffix "b111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:3: error: invalid suffix "b1111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:11: error: invalid suffix "b1111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:19: error: invalid suffix "b11111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:28: error: invalid suffix "b1111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:36: error: invalid suffix "b1111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:44: error: invalid suffix "b1111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:159:52: error: invalid suffix "b11111" on integer constant drivers/staging/fbtft/fb_hx8340bn.c:160:3: error: invalid suffix "b111" on integer constant ... Hence use hexadecimal constants (0x*) instead. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1452db764c279f8b329f1b3b9469bd01d9e21afd Author: Cliff Clark <cliff_clark@xxxxxxxxxx> Date: Tue Mar 24 14:07:26 2015 -0700 ucc_geth: Intialize link state to down before register_netdev ucc_geth was indicating link up after a port is administratively enabled even when nothing is plugged in. This causes user-space tools to see a spurious link up the first time after boot. Signed-off-by: Cliff Clark <cliff_clark@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit baf7a6c72668c3e981bc2b6b0f58d2f1c2a8aa4e Merge: 227a4fd 65582a7 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 23:01:58 2015 +0100 Merge tag 'fixes-for-v4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus Felipe writes: usb: fix for v4.0-rc6 Here's a single fix to isp1760 calling spin_unlock_irqsave() as we should have. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1c41a9570a02cec80be5fb4f7f9cf206220d84a5 Merge: cd0e075 3e45737 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 22:57:49 2015 +0100 Merge tag 'usb-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next Felipe writes: usb: patches for v4.1 merge window As usual, a big pile of commits. This time a total of 111 non-merge commits. Other than the usual set of cleanups and non-critical fixes, we have some interesting work for AM335x's MUSB babble recovery. Now that takes a lot less time and we don't have to Reset MUSB all the time. The printer gadget has been converted to configfs interface and the atmel udc has learned suspend/resume with wakeup. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3d8bbe243dc7418b4b2eadcbf5693887d076a521 Merge: bc465aa c1b03ab Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 22:55:20 2015 +0100 Merge tag 'iio-fixes-for-4.0c' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus Jonathan writes: 3rd set of IIO fixes for the 4.0 cycle. * A double free occured on an error path in due to an event registration issue. The fix is the minimal change rather than possibly reworking this area of the core to give a more elegant solution (future work). * A number of drivers were directly accessing indio_dev->buffer->scan_mask to identify the currently enabled channel set. This may not be correct if we have additional clients on the push interface. The correct option is indio_dev->active_scan_mask. This is fixed. * bmc150 had incorrectly specified sampling frequency (a datasheet confusion as they are specified in terms of bandwith - e.g. half the sampling frequency). * hmc5843 wasn't setting it's name and hence the name attribute was returning an empty string. * inv_mpu6050 wasn't clearing the locally held timestamp buffer when the hardware fifo was reset. Also an inconsistency existed in the interface for the scale of the channels. Magic numbers were written but real ones were used for the reads. Now uses real numbers (i.e. not array indexes) for both. * fix a missing dependency in the dummy driver. Previously shielded from the autobuilders by an earlier build error. commit dc5f2c5f6aa159ebf4b29b169aa1f71cf98d3d6a Merge: c754ff9 c064416 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 22:53:52 2015 +0100 Merge tag 'iio-for-4.1a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: First set of new drivers, cleanups and functionality for IIO in the 4.1 cycle. New drivers * CM3323 color sensor. * MS5611 pressure and temperature sensor. New functionality * mup6050 - create mux clients for devices described via ACPI. The reasoning and approach taken in this patch are complex. Basically there is no otherway of finding out what is there than by some esoteric look ups in the ACPI data. * cm3232 - PM support * itg3200 - suspend/resume support * mcp320x - add more ADCs to the kconfig to reflect what the driver supports (this patch and the bindings got left behind when the support was added a while back). Docs / utils * ti-adc128s052 - DT bindings. * mcp3422 - DT bindings. * mcp320x - DT bindings * ABI docs for event threshold scale attributes, in_magn_offset, proximity scan_element and thresh falling/rising values for accelerometers. All elements long in use that have slipped by being explicitly documented. * Tidy up the tools previously in drivers/staging/iio/Documentation and move them out to /tools/iio. Yet another move that should have happened long ago. This time Roberta Dobrescu did the leg work. Thanks! Core Cleanups * Export userspace IIO headers. We should have done the appropriate header splitting a long time ago. Thanks to Daniel for sorting this out. * Refactor the registring of attributes for buffers to move all non-custom ones to a vector allowing easier additions to the current set in the future. Driver Cleanups * gpiod related cleanups. Make use of the additional parameter to specify initial direciton to avoid extra code. * bmc150 - Various refactorings to reduce code repitition and prepare for hardware buffer support. Some of these cleanups are good even without the new functionality. * kmx61 - direct use of index to an array avoiding a structure element which was always the index to an element in an array of that structure. * vf610 - avoid incorrect type for return from wait_for_completion_timeout. * gp2ap020a00f - use put_unaligned_le32 for slight code simplification. * ade7754 - improve error handling including suppressing some build warnings. * ade7759 - improve error handling including suppressing some build warnings. * hmc5843 - Long line and indentation fixes. Also some constifying of various constant data. * ade7854 - 80+ character line splitting. * ad2s1210 - fix wrong printf format string. * mxs-lradc - fix wrong printf format string. * ade7954-i2c - code alignment fixes and other trivial but worthwhile bits. * periodic rtc trigger - make the frequency type an unsigned int as it is always treated as such. * jsa1212 - constify struct regmap_config as it is constant. * ad7793 - typo in the MODULE_DESCRIPTION * mma9551 - check gpiod_to_irq errors. Note that this doesn't actually cause any trouble but is worth tidying up as obviously incorrect. * mlx90614 - refactor the register symbols to make it clear which reads are to RAM not PROM. commit 9ead3527f5967440f2ff57fd2fa25dd0e460fc5a Merge: 27cd545 6b6f302 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 24 17:53:06 2015 -0400 Merge branch 'rhashtable-next' Thomas Graf says: ==================== rhashtable updates on top of Herbert's work Patch 1 is a bugfix for an RCU splash I encountered while testing. Patch 2 & 3 are pure cleanups. Patch 4 disables automatic shrinking by default as discussed in previous thread. Patch 5 removes some rhashtable internal knowledge from nft_hash and fixes another RCU splash. I've pushed various rhashtable tests (Netlink, nft) together with a Makefile to a git tree [0] for easier stress testing. [0] https://github.com/tgraf/rhashtable ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b6f302ceda7a052dab545d6c69abf5f0d4a6cab Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Mar 24 14:18:20 2015 +0100 rhashtable: Add rhashtable_free_and_destroy() rhashtable_destroy() variant which stops rehashes, iterates over the table and calls a callback to release resources. Avoids need for nft_hash to embed rhashtable internals and allows to get rid of the being_destroyed flag. It also saves a 2nd mutex lock upon destruction. Also fixes an RCU lockdep splash on nft set destruction due to calling rht_for_each_entry_safe() without holding bucket locks. Open code this loop as we need know that no mutations may occur in parallel. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5e2c150ac914f28a28833b57397bec0b0a2bd5f Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Mar 24 20:42:19 2015 +0000 rhashtable: Disable automatic shrinking by default Introduce a new bool automatic_shrinking to require the user to explicitly opt-in to automatic shrinking of tables. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac833bddb591b9c7a0609f440f196375be184044 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Mar 24 14:18:18 2015 +0100 rhashtable: Mark internal/private inline functions as such Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 299e5c32a37a6bca8175db177117467bd1ce970a Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Mar 24 14:18:17 2015 +0100 rhashtable: Use 'unsigned int' consistently Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58be8a583d8d316448bafa5926414cfb83c02dec Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Mar 24 14:18:16 2015 +0100 rhashtable: Extend RCU read lock into rhashtable_insert_rehash() rhashtable_insert_rehash() requires RCU locks to be held in order to access ht->tbl and traverse to the last table. Fixes: ccd57b1bd324 ("rhashtable: Add immediate rehash during insertion") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73c8aaf43629e83541332f66fd08699e20ea87bc Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:04:18 2015 -0800 mtd: nand: fix spelling of REPLACEABLE Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0542e135fa8c56cd03c02d74089750ae9195eb22 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 01:25:17 2015 -0800 Documentation: devicetree: fix spelling in pxa3xx-nand binding Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6e8a1f8741d6f1179cb3b03991caeac9e4bfd9e2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 19:46:04 2015 -0500 switch path_init() to struct filename Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 668696dcbb1b184f8758ba9903c373c4960174a9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 19:44:00 2015 -0500 switch path_mountpoint() to struct filename Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5eb6b495c60ef865324a81898eeb18062fd81662 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 19:40:53 2015 -0500 switch path_lookupat() to struct filename all callers were passing it ->name of some struct filename Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 94b5d2621aef59271c53cd13ecf9249e24b3d4df Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 19:38:03 2015 -0500 getname_flags(): clean up a bit Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 72d64cc76941cde45e65e2a5b9fb81d527963645 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 20:45:42 2015 +0100 x86/asm: Further improve segment.h readability - extend/clarify explanations where necessary - move comments from macro values to before the macro, to make them more consistent, and to reduce preprocessor overhead - sort GDT index and selector values likewise by number - use consistent, modern kernel coding style across the file - capitalize consistently - use consistent vertical spacing - remove the unused get_limit() method (noticed by Andy Lutomirski) No change in code (verified with objdump -d): 64-bit defconfig+kvmconfig: 815a129bc1f80de6445c1d8ca5b97cad vmlinux.o.before.asm 815a129bc1f80de6445c1d8ca5b97cad vmlinux.o.after.asm 32-bit defconfig+kvmconfig: e659ef045159ddf41a0771b33a34aae5 vmlinux.o.before.asm e659ef045159ddf41a0771b33a34aae5 vmlinux.o.after.asm Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dca5b52ad76b10c3adc29e2a006d4b1721c44a8d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 19:44:42 2015 +0100 x86/asm/entry/64: Rename THREAD_INFO() to ASM_THREAD_INFO() The THREAD_INFO() macro has a somewhat confusingly generic name, defined in a generic .h C header file. It also does not make it clear that it constructs a memory operand for use in assembly code. Rename it to ASM_THREAD_INFO() to make it all glaringly obvious on first glance. Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324184442.GC14760@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f9d71854b4fe9b22ca199c4676da5a6ece1e5c17 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 19:44:11 2015 +0100 x86/asm/entry/64: Merge the field offset into the THREAD_INFO() macro Before: TI_sysenter_return+THREAD_INFO(%rsp,3*8),%r10d After: movl THREAD_INFO(TI_sysenter_return, %rsp, 3*8), %r10d to turn it into a clear thread_info accessor. No code changed: md5: fb4cb2b3ce05d89940ca304efc8ff183 ia32entry.o.before.asm fb4cb2b3ce05d89940ca304efc8ff183 ia32entry.o.after.asm e39f2958a5d1300158e276e4f7663263 entry_64.o.before.asm e39f2958a5d1300158e276e4f7663263 entry_64.o.after.asm Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324184411.GB14760@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1ddc6f3c60d75a7577dd33bc441e309febe2fc76 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 19:43:11 2015 +0100 x86/asm/entry/64: Improve the THREAD_INFO() macro explanation Explain the background, and add a real example. Acked-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324184311.GA14760@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d56fe4bf5f3cc30d455c80520f7b71da36ae00e6 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 14:41:37 2015 +0100 x86/asm/entry/64: Always set up SYSENTER MSRs On CONFIG_IA32_EMULATION=y kernels we set up MSR_IA32_SYSENTER_CS/ESP/EIP, but on !CONFIG_IA32_EMULATION kernels we leave them unchanged. Clear them to make sure the instruction is disabled properly. SYSCALL is set up properly in both cases. Acked-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 84f53788458c95309b88948b69ff95921e9c74a8 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Sun Mar 22 22:01:12 2015 +0100 x86/asm: Deobfuscate segment.h This file just defines a number of constants, and a few macros and inline functions. It is particularly badly written. For example, it is not trivial to see how descriptors are numbered (you'd expect that should be easy, right?). This change deobfuscates it via the following changes: Group all GDT_ENTRY_foo together (move intervening stuff away). Number them explicitly: use a number, not PREV_DEFINE+1, +2, +3: I want to immediately see that GDT_ENTRY_PNPBIOS_CS32 is 18. Seeing (GDT_ENTRY_KERNEL_BASE+6) instead is not useful. The above change allows to remove GDT_ENTRY_KERNEL_BASE and GDT_ENTRY_PNPBIOS_BASE, which weren't used anywhere else. After a group of GDT_ENTRY_foo, define all selector values. Remove or improve some comments. In particular: Comment deleted as stating the obvious: /* * The GDT has 32 entries */ #define GDT_ENTRIES 32 "The segment offset needs to contain a RPL. Grr. -AK" changed to "Selectors need to also have a correct RPL (+3 thingy)" "GDT layout to get 64bit syscall right (sysret hardcodes gdt offsets)" expanded into a description *how exactly* sysret hardcodes them. Patch was tested to compile and not change vmlinux.o on 32-bit and 64-bit builds (verified with objdump). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27cd5452476978283decb19e429e81fc6c71e74b Author: Michal Sekletar <msekleta@xxxxxxxxxx> Date: Tue Mar 24 14:48:41 2015 +0100 filter: introduce SKF_AD_VLAN_TPID BPF extension If vlan offloading takes place then vlan header is removed from frame and its contents, both vlan_tci and vlan_proto, is available to user space via TPACKET interface. However, only vlan_tci can be used in BPF filters. This commit introduces a new BPF extension. It makes possible to load the value of vlan_proto (vlan TPID) to register A. Support for classic BPF and eBPF is being added, analogous to skb->protocol. Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Jiri Pirko <jpirko@xxxxxxxxxx> Signed-off-by: Michal Sekletar <msekleta@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6bb76cd4d8552bada1e454c291419f893e1af7b Merge: ff40217 241e924 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 24 15:24:39 2015 -0400 Merge branch 'cxgb4-fcoe' Varun Prakash says: ==================== FCoE support in cxgb4 driver This patch series enables FCoE support in cxgb4 driver, it enables FCOE_CRC and FCOE_MTU net device features. This series is created against net-next tree. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 241e9247316947cd47fcefeb5eff5bf0b00dc1d4 Author: Varun Prakash <varun@xxxxxxxxxxx> Date: Tue Mar 24 19:14:47 2015 +0530 cxgb4: update Kconfig and Makefile for FCoE support Signed-off-by: Varun Prakash <varun@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84a200b390d60fd84293670a089d0c864e35d0b1 Author: Varun Prakash <varun@xxxxxxxxxxx> Date: Tue Mar 24 19:14:46 2015 +0530 cxgb4: add cxgb4_fcoe.c for FCoE This patch adds cxgb4_fcoe.c and enables FCOE_CRC, FCOE_MTU net device features. Signed-off-by: Varun Prakash <varun@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76fed8a989ba673b15979ba35457020c1716e1f2 Author: Varun Prakash <varun@xxxxxxxxxxx> Date: Tue Mar 24 19:14:45 2015 +0530 cxgb4: add cxgb4_fcoe.h and macro definitions for FCoE This patch adds new header file cxgb4_fcoe.h and defines new macros for FCoE support in cxgb4 driver. Signed-off-by: Varun Prakash <varun@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ad483728bc498af4b99d0036b2edb163638c64a Merge: e43e505 bffb023 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 24 15:22:53 2015 -0400 Merge branch 'mlx4' Or Gerlitz says: ==================== mlx4 driver RC fixes Ido's patch should go to -stable of >= 3.14 too, the issue is older but it hits us with VXLAN for which driver support dates there. As for Jack's fix, for the time being, picking it to 4.0 is OK. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bffb023ad2d44c0cfa8142ad8247391b32000998 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 15:18:39 2015 +0200 net/mlx4_core: Fix GEN_EQE accessing uninitialixed mutex We occasionally see in procedure mlx4_GEN_EQE that the driver tries to grab an uninitialized mutex. This can occur in only one of two ways: 1. We are trying to generate an async event on an uninitialized slave. 2. We are trying to generate an async event on an illegal slave number ( < 0 or > persist->num_vfs) or an inactive slave. To deal with #1: move the mutex initialization from specific slave init sequence in procedure mlx_master_do_cmd to mlx4_multi_func_init() (so that the mutex is always initialized for all slaves). To deal with #2: check in procedure mlx4_GEN_EQE that the slave number provided is in the proper range and that the slave is active. Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5eda89d97ec256ba14e7e861387cc0468259c18 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Tue Mar 24 15:18:38 2015 +0200 net/mlx4_en: Call register_netdevice in the proper location Netdevice registration should be performed a the end of the driver initialization flow. If we don't do that, after calling register_netdevice, device callbacks may be issued by higher layers of the stack before final configuration of the device is done. For example (VXLAN configuration race), mlx4_SET_PORT_VXLAN was issued after the register_netdev command. System network scripts may configure the interface (UP) right after the registration, which also attach unicast VXLAN steering rule, before mlx4_SET_PORT_VXLAN was called, causing the firmware to fail the rule attachment. Fixes: 837052d0ccc5 ("net/mlx4_en: Add netdev support for TCP/IP offloads of vxlan tunneling") Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff40217e73fd137daae0113ed71b218128913037 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 11:05:28 2015 +0100 ipv6: fix sparse warnings in privacy stable addresses generation Those warnings reported by sparse endianness check (via kbuild test robot) are harmless, nevertheless fix them up and make the code a little bit easier to read. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: 622c81d57b392cc ("ipv6: generation of stable privacy addresses for link-local and autoconf") Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed3e852aa5039fda5a9f53c716c7466913403288 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Tue Mar 24 16:59:21 2015 +0800 tipc: fix compile error when IPV6=m and TIPC=y When IPV6=m and TIPC=y, below error will appear during building kernel image: net/tipc/udp_media.c:196: undefined reference to `ip6_dst_lookup' make: *** [vmlinux] Error 1 As ip6_dst_lookup() is implemented in IPV6 and IPV6 is compiled as module, ip6_dst_lookup() is not built-in core kernel image. As a result, compiler cannot find 'ip6_dst_lookup' reference while compiling TIPC code into core kernel image. But with the method introduced by commit 5f81bd2e5d80 ("ipv6: export a stub for IPv6 symbols used by vxlan"), we can avoid the compile error through "ipv6_stub" pointer to access ip6_dst_lookup(). Fixes: d0f91938bede ("tipc: add ip/udp media type") Suggested-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e43e50524e6b00522cc7a1deee3eebd7046cde6f Merge: a6e95cc 6ae4ccf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 24 15:15:55 2015 -0400 Merge tag 'wireless-drivers-for-davem-2015-03-24' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers iwlwifi: * avoid panic with lots of IBSS stations * Fix dvm's behavior after suspend resume * Allow to keep connection after CSA failure * Remove a noisy by harmless WARN_ON * New device IDs rtlwifi: * fix IOMMU mapping leak in AP mode brcmfmac: * disable MBSS feature for BCM43362 to get AP mode working again ath9k: * disable Transmit Power Control (TPC) again due to regressions * fix beaconing issue with AP+STA setup Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 709583e894afad7f33add66953026ceb82cdf115 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:18:59 2015 -0700 Input: edt-ft5x06 - remove EV_SYN event report input_register_device already sets the EV_SYN event since all devices can generate them. Remove the redundant affectation. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2c00559884e09398a6451672472b4ea7f4118291 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:18:06 2015 -0700 Input: edt-ft5x06 - allow to setting the maximum axes value through the DT Currently the driver relies on some obscure and undocumented register to set the maximum axis value. The reported value is way too high to be meaningful, which confuses some userspace tools like QT's evdevtouch plugin which try to scale the reported events to the maximum values. Use the values from the DT to set meaningful values. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0a363a380954e10fece7cd9931b66056eeb07d56 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:17:57 2015 -0700 Input: of_touchscreen - register multitouch axes So far, the DT parsing code was only setting up the regular input axes, completely ignoring their multitouch counter parts. Fill them with the same parameters than the regular axes. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3eea8b5d68c801fec788b411582b803463834752 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 20:17:48 2015 -0700 Input: of_touchscreen - rework the DT parsing function The DT parsing function currently duplicates a lot of the code to parse the touchscreen DT properties. In order to ease further additions to this parsing routine, rework it slightly to create new helper functions. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 66400d543072d6ff6f8df036e3f12f5c154c19cc Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Mar 24 11:53:31 2015 -0700 net: allow to delete a whole device group With dev group, we can change a batch of net devices, so we should allow to delete them together too. Group 0 is not allowed to be deleted since it is the default group. Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27ed44a5d6d88897002b75f53004d4c565a5aab6 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 13:37:30 2015 +1100 rhashtable: Add comment on choice of elasticity value This patch adds a comment on the choice of the value 16 as the maximum chain length before we force a rehash. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8263d57e376546bd5da42ea377d22c43239aa317 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Tue Mar 24 09:51:32 2015 +0800 cx82310_eth: fix semicolon.cocci warnings drivers/net/usb/cx82310_eth.c:175:2-3: Unneeded semicolon Removes unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci CC: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6e95cc718c8916a13f1e1e9d33cacbc5db56c0f Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Tue Mar 24 09:31:40 2015 +0900 rocker: handle non-bridge master change Master change notifications may occur other than when joining or leaving a bridge, for example when being added to or removed from a bond or Open vSwitch. Previously in those cases rocker_port_bridge_leave() was called which results in a null-pointer dereference as rocker_port->bridge_dev is NULL because there is no bridge device. This patch makes provision for doing nothing in such cases. Fixes: 6c7079450071f ("rocker: implement L2 bridge offloading") Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65c2377486c0b68f149f7d8770499a86b15786b6 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Mar 19 18:17:49 2015 +0100 x86/asm/entry/64: Get rid of int_ret_from_sys_call_fixup With the FIXUP_TOP_OF_STACK macro removed, this intermediate jump is unnecessary. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426785469-15125-5-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a71ffdd780760dc62c3d4cffb98eaaedaf5068b8 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Mar 19 18:17:48 2015 +0100 x86/asm/entry/64: Get rid of the FIXUP_TOP_OF_STACK/RESTORE_TOP_OF_STACK macros The FIXUP_TOP_OF_STACK macro is only necessary because we don't save %r11 to pt_regs->r11 on SYSCALL64 fast path, but we want ptrace to see it populated. Bite the bullet, add a single additional PUSH instruction, and remove the FIXUP_TOP_OF_STACK macro. The RESTORE_TOP_OF_STACK macro is already a nop. Remove it too. On SandyBridge CPU, it does not get slower: measured 54.22 ns per getpid syscall before and after last two changes on defconfig kernel. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426785469-15125-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9ed8e7d86061e7c3fb3855358d51ba4abb19ceb1 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Mar 19 18:17:47 2015 +0100 x86/asm/entry/64: Use PUSH instructions to build pt_regs on stack With this change, on SYSCALL64 code path we are now populating pt_regs->cs, pt_regs->ss and pt_regs->rcx unconditionally and therefore don't need to do that in FIXUP_TOP_OF_STACK. We lose a number of large instructions there: text data bss dec hex filename 13298 0 0 13298 33f2 entry_64_before.o 12978 0 0 12978 32b2 entry_64.o What's more important, we convert two "MOVQ $imm,off(%rsp)" to "PUSH $imm" (the ones which fill pt_regs->cs,ss). Before this patch, placing them on fast path was slowing it down by two cycles: this form of MOV is very large, 12 bytes, and this probably reduces decode bandwidth to one instruction per cycle when CPU sees them. Therefore they were living in FIXUP_TOP_OF_STACK instead (away from fast path). "PUSH $imm" is a small 2-byte instruction. Moving it to fast path does not slow it down in my measurements. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426785469-15125-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ef593260f0cae2699874f098fb5b19fb46502cb3 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Mar 19 18:17:46 2015 +0100 x86/asm/entry: Get rid of KERNEL_STACK_OFFSET PER_CPU_VAR(kernel_stack) was set up in a way where it points five stack slots below the top of stack. Presumably, it was done to avoid one "sub $5*8,%rsp" in syscall/sysenter code paths, where iret frame needs to be created by hand. Ironically, none of them benefits from this optimization, since all of them need to allocate additional data on stack (struct pt_regs), so they still have to perform subtraction. This patch eliminates KERNEL_STACK_OFFSET. PER_CPU_VAR(kernel_stack) now points directly to top of stack. pt_regs allocations are adjusted to allocate iret frame as well. Hopefully we can merge it later with 32-bit specific PER_CPU_VAR(cpu_current_top_of_stack) variable... Net result in generated code is that constants in several insns are changed. This change is necessary for changing struct pt_regs creation in SYSCALL64 code path from MOV to PUSH instructions. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426785469-15125-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b3fe8ba320ace38cee6859b4c015d81627254ddb Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Mar 19 18:17:45 2015 +0100 x86/asm/entry/64: Change the THREAD_INFO() definition to not depend on KERNEL_STACK_OFFSET This changes the THREAD_INFO() definition and all its callsites so that they do not count stack position from (top of stack - KERNEL_STACK_OFFSET), but from top of stack. Semi-mysterious expressions THREAD_INFO(%rsp,RIP) - "why RIP??" are now replaced by more logical THREAD_INFO(%rsp,SIZEOF_PTREGS) - "calculate thread_info's address using information that rsp is SIZEOF_PTREGS bytes below top of stack". While at it, replace "(off)-THREAD_SIZE(reg)" with equivalent "((off)-THREAD_SIZE)(reg)". The form without parentheses falsely looks like we invoke THREAD_SIZE() macro. Improve comment atop THREAD_INFO macro definition. This patch does not change generated code (verified by objdump). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426785469-15125-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5037a17966967bde3f561cc543c9b3596afabf70 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Feb 25 17:44:55 2015 -0800 Input: mma8450 - convert to using managed resources This simplifies error handling and device removal code. Also let's get rid of setting driver's owner since i2c core does it for us. Tested-by: Stefan Sauer <ensonic@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a93ad65d375f216025902a73ff25900d82a9de25 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Mar 21 20:40:45 2015 -0700 Input: add support for ChipOne icn8318 based touchscreens The ChipOne icn8318 is an i2c capacitive touchscreen controller typically used in cheap android tablets, this commit adds a driver for it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d16a33bb94f88a40a99418993849c1eb93d60de3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Mar 21 20:39:19 2015 -0700 Input: touchscreen DT binding - add touchscreen-swapped-x-y property On devices with a native portrait screen a landscape touchscreen / digitizer may be used, this happens e.g. on ebook readers. In this case the X and Y axis of the touchscreen are swapped compared to the screen. Add a touchscreen-swapped-x-y property which drivers can use to see if they need to swap the axis to make the touchscreen coordinates match the screen coordinates. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9089848d9afa34a796988b5b666c2c4e611ccb61 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Sun Mar 22 15:35:26 2015 -0700 clk: ti: Implement FAPLL set_rate for the PLL Since we have a fractional divider for the synthesizer, just implement a simple multiply logic for the PLL. It seems the PLL divider needs to have also the multiplier set for the PLL to lock. At least I have not yet figured out if divided rates are doable. So let's just ignore the PLL divider for now as the synthesizer has both integer and fractional dividers so we don't even need to use the PLL divider for the rates we know work with PLL locking. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit cafeb002cf2cd8b0f8796b59130f9c1b91da4fcf Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 18:04:20 2015 -0700 clk: ti: Implement FAPLL set_rate for the synthesizer We can pretty much get any rate out of the FAPLL because of the fractional divider. Let's first try just adjusting the post divider, and if that is not enough, then reprogram both the fractional divider and the post divider. Let's also add a define for the fixed SYNTH_PHASE_K instead of using 8. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 33ca29c99e8680b4c921c6eafb9fc1603c5b9779 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Sun Mar 22 15:35:24 2015 -0700 clk: ti: Fix FAPLL recalc_rate for rounding errors We need to round the calculated value to have it match the requested rate. While at it, let's fix a typo and use a define for SYNTH_MAX_DIV_M as we will need it in later patches for set_rate. And let's remove two unused includes. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 712f7d64f079872d2895743f4b718bc0fdff725c Author: Suman Anna <s-anna@xxxxxx> Date: Fri Mar 13 17:58:38 2015 -0500 clk: ti: DRA7: Add timer_sys_ck aliases for Timers 13 through 16 The OMAP DMTimer API, omap_dm_timer_set_source(), uses the clock name timer_sys_ck for setting a timer's clock source for the source index OMAP_TIMER_SRC_SYS_CLK. There is currently no clock alias data for the Timers 13 through 16 for this clock name, so add the same. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit d4295be3874c1d464ae83a71f87ed93f84aa5d21 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Mar 13 17:58:37 2015 -0500 clk: ti: DRA7: Correct timer_sys_ck clock aliases for Timers The OMAP DMTimer API, omap_dm_timer_set_source(), can set the parent of a timer node using 3 different values that use fixed parent names for the clocks. The parent name, timer_sys_ck, is used for setting the parent when used with the source index OMAP_TIMER_SRC_SYS_CLK. This should point to the TIMER_SYS_CLK and not the SYSCLKIN2, so correct the clock aliases appropriately. SYSCLKIN2 is not a mandatory clock input. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 03ff41a938d0c31c3e712590600b474454ac39fe Author: Suman Anna <s-anna@xxxxxx> Date: Fri Mar 13 17:58:36 2015 -0500 clk: ti: OMAP5: Correct the DT clock aliases for timers The DT clock aliases for Timers use the legacy (non-DT) device names and a source clock named sys_ck. OMAP5 is DT-boot only, so correct the DT clock aliases to use the DT device names instead. Also, the source clock name is corrected from 'sys_ck' to 'timer_sys_ck', the name used by the OMAP dmtimer driver. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 2ff8d75c234193147a118c1431d7d75775fabe58 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Mar 13 17:58:35 2015 -0500 clk: ti: OMAP4: Remove the legacy timer DT clock aliases The DT clock aliases for timers using the legacy OMAP timer device names have been cleaned up. These device names reflect the names used in legacy boot, and are no longer applicable as OMAP4 is DT boot only now. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit c8d382921299a32e4ed9b690d3865e01a73ea02c Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Mar 16 12:40:58 2015 +0200 clk: ti: clk-3xxx-legacy: Correct McBSP related clock aliases Correct the McBSP2/4 ick mapping (they were 2->4 and 4->2). Add missing mcbsp clock aliases. Collect the McBSP clock definition in one location at the same time. Fixes the following warning on boot: [ 0.307739] omap_hwmod: mcbsp2: _wait_target_ready failed: -16 [ 0.307769] omap_hwmod: mcbsp2: cannot be enabled for reset (3) Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit f757d1b047dfe704d459746c289f27934de6f91e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Mar 16 12:40:57 2015 +0200 clk: ti: clk-3xxx: Correct McBSP related DT clock definitions In DT boot we do not have devices named as omap-mcbsp.X. Correct the McBSP2/4 ick mapping (they were 2->4 and 4->2). Collect the McBSP clock definition in one location at the same time. Fixes the following warning on boot: [ 0.307739] omap_hwmod: mcbsp2: _wait_target_ready failed: -16 [ 0.307769] omap_hwmod: mcbsp2: cannot be enabled for reset (3) Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit c807dbedb5e5adbd4e1e2d07574d230df924a5a7 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Feb 23 21:06:08 2015 +0200 clk: ti: fix ti_clk_get_reg_addr error handling There is a case where NULL can be a valid return value for ti_clk_get_reg_addr, specifically the case where both the provider index and register offsets are zero. In this case, the current error checking against a NULL pointer will fail. Thus, change the API to return a ERR_PTR value in an error case, and change all the users of this API to check against IS_ERR instead. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 3a02824396c1df1db422d067b0fdcac724f44dd6 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Mar 24 14:14:18 2015 -0400 libata: remove ATA_FLAG_LOWTAG sata_sil24 for some reason pukes when tags are allocated round-robin which helps tag ordered controllers. To work around the issue, 72dd299d5039 ("libata: allow sata_sil24 to opt-out of tag ordered submission") introduced ATA_FLAG_LOWTAG which tells libata tag allocation to do lowest-first. However, with the recent switch to blk-mq tag allocation, the liata tag allocation code path is no longer used and the workaround is now implemented in the block layer and selected by setting scsi_host_template->tag_alloc_policy to BLK_TAG_ALLOC_FIFO. See 9269e23496dd ("libata: make sata_sil24 use fifo tag allocator"). This leaves ATA_FLAG_LOWTAG withoout any actual user. Remove it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Shaohua Li <shli@xxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> commit edec17863362e0106b9e6b2f83237c7bd535e346 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Mar 16 15:54:54 2015 -0500 ARM: DRA7: hwmod: Fix the hwmod class for GPTimer4 GPTimer 4 is a regular timer and not a secure timer, so fix the hwmod to use the correct hwmod class (even though there are no differences in the class definition itself). Signed-off-by: Suman Anna <s-anna@xxxxxx> [paul@xxxxxxxxx: dropped dra7xx_timer_secure_hwmod_class and dra7xx_timer_secure_sysc to avoid compiler warnings] Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 1ac964f4c527267c8380e6e3c70d31ca1d162f93 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Mar 16 15:54:53 2015 -0500 ARM: DRA7: hwmod: Add data for GPTimers 13 through 16 Add the hwmod data for GPTimers 13, 14, 15 and 16. All these timers are present in the L4PER3 clock domain. The corresponding DT nodes are already present but disabled. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit db7a657f3c2de202e8d648b03bc25bcd9a4de1d8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 3 22:41:22 2015 +0200 sata_dwc_460ex: re-use hsdev->dev instead of dwc_dev This patch re-uses hsdev->dev which is allocated on heap. Therefore, the private structure, which is global variable, is reduced by one field. In one case ap->dev is used and there it seems to be right decision. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 8b3444852a2b58129ee68a8dd69fef81ceb902a1 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 3 22:41:21 2015 +0200 sata_dwc_460ex: move to generic DMA driver The SATA implementation based on two actually different devices, i.e. SATA and DMA controllers. For Synopsys DesignWare DMA we have already a generic implementation of the driver. Thus, the patch converts the code to use DMAEngine framework and dw_dmac driver. In future it will be better to split the devices inside DTS as well like it's done on other platforms. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 4e2576bd36a12e78ac3786d05b99a820dffe687f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 24 09:01:00 2015 +0000 ASoC: soc-core: initialize debugfs in snd_soc_instantiate_card() Current soc_init_card_debugfs() is called from snd_soc_register_card() but, soc_cleanup_card_debugfs() is called from soc_cleanup_card_resources(), not from paired function. This differences don't matter for now. But if anyone wants to implement a proper hotplug/unplug, this difference would become clearer. Now, we can assume that snd_soc_instantiate_card() and soc_cleanup_card_resources() are paired function. soc_init_card_debugfs() / soc_cleanup_card_debugfs() paired function should be called from these. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d578514b271e7c8cab8d6910075a2d137a9f0df8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 3 21:21:58 2015 +0200 sata_dwc_460ex: join messages back It it better to have full message on one line. It simplifies to search for line in the code by message when debugging. Note that the lines which will be removed by sequential patch are not fixed here. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit bffc4375897ea01aa68877e5fc1e33c7766efa29 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Fri Mar 6 23:30:42 2015 +0100 percpu: Fix trivial typos in comments Change 'tranlated' to 'translated' Change 'mutliples' to 'multiples' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a75a053f1eefbbbbae0f7d6bf1ed12ce012112b7 Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri Mar 20 13:31:08 2015 +0200 ASoC: davinci-mcasp: Set rule constraints if implicit BCLK divider is used Set rule constraints to allow only combinations of sample-rate, sample-format, and channels counts that can be played/captured with reasonable sample-rate accuracy. The logic with tdm-slots and serializers (=i2s data wires) goes like this: The first wire will take all channels up to number of tdm-slots, before following wires (if any) are used. If the first wire is used fully, the remaining wires share the same clocks and the divider can be calculated for the first wire. Also, takes the number of tdm-slots into account when implicitly selecting the BLCK divider. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2f4b1e6bb25899e7d21e1764abcfb23f14250535 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Mar 24 11:47:43 2015 +0100 ASoC: rsnd: Fix duplicate const for DVC ramp rates Replace duplicated const keyword for 'dvc_ramp_rate' with proper array of const pointers to const strings. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d079535d5e1bf5e2e7c856bae2483414ea21e137 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Mar 23 16:31:09 2015 -0700 net: use for_each_netdev_safe() in rtnl_group_changelink() In case we move the whole dev group to another netns, we should call for_each_netdev_safe(), otherwise we get a soft lockup: NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [ip:798] irq event stamp: 255424 hardirqs last enabled at (255423): [<ffffffff81a2aa95>] restore_args+0x0/0x30 hardirqs last disabled at (255424): [<ffffffff81a2ad5a>] apic_timer_interrupt+0x6a/0x80 softirqs last enabled at (255422): [<ffffffff81079ebc>] __do_softirq+0x2c1/0x3a9 softirqs last disabled at (255417): [<ffffffff8107a190>] irq_exit+0x41/0x95 CPU: 0 PID: 798 Comm: ip Not tainted 4.0.0-rc4+ #881 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 task: ffff8800d1b88000 ti: ffff880119530000 task.ti: ffff880119530000 RIP: 0010:[<ffffffff810cad11>] [<ffffffff810cad11>] debug_lockdep_rcu_enabled+0x28/0x30 RSP: 0018:ffff880119533778 EFLAGS: 00000246 RAX: ffff8800d1b88000 RBX: 0000000000000002 RCX: 0000000000000038 RDX: 0000000000000000 RSI: ffff8800d1b888c8 RDI: ffff8800d1b888c8 RBP: ffff880119533778 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 000000000000b5c2 R12: 0000000000000246 R13: ffff880119533708 R14: 00000000001d5a40 R15: ffff88011a7d5a40 FS: 00007fc01315f740(0000) GS:ffff88011a600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007f367a120988 CR3: 000000011849c000 CR4: 00000000000007f0 Stack: ffff880119533798 ffffffff811ac868 ffffffff811ac831 ffffffff811ac828 ffff8801195337c8 ffffffff811ac8c9 ffff8801195339b0 ffff8801197633e0 0000000000000000 ffff8801195339b0 ffff8801195337d8 ffffffff811ad2d7 Call Trace: [<ffffffff811ac868>] rcu_read_lock+0x37/0x6e [<ffffffff811ac831>] ? rcu_read_unlock+0x5f/0x5f [<ffffffff811ac828>] ? rcu_read_unlock+0x56/0x5f [<ffffffff811ac8c9>] __fget+0x2a/0x7a [<ffffffff811ad2d7>] fget+0x13/0x15 [<ffffffff811be732>] proc_ns_fget+0xe/0x38 [<ffffffff817c7714>] get_net_ns_by_fd+0x11/0x59 [<ffffffff817df359>] rtnl_link_get_net+0x33/0x3e [<ffffffff817df3d7>] do_setlink+0x73/0x87b [<ffffffff810b28ce>] ? trace_hardirqs_off+0xd/0xf [<ffffffff81a2aa95>] ? retint_restore_args+0xe/0xe [<ffffffff817e0301>] rtnl_newlink+0x40c/0x699 [<ffffffff817dffe0>] ? rtnl_newlink+0xeb/0x699 [<ffffffff81a29246>] ? _raw_spin_unlock+0x28/0x33 [<ffffffff8143ed1e>] ? security_capable+0x18/0x1a [<ffffffff8107da51>] ? ns_capable+0x4d/0x65 [<ffffffff817de5ce>] rtnetlink_rcv_msg+0x181/0x194 [<ffffffff817de407>] ? rtnl_lock+0x17/0x19 [<ffffffff817de407>] ? rtnl_lock+0x17/0x19 [<ffffffff817de44d>] ? __rtnl_unlock+0x17/0x17 [<ffffffff818327c6>] netlink_rcv_skb+0x4d/0x93 [<ffffffff817de42f>] rtnetlink_rcv+0x26/0x2d [<ffffffff81830f18>] netlink_unicast+0xcb/0x150 [<ffffffff8183198e>] netlink_sendmsg+0x501/0x523 [<ffffffff8115cba9>] ? might_fault+0x59/0xa9 [<ffffffff817b5398>] ? copy_from_user+0x2a/0x2c [<ffffffff817b7b74>] sock_sendmsg+0x34/0x3c [<ffffffff817b7f6d>] ___sys_sendmsg+0x1b8/0x255 [<ffffffff8115c5eb>] ? handle_pte_fault+0xbd5/0xd4a [<ffffffff8100a2b0>] ? native_sched_clock+0x35/0x37 [<ffffffff8109e94b>] ? sched_clock_local+0x12/0x72 [<ffffffff8109eb9c>] ? sched_clock_cpu+0x9e/0xb7 [<ffffffff810cadbf>] ? rcu_read_lock_held+0x3b/0x3d [<ffffffff811ac1d8>] ? __fcheck_files+0x4c/0x58 [<ffffffff811ac946>] ? __fget_light+0x2d/0x52 [<ffffffff817b8adc>] __sys_sendmsg+0x42/0x60 [<ffffffff817b8b0c>] SyS_sendmsg+0x12/0x1c [<ffffffff81a29e32>] system_call_fastpath+0x12/0x17 Fixes: e7ed828f10bd8 ("netlink: support setting devgroup parameters") Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39c26180641da983269d5f24f124f8624f2587b4 Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Date: Tue Mar 24 05:15:22 2015 +0000 ASoC: ak4642: enable stereo line output power-save mode ak4642 has power-save mode for stereo line to reduce pop noise. This patch enables it. Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 610600c8c5e25d551a010b64412cf731c084b1e1 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Mon Mar 23 15:30:00 2015 -0400 tipc: validate length of sockaddr in connect() for dgram/rdm Commit f2f8036 ("tipc: add support for connect() on dgram/rdm sockets") hasn't validated user input length for the sockaddr structure which allows a user to overwrite kernel memory with arbitrary input. Fixes: f2f8036 ("tipc: add support for connect() on dgram/rdm sockets") Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83c3a7d4ac7fdc29a64bf9a5467a36b4c72a1eed Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Mar 18 18:38:30 2015 +0200 wlcore: remove wl12xx_platform_data Now that we have wlcore device-tree bindings in place (for both wl12xx and wl18xx), remove the legacy wl12xx_platform_data struct, and move its members into the platform device data (that is passed to wlcore) Davinci 850 is the only platform that still set the platform data in the legacy way (and doesn't have DT bindings), so remove the relevant code/Kconfig option from the board file (as suggested by Sekhar Nori) Since no one currently uses wlcore_spi, simply remove its platform data support (DT bindings will have to be added if someone actually needs it) Signed-off-by: Luciano Coelho <luca@xxxxxxxxx> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 99f84cae43df242f0d69ffcfee3a4d69f9b71b44 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Mar 18 18:38:29 2015 +0200 ARM: dts: add wl12xx/wl18xx bindings Replace all the pdata-quirks for setting wl12xx/wl18xx platform data with proper DT definitions. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Enric Balletbo i Serra <eballetbo@xxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5ea5c518ccaba0de97efb71c3bccbcdee681c2e6 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Mar 18 18:38:28 2015 +0200 wlcore: add device-tree support When running with device-tree, we no longer have a board file that can set up the platform data for wlcore. Allow this data to be passed from DT. Signed-off-by: Ido Yariv <ido@xxxxxxxxxx> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Tested-by: Sébastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d96c8b77407de054e7a485bdef793ed5be827df4 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Mar 18 18:38:27 2015 +0200 dt: bindings: add TI's wilink wireless device Add device tree binding documentation for TI's wilink (wl12xx and wl18xx) wlan chip. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 44486b48b066330e0ed0a66478cc49f5975ec6c1 Author: Luciano Coelho <luca@xxxxxxxxx> Date: Wed Mar 18 18:38:26 2015 +0200 wl12xx: use frequency instead of enumerations for pdata clocks Instead of defining an enumeration with the FW specific values for the different clock rates, use the actual frequency instead. Also add a boolean to specify whether the clock is XTAL or not. Change all board files to reflect this. Signed-off-by: Luciano Coelho <luca@xxxxxxxxx> [Eliad - small fixes, update board file changes] Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0117ec1970c5fa9c566045e7df8db76acc8f150e Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 18:40:02 2015 +0100 net: remove never used forwarding_accel_ops pointer from net_device Cc: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65582a7f4ce5bd7a1fb61516d9c2476f4f166f4e Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Mar 20 11:42:17 2015 +0000 usb: isp1760: fix spin unlock in the error path of isp1760_udc_start Commit a124820de5fd ("usb: isp1760: fix possible deadlock in isp1760_udc_irq") replaced spin_{un,}lock with spin_{un,}lock_irq{save,restore}. However it missed an error path resulting in the smatch warning as below: drivers/usb/isp1760/isp1760-udc.c:1230 isp1760_udc_start() warn: inconsistent returns 'irqsave:flags'. Locked on: line 1207 Unlocked on: line 1199 This patch fixes the spin unlock in the error path in isp1760_udc_start thereby removing the smatch warning mentioned above. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4218affdf57f938c04e3a916a9685ee27079f377 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Feb 3 19:43:45 2015 +0900 kbuild: remove warning about "make depend" Enough time has passed since "make depend" was deprecated. Nobody would be in trouble without this hint. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 70a4fd6c56d0f581a63dffd8c31d180e96ecf6a6 Author: Michal Marek <mmarek@xxxxxxx> Date: Wed Mar 11 11:01:01 2015 +0100 kbuild: Don't reset timestamps in include/generated if not needed Use filechk to generate asm-offsets.h and bounds.h. Based on a patch by Valdis Kletnieks. Reported-by: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Acked-By: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Reviewed-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 3e457371f436e89ce9239674828f9729a36b2595 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 19 17:10:16 2015 -0700 usb: musb: Fix fifo reads for dm816x with musb_dsps Looks like dm81xx can only do 32-bit fifo reads like am35x. Let's set up musb-dsps with a custom read_fifo function based on the compatible flag. Otherwise we can get the following errors when starting dhclient on a asix USB Ethernet adapter: asix 2-1:1.0 eth2: asix_rx_fixup() Bad Header Length 0xffff003c, offset 4 While at it, let's also remove pointless cast of the driver data. Cc: Bin Liu <binmlist@xxxxxxxxx> Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: George Cherian <george.cherian@xxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1ea276cbfc0201c9804f38474f3ec2c4488a2fc6 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Sat Mar 21 15:25:52 2015 +0200 usb: phy: Fix USB_ULPI_VIEWPORT Kconfig dependency USB_ULPI_VIEWPORT didn't depend on USB_ULPI, while USB_ULPI is using non user selectable USB_ULPI_VIEWPORT. Fix this. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f4b4976b6e3171d408d0f6e08b12189bf60d1d22 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 24 10:58:16 2015 +0100 usb: gadget: f_printer: fix dependencies If f_printer is selected without legacy g_printer, it should depend on USB_CONFIGFS which pulls in libcomposite. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 025ffe88ee605acb03dba0d920908dff5ec15dd0 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 24 17:43:21 2015 +0200 spi: pxa2xx: shift clk_div in one place This patch refactors ssp_get_clk_div() and pxa2xx_ssp_get_clk_div() to align clk_div calculations, i.e. ssp_get_clk_div() and quark_x1000_set_clk_regvals() will return plain clk_div and it will be shifted to proper position in pxa2xx_ssp_get_clk_div(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dbea4032f8024e5ea886341f7c39cf023e30e828 Author: Lars Poeschel <poeschel@xxxxxxxxxxx> Date: Tue Mar 24 09:25:10 2015 -0700 Input: usbtouchscreen - add new model from IRTOUCHSYSTEMS This adds support for another model of IRTOUCH SYSTEMS Co.,LtD infrared touchscreens. The USB vendorID/deviceID is 6615/0012. It is also sold under the label "Elektrosil". The datasheet states that coordinates for x and y are in the range from 0 to 32767. Signed-off-by: Lars Poeschel <poeschel@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit baa5a7bc5dd069bb37de9c8bdb5ea7f4e2e939e9 Merge: 963a70b e03eaa4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 24 17:22:44 2015 +0100 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: - Improve support of compressed kernel modules (Jiri Olsa) - Add --kallsyms option to 'perf diff' (David Ahern) - Add pid/tid filtering to 'report' and 'script' commands (David Ahern) - Add support for __print_array() in libtraceevent (Javi Merino) - Save DSO loading errno to better report errors (Arnaldo Carvalho de Melo) - Fix 'probe' to get ummapped symbol address on kernel (Masami Hiramatsu) - Print big numbers using thousands' group in 'kmem' (Namhyung Kim) - Remove (null) value of "Sort order" for perf mem report (Yunlong Song) Infrastructure changes: - Handle NULL comm name in libtracevent (Josef Bacik) - Libtraceevent synchronization with trace-cmd repo (Steven Rostedt) - Work around lack of sched_getcpu() in glibc < 2.6. (Vinson Lee) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e03eaa400cf8b8bded86cc5c41018a1c69152f16 Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue Mar 24 09:52:41 2015 -0600 perf tools: Add pid/tid filtering to report and script commands The 'record' and 'top' tools already allow a user to specify a CSV of pids and/or tids of tasks to collect data. Add those options to the 'report' and 'script' analysis commands to only consider samples related to the given pids/tids. This is also inline with the existing comm option. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427212361-7066-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6b1f342354d45c651cabd2ae0f61f55846f33e10 Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue Mar 24 09:51:57 2015 -0600 perf diff: Add kallsyms option Required for off-box analysis to convert kernel addresses. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427212317-7018-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 143526ee94a295ed33b9cc19e9532ab6d14a1cc0 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Tue Mar 24 09:51:12 2015 +0800 ASoC: rt286: check regmap_read result for ID check It is worth to check the regmap_read result for ID check since it is the first regmap_read. And we can check if there is any i2c issue. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 63a91033d52e64a22e571fe84924c0b7f21c280d Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:43 2015 +0900 kbuild: add generic mergeconfig target, %.config "scripts/kconfig/merge_config.sh && make oldconfig" works well enough for merging local config fragments, but Kbuild currently has the entry points only for "kvmconfig" and "tinyconfig". This commit provides the generic target for mergeconfig, so we can manage our own config fragments easily: put "foo.config" in arch/$(SRCARCH)/configs/ or kernel/configs/, and then run "make foo.config". Now "make kvmconfig" is just a shorthand of "make kvm_guest.config". Likewise, "make tinyconfig" is equivalent to "make allnoconfig tiny.config". Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit bc8f8f5fc47cd02c2c5f3580dac2fe6695af1edd Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:42 2015 +0900 merge_config.sh: rename MAKE to RUNMAKE The variable "MAKE" is used to store the command name that has invoked the Makefile. (Actually, it is already set to "make" if you run this script from a Makefile.) In this script, however, it is used to determine if Make should be run or not. It is not what we usually expect. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 3a975b8cfcbe026b535f83bde9a3c009bae214f9 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:41 2015 +0900 merge_config.sh: improve indentation It is true that we do not want to move the code too far to the right, but something like below is not preferred: if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then echo Value of $CFG is redefined by fragment $MERGE_FILE: echo Previous value: $PREV_VAL echo New value: $NEW_VAL echo elif [ "$WARNREDUN" = "true" ]; then echo Value of $CFG is redundant by fragment $MERGE_FILE: fi To fix this, call "continue" if the "grep" command fails to find the given CONFIG. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 371cfd4ff0611d8bc5d18bbb9cc6a2bc3d56cd3d Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:40 2015 +0900 kbuild: mergeconfig: remove redundant $(objtree) Kbuild always runs in $(objtree). Actually, $(objtree) is always set to "." by the top-level Makefile. We can omit "-O $(objtree)" and "$(objtree)/". Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit b9fe99c5b994c6ddc57780993966b18899526c0b Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:39 2015 +0900 kbuild: mergeconfig: move an error check to merge_config.sh Currently, "make tinyconfig" does not work with "-j" option. $ make mrproper $ make -j8 tinyconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf --allnoconfig Kconfig # # configuration written to .config # scripts/kconfig/Makefile:122: *** You need an existing .config for this target. Stop. make: *** [tinyconfig] Error 2 As shown above, "allnoconfig" has created the .config file before mergeconfig is called, but Make still raises a false alarm because of some sort of race condition. We can fix this issue by moving the error check to the shell script. Anyway, scripts/kconfig/merge_config.sh always requires an existing .config as a base file. It is reasonable to check its existence in the shell script. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit de4619937229378e81f95e99c9866acc8e207d34 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Mar 13 15:21:38 2015 +0900 kbuild: mergeconfig: fix "jobserver unavailable" warning If "make kvmconfig" is run with "-j" option, a warning message, "jobserver unavailable: using -j1. Add `+' to parent make rule.", is displayed. $ make -s defconfig *** Default configuration is based on 'x86_64_defconfig' # # configuration written to .config # $ make -j8 kvmconfig Using ./.config as base Merging ./arch/x86/configs/kvm_guest.config [ snip ] # # merged configuration written to ./.config (needs make) # make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. scripts/kconfig/conf --oldconfig Kconfig [ snip ] # # configuration written to .config # Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit b839e1e846edb15cff322e262e8ce412d298232e Author: Javi Merino <javi.merino@xxxxxxx> Date: Tue Mar 24 11:07:19 2015 +0000 tools lib traceevent: Add support for __print_array() Since 6ea22486ba46 ("tracing: Add array printing helper") trace can generate traces with variable element size arrays. Add support to parse them. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427195239-15730-1-git-send-email-javi.merino@xxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e1644aae4589274223c1ab9072ddbda98dd97f6a Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:57 2015 -0400 tools lib traceevent: Free filter tokens in process_filter() valgrind showed that the filter token wasn't being freed properly in process_filter(). Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135923.817723903@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 82ac952be6348dc072dcfd80a2dcb511d0cd6bea Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:56 2015 -0400 tools lib traceevent: Add way to find sub buffer boundary For debugging purposes, it may be helpful for the kbuffer library to flag when crossing a sub buffer. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135923.650983637@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c5e691928bf166ac03430e957038b60adba3cf6c Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:55 2015 -0400 tools lib traceevent kbuffer: Remove extra update to data pointer in PADDING When a event PADDING is hit (a deleted event that is still in the ring buffer), translate_data() sets the length of the padding and also updates the data pointer which is passed back to the caller. This is unneeded because the caller also updates the data pointer with the passed back length. translate_data() should not update the pointer, only set the length. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.12+ Link: http://lkml.kernel.org/r/20150324135923.461431960@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5dbcfd930e430b33fb4dfded9c1af0cf432772b9 Author: Steven Rostedt <srostedt@xxxxxxxxxx> Date: Tue Mar 24 09:57:54 2015 -0400 tools lib traceevent: Make plugin options either string or boolean When a plugin option is defined, by default it is a boolean (true or false). If the option is something else, then it needs to set its "value" field to a default string other than NULL (can be just ""). If the value is not set then the option is considered boolean, and the updating of the option value will be handled accordingly. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135923.308372986@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2771984c7f5e6cab812e86ec152da4fb5f6df908 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:52 2015 -0400 tools lib traceevent: Add pevent_data_pid_from_comm() There is a pevent_data_comm_from_pid() that returns the cmdline stored for a given pid in order for users to map pids to comms, but there's no method to convert a comm back to a pid. This is useful for filters that specify a comm instead of a PID (it's faster than searching each individual event). Add a way to retrieve a comm from a pid. Since there can be more than one pid associated to a comm, it returns a data structure that lets the user iterate over all the saved comms for a given pid. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135923.001103479@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 55426296963c678650e26fc5e61ea75a5598ef5a Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:51 2015 -0400 tools lib traceevent: Handle %z in bprint format The %z printf specifier was not handled making trace_printk()s in the kernel that used this break on output. Reported-by: Shawn Bohrer <shawn.bohrer@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Shawn Bohrer <shawn.bohrer@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135922.844361717@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c20856c260236b96f54c452d38dbe1348ed34d2 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Tue Mar 24 15:10:21 2015 +0000 arm64: head.S: ensure idmap_t0sz is visible We write idmap_t0sz with SCTLR_EL1.{C,M} clear, but we only have the guarnatee that the kernel Image is clean, not invalid in the caches, and therefore we might read a stale value once the MMU is enabled. This patch ensures we invalidate the corresponding cacheline after the write as we do for all other data written before we set SCTLR_EL1.{C.M}, guaranteeing that the value will be visible later. We rely on the DSBs in __create_page_tables to complete the maintenance. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 99ad1417db2e83530b88e3eff1a40285d6ebfee9 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Mar 24 09:57:50 2015 -0400 tools lib traceevent: Copy trace_clock and free it The pevent->trace_clock should not be a direct pointer to what was given. It should be copied and freed. Note, valgrind pointed this out when a caller passed in a pointer that needed to be freed and it never was. Ideally, pevent should copy it (which this change does), and free the copy. It's up to the caller to free the clock string passed in. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135922.695906738@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit deab6f55a2fe6fe044af61c9aad6a8e90cda6499 Author: Josef Bacik <jbacik@xxxxxx> Date: Tue Mar 24 09:57:49 2015 -0400 tools lib traceevent: Handle NULL comm name It is possible that a pid has no associated comm attached to it, although it can still be passed to pevent_register_comm(). But if comm is NULL, it will cause strdup() to segfault. To prevent this from happening, if comm is NULL use the default "<...>" name for the pid. Signed-off-by: Josef Bacik <jbacik@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150324135922.549965495@xxxxxxxxxxx Link: http://lkml.kernel.org/p/1403799732-30308-1-git-send-email-jbacik@xxxxxx Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d5efd9cc9cf2e422d064c912c7d5d985f52c1b2c Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Mar 6 11:54:10 2015 +0000 arm64: pmu: add support for interrupt-affinity property Historically, the PMU devicetree bindings have expected SPIs to be listed in order of *logical* CPU number. This is problematic for bootloaders, especially when the boot CPU (logical ID 0) isn't listed first in the devicetree. This patch adds a new optional property, interrupt-affinity, to the PMU node which allows the interrupt affinity to be described using a list of phandled to CPU nodes, with each entry in the list corresponding to the SPI at the same index in the interrupts property. Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 71bbf038eaa44a80dd6df0da7c708d4618172fe0 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Mar 6 11:54:08 2015 +0000 dt: pmu: extend ARM PMU binding to allow for explicit interrupt affinity The current ARM PMU binding relies on the PMU interrupts being listed in CPU logical order, which the device-tree author simply cannot know anything about. This patch introduces a new "interrupt-affinity" property, which makes the relationship between the PMU interrupts and their corresponding CPU explicit. Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 18425f13a0890ac1e88a64276771c1ae10030b4a Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 24 11:49:02 2015 -0300 perf symbols: Save DSO loading errno to better report errors Before, when some problem happened while trying to load the kernel symtab, 'perf top' would show: â??â??Warning:â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? â??The vmlinux file can't be used. â?? â??Kernel samples will not be resolved.â?? â?? â?? â?? â?? â??Press any key... â?? â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? Now, it reports: # perf top --vmlinux /dev/null â??â??Warning:â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? â??The /tmp/passwd file can't be used: Invalid ELF fileâ?? â??Kernel samples will not be resolved. â?? â?? â?? â?? â?? â??Press any key... â?? â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? This is possible because we now register the reason for not being able to load the symtab in the dso->load_errno member, and provide a dso__strerror_load() routine to format this error into a strerror like string with a short reason for the error while loading. That can be just forwarding the dso__strerror_load() call to strerror_r(), or, for a separate errno range providing a custom message. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-u5rb5uq63xqhkfb8uv2lxd5u@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 17e44dc46f035ca27847bbf75ffd3072ed49f13c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 23 18:23:02 2015 -0300 perf target: Simplify handling of strerror_r return To deal with forwarding the strerror_r (GNU) return we need to check if the returned value is the buffer we passed or maybe some constant (unknown error), simplify that action by using scnprintf, that will do all the buflen size checks, trimming if needed. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> 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: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d0ik6i5gjew56j0qphql28ou@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e1e455f4f4d35850c30235747620d0d078fe9f64 Author: Vinson Lee <vlee@xxxxxxxxxxx> Date: Mon Mar 23 12:09:16 2015 -0700 perf tools: Work around lack of sched_getcpu in glibc < 2.6. This patch fixes this build error with glibc < 2.6. CC util/cloexec.o cc1: warnings being treated as errors util/cloexec.c: In function â??perf_flag_probeâ??: util/cloexec.c:24: error: implicit declaration of function â??sched_getcpuâ?? util/cloexec.c:24: error: nested extern declaration of â??sched_getcpuâ?? make: *** [util/cloexec.o] Error 1 Signed-off-by: Vinson Lee <vlee@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.18+ Link: http://lkml.kernel.org/r/1427137761-16119-1-git-send-email-vlee@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9fd85eb502a78bd812db58bd1f668b2a06ee30a5 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Mar 6 11:54:09 2015 +0000 ARM: pmu: add support for interrupt-affinity property Historically, the PMU devicetree bindings have expected SPIs to be listed in order of *logical* CPU number. This is problematic for bootloaders, especially when the boot CPU (logical ID 0) isn't listed first in the devicetree. This patch adds a new optional property, interrupt-affinity, to the PMU node which allows the interrupt affinity to be described using a list of phandled to CPU nodes, with each entry in the list corresponding to the SPI at the same index in the interrupts property. Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 77cfe388767572586b7d4fd533c38f902d020f17 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Mar 23 15:30:40 2015 +0900 perf kmem: Print big numbers using thousands' group Like perf stat, this makes easy to read the numbers on stat like below: # perf kmem stat SUMMARY ======= Total bytes requested: 9,770,900 Total bytes allocated: 9,782,712 Total bytes wasted on internal fragmentation: 11,812 Internal fragmentation: 0.120744% Cross CPU allocations: 74/152,819 Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1427092244-22764-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 929a6bb71aa5ae6cb15b4b42ab7ac183ee286a1a Author: Javi Merino <javi.merino@xxxxxxx> Date: Fri Mar 20 18:12:55 2015 +0000 tools lib traceevent: Factor out allocating and processing args The sequence of allocating the print_arg field, calling process_arg() and verifying that the next event delimiter is repeated twice in process_hex() and will also be used for process_int_array(). Factor it out to a function to avoid writing the same code again and again. Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426875176-30244-2-git-send-email-javi.merino@xxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e6d7c91c8c5ea532584056f3e8bf1643310c8ef7 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Sun Mar 22 20:40:22 2015 +0900 perf probe: Fix to get ummapped symbol address on kernel Fix to get correctly unmapped symbol address on kernel. This allows us to probe on syscall symbols which are aliases of SyS_ functions with using debuginfo. Without this fix: ---- # ./perf probe -a sys_write Failed to find debug information for address 3b0100 Probe point 'sys_write' not found. Error: Failed to add events. ---- The address 0x3b0100 is a mapped address, and not usable in debuginfo. With this fix: ---- # ./perf probe -a sys_write Added new event: probe:sys_write (on sys_write) You can now use it in all perf tools, such as: perf record -e probe:sys_write -aR sleep 1 ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150322114022.32639.19096.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 228f14f2cbf481e0ec0bd0c7f947383cfa2d5167 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Mon Mar 23 11:50:05 2015 +0800 perf tools: Remove (null) value of "Sort order" for perf mem report When '--sort' is not set, 'perf mem report" will print a null pointer as the output value of sort order, so fix it. Example: Before this patch: $ perf mem report # To display the perf.data header info, please use --header/--header-only options. # # Samples: 18 of event 'cpu/mem-loads/pp' # Total weight : 188 # Sort order : (null) # ... After this patch: $ perf mem report # To display the perf.data header info, please use --header/--header-only options. # # Samples: 18 of event 'cpu/mem-loads/pp' # Total weight : 188 # Sort order : local_weight,mem,sym,dso,symbol_daddr,dso_daddr,snoop,tlb,locked # ... Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1427082605-12881-1-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f901caaf8e45c7917029ec9197622f0167ea2d40 Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:38:08 2015 -0600 selftests: Add tool to generate kselftest tar archive gen_kselftest_tar.sh tool generates kselftest tar archive. This tool supports uncompressed tar, gz, bz, and xz compression formats and the default compression format is gzip. This tool runs kselftest install tool as its back-end. Usage: cd tools/testing/selftests ./gen_kselftest_tar [ tar | targz | tarbz2 | tarxz ] Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 219794052f753fae54def9ba6758b31447b0244d Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:19:50 2015 -0600 selftests: Add kselftest install tool kselftest_install.sh tool installs selftests in default location which is tools/testing/selftests/kselftest or an user specified location. This tool invokes back-end selftests install target with the install location. Usage: cd tools/testing/selftests ./kselftest_install.sh [ install_dir ] Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit c754ff966d54b3a6cb45cd57524186a16e7f5831 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:35 2015 +0200 dgnc: Clean up dgnc_sysfs.h Remove redundant blank lines, move absolute include after relative include. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b84f2d910ff918ef88e920c0d23b6b8d8fa48cd Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:34 2015 +0200 dgnc: remove unused stuff from dgnc_cls.h Remove unused defines from dgnc_cls.h Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20dad752850cd2b512f3ba48a5d9a13b15dabdf9 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:33 2015 +0200 dgnc: remove old 2.4-2.6 compat kernel defines dgnc_kcompat.h contains some old legacy defines in case the kernel doesn't have __user defined but for current kernel versions these defines don't make sense and are useless so remove them. Move the TTY_FLIPBUF_SIZE define to digi.h because it's used in the code. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d533a524a88a278ea3fd1dd279000cb0df0e0014 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:32 2015 +0200 dgnc: use linux/types.h instead of dgnc_types.h Dgnc_types.h unnecesarily defines TRUE as 1 and FALSE as 0 because we already have a widely used linux/types.h so convert all TRUE to true, FALSE to false and edit the dgnc_board struct to make sure it uses "bool". Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 850b41f7ba75aa4fb472eff730061957e42a2372 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:31 2015 +0200 dgnc: get rid of dpacompat.h, move remaining stuff to digi.h Dpacompat.h contained a lot of unused #defines and only few things are used from it so since we've trimmed down digi.h, now we can delete dpacompat.h and move remaining stuff into digi.h. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 944b3ad4264f0745cf4204473742a86efc382f0e Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:30 2015 +0200 dgnc: clean up digi.h Remove a lot of unused structs and defines from digi.h. We still have to be careful with TIOCM_LE and TIOCMSET/TIOCMBIC because termios.h and ioctls.h respectfully redefine them. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f82d189c335ad0d9121abca77b7a79fbd120b553 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Fri Mar 13 15:56:29 2015 +0200 dgnc: remove unused dgnc_ioctl_name() command dgnc_ioctl_name() is never used anywhere so remove it Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 509fca899d5682a6eee3d1fb70bba7c89439034b Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Mar 23 19:50:21 2015 -0600 iommu/vt-d: Remove unused variable Unused after commit 71684406905f ("iommu/vt-d: Detach domain *only* from attached iommus"). Reported by 0-day builder. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 91d57155dc5ab4b311624b7ee570339b6af19ad5 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Tue Mar 24 13:50:27 2015 +0000 arm64: head.S: ensure visibility of page tables After writing the page tables, we use __inval_cache_range to invalidate any stale cache entries. Strongly Ordered memory accesses are not ordered w.r.t. cache maintenance instructions, and hence explicit memory barriers are required to provide this ordering. However, __inval_cache_range was written to be used on Normal Cacheable memory once the MMU and caches are on, and does not have any barriers prior to the DC instructions. This patch adds a DMB between the page tables being written and the corresponding cachelines being invalidated, ensuring that the invalidation makes the new data visible to subsequent cacheable accesses. A barrier is not required before the prior invalidate as we do not access the page table memory area prior to this, and earlier barriers in preserve_boot_args and set_cpu_boot_mode_flag ensures ordering w.r.t. any stores performed prior to entering Linux. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Fixes: c218bca74eeafa2f ("arm64: Relax the kernel cache requirements for boot") Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4bef52f377b6410a89fc580a8948033f613854f8 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 12 20:24:31 2015 +0300 staging: dgnc: some off by one bugs "dgnc_NumBoards" is the number of filled out elements in the dgnc_Board[] array. "->nasync" and "->maxports" are the same value. They are the number of channels in the ->channels[] array so these tests should be ">=" instead of ">" so we avoid reading past the end of the arrays. I cleaned up the conditions in dgnc_mgmt_ioctl() a bit. There was a work around for the off by one bug in the case where there were no boards which is no longer needed. "channel" is unsigned so it can't be negative. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9533ae539d5cc3d5fc501529d2df7b77e20449c Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Mar 23 18:40:49 2015 +0100 checkkconfigsymbols.py: fix sorted output Commit b1a3f243485f ("checkkconfigsymbols.py: make it Git aware") mistakenly removed to print undefined Kconfig symbols in alphabetical order. Furthermore, the script does not print anything anymore when the entire tree is checked (i.e., when no commit is specified). This patch restores the sorted output and adds the missing print for the default case. Additionally, the file lists are now sorted as well which (a) makes it easier to read and (b) makes the output deterministic. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b112e7c90e64612e6319565688bdf0e05d572bb2 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:47 2015 +0200 CRYPTO: Octeon: Enable OCTEON SHA1/256/512 module selection Enable user to select OCTEON SHA1/256/512 modules. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9492/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 041a80c5c0cd408311261dc31db31adf3de00905 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:46 2015 +0200 CRYPTO: Octeon: Add SHA512 module Add OCTEON SHA512 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9496/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8ab368303caa9daa16b811963fcd693897a3a401 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:45 2015 +0200 CRYPTO: Octeon: Add SHA256 module Add OCTEON SHA256 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9493/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 63bb06ee82aacf923dc59c72aff021c232897e62 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:44 2015 +0200 CRYPTO: Octeon: Add SHA1 module Add OCTEON SHA1 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9495/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a3d2a10be8e8d45439b6289a5d5151693228b6e6 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:43 2015 +0200 CRYPTO: Octeon: Add instruction definitions for SHA1/256/512 Add instruction definitions for SHA1/256/512. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9491/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e606ee200a83bec648aaf5442ce9e71fc07b215d Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:42 2015 +0200 CRYPTO: Octeon: always disable preemption when using crypto engine Always disable preemption on behalf of the drivers when crypto engine is taken into use. This will simplify the usage. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9494/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f7715e72f5630b42c33360dbf8d22e52aaa76f8e Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:41 2015 +0200 CRYPTO: Octeon: Don't disable bottom half in octeon-md5 Don't disable bottom half while the crypto engine is in use, as it should be unnecessary: All kernel crypto engine usage is wrapped with crypto engine state save/restore, so if we get interrupted by softirq that uses crypto they should save and restore our context. This actually fixes an issue when running OCTEON MD5 with interrupts disabled (tcrypt mode=302). There's a WARNING because the module is trying to enable the bottom half with irqs disabled: [ 52.656610] ------------[ cut here ]------------ [ 52.661439] WARNING: CPU: 1 PID: 428 at /home/aaro/git/linux/kernel/softirq.c:150 __local_bh_enable_ip+0x9c/0xd8() [ 52.671780] Modules linked in: tcrypt(+) [...] [ 52.763539] [<ffffffff8114082c>] warn_slowpath_common+0x94/0xd8 [ 52.769465] [<ffffffff81144614>] __local_bh_enable_ip+0x9c/0xd8 [ 52.775390] [<ffffffff81119574>] octeon_md5_final+0x12c/0x1e8 [ 52.781144] [<ffffffff81337050>] shash_compat_digest+0xd0/0x1b0 Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9490/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e2c5aaa5fd3b4038061adf878254cceb30e41ddd Author: Alex Dowad <alexinbeijing@xxxxxxxxx> Date: Fri Mar 13 20:14:41 2015 +0200 mips: copy_thread(): rename 'arg' argument to 'kthread_arg' The 'arg' argument to copy_thread() is only ever used when forking a new kernel thread. Hence, rename it to 'kthread_arg' for clarity (and consistency with do_fork() and other arch-specific implementations of copy_thread()). Signed-off-by: Alex Dowad <alexinbeijing@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Eunbong Song <eunb.song@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx (open list:MIPS) Patchwork: https://patchwork.linux-mips.org/patch/9546/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9a6a2b96dfd8b01336f8519a5be7fb353cfa62fb Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sat Mar 14 17:55:54 2015 +0100 MIPS: BCM47XX: Support SPROM prefixes for PCI devices Support parsing SPROMs with prefixes defined like devpath1=pci/1/1 Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9552/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a0d46a3dfdc3f3d639b3fa84b84a58e116e4bf2c Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Thu Mar 5 16:44:42 2015 +0100 ARM: cpuidle: Register per cpuidle device If the cpuidle init cpu operation returns -ENXIO, therefore reporting HW failure or misconfiguration, the CPUidle driver skips the respective cpuidle device initialization because the associated platform back-end HW is not operational. That prevents the system to crash and allows to handle the error gracefully. For example, on Qcom's platform, each core has a SPM. The device associated with this SPM is initialized before the cpuidle framework. If there is an error in the initialization (eg. error in the DT), the system continues to boot but in degraded mode as some SPM may not be correctly initialized. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit edc16d8d481e4c73f9d70d648463d4b25d2c662b Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:38:02 2015 +0200 stating: octeon-usb: cvmx_usb_initialize(): eliminate extra indentation Eliminate extra indentation by putting all the code into the same block. Also delete a bogus comment. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ad9c95b3a595a2ec516dfcbc677043ea5ac9a76 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:38:01 2015 +0200 staging: octeon-usb: try to recover from failed hardware reset On some hardware the USB fails to initialize to sane state after cold boot. We can detect this based on some unexpected interrupt bits, and recover by re-initializing. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3b8edc0f366bd7049eafa11d0c0187f039c0528 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:38:00 2015 +0200 staging: octeon-usb: fail and warn if DMA counters are wrong Fail and WARN if DMA counters are wrong. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb04114f37eb434b5bc18293274420d2a664adc2 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:59 2015 +0200 staging: octeon-usb: move cvmx_usb_shutdown() Move cvmx_usb_shutdown() to allow its use from some other functions. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0c8c72ba35b34a1fbbc9abe2a023fb27b40d916 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:58 2015 +0200 staging: octeon-usb: rewrite port reset Don't disable port before resetting. Also perform reset unconditionally when requested. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 164814bb6e21dfd27952ddcbe65709ed7aa83d4a Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:57 2015 +0200 staging: octeon-usb: move fifo setup to controller reset from port reset Move FIFO setup to controller reset from port reset. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2263251fbb3f7e79b8c2dafdf45614522ddb43f4 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:56 2015 +0200 staging: octeon-usb: move fifo setup into a separate routine Move FIFO setup into a separate routine. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ed64a4c8f5d53aaa6b20e7424b127be7392f700 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:55 2015 +0200 staging: octeon-usb: use USB stack to turn on power Use USB stack to turn on the power bit. It will also do the necessary delays. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8eedbd107cc73d6dfb5f8df2307c43cf27b0107 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:54 2015 +0200 staging: octeon-usb: don't poll interrupts early Don't poll interrupts before we have registered the HCD. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5e79e6ea6d21c342a94dda9f5d91a3e8d882e56 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:53 2015 +0200 staging: octeon-usb: refactor usbn block init Move one-time state data structure initialization out of cvmx_usb_initialize(). This enables to re-initialize USBN HW block without messing up data structures. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 532edc93e23e656094ede793c92207a2c237740e Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:52 2015 +0200 staging: octeon-usb: never retry after xacterr Never retry after xacterr. The DMA engine cannot handle that properly and may result in wrong transfer count and hang. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d712648a22851bef1a830274a3b5793178d3493d Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:51 2015 +0200 staging: octeon-usb: program DMA engine based on transfer direction Program DMA engine based on transfer direction. We are only transferring to one direction at a time. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af8e4c71f6ddb9b2e20a0b5bf81a391f4552205c Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:50 2015 +0200 staging: octeon-usb: use __BITFIELD_FIELD Use __BITFIELD_FIELD to define bitfields. OCTEON can at least in theory run also in little-endian mode, so the bitfield definitions should not assume big-endian byte order. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31170da59e0ffc90b94c4a6bbfecb657b2c5e3ad Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:49 2015 +0200 staging: octeon-usb: delete redundant field from octeon_temp_buffer Since we are not moving/realigning the original pointer returned by kmalloc, we don't need to store the value in a separate field. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f9697b714b291d81a289fe6f1f7818ac910bccb Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:48 2015 +0200 staging: octeon-usb: remove useless prefix from pipe flags Remove useless prefix from pipe flags and adjust comments. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68d435dd54ecfe7cb34d57204ed3ea4691fb83ea Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:47 2015 +0200 staging: octeon-usb: remove useless prefix from internal routines Original CVMX code used "__" to distinguis internal USB functions from public ones. But in Linux all cvmx_usb routines are internal to this driver, so such separation is useless. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4bdbdd916036effd90b18165819879b01c1fed8 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:46 2015 +0200 staging: octeon-usb: eliminate 64-bit register access wrappers Eliminate 64-bit register access wrappers. Since we don't implement register-level debugging outputs, these are useless. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 607078fcb1614b505a4904ab51a2eb2ebf6b9d7b Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 22 17:37:45 2015 +0200 staging: octeon-usb: remove internal function parameter sanity checks Remove some function parameter sanity checks from internal functions where we can rely them being called with sane parameters. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecf896b97de9757fd835034ad849680218babc93 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Mar 24 08:58:43 2015 +0100 power_supply: charger-manager: Fix dereferencing of ERR_PTR If power_supply_register() fails do not dereference returned ERR_PTR. The pointer was dereferenced to print name of battery which registration failed. Instead use the name from the power supply description passed to the power_supply_register() function. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit fbea947c7d122f4704001fac2a96b617f767037a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Mar 23 16:34:51 2015 +0100 HID: input: Fix NULL pointer dereference when power_supply_register fails Do not call power_supply_powers() if power_supply_register() failed earlier. This fixes possible NULL pointer dereference by power_supply_powers() in such case. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1d601da27b052be84eb49854ddbc7c1046d6702d Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Wed Feb 25 20:08:20 2015 +0200 drm/omap: tiler: add hibernation callback Setting a dev_pm_ops resume callback but not a set of hibernation handler means that pm function will not be called upon hibernation. Fix this by using SIMPLE_DEV_PM_OPS, which appropriately assigns the suspend and hibernation handlers and move omap_dmm_resume under CONFIG_PM_SLEEP to avoid build warnings. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> [tomi valkeinen: add missing 'static'] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 8450c8d071d858e8f95855a7b5897df3981e3d21 Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Date: Thu Feb 26 15:57:17 2015 +0200 drm/omap: add hibernation callbacks Setting a dev_pm_ops suspend/resume pair but not a set of hibernation functions means those pm functions will not be called upon hibernation. Fix this by using SIMPLE_DEV_PM_OPS, which appropriately assigns the suspend and hibernation handlers and move omap_drm_suspend/omap_drm_resume under CONFIG_PM_SLEEP to avoid build warnings. Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> [tomi.valkeinen@xxxxxx: fix conflict, clean up description] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 223bfd6911a0129d819b4dadb0eec93da014a9d9 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Tue Feb 10 14:15:52 2015 +0200 drm/omap: keep ref to old_fb We store the fb being page-flipped to 'old_fb' field, but we don't increase the ref count of the fb when doing that. While I am not sure if it can cause problem in practice, it's still safer to keep a ref when storing a pointer to a fb. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7439507f0118c2e806a9c7644882ee33f73e46a9 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Dec 17 14:34:23 2014 +0200 drm/omap: fix race conditon in DMM The omapdrm DMM code sometimes crashes with: WARNING: CPU: 0 PID: 1235 at lib/list_debug.c:36 __list_add+0x8c/0xbc() list_add double add: new=e9265368, prev=e90139c4, next=e9265368. This is caused by the code calling release_engine() twice for the same engine. dmm_txn_commit(wait=true) call is supposed to wait until the DMM transaction has been finished. And it does that, but it does not wait for the irq handler to finish. What happens is that the irq handler is triggered, and it either wakes up the thread that called dmm_txn_commit(), or that thread never even slept because the transaction was finished in the HW very quickly. That thread then continues executing, even if the irq handler is not yet finished, and a new transaction may be initiated. If that transaction is async (i.e. wait=false), a 'async' flag is set to true. The original irq handler, which has yet not finished, then sees the transaction as 'async', even if it was supposed to be 'sync'. When that happens, the irq handler does an extra release_engine() call because it thinks it need to release the engine, leading to the crash. This patch fixes the issue by using completion to ensure that the irq handler has finished before a dmm_txn_commit(wait=true) may continue. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 76c4055f2c9a7ae556e96c1cadd82ee182b7d87e Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Dec 17 14:34:22 2014 +0200 drm/omap: fix race condition with dev->obj_list omap_gem_objects are added to dev->obj_list in omap_gem_new, and removed in omap_gem_free_object. Unfortunately there's no locking for dev->obj_list, which eventually leads to a crash: WARNING: CPU: 1 PID: 1123 at lib/list_debug.c:59 __list_del_entry+0xa4/0xe0() list_del corruption. prev->next should be e9281344, but was ea722b84 Add a spinlock to protect dev->obj_list. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 8519c62ce610e512722d1d8e3991c02cca59010c Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Nov 28 14:34:16 2014 +0200 drm/omap: do not use BUG_ON(!spin_is_locked(x)) spin_is_locked(x) returns always 0 on uniprocessor, triggering BUG() in omapdrm. Change it to use assert_spin_locked() to fix the issue. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit ef4222838846fdecb6f1eae5671d9c462fd34852 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Feb 26 15:20:25 2015 +0200 drm/omap: only ignore DIGIT SYNC LOST for TV output We need to ignore DIGIT SYNC LOST error when enabling/disabling TV output. The code does that, but it ignores the DIGI SYNC LOST when enabling any output. Normally this does no harm, but it could make us miss DIGIT SYNC LOST on some rare occasions. Fix the code to only ignore DIGIT SYNC LOST when enabling/disabling TV. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit a36af73f5e825c4c5ae5b11580c24fa7841bd5e2 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Feb 26 15:20:24 2015 +0200 drm/omap: fix race with error_irq omapdrm tries to avoid error floods by unregistering the error irq when an error happens, and then registering the error irq again later. However, the code is racy, as it sometimes tries to unregister the error irq when it's already unregistered, leading to WARN(). Also, the code only registers the error irq again when something is done on that particular output, i.e. if only TV is used to flip the buffers, and LCD is showing a same buffer, an error on LCD will cause the LCD error irq to be unregistered and never registered again. To fix this, let's keep the error irqs always enabled and trust the DRM_ERROR_RATELIMITED to limit the flood. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 3b143fc80c077be54f8f7859d00f2db79250c884 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Nov 19 12:50:13 2014 +0200 drm/omap: use DRM_ERROR_RATELIMITED() for error irqs omapdrm uses normal DRM_ERROR() print when the HW reports an error. As we sometimes may get a flood of errors, let's rather use DRM_ERROR_RATELIMITED(). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit ccd7b5ed7d1ed47ee5ea2f66325972811eb093bd Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Nov 14 15:18:28 2014 +0200 drm/omap: stop connector polling during suspend When not using proper hotplug detection, DRM polls periodically the connectors to find out if a cable is connected. This polling can happen at any time, even very late in the suspend process. This causes a problem with omapdrm, when the poll happens during the suspend process after GPIOs have been disabled, leading to a crash in gpio_get(). This patch fixes the issue by adding suspend and resume hooks to omapdrm, in which we disable and enable, respectively, the polling. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit f5a1d3174f9e1d2d55bfd06626586963283e58be Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Nov 14 15:18:27 2014 +0200 drm/omap: remove dummy PM functions omapdrm has dummy functions for platform_device's suspend/resume/shutdown. The functions don't do anything, and those platform device functions are deprecated, so remove them from omapdrm. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit e7e24df4715906ad25041b0a4ca613186d4cf849 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Nov 10 12:23:01 2014 +0200 drm/omap: tiler: fix race condition with engine->async The tiler irq handler uses engine->async value, but the code that sets engine->async and enables the interrupt does not have a barrier. This may cause the irq handler to see the old value of engine->async, causing memory corruption. Reported-by: Harinarayan Bhatta <harinarayan@xxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 2dd3887b503c1cc8a61ef4a4f24462ce03f3ada5 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Oct 3 15:14:08 2014 +0000 drm/omap: fix plane's channel selection omap_plane_pre_apply() sets the plane's output channel too late, only after the plane has already been otherwise configured and enabled. This causes problems, as at the configuration stage we need to make decisions based on the output channel. This may lead to bad plane settings or failing to setup the plane. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7cb0d6c17b96b8bf3c25de2dfde4fdeb9191f4c3 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 19:24:29 2014 +0000 drm/omap: fix TILER on OMAP5 On OMAP5 it is not possible to use TILER buffer with CPU when caching or write-combining is used. Doing so leads to errors from the memory manager. However, on OMAP4, write-combining works fine. This patch adds platform specific data for the TILER, and a function tiler_get_cpu_cache_flags() which can be used to get the caching mode to be used. Note that without write-combining the use of the TILER buffer with CPU is unusably slow. It's still good to have it operational for testing purposes. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 2dab0bab6b749590086d44a04f9debc4fe894fd6 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 19:24:28 2014 +0000 drm/omap: handle incompatible buffer stride and pixel size omapdrm doesn't check if the pitch of the framebuffer and the color format's bits-per-pixel are compatible. omapdss requires that the stride of a buffer is an integer number of pixels For example, when using modetest with a display that has x resolution of 1280, and using packed 24 RGB mode (3 bytes per pixel), modetest allocates a buffer with a byte stride of 4 * 1280 = 5120. But 5120 / 3 = 1706.666... pixels, which causes wrong colors and a tilt on the screen. Add a check into omapdrm to return an error if the user tries to use such a combination. Note: this is not a HW requirement at least for non-rotation use cases, but a SW driver requirement. In the future we should study if also rotation use cases are fine with any stride size, and if so, change the driver to allow these strides. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 925e4940489a792b4aaf601c22c1943fbd9fd558 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 19:24:27 2014 +0000 drm/omap: fix error handling in omap_framebuffer_create() When an error happens in omap_framebuffer_create(), omap_framebuffer_create() calls omap_framebuffer_destroy() if the fb struct has been allocated. However, that crashes, as omap_framebuffer_destroy(), which calls drm_framebuffer_cleanup(), should only be called after drm_framebuffer_init() Fix this by just calling kfree() for the allocated fb when an error happens. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c7c1aecd8e490c3818eaaea33e3c0d372931350a Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 19:24:26 2014 +0000 drm/omap: fix operation without fbdev omapdrm should work fine even if fbdev is missing. The current driver crashes in that case, though, as it is missing checks for the fbdev. Add the checks so that we don't free fbdev or restore fbdev mode when there's no fbdev. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 160b2dd712ee4621617fbd3eb7d8e28375ecdba0 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:27 2015 +0100 ARM: tegra: nyan: The WiFi card is kept powered during suspend Even if the host controller doesn't have power during suspend, the card is kept powered. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit f7c5f5d9e25dc524f1cdc6cf821400ac29dae486 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Sep 3 19:25:57 2014 +0000 drm/omap: add a comment why locking is missing unpin_worker() calls omap_framebuffer_unpin() without any locks, which looks very suspicious. However, both pin and unpin are always called via the driver's private workqueue, so the access is synchronized that way. Add a comment to make this clear. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit f36eb5a899d3ea57e3d167427260848e116e27a0 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Sep 3 19:25:54 2014 +0000 drm/omap: add pin refcounting to omap_framebuffer omap_framebuffer_pin() and omap_framebuffer_unpin() are currently broken, as they cannot be called multiple times (i.e. pin, pin, unpin, unpin), which is what happens in certain cases. This issue causes the driver to possibly use 0 as an address for a displayed buffer, leading to OCP error from DSS. This patch fixes the issue by adding a simple pin_count, used to track the number of pins. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 3f4d17c4eca9769d56218a38dbfc482794fbde2f Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Sep 3 19:25:53 2014 +0000 drm/omap: clear omap_obj->paddr in omap_gem_put_paddr() Clear omap_obj's paddr when unmapping the memory, so that it's easier to catch bad use of the paddr. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 549a75498151370214f86eacc788a5832ac01e59 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Sep 3 19:25:50 2014 +0000 drm/omap: page_flip: return -EBUSY if flip pending The DRM documentation says: "If a page flip is already pending, the page_flip operation must return -EBUSY." Currently omapdrm returns -EINVAL instead. Fix omapdrm by returning -EBUSY. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 173372975457ca0fa0acddf60d087976bacb6ab3 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Sep 3 19:25:49 2014 +0000 drm/omap: fix encoder-crtc mapping OMAP DSS hardware supports changing the output port to which an overlay manager's video stream goes. For example, DPI video stream can come from any of the four overlay managers on OMAP5. However, as it's difficult to manage the change in the driver, the omapdss driver does not support that at the moment, and has a hardcoded overlay manager per output. omapdrm, on the other hand, uses the hardware features to find out which overlay manager to use for an output, which causes problems. For example, on OMAP5, omapdrm tries to use DIGIT overlay manager for DPI output, instead of the LCD3 required by the omapdss driver. This patch changes the omapdrm to use the omapdss driver's hardcoded overlay managers, which fixes the issue. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit fa50d7ee45bfd6db66b38fc4930ce3cc3661b845 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Mar 23 21:33:09 2015 +0100 crypto: arm/ghash - fix big-endian bug in ghash This fixes a bug in the new v8 Crypto Extensions GHASH code that only manifests itself in big-endian mode. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 43eaa2a1ad70d72876cdbb2eb5450a2665e4770f Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Mar 23 10:42:53 2015 -0500 x86/mce: Define mce_severity function pointer Rename mce_severity() to mce_severity_intel() and assign the mce_severity function pointer to mce_severity_amd() during init on AMD. This way, we can avoid a test to call mce_severity_amd every time we get into mce_severity(). And it's cleaner to do it this way. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Suggested-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Chen Yucong <slaoub@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427125373-2918-3-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit bf80bbd7dcf525e41e0673fbaa8cd21d2344b460 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Mar 23 10:42:52 2015 -0500 x86/mce: Add an AMD severities-grading function Add a severities function that caters to AMD processors. This allows us to do some vendor-specific work within the function if necessary. Also, introduce a vendor flag bitfield for vendor-specific settings. The severities code uses this to define error scope based on the prescence of the flags field. This is based off of work by Boris Petkov. Testing details: Fam10h, Model 9h (Greyhound) Fam15h: Models 0h-0fh (Orochi), 30h-3fh (Kaveri) and 60h-6fh (Carrizo), Fam16h Model 00h-0fh (Kabini) Boris: Intel SNB AMD K8 (JH-E0) Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Chen Yucong <slaoub@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: linux-edac@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1427125373-2918-2-git-send-email-Aravind.Gopalakrishnan@xxxxxxx [ Fixup build, clean up comments. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 46d212cbe4111351741b85b29dbb106b50d68532 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Mar 24 11:48:24 2015 +0100 ALSA: asihpi: Fix duplicate const for clock sources Replace duplicated const keyword for 'sampleclock_sources' with proper array of const pointers to const strings. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9a303dc7ba93769e96471158892b264042ddc3fc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 23 12:44:49 2015 -0700 sound: Deparenthesize negative error returns Make the returns a bit more kernel standard style. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6321fd6b6f0942e986b297e8192febfc860b83b3 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 30 12:36:12 2015 +0100 drm: Remove unused DRM_MODE_OBJECT_BRIDGE With bridges now moving to a separate registry they are no longer DRM objects, hence this define is no longer needed. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit df1d3069a4c4a66ceebb3ff7cf99384103203bc3 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 30 12:33:58 2015 +0100 drm/bridge: ptn3460: Fix sparse warnings The ptn3460_bridge_attach symbol is never used outside this file, so it should be static. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8a7d56b371ffe52f14d7a987d612a274b534bdf1 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 30 12:29:09 2015 +0100 drm/bridge: ps8622: Fix sparse warnings The ps8622_attach and ps8522_driver symbols are never used outside this file, so they should be static. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b2ea8772799d3a0f747eddcf2006fa70e86fad81 Author: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Date: Tue Jan 20 22:08:53 2015 +0530 drm/bridge: Add I2C based driver for ps8622/ps8625 bridge This patch adds drm_bridge driver for parade DisplayPort to LVDS bridge chip. Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Signed-off-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Tested-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Tested-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> [treding@xxxxxxxxxx: break cyclic dependency, add KMS helper dependency] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 1755de860b0f000d262d6ea326a14afa036b654d Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:26 2015 +0100 ARM: tegra: nyan: Add gpio-restart node The Nyan Chromebooks have a GPIO line dedicated to restarting the system. Using this line will make sure that the TPM is restarted as well. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 97e147e86b87bb2ab8be46c5e388c8058eda56d6 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:23 2015 +0100 ARM: tegra: nyan: Set maximum frequency for SPI flash Otherwise the SPI core will refuse to register the device. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 33b274ba10888627f826c9afc26f44f3ed8ec2b4 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:22 2015 +0100 ARM: tegra: Use generated pinmux data for Nyan Big Google has submitted a board config for the pinmux programming of the Nyan Big board. Use the whole of it as it's generated to make it easier to update as the configuration gets fixed in the future. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 1d1690b85726540c3d2bf0907ce4b30bfec42dc1 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:21 2015 +0100 ARM: tegra: Use pwrseq-simple for the wifi in Nyan The Nyan boards have a Marvell 88w8897 wifi card connected through SDIO that needs the reset line to be asserted before mmc power up and deasserted afterwards. This patch also adds references to the power supplies of the card so that the regulators are enabled when it's probed. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a0b9c1cb1636543b659e019a59c048bb911c80e2 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:20 2015 +0100 ARM: tegra: Add node for trackpad in Nyan boards The Nyan boards have a eKTH3000 from Elan as their trackpad, connected through I2C. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 59fe02cb079f2a521cf25724c9194e3db6a52bfe Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:19 2015 +0100 ARM: tegra: Add DTS for the nyan-blaze board It's commercial name is HP Chromebook 14 and is substantially similar to the Acer Chromebook 13 (nyan-big). Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 53d02858bce5eadd3882dcb83441b01d3511f486 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:17 2015 +0100 ARM: tegra: Move generic parts out of the nyan-big DT In preparation for adding the DT for the nyan-blaze board. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 412e575dec93b91a2a1ee30ee47b7ddb742679a0 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Mar 18 10:52:16 2015 +0100 ARM: tegra: Change model of sound card in Nyan Big Change it from "Acer Chromebook 13" to GoogleNyanBig so it's unique and identifiable. With this change the card id exposed to userspace becomes GoogleNyanBig instead of the current A13. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3d03203a323b629866e732672237fbb8074d1df6 Author: Lucas Stach <dev@xxxxxxxxxx> Date: Mon Jan 5 22:57:46 2015 +0100 ARM: tegra: Use generated pinmux for Beaver board Replace the current incomplete pinmux setup with a proper one generated using the tegra pinmux scripts. Signed-off-by: Lucas Stach <dev@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit fb8166410db9d3e20d19baf14897e77b18db2501 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Feb 17 11:57:45 2015 -0700 ARM: tegra: Import latest Jetson TK1 pinmux syseng has revamped the Jetson TK1 pinmux spreadsheet, basing the content completely on correct configuration for the board/schematic, rather than the previous version which was based on the bare minimum changes relative to another reference board. This content comes from Jetson_TK1_customer_pinmux.xlsm (v09) downloaded from https://developer.nvidia.com/hardware-design-and-development. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a71aaf66725e8fc02253a3bbea15d27e656434fe Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Mar 23 14:07:57 2015 -0500 iwlwifi: Fix memory leak in iwl_req_fw_callback() In this routine, kzalloc allocates a memory block. This allocation is freed in the error paths, but not in the normal exit, thus the allocation is leaked. The kmemleak facility was used to find the leak. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Johannes Berg <johannes.berg@xxxxxxxxx> Cc: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Cc: Intel Linux Wireless <ilw@xxxxxxxxxxxxxxx> commit c2d885c6c90b0ada58355ee3f53c7581d2904603 Author: Ramalingam C <ramalingam.c@xxxxxxxxx> Date: Mon Mar 23 23:12:02 2015 +0530 drm/i915: Removing the drrs capability enum initialization As part of allocation of the drm_i915_private variable, drrs capability enum is initialized to DRRS_NOT_SUPPORTED. Hence need not initialize at each connector init. Moreover initializing this enum at connector init will reset the successful DRRS initialization of previous connector, as we have the DRRS support for only one panel at a time. Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0e0870448aa134e91fafe3c39ae270561b495459 Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:46 2015 +0100 ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64 ARM32 and ARM64 have the same DT definitions and the same approaches. The generic ARM cpuidle driver can be put in common for those two architectures. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Rob Herring <robherring2@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 69e6cb3d2f356a5c88abf18a8d266c31a74cfc08 Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:46 2015 +0100 ARM64: cpuidle: Remove arm64 reference In the next patch, this driver will be common across ARM/ARM64. Remove all refs to ARM64 as it will be shared with ARM32. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Rob Herring <robherring2@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit c9d62161490e2b74e51bcaf2acea07e27ce833eb Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:46 2015 +0100 ARM64: cpuidle: Rename cpu_init_idle to a common function name With this change the cpuidle-arm64.c file calls the same function name for both ARM and ARM64. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Rob Herring <robherring2@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 191de17aa3c139f58e1c75af5b4fe0e166e618da Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:45 2015 +0100 ARM64: cpuidle: Replace cpu_suspend by the common ARM/ARM64 function Call the common ARM/ARM64 'arm_cpuidle_suspend' instead of cpu_suspend function which is specific to ARM64. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Rob Herring <robherring2@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 449e056c76cc8c777f3f5c3fb51c197ba2300c0c Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:45 2015 +0100 ARM: cpuidle: Add a cpuidle ops structure to be used for DT The current state of the different cpuidle drivers is the different PM operations are passed via the platform_data using the platform driver paradigm. This approach allowed to split the low level PM code from the arch specific and the generic cpuidle code. Unfortunately there are complaints about this approach as, in the context of the single kernel image, we have multiple drivers loaded in memory for nothing and the platform driver is not adequate for cpuidle. This patch provides a common interface via cpuidle ops for all new cpuidle driver and a definition for the device tree. It will allow with the next patches to a have a common definition with ARM64 and share the same cpuidle driver. The code is optimized to use the __init section intensively in order to reduce the memory footprint after the driver is initialized and unify the function names with ARM64. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Rob Herring <robherring2@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 096fad9ebfadb4922332f98895ea948e8d7fe6a7 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Mar 23 19:11:35 2015 +0200 drm/i915: move clearing of RPS interrupt bits from disable to reset time The logical place for clearing the RPS latched interrupt bits is when resetting the RPS interrupts, so move the corresponding part from the RPS disable function to the reset function. During resetting we already cleared the IIR bits, so the only thing missing there was clearing pm_iir. Note that we call gen6_disable_rps_interrupts() also during driver load and resume time via intel_uncore_sanitize() when i915 interrupts are still not installed. If there are any pending RPS bits at this point (which after this patch wouldn't be cleared) they will be cleared by the reset code via the interrupt preinstall hooks. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 58072ccbb81c6f2d67c5b4cc7597707c4fb86a5e Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Mar 23 19:11:34 2015 +0200 drm/i915: fix race when clearing RPS IIR bits When disabling RPS interrupts there is a race where we disable RPS inerrupts while the interrupt handler is running and the handler has already latched the pending RPS interrupt from the master IIR register. Afterwards the disabling path clears the PM IIR bits, making the state of pending interrupts inconsistent from the interrupt handler's point of view. This triggers the following warning: "The master control interrupt lied (PM)!". To fix this make sure that any running interrupt handler (which may have already latched the master IIR) finishes before clearing the IIR bits. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87347 Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a76c7f4604937bc781bfc411ef92c59474ddadda Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Sun Mar 22 20:48:14 2015 +0100 x86/asm/entry/64: Fold syscall32_cpu_init() into its sole user Having syscall32/sysenter32 initialization in a separate tiny function, called from within a function that is already syscall init specific, serves no real purpose. Its existense also caused an unintended effect of having wrmsrl(MSR_CSTAR) performed twice: once we set it to a dummy function returning -ENOSYS, and immediately after (if CONFIG_IA32_EMULATION), we set it to point to the proper syscall32 entry point, ia32_cstar_target. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d0c294c53a771ae7e84506dfbd8c18c30f078735 Author: Michal KubeÄ?ek <mkubecek@xxxxxxx> Date: Mon Mar 23 15:14:00 2015 +0100 tcp: prevent fetching dst twice in early demux code On s390x, gcc 4.8 compiles this part of tcp_v6_early_demux() struct dst_entry *dst = sk->sk_rx_dst; if (dst) dst = dst_check(dst, inet6_sk(sk)->rx_dst_cookie); to code reading sk->sk_rx_dst twice, once for the test and once for the argument of ip6_dst_check() (dst_check() is inline). This allows ip6_dst_check() to be called with null first argument, causing a crash. Protect sk->sk_rx_dst access by READ_ONCE() both in IPv4 and IPv6 TCP early demux code. Fixes: 41063e9dd119 ("ipv4: Early TCP socket demux.") Fixes: c7109986db3c ("ipv6: Early TCP socket demux") Signed-off-by: Michal Kubecek <mkubecek@xxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dff173de84958a677ce0d24b1da3cdc3a32b4238 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Mar 23 10:56:14 2015 +0200 bnx2x: Fix statistics locking scheme Statistics' state-machine in bnx2x driver must be synced with various driver flows, but its current locking scheme manages to be wasteful [using 2 locks + additional local variable] and prone to race-conditions at the same time, as the state-machine and 'action' are being accessed under different locks. In addition, current 'safe exec' isn't in fact safe, since the only guarantee it gives is that DMA transactions are over, but ramrods might still be running. This patch cleans up said logic, leaving us with a single lock for the entire flow and removing the possible races. Changes from v2: - Switched into mutex locking from semaphore locking. - Release locks on error flows. Changes from v1: Failure to acquire lock fails flow instead of printing a warning and allowing access to the critical section. 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 7ef70aabe073380b150ee520a2605ab997a8e9d4 Merge: 90a5a89 555828e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:36:37 2015 -0400 Merge tag 'linux-can-fixes-for-4.0-20150322' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can Marc Kleine-Budde says: ==================== pull-request: can 2015-03-22 this is a pull-request of 7 patches for net/master. Ahmed S. Darwish fixes another two problems in the kvaser_usb driver. A patch by Colin Ian King for the gs_usb driver adds a missing check for kzalloc allocation failures. Two patches by Stephane Grosjean for the peak_usb driver add missing support for ISO / non-ISO mode switching. Andri Yngvason contributes a patch to fix the state handling in the flexcan driver. The last patch by Andreas Werner for the flexcan driver add missing EPROBE_DEFER handling for the transceiver regulator. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0eebf9b5d2da61f84cddd0ec2bb41be93f8fc82b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 16:36:25 2015 +1100 powerpc: Remove unused st_le*() and ld_le* functions The powerpc specific st_le*() and ld_le*() functions in arch/powerpc/asm/swab.h no longer have any users. They are also misleadingly named, since they always byteswap, even on a little-endian host. This patch removes them. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit d078eed35de3866cb4af654db87765f53edbacce Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 16:36:24 2015 +1100 powerpc: Cleanup KVM emulated load/store endian handling Sometimes the KVM code on powerpc needs to emulate load or store instructions from the guest, which can include both normal and byte reversed forms. We currently (AFAICT) handle this correctly, but some variable names are very misleading. In particular we use "is_bigendian" in several places to actually mean "is the IO the same endian as the host", but we now support little-endian powerpc hosts. This also ties into the misleadingly named ld_le*() and st_le*() functions, which in fact always byteswap, even on an LE host. This patch cleans this up by renaming to more accurate "host_swabbed", and uses the generic swab*() functions instead of the powerpc specific and misleadingly named ld_le*() and st_le*() functions. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 7a8bf874487cc8990857973a789d7161b699389d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 16:36:23 2015 +1100 powerpc: Remove arch specific byteswappers from the MXC MMC driver When the MXC MMUC driver is used on a Freescale MPC512x machine, it contains some additional byteswapping code (I'm assuming this is a workaround for a hardware defect). This uses the ppc specific st_le32() function, but there's no reason not to use the generic swab32() function instead. gcc is capable of generating the efficient ppc byte-reversing load/store instructions without the arch-specific helper. This patch, therefore, switches to the generic byteswap routine. Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit c2d5a71064b5d5d169496907030c887eb6590553 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 13:32:03 2015 +1100 media/bt8xx: Remove old powerpc cruft The powerpc arch code enables PCI_COMMAND_MEMORY (and has done so for more than 10 years at least !) on pci_enable_device() and the hackery on the MMIO accessor is useless as well, our writel does everything this driver should need. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit d5c1d8c567781932e3ab2c62e8fcfee0283d9580 Merge: ba7c95e 90a5a89 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:22:43 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/netfilter/nf_tables_core.c The nf_tables_core.c conflict was resolved using a conflict resolution from Stephen Rothwell as a guide. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 09:53:17 2015 +1100 rhashtable: Fix sleeping inside RCU critical section in walk_stop The commit 963ecbd41a1026d99ec7537c050867428c397b89 ("rhashtable: Fix use-after-free in rhashtable_walk_stop") fixed a real bug but created another one because we may end up sleeping inside an RCU critical section. This patch fixes it properly by replacing the mutex with a spin lock that specifically protects the walker lists. Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6406d8fbb014bebdfb5bf3c244548958aec7379 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:08 2015 +1100 powerpc/eeh: Remove device_node dependency The patch removes struct eeh_dev::dn and the corresponding helper functions: eeh_dev_to_of_node() and of_node_to_eeh_dev(). Instead, eeh_dev_to_pdn() and pdn_to_eeh_dev() should be used to get the pdn, which might contain device_node on PowerNV platform. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 0bd785873c6a6c9bd50d2ae19862f69ee5759fb9 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:07 2015 +1100 powerpc/eeh: Replace device_node with pci_dn in eeh_ops There are 3 EEH operations whose arguments contain device_node: read_config(), write_config() and restore_config(). The patch replaces device_node with pci_dn. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit ff57b454ddb938d98d48d8df356357000fedc88c Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:06 2015 +1100 powerpc/eeh: Do probe on pci_dn Originally, EEH core probes on device_node or pci_dev to populate EEH devices and PEs, which conflicts with the fact: SRIOV VFs are usually enabled and created by PF's driver and they don't have the corresponding device_nodes. Instead, SRIOV VFs have dynamically created pci_dn, which can be used for EEH probe. The patch reworks EEH probe for PowerNV and pSeries platforms to do probing based on pci_dn, instead of pci_dev or device_node any more. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit e8e9b34cef237d4d6fdc0d350cd8a95d1adb9ee9 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:05 2015 +1100 powerpc/eeh: Create eeh_dev from pci_dn instead of device_node The patch adds function traverse_pci_dn(), which is similar to traverse_pci_devices() except it takes pci_dn, not device_node as parameter. The pci_dev.c has been reworked to create eeh_dev from pci_dn, instead of device_node. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit c035ff1d2eaa03ab40839041e955a86a8e412eb4 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:04 2015 +1100 powerpc/pci: Trace more information from pci_dn Originally, EEH probes on device_node or pci_dev and populates the corresponding eeh_dev. In the subsequent patches, EEH will probes on pci_dn and populates the corresponding eeh_dev. So we have to cache some information in pci_dn, either from device_node or SRIOV PF's enablement platform hook, to populate the eeh_dev properly. The motivation to probe pci_dn, instead of device node or pci_dev, to populate eeh_dev is SRIOV VFs are dynamically created and we don't have the corresponding device nodes for them. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 3532a741f80c3b9ca975006f93a4a477e07e2cb3 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:03 2015 +1100 powerpc/powernv: Use pci_dn, not device_node, in PCI config accessor The PCI config accessors previously relied on device_node. Unfortunately, VFs don't have a corresponding device_node, so change the accessors to use pci_dn instead. [bhelgaas: changelog] Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit cca87d303c85b257a7b0fd34f9d6fce1c59880a2 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 16:15:02 2015 +1100 powerpc/pci: Refactor pci_dn Currently, the PCI config accessors are implemented based on device node. Unfortunately, SRIOV VFs won't have the corresponding device nodes. pci_dn will be used in replacement with device node for SRIOV VFs. So we have to use pci_dn in PCI config accessors. The patch refactors pci_dn in following aspects to make it ready to be used in PCI config accessors as we do in subsequent patch: * pci_dn is organized as a hierarchy tree. PCI device's pci_dn is put to the child list of pci_dn of its upstream bridge or PHB. VF's pci_dn will be put to the child list of pci_dn of PF's bridge. * For one particular PCI device (VF or not), its pci_dn can be found from pdev->dev.archdata.pci_data, PCI_DN(devnode), or parent's list. The fast path (fetching pci_dn through PCI device instance) is populated during early fixup time. [bhelgaas: changelog] Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 12a89dbac7914c58b0d207ef608e1c02534708bc Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 14:00:47 2015 +1100 net/ethernet/sfc: Don't use of_node_to_eeh_dev() This is deprecated, it forces the driver to hop via the OF node that may or may not exist, instead use pci_dev_to_eeh_dev() which is simpler. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> commit ce046c568cbfb4734583131086f88cfe993c01d0 Merge: 7f163d0 9f0761c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:12:15 2015 -0400 Merge branch 'ipv6_stable_privacy_address' Hannes Frederic Sowa says: ==================== ipv6: RFC7217 stable privacy addresses implementation this is an implementation of basic support for RFC7217 stable privacy addresses. Please review and consider for net-next. v2: * Correct references to RFC 7212 -> RFC 7217 in documentation patch (thanks, Eric!) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f0761c154eaf2bf796f7e0e3431631de8d362ae Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:06 2015 +0100 ipv6: add documentation for stable_secret, idgen_delay and idgen_retries knobs Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1855b7c3e8537c2a4f5a53c797624713bb3becb4 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:05 2015 +0100 ipv6: introduce idgen_delay and idgen_retries knobs This is specified by RFC 7217. Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f40ef77adb237954d615a76621df1b80a329b31 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:04 2015 +0100 ipv6: do retries on stable privacy addresses If a DAD conflict is detected, we want to retry privacy stable address generation up to idgen_retries (= 3) times with a delay of idgen_delay (= 1 second). Add the logic to addrconf_dad_failure. By design, we don't clean up dad failed permanent addresses. Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e8e676d0b3c7f074c719c7c05b20296b9b0b0b1 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:03 2015 +0100 ipv6: collapse state_lock and lock Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64236f3f3d742469e4027b83a9515e84e9ab21b4 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:02 2015 +0100 ipv6: introduce IFA_F_STABLE_PRIVACY flag We need to mark appropriate addresses so we can do retries in case their DAD failed. Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 622c81d57b392cc9be836670eb464a4dfaa9adfe Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:01 2015 +0100 ipv6: generation of stable privacy addresses for link-local and autoconf This patch implements the stable privacy address generation for link-local and autoconf addresses as specified in RFC7217. RID = F(Prefix, Net_Iface, Network_ID, DAD_Counter, secret_key) is the RID (random identifier). As the hash function F we chose one round of sha1. Prefix will be either the link-local prefix or the router advertised one. As Net_Iface we use the MAC address of the device. DAD_Counter and secret_key are implemented as specified. We don't use Network_ID, as it couples the code too closely to other subsystems. It is specified as optional in the RFC. As Net_Iface we only use the MAC address: we simply have no stable identifier in the kernel we could possibly use: because this code might run very early, we cannot depend on names, as they might be changed by user space early on during the boot process. A new address generation mode is introduced, IN6_ADDR_GEN_MODE_STABLE_PRIVACY. With iproute2 one can switch back to none or eui64 address configuration mode although the stable_secret is already set. We refuse writes to ipv6/conf/all/stable_secret but only allow ipv6/conf/default/stable_secret and the interface specific file to be written to. The default stable_secret is used as the parameter for the namespace, the interface specific can overwrite the secret, e.g. when switching a network configuration from one system to another while inheriting the secret. Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d1bec99320d4e96897805440f8cf4f68eff226b Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:36:00 2015 +0100 ipv6: introduce secret_stable to ipv6_devconf This patch implements the procfs logic for the stable_address knob: The secret is formatted as an ipv6 address and will be stored per interface and per namespace. We track initialized flag and return EIO errors until the secret is set. We don't inherit the secret to newly created namespaces. Cc: Erik Kline <ek@xxxxxxxxxx> Cc: Fernando Gont <fgont@xxxxxxxxxxxxxxx> Cc: Lorenzo Colitti <lorenzo@xxxxxxxxxx> Cc: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab2bb3241739870d417979a81843631e5588a2d7 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 23:35:59 2015 +0100 lib: EXPORT_SYMBOL sha_init We need this symbol later on in ipv6.ko, thus export it via EXPORT_SYMBOL like sha_transform already is. Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f163d07ecd6fbba2ed3a2fcd0ca830846cc170e Merge: cc330b5 a6f31f5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:10:50 2015 -0400 Merge branch 'bcmgenet-next' Florian Fainelli says: ==================== net: bcmgenet: integrated GPHY power up/down This patch series implements integrated Gigabit PHY power up/down, which allows us to save close to 300mW on some designs when the Gigabit PHY is known to be unused (e.g: during bcmgenet_close or bcmgenet_suspend not doing Wake-on-LAN). Changes in v2: - drop an extra bcmgenet_ext_readl in bcmgenet_phy_power_set ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6f31f5e3b0498fc0034e07c172925316064201c Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:57 2015 -0700 net: bcmgenet: power down and up GPHY during suspend/resume In case the interface is not used, power down the integrated GPHY during suspend. Similarly to bcmgenet_open(), bcmgenet_resume() powers on the GPHY prior to any UniMAC activity. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a642c4f7906f36bf431da41973d6ff16b723f079 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:56 2015 -0700 net: bcmgenet: power up and down integrated GPHY when unused Power up the GPHY while we are bringing-up the network interface, and conversely, upon bring down, power the GPHY down. In order to avoid creating hardware hazards, make sure that the GPHY gets powered on during bcmgenet_open() prior to the UniMAC being reset as the UniMAC may start creating activity towards the GPHY if we reverse the steps. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9d608c153a28758e0cd11c907edbaf5cce47abc Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:55 2015 -0700 net: bcmgenet: implement GPHY power down sequence Implement the GPHY power down sequence by setting all power down bits, putting the GPHY in reset, and finally cutting the 25Mhz reference clock. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c81a8ee61cf4ad29371d7454f65bd8769ba4395 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:54 2015 -0700 net: bcmgenet: fix GPHY power-up sequence We were missing a number of extra steps and delays to power-up the GPHY, update the sequence to reflect the proper procedure here. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8212c98358f44a1c54941c2c01d54ea4a7ddb6dd Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:53 2015 -0700 net: bcmgenet: rename bcmgenet_ephy_power_up In preparation for implementing the power down GPHY sequence, rename bcmgenet_ephy_power_up to illustrate that it is not EPHY specific but PHY agnostic, and add an "enable" argument. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d017e2193ad285d7d0aac429c4c73945729de73 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:52 2015 -0700 net: bcmgenet: update bcmgenet_ephy_power_up to clear CK25_DIS bit The CK25_DIS bit controls whether a 25Mhz clock is fed to the GPHY or not, in preparation for powering down the integrated GPHY when relevant, make sure we clear that bit. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca8cf341903f90070e191cc8be8f705ab7af2d4a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 23 15:09:51 2015 -0700 net: bcmgenet: propagate errors from bcmgenet_power_down If bcmgenet_power_down() fails, we would want to propagate a return value from bcmgenet_wol_power_down_cfg() to know about this. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc330b55903aad9bce554427a0181d1ee3873b7c Merge: e167359 ccd57b1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:07:56 2015 -0400 Merge branch 'rhashtable-next' Herbert Xu says: ==================== rhashtable: Multiple rehashing This series introduces multiple rehashing. Recall that the original implementation in br_multicast used two list pointers per hash node and therefore is limited to at most one rehash at a time since you need one list pointer for the old table and one for the new table. Thanks to Josh Triplett's suggestion of using a single list pointer we're no longer limited by that. So it is perfectly OK to have an arbitrary number of tables in existence at any one time. The reader and removal simply has to walk from the oldest table to the newest table in order not to miss anything. Insertion without lookup are just as easy as we simply go to the last table that we can find and add the entry there. However, insertion with uniqueness lookup is more complicated because we need to ensure that two simultaneous insertions of the same key do not both succeed. To achieve this, all insertions including those without lookups are required to obtain the bucket lock from the oldest hash table that is still alive. This is determined by having the rehasher (there is only one rehashing thread in the system) keep a pointer of where it is up to. If a bucket has already been rehashed then it is dead, i.e., there cannot be any more insertions to it, otherwise it is considered alive. This guarantees that the same key cannot be inserted in two different tables in parallel. Patch 1 is actually a bug fix for the walker. Patch 2-5 eliminates unnecessary out-of-line copies of jhash. Patch 6 makes rhashtable_shrink shrink to fit. Patch 7 introduces multiple rehashing. This means that if we decide to grow then we will grow regardless of whether the previous one has finished. However, this is still asynchronous meaning that if insertions come fast enough we may still end up with a table that is overutilised. Patch 8 adds support for GFP_ATOMIC allocations of struct bucket_table. Finally patch 9 enables immediate rehashing. This is done either when the table reaches 100% utilisation, or when the chain length exceeds 16 (the latter can be disabled on request, e.g., for nft_hash. With these patches the system should no longer have any trouble dealing with fast insertions on a small table. In the worst case you end up with a list of tables that's log N in length while the rehasher catches up. v3 restores rhashtable_shrink and fixes a number of bugs in the multiple rehashing patches (7 and 9). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccd57b1bd32460d27bbb9c599e795628a3c66983 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:28 2015 +1100 rhashtable: Add immediate rehash during insertion This patch reintroduces immediate rehash during insertion. If we find during insertion that the table is full or the chain length exceeds a set limit (currently 16 but may be disabled with insecure_elasticity) then we will force an immediate rehash. The rehash will contain an expansion if the table utilisation exceeds 75%. If this rehash fails then the insertion will fail. Otherwise the insertion will be reattempted in the new hash table. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9ecfdaa1090b5988422eaf5348ea1954d2d7219 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:27 2015 +1100 rhashtable: Allow GFP_ATOMIC bucket table allocation This patch adds the ability to allocate bucket table with GFP_ATOMIC instead of GFP_KERNEL. This is needed when we perform an immediate rehash during insertion. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b824478b2145be78ac19e1cf44e2b9036c7a9608 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:26 2015 +1100 rhashtable: Add multiple rehash support This patch adds the missing bits to allow multiple rehashes. The read-side as well as remove already handle this correctly. So it's only the rehasher and insertion that need modification to handle this. Note that this patch doesn't actually enable it so for now rehashing is still only performed by the worker thread. This patch also disables the explicit expand/shrink interface because the table is meant to expand and shrink automatically, and continuing to export these interfaces unnecessarily complicates the life of the rehasher since the rehash process is now composed of two parts. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18093d1c0d1e032142ee24825678b0a8977d74ba Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:25 2015 +1100 rhashtable: Shrink to fit This patch changes rhashtable_shrink to shrink to the smallest size possible rather than halving the table. This is needed because with multiple rehashing we will defer shrinking until all other rehashing is done, meaning that when we do shrink we may be able to shrink a lot. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d022949810b1ea82d46a576d6166035720bbb32 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:24 2015 +1100 tipc: Use default rhashtable hashfn This patch removes the explicit jhash value for the hashfn parameter of rhashtable. The default is now jhash so removing the setting makes no difference apart from making one less copy of jhash in the kernel. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11b58ba146ccd7b105c4962c75f2e744053c85bc Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:22 2015 +1100 netlink: Use default rhashtable hashfn This patch removes the explicit jhash value for the hashfn parameter of rhashtable. As the key length is a multiple of 4, this means that we will actually end up using jhash2. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31ccde2dacea8375c3a7d6fffbf0060ee0d40214 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:21 2015 +1100 rhashtable: Allow hashfn to be unset Since every current rhashtable user uses jhash as their hash function, the fact that jhash is an inline function causes each user to generate a copy of its code. This function provides a solution to this problem by allowing hashfn to be unset. In which case rhashtable will automatically set it to jhash. Furthermore, if the key length is a multiple of 4, we will switch over to jhash2. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de91b25c8011089f5dd99b9d24743db1f550ca4b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:20 2015 +1100 rhashtable: Eliminate unnecessary branch in rht_key_hashfn When rht_key_hashfn is called from rhashtable itself and params is equal to ht->p, there is no point in checking params.key_len and falling back to ht->p.key_len. For some reason gcc couldn't figure out that params is the same as ht->p. So let's help it by only checking params.key_len when it's a constant. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d88252f9bb74d266653542b753f9ab404e8b88db Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 24 00:50:19 2015 +1100 rhashtable: Add barrier to ensure we see new tables in walker The walker is a lockless reader so it too needs an smp_rmb before reading the future_tbl field in order to see any new tables that may contain elements that we should have walked over. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e167359be0c7d856445aa97e1bf82b5a55eb55b2 Merge: 40451fd af9bfbd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:03:43 2015 -0400 Merge tag 'linux-can-next-for-4.1-20150323' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-03-23 this is a pull request of 6 patches for net-next/master. A patch by Florian Westphal, converts the skb->destructor to use sock_efree() instead of own destructor. Ahmed S. Darwish's patch converts the kvaser_usb driver to use unregister_candev(). A patch by me removes a return from a void function in the m_can driver. Yegor Yefremov contributes a patch for combined rx/tx LED trigger support. A sparse warning in the esd_usb2 driver was fixes by Thomas Körper. Ben Dooks converts the at91_can driver to use endian agnostic IO accessors. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40451fd013878b005ccae767dfebc07dfecf85d9 Merge: 682f048 e35158e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 22:02:46 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for net-next. Basically, more incremental updates for br_netfilter from Florian Westphal, small nf_tables updates (including one fix for rb-tree locking) and small two-liner to add extra validation for the REJECT6 target. More specifically, they are: 1) Use the conntrack status flags from br_netfilter to know that DNAT is happening. Patch for Florian Westphal. 2) nf_bridge->physoutdev == NULL already indicates that the traffic is bridged, so let's get rid of the BRNF_BRIDGED flag. Also from Florian. 3) Another patch to prepare voidization of seq_printf/seq_puts/seq_putc, from Joe Perches. 4) Consolidation of nf_tables_newtable() error path. 5) Kill nf_bridge_pad used by br_netfilter from ip_fragment(), from Florian Westphal. 6) Access rb-tree root node inside the lock and remove unnecessary locking from the get path (we already hold nfnl_lock there), from Patrick McHardy. 7) You cannot use a NFT_SET_ELEM_INTERVAL_END when the set doesn't support interval, also from Patrick. 8) Enforce IP6T_F_PROTO from ip6t_REJECT to make sure the core is actually restricting matches to TCP. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc9e605dc6cb2e32fedae4ac2f61ad3b5f8d623d Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Mar 24 12:31:40 2015 +1030 module: do not print allocation-fail warning on bogus user buffer size init_module(2) passes user-specified buffer length directly to vmalloc(). It makes warn_alloc_failed() to print out a lot of info into dmesg if user specified insane size, like -1. Let's silence the warning. It doesn't add much value to -ENOMEM return code. Without the patch the syscall is prohibitive noisy for testing with trinity. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 7b63c3ab9b10b8a9cdc6b3a9e0e3d6a8a5d28970 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Tue Mar 24 12:31:40 2015 +1030 kernel/module.c: fix typos in message about unused symbols Fix typos in pr_warn message about unused symbols Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 682f048bd49449f4ab978664a7f69a44a74e3caa Author: Alexander Drozdov <al.drozdov@xxxxxxxxx> Date: Mon Mar 23 09:11:13 2015 +0300 af_packet: pass checksum validation status to the user Introduce TP_STATUS_CSUM_VALID tp_status flag to tell the af_packet user that at least the transport header checksum has been already validated. For now, the flag may be set for incoming packets only. Signed-off-by: Alexander Drozdov <al.drozdov@xxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68c2e5de360411674d9821ee2b46f5d8ee965161 Author: Alexander Drozdov <al.drozdov@xxxxxxxxx> Date: Mon Mar 23 09:11:12 2015 +0300 af_packet: make tpacket_rcv to not set status value before run_filter It is just an optimization. We don't need the value of status variable if the packet is filtered. Signed-off-by: Alexander Drozdov <al.drozdov@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c69736696cf3742b37d850289dc0d7ead177bb14 Author: Fan Du <fan.du@xxxxxxxxx> Date: Mon Mar 23 15:00:41 2015 -0700 inet: fix double request socket freeing Eric Hugne reported following error : I'm hitting this warning on latest net-next when i try to SSH into a machine with eth0 added to a bridge (but i think the problem is older than that) Steps to reproduce: node2 ~ # brctl addif br0 eth0 [ 223.758785] device eth0 entered promiscuous mode node2 ~ # ip link set br0 up [ 244.503614] br0: port 1(eth0) entered forwarding state [ 244.505108] br0: port 1(eth0) entered forwarding state node2 ~ # [ 251.160159] ------------[ cut here ]------------ [ 251.160831] WARNING: CPU: 0 PID: 3 at include/net/request_sock.h:102 tcp_v4_err+0x6b1/0x720() [ 251.162077] Modules linked in: [ 251.162496] CPU: 0 PID: 3 Comm: ksoftirqd/0 Not tainted 4.0.0-rc3+ #18 [ 251.163334] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 251.164078] ffffffff81a8365c ffff880038a6ba18 ffffffff8162ace4 0000000000009898 [ 251.165084] 0000000000000000 ffff880038a6ba58 ffffffff8104da85 ffff88003fa437c0 [ 251.166195] ffff88003fa437c0 ffff88003fa74e00 ffff88003fa43bb8 ffff88003fad99a0 [ 251.167203] Call Trace: [ 251.167533] [<ffffffff8162ace4>] dump_stack+0x45/0x57 [ 251.168206] [<ffffffff8104da85>] warn_slowpath_common+0x85/0xc0 [ 251.169239] [<ffffffff8104db65>] warn_slowpath_null+0x15/0x20 [ 251.170271] [<ffffffff81559d51>] tcp_v4_err+0x6b1/0x720 [ 251.171408] [<ffffffff81630d03>] ? _raw_read_lock_irq+0x3/0x10 [ 251.172589] [<ffffffff81534e20>] ? inet_del_offload+0x40/0x40 [ 251.173366] [<ffffffff81569295>] icmp_socket_deliver+0x65/0xb0 [ 251.174134] [<ffffffff815693a2>] icmp_unreach+0xc2/0x280 [ 251.174820] [<ffffffff8156a82d>] icmp_rcv+0x2bd/0x3a0 [ 251.175473] [<ffffffff81534ea2>] ip_local_deliver_finish+0x82/0x1e0 [ 251.176282] [<ffffffff815354d8>] ip_local_deliver+0x88/0x90 [ 251.177004] [<ffffffff815350f0>] ip_rcv_finish+0xf0/0x310 [ 251.177693] [<ffffffff815357bc>] ip_rcv+0x2dc/0x390 [ 251.178336] [<ffffffff814f5da3>] __netif_receive_skb_core+0x713/0xa20 [ 251.179170] [<ffffffff814f7fca>] __netif_receive_skb+0x1a/0x80 [ 251.179922] [<ffffffff814f97d4>] process_backlog+0x94/0x120 [ 251.180639] [<ffffffff814f9612>] net_rx_action+0x1e2/0x310 [ 251.181356] [<ffffffff81051267>] __do_softirq+0xa7/0x290 [ 251.182046] [<ffffffff81051469>] run_ksoftirqd+0x19/0x30 [ 251.182726] [<ffffffff8106cc23>] smpboot_thread_fn+0x153/0x1d0 [ 251.183485] [<ffffffff8106cad0>] ? SyS_setgroups+0x130/0x130 [ 251.184228] [<ffffffff8106935e>] kthread+0xee/0x110 [ 251.184871] [<ffffffff81069270>] ? kthread_create_on_node+0x1b0/0x1b0 [ 251.185690] [<ffffffff81631108>] ret_from_fork+0x58/0x90 [ 251.186385] [<ffffffff81069270>] ? kthread_create_on_node+0x1b0/0x1b0 [ 251.187216] ---[ end trace c947fc7b24e42ea1 ]--- [ 259.542268] br0: port 1(eth0) entered forwarding state Remove the double calls to reqsk_put() [edumazet] : I got confused because reqsk_timer_handler() _has_ to call reqsk_put(req) after calling inet_csk_reqsk_queue_drop(), as the timer handler holds a reference on req. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Fixes: fa76ce7328b2 ("inet: get rid of central tcp/dccp listener timer") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f921b5bb0511fb698681d8ef35c48be7a9116bf Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Mar 24 11:51:39 2015 +1030 lguest: suppress interrupts for single insn, not range. The last patch reduced our interrupt-suppression region to one address, so simplify the code somewhat. Also, remove the obsolete undefined instruction ranges and the comment which refers to lguest_guest.S instead of head_32.S. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 7042cb4eb30967b5eb9eeba04907882f04d6b6e5 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 24 11:51:39 2015 +1030 lguest: simplify lguest_iret Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: lguest@xxxxxxxxxxxxxxxx CC: x86@xxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 41f055d49cb04d648a89a2cb6d57c94ff86d5bb6 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Tue Mar 24 11:51:38 2015 +1030 lguest: rename i386_head.S in the comments i386_head.S renamed to the head_32.S, let's update it in the comments too. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 67c50bf292c1c02ec7ca548049c53cc08dc75ed1 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Mar 24 11:51:20 2015 +1030 lguest: explicitly set miscdevice's private_data NULL There is a proposed change to the miscdevice's behaviour on open(). Currently file->private_data stays NULL, but only because we don't have an open-entry in struct file_operations. This may change so that private_data, more consistently, is always set to struct miscdevice, not only *if* the driver has it's own open() routine and fops-entry, see https://lkml.org/lkml/2014/12/4/939 and commit 94e4fe2cab3d43b3ba7c3f721743006a8c9d913a In short: If we rely on file->private_data being NULL, we should ensure it is NULL ourselves. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 74ccbff99787b68e4eb01ef8cf29789229ab0f5d Merge: ae10c22 0f9e9cd Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Mar 24 11:12:20 2015 +1000 Merge tag 'drm-intel-next-2015-03-13-merge' of git://anongit.freedesktop.org/drm-intel into drm-next drm-intel-next-2015-03-13-rebased: - EU count report param for gen9+ (Jeff McGee) - piles of pll/wm/... fixes for chv, finally out of preliminary hw support (Ville, Vijay) - gen9 rps support from Akash - more work to move towards atomic from Matt, Ander and others - runtime pm support for skl (Damien) - edp1.4 intermediate link clock support (Sonika) - use frontbuffer tracking for fbc (Paulo) - remove ilk rc6 (John Harrison) - a bunch of smaller things and fixes all over Includes backmerge because git rerere couldn't keep up any more. * tag 'drm-intel-next-2015-03-13-merge' of git://anongit.freedesktop.org/drm-intel: (366 commits) drm/i915: Make sure the primary plane is enabled before reading out the fb state drm/i915: Update DRIVER_DATE to 20150313 drm/i915: Fix vmap_batch page iterator overrun drm/i915: Export total subslice and EU counts drm/i915: redefine WARN_ON_ONCE to include the condition drm/i915/skl: Implement WaDisableHBR2 drm/i915: Remove the preliminary_hw_support shackles from CHV drm/i915: Read CHV_PLL_DW8 from the correct offset drm/i915: Rewrite IVB FDI bifurcation conflict checks drm/i915: Rewrite some some of the FDI lane checks drm/i915/skl: Enable the RPS interrupts programming drm/i915/skl: Enabling processing of Turbo interrupts drm/i915/skl: Updated the i915_frequency_info debugfs function drm/i915: Simplify the way BC bifurcation state consistency is kept drm/i915/skl: Updated the act_freq_mhz_show sysfs function drm/i915/skl: Updated the gen9_enable_rps function drm/i915/skl: Updated the gen6_rps_limits function drm/i915/skl: Restructured the gen6_set_rps_thresholds function drm/i915/skl: Updated the gen6_set_rps function drm/i915/skl: Updated the gen6_init_rps_frequencies function ... commit 912098a6308e37208b8dcc46c57c66d0778a854b Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:15 2015 -0700 Bluetooth: Add support for adv instance timeout This patch implements support for the timeout parameter of the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4117ed70a55128273f1b6d00c7725e4c8a5c0031 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:14 2015 -0700 Bluetooth: Add support for instance scan response This patch implements setting the Scan Response data provided as part of an advertising instance through the Add Advertising command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit da929335f27d955172539bf56bed1ac9ff9b8d45 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:13 2015 -0700 Bluetooth: Implement the Remove Advertising command This patch implements the "Remove Advertising" mgmt command. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 24b4f38fc9ebf93af223c67169a946d6baf9db61 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:12 2015 -0700 Bluetooth: Implement the Add Advertising command This patch adds the most basic implementation for the "Add Advertisement" command. All state updates between the various HCI settings (POWERED, ADVERTISING, ADVERTISING_INSTANCE, and LE_ENABLED) has been implemented. The command currently supports only setting the advertising data fields, with no flags and no scan response data. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 203fea0178d7e165dbe834d1bdd9d243018fd5bf Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:11 2015 -0700 Bluetooth: Add data structure for advertising instance This patch introduces a new data structure to represent advertising instances that were added using the "Add Advertising" mgmt command. Initially an hci_dev structure will support only one of these instances at a time, so the current instance is simply stored as a direct member of hci_dev. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4453b006538d02ada8294a195bb2dc2ada498436 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:10 2015 -0700 Bluetooth: Introduce HCI_ADVERTISING_INSTANCE setting and add AD flags This patch introduces the HCI_ADVERTISING_INSTANCE setting, which is set when an at least one advertising instance has been added using the "Add Advertising" mgmt command. This patch also adds a macro definition for the EIR_APPEARANCE field type. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 841a6664f213f76a9bc1bfd07a466d3dbe281a88 Author: Arman Uguray <armansito@xxxxxxxxxxxx> Date: Mon Mar 23 15:57:09 2015 -0700 Bluetooth: Add definitions for Add/Remove Advertising API This patch adds definitions for the Add Advertising and Remove Advertising MGMT commands and events. Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9be53cf76fec65b610286f32ce0a2535eb95b79a Author: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Date: Thu Mar 12 15:00:14 2015 +0800 powerpc: Enable power monitor feature in defconfig for supported platforms Signed-off-by: Jia Hongtao <hongtao.jia@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 76486930f8eb2bd7adb3bc892afdbdac002078c7 Author: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Date: Thu Mar 12 15:00:13 2015 +0800 powerpc: Enable thermal monitor feature in defconfig for supported platforms Signed-off-by: Jia Hongtao <hongtao.jia@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 2e6e99666de1005fb2d201320082bd89442b7b14 Author: Shruti Kanetkar <Kanetkar.Shruti@xxxxxxxxx> Date: Fri Feb 27 09:59:22 2015 -0600 powerpc/corenet: Enable muxing MDIO buses via FPGA Signed-off-by: Andy Fleming <afleming@xxxxxxxxx> Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Shruti Kanetkar <Kanetkar.Shruti@xxxxxxxxx> Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit a189243cb76217e44838fe11bad8af47ab81c722 Author: Andy Fleming <afleming@xxxxxxxxx> Date: Fri Feb 27 09:57:55 2015 -0600 powerpc/corenet: Enable muxing MDIO buses via GPIO Signed-off-by: Andy Fleming <afleming@xxxxxxxxx> Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Shruti Kanetkar <Kanetkar.Shruti@xxxxxxxxx> Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 1e8ed06d3446f354014fffc99ea0b9ac16dfadd5 Author: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 09:16:14 2015 -0600 powerpc/mpc85xx: Add FSL QorIQ DPAA BMan support to device tree(s) Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Geoff Thorpe <Geoff.Thorpe@xxxxxxxxxxxxx> Signed-off-by: Hai-Ying Wang <Haiying.Wang@xxxxxxxxxxxxx> Signed-off-by: Chunhe Lan <Chunhe.Lan@xxxxxxxxxxxxx> Signed-off-by: Poonam Aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> [Emil Medve: Sync with the upstream binding] Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit cb5915e71fd13172c24f3eb102ea02b6d70dc1b0 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 14:09:37 2015 +1100 powerpc: Make corenet64_defconfig a bit more useful CONFIG_BLK_DEV_SD, SR, ... are needed for pretty much any SATA or USB storage device (corenet32_defconfig has them) and modern any with systemd needs the CGROUPS gunk. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ff015659b631621fc9d60403a5dfbdf72c1cd058 Author: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Date: Thu Feb 26 15:23:08 2015 +0800 powerpc/85xx: workaround for chips with MSI hardware errata The MPIC version 2.0 has a MSI errata (errata PIC1 of mpc8544), It causes that neither MSI nor MSI-X can work fine. This is a workaround to allow MSI-X to function properly. Signed-off-by: Liu Shuo <soniccat.liu@xxxxxxxxx> Signed-off-by: Li Yang <leoli@xxxxxxxxxxxxx> Signed-off-by: Jia Hongtao <hongtao.jia@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 807d38b73b63bbbaa8e1baacf76f7874992f91e8 Author: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Date: Wed Apr 10 10:52:55 2013 +0800 powerpc/mpic: Add get_version API both for internal and external use MPIC version is useful information for both mpic_alloc() and mpic_init(). The patch provide an API to get MPIC version for reusing the code. Also, some other IP block may need MPIC version for their own use. The API for external use is also provided. This function had been previously added but was removed by commit 5e86bfde9cd93f2 ("powerpc/mpic: remove unused functions") due to the lack of a user. This function will be used by "powerpc/mpic: Add get_version API both for internal and external use". Signed-off-by: Jia Hongtao <hongtao.jia@xxxxxxxxxxxxx> Signed-off-by: Li Yang <leoli@xxxxxxxxxxxxx> [scottwood@xxxxxxxxxxxxx: changelog update] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7dea9ec5a039555376af62e718547852117aced1 Author: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Date: Wed Feb 18 16:04:45 2015 +0200 powerpc/mpc85xx: Add FMan platform support Get the FMan devices/sub-nodes (MAC, MDIO, etc.) auto-probed Signed-off-by: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit eedea67bc983e642933ab50de44ff9e99ad4b8e7 Author: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Date: Tue Feb 3 17:16:48 2015 -0600 powerpc/dts: Remove B4860 emulator support Probably we should have not upstreamed this in the first place Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 288a298c05774dde0a8d5abac9b692503d4e41f2 Author: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 18:25:38 2015 -0800 powerpc/pseries: Introduce api_version to migration sysfs interface The /sys/kernel/mobility/migration interface was added all the way back in 2.6.37. However, the drmgr userspace tool was never augmented to use this interface to perfrom migrations. Instead it has continued using a faux rtas call coupled with performing the device tree update processing in userspace and communicating it back to the kernel via the ugly /proc/ppc64/ofdt interface. Up until 3.12 the device tree update code in the kernel was badly broken and bit rotting. This code was fixed in 3.12 and is now utilized by the kernel suspend code as of 3.15. The kernel is now better suited to handle the post-mobility fixup of the device tree and drmgr should be transitioned to using the sysfs migration interface. This patch introduces the api_version sysfs file to /sys/kernel/mobility as a means for drmgr to query the current implementation level of the kernel migration code. This initial versioning indicates it is capable of perfroming all current PAPR requirements for migration including the post-mobility firmware activation and device tree update. Signed-off-by: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx> Cc: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Cc: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a123374ff3c6850e1340b6da010bb43668d710e1 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Mar 19 21:52:41 2015 +0100 KVM: x86: inline kvm_ioapic_handles_vector() An overhead from function call is not appropriate for its size and frequency of execution. Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit bbf4aef89df1e8d982912f04d9a2b466750188d3 Merge: 0a4e6be 18280d8 Author: Marcelo Tosatti <mtosatt@xxxxxxxxxx> Date: Mon Mar 23 20:32:02 2015 -0300 Merge tag 'kvm-s390-next-20150318' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into queue KVM: s390: Features and fixes for 4.1 (kvm/next) 1. Fixes 2. Implement access register mode in KVM 3. Provide a userspace post handler for the STSI instruction 4. Provide an interface for compliant memory accesses 5. Provide an interface for getting/setting the guest storage key 6. Fixup for the vector facility patches: do not announce the vector facility in the guest for old QEMUs. 1-5 were initially shown as RFC in http://www.spinics.net/lists/kvm/msg114720.html some small review changes - added some ACKs - have the AR mode patches first - get rid of unnecessary AR_INVAL define - typos and language 6. two new patches The two new patches fixup the vector support patches that were introduced in the last pull request for QEMU versions that dont know about vector support and guests that do. (We announce the facility bit, but dont enable the facility so vector aware guests will crash on vector instructions). commit 0a4e6be9ca17c54817cf814b4b5aa60478c6df27 Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Mon Mar 23 20:21:51 2015 -0300 x86: kvm: Revert "remove sched notifier for cross-cpu migrations" The following point: 2. per-CPU pvclock time info is updated if the underlying CPU changes. Is not true anymore since "KVM: x86: update pvclock area conditionally, on cpu migration". Add task migration notification back. Problem noticed by Andy Lutomirski. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> CC: stable@xxxxxxxxxx # 3.11+ commit 3966fab8b6abfe0fa55418fb9455c0b05735c1b0 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Wed Mar 18 16:08:22 2015 +0200 clk: qcom: Add MSM8916 Global Clock Controller support This patch adds support for the global clock controller found on the MSM8916 based devices. It allows the various device drivers to probe and control their clocks and resets. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Removed NULL entry from parent_maps] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a5408ec6057e40d56b1c04608f07d21c5163ced0 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Wed Mar 18 16:08:21 2015 +0200 dt-bindings: Add #defines for MSM8916 clocks and resets Add clocks/resets defines for the global clock controller found on Qualcomm MSM8916 SoCs. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 293d2e97b37f545bb36aef78cd549d9e6cd66e7f Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Fri Mar 20 18:30:26 2015 +0200 clk: qcom: Introduce parent_map tables In the current parent mapping code, we can get duplicate or inconsistent indexes, which leads to discrepancy between the number of elements in the array and the number of parents. Until now, this was solved with some reordering but this is not always possible. This patch introduces index tables that are used to define the relations between the PLL source and the hardware mux configuration value. To accomplish this, here we do the following: - Define a parent_map struct to map the relations between PLL source index and register configuration value. - Add a qcom_find_src_index() function for finding the index of a clock matching the specific PLL configuration. - Update the {set,get}_parent RCG functions use the newly introduced parent_map struct. - Convert all existing drivers to the new parent_map tables. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fae507afbdf3384227ced662c51c5b6cbff223c8 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Fri Mar 20 18:30:25 2015 +0200 clk: qcom: Do some error handling in configure_bank() Currently configure_bank() returns void. Add some error checking on the regmap calls and propagate if there is any error. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7f218978f10693f65e35b0bbcdcd539fbe78221a Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Fri Mar 20 18:30:24 2015 +0200 clk: qcom: Fix clk_get_parent function return value According to the common clock framework API, the clk_get_parent() function should return u8. Currently we are returning negative values on error. Fix this and use the default parent in case of an error. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0b21503dbbfa669dbd847b33578d4041513cddb2 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Mar 4 15:19:35 2015 +0530 clk: qcom: fix RCG M/N counter configuration Currently, a RCG's M/N counter (used for fraction division) is set to either 'bypass' (counter disabled) or 'dual edge' (counter enabled) based on whether the corresponding rcg struct has a mnd field specified and a non-zero N. In the case where M and N are the same value, the M/N counter is still enabled by code even though no division takes place. Leaving the RCG in such a state can result in improper behavior. This was observed with the DSI pixel clock RCG when M and N were both set to 1. Add an additional check (M != N) to enable the M/N counter only when it's needed for fraction division. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Fixes: bcd61c0f535a (clk: qcom: Add support for root clock generators (RCGs)) Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit df6a0d6f633d684ef62bd92038c01a1781894f85 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 17:20:38 2015 +0000 PM / domains: avoid potential oops in pm_genpd_remove_device() pm_genpd_remove_device() tries hard to validate the generic PM domain passed to it, but the validation is not complete. dev->pm_domain contains a struct dev_pm_domain, which is the "base class" of generic PM domains. Other users of dev_pm_domains include stuff like vga_switheroo. Hence, a device could have a generic PM domain or a vga_switcheroo PM domain in dev->pm_domain. We need ot be certain that the PM domain is actually valid before we try to remove it. We can do this easily as we have a way to get the current validated generic PM domain for a struct device. This must match the generic PM domain being requested for removal. Convert the code to use this alternative validation method instead. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8e795840e4d89df3d594e736989212ee8a4a1fca Merge: 85e8a0a 9e808eb d748804 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Mar 23 17:17:34 2015 -0500 Merge branches 'pci/enumeration' and 'pci/virtualization' into next * pci/enumeration: PCI: Cleanup control flow sparc/PCI: Claim bus resources before pci_bus_add_devices() PCI: Assign resources before drivers claim devices (pci_scan_root_bus()) PCI: Assign resources before drivers claim devices (pci_scan_bus()) * pci/virtualization: PCI: Add ACS quirks for Intel 1G NICs commit 0833b5ae69026cf62b5fc6cf83b1f1d1cd36164b Merge: 5cf065f 8da6f3c Author: Michael Turquette <mturquette@xxxxxxxxxx> Date: Sun Mar 22 10:11:39 2015 -0700 Merge tag 'mvebu-clk-4.1' of git://git.infradead.org/linux-mvebu into clk-next clock changes for mvebu for v4.1 - Add clock support for Armada 39x commit 3659f9c2aaabced5d0db23fa8b485a69f31c31b3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Mar 22 20:49:51 2015 +0200 Staging: rtl8192u: Remove function prototype from .c file Remove function prototype from r8192U_core.c since it is declared in the r8192U.h header and this is included in r8192U_core.c Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef8a83e79148bc6311a4227b23d57e3a172f1479 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Mar 22 20:49:28 2015 +0200 Staging: rtl8192u: Make function prototypes static Make functions static since they are used locally and no other files refer them. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be546c6cd0a9ad742f1dc7869acdf2d80971ddb5 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sun Mar 22 03:02:02 2015 +0300 Staging: media: remove useless dev_info to avoid null ptr dereference Context is used in dev_info after it has been freed. This patch fix that issue by removing the dev_info itself, for msg doesn't look much necessary. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a51bab6d42be47ae5df899bd7f72bcd4b4c321bf Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sun Mar 22 14:49:29 2015 +0530 Staging: rtl8723au: Remove unused function rtw_atimdone_event_callback23a This patch fixes the following sparse warning: warning: symbol 'rtw_atimdone_event_callback23a' was not declared. Should it be static? rtw_atimdone_event_callback23a is local to the file rtw_mlme.c but it isn't exposed in a header file anywhere. Moreover it is never called from anywhere as well. So, this patch removes this function completely. Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d10ece3336fbd75ed25ba48ecfb14f5a8a151ec Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Sat Mar 21 12:27:34 2015 +0530 Staging: wlan-ng: Remove typedef prism2sta_accesslist_t Remove typedef prism2sta_accesslist_t and replace its uses in the code. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5026df93d23995407cf0f024edbb16e03f367112 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Mar 22 19:09:44 2015 -0400 staging: rtl8723au: Do not byteswap timeout twice Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a113b53cd315a45a97bfec1c1d586433200954ef Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Mar 22 19:09:43 2015 -0400 staging: rtl8723au: update_txdesc(): bagg_pkt is always false Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18f576f6da6626ef4e055c2ce17bd09cd97c36d3 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Mar 22 19:09:42 2015 -0400 staging: rtl8723au: Fix trailing whitespace Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed2be12e0a2901176ad2930443322d4aa53fe6b0 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 23 16:54:08 2015 -0400 staging: rtl8723au: Fix mis-placed break In 7c3a8f2a5ec95e2b13704562f36321e20ddfc190 I made a mistake and moved a break below a bracket, causing a situation where the for loop would always exit when it shouldn't. This patch corrects that mistake. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c84b528c082a396443104f6931691948c088d94b Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Sat Mar 21 12:27:24 2015 +0530 Staging: wlan-ng: Remove typedef prism2sta_authlist_t Remove typdef prism2sta_authlist_t and replace its uses in the code. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c0dbe0a2e343197d3f86cb23e46fb5d57fa74ca Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Mar 20 21:25:20 2015 +0200 Staging: rtl8188eu: Delete space Deleted spaces before ','.Because it is prohibited by the kernel coding style. Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd02e3df529eb3fbf8904ba60a617f6217ac7629 Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Mon Mar 23 21:17:01 2015 +0000 ASoC: pcm512x: Remove hardcoding of pll-lock to GPIO4 Currently GPIO4 is hardcoded to output the pll-lock signal. Unfortunately this is after the pll-out GPIO is configured which is selectable in the device tree. Therefore it is not possible to use GPIO4 for pll-out. Therefore this patch removes the configuration of GPIO4. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 42efd0016cb4f5f2105775e7189ed9b7f03d6f61 Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Fri Mar 20 23:18:10 2015 -0300 staging: fbtft: Fix indentation style by space This patch fixes the checkpatch.pl warning and error: WARNING: please, no spaces at the start of a line ERROR: code indent should use tabs where possible Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7d853268da2fd5d26addfd5ac5ca170d167a7ca Author: Helen Fornazier <helen.fornazier@xxxxxxxxx> Date: Sat Mar 21 13:50:05 2015 -0300 staging: fbtft: remove trailing white space Clean useless trailing white spaces Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c76706967dd15b58dfc132d1dc46e13edb86424 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sun Mar 22 21:23:23 2015 +0300 Staging: iio: use the BIT macro in .h files This patch replace bit shifting on 1, 2, and 3 with the BIT(x) macro. Issue addressed by checkpatch.pl with --strict flag. This was done with the help of Coccninelle: @r1@ constant int g; @@ ( 0<<g | 1<<g | 2<<g | 3<<g ) @script:python b@ g2 <<r1.g; y; @@ coccinelle.y = int(g2) + 1 @c@ constant int r1.g; identifier b.y; @@ ( -(1 << g) +BIT(g) | -(0 << g) + 0 | -(2 << g) +BIT(y) | -(3 << g) +(BIT(y)| BIT(g)) ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cf23dfffd3c69fc5cf5e2ca6fee0ab7eb316812 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Mar 22 20:43:16 2015 +0200 Staging: iio: Fix file header to match standards Fix file header to match Linux Kernel style. Remove Free Software Foundation reference to silence the checkpatch.pl warning. Add driver description and correct spelling mistakes. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6767051951353d0156efc80f7c7aa87d632d22c Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Mar 22 20:42:42 2015 +0200 Staging: iio: Place driver in sleep mode on error Put device in sleep mode if an error is encountered after initialization in order to avoid wasting power. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daf56d91a56d41d97fda9f5979657abbd6475140 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Mar 20 18:09:43 2015 +0200 Staging: iio: Add kernel-doc for struct hmc5843 This patch documents the struct hmc5843 specific data following this warning: "CHECK: struct mutex definition without comment". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 052c529e30cd381f0e08ee4d4ddbe44347a29e43 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Mar 21 10:51:42 2015 +0300 Staging: lustre: Fix Sparse warnings for static declarations The following patch fixes Sparse warnings in genops.c regrding: "Symbol * was not declared. Should it be static?" Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 826ad46d05c631d139289d095a68ea3c58aee821 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Mar 21 10:48:30 2015 +0300 Stagin: lustre: Fix externs should be avoided in .c This patch moves extern declaration from genops.c to obd_class.h, addressing checkpatch.pl warning: externs should be avoided in .c Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ee941dfe7904c67794c52d78db7ec2d03a57257 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Mar 21 10:47:56 2015 +0300 Staging: lustre: Fix externs should be avoided in .c Thi patch moves extern declaration to "obd_class.h". Remove prototype from "class_obd.c". Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 381ca677af0a898af0e19002ea445055e6f0923a Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Mar 21 08:51:35 2015 +0300 Staging: lustre: remove extern in .c file This patch removes extern from .c file; for the variable is not used anywhere else in the file. In addition, it mark it static in the one file it is in "ldlm_resource.c". Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d748804f5be8ca4dd97a4167fcf84867dca7c116 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Mar 20 12:27:57 2015 -0600 PCI: Add ACS quirks for Intel 1G NICs Intel has verified that there is no peer-to-peer between functions for the below selection of 82580, 82576, 82575, I350, and 82571 multi-port devices. This adds the necessary quirks to consider the functions isolated from each other. 82571 quad-port devices are omitted due to likely lack of ACS/isolation in the onboard switch, rendering quirks for the downstream endpoints useless. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: John Ronciak <john.ronciak@xxxxxxxxx> commit 5fb0acb435c92760c4157df134e88103f1461b32 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 21 18:20:25 2015 +0530 Staging: lustre: Convert macro class_export_rpc_dec into static inline function This patch converts the macro class_export_rpc_dec into static inline function. This is possible because the types of arguments at all the call sites are same. So, the type of parameter is compatible with the types of the arguments at all of the call sites. Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28b9d6f14d30eae2d600a3f6deac625f26591820 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 21 18:20:24 2015 +0530 Staging: lustre: Convert macro class_export_rpc_inc into static inline function This patch converts the macro class_export_rpc_inc into static inline function. This is possible because the types of arguments at all the call sites are same. So, the type of parameter is compatible with the types of the arguments at all of the call sites. Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da29169e769285e90bd1f8389c78b2da6e7fa910 Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Mon Mar 9 17:37:31 2015 -0700 serial: 8250_dw: fix 'cts-override' We are dealing with CTS, not DSR here (we dealt with DSR a few lines above), so set appropriate bits. Reported-by: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24c0e6838cb4888366008bd36e0a77a995b18bb7 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Mon Mar 23 16:23:12 2015 -0300 vxlan: simplify if clause in dev_close Dan Carpenter's static checker warned that in vxlan_stop we are checking if 'vs' can be NULL while later we simply derreference it. As after commit 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope") 'vs' just cannot be NULL in vxlan_stop() anymore, as the interface won't go up if the socket initialization fails. So we are good to just remove the check and make it consistent. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f20fbaad7620af2df36a1f9d1c9ecf48ead5b747 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Mar 23 17:50:27 2015 +0000 spi: spidev: fix possible arithmetic overflow for multi-transfer message `spidev_message()` sums the lengths of the individual SPI transfers to determine the overall SPI message length. It restricts the total length, returning an error if too long, but it does not check for arithmetic overflow. For example, if the SPI message consisted of two transfers and the first has a length of 10 and the second has a length of (__u32)(-1), the total length would be seen as 9, even though the second transfer is actually very long. If the second transfer specifies a null `rx_buf` and a non-null `tx_buf`, the `copy_from_user()` could overrun the spidev's pre-allocated tx buffer before it reaches an invalid user memory address. Fix it by checking that neither the total nor the individual transfer lengths exceed the maximum allowed value. Thanks to Dan Carpenter for reporting the potential integer overflow. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e76e695f76c99b97c0949dfafe9cf176bceb0e4 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:52 2015 -0400 staging: unisys: fix parenthesis alignment in visorchipset_main.c Fix as many parenthesis alignment problems in this file as possible. In cases where there was no good way to align to the leading parenthesis, the content of the parenthesis were aligned as if there were no limit, and then the leading indentation was moved back to one tab in from the previous line. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee8da290d1e731d101f912c3b322e48fe37232c1 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:51 2015 -0400 staging: unisys: Fix CamelCase local variable in remaining_steps functions Rename the CamelCase local variable remainingSteps => remaining_steps Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10dbf0e35f85921607f744c7ee0a86aec9367ed8 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:50 2015 -0400 staging: unisys: fix CamelCase local in textid functions Fix the CamelCased local variable textId => text_id In both of the textid sysfs functions, and update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 365522d99474998b11cb544c0167742455e8e7a0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:49 2015 -0400 staging: unisys: fix CamelCase variables in boottotool functions Rename the local CamelCase variable efiSparIndication => efi_spar_indication Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01f4d85a5852726d8ff71d61646690a5af98e9cc Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:48 2015 -0400 staging: unisys: fix CamelCase local toolAction Rename the CamelCase local toolAction => tool_action In both of the sysfs functions for exposing this value, and update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77a0449d4cf3fe63f0e712d23458207bd661e0b2 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:47 2015 -0400 staging: unisys: fix CamelCase parameter in chipset functions Fix the CamelCase parameter msgHdr => msg_hdr In all of the chipset functions. Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3168c70bb8d6d8b2679995627ebc2cbd3e7961b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:46 2015 -0400 staging: unisys: fix CamelCase parameter msgHdr in controlvm functions Fix the CamelCase parameter name msgHdr => msg_hdr In all of the controlvm functions in visorchipset_main.c. Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb34e877ccbcd0da12bb10360d1cf9cfecd6888f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:45 2015 -0400 staging: unisys: fix CamelCase global Visorchipset_platform_device Rename the CamelCase variable: Visorchipset_platform_device => visorchipset_platform_device Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5aa8ae57c560afb1a58c42db0d98fd327b89a274 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:44 2015 -0400 staging: unisys: fix CamelCased global MajorDev Rename the CamelCase global: MajorDev => major_dev Update references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e3fedd6e3336a1bf200d6527751a7f1497c2e95 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:43 2015 -0400 staging: unisys: fix CamelCase in responders functions Fix the CamelCase parameters: busNo => bus_no devNo => dev_no In the functions bus_create_response(), bus_destroy_response(), device_create_response(), device_destroy_response(), and device_resume_response(). Fix the CamelCase global structure name BusDev_Responders => busdev_responders And update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fe345afd778cfa374c75a325f8c5b4801d89205 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:42 2015 -0400 staging: unisys: fix CamelCased notifier globals Fix these CamelCased names: BusDev_Server_Notifiers => busdev_server_notifiers BusDev_Client_Notifiers => busdev_client_notifiers Update references to use the fixed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddf5de5369494f27e89023263b46f79dad3a2ab4 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:41 2015 -0400 staging: unisys: fix CamelCased Parahotplug globals Fix the CamelCase names: Parahotplug_request_list => parahotplug_request_list Parahotplug_request_list_lock => parahotplug_request_list_lock Update references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 712f42cd992af9016d961b5e68faaa08abba97c8 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:40 2015 -0400 staging: unisys: fix CamelCase global Visorchipset_cache_buffers_in_use Rename this variable: Visorchipset_cache_buffers_in_use => visorchipset_cache_buffers_in_use Update all references to use the fixed name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1eee0011450f8c71e4ad11b914e38976d8bc7674 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:39 2015 -0400 staging: unisys: fix CamelCase in putfile-related globals Fix the CamelCase global names: Putfile_buffer_list_pool => putfile_buffer_list_pool Putfile_buffer_list_pool_name => putfile_buffer_list_pool_name Putfile_request_list => putfile_request_list Update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7166ed19a08c4dcd13d0315800237b754d09a800 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:38 2015 -0400 staging: unisys: fix CamelCased ControlVM globals Fix the CamelCase global names: ControlVm_Pending_Msg => controlvm_pending_msg ControlVm_Pending_Msg_Valid => controlvm_pending_msg_valid Update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e37a0306c8074263b713b8f187636018cbc583d Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:37 2015 -0400 staging: unisys: remove last remnants of proc entry code All of the proc code using easyproc and procobjecttree support is gone, so we can remove it from the source entirely. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6f15f828d4b624a2e4306dabbbb20a581bece37 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Mon Mar 23 11:51:53 2015 -0700 fib_trie: Fix regression in handling of inflate/halve failure When I updated the code to address a possible null pointer dereference in resize I ended up reverting an exception handling fix for the suffix length in the event that inflate or halve failed. This change is meant to correct that by reverting the earlier fix and instead simply getting the parent again after inflate has been completed to avoid the possible null pointer issue. Fixes: ddb4b9a13 ("fib_trie: Address possible NULL pointer dereference in resize") Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 862cf604071bcd94fc3d8e0a8953d340eab6e3a0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:35 2015 -0400 staging: unisys: fix NULL pointer comparisons in uislib.c Change pointer comparisons to NULL to just use the pointer directly. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6a3989b514a276506d4e8432318e1186636c1f3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:34 2015 -0400 staging: unisys: fix CamelCase label in visorchipset_init() Fix the CamelCase label: Away => cleanup Update all references to use the fixed name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6bdb904c1d819b4f90453d21d46e0aab22b931b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:33 2015 -0400 staging: unisys: fix CamelCase in setup_crash_devices_work_queue() Fix CamelCase names: localCrashCreateBusMsg => local_crash_bus_msg localCrashCreateDevMsg => local_crash_dev_msg localSavedCrashMsgOffset => local_crash_msg_offset localSavedCrashMsgCount => local_crash_msg_count Away => cleanup Update all references to use the fixed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cde94506eacfcda570b6c304b8deae1a7191ee2 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Mar 23 12:35:37 2015 +0100 bgmac: implement scatter/gather support Always use software checksumming, since the hardware does not have any checksum offload support. This significantly improves local TCP tx performance. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45c9b3c09490ef4a4ac19df75b5919849423f3e7 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Mar 23 12:35:36 2015 +0100 bgmac: implement GRO and use build_skb This improves performance for routing and local rx Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0addb83d4c71a68fa716fbd69a605ac0ba5e2b50 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Mar 23 12:35:35 2015 +0100 bgmac: fix descriptor frame start/end definitions The start-of-frame and end-of-frame bits were accidentally swapped. In the current code it does not make any difference, since they are always used together. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 443b5991a748c844610cb27f19473b56d5fc4dd1 Author: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Mon Mar 23 18:04:13 2015 +0900 net: Move the comment about unsettable socket-level options to default clause and update its reference. We implement the SO_SNDLOWAT etc not to be settable and return ENOPROTOOPT per 1003.1g 7. Move the comment to appropriate position and update the reference. Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c1ed292b406ac318cabd4c88e7001fc9266f884 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:32 2015 -0400 staging: unisys: refactor controlvm_periodic_work() Fix the CamelCase variable names: gotACommand => got_command Poll_Count => poll_count Away => cleanup Fix all references to use the new names. Remove the empty braces in the while() and put in a trailing semicolon, for clarity. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 818352a8521d2b2458d7147662736f1406061d18 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:31 2015 -0400 staging: unisys: refactor handle_command() First, fix the CamelCase local variable names: parametersAddr => parm_addr parametersBytes => parm_bytes isLocalAddr => local_addr Change the type of local_addr to bool instead of using the #defined type. Update all references to use the fixed names. Fix the indentation of that line that's over the 80 column limit. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a55e3c33762d1623ed9fb6d0caa52076fbac762 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:30 2015 -0400 staging: unisys: fix spacing in parahotplug_request_create Just fix the spacing around the logical or operator in this function. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55b33413b882570b4790e1fada44060d6f7e5cfa Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:29 2015 -0400 staging: unisys: refactor parahotplug_process_list() Simplify the code a little and shorten the indentation levels by reversing the check for time_after_eq(). Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cafefc0ca1a36fa917a9cf1bea6ea4e9e05db8f1 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:28 2015 -0400 staging: unisys: fix Camelcase in initialize_controlvm_payload() Fix the CamelCase local variables: payloadOffset => payload_offset payloadBytes => payload_bytes Update all references to use the new names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 597c338f0a6012e1360b7c71797b03438ff48fab Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:27 2015 -0400 staging: unisys: fix NULL comparison in destroy_controlvm_payload_info() Just remove the NULL from the check and test the pointer directly. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f118a39bfec6eff3ab1c1720fd734df62e012150 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:26 2015 -0400 staging: unisys: refactor initialize_controlvm_payload_info() Fix the CamelCased goto label: Away => cleanup and get rid of the NULL comparison. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61715c8b9c532e41547d47f649649c2250e98e27 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:25 2015 -0400 staging: unisys: refactor my_device_destroy() Fix the CamelCase variable names: busNo => bus_no devNo => dev_no pDevInfo => dev_info Update all the references to the updated names, then remove the goto and its label. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0278a9055ac94ff368e8cdf3de3de25967c7f66b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:24 2015 -0400 staging: unisys: refactor my_device_changestate() Fix the CamelCase names: busNo => bus_no devNo => dev_no pDevInfo => dev_info Update all references to use the new names, and remove the goto and label entirely. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c60c8e26983fd44ffea4d1aedf9f889dcbfa80b8 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:23 2015 -0400 staging: unisys: refactor my_device_create() Fix local CamelCase variable names: busNo => bus_no devNo => dev_no pDevinfo => dev_info pBusInfo => bus_info Away => cleanup Update references to use the corrected names, and change the kzalloc() to use the variable itself rather than the type. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 654bada025db1a292a38d33e09404b15df94991b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:22 2015 -0400 staging: unisys: refactor bus_configure() First, fix the CamelCase names: busNo => bus_no pBusInfo => bus_info Update all references to use the corrected names, and remove the messy goto and label. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dff54cd605670171f2f01d5bd5be61079c0119fb Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:21 2015 -0400 staging: unisys: refactor bus_destroy() Fix CamelCase names: busNo => bus_no pBusInfo => bus_info Update all references to use the corrected names, and remove the goto statements and labels entirely. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c5fed359fc7f2fd0b3c5469d43a1b07c283e1f9 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:20 2015 -0400 staging: unisys: refactor bus_create() First, fix all CamelCase names: busNo => bus_no pBusInfo => bus_info Away => cleanup Fix the kzalloc() call so it uses the variable name rather than the type, and update all of the references to the renamed variables and labels. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75c1f8b726e9383c1953c4999870ff3e13c931a9 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:19 2015 -0400 staging: unisys: fix braces in visorchipset_main.c Fix all of the bracing mistakes by adding missing braces, and removing unnecessary braces. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b59b31d69cdf44e2d0b6b6314f78ca6ebb31b7b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:18 2015 -0400 staging: unisys: fix spaces after typecasts in visorchipset_main.c Just remove a couple of extra spaces after typecasts. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2836c6a8de2174039770323dc14961eb1308c5e3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:17 2015 -0400 staging: unisys: fix CamelCase in epilog functions Rename the CamelCase parameters: busNo => bus_no devNo => dev_no needResponse => need_response And the local variables pBusInfo => bus_info pDevInfo => dev_info Update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbb31f48aba3d4c149b85b5b25b2667ea5ba9ccf Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:16 2015 -0400 staging: unisys: fix CamelCase params in responder functions Fix the CamelCase parameter names in the set of responder functions: cmdId => cmd_id busNo => bus_no devNo => dev_no responseState => response_state Update all references to use the fixed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4577225d26d43974e79fa7d288df7fb8397cffa2 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:15 2015 -0400 staging: unisys: fix CamelCase locals in visorchipset_save_message Rename CamelCased local variable names: localSavedCrashMsgOffset => crash_msg_offset localSavedCrashMsgCount => crash_msg_count Update references to use the new names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3199b2e3c2697a4e2a99a00434e1ec09d2646b6 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:14 2015 -0400 staging: unisys: fix Camelcase Away goto label Rename the label in both places: Away => cleanup Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38f736e974e394157c9111cc53a6f3a55ea8cbc8 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:13 2015 -0400 staging: unisys: fix all NULL comparisons in visorchipset_main.c Fix all of the NULL comparison checks generated by checkpatch.pl. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a59d7bed79a39a01a1fa8d3d651af592a84a4aef Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:12 2015 -0400 staging: unisys: remove obsolete proc entry code There is an unused variable in the visorchipset_bus_info structure that used to be for a proc entry, so remove it, and the code that referenced it. We don't need it anymore. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b989a98d74eb91c59b5bacec88e06b7b2fff436 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:11 2015 -0400 staging: unisys: fix CamelCase-named clearing functions Fix the CamelCase-named structure clearing functions in visorchipset_main.c: busInfo_clear => bus_info_clear devInfo_clear => dev_info_clear Update references to use the fixed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1527e938b76a66be951fdfd948d4f6b358dcec87 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:10 2015 -0400 staging: unisys: remove old code block in visorchipset_main.c The block of code is old and #if 0'd out, so just remove it. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29b809e5168f12ed5a216b3c8a5e6be85146a6ab Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:09 2015 -0400 staging: unisys: remove extra blank lines in visorchipset_main.c Fix up the line spacing around braces in visorchipset_main.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea33b4ee5e12a00faf03ad09f7309040685822f5 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:08 2015 -0400 staging: unisys: refactor livedump_info structure Fix the CamelCase member names and that global variable: Dumpcapture_header => dumpcapture_header Gettextdump_header => gettextdump_header Dumpcomplete_header => dumpcomplete_header Gettextdump_outstanding => gettextdump_outstanding LiveDump_info => livedump_info Update all references and merge the definition and global structure declaration. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84982fbf0f0db69bf2c071a9b49908cf7cd6bfe4 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:07 2015 -0400 staging: unisys: fix CamelCase global ControlVm_payload_info Rename the CamelCase global structure ControlVm_payload_info => controlvm_payload_info Move the declaration to the struct definition, and update all references to use the new name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b28ee90cbb890816336559841bcd2d6d036b1ed0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:06 2015 -0400 staging: unisys: get rid of Test_Vnic_channel Nobody is using this, so remove it. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3d9a224e7872ec2a6341ef57d04432bc6f961a0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:05 2015 -0400 staging: unisys: fix CamelCase channel name ControlVm_channel Rename the channel: ControlVm_channel => controlvm_channel Update all references to use the new name. Fix the odd bracketing in the while() statement with the reference to controlvm_channel, too, so the patch doesn't generate a warning. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0639ba6759857ca3e8d29669e1234ef34b52a29e Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:04 2015 -0400 staging: unisys: fix placement of logical ops in visorchipset_main.c Several if statement lines had the logical operators in the wrong place, so fix these by moving the operator to the end of the previous line. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1390b88ce4b5259b6e69dd794e5bcf1bb791f426 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:03 2015 -0400 staging: unisys: fix CamelCase list names Rename the CamelCased list names: BusInfoList => bus_info_list DevInfoList => dev_info_list Update all references to use the fixed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f44b72d96ec2322bb8e1ffbcbbbd4a684763ba2 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:02 2015 -0400 staging: unisys: fix CamelCase name for devicechangestate packet Fix the variable's CamelCase name: g_DeviceChangeStatePacket => g_devicechangestate_packet Update all references to use the fixed name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83d48905aceaa0d3165b2a12962f8c63df98ec14 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:01 2015 -0400 staging: unisys: fix CamelCased diagpool bus/dev names Fix CamelCase names: g_diagpoolBusNo => g_diagpool_bus_no g_diagpoolDevNo => g_diagpool_dev_no Update all references to the changed names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59827f00245fabbc2d6fb628866769affd76fb7c Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:58:00 2015 -0400 staging: unisys: fix CamelCase name Fix CamelCase global variable: UltraDiagPoolChannelProtocolGuid => spar_diag_pool_channel_protocol_uuid Update all references to use the fixed name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f1947aceb0b97a63bd8a16657a01946a7f5242f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:59 2015 -0400 staging: unisys: fix CamelCase semaphore NotifierLock Rename the semaphore NotifierLock => notifier_lock Update all references to use the new name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da021f020ed43f5f511e9acaaf61b814b4417cbe Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:58 2015 -0400 staging: unisys: fix CamelCase message header variables Fix the CamelCase variable names: g_DiagMsgHdr => g_diag_msg_hdr g_ChipSetMsgHdr => g_chipset_msg_hdr g_DelDumpMsgHdr => g_del_dump_msg_hdr Update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9232d2d62a9d1c5005ac11c4f48ddb0fd38a0029 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:57 2015 -0400 staging: unisys: fix CamelCase controlvm globals Fix the CamelCase variable names: Periodic_controlvm_work => periodic_controlvm_work Periodic_controlvm_workqueue => periodic_controlvm_workqueue Update all references to use the corrected names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b53e0e93b75adfe7a144054848d427a425b11f93 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:56 2015 -0400 staging: unisys: fix CamelCase global Most_recent_message_jiffies Fix the CamelCase global variable in visorchipset_main.c: Most_recent_message_jiffies => most_recent_message_jiffies Update all references to use the corrected name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53049d33158fb1b6ad8268a85b2a9de40346fba6 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:55 2015 -0400 staging: unisys: refactor parser_byteStream_get Fix this CamelCase function name: parser_byteStream_get => parser_byte_stream_get Update all references to use the fixed name. Fix the spacing in the typecast. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2d97e4be944645137143e19b51af4575950cfc4 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:54 2015 -0400 staging: unisys: refactor parser_init_byteStream Fix CamelCase names: parser_init_byteStream => parser_init_byte_stream isLocal => local tryAgain => retry Update references to the changed function name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86c1aee1178c8e57dae10a9e73c51069098e4b5b Merge: c9231f8 52036a4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 16:52:34 2015 -0400 Merge branch 'listener_refactor_part_15' Eric Dumazet says: ==================== tcp listener refactoring part 15 I am trying to make the final patch pushing request socks into ehash as small as possible. In this patch series, I made various adjustments for the SYNACK generation, allowing me to reach 1 Mpps SYNACK in my stress test (still hitting LISTENER spinlock of course, and the syn_wait spinlock) I also converted the ICMP handlers a bit ahead of time : They no longer need to get the LISTENER socket, and can use only a lookup in ehash table. No big deal if we ignore ICMP for requests socks before the final steps. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52036a43055b3aae6659841c45a809af2ad4535e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:25 2015 -0700 ipv6: dccp: handle ICMP messages on DCCP_NEW_SYN_RECV request sockets dccp_v6_err() can restrict lookups to ehash table, and not to listeners. Note this patch creates the infrastructure, but this means that ICMP messages for request sockets are ignored until complete conversion. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85645bab57bfc6b0b43bb96a301c4ef83925c07d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:24 2015 -0700 ipv4: dccp: handle ICMP messages on DCCP_NEW_SYN_RECV request sockets dccp_v4_err() can restrict lookups to ehash table, and not to listeners. Note this patch creates the infrastructure, but this means that ICMP messages for request sockets are ignored until complete conversion. New dccp_req_err() helper is exported so that we can use it in IPv6 in following patch. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2215089b224412bfb28c5ae823b2a5d4e28a49d7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:23 2015 -0700 ipv6: tcp: handle ICMP messages on TCP_NEW_SYN_RECV request sockets tcp_v6_err() can restrict lookups to ehash table, and not to listeners. Note this patch creates the infrastructure, but this means that ICMP messages for request sockets are ignored until complete conversion. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26e3736090e1037ac929787df21c05497479b77f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:22 2015 -0700 ipv4: tcp: handle ICMP messages on TCP_NEW_SYN_RECV request sockets tcp_v4_err() can restrict lookups to ehash table, and not to listeners. Note this patch creates the infrastructure, but this means that ICMP messages for request sockets are ignored until complete conversion. New tcp_req_err() helper is exported so that we can use it in IPv6 in following patch. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b282705336e03fc7b9377a278939594870a40f96 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:21 2015 -0700 net: convert syn_wait_lock to a spinlock This is a low hanging fruit, as we'll get rid of syn_wait_lock eventually. We hold syn_wait_lock for such small sections, that it makes no sense to use a read/write lock. A spin lock is simply faster. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b929ab12fb2ab960adb3c3ec8d107fef5ff3243 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:20 2015 -0700 inet: remove some sk_listener dependencies listener can be source of false sharing. request sock has some useful information like : ireq->ir_iif, ireq->ir_num, ireq->ireq_net This patch does not solve the major problem of having to read sk->sk_protocol which is sharing a cache line with sk->sk_wmem_alloc. (This same field is read later in ip_build_and_send_pkt()) One idea would be to move sk_protocol close to sk_family (using 8 bits instead of 16 for sk_family seems enough) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42cb80a2353f42913ae78074ffa1f1b4a49e5436 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:19 2015 -0700 inet: remove sk_listener parameter from syn_ack_timeout() It is not needed, and req->sk_listener points to the listener anyway. request_sock argument can be const. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b41fab70fc001d2acd89c0477d32feb8265bb32 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 22 10:22:18 2015 -0700 inet: cache listen_sock_qlen() and read rskq_defer_accept once Cache listen_sock_qlen() to limit false sharing, and read rskq_defer_accept once as it might change under us. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 227a4fd801c8a9fa2c4700ab98ec1aec06e3b44d Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Mon Mar 23 18:27:42 2015 +0200 usb: xhci: apply XHCI_AVOID_BEI quirk to all Intel xHCI controllers When a device with an isochronous endpoint is plugged into the Intel xHCI host controller, and the driver submits multiple frames per URB, the xHCI driver will set the Block Event Interrupt (BEI) flag on all but the last TD for the URB. This causes the host controller to place an event on the event ring, but not send an interrupt. When the last TD for the URB completes, BEI is cleared, and we get an interrupt for the whole URB. However, under Intel xHCI host controllers, if the event ring is full of events from transfers with BEI set, an "Event Ring is Full" event will be posted to the last entry of the event ring, but no interrupt is generated. Host will cease all transfer and command executions and wait until software completes handling the pending events in the event ring. That means xHC stops, but event of "event ring is full" is not notified. As the result, the xHC looks like dead to user. This patch is to apply XHCI_AVOID_BEI quirk to Intel xHC devices. And it should be backported to kernels as old as 3.0, that contains the commit 69e848c2090a ("Intel xhci: Support EHCI/xHCI port switching."). Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Tested-by: Alistair Grant <akgrant0710@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9425183d177aa4a2f09d01a74925124f0778b595 Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Mon Mar 23 18:27:41 2015 +0200 usb: xhci: handle Config Error Change (CEC) in xhci driver Linux xHCI driver doesn't report and handle port cofig error change. If Port Configure Error for root hub port occurs, CEC bit in PORTSC would be set by xHC and remains 1. This happends when the root port fails to configure its link partner, e.g. the port fails to exchange port capabilities information using Port Capability LMPs. Then the Port Status Change Events will be blocked until all status change bits(CEC is one of the change bits) are cleared('0') (refer to xHCI spec 4.19.2). Otherwise, the port status change event for this root port will not be generated anymore, then root port would look like dead for user and can't be recovered until a Host Controller Reset(HCRST). This patch is to check CEC bit in PORTSC in xhci_get_port_status() and set a Config Error in the return status if CEC is set. This will cause a ClearPortFeature request, where CEC bit is cleared in xhci_clear_port_change_bit(). [The commit log is based on initial Marvell patch posted at http://marc.info/?l=linux-kernel&m=142323612321434&w=2] Reported-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # v3.2+ Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd0e075784f4bce97b4ed47d4b354f045e895546 Merge: 32fc9eb bc465aa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 21:49:37 2015 +0100 Merge 4.0-rc5 into usb-next We want the USB fixes in here as well to resolve merge conflicts. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9231f8247f5676a8dedd66efc6d89af99518530 Merge: 558d51f 4656e0a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 16:47:29 2015 -0400 Merge branch 'gigaset_modem_response' Tilman Schmidt says: ==================== isdn/gigaset: restructure modem response parser This series of patches restructures the Gigaset ISDN driver's modem response parser to improve code readability and conform better to the device's specification and actual behaviour. Could you please merge these through net-next? ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4656e0a3600102c798402947bb26f9035b391a13 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Mar 21 20:15:32 2015 +0100 isdn/gigaset: restructure modem response parser (4) Restructure the control structure of the modem response parser to improve readability and error handling. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d93187eb1021b2ec2d3f3d487e821620c2e5f706 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Mar 21 20:15:32 2015 +0100 isdn/gigaset: restructure modem response parser (3) Separate CID detection from main parser loop. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4df1e525afaaf363e72a4b441b674d5c78d08313 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Mar 21 20:15:32 2015 +0100 isdn/gigaset: restructure modem response parser (2) Separate literal string handling from main parser loop. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6bf50114350856d0c90dc2bc3ecffc5df6dfbf15 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Mar 21 20:15:32 2015 +0100 isdn/gigaset: restructure modem response parser (1) Factor out queueing of modem response events into helper function add_cid_event(). Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit caa445d808d27880f92d866902f6717f4d4cd3ca Merge: 48d7ff0 bc465aa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 21:45:24 2015 +0100 Merge 4.0-rc5 into tty-next We want the tty/serial fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 558d51fa2f400774ffe3ea76a0df7c1cf92bc598 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 10:27:28 2015 -0700 switchdev: fix stp update API to work with layered netdevices make it same as the netdev_switch_port_bridge_setlink/dellink api (ie traverse lowerdevs to get to the switch port). removes "WARN_ON(!ops->ndo_switch_parent_id_get)" because direct bridge ports can be stacked netdevices (like bonds and team of switch ports) which may not implement this ndo. v2 to v3: - remove changes to bond and team. Bring back the transparently following lowerdevs like i initially had for setlink/getlink (http://www.spinics.net/lists/netdev/msg313436.html) dave and scott feldman also seem to prefer it be that way and move to non-transparent way of doing things if we see a problem down the lane. v3 to v4: - fix ret initialization v4 to v5: - return err on first failure (scott feldman) v5 to v6: - change variable name (err) and initialize to -EOPNOTSUPP (scott feldman). Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08b4b8ea799d27c5dd28e8cb9188d2e88e58d294 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Fri Mar 20 14:29:09 2015 -0700 net: clear skb->priority when forwarding to another netns skb->priority can be set for two purposes: 1) With respect to IP TOS field, which is computed by a mask. Ususally used for priority qdisc's (pfifo, prio etc.), on TX side (we only have ingress qdisc on RX side). 2) Used as a classid or flowid, works in the same way with tc classid. What's more, this can even override the classid of tc filters. For case 1), it has been respected within its netns, I don't see any point of keeping it for another netns, especially when packets will be forwarded to Rx path (no matter from TX path or RX path). For case 2) we care, our applications run inside a netns, and we classify the packets by our own filters outside, If some application sets this priority, it could bypass our filters, therefore clear it when moving out of a netns, it makes no sense to bypass tc filters out of its netns. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a659f91aeba8710973082a1c62c20bae139663f2 Merge: 8f2ddaa a596999 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 23 16:41:44 2015 -0400 Merge branch 'crypto_async' Tadeusz Struk says: ==================== Add support for async socket operations After the iocb parameter has been removed from sendmsg() and recvmsg() ops the socket layer, and the network stack no longer support async operations. This patch set adds support for asynchronous operations on sockets back. Changes in v3: * As sugested by Al Viro instead of adding new functions aio_sendmsg and aio_recvmsg, added a ptr to iocb into the kernel-side msghdr structure. This way no change to aio.c is required. Changes in v2: * removed redundant total_size param from aio_sendmsg and aio_recvmsg functions ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a596999b7ddfe7fc5b7b8adf9536ab1c39cb12d2 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Thu Mar 19 12:31:40 2015 -0700 crypto: algif - change algif_skcipher to be asynchronous The way the algif_skcipher works currently is that on sendmsg/sendpage it builds an sgl for the input data and then on read/recvmsg it sends the job for encryption putting the user to sleep till the data is processed. This way it can only handle one job at a given time. This patch changes it to be asynchronous by adding AIO support. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66db37391dad834a4f739984eec81af27a68b09c Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Thu Mar 19 12:31:30 2015 -0700 crypto: af_alg - Allow to link sgl Allow to link af_alg sgls. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0345f93138b2224e0d7ce91fcffdb3dd23f364d7 Author: tadeusz.struk@xxxxxxxxx <tadeusz.struk@xxxxxxxxx> Date: Thu Mar 19 12:31:25 2015 -0700 net: socket: add support for async operations Add support for async operations. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 807dc0668e7af56a49cf360c2d12f9b04083ac47 Merge: 5e79061 bc465aa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 21:36:48 2015 +0100 Merge 4.0-rc5 into staging-testing We want the staging tree fixes that are upstream here as well to prevent merge conflicts from people trying to clean up code. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f43b65bad6d54df7562c522a13d30efddae91234 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Mar 23 14:03:17 2015 -0400 smack: Fix gcc warning from unused smack_syslog_lock mutex in smackfs.c In commit 00f84f3f2e9d088f06722f4351d67f5f577abe22 ("Smack: Make the syslog control configurable") this mutex was added, but the rest of the final commit never actually made use of it, resulting in: In file included from include/linux/mutex.h:29:0, from include/linux/notifier.h:13, from include/linux/memory_hotplug.h:6, from include/linux/mmzone.h:821, from include/linux/gfp.h:5, from include/linux/slab.h:14, from include/linux/security.h:27, from security/smack/smackfs.c:21: security/smack/smackfs.c:63:21: warning: â??smack_syslog_lockâ?? defined but not used [-Wunused-variable] static DEFINE_MUTEX(smack_syslog_lock); ^ A git grep shows no other instances/references to smack_syslog_lock. Delete it, assuming that the mutex addition was just a leftover from an earlier work in progress version of the change. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit bf4b2fee99799780ea3dbb6d79d1909b3e32be13 Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Sat Mar 21 18:26:40 2015 -0700 Smack: Allow an unconfined label in bringup mode I have vehemently opposed adding a "permissive" mode to Smack for the simple reasons that it would be subject to massive abuse and that developers refuse to turn it off come product release. I still believe that this is true, and still refuse to add a general "permissive mode". So don't ask again. Bumjin Im suggested an approach that addresses most of the concerns, and I have implemented it here. I still believe that we'd be better off without this sort of thing, but it looks like this minimizes the abuse potential. Firstly, you have to configure Smack Bringup Mode. That allows for "release" software to be ammune from abuse. Second, only one label gets to be "permissive" at a time. You can use it for debugging, but that's about it. A label written to smackfs/unconfined is treated specially. If either the subject or object label of an access check matches the "unconfined" label, and the access would not have been allowed otherwise an audit record and a console message are generated. The audit record "request" string is marked with either "(US)" or "(UO)", to indicate that the request was granted because of an unconfined label. The fact that an inode was accessed by an unconfined label is remembered, and subsequent accesses to that "impure" object are noted in the log. The impurity is not stored in the filesystem, so a file mislabled as a side effect of using an unconfined label may still cause concern after a reboot. So, it's there, it's dangerous, but so many application developers seem incapable of living without it I have given in. I've tried to make it as safe as I can, but in the end it's still a chain saw. Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 7fc5f36e980a8f4830efdae3858f6e64eee538b7 Author: José Bollo <jose.bollo@xxxxxxxxxxxxxxxxxxx> Date: Tue Feb 17 15:41:22 2015 +0100 Smack: getting the Smack security context of keys With this commit, the LSM Smack implements the LSM side part of the system call keyctl with the action code KEYCTL_GET_SECURITY. It is now possible to get the context of, for example, the user session key using the command "keyctl security @s". The original patch has been modified for merge. Signed-off-by: José Bollo <jose.bollo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 7412301b76bd53ee53b860f611fc3b5b1c2245b5 Author: Marcin Lis <m.lis@xxxxxxxxxxx> Date: Thu Jan 22 15:40:33 2015 +0100 Smack: Assign smack_known_web as default smk_in label for kernel thread's socket This change fixes the bug associated with sockets owned by kernel threads. These sockets, created usually by network devices' drivers tasks, received smk_in label from the task that created them - the "floor" label in the most cases. The result was that they were not able to receive data packets because of missing smack rules. The main reason of the access deny is that the socket smk_in label is placed as the object during smk check, kernel thread's capabilities are omitted. Signed-off-by: Marcin Lis <m.lis@xxxxxxxxxxx> commit 8a56b6b5fd6ff92b7e27d870b803b11b751660c2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:48:01 2015 -0800 [media] v4l2-subdev: remove enum_framesizes/intervals The video and pad ops are duplicates, so get rid of the more limited video op. The whole point of the subdev API is to allow reuse of subdev drivers by bridge drivers. Having duplicate ops makes that much harder. We should never have allowed duplicate ops in the first place. A lesson for the future. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 17bef885249db5db921ac8cf6e23938a91a6cd7b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:48:00 2015 -0800 [media] v4l2-subdev: add support for the new enum_frame_interval 'which' field Support the new 'which' field in the enum_frame_interval ops. Most drivers do not need to be changed since they always returns the same enumeration regardless of the 'which' field. Tested for ov7670 and marvell-ccic on a OLPC XO-1 laptop. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6935224da2482a261c786501fbccb1dc4a675225 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 19 09:01:53 2015 +0000 spi: bcm2835: enable support of 3-wire mode Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 210b49231af6a3ede5de3c90850dbf1134a855c2 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 19 09:01:52 2015 +0000 spi: bcm2835: clock divider can be a multiple of 2 The official documentation is wrong in this respect. Has been tested empirically for dividers 2-1024 Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3e4bd8e10cd70d35a59854dcdcd7280c5ed240c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:59 2015 -0800 [media] DocBook media: document the new 'which' field The subdev enum ioctls now have a new 'which' field. Document this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4adf312976ef2b72830b83f212fef3f6a36513a6 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Mon Mar 23 15:11:53 2015 +0100 spi: bcm2835: fill/drain SPI-fifo as much as possible during interrupt Implement the recommendation from the BCM2835 data-sheet with regards to polling drivers to fill/drain the FIFO as much data as possible also for the interrupt-driven case (which this driver is making use of). This means that for long transfers (>64bytes) we need one interrupt every 64 bytes instead of every 12 bytes, as the FIFO is 16 words (not bytes) wide. Tested with mcp251x (can bus), fb_st7735 (TFT framebuffer device) and enc28j60 (ethernet) drivers. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5778e749c152567ac15201fcd988bc1604878021 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:58 2015 -0800 [media] v4l2-subdev: add support for the new enum_frame_size 'which' field Support the new 'which' field in the enum_frame_size ops. Most drivers do not need to be changed since they always returns the same enumeration regardless of the 'which' field. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Acked-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3f1ccf16f3ea015e57c326c2b14010bf119b6184 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:57 2015 -0800 [media] v4l2-subdev: support new 'which' field in enum_mbus_code Support the new 'which' field in the enum_mbus_code ops. Most drivers do not need to be changed since they always return the same enumeration regardless of the 'which' field. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 20058f90916b7ed5e986c399240f58d9af8892e0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:56 2015 -0800 [media] v4l2-subdev.c: add 'which' checks for enum ops Return an error if an invalid 'which' valid is passed in. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e1c47e732cbb4211d15ae0c4465dc4ceefcaa398 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:55 2015 -0800 [media] v4l2-subdev.h: add 'which' field for the enum structs While all other pad ops allow you to select whether to use the 'try' or the 'active' formats, the enum ops didn't have that option and always used 'try'. However, this will fail if a simple (e.g. PCI) bridge driver wants to use the enum pad op of a subdev that's also used in a complex platform driver like the omap3. Such a bridge driver generally wants to enum formats based on the active format. So add a new 'which' field to these structs. Note that V4L2_SUBDEV_FORMAT_TRY is 0, so the default remains TRY (applications need to set reserved to 0). Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f7234138f14c2296c5eb6b8224abe00b507faf3f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Mar 4 01:47:54 2015 -0800 [media] v4l2-subdev: replace v4l2_subdev_fh by v4l2_subdev_pad_config If a subdevice pad op is called from a bridge driver, then there is no v4l2_subdev_fh struct that can be passed to the subdevice. This made it hard to use such subdevs from a bridge driver. This patch replaces the v4l2_subdev_fh pointer by a v4l2_subdev_pad_config pointer in the pad ops. This allows bridge drivers to use the various try_ pad ops by creating a v4l2_subdev_pad_config struct and passing it along to the pad op. The v4l2_subdev_get_try_* macros had to be changed because of this, so I also took the opportunity to use the full name of the v4l2_subdev_get_try_* functions in the __V4L2_SUBDEV_MK_GET_TRY macro arguments: if you now do 'git grep v4l2_subdev_get_try_format' you will actually find the header where it is defined. One remark regarding the drivers/staging/media/davinci_vpfe patches: the *_init_formats() functions assumed that fh could be NULL. However, that's not true for this driver, it's always set. This is almost certainly a copy and paste from the omap3isp driver. I've updated the code to reflect the fact that fh is never NULL. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Tested-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d5ae685f15307c85c6267c5a2be9ba3d70eb3297 Author: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Date: Sat Mar 21 21:04:59 2015 -0700 Input: add Broadcom iProc touchscreen driver Add initial version of the Broadcom touchscreen driver. Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 98dc0703735d9cfc483522d5ffbce0c0b07c1f86 Author: Ramiro Morales <cramm0@xxxxxxxxx> Date: Mon Mar 23 10:33:07 2015 -0700 Input: synaptics - add quirk for Thinkpad E440 Its ClickPad shares PNP ID "LEN2006" with the one in model E540 which is already handled by the driver (both are Haswell iterations of the Edge line, launched in 2014) but the dimensions it reports are different: $ sudo ./touchpad-edge-detector /dev/input/event3 Touchpad SynPS/2 Synaptics TouchPad on /dev/input/event3 Move one finger around the touchpad to detect the actual edges Kernel says: x [1472..5044], y [1408..3398] Touchpad sends: x [1024..5045], y [2457..4832] /^C Fortunately we can use the board ID, which is also different, to distinguish among them. $ dmesg | grep -i synaptics psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x127c00, board id: 2691, fw id: 1494646 psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0 input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input4 Board ID in E540 is 2722: psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x127c00, board id: 2722, fw id: 1484859 (from https://launchpadlibrarian.net/179702965/BootDmesg.txt) Signed-off-by: Ramiro Morales <cramm0@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit eeebc3bb4d5d7edb56cb594e8f0ec2cfb10c2518 Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Feb 2 16:32:46 2015 +0100 ARM: cpuidle: Remove duplicate header inclusion The cpu_do_idle() function is always used by the cpuidle drivers. That led to have each driver including cpuidle.h and proc-fns.h, they are always paired. That makes a lot of duplicate headers inclusion. Instead of including both in each .c file, move the proc-fns.h header inclusion in the cpuidle.h header file directly, so we can save some line of code. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit d4f9dcd1ac94e61e097951fd3dfb1cdf000a2660 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Mar 23 14:07:48 2015 +0200 spi: omap-uwire: Remove needless include asm/irq.h asm/irq.h is already included by linux/interrupt.h. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 22d1b94d4b04878a6d1514a21af04699bd27e0ce Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Mar 23 14:07:47 2015 +0200 spi: pxa2xx: Remove needless includes These asm/io.h, asm/irq.h and asm/delay.h are needless since they are already included by linux/io.h via drivers/spi/spi-pxa2xx.h, linux/interrupt.h and linux/delay.h. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 188933ac139a6f8ab06cad369bd0200af947b00d Merge: 4ed0e03 bc465aa Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 23 09:18:27 2015 -0700 Merge tag 'v4.0-rc5' into next Merge with the latest upstream to synchronize Synaptics changes and bring in new infrastructure pieces. Conflicts: drivers/input/mouse/synaptics.c commit c164c147c9a0a371c4710186972a02b6ee2eb984 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Mar 21 20:29:34 2015 -0700 Input: ALPS - fix max coordinates for v5 and v7 protocols Commit 3296f71cd2fde7a2ad52e66a27eae419f6328066 ("Input: ALPS - consolidate setting protocol parameters") inadvertently moved call to alps_dolphin_get_device_area() from v5 to v7 protocol, causing both protocols report incorrect maximum values for X and Y axes which resulted in crash in Synaptics X driver. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94801 Reported-by: Santiago Gala <sgala@xxxxxxxxxx> Reported-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4ed0e032c3cf27c6fabc154164d003c4e0ac4654 Author: Jens Thiele <karme@xxxxxxxx> Date: Mon Mar 23 09:04:56 2015 -0700 Input: sun4i-ts - allow controlling filter and sensitivity via DT This commit introduces two new optional device-tree properties: "tp-sensitive-adjust": adjust sensitivity of pen down detection "filter-type": select median and averaging filter The previous fixed defaults, didn't work well for the Olimex A13-LCD10TS (I have). Signed-off-by: Jens Thiele <karme@xxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2c7da8c590ad719796f46c875a096eb45ef971c7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Mar 2 12:56:12 2015 -0500 perf annotate: Allow annotation for decompressed kernel modules Decompressing kernel module file for objdump command if needed. Annotation commands now display annotation for compressed kernel modules. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-x4jcytk2d5qjmnjvb0w75q3f@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bc84f464862489e687c98dea1a8ff20dc4413f93 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Feb 17 17:31:18 2015 +0100 perf tools: Try to lookup kernel module map before creating one Currently we assume machine__new_module is called only once for each module so we create its map&dso unconditionally. However it's possible that it's called multiple times for same module. Like for perf record: 1) via machine__create_module during machine init 2) via kernel MMAP event processing Trying to lookup kernel module map before creating one. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kx76xfqpnrpho5hdaapbqm09@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 907fb509f0f1e35848d9e20b00176319af79101c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:49:41 2015 +0100 perf tools: Remove is_kmodule_extension function Because it's no longer needed. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-bb84vlg76t78q8y8fdeed2qn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e746b3ea0d414b3382bb61c8cecc45cefb370fbf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:16:34 2015 +0100 perf tools: Remove compressed argument from is_kernel_module We no longer need the 'compressed' argument, because all current users use 'NULL' for it. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d72q2s7ggbmy2yzhumux4zzw@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8dee9ff110f11fa536caef3cd2da23b74dceaf5b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 15:56:21 2015 +0100 perf tools: Use kmod_path__parse in is_kernel_module Replacing the current parsing code with kmod_path__parse function call. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-r9mpbbgkp39wp1cdmv13ddq0@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 914f85c4a2db34429b146a57652d2db24d063379 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:27:50 2015 +0100 perf tools: Use kmod_path__parse in decompress_kmodule Replacing the file name parsing with kmod_path__parse. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-zpyyitlte7lwe2ywi51rj4n5@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 27798365a60eaa61d8d9010466ffd57368b98ba9 Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:26 2015 +0000 drm: atomic: Allow setting CRTC active property Before, we would set the property, but also return -EINVAL because of a broken fallthrough. Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8f164ce41d1beaebfde99bcbf8bdaafb868eb7ae Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:25 2015 +0000 drm: atomic: Expose CRTC active property Active was here, and we allowed users to set it, but not to get it as well. Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5a27528ade3f5714e565db3c0dd35b6b3f7c1f31 Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:03 2015 +0000 drm: crtc_helper: Update hwmode before mode_set call Just as we provide crtc->mode pre-populated with the requested mode, move adjusted_mode into hwmode before we call the crtc's mode_set, making sure to restore it on failure. Allows drivers which thoughtlessly discard adjusted_mode in their mode_set hooks (e.g. Exynos) to use hwmode directly, and also provides some neat symmetry with crtc->mode. Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 54270952e9a83aebf31d16ded28e6757fdf8c88b Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:02 2015 +0000 drm: mode: Allow NULL modes for equality check Since we're now using mode == NULL to represent disabled, it's not wholly surprising that we'd want to compare NULL modes. Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f3af5c7ddd9af8a466a725c6ba8ae2414aa19113 Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:01 2015 +0000 drm: fb_helper: Simplify exit condition mode is always NULL at this point in the function, so make our intention clear. Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> [danvet: Stop clearing mode too to enlist gcc in tracking uninitialized usage. And remove a space while at it.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 448002471bf6cc34069c2b34a2727abeba079834 Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Thu Mar 19 04:33:00 2015 +0000 drm: mode: Fix typo in kerneldoc Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fb8c5e49887e21817fa2b63d296c378b847bb500 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 13:38:57 2015 +0200 drm/dp: Print the number of bytes processed for aux nacks When doing a native or i2c aux write the sink will indicate the number of bytes written even if it the nacks the transfer. When we receive a nack we just return an error upwards, but it might still be interesting to see how many bytes made it before the nack. So include that information in the debug messages. v2: Also print the message size (Jani) 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 3c56b3a12ce52f361468cbdd2f79b2f3b8da0ea6 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Mar 20 13:55:39 2015 +0100 xen/balloon: before adding hotplugged memory, set frames to invalid Commit 25b884a83d487fd62c3de7ac1ab5549979188482 ("x86/xen: set regions above the end of RAM as 1:1") introduced a regression. To be able to add memory pages which were added via memory hotplug to a pv domain, the pages must be "invalid" instead of "identity" in the p2m list before they can be added. Suggested-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.16+ Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 633d6f17cd91ad5bf2370265946f716e42d388c6 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Mar 20 13:55:38 2015 +0100 x86/xen: prepare p2m list for memory hotplug Commit 054954eb051f35e74b75a566a96fe756015352c8 ("xen: switch to linear virtual mapped sparse p2m list") introduced a regression regarding to memory hotplug for a pv-domain: as the virtual space for the p2m list is allocated for the to be expected memory size of the domain only, hotplugged memory above that size will not be usable by the domain. Correct this by using a configurable size for the p2m list in case of memory hotplug enabled (default supported memory size is 512 GB for 64 bit domains and 4 GB for 32 bit domains). Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.19+ Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 3c42ae3645a7fd2605453de9947629fb7b26c95f Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Feb 25 19:04:05 2015 +0100 ARM: at91/dt: sama5d4: add rgb777 LCD line configuration For the SAMA5D4 SoC, some LCD lines are in conflict with useful peripherals. Remove these lines and the lowest significant bit of a 24 bit LCD. It gives us a RGB 777 configuration. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e9b93cf5d1dd8c37a82007fca6e54bff83eb503c Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Fri Feb 20 15:07:18 2015 +0100 ARM: at91/dt: sama5d4: fix LCD pins for RGB666 format The color arrangement for SAMA5D4 in RGB 666 takes the most significant bits of each color line groups. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7e60dd30656771ed7f33aae796f791586a1fb356 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 09:43:11 2014 +0200 ARM: at91/dt: sama5d4: add hlcdc node Add HLCDC node. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c5900a9edf3e21595a012116ab738d4758ce9912 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 09:42:18 2014 +0200 ARM: at91/dt: sama5d4: add lcdc pin definitions Add LCDC pin definitions. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit bb58a8a459c322196613ad4af8801de41469cebb Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:20:01 2015 +0100 perf tools: Use kmod_path__parse in map_groups__set_modules_path_dir Replacing the file name parsing with kmod_path__parse and moving the dso update into new separate function. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-q0ed76ajcyoaofotntrg5sla@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3c309ab8fa896ba74959c8a0523aee6c25b3b80f Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Feb 11 17:49:02 2015 +0100 ARM: at91/dt: sama5d3: add uart1 pinctrl definition Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit f1ea096c78db038e947b6a5393467d4f065e1669 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Nov 27 15:30:05 2013 +0100 ARM: at91/dt: sama5d3: add uart0 Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> commit e55668914dc6056146189c54975ddac01c0e0dbd Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 7 18:32:24 2014 +0200 ARM: at91/dt: define the HLCDC node available on sama5d3 SoCs Define the HLCDC (HLCD Controller) IP available on some sama5d3 SoCs (i.e. sama5d31, sama5d33, sama5d34 and sama5d36) in sama5d3 dtsi file. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Anthony Harivel <anthony.harivel@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ee839fdd9ff14fc94e8092aa6f35572b6f760e09 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 4 16:43:53 2014 +0200 ARM: at91/dt: add alternative pin muxing for sama5d3 lcd pins Define alternative pin muxing for the LCDC pins. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Anthony Harivel <anthony.harivel@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 42be876539299cab8cf7324db7332cd680fdd4b5 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 7 18:31:49 2014 +0200 ARM: at91/dt: split sama5d3 lcd pin definitions to match RGB mode configs The HLCDC (HLCD Controller) IP supports 4 different output mode (RGB444, RGB565, RGB666 and RGB888) and the pin muxing will depend on the chosen RGB mode. Split pin definitions to be able to set pin config according to the selected mode. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Anthony Harivel <anthony.harivel@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 87003229119ee1e18660d6be6209f44167ba6c6e Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 19 17:41:41 2015 +0100 ARM: at91/dt: at91sam9n12ek: enable RTC Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5934973ddaf01beda9a0ce4f5efa7506ca8f8cb4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 19 17:23:13 2015 +0100 ARM: at91/dt: at91sam9x5cm: enable RTC Enable RTC for all the at91sam9x5 CPU Modules: this will enable it for all the EK boards. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4518996f90b1c2e04dfa15137dcafe59a47b59f7 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 08:35:38 2015 +0100 DT: video: atmel_lcdc: Add example of fixed framebuffer memory This drivers allows a fixed framebuffer memory to be set by an additional IORESOURCE_MEM resource. Thus add an example to the DT documentation. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ac04f85a733b6af1faa10f7603e98bf07d2c4203 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Mar 17 08:06:45 2015 +0800 iommu: ipmmu-vmsa: Add terminating entry for ipmmu_of_ids The of_device_id table is supposed to be zero-terminated. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 71684406905f98f86a85e008b51f5c4c5d83af5a Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Mar 4 11:30:10 2015 -0700 iommu/vt-d: Detach domain *only* from attached iommus Device domains never span IOMMU hardware units, which allows the domain ID space for each IOMMU to be an independent address space. Therefore we can have multiple, independent domains, each with the same domain->id, but attached to different hardware units. This is also why we need to do a heavy-weight search for VM domains since they can span multiple IOMMUs hardware units and we don't require a single global ID to use for all hardware units. Therefore, if we call iommu_detach_domain() across all active IOMMU hardware units for a non-VM domain, the result is that we clear domain IDs that are not associated with our domain, allowing them to be re-allocated and causing apparent coherency issues when the device cannot access IOVAs for the intended domain. This bug was introduced in commit fb170fb4c548 ("iommu/vt-d: Introduce helper functions to make code symmetric for readability"), but is significantly exacerbated by the more recent commit 62c22167dd70 ("iommu/vt-d: Fix dmar_domain leak in iommu_attach_device") which calls domain_exit() more frequently to resolve a domain leak. Fixes: fb170fb4c548 ("iommu/vt-d: Introduce helper functions to make code symmetric for readability") Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.17+ Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 83a60ed8f0b5ce550afd5802b60468578db4e055 Author: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 16:51:06 2015 +0100 iommu/arm-smmu: fix ARM_SMMU_FEAT_TRANS_OPS condition This patch is a fix to "iommu/arm-smmu: add support for iova_to_phys through ATS1PR". According to ARM documentation, translation registers are optional even in SMMUv1, so ID0_S1TS needs to be checked to verify their presence. Also, we check that the domain is a stage-1 domain. Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1fc0a8f7c45275c38d3322089313fe2e309c1f17 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:38 2015 +0000 drm/i915/skl: Take 90/270 rotation into account in watermark calculations v2: Pass in rotation info to sprite plane updates as well. v3: Use helper to determine 90/270 rotation. (Michel Thierry) v4: Rebased for fb modifiers and atomic changes. For: VIZ-4546 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v3) Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 121920faf2ccce9aa66a7e2588415c9647b66104 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:37 2015 +0000 drm/i915/skl: Query display address through a wrapper Need to do this in order to support 90/270 rotated display. v2: Pass in drm_plane instead of plane index to intel_obj_display_address. v3: * Renamed intel_obj_display_address to intel_plane_obj_offset. (Chris Wilson) * Simplified rotation check to bitwise AND. (Chris Wilson) v4: * Extracted 90/270 rotation check into a helper function. (Michel Thierry) v5: * Rebased for ggtt view changes. For: VIZ-4545 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 50470bb011c4be278097670bea92462f4e8c8945 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:36 2015 +0000 drm/i915/skl: Support secondary (rotated) frame buffer mapping 90/270 rotated scanout needs a rotated GTT view of the framebuffer. This is put in a separate VMA with a dedicated ggtt view and wired such that it is created when a framebuffer is pinned to a 90/270 rotated plane. Rotation is only possible with Yb/Yf buffers and error is propagated to user space in case of a mismatch. Special rotated page view is constructed at the VMA creation time by borrowing the DMA addresses from obj->pages. v2: * Do not bother with pages for rotated sg list, just populate the DMA addresses. (Daniel Vetter) * Checkpatch cleanup. v3: * Rebased on top of new plane handling (create rotated mapping when setting the rotation property). * Unpin rotated VMA on unpinning from display plane. * Simplify rotation check using bitwise AND. (Chris Wilson) v4: * Fix unpinning of optional rotated mapping so it is really considered to be optional. v5: * Rebased for fb modifier changes. * Rebased for atomic commit. * Only pin needed view for display. (Ville Syrjälä, Daniel Vetter) v6: * Rebased after preparatory work has been extracted out. (Daniel Vetter) v7: * Slightly simplified tiling geometry calculation. * Moved rotated GGTT view implementation into i915_gem_gtt.c (Daniel Vetter) v8: * Do not use i915_gem_obj_size to get object size since that actually returns the size of an VMA which may not exist. * Rebased for ggtt view changes. v9: * Rebased after code review changes on the preceding patches. * Tidy function definitions. (Joonas Lahtinen) For: VIZ-4726 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v4) Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f64b98cd2e40052c17f67f09a081ff292bac0f77 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:35 2015 +0000 drm/i915: Helper function to determine GGTT view from plane state For now only default implementation defaulting to normal view. v2: Some code review cleanups. (Joonas Lahtinen) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> (v2) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 82bc3b2daa78d99b5c93ef17e8b660e56447c935 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:34 2015 +0000 drm/i915: Pass in plane state when (un)pinning frame buffers Plane state carries the rotation information which is needed for determining the appropriate GGTT view type. This just adds the parameter with the actual usage coming in future patches. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e6617330920fdc705220f57a7dd6f8c7da4ae21d Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:33 2015 +0000 drm/i915: Use GGTT view when (un)pinning objects to planes To support frame buffer rotation we need to be able to pass on the information on what kind of GGTT view is required for display. This patch just adds the parameter and makes all the callers default to the normal view. v2: Rebased for ggtt view changes. v3: Don't limit PIN_MAPPABLE to normal views just yet. (Joonas Lahtinen) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> (v3) [danvet: s/BUG/WARN/ in the patch hunk because. At least where the BUG_ON isn't fatal right away.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6761dd3185a76c5d9ae0141e08f123d97d7f303b Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Mar 23 11:10:32 2015 +0000 drm/i915/skl: Extract tile height code into a helper function It will be used in a later patch and also convert all height parameters from int to unsigned int. v2: Rebased for fb modifiers. v3: Fixed v2 rebase. v4: * Height should be unsigned int. * Make it take pixel_format for consistency and simplicity. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v1) Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> (v4) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 34061f134f70d33296fa56678cee122dd7010401 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 23 14:03:59 2015 +0100 x86/asm/entry/64: Fix incorrect comment The recent old_rsp -> rsp_scratch rename also changed this comment, but in this case "old_rsp" was not referring to PER_CPU(old_rsp). Fix this. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1427115839-6397-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2530fd73252890320e6dac87bc3b854da27d594a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:59:07 2015 +0100 mmc: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 303dbedc3152b0a3828ea881b446c2e2a247662f Author: NeilBrown <neilb@xxxxxxx> Date: Tue Feb 24 13:42:23 2015 +1100 mmc: core: fold mmc_set_bus_width calls into sdio_enable_4bit_bus. Every call to sdio_enable_4bit_bus is followed (on success) by a call to mmc_set_bus_width(). To simplify the code, include those calls directly in sdio_enable_4bit_bus(). Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a1cb1d1114d3258487321f822457f74ed897068c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Mar 13 13:39:03 2015 +0100 MAINTAINERS: mmc: Cleanup MMC/SD/SDIO section and SDHCI driver section As Chris Ball has moved on to other assignments, he's no longer able to help me maintain MMC. Let's remove him from the MMC sections in MAINTAINERS and add him to CREDIT file. This also affects the SDHCI DRIVER section, since its state now becomes orphan. Cc: Chris Ball <chris@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Chris Ball <chris@xxxxxxxxxx> commit 2b6f9b81539a8a462e96f2bb22e804ecd5ee5ca0 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Mar 13 13:25:25 2015 +0100 MAINTAINERS: mmc: Remove the SDHCI-OF section Anton told me that he isn't maintaing the SDHCI-OF parts anymore, so let's remove him from this section to avoid confusion. Morover, since the SDHCI-OF section overlaps with the SDHCI DRIVER section, let's just remove it completely. Cc: Anton Vorontsov <anton@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a4101dcb44c2adabafc5680ce1ecc109b59e2175 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 10 16:36:36 2015 +0100 mmc: sunxi: add MMC_CAP_SDIO_IRQ capability When the sunxi mmc-controller code was initially merged MMC_CAP_SDIO_IRQ was not added to the host caps because of issues with some sdio wifi modules. It turns out that these issues have nothing to do with using sdio-irq support, they also happen with oob interrupts. Since the hardware supports sdio-irq everywhere, and since the one reason to not claim the capability is gone, add MMC_CAP_SDIO_IRQ to the default host caps. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b1ddaa3d066f28b626a15b15b0dc377fee2e2406 Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Thu Mar 12 18:11:01 2015 -0700 mmc: sdhci-iproc: fix oops in sdhci_iproc_writew The driver co-allocates sdhci_iproc_host with sdhci_pltfm_host and so to access it we need to use sdhci_pltfm_priv() and not pltfm_host->priv. Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 04e079cf6b24c794bbc52b04b370f84cb728540e Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Tue Mar 10 11:35:10 2015 -0700 mmc: sdhci: fix card presence logic in sdhci_request function The sdhci_request function should consider a non-removable device always present. Call the correct logic already available in sdhci_do_get_cd function. This fixes some logic paths where MMC requests are being made to non-removable devices that do not have the card detect pin connected on the hardware as it is non-removable. Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 03a6d291047da60d56514c28fa1314235bdf2037 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Mar 4 16:30:07 2015 +0100 mmc: sdhci-spear: Remove exported header Move the member for card_int_gpio into the struct spear_sdhci. In this way we eliminate the last user of the struct sdhci_plat_data, which enables us to remove the exported header for sdhci-spear. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bbd7f0a20f76d079199d6d749cb3da07d345bae3 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Mar 4 14:57:44 2015 +0100 mmc: sdhci-spear: Simplify by adding build dependency to CONFIG_OF This driver is used on SoCs which are using CONFIG_OF. By adding a compile dependency in the Kconfig, it enables us to simplify some code. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 83f13cc9af9822cacc6644ee3c63c81f3930ddad Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Mar 4 10:19:14 2015 +0100 mmc: sdhci: Remove the sdhci exported header file Since there no users of the struct sdhci_host, but the shdci host drivers themselves, let's move the definition of it to the local sdhci header. The exported sdhci header then becomes empty, so let's remove it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5ec358201eceaf599b0f35bd60ed8be3c4752e37 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Wed Feb 4 14:33:53 2015 +0800 mmc: sdhci-pltfm: remove the unneeded check of disabled device Since commit cd1e65044d44 ("of/device: Don't register disabled devices"), the disabled device will not be registered at all. So we don't need to do the check again in the platform device driver. And the check in the current code is useless even if we really run into a disabled device. In this case, it just doesn't parse the dtb for the infos such as quirks or clock, but it will continue to try to init the disabled device after that check. So just remove it. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 01df7ecd90e94186f9a736a1c58b56e23830f061 Author: Rhyland Klein <rklein@xxxxxxxxxx> Date: Wed Feb 11 12:55:51 2015 -0500 mmc: tegra: Optimize write_w path for tegra114 and later Setup a different set of sdhci_ops for tegra114 and later so that the write_w callback is only used on tegra114. This allows us to remove the NVQUIRK_SHADOW_XFER_MODE_REG and simply the logic in tegra_sdhci_writew. Suggested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Rhyland Klein <rklein@xxxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit dbb42d962c4149fe2e97f74bf1343b5229eefe5e Author: Kouichi Tomita <kouichi.tomita.yn@xxxxxxxxxxx> Date: Sun Feb 15 23:46:46 2015 +0900 mmc: sh_mmcif: Add exclusion between cmd and interrupt A command end interrupt should not be processed between command issue and setting of wait_for flag. It expects already the flag to be set. Therefore the exclusive control was added. Signed-off-by: Kouichi Tomita <kouichi.tomita.yn@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4cbd52246533d1dc6449ef8278e95e5e0944a1e5 Author: Kouichi Tomita <kouichi.tomita.yn@xxxxxxxxxxx> Date: Sun Feb 15 23:46:47 2015 +0900 mmc: sh_mmcif: Move dev_err() of mmcif_timeout_work() If interruption of command already occurred, mrq pointer in dev_err() would refer to NULL, because the host-state is changed to STATE_IDLE and mrq pointer is changed to NULL by interrupt handler. Therefore dev_err is moved after checking STATE_IDLE. Signed-off-by: Kouichi Tomita <kouichi.tomita.yn@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit daa3054f5772b14dd073a2b95fd0353faec0fcc5 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Mon Feb 23 11:30:40 2015 +0100 mmc: Fix hardware dependencies for sdhci-pxav3 It was brought to my attention that the sdhci-pxav3 driver is needed on a few more ARM machines than I initially thought. Add the missing architectures to the dependency list. Credits to Peter Robinson for noticing my mistake and reporting. Reported-by: Peter Robinson <pbrobinson@xxxxxxxxx> Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Chris Ball <chris@xxxxxxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Cc: Eric Miao <eric.y.miao@xxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0f12a0ce4ce4a47d8a34399a3f22d4ce7fd2d908 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Feb 12 13:36:11 2015 +0900 mmc: pwrseq: simplify alloc/free hooks The alloc() and free() hooks required each pwrseq implementation to set host->pwrseq themselves. This is error-prone and could be done at a higher level if alloc() was changed to return a pointer to a struct mmc_pwrseq instead of an error code. This patch performs this change and moves the burden of maintaining host->pwrseq from the power sequence hooks to the pwrseq code. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d34712d2e3db9b241d0484a6e3839c6b7ef9df78 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Feb 24 10:47:27 2015 +0100 mmc: sunxi: avoid invalid pointer calculation The sunxi mmc driver tries to calculate a dma address by using pointer arithmetic, which causes a warning when dma_addr_t is wider than a pointer: drivers/mmc/host/sunxi-mmc.c: In function 'sunxi_mmc_init_idma_des': drivers/mmc/host/sunxi-mmc.c:296:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] struct sunxi_idma_des *pdes_pa = (struct sunxi_idma_des *)host->sg_dma; ^ To avoid this warning and to simplify the logic, this changes the code to avoid the cast and calculate the correct address manually. The behavior should be unchanged. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: David Lanzendörfer <david.lanzendoerfer@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5f2e097ce0894c0882577cebf44f4e1db01d9f98 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Feb 26 20:08:21 2015 +0800 mmc: kconfig: replace PPC_OF with PPC The PPC_OF is a ppc specific option which is used to mean that the firmware device tree access functions are available. Since all the ppc platforms have a device tree, it is aways set to 'y' for ppc. So it makes no sense to keep a such option in the current kernel. Replace it with PPC. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b580c52d58d92f1e054c8b4515cf0fa617a77a26 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Mon Feb 9 16:06:30 2015 -0800 mmc: sdhci-iproc: add IPROC SDHCI driver Add IPROC SDHCI driver for IPROC family of Broadcom devices. Acked-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Corneliu Doban <cdoban@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 61fe2f80f82d7596c9046e90794e1675617c9a26 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Mon Feb 9 16:06:31 2015 -0800 mmc: sdhci-iproc: add device tree bindings Add device tree binding documentation for IPROC SDHCI driver. Acked-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Corneliu Doban <cdoban@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 85cc1c33196abd0640e0195389c6683661afb83c Author: Corneliu Doban <cdoban@xxxxxxxxxxxx> Date: Mon Feb 9 16:06:29 2015 -0800 mmc: sdhci: do not set AUTO_CMD12 for multi-block CMD53 For CMD53 in block mode, the host does not need to stop the transfer, as it stops when the block count (present in CMD53) is reached. Signed-off-by: Corneliu Doban <cdoban@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3bfa6f030a01870a43e2a0652437a20b59bc3412 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Mon Feb 9 16:06:28 2015 -0800 mmc: sdhci: add quirk for ACMD23 broken Add quirk to handle broken auto-CMD23. Some controllers do not respond after the first auto-CMD23 is issued. This allows CMD23 to still work (mandatory for the faster UHS-I mode) rather than disabling CMD23 entirely via SDHCI_QUIRK2_HOST_NO_CMD23. Signed-off by: Corneliu Doban <cdoban@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit eeed7026b4b2840dcc771c3a23783425b50bd6ef Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Feb 26 23:37:55 2015 +0300 mmc: sdhci-esdhc-imx: silence a false curly braces warning Static checkers suggest that probably we intended to put curly braces around the writel() to make it part of the else path. But, I think actually the indenting is off and the code works fine as is. The stray tab was introduced in 0322191e6298 ('mmc: sdhci-esdhc-imx: add sd3.0 SDR clock tuning support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 13a6a2ed1f5e77ae47c2b1a8e3bf22b2fa2d56ba Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Feb 18 17:34:59 2015 +0100 mmc: tmio: Remove bogus un-initialization in tmio_mmc_host_free() If CONFIG_DEBUG_SLAB=y: sh_mobile_sdhi ee100000.sd: Got CD GPIO sh_mobile_sdhi ee100000.sd: Got WP GPIO platform ee100000.sd: Driver sh_mobile_sdhi requests probe deferral ... Slab corruption (Not tainted): kmalloc-1024 start=ed8b3c00, len=1024 2d0: 00 00 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b ....kkkkkkkkkkkk Prev obj: start=ed8b3800, len=1024 000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk 010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk Struct tmio_mmc_host is embedded inside struct mmc_host, and thus is freed by the call to mmc_free_host(). Hence it must not be written to afterwards, as that will corrupt freed (and perhaps already reused) memory. Fixes: 94b110aff8679b14 ("mmc: tmio: add tmio_mmc_host_alloc/free()") Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c22f5e1b1c551e22bbdcd747182c0c4920949d32 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Thu Mar 5 18:02:54 2015 +0800 mmc: dw_mmc: exynos: dw_mci_exynos_prepare_hs400_tuning() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3d3bbfbdfd61201f8363360bc680590399d4d93b Author: Russ Dill <Russ.Dill@xxxxxx> Date: Fri Feb 27 13:24:34 2015 +0200 mmc: omap_hsmmc: add hibernation support Setting a dev_pm_ops suspend/resume pair but not a set of hibernation functions means those pm functions will not be called upon hibernation. Fix this by using SET_SYSTEM_SLEEP_PM_OPS, which appropriately assigns the suspend and hibernation handlers and move omap_hsmmc_x callbacks under CONFIG_PM_SLEEP to avoid build warnings. Signed-off-by: Russ Dill <Russ.Dill@xxxxxx> [Grygorii.Strashko@xxxxxxxxxx: rebased on top of K4.0] Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit cde592cbe53fdfbcffb3b5ed01eca35b1b811bb6 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Mar 3 13:28:15 2015 +0100 mmc: omap_hsmmc: use distinctive code paths for cover / card detect logic Mobile phones (some) have no card detect pin, but can detect if the cover is removed. The purpose is the same; detect if card is being added/removed, but the details differ. When the cover is removed, it does not mean the card is gone. But it might, since it is accessible now. It's like a warning. All the driver does is to limit write access to the card, see protect_card flag. In contrast, card detect notifies us after the fact, e.g. card is gone, card is inserted. We can't take precautions, but we can rely on those events, -- the card is really gone, or do scan the card. To summarize there is not much code sharing between cover and card detect, it only increases confusion. By splitting, both will be simplified in a followup patch. Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a49d83537b7151aae7292fbdf77d5a4710ef1d60 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Mar 3 13:28:14 2015 +0100 mmc: omap_hsmmc: use slot-gpio functions to manage read-only pin directly The indirection via omap_hsmmc_get_ro and omap_hsmmc_get_wp is redundant. Also dropped setting gpio_wp to EINVAL since platform date is read-only Untested: no device with ro pin was available, but change is fairly simple Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f048968f8e6c1e124aa05f168340bcdf18f0f0dd Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Mar 3 13:28:13 2015 +0100 mmc: omap_hsmmc: remove unused fields from struct omap_hsmmc_host addon to: 09108968b7b72b6083a3bfc8f8259a74ed57255e mmc: omap_hsmmc: remove prepare/complete system suspend support Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9e71c589e44ddf2b86f361c81e360c6b0d0354b1 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Mar 3 09:44:40 2015 +0800 mmc: sunxi: Use devm_reset_control_get_optional() for reset control The reset control for the sunxi mmc controller is optional. Some newer platforms (sun6i, sun8i, sun9i) have it, while older ones (sun4i, sun5i, sun7i) don't. Use the properly stubbed _optional version so the driver does not fail to compile when RESET_CONTROLLER=n. This patch also adds a check for deferred probing on the reset control. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.16+ Acked-by: David Lanzendörfer <david.lanzendoerfer@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit caebcae94fc01aef409ea0cabf0c327b6c23840e Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:31 2015 +0800 mmc: sdhci: set the .remove to sdhci_pltfm_unregister() In these drivers, the driver specific .remove function just a simple wrapper of function sdhci_pltfm_unregister(). So remove these wrappers and just set .remove to sdhci_pltfm_unregister(). Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 83eacdfa2529b4ee97fe16a3a3a41d1b03465e13 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:30 2015 +0800 mmc: sdhci: disable the clock in sdhci_pltfm_unregister() So we can avoid to sprinkle the clk_disable_unprepare() in many drivers. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2290fcb341a07cc22c0f7f7d529c137a78039cdf Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:29 2015 +0800 mmc: sdhci-bcm-kona: kill the "external_clk" member in driver private struct Actually we can use the "clk" in the struct sdhci_pltfm_host. Also change the "external clock" to "core clock" and kill two redundant private functions in this driver as suggested by Ray Jui. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e46af2987b9228d213d2399e69a8741ad805c293 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:28 2015 +0800 mmc: sdhci-sirf: kill the "clk" member in driver private struct Actually we can use the "clk" in the struct sdhci_pltfm_host. With this change we can also kill the private function for get max clock in this driver. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e4f79d9ca21810a606ecce9067b8b037a5511413 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:27 2015 +0800 mmc: tegra: use devm help functions to get the clk and gpio Simplify the error and remove path. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 35daeede227051e7fe91aee33d57dd7b0077e660 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:26 2015 +0800 mmc: sdhci-dove: kill the driver specific private struct There is only one "clk" member in this driver specific private struct. Actually we can use the "clk" member in the struct sdhci_pltfm_host, and then kill this struct completely. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6a4a34a413d896d1efe5a582a3bb8e435da65c1a Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Feb 27 15:47:25 2015 +0800 mmc: sdhci-dove: remove the unneeded error check The function clk_disable_unprepare() already take care of either error or null cases. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b36ac1b43ebcd8b63cbfb35c54edb7bd577ad15b Author: weijun yang <york.yang@xxxxxxx> Date: Sun Feb 15 23:43:51 2015 +0800 mmc: sirf: update sdhci_sirf_execute_tuning procedure For the original tuning code, delay value is set to SD Bus Clock Delay Register (SD_CLK_DELAY_SETTING) as (val | (Val << 7) | (val << 16)), which means CLK_DELAY_IN1, CLK_DELAY_IN2 and CLK_DELAY_OUT are the same and with 128 steps. This is doubtful. In CSR design specification documents CS-304575-DR-3H, this issue is clarified, the delay[13:0] in SD_CLK_DELAY_SETTING is simplied to the concatenation of {CLK_DELAY_IN2, CLK_DELAY_IN1}. Besides, for CMD19 tuning, no need to set CLK_DELAY_OUT([22,16] of SD_CLK_DELAY_SETTING). Signed-off-by: weijun yang <york.yang@xxxxxxx> Signed-off-by: Barry Song <baohua.song@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ed2540effa70097f8e74aeaa83525dea7ccfc47a Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Feb 25 10:11:52 2015 -0800 mmc: dw_mmc: Don't crash if we get an interrupt before slot has initted It's unlikely that this is really needed on any single-slot systems where we disable card detects until the end of probe, but it still seems safer to check to make sure that a slot has been initted before we try to dereference it to find the SDIO interrupt mask. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fa0c328343c6314364d3678334f5a8854e086f11 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Feb 25 10:11:51 2015 -0800 mmc: dw_mmc: Only enable CD after setup and only if needed We really don't want to get a card detect interrupt during probe time since it can confuse things. Let's disable the card detect interrupt until we're in a really good place: the end of probe. Let's also simply avoid enabling the card detect interrupt if it's not used. It appears that (at least on rk3288) when vqmmc is turned on it can cause a bogus "card detect" interrupt. That meant that we were getting a predictable card detect interrupt while we were in mmc_add_host(). On the version of the kernel I'm working with at least (3.14), this is not a great time to get a card detect interrupt since I think that we don't grab all the needed locks in mmc_add_host() and children. I put stack dumps in dw_mci_setup_bus() and found that I could see two distinct stack crawls that looked like: Caller one: * dw_mci_setup_bus * dw_mci_set_ios * mmc_power_up * mmc_start_host * mmc_add_host Caller two: * dw_mci_setup_bus * dw_mci_set_ios * mmc_set_chip_select * mmc_go_idle * mmc_rescan * process_one_work * worker_thread * kthread Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0bdbd0e88cf6b603a2196418672715b0890fb040 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Feb 20 12:31:56 2015 -0800 mmc: dw_mmc: Don't start commands while busy We've seen problems on some WiFi modules where we seem to send a CMD53 (which requires the data lines) while the module is asserting busy. We shouldn't do that. The Designware Databook says that before issuing a new data transfer command we should check for busy, so that's what we'll do. We'll leverage the existing dw_mmc knowledge about whether it should wait for the previous command to finish to know whether we should check for busy before sending the command. This means we won't end up incorrectly waiting for things like CMD52 (SDIO) or CMD13 (SD) which don't use the data line. Note that this also has the advantage of making sure that we don't change the clock while the card is busy, too. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d1f1dd86006c668aea2014b524b0d5e7bec3edca Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Feb 20 10:57:19 2015 -0800 mmc: dw_mmc: Give a good reset after we give power We should give dw_mmc a good reset after we apply power. On some boards vqmmc may actually be connected to the IP block in the SoC so it's good to reset after power comes in. Without this we sometimes see failures enumerating cards on rk3288. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 655babbde6fdbd5a4a4072b7cdd8b1fb1a23db24 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Feb 20 10:57:18 2015 -0800 mmc: dw_mmc: Make sure we only adjust the clock when power is on It appears that we can confuse things if we try to turn on the MMC clock when the power is off. Adjust is so that we turn the clock on (using dw_mci_setup_bus) after power is all the way on and we turn the clock off before the power goes off. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bdb9a90b3d123d9d421dd840c0f7fba1d1dfeba2 Author: addy ke <addy.ke@xxxxxxxxxxxxxx> Date: Fri Feb 20 10:55:25 2015 +0800 mmc: dw_mmc: fix mmc_test by not sending abort for DRTO/EBE errors The STOP command can terminate a data transfer between a memory card and mmc controller. As show in Synopsys DesignWare Cores Mobile Storage Host Databook: Data timeout and Data end-bit error will terminate further data transfer by mmc controller. So we should not send abort command to terminate a data transfer again if we got DRTO and EBE interrupt. After this patch, all mmc_test cases can pass on RK3288-Pink2 board. Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6d53200b51a57f50bc5a98b36bfcdb47483ad61a Author: addy ke <addy.ke@xxxxxxxxxxxxxx> Date: Fri Feb 20 10:37:40 2015 +0800 mmc: dw_mmc: rockchip: add support MMC_CAP_RUNTIME_RESUME capability To support HS200 and UHS mode, mmc core will call init_card() to execute tuning: - sdio: init_card can be executed at runtime resume. - sd and mmc: init_card can be executed at resume or runtime resume, which depends on MMC_CAP_RUNTIME_RESUME capability. On rk3288 SoC, host will get DRTO interrupt when host send command to read tuning data. This will spend more than 111ms: drto_ms = drto_clks * 1000 / bus_hz = 111ms. And the total tuning time will be more than 400ms. So we should add MMC_CAP_RUNTIME_RESUME capability to execute tuning at runtime resume. Only if we do so, can we pass resume test. Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 801131321a0c53052084c10144dc07a061229f3f Author: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Date: Thu Jan 29 08:11:57 2015 +0530 mmc: dw_mmc: exynos: Support eMMC's HS400 mode Implements HS400 mode support for exynos host driver. This also include some updates as new mode is added. Signed-off-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> [Alim: addressed review comments] Tested-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 77008b70fe0a9ffe354580d9dfda329cdde7f20b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 12:41:31 2015 +0300 ALSA: echoaudio: read past end of array We need to cap "ucontrol->id.index / num_busses_in(chip)" so the we don't read beyond the end of the array. I also adding a check on "in" and changing the type in snd_echo_mixer_put() from short to unsigned int. Those changes are done for symmetry and are cosmetic. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 034f90b393a3d5c99654f048c4b22b3d05e3a345 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 12:34:46 2015 +0300 ALSA: ak411x: simplify snd_ak4113_create() a bit "err" is always a negative error code here, so there is no point in checking. Removing the check silences a static checker warning and makes the code a bit more clear. Also we don't need to initialize "err". Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 40ba66a702b83f46c53456eaaac692fc12f82cb0 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 13 15:56:25 2015 +0100 ALSA: hda - Add cache support for COEF read/write The 16bit COEF read/write is pretty standard for many codecs, and they can be cached in most cases -- more importantly, they need to be restored at resume. For making this easier, add the cache support to regmap. If the codec driver wants to cache the COEF access, set codec->cache_coef flag and issue AC_VERB_GET_PROC_COEF with the coef index in LSB 8 bits. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 33f819400659da9ff9f636b78f33ff4f1f08cbd4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 9 22:19:47 2015 +0100 ALSA: hda - Handle get/set power verb symmetrically via regmap HD-audio has quite a few asymmetrical ways of accessing verbs, and one of typical ones is GET/SET_POWER_STATE verbs. While it takes only the power state for setting, it returns a combination of states for getting. For making the state handling simpler, this patch adds a code to translate the value returned from GET_POWER_STATE to return only the actual state or -1 for error. In that way, the driver can simplify the power state management. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d313e0a88d1b29d17198ef659af042a633a2d3de Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Mar 4 20:43:20 2015 +0100 ALSA: hda - Add a fake stereo amp register support HD-audio spec is inconvenient regarding the handling of stereo volume controls. It can set and get only single channel at once (although there is a special option to set the same value to both channels). This patch provides a fake pseudo-register via the regmap access so that the stereo channels can be read and written by a single call. It'd be useful, for example, for implementing DAPM widgets. A stereo amp pseudo register consists of the encoding like the normal amp verbs but it has both SET_LEFT (bit 13) and SET_RIGHT (bit 12) bits set. The regmap reads and writes a 16bit value for this pseudo register where the upper 8bit is for the right chanel and the lower 8bit for the left channel. Note that the driver doesn't recognize conflicts when both stereo and mono channel registers are mixed. Mixing them would certainly confuse the operation. So, use carefully. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a551d91473e5e3a591f6fe86ac5a5fb460c3f96a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 12:34:49 2015 +0100 ALSA: hda - Use regmap for command verb caches, too Like the previous patches, this patch converts also to the regmap, at this time, the cached verb writes are the target. But this conversion needs a bit more caution than before. - In the old code, we just record any verbs as is, and restore them at resume. For the regmap scheme, this doesn't work, since a few verbs like AMP or DIGI_CONVERT are asymmetrical. Such verbs are converted either to the dedicated function (snd_hda_regmap_xxx_amp()) or changed to the unified verb. - Some verbs have to be declared as vendor-specific ones before accessing via regmap. Also, the minor optimization with codec->cached_write flag is dropped in a few places, as this would confuse the operation. Further optimizations will be brought in the later patches, if any. This conversion ends up with a drop of significant amount of codes, mostly the helper codes that are no longer used. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5e56bcea5017b7b7808df60f21ef01738b6e1a25 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 12:29:03 2015 +0100 ALSA: hda - Allow driver to add vendor-specific verbs for regmap Codecs may have own vendor-specific verbs, and we need to allow each driver to give such verbs for cached accesses. Here a verb can be put into a single array and looked through it at readable and writeable callbacks. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit faa75f8a2edf005a5caf43be4875ffeeb9bcb498 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 08:54:56 2015 +0100 ALSA: hda - Use regmap for parameter caches, too The amp hash table was used for recording the cached reads of some capability values like pin caps or amp caps. Now all these are moved to regmap as well. One addition to the regmap helper is codec->caps_overwriting flag. This is set in snd_hdac_override_parm(), and the regmap helper accepts any register while this flag is set, so that it can overwrite even the read-only verb like AC_VERB_PARAMETERS. The flag is cleared immediately in snd_hdac_override_parm(), as it's a once-off flag. Along with these changes, the no longer needed amp hash and relevant fields are removed from hda_codec struct now. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eeecd9d10d3da0b9efd6f58fad55c4355dcc246a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 25 15:18:50 2015 +0100 ALSA: hda - Use regmap for amp accesses This patch converts the amp access functions to the regmap helpers. The amp values were formerly cached in the own hash table. Now it's dropped by the regmap's cache. The only tricky conversion is snd_hda_codec_amp_init(). This function shouldn't do anything if the amp was already initialized. For achieving this behavior, a value is read once at first temporarily in the cache-only mode. Only if it returns an error, i.e. the item still doesn't exist in the cache, it proceeds to the update. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9ba17b4d132f56a680fa1ba0bc2a8f98b6263d93 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 3 23:29:47 2015 +0100 ALSA: hda - Implement uncached version of parameter reads Sometimes we need the uncached reads, e.g. for refreshing the tree. This patch provides the helper function for that and uses it for refreshing widgets, reading subtrees and the whole proc reads. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 01ed3c06c6d5e7e861650ae76117dd4194d87316 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 13:57:47 2015 +0100 ALSA: hda - Use regmap for codec parameter reads Let's start converting the access functions to regmap. The first one is the simplest, just converting the codec parameter read helper function snd_hda_param_read(). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4d75faa0448a6bb2fd6d56051a3675a3937cbada Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 25 14:42:38 2015 +0100 ALSA: hda - Add regmap support This patch adds an infrastructure to support regmap-based verb accesses. Because o the asymmetric nature of HD-audio verbs, especially the amp verbs, we need to translate the verbs as a sort of pseudo registers to be mapped uniquely in regmap. In this patch, a pseudo register is built from the NID, the AC_VERB_GET_* and 8bit parameters, i.e. almost in the form to be sent to HD-audio bus but without codec address field. OTOH, for writing, the same pseudo register is translated to AC_VERB_SET_* automatically. The AC_VERB_SET_AMP_* verb is re-encoded from the corresponding AC_VERB_GET_AMP_* verb and parameter at writing. Some verbs has a single command for read but multiple for writes. A write for such a verb is split automatically to multiple verbs. The patch provides also a few handy helper functions. They are designed to be accessible even without regmap. When no regmap is set up (e.g. before the codec device instantiation), the direct hardware access is used. Also, it tries to avoid the unnecessary power-up. The power up/down sequence is performed only on demand. The codec driver needs to call snd_hdac_regmap_exit() and snd_hdac_regmap_exit() at probe and remove if it wants the regmap access. There is one flag added to hdac_device. When the flag lazy_cache is set, regmap helper ignores a write for a suspended device and returns as if it was actually written. It reduces the hardware access pretty much, e.g. when adjusting the mixer volume while in idle. This assumes that the driver will sync the cache later at resume properly, so use it carefully. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 71fc4c7ef5ef2d0ddd22f0545ede4c135b554b84 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 3 17:33:10 2015 +0100 ALSA: hda - Move generic array helpers to core lib This will be used by the regmap support. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e311782acd196d17d25b323d115709c50c8f7d3f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 10 15:16:28 2015 +0100 ALSA: hda - Re-add tracepoints to HD-audio core driver Now let's take the basic tracepoints back to the HD-audio driver. The three bus tracepoints, hda_send_cmd, hda_get_response and hda_unsol_event are revived but in a slightly different form. Since we don't assign the card number there, print the bus device name instead. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c4c2533f802d6877803c4d778def43d8a122f27b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 3 17:22:12 2015 +0100 ALSA: hda - Fix possible runtime PM refcount unbalance When the driver is unloaded before the codec is bound, it still keeps the runtime PM refcount up, and results in the unbalance. This patch covers these cases by introducing a flag indicating the runtime PM initialization and handling the codec registration procedure more properly. It also fixes the missing input beep device as a gratis, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 05852448690d7d810175f8ceccefba083525aa89 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 3 15:40:08 2015 +0100 ALSA: hda - Support indirect execution of verbs Add an overriding exec_verb op to struct hdac_device so that the call via snd_hdac_exec_verb() can switch to a different route depending on the setup. The codec driver sets this field so that it can handle the errors or applying quirks appropriately. Furthermore, this mechanism will be used for smooth transition for the regmap support in later patches. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3256be6537751f65c76b3ecfbb4e667f87525a2f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 24 14:59:42 2015 +0100 ALSA: hda - Add widget sysfs tree This patch changes the sysfs files assigned to the codec device on the bus which were formerly identical with hwdep sysfs files. Now it shows only a few core parameter, vendor_id, subsystem_id, revision_id, afg, mfg, vendor_name and chip_name. In addition, now a widget tree is added to the bus device sysfs directory for showing the widget topology and attributes. It's just a flat tree consisting of subdirectories named as the widget NID including various attributes like widget capability bits. The AFG (usually NID 0x01) is always found there, and it contains always amp_in_caps, amp_out_caps and power_caps files. Each of these attributes show a single value. The rest are the widget nodes belonging to that AFG. Note that the child node might not start from 0x02 but from another value like 0x0a. Each child node may contain caps, pin_caps, amp_in_caps, amp_out_caps, power_caps and connections files. The caps (representing the widget capability bits) always contain a value. The rest may contain value(s) if the attribute exists on the node. Only connections file show multiple values while other attributes have zero or one single value. An example of ls -R output is like below: % ls -R /sys/bus/hdaudio/devices/hdaudioC0D0/ /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/: 01/ 04/ 07/ 0a/ 0d/ 10/ 13/ 16/ 19/ 1c/ 1f/ 22/ 02/ 05/ 08/ 0b/ 0e/ 11/ 14/ 17/ 1a/ 1d/ 20/ 23/ 03/ 06/ 09/ 0c/ 0f/ 12/ 15/ 18/ 1b/ 1e/ 21/ /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/01: amp_in_caps amp_out_caps power_caps /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/02: amp_in_caps amp_out_caps caps connections pin_caps pin_cfg power_caps /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/03: ..... Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7639a06c23c7d4cda34c2546bd7290d8753849ca Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 3 10:07:24 2015 +0100 ALSA: hda - Move a part of hda_codec stuff into hdac_device Now some codes and functionalities of hda_codec struct are moved to hdac_device struct. A few basic attributes like the codec address, vendor ID number, FG numbers, etc are moved to hdac_device, and they are accessed like codec->core.addr. The basic verb exec functions are moved, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d068ebc25e6e1360510ad8023fe7bca3dacd204e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 2 23:22:59 2015 +0100 ALSA: hda - Move some codes up to hdac_bus struct A few basic codes for communicating over HD-audio bus are moved to struct hdac_bus now. It has only command and get_response ops in addition to the unsolicited event handling. Note that the codec-side tracing support is disabled temporarily during this transition due to the code shuffling. It will be re-enabled later once when all pieces are settled down. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e3d280fc6d42017b2379503fbda83655a05294fe Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 17 21:46:37 2015 +0100 ALSA: hda - Make snd_hda_bus_type public Define the common hd-audio driver and device types to bind over snd_hda_bus_type publicly. This allows to implement other type of device and driver code over hd-audio bus. Now both struct hda_codec and struct hda_codec_driver inherit these new struct hdac_device and struct hdac_driver, respectively. The bus registration is done in subsys_initcall() to assure it before any other driver registrations. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3372dbdd8ca11f51be8c6a30b2bc79eb04c4a902 Merge: bc465aa 967b130 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 23 13:14:02 2015 +0100 Merge branch 'for-next' into topic/hda-core commit 5d5a7bffd02863a526abad7700c18b96d4cae19e Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 11 22:13:51 2015 -0500 mfd: mc13xxx-core: %pF is only for function pointers Use %pS for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pF expects a function descriptor. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit eac8a5c91b9ec19abc770c62c375feeaceada2a4 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 10:49:36 2015 -0700 mfd: menelaus: Remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e4c5a6851058386c9e109ad529717a23173918bc Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Mar 19 16:42:28 2015 +0000 arm64: KVM: use ID map with increased VA range if required This patch modifies the HYP init code so it can deal with system RAM residing at an offset which exceeds the reach of VA_BITS. Like for EL1, this involves configuring an additional level of translation for the ID map. However, in case of EL2, this implies that all translations use the extra level, as we cannot seamlessly switch between translation tables with different numbers of translation levels. So add an extra translation table at the root level. Since the ID map and the runtime HYP map are guaranteed not to overlap, they can share this root level, and we can essentially merge these two tables into one. Tested-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit dd006da21646f1c86f0242eb8f527d093303127a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Mar 19 16:42:27 2015 +0000 arm64: mm: increase VA range of identity map The page size and the number of translation levels, and hence the supported virtual address range, are build-time configurables on arm64 whose optimal values are use case dependent. However, in the current implementation, if the system's RAM is located at a very high offset, the virtual address range needs to reflect that merely because the identity mapping, which is only used to enable or disable the MMU, requires the extended virtual range to map the physical memory at an equal virtual offset. This patch relaxes that requirement, by increasing the number of translation levels for the identity mapping only, and only when actually needed, i.e., when system RAM's offset is found to be out of reach at runtime. Tested-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6232cfd0fa01fe392df0b18a3a06628f130b83b2 Merge: ce47fbb e60a1fe Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Mar 23 11:30:32 2015 +0000 Merge branch 'aarch64/kvm-bounce-page' into aarch64/for-next/core Rework of the KVM HYP bounce page from Ard Biesheuvel. Subsequent arm64 idmap rework depends on this, so merge it here with Marc Zyngier's blessing (kvm-arm co-maintainer). commit e60a1fec44a2fe2c85ac406a5c1161ca2957a4fa Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Mar 23 10:52:57 2015 +0000 ARM: kvm: implement replacement for ld's LOG2CEIL() Commit 06f75a1f6200 ("ARM, arm64: kvm: get rid of the bounce page") uses ld's builtin function LOG2CEIL() to align the KVM init code to a log2 upper bound of its size. However, this function turns out to be a fairly recent addition to binutils, which breaks the build for older toolchains. So instead, implement a replacement LOG2_ROUNDUP() using the C preprocessor. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a83034f5cb135bceb5b23dce1746ef2d98c68234 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Mar 23 14:03:55 2015 +0300 crypto: img-hash - shift wrapping bug in img_hash_hw_init() "hdev->req->nbytes" is an unsigned int so we so we lose the upper 3 bits to the shift wrap bug. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 900831a4d9cf3d0280527f176fc20e8c0cdbb63a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Mar 20 17:21:12 2015 +0300 crypto: img-hash - fix some compile warnings GCC complains about that %u is the wrong format string for size_t and also that "ret" is unused. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 665503049bada5198aa53b9d618069f0f8fe191f Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Thu Mar 19 16:03:44 2015 -0700 crypto: qat - make error and info log messages more descriptive Convert pr_info() and pr_err() log messages to dev_info() and dev_err(), respectively, where able. This adds the module name and PCI B:D:F to indicate which QAT device generated the log message. The "QAT:" is removed from these log messages as that is now unnecessary. A few of these log messages have additional spelling/contextual fixes. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 92dd5be55996730e8bf776f758c3d4764ed9f349 Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Thu Mar 19 16:03:39 2015 -0700 crypto: qat - fix typo in string Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a00204f8e51b733c31b9e144065efb4ccec2bdff Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx> Date: Thu Mar 19 16:03:33 2015 -0700 crypto: qat - remove duplicate definition of Intel PCI vendor id This define is a duplicate of the one in ./include/linux/pci_ids.h Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cfa8e7e70341c6ba1c7bd3466784a217e441b8c6 Author: James Hartley <james.hartley@xxxxxxxxxx> Date: Thu Mar 19 16:46:24 2015 +0000 crypto: img-hash - Fix Kconfig selections The Kconfig entry for CRYPTO_DEV_IMGTEC_HASH incorrectly selects CRYPTO_SHA224, which does not exist (and is covered by CRYPTO_SHA256 which covers both 224 and 256). Remove it. Also correct typo CRYPTO_ALG_API to be CRYPTO_ALGPI. Reported-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d74ef1118a146ae1135c8b26fff2bfee980fd7a4 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:35 2015 -0700 x86/asm/entry: Replace some open-coded VM86 checks with v8086_mode() checks This allows us to remove some unnecessary ifdefs. There should be no change to the generated code. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/f7e00f0d668e253abf0bd8bf36491ac47bd761ff.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7a2806741e7327a6b20ccef42e8d56588cb2fef5 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:34 2015 -0700 x86/asm/entry: Remove user_mode_vm() It has no callers anymore. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a594afd6a0bddb1311bd7c92a15201c87fbb8681.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f39b6f0ef855a38ea17329a4e621ff97750dfcc2 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:33 2015 -0700 x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' user_mode_vm() and user_mode() are now the same. Change all callers of user_mode_vm() to user_mode(). The next patch will remove the definition of user_mode_vm. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/43b1f57f3df70df5a08b0925897c660725015554.1426728647.git.luto@xxxxxxxxxx [ Merged to a more recent kernel. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit efa704510342b81ae58d7b8a0c7f676a4289b603 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:32 2015 -0700 x86/asm/entry: Make user_mode() work correctly if regs came from VM86 mode user_mode() is now identical to user_mode_vm(). Subsequent patches will change all callers of user_mode_vm() to user_mode() and then delete user_mode_vm(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/0dd03eacb5f0a2b5ba0240de25347a31b493c289.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ae60f0710ae6b33092267ef8ac853c498f6d3e5d Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:31 2015 -0700 x86/asm/entry: Use user_mode_ignore_vm86() where appropriate A few of the user_mode() checks in traps.c are immediately after explicit checks for vm86 mode. Change them to user_mode_ignore_vm86(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/0b324d5b75c3402be07f8d3c6245ed7f4995029e.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 383f3af3f88aadafe1fcf1948987ad538683fb8c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:30 2015 -0700 x86/asm/entry, perf: Explicitly optimize vm86 handling in code_segment_base() There's no point in checking the VM bit on 64-bit, and, since we're explicitly checking it, we can use user_mode_ignore_vm86() after the check. While we're at it, rearrange the #ifdef slightly to make the code flow a bit clearer. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/dc1457a734feccd03a19bb3538a7648582f57cdd.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a67e7277d01ccfd39b0db5a198c2643cc19dd79c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:29 2015 -0700 x86/asm/entry: Add user_mode_ignore_vm86() user_mode() is dangerous and user_mode_vm() has a confusing name. Add user_mode_ignore_vm86() (equivalent to current user_mode()). We'll change the small number of legitimate users of user_mode() to user_mode_ignore_vm86(). Inspired by grsec, although this works rather differently. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/202c56ca63823c338af8e2e54948dbe222da6343.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e4518ab90f63cd5bea3ddc15341162debc34442b Merge: c56716a bc465aa Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 23 11:13:15 2015 +0100 Merge tag 'v4.0-rc5' into x86/asm, to resolve conflicts Conflicts: arch/x86/kernel/entry_64.S Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 00e6743b5b7333a589c7607aa0ed20416831034d Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Mar 22 09:39:45 2015 +0200 irqchip: digicolor: Move digicolor_set_gc to init section The digicolor_set_gc() routine is only called from __init annotated digicolor_of_init(). Annotate digicolor_set_gc() with __init as well to save a few bytes at run time. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Link: https://lkml.kernel.org/r/a3b57ecdbe0b07f55c20c07ff98f1f694275722d.1427009985.git.baruch@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 50f16a8bf9d7a92c437ed1867d0f7e1dc6a9aca9 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Mar 5 22:10:19 2015 +0100 perf: Remove type specific target pointers The only reason CQM had to use a hard-coded pmu type was so it could use cqm_target in hw_perf_event. Do away with the {tp,bp,cqm}_target pointers and provide a non type specific one. This allows us to do away with that silly pmu type as well. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Vince Weaver <vince@xxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: acme@xxxxxxxxxx Cc: hpa@xxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kanaka.d.juvva@xxxxxxxxx Cc: matt.fleming@xxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: torvalds@xxxxxxxxxxxxxxxxxxxx Cc: vikas.shivappa@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150305211019.GU21418@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4e16ed99416ef569a89782a7234f95007919fadd Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Thu Feb 26 18:47:00 2015 +0000 perf/x86/intel: Fix Makefile to actually build the cqm driver Someone fat fingered a merge conflict and lost the Makefile hunk. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: <acme@xxxxxxxxxx> Cc: <hpa@xxxxxxxxx> Cc: <jolsa@xxxxxxxxxx> Cc: <kanaka.d.juvva@xxxxxxxxx> Cc: <tglx@xxxxxxxxxxxxx> Cc: <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424976420.15321.35.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b6366f048e0caff28af5335b7af2031266e1b06b Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Wed Mar 18 14:49:46 2015 -0400 sched/rt: Use IPI to trigger RT task push migration instead of pulling When debugging the latencies on a 40 core box, where we hit 300 to 500 microsecond latencies, I found there was a huge contention on the runqueue locks. Investigating it further, running ftrace, I found that it was due to the pulling of RT tasks. The test that was run was the following: cyclictest --numa -p95 -m -d0 -i100 This created a thread on each CPU, that would set its wakeup in iterations of 100 microseconds. The -d0 means that all the threads had the same interval (100us). Each thread sleeps for 100us and wakes up and measures its latencies. cyclictest is maintained at: git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git What happened was another RT task would be scheduled on one of the CPUs that was running our test, when the other CPU tests went to sleep and scheduled idle. This caused the "pull" operation to execute on all these CPUs. Each one of these saw the RT task that was overloaded on the CPU of the test that was still running, and each one tried to grab that task in a thundering herd way. To grab the task, each thread would do a double rq lock grab, grabbing its own lock as well as the rq of the overloaded CPU. As the sched domains on this box was rather flat for its size, I saw up to 12 CPUs block on this lock at once. This caused a ripple affect with the rq locks especially since the taking was done via a double rq lock, which means that several of the CPUs had their own rq locks held while trying to take this rq lock. As these locks were blocked, any wakeups or load balanceing on these CPUs would also block on these locks, and the wait time escalated. I've tried various methods to lessen the load, but things like an atomic counter to only let one CPU grab the task wont work, because the task may have a limited affinity, and we may pick the wrong CPU to take that lock and do the pull, to only find out that the CPU we picked isn't in the task's affinity. Instead of doing the PULL, I now have the CPUs that want the pull to send over an IPI to the overloaded CPU, and let that CPU pick what CPU to push the task to. No more need to grab the rq lock, and the push/pull algorithm still works fine. With this patch, the latency dropped to just 150us over a 20 hour run. Without the patch, the huge latencies would trigger in seconds. I've created a new sched feature called RT_PUSH_IPI, which is enabled by default. When RT_PUSH_IPI is not enabled, the old method of grabbing the rq locks and having the pulling CPU do the work is implemented. When RT_PUSH_IPI is enabled, the IPI is sent to the overloaded CPU to do a push. To enabled or disable this at run time: # mount -t debugfs nodev /sys/kernel/debug # echo RT_PUSH_IPI > /sys/kernel/debug/sched_features or # echo NO_RT_PUSH_IPI > /sys/kernel/debug/sched_features Update: This original patch would send an IPI to all CPUs in the RT overload list. But that could theoretically cause the reverse issue. That is, there could be lots of overloaded RT queues and one CPU lowers its priority. It would then send an IPI to all the overloaded RT queues and they could then all try to grab the rq lock of the CPU lowering its priority, and then we have the same problem. The latest design sends out only one IPI to the first overloaded CPU. It tries to push any tasks that it can, and then looks for the next overloaded CPU that can push to the source CPU. The IPIs stop when all overloaded CPUs that have pushable tasks that have priorities greater than the source CPU are covered. In case the source CPU lowers its priority again, a flag is set to tell the IPI traversal to restart with the first RT overloaded CPU after the source CPU. Parts-suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxxxxxxxx> Cc: Clark Williams <williams@xxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150318144946.2f3cc982@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 71ad00d61ec861dc68b4544887729850e58cb99b Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Thu Mar 19 10:18:51 2015 -0400 irq_work: Fix build failure when CONFIG_IRQ_WORK is not defined When CONFIG_IRQ_WORK is not defined (difficult to do, as it also requires CONFIG_PRINTK not to be defined), we get a build failure: kernel/built-in.o: In function `flush_smp_call_function_queue': kernel/smp.c:263: undefined reference to `irq_work_run' kernel/smp.c:263: undefined reference to `irq_work_run' Makefile:933: recipe for target 'vmlinux' failed Simplest thing to do is to make irq_work_run() a nop when not set. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150319101851.4d224d9b@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e1b63dec2ddba654c7ca75996284e453f32d1af7 Merge: f8e617f 746db94 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 23 10:50:29 2015 +0100 Merge branch 'sched/urgent' into sched/core, to pick up fixes before applying new patches Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5593ce64d875d169a237e3818a4251948c901ce7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:55:57 2015 +0100 irqchip: renesas-irqc: Add functional clock to bindings The external IRQ controller has a functional clock, which is used for power management. Document it. Fix a typo in the r8a73a4 SoC name while we're at it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1426704961-27322-4-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 51b05f6b8a7dfa2c85988e506d3107144a13b975 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:55:56 2015 +0100 irqchip: renesas-irqc: 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. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1426704961-27322-3-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1cd5ec73306d6e361b90e27ae17bd5f87e009567 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 19:55:55 2015 +0100 irqchip: renesas-irqc: Add more register documentation Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1426704961-27322-2-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9848de082ff400f8b88e6d550bfce551838af69c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 20 21:28:08 2015 +0200 drm/i915: Use usleep_range() in wait_for() msleep() can sleep for way too long, so switch wait_for() to use usleep_range() instead. Following a totally unscientific method I just picked the range as W-2W. This cuts the i915 init time on my BSW to almost half: - initcall i915_init+0x0/0xa8 [i915] returned 0 after 419977 usecs + initcall i915_init+0x0/0xa8 [i915] returned 0 after 238419 usecs Note that I didn't perform any other benchmarks on this so far. Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c1d046be692493d00a4831d4fbc266745008e09 Author: Arjun Sreedharan <arjun024@xxxxxxxxx> Date: Mon Mar 16 21:07:47 2015 +0530 x86/boot: Standardize strcmp() strcmp() is always expected to return 0 when arguments are equal, negative when its first argument @str1 is less than its second argument @str2 and a positive value otherwise. Previously strcmp("a", "b") returned 1. Now it gives -1, as it is supposed to. Until now this bug never triggered, because all uses for strcmp() in the boot code tested for nonzero: triton:~/tip> git grep strcmp arch/x86/boot/ arch/x86/boot/boot.h:int strcmp(const char *str1, const char *str2); arch/x86/boot/edd.c: if (!strcmp(eddarg, "skipmbr") || !strcmp(eddarg, "skip")) { arch/x86/boot/edd.c: else if (!strcmp(eddarg, "off")) arch/x86/boot/edd.c: else if (!strcmp(eddarg, "on")) should in the future strcmp() be used in a comparative way in the boot code, it might have led to (not so subtle) bugs. Signed-off-by: Arjun Sreedharan <arjun024@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426520267-1803-1-git-send-email-arjun024@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 37dea8c52cacb4439eb183ad736747bb678d2a5d Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Mar 11 11:54:29 2015 +0100 x86/cpu/cacheinfo: Fix cache_get_priv_group() for Intel processors The private pointer provided by the cacheinfo code is used to implement the AMD L3 cache-specific attributes using a pointer to the northbridge descriptor. It is needed for performing L3-specific operations and for that we need a couple of PCI devices and other service information, all contained in the northbridge descriptor. This results in failure of cacheinfo setup as shown below as cache_get_priv_group() returns the uninitialised private attributes which are not valid for Intel processors. ------------[ cut here ]------------ WARNING: CPU: 3 PID: 1 at fs/sysfs/group.c:102 internal_create_group+0x151/0x280() sysfs: (bin_)attrs not set by subsystem for group: index3/ Modules linked in: CPU: 3 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc3+ #1 Hardware name: Dell Inc. Precision T3600/0PTTT9, BIOS A13 05/11/2014 ... Call Trace: dump_stack warn_slowpath_common warn_slowpath_fmt internal_create_group sysfs_create_groups device_add cpu_device_create ? __kmalloc cache_add_dev cacheinfo_sysfs_init ? container_dev_init do_one_initcall kernel_init_freeable ? rest_init kernel_init ret_from_fork ? rest_init This patch fixes the issue by checking if the L3 cache indices are populated correctly (AMD-specific) before initializing the private attributes. Reported-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c9ce8712838e48bf356144122c5ecdcdac5d1829 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Mar 13 23:30:47 2015 +0100 x86/mce: Reindent __mcheck_cpu_apply_quirks() properly Had some strange 3 tabs + 2 chars indentation, probably from me. Fix it. No code changed: # arch/x86/kernel/cpu/mcheck/mce.o: text data bss dec hex filename 21371 5923 264 27558 6ba6 mce.o.before 21371 5923 264 27558 6ba6 mce.o.after md5: eb3996c84d15e08ed836f043df2cbb01 mce.o.before.asm eb3996c84d15e08ed836f043df2cbb01 mce.o.after.asm Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f77ac507f893fc00c1b9ea0076f3c9e664b0f9ab Author: Jesse Larrew <jesse.larrew@xxxxxxx> Date: Fri Mar 13 11:03:39 2015 -0500 x86/mce: Use safe MSR accesses for AMD quirk Certain MSRs are only relevant to a kernel in host mode, and kvm had chosen not to implement these MSRs at all for guests. If a guest kernel ever tried to access these MSRs, the result was a general protection fault. KVM will be separately patched to return 0 when these MSRs are read, and this patch ensures that MSR accesses are tolerant of exceptions. Signed-off-by: Jesse Larrew <jesse.larrew@xxxxxxx> [ Drop {} braces around loop ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Joel Schopp <joel.schopp@xxxxxxx> Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-edac@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1426262619-5016-1-git-send-email-jesse.larrew@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7fc253e277ecf1ea57c2d670bdbcda3dffd19453 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sat Mar 14 16:13:34 2015 +0100 x86/fpu: Kill eager_fpu_init_bp() Now that eager_fpu_init_bp() does setup_init_fpu_buf() only and nothing else, we can remove it and move this code into its "caller", eager_fpu_init(). This avoids the confusing games with "static __refdata void (*boot_func)": init_xstate_buf can be NULL only during boot, so it is safe to call the __init-annotated setup_init_fpu_buf() function in eager_fpu_init(), we just need to mark it as __init_refok. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150314151334.GC13029@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4bd5bf8c85e6bca5be9e7c4b3d7ad1942ae323f3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Mar 13 19:27:16 2015 +0100 x86/fpu: Don't allocate fpu->state for swapper/0 Now that kthreads do not use FPU until they get executed, swapper/0 doesn't need to allocate fpu->state. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150313182716.GB8249@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b85e67d1483c72b77d1bdc265aa8ba91590794c1 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Mar 16 10:21:55 2015 +0100 x86/fpu: Rename drop_init_fpu() to fpu_reset_state() Call it what it does and in accordance with the context where it is used: we reset the FPU state either because we were unable to restore it from the one saved in the task or because we simply want to reset it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d2d0ac9a4644e00120bb9b7427a512a99d2cacc5 Author: Borislav Petkov <bp@xxxxxxx> Date: Sat Mar 14 11:52:12 2015 +0100 x86/fpu: Fold __drop_fpu() into its sole user Fold it into drop_fpu(). Phew, one less FPU function to pay attention to. No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f893959b0898bd876673adbeb6798bdf25c034d7 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Mar 13 18:30:30 2015 +0100 x86/fpu: Don't abuse drop_init_fpu() in flush_thread() flush_thread() -> drop_init_fpu() is suboptimal and confusing. It does drop_fpu() or restore_init_xstate() depending on !use_eager_fpu(). But flush_thread() too checks eagerfpu right after that, and if it is true then restore_init_xstate() just burns CPU for no reason. We are going to load init_xstate_buf again after we set used_math()/user_has_fpu(), until then the FPU state can't survive after switch_to(). Remove it, and change the "if (!use_eager_fpu())" to call drop_fpu(). While at it, clean up the tsk/current usage. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150313173030.GA31217@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9cb6ce823bbd1adbe15e30bd1435c84c2e271767 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Mar 11 18:34:49 2015 +0100 x86/fpu: Use restore_init_xstate() instead of math_state_restore() on kthread exec Change flush_thread() to do user_fpu_begin() and restore_init_xstate() instead of math_state_restore(). Note: "TODO: cleanup this horror" is still valid. We do not need init_fpu() at all, we only need fpu_alloc() and memset(0). But this needs other changes, in particular user_fpu_begin() should set used_math(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150311173449.GE5032@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8f4d81863ba4e8dfee93bd50840f1099a296251f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Mar 11 18:34:29 2015 +0100 x86/fpu: Introduce restore_init_xstate() Extract the "use_eager_fpu()" code from drop_init_fpu() into a new, simple helper restore_init_xstate(). The next patch adds another user. - It is not clear why we do not check use_fxsr() like fpu_restore_checking() does. eager_fpu_init_bp() calls setup_init_fpu_buf() too, and we have the "eagerfpu=on" kernel option. - Ignoring the fact that init_xstate_buf is "struct xsave_struct *", not "union thread_xstate *", it is not clear why we can not simply use fpu_restore_checking() and avoid the code duplication. - It is not clear why we can't call setup_init_fpu_buf() unconditionally to always create init_xstate_buf(). Then do_device_not_available() path (at least) could use restore_init_xstate() too. It doesn't need to init fpu->state, its content doesn't matter until unlazy_fpu()/__switch_to()/etc which overwrites this memory anyway. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150311173429.GD5032@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fb14b4eadf73500d3b2104f031472a268562c047 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Mar 11 18:34:09 2015 +0100 x86/fpu: Document user_fpu_begin() Currently, user_fpu_begin() has a single caller and it is not clear why do we actually need it and why we should not worry about preemption right after preempt_enable(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150311173409.GC5032@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eda2360ad18b7cde87728fad85c6735a52c2576e Merge: 1d23c45 bc465aa Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 23 10:13:36 2015 +0100 Merge tag 'v4.0-rc5' into x86/fpu, to prevent conflicts Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c56716af8d27ca8dd6e45445ae1c0a05fd9753a6 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:28 2015 -0700 x86/asm/entry, perf: Fix incorrect TIF_IA32 check in code_segment_base() We want to check whether user code is in 32-bit mode, not whether the task is nominally 32-bit. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/33e5107085ce347a8303560302b15c2cadd62c4c.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d31bf07f71a5568b48c5ed448e4299050469f615 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Mar 18 18:33:27 2015 -0700 x86/mm/fault: Use TASK_SIZE_MAX in is_prefetch() This is slightly shorter and slightly faster. It's also more correct: the split between user and kernel addresses is TASK_SIZE_MAX, regardless of ti->flags. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brad Spengler <spender@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/09156b63bad90a327827003c9e53faa82ef4c56e.1426728647.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1daeaa315164c60b937f56fe3848d4328c358eba Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Sat Mar 21 18:54:21 2015 -0400 x86/asm/entry: Fix execve() and sigreturn() syscalls to always return via IRET Both the execve() and sigreturn() family of syscalls have the ability to change registers in ways that may not be compatabile with the syscall path they were called from. In particular, SYSRET and SYSEXIT can't handle non-default %cs and %ss, and some bits in eflags. These syscalls have stubs that are hardcoded to jump to the IRET path, and not return to the original syscall path. The following commit: 76f5df43cab5e76 ("Always allocate a complete "struct pt_regs" on the kernel stack") recently changed this for some 32-bit compat syscalls, but introduced a bug where execve from a 32-bit program to a 64-bit program would fail because it still returned via SYSRETL. This caused Wine to fail when built for both 32-bit and 64-bit. This patch sets TIF_NOTIFY_RESUME for execve() and sigreturn() so that the IRET path is always taken on exit to userspace. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426978461-32089-1-git-send-email-brgerst@xxxxxxxxx [ Improved the changelog and comments. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6212755eff3171e0211bb6a9f4706e115217588c Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Mar 20 15:31:34 2015 -0500 ASoC: Intel: remove misleading DMA error messages on Baytrail platforms During probe, the Baytrail audio driver reports errors such as: [44.172040] baytrail-pcm-audio baytrail-pcm-audio: error: invalid DMA engine 0 [44.172137] baytrail-pcm-audio baytrail-pcm-audio: sst_dma_new failed Those error messages are misleading, there is no error since the DMA is explicitly not configured for Baytrail. Add a test to remove DMA error checks when DMA is not configured and return silently. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f073faa73626f41db7050a69edd5074c53ce6d6c Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Fri Mar 20 21:13:45 2015 +0000 ASoC: pcm512x: Fix divide by zero issue If den=1 and pllin_rate>20MHz then den and num are adjusted to 0 causing a divide by zero error a few lines further on. Therefore this patch correctly scales num and den such that pllin_rate/den < 20MHz as required in the device data sheet. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 6ae4ccfee09efe5baa3951d1c1d27050a46a1469 Merge: be0b5e6 1f16ea2 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Mon Mar 23 06:43:43 2015 +0200 Merge tag 'iwlwifi-for-kalle-2014-03-22' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes * avoid panic with lots of IBSS stations * Fix dvm's behavior after suspend resume * Allow to keep connection after CSA failure * Remove a noisy by harmless WARN_ON * New device IDs commit cc83458d3aa01d69ccb2976e1323c92a6caae540 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 11 22:13:46 2015 -0500 powerpc/32: %pF is only for function pointers Use %pS for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pF expects a function descriptor. Even on other architectures, refrain from setting a bad example that people copy. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4d9fb711e43a45be17795df4b59c46ee59485d82 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 11 20:13:34 2015 +0100 powerpc: use kbuild generic-y where possible Replace one line asm-generic include files declared in arch/powerpc/include/asm/ by generic-y declaration which creates arch/powerpc/include/generated/asm equivalent. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f57333a7677750f1264341d57bf1771000330458 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Fri Mar 20 10:10:18 2015 +1100 powerpc/powernv: Fix return value from power7_nap() et al. The power7_nap(), power7_sleep() and power7_winkle() functions are called from pnv_smp_cpu_kill_self(), which expects them to return the SRR1 value set by the hardware on wakeup, or 0 if no nap/sleep/winkle occurred. However, in the case where an interrupt needs to be replayed, the logic in power7_powersave_common (the common code for power7_nap et al.) doesn't set r3 to 0 in this case. Instead what we get as the return value is the selector for the type of power-saving mode requested (1, 2 or 3). In fact this should not affect the operation of pnv_smp_cpu_kill_self(), but it is better to get this correct, so this adds an instruction to set r3 to 0 in this case. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b140e5b20ef893c59c86a23b6d923116a5a97862 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 18 17:29:13 2015 +0100 powerpc: Spelling s/embeeded/embedded/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a71aa05e1416863e6b6a3e0af8f847a711f1145d Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Wed Mar 18 16:46:16 2015 +1100 powerpc: Convert relocs_check to a shell script using grep This runs a bit faster and removes another use of perl from the kernel build. Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-By: Tony Breeds <tony@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f5718726714cd6114876c4e3ca9b6992ab81176c Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 16:36:21 2015 +1100 powerpc: Move Power Macintosh drivers to generic byteswappers ppc has special instruction forms to efficiently load and store values in non-native endianness. These can be accessed via the arch-specific {ld,st}_le{16,32}() inlines in arch/powerpc/include/asm/swab.h. However, gcc is perfectly capable of generating the byte-reversing load/store instructions when using the normal, generic cpu_to_le*() and le*_to_cpu() functions eaning the arch-specific functions don't have much point. Worse the "le" in the names of the arch specific functions is now misleading, because they always generate byte-reversing forms, but some ppc machines can now run a little-endian kernel. To start getting rid of the arch-specific forms, this patch removes them from all the old Power Macintosh drivers, replacing them with the generic byteswappers. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit e4a9616c548f67537a8d020a45a327f6a4d583ee Author: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 01:07:17 2015 +0530 powerpc/rtas: Make timestamp related code y2038-safe While we are here, let us make timestamp related code y2038-safe. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f7618299b4ab425956099508cba7b3a39a056d87 Author: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 01:06:52 2015 +0530 powerpc/powernv: Add pstore support on powernv This patch extends pstore, a generic interface to platform dependent persistent storage, support for powernv platform to capture certain useful information, during dying moments. Such support is already in place for pseries platform. This patch re-uses most of that code. It is a common practice to compile kernels with both CONFIG_PPC_PSERIES=y and CONFIG_PPC_POWERNV=y. The code in nvram_init_oops_partition() routine still works as intended, as the caller is platform specific code which passes the appropriate value for "rtas_partition_exists" parameter. In all other places, where CONFIG_PPC_PSERIES or CONFIG_PPC_POWERNV flag is used in this patchset, it is to reduce the kernel size in cases where this flag is not set and doesn't have any impact logic wise. Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ae011d2e48d2e6c2ae29fd8aab439caf2fbfb5a8 Author: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 01:06:28 2015 +0530 pstore: Add pstore type id for PPC64 opal nvram partition This patch adds a new PPC64 partition type to be used for opal specific nvram partition. A new partition type is needed as none of the existing type matches this partition type. Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 78989f0a5592182a3d45d869ddaafc71c8f673af Author: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 01:06:04 2015 +0530 powerpc/nvram: Move generic code for nvram and pstore With minor checks, we can move most of the code for nvram under pseries to a common place to be re-used by other powerpc platforms like powernv. This patch moves such common code to arch/powerpc/kernel/nvram_64.c file. Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> [mpe: Move select of ZLIB_DEFLATE to PPC64 to fix the build] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3af229f2071f5b5cb31664be6109561fbe19c861 Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 16:50:59 2015 -0700 powerpc/numa: Reset node_possible_map to only node_online_map Raghu noticed an issue with excessive memory allocation on power with a simple cgroup test, specifically, in mem_cgroup_css_alloc -> for_each_node -> alloc_mem_cgroup_per_zone_info(), which ends up blowing up the kmalloc-2048 slab (to the order of 200MB for 400 cgroup directories). The underlying issue is that NODES_SHIFT on power is 8 (256 NUMA nodes possible), which defines node_possible_map, which in turn defines the value of nr_node_ids in setup_nr_node_ids and the iteration of for_each_node. In practice, we never see a system with 256 NUMA nodes, and in fact, we do not support node hotplug on power in the first place, so the nodes that are online when we come up are the nodes that will be present for the lifetime of this kernel. So let's, at least, drop the NUMA possible map down to the online map at runtime. This is similar to what x86 does in its initialization routines. mem_cgroup_css_alloc should also be fixed to only iterate over memory-populated nodes and handle hotplug, but that is a separate change. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 66bee35f29683fc4a9a530a1c56a0ec45e3f7d72 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Mar 21 17:26:24 2015 +0100 extcon: Fix missing locking when [un]registering notifiers Since extcon.c is using raw_notifiers it must protect the notifier list itself when [un]registering notifiers to avoid the list changing while extcon_update_state is walking the list (through raw_notifier_call_chain). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> [cw00.choi: Apply this patch to extcon.c driver instead of old extcon-class.c] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit b9b518f53996b67833b42ca7751b2085b0dc565a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sun Mar 15 13:56:04 2015 +0300 extcon: max77843: Fix an error code in max77843_init_muic_regmap() The i2c_new_dummy() return the NULL if error happen. So, If i2c_new_dummy() return NULL, max77843_init_muic_regmap() return the proper error value (-ENOMEM); Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> [cw00.choi: Use -ENOMEM instead of -ENODEV and modify patch description] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 17b2772b8fe3442b46c99fb91150a480acb7ebc4 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Mar 22 15:52:38 2015 +0100 Bluetooth: Read Broadcom chip info for Apple Bluetooth devices For the Apple Bluetooth devices that are Broadcom based, it makes sense to read the chip information. It is a single HCI command and might help gathering more information about these devices. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ae10c2248593fb84c6951d67c98c9c934997e56a Merge: e8b6fe6 6dbe686 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 23 09:34:32 2015 +1000 Merge branch 'drm/next/rcar-du' of git://linuxtv.org/pinchartl/fbdev into drm-next rcar-du fixes * 'drm/next/rcar-du' of git://linuxtv.org/pinchartl/fbdev: drm: rcar-du: Enable the atomic updates API drm: rcar-du: Don't initialize event->pipe field drm: rcar-du: Fix framebuffer reference leak through plane state MAINTAINERS: Remove rcar-du.h entry commit e8b6fe6990643daac9bccbe957a253a7e6bf947d Merge: b3ede17 c6169e4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 23 09:34:08 2015 +1000 Merge branch 'drm/next/adv7511' of git://linuxtv.org/pinchartl/fbdev into drm-next adv7511 fixes. * 'drm/next/adv7511' of git://linuxtv.org/pinchartl/fbdev: drm: adv7511: Refactor power management drm: adv7511: Fix nested sleep when reading EDID drm: adv7511: Fix DDC error interrupt handling commit b3ede177c8ba8c001c65aec1511445363642ecd0 Merge: 6b94aea 9843ead Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 23 09:15:02 2015 +1000 Merge branch 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux into drm-next - DP MST support (disabled by default) - non-ATOM aux support (DCE5+) - output csc support for clamped RGB - Lots of new queries for profiling, Gallium HUD, etc. - Misc fixes * 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux: (40 commits) drm/radeon: add DisplayPort MST support (v2) drm/radeon: improve encoder picking functions (v2) drm/radeon: export max link rate calculation drm/radeon: add new atombios encoder/transmitter interfaces drm/radeon: add some MST registers radeon/fb: add wrapper functions around fb connector add/remove radeon/cik: add support for short HPD irqs radeon/si: add support for short HPD irqs radeon/evergreen: add support for short HPD irqs radeon: introduce a dp_work handler drm/dp_mst: add a function to retrieve vcpi slots drm/radeon: program auxch directly (v2) drm/radeon: fix doublescan modes (v2) drm/radeon: typo in parameter description drm/radeon: add support for read reg query from radeon info ioctl drm/radeon: add get_allowed_info_register for CIK drm/radeon: add get_allowed_info_register for SI drm/radeon: add get_allowed_info_register for cayman/TN drm/radeon: add get_allowed_info_register for EG/BTC drm/radeon: add get_allowed_info_register for r6xx/r7xx ... commit af9bfbdab8f1c5a4b51a45aaab4cfbcc318b8ae2 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:53:10 2015 +0000 can: at91_can: use endian agnostic IO accessors Change __raw accesors to endian agnostic versions to allow the driver to work properly on big endian systems. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 6d5a7a65a928d317c8767613d98ce38bb62f23fa Author: Thomas Körper <thomas.koerper@xxxxxx> Date: Mon Mar 16 09:48:29 2015 +0100 can: esd_usb2: Fix sparse warnings The hnd field of the structs does not need to be __le32: the device just returns the value without using it itself. Signed-off-by: Thomas Körper <thomas.koerper@xxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit c54eb70e3bb8cd0d7b8564bedab63e834656c567 Author: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Date: Mon Mar 16 09:38:13 2015 +0100 can: add combined rx/tx LED trigger support Add <ifname>-rxtx trigger, that will be activated both for tx as rx events. This trigger mimics "activity" LED for Ethernet devices. Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit fba6f9117a3d87a269fc3b174127c99f25f4979e Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Sat Mar 14 15:39:09 2015 +0100 can: m_cam: m_can_fifo_write(): remove return from void function This patch removes the return from the void function m_can_fifo_write(). Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit c637aab05c9dd0894832a7c542a1553b2815b9ef Author: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Date: Sat Mar 14 09:11:47 2015 -0400 can: kvaser_usb: Use can-dev unregistration mechanism Use can-dev's unregister_candev() instead of directly calling networking unregister_netdev(). While both are functionally equivalent, unregister_candev() might do extra stuff in the future than just calling networking layer unregistration code. Signed-off-by: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 2b290bbb60847c0897c047b5214192810de529df Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 04:48:20 2015 +0100 can: use sock_efree instead of own destructor It is identical to the can destructor. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 446d999c1c92cec996e759dc3c03110596e626f5 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 17:20:33 2015 +0000 PM / domains: factor out code to get the generic PM domain from a struct device The PM domain code contains two methods to get the generic PM domain for a struct device. One is dev_to_genpd() which is only safe when we know for certain that the device has a generic PM domain attached. The other is coded into genpd_dev_pm_detach() which ensures that the PM domain in the struct device is a generic PM domain (and so is safer). This commit factors out the safer version, documents it, and hides the unsafe dev_to_genpd(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6d7d5c3266aa946b2049d9fed02186c1a378621b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 17:20:28 2015 +0000 PM / domains: quieten down generic pm domains PM domains are rather noisy; scheduling behaviour can cause callbacks to take longer, which causes them to spit out a warning-level message each time a callback takes a little longer than the previous time. There really isn't a need for this, except when debugging. Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 632f7ce3f9b65039ac6c4f14ef91a0a1f3bdff59 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 15:55:12 2015 +0100 PM / Domains: Sync runtime PM status with genpd after probe Buses which currently supports attaching devices to their PM domains, will invoke the dev_pm_domain_attach() API from their ->probe() callbacks. During the attach procedure, genpd power up the PM domain. In those scenarios where the bus/driver don't need to access its device during probe, it may leave it in runtime PM suspended state since that's also the default state. In that way, no notifications through the runtime PM callbacks will reach the PM domain during probe. For genpd, the consequence from the above scenario means the PM domain will remain powered. Therefore, implement the struct dev_pm_domain's ->sync() callback, which is invoked from driver core after the bus/driver has probed the device. It allows genpd to power off the PM domain if it's unused. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> [ Ulf: Updated patch according to updates in driver core ] Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e90d5532773e2bcccc538dd346b9fc3482cd700c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Mar 20 13:59:27 2015 +0100 driver core / PM: Add PM domain callbacks for device setup/cleanup If PM domains are in use, it may be necessary to prepare the code handling a PM domain for driver probing. For example, in some cases device drivers rely on the ability to power on the devices with the help of the IO runtime PM framework and the PM domain code needs to be ready for that. Also, if that code has not been fully initialized yet, the driver probing should be deferred. Moreover, after the probing is complete, it may be necessary to put the PM domain in question into the state reflecting the current needs of the devices in it, for example, so that power is not drawn in vain. The same should be done after removing a driver from a device, as the PM domain state may need to be changed to reflect the new situation. For these reasons, introduce new PM domain callbacks, ->activate, ->sync and ->dismiss called, respectively, before probing for a device driver, after the probing has completed successfully and if the probing has failed or the driver has been removed. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64491882d399011bb0a4603e8cf481b65f0d3c5d Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Mar 20 10:00:00 2015 +0100 ACPI / video: Add force native backlight quirk for Lenovo Ideapad Z570 The Lenovo Ideapad Z570 (which is an Acer in disguise like some other Ideapads) has a broken acpi_video interface, this was fixed in commmit a11d342fb8 ("ACPI / video: force vendor backlight on Lenovo Ideapad Z570"). Which stops acpi_video from registering a backlight interface, but this is only a partial fix, because for people who have the ideapad-laptop module installed that module will now register a backlight interface, which also does not work, so we need to use the native intel_backlight interface. The Lenovo Ideapad 570 is a pre-win8 laptop / too old for the acpi-video code to automatically prefer the native backlight interface, so add a quirk for it. This commit also removes the previous incomplete fix. Link: https://bugzilla.redhat.com/show_bug.cgi?id=1187004 Tested-by: Be <be.0@xxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ff92cfe7cbc05c6c62f5b06c7d9090f4c853cd51 Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Wed Mar 11 22:09:57 2015 +0100 ACPI / video: Allow forcing native backlight on non win8 machines The native backlight behavior (so not registering both the acpi-video and the vendor backlight driver) can be useful on some non win8 machines too, so change the behavior of the video.use_native_backlight=1 or 0 kernel cmdline option to be: if user has set video.use_native_backlight=1 or 0, use that no matter if it is a win8 system or not. Also, we will put some known systems into the DMI table to make them either use native backlight interface or not, and the use_native_backlight_dmi is used to reflect that. Original-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e35158e40110270600698f19bda5e21d8ce709d7 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sat Mar 21 20:20:23 2015 +0100 netfilter: ip6t_REJECT: check for IP6T_F_PROTO Make sure IP6T_F_PROTO is set to enforce layer 4 protocol matching from the ip6_tables core. Suggested-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 55df35d22fe3433032d82b8c67dfd283cb071953 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Mar 21 15:19:16 2015 +0000 netfilter: nf_tables: reject NFT_SET_ELEM_INTERVAL_END flag for non-interval sets Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 16c45eda96038aae848b6cfd42e2bf4b5e80f365 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Sat Mar 21 15:19:14 2015 +0000 netfilter: nft_rbtree: fix locking Fix a race condition and unnecessary locking: * the root rb_node must only be accessed under the lock in nft_rbtree_lookup() * the lock is not needed in lookup functions in netlink context Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8d0451638ad3f7ccd5250c1dd90e06ad487b2703 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Mar 18 20:55:31 2015 +0100 netfilter: bridge: kill nf_bridge_pad The br_netfilter frag output function calls skb_cow_head() so in case it needs a larger headroom to e.g. re-add a previously stripped PPPOE or VLAN header things will still work (at cost of reallocation). We can then move nf_bridge_encap_header_len to br_netfilter. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f8c3c3094302cb25d9720804b8100fdd37a3ace0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 04:15:18 2015 +0000 ASoC: rsnd: add dai_link stream name This patch adds missing dai_link stream_name which is used when DPCM Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 555828ef45f825d6ee06559f0304163550eed380 Author: Andreas Werner <kernel@xxxxxxxxxx> Date: Sun Mar 22 17:35:52 2015 +0100 can: flexcan: Deferred on Regulator return EPROBE_DEFER Return EPROBE_DEFER if Regulator returns EPROBE_DEFER If the Flexcan driver is built into kernel and a regulator is used to enable the CAN transceiver, the Flexcan driver may not use the regulator. When initializing the Flexcan device with a regulator defined in the device tree, but not initialized, the regulator subsystem returns EPROBE_DEFER, hence the Flexcan init fails. The solution for this is to return EPROBE_DEFER if regulator is not initialized and wait until the regulator is initialized. Signed-off-by: Andreas Werner <kernel@xxxxxxxxxx> Cc: linux-stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit d2c4b80c5b392c8437f9174161a17176b9c3cd76 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 04:14:45 2015 +0000 ASoC: rsnd: show debug info for sampling rate convert Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 072bd1e7e136e089e41c8cc2d2b2251ed60b5bcd Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 04:14:20 2015 +0000 ASoC: rsnd: tidyup error message format This driver sometimes fixups debug/error message format 30cc4faf703955cd5cd07da489bd817ae43e3fec (ASoC: rsnd: tidyup debug message format and timing) 337b0b4c5f415705f1b97df57cecfac45903449a (ASoC: rsnd: error meesage indicates its port) But, it still exist un-fomated error message. This patch fixup it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 639b231f866c6cc6dcefc33bcaf31e7554697186 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 04:14:04 2015 +0000 ASoC: rsnd: no more SRC restart when unusual situation It will be SRC interrupt endless loop f unusual situation happen. This patch adds restart limit for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 044930b4a69a6c0645b6199bec4f870e0b6e77f4 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 19 04:13:47 2015 +0000 ASoC: rsnd: no more SSI restart when unusual situation It will be SSI interrupt endless loop f unusual situation happen. This patch adds restart limit for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 33187fb4a203e44dec11211f2fa86a63139615bc Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:49:02 2015 +0100 ASoC: rsnd: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c660c0a805860e3abf22b44a2508ff46a549ffa9 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:49:01 2015 +0100 ASoC: fsi: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f7d4bfee667e236bc9680cfe2f17247bc007f4e3 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:49:00 2015 +0100 ASoC: ak4554: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 261e43a35893830ff32de94443d685c8b9770f5f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:48:59 2015 +0100 ASoC: rt5631: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f2c52afc02554f18db27242b62d4047bbd8df4c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:48:58 2015 +0100 ASoC: kirkwood: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6ffa84df2b26b1ba78f6a55b373b9513c93017d6 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:48:57 2015 +0100 ASoC: fsl: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ea467326e36b496a92c677cbbed1dfd03b707aaf Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:53:08 2015 +0000 spi: atmel: use endian agnostic IO Use the endian agnositc IO functions instead of the __raw ones for when the driver is in use on big-endian systems. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 258ce80e19211f06c97a562a71308ec21a9ab98f Author: Andri Yngvason <andri.yngvason@xxxxxxxxx> Date: Tue Mar 17 13:03:09 2015 +0000 can: flexcan: fix bus-off error state handling. Making sure that the bus-off state gets passed to can_change_state(). Signed-off-by: Andri Yngvason <andri.yngvason@xxxxxxxxx> Cc: linux-stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 0f251e45c7cbb1a494b5600485ea8ff64f664b3f Author: Stephane Grosjean <s.grosjean@xxxxxxxxxxxxxxx> Date: Mon Mar 16 11:57:53 2015 +0100 can: peak_usb_fd: add support for ISO / non-ISO mode switching The PCAN USB (pro) FD adapters with firmware versions > 2.x support the switching between ISO (default) and non-ISO conform bitstreams on the CAN bus. The setting for the 2.x firmware adapters can be modified with the 'ip' tool from the iproute2 package (option: fd-non-iso [on|off]). Signed-off-by: Stephane Grosjean <s.grosjean@xxxxxxxxxxxxxxx> Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Tested-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 3ef5247e033972ddbd16f65ec2ad8a7dfc2e4170 Author: Stephane Grosjean <s.grosjean@xxxxxxxxxxxxxxx> Date: Mon Mar 16 11:57:52 2015 +0100 can: peak_usb: rename usb option cmds definition and structs The PUCAN_CMD_RX_FRAME_(ENABLE|DISABLE) command has extended its purpose and was therefore renamed to PUCAN_CMD_SET_(EN|DIS)_OPTION. Signed-off-by: Stephane Grosjean <s.grosjean@xxxxxxxxxxxxxxx> Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Tested-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 37920a74abd6fdf0696730ba80a07843a62c9c54 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Mar 16 22:42:24 2015 +0000 can: gs_usb: check for kzalloc allocation failure smatch detected the following issue: drivers/net/can/usb/gs_usb.c:904 gs_usb_probe() error: potential null dereference 'dev'. (kzalloc returns null) Add a check for null return from kzalloc and return -ENOMEM Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 7e184c28636dce594426cd7d8781d52d1dd447cd Author: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Date: Sun Mar 15 11:10:49 2015 -0400 can: kvaser_usb: Fix sparse warning __le16 degrades to integer USB endpoint's wMaxPacketSize field is an le16 entity. Use appropriate le16_to_cpu macros to maintain endian independence. Reported-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 082d70b6142f623c10f7a032d9b63a2399fb4ded Author: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Date: Sun Mar 15 11:03:38 2015 -0400 can: kvaser_usb: Comply with firmware max tx URBs value Current driver code arbitrarily assumes a max outstanding tx value of 16 parallel transmissions. Meanwhile, the device firmware provides its actual maximum inside its reply to the CMD_GET_SOFTWARE_INFO message. Under heavy tx traffic, if the interleaved transmissions count increases above the limit reported by firmware, the firmware breaks up badly, reports a massive list of internal errors, and the candump traces hardly matches the actual frames sent and received. On the other hand, in certain models, the firmware can support up to 48 tx URBs instead of just 16, increasing the driver throughput by two-fold and reducing the possibility of -ENOBUFs. Thus dynamically set the driver's max tx URBs value according to firmware replies. Signed-off-by: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 963a70b8a2d65538f7d58b2b84a2ae10a3ecb6ea Merge: 08b3f91 ca33380 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Mar 22 10:56:19 2015 +0100 Merge tag 'perf-core-for-mingo-2' 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: - Handle legacy syscalls tracepoints (David Ahern, Arnaldo Carvalho de Melo) - Indicate which callchain entries are annotated in the TUI hists browser (report/top) (Arnaldo Carvalho de Melo) - Fix failure to add multiple probes without debuginfo (He Kuang) - Fix 'trace' summary_only option (David Ahern) - Fix race in build_id_cache__add_s() in 'buildid-cache' (Milos Vyletel) - Don't allow empty argument for field-separator, fixing segfault (Wang Nan) Infrastructure: - Add destructor for format_field in libtraceevent (David Ahern) - Prep work for support lzma compressed kernel modules (Jiri Olsa) - Update .gitignore with recently added/renamed feature detection files (Yunlong Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 08b3f913900075a19564ab68967028ab99c95820 Merge: c80e5c0 0c8c207 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Mar 22 10:54:44 2015 +0100 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: - Bash completion for subcommands (Yunlong Song) - Allow annotating entries in callchains in the hists browser (top/report). TODO: give some visual cue to what entries in callchains have samples and thus can be annotated and/or allow showing the source code for functions without samples (Arnaldo Carvalho de Melo) - Don't allow empty argument for '-t' in perf report, fixing segfault (Wang Nan) Infrastructure: - Prep work for moving the perf feature tests build system to tools/build (Jiri Olsa) - Fix perf-read-vdsox32 not building and lib64 install dir (H.J. Lu) - ARM64: fix building error and eh/debug frame offset cache fixes (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4a7a08226dd590a139e5f7835fe93f90b3beee90 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Thu Mar 19 13:16:46 2015 +0200 i2c: add support for the Digicolor I2C controller The CX92755 is an SoC in the Conexant Digicolor series. The devicetree binding document describes the I2C controller on the CX92755 SoC, that is also shared by some other SoCs in the Digicolor series. The driver adds support. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> [wsa: fixed spaces around operators] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit baf880a96859cca79208122e555e7efeabd16e4d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sat Mar 21 08:02:23 2015 +0200 Bluetooth: Fix memory leak in le_scan_disable_work_complete() The hci_request in le_scan_disable_work_complete() was being initialized in a general context but only used in a specific branch in the function (when simultaneous discovery is not supported). This patch moves the usage to be limited to the branch where hci_req_run() is actually called. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit be0b5e635883678bfbc695889772fed545f3427d Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Sat Mar 21 15:16:05 2015 -0500 rtlwifi: Fix IOMMU mapping leak in AP mode Transmission of an AP beacon does not call the TX interrupt service routine, which usually does the cleanup. Instead, cleanup is handled in a tasklet completion routine. Unfortunately, this routine has a serious bug in that it does not release the DMA mapping before it frees the skb, thus one IOMMU mapping is leaked for each beacon. The test system failed with no free IOMMU mapping slots approximately one hour after hostapd was used to start an AP. This issue was reported and tested at https://github.com/lwfinger/rtlwifi_new/issues/30. Reported-and-tested-by: Kevin Mullican <kevin@xxxxxxxxxxxx> Cc: Kevin Mullican <kevin@xxxxxxxxxxxx> Signed-off-by: Shao Fu <shaofu@xxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> [3.18+] Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f569d3ef8254d4b3b8daa4f131f9397d48bf296c Author: Dominique Martinet <dominique.martinet@xxxxxx> Date: Fri Jan 9 13:07:00 2015 +0100 net/9p: add a privport option for RDMA transport. RDMA can use the same kind of weak security as TCP by checking the client can bind to a privileged port, which is better than nothing if TAUTH isn't implemented. Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 5c4086b8de6989f10ae814f5746604fc44a02a21 Author: Dominique Martinet <dominique.martinet@xxxxxx> Date: Fri Jan 9 12:56:07 2015 +0100 fs/9p: Initialize status in v9fs_file_do_lock. If p9_client_lock_dotl returns an error, status is possibly never filled but will be used in the following switch. Initializing it to P9_LOCK_ERROR makes sur we will return an error and cleanup (and not hit the default case). Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit b99baa43e533eb62a947e623d0ef844cfbf28d8e Author: Dominique Martinet <dominique.martinet@xxxxxx> Date: Fri Jan 9 13:05:56 2015 +0100 net/9p: Initialize opts->privport as it should be. We're currently using an uninitialized value if option privport is not set, thus (almost) always using a privileged port. Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 4d9b13c7cc803fbde59d7e998f7de2b9a2101c7e Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Thu Mar 19 12:08:30 2015 +0000 ASoC: pcm512x: Add 'Analogue' prefix to analogue volume controls This is to ensure that 'alsactl restore' does not apply default initialisation as the chip reset defaults are preferred. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3088ef9f5dec3d72b24dcdd33d240823ab26b432 Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Thu Mar 19 12:08:29 2015 +0000 ALSA: ControlName.txt: Add 'Analogue' as a prefix for volume controls Currently 'Playback Volume' is the correct way to express an analogue volume control. However, this control name has initialisation defaults applied when using 'alsactl restore' and in some cases this is not appropriate. An example would be a control that has a selection of 0db and -6dB of gain that is intended to set the fullscale ouput voltage of a DAC. The TI pcm512x family of DAcs have such a control. In this case the device/driver reset defaults are preferred. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Acked-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca33380adf74afb985bf7aab09ec46707a5d2d57 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Feb 17 17:29:57 2015 +0100 perf tools: Use kmod_path__parse for machine__new_dso Using kmod_path__parse to get the module name and update the dso short name within machine__new_dso function. This way it's done only first time when dso is created, unlike the current way when we update it all the time we process memory map of the kernel module. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8gjmt1ggf5ls1xkk7qi2ko4k@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit da17ea33e5a5d0c5226a37c375575d689f6a741b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:10:52 2015 +0100 perf tools: Add machine__module_dso function Separate the dso object addition and update when adding new kernel module. Currently we update dso's symtab_type any time we find it in the list, because we can't distinguish between new and found dso from __dsos__findnew function. Adding machine__module_dso that separates finding and adding new dso objects, so there's no superfluous update of dso. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-uvqgs5tyq4wssnq6fm43hgvk@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 701d8d7f861ec36f3bc60d1ddb185cceb7919c79 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 12 22:06:09 2015 +0100 perf tools: Add dsos__addnew function Separate the creation of new dso object and its addition to the dsos list. It will be used in following patch. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8j43jod97fdt5dwdsushwwae@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3c8a67f50a1e68b912d1d74db6b455cac54ec4b4 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Feb 5 15:40:25 2015 +0100 perf tools: Add kmod_path__parse function Provides united way of parsing kernel module path into several components. The new kmod_path__parse function and few defines: int __kmod_path__parse(struct kmod_path *m, const char *path, bool alloc_name, bool alloc_ext); #define kmod_path__parse(__m, __p) __kmod_path__parse(__m, __p, false, false) #define kmod_path__parse_name(__m, __p) __kmod_path__parse(__m, __p, true , false) #define kmod_path__parse_ext(__m, __p) __kmod_path__parse(__m, __p, false, true) parse kernel module @path and updates @m argument like: @comp - true if @path contains supported compression suffix, false otherwise @kmod - true if @path contains '.ko' suffix in right position, false otherwise @name - if (@alloc_name && @kmod) is true, it contains strdup-ed base name of the kernel module without suffixes, otherwise strudup-ed base name of @path @ext - if (@alloc_ext && @comp) is true, it contains strdup-ed string the compression suffix It returns 0 if there's no strdup error, -ENOMEM otherwise. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-9t6eqg8j610r94l743hkntiv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 80a32e5b498a7547073e5e4b2b804edc7219979d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Jan 29 13:29:39 2015 +0100 perf tools: Add lzma decompression support for kernel module In short, Fedora compresses kernel modules now (since version 21) with lzma compression. Adding lzma decompress support into the dso.c:compressions array introduced by Namhyung earlier. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2glp65kdtbrk0gblmirsjsnt@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6c6f0f6164fbf7a1667378496ee36ae48c18a9d6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Mar 4 11:35:47 2015 +0100 tools build: Add feature check for lzma library Will be used to decompress 'xz' objects. The check detects the liblzma.so devel library normally delivered by xz package. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> commit 00ae1127a03d20f5ef89f3c1fe7d4720270fc2a5 Author: David Ahern <dsahern@xxxxxxxxx> Date: Thu Mar 19 12:36:21 2015 -0600 tools lib traceevent: Add destructor for format_field Move the calls that frees the resources allocated for a struct format_field to a separate routine. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426790181-19118-1-git-send-email-dsahern@xxxxxxxxx [ Split this part from a larger patch, added pevent_ prefix as requested by Steven ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 70e972788888315851a5c1b4982efbcafcd03b5b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Mar 19 16:07:21 2015 -0300 perf hists browser: Indicate which callchain entries are annotated Now that we can annotate entries in a callchain, show which ones have an associated symbol and samples, by adding a right arrow just before the symbol name when in verbose mode. To toggle verbose mode press 'V'. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d2rf1p3h5gdp7hdl2gf2bozl@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f208bd8df08d0659ecd9e09e992c79aab26cddfa Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Mar 20 17:46:53 2015 -0300 perf trace: Handle legacy syscalls tracepoints Currently the code skips the first field with the expectation that it is 'nr'. But older kernels do not have the 'nr' field: field:int nr; offset:8; size:4; signed:1; Change perf-trace to drop the field if it exists after parsing the format file. This fixes the off-by-one problem with older kernels (e.g., RHEL6). e.g, perf-trace shows this for write: 1.515 ( 0.006 ms): dd/4245 write(buf: 2</dev/pts/0>, count: 140733837536224 ) = 26 where 2 is really the fd, the huge number is really the buf address, etc. With this patch you get the more appropriate: 1.813 ( 0.003 ms): dd/6330 write(fd: 2</dev/pts/0>, buf: 0x7fff22fc81f0, count: 25) = 25 Based-on-a-patch-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-gvpdave4u2yq2jnzbcdznpvf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e6c76d620379fd65fc0310aee1785ff7b1b10236 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 21:19:44 2015 +0100 perf build: Move feature checks code under tools/build Moving feature checks code under tools/build directory. Changing also $feature_dir to point to new feature directory location and perf Makefiles to include Makefile.feature from new location. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-3lamtb30dhf4wo99y1n8kxg0@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 970e87b33820205b31306dfb734771842874767c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 21:12:25 2015 +0100 perf build: Make features checks directory configurable Putting feature checks directory into $feature_dir, so it's easy to configure when we move it to bools/build later. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-sq2nsds6uk93372iyxcqcf6q@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0afc5cad387db56054b09bb14baf0e6e49df2fd2 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 21:04:01 2015 +0100 perf build: Separate feature make support into config/Makefile.feature Move feature related code into separate makefile. The new Makefile.feature is included from config/Makefile. It will be moved later into tools/build. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kj76wphg05x83n6d5ff85ybx@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 58d4f00ff13f20468f8fa8edcb57a195c31af46d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Mar 19 20:48:49 2015 +0100 perf build: Fix feature_check name clash We have 2 feature_check functions, which conflict with each other. Fixing it by renaming the latter to feature_display_check. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-wmyccro6qeffseforipu5kcl@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 13f22a2d4a5359867aa05562fc922f1ca24873a5 Author: David Ahern <dsahern@xxxxxxxxx> Date: Thu Mar 19 12:23:03 2015 -0600 perf trace: Fix summary_only option The intent of the -s/--summary-only option is to just show a summary of the system calls and statistics without any of the individual events. Commit e596663ebb2 broke that by showing the interrupted lines: perf trace -i perf.data -s ... 0.741 ( 0.000 ms): sleep/31316 fstat(fd: 4, statbuf: 0x7ffc75ceb830 ) ... 0.744 ( 0.000 ms): sleep/31316 mmap(len: 100244, prot: READ, flags: PRIVATE, fd: 4 ) ... 0.747 ( 0.000 ms): perf/31315 write(fd: 3, buf: 0x7d4bb0, count: 8 ) ... ... Fix by checking for the summary only option. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Link: http://lkml.kernel.org/r/1426789383-19023-1-git-send-email-dsahern@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0560a0c4a12a45def9700e7ec3215da102cf914b Author: He Kuang <hekuang@xxxxxxxxxx> Date: Fri Mar 20 09:56:56 2015 +0800 perf probe: Fix failure to add multiple probes without debuginfo Perf tries to find probe function addresses from map when debuginfo could not be found. To the first added function, the value of ref_reloc_sym was set in maps__set_kallsyms_ref_reloc_sym() and can be obtained from host_machine->kmaps->maps. After that, new maps are added to host_machine->kmaps->maps in dso__load_kcore(), all these new added maps do not have a valid ref_reloc_sym. When adding a second function, get_target_map() may get a map without valid ref_reloc_sym, and raise the error "Relocated base symbol is not found". Fix this by using kernel_get_ref_reloc_sym() to get ref_reloc_sym. This problem can be reproduced as following: $ perf probe --add='sys_write' --add='sys_open' Relocated base symbol is not found! Error: Failed to add events. After this patch: $ perf probe --add='sys_write' --add='sys_open' Added new event: probe:sys_write (on sys_write) You can now use it in all perf tools, such as: perf record -e probe:sys_write -aR sleep 1 Added new event: probe:sys_open (on sys_open) You can now use it in all perf tools, such as: perf record -e probe:sys_open -aR sleep 1 Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426816616-2394-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2bd50fb3d4d31f5168ecea221f291534cd0a96e9 Author: Taesoo Kim <tsgatesv@xxxxxxxxx> Date: Sat Mar 21 19:08:30 2015 -0400 cifs: potential memory leaks when parsing mnt opts For example, when mount opt is redundently specified (e.g., "user=A,user=B,user=C"), kernel kept allocating new key/val with kstrdup() and overwrite previous ptr (to be freed). Althouhg mount.cifs in userspace performs a bit of sanitization (e.g., forcing one user option), current implementation is not robust. Other options such as iocharset and domainanme are similarly vulnerable. Signed-off-by: Taesoo Kim <tsgatesv@xxxxxxxxx> Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit e1e9bda22d7ddf88515e8fe401887e313922823e Author: David Disseldorp <ddiss@xxxxxxx> Date: Fri Mar 13 14:20:29 2015 +0100 cifs: fix use-after-free bug in find_writable_file Under intermittent network outages, find_writable_file() is susceptible to the following race condition, which results in a user-after-free in the cifs_writepages code-path: Thread 1 Thread 2 ======== ======== inv_file = NULL refind = 0 spin_lock(&cifs_file_list_lock) // invalidHandle found on openFileList inv_file = open_file // inv_file->count currently 1 cifsFileInfo_get(inv_file) // inv_file->count = 2 spin_unlock(&cifs_file_list_lock); cifs_reopen_file() cifs_close() // fails (rc != 0) ->cifsFileInfo_put() spin_lock(&cifs_file_list_lock) // inv_file->count = 1 spin_unlock(&cifs_file_list_lock) spin_lock(&cifs_file_list_lock); list_move_tail(&inv_file->flist, &cifs_inode->openFileList); spin_unlock(&cifs_file_list_lock); cifsFileInfo_put(inv_file); ->spin_lock(&cifs_file_list_lock) // inv_file->count = 0 list_del(&cifs_file->flist); // cleanup!! kfree(cifs_file); spin_unlock(&cifs_file_list_lock); spin_lock(&cifs_file_list_lock); ++refind; // refind = 1 goto refind_writable; At this point we loop back through with an invalid inv_file pointer and a refind value of 1. On second pass, inv_file is not overwritten on openFileList traversal, and is subsequently dereferenced. Signed-off-by: David Disseldorp <ddiss@xxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit 2477bc58d49edb1c0baf59df7dc093dce682af2b Author: Sachin Prabhu <sprabhu@xxxxxxxxxx> Date: Wed Feb 4 13:10:26 2015 +0000 cifs: smb2_clone_range() - exit on unhandled error While attempting to clone a file on a samba server, we receive a STATUS_INVALID_DEVICE_REQUEST. This is mapped to -EOPNOTSUPP which isn't handled in smb2_clone_range(). We end up looping in the while loop making same call to the samba server over and over again. The proposed fix is to exit and return the error value when encountered with an unhandled error. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sachin Prabhu <sprabhu@xxxxxxxxxx> Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit b712a623bd5c3b04b005e757945d43441e0aa4a8 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Mar 20 01:19:05 2015 +0800 clk: sunxi: Register divs clocks before factor clocks We want to reparent AHB clock to PLL6 on sun5i/sun7i using the assigned clocks properties. AHB is a factor clock, while PLL6 is a divs clock. Register divs clocks before factor clocks so reparenting works. This is only needed because we do the reparenting on the clock provider. The proper way to fix this is to split out all the old sunxi clocks into separate CLK_OF_DECLARE statements, like we are doing for sun9i. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 946fd40f2860bca61abb51676cf72b31ca79d3f8 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Mar 20 01:19:04 2015 +0800 clk: sunxi: Add "cpu" to list of protected clocks for sun5i Now that the ahb clock on sun5i/sun7i is muxable, ahb is no longer guaranteed to be a child of the cpu clock. Add the cpu clock to the list of protected clocks so it doesn't get disabled. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 9f2430973d6713b73b3d25990d0ceb77a12a13a6 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Mar 20 01:19:03 2015 +0800 clk: sunxi: Add muxable ahb factors clock for sun5i and sun7i The AHB clock on sun5i and sun7i are muxable divider clocks. Use a factors clock to support them. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 44a89c82feca565efd44b5aef1f1b99b93621d19 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 19:14:50 2015 +0530 ath9k: Fix AIC compilation error AIC needs to be registered only when BTCOEX is enabled. This fixes the error reported by kbuild: >> ERROR: "ar9003_hw_attach_aic_ops" [drivers/net/wireless/ath/ath9k/ath9k_hw.ko] undefined! Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f93a25b38cbd840f26c9fd2dd8a6611a57b259b7 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Fri Mar 20 22:18:17 2015 +0100 brcmfmac: disable MBSS feature for BCM43362 The BCM43362 firmware falsely reports it is capable of providing MBSS. As a result AP mode no longer works for this device. Therefor disable MBSS in the driver for this chipset. Cc: stable@xxxxxxxxxxxxxxx # 3.19.y Reported-by: Jorg Krause <jkrause@xxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 15c32c5ff2d41dcf368e02607639843905b6db1a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 20 17:16:36 2015 -0700 Bluetooth: Read Verbose Config Version Info for Broadcom devices The Broadcom devices expose their chip id via Read Verbose Config Version Info command. While this information is not used at the moment, it might be useful for debugging purposes and so read it before patching the firmware. This makes it show up in dmesg and HCI traces taken for the system. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 68c581d5e7d834d8e97534cafd60bd6716ee6fbc Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Fri Mar 20 21:45:59 2015 -0700 Input: add Qualcomm PM8941 power key driver Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8f2ddaac302a8ca364cb04efb19cd3b5cd058910 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 21 14:14:03 2015 +1100 netlink: Remove netlink_compare_arg.trailer Instead of computing the offset from trailer, this patch computes netlink_compare_arg_len from the offset of portid and then adds 4 to it. This allows trailer to be removed. Reported-by: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69a3b16ff66201cb24a772a6e3009044ec582b12 Merge: 89c69d3 9a391c7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 22:03:15 2015 -0400 Merge branch 'netcp-next' Murali Karicheri says: ==================== NetCP: Add support for version 1.5 NetCP 1.5 is used in newer K2 SoCs from Texas Instruments such as K2E, K2L etc. This patch series add support for Ethss driver for this version of NetCP. While at it, fix couple of bugs in the original driver. One of the earlier patch "net: netcp: select davinci_mdio driver by default" is folded onto this series. Please review and let me know your comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a391c7ba7dcfc64754140ce13d5fc55d149531a Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Fri Mar 20 16:11:25 2015 -0400 net: netcp: ethss: enhancement to support NetCP 1.5 ethss NetCP 1.5 available on newer K2 SoCs such as K2E and K2L introduced 3 variants of the ethss subsystem, 9 port, 5 port and 2 port. These have one host port towards the CPU and N external slave ports. To customize the driver for these new ethss sub systems, multiple compatibility strings are introduced. Currently some of parameters that are different on different variants such as number of ALE ports, stats modules and number of ports are defined through constants. These are now changed to variables in gbe_priv data that get set based on the compatibility string. This is required as there are no hardware identification registers available to distinguish among the variants of NetCP 1.5 ethss. However there is identification register available to differentiate between NetCP 1.4 vs NetCP 1.5 and the same is made use of in the code to differentiate them. For more reading on the details of this peripheral, please refer to the User Guide available at http://www.ti.com/lit/pdf/spruhz3 Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Mugunthan V N <mugunthanvnm@xxxxxx> CC: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> CC: Grygorii Strashko <grygorii.strashko@xxxxxx> CC: Christoph Jaeger <cj@xxxxxxxxx> CC: Lokesh Vutla <lokeshvutla@xxxxxx> CC: Markus Pargmann <mpa@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da866ba055bf934c21bd936bbec01d69deffef95 Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Fri Mar 20 16:11:24 2015 -0400 net: netcp: enclose macros in parentheses Fix following checkpatch error. It seems to have passed checkpatch last time when original code was introduced. ERROR: Macros with complex values should be enclosed in parentheses #172: FILE: drivers/net/ethernet/ti/netcp_ethss.c:869: Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Mugunthan V N <mugunthanvnm@xxxxxx> CC: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> CC: Grygorii Strashko <grygorii.strashko@xxxxxx> CC: Christoph Jaeger <cj@xxxxxxxxx> CC: Lokesh Vutla <lokeshvutla@xxxxxx> CC: Markus Pargmann <mpa@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f49ae1492962ed3618ef57db7ce07c671e314632 Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Fri Mar 20 16:11:23 2015 -0400 net: netcp: select davinci_mdio driver by default Keystone netcp driver re-uses davinci mdio driver. So enable it by default for keystone netcp driver. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Mugunthan V N <mugunthanvnm@xxxxxx> CC: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> CC: Grygorii Strashko <grygorii.strashko@xxxxxx> CC: Christoph Jaeger <cj@xxxxxxxxx> CC: Lokesh Vutla <lokeshvutla@xxxxxx> CC: Markus Pargmann <mpa@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21e0e0ddda5be2905ca163cab2da5bb1880a790c Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Fri Mar 20 16:11:22 2015 -0400 net: netcp: use separate reg region for individual ethss modules Ethss has multiple modules within the sub system - switch sub system - sgmii - mdio - switch module NetCP driver re-uses existing davinci mdio driver. It requires to have its own register region to map the reg space. So restructure the code to use separate reg region for the individual modules it manages. Use range property to define register space of NetCP and use reg property to define individual reg spaces. So MDIO will have its own reg space to map. This is a pre-requisite to enable MDIO driver for NetCP. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Mugunthan V N <mugunthanvnm@xxxxxx> CC: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> CC: Grygorii Strashko <grygorii.strashko@xxxxxx> CC: Christoph Jaeger <cj@xxxxxxxxx> CC: Lokesh Vutla <lokeshvutla@xxxxxx> CC: Markus Pargmann <mpa@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e170f409924235478317bd6f2062d3a0c874ff9a Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Fri Mar 20 16:11:21 2015 -0400 net: netcp: fix forward port number usage for 10G ethss 10G switch requires forward port number in the taginfo field, where as it should be in packet_info field for necp 1.4 Ethss. So fill this value correctly in the knav dma descriptor. Also rename dma_psflags field in struct netcp_tx_pipe to switch_to_port as it contain no flag, but the switch port number for forwarding the packet. Add a flag to hold the new flag, SWITCH_TO_PORT_IN_TAGINFO which will be set for 10G. This can also used in the future for other flags for the tx_pipe. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Mugunthan V N <mugunthanvnm@xxxxxx> CC: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> CC: Grygorii Strashko <grygorii.strashko@xxxxxx> CC: Christoph Jaeger <cj@xxxxxxxxx> CC: Lokesh Vutla <lokeshvutla@xxxxxx> CC: Markus Pargmann <mpa@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89c69d3ce5ff0d1d73c19ff0b53268e3325cb3ef Author: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Thu Mar 19 22:42:04 2015 +0900 net: neighbour: Document {mcast, ucast}_solicit, mcast_resolicit. Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8da86466b83787df0d4b89ec81c310de072d101c Author: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Thu Mar 19 22:41:46 2015 +0900 net: neighbour: Add mcast_resolicit to configure the number of multicast resolicitations in PROBE state. We send unicast neighbor (ARP or NDP) solicitations ucast_probes times in PROBE state. Zhu Yanjun reported that some implementation does not reply against them and the entry will become FAILED, which is undesirable. We had been dealt with such nodes by sending multicast probes mcast_ solicit times after unicast probes in PROBE state. In 2003, I made a change not to send them to improve compatibility with IPv6 NDP. Let's introduce per-protocol per-interface sysctl knob "mcast_ reprobe" to configure the number of multicast (re)solicitation for reconfirmation in PROBE state. The default is 0, since we have been doing so for 10+ years. Reported-by: Zhu Yanjun <Yanjun.Zhu@xxxxxxxxxxxxx> CC: Ulf Samuelsson <ulf.samuelsson@xxxxxxxxxxxx> Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc300dc3733fdc328e6e10c7b8379b60c26cd648 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Mar 20 23:14:32 2015 +0100 bgmac: allow enabling on ARCH_BCM_5301X Home routers based on ARM SoCs like BCM4708 also have bcma bus with core supported by bgmac. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c25b23b8a387e7d31f7a74af8e37b61e9e6ebb21 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Mar 20 23:14:31 2015 +0100 bgmac: register fixed PHY for ARM BCM470X / BCM5301X chipsets On ARM SoCs with bgmac Ethernet hardware we don't have any normal PHY. There is always a switch attached but it's not even controlled over MDIO like in case of MIPS devices. We need a fixed PHY to be able to send/receive packets from the switch. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df814d96edcb8b224ead0f64b380be10ce94f900 Merge: c6f1507 784401b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 21:40:47 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-20 This series contains updates to ixgb, e1000e, igb and igbvf. Eliezer and Todd provide patches to fix a potential issue found during code inspection. When bringing down an interface netif_carrier_off() should be one of the first things we do, since this will prevent the stack from queueing more packets to this interface. Yanir provides a fix for e1000e that was found in validating i219, where the call to e1000e_write_protect_nvm_ich8lan() is no longer supported in newer hardware. Access to these registers causes a system freeze in early steppings and is ignored in later steppings. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6f15070e70c2bdd769317a0615f5c5e8869bfaa Author: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Date: Fri Mar 20 18:31:03 2015 -0700 net: dsa: make NET_DSA manually selectable from the config Change bd76a116707bd2381da36cf7c3183df11293f1d6 made all DSA drivers depend on NET_DSA rather than selecting them. However, as the only way to select this option was to actually select a driver, it made DSA impossible to enable at all. This patch adds an explicit entry which the user will have to enable prior selecting a driver. Signed-off-by: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13bb8e2eb37eb3badf5bf4b6bb90e485fbb6b1cd Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Fri Mar 20 17:42:46 2015 -0700 switchdev: kernel-doc cleanup on swithdev ops Suggested-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3593b5cef76db45c864de23c599b58198879e8c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Mar 20 17:15:19 2015 -0700 Revert "selinux: add a skb_owned_by() hook" This reverts commit ca10b9e9a8ca7342ee07065289cbe74ac128c169. No longer needed after commit eb8895debe1baba41fcb62c78a16f0c63c21662a ("tcp: tcp_make_synack() should use sock_wmalloc") When under SYNFLOOD, we build lot of SYNACK and hit false sharing because of multiple modifications done on sk_listener->sk_wmem_alloc Since tcp_make_synack() uses sock_wmalloc(), there is no need to call skb_set_owner_w() again, as this adds two atomic operations. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14aef2919d06bd132f2e6f74f5ccb3caa4c92d54 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Mar 20 07:53:06 2015 +0800 regulator: stw481x: Remove unused fields from struct stw481x The mutex lock is not used at all, remove it. The *vmmc_regulator is not necessary, use a local variable in stw481x_vmmc_regulator_probe() instead. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 784401bfc0b22b5521492047884e8d834de4dfab Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Fri Mar 20 17:41:54 2015 -0700 igbvf: use netif_carrier_off earlier when bringing if down Use netif_carrier_off() first, since that will prevent the stack from queuing more packets to this IF. This operation is fast, and should behave much nicer when trying to bring down an interface under load. Reported-by: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f28ea083a3d21abec434f429f1375b3639b234c4 Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Fri Mar 20 17:41:53 2015 -0700 igb: use netif_carrier_off earlier when bringing if down Use netif_carrier_off() first, since that will prevent the stack from queuing more packets to this IF. This operation is fast, and should behave much nicer when trying to bring down an interface under load. Reported-by: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 152c0a976c71386c67c89969acc427dc5cf802b8 Author: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Date: Fri Mar 20 17:41:53 2015 -0700 e1000e: NVM write protect access removed from SPT HW The call to e1000e_write_protect_nvm_ich8lan() is no longer supported by HW. Access to these registers causes a system freeze in A step hardware and is ignored in B step hardware. This function must not be called in hardware newer than LPT. Signed-off-by: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a60a132e89cdb52621d154c78b69f7eb1307524d Author: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Date: Fri Mar 20 17:41:52 2015 -0700 e1000e: call netif_carrier_off early on down When bringing down an interface netif_carrier_off() should be one the first things we do, since this will prevent the stack from queuing more packets to this interface. This operation is very fast, and should make the device behave much nicer when trying to bring down an interface under load. Also, this would Do The Right Thing (TM) if this device has some sort of fail-over teaming and redirect traffic to the other IF. Move netif_carrier_off as early as possible. Signed-off-by: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d9d888b8b089edae99e40ab3f36d09ca1e592197 Author: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Date: Fri Mar 20 17:41:52 2015 -0700 ixgb: call netif_carrier_off early on down When bringing down an interface netif_carrier_off() should be one the first things we do, since this will prevent the stack from queuing more packets to this interface. This operation is very fast, and should make the device behave much nicer when trying to bring down an interface under load. Also, this would Do The Right Thing (TM) if this device has some sort of fail-over teaming and redirect traffic to the other IF. Move netif_carrier_off as early as possible. Signed-off-by: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 09dd1af2e011a13adce65b74425dfe31e1985e64 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sat Feb 28 09:16:08 2015 +0800 md/cluster: Communication Framework: fix semicolon.cocci warnings drivers/md/md-cluster.c:328: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: NeilBrown <neilb@xxxxxxx> commit 6dc69c9c460b0cf05b5b3f323a8b944a2e52e76d Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sat Feb 28 07:04:37 2015 +0800 md: recover_bitmaps() can be static drivers/md/md-cluster.c:190:6: sparse: symbol 'recover_bitmaps' was not declared. Should it be static? Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit fa8259da0e10b189e41ee60907ec2a499bb66019 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Mon Mar 2 10:55:49 2015 -0600 md: Fix stray --cluster-confirm crash A --cluster-confirm without an --add (by another node) can crash the kernel. Fix it by guarding it using a state. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit ab14d45ea58eae67c739e4ba01871cae7b6c4586 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 15:55:45 2015 +0100 PCI: mvebu: Add suspend/resume support Add suspend/resume support for the mvebu PCIe host driver. Without this commit, the system will panic at resume time when PCIe devices are connected. Note that we have to use the ->suspend_noirq() and ->resume_noirq() hooks, because at resume time, the PCI fixups are done at ->resume_noirq() time, so the PCIe controller has to be ready at this point. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f6877fcf229b4e3d396cbd5199e040b4ea1362eb Merge: 0fa74a4 a8cb5f5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 19:10:50 2015 -0400 Merge branch 'ebpf-next' Daniel Borkmann says: ==================== This set adds native eBPF support also to act_bpf and thus covers tc with eBPF in the classifier *and* action part. A link to iproute2 preview has been provided in patch 2 and the code will be pushed out after Stephen has processed the classifier part and helper bits for tc. This set depends on ced585c83b27 ("act_bpf: allow non-default TC_ACT opcodes as BPF exec outcome"), so a net into net-next merge would be required first. Hope that's fine by you, Dave. ;) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8cb5f556b567974d75ea29c15181c445c541b1f Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Mar 20 15:11:12 2015 +0100 act_bpf: add initial eBPF support for actions This work extends the "classic" BPF programmable tc action by extending its scope also to native eBPF code! Together with commit e2e9b6541dd4 ("cls_bpf: add initial eBPF support for programmable classifiers") this adds the facility to implement fully flexible classifier and actions for tc that can be implemented in a C subset in user space, "safely" loaded into the kernel, and being run in native speed when JITed. Also, since eBPF maps can be shared between eBPF programs, it offers the possibility that cls_bpf and act_bpf can share data 1) between themselves and 2) between user space applications. That means that, f.e. customized runtime statistics can be collected in user space, but also more importantly classifier and action behaviour could be altered based on map input from the user space application. For the remaining details on the workflow and integration, see the cls_bpf commit e2e9b6541dd4. Preliminary iproute2 part can be found under [1]. [1] http://git.breakpoint.cc/cgit/dborkman/iproute2.git/log/?h=ebpf-act Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94caee8c312d96522bcdae88791aaa9ebcd5f22c Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Mar 20 15:11:11 2015 +0100 ebpf: add sched_act_type and map it to sk_filter's verifier ops In order to prepare eBPF support for tc action, we need to add sched_act_type, so that the eBPF verifier is aware of what helper function act_bpf may use, that it can load skb data and read out currently available skb fields. This is bascially analogous to 96be4325f443 ("ebpf: add sched_cls_type and map it to sk_filter's verifier ops"). BPF_PROG_TYPE_SCHED_CLS and BPF_PROG_TYPE_SCHED_ACT need to be separate since both will have a different set of functionality in future (classifier vs action), thus we won't run into ABI troubles when the point in time comes to diverge functionality from the classifier. The future plan for act_bpf would be that it will be able to write into skb->data and alter selected fields mirrored in struct __sk_buff. For an initial support, it's sufficient to map it to sk_filter_ops. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Jiri Pirko <jiri@xxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fa74a4be48e0f810d3dc6ddbc9d6ac7e86cbee8 Merge: 6626af6 4de930e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 18:51:09 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/emulex/benet/be_main.c net/core/sysctl_net_core.c net/ipv4/inet_diag.c The be_main.c conflict resolution was really tricky. The conflict hunks generated by GIT were very unhelpful, to say the least. It split functions in half and moved them around, when the real actual conflict only existed solely inside of one function, that being be_map_pci_bars(). So instead, to resolve this, I checked out be_main.c from the top of net-next, then I applied the be_main.c changes from 'net' since the last time I merged. And this worked beautifully. The inet_diag.c and sysctl_net_core.c conflicts were simple overlapping changes, and were easily to resolve. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6626af692692b52c8f9e20ad8201a3255e5ab25b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 18:18:45 2015 -0400 rhashtable: Fix undeclared EEXIST build error on ia64 We need to include linux/errno.h in rhashtable.h since it doesn't always get included otherwise. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c30f546f3b7a1ac8b002dc3b3e8f4e26d195fa0 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Mar 20 11:20:38 2015 +0800 perf build: Add config/feature-checks/*.output to the .gitignore file They are all auto-generated files during the perf building. Before this patch: $ git status Untracked files: (use "git add <file>..." to include in what will be committed) config/feature-checks/test-all.make.output config/feature-checks/test-backtrace.make.output config/feature-checks/test-bionic.make.output config/feature-checks/test-dwarf.make.output config/feature-checks/test-fortify-source.make.output config/feature-checks/test-glibc.make.output config/feature-checks/test-gtk2-infobar.make.output config/feature-checks/test-gtk2.make.output config/feature-checks/test-libaudit.make.output config/feature-checks/test-libbabeltrace.make.output config/feature-checks/test-libbfd.make.output config/feature-checks/test-libdw-dwarf-unwind.make.output config/feature-checks/test-libelf-getphdrnum.make.output config/feature-checks/test-libelf-mmap.make.output config/feature-checks/test-libelf.make.output config/feature-checks/test-libnuma.make.output config/feature-checks/test-libperl.make.output config/feature-checks/test-libpython-version.make.output config/feature-checks/test-libpython.make.output config/feature-checks/test-libslang.make.output config/feature-checks/test-libunwind.make.output config/feature-checks/test-pthread-attr-setaffinity-np.make.output config/feature-checks/test-stackprotector-all.make.output config/feature-checks/test-sync-compare-and-swap.make.output config/feature-checks/test-timerfd.make.output config/feature-checks/test-zlib.make.output After this patch: $ git status nothing to commit, working directory clean Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426821638-11227-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 43f3e14f0cd16a6c3430137ee22176033d1960da Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Mar 20 11:20:37 2015 +0800 perf build: Use FEATURE-DUMP instead of PERF-FEATURES in the .gitignore file Since commit 4ae61202b31c ("perf build: Rename PERF-FEATURES into FEATURE-DUMP") renames PERF-FEATURES into FEATURE-DUMP, the .gitignore file should also do this thing for consistency. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426821638-11227-2-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8b8ca6e15e392b366a7d69c6bf1abaae005f2b63 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Mar 20 02:57:52 2015 +0000 perf tools: Don't allow empty argument for field-separator Both 'perf diff' and 'perf mem' have 'field-separator' option, which causes segfault if passed with empty string. This patch uses previously introduced 'OPT_STRING_NOEMPTY' option macro to prevent fault. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426820272-23302-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0635b0f71424be7706793ac260d063491a2889a0 Author: Milos Vyletel <milos@xxxxxxxxxx> Date: Fri Mar 20 11:37:25 2015 +0100 perf tools: Fix race in build_id_cache__add_s() int build_id_cache__add_s(const char *sbuild_id, const char *debugdir, const char *name, bool is_kallsyms, bool is_vdso) { ... if (access(filename, F_OK)) { ^--------------------------------------------------------- [1] if (is_kallsyms) { if (copyfile("/proc/kallsyms", filename)) goto out_free; } else if (link(realname, filename) && copyfile(name, filename)) ^-----------------------------^------------- [2] \------------ [3] goto out_free; } ... When multiple instances of perf record get to [1] at more or less same time and run access() one or more may get failure because the file does not exist yet (since the first instance did not have chance to link it yet). At this point the race moves to link() at [2] where first thread to get there links file and goes on but second one gets -EEXIST so it runs copyfile [3] which truncates the file. reproducer: rm -rf /root/.debug for cpu in $(awk '/processor/ {print $3}' /proc/cpuinfo); do perf record -a -v -T -F 1000 -C $cpu \ -o perf-${cpu}.data sleep 5 2> /dev/null & done wait and simply search for empty files by: find /lib/modules/`uname -r`/kernel/* -size 0 Signed-off-by: Milos Vyletel <milos@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@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/1426847846-11112-1-git-send-email-milos@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b4c11cb437fdb34b57b3a96f04288421d9a19e8d Merge: ebd6af0 385565a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 16:34:03 2015 -0400 Merge branch 'amd-xgbe-next' Tom Lendacky says: ==================== amd-xgbe: AMD XGBE driver updates 2015-03-19 The following series of patches includes functional updates and changes to the driver. - Use the phydev->advertising field instead of the phydev->supported field when configuring for auto-negotiation, etc. - Use the phy_driver flags field for setting the transceiver type instead of hardcoding it in the ethtool support. - Provide an auto-negotiation timeout check - Clarify the Tx/Rx queue information messages - Use the new DMA memory barrier operations - Set the device DMA mask based on what the hardware reports - Remove the software implementation of Tx coalescing - Fix the reporting of the Rx coalescing value - Use napi_alloc_skb when allocating an SKB in softirq This patch series is based on net-next. Changes from v2: - Use jiffies instead of timespec for the auto-negotiation timeout check - Remove the Rx path SKB allocation re-work patch since we should only inline the headers and the current code guards better against any hardware bugs Changes from v1: - Default to 32-bit DMA width (minimum supported) if hardware returns an unexpected DMA width value ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 385565a1f0d365793e1f90746237d508bfeef9af Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:41 2015 -0500 amd-xgbe: Use napi_alloc_skb when allocating skb in softirq Use the napi_alloc_skb function to allocate an skb when running within the softirq context to avoid calls to local_irq_save/restore. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a57ebcc2c1e8a924c3897df2c11c5d4620ec89e Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:34 2015 -0500 amd-xgbe: Fix Rx coalescing reporting The Rx coalescing value is internally converted from usecs to a value that the hardware can use. When reporting the Rx coalescing value, this internal value is converted back to usecs. During the conversion from and back to usecs some rounding occurs. So, for example, when setting an Rx usec of 30, it will be reported as 29. Fix this reporting issue by keeping the original usec value and using that during reporting. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c635eaacbf77bd6dae917925ef1e76d044b0da07 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:28 2015 -0500 amd-xgbe: Remove Tx coalescing The Tx coalescing support in the driver was a software implementation for something lacking in the hardware. Using hrtimers, the idea was to trigger a timer interrupt after having queued a packet for transmit. Unfortunately, as the timer value was lowered, the timer expired before the hardware actually did the transmit and so it was racey and resulted in unnecessary interrupts. Remove the Tx coalescing support and hrtimer and replace with a Tx timer that is used as a reclaim timer in case of inactivity. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 386d325dbdf16919f3416a1b6f26fcfd1c9549ff Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:22 2015 -0500 amd-xgbe: Set DMA mask based on hardware register value The hardware supplies a value that indicates the DMA range that it is capable of using. Use this value rather than hard-coding it in the driver. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ceb8f6be7e5a254cb5b894be7a032170ec34607b Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:16 2015 -0500 amd-xgbe: Use the new DMA memory barriers where appropriate Use the new lighter weight memory barriers when working with the device descriptors. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 600c8811d3f608d28a6a79bfbcca08bb7962f301 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:10 2015 -0500 amd-xgbe: Clarify output message about queues Clarify that the queues referred to in a message when the device is brought up are hardware queues and not necessarily related to the Linux network queues. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ae5eecdba7297725b280e81e905f48f85f9ffe7 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:50:04 2015 -0500 amd-xgbe-phy: Provide support for auto-negotiation timeout Currently, there is no interrupt code that indicates auto-negotiation has timed out. If the auto-negotiation has timed out then the start of a new auto-negotiation will begin again with a new base page being received. The state machine could be in a state that is not expecting this interrupt code which results in an error during auto-negotiation. Update the code to timestamp when the auto-negotiation starts. Should another page received interrupt code occur before auto-negotiation has completed but after the auto-negotiation timeout, then reset the state machine to allow the auto-negotiation to continue. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65f57cb152ea0ad464793927e79074eb6da0064a Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:49:53 2015 -0500 amd-xgbe-phy: Use the phy_driver flags field Remove the setting of the transceiver type when retrieving the device settings using ethtool and instead set the transceiver type in the phy_driver structure flags field. Change the transceiver type to be internal, also. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9663c8c21491267c064cdb028b767404a39d7c7 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Fri Mar 20 11:49:42 2015 -0500 amd-xgbe-phy: Use phydev advertising field vs supported With ethtool being able to control what is advertised, the advertising field is what should be used for priming the auto-negotiation registers and for various other checks, instead of the supported field. Also, move the initial setting of the supported and advertising fields into the probe function so that they are not reset each time the device is brought up, thus allowing the user to set as desired before bringing the device up. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebd6af092a221fc38e28fbb7995c0c7e3f0df875 Merge: 0b8c707 dc0ee26 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 16:16:32 2015 -0400 Merge branch 'rhashtable-inlined-interface' Herbert Xu says: ==================== rhashtable: Introduce inlined interface This series of patches introduces the inlined rhashtable interface. The idea is to make all the function pointers visible to the compiler by providing the rhashtable_params structure explicitly to each inline rhashtable function. For example, instead of doing obj = rhashtable_lookup(ht, key); you would now do obj = rhashtable_lookup_fast(ht, key, params); Where params is the same data that you would give to rhashtable_init. In particular, within rhashtable.c itself we would simply supply ht->p. So to convert users over, you simply have to make params globally accessible, e.g., by placing it in a static const variable, which can then be used at each inlined call site, as well as by the rhashtable_init call. The only ticky bit is that some users (i.e., netfilter) has a dynamic key length. This is dealt with by using params.key_len in the inline functions when it is non-zero, and otherwise falling back on ht->p.key_len. Note that I've only tested this on one compiler, gcc 4.7.2. So please test this with your compilers as well and make sure that the code is actually inlined without indirect function calls. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc0ee268d85026530720d8c874716287b7ede25b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:06 2015 +1100 rhashtable: Rip out obsolete out-of-line interface Now that all rhashtable users have been converted over to the inline interface, this patch removes the unused out-of-line interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cca7289d5cba80d61da711205cd230fc637e2e3 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:05 2015 +1100 tipc: Use inlined rhashtable interface This patch converts tipc to the inlined rhashtable interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b182aa6e967e8272a3ba718a89697f661915be7a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:04 2015 +1100 test_rhashtable: Use inlined rhashtable interface This patch converts test_rhashtable to the inlined rhashtable interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa3773211eb61f2a08ffc399a98af53594ba1509 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:02 2015 +1100 netfilter: Convert nft_hash to inlined rhashtable This patch converts nft_hash to the inlined rhashtable interface. This patch also replaces the call to rhashtable_lookup_compare with a straight rhashtable_lookup_fast because it's simply doing a memcmp (in fact nft_hash_lookup already uses memcmp instead of nft_data_cmp). Furthermore, the compare function is only meant to compare, it is not supposed to have side-effects. The current side-effect code can simply be moved into the nft_hash_get. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c428ecd1a21f1457ca3beb4df71b8a079c410e41 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:01 2015 +1100 netlink: Move namespace into hash key Currently the name space is a de facto key because it has to match before we find an object in the hash table. However, it isn't in the hash value so all objects from different name spaces with the same port ID hash to the same bucket. This is bad as the number of name spaces is unbounded. This patch fixes this by using the namespace when doing the hash. Because the namespace field doesn't lie next to the portid field in the netlink socket, this patch switches over to the rhashtable interface without a fixed key. This patch also uses the new inlined rhashtable interface where possible. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02fd97c3d4a8a14e222b0021c366db7041d28743 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:57:00 2015 +1100 rhashtable: Allow hash/comparison functions to be inlined This patch deals with the complaint that we make indirect function calls on the fast paths unnecessarily in rhashtable. We resolve it by moving the fast paths into inline functions that take struct rhashtable_param (which obviously must be the same set of parameters supplied to rhashtable_init) as an argument. The only remaining indirect call is to obj_hashfn (or key_hashfn it obj_hashfn is unset) on the rehash as well as the insert-during- rehash slow path. This patch also extends the support of vairable-length keys to include those where the key is fixed but scattered in the object. For example, in netlink we want to key off the namespace and the portid but they're not next to each other. This patch does this by directly using the object hash function as the indicator of whether the key is accessible or not. It also adds a new function obj_cmpfn to compare a key against an object. This means that the caller no longer needs to supply explicit compare functions. All this is done in a backwards compatible manner so no existing users are affected until they convert to the new interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 488fb86ee91d3b1182c2e30a9f9b45da14eda46f Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 21:56:59 2015 +1100 rhashtable: Make rhashtable_init params argument const This patch marks the rhashtable_init params argument const as there is no reason to modify it since we will always make a copy of it in the rhashtable. This patch also fixes a bug where we don't actually round up the value of min_size unless it is less than HASH_MIN_SIZE. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1420384e3aa83b4ac8af85ae92d84f320272756 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sun Mar 15 23:12:15 2015 +0800 NFSD: Put exports after nfsd4_layout_verify fail Fix commit 9cf514ccfa (nfsd: implement pNFS operations). Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 0b8c707ddf37171413fe67350263e5b6ffeedf7c Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Mar 19 19:38:27 2015 +0100 ebpf, filter: do not convert skb->protocol to host endianess during runtime Commit c24973957975 ("bpf: allow BPF programs access 'protocol' and 'vlan_tci' fields") has added support for accessing protocol, vlan_present and vlan_tci into the skb offset map. As referenced in the below discussion, accessing skb->protocol from an eBPF program should be converted without handling endianess. The reason for this is that an eBPF program could simply do a check more naturally, by f.e. testing skb->protocol == htons(ETH_P_IP), where the LLVM compiler resolves htons() against a constant automatically during compilation time, as opposed to an otherwise needed run time conversion. After all, the way of programming both from a user perspective differs quite a lot, i.e. bpf_asm ["ld proto"] versus a C subset/LLVM. Reference: https://patchwork.ozlabs.org/patch/450819/ Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d8325ecb9c21015f330eb0dcffcc5fc1b1fe5b8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 19:56:41 2015 +0100 cfg80211: add vlan to station add/change tracing This helps debug issues with VLAN modifications that are otherwise not really visible in any tracing/debugging. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b55d1abf568cdf12d148ced8b82b217bff824885 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Mar 20 11:14:50 2015 -0700 Bluetooth: Expose quirks through debugfs This patch expose controller quirks through debugfs. It would be useful for BlueZ tests using vhci. Currently there is no way to test quirk dependent behaviour. It might be also useful for manual testing. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5bc6510f919be9875fbbea3d8c1f6f33f9265a31 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:37 2015 +0100 iscsi-target: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 62554910a94a62f7b9b79cee3ca6bac95abe3c29 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 20 11:36:50 2015 -0700 target: Convert fabric module autoload failures to pr_debug This patch converts the fabric module autoload failures from pr_err to pr_debug in target_core_register_fabric() code, to reduce the amount of noise during normal operation. Reported-by: Olaf Hering <olaf@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 342f948a166c2a17b0e187e3fc2618dc561842f3 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 20 15:26:11 2015 +0100 spi: bcm2835: fix all checkpath --strict messages The following errors/warnings issued by checkpatch.pl --strict have been fixed: drivers/spi/spi-bcm2835.c:182: CHECK: Alignment should match open parenthesis drivers/spi/spi-bcm2835.c:191: CHECK: braces {} should be used on all arms of this statement drivers/spi/spi-bcm2835.c:234: CHECK: Alignment should match open parenthesis drivers/spi/spi-bcm2835.c:256: CHECK: Alignment should match open parenthesis drivers/spi/spi-bcm2835.c:271: CHECK: Alignment should match open parenthesis drivers/spi/spi-bcm2835.c:346: CHECK: Alignment should match open parenthesis total: 0 errors, 0 warnings, 6 checks, 403 lines checked In 2 locations the arguments had to get split/moved to the next line so that the line width stays below 80 chars. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c4a6853d8fb2b122686bc6a7c472956e87090f4e Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Fri Mar 20 11:37:17 2015 -0300 ipv6: invert join/leave anycast rtnl/socket locking order Commit baf606d9c9b1 ("ipv4,ipv6: grab rtnl before locking the socket") missed to update two setsockopt options, IPV6_JOIN_ANYCAST and IPV6_LEAVE_ANYCAST, causing a lock inverstion regarding to the updated ones. As ipv6_sock_ac_join and ipv6_sock_ac_leave are only called from do_ipv6_setsockopt, we are good to just move the rtnl lock upper. Fixes: baf606d9c9b1 ("ipv4,ipv6: grab rtnl before locking the socket") Reported-by: Ying Huang <ying.huang@xxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 149d7549c22045bc777a377720809b108639f9e9 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Fri Mar 20 10:26:21 2015 -0300 vxlan: fix possible use of uninitialized in vxlan_igmp_{join, leave} Test robot noticed that we check the return of vxlan_igmp_join and leave but inside them there was a path that it could be used initialized. It's not really possible because those if() inside these igmp functions would always match as we can't have sockets of other type in there, but this way we keep the compiler happy. Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 967b1307b69b8ada8b331e01046ad1ef83742e99 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 20 18:21:03 2015 +0100 ALSA: hda - Rename power_mgmt flag with power_save_node David suggested that the name "power_mgmt" is too ambiguous. Rename the flag with a bit clearer one "power_save_node". Also, add the corresponding description to HD-Audio.txt, too. Reported-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6b275b140094b701f7ad15272f0597e9d954e5e4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 20 18:11:05 2015 +0100 ALSA: hda - Fix power of pins used for mute LED with vrefs Some pins are used for controlling the LED with the VREF value. This patch changes the power behavior of such pins to be constantly up. A new state, pin_fixed, is introduced to nid_path to indicate that the path contains the fixed pin. This improves also the readability a bit for other static routes, too. Then a helper function snd_hda_gen_fix_pin_power() is called from the codec driver for such fixed pins, and it will create fake paths containing only these pins with pin_fixed=1 flag. Reported-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit edafc132baac4f5331b7bffd99a7af371776f2b5 Author: Palik, Imre <imrep@xxxxxxxxx> Date: Thu Mar 19 11:05:42 2015 +0100 xen-netback: making the bandwidth limiter runtime settable With the current netback, the bandwidth limiter's parameters are only settable during vif setup time. This patch register a watch on them, and thus makes them runtime changeable. When the watch fires, the timer is reset. The timer's mutex is used for fencing the change. Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Imre Palik <imrep@xxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1afaa05515212b136d96a48b2ba2251f40437d87 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:54:41 2015 +0100 EDAC: Constify of_device_id array of_device_id is always used as const. See driver.of_match_table and open firmware functions. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Doug Thompson <dougthompson@xxxxxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Johannes Thumshirn <johannes.thumshirn@xxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Cc: linux-edac@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1426535685-25996-10-git-send-email-fabf@xxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 7e174702c88f265600917dacd0f7385db660cca2 Author: Brian K. Turner <turnerbk84@xxxxxxxxx> Date: Fri Mar 20 09:36:35 2015 -0700 Input: lifebook - fix tabbing issue This change fixes a style issue where spaces where used instead of tabs. Signed-off-by: Brian K. Turner <turnerbk84@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a736775db683174269c65c7c5cc8e5ee534e7681 Author: Charlie Mooney <charliemooney@xxxxxxxxxxxx> Date: Fri Mar 20 09:40:17 2015 -0700 Input: add MT_TOOL_PALM Currently there are only two "tools" that can be specified by a multi-touch driver: MT_TOOL_FINGER and MT_TOOL_PEN. In working with Elan (The touch vendor) and discussing their next-gen devices it seems that it will be useful to have more tools so that their devices can give the upper layers of the stack hints as to what is touching the sensor. In particular they have new experimental firmware that can better differentiate between palms vs fingertips and would like to plumb a patch so that we can use their hints in higher-level gesture soft- ware. The firmware on the device can reasonably do a better job of palm detection because it has access to all of the raw sensor readings as opposed to just the width/pressure/etc that are exposed by the driver. As such, the firmware can characterize what a palm looks like in much finer-grained detail and this change would allow such a device to share its findings with the kernel. Signed-off-by: Charlie Mooney <charliemooney@xxxxxxxxxxxx> Acked-by: Peter Hutterer <peter.hutterer@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a68465c9cb435feadb0efe6acbd0a9a7d1038465 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Mar 19 19:48:31 2015 +0800 NFSD: Error out when register_shrinker() fail If register_shrinker() failed, nfsd will cause a NULL pointer access as, [ 9250.875465] nfsd: last server has exited, flushing export cache [ 9251.427270] BUG: unable to handle kernel NULL pointer dereference at (null) [ 9251.427393] IP: [<ffffffff8136fc29>] __list_del_entry+0x29/0xd0 [ 9251.427579] PGD 13e4d067 PUD 13e4c067 PMD 0 [ 9251.427633] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC [ 9251.427706] Modules linked in: ip6t_rpfilter ip6t_REJECT bnep bluetooth xt_conntrack cfg80211 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 btrfs xfs microcode ppdev serio_raw pcspkr xor libcrc32c raid6_pq e1000 parport_pc parport i2c_piix4 i2c_core nfsd(OE-) auth_rpcgss nfs_acl lockd sunrpc(E) ata_generic pata_acpi [ 9251.428240] CPU: 0 PID: 1557 Comm: rmmod Tainted: G OE 3.16.0-rc2+ #22 [ 9251.428366] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/31/2013 [ 9251.428496] task: ffff880000849540 ti: ffff8800136f4000 task.ti: ffff8800136f4000 [ 9251.428593] RIP: 0010:[<ffffffff8136fc29>] [<ffffffff8136fc29>] __list_del_entry+0x29/0xd0 [ 9251.428696] RSP: 0018:ffff8800136f7ea0 EFLAGS: 00010207 [ 9251.428751] RAX: 0000000000000000 RBX: ffffffffa0116d48 RCX: dead000000200200 [ 9251.428814] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffa0116d48 [ 9251.428876] RBP: ffff8800136f7ea0 R08: ffff8800136f4000 R09: 0000000000000001 [ 9251.428939] R10: 8080808080808080 R11: 0000000000000000 R12: ffffffffa011a5a0 [ 9251.429002] R13: 0000000000000800 R14: 0000000000000000 R15: 00000000018ac090 [ 9251.429064] FS: 00007fb9acef0740(0000) GS:ffff88003fa00000(0000) knlGS:0000000000000000 [ 9251.429164] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 9251.429221] CR2: 0000000000000000 CR3: 0000000031a17000 CR4: 00000000001407f0 [ 9251.429306] Stack: [ 9251.429410] ffff8800136f7eb8 ffffffff8136fcdd ffffffffa0116d20 ffff8800136f7ed0 [ 9251.429511] ffffffff8118a0f2 0000000000000000 ffff8800136f7ee0 ffffffffa00eb765 [ 9251.429610] ffff8800136f7ef0 ffffffffa010e93c ffff8800136f7f78 ffffffff81104ac2 [ 9251.429709] Call Trace: [ 9251.429755] [<ffffffff8136fcdd>] list_del+0xd/0x30 [ 9251.429896] [<ffffffff8118a0f2>] unregister_shrinker+0x22/0x40 [ 9251.430037] [<ffffffffa00eb765>] nfsd_reply_cache_shutdown+0x15/0x90 [nfsd] [ 9251.430106] [<ffffffffa010e93c>] exit_nfsd+0x9/0x6cd [nfsd] [ 9251.430192] [<ffffffff81104ac2>] SyS_delete_module+0x162/0x200 [ 9251.430280] [<ffffffff81013b69>] ? do_notify_resume+0x59/0x90 [ 9251.430395] [<ffffffff816f2369>] system_call_fastpath+0x16/0x1b [ 9251.430457] Code: 00 00 55 48 8b 17 48 b9 00 01 10 00 00 00 ad de 48 8b 47 08 48 89 e5 48 39 ca 74 29 48 b9 00 02 20 00 00 00 ad de 48 39 c8 74 7a <4c> 8b 00 4c 39 c7 75 53 4c 8b 42 08 4c 39 c7 75 2b 48 89 42 08 [ 9251.430691] RIP [<ffffffff8136fc29>] __list_del_entry+0x29/0xd0 [ 9251.430755] RSP <ffff8800136f7ea0> [ 9251.430805] CR2: 0000000000000000 [ 9251.431033] ---[ end trace 080f3050d082b4ea ]--- Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit db59c0ef08ca56758dcee6495d9d6a086682c5ec Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Mar 19 19:04:41 2015 +0800 NFSD: Take care the return value from nfsd4_decode_stateid Return status after nfsd4_decode_stateid failed. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6f8f28ec5f88715515e70dd52f16b326a5e63f81 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Mar 19 19:04:14 2015 +0800 NFSD: Check layout type when returning client layouts According to RFC5661: " When lr_returntype is LAYOUTRETURN4_FSID, the current filehandle is used to identify the file system and all layouts matching the client ID, the fsid of the file system, lora_layout_type, and lora_iomode are returned. When lr_returntype is LAYOUTRETURN4_ALL, all layouts matching the client ID, lora_layout_type, and lora_iomode are returned and the current filehandle is not used. " When returning client layouts, always check layout type. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 715a03d2848275269bd4014a49212cc83452f32d Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Mar 20 15:56:40 2015 +0800 NFSD: restore trace event lost in mismerge 31ef83dc05 "nfsd: add trace events" had a typo that dropped a trace event and replaced it by an incorrect recursive call to nfsd4_cb_layout_fail. 133d558216d9 "Subject: nfsd: don't recursively call nfsd4_cb_layout_fail" fixed the crash, this restores the tracepoint. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 750f2f9165bafb5fc20a1ec689f46c89dac54658 Merge: a998f71 becb74f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 20 12:40:33 2015 -0400 Merge branch 'listener_refactor_part_14' Eric Dumazet says: ==================== inet: tcp listener refactoring part 14 OK, we have serious patches here. We get rid of the central timer handling SYNACK rtx, which is killing us under even medium SYN flood. We still use the listener specific hash table. This will be done in next round ;) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit becb74f0acca19b5abfcb24dc602530f3deea66a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 19 19:04:21 2015 -0700 net: increase sk_[max_]ack_backlog sk_ack_backlog & sk_max_ack_backlog were 16bit fields, meaning listen() backlog was limited to 65535. It is time to increase the width to allow much bigger backlog, if admins change /proc/sys/net/core/somaxconn & /proc/sys/net/ipv4/tcp_max_syn_backlog default values. Tested: echo 5000000 >/proc/sys/net/core/somaxconn echo 5000000 >/proc/sys/net/ipv4/tcp_max_syn_backlog Ran a SYNFLOOD test against a listener using listen(fd, 5000000) myhost~# grep request_sock_TCP /proc/slabinfo request_sock_TCP 4185642 4411940 304 13 1 : tunables 54 27 8 : slabdata 339380 339380 0 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa76ce7328b289b6edd476e24eb52fd634261720 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 19 19:04:20 2015 -0700 inet: get rid of central tcp/dccp listener timer One of the major issue for TCP is the SYNACK rtx handling, done by inet_csk_reqsk_queue_prune(), fired by the keepalive timer of a TCP_LISTEN socket. This function runs for awful long times, with socket lock held, meaning that other cpus needing this lock have to spin for hundred of ms. SYNACK are sent in huge bursts, likely to cause severe drops anyway. This model was OK 15 years ago when memory was very tight. We now can afford to have a timer per request sock. Timer invocations no longer need to lock the listener, and can be run from all cpus in parallel. With following patch increasing somaxconn width to 32 bits, I tested a listener with more than 4 million active request sockets, and a steady SYNFLOOD of ~200,000 SYN per second. Host was sending ~830,000 SYNACK per second. This is ~100 times more what we could achieve before this patch. Later, we will get rid of the listener hash and use ehash instead. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52452c542559ac980b48dbf22a30ee7fa0af507c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 19 19:04:19 2015 -0700 inet: drop prev pointer handling in request sock When request sock are put in ehash table, the whole notion of having a previous request to update dl_next is pointless. Also, following patch will get rid of big purge timer, so we want to delete a request sock without holding listener lock. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42528795ac1c8d7ba021797ec004904168956d64 Merge: ff38281 4762767 9910aff c136f99 654e953 5871968 915e8a4 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 20 08:31:01 2015 -0700 Merge branches 'doc.2015.02.26a', 'earlycb.2015.03.03a', 'fixes.2015.03.03a', 'gpexp.2015.02.26a', 'hotplug.2015.03.20a', 'sysidle.2015.02.26b' and 'tiny.2015.02.26a' into HEAD doc.2015.02.26a: Documentation changes earlycb.2015.03.03a: Permit early-boot RCU callbacks fixes.2015.03.03a: Miscellaneous fixes gpexp.2015.02.26a: In-kernel expediting of normal grace periods hotplug.2015.03.20a: CPU hotplug fixes sysidle.2015.02.26b: NO_HZ_FULL_SYSIDLE fixes tiny.2015.02.26a: TINY_RCU fixes commit 654e953340491e498871321d7e2c9b0a12821933 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 15 09:19:35 2015 -0700 rcu: Associate quiescent-state reports with grace period As noted in earlier commit logs, CPU hotplug operations running concurrently with grace-period initialization can result in a given leaf rcu_node structure having all CPUs offline and no blocked readers, but with this rcu_node structure nevertheless blocking the current grace period. Therefore, the quiescent-state forcing code now checks for this situation and repairs it. Unfortunately, this checking can result in false positives, for example, when the last task has just removed itself from this leaf rcu_node structure, but has not yet started clearing the ->qsmask bits further up the structure. This means that the grace-period kthread (which forces quiescent states) and some other task might be attempting to concurrently clear these ->qsmask bits. This is usually not a problem: One of these tasks will be the first to acquire the upper-level rcu_node structure's lock and with therefore clear the bit, and the other task, seeing the bit already cleared, will stop trying to clear bits. Sadly, this means that the following unusual sequence of events -can- result in a problem: 1. The grace-period kthread wins, and clears the ->qsmask bits. 2. This is the last thing blocking the current grace period, so that the grace-period kthread clears ->qsmask bits all the way to the root and finds that the root ->qsmask field is now zero. 3. Another grace period is required, so that the grace period kthread initializes it, including setting all the needed qsmask bits. 4. The leaf rcu_node structure (the one that started this whole mess) is blocking this new grace period, either because it has at least one online CPU or because there is at least one task that had blocked within an RCU read-side critical section while running on one of this leaf rcu_node structure's CPUs. (And yes, that CPU might well have gone offline before the grace period in step (3) above started, which can mean that there is a task on the leaf rcu_node structure's ->blkd_tasks list, but ->qsmask equal to zero.) 5. The other kthread didn't get around to trying to clear the upper level ->qsmask bits until all the above had happened. This means that it now sees bits set in the upper-level ->qsmask field, so it proceeds to clear them. Too bad that it is doing so on behalf of a quiescent state that does not apply to the current grace period! This sequence of events can result in the new grace period being too short. It can also result in the new grace period ending before the leaf rcu_node structure's ->qsmask bits have been cleared, which will result in splats during initialization of the next grace period. In addition, it can result in tasks blocking the new grace period still being queued at the start of the next grace period, which will result in other splats. Sasha's testing turned up another of these splats, as did rcutorture testing. (And yes, rcutorture is being adjusted to make these splats show up more quickly. Which probably is having the undesirable side effect of making other problems show up less quickly. Can't have everything!) Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.0.x Tested-by: Sasha Levin <sasha.levin@xxxxxxxxxx> commit 7c10770f995820ec1ed26c761b1583bfc4d88872 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 14:18:27 2015 +0100 mac80211: avoid duplicate TX path station lookup Instead of looking up the destination station twice in the TX path (first to build the header, and then for control processing), save it when building the header and use it later in the TX path. To avoid having to look up the station in the many callers, allow those to pass %NULL which keeps the existing lookup. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e33f5569aafadfa68aea32457a9246818d3dfe48 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 16:01:52 2015 +0100 mac80211: mesh: avoid pointless station lookup In ieee80211_build_hdr(), the station is looked up to build the header correctly (QoS field) and to check for authorization. For mesh, authorization isn't checked here, and QoS capability is mandatory, so the station lookup can be avoided. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a8d15ff0050aef96a14a185b5138f01f98109b40 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 14:05:02 2015 +0100 mac80211: drop 4-addr VLAN frames earlier if not connected If there's no station on the 4-addr VLAN interface, then frames cannot be transmitted. Drop such frames earlier, before setting up all the information for them. We should keep the old check though since that code might be used for other internally-generated frames. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5041006c42537cce1d3619521f50c29b3bf0a633 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 13:29:29 2015 +0100 mac80211: don't look up destination station twice There's no need to look up the destination station twice while building the 802.11 header for a given frame if the frame will actually be transmitted to the station we initially looked up. This happens for 4-addr VLAN interfaces and TDLS connections, which both directly send the frame to the station they looked up, though in the case of TDLS some station conditions need to be checked. To avoid that, add a variable indicating that we've looked up the station that the frame is going to be transmitted to, and avoid the lookup/flag checking if it already has been done. In the TDLS case, also move the authorized/wme_sta flag assignment to the correct place, i.e. only when that station is really used. Before this change, the new lookup should always have succeeded so that the potentially erroneous data would be overwritten. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a77da14ce9afb338040b405f6ab8afddc310411d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 14:52:27 2015 -0700 rcu: Yet another fix for preemption and CPU hotplug As noted earlier, the following sequence of events can occur when running PREEMPT_RCU and HOTPLUG_CPU on a system with a multi-level rcu_node combining tree: 1. A group of tasks block on CPUs corresponding to a given leaf rcu_node structure while within RCU read-side critical sections. 2. All CPUs corrsponding to that rcu_node structure go offline. 3. The next grace period starts, but because there are still tasks blocked, the upper-level bits corresponding to this leaf rcu_node structure remain set. 4. All the tasks exit their RCU read-side critical sections and remove themselves from the leaf rcu_node structure's list, leaving it empty. 5. But because there now is code to check for this condition at force-quiescent-state time, the upper bits are cleared and the grace period completes. However, there is another complication that can occur following step 4 above: 4a. The grace period starts, and the leaf rcu_node structure's gp_tasks pointer is set to NULL because there are no tasks blocked on this structure. 4b. One of the CPUs corresponding to the leaf rcu_node structure comes back online. 4b. An endless stream of tasks are preempted within RCU read-side critical sections on this CPU, such that the ->blkd_tasks list is always non-empty. The grace period will never end. This commit therefore makes the force-quiescent-state processing check only for absence of tasks blocking the current grace period rather than absence of tasks altogether. This will cause a quiescent state to be reported if the current leaf rcu_node structure is not blocking the current grace period and its parent thinks that it is, regardless of how RCU managed to get itself into this state. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.0.x Tested-by: Sasha Levin <sasha.levin@xxxxxxxxxx> commit fcaf57b67dd03314ade476b847f246ae377160a8 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Thu Mar 19 18:44:45 2015 +0100 hwmon: (ibmpowernv) do not use the OPAL index for hwmon attribute names The current OPAL firmware exposes the different sensors of an IBM Power system using node names such as : sensors/amb-temp#1-data sensors/amb-temp#1-thrs cooling-fan#1-data cooling-fan#1-faulted cooling-fan#1-thrs cooling-fan#2-data ... The ibmpowernv driver, when loaded, parses these names to extract the sensor index and the sensor attribute name. Unfortunately, this scheme makes it difficult to add sensors with a different layout (specially of the same type, like temperature) as the sensor index calculated in OPAL is directly used in the hwmon sysfs interface. What this patch does is add a independent hwmon index for each sensor. The increment of the hwmon index (temp, fan, power, etc.) is kept per sensor type in the sensor_group table. The sensor_data table is used to store the association of the hwmon and OPAL indexes, as we need to have the same hwmon index for different attributes of a same sensor. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit f9f54f16bfa1bc76d827d4a2c80f72acbee72b05 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Thu Mar 19 18:44:44 2015 +0100 hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype It simplifies the creation of the hwmon attributes and will help when support for a new device tree layout is added. The patch also changes the name of the routine to parse_opal_node_name(). Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit ccc9ac6cc9ff7c845daa930598e96be9bb978ade Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Thu Mar 19 18:44:43 2015 +0100 hwmon: (ibmpowernv) add a convert_opal_attr_name() routine It simplifies the create_hwmon_attr_name() routine and it clearly isolates the conversion done between the OPAL node names and hwmon attributes names. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit c4ad47206425e8f38928413ab35f59bd294ddbc2 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Thu Mar 19 18:44:42 2015 +0100 hwmon: (ibmpowernv) add a get_sensor_type() routine It will help in adding different compatible properties, coming from a new device tree layout for example. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 96124610e9f154135eb6fd9aa7a78ed756ff18a3 Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Thu Mar 19 18:44:41 2015 +0100 hwmon: (ibmpowernv) replace AMBIENT_TEMP by TEMP Ambient is too restrictive as there can be other temperature channels : core, memory, etc. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 0b37a9a9ebdf47dc9d5290a1c69bd944dde5cc15 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Mar 20 09:41:03 2015 +0000 drm/i915: Do not leak objects after capturing error state While running kmemleak chasing a different memleak, I saw that the capture_error_state function was leaking some objects, for example: unreferenced object 0xffff8800a9b72148 (size 8192): comm "kworker/u16:0", pid 1499, jiffies 4295201243 (age 990.096s) hex dump (first 32 bytes): 00 00 04 00 00 00 00 00 5d f4 ff ff 00 00 00 00 ........]....... 00 30 b0 01 00 00 00 00 37 00 00 00 00 00 00 00 .0......7....... backtrace: [<ffffffff811e5ae4>] create_object+0x104/0x2c0 [<ffffffff8178f50a>] kmemleak_alloc+0x7a/0xc0 [<ffffffff811cde4b>] __kmalloc+0xeb/0x220 [<ffffffffa038f1d9>] kcalloc.constprop.12+0x2d/0x2f [i915] [<ffffffffa0316064>] i915_capture_error_state+0x3f4/0x1660 [i915] [<ffffffffa03207df>] i915_handle_error+0x7f/0x660 [i915] [<ffffffffa03210f7>] i915_hangcheck_elapsed+0x2e7/0x470 [i915] [<ffffffff8108d574>] process_one_work+0x144/0x490 [<ffffffff8108dfbd>] worker_thread+0x11d/0x530 [<ffffffff81094079>] kthread+0xc9/0xe0 [<ffffffff817a2398>] ret_from_fork+0x58/0x90 [<ffffffffffffffff>] 0xffffffffffffffff The following objects are allocated in i915_gem_capture_buffers, but not released in i915_error_state_free: - error->active_bo_count - error->pinned_bo - error->pinned_bo_count - error->active_bo[vm_count] (allocated in i915_gem_capture_vm). The leaks were introduced by commit 95f5301dd880da2dea2c9a9c29750064536d426a Author: Ben Widawsky <ben@xxxxxxxxxxxx> Date: Wed Jul 31 17:00:15 2013 -0700 drm/i915: Update error capture for VMs v2: Reuse iterator and add culprit commit details (Chris) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 179a5bc4b8cbe68ca675057b960dd805867e41c4 Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Date: Tue Jan 27 16:00:19 2015 +0300 net/9p: use memcpy() instead of snprintf() in p9_mount_tag_show() p9_mount_tag_show() uses '%s' format string to print non-NULL terminated chan->tag string. This leads to out of bounds memory read, because format '%s' implies that string is NULL-terminated. The length of string is know here, so its simpler and safer to use memcpy instead of snprintf(). Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 6250a8badb311953a49bedb16ed17eb59d21c03a Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Dec 30 02:48:09 2014 +0200 9p: use unsigned integers for nwqid/count As specification says, all integers in messages are unsigned. Let's fix behaviour of p9pdu_vreadf()/p9pdu_vwritef() accordingly. Fix for p9pdu_vreadf() is critical. If server replies with Rwalk, where nwqid > SHRT_MAX, the value will be interpreted as negative. kmalloc, in its order, will cast the value to (very big) size_t. It should never happen in normal situation: we never submit Twalk with nwname > 16, but malicious or broken server can still produce problematic Rwalk. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit b642f7269bd40ae9abe9cff01581b2eb5e2c2287 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Mon Dec 29 15:00:19 2014 +0200 9p: do not crash on unknown lock status code Current 9p implementation will crash whole system if sees unknown lock status code. It's trivial target for DOS: 9p server can produce such code easily. Let's fallback more gracefully: warning in dmesg + -ENOLCK. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit ad80492df56b4bd2d4da9990678d87b66af42f54 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Mon Dec 29 15:00:18 2014 +0200 9p: fix error handling in v9fs_file_do_lock p9_client_lock_dotl() doesn't set status if p9_client_rpc() fails. It can lead to 'default:' case in switch below and kernel crashes. Let's bypass the switch if p9_client_lock_dotl() fails. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 9bfc52c1091c871cbc58390874b5c4ebe266bee0 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Oct 23 18:19:35 2014 +0200 9p: remove unused variable in p9_fd_create() p is initialized but unused. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit e8782e2fbcb5c1c8823a733a985a2896a1450334 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Jul 4 20:28:44 2014 +0200 9p: kerneldoc warning fixes options argument was removed from v9fs_session_info in commit 4b53e4b50077 ("9p: remove unnecessary v9fses->options which duplicates the mount string") iov and nr_segs were removed from v9fs_direct_IO in commit d8d3d94b80aa ("pass iov_iter to ->direct_IO()") Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx> Cc: Ron Minnich <rminnich@xxxxxxxxxx> Cc: Latchesar Ionkov <lucho@xxxxxxxxxx> Cc: v9fs-developer@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 1913c6f4488eef9f0ac38702eacf6921290e2400 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Mar 3 22:08:03 2015 +0800 README: Change gzip/bzip2 to xz compression format Kernel.org is only hosting patches and kernel compressed with xz, so change the old gzip/bzip2 instances to xz. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 49d86dc92c6edc1ed674dca623d1e55d95e0c877 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Tue Feb 24 20:22:56 2015 -0800 README: Update version number reference When 4.0 is released, the README should reflect the new numbering. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 654d2e7cd18b8acc4e2accdcc0c1eadb8d786722 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Mar 19 00:29:30 2015 +0900 doc:pci: Fix typo in Documentation/PCI This patch fix spelling typo in Documentation/PCI. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9ceae1da5027818b4dfd95e4a43fb52552c5fffb Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Mar 16 18:24:46 2015 +0000 Documentation: drm: Use '->' when describing access through pointers. The documentation is trying to describe accessing a field through a pointer, but it is using '-<' instead of '->'. Fix that. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 8962786ce3d91003bdd3f7c6bda2ee3641d66770 Author: Leonid V. Fedorenchik <leonidsbox@xxxxxxxxx> Date: Fri Mar 13 23:53:22 2015 +0300 Documentation: Remove mentioning of block barriers Remove mentioning of block barriers since they were removed. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Leonid V. Fedorenchik <leonidsbox@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d50ca07863eb42ab5acb11ae6b2241c3db875061 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Mon Mar 9 03:53:45 2015 +0200 Documentation/email-clients.txt: Fix one grammar mistake, add extra info about TB Fix one grammar mistake (Allows->Allow) and add extra information about the external editor add-on of Thunderbird: the developer must make sure that their editor doesn't fork (IOW it mustn't return before closing) thus they should be careful how they configure the addon. Furthermore, add a tip how to do it with gvim. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> [jc: some minor wording/formatting tweaks] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 080684c88ac194dffee4228bb073af61b67ebfaf Author: Li Bin <huawei.libin@xxxxxxxxxx> Date: Thu Mar 5 09:48:31 2015 +0800 kprobes: Update Documentation/kprobes.txt The patch 125e564("Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig") had removed the "Instrumentation Support" menu, and the configurations under this had be moved to "General setup". Update Documentation/kprobes.txt to reflect this change. Signed-off-by: Li Bin <huawei.libin@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 80b6f38be29ad12abc30148211558384196a8b1f Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Tue Mar 3 11:07:15 2015 +0100 Documentation: i2o: remove duplicate documentation We can remove the i2o documentation because a) the subsystem has been moved to staging with commit 2cbf7fe2d5d32a (i2o: move to staging) anyhow and b) the here removed files are present in the subsystem directory again. There, README even has an additional paragraph and the ioctl docs only differ in whitespaces. Well... Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 09207bae60370011ce80866c37ae59f1397eea6d Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Mon Mar 2 07:28:40 2015 +0000 Documentation: update the CONFIG_DEBUG_PAGEALLOC description The CONFIG_DEBUG_PAGEALLOC option now is located under "Kernel hacking" / "Memory Debugging" / "Debug page memory allocations". so we should update the description in kmemcheck.txt. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 8243338058b078b1c0a2892ba02f41f91e47e348 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Mon Mar 2 02:20:45 2015 +0000 mem-hotplug: fix typo in Documentation/memory-hotplug.txt Fix a trivial typo in Documentation/memory-hotplug.txt. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d181b71c3ef4f9b5edaf61125715d697540eca62 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 15:26:06 2015 +0100 doc: printk-formats: Fix %pU description The documentation and the code disagrees; fix the former. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 2f9d7389b5e243abd0c42995a703c4f7cf535af4 Author: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Date: Fri Feb 27 12:55:16 2015 +0100 MSI-HOWTO.txt: remove reference on IRQF_DISABLED The IRQF_DISABLED is a NOOP and scheduled to be removed. According to Ingo Molnar in commit e58aa3d2d0cc01ad8d6f7f640a0670433f794922 (genirq: Run irq handlers with interrupts disabled), running IRQ handlers with interrupts enabled can cause stack overflows when the interrupt line of the issuing device is still active. This patch removes IRQF_DISABLED from this documentation. It was mentioned to be a solution to avoid deadlocks when a device uses multiple interrupts. As the flag is a NOOP this solution does not work anymore. Signed-off-by: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9ddfa69fb073081882505a4f69d3f0c344d9bcaf Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Thu Feb 26 23:34:36 2015 +0200 doc: add information about max_ptes_none max_ptes_none specifies how many extra small pages (that are not already mapped) can be allocated when collapsing a group of small pages into one large page. /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_none A higher value leads to use additional memory for programs. A lower value leads to gain less thp performance. Value of max_ptes_none can waste cpu time very little, you can ignore it. Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d0724961552f2b7da89e4b822b985f3c9fd13b79 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Thu Feb 26 03:28:25 2015 +0000 Documentation: add print bitmap description as the commit: "lib/vsprintf: implement bitmap printing through '%*pb[l]'" add an easy way to print bitmaps. so printk-formats.txt should reflect it. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 5e790610bc19887387d5914cf8ed58434c5bde08 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:53 2015 -0400 staging: unisys: fix CamelCase names in parser_init() Fix CamelCase names: isLocal => local tryAgain => retry Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48e81485527612dbab926ab6e4fc73770f856f56 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:52 2015 -0400 staging: unisys: refactor parser_init_guts() Fix CamelCase names: isLocal => local hasStandardPayloadHeader => standard_payload_header tryAgain => retry Away => cleanup Fix spacing after typecasts, add missing braces to the if statement, and eliminate the NULL comparison by just using the pointer value directly. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 317d9614a980fedfe89408030bdd92cc0f4d0dc4 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:51 2015 -0400 staging: unisys: remove typedef for PARSER_CONTEXT Convert all references to PARSER_CONTEXT into struct parser_context. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a18c634275de6039c0bc7a3a077ab9e817c28ce9 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:50 2015 -0400 staging: unisys: fix CamelCase variable Controlvm_Payload_Bytes_Buffered Fix camelcase name: Controlvm_Payload_Bytes_Buffered => controlvm_payload_bytes_buffered Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d8dbdbfeda40b8cf58abed84be1ae2231215862 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:49 2015 -0400 staging: unisys: clean up NULL compares in virtpci.c Remove unnecessary NULLs by just using the pointer value directly. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c394650650b0fc91aebfef601c5a427ef387bb72 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:48 2015 -0400 staging: unisys: remove unnecessary complication from delete_vbus_device Take out the variable used to compute a comparison against NULL, and just use the parameter directly. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 911e213ea30c119ec0ae8255de5e7c85f85a867b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:47 2015 -0400 staging: unisys: fix CamelCase global Poll_jiffies Fix the name and references: Poll_jiffies => poll_jiffies Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56215add6f136bf85881a12fd7b625868fe43de0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:46 2015 -0400 staging: unisys: fix CamelCase in virthba_probe() Rename CamelCase local variable: Features_addr => features_addr Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5af3b098c3ce7c537c5687fb1260fa37ca195a8f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:45 2015 -0400 staging: unisys: cleanup NULL comparisons in virthba.c Fix all comparisons to NULL so that they don't use NULL anymore. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc11a550d027bd381e0e54618f99d2f8285bbb6f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Mar 16 13:57:44 2015 -0400 staging: unisys: clean up NULL comparisons in visorchannel_funcs.c Correct all comparisons with NULL so that NULL isn't needed. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82fdb8dd11851b4c12da78c4626740c83bc3fc2d Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Mon Mar 16 23:01:44 2015 +0100 staging/goldfish/goldfish_audio: Fix annotations dmam_alloc_coherent does not return a __iomem pointer. here is its prototype: void * dmam_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp) This fixes these sparse warnings: drivers/staging/goldfish/goldfish_audio.c:134:43: warning: incorrect type in argument 2 (different address spaces) drivers/staging/goldfish/goldfish_audio.c:134:43: expected void const *from drivers/staging/goldfish/goldfish_audio.c:134:43: got char [noderef] <asn:2>*read_buffer drivers/staging/goldfish/goldfish_audio.c:167:36: warning: incorrect type in argument 1 (different address spaces) drivers/staging/goldfish/goldfish_audio.c:167:36: expected void *to drivers/staging/goldfish/goldfish_audio.c:167:36: got char [noderef] <asn:2>*[assigned] kbuf drivers/staging/goldfish/goldfish_audio.c:296:27: warning: incorrect type in assignment (different address spaces) drivers/staging/goldfish/goldfish_audio.c:296:27: expected char [noderef] <asn:2>*buffer_virt drivers/staging/goldfish/goldfish_audio.c:296:27: got void * Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27682407cc573ea3bd5fd195528a69c901f16b64 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Wed Mar 18 21:29:10 2015 +0200 MAINTAINERS: change Arve's last name encoding to UTF-8 All other non ASCII names in this file are also UTF-8 encoded. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bc88f63d7af89831fac82b67625f3e19156abba Author: Ravindran, Madhusudhanan (M.) <mravindr@xxxxxxxxxxx> Date: Fri Mar 13 13:12:37 2015 +0000 staging: netlogic: allocate right size in devm_kzalloc sizeof when applied to a pointer typed expression gives the size of the pointer. The semantic patch that makes this change is available in scripts/coccinelle/misc/noderef.cocci. Signed-off-by: Madhusudhanan Ravindran <mravindr@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 877945759df5ff6e7fb434cb5b6cddb606c2f66f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:59:08 2015 +0100 Staging: octeon: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11dd0360cf882182d780eb9941cde404a4e21034 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Mar 11 22:52:54 2015 -0500 staging: fsl-mc: Corrected email addresses in TODO file Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e9adfbcaae9b5245517143c900f8873715a6059 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:15 2015 +0000 staging: comedi: comedi_pci.h: move PCI stuff out of comedidev.h Move the PCI-specific stuff out of "comedidev.h" into "comedi_pci.h". Comedi PCI drivers now include "comedi_pci.h" instead of "comedidev.h", which now gets pulled in indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ab38b050fa69092aa1de0106800571ae2b753fa Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:14 2015 +0000 staging: comedi: s626: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fca154cf382922e25f73b668a6fc25b228f3f66 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:13 2015 +0000 staging: comedi: rtd520: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 069724326bbbff81ac5d37425068eb060d190416 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:12 2015 +0000 staging: comedi: ni_pcmmio: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a5f650e602f56591a96a9d74fd480ae4f42dcd6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:11 2015 +0000 staging: comedi: ni_pcmdio: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fffd65dc45d2c8c4816f191c29319afb59fb016e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:10 2015 +0000 staging: comedi: ni_labpc_pci: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29321b5546f15167cdadee0d17c14debcb476e7c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:09 2015 +0000 staging: comedi: ni_670x: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6c760b1a715c18e7599d6848bb120e8f9032273 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:08 2015 +0000 staging: comedi: ni_660x: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b9c3d1436acff25350fa47c2ccf6a115d3d6c68 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:07 2015 +0000 staging: comedi: ni_65xx: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bacde880494c3757ee6f9dce81c0fdfbc72de62 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:06 2015 +0000 staging: comedi: ni_6527: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 776d0d3d0aac82286431a71cbbf82fee935ab99b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:05 2015 +0000 staging: comedi: mite.h: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4953d2c25a81fb21ac94b56ff5b72de2abb2680b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:04 2015 +0000 staging: comedi: mite.c: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31ba5981c99617f632f4c4605b78cb872d19a4fb Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:03 2015 +0000 staging: comedi: mf6x4: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b33e841ef8aea4a425294d366ee023e5e27cc14c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:02 2015 +0000 staging: comedi: me_daq: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2e8e2853e28d8bb99d0d7613af00ba7642f6ad4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:01 2015 +0000 staging: comedi: me4000: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f13d862cab2ee604475a6425a7e5a741167296c5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:11:00 2015 +0000 staging: comedi: ke_counter: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4c296dcd458145467711de58da609a1cef07f11 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:59 2015 +0000 staging: comedi: jr3_pci: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16947f226a8899e3d61bcf8ae66e5336c5c7af9d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:58 2015 +0000 staging: comedi: icp_multi: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b806b175eda0de2fb74add45b14eee967e2bf7c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:57 2015 +0000 staging: comedi: gsc_hpdi: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ca7653efa34b3ed4ebd6ce43eed23b5deb4d4de Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:56 2015 +0000 staging: comedi: dyna_pci10xx: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a432e1b566c7cfa6e9f093ff7dbbcff886dabafb Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:55 2015 +0000 staging: comedi: dt3000: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0483a811cf11d1e58989368a201fe1fd548d424f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:54 2015 +0000 staging: comedi: das08_pci: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dde50ca454097f3d0095e16208e70ee3768cfd45 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:53 2015 +0000 staging: comedi: daqboard2000: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c1b6627061a8bcace7b58abae609b0741d05cd1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:52 2015 +0000 staging: comedi: contec_pci_dio: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf5a5c0b2f2c7ea5a6f063d5e59e2b3ec575caaa Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:51 2015 +0000 staging: comedi: cb_pcimdda: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b062252d214d50a798ca0a3910f775ee6bcac670 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:50 2015 +0000 staging: comedi: cb_pcimdas: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2e075f611059f7055dc962c195e7d98585de733 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:49 2015 +0000 staging: comedi: cb_pcidda: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29e0a3db395e98a2f79555bbd4101c431e460102 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:48 2015 +0000 staging: comedi: cb_pcidas: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 326406806cd0f69cccf3a526b6297ab4b9f97e38 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:47 2015 +0000 staging: comedi: cb_pcidas64: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61873d0a1b29fa10f0c679ee9c64defb4c6a1f06 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:46 2015 +0000 staging: comedi: amplc_pci263: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17decabfabb4d5e344e06b2c9725b1aa6cc671e0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:45 2015 +0000 staging: comedi: amplc_pci236: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d23c28c23b99e8d813248143f65d22b78a9826f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:44 2015 +0000 staging: comedi: amplc_pci230: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3c8b18850617b29f564c16f1cfad72c5bd1ad6b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:43 2015 +0000 staging: comedi: amplc_pci224: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffe06e04bdc978ff529d464525711639530c08fc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:42 2015 +0000 staging: comedi: amplc_dio200_pci: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f22dadd43619ba7d5e536dc750e7ab95481e032 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:41 2015 +0000 staging: comedi: adv_pci_dio: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 654f5cd1249a31bb4b616e54cbc20fce6b9ccdb7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:40 2015 +0000 staging: comedi: adv_pci1724: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b15c14b3fab1a3bf78d2dd1e63dcd010015e7f1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:39 2015 +0000 staging: comedi: adv_pci1723: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a12d9681b39fd9a221199e6ebb143ae61efc412 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:38 2015 +0000 staging: comedi: adv_pci1710: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2ad146af57a9e0eb758c75b32e09091fff00a73 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:37 2015 +0000 staging: comedi: adl_pci9118: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b60535d70d8dacabe767af2196534c33284e60cf Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:36 2015 +0000 staging: comedi: adl_pci9111: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87ac3c9e9924fa80af831dd83ba5c89741fde9fc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:35 2015 +0000 staging: comedi: adl_pci8164: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28b574841c188852c09f6fcf0d3444614e1e65cc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:34 2015 +0000 staging: comedi: adl_pci7x3x: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80a324c7765bb5912de87fa7ace3dc58f7d44a7e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:33 2015 +0000 staging: comedi: adl_pci6208: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d669e563a2f772067c04fe457bbbb94e41b908b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:32 2015 +0000 staging: comedi: addi_apci_3xxx: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed9c2cfc7ea7d24b424a305b3ad9d7057015d60c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:31 2015 +0000 staging: comedi: addi_apci_3501: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8c0a0ac0d3276e5c1c3e46865c582285e026e15 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:30 2015 +0000 staging: comedi: addi_apci_3120: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e99da194b9e3197fecb89b273f4feaea750a165 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:29 2015 +0000 staging: comedi: addi_apci_2200: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66a630cad62feea5f89b526bac32da8b51efe7b6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:28 2015 +0000 staging: comedi: addi_apci_2032: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cebdf0dd989bbf11cb0ec8403b5d3511583c749e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:27 2015 +0000 staging: comedi: addi_apci_16xx: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 526a8e3b279cfd6a92d7146b769d023e841f9852 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:26 2015 +0000 staging: comedi: addi_apci_1564: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfa3c585989da88c51ecee949e64fe33dbf6e05f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:25 2015 +0000 staging: comedi: addi_apci_1516: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c2302e687cf36f9b4fe55269ecdb5fa967c1d0a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:24 2015 +0000 staging: comedi: addi_apci_1500: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 670afd26b1eec7b88832a367b9b676d7e8b69722 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:23 2015 +0000 staging: comedi: addi_apci_1032: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7215a28471c6b78390965b660d079249d5996c26 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:22 2015 +0000 staging: comedi: 8255_pci: include new "comedi_pci.h" header Include the new "../comedi_pci.h" header instead of <linux/pci.h> and "../comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b39675a3a1730ea4bd00be92271027474908d19 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:21 2015 +0000 staging: comedi: comedi_pci.c: include new "comedi_pci.h" header Include the new "comedi_pci.h" header instead of <linux/pci.h> and "comedidev.h", which will now get included indirectly. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e62c1d5cdf5184ce5b09a5547483846e8d672566 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Mar 10 16:10:20 2015 +0000 staging: comedi: add comedi_pci.h Add a new header that Comedi PCI drivers can include instead of "comedidev.h". Currently, it just pulls in <linux/pci.h> and "comedidev.h", but the plan is to migrate the PCI-specific stuff from "comedidev.h" here. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dec8c37818a26869ba5cdf0b1033eeb9296dc2fb Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Mar 9 20:08:25 2015 +0530 staging: panel: remove initialization check no need to monitor init_in_progress now as keypad_send_key() can only be called after the timer is initialized. and timer is initialized from keypad_init() which is in the attach section and can only execute after the module has initialized. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e134201b7a27eaf1ce3affe39ea6f30a1a747186 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Mar 9 20:08:24 2015 +0530 staging: panel: return register value we were returning success even if the module failed to register. now we are returning the actual return value, success or error. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb046fef9668baf1c4744a3c7aba05e15e44c9ac Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Mar 9 20:08:23 2015 +0530 staging: panel: register reboot we donot need the reboot notifier in module init section, as the notifier is used after lcd is initialized. so lets register for the reboot notifier only after we have successfully attached to the parallel port. and similarly unregister at detach. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de99befd18c10d8085182a1facbb4b8760b2b6fe Author: Ragavendra Nagraj <ragavendra.bn@xxxxxxxxx> Date: Wed Mar 18 02:37:42 2015 -0700 staging: sm750fb: Fixed no space and indent warns This patch fixes the no spaces and indent warnings identified by the checkpath.pl script for the entire ddk750_chip.c file by using appropriate tab spaces and indents accordingly. Signed-off-by: Ragavendra Nagraj <ragavendra.bn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a9df4303b2325a7ed3c44fbf4f8878798fb2c94 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Mon Mar 16 11:51:09 2015 +0100 staging/sm75fb: Declare static functions as such This patch fixes this sparse warning CHECK drivers/staging/sm750fb/ddk750_swi2c.c drivers/staging/sm750fb/ddk750_swi2c.c:223:6: warning: symbol 'swI2CStart' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_swi2c.c:234:6: warning: symbol 'swI2CStop' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_swi2c.c:252:6: warning: symbol 'swI2CWriteByte' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_swi2c.c:320:15: warning: symbol 'swI2CReadByte' was not declared. Should it be static? drivers/staging/sm750fb/ddk750_swi2c.c:361:6: warning: symbol 'swI2CInit_SM750LE' was not declared. Should it be static? Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71ce762feb382d25e8a20f88503009fee47a7e92 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Mar 8 23:10:11 2015 +0530 staging: sm7xxfb: change return of sm7xx_vga_setup change return type of sm7xx_vga_setup() to void as we are not using the return type anywhere. if this function fails we fall back to the default configuration. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0f37e658cd8fcedea81aa1bd742f27cd1f707ec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Mar 8 23:10:10 2015 +0530 staging: sm7xxfb: remove unneeded __setup as we start to use kernel boot parameters and fb_get_options() we donot need to use __setup() any more. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c65434eb265393ea1741953621559c61bba56062 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Mar 8 23:10:09 2015 +0530 staging: sm7xxfb: use module init and exit use module_init() and module_exit() instead of module_pci_driver and at the same time make way for use of kernel boot parameters. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3e5df43488f7c6c5e91578ec9c7fdda5cd36167 Author: Peter Poklop <peter.poklop@xxxxxxxxx> Date: Wed Mar 18 20:15:57 2015 +0100 Staging: fbtft: add declaration of non-static functions This patch fixes these sparse warnings: drivers/staging/fbtft/fbtft-sysfs.c:23:5: warning: symbol 'fbtft_gamma_parse_str' was not declared. Should it be static? drivers/staging/fbtft/fbtft-sysfs.c:153:6: warning: symbol 'fbtft_expand_debug_value' was not declared. Should it be static? drivers/staging/fbtft/fbtft-sysfs.c:209:6: warning: symbol 'fbtft_sysfs_init' was not declared. Should it be static? drivers/staging/fbtft/fbtft-sysfs.c:216:6: warning: symbol 'fbtft_sysfs_exit' was not declared. Should it be static? Signed-off-by: Peter Poklop <peter.poklop@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a938a8cef9abad2ae13e6a48329f5119930b0d6 Author: Ravindran, Madhusudhanan (M.) <mravindr@xxxxxxxxxxx> Date: Mon Mar 16 15:36:41 2015 +0000 staging: fbtft: Fix potential null dereference This error is found by smatch tool. Signed-off-by: Madhusudhanan Ravindran <mravindr@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa5735f139f84a3d1e4ef4d0ba177a25372506fb Author: Madhusudhanan Ravindran <mravindran04@xxxxxxxxx> Date: Sun Mar 8 10:26:30 2015 +0530 staging: fbtft: Use kmemdup rather than duplicating its implementation The semantic patch that makes this change is available in scriptcoccinelle/api/memdup.cocci. Signed-off-by: Madhusudhanan Ravindran <mravindran04@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9954896a286393522a851731c46caba1f7bca19 Author: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Date: Fri Feb 13 18:05:34 2015 -0800 ion: improve ion_phys error message Clients often get confused when ion_phys errors out due to some heap being used that they didn't expect. Add the heap name and heap type to the error message to make it more obvious. Signed-off-by: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d38f486142b6edf3dfd3407d8f0e8a55309a9e41 Author: Abdul Hussain S <hussain.abdul@xxxxxxxxxxx> Date: Wed Mar 18 14:46:00 2015 +0530 staging: i2o: Use kstrdup rather than duplicating its implementation The semantic patch that makes this change is available in scripts/coccinelle/api/kstrdup.cocci Signed-off-by: Abdul Hussain S <hussain.abdul@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a48a091962ec4f96c12038d11a15998ec28017b Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Thu Mar 19 23:09:43 2015 +0200 Staging: vt6655: changed C99 // comments // erased and replace it with /**/ used. Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20ff1418d3936f76df24f5694c6b5eb9179a565f Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Mar 14 01:34:41 2015 +0300 staging: vt6656: don't return zero on failure path in vt6656_probe() If ieee80211_alloc_hw() fails in vt6656_probe(), it breaks off initialization, but returns zero. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1c6dcda80f6dbb3e9b78809235695e8828994f9 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Thu Mar 19 14:18:56 2015 +0100 staging: vt6655: remove deprecated use of pci api Replace occurences of the pci api by appropriate call to the dma api. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @deprecated@ idexpression id; position p; @@ ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @bad1@ idexpression id; position deprecated.p; @@ ...when != &id->dev when != pci_get_drvdata ( id ) when != pci_enable_device ( id ) ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @depends on !bad1@ idexpression id; expression direction; position deprecated.p; @@ ( - pci_dma_supported@p ( id, + dma_supported ( &id->dev, ... + , GFP_ATOMIC ) | - pci_alloc_consistent@p ( id, + dma_alloc_coherent ( &id->dev, ... + , GFP_ATOMIC ) ) Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 875887c3086a6e130beb73cd12b737c1296eb946 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Mar 20 12:47:51 2015 +0530 Staging: ste_rmi4: Use SIMPLE_DEV_PM_OPS() macro Macro SIMPLE_DEV_PM_OPS() can be used when same suspend and resume callbacks are used for suspend to RAM and hibernation. So, here use SIMPLE_DEV_PM_OPS to make code shorter and cleaner. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa6432f122434a79253b07c87f292eff982bd71e Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 19 21:07:51 2015 +0200 Staging: iio: Remove line over 80 characters Rename variable in order to fix the 80 characters per line warning. Found by checkpatch.pl Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccc5fbe09028bbb66185ecc38830f3fbd2c9c6e3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 19 21:07:18 2015 +0200 Staging: iio: Remove multiple blank lines This patch removes blank uneeded lines in order to remove the folowing checkpatch.pl warning: "Please don't use multiple blank lines". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7079f21b660cc9ac2ce6d6005af3b2fd8638d61c Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 19 21:06:42 2015 +0200 Staging: iio: Align function parameters to match first row This patch improves coding style by aligning parameters in iio/magnetometer function calls, to remove the following warning: "CHECK: Alignment should match open parenthesis". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fb163f49ed3b3836f6835f06a5ef9afbabb9c24 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 19 21:04:42 2015 +0200 Staging: iio: Simplify NULL pointer condition Replace NULL comparrison with its shorter form. Done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 971fb3e55feeafe5182c283a39f1f39d0d705b99 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Jan 18 01:12:59 2015 +0200 drm: omapdrm: Reorder CRTC functions The next commit will need functions to be reordered. Do it separately to help review. This only moves functions without any change to the code. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 87bb2ef15b0fbb91e9ea2d56ef5100e47439e11d Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Jan 17 23:12:38 2015 +0200 drm: omapdrm: Planes are already disabled when destroyed Planes are destroyed after framebuffers, which has the side effect of disabling all planes. There is thus no need to disable planes explicitly when destroying them. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit a350da8be4d91e733ec8cb225e5edefa8b085167 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Jan 17 22:31:42 2015 +0200 drm: omapdrm: Pass integer source coordinates to omap_plane_mode_set() The function will convert the Q16 source coordinates to integers, avoid converting integers to Q16 first and perform the opposite conversion. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 2a438c5b4e398e42cdc8aa2d16badc6fbcf8aeb5 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Jan 17 18:50:10 2015 +0200 drm: omapdrm: Prefix all plane functions with omap_plane_ This matches the rest of the file and clarifies the functions' purpose. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 8472b5708ebaabf4568fe53672db7567e94c4c65 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Jan 15 00:45:17 2015 +0200 drm: omapdrm: Avoid function forward declaration in omap_crtc.c Move the set_enabled function to avoid the forward declaration. While at it prefix it with omap_crtc_ like most other functions in the file, and fix the comment stating in which contexts the function is called. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 297767b68146f2355dfb10cb57185bef7769dfd9 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Jan 15 00:31:11 2015 +0200 drm: omapdrm: Remove omap_crtc->full_update field The full_update field is always set to true before calling omap_crtc_appy(), resulting in its value always being true in the single location where it is tested, in omap_crtc_pre_apply(). Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 5a35876e2830511cb8110667fc426c6a6165a593 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jan 14 17:54:40 2015 +0200 drm: omapdrm: Remove manual update display support All the manual update display code implements eventually ends up to just calls to omap_connector_flush(), currently implemented as an empty TODO stub. Remove it, the code can always be revived and implemented later if interest in manual update displays becomes a reality. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 5dbe44336811a7e8ef4c958c6ac054772ee47637 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jan 13 09:14:53 2015 +0200 drm: omapdrm: Fix race condition between GO and vblank IRQ The vblank interrupt is used by the driver as a completion signal when applying new settings. A race condition exist between enabling the vblank interrupt and applying new settings to the hardware by setting the GO bit. If a vblank interrupt occurs in-between, the driver will incorrectly consider the new settings to be applied. Fix this by enabling the interrupt after setting the GO bit. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 82e58855bc4f8442145cb2037e164a4b1f5cf854 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jan 12 23:56:57 2015 +0200 drm: omapdrm: Reset the zorder property when disabling a plane Whether to reset plane properties at disable time isn't well-defined in DRM, but resetting only part of them is probably as bad as it can get. Make the behaviour coherent by resetting the zorder property in addition to the rotation property. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 2debab97a515374c01d50068de00c95f9befd260 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jan 12 22:38:16 2015 +0200 drm: omapdrm: Rename omap_plane_dpms() to omap_plane_set_enable() The planes don't care about DPMS states, don't propagate it unnecessarily to the plane functions. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit ef6b0e0275387f79e6ad848d61dfcb1a4f962fc7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Jan 11 00:11:18 2015 +0200 drm: omapdrm: Switch to the universal plane API Remove the CRTC private planes by switching to the universal plane API. This results in a merge of the CRTC private plane created by the driver (omap_crtc->plane) and the CRTC primary plane created by the DRM core (crtc->primary). Reference counting of the framebuffers in the update plane operation is thus simplified as no reference needs to be stored in the private plane anymore. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 9c660b7ceb0f104c72c4857e9c3619819d387f1d Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jan 12 16:44:03 2015 +0200 drm: omapdrm: Remove unused variables The ilace variable is unused and the replication variable is assigned to false and just passed to a function. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit fb9a35f89fac2ca97597ce212439d2997f2caf7e Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Jan 11 16:30:44 2015 +0200 drm: omapdrm: Refactor CRTC creation code Create a omap_modeset_create_crtc() function to avoid duplicating plane and CRTC creation code. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 222025e42d7f77133b8c3a2355d20a6004096c4b Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Jan 11 00:02:07 2015 +0200 drm: omapdrm: Fix indentation of structure and array initializers Indenting by one tab is enough. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 2c4b2980ae16a2d8d35f126ddb9fbcba809e2612 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Mar 19 13:25:20 2015 +0530 Staging: rtl8188eu: Remove extern as it is defined but never used RTW_WPA_VERSION is removed as is declared and defined but never used in the code. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 680355f3d49624fc9bd9a7d40857b04e74c6c264 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Mar 19 13:25:12 2015 +0530 Staging: rtl8188eu: Remove unused macros These macros are defined but never used in the code. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ce019df9bf983caa65643e1589b96fef47cb35b Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Mar 19 13:25:06 2015 +0530 Staging: rtl8188eu: Remove unused extern declarations. These externs are defined but not used anywhere in the code. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 127883b803c7c602a348c49963b4b10cd2d21e92 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Mar 19 03:14:15 2015 +0530 Staging: rts5208: Add new variable idx to shorten line length and increase readability Add new variable idx to shorten line length of other statements and increase readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ef4ec4a653c2fb71d70e5c23bf2f37253b5da01 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Mar 19 02:26:58 2015 +0530 Staging: rts5208: Introduce a new variable to shorten line length and increase readability The variable block_no is introduced so as to shorten line length in the long assignment statement and increase readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae89faccc6bae384f10a0efd7fec001e89b15e63 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 18 23:13:10 2015 +0530 Staging: speakup: Use module_spk_synth Macro module_spk_synth can be used for speakup drivers whose init and exit paths does only module registrations. So, here remove some boilerplate code by using module_spk_synth. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c950a892cc302336d2a0900eba6d40ac0fb7cacb Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 18 23:13:04 2015 +0530 Staging: speakup: Add helper macro for spk_synth boilerplate For simple modules that contain a single spk_synth without any additional setup code then ends up being a block of duplicated boilerplate. This patch adds a new macro, module_spk_synth(), which replaces the module_init()/module_exit() registrations with template functions. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6b43c2e85c631a05ab8aece0cbde5e12deb0701 Author: Sven Dziadek <sven.dziadek@xxxxxx> Date: Thu Mar 19 20:42:48 2015 +0100 Staging: wlan-ng: hfa384x: wrap long line This fixes the coding style issue "line over 80 characters" found by checkpatch.pl Signed-off-by: Sven Dziadek <sven.dziadek@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fb0885504cc029bd48877fa89ba91c33c0110b5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:12 2015 +0100 power: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> [for vexpress] Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a087146c72bad795bcab80e5987c5b80fa225000 Author: Brian Russell <brian.russell@xxxxxxxxxxx> Date: Thu Mar 19 17:55:26 2015 +0000 uio: Request/free irq separate from dev lifecycle Separate irq request/free from the device lifecycle. After device unregister the parent module can call pci_disable_msi. >From the PCI MSI how to: "Before calling this function, a device driver must always call free_irq() on any interrupt for which it previously called request_irq(). Failure to do so results in a BUG_ON(), leaving the device with MSI enabled and thus leaking its vector." So we need to separately free the irq at unregister to allow the device to be kept around in the case of it still having open FDs. Signed-off-by: Brian Russell <brussell@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8f4f33a4f8e5bd0e6b46f29ac74082d0684d9e3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:58 2015 +0100 staging: rtl8192e: remove CURRENT_RATE macro CURRENT_RATE macro is used only once in driver. This patch removes it and adds rtllib_current_rate() static function in file using that macro Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e48617a48c26aae074b99c939740597206955093 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:57 2015 +0100 staging: rtl8192e: remove eqMacAddr macro Remove eqMacAddr macro and replace it with ether_addr_equal_unaligned() Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34fff6db29eac1f0c48ff3ab95db9b24ffd6c51a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:56 2015 +0100 staging: rtl8192e: rtllib.h: remove duplicated container_of This macro is already defined in kernel.h - there is no need to redefine it. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e4eb9fdf2a1188cd4fce1945a5ba8c65fe91498 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:55 2015 +0100 staging: rtl8192e: remove unused macros Several (unused) macros were removed from driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7527cf3710b82a07bbc608e91b7de0c2696bf74a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:54 2015 +0100 staging: rtl8192e: remove dead code Remove commented-out unions and enum. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b979cda818948e4994fd2ab4081c129cc6194a5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:53 2015 +0100 staging: rtl8192e: remove rtllib_endianfree.h rtllib_endianfree.h was not used (only included) Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d69d20549be9e44b928d5f857898fe7432deeaac Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:52 2015 +0100 staging: rtl8192e: fix coding style warnings (printk -> netdev_*) Use netdev_*, dev_* or pr_* instead of printk where possible. KERN_DEBUG messages are left intact as pr_dbg has different behaviour. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2729011c40ba0bde6ad5381fa84775fff7456c1a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:51 2015 +0100 staging: rtl8192e: rtllib_wx: remove duplicate messages Some messages were reported with netdev_* macros and internal driver-specific macro. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3325721d36d4cad6a44f8dc97591ff213f1a8d8a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:50 2015 +0100 staging: rtl8192e: fix coding style errors (macros in parentheses) Fix checkpatch.pl errors 'Macros with complex values should be enclosed in parentheses'. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc986e3ed39830df78a24e5053b3c05acd6f0527 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:49 2015 +0100 staging: rtl8192e: fix coding style issues (spaces before semicolon) Fix checkpatch.pl warning 'space prohibited before semicolon'. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0822339b52f6ea3f20b602362864f2a7ab9d3f7f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Mar 17 00:00:48 2015 +0100 staging: rtl8192e: fix coding style issues (merge broken strings) Fix checkpatch.pl warnings: - 'WARNING: quoted string split across lines' - 'WARNING: break quoted strings at a space character' Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5133e75171d6b503b2491b882e00365515c6a81 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Thu Mar 19 22:32:30 2015 +0200 Staging: rtl8192u: Remove unnecessary spaces Fix checkpatch.pl issues with "unnecessary whitespace before a quoted newline" in r819xU_phy.c Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7078db9dffde19f4ea82acb0c2d8a9f81531e15a Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Mar 18 15:26:05 2015 +0200 staging: prism2sta: Replace memcpy with ether_add_copy Replace memcpy() with ether_addr_copy() since addresses are __aligned(2). The 2 structures are aligned to u16 as showed below: typedef struct hfa384x_authenticateStation_data { u8 address[ETH_ALEN]; /* 0 6 */ u16 status; /* 6 2 */ u16 algorithm; /* 8 2 */ } __packed hfa384x_authenticateStation_data_t; Total size: 10 typedef struct hfa384x_AuthRequest { u8 sta_addr[ETH_ALEN]; /* 0 6 */ u16 algorithm; /* 6 2 */ } __packed hfa384x_AuthReq_t; Total size: 8 Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc5d82a9febb28aa9126f9a864eb212317e4ede6 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Mar 19 17:22:25 2015 -0700 Bluetooth: Use HCI_MAX_AD_LENGTH constant instead hardcoded value Using the HCI_MAX_AD_LENGTH for the max advertising data and max scan response data length makes more sense than hardcoding the value. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 039ab50bda5606307138b1baa1f18c7e33d357e4 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Mar 16 22:27:08 2015 +0100 power/reset/rmobile-reset.c: Fix !HAS_IOMEM build Fixes: drivers/power/reset/rmobile-reset.c: In function â??rmobile_reset_probeâ??: drivers/power/reset/rmobile-reset.c:61:2: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(sysc_base2); Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e7844ee599c3eb944c3bd0092d715ca86e76a1f3 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Mar 18 16:15:07 2015 -0700 Bluetooth: Gracefully response to enabling LE on LE only devices Currently the enabling of LE on LE only devices causes an error. This is a bit difference from other commands where trying to set the same existing settings causes a positive response. Fix this behavior for this single corner case. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 9cd974bb0f7abc83da1788a17e28890819b593b8 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Mar 20 12:35:45 2015 +0100 ASoC: max98925: Constify regmap config and other codec data Constify local structures (snd_soc_dai_ops, snd_soc_codec_driver, regmap_config) and array (reg_defaults) which are not modified by the driver and passed to core as pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c94a3d403299f64d2f91346ff64c4b95747c123c Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Mar 20 10:26:02 2015 +0100 power_supply: 88pm860x_charger: Fix possible NULL pointer dereference and use of initialized variable Do not put reference to power supply in early exit paths of pm860x_done_handler() because: 1. it is not yet initialized, 2. it is NULL. This fixes possible NULL pointer dereference and following build warning: drivers/power/88pm860x_charger.c: In function â??pm860x_done_handlerâ??: drivers/power/88pm860x_charger.c:516:18: warning: â??psyâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] Additionally this puts the power supply reference before unlocking mutex. This actually is not needed (there is no race here) but has logical sense and makes the exit paths cleaner. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 14048ffed0145a425a8d3114ce8ff48172460238 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 17:38:39 2015 +0200 video: fbdev: sh_mobile_lcdcfb: Fix ROP3 sysfs attribute parsing The ROP3 attribute is expressed as an integer in the 0-255 range. Remove the wrong conversion to boolean when parsing it. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 2ddc1dad393d39ee6218e545e37e57f3a9dc050f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 17:57:14 2015 +0200 drm/i915: Fix SKL sprite disable double buffer register update Write the PLANE_SURF register instead of PLANE_CTL to arm the double buffer regisrter update. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 48fe4691ae639e60fda37faf06dccdff60245149 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 17:57:13 2015 +0200 drm/i915: Eliminate plane control register RMW from sprite code Replace the RMW access with explicit initialization of the entire plane control register, as was done for primary planes in: 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() The automagic primary plane disable is still doing RMWs, but that will require more work to untangle, so leave it alone for now. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 47ecbb208bf44be0e798495d08837fe7c4138201 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 21:18:57 2015 +0200 drm/i915: Eliminate the RMW sprite colorkey management Store the colorkey in intel_plane and kill off all the RMW stuff handling it. This is just an intermediate step and eventually the colorkey needs to be converted into some properties. v2: Actually update the hardware state in the set_colorkey ioctl (Daniel) Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 08fd59fcc8c0f9732214fb93ad5cb09f67cb1124 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Mar 18 15:04:47 2015 -0700 drm/i915: Move vblank wait determination to 'check' phase Determining whether we'll need to wait for vblanks is something we should determine during the atomic 'check' phase, not the 'commit' phase. Note that we only set these bits in the branch of 'check' where intel_crtc->active is true so that we don't try to wait on a disabled CRTC. The whole 'wait for vblank after update' flag should go away in the future, once we start handling watermarks in a proper atomic manner. This regression has been introduced in commit 2fdd7def16dd7580f297827930126c16b152ec11 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Mar 4 10:49:04 2015 -0800 drm/i915: Don't clobber plane state on internal disables Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Root-cause-analysis-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89550 Testcase: igt/pm_rpm/legacy-planes Testcase: igt/pm_rpm/legacy-planes-dpms Testcase: igt/pm_rpm/universal-planes Testcase: igt/pm_rpm/universal-planes-dpms Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9ca3ba011b9f1bf7fc73a4e7dc0c9edec2aeb149 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Mar 17 11:40:05 2015 +0200 drm/i915/chv: use vlv_PLL_is_optimal in chv_find_best_dpll Prepare chv_find_best_dpll to be used for BXT too, where we want to consider the error between target and calculated frequency too when choosing a better PLL configuration. No functional change. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 24be4e4650de2fc323ee0737f945ad366b6c11cc Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Mar 17 11:40:04 2015 +0200 drm/i915: check for div-by-zero in vlv_PLL_is_optimal Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d5dd62bd9a19bcea4bcf20f66de56591fdd0d8d2 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Mar 17 11:40:03 2015 +0200 drm/i915: factor out vlv_PLL_is_optimal Factor out the logic to decide whether the newly calculated dividers are better than the best found so far. Do this for clarity and to prepare for the upcoming BXT helper needing the same. No functional change. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bdd7554d568fa165b0e86fc32b1cde3c895ff774 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 17:57:11 2015 +0200 drm/i915: Kill intel_plane->obj intel_plane->obj is not used anymore so kill it. Also don't pass both the fb and obj to the sprite .update_plane() hook, as just passing the fb is enough. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6702cf16e0ba8b0129f5aa1b6609d4e9c70bc13b Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Mon Mar 16 16:00:58 2015 +0000 drm/i915: Initialize all contexts The problem is we're going to switch to a new context, which could be the default context. The plan was to use restore inhibit, which would be fine, except if we are using dynamic page tables (which we will). If we use dynamic page tables and we don't load new page tables, the previous page tables might go away, and future operations will fault. CTXA runs. switch to default, restore inhibit CTXA dies and has its address space taken away. Run CTXB, tries to save using the context A's address space - this fails. The general solution is to make sure every context has it's own state, and its own address space. For cases when we must restore inhibit, first thing we do is load a valid address space. I thought this would be enough, but apparently there are references within the context itself which will refer to the old address space - therefore, we also must reinitialize. v2: to->ppgtt is only valid in full ppgtt. v3: Rebased. v4: Make post PDP update clearer. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 563222a745012cc2bb20c5d5cbff1c1ec4832c05 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Mar 19 12:53:28 2015 +0000 drm/i915: Track page table reload need This patch was formerly known as, "Force pd restore when PDEs change, gen6-7." I had to change the name because it is needed for GEN8 too. The real issue this is trying to solve is when a new object is mapped into the current address space. The GPU does not snoop the new mapping so we must do the gen specific action to reload the page tables. GEN8 and GEN7 do differ in the way they load page tables for the RCS. GEN8 does so with the context restore, while GEN7 requires the proper load commands in the command streamer. Non-render is similar for both. Caveat for GEN7 The docs say you cannot change the PDEs of a currently running context. We never map new PDEs of a running context, and expect them to be present - so I think this is okay. (We can unmap, but this should also be okay since we only unmap unreferenced objects that the GPU shouldn't be tryingto va->pa xlate.) The MI_SET_CONTEXT command does have a flag to signal that even if the context is the same, force a reload. It's unclear exactly what this does, but I have a hunch it's the right thing to do. The logic assumes that we always emit a context switch after mapping new PDEs, and before we submit a batch. This is the case today, and has been the case since the inception of hardware contexts. A note in the comment let's the user know. It's not just for gen8. If the current context has mappings change, we need a context reload to switch v2: Rebased after ppgtt clean up patches. Split the warning for aliasing and true ppgtt options. And do not break aliasing ppgtt, where to->ppgtt is always null. v3: Invalidate PPGTT TLBs inside alloc_va_range. v4: Rename ppgtt_invalidate_tlbs to mark_tlbs_dirty and move pd_dirty_rings from i915_address_space to i915_hw_ppgtt. Fixes when neither ctx->ppgtt and aliasing_ppgtt exist. v5: Removed references to teardown_va_range. v6: Updated needs_pd_load_pre/post. v7: Fix pd_dirty_rings check in needs_pd_load_post, and update/move comment about updated PDEs to object_pin/bind (Mika). Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 678d96fbb3b5995a2fdff2bca5e1ab4a40b7e968 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Mon Mar 16 16:00:56 2015 +0000 drm/i915: Track GEN6 page table usage Instead of implementing the full tracking + dynamic allocation, this patch does a bit less than half of the work, by tracking and warning on unexpected conditions. The tracking itself follows which PTEs within a page table are currently being used for objects. The next patch will modify this to actually allocate the page tables only when necessary. With the current patch there isn't much in the way of making a gen agnostic range allocation function. However, in the next patch we'll add more specificity which makes having separate functions a bit easier to manage. One important change introduced here is that DMA mappings are created/destroyed at the same page directories/tables are allocated/deallocated. Notice that aliasing PPGTT is not managed here. The patch which actually begins dynamic allocation/teardown explains the reasoning for this. v2: s/pdp.page_directory/pdp.page_directories Make a scratch page allocation helper v3: Rebase and expand commit message. v4: Allocate required pagetables only when it is needed, _bind_to_vm instead of bind_vma (Daniel). v5: Rebased to remove the unnecessary noise in the diff, also: - PDE mask is GEN agnostic, renamed GEN6_PDE_MASK to I915_PDE_MASK. - Removed unnecessary checks in gen6_alloc_va_range. - Changed map/unmap_px_single macros to use dma functions directly and be part of a static inline function instead. - Moved drm_device plumbing through page tables operation to its own patch. - Moved allocate/teardown_va_range calls until they are fully implemented (in subsequent patch). - Merged pt and scratch_pt unmap_and_free path. - Moved scratch page allocator helper to the patch that will use it. v6: Reduce complexity by not tearing down pagetables dynamically, the same can be achieved while freeing empty vms. (Daniel) v7: s/i915_dma_map_px_single/i915_dma_map_single s/gen6_write_pdes/gen6_write_pde Prevent a NULL case when only GGTT is available. (Mika) v8: Rebased after s/page_tables/page_table/. v9: Reworked i915_pte_index and i915_pte_count. Also exercise bitmap allocation here (gen6_alloc_va_range) and fix incorrect write_page_range in i915_gem_restore_gtt_mappings (Mika). Cc: Daniel Vetter <daniel@xxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v3+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 317b4e903636305cfe702ab3e5b3d68547a69e72 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Mon Mar 16 16:00:55 2015 +0000 drm/i915: Extract context switch skip and add pd load logic In Gen8, PDPs are saved and restored with legacy contexts (legacy contexts only exist on the render ring). So change the ordering of LRI vs MI_SET_CONTEXT for the initialization of the context. Also the only cases in which we need to manually update the PDPs are when MI_RESTORE_INHIBIT has been set in MI_SET_CONTEXT (i.e. when the context is not yet initialized or it is the default context). Legacy submission is not available post GEN8, so it isn't necessary to add extra checks for newer generations. v2: Use new functions to replace the logic right away (Daniel) v3: Add missing pd load logic. v4: Add warning in case pd_load_pre & pd_load_post are true, and add missing trace_switch_mm. Cleaned up pd_load conditions. Add more information about when is pd_load_post needed. (Mika) Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 07749ef32c4fd60334c2451739460dd1cf600281 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Mon Mar 16 16:00:54 2015 +0000 drm/i915: page table generalizations No functional changes, but will improve code clarity and removed some duplicated defines. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d2d9cbbd224f5fc9254c9952a78bd8cfed3b96f9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 19 11:44:06 2015 +0200 drm/i915: Send out the full AUX address AUX addresses are 20 bits long. Send out the entire address instead of just the low 16 bits. 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 eb0b44adc08c0be01a027eb009e9cdadc31e65a2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 18 14:47:59 2015 +0100 drm/i915: kerneldoc for i915_gem_shrinker.c And remove one bogus * from i915_gem_gtt.c since that's not a kerneldoc there. v2: Review from Chris: - Clarify memory space to better distinguish from address space. - Add note that shrink doesn't guarantee the freed memory and that users must fall back to shrink_all. - Explain how pinning ties in with eviction/shrinker. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be6a03769504753696033b7595d4dcbc4a16d088 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 18 10:46:04 2015 +0100 drm/i915: Extract i915_gem_shrinker.c Two code changes: - Extract i915_gem_shrinker_init. - Inline i915_gem_object_is_purgeable since we open-code it everywhere else too. This already has the benefit of pulling all the shrinker code together, next patch adds a bit of kerneldoc. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6f4b12f89c78fd0030aa51ead17eaf234108f60d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 09:48:23 2015 +0000 drm/i915: Use down ei for manual Baytrail RPS calculations Use both up/down manual ei calcuations for symmetry and greater flexibility for reclocking, instead of faking the down interrupt based on a fixed integer number of up interrupts. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Deepak S<deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 43cf3bf084ba097463d67e756ff821505bdaa69d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 09:48:22 2015 +0000 drm/i915: Improved w/a for rps on Baytrail Rewrite commit 31685c258e0b0ad6aa486c5ec001382cf8a64212 Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Date: Thu Jul 3 17:33:01 2014 -0400 drm/i915/vlv: WA for Turbo and RC6 to work together. Other than code clarity, the major improvement is to disable the extra interrupts generated when idle. However, the reclocking remains rather slow under the new manual regime, in particular it fails to downclock as quickly as desired. The second major improvement is that for certain workloads, like games, we need to combine render+media activity counters as the work of displaying the frame is split across the engines and both need to be taken into account when deciding the global GPU frequency as memory cycles are shared. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Deepak S<deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aed242ff7ebb697e4dff912bd4dc7ec7192f7581 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 09:48:21 2015 +0000 drm/i915: Relax RPS contraints to allows setting minfreq on idle When we idle, we set the GPU frequency to the hardware minimum (not user minimum). We introduce a new variable to distinguish between the different roles, and to allow easy tuning of the idle frequency without impacting over aspects of RPS. Setting the minimum frequency should be a safety blanket as the pcu on the GPU should be power gating itself anyway. However, in order for us to do set the absolute minimum frequency, we need to relax a few of our assertions that we do not exceed the user limits. v2: Add idle_freq v3: Init idle_freq for vlv and add a bunch of WARNs Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S<deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit edf4427b8055dc93eb5222d8174b07a75ba24fb5 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 11:20:56 2015 +0000 drm/i915: Fallback to using CPU relocations for large batch buffers If the batch buffer is too large to fit into the aperture and we need a GTT mapping for relocations, we currently fail. This only applies to a subset of machines for a subset of environments, quite undesirable. We can simply check after failing to insert the batch into the GTT as to whether we only need a mappable binding for relocation and, if so, we can revert to using a non-mappable binding and an alternate relocation method. However, using relocate_entry_cpu() is excruciatingly slow for large buffers on non-LLC as the entire buffer requires clflushing before and after the relocation handling. Alternatively, we can implement a third relocation method that only clflushes around the relocation entry. This is still slower than updating through the GTT, so we prefer using the GTT where possible, but is orders of magnitude faster as we typically do not have to then clflush the entire buffer. An alternative idea of using a temporary WC mapping of the backing store is promising (it should be faster than using the GTT itself), but requires fairly extensive arch/x86 support - along the lines of kmap_atomic_prof_pfn() (which is not universally implemented even for x86). Testcase: igt/gem_exec_big #pnv,byt Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88392 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add a WARN_ONCE for the impossible reloc case and explain in a short comment why we want to avoid ping-pong.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6fafab76d5189312bf45e71254b5aba5faf7a31b Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Mar 17 15:36:51 2015 +0000 drm/i915: Turn on PIN_GLOBAL in i915_gem_object_ggtt_pin This makes the interface consistent to old i915_gem_obj_ggtt_pin. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dabde5c7320059af62ce0a706ad11c793bad1345 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 18 11:21:58 2015 +0300 drm/i915: memory leak in __i915_gem_vma_create() In the original code then if WARN_ON(i915_is_ggtt(vm) != !!ggtt_view) was true then we leak "vma". Presumably that doesn't happen often but static checkers complain and this bug is easy to fix. Fixes: c3bbb6f2825d ('drm/i915: Do not use ggtt_view with (aliasing) PPGTT') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a1ddefd8f3963cd9edfda86a0affff8e53d4a762 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Mar 17 17:18:54 2015 +0200 drm/i915/dp: return number of bytes written for short aux/i2c writes Allow for a larger receive data size, and check if the receiver returned the number of bytes written. Without this, we've basically skipped all the unwritten bytes for short writes. 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 94ca719ee47f287b11942c899e6b81045311b786 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 13 19:40:31 2015 +0200 drm/i915: Unconfuse DP link rate array names To keep things clear rename the intel_dp->supported_rates[] to intel_dp->sink_rates[], and rename the supported_rates[] name we used elsewhere for the intersection of source and sink rates to common_rates[]. Cc: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0336400ebeeabb7c7187f1ed1bca04ff2191adf8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:39 2015 +0200 drm/i915: Include the sink/source/supported rates in debug output TODO: Is there an actually nice way to print an array of ints? Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe51bfb95c996733150c44d21e1c9f4b6322a326 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:38 2015 +0200 drm/i915: Add eDP intermediate frequencies for CHV "P1273_DPLL_Programming Spreadsheet.xlsm" lists a boatload of frequencies for eDP. Try to use them all. For now I've decided not to add hardcoded DPLL dividers for these cases since chv_find_best_dpll() works just fine. I've not actually tested any of these since I don't have an eDP 1.4 panel. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e6bda3e4cb439679946c9378628d906ab32bf590 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:37 2015 +0200 drm/i915: Avoid overflowing the DP link rate arrays Complain loudly if we ever attempt to overflow the the supported_rates[] array. This should never happen since the sink_rates[] array will always be smaller or of equal size. But should someone change that we want to catch it without scribblign over the stack. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ed4e9c1d46980e76254573ccd59efb3e8aec77d2 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:36 2015 +0200 drm/i915: Fix MST link rate handling Now that intel_dp_max_link_bw() no longer considers the source restrictions we may try to enable MST with 5.4GHz even when the source doesn't support it. To fix that switch the code over to handle the link rate in the same way as the SST code handles it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bc27b7d3f096e88f9b6571965452925fc93f2ca3 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:35 2015 +0200 drm/i915: Use DP_LINK_RATE_SET whenever possible Drop the gen9 checks from the code and issue DP_LINK_RATE_SET whenever the sink reports to support it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 50fec21a7db84a5c40e27c83bd55a5c9b435efbf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:34 2015 +0200 drm/i915: Fix max link rate in intel_dp_mode_valid() Consider the link rates reported by the sink via DP_SUPPORTED_LINK_RATES when checking modes against the max link rate. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2ecae76ad6c6da042dbbcce0084bd6b6c5700845 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:33 2015 +0200 drm/i915: Hide the source vs. sink rate handling from intel_dp_compute_config() intel_dp_compute_config() only really needs to know the rates supported by both source and sink, so hide the raw source and sink arrays from it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1db10e28b25687fea1d11a94196b0477145a24a8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:32 2015 +0200 drm/i915: Fully separate source vs. sink rates Remove the sink vs. source limit mess from intel_dp_max_link_bw() and just move the source restriction checks to intel_dp_source_rates(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> [danvet: Resolve conflict with WaDisableHBR2:skl patch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d098a5054373d860f062b42466fb965841c161fe Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:31 2015 +0200 drm/i915: Remove special case from intel_supported_rates() Now that both source and sink rates are always filled in there's no need for any special cases in intel_supported_rates(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 12f6a2e21be1ec4ad3dd6e2657b675f0779ee907 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:30 2015 +0200 drm/i915: Don't copy sink rates either Once we've read the rates from the sink we don't have to mess with them, so the caller can just look at the stored rates without doing extra copies. If the sink doesn't support the new link rate stuff, we just point the caller at the default_rates[] array. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 636280ba55fd95aaf14ecbfb2c32cb60a9e74e58 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:29 2015 +0200 drm/i915: Don't copy the DP source rates arrays The source rates don't change, so we can just point the caller at the const arrays. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea2d8a427fa99b70457518c8d3516f46e572b95d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:28 2015 +0200 drm/i915: Store the converted link rates in intel_dp->supported_rates[] No point in converting from hardware format every single time, just store the rates in the final format under intel_dp. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f4896f1529c43fb0688164ed33aebdf525a34fb7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 12 17:10:27 2015 +0200 drm/i915: Make the DP rates int instead of uint32_t No point in using uint32_t here, just plain old int will do. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec7adb6ee79c8c9fe64d63ad638a31cd62e55515 Author: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Date: Mon Mar 16 14:11:13 2015 +0200 drm/i915: Do not use ggtt_view with (aliasing) PPGTT GGTT views are only applicable when dealing with GGTT. Change the code to reject ggtt_view where it should not be used and require it when it should be. v2: - Dropped _ppgtt_ infixes, allow both types to be passed - Disregard other but normal views when no view is specified - More checks that valid parameters are passed - More readable error checking v3: - Prefer WARN_ONCE over BUG_ON when there is code path for failure Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> [danvet: Drop unecessary forward decl from earlier patch iterations.] [danvet: Remove unused variable spotted by Tvrtko.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aca5e361e84d20ac68eedb37b7c4561a33f56198 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Mar 13 16:13:59 2015 -0700 drm/i915: Fix sink crc connector iteration Regressed by this commit: commit 3455454e18ca3f92c565700539e744c620d8276b Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Tue Mar 3 15:21:56 2015 +0200 drm/i915: Add a for_each_intel_connector macro Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0f9e9cd61f46c07246e30871fd638ffeaca3c576 Merge: 86a930d 7f0801e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Mar 20 11:43:59 2015 +0100 Merge tag 'drm-intel-fixes-2015-03-19' into drm-intel-next Backmerge because of numerous and interleaving conflicts and git rerere getting confused a bit too often. Conflicts: drivers/gpu/drm/i915/intel_display.c All conflicts are because of -next patches backported to -fixes, so just go with the code in -next. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e8f4fb7c7c6b25dc0495f1fd43b03444f0a5c6e3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 20 11:37:36 2015 +0100 mac80211: remove drop_unencrypted code This mechanism was historic, and only ever used by IBSS, which also doesn't need to have it as it properly manages station's 802.1X PAE state (or, with WEP, always has a key.) Remove the mechanism to clean up the code. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 76b21e300c508edf2fc9bf27e314821ee46fcfec Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:20 2015 +0100 ARM: mvebu: Enable perf support in mvebu_v7_defconfig Now that Armada 375/38x have support for the PMU, this commit enables perf events in the defconfig. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit fc0daafeb4acf70839db5baf8ec4b861fff3efef Merge: b24062b 5ccf835 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 20 09:08:01 2015 +0100 Merge branch 'topic/hda-power' into for-next commit 057fcd426e146d0603b7320ea22b8caa24f83b0a Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Mar 15 19:43:14 2015 +0100 bcma: gpio: use predictable base for all BCM47XX buses Some BCM47XX SoC routers have LEDs connected to extra PCIe bcma buses. Handling them in arch code requires predictable GPIO numbers. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 080465f27aca1315cf882297cf31a376452fa188 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Mar 18 20:12:52 2015 +0530 mwifiex: fix crash in SDIO RX path With patch '960d6d08e39 "mwifiex: delay skb allocation for RX until cmd53 over"' we no more pass skb parameter to MP aggregation setup helper function. We instead pass length to be aggregated. This patch fixes an issue where we were passing length parameter of NULL skb to aggregation routine resulting into crash. We should instead pass rx_len received from mp_regs. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 55ab9a72bd324648987063e283ab3d4228efdaef Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:28 2015 +0100 brcmfmac: remove support for unreleased BCM4354 PCIe There are no known BCM4354 PCIe devices released so removing support from the driver until proven otherwise. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 228a71763d9f24637a6db2d1712f1e1a21a80ec6 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:27 2015 +0100 brcmfmac: only support the BCM43455/7 device Recently support was added for the BCM4345 SDIO chipset by commit 9c51026509d7 ("brcmfmac: Add support for BCM4345 SDIO chipset") however this was verified using a BCM43455 device, which is a more recent revision of the chip. This patch assure that older revisions are not probed as they would fail. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Syed Asifful Dayyan <syedd@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 25911556283e5093fca235d7ba03faae7ed5dbf2 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:26 2015 +0100 brcmfmac: add support for BCM43430 SDIO chipset This patch added support for the BCM43430 802.11n SDIO chipset. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7fca40eb003009e09614fb70edb6e48851f3fefc Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:25 2015 +0100 brcmfmac: add MODULE_FIRMWARE() macros for bcm4356 PCIe device The BCM4356 PCIe wireless device was added recently but overlooked the fact that the MODULE_FIRMWARE() macros were missing for the firmwares needed by this device. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ef5671d29df558405f454c606c639db3337548e2 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:24 2015 +0100 brcmfmac: Remove unnecessary new-line in pcie console logging. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a74196bb67c4f21a8308d26ba3bbdd22d766f5a4 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:23 2015 +0100 brcmfmac: Update msgbuf commonring size for improved throughput. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2c64e16d1ff1228df837508ab32e8a060cb06907 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:22 2015 +0100 brcmfmac: Add necessary memory barriers for SDIO. SDIO uses a thread to handle all communication with the device, for this data is exchanged between threads. This data needs proper memory barriers to make sure that data "exchange" is going correct. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 063d51776bd60ebf2587682eb394851c792e58d9 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 18 13:25:21 2015 +0100 brcmfmac: avoid runtime-pm for sdio host controller Several host controllers supporting runtime-pm are causing issues with our sdio wireless cards because they disable the sdio interrupt upon going into runtime suspend. This patch avoids that by doing a pm_runtime_forbid() call during the probe. Tested with Sony Vaio Duo 13 which uses sdhci-acpi host controller. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bb408cc78401c53842e17b24b6433c122629f21f Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 18 11:22:35 2015 +0300 mwifiex: missing curly braces in mwifiex_write_data_complete() It's clear from the indenting that curly braces were intended here. Fixes: e35000ead491 ('mwifiex: preprocess packets from TX queue') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ea345c145ff23197eab34d0c4d0c8a93d7bea8c6 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Mon Mar 16 10:59:52 2015 -0700 rt2x00: add new rt2800usb device DWA 130 Add the USB Id to link the D-Link DWA 130 USB Wifi adapter to the rt2830 driver. Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Pieter Truter <ptruter@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 70812421fb15888c809abb0b9b4ad34368094af6 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:24 2015 +0200 wil6210: fall back to pseudo-DMS mcast for secure link and PBSS Multicast is not yet properly supported for all connection types; actually, only non-secure AP is supported. For all other cases, fall back to old "pseudo-DMS" approach. Namely, for: - PBSS - secure connection When re-routing MCAST Rx->Tx on the AP, do not Tx back to the origin of the frame Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 41d6b093b7f8f2755a0a64ad4277c01bf78ced3e Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:23 2015 +0200 wil6210: implement broadcast/multicast data Use dedicated vring for multicast frames; this vring allocated for AP and PBSS (both P2P GO and client) configurations For short frames, use MCS0; for long - MCS1 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 62bfd30031faebcbf25db37bf228eeab0e25b2c3 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:22 2015 +0200 wil6210: add bcast structures to WMI Sync with the wmi definitions from the firmware team Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a82553bb9035ee881f24c38a92cc0dbb3e53cc0e Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:21 2015 +0200 wil6210: Prefer ether_addr_copy() over memcpy() Fix checkpatch warning: WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c406ea7c7406f00aa1fb6c697d47d070fd222037 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:19 2015 +0200 wil6210: Align Rx frames on 4*n+2 by having SNAP For the networking code and for hardware network accelerators, it is better to have IP header 4*n aligned. On the other side, DMA on Rx path require buffer to be aligned on 4*n as well. Having 14 bytes of Ethernet header, these 2 alignment requests are in contradiction. To solve this, order hardware offload block to not remove SNAP header. This adds extra 6 bytes between addresses and ethertype, making it 20 bytes total. This way, both buffer and IP header are 4*n aligned. Remaining is only to remove SNAP by shifting addresses 6 bytes. This involves data copying, so this feature should be disabled unless required by the platform. Module parameter "rx_align_2" (bool, default - false) introduced to control this feature. Feature is completely disabled when parameter is false. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cec94d8cf5c2e5347ed9264cc94210e6376c7a46 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:17 2015 +0200 wil6210: fix check for FW responsiveness "echo" used to be called when no firmware loaded to the NIC, this causes error output. Probe firmware with "echo" only after it returned "ready" event. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 148416a973e0a07fa94a0de90dae92763b282311 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 15 16:00:16 2015 +0200 wil6210: optimize index manipulation in wil_vring_reap_rx Use temporal variable for often used vring->swhead; and use proper index in debug printing - vring->swhead used before was modified in wil_vring_advance_head and then increased value was used in debug print Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8fbb2e98fef043019b9d546300406b2f6e9d38f5 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 15 14:26:20 2015 +0100 cw1200: Fix suspend The cw1200 driver implements suspend and resume callbacks and assigns them to the suspend and resume fields of the device_driver struct. These callbacks are never actually called by anything though. Modify the driver to properly use dev_pm_ops so that the suspend function is actually executed upon suspend and drop the empty resume function. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0aef188a361b85d6804ed5fdfc69dde0f5074f59 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Sat Mar 14 12:07:17 2015 -0400 rtl8188ee: fix build break due to missing rtl_hal_pwrseqcmdparsing definition I've been getting this error when building mainline kernels using Fedora's config files: drivers/net/wireless/rtlwifi/rtl8188ee/hw.c: In function â??_rtl88ee_init_macâ??: drivers/net/wireless/rtlwifi/rtl8188ee/hw.c:853:2: error: implicit declaration of function â??rtl_hal_pwrseqcmdparsingâ?? [-Werror=implicit-function-declaration] if (!rtl_hal_pwrseqcmdparsing(rtlpriv, PWR_CUT_ALL_MSK, ^ cc1: some warnings being treated as errors scripts/Makefile.build:258: recipe for target 'drivers/net/wireless/rtlwifi/rtl8188ee/hw.o' failed I'm not sure if this is the correct fix, but it does seem to allow the build to complete. I suspect that this was broken by commit 34ed780a6afc (rtlwifi: Fix problems with building an allyesconfig). Most of the files that removed the include of pwrseqcmd.h, added one for ../pwrseqcmd.h. The rtl8188ee driver had it removed it but didn't add the include of the file in the parent directory. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7644317bd39c147c888b5d4cea3e2706d12483dd Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:57 2015 +0530 ath9k: Start AIC calibration during MCI reset When a MCI reset is done, make sure that AIC is started. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 60544603b669a25adb90bd6e2ea6fa625e380322 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:56 2015 +0530 ath9k: Handle MCI_STATE_AIC_CAL Add the main AIC calibration function to handle MCI_STATE_AIC_CAL. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f2ef792a80859ecdabeaf5bf960ad97a9dd81fc6 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:55 2015 +0530 ath9k: Handle MCI_STATE_AIC_START This patch adds a function to handle the MCI message MCI_STATE_AIC_START. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 958b6827b781ed14d12bef6323f6692ec761fbb5 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:54 2015 +0530 ath9k: Handle MCI_STATE_AIC_CAL_RESET Add a routine to handle the MCI_STATE_AIC_CAL_RESET message. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 208837eeb925e5fddc514e4f93a69b1639fa15ba Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:53 2015 +0530 ath9k: Disable AIC by default Since various MCI messages need to be handled, along with driver-level support in upper layers, disable AIC for now. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 188f1a1288d59ed9ae895bdbf22d46017a8a69b8 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:52 2015 +0530 ath9k: Process the AIC calibration results This patch adds support for post-processing the AIC calibration results. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 716eed4c0dfb6a7ceeb61730506e43f2755f322b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:51 2015 +0530 ath9k: Finish AIC calibration Set the appropriate bits in the HW after AIC calibration is done. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b6ab9ae2eed84eef622d56e00925c68e0c56239e Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:50 2015 +0530 ath9k: Handle MCI_STATE_AIC_CAL_SINGLE This patch adds routines to handle the MCI message AIC_CAL_SINGLE, starting the required HW calibration. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6dacafea2d3a75d2db9b65a2aecebf385f39d3a3 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:49 2015 +0530 ath9k: Add register definitions for AIC Various registers to control and check AIC status. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 637625f2db844289058f9af7672a57c094cc97e2 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:48 2015 +0530 ath9k: Register private AIC ops AIC can be disabled or enabled on a per-card basis using MCI configuration, so register a function to check its status. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d3f193ee65388be5eb255db9b7a1d960f95b3a24 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Mar 14 11:27:47 2015 +0530 ath9k: Add initial structures for AIC These are necessary for implementing AIC, supported by chips like WB222. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 88ad1a147e2c84d33cb50f5ebff1ece5e0cd4383 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Fri Mar 20 14:18:12 2015 +1030 lguest: fix pending interrupt test. Denys says: TEST with zero will always set ZF. Thus, "jnz send_interrupts" never jumps. We get interrupts regularly enough that this didn't cause immediate problems. Reported-by: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6eca8933d3ff17bff39d5f10a2a22366d8622fa6 Author: Alex Dowad <alexinbeijing@xxxxxxxxx> Date: Fri Mar 13 20:14:46 2015 +0200 powerpc/kernel: Rename copy_thread() 'arg' argument to 'kthread_arg' The 'arg' argument to copy_thread() is only ever used when forking a new kernel thread. Hence, rename it to 'kthread_arg' for clarity. Signed-off-by: Alex Dowad <alexinbeijing@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a998f712f77ea4892d3fcf24e0a67603e63da128 Author: Thomas Graf <tgraf@xxxxxxx> Date: Thu Mar 19 22:31:13 2015 +0000 rhashtable: Round up/down min/max_size to ensure we respect limit Round up min_size respectively round down max_size to the next power of two to make sure we always respect the limit specified by the user. This is required because we compare the table size against the limit before we expand or shrink. Also fixes a minor bug where we modified min_size in the params provided instead of the copy stored in struct rhashtable. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f58078dacaaf6fbe664d5404dca7f76dce576113 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Thu Mar 19 17:50:47 2015 -0400 regmap: Move tracing header into drivers/base/regmap The tracing events for regmap are confined to the regmap subsystem. It also requires accessing an internal header. Instead of including the internal header from a generic file location, move the tracing file into the regmap directory. Also rename the regmap tracing header to trace.h, as it is redundant to keep the regmap.h name when it is in the regmap directory. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 91a0f930560171e5d45465d05fd4e66a5ee3a745 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Mar 19 14:32:01 2015 -0700 i40e: add NVM update events to AQ clean Quit complaining about a couple of events that we actually expect to see during an NVM update. Reported-by: Stefan Assmann <sassmann@xxxxxxxxxx> Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f921fab5844941f7605b7f1a265f5fc7fe969a7 Author: Luciano Coelho <luca@xxxxxxxxx> Date: Wed Mar 18 18:38:25 2015 +0200 wlcore: set irq_trigger in board files instead of hiding behind a quirk The platform_quirk element in the platform data was used to change the way the IRQ is triggered. When set, the EDGE_IRQ quirk would change the irqflags used and treat edge trigger differently from the rest. Instead of hiding this irq flag setting behind the quirk, have the board files set the irq_trigger explicitly. This will allow us to use standard irq DT definitions later on. Signed-off-by: Luciano Coelho <luca@xxxxxxxxx> [Eliad - rebase, add irq_trigger field and pass it, update board file changes] Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx> Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ad4a6ebeffd2767bdcdec9e1acea7ffc00d5be2d Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Feb 25 20:30:22 2015 +0900 doc/input : Fix typos in Documentation/input This patch fix spelling typos in Documentations/input. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 84f887bfb930e7fbc01c060edd68c7cc6e2b824b Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 4 21:41:31 2015 +1100 selftests: Set CC using CROSS_COMPILE once in lib.mk This avoids repeating the logic in every Makefile. We mimic the top-level Makefile and use $(CROSS_COMPILE)gcc. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 0b053c9518292705736329a8fe20ef4686ffc8e9 Author: mancha security <mancha1@xxxxxxxx> Date: Wed Mar 18 18:47:25 2015 +0100 lib: memzero_explicit: use barrier instead of OPTIMIZER_HIDE_VAR OPTIMIZER_HIDE_VAR(), as defined when using gcc, is insufficient to ensure protection from dead store optimization. For the random driver and crypto drivers, calls are emitted ... $ gdb vmlinux (gdb) disassemble memzero_explicit Dump of assembler code for function memzero_explicit: 0xffffffff813a18b0 <+0>: push %rbp 0xffffffff813a18b1 <+1>: mov %rsi,%rdx 0xffffffff813a18b4 <+4>: xor %esi,%esi 0xffffffff813a18b6 <+6>: mov %rsp,%rbp 0xffffffff813a18b9 <+9>: callq 0xffffffff813a7120 <memset> 0xffffffff813a18be <+14>: pop %rbp 0xffffffff813a18bf <+15>: retq End of assembler dump. (gdb) disassemble extract_entropy [...] 0xffffffff814a5009 <+313>: mov %r12,%rdi 0xffffffff814a500c <+316>: mov $0xa,%esi 0xffffffff814a5011 <+321>: callq 0xffffffff813a18b0 <memzero_explicit> 0xffffffff814a5016 <+326>: mov -0x48(%rbp),%rax [...] ... but in case in future we might use facilities such as LTO, then OPTIMIZER_HIDE_VAR() is not sufficient to protect gcc from a possible eviction of the memset(). We have to use a compiler barrier instead. Minimal test example when we assume memzero_explicit() would *not* be a call, but would have been *inlined* instead: static inline void memzero_explicit(void *s, size_t count) { memset(s, 0, count); <foo> } int main(void) { char buff[20]; snprintf(buff, sizeof(buff) - 1, "test"); printf("%s", buff); memzero_explicit(buff, sizeof(buff)); return 0; } With <foo> := OPTIMIZER_HIDE_VAR(): (gdb) disassemble main Dump of assembler code for function main: [...] 0x0000000000400464 <+36>: callq 0x400410 <printf@plt> 0x0000000000400469 <+41>: xor %eax,%eax 0x000000000040046b <+43>: add $0x28,%rsp 0x000000000040046f <+47>: retq End of assembler dump. With <foo> := barrier(): (gdb) disassemble main Dump of assembler code for function main: [...] 0x0000000000400464 <+36>: callq 0x400410 <printf@plt> 0x0000000000400469 <+41>: movq $0x0,(%rsp) 0x0000000000400471 <+49>: movq $0x0,0x8(%rsp) 0x000000000040047a <+58>: movl $0x0,0x10(%rsp) 0x0000000000400482 <+66>: xor %eax,%eax 0x0000000000400484 <+68>: add $0x28,%rsp 0x0000000000400488 <+72>: retq End of assembler dump. As can be seen, movq, movq, movl are being emitted inlined via memset(). Reference: http://thread.gmane.org/gmane.linux.kernel.cryptoapi/13764/ Fixes: d4c5efdb9777 ("random: add and use memzero_explicit() for clearing data") Cc: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: mancha security <mancha1@xxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 446981e5fcad3d64a27358d6591928da4a55a156 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Thu Mar 19 16:47:58 2015 -0300 tipc: fix build issue when building without IPv6 We can't directly call ipv6_sock_mc_join() but should use the stub instead and protect it around IS_ENABLED. Fixes: d0f91938bede ("tipc: add ip/udp media type") Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce47fbb7c8956742a6de06b9706b1c6236339f51 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Mar 19 19:19:40 2015 +0000 arm64: proc: remove unused cpu_get_pgd macro cpu_get_pgd isn't used anywhere and is Probably Not What You Want. Remove it before anybody decides to use it. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit da9c177de88679c2948dc9a5e2325b0dff4677b9 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 17 10:55:12 2015 +0100 arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol According to the arm64 boot protocol, registers x1 to x3 should be zero upon kernel entry, and non-zero values are reserved for future use. This future use is going to be problematic if we never enforce the current rules, so start enforcing them now, by emitting a warning if non-zero values are detected. Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6f4d57fa7021efbf135cfa068d56bc5035edffa1 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 17 09:14:29 2015 +0100 arm64: remove __calc_phys_offset This removes the function __calc_phys_offset and all open coded virtual to physical address translations using the offset kept in x28. Instead, just use absolute or PC-relative symbol references as appropriate when referring to virtual or physical addresses, respectively. Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8b0a95753a34b5c8b2e483e0e5b1d67761e32c5f Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 17 08:59:53 2015 +0100 arm64: merge __enable_mmu and __turn_mmu_on Enabling of the MMU is split into two functions, with an align and a branch in the middle. On arm64, the entire kernel Image is ID mapped so this is really not necessary, and we can just merge it into a single function. Also replaces an open coded adrp/add reference to __enable_mmu pair with adr_l. Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b1c98297fe0c6e2899ede03fc3b831f36e19fb76 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 15:00:03 2015 +0100 arm64: use PC-relative reference for secondary_holding_pen_release Replace the confusing virtual/physical address arithmetic with a simple PC-relative reference. Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a871d354f795c4960543fb44c9b59af63367d6cf Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 4 11:51:48 2015 +0100 arm64: remove __switch_data object from head.S This removes the confusing __switch_data object from head.S, and replaces it with standard PC-relative references to the various symbols it encapsulates. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a44ef51799109dccba751240e84ca2da937a88ed Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 4 11:49:32 2015 +0100 arm64: remove processor_id The global processor_id is assigned the MIDR_EL1 value of the boot CPU in the early init code, but is never referenced afterwards. As the relevance of the MIDR_EL1 value of the boot CPU is debatable anyway, especially under big.LITTLE, let's remove it before anyone starts using it. Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b784a5d97d0af4835dd0125a3e0e5d0fd48128d6 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Mar 4 19:45:38 2015 +0100 arm64: add macros for common adrp usages The adrp instruction is mostly used in combination with either an add, a ldr or a str instruction with the low bits of the referenced symbol in the 12-bit immediate of the followup instruction. Introduce the macros adr_l, ldr_l and str_l that encapsulate these common patterns. Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a591ede4cd1cac02d3398a9ad332bd0bba460efe Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 18 14:55:20 2015 +0000 arm64: Get rid of struct cpu_table struct cpu_table is an artifact left from the (very) early days of the arm64 port, and its only real use is to allow the most beautiful "AArch64 Processor" string to be displayed at boot time. Really? Yes, really. Let's get rid of it. In order to avoid another BogoMips-gate, the aforementioned string is preserved. Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 62aa9655b8a8eaa4cf86d091d977482da8489ed4 Author: Ganapatrao Kulkarni <ganapatrao.kulkarni@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 11:01:18 2015 +0000 arm64: kconfig: increase NR_CPUS range to 2-4096. Raise the maximum CPU limit to 4096 in preparation for upcoming platforms with large core counts. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Ganapatrao Kulkarni <gkulkarni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8fff105e13041e49b82f92eef034f363a6b1c071 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Tue Mar 17 18:14:59 2015 +0000 arm64: perf: reject groups spanning multiple HW PMUs The perf core implicitly rejects events spanning multiple HW PMUs, as in these cases the event->ctx will differ. However this validation is performed after pmu::event_init() is called in perf_init_event(), and thus pmu::event_init() may be called with a group leader from a different HW PMU. The ARM64 PMU driver does not take this fact into account, and when validating groups assumes that it can call to_arm_pmu(event->pmu) for any HW event. When the event in question is from another HW PMU this is wrong, and results in dereferencing garbage. This patch updates the ARM64 PMU driver to first test for and reject events from other PMUs, moving the to_arm_pmu and related logic after this test. Fixes a crash triggered by perf_fuzzer on Linux-4.0-rc2, with a CCI PMU present: Bad mode in Synchronous Abort handler detected, code 0x86000006 -- IABT (current EL) CPU: 0 PID: 1371 Comm: perf_fuzzer Not tainted 3.19.0+ #249 Hardware name: V2F-1XV7 Cortex-A53x2 SMM (DT) task: ffffffc07c73a280 ti: ffffffc07b0a0000 task.ti: ffffffc07b0a0000 PC is at 0x0 LR is at validate_event+0x90/0xa8 pc : [<0000000000000000>] lr : [<ffffffc000090228>] pstate: 00000145 sp : ffffffc07b0a3ba0 [< (null)>] (null) [<ffffffc0000907d8>] armpmu_event_init+0x174/0x3cc [<ffffffc00015d870>] perf_try_init_event+0x34/0x70 [<ffffffc000164094>] perf_init_event+0xe0/0x10c [<ffffffc000164348>] perf_event_alloc+0x288/0x358 [<ffffffc000164c5c>] SyS_perf_event_open+0x464/0x98c Code: bad PC value Also cleans up the code to use the arm_pmu only when we know that we are dealing with an arm pmu event. Cc: Will Deacon <will.deacon@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Peter Ziljstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e429817b401f095ac483fcb02524b01faf45dad6 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Tue Mar 17 18:14:58 2015 +0000 ARM: perf: reject groups spanning multiple hardware PMUs The perf core implicitly rejects events spanning multiple HW PMUs, as in these cases the event->ctx will differ. However this validation is performed after pmu::event_init() is called in perf_init_event(), and thus pmu::event_init() may be called with a group leader from a different HW PMU. The ARM PMU driver does not take this fact into account, and when validating groups assumes that it can call to_arm_pmu(event->pmu) for any HW event. When the event in question is from another HW PMU this is wrong, and results in dereferencing garbage. This patch updates the ARM PMU driver to first test for and reject events from other PMUs, moving the to_arm_pmu and related logic after this test. Fixes a crash triggered by perf_fuzzer on Linux-4.0-rc2, with a CCI PMU present: --- CPU: 0 PID: 1527 Comm: perf_fuzzer Not tainted 4.0.0-rc2 #57 Hardware name: ARM-Versatile Express task: bd8484c0 ti: be676000 task.ti: be676000 PC is at 0xbf1bbc90 LR is at validate_event+0x34/0x5c pc : [<bf1bbc90>] lr : [<80016060>] psr: 00000013 ... [<80016060>] (validate_event) from [<80016198>] (validate_group+0x28/0x90) [<80016198>] (validate_group) from [<80016398>] (armpmu_event_init+0x150/0x218) [<80016398>] (armpmu_event_init) from [<800882e4>] (perf_try_init_event+0x30/0x48) [<800882e4>] (perf_try_init_event) from [<8008f544>] (perf_init_event+0x5c/0xf4) [<8008f544>] (perf_init_event) from [<8008f8a8>] (perf_event_alloc+0x2cc/0x35c) [<8008f8a8>] (perf_event_alloc) from [<8009015c>] (SyS_perf_event_open+0x498/0xa70) [<8009015c>] (SyS_perf_event_open) from [<8000e420>] (ret_fast_syscall+0x0/0x34) Code: bf1be000 bf1bb380 802a2664 00000000 (00000002) ---[ end trace 01aff0ff00926a0a ]--- Also cleans up the code to use the arm_pmu only when we know that we are dealing with an arm pmu event. Cc: Will Deacon <will.deacon@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Peter Ziljstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d15b1de46ffa7551c36d7be5a58a02321a820a0f Merge: 970282d 768ffc6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 19 15:30:25 2015 -0400 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== Add Device ID and make device ID table const This patch series adds new device ID and makes device ID table const The patches series is created against 'net-next' tree. And includes patches on cxgb4 and csiostor 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 768ffc66b45fd6551162d64ac8d92c101725262a Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Mar 19 22:27:36 2015 +0530 cxgb4/cxgb4vf/csiostor: Make PCI Device ID Tables be "const" Make PCI Device ID Tables be "const" to move them out of the data segment and remove a redundant check on CH_PCI_DEVICE_ID_TABLE_DEFINE_BEGIN in t4_pci_id_tbl.h to guard the contents of the include file. Signed-off-by: Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 933e0db118fd6f73f8692c29ed47994c7e073552 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Mar 19 22:27:35 2015 +0530 cxgb4: Add device ID for new adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06f75a1f6200042aa36ad40afb44dd72107b25d6 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Mar 19 16:42:26 2015 +0000 ARM, arm64: kvm: get rid of the bounce page The HYP init bounce page is a runtime construct that ensures that the HYP init code does not cross a page boundary. However, this is something we can do perfectly well at build time, by aligning the code appropriately. For arm64, we just align to 4 KB, and enforce that the code size is less than 4 KB, regardless of the chosen page size. For ARM, the whole code is less than 256 bytes, so we tweak the linker script to align at a power of 2 upper bound of the code size Note that this also fixes a benign off-by-one error in the original bounce page code, where a bounce page would be allocated unnecessarily if the code was exactly 1 page in size. On ARM, it also fixes an issue with very large kernels reported by Arnd Bergmann, where stub sections with linker emitted veneers could erroneously trigger the size/alignment ASSERT() in the linker script. Tested-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 970282d0e1404b23f9d7ec6a676fa76ff15b3376 Merge: c9bdc0d ea6edfb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 19 15:18:04 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-03-19 This wont the last 4.1 bluetooth-next pull request, but we've piled up enough patches in less than a week that I wanted to save you from a single huge "last-minute" pull somewhere closer to the merge window. The main changes are: - Simultaneous LE & BR/EDR discovery support for HW that can do it - Complete LE OOB pairing support - More fine-grained mgmt-command access control (normal user can now do harmless read-only operations). - Added RF power amplifier support in cc2520 ieee802154 driver - Some cleanups/fixes in ieee802154 code Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61c797d52dae232a4636888f71c45119a7853d7e Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Thu Mar 19 09:13:34 2015 -0700 Input: elan_i2c - fix typo in include header guard Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Fixes: 6696777c6506 ("Input: add driver for Elan I2C/SMbus touchpad") Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 245165de9896cca918701b116d72d486a0398437 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 09:58:47 2015 -0700 Input: constify of_device_id arrays of_device_id is always used as const argument (See driver.of_match_table and open firmware functions). Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6faeeea44b84ce24fc6c1f1beb07ee5de9885dc8 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 11 15:06:01 2015 +1100 selftests: Add install support for the powerpc tests The bulk of the selftests are actually below the powerpc sub directory. This adds support for installing them, when on a powerpc machine, or if ARCH and CROSS_COMPILE are set appropriately. This is a little more complicated because of the sub directory structure under powerpc, but much of the common logic in lib.mk is still used. The net effect of the patch is still a reduction in code. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 34ebe933417e16f46bc30ea77a66e7f30d0cf0f8 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Mar 9 12:12:10 2015 -0400 cpuset, isolcpus: document relationship between cpusets & isolcpus Document the subtly changed relationship between cpusets and isolcpus. Turns out the old documentation did not match the code... Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 47b8ea7186aae7f474ec4c98f43eaa8da719cd83 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Mar 9 12:12:08 2015 -0400 cpusets, isolcpus: exclude isolcpus from load balancing in cpusets Ensure that cpus specified with the isolcpus= boot commandline option stay outside of the load balancing in the kernel scheduler. Operations like load balancing can introduce unwanted latencies, which is exactly what the isolcpus= commandline is there to prevent. Previously, simply creating a new cpuset, without even touching the cpuset.cpus field inside the new cpuset, would undo the effects of isolcpus=, by creating a scheduler domain spanning the whole system, and setting up load balancing inside that domain. The cpuset root cpuset.cpus file is read-only, so there was not even a way to undo that effect. This does not impact the majority of cpusets users, since isolcpus= is a fairly specialized feature used for realtime purposes. Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Clark Williams <williams@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: cgroups@xxxxxxxxxxxxxxx Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Tested-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3fa0818b3c85e9bb55e3ac96c9523b87e44eab9e Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Mar 9 12:12:07 2015 -0400 sched, isolcpu: make cpu_isolated_map visible outside scheduler Needed by the next patch. Also makes cpu_isolated_map present when compiled without SMP and/or with CONFIG_NR_CPUS=1, like the other cpu masks. At some point we may want to clean things up so cpumasks do not exist in UP kernels. Maybe something for the CONFIG_TINY crowd. Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Clark Williams <williams@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: cgroups@xxxxxxxxxxxxxxx Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 92b5bf989547b36c75231e4c24d0e2c351d3a0bc Author: Feng Kan <fkan@xxxxxxx> Date: Wed Mar 18 17:03:55 2015 -0700 sata: xgene: add ACPI support for APM X-Gene SATA ports This adds ACPI support for the APM X-Gene SATA ports. When the system boots using ACPI table, the SATA ports are able to configure using the values supplied by the ACPI table rather than the DTS. Signed-off-by: Feng Kan <fkan@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3661aa99d82ed06e3781964d43d89be1050593c0 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 19 14:36:37 2015 +0100 ata: sata_mv: add proper definitions for LP_PHY_CTL register values Commit 9013d64e661fc ("ata: sata_mv: fix disk hotplug for Armada 370/XP SoCs") added some manipulation of the LP_PHY_CTL register, but using magic values. This commit changes the code to use proper definitions for the LP_PHY_CTL register, which allows to document what the different bits are doing. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 5744de542dd4b963c2975e6f70844ce2899864e4 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Mar 19 11:20:40 2015 +1100 selftests/timers: Use shared logic to run and install tests Change the timers Makefile to make use of shared run and install logic in lib.mk. Destructive tests are installed but not run by default. Add a new variable, TEST_PROGS_EXTENDED, which is a list of extra programs to install, but which are not run by the default run_tests logic. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 1c0a7498c79443d4b72a0352dea70f27c5772b56 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 18 08:51:53 2015 -0700 kselftest/timers: Set default threadtest values to simplify execution scripts In order to keep the kselftest Makefiles simpler, set the threadtest default values to the ones used in standard run_tests Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 10709c0858d89716b10b7bbf6d825044f2f59602 Author: Mark Jackson <mpfj@xxxxxxxxxxxxx> Date: Thu Mar 19 15:07:43 2015 +0000 ARM: dts: Update Nanobone dts file Update dts file to reflect:- * new flash memory layout * add missing phy-mode property * dual_emac now just a boolean * rename mcp to microchip * update gpio definition Signed-off-by: Mark Jackson <mpfj@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 80a41581369c48a1af8ff086fdcaef0a9c3dd40c Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Thu Mar 19 01:50:24 2015 +0200 ARM: dts: n950, n9: Add primary camera support Add support for the primary camera of the Nokia N950 and N9. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e52117638b79e0ae65b5acd4bf65971cc0e8be9f Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Thu Mar 19 01:50:23 2015 +0200 ARM: dts: omap3: Add DT entries for OMAP 3 ISP The resources the ISP needs are slightly different on 3[45]xx and 3[67]xx. Especially the phy-type property is different. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [tony@xxxxxxxxxxx: use omap3_scm_general instead of scm_conf for now] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7eec52db361a6ae6fbbd86c2299718586866b664 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Thu Mar 19 01:50:22 2015 +0200 Documentation: DT: Add bindings for omap3isp Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5e71fc8629cefae5f3c1a4f498de3fe4f631924a Author: Nathaniel W Filardo <nwf@xxxxxxxxxx> Date: Mon Mar 16 11:19:55 2015 -0400 USB: keyspan_pda: add new device id Add USB VID/PID for Xircom PGMFHUB USB/serial component. (The hub and SCSI bridge on that hardware are recognized out of the box by existing drivers.) Tested VID/PID using new_id and loopback connection and was met with success, but that's all the testing done. Signed-off-by: Nathaniel Wesley Filardo <nwf@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 0c8c20779c5d56b93b8cb4cd30ba129a927ab437 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Mar 13 12:51:54 2015 +0000 perf report: Don't allow empty argument for '-t'. Without this patch, perf report cause segfault if pass "" as '-t': $ perf report -t "" # To display the perf.data header info, please use --header/--header-only options. # # Samples: 37 of event 'syscalls:sys_enter_write' # Event count (approx.): 37 # # Children SelfCommand Shared Object Symbol Segmentation fault Since -t is used to add field-separator for generate table, -t "" is actually meanless. This patch defines a new OPT_STRING_NOEMPTY() option generator to ensure user never pass empty string to that option. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426251114-198991-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 303cb89a6d708da9c24f6f3390ff68a2bd822a13 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Mar 13 15:02:56 2015 +0800 perf callchain: Separate eh/debug frame offset cache. Commit f1f13af99a90 ("perf callchain: Cache eh/debug frame offset for dwarf unwind") introduces a cache for .debug_frame and .eh_frame_hdr. Unfortunately, it makes them share a same cache (dso->frame_offset). Which causes unwind failure on ARM: $ perf test unwind Test dwarf unwind: FAILED! The reason is that, if a dso has '.debug_frame' but doesn't have '.eh_frame_hdr' (like ARM), dso->frame_offset will be filled by offset of '.debug_frame' during the first time calling of find_proc_info() -> read_unwind_spec_debug_frame(), and be regarded to '.eh_frame_hdr' when the second time calling of find_proc_info() -> read_unwind_spec_eh_frame(), since '.eh_frame_hdr' is checked prior to '.debug_frame'. This patch solves the problem by creating two cache fields for '.eh_frame_hdr' and '.debug_frame'. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/55028BA0.1030701@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1312c8a8fb126b9e7c45671813c39f8a435fadcb Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:58 2015 +0800 perf tools: Avoid confusion with preloaded bash function for perf bash completion Since some functions (e.g. '_get_comp_words_by_ref()') in perf bash completion script are originally taken from git bash completion script, these functions may be preloaded before perf bash completion script runs. In order to avoid repeating loading the same function twice, some test constraints are used before these function definitions in the perf bash completion script (e.g. 'type _get_comp_words_by_ref &>/dev/null ||'). The problem is that, if these functions in perf bash completion script are changed for some reason, perf will still use the preloaded bash functions rather than the customized functions of its own. As a result, the perf bash completion will behave incorrectly. To get rid of this problem, a flag can be defined to determine the proper situation. And to avoid overwriting the preloaded functions, the names of these functions in perf bash completion script should be renamed to the perf-customized ones. Example: Before this patch: $ type _get_comp_words_by_ref _get_comp_words_by_ref is a function _get_comp_words_by_ref () { local exclude flag i OPTIND=1; local cur cword words=(); local upargs=() upvars=() vcur vcword vprev vwords; while getopts "c:i:n:p:w:" flag "$@"; do case $flag in c) vcur=$OPTARG ;; i) vcword=$OPTARG ;; n) exclude=$OPTARG ;; p) vprev=$OPTARG ;; w) vwords=$OPTARG ;; esac; done; while [[ $# -ge $OPTIND ]]; do case ${!OPTIND} in cur) vcur=cur ;; prev) vprev=prev ;; cword) vcword=cword ;; words) vwords=words ;; *) echo "bash: $FUNCNAME(): \`${!OPTIND}': unknown argument" 1>&2; return 1 ;; esac; let "OPTIND += 1"; done; __get_cword_at_cursor_by_ref "$exclude" words cword cur; [[ -n $vcur ]] && { upvars+=("$vcur"); upargs+=(-v $vcur "$cur") }; [[ -n $vcword ]] && { upvars+=("$vcword"); upargs+=(-v $vcword "$cword") }; [[ -n $vprev && $cword -ge 1 ]] && { upvars+=("$vprev"); upargs+=(-v $vprev "${words[cword - 1]}") }; [[ -n $vwords ]] && { upvars+=("$vwords"); upargs+=(-a${#words[@]} $vwords "${words[@]}") }; (( ${#upvars[@]} )) && local "${upvars[@]}" && _upvars "${upargs[@]}" } As shown above, the _get_comp_words_by_ref is the preloaded function in fact, rather than the function defined in perf-completion.sh. So if we happen to change the function for some reason, the result will behave in a wrong state. After this patch: We can set preload_get_comp_words_by_ref="false" to not use the preloaded function. Instead, it will use the function defined in perf-completion.sh, which is renamed as __perf_get_comp_words_by_ref to avoid overwriting the preloaded function _get_comp_words_by_ref. $ type __perf_get_comp_words_by_ref __perf_get_comp_words_by_ref is a function __perf_get_comp_words_by_ref () { local exclude cur_ words_ cword_; if [ "$1" = "-n" ]; then exclude=$2; shift 2; fi; __my_reassemble_comp_words_by_ref "$exclude"; cur_=${words_[cword_]}; while [ $# -gt 0 ]; do case "$1" in cur) cur=$cur_ ;; prev) prev=${words_[$cword_-1]} ;; words) words=("${words_[@]}") ;; cword) cword=$cword_ ;; esac; shift; done } As shown above, the function __perf_get_comp_words_by_ref is loaded and can work this time. Note that we do not change the original behavior when those functions are not preloaded before perf bash completion script runs. In this case, although the flag is set to "true", the code will still change it to "false" to use the function defined in perf-completion.sh. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-14-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6fdd9cb700dcd84193a259bbf8f6c918c243da15 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:57 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf trace The bash completion does not support listing subsubcommands for 'perf trace <TAB>', so fix it. Example: Before this patch: $ perf trace <TAB> $ As shown above, the subsubcommands of perf trace does not come out. After this patch: $ perf trace <TAB> record As shown above, the subsubcommands of perf trace can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-13-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 33ec0caf6a3bce1289a915845866828e19c04afb Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:56 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf timechart The bash completion does not support listing subsubcommands for 'perf timechart <TAB>', so fix it. Example: Before this patch: $ perf timechart <TAB> $ As shown above, the subsubcommands of perf timechart does not come out. After this patch: $ perf timechart <TAB> record As shown above, the subsubcommands of perf timechart can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-12-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1f9975f14ce4f7258db1cb0eea8fba17482e331e Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:55 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf test The bash completion does not support listing subsubcommands for 'perf test <TAB>', so fix it. Example: Before this patch: $ perf test <TAB> $ As shown above, the subsubcommands of perf test does not come out. After this patch: $ perf test <TAB> list As shown above, the subsubcommands of perf test can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-11-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 40cae2b779f2826f3d82674027299332c2007716 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:54 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf script The bash completion does not support listing subsubcommands for 'perf script <TAB>', so fix it. Example: Before this patch: $ perf script <TAB> $ As shown above, the subsubcommands of perf script does not come out. After this patch: $ perf script <TAB> record report As shown above, the subsubcommands of perf script can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-10-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e24a110882949c609c5fb7625b71d8e77264257b Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:53 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf help The bash completion does not support listing subsubcommands for 'perf help <TAB>', so fix it. Example: Before this patch: $ perf help <TAB> $ As shown above, the subsubcommands of perf help does not come out. After this patch: $ perf help <TAB> annotate buildid-cache data evlist inject kvm lock probe report script test top bench buildid-list diff help kmem list mem record sched stat timechart trace As shown above, the subsubcommands of perf help can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-9-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 01b7160bc6674912f6b7043bbf58d66e62e41054 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:52 2015 +0800 perf tools: Add the bash completion for listing subsubcommands of perf data The bash completion does not support listing subsubcommands for 'perf data <TAB>', so fix it. Example: Before this patch: $ perf data <TAB> $ As shown above, the subsubcommands of perf data does not come out. After this patch: $ perf data <TAB> convert As shown above, the subsubcommands of perf data can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-8-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e003ce54d2ccbb8da0fd4f421e1cc9686ef25add Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:51 2015 +0800 perf tools: Fix the bash completion for listing subcommands of perf The bash completion does not support listing subcommands for 'perf --<long option> <TAB>'. Example: Before this patch: $ perf --debug <TAB> $ As shown above, the subcommands of perf does not come out. After this patch: $ perf --debug <TAB> annotate buildid-cache data evlist inject kvm lock probe report script test top version bench buildid-list diff help kmem list mem record sched stat timechart trace As shown above, the subcommands of perf can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-7-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3346b542f4165cb0007cfe3600866acbee67c686 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:50 2015 +0800 perf tools: Fix the bash completion to support listing events for --event The bash completion only supports -e rather than --event, so fix it. Example: Before this patch: $ perf record --event <TAB> $ As shown above, the events of record does not come out. After this patch: $ perf record --event <TAB> lignment-faults cpu/instructions/ L1-dcache-prefetch-misses node-prefetches uncore_rbox_0/qpi0_idle_filt/ branch-instructions cpu/mem-loads/ L1-dcache-store-misses node-prefetch-misses uncore_rbox_0/qpi1_date_response/ branch-load-misses cpu-migrations L1-dcache-stores node-store-misses uncore_rbox_0/qpi1_filt_send/ branch-loads dTLB-load-misses L1-icache-load-misses node-stores uncore_rbox_0/qpi1_idle_filt/ ... As shown above, the events of record can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-6-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bc81fad125dba7da33dbeac4c10d9c84614eb3ab Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:49 2015 +0800 perf tools: Fix the bash completion for listing events of perf subcommand record|stat|top -e The bash completion does not support listing events for 'perf kvm|kmem| mem|lock|sched record|stat|top -e <TAB>', where 'kvm|kmem|mem|lock|sched' are all subcommands of perf. Example: Before this patch: $ perf kvm record -e <TAB> $ As shown above, the events of record does not come out. After this patch: $ perf kvm record -e <TAB> alignment-faults cpu/instructions/ L1-dcache-prefetch-misses node-prefetches uncore_rbox_0/qpi0_idle_filt/ branch-instructions cpu/mem-loads/ L1-dcache-store-misses node-prefetch-misses uncore_rbox_0/qpi1_date_response/ branch-load-misses cpu-migrations L1-dcache-stores node-store-misses uncore_rbox_0/qpi1_filt_send/ branch-loads dTLB-load-misses L1-icache-load-misses node-stores uncore_rbox_0/qpi1_idle_filt/ ... As shown above, the events of record can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-5-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit eee200a6c4a9712146ba999f944ba4f2c3fc2d44 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:48 2015 +0800 perf tools: Provide the right bash completion for listing options of perf subcommand subsubcommand The bash completion gives wrong options for 'perf kvm|kmem|mem|lock| sched subsubcommand --<TAB>', where 'kvm|kmem|mem|lock|sched' are all subcommands of perf and 'subsubcommand' is a subcommand of 'kvm|kmem|mem |lock|sched'. In fact, the result incorrectly lists the bash completion of 'perf subcommand' rather than 'perf subcommand subsubcommand'. Example: Before this patch: $ perf kvm record --<TAB> --guest --guestkallsyms --guestmodules --guestmount --guestvmlinux --host --input --output --verbose As shown above, the result is the options of kvm rather than record. After this patch: $ perf kvm record --<TAB> --all-cpus --cgroup --delay --group --no-buildid --output --quiet --stat --uid --branch-any --count --event --intr-regs --no-buildid-cache --period --raw-samples --tid --verbose --branch-filter --cpu --filter --mmap-pages --no-inherit --per-thread --realtime --timestamp --weight --call-graph --data --freq --no-buffering --no-samples --pid --running-time --transaction As shown above, the result is exactly the options of record as we wished. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-4-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 67afff485b2ce742374edb2e17d21e2bc664eb1f Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:47 2015 +0800 perf tools: Fix the bash completion for listing subsubcommands of perf subcommand The bash completion does not support listing subsubcommands for 'perf kvm|kmem|mem|lock|sched --<long option> <TAB>', where 'kvm|kmem|mem| lock|sched' are all subcommands of perf. Example: Before this patch: $ perf kvm --verbose <TAB> $ As shown above, the subsubcommands of perf kvm does not come out. After this patch: $ perf kvm --verbose <TAB> buildid-list diff record report stat top As shown above, the subsubcommands of perf kvm can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 02fde323b9aaebb4a21e7c0e04759470b6c07594 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Wed Mar 18 21:35:46 2015 +0800 perf tools: Fix the bash completion for listing options of perf subcommand The bash completion does not support listing options for 'perf kvm|kmem|mem|lock|sched --<TAB>', where 'kvm|kmem|mem|lock|sched' are all subcommands of perf. Example: Before this patch: $ perf kvm --<TAB> $ As shown above, the options of perf kvm does not come out. After this patch: $ perf kvm --<TAB> --alloc --caller --input --line --raw-ip --sort --verbose As shown above, the options of perf kvm can come out now. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426685758-25488-2-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c5b367835cfc7a8ef53b9670a409ffcc95194344 Author: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Date: Thu Feb 26 18:16:38 2015 -0600 MIPS: Add support for XPA. Add support for extended physical addressing (XPA) so that 32-bit platforms can access equal to or greater than 40 bits of physical addresses. NOTE: 1) XPA and EVA are not the same and cannot be used simultaneously. 2) If you configure your kernel for XPA, the PTEs and all address sizes become 64-bit. 3) Your platform MUST have working HIGHMEM support. Signed-off-by: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9355/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 76aea7731e7050c066943a1d7456ec6510702601 Author: H.J. Lu <hjl.tools@xxxxxxxxx> Date: Tue Mar 17 15:27:48 2015 -0700 perf tools: Fix perf-read-vdsox32 not building and lib64 install dir Commit: c6e5e9fbc3ea ("perf tools: Fix building error in x86_64 when dwarf unwind is on") removed the definition of IS_X86_64 but not all places using it, with the consequence that perf-read-vdsox32 would not be built anymore, and the default lib install directory was 'lib' instead of 'lib64'. Also needs to go to v3.19. Signed-off-by: H.J. Lu <hjl.tools@xxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.19 Link: http://lkml.kernel.org/r/CAMe9rOqpGVq3D88w+D15ef7sv6G6k57ZeTvxBm46=WFgzo9p1w@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c02acec74b655fe44b698d293f6f2a9600c4a8b Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Mar 18 17:31:32 2015 -0700 ARM: dts: brcmstb: add IRQ0 controller This L2 controller handles multiplexing a few different interrupts. We also need it for configuring the interrupt forwarding masks for the UART. With this, we can *now* boot BCM7445 to a prompt using the upstream kernel + DTB. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d1f2e5a135a6c0fd422398612aeab260cef28e82 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Thu Feb 26 14:50:00 2015 +0100 ARM: dts: Remove files omap34xx-hs.dtsi and omap36xx-hs.dtsi These files are not used by any DTS file anymore. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e36fcd13c26c360a8ea81910c87eea1e77c6187e Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Mar 18 17:31:31 2015 -0700 ARM: dts: brcmstb: un-hexify clock frequency This value makes much more sense in decimal. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit a3dd3befd7cb7d445fcb7c51cd922bf89afe0762 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:53:09 2015 +0000 usb: gadget: atmel_usba: use endian agnostic IO on ARM Change from using the __raw IO accesors to the endian agnostic versions of readl/writel_relaxed when not on AVR32. This fixes issues with running big endian on ARMv7. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> -- CC: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> CC: Felipe Balbi <balbi@xxxxxx> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> CC: linux-usb@xxxxxxxxxxxxxxx Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b48cb02de37976ad2ebef201ad40aa40156f6daa Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Mon Mar 16 18:10:02 2015 -0700 usb: dwc2: pci: Correctly compile dwc2-pci as a module or built-in The dwc2-pci driver should be compiled as a module when configured to do so. If the dwc2-pci is configured as a module but actually built-in, it can cause build errors due to the fact that the generic-phy will be allowed to compile as a module causing undefined references. Reported-by: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3463d795bf0f8d9b32d4deabaaffcb81a1abb92b Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:27 2015 +0100 usb: gadget: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 557f3586aaac0202010eb70e00d2694437f0cb37 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 16 11:09:38 2015 -0700 usb: gadget: goku_udc: Remove uses of seq_<foo> return values The seq_printf/seq_puts/seq_putc return values, because they are frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Miscellanea: o Coalesce formats, realign arguments o Create static functions for statement expression macros o Use c90 style comments instead of c99 Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 00f30d29b497577954b20237b405e9d22b5286c2 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Mon Mar 16 16:36:48 2015 +0900 usb: renesas_usbhs: fix spinlock suspected in a gadget complete function According to the gadget.h, a "complete" function will always be called with interrupts disabled. However, sometimes usbhsg_queue_pop() function is called with interrupts enabled. So, this function should be held by usbhs_lock() to disable interruption. Also, this driver has to call spin_unlock() to avoid spinlock recursion by this driver before calling usb_gadget_giveback_request(). Otherwise, there is possible to cause a spinlock suspected in a gadget complete function. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 990919cad55a8c38fc73b0a6a0c9e5e4e927a5f8 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Mar 12 09:47:53 2015 +0800 usb: common: otg-fsm: only signal connect after switching to peripheral We should signal connect (pull up dp) after we have already at peripheral mode, otherwise, the dp may be toggled due to we reset controller or do disconnect during the initialization for peripheral, then, the host may be confused during the enumeration, eg, it finds the reset can't succeed, but the device is still there, see below error message. hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: cannot reset port 1 (err = -32) hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-0:1.0: unable to enumerate USB device on port 1 Fixes: the issue existed when the otg fsm code was added. Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 869aee0f31429fa9d94d5aef539602b73ae0cf4b Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 12 09:15:28 2015 +0800 usb: phy: Find the right match in devm_usb_phy_match The res parameter passed to devm_usb_phy_match() is the location where the pointer to the usb_phy is stored, hence it needs to be dereferenced before comparing to the match data in order to find the correct match. Fixes: 410219dcd2ba ("usb: otg: utils: devres: Add API's to associate a device with the phy") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.6+ Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9843ead08f18270948498f37eb95d6189eed31af Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:24:04 2015 +1000 drm/radeon: add DisplayPort MST support (v2) This adds initial DP 1.2 MST support to radeon, on CAYMAN and up in theory. This is off by default. v2: agd5f: - add UNIPHY3 offsets - move atom cmd table code into atombios_encoders.c - whitespace cleanup - replace some magic numbers with proper defines Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8f0fc088f5fff0c2e4683bc0de7fc849e7d5357a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:24:03 2015 +1000 drm/radeon: improve encoder picking functions (v2) For MST we need to be able to pick front end encoders separate from backend, but only for MST, so we need to make the encoder picking interface smarter. v2: agd5f: squash in: drm/radeon: release digital encoder before asking for new one Reported-by: Dieter Nützel <Dieter@xxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 2be123d7c6d2356cfe6655ccc3c210cf23da80ce Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:24:02 2015 +1000 drm/radeon: export max link rate calculation We need this in the MST code later. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bf071900c347c43f9d982df5209191fc45cbc3a4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:24:01 2015 +1000 drm/radeon: add new atombios encoder/transmitter interfaces These allow overriding the encoder id with the frontend, we need this for setting up MST. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 00a014e8efab508b30843031d60ac01a8b791cc6 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:24:00 2015 +1000 drm/radeon: add some MST registers These registers will be used later to setup Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bb26270ed2d1944e0d7d573b4c46b5dade8db095 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:23:59 2015 +1000 radeon/fb: add wrapper functions around fb connector add/remove These are just two wrappers to be used in the MST code later. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f6b355dda471879a69ddfa83d2db673b61da6c07 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Feb 24 12:38:42 2015 -0500 radeon/cik: add support for short HPD irqs This adds support to process short HPD irqs on CIK gpus. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 47f2467fffc4e1a070b141bc9d1319dc2c0acea5 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:23:58 2015 +1000 radeon/si: add support for short HPD irqs This adds support to process short HPD irqs on SI gpus. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 2bc67b4d9e9f2c8d13782387bbdbb6e1b5e12d30 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:23:57 2015 +1000 radeon/evergreen: add support for short HPD irqs This adds support for processing short irqs, and triggering the dp_work. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit de6284aa0162e6814e4d5f17a0177e0e5aee1ce5 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:23:56 2015 +1000 radeon: introduce a dp_work handler This is to be called on short HPD irqs, just introduce the basic infrastructure for it. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 87f5942d1f7bc320a0ec70ac4a8a3396024c7091 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Feb 24 09:23:55 2015 +1000 drm/dp_mst: add a function to retrieve vcpi slots radeon requires this to get the slots for later filling out a table on every transition. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a27c6f3ced3b8cbc8e31189eeffbd0f2f2e2dbc5 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Thu Feb 26 14:49:59 2015 +0100 ARM: dts: omap3-tao3530: Include directly omap34xx.dtsi This patch just move content of file omap34xx-hs.dtsi into omap3-tao3530.dts. There is no code change, patch is just preparation for removing -hs file. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 875711f0e217b00cba1a851eee01c4e33041a91c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Feb 20 09:21:36 2015 +1000 drm/radeon: program auxch directly (v2) The atombios tables have an unfortunate restriction on only being able to write 12 bytes, MST really wants 16-bytes here, and since the hw can do it, we should just write directly to it. This uses a module option to allow for it now, and maybe we should provide the old code as a fallback for a while. v2: (agd5f) - move registers to a proper register header - only enable on DCE5+ - enable by default on DCE5+ - Switch pad to aux mode before using it - reformat instance handling to better match the rest of the driver Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fd99a0943ffaa0320ea4f69d09ed188f950c0432 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Feb 24 11:29:21 2015 -0500 drm/radeon: fix doublescan modes (v2) Use the correct flags for atom. v2: handle DRM_MODE_FLAG_DBLCLK Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b5c9ecab1e99862403a8e1ccccfaac13d1682797 Author: Vincent Batts <vbatts@xxxxxxxxxxxxxxxx> Date: Fri Mar 6 21:07:05 2015 +0000 drm/radeon: typo in parameter description "defaul" -> "default" Signed-off-by: Vincent Batts <vbatts@xxxxxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4535cb9cefbc736b47bc1e7f8628065aba5ca0d7 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 11:26:50 2014 -0400 drm/radeon: add support for read reg query from radeon info ioctl This allows us to query certain registers from userspace for profiling and harvest configuration. E.g., it can be used by the GALLIUM_HUD for profiling the status of various gfx blocks. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 353eec2ab229867d59a12375a48fc65e2d749e8b Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 11:18:46 2014 -0400 drm/radeon: add get_allowed_info_register for CIK Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4af692f6e3b24042bc90b9b9cb1be96d8715345e Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 10:03:31 2014 -0400 drm/radeon: add get_allowed_info_register for SI Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e66582f9ff2fac4c3fddac4f06ebb0e9623485f5 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 09:51:29 2014 -0400 drm/radeon: add get_allowed_info_register for cayman/TN Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ff609975e1cd8a58ee862fb3188e8b01b935131d Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 09:43:38 2014 -0400 drm/radeon: add get_allowed_info_register for EG/BTC Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c6d2ac2c36f80b8be15d47a8da6fca803a432e1c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 09:36:57 2014 -0400 drm/radeon: add get_allowed_info_register for r6xx/r7xx Registers that can be fetched from the info ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 18b53e905756930d6d4e691e1e1c3b43dba0c973 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 09:25:27 2014 -0400 drm/radeon: add get_allowed_info_register function for r1xx-r5xx Just a stub. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4ce4728b5113245c731ac3baef36dce0482cce0c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 1 09:17:12 2014 -0400 drm/radeon: add new callback for info ioctl register accessor This adds a callback for each asic family to determine what registers are allowed to be read back via the info ioctl. The idea here is to allow usermode to query things like GPU status registers or GPU harvest registers for profiling and determining the gfx config. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 5c363a860398e2a09e5cff7f4654cf82ed8485e1 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 11:33:30 2014 -0400 drm/radeon: add INFO query for current sclk/mclk Allow the UMDs to query the current sclk/mclk for profiling, etc. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9b23bad03263c5496bac2cbb2c2630cb3b8b38be Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 11:21:23 2014 -0400 drm/radeon/kv: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7ce9cdaec35db4c13f2f34dcb63d8bf6f290ffd0 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 11:01:59 2014 -0400 drm/radeon/tn: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 2f8e1eb7d665ca060fc93e9dfd268dee59bd8697 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:58:22 2014 -0400 drm/radeon/sumo: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit dbbd3c81b042ea2e87b37a6945ed8a31aaaaafec Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:54:05 2014 -0400 drm/radeon/ci: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ca1110bc5b8d796a7266c0b6de6131e1cea0409a Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:50:07 2014 -0400 drm/radeon/si: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1d633e3a217986c8daedf82e5810e6c149d5e415 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:46:02 2014 -0400 drm/radeon/ni: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit da6472f349ec3511299a761803a65d3913ffed10 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:41:15 2014 -0400 drm/radeon: remove some rv7xx leftovers from btc dpm code Some copy paste leftovers. No functional change. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 99550ee9e803d9e2cd405bdcfb3d094ea227eb58 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:39:30 2014 -0400 drm/radeon/btc: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 296deb7167b960d935025de770f3e3c6c2998fbd Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:34:39 2014 -0400 drm/radeon/rv7xx/eg: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d0a04d3b2ee87e9b74d0283f6af577e6d7763703 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:27:42 2014 -0400 drm/radeon/rv6xx: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3c94566ce17d03c3601e78071f893ce028d5a696 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:19:57 2014 -0400 drm/radeon/rs780: implement get_current_sclk/mclk Will be used for exposing current clocks via INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d7dbce09b61dbd8c00ea401a2dc734193309cb91 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:12:17 2014 -0400 drm/radeon/dpm: add new callbacks to get the current sclk/mclk Needed to to expose the current clocks via the INFO ioctl. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d6d2a1882a79c1a5425d6f82b2fc7b934916f893 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 10:04:40 2014 -0400 drm/radeon: add INFO query for GPU temperature Useful for profiling. Tested-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b9729b17a414f99c61f4db9ac9f9ed987fa0cbfe Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Jan 13 09:40:13 2015 +0100 drm/radeon: dont switch vt on suspend Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a1dcc2778b682361351a369652b66dd2d66cf1d9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Feb 23 17:14:47 2015 -0500 drm/radeon: setup quantization_range in AVI infoframe If the display supports selectable range, set the range based on what the user has selected for output csc. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83226 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 643b1f5629a30f979e2da678ecf0b1855e074a8c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Feb 23 10:59:36 2015 -0500 drm/radeon: implement output csc property for DCE5+ Implement the property for DCE5+ asics. Older asics require a slightly more complex process. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83226 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 67ba31d3528e2460b2243b2d139b70fa479602e8 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Feb 23 10:11:49 2015 -0500 drm/radeon: add an output_csc property This adds the drm property for output csc (e.g., transform of output display colorspace). Currently only common ones (TV RGB, BT.601, BT.709) are supported, but bypass and tv rgb are really the only useful ones at the moment. Additionally we could expose a user adjustable matrix in the future. This commit just adds the property. The hw support will be added in subsequent patches. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83226 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 69540a7c277d96382257216436f41abc040cc878 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Thu Feb 26 14:49:58 2015 +0100 ARM: dts: n900: Enable omap sham and include directly omap34xx.dtsi This patch moves content of file omap34xx-hs.dtsi into omap3-n900.dts and enable omap sham support (omap HW support for SHA + MD5). After testing both omap hwmod and omap-sham.ko drivers it looks like signed Nokia X-Loader enable L3 firewall for omap sham. There is no kernel crash with both official bootloader and crypto enable bootloader. So we can safely enable sham code. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 467a78c82ad5f9a3e3c80eb4ba17de6bb70e4f9b Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 6 10:36:04 2015 +0800 usb: chipidea: udc: apply new usb_udc_vbus_handler interface It can move all pullup/pulldown operation control to udc-core through usb_gadget_connect/usb_gadget_disconnect according to vbus status. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 628ef0d273a69d889669a459fb4675c678ae0418 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 6 10:36:03 2015 +0800 usb: udc: add usb_udc_vbus_handler This commit updates udc core vbus status, and try to connect or disconnect gadget. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c9bdc0dde187e5f6b481989b4084c1b7cbe2726f Merge: de1cf8a f2f8036 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 19 12:26:01 2015 -0400 Merge branch 'tipc-next' Erik Hugne says: ==================== tipc: small bugfix an support for datagram connect() Most notable in this series is patch#3 that allows programs to associate a tipc address with a connectionless (RDM/DGRAM) socket. v2: Fix indent issue in patch#3 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2f8036e391eb82ee78764483f869f2feafb5da8 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Mar 19 09:02:19 2015 +0100 tipc: add support for connect() on dgram/rdm sockets Following the example of ip4_datagram_connect, we store the address in the socket structure for dgram/rdm sockets and use that as the default destination for subsequent send() calls. It is allowed to connect to any address types, and the behaviour of send() will be the same as a normal sendto() with this address provided. Binding to an AF_UNSPEC address clears the association. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bd88ee7a2ea19dffe384e12fe452c59d9e53c29 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Mar 19 09:02:18 2015 +0100 tipc: do not report -EHOSTUNREACH for failed local delivery Since commit 1186adf7df04 ("tipc: simplify message forwarding and rejection in socket layer") -EHOSTUNREACH is propagated back to the sending process if we fail to deliver the message to another socket local to the node. This is wrong, host unreachable should only be reported when the destination port/name does not exist in the cluster, and that check is always done before sending the message. Also, this introduces inconsistent sendmsg() behavior for local/remote destinations. Errors occurring on the receiving side should not trickle up to the sender. If message delivery fails TIPC should either discard the packet or reject it back to the sender based on the destination droppable option. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18d6c58415fa9f5ec98767a2434acc8197c7f288 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Mar 19 09:02:17 2015 +0100 tipc: remove redundant call to tipc_node_remove_conn tipc_node_remove_conn may be called twice if shutdown() is called on a socket that have messages in the receive queue. Calling this function twice does no harm, but is unnecessary and we remove the redundant call. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dfea9c94837d27e38c8cc85a3c1c7c268973c3c2 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 6 10:36:02 2015 +0800 usb: udc: store usb_udc pointer in struct usb_gadget Instead of iterate to find usb_udc according to usb_gadget, this way is easier. Alan Stern suggests this way too: http://marc.info/?l=linux-usb&m=142168496528894&w=2 Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a494e32d3a4fc8852da78b8fc8392aab77f998ba Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Thu Feb 26 14:49:57 2015 +0100 ARM: dts: n9/n950: Enable omap crypto support Harmattan system on Nokia N9 and N950 devices uses omap crypto support. Bootloader on those devices is known that it enables HW crypto support. This patch just include omap36xx.dtsi directly, so aes and sham is enabled. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7252f1bfd4bc97ec4b5fa7adaf3a1a45c325635c Author: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Date: Sun Mar 15 13:24:32 2015 -0700 usb: dwc2: avoid leaking DMA channels on disconnection When the HCD is disconnected, the DMA transfers still in-flight were cleaned-up but the count of available DMA channels (e.g. available_host_channels) was not reset. The pool of DMA channels can be depleted when doing unclean disconnection of USB peripherals, and reaches the point where no transfer was possible until the next reboot/reload of the driver. Tested by putting a programmable USB mux on the port and randomly plugging/unpluging a USB HUB with USB mass-storage key, USB-audio and USB-ethernet dongle connected to its downstream ports, and also doing the disconnection early while the devices are still enumerating to get more URBs in-flight. After the patch, the devices are still enumerating after thousands of cycles, while the port was totally dead before. Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a710d10d021735cc68be9609fe0fefe4c63938ae Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 19 09:14:36 2015 -0700 ARM: dts: Remove PIN_INPUT for dm816x McSPI On dm816x we have no PIN_INPUT vs PIN_OUTPUT configuration, there are just pulls. Let's remove the bogus flags. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit de1a12216af0a46f878b9860fedadc985a7d71f3 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 19 09:14:36 2015 -0700 ARM: dts: Add cppi41 support for dm816x MUSB Looks like we have cppi41 on dm816x just like on am335x. Cc: Bin Liu <binmlist@xxxxxxxxx> Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3438bd2e7b00b047ea243272dc368fef89e90080 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Mar 19 09:14:35 2015 -0700 ARM: dts: Fix typo for dm816x usb0_pins Commit a54879a00859 ("ARM: dts: Fix USB dts configuration for dm816x") attempted to fix the USB features introduced by commit 7800064ba507 ("ARM: dts: Add basic dm816x device tree configuration") but obviously I did not read the dmesg as more USB issues still keep trickling in. It should be usb1_pins instead not usb0_pins for the second interface to avoid warnings from pinctrl framework. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 85e8a0af374090e0bd89b781a1d3aa0eb4fcdfa0 Merge: 06e5801 9a6d729 646c028 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Mar 19 10:56:47 2015 -0500 Merge branches 'pci/iommu' and 'pci/resource' into next * pci/iommu: of: Calculate device DMA masks based on DT dma-range size arm: dma-mapping: limit IOMMU mapping size PCI: Update DMA configuration from DT of/pci: Add of_pci_dma_configure() to update DMA configuration PCI: Add helper functions pci_get[put]_host_bridge_device() of: Fix size when dma-range is not used of: Move of_dma_configure() to device.c to help re-use of: iommu: Add ptr to OF node arg to of_iommu_configure() * pci/resource: PCI: Fail pci_ioremap_bar() on unassigned resources PCI: Show driver, BAR#, and resource on pci_ioremap_bar() failure PCI: Mark invalid BARs as unassigned PNP: Don't check for overlaps with unassigned PCI BARs commit 1164f672d71ac103d85207b0453f3127c0efefb3 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:24 2015 +0100 ARM: at91: drop AT91_TIMER_HZ Drop AT91_TIMER_HZ as this can be handled using HZ_FIXED. Initial help message was: On AT91rm9200 chips where you're using a system clock derived from the 32768 Hz hardware clock, this tick rate should divide it exactly: use a power-of-two value, such as 128 or 256, to reduce timing errors caused by rounding. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 23b8408246aef28499a918b10425c1da4fef613a Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:23 2015 +0100 ARM: at91: remove hardware.h hardware.h is now mostyl unused, move the remaining declarations to pm.c and remove it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4c8056543e6aa283fe03b1e96d2dd22816ee4350 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:22 2015 +0100 ARM: at91: remove SoC headers Remove the now useless SoC headers. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit f56d8f7c29320abe6f923fa1b3cb7adcc3252a24 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:21 2015 +0100 ARM: at91: remove useless mach/cpu.h mach/cpu.h is not used anymore, remove it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0794261104c593c11be48c2e3b5b38e14a036cba Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:20 2015 +0100 ARM: at91: remove unused headers Following the switch to multiplatform, uncompress.h is not used anymore. Remove it. at91_dbgu.h is also not used anymore Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit f6d1c094f7dd336d5e82c2754d37ecc1ae29974f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:19 2015 +0100 ARM: at91: switch at91_dt_defconfig to multiplatform Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 41141127a83d9e986a77a7cab7e27f5afee3bede Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 22:57:18 2015 +0100 ARM: at91: switch to multiplatform Switch AT91 to multiplatform as all SoCs are properly handled. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 9e808eb6a7689b61399f772a2576d779161769ec Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Mar 12 15:07:04 2015 -0500 PCI: Cleanup control flow Return errors immediately so the straightline path is the normal, no-error path. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a0c8a4d9f92d1ecd053eaa0e6cde7b4f24af97a8 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Thu Mar 12 15:05:56 2015 -0500 sparc/PCI: Claim bus resources before pci_bus_add_devices() Pci_claim_bus_resources() should be called before pci_bus_add_devices(), or driver may failed to load, because the resources had not claimed. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b97ea289cf6aff8d4cbcefe2b707bb9b00a73c73 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Mon Mar 16 11:18:56 2015 +0800 PCI: Assign resources before drivers claim devices (pci_scan_root_bus()) Previously, pci_scan_root_bus() created a root PCI bus, enumerated the devices on it, and called pci_bus_add_devices(), which made the devices available for drivers to claim them. Most callers assigned resources to devices after pci_scan_root_bus() returns, which may be after drivers have claimed the devices. This is incorrect; the PCI core should not change device resources while a driver is managing the device. Remove pci_bus_add_devices() from pci_scan_root_bus() and do it after any resource assignment in the callers. Note that ARM's pci_common_init_dev() already called pci_bus_add_devices() after pci_scan_root_bus(), so we only need to remove the first call: pci_common_init_dev pcibios_init_hw pci_scan_root_bus pci_bus_add_devices # first call pci_bus_assign_resources pci_bus_add_devices # second call [bhelgaas: changelog, drop "root_bus" var in alpha common_init_pci(), return failure earlier in mn10300, add "return" in x86 pcibios_scan_root(), return early if xtensa platform_pcibios_fixup() fails] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Richard Henderson <rth@xxxxxxxxxxx> CC: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> CC: Matt Turner <mattst88@xxxxxxxxx> CC: David Howells <dhowells@xxxxxxxxxx> CC: Tony Luck <tony.luck@xxxxxxxxx> CC: Michal Simek <monstr@xxxxxxxxx> CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx> CC: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> CC: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Chris Metcalf <cmetcalf@xxxxxxxxxx> CC: Chris Zankel <chris@xxxxxxxxxx> CC: Max Filippov <jcmvbkbc@xxxxxxxxx> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ea6edfbcefec1fcfdb826a1d5a054f402dfbfb24 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Thu Mar 19 21:23:40 2015 +0800 mac802154: fix typo in header guard Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Fixes: b6eea9ca354a ("mac802154: introduce driver-ops header") Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cff549e4860fcdea6b22510defdc8c8a0f82455a Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Feb 2 14:01:26 2015 +0100 scsi: proper state checking and module refcount handling in scsi_device_get This effectively reverts commits 85b6c7 ("[SCSI] sd: fix cache flushing on module removal (and individual device removal)" and dc4515ea ("scsi: always increment reference count"). We now never call scsi_device_get from the shutdown path, and the fact that we started grabbing reference there in commit 85b6c7 turned out turned out to create more problems than it solves, and required workarounds for workarounds for workarounds. Move back to properly checking the device state and carefully handle module refcounting. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 1f16ea294d2ef63013740f4c8539e430b6c12dff Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Mar 6 09:17:37 2015 +0100 iwlwifi: mvm: remove WARN_ON for invalid BA notification The firmware frequently manages to trigger this, and there's no known driver workaround, so stop warning. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3d9a1f530e508ff6fc9ab8220016b02f1bce255b Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Feb 2 14:01:25 2015 +0100 sd: don't grab a device references from driver methods The device model already takes care of races between ->remove and ->shutdown vs its other methods, and we now take care about locking them out for ->rescan as well. This is a partial revert of commit 39b7f1 ("[SCSI] sd: Fix refcounting"). Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit e27829dc92e549486b8248cdfa53e108abb6acfb Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Feb 2 14:01:24 2015 +0100 scsi: serialize ->rescan against ->remove Lock the device embedded in the scsi_device to protect against concurrent calls to ->remove. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 48e67751681654efe9743be64f18f1f08d1dbef2 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Tue Mar 3 12:03:20 2015 +0200 iwlwifi: mvm: take IWL_MVM_REF_UCODE_DOWN before restarting hw we unref IWL_MVM_REF_UCODE_DOWN on iwl_mvm_restart_complete(). Usually, the restart is initiated by iwl_mvm_nic_restart(), which takes the reference before restarting the hw. However, in D3 flow we might call ieee80211_restart_hw() directly (in case of suspend error and on d3_test-resume), which without taking the ref first. fix it. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 28c8c19a0004a74cd6303fa088b33212d0d80536 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Tue Mar 3 16:19:36 2015 +0200 iwlwifi: mvm: don't wait for firmware verification The firmware has a race in the flow that indicates the completion of the authentication. Checking the completion of the authentication is not really needed anyway since we can wait for the ALIVE notification instead. Remove the unneeded and buggy code. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 132fee062655e90948e189c8c14ce21f115ebbda Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Thu Mar 19 12:46:06 2015 +0200 iwlwifi: add new 3165 series PCI IDs Add new 3165 PCI IDs for new 1x1 cards. Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit dcbc17ad7c7525ed04a45a94cfc5640d5cccf480 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 10 21:24:34 2015 +0100 iwlwifi: mvm: protect rate scaling against non-mvm IBSS stations When the driver callback returns that it's out of space for new stations, the mac80211 IBSS code still keeps the station so it doesn't try to add it over and over again. Since the rate scaling algorithm is separate in mac80211, it also invokes the rate scaling algorithm for such stations. It doesn't know that our rate scaling algorithm is tightly integrated with the MVM code and relies on those data structures, and it cannot as the abstraction doesn't allow for it. This leads to crashes when the rate scaling algorithm tries to use uninitialized data, notably the mvmsta->vif pointer. Protect against this in the rate scaling algorithm. We cannot get good rates with such peers anyway since the firmware cannot do anything with them. This should fix https://bugzilla.kernel.org/show_bug.cgi?id=93461 CC: <stable@xxxxxxxxxxxxxxx> Reported-by: Richard Taylor <rjt-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9c8928f5176766bec79f272bd47b7124e11cccbd Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 16 09:08:07 2015 +0200 iwlwifi: dvm: run INIT firmware again upon .start() The assumption before this patch was that we don't need to run again the INIT firmware after the system booted. The INIT firmware runs calibrations which impact the physical layer's behavior. Users reported that it may be helpful to run these calibrations again every time the interface is brought up. The penatly is minimal, since the calibrations run fast. This fixes: https://bugzilla.kernel.org/show_bug.cgi?id=94341 CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit de4b00b0937aba99b7099afc6ed17a81163faab3 Author: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Date: Thu Mar 19 13:35:16 2015 +0100 drm: sti: convert driver to atomic modeset v1: This patch does the minimum to make sti driver use atomic helpers. No big bang, only adapt some functions to new call order. v2: Use dpms and page flip atomic helpers Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit ec523735e4a9969e5469c93c87a25a92f619f118 Author: Redha Gouicem <redha.gouicem@xxxxxxxxx> Date: Thu Mar 19 10:16:08 2015 +0100 Staging: lustre: lnet: lnet: router.c: fix useless returns and elses This patch removes useless returns and elses. Signed-off-by: Redha Gouicem <redha.gouicem@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6157b1b19dbebcdabe5024ad0698499d9b46270 Author: Redha Gouicem <redha.gouicem@xxxxxxxxx> Date: Thu Mar 19 10:16:07 2015 +0100 Staging: lustre: lnet: lnet: router.c: fix 80 char line limit This patch fixes lines longer than the 80 char limit. Signed-off-by: Redha Gouicem <redha.gouicem@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b24062bda7baba62781c2a67d126126ce0bc8899 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Mar 18 17:48:56 2015 +0100 ALSA: aoa: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4a97abd44329bf7b9c57f020224da5f823c9c9ea Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 17 18:05:13 2015 +0000 arm64/crypto: issue aese/aesmc instructions in pairs This changes the AES core transform implementations to issue aese/aesmc (and aesd/aesimc) in pairs. This enables a micro-architectural optimization in recent Cortex-A5x cores that improves performance by 50-90%. Measured performance in cycles per byte (Cortex-A57): CBC enc CBC dec CTR before 3.64 1.34 1.32 after 1.95 0.85 0.93 Note that this results in a ~5% performance decrease for older cores. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b63dbef93f91d56cb4385fdd8d1765201d451136 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Wed Mar 4 13:27:35 2015 +0000 arm64: fixmap: check idx is definitely valid Fixmap indices are in the interval (FIX_HOLE, __end_of_fixed_addresses), but in __set_fixmap we only check idx <= __end_of_fixed_addresses, and therefore indices <= FIX_HOLE are erroneously accepted. If called with such an idx, __set_fixmap may corrupt page tables outside of the fixmap region. This patch ensures that we validate the idx against both endpoints of the interval. Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 19fc577579c86fec6e2523baeb457b02e939796f Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Wed Mar 4 13:27:34 2015 +0000 arm64: fixmap: make FIX_TEXT_POKE0 permanent The FIX_TEXT_POKE0 is currently at the end of the temporary fixmap slots, despite the fact that it can be used at any point during runtime (e.g. for poking the text of loaded modules), and thus should be a permanent fixmap slot (as is the case on arm and x86). This patch moves FIX_TEXT_POKE0 into the set of permanent fixmap slots. Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e6a2e1b6c24a3993ffbb69a05dda202d2830ad90 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 10:14:39 2015 +0000 arm64: mm: unexport set_memory_ro and set_memory_rw This effectively unexports set_memory_ro and set_memory_rw functions from commit 11d91a770f1f ("arm64: Add CONFIG_DEBUG_SET_MODULE_RONX support"). No module user of those is in mainline kernel and we explicitly do not want modules to use these functions, as they i.e. RO-protect eBPF (interpreted and JIT'ed) images from malicious modifications/bugs. Outside of eBPF scope, I believe also other set_memory_* functions should be unexported on arm64 due to non-existant mainline module user. Laura mentioned that they have some uses for modules doing set_memory_*, but none that are in mainline and it's unclear if they would ever get there. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a8fcd8b192bb15debe1db276e073c6ba9a3fc953 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Mar 16 16:32:23 2015 +0000 arm64: Enable CONFIG_COMPAT also for 64k page size With binutils 2.25 the default alignment for 32bit arm sections changed to have everything 64k aligned. Armv7 binaries built with this binutils version run successfully on an arm64 system. Since effectively there is now the chance to run armv7 code on arm64 even with 64k page size, it doesn't make sense to block people from enabling CONFIG_COMPAT on those configurations. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 18ccb0cab49ef7868eaf9504f257e1a84683dbbd Author: Andreas Schwab <schwab@xxxxxxx> Date: Mon Mar 16 16:32:22 2015 +0000 arm64: fix implementation of mmap2 compat syscall The arm mmap2 syscall takes the offset in units of 4K, thus with 64K pages the offset needs to be scaled to units of pages. Signed-off-by: Andreas Schwab <schwab@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> [will: removed redundant lr parameter, localised PAGE_SHIFT #if check] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c6169e49bd37c9556efd7564bcbbf7067cd7efa8 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Mar 2 14:38:52 2015 +0200 drm: adv7511: Refactor power management Remove the internal dependency on DPMS mode for power management by using a by a powered state boolean instead, and use the new power off handler at probe time. This ensure that the regmap cache is properly marked as dirty when the device is probed, and the registers properly synced during the first power up. As a side effect this removes the initialization of current_edid_segment at probe time, as the field will be initialized when the device is powered on, at the latest right before reading EDID data. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Christian Kohn <christian.kohn@xxxxxxxxxx> Tested-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> commit a5241289c4139f0521b89e34a70f5f998463ae15 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 15:19:33 2015 +0200 drm: adv7511: Fix nested sleep when reading EDID The EDID read code waits for the read completion interrupt to occur using wait_event_interruptible(). The condition passed to the macro reads I2C registers. This results in sleeping with the task state set to TASK_INTERRUPTIBLE, triggering a WARN_ON() introduced in commit 8eb23b9f35aae ("sched: Debug nested sleeps"). Fix this by reworking the EDID read code. Instead of checking whether the read is complete through I2C reads, handle the interrupt registers in the interrupt handler and update a new edid_read flag accordingly. As a side effect both the IRQ and polling code paths now process the interrupt sources through the same code path, simplifying the code. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 2e96206c4f952295e11c311fbb2a7aa2105024af Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 15:19:33 2015 +0200 drm: adv7511: Fix DDC error interrupt handling The DDC error interrupt bit is located in REG_INT1, not REG_INT0. Update both the interrupt wait code and the interrupt sources reset code accordingly. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 292a3546b9eb20bf5a292f4e55dd1a027424669f Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 17:33:54 2015 +0100 ARM: mvebu: Conform L2CC node with ePAPR specification by adding cache-level For L2 cache controller node, cache-level property is mandatory. Let's add it to Armada 370 and Armada XP device tree. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit b7f01842bcbbf8aaf26c9f9bd413774114fa83c9 Author: Nadav Haklai <nadavh@xxxxxxxxxxx> Date: Tue Mar 17 13:53:34 2015 +0100 ARM: mvebu: clk: remove cpuclk resources overlapping coredivclk registers on Armada XP The resources of the cpuclk node are overlapping the one from coredivclk node. It was not noticed until now because the driver did a simple of_iomap and not a request_mem_region. This patch fixes it. [gregory.clement@xxxxxxxxxxxxxxxxxx: add commit log and port to 4.0-rc] Signed-off-by: Nadav Haklai <nadavh@xxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 6dbe686b598912051a976bb351bdd06e4abf7c49 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 21:22:10 2015 +0200 drm: rcar-du: Enable the atomic updates API Set the DRIVER_ATOMIC flag to enable usage of the atomic updates API with the driver. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 3515a9a20abc9248beadea0af468f753d67a9965 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Mar 5 23:46:22 2015 +0200 drm: rcar-du: Don't initialize event->pipe field The field is set by drm_send_vblank_event(), there's no need to preinitialize it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit de115fac7388264f6f1865a12ea6e4101bd05c48 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Mar 5 19:41:04 2015 +0200 drm: rcar-du: Fix framebuffer reference leak through plane state Plane state duplication takes a reference to the framebuffer stored in the state, but state destroy doesn't release it. This causes a reference leak. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 343e0d2b58117f58afd3718e863addcc357c01de Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Mar 8 12:15:56 2015 -0700 MAINTAINERS: Remove rcar-du.h entry commit 2378ad1228d2 ("drm: rcar-du: Remove platform data support") removed the file, remove the pattern. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit a4dd4ddd4b4f2a7f4e08d29f2c2fa46c8f5ce379 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Mar 17 14:38:11 2015 +0200 gpio: dwapb: enable for Quark The Intel Quark SoC contains the DW GPIO on board. While fixing the build error the commit 1972c97db5b0 (gpio: dwapb: fix compile errors) disables the possibility to build the driver on X86, i.e. Intel Quark. The patch reenables it for Intel Quark as well. Since we have Intel Quark SoC introduced in 4.0-rc1 I would like to make this fix available there as well, though the actual MFD driver [1] is applied only for next version. [1] https://lkml.org/lkml/2015/2/1/217 Fixes: 1972c97db5b0 (gpio: dwapb: fix compile errors) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1ecb016e18149a1ea3de7dfd98f60b4b03e5e855 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Mar 10 23:10:01 2015 +0100 gpio / ACPI: Use local variable instead of ACPI_HANDLE() In acpi_gpiochip_request_interrupts() the handle local variable already contains the value that we want to pass to acpi_walk_resources(), so it is better to use that variable instead of evaluating ACPI_HANDLE() once more for the same device. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4d8440b93ce8a8544199804dbcf997b2ab3dad11 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Mar 10 23:08:57 2015 +0100 gpio / ACPI: Avoid unnecessary checks in __gpiod_get_index() If dev is NULL in __gpiod_get_index() and both ACPI and OF are enabled, it will be checked twice before the code decides to give up with DT/ACPI lookup, so avoid that. Also use the observation that ACPI_COMPANION() is much more efficient than ACPI_HANDLE(), because the latter uses the former and carries out a check and a pointer dereference on top of it, so replace the ACPI_HANDLE() check with an ACPI_COMPANION() one which does not require the additional IS_ENABLED(CONFIG_ACPI) check too. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 964cb341882f920a1a1043864178f22def3193e4 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Mar 18 01:56:17 2015 +0100 gpio: move pincontrol calls to <linux/gpio/driver.h> These functions do not belong in <asm-generic/gpio.h> since the split into separate GPIO headers under <linux/gpio/*>. Move them to <linux/gpio/driver.h> as is apropriate. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e4c02dced975cbb3e7cb097a0895ce0143b3386a Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Mar 16 22:42:34 2015 +0100 pinctrl: tegra: use signed bitfields for optional fields Optional fields are set to -1 by various preprocessor macros. Make sure the fields can actually store them. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6b94aea01d4f96235e947892f6c39f837045e741 Merge: d79dc0a 1067219 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 19 14:05:53 2015 +1000 Merge branch 'drm_next' of https://github.com/markyzq/kernel-drm-rockchip into drm-next rockchip fixes. * 'drm_next' of https://github.com/markyzq/kernel-drm-rockchip: drm/rockchip: vop: power off until vop standby take effect drm/rockchip: vop: set vop enabled after enable iommu drm/rockchip: vop use is_enabled instead of dpms mode drm/rockchip: vop: fix vop vsync/hsync polarity drm/rockchip: Only alloc a kmap for fbdev gem object commit d79dc0a9baef6ba909ac9e8da095524046523d6a Merge: 03be700 522cf91 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 19 14:03:39 2015 +1000 Merge tag 'topic/drm-misc-2015-03-18' of git://anongit.freedesktop.org/drm-intel into drm-next Another drm-misch pull request. Mostly the fbdev sizes deconfusion series from Rob, everything else is small stuff all over. And the large i2c over aux transfers patch, too. * tag 'topic/drm-misc-2015-03-18' of git://anongit.freedesktop.org/drm-intel: drm: check that planes types are correct while initializing CRTC drm: change connector to tmp_connector drm: Fix some typo mistake of the annotations drm: Silence sparse warnings drm: %pF is only for function pointers drm/fb: handle tiled connectors better drm/fb: small cleanup drm/rockchip: use correct fb width/height drm/exynos: use correct fb width/height drm/cma: use correct fb width/height drm/atomic: minor kerneldoc typo fix drm/fb: document drm_fb_helper_surface_size drm/dp: Use large transactions for I2C over AUX drm/plane-helper: Fixup mismerge drm/atomic: Constify a bunch of functions pointer structs commit 4eebd5a4e72697aac25a8a57d3f888a9d5f80370 Author: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Date: Wed Mar 11 22:34:45 2015 +0100 apple-gmux: lock iGP IO to protect from vgaarb changes As GMUX depends on IO for iGP to be enabled and active, lock the IO at vgaarb level. This should prevent GPU driver for dGPU to disable IO for iGP while it tries to own legacy VGA IO. This fixes usage of backlight control combined with closed nvidia driver on some Apple dual-GPU (intel/nvidia) systems. On those systems loading nvidia driver disables intel IO decoding, disabling the gmux backlight controls as a side effect. Prior to commits moving boot_vga from (optional) efifb to less optional vgaarb this mis-behavior could be avoided by using right kernel config (efifb enabled but vgaarb disabled). This patch explicitly does not try to trigger vgaarb changes in order to avoid confusing already running graphics drivers. If IO has been mis-configured by vgaarb gmux will thus fail to probe. It is expected to load/probe gmux prior to graphics drivers. Fixes: ce027dac592c0ada241ce0f95ae65856828ac450 # nvidia interaction Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=86121 Reported-by: Petri Hodju <petrihodju@xxxxxxxxx> Tested-by: Petri Hodju <petrihodju@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Signed-off-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit de1cf8a7d7a369bc7d63f7be27e3d84ad6a69bb2 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Thu Mar 19 08:51:27 2015 +0800 net/mlx4_en: mlx4_en_set_tx_maxrate() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af615762e972be0c66cf1d156ca4fac13b93c0b0 Author: Jörg Thalheim <joerg@xxxxxxxxxxxxx> Date: Wed Mar 18 10:06:58 2015 +0100 bridge: add ageing_time, stp_state, priority over netlink Signed-off-by: Jörg Thalheim <joerg@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99c4a26a159b28fa46a3e746a9b41b297e73d261 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 22:52:33 2015 -0400 net: Fix high overhead of vlan sub-device teardown. When a networking device is taken down that has a non-trivial number of VLAN devices configured under it, we eat a full synchronize_net() for every such VLAN device. This is because of the call chain: NETDEV_DOWN notifier --> vlan_device_event() --> dev_change_flags() --> __dev_change_flags() --> __dev_close() --> __dev_close_many() --> dev_deactivate_many() --> synchronize_net() This is kind of rediculous because we already have infrastructure for batching doing operation X to a list of net devices so that we only incur one sync. So make use of that by exporting dev_close_many() and adjusting it's interfaace so that the caller can fully manage the batch list. Use this in vlan_device_event() and all the overhead goes away. Reported-by: Salam Noureddine <noureddine@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 738e6d30d392fb75933a5eb4b481811598038786 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 17:40:51 2015 -0700 inet: add a schedule point in inet_twsk_purge() On a large hash table, we can easily spend seconds to walk over all entries. Add a cond_resched() to yield cpu if necessary. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db19170bc0a254b46c732ea4bdf1c6cf0de6b38b Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue Mar 17 20:23:16 2015 -0600 rocker: add support for phys_port_name Implement the phys_port_name operation. Port names are pulled from the rocker hardware model in qemu and default to the qemu name + port id. e.g., sw1p1: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 52:54:00:12:35:01 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 where 'sw1' comes from the qemu command line -device rocker,name=sw1, and 'p1' is port 1. Patch is adapted from Scott's phys_port_id patch. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db24a9044ee191c397dcd1c6574f56d67d7c8df5 Author: David Ahern <dsahern@xxxxxxxxx> Date: Tue Mar 17 20:23:15 2015 -0600 net: add support for phys_port_name Similar to port id allow netdevices to specify port names and export the name via sysfs. Drivers can implement the netdevice operation to assist udev in having sane default names for the devices using the rule: $ cat /etc/udev/rules.d/80-net-setup-link.rules SUBSYSTEM=="net", ACTION=="add", ATTR{phys_port_name}!="", NAME="$attr{phys_port_name}" Use of phys_name versus phys_id was suggested-by Jiri Pirko. Signed-off-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56ef9c909b40483d2c8cb63fcbf83865f162d5ec Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Wed Mar 18 14:50:44 2015 -0300 vxlan: Move socket initialization to within rtnl scope Currently, if a multicast join operation fail, the vxlan interface will be UP but not functional, without even a log message informing the user. Now that we can grab socket lock after already having rntl, we don't need to defer socket creation and multicast operations. By not deferring we can do proper error reporting to the user through ip exit code. This patch thus removes all deferred work that vxlan had and put it back inline. Now the socket will only be created, bound and join multicast group when one bring the interface up, and will undo all that as soon as one put the interface down. As vxlan_sock_hold() is not used after this patch, it was removed too. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54ff9ef36bdf84d469a098cbf8e2a103fbc77054 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Wed Mar 18 14:50:43 2015 -0300 ipv4, ipv6: kill ip_mc_{join, leave}_group and ipv6_sock_mc_{join, drop} in favor of their inner __ ones, which doesn't grab rtnl. As these functions need to operate on a locked socket, we can't be grabbing rtnl by then. It's too late and doing so causes reversed locking. So this patch: - move rtnl handling to callers instead while already fixing some reversed locking situations, like on vxlan and ipvs code. - renames __ ones to not have the __ mark: __ip_mc_{join,leave}_group -> ip_mc_{join,leave}_group __ipv6_sock_mc_{join,drop} -> ipv6_sock_mc_{join,drop} Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit baf606d9c9b12517e47e0d1370e8aa9f7323f210 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Wed Mar 18 14:50:42 2015 -0300 ipv4,ipv6: grab rtnl before locking the socket There are some setsockopt operations in ipv4 and ipv6 that are grabbing rtnl after having grabbed the socket lock. Yet this makes it impossible to do operations that have to lock the socket when already within a rtnl protected scope, like ndo dev_open and dev_stop. We normally take coarse grained locks first but setsockopt inverted that. So this patch invert the lock logic for these operations and makes setsockopt grab rtnl if it will be needed prior to grabbing socket lock. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df67a2b72eb6fa205c0954e3f4f416e282e7412b Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Mar 17 16:25:12 2015 +0100 ARM: shmobile: cpuidle: Remove the pointless default driver The default idle driver uses one state with the WFI instruction. The default idle routine invokes WFI when no cpuidle driver is present. The default cpuidle driver is pointless and does not give more than the default idle routine and moreover it pulls all the mathematics tied with the cpuidle governor for nothing, hence consuming more energy. Remove the default driver, the related code and register the driver directly. [compiled only - no board - no test] Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fdf9ef8999c0758bf622899e049f2be45ab1f4da Merge: 8f6320d 08d2cc3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 22:00:44 2015 -0400 Merge branch 'listen_refactor_part_13' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 13 inet_hash functions are in a bad state : Too much IPv6/IPv4 copy/pasting. Lets refactor a bit. Idea is that we do not want to have an equivalent of inet_csk(sk)->icsk_af_ops for request socks in order to be able to use the right variant. In this patch series, I started to let IPv6/IPv4 converge to common helpers. Idea is to use ipv6_addr_set_v4mapped() even for AF_INET sockets, so that we can test if (sk->sk_family == AF_INET6 && !ipv6_addr_v4mapped(&sk->sk_v6_daddr)) to tell if we deal with an IPv6 socket, or IPv4 one, at least in slow paths. Ideally, we could save 8 bytes per struct sock_common, if we alias skc_daddr & skc_rcv_saddr to skc_v6_daddr[3]/skc_v6_rcv_saddr[3]. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08d2cc3b26554cae21f279b520ae5c2a3b2be421 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:38 2015 -0700 inet: request sock should init IPv6/IPv4 addresses In order to be able to use sk_ehashfn() for request socks, we need to initialize their IPv6/IPv4 addresses. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4d6444ea3b50bf368639432657bcf2b4e5e1062 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:37 2015 -0700 inet: get rid of last __inet_hash_connect() argument We now always call __inet_hash_nolisten(), no need to pass it as an argument. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77a6a471bc18763cb2e80a8cc92f4c04eae37d32 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:36 2015 -0700 ipv6: get rid of __inet6_hash() We can now use inet_hash() and __inet_hash() instead of private functions. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d1e559d0b1b0d02f76a6bd5b768a99dc834ae926 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:35 2015 -0700 inet: add IPv6 support to sk_ehashfn() Intent is to converge IPv4 & IPv6 inet_hash functions to factorize code. IPv4 sockets initialize sk_rcv_saddr and sk_v6_daddr in this patch, thanks to new sk_daddr_set() and sk_rcv_saddr_set() helpers. __inet6_hash can now use sk_ehashfn() instead of a private inet6_sk_ehashfn() and will simply use __inet_hash() in a following patch. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b441f76f1b83591e8cd9d60ba1df3a2aacde27f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:34 2015 -0700 net: introduce sk_ehashfn() helper Goal is to unify IPv4/IPv6 inet_hash handling, and use common helpers for all kind of sockets (full sockets, timewait and request sockets) inet_sk_ehashfn() becomes sk_ehashfn() but still only copes with IPv4 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6eada0110c8984477f5f1e57a0b7f7b2fc841e30 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 18 14:05:33 2015 -0700 netns: constify net_hash_mix() and various callers const qualifiers ease code review by making clear which objects are not written in a function. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58d2930f4ee335ab703d768cb0318331fc1bb62c Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Tue Mar 17 16:19:58 2015 +0900 KVM: Eliminate extra function calls in kvm_get_dirty_log_protect() When all bits in mask are not set, kvm_arch_mmu_enable_log_dirty_pt_masked() has nothing to do. But since it needs to be called from the generic code, it cannot be inlined, and a few function calls, two when PML is enabled, are wasted. Since it is common to see many pages remain clean, e.g. framebuffers can stay calm for a long time, it is worth eliminating this overhead. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit bdc455b512c880292d7f145e73aed5e37a90f6e4 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Mar 18 21:31:38 2015 +0530 ASoC: Intel: acpi_probe: fix error return path Fix the sst_acpi_probe memory allocation error path by setting right error code and initiating the cleanup insteadof just returning Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit faac2458518e20130664d77b657303758f1aaf5a Author: Bandan Das <bsd@xxxxxxxxxx> Date: Mon Mar 16 17:18:25 2015 -0400 KVM: SVM: Fix confusing message if no exit handlers are installed I hit this path on a AMD box and thought someone was playing a April Fool's joke on me. Signed-off-by: Bandan Das <bsd@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 5d5b275d727753372f0a390b4121738d073f3e94 Author: Lu, Han <han.lu@xxxxxxxxx> Date: Thu Mar 19 08:38:00 2015 +0800 Intel: ASoC: Add condition check before set param to waves Check waves state before set parameter through ipc to prevent unexpected operation. Also remove redundant check. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit acf60c3d3d596d62272a8f584049b926c4015564 Author: Gauthier Voron <gauthier.voron@xxxxxxx> Date: Wed Mar 18 23:46:41 2015 +0100 Staging: lustre: fix some coding style This patch remove unnecessary bracket. Signed-off-by: Gauthier Voron <gauthier.voron@xxxxxxx> Signed-off-by: Hakan Metin <hakan.metin@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f0d9bfabfd2e45eff276178717fdaa1f2d2cc95 Author: Gauthier Voron <gauthier.voron@xxxxxxx> Date: Wed Mar 18 23:45:53 2015 +0100 Staging: lustre: fix coding style This patch fix too large line. Signed-off-by: Gauthier Voron <gauthier.voron@xxxxxxx> Signed-off-by: Hakan Metin <hakan.metin@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b37729bd184fdd44f144c6cc4951b06b55bcf4b Author: Peter Huewe <peterhuewe@xxxxxx> Date: Mon Mar 16 22:26:21 2015 +0100 tpm/tpm_infineon: Use struct dev_pm_ops for power management Make the tpm_infineon driver define its PM callbacks through a struct dev_pm_ops object rather than by using legacy PM hooks in struct pnp_driver. This allows the driver to use tpm_pm_suspend() as its suspend callback directly, so we can remove the duplicated savestate code. Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit ce93b4b086b6497bb5809ba706dd9caa39cadbbe Author: Peter Huewe <peterhuewe@xxxxxx> Date: Sun Mar 15 01:05:31 2015 +0100 MAINTAINERS: Add Jason as designated reviewer for TPM Jason does an excellent job reviewing the TPM stuff, so we add him to the designated reviewer list (with his consent :) Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 44506436d707ee89db4c7cf7b5bf07c9b8ae71b0 Author: Peter Huewe <peterhuewe@xxxxxx> Date: Sun Mar 15 00:54:43 2015 +0100 tpm: Update KConfig text to include TPM2.0 FIFO chips I got a lot of requests lately about whether the new TPM2.0 support includes the FIFO interface for TPM2.0 as well. The FIFO interface is handled by tpm_tis since FIFO=TIS (more or less). -> Update the helptext and headline Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 92a2c6b26b72a65714e8433bb0ee2ad1866df5cf Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Mar 8 11:17:16 2015 +0100 tpm/st33zp24/dts/st33zp24-spi: Add dts documentation for st33zp24 spi phy Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit f042a315ae65d37ddd429ed6f60f1f87fdd48125 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Mar 8 11:17:15 2015 +0100 tpm/st33zp24/spi: Add st33zp24 spi phy st33zp24 TIS 1.2 support also SPI. It is using a proprietary protocol to transport TIS data. Acked-by: Jarkko Sakkinen <jarkko.sakknen@xxxxxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit bf38b8710892333cec2d8069644eb36ff435fd6f Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Mar 8 11:17:14 2015 +0100 tpm/tpm_i2c_stm_st33: Split tpm_i2c_tpm_st33 in 2 layers (core + phy) tpm_i2c_stm_st33 is a TIS 1.2 TPM with a core interface which can be used by different phy such as i2c or spi. The core part is called st33zp24 which is also the main part reference. include/linux/platform_data/tpm_stm_st33.h is renamed consequently. The driver is also split into an i2c phy in charge of sending/receiving data as well as managing platform data or dts configuration. Acked-by: Jarkko Sakkinen <jarkko.sakknen@xxxxxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit fe7d36859f25cec5029fb4f26e40db2fea623906 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Mar 8 11:17:13 2015 +0100 tpm/tpm_i2c_stm_st33: Replace access to io_lpcpd from struct st33zp24_platform_data to tpm_stm_dev io_lpcpd is accessible from struct tpm_stm_dev. struct st33zp24_platform_data is only valid when using static platform configuration data, not when using dts. Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 34d47b6322087665be33ca3aa81775b143a4d7ac Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Wed Mar 18 08:17:14 2015 +0200 tpm: fix: sanitized code paths in tpm_chip_register() I started to work with PPI interface so that it would be available under character device sysfs directory and realized that chip registeration was still too messy. In TPM 1.x in some rare scenarios (errors that almost never occur) wrong order in deinitialization steps was taken in teardown. I reproduced these scenarios by manually inserting error codes in the place of the corresponding function calls. The key problem is that the teardown is messy with two separate code paths (this was inherited when moving code from tpm-interface.c). Moved TPM 1.x specific register/unregister functionality to own helper functions and added single code path for teardown in tpm_chip_register(). Now the code paths have been fixed and it should be easier to review later on this part of the code. Cc: <stable@xxxxxxxxxxxxxxx> Fixes: 7a1d7e6dd76a ("tpm: TPM 2.0 baseline support") Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Tested-by: Scot Doyle <lkml14@xxxxxxxxxxxxx> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 71150d226564686ef32d15d29edfd18346f6e929 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Mar 18 22:40:04 2015 +0100 PNP: Avoid leaving unregistered device objects in lists pnp_register_protocol() and __pnp_add_device() both have a problem that if device_register() fails, the objects they create will be left in the lists they have been put one beforehand. Unfortunately, that is not handled by the callers of those routines either, so in case of a device registration errors the PNP bus type's data structures will end up in an inconsistent state. Make pnp_register_protocol() and __pnp_add_device() remove the objects from the lists if device registration fails. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 38f6b38dbb0896511c509fbb6ceabbedbee8e87d Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Mar 18 22:39:55 2015 +0100 PNP: Convert pnp_lock into a mutex pnp_lock is a spinlock, but it is only acquired from process context, so it may be a mutex just fine. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit aee94467d9858b5441c278ffa39dcd19bef548cf Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:37 2015 +0100 PNP: tty/serial/8250/8250_fintek: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 99f74f12e87426be0f83b87b5e46c1ec8b00bd0f Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:36 2015 +0100 PNP: platform/x86/apple-gmux: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ed03538aa8d5f03432ddd5ed73fc0ba2725af93d Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:35 2015 +0100 PNP: net/sb1000: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit af638a04070f54c22c2fe7523e742d06b5f980bf Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:34 2015 +0100 PNP: media/rc: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6a5333092e4674c1e1f7de05ce6a167273f5afdb Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:33 2015 +0100 PNP: ide/ide-pnp: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 99c876bec30d064679c07d53b44a4e99da10f576 Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:32 2015 +0100 PNP: ata/pata_isapnp: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1551660369d00a7e8cdfa12e9af132053eb67140 Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:31 2015 +0100 PNP: tpm/tpm_infineon: Use module_pnp_driver to register driver Removing some boilerplate by using module_pnp_driver instead of calling register and unregister in the otherwise empty init/exit functions Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 95c0fd457b03099b5ce385f3982e06d01ad42c5c Author: Peter Huewe <PeterHuewe@xxxxxx> Date: Mon Mar 16 21:46:30 2015 +0100 PNP: Add helper macro for pnp_register_driver boilerplate This patch introduces the module_pnp_driver macro which is a convenience macro for PNP driver modules similar to module_pci_driver. It is intended to be used by drivers which init/exit section does nothing but register/unregister the PNP driver. By using this macro it is possible to eliminate a few lines of boilerplate code per PNP driver. Based on work done by Lars-Peter Clausen <lars@xxxxxxxxxx> for other busses (i2c and spi) and Greg KH for PCI. Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2f249358eedaf81cede7fb0927ed0bd9c1ae2de7 Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Fri Mar 13 12:39:02 2015 +0800 cpufreq: qoriq: rename the driver This driver works on all QorIQ platforms which include ARM-based cores and PPC-based cores. Rename it in order to represent better. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a4f207428b53975069d12d49a509b440c707d691 Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Fri Mar 13 12:39:01 2015 +0800 cpufreq: qoriq: Make the driver usable on all QorIQ platforms Freescale introduced new ARM core-based SoCs which support dynamic frequency switch feature. DFS on new SoCs are compatible with current PowerPC CoreNet platforms. In order to support those new platforms, this driver needs to be updated. The main changes include: 1. Changed the names of functions in driver. 2. Added two new functions get_cpu_physical_id() and get_bus_freq(). 3. Used a new way to get the CPU mask which share clock wire. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 71474ccba11fa81e096844f2294bf218e32eea4f Author: Jonathan Sid-Otmane <jonathan.sidotmane@xxxxxxxxx> Date: Wed Mar 18 22:12:47 2015 +0100 Staging: lustre: niobuf.c fic 80 char limit This fixes the charatcer limit in niobuf.c Signed-off-by: Jonathan Sid-Otmane <Jonathan.SidOtmane@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 245cbcff17a512fdaf63fe7766560f2981a6b8cf Author: Jonathan Sid-Otmane <jonathan.sidotmane@xxxxxxxxx> Date: Wed Mar 18 21:59:41 2015 +0100 Staging: lustre: vvp_dev.c: fix spaces issues This fixes the space issues in the file vvp_dev.c Signed-off-by: Jonathan Sid-Otmane <Jonathan.SidOtmane@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b5cf51500a62b5abcaaa9f63600e10fa95cddd8 Author: Roberto Medina <robertoxmed@xxxxxxxxx> Date: Wed Mar 18 19:22:49 2015 +0100 staging: lustre: linux: linux-prim: fixed coding style warnings and errors Coding style fixes due to exported symbols and comment style. Signed-off-by: Roberto Medina <robertoxmed@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 847aac644e92e5624f2c153bab409bf713d5ff9a Author: Li Xi <pkuelelixi@xxxxxxxxx> Date: Thu Mar 19 04:04:53 2015 +0900 vfs: Add general support to enforce project quota limits This patch adds support for a new quota type PRJQUOTA for project quota enforcement. Also a new method get_projid() is added into dquot_operations structure. Signed-off-by: Li Xi <lixi@xxxxxxx> Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 267d9c8a6557d30c5ff01da8b8b0c3d07d82d14c Author: Laure Millet <laure.millet@xxxxxxx> Date: Wed Mar 18 20:07:26 2015 +0100 staging: lustre: namei.c: coding style: fix 80 characters limit This patch fixes lines over 80 characters Signed-off-by: Laure Millet <laure.millet@xxxxxxx> Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e65dbbb800315c0b228a2ff530f1227579c09fa6 Author: Laure Millet <laure.millet@xxxxxxx> Date: Wed Mar 18 20:01:35 2015 +0100 staging: lustre: namei.c: coding style: fix quoted string split across lines This patch fixes a quoted string split across lines. Signed-off-by: Laure Millet <laure.millet@xxxxxxx> Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07b249fa5b1aea27d4210af671de2a21eeeaac78 Author: Laure Millet <laure.millet@xxxxxxx> Date: Wed Mar 18 19:49:47 2015 +0100 staging: lustre: namei.c: Fix trailing whitespace This patch fixes a trailing whitespace in namei.c Signed-off-by: Laure Millet <laure.millet@xxxxxxx> Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72488596426bc82eeb71bf343e8b0049af214378 Author: Laure Millet <laure.millet@xxxxxxx> Date: Wed Mar 18 19:49:46 2015 +0100 Staging: lustre: namei.c: fix "foo * bar" should be "foo *bar" This patch fixes a coding style error in a pointer declaration. Signed-off-by: Laure Millet <laure.millet@xxxxxxx> Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43550121a752311f5e096a9ac97898d878710aac Author: Laure Millet <laure.millet@xxxxxxx> Date: Wed Mar 18 19:49:45 2015 +0100 Staging: lustre: namei.c: fix missing a blank line after declarations This fixes a missing blank line after declarations. Signed-off-by: Laure Millet <laure.millet@xxxxxxx> Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f6320de5f6a817ba360be6ae39f721c7f9b26fb Merge: b65885d c10e4fc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 14:55:23 2015 -0400 Merge branch 'txq_max_rate' Or Gerlitz says: ==================== Add max rate TXQ attribute Add the ability to set a max-rate limitation for TX queues. The attribute name is maxrate and the units are Mbs, to make it similar to the existing max-rate limitation knobs (ETS and SRIOV ndo calls). changes from V2: - added Documentation (thanks Florian and Tom) - rebased to latest net-next to comply with the swdev ndo removal - addressed more feedback from Dave on the comments style changes from V1: - addressed feedback from Dave changes from V0: - addressed feedback from Sergei John Fastabend (1): net: Add max rate tx queue attribute ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c10e4fc6c45616dbadb8ccee189e2c09fb8f056f Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Wed Mar 18 14:57:35 2015 +0200 net/mlx4_en: Add tx queue maxrate support Add ndo_set_tx_maxrate support. To support per tx queue maxrate limit, we use the update-qp firmware command to do run-time rate setting for the qp that serves this tx ring. Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc31e2560a2443410fe45c27116fae736541a7b5 Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Wed Mar 18 14:57:34 2015 +0200 net/mlx4_core: Add basic support for QP max-rate limiting Add the low-level device commands and definitions used for QP max-rate limiting. This is done through the following elements: - read rate-limit device caps in QUERY_DEV_CAP: number of different rates and the min/max rates in Kbs/Mbs/Gbs units - enhance the QP context struct to contain rate limit units and value - allow to do run time rate-limit setting to QPs through the update-qp firmware command - QP rate-limiting is disallowed for VFs Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 822b3b2ebfff8e9b3d006086c527738a7ca00cd0 Author: John Fastabend <john.r.fastabend@xxxxxxxxx> Date: Wed Mar 18 14:57:33 2015 +0200 net: Add max rate tx queue attribute This adds a tx_maxrate attribute to the tx queue sysfs entry allowing for max-rate limiting. Along with DCB-ETS and BQL this provides another knob to tune queue performance. The limit units are Mbps. By default it is disabled. To disable the rate limitation after it has been set for a queue, it should be set to zero. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b20d684b4e1d11795af8783b45f2149b0ba0faf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Mar 2 13:30:30 2015 +0100 perf build: Rename feature_print_var_code to print_var_code As it has nothing to do with features and won't be moved into tools/build. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-6qgf37nss4wwjatgj5i4ng0o@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4ae61202b31c91259ff45cc9744b8a95add6b52a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:50:47 2015 +0100 perf build: Rename PERF-FEATURES into FEATURE-DUMP Preparing for feature checks separation, moving related stuff under 'FEATURE*' namespace. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-v9oo22ra70rrk1dy495a7bjc@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a15599ac6bd2e6196f3aeb2fb08af73129621fe1 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:58:24 2015 +0100 perf build: Rename display_vf to feature_verbose Preparing for feature checks separation, moving related stuff under 'feature*' namespace. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ciaflab01mf0ljmfb9xr4p41@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 48e383eca276c02d4bd5c5b468b07b73ca52dd08 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:46:28 2015 +0100 perf build: Rename display_lib into feature_display Preparing for feature checks separation, moving related stuff under 'feature*' namespace. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-t72o4nwx81owjv14y43b2wpf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 07efbf528c9f72bad67cc5a8c3afaa9c937fde43 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:44:18 2015 +0100 perf build: Get rid of VF_FEATURE_TESTS It only contains (FEATURE_TESTS - FEATURE_DISPLAY) tests to display the rest of the checks on 'make VF=1'. But we can actually compute this list, which is less confusing. Also renaming LIB_FEATURE_TESTS into FEATURE_DISPLAY, so it reflects what this variable actually does - display its tests status to user. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-gs160y03hpmx5ezpcr4gunxc@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ee9c80a13ea84bbf469a669685962099e11b9567 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:32:42 2015 +0100 perf build: Rename CORE_FEATURE_TESTS to FEATURE_TESTS Preparing for feature checks separation, moving related stuff under 'FEATURE*' namespace. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-iobj4f9gygcakrk2v5u61159@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9444e874e6d0b1db2ad31e3f755bab8a571240f5 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Mar 1 20:11:24 2015 +0100 perf build: Get rid of LIB_INCLUDE variable It has no use, so we can directly use the value for CFLAGS. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ywyr5v962s32daq5hpgfkjap@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c59a14241387f7a66723f9ee6901cb638d665777 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Mar 11 09:02:00 2015 +0100 perf build: Fix pthread-attr-setaffinity-np include in test-all The test-all fails to build due to type in pthread-attr-setaffinity-np include. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-awn2658267slejnebyrlns86@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 806f0727fa3b9140a6603ba6b3627cbbe346d5a3 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Mar 11 09:01:26 2015 +0100 perf build: Move features build output under features directory Following commit introduced features build dump: 443a70541c56 perf tools: Output feature detection's gcc output to a file Moving them into to have code more compact and renaming build dump files. For each feature 'test-X' new file 'test-X.make.output' is created and contains the build out. It's created in the same directory as the feature itself. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-dk6svnhcephrzgz4mfpcmtm7@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d9be0cda774e7fe36651b04a89a42e9e354e43c3 Author: Abhi Das <adas@xxxxxxxxxx> Date: Wed Mar 18 12:05:15 2015 -0500 gfs2: allow fallocate to max out quotas/fs efficiently We can quickly get an estimate of how many blocks are available for allocation restricted by quota and fs size respectively, using the ap->allowed field in the gfs2_alloc_parms structure. gfs2_quota_check() and gfs2_inplace_reserve() provide these values. Once we have the total number of blocks available to us, we can compute how many bytes of data can be written using those blocks instead of guessing inefficiently. Signed-off-by: Abhi Das <adas@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 25435e5ed611f310dda889940cbc4c45b3ecd9ec Author: Abhi Das <adas@xxxxxxxxxx> Date: Wed Mar 18 12:04:37 2015 -0500 gfs2: allow quota_check and inplace_reserve to return available blocks struct gfs2_alloc_parms is passed to gfs2_quota_check() and gfs2_inplace_reserve() with ap->target containing the number of blocks being requested for allocation in the current operation. We add a new field to struct gfs2_alloc_parms called 'allowed'. gfs2_quota_check() and gfs2_inplace_reserve() return the max blocks allowed by quota and the max blocks allowed by the chosen rgrp respectively in 'allowed'. A new field 'min_target', when non-zero, tells gfs2_quota_check() and gfs2_inplace_reserve() to not return -EDQUOT/-ENOSPC when there are atleast 'min_target' blocks allowable/available. The assumption is that the caller is ok with just 'min_target' blocks and will likely proceed with allocating them. Signed-off-by: Abhi Das <adas@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit b8fbf471edb3dbf441716fd2a52a7ca76c381381 Author: Abhi Das <adas@xxxxxxxxxx> Date: Wed Mar 18 12:03:41 2015 -0500 gfs2: perform quota checks against allocation parameters Use struct gfs2_alloc_parms as an argument to gfs2_quota_check() and gfs2_quota_lock_check() to check for quota violations while accounting for the new blocks requested by the current operation in ap->target. Previously, the number of new blocks requested during an operation were not accounted for during quota_check and would allow these operations to exceed quota. This was not very apparent since most operations allocated only 1 block at a time and quotas would get violated in the next operation. i.e. quota excess would only be by 1 block or so. With fallocate, (where we allocate a bunch of blocks at once) the quota excess is non-trivial and is addressed by this patch. Signed-off-by: Abhi Das <adas@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 97e7a5153e8835c4cd03c77e258c1f556d8e9655 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Mar 11 09:00:41 2015 +0100 perf build: Disable default check for libbabeltrace Remove libbabeltrace check from default features set, because the requested version is not released yet in most distributions. We'll enable later. Calling libbabeltrace check manually via feature_check before $(feature-libbabeltrace) is used. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-5n7mr6ugcwdbxk0n1z8uukaa@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f1ea6f4ec0a48d7b6bbf4d380a0ac14d69fadb44 Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Tue Feb 24 07:22:28 2015 -0600 GFS2: Move gfs2_file_splice_write outside of #ifdef This patch moves function gfs2_file_splice_write so it's not conditionally compiled. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit f42a69fadc4b90b5d59c4672dcbe52dcd4b6a117 Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Thu Feb 19 08:02:16 2015 -0600 GFS2: Allocate reservation during splice_write This patch adds a GFS2-specific function for splice_write which first calls function gfs2_rs_alloc to make sure a reservation structure has been allocated before attempting to reserve blocks. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 932e468a377f62569fe3818f160fadbaef3f26bd Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Fri Feb 13 12:16:37 2015 -0600 GFS2: gfs2_set_acl(): Cache "no acl" as well When removing a default acl or setting an access acl that is entirely represented in the file mode, we end up with acl == NULL in gfs2_set_acl(). In that case, bring gfs2 in line with other file systems and cache the NULL acl with set_cached_acl() instead of invalidating the cache with forget_cached_acl(). Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit d4ad0759cdb1c2d0971801f8876365dddea56695 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:44:53 2015 +0000 DT: exynos: update PMU binding Document the fact that some Exynos PMUs are capable of acting as an interrupt controller. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088693-15724-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 8b283c025443e4c3a3323c92777f422fa504caa5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:44:52 2015 +0000 ARM: exynos4/5: convert pmu wakeup to stacked domains Exynos has been (ab)using the gic_arch_extn to provide wakeup from suspend, and it makes a lot of sense to convert this code to use stacked domains instead. This patch does just this, updating the DT files to actually reflect what the HW provides. BIG FAT WARNING: because the DTs were so far lying by not exposing the fact that the PMU block is actually the first interrupt controller in the chain for RTC, kernels with this patch applied wont have any suspend-resume facility when booted with old DTs, and old kernels with updated DTs may not even boot. Also, I strongly suspect that there is more than two wake-up interrupts on these platforms, but I leave it to the maintainers to fix their mess. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088693-15724-2-git-send-email-marc.zyngier@xxxxxxx [ jac: squash in maz's fixup from https://lkml.kernel.org/r/5506989D.9050703@xxxxxxx ] Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 381a3c4a33bf33943ed3791bd8797d8d8490b4fd Merge: 75967b7 2fcb9e3 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Mar 18 22:46:19 2015 +0530 Merge branch 'topic/alloc_removal' into for-linus commit 2fcb9e3c86fc312beb031832fca783498fd4bdb5 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 14:00:46 2015 +0530 dmaengine: sun6i: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7595c5717f2be8708f5e6bdd9365f15354ccd024 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 14:00:27 2015 +0530 dmaengine: sa11x0: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b07064aa080c3c769ab7698e63bed81e0f29155d Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 14:00:09 2015 +0530 dmaengine: s3c24xx: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c509c495c0aca237cb7e3a38cb1fa90ff3a0bdfa Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 13:59:48 2015 +0530 dmaengine: k3dma: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Acked-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f265958a6b6da2af3ff57d44cd661138b04ce78d Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 13:59:25 2015 +0530 dmaengine: img-mdc: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Acked-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3d32b2506d0c63aef42de01b268ed4d6e83bfd2f Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 13:58:51 2015 +0530 dmaengine: jz4740: remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 16cab61800cebca941c47c1c9d76fe9f66e1a486 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Mar 16 13:56:47 2015 +0530 dmaengine: amba-pl08x:remove device_alloc_chan_resources handler Now that device_alloc_chan_resources handler in not mandatory, remove dummy implementations Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 75967b788c2898601620ce91ed14b4a9a371b6fe Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Mon Mar 16 11:52:45 2015 +0000 dmaengine: pl330: fix return status on pending transfers The pl330_tx_status() function returns the desc->status if the dma_cookie_status() call does indicate the cookie completed, however the desc->status is not look directly compatible. Sparse throws the following warning: pl330.c:2262:35: warning: mixing different enum types pl330.c:2262:35: int enum desc_status versus pl330.c:2262:35: int enum dma_status Attempt to fix this by adding a switch statement to turn the desc->status into a dma_status. Note, this has only been tested with the dmatest suite. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> -- Vinod Koul <vinod.koul@xxxxxxxxx> Dan Williams <dan.j.williams@xxxxxxxxx> DMA List <dmaengine@xxxxxxxxxxxxxxx> Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Jassi Brar <jassisinghbrar@xxxxxxxxx> Liviu Dudau <Liviu.Dudau@xxxxxxx> Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5503aed8117881f58a2688521dfbf9fc7dbcdfe7 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Mon Mar 16 11:52:44 2015 +0000 dmaengine: pl330: make unexported functions static Whilst running sparse on pl330 driver it was noticed there are two functions that are not static but not exported to any other users in the kernel. Fix the following warnings by making 'pl330_pause' and the 'pl330_get_current_xferred_count' static: pl330.c:2165:5: warning: symbol 'pl330_pause' was not declared. Should it be static? pl330.c:2206:5: warning: symbol 'pl330_get_current_xferred_count' was not declared. Should it be static? Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> -- Vinod Koul <vinod.koul@xxxxxxxxx> Dan Williams <dan.j.williams@xxxxxxxxx> DMA List <dmaengine@xxxxxxxxxxxxxxx> Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Jassi Brar <jassisinghbrar@xxxxxxxxx> Liviu Dudau <Liviu.Dudau@xxxxxxx> Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3a2307f72e684199a27ae9d8e7cfd98e8b05c8db Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Mon Mar 16 11:52:43 2015 +0000 dmaengine: pl330: fix issues with big-endian armv7 When running Xilinx Zynq in big-endian mode the pl330 driver fails to pass the dmatest suite. To fix this, ensure all non byte values are written in little endian. As a note, the documentation does not mention if it will do big-endian descriptor fetches, only that it will swap the data in flight. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> -- Vinod Koul <vinod.koul@xxxxxxxxx> Dan Williams <dan.j.williams@xxxxxxxxx> DMA List <dmaengine@xxxxxxxxxxxxxxx> Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Jassi Brar <jassisinghbrar@xxxxxxxxx> Liviu Dudau <Liviu.Dudau@xxxxxxx> Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f0b7d43c8a28155f50adb087a563cfc97566e477 Author: Brad Campbell <bradjc5@xxxxxxxxx> Date: Tue Mar 17 16:25:46 2015 -0400 cc2520: Add support for CC2591 amplifier. The TI CC2521 is an RF power amplifier that is designed to interface with the CC2520. Conveniently, it directly interfaces with the CC2520 and does not require any pins to be connected to a microcontroller/processor. Adding a CC2591 increases the CC2520's range, which is useful for border router and other wall-powered applications. Using the CC2591 with the CC2520 requires configuring the CC2520 GPIOs that are connected to the CC2591 to correctly set the CC2591 into TX and RX modes. Further, TI recommends that the CC2520_TXPOWER and CC2520_AGCCTRL1 registers are set differently to maximize the CC2591's performance. These settings are covered in TI Application Note AN065. This patch adds an optional `amplified` field to the cc2520 entry in the device tree. If present, the CC2520 will be configured to operate with a CC2591. The expected pin mapping is: CC2520 GPIO0 --> CC2591 EN CC2520 GPIO5 --> CC2591 PAEN Signed-off-by: Brad Campbell <bradjc5@xxxxxxxxx> Acked-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0db055c934672bcbd9423cd5e729f602bec70a6e Author: Brad Campbell <bradjc5@xxxxxxxxx> Date: Tue Mar 17 16:25:45 2015 -0400 cc2520: Do not store platform_data in spi_device Storing the `platform_data` struct inside of the SPI struct when using the device tree allows for a later function to edit the content of that struct. This patch refactors the `cc2520_get_platformat_data` function to accept a pointer to a `cc2520_platform_data` struct and populates the fields inside of it. This change mirrors commit aaa1c4d226e4cd730075d3dac99a6d599a0190c7 ("at86rf230: copy pdata to driver allocated space"). Signed-off-by: Brad Campbell <bradjc5@xxxxxxxxx> Acked-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b65885d29d41c7245bbd98769e781f77e8d9ed5b Merge: a61bfa6 e2e21c1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 12:46:48 2015 -0400 Merge branch 'rhashtable_remove_shift' Herbert Xu says: ==================== rhashtable: Kill redundant shift parameter I was trying to squeeze bucket_table->rehash in by downsizing bucket_table->size, only to find that my spot had been taken over by bucket_table->shift. These patches kill shift and makes me feel better :) v2 corrects the typo in the test_rhashtable changelog and also notes the min_shift parameter in the tipc patch changelog. ==================== Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2e21c1c5808e5dfd88d3606cd6386cf85f6f5b1 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:21 2015 +1100 rhashtable: Remove max_shift and min_shift Now that nobody uses max_shift and min_shift, we can safely remove them. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f509df4f50e72cba65c3b58241a17639b2d9b49 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:19 2015 +1100 test_rhashtable: Use rhashtable max_size instead of max_shift This patch converts test_rhashtable to use rhashtable max_size instead of the obsolete max_shift. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 446c89ac1f6026df9e3e0ca2614b36909398d431 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:18 2015 +1100 tipc: Use rhashtable max/min_size instead of max/min_shift This patch converts tipc to use rhashtable max/min_size instead of the obsolete max/min_shift. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b06eee59b1e547f0f401820388ca68c624298a64 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:17 2015 +1100 netlink: Use rhashtable max_size instead of max_shift This patch converts netlink to use rhashtable max_size instead of the obsolete max_shift. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2e213cff701fce71a0aba8de82f2c2a4acf52ae Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:16 2015 +1100 rhashtable: Introduce max_size/min_size This patch adds the parameters max_size and min_size which are meant to replace max_shift and min_shift. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6aebd940840a4d3a0a8ffc5883d3892f4bd61e90 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 18 20:01:15 2015 +1100 rhashtable: Remove shift from bucket_table Keeping both size and shift is silly. We only need one. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a61bfa65facebd64403c94ebdab50323ce8942b2 Merge: e7a9eee ca62645 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 18 12:44:13 2015 -0400 Merge branch 'xgene-next' Keyur Chudgar says: ==================== drivers: net: xgene: Add second SGMII based 1G interface This patch adds support for second SGMII based 1G interface. ==================== Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca6264545a9ffa855e8c49c1d7d8f4ab4b2a9af7 Author: Keyur Chudgar <kchudgar@xxxxxxx> Date: Tue Mar 17 11:27:13 2015 -0700 drivers: net: xgene: Add second SGMII based 1G interface - Added resource initialization based on port-id field - Enabled second SGMII 1G interface Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d33394e23d63b750dcba40e5feaeba425427b52 Author: Keyur Chudgar <kchudgar@xxxxxxx> Date: Tue Mar 17 11:27:12 2015 -0700 dtb: xgene: Add second SGMII based 1G interface node - Added new SGMII node for port 1 - Added port-id field Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2bc6e11bb945e3b10f07bf4b00525ccdc9fc440 Author: Keyur Chudgar <kchudgar@xxxxxxx> Date: Tue Mar 17 11:27:11 2015 -0700 Documentation: dtb: Add port-id field for APM X-Gene ethernet Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57c0342239b028db54741209a051a4d5f7c857e7 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:14 2015 +0100 dmaengine: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5ec293650827122df300581c17ca1d5de03bac3d Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 18 14:21:08 2015 +0100 Staging: dgnc: release the lock before testing for nullity The refactoring intrduced in c84a083b995b ("Staging: dgnc: Use goto for spinlock release before return") inverts the order in which the lock is released and ld is tested for nullity. This patch restores the execution flow. Fixes: c84a083b995b ("Staging: dgnc: Use goto for spinlock release before return") Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32fc9eb5b2dcebefb7fb4c8288c739c320362524 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:42 2015 -0700 usb: phy: msm: Remove dead code This code is no longer used now that mach-msm has been removed. Delete it. Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebfd44ffb78a0f06ea5437996153d5b1e017c2d7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:41 2015 -0700 ehci-msm: Remove dead dependency This dependency no longer exists now that mach-msm has been removed. Delete it. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5b68807c6563bf3882c94268ca09198d2e574ae Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 15 18:03:00 2015 +0100 uwb: Remove umc bus legacy suspend/resume support There are currently no umc drivers implementing suspend/resume, so remove the legacy suspend/resume support from the framework. If a umc driver ever wants to implement suspend/resume they can use dev_pm_ops, which works out of the box without any additional support necessary from the bus itself. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1f0b57db01d1045d163eeb05d5a4e7bd934561a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:27 2015 +0100 usb: gadget: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3370b0af910166e387cf4b3faeaa8b5f0cb53f29 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu Feb 26 11:47:57 2015 +0000 usb: isp1760: add peripheral/device controller chip id As per the SAF1761 data sheet[0], the DcChipID register represents the hardware version number (0001h) and the chip ID (1582h) for the Peripheral Controller. However as per the ISP1761 data sheet[1], the DcChipID register represents the hardware version number (0015h) and the chip ID (8210h) for the Peripheral Controller. This patch adds support for both the chip ID values. [0] http://www.nxp.com/documents/data_sheet/SAF1761.pdf [1] http://pdf.datasheetcatalog.com/datasheets2/74/742102_1.pdf Cc: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26d4a1e9c4aaa7799a71524c871214bd7448d430 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Mar 4 17:07:57 2015 +0000 usb: isp1760: fix possible deadlock in isp1760_udc_irq Use spin_{un,}lock_irq{save,restore} in isp1760_udc_{start,stop} to prevent following potentially deadlock scenario between isp1760_udc_{start,stop} and isp1760_udc_irq : ================================= [ INFO: inconsistent lock state ] 4.0.0-rc2-00004-gf7bb2ef60173 #51 Not tainted --------------------------------- inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage. in:imklog/2118 [HC1[1]:SC0[0]:HE0:SE1] takes: (&(&udc->lock)->rlock){?.+...}, at: [<c0397a93>] isp1760_udc_irq+0x367/0x9dc {HARDIRQ-ON-W} state was registered at: [<c05135b3>] _raw_spin_lock+0x23/0x30 [<c0396b87>] isp1760_udc_start+0x23/0xf8 [<c039dc21>] udc_bind_to_driver+0x71/0xb0 [<c039de4f>] usb_gadget_probe_driver+0x53/0x9c [<bf80d0df>] usb_composite_probe+0x8a/0xa4 [libcomposite] [<bf8311a7>] 0xbf8311a7 [<c00088c5>] do_one_initcall+0x8d/0x17c [<c050b92d>] do_init_module+0x49/0x148 [<c0087323>] load_module+0xb7f/0xbc4 [<c0087471>] SyS_finit_module+0x51/0x74 [<c000d8c1>] ret_fast_syscall+0x1/0x68 irq event stamp: 4966 hardirqs last enabled at (4965): [<c05137df>] _raw_spin_unlock_irq+0x1f/0x24 hardirqs last disabled at (4966): [<c00110b3>] __irq_svc+0x33/0x64 softirqs last enabled at (4458): [<c0023475>] __do_softirq+0x23d/0x2d0 softirqs last disabled at (4389): [<c002380b>] irq_exit+0xef/0x15c other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&(&udc->lock)->rlock); <Interrupt> lock(&(&udc->lock)->rlock); *** DEADLOCK *** 1 lock held by in:imklog/2118: #0: (&f->f_pos_lock){+.+.+.}, at: [<c010a101>] __fdget_pos+0x31/0x34 Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f116d1c12580b7c2349e3291d22621ee21b08a0 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Thu Feb 12 16:18:09 2015 +0800 usb: load usb phy earlier USB PHY works proper is the base for the coming USB controller operation. With this patch, it can avoid the controller drivers which are linked earlier than USB PHY always being probed deferral. Look at drivers/Makefile, it links phy first with the similar method. Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 333c65bc8b2482dbbb46f4223381160333aaaddd Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Tue Feb 24 16:42:45 2015 +0100 usb: storage: Fix trivial typo in isd200_log_config() Change 'Supsend' to 'Suspend' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9c585907f962a6ed55dc8382a0a606190c7cae0 Author: Bas Peters <baspeters93@xxxxxxxxx> Date: Sat Feb 7 23:42:43 2015 +0100 drivers: usb: storage: cypress_atacb.c: trivial checkpatch fixes Fixes errors thrown by checkpatch over a space issue and the incorrect indentation of a switch statement. Signed-off-by: Bas Peters <baspeters93@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0de846963586e6ba4133e273dcea66b2f0870db3 Author: Bas Peters <baspeters93@xxxxxxxxx> Date: Sat Feb 7 23:42:42 2015 +0100 drivers: usb: storage: alauda.c: properly place braces after function declarations This patch places braces on a new line following function declarations. Signed-off-by: Bas Peters <baspeters93@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7b364f7dd82e8610373b8c6d788db867d7e99db Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 5 14:36:25 2015 +0100 USB: gadget: f_mass_storage: use static attribute groups for sysfs entries Instead of manual device_create_file() and device_remove_file() calls, assign the static attribute groups to the lun device to register. The RO or RW permissions for some entries are decided in is_visible callback. This simplifies the code (also the logic) and avoids the possible races, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c60b89aa3640ac4eb279213d93828a8100acb6b5 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 16:07:43 2015 +0100 USB: appledisplay: Deletion of a check before backlight_device_unregister() The backlight_device_unregister() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 533726f736c2c32956d78ad6f49ffaada110cbfd Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 16:33:09 2015 +0100 ueagle-atm: Delete unnecessary checks before the function call "release_firmware" The release_firmware() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28ed20755897b3726f07a0418c3d2fe17b3e5c86 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 16:54:12 2015 +0100 USB: whci-hcd: Delete an unnecessary check before the function call "usb_put_hcd" The usb_put_hcd() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b29582b15ff4049de5780e27a28ed7b3ded3f969 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 21:40:29 2015 +0100 uwb/whci: Delete an unnecessary check before the function call "umc_device_unregister" The umc_device_unregister() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b8ef22ea547b80475ac7feab06fb15e0fc143d8 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 18:32:22 2015 +0200 usb: xhci: plat: Add USB phy support The Marvell Armada 385 AP needs a dumb phy in order to enable the USB3 VBUS. Add a call to retrieve a USB PHY to XHCI plat in order to support this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5401bf37a69620bdf079e4ee6c30a268f06f04b Author: Lin Wang <lin.x.wang@xxxxxxxxx> Date: Tue Mar 17 18:32:21 2015 +0200 xhci: unify cycle state toggling operation with 'XOR' Some toggling operation in xHCI driver still use conditional toggling: ring->cycle_state = (ring->cycle_state ? 0 : 1); Use XOR to invert the cycle state instead of a conditional toggle to unify cycle state toggling operation in xHCI driver. Signed-off-by: Lin Wang <lin.x.wang@xxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f7e9473ab62139c78eb834f53c4ec6bc22d111f Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 6 04:58:31 2015 -0500 USB: legotower: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9751afbbb02d7a1c0f57191b8423948344a7ed86 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 6 04:50:21 2015 -0500 USB: image: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1dc6120ef7f003305d99ef12f598a6b05eacc38c Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Wed Feb 4 18:05:13 2015 +0000 usb: host/sl811-hcd: fix sparse warning this patch fixes following sparse warning: sl811-hcd.c:1804:24: warning: symbol 'sl811h_driver' was not declared. Should it be static? Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be0c37c985eddc46d0d67543898c086f60460e2e Author: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Date: Thu Feb 26 18:16:37 2015 -0600 MIPS: Rearrange PTE bits into fixed positions. This patch rearranges the PTE bits into fixed positions for R2 and later cores. In the past, the TLB handling code did runtime checking of RI/XI and adjusted the shifts and rotates in order to fit the largest PFN value into the PTE. The checking now occurs when building the TLB handler, thus eliminating those checks. These new arrangements also define the largest possible PFN value that can fit in the PTE. HUGE page support is only available for 64-bit cores. Layouts of the PTE bits are now: 64-bit, R1 or earlier: CCC D V G [S H] M A W R P 32-bit, R1 or earler: CCC D V G M A W R P 64-bit, R2 or later: CCC D V G RI/R XI [S H] M A W P 32-bit, R2 or later: CCC D V G RI/R XI M A W P [ralf@xxxxxxxxxxxxxx: Fix another build error *rant* *rant*] Signed-off-by: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9353/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 961ea496facda611eeb153d8133a4d40055e56ca Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Wed Feb 11 12:45:03 2015 +0800 usb: chipidea: support runtime power management for otg fsm mode This patch adds runtime power management support for otg fsm mode, since A-device in a_idle state cannot detect data pulse irq after suspended, here enable wakeup by connection before suspend to make it can be resumed by DP; and handle wakeup from that state like SRP. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6594591741883e004aaba105951337878698b054 Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Wed Feb 11 12:45:02 2015 +0800 usb: chipidea: host: turn on vbus before add hcd if early vbus on is required If CI_HDRC_TURN_VBUS_EARLY_ON is set, turn on vbus before adding hcd, so it will not set reg_vbus of ehci_ci_priv, then vbus will not be handled by ehci core. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6adb9b7b5fb64be3c3e4d57578ea1446da91a8f9 Author: Li Jun <b47624@xxxxxxxxxxxxx> Date: Wed Feb 11 12:45:01 2015 +0800 usb: chipidea: add a flag for turn on vbus early for host Some usb PHYs need power supply from vbus to make it work, eg mxs-phy, if there is no vbus, USB PHY will not in correct state when the controller starts to work, for host, this requires vbus should be turned on before setting port power(PP) of ehci, to work with this kind of USB PHY design, this patch adds a flag CI_HDRC_TURN_VBUS_EARLY_ON, can be checked by host driver to turn on vbus while start host. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba1aff67f99a219b0c56bf7f10cea2c41cbd0583 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Feb 11 12:45:00 2015 +0800 chipidea: pci: register nop PHY Since PHY for ChipIdea is optional (not all SoCs having PHY for ChipIdea should be programmed), we register 'nop' PHY for platforms that do not have programmable PHY. Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78f0357ec8baa1ffe9c14b81f88cb0f3a5e1c15a Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:59 2015 +0800 usb: chipidea: host: add .bus_suspend quirk For chipidea, its resume sequence is not-EHCI compatible, see below description for FPR at portsc. So in order to send SoF in time for remote wakeup sequence(within 3ms), the RUN/STOP bit must be set before the resume signal is ended, but the usb resume code may run after resume signal is ended, so we had to set it at suspend path. Force Port Resume - RW. Default = 0b. 1= Resume detected/driven on port. 0=No resume (K-state) detected/driven on port. Host mode: Software sets this bit to one to drive resume signaling. The Controller sets this bit to '1' if a J-to-K transition is detected while the port is in the Suspend state. When this bit transitions to a '1' because a J-to-K transition is detected, the Port Change Detect bit in the USBSTS register is also set to '1'. This bit will automatically change to '0' after the resume sequence is complete. This behavior is different from EHCI where the controller driver is required to set this bit to a '0' after the resume duration is timed in the driver. Note that when the controller owns the port, the resume sequence follows the defined sequence documented in the USB Specification Revision 2.0. The resume signaling (Full-speed 'K') is driven on the port as long as this bit remains a '1'. This bit will remain a '1' until the port has switched to idle. Writing a '0' has no affect because the port controller will time the resume operation, clear the bit and the port control state switches to HS or FS idle. This field is '0' if Port Power(PP) is '0' in host mode. This bit is not-EHCI compatible. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 905276c4319174d52de0e45fc9b22f599497be47 Author: Daniel Tang <dt.tangr@xxxxxxxxx> Date: Wed Feb 11 12:44:58 2015 +0800 Chipidea: Set connect-at-fullspeed bit when entering host mode if CI_HDRC_FORCE_FULLSPEED is set in the platform data PORTSC_PFSC is not set on entering host mode which means the USB OTG controller will attempt to enumerate USB devices at high speed even when the CI_HDRC_FORCE_FULLSPEED flag is set in the platform data. This patch ensures it is set right before host mode operations begin if needed. Signed-off-by: Daniel Tang <dt.tangr@xxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89200448a01d9d07a1ee5cc42e8b847f86cdaf7c Author: Daniel Tang <dt.tangr@xxxxxxxxx> Date: Wed Feb 11 12:44:57 2015 +0800 Chipidea: TI-NSPIRE USB OTG hardware does not support high speed and must connect at full speed Signed-off-by: Daniel Tang <dt.tangr@xxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06bdfcdb139e95edbebeb719200de5d535afe526 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Wed Feb 11 12:44:56 2015 +0800 usb: chipidea: Add errata for revision 2.40a At chipidea revision 2.40a, there is a below errata: 9000531823 B2-Medium Adding a dTD to a Primed Endpoint May Not Get Recognized Title: Adding a dTD to a Primed Endpoint May Not Get Recognized Impacted Configuration: All device mode configurations. Description: There is an issue with the add dTD tripwire semaphore (ATDTW bit in USBCMD register) that can cause the controller to ignore a dTD that is added to a primed endpoint. When this happens, the software can read the tripwire bit and the status bit at '1' even though the endpoint is unprimed. After executing a dTD, the device controller endpoint state machine executes a final read of the dTD terminate bit to check if the application added a dTD to the linked list at the last moment. This read is done in the finpkt_read_latest_next_td (44) state. After the read is performed, if the terminate bit is still set, the state machine moves to unprime the endpoint. The decision to unprime the endpoint is done in the checkqh_decision (59) state, based on the value of the terminate bit. Before reaching the checkqh_decision state, the state machine traverses the writeqhtd_status (57), writeqh_status (56), and release_prime_mask (42) states. As shown in the waveform, the ep_addtd_tripwire_clr signal is not set to clear the tripwire bit in these states. Workaround: The software must implement a periodic poll cycle, and check for each dTD pending on execution (Active = 1), if the enpoint is primed. It can do this by reading the corresponding bits in the ENDPTPRIME and ENDPTSTAT registers. If these bits are read at 0, the software needs to re-prime the endpoint by writing 1 to the corresponding bit in the ENDPTPRIME register. This can be done for every microframe, every frame or with a larger interval, depending on the urgency of transfer execution for the application. Tested-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb271f3ce969a0fc4ecf9fc4b5a28852509714ed Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:55 2015 +0800 usb: chipidea: add chipidea revision information Define ci_get_revision API to know the controller revision information according to chipidea 1.1a, 2.0a and 2.5a spec. Besides, add one entry at struct ci_hdrc to indicate revision information, it can be used for adding different code for revisions, eg kinds of errata. Reviewed-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 655d32e9b2b2b912ff86de656eb620627b0df117 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:54 2015 +0800 usb: chipidea: add identification registers access APIs Using hw_write_id_reg and hw_read_id_reg to write and read identification registers contents, they can be used to get controller information, change some system configurations, and so on. Reviewed-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8721a752cc1bf61be0a0d3f266abd71a270d3a38 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:53 2015 +0800 usb: chipidea: usbmisc_imx: add imx6sx initialization routine Except the same process with earlier imx6, it has below two features: - Choose which vbus voltage as vbus wakeup source We choose B_SESSION_VALID as vbus wakeup source since when the system goes to suspend, the vbus comparator can't compare the vbus voltage for VBUS_VALID. - Disable dp/dm (linestate) change as wakeup source at device mode when the vbus is not there, we don't expect dp/dm change waking up usb controller at this situation. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0e04f852ac1fffa85b73842e60125d68cd095df Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:52 2015 +0800 doc: usb: usbmisc-imx: add imx6sx compatible string Add compatible string for imx6sx-usbmisc. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e37cfd8e0a0bb161a75ce2bc2302a1a1662fdb7 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:51 2015 +0800 usb: chipidea: clear otg interrupt status for otg capable controller We need to do it for all otg capable controller, not only peripheral featured otg capable controller, otherwise, the host-only role, but otg capable controller may be responded by otg interrupt. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01e3ad863fc0f15b802c8a5247e1c252bd04f429 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:50 2015 +0800 doc: usb: chipidea: add usb wakeup enable example Add the example for how to enable USB as system wakeup source. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d6531104d20692190690ed73eaaac770c42aa49 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:49 2015 +0800 usb: chipidea: imx: add usb as system wakeup source Enable USB as system wakeup source, and each platform needs to implement imx_usbmisc_set_wakeup in usbmisc_imx.c to support. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8efa7665e66c1e92fa10492a243cc0de4437ade Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:48 2015 +0800 usb: chipidea: add usb as system wakeup source The USB signal can be system wakeup source, this patch add the support, for how to enable it, see Documentation/usb/chipidea.txt. Since USB wakeup enable logic is vendor/platform specific, the glue layer needs to implement it to support this feature. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e14db48dfcf3ab6ebea212e82dc56036a00b0d6b Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:47 2015 +0800 usb: chipidea: imx: add runtime power management support Add runtime pm support for imx, only imx6 series are supported and tested. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f636cec559c6c01d6a262123446a142e1ae66890 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:46 2015 +0800 usb: chipidea: usbmisc_imx: add .set_wakeup interface This API is used to enable/disable usb wakeup, only imx6 series are added, since I don't have other imx hardware on hand. Other imx users can add their API according to reference manual after testing. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f874edcb7318c5dd71025df9f3849715b4e4f71 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:45 2015 +0800 usb: chipidea: add runtime power management support Add runtime power management support. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4cf1b14cfbc57a12ea2d997b93735a99f70d810 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:44 2015 +0800 usb: chipidea: imx: simplify the usbmisc callers Move struct imx_usbmisc_data NULL pointer judgement from caller to each API, it can simplify the caller. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73dea4a912b2bfe955305de4891018f9e71e399d Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:43 2015 +0800 usb: chipidea: usbmisc_imx: delete clock information All imx usb controller's non core registers uses the same clock gate with core registers, the usbmisc_imx is the library for imx glue driver, the glue keeps clock on when it calls usbmisc_imx API to change non-core register. Besides, we will support runtime pm in the future, it also needs to close this clock when the usb is not in use. Philipp Zabel also verifies it at imx6q platform, see http://www.spinics.net/lists/linux-usb/msg118491.html Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 560400875d56d6e5f589a25319febcb32238f004 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:42 2015 +0800 usb: chipidea: imx: using common platform flag directly It is meaningless the glue layer driver has its own platform flag which is the same meaning with common platform flag. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5d1e1bed4da02bd7a2352ab495721e31a7d95e4 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Feb 11 12:44:41 2015 +0800 usb: chipidea: udc: return immediately if re-enable non-empty endpoint Some gadget driver (like uac1) will try to enable endpoint again even the ep is not empty, it will cause the ep reset again and may affect the dTD list which has already queued. It returns -EBUSY immediately, and indicate the endpoint is in use. In this way, the ep's behavior will not be affected, and the gadget driver is also notified. Cc: Xuebing Wang <xbing6@xxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 431d452af13720463dda498999b2e9a08729c03a Author: Zhonghui Fu <zhonghui.fu@xxxxxxxxxxxxxxx> Date: Wed Mar 18 15:54:27 2015 +0100 PM / sleep: add pm-trace support for suspending phase Occasionally, the system can't come back up after suspend/resume due to problems of device suspending phase. This patch make PM_TRACE infrastructure cover device suspending phase of suspend/resume process, and the information in RTC can tell developers which device suspending function make system hang. Signed-off-by: Zhonghui Fu <zhonghui.fu@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5c0acf3b4f96abbd1fad40af7fdf0ed94cf523b7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Mar 17 09:58:58 2015 +0200 driver core: Add comments about returning array counts The "read array" variants of the device property functions can be used to return the number of values in an array. Update the comments to reflect that. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 235504dec113089856b39c65afb77a2f444aa2a9 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Mar 17 13:29:47 2015 +0000 perf tools: Fix building error for arm64. Commit b11db6581beaccef8ae9a388ae96074aa5cc144f ("perf tools: Fix build error on ARCH=i386/x86_64/sparc64") uses sed on ARCH, which triggers a bug in sequence of sed expression, where 's/arm.*/arm/' will replace 'arm64' to 'arm', causes arm64 building failure. This patch prevent 'arm64' to be mached for 'arm.*' case. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426598987-75245-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 03bde7c31a360f814ca42101d60563b1b803dca1 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 17:17:59 2015 +0100 i2c: busses with dynamic ids should start after fixed ids for DT Make sure dynamic ids do not interfere with fixed ones and let them start after the highest fixed id. This patch might cause different bus-numbers than before for dynamic ids, however it fixes a bug. Assume: - fixed id0 defers probe - fixed id1 succeeds and registers a muxed bus with dynamic id - muxed bus gets id0 - fixed id0 wants to probe again, but its fixed id is gone now - fixed id0 probe fails With this patch, the fixed ids are always reserved in the DT case. For legacy board init, we already have a mechanism like this in i2c_register_board_info(). Reported-by: Bob Feretich <bob.feretich@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 351d224f64afc1b3b359a1738b7d4600c7e64061 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 17:17:58 2015 +0100 of: base: add function to get highest id of an alias stem I2C supports adding adapters using either a dynamic or fixed id. The latter is provided by aliases in the DT case. To prevent id collisions of those two types, install this function which gives us the highest fixed id, so we can then let the dynamically created ones come after this highest number. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5757bfe51e53f8ae6e201310a830b207c5a64e02 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Mar 15 08:55:15 2015 +0200 pinctrl: dt-binding: fix generic pinmux/pinconf examples pinconf_generic_dt_node_to_map() scans only subnodes of the pinctrl-0 pahndle, not the referenced node itself. Change the example nodes to match. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 86d64dce9eb5a927da9a8159519778dfbaf598e7 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Mar 13 14:44:43 2015 +0800 pinctrl: mediatek: mt8135/mt8173: Constify of_device_id table Also make the table a bit compact. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0206caa81cb7b416d7c19d56f83a89ecbe33f536 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 12 21:53:32 2015 +0800 pinctrl: mediatek: mtk-common: Use devm_kcalloc at appropriate places Prefer devm_kcalloc over devm_kzalloc with multiply. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0dae530ccf0edda8a0d289c118e7e1609b198af0 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 12 14:51:14 2015 +0800 pinctrl: mediatek: mt8135/mt8173: Fix build error due to missing include file Fix below build error: CC drivers/pinctrl/mediatek/pinctrl-mt8135.o In file included from drivers/pinctrl/mediatek/pinctrl-mt8135.c:24:0: drivers/pinctrl/mediatek/pinctrl-mtk-mt8135.h:19:32: fatal error: pinctrl-mtk-common.h: No such file or directory compilation terminated. make[3]: *** [drivers/pinctrl/mediatek/pinctrl-mt8135.o] Error 1 make[2]: *** [drivers/pinctrl/mediatek] Error 2 make[1]: *** [drivers/pinctrl] Error 2 make: *** [drivers] Error 2 Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4a8ade1f6bb19208f0457afcf07dcaf2fb031f57 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Mar 13 22:40:52 2015 +0800 pinctrl: mediatek: Adjust mt8173 pinctrl kconfig ARM64 maintainer doesn't want to add MACH_* for each SoC. Adjust mt8173 pinctrl kconfig entry so user can manually select it. Also make PINCTRL_MT8135 selectable when COMPILE_TEST is enabled. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 61a3557671006434141a6bce24c32bab2f1c9a35 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 12 21:52:33 2015 +0800 pinctrl: mediatek: mtk-common: Remove kfree Remove erroneous kfree for memory allocated by devm_kzalloc Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b8ee29786f6c0a887a65240fe0289b7ffc227a55 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Mar 17 15:29:23 2015 +0100 ACPI / sleep: Drop acpi_suspend() which is not used The acpi_suspend() function has no callers, so drop it. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> commit 6cfdf55b7746a3b1bc324a9e64abe2f055368e6f Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:31 2015 +0200 ARM: davinci: dm646x: Add interrupt resource for McASPs The interrupt can be used for error recovery. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit b38434145b341c148b8d98cfbfc1e87bb4d9e2d9 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:30 2015 +0200 ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x McASP1 TX interrupt is 30, not 32 on DM646x DMSoC. While at it remove the bogus AEMIF interrupt entry from dm646x_default_priorities[]. AEMIF interrupt on DM6467 is 60 not 30 and the entry for the correct interrupt number is already present in the same table. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> [nsekhar@xxxxxx: remove bogus entry from dm646x_default_priorities[]] Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 91b0d9aa933a2335f6f11983b19eaf9ebe3c2033 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Mar 18 10:07:20 2015 +0200 ASoC: Intel: Remove vague commit about slave DMA config from firmware loader Intel MID DMA driver is going to be removed, commit should be a few lines down near to dmaengine_slave_config() call in order to not confuse and at quick look Synopsys DesignWare does seem to use some of the slave config structure fields (see drivers/dma/dw/core.c: dwc_config()). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 06ac0cd1c4e4e51fa84f866ef69b518488ffa05f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Mar 18 10:07:19 2015 +0200 ASoC: Intel: Remove support for Intel MID DMA from firmware loader Intel MID DMA driver is going to be removed by the coming commit 36111da7838e ("dmaengine: intel-mid-dma: remove the driver") in spi.git tree. Since there are no users for SST_DMA_TYPE_MID type the support for it can be removed from here in advance. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ffdb210eb415501c289f6becafb54fe2f4535efa Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Mar 17 19:53:23 2015 +0100 netfilter: nf_tables: consolidate error path of nf_tables_newtable() Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7776ab70d75ff9857343e44e428744d81c30ce1b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 14:01:14 2015 +0100 ARM: mvebu: armada-385-ap: Enable USB3 port The Armada 385 AP board has a USB3 port exposed that uses a GPIO to drive the VBUS line. Enable the needed drivers to support this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 256b20a54a13962a9fcffabbc08903301fa4c259 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:29 2015 +0200 ARM: davinci: dm646x: Clean up the McASP DMA resources Add names to the DMA resources and remove the RX DMA dummy part for McASP1. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 3775c31376329830b547fa5e11f966bec2a92cbe Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:28 2015 +0200 ARM: davinci: devices-da8xx: Add support for McASP2 on da830 da830 has three McASP blocks. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit c96aacb1329d5632980ad8b91be197b509a2e778 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:27 2015 +0200 ARM: davinci: devices-da8xx: Clean up and correct the McASP device creation Both DA830 and DA850 has McASP0 module, so do not restrict the use of McASP0 for da850 only. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 80f7d0e03e759d19925608a9d4d395187b1f2006 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:26 2015 +0200 ARM: davinci: devices-da8xx: Add interrupt resource to McASP structs On da8xx McASP TX/RX interrupt requests are combined. The interrupt can be used for error recovery. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 184981d204047d94161403d1f11c6b80ee0877ca Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 12 10:06:25 2015 +0200 ARM: davinci: devices-da8xx: Add resource name for the McASP DMA request Add "tx" or "rx" as resource name for the DMA resources. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 8ac7f9b37ebc6ae294a6ebbf8cd14d2bf3edc7b4 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 18 13:12:07 2015 +0300 Staging: iio: replace pr_* with dev_* dev_* is prefered over pr_* when appropriate device stuct is present. This patch replace pr_err and pr_warn with its dev_ counterpart. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c9356d115c91c18a2508a266a482c47fc3659c6 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 18 13:09:50 2015 +0300 Staging: media: replace pr_* with dev_* This patch replace pr_err/pr_info with dev_err/dev_infi, when appropriate device structure is found. Issues found using the following Coccinelle script. pr_err/dev_err was substituted with pr_info/dev_info in the later case. @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, s2, fld; @@ struct s { ... struct s2 *fld; ... }; @rrr@ identifier rr.s2, fld2; @@ struct s2 { ... struct device fld2; ... }; @@ identifier r.i, r.s, rr.fld, rrr.fld2; position r.p; @@ -pr_err@p +dev_err ( + &i->fld->fld2, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d719423da9fdaa4c126a91cac91c3a0679226df Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Mar 18 13:08:59 2015 +0300 Staging: gdm724x: replace pr_* with dev_* This patch replace pr_err/pr_info with dev_err/dev_info, when appropriate device structure is found. Issue found and resolved using the following Coccinelle script. pr_err/dev_err was substituted with pr_info/dev_info in the later case. @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, s2, fld; @@ struct s { ... struct s2 *fld; ... }; @rrr@ identifier rr.s2, fld2; @@ struct s2 { ... struct device fld2; ... }; @@ identifier r.i, r.s, rr.fld, rrr.fld2; position r.p; @@ -pr_err@p +dev_err ( + &i->fld->fld2, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f362d9df4f9d003c39e16d98412d5026cd0934d Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 18 12:18:38 2015 +0530 Staging: rtl8188eu: Remove timer handler macros After the commit 28af7ea81e16 ("Staging: rtl8188eu: Eliminate use of _init_timer"), macros (RTW_TIMER_HDL_ARGS, RTW_TIMER_HDL_NAME, RTW_DECLARE_TIMER_HDL) are no longer needed. So, remove them. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41f06c619a302fa386e4d784c8ceed250d4c3754 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Tue Mar 17 08:37:36 2015 +0300 Staging: ft1000: replace pr_err with dev_err This patch replace pr_err with dev_err, when appropriate device structure is found. Issue found using the following Coccinelle script: @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, fld; @@ struct s { ... struct device *fld; ... }; @@ identifier r.i, rr.fld; position r.p; @@ -pr_err@p +dev_err ( + i->fld, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92371df8a9b70735b63075bb1f8a7480488d748e Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Tue Mar 17 08:35:41 2015 +0300 Staging: iio: replace pr_err with dev_err This patch replace pr_err with dev_err, when appropriate device structre is found. Issue found using the following Coccinelle script: @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, fld; @@ struct s { ... struct device *fld; ... }; @@ identifier r.i, rr.fld; position r.p; @@ -pr_err@p +dev_err ( + i->fld, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df02b50acfcec04cd50abc5f6265118d2cdacbee Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Tue Mar 17 08:34:20 2015 +0300 Staging: gdm724x: replace pr_err with dev_err This patch replace pr_err with dev_err, when appropriate device structre is found. Issue found using the following Coccinelle script: @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, fld; @@ struct s { ... struct device *fld; ... }; @@ identifier r.i, rr.fld; position r.p; @@ -pr_err@p +dev_err ( + i->fld, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a112eab4d5e78433a7c65b5703ad177cdabc6588 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Tue Mar 17 08:33:51 2015 +0300 Staging: comedi: replace pr_err with dev_err This patch replace pr_err with dev_err, when appropriate device structure is found. Issue found using the following Coccinelle script: @r exists@ identifier f, s, i; position p; @@ f(...,struct s *i,...) { <+... when != i == NULL pr_err@p(...); ...+> } @rr@ identifier r.s, fld; @@ struct s { ... struct device *fld; ... }; @@ identifier r.i, rr.fld; position r.p; @@ -pr_err@p +dev_err ( + i->fld, ...) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89cfdb19a88872088a8cf69621e55d41c379f02f Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Jan 16 18:02:15 2015 +0100 ARM: 8289/1: dma-mapping: use to_dma_iommu_mapping instead of accessing archdata When using the IOMMU-backed DMA ops for a device, we store a pointer to the dma_iommu_mapping structure (used to keep track of the address space) in the archdata.mapping field of the struct device. Rather than access this field directly, use the to_dma_iommu_mapping helper in dma-mapping, so that we don't really care where the mapping information is held. Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 506bf0c0464ace57169aadcf02ae397999c57bdd Author: Keith Packard <keithp@xxxxxxxxxx> Date: Wed Mar 18 00:17:00 2015 -0700 hwrng: core - allow perfect entropy from hardware devices Hardware random number quality is measured from 0 (no entropy) to 1024 (perfect entropy). Allow hardware devices to assert the full range by truncating the device-provided value at 1024 instead of 1023. Signed-off-by: Keith Packard <keithp@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d48c532eb4cf167731bc2b1ac08d908ac26ebae5 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Mar 11 09:05:20 2015 -0700 pinctrl: mediatek: Fix include directive Fix the following build failure: In file included from drivers/pinctrl/mediatek/pinctrl-mt8135.c:24:0: drivers/pinctrl/mediatek/pinctrl-mtk-mt8135.h:19:32: fatal error: pinctrl-mtk-common.h: No such file or directory seen when building arm:multi_v7_defconfig. Fixes: 94097d89c145 ("pinctrl: mediatek: Add Pinctrl/GPIO driver for mt8135.") Cc: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1ca9e41770cba46dcc7c2a9c6ac28350ed866695 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 16 11:25:17 2015 -0700 netfilter: Remove uses of seq_<foo> return values The seq_printf/seq_puts/seq_putc return values, because they are frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Miscellanea: o realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4c205ab53489894c77f81fe9a0c0ff6345b83e76 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 18 12:30:44 2015 +0530 Staging: media: Use module_i2c_driver Macro module_i2c_driver is used for drivers whose init and exit paths does only register and unregister to i2c API. So, here remove some boilerplate code by using module_i2c_driver. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70837c1292c7a04c8fd0b940be70775b79536d50 Author: Mario J. Rugiero <mrugiero@xxxxxxxxx> Date: Tue Mar 10 12:02:03 2015 -0300 staging/lustre: use __printf(...) instead of __attribute__(format(__printf, ...)) Replace uses of __attribute__(format(__printf,...)) by __printf(...), as suggested by checkpatch. Signed-off-by: Mario J. Rugiero <mrugiero@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06133e805cea48a3bb78f3cf62fbaf6e7133d957 Author: Mario J. Rugiero <mrugiero@xxxxxxxxx> Date: Tue Mar 10 12:02:02 2015 -0300 staging/lustre: clean trailing semicolons in macros Remove trailing semicolons from macros, as suggested by checkpatch. Signed-off-by: Mario J. Rugiero <mrugiero@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 636e5a658af4c3d16945a3f8b936f17a3b57e208 Author: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Date: Mon Mar 16 22:21:10 2015 -0300 staging: lustre: space required after that close brace '}' This patch fixes checkpatch.pl warning. WARNING: space required after that close brace '}' Signed-off-by: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0effc8eb9462b2135b44f9758b4f4455ed85e903 Author: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Date: Mon Mar 16 22:21:09 2015 -0300 staging: lustre: void function return statements are not generally useful. This patch fixes checkpatch.pl warning. WARNING: void function return statements are not generally useful Signed-off-by: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6f1170344e80dcbb0dab93d788488394637bd83 Author: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Date: Mon Mar 16 22:21:08 2015 -0300 staging: lustre: space prohibited between function name and open parenthesis '(' This patch fixes checkpatch.pl warning. WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d841438a44d32c132e72e5c77ed082d7f771e052 Author: Yogeswaran Thulasidoss <yogeeswaran@xxxxxxxxx> Date: Mon Mar 16 08:21:50 2015 +0530 staging: lustre: echo_client: Use kernel style spacing This patch fixes the code style space issues identified by checkpatch.pl in drivers/staging/lustre/lustre/obdecho/echo_client.c Signed-off-by: Yogeswaran Thulasidoss <yogeeswaran@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cda6856e94541fb3a507d4d123e8981e560f8b2 Author: Ravindran, Madhusudhanan (M.) <mravindr@xxxxxxxxxxx> Date: Thu Mar 12 17:35:52 2015 +0000 staging: lustre: Use kmemdup rather than duplicating its implementation The semantic patch that makes this change is available in scriptcoccinelle/api/memdup.cocci. Signed-off-by: Madhusudhanan Ravindran <mravindr@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 834fe2e18349f024c0e565a0cdbf6bb1e0ed0ce5 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Mar 7 19:24:29 2015 -0500 staging/lustre: Don't call blocking funcitons when !RUNNABLE Move setting of TASK_INTERRUPTIBLE just around schedule call in libcfs_sock_accept. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aac2e54f9eb63d5cfaac1a115a939508712050da Author: Lai Siyao <lai.siyao@xxxxxxxxx> Date: Sat Mar 7 19:24:28 2015 -0500 staging/lustre/llite: avoid nonatomic memory alloc under spinlock ll_intent_drop_lock() may sleep in memory allocation, which should not be called inside spinlock. Signed-off-by: Lai Siyao <lai.siyao@xxxxxxxxx> Signed-off-by: Jian Yu <jian.yu@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/10674 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2272 Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a316f7916d53c9c6e482b37f556102b5cf80546 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Mar 7 19:24:27 2015 -0500 staging/lustre/o2iblnd: Don't use cpus_weight cpus_weight and for_each_cpu_mask are deprecated, so replace them with cpumask_weight and for_each_cpu respectively. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8417773bbbb4d782b1314f5d1126d1b43b26b7db Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Mar 7 19:24:26 2015 -0500 staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_ This patch continues to further remove deprecated functions, such as any_online_cpu, for_each_cpu_mask and also cleaning up usage of NR_CPUS in a few places Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfc16973973e9730d7aab2a2497d0cdb9e4a999b Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 16 20:14:56 2015 +0300 Staging: lustre: Fix spelling mistakes This patch fix the following spelling mistakes: interoprability, SEPERATOR, defult. Issue found using checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3962d2af9a173739c6ff41e35954dd6b6867d311 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 16 21:56:13 2015 +0200 Staging: rtl8192u: Rename struct to avoid CamelCase This patch renames struct DRxPathSel to dynamic_rx_path_sel in order to keep the notations consistent and to remove the warning: "CHECK: Avoid CamelCase". Done with coccinelle: @@ @@ struct -DRxPathSel +dynamic_rx_path_sel {...} @@ @@ struct -DRxPathSel +dynamic_rx_path_sel Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70dada1a055e91802675ecd2eeb07abec8948027 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 16 21:55:15 2015 +0200 Staging: rtl8192u: Do not add new typedefs This patch removes the dig_t and DRxPathSel type definitions in order to avoid the following warning: "WARNING: Do not add new typedefs". Done with coccinelle and this script: @r@ type t; identifier id; @@ typedef struct id {...} t; @script:python get_name@ t << r.t; tdres; @@ coccinelle.tdres = t.replace("_t", ""); @r_match@ type r.t; identifier r.id; identifier get_name.tdres; @@ -typedef struct -id +tdres {...} -t ; @r_replace@ type r.t; identifier get_name.tdres; @@ -t +struct tdres Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0e982b436cd678dc80a1167a00a8104f54bb761 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 16 18:41:31 2015 +0300 Staging: rtl8712: replace memcpy with ether_addr_copy This patch replace memcpy with ethe_addr_copy to address the following warning generated by checkpatch.pl: ""Prefer ether_addr_copy over memcpy if the Ethernet addresses are __aligned(2)" Follwoing is the output of pahole for the relevant datastructures: 1- for "iwe.u.ap_addr.sa_data" and "wrqu->ap_addr.sa_data" struct sockaddr { sa_family_t sa_family; /* 0 2 */ char sa_data[14]; /* 2 14 */ /* size: 16, cachelines: 1, members: 2 */ /* last cacheline: 16 bytes */ }; struct iw_event { __u16 len; /* 0 2 */ __u16 cmd; /* 2 2 */ /* XXX 4 bytes hole, try to pack */ union iwreq_data u; /* 8 16 */ /* size: 24, cachelines: 1, members: 3 */ /* sum members: 20, holes: 1, sum holes: 4 */ /* last cacheline: 24 bytes */ }; 2- for "pnetwork->network.MacAddress" and "pcur_bss->MacAddress" struct wlan_network { struct list_head list; /* 0 16 */ int network_type; /* 16 4 */ int fixed; /* 20 4 */ unsigned int last_scanned; /* 24 4 */ int aid; /* 28 4 */ int join_res; /* 32 4 */ struct ndis_wlan_bssid_ex network; /* 36 884 */ /* --- cacheline 14 boundary (896 bytes) was 24 bytes ago --- */ /* size: 920, cachelines: 15, members: 7 */ /* last cacheline: 24 bytes */ }; struct ndis_wlan_bssid_ex { u32 Length; /* 0 4 */ unsigned char MacAddress[6]; /* 4 6 */ u8 Reserved[2]; /* 10 2 */ struct ndis_802_11_ssid Ssid; /* 12 36 */ u32 Privacy; /* 48 4 */ s32 Rssi; /* 52 4 */ enum NDIS_802_11_NETWORK_TYPE NetworkTypeInUse; /* 56 4 */ struct NDIS_802_11_CONFIGURATION Configuration; /* 60 32 */ /* --- cacheline 1 boundary (64 bytes) was 28 bytes ago --- */ enum NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; /* 92 4 */ NDIS_802_11_RATES_EX SupportedRates; /* 96 16 */ u32 IELength; /* 112 4 */ u8 IEs[768]; /* 116 768 */ /* --- cacheline 13 boundary (832 bytes) was 52 bytes ago --- */ /* size: 884, cachelines: 14, members: 12 */ /* last cacheline: 52 bytes */ }; Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cd44dcd35a6618df88c51561290dc02fb35b8e2 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Mar 12 00:39:49 2015 +0000 dmaengine: remove Renesas Audio DMAC peri peri Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC). And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine. But, in result of DMA ML discussion, 2nd DMAC was concluded that it is not a general purpose DMAC (2nd DMAC is for Device to Device inside sound system). Additionally, current DMAEngine can't support Device to Device, and we don't have correct DT bindings for it at this point. So the easiest solution for it is that move it from DMAEngine to rsnd driver. Audio DMAC peri peri on DMAEngine is no longer needed. remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit a572460be9cfb423c60275943f7921003b8cd372 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Mar 11 12:30:58 2015 -0300 dmaengine: imx-sdma: Add support for version 3 firmware Currently when version 3.1 of the mx6q SDMA firmware is used we get: [ 0.392169] imx-sdma 20ec000.sdma: unknown firmware version [ 0.399281] imx-sdma 20ec000.sdma: initialized Add support for it. Based on a patch from Shengjiu Wang from the internal FSL kernel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5ccf835cc76d89bc0d426659c63d81f609050842 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Mar 18 09:23:10 2015 +0100 ALSA: hda - Adjust power of beep widget and outputs As the widget PM may turn off the pins, this might lead to the silent output for beep when no explicit paths are given. This patch adds fake output paths for the beep widget so that the output pins are dynamically powered upon beep on/off. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 688b12cc3ca8a5155b95ce8d01e0e43006813b27 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 17 15:56:05 2015 +0100 ALSA: hda - Use the new power control for VIA codecs VIA codecs used to have the own power controls but they were disabled at transition to the generic parser due to the coding assuming the fixed routes. Now we get the proper support of equivalently fine power management in the generic parser, and the old kludges can be replaced with it. This results in the reduction of lots of dead codes. The advanced PM feature is disabled as default like before for keeping the compatible behavior. It's enabled via "Dynamic Power-Control" mixer element. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e6feb5d08509be1af2ebc894dae35f32f7b92ab6 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 16 21:32:11 2015 +0100 ALSA: hda - Support advanced power state controls This patch enables the finer power state control of each widget depending on the jack plug state and streaming state in addition to the existing power_down_unused power optimization. The new feature is enabled only when codec->power_mgmt flag is set. Two new flags, pin_enabled and stream_enabled, are introduced in nid_path struct for marking the two individual power states: the pin plug/unplug and DAC/ADC stream, respectively. They can be set statically in case they are static routes (e.g. some mixer paths), too. The power up and down events for each pin are triggered via the standard hda_jack table. The call order is hard-coded, relying on the current implementation of jack event chain (a la FILO/stack order). One point to be dealt carefully is that DAC/ADC cannot be powered on/off while streaming. They are pinned as long as the stream is running. For controlling the power of DAC/ADC, a new patch_ops is added. The generic parser provides the default callback for that. As of this patch, only IDT/Sigmatel codec driver enables the flag. The support on other codecs will follow. An assumption we made in this code is that the widget state (e.g. amp, pinctl, connections) remains after the widget power transition (not about FG power transition). This is true for IDT codecs, at least. But if the widget state is lost at widget power transition, we'd need to implement additional code to sync the cached amp/verbs for the specific NID. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1aa9a4ea4fea5e4afe8be0229774b8f98db2e6c3 Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:31 2015 +0100 ALSA: ice1724: ESI W192M: Add sampling rate control of the ADC/DAC Add sampling rate control for ADC/DAC for ESI W192M. Allow to switch between 48K/96K/192K sampling rate. All DAC need to be mute when changing samplerate. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ae8a9a11256a0906831a7db39b8cbcdec51ae28a Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:30 2015 +0100 ALSA: ice1724: ESI W192M: Add text Line in/Mic for selecting input gain state Add text Line in/Mic for selecting input gain state in mixer for ESI W192M. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 16ddbe738a5bd2afe80aa10492f762f34b09cbf0 Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:29 2015 +0100 ALSA: ice1724: ESI W192M: Add TLV support for control value in dB scale Add TLV support to control volume using dB scale for input and ouput on ESI W192M. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f8a8b3a835ef9e5f94163c9dc62fc2e2e375b10c Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:28 2015 +0100 ALSA: ice1724: ESI W192M: Enable midi i/o of port envy24 chip as available Enable midi i/o port of envy24 chip as their are available on ESI W192M soundcard. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7127744a5e14455a4b69429757fd811aa50ec4b8 Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:27 2015 +0100 ALSA: ice1724: ESI W192M: Update eeprom structure to C99 standard Update eeprom structure to C99 standard to be compliant with change in alsa. It's just a notation change, no configuration change. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b56df151d3b97a95ba3d3a76c2867d00f2db7782 Author: Clément Guedez <klem.dev@xxxxxxxxx> Date: Wed Mar 18 02:26:26 2015 +0100 ALSA: ice1724: ESI W192M: Correct copy/paste from prodigy driver Correct copy/paste name from prodigy driver, no behaviour change, only name. Signed-off-by: Clément Guedez <klem.dev@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bcd535eb5313947917a6a00c2a65561853b1be70 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Mar 12 09:10:13 2015 +0100 iwlwifi: mvm: remove time-event start/end failure warning This warning is misleading. In many cases, for example P2P ROC time events, this will happen if the time event is aborted, for example due to a higher priority time event. This is entirely normal and not worth warning about. In other cases, where we actually do act upon this, for example when trying to connect and this fails, we should instead warn as part of the disconnect operation. Change the code to do that, i.e. make the warning a debug message, and make it more prominent (an error) when we actually disconnect because of it. This also fixes confusion in the logs - the warning was mistaken for something that needed investigation, while in most cases it's just expected behaviour that occasionally some lower-priority time events would not complete fully. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e539761d98dbd80204867194a9f110f8392c2637 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Mon Mar 2 11:46:46 2015 +0200 iwlwifi: mvm: add iccm data to 8000 b-step data dump In 8000 HW family B-step only, the ICCM is separate from the SRAM. This adds the ICCM to the dump data collected for FW debug. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit fe92e32ace11b21311fbeb8dbf14ac45b87e700d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Mar 11 09:34:31 2015 +0200 iwlwifi: mvm: properly flush the queues for buffering transport There are transport that must buffer frames in the driver. This means that we have frames that are not in the op_mode and not visible to the firwmare. This causes issues when we flush the queues: the op_mode flushes a queue, and the firmware flushes all the frames that are *currently* on the rings, but if the transport buffers frames, it can submit these while we are flushing. This leads to a situation where we still have frames on the queues after we flushed them. Preventing those buffered frame from getting into the firmware is possible, but then, we have to run the Tx response path on frames that didn't reach the firmware which is not desirable. The way I solve this here is to let these frames go to the firmware, but make sure the firmware will not transmit them (by setting the station as draining). The op_mode then needs to wait until the transport itself is empty to be sure that the queue is really empty. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9243efccd45373fd6431729f88deaa0cf0bbe0be Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Sun Mar 15 17:38:22 2015 +0200 iwlwifi: pcie: add rx packet sequence number to dbg print For each RX packet until this patch there only was a debug print of the HCMD and the offset. This adds also the sequence number of the packet for easier matching between what was sent, what came back / was received, and what got stuck somewhere and was never responded by the FW. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4d165d12e36584c44abb8e912944a84c78f91b7c Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Feb 25 11:06:37 2015 +0200 iwlwifi: mvm: assign new TLV bit for multi-source LAR According to FW methodology, the capability bits should be the only ones that change per-HW. The API bits should remain constant across different HWs. Currently this is not the case with multi-source LAR (API bit 9). Assign a new capability bit to eventually replace the API bit. Until the API bit can be deprecated, the driver will check either to enable multi-source LAR. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 81d62d5a9c4df3f4f7b0c5f5e1158f3fc4802fda Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 10 14:44:00 2015 +0100 iwlwifi: mvm: continue (with error) CSA on GO time event failure If, on a GO, the CSA time event fails to be scheduled, continue the flow towards mac80211's state machine so it doesn't get stuck, but report an error later on the post switch which will cause mac80211 to tear down the operation. This ensures nothing gets stuck due to the scheduling failure. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 63511f6d5ba0c20850448991be297751ddb6798c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Mar 17 11:38:24 2015 -0700 Bluetooth: Fix potential NULL dereference in SMP channel setup When the allocation of the L2CAP channel for the BR/EDR security manager fails, then the smp variable might be NULL. In that case do not try to free the non-existing crypto contexts Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e7a9eee53cf10cb32fb28ccaacfa98a6220b7276 Merge: 5284143 2b9bb7f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 17 22:12:10 2015 -0400 Merge branch 'tipc_netns_leak' Ying Xue says: ==================== tipc: fix netns refcnt leak The series aims to eliminate the issue of netns refcount leak. But during fixing it, another two additional problems are found. So all of known issues associated with the netns refcnt leak are resolved at the same time in the patchset. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b9bb7f338502d9d01543daa9fdf4a7f104bd572 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Mar 18 09:32:59 2015 +0800 tipc: withdraw tipc topology server name when namespace is deleted The TIPC topology server is a per namespace service associated with the tipc name {1, 1}. When a namespace is deleted, that name must be withdrawn before we call sk_release_kernel because the kernel socket release is done in init_net and trying to withdraw a TIPC name published in another namespace will fail with an error as: [ 170.093264] Unable to remove local publication [ 170.093264] (type=1, lower=1, ref=2184244004, key=2184244005) We fix this by breaking the association between the topology server name and socket before calling sk_release_kernel. Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8460504bdd9aa5996dfc5dd69cd61582a25139ec Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Mar 18 09:32:58 2015 +0800 tipc: fix a potential deadlock when nametable is purged [ 28.531768] ============================================= [ 28.532322] [ INFO: possible recursive locking detected ] [ 28.532322] 3.19.0+ #194 Not tainted [ 28.532322] --------------------------------------------- [ 28.532322] insmod/583 is trying to acquire lock: [ 28.532322] (&(&nseq->lock)->rlock){+.....}, at: [<ffffffffa000d219>] tipc_nametbl_remove_publ+0x49/0x2e0 [tipc] [ 28.532322] [ 28.532322] but task is already holding lock: [ 28.532322] (&(&nseq->lock)->rlock){+.....}, at: [<ffffffffa000e0dc>] tipc_nametbl_stop+0xfc/0x1f0 [tipc] [ 28.532322] [ 28.532322] other info that might help us debug this: [ 28.532322] Possible unsafe locking scenario: [ 28.532322] [ 28.532322] CPU0 [ 28.532322] ---- [ 28.532322] lock(&(&nseq->lock)->rlock); [ 28.532322] lock(&(&nseq->lock)->rlock); [ 28.532322] [ 28.532322] *** DEADLOCK *** [ 28.532322] [ 28.532322] May be due to missing lock nesting notation [ 28.532322] [ 28.532322] 3 locks held by insmod/583: [ 28.532322] #0: (net_mutex){+.+.+.}, at: [<ffffffff8163e30f>] register_pernet_subsys+0x1f/0x50 [ 28.532322] #1: (&(&tn->nametbl_lock)->rlock){+.....}, at: [<ffffffffa000e091>] tipc_nametbl_stop+0xb1/0x1f0 [tipc] [ 28.532322] #2: (&(&nseq->lock)->rlock){+.....}, at: [<ffffffffa000e0dc>] tipc_nametbl_stop+0xfc/0x1f0 [tipc] [ 28.532322] [ 28.532322] stack backtrace: [ 28.532322] CPU: 1 PID: 583 Comm: insmod Not tainted 3.19.0+ #194 [ 28.532322] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007 [ 28.532322] ffffffff82394460 ffff8800144cb928 ffffffff81792f3e 0000000000000007 [ 28.532322] ffffffff82394460 ffff8800144cba28 ffffffff810a8080 ffff8800144cb998 [ 28.532322] ffffffff810a4df3 ffff880013e9cb10 ffffffff82b0d330 ffff880013e9cb38 [ 28.532322] Call Trace: [ 28.532322] [<ffffffff81792f3e>] dump_stack+0x4c/0x65 [ 28.532322] [<ffffffff810a8080>] __lock_acquire+0x740/0x1ca0 [ 28.532322] [<ffffffff810a4df3>] ? __bfs+0x23/0x270 [ 28.532322] [<ffffffff810a7506>] ? check_irq_usage+0x96/0xe0 [ 28.532322] [<ffffffff810a8a73>] ? __lock_acquire+0x1133/0x1ca0 [ 28.532322] [<ffffffffa000d219>] ? tipc_nametbl_remove_publ+0x49/0x2e0 [tipc] [ 28.532322] [<ffffffff810a9c0c>] lock_acquire+0x9c/0x140 [ 28.532322] [<ffffffffa000d219>] ? tipc_nametbl_remove_publ+0x49/0x2e0 [tipc] [ 28.532322] [<ffffffff8179c41f>] _raw_spin_lock_bh+0x3f/0x50 [ 28.532322] [<ffffffffa000d219>] ? tipc_nametbl_remove_publ+0x49/0x2e0 [tipc] [ 28.532322] [<ffffffffa000d219>] tipc_nametbl_remove_publ+0x49/0x2e0 [tipc] [ 28.532322] [<ffffffffa000e11e>] tipc_nametbl_stop+0x13e/0x1f0 [tipc] [ 28.532322] [<ffffffffa000dfe5>] ? tipc_nametbl_stop+0x5/0x1f0 [tipc] [ 28.532322] [<ffffffffa0004bab>] tipc_init_net+0x13b/0x150 [tipc] [ 28.532322] [<ffffffffa0004a75>] ? tipc_init_net+0x5/0x150 [tipc] [ 28.532322] [<ffffffff8163dece>] ops_init+0x4e/0x150 [ 28.532322] [<ffffffff810aa66d>] ? trace_hardirqs_on+0xd/0x10 [ 28.532322] [<ffffffff8163e1d3>] register_pernet_operations+0xf3/0x190 [ 28.532322] [<ffffffff8163e31e>] register_pernet_subsys+0x2e/0x50 [ 28.532322] [<ffffffffa002406a>] tipc_init+0x6a/0x1000 [tipc] [ 28.532322] [<ffffffffa0024000>] ? 0xffffffffa0024000 [ 28.532322] [<ffffffff810002d9>] do_one_initcall+0x89/0x1c0 [ 28.532322] [<ffffffff811b7cb0>] ? kmem_cache_alloc_trace+0x50/0x1b0 [ 28.532322] [<ffffffff810e725b>] ? do_init_module+0x2b/0x200 [ 28.532322] [<ffffffff810e7294>] do_init_module+0x64/0x200 [ 28.532322] [<ffffffff810e9353>] load_module+0x12f3/0x18e0 [ 28.532322] [<ffffffff810e5890>] ? show_initstate+0x50/0x50 [ 28.532322] [<ffffffff810e9a19>] SyS_init_module+0xd9/0x110 [ 28.532322] [<ffffffff8179f3b3>] sysenter_dispatch+0x7/0x1f Before tipc_purge_publications() calls tipc_nametbl_remove_publ() to remove a publication with a name sequence, the name sequence's lock is held. However, when tipc_nametbl_remove_publ() calling tipc_nameseq_remove_publ() to remove the publication, it first tries to query name sequence instance with the publication, and then holds the lock of the found name sequence. But as the lock may be already taken in tipc_purge_publications(), deadlock happens like above scenario demonstrated. As tipc_nameseq_remove_publ() doesn't grab name sequence's lock, the deadlock can be avoided if it's directly invoked by tipc_purge_publications(). Fixes: 97ede29e80ee ("tipc: convert name table read-write lock to RCU") Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76100a8a64bc2ae898bc49d51dd28c1f4f5ed37b Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Mar 18 09:32:57 2015 +0800 tipc: fix netns refcnt leak When the TIPC module is loaded, we launch a topology server in kernel space, which in its turn is creating TIPC sockets for communication with topology server users. Because both the socket's creator and provider reside in the same module, it is necessary that the TIPC module's reference count remains zero after the server is started and the socket created; otherwise it becomes impossible to perform "rmmod" even on an idle module. Currently, we achieve this by defining a separate "tipc_proto_kern" protocol struct, that is used only for kernel space socket allocations. This structure has the "owner" field set to NULL, which restricts the module reference count from being be bumped when sk_alloc() for local sockets is called. Furthermore, we have defined three kernel-specific functions, tipc_sock_create_local(), tipc_sock_release_local() and tipc_sock_accept_local(), to avoid the module counter being modified when module local sockets are created or deleted. This has worked well until we introduced name space support. However, after name space support was introduced, we have observed that a reference count leak occurs, because the netns counter is not decremented in tipc_sock_delete_local(). This commit remedies this problem. But instead of just modifying tipc_sock_delete_local(), we eliminate the whole parallel socket handling infrastructure, and start using the regular sk_create_kern(), kernel_accept() and sk_release_kernel() calls. Since those functions manipulate the module counter, we must now compensate for that by explicitly decrementing the counter after module local sockets are created, and increment it just before calling sk_release_kernel(). Fixes: a62fbccecd62 ("tipc: make subscriber server support net namespace") Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reported-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Tested-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5284143057708af297eea10812a67d18e42e9abe Merge: 9f2dbdd 0470c8c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 17 22:02:53 2015 -0400 Merge branch 'listener_refactor_part_12' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 12 By adding a pointer back to listener, we are preparing synack rtx handling to no longer be governed by listener keepalive timer, as this is the most problematic source of contention on listener spinlock. Note that TCP FastOpen had such pointer anyway, so we make it generic. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0470c8ca1d57927f2cc3e1d5add1fb2834609447 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:31 2015 -0700 inet: fix request sock refcounting While testing last patch series, I found req sock refcounting was wrong. We must set skc_refcnt to 1 for all request socks added in hashes, but also on request sockets created by FastOpen or syncookies. It is tricky because we need to defer this initialization so that future RCU lookups do not try to take a refcount on a not yet fully initialized request socket. Also get rid of ireq_refcnt alias. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 13854e5a6046 ("inet: add proper refcounting to request sock") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3d95ad7da4f8955599f0786d7c70497c0aaf8c9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:30 2015 -0700 inet: avoid fastopen lock for regular accept() It is not because a TCP listener is FastOpen ready that all incoming sockets actually used FastOpen. Avoid taking queue->fastopenq->lock if not needed. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9439ce00f208d95703a6725e4ea986dd90e37ffd Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:29 2015 -0700 tcp: rename struct tcp_request_sock listener The listener field in struct tcp_request_sock is a pointer back to the listener. We now have req->rsk_listener, so TCP only needs one boolean and not a full pointer. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e9a578e5b6bdfa8b7fed7a41f28a86a7cffc85f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:28 2015 -0700 inet: add rsk_listener field to struct request_sock Once we'll be able to lookup request sockets in ehash table, we'll need to get access to listener which created this request. This avoid doing a lookup to find the listener, which benefits for a more solid SO_REUSEPORT, and is needed once we no longer queue request sock into a listener private queue. Note that 'struct tcp_request_sock'->listener could be reduced to a single bit, as TFO listener should match req->rsk_listener. TFO will no longer need to hold a reference on the listener. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e49bb337d77d54afebe4fe5b9008955e1337f83d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:27 2015 -0700 inet: uninline inet_reqsk_alloc() inet_reqsk_alloc() is becoming fat and should not be inlined. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 407640de2152e33341ce1131dac269672c3d50f7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 17 18:32:26 2015 -0700 inet: add sk_listener argument to inet_reqsk_alloc() listener socket can be used to set net pointer, and will be later used to hold a reference on listener. Add a const qualifier to first argument (struct request_sock_ops *), and factorize all write_pnet(&ireq->ireq_net, sock_net(sk)); Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52eb5a6d576b5bca14797a4085abdd68ad8c0b3f Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 17:39:45 2015 +0800 KVM: x86: For the symbols used locally only should be static type This patch fix the following sparse warnings: for arch/x86/kvm/x86.c: warning: symbol 'emulator_read_write' was not declared. Should it be static? warning: symbol 'emulator_write_emulated' was not declared. Should it be static? warning: symbol 'emulator_get_dr' was not declared. Should it be static? warning: symbol 'emulator_set_dr' was not declared. Should it be static? for arch/x86/kvm/pmu.c: warning: symbol 'fixed_pmc_events' was not declared. Should it be static? Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 795a149e78f49c0e260c56cee9978c5d001a84f1 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 17:39:44 2015 +0800 KVM: x86: Avoid using plain integer as NULL pointer warning This patch fix the following sparse warning: for file arch/x86/kvm/x86.c: warning: Using plain integer as NULL pointer Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 9895afae1b8b0fa8d7fecea47f61cdc55059eb43 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Mar 10 12:14:40 2015 +0100 pinctrl: sh-pfc: Remove r8a7790 platform_device_id entry The r8a7790 platform is now DT-only, the driver doesn't need to match platform devices by name anymore. Remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 889439cddc9118cdfb645e5c35fd4abc0d1ebbac Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Mar 10 12:14:39 2015 +0100 pinctrl: sh-pfc: Remove emev2 platform_device_id entry The emev2 platform is now DT-only, the driver doesn't need to match platform devices by name anymore. Remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1f34de05e75a26e8f4dfe7566fe80309aabf10b7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Mar 12 11:09:16 2015 +0100 pinctrl: sh-pfc: Use u32 to store register addresses Currently all PFC registers lie in low 32-bit address space. Hence use u32 instead of unsigned long to store PFC register addresses in pinctrl tables. All calculations of virtual addresses use a phys_addr_t intermediate, so we know where to add an offset if the 32-bit assumption ever becomes false. While this doesn't impact 32-bit builds, it would save ca. 7 KiB on a 64-bit shmobile_defconfig kernel. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 17c7cbb0e7b7a877f1ce2063d7f869801b24cd6a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Mar 12 11:09:15 2015 +0100 pinctrl: sh-pfc: Use reg_width instead of reg as sentinel All other loops over sh_pfc_soc_info.data_regs[] use pinmux_data_reg.regwidth as the sentinel, which is safer as zero is never a valid regwidth value (reg could be zero if we start using it to store an offset). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cef28a289482175b26f7a5ae4a1337c792cea9c5 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Mar 12 11:09:14 2015 +0100 pinctrl: sh-pfc: Use unsigned int for register/field widths and offsets As register and field widths and offsets are in the range 1..32, use unsigned int (mostly replacing unsigned long) to store them in local variables and for passing them around. Move to one variable per line, move variables to the beginning of the block where they are used, and drop superfluous initializations while we are at it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit dc70071550c2b8b1185d086b0f1954dfbc63aee2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Mar 12 11:09:13 2015 +0100 pinctrl: sh-pfc: Store register/field widths in u8 instead of unsigned long Register and field widths are in the range 1..32. Storing them in the pinctrl data in (arrays of) unsigned long wastes space. This decreases the size of a (32-bit) shmobile_defconfig kernel supporting 7 SoCs by 26460 bytes. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9237516c1b96553040e95588347e2f6d337531ae Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Mar 13 00:48:17 2015 +0100 ACPI / battery: make warning greppable Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fd9caef4e222a2c5e7ed63050780d215a6a263f3 Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Fri Mar 13 13:52:50 2015 +0800 ACPI / scan: fix fixed event handler return value The fixed event handler should return a value that is either 0 or 1 meanning if the event is handled or not, instead of an acpi_status to mean if the handler runs well or not. Suggested-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 359597cb374b7935bf804cde590ac55f9cb275b7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Mar 17 11:48:30 2015 +0200 ACPI: Add acpi_device_uid() for convenience Add a nicer way to get the ACPI _UID. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a908f5de3b10d1a684d4fc3cb55ee0a7662ff293 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 18 12:02:41 2015 +1100 selftests/powerpc: Rename TARGETS in powerpc selftests makefile This patch changes the name of the make variable TARGETS, to prevent it from colliding with a value set by the user on the command line (as they are recommended to do by tools/testing/selftests/README.txt). Without this patch, "make -C tools/testing/selftests TARGETS=powerpc" will fail. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 56b858dfad9b97aea88f9fe87b1468ddaf154c94 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Mar 17 12:40:12 2015 +0200 ACPI: Update GPIO documentation to mention _DSD Make sure that the ACPI enumeration.txt provides latest information on how to describe and retrieve GPIOs now that we can take advantage of _DSD device properties. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit dbad75dd1f25e0107c643d42774a7f9a8ba85e9b Author: Ken Xue <Ken.Xue@xxxxxxx> Date: Tue Mar 10 15:02:19 2015 +0800 pinctrl: add AMD GPIO driver support. KERNCZ GPIO is a new IP from AMD. it can be implemented in both x86 and ARM. Current driver patch only support GPIO in x86. Signed-off-by: Ken Xue <Ken.Xue@xxxxxxx> [Moved back to <linux/gpio.h> header] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f5efed8090aaafda22cd9b0cf81e0cdf41e03976 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Mar 9 21:56:39 2015 +0200 pinctrl: dt-binding: fix typo Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 838d030bda9e2da5f9dcf7251f4e117c6258cb2f Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Mar 9 19:20:30 2015 +0200 pinctrl: fix example .get_group_pins implementation signature The callback function signature has changed in commit a5818a8bd0 (pinctrl: get_group_pins() const fixes) Fixes: a5818a8bd0 ('pinctrl: get_group_pins() const fixes') Cc: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 45937b5b5e1fcb362332a071e4eb5f4eb270bb20 Author: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Date: Sun Mar 1 21:51:16 2015 +0530 pinctrl: exynos: Remove eint_gpio_init call-back for exynos7 alive pinctrl block The alive pin controller on exynos7 does not support external gpio interrupts. Hence, remove the eint_gpio_init call-back for it. This fixes the following error message seen during exynos7 boot-up: "samsung-pinctrl 10580000.pinctrl: irq number not available" Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Acked-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b64333ce769cbcc6a4dbd0325d9b1da95c6929ff Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Mar 9 13:45:00 2015 -0700 pinctrl: cygnus: add gpio/pinconf driver This adds the initial support of the Broadcom Cygnus GPIO/PINCONF driver that supports all 3 GPIO controllers on Cygnus including the ASIU GPIO controller, the chipCommonG GPIO controller, and the always-on GPIO controller. Basic PINCONF configurations such as bias pull up/down, and drive strength are also supported in this driver. Pins from the ASIU GPIO controller can be individually muxed to GPIO function, through interaction with the Cygnus IOMUX controller Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2dffad825f0bbba16590cfaebb1ec3672b6919d3 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Mar 9 13:44:59 2015 -0700 pinctrl: Cygnus: define Broadcom Cygnus GPIO/PINCONF binding Document the GPIO/PINCONF device tree binding for Broadcom Cygnus SoC Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c58e031d73af7373c91a97b75841dbf4114e532e Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Mar 8 12:03:05 2015 +0200 pinctrl: staticise example code funcs/structs Make the example code consistent wrt local function and struct definitions. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b18104c00089c73f2b70790765d40424a4f9b65f Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Mar 8 10:51:46 2015 +0200 pinctrl: remove doc mention of the enable/disable API This API has changed in commit 6e5e959dde0 (pinctrl: API changes to support multiple states per device). Fixes: 6e5e959dde0 ('pinctrl: API changes to support multiple states per device') Cc: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 260463d4921468b9c0c018695ab09b3c2d15345b Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Mar 8 10:51:45 2015 +0200 pinctrl: remove enable/disable callbacks from documentation Commit 03e9f0cac5d (pinctrl: clean up after enable refactoring) updated the documentation to remove mention of disable(), and rename enable() to set_mux(). One in-text mention was forgotten. Fix this. Fixes: 03e9f0cac5d ('pinctrl: clean up after enable refactoring') Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c445cac30781b99621df3a162bff9efcac411e9e Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Wed Feb 11 23:56:11 2015 -0800 pinctrl: mediatek: fix build error Due to pinconf_generic_parse_dt_config() API changes in pinctrl devel branch, add one parameter to fix build error. Also fix warning: drivers/pinctrl/mediatek/pinctrl-mtk-common.c:718:3: warning: too many arguments for format [-Wformat-extra-args] dev_err(&pdev->dev, "only support pins-are-numbered format\n", ret); ^ by removing extra parameter when calling dev_err in mtk_pctrl_init. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3221f40b7631183b0c7a2e5d4be00cab12d983c3 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Tue Jan 27 14:15:26 2015 +0800 pinctrl: mediatek: emulate GPIO interrupt on both-edges MTK EINT does not support generating interrupt on both edges. Emulate this by changing edge polarity while enable irq, set types and interrupt handling. This follows an example of drivers/gpio/gpio-mxc.c. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 30f010f5c4cfcdf3773d6f2dcbab3c349d05c668 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Tue Jan 27 15:13:55 2015 +0800 arm64: mediatek: Add Pinctrl/GPIO/EINT driver for mt8173. Add mt8173 support using mediatek common pinctrl driver. MT8173 have a different ies_smt setting register than mt8135, so adding this support to common code. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d9819eb9cd3252fe45d52500f0f12980ee040177 Author: Maoguang Meng <maoguang.meng@xxxxxxxxxxxx> Date: Wed Jan 21 13:28:16 2015 +0800 pinctrl: mediatek: Add EINT support to MTK pinctrl driver. MTK SoC support external interrupt(EINT) from most SoC pins. Add EINT support to pinctrl driver. Signed-off-by: Maoguang Meng <maoguang.meng@xxxxxxxxxxxx> Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a6df410d420aa4ff316797d352f69e7ebae5ff98 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Wed Jan 21 13:28:15 2015 +0800 pinctrl: mediatek: Add Pinctrl/GPIO driver for mt8135. The mediatek SoCs have GPIO controller that handle both the muxing and GPIOs. The GPIO controller have pinmux, pull enable, pull select, direction and output high/low control. This driver include common driver and mt8135 part. The common driver include the pinctrl driver and GPIO driver. The mt8135 part contain its special device data. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ddac96118f3d2c28813ba98cda79c1e29a902e02 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Wed Jan 21 13:28:14 2015 +0800 pinctrl: dt-bindings: Add pinctrl bindings for mt65xx/mt81xx. Add devicetree bindings for Mediatek SoC pinctrl driver. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fc88936ad307dc57cd26cb53455a57e2dd0813b9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Feb 27 18:38:04 2015 +0100 pinctrl: sh-pfc: Use u32 to store register data As PFC registers are either 8, 16, or 32 bits wide, use u32 (mostly replacing unsigned long) to store (parts of) register values and masks. Switch the shadow register operations from {set,clear}_bit() to plain C bit operations, as the former can operate on long data only. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cbd159ed4f9277e8989bd8f7513a3245562a6bee Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Mar 4 16:35:51 2015 -0800 pinctrl: cygnus: add initial IOMUX driver support This adds the initial driver support for the Broadcom Cygnus IOMUX controller. The Cygnus IOMUX controller supports group based mux configuration but allows certain pins to be muxed to GPIO individually Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3e16de16fa2ac54de6a62a9776dcb52a9f57b516 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Mar 4 16:35:50 2015 -0800 pinctrl: Broadcom Cygnus pinctrl device tree binding Device tree binding documentation for Broadcom Cygnus IOMUX driver Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b17f2f9b86f4d44b1d90abf5f1d8de423a74c772 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Mar 4 16:35:49 2015 -0800 pinctrl: bcm: consolidate Broadcom pinctrl drivers Consolidate Broadcom pinctrl drivers into drivers/pinctrl/bcm/* Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4691dd0148e082097300239d4143311efc23f6ca Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Feb 6 17:30:56 2015 +0100 pinctrl: imx: do not implicitly set pin regs to -1 Commit 3dac1918a491 ("pinctrl: imx: detect uninitialized pins") needs the values in struct imx_pin_reg to be -1. This has been done in a rather unorthodox way by setting the memory to 0xff using memset... Use a proper for loop to initialize the whole array with -1. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 58dae82843f508b0f1e7e8e593496ba6e2822979 Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:14:44 2015 +0100 selftests/powerpc: Add test for VPHN The goal is to verify vphn_unpack_associativity() parses VPHN numbers correctly. We feed it with a variety of input values and compare with expected results. PAPR+ does not say much about VPHN parsing: I came up with a list of tests that check many simple cases and some corner ones. I wouldn't dare to say the list is exhaustive though. Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> [mpe: Rework harness logic, rename to test-vphn, add -m64] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> commit 3338a65badd5758c8723e2b1e5a0db88151f2774 Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:14:37 2015 +0100 powerpc/vphn: parsing code rewrite The current VPHN parsing logic has some flaws that this patch aims to fix: 1) when the value 0xffff is read, the value 0xffffffff gets added to the the output list and its element count isn't incremented. This is wrong. According to PAPR+ the domain identifiers are packed into a sequence terminated by the "reserved value of all ones". This means that 0xffff is a stream terminator. 2) the combination of byteswaps and casts make the code hardly readable. Let's parse the stream one 16-bit field at a time instead. 3) it is assumed that the hypercall returns 12 32-bit values packed into 6 64-bit registers. According to PAPR+, the domain identifiers may be streamed as 16-bit values. Let's increase the number of expected numbers to 24. Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4b6cfb2a8cd7520e8a747718e5c1da047697ca31 Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:14:31 2015 +0100 powerpc/vphn: move VPHN parsing logic to a separate file The goal behind this patch is to be able to write userland tests for the VPHN parsing code. Suggested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b1fc9484aa339c19bd57702dc88fb046702b6092 Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:14:25 2015 +0100 powerpc/vphn: move endianness fixing to vphn_unpack_associativity() The first argument to vphn_unpack_associativity() is a const long *, but the parsing code expects __be64 values actually. Let's move the endian fixing down for consistency. Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9d0e6d9db56a38e205e7138837b885082dc769ec Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:14:19 2015 +0100 powerpc/vphn: clarify the H_HOME_NODE_ASSOCIATIVITY API The number of values returned by the H_HOME_NODE_ASSOCIATIVITY h_call deserves to be explicitly defined, for a better understanding of the code. Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c66150824b8a809a502fd833fa9b18082cd89a39 Author: Nikesh Oswal <nikesh@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 2 17:06:44 2015 +0000 ASoC: dapm: add code to configure dai link parameters dai-link params for codec-codec links were fixed. The fixed link between codec and another chip which may be another codec, baseband, bluetooth codec etc may require run time configuaration changes. This change provides an optional alsa control to select one of the params from a list of params. Signed-off-by: Nikesh Oswal <nikesh@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 86a930d5e9702391f6f997366686a48885f21513 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Mar 13 22:15:40 2015 +0100 drm/i915: Update DRIVER_DATE to 20150313 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 72c5ba9562147d3fc2d22cd44c30bd136cd4a1ac Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Mar 13 15:21:53 2015 +0200 drm/i915: Fix vmap_batch page iterator overrun vmap_batch() calculates amount of needed pages for the mapping we are going to create. And it uses this page count as an argument for the for_each_sg_pages() macro. The macro takes the number of sg list entities as an argument, not the page count. So we ended up iterating through all the pages on the mapped object, corrupting memory past the smaller pages[] array. Fix this by bailing out when we have enough pages. This regression has been introduced in commit 17cabf571e50677d980e9ab2a43c5f11213003ae Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 11:20:57 2015 +0000 drm/i915: Trim the command parser allocations Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a1559ffefb2a80eabbee65d7cc04e828d4fd557d Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Mon Mar 9 16:06:54 2015 -0700 drm/i915: Export total subslice and EU counts Setup new I915_GETPARAM ioctl entries for subslice total and EU total. Userspace drivers need these values when constructing GPGPU commands. This kernel query method is intended to replace the PCI ID-based tables that userspace drivers currently maintain. The kernel driver can employ fuse register reads as needed to ensure the most accurate determination of GT config attributes. This first became important with Cherryview in which the config could differ between devices with the same PCI ID. The kernel detection of these values is device-specific and not included in this patch. Because zero is not a valid value for any of these parameters, a value of zero is interpreted as unknown for the device. Userspace drivers should continue to maintain ID-based tables for older devices not supported by the new query method. v2: Increment our I915_GETPARAM indices to fit after REVISION which was merged ahead of us. For: VIZ-4636 Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Tested-by: Zhigang Gong <zhigang.gong@xxxxxxxxxxxxxxx> Acked-by: Zhigang Gong <zhigang.gong@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cd9bfacb8726681c9bda57a679d8f7ba61ecc9f8 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Mar 12 13:01:12 2015 +0200 drm/i915: redefine WARN_ON_ONCE to include the condition Same as commit c883ef1b1c998d2d66866772fd0fc34afa45641e Author: Mika Kuoppala <miku@xxxxxx> Date: Tue Oct 28 17:32:30 2014 +0200 drm/i915: Redefine WARN_ON to include the condition but for WARN_ON_ONCE. Since the kernel WARN_ON_ONCE actually picks up *our* version of WARN_ON, we end up with messages like [ 838.285319] WARN_ON(!__warned) which are not that helpful. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8749be86a8f0c8a956d20f7d3c768ed6d1e356a1 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Feb 11 17:43:24 2015 +0000 drm/i915/skl: Implement WaDisableHBR2 v2: Use the recently introduced INTEL_REVID() and SKL_REVID defines (Nick Hoath) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Tested-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89554 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7a8785f7eea5f1a35f10d2fbdee7df1febb850de Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Mar 11 22:52:28 2015 +0200 drm/i915: Remove the preliminary_hw_support shackles from CHV CHV should be in a good enough shape now, so let's drop the .is_preliminary flag. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 968040b23027e400854255311953207ac9233ddc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Mar 11 22:52:08 2015 +0200 drm/i915: Read CHV_PLL_DW8 from the correct offset We accidentally pass 'pipe' instead of 'port' to CHV_PLL_DW8() and with PIPE_C we end up at register offset 0x8320 which isn't the 0x8020 we wanted. Fix it. The problem was fortunately caught by the sanity check in vlv_dpio_read(): WARNING: CPU: 1 PID: 238 at ../drivers/gpu/drm/i915/intel_sideband.c:200 vlv_dpio_read+0x77/0x80 [i915]() DPIO read pipe C reg 0x8320 == 0xffffffff The problem got introduced with this commit: commit 71af07f91f12bbab96335e202c82525d31680960 Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Thu Mar 5 19:33:08 2015 +0530 drm/i915: Update prop, int co-eff and gain threshold for CHV Cc: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d272ddfa30b088870a925decba3c4a7f1a45badc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Mar 11 18:52:31 2015 +0200 drm/i915: Rewrite IVB FDI bifurcation conflict checks Ignore the current state of the pipe and just check crtc_state->enable and the number of FDI lanes required. This means we don't accidentally mistake the FDI lanes as being available of one of the pipes just happens to be disabled at the time of the check. Also we no longer consider pipe C to require FDI lanes when it's driving the eDP transcoder. We also take the opportunity to make the code a bit nicer looking by hiding the ugly bits in the new pipe_required_fdi_lanes() function. Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 251cc67c7a28c216c9d4377ff5bf435c4248679e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Mar 11 18:52:30 2015 +0200 drm/i915: Rewrite some some of the FDI lane checks The logic in the FDI lane checks is very hard for my poor brain to grasp. Rewrite it in a more straightforward way. Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4c2a8897bc7662f0ab4148185cfb65153e4095b9 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:24 2015 +0530 drm/i915/skl: Enable the RPS interrupts programming Enable the RPS interrupts programming(enable/disable/reset) for GEN9, as missing changes to enable the RPS support on GEN9 have been added. Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa448626d81d18e74bd24f22eba9a0b0822d3879 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:23 2015 +0530 drm/i915/skl: Enabling processing of Turbo interrupts Earlier Turbo interrupts were not being processed for SKL, as something was amiss in turbo programming for SKL. Now missing changes have been added, so enabling the Turbo interrupt processing for SKL. Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 60260a5b59f7733fe5e3f5c2e39dfb3291ffb94f Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:21 2015 +0530 drm/i915/skl: Updated the i915_frequency_info debugfs function Added support for SKL in the i915_frequency_info debugfs function v2: - corrected the handling of reqf (Damien) - Reorderd the platform check for cagf (Ville) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 003632d9cf626dadcd48ddba375302c0537f81e5 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Wed Mar 11 13:35:43 2015 +0200 drm/i915: Simplify the way BC bifurcation state consistency is kept Remove the global modeset resource function that would disable the bifurcation bit, and instead enable/disable it when enabling the pch transcoder. The mode set consistency check should prevent us from disabling the bit if pipe C is enabled so the change should be safe. Note that this doens't affect the logic that prevents the bit being set while a pipe is active, since the patch retains the behavior of only chaging the bit if necessary. Because of the checks during mode set, the first change would necessarily happen with both pipes B and C disabled, and any subsequent write would be skipped. v2: Only change the bit during pch trancoder enable. (Ville) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ed64d66fba4684f162cf573587f729142d5e0d0f Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:22 2015 +0530 drm/i915/skl: Updated the act_freq_mhz_show sysfs function Added support for SKL in the act_freq_mhz_show sysfs function Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0beb059ab8312cd9dab598a3fb3555355c01a0d9 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:20 2015 +0530 drm/i915/skl: Updated the gen9_enable_rps function On SKL, GT frequency is programmed in units of 16.66 MHZ units compared to 50 MHZ for older platforms. Also the time value specified for Up/Down EI & Up/Down thresholds are expressed in units of 1.33 us, compared to 1.28 us for older platforms. So updated the gen9_enable_rps function as per that. v2: Updated to use new macro GT_INTERVAL_FROM_US v3: Removed the initial setup of certain registers, from gen9_enable_rps, which gets overridden later from gen6_set_rps (Damien) v4: Removed the enabling of rps interrupts, from gen9_enable_rps. To be done from intel_gen6_powersave_work only, as done for other platforms also. Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74ef117378d39042af1d42cab032fe78a0e0808d Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:19 2015 +0530 drm/i915/skl: Updated the gen6_rps_limits function RP Interrupt Up/Down Frequency Limits register (A014) definition has changed for SKL. Updated the gen6_rps_limits function as per that v2: Renamed the function to intel_rps_limits (Chris) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8a5864377b12b7c0a7a8e20cb33ef7ccc679d657 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:18 2015 +0530 drm/i915/skl: Restructured the gen6_set_rps_thresholds function Prior to SKL, the time period programmed in Up/Down EI & Up/Down threshold registers was in units of 1.28 micro seconds. But for SKL, the units have changed (1.333 micro seconds). Have generalized the implementation of gen6_set_rps_thresholds function, by removing the hard coding done in it as per 1.28 micro seconds. v2: Renamed the local variables & removed superfluous comments (Chris) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5704195c3f3c04a00c16334a033b180f16db1f94 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:17 2015 +0530 drm/i915/skl: Updated the gen6_set_rps function On SKL, the frequency is programmed differently in RPNSWREQ (A008) register (from bits 23 to 31, compared to bits 24 to 31). So updated the gen6_set_rps function, as per this change. Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cee991cb9323995b5c1e5f39540b6055ca5e73e4 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:16 2015 +0530 drm/i915/skl: Updated the gen6_init_rps_frequencies function On SKL the frequency is specified in units of 16.66 MHZ, barring the RP_STATE_CAP(0x5998) register, which still reports frequency in units of 50 MHZ. So an extra conversion is required in gen6_init_rps_frequencies function for SKL, to store the frequency values as per the actual hardware unit. v2: Corrected the conversion from 50 to 16.66 MHZ (Ville) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 80b6dda453cd27071950f28862134dea832573ec Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:15 2015 +0530 drm/i915/skl: Updated intel_gpu_freq() and intel_freq_opcode() On SKL, frequency is specified in units of 16.66 MHZ. Updated the intel_gpu_freq() and intel_freq_opecode() functions to do the conversion appropriately. Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de43ae9dd263d50addd2c76b507dc0d1f1c5a1b3 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Mar 6 11:07:14 2015 +0530 drm/i915/skl: Added new macros For SKL, register definition for RPNSWREQ (A008), RPSTAT1(A01C) have changed slightly. Also on SKL, frequency is specified in units of 16.66 MHZ, compared to 50 MHZ for most of the earlier platforms and the time values are expressed in units of 1.33 us, compared to 1.28 us for earlier platforms. Added new macros for the aforementioned changes. v2: Renamed the GT_FREQ_FROM_PERIOD macro to GT_INTERVAL_FROM_US (Damien) v3: Removed the implicit use of dev_priv in GT_INTERVAL_FROM_US macro (Chris) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44e5e28bf64fcd7c4d3f933cb4c7f69d8aa11781 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Feb 3 14:34:05 2015 +0200 drm/i915: remove indirection in the PCI ID macros Spell all the PCI IDs out to be able to quickly grep for the IDs. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Add GT1/2 to comments to not loose that distinction.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f4998963f2fbd4a22ae77624bc810b21208a8803 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 17:02:21 2015 +0200 drm/i915: Use FW_WM() macro for older gmch platforms too Use the FW_WM() macro from the VLV wm code to polish up the wm code for older gmch platforms. Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 15665979ca601f483cd5caca851620d2c2845125 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 16:16:28 2015 +0200 drm/i915: Add polish to VLV WM shift+mask operations Wrap the FW register value shift+mask operations into a macro to hide the ugliness a bit. Also might avoid bugs due to typos. Also rename all the primary/sprite plane low order bit masks to have the _VLV suffix, so that we can use the FW_WM_VLV() macro instead of the FW_WM() macro for them in a consistent manner. Cursor and all the high order bits are left to use the FW_WM() macro as there's no real confusion with them. Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6e721fb1ee99f3f9f67b94c8d1f9204217399733 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 13:15:23 2015 +0200 drm/i915: Use plane->state->fb instead of plane->fb in intel_plane_restore() plane->fb is not as reliable as plane->state->fb so let's convert intel_plane_restore() over the the new way of thinking as well. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3749f46370318332d22847da2e1e9b729e177aaf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 13:15:22 2015 +0200 drm/i915: Reduce clutter by using the local plane pointer No need to go dig throguh intel_crtc->base.cursor when we already have the same thing as 'plane' local variable. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c5da514588c48c99d9e0f4014348115496aef938 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 13:15:21 2015 +0200 drm/i915: Remove debug prints from primary plane update funcs These are now called from the plane commit hooks, so they really need to be fast or else we risk atomic update failures. So kill the debug prints which are slowing things down massively. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 41659ab7935e53f3a094168c47000bbc33cf2690 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 11 08:27:25 2015 +0100 drm/i915: Add ULL postfix to VGT_MAGIC constant Without this Dave's 32bit rhel compiler is annoyed. Don't ask me about the exact rules for this stuff though, but this should be safe. Reported-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8c4f83fb1e8bf317e894f62d17a63c32b7a6b75e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 11 08:26:23 2015 +0100 drm/fourcc: 64 #defines need ULL postfix I have no idea about the exact rules, but this angered Dave's 32bit rhel gcc. Reported-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c9f038a1a5924352ab8e510e4a45ac57b08db391 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Mar 9 11:06:02 2015 -0700 drm/i915: Don't assume primary & cursor are always on for wm calculation (v4) Current ILK-style watermark code assumes the primary plane and cursor plane are always enabled. This assumption, along with the combination of two independent commits that got merged at the same time, results in a NULL dereference. The offending commits are: commit fd2d61341bf39d1054256c07d6eddd624ebc4241 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Feb 27 10:12:01 2015 -0800 drm/i915: Use plane->state->fb in watermark code (v2) and commit 0fda65680e92545caea5be7805a7f0a617fb6c20 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 15:12:35 2015 +0000 drm/i915/skl: Update watermarks for Y tiling The first commit causes us to use the FB from plane->state->fb rather than the legacy plane->fb, which is updated a bit later in the process. The second commit includes a change that now triggers watermark reprogramming on primary plane enable/disable where we didn't have one before (which wasn't really correct, but we had been getting lucky because we always calculated as if the primary plane was on). Together, these two commits cause the watermark calculation to (properly) see plane->state->fb = NULL when we're in the process of disabling the primary plane. However the existing watermark code assumes there's always a primary fb and tries to dereference it to find out pixel format / bpp information. The fix is to make ILK-style watermark calculation actually check the true status of primary & cursor planes and adjust our watermark logic accordingly. v2: Update unchecked uses of state->fb for other platforms (pnv, skl, etc.). Note that this is just a temporary fix. Ultimately the useful information is going to be computed at check time and stored right in the state structures so that we don't have to figure this all out while we're supposed to be programming the watermarks. (caught by Tvrtko) v3: Fix a couple copy/paste mistakes in SKL code. (Tvrtko) v4: Only add FB checks for ILK/SKL codepaths. Older platforms still use intel_crtc_active() and will shortcircuit out of watermark calculations before ever trying to dereference the primary plane's framebuffer. Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reported-by: Michael Leuchtenburg <michael@xxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89388 Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 89ed88baaaaa6aa783312a6ce8e5b27a56c774be Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:31:49 2015 +0000 drm/i915: Move drm_framebuffer_unreference out of struct_mutex for flips intel_user_framebuffer_destroy() requires the struct_mutex for its object bookkeeping, so this means that all calls to drm_framebuffer_unreference must not hold that lock. Regression from commit ab8d66752a9c28cd6c94fa173feacdfc1554aa03 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Feb 2 15:44:15 2015 +0000 drm/i915: Track old framebuffer instead of object Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89166 Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> [danvet: Clarify commit message slightly.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc1ac8dee1fe3d3155e8622e4d8e9130d88bc65b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:52 2015 +0200 drm/i915: Disable DDR DVFS on CHV DDR DVFS introduces massive memory latencies which can't be handled by the PND deadline stuff. Instead the watermarks will need to be programmed to compensate for the latency and the deadlines will need to be programmed to tight fixed values. That means DDR DVFS can only be enabled if the display FIFOs are large enough, and that pretty much means we have to manually repartition them to suit the needs of the moment. That's a lot of change, so in the meantime let's just disable DDR DVFS to get the display(s) to be stable. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cfb41411fce52a8e8b6c1f0bd253d4ca7bfcbd0d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:51 2015 +0200 drm/i915: Enable the maxfifo PM5 mode when appropriate on CHV CHV has a new knob in Punit to select between some memory power savings modes PM2 and PM5. We can allow the deeper PM5 when maxfifo mode is enabled, so let's do so in the hopes for moar power savings. v2: Put the thing into a separate function to avoid churn later v3: Don't break VLV Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Arun R Murthy <arun.r.murthy@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1e69cd74af22cce3b882b155bef295ff68a40566 Author: Vidya Srinivas <vidya.srinivas@xxxxxxxxx> Date: Thu Mar 5 21:19:50 2015 +0200 drm/i915: Program PFI credits for VLV PFI credit programming is required when CD clock (related to data flow from display pipeline to end display) is greater than CZ clock (related to data flow from memory to display plane). This programming should be done when all planes are OFF to avoid intermittent hangs while accessing memory even from different Gfx units (not just display). If cdclk/czclk >=1, PFI credits could be set as any number. To get better performance, larger PFI credit can be assigned to PND. Otherwise if cdclk/czclk<1, the default PFI credit of 8 should be set. v2: - Change log to lower log level instead of DRM_ERROR - Change function name to valleyview_program_pfi_credits - Move program PFI credits to modeset_init instead of intel_set_mode - Change magic numbers to logical constants [vsyrjala v3: - only program in response to cdclk update - program the credits also when cdclk<czclk - add CHV bits v4: - Change CHV cdclk<czclk credits to 12 (Vijay)] Signed-off-by: Vidya Srinivas <vidya.srinivas@xxxxxxxxx> Signed-off-by: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ae80152ddad252f33893b92dd69f00cc53c5949f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:49 2015 +0200 drm/i915: Rewrite VLV/CHV watermark code Assuming the PND deadline mechanism works reasonably we should do memory requests as early as possible so that PND has schedule the requests more intelligently. Currently we're still calculating the watermarks as if VLV/CHV are identical to g4x, which isn't the case. The current code also seems to calculate insufficient watermarks and hence we're seeing some underruns, especially on high resolution displays. To fix it just rip out the current code and replace is with something that tries to utilize PND as efficiently as possible. We now calculate the WM watermark to trigger when the FIFO still has 256us worth of data. 256us is the maximum deadline value supoorted by PND, so issuing memory requests earlier would mean we probably couldn't utilize the full FIFO as PND would attempt to return the data at least in at least 256us. We also clamp the watermark to at least 8 cachelines as that's the magic watermark that enabling trickle feed would also impose. I'm assuming it matches some burst size. In theory we could just enable trickle feed and ignore the WM values, except trickle feed doesn't work with max fifo mode anyway, so we'd still need to calculate the SR watermarks. It seems cleaner to just disable trickle feed and calculate all watermarks the same way. Also trickle feed wouldn't account for the 256us max deadline value, thoguh that may be a moot point in non-max fifo mode sicne the FIFOs are fairly small. On VLV max fifo mode can be used with either primary or sprite planes. So the code now also checks all the planes (apart from the cursor) when calculating the SR plane watermark. We don't have to worry about the WM1 watermarks since we're using the PND deadline scheme which means the hardware ignores WM1 values. v2: Use plane->state->fb instead of plane->fb Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 03e515f7f8949c0787e0674091d9fbdb8afc4fd3 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Mon Mar 9 17:57:07 2015 -0700 drm/i915: Make sure we invalidate frontbuffer on fbcon. There are some cases like suspend/resume or dpms off/on sequences that can flush frontbuffer bits. In these cases features that relies on frontbuffer tracking can start working and user can stop getting screen updates on fbcon having impression the system is frozen. So, let's make sure we also invalidate frontbuffer on fbdev blank. v2: Daniel was right, backtrace didn't show other path than this blank one so let's make sure frontbuffer bits gets invalidate here instead of on random write operations that doesn't garantee we track all frontbuffer writes. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> [danvet: Exchange code comments for one that complains about the locking, like in set_par.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9cbe40c15a753e02f5da16f6de901decf3276cf1 Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Thu Mar 5 19:33:08 2015 +0530 drm/i915: Update prop, int co-eff and gain threshold for CHV This patch implements latest PHY changes in Gain, prop and int co-efficients based on the vco freq. v2: Split the original changes into multiple smaller patches based on review by Ville v3: Addressed Ville's review comments. Fixed the error introduced in v2. Clear the old bits before we modify those bits as part of RMW. v4: TDC target cnt is 10 bits and not 8 bits (Ville) Signed-off-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de3a0fde9afe551440db486f3f5ee52c8f15120a Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Thu Mar 5 19:32:06 2015 +0530 drm/i915: Initialize CHV digital lock detect threshold Initialize lock detect threshold and select coarse threshold for the case where M2 fraction division is disabled. v2: Split the changes into multiple smaller patches (Ville) v3: Clear out the old bits before we modify those bits as RMW (Ville) v4: Reset coarse threshold when M2 fraction is enabled (Ville) Signed-off-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a945ce7e4eeb9c629d8a75b78203b026f74c2ea2 Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Thu Mar 5 19:30:57 2015 +0530 drm/i915: Disable M2 frac division for integer case v2 : Handle M2 frac division for both M2 frac and int cases v3 : Addressed Ville's review comments. Cleared the old bits for RMW v4 : Fix feedfwd gain (Ville) Signed-off-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ca2b1403e2a3fcfec462c1c75ec2b0f93d65590a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:21:08 2015 +0100 drm/i915: Spelling s/auxilliary/auxiliary/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3ef00284e6a48f7deb0784ccca0478ebb7d4bcfc Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Mar 9 10:19:24 2015 -0700 drm/i915: Use crtc->state->active in ilk/skl watermark calculations (v3) Existing watermark code calls intel_crtc_active() to determine whether a CRTC is active for the purpose of watermark calculations (and bails out early if it determines the CRTC is not active). However intel_crtc_active() only returns true if crtc->primary->fb is non-NULL, which isn't appropriate in the modern age of universal planes and atomic modeset since userspace can now disable the primary plane, but leave the CRTC (and other planes) running. Note that commit commit 0fda65680e92545caea5be7805a7f0a617fb6c20 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 15:12:35 2015 +0000 drm/i915/skl: Update watermarks for Y tiling adds a test for primary plane enable/disable to trigger a watermark update (previously we ignored updates to primary planes, which wasn't really correct, but we got lucky since we always pretended the primary plane was on). Tvrtko's patch tries to update watermarks when we re-enable the primary plane, but that watermark computation gets aborted early because intel_crtc_active() returns false due to the disabled primary plane. Switch the ILK and SKL watermark code over to use crtc->state->active rather than calling intel_crtc_active() so that we'll properly compute watermarks when re-enabling the primary plane. Note that this commit doesn't touch callsites in the watermark code for older platforms since there were concerns that doing so would lead to other types of breakage. Also note that all of the watermark calculation at the moment takes place after new crtc/plane states are swapped into the DRM objects. This will change in the future, so we'll be working with in-flight state objects, but for the time being, crtc->state is what we want to operate on. v2: Don't drop primary->fb check from intel_crtc_active(), but rather replace ILK/SKL callsites with direct tests of crtc->state->active. There is concern that messing with intel_crtc_active() will lead to other breakage for old hardware platforms. (Ville) v3: Use intel_crtc->active for now rather than crtc->state->active since we don't have CRTC states properly hooked up and initialized yet. We'll defer the switch to crtc->state->active until the atomic CRTC state work is farther along. (Ville) Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c3d1f4360133ecab6aa5f2e782cf15f119e43dc9 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Mar 9 10:19:23 2015 -0700 drm/i915: Update intel_crtc_active() to use state values (v2) With the switch to atomic plumbing for planes, some of our commit-time work (e.g., watermarks) is done after the new atomic state is swapped into the relevant DRM object, but before the DRM core has a chance to update its legacy state values. Switch intel_crtc_active() to look at the state objects rather than legacy fields to ensure we operate on the proper values. Note that we're continuing to use intel_crtc->active here for the time being since crtc->state isn't really hooked up yet. Once CRTC states are wired up properly, we'll want to switch this over to use crtc->state->active instead. v2: Switch back to intel_crtc->active for now; when Ander's work on CRTC states is ready, we can flip this over to use crtc->state->active instead. (Ville) Cc: Ander Conselvan De Oliveira <conselvan2@xxxxxxxxx> Suggested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3553a8eadb711e9236e517e44be67665bb5b4c65 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Mar 9 14:17:58 2015 +0000 drm/i915: Exit early from psr_status if PSR is not supported by the device Static analysis was complaining that a path existed where we could use stat[] uninitialized. Fix this by simplifying the logic to exit early if PSR isn't supported. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9d0d3fdaae08e9221070dda32348116c2a3235ed Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Mar 2 20:07:17 2015 +0200 drm/i915: Fix chv cdclk support The specs seem to be full of misinformation wrt. the Punit register 0x36. Some versions still show the old VLV bit layout, some the new layout, and all of them seem to tell us nonsense about the cdclk value encoding. Testing on actual hardware has shown that we simply need to program the desired CCK divider into the Punit register using the new layout of the bits. Doing that, the status bit change to indicate the same value, and the CCK 0x6b register also changes accordingly to indicate that CCK is now using the new divider. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Yogesh Mohan Marimuthu <yogesh.mohan.marimuthu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6cca31950a5df57d89d9cb4f846c96dab902adf9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Mar 2 20:07:16 2015 +0200 drm/i915: Allow pixel clock up to 95% of cdclk on CHV Supposedly CHV can sustain a pixel clock of up to 95% of cdclk, as opposed to the 90% limit that was used old older platforms. Update the cdclk selection code to allow for this. This will allow eg. HDMI 4k modes with their 297MHz pixel clock while still respecting the 320 MHz cdclk limit on CHV. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Yogesh Mohan Marimuthu <yogesh.mohan.marimuthu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de31facda53b595bc42ac87341a9200f1f4eb414 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Fri Mar 6 15:53:32 2015 -0800 drm/i915/skl: port A fuse straps don't work on early SKL steppings So try to enumerate eDP unconditionally in those cases. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> [danvet: Add wa tag Damien dug out.] Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d2b9526a790d55b7ae870934a74937081f62de2 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:53 2015 +0000 drm/i915/skl: Restore the DDI translation tables when enabling PW1 I was dumping the DDI translation tables to make sure my patch updating the HDMI entry was doing the right thing when I noticed that the table was showing reset values after DPMS. And indeed, the DDI translation registers are in power well 1 on SKL, and so we're losing their values when shutting down eDP. Calling intel_prepare_ddi() on PW1 enabling re-programs the table. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 254003926eed24344c23509a743d0bc281e0eb95 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:52 2015 +0000 drm/i915: Remove unused condition in hsw_power_well_post_enable() We don't use this function on gen9, no need for that test here. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d14c03431340d0913f067ab18b6444e0f41d4f80 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:51 2015 +0000 drm/i915/skl: Restore pipe interrupt registers after power well enabling The pipe interrupt registers are in the actual pipe power well, so we need to restore them when re-enable the corresponding power well. I've also copied what we do on HSW/BDW for VGA, even if the we haven't enabled unclaimed registers just yet. v2: Don't run skl_power_well_post_enable() if the power well is already enabled (Paulo) 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 510e6fdd8f796666ec6a8539b01b5e5e72913046 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:50 2015 +0000 drm/i915/skl: Mirror what we do on HSW for the power well enable log message Just to be more consistent with what we do on HSW. 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 2a51835f6149905b86954574c258ee094d98813e Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:49 2015 +0000 drm/i915/skl: Introduce enable_requested and is_enabled in the power well code Just like what we do for HSW/BDW, having those variables makes it a bit easier to parse the code. Suggested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> 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 4c6c03be125e9d8477c2d8ef3c3280270956b1fe Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Mar 6 18:50:48 2015 +0000 drm/i915/skl: Make gen8_irq_power_well_post_enable() take a pipe mask While we only need to restore pipe B/C interrupt registers on BDW when enabling the power well, skylake a bit more flexible and we'll also need to restore the pipe A registers as it has its own power well that can be toggled. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5575f03a603d267e84ab3727f7241b8be5f7d8ee Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Fri Feb 27 10:22:32 2015 -0800 drm/i915/chv: Add CHV HW status to SSEU status Collect the currently enabled counts of slice, subslice, and execution units using the power gate control ack message registers specific to Cherryview. Slice/subslice/EU info and hardware status can now be determined for CHV, so allow the debugfs SSEU status dump to proceed for CHV devices. Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c93043ae1deaa0f9bd394ac2d8c6881deb19b53a Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Fri Feb 27 12:12:28 2015 -0800 drm/i915/chv: Determine CHV slice/subslice/EU info Total EU was already being detected on CHV, so we just add the additional info parameters. The detection method is changed to be more robust in the case of subslice fusing - we don't want to trust the EU fuse bits corresponding to subslices which are fused-off. v2: Fixed subslice disable bitmasks and removed unnecessary ? operation (Ville) Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c6beb13ef33ae9430953deaa51db18a9e14277af Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:48 2015 +0200 drm/i915: Make sure PND deadline mode is enabled on VLV/CHV Poke at the CBR1_VLV register during init_clock_gating to make sure the PND deadline scheme is used. The hardware has two modes of operation wrt. watermarks: 1) PND deadline mode: - memory request deadline is calculated from actual FIFO level * DDL - WM1 watermark values are unused (AFAIK) - WM watermark level defines when to start fetching data from memory (assuming trickle feed is not used) 2) backup mode - deadline is based on FIFO status, DDL is unused - FIFO split into three regions with WM and WM1 watermarks, each part specifying a different FIFO status We want to use the PND deadline mode, so let's make sure the chicken bit is in the correct position on init. Also take the opportunity to refactor the shared code between VLV and CHV to a shared function. Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b500472026e40ef2a4827a5973dc5424c98ede92 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:47 2015 +0200 drm/i915: Read out display FIFO size on VLV/CHV VLV/CHV have similar DSPARB registers as older platforms, just more of them due to more planes. Add a bit of code to read out the current FIFO split from the registers. Will be useful later when we improve the WM calculations. v2: Add display_mmio_offset to DSPARB Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 883a3d2f65212388b1577ebc020648fc95fa5d72 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:46 2015 +0200 drm/i915: Pass plane to vlv_compute_drain_latency() Now that we have drm_planes for the cursor and primary we can move the pixel_size handling into vlv_compute_drain_latency() and just pass the appropriate plane to it. v2: Check plane->state->fb instead of plane->fb Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> (v1) Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Resolve conflict with Matt's s/plane->fb/plane->state->fb/ patch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0018fda1e4d5c076decc0dcf396ea4e3d3faa444 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:45 2015 +0200 drm/i915: Reorganize VLV DDL setup Introduce struct vlv_wm_values to house VLV watermark/drain latency values. We start by using it when computing the drain latency values. Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 341c526f43fdd2d85450bf5f72927a82dded4ee5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:44 2015 +0200 drm/i915: Hide VLV DDL precision handling Move the DDL precision handling into vlv_compute_drain_latency() so the callers don't have to duplicate the same code to deal with it. Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit abfc00b545ba2c4dee1dcb124be59f34df3ed7d9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:43 2015 +0200 drm/i915: Simplify VLV drain latency computation The current drain lantency computation relies on hardcoded limits to determine when the to use the low vs. high precision multiplier. Rewrite the code to use a more straightforward approach. Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 120305166aa8da2e8166d7ac1adce30194e6e24f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:42 2015 +0200 drm/i915: Kill DRAIN_LATENCY_PRECISION_* defines Kill the silly DRAIN_LATENCY_PRECISION_* defines and just use the raw number instead. v2: Move the sprite 32/16 -> 16/8 preision multiplier change to another patch (Jesse) Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit edf605601403194fdded0f8fd6305955d4ba009d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Mar 5 21:19:41 2015 +0200 drm/i915: Reduce CHV DDL multiplier to 16/8 Apparently we must yet halve the DDL drain latency from what we're using currently. This little nugget is not in any spec, but came down through the grapevine. This makes the displays a bit more stable. Not quite fully stable but at least they don't fall over immediately on driver load. v2: Update high_precision in valleyview_update_sprite_wm() too (Jesse) Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 48572edd9d736d6fabd40b810a0de844ee4f800b Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 18 10:55:50 2014 +0000 drm/i915: Disable the mmio.debug WARN after it fires If we have a single unclaimed register, we will have lots. A WARN for each one makes the machine unusable and does not aid debugging. Convert the i915.mmio_debug option to a counter for how many WARNs to fire before shutting up. Even when i915.mmio_debug was disabled it would continue to shout an *ERROR* for every interrupt, without any information at all for debugging. The massive verbiage was added in commit 5978118c39c2f72fd8b39ef9c086723542384809 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Jul 16 17:49:29 2014 -0300 drm/i915: reorganize the unclaimed register detection code v2: Automatically enable invalid mmio reporting for the *next* invalid access if mmio_debug is disabled by default. This should give us clearer debug information without polluting the logs too much. v3: Compile fixes, rebase. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> [danvet: Update modparam text per the thread.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6e0b3f8d64252664f240f0cbd23e3d22ce3df001 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 5 22:03:08 2015 +0800 drm/i915: fix simple_return.cocci warnings drivers/gpu/drm/i915/intel_ringbuffer.c:435:1-4: WARNING: end returns can be simpified Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6ea2556f3e2549284331a3a29a5984f859c3cd5b Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Feb 27 18:11:09 2015 +0200 drm/i915: Do both mt and gen6 style forcewake reset on ivb probe commit 05a2fb157e44 ("drm/i915: Consolidate forcewake code") failed to take into account that we have used to reset both the gen6 style and the multithreaded style forcewake registers. This is due to fact that ivb can use either, depending on how the bios has set up the machine. Mimic the old semantics before we have determined the correct variety and reset both before the ecobus probe. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Huang Ying <ying.huang@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a561165493e5fec2f74bd3ae0577ed659e44ab7f Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Thu Mar 5 14:03:03 2015 +0000 drm/i915: Remove ironlake rc6 support Apparently, this has never worked reliably and is currently disabled. Also, the gains are not particularly impressive. Thus rather than try to keep unused code from decaying and having to update it for other driver changes, it was decided to simply remove it. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d703d4e5d7094e77186d09619548de42be9b493 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Mar 4 10:49:04 2015 -0800 drm/i915: Don't clobber plane state on internal disables We need to disable all sprite planes when disabling the CRTC. We had been using the top-level atomic 'disable' entrypoint to accomplish this, which was wrong. Not only can this lead to various locking issues, it also modifies the actual plane state, making it impossible to restore the plane properly later. For example, a DPMS off followed by a DPMS on will result in any sprite planes in use not being restored properly. The proper solution here is to call directly into our 'commit plane' hook with a copy of the plane's current state that has 'visible' set to false. Committing this dummy state will turn off the plane, but will not touch the actual plane->state pointer, allowing us to properly restore the plane state later. Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2934368e41551b641df6654d93e7ffe26e94dc10 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Wed Mar 4 14:55:17 2015 +0200 drm/i915: Setup all page directories for gen8 If the requested size is less than what the full range of pdps can address, we end up setting pdps for only the requested area. The logical context however needs all pdp entries to be valid. Prior to commit 06fda602dbca ("drm/i915: Create page table allocators") we have been writing pdp entries with dma address of zero instead of valid pdps. This is supposedly bad even if those pdps are not addressed. As commit 06fda602dbca ("drm/i915: Create page table allocators") introduced more dynamic structure for pdps, we ended up oopsing when we populated the lrc context. Analyzing this oops revealed the fact that we have not been writing valid pdps with bsw, as it is doing the ppgtt init with 2GB limit in some cases. We should do the right thing and setup the non addressable part pdps/pde/pte to scratch page through the minimal structure by having just pdp with pde entries pointing to same page with pte entries pointing to scratch page. But instead of going through that trouble, setup all the pdps through individual pd pages and pt entries, even for non addressable parts. And let the clear range point them to scratch page. This way we populate the lrc with valid pdps and wait for dynamic page allocation work to land, and do the heavy lifting for truncating page table tree according to usage. The regression of oopsing in init was introduced by commit 06fda602dbca ("drm/i915: Create page table allocators") v2: Clear the range for the unused part also (Ville) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89350 Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Valtteri Rantala <valtteri.rantala@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 c3346ef688b9956003cd357fef0a2b8c06e72ee8 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Sat Feb 21 11:12:13 2015 +0530 drm/i915/skl: Program PLL for edp1.4 intermediate frequencies v2: Making the link_clock half in switch inline with the DPLL_CTRL1_* macros (Ville) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a8f3ef6197979824ee117d89a26c57e347c62731 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Mar 5 10:02:30 2015 +0530 drm/i915/skl: Add support for edp 1.4 intermediate frequencies eDp 1.4 supports custom frequencies. Skylake supports following intermediate frequencies : 3.24 GHz, 2.16 GHz and 4.32 GHz along with usual LBR, HBR and HBR2 frequencies. Read sink supported frequencies and get common frequencies from sink and source and use these for link training. v2: Rebased, removed calculation of min_clock since for edp it is taken as max_clock (as per comment). v3: Keeping single array for link rates (Satheesh) v4: Setting LINK_BW_SET to 0 when setting LINK_RATE_SET (Satheesh) v5: Some minor nits (Ville) v6: Keeping separate arrays for source and sink rates (Ville) v7: Remove redundant setting of DP_LINK_BW_SET to 0 (Ville) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc0f8e25318f4850fc02e2d1a19a41daf69820c4 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Mar 5 10:03:58 2015 +0530 drm/i915/skl: Read sink supported rates from edp panel v2: Using DP_SUPPORTED_LINK_RATES macro for supported_rates array (Satheesh). v3: Reading dpcd's supported link rates tables based upon edp version in the same patch. v4: Move version check under is_edp (Satheesh) v5: Using le16 for rates, some naming, and removing nested if block (Ville) v6: Correctly using DP_MAX_SUPPORTED_RATES and removing DP_SUPPORTED_LINK_RATES (Ville) v7: Incorrectly removed DP_SUPPORTED_LINK_RATES in v6, re-adding it v8: Checking return value of intel_dp_dpcd_read_wake() (Ville) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dbef0f15b5c83231dacb214dbf9a6dba063ca21c Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:46 2015 -0200 drm/i915: add frontbuffer tracking to FBC Kill the blt/render tracking we currently have and use the frontbuffer tracking infrastructure. Don't enable things by default yet. v2: (Rodrigo) Fix small conflict on rebase and typo at subject. v3: (Paulo) Rebase on RENDER_CS change. v4: (Paulo) Rebase. v5: (Paulo) Simplify: flushes don't have origin (Daniel). Also rebase due to patch order changes. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> 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 3954e733ab0c9449443897f2669e17fff4471a0e Author: Ramalingam C <ramalingam.c@xxxxxxxxx> Date: Tue Mar 3 12:11:46 2015 +0530 drm/i915: Fixing mutex deadlock window at eDP DRRS In invalidate and flush functions of eDP DRRS, if deferred downclock work starts execution at a time window between acquiring the drrs mutex and cancellation of the deferred work (intel_edp_drrs_downclock_work), then deferred work will find drrs mutex locked and wait for the same. Meanwhile the function that acquired mutex drrs invalidate/flush will wait for the completion of the deferred work before releasing the mutex. Thats a deadlock. To avoid such deadlock scenario, this change cancels the deferred work before acquiring the mutex at invalidate and flush functions. Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a54746e39ad5cc27cf3099bec1e813cdf8ad7f7e Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Tue Mar 3 20:53:10 2015 +0530 drm/i915: Add debugfs entry for DRRS Adding a debugfs entry to determine if DRRS is supported or not V2: [By Ram]: Following details about the active crtc will be filled in seq-file of the debugfs 1. Encoder output type 2. DRRS Support on this CRTC 3. DRRS current state 4. Current Vrefresh Format is as follows: CRTC 1: Output: eDP, DRRS Supported: Yes (Seamless), DRRS_State: DRRS_HIGH_RR, Vrefresh: 60 CRTC 2: Output: HDMI, DRRS Supported : No, VBT DRRS_type: Seamless CRTC 1: Output: eDP, DRRS Supported: Yes (Seamless), DRRS_State: DRRS_LOW_RR, Vrefresh: 40 CRTC 2: Output: HDMI, DRRS Supported : No, VBT DRRS_type: Seamless V3: [By Ram]: Readability is improved. Another error case is covered [Daniel] V4: [By Ram]: Current status of the Idleness DRRS along with the Front buffer bits are added to the debugfs. [Rodrigo] V5: [By Ram]: Rephrased to make it easy to understand. And format is modified. [Rodrigo] V6: [By Ram]: Modeset mutex are acquired for each crtc along with renaming the Idleness detection states [Daniel] Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> [danvet: dump full busy_frontbuffer_bits and remove the dubios computed logical state of DRRS - debugfs is about what is fact, developers should reach their own conclusion when debugging issues.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 27cd44618b92fc8c6889e4628407791e45422bac Author: Neil Roberts <neil@xxxxxxxxxxxxxxx> Date: Wed Mar 4 14:41:16 2015 +0000 drm/i915: Add I915_PARAM_REVISION Adds a parameter which can be used with DRM_I915_GETPARAM to query the GPU revision. The intention is to use this in Mesa to implement the WaDisableSIMD16On3SrcInstr workaround on Skylake but only for revision 2. Signed-off-by: Neil Roberts <neil@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10634189fc50d30c7269e3e1af167608f7aebcfc Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Tue Mar 3 15:21:57 2015 +0200 drm/i915: Improve staged config logging When logging that full mode switch is necessary, log which connector, encoder or crtc has caused it, so it is easier to figure out what is goind on by just looking at the log. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a3371ff0d924270fde978c93eb3921ad544eb79 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Tue Mar 3 15:21:56 2015 +0200 drm/i915: Add a for_each_intel_connector macro We have similar macros for crtcs and encoders, and the pattern happens often enough to justify the macro. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a91572f35bda9c39f3d3ac89f0d6e84ae75ae02e Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Tue Mar 3 15:21:55 2015 +0200 drm/i915: Set crtc backpointer when duplicating crtc state In the path were there is no state to duplicate, the allocated crtc state wouldn't have the crtc backpointer initialized. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17fe10218be4663b0be1cf27805c32741eae48a8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Feb 26 21:01:52 2015 +0200 drm/i915: Reduce CHV DPLL min vco frequency to 4.8 GHz The current minimum vco frequency leaves us with a gap in our supported frequencies at 233-243 MHz. Your typical 2560x1440@60 display wants a pixel clock of 241.5 MHz, which is just withing that gap. Reduce the allowed vco min frequency to 4.8GHz to reduce the gap to 233-240 MHz, and thus allow such displays to work. 4.8 GHz is actually the documented (at least in some docs) limit of the PLL, and we just picked 4.86 GHz originally because that was the lowest value produced by the PLL spreadsheet, which obviously didn't consider 2560x1440 displays. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 063e4e6bf9dd793155278d9727088bbfe212295a Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:45 2015 -0200 drm/i915: also do frontbuffer tracking on pwrites We need this for FBC, and possibly for PSR too. v2: Don't only flush: invalidate too (Daniel). 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 a4001f1b75cdb06db0febd9e72d3631f73ba8171 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:44 2015 -0200 drm/i915: pass which operation triggered the frontbuffer tracking We want to port FBC to the frontbuffer tracking infrastructure, but for that we need to know what caused the object invalidation so we can react accordingly: CPU mmaps need manual, GTT mmaps and flips don't need handling and ring rendering needs nukes. v2: - s/ORIGIN_RENDER/ORIGIN_CS/ (Daniel, Rodrigo) - Fix copy/pasted wrong documentation - Rebase v3: - Rebase v4: - Don't pass the operation to flushes (Daniel). 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 ff42e093e9c9c17a6e1d6aab24875a36795f926e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Mar 2 16:35:20 2015 +0100 Revert "drm/i915: Switch planes from transitional helpers to full atomic helpers" This reverts commit 3f678c96abb43a977d2ea41aefccdc49e8a3e896. We've been a bit too optimistic with this one here :( The trouble is that internally we're still using these plane update/disable hooks. Which was totally ok pre-atomic since the drm core did all the book-keeping updating and these just mostly updated hw state. But with atomic there's lots more going on, and it causes heaps of trouble with the load detect code. This one specifically cause a deadlock since both the load detect code and the nested plane atomic helper functions tried to grab the same locks. It only blows up because of the evil tricks though we play with the implicit ww acquire context. Applying this revert unearths the NULL deref on already freed framebuffer objects reported as a regression in 4.0 by various people. Fixing this will be fairly invasive, hence revert even for the 4.1-next queue. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Acked-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 7ff446708bd13574ff3c1dfdc6a819089b79150b Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Mar 2 16:19:36 2015 +0000 drm/i915/skl: Only use the 800mV+2bB HDMI translation entry This translation entry was updated after electrical validation by the hw team. The other entries are removed from existence as they aren't validated and because the sole use of a certain type of level shifter for SKL products is anticipated. v2: Remove all the other entries and force the use of the 800mv+2dB config (Sonika) Suggested-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Cc: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3bdcfc0c2e52fc1507abdbacbadc571aaa5e2e0b Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Feb 28 14:54:09 2015 +0000 drm/i915: Make for_each_sprite() take dev_priv as argument Implicit usage of local variables in macros isn't exactly the greatest thing in the world, especially when that variable is the drm device and we want to move towards a broader use of the i915 device structure. Let's make for_each_sprite() take dev_priv as its first argument then. Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Chris Wilson <chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dd740780a47aa85981349bbea5186b633a8f5d50 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Feb 28 14:54:08 2015 +0000 drm/i915: Make for_each_plane() take dev_priv as argument Implicit usage of local variables in macros isn't exactly the greatest thing in the world, especially when that variable is the drm device and we want to move towards a broader use of the i915 device structure. Let's make for_each_plane() take dev_priv as its first argument then. Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Chris Wilson <chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9393943be66abb3131d06f43dbd94538733e1aa6 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:28 2015 +0100 drm/i915: Remove irq-related FIXME in reset code With the two-step reset counter increments which braket the actual reset code and the subsequent wake-up we're guaranteeing that all the lockless waiters _will_ be woken up. And since we unconditionally bail out of waits with -EAGAIN (or -EIO) in that case there is not risk of lost interrupt enabling bits when the lockless wait code races against a gpu reset. Let's remove this FIXME as resolved then. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fd0753cf8052bc6f3f56364177a6de7847135a9b Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Sat Feb 28 17:20:41 2015 +0100 drm/i915: Fix trivial typos in comments and warning message Change 'mutliple' to 'multiple' Change 'mutlipler' to 'multiplier' Change 'Haswel' to 'Haswell' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 59bea8822f2d2e038a84750576a002049ad30ce1 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Feb 27 10:12:01 2015 -0800 drm/i915: Use plane->state->fb in watermark code (v2) plane->fb is a legacy pointer that not always be up-to-date (or updated early enough). Make sure the watermark code uses plane->state->fb so that we're always doing our calculations based on the correct framebuffers. This patch was generated by Coccinelle with the following semantic patch: @@ struct drm_plane *P; @@ - P->fb + P->state->fb v2: Rebase Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3dd512fbda0d87d1c3fb44bf878b262baee98fb6 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Feb 27 10:12:00 2015 -0800 drm/i915: Kill intel_crtc->cursor_{width, height} (v2) The cursor size fields in intel_crtc just duplicate the data from cursor->state.crtc_{w,h} so we don't need them any more. Worse, their use in the watermark code actually introduces a subtle bug since they don't get updated to mirror the state values until the plane commit stage, which is *after* we've already used them to calculate new watermark values. This happens because we had to move watermark updates slightly earlier (outside vblank evasion) in commit commit 32b7eeec4d1e861230b09d437e95d76c86ff4a68 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Dec 24 07:59:06 2014 -0800 drm/i915: Refactor work that can sleep out of commit (v7) Dropping the intel_crtc fields and just using the state values (which are properly updated by the time watermark updates happen) should solve the problem. Aside from the actual removal of the struct fields (which are formatted in a way that I couldn't figure out how to match in Coccinelle), the rest of this patch was generated via the following semantic patch: // Drop assignment @@ struct intel_crtc *C; struct drm_plane_state S; @@ ( - C->cursor_width = S.crtc_w; | - C->cursor_height = S.crtc_h; ) // Replace usage @@ struct intel_crtc *C; expression E; @@ ( - C->cursor_width + C->base.cursor->state->crtc_w | - C->cursor_height + C->base.cursor->state->crtc_h | - to_intel_crtc(E)->cursor_width + E->cursor->state->crtc_w | - to_intel_crtc(E)->cursor_height + E->cursor->state->crtc_h ) v2: Rebase Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Joe Konno <joe.konno@xxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89346 Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d5dbc518cd8fbc7cf54b91d5b506eb4d67e4047d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 17 18:27:28 2015 -0300 perf hists browser: Allow annotating entries in callchains Instead of annotating just the top level hist_entry, allow instead annotating a map_symbol, i.e. the top level hist_entry or one of the callchains for which there were samples. Suggested-by: Stephane Eranian <eranian@xxxxxxxxxx> 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-k1zxj5564je9jei4yd15ouwn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4c47f4fcd60a2f4153d6fe0c31650fbec112a1bd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 17 17:18:58 2015 -0300 perf hists: Remove hist_entry->used, not used anymore Since hist_entry__delete() nowadays doesn't actually frees anything that may be in use by the annotation code. Eventually we will solve this for good by reference counting struct symbol. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-uldtgljymtrkns0knpiso5op@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fb83b6351052bf78686df2559f7ea6b10e596850 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 16 23:34:34 2015 +0100 ALSA: hda - Simplify PCM setup overrides This patch does two things: - code refactoring with a local helper function, - allow codec drivers to provide the specific PCM stream info pointers only for overriding the non-NULL entries, instead of copying the whole. This simplifies the codec driver side (currently the only user is alc269's 44kHz fixed rate). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9f2dbdd9b11d40f5fe0749eb91cd1cfc86fde575 Merge: c249739 7970ddc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 17 15:18:12 2015 -0400 Merge branch 'listener_refactor_part_11' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 11 Before inserting request sockets into general (ehash) table, we need to prepare netfilter to cope with them, as they are not full sockets. I'll later change xt_socket to get full support, including for request sockets (NEW_SYN_RECV) Save 8 bytes in inet_request_sock on 64bit arches. We'll soon add a pointer to the listener socket. I included two TCP changes in this patch series. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7970ddc8f9ffe149b392975da60739ccd1796dea Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:20 2015 -0700 tcp: uninline tcp_oow_rate_limited() tcp_oow_rate_limited() is hardly used in fast path, there is no point inlining it. Signed-of-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bfc4438a7ef99e8a6cba0bd3a86249430256621 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:19 2015 -0700 tcp: move tcp_openreq_init() to tcp_input.c This big helper is called once from tcp_conn_request(), there is no point having it in an include. Compiler will inline it anyway. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit adc17d6a6ca08d11f70f6c49f3d40b87b68fe53f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:18 2015 -0700 inet: move ir_mark to fill a hole On 64bit arches, we can save 8 bytes in inet_request_sock by moving ir_mark to fill a hole. While we are at it, inet_request_mark() can get a const qualifier for listener socket. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9407000038805e5215a49c0a50c9e2b2ff38220 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:17 2015 -0700 netfilter: xt_socket: prepare for TCP_NEW_SYN_RECV support TCP request socks soon will be visible in ehash table. xt_socket will be able to match them, but first we need to make sure to not consider them as full sockets. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b5801477926a2b018afc84a53c0b8818843fe73 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:16 2015 -0700 netfilter: tproxy: prepare TCP_NEW_SYN_RECV support TCP request socks soon will be visible in ehash table. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8399231f0b6e72bc140bcc4fecb0c622298a6bd Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 21:06:15 2015 -0700 netfilter: use sk_fullsock() helper Upcoming request sockets have TCP_NEW_SYN_RECV state and should be special cased a bit like TCP_TIME_WAIT sockets. Signed-off-by; Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c24973957975403521ca76a776c2dfd12fbe9add Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Mar 16 18:06:02 2015 -0700 bpf: allow BPF programs access 'protocol' and 'vlan_tci' fields as a follow on to patch 70006af95515 ("bpf: allow eBPF access skb fields") this patch allows 'protocol' and 'vlan_tci' fields to be accessible from extended BPF programs. The usage of 'protocol', 'vlan_present' and 'vlan_tci' fields is the same as corresponding SKF_AD_PROTOCOL, SKF_AD_VLAN_TAG_PRESENT and SKF_AD_VLAN_TAG accesses in classic BPF. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9cf7867c24bacdaa100e8a06b882005646a9095d Merge: 617011e 2c71ec9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 17 15:00:28 2015 -0400 Merge branch 'const_of_device_id' Fabian Frederick says: ==================== drivers/net: constify of_device_id array This small patchset adds const to of_device_id arrays in drivers/net branch. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c71ec9963f897663f9dd2c88d0e75710768c481 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:28 2015 +0100 via-velocity: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2b75a3f7d3e08c7d8a2fe9cb60d164ba7a2d91a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:27 2015 +0100 net: via-rhine: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abae1e0718c1026b76011a1bf7f9f28799be9092 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:26 2015 +0100 ehea: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47b61667937a11c7dd8bb81e7e0c3e6593d18e9a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:25 2015 +0100 IBM-EMAC: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 486e957033623656298a07c39a8bf2fd81db285b Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:24 2015 +0100 can: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d8a7dadbdfde042c07599e8ac90c7718aef76da7 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:23 2015 +0100 net: phy: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3848124b3e81055e176377345beb37ee07944d91 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:40:22 2015 +0100 orinoco: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74847f231c8a429c8c5d382ac2dbb46766561ee0 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:40 2015 +0100 net: xilinx: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73c7047464f26c00389b142cb1c35a695ff59777 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:39 2015 +0100 net: greth: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 437dab40bbfadb72e930adc10da62e5f66129769 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:38 2015 +0100 netdev: octeon_mgmt: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14448e2f8031a46d509c01dacc9834bd623a928d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:37 2015 +0100 net: ethernet: apple: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6b0dc2af494456b197048b75321a871e13dc398 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:36 2015 +0100 drivers: net: xgene: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa2b183726df83217dec2b7c0f44317b1045915a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:35 2015 +0100 net: ethoc: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94e5a2a88affa2ff9f95c8577166d2954a110ea8 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:34 2015 +0100 net/fsl: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27260530db1d926905c2c4e904cb8468b4373c03 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:33 2015 +0100 Altera TSE: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1156c96538e63f7e4fe9471674c74fc3f496681d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 17 19:37:32 2015 +0100 net: netcp: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea7618ecb244b36bf6e1ba00b7de801dc1e9a951 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Mar 17 12:56:30 2015 -0600 brd: update maintainer to be Jens Axboe Nick Piggin is currently listed as the maintainer of BRD in MAINTAINERS, but the mails sent to the listed address are returned as undeliverable. Update the maintainer for BRD to be Jens Axboe, since patches for BRD flow up through him. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 341e42c4e3f97af9bbeada64c3e1a41f65ce086a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Feb 27 16:11:35 2015 -0800 ARM: perf: Add support for Scorpion PMUs Scorpion supports a set of local performance monitor event selection registers (LPM) sitting behind a cp15 based interface that extend the architected PMU events to include Scorpion CPU and Venum VFP specific events. To use these events the user is expected to program the lpm register with the event code shifted into the group they care about and then point the PMNx event at that region+group combo by writing a LPMn_GROUPx event. Add support for this hardware. Note: the raw event number is a pure software construct that allows us to map the multi-dimensional number space of regions, groups, and event codes into a flat event number space suitable for use by the perf framework. This is based on code originally written by Sheetal Sahasrabudhe, Ashwin Chaugule, and Neil Leeder [1]. [1] https://www.codeaurora.org/cgit/quic/la/kernel/msm/tree/arch/arm/kernel/perf_event_msm.c?h=msm-3.4 Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Neil Leeder <nleeder@xxxxxxxxxxxxxx> Cc: Ashwin Chaugule <ashwinc@xxxxxxxxxxxxxx> Cc: Sheetal Sahasrabudhe <sheetals@xxxxxxxxxxxxxx> Cc: <devicetree@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 934999185edd613ca80916d238ba7393b84ae53c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Sat Feb 28 00:11:34 2015 +0000 ARM: perf: Only reset PMxEVCNTCR registers on reset The Krait specific PMxEVCNTCR register is unpredictable upon reset. Currently we clear the register before we setup an event, but we don't need to do that. Instead, we can iterate through all the events and clear them once when we reset the PMU, saving a write in the event setup path. Cc: Neil Leeder <nleeder@xxxxxxxxxxxxxx> Cc: Ashwin Chaugule <ashwinc@xxxxxxxxxxxxxx> Cc: Sheetal Sahasrabudhe <sheetals@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 65bab45113a2c5e9f13bc8cc3f6fea92f467d417 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Sat Feb 28 00:11:33 2015 +0000 ARM: perf: Preparatory work for Scorpion PMU support Do some things to make the Krait PMU support code generic enough to be used by the Scorpion PMU support code. * Rename the venum register functions to be venum instead of krait specific because the same registers exist on Scorpion * Add some macros to decode our Krait specific event encoding that's the same on Scorpion (modulo an extra region). * Drop 'krait' from krait_clear_pmresrn_group() so it can be used by Scorpion code Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit cfdda3535f87e752780ca18a57d13db58f6a6913 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Mar 18 03:26:11 2015 +0900 ARM: EXYNOS: Fix build breakage cpuidle on !SMP The Exynos cpuidle driver has coupled cpuidle built-in so it cannot be built without SMP: arch/arm/mach-exynos/pm.c: In function 'exynos_cpu0_enter_aftr': arch/arm/mach-exynos/pm.c:246:4: error: implicit declaration of function 'arch_send_wakeup_ipi_mask' [-Werror=implicit-function-declaration] arch/arm/mach-exynos/built-in.o: In function 'exynos_pre_enter_aftr': ../arch/arm/mach-exynos/pm.c:300: undefined reference to 'cpu_boot_reg_base' arch/arm/mach-exynos/built-in.o: In function 'exynos_cpu1_powerdown': ../arch/arm/mach-exynos/pm.c:282: undefined reference to 'exynos_cpu_power_down' Fix it by adding missing checks for SMP. Reported-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit a7b0aa1932b1cdffe4aa901f562309d5fb5e8c4b Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Mar 17 11:43:51 2015 +0200 ARM: dts: dra7x-evm: beagle-x15: Fix USB Peripheral Now that we have EXTCON_USB_GPIO queued for v4.1, revert commit addfcde7c485 ("ARM: dts: dra7x-evm: beagle-x15: Fix USB Host") On these EVMs, the USB cable state has to be determined via the ID pin tied to a GPIO line. We use the gpio-usb-extcon driver to read the ID pin and the extcon framework to forward the USB cable state information to the USB driver so the controller can be configured in the right mode (host/peripheral). Gets USB peripheral mode to work on this EVM. Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 19c5ce9c5ff80a26cba3afb3684d56539444ee40 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sun Mar 15 19:34:04 2015 +0200 Bluetooth: Add workaround for broken OS X legacy SMP pairing OS X version 10.10.2 (and possibly older versions) doesn't support LE Secure Connections but incorrectly copies all authentication request bits from a Security Request to its Pairing Request. The result is that an SC capable initiator (such as BlueZ) will think OS X intends to do SC when in fact it's incapable of it: < ACL Data TX: Handle 3585 flags 0x00 dlen 6 SMP: Security Request (0x0b) len 1 Authentication requirement: Bonding, No MITM, SC, No Keypresses (0x09) > ACL Data RX: Handle 3585 flags 0x02 dlen 11 SMP: Pairing Request (0x01) len 6 IO capability: KeyboardDisplay (0x04) OOB data: Authentication data not present (0x00) Authentication requirement: Bonding, No MITM, SC, No Keypresses (0x09) Max encryption key size: 16 Initiator key distribution: EncKey (0x01) Responder key distribution: EncKey IdKey Sign (0x07) < ACL Data TX: Handle 3585 flags 0x00 dlen 11 SMP: Pairing Response (0x02) len 6 IO capability: NoInputNoOutput (0x03) OOB data: Authentication data not present (0x00) Authentication requirement: Bonding, No MITM, SC, No Keypresses (0x09) Max encryption key size: 16 Initiator key distribution: EncKey (0x01) Responder key distribution: EncKey Sign (0x05) The pairing eventually fails when we get an unexpected Pairing Confirm PDU instead of a Public Key PDU: > ACL Data RX: Handle 3585 flags 0x02 dlen 21 SMP: Pairing Confirm (0x03) len 16 Confim value: bcc3bed31b8f313a78ec3cce32685faf It is only at this point that we can speculate that the remote doesn't really support SC. This patch creates a workaround for the just-works model, however the MITM case is unsolvable because the OS X user has already been requested to enter a PIN which we're now expected to randomly generate and show the user (i.e. a chicken-and-egg problem). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1cd3de0a27687e07457fd561e61480d2d2278875 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Mar 18 02:34:38 2015 +0900 ARM: EXYNOS: Remove left over 'extra_save' Since 32b0aa9aaeb4 ("ARM: EXYNOS: Remove i2c sys configuration related code") the Exynos 5250 no longer saves additional registers under 'exynos_pm_data.extra_save' field. No one else uses this code so get rid of it making also 'exynos_pm_data' const everywhere. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 7383833784e9ce894563d4827ea79ab41fadfbd7 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Mar 18 02:34:37 2015 +0900 ARM: EXYNOS: Constify exynos_pm_data array The 'exynos5420_pm_data' is not modified and can be made const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 8c8a251130f173a69b7df4c3225668e39708f743 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Mar 18 02:32:40 2015 +0900 ARM: EXYNOS: use static in suspend.c The 'pm_data', 'exynos_release_ret_regs', 'exynos3250_release_ret_regs' and 'exynos5420_release_ret_regs' are not exported nor used outside of suspend.c file. Make them static. This fixes following sparse warnings: arch/arm/mach-exynos/suspend.c:83:23: warning: symbol 'pm_data' was not declared. Should it be static? arch/arm/mach-exynos/suspend.c:106:14: warning: symbol 'exynos_release_ret_regs' was not declared. Should it be static? arch/arm/mach-exynos/suspend.c:117:14: warning: symbol 'exynos5420_release_ret_regs' was not declared. Should it be static? Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 70e9d7b59f5d56cb83ace31380ac75531fbbb591 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Mar 18 02:19:24 2015 +0900 ARM: EXYNOS: Use platform device name as power domain name The power domain nodes in DTS may be very generic (e.g. "power-domain" for Exynos 5420) making it very hard to debug: $ cat /sys/kernel/debug/pm_genpd/pm_genpd_summary domain status slaves power-domain on Use platform device name instead so the names will be a little more user friendly: domain status slaves 100440e0.power-domain on Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Suggested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Suggested-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit d6d8011de368e04818e2337ebfd048eb415028d5 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Mar 18 02:16:42 2015 +0900 ARM: exynos_defconfig: Enable ChromeOS EC chardev driver Exynos Chromebooks have an Embedded Controller known as the ChromeOS EC Enable the driver that provides an interface to access from user-space. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit fa87bd4360ab4244467571f4235ccb2b362fea24 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Mar 18 02:14:07 2015 +0900 ARM: dts: add async-bridge clocks to gsc power domain for exynos5420 Both GSCALER IPs in gsc power domain have async-bridges (to FIMD and MIXER), therefore their clocks should be enabled during power domain switch. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ffb8b1ee9a704229f0b6753970ae09dc4d6863d9 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Mar 18 02:14:07 2015 +0900 ARM: dts: add async-bridge clocks to disp1 power domain for exynos5420 FIMD and MIXER IPs in disp1 power domain have async-bridges (to GSCALER), therefore their clocks should be enabled during power domain switch. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 472c95a6e352413af068b42ab0db2b2e23c20756 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Mar 18 02:14:07 2015 +0900 dt-bindings: add asynchronous bridge clock for exynos The patch adds bindings for clocks required by async-bridges present in the particular power domain. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 528eae6c14a45f40809733862675f6cf03998d17 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Mar 18 02:12:23 2015 +0900 ARM: EXYNOS: add support for async-bridge clocks for pm_domains Since Exynos5420 there are async-bridges (ASB) between different IPs. These bridges must be operational during power domain on/off, ie. clocks used by these bridges should be enabled. This patch enabled these clocks during domain on/off. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit fa4335d71a1408d0112c15874538f3f4e153ba01 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 17 13:48:50 2015 +0200 Bluetooth: Move generic mgmt command dispatcher to hci_sock.c The mgmt.c file should be reserved purely for HCI_CHANNEL_CONTROL. The mgmt_control() function in it is already completely generic and has a single user in hci_sock.c. This patch moves the function there and renames it a bit more appropriately to hci_mgmt_cmd() (as it's a command dispatcher). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 88b94ce925cb103851f39bfa7e23e09823573d30 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 17 13:48:49 2015 +0200 Bluetooth: Add hdev_init callback for HCI channels In order to make the mgmt command handling more generic we can't have a direct call to mgmt_init_hdev() from mgmt_control(). This patch adds a new callback to struct hci_mgmt_chan. And sets it to point to the mgmt_init_hdev() function for the HCI_CHANNEL_CONTROL instance. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a380b6cff1a2d2139772e88219d08330f84d0381 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 17 13:48:48 2015 +0200 Bluetooth: Add generic mgmt helper API There are several mgmt protocol features that will be needed by more than just the current HCI_CHANNEL_CONTROL. These include sending generic events as well as handling pending commands. This patch moves these functions out from mgmt.c to a new mgmt_util.c file. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 333ae95d054519f64303f0e149b4b9653cc4635b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 17 13:48:47 2015 +0200 Bluetooth: Add channel parameter to mgmt_pending_find() API To be able to have pending commands for different HCI channels we need to be able to distinguish for which channel a command was sent to. The channel information is already part of the socket data and can be fetched using the recently added hci_sock_get_channel() function. To not require all mgmt.c code to pass an extra channel parameter this patch also adds a helper pending_find() & pending_find_data() functions which act as a wrapper to the new mgmt_pending_find() & mgmt_pending_find_data() APIs. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d0f172b14afa7e0d8a19db5baa07e20b3ec8dcc8 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 17 13:48:46 2015 +0200 Bluetooth: Add helper to get HCI channel of a socket We'll need to have access to which HCI channel a socket is bound to, in order to manage pending mgmt commands in clean way. This patch adds a helper for the purpose. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ad08fd494bf00c03ae372e0bbd9cefa37bf608d6 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Mon Mar 16 09:30:39 2015 +0000 arm64: Adjust EFI libstub object include logic Commit f4f75ad5 ("efi: efistub: Convert into static library") introduced a static library for EFI stub, libstub. The EFI libstub directory is referenced by the kernel build system via a obj subdirectory rule in: drivers/firmware/efi/Makefile Unfortunately, arm64 also references the EFI libstub via: libs-$(CONFIG_EFI_STUB) += drivers/firmware/efi/libstub/ If we're unlucky, the kernel build system can enter libstub via two simultaneous threads resulting in build failures such as: fixdep: error opening depfile: drivers/firmware/efi/libstub/.efi-stub-helper.o.d: No such file or directory scripts/Makefile.build:257: recipe for target 'drivers/firmware/efi/libstub/efi-stub-helper.o' failed make[1]: *** [drivers/firmware/efi/libstub/efi-stub-helper.o] Error 2 Makefile:939: recipe for target 'drivers/firmware/efi/libstub' failed make: *** [drivers/firmware/efi/libstub] Error 2 make: *** Waiting for unfinished jobs.... This patch adjusts the arm64 Makefile to reference the compiled library explicitly (as is currently done in x86), rather than the directory. Fixes: f4f75ad5 efi: efistub: Convert into static library Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 667f3fd3950c123fd62d3b15d9db80926e75f1f0 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Mar 13 16:14:37 2015 +0000 arm64: log CPU boot modes We currently don't log the boot mode for arm64 as we do for arm, and without KVM the user is provided with no indication as to which mode(s) CPUs were booted in, which can seriously hinder debugging in some cases. Add logging to the boot path once all CPUs are up. Where CPUs are mismatched in violation of the boot protocol, WARN and set a taint (as we do for CPU other CPU feature mismatches) given that the firmware/bootloader is buggy and should be fixed. Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 424a383824faecce246691694fd5546859dac511 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Mar 13 16:14:36 2015 +0000 arm64: fix hyp mode mismatch detection Commit 828e9834e9a5b7e6 ("arm64: head: create a new function for setting the boot_cpu_mode flag") added BOOT_CPU_MODE_EL1, a nonzero value replacing uses of zero. However it failed to update __boot_cpu_mode appropriately. A CPU booted at EL2 writes BOOT_CPU_MODE_EL2 to __boot_cpu_mode[0], and a CPU booted at EL1 writes BOOT_CPU_MODE_EL1 to __boot_cpu_mode[1]. Later is_hyp_mode_mismatched() determines there to be a mismatch if __boot_cpu_mode[0] != __boot_cpu_mode[1]. If all CPUs are booted at EL1, __boot_cpu_mode[0] will be set to BOOT_CPU_MODE_EL1, but __boot_cpu_mode[1] will retain its initial value of zero, and is_hyp_mode_mismatched will erroneously determine that the boot modes are mismatched. This hasn't been a problem so far, but later patches which will make use of is_hyp_mode_mismatched() expect it to work correctly. This patch initialises __boot_cpu_mode[1] to BOOT_CPU_MODE_EL1, fixing the erroneous mismatch detection when all CPUs are booted at EL1. Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 137650aad96c9594683445e41afa8ac5a2097520 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Mar 13 16:14:34 2015 +0000 arm64: apply alternatives for !SMP kernels Currently we only perform alternative patching for kernels built with CONFIG_SMP, as we call apply_alternatives_all() in smp.c, which is only built for CONFIG_SMP. Thus !SMP kernels may not have necessary alternatives patched in. This patch ensures that we call apply_alternatives_all() once all CPUs are booted, even for !SMP kernels, by having the smp_init_cpus() stub call this for !SMP kernels via up_late_init. A new wrapper, do_post_cpus_up_work, is added so we can hook other calls here later (e.g. boot mode logging). Cc: Andre Przywara <andre.przywara@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Fixes: e039ee4ee3fcf174 ("arm64: add alternative runtime patching") Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 7e9603638ac69696be5bcc2614365c1e8cc892dd Author: Andreas Bofjall <andreas@xxxxxxxxxx> Date: Mon Mar 9 21:55:14 2015 +0100 gpio: f7188x: add GPIO support for F71869A Add support for the GPIOs found on the Fintek SuperI/O chip F71869A, such as the one found on the Jetway JNF99-525 motherboard, to the f7188x gpio driver. Signed-off-by: Andreas Bofjall <andreas@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 24ccef359e8c540083a89a8f2347fae451fe8086 Author: Andreas Bofjall <andreas@xxxxxxxxxx> Date: Mon Mar 9 21:55:13 2015 +0100 gpio: f7188x: add GPIO support for F71869 Add support for the GPIOs found on the Fintek SuperI/O chip F71869, such as the one found on the Jetway NF96u-525 motherboard, to the f7188x gpio driver. Signed-off-by: Andreas Bofjall <andreas@xxxxxxxxxx> Tested-by: Les Schaffer <schaffer@xxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3f8f4f19b94cc50e8a3fa3f63815caa0677ff57a Author: Andreas Bofjall <andreas@xxxxxxxxxx> Date: Mon Mar 9 21:55:12 2015 +0100 gpio: f7188x: correct spelling of "Fintek" The company is called "Fintek", not "Fintech". Fix it. Signed-off-by: Andreas Bofjall <andreas@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b6202855d14752a3822db48c7e9ed534de672af1 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Mar 11 12:21:17 2015 +0100 gpio: fix constconst in devres Commit 1feb57a245a4910b03202a814ffc51a900bd4aca "gpio: add parameter to allow the use named gpios" includes a double-consted array. What we want is not const const * but const * const (const pointer to const data). Fix this. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Olliver Schinagl <oliver@xxxxxxxxxxx> Cc: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 435c3454485158cbc65e986e584023d35e04edd0 Author: Andreas Faerber <afaerber@xxxxxxx> Date: Wed Mar 18 01:32:02 2015 +0900 ARM: dts: fix lid and power pin-functions for exynos5250-spring Configure the pins in external interrupt mode, as done for Snow in e5e5c6d14e39 ("ARM: dts: Add power and lid GPIO keys pinctrl for exynos5250-snow"). Reported-by: Kukjin Kim <kgene@xxxxxxxxxx> Suggested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Fixes: 53dd4138bb0a ("ARM: dts: Add exynos5250-spring device tree") Signed-off-by: Andreas Faerber <afaerber@xxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 49c989a0d6cd097f00f45e5c180bf3e315ca2bfa Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:17 2015 -0700 Bluetooth: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for BTUSB_CSR CSR controllers can do both LE scan and BR/EDR inquiry at once. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c11548427deded1c742888c64c8b07530f8134e6 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:16 2015 -0700 Bluetooth: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for BTUSB_INTEL Intel controllers can do both LE scan and BR/EDR inquiry at once. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 3d50d51a530d7c672cfbac03fef365b1fa7a244e Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:15 2015 -0700 Bluetooth: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for BTUSB_ATH3012 Atheros controllers can do both LE scan and BR/EDR inquiry at once. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 07d2334ae747772fc4426077340aa3efe499f50b Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:14 2015 -0700 Bluetooth: Add simultaneous dual mode scan When doing scan through mgmt api, some controllers can do both le and classic scan at same time. They can be distinguished by HCI_QUIRK_SIMULTANEOUS_DISCOVERY set. This patch enables them to use this feature when doing dual mode scan. Instead of doing le, then classic scan, both scans are run at once. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 812abb13a97b7049c883ffb8431b81eb404a0938 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:13 2015 -0700 Bluetooth: Refactor BR/EDR inquiry and LE scan triggering. This patch refactor BR/EDR inquiry and LE scan triggering logic into separate methods. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 695c4cb61926ddef2481dbcefef44498a7c1e5b5 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Tue Mar 17 09:04:12 2015 -0700 Bluetooth: Introduce HCI_QUIRK_SIMULTANEOUS_DISCOVERY Some controllers allow both LE scan and BR/EDR inquiry to run at the same time, while others allow only one, LE SCAN or BR/EDR inquiry at given time. Since this is specific to each controller, add a new quirk setting that allows drivers to tell the core wether given controller can do both LE scan and BR/EDR inquiry at same time. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7e9e20b1faab02357501553d7f4e3efec1b4cfd3 Author: Andreas Faerber <afaerber@xxxxxxx> Date: Wed Mar 18 01:25:18 2015 +0900 ARM: dts: fix mmc node updates for exynos5250-spring Resolve a merge conflict with mmc refactoring aaa25a5a33cb ("ARM: dts: unuse the slot-node and deprecate the supports-highspeed for dw-mmc in exynos") by dropping the slot@0 nodes, moving its bus-width property to the mmc node and replacing supports-highspeed with cap-{mmc,sd}-highspeed, matching exynos5250-snow. Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Fixes: 53dd4138bb0a ("ARM: dts: Add exynos5250-spring device tree") Signed-off-by: Andreas Faerber <afaerber@xxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.19+] Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 1efff914afac8a965ad63817ecf8861a927c2ace Author: Theodore Ts'o <tytso@xxxxxxx> Date: Tue Mar 17 12:23:32 2015 -0400 fs: add dirtytime_expire_seconds sysctl Add a tuning knob so we can adjust the dirtytime expiration timeout, which is very useful for testing lazytime. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit a2f4870697a5bcf4a87073ec6b32dd2928c1211d Author: Theodore Ts'o <tytso@xxxxxxx> Date: Tue Mar 17 12:23:19 2015 -0400 fs: make sure the timestamps for lazytime inodes eventually get written Jan Kara pointed out that if there is an inode which is constantly getting dirtied with I_DIRTY_PAGES, an inode with an updated timestamp will never be written since inode->dirtied_when is constantly getting updated. We fix this by adding an extra field to the inode, dirtied_time_when, so inodes with a stale dirtytime can get detected and handled. In addition, if we have a dirtytime inode caused by an atime update, and there is no write activity on the file system, we need to have a secondary system to make sure these inodes get written out. We do this by setting up a second delayed work structure which wakes up the CPU much more rarely compared to writeback_expire_centisecs. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit dab2732f60cbfb6e94fd840b4fb76c499506f544 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Mar 18 00:43:43 2015 +0900 ARM: exynos_defconfig: Enable CPU idle Current Exynos CPU idle driver supports entering AFTR (Arm Off, Top Running) mode on Exynos 4210 (coupled), Exynos 4x12 and Exynos 5250. Enable it in default configuration to reduce energy consumption. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 040464888a1acde0f1df9d16842652e7a0e3c780 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Mar 18 00:42:17 2015 +0900 ARM: exynos_defconfig: Enable Marvell WiFi-Ex support Exynos5420 Peach Pit and Exynos5800 Peach Pi boards have a MMC/SDIO Marvell WiFi-Ex chip. This patch enables wireless support and the mwifiex driver. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 18280d8b4bcd4a2b174ee3cd748166c6190acacb Author: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 16:05:41 2015 +0100 KVM: s390: represent SIMD cap in kvm facility The patch represents capability KVM_CAP_S390_VECTOR_REGISTERS by means of the SIMD facility bit. This allows to a) disable the use of SIMD when used in conjunction with a not-SIMD-aware QEMU, b) to enable SIMD when used with a SIMD-aware version of QEMU and c) finally by means of a QEMU version using the future cpu model ioctls. Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Tested-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 400ac6cd73633f61e42a035b910c3db2b590b9d5 Author: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 11:03:07 2015 +0100 KVM: s390: drop SIMD bit from kvm_s390_fac_list_mask Setting the SIMD bit in the KVM mask is an issue because it makes the facility visible but not usable to the guest, thus it needs to be removed again. Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 30ee2a984f07b00895e0e01d78859b3aff9307c7 Author: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 09:23:01 2014 -0400 KVM: s390: Create ioctl for Getting/Setting guest storage keys Provide the KVM_S390_GET_SKEYS and KVM_S390_SET_SKEYS ioctl which can be used to get/set guest storage keys. This functionality is needed for live migration of s390 guests that use storage keys. Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 46a0b9ff21d3c409a65d285e8a7a39f07f495706 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Mar 18 00:31:33 2015 +0900 ARM: dts: Define stdout-path property for exynos5250-spring The kernel can use as the default console a serial port if is defined as stdout device in the Device Tree. This allows a board to be booted without the need of having a console parameter in the kernel command line. Currently the Spring DTS has bootargs in the /chosen node and this is kept since users that don't have a serial console on this board might be using it to have the boot log shown in the display. This will have more precedence than the stdout-path but it's fine since is only used when CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is enabled. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 038e4096054c90f78a9d14eca41b715154341d13 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Mar 18 00:31:27 2015 +0900 ARM: dts: Define stdout-path property for exynos5250-snow The kernel can use as the default console a serial port if is defined as stdout device in the Device Tree. This allows a board to be booted without the need of having a console parameter in the kernel command line. Currently the Snow DTS has a bootargs in the /chosen node and this is kept since users that don't have a serial console on this board might be using it to have the boot log shown in the display. This will have more precedence than the stdout-path but it's fine since is only used when CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is enabled. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 1d1b00aae0bc0b0aba7844099149170744fc1b30 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Mar 18 00:31:22 2015 +0900 ARM: dts: Define stdout-path property for Peach boards The kernel can use as the default console a serial port if is defined as stdout device in the Device Tree. This allows a board to be booted without the need of having a console parameter in the kernel command line. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit d907c4f05cc7cb18d0f41f23cadf7f8ec10bfd29 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Mar 17 10:32:39 2015 +0100 at86rf230: fix at86rf230_read_subreg succeed handling This patch fix an issue when at86rf230_read_subreg was successful. The function at86rf230_read_subreg will directly call regmap_read which returns zero on successful. Nobody figured out issues yet because it was only necessary to evaluate dvdd state while probing. This could make trouble because the stack variable could have an random value. The function is also used by reset the irq line before requesting irq, but the value isn't evaluated afterwards. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e44fc8c9dab215ac0e398622a05574cffd5f5184 Author: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 30 16:55:56 2015 +0100 KVM: s390: introduce post handlers for STSI The Store System Information (STSI) instruction currently collects all information it relays to the caller in the kernel. Some information, however, is only available in user space. An example of this is the guest name: The kernel always sets "KVMGuest", but user space knows the actual guest name. This patch introduces a new exit, KVM_EXIT_S390_STSI, guarded by a capability that can be enabled by user space if it wants to be able to insert such data. User space will be provided with the target buffer and the requested STSI function code. Reviewed-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 41408c28f283b49202ae374b1c42bc8e9b33a048 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 15:01:21 2015 +0100 KVM: s390: Add MEMOP ioctls for reading/writing guest memory On s390, we've got to make sure to hold the IPTE lock while accessing logical memory. So let's add an ioctl for reading and writing logical memory to provide this feature for userspace, too. The maximum transfer size of this call is limited to 64kB to prevent that the guest can trigger huge copy_from/to_user transfers. QEMU currently only requests up to one or two pages so far, so 16*4kB seems to be a reasonable limit here. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 664b4973537068402954bee6e2959b858f263a6f Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:17:25 2015 +0300 KVM: s390: Add access register mode Access register mode is one of the modes that control dynamic address translation. In this mode the address space is specified by values of the access registers. The effective address-space-control element is obtained from the result of the access register translation. See the "Access-Register Introduction" section of the chapter 5 "Program Execution" in "Principles of Operations" for more details. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 75a1812230ad7ad16e5a06b5ef2220f765b12da5 Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 22 12:44:11 2015 +0300 KVM: s390: Optimize paths where get_vcpu_asce() is invoked During dynamic address translation the get_vcpu_asce() function can be invoked several times. It's ok for usual modes, but will be slow if CPUs are in AR mode. Let's call the get_vcpu_asce() once and pass the result to the called functions. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 8ae04b8f500b9f46652c63431bf658223d875597 Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 13:24:51 2015 +0300 KVM: s390: Guest's memory access functions get access registers In access register mode, the write_guest() read_guest() and other functions will invoke the access register translation, which requires an ar, designated by one of the instruction fields. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit dd9e5b7bdba3250c075a212ff632d31edfa91ae7 Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 14:26:14 2015 +0300 KVM: s390: Fix low-address protection for real addresses The kvm_s390_check_low_addr_protection() function is used only with real addresses. According to the POP (the "Low-Address Protection" paragraph in chapter 3), if the effective address is real or absolute, the low-address protection procedure should raise a PROTECTION exception only when the low-address protection is enabled in the control register 0 and the address is low. This patch removes ASCE checks from the function and renames it to better reflect its behavior. Cc: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 40f5b735e867b8fd3e6090f5a184950c68d227bb Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:55:53 2015 +0100 KVM: s390: cleanup jump lables in kvm_arch_init_vm As all cleanup functions can handle their respective NULL case there is no need to have more than one error jump label. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 1e8d242478a471b92b07e7966faa9f618df98e61 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:27:12 2015 +0100 KVM: s390: Spelling s/intance/instance/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Message-Id: <1425932832-6244-1-git-send-email-geert+renesas@xxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 52005dece52703e18af4611e9c15f9d923c737ea Author: Beata Michalska <b.michalska@xxxxxxxxxxx> Date: Wed Mar 18 00:21:46 2015 +0900 ARM: dts: Add assigned clock parents to CMU node for exynos3250 Use assigned-clocks/assigned-clock-parents properties for CMU clock controller DT node to secure proper clock setup: switching the two muxes to root oscillator clock is not only required for proper powering down the ISP power domain, but it also reduces the risk of accessing the ISP CMU registers while the ISP power domain remains turned off (i.e. through the common clock framework by clk_summary) Signed-off-by: Beata Michalska <b.michalska@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 5ce1aca814354c5942cdb5604e142a49be7033eb Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Tue Mar 17 16:15:35 2015 +0100 reiserfs: fix __RASSERT format string __RASSERT format string does not use the PID argument. reiserfs_panic arguments are therefore formatted with the wrong format specifier (for example __LINE__ with %s). This bug was introduced when commit c3a9c2109f84 ("reiserfs: rework reiserfs_panic") removed a "reiserfs[%i]" prefix. This bug is only triggered when using CONFIG_REISERFS_CHECK, otherwise __RASSERT is never used. Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Acked-by: Jeff Mahoney <jeffm@xxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit c38e503804b0402c510f82437069f7769fa0cea9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 17 14:42:59 2015 +0100 x86/asm/entry/64: Rename 'old_rsp' to 'rsp_scratch' Make clear that the usage of PER_CPU(old_rsp) is purely temporary, by renaming it to 'rsp_scratch'. Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7fcb3bc361c724a75bc642dbdd9d9bf0bdf07260 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 17 14:42:59 2015 +0100 x86/asm/entry/64: Update comments about stack frames Tweak a few outdated comments that were obsoleted by recent changes to syscall entry code: - we no longer have a "partial stack frame" on entry, ever. - explain the syscall entry usage of old_rsp. Partially based on a (split out of) patch from Denys Vlasenko. Originally-from: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ac9af4983e77765a642b5a21086bc1fdc55418c4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 17 14:42:59 2015 +0100 x86/asm/entry/64: Remove thread_struct::usersp Nothing uses thread_struct::usersp anymore, so remove it. Originally-from: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Tested-by: Borislav Petkov <bp@xxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9854dd74c3f6af8d9d527de86c6074b7ed0495f1 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 17 14:42:59 2015 +0100 x86/asm/entry/64: Simplify 'old_rsp' usage Remove all manipulations of PER_CPU(old_rsp) in C code: - it is not used on SYSRET return anymore, and system entries are atomic, so updating it from the fork and context switch paths is pointless. - Tweak a few related comments as well: we no longer have a "partial stack frame" on entry, ever. Based on (split out of) patch from Denys Vlasenko. Originally-from: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Tested-by: Borislav Petkov <bp@xxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426599779-8010-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 33db1fd48ac3d90385b412b41a8a6525096ac6d5 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 17 14:52:24 2015 +0100 x86/asm/entry/64: Enable interrupts *after* we fetch PER_CPU_VAR(old_rsp) We want to use PER_CPU_VAR(old_rsp) as a simple temporary register, to shuffle user-space RSP into (and from) when we set up the system call stack frame. At that point we cannot shuffle values into general purpose registers, because we have not saved them yet. To be able to do this shuffling into a memory location, we must be atomic and must not be preempted while we do the shuffling, otherwise the 'temporary' register gets overwritten by some other task's temporary register contents ... Tested-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426600344-8254-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 71be3423a62be548c56bab5b818e1a1383e659d2 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Mar 17 08:33:38 2015 -0600 vfio: Split virqfd into a separate module for vfio bus drivers An unintended consequence of commit 42ac9bd18d4f ("vfio: initialize the virqfd workqueue in VFIO generic code") is that the vfio module is renamed to vfio_core so that it can include both vfio and virqfd. That's a user visible change that may break module loading scritps and it imposes eventfd support as a dependency on the core vfio code, which it's really not. virqfd is intended to be provided as a service to vfio bus drivers, so instead of wrapping it into vfio.ko, we can make it a stand-alone module toggled by vfio bus drivers. This has the additional benefit of removing initialization and exit from the core vfio code. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 66fdc052d7dba5bb8386f7a1a38107ba8307a59e Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Mar 17 07:43:21 2015 +0800 vfio: virqfd_lock can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 91d8f0416f3989e248d3a3d3efb821eda10a85d2 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Tue Mar 17 19:00:05 2015 +0600 x86/boot/64: Remove pointless early_printk() message earlyprintk is not initialised yet by the setup_early_printk() function so we can remove it. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Link: http://lkml.kernel.org/r/1426597205-5142-1-git-send-email-kuleshovmail@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 522cf91f30cb0102fd5cb6e8979d45b6151cdcfc Author: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Date: Tue Mar 17 12:05:29 2015 +0100 drm: check that planes types are correct while initializing CRTC Be warned if primary or cursor planes haven't the correct type Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c80e5c0c23ce2282476fdc64c4b5e3d3a40723fd Author: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Date: Tue Mar 17 19:09:18 2015 +0900 kprobes/x86: Return correct length in __copy_instruction() On x86-64, __copy_instruction() always returns 0 (error) if the instruction uses %rip-relative addressing. This is because kernel_insn_init() is called the second time for 'insn' instance in such cases and sets all its fields to 0. Because of this, trying to place a kprobe on such instruction will fail, register_kprobe() will return -EINVAL. This patch fixes the problem. Signed-off-by: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150317100918.28349.94654.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 36111da7838e186069ed1ec4fe2fe7510e81da55 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:51 2015 +0200 dmaengine: intel-mid-dma: remove the driver Since the last and the only user of this driver is converted to use dw_dmac we can remove driver from the tree. Moreover, besides the driver is unmaintained a long time, it serves for the DesignWare DMA IP, for which we have already driver in the tree. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd11444327ce0fd549cce552b04aa441688ef2d3 Author: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:19:31 2015 -0500 spi: dw-spi: Convert 16bit accesses to 32bit accesses Altera's Arria10 SoC interconnect requires a 32-bit write for APB peripherals. The current spi-dw driver uses 16-bit accesses in some locations. This patch converts all the 16-bit reads and writes to 32-bit reads and writes. Additional Documentation to Support this Change: The DW_apb_ssi databook states: "All registers in the DW_apb_ssi are addressed at 32-bit boundaries to remain consistent with the AHB bus. Where the physical size of any register is less than 32-bits wide, the upper unused bits of the 32-bit boundary are reserved. Writing to these bits has no effect; reading from these bits returns 0." [1] [1] Section 6.1 of dw_apb_ssi.pdf (version 3.22a) Request for test with platforms using the DesignWare SPI IP. Tested On: Altera CycloneV development kit Altera Arria10 development kit Compile tested for build errors on x86_64 (allyesconfigs) Signed-off-by: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Reviewed-and-tested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit db91841b58f9ad0ecbb81ed0fa496c3a1b67fd63 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Dec 10 18:16:25 2014 +0000 spi/omap100k: Convert to runtime PM Currently the omap100k driver uses prepare and unprepare transfer hardware to enable and disable clocks for the IP block. Since these functions are called along with runtime PM and end up duplicating its functionality in a less flexible fashion we are trying to phase them out so convert this driver to do runtime PM instead. While doing so add missing error handling and remove a redundant NULL assignment. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 379c4b05dbfee4f8e003c9bd4c92b8c4c7146277 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Mar 16 04:45:54 2015 +0000 ASoC: ak4642: tidyup DAPM route for playback It needs DAC -> Playback route instead of direct settings via SND_SOC_DAPM_DAC. otherwise, it can't find correct path if sound card used prefix name Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e999c7289cf2e542e8be8bc72ba5dc0f8f06c88e Author: Keerthy <j-keerthy@xxxxxx> Date: Tue Mar 17 15:56:05 2015 +0530 regulator: palmas: Add has_regen3 check for TPS659038 Palmas driver is used to cater to even TPS659038 but TPS659038 does not have REGEN3 resource. Adding another field in the driver data to check on that. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a26aeb177d8c1c4df3e32f0a21e8dd5b45ab1fc1 Merge: cdbf6f0 e03826d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Mar 17 12:21:09 2015 +0000 Merge branch 'fix/palmas' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-palmas commit 6b3b58d97fb2d03f8f1d009a77baece311aa0d16 Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Mar 17 10:23:31 2015 +0800 ASoC: Intel: move the jack creation to Braswell machine driver The jack creation code was in rt5670 codec driver before due to the jack resources (gpio/irq) were defined under the node of codec device in ACPI on Braswell. We used the snd_soc_jack_new() to create a jack instance. But now snd_soc_jack_new() is removed from upstream and we can't use snd_soc_card_jack_new() in codec driver, so we move the jack creation code to machine driver and pass the jack instance to codec driver for further processing. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 066d7b87fa11213d7eca7af8fdd8447e1c62117b Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Mar 17 10:23:30 2015 +0800 ASoC: Intel: Add suspend_pre and resume_post for Braswell snd_soc_card On Braswell, we need to add some machine specific setting before suspend and after resume. For example, disable/enable jack detection in codec so use snd_soc_card suspend_pre and resume_post ops for this purpose. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3ee5990d0835d5f10c9aad2a856860a213df638a Merge: 275ed3a 77c7176 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Mar 17 12:16:27 2015 +0000 Merge branch 'topic/jack' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit 275ed3a195fa923a2f075a7b48a81f8f0c405f68 Merge: 3814c20 66454b3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Mar 17 12:16:16 2015 +0000 Merge branch 'topic/rt5670' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit 09355402325819675027eda25aba7026a325390c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:31 2015 +0100 spi: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cdbf6f0e8e58ec4601546d0ab67da905d4a2e6f5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:08 2015 +0100 regulator: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f263fa3e0f0b1d610f7a9d72a91fe67059d5564f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 16 16:39:57 2015 +0100 ASoC: wm2200: Drop unnecessary dapm bias_level initialization The default value for the bias_level is SND_SOC_BIAS_OFF when probe is being called, there is no need to initialize it explicitly. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0dd96b3e39df83265ef3f79170a623cebee50380 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Mar 16 16:39:56 2015 +0100 ASoC: rt286: Drop unnecessary dapm bias_level initialization The default value for the bias_level is SND_SOC_BIAS_OFF when probe is being called, there is no need to initialize it explicitly. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c7ef38e0ccca25050efed56a35df2e1e93c0b469 Author: Cedric Izoard <Cedric.Izoard@xxxxxxxxxxxx> Date: Tue Mar 17 10:47:33 2015 +0000 mac80211: Get IV len from key conf and not cipher scheme When a key is installed using a cipher scheme, set a new internal key flag (KEY_FLAG_CIPHER_SCHEME) on it, to allow distinguishing such keys more easily. In particular, use this flag on the TX path instead of testing the sta->cipher_scheme pointer, as the station is NULL for broad-/multicast message, and use the key's iv_len instead of the cipher scheme information. Signed-off-by: Cedric Izoard <cedric.izoard@xxxxxxxxxxxx> [add missing documentation, rewrite commit message] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7094e8ea4da3077ad03eb027fd45a7617dba3d95 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 17 22:11:31 2015 +1100 linux-next: build failure after merge of the crypto tree crypto: img-hash - Add missing semicolon to fix build error There is a missing semicolon after MODULE_DEVICE_TABLE. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 656d7e7ee3f3dae71862054c0893546d261a1ee7 Author: Andre Wolokita <andre.wolokita@xxxxxxxxxx> Date: Mon Mar 16 12:54:50 2015 +1100 hwrng: omap - Change RNG_CONFIG_REG to RNG_CONTROL_REG in init omap4_rng_init() checks bit 10 of the RNG_CONFIG_REG to determine whether the RNG is already running before performing any initiliasation. This is not the correct register to check, as the enable bit is in RNG_CONFIG_CONTROL. Read from RNG_CONTROL_REG instead. Signed-off-by: Andre Wolokita <Andre.Wolokita@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1a5addfe82d2778fc3651d1f8adbf5ea5b3b0560 Author: Andre Wolokita <andre.wolokita@xxxxxxxxxx> Date: Mon Mar 16 10:19:11 2015 +1100 hwrng: omap - Change RNG_CONFIG_REG to RNG_CONTROL_REG when checking and disabling TRNG In omap4_rng_init(), a check of bit 10 of the RNG_CONFIG_REG is done to determine whether the RNG is running. This is suspicious firstly due to the use of RNG_CONTROL_ENABLE_TRNG_MASK and secondly because the same mask is written to RNG_CONTROL_REG after configuration of the FROs. Similar suspicious logic is repeated in omap4_rng_cleanup() when RNG_CONTROL_REG masked with RNG_CONTROL_ENABLE_TRNG_MASK is read, the same mask bit is cleared, and then written to RNG_CONFIG_REG. Unless the TRNG is enabled with one bit in RNG_CONTROL and disabled with another in RNG_CONFIG and these bits are mirrored in some way, I believe that the TRNG is not really shutting off. Apart from the strange logic, I have reason to suspect that the OMAP4 related code in this driver is driving an Inside Secure IP hardware RNG and strongly suspect that bit 10 of RNG_CONFIG_REG is one of the bits configuring the sampling rate of the FROs. This option is by default set to 0 and is not being set anywhere in omap-rng.c. Reading this bit during omap4_rng_init() will always return 0. It will remain 0 because ~(value of TRNG_MASK in control) will always be 0, because the TRNG is never shut off. This is of course presuming that the OMAP4 features the Inside Secure IP. I'm interested in knowing what the guys at TI think about this, as only they can confirm or deny the detailed structure of these registers. Signed-off-by: Andre Wolokita <Andre.Wolokita@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 937abe88aea3161cd3a563e577fc9cf4522c7aad Author: Kedareswara rao Appana <appana.durga.rao@xxxxxxxxxx> Date: Mon Mar 2 23:24:24 2015 +0530 dmaengine: xilinx-dma: move header file to common location This patch moves the xilinx_dma.h header file to the include/linux/dma. Signed-off-by: Kedareswara rao Appana <appanad@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1baa82f48030f38d1895301f1ec93acbcb3d15db Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Mar 2 19:19:14 2015 +0000 arm64: Implement cpu_relax as yield ARM64 has the yield nop hint which has the intended semantics of cpu_relax. Implement. The immediate application is ARM CPU emulators. An emulator can take advantage of the yield hint to de-prioritise an emulated CPU in favor of other emulation tasks. QEMU A64 SMP emulation has yield awareness, and sees a significant boot time performance increase with this change. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2557d215a36d18c8bbaa35f65749349ac603360b Merge: fba9e07 9ab2b7f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 17 11:11:24 2015 +0100 Merge branch 'timers/urgent' into timers/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8a4988d13734f9340ba8b34467d8ea09347b55d5 Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Mon Mar 9 07:58:15 2015 +0100 mac80211: IBSS: refactor ieee80211_rx_bss_info Put station specific code in ieee80211_update_sta_info function. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d66c258278fde25b0454ba0f9ec24874237d6ac5 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Fri Mar 13 10:54:44 2015 +0100 mac80211: minstrel_ht: fix rounding issue in MCS duration calculation On very high MCS bitrates, the calculated duration of rates that are next to each other can be very imprecise, due to the small packet size used as reference (1200 bytes). This is most visible in VHT80 nss=2 MCS8/9, for which minstrel shows the same throughput when the probability is also the same. This leads to a bad rate selection for such rates. Fix this issue by introducing an average A-MPDU size factor into the calculation. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2e54a6895e3e0cada8d194ace4f5baae643a073f Author: Ben <ben.rosenfeld@xxxxxxxxx> Date: Thu Mar 12 09:37:34 2015 -0400 cfg80211: Process all pending regulatory requests/hints It is possible that there are several regulatory requests pending, but the processing of the last one does not call CRDA, and thus the other requests are not handled. Fix this by rescheduling the work until all requests have been processed. Signed-off-by: Ben Rosenfeld <ben.rosenfeld@xxxxxxxxx> Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c23e31cf7b55e4d2e462b61dadb4c2d9538d3781 Author: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Date: Sun Mar 8 18:04:22 2015 +0200 mac80211: initialize rate control earlier for tdls station Currently when TDLS station in driver goes from authenticated to associated state it can not use rate control parameters because rate control is not initialized yet. Some drivers require parameters already initialized by rate control when entering associated state. It can be done by initializing rate control after station transition to associated state but before notifying driver about that. Signed-off-by: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> [fix comment to say 'associated' instead of 'authorized'] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 52d99627003278bcd1a40ea45136a8148d351531 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:50 2015 +0800 powerpc: kill PPC_OF We have set CONFIG_PPC_OF to always 'y' in commit 0a498d96a332 ("powerpc: set CONFIG_PPC_OF=y always for ARCH=powerpc") nine years ago. And the arch/ppc also has gone away for many years. The OF functionality was also moved to a common place and be used by many archs. So it does make no sense to keep such a option in the current kernel. Just kill it. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f915b51c79d1620efa6862d14d8cbd60c699b19b Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:49 2015 +0800 fbdev: kconfig: replace PPC_OF with PPC The PPC_OF is a ppc specific option which is used to mean that the firmware device tree access functions are available. Since all the ppc platforms have a device tree, it is aways set to 'y' for ppc. So it makes no sense to keep a such option in the current kernel. Replace it with PPC. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 45ae00a50dbea917e3f06b30ba5fb8110be2402b Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:48 2015 +0800 fbdev: remove the unnecessary includes of ppc specific header files In the current kernel, we don't need to include these arch specific header files for ppc. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d14c374c2e4d2a42692d7fddf86f7261fbe99c5a Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:47 2015 +0800 fbdev: riva: remove the dependency on PPC_OF The OF functionality has moved to a common place and be used by many archs. So we don't need to include the ppc arch specific header files and depend on PPC_OF option any more. This is a preparation for killing PPC_OF. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5299b620977ed6b1edbbedd5d9641c0afa9780fe Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:46 2015 +0800 fbdev: nvidia: remove the dependency on PPC_OF The OF functionality has moved to a common place and be used by many archs. So we don't need to include the ppc arch specific header files and depend on PPC_OF option any more. This is a preparation for killing PPC_OF. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e9cfb2d62befcd562291e6a8a63d3bdff89b135b Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:45 2015 +0800 fbdev: imsttfb: remove the dependency on PPC_OF The OF functionality has moved to a common place and be used by many archs. So we don't need to depend on PPC_OF option any more. This is a preparation for killing PPC_OF. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 758ddd1d11da5616851dd0d269e321cd1d2d4c1b Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:44 2015 +0800 fbdev: radeon: replace PPC_OF with PPC The PPC_OF is a ppc specific option which is used to mean that the firmware device tree access functions are available. Since all the ppc platforms have a device tree, it is aways set to 'y' for ppc. So it makes no sense to keep a such option in the current kernel. Replace it with PPC. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e7b410ef74b3d917db2545086578b663bed19d81 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:43 2015 +0800 fbdev: aty128fb: replace PPC_OF with PPC The PPC_OF is a ppc specific option which is used to mean that the firmware device tree access functions are available. Since all the ppc platforms have a device tree, it is aways set to 'y' for ppc. So it makes no sense to keep a such option in the current kernel. Replace it with PPC. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d610f503612ddb5bf55e477fd48c678b3deab7ca Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Mar 12 20:32:42 2015 +0800 sata_svw: remove the dependency on PPC_OF The OF functionality has moved to a common place and be used by many archs. So we don't need to include the ppc arch specific header files and depend on PPC_OF option any more. This is a preparation for killing PPC_OF. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0388df05088def7ce5f3dd1b2293f05739be2a23 Author: John Hunter <zhaojunwang@xxxxxxxxxx> Date: Tue Mar 17 15:30:28 2015 +0800 drm: change connector to tmp_connector This wasn't too harmful since we already look at connector, which has the same effect as the loop for any non-cloned configs. Only when we have a cloned configuration is it important to look at other connectors. Furthermore existing userspace always changes dpms on all of them anyway. Signed-off-by: JohnHunter <zhjwpku@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f98bd3eff592fa708bb260cf3c6403e443cd40b7 Author: John Hunter <zhaojunwang@xxxxxxxxxx> Date: Tue Mar 17 15:30:26 2015 +0800 drm: Fix some typo mistake of the annotations There are some mistakes that the function name in the annotaions is not matching the real function name. And some duplication word in annotations Signed-off-by: John Hunter <zhjwpku@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8b6c0ab1a1296ef6922160fa27018f25c60b8940 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 16 10:32:20 2015 +0100 x86/asm/entry: Document and clean up the enable_sep_cpu() and syscall32_cpu_init() functions Clean up the flow and document the functions a bit better. Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d828c71fba8922b116b4ec56c3e5bca8c822d5ae Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 9 15:52:18 2015 +0100 x86/asm/entry/32: Document the 32-bit SYSENTER "emergency stack" better Before the patch, the 'tss_struct::stack' field was not referenced anywhere. It was used only to set SYSENTER's stack to point after the last byte of tss_struct, thus the trailing field, stack[64], was used. But grep would not know it. You can comment it out, compile, and kernel will even run until an unlucky NMI corrupts io_bitmap[] (which is also not easily detectable). This patch changes code so that the purpose and usage of this field is not mysterious anymore, and can be easily grepped for. This does change generated code, for a subtle reason: since tss_struct is ____cacheline_aligned, there happens to be 5 longs of padding at the end. Old code was using the padding too; new code will strictly use it only for SYSENTER_stack[]. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425912738-559-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3876488444e71238e287459c39d7692b6f718c3e Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 9 15:52:17 2015 +0100 include/stddef.h: Move offsetofend() from vfio.h to a generic kernel header Suggested by Andy. Suggested-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425912738-559-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5c39403e004bec75ce0c549541be5479595d6ad0 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 13 15:09:03 2015 +0100 x86/asm/entry: Simplify task_pt_regs() macro definition Before this change, task_pt_regs() was using KSTK_TOP(), and it was the only use of that macro. In turn, KSTK_TOP used THREAD_SIZE_LONGS, and it was the only use of that macro too. Fold these macros into task_pt_regs(). Tweak comment about "- 8" - we now use a symbolic constant, not literal 8. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426255743-5394-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76e4c4908a4904a61aa67ae5eb0b2a7588c4a546 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Mar 10 11:06:00 2015 -0700 x86/asm/entry/32: Document our abuse of x86_hw_tss::ss1 and x86_hw_tss::sp1 This has confused me for a while. Now that I figured it out, document it. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/b7efc1b7364039824776f68e9ddee9ec1500e894.1426009661.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d9e05cc5a53246e074dc2b84956252e4bbe392cd Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Mar 10 11:05:59 2015 -0700 x86/asm/entry: Unify and fix initial thread_struct::sp0 values x86_32 and x86_64 need slightly different thread_struct::sp0 values, and x86_32's was incorrect for init. This never mattered -- the init thread never runs user code, so we never used thread_struct::sp0 for anything. Fix it and mostly unify them. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1b810c1d2e797e27bb4a7708c426101161edd1f6.1426009661.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3ee4298f440c81638cbb5ec06f2497fb7a9a9eb4 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Mar 10 11:05:58 2015 -0700 x86/asm/entry: Create and use a 'TOP_OF_KERNEL_STACK_PADDING' macro x86_32, unlike x86_64, pads the top of the kernel stack, because the hardware stack frame formats are variable in size. Document this padding and give it a name. This should make no change whatsoever to the compiled kernel image. It also doesn't fix any of the current bugs in this area. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Acked-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/02bf2f54b8dcb76a62a142b6dfe07d4ef7fc582e.1426009661.git.luto@xxxxxxxxxxxxxx [ Fixed small details, such as a missed magic constant in entry_32.S pointed out by Denys Vlasenko. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a036b93a344235b7899401d04e97c34f3a2554c Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 12 13:57:52 2015 -0700 x86/signal/64: Remove 'fs' and 'gs' from sigcontext As far as I can tell, these fields have been set to zero on save and ignored on restore since Linux was imported into git. Rename them '__pad1' and '__pad2' to avoid confusion. This may also allow us to recycle them some day. This also adds a comment clarifying the history of those fields. I'm intentionally avoiding calling either of them '__pad0': the field formerly known as '__pad0' is now 'ss'. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/844f8490e938780c03355be4c9b69eb4c494bf4e.1426193719.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c6f2062935c8fcb31235799eaee8bcd5b649936b Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 12 13:57:51 2015 -0700 x86/signal/64: Fix SS handling for signals delivered to 64-bit programs The comment in the signal code says that apps can save/restore other segments on their own. It's true that apps can *save* SS on their own, but there's no way for apps to restore it: SYSCALL effectively resets SS to __USER_DS, so any value that user code tries to load into SS gets lost on entry to sigreturn. This recycles two padding bytes in the segment selector area for SS. While we're at it, we need a second change to make this useful. If the signal we're delivering is caused by a bad SS value, saving that value isn't enough. We need to remove that bad value from the regs before we try to deliver the signal. Oddly, the i386 code already got this right. I suspect that 64-bit programs that try to run 16-bit code and use signals will have a lot of trouble without this. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/405594361340a2ec32f8e2b115c142df0e180d8e.1426193719.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 754c4b1b2bddc6881889be9b4aa549d1647ef9ca Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:19 2015 +0100 ARM: mvebu: Enable Performance Monitor Unit on Armada 380/385 SoC The Armada 380 and 385 SoCs have a Cortex-A9 CPU, so the PMU is available to be used. This commit enables it in the devicetree. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 7f592c39d4975d9e6d3d0ebcf39695a487a6dc4e Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:18 2015 +0100 ARM: mvebu: Enable Performance Monitor Unit on Armada 375 SoC The Armada 375 SoC has a Cortex-A9 CPU, and so the PMU is available to be used. This commit enables it in the devicetree. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a87cd07b88b4797d50d11fa1089705a284ae087f Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:17 2015 +0100 ARM: mvebu: Enable Performance Monitor Unit on Armada XP/370 SoCs The Armada 370 and XP SoCs have Cortex-A9 compatible CPUs, and with a Performance Monitoring Unit. Enable it so that we can have hardware-assisted perf support. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit c9e44474f27e251fcdc1b52d7bd0a7607af4473a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 23:56:04 2015 -0700 Bluetooth: btusb: Fix minor whitespace issue in QCA ROME device entries Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 72000df2c01d6927319ad7e3f43460f6d0227de5 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 16:11:21 2015 -0700 Bluetooth: Add support for Local OOB Extended Data Update events When a different user requests a new set of local out-of-band data, then inform all previous users that the data has been updated. To limit the scope of users, the updates are limited to previous users. If a user has never requested out-of-band data, it will also not see the update. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5425f98e863ac5e4798a186475d4a8d95a2c08e8 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 16:05:44 2015 -0700 Bluetooth: Fix length for Read Local OOB Extended Data respone packet The length of the respone packet for Read Local OOB Extended Data command has a calculation error. In case LE Secure Connections support is not enabled, the actual response is shorter. Keep this in mind and update the value accordingly. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ee23d66af9219dfe2407a9b08ef9a165dbe6f994 Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Thu Jun 26 19:09:42 2014 +0530 mailbox: arm_mhu: add driver for ARM MHU controller Add driver for the ARM Primecell Message-Handling-Unit(MHU) controller. Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Signed-off-by: Andy Green <andy.green@xxxxxxxxxx> Signed-off-by: Vincent Yang <vincent.yang@xxxxxxxxxxxxx> Signed-off-by: Tetsuya Nuriya <nuriya.tetsuya@xxxxxxxxxxxxx> commit c078c62a752872fb83f56e41794dd61d5ea570a0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Mar 16 08:53:40 2015 +0000 mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info v2 84f11d5b1f2abc0e22895b7e12e037f0ec03caeb (mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info) replaced sh_mobile_sdhi_info to tmio_mmc_data, but it was missing to replace board-ape6evm / board-mackerel. Kernel build will be failed without this patch. >> arch/arm/mach-shmobile/board-ape6evm.c:176:21: error: \ variable 'sdhi0_pdata' has initializer but incomplete type static const struct sh_mobile_sdhi_info sdhi0_pdata __initconst = { ^ >> arch/arm/mach-shmobile/board-ape6evm.c:177:2: error: \ unknown field 'tmio_flags' specified in initializer .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE, ^ ... Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a02c0af2f0c4b3c85e828f60ac3459456cfad1e6 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 26 18:45:05 2014 +0200 powerpc/powermac: Cleaning up missing null-terminate in conjunction with strncpy Replacing strncpy with strlcpy to avoid strings that lacks null terminate. And removed unnecessary magic numbers. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 8edcee0e1f7dd703a2f3049ea1bc8c19bd945eb6 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Mar 17 15:16:12 2015 +1100 selftests/powerpc: Build the copyloops with -maltivec The recent change to remove the vrX defines exposed the fact that we are building the copyloops tests without altivec enabled. It depends on the toolchain as to whether altivec is on by default or not, so it only breaks on some toolchains. But we should always enable it. Fixes: c2ce6f9f3dc0 ("powerpc: Change vrX register defines to vX to match gcc and glibc") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ac434806f233e43c50afee0e42c88e6e7842572f Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Feb 26 15:40:39 2015 +0200 ARM: dts: am57xx-beagle-x15: Do not include the atl header AM57xx does not have ATL block integrated. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 38b1565ca77f411c85427988fa30c3482d5d7e68 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Mar 16 12:20:37 2015 -0500 ARM: dts: DRA7: Remove ti,timer-dsp and ti,timer-pwm properties Remove the 'ti,timer-dsp' and 'ti,timer-pwm' properties from the timer nodes that still have them. This seems to be copied from OMAP5, on which only certain timers are capable of providing PWM functionality or be able to interrupt the DSP. All the GPTimers On DRA7 are capable of PWM and interrupting any core (due to the presence of Crossbar). These properties were used by the driver to add capabilities to each timer, and support requesting timers by capability. In the DT world, we expect any users of timers to use phandles to the respective timer, and use the omap_dm_timer_request_by_node() API. The API to request using capabilities, omap_dm_timer_request_by_cap() API should be deprecated eventually. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 624ce7616d90337738dfd24c8e6ff7adf0060ad7 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Fri Mar 13 21:40:37 2015 +0100 Documentation: omap-twl4030: Move ti,codec property to optional ti,codec property is not used in omap-twl4030 driver in linux kernel but we keep it as optional property, so that the existing dtbs do not become noncompliant after the change on other OS. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3eb78ea8411e3877ace2af700c9a90847d1a397e Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Fri Mar 13 21:40:36 2015 +0100 ARM: dts: omap3: Remove all references to ti,codec property ti,codec property is not used (parsed) in omap-twl4030 driver. The ti,twl4030-audio which ti,codec points by phandle is mfd driver and device for ASoC codec is created w/o DT compatible string. Removing all references in DT files. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e702240e8364952e260829c8700fbc870aa4b053 Author: Phil Carmody <pc+lkml@xxxxxxxx> Date: Wed Sep 17 01:00:54 2014 +0300 powerpc/via-pmu: fix OF node leak in Keylargo init If we of_find_node_by_name() then we must of_node_put() too. Signed-off-by: Phil Carmody <pc+lkml@xxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit ffa3eb010dd8edc696cd958ba684d8a6d1cf3dff Author: Phil Carmody <pc+lkml@xxxxxxxx> Date: Wed Sep 17 01:00:53 2014 +0300 powerpc/via-pmu: fix error path in find_via_pmu() Cleanup was not in the reverse order from the set-up, so not all the gotos made sense, and also it was being avoided completely upon failure of init_pmu(). Signed-off-by: Phil Carmody <pc+lkml@xxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit b05ae4ee602b7dc90771408ccf0972e1b3801a35 Author: Kyle Moffett <Kyle.D.Moffett@xxxxxxxxxx> Date: Mon Nov 14 21:32:10 2011 -0500 powerpc: Remove duplicate cacheable_memcpy/memzero functions These functions are only used from one place each. If the cacheable_* versions really are more efficient, then those changes should be migrated into the common code instead. NOTE: The old routines are just flat buggy on kernels that support hardware with different cacheline sizes. Signed-off-by: Kyle Moffett <Kyle.D.Moffett@xxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 01ea0d4247bb3a224a66007e0a1291232c15d61a Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 17:07:26 2015 -0700 ARM: OMAP2+: Remove legacy support for omap3 TouchBook We've been moving all omap2+ based systems to boot in device tree only mode for a few years now. Only omap3 has legacy booting support remaining. Most omap3 boards already have related arch/arm/boot/*.dts* files for booting with device tree. As it seems this board only has minimal support upstreamed for the legacy booting and has not seen activity for on the mailing lists for a few years, let's attempt to remove the related legacy board-*.c file. I do not have this board, but it seems getting the same level of support with device tree based booting is mostly just configuring the .dts file. And there is no need to upgrade the boot loader as we can boot with appended DTB too. And most of the omap3 boards seem to be related to omap3-evm, and omap3beagleboard that are supported with device tree based booting. If somebody is using this board actively with the mainline kernel, please communicate this to the linux-omap mailing list so we can get the board booting with device tree based support. I can help some too getting the minimal device tree based booting going if help is needed. The reason for attempting to remove this board now is that I'd rather get the remaining omap3 legacy booting support into a known state where we at least have a .dts file being written for the remaining legacy boards. That is because for the next few merge cycles we can still revert this patch if absolutely necessary, but I'd rather not get suprised by missing .dts files at the point where we are ready to drop all remaining omap3 legacy booting support later on. Cc: Gregoire Gentil <gregoire@xxxxxxxxxx> Cc: Radek Pilar <mrkva@xxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f56a1b24f54e7d1f70b5dbcc32e702bf9a1f7e97 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 16:56:58 2015 -0700 ARM: OMAP3: Remove legacy support for devkit8000 We've been moving all omap2+ based systems to boot in device tree only mode for a few years now. Only omap3 has legacy booting support remaining. Most omap3 boards already have related arch/arm/boot/*.dts* files for booting with device tree. As it seems this board only has minimal support upstreamed for the legacy booting and has not seen activity for on the mailing lists for a few years, let's attempt to remove the related legacy board-*.c file. I do not have this board, but it seems getting the same level of support with device tree based booting is mostly just configuring the .dts file. And there is no need to upgrade the boot loader as we can boot with appended DTB too. And most of the omap3 boards seem to be related to omap3-evm, and omap3beagleboard that are supported with device tree based booting. If somebody is using this board actively with the mainline kernel, please communicate this to the linux-omap mailing list so we can get the board booting with device tree based support. I can help some too getting the minimal device tree based booting going if help is needed. The reason for attempting to remove this board now is that I'd rather get the remaining omap3 legacy booting support into a known state where we at least have a .dts file being written for the remaining legacy boards. That is because for the next few merge cycles we can still revert this patch if absolutely necessary, but I'd rather not get suprised by missing .dts files at the point where we are ready to drop all remaining omap3 legacy booting support later on. http://www.embest-tech.com/product/single-board-computers/index.html Cc: Thomas Weber <thomas@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 51925fb3c5c901aa06cdc853268a6e19e19bcdc7 Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 13:49:22 2015 -0600 powerpc/pseries: Implement memory hotplug remove in the kernel This patch adds the ability to do memory hotplug remove in the kernel. Currently the operation to hotplug remove memory is handled by the drmgr command which performs the operation by performing some work in user-space and making requests to the kernel to handle other pieces. By moving all of the work to the kernel we can do the remove faster, and provide a common code path to do memory hotplug for both the PowerVM and PowerKVM environments. Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 5f97b2a0d176a94815ee1d3a0511d91a5575bf4a Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 13:48:25 2015 -0600 powerpc/pseries: Implement memory hotplug add in the kernel This patch adds the ability to do memory hotplug add in the kernel. Currently the operation to hotplug add memory is handled by the drmgr command which performs the operation by performing some work in user-space and making requests to the kernel to handle other pieces. By moving all of the work to the kernel we can do the add faster, and provide a common code path to do memory hotplug for both the PowerVM and PowerKVM environments. Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 999e2dadb6058568b8bcffec44da2a07952d84fe Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 13:47:02 2015 -0600 powerpc/pseries: Create new device hotplug entry point The current hotplug (or dlpar) of devices (the process is generally the same for memory, cpu, and pci) on PowerVM systems is initiated from the HMC, which communicates the request to the partitions through the RSCT framework. The RSCT framework then invokes the drmgr command. The drmgr command performs the hotplug operation by doing some pieces, such as most of the rtas calls and device tree parsing, in userspace and make requests to the kernel to online/offline the device, update the device tree and add/remove the device. For PowerKVM the approach for device hotplug is to follow what is currently being done for pci hotplug. A hotplug request is initiated from the host. QEMU then generates an EPOW interrupt to the guest which causes the guest to make the rtas,check-exception call. In QEMU, the rtas,check-exception call returns a rtas hotplug event to the guest. Please note that the current pci hotplug path for PowerKVM involves the kernel receiving the rtas hotplug event, passing it to rtas_errd in userspace, and having rtas_errd invoke drmgr. The drmgr command then handles the request as described above for PowerVM systems. There is no need for this circuitous route, we should just handle the entire hotplug of devices in the kernel. What I am planning is to enable this by moving the code to handle hotplug from drmgr into the kernel to provide a single path for handling device hotplug for both PowerVM and PowerKVM systems. This patch provides the common iframework and entry point. For PowerKVM a future update to the kernel rtas code will recognize rtas hotplug events returned from rtas,check-exception calls and use the common entry point to handle hotplug of the device. For PowerVM systems, This patch creates /sys/kernel/dlpar that can be used by the drmgr command to initiate hotplug requests. In order to do this a string of the format "<resource> <action> <id_type> <id>" is written to this file. The string consists of a resource (cpu, memory, pci, phb), an action (add or remove), an id_type (count, drc index, drc name), and the corresponding id. The kernel will parse the string and create a rtas hotplug section that can be passed to the common entry point for handling hotplug requests. It should be noted that there is no chance of updating how we receive hotplug (dlpar) requests from the HMC on PowerVM systems. Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 5e51d3c2a46b0131d31594b33aacdff5aa99f0f3 Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 13:45:01 2015 -0600 powerpc/pseries: Declare the acquire/release drc index routines Add declarations for dlpar_{acquire,release}_drc(...) They are already marked non-static but were missing a prototype/ [BenH: Added extern to be consistent with the rest of the file] Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 366d395c8dd8f1d92f967e4a7691dadd9b9ae1bb Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 13:43:24 2015 -0600 powerpc/pseries: Define rtas hotplug event sections In order to handle device hotplug in the kernel on pseries the hotplug request will be communicated in the kernel in the form of a rtas hotplug event. This patch adds the definition of rtas hotplug event sections. Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 35cc73dae6374919affa64ba3092b6a1801c0943 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 16:56:58 2015 -0700 ARM: OMAP3: Remove legacy support for EMA-Tech Stalker board We've been moving all omap2+ based systems to boot in device tree only mode for a few years now. Only omap3 has legacy booting support remaining. Most omap3 boards already have related arch/arm/boot/*.dts* files for booting with device tree. As it seems this board only has minimal support upstreamed for the legacy booting and has not seen activity for on the mailing lists for a few years, let's attempt to remove the related legacy board-*.c file. I do not have this board, but it seems getting the same level of support with device tree based booting is mostly just configuring the .dts file. And there is no need to upgrade the boot loader as we can boot with appended DTB too. And most of the omap3 boards seem to be related to omap3-evm, and omap3beagleboard that are supported with device tree based booting. If somebody is using this board actively with the mainline kernel, please communicate this to the linux-omap mailing list so we can get the board booting with device tree based support. I can help some too getting the minimal device tree based booting going if help is needed. The reason for attempting to remove this board now is that I'd rather get the remaining omap3 legacy booting support into a known state where we at least have a .dts file being written for the remaining legacy boards. That is because for the next few merge cycles we can still revert this patch if absolutely necessary, but I'd rather not get suprised by missing .dts files at the point where we are ready to drop all remaining omap3 legacy booting support later on. Also looks like this board is no longer listed on ema-tech.com product page at: http://ema-tech.com/en/categories.html Cc: Jason Lam <lzg@xxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2f6cf7944833bf9c63b945799b460988aec30040 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:48 2015 +1100 powerpc/powernv: Remove unused file The patch removes unused file eeh-ioda.c and updates makefile accordingly. Besides, the definition of "struct pnv_eeh_ops" and the instances are all removed. Until now, the chip layer of EEH implementation for PowerNV platform is removed completely. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit cadf364d14f629119ba02c69f17a697d21880079 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:47 2015 +1100 powerpc/powernv: Drop PHB operation reset() The patch drops PHB EEH operation reset() and merges its logic to eeh_ops::reset(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 2a485ad7c88ddfdf59bea12ece52b81adfd7c5a7 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:46 2015 +1100 powerpc/powernv: Drop PHB operation next_error() The patch drops PHB EEH operation next_error() and merges its logic to eeh_ops::next_error(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 40ae5f693f6ada75e0f2680872dd0bf52bce22c4 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:45 2015 +1100 powerpc/powernv: Drop PHB operation get_state() The patch drops PHB EEH operation get_state() and merges its logic to eeh_ops::get_state(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 7e3e4f8d5e80d2321cb1ab58a2070fbf28883ec1 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:44 2015 +1100 powerpc/powernv: Drop PHB operation set_option() The patch drops PHB EEH operation set_option() and merges its logic to eeh_ops::set_option(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit bbe170ede15b3b33361b95497fb164909b45ffa9 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:43 2015 +1100 powerpc/powernv: Drop PHB operation configure_bridge() The patch drops PHB EEH operation configure_bridge() and merges its logic to eeh_ops::configure_bridge(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 95edcdeadf1e838c7d6f1ef43194128d823c61a1 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:42 2015 +1100 powerpc/powernv: Drop PHB operation get_log() The patch drops PHB operation get_log() and merges its logic to eeh_ops::get_log(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 4cf17445589932155797444687dca1ef2dd47f10 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:41 2015 +1100 powerpc/powernv: Drop PHB operation post_init() The patch drops PHB EEH operation post_init() and merge its logic to eeh_ops::post_init(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit fa646c3cab032caf94184aef728d7275164c437e Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:40 2015 +1100 powerpc/powernv: Drop PHB operation err_inject() The patch drops PHB EEH operation err_inject() and merge its logic to eeh_ops::err_inject(). Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 01f3bfb7804ae20aaf66884cf537f7dc2cdc1671 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 14:45:39 2015 +1100 powerpc/powernv: Shorten EEH function names The patch shortens names of EEH functions in powernv-eeh.c and no logic change introduced by this patch. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 6ec7334304f2882b7fc13ab70a0bf58948cf6244 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 13 15:16:32 2015 +1100 powerpc/pci: Fix comments about ppc_md.pcibios_fixup The patch fixes the comments about ppc_md.pcibios_fixup(), which should be called after allocating resources. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 28158cd1b75180343efa7c4d7d2f8e74ccc63b8f Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 11 10:20:49 2015 +1100 powerpc/eeh: Enhance pcibios_set_pcie_reset_state() Function pcibios_set_pcie_reset_state() is possibly called by pci_reset_function(), on which VFIO infrastructure depends to issue reset. pcibios_set_pcie_reset_state() is issuing reset on the parent PE of the indicated PCI device. The reset causes state lost on all PCI devices except the indicated one as the argument to pcibios_set_pcie_reset_state(). Also, sideband MMIO access from guest when issuing reset would cause unexpected EEH error. For above two issues, the patch applies following enhancements to pcibios_set_pcie_reset_state(): * For all PCI devices except the indicated one, save their state prior to reset and restore state after that. * Explicitly freeze PE prior to reset and unfreeze it after that, in order to avoid unexpected EEH error. Tested-by: Priya M. A <priyama2@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 606da4826b89b044b51e3a84958b802204cfe4c7 Author: Stefan Hengelein <stefan.hengelein@xxxxxx> Date: Wed Feb 25 19:44:27 2015 +0100 ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688 The Kconfig-Option OMAP4_ERRATA_I688 is never visible due to a contradiction in it's dependencies. The option requires ARCH_MULTIPLATFORM to be 'disabled'. However, an enclosing menu requires either ARCH_MULTI_V6 or ARCH_MULTI_V7 to be enabled. These options inherit a dependency from an enclosing menu, that requires ARCH_MULTIPLATFORM to be 'enabled'. This is a contradiction and made this option also unavailable for non-multiplatform configurations. Since there are no selects on OMAP4_ERRATA_I688, which would ignore dependencies, the code related to that option is dead and can be removed. This (logical) defect has been found with the undertaker tool. (https://undertaker.cs.fau.de) Signed-off-by: Stefan Hengelein <stefan.hengelein@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6248015d6867449b0a850dfe0810e9c5a8bffe41 Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Date: Wed Feb 25 16:13:50 2015 +0200 ARM: omap-device: add missed callback for suspend-to-disk Add missed callback needed for supporting suspend-to-disk (hibernation) mode. Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 026da812a075e1c3cc99f8bec757206b7068b779 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jan 19 16:13:53 2015 -0600 MAINTAINERS: add OMAP defconfigs under OMAP SUPPORT omap2plus_defconfig and omap1_defconfig are also part of the OMAP Support maintained, because of that it's best to list them under OMAP SUPPORT on MAINTAINERS so people know to Cc linux-omap when patching them. Reported-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7239d309b58d48616d3cda79050566fdb48196ef Author: Paul Walmsley <paul@xxxxxxxxx> Date: Fri Feb 6 15:56:07 2015 -0700 ARM: OMAP1: PM: fix some build warnings on 1510-only Kconfigs Building an OMAP1510-only Kconfig generates the following warnings: arch/arm/mach-omap1/pm.c: In function ¡omap1_pm_idle¢: arch/arm/mach-omap1/pm.c:123:2: warning: #warning Enable 32kHz OS timer in order to allow sleep states in idle [-Wcpp] #warning Enable 32kHz OS timer in order to allow sleep states in idle ^ arch/arm/mach-omap1/pm.c: At top level: arch/arm/mach-omap1/pm.c:76:23: warning: ¡enable_dyn_sleep¢ defined but not used [-Wunused-variable] static unsigned short enable_dyn_sleep = 0; ^ These are not so easy to fix in an obviously correct fashion, since I don't have these devices up and running in my testbed. So, use arch/arm/plat-omap/Kconfig and the existing pm.c source as a guide, and posit that deep power saving states are only supported on OMAP16xx chips with kernels built with both CONFIG_OMAP_DM_TIMER=y and CONFIG_OMAP_32K_TIMER=y. While here, clean up a few printk()s and unnecessary #ifdefs. This second version of the patch incorporates several suggestions from Jon Hunter <jgchunter@xxxxxxxxx>. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Jon Hunter <jonathanh@xxxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Tuukka Tikkanen <tuukka.tikkanen@xxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-omap@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Jon Hunter <jgchunter@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a8caad66904a7923c05fc4a137110085533ef00c Author: Gaku Inami <gaku.inami.xw@xxxxxxxxxxxxxx> Date: Mon Mar 16 14:48:43 2015 +0900 ARM: shmobile: Consolidate the pm code for R-Car Gen2 The pm code for R-Car Gen2 is scatterd in each SoC. These files (pm-r8a7790.c/pm-r8a7791.c) have some overlap code. This change consolidate the pm code for R-Car Gen2 into one. Signed-off-by: Gaku Inami <gaku.inami.xw@xxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ca5b74d2675a44f54aacb919c1cf022463e2f738 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Mar 16 23:49:08 2015 +0100 ACPI: Introduce has_acpi_companion() Now that the ACPI companions of devices are represented by pointers to struct fwnode_handle, it is not quite efficient to check whether or not an ACPI companion of a device is present by evaluating the ACPI_COMPANION() macro. For this reason, introduce a special static inline routine for that, has_acpi_companion(), and update the code to use it where applicable. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ce793486e23e0162a732c605189c8028e0910e86 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Mar 16 23:49:03 2015 +0100 driver core / ACPI: Represent ACPI companions using fwnode_handle Now that we have struct fwnode_handle, we can use that to point to ACPI companions from struct device objects instead of pointing to struct acpi_device directly. There are two benefits from that. First, the somewhat ugly and hackish struct acpi_dev_node can be dropped and, second, the same struct fwnode_handle pointer can be used in the future to point to other (non-ACPI) firmware device node types. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> commit d37530a0fc13b860f3b4ef88fbddff69fac52fc0 Author: Roger Quadros <rogerq@xxxxxx> Date: Fri Mar 6 17:10:05 2015 +0200 ARM: dts: omap3-beagle: Add NAND device The beagle board contains a 16-bit NAND device connected to chip select 0 of the GPMC controller. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a895b8a0d1e474dcfce3680d8f66cc08056acc1c Author: Vignesh R <vigneshr@xxxxxx> Date: Mon Mar 2 16:19:34 2015 +0530 ARM: dts: AM4372: update hdq compatible property This patch updates hdq node compatible property to "ti,am4372-hdq". Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9ccd0106c9dbcb7b6328680f4375f885f0efaca8 Author: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Date: Fri Feb 27 22:26:39 2015 +0100 ARM: dts: omap3-pandora: add DM3730 1 GHz version Added Pandora 1 GHz model which is based on Classic/Rebirth with following changes: - upgraded cpu to dm3730 runs on 1GHz - 512 MiB DDR-333 SDRAM @ 200 MHz Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Tested-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Reviewed-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b715da74deafb5f5a324001e9520b948f8c2795c Author: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Date: Fri Feb 27 22:26:38 2015 +0100 ARM: dts: omap3-pandora: add OMAP3530 600 MHz version Added Pandora Rebirth model which is based on Pandora Classic with 512 MiB DDR-333 SDRAM memory. Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Tested-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Reviewed-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 771048f59d068f0baf22fef7f952e8d4cca158af Author: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Date: Fri Feb 27 22:26:37 2015 +0100 ARM: dts: omap3-pandora: add common device tree This device tree allows to boot, supports the panel, framebuffer, touch screen, as well as some more peripherals. Since there is a OMAP3530 based 600 MHz variant and a DM3730 based 1 GHz variant we must include this common device tree code in one of two CPU specific device trees. Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Tested-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Reviewed-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a7390ebe457ec5a90ce7da9ae652ebdbda94b926 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Feb 26 15:39:23 2015 +0200 ARM: dts: dra7xx-clocks: Add gate clock for CLKOUT2 To be able to control the gate for the clkout2 clock output. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5c8a521d447682037221535bd898a9d182d25c7d Author: Matt Porter <mporter@xxxxxxxxxxxx> Date: Thu Feb 26 10:38:45 2015 -0500 Documentation: DT: omap_serial: document missing properties and add an example The omap_serial.txt binding documentation lacks a number of properties that are used in DTS files for platforms incorporating this peripheral. Fix this by documenting the missing required and optional fields and add an example. Signed-off-by: Matt Porter <mporter@xxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 78420b5dca18f2034f18925f5608cda2c960c3f3 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Thu Mar 12 12:55:37 2015 +0900 ARM: shmobile: r8a7791: Correct SYSCIER value Set the SYSCIER as per the values indicated in the documentation. The value previously used appears to been copied from the r8a7779 implementation but on closer inspection is not correct for the r8a7791. Fixes: 5f6108bb9643 ("ARM: shmobile: r8a7791 SYSC setup code") Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ee72f6adfdd95b53432eb60b6944c6fe2790dd13 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Thu Mar 12 12:55:36 2015 +0900 ARM: shmobile: r8a7790: Correct SYSCIER value Set the SYSCIER as per the values indicated in the documentation. The value previously used appears to been copied from the r8a7779 implementation but on closer inspection is not correct for the r8a7790. Fixes: a48f165509c1 ("ARM: shmobile: r8a7790 SYSC setup code") Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 617011e7d5559046e4fc8f87793c8a5d9c3431b0 Author: Thomas Graf <tgraf@xxxxxxx> Date: Mon Mar 16 10:42:26 2015 +0100 rhashtable: Avoid calculating hash again to unlock Caching the lock pointer avoids having to hash on the object again to unlock the bucket locks. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e0388c3188c602fafdbfff46ca976de32a8008f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jan 28 13:38:02 2015 -0800 arm: qcom: Update defconfig After removing ARCH_REQUIRE_GPIOLIB we need to select CONFIG_GPIOLIB to keep building the pinctrl drivers. Make the defconfig smaller too by running savedefconfig. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit fb6e987be44c6e9f83b371cde5955ad0f5418504 Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Wed Jan 28 13:38:01 2015 -0800 arm: qcom: Enable lpass clock driver in defconfig Enable the LPASS clock controller driver so that audio drivers can enable, disable, and set rates on their clocks. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Enable 8960 driver too] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 49d094570c59ba9e60efacd5b08a248ab9f6d59a Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 19 13:57:38 2015 -0600 ARM: dts: am437x-idk: enable i2c2 i2c2 goes to an expansion connector which we want to use. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 45706bb53d118b5340a12926e26444d73b6491f9 Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Fri Dec 19 08:41:05 2014 +0530 powerpc/book3s: Fix flush_tlb cpu_spec hook to take a generic argument. The flush_tlb hook in cpu_spec was introduced as a generic function hook to invalidate TLBs. But the current implementation of flush_tlb hook takes IS (invalidation selector) as an argument which is architecture dependent. Hence, It is not right to have a generic routine where caller has to pass non-generic argument. This patch fixes this and makes flush_tlb hook as high level API. Reported-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5b5e49af054a315bda68fec3eb935637aa72be31 Author: Rostislav Lisovy <lisovy@xxxxxxxxx> Date: Mon Feb 9 15:48:05 2015 +0100 ARM: dts: am335x: Add Chiliboard DTS Chiliboard uses ChiliSOM as its base. Hardware specification: * ChiliSOM (am335x, PMIC, DRAM, NAND) * Ethernet PHY (id 0) * USB host (usb1) * microSD slot * 2x GPIO LED Signed-off-by: Rostislav Lisovy <lisovy@xxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 446fb96c4a72ba390fbdecf27a88eaa50ea179dc Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 16 17:46:57 2015 -0300 perf hists browser: Fix up some branch alignment Those asprintf return checks should be aligned with the other conditionals, fix it. Also add {} blocks to further clarify. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> echo Link: http://lkml.kernel.org/n/tip-`ranpwd -l 24`@git.kernel.org Link: http://lkml.kernel.org/n/tip-nqgs07jfphbkw67wja870d3r@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 11d938d494890f09cf22252615cd2d0f2332f429 Author: Rostislav Lisovy <lisovy@xxxxxxxxx> Date: Mon Feb 9 15:48:04 2015 +0100 ARM: dts: am335x: Add DTS for ChiliSOM module Since this is a SOM (System on Module) that will be part of another embedded board (and can't really exist on its own) define it as a "dtsi" that will be included in the Device tree describing the whole system later on. Hardware specification: * AM335x SoC * up to 512 MB RAM * NAND Flash (8x interface, cs0) * UART0 * PMIC * I2C0 (for PMIC) * 1x Ethernet MAC Signed-off-by: Rostislav Lisovy <lisovy@xxxxxxxxxxxx> [tony@xxxxxxxxxxx: updated nand io size to be just 4] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1b3a62ae9c06aa015397984eaa0be531fc6675eb Author: Rostislav Lisovy <lisovy@xxxxxxxxx> Date: Mon Feb 9 15:48:03 2015 +0100 ARM: dts: Add vendor prefix for Grinn Grinn is a company located in Poland, Europe producing System on Modules. Webpage: http://www.grinn-global.com/ Signed-off-by: Rostislav Lisovy <lisovy@xxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0ba332f70a555548430ef3cf459b5240df0ffbd5 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 16 17:41:52 2015 -0300 perf hists browser: Simplify symbol annotation menu setup No need to repeat some tests, skip annotation instead. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-6h6igrb81u4e6rwfmx7dv47n@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9f1ab18672bee992b6169bbfa2b5ae86b42e88a8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Mar 16 07:14:34 2015 -0700 tcp_metrics: fix wrong lockdep annotations Changes in tcp_metric hash table are protected by tcp_metrics_lock only, not by genl_mutex While we are at it use deref_locked() instead of rcu_dereference() in tcp_new() to avoid unnecessary barrier, as we hold tcp_metrics_lock as well. Reported-by: Andrew Vagin <avagin@xxxxxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 098a697b497e ("tcp_metrics: Use a single hash table for all network namespaces.") Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03b225b16d75bccf9bc4d82607964a08148adf61 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 11 16:15:31 2015 +0530 pcmcia: Use setup_timer and mod_timer This patch introduces the use of functions setup_timer and mod_timer. This is done using Coccinelle and semantic patch used for this as follows: // <smpl> @@ expression x,y,z,a,b; @@ -init_timer (&x); +setup_timer (&x, y, z); +mod_timer (&a, b); -x.function = y; -x.data = z; -x.expires = b; -add_timer(&a); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dae6cdabe45baecfcfd02fbf11d97bb645450fc6 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 11 16:25:38 2015 +0530 pcmcia: Use setup_timer This patch introduces the use of function setup_timer. This is done using Coccinelle and semantic patch used is as follows: @@ expression x,y,z; @@ - init_timer (&x); + setup_timer (&x, y, z); - x.function = y; - x.data = z; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd76a116707bd2381da36cf7c3183df11293f1d6 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Mon Mar 16 12:33:32 2015 +0100 dsa: change "select" to "depends on" for NET_SWITCHDEV and for NET_DSA This would fix randconfig compile error: net/built-in.o: In function `netdev_switch_fib_ipv4_abort': (.text+0xf7811): undefined reference to `fib_flush_external' Also it fixes following warnings: warning: (NET_DSA) selects NET_SWITCHDEV which has unmet direct dependencies (NET && INET) warning: (NET_DSA_MV88E6060 && NET_DSA_MV88E6131 && NET_DSA_MV88E6123_61_65 && NET_DSA_MV88E6171 && NET_DSA_MV88E6352 && NET_DSA_BCM_SF2) selects NET_DSA which has unmet direct dependencies (NET && HAVE_NET_DSA && NET_SWITCHDEV) Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Suggested-by: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73ee5442978b2dd3159e0170b09ba907a197a62d Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Mon Mar 16 18:56:29 2015 +0800 net/fsl: modify xgmac_mdio for little endian SoCs MDIO controller on little endian Socs, e.g. ls2085a is similar to the controller on big endian Socs, but the MDIO access is little endian, we use I/O accessor function to handle endianness, so the driver can run on little endian Socs. A property "little-endian" is used in DTS to indicate the MDIO is little endian, if driver probes the property, driver will access MDIO in little endian, otherwise, driver works in big endian by default. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26eee0210ad72a29eb4a70b34320bda266f91a0d Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Mon Mar 16 18:55:50 2015 +0800 net/fsl: fix a bug in xgmac_mdio There is a bug in xgmac_wait_until_done() which mdio_stat should be used instead of mdio_data when checking if busy bit is cleared. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c243d7e20996254f89c28d4838b5feca735c030d Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Mon Mar 16 18:19:12 2015 +0800 net: kernel socket should be released in init_net namespace Creating a kernel socket with sock_create_kern() happens in "init_net" namespace, however, releasing it with sk_release_kernel() occurs in the current namespace which may be different with "init_net" namespace. Therefore, we should guarantee that the namespace in which a kernel socket is created is same as the socket is created. Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db4374f48a6c31c02f6ad1d19b257c186b443c0c Author: Thomas Graf <tgraf@xxxxxxx> Date: Mon Mar 16 10:42:27 2015 +0100 rhashtable: Annotate RCU locking of walkers Fixes the following sparse warnings: lib/rhashtable.c:767:5: warning: context imbalance in 'rhashtable_walk_start' - wrong count at exit lib/rhashtable.c:849:6: warning: context imbalance in 'rhashtable_walk_stop' - unexpected unlock Fixes: f2dba9c6ff0d ("rhashtable: Introduce rhashtable_walk_*") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ab163ad1ea0bb0ccd4ada2a54834041611d76f1 Author: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Date: Fri Feb 6 19:15:28 2015 +0530 misc: sram: switch to ioremap_wc from ioremap Currently, the SRAM allocator returns device memory via ioremap. This causes issues on ARM64 when the internal SoC SRAM allocated by the generic sram driver is used for audio playback. The destination buffer address (which is ioremapped SRAM) is not 64-bit aligned for certain streams (e.g. 44.1k sampling rate). In such cases we get unhandled alignment faults. Use ioremap_wc in place of ioremap which gives us normal non-cacheable memory instead of device memory. Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34644524bce91883d5051a7eaf3ec5464ed149bf Author: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Date: Fri Feb 6 19:15:27 2015 +0530 lib: devres: add a helper function for ioremap_wc Implement a resource managed writecombine ioremap function. Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71a49d16f06de2ccdf52ca247d496a2bb1ca36fe Author: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Date: Fri Feb 6 19:15:26 2015 +0530 m32r: add definition of ioremap_wc to io.h Before adding a resource managed ioremap_wc function, we need to have ioremap_wc defined for m32r to prevent build errors. Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be7bee9f80c1237e70cc6411e5b432681941247c Author: Jean Delvare <jdelvare@xxxxxxx> Date: Sun Mar 8 09:49:50 2015 +0100 misc: bh1780: Add module aliases The bh1780gli driver does not create an i2c module alias for the device it supports, preventing the driver from being loaded automatically when needed on non-OF/DT systems. Add it. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1a3f243485fa2643bc75fd70a23bbd7cfc74f2d Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Mar 16 12:16:14 2015 +0100 checkkconfigsymbols.py: make it Git aware The script now supports to check a specified commit or a specified range of commits (i.e., commit1..commit2). Developers and maintainers are encouraged to use this functionality before sending or merging patches to avoid potential bugs and to keep the code, documentation, etc. clean. This patch adds the following options to the script: -c COMMIT, --commit=COMMIT Check if the specified commit (hash) introduces undefined Kconfig symbols. -d DIFF, --diff=DIFF Diff undefined symbols between two commits. The input format bases on Git log's 'commmit1..commit2'. --force Reset current Git tree even when it's dirty. Note that the first two options require to 'git reset --hard' the user's Git tree. This hard reset is necessary to keep the script fast, but it can lead to the loss of uncommitted data. Hence, the script aborts in case it is executed in a dirty tree. It won't abort if '--force' is passed. If neither -c nor -d is specified, the script defaults to check the entire local tree (i.e., the previous behavior). Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da2ff527e44bf3af851c1e5d9ac82d248df35417 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:17:13 2015 +0100 char: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6893d9b51093cf499ee6217e98c50006ec2727c6 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:20:26 2015 +0100 misc: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f51bf4be99386f49841b6365a85a5cabc148565 Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Mon Mar 16 14:08:56 2015 -0600 vfio: put off the allocation of "minor" in vfio_create_group The next code fragment "list_for_each_entry" is not depend on "minor". With this patch, the free of "minor" in "list_for_each_entry" can be reduced, and there is no functional change. Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit a7fa7c77cf15fb22d0f33fcc88770de0246c5588 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:55 2015 -0600 vfio/platform: implement IRQ masking/unmasking via an eventfd With this patch the VFIO user will be able to set an eventfd that can be used in order to mask and unmask IRQs of platform devices. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 42ac9bd18d4fc28c36c7927847f0f6e90ecd7710 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:54 2015 -0600 vfio: initialize the virqfd workqueue in VFIO generic code Now we have finally completely decoupled virqfd from VFIO_PCI. We can initialize it from the VFIO generic code, in order to safely use it from multiple independent VFIO bus drivers. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 7e992d692750b2938224eb43fee907181d92a602 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:54 2015 -0600 vfio: move eventfd support code for VFIO_PCI to a separate file The virqfd functionality that is used by VFIO_PCI to implement interrupt masking and unmasking via an eventfd, is generic enough and can be reused by another driver. Move it to a separate file in order to allow the code to be shared. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 09bbcb8810c4673cb96477e0e83c9bcdfadc7741 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:53 2015 -0600 vfio: pass an opaque pointer on virqfd initialization VFIO_PCI passes the VFIO device structure *vdev via eventfd to the handler that implements masking/unmasking of IRQs via an eventfd. We can replace it in the virqfd infrastructure with an opaque type so we can make use of the mechanism from other VFIO bus drivers. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 9269c393e7a971f98c0f54d7fc350ac7636d1fa5 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:52 2015 -0600 vfio: add local lock for virqfd instead of depending on VFIO PCI The Virqfd code needs to keep accesses to any struct *virqfd safe, but this comes into play only when creating or destroying eventfds, so sharing the same spinlock with the VFIO bus driver is not necessary. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit bb78e9eaab919b1ede37d62056b554bba611a012 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:52 2015 -0600 vfio: virqfd: rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit The functions vfio_pci_virqfd_init and vfio_pci_virqfd_exit are not really PCI specific, since we plan to reuse the virqfd code with more VFIO drivers in addition to VFIO_PCI. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> [Baptiste Reynal: Move rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit from "vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and export"] Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit bdc5e1021b7fa061d21e64fc6d308ee0ef3c7582 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:51 2015 -0600 vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and export We want to reuse virqfd functionality in multiple VFIO drivers; before moving these functions to core VFIO, add the vfio_ prefix to the virqfd_enable and virqfd_disable functions, and export them so they can be used from other modules. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 06211b40ce6b63903fe03831fd075a25630dc856 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:50 2015 -0600 vfio/platform: support for level sensitive interrupts Level sensitive interrupts are exposed as maskable and automasked interrupts and are masked and disabled automatically when they fire. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> [Baptiste Reynal: Move masked interrupt initialization from "vfio/platform: trigger an interrupt via eventfd"] Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 57f972e2b341dd6a73533f9293ec55d584a5d833 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:50 2015 -0600 vfio/platform: trigger an interrupt via eventfd This patch allows to set an eventfd for a platform device's interrupt, and also to trigger the interrupt eventfd from userspace for testing. Level sensitive interrupts are marked as maskable and are handled in a later patch. Edge triggered interrupts are not advertised as maskable and are implemented here using a simple and efficient IRQ handler. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> [Baptiste Reynal: fix masked interrupt initialization] Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 9a36321c8d3350c4f7befa02adf3ce4583287ad9 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:49 2015 -0600 vfio/platform: initial interrupts support code This patch is a skeleton for the VFIO_DEVICE_SET_IRQS IOCTL, around which most IRQ functionality is implemented in VFIO. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 682704c41e6d2238c1fb5c6ab83eedadd876fa0e Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:48 2015 -0600 vfio/platform: return IRQ info Return information for the interrupts exposed by the device. This patch extends VFIO_DEVICE_GET_INFO with the number of IRQs and enables VFIO_DEVICE_GET_IRQ_INFO. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit fad4d5b1f042a659e07ceba3a6d1744b30f8ff7c Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:48 2015 -0600 vfio/platform: support MMAP of MMIO regions Allow to memory map the MMIO regions of the device so userspace can directly access them. PIO regions are not being handled at this point. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 6e3f264560099869f68830cb14b3b3e71e5ac76a Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:47 2015 -0600 vfio/platform: read and write support for the device fd VFIO returns a file descriptor which we can use to manipulate the memory regions of the device. Usually, the user will mmap memory regions that are addressable on page boundaries, however for memory regions where this is not the case we cannot provide mmap functionality due to security concerns. For this reason we also allow to use read and write functions to the file descriptor pointing to the memory regions. We implement this functionality only for MMIO regions of platform devices; PIO regions are not being handled at this point. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit e8909e67cac3ad3868dc86cc6b1445f39c71bf63 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:46 2015 -0600 vfio/platform: return info for device memory mapped IO regions This patch enables the IOCTLs VFIO_DEVICE_GET_REGION_INFO ioctl call, which allows the user to learn about the available MMIO resources of a device. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 2e8567bbb536cfc7336f8f105ef43adc98b9c156 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:46 2015 -0600 vfio/platform: return info for bound device A VFIO userspace driver will start by opening the VFIO device that corresponds to an IOMMU group, and will use the ioctl interface to get the basic device info, such as number of memory regions and interrupts, and their properties. This patch enables the VFIO_DEVICE_GET_INFO ioctl call. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> [Baptiste Reynal: added include in vfio_platform_common.c] Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit b13329adc2cd6c613ffd95b681a0d4cbd399939f Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:45 2015 -0600 vfio: amba: add the VFIO for AMBA devices module to Kconfig Enable building the VFIO AMBA driver. VFIO_AMBA depends on VFIO_PLATFORM, since it is sharing a portion of the code, and it is essentially implemented as a platform device whose resources are discovered via AMBA specific APIs in the kernel. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 36fe431f2811fa3b5fed15d272c585d5a47977aa Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:44 2015 -0600 vfio: amba: VFIO support for AMBA devices Add support for discovering AMBA devices with VFIO and handle them similarly to Linux platform devices. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 53161532394b3b3c7e1ec9c80658edd75446ac77 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:44 2015 -0600 vfio: platform: add the VFIO PLATFORM module to Kconfig Enable building the VFIO PLATFORM driver that allows to use Linux platform devices with VFIO. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 9df85aaa43297cb12dc85155695dd1bfdf94f91d Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:43 2015 -0600 vfio: platform: probe to devices on the platform bus Driver to bind to Linux platform devices, and callbacks to discover their resources to be used by the main VFIO PLATFORM code. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit de49fc0d99e6a8af8be4f56869bdea12976d3551 Author: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon Mar 16 14:08:42 2015 -0600 vfio/platform: initial skeleton of VFIO support for platform devices This patch forms the common skeleton code for platform devices support with VFIO. This will include the core functionality of VFIO_PLATFORM, however binding to the device and discovering the device resources will be done with the help of a separate file where any Linux platform bus specific code will reside. This will allow us to implement support for also discovering AMBA devices and their resources, but still reuse a large part of the VFIO_PLATFORM implementation. Signed-off-by: Antonios Motakis <a.motakis@xxxxxxxxxxxxxxxxxxxxxx> [Baptiste Reynal: added includes in vfio_platform_private.h] Signed-off-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit d720acace4d7989f0d5617868e8277221e882961 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:54:36 2015 +0100 hwmon: (pwm-fan, vexpress) Constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 04f49faf70d4c056cd6576ff0614bb54e7a70bbc Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sun Mar 15 23:04:46 2015 -0700 rocker: replace fixed stack allocation with dynamic allocation In hast to fix some sparse warning, I hard-coded a fix-sized array on the stack which is probably too big for kernel standards. Fix this by converting array to dynamic allocation. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b35f504a0c2631d57ebbb5b5b85a9055f62dce88 Merge: f00bbd2 13854e5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 16 15:55:47 2015 -0400 Merge branch 'listener_refactor' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 10 We are getting close to the point where request sockets will be hashed into generic hash table. Some followups are needed for netfilter and will be handled in next patch series. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13854e5a60461daee08ce99842b7f4d37553d911 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 15 21:12:16 2015 -0700 inet: add proper refcounting to request sock reqsk_put() is the generic function that should be used to release a refcount (and automatically call reqsk_free()) reqsk_free() might be called if refcount is known to be 0 or undefined. refcnt is set to one in inet_csk_reqsk_queue_add() As request socks are not yet in global ehash table, I added temporary debugging checks in reqsk_put() and reqsk_free() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c13270b441054a9596bcd99c0f446603c9ad131 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 15 21:12:15 2015 -0700 inet: factorize sock_edemux()/sock_gen_put() code sock_edemux() is not used in fast path, and should really call sock_gen_put() to save some code. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a58917f584e776b9fe31ef2a8bf617f253378dc0 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 15 21:12:14 2015 -0700 inet_diag: allow sk_diag_fill() to handle request socks inet_diag_fill_req() is renamed to inet_req_diag_fill() and moved up, so that it can be called fom sk_diag_fill() inet_diag_bc_sk() is ready to handle request socks. inet_twsk_diag_dump() is no longer needed. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7e4eb03f9d9e2522bdd5107f37f9cf1af0bf0fa Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 15 21:12:13 2015 -0700 inet: ip early demux should avoid request sockets When a request socket is created, we do not cache ip route dst entry, like for timewait sockets. Let's use sk_fullsock() helper. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d0ab253872cdd3d8e7913f59c266c7fd01771d0 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Mar 15 21:12:12 2015 -0700 net: add sk_fullsock() helper We have many places where we want to check if a socket is not a timewait or request socket. Use a helper to avoid hard coding this. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fd6d08cbd4bd8984241c7cef2f7c5cb67fce1aa Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 12:48:44 2015 -0700 ARM: omap2plus_defconfig: Enable n900 modem as loadable modules Enable n900 modem as loadable modules. Acked-by: Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 930a1d29744230ac74c0937dcc6fdf99c6489253 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 12:46:59 2015 -0700 ARM: omap2plus_defconfig: Update bluetooth options Many omaps have bluetooth, so let's make it available as modules. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e804c9258b553c469039e63c2f6933b3adc38a26 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Mar 16 12:44:49 2015 -0700 ARM: omap2plus_defconfig: Enable leds-pwm This is used on many omap boards. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5082a59965d4f13245658b2927b6c021f17ed88e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 12:39:00 2015 -0700 Bluetooth: Do not include LE SC out-of-band data if not enabled In case LE Secure Connections is not enabled, then the command for returning local out-of-band data should not include the confirmation and random value for LE SC pairing. All other fields are still valid, but these two need to be left out. In that case it is also no needed to generate the public/private key pair for out-of-band pairing. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b880ab869c4e1e7cadb040d4ee9b189aebd6cb38 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 12:34:58 2015 -0700 Bluetooth: The P-256 randomizer is 16 octets long and not 19 octets This seems to be a simple typo in the debugfs entry for the remote out-of-band data entries. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit fb334fee60ebd1aea23cc5daf3abac10139c9a24 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 12:34:57 2015 -0700 Bluetooth: Rename smp->local_rr into smp->local_rand The variable for the out-of-band random number was badly named and with that confusing. Just rename it to local_rand so it is clear what value it represents. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bc07cd696e1863d082fdc8650351b288bd41629b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 12:34:56 2015 -0700 Bluetooth: Add extra SMP_DBG statement for remote OOB data Just for pure debugging purposes print the remote out-of-band data that has been received and is going to be used. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e091526dfdaa955a7481a696094ac9e5d1bdb0fe Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 12:34:55 2015 -0700 Bluetooth: Use smp->remote_pk + 32 instead of &smp->remote_pk[32] Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5fcad167315f224eaf6750b0fb85ee6c92f087cd Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Mar 5 17:36:54 2015 -0500 HID: wacom: ask for a in-prox report when it was missed If noone listens to the input device when a tool comes in proximity, the tablet does not send the in-prox event when a client becomes available. That means that no events will be sent until the tool is taken out of proximity. In this situation, ask for the report WACOM_REPORT_INTUOSREAD which will read the corresponding feature and generate an in-prox event. To make some generation of hardware working, we need to unset the quirk NO_GET set by hid-core because the interfaces are seen as "boot mouse". We don't schedule this read in a worker while we are in an IO interrupt. We know that usbhid will do it asynchronously. If this is triggered by uhid, then this is obviously a client side bug :) Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit cb06d366fbf88f3923951d862f8c5b03fb483b43 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 21:12:34 2015 +0200 Bluetooth: Add clarifying comment when setting local OOB flag It might be a bit counterintuitive to set a 'local' flag based on remote data. This patch adds a clarifying comment to the pairing req/rsp handlers when setting the LOCAL_OOB flag based on the PDU received from the remote side. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a9c3e64835ab7399626fc89b995785531160dff4 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Sat Feb 7 00:25:50 2015 +0000 ARM: omap1_defconfig: drop obsolete Kconfig symbols scripts/checkkconfigsymbols.py indicates that omap1_defconfig references the following obsolete Kconfig symbols: CONFIG_BT_L2CAP CONFIG_BT_SCO CONFIG_DEBUG_ERRORS CONFIG_EXPERIMENTAL CONFIG_FB_OMAP_BOOTLOADER_INIT CONFIG_LEDS_CPU CONFIG_MACH_OMAP_HTCWIZARD CONFIG_MTD_CHAR CONFIG_MTD_DEBUG CONFIG_MTD_DEBUG_VERBOSE CONFIG_MTD_PARTITIONS CONFIG_NET_ETHERNET CONFIG_RCU_CPU_STALL_DETECTOR CONFIG_SCSI_MULTI_LUN CONFIG_USB_DEVICE_CLASS CONFIG_VIDEO_OUTPUT_CONTROL Drop them from omap1_defconfig. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Stefan Hengelein <stefan.hengelein@xxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-omap@xxxxxxxxxxxxxxx Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit cc4a5fe972ad7834e8662b49b3a5fdb597e9e15e Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Jan 30 11:18:56 2015 -0600 arm: config: omap2plus_defconfig: switch over to LZMA compression LZMA compression makes about 33% smaller zImage with just a slight extra decompression time. Before this patch, zImage built with o2+_dc is 4.5MiB and after it's about 3.3MiB. Suggested-by: David Cohen <david.a.cohen@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 62f269ef819156889b121ae27998e928b784c219 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Mon Mar 9 07:39:07 2015 +0000 pstore: Fix the ramoops module parameters update In the function ramoops_probe, the console_size, pmsg_size, ftrace_size may be update because the value is not the power of two. We should update the module parameter variables as well so they are visible through /sys/module/ramoops/parameters correctly. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Mark Salyzyn <salyzyn@xxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit c08a54c0ebeb7933ce501c60a3cbf996364a8396 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Jan 26 14:15:32 2015 +0200 ARM: omap2plus_defconfig: Enable EXTCON_GPIO_USB This driver is needed for USB cable type detection on dra7-evm, dra72-evm and am57xx-beagle-x15. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 88c5544ab2240cf2a2dc87b5af9cd7990d06d028 Merge: 2197cf7 8590ca6 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:48 2015 +0100 Merge tag 'at91-cleanup3' into at91-4.1-multiplatform Third batch of cleanup for 4.1: - System Timer (ST) for at91rm9200 re-work (syscon/regmap): - watchdog - restart handler - timer as a proper clocksource => remove mach dependency + cleanup commit 2197cf7006b645893dbccaef454815fb6d7b3fda Merge: 8e6de97 598e085 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:44 2015 +0100 Merge tag 'at91-cleanup2' into at91-4.1-multiplatform Second batch of cleanup for 4.1: - remove unused matrix header files - dbgu + chip identification: new driver for SoC detection this allow to remove all additional io mapping - remove old non-standard AT91 setup code commit 8e6de970835be1d924c022d5e4b310ca7bb3cc7a Merge: 5e358e3 385acc0 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:39 2015 +0100 Merge tag 'at91-cleanup' into at91-4.1-multiplatform First batch of cleanup for 4.1: - little phy fixup that is not needed anymore - hudge cleanup of the PM code: - removal of "use slow clock" option => always use this for suspend to RAM - quicker suspend as the asm function is copied only once to SRAM - use of the same asm function for "standby" and "mem" types of suspend actions - adaptation to the ARMv7 processors commit 5e358e3991dcf62a4b3cdf8085ead6b4a25ba08b Merge: a697d40 e7b848d Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:34 2015 +0100 Merge tag 'at91-fixes3' into at91-4.1-multiplatform Third fixes batch for AT91 on 4.0: - clock fixes for USB - compatible string changes for handling USB IP differences (+ needed AHB matrix syscon) - fix of a compilation error in PM code commit a697d40a8aab4b67c0f11fb6105c6c4edcbd0c81 Merge: 59f5f7d 5957457 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:31 2015 +0100 Merge tag 'at91-fixes2' into at91-4.1-multiplatform Second fixes batch for AT91 on 4.0: - little fix for !MMU debug: may also help for randconfig - fix of 2 errors in LCD clock definitions - in PM code, not writing the key leads to not execute the action commit 59f5f7d054924bf38e41929a47bd7d5d94d42096 Merge: 13a7a6a 2141102 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Mar 16 18:09:27 2015 +0100 Merge tag 'at91-fixes' into at91-4.1-multiplatform First fixes batch for AT91 on 4.0: - PM slowclock fixes for DDR and timeouts - fix some DT entries - little defconfig updates - the removal of a harmful watchdog option + its detailed documentation commit 3b62286d0ef785815994e2558e8cfb686597b0cd Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Mar 16 09:37:24 2015 +0200 dmaengine: Remove FSF mailing addresses Free Software Foundation mailing address has been moved in the past and some of the addresses here are outdated. Remove them from file headers since the COPYING file in the kernel sources includes it. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d51da4d4a9e6592d2e5645943a23e25dfd91939e Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Mon Feb 23 09:40:33 2015 +0530 dmaengine: qcom_bam_dma: Add support for BAM v1.7.0 Add register offset table entry for the newer (v1.7.0) version of the BAM IP found on MSM8916. Update the DT bindings documentation. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b26072276f20ce93717fdad5210e4ae9f1c944fa Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Mar 10 11:37:24 2015 +0200 dmaengine: dw: Make error prints unique. Part #2 The same error message is printed from different switch cases. Since both of these jump into same error label we can move error print there and add a DMA direction in order to make it easier to grep error from sources. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 550da64bc89b597395ea6e43a6b4026491035a9d Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Mar 10 11:37:23 2015 +0200 dmaengine: dw: Make error prints unique. Part #1 The same error message is printed from different functions. Add a function name to error message in order to make it easier to grep error from sources. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a8ca617c1356cafa669dc467a386787cc1d83809 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 18:12:57 2015 +0200 Bluetooth: Don't send public key if OOB data verification fails When we receive the remote public key, if we have remote OOB data there's no point in sending our public key to the remote if the OOB data doesn't match. This patch moves the test for this higher up in the smp_cmd_public_key() function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 94ea7257ef24a007cb0e26476ed8871f179a749f Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 11:45:46 2015 +0200 Bluetooth: Fix verifying confirm value when lacking remote OOB data If we haven't received remote OOB data we cannot perform any special checks on the confirm value. This patch updates the check after having received the public key to only perform the verification if we have remote OOB data present. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 58428563b5ea19c2ac8b6aca8073e48539023b26 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 11:45:45 2015 +0200 Bluetooth: Set local OOB data flag if remote has our OOB data If the SMP Pairing Request or Response PDU received from the remote device indicates that it has received our OOB data we should set the SMP_FLAG_LOCAL_OOB flag. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1a8bab4f390130268e5384ccf1bde47925102c72 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 11:45:44 2015 +0200 Bluetooth: Track local vs remote OOB data availability There are several decisions in the SMP logic that depend not only on whether we're doing SMP or not, but also whether local and/or remote OOB data is present. This patch splits the existing SMP_FLAG_OOB into two new flags to track local and remote OOB data respectively. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 882fafad71a4bac8e8a2445dfb08c38a71b4eef1 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Mar 16 11:45:43 2015 +0200 Bluetooth: Fix local OOB data handling for SMP We need to store the local ra/rb value in order to verify the Check value received from the remote. This patch adds a new 'lr' for the local ra/rb value and makes sure it gets used when verifying the DHKey Check PDU received from the remote. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 960d6d08e395d5441d53caa21083c0b6d38995f9 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Mar 13 17:37:59 2015 +0530 mwifiex: delay skb allocation for RX until cmd53 over This patch moves SKB allocation for RX packets from current place i.e. after reading MP regs to place where we already have read data from SDIO bus ie after cmd53. mp_rx_aggr_setup has been modified accordingly to set skb_arr to NULL. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Shengzhen Li <szli@xxxxxxxxxxx> Reviewed-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Reviewed-by: Cathy Luo <cluo@xxxxxxxxxxx> Reviewed-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 92263a841b1502d2ef19199deaa669fe4c0102e9 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Mar 13 17:37:58 2015 +0530 mwifiex: add SDIO rx single port aggregation This patch brings in support for SDIO single port rx aggregation to mwifiex. Maximum read size support by SDIO cmd53 is 64K. Based on multi port aggregation which is already part of mwifiex, idea here is multiple packets received in FW can be aggregated into single buffer. A separate upload type is defined for such packet aggregated to single port. Packets from this single buffer are later deaggregated into individual packets. This way, driver can receive more packets each time through single SDIO cmd53; thereby reducing no of times MMC bus is accessed. SDIO SP aggregation support is advertised by FW during load time and driver would get FW block size in command response of HostCmd_CMD_SDIO_SP_RX_AGGR_CFG. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Reviewed-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Reviewed-by: Cathy Luo <cluo@xxxxxxxxxxx> Reviewed-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e35000ead491d71e59ab6f7458971321e06150a0 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Mar 13 17:37:57 2015 +0530 mwifiex: preprocess packets from TX queue During profiling, we discovered that driver remains idle for time when pakcet is downloaded to FW but no TX_DONE has been received i.e. while data_sent is true. This patch adds enhancement to TX routine where we preprocess packets from TX queue, make them ready for TX and add them to separate TX queue. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Chin-ran Lo <crlo@xxxxxxxxxxx> Reviewed-by: Cathy Luo <cluo@xxxxxxxxxxx> Reviewed-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Reviewed-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 690e792cb9d78c3bcaf4a6a8387dbbfbafad579f Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Mar 13 17:37:56 2015 +0530 mwifiex: remove_bss_prio_lock This patch does away with spinlock in mwifiex_wmm_get_highest_priolist_ptr in order to improve TP. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 39df5e8233bf34696204207c7594a0a6320fa044 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Mar 13 17:37:55 2015 +0530 mwifiex: get rid of BA setup helper functions This patch removes BA setup helper routines mwifiex_is_bastream_setup and mwifiex_is_amsdu_in_ampdu_allowed. Current code will use two functions to check bastream setup and amsdu in ampdu. This patch change these functions to flags, thus avoiding redundant spin_lock check while dequeuing TX packets. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Reviewed-by: Cathy Luo <cluo@xxxxxxxxxxx> Reviewed-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b2713f67f7a4c3226772c5ac581c7f37d7c473f1 Author: Shengzhen Li <szli@xxxxxxxxxxx> Date: Fri Mar 13 17:37:54 2015 +0530 mwifiex: avoid queue_work while work is ongoing Current code does not check whether main_work_queue or rx_work_queue is running when preparing to do queue_work, this code fix add check before calling queue_work, reducing unnecessary queue_work switch. This change instead sets more_task flag to ensure we run main_process superloop once again. Signed-off-by: Shengzhen Li <szli@xxxxxxxxxxx> Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Reviewed-by: Cathy Luo <cluo@xxxxxxxxxxx> Reviewed-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Reviewed-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ea44f4d04c9356dc844af5312a376b6528cec7c5 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Mar 13 17:37:53 2015 +0530 mwifiex: enhance SD8897 MP aggregation limits SD8897 support buffers of 4K and 16 such ports can be accomodated. So basically 64K buffer size in single aggregation is supported. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 621599446daeaa80f65ca27190141bbc82dd95ec Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Mar 13 17:37:52 2015 +0530 mwifiex: rename alloc_rx_buf to alloc_dma_aligned_buf Rename this function to reflect its purpose correctly. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a9adbcb3355c31faf4274932f513f19225b61747 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Mar 13 17:37:51 2015 +0530 mwifiex: lock main process till reinitialization of vif is over A crash was detected while changing virtual interface type is in progress. This was tracked to race condition in accessing bss_priority table while change is in progress. This patch ensures that main_process and rx_process works are locked while we change virtual interface. Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a3fa71c40f1853d0c27e8f5bc01a722a705d9682 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Fri Mar 13 15:17:14 2015 +0800 wl18xx: show rx_frames_per_rates as an array as it really is In struct wl18xx_acx_rx_rate_stat, rx_frames_per_rates field is an array, not a number. This means WL18XX_DEBUGFS_FWSTATS_FILE can't be used to display this field in debugfs (it would display a pointer, not the actual data). Use WL18XX_DEBUGFS_FWSTATS_FILE_ARRAY instead. This bug has been found by adding a __printf attribute to wl1271_format_buffer. gcc complained about "format '%u' expects argument of type 'unsigned int', but argument 5 has type 'u32 *'". Fixes: c5d94169e818 ("wl18xx: use new fw stats structures") Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7daa54b747ddddf03737178f2473098a29d1b05c Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Thu Mar 12 15:35:46 2015 +0100 rt2x00usb: drop rt2x00usb_disable_radio() from rt2800usb_disable_radio() I have here FRITZ!WLAN USB Stick N v2 / idVendor=057c, idProduct=8501 and every single of this requests ends up with: |ieee80211 phy0: rt2x00usb_vendor_request: Error - Vendor Request 0x0c failed for offset 0x0000 with error -32 I was browsing the the vedor code and I haven't seen such request so I remove it with this patch. If I wasn't look enough or if this error is expected then please excuse :) Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 92d5e2456d39d8593bfb19429f2d83297836ad5c Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Thu Mar 12 15:35:45 2015 +0100 rt2x00usb: check USB's request error code in rt2800usb_autorun_detect() rt2800usb_autorun_detect() blindly assumes assumes that it worked while it could have failed. Check the error code here. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e4fcfaf802bf75e20c65a501edc5c159e812ebd3 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Thu Mar 12 15:35:44 2015 +0100 rt2x00usb: initialize the read value in case of failure My understanding ist that rt2x00usb_register_read() is void and so the reader is unaware of read errors and assumes that whatever was on the stack as it was about to read. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6e9344fd8e90ff0bd8e74c15ec7c21eae7d54bd3 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Thu Mar 12 00:38:40 2015 -0700 mwifiex: use del_timer variant in interrupt context We might be in interrupt context at few places. So replace del_timer_sync() with del_timer(). This patch fixes a kernel trace problem seen occasionally during our testing. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b533be189732e93c6d3306773b7120722568444d Author: Maithili Hinge <maithili@xxxxxxxxxxx> Date: Thu Mar 12 00:38:39 2015 -0700 mwifiex: Add support for auto ARP in mwifiex. This patch adds support for auto ARP feature in mwifiex. The device will respond to ARP requests from the network with ARP response in suspended state without waking up the host. This feature is enabled in the driver by default. Signed-off-by: Maithili Hinge <maithili@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2c11ab90067a8bb9d7dca3e65ace950fcd9c2f1b Author: Cathy Luo <cluo@xxxxxxxxxxx> Date: Thu Mar 12 01:29:31 2015 -0700 mwifiex: fix a bug in Rx multiport aggregation logic It's been observed Rx aggregated packets are always followed by a single Rx packet. This patch improves our logic to add that extra packet in next aggregation. Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8590ca655a19f9e124b52bfbf28f14eb16a05bec Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:34 2015 +0100 ARM: at91: remove useless include Both drivers using the system timer are now converted to an MFD. mach/at91_st.h is now useless. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0afb46b248eff66e619ac00ac96d2e986844575e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 11:54:37 2015 +0100 clocksource: atmel-st: remove mach/hardware dependency Remove the mach/hardware dependency to prepare the driver for multiplatform support. Also switch from setup_irq() to request_irq() Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit adf2edfd6003c401ae52a360e0e67abc7deeb952 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:32 2015 +0100 clocksource: atmel-st: use syscon/regmap The register range from the system timer is also used by the watchdog driver. Use a regmap to handle concurrent accesses. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit b53cdd03222391f76e82cd0c7d040816c919ab75 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:31 2015 +0100 ARM: at91: time: move the system timer driver to drivers/clocksource Import at91rm9200_time.c from mach-at91 as timer-atmel-st.c. Further cleanup is required to get rid of the mach-at91 headers. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit bbfc97e1b1b9fb2177a9134f57506eb371638b85 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:30 2015 +0100 ARM: at91: properly initialize timer Use clocksource_of_init to initialize the system timer instead of relying on a custom function. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d8d1c6c8b0bec79b42f9e85fbf449ba7dd77accd Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:29 2015 +0100 ARM: at91: at91rm9200: remove deprecated arm_pm_restart Now that a proper driver is available, remove at91rm9200_restart. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 9ab45f3fb2bebd048ffa2692e8f7cc89f3d379d4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:28 2015 +0100 watchdog: at91rm9200: implement restart handler Restarting the at91rm9200 is done through programming the watchdog and waiting for it to reset. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8432f9e5e82a13b82a76171c89b0858e855c9da5 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:27 2015 +0100 watchdog: at91rm9200: use the system timer syscon Use a syscon regmap to access the system timer registers. Also, rename the driver atmel_st_watchdog to stop conflicting with at91sam9_wdt.c Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 1aa15f4e00c9be2c7e4c3bd36886ed65d25cc075 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:26 2015 +0100 mfd: syscon: Add atmel system timer registers definition AT91RM920 has a memory range reserved for timer and watchdog configuration. Expose those registers so that drivers can make use of the system timer syscon declared in at91 DTs. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit b595809b9842aaa1d67f77c52281a32636d64359 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:07:25 2015 +0100 ARM: at91/dt: declare atmel,at91rm9200-st as a syscon The system timer register range is used to handle three different functionalities: Periodic Interval Timer, Real Time Timer and watchdog. Declare it as a syscon to be able to get a regmap. Also declare it as a simple-mfd and its watchdog subnode. Finally, document the watchdog compatible string. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 52f119ddea412af870fb84412c0f7832e85c7663 Author: Priit Laes <plaes@xxxxxxxxx> Date: Wed Mar 11 22:03:27 2015 +0200 rtlwifi: No need to export rtl_evm_dbm_jaguar anymore This function is used only by rtl8821ae so move it there Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 54fb66d6fe98c75d5cb0b0487f0e2b00cb412be7 Author: Priit Laes <plaes@xxxxxxxxx> Date: Wed Mar 11 22:03:25 2015 +0200 rtlwifi: Clean rtl_evm_db_to_percentage a bit Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 387f149a2ace2e2569fb8fde6011cce2a84e07b8 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Mar 10 17:49:31 2015 +0100 ath9k: allow 40MHz radar detection width Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 58766977ad12b90ca7d7fa4d9ffd2dfde1bcf469 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Mar 10 17:49:30 2015 +0100 ath9k: add DFS support for extension channel In HT40 modes, pulse events on primary and extension channel are processed individually. If valid, a pulse event will be fed into the detector * for primary frequency, or * for extension frequency (+/-20MHz based on HT40-mode) * or both With that, a 40MHz radar will result in two individual radar events. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8252a35ab4f6ee703977f527296dc42ee9486ce2 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Mar 10 17:49:29 2015 +0100 ath9k: restart only triggering DFS detector line To support HT40 DFS mode, a triggering detector must reset only itself but not other detector lines. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 40346a0327fed526baeea701a707b65ceeea71ed Author: Alex Dowad <alexinbeijing@xxxxxxxxx> Date: Mon Mar 16 16:38:47 2015 +0200 metag: copy_thread(): rename 'arg' argument to 'kthread_arg' The 'arg' argument to copy_thread() is only ever used when forking a new kernel thread. Hence, rename it to 'kthread_arg' for clarity. Signed-off-by: Alex Dowad <alexinbeijing@xxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> commit 9a836c0a6310e6e970ff63d030d7213c874ae7af Author: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Date: Sun Mar 15 17:38:47 2015 +0200 staging: unisys: print MAC address via %pM This patch converts code to use %pM specifier instead of placing each byte on stack. Signed-off-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdbceb4de3e383a9d434899ef5ba0fe1da6c2a31 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 12 15:46:29 2015 +0300 staging: unisys: fix some debugfs output When we removed the ERRDEV() macro we made a small mistake so now it doesn't print the "Virtual PCI devices" section header. Fixes: 0aca78449b58 ('staging: unisys: remove ERRDEV macros') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 549fb6e399bc3dfa60134c8ff6501414d423c052 Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Date: Mon Mar 9 23:06:55 2015 +0100 staging: unisys: fix checkpatch warnings This fixes "braces {} are not necessary for single statement blocks" in uislib. Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c42d979816a0bc1d87aaabc4089d857942ddfe2 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 16 19:34:11 2015 +0530 Staging: nvec: use !x instead of x == NULL Functions like devm_kzalloc, kmalloc_array, devm_ioremap, usb_alloc_urb, alloc_netdev return NULL as a return value on failure. Generally, When NULL represents failure, !x is commonly used. This patch cleans up the tests on the results of these functions, thereby using !x instead of x == NULL or NULL == x. This is done via following coccinelle script: @prob_7@ identifier x; statement S; @@ ( x = devm_kzalloc(...); | x = usb_alloc_urb(...); | x = kmalloc_array(...); | x = devm_ioremap(...); | x = alloc_netdev(...); ) ... - if(NULL == x) + if(!x) S Further we have used isomorphism characteristics of coccinelle to indicate x == NULL and NULL == x are equivalent. This is done via following iso script. Expression @ is_null @ expression X; @@ X == NULL <=> NULL == X Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e3f3bb8631600ffc5788a4e9476ea841feac964 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 16 19:34:09 2015 +0530 Staging: goldfish: use !x instead of x == NULL Functions like devm_kzalloc, kmalloc_array, devm_ioremap, usb_alloc_urb, alloc_netdev return NULL as a return value on failure. Generally, When NULL represents failure, !x is commonly used. This patch cleans up the tests on the results of these functions, thereby using !x instead of x == NULL or NULL == x. This is done via following coccinelle script: @prob_7@ identifier x; statement S; @@ ( x = devm_kzalloc(...); | x = usb_alloc_urb(...); | x = kmalloc_array(...); | x = devm_ioremap(...); | x = alloc_netdev(...); ) ... - if(NULL == x) + if(!x) S Further we have used isomorphism characteristics of coccinelle to indicate x == NULL and NULL == x are equivalent. This is done via following iso script. Expression @ is_null @ expression X; @@ X == NULL <=> NULL == X Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87e3dbc27c025b3168922c29b06775f8a8cfbce6 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 16 19:34:08 2015 +0530 Staging: gdm72xx: use !x instead of x == NULL Functions like devm_kzalloc, kmalloc_array, devm_ioremap, usb_alloc_urb, alloc_netdev return NULL as a return value on failure. Generally, When NULL represents failure, !x is commonly used. This patch cleans up the tests on the results of these functions, thereby using !x instead of x == NULL or NULL == x. This is done via following coccinelle script: @prob_7@ identifier x; statement S; @@ ( x = devm_kzalloc(...); | x = usb_alloc_urb(...); | x = kmalloc_array(...); | x = devm_ioremap(...); | x = alloc_netdev(...); ) ... - if(NULL == x) + if(!x) S Further we have used isomorphism characteristics of coccinelle to indicate x == NULL and NULL == x are equivalent. This is done via following iso script. Expression @ is_null @ expression X; @@ X == NULL <=> NULL == X Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d877fdbf3e76162c92e2e58e6993b133ee302fe Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 16 19:34:07 2015 +0530 staging: gdm724x: use !x instead of x == NULL Functions like devm_kzalloc, kmalloc_array, devm_ioremap, usb_alloc_urb, alloc_netdev return NULL as a return value on failure. Generally, When NULL represents failure, !x is commonly used. This patch cleans up the tests on the results of these functions, thereby using !x instead of x == NULL or NULL == x. This is done via following coccinelle script: @prob_7@ identifier x; statement S; @@ ( x = devm_kzalloc(...); | x = usb_alloc_urb(...); | x = kmalloc_array(...); | x = devm_ioremap(...); | x = alloc_netdev(...); ) ... - if(NULL == x) + if(!x) S Further we have used isomorphism characteristics of coccinelle to indicate x == NULL and NULL == x are equivalent. This is done via following iso script. Expression @ is_null @ expression X; @@ X == NULL <=> NULL == X Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93275c8068b42ba0622698abe10bc860d8744451 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 16 01:26:37 2015 +0300 Staging: emuxx_udc: replace pr_* with dev_* dev_* is prefered over pr_* when appropriate dev structure is present. This patch replace pr_info and pr_warn with its dev_ counterpart. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62fad137bb1fc1dd08352aba18e7e13d0d682ef3 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 26 11:04:44 2015 -0800 HID: hid-sensor-hub: Fix sparse warning Since I can't change the type of hid_set_field argument 3, using __force __s32 to remove this warning. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 964308a6b40bcea5f8a3c3af678c0a87a9b94907 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:51:17 2015 +0300 Staging: ft1000: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8126e17f89259dfb6bf8ba6a2303a62702099e37 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:46:57 2015 +0300 Staging: media: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acc4b97b3b0a09fc85a3b6a7b8acb14d4c0cf5a5 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:45:25 2015 +0300 Staging: rtl8723au: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e6eaa90413f75f200ccb3d592537373b19016dc Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 14 01:03:09 2015 +0530 Staging: gdm72xx: Iterate list using list_for_each_entry Code using doubly linked list is iterated generally using list_empty and list_entry functions, but it can be better written using list_for_each_entry macro. This patch replaces the while loop containing list_empty and list_entry with list_for_each_entry and list_for_each_entry_safe. list_for_each_entry is a macro which is used to iterate over a list of given type. So while loop used to iterate over a list can be replaced with list_for_each_entry macro. However, if list_del is used in the loop, then list_for_each_entry_safe is a better choice. This transformation is done by using the following coccinelle script. @ rule1 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry; @@ - while (list_empty(&E1) == 0) + list_for_each_entry (I1, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ...when != list_del(...); when != list_del_init(...); } @ rule2 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry_safe; @@ T *I1; + T *tmp; ... - while (list_empty(&E1) == 0) + list_for_each_entry_safe (I1, tmp, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ... } Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca3d253eb9676ffc1bbe616b485826f337c7a616 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 14 01:03:08 2015 +0530 Staging: emxx_udc: Iterate list using list_for_each_entry Code using doubly linked list is iterated generally using list_empty and list_entry functions, but it can be better written using list_for_each_entry macro. This patch replaces the while loop containing list_empty and list_entry with list_for_each_entry and list_for_each_entry_safe. list_for_each_entry is a macro which is used to iterate over a list of given type. So while loop used to iterate over a list can be replaced with list_for_each_entry macro. However, if list_del is used in the loop, then list_for_each_entry_safe is a better choice. This transformation is done by using the following coccinelle script. @ rule1 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry; @@ - while (list_empty(&E1) == 0) + list_for_each_entry (I1, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ...when != list_del(...); when != list_del_init(...); } @ rule2 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry_safe; @@ T *I1; + T *tmp; ... - while (list_empty(&E1) == 0) + list_for_each_entry_safe (I1, tmp, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ... } Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d19cb862948a2de32068b6775a4e0a14fa4d8ec9 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 14 01:03:07 2015 +0530 Staging: ft1000: Iterate list using list_for_each_entry Code using doubly linked list is iterated generally using list_empty and list_entry functions, but it can be better written using list_for_each_entry macro. This patch replaces the while loop containing list_empty and list_entry with list_for_each_entry and list_for_each_entry_safe. list_for_each_entry is a macro which is used to iterate over a list of given type. So while loop used to iterate over a list can be replaced with list_for_each_entry macro. However, if list_del is used in the loop, then list_for_each_entry_safe is a better choice. This transformation is done by using the following coccinelle script. @ rule1 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry; @@ - while (list_empty(&E1) == 0) + list_for_each_entry (I1, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ...when != list_del(...); when != list_del_init(...); } @ rule2 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry_safe; @@ T *I1; + T *tmp; ... - while (list_empty(&E1) == 0) + list_for_each_entry_safe (I1, tmp, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ... } Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68f4b7379651b107574a5151ee700a6b361920e2 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Fri Mar 13 22:53:11 2015 +0530 Staging: i2o: Move assignment out of if statement Checkpatch.pl suggest to avoid assignment in if statement. This patch moves assignments out of the if statement and place it before the if statement. This is done using following coccinelle script. @@ expression E1; identifier p; statement S; @@ - if ((p = E1)) + p = E1; + if (p) S Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb96483349e946f10d41c2a5674922e1d86603d9 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Feb 25 18:56:27 2015 -0800 HID: hid-sensor-hub: fix attribute read for logical usage id For defining enumeration values like report or power status events, the enumeration usage ids are enclosed in a logical collection. In this case we need to match logical usage id for pending read on this usage id. For example, in the below field, when read is requested for 0319, the report will contain one of the status usages like 850, 851 etc. In this case the raw event will not match 0319. So when logical collection matches, then wake up the pending thread. Physical(Sensor.OtherCustom) Logical(Sensor.0319) Application(Sensor.Sensor) Usage(6) Sensor.0850 Sensor.0851 Sensor.0852 Sensor.0853 Sensor.0854 Sensor.0855 Logical Minimum(1) Logical Maximum(5) Report Size(8) Report Count(1) Report Offset(24) Flags( Array Absolute ) Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit afbd19eea3f652b082b9b6718b351de58de86323 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Mar 13 10:06:24 2015 +0530 Staging: fbtft: Remove unnecessary print messages These print functions are called at the beginning of the function and do not indicate any abnormal condition. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 956ff8213b4abecb7ac9bb6330b99b2847ebd318 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Mar 12 17:29:35 2015 +0100 Staging: rtl8192u: Simplify if condition This patch removes macro true from if condition since variable priv->ieee80211->LinkDetectInfo.bBusyTraffic is already of type bool. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb7403756fb68e4509cfdde3e3d7ba0576e0abf0 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Mar 12 17:36:15 2015 +0530 Staging: rts5208: Use module_pci_driver Macro module_pci_driver is used for drivers whose init and exit paths does only register and unregister to pci API. So, here remove some boilerplate code by using module_pci_driver. Also, change driver to rtsx_driver, to avoid implicitly redefining driver_init. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cc8c56841f28a08c93a63d166530eef82f11073 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Mar 12 17:28:54 2015 +0530 Staging: ft1000: Use module_pcmcia_driver Macro module_pcmcia_driver is used for drivers whose init and exit paths does only register and unregister to pcmcia API. So, here remove some boilerplate code by using module_pcmcia_driver. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e719bba8559708e240164c69b39ed3ea86a7fa46 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Thu Mar 12 13:26:20 2015 +0900 staging: rtl8723au: remove intialization of static ints static ints are initialized to 0 by the compiler. Explicit initialization is not necessary. Found by checkpatch.pl - ERROR: do not initialise statics to 0 or NULL changes made using coccinelle script: @@ type T; identifier var; @@ static T var - =0 ; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5900adaee8cacb6a188ca9cd888a791585f71c4d Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Thu Mar 12 13:26:18 2015 +0900 staging: i2o: remove intialization of static ints static ints are initialized to 0 by the compiler. Explicit initialization is not necessary. Found by checkpatch.pl - ERROR: do not initialise statics to 0 or NULL changes made using coccinelle script: @@ type T; identifier var; @@ static T var - =0 ; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2049f1ea88fa07e5912c67c4c623bb342b4b02af Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 11 17:02:14 2015 +0530 Staging: dgap: Use setup_timer to combine initialization The function setup_timer combines the initialization of a timer with the initialization of the timer's function and data fields. So, this patch combines the multiline code for timer initialization using the function setup_timer. This issue is identified via coccinelle script. @@ expression E1, E2, E3; type T; @@ - init_timer(&E1); ... ( - E1.function = E2; ... - E1.data = (T)E3; + setup_timer(&E1, E2, (T)E3); | - E1.data = (T)E3; ... - E1.function = E2; + setup_timer(&E1, E2, (T)E3); | - E1.function = E2; + setup_timer(&E1, E2, 0); ) Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1088b38ff486653f8645e2dff74e2a1397f9e31 Author: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Date: Sun Feb 1 20:42:04 2015 +0100 HID: plantronics: fix Kconfig default This driver didn't exist until before v3.19. Why would suddenly everybody want to build it? Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dc6ed26dc32f2365647e9a156beafe3dcbde612e Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 16 19:34:10 2015 +0530 Staging: iio: use !x instead of x == NULL Functions like devm_kzalloc, kmalloc_array, devm_ioremap, usb_alloc_urb, alloc_netdev return NULL as a return value on failure. Generally, When NULL represents failure, !x is commonly used. This patch cleans up the tests on the results of these functions, thereby using !x instead of x == NULL or NULL == x. This is done via following coccinelle script: @prob_7@ identifier x; statement S; @@ ( x = devm_kzalloc(...); | x = usb_alloc_urb(...); | x = kmalloc_array(...); | x = devm_ioremap(...); | x = alloc_netdev(...); ) ... - if(NULL == x) + if(!x) S Further we have used isomorphism characteristics of coccinelle to indicate x == NULL and NULL == x are equivalent. This is done via following iso script. Expression @ is_null @ expression X; @@ X == NULL <=> NULL == X Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 212db303ed21df1bee5037362f3a1098b53b5e55 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:54:04 2015 +0200 Staging: iio: Use braces on all arms of if statement Add braces to improve consistency when using if statements. Found by checkpatch.pl: "CHECK: braces {} should be used on all arms of this statement". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01f62379a8e50a98e0c26fe7f6445e771685ce49 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:53:37 2015 +0200 Staging: iio: Alignment should match open parenthesis This patch arranges multiple-line parameters in accordance with the parameter above them to improve coding style. Found by checkpatch.pl Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9841ebccd039cd505876fcf9e6db9ee26e8c3189 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:51:29 2015 +0200 Staging: iio: Do not use multiple blank lines This patch removes unnecessary blank lines between functions. Found by checkpatch.pl: "CHECK: Please don't use multiple blank lines". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1d05b5f68cbe370b13a4432be5aa11ffc226dec Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:51:12 2015 +0200 Staging: iio: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro as it's extensively used by other function in this driver. This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6970791fd5683a893bc11bb4722b82d899013465 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:50:48 2015 +0200 Staging: iio: Remove explicit comparison to NULL This patch simplifies pointer comparison to NULL and makes code easier to read. Warning found by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56cc3b629b43c0a5a3d9cb5599e92a3146eff19e Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Mar 14 20:50:23 2015 +0200 Staging: iio: Remove space after type cast This patch removes unnecessary space after type casts. Warning found by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f46e4f93f52b2bcc681cf8bc3ff84a22a2d356 Author: Jim Keir <jimkeir@xxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 09:14:03 2015 +0000 HID: pidff: support more than one concurrent effect The PID driver (usbhid/hid-pidff.c) does not set the effect ID when uploading an effect. The result is that the initial upload works but subsequent uploads to modify effect parameters are all directed at the last-created effect. The targeted effect ID must be passed back to the device when effect parameters are changed. This is done at the start of "pidff_set_condition_report", "pidff_set_periodic_report" etc. based on the value of "pidff->block_load[PID_EFFECT_ BLOCK_INDEX].value[0]". This value is only ever set during pidff_request_effect_upload. The result is stored in "pidff->pid_id[effect->id]" at the end of pid_upload_effect, for later use. However, if an effect is modified and re-sent then this identifier is not being copied back from pidff->pid_id[effect->id] before sending the command to the device. The fix is to do this at the start of pidff_upload_effect. Signed-off-by: Jim Keir <jimkeir@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit da29461ccdf811b27a1cf53483ec2457fb4a6ae7 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 12 19:10:31 2015 +0200 Staging: iio: Simplify return logic This patch removes the conditional return of the ade77*_probe functions based on the return values of iio_device_register as the latter returns 0 or ret, the same as the checked values. Warning found by coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f026eb6e031f704fad991fdeb76c40d7c4a301bd Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Mar 12 19:47:19 2015 +0100 drm: atmel-hlcdc: use appropriate enabled flag in suspend/resume Unfortunately we used the enabled flag in struct drm_crtc instead of the enabled flag in struct atmel_hlcdc_crtc. This obviously leads to discrepancies on crtc enable state. This patch fixes the issue by using the struct atmel_hlcdc_crtc enabled flag in PM support. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 5db4851d47ea80ad78d85f201e13df9ea48ab67b Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:47:22 2015 +0300 Staging: iio: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fe9092d6a22fcb57b5e97d85e3fbe6a00a04b13 Author: Taiane Coelho Ramos <exhora.tat@xxxxxxxxx> Date: Fri Mar 13 16:22:44 2015 -0300 Staging: iio: ade7758: Remove braces on a single statement if This patch fixes the checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Taiane Coelho Ramos <exhora.tat@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adb3d770d20b6ce6ed985a89d6b6953e320093b1 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 19:55:55 2015 +0300 Staging: rtl8188eu: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1cc3112b22715f91a07680ea315fd92521a5c2e Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Fri Mar 13 16:58:40 2015 +0900 staging: rtl8188eu: remove break after return Remove "break" statement after a "return" statement as it does not get executed. Found by checkpatch.pl - break is not useful after a goto or return Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37e080787925a972b1eb866d2cd2d75badfb7a24 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Thu Mar 12 13:26:19 2015 +0900 staging: rtl8188eu: remove intialization of static ints static ints are initialized to 0 by the compiler. Explicit initialization is not necessary. Found by checkpatch.pl - ERROR: do not initialise statics to 0 or NULL changes made using coccinelle script: @@ type T; identifier var; @@ static T var - =0 ; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28af7ea81e161eadb48051ec0e280666e925ccd8 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 11 11:41:24 2015 +0530 Staging: rtl8188eu: Eliminate use of _init_timer This patch introduces the use of API function setup_timer instead of driver specific function init_timer as it is the preferred and standard way to set and setup the timer. To be compatible with the changes, argument types of referenced functions are changed. Also, definition of function _init_timer is removed as it is no longer needed after this change. Here, these cases are handled using Coccinelle and semantic patch used for this is as follows: @@ expression x, y; identifier a, b;@@ - _init_timer (&x, y, a, b); + setup_timer (&x, a, (unsigned long)b); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d4efe3e95805982b1d8f3f54203c67ba6687338 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 11 11:41:07 2015 +0530 Staging: rtl8188eu: Eliminate use of _set_timer This patch introduces the use of API function mod_timer instead of driver specific function _set_timer as it is a more efficient and standard way to update the expire field of an active timer. Also, definition of function _set_timer is removed as it is no longer needed after this change. Here, these cases are handled using Coccinelle and semantic patch used for this is as follows: @@ expression x; expression y;@@ - _set_timer (&x, y); + mod_timer (&x, jiffies + msecs_to_jiffies (y)); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7b1269db01bc8c795c19381b69d7524bb31ef99 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Mon Mar 9 15:43:25 2015 +0200 drivers: staging: rtl8188eu: core: rtw_security: Fix misspelled word This patch fixes the checkpatch.pl warning: WARNING: 'halfs' may be misspelled - perhaps 'halves'? Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 789fd7adf55714cba7d192c84377e6e1feaa23d0 Author: Mike Krinkin <krinkin.m.u@xxxxxxxxx> Date: Sun Mar 8 20:14:07 2015 +0300 staging: rtl8188eu: use %pM specifier instead of passing direct values The patch converts code to use %pM specifier instead of pushing each byte via stack. Signed-off-by: Mike Krinkin <krinkin.m.u@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99d422341376443a98ef22d0f0003b3381f32186 Author: Songjun Wu <songjun.wu@xxxxxxxxx> Date: Thu Mar 12 10:17:11 2015 +0800 ASoC: wm8731: let codec to manage clock by itself Enable WM8731 to support common clock framework. Signed-off-by: Songjun Wu <songjun.wu@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44acc6b524d77c86ccfc18fb036dfb2b70a905c0 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Mar 13 21:19:24 2015 +0200 Staging: rtl8192e: Bool tests don't need comparisons This patch removes comparisons to true/false values on bool variables. Warning found by coccinelle: "WARNING: Comparison to bool". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26049b11cb4dbe92243c9db5fd35ce7711d9b6bc Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Fri Mar 13 16:58:41 2015 +0900 staging: rtl8192e: remove break after return Remove "break" statement after a "return" statement as it does not get executed. Found by checkpatch.pl - break is not useful after a goto or return Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e623d0f3f92960a826ae30dc861165f21752cdc8 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 12 04:22:38 2015 +0200 Staging: rtl8192e: Remove unnecessary variables This patch removes unnecessary intermediary variables in return lines and uses actual values. Found by coccinelle using this semantic patch: @@ type T; expression expr; identifier r; @@ -T r = expr; ... when != r when strict -return r; +return expr; Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7af05e73cd204efad74fc9c48e5a1b1484d76f68 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Feb 20 17:33:33 2015 +0100 HID: Stop hiding options with !EXPERT Many HID driver options are hidden unless EXPERT is set. While I understand the idea of simplifying the kernel configuration for most users, in practice I believe it adds more confusion than it helps. One thing that worries me is that, in non-EXPERT mode, these drivers will be either built-in or modular based on apparent magic. For example, switching INPUT and HID from m to y will cause all these drivers to be built into the kernel when they were previously built as modules. Short of enabling EXPERT mode altogether, the user has no control over that. Generally I do not think tristate options should depend on !EXPERT. Of these, 11 of 15 are currently in the hid subsystem. The HID_LOGITECH option is even worse than the others. Sub-options depend on it, and this causes menuconfig and friends to display the option even though the user can't change its value. The help page for HID_LOGITECH will not explain why the value can't be changed. It only says, for example: Depends on: INPUT [=y] && HID [=y] and that leaves the user puzzled about why the option is forced to y. You might argue that this is a Kconfig bug, but that doesn't make it less annoying for the user. Even worse is that some of the sub-options of HID_LOGITECH select INPUT_FF_MEMLESS, which in turn gets out of control for the user. So, if you set INPUT=y and HID=y (something most general purpose distributions would do these days, as both modules would get loaded on a vast majority of systems otherwise), and you want support for force-feedback game controllers, you can't have that as a module, it has to be built-in, regardless of how rare these devices are. Of course, all this madness goes away once EXPERT is enabled, but then the rest of the kernel configuration becomes more complex, which totally voids the original point. For this reason, I would like all HID device tristate options to be displayed regardless of EXPERT being set or not. We can let the default settings still depend on EXPERT, that's not intrusive. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8b9733c1ad884548ba6417fee239e54693719f41 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Mar 11 13:51:36 2015 +0530 Staging: rtl8192e: Eliminate use of MSECS macro Use msecs_to_jiffies instead of driver specific macro MSECS. This is done using Coccinelle and semantic patch used for this is as follows: @@expression t;@@ - MSECS(t) + msecs_to_jiffies(t) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 453ce99c26923a51740c0a4e19a75c4641b17a10 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Mar 11 03:06:30 2015 +0200 Staging: rtl8192e: Remove unnecessary macro This patch removes the RTLLIB_PRINT_STR macro definition because it's only defined in the header and it's never referenced. It also removes PRINTABLE and MAX_STR_LEN, which were defined as helpers for the first one. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d40b62babcaea44a5f4fc3ab44f495c9dde8eee2 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 15:14:58 2015 +0530 staging: rtl8192e: remove unused functions removed some functions which were not being used anywhere. build tested and also verified by git grep that there is no other reference to these functions. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f883c4ca5e6948de4fd461ca4a4fbb15aff8bbff Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Sun Mar 15 12:42:52 2015 +0900 staging: rtl8192u: remove return from end of void function This patch removes the return statement at the end of a void function as it is not necessary. found by checkpatch.pl: WARNING: void function return statements are not generally useful changes made using coccinelle script: @@ @@ ... when != if (...) return; when != if (...) { ... return;} -return; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2060f31ae58ea5510c432fed8a32bdef33ac4cd7 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:50:52 2015 +0300 Staging: rtl8192u: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0886f7303310525f032debdff85877356c9a7ab Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Mar 13 21:21:31 2015 +0200 Staging: rtl8192u: Bool tests don't need comparisons This patch removes explicit true/false comparations to bool variables. Warning found by coccinelle: "WARNING: Comparison to bool" Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a7089dbd1e8a9bec3d39efcb11c2eda6d5a95c0 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Fri Mar 13 16:58:42 2015 +0900 staging: rtl8192u: remove break after return Remove "break" statement after a "return" statement as it does not get executed. Found by checkpatch.pl - break is not useful after a goto or return Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d064f3b03cc1670359e59ff8d24c4719f50c3b63 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 12 04:30:04 2015 +0200 Staging: rtl8192u: Remove unnecessary struct and typedef This patch removes the _bss_ht struct and the associated type definition because it is not used and it also introduces the warning: "WARNING: do not add new typedefs". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c14378eca6f2f66438799e76845c3f2bbdafb57 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Mar 12 04:21:29 2015 +0200 Staging: rtl8192u: Remove unnecessary variable This patch detects the cases in which a variable is not modified through the code and it is used as a return value. The variable is detected and removed by coccinelle using the following semantic patch: @@ type T; expression expr; identifier r; constant c; @@ -T r = expr; ... when != r when strict -return r; +return expr; Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acc6539fe6293373ded751162e77c10f532336c6 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 11 17:02:16 2015 +0530 Staging: rtl8192u: Combine initialization using setup_timer The function setup_timer combines the initialization of a timer with the initialization of the timer's function and data fields. So, this patch combines the multiline code for timer initialization using the function setup_timer. This issue is identified via coccinelle script. @@ expression E1, E2, E3; type T; @@ - init_timer(&E1); ... ( - E1.function = E2; ... - E1.data = (T)E3; + setup_timer(&E1, E2, (T)E3); | - E1.data = (T)E3; ... - E1.function = E2; + setup_timer(&E1, E2, (T)E3); | - E1.function = E2; + setup_timer(&E1, E2, 0); ) Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3bb45456bcea2c5239836e457685b6f5ac554b1 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Mar 11 02:51:35 2015 +0200 Staging: rtl8192u: Review phrase and fix spelling errors This patch removes some serious spelling errors and adds small improvements to the phrases in order to make them easier to understand. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8236589b7c1d78068661dd9e0e052f8897b45d41 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Fri Mar 6 16:18:31 2015 +0200 Staging: rtl8192u: Fix do not use // c99 comments. This patch fixes checkpatch.pl issues with "do not use // C99 comments" errors in ieee80211_rx.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 278edfc07875779a69277f6c5773ec9318a994ee Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Wed Mar 11 13:52:00 2015 +0000 xen-pciback: also support disabling of bus-mastering and memory-write-invalidate It's not clear to me why only the enabling operation got handled so far. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit ca67dfefd852c5fba5aac232e20a0e52bfadf693 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Fri Mar 6 16:08:10 2015 +0200 Staging: rtl8192u: Added #include <linux/uaccess.h> instead of <asm/uaccess.h> The following patch fixes the checkpatch.pl warning: WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6465144c3d19ca1c2f5fb1dd12d0a6496254c85c Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Mar 6 18:52:28 2015 +0530 Staging: rtl8192u: Convert use of __constant_<foo> to <foo> Using functions of the form __constant_<foo> isn't preferred outside of include/uapi/ as using the function without __constant_ is identical when the argument is a constant. So, this patch replaces __constant_htons with htons. This is done using Coccinelle and semantic patch used for this is as follows: @@identifier x;@@ ( - __constant_htons(x) + htons(x) | - __constant_htonl(x) + htonl(x) | - __constant_ntohs(x) + htons(x) | - __constant_ntohl(x) + htonl(x) ) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1524b745406a85ba201cb25df72110c1ccac0f72 Merge: fba9e07 126a6a5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 16 15:49:30 2015 +0100 Merge branch 'nohz/guest' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/nohz Pull full dynticks support for virt guests from Frederic Weisbecker: "Some measurements showed that disabling the tick on the host while the guest is running can be interesting on some workloads. Indeed the host tick is irrelevant while a vcpu runs, it consumes CPU time and cache footprint for no good reasons. Full dynticks already works in every context, but RCU prevents it to be effective outside userspace, because the CPU needs to take part of RCU grace period completion as long as RCU may be used on it, which is the case in kernel context. However guest is similar to userspace and idle in that we know RCU is unused on such context. Therefore a CPU in guest/userspace/idle context can let other CPUs report its own RCU quiescent state on its behalf and shut down the tick safely, provided it isn't needed for other reasons than RCU. This is called RCU extended quiescent state. This was already implemented for idle and userspace. This patchset now brings it for guest contexts through the following steps: - Generalize the context tracking APIs to also track guest state - Rename/sanitize a few CPP symbols accordingly - Report guest entry/exit to RCU and define this context area as an RCU extended quiescent state." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 85617dc7ee1caa68a8d078b5dd4328d0ef373282 Author: Juergen Gross <jgross@xxxxxxxx> Date: Tue Feb 17 08:02:49 2015 +0100 xen: support suspend/resume in pvscsi frontend Up to now the pvscsi frontend hasn't supported domain suspend and resume. When a domain with an assigned pvscsi device was suspended and resumed again, it was not able to use the device any more: trying to do so resulted in hanging processes. Support suspend and resume of pvscsi devices. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 169e6cf0666fdbc67ea39220143fd6e38875b96e Author: Juergen Gross <jgross@xxxxxxxx> Date: Tue Feb 17 08:02:48 2015 +0100 xen: scsiback: add LUN of restored domain When a xen domain is being restored the LUN state of a pvscsi device is "Connected" and not "Initialising" as in case of attaching a new pvscsi LUN. This must be taken into account when adding a new pvscsi device for a domain as otherwise the pvscsi LUN won't be connected to the SCSI target associated with it. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 785748788bafb1f286a73195c2c43ad3cda5234d Author: Tao Chen <boby.chen@xxxxxxxxxx> Date: Tue Mar 10 20:49:18 2015 +0000 xen-scsiback: define a pr_fmt macro with xen-pvscsi Add the {xen-pvscsi: } prefix in pr_fmt and remove DPRINTK, then replace all DPRINTK with pr_debug. Also fixed up some comments just as eliminate redundant whitespace and format the code. These will make the code easier to read. Signed-off-by: Tao Chen <boby.chen@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit ebfe79a7c85c171def09ff86f6fdea254a51d6c9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 5 14:24:17 2015 +0300 xen/mce: fix up xen_late_init_mcelog() error handling Static checkers complain about the missing call to misc_deregister() if bind_virq_for_mce() fails. Also I reversed the tests so that we do error handling instead of success handling. That way we just have a series of function calls instead of the more complicated nested if statements in the original code. Let's preserve the error codes as well. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4e8c0c8c4bf3a5b5c98046e146ab3884bf7a7d0e Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Mar 11 14:49:57 2015 +0000 xen/privcmd: improve performance of MMAPBATCH_V2 Make the IOCTL_PRIVCMD_MMAPBATCH_V2 (and older V1 version) map multiple frames at a time rather than one at a time, despite the pages being non-consecutive GFNs. xen_remap_foreign_mfn_array() is added which maps an array of GFNs (instead of a consecutive range of GFNs). Since per-frame errors are returned in an array, privcmd must set the MMAPBATCH_V1 error bits as part of the "report errors" phase, after all the frames are mapped. Migrate times are significantly improved (when using a PV toolstack domain). For example, for an idle 12 GiB PV guest: Before After real 0m38.179s 0m26.868s user 0m15.096s 0m13.652s sys 0m28.988s 0m18.732s Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 628c28eefd6f2cef03b212081b466ae43fd093a3 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Mar 11 14:49:56 2015 +0000 xen: unify foreign GFN map/unmap for auto-xlated physmap guests Auto-translated physmap guests (arm, arm64 and x86 PVHVM/PVH) map and unmap foreign GFNs using the same method (updating the physmap). Unify the two arm and x86 implementations into one commont one. Note that on arm and arm64, the correct error code will be returned (instead of always -EFAULT) and map/unmap failure warnings are no longer printed. These changes are required if the foreign domain is paging (-ENOENT failures are expected and must be propagated up to the caller). Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit b3b06c7eb7820cea5c15f9faa4964044284c5399 Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Tue Mar 3 16:12:12 2015 -0500 x86/xen/apic: WARN with details. We should not be writting to the APIC registers under Xen PV. But if we do instead of just giving an blanket warning - include some details to help troubleshoot. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit feb44f1f7a4ac299d1ab1c3606860e70b9b89d69 Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Mon Mar 2 12:06:23 2015 -0500 x86/xen: Provide a "Xen PV" APIC driver to support >255 VCPUs Instead of mangling the default APIC driver, provide a Xen PV guest specific one that explicitly provides appropriate methods. This allows use to report that all APIC IDs are valid, allowing dom0 to boot with more than 255 VCPUs. Since the probe order of APIC drivers is link dependent, we add in an late probe function to change to the Xen PV if it hadn't been done during bootup. Suggested-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reported-by: Cathy Avery <cathy.avery@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 74beaf6270f5b08159f1df8208322a24bb2905e6 Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Fri Feb 27 16:11:06 2015 -0500 xen/pciback: Don't print scary messages when unsupported by hypervisor. We print at the warninig level messages such as: pciback 0000:90:00.5: MSI-X preparation failed (-38) which is due to the hypervisor not supporting this sub-hypercall (which was added in Xen 4.3). Instead of having scary messages all the time - only have it when the hypercall is actually supported. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 526abeaed4971def462f209632b88fd7b8c4a09c Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Jan 21 08:49:25 2015 +0100 xen: use generated hypercall symbols in arch/x86/xen/xen-head.S Instead of manually list each hypercall in arch/x86/xen/xen-head.S use the auto generated symbol list. This also corrects the wrong address of xen_hypercall_mca which was located 32 bytes higher than it should. Symbol addresses have been verified to match the correct ones via objdump output. Based-on-patch-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit fc903f87364d1b00890fa991a6f116e2bb38ec1e Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Jan 21 08:49:24 2015 +0100 xen: use generated hypervisor symbols in arch/x86/xen/trace.c Instead of manually list all hypervisor calls in arch/x86/xen/trace.c use the auto generated list. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 16b12d605795e775cd80b5901c85dd2e320a6ec2 Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Jan 21 08:49:23 2015 +0100 xen: synchronize include/xen/interface/xen.h with xen The header include/xen/interface/xen.h doesn't contain all definitions from Xen's version of that header. Update it accordingly. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 9b4ade226f7468bb26f98b6cd01cb5b8a05fc96d Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Jan 21 08:49:22 2015 +0100 xen: build infrastructure for generating hypercall depending symbols Today there are several places in the kernel which build tables containing one entry for each possible Xen hypercall. Create an infrastructure to be able to generate these tables at build time. Based-on-patch-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit b6a473a7e1d4f81fc3e355c95982820bb8eae97d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 5 21:38:59 2015 +0100 xen: balloon: Use static attribute groups for sysfs entries Instead of manual calls of device_create_file(), device_remove_file() and sysfs_create_group(), assign static attribute groups to the device to register. This simplifies the code and avoids possible races. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4644e5ab06dda96f7080569992202e1aec8d3b07 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 5 21:38:58 2015 +0100 xen: pcpu: Use static attribute groups for sysfs entry Instead of manual calls of device_create_file() and device_remove_file(), assign the static attribute groups to the device to register. The conditional build of sysfs is done in is_visible callback instead. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 58662d9f1ea9de4ef98348f556d676eeaaf6be49 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Fri Mar 6 14:14:58 2015 +0200 Staging: rtl8712: Replace __constant_cpu_to_le16 This fixes the following checkpatch.pl warning: WARNING: __constant_cpu_to_le16 should be cpu_to_le16 Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66faa441a6f5753dd3e7add3e1640819ba9ec1c2 Author: Matteo Semenzato <mattew8898@xxxxxxxxx> Date: Wed Mar 11 14:31:14 2015 +0100 Staging: rtl8712: fix potential null pointer dereference Check if kmalloc succeded before using the pointer in memcpy. Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 819ef638151f89199c6c3ce42418f40be90ff23a Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Thu Mar 12 01:08:32 2015 +0300 Staging: rtl8712: remove else after return statement else after return generally is not useful. This patch removes else after return statement. Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee20fe2386e4390285cfbd52b9a67596d1f1e894 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Sun Mar 15 14:26:27 2015 -0400 HID: uclogic: make input_mapping independent of usb No need to retrieve the USB handle in input_mapping() when we already do that in probe. It also allows to use the quirk without having to add the product ID matching. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 382d020f4459cd77237c5463098935fd64afdab3 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Mar 6 16:23:51 2015 +0530 Staging: rtl8712: Eliminate use of _cancel_timer Use timer API function del_timer_sync instead of driver specific function _cancel_timer as besides deactivating a timer, it also ensures that the timer is stopped on all CPUs before the driver exists. Also, variables timer_cancelled and bool are removed as they are no longer needed. @a@ expression x; identifier y; @@ - _cancel_timer (&x, &y); + del_timer_sync (&x); @@type T; identifier a.y;@@ - T y; ...when != y Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6501c8e7d86cca5fab74f873810cbc573273d1b4 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Mar 6 16:23:35 2015 +0530 Staging: rtl8712: Eliminate use of _cancel_timer_ex Use timer API function del_timer_sync instead of driver specific function _cancel_timer_ex as besides deactivating a timer, it ensures that the timer is stopped on all CPUs before the driver exists. Also, definition of function _cancel_timer_ex is removed as it is no longer needed after this change. This is done using Coccinelle and semantic patch used for this is as follows: @@ expression x; @@ - _cancel_timer_ex (&x); + del_timer_sync (&x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffe971ef40ca147ab0443ea12ed4fc552bb28498 Merge: eff506f 46dd8a8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Mar 16 15:36:44 2015 +0100 Merge tag 'renesas-da9063-da9210-quirk-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC da9063/da9210 Regulator Quirk for v4.1" from Simon Horman: The r8a7790/lager and r8a7791/koelsch development boards have da9063 and da9210 regulators. Both regulators have their interrupt request lines tied to the same interrupt pin (IRQ2) on the SoC. After cold boot or da9063-induced restart, both the da9063 and da9210 seem to assert their interrupt request lines. Hence as soon as one driver requests this irq, it gets stuck in an interrupt storm, as it only manages to deassert its own interrupt request line, and the other driver hasn't installed an interrupt handler yet. To handle this, install a quirk that masks the interrupts in both the da9063 and da9210. This quirk has to run after the i2c master driver has been initialized, but before the i2c slave drivers are initialized. As it depends on i2c, select I2C if one of the affected platforms is enabled in the kernel config. * tag 'renesas-da9063-da9210-quirk-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: lager: Add da9063 PMIC device node for system restart ARM: shmobile: lager dts: Add da9210 regulator interrupt ARM: shmobile: koelsch: Add da9063 PMIC device node for system restart ARM: shmobile: koelsch dts: Add da9210 regulator interrupt ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator quirk commit 2effbad526869faa7fd61136819a548e0d1966f1 Merge: 841990b cd590b5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Mar 16 15:35:25 2015 +0100 Merge tag 'arm-soc/for-4.1/devicetree-part-2' of http://github.com/broadcom/stblinux into next/dt Pull "This pull request contains the following changes from Ray for Cygnus SoCs: from Florian Fainelli: - enable IOMUX, required for pinmux/pinctrl - enable GPIO, required for the GPIO driver - enable GPIO hook detection for BCM911360-based phone designs - enable PCIe controller for the bcm958300k designs * tag 'arm-soc/for-4.1/devicetree-part-2' of http://github.com/broadcom/stblinux: ARM: dts: enable PCIe support for Cygnus ARM: dts: cygnus: enable GPIO based hook detection ARM: dts: enable GPIO for Broadcom Cygnus ARM: dts: enable IOMUX for Broadcom Cygnus commit 841990b6b3e2cfc0b51a5efb4c2fed6693cfafee Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:12 2015 +0200 ARM: dts: Alpine platform devicetree This patch introduces devicetree for the Alpine platform, and for a development board based on the same platform. Signed-off-by: Barak Wasserstrom <barak@xxxxxxxxxxxxxxxxx> Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit eff506faec227e763d3cb45d3c4c456efe4823b7 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:25 2015 +0200 MAINTAINERS: add maintainer for Alpine Arm machine Add myself as a maintainer for arch/arm/mach-alpine/ Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 60f9e37ac6aa15c85a3bd92fb76669e66f554d6c Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:09 2015 +0200 ARM: dts: Alpine platform binding documentation This patch introduces documentation for alpine devicetree bindings. Signed-off-by: Barak Wasserstrom <barak@xxxxxxxxxxxxxxxxx> Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e9e06f2853dd86791e665b2aa3c8acb5b0007e07 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:06 2015 +0200 ARM: Alpine: smp support This patch introduces support for waking up secondary CPU cores on Alpine platform. Signed-off-by: Barak Wasserstrom <barak@xxxxxxxxxxxxxxxxx> Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 3c215e64eb00f1ea5c67de2141ba816cb3f3c682 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:04 2015 +0200 ARM: Alpine: early-debug print support Alpine platform includes UART8250 that can be used for early prints. Signed-off-by: Saeed Bishara <saeed@xxxxxxxxxxxxxxxxx> Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 445d9b3060545812632456e0bded8e86b580b783 Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Date: Thu Mar 12 13:53:00 2015 +0200 ARM: Alpine: Initial support for Alpine platform This patch introduces initial architecture and device-tree support. Signed-off-by: Saeed Bishara <saeed@xxxxxxxxxxxxxxxxx> Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 9fb71bc0d593dc9a547e6f4ded157e3ae37b2322 Merge: 63fb2e8 6e5e9c6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Mar 16 15:21:13 2015 +0100 Merge tag 'renesas-soc-cleanup2-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Second Round of Renesas ARM Based SoC Cleanup for v4.1" into next/cleanup: * Remove restart callback from r8a7740 SoC * Remove unnecessary check on always set CONFIG_COMMON_CLK from shared R-Car Gen2 SoC code * Remove stray closing parenthesis in SCIF debug description for R-Car Gen2 SoC * tag 'renesas-soc-cleanup2-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7740: Remove restart callback ARM: shmobile: R-Car Gen2: CONFIG_COMMON_CLK is always set ARM: shmobile: Remove stray closing parenthesis in debug description commit 2eb1eb02dda368fb224bf5a379d2448c742b71db Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Mar 13 01:45:49 2015 +0100 PNP / ACPI: Use ACPI_COMPANION_SET() during initialization pnpacpi_add_device() calls acpi_bind_one() on an already registered device, which is a mistake, but it can initialize the ACPI companion field of the struct device to be registered using ACPI_COMPANION_SET() instead, so make it do that. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 8a5de52afc5f9a20a356e49351292d098cc455b2 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Mon Mar 16 17:35:18 2015 +0800 ACPI / blacklist: Disable Vista compatibility for Sony VGN-SR19XN. Sony VGN-SR19XN laptop needs to disable windows vista compatibility, or else it freezes when plugging/unplugging the VGA connector. Link: https://bugzilla.kernel.org/show_bug.cgi?id=66771 Tested-by: Lionel Duriez <lionelduriez@xxxxxxxxxxx> Reviewed-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1a7b7ee72c218ce9bff274ade13b96ea03eed03d Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Fri Mar 13 18:43:49 2015 +0200 spi: Ensure that CS line is in non-active state after spi_setup() Some devices samples state of the chip select signal during power up and act differently based on this state, so SPI core should ensure that CS line is driven in non-active state after spi_setup(). Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a557a861ae44e1941452bc2d700f1be58c1325b Merge: 8f88f02 b2a0baf Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 16 14:48:20 2015 +0100 Merge branch 'topic/hda-unbind' into for-next commit 8f88f0256f2e8afd83177b3554992009acb98996 Merge: 34e72af 820cc6c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 16 14:48:16 2015 +0100 Merge branch 'topic/hda-bus' into for-next commit 34e72afe73c40d9974c1f230c3b62fc43f5c5b28 Merge: e79d74a cc26173 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 16 14:48:05 2015 +0100 Merge branch 'for-linus' into for-next commit e4bb9bcbfb7d67431dfd49860f62770a7f40193b Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 10:36:48 2015 +0100 netfilter: bridge: remove BRNF_STATE_BRIDGED flag Its not needed anymore since 2bf540b73ed5b ([NETFILTER]: bridge-netfilter: remove deferred hooks). Before this it was possible to have physoutdev set for locally generated packets -- this isn't the case anymore: BRNF_STATE_BRIDGED flag is set when we assign nf_bridge->physoutdev, so physoutdev != NULL means BRNF_STATE_BRIDGED is set. If physoutdev is NULL, then we are looking at locally-delivered and routed packet. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c055d5b03bb4cb69d349d787c9787c0383abd8b2 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 05:08:19 2015 +0100 netfilter: bridge: query conntrack about skb dnat ask conntrack instead of storing ipv4 address in nf_bridge_info->data. Ths avoids the need to use ->data during NF_PRE_ROUTING. Only two functions that need ->data remain. These will be addressed in followup patches. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c36aa0a1929a1f0f0b8c374276e49cc663e8f957 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Mar 16 14:39:57 2015 +0800 ASoC: rt5677: add API to select ASRC clock source This patch defines an API to select the clock source for specified filters. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa41181fe37530d78acb25b4e2c9c019241cbbf6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 15 12:15:24 2015 +0100 ASoC: nuc900: No need to track the dma buffer in the driver state struct The DMA buffer and address can be accessed through the snd_pcm_runtime. There is no need to manually track them in the driver's state struct. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6b5b042d4c675cb9d3446a1cdcaca98e715ba812 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 15 10:27:20 2015 +0100 ASoC: Make snd_soc_dapm_kcontrol_codec() inline snd_soc_dapm_kcontrol_codec() is a extremely simple function and inlining it typically results in less code than necessary for calling the non-inlined version of the function. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6a328885896ef087a28173792ea93f4dde9782ef Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 01:01:07 2015 -0700 ASoC: Allow for building QCOM drivers Allow for the Qualcomm Technologies ASoC drivers to build. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f380dd3f3cd77df3c5d297a635b635f72fb5a2b1 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 01:01:06 2015 -0700 ASoC: qcom: Add ability to build QCOM drivers Define the LPASS platform driver, the LPASS CPU DAI driver and the Storm machine driver configurations, and how to build them. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 79119c798649630b3191784a708b45cea4e31daf Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 01:01:05 2015 -0700 ASoC: qcom: Add Storm machine driver Add machine driver for the Storm board with the IPQ806X SOC connected to the MAX98357A DAC. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 81ddc01d56d773eed414b5c1a7f1dba1db35f538 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 01:01:04 2015 -0700 ASoC: qcom: Document Storm bindings Add documentation to the sound directory of the device-tree bindings for the soundcard of the Storm board. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8ebe148be9aa12641c62a3c99c65859bf95445fe Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 00:54:17 2015 -0700 ASoC: qcom: Modify test for DSP in LPASS driver As the representation of the DSP in the device tree has changed from a required subnode to an optional phandle, modify the test for DSP existence in the LPASS CPU DAI driver, accordingly. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 97a33ced310ab9bdb16699c2c64b28f29de0a23d Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Fri Mar 13 00:54:16 2015 -0700 ASoC: qcom: Change qcom,adsp in LPASS CPU bindings Change the representation of the audio DSP, in the LPASS CPU bindings description, from a required subnode to an optional phandle. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c42e9902f3f1e731a7b83397acdf402eeb3237ca Author: Ameen Ali <ameenali023@xxxxxxxxx> Date: Fri Mar 13 23:38:21 2015 +0200 crypto: sha1-mb - Syntax error fixing a syntax-error . Signed-off-by: Ameen Ali <AmeenAli023@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2ef4d5c43de945b7c78454eac63e5f4fe68f82fc Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Fri Mar 13 11:44:07 2015 +0100 crypto: algif_rng - zeroize buffer with random data Due to the change to RNGs to always return zero in success case, the RNG interface must zeroize the buffer with the length provided by the caller. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5986ac4fcb451160acdc8bf3a0b81ac9a72b3251 Author: James Hartley <james.hartley@xxxxxxxxxx> Date: Thu Mar 12 23:17:27 2015 +0000 Documentation: crypto: Add DT binding info for the img hw hash accelerator This adds the binding documentation for the Imagination Technologies hash accelerator that provides hardware acceleration for SHA1/SHA224/SHA256/MD5 hashes. This hardware will be present in the upcoming pistachio SoC. Signed-off-by: James Hartley <james.hartley@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d358f1abbf71ad4b10e843b589033e5d37142436 Author: James Hartley <james.hartley@xxxxxxxxxx> Date: Thu Mar 12 23:17:26 2015 +0000 crypto: img-hash - Add Imagination Technologies hw hash accelerator This adds support for the Imagination Technologies hash accelerator which provides hardware acceleration for SHA1 SHA224 SHA256 and MD5 hashes. Signed-off-by: James Hartley <james.hartley@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 73b3862127e71d8cc7677b07ccc5adff0c0179bd Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:07 2015 -0700 hwrng: iproc-rng200 - make use of devm_hwrng_register This allows us to get rid of driver's remove() method. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ef0a1b26499f61b2453dd0c454aedee687edf31c Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:06 2015 -0700 hwrng: iproc-rng200 - do not use static structure Instead of using static hwrng structure that is reused between binds/unbinds of the device let's embed it into driver's private structure that we allocate. This way we are guaranteed not to stumble onto something left from previous bind attempt. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9052b0dd45d7e44aa43af03f48d329a2530c70c4 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:05 2015 -0700 hwrng: msm - make use of devm_hwrng_register This allows us to get rid of remove() method. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1e6e38a916e2410e80cec5f2e3c075ffd967b027 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:04 2015 -0700 hwrng: exynos - make use of devm_hwrng_register This allows us to get rid of remove() method. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6229c16060fee9a015bf476f21e40c6f08609d6e Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:03 2015 -0700 hwrng: bcm63xx - make use of devm_hwrng_register This change converts bcm63xx-rng to use devm* API for managing all resources, which allows us to dispense with the rest of error handling path and remove() function. Also we combine hwern and driver-private data into a single allocation, use clk_prepare_enable() instead of "naked" clk_enable() and move clock enabling/disabling into hwrnd inti(0 and cleanup() methods so the clock stays off until rng is used. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4d9b519c9bcab5718053f8717dadad7b09b41f5e Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Mar 12 14:00:02 2015 -0700 hwrng: add devm_* interfaces This change adds devm_hwrng_register and devm_hwrng_unregister which use can simplify error unwinding and unbinding code paths in device drivers. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f8e617f4582995f7c25ef25b4167213120ad122b Author: Mike Galbraith <bitbucket@xxxxxxxxx> Date: Sat Jan 18 17:14:44 2014 +0100 sched/idle/x86: Optimize unnecessary mwait_idle() resched IPIs To fully take advantage of MWAIT, apparently the CLFLUSH instruction needs another quirk on certain CPUs: proper barriers around it on certain machines. On a Q6600 SMP system, pipe-test scheduling performance, cross core, improves significantly: 3.8.13 487.2 KHz 1.000 3.13.0-master 415.5 KHz .852 3.13.0-master+ 415.2 KHz .852 + restore mwait_idle 3.13.0-master++ 488.5 KHz 1.002 + restore mwait_idle + IPI fix Since X86_BUG_CLFLUSH_MONITOR is already a quirk, don't create a separate quirk for the extra smp_mb()s. Signed-off-by: Mike Galbraith <bitbucket@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.10+ Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ian Malone <ibmalone@xxxxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1390061684.5566.4.camel@xxxxxxxxxxxxxxxxx [ Ported to recent kernel, added comments about the quirk. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b253149b843f89cd300cbdbea27ce1f847506f99 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Jan 15 00:37:34 2014 -0500 sched/idle/x86: Restore mwait_idle() to fix boot hangs, to improve power savings and to improve performance In Linux-3.9 we removed the mwait_idle() loop: 69fb3676df33 ("x86 idle: remove mwait_idle() and "idle=mwait" cmdline param") The reasoning was that modern machines should be sufficiently happy during the boot process using the default_idle() HALT loop, until cpuidle loads and either acpi_idle or intel_idle invoke the newer MWAIT-with-hints idle loop. But two machines reported problems: 1. Certain Core2-era machines support MWAIT-C1 and HALT only. MWAIT-C1 is preferred for optimal power and performance. But if they support just C1, cpuidle never loads and so they use the boot-time default idle loop forever. 2. Some laptops will boot-hang if HALT is used, but will boot successfully if MWAIT is used. This appears to be a hidden assumption in BIOS SMI, that is presumably valid on the proprietary OS where the BIOS was validated. https://bugzilla.kernel.org/show_bug.cgi?id=60770 So here we effectively revert the patch above, restoring the mwait_idle() loop. However, we don't bother restoring the idle=mwait cmdline parameter, since it appears to add no value. Maintainer notes: For 3.9, simply revert 69fb3676df for 3.10, patch -F3 applies, fuzz needed due to __cpuinit use in context For 3.11, 3.12, 3.13, this patch applies cleanly Tested-by: Mike Galbraith <bitbucket@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Acked-by: Mike Galbraith <bitbucket@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.9+ Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ian Malone <ibmalone@xxxxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/345254a551eb5a6a866e048d7ab570fd2193aca4.1389763084.git.len.brown@xxxxxxxxx [ Ported to recent kernels. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4899c054a90439477b24da8977db8d738376fe90 Author: Doug Goldstein <cardoe@xxxxxxxxxx> Date: Sun Mar 15 21:56:04 2015 -0500 USB: ftdi_sio: Added custom PID for Synapse Wireless product Synapse Wireless uses the FTDI VID with a custom PID of 0x9090 for their SNAP Stick 200 product. Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 7dca0548a21e5efa445b68a73554ef863e09c623 Merge: 1be440d c39fb53 Author: Jan Kara <jack@xxxxxxx> Date: Mon Mar 16 10:26:41 2015 +0100 Merge branch 'quota_interface' into for_next_testing commit 8e4e2ee5d80875177e03d57b807e0784f3d91e0e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:25 2015 -0700 Bluetooth: Use smp->local_pk + 32 instead of &smp->local_pk[32] Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 33d0c030717bd939dab467f95966d8a64187e5c1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:24 2015 -0700 Bluetooth: Use OOB key pair for LE SC pairing with OOB method The OOB public and secret key pair is different from the non-OOB pairing procedure. SO when OOB method is in use, then use this key pair instead of generating a new one. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 0821a2c5ab76d8ef81c1c2a8571a7ba4aa850976 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:23 2015 -0700 Bluetooth: Return LE SC confirm and random values for out-of-band data Then the local out-of-band data for LE SC pairing is requested via Read Local OOB Extended Data command, then fill in the values generated by the smp_generate_oob function. Every call of this command will overwrite previously generated values. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 60a27d653d972584e5e98ab3558c62c3d3bc547a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:22 2015 -0700 Bluetooth: Add function for generating LE SC out-of-band data This patch adds a smp_generate_oob function that allows to create local out-of-band data that can be used for pairing and also provides the confirmation and random value. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6e2dc6d1133f5f8bfd028ba7d1c3fb0b3fa717e9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:21 2015 -0700 Bluetooth: Add support for AES-CMAC hash for security manager device The security manager device will require the use of AES-CMAC hash for out-of-band data generation. This patch makes sure it is correctly set up and available. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f709bfcf6a292560ce187c33fd099ee495c0a404 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:20 2015 -0700 Bluetooth: Add constants for LE SC Confirmation and Random values The LE Secure Connections Confirmation Value and LE Secure Connections Random Value contants are required for the out-of-band data and so just define them. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 88a479d9507eb7a510a612705aa686c52d24b2ab Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:19 2015 -0700 Bluetooth: Create SMP device structure for local crypto context Every Bluetooth Low Energy controller requires a local crypto context to handle the resolvable private addresses. At the moment this is just a single crypto context, but for out-of-band data generation it will require an additional. To facility this, create a struct smp_dev that will hold all the extra information. This patch is just the refactoring in preparation for future changes. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f3b0bbb35dac575c571dadeace59bd23ce797d31 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Mar 12 08:53:25 2015 +0200 mac80211: refactor drop connection/unlock in CSA processing The schedule_work()/mutex unlocking code is duplicated many times, refactor that to a common place in the function. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 276812ec3e945493443e399921a07e9d6aa4d5b2 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Mar 16 01:10:18 2015 -0700 Bluetooth: Use kzfree instead of kfree in security manager Within the security manager, it makes sense to use kzfree instead of kfree for all data structures. This ensures that no key material leaks by accident. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit dc5a1ad7bd830b7789ba2950342bdecfe4787945 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Mar 12 08:53:24 2015 +0200 mac80211: allow to get wireless_dev structure from ieee80211_vif This will allow mac80211 drivers to call cfg80211 APIs with the right handle. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit bfc6dc138ef01a65365834dcf251b95ace9969b7 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 14:48:31 2015 -0300 ARM: imx_v6_v7_defconfig: Enable Bluetooth support Enable Bluetooth over serial support. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 45ceeee81ecdd437f7ecac77ae79263486c755e8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Mar 16 09:08:20 2015 +0100 mac80211: add comment for rx_path_lock Add a comment explaining how the RX path lock is used. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4cc0dba95aacfcf235bcf2f8dee9cdd1568aacbf Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Mar 16 09:05:23 2015 +0100 mac80211: move netdev stats to common function Move the netdev stats accounting into the common function ieee80211_deliver_skb() that is called in both places. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7f664cf9e422105644818b180349e3b10a370de7 Author: Jeremy Kerr <jk@xxxxxxxxxx> Date: Wed Feb 11 12:55:44 2015 +0800 powerpc/boot: don't clobber r6 and r7 in epapr boot We use r6 and r7 for epapr boot, but the current pre-C init will clobber both of these. This change does a simple replacement, of r6 -> r12 and r7 -> r13, so that we hit platform init with these registers intact. Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8c06f0d910ca628b657dc964a7347e70070dc7d6 Author: Jeremy Kerr <jk@xxxxxxxxxx> Date: Wed Feb 11 12:55:44 2015 +0800 powerpc/boot: Fix stack corruption in epapr entry point Currently, a 64-bit little-endian zImage.epapr won't boot in epapr mode, as we never return from platform_init. Before entering C, we initialise our stack by setting r1 16 bytes below the end of the _bss_stack: stwu r0,-16(r1) /* establish a stack frame */ However, the called function will save the caller's lr in the caller's frame's lr save area, at -16(r1) to -32(r1). This means that writes to the fdt variable will corrupt the saved link register: 0000000020c06018 l O .bss 0000000000001000 _bss_stack 0000000020c07018 l O .bss 0000000000000008 fdt We'll need at least 32 bytes in the initial stack frame, to handle the LR save area. We bump this to 112 bytes, as that'll be the max required by ABIv1. Thanks to Alistair Popple for debugging help. Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 90d1d44e0de0ec833634667bc1827303b2e1645e Author: Jeremy Kerr <jk@xxxxxxxxxx> Date: Wed Feb 11 12:55:44 2015 +0800 powerpc/boot/wrapper: use the pseries wrapper for zImage.epapr We'll likely be entering the zImage.epapr as BE, so include the pseries implementation of _zimage_start, which adds the endian fixup magic. Although the endian fixup won't work on Book III-E machines starting LE, the current entry point doesn't support LE anyway, so we shouldn't be breaking anything. Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6c87b2202f5414be3acae9df2e1833e8b46c5688 Author: Jeremy Kerr <jk@xxxxxxxxxx> Date: Wed Feb 11 12:55:44 2015 +0800 powerpc/boot/fdt: Add little-endian support to libfdt wrappers For epapr-style boot, we may be little-endian. This change implements the proper conversion for fdt*_to_cpu and cpu_to_fdt*. We also need the full cpu_to_* and *_to_cpu macros for this. Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1680e4ba3d4f0ab12c387975584924f585fc77eb Author: Jeremy Kerr <jk@xxxxxxxxxx> Date: Wed Feb 11 12:55:44 2015 +0800 powerpc/boot/fdt: Use unsigned long for pointer casts Now that the wrapper supports 64-bit builds, we see warnings when attempting to cast pointers to int. Use unsigned long instead. Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5e86bfde9cd93f272844c3ff6ac5f93d3666b3e7 Author: Arseny Solokha <asolokha@xxxxxxxxxx> Date: Tue Feb 24 16:05:06 2015 +0700 powerpc/mpic: remove unused functions Drop unused fsl_mpic_primary_get_version(), mpic_set_clk_ratio(), mpic_set_serial_int(). + fsl_mpic_primary_get_version() is just a safe wrapper around fsl_mpic_get_version() for SMP configurations. While the latter is called explicitly for handling PIC initialization and setting up error interrupt vector depending on PIC hardware version, the former isn't used for anything. + As for mpic_set_clk_ratio() and mpic_set_serial_int(), they both are almost nine years old[1] but still have no chance to be called even from out-of-tree modules because they both are __init and of course aren't exported. [1] https://lists.ozlabs.org/pipermail/linuxppc-dev/2006-June/023867.html Signed-off-by: Arseny Solokha <asolokha@xxxxxxxxxx> Cc: hongtao.jia@xxxxxxxxxxxxx Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f98e7f2fe9d7ac5851cf8cc9933993a2b74566c1 Author: Arseny Solokha <asolokha@xxxxxxxxxx> Date: Tue Feb 24 16:05:05 2015 +0700 powerpc/qe: drop unused ucc_slow_poll_transmitter_now Drop ucc_slow_poll_transmitter_now() which has no users since its inception in 2007 in commit 986585385131 ("[POWERPC] Add QUICC Engine (QE) infrastructure"). Signed-off-by: Arseny Solokha <asolokha@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 170acae4c95eda2d3ed4300f494ecf70d3f1cec6 Author: Arseny Solokha <asolokha@xxxxxxxxxx> Date: Tue Feb 24 16:05:03 2015 +0700 powerpc/boot: drop planetcore_set_serial_speed Drop planetcore_set_serial_speed() which had no users since its inception in commit fec6047047fd ("[POWERPC] bootwrapper: Add PlanetCore firmware support") in 2007. Signed-off-by: Arseny Solokha <asolokha@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b887f9e324629125fd20ce29d6a768d280572118 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Feb 17 20:01:55 2015 +1100 powerpc/powernv: Remove unused definitions in opal-api.h This removes definitions in opal-api.h that are completely unused in Linux. For each of these I see three possibilities, 1) we *should* be using them in Linux and patches will arrive to do that, 2) they are not used but should stay in the header to document the API for some important reason, 3) they are not used and needn't be part of the API. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> commit d7cf83fcaf1b1668201eae4cdd6e6fe7a2448654 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Feb 17 20:01:54 2015 +1100 powerpc/powernv: Move opal-api.h closer to the Skiboot version This commit gets opal-api.h to mostly match the version in Skiboot as of commit ea7d806ab0ba. The exceptions are things which are not (currently) used in Linux. Most of this is just whitespace and a few things moving around. I think the diff is readable. Also OpalMessageType became opal_msg_type, requiring a change in the Linux code. Finally Skiboot and Linux disagree on CAPI vs CXL, because CAPI means something else in Linux. To handle that we just point the Linux wrapper, which is named "cxl" to the OPAL token OPAL_PCI_SET_PHB_CAPI_MODE. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> commit d800ba1218799efb07b3d11a84f38bf05a94daf5 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Feb 17 20:01:53 2015 +1100 powerpc/powernv: Move OPAL API definitions to opal-api.h We'd like to get to the stage where the OPAL API is defined in a header that is identical between Linux and Skiboot. As step one, split the bits that actually define the API into opal-api.h. The Linux specific parts stay in opal.h. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> commit 755457f992b7382298cda685b3ed1fea06d80fea Author: Michal Marek <mmarek@xxxxxxx> Date: Thu Oct 2 15:49:15 2014 +0200 powerpc/boot: Makefile cleanup The $(image-n) variable will never exist, because unset Kconfig options are '' and not 'n'. Signed-off-by: Michal Marek <mmarek@xxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7f4eec395351ef25166276ad9dc3390b83ab41b6 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 13:55:53 2015 +0100 powerpc: Delete unnecessary checks before kfree() The kfree() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7e73a3b7f34240871fa5556d952e801178970741 Author: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 16:25:29 2015 +1100 powerpc/powernv: only call OPAL_RESEND_DUMP if firmware supports it Not all OPAL platforms support resending system dumps, so check that current firmware supports it first. Otherwise we get firmware complaining: "OPAL: Called with bad token 91 !" Signed-off-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Acked-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fc81de63104e7603e6695225c2573f27aaeb4a28 Author: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 16:25:28 2015 +1100 powerpc/powernv: only call OPAL_ELOG_RESEND if firmware supports it Otherwise firmware complains: "OPAL: Called with bad token 74 !" as not all OPAL systems have the ability to resend error logs. Signed-off-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Acked-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b962f5a446d8cf4f313a2cef728e7e71b2f20811 Author: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 16:25:27 2015 +1100 powerpc/powernv: only register log if OPAL supports doing so Correct use of REGISTER/UNREGISTER is to check if the token exists before calling. If we don't we get a "OPAL: Called with bad token 101 !" error, which is harmless but may be alarming to some. Signed-off-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Acked-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit df99e6eb3f5279a211ee50b2321357c0d9ed8224 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Feb 10 09:51:23 2015 +1100 powerpc: Change vsrX register defines to vsX to match gcc and glibc As our various loops (copy, string, crypto etc) get more complicated, we want to share implementations between userspace (eg glibc) and the kernel. We also want to write userspace test harnesses to put in tools/testing/selftest. One gratuitous difference between userspace and the kernel is the VSX register definitions - the kernel uses vsrX whereas gcc uses vsX. Change the kernel to match userspace. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c2ce6f9f3dc00daca5714ef070a9a2d4e78eb336 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Feb 10 09:51:22 2015 +1100 powerpc: Change vrX register defines to vX to match gcc and glibc As our various loops (copy, string, crypto etc) get more complicated, we want to share implementations between userspace (eg glibc) and the kernel. We also want to write userspace test harnesses to put in tools/testing/selftest. One gratuitous difference between userspace and the kernel is the VMX register definitions - the kernel uses vrX whereas both gcc and glibc use vX. Change the kernel to match userspace. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1be440de2ac5181495a7295fa9a4c8ad0793f056 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Mar 15 10:54:23 2015 +0100 udf: use int for allocated blocks instead of sector_t Fix the following warnings: fs/udf/balloc.c:768:15: warning: conversion to 'sector_t' from 'int' may change the sign of the result [-Wsign-conversion] allocated = udf_bitmap_prealloc_blocks(sb, ^ fs/udf/balloc.c:773:15: warning: conversion to 'sector_t' from 'int' may change the sign of the result [-Wsign-conversion] allocated = udf_table_prealloc_blocks(sb, ^ fs/udf/balloc.c:778:15: warning: conversion to 'sector_t' from 'int' may change the sign of the result [-Wsign-conversion] allocated = udf_bitmap_prealloc_blocks(sb, ^ fs/udf/balloc.c:783:15: warning: conversion to 'sector_t' from 'int' may change the sign of the result [-Wsign-conversion] allocated = udf_table_prealloc_blocks(sb, ^ fs/udf/balloc.c:791:26: warning: conversion to 'loff_t' from 'sector_t' may change the sign of the result [-Wsign-conversion] inode_add_bytes(inode, allocated << sb->s_blocksize_bits); ^ fs/udf/balloc.c:792:2: warning: conversion to 'int' from 'sector_t' may alter its value [-Wconversion] return allocated; Suggested-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit c09396eb8e5a8df668174993c6400763022b2466 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sun Mar 15 08:07:04 2015 +0100 ath9k: disable TPC support again (for now) TPC support has been observed to cause some tx power fluctuations on some devices with at least AR934x and AR938x chips. Disable it for now until the bugs have been found and fixed Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1cf48f22c98ae24a49a3f1b6900e4c9a9a0fcc62 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Thu Mar 12 17:17:18 2015 +0100 ath9k: fix tracking of enabled AP beacons sc->nbcnvifs tracks assigned beacon slots, not enabled beacons. Therefore, it cannot be used to decide if cur_conf->enable_beacon (bool) should be updated, or if beacons have been enabled already. With the current code (depending on the order of calls), beacons often do not get enabled in an AP+STA setup. To fix tracking of enabled beacons, convert cur_conf->enable_beacon to a bitmask of enabled beacon slots. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1067219b27e29e925e7bdbb85b72c4c2bec0267e Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Wed Feb 4 13:10:31 2015 +0800 drm/rockchip: vop: power off until vop standby take effect Vop standby will take effect at end of current frame, if dsp_hold_valid_irq happen, it means vop standby complete. we must wait standby complete when we want to disable aclk, if not, memory bus maybe dead. Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 52ab7891fb8e45bda6015da8b5ac82ad600355e3 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Thu Jan 22 18:29:57 2015 +0800 drm/rockchip: vop: set vop enabled after enable iommu there is a Bug that: vop_enable()->drm_vblank_on, drm_vblank_on may call vop enable vblank. if it happen, vblank enable would failed, then cause irq status error. because is_enabled value is set after drm_vblank_on. after enable vop clocks and iommu regs, we can sure that R/W vop regs and do vop plane flip is safe, so place is_enabled = true after enable iommu is suitable. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 31e980c5a2d35ce411034b7fd842433542c1c60e Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Thu Jan 22 14:37:56 2015 +0800 drm/rockchip: vop use is_enabled instead of dpms mode drm dpms have many power modes: ON,OFF,SUSPEND,STANDBY, etc. but vop only have enable/disable mode, maybe case such bug: --> DRM_DPMS_ON: power on vop --> DRM_DPMS_SUSPEND: power off vop --> DRM_DPMS_OFF: already power off at SUSPEND, crash so use a bool val is more suitable. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 44ddb7ef38ae720849cf81e71c370e55071b05a7 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Thu Jan 22 11:15:02 2015 +0800 drm/rockchip: vop: fix vop vsync/hsync polarity Vop set wrong vsync/hsync polarity, it may cause some display problem. known problem is that caused HDMI hdcp authenticate failed, caused pixel offset with hdmi display. the polarity description at RK3288 TRM doc: dsp_vsync_pol VSYNC polarity 1'b0 : negative 1'b1 : positive dsp_hsync_pol HSYNC polarity 1'b0 : negative 1'b1 : positive Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Tested-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> commit aefedc1a4cfe4c874b8a7ac743f9deedc289d9e6 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Mar 15 17:08:19 2015 -0700 Bluetooth: Remove unneeded HCI_CONN_REMOTE_OOB connection flag The HCI_CONN_REMOTE_OOB connection flag is used to indicate if the pairing initiator has provided out-of-band data. However since that value is no longer used in any decision making, just remove it. It is actually unclear what purpose the OOB data present field from the HCI IO Capability Response event serves in the first place. If either side provided out-of-band data, then that data will be used for pairing. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 455c2ff0a558c04d53a2f5bb55d16093a7dee41d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Mar 15 16:42:53 2015 -0700 Bluetooth: Fix BR/EDR out-of-band pairing with only initiator data When only the pairing initiator is providing out-of-band data, then the receiver side was ignoring the data. For some reason the code was checking if the initiator has received out-of-band data and only then also provide the required inidication that the acceptor actually has the needed data available. For BR/EDR out-of-band pairing it is enough if one side has received out-of-band data. There are no extra checks needed here to make this work smoothly. The only thing that is needed is to tell the controller if data is present (and if it is P-192 or P-256 or both) and then let the controller actually figure out the rest. This means the check for outgoing connection or if the initiator has indicated data are completely pointless and are in fact actually causing harm. The check in question is this one: if (conn->out || test_bit(HCI_CONN_REMOTE_OOB, &conn->flags)) { After just taking the conditional check out and always executing the code for determining the type of out-of-band data, the pairing works flawlessly and prodcudes authenticated link keys. The patch itself looks more complicated due to the reformatting of the indentation, but it essentially just a two-line change. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d927c59076f505a056e78a9fc9744069aa052cc8 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sun Mar 15 13:49:47 2015 +0300 extcon: max77843: Fix signedness bug in max77843_muic_set_debounce_time() This patch fixes the variable type of 'ret' from 'unsigned int' to 'int' type because the return type of regmap_update_bits() is 'int' type. Fixes: 27a28d32b4f2 ('extcon: max77843: Add max77843 MUIC driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> [cw00.choi: Fix the patch description] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit f00bbd219caa7b3cc3a51b5ce551d1bd56f19662 Merge: 7993d44 812a1c3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 16 00:14:47 2015 -0400 Merge branch 'swdev_ops' Scott Feldman says: ==================== switchdev: add swdev ops v3: - Fix missing include for DSA build v2: - Per Simon's review, squash some of the dependent commits into one to make series git bisect safe. v1: Per discussions at netconf, move switchdev ndo ops to a new swdev_ops to keep ndo namespace clean and maintain switchdev-related ops into one place. There are no functional changes here; just shuffling ops around for better organization. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 812a1c3ff3ee9d5100e0e71edb06681014e84a9b Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sun Mar 15 21:07:16 2015 -0700 netdev: remove ndo ops for switchdev Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98237d433b98d27fdffb09e4a1a510e9f00c6f31 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sun Mar 15 21:07:15 2015 -0700 switchdev: use new swdev ops Move swdev wrappers over to new swdev ops (from previous ndo ops). No functional changes to the implementation. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> rocker: move to new swdev ops Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> dsa: move to new swdev ops Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4170604feec780d00e7511c24fa0f6e5c2e4ed75 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sun Mar 15 21:07:14 2015 -0700 switchdev: add swdev ops As discussed at netconf, introduce swdev_ops as first step to move switchdev ops from ndo to swdev. This will keep switchdev from cluttering up ndo ops space. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7993d44ea1f7b17dd17863ab139d2c9df17dfe51 Merge: 0034de4 565e864 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 15 22:22:17 2015 -0400 Merge branch 'rhashtable-fixes-next' Herbert Xu says: ==================== rhashtable: Fix two bugs caused by multiple rehash preparation While testing some new patches over the weekend I discovered a couple of bugs in the series that had just been merged. These two patches fix them: 1) A use-after-free in the walker that can cause crashes when walking during a rehash. 2) When a second rehash starts during a single rhashtable_remove call the remove may fail when it shouldn't. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 565e86404e4c40e03f602ef0d6d490328f28c493 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sun Mar 15 21:12:05 2015 +1100 rhashtable: Fix rhashtable_remove failures The commit 9d901bc05153bbf33b5da2cd6266865e531f0545 ("rhashtable: Free bucket tables asynchronously after rehash") causes gratuitous failures in rhashtable_remove. The reason is that it inadvertently introduced multiple rehashing from the perspective of readers. IOW it is now possible to see more than two tables during a single RCU critical section. Fortunately the other reader rhashtable_lookup already deals with this correctly thanks to c4db8848af6af92f90462258603be844baeab44d ("rhashtable: rhashtable: Move future_tbl into struct bucket_table") so only rhashtable_remove is broken by this change. This patch fixes this by looping over every table from the first one to the last or until we find the element that we were trying to delete. Incidentally the simple test for detecting rehashing to prevent starting another shrinking no longer works. Since it isn't needed anyway (the work queue and the mutex serves as a natural barrier to unnecessary rehashes) I've simply killed the test. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 963ecbd41a1026d99ec7537c050867428c397b89 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sun Mar 15 21:12:04 2015 +1100 rhashtable: Fix use-after-free in rhashtable_walk_stop The commit c4db8848af6af92f90462258603be844baeab44d ("rhashtable: Move future_tbl into struct bucket_table") introduced a use-after- free bug in rhashtable_walk_stop because it dereferences tbl after droping the RCU read lock. This patch fixes it by moving the RCU read unlock down to the bottom of rhashtable_walk_stop. In fact this was how I had it originally but it got dropped while rearranging patches because this one depended on the async freeing of bucket_table. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f76c83b580043d55b2899719da61fe000839812d Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Mon Jan 12 14:58:23 2015 +0800 drm/rockchip: Only alloc a kmap for fbdev gem object In general, the data in drm/rockchip GEM objects is never accessed by the kernel. The objects are either accessed by a GPU, by display controller DMA, or by mmap'ing them to user space. Thus, these buffers need not be mapped into kernel address space. The only exception is the fbdev framebuffer(s), which may be written in-kernel by fbcon. Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 0034de4193e4aad30bbbef4e74ca5e0631ba08a7 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Fri Mar 13 14:45:00 2015 -0700 net: bcmgenet: add support for Hardware Filter Block Add support for Hardware Filter Block (HFB) so that incoming Rx traffic can be matched and directed to desired Rx queues. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70006af955151042aa62958b92b53f4296030fe5 Merge: a498cfe 614cd3b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 15 22:02:35 2015 -0400 Merge branch 'ebpf_skb_fields' Alexei Starovoitov says: ==================== bpf: allow eBPF access skb fields V1->V2: - refactored field access converter into common helper convert_skb_access() used in both classic and extended BPF - added missing build_bug_on for field 'len' - added comment to uapi/linux/bpf.h as suggested by Daniel - dropped exposing 'ifindex' field for now classic BPF has a way to access skb fields, whereas extended BPF didn't. This patch introduces this ability. Classic BPF can access fields via negative SKF_AD_OFF offset. Positive bpf_ld_abs N is treated as load from packet, whereas bpf_ld_abs -0x1000 + N is treated as skb fields access. Many offsets were hard coded over years: SKF_AD_PROTOCOL, SKF_AD_PKTTYPE, etc. The problem with this approach was that for every new field classic bpf assembler had to be tweaked. I've considered doing the same for extended, but for every new field LLVM compiler would have to be modifed. Since it would need to add a new intrinsic. It could be done with single intrinsic and magic offset or use of inline assembler, but neither are clean from compiler backend point of view, since they look like calls but shouldn't scratch caller-saved registers. Another approach was to introduce a new helper functions like bpf_get_pkt_type() for every field that we want to access, but that is equally ugly for kernel and slow, since helpers are calls and they are slower then just loads. In theory helper calls can be 'inlined' inside kernel into direct loads, but since they were calls for user space, compiler would have to spill registers around such calls anyway. Teaching compiler to treat such helpers differently is even uglier. They were few other ideas considered. At the end the best seems to be to introduce a user accessible mirror of in-kernel sk_buff structure: struct __sk_buff { __u32 len; __u32 pkt_type; __u32 mark; __u32 queue_mapping; }; bpf programs will do: int bpf_prog1(struct __sk_buff *skb) { __u32 var = skb->pkt_type; which will be compiled to bpf assembler as: dst_reg = *(u32 *)(src_reg + 4) // 4 == offsetof(struct __sk_buff, pkt_type) bpf verifier will check validity of access and will convert it to: dst_reg = *(u8 *)(src_reg + offsetof(struct sk_buff, __pkt_type_offset)) dst_reg &= 7 since 'pkt_type' is a bitfield. No new instructions added. LLVM doesn't need to be modified. JITs don't change and verifier already knows when it accesses 'ctx' pointer. The only thing needed was to convert user visible offset within __sk_buff to kernel internal offset within sk_buff. For 'len' and other fields conversion is trivial. Converting 'pkt_type' takes 2 or 3 instructions depending on endianness. More fields can be exposed by adding to the end of the 'struct __sk_buff'. Like vlan_tci and others can be added later. When pkt_type field is moved around, goes into different structure, removed or its size changes, the function convert_skb_access() would need to updated and it will cover both classic and extended. Patch 2 updates examples to demonstrates how fields are accessed and adds new tests for verifier, since it needs to detect a corner case when attacker is using single bpf instruction in two branches with different register types. The 4 fields of __sk_buff are already exposed to user space via classic bpf and I believe they're useful in extended as well. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 614cd3bd3758a806cea497d493b584e6157561f7 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Mar 13 11:57:43 2015 -0700 samples: bpf: add skb->field examples and tests - modify sockex1 example to count number of bytes in outgoing packets - modify sockex2 example to count number of bytes and packets per flow - add 4 stress tests that exercise 'skb->field' code path of verifier Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9bac3d6d548e5cc925570b263f35b70a00a00ffd Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Mar 13 11:57:42 2015 -0700 bpf: allow extended BPF programs access skb fields introduce user accessible mirror of in-kernel 'struct sk_buff': struct __sk_buff { __u32 len; __u32 pkt_type; __u32 mark; __u32 queue_mapping; }; bpf programs can do: int bpf_prog(struct __sk_buff *skb) { __u32 var = skb->pkt_type; which will be compiled to bpf assembler as: dst_reg = *(u32 *)(src_reg + 4) // 4 == offsetof(struct __sk_buff, pkt_type) bpf verifier will check validity of access and will convert it to: dst_reg = *(u8 *)(src_reg + offsetof(struct sk_buff, __pkt_type_offset)) dst_reg &= 7 since skb->pkt_type is a bitfield. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a498cfe990f569dd3766bfc9bfd2a5ee04468cd2 Merge: 1202882 c04167c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 15 21:57:30 2015 -0400 Merge branch 'ebpf_helpers' Daniel Borkmann says: ==================== eBPF updates Two small eBPF helper additions to better match up with ancillary classic BPF functionality. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c04167ce2ca0ecaeaafef006cb0d65cf01b68e42 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Mar 14 02:27:17 2015 +0100 ebpf: add helper for obtaining current processor id This patch adds the possibility to obtain raw_smp_processor_id() in eBPF. Currently, this is only possible in classic BPF where commit da2033c28226 ("filter: add SKF_AD_RXHASH and SKF_AD_CPU") has added facilities for this. Perhaps most importantly, this would also allow us to track per CPU statistics with eBPF maps, or to implement a poor-man's per CPU data structure through eBPF maps. Example function proto-type looks like: u32 (*smp_processor_id)(void) = (void *)BPF_FUNC_get_smp_processor_id; Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03e69b508b6f7c51743055c9f61d1dfeadf4b635 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Mar 14 02:27:16 2015 +0100 ebpf: add prandom helper for packet sampling This work is similar to commit 4cd3675ebf74 ("filter: added BPF random opcode") and adds a possibility for packet sampling in eBPF. Currently, this is only possible in classic BPF and useful to combine sampling with f.e. packet sockets, possible also with tc. Example function proto-type looks like: u32 (*prandom_u32)(void) = (void *)BPF_FUNC_get_prandom_u32; Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12028820423bd7705beb5e09889faab95c545ea1 Merge: 5a2f78dd 5591764 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 15 19:56:52 2015 -0400 Merge branch 'gianfar-next' Claudiu Manoil says: ==================== gianfar: ARM port driver updates (2/2) The 2nd round of driver updates to make gianfar portable on ARM, for the ARM based SoC that integrates eTSEC - "ls1021a". The patches address the bulk of remaining endianess issues - handling DMA fields (BD and FCB), and device tree properties. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 559176415cc663fff9dd99a3862629a4fcdb36ab Author: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Date: Fri Mar 13 10:52:32 2015 +0200 gianfar: Consider dts property endianess on handling Use of_property_read*() to get arch endian consistent property values. Do some refactoring in the process. Signed-off-by: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26eb9374f83d129f26a417fc3cc9b480fb47e5e4 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Mar 13 10:36:29 2015 +0200 gianfar: Make FCB access endian safe Use conversion macros to correctly access the BE fields of the Rx and Tx Frame Control Block on LE CPUs. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7312d5803759c29c7f341428858d353caabf793 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Mar 13 10:36:28 2015 +0200 gianfar: Make BDs access endian safe Use conversion macros to correctly access the BE fields of the Rx and Tx Buffer Descriptors on LE CPUs. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f1758d606e96e19caf9ced2b617b5d555d86f6e Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Sat Mar 14 15:49:30 2015 +0530 Staging: skein: Remove do-while(0) from single statement macros Remove unneeded do-while(0) loop from single statement macros. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 192b3ffc4cd47e021b5160507dd885516f345b7d Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Fri Mar 13 21:00:20 2015 +0900 staging: comedi: remove break after return Remove "break" statement after a "return" statement as it does not get executed. Deadcode found by coccinelle --debug option Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0dff42124d3d312c236c5b934edeac477c818f7 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 14:29:30 2015 +0300 Staging: comedi: Remove parentheses around right side assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurences. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81906c357a37bd82ca041bbdde9c663ea656f300 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 11 17:02:13 2015 +0530 Staging: comedi: Use function setup_timer for combining initialization The function setup_timer combines the initialization of a timer with the initialization of the timer's function and data fields. So, this patch combines the multiline code for timer initialization using the function setup_timer. This issue is identified via coccinelle script. @@ expression E1, E2, E3; type T; @@ - init_timer(&E1); ... ( - E1.function = E2; ... - E1.data = (T)E3; + setup_timer(&E1, E2, (T)E3); | - E1.data = (T)E3; ... - E1.function = E2; + setup_timer(&E1, E2, (T)E3); | - E1.function = E2; + setup_timer(&E1, E2, 0); ) Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6946edd07a98e74fa7eedc465dc37a615830a311 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Sat Mar 14 21:55:11 2015 +0900 staging: sm750fb: remove parantheses from return statements found by checkpatch.pl :ERROR: return is not a function, parentheses are not required changes made using coccinelle script: @@ expression e,e1; @@ ( return (e / e1); | return -( e -) ; ) Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2a6037738be69a51e6cbd09d348c949f0936fcd Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Thu Mar 12 21:48:45 2015 +0530 Staging: sm750fb: Add space after ',' This patch adds space after ',' for the better readability of code. This issue is detected by checkpatch.pl Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b30edfcd04b5ffdb6b36a5b36a37d911222b9d37 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Thu Mar 12 13:26:21 2015 +0900 staging: sm750fb: remove intialization of static ints static ints are initialized to 0 by the compiler. Explicit initialization is not necessary. Found by checkpatch.pl - ERROR: do not initialise statics to 0 or NULL changes made using coccinelle script: @@ type T; identifier var; @@ static T var - =0 ; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fa7db83e4f9ef5cd820b7c8aba06cd068035641 Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Thu Mar 12 01:11:00 2015 +0900 staging: sm750fb: Add void to function definition with no arguments Found by checkpatch.pl - ERROR: Bad function definition A function with no arguments allows for variadic arguments. Add void in between the empty parentheses to indicate that the function takes no arguments. changes made using coccinelle script: @@ type T; identifier f; @@ T f( +void ) { ... } Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6b0d6de1d2821dc0dd44b33fbe2b41e5ecac430 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Mar 11 04:35:04 2015 +0200 staging: sm750: Fix switch-case indentation Remove switch cases indentation in order to follow the Linux coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7d3e898581dce3b87af46b200592fcded82e2cf Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:09:10 2015 +0200 staging: goldfish: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b30367c0866c1b669f266f1a13f17de7b0b8c120 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:08:40 2015 +0200 staging: fbtft: fbtft_device.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 248d828514bf7016d13f11b7b82f26b6949718c5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:08:15 2015 +0200 staging: fbtft: fbtft-io.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0401b42d8bf8c929c77bd9e77615284d154a3174 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:07:01 2015 +0200 staging: fbtft: fb_st7735r.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e686d777df8ef8f01a61c98cc94667054778c10 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:06:24 2015 +0200 staging: fbtft: fb_s6d02a1.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53ce1c05cc116116a9a8ca821136767f18b9b27b Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:05:52 2015 +0200 staging: fbtft: fb_hx8353d.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 721bc827d4a9a45cf9da04445d6897957c9caa06 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:05:27 2015 +0200 staging: fbtft: fb_hx8340bn.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b38452785f3aef3f293389451d260bdc85c7955 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:04:35 2015 +0200 staging: fbtft: fb_agm1264k-fl.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f4a748f59924118129306d0e89af7a35b77365e Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:04:09 2015 +0200 staging: ft1000: ft1000-usb: ft1000_hw.c: adjust function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to pointer casts. Issues were detected using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Parentheses removal were left to the script. However, there were some cases that were handled manually. In addition, handling pointer casts were done manually too because not all replacements generated by the script were suitable. When pointer casts on function arguments were in the form: <func>(...,(<type> *)&<expression>,...) the replacements were discarded due to compilation warnings. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e2fef9d3260e169c17fc5eea842ff4c64c23e5c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:03:18 2015 +0200 staging: ft1000: ft1000-usb: ft1000_download.c: adjust function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to pointer cast. Issues were detected using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Parentheses removal were left to the script. However, handling pointer casts were done manually because not all replacements generated by the script were suitable. In general, the following cases were discarded: pointer casts in macros, pointer casts on function arguments in the form of: <func>(...,(<type> *)&<expression>,...) since both cases generated compilation warnings. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb53b00de93d4a165b31781e9d4598415e3c07a4 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:02:29 2015 +0200 staging: ft1000: ft1000-usb: adjust function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to pointer cast. Issues were detected using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Parentheses removal were left to the script. However, handling pointer casts were done manually because not all replacements generated by the script were suitable. In general, the following cases were discarded: pointer casts in macros, pointer casts on function arguments in the form of: <func>(...,(<type> *)&<expression>,...) since both cases generated compilation warnings. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 562b11b3a9304cfd55fa06f932f45879018c9792 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:01:41 2015 +0200 staging: ft1000: ft1000-pcmcia: adjust function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to potinter cast. Issues were detected using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Parentheses removal were left to the script. However, handling pointer casts were done manually because not all replacements generated by the script were suitable. In general, the following cases were discarded: pointer casts in macros, pointer casts on function arguments in the form of: <func>(...,(<type> *)&<expression>,...) since both cases generated compilation warnings. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08a02cb8834d8a09502358b08929897e3ffb6abf Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 19:00:53 2015 +0200 staging: ft1000: adjust function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to pointer cast. Issues detected and resolved using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a511536f4b8815308d178740902826de9c628f59 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:58:00 2015 +0200 staging: mt29f_spinand: remove pointer to pointer cast in function argument Removes unnecessary pointer to pointer cast on function arguments. It is worth noting that buf is already a u8 pointer. Issue detected and resolved using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 805184c451cdb225ffbdf83ba010160d74b3a471 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:57:25 2015 +0200 staging: media: lirc: remove pointer to pointer cast on function arguments Removes pointer to pointer cast on function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 028b242d1b91e95869a084c43ce3497203f84e5c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:56:37 2015 +0200 staging: media: lirc: fix multiple issues with function arguments Handles the following issues: Removing extra parentheses around function arguments, Removing unnecessary pointer to pointer casts. Issues detected and resolved using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) @@ expression e; identifier f; @@ f(..., & -( e -) ,...) @@ expression e; identifier f; @@ f(..., -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 505942151da6310df05213413d4ebd10bd5fd450 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:55:27 2015 +0200 staging: media: lirc: remove unnecessary cast on function argument Removes pointer to pointer cast on a function argument. Issue detected and resolved using the following coccinelle script: @@ expression e; type t; identifier f; @@ f(..., -(t *) e ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb3a4dc3af68b92ad5d5cc0020268daae554db93 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:54:51 2015 +0200 staging: media: lirc: lirc_imon.c: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., & -( e -) ,...) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 975da35f0f6e33d9a86e5d3ee3c89cb5942d872a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 10 18:53:54 2015 +0200 staging: fwserial: remove extra parentheses around function arguments Removes extra parentheses around function arguments. Issue detected and resolved using the following coccinelle script: @@ expression e; identifier f; @@ f(..., -( e -) ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 717842fee57b5f1a51d967615aa751625174fc3f Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Tue Mar 10 17:56:12 2015 +0530 Staging: lustre: Remove space to improve code style. Remove space to improve code style and follow kernel conventions. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed0ed4ea7755559ee04aab8695cb91610f5e539a Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 11 17:02:15 2015 +0530 Staging: lustre: Use setup_timer to combine initialization The function setup_timer combines the initialization of a timer with the initialization of the timer's function and data fields. So, this patch combines the multiline code for timer initialization using the function setup_timer. This issue is identified via coccinelle script. @@ expression E1, E2, E3; type T; @@ - init_timer(&E1); ... ( - E1.function = E2; ... - E1.data = (T)E3; + setup_timer(&E1, E2, (T)E3); | - E1.data = (T)E3; ... - E1.function = E2; + setup_timer(&E1, E2, (T)E3); | - E1.function = E2; + setup_timer(&E1, E2, 0); ) Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a2ca43fa54f561c252c2ceb986daa49e258ab13 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 14 01:03:10 2015 +0530 Staging: lustre: Iterate list using list_for_each_entry Code using doubly linked list is iterated generally using list_empty and list_entry functions, but it can be better written using list_for_each_entry macro. This patch replaces the while loop containing list_empty and list_entry with list_for_each_entry and list_for_each_entry_safe. list_for_each_entry is a macro which is used to iterate over a list of given type. So while loop used to iterate over a list can be replaced with list_for_each_entry macro. However, if list_del is used in the loop, then list_for_each_entry_safe is a better choice. This transformation is done by using the following coccinelle script. @ rule1 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry; @@ - while (list_empty(&E1) == 0) + list_for_each_entry (I1, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ...when != list_del(...); when != list_del_init(...); } @ rule2 @ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry_safe; @@ T *I1; + T *tmp; ... - while (list_empty(&E1) == 0) + list_for_each_entry_safe (I1, tmp, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ... } Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6ee3824259e6902553c7dc7159c7763963b80fc Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 13 20:48:53 2015 +0300 Staging: lustre: Remove parentheses around right side an assignment Parentheses are not needed around the right hand side of an assignment. This patch remove parenthese of such occurenses. Issue was detected and solved using the following coccinelle script: @rule1@ identifier x, y, z; expression E1, E2; @@ ( x = (y == z); | x = (E1 == E2); | x = -( ... -) ; ) Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4e3e6eec877078e394c3c10cf37dae046e6f334 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 9 20:39:24 2015 +0200 Staging: rtl8192u: Replace printk() with netdev_dbg() This patch replaces the printk() function with netdev_dbg() in order to fix the following: "WARNING: printk() should include KERN_ facility level" and "WARNING: line over 80 characters". Issue found by checkpatch.pl Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b2965b63371d345b572b49f07227a17ae5504d3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 9 20:38:48 2015 +0200 Staging: rtl8192u: Add function to improve code quality This patch introduces a new function for the authentication response error check in the ieee80211_rx_frame_softmac() function to fix the indentation problem. It also adds the iotAction variable in the new function to fix the "more than 80 characters per line" warning. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22e7f1e25b0a52da91cf9fedf3f02887dc7e4742 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 9 19:18:25 2015 +0530 Staging: rtl8188eu: Remove unneeded return statement This patch removes unnecessary return statement from a void function and hence make it more compatible. This issue is identified by checkpatch.pl Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ce7948fe18230ae096cdb78211715309de9889c Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Mon Mar 9 19:18:24 2015 +0530 Staging: rtl8188eu: Remove redundant local variable This patch removes a redundant variable "val" and adds inline return statements. It also adds a default case to the switch statement which returns 0 to keep the logic intact. It also removes a redundant variable "inx" and adds inline return statements. This issue is identified by the following coccinelle script. @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b4ac54fd5aaa93922010c596292e6802c8420f6 Author: Himani Agrawal <himani93@xxxxxxxxx> Date: Mon Mar 9 19:39:50 2015 +0530 staging: vt6655: Fixes the checkpatch.pl warning warning fixed: WARNING: line over 80 characters The function call containing several variables is broken to make it fit in 80 characters. Signed-off-by: Himani Agrawal <himani93@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0edf4bcfa67702e821acb8592bc9b33a328f13a Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:55:40 2015 +0530 staging: wlan-ng: Use kzalloc instead of kmalloc. This patch uses kzalloc instead of kmalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a774fe09237adc329c9fda5ec877dccebfd2589e Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:56:58 2015 +0530 staging: rtl8192u: Use kzalloc instead of kmalloc. This patch uses kzalloc instead of kmalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d272f9ddce1b77271e3ab449c99257b3fc1fb3be Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:58:07 2015 +0530 staging: rtl8192e: Use kzalloc instead of kmalloc. This patch uses kzalloc instead of kmalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0507a1e52b7d55c9fa6fe952c90383487c0eb669 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:27:27 2015 +0530 staging: rtl8188eu: Use kcalloc instead of kzalloc. This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f39902654c59d02b32b1b0900304d10c2f212d1 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:29:27 2015 +0530 staging: rtl8188eu: Use kcalloc instead of kzalloc This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e026b647b27d3dc170bd335d5e9c4a6f45323ff Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:32:50 2015 +0530 staging: iio: Use kcalloc instead of kzalloc. This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3637d77f5f3ce080e9a2c4f1435f7ce0f5a4ef48 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:34:29 2015 +0530 staging: iio: Use kcalloc instead of kzalloc This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ac04a878802a121caef6cc924931281b7091f03 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:35:57 2015 +0530 staging: media: Use kcalloc instead of kzalloc. This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5869066a57d39c9aa5c6204dc89ba8c7e2abdf56 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:37:28 2015 +0530 staging: media: Use kcalloc instead of kzalloc This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6aa39ba7e50a10676408f943cce82d666fa8b638 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:38:52 2015 +0530 staging: unisys: Use kcalloc instead of kzalloc. This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25cdd99deb927c2753759ead21710303c499a4e0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 6 18:55:36 2015 -0800 hwmon: (nct6775) Enable auxiliary fan monitoring on ASRock Z77 Pro4-M Auxiliary fan monitoring is not enabled on ASRock Z77 Pro4-M with BIOS version 2.00 if booted in UEFI Ultra-FastBoot mode. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit d2a14ea51a4d7e506b2ebac2c57a32ad577ed693 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 6 18:53:21 2015 -0800 hwmon: (nct6775) Restore hardware monitoring logical device status on resume After a suspend/resume cycle it is not guaranteed that the hardware monitoring device is still enabled. Ensure that this is the case after resume. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 48e9318256da995681e6420732055e34f93bddc1 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Feb 7 08:48:49 2015 -0800 hwmon: (nct6775) Convert to use SIMPLE_DEV_PM_OPS Get rid of #ifdef CONFIG_PM by using SIMPLE_DEV_PM_OPS and declaring suspend and resume functions with __maybe_unused. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 04303f8ec14269b0ea2553863553bc7eaadca1f8 Author: Pavel Machek <pavel@xxxxxx> Date: Sat Mar 14 21:57:22 2015 +0100 HID: samples/hidraw: make it possible to select device Makefile that can actually build the example, and allow selecting device to work on. Signed-off-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c0644160a8b5e56b3c3896d77ac3d50d41fa9336 Author: Tomasz Duszynski <tduszyns@xxxxxxxxx> Date: Sat Mar 14 21:29:31 2015 +0100 iio: pressure: add support for MS5611 pressure and temperature sensor Add support for Measurement Specialities MS5611 pressure and temperature sensor. Signed-off-by: Tomasz Duszynski <tduszyns@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8b0544263761adbc7308f6910cdcc0d601782cb1 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Sat Mar 14 21:11:41 2015 +0200 iio: light: Add support for Capella CM3323 color sensor Minimal implementation providing raw light intensity and integration time attribute. Userspace applications can use GREEN channel for raw illuminance readings following this table: Integration Time | G Sensitivity ================================ 40 ms | 0.18 80 ms | 0.09 160 ms | 0.045 320 ms | 0.0225 640 ms | 0.01125 1280 ms | 0.005625 Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b20d386485e25934aef8aa24cbc8c2f51a2cb9cf Author: Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> Date: Mon Mar 9 12:03:12 2015 +0300 i2c: designware: Suppress error message if platform_get_irq() < 0 With -EPROBE_DEFER, this message is confusing and we hope for a centralized printout in the future anyhow. Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Christian Ruppert <christian.ruppert@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8ce795cb0c6b8214779c4a220781a26f096e4442 Author: Valentin Longchamp <valentin.longchamp@xxxxxxxxxxx> Date: Tue Feb 10 16:46:33 2015 +0100 i2c: mpc: assign the correct prescaler from SVR For the 85xx platforms, the source clock for the i2c-mpc can change from one SoC to another. This is documented in the AN2919 "Determining the I2C Frequency Divider Ratio for SCL" by Freescale. Not taking this into account can lead to the output SCL frequency to by off by an offset. It was observed on the P2041 from the QorIQ family. This patch fixes this problem by setting the prescaler value to the appropriate value when required. The SoCs that required a different prescaler than 1 are identified by reading out the SVR as discussed in http://thread.gmane.org/gmane.linux.drivers.devicetree/94247/focus=20556 Signed-off-by: Valentin Longchamp <valentin.longchamp@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 913b1d85cdde5f1fc081aa84f548270a15027abb Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 10:15:21 2015 -0500 i2c: img-scb: fixup of wait_for_completion_timeout return handling Return type of wait_for_completion_timeout is unsigned long not int. Appropriately typed/named variable are added and assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1c42aca54fa0e738d9f0c0e5aa952d0e4357dcf0 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 11:12:07 2015 -0500 i2c: at91: fixup return type of wait_for_completion_timeout Return type of wait_for_completion_timeout is unsigned long not int. This patch adds a timeout variable of appropriate type and fixes up the assignment. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2abaccb356a857dbf4c978a69f2209e19c1a0db3 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 10:36:48 2015 -0500 i2c: axxia: fixup return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. The return variable is renamed to reflect its use and the type adjusted to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f87b53a0858ea69e65d7f19573907a60b2e32e66 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 07:34:43 2015 -0500 i2c: nomadik: match status to return type of read_i2c return type of read_i2c() is int not u32. As the assignments to status are consistent with int here its type is changed to int. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9bb9fee9e9423082ff23f21257bfc68b5eacd504 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 07:34:33 2015 -0500 i2c: nomadik: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. as timeout is used for wait_for_completion_timeout exclusively here its type is simply changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1ac63fef0564d0340eaa330804df29b348204cea Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 06:39:56 2015 -0500 i2c: imx: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. An appropriate variable of type unsigned long is introduced and the assignments fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1abdd5d957e1fc789a2981d27399f56b0682f53e Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 03:03:30 2015 -0500 i2c: ismt: fix type of return var of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. As ret is in used for other calls a new appropriately typed variable timeout is added to handle wait_for_completion_timeout Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 73958562f1ca5c91d802c845856c4a9edcf468cb Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 05:43:52 2015 -0500 i2c: wmt: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. as wait_result is only used for wait_for_completion_timeout here the type is simply changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c4dc12167db8c7c22b38ab5180afdd5c2acba783 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 06:04:18 2015 -0500 i2c: i2c-bcm2835: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. as time_left is used for wait_for_completion_timeout exclusively here its type is simply changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 79bf442c79d67f509060b009ebc55795e918006a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 5 14:27:00 2015 +0300 m68k/pci: Remove a superflous KERN_ERR pr_err() has a KERN_ERR built in. Smatch complains about these nowadays. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 378690e3702fd4e45a5f07be527328b63d743b42 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Feb 23 11:08:58 2015 +0100 m68k/defconfig: Update defconfigs for v4.0-rc1 Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit bb3723a5e4a75f540c64a33481bef2709bf46544 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Feb 23 11:07:07 2015 +0100 m68k/q40: Make NE2000 builtin instead of modular All other Ethernet drivers are builtin, for NFS root. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit d6410efad2e49e2cefc2a0e7236824fd12d5bd6e Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sat Nov 8 19:19:07 2014 +0100 m68k: Remove FSF address We have a central copy of the GPL for that, and the FSF may change address again in the future. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 63d51e591931b878be7a16dacb37868a1e7ae8d1 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Feb 10 03:11:14 2015 -0500 i2c: designware: fixup return handling of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int, rather than introducing a new variable the wait_for_completion_timeout is moved into the if condition as the return value is only used to detect timeout. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Reviewed-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e2efb89768aebb93d3fa804bc6ee05888097797b Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Feb 10 11:55:10 2015 -0500 i2c: cadence: fixup wait_for_completion_timeout return handling return type of wait_for_completion_timeout is unsigned long not int. The return variable is renamed to make the timeout condition clearly readable and the type adjusted to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit bd9dd73c6a4e17c9345e81b46a52ca9d3157378f Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 1 08:20:32 2015 -0500 i2c: wmt: use msecs_to_jiffies for time conversions This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6973a39c9e35f46f2ea79ccbc25d3cab58737331 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 1 09:17:41 2015 -0500 i2c: tegra: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. As ret was only used for wait_for_completion_timeout here it is renamed to time_left the type changed to unsigned long and references fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 271a89cdd65f8c2b4a6be865859f8d2d1b504696 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Mar 10 14:08:13 2015 -0400 i2c: mxs: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 4f0f155ceaf7e1b59d210a8afb24d4ea63ce13cc Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 22:43:19 2015 -0700 Bluetooth: Add simple version of Read Local OOB Extended Data command This adds support for the simplest possible version of Read Local OOB Extended Data management command. It includes all mandatory fields, but none of the actual pairing related ones. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1471aae0d04d4e0df2bf1e5a5af861e28371b8b4 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 22:43:18 2015 -0700 Bluetooth: Add defines for LE Bluetooth Device Address and LE Role The OOB data requires to include LE Bluetooth Device Address and LE Role and so add the type constants for these fields. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bea41609de527830cc4c843e0e833cf021adc6b1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 22:43:17 2015 -0700 Bluetooth: Move eir_append_data function to a different location The eir_append_data helper function is needed for generating the extended local OOB data fields. So move it up into the right location. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d3d5305bfd1cb48c8f44207abb567276a1e09cc7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 20:53:25 2015 -0700 Bluetooth: Add simple version of Read Advertising Features command This adds support for the simplest possible version of Read Advertising Features management command. It allows basic testing of the interface. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a958452aa40c57a0407ecf84ba1bfa31ad532313 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:06 2015 -0700 Bluetooth: Use BIT(n) macro instead of manually encoding (1 << n) The flags for the management command table used manual encoding of bits in the form of (1 << n). It is however preferred to use BIT(n) macro instead. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f6b7712eb660c50877a56772908326cd31125b21 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:05 2015 -0700 Bluetooth: Send global configuration updates to all management users Changes to the global configuration updates like settings, class of device, name etc. can be received by every user. They are allowed to read them in the first place so provide the updates via events as well. Otherwise untrusted users start polling for updates and that is not a desired behavior. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1195fbb8d03e5a6d7e7e49a73592caeb113a0f70 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:04 2015 -0700 Bluetooth: Open management interface for untrusted users Until now the management interface was restricted to CAP_NET_ADMIN. With this change every user can open the management socket. However the list of commands is heavily restricted to getting basic information about the attached controllers. No access for configuration or other operation is provided. The events are also limited. This is done so that no keys can leak or untrusted users can mess with the Bluetooth configuration. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c927a10487477eeed0441e5c88147700e69e5db9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:03 2015 -0700 Bluetooth: Add support for trust verification of management commands Check the required trust level of each management command with the trust level of the management socket. If it does not match up, then return the newly introduced permission denied error. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7aea8616cd26d138b0696ba5605751fb21ee970f Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:02 2015 -0700 Bluetooth: Remove unneeded initializer for management command table The flags field for the management command table will be always initialized to zero and thus no need to do that manually. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c91041dc4efff71f29f1dd4c9a4a5e80b841395c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:01 2015 -0700 Bluetooth: Add support for untrusted access to management commands Some management commands are safe to be accessed from any user without special permissions. First step for allowing access to any of these commands from untrusted application is to mark them accordingly. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c85be545ea23a4fe590c89683242a9be823394e0 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:28:00 2015 -0700 Bluetooth: Add hci_sock_test_flag helper function The management interface will need access to the socket flags and so provide a helper function for checking them. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c08b1a1dba524c1cdef331c1f169db3a1b37bb4c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:59 2015 -0700 Bluetooth: Consolidate socket channel sending function back into one With the introduction of trusted socket flag for control and monitor channels, it is now possible to use a single function for sending packets to these sockets. And with that consolidate the handling. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 50ebc055fa758c731e6e1ce174608327aab07aec Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:58 2015 -0700 Bluetooth: Introduce trusted flag for management control sockets Providing a global trusted flag for management control sockets provides an easy way for identifying sockets and imposing restriction on it. For now all management sockets are trusted since they require CAP_NET_ADMIN. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 96f1474af040a4ec267efe141cbf264891e67e5a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:57 2015 -0700 Bluetooth: Add support for extended index management command The Read Extended Contoller Index List command can be used for retrieving the complete list of local available controllers. This included configured, unconfigured and also AMP controllers. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ced85549c3a769dfb9d084bb8d6d9ca8075f8728 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:56 2015 -0700 Bluetooth: Add support for extended index management events This introduces support for using Extended Index Added and Extended Index Removed events. These events contain the controller type and also the hardware bus information from the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f920733885546af2fd8d4b3dd5f8a1ac029f6248 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:55 2015 -0700 Bluetooth: Use special function to send filter management index events For sending Index Added, Index Removed, Unconfigured Index Added and Unconfigured Index Removed managment events the new helper functions allows taking into account if these events are enabled for a certain management socket or not. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 17711c62915dd62ab83a5a83a64c0d6105d13b6c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:54 2015 -0700 Bluetooth: Provide hci_send_to_flagged_channel helper function The hci_send_to_flagged_channel helper function can be used to send packets to all channels that have a certain HCI socket flag set. This is especially useful for managment events that are limited to sockets that have first enabled certain functionality. This allows for filtering of events without confusing existing users. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6befc6445ffc6868ee6e6d0e012fc149e88d96db Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Mar 14 19:27:53 2015 -0700 Bluetooth: Add flags field and setting function for HCI sockets To filter out certain actions for certain HCI sockets introcuce a flags field that allows to configure specific settings on individual sockets. Since the hci_pinfo structure is private in hci_sock.c, provide helper functions for setting and clearing a given flag. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5a2f78dd51d9d71aa40cb752af88332f45c884b7 Merge: 96026d0 c4db884 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 15 01:35:46 2015 -0400 Merge branch 'rhashtable-next' Herbert Xu says: ==================== rhashtable: Fixes + cleanups + preparation for multiple rehash Patch 1 fixes the walker so that it behaves properly even during a resize. Patch 2-3 are cleanups. Patch 4-6 lays some ground work for the upcoming multiple rehashing. This revision fixes the warning coming from the bucket_table->size downsize and improves its changelog. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4db8848af6af92f90462258603be844baeab44d Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:25 2015 +1100 rhashtable: Move future_tbl into struct bucket_table This patch moves future_tbl to open up the possibility of having multiple rehashes on the same table. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 63d512d0cffcae40505d9448abd509972465e846 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:24 2015 +1100 rhashtable: Add rehash counter to bucket_table This patch adds a rehash counter to bucket_table to indicate the last bucket that has been rehashed. This serves two purposes: 1. Any bucket that has been rehashed can never gain a new object. 2. If the rehash counter reaches the size of the table, the table will forever remain empty. This patch also downsizes bucket_table->size to an unsigned int since we do not support sizes greater than 32 bits yet. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9d901bc05153bbf33b5da2cd6266865e531f0545 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:23 2015 +1100 rhashtable: Free bucket tables asynchronously after rehash There is in fact no need to wait for an RCU grace period in the rehash function, since all insertions are guaranteed to go into the new table through spin locks. This patch uses call_rcu to free the old/rehashed table at our leisure. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5269b53da4d432b0fbf755bd423c807bf6bd4aa0 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:22 2015 +1100 rhashtable: Move seed init into bucket_table_alloc It seems that I have already made every rehash redo the random seed even though my commit message indicated otherwise :) Since we have already taken that step, this patch goes one step further and moves the seed initialisation into bucket_table_alloc. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f2484bdb55daa53ecaddb5fa4c298e3d262b69e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:21 2015 +1100 rhashtable: Use SINGLE_DEPTH_NESTING We only nest one level deep there is no need to roll our own subclasses. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eddee5ba34eb6c9890ef106f19ead2b370e5342f Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Mar 14 13:57:20 2015 +1100 rhashtable: Fix walker behaviour during rehash Previously whenever the walker encountered a resize it simply snaps back to the beginning and starts again. However, this only works if the rehash started and completed while the walker was idle. If the walker attempts to restart while the rehash is still ongoing, we may miss objects that we shouldn't have. This patch fixes this by making the walker walk the old table followed by the new table just like all other readers. If a rehash is detected we will still signal our caller of the fact so they can prepare for duplicates but we will simply continue the walk onto the new table after the old one is finished either by us or by the rehasher. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a94b5ea291592b1e758f3bcb164ae649504238bc Merge: 9df5126 4a07317 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Mar 15 01:53:37 2015 +0000 Merge branch 'irqchip/vybrid' into irqchip/core commit 9df5126b69294788f5ca3dc7aeafc80a42c6d4a7 Merge: 6e3aca4 28da06d Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Mar 15 01:46:04 2015 +0000 Merge branch 'irqchip/mvebu' into irqchip/core commit 6e3aca4419e1363ff9abb3e1710c52858fc45b66 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Mar 11 23:21:31 2015 -0700 irqchip: gic: Don't complain in gic_get_cpumask() if UP system In a uniprocessor implementation the interrupt processor targets registers are read-as-zero/write-ignored (RAZ/WI). Unfortunately gic_get_cpumask() will print a critical message saying GIC CPU mask not found - kernel will fail to boot. if these registers all read as zero, but there won't actually be a problem on uniprocessor systems and the kernel will boot just fine. Skip this check if we're running a UP kernel or if we detect that the hardware only supports a single processor. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1426141291-21641-1-git-send-email-sboyd@xxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 008e4d6735091bfe5be12918cb66c55e178361bf Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:45:37 2015 +0000 ARM: zynq: switch from gic_arch_extn to gic_set_irqchip_flags Instead of directly touching gic_arch_extn, which is about to be removed, use gic_set_irqchip_flags instead. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088737-15817-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 233242040f1607a6a5cf7f87d9e07473282620b9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:45:36 2015 +0000 ARM: ux500: switch from gic_arch_extn to gic_set_irqchip_flags Instead of directly touching gic_arch_extn, which is about to be removed, use gic_set_irqchip_flags instead. Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088737-15817-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit d04594c2f5ce2331d3db3430649634ca61f51937 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:45:35 2015 +0000 ARM: shmobile: remove use of gic_arch_extn.irq_set_wake shmobile only uses gic_arch_extn.irq_set_wake to prevent the GIC from returning -ENXIO when receiving a wake-up configuration request. It is a lot simpler to tell the irq layer that we don't need any configuration by using the IRQCHIP_SKIP_SET_WAKE, thanks to the new gic_set_irqchip_flags function. Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088737-15817-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 49869be2d9d0e9195706da7050c81bc909f41f4f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:45:34 2015 +0000 irqchip: gic: Add an entry point to set up irqchip flags A common use of gic_arch_extn is to set up additional flags to the GIC irqchip. It looks like a benign enough hack that doesn't really require the users of that feature to be converted to stacked domains. Add a gic_set_irqchip_flags() function that platform code can call instead of using the dreaded gic_arch_extn. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088737-15817-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 7136d457f365ecc93ddffcdd42ab49a8473f260b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:49 2015 +0000 ARM: omap: convert wakeupgen to stacked domains OMAP4/5 has been (ab)using the gic_arch_extn to provide wakeup from suspend, and it makes a lot of sense to convert this code to use stacked domains instead. This patch does just this, updating the DT files to actually reflect what the HW provides. BIG FAT WARNING: because the DTs were so far lying by not exposing the WUGEN HW block, kernels with this patch applied won't have any suspend-resume facility when booted with old DTs, and old kernels with updated DTs won't even boot. On a platform with this patch applied, the system looks like this: root@bacon-fat:~# cat /proc/interrupts CPU0 CPU1 16: 0 0 WUGEN 37 gp_timer 19: 233799 155916 GIC 27 arch_timer 23: 0 0 WUGEN 9 l3-dbg-irq 24: 1 0 WUGEN 10 l3-app-irq 27: 282 0 WUGEN 13 omap-dma-engine 44: 0 0 4ae10000.gpio 13 DMA 294: 0 0 WUGEN 20 gpmc 297: 506 0 WUGEN 56 48070000.i2c 298: 0 0 WUGEN 57 48072000.i2c 299: 0 0 WUGEN 61 48060000.i2c 300: 0 0 WUGEN 62 4807a000.i2c 301: 8 0 WUGEN 60 4807c000.i2c 308: 2439 0 WUGEN 74 OMAP UART2 312: 362 0 WUGEN 83 mmc2 313: 502 0 WUGEN 86 mmc0 314: 13 0 WUGEN 94 mmc1 350: 0 0 PRCM pinctrl, pinctrl 406: 35155709 0 GIC 109 ehci_hcd:usb1 407: 0 0 WUGEN 7 palmas 409: 0 0 WUGEN 119 twl6040 410: 0 0 twl6040 5 twl6040_irq_ready 411: 0 0 twl6040 0 twl6040_irq_th IPI0: 0 1 CPU wakeup interrupts IPI1: 0 0 Timer broadcast interrupts IPI2: 95334 902334 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 479 648 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 0 0 IRQ work interrupts IPI7: 0 0 completion interrupts Err: 0 Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-8-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 918d98db8c97c01e538e6438e18a69cbceeb5ec6 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:48 2015 +0000 DT: omap4/5: add binding for the wake-up generator Add a binding for the OMAP4/5 wake-up generator, which acts as an interrupt controller feeding into the GIC. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-7-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 994dd8a3283cd332801ccbe099b2517e8b7055d0 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:47 2015 +0000 DT: arm,gic: kill arm,routable-irqs Nobody will regret it. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-6-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a5561c3e845cae41ae40c15689a7f26e90b000c8 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:46 2015 +0000 irqchip: gic: Get rid of routable domain The only user of the so called "routable domain" functionality now being fixed, let's clean up the GIC. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1e7449ba67506b84f23dbd4a0667c09184df1368 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:45 2015 +0000 DT: update ti,irq-crossbar binding Make it look like a real interrupt controller. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 783d31863fb826f1a3754a2d5959a022a1b12d54 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:44 2015 +0000 irqchip: crossbar: Convert dra7 crossbar to stacked domains Support for the TI crossbar used on the DRA7 family of chips is implemented as an ugly hack on the side of the GIC. Converting it to stacked domains makes it slightly more palatable, as it results in a cleanup. Unfortunately, as the DT bindings failed to acknowledge the fact that this is actually yet another interrupt controller (the third, actually), we have yet another breakage. Oh well. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 08b55e2a9208e4841a17c9d9c2c454986392977d Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:43 2015 +0000 genirq: Add irqchip_set_wake_parent This proves to be useful with stacked domains, when the current domain doesn't implement wake-up, but expect the parent to do so. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088629-15377-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1a703bffd82e04d1c00a0b4373bf4db1e2d25681 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:03 2015 +0000 ARM: tegra: remove old LIC support Now that all DTs have been updated, entierely drop support for the non-DT code. This is likely to break platforms that do not update their DT, so print a warning at boot time. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-7-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f6f53169ead6c9604b4358ccc7e0568d7bba2941 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:02 2015 +0000 DT: tegra: add binding for the legacy interrupt controller Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-6-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 870c81a41f7074a99599be7f10ce5aab43c9f0c4 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:01 2015 +0000 ARM: tegra: update DTs to expose legacy interrupt controller Describe the legacy interrupt controller in every tegra DTSI files, and make it the parent of most interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e9479e0e832b7e59bffcebfae9953759b2c195c4 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:43:00 2015 +0000 ARM: tegra: skip gic_arch_extn setup if DT has a LIC node If we detect that our DT has a LIC node, don't setup gic_arch_extn, and skip tegra_legacy_irq_syscore_init as well. This is only a temporary measure until that code is removed for good. Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit de3ce0804916a9b4f3b58e4e78727d5483c4df04 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:42:59 2015 +0000 irqchip: tegra: Add DT-based support for legacy interrupt controller Tegra's LIC (Legacy Interrupt Controller) has been so far only supported as a weird extension of the GIC, which is not exactly pretty. The stacked IRQ domain framework fits this pretty well, and allows the LIC code to be turned into a standalone irqchip. In the process, make the driver DT aware, something that was sorely missing from the mach-tegra implementation. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b3aa14c39944c6ea2ce20278afe87241413b0477 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Mar 11 15:42:58 2015 +0000 ARM: tegra: irq: nuke leftovers from non-DT support The GIC is now always initialized from DT on tegra, and there is no point in keeping non-DT init code. Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1426088583-15097-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 96026d057a1fb7da1e314a24e3a1c528321ed45e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Sat Mar 14 13:21:59 2015 -0700 net: dsa: do not use slave MII bus for fixed PHYs Commit cd28a1a9baee7 ("net: dsa: fully divert PHY reads/writes if requested") introduced a check for particular PHYs that need to be accessed using the slave MII bus created by DSA, but this check was too inclusive. This would prevent fixed PHYs from being successfully registered because those should not go through the slave MII bus created by DSA. Make sure we check that the PHY is not a fixed PHY to prevent that from happening. Fixes: cd28a1a9baee7 ("net: dsa: fully divert PHY reads/writes if requested") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 316ad4beecd6c9da181e3e8bd0718af22a215fc5 Merge: 6922022a 0d8bb41 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 14 15:08:02 2015 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-13 This series contains updates to ixgbe and ixgbevf. Don adds additional support for X550 MAC types, which require additional steps around enabling and disabling Rx. Also cleans up variable type inconsistency. I provide a patch to allow relaxed ordering to be enabled on SPARC architectures. Also cleans up ixgbevf whitespace and code comments to align the driver with networking coding standard. Lastly cleaned up uses of memcpy() where ether_addr_copy() could have been used. Alex removes some dead code in the ixgbe cleanup patch. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a63ca11b42b4fc9ece395f611679d0d3985cd4d Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Mar 6 18:14:42 2015 -0700 MAINTAINERS: Add missing Toshiba devices and add myself as maintainer Add the missing toshiba_bluetooth and toshiba_haps entries and add myself as their maintainer. Also add the Maintainers entry for toshiba_acpi driver and change its status to maintained. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit bab09e23ac9fd50c381668388cdf02b52af59d07 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Mar 6 18:14:41 2015 -0700 toshiba_acpi: Update events in toshiba_acpi_notify This patch adds a few more events sent to TOSXXXX devices, some of them are already identified, while some others simply print a message informing the type of event received. Also, a netlink event is generated so that userspace apps, daemons, etc. act accordingly to these events. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit cc55c8997d130b5ecb448a8fee12359372df9c51 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Fri Mar 6 22:50:30 2015 +0100 intel-oaktrail: Fix trivial typo in comment Change 'disalbe' to 'disable' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 6922022af529829645908bb6d11233c6579a2c49 Merge: a379520 a445834 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 14 15:05:15 2015 -0400 Merge branch 'listener_refactor_part_9' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 9 This preliminary work pushes socket convergence a bit more: 1) request sock ir_iif is universally set 2) inet_diag can use common helpers to reduce LOC ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4458343ac5986d010290915df6ab884afacbdb7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Mar 13 15:51:12 2015 -0700 inet_diag: factorize code in new inet_diag_msg_common_fill() helper Now the three type of sockets share a common base, we can factorize code in inet_diag_msg_common_fill(). inet_diag_entry no longer requires saddr_storage & daddr_storage and the extra copies. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a07c92078d5cf32dcc7c3d673066f031d02dc454 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Mar 13 15:51:11 2015 -0700 inet_diag: adjust inet_sk_diag_fill() bug condition inet_sk_diag_fill() only copes with non timewait and non request socks Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16f86165bd0a94a96ab99629828cc9057db50221 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Mar 13 15:51:10 2015 -0700 inet: fill request sock ir_iif for IPv4 Once request socks will be in ehash table, they will need to have a valid ir_iff field. This is currently true only for IPv6. This patch extends support for IPv4 as well. This means inet_diag_fill_req() can now properly use ir_iif, which is better for IPv6 link locals anyway, as request sockets and established sockets will propagate consistent netlink idiag_if. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 741d98c733b6605fc621c5c8740c7120ae1c0006 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 11 12:36:07 2015 +0300 thinkpad_acpi: off by one in adaptive_keyboard_hotkey_notify_hotkey() This should be >= instead of > because otherwise we read one element past the end of the hotkey_keycode_map[] array. The hotkey_keycode_map[] array has TPACPI_HOTKEY_MAP_LEN elements. Fixes: 6a68d8557084 ('thinkpad_acpi: Add support for more adaptive kbd buttons') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-By: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit abf9dc0d9ae813d425675656f1af16f58c60e443 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 11 12:34:50 2015 +0300 thinkpad_acpi: signedness bugs getting current_mode This needs to be signed for the error handling to work. Valid modes are small positive integers. Fixes: b790ceeb0fd9 ('thinkpad_acpi: Add adaptive_kbd_mode sysfs attr') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-By: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 40dbbfb5e49c9317a24111bb71151090e8ea95e8 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Thu Mar 12 21:26:00 2015 +0300 iio : Add ABI documentation for thresh falling/rising value in accel This patch adds ABI documentation entries for in_accel_thresh_falling_value, and in_accel_thresh_rising_value in /events. There is at least one user for these, lis3l02dq in accel. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7d963215f6bedd268fa26aadd4ca4270e1076566 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Tue Mar 3 18:17:58 2015 +0200 iio: bmc150: introduce bmc150_accel_trigger Add a separate structure for triggers and add the infrastructure to support an arbitrary number of triggers. Each trigger is associated with an interrupt and has an enabled/disabled state. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3e825ec98d36c8c8073024c95853389a831902e5 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Tue Mar 3 18:17:57 2015 +0200 iio: bmc150: introduce bmc150_accel_interrupt Since both triggers and events can share an interrupt, add a data structure that tracks the users of an interrupt so that it enables or disables it only for the first users and respectively last user. This will allows us to easily add more events or triggers. The patch also adds an interrupt enabled counter, so that we can easily know if we need to put the device in normal mode when the resume callback is issued. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c1b03ab5e886760bdd38c9c7a27af149046ffe01 Author: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Date: Thu Feb 19 15:17:44 2015 +0100 iio: core: Fix double free. When an error occurred during event registration memory was freed twice resulting in kernel memory corruption and a crash in unrelated code. The problem was caused by iio_device_unregister_eventset() iio_device_unregister_sysfs() being called twice, once on the error path and then again via iio_dev_release(). Fix this by making these two functions idempotent so they may be called multiple times. The problem was observed before applying 78b33216 iio:core: Handle error when mask type is not separate Signed-off-by: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a3795208b9a9801a66b305395e9ebaae850eee03 Merge: 5f1764d e3eea1e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 14 14:38:41 2015 -0400 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: some optimizations and impovements The commits in this series contain some relatively simple changes that lead to better throughput across TIPC connections. We also make changes to the implementation of link transmission queueing and priority handling, in order to make the code more comprehensible and maintainable. v2: Commit #2: Redesigned tipc_msg_validate() to use pskb_may_pull(), as per feedback from David Miller. Commit #3: Some cosmetic changes to tipc_msg_extract(). I tried to replace the unconditional skb_linearize() with calls to pskb_may_pull() at selected locations, but I gave up. First, skb_trim() requires a fully linearized buffer. Second, it doesn't make much sense; the whole buffer will end up linearized, one way or another. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3eea1eb47ac616ee09cf0ae5d1e7790ef8461ea Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:11 2015 -0400 tipc: clean up handling of message priorities Messages transferred by TIPC are assigned an "importance priority", -an integer value indicating how to treat the message when there is link or destination socket congestion. There is no separate header field for this value. Instead, the message user values have been chosen in ascending order according to perceived importance, so that the message user field can be used for this. This is not a good solution. First, we have many more users than the needed priority levels, so we end up with treating more priority levels than necessary. Second, the user field cannot always accurately reflect the priority of the message. E.g., a message fragment packet should really have the priority of the enveloped user data message, and not the priority of the MSG_FRAGMENTER user. Until now, we have been working around this problem in different ways, but it is now time to implement a consistent way of handling such priorities, although still within the constraint that we cannot allocate any more bits in the regular data message header for this. In this commit, we define a new priority level, TIPC_SYSTEM_IMPORTANCE, that will be the only one used apart from the four (lower) user data levels. All non-data messages map down to this priority. Furthermore, we take some free bits from the MSG_FRAGMENTER header and allocate them to store the priority of the enveloped message. We then adjust the functions msg_importance()/msg_set_importance() so that they read/set the correct header fields depending on user type. This small protocol change is fully compatible, because the code at the receiving end of a link currently reads the importance level only from user data messages, where there is no change. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05dcc5aa4dcced4f59f925625cea669e82b75519 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:10 2015 -0400 tipc: split link outqueue struct tipc_link contains one single queue for outgoing packets, where both transmitted and waiting packets are queued. This infrastructure is hard to maintain, because we need to keep a number of fields to keep track of which packets are sent or unsent, and the number of packets in each category. A lot of code becomes simpler if we split this queue into a transmission queue, where sent/unacknowledged packets are kept, and a backlog queue, where we keep the not yet sent packets. In this commit we do this separation. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2cdf3918e47e98c8f34f7a64455ea9fd433756e7 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:09 2015 -0400 tipc: eliminate unnecessary call to broadcast ack function The unicast packet header contains a broadcast acknowledge sequence number, that may need to be conveyed to the broadcast link for proper treatment. Currently, the function tipc_rcv(), which is on the most critical data path, calls the function tipc_bclink_acknowledge() to have this done. This call is made for each received packet, and results in the unconditional grabbing of the broadcast link spinlock. This is unnecessary, since we can see directly from tipc_rcv() if the acknowledged number differs from what has been previously acked from the node in question. In the vast majority of cases the numbers won't differ, and there is nothing to update. We now make the call to tipc_bclink_acknowledge() conditional to that the two ack values differ. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1336ee472f83a90ede01fdae095ed5d0a2934c9 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:08 2015 -0400 tipc: extract bundled buffers by cloning instead of copying When we currently extract a bundled buffer from a message bundle in the function tipc_msg_extract(), we allocate a new buffer and explicitly copy the linear data area. This is unnecessary, since we can just clone the buffer and do skb_pull() on the clone to move the data pointer to the correct position. This is what we do in this commit. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1149557d64c97dc9adf3103347a1c0e8c06d3b89 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:07 2015 -0400 tipc: eliminate unnecessary linearization of incoming buffers Currently, TIPC linearizes all incoming buffers directly at reception before passing them upwards in the stack. This is clearly a waste of CPU resources, and must be avoided. In this commit, we eliminate this unnecessary linearization. We still ensure that at least the message header is linear, and that the buffer is linearized where this is still needed, i.e. when unbundling and when reversing messages. In addition, we ensure that fragmented messages are validated after reassembly before delivering them upwards in the stack. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf2157f88a5abf1a64b8c51a737a35e918dc67e5 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:06 2015 -0400 tipc: move message validation function to msg.c The function link_buf_validate() is in reality re-entrant and context independent, and will in later commits be called from several locations. Therefore, we move it to msg.c, make it outline and rename the it to tipc_msg_validate(). We also redesign the function to make proper use of pskb_may_pull() Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7764d6e83d2c3b50d9282f12144ebb10418c056e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Mar 13 16:08:05 2015 -0400 tipc: add framework for node capabilities exchange The TIPC protocol spec has defined a 13 bit capability bitmap in the neighbor discovery header, as a means to maintain compatibility between different code and protocol generations. Until now this field has been unused. We now introduce the basic framework for exchanging capabilities between nodes at first contact. After exchange, a peer node's capabilities are stored as a 16 bit bitmap in struct tipc_node. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af5e1a68318e2ed2de22fc2d7a02f2882abe073c Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Mon Feb 23 16:40:51 2015 +0200 iio:inv-mpu6050: Fix inconsistency for the scale channel Fix inconsistency in the semantics of the scale attribute. For scale the write_raw function was considering the scale table index and writing the appropriate value into the range register, while for read_raw it was outputting the actual scale. Fix this behaviour and adhere to the iio ABI specification. Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Reviewed-by: Viorel Suman <viorel.suman@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ed170dedd1ddd316c5cd17fec3dd7937981e2fb7 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Mon Mar 9 12:15:53 2015 +0200 staging: iio: dummy: Fix undefined symbol build error CONFIG_SIMPLE_DUMMY_BUFFER compiles in iio_simple_dummy_buffer.c file which uses functions from industrialio-trigger.c. So, CONFIG_SIMPLE_DUMMY_BUFFER needs to select IIO_TRIGGER in order to avoid build error like this: > ERROR: "iio_trigger_notify_done" [drivers/staging/iio/iio_dummy.ko] undefined! > ERROR: "iio_triggered_buffer_postenable" [drivers/staging/iio/iio_dummy.ko] undefined! > ERROR: "iio_triggered_buffer_predisable" [drivers/staging/iio/iio_dummy.ko] undefined! > ERROR: "iio_alloc_pollfunc" [drivers/staging/iio/iio_dummy.ko] undefined! > ERROR: "iio_dealloc_pollfunc" [drivers/staging/iio/iio_dummy.ko] undefined! Cc: Arnd Bergmann <arnd@xxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4dac0a8eefd55bb1f157d1a5a084531334a2d74c Author: Viorel Suman <viorel.suman@xxxxxxxxx> Date: Wed Feb 18 20:05:21 2015 +0200 iio: inv_mpu6050: Clear timestamps fifo while resetting hardware fifo A hardware fifo reset always imply an invalidation of the existing timestamps, so we'll clear timestamps fifo on successfull hardware fifo reset. Signed-off-by: Viorel Suman <viorel.suman@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8d09f48adfd282157f6afc94d2502b44156cb12f Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Sat Feb 28 21:54:42 2015 +0100 staging: iio: hmc5843: Set iio name property in sysfs Without this change file name for hmc5843 is empty in /sys/bus/iio/devices/iio\:device*/name With this change name is reported correctly: cat /sys/bus/iio/devices/iio\:device*/name hmc5843 Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0ba8da961bd868c67a8dae3dbbee145514515e9c Author: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@xxxxxxxxx> Date: Tue Mar 3 18:17:56 2015 +0200 iio: bmc150: change sampling frequency Currently driver reports device bandwidth list as available sampling frequency. But sampling frequency is actually twice the device bandwidth. This patch fixes this issue. Signed-off-by: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@xxxxxxxxx> Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5f1764ddfeb038decfe2b2fda030d0bed43fa36a Merge: 2801be4 b6d595e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 14 14:29:45 2015 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== Here's another set of Bluetooth & ieee802154 patches intended for 4.1: - Added support for QCA ROME chipset family in the btusb driver - at86rf230 driver fixes & cleanups - ieee802154 cleanups - Refactoring of Bluetooth mgmt API to allow new users - New setting for static Bluetooth address exposed to user space - Refactoring of hci_dev flags to remove limit of 32 - Remove unnecessary fast-connectable setting usage restrictions - Fix behavior to be consistent when trying to pair already paired device - Service discovery corner-case fixes Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fad034c636cb57686f778d1c80513acbdaf8ec5 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Thu Mar 12 18:52:50 2015 +0300 iio: Add ABI documentation for proximity scan_elements This patch adds ABI documentation entries for in_proximity_en, in_proximity_type, and in_proximity_index in the scan_elements directory. At least one user for these is present, the AS3935 Franklin lightning sensor. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d5d7c4af759be386d45e21f6758fb516d0c1c165 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Fri Mar 13 21:06:58 2015 +0530 iio: Add ABI documentation for in_magn offset value This patch adds ABI documentation entries for in_magn_offset. There is one user, hid-sensor-magn-3d in drivers/iio/magnetometer. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b6d595e3f74fe0dd9edc0d5bf30cd6e6fe29f023 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:35 2015 +0100 ieee802154: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 51b3b2cfc64dbfa91d08077abf0791e36c44f916 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 9 13:56:12 2015 +0100 at86rf230: fix volatile regmap registers These registers are also changed by transceiver and should be volatile for right accessing via regmap debugfs. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dce481e63dc18ece7c86c607aa17b7c753fce0b7 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 9 13:56:11 2015 +0100 at86rf230: add support for calibration timeout This patch adds a handling for calibration if we are 5 minutes in PLL state. I first tried to implement the calibration functionality in TX_ON state via register values CF_START and DCU_START, but this occurs a one second delay at each calibration time. An another solution to start a calibration is to switch from TRX_OFF state into TX_ON, then a calibration is done automatically by transceiver. This method will be used in this patch, after each transmit of a frame we check with jiffies if the PLL is set 5 minutes without doing a TRX_OFF->(TX_ON || RX_AACK_ON) or channel switch. The worst case would be a transceiver in receiving mode only, but this is under normal operation very unlikely. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Phoebe Buckheister <phoebe.buckheister@xxxxxxxxxxxxxxxxxx> Cc: Werner Almesberger <werner@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit eb3b435ecdb84d05698db862ce316b3c682f9a95 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 9 13:56:10 2015 +0100 at86rf230: replace state change sleeps with hrtimer This patch replace the state change timing relevant sleeps with hrtimers. Currently the sleeps are done in the complete handler of spi_async. The relation of doing the state change timing sleep with a timer will get the sleep functionality out of spi_async complete handler context. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e3721749000e11ba3f315efc5c98bf4cd5662f99 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sat Mar 7 22:07:07 2015 +0100 at86rf230: init xtal_trim with zero This patch initialize xtal_trim value to zero. The xtal_trim property is an optional device tree value. Currently if no xtal_trim property is given the xtal_trim value can be contain random data, because it's a stack variable. This patch init the xtal_trim value to zero which is also the default value after reset for at86rf230 transceivers. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3f3c4bb5ec7c645d1151e1e8d6e56c71a050cf85 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Mar 4 21:19:59 2015 +0100 mac802154: correct max sifs size handling This patch fix the max sifs size correction when the IEEE802154_HW_TX_OMIT_CKSUM flag is set. With this flag the sk_buff doesn't contain the CRC, because the transceiver will add the CRC while transmit. Also add some defines for the max sifs frame size value and frame check sequence according to 802.15.4 standard. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 022d07e3d89157bf787e462bbce7b9ed47c3b563 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 2 15:10:05 2015 +0100 ieee802154: remove deprecated sysfs entries It's only necessary to offer the name and index, others value are available over netlink. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c4dd7471de03f0e4278265e08af2923243496db0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 2 15:10:04 2015 +0100 ieee802154: change wpan-phy name to phy Currently the wpan_phy under /sys/class/ieee802154/ is named as "wpan-phy#", this patch will change the name to phy. This will introduce the same naming convention like wireless. Note: wpan-tools users will not type "wpan-phy#" anymore, just a simple "phy#" is enough. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 965e613d299cdcc9393765f68b92591f20ed0dcc Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Mar 2 15:10:03 2015 +0100 ieee802154: 6lowpan: fix ARPHRD to ARPHRD_6LOWPAN Currently there exists two interface types with ARPHRD_IEEE802154. These are the 802.15.4 interfaces and 802.15.4 6LoWPAN interfaces. This is more a bug because some userspace applications checks on this value like wireshark. This occurs that wireshark will always try to parse a lowpan interface as 802.15.4 frames. With ARPHRD_6LOWPAN wireshark will parse it as IPv6 frames which is correct. Much applications checks on this value to readout the EUI64 mac address which should be the same for ARPHRD_6LOWPAN. BTLE 6LoWPAN and ieee802154 6LoWPAN will share now the same ARPHRD. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1a74847885cc87857d631f91cca4d83924f75674 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Mar 13 17:02:55 2015 +0000 arm/arm64: KVM: Fix migration race in the arch timer When a VCPU is no longer running, we currently check to see if it has a timer scheduled in the future, and if it does, we schedule a host hrtimer to notify is in case the timer expires while the VCPU is still not running. When the hrtimer fires, we mask the guest's timer and inject the timer IRQ (still relying on the guest unmasking the time when it receives the IRQ). This is all good and fine, but when migration a VM (checkpoint/restore) this introduces a race. It is unlikely, but possible, for the following sequence of events to happen: 1. Userspace stops the VM 2. Hrtimer for VCPU is scheduled 3. Userspace checkpoints the VGIC state (no pending timer interrupts) 4. The hrtimer fires, schedules work in a workqueue 5. Workqueue function runs, masks the timer and injects timer interrupt 6. Userspace checkpoints the timer state (timer masked) At restore time, you end up with a masked timer without any timer interrupts and your guest halts never receiving timer interrupts. Fix this by only kicking the VCPU in the workqueue function, and sample the expired state of the timer when entering the guest again and inject the interrupt and mask the timer only then. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 47a98b15ba7cf6a13bd94ab8455d3f586b16420b Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Mar 13 17:02:54 2015 +0000 arm/arm64: KVM: support for un-queuing active IRQs Migrating active interrupts causes the active state to be lost completely. This implements some additional bitmaps to track the active state on the distributor and export this to user space. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 71760950bf3dc796e5e53ea3300dec724a09f593 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Fri Mar 13 17:02:53 2015 +0000 arm/arm64: KVM: add a common vgic_queue_irq_to_lr fn This helps re-factor away some of the repetitive code and makes the code flow more nicely. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit ecccf0cc722f40e0dcc97872e7a960765119a256 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Fri Mar 13 17:02:52 2015 +0000 arm/arm64: KVM: export VCPU power state via MP_STATE ioctl To cleanly restore an SMP VM we need to ensure that the current pause state of each vcpu is correctly recorded. Things could get confused if the CPU starts running after migration restore completes when it was paused before it state was captured. We use the existing KVM_GET/SET_MP_STATE ioctl to do this. The arm/arm64 interface is a lot simpler as the only valid states are KVM_MP_STATE_RUNNABLE and KVM_MP_STATE_STOPPED. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 9ed1d862d7244b104c1519b329ec307b46bcf2a3 Merge: 58b59e0 bf07038 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sat Mar 14 12:08:53 2015 +0100 Merge branch 'i2c/quirks' into i2c/for-4.1 Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit bf07038051ddd6c1e017cd50933e314040a69b11 Author: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 15:25:33 2015 +0100 i2c: opal: Update quirk flags to do write-then-anything Hardware can do write-then-anything. Activate that. Signed-off-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> [wsa: cosmetic updates] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 13f0c2b0f67d6f04b21cedce726284b67457bd2f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 10 21:44:35 2015 +0100 udf: remove redundant buffer_head.h includes buffer_head.h was already included in udfdecl.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 6fbaad879ae7ba75196b55bab216b9b4d0a541b3 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 10 21:44:33 2015 +0100 udf: remove else after return in __load_block_bitmap() else after return is not needed. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit f4a45c99ae38d53ebb7f26ba3a05c7edab797ce7 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 10 21:44:31 2015 +0100 udf: remove unused variable in udf_table_free_blocks() Fix set but not used warning. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 0d8bb414cf51aa4fd847741233057da50f72a7a3 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Sat Feb 14 04:53:03 2015 +0000 ixgbevf: Use ether_addr_copy() instead of memcpy() Use the macro to copy the Ethernet address instead of memcpy(). Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> commit dec0d8e462322aec38990856aafb0cfbf686f4ff Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Tue Feb 10 11:42:33 2015 +0000 ixgbevf: Fix code comments and whitespace Fix the code comments to align with drivers/net/ code commenting style, as well as whitespace issues. The whitespace issues resolve checkpatch errors, like lines exceeding 80 chars (except for strings) and the use of tabs where possible. CC: <kernel-team@xxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> commit 856f606ea9756d1222bbd137641024e29d9d6b43 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Feb 25 17:45:54 2015 +0000 ixgbe: Remove IXGBE_FLAG_IN_NETPOLL since it doesn't do anything This patch removes some dead code from the cleanup path for ixgbe. Setting and clearing the flag doesn't do anything since all we are doing is setting the flag, scheduling NAPI, clearing the flag and then letting netpoll do the polling cleanup. As such it doesn't make much sense to have it there. This patch also removes one minor white-space error. CC: <kernel-team@xxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 887012e80aeaf36968456e8085abf41aee907707 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Mar 13 14:04:35 2015 -0700 ixgbe: enable relaxed ordering for SPARC This patch makes sure that relaxed ordering is not disabled when on SPARC, where it helps with performance. CC: <kernel-team@xxxxxx> CC: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Reported-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> commit d3a6097b25e09751cba787b33eba26ab4df86215 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:20 2015 +0100 arm: mach-pxa: Decrement the power supply's device reference counter Use power_supply_put() to decrement the power supply's device reference counter. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6ff9d25baf0101bbae2c443e26d60233ea8f2680 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:19 2015 +0100 mfd: ab8500: Decrement the power supply's device reference counter Use power_supply_put() to decrement the power supply's device reference counter. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1a8dbe6f923864fa01d5ffa43745804474d5f43d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:18 2015 +0100 power_supply: bq2415x_charger: Decrement the power supply's device reference counter Use power_supply_put() to decrement the power supply's device reference counter (increased by power_supply_get_by_name() or power_supply_get_by_phandle()). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 52016ac072dac298fcd8764ccce46a1a7be18728 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:17 2015 +0100 power_supply: 88pm860x_charger: Decrement the power supply's device reference counter Use power_supply_put() to decrement the power supply's device reference counter. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 67273a1b421a12ef77bcf08b027d165f399054ae Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:16 2015 +0100 x86/olpc/xo15/sci: Use newly added power_supply_put API Replace direct usage of put_device() with new API: power_supply_put(). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ed6dad52298152a5c493223234e431f206c5a46b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:15 2015 +0100 x86/olpc/xo1/sci: Use newly added power_supply_put API Replace direct usage of put_device() with new API: power_supply_put(). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b43eb35abfdeb4a999f8214ae25f2556227eb030 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:14 2015 +0100 power_supply: charger-manager: Decrement the power supply's device reference counter Use power_supply_put() to decrement the power supply's device reference counter. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 03e81acce5568c7105dc5bef6984c8b0edfe8d45 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:13 2015 +0100 power_supply: Increment power supply use counter when obtaining references Increment the power_supply.use_cnt usage counter on: - power_supply_get_by_phandle() - power_supply_get_by_name() and decrement it on power_supply_put() call. This helps tracking of valid usage of power supply instance by consumers. The usage counter itself also allows safe calling of power_supply_get_property-like functions even when driver unregisters this power supply. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1a352462b5377ac68f5955d674b3460c7bac52a3 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:12 2015 +0100 power_supply: Add power_supply_put for decrementing device reference counter The power_supply_get_by_phandle() and power_supply_get_by_name() use function class_find_device() for obtaining the reference to power supply. Each use of class_find_device() increases the power supply's device reference counter. However the reference counter was not decreased by users of this API. Thus final device_unregister() call from power_supply_unregister() could not release the device and clean up its resources. This lead to memory leak if at least once power_supply_get_by_*() was called between registering and unregistering the power supply. Add and document new API power_supply_put() for decrementing the reference counter. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 297d716f6260cc9421d971b124ca196b957ee458 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:11 2015 +0100 power_supply: Change ownership from driver to core Change the ownership of power_supply structure from each driver implementing the class to the power supply core. The patch changes power_supply_register() function thus all drivers implementing power supply class are adjusted. Each driver provides the implementation of power supply. However it should not be the owner of power supply class instance because it is exposed by core to other subsystems with power_supply_get_by_name(). These other subsystems have no knowledge when the driver will unregister the power supply. This leads to several issues when driver is unbound - mostly because user of power supply accesses freed memory. Instead let the core own the instance of struct 'power_supply'. Other users of this power supply will still access valid memory because it will be freed when device reference count reaches 0. Currently this means "it will leak" but power_supply_put() call in next patches will solve it. This solves invalid memory references in following race condition scenario: Thread 1: charger manager Thread 2: power supply driver, used by charger manager THREAD 1 (charger manager) THREAD 2 (power supply driver) ========================== ============================== psy = power_supply_get_by_name() Driver unbind, .remove power_supply_unregister() Device fully removed psy->get_property() The 'get_property' call is executed in invalid context because the driver was unbound and struct 'power_supply' memory was freed. This could be observed easily with charger manager driver (here compiled with max17040 fuel gauge): $ cat /sys/devices/virtual/power_supply/cm-battery/capacity & $ echo "1-0036" > /sys/bus/i2c/drivers/max17040/unbind [ 55.725123] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 55.732584] pgd = d98d4000 [ 55.734060] [00000000] *pgd=5afa2831, *pte=00000000, *ppte=00000000 [ 55.740318] Internal error: Oops: 80000007 [#1] PREEMPT SMP ARM [ 55.746210] Modules linked in: [ 55.749259] CPU: 1 PID: 2936 Comm: cat Tainted: G W 3.19.0-rc1-next-20141226-00048-gf79f475f3c44-dirty #1496 [ 55.760190] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 55.766270] task: d9b76f00 ti: daf54000 task.ti: daf54000 [ 55.771647] PC is at 0x0 [ 55.774182] LR is at charger_get_property+0x2f4/0x36c [ 55.779201] pc : [<00000000>] lr : [<c034b0b4>] psr: 60000013 [ 55.779201] sp : daf55e90 ip : 00000003 fp : 00000000 [ 55.790657] r10: 00000000 r9 : c06e2878 r8 : d9b26c68 [ 55.795865] r7 : dad81610 r6 : daec7410 r5 : daf55ebc r4 : 00000000 [ 55.802367] r3 : 00000000 r2 : daf55ebc r1 : 0000002a r0 : d9b26c68 [ 55.808879] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user [ 55.815994] Control: 10c5387d Table: 598d406a DAC: 00000015 [ 55.821723] Process cat (pid: 2936, stack limit = 0xdaf54210) [ 55.827451] Stack: (0xdaf55e90 to 0xdaf56000) [ 55.831795] 5e80: 60000013 c01459c4 0000002a c06f8ef8 [ 55.839956] 5ea0: db651000 c06f8ef8 daebac00 c04cb668 daebac08 c0346864 00000000 c01459c4 [ 55.848115] 5ec0: d99eaa80 c06f8ef8 00000fff 00001000 db651000 c027f25c c027f240 d99eaa80 [ 55.856274] 5ee0: d9a06c00 c0146218 daf55f18 00001000 d99eaa80 db4c18c0 00000001 00000001 [ 55.864468] 5f00: daf55f80 c0144c78 c0144c54 c0107f90 00015000 d99eaab0 00000000 00000000 [ 55.872603] 5f20: 000051c7 00000000 db4c18c0 c04a9370 00015000 00001000 daf55f80 00001000 [ 55.880763] 5f40: daf54000 00015000 00000000 c00e53dc db4c18c0 c00e548c 0000000d 00008124 [ 55.888937] 5f60: 00000001 00000000 00000000 db4c18c0 db4c18c0 00001000 00015000 c00e5550 [ 55.897099] 5f80: 00000000 00000000 00001000 00001000 00015000 00000003 00000003 c000f364 [ 55.905239] 5fa0: 00000000 c000f1a0 00001000 00015000 00000003 00015000 00001000 0001333c [ 55.913399] 5fc0: 00001000 00015000 00000003 00000003 00000002 00000000 00000000 00000000 [ 55.921560] 5fe0: 7fffe000 be999850 0000a225 b6f3c19c 60000010 00000003 00000000 00000000 [ 55.929744] [<c034b0b4>] (charger_get_property) from [<c0346864>] (power_supply_show_property+0x48/0x20c) [ 55.939286] [<c0346864>] (power_supply_show_property) from [<c027f25c>] (dev_attr_show+0x1c/0x48) [ 55.948130] [<c027f25c>] (dev_attr_show) from [<c0146218>] (sysfs_kf_seq_show+0x84/0x104) [ 55.956298] [<c0146218>] (sysfs_kf_seq_show) from [<c0144c78>] (kernfs_seq_show+0x24/0x28) [ 55.964536] [<c0144c78>] (kernfs_seq_show) from [<c0107f90>] (seq_read+0x1b0/0x484) [ 55.972172] [<c0107f90>] (seq_read) from [<c00e53dc>] (__vfs_read+0x18/0x4c) [ 55.979188] [<c00e53dc>] (__vfs_read) from [<c00e548c>] (vfs_read+0x7c/0x100) [ 55.986304] [<c00e548c>] (vfs_read) from [<c00e5550>] (SyS_read+0x40/0x8c) [ 55.993164] [<c00e5550>] (SyS_read) from [<c000f1a0>] (ret_fast_syscall+0x0/0x48) [ 56.000626] Code: bad PC value [ 56.011652] ---[ end trace 7b64343fbdae8ef1 ]--- Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> [for the nvec part] Reviewed-by: Marc Dietrich <marvin24@xxxxxx> [for compal-laptop.c] Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> [for the mfd part] Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> [for the hid part] Acked-by: Jiri Kosina <jkosina@xxxxxxx> [for the acpi part] Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b70229bca127283c3d30e5f471d30b1acccd7096 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:10 2015 +0100 power_supply: charger-manager: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d7bdffb91a240afd6097d557590e79fac5c5a99c Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:09 2015 +0100 power_supply: bq2415x_charger: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 75599d365367fe4a5bf7b10451f19a99369af219 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:08 2015 +0100 power_supply: apm_power: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 091e73a23a81efd2a01523178e9086ed346384ac Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:07 2015 +0100 mfd: ab8500: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 15077fc1f78488169ee5b87f553d17c1afcb1255 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:06 2015 +0100 power_supply: ab8500: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 465c436b9e957c9db4770090e4c6086d97a6b893 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:05 2015 +0100 power_supply: 88pm860x_charger: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property - set_property -> power_supply_set_property Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ee8f334a9a467aba2c861a00be7c48dad549700a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:04 2015 +0100 power_supply: sysfs: Use power_supply_*() API for accessing function attrs Replace direct calls to power supply function attributes with wrappers. Wrappers provide safe access in case of unregistering the power supply (e.g. by removing the driver). Replace: - get_property -> power_supply_get_property - set_property -> power_supply_set_property - property_is_writeable -> power_supply_property_is_writeable Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit bc1540561c9ede1efb6d7bf44804676d3d02a3cc Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:03 2015 +0100 power_supply: Add API for safe access of power supply function attrs Add simple wrappers for accessing power supply's function attributes: - get_property -> power_supply_get_property - set_property -> power_supply_set_property - property_is_writeable -> power_supply_property_is_writeable - external_power_changed -> power_supply_external_power_changed This API along with atomic usage counter adds a safe way of accessing a power supply from another driver. If power supply is unregistered after obtaining reference to it by some driver, then the API wrappers won't be executed in invalid (freed) context. Next patch changing the ownership of power supply class is still needed to fully fix race conditions in accessing freed power supply. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2dc9215d7c94f7f9f34ccf8b1710ad73d82f6216 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:02 2015 +0100 power_supply: Move run-time configuration to separate structure Add new structure 'power_supply_config' for holding run-time initialization data like of_node, supplies and private driver data. The power_supply_register() function is changed so all power supply drivers need updating. When registering the power supply this new 'power_supply_config' should be used instead of directly initializing 'struct power_supply'. This allows changing the ownership of power_supply structure from driver to the power supply core in next patches. When a driver does not use of_node or supplies then it should use NULL as config. If driver uses of_node or supplies then it should allocate config on stack and initialize it with proper values. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> [for the nvec part] Reviewed-by: Marc Dietrich <marvin24@xxxxxx> [for drivers/platform/x86/compal-laptop.c] Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> [for drivers/hid/*] Reviewed-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e44ea364394499d38a26ed4c9668fb378ae8797f Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:01 2015 +0100 power_supply: Add driver private data Allow drivers to store private data inside power_supply structure for later usage in power supply operations. Usage of driver private data is necessary to access driver's state container object from power supply calls (like get_property()) if struct 'power_supply' is a stored there as a pointer, for example: struct some_driver_info { struct i2c_client *client; struct power_supply *power_supply; ... } In such case one cannot use container_of() and must store pointer to state container as private data. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1915a718b1872edffcb13e5436a9f7302d3d36f0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:44:00 2015 +0100 compal-laptop: Check return value of power_supply_register The return value of power_supply_register() call was not checked and even on error probe() function returned 0. If registering failed then during unbind the driver tried to unregister power supply which was not actually registered. This could lead to memory corruption because power_supply_unregister() unconditionally cleans up given power supply. Fix this by checking return status of power_supply_register() call. In case of failure, clean up sysfs entries and fail the probe. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 9be0fcb5ed46 ("compal-laptop: add JHL90, battery & hwmon interface") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ad774702f1705c04e5fa492b793d8d477a504fa6 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Mar 12 08:43:59 2015 +0100 compal-laptop: Fix leaking hwmon device The commit c2be45f09bb0 ("compal-laptop: Use devm_hwmon_device_register_with_groups") wanted to change the registering of hwmon device to resource-managed version. It mostly did it except the main thing - it forgot to use devm-like function so the hwmon device leaked after device removal or probe failure. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: c2be45f09bb0 ("compal-laptop: Use devm_hwmon_device_register_with_groups") Cc: <stable@xxxxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 724e7bfcc566375158219c1454b4b6fc416b2c4a Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Mar 11 14:08:19 2015 -0400 audit: Remove condition which always evaluates to false After commit 3e1d0bb6224f019893d1c498cc3327559d183674 ("audit: Convert int limit uses to u32"), by converting an int to u32, few conditions will always evaluate to false. These warnings were emitted during compilation: kernel/audit.c: In function â??audit_set_enabledâ??: kernel/audit.c:347:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if (state < AUDIT_OFF || state > AUDIT_LOCKED) ^ kernel/audit.c: In function â??audit_receive_msgâ??: kernel/audit.c:880:9: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if (s.backlog_wait_time < 0 || The following patch removes those unnecessary conditions. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 32dcfba6f8df667e4b915e0542b33ccbc8e76fa8 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 11 15:06:00 2015 +1100 selftests: Add install target This adds make install support to selftests. The basic usage is: $ cd tools/testing/selftests $ make install That installs into tools/testing/selftests/install, which can then be copied where ever necessary. The install destination is also configurable using eg: $ INSTALL_PATH=/mnt/selftests make install The implementation uses two targets in the child makefiles. The first "install" is expected to install all files into $(INSTALL_PATH). The second, "emit_tests", is expected to emit the test instructions (ie. bash script) on stdout. Separating this from install means the child makefiles need no knowledge of the location of the test script. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 5e29a9105b1a0da86eff0ad6ae015997b49d4d1d Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Mar 11 15:05:59 2015 +1100 selftests: Introduce minimal shared logic for running tests This adds a Make include file which most selftests can then include to get the run_tests logic. On its own this has the advantage of some reduction in repetition, and also means the pass/fail message is defined in fewer places. However the key advantage is it will allow us to implement install very simply in a subsequent patch. The default implementation just executes each program in $(TEST_PROGS). We use a variable to hold the default implementation of $(RUN_TESTS) because that gives us a clean way to override it if necessary, ie. using override. The mount, memory-hotplug and mqueue tests use that to provide a different implementation. Tests are not run via /bin/bash, so if they are scripts they must be executable, we add a+x to several. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 63fb2e854dd6c43f527d8cbe4d19c58ba2cc1ee3 Merge: 4c07142 598e085 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Mar 13 22:08:58 2015 +0100 Merge tag 'at91-cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/cleanup Pull "Second batch of cleanup for 4.1" from Nicolas Ferre: - remove unused matrix header files - dbgu + chip identification: new driver for SoC detection this allow to remove all additional io mapping - remove old non-standard AT91 setup code First batch of cleanup for 4.1: - little phy fixup that is not needed anymore - hudge cleanup of the PM code: - removal of "use slow clock" option => always use this for suspend to RAM - quicker suspend as the asm function is copied only once to SRAM - use of the same asm function for "standby" and "mem" types of suspend actions - adaptation to the ARMv7 processors * tag 'at91-cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (44 commits) ARM: at91: remove old setup ARM: at91: sama5d4: remove useless map_io ARM: at91: sama5 use SoC detection infrastructure ARM: at91: at91sam9: use SoC detection infrastructure ARM: at91: at91rm9200 use SoC detection infrastructure ARM: at91: add soc detection infrastructure ARM: at91/dt: introduce atmel,<chip>-dbgu ARM: at91: remove unused _matrix.h headers ARM: at91: remove unused at91_ioremap_matrix and header ARM: at91: remove NEED_MACH_IO_H ARM: at91/pm: flush data cache and clean, invalidate and disable the L2 cache ARM: at91/pm_suspend: add the WFI instruction support for ARMv7 ARM: at91/pm: remove unused void (*at91_pm_standby)(void) ARM: at91/pm: rename function name: at91_slow_clock() --> at91_pm_suspend_sram_fn() ARM: at91/pm: rename file name: pm_slowclock.S --> pm_suspend.S ARM: at91/pm: standby mode uses same sram function as suspend to memory mode ARM: at91/pm: move the copying the sram function to the sram initialization phase ARM: at91/pm_slowclock: create the procedure to handle the sdram self-refresh ARM: at91/pm_slowclock: remove clocks which are already stopped when entering slow clock mode ARM: at91/pm: remove CONFIG_AT91_SLOW_CLOCK config option ... commit bc035fc55ecbe50fd087270e8312a090b5eccb3a Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Fri Mar 13 14:03:25 2015 -0700 ixgbe: cleanup make ixgbe_set_ethertype_anti_spoofing_X550 static Correcting a mistake when I initial created this function. I should have made this static since it is only referenced where the function pointer is assigned. CC: <kernel-team@xxxxxx> Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ef5398bb8df89c4af3f1f21c4190dfef0e80d45e Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Fri Mar 13 14:01:34 2015 -0700 ixgbe: Clean up type inconsistency Missed this when I created commit 6a14ee0cfb197 ("ixgbe: Add X550 support function pointers"). Use a the __be* type to be consistent with how the value is assigned. CC: <kernel-team@xxxxxx> Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1f9ac57cad1448793844dcfe5b5e00407f2c6490 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Fri Mar 13 13:54:30 2015 -0700 ixgbe: add new wrapper for X550 support For the X550 mac type we have to do additional steps around enabling/disabling Rx. This patch will add a layer of indirection around these support functions to enable this. CC: <kernel-team@xxxxxx> Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2801be4a0ea4cd0965f9c12ff813a91892a8e157 Merge: d6707be ddd0ca5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 13 15:52:38 2015 -0400 Merge branch 'bcmgenet_xmit_more' Florian Fainelli says: ==================== net: bcmgenet: xmit_more support This patch series adds xmit_more support to the GENET driver by allowing the deferal of the producer index write to the TDMA engine. Changes in v2: - move the netif_tx_stop_queue check *before* updating the producer index ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ddd0ca5d60b350bbfbfb60b25885a9779ce6d6c7 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Mar 13 12:11:07 2015 -0700 net: bcmgenet: add support for xmit_more Delay the update of the TDMA producer index unless this is the last SKB in a batch, or the queue is already stopped. Move the check for whether the queue should be stopped before the xmit_more check to avoid locking the transmit queue in case there was a SKB submitted which has xmit_more set. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae67bf0188cbb9d1786bdfcca9e1976cb36ee327 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Mar 13 12:11:06 2015 -0700 net: bcmgenet: update ring producer index and buffer count in xmit There is no need to have both bcmgenet_xmit_single() and bcmgenet_xmit_frag() perform a free_bds decrement and a prod_index increment by one. In case one of these functions fails to map a SKB or fragment for transmit, we will return and exit bcmgenet_xmit() with an error. We can therefore safely use our local copy of nr_frags to know by how much we should decrement the number of free buffers available, and by how much the producer count must be incremented and do this in the tail of bcmgenet_xmit(). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6707bec598649450ee0887bf11896e525777874 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Thu Mar 12 15:48:00 2015 -0700 net: bcmgenet: rewrite bcmgenet_rx_refill() Currently, bcmgenet_desc_rx() calls bcmgenet_rx_refill() at the end of Rx packet processing loop, after the current Rx packet has already been passed to napi_gro_receive(). However, bcmgenet_rx_refill() might fail to allocate a new Rx skb, thus leaving a hole on the Rx queue where no valid Rx buffer exists. To eliminate this situation: 1. Rewrite bcmgenet_rx_refill() to retain the current Rx skb on the Rx queue if a new replacement Rx skb can't be allocated and DMA-mapped. In this case, the data on the current Rx skb is effectively dropped. 2. Modify bcmgenet_desc_rx() to call bcmgenet_rx_refill() at the top of Rx packet processing loop, so that the new replacement Rx skb is already in place before the current Rx skb is processed. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Tested-by: Jaedon Shin <jaedon.shin@xxxxxxxxx>-- Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46f5cace1cd0559c335dfd4a5b8f57456d1bd6a1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 13 11:09:42 2015 -0700 usb: phy: msm: Remove dead code This code is no longer used now that mach-msm has been removed. Delete it. Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx Cc: David Brown <davidb@xxxxxxxxxxxxxx> Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx> Cc: Daniel Walker <dwalker@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b7cb93e52839ee44959adabc17c2a17422e6bd4b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 10:20:35 2015 -0700 Bluetooth: Merge hdev->dbg_flags fields into hdev->dev_flags With the extension of hdev->dev_flags utilizing a bitmap now, the space is no longer restricted. Merge the hdev->dbg_flags into hdev->dev_flags to save space on 64-bit architectures. On 32-bit architectures no size reduction happens. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 598e085590fc5ac1fecff00e842a8a6c2ae010e5 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:31 2015 +0100 ARM: at91: remove old setup The old setup is not used anymore, remove it Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 075fcc9f71dc0c76c32073a507f644c5b6fd3c20 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 20:17:46 2015 +0100 ARM: at91: sama5d4: remove useless map_io All the peripheral remapped at io_map are taken care of by their respective drivers. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ae1f57670703656cc9f293722c3b8b6782f8ab3f Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Mar 9 20:56:43 2015 +0100 KVM: nVMX: Do not emulate #UD while in guest mode While in L2, leave all #UD to L2 and do not try to emulate it. If L1 is interested in doing this, it reports its interest via the exception bitmap, and we never get into handle_exception of L0 anyway. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 43fc884efe20bcc0fae60d8212c6e66426a3d8b0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Mar 13 14:51:25 2015 +0200 drm: Silence sparse warnings ../drivers/gpu/drm/drm_vm.c:405:6: warning: symbol 'drm_vm_open_locked' was not declared. Should it be static? ../drivers/gpu/drm/drm_vm.c:431:6: warning: symbol 'drm_vm_close_locked' was not declared. Should it be static? ../drivers/gpu/drm/drm_vm.c:681:5: warning: symbol 'drm_vma_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_pci.c:146:5: warning: symbol 'drm_pci_set_unique' was not declared. Should it be static? ../drivers/gpu/drm/drm_pci.c:216:5: warning: symbol 'drm_irq_by_busid' was not declared. Should it be static? ../drivers/gpu/drm/drm_info.c:47:5: warning: symbol 'drm_name_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_info.c:72:5: warning: symbol 'drm_vm_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_info.c:116:5: warning: symbol 'drm_bufs_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_info.c:159:5: warning: symbol 'drm_clients_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_info.c:209:5: warning: symbol 'drm_gem_name_info' was not declared. Should it be static? ../drivers/gpu/drm/drm_ioc32.c:1019:20: warning: symbol 'drm_compat_ioctls' was not declared. Should it be static? ../drivers/gpu/drm/drm_bridge.c:52:12: warning: function 'drm_bridge_attach' with external linkage has definition Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eacb44dff98559d4682072c0061e1ecb63687e9c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 09:04:17 2015 -0700 Bluetooth: Use DECLARE_BITMAP for hdev->dev_flags field The hdev->dev_flags field has outgrown itself on 32-bit systems. So instead of hacking around it, switch to using DECLARE_BITMAP. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b34a80517bfcd917bc59d9670d8f465a564af3b9 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Mar 9 20:27:43 2015 +0100 KVM: x86: Fix re-execution of patched vmmcall For a very long time (since 2b3d2a20), the path handling a vmmcall instruction of the guest on an Intel host only applied the patch but no longer handled the hypercall. The reverse case, vmcall on AMD hosts, is fine. As both em_vmcall and em_vmmcall actually have to do the same, we can fix the issue by consolidating both into the same handler. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit cd590b50a9367b52520f6866b27f72317bb1a07e Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Mar 11 11:06:09 2015 -0700 ARM: dts: enable PCIe support for Cygnus Add PCIe device nodes in bcm-cygnus.dtsi but keep them disabled there. Only enable them for bcm958300k where PCIe interfaces are populated Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 04b2fa9f8f36ec6fb6fd1c9dc9df6fff0cd27323 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Feb 2 14:49:06 2015 +0100 fs: split generic and aio kiocb Most callers in the kernel want to perform synchronous file I/O, but still have to bloat the stack with a full struct kiocb. Split out the parts needed in filesystem code from those in the aio code, and only allocate those needed to pass down argument on the stack. The aio code embedds the generic iocb in the one it allocates and can easily get back to it by using container_of. Also add a ->ki_complete method to struct kiocb, this is used to call into the aio code and thus removes the dependency on aio for filesystems impementing asynchronous operations. It will also allow other callers to substitute their own completion callback. We also add a new ->ki_flags field to work around the nasty layering violation recently introduced in commit 5e33f6 ("usb: gadget: ffs: add eventfd notification about ffs events"). Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 599bd19bdc4c6b20fd91d50f2f79dececbaf80c1 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Feb 11 19:59:44 2015 +0100 fs: don't allow to complete sync iocbs through aio_complete The AIO interface is fairly complex because it tries to allow filesystems to always work async and then wakeup a synchronous caller through aio_complete. It turns out that basically no one was doing this to avoid the complexity and context switches, and we've already fixed up the remaining users and can now get rid of this case. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9d5722b7777e64de2d932f46cfee7765fdcc60d6 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Feb 2 14:59:43 2015 +0100 fuse: handle synchronous iocbs internally Based on a patch from Maxim Patlasov <MPatlasov@xxxxxxxxxxxxx>. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ab330cf3888d8e0779fa05a243d53ba9f53a7ba9 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Thu Mar 12 15:35:20 2015 +0900 usb: renesas_usbhs: add support for USB-DMAC Some Renesas SoCs have the USB-DMAC. It is able to terminate transfers when a short packet is received, even if less bytes than the transfer counter size have been received. Also, it is able to send a short packet even if the packet size is not multiples of 8bytes. Since the previous code has used the interruption of USBHS controller when receiving packets even if this driver has used a dmac, a lot of interruptions has happened. This patch will reduce such interruptions. This patch allows to use the USB-DMAC on R-Car H2 and M2. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9b53d9af7aac09cf249d72bfbf15f08e47c4f7fe Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Thu Mar 12 15:35:19 2015 +0900 usb: renesas_usbhs: fix the sequence in xfer_work() This patch fixes the setup sequence in xfer_work(). Otherwise, sometimes a usb transaction will get stuck. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7a96b78464bd8ba72c1c3095c543c1402db59e35 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Thu Mar 12 15:35:18 2015 +0900 usb: renesas_usbhs: add the channel number in dma-names To connect the channel of USB-DMAC to USBHS DnFIFO number, this patch adds this channel/FIFO number in dma-names. Otherwise, this driver needs to add analysis code for device tree. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fbdecad99c3f37346ed868fec0c3a9c2809f78e9 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Fri Mar 13 11:08:08 2015 +0100 usb: gadget: f_printer: use non-zero flag for bitwise and USB_DIR_OUT happens to be zero, so the result of bitwise and is always 0. Consequently, break will never happen in the SOFT_RESET case. This patch uses a compatible condition with a non-zero USB_DIR_IN, which might or might not evaluate to zero. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2bb2077ee607703771c35ed74837180760f9ce07 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Mar 13 12:11:42 2015 +0300 usb: gadget: printer: use after free in gprinter_alloc_inst() There was a missing goto so we free "opts" and then dereference it. Fixes: ee1cd515e889 ('usb: gadget: printer: add configfs support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fdb51e3d97552413c851bf8426ef69508389df88 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Mar 13 12:11:06 2015 +0300 usb: gadget: printer: delete some dead code "num" is a u16 so it can't go higher than 65535. kstrtou16() has a range check built in so this is already handled. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d4ae02cc904d916ea6b292e61b79fd3497054067 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Thu Mar 12 10:04:42 2015 -0700 usb: dwc2: pci: Select the generic PHY for dwc2-pci driver The dwc2-pci driver requires the generic PHY. This fixes undefined reference issues when it is not selected. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 16d9efa4b3db0ab69605ff4d03d707d0210f4bf7 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Mar 12 16:46:01 2015 -0500 usb: gadget: serial: %pf is only for function pointers Use %ps for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pf expects a function descriptor (which is not what __builtin_return_address returns). Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx CC: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e7336083e61c915e84e87b52243c4c437e8776a1 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:30 2015 +0100 ARM: at91: sama5 use SoC detection infrastructure Use the soc detection infrastructure for sama5 initialization. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5e57518d99725e8b4ee34cc94669afb79e4cfe4e Author: David Kaplan <david.kaplan@xxxxxxx> Date: Fri Mar 6 14:44:35 2015 -0600 x86: svm: use cr_interception for SVM_EXIT_CR0_SEL_WRITE Another patch in my war on emulate_on_interception() use as a svm exit handler. These were pulled out of a larger patch at the suggestion of Radim Krcmar, see https://lkml.org/lkml/2015/2/25/559 Changes since v1: * fixed typo introduced after test, retested Signed-off-by: David Kaplan <david.kaplan@xxxxxxx> [separated out just cr_interception part from larger removal of INTERCEPT_CR0_WRITE, forward ported, tested] Signed-off-by: Joel Schopp <joel.schopp@xxxxxxx> Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit bfd343aa1718457d34b99ce6573085ac340da288 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Wed Mar 11 23:56:39 2015 -0400 blk-mq: don't wait in blk_mq_queue_enter() if __GFP_WAIT isn't set Return -EBUSY if we're unable to enter a queue immediately when allocating a blk-mq request without __GFP_WAIT. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b2a0bafa758256442e04d1f34d6d0746b846d23d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Mar 5 17:21:32 2015 +0100 ALSA: hda - Use shutdown driver ops instead of reboot notifier The driver shutdown ops is simpler than registering reboot notifier manually. There should be no functional change by this -- the codec driver calls its own callback while the bus driver just calls azx_stop() like before. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b94ec296403e99d5ac9a8c48332cec4118d44b94 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Wed Mar 11 23:56:38 2015 -0400 blk-mq: export blk_mq_run_hw_queues Rename blk_mq_run_queues to blk_mq_run_hw_queues, add async argument, and export it. DM's suspend support must be able to run the queue without starting stopped hw queues. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b62c21b71f08b7a4bfd025616ff1da2913a82904 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Mar 12 23:56:02 2015 -0400 blk-mq: add blk_mq_init_allocated_queue and export blk_mq_register_disk Add a variant of blk_mq_init_queue that allows a previously allocated queue to be initialized. blk_mq_init_allocated_queue models blk_init_allocated_queue -- which was also created for DM's use. DM's approach to device creation requires a placeholder request_queue be allocated for use with alloc_dev() but the decision about what type of request_queue will be ultimately created is deferred until all component devices referenced in the DM table are processed to determine the table type (request-based, blk-mq request-based, or bio-based). Also, because of DM's late finalization of the request_queue type the call to blk_mq_register_disk() doesn't happen during alloc_dev(). Must export blk_mq_register_disk() so that DM can backfill the 'mq' dir once the blk-mq queue is fully allocated. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Reviewed-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6029e0c59b1c80b9669717f055b65588bde9754e Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Mar 5 18:25:12 2015 +0100 Revert "bcma: Kconfig: Let it depend on PCI" This reverts commit b09f5ec18b16b82f4db8a735e453332db7514275. Now that we have fully working BCMA_DRIVER_PCI symbol (in can be safely disabled), there is no risk bcma will try to use PCI code without PCI available. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 982a40f5c0bb03368989a6b1ae833b474854e931 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Mar 5 18:25:11 2015 +0100 bcma: allow disabling (not building) PCI driver It isn't required for bcma bus on SoCs, so provide some empty functions and allow disabling it. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 702131e2a393b45174be326f1dbe20b658b4f157 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Mar 5 18:25:10 2015 +0100 bcma: move PCI IRQ control function to host specific code This function isn't really related to any bus core. It touches PCI device config registers only, so move it to the (PCI) host file. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 64f9b683b6418d946101a9068d133b6daa3a22aa Merge: c202baf 9a30b09 Author: Jens Axboe <axboe@xxxxxx> Date: Fri Mar 13 08:24:49 2015 -0600 Merge branch 'for-linus' into for-4.1/core commit 708c964c5df8536f555bb86a8acb837835808e38 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Tue Mar 10 00:07:08 2015 +0900 rtlwifi: rtl8192cu: remove unused arguments from _beacon_function_enable() Remove unnecessary parameter in rtl8192cu/hw.c Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit dc98b0cb6175016f31c8ef1685dd0d69476aa495 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:58 2015 -0300 ARM: imx_v4_v5_defconfig: Remove CONFIG_MACH_MX25_3DS We do not have CONFIG_MACH_MX25_3DS platform anymore, so update the defconfig. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit aa65f358f6cba71ab2ac144174f7bf65477654ac Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:57 2015 -0300 ARM: mx25: Remove imxdi_rtc platform code platform-imxdi_rtc.c is only used by mx25, so it can safely go away now that mx25 has been converted to dt. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 4a01f3a509bbfac6b38722807f4a7bd1933e1ee0 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:56 2015 -0300 ARM: mx25: Remove "mx25.h" header file As mx25 has been converted to a dt-only platform, we do not need the "mx25.h" header file anymore. Remove it and also clean up all the mx25 occurences from the platform helper code. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 6869a22fcf10ba9e32ad9a6301ee3fe326625fd6 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:55 2015 -0300 ARM: mx25: Remove static memory mapping We use dynamic memory mapping when using dt, so remove all the static mappings. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 76830b267aecf127aea6e9c86230a01b57eb9282 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:30 2015 +0100 libertas_tf: if_usb.c: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL_GPL; @@ -EXPORT_SYMBOL_GPL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d18032d62fe7a84a8bc4867de98233ba5342254b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:29 2015 +0100 ARM: at91: at91sam9: use SoC detection infrastructure Use the soc detection infrastructure for at91sam9 initialization. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7735f03822bc6bba156bc5166c85e636e0fee403 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:28 2015 +0100 ARM: at91: at91rm9200 use SoC detection infrastructure Use the soc detection infrastructure for at91rm9200 initialization. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ea4abe7f3a3216f5d98dcc7a884e10f20b264429 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:27 2015 +0100 ARM: at91: add soc detection infrastructure Add new structures and functions to handle AT91 SoC detection. [alexandre.belloni@xxxxxxxxxxxxxxxxxx: reworked DBGU detection] Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8c07f664a6c48bfc44ce9352c8c2fba55f1d108b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:26 2015 +0100 ARM: at91/dt: introduce atmel,<chip>-dbgu The DBGU is not a simple UART and we need to be able to distinguish it from the other UARTs, in particular to get its address and check the chip id. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit b7e9def92345c97f5ad43a150bcbcf8d44e46310 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:25 2015 +0100 ARM: at91: remove unused _matrix.h headers The matrix headers are not used anymore, remove them. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0d3441928b45cc42fdc8949153e8a0b51615300d Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 15:54:24 2015 +0100 ARM: at91: remove unused at91_ioremap_matrix and header at91_ioremap_matrix and the at91_matrix.h header are not used anymore, remove them. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 1be27c62d61d23e8426834785d7989daa6745aa8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Mar 12 15:54:23 2015 +0100 ARM: at91: remove NEED_MACH_IO_H The mach/io.h header on at91 is used to support a nonstandard I/O space window for the cf card driver. This changes the driver to use pci_ioremap_io in order to have the standard location, and then removes the custom mach/io.h. [alexandre.belloni@xxxxxxxxxxxxxxxxxx: Added PCI dependency] Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 338f1ab6c4ea60cbc8ee57b78707d4b8d0219519 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: bcm-iproc: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Ray Jui <rjui@xxxxxxxxxxxx> commit fb3de30cd9c7e90c3e58cfe51b02c768b291873b Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: pmcmsp: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f2325c54f362ffa1e2e3254bcb70d6d4da49a17a Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: viperboard: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7ee405ea068602d1fd42bf14ddc04d45733cfd7d Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: powermac: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit afe90203977bc7ecd7d1048a5ad453a8670c16f5 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: dln2: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 280d230012dc0441e7fd8c722ac06dc370ce78d0 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: axxia: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b94c820f37804a461376205b4919eef300ff3abe Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: cpm: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 994647db6bb2284de7dfee10a51b4d9fec760ed3 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: qup: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> commit a531afdf93489e9357c4207c7bdec9b921ddfe9e Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: opal: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> commit a7405844da1c8064500f0741cc8876c7f887dd85 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Wed Jan 7 12:24:10 2015 +0100 i2c: at91: make use of the new infrastructure for quirks Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-By: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> commit b7f625840267b18ef1011cba0085bb7e237d76f7 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Jan 5 23:45:59 2015 +0100 i2c: add quirk checks to core Let the core do the checks if HW quirks prevent a transfer. Saves code from drivers and adds consistency. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Ray Jui <rjui@xxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Tested-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Tested-By: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> commit cf45932a74d4d07c2d05c4e871f2ea5bc0e5891c Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:33 2015 +0100 brcmfmac: fix watchdog timer regression The watchdog timer is used to put the device in a low-power mode when it is idle for some time. This timer is stopped during that mode and should be restarted upon activity. This has been broken by commit d4150fced0365 ("brcmfmac: Simplify watchdog sleep."). This patch restores the behaviour as it was before that commit. Reported-by: Pontus Fuchs <pontusf@xxxxxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9819a9024eabee7bb793bbbb3f3833dfaf222dc9 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:32 2015 +0100 brcmfmac: take save&restore memory into account for SDIO shared info The firmware provides pointer to SDIO shared information at end of RAM during firmware initialization. End of RAM is obviously determined by the actual ram size, but part of that may be used for save&restore memory. In that case another location in RAM will hold the pointer. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0da32ba4ee667ef3c837ee4ebaa230f6f826a822 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:31 2015 +0100 brcmfmac: extract ram size info from internal memory registers Instead of hard-coded memory sizes it is possible to obtain that information from the internal memory registers. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 38f29e1f42b114105e1ffefba0bc183e1e144d0b Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:30 2015 +0100 brcmfmac: assure device is ready for download after brcmf_chip_attach() Make the brcmf_chip_attach() function responsible for putting the device in a state where it is accessible for firmware download. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d380ebc9b6fb552345de3051d9b64e963eaadf46 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:29 2015 +0100 brcmfmac: rename chip download functions The functions brcmf_chip_[enter/exit]_download() are not exclusively used for firmware download so rename these more appropriate. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5ded1c251f8e6c93012ef007e2bade61bff20c7e Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:28 2015 +0100 brcmfmac: always perform cores checks Instead of checking the cores in the chip only if CONFIG_BRCMDBG is selected perform the check always and extend it with more sanity checking. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 55b59fba0f0c700493a63157db8e3ef4300908dc Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Mar 11 16:11:27 2015 +0100 brcmfmac: remove duplication of ramsize info Removing the ramsize from the brcmf_sdio structure to avoid duplication. The information is available in brcmf_chip structure. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2187f03a9576c4fb8342deed912b5ba6fcf98cba Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Mon Jan 5 15:35:39 2015 +0100 i2c: add quirk structure to describe adapter flaws The number of I2C adapters which are not fully I2C compatible is rising, sadly. Drivers usually do handle the flaws, still the user receives only some errno for a transfer which normally can be expected to work. This patch introduces a formal description of flaws. One advantage is that the core can check before the actual transfer if the messages could be transferred at all. This is done in the next patch. Another advantage is that we can pass this information to the user so the restrictions are exactly known and further actions can be based on that. This will be done later after some stabilization period for this description. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Ray Jui <rjui@xxxxxxxxxxxx> Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Tested-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Tested-By: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> commit 3a79e1dfa23f69cb7b29e002ccf718ebc8e30b21 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 15:44:22 2015 +0100 ath9k: make ath_frame_info fit into reduced-size rate_driver_data pre-requisite to shrink size of ieee80211_tx_info which in turn is needed to shrink skb->cb to 40 bytes again. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6faf22d9cabeec6f8f623d58a2e88ca9edf4c946 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 15:25:39 2015 +0100 ar5523: use container_of If we want to shrink skb->cb then we'd have to see about reducing struct ieee80211_tx_info, which gets embedded inside skb->cb[]. It provides a scratch space to be used by wireless drivers. ar5523 uses the maximum space available today (40 bytes), but it seems we don't need this -- data->skb pointer seems to always point back to the skb whose cb buffer the data structure resides, iow, given a pointer to the embedded control buffer we can infer the skb address. Tested-by: Pontus Fuchs <pontus.fuchs@xxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8b88f7ef31ddecd943e3312d6b61e1b1c6eab3d0 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:54 2015 -0300 ARM: mx25: Retrieve IIM base from dt We should use dt to retrieve the IIM base address. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit d8a3beea003b4c162e5713a1a86596e9296da1d7 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 13 10:31:53 2015 -0300 ARM: mx25: Remove mx25_clocks_init() mx25_clocks_init() is only used to register the clocks for non-dt platforms. As mx25 has been converted to a dt-only platform, we can safely remove it. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit ae4aee959f7959427e99edb3927c9512986cbdc5 Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Mar 13 00:36:15 2015 +0100 ARM: imx: depend MXC debug board on 3DS machines Depend the MXC debug board on machines which actually support it. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit ca5396975ab42904c4955c7976f918896b0b7a35 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 13 14:21:44 2015 +0800 ARM: imx_v6_v7_defconfig: Add CONFIG_GPIO_PCA953X It is used for max7310 gpio expandor which is used at imx6qdl sabreauto board. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit d8eb8940417559808fdd0180a4d50f8f0281b822 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Mar 13 14:04:37 2015 +0100 x86/kexec: Cleanup KEXEC_VERIFY_SIG Kconfig help text Fix typos and also make it simpler without losing the gist of what it says. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426251877-11415-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 56544d29c3a0e383c0d819fefc9570b2803db193 Merge: 9261dc1 9eccca0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 13 14:20:46 2015 +0100 Merge tag 'v4.0-rc3' into x86/build, to refresh an older tree before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dd2951124838843809f75117d17c32d053ee3262 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:20:10 2015 +0530 ath9k: Fix RTT chainmask usage Since the RTT registers need to be configured for all valid chains irrespective of the runtime chainmask, use the actual chainmask of the chip. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 93f7d6f3d5aa86bc9cce38a1d7eb71524ac85e0b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:20:09 2015 +0530 ath9k: Check allowed PCIE powersave configuration When assigning the initvals for PCIE sleep/awake registers, check the configuration that has been assigned to pll_pwrsave during initialization. Also, display a warning if we don't have valid arrays. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 656cd75c387383fe3a63e21204107abf5515ecfc Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:20:08 2015 +0530 ath9k: Initialize pll_pwrsave for AR9462/AR9565 Cards based on AR9462/AR9565 support more PCIE power save mechanisms, so register them correctly. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit afa7e6dbd91d3d9e18d224116353087082479dc5 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:20:07 2015 +0530 ath9k: Fix PLL powersave for AR9485 Use the value in ah->config.pll_pwrsave to determine which array needs to be loaded. Also, initialize pll_pwrsave to 1 by default. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e519f78f1191007604c056dfcb372d4fe3a4b05b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 14:20:06 2015 +0530 ath9k: Add PCIE powersave macros These will be used to handle chip-specific power save configuration. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 02beaf1a5b8f05ead295d781522b1684dc5e7263 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 8 15:42:03 2015 +0200 wil6210: support AP isolation For the AP, configuration may say not to bridge traffic between wireless clients. This is conveyed from user space (ex: hostapd has ap_isolate parameter) with NL80211_CMD_SET_BSS, to the driver's cfg80211 ops method change_bss Add support for this setting. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c42da9993a4cc32f48dad89eedf7b7ad4dfd41bc Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 8 15:42:02 2015 +0200 wil6210: re-submit Rx frames to the wireless media if appropriate This is for AP only. If Rx data frame targeted to one of associated clients, transmit it back to the wireless media and don't deliver to the host. For the multicast frames, deliver to both host and wireless media. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7308a20e7579f91e103398366d9bb382653cbb89 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Mar 8 15:42:01 2015 +0200 wil6210: NAPI completion refactor It is expected that driver completes NAPI when less than full budget is consumed. Fulfill this requirement. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9c51026509d7fd11d84e0035008e1a9768960f2b Author: Syed Asifful Dayyan <syedd@xxxxxxxxxxxx> Date: Fri Mar 6 18:40:42 2015 +0100 brcmfmac: Add support for BCM4345 SDIO chipset. These changes add support for BCM4345 SDIO chipset. Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Syed Asifful Dayyan <syedd@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d375bc8a85a49bf4d2897f59fab4d4afb34d5d44 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Mar 6 18:40:41 2015 +0100 brcmfmac: Fix race condition in msgbuf ioctl processing. Msgbuf is using a wait_event_timeout to wait for the response on an ioctl. The wakeup routine uses waitqueue_active to see if wait_event_timeout has been called. There is a chance that the response arrives before wait_event_timeout is called, this will result in situation that wait_event_timeout never gets woken again and assumed result will be a timeout. This patch removes that errornous situation by always setting the ctl_completed var before checking for queue active. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 449e58b85c0051117bf8428777b4ae38e098506a Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Mar 6 18:40:40 2015 +0100 brcmfmac: Fix possible race-condition. SDIO is using a "shared" variable to handoff ctl frames to DPC and to see when they are done. In a timeout situation this can lead to erroneous situation where DPC started to handle the ctl frame while the timeout expired. This patch will fix this by adding locking around the shared variable. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b441ba8dc34136dc418d85299757514c3a08913d Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Mar 6 18:40:39 2015 +0100 brcmfmac: Simplify watchdog sleep. The watchdog thread is used to put the SDIO bus to sleep when the system is idling. This patch simplifies the way it is determined when sleep can be entered. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit de6878c8354d1524940055fe1b802c799f4fc318 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Mar 6 18:40:38 2015 +0100 brcmfmac: Fix oops when SDIO device is removed. On removal of SDIO card both functions of card will be getting a remove call. When the first is hanging in ctrl frame xmit then the second will cause oops. This patch fixes the xmit ctrl handling in case of serious errors and also limits the handling for remove to function 1 only. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 933ef44cb130b28f88ab92900bda1176ed758854 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Sat Mar 7 00:47:17 2015 +0900 rtlwifi: Remove duplicated prototype Remove duplicated prototype in base.h Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ab5e290a86075c09201deb55c566f875ef4649d7 Author: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Date: Wed Mar 4 05:12:11 2015 +0300 ath5k: fix reset race To prepare for reset ath5k should finish all asynchronous tasks. At first, it disables the interrupt generation, then it waits for the interrupt handler and tasklets completion, and then proceeds to the HW configuration update. But it does not consider that the interrupt handler or tasklet re-enables the interrupt generation. And we fall in a situation when ath5k assumes that interrupts are disabled, but it is not. This can lead to different consequences, such as reception of the frame, when we do not expect it. Under certain circumstances, this can lead to the following warning: WARNING: at ath5k/base.c:589 ath5k_tasklet_rx+0x318/0x6ec [ath5k]() invalid hw_rix: 1a [..] Call Trace: [<802656a8>] show_stack+0x48/0x70 [<802dd92c>] warn_slowpath_common+0x88/0xbc [<802dd98c>] warn_slowpath_fmt+0x2c/0x38 [<81b51be8>] ath5k_tasklet_rx+0x318/0x6ec [ath5k] [<8028ac64>] tasklet_action+0x8c/0xf0 [<80075804>] __do_softirq+0x180/0x32c [<80196ce8>] irq_exit+0x54/0x70 [<80041848>] ret_from_irq+0x0/0x4 [<80182fdc>] ioread32+0x4/0xc [<81b4c42c>] ath5k_hw_set_sleep_clock+0x2ec/0x474 [ath5k] [<81b4cf28>] ath5k_hw_reset+0x50/0xeb8 [ath5k] [<81b50900>] ath5k_reset+0xd4/0x310 [ath5k] [<81b557e8>] ath5k_config+0x4c/0x104 [ath5k] [<80d01770>] ieee80211_hw_config+0x2f4/0x35c [mac80211] [<80d09aa8>] ieee80211_scan_work+0x2e4/0x414 [mac80211] [<8022c3f4>] process_one_work+0x28c/0x400 [<802df8f8>] worker_thread+0x258/0x3c0 [<801b5710>] kthread+0xe0/0xec [<800418a8>] ret_from_kernel_thread+0x14/0x1c Fix this issue by adding a new status flag, which forbids to re-enable the interrupt generation until the HW configuration is completed. Note: previous patch, which reorders the Rx disable code helps to avoid the above warning, but not fixes the root cause of unexpected frame receiving. CC: Jiri Slaby <jirislaby@xxxxxxxxx> CC: Nick Kossifidis <mickflemm@xxxxxxxxx> CC: Luis R. Rodriguez <mcgrof@xxxxxxxxxxxxxxxx> Reported-by: Christophe Prevotaux <cprevotaux@xxxxxxxxxx> Tested-by: Christophe Prevotaux <cprevotaux@xxxxxxxxxx> Tested-by: Eric Bree <ebree@xxxxxxxxxx> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4a2f248f9eafcf64c7649324a294a4dd337efd18 Author: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Date: Wed Mar 4 05:12:10 2015 +0300 ath5k: channel change fix ath5k updates the channel pointer and after that it stops the Rx logic and apply channel to HW. In case of channel switch, such sequence creates a small window when a frame, which is received on the old channel is considered as a frame received on the new one. The most notable consequence of this situation occurs during the switch from 2 GHz band (CCK+OFDM) to the 5GHz band (OFDM-only). Frame received with CCK rate, e.g. beacon received at the 1mbps, causes the following warning: WARNING: at ath5k/base.c:589 ath5k_tasklet_rx+0x318/0x6ec [ath5k]() invalid hw_rix: 1a [..] Call Trace: [<802656a8>] show_stack+0x48/0x70 [<802dd92c>] warn_slowpath_common+0x88/0xbc [<802dd98c>] warn_slowpath_fmt+0x2c/0x38 [<81b51be8>] ath5k_tasklet_rx+0x318/0x6ec [ath5k] [<8028ac64>] tasklet_action+0x8c/0xf0 [<80075804>] __do_softirq+0x180/0x32c [<80196ce8>] irq_exit+0x54/0x70 [<80041848>] ret_from_irq+0x0/0x4 [<80182fdc>] ioread32+0x4/0xc [<81b4c42c>] ath5k_hw_set_sleep_clock+0x2ec/0x474 [ath5k] [<81b4cf28>] ath5k_hw_reset+0x50/0xeb8 [ath5k] [<81b50900>] ath5k_reset+0xd4/0x310 [ath5k] [<81b557e8>] ath5k_config+0x4c/0x104 [ath5k] [<80d01770>] ieee80211_hw_config+0x2f4/0x35c [mac80211] [<80d09aa8>] ieee80211_scan_work+0x2e4/0x414 [mac80211] [<8022c3f4>] process_one_work+0x28c/0x400 [<802df8f8>] worker_thread+0x258/0x3c0 [<801b5710>] kthread+0xe0/0xec [<800418a8>] ret_from_kernel_thread+0x14/0x1c The easiest way to reproduce this warning is to run scan with dualband NIC in noisy environments, when the channel 11 runs multiple APs. In my tests if the APs num >= 12, the warning appears in the first few seconds of scanning. In order to fix this, the Rx disable code moved to a higher level and placed before the channel pointer update. This is also makes the code a bit more symmetrical, since we disable and enable the Rx in the same function. In fact, at the pointer update time new frames should not appear, because interrupt generation at this point should already be disabled. The next patch should address this issue. CC: Jiri Slaby <jirislaby@xxxxxxxxx> CC: Nick Kossifidis <mickflemm@xxxxxxxxx> CC: Luis R. Rodriguez <mcgrof@xxxxxxxxxxxxxxxx> Reported-by: Christophe Prevotaux <cprevotaux@xxxxxxxxxx> Tested-by: Christophe Prevotaux <cprevotaux@xxxxxxxxxx> Tested-by: Eric Bree <ebree@xxxxxxxxxx> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0cf151bdf99b9f425f12efaff779a09e4120a08f Merge: 719a11c 208d271 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Fri Mar 13 15:09:18 2015 +0200 Merge tag 'iwlwifi-next-for-kalle-2015-03-12' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * Location Aware Regulatory was added by Arik * 8000 device family work * Update to the BT Coex firmware API commit 2854475f6c612d59901d51c358abd05643278b53 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Wed Jan 21 00:20:11 2015 +0800 nfs: clean up nfs_direct_IO This follows up "nfs: fix dio deadlock when O_DIRECT flag is flipped" and removes the unnecessary CONFIG_NFS_SWAP switch. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 55cc1d7806cd4827d38a18ddf3bcf04706758218 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Mar 13 04:25:34 2015 -0400 SUNRPC: fix build-warning due to format missmatch fix build-warning introduced by commit: f0eede10fd4 ("SUNRPC: use jiffies_to_msecs for converting jiffies") which did not fixup the format properly (my bad). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 385acc0dac88d79447a03a1363072fc258429dec Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:54:26 2015 +0800 ARM: at91/pm: flush data cache and clean, invalidate and disable the L2 cache Flush data cache, and clean, invalidate and disable the L2 cache before going to suspend. Restore the L2 cache configuration and re-enable the L2 cache after waking up. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 20567658b8f010eea287087bfdbeb25757801aed Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:53:46 2015 +0800 ARM: at91/pm_suspend: add the WFI instruction support for ARMv7 Add the WFI instruction to make the cpu to the idle state. In the meanwhile, disable the processor's clock. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e32d995cf9db8dbf48d0ae25794b1b7b3872857d Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:51:49 2015 +0800 ARM: at91/pm: remove unused void (*at91_pm_standby)(void) Because the standby mode use the same sram function as the suspend to memory mode, void (*at91_pm_standby)(void) doesn't need, remove it. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5726a8b9686348e8d203f1bbf9d5fc1bb5899518 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:51:09 2015 +0800 ARM: at91/pm: rename function name: at91_slow_clock() --> at91_pm_suspend_sram_fn() As the file name is renamed, rename the function name at91_slow_clock() --> at91_pm_suspend_sram_fn(), rename the function handler's name at the same time. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> [nicolas.ferre@xxxxxxxxx: little update of the commit message] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 828b98fa380662406f9a84e09372b18e45babbf2 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:50:29 2015 +0800 ARM: at91/pm: rename file name: pm_slowclock.S --> pm_suspend.S Because the sram function is used for both suspend to memory and the suspend to standby mode, renaming is more elegant. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 23be4be5a666c6b4e6fe8ddbbb84fb4f2efee0a5 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:49:46 2015 +0800 ARM: at91/pm: standby mode uses same sram function as suspend to memory mode To simply the PM code, the suspend to standby mode uses same sram function as the suspend to memory mode, running in the internal SRAM, instead of the respective code for each mode. For the suspend to standby mode, the master clock doesn't switch to the slow clock, and PLLA and the main oscillator doesn't turn off as well. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d94e688cae5661b18164fb7366d1696a1921baba Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:49:01 2015 +0800 ARM: at91/pm: move the copying the sram function to the sram initialization phase To decrease the suspend time, move copying the sram function to the sram initialization phase, instead of every time go to suspend. In the meanwhile, substitute fncpy() for memcpy(). If there is no sram allocated for PM, the PM is not supported. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 107eb964d8c04417e8bce9e9ec2ed61d9261aec6 Merge: 94ac003 6936472 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Mar 13 13:30:10 2015 +0100 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 UI bug after zoom into thread/dso/symbol and another, after fold/unfold, in the TUI hists browser (He Kuang) - Fixes for 'perf probe' to better handle aliased symbols, for instance in glibc (Masami Hiramatsu, Namhyung Kim) - 'perf kmem' improvements and fixes: (Namhyung Kim) - Fix segfault when invalid sort key is given - Allow -v option - Fix alignment of slab result table - 'perf stat' improvements and fixes: (Andi Kleen) - Output running time and run/enabled ratio in CSV mode - Fix IPC and other formulas with -A - Always correctly indent ratio column - Add tracepoint events fields CTF conversion support to 'perf data' (Sebastian Andrzej Siewior) Infrastructure changes: - Output feature detection's gcc output to a file, to help in debugging (Arnaldo Carvalho de Melo) - Fix 'perf probe' compiles due to declarations using perf_probe_point (David Ahern) - Fix possible double free on error in 'perf probe' (He Kuang) - Remove superfluous thread->comm_set setting (Jiri Olsa) - Fix libbabeltrace detection (Jiri Olsa) - More work on separating ordered_events code out of perf_session (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b52551e0d0e659db43f5cfa813ae09d4c3744761 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Mar 13 10:50:26 2015 +0800 ASoC: rt5645: Remove adc stereo2 filter Remove adc stereo2 filter since it is not in rt5645/rt5650 codec. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 69364727be2f3dc71a046771965c3c9d5ccce699 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Feb 20 23:17:02 2015 +0100 perf data: Add tracepoint events fields CTF conversion support Adding support to convert tracepoint event fields into CTF event fields. We parse each tracepoint event for CTF conversion and add tracepoint fields as regular CTF event fields, so they appear in babeltrace output like: $ babeltrace ./ctf-data/ ... [09:02:00.950703057] (+?.?????????) sched:sched_stat_runtime: { }, { perf_ip = ... SNIP ... common_type = 298, common_flags = 1, \ common_preempt_count = 0, common_pid = 31813, comm = "perf", pid = 31813, runtime = 458800, vruntime = 52059858071 } ... Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424470628-5969-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6576fe4afc1203d27a5f4c8f5511f44203f4e333 Author: Daniel Drake <drake@xxxxxxxxxxxx> Date: Mon Feb 23 18:16:47 2015 -0600 Bluetooth: btusb: Add helper for READ_LOCAL_VERSION command Multiple codepaths duplicate some simple code to read and sanity-check local version information. Before I add a couple more such codepaths, add a helper to reduce duplication. Signed-off-by: Daniel Drake <drake@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 65f46e0214c64198a0266c37181a7776e16b7e53 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Mar 12 16:32:48 2015 +0900 perf kmem: Fix alignment of slab result table Its table was a bit misaligned. Fix it. Before: # perf kmem stat --caller -l 10 ------------------------------------------------------------------------------------------------------ Callsite | Total_alloc/Per | Total_req/Per | Hit | Ping-pong | Frag ------------------------------------------------------------------------------------------------------ radeon_cs_parser_init.part.1+11a | 2080/260 | 1504/188 | 8 | 0 | 27.692% radeon_cs_parser_init.part.1+e1 | 384/96 | 288/72 | 4 | 0 | 25.000% radeon_cs_parser_init.part.1+93 | 128/32 | 96/24 | 4 | 0 | 25.000% load_elf_binary+a39 | 512/512 | 392/392 | 1 | 0 | 23.438% __alloc_skb+89 | 6144/877 | 4800/685 | 7 | 6 | 21.875% radeon_fence_emit+5c | 1152/192 | 912/152 | 6 | 0 | 20.833% radeon_cs_parser_relocs+ad | 8192/2048 | 6624/1656 | 4 | 0 | 19.141% radeon_sa_bo_new+78 | 1280/64 | 1120/56 | 20 | 0 | 12.500% load_elf_binary+2c4 | 32/32 | 28/28 | 1 | 0 | 12.500% anon_vma_prepare+101 | 576/72 | 512/64 | 8 | 0 | 11.111% ... | ... | ... | ... | ... | ... ------------------------------------------------------------------------------------------------------ After: --------------------------------------------------------------------------------------------------------- Callsite | Total_alloc/Per | Total_req/Per | Hit | Ping-pong | Frag --------------------------------------------------------------------------------------------------------- radeon_cs_parser_init.part.1+11a | 2080/260 | 1504/188 | 8 | 0 | 27.692% radeon_cs_parser_init.part.1+e1 | 384/96 | 288/72 | 4 | 0 | 25.000% radeon_cs_parser_init.part.1+93 | 128/32 | 96/24 | 4 | 0 | 25.000% load_elf_binary+a39 | 512/512 | 392/392 | 1 | 0 | 23.438% __alloc_skb+89 | 6144/877 | 4800/685 | 7 | 6 | 21.875% radeon_fence_emit+5c | 1152/192 | 912/152 | 6 | 0 | 20.833% radeon_cs_parser_relocs+ad | 8192/2048 | 6624/1656 | 4 | 0 | 19.141% radeon_sa_bo_new+78 | 1280/64 | 1120/56 | 20 | 0 | 12.500% load_elf_binary+2c4 | 32/32 | 28/28 | 1 | 0 | 12.500% anon_vma_prepare+101 | 576/72 | 512/64 | 8 | 0 | 11.111% ... | ... | ... | ... | ... | ... --------------------------------------------------------------------------------------------------------- Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1426145571-3065-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bd72a33ebae8b4d37e3d2a3f0f3f3333ac9654dd Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Mar 12 16:32:47 2015 +0900 perf kmem: Allow -v option Current perf kmem fails when -v option is used. As it's very useful for debugging, let's allow it. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1426145571-3065-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 405f87557da35a03ba4663eca971ffac58b0a818 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Mar 12 16:32:46 2015 +0900 perf kmem: Fix segfault when invalid sort key is given When it tries to free 'str', it was already updated by strsep() - so it needs to save the original pointer. # perf kmem stat -s xxx,hit Error: Unknown --sort key: 'xxx' *** Error in `perf': free(): invalid pointer: 0x0000000000e9e7b6 *** ======= Backtrace: ========= /usr/lib/libc.so.6(+0x7198e)[0x7fc7e6e0d98e] /usr/lib/libc.so.6(+0x76dee)[0x7fc7e6e12dee] /usr/lib/libc.so.6(+0x775cb)[0x7fc7e6e135cb] ./perf[0x44a1b5] ./perf[0x490b20] ./perf(parse_options_step+0x173)[0x491773] ./perf(parse_options_subcommand+0xa7)[0x491fb7] ./perf(cmd_kmem+0x2bc)[0x44ae4c] ./perf[0x47aa13] ./perf(main+0x60a)[0x427a9a] /usr/lib/libc.so.6(__libc_start_main+0xf0)[0x7fc7e6dbc800] ./perf(_start+0x29)[0x427bb9] Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joonsoo Kim <js1304@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1426145571-3065-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7910352852f377f6d12286f922299d7ad1cfb2e3 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Mar 11 08:28:02 2015 -0700 perf stat: Always correctly indent ratio column When cycles or instructions do not print anything, as in being, --per-socket or --per-core modi, the ratio column was not correctly indented for them. This lead to some ratios not lining up with the others. Always indent correctly when nothing is printed. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426087682-22765-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 56f0fd45d8df51542930b9b2e1acee5034b53479 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Mar 11 08:28:01 2015 -0700 perf stat: Fix IPC and other formulas with -A perf stat didn't compute the IPC and other formulas for individual CPUs with -A. Fix this for the easy -A case. As before, --per-core and --per-socket do not handle it, they simply print nothing. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426087682-22765-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d73515c03c6a2706e088094ff6095a3abefd398b Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Mar 11 07:16:27 2015 -0700 perf stat: Output running time and run/enabled ratio in CSV mode The information how much a counter ran in 'perf stat' can be quite interesting for other tools to judge how trustworthy a measurement is. Currently it is only output in non CSV mode. This patches make perf stat always output the running time and the enabled/running ratio in CSV mode. This adds two new fields at the end for each line. I assume that existing tools ignore new fields at the end, so it's on by default. Only CSV mode is affected, no difference otherwise. v2: Add extra print_running function v3: Avoid printing nan v4: Remove some elses and add brackets. v5: Move non CSV case into print_running Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Reviewed-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426083387-17006-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 05713ba9055f1a209d50e480626f36c401bda3ad Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:26 2015 +0100 crypto: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL_GPL; @@ -EXPORT_SYMBOL_GPL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 19e60e1392d110be03d794e2286dd6cfd779cbe3 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Tue Mar 10 17:00:36 2015 +0100 crypto: testmgr - fix RNG return code enforcement Due to the change to RNGs to always return zero in success case, the invocation of the RNGs in the test manager must be updated as otherwise the RNG self tests are not properly executed any more. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Alexander Bergmann <abergmann@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0ab285c2fafe90dfd665b29057666c3953b2592c Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:48:26 2015 +0800 ARM: at91/pm_slowclock: create the procedure to handle the sdram self-refresh To decrease the duplicated code, create the procedure to contain both activing and exiting the sdram self-refresh mode. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d18c570ef3fe9c3b394c0c215b04e9729d85d14f Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Feb 5 14:01:23 2015 +0800 ARM: at91/pm_slowclock: remove clocks which are already stopped when entering slow clock mode Assume USB PLL and PLL B are already stopped before entering sleep mode. Removed PLL B from slow clock code, all drivers are supposed to properly unprepare clocks. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Wenyou.Yang <wenyou.yang@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: remove the warning printed in pm.c] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 09fc78a601e59de89f125c8e6739fd21a7e2fd01 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:45:35 2015 +0800 ARM: at91/pm: remove CONFIG_AT91_SLOW_CLOCK config option The slow clock always exists, selecting CONFIG_AT91_SLOW_CLOCK config is unnecessary for the suspend to memory mode. For this mode the master clock should always switch to the slow clock. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 896bc871a4a2db13212831749d21ffa7f405c73b Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:44:50 2015 +0800 ARM: at91: move "select SRAM" under SOC_AT91SAM9 and SOC_SAMA5 To simply the PM config the CONFIG_AT91_SLOW_CLOCK option will be removed, so move "select SRAM" from under AT91_SLOW_CLOCK, add "select SRAM if PM" under SOC_AT91SAM9 and SOC_SAMA5 Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 05d5970c723cb6d11cef793c77cd07d86d5d4a94 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Mar 9 11:44:03 2015 +0800 ARM: at91/pm_slowclock: remove the unused code related with SLOWDOWN_MASTER_CLOCK The SLOWDOWN_MASTER_CLOCK definition is not used, remove the redundant code. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 238be788fcb75870661ec165dc90f2a2674e7fcb Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:06 2015 -0700 Bluetooth: Introduce hci_dev_test_and_set_flag helper macro Instead of manually coding test_and_set_bit on hdev->dev_flags all the time, use hci_dev_test_and_set_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a69d89272698d1c31ccb78348562af6461cf1eb7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:05 2015 -0700 Bluetooth: Introduce hci_dev_test_and_clear_flag helper macro Instead of manually coding test_and_clear_bit on hdev->dev_flags all the time, use hci_dev_test_and_clear_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 516018a9c057a7c179dd6b4df917a6f5d43b3547 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:04 2015 -0700 Bluetooth: Introduce hci_dev_test_and_change_flag helper macro Instead of manually coding test_and_change_bit on hdev->dev_flags all the time, use hci_dev_test_and_change_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ce05d603af7c9b5be66a1f3358443e20e2a2ae7a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:03 2015 -0700 Bluetooth: Introduce hci_dev_change_flag helper macro Instead of manually coding change_bit on hdev->dev_flags all the time, use hci_dev_change_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a358dc11d80ecaca443aa1fd2fd9d4f3425922e7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:02 2015 -0700 Bluetooth: Introduce hci_dev_clear_flag helper macro Instead of manually coding clear_bit on hdev->dev_flags all the time, use hci_dev_clear_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a1536da255f16f42b8f069b2769134b32558b265 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:01 2015 -0700 Bluetooth: Introduce hci_dev_set_flag helper macro Instead of manually coding set_bit on hdev->dev_flags all the time, use hci_dev_set_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d7a5a11d7fa80beb43d5f7cb421c86f9b4d21200 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 13 02:11:00 2015 -0700 Bluetooth: Introduce hci_dev_test_flag helper macro Instead of manually coding test_bit on hdev->dev_flags all the time, use hci_dev_test_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit cc91cb042ce5dab66fedeb94260b18f193ed33d9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Mar 12 22:30:58 2015 -0700 Bluetooth: Add support connectable advertising setting The patch adds a second advertising setting that allows switching of the controller into connectable mode independent of the global connectable setting. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit dc0961bc816b9365cb37a68b34e84b625f7c7f0f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:36 2015 +0100 ARM: cns3xxx: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Krzysztof Halasa <khalasa@xxxxxxx> commit 265567fbca7136f1cf45cb49a630cf7109a2308a Author: Torsten Fleischer <torfl6749@xxxxxxxxx> Date: Mon Feb 23 17:54:11 2015 +0100 dmaengine: at_hdmac: Add support for memory to memory sg transfers This patch adds support for memory to memory scatter-gather transfers. Changes from V1: * Fixed coding style of the multi-line comments. Changes from V2: * Added setup of 'desc->tx_width' that is needed to calculate the residue. Signed-off-by: Torsten Fleischer <torfl6749@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2ee762b34899328e0cf561b77adca841794f104c Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 11 22:13:50 2015 -0500 drm: %pF is only for function pointers Use %pS for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pF expects a function descriptor. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7aa5d5097dbae28ea1edbe95689f26412ce68c65 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 9 23:08:00 2015 +0200 Staging: rtl8192u: Use __packed instead of __attribute__((packed)) This patch fixed the following checkpatch.pl warning: "WARNING: __packed is preferred over __attribute__((packed))". Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91ca9ed7975529ebb48d14b958fcbe41d0f6a438 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 09:54:57 2015 +0100 Staging: lustre: fix space issue in workitem.c This patch fixes a space issue in the workitem.c file Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fba9e07208c0f9d92d9f73761c99c8612039da44 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:40 2015 -0700 clocksource: Rename __clocksource_updatefreq_*() to __clocksource_update_freq_*() Ingo requested this function be renamed to improve readability, so I've renamed __clocksource_updatefreq_scale() as well as the __clocksource_updatefreq_hz/khz() functions to avoid squishedtogethernames. This touches some of the sh clocksources, which I've not tested. The arch/arm/plat-omap change is just a comment change for consistency. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-13-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8cc8c525ad4e7b581cacf84119e1a28dcb4044db Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:39 2015 -0700 clocksource: Add some debug info about clocksources being registered Print the mask, max_cycles, and max_idle_ns values for clocksources being registered. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-12-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3142f76022fe46f6e0a0d3940b23fb6ccb794692 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:38 2015 -0700 clocksource, sparc32: Convert to using clocksource_register_hz() While cleaning up some clocksource code, I noticed the time_32 implementation uses the clocksource_hz2mult() helper, but doesn't use the clocksource_register_hz() method. I don't believe the Sparc clocksource is a default clocksource, so we shouldn't need to self-define the mult/shift pair. So convert the time_32.c implementation to use clocksource_register_hz(). Untested. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-11-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f8935983f110505daa38e8d36ee406807f83a069 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:37 2015 -0700 clocksource: Mostly kill clocksource_register() A long running project has been to clean up remaining uses of clocksource_register(), replacing it with the simpler clocksource_register_khz/hz() functions. However, there are a few cases where we need to self-define our mult/shift values, so switch the function to a more obviously internal __clocksource_register() name, and consolidate much of the internal logic so we don't have duplication. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-10-git-send-email-john.stultz@xxxxxxxxxx [ Minor cleanups. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0b046b217ad4c64fbbeaaac24d0648cb1fa49ad8 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:36 2015 -0700 clocksource: Improve clocksource watchdog reporting The clocksource watchdog reporting has been less helpful then desired, as it just printed the delta between the two clocksources. This prevents any useful analysis of why the skew occurred. Thus this patch tries to improve the output when we mark a clocksource as unstable, printing out the cycle last and now values for both the current clocksource and the watchdog clocksource. This will allow us to see if the result was due to a false positive caused by a problematic watchdog. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-9-git-send-email-john.stultz@xxxxxxxxxx [ Minor cleanups of kernel messages. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4ca22c2648f9c1cec0b242f58d7302136f5a4cbb Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:35 2015 -0700 timekeeping: Add warnings when overflows or underflows are observed It was suggested that the underflow/overflow protection should probably throw some sort of warning out, rather than just silently fixing the issue. So this patch adds some warnings here. The flag variables used are not protected by locks, but since we can't print from the reading functions, just being able to say we saw an issue in the update interval is useful enough, and can be slightly racy without real consequence. The big complication is that we're only under a read seqlock, so the data could shift under us during our calculation to see if there was a problem. This patch avoids this issue by nesting another seqlock which allows us to snapshot the just required values atomically. So we shouldn't see false positives. I also added some basic rate-limiting here, since on one build machine w/ skewed TSCs it was fairly noisy at bootup. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-8-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 057b87e3161d1194a095718f9918c01b2c389e74 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:34 2015 -0700 timekeeping: Try to catch clocksource delta underflows In the case where there is a broken clocksource where there are multiple actual clocks that aren't perfectly aligned, we may see small "negative" deltas when we subtract 'now' from 'cycle_last'. The values are actually negative with respect to the clocksource mask value, not necessarily negative if cast to a s64, but we can check by checking the delta to see if it is a small (relative to the mask) negative value (again negative relative to the mask). If so, we assume we jumped backwards somehow and instead use zero for our delta. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-7-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a558cd021d83b65c47ee5b9bec1fcfe5298a769f Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:33 2015 -0700 timekeeping: Add checks to cap clocksource reads to the 'max_cycles' value When calculating the current delta since the last tick, we currently have no hard protections to prevent a multiplication overflow from occuring. This patch introduces infrastructure to allow a cap that limits the clocksource read delta value to the 'max_cycles' value, which is where an overflow would occur. Since this is in the hotpath, it adds the extra checking under CONFIG_DEBUG_TIMEKEEPING=y. There was some concern that capping time like this could cause problems as we may stop expiring timers, which could go circular if the timer that triggers time accumulation were mis-scheduled too far in the future, which would cause time to stop. However, since the mult overflow would result in a smaller time value, we would effectively have the same problem there. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-6-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3c17ad19f0697ffe5ef7438cdafc2d2b7757d8a5 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:32 2015 -0700 timekeeping: Add debugging checks to warn if we see delays Recently there's been requests for better sanity checking in the time code, so that it's more clear when something is going wrong, since timekeeping issues could manifest in a large number of strange ways in various subsystems. Thus, this patch adds some extra infrastructure to add a check to update_wall_time() to print two new warnings: 1) if we see the call delayed beyond the 'max_cycles' overflow point, 2) or if we see the call delayed beyond the clocksource's 'max_idle_ns' value, which is currently 50% of the overflow point. This extra infrastructure is conditional on a new CONFIG_DEBUG_TIMEKEEPING option, also added in this patch - default off. Tested this a bit by halting qemu for specified lengths of time to trigger the warnings. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-5-git-send-email-john.stultz@xxxxxxxxxx [ Improved the changelog and the messages a bit. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e79d74ab25339437447478e4dfe2b35c5b560512 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Mar 12 16:57:51 2015 +0100 ALSA: control: Fix breakage of user ctl element addition In the commit [2225e79b9b03: 'ALSA: core: reduce stack usage related to snd_ctl_new()'], the id field of the newly added kctl is untouched, thus all attribute like name string remain empty. The fix is just to add the forgotten memcpy of the id field. Fixes: 2225e79b9b03 ('ALSA: core: reduce stack usage related to snd_ctl_new()') Reviewed-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5e1459ca13eddea516f8c56122cb3253e7b0e03e Merge: 719a11c 098a697 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 13 01:57:16 2015 -0400 Merge branch 'tcp_metrics_netns_debloat' Eric W. Biederman says: ==================== tcp_metrics: Network namespace bloat reduction v3 This is a small pile of patches that convert tcp_metrics from using a hash table per network namespace to using a single hash table for all network namespaces. This is broken up into several patches so that each small step along the way could be carefully scrutinized as I wrote it, and equally so that each small step can be reviewed. There are several cleanups included in this series. The addition of panic calls during boot where we can not handle failure, and not trying simplifies the code. The removal of the return code from tcp_metrics_flush_all. The motivation for this change is that the tcp_metrics hash table at 128KiB is one of the largest components of a freshly allocated network namespace. I am resending the the previous version I sent has suffered bitrot, so I have respun the patches so that they apply. I believe I have addressed all of the review concerns except optimal behavior on little machines with 32-byte cache lines, which is beyond me as even the current code has bad behavior in that case. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 098a697b497e3154a1a583c1d34c67568acaadcc Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:07:44 2015 -0500 tcp_metrics: Use a single hash table for all network namespaces. Now that all of the operations are safe on a single hash table accross network namespaces, allocate a single global hash table and update the code to use it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04f721c671656f93de888b1d176ba30b7336cca3 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:07:10 2015 -0500 tcp_metrics: Rewrite tcp_metrics_flush_all Rewrite tcp_metrics_flush_all so that it can cope with entries from different network namespaces on it's hash chain. This is based on the logic in tcp_metrics_nl_cmd_del for deleting a selection of entries from a tcp metrics hash chain. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a4bff714fc088729abdd479acbfe934ddf16f7e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:06:43 2015 -0500 tcp_metrics: Remove the unused return code from tcp_metrics_flush_all tcp_metrics_flush_all always returns 0. Remove the unnecessary return code. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 849e8a0ca8d5d286510ab30b5f67b91aa6965ef6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:05:52 2015 -0500 tcp_metrics: Add a field tcpm_net and verify it matches on lookup In preparation for using one tcp metrics hash table for all network namespaces add a field tcpm_net to struct tcp_metrics_block, and verify that field on all hash table lookups. Make the field tcpm_net of type possible_net_t so it takes no space when network namespaces are disabled. Further add a function tm_net to read that field so we can be efficient when network namespaces are disabled and concise the rest of the time. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e5da62d0bcbfa86332f66cca0e3983e70557fac Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:05:24 2015 -0500 tcp_metrics: Mix the network namespace into the hash function. In preparation for using one hash table for all network namespaces mix the network namespace into the hash value. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6493517eaea9b052e081e557f7c8bb06cc6b1852 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Mar 13 00:04:51 2015 -0500 tcp_metrics: panic when tcp_metrics_init fails. There is not a practical way to cleanup during boot so just panic if there is a problem initializing tcp_metrics. That will at least give us a clear place to start debugging if something does go wrong. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66ee59af630fd8d5f4f56fb28162857e629aa0ab Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Feb 11 19:56:46 2015 +0100 fs: remove ki_nbytes There is no need to pass the total request length in the kiocb, as we already get passed in through the iov_iter argument. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 719a11cdbf57b7bdd6c87ded00fd7cb36a76a6a3 Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Fri Mar 13 11:00:58 2015 +0900 vxlan: Don't set s_addr in vxlan_create_sock In the case of AF_INET s_addr was set to INADDR_ANY (0) which which both symmetric with the AF_INET6 case, where s_addr is not set, and unnecessary as udp_conf is zeroed out earlier in the same function. I suspect this change does not have any run-time effect due to compiler optimisations. But it does make the code a little easier on the/my eyes. Cc: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76fecd8275be6de76513430e7526825944ab932f Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Mar 12 18:22:59 2015 -0500 mpls: In mpls_egress verify the packet length. Reobert Shearman noticed that mpls_egress is failing to verify that the bytes to be examined are in fact present in the packet before mpls_egress reads those bytes. As suggested by David Miller reduce this to a single pskb_may_pull call so that we don't do unnecessary work in the fast path. Reported-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c29b2354a06f42493ddd2a5eb65962981e666ed Author: Jaeden Amero <jaeden.amero@xxxxxx> Date: Thu Mar 12 18:07:54 2015 -0500 net/macb: Only adjust tx_clk on link change The PHY state machine (in drivers/net/phy/phy.c) will unconditionally call phydev->adjust_link (macb_handle_link_change) when polling in the PHY_CHANGELINK state. As currently written, macb always ends up requesting a new tx_clk frequency in macb_handle_link_change. It is a waste of time to request a new tx_clk frequency if the link state hasn't changed, as the tx_clk will already be configured properly. Let's only request a new tx_clk clock frequency when necessary. Signed-off-by: Jaeden Amero <jaeden.amero@xxxxxx> Cc: Josh Cartwright <joshc@xxxxxx> Cc: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 393619474ec0ba2a16dee12ec78fd43164f1e9b7 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Mar 13 12:54:10 2015 +1100 rhashtable: Fix read-side crash during rehash This patch fixes a typo rhashtable_lookup_compare where we fail to recompute the hash when looking up the new table. This causes elements to be missed and potentially a crash during a resize. Reported-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5b6846f9e1a080493210013385c28faecee36f0 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Mar 12 15:28:40 2015 +0100 rhashtable: kill ht->shift atomic operations Commit c0c09bfdc415 ("rhashtable: avoid unnecessary wakeup for worker queue") changed ht->shift to be atomic, which is actually unnecessary. Instead of leaving the current shift in the core rhashtable structure, it can be cached inside the individual bucket tables. There, it will only be initialized once during a new table allocation in the shrink/expansion slow path, and from then onward it stays immutable for the rest of the bucket table liftime. That allows shift to be non-atomic. The patch also moves hash_rnd management into the table setup. The rhashtable structure now consumes 3 instead of 4 cachelines. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9497df88ab5567daa001829051c5f87161a81ff0 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 22:07:49 2015 +1100 rhashtable: Fix reader/rehash race There is a potential race condition between readers and the rehasher. In particular, the rehasher could have started a rehash while the reader finishes a scan of the old table but fails to see the new table pointer. This patch closes this window by adding smp_wmb/smp_rmb. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ff0d16aac91857246770f477942878a4d4f31f7 Merge: 54720df 3f66b08 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 12 22:58:27 2015 -0400 Merge branch 'listener_refactor' Eric Dumazet says: ==================== inet: tcp listener refactoring, part 8 These patches prepare request socks being hashed into general ehash table : We declare 3 aliases (ireq_state, ireq_refcnt, ireq_family) Note that refcnt is not yet handled, this will be done later. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f66b083a5b7f1a63540c24df3679c24f2e935a9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:10 2015 -0700 inet: introduce ireq_family Before inserting request socks into general hash table, fill their socket family. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4f06873b636519cedbe8d2eeae77c713c6a121c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:09 2015 -0700 inet: get_openreq4() & get_openreq6() do not need listener ireq->ir_num contains local port, use it. Also, get_openreq4() dumping listen_sk->refcnt makes litle sense. inet_diag_fill_req() can also use ireq->ir_num Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41b822c59e21414d829bcfd00df0c8f7f13b1b95 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:08 2015 -0700 inet: prepare sock_edemux() & sock_gen_put() for new SYN_RECV state sock_edemux() & sock_gen_put() should be ready to cope with request socks. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0159dfd3d7dff2da646f53039d29319b830207be Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:07 2015 -0700 net: add req_prot_cleanup() & req_prot_init() helpers Make proto_register() & proto_unregister() a bit nicer. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e2e01172fd11b4dbfee746c0c8fbcaa9dbf22a0 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:06 2015 -0700 inet: add rsk_refcnt/ireq_refcnt to request socks When request socks will be in ehash, they'll need to be refcounted. This patch adds rsk_refcnt/ireq_refcnt macros, and adds reqsk_put() function, but nothing yet use them. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d34ac51b76e8c7de6094cfb11780ef9c2b93469f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:05 2015 -0700 inet: add ireq_state field to inet_request_sock We need to identify request sock when they'll be visible in global ehash table. ireq_state is an alias to req.__req_common.skc_state. Its value is set to TCP_NEW_SYN_RECV Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10feb428a5045d5eb18a5d755fbb8f0cc9645626 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:04 2015 -0700 inet: add TCP_NEW_SYN_RECV state TCP_SYN_RECV state is currently used by fast open sockets. Initial TCP requests (the pseudo sockets created when a SYN is received) are not yet associated to a state. They are attached to their parent, and the parent is in TCP_LISTEN state. This commit adds TCP_NEW_SYN_RECV state, so that we can convert TCP stack to a different schem gradually. This state is not exported to user space. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd337c581b2b0d933d37f664bf55b342577fed3a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 12 16:44:03 2015 -0700 ipv6: add missing ireq_net & ir_cookie initializations I forgot to update dccp_v6_conn_request() & cookie_v6_check(). They both need to set ireq->ireq_net and ireq->ir_cookie Lets clear ireq->ir_cookie in inet_reqsk_alloc() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 33cf7c90fe2f ("net: add real socket cookies") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b25385761976f4670b83548f3276183d7b4ceac Merge: 1662e86 13211ea Author: Marcelo Tosatti <mtosatt@xxxxxxxxxx> Date: Thu Mar 12 22:09:35 2015 -0300 Merge tag 'kvm-s390-next-20150306' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into queue KVM: s390: Features and Fixes for 4.1 (kvm/next) 1. Several Fixes and enhancements --------------------------------- - These 3 patches have cc stable: b75f4c9 KVM: s390: Zero out current VMDB of STSI before including level3 data. 261520d KVM: s390: fix handling of write errors in the tpi handler 15462e3 KVM: s390: reinjection of irqs can fail in the tpi handler 2. SIMD support the kernel part (introduced with z13) ----------------------------------------------------- - two KVM-generic changes in kvm.h: 1. New capability that can be enabled: KVM_CAP_S390_VECTOR_REGISTERS 2. increased padding size for sync regs in struct kvm_run to clarify that sync regs can be larger than 1k. This is fine as this is the last element in the structure. commit 1662e862a87110f742a144210c59dc0e8a112bc9 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Mar 12 14:59:26 2015 +0100 KVM: MAINTAINERS: add file arch/x86/kernel/kvm.c|kvmclock.c The KVM list should be CCed on changes for arch/x86/kernel/kvm.c and arch/x86/kernel/kvmclock.c Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 0372c1abdd0dc22d92b2c803c097399d7e037f81 Merge: 40aad09 01e84c7 Author: Chris Zankel <chris@xxxxxxxxxx> Date: Fri Mar 13 00:41:32 2015 +0000 Merge tag 'xtensa-for-next-20150304' of git://github.com/jcmvbkbc/linux-xtensa into for_next Xtensa fixes for 4.0: - make xtfpgs LCD driver functional and configurable. This fixes hardware lockup on KC705/ML605 boot; - wire bpf and execveat syscalls; - provide __NR_sync_file_range2 instead of __NR_sync_file_range, as that's what xtensa uses. commit 40aad098c2a06b9cccd8ac1ef8407fd1677fe913 Merge: bfa76d49 04ddc5b Author: Chris Zankel <chris@xxxxxxxxxx> Date: Fri Mar 13 00:39:30 2015 +0000 Merge tag 'xtensa-for-next-20150207' of git://github.com/jcmvbkbc/linux-xtensa into for_next Xtensa improvements for 3.20: - add audio subsystem bits to xtfpga DTS and provide sample KC705 config with audio features enabled. commit 646c0282df04265f77ebd5ad3beae671e59acd5b Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Mar 12 12:30:15 2015 -0500 PCI: Fail pci_ioremap_bar() on unassigned resources Make pci_ioremap_bar() fail if we're trying to map a BAR that hasn't been assigned. Normally pci_enable_device() will fail if a BAR hasn't been assigned, but a driver can successfully call pci_enable_device_io() even if a memory BAR hasn't been assigned. That driver should not be able to use pci_ioremap_bar() to map that unassigned memory BAR. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1f7bf3bfb5d60c87dcaa708fd9eabbec93f15830 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Mar 12 12:30:11 2015 -0500 PCI: Show driver, BAR#, and resource on pci_ioremap_bar() failure Use dev_warn() to complain about a pci_ioremap_bar() failure so we can include the driver name, BAR number, and the resource itself. We could use dev_WARN() to also get the backtrace as we did previously, but I think that's more information than we need. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c770cb4cb505c096eaca0fbbca3169c3aa4c3474 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Mar 12 12:30:06 2015 -0500 PCI: Mark invalid BARs as unassigned If a BAR is not inside any upstream bridge window, or if it conflicts with another resource, mark it as IORESOURCE_UNSET so we don't try to use it. We may be able to assign a different address for it. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 91d5cb737287642b75e47790a28a43cd0efd80cb Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Mar 7 23:18:12 2015 +0100 ARM: dts: rockchip: complete rk3288-evb pmic supplies This adds the static vcc_sys regulator to the rk3288-evb, the missing rk808 supplies from it and all the supplies of the act8846 evb-variant. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 54720df130b3e6356391ed4f8a1a024318bcae23 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Mar 12 20:03:12 2015 +0100 cls_bpf: do eBPF invocation under non-bh RCU lock variant for maps Currently, it is possible in cls_bpf to access eBPF maps only under rcu_read_lock_bh() variants: while on ingress side, that is, handle_ing(), the classifier would be called from __netif_receive_skb_core() under rcu_read_lock(); on egress side, however, it's rcu_read_lock_bh() via __dev_queue_xmit(). This rcu/rcu_bh mix doesn't work together with eBPF maps as they require soley to be called under rcu_read_lock(). eBPF maps could also be shared among various other eBPF programs (possibly even with other eBPF program types, f.e. tracing) and user space processes, so any context is assumed. Therefore, a possible fix for cls_bpf is to wrap/nest eBPF program invocation under non-bh RCU lock variant. Fixes: e2e9b6541dd4 ("cls_bpf: add initial eBPF support for programmable classifiers") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06741d055bb1a630f793e36a486a209698ea672b Merge: 80f1d68 0b65bd9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 12 18:26:58 2015 -0400 Merge branch 'fib_trie_table_merge_fixes' Alexander Duyck says: ==================== fib_trie: Minor fixes for table merge This patch set addresses two issues reported with the tables merged, the first is a NULL pointer dereference, and the other is to remove a WARN_ON and set the ordering for aliases from different tables with the same slen values. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b65bd97ba5fc2c43fa4d077e7420f3ec09a40b3 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Mar 12 14:46:29 2015 -0700 fib_trie: Provide a deterministic order for fib_alias w/ tables merged This change makes it so that we should always have a deterministic ordering for the main and local aliases within the merged table when two leaves overlap. So for example if we have a leaf with a key of 192.168.254.0. If we previously added two aliases with a prefix length of 24 from both local and main the first entry would be first and the second would be second. When I was coding this I had added a WARN_ON should such a situation occur as I wasn't sure how likely it would be. However this WARN_ON has been triggered so this is something that should be addressed. With this patch the ordering of the aliases is as follows. First they are sorted on prefix length, then on their table ID, then tos, and finally priority. This way what we end up doing is essentially interleaving the two tables on what used to be leaf_info structure boundaries. Fixes: 0ddcf43d5 ("ipv4: FIB Local/MAIN table collapse") Reported-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c9e9f7320f0138497ef7879c0903246746e0ed3 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Mar 12 14:46:23 2015 -0700 fib_trie: Avoid NULL pointer if local table is not allocated The function fib_unmerge assumed the local table had already been allocated. If that is not the case however when custom rules are applied then this can result in a NULL pointer dereference. In order to prevent this we must check the value of the local table pointer and if it is NULL simply return 0 as there is no local table to separate from the main. Fixes: 0ddcf43d5 ("ipv4: FIB Local/MAIN table collapse") Reported-by: Madhu Challa <challa@xxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c60d25fa1b22fdcf141f8006d31c32b08db7311 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 9 05:37:47 2015 -0800 rcu: Add diagnostics to grace-period cleanup At grace-period initialization time, RCU checks that all quiescent states were really reported for the previous grace period. Now that grace-period cleanup has been split out of grace-period initialization, this commit also performs those checks at grace-period cleanup time. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 186bea5d35c821d49e70015d0a6eb73fe9f55d8c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 29 16:37:19 2015 -0800 rcutorture: Default to grace-period-initialization delays Given that CPU-hotplug events are now applied only at the starts of grace periods, it makes sense to unconditionally enable slow grace-period initialization for rcutorture testing. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 88428cc5c27c63a4313e213813bc39b9899224d5 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 28 14:42:09 2015 -0800 rcu: Handle outgoing CPUs on exit from idle loop This commit informs RCU of an outgoing CPU just before that CPU invokes arch_cpu_idle_dead() during its last pass through the idle loop (via a new CPU_DYING_IDLE notifier value). This change means that RCU need not deal with outgoing CPUs passing through the scheduler after informing RCU that they are no longer online. Note that removing the CPU from the rcu_node ->qsmaskinit bit masks is done at CPU_DYING_IDLE time, and orphaning callbacks is still done at CPU_DEAD time, the reason being that at CPU_DEAD time we have another CPU that can adopt them. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 528a25b00e1f84eaba6c98e63f58ee0a8e472102 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 28 14:09:43 2015 -0800 cpu: Make CPU-offline idle-loop transition point more precise This commit uses a per-CPU variable to make the CPU-offline code path through the idle loop more precise, so that the outgoing CPU is guaranteed to make it into the idle loop before it is powered off. This commit is in preparation for putting the RCU offline-handling code on this code path, which will eliminate the magic one-jiffy wait that RCU uses as the maximum time for an outgoing CPU to get all the way through the scheduler. The magic one-jiffy wait for incoming CPUs remains a separate issue. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c199068913c9c5cbb5498e289bb387703e087ea8 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 23 22:29:37 2015 -0800 rcu: Eliminate ->onoff_mutex from rcu_node structure Because that RCU grace-period initialization need no longer exclude CPU-hotplug operations, this commit eliminates the ->onoff_mutex and its uses. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 0aa04b055e71bd3b8040dd71a126126c66b6f01e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 23 21:52:37 2015 -0800 rcu: Process offlining and onlining only at grace-period start Races between CPU hotplug and grace periods can be difficult to resolve, so the ->onoff_mutex is used to exclude the two events. Unfortunately, this means that it is impossible for an outgoing CPU to perform the last bits of its offlining from its last pass through the idle loop, because sleeplocks cannot be acquired in that context. This commit avoids these problems by buffering online and offline events in a new ->qsmaskinitnext field in the leaf rcu_node structures. When a grace period starts, the events accumulated in this mask are applied to the ->qsmaskinit field, and, if needed, up the rcu_node tree. The special case of all CPUs corresponding to a given leaf rcu_node structure being offline while there are still elements in that structure's ->blkd_tasks list is handled using a new ->wait_blkd_tasks field. In this case, propagating the offline bits up the tree is deferred until the beginning of the grace period after all of the tasks have exited their RCU read-side critical sections and removed themselves from the list, at which point the ->wait_blkd_tasks flag is cleared. If one of that leaf rcu_node structure's CPUs comes back online before the list empties, then the ->wait_blkd_tasks flag is simply cleared. This of course means that RCU's notion of which CPUs are offline can be out of date. This is OK because RCU need only wait on CPUs that were online at the time that the grace period started. In addition, RCU's force-quiescent-state actions will handle the case where a CPU goes offline after the grace period starts. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit cc99a310caf811aebbd0986f433d824e4a5e7ce5 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 08:59:29 2015 -0800 rcu: Move rcu_report_unblock_qs_rnp() to common code The rcu_report_unblock_qs_rnp() function is invoked when the last task blocking the current grace period exits its outermost RCU read-side critical section. Previously, this was called only from rcu_read_unlock_special(), and was therefore defined only when CONFIG_RCU_PREEMPT=y. However, this function will be invoked even when CONFIG_RCU_PREEMPT=n once CPU-hotplug operations are processed only at the beginnings of RCU grace periods. The reason for this change is that the last task on a given leaf rcu_node structure's ->blkd_tasks list might well exit its RCU read-side critical section between the time that recent CPU-hotplug operations were applied and when the new grace period was initialized. This situation could result in RCU waiting forever on that leaf rcu_node structure, because if all that structure's CPUs were already offline, there would be no quiescent-state events to drive that structure's part of the grace period. This commit therefore moves rcu_report_unblock_qs_rnp() to common code that is built unconditionally so that the quiescent-state-forcing code can clean up after this situation, avoiding the grace-period stall. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 8eb74b2b291e7bf6aa59fcb4e59f236382f00bf5 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 13 10:52:28 2015 -0800 rcu: Rework preemptible expedited bitmask handling Currently, the rcu_node tree ->expmask bitmasks are initially set to reflect the online CPUs. This is pointless, because only the CPUs preempted within RCU read-side critical sections by the preceding synchronize_sched_expedited() need to be tracked. This commit therefore instead sets up these bitmasks based on the state of the ->blkd_tasks lists. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit eea97aed815ac25b9435a556fce345d257f47405 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Thu Mar 12 10:33:46 2015 -0700 MAINTAINERS: add entry for Generic PM domains (genpd) Add entry for genpd with Rafael, myself and Ulf as co-maintainers. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d1b12075ffa808dce33dd46b7ad035bebf8da215 Author: Olivier Sobrie <olivier@xxxxxxxxx> Date: Thu Mar 12 14:47:13 2015 -0700 Input: pwm-beeper - remove useless call to pwm_config() Calling pwm_config() with a period equal to zero always results in error (-EINVAL) and pwm chip config method is never called. Signed-off-by: Olivier Sobrie <olivier@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 877bef7de141db241e0c5d06db988b4ecbe29cf3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Mar 12 14:50:36 2015 -0700 Input: sun4i-ts - really fix A10 temperature reporting The commit titled: "Input: sun4i-ts - A10 (sun4i) has a different temperature curve" contains a math error, the offset it uses is in degrees, but the actual code applies the offset before multiplying by stepsize :| Given that this is rather backwards (every math course ever thought applies the multiplication before the offset for linear functions), this commit fixes things by changing the code applying the offset to do the logical thing, adjusting the offset for the other models accordingly. This has been tested on an A10, A13, A20 and A31 to make sure everything really is correct now. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit aeda9130c38e2e0e77c1aaa65292c2f5a81107a8 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Mar 12 18:16:52 2015 +0000 arm/arm64: KVM: Optimize handling of Access Flag faults Now that we have page aging in Stage-2, it becomes obvious that we're doing way too much work handling the fault. The page is not going anywhere (it is still mapped), the page tables are already allocated, and all we want is to flip a bit in the PMD or PTE. Also, we can avoid any form of TLB invalidation, since a page with the AF bit off is not allowed to be cached. An obvious solution is to have a separate handler for FSC_ACCESS, where we pride ourselves to only do the very minimum amount of work. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 35307b9a5f7ebcc8d8db41c73b69c131b48ace2b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Mar 12 18:16:51 2015 +0000 arm/arm64: KVM: Implement Stage-2 page aging Until now, KVM/arm didn't care much for page aging (who was swapping anyway?), and simply provided empty hooks to the core KVM code. With server-type systems now being available, things are quite different. This patch implements very simple support for page aging, by clearing the Access flag in the Stage-2 page tables. On access fault, the current fault handling will write the PTE or PMD again, putting the Access flag back on. It should be possible to implement a much faster handling for Access faults, but that's left for a later patch. With this in place, performance in VMs is degraded much more gracefully. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 1d2ebaccc741a299abfafb848414b01d190f4e33 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Mar 12 18:16:50 2015 +0000 arm/arm64: KVM: Allow handle_hva_to_gpa to return a value So far, handle_hva_to_gpa was never required to return a value. As we prepare to age pages at Stage-2, we need to be able to return a value from the iterator (kvm_test_age_hva). Adapt the code to handle this situation. No semantic change. Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c90570d9511d42421c85709b46bffd366185d835 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Mon Mar 9 10:33:58 2015 +0800 PCI: Assign resources before drivers claim devices (pci_scan_bus()) Previously, pci_scan_bus() created a root PCI bus, enumerated the devices on it, and called pci_bus_add_devices(), which made the devices available for drivers to claim them. Most callers assigned resources to devices after pci_scan_bus() returns, which may be after drivers have claimed the devices. This is incorrect; the PCI core should not change device resources while a driver is managing the device. Remove pci_bus_add_devices() from pci_scan_bus() and do it after any resource assignment in the callers. [bhelgaas: changelog, check for failure in mcf_pci_init()] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> CC: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> CC: Richard Henderson <rth@xxxxxxxxxxx> CC: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> CC: Matt Turner <mattst88@xxxxxxxxx> commit 80f1d68ccba70b1060c9c7360ca83da430f66bed Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Mar 12 17:21:42 2015 +0100 ebpf: verifier: check that call reg with ARG_ANYTHING is initialized I noticed that a helper function with argument type ARG_ANYTHING does not need to have an initialized value (register). This can worst case lead to unintented stack memory leakage in future helper functions if they are not carefully designed, or unintended application behaviour in case the application developer was not careful enough to match a correct helper function signature in the API. The underlying issue is that ARG_ANYTHING should actually be split into two different semantics: 1) ARG_DONTCARE for function arguments that the helper function does not care about (in other words: the default for unused function arguments), and 2) ARG_ANYTHING that is an argument actually being used by a helper function and *guaranteed* to be an initialized register. The current risk is low: ARG_ANYTHING is only used for the 'flags' argument (r4) in bpf_map_update_elem() that internally does strict checking. Fixes: 17a5267067f3 ("bpf: verifier (add verifier core)") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7fe5f1c16c2c7904c7b8fcfb93e691893f21e8d3 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:15 2015 -0700 MAINTAINERS: Add selftests/timers to the timekeeping maintainance list Since I'm adding a bunch of tests to selftests/timers, put me on the hook in the maintainers file. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 0d02a753a5f61cc5b57b83d8bd709cb64fe7e81f Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:14 2015 -0700 selftests/timers: Add set-2038 test from timetest suite Adds the set-2038 test which sets the time to near-edge cases like the start and end of the 32 bit epoch and checks that time behaves properly. There is also a dangerous mode, which lets the clock roll over past 2038 on 32bit systems, which on some older kernels will cause system hangs. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 3a92a15fba68b5c9c8b51ee98a94a3d1ff54c8e5 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:13 2015 -0700 selftests/timers: Add set-tai from the timetest suite This patch adds the set-tai test which ensures the tai offset can be set properly from adjtimex. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit d7b2902c1541f8e65186c4e9dd1bf054b45d49e5 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:12 2015 -0700 selftests/timers: Add leapcrash test from the timetest suite This change adds the leapcrash test which tests to see if a leapsecond deadlock which was observed from 2.6.26 to 3.3 is present on this system. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 5bccfe41532f4b80fc70cd8f78fd965666a46c15 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:11 2015 -0700 selftests/timers: Add leap-a-day test from timetest suite This change adds the leap-a-day test which sets STA_INS and STA_DEL each day to trigger leapseconds each day. It also has a mode to jump the time to right before the end of the day each iteration. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 7290ce1423c38108027ae90116ece6618db32bc3 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:10 2015 -0700 selftests/timers: Add clocksource-switch test from timetest suite Adds the clocksource-switch tests which continually switches the current clocksource between all the available ones, watching for any timekeeping inconsistencies. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 6e8b285bcdd1834a18fd264c88a15418091c4015 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:09 2015 -0700 selftests/timers: Add skew_consistency test from the timetests suite This change adds the skew_consistency test, which twists the ADJ_FREQUENCY knob back and forth and watches for timekeeping inconsistencies. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit d869424558419a4a34a12bd5187b5d6d06ee132f Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:08 2015 -0700 selftests/timers: Add change_skew test from timetest suite This patch adds the change_skew test which validates the adjtimex freq can be set to various values and then using the inconsistency-check, raw_skew, and nanosleep tests ensures time behaves properly. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit b7bb8442fa902272ffe937a226829c9be7bfb14b Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:07 2015 -0700 selftests/timers: Add alarmtimer-suspend test from timetests suite This adds the alarmtimer-suspend test from the timetests suite, which tests that the alarmtimers wake the system up from suspend shortly after the time they were set to fire. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit de52133f1892ed2c385655473df90f3d2797fff9 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:06 2015 -0700 selftests/timers: Add adjtimex validation test from timetest suite This adds a adjtimex validation test which checks the behavior for a set of valida and invalid inputs. So far this only tests ADJ_FREQUENCY, but hopefully will grow. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 274d631e481504e347b491ddb5e18487b855aba5 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:05 2015 -0700 selftests/timers: Add mqueue latency test from the timetest suite Add test to validate mqueue timeout latency from the timetest suite Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit e39b60f37ecbdc0dd3dbc4c80407c6f2376f764f Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:04 2015 -0700 selftests/timers: Add threaded time inconsistency test from timetest suite Add the threaded time inconsistency test from the timetest suite. This checks for time inconsistencies between cpus, usually associated with clock skew as sometimes found w/ TSCs. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 4e40d0a22e728102bfea9543d827ee72206eecbb Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:03 2015 -0700 selftests/timers: Add set-timer-lat test from timetest suite Add my set-timer-lat test from the timetest suite. This test checks the latency from set_timer and reports if any are unreasonable (>40ms). Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 51f91cbdf5450b773eb221a2dfd141a92413370e Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:02 2015 -0700 selftests/timers: Add clock skew estimation test from timetest suite This adds my clock skew estimation test from the timetest suite. It measures the drift between CLOCK_MONOTONIC and CLOCK_MONOTONIC_RAW and compares it with the current frequency value from adjtimex. It sometimes can trigger false failures when ntpd isn't in a steady state, but its a useful too when doing adjtimex testing. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit c5fffcb2bd4e2fdc37875fc4368db49ac927d6df Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:01 2015 -0700 selftests/timers: Add nsleep-lat test from timetest suite Adds my nanosleep latency test from the timetest suite. This checks to make sure we don't see "unreasonable" latencies (> 40ms) when calling nanosleep. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit ed3fe34a2a4e0c9f184a178c48acf20c7acf244e Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:40:00 2015 -0700 selftests/timers: Add inconsistency-check test from timetests This adds my inconsistency-test from my timetests suite, which checks for (single threaded) time inconsistencies across the various clockids. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 689f32fbb81356efac9fac99c740c4c232634c41 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:39:59 2015 -0700 selftests/timers: Add nanosleep test from timetest suite Add my basic nanosleep test from my timetest suite. This test validates that nanosleep doesn't return early against a number of clockids. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 2430ec652dd67243484c90fe34a4433622fc2a30 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:39:58 2015 -0700 selftests/timers: Quiet warning due to lack of return check on brk The posix_timers.c test has a loop that tries to keep it in kernel space, repeatedly calling brk(). However, it doesn't check the return value, which causes warnings. This patch adds a err value which captures the return value and modifies the test so it will quit if a failure occurs. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 03438212d0b0ea2cf201e921c9056f683c624ffb Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 17:39:57 2015 -0700 selftests/timers: Cleanup Makefile to make it easier to add future tests Try to streamline the makefile so its easier to add timer/timekeeping tests. Also adds support for the CROSS_COMPILE variable. Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 5cf065f556cb5926127b52563f494c2dd0a878e4 Merge: 306c342 aaa6d06 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Mar 11 17:07:37 2015 -0700 Merge branch 'clk-fixes' into clk-next commit 306c342f9cb1f573af57a6afd1b3549aa97b9281 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Feb 5 15:39:11 2015 -0800 clk: Replace of_clk_get_by_clkspec() with of_clk_get_from_provider() of_clk_get_by_clkspec() has the same function signature as of_clk_get_from_provider() struct clk *of_clk_get_by_clkspec(struct of_phandle_args *clkspec) struct clk *of_clk_get_from_provider(struct of_phandle_args *clkspec) except of_clk_get_by_clkspec() checks to make sure clkspec is not NULL. Let's remove of_clk_get_by_clkspec() and replace the callers of it (clkconf.c) with of_clk_get_from_provider(). Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Reviewed-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 50595f8b9e78b3c80d341bf9da3e7848d9abbe2a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Feb 6 11:42:44 2015 -0800 clk: Rename child_node to clks_node to avoid confusion The child_node member of struct clk is named the same as the child_node member of struct clk_core. Let's rename the struct clk's member to clks_node to avoid getting confused with the child_node member of struct clk_core and to match the name of the list head, clks. Reviewed-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Cc: Alban Browaeys <alban.browaeys@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9d3745d44a7faa7d24db7facb1949a1378162f3e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Mar 6 15:41:53 2015 -0800 clk: qcom: Properly change rates for ahbix clock The ahbix clock can never be turned off in practice. To change the rates we need to switch the mux off the M/N counter to an always on source (XO), reprogram the M/N counter to get the rate we want and finally switch back to the M/N counter. Add a new ops structure for this type of clock so that we can set the rate properly. Fixes: c99e515a92e9 "clk: qcom: Add IPQ806X LPASS clock controller (LCC) driver" Tested-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 718b25c803df8c1f8f2090c115911d123e34c78a Author: Anish Kumar <yesanishhere@xxxxxxxxx> Date: Wed Mar 11 15:13:16 2015 -0700 ASoC: max98925: trivial duplicate typo fix in set_fmt Signed-off-by: Anish Kumar <yesanishhere@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 42ce5b8ab81e94089c79791fc682a7f46af9790a Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Thu Mar 12 20:25:07 2015 +0800 ASoC: rt5645: Add TDM support for rt5650 rt5650 and rt5645 use different register bits for TDM configuration. This patch modifies rt5645_set_tdm_slot to support both codecs. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 65bd20046f15c9c465df7aa9b86491e56e9c0d25 Merge: 0bf0ff8 b2f0e5f Author: Michael Turquette <mturquette@xxxxxxxxxx> Date: Fri Mar 6 11:21:13 2015 -0800 Merge tag 'v3.20-exynos5433-clk' of git://linuxtv.org/snawrocki/samsung into clk-next Clock controller driver for Exynos 5433 SoC. commit 0bf0ff82c34da02ee5795101b328225a2d519594 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Feb 23 13:30:28 2015 -0800 clk: qcom: Fix i2c frequency table PXO is 25MHz, not 27MHz. Fix the table. Fixes: 24d8fba44af3 "clk: qcom: Add support for IPQ8064's global clock controller (GCC)" Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Tested-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit b61c43c09f5e2b9bf8f340034c5ef1db8c64efa5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Feb 2 14:11:25 2015 -0800 clk: clk_set_parent() with current parent shouldn't fail If a driver calls clk_set_parent(clk, parent) and parent is the current parent of clk we shouldn't fail in any case. Unfortunately if clk is a read-only mux we return -ENOSYS because we think we can't change the parent, except for in this special case where we don't actually need to change the parent at all. Return 0 in such a situation. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit dfc202ead3123988793ac1160849676000b77ee4 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Feb 2 14:37:41 2015 -0800 clk: Add tracepoints for hardware operations It's useful to have tracepoints around operations that change the hardware state so that we can debug clock hardware performance and operations. Four basic types of events are supported: on/off events for enable, disable, prepare, unprepare that only record an event and a clock name, rate changing events for clk_set_{min_,max_}rate{_range}(), phase changing events for clk_set_phase() and parent changing events for clk_set_parent(). Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 08b9575660cd6d654c05314fc41d2209f2d8bdfb Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Feb 2 14:09:43 2015 -0800 clk: Missing set_phase op is an error If a clock's clk_ops doesn't have the set_phase op set we should return an error from clk_set_phase(). This way clock consumers know that when they tried to set a phase it didn't work, as opposed to the current behavior where the return value is 0 meaning success. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 6b54783620bcfaff37ad41e957d29c326211cc18 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Feb 2 15:37:04 2015 +0200 clk: fractional-divider: support for divider bypassing If the divider or multiplier values are 0 in the register, bypassing the divider and returning the parent clock rate in clk_fd_recalc_rate(). Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> [mturquette@xxxxxxxxxx: fixed commitlog typo] commit 496eadf821c2a5111a4b1b401ddda8d1fc18fb0b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jan 9 09:28:10 2015 +0100 clk: Use lockdep asserts to find missing hold of prepare_lock Add lockdep asserts for holding the prepare_lock to all functions marking this as a requirement in description. Add this to private and exported functions so all locking misuse could be detected during debugging. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx> commit 3814c204446822cd3c82ec4e8616600732c1f94e Author: Lu, Han <han.lu@xxxxxxxxx> Date: Thu Mar 12 13:53:02 2015 +0800 ASoC: Intel: add kcontrol to set parameter to sound effect module waves Each kcontrol command includes a line of parameters up to 128 bytes. kcontrol command to set param: cset "name='Waves Set Param' <0x01,0xff,...>" or cset-bin-file "name='Waves Set Param' <path/to/binary/config/file>" The parameter lines are stored in a buffer array, so can be read back from buffer rather than from DSP, and be relaunched to DSP when resume from RTD3. The buffer size is 160 parameter lines. kcontrol command to reset the buffer: cset "name='Waves Set Param' 0xff" alsa-lib v1.0.29 or commit 6ea14c36 and f47480af are required to support the kcontrol commands. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 201892268b8335ae8c9dc7cc9a0d4bf6e1336f0e Author: Lu, Han <han.lu@xxxxxxxxx> Date: Thu Mar 12 13:53:01 2015 +0800 ASoC: Intel: add function to set parameter to sound effect module waves Add function to set parameters to module waves. The parameters can be set only when module is enabled, and parameter size is limited to 500 Bytes. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76c07b8265c68d9a89fb4c0a634e373a087f11be Author: Lu, Han <han.lu@xxxxxxxxx> Date: Thu Mar 12 13:53:00 2015 +0800 ASoC: Intel: add kcontrol to enable/disable sound effect module waves Add kcontrol to enable/disable module waves. IPC is valid only when module is loaded. Also track module state over suspend so it's state can be restored on resume. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 20453d88ccb6eb269787f37181202625fc12ccdc Merge: 6c7005f 0c5c9fb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 12 14:39:44 2015 -0400 Merge branch 'possible_net_t' Eric W. Biederman says: ==================== Introduce possible_net_t The current usage of write_pnet and read_pnet is a little laborious and error prone as you only notice if you failed to include them if are compiling with network namespaces enabled. possible_net_t remedies that by using a type that is 0 bytes when network namespaces are disabled and can only be read and written to with read_pnet and write_pnet. Aka less work and safer for the same effect. I kill hold_net and release_net first as are they are haven't been used since 2008 and are noise at the points where write_pnet and read_pnet are used. I have folded in Eric Dumazets suggestions to improve the killing of hold_net and release net. And respon. I had to respin anyway as there was enough changes elsewhere in the tree the previous version of these patches did not quite apply cleanly. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c5c9fb55106333e773de8c9dd321fa8240caeb3 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Mar 11 23:06:44 2015 -0500 net: Introduce possible_net_t Having to say > #ifdef CONFIG_NET_NS > struct net *net; > #endif in structures is a little bit wordy and a little bit error prone. Instead it is possible to say: > typedef struct { > #ifdef CONFIG_NET_NS > struct net *net; > #endif > } possible_net_t; And then in a header say: > possible_net_t net; Which is cleaner and easier to use and easier to test, as the possible_net_t is always there no matter what the compile options. Further this allows read_pnet and write_pnet to be functions in all cases which is better at catching typos. This change adds possible_net_t, updates the definitions of read_pnet and write_pnet, updates optional struct net * variables that write_pnet uses on to have the type possible_net_t, and finally fixes up the b0rked users of read_pnet and write_pnet. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efd7ef1c1929d7a0329d4349252863c04d6f1729 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Mar 11 23:04:08 2015 -0500 net: Kill hold_net release_net hold_net and release_net were an idea that turned out to be useless. The code has been disabled since 2008. Kill the code it is long past due. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c7005f6cb1bf63bb1f505ef69364fb2cc00628e Merge: 6b9f53b ec9f71c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 12 14:35:35 2015 -0400 Merge branch 'rhashtable-cleanups' Herbert Xu says: ==================== rhashtable hash cleanups This is a rebase on top of the nested lock annotation fix. Nothing to see here, just a bunch of simple clean-ups before I move onto something more substantial (hopefully). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec9f71c59e00388efc1337307511b59cc4c48394 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:49:41 2015 +1100 rhashtable: Remove obj_raw_hashfn Now that the only caller of obj_raw_hashfn is head_hashfn, we can simply kill it and fold it into the latter. This patch also moves the common shift from head_hashfn/key_hashfn into rht_bucket_index. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cffaa9cb922472936b269017afdd3f147cb6f380 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:49:40 2015 +1100 rhashtable: Remove key length argument to key_hashfn key_hashfn has only one caller and it doesn't really need to supply the key length as an extra parameter. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eca849333017cab1cd02c8fc9187962fa629b27d Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:49:39 2015 +1100 rhashtable: Use head_hashfn instead of obj_raw_hashfn Now that we don't have cross-table hashes, we no longer need to keep the entire hash value so all users of obj_raw_hashfn can use head_hashfn instead. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d2b18793d16e4186f00b07d031a25537c4cefb9 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:49:38 2015 +1100 rhashtable: Move masking back into key_hashfn This patch reverts commit c88455ce50ae4224d84960ce2baa53e61580df27 ("rhashtable: key_hashfn() must return full hash value") because the only user of it always masks the hash value. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d2ac45611b072a24e5014a56a65e6be31c1f884 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Mar 11 22:13:54 2015 -0500 jfs: %pf is only for function pointers Use %ps for actual addresses, otherwise you'll get bad output on arches like ppc64 where %pf expects a function descriptor. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Cc: jfs-discussion@xxxxxxxxxxxxxxxxxxxxx commit f7834c092c42995e9f3611b7d186e9dfdb8430cc Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Mar 3 16:13:56 2015 -0600 PNP: Don't check for overlaps with unassigned PCI BARs After 0509ad5e1a7d ("PNP: disable PNP motherboard resources that overlap PCI BARs"), we disable and warn about PNP resources that overlap PCI BARs. But we assume that all PCI BARs are valid, which is incorrect, because a BAR may not have any space assigned to it. In that case, we will not enable the BAR, so no other resource can conflict with it. Ignore PCI BARs that are unassigned, as indicated by IORESOURCE_UNSET. Firmware often leaves PCI BARs unassigned, containing zero. Zero is a valid BAR value, so we can't just check for that, but the PCI core can set IORESOURCE_UNSET when it detects an unassigned BAR by other means. This should get rid of many of the annoying messages like this: pnp 00:00: disabling [io 0x0061] because it overlaps 0001:05:00.0 BAR 0 [io 0x0000-0x00ff] Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e39af88f18dfe9a7938765c97ce9ed448915e6d5 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Mar 10 13:41:10 2015 +0100 usb: dwc2: rework initialization of host and gadget in dual-role mode If device is configured to work only in HOST or DEVICE mode, there is no point in initializing both subdrivers. This patch also fixes resource leakage if host subdriver fails to initialize. Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9a6d7298b0833614c411f774c46514efb1bd5651 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 14:44:57 2015 -0600 of: Calculate device DMA masks based on DT dma-range size Calculate the dma_mask and coherent_dma_mask based on the dma-range values set in DT for the device. Limit the mask to lower of the default mask and mask calculated. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Will Deacon <will.deacon@xxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> commit 22b3c181c6c324a46f71aae806d8ddbe61d25761 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:14 2015 -0500 arm: dma-mapping: limit IOMMU mapping size arm_iommu_create_mapping() has size parameter of size_t and arm_setup_iommu_dma_ops() can take a value higher than that when this is called from the OF code. So limit the size to SIZE_MAX. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit de335bb49269037d1e8906ba59f8bacba732bec6 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:13 2015 -0500 PCI: Update DMA configuration from DT If there is a DT node available for the root bridge's parent device, use the DMA configuration from that device node. For example, Keystone PCI devices would require dma_pfn_offset to be set correctly in the device structure of the PCI device in order to have the correct DMA mask. The DT node will have dma-ranges defined for this. Also support using the DT property dma-coherent to allow coherent DMA operation by the PCI device. Use the new helper function of_pci_dma_configure() to update the device DMA configuration. This fixes DMA on systems where DMA addresses are a constant offset from CPU physical addresses. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit bc3b5b47c80da8838758731d423179262c9c36ec Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:23:22 2015 +0300 PCI: cpcihp: Add missing curly braces in cpci_configure_slot() I don't have this hardware but it looks like we weren't adding bridge devices as intended. Maybe the bridge is always the last device? Fixes: 05b125004815 ("PCI: cpcihp: Iterate over all devices in slot, not functions 0-7") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yijing Wang <wangyijing@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.9+ commit 4fabf3d19cec11d9faa567f8cf0290298c5a93ea Author: He Kuang <hekuang@xxxxxxxxxx> Date: Thu Mar 12 15:21:49 2015 +0800 perf hists browser: Fix UI bug after fold/unfold In perf hists browser, the fold/unfold stat of each hist entry is recorded but hb->nr_callchain_rows loses its value after zoom out and zoom in back. This causes a wrong row cursor range that restrict user to move down anymore. This bug can be reproduced as follows: $ perf record -g -e syscalls:* ls $ perf report Available samples ================================================================ 2 syscalls:sys_enter_mprotect <= [enter one of the entries] 2 syscalls:sys_exit_mprotect 13 syscalls:sys_enter_brk ... In the hists brower, unfold some of the items, now the cursor can reach to any rows: Children Self Command Shared Object Symbol ================================================================ - 100.00% 100.00% ls libuClibc-0.9.33.2.so [.] lstat64 - lstat64 16.67% 0x6469702e64 8.33% 0x646970 8.33% 0x617461 8.33% 0x65 - 16.67% 0.00% ls [unknown] [.]0x6469702e64 0x6469702e64 <= [cursor can reach to bottom line, everything is ok] Now, zoom back to "Available samples" and enter again: Children Self Command Shared Object Symbol ================================================================ - 100.00% 100.00% ls libuClibc-0.9.33.2.so [.] lstat64 - lstat64 16.67% 0x6469702e64 8.33% 0x646970 8.33% 0x617461 <= [cursor may stop here, can't move down anymore] 8.33% 0x65 - 16.67% 0.00% ls [unknown] [.]0x6469702e64 0x6469702e64 This patch recalculates hb->nr_callchain_rows to fix the bug. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426144909-18951-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 38942ba204639030b3f3cfe5748a6aff3c9dcc81 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Mar 4 15:59:05 2015 -0500 NFSv4: Append delegations to the per-client list instead of prepending Do so on the assumption that for most use cases, that list will turn into a more or less LRU-ordered list, and so the list traversals in nfs_client_return_marked_delegations() are likely to be shorter before hitting a candidate to return. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f0eede10fd401a1c5193e020cd372d7b7014d9f3 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Tue Mar 3 04:24:25 2015 -0500 SUNRPC: use jiffies_to_msecs for converting jiffies Use jiffies_to_msecs for converting jiffies as it handles all of the corner cases reliably and also helps readability. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 09a330f4b9324e40947cc4fff13606719382c580 Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Fri Dec 5 21:52:49 2014 -0500 NFS: remount with security change should return EINVAL A remount that alters security flavors can appear to succeed when it should instead return -EINVAL. Check to see if the current security flavor exists within the flavors specified in the remount options, and if not fail the remount. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit df137bc125b6155e54e6725faf0462b791a34c31 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 14:37:25 2015 +0100 nfs: do not export discarded symbols The function nfs4_pnfs_v3_ds_connect_unload is exported so it can be used by other modules, but is also marked '__exit' and will be discarded when built into the kernel, as pointed out by this linker error: `nfs4_pnfs_v3_ds_connect_unload' referenced in section `___ksymtab_gpl+nfs4_pnfs_v3_ds_connect_unload' of fs/built-in.o: defined in discarded section `.exit.text' of fs/built-in.o This removes the __exit annotation to make it safe to call this function. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 5f01d9539496 ("nfs41: create NFSv3 DS connection if specified") Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5b833825fd0012aec00f8fa5769d5400c18d59d8 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:23 2015 +0100 NFSv4.1: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL_GPL; @@ -EXPORT_SYMBOL_GPL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 6d4a48968bfb5c67002f253fbaeb5acd41d7897a Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Wed Mar 11 10:36:20 2015 -0400 perf probe: Fix compiles due to declarations using perf_probe_point perf fails to build with gcc "(GCC) 4.4.7 20120313 (Red Hat 4.4.7-4.0.9)" (a.k.a., RHEL6 / CentOS 6 / OL 6): cc1: warnings being treated as errors util/probe-event.c: In function â??get_alternative_line_rangeâ??: util/probe-event.c:359: error: missing initializer util/probe-event.c:359: error: (near initialization for â??pp.fileâ??) util/probe-event.c:359: error: missing initializer util/probe-event.c:359: error: (near initialization for â??result.functionâ??) Fix by bringing in initializers to declaration. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426084580-60780-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a8cd1f4393032cd87e98803346865cdbceb15ad3 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Wed Mar 11 20:36:03 2015 +0800 perf hists browser: Fix UI bug after zoom into thread/dso/symbol When zoom into thread/dso/symbol, the fold/unfold stat is cleared in hists__filter_by_thread/dso/symbol(), but h->nr_rows is not cleared. So if we toggle fold stat on the unfold entires, nr_entries got a wrong value. This bug can be reproduced as follows: $ perf record -g -e syscalls:sys_enter_open ls $ perf report Children Self Command Shared Object Symbol ================================================================ + 50.00% 0.00% ls ld64.so [.] _dl_get_ready_to_run - 50.00% 0.00% ls ld64.so [.] _dl_load_shared_library _dl_load_shared_library <= [Zoom into thread/dso] _dl_get_ready_to_run _start ... In the new thread hists, all entries reset to fold, if we unfold the same entry as we previously unfolded, nr_entries got wrong value, and we can't move down cursor to bottom row. Thread: ls Children Self Command Shared Object Symbol ================================================================ + 50.00% 0.00% ls ld64.so [.] _dl_get_ready_to_run - 50.00% 0.00% ls ld64.so [.] _dl_load_shared_library _dl_load_shared_library _dl_get_ready_to_run <= [cursor may stop here, can't move down] _start ... This patch clear h->nr_rows to fix this bug. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1426077363-855-2-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a78604defffbc1da1497a8c8b48275b723eb5946 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Wed Mar 4 18:01:42 2015 +0800 perf probe: Fix possible double free on error A double free occurred when get source file path failed. If lr->path failed to assign a new value, it will be freed as the old path and then be freed again during line_range__clear(), and causes this: $ perf probe -L do_execve -k vmlinux *** Error in `/usr/bin/perf': double free or corruption (fasttop): 0x0000000000a9ac50 *** ======= Backtrace: ========= ../lib64/libc.so.6(+0x6eeef)[0x7ffff5e44eef] ../lib64/libc.so.6(+0x78cae)[0x7ffff5e4ecae] ../lib64/libc.so.6(+0x79987)[0x7ffff5e4f987] ../bin/perf[0x4ab41f] ... This patch fix this problem. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425463302-1687-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 443a70541c56d4a7dff0ce693870935e138201b2 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 10 19:04:31 2015 -0300 perf tools: Output feature detection's gcc output to a file So that we can debug feature detection problems. It will appear on $(OUTPUT)feature-checks/.make-libbabeltrace.output, using the libbabeltrace feature test. Whole process: [acme@ssdandy linux]$ make -C tools/perf install-bin make: Entering directory `/home/acme/git/linux/tools/perf' BUILD: Doing 'make -j8' parallel build config/Makefile:425: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR config/Makefile:709: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev Auto-detecting system features: ... dwarf: [ on ] ... glibc: [ on ] ... gtk2: [ on ] ... libaudit: [ on ] ... libbfd: [ on ] ... libelf: [ on ] ... libnuma: [ on ] ... libperl: [ on ] ... libpython: [ on ] ... libslang: [ on ] ... libunwind: [ OFF ] ... libdw-dwarf-unwind: [ on ] ... libbabeltrace: [ OFF ] <SNIP> [acme@ssdandy linux]$ find tools/perf -name ".make-*.output" | grep lib | tail -5 tools/perf/config/feature-checks/.make-libdw-dwarf-unwind.output tools/perf/config/feature-checks/.make-libbabeltrace.output tools/perf/config/feature-checks/.make-zlib.output tools/perf/config/feature-checks/.make-liberty.output tools/perf/config/feature-checks/.make-liberty-z.output [acme@ssdandy linux]$ [acme@ssdandy linux]$ cat tools/perf/config/feature-checks/.make-libbabeltrace.output make[1]: Entering directory `/home/acme/git/linux/tools/perf/config/feature-checks' gcc -MD -Wall -Werror -o test-libbabeltrace.bin test-libbabeltrace.c -Wl,-z,noexecstack -lbabeltrace-ctf # -lbabeltrace provided by test-libbabeltrace.c:2:42: fatal error: babeltrace/ctf-writer/writer.h: No such file or directory #include <babeltrace/ctf-writer/writer.h> ^ compilation terminated. make[1]: *** [test-libbabeltrace.bin] Error 1 make[1]: Leaving directory `/home/acme/git/linux/tools/perf/config/feature-checks' [acme@ssdandy linux]$ So the libbabeltrace feature will not be builtin, but if we do what is required for it to be built, namely point where we have it installed: [acme@ssdandy linux]$ time make -C tools/perf LIBBABELTRACE_DIR=/opt/libbabeltrace install-bin make: Entering directory `/home/acme/git/linux/tools/perf' BUILD: Doing 'make -j8' parallel build config/Makefile:425: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR Auto-detecting system features: ... dwarf: [ on ] ... glibc: [ on ] ... gtk2: [ on ] ... libaudit: [ on ] ... libbfd: [ on ] ... libelf: [ on ] ... libnuma: [ on ] ... libperl: [ on ] ... libpython: [ on ] ... libslang: [ on ] ... libunwind: [ OFF ] ... libdw-dwarf-unwind: [ on ] ... libbabeltrace: [ on ] ... zlib: [ on ] ... DWARF post unwind library: libdw <SNIP> [acme@ssdandy linux]$ find tools/perf -name ".make-libbabel*.output" | grep lib | tail -5 tools/perf/config/feature-checks/.make-libbabeltrace.output [acme@ssdandy linux]$ cat tools/perf/config/feature-checks/.make-libbabeltrace.output make[1]: Entering directory `/home/acme/git/linux/tools/perf/config/feature-checks' gcc -MD -I/opt/libbabeltrace/include -Wall -Werror -o test-libbabeltrace.bin test-libbabeltrace.c -Wl,-z,noexecstack -L/opt/libbabeltrace/lib -lbabeltrace-ctf # -lbabeltrace provided by make[1]: Leaving directory `/home/acme/git/linux/tools/perf/config/feature-checks' [acme@ssdandy linux]$ Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-h53xwueqwdeeiqcv9f50nqqb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 19a9df35fe9e8ffd60ce4b6f888b72e7c8422d31 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Mar 10 13:00:35 2015 +0100 perf build: Fix libbabeltrace detection Following patch added -Werror for feature builds: b49f1a4be701 perf tools: Improve feature test debuggability and exposed a problem in the libbabeltrace feature build, because it was including wrong header and gcc couldn't find the used symbol definition. Adding proper header and keeping the old one as it is needed also (libbabeltrace quirk). Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150310120035.GA4333@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e578da3b2009da2a9ae2d25fd0f78c7b76ca5e56 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Mar 6 16:31:29 2015 +0900 perf probe: Allow weak symbols to be probed It currently prevents adding probes in weak symbols. But there're cases that given name is an only weak symbol so that we cannot add probe. $ perf probe -x /usr/lib/libc.so.6 -a calloc Failed to find symbol calloc in /usr/lib/libc-2.21.so Error: Failed to add events. $ nm /usr/lib/libc.so.6 | grep calloc 000000000007b1f0 t __calloc 000000000007b1f0 T __libc_calloc 000000000007b1f0 W calloc This change will result in duplicate probes when strong and weak symbols co-exist in a binary. But I think it's not a big problem since probes at the weak symbol will never be hit anyway. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150306073129.6904.41078.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 680d926a8cb08dd9cf173e2bb93d4a4477771949 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Mar 6 16:31:27 2015 +0900 perf symbols: Allow symbol alias when loading map for symbol name When perf probe tries to add a probe in a binary using symbol name, it sometimes failed since some symbols were discard during loading dso. When it resolves an address to symbol, it'd be better to have just one symbol at given address. But for finding address from symbol, it'd be better to keep all names (including aliases). So allow tools to state that they want to allow aliases via symbol_conf.allow_aliases. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150306073127.6904.3232.stgit@xxxxxxxxxxxxxxxxxxxxx [ Original patch passwd allow_alias to many functions, use symbol_conf.allow_aliases instead ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0687eba7872d7dbe01b074c54359315e97502360 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Mar 6 16:31:25 2015 +0900 Revert "perf probe: Fix to fall back to find probe point in symbols" This reverts commit 906451b98b67 ("perf probe: Fix to fall back to find probe point in symbols"). Since 'perf probe' now retries with the address of given symbol searched from map before this path, this fall back routine isn't needed anymore. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150306073124.6904.1751.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 811dd2ae7cd670fefbb3b220b529bb9876edde70 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Mar 6 16:31:22 2015 +0900 perf probe: Fix --line to handle aliased symbols in glibc Fix perf probe --line to handle aliased symbols correctly in glibc. This makes line_range search failing back to address-based alternative search as same as --add and --vars. Without this patch; ----- # ./perf probe -x /usr/lib64/libc-2.17.so -L malloc Specified source line is not found. Error: Failed to show lines. ----- With this patch; ----- # ./perf probe -x /usr/lib64/libc-2.17.so -L malloc <__libc_malloc@/usr/src/debug/glibc-2.17-c758a686/malloc/malloc.c:0> 0 __libc_malloc(size_t bytes) 1 { mstate ar_ptr; void *victim; __malloc_ptr_t (*hook) (size_t, const __malloc_ptr_t) 6 = force_reg (__malloc_hook); 7 if (__builtin_expect (hook != NULL, 0)) 8 return (*hook)(bytes, RETURN_ADDRESS (0)); 10 arena_lookup(ar_ptr); 12 arena_lock(ar_ptr, bytes); ----- Note that this actually shows __libc_malloc, since it is the real instance of malloc. User can use both __libc_malloc and malloc for --line. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150306073122.6904.18540.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9b118acae310f57baee770b5db402500d8695e50 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Mar 6 16:31:20 2015 +0900 perf probe: Fix to handle aliased symbols in glibc Fix perf probe to handle aliased symbols correctly in glibc. In the glibc, several symbols are defined as an alias of __libc_XXX, e.g. malloc is an alias of __libc_malloc. In such cases, dwarf has no subroutine instances of the alias functions (e.g. no "malloc" instance), but the map has that symbol and its address. Thus, if we search the alieased symbol in debuginfo, we always fail to find it, but it is in the map. To solve this problem, this fails back to address-based alternative search, which searches the symbol in the map, translates its address to alternative (correct) function name by using debuginfo, and retry to find the alternative function point from debuginfo. This adds fail-back process to --vars, --lines and --add options. So, now you can use those on malloc@libc :) Without this patch; ----- # ./perf probe -x /usr/lib64/libc-2.17.so -V malloc Failed to find the address of malloc Error: Failed to show vars. # ./perf probe -x /usr/lib64/libc-2.17.so -a "malloc bytes" Probe point 'malloc' not found in debuginfo. Error: Failed to add events. ----- With this patch; ----- # ./perf probe -x /usr/lib64/libc-2.17.so -V malloc Available variables at malloc @<__libc_malloc+0> size_t bytes # ./perf probe -x /usr/lib64/libc-2.17.so -a "malloc bytes" Added new event: probe_libc:malloc (on malloc in /usr/lib64/libc-2.17.so with bytes) You can now use it in all perf tools, such as: perf record -e probe_libc:malloc -aR sleep 1 ----- Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150306073120.6904.13779.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4a6b362f36e68618ee4d3cdb361d05a5e80af023 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 13:02:24 2015 -0300 perf ordered_events: Adopt queue() method From perf_session, will be used in 'trace'. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-mfihndzaumx44h6y37ng2irb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 01fbc1fee926888f7c256ada95fa5fa3b06cba94 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Mar 3 16:29:28 2015 +0100 perf tools: Remove superfluous thread->comm_set setting It is set by calling thread__set_comm right before the removed line. 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: 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/1425396581-17716-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d704ebdae4aaeec89180dcfd0ca74e5bba318853 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 12:37:54 2015 -0300 perf tools: tool->finished_round() doesn't need perf_session It is all about flushing the ordered queue or piping it thru, no need for a perf_session pointer. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-g47fx3ys0t9271cp0dcabjc7@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d10eb1eb76a86266354ecab6e42c1606e3b8bc4c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 12:20:38 2015 -0300 perf ordered_events: Allow tools to specify a deliver method So that we can simplify the deliver method to pass just: (ordered_events, ordered_event, sample); 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-j0s4bpxs5qza5tnkvjwom9rw@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 047794e13632f177e864eba6160cecfbf3875cbe Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Wed Mar 4 09:44:45 2015 +0800 ARM: at91: pm: change at91_pm_set_standby() to static Since at91_pm_set_standby() will not be used out of the pm.c file, change its attribute from extern to static, remove its declaration as well. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 936748fd34be484c8638a8547b4ca85afdfdf3a6 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:20:12 2015 +0100 ARM: at91: remove ksz8081 phy fixup registration for sama5d4ek board Commit 2b0ba96cea60 ("net: phy: micrel: disable NAND-tree for KSZ8021, KSZ8031, KSZ8051, KSZ8081") automated the NAND-tree mode deactivation process, thus making this phy fixup useless. Remove it along with the associated headers inclusion. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> [nicolas.ferre@xxxxxxxxx: remove selection of PHYLIB in at91 Kconfig] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5e7f82d73057a4b99643999e02c036cfbf1ed3ba Merge: d14b8f3 e7b848d Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 12 15:30:03 2015 +0100 Merge tag 'at91-fixes3' into at91-4.1-cleanup Third fixes batch for AT91 on 4.0: - clock fixes for USB - compatible string changes for handling USB IP differences (+ needed AHB matrix syscon) - fix of a compilation error in PM code commit d14b8f390e4b856a7448d9a0d3ba8aad13ed24bc Merge: 37d122d 5957457 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 12 15:30:00 2015 +0100 Merge tag 'at91-fixes2' into at91-4.1-cleanup Second fixes batch for AT91 on 4.0: - little fix for !MMU debug: may also help for randconfig - fix of 2 errors in LCD clock definitions - in PM code, not writing the key leads to not execute the action commit 37d122d7d892b5c3eff594d3a9db039cabf24291 Merge: 13a7a6a 2141102 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Mar 12 15:29:56 2015 +0100 Merge tag 'at91-fixes' into at91-4.1-cleanup First fixes batch for AT91 on 4.0: - PM slowclock fixes for DDR and timeouts - fix some DT entries - little defconfig updates - the removal of a harmful watchdog option + its detailed documentation commit 174178fed338edba66ab9580af0c5d9e1a4e5019 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Mar 4 11:14:36 2015 +0100 KVM: arm/arm64: add irqfd support This patch enables irqfd on arm/arm64. Both irqfd and resamplefd are supported. Injection is implemented in vgic.c without routing. This patch enables CONFIG_HAVE_KVM_EVENTFD and CONFIG_HAVE_KVM_IRQFD. KVM_CAP_IRQFD is now advertised. KVM_CAP_IRQFD_RESAMPLE capability automatically is advertised as soon as CONFIG_HAVE_KVM_IRQFD is set. Irqfd injection is restricted to SPI. The rationale behind not supporting PPI irqfd injection is that any device using a PPI would be a private-to-the-CPU device (timer for instance), so its state would have to be context-switched along with the VCPU and would require in-kernel wiring anyhow. It is not a relevant use case for irqfds. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 649cf73994e8ac69dfe3e7a35fba9acf051e7fe6 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Mar 4 11:14:35 2015 +0100 KVM: arm/arm64: remove coarse grain dist locking at kvm_vgic_sync_hwstate To prepare for irqfd addition, coarse grain locking is removed at kvm_vgic_sync_hwstate level and finer grain locking is introduced in vgic_process_maintenance only. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c1426e4c5add09042840013dfa5565e6be6d412e Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Mar 4 11:14:34 2015 +0100 KVM: arm/arm64: implement kvm_arch_intc_initialized On arm/arm64 the VGIC is dynamically instantiated and it is useful to expose its state, especially for irqfd setup. This patch defines __KVM_HAVE_ARCH_INTC_INITIALIZED and implements kvm_arch_intc_initialized. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 01c94e64f5a6f298774bdbde435e577821119fc0 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Mar 4 11:14:33 2015 +0100 KVM: introduce kvm_arch_intc_initialized and use it in irqfd Introduce __KVM_HAVE_ARCH_INTC_INITIALIZED define and associated kvm_arch_intc_initialized function. This latter allows to test whether the virtual interrupt controller is initialized and ready to accept virtual IRQ injection. On some architectures, the virtual interrupt controller is dynamically instantiated, justifying that kind of check. The new function can now be used by irqfd to check whether the virtual interrupt controller is ready on KVM_IRQFD request. If not, KVM_IRQFD returns -EAGAIN. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit df2bd1ac03dfc19e955a43f796cfe9f9cf49c75f Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Mar 4 11:14:32 2015 +0100 KVM: arm/arm64: unset CONFIG_HAVE_KVM_IRQCHIP CONFIG_HAVE_KVM_IRQCHIP is needed to support IRQ routing (along with irq_comm.c and irqchip.c usage). This is not the case for arm/arm64 currently. This patch unsets the flag for both arm and arm64. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 662d9715840aef44dcb573b0f9fab9e8319c868a Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Wed Mar 11 14:21:31 2015 +0100 arm/arm64: KVM: Kill CONFIG_KVM_ARM_{VGIC,TIMER} We can definitely decide at run-time whether to use the GIC and timers or not, and the extra code and data structures that we allocate space for is really negligable with this config option, so I don't think it's worth the extra complexity of always having to define stub static inlines. The !CONFIG_KVM_ARM_VGIC/TIMER case is pretty much an untested code path anyway, so we're better off just getting rid of it. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 208d271a3f5388672b3d7ec141e975abd84ab3da Merge: e111e96 060b446 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Mar 12 14:38:26 2015 +0200 Merge branch 'iwlwifi-fixes' into iwlwifi-next commit f42613c66524c0fc890b448872169746d392f6bb Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:28:29 2015 +1100 linux-next: Tree for Mar 11 (powerpc build failure due to vmx crypto code) crypto: vmx - Fix assembler perl to use _GLOBAL Rather than doing things by hand for global symbols to deal with different calling conventions we already have a macro _GLOBAL in Linux to handle this. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit ef64d3f7393776f310dedc96fd79399946a52612 Author: Søren Andersen <san@xxxxxxxxxxxxxxxxx> Date: Tue Mar 10 22:14:57 2015 +0100 dt-bindings Help for MCP ADCs Signed-off-by: Soeren Andersen <san@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ab280024e3c0c4633066e9698756a28a9caf26a1 Author: Søren Andersen <san@xxxxxxxxxxxxxxxxx> Date: Tue Mar 10 22:12:07 2015 +0100 iio: adc: Kconfig mcp320x change description Add more ADCs Bring the Kconfig entry up to date with parts supported by the driver. Signed-off-by: Soeren Andersen <san@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c84a083b995b0bde61640b6576f9c80584915b7a Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 11 15:22:01 2015 +0100 Staging: dgnc: Use goto for spinlock release before return spin_unlock_irqrestore() is called at several different places before exiting. This patch uses a goto statement to factorize these calls. Coccinelle was used to generate this patch. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6a14cf04fdb17de8a96c59518909216f6892e19 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 11 15:22:00 2015 +0100 Staging: dgnc: Use goto for error handling This patch introduces goto statments for error handling and in cases where a lock needs to be released. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @candidates exists@ identifier f, label; statement s; position p1, p2, p3; @@ f@p1(...) { ...when any if@p2(...) { ...when any s return@p3 ...; } ...when any } @good1 exists@ identifier candidates.f, candidates.label; statement candidates.s; position candidates.p1, candidates.p2; @@ f@p1(...) { ...when any if(...) { ...when any s return ...; } ...when any if@p2(...) {...} ...when any } @depends on good1@ identifier candidates.f, candidates.label; position candidates.p1, candidates.p3; @@ f@p1(...) { ...when any * return@p3 ...; } Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a308d66f144c9d5a305ceda4345bebbaf6abc43f Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Mar 11 14:08:36 2015 -0700 hwrng: omap - remove #ifdefery around PM methods Instead of using #ifdefs let's mark suspend and resume methods as __maybe_unused which will suppress compiler warnings about them being unused and provide better compile coverage. Because SIMPLE_DEV_PM_OPS() produces an empty omap_rng_pm structure in case of !CONFIG_PM_SLEEP neither omap_rng_suspend nor omap_rng_resume will end up being referenced and the change will not result in increasing image size. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f1e866b10676faf8b9092cb821a9ac8acf31dbd8 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 09:47:48 2015 +0100 crypto: arm - add support for GHASH using ARMv8 Crypto Extensions This implements the GHASH hash algorithm (as used by the GCM AEAD chaining mode) using the AArch32 version of the 64x64 to 128 bit polynomial multiplication instruction (vmull.p64) that is part of the ARMv8 Crypto Extensions. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 86464859cc77ecfd989ad5c912bef167b1128b0b Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 09:47:47 2015 +0100 crypto: arm - AES in ECB/CBC/CTR/XTS modes using ARMv8 Crypto Extensions This implements the ECB, CBC, CTR and XTS asynchronous block ciphers using the AArch32 versions of the ARMv8 Crypto Extensions for AES. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 006d0624fa0d71787448cacee0195bf20f2d47c8 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 09:47:46 2015 +0100 crypto: arm - add support for SHA-224/256 using ARMv8 Crypto Extensions This implements the SHA-224/256 secure hash algorithm using the AArch32 versions of the ARMv8 Crypto Extensions for SHA2. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 864cbeed4ab22de8c4d9a49101e9fd63c6f7fda2 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 09:47:45 2015 +0100 crypto: arm - add support for SHA1 using ARMv8 Crypto Instructions This implements the SHA1 secure hash algorithm using the AArch32 versions of the ARMv8 Crypto Extensions for SHA1. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 652ccae5cc4e1305fb0a4619947f9ee89d8c7f5a Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Mar 10 09:47:44 2015 +0100 crypto: arm - move ARM specific Kconfig definitions to a dedicated file This moves all Kconfig symbols defined in crypto/Kconfig that depend on CONFIG_ARM to a dedicated Kconfig file in arch/arm/crypto, which is where the code that implements those features resides as well. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 66454b3eb31e8109387606c054ae02f3cfd6543e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jan 15 12:52:15 2015 +0100 ASoC: rt5670: Replace w->codec snd_soc_dapm_to_codec(w->dapm) The codec field of the snd_soc_widget struct is eventually going to be removed, use snd_soc_dapm_to_codec(w->dapm) instead. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 64e784c4574d9015eee0b97cbf66c2eafcd38feb Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 11 17:02:12 2015 +0530 Staging: dgnc: Remove redundant parentheses This patch removes the redundant parentheses inorder to make code simplified. While doing this, the precedence order of the operation is taken into consideration to keep the logic of the code intact. Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f9de64c09ab0224fa945ed5250d62c157fc7a65 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 11 15:21:59 2015 +0100 Staging: dgnc: dgnc_driver: Add a missing call to dgnc_tty_uninit This function is called on the previous and the next failure branches. This patch adds the call on the branch where it seems to be missing. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f2e089f68a931c22d8132b1284478cfa2357fc9 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Tue Mar 10 21:29:20 2015 +0200 dgnc: clean up comments at start of files Remove FSF address because it's known in the past that it has changed. Also, remove the pointless "do not change the coding style" comments because it's one of the reasons why it's in staging and it's quite contradictory to what it says in TODO. Also, they contain wrong e-mails of people which are responsible for these drivers - see TODO or MAINTAINERS for that. We can preserve the original copyright at the top of the most files because it shows who originally made them. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7f355d7b05da2d4064c929deeede178ce0b3051 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Tue Mar 10 21:29:18 2015 +0200 dgnc: Remove unneeded dgnc_state array of strings Dgnc_state array of strings is never used anywhere and it seems pretty useless anyway since the board state enum names speak for themselves. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e363be0aa776f8ec19484e9c5e2d2beb68d7702 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 10 17:31:04 2015 +0530 staging: dgnc: Use kcalloc instead of kzalloc. This patch uses kcalloc instead of kzalloc function. A coccinelle script was used to make this change. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb1185a4ae29367d00b0ae19413d64303c8c0e51 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Mar 10 10:39:42 2015 +0300 staging: dgnc: off by one in dgnc_mgmt_ioctl() "dgnc_NumBoards" is the number of initialized elements in the dgnc_Board[] array so the comparison should be ">=" instead of ">" so we don't read invalid data. We can remove the special handling of the empty array now that we've fixed this bug. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65da04c1cada486a8619d5d53336059e5bd6d8b3 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Mon Mar 9 01:49:46 2015 +0200 dgnc: Make all lines under 80 characters in dgnc_driver.c Some of the lines are over 80 characters in dgnc_driver.c so fix them by moving the comments closer to the code, tidying the comments to make them smaller, and remove a redundant space after +. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9210a03090b62d19716cacd2efc824a9d01898c Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Mon Mar 9 01:49:45 2015 +0200 dgnc: Make all lines under 80 characters in dgnc_cls.h Some of the lines are over 80 characters so fix that by moving the comments before the struct definition and before #define's. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85c748dfcb715e6a73588c61be874ad64fb66409 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Mon Mar 9 01:49:44 2015 +0200 dgnc: Remove redundant blank lines in dgnc_cls.c There are a lot double of blank lines in dgnc_cls.c thus remove them to make the file follow the CodingStyle. Also, remove one blank line at the end of dgnc_cls.c. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f11cc568758f23088c1f7a8369100c59e4c07bd6 Author: Cass May <cass@xxxxxxxxx> Date: Sun Feb 15 23:40:18 2015 +0000 dgnc: Move DG_PART definition from Makefile to dgnc_driver.h Avoid deprecated usage of EXTRA_CFLAGS by moving definition of DG_PART into dgnc_driver.h Signed-off-by: Cass May <cass@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd933bae1474fa172693b712012cbb4a2d31fc30 Author: Cass May <cass@xxxxxxxxx> Date: Sun Feb 15 23:40:17 2015 +0000 dgnc: Remove superfluous EXTRA_CFLAGS variable Clean up Makefile by removing unnecessary definition of DG_NAME. Signed-off-by: Cass May <cass@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb82fe2fe8588745edd73aa3a6229facac5c1e15 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:31 2015 -0700 clocksource: Add 'max_cycles' to 'struct clocksource' In order to facilitate clocksource validation, add a 'max_cycles' field to the clocksource structure which will hold the maximum cycle value that can safely be multiplied without potentially causing an overflow. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-4-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 362fde0410377e468ca00ad363fdf3e3ec42eb6a Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:30 2015 -0700 clocksource: Simplify the logic around clocksource wrapping safety margins The clocksource logic has a number of places where we try to include a safety margin. Most of these are 12% safety margins, but they are inconsistently applied and sometimes are applied on top of each other. Additionally, in the previous patch, we corrected an issue where we unintentionally in effect created a 50% safety margin, which these 12.5% margins where then added to. So to simplify the logic here, this patch removes the various 12.5% margins, and consolidates adding the margin in one place: clocks_calc_max_nsecs(). Additionally, Linus prefers a 50% safety margin, as it allows bad clock values to be more easily caught. This should really have no net effect, due to the corrected issue earlier which caused greater then 50% margins to be used w/o issue. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> (for the sched_clock.c bit) Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-3-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6086e346fdea1ae64d974c94c1acacc2605567ae Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed Mar 11 21:16:29 2015 -0700 clocksource: Simplify the clocks_calc_max_nsecs() logic The previous clocks_calc_max_nsecs() code had some unecessarily complex bit logic to find the max interval that could cause multiplication overflows. Since this is not in the hot path, just do the divide to make it easier to read. The previous implementation also had a subtle issue that it avoided overflows with signed 64-bit values, where as the intervals are always unsigned. This resulted in overly conservative intervals, which other safety margins were then added to, reducing the intended interval length. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426133800-29329-2-git-send-email-john.stultz@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7faff71bc94eb598328d315a37486f23d5febdf0 Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:26 2015 +0900 devicetree: Add SKY81452 to the Trivial Devices list Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit acca486331e953f409639925e79d29fccb6963a7 Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:25 2015 +0900 devicetree: Add vendor prefix for Skyworks Solutions, Inc. Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1144d9e916ee9c8b6138489ad646cdbd2514d1af Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:24 2015 +0900 devicetree: Add new SKY81452 backlight binding Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit beedfad3e98967b3525f7a83d559ee244c3d44c4 Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:23 2015 +0900 devicetree: Add new SKY81452 mfd binding Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f705806c9f355fc63911dea72a65d8eeff0c2586 Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:22 2015 +0900 backlight: Add support Skyworks SKY81452 backlight driver Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2698dc22292e3e5fc2b24b2748018dcc09d70989 Author: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Date: Fri Feb 27 15:42:21 2015 +0900 mfd: Add support for Skyworks SKY81452 driver Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ccd173c541e7d3c864730e334dac36a8b6487a25 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:04:54 2015 +0000 mfd: arizona: Add DT binding documentation for DMIC reference voltages Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e7ad27cac94c6eb609d43b0f968dce8ff804fa7c Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:04:53 2015 +0000 mfd: arizona: Add DT binding for the DMIC reference voltages Add a DT binding that lets the DMIC reference voltage source be specified for each input. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 224995d7804ab590fbac0f605dfc47f6dcf2214c Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 17:14:26 2015 +0100 mfd: max77693: Modify flash cell name identifiers Change flash cell identifiers from max77693-flash to max77693-led to avoid confusion with NOR/NAND Flash. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 419d55bbb80370ed1e8a36d7884cfcf977e73e29 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 17:14:28 2015 +0100 mfd: max77693: Add TORCH_IOUT_MASK macro Add a macro for obtaining the mask of ITORCH register bit fields related either to FLED1 or FLED2 current output. The expected arguments are TORCH_IOUT1_SHIFT or TORCH_IOUT2_SHIFT. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a307de2aab5bcb96bae3d778b01ff815f027ad88 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 17:14:27 2015 +0100 mfd: max77693: Remove struct max77693_led_platform_data The flash part of the max77693 device will depend only on OF, and thus will not use board files. Since there are no other users of the struct max77693_led_platform_data its existence is unjustified. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3be62b957d2c02cf744d3845091dd8a5fdca2039 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 17:14:29 2015 +0100 mfd: max77693: Adjust FLASH_EN_SHIFT and TORCH_EN_SHIFT macros Modify FLASH_EN_SHIFT and TORCH_EN_SHIFT macros to work properly when passed enum max77693_fled values (0 for FLED1 and 1 for FLED2) from leds-max77693 driver. Previous definitions were compatible with one of the previous RFC versions of leds-max77693.c driver, which was not merged. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 60ae5b9f5cdd80c529eda13bfdd600a0fc857afb Author: Raymond Tan <raymond.tan@xxxxxxxxx> Date: Mon Feb 2 10:52:51 2015 +0800 mfd: intel_quark_i2c_gpio: Add Intel Quark X1000 I2C-GPIO MFD Driver In Quark X1000, there's a single PCI device that provides both an I2C controller and a GPIO controller. This MFD driver will split the 2 devices for their respective drivers. This patch is based on Josef Ahmad's initial work for Quark enabling. Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Weike Chen <alvin.chen@xxxxxxxxx> Signed-off-by: Raymond Tan <raymond.tan@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e19f742885e87ab9582fdf5940f214419eb9275b Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Sat Feb 28 18:09:06 2015 +0800 mfd: rk808: Disable the under voltage detect Rk808 has a under voltage detect function, when the voltage of buck is under 85% the target voltage, the buck output will reset. But if the power load is too heavy, this function maybe err, when current over 4.2A, although the voltage is normal, but RK808 mistakenly think it is under 85%, and reset the buck. So let's disable this function. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9a503a7d9ce0eafd4c9c4a73b9c45a53a4ed2314 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:43 2015 -0800 mfd: ab8500-debugfs: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 23a2a22a3f3f17de094f386a893f7047c10e44a0 Author: Artem Savkov <asavkov@xxxxxxxxxx> Date: Thu Mar 5 12:42:27 2015 +0100 mfd: rt5033: MFD_RT5033 needs to select REGMAP_IRQ Since commit 0b2712585(linux-next.git) this driver uses regmap_irq and so needs to select REGMAP_IRQ. This fixes the following compilation errors: ERROR: "regmap_irq_get_domain" [drivers/mfd/rt5033.ko] undefined! ERROR: "regmap_add_irq_chip" [drivers/mfd/rt5033.ko] undefined! Signed-off-by: Artem Savkov <asavkov@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ed05be56643e3420037c5f3854bed249b4f2f758 Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Date: Wed Mar 4 16:13:12 2015 +0000 mfd: da9052: Register ability of device to cause a wake-up interrupt Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 72e341c48fbca142d767e97746e33a4becf890ea Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Date: Wed Mar 4 16:13:12 2015 +0000 mfd: da9052: Fix register access via SPI The range of registers used by this driver exceeds that available via SPI with no paging (127), so we have to override the values from the default config which is set-up for I2C access. Also change SPI settings to match device's recommended OTP values. Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 315491e5d6ee66838a18a8ca0c14e6ffb376e48c Author: Suman Anna <s-anna@xxxxxx> Date: Fri Jan 9 15:21:58 2015 -0600 remoteproc: add IOMMU hardware capability flag The remoteproc framework currently relies on iommu_present() on the bus the device is on, to perform MMU management. However, this logic doesn't scale for multi-arch, especially for processors that do not have an IOMMU. Replace this logic instead by using a h/w capability flag for the presence of IOMMU in the rproc structure. This issue is seen on OMAP platforms when trying to add a remoteproc driver for a small Cortex M3 called the WkupM3 used for suspend / resume management on TI AM335/AM437x SoCs. This processor does not have an MMU. Same is the case with another processor subsystem PRU-ICSS on AM335/AM437x. All these are platform devices, and the current iommu_present check will not scale for the same kernel image to support OMAP4/OMAP5 and AM335/AM437x. The existing platform implementation drivers - OMAP remoteproc, STE Modem remoteproc and DA8xx remoteproc, are updated as well to properly configure the newly added rproc field. Cc: Robert Tivy <rtivy@xxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Suman Anna <s-anna@xxxxxx> [small change in the commit title and in a single comment] Signed-off-by: Ohad Ben-Cohen <ohad@xxxxxxxxxx> commit e111e9685790ccd9acce5de51fa7ed6b9ae8a746 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 3 20:23:47 2015 +0100 iwlwifi: mvm: simplify iwl_mvm_get_wakeup_status() return The return value in iwl_mvm_get_wakeup_status() is a bit unclear in that it's not obvious that we don't leak fw_status in some cases. Use fw_status directly with ERR_PTR() and return only it, that way the compiler has a chance of proving that it's uninitialized (if it ever is due to new changes.) Additionally, this removes a smatch warning since smatch couldn't figure out that fw_status can't, in fact, leak here. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0c2ae049aef7fe1b8800db3f28c23520150bfd78 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Thu Mar 12 09:25:15 2015 +0200 iwlwifi: mvm: don't double unlock the mutex in __iwl_mvm_resume() When IWLWIFI_DEBUGFS is not set, we should not unlock the mutex after calling iwl_mvm_query_wakeup_reasons(), because this function unlocks it already. Move the goto out_iterate outside the #ifdef. Change-Id: I13d86402aecf0eeec44b1abbe2b244fbc706a5eb Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit bca13904d0558ad4160441ebb00b37e44a19483f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Mar 11 20:27:06 2015 +0100 iwlwifi: mvm: clarify time event end handling The code here is a little confusing, the iwl_mvm_te_check_disconnect() will check that the interface is a station, but going into it after already having processed the time even end for P2P seems strange at first look. Put a switch statement there to distinguish the interface types and make this more readable. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f4a3ee493e69239ad9e76e42524d08c58ac31f11 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Sun Feb 8 13:58:50 2015 +0200 iwlwifi: mvm: Always enable the smart FIFO We previously enabled the smart FIFO (SF) in BSS only after association. This cause interrupt latency on P2P on certain devices. Change the working model to enable the SF all the time and play with the timeout values based on the association state. This change was not tested on older firwmares, so make it happen only on -13.ucode and up. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 82f0a9e602216e9216fa81a98bd3e38b030964cb Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Mar 8 14:18:17 2015 +0200 iwlwifi: update copyright to include 2015 Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2bccec4e1283fc74d2b52c0534816c8ad0f9ac3f Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Mon Mar 9 11:25:59 2015 +0200 iwlwifi: add more new 8260 series PCI IDs More sub system IDs were introduced for the 8260 series. Add the new sub system IDs so the cards can be recognized. Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit aee8bf5d269ace14f8b31daff34add21b802e7cd Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 19 15:00:18 2015 +0200 iwlwifi: mvm: BT Coex - update the new API The firmware was not using the new API, so we don't need to differentiate between the different stages of this new API. The main difference here is that most of the hard coded values are not sent through the command anymore. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9b666db49253f7d65833dd02c00a2b026309c619 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 9 12:37:59 2015 +0200 iwlwifi: mvm: fix force NMI for 8000 The newer devices will enable a new register for this (DEVICE_SET_NMI_8000B_REG), but the interrupt handler isn't wired yet. Keep the old register for now. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c22b0ff572e4b3723a3c552e74a4ba2497606040 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jan 22 13:15:15 2015 +0200 iwlwifi: mvm: freeze the non-shared queues when a station goes to sleep When a station goes to sleep, we can't transmit any frame to it. This means that until that station will wake up, a queue that is dedicated to this station won't progress at all. Take this into account when monitoring stuck queues and don't account for the time the station was asleep. This allows to mask false positives where the queues are stuck not because of a bug, but because of the station being asleep. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e0b8d405132db38fafc9da86ef4de0ebe2be468e Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Jan 20 17:02:40 2015 +0200 iwlwifi: pcie: allow the op_mode to freeze the stuck queue timer This allows the op_mode to let the transport know that a queue is currently frozen and that its timer should be stopped. When the queue is unfrozen, its timer should be set to expire after the remainder of the timeout has elapsed. This can be used when stations go to sleep. When a station goes to sleep, the op_mode can freeze the timer so that the queue will never be considered as stuck. When the station wakes up, the queue will be unfrozen. This is meant to avoid false positives that would happen if a buggy station goes to sleep for a very long time. In case we have a dedicated queue for this station (BA agreement) and it goes to sleep for a very long time, the queue would rightfully be stopped during all that time. In this case, the stuck queue timer could fire and that would be a false positive. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ad82d8a5366fc3f84ea9ee0fa417cdfb42b28ec8 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Mar 8 19:43:41 2015 +0200 iwlwifi: mvm: rs: update Tx statistics when using fixed rate The Tx statistics weren't updated when using fixed rate for debugging. Fix this as Tx statistics are useful in this use case. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 35af15d1312429c9407c75868475c06e459070cb Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Mar 4 15:08:00 2015 +0200 iwlwifi: mvm: don't init MCC during CT-kill RTNL is not taken during CT-kill so regulatory APIs cannot be invoked. That's fine, since the HW is only brought up to check the temperature during CT-kill. We don't expect Tx or scanning. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 36f4631c53cb2fab37e6cb5724727b6a5a1b3899 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 10 20:32:08 2015 +0100 iwlwifi: mvm: remove warning on station exhaustion When using IBSS, it's easily possible to exhaust the number of available stations in the driver, so don't warn on it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 16bc119b6b6410863c50d0dafed8c04e5cb6122a Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Tue Mar 3 13:53:28 2015 +0200 iwlwifi: trans: Take ownership on secure machine before FW load When we load the firmware for the 8000 B step device, it'll verify its signature. In the current version of the hardware, there can be a race between the WiFi firmware being loaded and the Bluetooth firmware being loaded. Check that WiFi is authenticated, if not, take ownership on the authentication machine to make sure that the WiFi firmware will be authenticated. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3a1a61476d749c9aa92d5ce67164fd5e5f7fbe55 Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Wed Mar 4 16:26:45 2015 +0200 iwlwifi: add new 8260 series PCI IDs New sub system IDs were introduced for the 8260 series. This patch adds them so new 8260 cards can be recognized. Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit db7c689d0877d3ba96c4791ff1f255eca51334fb Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Mar 2 10:35:19 2015 +0200 iwlwifi: mvm: rs: improve ss_params debug print Make the print a bit more readable. Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4557eaba13c2b9074c64e37bb93f77c4917a81b1 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 1 18:24:57 2015 +0200 iwlwifi: don't allow the FW to return invalid ch indices If the FW returns an invalid channels count in response to an MCC request, make sure we don't reference invalid indices in the channels array. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit fcf23352e0ff500676ac4923c68c20a1fe55fb5e Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Feb 22 19:15:04 2015 +0200 iwlwifi: mvm: reflect TDLS pm state in mvmvif->pm_enabled When entering D0i3, the MVM mutex cannot be grabbed. This interferes with the calculation of the number of connected TDLS stations during the setup of the power cmd. The goal is to disable power saving for all vifs while any TDLS station is connected. For this purpose it is enough to keep the pm_enabled member of all mvmvifs as false. An update of the power state already occurs when a TDLS station is added/removed, so the values are correctly updated. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9beda940594f6646f97b7927e202ae9504654f9d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 2 14:39:03 2015 +0200 iwlwifi: mvm: fix identation mvm->fw->dbg_dest_tlv really needs to be under the right parenthesis. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7d03182c5d98c86a7bbc58b8878bbed353fb45ee Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Mar 2 14:35:41 2015 +0200 iwlwifi: mvm: remove unneeded include iwl-fw-error-dump.h The functions related to firmware error dump moved. No need for this unclude anymore. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f55286313a6597d075f409f111b4f516a3feb830 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Feb 4 15:38:56 2015 +0200 iwlwifi: use correct NVM offset for LAR enable for new NVMs New NVM versions in LnP platforms have the lar_enable bits in a different offset. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e70fe7eb9dec9c7b7c570a489f198b93b5ca609b Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Mar 1 17:18:00 2015 +0200 iwlwifi: fix smatch warning: warn: inconsistent indenting While at it, fix a few checkpatch issues. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6a65bd534e5844d42d432eb41ee04e2a242bfc60 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Feb 25 16:06:46 2015 +0200 iwlwifi: pcie: include more registers in the prph dump This adds BT Coex data to the prph register list. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 36277234da673293a6afe60ac19a79d20bce9ae5 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Feb 25 15:49:39 2015 +0200 iwlwifi: pcie: speed up the Tx DMA stop flow We don't need to acquire MAC access for each access, it makes much more sense to keep the MAC access. This speeds up the Tx DMA stop flow significantly. Moreover, if one channel can't be stopped, stop the others but don't poll for them to avoid being stuck there for a long time. This solves a situation in which we were stuck in that flow for way too long with a spinlock held which led to a kernel panic. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7a42baa621538eb73b261828027b1faa25e341e6 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Wed Feb 25 14:24:51 2015 +0200 iwlwifi: mvm: support family 8000 B2/C steps In-order to recognize newer step of the device, the driver must read the chip_version_id from the AUX bus MISC address space. This will determine what firmware file will be loaded. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7754ae79e218bfd7782655fdebc8966c8a858358 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 26 15:14:35 2015 +0200 iwlwifi: mvm: always update the quota after association When we associate we always need to update the quotas. This fixes a bug for cases in which quotas weren't udapted after association. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 70e90992e7c5dc4092869827665485a09ca777ea Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 26 16:54:24 2015 +0200 iwlwifi: mvm: BT Coex - disable RRC by default Enable this feature only if the firmware advertises support for it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0ec850dc194586398242d3fa590720f737b5f088 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 26 16:40:56 2015 +0200 iwlwifi: mvm: remove IWL_UCODE_TLV_API_SF_NO_DUMMY_NOTIF All the supported firmwares support this API. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 767d6f9d43b4ebe97cc5dc7b7b2cdb5e57b82288 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 26 16:39:36 2015 +0200 iwlwifi: mvm: remove IWL_UCODE_TLV_API_DISABLE_STA_TX All the supported firwmares have this new API. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 560ba3e6f4ca31ff884fb238a16032e0e9c5814a Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Mar 1 10:46:58 2015 +0200 iwlwifi: bump API to 13 for devices that use iwlmvm This new firmware will come out soon. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 47c8b154a7d080626dfd148397782a49d5212a88 Author: Jonathan Doron <jonathanx.doron@xxxxxxxxx> Date: Thu Nov 27 16:55:25 2014 +0200 iwlwifi: mvm: set LAR MCC on D3/D0 transitions When moving to the D3 FW give it the valid MCC from the D0 FW. When returning from D3 to D0, query the D3 FW for the latest MCC, as it might have changed internally. This MCC will be replayed to the D0 FW when it boots. Signed-off-by: Jonathan Doron <jonathanx.doron@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7f0344c218a6110cbdb7d0974984838e35a24b30 Author: Jonathan Doron <jonathanx.doron@xxxxxxxxx> Date: Thu Nov 27 16:57:55 2014 +0200 iwlwifi: mvm: support LAR updates from BIOS When booting the card, check for a dedicated regulatory ACPI entry. If such exists, read it and give the information to FW with the appropriate source. Signed-off-by: Jonathan Doron <jonathanx.doron@xxxxxxxxx> Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 8ba2d7a1dd5defd7a9cbc400004cc112fc9ff3b5 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Sun Feb 8 11:41:43 2015 +0200 iwlwifi: mvm: take the MAC address from HW registers For some configurations, the driver should get the MAC address from the hardware registers and not from the regular locations. Since the parsing of the MAC address is the same regardless of its source, continue the regular code path (parsing) after we read the registers. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5711cac489d06cc9c3cdcd513c810b7148beb49d Author: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Date: Sun Dec 28 09:23:16 2014 +0200 iwlwifi: allow disabling LAR via module param This module parameter is useful for debugging NVM and LAR related issues. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ce5000710bd80b87917875897d74167a0a07b342 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Mon Dec 1 17:53:53 2014 +0200 iwlwifi: mvm: support new PHY_SKU nvm section for family 8000 B0 Starting from family 8000 B0 step the radio_cfg parameters and the get_sku parameters moved from SW section to PHY_SKU section. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2926f9589b6cbcb6f0b2d02e9102e1842a9c8fc1 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Oct 23 16:29:10 2014 +0300 iwlwifi: disable 11ac if 11n is disabled 11ac depends on 11n, so disable it if 11n is disabled. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d0d151973626eec3b8651311bdec209ba9050869 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Thu Jul 31 09:16:25 2014 +0300 iwlwifi: iwlmvm: LAR: disable LAR support due to NVM vs TLV conflict If LAR is supported in TLV, but the NVM does not enable it, then disable LAR support and ignore the TLV's bit that enabled LAR. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 02a50495dec111c68d82ecf3ac1e00224e880790 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Sep 7 17:45:11 2014 +0300 iwlwifi: use IWL_DEFAULT_MAX_TX_POWER for max_eirp max_eirp affects the txpower configured to the power, so use the max tx power (22) instead of some other value. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b281c93d23cdc3e44fcd3f36548689add4c06543 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Thu Jun 26 11:10:57 2014 +0300 iwlwifi: change last 5ghz channel to 165 & add support for 8000 family Fix the last 5ghz channel to 165 instead of 161 Add support for 8000 family, until channel 181. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 162ee3c9a81556316e22305e455166e470fbb2b2 Author: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Date: Tue Jun 10 11:25:35 2014 +0300 iwlwifi: nvm: init correct nvm channel list for 8000 devices Otherwise the regulatory data will mistakenly contain only 7000 series channels. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 88931cc92872151d53f86720c848e469574ce7f0 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Mar 5 12:26:15 2014 +0200 iwlwifi: mvm: LAR: Add chub mcc change notify command Chub (Communication Hub, CommsHUB) is a HW component that connects to the cellular and connectivity cores that gets updates of mcc changes, and then notifies the FW directly of any mcc change. The ucode notifies the driver (via this command) that it should ask for an mcc update, and the driver sends the ucode the update mcc command to set the updated regulatory info. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a76f3bfe016dbda161f9d31cc5cbdd9238d13488 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Mon May 26 18:11:37 2014 +0300 iwlwifi: don't declare support for 5ghz if not supported Remove a useless debug print about unsupported channels. Also add a comment about the LAR special case where channels might become valid later. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit bdf2fae8376bbf1bdb0baa4c3616e81731214dfb Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Thu Oct 30 15:12:39 2014 +0200 iwlwifi: ignore IBSS flag as regulatory NO-IR indication According to updated regulatory guidelines, the ACTIVE bit in the NVM also allows ibss activity on the channel. The IBSS NVM bit is not updated when LAR is active and is deprecated. Using this bit for NO-IR incorrectly causes all 5Ghz channels to be marked as passive. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 770ceda6158b00cd872e0c6713f4f65320c5ff8d Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 23 16:18:40 2014 +0200 iwlwifi: mvm: consider LAR support during NVM parse Register to cfg80211 with all channels enabled when LAR is supported. Appropriate channels will later be disabled when a specific regulatory domain is defined. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit af45a9003f1f14af24804f7747f14238e8d51163 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Mar 5 12:19:10 2014 +0200 iwlwifi: create regdomain from mcc_update_cmd response Parse the NVM channel data and create a regulatory domain with a rule for every 20Mhz channel. Use the AUTO_BW flag so the regulatory core can unify single-channel rules into ranges. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 90d4f7db6c5d8af1f4eab7bc714ec0ee130f9f00 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Tue Mar 4 19:58:46 2014 +0200 iwlwifi: mvm: init country code on init/recovery During init queue a regulatory update to retrieve the default regulatory settings from FW. If we're during recovery, only replay the current country code to FW, if it exists. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit dcaf9f5ecb6f395152609bdc40660d9b593dca63 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Tue Mar 4 19:54:12 2014 +0200 iwlwifi: mvm: add MCC update FW API The new API sets an MCC (mobile country code) to FW and receives a channel structure to be used as a basis for an updated regulatory domain. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3c2d24a9147e4c041ce94be2d166afe89225ff93 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Feb 23 02:40:07 2015 +0200 iwlwifi: fix max_ht_ampdu_exponent for older devices The commit below didn't update the max_ht_ampdu_exponent for the devices listed in iwl-[1-6]000.c which, in result, became 0 instead of 8K. This reduced the size of the Rx AMPDU from 64K to 8K which had an impact in the Rx throughput. One user reported that because of this, his downstream throughput droppped by a half. CC: <stable@xxxxxxxxxxxxxxx> [3.19] Fixes: c064ddf318aa ("iwlwifi: change max HT and VHT A-MPDU exponent") Reported-and-tested-by: Valentin Manea <linux-wireless@xxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 060b4460c47143440e77e6721f68ef756674d207 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 10 10:47:57 2015 +0100 iwlwifi: mvm: disconnect if CSA time event fails scheduling If this situation ever happens, the mac80211 state machine gets confused because it never clears csa_active. There was a separate bug that lead to this happening with a working connection, but it isn't very robust to try to keep the connection up in this case. When removing the time event the CSA essentially procedure stops, so the safest thing to do is to disconnect in this case. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 983f9814c0199c26a58cbfe98f071e3bfa968839 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Mar 11 17:47:40 2015 -0700 Bluetooth: Remove two else branches that are not needed The SMP code contains two else branches that are not needed since the successful test will actually leave the function. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a3a0a5992e47869232cffcb02b7d32fe5204ac7c Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Mar 10 22:42:50 2015 +0200 iwlwifi: dvm: drop VO packets when mac80211 tells us to mac80211 now informs the driver when to drop the packets upon flush(). This will happen before disconnecting, or before we shut down the interface. We can now rely on this to drop all the packets including the VO queues. When mac80211 sets drop to false, wait for all the queues to be empty. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e6826ef14597981f78156a0d5f9553b19f356e3f Merge: 4945f1f be3bb82 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Mar 12 07:38:46 2015 +0100 Merge branch 'for-linus' into for-next commit 2c6e0277e1eab3df5db81c59e408b7b1c14b1b72 Author: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> Date: Wed Mar 11 17:26:41 2015 -0500 HID: multitouch: Add support for button type usage According to [1], Windows Precision Touchpad devices must supply a button type usage in the device capabilities feature report. A value of 0 indicates that the device contains a depressible button (i.e. it's a click-pad) whereas a value of 1 indicates a non-depressible button. Add support for this usage and set INPUT_PROP_BUTTONPAD on the touchpad input device whenever a depressible button is present. [1] https://msdn.microsoft.com/en-us/library/windows/hardware/dn467314(v=vs.85).aspx Signed-off-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6b9f53bc102d4e61b73c13f661de4a1c358768c1 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:25 2015 +0100 net/mlx5_core: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84ed82b74dcb23d96cee2987612a677ffd2b5470 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 12 14:47:13 2015 +1100 rhashtable: Add annotation to nested lock Commit aa34a6cb0478842452bac58edb50d3ef9e178c92 ("rhashtable: Add arbitrary rehash function") killed the annotation on the nested lock which leads to bitching from lockdep. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d77c555d325d6ece7d352995c97460988c152f58 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 11 20:27:52 2015 -0700 net: fix CONFIG_NET_NS=n compilation I forgot to use write_pnet() in three locations. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 33cf7c90fe2f9 ("net: add real socket cookies") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c78ba6d64c78634a875d1e316676667cabfea256 Author: Lubomir Rintel <lkundrak@xxxxx> Date: Wed Mar 11 15:39:21 2015 +0100 ipv6: expose RFC4191 route preference via rtnetlink This makes it possible to retain the route preference when RAs are handled in userspace. Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac70c05b6f2b228f778cbde94f64e5df8a2c4d55 Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Thu Mar 12 10:42:50 2015 +0900 switchdev: correct spelling of notifier in comments Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d299ce149c1aa6a2e2c8db44974a6a1c07d7303b Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Thu Mar 12 11:00:10 2015 +0900 vxlan: Correct path typo in comment Flags are used in the return path rather than the return patch. Fixes: af33c1adae1e ("vxlan: Eliminate dependency on UDP socket in transmit path") Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33cf7c90fe2f97afb1cadaa0cfb782cb9d1b9ee2 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Mar 11 18:53:14 2015 -0700 net: add real socket cookies A long standing problem in netlink socket dumps is the use of kernel socket addresses as cookies. 1) It is a security concern. 2) Sockets can be reused quite quickly, so there is no guarantee a cookie is used once and identify a flow. 3) request sock, establish sock, and timewait socks for a given flow have different cookies. Part of our effort to bring better TCP statistics requires to switch to a different allocator. In this patch, I chose to use a per network namespace 64bit generator, and to use it only in the case a socket needs to be dumped to netlink. (This might be refined later if needed) Note that I tried to carry cookies from request sock, to establish sock, then timewait sockets. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Eric Salo <salo@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 654eff45166c7e89d18fc476325c975768b2e347 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 11 16:36:08 2015 -0700 fib_trie: Only display main table in /proc/net/route When we merged the tries for local and main I had overlooked the iterator for /proc/net/route. As a result it was outputting both local and main when the two tries were merged. This patch resolves that by only providing output for aliases that are actually in the main trie. As a result we should go back to the original behavior which I assume will be necessary to maintain legacy support. Fixes: 0ddcf43d5 ("ipv4: FIB Local/MAIN table collapse") Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e5e9c6835e05ccc2be67486bc998b6f62663621 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 16:59:28 2015 +0100 ARM: shmobile: r8a7740: Remove restart callback Remove the restart handling hack from the r8a7740 generic multiplatform case. Restart on DT-based r8a7740 platforms is now handled through the R-Mobile reset driver. This reverts commit 1174c712afa2779f ("ARM: shmobile: r8a7740: Add restart callback"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8883e72da3a0859e910f96c0372baf08ab47f7ae Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Jan 26 17:21:14 2015 +0100 ARM: shmobile: R-Car Gen2: CONFIG_COMMON_CLK is always set Since commit e042681894b62d60 ("ARM: shmobile: r8a7790: Remove legacy code"), all R-Car Gen2 SoCs are supported by multiplatform kernels only. As CONFIG_COMMON_CLK is always set for multiplatform kernels, we can remove related #ifdefs in code specific to R-Car Gen2 SoCs. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e2fd51b7e1742b82529a39107ed59ac0da69321d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 26 11:29:35 2015 +0100 ARM: shmobile: Remove stray closing parenthesis in debug description Remove the stray closing parenthesis in the config description for the DEBUG_RCAR_GEN2_SCIF0 option. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7234bea69de200e2060d099685c4c674b556edc0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Mar 10 17:51:55 2015 +0100 mtd: clean up whitespace in linux/mtd/map.h As the only comments I got for the "mtd: cfi: reduce stack size" patch were about whitespace changes, it appears necessary to fix up the rest of the file as well, which contains the exact same mistakes. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d09957fbb4d0b059b3176b510540df69048ad170 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Mar 10 17:48:37 2015 +0100 mtd: cfi: reduce stack size The cfi_staa_write_buffers function uses a large amount of kernel stack whenever CONFIG_MTD_MAP_BANK_WIDTH_32 is set, and that results in a warning on ARM allmodconfig builds: drivers/mtd/chips/cfi_cmdset_0020.c: In function 'cfi_staa_write_buffers': drivers/mtd/chips/cfi_cmdset_0020.c:651:1: warning: the frame size of 1208 bytes is larger than 1024 bytes [-Wframe-larger-than=] It turns out that this is largely a result of a suboptimal implementation of map_word_andequal(). Replacing this function with a straightforward one reduces the stack size in this function by exactly 200 bytes, shrinks the .text segment for this file from 27648 bytes to 26608 bytes, and makes the warning go away. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0ec56dc4a1489d5b1d23d1c019b76a69ce153805 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:30 2015 -0800 mtd: nand: fully initialize mtd_oob_ops We're not initializing the ooblen field. Our users don't care, since they check that oobbuf == NULL first, but it's good practice to zero unused fields out. We can drop the NULL initializations since we're memset()ing the whole thing. Noticed by Coverity, CID #200821, #200822 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e22b7651ef23ad90eed4bdbe75f12194f47d7a4f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:29 2015 -0800 mtd: blkdevs: remove dead code The only exit (break) from the preceding loop is nested within a condition which yields req == NULL. This code is dead. Coverity CID #752669 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 99f6d50dc81ef713f64abbb5ec6b94167203d8c5 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:28 2015 -0800 mtd: nand: denali: drop dead code TclsRising is always 1. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> commit b1a2348a1ac1380adf429035dbf3fdad0d5367bc Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:27 2015 -0800 mtd: nand: fixup bounds checks for nand_{lock,unlock}() Coverity noticed that these 'ret' assignments weren't being used. Let's use them. Note that nand_lock() and nand_unlock() are still not officially used by any drivers. Coverity CIDs #1227054 and #1227037 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b9da8bae416efda5ad61c7c92edbb30de15ff7ee Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:26 2015 -0800 mtd: tests: fix more potential integer overflows Caught by Coverity (CID #200625 and others) Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx> commit 7f2a7ce17dcd381e366a65b6643239338a987715 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 02:02:25 2015 -0800 mtd: onenand: drop dead code 'ret' is always zero, so this is all dead code. This should quiet Coverity CID #1226739. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> commit dc52499e7f2d9812cfa4aa3b8d84a3f2c97e068b Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Mar 9 10:18:16 2015 -0700 mtd: docg3: drop dead code If no devices were found, we would already have skipped over this code. Detected by Coverity, CID #744270 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 98ebb521096f2d90c3e903ba79412cd92064795b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 20:00:00 2015 +0100 mtd: mxc-nand: Warn on unimplemented commands The PARAM command was long unimplemented and it probably wasn't noticed because chip probing using only the few bytes returned by the READID command are good enough in most cases to determine the chip in use. Still to notice such a shortcoming earlier in the future would be nice in case it's something more vital. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3d6e81c0c9827c86fd3fe4bcbc44155b1401f80e Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 19:59:59 2015 +0100 mtd: mxc-nand: Implement support for PARAM command The mxc-nand driver never supported the PARAM command to read out the ONFI parameter page and so always relied on probing my manufacturer and device id (as provided by the READID command). This patch implements reading out the first parameter page copy at least which should be good enough in practise. This makes the boot log change from nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xb1 nand: Micron NAND 128MiB 1,8V 16-bit to nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xb1 nand: Micron MT29F1G16ABBDAH4 on my machine. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c4ca3997ef954bcba009cce0e325f3155bdde01a Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 19:59:58 2015 +0100 mtd: mxc-nand: Allow to use column addresses different from 0 The mxc-nand controller works pagewise and so usually only sends commands to the flash chip with column == 0. A request with column != 0 from the upper layer is then fulfilled by indexing appropriately into the device's RAM buffer. To be able to access the ONFI marker at offset 0x20 in reply to the READID command however it's invalid to read 32 bytes starting from column 0. So let the function used to send the address cycles send the column address actually passed instead of 0 and fix all callers to pass 0 instead appropriately. Also add some warnings in case this patch changes the drivers semantics. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f410690f511f9531fdc0865a931522b049d7b29 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 19:59:57 2015 +0100 mtd: mxc-nand: Do the word to byte mangling in the read_byte callback When the hardware operates in 16 bit mode it always reads 16 bits even for operations that only have the lower 8 bits defined. So the upper bits must be discarded. Do this in the read_byte callback instead of when reading the NAND id to support reading byte wise more than 5 bytes and at other occations (like reading the ONFI parameter page). Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1f42adc8880d0692c3cb7b6adb247f17c4983081 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 19:59:56 2015 +0100 mtd: mxc-nand: Only enable hardware checksumming for fully detected flashes At least on i.MX25 (i.e. NFCv2) preset_v2 is called with mtd->writesize == 0 that is before the connect flash chip is detected. It then configures for 8 bit ECC mode which needs 26 bytes of OOB per 512 bytes main section. For flashes with a smaller OOB area issuing a read page command makes the controller stuck with this config. Note that this currently doesn't hurt because the first read page command is issued only after detection is complete and preset is called once more. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e35d1d8a1d16e9f56a9b54c96d0cb85ed621bb89 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 10 19:59:55 2015 +0100 mtd: mxc-nand: Add a timeout when waiting for interrupt While extending the mxc-nand driver it happend to me a few times that the device was stuck and this made the machine hang during boot. So implement a timeout and print a stack trace the first time this happens to make it debuggable. The return type of the waiting function is also changed to int to be able to handle the timeout in the caller. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c98ce6bf1a791d194186b3e1006f2b645569c6e3 Merge: 0a9061c 0d9ab18 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 23:14:28 2015 +0100 Merge tag 'mvebu-soc-4.1' of git://git.infradead.org/linux-mvebu into next/soc Pull "mvebu soc changes for v4.1 (part #1)" from Gregory CLEMENT: - Add support for a new SoC: Armada 39x * tag 'mvebu-soc-4.1' of git://git.infradead.org/linux-mvebu: Documentation: arm: update supported Marvell EBU processors ARM: mvebu: add core support for Armada 39x devicetree: bindings: add new SMP enable method for Marvell Armada 39x devicetree: bindings: add DT binding for the Marvell Armada 39x SoC family commit b1bfa919f023f064015b183943e9c0548bfe7224 Merge: 13a7a6a f224b57 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 23:09:05 2015 +0100 Merge tag 'mvebu-defconfig-4.1' of git://git.infradead.org/linux-mvebu into next/defconfig Pull "mvebu defconfig changes for v4.1 (part #1)" from Gregory CLEMENT: - add the new Armada 39x SoC in mvebu_v7_defconfig * tag 'mvebu-defconfig-4.1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: enable Armada 39x in mvebu_v7_defconfig commit 4c0714290c8d99eae9d5180360ec774cd60bdc15 Merge: 13a7a6a bc2d7a5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 23:02:22 2015 +0100 Merge tag 'mvebu-cleanup-4.1' of git://git.infradead.org/linux-mvebu into next/cleanup Pull "mvebu clean-up changes for v4.1 (part #1)" from Gregory CLEMENT: - Constify the dt_compat table in DT_MACHINE_START * tag 'mvebu-cleanup-4.1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add __initconst specifiers on DT_MACHINE_START dt_compat tables commit c4bb799588f64d7c586ba009f97ccfe7beeae706 Author: Zhizhou Zhang <zhizhou.zhang@xxxxxxxxxxxxxx> Date: Wed Mar 11 02:27:08 2015 +0000 arm64: Add support for Spreadtrum's Sharkl64 Platform in Kconfig and defconfig Adds support for Spreadtrum's SoC Platform in the arm64 Kconfig and defconfig files. Signed-off-by: Zhizhou Zhang <zhizhou.zhang@xxxxxxxxxxxxxx> Signed-off-by: Orson Zhai <orson.zhai@xxxxxxxxxxxxxx> Signed-off-by: Chunyan Zhang <chunyan.zhang@xxxxxxxxxxxxxx> commit c46388a58664e89526fe7b8af0082b9b5c465568 Author: Zhizhou Zhang <zhizhou.zhang@xxxxxxxxxxxxxx> Date: Wed Mar 11 02:27:08 2015 +0000 arm64: dts: Add support for Spreadtrum SC9836 SoC in dts and Makefile Adds the device tree support for Spreadtrum SC9836 SoC which is based on Sharkl64 platform. Sharkl64 platform contains the common nodes of Spreadtrum's arm64-based SoCs. Signed-off-by: Zhizhou Zhang <zhizhou.zhang@xxxxxxxxxxxxxx> Signed-off-by: Orson Zhai <orson.zhai@xxxxxxxxxxxxxx> Signed-off-by: Chunyan Zhang <chunyan.zhang@xxxxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 5d1b79d2b2639bb71238e76d73431fada9e38553 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Mar 9 09:41:04 2015 +0100 ARM64: Add new Xilinx ZynqMP SoC Initial version of device tree for Xilinx ZynqMP SoC. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 388a83576aa1816184a1706753ffa308cce53c8d Merge: d26ea6c cd28a1a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 11 17:56:39 2015 -0400 Merge branch 'dsa_phy_divert' Florian Fainelli says: ==================== net: dsa: support PHY reads/writes diversion This patch series completes the PHY reads/writes diversion when we need to use the slave MII bus provided by DSA and the underlying switch drivers to implement the real PHY reads and writes. This is particularly useful when they are conflicting MDIO bus addresses as in the case of multiple Broadcom switches connected to each other (internal and external, or just external). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd28a1a9baee7674779e46072e5dbbb6215c3c8c Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Mar 10 16:57:13 2015 -0700 net: dsa: fully divert PHY reads/writes if requested In case a PHY is found via Device Tree, and is also flagged by the switch driver as needing indirect reads/writes using the switch driver implemented MDIO bus, make sure that we bind this PHY to the slave MII bus in order for this to happen. Without this, we would succeed in having the PHY driver probe()'s function to use slave MII bus read/write functions, because this is done during dsa_slave_mii_init(), but past that point, the PHY driver would not go through these diverted reads and writes. Fixes: 0d8bcdd383b88 ("net: dsa: allow for more complex PHY setups") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c305c1651cb20f00d272db1615d39513365f2097 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Mar 10 16:57:12 2015 -0700 net: dsa: move PHY setup on DSA MII bus to its own function In preparation for dealing with indirect reads and writes towards certain PHY devices, move the code which deals with binding the PHY device to the slave MII bus created by DSA to its own function: dsa_slave_phy_connect(). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33d6737761ea425d43f3b6e4561573a4020982f2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Mar 10 16:57:11 2015 -0700 of: mdio: export of_mdio_parse_addr Export of_mdio_parse_addr() which allows parsing a given Ethernet PHY node MDIO address, verify it is within the allowed range, and return its value. This is going to be useful for the DSA code which needs to deal with multiple layers of MDIO buses. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05e6d23296ee46f4d25e9eec78141d45f2703410 Merge: 094a29d 90ca409 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 22:54:57 2015 +0100 Merge tag 'renesas-dt2-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Pull "Second Round of Renesas ARM Based SoC DT Updates for v4.1" from Simon Horman: * ape6evm board - Configure GPIO keys as wake-up source - Enable pull-up for GPIO switches - Correct polarity of LEDs * r8a7791 SoC - Correct IPMMU-GP clock to device tree * r8a7794 SoC - Correct ethernet controller PHY IRQ * lager, koelsch and marzen boards - Add DU external pixel clock to DT * lager board - Add HDMI output support to DT * r8a7791 and r8a7790 SoCs - Tidy up SDHI register size in DT - Reference DMA channels for SDHI in DT * tag 'renesas-dt2-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: ape6evm dts: Configure the custom switch as wake-up source ARM: shmobile: ape6evm dts: Enable pull-up for GPIO switches ARM: shmobile: r8a7791: Fix IPMMU-GP clock to device tree ARM: shmobile: r8a7794: alt: Fix ethernet controller PHY IRQ line ARM: shmobile: lager: Add DU external pixel clocks to DT ARM: shmobile: koelsch: Add DU external pixel clocks to DT ARM: shmobile: marzen: Add DU external pixel clock to DT ARM: shmobile: ape6evm dts: Fix polarity of LEDs ARM: shmobile: lager: Add DU HDMI output support ARM: shmobile: r8a7791: Fix HSUSB clock to hp_clk from mp_clk ARM: shmobile: r8a7790: Fix HSUSB clock to hp_clk from mp_clk ARM: shmobile: r8a7791: tidyup SDHI register size on DTSI ARM: shmobile: r8a7790: tidyup SDHI register size on DTSI ARM: shmobile: r8a7791: Reference DMA channels in SDHI DT nodes ARM: shmobile: r8a7790: Reference DMA channels in SDHI DT nodes commit d26ea6cc48da5a97d8188220c334cf3669fa8dc7 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Tue Mar 10 15:55:00 2015 -0700 net: bcmgenet: collect Rx discarded packet count Bits 31:16 of RDMA_PROD_INDEX contain Rx discarded packet count, which are the Rx packets that had to be dropped by MAC hardware since there was no room on the Rx queue. Add code to collect this information into the netdev stats. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 094a29d023b9ef0947bdc98e8cfeafe6219eb00a Merge: 4d0b756 538da83 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 22:53:16 2015 +0100 Merge tag 'mvebu-dt-4.1' of git://git.infradead.org/linux-mvebu into next/dt Pull "mvebu dt changes for v4.1 (part #1)" from Gregory CLEMENT: - fix SDHCI nodes on Armada 38x - add Linksys WRT1900AC (Mamba) support (including the Ethernet switch) - add several fixes and improvement for dove - enable GPIO fan alarm support for 2Big Network v2 - add several fixes about unit address - add support for Armada 39x SoC and board * tag 'mvebu-dt-4.1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add Device Tree files for Armada 39x SoC and board ARM: mvebu: fix unit address of MPIC nodes ARM: mvebu: use stdout-path in all armada-*.dts ARM: mvebu: add serial port aliases on Armada 370/375/38x/XP ARM: mvebu: remove aliases for Ethernet devices on Armada 370/375/38x/XP ARM: mvebu: add UART labels to Armada 375 ARM: mvebu: add missing UART labels on Armada 38x ARM: mvebu: fix usb@ unit address on Armada 38x to match register address ARM: mvebu: a385-db-ap: Enable the NAND ARM: ARMADA XP: WRT1900AC: Add support for the Ethernet switch ARM: Kirkwood: enable GPIO fan alarm support for 2Big Network v2 ARM: mvebu: Fix MPIC unit address ARM: dts: dove: Add some more common pinctrl settings ARM: dts: dove: Add node labels for PCIe ports 0 and 1 ARM: dts: dove: Always include gpio and interrupt-controller headers ARM: dts: dove: Fix uart[23] reg property ARM: mvebu: add Linksys WRT1900AC (Mamba) support ARM: mvebu: Add Device Tree description of SDHCI for Armada 388 RD ARM: mvebu: Update the SDHCI node on Armada 38x ARM: mvebu: Use macros for interrupt flags on Armada 38x sdhci node commit 4d0b756ec74861f1ca4bf3fe41c3266aa9317f4e Merge: e3d0014 7875b47 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 22:51:11 2015 +0100 Merge tag 'arm-soc/for-4.1/devicetree' of http://github.com/broadcom/stblinux into next/dt Pull "Broadcom Device Tree changes for 4.1 #1" from Florian Fainelli: This pull request contains the following Broadcom SoCs Device Tree changes: - Jonathan adds support for the Broadcom Cygnus BCM958305K board - Rafal adds support for Netgear R8000 and fixes the default for power LEDs on Netgear R6250 * tag 'arm-soc/for-4.1/devicetree' of http://github.com/broadcom/stblinux: ARM: BCM5301X: Fix default state of power LEDs on Netgear R6250 ARM: BCM5301X: Add DT for Netgear R8000 ARM: dts: Enable Broadcom Cygnus BCM958305K commit e3d00145e3c9e9d39219e183a47aa196a93447ef Merge: 66c9270 35762a6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 22:48:55 2015 +0100 Merge tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt Pull "First batch of DT changes for 4.1" into next/dt: - at91sam9x5 & EK board: ISI and camera sensors - at91sam9n12 & EK board: USB gadget nodes - sama5d3: typos, gpio-keys on Xplained board - sama5d4: i2c, leds, audio, ISI, crypto, pwm missing nodes - new sama5d4 xplained board * tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (31 commits) ARM: at91/dt: sama5d4: add ISI dt support ARM: at91/dt: sama5d4: add pwm0 device node ARM: at91/dt: sama5d4: add aes, sha and tdes nodes ARM: at91: dt: sama5d4ek: enable audio ARM: at91: dt: sama5d4ek: add and enable wm8904 ARM: at91: dt: sama5d4ek: enable ssc0 ARM: at91: dt: sama5d4: add ssc nodes ARM: at91/dt: sama5d4 xplained: add i2c0 ARM: at91/dt: sama5d4: add dts for sama5d4 xplained board ARM: at91/dt: sama5d4: add #{address, size}_cells properties for macb0 ARM: at91/dt: sama5d4ek: add leds in DT node ARM: at91/dt: add i2c1 declaration to sama5d4 ARM: at91/dt: gpio-keys: address-cells and size-cells properties are not needed ARM: at91/dt: at91-sama5d3_xplained: add gpio-key pinctrl property ARM: at91/dt/trivial: correct file headers for SAMA5D3 SoC peripherals ARM: at91/dt: at91sam9n12ek: enable udp ARM: at91/dt: at91sam9n12: add udp device node ARM: at91: at91sam9g25ek/dts: enable ISI and ov2640 ARM: at91: at91sam9x5ek/dts: add ov2640 support ARM: at91: at91sam9x5/dts: add ISI dt support, include isi node, pinctrls ... commit a0307d186f5015ee3d77e209e5c06190cbf02478 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Feb 9 21:12:23 2015 +0800 ARM: rockchip: disable watchdog during suspend The watchdog clock should be disable in dw_wdt_suspend, but we set a dummy clock to watchdog for rk3288. So the watchdog will continue to work during suspend. And we switch the system clock to 32khz from 24Mhz, during suspend, so the watchdog timer over count will increase to 755 times, about 12.5 hours, the original value is 60 seconds. So watchdog will reset the system over a night, but voltage are all incorrect, then it hang on reset. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit aefc7c7512455c26574ae7118429920dc3de60ae Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Feb 9 21:12:22 2015 +0800 ARM: rockchip: decrease the wait time for resume The register-default delay time for wait the 24MHz OSC stabilization as well as PMU stabilization is 750ms, let's decrease them to a still safe 30ms. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit bd76d73836fa903d67eaabcb3a0201d2d0a73461 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Mar 2 00:12:03 2015 +0100 ARM: rockchip: Constify struct regmap_config and staticize local function The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Make function rockchip_get_core_reset() static because it is not used outside of the platsmp.c file. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 61f0d861fc6924fa673ecf1128a911d49cb10dc8 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 11 14:02:16 2015 -0700 fib_trie: Fix uninitialized variable warning The 0-day kernel test infrastructure reported a use of uninitialized variable warning for local_table due to the fact that the local and main allocations had been swapped from the original setup. This change corrects that by making it so that we free the main table if the local table allocation fails. Fixes: 0ddcf43d5 ("ipv4: FIB Local/MAIN table collapse") Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0e3704c94c5737f42e9ac49a5dcca366674e5229 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:14 2015 -0400 drm/fb: handle tiled connectors better We don't want tile 0,0 to artificially constrain the size of the legacy fbdev device. Instead when reducing fb_size to be the minimum of all displays, only consider the rightmost and bottommost tiles. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Tested-by: Hai Li <hali@xxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 675c8328db6548f00a4e60770e66ab53752d6bf2 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:13 2015 -0400 drm/fb: small cleanup Flip conditional to reduce indentation level of rest of fxn, and use min/max to make the code clearer. v2: surface_width -> surface_height typo Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d3c8ea3460fa9ca8a19eea8813071dee0b07c293 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:12 2015 -0400 drm/rockchip: use correct fb width/height What is passed to drm_fb_helper_fill_var() should be fb_width/fb_height, rather than the surface size. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ecbf1d5afe993f05f0c513a4b99256589ab5c810 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:11 2015 -0400 drm/exynos: use correct fb width/height What is passed to drm_fb_helper_fill_var() should be fb_width/fb_height, rather than the surface size. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8d76612bd49a73dca018e6fe5c790c943dbde98f Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:10 2015 -0400 drm/cma: use correct fb width/height What is passed to drm_fb_helper_fill_var() should be fb_width/fb_height, rather than the surface size. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 08855fae10f088d83527bdf108199d3e35be503b Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:09 2015 -0400 drm/atomic: minor kerneldoc typo fix Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b7b5ee593118f9dc884fc21237f51b9f599cc432 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Mar 11 10:23:08 2015 -0400 drm/fb: document drm_fb_helper_surface_size There has been some confusion about this struct. Lack of documentation probably didn't help. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d002fa720738bcd0bddb9178e9ea0773288e1dd Author: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Date: Tue Feb 10 18:38:08 2015 +0000 drm/dp: Use large transactions for I2C over AUX Older DisplayPort to DVI-D Dual Link adapters designed by Bizlink have bugs in their I2C over AUX implementation (fixed in newer revisions). They work fine with Windows, but fail with Linux. It turns out that they cannot keep an I2C transaction open unless the previous read was 16 bytes; shorter reads can only be followed by a zero byte transfer ending the I2C transaction. Copy Windows's behaviour, and read 16 bytes at a time. If we get a short reply, assume that there's a hardware bottleneck, and shrink our read size to match. For this purpose, use the algorithm in the DisplayPort 1.2 spec, in the hopes that it'll be closest to what Windows does. Also provide an unsafe module parameter for testing smaller transfer sizes, in case there are sinks out there that cannot work with Windows. Note also that despite the previous comment in drm_dp_i2c_xfer, this speeds up native DP EDID reads; Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> found the following changes in his testing: Device under test: old -> with this patch DP->DVI (OUI 001cf8): 40ms -> 35ms DP->VGA (OUI 0022b9): 45ms -> 38ms Zotac DP->2xHDMI: 25ms -> 4ms Asus PB278 monitor: 22ms -> 3ms A back of the envelope calculation shows that peak theoretical transfer rate for 1 byte reads is around 60 kbit/s; with 16 byte reads, this increases to around 500 kbit/s, which explains the increase in speed. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55228 Tested-by: Aidan Marks <aidanamarks@xxxxxxxxx> (v3) Signed-off-by: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6dede75b7e8ed4af31c3b06aec84401a5db88be9 Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Tue Mar 10 21:03:54 2015 +0100 fib_trie: call fib_table_flush_external under RTNL Move rtnl_lock() before the call to fib4_rules_exit so that fib_table_flush_external is called under RTNL. Fixes: 104616e74e0b ("switchdev: don't support custom ip rules, for now") Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a08919f43d9955d5afc5d6b416964401e3c58d8 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Tue Mar 10 16:37:59 2015 +0000 mpls: Allow mpls_gso and mpls_router to be built as modules CONFIG_MPLS=m doesn't result in a kernel module being built because it applies to the net/mpls directory, rather than to .o files. So revert the MPLS menuitem to being a boolean and make MPLS_GSO and MPLS_ROUTING tristates to allow mpls_gso and mpls_router modules to be produced as desired. Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19693f1166a421e628136ecc279bb4a076b753eb Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Tue Mar 10 18:31:12 2015 +0800 net/fsl: remove dependency FSL_SOC from MDIO FSL_PQ_MDIO and FSL_XGMAC_MDIO are not really depend on FSL_SOC, they can build on non-PPC platforms. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa34a6cb0478842452bac58edb50d3ef9e178c92 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 11 09:43:48 2015 +1100 rhashtable: Add arbitrary rehash function This patch adds a rehash function that supports the use of any hash function for the new table. This is needed to support changing the random seed value during the lifetime of the hash table. However for now the random seed value is still constant and the rehash function is simply used to replace the existing expand/shrink functions. [ ASSERT_BUCKET_LOCK() and thus debug_dump_table() + debug_dump_buckets() are not longer used, so delete them entirely. -DaveM ] Signed-off-by: Herbert Xu <herbert.xu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 988dfbd795cf08b00576c1ced4210281b2bccffc Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 09:27:55 2015 +1100 rhashtable: Move hash_rnd into bucket_table Currently hash_rnd is a parameter that users can set. However, no existing users set this parameter. It is also something that people are unlikely to want to set directly since it's just a random number. In preparation for allowing the reseeding/rehashing of rhashtable, this patch moves hash_rnd into bucket_table so that it's now an internal state rather than a parameter. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7f64a44356ce138aec2da091d7291446f52dcc5 Author: Abhimanyu Kapur <abhimany@xxxxxxxxxxxxxx> Date: Tue Oct 15 21:11:09 2013 -0700 arm64: qcom: Add support for Qualcomm MSM8916 SoC Add support for Qualcomm MSM8916 SoC in arm64 Kconfig and defconfig. Enable MSM8916 clock, pin control, and MSM serial driver utilized by MSM8916 and Qualcomm SoCs in general. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Abhimanyu Kapur <abhimany@xxxxxxxxxxxxxx> commit 999c286347538388170f919146d7cfa58689472e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jan 31 21:12:02 2015 -0800 rcu: Remove event tracing from rcu_cpu_notify(), used by offline CPUs Offline CPUs cannot safely invoke trace events, but such CPUs do execute within rcu_cpu_notify(). Therefore, this commit removes the trace events from rcu_cpu_notify(). These trace events are for utilization, against which rcu_cpu_notify() execution time should be negligible. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b6505deafa1397c81c3f268bfe0f349cf0be2b97 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 22 18:39:24 2015 -0800 rcutorture: Enable slow grace-period initializations This commit sets CONFIG_RCU_TORTURE_TEST_SLOW_INIT=y, but leaves the default time zero. This can be overridden by passing the "--bootargs rcutree.gp_init_delay=1" argument to kvm.sh. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 37745d281069682d901f00c0121949a7d224195f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 22 18:24:08 2015 -0800 rcu: Provide diagnostic option to slow down grace-period initialization Grace-period initialization normally proceeds quite quickly, so that it is very difficult to reproduce races against grace-period initialization. This commit therefore allows grace-period initialization to be artificially slowed down, increasing race-reproduction probability. A pair of new Kconfig parameters are provided, CONFIG_RCU_TORTURE_TEST_SLOW_INIT to enable the slowdowns, and CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY to specify the number of jiffies of slowdown to apply. A boot-time parameter named rcutree.gp_init_delay allows boot-time delay to be specified. By default, no delay will be applied even if CONFIG_RCU_TORTURE_TEST_SLOW_INIT is set. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 237a0f2193c6daf9b1edd7fd15d55e680f268952 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 22 14:32:06 2015 -0800 rcu: Detect stalls caused by failure to propagate up rcu_node tree If all CPUs have passed through quiescent states, then stalls might be due to starvation of the grace-period kthread or to failure to propagate the quiescent states up the rcu_node combining tree. The current stall warning messages do not differentiate, so this commit adds a printout of the root rcu_node structure's ->qsmask field. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 18c629eaebf1814ca7f0c27327f75aa93aa4a5de Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 18:59:56 2015 -0800 rcu: Eliminate empty HOTPLUG_CPU ifdef Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c8aead6a9b27fdd94b7bcb74b587ae012d8145f2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 16:56:46 2015 -0800 rcu: Simplify sync_rcu_preempt_exp_init() This commit eliminates a boolean and associated "if" statement by rearranging the code. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 78043c467a91573cc1d51827fe10d7d15ae79a60 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 18 17:46:24 2015 -0800 rcu: Put all orphan-callback-related code under same comment Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b33078b6098148c3efdacc907249a247c9d5491e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 16 14:01:21 2015 -0800 rcu: Consolidate offline-CPU callback initialization Currently, both rcu_cleanup_dead_cpu() and rcu_send_cbs_to_orphanage() initialize the outgoing CPU's callback list. However, only rcu_cleanup_dead_cpu() invokes rcu_send_cbs_to_orphanage(), and it does so unconditionally, which means that only one of these initializations is required. This commit therefore consolidates the callback-list initialization with the rest of the callback handling in rcu_send_cbs_to_orphanage(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 490ab882e2719f5e809a0cb5af7fda4620b66dca Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:57:25 2015 -0800 metag: Use common outgoing-CPU-notification code This commit removes the open-coded CPU-offline notification with new common code. This change avoids calling scheduler code using RCU from an offline CPU that RCU is ignoring. This commit is compatible with the existing code in not checking for timeout during a prior offline for a given CPU. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: <linux-metag@xxxxxxxxxxxxxxx> commit a17b4b7487ebcb2aa6d0b859a0981e280d910622 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:28:25 2015 -0800 blackfin: Use common outgoing-CPU-notification code This commit removes the open-coded CPU-offline notification with new common code. This change avoids calling scheduler code using RCU from an offline CPU that RCU is ignoring. This commit is compatible with the existing code in not checking for timeout during a prior offline for a given CPU. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: <adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx> commit 2a442c9c6453d3d043dfd89f2e03a1deff8a6f06 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 11:42:15 2015 -0800 x86: Use common outgoing-CPU-notification code This commit removes the open-coded CPU-offline notification with new common code. Among other things, this change avoids calling scheduler code using RCU from an offline CPU that RCU is ignoring. It also allows Xen to notice at online time that the CPU did not go offline correctly. Note that Xen has the surviving CPU carry out some cleanup operations, so if the surviving CPU times out, these cleanup operations might have been carried out while the outgoing CPU was still running. It might therefore be unwise to bring this CPU back online, and this commit avoids doing so. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: <x86@xxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: <xen-devel@xxxxxxxxxxxxxxxxxxxx> commit 0ddcf43d5d4a03ded1ee3f6b3b72a0cbed4e90b1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 13:47:00 2015 -0800 ipv4: FIB Local/MAIN table collapse This patch is meant to collapse local and main into one by converting tb_data from an array to a pointer. Doing this allows us to point the local table into the main while maintaining the same variables in the table. As such the tb_data was converted from an array to a pointer, and a new array called data is added in order to still provide an object for tb_data to point to. In order to track the origin of the fib aliases a tb_id value was added in a hole that existed on 64b systems. Using this we can also reverse the merge in the event that custom FIB rules are enabled. With this patch I am seeing an improvement of 20ns to 30ns for routing lookups as long as custom rules are not enabled, with custom rules enabled we fall back to split tables and the original behavior. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8038dad7e888581266c76df15d70ca457a3c5910 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 10:34:39 2015 -0800 smpboot: Add common code for notification from dying CPU RCU ignores offlined CPUs, so they cannot safely run RCU read-side code. (They -can- use SRCU, but not RCU.) This means that any use of RCU during or after the call to arch_cpu_idle_dead(). Unfortunately, commit 2ed53c0d6cc99 added a complete() call, which will contain RCU read-side critical sections if there is a task waiting to be awakened. Which, as it turns out, there almost never is. In my qemu/KVM testing, the to-be-awakened task is not yet asleep more than 99.5% of the time. In current mainline, failure is even harder to reproduce, requiring a virtualized environment that delays the outgoing CPU by at least three jiffies between the time it exits its stop_machine() task at CPU_DYING time and the time it calls arch_cpu_idle_dead() from the idle loop. However, this problem really can occur, especially in virtualized environments, and therefore really does need to be fixed This suggests moving back to the polling loop, but using a much shorter wait, with gentle exponential backoff instead of the old 100-millisecond wait. Most of the time, the loop will exit without waiting at all, and almost all of the remaining uses will wait only five microseconds. If the outgoing CPU is preempted, a loop will wait one jiffy, then increase the wait by a factor of 11/10ths, rounding up. As before, there is a five-second timeout. This commit therefore provides common-code infrastructure to do the dying-to-surviving CPU handoff in a safe manner. This code also provides an indication at CPU-online of whether the CPU to be onlined previously timed out on offline. The new cpu_check_up_prepare() function returns -EBUSY if this CPU previously took more than five seconds to go offline, or -EAGAIN if it has not yet managed to go offline. The rationale for -EAGAIN is that it might still be preempted, so an additional wait might well find it correctly offlined. Architecture-specific code can decide how to handle these conditions. Systems in which CPUs take themselves completely offline might respond to an -EBUSY return as if it was a zero (success) return. Systems in which the surviving CPU must take some action might take it at this time, or might simply mark the other CPU as unusable. Note that architectures that take the easy way out and simply pass the -EBUSY and -EAGAIN upwards will change the sysfs API. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: <linux-api@xxxxxxxxxxxxxxx> Cc: <linux-arch@xxxxxxxxxxxxxxx> [ paulmck: Fixed state machine for architectures that don't check earlier CPU-hotplug results as suggested by James Hogan. ] commit e5fdad68d47ed344832b7ca4e18b2e9708d8141e Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Feb 9 16:01:06 2015 -0600 soc: qcom: gsbi: Add support for ADM CRCI muxing This patch adds automatic configuration for the ADM CRCI muxing required to support DMA operations for GSBI clients. The GSBI mode and instance determine the correct TCSR ADM CRCI MUX value that must be programmed so that the DMA works properly. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 767b0235dd476596c0d4154839ae6880bec71b3c Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Mon Mar 2 16:30:30 2015 -0700 firmware: qcom: scm: Support cpu power down through SCM Support powering down the calling cpu, by trapping into SCM. This termination function triggers the ARM cpu to execute WFI instruction, causing the power controller to safely power the cpu down. Caches may be flushed before powering down the cpu. If cache controller is set to turn off when the cpu is powered down, then the flags argument indicates to the secure mode to flush its cache lines before executing WFI.The warm boot reset address for the cpu should be set before the calling into this function for the cpu to resume. The original code for the qcom_scm_call_atomic1() comes from a patch by Stephen Boyd [1]. The function scm_call_atomic1() has been cherry picked and renamed to match the convention used in this file. Since there are no users of scm_call_atomic2(), the function is not included. [1]. https://lkml.org/lkml/2014/8/4/765 Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 2ce76a6ad32fa076a2bb5561e859c97fceec8bb1 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Mon Mar 2 16:30:29 2015 -0700 firmware: qcom: scm: Add qcom_scm_set_warm_boot_addr function A core can be powered down for cpuidle or when it is hotplugged off. In either case, the warmboot return address would be different. Allow setting the warmboot address for a specific cpu, optimize and write to the firmware, if the address is different than the previously set address. Export qcom_scm_set_warm_boot_addr function move the warm boot flags to implementation. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit a353e4a06f24235138d483a2625726a5fc472949 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Mon Mar 2 16:30:28 2015 -0700 firmware: qcom: scm: Clean cold boot entry to export only the API We dont need to export the SCM specific cold boot flags to the platform code. Export only a function to set the cold boot address. Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 369237ab1fe5539091320f47781d6fe2db0241b9 Merge: 605e0f9 3915d36 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 11 21:14:55 2015 +0100 Merge tag 'renesas-r8a7778-ccf-and-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Pull "Renesas ARM Based SoC r8a7778 CCF and Multiplatform Updates for v4.1" from Simon Horman: * Add CCF and them multiplatform support to r8a7778 SoC and its bockw board. * tag 'renesas-r8a7778-ccf-and-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (21 commits) ARM: shmobile: r8a7778: enable multiplatform target ARM: shmobile: bockw: add sound to DT ARM: shmobile: r8a7778: add sound to DT ARM: shmobile: bockw: add devices hooked up to i2c0 to DT DT: i2c: add trivial binding for OKI ML86V7667 video decoder ARM: shmobile: r8a7778: common clock framework CPG driver ARM: shmobile: bockw dts: set extal clock frequency ARM: shmobile: bockw dts: Move Ethernet node to BSC ARM: shmobile: r8a7778 dtsi: Add Bus State Controller node ARM: shmobile: bockw: add USB, VIN pin descriptions to DT ARM: shmobile: r8a7778: add internal ethernet controller to DT ARM: shmobile: r8a7778: add MSTP clock assignments to DT ARM: shmobile: r8a7778: implement SoC and board CCF support ARM: shmobile: r8a7778: Common clock framework DT description ARM: shmobile: r8a7778: add CPG register bits header ARM: shmobile: r8a7778: synchronize dts with reference platform drivers: bus: Add Simple Power-Managed Bus Driver drivers: bus: Add Renesas Bus State Controller (BSC) DT Bindings drivers: bus: Add Simple Power-Managed Bus DT Bindings drivers: bus: Sort Makefile entries alphabetically ... commit 9024c495f35be735a917571406fab30a789c27d1 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Tue Mar 3 17:17:49 2015 -0800 usb: dwc2: pci: Add device mode to the dwc2-pci driver The pci driver now registers a platform driver, like in dwc3, and lets its probe function do all the initialization. This allows it to account for changes to the platform driver that were not added to the pci driver. Also future changes to the probe function don't have to be duplicated. This also has the effect of adding device and DRD mode to the pci driver. Tested on the Synopsys HAPS PCIe platform. Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 916f743da3546c28a2f350d197e3bea95d97ba15 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Thu Feb 26 15:49:09 2015 -0600 firmware: qcom: scm: Move the scm driver to drivers/firmware Architectural changes in the ARM Linux kernel tree mandate the eventual removal of the mach-* directories. Move the scm driver to drivers/firmware and the scm header to include/linux to support that removal. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 4de43476fc1baaf2bb7a520fc9e3b1797943b615 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Wed Feb 4 16:30:46 2015 -0600 ARM: qcom: Prep scm code for move to drivers/firmware Add qcom prefix to functions, etc to create a unique name space for the scm code as it gets ready to move out of qcom specific mach dir. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit b97fdb6dc0effe0612bc60fc9db7017b9fd81932 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Wed Feb 4 16:10:13 2015 -0600 ARM: qcom: Cleanup scm interface to only export what is needed Now that scom boot interface is merged we don't need export scm_call anymore. Some other minor cleanups related to boot interface to only export what is needed by scm_set_boot_addr(). Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 3d9b448bd287f051f5380323d596a133f01c074b Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Wed Feb 4 15:46:04 2015 -0600 ARM: qcom: Merge scm and scm boot code together Put all scm related code into a single file as a first step in cleaning up the scm interface to just expose functional behavior insteam of making direct scm calls. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 005a64307d5d3ef895e7821df4cad7739bab392e Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Mar 11 10:07:47 2015 +0800 usb: gadget: lpc32xxx_udc: Fix NULL dereference udc is then checked for NULL, if NULL, it is then dereferenced as udc->dev, it is found using Coccinelle. We simplify the code to fix this problem, and we delete some conditions at if {} which will never be met. Reported-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Reported-by : Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 18b44b2b950a0746abe7466021e842c6d7e96443 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:34 2015 +0100 EDAC, i82443bxgx: Don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL_GPL; @@ -EXPORT_SYMBOL_GPL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Doug Thompson <dougthompson@xxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Tim Small <tim@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1426092997-30605-13-git-send-email-Julia.Lawall@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 10dcc448d13071ed0d3797233187e79be258d90c Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 12 03:05:44 2015 +0800 ASoC: max98925_spk_tlv can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ff2765182d1969947dfb50f4e42ebd7e83699fd Author: Anish Kumar <yesanishhere@xxxxxxxxx> Date: Mon Mar 9 15:50:34 2015 -0700 ASoC: Add max98925 codec driver Signed-off-by: Anish Kumar <yesanishhere@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b3f5dbec2f077be7ee392da3365d11e393a50038 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Mar 11 17:56:33 2015 +0100 ASoC: ab8500-codec: don't export static symbol The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL_GPL; @@ -EXPORT_SYMBOL_GPL(f); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 71fa641ebbfd2402bdb76d3c6ba7e4a2d1eb2dfc Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Wed Mar 11 10:25:41 2015 -0700 HID: wacom: Add battery presence indicator to wireless tablets Declare the POWER_SUPPLY_PROP_PRESENT property to provide userspace with a way to determine if the battery on a wireless tablet is plugged in. Although current wireless tablets do not explicitly report this information, it can be inferred from other state information. In particular, a battery is assumed to be present if any of the following are true: a non-zero battery level reported, the battery is reported as charging, or the tablet is operating wirelessly. Note: The last condition above may not strictly hold for the Graphire Wireless (it charges from a DC barrel jack instead of a USB port), but I do not know what is reported in the no-battery condition. Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b6310affbe2bf14cbe6b6d28db48e1e37d52fbca Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Mar 11 10:42:13 2015 -0700 Input: sx8654 - signedness bug in sx8654_irq() "irqsrc" needs to be signed for the error handling to work. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 37dee1acdd587c09826888738d78649a2c529125 Author: Charlie Mooney <charliemooney@xxxxxxxxxxxx> Date: Tue Mar 10 18:26:18 2015 -0700 Input: elants_i2c - append hw_version to FW file Currently the elants_i2c driver simply requests a static filename /lib/firmware/elants_i2c.bin when it gets firmware updates. This is a problem if you have two Elan touchscreens using the same driver. If both touchscreens have different firmwares, you would need to move the files around in your filesystem when you're updating them so that they don't get updated with the other's FW. If you have a read-only filesystem then this is impossible, even. This patch changes the elants_i2c driver to automatically append the four-hex-digit hw_version of the device onto the name of the FW file it's requesting for update. Since different touchscreens should have a different hw_version's this means the user needs to append the hw version of the touchscreen he or she intends to update onto the end of the firmware filename and then the driver will do the rest. The firmware filenames it looks for now are of the form: elants_i2c_${HW_VERSION}.bin eg: elants_i2c_2a44.bin Signed-off-by: Charlie Mooney <charliemooney@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0c2d652f0bd9fdfe367eca4ebf56ad354bf3b153 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sun Mar 1 21:51:40 2015 +0100 ARM: Kirkwood: add DT description for nas2big This patch adds the DT description for the LaCie "2Big NAS" (nas2big). This NAS is an hardware upgrade of the 2Big Network v2. Chipset and device list: - CPU Marvell 88F6282 1600Mhz - SDRAM memory, 256MB DDR3 (2x128MB x8) 533Mhz - 1 Ethernet Gigabit port (PHY Marvell 88E1518) - Flash memory, NAND 256MB TSOP48 - I2C EEPROM, 512 bytes (AT24 type) - PCIe SATA controller JMicron JMB360 (eSATA) - I2C fan controller GMT G762 (with a separate alarm GPIO) - 1 USB2 host port - 1 push button - 1 power switch - 2 SATA LEDs (bi-color, blue and red) - 1 power LED (bi-color, blue and red) - CPLD for LEDs and start-up management (Altera Max EMP3064) Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 111573ccd89b67fdef64d945cc0e611df85a6ac8 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 22 18:21:30 2015 +0800 mtd: atmel_nand: check NFC busy flag by HSMC_SR instead of NFC cmd regs Currently the driver read NFC command registers to get NFC busy flag. Actually this flag also can be get by reading HSMC_SR register. Use the read NFC command registers need mapping a huge memory region. To save the mapped memory region, we change to check NFC busy flag by reading HSMC_SR register. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 72a472d2f912292457d6e3579df342c1138f26d5 Author: Takeyoshi Kikuchi <kikuchi@xxxxxxxxxxxxxxxx> Date: Mon Mar 2 11:03:51 2015 +0900 usb: musb: cppi41: fix condition to call cppi41_trans_done(). connect AR9271(USB wifi) to AM335x, and send a flood ping from Mac OSX, AR9271 is stopped. on USB bus, the following occurs. - OUT transaction is ACKed (NYET). - IN transaction is ACKed (512bytes). - PING-NAK transaction is continued for about 2 seconds (AR9271 timeout?). In current imprementation, IN-transaction is not completed because it checks the empty of TX-FIFO in cppi41_dma_callback(). As a result, communication to AR9271 stops. This patch modified to check the empty of TX-FIFO only when OUT-transaction. Signed-off-by: Takeyoshi Kikuchi <kikuchi@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8fac1722140019d6a53f7b280f8b785707a16f66 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Wed Mar 11 11:48:11 2015 -0400 HID: wacom: drop WACOM_PKGLEN_STATUS The constant is not used (leftover from previous patch versions that never got merged). Reported-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b0882cb79dbd2bbdfac1416f8474aa6b0adb9334 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:43 2015 -0800 HID: wacom: Status packet provides 'charging', not 'powered' bit The status packet for tablets which can use a wireless module contains a bit that is set if the battery is charging. This bit will be 0 if either a battery is not present or if the battery has reached full charge. Note that the charging circuit may continue to charge the battery for a short time after reaching "100%". Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2d13a43813729850572606a653f06c9e567e4c8d Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:42 2015 -0800 HID: wacom: Report battery status for Intuos Pro and Intuos5 Calls the wacom_status_irq function to report battery status for the Intuos Pro and Intuos5 (in addition to the already-reporting Intuos and last-generation Bamboo). Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8f93b0b2b0a336746adc8730921b219f0ba40c29 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:41 2015 -0800 HID: wacom: Provide battery charge state to system over USB if available If a wireless adapter (which contains the charging circuitry) is detected as being attached to the tablet then create a new battery interface and update its status as data is reported. Also destroy the battery if the adapter goes away. Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit fce9957d8f618346b76c63066e146fc76ed975ce Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:40 2015 -0800 HID: wacom: Allow dynamic battery creation/destruction Tablets like the Intuos, Intuos Pro, and Bamboo have a connector for an optional wireless module that can be connected on the fly. The presence (or absence) of this module is indicated in a status report recieved from the tablet. This patch adds a workqueue function that will create or destroy a power_supply object at runtime to match the current state of the WACOM_QUIRK_BATTERY flag. Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 953f2c5f716305a5c2ebea935f410ee7aa439159 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:39 2015 -0800 HID: wacom: Centralize updating of wacom_wac battery status Has the 'wacom_notify_battery' function take on the job of detecting if updating the power supply is necessary to remove multiple nearly-identical 'if' blocks. Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4ca4ec71c84e4ede2b34d2dcf49e7935c735ad6c Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Fri Mar 6 11:47:38 2015 -0800 HID: wacom: Move handling of Intuos status packets to seperate function In addition to the touchswitch state for "Intuos", these packets are also sent by the Intuos Pro, Intuos5, and last-generation Bamboo tablets when using a wired connection. They contain, among other things, information about the optional wireless module and battery charge state (to be supported in subsuquent patches). Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 967667fd6d96a16fd4a216251eee112a214207ec Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 11 08:35:47 2015 +0100 drm/plane-helper: Fixup mismerge I somehow manage to screw up applying Laurent's patch in eca93e28c256: "drm: Check in setcrtc if the primary plane supports the fb pixel format". It was a conflict with commit 3461b30b3e171e16498f3d7bc59ab703aec475c8 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Mar 5 10:32:44 2015 +0100 drm/plane-helper: unexport drm_primary_helper_create_plane and I just didn't check that the solution from wiggle made sense. Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: laurent.pinchart@xxxxxxxxxxxxxxxx Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: laurent.pinchart@xxxxxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 48d7ff0eaacbe5a51037bdb06a8a0a729b804b5f Author: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx> Date: Wed Mar 11 11:20:03 2015 -0400 drivers/tty: serial: remove info message Unacceptable levels of debug info will happen when the DMA driver defined in the DT/ACPI is a blacklisted module. Another cause for log polution would be the defer probing of the DMA driver taking too long - in which case the message that this commit removes would be cluttering the logs due to the init daemons activity. Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 168bdb88c3ab1f66c061a6220c18939ef20ba42e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Feb 3 19:18:17 2015 -0200 usb: phy: phy-generic: No need to call gpiod_direction_output() twice Commit 9eb0797722895f4309b4 ("usb: phy: generic: fix the gpios to be optional") calls gpiod_direction_output() in the probe function, so there is no need to call it again, as we can simply call gpiod_set_value() directly. Also, in usb_gen_phy_shutdown() we can simply put the GPIO directly in its active level state and this allows us to simplify the nop_reset function to treat only the reset case. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f4e4f8dae3753685e577143e8116cbac52f13cc4 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Feb 10 17:30:36 2015 +0100 usb: gadget: f_hid: remove unnecessary usb_ep_dequeue() Function usb_ep_disable() causes completion of all requests queued for given endpoint, so there is no need to dequeue them after endpoint disabling. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fa84acf0f6142e7f35da785e25ee978518ff21ac Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 00:42:00 2015 +0100 usb: gadget: dummy-hcd: Remove utf8 from format string Not everybody uses a utf8 locale (unfortunately), so let's avoid non-ascii characters in the kernel log. Replace the 3-byte utf8 sequence with a 3-byte ascii equivalent. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 112bf24471b50f806cbcbead7bd485da70401b83 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Feb 12 18:54:07 2015 +0100 usb: gadget: atmel_usba_udc: Add suspend/resume with wakeup support This patch add suspend/resume with wakeup support for Atmel USBA. On suspend: We stay continuously clocked if Vbus signal is not available. If Vbus signal is available we set the Vbus signal as a wake up source then we stop the USBA itself and all clocks used by USBA. On resume: We recover clocks and USBA if we stopped them. If a device is currently connected at resume time we enable the controller. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a64ef71ddc13fc76a6f4af8c61e0106a62004380 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Feb 12 18:54:06 2015 +0100 usb: gadget: atmel_usba_udc: condition clocks to vbus state If USB PLL is not necessary for other USB drivers (e.g. OHCI and EHCI) we will reduce power consumption by switching off the USB PLL if no USB Host is currently connected to this USB Device. We are using Vbus GPIO signal to detect Host presence. If Vbus signal is not available then the device stays continuously clocked. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bb0a203c3a4e37b4bbb1f8ef55a855618dbba265 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Feb 12 18:54:05 2015 +0100 usb: gadget: atmel_usba_udc: Request an auto disabled Vbus signal IRQ Vbus IRQ handler needs a started UDC driver to work because it uses udc->driver, which is set by the UDC start handler. The previous way chosen was to return from interrupt if udc->driver is NULL using a spinlock around the check. We now request an auto disabled (IRQ_NOAUTOEN) Vbus signal IRQ instead of an auto enabled IRQ followed by disable_irq(). This way we remove the very small timeslot of enabled IRQ which existed previously between request() and disable(). We don't need anymore to check if udc->driver is NULL in IRQ handler. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Suggested-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 227ab58cff3c26ec279598112887d6bcca677a0c Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Thu Feb 12 18:54:04 2015 +0100 usb: gadget: atmel_usba_udc: Fixed vbus_prev initial state If vbus gpio is high at init, we should set vbus_prev to true accordingly to the current vbus state. Without that, we skip the first vbus interrupt because the saved vbus state is not consistent. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 656e7c36bd70e115266cf280e0ff049506ceb16c Author: Mickael Maison <mickael.maison@xxxxxxxxx> Date: Sun Mar 8 19:26:52 2015 +0000 usb: phy: fixed comment typo Fixed a comment typo in drivers/usb/phy/of.c Signed-off-by: Mickael Maison <mickael.maison@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2b08977b8dcb18c75b4972184c9ab54937119cba Author: Mickael Maison <mickael.maison@xxxxxxxxx> Date: Sun Mar 8 19:24:02 2015 +0000 usb: phy: ab8500: fixed comment typo Fixed a comment typo in drivers/usb/phy/phy-ab8500-usb.c Signed-off-by: Mickael Maison <mickael.maison@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fddc26f573e28dde62013cd5d8d5c60aa85e74a4 Author: Tal Shorer <tal.shorer@xxxxxxxxx> Date: Fri Mar 6 21:53:32 2015 +0200 usb: gadget: f_mass_storage: use defined constant instead of numeric value replace numeric value with TYPE_NO_LUN (defined in <scsi/scsi.h>) Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 06ed0de5188c9ef6553b2824b6cdd767ad46ece5 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Tue Mar 10 22:37:46 2015 +0900 usb: gadget: Fix typo fond in Documentation/Docbook/gadget.xml This patch fix some spelling typo found in gadget.xml. It is because this file is generated from comments in sources, I had to fix comments in the source, instead of xml file itself. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 33c300cb90a6c0072507a949f78c4728238a81f0 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Mar 10 10:42:12 2015 -0500 usb: musb: dsps: don't fake of_node to musb core If we pass our own of_node to musb_core, at least pinctrl settings will be duplicated, meaning that pinctrl framework will try to select default pin state for musb_core when they were already requested by musb-dsps. A Warning will be printed however things will still work. Reported-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 983f3cabf6677340dd5b9aec5440b427b8c47ad9 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Mar 11 10:18:40 2015 -0500 usb: musb: dsps: request phy using our device pointer musb shouldn't have of_node and phy phandle is passed to dsps device, not musb's. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4ba9faf35f6e49964ca6ed88fb0090cc4c727bf3 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Mar 11 10:52:08 2015 +0200 Bluetooth: Check for matching IRK when looking for paired LE devices If we're given an RPA when checking whether we're paired or not, we should consult the local RPA storage whether there's a matching IRK. This we we ensure that hci_bdaddr_is_paired() gives the right result even when trying to pair a second time with the same device with an RPA. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 69ff5c619cb350f43fbab2a491b4b66de7e96959 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Mar 5 12:26:06 2015 +0100 KVM: arm/arm64: prefer IS_ENABLED to a static variable IS_ENABLED gives compile-time checking and keeps the code clearer. The one exception is inside kvm_vm_ioctl_check_extension, where the established idiom is to wrap the case labels with an #ifdef. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0f37247574b3ef5b130116bbf7c0f9eb8a4c78c2 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Thu Mar 5 14:47:44 2015 +0000 KVM: vgic: add virt-capable compatible strings Several dts only list "arm,cortex-a7-gic" or "arm,gic-400" in their GIC compatible list, and while this is correct (and supported by the GIC driver), KVM will fail to detect that it can support these cases. This patch adds the missing strings to the VGIC code. The of_device_id entries are padded to keep the probe function data aligned. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Andre Przywara <andre.przywara@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 1eb8a1b340e2f0a562b4987683bbaee4d620bf0a Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 13:35:39 2015 -0700 crypto: amcc - remove incorrect __init/__exit markups Even if bus is not hot-pluggable, the devices can be bound and unbound from the driver via sysfs, so we should not be using __init/__exit annotations on probe() and remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 83ce01d24a1998cf1be6a7ea37f54edf264abe93 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 13:25:49 2015 -0700 crypto: qat - remove incorrect __exit markup PCI bus is hot-pluggable, and even if it wasn't one can still unbind the device from driver via sysfs, so we should not make driver's remove method as __exit. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 257bedd4f39d53ca41c5c8e3f8e0d805607ae661 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 10:36:38 2015 -0700 hwrng: pseries - remove incorrect __init/__exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Similarly probe() methods should not be marked __init unless platform_driver_probe() is used. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 87094a044ee894870d8784f51618a9b0d1fadc44 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 10:36:37 2015 -0700 hwrng: octeon - remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1ee9b5e4712948973f0065d944b1afeb50b4dccd Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 10:36:35 2015 -0700 hwrng: omap - remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 007ee8dec6843b3b491a4bb42320c0eb8e884f72 Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Mon Mar 9 16:14:58 2015 +0200 crypto: tcrypt - fix uninit sg entries in test_acipher_speed Commit 5be4d4c94b1f ("crypto: replace scatterwalk_sg_next with sg_next") did not consider the fact that scatterwalk_sg_next() was looking at sg entry length, while sg_next() looks at the "chained" sg bit. This should have no effect in theory. However in practice, there are cases where the sg table is initialized to a number of entries and some of them are not properly configured. While scatterwalk_sg_next() would have returned NULL (since sg length = 0 and sg page_link = 0), sg_next() happily returns the next unconfigured sg entry. insmod tcrypt.ko mode=500 sec=1 testing speed of async cbc(aes) (cbc-aes-talitos) encryption test 0 (128 bit key, 16 byte blocks): Unable to handle kernel paging request for data at address 0x00000000 Faulting instruction address: 0xc00d79e4 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=8 P1022 DS Modules linked in: tcrypt(+) talitos CPU: 0 PID: 2670 Comm: insmod Not tainted 4.0.0-rc1-QorIQ-SDK-V1.6+g904f1ca82209 #1 task: e8de3200 ti: e70bc000 task.ti: e70bc000 NIP: c00d79e4 LR: f92d223c CTR: c00d79c8 REGS: e70bda00 TRAP: 0300 Not tainted (4.0.0-rc1-QorIQ-SDK-V1.6+g904f1ca82209) MSR: 00029000 <CE,EE,ME> CR: 84428f22 XER: 00000000 DEAR: 00000000 ESR: 00000000 GPR00: f92d223c e70bdab0 e8de3200 00000000 e70bdbb8 00000001 00000000 00000000 GPR08: 00000000 00000000 c08b0380 27282010 c00d79c8 1003a634 00000000 e70bdf1c GPR16: e70bdef0 00000020 00000000 c08c0000 00000010 00000000 e70bdbb8 00000010 GPR24: e976d3a8 00000010 00000000 e70bdbd8 e8961010 00000001 c086e560 00000000 NIP [c00d79e4] page_address+0x1c/0x110 LR [f92d223c] talitos_map_sg+0x130/0x184 [talitos] Call Trace: [e70bdab0] [00000010] 0x10 (unreliable) [e70bdad0] [f92d223c] talitos_map_sg+0x130/0x184 [talitos] [e70bdb00] [f92d30d8] common_nonsnoop.constprop.13+0xc0/0x304 [talitos] [e70bdb30] [f933fd90] test_acipher_speed+0x434/0x7dc [tcrypt] [e70bdcc0] [f934318c] do_test+0x2478/0x306c [tcrypt] [e70bdd80] [f11fe058] tcrypt_mod_init+0x58/0x100 [tcrypt] [e70bdda0] [c0002354] do_one_initcall+0x90/0x1f4 [e70bde10] [c061fe00] do_init_module+0x60/0x1ac [e70bde30] [c00a79f0] load_module+0x185c/0x1f88 [e70bdee0] [c00a82b0] SyS_finit_module+0x7c/0x98 [e70bdf40] [c000e8b0] ret_from_syscall+0x0/0x3c Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b7b61cbebd789a3dbca522e3fdb727fe5c95593f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 11:58:45 2015 -0300 perf ordered_events: Shorten function signatures By keeping pointers to machines, evlist and tool in ordered_events. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0c6huyaf59mqtm2ek9pmposl@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fa713a4eb9cebe5dec71b1bd11429603e17d841d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Mar 3 11:48:12 2015 -0300 perf ordered_events: Untangle from perf_session For use by tools that are not perf.data based, as maybe 'perf trace' in live mode. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-nedqe7cmii5w82etfi36urfz@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 079119a2c7c83506ad753e7b95e9ed253e9963f9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Mar 11 13:52:53 2015 +0200 serial, x86: use UPF_* constants for flags This patch fixes the following sparse warnings: drivers/tty/serial/8250/8250_core.c:3231:32: warning: incorrect type in assignment (different base types) drivers/tty/serial/8250/8250_core.c:3231:32: expected restricted upf_t [usertype] flags drivers/tty/serial/8250/8250_core.c:3231:32: got unsigned int const [unsigned] flags Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12fe59f975b9b36a17eced4c4d33911ee9bc9f7a Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 12:46:29 2015 -0300 serial: imx: Add braces to avoid ambiguous 'else' Commit 17b8f2a3fdca29 ("serial: imx: add support for half duplex rs485") introduced the following build warning: drivers/tty/serial/imx.c: In function 'imx_set_termios': drivers/tty/serial/imx.c:1301:7: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses] Add the suggested braces to avoid the build warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13bc2bb9a0075342707e853e6dac298f0bbca111 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 12:23:18 2015 -0300 serial: mctrl_gpio: Fix build warnings Fix the following build warnings: drivers/tty/serial/serial_mctrl_gpio.c: In function 'mctrl_gpio_init': drivers/tty/serial/serial_mctrl_gpio.c:110:4: warning: return makes pointer from integer without a cast return PTR_ERR(gpios->gpio[i]); ^ /home/build/work/batch/drivers/tty/serial/serial_mctrl_gpio.c:90:6: warning: unused variable 'err' [-Wunused-variable] int err; ^ Return ERR_CAST and remove the unused 'err' variable to fix them. Fixes: 1d267ea6539f ("serial: mctrl-gpio: simplify init routine") Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac25e8c72b34ad7853aad0b7008633217af0c1df Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 11:24:24 2015 -0300 serial: mxs-auart: Fix build error Commit 343fda95481a7254f ("serial: mxs-auart: properly handle mctrl_gpio failing") introduced the following build error: CC drivers/tty/serial/mxs-auart.o drivers/tty/serial/mxs-auart.c: In function 'mxs_auart_probe': drivers/tty/serial/mxs-auart.c:1282:3: error: unknown type name 'got' Fix it by providing a proper return code. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8e79ede44ec99e09f8604c23ee99dc25065a343 Author: Lu, Han <han.lu@xxxxxxxxx> Date: Tue Mar 10 10:41:22 2015 +0800 ASoC: Intel: add function to enable/disable sound effect module waves Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8c43fc2fdda0858879ee4dd7d7ed8e67890f699f Author: Lu, Han <han.lu@xxxxxxxxx> Date: Tue Mar 10 10:41:21 2015 +0800 ASoC: Intel: add function to load sound effect module waves Try to load module waves and allocate runtime blocks for it if the firmware image of module waves exists. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9449d39b990d6d3d6386fbb92f3b86c808157b47 Author: Lu, Han <han.lu@xxxxxxxxx> Date: Tue Mar 10 10:41:20 2015 +0800 ASoC: Intel: add function to load firmware image Add a general method to load firmware image, and apply to base firmware image loading. With the method, the driver will support loading multiple different modules in order to support different features. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 357635ae0133ae66c4eac5b9ad4879b15faa5be8 Merge: 11dd604 3fe0607 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Mar 11 12:53:41 2015 +0000 Merge branch 'fix/intel' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit 11dd60447e3b1018f9cae66737cb902b519d3454 Merge: 8d0c38a 9eccca0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Mar 11 12:53:25 2015 +0000 Merge tag 'v4.0-rc3' into asoc-intel Linux 4.0-rc3 commit 24ccea1ce6717b91bb1e71b12cfd956f8d32dcf3 Author: Gaetan Hug <ghug@xxxxxxxxx> Date: Wed Mar 11 13:08:12 2015 +0100 pwm: mxs: Fix period divider computation The driver computes which clock divider it sould be using from the requested period. This computation assumes that the link between the register value and the actual divider value is raising 2 to the power of the registry value. div = 1 << regvalue This is true only for the first 5 values out of 8. Next values are 64, 256 and, 1024 - instead of 32, 64, 128. This affects only the users requesting a period > 0.04369s. Replace the computation with a look-up table. Signed-off-by: Gaetan Hug <ghug@xxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit cc3c340d28b9f730fdc6bc5caa77e3bbd1e2377c Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Mar 11 11:42:45 2015 +0800 ASoC: rt5670: export jack suspend/resume APIs We force enable "Mic Det Power" when a jack is inserted. Also, we set codec idle_bias_off = true. As a result, codec driver will not suspend as we expect. On Braswell, we don't need the jack detection when suspend but need it after resume, so export the jack suspend/resume APIs which are provided for machine driver to control during suspend/resume. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3ef70543429b754dacc87fc68c30c2c34502337 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Mar 11 11:42:44 2015 +0800 ASoC: rt5670: Add IRQ function This patch adds the IRQ function support of rt5670. We use a flag named dev_gpio in platform data to inform codec driver if the IRQ function is used or not. Also, we export rt5670_set_jack_detect for machine driver to pass the jack point. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 530b7b4a52365ce2a250669b87e964a843bdbedb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:25:36 2015 +0000 ASoC: rsnd: add regmap_config::name for debugfs Renesas sound driver needs SSI/SRC/DVC regmaps, but it didn't have regmap_config::name for devm_regmap_init_mmio(). Thus, debugfs initialization code tried to use same driver name many times, and failed. This patch adds eacy own name for regmap_config::name Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8537483a17038f08c68c1f0a561f0fe686e5706f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:25:01 2015 +0000 ASoC: rsnd: recover PIO mode for new dma interface Renesas sound driver needs 1st/2nd DMA interface, and 1st DMA is using DMAEngine, and 2nd is using local method now. 2nd DMA had been DMAEngine, but it was moved to local method by previous patchset. But then, it lost PIO mode fallback when probe. this patch recovers it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6ec6fb6f231547834925ff802deb4415f49f708e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Mar 10 11:48:05 2015 +0100 ASoC: rsnd: Use %pad to print dma_addr_t in rsnd_dmapp_init() sound/soc/sh/rcar/dma.c: In function 'rsnd_dmapp_init': sound/soc/sh/rcar/dma.c:341:2: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t' [-Wformat=] dev_dbg(dev, "id/src/dst/chcr = %d/%x/%x/%08x\n", ^ sound/soc/sh/rcar/dma.c:341:2: warning: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'dma_addr_t' [-Wformat=] Fixes: 288f392e729dd4d3 ("ASoC: rsnd: add Audio DMAC peri peri support rework") Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4945f1fdc14ef090abe50d1b5682bfc1e4763c06 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Mar 11 12:50:15 2015 +0100 ALSA: seq: Fix init order of snd_seq_device stuff When the sequencer driver is built in kernel, it may panic at boot because of the uninitialized snd_seq_bus_type. Initialize it properly via subsys_initcall() instead of module_init() to assure that the bus is registered beforehand. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Fixes: 7c37ae5c625a ('ALSA: seq: Rewrite sequencer device binding with standard bus') Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 054d3e1f9a995e13b8be07482fe5c1c42655223d Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Fri Feb 20 16:58:18 2015 +0100 pwm: atmel-hlcdc: Add errata handling for sama5d4 sama5d4 SoC also has an errata on the HLCDC PWM. It is the same as the sama5d3 that is forbidding the use of div1 prescaler. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit c456fbb2b221d137e14857f143d64263262badfa Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:40:24 2015 +0100 pwm: pca9685: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 67d7bc487075a0155a6d6d477f266b5bb370a238 Author: Matt Porter <mporter@xxxxxxxxxxxx> Date: Mon Mar 9 09:24:21 2015 -0400 pwm: imx-pwm: add explicit compatible strings and required clock properties The imx-pwm binding contains language indicating compatible strings to be used that is not valid for all supported parts e.g. Should be "fsl,<soc>-pwm". Fix this by enumerating the valid compatible strings that represent the two versions of this peripheral in use. The binding is also missing the clocks/clock-names properties so document these, the two required ipg and per clocks, and add these properties to the example. Signed-off-by: Matt Porter <mporter@xxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 87c8b28d291de9999e9da2ef5d4165861983eb83 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Mar 11 08:55:51 2015 +0200 Bluetooth: Fix missing rcu_read_unlock() in hci_bdaddr_is_paired() When finding a matching LTK the rcu_read_unlock() function was failing to release the RCU read lock. This patch adds the missing call to rcu_reaD_unlock(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b5ceff202c4b4e81052b83853f33832a60cefae9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Mar 10 14:35:20 2015 +0200 drm/atomic: Constify a bunch of functions pointer structs Make the helper function pointer structs const to make it clear they should not be modified. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit beb1c21b8ed4dc8aadead65885e89d60a727c54d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Mar 10 14:04:52 2015 -0700 Bluetooth: Increment management interface revision This patch increments the management interface revision due to introduction of new static address setting and fixes for the fast connectable feature. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bf906b3db3c2b4f5d4db1db5f35796629c531ac4 Author: Kim, Ben Young Tae <ytkim@xxxxxxxxxxxxxxxx> Date: Tue Mar 10 23:34:58 2015 +0000 Bluetooth: btusb: Fix incorrect type in qca_device_info While qca_device_info is not coming from outside communication, no reason to use specific endian type inside and fix the wrong version comparison on big-endian platform. Signed-off-by: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 03be70050c85768e9ce7c0d0887110d1b629e127 Merge: 3a656b5 7eb5f30 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Mar 11 12:15:06 2015 +1000 Merge tag 'topic/drm-misc-2015-03-10' of git://anongit.freedesktop.org/drm-intel into drm-next Another pile of misc drm patches all over, mostly polish for atomic. Last minute rebase was to avoid the broken merge. * tag 'topic/drm-misc-2015-03-10' of git://anongit.freedesktop.org/drm-intel: drm: Check in setcrtc if the primary plane supports the fb pixel format drm: Lighten sysfs connector 'status' drm/plane-helper: unexport drm_primary_helper_create_plane drm: Share plane pixel format check code between legacy and atomic drm: Fix trivial typos in comments drm/dp: add DPCD definitions from eDP 1.4 drm/dp: add DPCD definitions from DP 1.1 and 1.2a drm: Fixup racy refcounting in plane_force_disable drm/i915: Rotation property is now handled in DRM core drm: Complete moving rotation property to core drm/dp: add DPCD definitions from eDP 1.2 drm/dp: indentation and ordering cleanups drm/atomic-helper: Fix kerneldoc for prepare_planes drm: Remove redundant code in the getencoder ioctl commit f6906edeac16bb33b80d41fac84261767f18c14a Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Tue Mar 10 16:42:41 2015 -0700 hwmon: (gpio-fan) Fix build with CONFIG_THERMAL=m and SENSORS_GPIO_FAN=y Fix build error when CONFIG_THERMAL=m and SENSORS_GPIO_FAN=y by preventing that combination. Fixes these build errors: drivers/built-in.o: In function `gpio_fan_remove': gpio-fan.c:(.text+0x21e97e): undefined reference to `thermal_cooling_device_unregister' drivers/built-in.o: In function `gpio_fan_probe': gpio-fan.c:(.text+0x21efbc): undefined reference to `thermal_cooling_device_register' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Jean Delvare <jdelvare@xxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: lm-sensors@xxxxxxxxxxxxxx Cc: Simon Guinot <sguinot@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9557fe40750c19485ad0827783369db20405fec5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 22:40:04 2015 -0300 ARM: mx25: Remove platform code support files As mx25 is a dt-only platform, we can get rid of platform code support files, which are unused now. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 11b05d60c63f44b311651870825a8488576c5e85 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 22:40:03 2015 -0300 ARM: mx25: Convert to a dt-only platform As there is no more mx25 board files, we can turn mx25 into a dt-only platform. Rename imx25-dt.c to mach-imx25.c to be consistent with the other i.MX SoCs. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 3877942b0c7f36c82b2f05e84776b2dfe1afb784 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 10 22:40:02 2015 -0300 ARM: imx25: Remove eukrea mx25 board files eukrea mx25 is well supported in device tree, so let's get rid of its board files. Cc: Eric Bénard <eric@xxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 00eb60a8b4f7a4aa00fd8abd68c2dc7aec55df19 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 23 18:40:12 2015 +0100 ARM: imx6: gpc: Add PU power domain for GPU/VPU When generic pm domain support is enabled, the PGC can be used to completely gate power to the PU power domain containing GPU3D, GPU2D, and VPU cores. This code triggers the PGC powerdown sequence to disable the GPU/VPU isolation cells and gate power and then disables the PU regulator. To reenable, the reverse powerup sequence is triggered after the PU regulator is enabled again. The GPU and VPU devices in the PU power domain temporarily need to be clocked during powerup, so that the reset machinery can work. [Avoid explicit regulator enabling in probe, unless !PM] Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 58e4a668be82362c32577ef08e06c8a292e3a457 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Feb 23 18:40:11 2015 +0100 Documentation: Add device tree bindings for Freescale i.MX GPC The i.MX6 contains a power controller that controls power gating and sequencing for the SoC's power domains. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 46dd8a809effdc7ebe6ec760e3e421d5ac2a40f1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:06:57 2015 +0100 ARM: shmobile: lager: Add da9063 PMIC device node for system restart Add a device node for the da9063 PMIC, with subnodes for rtc and wdt. Regulator support is not yet included. This allows the system to be restarted when the watchdog timer times out, or when a system restart is requested. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ceb7747993adcc40581629e4abb0d9ea7853e857 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:06:56 2015 +0100 ARM: shmobile: lager dts: Add da9210 regulator interrupt The da9210 regulator is connected to IRQ2. Reflect this in its device node, so the driver can use it when it gains interrupt support. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a6b422664597d7b9ca6cf441bc48cfe1a707cd3a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:06:55 2015 +0100 ARM: shmobile: koelsch: Add da9063 PMIC device node for system restart Add a device node for the da9063 PMIC, with subnodes for rtc and wdt. Regulator support is not yet included. This allows the system to be restarted when the watchdog timer times out, or when a system restart is requested. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4be7338df39037266da832f6598557cc4ca3de10 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 21:06:54 2015 +0100 ARM: shmobile: koelsch dts: Add da9210 regulator interrupt The da9210 regulator is connected to IRQ2. Reflect this in its device node, so the driver can use it when it gains interrupt support. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 663fbb52159cca6ffb049cb15b9f9d1cd7ad7d8a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 20:50:40 2015 +0100 ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator quirk The r8a7790/lager and r8a7791/koelsch development boards have da9063 and da9210 regulators. Both regulators have their interrupt request lines tied to the same interrupt pin (IRQ2) on the SoC. After cold boot or da9063-induced restart, both the da9063 and da9210 seem to assert their interrupt request lines. Hence as soon as one driver requests this irq, it gets stuck in an interrupt storm, as it only manages to deassert its own interrupt request line, and the other driver hasn't installed an interrupt handler yet. To handle this, install a quirk that masks the interrupts in both the da9063 and da9210. This quirk has to run after the i2c master driver has been initialized, but before the i2c slave drivers are initialized. As it depends on i2c, select I2C if one of the affected platforms is enabled in the kernel config. On koelsch, the following happens: - Cold boot or reboot using the da9063 restart handler: IRQ2 is asserted, installing da9063/da9210 regulator quirk ... i2c i2c-6: regulator_quirk_notify: 1, IRQC_MONITOR = 0x3fb i2c 6-0058: regulator_quirk_notify: 1, IRQC_MONITOR = 0x3fb i2c 6-0058: Detected da9063 i2c 6-0058: Masking da9063 interrupt sources i2c 6-0068: regulator_quirk_notify: 1, IRQC_MONITOR = 0x3fb i2c 6-0068: Detected da9210 i2c 6-0068: Masking da9210 interrupt sources i2c 6-0068: IRQ2 is not asserted, removing quirk - Warm boot (reset button): rcar_gen2_regulator_quirk: IRQ2 is not asserted, not installing quirk Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 63573339e7698503bfeaef3bb0c444ffc98e45a0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:40:27 2015 +0000 ARM: shmobile: r8a7791: sound enables Audio DMAC entry on DTSI This patch adds Audio DMAC (= rcar-dmac) entry for sound Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 118a509374f7791feee309946abccf2ce5609f16 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:40:13 2015 +0000 ARM: shmobile: r8a7790: sound enables Audio DMAC entry on DTSI This patch adds Audio DMAC (= rcar-dmac) entry for sound Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d73a5013ed61bc605374f72ce879a358feba7f3e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:39:55 2015 +0000 ARM: shmobile: r8a7791: enable Audio DMAC peri peri via sound driver Audio DMAC peri peri is no longer DMAEngine. it is supported by sound driver. this patch enable it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0c60267702244b8a6e62743a8e13a07823efbf6d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:39:39 2015 +0000 ARM: shmobile: r8a7790: enable Audio DMAC peri peri via sound driver Audio DMAC peri peri is no longer DMAEngine. it is supported by sound driver. this patch enable it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d88a6a2a2184b0f58c42dfda77fdda87ab28b6aa Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:39:18 2015 +0000 ARM: shmobile: r8a7791: add reg-names for sound Rensas R-Car sound driver supports reg-names. Let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 46a158f2ce965940f68ccb07ac8127e1091bebe8 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Mar 10 01:39:01 2015 +0000 ARM: shmobile: r8a7790: add reg-names for sound Rensas R-Car sound driver supports reg-names. Let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit dab429a798a8ab3377136e09dda55ea75a41648d Author: David Kaplan <David.Kaplan@xxxxxxx> Date: Mon Mar 2 13:43:37 2015 -0600 kvm: svm: make wbinvd faster No need to re-decode WBINVD since we know what it is from the intercept. Signed-off-by: David Kaplan <David.Kaplan@xxxxxxx> [extracted from larger unlrelated patch, forward ported, tested,style cleanup] Signed-off-by: Joel Schopp <joel.schopp@xxxxxxx> Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 5cb56059c94ddfaf92567a1c6443deec8363ae1c Author: Joel Schopp <joel.schopp@xxxxxxx> Date: Mon Mar 2 13:43:31 2015 -0600 kvm: x86: make kvm_emulate_* consistant Currently kvm_emulate() skips the instruction but kvm_emulate_* sometimes don't. The end reult is the caller ends up doing the skip themselves. Let's make them consistant. Signed-off-by: Joel Schopp <joel.schopp@xxxxxxx> Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 169bf9121b19dd6029e0a354d33513f61bfbe3d3 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Tue Mar 10 12:23:34 2015 -0400 tipc: ensure that idle links are deleted when a bearer is disabled commit afaa3f65f65fda2e7b190aac7e2a75d9a2a77cb6 (tipc: purge links when bearer is disabled) was an attempt to resolve a problem that turned out to have a more profound reason. When we disable a bearer, we delete all its pertaining links if there is no other bearer to perform failover to, or if the module is shutting down. In case there are dual bearers, we wait with deleting links until the failover procedure is finished. However, this misses the case when a link on the removed bearer was already down, so that there will be no failover procedure to finish the link delete. This causes confusion if a new bearer is added to replace the removed one, and also entails a small memory leak. This commit takes the current state of the link into account when deciding when to delete it, and also reverses the above-mentioned commit. Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ddb4b9a1328ea89733133e86cf1972d23891abfc Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Mar 10 14:39:34 2015 -0700 fib_trie: Address possible NULL pointer dereference in resize If the inflate call failed it would return NULL. As a result tp would be set to NULL and cause use to trigger a NULL pointer dereference in should_halve if the inflate failed on the first attempt. In order to prevent this we should decrement max_work before we actually attempt to inflate as this will force us to exit before attempting to halve a node we should have inflated. In order to keep things symmetric between inflate and halve I went ahead and also moved the decrement of max_work for the halve case as well so we take care of that before we actually attempt to halve the tnode. Fixes: 88bae714 ("fib_trie: Add key vector to root, return parent key_vector in resize") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 416377ea392823e8ea1f8a10477e7d08a9bb715e Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Tue Mar 10 18:33:49 2015 -0400 macb: Fix merge error. The code removed by commit 421d9df0628b ("net/macb: merge at91_ether driver into macb driver") should be removed in the merge resolution as well. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e74ac550298ec4635cc32e99f966568a808fd370 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 22:08:38 2015 +0100 Staging: sm750fb: provide error path for hw_sm750le_setBLANK() This provides a default path for the switch statement in hw_sm750le_setBLANK() so that the compiler will not correctly complain about undefined values being sent to the hardware. Instead, properly error out if the blank command is unknown by the driver. Cc: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Cc: Teddy Wang <teddy.wang@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c6f3fdc488296ea00ded8024dcfd7de13d2ca67 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 22:03:01 2015 +0100 Staging: sm750fb: fix hw_imageblit parameters Fix up hw_imageblit() so that the function paramaters match up with what the driver expects them to be when using it as a function pointer. Cc: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Cc: Teddy Wang <teddy.wang@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30061915be6e3a2c2a4bc4f22a229d4eb7b7cc65 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Tue Mar 10 16:12:32 2015 -0400 spi: spidev_test: Added input buffer from the terminal Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 31a5c5a72b90e074bd2377ada2bdfd506801ed72 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Tue Mar 10 16:12:31 2015 -0400 spi: spidev_test: Added verbose output Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b78ce7ed54093e5e63d4f5d7cbdc3f7d42ebbd5c Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Tue Mar 10 16:12:30 2015 -0400 spi: spidev_test: Cleaned hexadecimal dump Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 55e76b38986a61259f3079afd0f9a865651a34fe Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 10 22:34:40 2015 +0200 Bluetooth: Add 'Already Paired' error for Pair Device command To make the behavior predictable when attempting to pair with a device for which we already have a Link Key or Long Term Key, this patch adds a new 'Already Paired' error which gets sent in such a scenario. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8d0c38a3f2a6bb70e952f127ed817fc7a08db52c Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Tue Mar 10 09:05:38 2015 +0800 ASoC: Intel: move sysclk source setting to platform_clock_control for balance. A playback noise happens after suspend/resume on Braswell. The issue is due to the codec PLL and codec ASRC are not enabled correctly due to the incorrect sysclk setting after resume. This patch resets the sysclk source setting in platform clock control widget handler. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ee1cd515e889d222f5a7397fead0a9db1214edea Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:32 2015 +0100 usb: gadget: printer: add configfs support Add support for configfs interface so that f_printer can be used as a component of usb gadgets composed with it. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a2a8e48a94c78c72b5dd1e4c8d190c5c54aca7a4 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:31 2015 +0100 usb: gadget: printer: use module_usb_composite_driver helper macro Substitute some boilerplate code with a dedicated macro. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d85dc4824c5793f4b71225d7ba5b50e737045830 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:30 2015 +0100 usb: gadget: f_printer: remove compatibility layer There are no old interface users left, so it can be removed. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 69504f808d6770940f1404b6f6f43c50cfe0be72 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:29 2015 +0100 usb: gadget: printer: convert to new interface of f_printer The goal is to remove the old function interface, so its (only) user must be converted to the new interface. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b26394bd567e5ebe57ec4dee7fe6cd14023c96e9 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:28 2015 +0100 usb: gadget: f_printer: convert to new function interface with backward compatibility In order to add configfs support, a usb function must be converted to use the new interface. This patch converts the function to the new interface and provides backward compatiblity layer, which can be removed after all its users are converted to use the new interface. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b185f01a9ab7af586133be2555298e960237359b Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:27 2015 +0100 usb: gadget: printer: factor out f_printer The legacy printer gadget now contains both a reusable printer function and legacy gadget proper implementations interwoven, but logically separate. This patch factors out a reusable f_printer. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6dd8c2e69521ec9d7b23a741294702f844353f1a Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:26 2015 +0100 usb: gadget: printer: allocate printer_dev instances dynamically With all the obstacles removed it is possible to allow more than one instance of the printer function. Since the function requires allocating character device region, a maximum number of allowed instances is defined. Such an approach is used in f_acm and in f_hid. With multiple instances it does not make sense to depend on a lock_printer_io member of a dynamically allocated (and destroyed) struct printer_dev to clean up after all instances of the printer function. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 636bc0ed271d996e18365345e9c00fc712edc610 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:25 2015 +0100 usb: gadget: printer: add req_match for printer function Verify that a given usb_ctrlrequest is meant for printer function. The following parts of the request are tested: - bmRequestType:Data transfer direction - bmRequestType:Type - bmRequestType:Recipient - bRequest - wValue for bRequest 1 and 2 - wLength Additionally, the request is considered meant for this function iff the decoded interface number matches dev->interface. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d7239f4c6daeb7a987a0e6f37a3ea24b37f7c208 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:24 2015 +0100 usb: gadget: printer: name class specific requests Avoid using magic numbers. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f563d230903210acc2336af58e422216b68ded76 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:23 2015 +0100 usb: gadget: composite: add req_match method to usb_function Non-standard requests can encode the actual interface number in a non-standard way. For example composite_setup() assumes that it is w_index && 0xFF, but the printer function encodes the interface number in a context-dependet way (either w_index or w_index >> 8). This can lead to such requests being directed to wrong functions. This patch adds req_match() method to usb_function. Its purpose is to verify that a given request can be handled by a given function. If any function within a configuration provides the method and it returns true, then it is assumed that the right function is found. If a function uses req_match(), it should try as hard as possible to determine if the request is meant for it. If no functions in a configuration provide req_match or none of them returns true, then fall back to the usual approach. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 143d53e10ecfeee7245341aa9c50515b5680ffd4 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:22 2015 +0100 usb: gadget: printer: add container_of helper for printer_dev 5 uses of container_of() in the same context justify wrapping it in a static inline function. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8fe20f661f3cfbb6778368eb3c73f8a6438ac640 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:21 2015 +0100 usb: gadget: printer: don't access file global usb_printer_gadget in function's code The printer_dev can be recovered from printer_func_unbind() function's parameters. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit dec81cf1dcaac5b91de7cd32c96aadcb94840c7f Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:20 2015 +0100 usb: gadget: printer: eliminate file global printer_mutex The mutex is a legacy after semi-automatic Big Kernel Lock removal. printer_open() does its own locking, so no need to duplicate it. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a844715d2fc44adc2da17f90b34cc0d0c1e81596 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:19 2015 +0100 usb: gadget: printer: call gprinter_setup() from gadget's bind Call gprinter_setup() from gadget's bind instead of module's init. Call gprinter_cleaup() corerspondingly. This detaches printer function's logic from legacy printer gadget's implementation. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d82cd82edb98d727c6a0804a6e271e3081559404 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:18 2015 +0100 usb: gadget: printer: add setup and cleanup functions Factor out gprinter_setup() and gprinter_cleanup() so that it is easy to change the place they are called from. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5a84e6f608598dd691c0024eab50fffb96aca43b Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:17 2015 +0100 usb: gadget: printer: don't access file global pnp_string in function's code In order to factor out a reusable f_printer, the function's code should not use file global variables related to legacy printer gadget's implementation. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 085617a1eb865c2987c05652bf82d35f500ac4b4 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:16 2015 +0100 usb: gadget: printer: define pnp string buffer length Avoid using magic numbers. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 991cd26249e775c07347ab4d62adfbc3284e7704 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:15 2015 +0100 usb: gadget: printer: move function-related unbind code to function's unbind In order to factor out a reusable f_printer.c, the code related to the function should be placed in functions related to the function. printer_cfg_unbind() becomes empty, so it is removed. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cee5cbff8d80ec2d10fe8070f229e95cc42443bf Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:14 2015 +0100 usb: gadget: printer: call usb_add_function() last Conversion to the new function interface requires splitting a <something>_bind_config() function into two parts: allocation of container_of struct usb_function and invocation of usb_add_function(). This patch moves the latter to the end of the f_printer_bind_config() in order to enable conversion to the new interface. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4504b5a0b22e26a7213d9e08706303a790f5a400 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:13 2015 +0100 usb: gadget: printer: move function-related bind code to function's bind In order to factor out a reusable f_printer.c, the code related to the function should be placed in functions related to the function. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ae2dd0de57a3f6b12e30e5552033a492d6d206f7 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:12 2015 +0100 usb: gadget: printer: standardize printer_do_config Follow the convention of distributing source code between <something>_do_config() and <something>_bind_config(). Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 406be2ccbadb5652f5894078d0e025d90683b3e9 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:11 2015 +0100 usb: gadget: printer: follow the naming convention for usb_add_config callback Legacy gadgets, before converting them to the new function framework, used to use the name <something>_do_config() for usb_add_config()'s callback. This patch changes the name so that it is easier to follow the convention. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 44eccced2b9aafd1eced9fb4821f26b6dff26a25 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:10 2015 +0100 usb: gadget: printer: eliminate pdev member of struct printer_dev The pdev member of struct printer_dev is not used outside printer_bind_config(), so it can just as well be a local variable there. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 44b316525986252bb95d356419fc9e75f0532112 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:09 2015 +0100 usb: gadget: printer: add missing error handling If cdev_add() in printer_bind_config() fails, care is taken to reverse the effects of initializations completed until the fail happens. But if printer_req_alloc() fails, it is just one of the two lists that is cleaned up while the effects of cdev_add() and device_create() are not reverted. This patch changes error handling so that at least as much cleanup is done as when a failure happens before printer_req_alloc() invocations. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f5bda0034fba942adf5555246e248ddb66c76052 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:08 2015 +0100 usb: gadget: printer: revert usb_add_function() effect in error recovery Whenever the "goto fail" branch is taken, the effect of usb_add_function() should be reverted. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c69b8186945c10d245586e9f9703486e9574170c Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:07 2015 +0100 usb: gadget: printer: eliminate random pointer dereference struct printer_dev contains 3 list heads: tx_reqs, rx_reqs and rx_buffers. There is just one instance of this structure in the driver and it is file static, and as such initialized with all zeros. If device_create() or cdev_add() fails then "goto fail" branch is taken, which results in printer_cfg_unbind() call. The latter checks if tx_reqs, rx_reqs and rx_buffers lists are empty. The check for emptiness is in fact a check whether the "next" member of struct list_head points to the head of the list. But the heads of the lists in question have not been initialized yet and, as mentioned above, contain all zeros, so list_empty() returns false and respective "while" loop body starts executing. Here, container_of() just subtracts the offset of a struct usb_request member from an address of this same member, which results in a value somewhere near 0 or 0xfff...ff. And the argument to list_del() dereferences such a pointer which causes a disaster. This patch moves respective INIT_LIST_HEAD() invocations to a point before "goto fail" branch can be taken. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 050f571264154b2f5b4c3c4c1581ab365064ff28 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:06 2015 +0100 usb: gadget: printer: remove unused and empty printer_unbind The unbind() method is optional is usb_composite_driver. In this particular driver the method does nothing so it can be removed. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit eb132ccbdec5df46e29c9814adf76075ce83576b Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:05 2015 +0100 usb: gadget: printer: enqueue printer's response for setup request Function-specific setup requests should be handled in such a way, that apart from filling in the data buffer, the requests are also actually enqueued: if function-specific setup is called from composte_setup(), the "usb_ep_queue()" block of code in composite_setup() is skipped. The printer function lacks this part and it results in e.g. get device id requests failing: the host expects some response, the device prepares it but does not equeue it for sending to the host, so the host finally asserts timeout. This patch adds enqueueing the prepared responses. Cc: <stable@xxxxxxxxxxxxxxx> # v3.4+ Fixes: 2e87edf49227: "usb: gadget: make g_printer use composite" Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 232c0102e84b7fce634c8902a5fa30ca2b3342ac Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Mar 3 10:52:04 2015 +0100 usb: gadget: composite: don't try standard handling for non-standard requests If a non-standard request is processed and its parameters just happen to match those of some standard request, the logic of composite_setup() can be fooled, so don't even try any switch cases, just go to the proper place where unknown requests are handled. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit eac68e8f979b82d257eea0a4bbcda7b169d330bf Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Mar 9 15:06:12 2015 +0100 usb: dwc3: make LPM configurable in DT This patch removes "Enable USB3 LPM Capability" option from Kconfig and adds snps,usb3_lpm_capable devicetree property instead of it. USB3 LPM (Link Power Management) capability is hardware property, and it's platform dependent, so if our hardware supports this feature, we want rather to configure it in devicetree than having it as Kconfig option. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ad78c918602cb7cce0fab5d5813213853a6f351d Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 19:07:49 2015 -0600 usb: musb: dsps: just start polling already there's no need to fake an IRQ, just check if VBUS is valid already. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9e204d885a6d0ae3696284bacd86e2b94dd936c8 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 19:02:41 2015 -0600 usb: musb: dsps: use msecs_to_jiffies instead when polling, we were using n * HZ (where n is an integer in seconds), however HZ isn't always correct if we're using cpufreq. A better way is to use msecs_to_jiffies(n) (where n is now an integer in miliseconds). while at that, also rename poll_seconds to poll_timeout and change its type to unsigned int. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 043f5b75dd2b1fbd45d5f367d50e5ae5b4afa955 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 13:22:27 2015 -0600 usb: musb: cppi41: do not call udelay() according to comment in code, HS completion will happen pretty fast, instead of using udelay(), let's just busy loop and drop a cpu_relax() where udelay() was. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit af63429cf046210d7313805b579dd779d10ad1c0 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 13:21:14 2015 -0600 usb: musb: cppi41: exit early when tx fifo is empty as soon as we find out tx fifo is empty, there's no need to break out of the loop just to have another branch to complete the transfer. We can just complete transfer and exit early. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1b61625f8b5d87caf9633d7dbfbaf1ea8270036d Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 13:19:39 2015 -0600 usb: musb: cppi41: decrease indentation level no functional changes, clean up only. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ccf5fb698155ee289b9257b0f1d6be3c7900ba0a Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Feb 27 09:44:51 2015 -0600 usb: gadget: net2280: silence sparse warning Silence the following warning: drivers/usb/gadget/udc/net2280.c:3176:33: warning: context imbalance in 'handle_stat1_irqs' - unexpected unlock Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 12366ef1942128d9bd8baa77e7eb4010b18fd676 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Feb 2 10:55:26 2015 +0100 usb: gadget: net2280: don't connect from udc_start net2280_start can be called with pullup disabled. Don't set softconnect flag in it. Let net2280_pullup handle the connection part. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9ceafcc2b3ad48ad2ef42608f1505ecad515d144 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Feb 2 10:55:25 2015 +0100 usb: gadget: net2280: print error in ep_ops error paths Hopefully, these prints will help localize the problems faster. [ balbi@xxxxxx: removed 2 unnecessary OOM error messages ] Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fb2a85dd933c2793f5aabeb84af8b3bc00c0c968 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Feb 2 10:55:24 2015 +0100 usb: gadget: net2280: remove fiforegs as it is unused Remove fiforegs from struct net2280 and net2280_ep as it is unused. By the way, ep->fiforegs = &dev->fiforegs[i] assignment is incorrect. It should be ep->fiforegs = &dev->fiforegs[ne[i]], but it doesn't matter now. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a285f40d80d440853ac908017d6d949ae2a7f88e Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Feb 2 10:55:23 2015 +0100 usb: gadget: net2280: use ep_autoconfig compatible names in advance mode Each struct usb_ep added for net2280 can be used in either direction. Whereas, each struct usb_ep for usb3380 has fixed direction. Use ep_autoconf compatible names so that endpoint with correct direction can be selected. Name sequence is due to the logic in usb_reinit_338x() in ne[] and ep_reg_addr[]. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 34754dec8ab83799a0a37f2a7ada8ce1e53d174b Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:43:57 2015 -0600 usb: musb: core: always try to recover from babble we can also have babble conditions with LS/FS and we also want to recover in that case. Because of that we will drop the check of HSMODE and always try to run babble recovery. Suggested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0244336f812583299291e18b69a75be5674e819f Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:42:19 2015 -0600 usb: musb: core: disable irqs inside babble recovery There's no point is splitting those anymore. We're now also able to drop another forward declaration. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 06753fe115c517b715616ef7ef4f56b1b46ecc69 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:33:41 2015 -0600 usb: musb: core: remove unnecessary forward declaration no functional changes, cleanup only. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 83b8f5b8c07c8cbad8c14c7b8767e7219a6c1813 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:27:12 2015 -0600 usb: musb: core: drop recover_work that's not needed anymore. Everything that we call is irq-safe, so we might as well not have a delayed work for babble recovery. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b28a6432405ca95b3da25630d79d2463c754a79c Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:20:58 2015 -0600 usb: musb: rename ->reset() to ->recover() recover is a much better name than reset, considering we don't really reset the IP, just run platform-specific babble recovery algorithm. while at that, also fix a typo in comment and add kdoc for recover memeber of platform_ops. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b4dc38fd45b63e3da2bc98db5d283a15a637a2fa Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:02:35 2015 -0600 usb: musb: core: simplify musb_recover_work() we're not resetting musb at all, just restarting the session. This means we don't need to touch PHYs or VBUS or anything like that. Just make sure session bit is reenabled after MUSB dropped it. while at that, make sure to tell usbcore that we're dropping the session and, thus, disconnecting the device. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 011d0dd5400b84e593eecfc4a17fcfb6c0c5ac60 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 14:00:52 2015 -0600 usb: musb: dsps: do not reset musb on babble All we have to do is, really, drop session bit and let the session restart. Big thanks goes to Bin Liu <b-liu@xxxxxx> for inspiring this work. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d5fa3e9f7398adf337f03fa3257d5e9b214078ee Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:35:13 2015 -0600 usb: musb: core: decrease delayed_work time When babble IRQ happens, we need to wait only 5.3us (320 cycles of 60MHz clock), we will give it some slack and schedule our work a 10 usecs into the future. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ba7ee8bb313c4a55066c4da30292aeb9abac82d8 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:31:49 2015 -0600 usb: musb: don't touch devctl from babble recovery We do *not* want to touch devctl at all when trying to recover from babble. All we want to do is mask IRQs until we're done without our babble recovery, at which point we will unmask IRQs. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e1eb3eb8b02c5be35ea1fedccc6c9c6d2c9b0165 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:26:09 2015 -0600 usb: musb: core: refactor IRQ enable/disable to separate functions sometimes we want to just mask/unmask interrupts without touching devctl register. For those cases, let's introduce musb_enable_interrupts and musb_disable_interrupts() Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3709ffca6485bd1b03b1fe2d9eb384dcf5db87a6 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:11:33 2015 -0600 usb: musb: dsps: add dsps_ prefix to sw_babble_control this makes it easier to filter function traces. No functional changes. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a67cab72b87c7bb970bec8bc060a8946c5dfa1c5 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:09:20 2015 -0600 usb: musb: core: controller drops session automatically Whenever babble happens, MUSB controller will drop session automatically. The only case where it won't drop the session, is when we're running on AM335x and SW_SESSION_CTRL bit has been set. In that case, controller will not touch session bit so SW has a chance to recover from babble condition. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f860f0b1ea76b9f15d24db8fa98823eb15273afb Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 11:01:03 2015 -0600 usb: musb: dsps: check for the single bit We want to check if that particular bit is set. It could very well be that bootloader (or romcode) has fiddled with MUSB before us which could leave other bits set in this register. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 52b9e6eb07f739207bd7d4257fdfbb24592d096a Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 16:04:39 2015 -0600 usb: musb: dsps: remove babble check from dsps irq handler musb->int_usb already contains the correct information for musb-core to handle babble. In fact, this very check was just causing a nonsensical babble interrupt storm. With this I can get test.sh to run and, even though all tests fail with timeout, that's still better than locking up the system due to IRQ storm. Also, if I remove g_zero and load g_mass_storage, then everything works fine again. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b2c7361bd07f94e6280507a20e0541870d5d7a1a Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:48:50 2015 -0600 usb: musb: core: there is no connect interrupt in peripheral mode MUSB does not generate a connect IRQ when working in peripheral mode. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 46571889ec435f1bf29d9094f062948b26630723 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:30:55 2015 -0600 usb: musb: core: remove unnecessary reg access from resume IRQ when musb is operating as host and a remote wakeup fires up, a resume interrupt will be raised. At that point SUSPENDM bit is automatically cleared and RESUME bit is automatically set. Remove those two from IRQ handler. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0acff6b83106ef699f17828caea6545bcc716f14 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:14:15 2015 -0600 usb: musb: core: break long line no functional changes, clean up only. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d0fc0a20b5b7babe0fe1552204bd52505a4f93dd Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:07:52 2015 -0600 usb: musb: core: move babble recovery inside babble check There was already a proper place where we were checking for babble interrupts, move babble recovery there. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d0cddae7926f39e8fd488f62496cfebf7a5e757d Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 10:55:13 2015 -0600 usb: musb: dsps: return error code if reset fails if reset fails, we should return a *negative* error code, not a positive value. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 28378d5ed5ca1221479d2f94c3b346691834822f Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Feb 26 10:54:27 2015 -0600 usb: musb: core: fix highspeed check FSDEV is set for both HIGH and FULL speeds, the correct HIGHSPEED check is done through power register's HSMODE bit. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d57a27711939dcb289b3d17ac48fca99f0fd245d Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:05:15 2015 -0600 usb: musb: core: add missing curly braces no functional changes, clean up only. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 896f7ea37f53666a72080d0958213d12ae59deaa Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Feb 25 14:03:23 2015 -0600 usb: musb: core: remove unnecessary logical comparison devctl & MUSB_DEVCTL_HM represents a single bit, just check for the bit, there's really no need to compare the result against 0. Tested-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ab7580c1479f9cc9d6a70a5184687a4d807fc612 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu Feb 26 11:47:57 2015 +0000 usb: isp1760: add peripheral/device controller chip id As per the SAF1761 data sheet[0], the DcChipID register represents the hardware version number (0001h) and the chip ID (1582h) for the Peripheral Controller. However as per the ISP1761 data sheet[1], the DcChipID register represents the hardware version number (0015h) and the chip ID (8210h) for the Peripheral Controller. This patch adds support for both the chip ID values. [0] http://www.nxp.com/documents/data_sheet/SAF1761.pdf [1] http://pdf.datasheetcatalog.com/datasheets2/74/742102_1.pdf Cc: Felipe Balbi <balbi@xxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit adf9c3c85615f41c08559086e0d9ecdc6cc9db71 Author: Joseph Kogut <joseph.kogut@xxxxxxxxx> Date: Mon Feb 16 19:32:46 2015 -0700 usb: move definition of PCI_VENDOR_ID_SYNOPSYS to linux/pci_ids.h Removed FIXME from usb/dwc3/dwc3-pci.c by moving definition of PCI_VENDOR_ID_SYNOPSYS shared with usb/dwc2 to linux/pci_ids.h. Signed-off-by: Joseph Kogut <joseph.kogut@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 25140ce627f43df1d425d591ac3d360b48ae24e1 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:37 2015 -0800 usb: gadget: udc: pxa27x_udc: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") While there, simplify the error handler logic by returning immediately and remove the unnecessary labels. Tested-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bf2fbc2a12b42a1d3fd38b1da24cd4250df4f3ab Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 21:29:38 2015 +0100 Staging: sm750fb: fix build warning with lynx_accel Change the return value of lynx_accel to be void, to fix the build warning, and due to the fact that the function can't seem to fail at all, and no one cares if it does or not. Cc: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Cc: Teddy Wang <teddy.wang@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx commit 3009de604831e6dd908c39c05fd063bd668edb0e Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Mar 10 21:20:52 2015 +0100 Staging: sm750fb: fix build warning with proc_panDisplay Change the options to the proc_panDisplay function pointer to match the function pointer that we want to assign to it, in order to remove the build warning. Cc: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Cc: Teddy Wang <teddy.wang@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx commit 3ec320dd5c9465fbed3c84dd14ed3941ce757823 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Mar 10 11:25:41 2015 -0700 fib_trie: Correctly handle case of key == 0 in leaf_walk_rcu In the case of a trie that had no tnodes with a key of 0 the initial look-up would fail resulting in an out-of-bounds cindex on the first tnode. This resulted in an entire trie being skipped. In order resolve this I have updated the cindex logic in the initial look-up so that if the key is zero we will always traverse the child zero path. Fixes: 8be33e95 ("fib_trie: Fib walk rcu should take a tnode and key instead of a trie and a leaf") Reported-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8b0dced35e60a857e893648308e056915ffed4a Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Date: Tue Mar 10 15:25:47 2015 +0000 staging: sm750fb: Cleanup the type of mmio750 This patch assigns the more appropriate void* type to the mmio750 variable eliminating an unnecessary volatile qualifier in the process. Additionally it updates parameter types as necessary where those parameters interact with mmio750, removes unnecessary casts and updates the type of the lynx_share->pvReg field which is passed to the ddk750_set_mmio method. As a consequence, this patch fixes the following sparse warning:- drivers/staging/sm750fb/ddk750_help.c:12:17: warning: incorrect type in assignment (different address spaces) Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a99e334da16ce81163db0e47ec22469a79a91b72 Author: Madhusudhanan Ravindran <mravindran04@xxxxxxxxx> Date: Tue Mar 10 23:07:39 2015 +0530 staging: sm750fb: Use kzalloc rather than kmalloc followed by memset with 0 The semantic patch that makes this change is available in scriptcoccinelle/api/alloc/kzalloc-simple.cocci. Signed-off-by: Madhusudhanan Ravindran <mravindran04@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fa96e39279988bde14cb6cf6cd0440185f2dae4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 22:46:57 2015 +0530 staging: sm750fb: correct integer comparison fixed the build warning about comparison of pointer and integer. end of string was being compared to NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06a1bf813607ceb836d2b4b7c415a187253ea4ad Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 22:46:56 2015 +0530 staging: sm750fb: fix mixed declarations we were getting build warning about mixed declaration. the variable is now declared at the beginning of the block. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54a1a05fe270f87e755732a47f693de870d0ffec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 22:46:54 2015 +0530 staging: sm750fb: correct function return hw_cursor_setData2() is a function with void return type but it was returning an integer. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 041d3a42e7d823e89b593d47338d6840b38cbcd3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 22:46:53 2015 +0530 staging: sm750fb: remove unused variables removed some variables which were only declared but were never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4933b29bd4e007a0544c97ea47fa0a091c5fec53 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 22:46:52 2015 +0530 staging: sm750fb: remove unused functions removed the functions which were not used anywhere. it has been build tested also confirmed with git grep that there is no other reference of these functions. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 406ef2a67bd0bb13d77d5e5d700e36a2caea09ae Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Mar 10 20:14:27 2015 +0200 Bluetooth: Make Fast Connectable available while powered off To maximize the usability of the Fast Connectable feature we should make it possible to set (or unset) it at any given moment. This means removing the dependency on the 'connectable' setting as well as the 'powered' setting. The former makes also sense since page scan may get enabled through add_device even if 'connectable' is false. To keep the setting available over power cycles its flag also needs to be removed from the flags that are cleared upon HCI_Reset. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7c23aaf2eacdd10825237160cb8005efd7222061 Merge: 3855634 34160ea Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 10 13:45:33 2015 -0400 Merge branch 'inet_diag_cleanups' Eric Dumazet says: ==================== inet_diag: cleanups and improvements Before changing way request socks are dumped, let's clean up this code a bit. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34160ea3f9c96b5ae71a11459f9b9f6c298b8930 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 10 07:15:54 2015 -0700 inet_diag: add const to inet_diag_req_v2 diag dumpers should not modify the request. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e31c5e0e486226e0808a2e90a7af40daa084ed09 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 10 07:15:53 2015 -0700 inet_diag: cleanups Remove all inline keywords, add some const, and cleanup style. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 491da2a477077357c8206a601559e2ea58f224db Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Mar 10 07:15:52 2015 -0700 net: constify sock_diag_check_cookie() sock_diag_check_cookie() second parameter is constant Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3855634deb051bbce155d149bca05b99a3528d5d Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Mar 10 04:56:53 2015 +0100 drivers: atm: nicstar: remove ifdef'd out skb destructors remove dead code. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 515fb5c317db991e2f9877936b3b21a35c1d3190 Merge: 59e33c2 1a4ba64 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 10 12:48:47 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter fixes for net-next The following batch contains a couple of fixes to address some fallout from the previous pull request, they are: 1) Address link problems in the bridge code after e5de75b. Fix it by using rcu hook to address to avoid ifdef pollution and hard dependency between bridge and br_netfilter. 2) Address sparse warnings in the netfilter reject code, patch from Florian Westphal. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90c6e608e737e387e88aa789c7b4e1f6dfdc4822 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Mar 9 13:45:02 2015 -0700 ARM: dts: cygnus: enable GPIO based hook detection This enables GPIO based phone hook detection for Broadcom BCM911360 phone factor board (bcm911360_entphn) Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 5fa4b29c71b204b7258a8130020d574e033f4015 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Mar 9 13:45:01 2015 -0700 ARM: dts: enable GPIO for Broadcom Cygnus This enables all 3 GPIO controllers including the ASIU GPIO, the chipcommonG GPIO, and the ALWAYS-ON GPIO, for Broadcom Cygnus SoC Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit e6a4e5d50b3eea42220e50d64006fe5baacf654c Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Mar 9 13:44:58 2015 -0700 ARM: dts: enable IOMUX for Broadcom Cygnus This enables the IOMUX support for Broadcom Cygnus SoC Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Tested-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 5c7784b9d64027145ce4dee2b488c8c11af732cc Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 14:15:39 2015 +0530 staging: sm750fb: fix build failure for powerpc-allyesconfig build failed with an error of g_option undeclared. we will get this error on all architecture if MODULE is not defined. fixed the declaration of g_option. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 848f2fce7b2713d853eaa7f32b31bb9ffe89e2ce Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 14:15:38 2015 +0530 staging: sm750fb: fix undeclared function kbuild test robot reported that for microblaze-allyesconfig chan_to_field() and lynxfb_ops_set_par() were not defined. These two functions were defined under CONFIG_PM, so for any archtecture if CONFIG_PM is not defined we will have this error. while moving the lynxfb_suspend() function some very obvious checkpatch errors, like space after comma, space after if, space before opening brace, were taken care of. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62fa8e1014f0ca6abd4ec0e9cfcaeb6e6601bbb6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 14:15:37 2015 +0530 staging: sm750fb: correctly define SM750LE_REVISION_ID check if it is already defined before defining SM750LE_REVISION_ID again and at the same time mention correct data type. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c97df7c2c0692ebed4eff9abaf61a8e12cc250ed Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 14:15:36 2015 +0530 staging: sm750fb: remove pragma optimize remove use of #pragma optimize which will usually be ignored by the compiler. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec0e9937aaa8b0a4b0633711c4d70d622acd9a7f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 10 15:42:14 2015 +0100 ALSA: core: Drop superfluous error/debug messages after malloc failures The kernel memory allocators already report the errors when the requested allocation fails, thus we don't need to warn it again in each caller side. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 24db8bbaa3fcfaf0c2faccbff5864b58088ac1f6 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 10 15:41:18 2015 +0100 ALSA: seq: Drop superfluous error/debug messages after malloc failures The kernel memory allocators already report the errors when the requested allocation fails, thus we don't need to warn it again in each caller side. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8d98a0673f761f9b7be51a293ca9142ec0c037ca Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Mar 10 15:39:55 2015 +0100 ALSA: seq_oss: Drop superfluous error/debug messages after malloc failures The kernel memory allocators already report the errors when the requested allocation fails, thus we don't need to warn it again in each caller side. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2225e79b9b0370bc179f44756bee809b5e7b4d06 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Mar 10 22:13:31 2015 +0900 ALSA: core: reduce stack usage related to snd_ctl_new() The callers of snd_ctl_new() need to have 'struct snd_kcontrol' data, and pass the data as template. Then, the function allocates the structure data again and copy from the template. This is a waste of resources. Especially, the callers use large stack for the template. This commit removes a need of template for the function, thus, changes the prototype of snd_ctl_new(). Furthermore, this commit changes the code of callers, snd_ctl_new1() and snd_ctl_elem_add() for better shape. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4ed56666b7fc98c750a23b5263350b75e742b534 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Mar 10 22:13:30 2015 +0900 ALSA: core: use precomputed table to check userspace control params The parameters can be decided in compile time. This commit adds precomputed table to reduce calculating time. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1a4ba64d16a42c1b31d52b671accd7f9103e2626 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Mar 10 10:27:18 2015 +0100 netfilter: bridge: use rcu hook to resolve br_netfilter dependency e5de75b ("netfilter: bridge: move DNAT helper to br_netfilter") results in the following link problem: net/bridge/br_device.c:29: undefined reference to `br_nf_prerouting_finish_bridge` Moreover it creates a hard dependency between br_netfilter and the bridge core, which is what we've been trying to avoid so far. Resolve this problem by using a hook structure so we reduce #ifdef pollution and keep bridge netfilter specific code under br_netfilter.c which was the original intention. Reported-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a03a8dbe20eff6d57aae3147577bf84b52aba4e6 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Mar 9 23:04:15 2015 +0100 netfilter: fix sparse warnings in reject handling make C=1 CF=-D__CHECK_ENDIAN__ shows following: net/bridge/netfilter/nft_reject_bridge.c:65:50: warning: incorrect type in argument 3 (different base types) net/bridge/netfilter/nft_reject_bridge.c:65:50: expected restricted __be16 [usertype] protocol [..] net/bridge/netfilter/nft_reject_bridge.c:102:37: warning: cast from restricted __be16 net/bridge/netfilter/nft_reject_bridge.c:102:37: warning: incorrect type in argument 1 (different base types) [..] net/bridge/netfilter/nft_reject_bridge.c:121:50: warning: incorrect type in argument 3 (different base types) [..] net/bridge/netfilter/nft_reject_bridge.c:168:52: warning: incorrect type in argument 3 (different base types) [..] net/bridge/netfilter/nft_reject_bridge.c:233:52: warning: incorrect type in argument 3 (different base types) [..] Caused by two (harmless) errors: 1. htons() instead of ntohs() 2. __be16 for protocol in nf_reject_ipXhdr_put API, use u8 instead. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1170adc6dd9e94d3cefb6eefe1f44b308d882515 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:26 2015 +0800 KVM: Use pr_info/pr_err in kvm_main.c WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ... + printk(KERN_INFO "kvm: exiting hardware virtualization\n"); WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ... + printk(KERN_ERR "kvm: misc device register failed\n"); Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 20e87b72244f922f420d83b0b15b42d17b92acae Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:25 2015 +0800 KVM: Fix indentation in kvm_main.c ERROR: code indent should use tabs where possible + const struct kvm_io_range *r2)$ WARNING: please, no spaces at the start of a line + const struct kvm_io_range *r2)$ This patch fixes this ERROR & WARNING to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit b7d409deb9322138d031c2122d1fcba9af9c508c Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:24 2015 +0800 KVM: no space before tabs in kvm_main.c WARNING: please, no space before tabs + * ^I^Ikvm->lock --> kvm->slots_lock --> kvm->irq_lock$ WARNING: please, no space before tabs +^I^I * ^I- gfn_to_hva (kvm_read_guest, gfn_to_pfn)$ WARNING: please, no space before tabs +^I^I * ^I- kvm_is_visible_gfn (mmu_check_roots)$ This patch fixes these warnings to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit f95ef0cd0257852198b31ffeb527ef2f72caa1aa Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:23 2015 +0800 KVM: Missing blank line after declarations in kvm_main.c There are many Warnings like this: WARNING: Missing a blank line after declarations + struct kvm_coalesced_mmio_zone zone; + r = -EFAULT; This patch fixes these warnings to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit ee543159d5e0cfa9f3a349ac4e3da01a0ec66c78 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:22 2015 +0800 KVM: EXPORT_SYMBOL should immediately follow its function WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable +EXPORT_SYMBOL_GPL(gfn_to_page); This patch fixes these warnings to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit f4fee93270abbf862aab268111ac1e12934130c4 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:21 2015 +0800 KVM: Fix ERROR: do not initialise statics to 0 or NULL in kvm_main.c ERROR: do not initialise statics to 0 or NULL +static int kvm_usage_count = 0; The kvm_usage_count will be placed to .bss segment when linking, so not need to set it to 0 here obviously. This patch fixes this ERROR to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit a642a1756752421e5f6661d951943b53225c03eb Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:20 2015 +0800 KVM: Fix WARNING: labels should not be indented in kvm_main.c WARNING: labels should not be indented + out_free_irq_routing: This patch fixes this WARNING to reduce noise when checking new patches in kvm_main.c. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 893bdbf16574e781504ea2a767ff8919d1394e52 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 14:58:19 2015 +0800 KVM: Fix WARNINGs for 'sizeof(X)' instead of 'sizeof X' in kvm_main.c There are many WARNINGs like this: WARNING: sizeof tr should be sizeof(tr) + if (copy_from_user(&tr, argp, sizeof tr)) In kvm_main.c many places are using 'sizeof(X)', and the other places are using 'sizeof X', while the kernel recommands to use 'sizeof(X)', so this patch will replace all 'sizeof X' to 'sizeof(X)' to make them consistent and at the same time to reduce the WARNINGs noise when we are checking new patches. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 548ef28449c0c06f92194c40ff0eaed248cb4b75 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 21:29:25 2015 +0100 KVM: Get rid of kvm_kvfree() kvm_kvfree() provides exactly the same functionality as the new common kvfree() function - so let's simply replace the kvm function with the common function. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 0fa9778895635ab3824caf34fd573562dd2b999c Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Feb 27 16:50:10 2015 +0100 KVM: make halt_poll_ns static halt_poll_ns is used only locally. Make it static. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 5bda6eed2e3626f40f2602a8fed72007f1fafaf8 Author: Wincy Van <fanwenyi0529@xxxxxxxxx> Date: Wed Dec 24 11:14:29 2014 +0800 KVM: ioapic: Record edge-triggered interrupts delivery status This patch fixes the bug discussed in https://www.mail-archive.com/kvm@xxxxxxxxxxxxxxx/msg109813.html This patch uses a new field named irr_delivered to record the delivery status of edge-triggered interrupts, and clears the delivered interrupts in kvm_get_ioapic. So it has the same effect of commit 0bc830b05c667218d703f2026ec866c49df974fc ("KVM: ioapic: clear IRR for edge-triggered interrupts at delivery") while avoids the bug of Windows guests. Signed-off-by: Wincy Van <fanwenyi0529@xxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit ae548c5c806497b3495019f550f93dee03f6c15a Author: Kevin Mulvey <kevin@xxxxxxxxxxxxxxx> Date: Fri Feb 20 08:21:37 2015 -0500 KVM: fix checkpatch.pl errors in kvm/irqchip.c Fix whitespace around while Signed-off-by: Kevin Mulvey <kmulvey@xxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit bfda0e849102108eeedbeb71077859cdc853b7cd Author: Kevin Mulvey <kevin@xxxxxxxxxxxxxxx> Date: Fri Feb 20 08:21:36 2015 -0500 KVM: white space formatting in kvm_main.c Better alignment of loop using tabs rather than spaces, this makes checkpatch.pl happier. Signed-off-by: Kevin Mulvey <kmulvey@xxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 668f198f40d1cc89c2330c6ad56f3b397b05a0bc Author: David Kaplan <david.kaplan@xxxxxxx> Date: Fri Feb 20 16:02:10 2015 -0600 KVM: SVM: use kvm_register_write()/read() KVM has nice wrappers to access the register values, clean up a few places that should use them but currently do not. Signed-off-by: David Kaplan <david.kaplan@xxxxxxx> [forward port and testing] Signed-off-by: Joel Schopp <joel.schopp@xxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 67fdcc96b49455569307e6ba7bba0905cf9d6596 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Mar 6 13:52:58 2015 +0100 ARM: mediatek: enable the pin controller This patch enables the pin controller for Mediatek SoCs. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit e936351a611bca2ebd37634d81d168e6585e3634 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 10 14:15:35 2015 +0530 staging: sm750fb: wrong type for print mention correct format specifier while printing. fixes all the build warnings about incorrect argument type while printing. since this is a framebuffer device and it should follow what the framebuffer layer is suggesting in struct fb_fix_screeninfo at smem_start and mmio_start, so accordingly changed the datatypes of vidmem_start, vidreg_start, vidmem_size and vidreg_size. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 263042e4630a85e856b4a8cd72f28dab33ef4741 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 9 19:39:23 2015 +0100 x86/asm/entry/64: Save user RSP in pt_regs->sp on SYSCALL64 fastpath Prepare for the removal of 'usersp', by simplifying PER_CPU(old_rsp) usage: - use it only as temp storage - store the userspace stack pointer immediately in pt_regs->sp on syscall entry, instead of using it later, on syscall exit. - change C code to use pt_regs->sp only, instead of PER_CPU(old_rsp) and task->thread.usersp. FIXUP/RESTORE_TOP_OF_STACK are simplified as well. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425926364-9526-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 616ab249f1e42f6135642183529f910fcedc2642 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Mar 10 11:45:06 2015 +0100 x86/asm/entry/64: Remove stub_iopl stub_iopl is no longer needed: pt_regs->flags needs no fixing up after previous change. Remove it. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425984307-2143-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29722cd4ef666705b2eda1c3ba44435488e509eb Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Mar 9 19:39:21 2015 +0100 x86/asm/entry/64: Save R11 into pt_regs->flags on SYSCALL64 fastpath Before this patch, R11 was saved in pt_regs->r11. Which looks natural, but requires messy shuffling to/from iret frame whenever ptrace or e.g. sys_iopl() wants to modify flags - because that's how this register is used by SYSCALL/SYSRET. This patch saves R11 in pt_regs->flags, and uses that value for the SYSRET64 instruction. Shuffling is eliminated. FIXUP/RESTORE_TOP_OF_STACK are simplified. stub_iopl is no longer needed: pt_regs->flags needs no fixing up. Testing shows that syscall fast path is ~54.3 ns before and after the patch (on 2.7 GHz Sandy Bridge CPU). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425926364-9526-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b3924dd7a943613939f8b019690d1f919ece035c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:25:20 2015 +0300 fbdev: pm3fb: cleanup some confusing indenting This if statement should be pushed out one tab to line up with the rest. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7dea97e0379dbb2983a9f009c7cdaeb6bbe4c98e Author: Nicholas Mc Guire <der.herr@xxxxxxx> Date: Thu Jan 29 11:24:16 2015 +0100 hyperv: hyperv_fb: match wait_for_completion_timeout return type The return type of wait_for_completion_timeout is unsigned long not int. This patch fixes up the declarations only. Signed-off-by: Nicholas Mc Guire <der.herr@xxxxxxx> Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 17713ce09d95fa79a1bf8f8604ecea9c6e1924aa Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 20 09:34:01 2015 -0500 video: fbdev: use msecs_to_jiffies for time conversions This is only an API consolidation and should make things more readable by replacing var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 739ae3452d0ee199b3cfe5e52214d9ccd8e358ea Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Mar 10 17:05:33 2015 +0800 phy: berlin-usb: Set drvdata for phy and use it At the context where we have pointer to struct phy, it's useful to call phy_get_drvdata() to get the address of priv. With this change, we can remove the to_phy_berlin_usb_priv() macro and remove *phy from struct phy_berlin_usb_priv. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit ce991981311e0ae258982b600564226ad6cb24ea Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Mon Mar 9 22:13:03 2015 +0100 ALSA: firewire: Fix trivial typos in comments Change 'propper' to 'proper' Change 'paramters' to 'parameters' Change 'SYT_INTEVAL' to 'SYT_INTERVAL' Change 'aligh'/'alighed' to 'align'/'aligned' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7e476c7dd8d39b03a4dd8447be907d3517579c51 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Tue Mar 10 13:44:41 2015 +1100 regulator: fixes for regulator_set_optimum_mode name change Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eb5bc2a213f96bd43b5f00a625acb0c669613645 Merge: 485372d 9eccca0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Mar 10 10:37:02 2015 +0000 Merge tag 'v4.0-rc3' into asoc-rt5670 Linux 4.0-rc3 Conflicts: sound/soc/codecs/rt5670.c commit 1b4bd608763e063ea87e20030e05db005e70177f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 9 18:54:32 2015 +0100 ARM: 8309/1: l2c: enforce use of cache-level property Make sure that we can read the "cache-level" property from the L2 cache controller node, and ensure its value is 2. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 359f9365d3f8d0d62683344807c986ec7d711b59 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Mon Mar 9 21:54:39 2015 -0700 arm64: dts: mt8173: Add pinctrl/GPIO/EINT node for mt8173. Add pinctrl, GPIO and EINT node to mt8173.dtsi. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit efdb6f6edb526f160b8db1670b93a07180ac8306 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:47 2015 +0200 crypto: octeon - enable OCTEON SHA1/256/512 module selection Enable user to select OCTEON SHA1/256/512 modules. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit fbaa4dfd51a0bfec1e03d4f887c250993f9dc18d Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:46 2015 +0200 crypto: octeon - add SHA512 module Add OCTEON SHA512 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c3d0def6200158cfdd280146da0109c264aede49 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:45 2015 +0200 crypto: octeon - add SHA256 module Add OCTEON SHA256 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 82be2dcfa6a1eebe0fc608296547ec80b55d512d Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:44 2015 +0200 crypto: octeon - add SHA1 module Add OCTEON SHA1 module. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit da3cd5d7a7031a4a9e0b3f84732620c9db8bc65a Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:43 2015 +0200 crypto: octeon - add instruction definitions for SHA1/256/512 Add instruction definitions for SHA1/256/512. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c3bc38d9fb30cca2567a4f6f0d52a12d4565c7e5 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:42 2015 +0200 crypto: octeon - always disable preemption when using crypto engine Always disable preemption on behalf of the drivers when crypto engine is taken into use. This will simplify the usage. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9b2de7ff424220c731276aaef9025cdd1d4052a8 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Mar 8 22:07:41 2015 +0200 crypto: octeon - don't disable bottom half in octeon-md5 Don't disable bottom half while the crypto engine is in use, as it should be unnecessary: All kernel crypto engine usage is wrapped with crypto engine state save/restore, so if we get interrupted by softirq that uses crypto they should save and restore our context. This actually fixes an issue when running OCTEON MD5 with interrupts disabled (tcrypt mode=302). There's a WARNING because the module is trying to enable the bottom half with irqs disabled: [ 52.656610] ------------[ cut here ]------------ [ 52.661439] WARNING: CPU: 1 PID: 428 at /home/aaro/git/linux/kernel/softirq.c:150 __local_bh_enable_ip+0x9c/0xd8() [ 52.671780] Modules linked in: tcrypt(+) [...] [ 52.763539] [<ffffffff8114082c>] warn_slowpath_common+0x94/0xd8 [ 52.769465] [<ffffffff81144614>] __local_bh_enable_ip+0x9c/0xd8 [ 52.775390] [<ffffffff81119574>] octeon_md5_final+0x12c/0x1e8 [ 52.781144] [<ffffffff81337050>] shash_compat_digest+0xd0/0x1b0 Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0e4f93e5017d9d8080bbd34db17836e090eb46fe Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Mar 10 10:45:30 2015 +0100 goldfish: goldfish_tty_probe() is not using 'i' any more The only place where 'i' has been used was a dead code that got removed by 2a2483685a9de ("goldfish: remove unreachable line of code"). Remove the last reference to the variable as well. Fixes: 2a2483685a9de ("goldfish: remove unreachable line of code") Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7eb5f302bbe78b88da8b2008c502c1975e75db05 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Mar 9 10:41:07 2015 +0200 drm: Check in setcrtc if the primary plane supports the fb pixel format Drivers implementing the universal planes API report the list of supported pixel formats for the primary plane. Make sure the fb passed to the setcrtc ioctl is compatible. Drivers not implementing the universal planes API will have no format reported for the primary plane, skip the check in that case. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c484f02d0f02fbbfc6decc945a69aae011041a27 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 12:36:42 2015 +0000 drm: Lighten sysfs connector 'status' Since the beginning, sysfs/connector/status has done a heavyweight detection of the current connector status. But no user, such as upowerd or logind, has ever desired to initiate a probe. Move the probing into a new attribute so that existing readers get the behaviour they desire. v2: David Herrmann suggested using "echo detect > /sys/.../status" to trigger the probing, which is a fine idea. This extends that to also allow the user to apply the force detection overrides at runtime. v3: Now with airlied's email address fixed! Requires sysfs_streq() Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Alex Deucher <alexdeucher@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3461b30b3e171e16498f3d7bc59ab703aec475c8 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Mar 5 10:32:44 2015 +0100 drm/plane-helper: unexport drm_primary_helper_create_plane We shouldn't tempt driver writers into using this since it uses a default format list which is likely wrong. And when that's done we can simplify the code a bit, too. Noticed while reviewing a patch from Laurent. Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ead8610d42105a3d01f755522f11b96c60dc648f Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Mar 5 02:25:43 2015 +0200 drm: Share plane pixel format check code between legacy and atomic Both the legacy and atomic helpers need to check whether a plane supports a given pixel format. The code is currently duplicated, share it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [danvet: Slightly extend the docbook.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2a97acd6376922bb9d23b5f4421745d2a6690060 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Wed Mar 4 09:30:09 2015 +0100 drm: Fix trivial typos in comments Change 'pixes' to 'pixels' Change 'enabel' to 'enable' Change 'enabeling' to 'enabling' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6b1e3f615482f308ae74af13fae6c1d9191d2906 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Feb 27 13:11:14 2015 +0200 drm/dp: add DPCD definitions from eDP 1.4 Add a number of DPCD definitions from eDP 1.4. v2: s/DP_ALPM_LOCK_TIMEOUT_ERROR_STATUS/DP_ALPM_LOCK_TIMEOUT_ERROR/ (Sonika) Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9474675afa9fe9d1145df0acb9fc15b6ad56a9f9 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Feb 27 13:10:38 2015 +0200 drm/dp: add DPCD definitions from DP 1.1 and 1.2a Add a number of DPCD definitions from DP 1.1 and 1.2a. v2: drop wrong DP version reference, rename DP training set macros (Sonika). Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 220dd2bc43e23f72fcdf6cc6ced3107c7023f123 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 27 12:58:13 2015 +0100 drm: Fixup racy refcounting in plane_force_disable Originally it was impossible to be dropping the last refcount in this function since there was always one around still from the idr. But in 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 we've switched to weak references, broke that assumption but forgot to fix it up. Since we still force-disable planes it's only possible to hit this when racing multiple rmfb with fbdev restoring or similar evil things. As long as userspace is nice it's impossible to hit the BUG_ON. But the BUG_ON would most likely be hit from fbdev code, which usually invovles the console_lock besides all modeset locks. So very likely we'd never get the bug reports if this was hit in the wild, hence better be safe than sorry and backport. Spotted by Matt Roper while reviewing other patches. Cc: stable@xxxxxxxxxxxxxxx Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit aaed1aa540acc6dde7dbba3307c98e697763ec1a Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Thu Feb 26 13:49:18 2015 +0000 drm/i915: Rotation property is now handled in DRM core So no need to have code which never gets called in the driver. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4cda09ca5978f58866d41866bb9a92a7b631b782 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Thu Feb 26 13:49:17 2015 +0000 drm: Complete moving rotation property to core Commit 1da30627fc511a57c9bd23a02c97f0576379f761 "drm: Add rotation value to plane state" moved the rotation property to DRM core but only did the set property part. This does the get property part as well. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0e71244c1bb873f0e3be3b79d3436d7ef2601029 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Feb 25 14:46:53 2015 +0200 drm/dp: add DPCD definitions from eDP 1.2 Mostly display control related DPCD addresses. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd5da992b96bc018c3e64ffc5ac15cbe301f6440 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Feb 25 14:46:51 2015 +0200 drm/dp: indentation and ordering cleanups Keep the DPCD macros ordered by address, and make indentation conform to the rest of the file. commit e045d20bef41707dbba676e58624b54f9f39e172 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Feb 19 13:16:44 2015 +0530 drm: Adding edp1.4 specific dpcd macros Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2e3afd47ab0c1fe8742878e25ab06f10d4517e6e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Feb 26 14:17:38 2015 +0100 drm/atomic-helper: Fix kerneldoc for prepare_planes Copypaste-fail from cleanup_planes. Reported by Tvrtko. Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 844285317c90910ab6e467b358df697f70e21417 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Feb 25 17:52:05 2015 +0100 drm: Remove redundant code in the getencoder ioctl When enabling atomic state object for this ioctl in commit abd69c55dd8f1f71b33b8c6165217f4329db8f25 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Nov 25 23:50:05 2014 +0100 drm: Handle atomic state properly in kms getfoo ioctl I've forgotten to remove this hunk in one of the later revisions. drm_encoder_get_crtc already does this. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Sean Paul <seanpaul@xxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 298fe56ee2b9551ca8cd675e7a6ebaf1c03632f8 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 18:20:53 2015 +0800 phy: ti-pipe3: Remove unneeded ifdef CONFIG_OF guard and of_match_ptr if !CONFIG_OF, the probe fails. This is a dt-only driver, so the ifdef CONFIG_OF guard and of_match_ptr are not needed. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 52a4a72a1ad675b66ec241c0e33ee6e50df63a93 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 18:20:07 2015 +0800 phy: omap-usb2: Remove unneeded ifdef CONFIG_OF guard and of_match_ptr if !CONFIG_OF, the probe fails. This is a dt-only driver, so the ifdef CONFIG_OF guard and of_match_ptr are not needed. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1f9ba767d5918796c7f32724777087f321fde30d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 18:18:45 2015 +0800 phy: omap-control: Remove unneeded ifdef CONFIG_OF guard and of_match_ptr if !CONFIG_OF, the probe fails. This is a dt-only driver, so the ifdef CONFIG_OF guard and of_match_ptr are not needed. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 320c3fcec64a9e115a3d8a5d005d2fb21c15ef01 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 09:44:06 2015 +0800 phy: miphy28lp: Use PTR_ERR_OR_ZERO PTR_ERR_OR_ZERO simplifies the code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Gabriel Fernandez<gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit f8f55393b2860a2a5c97ff3b18c6ee02cef021c4 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 09:40:41 2015 +0800 phy: berlin-sata: Use devm_kcalloc at appropriate place Prefer devm_kcalloc over devm_kzalloc with multiply. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 8fd0ea395f96b1419083f850190f175d5ddd98e9 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Mar 5 09:33:38 2015 +0800 phy: xgene: Use PTR_ERR_OR_ZERO Also remove unneeded goto and rc variable. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 82ffb676c820629b7f1b62d15f6bc546f29a7025 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Mar 1 22:31:34 2015 +0800 phy: berlin-usb: Use PTR_ERR_OR_ZERO PTR_ERR_OR_ZERO simplifies the code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1d23c4518b1f3a03c278f23333149245c178d2a6 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Mar 10 07:06:25 2015 +0100 x86/fpu: Factor out memset(xstate, 0) in fpu_finit() paths fx_finit() has two users but only fpu_finit() needs to clear xstate, alloc_bootmem_align() in setup_init_fpu_buf() returns zero-filled memory. And note that both memset()'s look confusing. Yes, offsetof() is 0 for ->fxsave or ->fsave, but it would be cleaner to turn them into a single memset() which zeroes fpu->state. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Tavis Ormandy <taviso@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425967585-4725-2-git-send-email-bp@xxxxxxxxx Link: http://lkml.kernel.org/r/20150302183257.GC23085@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e7f180dcd8ab48f18b20d7e8a7e9b39192bdf8e0 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Mar 10 07:06:24 2015 +0100 x86/fpu: Change xstateregs_get()/set() to use ->xsave.i387 rather than ->fxsave This is a cosmetic change: xstateregs_get() and xstateregs_set() abuse ->fxsave to access xsave->i387.sw_reserved. This practice is correct, ->fxsave and xsave->i387 share the same memory, but IMHO this looks confusing. And we can make this code more readable if we add a "struct xsave_struct *" local variable as well. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Tavis Ormandy <taviso@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425967585-4725-1-git-send-email-bp@xxxxxxxxx Link: http://lkml.kernel.org/r/20150302183237.GB23085@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 44fb085bfa17628c6d2aaa6af6b292a8499e9cbd Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Mar 10 12:20:00 2015 +0800 sched/deadline: Add rq->clock update skip for dl task yield This patch adds rq->clock update skip for SCHED_DEADLINE task yield, to tell update_rq_clock() that we've just updated the clock, so that we don't do a microscopic update in schedule() and double the fastpath cost. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425961200-3809-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 59e33c2b021322db92ca27c4d9958e57630443b6 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 9 15:44:13 2015 -0700 net: phy: bcm7xxx: add alternate id for 7439 BCM7439 has an alternate PHY OUI: 0xae025080 which is to be found in some variants of this chip. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8f2147150de303e814c0452075d467734d3544b Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Mon Mar 9 13:59:09 2015 -0700 switchdev: add netlink flags to IPv4 FIB add op Pass in the netlink flags (NLM_F_*) into switchdev driver for IPv4 FIB add op to allow driver to 1) optimize hardware updates, 2) handle ip route prepend and append commands correctly. Suggested-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Suggested-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf0b211256be342e92d3ee5c5a1fb8d42f3928bb Merge: 3cef5c5 769a020 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 9 23:50:26 2015 -0400 Merge branch 'dsa-next' Florian Fainelli says: ==================== net: dsa: remove restriction on platform_device This patch series removes the restriction in DSA to operate exclusively with platform_device Ethernet MAC drivers when using Device Tree. This basically allows arbitrary Ethernet MAC drivers to be used now in conjunction with Device Tree. The reason was that DSA was using a of_find_device_by_node() which limits the device_node to device pointer search exclusively to platform_device, in our case, we are interested in doing a "class" research and lookup the net_device. Thanks to Chris Packham for testing this on his platform. Changes in v2: - fix build for !CONFIG_OF_NET ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 769a020289bc8f68b7e48faf8fee970346d71a3b Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 9 14:31:21 2015 -0700 net: dsa: utilize of_find_net_device_by_node Using of_find_device_by_node() restricts the search to platform_device that match the specified device_node pointer. This is not even remotely true for network devices backed by a pci_device for instance. of_find_net_device_by_node() allows us to do a more thorough lookup to find the struct net_device corresponding to a particular device_node pointer. For symetry with the non-OF code path, we hold the net_device pointer in dsa_probe() just like what dev_to_net_dev() does when we call this function. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa836df958886e57ff0d43fb3d79d1af4aec0cc8 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Mar 9 14:31:20 2015 -0700 net: core: add of_find_net_device_by_node() Add a helper function which allows getting the struct net_device pointer associated with a given struct device_node pointer. This is useful for instance for DSA Ethernet devices not backed by a platform_device, but a PCI device. Since we need to access net_class which is not accessible outside of net/core/net-sysfs.c, this helper function is also added here and gated with CONFIG_OF_NET. Network devices initialized with SET_NETDEV_DEV() are also taken into account by checking for dev->parent first and then falling back to checking the device pointer within struct net_device. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3cef5c5b0b56f3f90b0e9ff8d3f8dc57f464cc14 Merge: 8ac467e affb817 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 9 23:38:02 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/cadence/macb.c Overlapping changes in macb driver, mostly fixes and cleanups in 'net' overlapping with the integration of at91_ether into macb in 'net-next'. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cdfdef75e795fb5ab76c66f3329e509f3ab8b9b5 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:19 2015 +1030 cpumask: only allocate nr_cpumask_bits. Now we'll find out the hard way if anyone has CPUMASK_OFFSTACK and is returning these or assigning them. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit c8ed00107b60b4a890798677d75e5c2910f393bb Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:19 2015 +1030 Fix weird uses of num_online_cpus(). This may be OK in archs with contiguous CPU numbers and without hotplug CPUs, but it sets a terrible example. And open-coding it like drivers/scsi/hpsa.c is just weird. BTRFS has a weird comparison with num_online_cpus() too, but since BTRFS just screwed up my test machines' root partition, I'm not touching it :) Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Reported-by: Oleg Drokin <green@xxxxxxxxxxxxxx> commit 2f0f267ea0720ec6adbe9cf7386450425fac8258 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:19 2015 +1030 cpumask: remove deprecated functions. Using these functions with offstack cpus is unsafe. They use all NR_CPUS bits, unstead of nr_cpumask_bits. In particular, lustre (in staging) used cpus_ and that caused a bug. Reported-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 1ed1835f5fadf057ab081cbe31ac353d4547a25b Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Mar 10 13:00:43 2015 +1030 mips: fix obsolete cpumask_of_cpu usage. Plus, it's weird. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit fdaf3a6539d6b9b6a7240c3b00bd81c813b2760d Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Mar 10 12:43:45 2015 +1030 x86: fix more deprecated cpu function usage. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6a4bd8d1412a6cd72b65d7c86a2c08e9ec1d6b97 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Mar 10 12:42:03 2015 +1030 ia64: remove deprecated cpus_ usage. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 87313df7b47c5048d8920a486f77835a49406754 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Mar 10 12:28:29 2015 +1030 powerpc: fix deprecated CPU_MASK_CPU0 usage. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 8ac467e837a24eb024177b4b01013d8e6764913a Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Mar 9 13:40:00 2015 -0700 net: bcmgenet: core changes for supporting multiple Rx queues 1. Add struct bcmgenet_rx_ring to hold all necessary information for a single Rx queue. 2. Add bcmgenet_init_rx_queues() to initialize all Rx queues. 3. Modify bcmgenet_init_rx_ring() to initialize a single Rx queue. 4. Modify Rx interrupt path code to use per-queue data. 5. Modify bcmgenet_rx_refill() to use RxCB->bd_addr. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6ad395bad57dcd15c6423715d15d91363a62ae8 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 08:14:24 2015 -0800 Documentation: leds: Add description of LED Flash class extension The documentation being added contains overall description of the LED Flash Class and the related sysfs attributes. 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 9c4a8e138cfe2cc7262d5d2224162add5632b546 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 08:14:23 2015 -0800 leds: flash: document sysfs interface Add a documentation of LED Flash class specific sysfs attributes. 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 94fdec768dc72a6993479f59a17daa413f30029e Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Mar 4 08:14:22 2015 -0800 leds: flash: Remove synchronized flash strobe feature Synchronized flash strobe feature has been considered not fitting for LED subsystem sysfs interface and thus is being removed. 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 f13b2065de8147a1652b830ea5db961cf80c09df Author: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Date: Mon Mar 9 17:03:07 2015 -0700 Input: i8042 - allow KBD and AUX ports to wake up from suspend-to-idle While registering serio device for i8042, mark them as wakeup-capable and check their user space wakeup settings in i8042_pm_suspend() and i8042_pm_resume() to enable or disable, respectively, their interrupts to wake up the system. This makes it possible to use the PC keyboard to wake up the system from suspend-to-idle, among other things, after writing "enabled" to the keyboard serio device's power/wakeup sysfs attribute. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7b1a13228b321ea27bd53070bcd332417069ace8 Author: Nan Li <nli@xxxxxxxx> Date: Wed Mar 4 18:48:35 2015 +0800 ACPI / sysfs: Treat the count field of counter_show() as unsigned The count field is an unsigned 32bit value, and the counter_show() function should also treat it as a unsigned value. Otherwise the counter may show negative number as we found on a machine: ... gpe23: 0 invalid gpe24: -2071733 enabled gpe25: 0 invalid ... gpe_all: -2070980 sci: -2070949 Signed-off-by: Nan Li <nli@xxxxxxxx> Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 770970f0b40a7c303765f0593acd4ceeb54831f7 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Fri Feb 27 14:48:24 2015 +0800 ACPI / EC: Add GPE reference counting debugging messages. This patch enhances debugging with the GPE reference count messages added. This kind of log entries can be used by the platform validators to validate if there is an EC transaction broken because of firmware/driver bugs. No functional changes. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3535a3c126651616a111491726c241e801fd9418 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Fri Feb 27 14:48:15 2015 +0800 ACPI / EC: Cleanup logging/debugging splitter support. This patch refines logging/debugging splitter support so that when DEBUG is disabled, splitters won't be visible in the kernel logs while they are still available for developers when DEBUG is enabled. This patch also refines the splitters to mark the following handling process boundaries: +++++: boundary of driver starting/stopping boundary of IRQ storming =====: boundary of transaction advancement *****: boundary of EC command boundary of EC query #####: boundary of EC _Qxx evaluation The following 2 log entries are originally logged using pr_info() in order to be used as the boot/suspend/resume log entries for the EC device, this patch also restores them to pr_info() logging level: ACPI : EC: EC started ACPI : EC: EC stopped In this patch, one log entry around "Polling quirk" is converted into ec_dbg_raw() which doesn't contain the boundary marker. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3a656b54c8433ada6dd7ee6227854c48682d5e4d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Mar 9 21:08:37 2015 +0200 drm/i915: Fix struct_mutex deadlock due to merge fumble commit a8c6ecb3be7029881f7c95e5e201a629094a4e1a Merge: 8dd0eb35 9eccca0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 9 19:58:30 2015 +1000 Merge tag 'v4.0-rc3' into drm-next managed to pick the wrong code to resolve the conflict and left us with a mutex_lock(struct_mutex) without the mutex_unlock(struct_mutex) leading to a deadlock. Fix the problem by recovering the correct code which doesn't need the lock. Cc: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ca1bb4ee4c3a017bb66840d11d5efdf4e8f3f66d Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Feb 23 16:11:41 2015 -0800 leds: Introduce devres helper for led_classdev_register (cooloney@xxxxxxxxx: add _unregister function into the document) Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 115403df818abf1e84c3554b14c8e0f8746bf3a6 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Mon Mar 9 14:44:13 2015 -0400 tipc: Add Ying Xue to TIPC maintainers list We remove Allan Stephens, who has moved on to other tasks, from the TIPC maintainers list. He is replaced by Ying Xue, who has been doing the maintenance on behalf of WindRiver since almost three years. Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Allan Stephens <allan.stephens@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ddb3b6033ca68d71a5f0611b58b2642729342245 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 9 13:14:37 2015 -0500 net: Remove protocol from struct dst_ops After my change to neigh_hh_init to obtain the protocol from the neigh_table there are no more users of protocol in struct dst_ops. Remove the protocol field from dst_ops and all of it's initializers. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13259db53ff42c9033d749e01e7d6d3c4859dfd9 Merge: 5428aef b29e13b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 9 16:04:53 2015 -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 2015-03-09 This series contains updates to i40e and i40evf. Greg cleans up some "hello world" strings which were left around from early development. Shannon modifies the drive to make sure the sizeof() calls are taking the size of the actual struct that we care about. Also updates the NVMUpdate read/write so that it is less noisy when logging. This was because the NVMUpdate tool does not necessarily know the ReadOnly map of the current NVM image, and must try reading and writing words that may be protected. This generates an error out of the Firmware request that the driver logs. Unfortunately, this ended up spitting out hundreds of bogus read/write error messages. If a user wants the noisy logging, the change can be overridden by enabling the NVM update debugging. Mitch fixes a possible deadlock issue where if a reset occurred when the netdev is closed, the reset task will hang in napi_disable. Added ethtool RSS support as suggested by Ben Hutchings. Jesse fixes a bug introduced in the force writeback code, where the interrupt rate was set to 0 (maximum) by accident. The driver must correctly set the NOITR fields to avoid IT update as a side effect of triggering the software interrupt. I provided a simple cleanup to make the use of PF/VF consistent, which was reported by Joe Perches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5428aef81157768f1052b116e0cc8abf88ff3e36 Merge: 26c459a e5de75b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 9 15:58:21 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for your net-next tree. Basically, improvements for the packet rejection infrastructure, deprecation of CLUSTERIP, cleanups for nf_tables and some untangling for br_netfilter. More specifically they are: 1) Send packet to reset flow if checksum is valid, from Florian Westphal. 2) Fix nf_tables reject bridge from the input chain, also from Florian. 3) Deprecate the CLUSTERIP target, the cluster match supersedes it in functionality and it's known to have problems. 4) A couple of cleanups for nf_tables rule tracing infrastructure, from Patrick McHardy. 5) Another cleanup to place transaction declarations at the bottom of nf_tables.h, also from Patrick. 6) Consolidate Kconfig dependencies wrt. NF_TABLES. 7) Limit table names to 32 bytes in nf_tables. 8) mac header copying in bridge netfilter is already required when calling ip_fragment(), from Florian Westphal. 9) move nf_bridge_update_protocol() to br_netfilter.c, also from Florian. 10) Small refactor in br_netfilter in the transmission path, again from Florian. 11) Move br_nf_pre_routing_finish_bridge_slow() to br_netfilter. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26c459a8072f2bb0680081205376e1371c114b12 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 9 12:54:48 2015 +0100 mpls: Spelling: s/conceved/conceived/, s/as/a/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 208d51154c8d7f2c3808b4401132233c5ab21572 Author: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Date: Wed Feb 25 15:15:23 2015 +0100 checkkconfigsymbols.py: filter reports for tools/ Recent changes to the build system of tools suggest to filter reports for the entire tools directory. Various C preprocessor identifiers are prefixed with CONFIG_ but are NOT defined in Kconfig but in Makefiles in the tools directory. Such identifiers are false positives for most static analysis tools (i.e., scripts/checkkconfigsymbols.py) since the CONFIG_ prefix and the _MODULE suffix is reserved for Kconfig features in CPP and Make syntax. Signed-off-by: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 143fe22f50a8be855bba77b5b2dc9dd1a5982b1c Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Mon Mar 9 10:43:42 2015 +0100 tipc: fix inconsistent signal handling regression Commit 9bbb4ecc6819 ("tipc: standardize recvmsg routine") changed the sleep/wakeup behaviour for sockets entering recv() or accept(). In this process the order of reporting -EAGAIN/-EINTR was reversed. This caused problems with wrong errno being reported back if the timeout expires. The same problem happens if the socket is nonblocking and recv()/accept() is called when the process have pending signals. If there is no pending data read or connections to accept, -EINTR will be returned instead of -EAGAIN. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reported-by László Benedek <laszlo.benedek@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57ad7a0a81f3e9e619540ce9e31d5bd724b59a6e Merge: f4427bc aa5e183 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 9 15:38:35 2015 -0400 Merge tag 'iwlwifi-next-for-kalle-2015-03-07' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next fix compilation when DEBUGFS isn't set Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4427bc3e2735831fdf66f091429ec328feda246 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Mon Mar 9 10:26:24 2015 +0100 switchdev: use gpl variant of symbol export Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4fee6be8134a69545caf88d8b439936a326d6d77 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Mon Mar 9 10:19:31 2015 +0100 tipc: sparse: fix htons conversion warnings Commit d0f91938bede ("tipc: add ip/udp media type") introduced some new sparse warnings. Clean them up. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e052be69d045c8d0f82ff1116fd3e5a79661745 Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Date: Fri Mar 6 11:47:59 2015 -0800 net_sched: destroy proto tp when all filters are gone Kernel automatically creates a tp for each (kind, protocol, priority) tuple, which has handle 0, when we add a new filter, but it still is left there after we remove our own, unless we don't specify the handle (literally means all the filters under the tuple). For example this one is left: # tc filter show dev eth0 filter parent 8001: protocol arp pref 49152 basic The user-space is hard to clean up these for kernel because filters like u32 are organized in a complex way. So kernel is responsible to remove it after all filters are gone. Each type of filter has its own way to store the filters, so each type has to provide its way to check if all filters are gone. Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim<jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2306509605d3cb45b8480089af2d282600650e9e Author: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 17:46:32 2015 -0600 spi: dw-spi: Single Register read to clear IRQs Instead of clearing the RxU, RxO, and TxO IRQs individually with 3 register reads, a single read of the ICR register will do the same thing. Signed-off-by: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ae6e808f15742fcbc0097ac2fb3055d553266965 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:35:31 2015 -0800 regulator: Drop temporary regulator_set_optimum_mode wrapper Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa53e351e81259644717b381e095eaf9173c9ca8 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:35:30 2015 -0800 usb: phy: phy-msm-usb: Rename regulator_set_optimum_mode The function regulator_set_optimum_mode() is changing name to regulator_set_load(), so update the code accordingly. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1d61a6948121d73e897df0f96a0fd8aa3b3b1ac9 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:35:29 2015 -0800 usb: phy: ab8500-usb: Rename regulator_set_optimum_mode The function regulator_set_optimum_mode() is changing name to regulator_set_load(), so update the code accordingly. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7b16a07c32935ea7f59f4408b7c9200d9cd0cced Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:35:28 2015 -0800 ufs: Rename of regulator_set_optimum_mode The function regulator_set_optimum_mode() is changing name to regulator_set_load(), so update the code accordingly. Also cleaned up ufshcd_config_vreg_load() while touching the code. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e39ce48f5362df9f87400b4909a6fb0f51b109ac Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:35:27 2015 -0800 regulator: Rename regulator_set_optimum_mode Rename the regulator_set_optimum_mode() function regulator_set_load() to better represent what's going on. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f580f8afd0d81c3f04d8b393c9d675ef289e4d40 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 11:18:14 2015 -0700 ASoC: tlv320aic23: remove incorrect __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 32556394501a27c02e7185c4d11a51b636b02f4b Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Mar 9 11:15:28 2015 -0700 ASoC: cx20442: remove incorerct __exit markups Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 78bb997ace926451ec8d1ed15178b161dc61b805 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 8 07:06:05 2015 -0400 ASoC: wm2200: match wait_for_completion_timeout return type return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 905a808664402dec0ac11376833e79da4ae7b2fd Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 8 06:57:07 2015 -0400 ASoC: wm5100: match wait_for_completion_timeout return type return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 17f4ad601d2753be7f15cd2928e89309759e4936 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 8 09:16:49 2015 -0400 ASoC: arizona: match wait_for_completion_timeout return type return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 159366ea38706402e8ebd0f55eef52931333deac Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 8 06:02:38 2015 -0400 ASoC: wm8996: ensure lower bounds of 1 for timeout wait_for_completion_timeout can be called with timeout == 0 due to msecs_to_jiffies(2) == 1 for HZ < 1000 and usecs_to_jiffies(300) == 1 for all reasonable values of HZ, thus the following timeout /= 2; sets timeout to 0. This patch simply adds a lower-bounds of 1. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 62c76fe2e580f6a975679e8711bade09e24c204b Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Mar 8 06:02:15 2015 -0400 ASoC: wm8996: match wait_for_completion_timeout return type return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignment fixed up in case of completion occurring the remaining time is >=1 so ret is set to 1 if no timeout occurred. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 485372dc24ca2eaac18ce41a51b9dd017bc11400 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Mar 9 16:55:23 2015 +0800 ASoC: rt5670: Check sysclk source by private data Currently, is_sys_clk_from_pll check sysclk source by reading codec register value. And it will be invoked before updating dapm widget power. In some machine driver, snd_soc_dai_set_sysclk is called in dapm event to switch codec sysclk to RC clock in idle mode. And in some use cases (such as syspend/resume) hw_params will not be called when the dapm widget is powered up. As a result, is_sys_clk_from_pll will return 0 although it is supposed to be 1. To solve this, we let is_sys_clk_from_pll check sysclk sysclk_src which is stored in private data and don't change the value of sysclk_src when codec sysclk is switched to internal clock. The internal clock can only be used in idle mode, so it sould be fine if we don't set sysclk_src to internal clock. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bd22f9d405eb14cc074d294919d0b909e0bc6170 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Mar 9 16:55:22 2015 +0800 ASoC: rt5670: Revert Keep sysclk on patch The "Keep sysclk on if JD func is used" patch force enable/disable pin in rt5670_set_dai_sysclk. But some machine driver call it in dapm widget event. It will cause kernel crash. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d744f82683e8cc8b49ca8f329a289c6692a9fb06 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:50 2015 +0200 spi: dw-mid: convert to use dw_dmac instead of intel_mid_dma intel_mid_dma seems to be unmaintained for a long time. Moreover, the IP block of DMA itself is the same in both dw_dmac and intel_mid_dma. This patch moves spi-dw-midpci to use dw_dmac driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f89a6d8f43ebe9508bb5492c846ad997ad50eafe Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:49 2015 +0200 spi: dw-mid: move to use core SPI DMA mappings SPI core has a comprehensive function set to map and unmap a message when it's needed. This patch converts driver to use that advantage. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d5ac1edfdd79aea31983333cb53dd5db29559f9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:48 2015 +0200 spi: dw-mid: clear ongoing DMA transfers on timeout This patch shuts up any ongoing DMA transfer in case of error. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f051fc8f117d95baaa3654d40e779c56c2c6d180 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:47 2015 +0200 spi: dw-mid: take care of FIFO overrun/underrun when do DMA In according to documentation SPI in DMA mode may encounter underrun/overrun failures in rare cases. When such failure occurs, an error recovery protocol is expected to be implemented in the device driver so that the failed transaction can be restarted. This patch enables FIFO overrun / underrun interrupts in DMA case and adds a handler for that. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9f14538ecd1a210eff244a0a2281f6744fe4a59d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:46 2015 +0200 spi: dw-mid: split dma_setup() from dma_transfer() The patch splits DMA preparatory code to dma_setup() callback. The change also converts transfer_one() to program DMA whenever the transfer is DMA mapped. The change is a follow up of the converion to use SPI core transfer_one_message(). Since the DMA mapped transfers can be interleaved with PIO ones the DMA related configuration should respect that. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e31abce778bc05b94d406e8cbebd9953d12e84b8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 9 16:48:45 2015 +0200 spi: dw-mid: convert value of dma_width to enum dma_slave_buswidth DMAEngine has a specific type to be used for bus width. This patch converts the code to use the values of the specific type when configure DMA transfer. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0365fbd4bbc0b8f3fd3c78c16a8020ea83b3afcf Merge: c22c62d 854d2f2 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Mar 9 18:11:06 2015 +0000 Merge branch 'fix/dw' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-dw commit 967beb2e87771411e08467152e3d9f1c3ae73a67 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Mon Mar 9 12:11:08 2015 +0000 ASoC: jz4740: Add jz4780 support The jz4780 and jz4740 have very similar i2s blocks. The slight difference is in Rx/Tx fifos. And the bitclocks for input/output are different. This patch adds jz4780 support to the driver Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38b6484e5b7be96ec93ec2c29b752b7d9540e9d4 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Mar 9 09:46:15 2015 +0100 spi: cadence: Remove Kconfig dependency Remove Kconfig dependency and enable driver for all ARCHs. Also update help description. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b29e13bb9198d2a79ab3370eb1d3ed69a05de61f Author: Mitch A Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Mar 5 04:14:40 2015 +0000 i40e: add ethtool RSS support Add support for setting the RSS hash table and hash key through ethtool. This patch incorporates suggestions from Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx>. Reported-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ec7a06fd6d6822db287e59d67362b2207cf42ca9 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Feb 27 09:18:37 2015 +0000 i40e/i40evf: Bump i40e/i40evf version Bump PF version to 1.2.37 and VF version to 1.2.25 Change-ID: I0287a750408250dc055c03e1f744fd5f0caefd68 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2ddb80c9c4b1810feb214ed38400ac68e167c369 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:18:36 2015 +0000 i40e: add MAC printing to debugfs dump VSI Print the LAN, SAN, and Port MACs for the VSI if debugfs command dump VSI is used on the PF's VSI. Example output: [260221.871244] i40e 0000:04:00.0: MAC address: 68:05:ca:26:15:e0 SAN MAC: 00:00:00:00:02:00 Port MAC: 68:05:ca:26:15:e3 Change-ID: I0b393113dfb5ee7ff4f9e5227e4177885f0cc15e Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 878ce05894284d3eb683e7d249d09c796c02d73b Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Date: Fri Mar 6 21:26:56 2015 +0200 gpio: omap: irq_shutdown: remove unnecessary call of gpiochip_unlock_as_irq GPIOLib core implemnts irqchip->irq_request/release_resources callbacks internally and these callbacks already contain clalls of gpiochip_lock/unlock_as_irq(). Hence, remove unnecessary call of gpiochip_unlock_as_irq() from omap_gpio_irq_shutdown(). Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3fca6a2f4623122f5f4d79a2c0d4642ff30b6654 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Feb 26 10:49:27 2015 +0200 tools: iio: lsiio: Remove unused variables This patch removes unused variables from lsiio.c in order to get rid of the warnings regarding them. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 976d9ab112bdef7b25827f576b33068704df78ee Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Feb 26 10:49:26 2015 +0200 tools: iio: Define _GNU_SOURCE in Makefile Definition of _GNU_SOURCE is needed to get rid of some warnings, such as: warning: implicit declaration of function `asprintf'. generic_buffer.c and iio_event_monitor.c define _GNU_SOURCE, but it is also needed in lsiio.c and iio_utils.c. For this reason, this patch adds the definition in Makefile and removes it from where it already exists. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 817020cfb3a2649064a1e14e083934234e2c208d Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Feb 26 10:49:25 2015 +0200 iio: Move iio userspace applications out of staging This patch moves iio userspace applications out of staging, to tools/iio/ and adds a Makefile in order to compile them easily. It also adds tools/iio/ to MAINTAINERS file. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bdcb31d048074d82ed7c50ed45f737d7637f1224 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Feb 26 10:49:24 2015 +0200 staging: iio: Documentation: Introduce iio_utils.c This patch removes inline functions from iio_utils.h in order to clean the code. iio_utils.c contains the implementation of the functions used by iio_event_monitor.c, lsiio.c or generic_buffer.c and iio_utils.h contains the declarations of these functions. Since iio_utils.h is modified, generic_buffer.c and iio_event_monitor.c must include stdlib.h. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 95763859c0205417cf94966f87c3839e54a8005d Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Feb 26 10:49:23 2015 +0200 staging: iio: Documentation: iio_event_monitor: Include linux/iio/types.h By adding this line and installing the kernel headers with make headers_install, iio_event_monitor can be compiled without any hacks. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 407f5e392f9c5b9c16178c5e6b2112234fdf9fad Author: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Date: Wed Mar 4 12:41:57 2015 +0200 pinctrl: qcom: handle input-enable pinconf property This enables support of 'input-enable' pinconf generic property in the pinctrl driver. Signed-off-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 38d756af7202c7cb1fde0c132076b0a6acd0d9d7 Author: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Date: Wed Mar 4 12:41:56 2015 +0200 pinctrl: qcom: enable generic pinconf This makes the pinctrl driver to use the generic pinconf interface. Mainly it gives us a way to use debugfs to dump group configurations. Signed-off-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 11131ba435252cae6099c04417bcf83997ec3241 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Mar 2 19:28:45 2015 +0200 pinctrl: at91: simplify probe error handling There is no code ender the 'err' label. Just return the error code directly. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Reviewed-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 939417bd8b909ae34a3b2106531594f5115eaea5 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Mar 2 16:55:02 2015 +0200 pinctrl: remove maxpin from documentation struct pinctrl_desc does not contain the maxpin member since commit 0d2006bbf0 (pinctrl: remove unnecessary max pin number). Fixes: 0d2006bbf0 ('pinctrl: remove unnecessary max pin number') Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 28b30c306a530ad327b6d1fa0116240d49ac7839 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Sat Feb 28 20:46:24 2015 +0000 pinctrl: sirf: fix typo in kernel warning on a bad interrupt Fix typo, "flaged" -> "flagged" Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9184f756908ace8213099f21870b07491a7138a9 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Feb 24 14:00:51 2015 -0700 pinctrl: tegra: add a driver for Tegra210 Tegra210's pinmux supports a different set of pins/options than earlier SoCs, so requires its own driver (well, table of pin-specific data). Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Tested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ec654e50c67ad4ba89c9f9f81ccf6f061695e36d Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Feb 24 14:00:50 2015 -0700 pinctrl: tegra: support nvidia,io-hv DT property Both nvidia,io-hv and nvidia,rcv-sel represent the fact that a particular pin's IO buffers are configured to accept "high voltage" input signals. The TRM for different chips names the register field rcv-sel on older SoCs and io_hv on newer SoCs. Add the new naming option into the pinctrl driver so that DT files can use naming consistent with the TRM. This new property name will be documented in the patch that adds support for the new SoC. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Tested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ea623061930ccf6d37b4a09a4e65a26fcf552c22 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Feb 24 14:00:49 2015 -0700 pinctrl: tegra: some bits move between registers Some of the pinmux configuration bits that exist in "drive group" registers in Tegra30..Tegra124 move to the "pinmux" registers on future chips. Add a flag to support this. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Tested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8d4684b39b5865ef5471a256adfcd8d7c3e18d43 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Feb 24 14:00:48 2015 -0700 pinctrl: tegra: driver layout/consistency fixes Various non-semantic tweaks and layout/consistency fixes for existing Tegra pinctrl drivers. Move the definition of DRV_PINGROUP_REG() before the definition of PINGROUP() so that a future SoC driver can invoke the former from the latter. PINGROUP_BIT_Y(n) is just n, so replace it with n. Re-wrap the parameters to *PINGROUP(). Keep various enums sorted in the Tegra124 driver. Various white-space consistency fixes. These changes aim to update existing drivers to be consistent with future SoC drivers. While we could ignore these tweaks to the existing drivers, I'd like to keep everything as consistent as possible for easy comparison. Besides, I auto-generate the drivers, and maintaining special-cases to keep the differences in place is annoying. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Tested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b5eec4d061cad4a084c05c7dadd6884fd5fe0df9 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Sun Feb 22 19:55:47 2015 +0200 pinctrl: lantiq: fix include guard #endif comment Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit af033612351b1850492ed7edbdbab4f9a869266f Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:06 2015 +0100 devicetree: bindings: add Device Tree bindings for Armada 39x pin-muxing controller This commit adds the Device Tree binding documentation to describe the pin-muxing controller of the Marvell Armada 39x processors. Two variants are supported for the moment: the 88F6920 (Armada 390) and 88F6928 (Armada 398). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ace16867fa2b312b8a4a6f4ac5506dfbd791be34 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Tue Feb 3 16:11:59 2015 +0530 pinctrl: freescale: make of_device_id array const Make of_device_id array const. Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 05c5f265c6f72750d2a60f75ff3cfefe47379210 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Feb 27 18:38:02 2015 +0100 pinctrl: sh-pfc: Do not overwrite bias configuration After the last user of the in_pd/in_pu bias parameters of the _PCRH() macro was removed in commit 80da8e02d22caaef ("sh-pfc: r8a7740: Add bias (pull-up/down) pinconf support"), bias parameters are supposed to be configured using the generic pinctl mechanism, which calls the .set_bias() method. However, the PORTCR() macro still represents the control register as consisting of two 4-bit fields. Hence the bias configuration in the uppermost 2 bits is always overwritten with zeroes when a pin is configured for GPIO, disabling any previously configured bias. Use the variable config register macro instead, to represent the register as having 4 fields, and to make sure only the input/output control and function fields are touched. This affects R-Mobile APE6 (r8a73a4), R-Mobile A1 (r8a7740), SH-Mobile AP4 (sh7372), and SH-Mobile AG5 (sh73a0). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit eaef1279fa349db0cbec953e745d91db019a729e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 18:01:41 2015 +0200 pinctrl: sh-pfc: Remove r8a7791 platform_device_id entry The r8a7791 platform is now DT-only, the driver doesn't need to match platform devices by name anymore. Remove the corresponding platform_device_id entry. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 18fd303fea21c98b0b72534e6db47e80d12bf311 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Thu Mar 5 15:27:34 2015 -0800 hwmon: (pwm-fan) Fix build when THERMAL=m Fix build errors when CONFIG_THERMAL=m and SENSORS_PWM_FAN=y by restricting SENSORS_PWM_FAN to 'm' when THERMAL=m. drivers/built-in.o: In function `pwm_fan_remove': pwm-fan.c:(.text+0x22ba58): undefined reference to `thermal_cooling_device_unregister' drivers/built-in.o: In function `pwm_fan_probe': pwm-fan.c:(.text+0x22bebb): undefined reference to `thermal_of_cooling_device_register' pwm-fan.c:(.text+0x22bf11): undefined reference to `thermal_cdev_update' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit de52b049d6d5af635d628d17fcb466d53a9617af Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Mar 4 09:51:05 2015 -0800 hwmon: (pwm-fan) Declare pwm_fan_of_get_cooling_data static Address the following sparse warnings. drivers/hwmon/pwm-fan.c:176:5: warning: symbol 'pwm_fan_of_get_cooling_data' was not declared. Should it be static? drivers/hwmon/pwm-fan.c:176:5: warning: no previous prototype for 'pwm_fan_of_get_cooling_data' pwm_fan_of_get_cooling_data is only used in the pwm-fan driver and thus should be declared static. Cc: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit b5cf88e46badea6d600d8515edea23814e03444d Author: Nishanth Menon <nm@xxxxxx> Date: Thu Jan 8 12:05:03 2015 -0600 (gpio-fan): Add thermal control hooks Allow gpio-fan to be used as thermal cooling device for platforms that use GPIO maps to control fans. As part of this change, we make the shutdown and remove logic the same as well. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit b6bddec01932b94a20b6a7bbb7ed9d98e82ec162 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Thu Feb 26 14:59:37 2015 +0100 hwmon: (pwm-fan) Add support for using PWM FAN as a cooling device The PWM FAN device can now be used as a thermal cooling device. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2e5219c77183be47eb9ae4b1a4195e008d196c73 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Thu Feb 26 14:59:36 2015 +0100 hwmon: (pwm-fan) Read PWM FAN configuration from device tree This patch provides code for reading PWM FAN configuration data via device tree. The pwm-fan can work with full speed when configuration is not provided. However, errors are propagated when wrong DT bindings are found. Additionally the struct pwm_fan_ctx has been extended. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit cb85ca332f4d72ca68464c55f63af0387f6bbdb1 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Thu Feb 26 14:59:35 2015 +0100 hwmon: (pwm-fan) Extract __set_pwm() function to only modify PWM duty cycle It was necessary to decouple code handling writing to sysfs from the one responsible for setting PWM of the fan. Due to that, new __set_pwm() method was extracted, which is responsible for only setting new PWM duty cycle. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 73ef85f42da2df8b567fea109c67ed53db937bcc Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Wed Feb 25 18:58:19 2015 +0100 hwmon: (gpio-fan) allow to use alarm support alone from DT On some boards, such as the LaCie 2Big Network v2 or 2Big NAS (based on Marvell Kirkwood SoCs), an I2C fan controller is used but the alarm signal is wired to a separate GPIO. Unfortunately, the gpio-fan driver can't be used to handle GPIO alarm alone from DT: an error is returned if the "gpios" DT property is missing. This patch allows to use the gpio-fan driver even if the "alarm-gpios" DT property is defined alone. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 6552f327cab8eb6c773ba4f702cf6a371d1dc467 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 27 08:23:37 2015 -0800 hwmon: (nct7904) Strengthen detect function The bank register has five unused bits. Verify that those bits are zero to strengthen the detect function. Cc: Vadim V. Vlasov <vvlasov@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> commit 9c947d25c96ec93485d60f7b783403d518c1418d Author: Vadim V. Vlasov <vvlasov@xxxxxxxxxxxxx> Date: Fri Feb 27 16:16:00 2015 +0300 hwmon: Add Nuvoton NCT7904 hwmon driver The NCT7904D is a hardware monitor supporting up to 20 voltage sensors, internal temperature sensor, Intel PECI and AMD SB-TSI CPU temperature interface, up to 12 fan tachometer inputs, up to 4 fan control channels with SmartFan. Signed-off-by: Vadim V. Vlasov <vvlasov@xxxxxxxxxxxxx> [Guenter Roeck: Fixed whitespace errors, dropped redundant comment] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e8433b42b60e799d55eb2476dc6cb3668c740063 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 13 14:10:46 2015 -0800 hwmon: (it87) No need to skip fan4 for IT8603 IT8603 only supports three fans, so it is not necessary to skip fan4. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit a0c1424acb16326d9b741be8db7a3e776fc28b19 Author: Thomas Lorblanches <zlika_ese@xxxxxxxxxxx> Date: Fri Feb 13 13:19:06 2015 +0100 hwmon: (it87) Add support for IT8786E IT8786E is mostly compatible with IT8771 / IT8772. Parameters determined by testing various combinations. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Thomas Lorblanches <zlika_ese@xxxxxxxxxxx> [Guenter Roeck: merged from github, addressed review comments] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 32dd7c409d52655c4ab68be8e0cdd0985c3fa138 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Feb 12 07:40:23 2015 -0800 hwmon: (it87) Add feature flag for VID support Newer chips don't typically support VID inputs or control. Add a feature flag for VID support to simplify adding support for new chips. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9faf28ca4beb24cd5a01f38c5655f5ae92d834ba Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Feb 12 07:11:38 2015 -0800 hwmon: (it87) Add feature flags for fans count and 16-bit fan configuration Fans 4-5 are not supported on all chips and revisions. Also, 16-bit fan counters are always enabled on some chips. Provide feature flags to simplify adding support for new chips. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit fd044868e8056720b52d41bb61da0fbf7f04fd50 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Feb 24 06:32:40 2015 -0800 hwmon: (it87) Don't configure 16 bit fan counters it not necessary On IT8728F, IT8771E, and IT8772E, fans counters are always 16 bit and don't need to be configured for it. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 0ea2f1db8e6888029b781bbaf68547e2e0996402 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Feb 1 17:20:38 2015 -0800 hwmon: (jc42) Add support for additional IDT temperature sensors TS3000GB0 has a new device ID (0x2913). Since IDT's datasheets suggest that the upper 8 bit of the device ID reflect the chip ID and the lower 8 bit reflect the version number, modify the code to accept all chips with ID 0x29xx. Also add support for TS3001 and TSE2004. Some of the datasheets for older chips are no longer available from the IDT web site, so replace explicit links in the documentation with a generic note. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 7bc32d298b0b597a0a8a6527c9929fac68524d4a Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Jan 17 14:10:24 2015 -0800 hwmon: (it87) Add support for IT8781F IT8781F is mostly compatible to IT8782F. Major difference is that it only supports four instead of six UART channels, and therefore does not share the uart6 pins. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit a0fc74d42d2215496302a0e2c03e9f2db30cc1b7 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 15:15:17 2015 +0100 hwmon: (ibmpex) Allow format string checking The only difference between the three power_sensor_name_templates is whether there is a suffix of "", "_lowest" or "_highest". We might as well pull those into an array and use a literal format string, allowing gcc to do type checking of the arguments to sprintf. Incidentially, the same three suffixes are used in the temp_sensor_name_templates case, so we end up eliminating one static array. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> [Guenter Roeck: Fixed line length over 80 characters] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 1055b5f90424056432430fa06f94f1d12db07fba Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 15:15:16 2015 +0100 hwmon: (coretemp) Allow format checking By extracting the only part that differs we can allow static checking of the format string, and possibly save a little .rodata. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> [Guenter Roeck: continuation line alignment] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e5de75bf88858f5b3ab11e2504b86ec059f03102 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Mar 9 12:30:12 2015 +0100 netfilter: bridge: move DNAT helper to br_netfilter Only one caller, there is no need to keep this in a header. Move it to br_netfilter.c where this belongs to. Based on patch from Florian Westphal. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit de3b696542d3e0fb897149680821dae480c314af Author: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Date: Thu Mar 5 14:36:36 2015 +0100 extend documentation for gpiod_set_array() functions Extend the documentation for the gpiod_set_array() functions and elaborate a bit on possible use cases. Signed-off-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8f2c9544aba636134303105ecb164190a39dece4 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Sep 4 13:14:49 2014 -0500 usb: dwc3: gadget: drop unnecessary loop when cleaning up TRBs Now that we're using XFERINPROGRESS for all endpoint types (except Control), we will *always* be completing one TRB at a time, so it's safe to remove the loop from dwc3_cleanup_done_reqs. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3d0184d087573b7606de45a8e4f01b6222caa47a Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 2 14:12:26 2014 -0500 usb: dwc3: omap: call of_platform_depopulate() instead This patch fixes a bug where removing dwc3-omap.ko would not trigger removal of dwc3.ko. of_platform_depopulate() already bakes an easy to use API for removing all our children which were populated during probe(); Let's use that one instead of cooking our own solution. Note that this is kind of a revert of commit c5a1fbc (usb: dwc3: dwc3-omap: Fix the crash on module removal) although we can't simply revert that because a direct call to platform_device_unregister would also be flakey. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3da1f6ee3563f84395e5d334349a4c9e25d8cbcb Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 2 15:19:43 2014 -0500 usb: dwc3: core: only reset res->start in case of error That trick is only needed if we end up with an error, so there's no point in messing that outside of an error path. In fact doing so causes problems when removing dwc3.ko, problems which commit c5a1fbc (usb: dwc3: dwc3-omap: Fix the crash on module removal) mistakenly tried to fix. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 31a0ede0de49a5897d7d97c68228ae79f86c38f0 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Dec 30 12:42:38 2013 -0600 usb: musb: core: improve musb_interrupt() a bit instead of using manually spelled out bit-shits and iterate over each of the 16-bits (one for each endpoint) on each direction, we can make use of for_each_set_bit() which internally uses find_first_bit(). This makes the code slightly more readable while also making we only iterate over bits which are actually set. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e3c93e1a3f35be4cf1493d3ccfb0c6d9209e4922 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Dec 30 12:33:53 2013 -0600 usb: musb: core: fix TX/RX endpoint order As per Mentor Graphics' documentation, we should always handle TX endpoints before RX endpoints. This patch fixes that error while also updating some hard-to-read comments which were scattered around musb_interrupt(). This patch should be backported as far back as possible since this error has been in the driver since it's conception. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d5638fcf15bc65584877f00d4b0094cc4a66ad4e Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Feb 2 17:14:12 2015 -0600 usb: musb: gadget: get rid of stop_activity() that function is pretty close to a no-op by now, all we need is a call to musb_stop(). Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c7586584c6fd4212e3eb2e83e5cf3c043ddf72be Author: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Date: Wed Feb 25 16:55:06 2015 +0100 iio: mlx90614: Refactor register symbols The defined registers only make sense when used for accessing RAM. Make MLX90614_OP_RAM part of the symbol definition to avoid accidental access to the wrong register. Signed-off-by: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 60d3e3bbd5992bb4478f9f99a4e4c5748a1a1ba7 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Feb 24 13:24:41 2015 +1100 iio: gyro: itg3200: add suspend/resume support. Unless we put the device to sleep when not it use, it wastes 6mA. If the device is asleep on probe, the 'id' register sometimes mis-reads - so reset first. If the device responds at all a command sent to the address, it is almost certainly the correct device already. Acked-by: Manuel Stahl <manuel.stahl@xxxxxxxxxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 39521090e93671c01fbc50d47b6422c2b0aa63b1 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Mar 4 11:50:29 2015 +0800 gpio: mrvl: documentation: trivial: fix typo fix typo in the document. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4e5a800c82ec21335349a97cf58d97fbb0d3c98e Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed Feb 4 13:30:20 2015 -0500 ncr5380: Harmonize jiffies conversion with msecs_to_jiffies Instances of var * HZ / 1000 are replaced by msecs_to_jiffies(var). In addition some timing constants that assumed HZ 100 were adjusted to HZ independent settings based on review comments from Michael Schmitz <schmitzmic@xxxxxxxxx> and review of the original drivers in 1.0.31 and 2.2.16. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Michael Schmitz <schmitzmic@xxxxxxxxx> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 126a6a542446f1a49b9f3c69237c87df3eb4e6e1 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 10 15:27:54 2015 -0500 kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest The host kernel is not doing anything while the CPU is executing a KVM guest VCPU, so it can be marked as being in an extended quiescent state, identical to that used when running user space code. The only exception to that rule is when the host handles an interrupt, which is already handled by the irq code, which calls rcu_irq_enter and rcu_irq_exit. The guest_enter and guest_exit functions already switch vtime accounting independent of context tracking. Leave those calls where they are, instead of moving them into the context tracking code. Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit efc1e2c9bcbab73797d7bc214014cb916d6a8eb5 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 10 15:27:53 2015 -0500 context_tracking: Export context_tracking_user_enter/exit Export context_tracking_user_enter/exit so it can be used by KVM. Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 19fdd98b6253404c6bdd6927bde9f962729376f7 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 10 15:27:52 2015 -0500 context_tracking: Run vtime_user_enter/exit only when state == CONTEXT_USER Only run vtime_user_enter, vtime_user_exit, and the user enter & exit trace points when we are entering or exiting user state, respectively. The KVM code in guest_enter and guest_exit already take care of calling vtime_guest_enter and vtime_guest_exit, respectively. The RCU code only distinguishes between "idle" and "not idle or kernel". There should be no need to add an additional (unused) state there. Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit a3a9c7dff25791f3a1041aa96e770af662d99a35 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 10 15:27:51 2015 -0500 context_tracking: Add stub context_tracking_is_enabled With code elsewhere doing something conditional on whether or not context tracking is enabled, we want a stub function that tells us context tracking is not enabled, when CONFIG_CONTEXT_TRACKING is not set. Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 3aab4f50bff89bdea5066a05d4f3c5fa25bc37c7 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 10 15:27:50 2015 -0500 context_tracking: Generalize context tracking APIs to support user and guest Generalize the context tracking APIs to support various nature of contexts. This is performed by splitting out the mechanism from context_tracking_user_enter and context_tracking_user_exit into context_tracking_enter and context_tracking_exit. The nature of the context we track is now detailed in a ctx_state parameter pushed to these APIs, allowing the same functions to not just track kernel <> user space switching, but also kernel <> guest transitions. But leave the old functions in order to avoid breaking ARM, which calls these functions from assembler code, and cannot easily use C enum parameters. Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit c467ea763fd5d8795b7d1b5a78eb94b6ad8f66ad Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Mar 4 18:06:33 2015 +0100 context_tracking: Rename context symbols to prepare for transition state Current context tracking symbols are designed to express living state. As such they are prefixed with "IN_": IN_USER, IN_KERNEL. Now we are going to use these symbols to also express state transitions such as context_tracking_enter(IN_USER) or context_tracking_exit(IN_USER). But while the "IN_" prefix works well to express entering a context, it's confusing to depict a context exit: context_tracking_exit(IN_USER) could mean two things: 1) We are exiting the current context to enter user context. 2) We are exiting the user context We want 2) but the reviewer may be confused and understand 1) So lets disambiguate these symbols and rename them to CONTEXT_USER and CONTEXT_KERNEL. Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit c5ae732a443e2600823b930457eaab6e25f69b32 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Mar 4 17:36:32 2015 +0100 ppc: Remove unused cpp symbols in kvm headers These don't seem to be used anywhere. Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Will deacon <will.deacon@xxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 1e970b7d6d4fb3d715a34842ec00646f4b94bd72 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Mar 2 15:30:58 2015 -0600 gpio: pxa: simplify BANK_OFF macro offset calculation The macro BANK_OFF which calculates the base offset for each GPIO port. The macro is needlessly complex and unreadable. Simplify the calculation to a simple math operation. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d1bd4867b0959d5221dc528ccf60c8534aae865d Author: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Date: Thu Feb 19 15:16:04 2015 +0100 iio: doc: Describe scale attributes for event thresholds Signed-off-by: Martin Fuzzey <mfuzzey@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit debf6d843eaa3622786c45eb6edbc46f38f31a90 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Mon Mar 2 12:39:12 2015 +0200 iio: accel: mma9551: Check gpiod_to_irq return value The return value of gpiod_to_irq should be checked before giving it to devm_request_threaded_irq in order to not pass an error code in case it fails. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Reviewed-by: Vlad Dogaru <vlad.dogaru@xxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3494fc30846dceb808de4cc02930ef347fabd21a Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Mar 9 09:22:28 2015 -0400 workqueue: dump workqueues on sysrq-t Workqueues are used extensively throughout the kernel but sometimes it's difficult to debug stalls involving work items because visibility into its inner workings is fairly limited. Although sysrq-t task dump annotates each active worker task with the information on the work item being executed, it is challenging to find out which work items are pending or delayed on which queues and how pools are being managed. This patch implements show_workqueue_state() which dumps all busy workqueues and pools and is called from the sysrq-t handler. At the end of sysrq-t dump, something like the following is printed. Showing busy workqueues and worker pools: ... workqueue filler_wq: flags=0x0 pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=2/256 in-flight: 491:filler_workfn, 507:filler_workfn pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=2/256 in-flight: 501:filler_workfn pending: filler_workfn ... workqueue test_wq: flags=0x8 pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=1/1 in-flight: 510(RESCUER):test_workfn BAR(69) BAR(500) delayed: test_workfn1 BAR(492), test_workfn2 ... pool 0: cpus=0 node=0 flags=0x0 nice=0 workers=2 manager: 137 pool 2: cpus=1 node=0 flags=0x0 nice=0 workers=3 manager: 469 pool 3: cpus=1 node=0 flags=0x0 nice=-20 workers=2 idle: 16 pool 8: cpus=0-3 flags=0x4 nice=0 workers=2 manager: 62 The above shows that test_wq is executing test_workfn() on pid 510 which is the rescuer and also that there are two tasks 69 and 500 waiting for the work item to finish in flush_work(). As test_wq has max_active of 1, there are two work items for test_workfn1() and test_workfn2() which are delayed till the current work item is finished. In addition, pid 492 is flushing test_workfn1(). The work item for test_workfn() is being executed on pwq of pool 2 which is the normal priority per-cpu pool for CPU 1. The pool has three workers, two of which are executing filler_workfn() for filler_wq and the last one is assuming the manager role trying to create more workers. This extra workqueue state dump will hopefully help chasing down hangs involving workqueues. v3: cpulist_pr_cont() replaced with "%*pbl" printf formatting. v2: As suggested by Andrew, minor formatting change in pr_cont_work(), printk()'s replaced with pr_info()'s, and cpumask printing now uses cpulist_pr_cont(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> CC: Ingo Molnar <mingo@xxxxxxxxxx> commit 2607d7a6dba1e790aaacb14600ceffa3aa2f43e7 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Mar 9 09:22:28 2015 -0400 workqueue: keep track of the flushing task and pool manager Add wq_barrier->task and worker_pool->manager to keep track of the flushing task and pool manager respectively. These are purely informational and will be used to implement sysrq dump of workqueues. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit e2dca7adff8f3fae0ab250a6362798550b3c79ee Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Mar 9 09:22:28 2015 -0400 workqueue: make the workqueues list RCU walkable The workqueues list is protected by wq_pool_mutex and a workqueue and its subordinate data structures are freed directly on destruction. We want to add the ability dump workqueues from a sysrq callback which requires walking all workqueues without grabbing wq_pool_mutex. This patch makes freeing of workqueues RCU protected and makes the workqueues list walkable while holding RCU read lock. Note that pool_workqueues and pools are already sched-RCU protected. For consistency, workqueues are also protected with sched-RCU. While at it, reverse the workqueues list so that a workqueue which is created earlier comes before. The order of the list isn't significant functionally but this makes the planned sysrq dump list system workqueues first. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6706bbd843477600a72132c884bc5658d628aa8c Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Mar 9 02:27:43 2015 +0200 Staging: rtl8192u: Remove unnecessary macro definition This patch removes the IEEE80211_PRINT_STR macro definition because it appears only in the header file and it doesn't serve any purpose in this context. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3194e14db920138f4a0a19a03cb4c26db9969445 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 16:11:16 2015 +0530 drivers: staging: iio: accel: Removed unnecessary variable Variable len is used only to store the return value. Hence len is removed and the return statement modified. Coccinelle was used to detect such removable variables: @rule1@ identifier ret; expression e; @@ -ret = +return e; -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90a9de83578fb7890a2f5a96dd393621f165ba5a Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 16:11:17 2015 +0530 drivers: staging: iio: meter: Removed unnecessary variable Variable len is used only to store the return value. Hence len is removed and the return statement modified. Coccinelle was used to detect such removable variables: @rule1@ identifier ret; expression e; @@ -ret = +return e; -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d9f5a2dac916013d9b0560e176a7619f7bf958d Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 16:11:18 2015 +0530 drivers: staging: iio: meter: Removed unnecessary variable Variable ret is used only to store the error code to be returned. Hence use of ret is removed and the return statement modified. Coccinelle was used to prepare the patch: @rule1@ identifier ret; expression e; @@ -ret = +return e; -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07f83131e5b5d309dc8dd41911b66d3ce4c99323 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 16:11:19 2015 +0530 drivers: staging: iio: meter: Removed unnecessary variable Variable ret is used only to store the return value. Hence ret is removed and the return statement modified. Coccinelle was used to detect such removable variables: @rule1@ identifier ret; expression e; @@ -ret = +return e; -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc5797d28b1418872864da7e9a0c52841b2e9177 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 16:11:20 2015 +0530 drivers: staging: iio: meter: Removed unnecessary variable Variable ret is used only to store the return value. Hence ret is removed and the return statement modified. Coccinelle was used to detect such removable variables: @rule1@ identifier ret; expression e; @@ -ret = +return e; -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d0514d5631d8ded3fe42c3a16727039b576f18c Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Mar 9 14:24:42 2015 +0530 Staging rtl8172: Remove unnecessary typecast Using addressof and then casting to the original type is unneeded. So these casts can be removed. Issue detected via Coccinelle script. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c89ca085a5b287acd3bbf35d4cb6be392ae0798f Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 12:02:50 2015 +0530 drivers: staging: rtl8723au: hal: Removed unnecessary parentheses Parentheses around the right side of an assignment statement are unnecessary and hence removed. Coccinelle was used to produce the patch: @rule1@ identifier x,y; constant c; @@ ( x = -( y << c -) ; | x = -( y >> c -) ; | x = -( y + c -) ; | x = -( y - c -) ; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 143ff119553af104ab5c151401bbef11136cfacd Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 12:02:49 2015 +0530 drivers: staging: rtl8723au: core: Removed unnecessary parentheses Parentheses around the right side of an assignment statement are unnecessary and hence removed. Coccinelle was used to produce the patch: @rule1@ identifier x,y; constant c; @@ ( x = -( y << c -) ; | x = -( y >> c -) ; | x = -( y + c -) ; | x = -( y - c -) ; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69e2b47fa082dffad06643c85be2d36f4ef6ab9c Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 12:02:48 2015 +0530 drivers: staging: rtl8712: Removed unnecessary parentheses Parentheses around the right side of an assignment statement are unnecessary and hence removed. Coccinelle was used to produce the patch: @rule1@ identifier x,y; constant c; @@ ( x = -( y << c -) ; | x = -( y >> c -) ; | x = -( y + c -) ; | x = -( y - c -) ; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dce34aee0088fbe89c05cb8e1a21d5bed4fedc5b Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 9 12:02:47 2015 +0530 drivers: staging: rtl8188eu: core: Removed unnecessary parentheses Parentheses around the right side of an assignment statement are unnecessary and hence removed. Coccinelle was used to produce the patch: @rule1@ identifier x,y; constant c; @@ ( x = -( y << c -) ; | x = -( y >> c -) ; | x = -( y + c -) ; | x = -( y - c -) ; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a429238b9afc35c90ad1c8cc584ff5b0023c1a59 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Mar 7 23:33:25 2015 +0200 Staging: rtl8192u: Replace #include <asm/string.h> The following patch fixes the checkpatch.pl warning: WARNING: Use #include <linux/string.h> instead of #include <asm/string.h> Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a4ed8c50668158135f5fe1ba8aa709656fde951 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Mar 7 23:26:36 2015 +0200 Staging: rtl8192u: Added #include <linux/string.h> instead of <asm/string.h> The following patch fixes the checkpatch.pl warning: WARNING: Use #include <linux/string.h> instead of #include <asm/string.h> Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6a93bc03b3b1542f8871c4d631f2f6af60a0409 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Mar 7 23:15:39 2015 +0200 Staging: rtl8192u: Added #include <linux/string.h> instead of <asm/string.h> The following patch fixes the checkpatch.pl warning: WARNING: Use #include <linux/string.h> instead of #include <asm/string.h> Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d009f0d7ae38bf1fdc0ff1a914a6dee538059869 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sun Mar 8 23:33:40 2015 +0530 staging: rtl8192e: Replace min with min_t This patch replaces min with min_t and eliminates the following warnings found by checkpatch.pl: WARNING: min() should probably be min_t Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3d81a379b0933f3a2e9ceba6cb770ceb4865c18 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sun Mar 8 23:33:39 2015 +0530 drivers: staging: dgnc: Replace min with min_t This patch replaces min with min_t and eliminates the following warning found by checkpatch.pl: WARNING: min() should probably be min_t(uint, n, 12) Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7d63547ea7fe7e4a666aa97e095855e5064b70e Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sun Mar 8 00:03:51 2015 +0300 Staging: speakup: Remove unused variable This patch removes variable that was used to store only the return value of a function call. The issue was detected and resolved using the following coccinelle script: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6019ee4095d9a40927060d33e79344a3f34b8a96 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sun Mar 8 00:02:34 2015 +0300 Staging: dgap: Remove unused variable This patch removes variable that was used to store only the return value of a function call. The issue was detected and resolved using the following coccinelle script: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a8d831df5811f49957cc9b7976319973d088c34 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Mar 5 00:52:36 2015 +0100 netfilter: bridge: refactor conditional in br_nf_dev_queue_xmit simpilifies followup patch that re-works brnf ip_fragment handling. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4a9d2f200862683d6680d5565f30c126625afe65 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Mar 5 00:52:34 2015 +0100 netfilter: bridge: move nf_bridge_update_protocol to where its used no need to keep it in a header file. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8bd63cf1a426e69bf4f611b08978f721e46c194f Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Mar 5 00:52:33 2015 +0100 bridge: move mac header copying into br_netfilter The mac header only has to be copied back into the skb for fragments generated by ip_fragment(), which only happens for bridge forwarded packets with nf-call-iptables=1 && active nf_defrag. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b40c82e6ae85f110d1b53ba24b2ac657cb7bec8c Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Feb 27 09:18:34 2015 +0000 i40e: Fix inconsistent use of PF/VF vs pf/vf Joe Perches pointed out that we were inconsistent in the use of PF vs pf or VF vs vf in our driver code. Since acronyms are usually capitalized to denote that it is an acronym, changed all references to be consistent throughout the code. Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 29a0645c7dfcd664f1e92ab8d7539bba600b7102 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:18:33 2015 +0000 i40e: tame the nvmupdate read and write complaints The NVMUpdate tool doesn't necessarily know the ReadOnly map of the current NVM image, and must try reading and writing words that may be protected. This generates an error out of the Firmware request that the driver logs. Unfortunately, this ends up spitting out hundreds of bogus read and write error message that looks rather messy. This patch checks the error type and under normal conditions will not print the typical read and write errors during NVMUpdate. This can be overridden by enabling the NVM update debugging. This results in a much less messy log file, and likely many fewer customer support questions. Change-ID: Id4ff2e9048c523b0ff503aa5ab181b025ec948ea Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 97bf75f169d20c2aef1081fbe7bb5cc9656a4dc2 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Feb 27 09:18:32 2015 +0000 i40e/i40evf: fix accidental write to ITR registers Fix a bug introduced in the force writeback code, where the interrupt rate was set to 0 (maximum) by accident. The driver must correctly set the NOITR fields to avoid ITR update as a side effect of triggering the software interrupt. Change-ID: I290851ae04ef3811c43aab5ee33242029f26c1a3 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3c8e0b989aa1afc01aa1b236b31b6c7628610c85 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Feb 27 09:18:31 2015 +0000 i40vf: don't stop me now If a reset occurs when the netdev is closed, the reset task will hang in napi_disable, causing deadlocks and general grumpiness. Check to make sure the device is actually running before stopping everything. This allows the reset task to complete and have a real good time. Change-ID: Iaaea84acbcb9b3810c216b14c3326e4287b75b58 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1efc80eeee8c89188e78545c87a613e480aefd96 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:18:30 2015 +0000 i40e: future proof some sizeof calls Make sure the sizeof() calls are taking the size of the actual struct that we care about. By using the pointer variable, we'll always get the right struct size, even if the variable type changes sometime in the future. Change-ID: Id5858f883cf42447365ea3733080d7714f975bce Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d1da3ac0ee0d9a0a0589b309efcf9b1fabb43473 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Feb 27 09:18:29 2015 +0000 i40e: Remove "hello world" strings from i40e driver While using the Linux "strings" command I found these two strings in the driver. There's no need for them and they're kinda silly. Change-ID: I4e19b02983d48b631e9a9979f49790492845f221 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit acd3f6cf0579ef993bbfc50b84592fc8019f7887 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 7 23:30:27 2015 +0530 staging: rtl8188eu: Remove unneeded parentheses This patch removes unneeded parentheses from a if statement for better readability. This issue is identified by checkpatch.pl Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b62a569e4ae2361bac6f601e75aa973d42d7c47d Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Sat Mar 7 23:20:01 2015 +0530 Staging: iio: Change data type to u16 to avoid unnecessary typecast In the adis16220_read16bit() function we earlier used a s16 value 'val' which is used by the adis_read_reg_16 function to read data and takes a u16 value as a parameter. So, this patch changes the data type of 'val' from s16 to u16. It is safe to remove the extra sign extension, since the user of the function uses it to read a 10 unsigned value which will lead to the same result in both cases. Further this patch removes the unnecessary typecast for the simplification of code. In addition to this, initialization of 'val' to 0 is also dropped. This is due to the fact that not initializing helps the compiler provide useful warnings if the code gets changed to return an otherwise uninitialized result. Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04abab698285297115e5096b3100df1064045529 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Feb 11 13:53:15 2015 +0100 include/dma-mapping: Clarify output of dma_map_sg Although dma_map_sg returns 0 on error and it cannot return a value < 0, the function returns a signed integer. Most of the time, this function is used with a scatterlist structure. This structure uses an unsigned integer for the number of memory. A dma developer that has not read in detail DMA-API.txt, can wrongly return a value < 0 on error. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> commit 8582e267e9a29ccfd2151c5d74bc2b1440dfb827 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Feb 11 13:53:14 2015 +0100 asm/dma-mapping-common: Clarify output of dma_map_sg_attrs Although dma_map_sg_attrs returns 0 on error and it cannot return a value < 0, the function returns a signed integer. Most of the time, this function is used with a scatterlist structure. This structure uses an unsigned integer for the number of memory. A dma developer that has not read in detail DMA-API.txt, can wrongly return a value < 0 on error. The comment will help the driver developer, and the WARN_ON the dma developer. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> commit b026e8ed55e05a81018ba4ce73ca0cf2c9300950 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sat Jan 3 23:00:16 2015 +0100 g_NCR5380: Kill compiler warning if builtin If CONFIG_SCSI_GENERIC_NCR5380=y: drivers/scsi/g_NCR5380.c:727: warning: 'id_table' defined but not used In the non-modular case, MODULE_DEVICE_TABLE() expands to nothing, and id_table is not referenced. Correct the existing #ifdef to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 700d98551ff16a59e164bf884aefbdc5d798ff75 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Thu Jan 29 17:54:46 2015 +1100 ncr5380: Drop owner assignment from platform_drivers This platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 4a428bf3d92385f27cbb15bef90754027ba4f2d9 Author: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Date: Sun Mar 8 14:37:23 2015 +0100 iio: mcp3422: Add DT binding documentation Adding binding documentation for ADC MCP3422. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d24fc643b5cfb4fdb0d1bd569e1a2e128c0bf311 Author: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Date: Sun Mar 8 14:36:58 2015 +0100 iio: ti-adc128s052: Add DT binding documentation Adding binding documentation for Texas Instruments' ADC128S052 ADC chip. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b90f8f22ed86f4f1a38dd2178c4be558c0c70fb9 Author: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Date: Mon Mar 2 15:23:54 2015 +0800 gpio: dwapb: re-enable GPIO_DWAPB for arm64 Hisilicon arm64 soc uses designWare gpio, re-enable it after commit 1972c97db5b(gpio: dwapb: fix compile errors). Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3265c4babe93832167cb148083a0544548c23e6a Author: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Date: Fri Mar 6 18:46:21 2015 -0600 crypto: powerpc - move files to fix build error The current cryptodev-2.6 tree commits: d9850fc529ef ("crypto: powerpc/sha1 - kernel config") 50ba29aaa7b0 ("crypto: powerpc/sha1 - glue") failed to properly place files under arch/powerpc/crypto, which leads to build errors: make[1]: *** No rule to make target 'arch/powerpc/crypto/sha1-spe-asm.o', needed by 'arch/powerpc/crypto/sha1-ppc-spe.o'. Stop. make[1]: *** No rule to make target 'arch/powerpc/crypto/sha1_spe_glue.o', needed by 'arch/powerpc/crypto/sha1-ppc-spe.o'. Stop. Makefile:947: recipe for target 'arch/powerpc/crypto' failed Move the two sha1 spe files under crypto/, and whilst there, rename other powerpc crypto files with underscores to use dashes for consistency. Cc: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a508412b169d5398dc5f800147097b255c2941be Author: Feng Kan <fkan@xxxxxxx> Date: Fri Mar 6 14:53:15 2015 -0800 hwrng: xgene - add ACPI support for APM X-Gene RNG unit This adds ACPI support for APM X-Gene RNG unit. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2ca87a17045194638c69be87e2430842f743b00b Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Fri Mar 6 21:36:21 2015 +0100 MAINTAINERS: add crypto-API.tmpl The file Documentation/DocBook/crypto-API.tmpl documents the kernel crypto API and is maintained. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dbe5fe7e1b3b3632bef2c09964a5f5505de4d744 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Fri Mar 6 21:34:22 2015 +0100 crypto: doc - AEAD / RNG AF_ALG interface The patch moves the information provided in Documentation/crypto/crypto-API-userspace.txt into a separate chapter in the kernel crypto API DocBook. Some corrections are applied (such as removing a reference to Netlink when the AF_ALG socket is referred to). In addition, the AEAD and RNG interface description is now added. Also, a brief description of the zero-copy interface with an example code snippet is provided. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cde001e4c3c3625c60b68a83eb1f1c2572dee07a Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Fri Mar 6 08:26:31 2015 +0100 crypto: rng - RNGs must return 0 in success case Change the RNGs to always return 0 in success case. This patch ensures that seqiv.c works with RNGs other than krng. seqiv expects that any return code other than 0 is an error. Without the patch, rfc4106(gcm(aes)) will not work when using a DRBG or an ANSI X9.31 RNG. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4842234f83bfce83c93f84f5972a956ef2c87805 Author: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Date: Fri Mar 6 10:34:42 2015 +0800 hwrng: caam - fix rng_unmap_ctx's DMA_UNMAP size problem Fix rng_unmap_ctx's DMA_UNMAP size problem for caam_rng, else system would report the below calltrace during cleanup caam_rng. Since rng_create_sh_desc() creates a fixed descriptor of exactly 4 command-lengths now, also update DESC_RNG_LEN to (4 * CAAM_CMD_SZ). caam_jr ffe301000.jr: DMA-API: device driver frees DMA memory with different size [device address=0x000000007f080010] [map size=16 bytes] [unmap size=40 bytes] ------------[ cut here ]------------ WARNING: at lib/dma-debug.c:887 Modules linked in: task: c0000000f7cdaa80 ti: c0000000e5340000 task.ti: c0000000e5340000 NIP: c0000000004f5bc8 LR: c0000000004f5bc4 CTR: c0000000005f69b0 REGS: c0000000e53433c0 TRAP: 0700 Not tainted MSR: 0000000080029000 <CE,EE,ME> CR: 24088482 XER: 00000000 SOFTE: 0 GPR00: c0000000004f5bc4 c0000000e5343640 c0000000012af360 000000000000009f GPR04: 0000000000000000 00000000000000a0 c000000000d02070 c000000015980660 GPR08: c000000000cff360 0000000000000000 0000000000000000 c0000000012da018 GPR12: 00000000000001e3 c000000001fff780 00000000100f0000 0000000000000001 GPR16: 0000000000000002 0000000000000000 0000000000000000 0000000000000000 GPR20: 0000000000000000 0000000000000000 ffffffffffffffff 0000000000000001 GPR24: 0000000000000001 0000000000000001 0000000000000000 0000000000000001 GPR28: c000000001556b90 c000000001565b80 c0000000e5343750 c0000000f9427480 NIP [c0000000004f5bc8] .check_unmap+0x538/0x9c0 LR [c0000000004f5bc4] .check_unmap+0x534/0x9c0 Call Trace: [c0000000e5343640] [c0000000004f5bc4] .check_unmap+0x534/0x9c0 (unreliable) [c0000000e53436e0] [c0000000004f60d4] .debug_dma_unmap_page+0x84/0xb0 [c0000000e5343810] [c00000000082f9d4] .caam_cleanup+0x1d4/0x240 [c0000000e53438a0] [c00000000056cc88] .hwrng_unregister+0xd8/0x1c0 Instruction dump: 7c641b78 41de0410 e8a90050 2fa50000 419e0484 e8de0028 e8ff0030 3c62ff90 e91e0030 38638388 48546ed9 60000000 <0fe00000> 3c62ff8f 38637fc8 48546ec5 ---[ end trace e43fd1734d6600df ]--- Signed-off-by: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Acked-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 060e234e959a1c42f40f355963064c3e24981c7f Author: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Date: Fri Mar 6 10:34:41 2015 +0800 crypto: caam - fix uninitialized edesc->sec4_sg_bytes field sec4_sg_bytes not being properly initialized causes ahash_done to try to free unallocated DMA memory: caam_jr ffe301000.jr: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0xdeadbeefdeadbeef] [size=3735928559 bytes] ------------[ cut here ]------------ WARNING: at lib/dma-debug.c:1093 Modules linked in: CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.0.0-rc1+ #6 task: e9598c00 ti: effca000 task.ti: e95a2000 NIP: c04ef24c LR: c04ef24c CTR: c0549730 REGS: effcbd40 TRAP: 0700 Not tainted (4.0.0-rc1+) MSR: 00029002 <CE,EE,ME> CR: 22008084 XER: 20000000 GPR00: c04ef24c effcbdf0 e9598c00 00000096 c08f7424 c00ab2b0 00000000 00000001 GPR08: c0fe7510 effca000 00000000 000001c3 22008082 00000000 c1048e77 c1050000 GPR16: c0c36700 493c0040 0000002c e690e4a0 c1054fb4 c18bac40 00029002 c18b0788 GPR24: 00000014 e690e480 effcbe48 00000000 c0fde128 e6ffac10 deadbeef deadbeef NIP [c04ef24c] check_unmap+0x93c/0xb40 LR [c04ef24c] check_unmap+0x93c/0xb40 Call Trace: [effcbdf0] [c04ef24c] check_unmap+0x93c/0xb40 (unreliable) [effcbe40] [c04ef4f4] debug_dma_unmap_page+0xa4/0xc0 [effcbec0] [c070cda8] ahash_done+0x128/0x1a0 [effcbef0] [c0700070] caam_jr_dequeue+0x1d0/0x290 [effcbf40] [c0045f40] tasklet_action+0x110/0x1f0 [effcbf80] [c0044bc8] __do_softirq+0x188/0x700 [effcbfe0] [c00455d8] irq_exit+0x108/0x120 [effcbff0] [c000f520] call_do_irq+0x24/0x3c [e95a3e20] [c00059b8] do_IRQ+0xc8/0x170 [e95a3e50] [c0011bc8] ret_from_except+0x0/0x18 Signed-off-by: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx> Acked-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a8c6ecb3be7029881f7c95e5e201a629094a4e1a Merge: 8dd0eb3 9eccca0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 9 19:58:30 2015 +1000 Merge tag 'v4.0-rc3' into drm-next Linux 4.0-rc3 backmerge to fix two i915 conflicts, and get some mainline bug fixes needed for my testing box Conflicts: drivers/gpu/drm/i915/i915_drv.h drivers/gpu/drm/i915/intel_display.c commit 58b59e0f2462780ae3978611519f6a5e477e31df Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 17 10:12:08 2015 +0100 i2c: pca954x: improve usage of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for outputs. Also there is an *_optional variant that serves well here. The sematics is slightly changed here by using it. Now if a reset gpio is specified and getting hold on it fails, pca954x_probe fails, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fef220da43d8537ed7d11da4db17b958cd779887 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:52:25 2015 +0200 i2c: i801: Use managed pcim_* PCI device initialization and reservation Simplifies the code a bit and makes easier to disable PCI device on driver detach by removing the pcim_pin_device() call in the future if needed. Reason why i2c-i801.c doesn't ever call pci_disable_device() was because it made some systems to hang during power-off. See commit d6fcb3b9cf77 ("[PATCH] i2c-i801.c: don't pci_disable_device() after it was just enabled") and http://marc.info/?l=linux-kernel&m=115160053309535&w=2 Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f85da3f5de6f354bc26eb84c013b41a8b8558c5e Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:52:24 2015 +0200 i2c: i801: Remove pci_enable_device() call from i801_resume() Since pci_disable_device() is not called from i801_suspend() and power state is set already it means that subsequent pci_enable_device() calls do practically nothing but monotonically increase struct pci_dev enable_cnt. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1621c59d94d13380015fb5131acc6c14ecd1c797 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:52:23 2015 +0200 i2c: i801: Use managed devm_* memory and irq allocation This simplifies the error and remove paths. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 256493c58625530a958296724b92b344f3271b2f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:52:22 2015 +0200 i2c: i801: Remove i801_driver forward declaration struct pci_driver i801_driver forward declaration is needed only for accessing the name field. Remove it and use dev_driver_string() instead. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9cbbf3dc994797f49cd30607a16182ca6c87863f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:52:21 2015 +0200 i2c: i801: Don't break user-visible strings It makes more difficult to grep these error prints from sources if they are split to multiple source lines. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8dd0eb3566711d81bfbe2b4421b33f0dd723cec4 Merge: d136dfe f89fe1f Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Mar 9 19:41:15 2015 +1000 Merge tag 'drm-intel-next-2015-02-27' of git://anongit.freedesktop.org/drm-intel into drm-next - Y tiling support for scanout from Tvrtko&Damien - Remove more UMS support - some small prep patches for OLR removal from John Harrison - first few patches for dynamic pagetable allocation from Ben Widawsky, rebased by tons of other people - DRRS support patches (Sonika&Vandana) - fbc patches from Paulo - make sure our vblank callbacks aren't called when the pipes are off - various patches all over * tag 'drm-intel-next-2015-02-27' of git://anongit.freedesktop.org/drm-intel: (61 commits) drm/i915: Update DRIVER_DATE to 20150227 drm/i915: Clarify obj->map_and_fenceable drm/i915/skl: Allow Y (and Yf) frame buffer creation drm/i915/skl: Update watermarks for Y tiling drm/i915/skl: Updated watermark programming drm/i915/skl: Adjust get_plane_config() to support Yb/Yf tiling drm/i915/skl: Teach pin_and_fence_fb_obj() about Y tiling constraints drm/i915/skl: Adjust intel_fb_align_height() for Yb/Yf tiling drm/i915/skl: Allow scanning out Y and Yf fbs drm/i915/skl: Add new displayable tiling formats drm/i915: Remove DRIVER_MODESET checks from modeset code drm/i915: Remove regfile code&data for UMS suspend/resume drm/i915: Remove DRIVER_MODESET checks from gem code drm/i915: Remove DRIVER_MODESET checks in the gpu reset code drm/i915: Remove DRIVER_MODESET checks from suspend/resume code drm/i915: Remove DRIVER_MODESET checks in load/unload/close code drm/i915: fix a printk format drm/i915: Add media rc6 residency file to sysfs drm/i915: Add missing description to parameter in alloc_pt_range drm/i915: Removed the read of RP_STATE_CAP from sysfs/debugfs functions ... commit cecae360744d958c0af562e806dbd4632be13efc Merge: 2cf3afc 0d55ba4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Mar 9 10:29:32 2015 +0100 Merge tag 'tip_x86_cacheinfo' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/cpu Pull x86 CPU cacheinfo changes from Borislav Petkov: "Convert x86 cacheinfo code to the generic sysfs cacheinfo infrastructure. (Sudeep Holla)" Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d55ba46bfbee64fd2b492b87bfe2ec172e7b056 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Mar 4 12:00:16 2015 +0000 x86/cacheinfo: Move cacheinfo sysfs code to generic infrastructure This patch removes the redundant sysfs cacheinfo code by reusing the newly introduced generic cacheinfo infrastructure through the commit 246246cbde5e ("drivers: base: support cpu cache information interface to userspace via sysfs") The private pointer provided by the cacheinfo is used to implement the AMD L3 cache-specific attributes. Note that with v4.0-rc1, commit 513e3d2d11c9 ("cpumask: always use nr_cpu_ids in formatting and parsing functions") in particular changes from long format to shorter one for all cpumasks sysfs entries. As the consequence of the same, even the shared_cpu_map in the cacheinfo sysfs was also changed. This patch neither alters any existing sysfs entries nor their formating, however since the generic cacheinfo has switched to use the device attributes instead of the traditional raw kobjects, a directory named "power" along with its standard attributes are added similar to any other device. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andre Przywara <andre.przywara@xxxxxxx> Link: http://lkml.kernel.org/r/1425470416-20691-1-git-send-email-sudeep.holla@xxxxxxx [ Add a check for uninitialized this_cpu_ci for the cpu_has_topoext case too in __cache_amd_cpumap_setup() ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit e94f16a4fde646b3f155788fe37339b61264b0a9 Merge: d2b5851 9eccca0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 08:44:23 2015 +0100 Merge 4.0-rc3 into char-misc-next We want the mei fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4aa01c408b7022c620241b373d4c3707a2ebeab6 Merge: 5371fc0 a1f3f1c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Mar 9 08:42:00 2015 +0100 Merge branch 'for-linus' into for-next Merging the HD-audio fixes back to base devel branch for further working on it. commit 355a73f07d1da405728c9e57afd6eede340788f4 Merge: 197f4d6 9eccca0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 08:13:01 2015 +0100 Merge 4.0-rc3 into staging-next We want the staging fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit becba85f0e1ca8ab97bd7e836a7129a94ace1ff2 Merge: 9eccca0 3372ec2 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 9 07:08:37 2015 +0100 Merge 4.0-rc3 into tty-testing This resolves a merge issue in drivers/tty/serial/8250/8250_pci.c Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc6c6c2b8a2e1fbaa9e864af62c873dae15420ea Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 7 07:37:06 2015 +0100 net/macb: Update DT bindings documentation Add missing "cdns,at91sam9260-macb", "atmel,sama5d3-gem" and "atmel,sama5d4-gem" compatible strings. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reviewed-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbedd44e982d61c156337b1a3fb252b24085f8e3 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Mar 6 20:49:12 2015 -0800 ethernet: codespell comment spelling fixes To test a checkpatch spelling patch, I ran codespell against drivers/net/ethernet/. $ git ls-files drivers/net/ethernet/ | \ while read file ; do \ codespell -w $file; \ done I removed a false positive in e1000_hw.h Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbe21d92e4d501e4895ef668b43fd8998c9b3b02 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 17:48:28 2015 -0600 net: stmmac: make reset control an optional requirement Not having a reset control line to the ethernet controller should not be a hard failure. Instead, add support for deferred probing and just print out a debug statement. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> CC: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0595439a0a8740f776a0ae367a4c7f243add24ec Author: Nicolas Saenz Julienne <nicolassaenzj@xxxxxxxxx> Date: Sun Mar 8 19:21:20 2015 +0000 power: generic-adc-battery: Fix power_supply_property returned value The POWER_SUPPLY_PROP_STATUS case in gab_get_property() wasn't providing any value. Signed-off-by: Nicolas Saenz Julienne <nicolassaenzj@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9b974499e44536fd524dfad23f4f8477e6e243ab Merge: 008a5b0 b79bda3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 8 19:30:31 2015 -0400 Merge branch 'mpls-next' Eric W. Biederman says: ==================== mpls: Minor fixes and cleanups This is a bunch of small changes that have come out of the discussions of the mpls code and the automated tests that people run against things. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b79bda3d38ae67940f1740f7e015f284eb551680 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:25:56 2015 -0600 neigh: Use neigh table index for neigh_packet_xmit Remove a little bit of unnecessary work when transmitting a packet with neigh_packet_xmit. Use the neighbour table index not the address family as a parameter. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d5f41f276b376d567e919530f8b5fd70be25426 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:24:23 2015 -0600 mpls: Fix the openvswitch select of NET_MPLS_GSO Fix the OPENVSWITCH Kconfig option and old Kconfigs by having OPENVSWITCH select both NET_MPLS_GSO and MPLSO. A Kbuild test robot reported that when NET_MPLS_GSO is selected by OPENVSWITCH the generated .config is broken because MPLS is not selected. Cc: Simon Horman <horms@xxxxxxxxxxxx> Fixes: cec9166ca4e mpls: Refactor how the mpls module is built Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Reviewed-by: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa7da9375677d31dd53ed6253f55cb19e3075811 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:23:23 2015 -0600 mpls: Correct the ttl decrement. According to RFC3032 section 2.4.2 packets with an outgoing ttl of 0 MUST NOT be forwarded. According to section 2.4.1 an outgoing TTL of 0 comes from an incomming TTL <= 1. Therefore any packets that is received with a ttl <= 1 should not have it's ttl decremented and forwarded. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f7bbd5805e3d32e3ee58d1a802a8404a724f2fc Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:22:40 2015 -0600 mpls: Better error code for unsupported option. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19d0c341d9d5cd186661fef58e7264a9701ef71d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:21:56 2015 -0600 mpls: Cleanup the rcu usage in the code. Sparse was generating a lot of warnings mostly from missing annotations in the code. Add missing annotations and in a few cases tweak the code for performance by moving work before loops. This also fixes a problematic ommision of rcu_assign_pointer and rcu_dereference. Hopefully with complete rcu annotations any new rcu errors will stick out like a sore thumb. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d865616e1889d0b6528b5d9b620e13b1607003a5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Mar 7 16:19:41 2015 -0600 mpls: Fix the kzalloc argument order in mpls_rt_alloc *Blink* I got the argument order wrong to kzalloc and the code was working properly when tested. *Blink* Fix that. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 008a5b07f1b4beab1004ac799f449b59a45af8e9 Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 11:48:49 2015 -0700 neterion: remove reference to ifconfig Remove reference to obsolete ifconfig command. MTU can be changed with ip command instead. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91c68a7c1d92b48287f2f3111a9b09b26a263d3f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Mar 8 14:12:41 2015 -0700 Input: sun4i-ts - A10 (sun4i) has a different temperature curve Testing has revealed that the temperature in the rtp controller of the A10 (sun4i) SoC has a different curve then on the A13 (sun5i) and later models. Add a new sun5i-a13-ts compatible to differentiate the newer models and set the curve based on the compatible string. The new curve is still not ideal on all A10-s, that seems to have to do with there being a large spread between different A10-s out there, the new curve us based on callibration results on 4 completely different models: raw min raw max temp min temp max stepsize offset Tong Zhang's hackberry 2402 2680 45.0 80.0 0.125 -255.3 Hansg's Cubieboard 2207 2300 36.0 45.0 0.096 -175.8 Olliver's lime 1 (*): 2258 2537 48.3 87.1 0.139 -265.7 Olliver's lime 2 (*): 2222 2486 46.7 91.7 0.170 -331.0 *) from: http://linux-sunxi.org/Temperature_Calibration Average all 4: 0.133 -257.0 Average without outliers (middle 2): 0.132 -261.0 Since it is better to slightly overreport the temperature this patch uses the average of all 4 as curve. This fixes the temperature reported on the A10 being much higher then expected. Reported-by: Tong Zhang <lovewilliam@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 973877477e2f1eecdf8ae4305cd6e030c7cf08db Author: Duson Lin <dusonlin@xxxxxxxxxx> Date: Sun Mar 8 14:08:19 2015 -0700 Input: elan_i2c - remove duplicate repeat code Remove duplicate "repeat--" from function elan_initialize. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ea022bbb0090975a21c581d8405fbe90043a6eda Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 8 14:56:38 2015 +0100 spi: Remove support for legacy PM All SPI drivers have been converted from legacy suspend/resume callbacks to dev_pm_ops. So we can finally remove support for legacy PM from the SPI core. Since there aren't any special bus specific things to do during suspend/resume and since the PM core will automatically fallback directly to using the device's PM ops if no bus PM ops are specified there is no need to have any special SPI bus PM ops. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 47875e81476bda8a9bd4875eb281b46e33027d42 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Mar 8 14:56:37 2015 +0100 spi: Use PM ops instead of legacy suspend/resume New drivers should use PM ops instead of the legacy suspend/resume callbacks. Update the SPI device driver guide to reflect this. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 778952598e53f09251bebe1655177b355cd9e836 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Mar 7 19:35:08 2015 +0100 ASoC: Remove unnecessary device_remove_file() Since commit d29697dc3b92 ("ASoC: Add sysfs entries via static attribute groups") the sysfs attributes of the rtd are manged by the device core and there is no need to manually call device_remove_file() anymore. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ec28ce66aa4b0f7aaab0d496ee293ff2a52dd20 Author: Kevin Tsai <ktsai@xxxxxxxxxxxxxxxx> Date: Thu Feb 19 15:02:51 2015 -0800 iio: light: Added PM support for Capella CM3232 ambient light sensor driver. Added Power Management Support. Signed-off-by: Kevin Tsai <ktsai@xxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 21bd23ea128d083bf8a4fd570a66a128d58465b5 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 14 20:32:45 2015 -0800 Staging: iio: meter: ade7854-i2c: code style improvements Code reformatting based on checkpatch.pl with --strict: Comparison to NULL rewritten as !indio_dev Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b5c4437872de508073355e927b1fcdba4980cba7 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 14 20:32:43 2015 -0800 Staging: iio: meter: ade7854-i2c: code style improvements Code reformatting based on checkpatch.pl with --strict: Alignment should match open paranthesis cases corrected Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 28da06dfd9e4b04577c517f9c4b52aaa73e3d1c7 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:16 2015 +0100 irqchip: armada-370-xp: Enable the PMU interrupts In order to let the Performance Monitoring Unit interrupts flowing in the MPIC, we need to unmask these interrupts in the Coherency Fabric Local Interrupt Mask Register. Since this register is a CPU-local register, unmasking this interrupt needs to be done on the boot CPU when the driver initializes, but also on the secondary CPU when they are brought up. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1425379400-4346-4-git-send-email-maxime.ripard@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2c299de527ca2f39d231a257c00d09c498bb8447 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:15 2015 +0100 irqchip: armada-370-xp: Introduce a is_percpu_irq() helper for readability This commit introduces a helper function is_percpu_irq(), to be used when interrupts are mapped to decide which ones are set as per CPU. This change will allow to extend the list of per cpu interrupts in a less intrusive fashion; also, it makes the code slightly more readable by keeping a list of the per CPU interrupts. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1425379400-4346-3-git-send-email-maxime.ripard@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 933a24b06b42617ef9fffece1857c5c4b23329aa Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:43:14 2015 +0100 irqchip: armada-370-xp: Initialize per cpu registers when CONFIG_SMP=N The irqchip driver called armada_xp_mpic_smp_cpu_init() when CONFIG_SMP=Y to initialize some per cpu registers. The function is called on each CPU by calling it explicitly on the boot CPU and then using a CPU notifier for the non boot CPUs. This commit removes the CONFIG_SMP constrain, so the per cpu registers are also initialized when CONFIG_SMP=N, which is the right thing to do. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1425379400-4346-2-git-send-email-maxime.ripard@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b3beed7fe83b077291aa32d1f3006c8480f6344b Author: Duson Lin <dusonlin@xxxxxxxxxx> Date: Sat Mar 7 20:57:54 2015 -0800 Input: elan_i2c - return error code when resume fails In order to better diagnose potential issues let's return error to the upper layers when resuming the device fails and also add a few diagnostic messages. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ceb5b6c8bee4841abac9e010c6069934d0f7c996 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Feb 19 16:22:31 2015 -0800 Input: pwm-beeper - remove unneeded PWM_BEEPER_PM_OPS define The device->pm pointer is always present so there is no need to do tricks with conditionally defining the pointer. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4a073175392df3aa84fabca5a1bde47f36677d69 Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 1 23:41:28 2015 +0100 irqchip: vf610-mscm: Add Vybrid MSCM bindings Add binding documentation for CPU configuration and interrupt router submodule of the Miscellaneous System Control Module. The MSCM is used in all variants of Freescale Vybrid SoC's. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Link: https://lkml.kernel.org/r/1425249689-32354-3-git-send-email-stefan@xxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0494e11aafc7855b1600fe19f04fadf682e52da9 Author: Stefan Agner <stefan@xxxxxxxx> Date: Sun Mar 1 23:41:27 2015 +0100 irqchip: vf610-mscm-ir: Add support for Vybrid MSCM interrupt router This adds support for Vybrid's interrupt router. On VF6xx models, almost all peripherals can be used by either of the two CPU's, the Cortex-A5 or the Cortex-M4. The interrupt router routes the peripheral interrupts to the configured CPU. This IRQ chip driver configures the interrupt router to route the requested interrupt to the CPU the kernel is running on. The driver makes use of the irqdomain hierarchy support. The parent is given by the device tree. This should be one of the two possible parents either ARM GIC or the ARM NVIC interrupt controller. The latter is currently not yet supported. Note that there is no resource control mechnism implemented to avoid concurrent access of the same peripheral. The user needs to make sure to use device trees which assign the peripherals orthogonally. However, this driver warns the user in case the interrupt is already configured for the other CPU. This provides a poor man's resource controller. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Link: https://lkml.kernel.org/r/1425249689-32354-2-git-send-email-stefan@xxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit d7ed7474a87d5515a3860473b650bbb1e047f9e5 Merge: 04b0a80 cd77f5e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 7 22:36:12 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-07 This series contains updates to i40e and i40evf only. Most notably, Greg provides the patch to remove the dreaded configfs changes in the driver. Shannon cleans up a sparse warning by simply straighting out the code so it is less convoluted. Fixes an issue where the vector allocation was trying too hard to save vectors for VMDq, to the point of not giving the PF enough when in a tight situation, such as an NPAR partition. Changed the driver to make sure that the PF will get all the queues and vectors it wants to fill out its destiny. Cleans up reporting to only print the port and VEB stats if it is the first partition of a multiplexed port. Catherine cleans up some duplicated code by simply removing the duplicate code. Kamil cleans up the driver by removing an un-needed endian conversion because it is already done by a register read function. Jesse fixes a variable width of a datatype, where a u16 should have been a u32. Also cleans up debug_read_register() to resolve some sparse warnings. Updates the driver to use prefetch() to get the next Tx descriptor, like in ixgbe, to improve performance. Akeem moves around code to enable/disable loopback so that other non-SRIOV supported driver functions can take advantage of the changes. Anjali cleans up the logging for adding/deleting FD-SB filters, since ethtool shows all the filters on an interface. Updates the driver to use l4_tunnel type generically to keep code flow simple. Simplifies the RSS code since the driver initializes the rss_size_max in sw_init. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04b0a80b57e9c45dd16c6dca7de892dac3812190 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Mar 6 22:23:52 2015 -0800 net: dsa: mv88e6352: Add support for EEE Enable EEE support for MV88E6352. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11b3b45d69f1709aae6bb48b214064e22f0b5ef7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Mar 6 22:23:51 2015 -0800 net: dsa: mv88e6xxx: Add EEE support EEE configuration is similar for the various MV88E6xxx chips. Add generic support for it. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f5a272c99108d9f8450c454a4baede9e7cc643f Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Fri Mar 6 13:45:00 2015 -0800 net: bcmgenet: rework Rx queue init In preparation for supporting multiple Rx queues: 1. Move the initialization of priv->num_rx_bds, priv->rx_bds, and priv->rx_cbs from bcmgenet_init_rx_ring() to bcmgenet_init_dma() since they are not specific to a single Rx queue. Mimics the Tx init model where priv->num_tx_bds, priv->tx_bds, and priv->tx_cbs are initialized in bcmgenet_init_dma(). 2. Program DMA_MBUF_DONE_THRESH = 1 so that future Rx queues Q0-Q15 will get per-packet Rx interrupt. 3. Group DMA_START_ADDR, RDMA_READ_PTR, RDMA_WRITE_PTR, and DMA_END_ADDR initialization together. Mimics the Tx init model. 4. There is 1-to-1 mapping between RxCBs and RxBDs. Precalculate RxCB->bd_addr so that it can be used in the future. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae00ec9548f7020734eef340a5f1d96720551713 Merge: 1b5ef07 421d9df Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Mar 7 22:31:56 2015 -0500 Merge branch 'macb-next' Merge branch 'macb-next' Boris Brezillon says: ==================== net/macb: merge at91_ether driver into macb driver The rm9200 boards use the dedicated at91_ether driver instead of the regular macb driver. Both the macb and at91_ether drivers can be compiled as separated modules. Since the at91_ether driver uses code from the macb driver, at91_ether.ko depends on macb.ko. However the macb.ko module always fails to load on rm9200 boards: the macb_probe() function expects a hclk clock which doesn't exist on rm9200. Then the at91_ether.ko can't be loaded in turn due to unresolved dependencies. This series of patches fix this issue by merging at91_ether into macb. Patch 1 is fixing a problem that might happen when enabling ARM multi-platform suppot. Changes since v3: - move "net: macb: remove #if defined(CONFIG_ARCH_AT91) sections" patch into this series to avoid dependency on other patch series. Changes since v2: - rebase after changed brought by commit "net: macb: remove #if defined(CONFIG_ARCH_AT91) sections" Changes since v1: - rework probe functions to share common probing logic ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 421d9df0628be16e55705573ab49d8ddb6a1d68c Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Sat Mar 7 07:23:32 2015 +0100 net/macb: merge at91_ether driver into macb driver macb and at91_ether drivers can be compiled as modules, but the at91_ether driver use some functions and variables defined in the macb one, thus creating a dependency on the macb driver. Since these drivers are sharing the same logic we can easily merge at91_ether into macb. In order to factorize common probing logic we've added an ->init() function to struct macb_config (the structure associated with the compatible string), and moved macb specific init code from macb_probe to macb_init. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93b31f48b3ba84cc5fc310c9765d11ebbeede7b5 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Sat Mar 7 07:23:31 2015 +0100 net/macb: unify clock management Most of the functions from the Common Clk Framework handle NULL pointer as input argument. Since the TX clock is optional, we now set tx_clk to NULL value instead of ERR_PTR(-ENOENT) when this clock is not available. This simplifies the clock management and avoid the need to test tx_clk value. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a848748959d554666b34cffc08ef2d23f4bb2990 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 7 07:23:30 2015 +0100 net: macb: remove #if defined(CONFIG_ARCH_AT91) sections With multi platform support those sections could lead to unexpected behavior if both ARCH_AT91 and another ARM SoC using the MACB IP are selected. Add two new capabilities to encode the default MII mode and the presence of a CLKEN bit in USRIO register. Then define the appropriate config for IPs embedded in at91 SoCs. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reviewed-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c348d45d829be10bea4cb8e675f14a1baf9bab1 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sat Mar 7 07:23:29 2015 +0100 ARM: at91/dt: fix macb compatible strings Some at91 SoCs embed a 10/100 Mbit Ethernet IP, that is based on the at91sam9260 SoC. Fix at91 DTs accordingly. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reviewed-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9558659e68ee30740f265c54f792bf75add21f2 Merge: f791e3c f1f5bc3 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sat Mar 7 21:56:47 2015 +0000 Merge branch 'irqchip/st' into irqchip/core commit 0402d9f233ac5d66b39452037fef88333b06d51c Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sat Mar 7 20:52:28 2015 +0100 Bluetooth: fix sco_exit compile warning While compiling the following warning occurs: WARNING: net/built-in.o(.init.text+0x602c): Section mismatch in reference from the function bt_init() to the function .exit.text:sco_exit() The function __init bt_init() references a function __exit sco_exit(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __exit annotation of sco_exit() so it may be used outside an exit section. Since commit 6d785aa345f525e1fdf098b7c590168f0b00f3f1 ("Bluetooth: Convert mgmt to use HCI chan registration API") the function "sco_exit" is used inside of function "bt_init". The suggested solution by remove the __exit annotation solved this issue. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4fd9bbc6e0713a0106a7771b639a963f4b2411c6 Author: Tien Hock Loh <thloh@xxxxxxxxxx> Date: Tue Feb 24 01:53:02 2015 -0800 drivers/gpio: Altera soft IP GPIO driver device tree binding Adds a new driver device tree binding for Altera soft GPIO IP Signed-off-by: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 02232be7a2bf6e2dd5e4a6c3a81470a09ecc7fdd Author: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Date: Mon Feb 16 17:32:48 2015 +0100 ab8500_fg.c: only request threaded IRQs when necessary All 5 IRQ handlers of the driver are requested as threaded interrupt handlers. However, only 1 handler can block. The remaining 4 handlers defer the actual handling to a workqueue. Hence, 4 of 5 IRQ handlers have a considerable overhead, since they are executed in a kernel thread to schedule another kernel thread (workqueue). This change splits up the 5 interrupt handlers into top halves (_th) and bottom halves (_bh) and resolves the aforementioned overhead by only requesting threaded interrupts (i.e., bottom halves) when necessary. Signed-off-by: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c5abbba932a4afd82cb35f3d6e691a2b4a0613be Author: Tien Hock Loh <thloh@xxxxxxxxxx> Date: Tue Feb 24 01:53:03 2015 -0800 drivers/gpio: Altera soft IP GPIO driver Adds a new driver for Altera soft GPIO IP. The driver is able to do read/write and allows GPIO to be a interrupt controller. Tested on Altera GHRD on interrupt handling and IO. v10: - Updated conflicting device tree parameters - Removed unused headers - Used macro instead of magic numbers for ngpio - Code readability cleanup using ?: and temporal variables - Removed leftover garbage and unnecessary function calls - Checked bgpio_init but unusable because Altera GPIO may not be a multiple of 8 bits v9: - Removed duplicated initialization on set_type using temporals to improve code readability in calling generic_handle_irq - Using ?: ternary to reduce code size v8: - Using for_each_set_bit - Added const for struct definition - Removed naggy pr_err - Sort alpha header - Remove unused macros - Use fixed width data types instead of unsigned long - Whitespace issue fixes - Removed _relaxed function for better compatibility across different CPU - Changed irq_create_mapping to platform_get_irq updated implementation to use gpiochip_irqchip_add - Reserve interrupt-cells number 2 in device tree binding for future use - Remove confusing sections on devicetree bindings - Added tristate Kconfig help text v7: - Used dev_warn instead of pr_warn - Clean up unnecesarry if else indentation v6: - Added irq_startup and irq_shutdown - Changed bitwise clamping style - Cleanup bitwise operation to improve readability change naming of mapped irqs from virq to mapped_irq v5: - Dispose irq_domain mapping correctly - Update optional binding description in binding docs v4: - Added vendor prefix to devicetree binding for IP specific properties using MMIO GPIO helper library instead of manually map PIO to memory - altera_gpio_chip inline struct documentation to kerneldoc - Using dev_ print to print a better failure message v2, v3: - Do not reference NO_IRQ - Updated irq_set_type to only allow the hardware configured irq type Signed-off-by: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1672d933af196f69a69af8f1fe616750f7089592 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Mar 4 12:44:33 2015 +0900 iio:adc: Fix typo in MODULE_DESCRIPTION in ad7793.c This patch fix spelling typo in MODULE_DESCRIPTION Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 70dddeee8945a0e62525a278ae7b91778f82f765 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Mon Mar 2 21:03:05 2015 +0200 iio: fix drivers that check buffer->scan_mask If the in-kernel push interface is used we may have a different masks on the device buffer and the kernel buffer and in this case the device should generate data for the reunion of the buffers, which is available at indio_dev->active_scan_mask. Compiled tested only except for bmc150-accel which was tested at runtime with the hardware. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5a5bf49088f4c92f36786a2e4c20e17f715f0827 Author: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Date: Wed Feb 4 16:24:38 2015 -0800 X-Power AXP288 PMIC Fuel Gauge Driver New power_supply driver at driver/power which interfaces with the axp20x mfd driver as a cell. Provides battery info, monitors for changes, and generates alerts on temperature and capacity issues Signed-off-by: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b571a77a0dec969728e102971dd126cf374c2cef Author: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Date: Wed Feb 4 16:24:36 2015 -0800 mfd/axp20x: change battery cell name to fuel gauge Name changes to the battery cell structure to a more generic cell type: fuel gauge. Signed-off-by: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 776920e16a74b0009765d84b6c267fe820966307 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Mar 7 15:14:59 2015 +0100 ARM: dts: rockchip: add input supplies for the act8846 on Radxa Rock On the Radxa Rock board most supplies come from the static 5v vsys supply, but the inl1-supply comes from the REG4 of the act8846 itself. Model this dependency using the added supply-handling to make sure the supplying regulator gets handled correctly and not accidentially turned off. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 0e1392d9df3dca4c1774a0c61fd85fce81cb88cd Author: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Date: Thu Mar 5 13:23:57 2015 +0200 bq2415x_charger: Add support for bq24157s This patch adds bq24157s charger in the list of supported chargers. bq24157s is similar to bq24158, except for Bit6 from Special Charger Voltage/Enable Pin Status register, but this register is currently not used by bq2415x_charger. Signed-off-by: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 42d0631bb6c9bd730437cca19e5b870ecd24215d Author: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Date: Thu Mar 5 13:23:56 2015 +0200 bq2415x_charger: Remove unnecessary else after return Fix coding style to comply with checkpatch.pl Signed-off-by: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit aa5e18320788728476e84e2140aa736bc5525c87 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sat Mar 7 19:35:37 2015 +0200 iwlwifi: mvm: fix compilation with IWLWIFI_DEBUGFS not set The commits below broke compilation when CONFIG_IWLWIFI_DEBUGFS is not set. FIx that. Fixes: ddf89ab10a93 ("iwlwifi: mvm: allow to force the Rx chains from debugfs") Fixes: 9d761fd8a583 ("iwlwifi: mvm: add trigger for firmware dump upon missed beacons") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c8b263cc03eaaa324c9222474191e6d849cb6dda Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Mar 7 16:33:53 2015 +0100 regulator: act8865: add input supply handling The act88600/act8846/act8865 regulators have a number of input supplies supplying the individual regulators. This may even be recursively like on most Rockchip boards using the act8846 where REG4 is most of the time connected to the inl1-supply. Therefore add the ability to specify the input supplies for the individual inputs. The input-names are taken from the datasheets of act8600, act8846 and act8865. On the act8600 some regulators do not have separate input supplies. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3b1c0badbc86c034af55704ea88c1e656b402fe Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:33:09 2015 +0000 ASoC: rsnd: add sample code of reg-names Current rsnd driver supports reg-names, and Audio DMAC peri peri. This patch adds sample code for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e80a2fb18bc7dca116ec623dc909f07c5e505349 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:32:49 2015 +0000 ASoC: rsnd: add sample code of dma entry rsnd driver supports Audio DMAC (via DMAEngine) / Audio DMAC peri peri (via rsnd driver) now. This patch adds DT binding sample code on DT binging text Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bb02714fe5f198c0f07a8039ebcc636c1bffbc03 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:32:15 2015 +0000 ASoC: rsnd: add sample code of missing clocks Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5cf4f68672856dcbca883b460aee4ee5bfbeafb0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:31:55 2015 +0000 ASoC: rsnd: add sample code of rcar_sound,src irq cfcefe01265cbaf5ca7209226d043b07bfa8b587 (ASoC: rsnd: add recovery support for under/over flow error on SRC) added SRC recovery support which needs IRQ. This patch adds SRC irq sample code on DT bingdings text Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 72adc61f4637aa3596c1db1129f84d768475a885 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:31:23 2015 +0000 ASoC: rsnd: 1st DMAC dma-names cares subnode Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC). And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine. But, in result of DMA ML discussion, 2nd DMAC was concluded that it is not a general purpose DMAC (2nd DMAC is for Device to Device inside sound system). Additionally, current DMAEngine can't support Device to Device, and we don't have correct DT bindings for it at this point. So the easiest solution for it is that move it from DMAEngine to rsnd driver. dma-names on DT was implemented as no difference between 1st / 2nd DMAC's, since rsnd had assumed that both DMACs are implemented as DMAEngine. That style was "src_dst". But now, 2nd DMAC was implemented as non DMAEngine, and it doesn't need dma-names anymore. So, this dma-names rule is no longer needed. And additionally, dma-names was assumed that it has all (= SSI/SSIU/SRC/DVC) nodes under sound node. In upstream code, no SoC/platform is supporting DMA for rsnd driver yet. This means there is no compatible issue if this patch changes dma-names's rule of DT. This patch assumes dma-names for 1st DMAC are tx/rx base, and listed in each SSI/SRC/DVC subnode ex) rcar_sound,dvc { dvc0: dvc@0 { dmas = <&audma0 0xbc>; dma-names = "tx"; }; ... rcar_sound,src { src0: src@0 { ... dmas = <&audma0 0x85>, <&audma1 0x9a>; dma-names = "rx", "tx"; }; ... rcar_sound,ssi { ssi0: ssi@0 { ... dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>; dma-names = "rx", "tx", "rxu", "txu"; }; ... Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93b986e246248d0587acb4f073a621179a16b763 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:30:41 2015 +0000 ASoC: rsnd: dvc: add rsnd_dvc_of_node() This patch adds rsnd_dvc_of_node() to get DVC subnode from DT. This is prepare for new DT bindings for 1st DMAC Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82e76ed38edbdb338d64f5f2486fcd1482c8859a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:30:22 2015 +0000 ASoC: rsnd: src: add rsnd_src_of_node() This patch adds rsnd_src_of_node() to get SRC subnode from DT. This is prepare for new DT bindings for 1st DMAC Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 04e627baa68a8dc42f19b68e1b46d1c6aecebfd9 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:30:02 2015 +0000 ASoC: rsnd: ssi: add rsnd_ssi_of_node() This patch adds rsnd_ssi_of_node() to get SSI subnode from DT. This is prepare for new DT bindings for 1st DMAC Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e879a9ddf41c47ccc83039e99e04b0d5c56cd0c5 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:29:41 2015 +0000 ASoC: rsnd: enable rsnd_ssi_use_busif() for DMA Renesas R-Car sound driver uses SSI, but the DMA interfaces are SSI/SSIU. This interface is based on SSI/SRC/DVC connection. And DMA function needs to know which interface is used somehow. This patch enables rsnd_ssi_use_busif() for DMA. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0d00a52182be985bfae67d407ee81fefe448a0fd Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:29:13 2015 +0000 ASoC: rsnd: use union with rsnd_dmaen / rsnd_dmapp Renesas R-Car needs 2 DMACs.1st DMAC is DMAEngine, and 2nd DMAC is implemented as local code. These 2 DMACs are never shared. We can use union for these. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aaf4fce019ecd55a2d93b6111525deeef300f751 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:28:32 2015 +0000 ASoC: rsnd: remove rsnd_dma::dir DMAEngine direction can be calculated from rsnd_dai_stream, So, rsnd_dma::dir does not make sense now. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 56f2906ae2d0b48b64a67feef99e3be3b40c3617 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:28:07 2015 +0000 ASoC: rsnd: remove rsnd_dma::addr DMAEngine for Renesas R-Car driver is used only for Audio DMAC now. rsnd_dma::addr was added to support Audio DMAC peri peri, but it is no longer needed. Let's remove it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 288f392e729dd4d3719c2319c7c3f8d4c820488b Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:27:42 2015 +0000 ASoC: rsnd: add Audio DMAC peri peri support rework Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC). And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine. But, in result of DMA ML discussion, 2nd DMAC was concluded that it is not a general purpose DMAC (2nd DMAC is for Device to Device inside sound system). Additionally, current DMAEngine can't support Device to Device, and we don't have correct DT bindings for it at this point. So the easiest solution for it is that move it from DMAEngine to rsnd driver. Audio DMAC peri peri is controlled from sound driver without DMAEngine by this patch. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3c68565b6cb68b731b51eb21b59dce901002fc6e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:27:12 2015 +0000 ASoC: rsnd: enable to care 1st / 2nd DMAC on rsnd_dma_xxx() rsnd driver needs to care about Audio DAMC (via DMAEngine), Audio DMAC peri peri (via local method) on rsnd driver. This patch adds new rsnd_dma_ops and care it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 747c71b12ee8357e73a88eb25f569e2a20e80df3 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:26:29 2015 +0000 ASoC: rsnd: move rsnd_gen_dma_addr() from gen.c to dma.c Now, we have dma.c for Audio DMAC / Audio DMAC peri peri. rsnd_gen_dma_addr() should go there. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bfe834be9525a82c8a40380c7df8ca3b149e9c93 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:25:55 2015 +0000 ASoC: rsnd: add dma.c for Audio DMAC / Audio DMAC peri peri Renesas sound driver had been assumed that Audio DMAC / Audio DMAC peri peri are implemented by DMAEngine. But, result of DMA ML discussion, it was concluded that it is not a general purpose DMAC. And it should be moved from current DMAEngine to rsnd driver. So, Audio DMAC peri peri become non DMAEngine. OTOH, ALSA SoC has soc-generic-dmaengine-pcm implementation. but it seems difficult to use this generic implementation on rsnd driver at this point, since it needs to fallback to PIO mode if DMA can't use. and additionally it needs 2 DMAC (= Audio DMAC / Audio DMAC peri peri). These are not "generic" feature. Of course I will try to use this generic dmaengine in the future somehow, but just use current style at this point until it can formally use 2 DMACs. This patch adds new dma.c and moves current dma code to dma.c from core.c. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c5212b4556b6bd120b0f4e4ae7c4a1cb9f5efe07 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:25:27 2015 +0000 ASoC: rsnd: add rsnd_gen_get_phy_addr() to get physical address physical address is required from Audio DMAC peri peri. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7277911c87ba85436600f5b7aab15de112416795 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:24:52 2015 +0000 ASoC: rsnd: enable to get resource by name rsnd driver needs to support Audio DMAC peri peri inside sound driver. getting resource by name is useful for it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4ce3b17bd43b4f0136b1d0c7782d06fe9d3addfb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:24:27 2015 +0000 ASoC: rsnd: tidyup rsnd_dma_to_mod() macro declaration position Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8a2ff4262ca611c38b31fec0af65be656d934f52 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:24:06 2015 +0000 ASoC: rsnd: remove un-needed parameter from rsnd_dma_quit() priv is not used on rsnd_dma_quit() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9c706ab29f33b9562f570d1e99e21955d898dc85 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:23:39 2015 +0000 ASoC: rsnd: remove unused rsnd_dma_available() rsnd_dma_available() is not used. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4715219ecef50cf79d7784545bf5bb4664bb800d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:23:08 2015 +0000 ASoC: rsnd: remove un-needed parameter from rsnd_dma_init() It can get DMA direction via rsnd_dai_stream. Remove un-needed is_play from rsnd_dma_init(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c303cf0895ad927f5e9b8a5f8ed1c6b8c96a500f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Feb 20 10:22:37 2015 +0000 ASoC: rsnd: remove SH-DMA-BASE specific implementation Renesas R-Car sound had SH-DMA-BASE specific implementation before, but, now, it is no longer needed. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0aed11244360c24c854a263eac0293acef2abd03 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 24 00:54:16 2015 +0000 dmaengine: export symbol of of_dma_request_slave_channel() Current DMAEngine implementation of DT bindings can't support DT subnode. This patch export symbols of of_dma_request_slave_channel() for subnode DMA DT bingings. ex) rcar_sound: rcar_sound@ec500000 { ... rcar_sound,dvc { dvc0: dvc@0 { dmas = <&audma0 0xbc>; dma-names = "tx"; }; dvc1: dvc@1 { dmas = <&audma0 0xbe>; dma-names = "tx"; }; }; ... }; Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd77f5e1fa17de2479d838a36fed0bc98b0a42c2 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Mar 6 01:41:07 2015 +0000 i40e: Strip configfs code The use of configfs is not allowed in network drivers. Strip the code that uses it. Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b85e911b7580d6a8ea7ebc9831c5ac566c595e4b Author: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Date: Fri Feb 27 09:15:33 2015 +0000 i40e/i40evf: Bump version Bump i40e to 1.2.12 and i40evf to 1.2.6. Change-ID: I641871da3a9abd396b28eda5744a4d68493c1400 Signed-off-by: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 016890b99482745646de091d795384efd83f5d20 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Feb 27 09:15:31 2015 +0000 i40e/i40evf: enable prefetch of Tx descriptors during cleanup Performance can be improved a bit by imitating ixgbe and using prefetch to get us the next Tx descriptor. Change-ID: Ice7ffd4cd0ce87c35295059bdb7972a7f53723aa Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d9e894ee8a06b0324b9d9f951c0276a7409b8518 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Feb 27 09:15:30 2015 +0000 i40e: Simplify code for rss_size_max config We initialize the pf->rss_size_max in sw_init now and hence this code can be simplified. Change-ID: I1a7abc837604a40bc65e6c6b21190b909ed6bb21 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4599120466c784f8b2afef6fb2b7a452a73b400e Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Feb 27 09:15:29 2015 +0000 i40e/i40evf: Simplify tunnel selection logic Use l4_tunnel type generically to keep code flow simple. Change-ID: Ic52287e3b1ca4204e6b6e13431890c1a6ae9c422 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 34825e511971e193db16a96350faeb60eff0d842 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Sat Mar 7 01:41:36 2015 +0900 extcon: Fix the checkpatch warning This patch fixes the checkpatch warning about coding style. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit f68a8342b1082d9a4b084cb085396e562899bc62 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Sat Mar 7 22:58:10 2015 +0900 extcon: Rename extcon core driver This patch renames the extcon core driver from extcon-class.c to extcon.c because '-class' postfix is not necessary. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 04294e38a451b37288d61e52fa07ed087c5cdc02 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Feb 27 09:15:28 2015 +0000 i40e: FD filters flush policy changes Since GLQF_FDCNT_0 register now has the right offset, use it to simplify our FD flush flow. If the filter add error happens to be for SB we just auto disable SB. If filter error happens to be for ATR, auto disable ATR and mark the state to FD_FLUSH_REQUESTED. Which gets cleared when flush completes. If we are entering flush too quickly (< 30 seconds) and we have quite a few SB rules, its time to disable ATR for good. Since SB + ATR rules is most likely making the FD table unstable. ATR can be re-enabled by turning ntuple off (ethtool -K ntuple off) and will remain off after turning ntuple on till it gets unstable again. Change-ID: I2154a2e0a5d44851a2f0eb8731e2f1d4a4d1acbc Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4205d379b6ff61472a94efe55b9a103582257ab8 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Feb 27 09:15:27 2015 +0000 i40e: Avoid logs while adding/deleting FD-SB filters It is not necessary to print FD filter add/delete log with normal debug settings because ethtool -n ethx shows all the FD-SB filters on an interface. The log can still be turned on through higher debug levels and it will continue to print a log if there was an error in the add/delete process. Change-ID: I67db2baf49e2075d2f537de40f7895e5b02cd610 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 58ce51753faa5287106e87b942e9563156595a31 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:15:26 2015 +0000 i40e: print port stats only on partition 1 Only print the port and veb stats if this is the first partition of a multiplexed port. Change-ID: I7ce0c323cdee5cfd2e54d8bea5b0b9102987e671 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 386a0afa709931e0037bb2e812df62230e8af370 Author: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Date: Fri Feb 27 09:15:25 2015 +0000 i40e: Move code to enable/disable Loopback to the main file Since changes made to enable or disable loopback for all VSIs, not only SR-IOV or PCIOV, then it became necessary to move the associated functions to main file - so that other non-SRIOV supported driver can take advantage of the changes. Change-ID: I59a49fd23a6136acda5e16f8d1e5ac7fd9c5fc05 Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1e200e4a5744b727f64880855689bdb1b2502d43 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:15:24 2015 +0000 i40e: rework vector reservation The initial problem solved here is that the vector allocation was trying too hard to save vectors for VMDq, to the point of not giving the PF enough when in a tight situation such as an NPAR partition. This change makes sure that the PF will get all the queues and vectors it wants to fill out its destiny. Essentially, nothing is specially reserved for VMDq, it simply gets whatever is left after the PF, FCoE, and FD sideband get what they want. Additionally, the calculations for the reservations were harder to follow than necessary, so I've made it more straight forward. Change-ID: I99b384f104535b686c690b8ef0a787559485c8d4 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7b115dd06dd5e06a85324c2cdebb59c2cb17772f Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Feb 27 09:15:23 2015 +0000 i40e: clean up debug_read_register There were some additional spaces and strange (double swapping) logic in this function that I started looking at because sparse was warning. This fixes the sparse warning and fixes up the other issues. Change-ID: I72a91a4197cd45921602649040e6bd25e5f17c0a Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 71e6163a4ca274fcf63dd94bbe3c1efca497589f Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Feb 27 09:15:22 2015 +0000 i40e: store msg_enable in the right size The kernel returns a u32 for netif_msg_init, and we were storing it in a u16. Fix the width of the datatype. Change-ID: I4b23326e5707c91cd59325c5a1ccb2ba7a3974fc Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ef0620774f403c6f226ec22857f5df9217d603cd Author: Kamil Krawczyk <kamil.krawczyk@xxxxxxxxx> Date: Fri Feb 27 09:15:21 2015 +0000 i40e: Remove unneeded conversion Remove LE16 to CPU endianes conversion from i40e_read_nvm_word_srctl function, as it's already done by register read function. Change-ID: I739f0f20a9b8e18223e54c0ca5443e63d75da878 Signed-off-by: Kamil Krawczyk <kamil.krawczyk@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d6d83c1b3e471124bde4ea57bb7bf278bb931553 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Feb 27 09:15:20 2015 +0000 i40e: Remove duplicate code This series of code was repeated twice, remove one of them. Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 37a2973a058e08f8dcccb265d90176e6b6b55191 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Feb 27 09:15:19 2015 +0000 i40e/i40evf: Refactor i40e_debug_aq and make some functions static A sparse complaint in i40e_debug_aq in a funky buffer write goes away by straightening out the code out to something less convoluted. Also fix some other sparse warnings while we are at it, making some functions static and using NULL instead of 0. Change-ID: I93907534fe1f1f675830774b3d14ecf1c6ffc9a0 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 612762e82ae6058d69b4ce734598491bf030afe7 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Mar 4 12:02:05 2015 +0200 spi: qup: Add DMA capabilities This patch adds DMA capabilities to the spi-qup driver. If DMA channels are present, the QUP will use DMA instead of block mode for transfers to/from SPI peripherals for transactions larger than the length of a block. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Reviewed-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e1aa7cb59aff4b245b45e326fcdba1bf7f105c6 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Mar 6 21:55:32 2015 +0100 x86/asm: Optimize unnecessarily wide TEST instructions By the nature of the TEST operation, it is often possible to test a narrower part of the operand: "testl $3, mem" -> "testb $3, mem", "testq $3, %rcx" -> "testb $3, %cl" This results in shorter instructions, because the TEST instruction has no sign-entending byte-immediate forms unlike other ALU ops. Note that this change does not create any LCP (Length-Changing Prefix) stalls, which happen when adding a 0x66 prefix, which happens when 16-bit immediates are used, which changes such TEST instructions: [test_opcode] [modrm] [imm32] to: [0x66] [test_opcode] [modrm] [imm16] where [imm16] has a *different length* now: 2 bytes instead of 4. This confuses the decoder and slows down execution. REX prefixes were carefully designed to almost never hit this case: adding REX prefix does not change instruction length except MOVABS and MOV [addr],RAX instruction. This patch does not add instructions which would use a 0x66 prefix, code changes in assembly are: -48 f7 07 01 00 00 00 testq $0x1,(%rdi) +f6 07 01 testb $0x1,(%rdi) -48 f7 c1 01 00 00 00 test $0x1,%rcx +f6 c1 01 test $0x1,%cl -48 f7 c1 02 00 00 00 test $0x2,%rcx +f6 c1 02 test $0x2,%cl -41 f7 c2 01 00 00 00 test $0x1,%r10d +41 f6 c2 01 test $0x1,%r10b -48 f7 c1 04 00 00 00 test $0x4,%rcx +f6 c1 04 test $0x4,%cl -48 f7 c1 08 00 00 00 test $0x8,%rcx +f6 c1 08 test $0x8,%cl Linus further notes: "There are no stalls from using 8-bit instruction forms. Now, changing from 64-bit or 32-bit 'test' instructions to 8-bit ones *could* cause problems if it ends up having forwarding issues, so that instead of just forwarding the result, you end up having to wait for it to be stable in the L1 cache (or possibly the register file). The forwarding from the store buffer is simplest and most reliable if the read is done at the exact same address and the exact same size as the write that gets forwarded. But that's true only if: (a) the write was very recent and is still in the write queue. I'm not sure that's the case here anyway. (b) on at least most Intel microarchitectures, you have to test a different byte than the lowest one (so forwarding a 64-bit write to a 8-bit read ends up working fine, as long as the 8-bit read is of the low 8 bits of the written data). A very similar issue *might* show up for registers too, not just memory writes, if you use 'testb' with a high-byte register (where instead of forwarding the value from the original producer it needs to go through the register file and then shifted). But it's mainly a problem for store buffers. But afaik, the way Denys changed the test instructions, neither of the above issues should be true. The real problem for store buffer forwarding tends to be "write 8 bits, read 32 bits". That can be really surprisingly expensive, because the read ends up having to wait until the write has hit the cacheline, and we might talk tens of cycles of latency here. But "write 32 bits, read the low 8 bits" *should* be fast on pretty much all x86 chips, afaik." Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425675332-31576-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9198f6edfd9ced74fd90b238d5a354aeac89bdfa Author: Jason Low <jason.low2@xxxxxx> Date: Fri Mar 6 23:45:31 2015 -0800 locking/rwsem: Fix lock optimistic spinning when owner is not running Ming reported soft lockups occurring when running xfstest due to the following tip:locking/core commit: b3fd4f03ca0b ("locking/rwsem: Avoid deceiving lock spinners") When doing optimistic spinning in rwsem, threads should stop spinning when the lock owner is not running. While a thread is spinning on owner, if the owner reschedules, owner->on_cpu returns false and we stop spinning. However, this commit essentially caused the check to get ignored because when we break out of the spin loop due to !on_cpu, we continue spinning if sem->owner != NULL. This patch fixes this by making sure we stop spinning if the owner is not running. Furthermore, just like with mutexes, refactor the code such that we don't have separate checks for owner_running(). This makes it more straightforward in terms of why we exit the spin on owner loop and we would also avoid needing to "guess" why we broke out of the loop to make this more readable. Reported-and-tested-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jason Low <jason.low2@xxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425714331.2475.388.camel@j-VirtualBox Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a7fcf28d431ef70afaa91496e64e16dc51dccec4 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Mar 6 17:50:19 2015 -0800 x86/asm/entry: Replace this_cpu_sp0() with current_top_of_stack() and fix it on x86_32 I broke 32-bit kernels. The implementation of sp0 was correct as far as I can tell, but sp0 was much weirder on x86_32 than I realized. It has the following issues: - Init's sp0 is inconsistent with everything else's: non-init tasks are offset by 8 bytes. (I have no idea why, and the comment is unhelpful.) - vm86 does crazy things to sp0. Fix it up by replacing this_cpu_sp0() with current_top_of_stack() and using a new percpu variable to track the top of the stack on x86_32. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 75182b1632a8 ("x86/asm/entry: Switch all C consumers of kernel_stack to this_cpu_sp0()") Link: http://lkml.kernel.org/r/d09dbe270883433776e0cbee3c7079433349e96d.1425692936.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b27559a433bb6080d95c2593d4a2b81401197911 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Mar 6 17:50:18 2015 -0800 x86/asm/entry: Delay loading sp0 slightly on task switch The change: 75182b1632a8 ("x86/asm/entry: Switch all C consumers of kernel_stack to this_cpu_sp0()") had the unintended side effect of changing the return value of current_thread_info() during part of the context switch process. Change it back. This has no effect as far as I can tell -- it's just for consistency. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/9fcaa47dd8487db59eed7a3911b6ae409476763e.1425692936.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7875b470c9d80dff2d58ae9692adb3a2b5814a89 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Feb 20 11:22:05 2015 +0100 ARM: BCM5301X: Fix default state of power LEDs on Netgear R6250 We want green LED to be enabled by default. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 4076b521cb50c411467c4ba65f82ef0079823357 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Feb 18 12:25:42 2015 +0100 ARM: BCM5301X: Add DT for Netgear R8000 Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Reported-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d23dbaaaa454667ad6af6feb56f740a990d1295d Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 6 20:43:34 2015 -0800 tcm_qla2xxx: Expose per endpoint dynamic_sessions attribute This patch exposes a new ../qla2xxx*/$WWPN/$TPGT/dynamic_sessions attribute to dump the currently active sessions by FC initiator WWPN that have been created with dynamically generated se_node_acls. This information is useful so that user-space can optionally perform dynamic -> explicit NodeACL conversion based on $INITIATOR_WWPN. Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit d4ee46ff8c8404d63779772e4ddb3553eaca26ae Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 6 20:40:57 2015 -0800 iscsi-target: Expose per endpoint dynamic_sessions attribute This patch exposes a new ../iscsi/$IQN/$TPGT/dynamic_sessions attribute to dump the currently active sessions by iSCSI InitiatorName that have been created with dynamically generated se_node_acls. This information is useful so that user-space can optionally perform dynamic -> explicit NodeACL conversion based on $INITIATOR_WWPN. Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f8e471f9eb9068bf5ac8c6a04da74329a442f75a Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 6 20:34:32 2015 -0800 target: Add target_show_dynamic_sessions attribute helper This patch adds a new helper function that can be used by fabric driver TPG attributes for dumping the list of active sessions with a dynamically generated se_node_acl. (generate_node_acl=1). It prints one se_node_acl->initiatorname per line, up to PAGE_SIZE which is due to the current limitiation of single page attribute output within sysfs and configfs code. Note that if a session is referencing a explicit NodeACL, the InitiatorName will not appear within dynamic_sessions output. Reported-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3372ec28622083ac87daf18918a222fbee06f6f9 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 10:54:10 2015 -0500 vt: use msecs_to_jiffies for time conversion Converting milliseconds to jiffies by "val * HZ / 1000" is technically OK but msecs_to_jiffies(val) is the cleaner solution and handles all corner cases correctly. This is a minor API consolidation only and should make things more readable. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 678afb9aa8cf2002160c1a56cef5c90df6dc285e Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Wed Feb 4 18:18:03 2015 +0000 tty: vt/vt: fix sparse warning this patch fixes following sparse warning: vt.c:1240:12: warning: symbol 'rgb_from_256' was not declared. Should it be static? Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c0d9b17d1c0608bbbef6d00e68956de2c3b1f8e Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 10:53:25 2015 -0500 vt: vt_ioctl: use msecs_to_jiffies for time conversion Converting milliseconds to jiffies by "val * HZ / 1000" is technically OK but msecs_to_jiffies(val) is the cleaner solution and handles all corner cases correctly. This is a minor API consolidation only and should make things more readable. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b5ef07e3dd3972d9111650fb6e0f5a566c741d8 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Fri Mar 6 15:54:52 2015 -0800 rocker: sparse: fix dynamic allocation on stack warning Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f43deba6f79c8f2004008fe0c0afa23bc061b2f Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Fri Mar 6 15:54:51 2015 -0800 rocker: quiet sparce endianess warnings Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Jonathan Toppins <jtoppins@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 833b1f7b5191e4ac15dfd86aa8137f2349f0fc30 Author: Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> Date: Tue Mar 3 18:11:14 2015 +0300 serial/8250_dw: use platform_get_irq() instead of platform_get_resource() It is not recommened to use platform_get_resource(pdev, IORESOURCE_IRQ) for requesting IRQ's resources any more, as they can be not ready yet in case of DT-booting. platform_get_irq() instead is a recommended way for getting IRQ even if it was not retrieved earlier. It also makes code simpler because we're getting "int" value right away and no conversion from resource to int is required. Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f427c990e2d0fd30336b0c252aa7e38e4cffdea2 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:05:47 2015 -0500 console: Preserve index after console setup() Before register_console() calls the setup() method of the matched console, the registering console index is already equal to the index from the console command line; ie. newcon->index == c->index. This change is also required to support extensible console matching; (the command line index may have no relation to the console index assigned by the console-defined match() function). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73abaf87f01be6fa6da3c0aa9c138a1b6b281068 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:05:46 2015 -0500 serial: earlycon: Refactor parse_options into serial core Prepare to support console-defined matching; refactor the command line parameter string processing from parse_options() into a new core function, uart_parse_earlycon(), which decodes command line parameters of the form: earlycon=<name>,io|mmio|mmio32,<addr>,<options> console=<name>,io|mmio|mmio32,<addr>,<options> earlycon=<name>,0x<addr>,<options> console=<name>,0x<addr>,<options> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e1257860fd10487795b782f1dbb5b5f2c203474 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Feb 27 16:07:18 2015 +0800 tty/serial: at91: correct the usage of tasklet The tasklet may be scheduled and executed after serial port was shutdown, for example, DMA rx callback will schedule the tasklet while serial port is shutting down, especially serial port is sending and receiving data in a higher baud rate and it's killed by external program. In this case, tasklet_kill can only clear the current scheduling out, so tasklet should be disabled to prevent being executed in later scheduling. Otherwise, the tasklet executed after serial port was shutdown can lead to kernel crash. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d9628a1486658b83e47ad4c7ff07ff1ff0d3d89 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Feb 27 16:07:17 2015 +0800 tty/serial: at91: set ops in property init each time The property in device tree will be reading each time when tty is opened, so the ops of serial port should be set after that instead of setting once in probe. Otherwise, the ops of serial port is inconsistent with the state of serial work manner. For example, the atmel serial driver can't work when switching to PIO mode due to DMA channel is not available. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a1e8888675b81d8f118b11650084c5e242be4b7 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Feb 27 16:07:16 2015 +0800 tty/serial: at91: revise the return type of atmel_init_property The function of atmel_init_property is to set the work manner of atmel serial ports according to the property in device trees. If DMA or PDC is not set or something goes wrong in getting property, the work manner will switch to general PIO mode, thus there will not be any failure case in this function. It's actually a procedure. So changing the return type from int to void. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a510880f6ea00ee28f22ec61a3c53357bb1bbaa5 Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Feb 27 16:07:15 2015 +0800 tty/serial: at91: correct buffer size used in DMA The buffer size set in DMA is inconsistent with its allocation. So keep them consistent here. The structure atmel_uart_char is used in PIO mode with its meaning. But here in DMA, all of the buffer is treated as general char. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c2770541040318fa6ac0ac4424d8af6dd0709bf Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Feb 27 16:07:14 2015 +0800 tty/serial: at91: correct check of buf used in DMA We only use buf of ring In DMA rx function while using buf of xmit in DMA tx function. So in DMA rx we need definitively to check the buf of ring which is corresponding to DMA rx function. And use macro PAGE_ALIGNED to simplify the expression. Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ba67dabaa58e3223325f0a813a6e830fb5f5cc5 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Mar 5 23:27:51 2015 +0100 ebpf: bpf_map_*: fix linker error on avr32 and openrisc arch Fengguang reported, that on openrisc and avr32 architectures, we get the following linker errors on *_defconfig builds that have no bpf syscall support: net/built-in.o:(.rodata+0x1cd0): undefined reference to `bpf_map_lookup_elem_proto' net/built-in.o:(.rodata+0x1cd4): undefined reference to `bpf_map_update_elem_proto' net/built-in.o:(.rodata+0x1cd8): undefined reference to `bpf_map_delete_elem_proto' Fix it up by providing built-in weak definitions of the symbols, so they can be overridden when the syscall is enabled. I think the issue might be that gcc is not able to optimize all that away. This patch fixes the linker errors for me, tested with Fengguang's make.cross [1] script. [1] https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Fixes: d4052c4aea0c ("ebpf: remove CONFIG_BPF_SYSCALL ifdefs in socket filter code") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58025e46ea2d39f1840d5b1be5edea3297cfd23f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 5 13:47:48 2015 -0800 net: gro: remove obsolete code from skb_gro_receive() Some drivers use copybreak to copy tiny frames into smaller skb, and this smaller skb might not have skb->head_frag set for various reasons. skb_gro_receive() currently doesn't allow to aggregate the smaller skb into the previous GRO packet if this GRO packet has at least 2 MSS in it. Following workload easily demonstrates the problem. netperf -t TCP_RR -H target -- -r 3000,3000 (tcpdump shows one GRO packet with 2 MSS, plus one additional packet of 104 bytes that should have been appended.) It turns out that we can remove code from skb_gro_receive(), because commit 8a29111c7ca6 ("net: gro: allow to build full sized skb") and its followups removed the assumption that a GRO packet with a frag_list had to have an empty head. Removing this code allows the aggregation of the last (incomplete) frame in some RPC workloads. Note that tcp_gro_receive() already takes care of forcing a flush if necessary, including this case. If we want to avoid using frag_list in the first place (in forwarding workloads for example, as the outgoing NIC is generally not able to cope with skbs having a frag_list), we need to address this separately. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit feb27d155dfabcb8baabe10367f25fc2b1bcede1 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Mar 5 20:48:46 2015 +0300 ax25: remove unneeded NULL test in ax_xmit() We get a static checker warning here on devel kernels: drivers/net/hamradio/mkiss.c:560 ax_xmit() warn: variable dereferenced before check 'skb' (see line 532) It turns out that the NULL check can be deleted. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c9be31015747b0a981804438b269cfb0f49aa8a Author: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx> Date: Fri Mar 6 13:05:40 2015 -0500 drivers/tty: amba: defer DMA probe until the DMA channel is required. Fix a race condition that happens when device_initcall(pl011_dma_initicall) is executed before all the devices have been probed - this issue was observed on a hisi_6220 SoC (HiKey board from Linaro). The deferred driver probing framework relies on late_initcall to trigger deferred probes so it is just possible that, even with a valid DMA driver ready to be loaded, we fail to synchronize with it. The proposed implementation delays probing the DMA until dma_startup. As this is invoked on port startup and port resume - but DMA probing is only required once - we avoid calling multiple times using a new field in uart_amba_port to track this scenario. This commit allows for subsequent attempts to associate an external DMA if the DMA driver itself is not available (but present in the deferred probe pending list). Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f68a8ebd33d752d3178d1fcae453a14106357c79 Merge: 34de26d 708b869 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 21:50:07 2015 -0500 Merge branch 'mlx4-qcn' Or Gerlitz says: ==================== Add QCN support to the DCB NL layer This series from Shani Michaeli adds support for the IEEE QCN attribute to the kernel DCB NL stack, and implementation in the mlx4 driver which programs the firmware according to the admin directives. changes from V0: - applied feedback from John and added his acked-by to patch #1 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 708b869bf56e58b0c41460ba7bf363bf50f330c2 Author: Shani Michaeli <shanim@xxxxxxxxxxxx> Date: Thu Mar 5 20:16:13 2015 +0200 net/mlx4_en: Add QCN parameters and statistics handling Implement the IEEE DCB handlers for set/get QCN parameters and statistics reading per TC. Signed-off-by: Shani Michaeli <shanim@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d237baa1cbb3a2335357484c1d63a810a01947e2 Author: Shani Michaeli <shanim@xxxxxxxxxxxx> Date: Thu Mar 5 20:16:12 2015 +0200 net/mlx4_core: Add basic elements for QCN Add device capability, firmware command opcode and etc prior elements needed for QCN suppprt. Disable SRIOV VF view/access for QCN is disabled. While here, remove a redundant offset definition into the QUERY_DEV_CAP mailbox. Signed-off-by: Shani Michaeli <shanim@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c93682477bd861744589215515a63b81fdbd8948 Author: Shani Michaeli <shanim@xxxxxxxxxxxx> Date: Thu Mar 5 20:16:11 2015 +0200 net/dcb: Add IEEE QCN attribute As specified in 802.1Qau spec. Add this optional attribute to the DCB netlink layer. To allow for application to use the new attribute, NIC drivers should implement and register the callbacks ieee_getqcn, ieee_setqcn and ieee_getqcnstats. The QCN attribute holds a set of parameters for management, and a set of statistics to provide informative data on Congestion-Control defined by this spec. Signed-off-by: Shani Michaeli <shanim@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2ee6dfa0e8597eea8b98d240b0033994e20d215 Author: Dave Martin <Dave.Martin@xxxxxxx> Date: Wed Mar 4 12:27:34 2015 +0000 serial/amba-pl011: Leave the TX IRQ alone when the UART is not open Getting the TX IRQ re-asserted from scratch can be inefficient in some setups. This patch avoids clearing the TX IRQ across pl011_shutdown()... pl011_startup(), so that if the port is closed and reopened, the IRQ will still work afterwards without having to bootstrap it again. The TX IRQ continues to be masked in IMSC when the UART is not in use. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Tested-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 734745caeb9f155ab58918834a8c70e83fa6afd3 Author: Dave Martin <Dave.Martin@xxxxxxx> Date: Wed Mar 4 12:27:33 2015 +0000 serial/amba-pl011: Activate TX IRQ passively The current PL011 driver transmits a dummy character when the UART is opened, to assert the TX IRQ for the first time (see pl011_startup()). The UART is put in loopback mode temporarily, so the receiver presumably shouldn't see anything. However... At least some platforms containing a PL011 send characters down the wire even when loopback mode is enabled. This means that a spurious NUL character may be seen at the receiver when the PL011 is opened through the TTY layer. The current code also temporarily sets the baud rate to maximum and the character width to the minimum, to that the dummy TX completes as quickly as possible. If this is seen by the receiver it will result in a framing error and can knock the receiver out of sync -- turning subsequent output into garbage until synchronisation is reestablished. (Particularly problematic during boot with systemd.) To avoid spurious transmissions, this patch removes assumptions about whether the TX IRQ will fire until at least one TX IRQ has been seen. Instead, the UART will unmask the TX IRQ and then slow-start via polling and timer-based soft IRQs initially. If the TTY layer writes enough data to fill the FIFO to the interrupt threshold in one go, the TX IRQ should assert, at which point the driver changes to fully interrupt-driven TX. In this way, the TX IRQ is activated as a side-effect instead of being done deliberately. This should also mean that the driver works on the SBSA Generic UART[1] (a cut-down PL011) without invasive changes. The Generic UART lacks some features needed for the dummy TX approach to work (FIFO disabling and loopback). [1] Server Base System Architecture (ARM-DEN-0029-v2.3) http://infocenter.arm.com/ (click-thru required :/) Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Tested-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6415491c5f33df1adb5983070618f30370bd346 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 24 15:13:57 2015 -0800 tty: serial: xilinx_uartps: Use Macro for ttyPS0 All instances of "ttyPS" use this macro except for this one. Convert it. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7950dc586092d0c7a8b881188061cc3dc133d7e9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 12:06:34 2015 -0500 serial: sprd: Fix iotype The Spreadtrum UART is accessed with mmio; declare the proper iotype. Also prevent userspace from assigning any other iotype via ioctl(TIOCSSERIAL). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17b8f2a3fdca29a9b296642fb3f6ad3c39ffc7d3 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:11 2015 +0100 serial: imx: add support for half duplex rs485 The transmitter is expected to be controlled by the UART's RTS pin. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afe9cbb1a6adf6da5fa6d4747d102b95b4bb52c1 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:10 2015 +0100 serial: imx: drop support for IRDA Support for IRDA was added in 2009 in commit v2.6.31-rc1~399^2~2. There are no in-tree users. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f95661b2f2ae75c9b07b9b4e0a9a55c40e085e6f Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:09 2015 +0100 serial: imx: fix comment about which machines use the i.MX21 type Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f890cef24bc0e17ea9a1f5c39d9105f3e8bc4f13 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:08 2015 +0100 serial: imx: reformat and cleanup copyright header Fix indention, remove old address of the FSF, remove in-file changelog, mention Freescale. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 842633bdcee64d5c1861eb67677e3500c5d208e6 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:07 2015 +0100 serial: imx: drop members from driver data that are only used during probe There is no benefit in keeping this information in RAM when it's not used any more, so better use function local variables instead. These members are unused since c0d1c6b0f0dc ("serial: imx: Fix the reporting of interrupts") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 694e6729bf0e317e0b67c37cda1b74a5b04fbc07 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:06 2015 +0100 serial: imx: remove long dead code This if (0) exists since the driver was introduced in commit c49bde83eb6a ([ARM PATCH] 1956/2: Re: Motorola i.MX serial driver) back in 2004. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91555ce9012557b2d621d7b0b6ec694218a2a9bc Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Feb 24 11:17:05 2015 +0100 serial: imx: Fix clearing of receiver overrun flag The writeable bits in the USR2 register are all "write 1 to clear" so only write the bits that actually should be cleared. Fixes: f1f836e4209e ("serial: imx: Add Rx Fifo overrun error message") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd187de536494a27925902b9653e9ef0ace4774 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Feb 23 16:24:44 2015 +0200 x86, intel-mid: remove Intel MID specific serial support Since we have a native 8250 driver carrying the Intel MID serial devices the specific support is not needed anymore. This patch removes it for Intel MID. Note that the console device name is changed from ttyMFDx to ttySx. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f549e94effa163ea170d2f0c12d307cb602431c6 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Feb 23 16:24:43 2015 +0200 serial: 8250_pci: add Intel Penwell ports Intel Penwell supports 3 HSUART ports which are 8250 compatible. The patch adds necessary bits to the driver. The functions have intel_mid_* prefix due to more than one platform will use this code. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b49e0c56741fca538176f66ed3c8d16ce4fccd8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Feb 23 16:24:42 2015 +0200 dmaengine: append hsu DMA driver The HSU DMA is developed to support High Speed UART controllers found in particular on Intel MID platforms such as Intel Medfield. The existing implementation is tighten to the drivers/tty/serial/mfd.c driver and has a lot of disadvantages. Besides that we would like to get rid of the old HS UART driver in regarding to extending the 8250 which supports generic DMAEngine API. That's why the current driver has been developed. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84e0185efaf8de931e1aab0687d8f8acd186a1c0 Author: Joseph Kogut <joseph.kogut@xxxxxxxxx> Date: Sun Feb 22 17:26:57 2015 -0700 tty: serial: s/Medfile/Medfield Fixed misspelling of 'Medfield' Signed-off-by: Joseph Kogut <joseph.kogut@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb8478d7d676802211a9a5d77bd0f87899900e41 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Feb 23 11:34:30 2015 +0800 serial: ar933x_uart: Fix off-by-one for checking valid alias id Current code uses the alias id as array subscript of ar933x_console_ports. So the valid id is 0 ... CONFIG_SERIAL_AR933X_NR_UARTS - 1. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d267ea6539f266352f4739c718e278dc62b1df7 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:24:42 2015 +0100 serial: mctrl-gpio: simplify init routine Instead of ignoring errors returned by devm_gpiod_get_index use devm_gpiod_get_index_optional which results in slightly more strict error handling which is good. Also use the fourth parameter to devm_gpiod_get_index_optional to be able to drop the explicit direction setting. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e9f079c56517568868788945dc4a080de6e150b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:24:41 2015 +0100 serial: mctrl-gpio: don't check for struct mctrl_gpios * to be invalid Drivers using mctrl-gpio must not pass invalid values for struct mctrl_gpios *. All drivers were fixed in this regard and so some checks can go away or be simplified. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 343fda95481a7254fd81342370ba04ab255f95fe Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:24:40 2015 +0100 serial: mxs-auart: properly handle mctrl_gpio failing If mctrl_gpio_init returns an error code this value should be forwarded and the driver must not simply ignore this failure. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f059a455fc979e0e7f155d98bf628fccab1c5b88 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:24:39 2015 +0100 serial: clps711x: fail if mctrl_gpio_init fails mctrl_gpio_init is fully aware of being optional. If it returns an error code this indicates a real error that must not be ignored. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 722ccf416ac2804cdb9b5c84e81524fab775a577 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:24:38 2015 +0100 serial: atmel: fix error handling when mctrl_gpio_init fails mctrl_gpio_init at present doesn't return NULL. (It might be used in the future when no gpios are to be used indicating success.) Properly pass error returned and also make driver probing fail on error. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c89b73703ea3e61ab233560d2c6c4fc0963111dc Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 09:41:49 2015 -0500 tty: max3100: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f86a95d75386b47178335599264a000601e01ed Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Feb 7 15:46:41 2015 -0200 serial: imx: Do not store/restore the UBRC register UBRC is a read-only register, so we should not store and restore it inside imx_flush_buffer(). Reported-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16420ad05cdf82b27655a1e4554a8379a06c8075 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Wed Feb 4 18:21:22 2015 +0000 tty: serial/bcm63xx_uart: fix sparse warning this patch fixes following sparse warnings: bcm63xx_uart.c:857:43: warning: Using plain integer as NULL pointer bcm63xx_uart.c:871:35: warning: Using plain integer as NULL pointer Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3ac3fc287818a63072618b091074267bfa5184d Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Feb 4 15:03:48 2015 +0200 serial: 8250_dw: Add missing MODULE_ALIAS() for module autoloading support Without this the module does not load automatically whenever suitable platform device appears. Reported-by: Jerome Blin <jerome.blin@xxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b51e3f5ad5b2618702d689942dfaf7b15ea5eba4 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Feb 3 21:05:50 2015 +0100 sprd_serial: compile sprd_suspend and sprd_resume conditionally Building sprd_serial.o when CONFIG_PM_SLEEP is not defined triggers these warnings: drivers/tty/serial/sprd_serial.c:755:12: warning: â??sprd_suspendâ?? defined but not used [-Wunused-function] static int sprd_suspend(struct device *dev) ^ drivers/tty/serial/sprd_serial.c:764:12: warning: â??sprd_resumeâ?? defined but not used [-Wunused-function] static int sprd_resume(struct device *dev) ^ Let's compile these functions only when CONFIG_PM_SLEEP is defined. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad3d4fdc8ee6d268d90d1a29bccd5318fa071cab Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Tue Feb 3 16:16:06 2015 +0530 serial:imx make of_device_id array const Make of_device_id array const. Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ae4a16cf4b6d449778697701de1b2ea86726def Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Tue Feb 3 11:01:47 2015 +0100 tty: serial: 8250_core: Remove trailing whitespaces No functional changes. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61702c3e4f064250d11395fce7d3242a2cfcf9c1 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Feb 2 14:53:26 2015 +0200 serial: 8250_pci: convert to dev_pm_ops Convert the legacy system PM callbacks to new ones. Meanwhile, remove the redudant calls to the PCI for changing a power state since it's done by bus code. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 213dce3c17a6536e6f28548085dc9de2dae77eca Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Sat Jan 31 21:47:43 2015 +0800 tty: kconfig: remove the superfluous dependency on PPC_OF In the current kernel, the CONFIG_PPC_OF is always 'y' for the ppc arch. So we don't need to check it with other ppc specific options. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97f9f707d26dfe34368a5b88f1996f2eaf973b42 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Feb 20 19:12:57 2015 +0100 serial: core: replace current->state by __set_current_state() Use helper functions to access current->state. Direct assignments are prone to races and therefore buggy. Thanks to Peter Zijlstra for the exact definition of the problem. Suggested-By: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dcb34bbc3f3274b37a71a71f1b60ac96782a5ed Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Feb 25 16:06:09 2015 +0100 serial: pl010 is no longer broken As more ARM platforms are moving into ARCH_MULTIPLATFORM, we can now have integrator and versatile in the same kernel, and first one selects this driver, causing a Kconfig warning: warning: (ARCH_INTEGRATOR_AP) selects SERIAL_AMBA_PL010 which has unmet direct dependencies (TTY && HAS_IOMEM && ARM_AMBA && (BROKEN || !ARCH_VERSATILE)) It turns out that it has not been broken on versatile for a long time, so we can remove the statement here. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 197f4d6a4a00915b29fa7ec71f8010b9c763e676 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Thu Mar 5 19:35:25 2015 -0600 staging: fsl-mc: fsl-mc object allocator driver The fsl-mc object allocator driver manages "allocatable" fsl-mc objects such as DPBPs, DPMCPs and DPCONs. It provides services to other fsl-mc drivers to allocate/deallocate these types of objects. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2f2726b62f59424782516fd6d0d164892493ada Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Thu Mar 5 19:29:11 2015 -0600 staging: fsl-mc: Device driver for FSL-MC DPRC devices A DPRC (Data Path Resource Container) is an isolation device that contains a set of DPAA networking devices to be assigned to an isolation domain (e.g., a virtual machine). Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbf9d17d987544bd784fa0a6b99d756b0492e715 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Thu Mar 5 19:29:10 2015 -0600 staging: fsl-mc: Freescale Management Complex (fsl-mc) bus driver Platform device driver that sets up the basic bus infrastructure for the fsl-mc bus type, including support for adding/removing fsl-mc devices, register/unregister of fsl-mc drivers, and bus match support to bind devices to drivers. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31c889653c10ddaf1d2b4a47740e07fa4f10f375 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Thu Mar 5 19:29:09 2015 -0600 staging: fsl-mc: Added Freescale Management Complex APIs APIs to access the Management Complex (MC) hardware module of Freescale LS2 SoCs. This patch includes APIs to check the MC firmware version and to manipulate DPRC objects in the MC. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11201769d17ffe4b826035315aa03715938ae4b2 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 4 11:31:53 2015 +0100 staging: rts5208: Convert variable from int to bool and propagate the change to function parameters This patch convert local variables declared as int into booleans. It also propagates the conversion when these variables were used as function parameters. Coccinelle was used to generate this patch. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de904bf0e4610a7651f3eb0c8b7b63e2ae32b805 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Wed Mar 4 11:31:01 2015 +0100 staging: rts5208: Convert non-returned local variable to boolean when relevant This patch was produced using Coccinelle. A simplified version of the semantic patch is: @r exists@ identifier f; local idexpression u8 x; identifier xname; @@ f(...) { ...when any ( x@xname = 1; | x@xname = 0; ) ...when any } @bad exists@ identifier r.f; local idexpression u8 r.x expression e1 != {0, 1}, e2; @@ f(...) { ...when any ( x = e1; | x + e2 ) ...when any } @depends on !bad@ identifier r.f; local idexpression u8 r.x; identifier r.xname; @@ f(...) { ... ++ bool xname; - int xname; <... ( x = - 1 + true | x = - -1 + false ) ...> } Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6725e52d22a4d99ea752fa0d0422a3a544545b03 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:50 2015 -0500 staging: rtl8723au: Eliminate ODM_SetBBReg() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2635f19c7aeed25d90ac69958c249dd3fe2f787a Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:49 2015 -0500 staging: rtl8723au: odm.c: Further reduce the use of ODM_SetBBReg() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 902cb3afab8d4c924376de51ec5c02d171992914 Author: Sébastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Date: Fri Mar 6 16:49:38 2015 -0800 Input: add support for Semtech SX8654 I2C touchscreen controller Signed-off-by: Sébastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 771d8f1b178e7e09fcc641fccd48852958dbc329 Author: Aleksei Mamlin <mamlinav@xxxxxxxxx> Date: Fri Mar 6 16:43:38 2015 -0800 Input: goodix - add device tree support This change adds device tree support and binding information for Goodix GT9xx series touchscreen controller. It also adds support for 5-finger chips, like GT911 and GT912, which can be found on ARM tablets, such as Wexler TAB7200 and MSI Primo73. Datasheets can be found here: https://drive.google.com/folderview?id=0BxCVOQS3ZymGfmJyY2RKbE5XbVlKNlktVTlwV0lxNEdxd2dzeWZER094cmJPVnMxN1F0Yzg&usp=sharing Signed-off-by: Aleksei Mamlin <mamlinav@xxxxxxxxx> Reviewed-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a7ac7c95d4682883d141c5d7a7544d2818f0a09f Author: Aleksei Mamlin <mamlinav@xxxxxxxxx> Date: Fri Mar 6 16:38:16 2015 -0800 Input: goodix - use max touch number from device config Use max number of touches from device config instead of hardcoding. Signed-off-by: Aleksei Mamlin <mamlinav@xxxxxxxxx> Tested-by: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Bastien Nocera <hadess@xxxxxxxxxx> Tested-by: Antonio Ospite <ao2@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e92865edebe90cde1eef968cf85acb6613e5695f Author: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Date: Thu Mar 5 23:25:51 2015 -0800 Input: use more descriptive KEY_ROTATE_DISPLAY instead of KEY_DIRECTION Signed-off-by: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit bfd30caebaba7f00c13eec3c538799202d36d12a Author: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Date: Thu Mar 5 23:15:07 2015 -0800 Input: rename KEY_DIRECTION to KEY_ROTATE_DISPLAY The new name better reflects intended usage (but we are keeping the old name as an alias for compatibility). Signed-off-by: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3f9cb6a093030f8deb5785b4cddcbffdf1aa4c3e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:48 2015 -0500 staging: rtl8723au: Eliminate ODM_GetBBReg() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53de9947e3488b743a6cec200e967237af481b11 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:47 2015 -0500 staging: rtl8723au: Get rid of ODM_Read4Byte() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c43b3e319f558acebd2e05bd24b5ba0bed27c3f2 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:46 2015 -0500 staging: rtl8723au: Remove various ODM_* register access wrappers Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f092cc7eacb35cf9a7f0a86813094b5c78e476f Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:45 2015 -0500 staging: rtl8723au: Eliminate ODM_Write1Byte() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f3cf84fceb77a62e0d9ea0d003fea619c99db4e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:44 2015 -0500 staging: rtl8723au: odm_ConfigBB_PHY_8723A() always issues 32 bit writes Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 539b61bfd79bee0663f438009d21013abd36f17b Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:43 2015 -0500 staging: rtl8723au: odm_ConfigBB_AGC_8723A() always does 32 bit writes Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a39bd1f53c5cea79db22b37a59b75dbee6e36aa3 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:42 2015 -0500 staging: rtl8723au: odm.c: Use rtl8723au_{read, write}32() for 32 bit register access Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c177a8c7799651c1a62b007d16300e50688c287 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:41 2015 -0500 staging: rtl8723au: usb_halinit.c: Use rtl8723au_{read,write}32() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbe2d4dfde1941aa14c0a13e9dbc9044b522086e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:40 2015 -0500 staging: rtl8723au: rtl8723a_phycfg.c: Use proper register read/write functions Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3ced7caa245e5cf2bd628e6fd8b6581f30acb50 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:39 2015 -0500 staging: rtl8723au: writeOFDMPowerReg() use rtl8723au_write32() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 598fda7b1c16e79ca363b20c4ae9c1321bfe0c14 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:38 2015 -0500 staging: rtl8723au: Clean up PHY_{Query,Set}BBReg() 32 bit read/writes This switches pure 32 bit read/writes to use the rtl8723au_{read,write}32() functions directly. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfd83bbe92e89b27b7809ae1cffc142dfb763db6 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:37 2015 -0500 staging: rtl8723au: Reduce the usage of ODM_[GS]et_BBReg() The vendor code has at least three different APIs for accessing registers. One more ugly than the other. This is the start to move away from ODM_[GS]et_BBReg() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit def0c450585089be57bf090c37dbd85d53587053 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:36 2015 -0500 staging: rtl8723au: Remove pointless wrappers around odm_TXPowerTrackingInit() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb514494539196965e9b884a335ccc33b494ff13 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:35 2015 -0500 staging: rtl8723au: Remove a number of unused entries from struct dm_odm_t Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2073f3b0df8d22ed368bb27f0c3cc87487a25d4 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Mar 5 14:24:34 2015 -0500 staging: rtl8723au: Remove unused struct rx_hp Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90ca409a1e6b9b72d1b6ae716cd7a63335fd0e87 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Feb 27 18:48:39 2015 +0100 ARM: shmobile: ape6evm dts: Configure the custom switch as wake-up source Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a104662052b5863663d11895667f0f8a755cd826 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Feb 27 18:48:38 2015 +0100 ARM: shmobile: ape6evm dts: Enable pull-up for GPIO switches The switches on r8a73a4/ape6evm do not have pull-up registers. The schematics say: "Need to use APE6 internal PullUp", hence enable pull-up using pinctrl. Without this, the switches don't really work, as the GPIO inputs are more likely to pick up ghost signals through capacitive coupling than actual keypresses. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit dae7f15e538537d58eb1b9f7046600d98af16cd7 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Sat Feb 28 21:54:42 2015 +0100 staging: iio: hmc5843: Set iio name property in sysfs Without this change file name for hmc5843 is empty in /sys/bus/iio/devices/iio\:device*/name With this change name is reported correctly: cat /sys/bus/iio/devices/iio\:device*/name hmc5843 Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c1d2dcb64db1d881d1822b5789022a03bc6abe4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Mar 3 09:55:43 2015 -0300 staging: dgap: Avoid name collision Building for ARM64 leads to the following build warning: In file included from drivers/staging/dgap/dgap.c:66:0: drivers/staging/dgap/dgap.h:124:0: warning: "PCI_IO_SIZE" redefined #define PCI_IO_SIZE 0x00200000 ^ In file included from ./arch/arm64/include/asm/page.h:66:0, from include/linux/mm_types.h:15, from include/linux/sched.h:27, from ./arch/arm64/include/asm/compat.h:25, from ./arch/arm64/include/asm/stat.h:23, from include/linux/stat.h:5, from include/linux/module.h:10, from drivers/staging/dgap/dgap.c:47: ./arch/arm64/include/asm/memory.h:39:0: note: this is the location of the previous definition #define PCI_IO_SIZE SZ_16M ^ Use PCI_IO_SIZE_DGAP to avoid the name collision. Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08e03c268e3af302649bb85f79fb7c78c9e22ec8 Author: Martyn Welch <martyn.welch@xxxxxx> Date: Thu Feb 26 18:53:11 2015 +0300 vme: tsi148: Master windows support USERx and CR/CSR accesses, not slaves The tsi148 driver is registering the slave images as supporting the "USER" access modes and CR/CSR access mode rather than the master images as it should. Remove the incorrect case entries for these modes from the tsi148_slave_set() function, stop registering slave_images as supporting these modes and instead register master windows as supporting these modes. Signed-off-by: Martyn Welch <martyn.welch@xxxxxx> Acked-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c74a804f115bdedcac72ea52ca33f46cfae3b74f Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Thu Feb 26 18:53:10 2015 +0300 staging: vme: mmap() support for vme_user We also make sure that user won't be able to reconfigure the window while it is mmap'ed. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Cc: Martyn Welch <martyn.welch@xxxxxx> Cc: Igor Alekseev <igor.alekseev@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0cd189a42da07c89c809debc1f6a75f5ec0f5c43 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Thu Feb 26 18:53:09 2015 +0300 staging: vme: use image mutex for ioctl() This implements more granular locking in vme_user_ioctl() by using separate locks for each devfs device. This also provides a synchronization between vme_user_read(), vme_user_write() and vme_user_ioctl(). Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Cc: Martyn Welch <martyn.welch@xxxxxx> Cc: Igor Alekseev <igor.alekseev@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad22d55c4b304a163c7372c00768f50adaecc686 Author: Matteo Semenzato <mattew8898@xxxxxxxxx> Date: Wed Mar 4 19:53:10 2015 +0100 Staging: rtl8192e: remove assignment of function parameter This patch removes the assignment of a function parameter that has no effect. Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6b0012c2d410704782301299d36d311f9a39334 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Thu Mar 5 14:12:15 2015 +0100 staging: rtl8192e: Remove unnecessary OOM message This patch reduces the kernel size by removing error messages that duplicate the normal OOM message. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @@ identifier f,print,l; expression e; constant char[] c; @@ e = \(kzalloc\|kmalloc\|devm_kzalloc\|devm_kmalloc\)(...); if (e == NULL) { <+... - print(...,c,...); ... when any ( goto l; | return ...; ) ...+> } Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d08c028c75e293598b9f3e2c8ad87fb43199298c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:45 2015 -0800 staging: rtl8192x: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5877ecc3f70fc3af1fb36c25503391a0244b461f Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Fri Feb 20 18:14:24 2015 -0800 Staging: rtl8192u: ieee80211: dot11d: added parenthesis to RESET_CIE_WATCHDOG macro Added parenthesis to RESET_CIE_WATCHDOG macro to resolve checkpatch error. Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f4380427bf8447c8282930d8aeb5949b37ee4d3 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Thu Feb 19 21:54:10 2015 -0800 Staging: rtl9182u: r819xU_firmware: Replaced C99 comments with C89 Replaced C99 comments with C89. Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23723ea046d7ee7cdf0144cf244170a7c39a2e60 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Thu Feb 19 21:54:09 2015 -0800 Staging: rtl8192u: r819xU_firmware: removed commented out assert Removed an assert that was commented out. The comment provides no documentation value as rt_status is properly handled. Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8edd9e7cf1a051688923c66bdba0cab38cdb7d9d Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Thu Feb 19 21:54:08 2015 -0800 Staging: rtl8192u: r819xU_firmware: removed commented out variable Removed commented out variable Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 535f2e7df820d84fd8a4395bb52f19846f6a2290 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sat Feb 7 15:56:10 2015 +0100 staging: rtl8192u: r8192U_core: Fix driver_info dereference as a null pointer Fix possible use of use of driver_info as a null pointer in query_rxdesc_status() This could happen if stats->RxIs40MHzPacket still has the default value of zero. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b08872e59309458a54ed00cded95eeda43426e5 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:26 2015 -0500 staging: unisys: remove LOGWRN() macros and uniklog.h Remove the last set of macros from uniklog.h. Without LOGWRN() and friends, uniklog.h is empty so we can delete the file itself as well. This macro was not used a lot but the file was included in many places. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0aca78449b58603586df83cca1e9eaba1acc1cfd Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:25 2015 -0500 staging: unisys: remove ERRDEV macros Remove the LOGERR, LOGERRDEV, LOGERRDEVX, LOGERRNAME, LOGORDUMPERR macros from all the drivers. In one case the removal of the ERRDRV() changed things such that a macro which returned a value was needed, but the return value was no longer being used. In this case the macro was replaced with the contents of the macro, but with the truth calculation removed so that it would not generate a warning. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61620a1b187f645a13e77763b367e52ac129f411 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:24 2015 -0500 staging: unisys: remove LOGVER macro Remove the LOGVER macro from the drivers entirely. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a84fec17106f03100aa7f41c96b78f9c0b6531b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:23 2015 -0500 staging: unisys: remove ASSERT() macro Remove the ASSERT macro from timskmod.h, and replace its single use with WARN_ON() instead. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2098dbd1b2a8e428001e0d075ae148124af6f57d Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:22 2015 -0500 staging: unisys: remove LOGINF macros Remove the LOGINF, LOGINFDEV, LOGINFDEVX, LOGINFNAME, PRINTKDRV, and INFODRV macros entirely from the driver set. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4de57acbb6fddea4159dfcb62440b1e1309e3d9e Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Wed Mar 4 12:14:21 2015 -0500 staging: unisys: remove DBGINF, DBGVER, DEBUGDEV, and DEBUGDRV macros The messages put out by these macros are for driver debugging and aren't needed any more, so just remove all use of them, and the macros too. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9fabbde633e2d567a2c0f9e29e4e4d2f9bf5196 Author: Drew Fustini <pdp7pdp7@xxxxxxxxx> Date: Wed Mar 4 02:10:11 2015 -0600 Staging: fbtft: add header for internal functions Remove extern keyword from function prototypes to suppress warning from checkpatch.pl with --strict option: https://lkml.org/lkml/2013/7/23/422 fbtft maintainer Noralf Tronnes advised these functions are internal to this module & suggested moving these prototypes to new internal.h file. He also advised fbtft.h file will eventually live in include/linux/fbtft.h Suggested-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Signed-off-by: Drew Fustini <pdp7pdp7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 980ac4d7db69a3d9970f8eb545f90057afb6785e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 3 16:21:07 2015 +0530 MAINTAINERS: update for sm750fb driver add myself and Teddy Wang as the Maintainer of the sm750 frame buffer driver. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81dee67e215b23f0c98182eece122b906d35765a Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Mar 3 16:21:06 2015 +0530 staging: sm750fb: add sm750 to staging sm750 of Silicon Motion is pci-e display controller device and has features like dual display and 2D acceleration. This patch adds the driver to staging. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3d6047d95fad6d70894d7ff79d49e47deae41e5 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Feb 10 17:38:40 2015 +0530 staging: sm7xxfb: make vgamode static the variable vgamode is used only in this file and hence can be safely made as static. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a3386b15f40e3750b52b9be7a84100edc9ae0f6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:44 2015 -0800 staging: i2o: Remove use of seq_printf return value The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8895f04b7a0c203af80a40f6bd0c85ac1fb3f7d7 Author: Yannick Guerrini <micronity@xxxxxxxxx> Date: Thu Feb 26 17:36:33 2015 +0100 staging: rtl8188eu: Fix trivial typos in comments Change 'disabed' and 'disabel' to 'disabled' Change 'inviation' to 'invitation' Change 'negoitation' to 'negotiation' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 733345ec4ee3756822d455fc809f40713975bf76 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Feb 11 16:57:08 2015 +0530 staging: panel: initialize lcd if lcd enabled initialiaze lcd parameters only if lcd is enabled. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f43de77c9dddba86284f7cb58c5e257ebed843a3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Feb 10 17:26:02 2015 +0530 staging: panel: register driver after checking device register the driver only if lcd or keypad has been enabled and if both are disabled then just exit. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ab81fb7a968c81d16fa00584487d7f1e7211887 Author: Matteo Semenzato <mattew8898@xxxxxxxxx> Date: Sat Feb 28 15:28:15 2015 +0100 Staging: vt6655: fix C99 comments This patch fixes the following warning: do not use C99 // comments Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb72dd53d7e5b8a13f5a2bbc1a3f0111fdc6450d Author: Alex W Slater <alex.slater.dev@xxxxxxxxx> Date: Thu Feb 26 20:09:26 2015 +0000 staging: vt6655: Cleanup C99 comments Fix checkpatch.pl errors: "ERROR: do not use C99 // comments" Signed-off-by: Alex W Slater <alex.slater.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e59b047ccb64c57e5a372ca1877b5ad979fdfdb Author: Matt <mattew8898@xxxxxxxxx> Date: Sat Feb 21 10:40:02 2015 +0100 Staging: vt6655 fix C99 style comments Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 636cd168064937408114cb6cd9d2fa5095ac827c Author: Ivan Stankovic <pokemon@xxxxxxxxxxxxxx> Date: Thu Feb 12 22:08:26 2015 +0100 staging: vt6655: fix coding style issues in channel.c Observe the line length limit to make checkpatch.pl happy. Signed-off-by: Ivan Stankovic <pokemon@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d34add05946ffda90ad5c4f0f71af2819748c660 Author: Christian Engelmayer <cengelma@xxxxxx> Date: Wed Feb 11 20:33:15 2015 +0100 staging: vt6656: Fix possible leak in vnt_download_firmware() When failing to allocate buffer memory, function vnt_download_firmware() goes through the wrong exit path and fails to release the already requested firmware. Thus use the correct cleanup. Detected by Coverity CID 1269128. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Reviewed-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6498613d2cf23269a6a483a751f61655115de251 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Tue Feb 10 11:42:08 2015 +0100 staging: ozwpan: Move code from success handling to error handling The original version was success handling rather than error handling, therefore this patch reduces nesting. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e03b7297f8e8968e98ff9eab57e0f92e106248ad Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Tue Feb 10 10:24:12 2015 +0100 staging: ozwpan: Remove allocation from delaration line This patch removes allocation from declaration line because people are known to gloss over declarations. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f9dca1e7d5a5463f9e9cc4e1f5c8e9bc9d118a9 Author: Salah Triki <salah.triki@xxxxxxx> Date: Thu Mar 5 03:50:24 2015 +0100 Staging: dgnc: Fix checking return value of register_chrdev The failure code is negative. So check <0 instead of <=0. Return the failure code instead of -ENXIO. Signed-off-by: Salah Triki <salah.triki@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 834d86735d2b12c74d252addf20fc448bae8f813 Author: Salah Triki <salah.triki@xxxxxxx> Date: Sun Mar 1 23:18:50 2015 +0100 staging: dgnc: fix braces {} are not necessary for single statement blocks This patch fixes the following checkpatch.pl warning: braces {} are not necessary for single statement blocks Signed-off-by: Salah Triki <salah.triki@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87643abf92484074937594897145bb53efc0e77e Author: Matthew Tyler <matt.tyler@xxxxxxxxxxxx> Date: Fri Mar 6 18:09:27 2015 +0800 staging:lustre:libcfs: Merge linux-proc.c into module.c module.c was previously the sole exporter of symbols from linux-proc.c This patch removes the global symbols by merging the two files Signed-off-by: Matthew Tyler <matt.tyler@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 804db5d06d549119b885443d9b2dc2da7d80f149 Author: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Date: Mon Mar 2 21:09:48 2015 -0300 staging: lustre: space prohibited between function name and open parenthesis '(' This patch fixes checkpatch.pl warning. WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c96d236f8f4d479d25cb493c8ec240f7129709ca Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Mar 2 01:01:47 2015 -0500 staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_ Rusty Russel advises that cpus_* functions are deprecated to work on cpumasks and cpumask_* functions should be called instead, otherwise problems with CPUMASK_OFFSTACK arise. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6301647b1873250cb8aac18e02a4ea062e72278e Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Mar 2 01:01:46 2015 -0500 staging/lustre/ptlrpc: Do not use deprecated cpus_* functions As per Rusty Russel, cpus_* functions are deprecated. When mixing cpumask_copy with cpus_weight, they operate on different sized masks if CPUMASK_OFFSTACK is enabled, causing an immediate assertion failure. Copying of cpumasks by assignment is also not allowed now. Additionally, in ptlrpc/service.c avoid the cpumask copies, since we only use it to check how many siblings are there for core #0 and nothing else. Reported-by: Tyson Whitehead <twhitehead@xxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ac986d098ee81b75973a0c2f46a9a4edef2a8c6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 13:21:18 2015 -0700 staging: comedi: drivers/*.c: add missing braces {} to if/else branches According to the CodingStyle, braces should be used on all branches if thet are used on any branch, Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8f4b98f47e498a823d1b82b8f3848d81183ea22 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 13:21:17 2015 -0700 staging: comedi: drivers/*.c: remove unnecessary blank lines Blank lines are not needed before a close brace '}' or after an open brace '{'. Also remove any multiple blank lines. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c7d2c8b5230272b394d51462c8cae46df09f126 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 13:21:16 2015 -0700 staging: comedi: drivers/*.c: alignment should match open parenthesis Fix the alignment issues in all the comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9949595c0da61ff2aecc90c3a8e924848e6ac03b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 13:21:15 2015 -0700 staging: comedi: drivers/*.c: fix common misspellings Fix these common misspellings: s/dependancy/dependency s/occured/occurred s/informations/information s/intialize/initialize s/serveral/several s/interrups/interrupts s/acknowledgement/acknowledgment s/suppport/support s/writting/writing Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 857ced45a548c3f8196d6e45079678ab3c9f3581 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:42 2015 -0700 staging: comedi: s626: remove unnecessary 'cmd' pointer checks The local variable 'cmd' is a pointer to the address of a member variable of a struct. It will always be valid. 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 4c36fdde64f858ce167ad69859c89b1a8c9b6fb0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:41 2015 -0700 staging: comedi: kcomedilib_main: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6be154812114819873e8254c8d89679a11ac21c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:40 2015 -0700 staging: comedi: ni_mio_common: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56e97078602996123d849b7621442a934aa19b77 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:39 2015 -0700 staging: comedi: ni_tiocmd: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9bacea57f445a2bc199401d1149d6f323c531028 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:38 2015 -0700 staging: comedi: ni_pcimio: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ce82def8da5787d8661fa5f7d5f7c899b5a20d9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:37 2015 -0700 staging: comedi: ni_pcidio: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1bce7fd0d930a60af858039239d824973d147ab Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:36 2015 -0700 staging: comedi: ni_labpc_common: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77ba71f6485d2b7f923987b173d590b3003bc2a6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:35 2015 -0700 staging: comedi: ni_atmio: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 307da4b2e89c388d2e44efdd6899d4d1d8429806 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:34 2015 -0700 staging: comedi: ni_660x: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5effdf708100fd5eeeaa8c7bbbed3b90cbb70cf5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:33 2015 -0700 staging: comedi: mite: (!foo) preferred over (foo == NULL) Also, clarify the 'ring' allocation failure by returning NULL instead of 'ring' (which would be NULL). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 854472c27046646f3f258970a9fee9ab1e5d7593 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:32 2015 -0700 staging: comedi: cb_pcidas64: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d719cecc08ecc58040ffd751423810b4c19d772 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:31 2015 -0700 staging: comedi: amplc_pci230: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0048b9923daced04ffcb3b9974019b488ce19e8f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:30 2015 -0700 staging: comedi: amplc_pci224: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2850160763e716e55fa6328bfab335cac90fc80 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:29 2015 -0700 staging: comedi: drivers: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88cc30cfcfd38d81da3f8b4d9cedb16556c5fdfc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Mar 4 12:15:28 2015 -0700 staging: comedi: comedi_fops: (!foo) preferred over (foo == NULL) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62af7214d8c3c9c81788e988cf99bfb02da77d0b Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:07:13 2015 +0300 Staging: ste_rmi4: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb856202b9f11735237db61c2d4d647825c123e1 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:05:05 2015 +0300 Staging: slicoss: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3daf9df3bab88a14135b5b83713c64d5a58af60d Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:03:53 2015 +0300 Staging: iio: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 651cd163ba038079fd4796f046ba77c216e22a2c Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:03:05 2015 +0300 Staging: rts5208: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce82410c76374be44a4dbd60b906e896a5e20687 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:01:38 2015 +0300 Staging: comedi: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99beca13675c842b83d83e5d5b24d3a80dde1f58 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:00:42 2015 +0300 Staging: gdm72xx: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c6ccbeb510fe48ed8808067cd7cbf92f7e8ebac Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 22:00:10 2015 +0300 Staging: media: clean dev_err logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aed1c72e447f0ac0985eecbe1c2403eb7176d606 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 21:59:04 2015 +0300 Staging: fbtft: clean dev_err() logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout. This was done using Coccinelle, with the following semantic patch: @a@ expression E, R; expression msg; @@ dev_err(E, msg, __func__, R); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", "", 1); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", "", 1); coccinelle.y = m; elif(e.find("%s:") == True): m = e.replace("%s:", "", 1); coccinelle.y = m; else: m = e.replace("%s", "",1); coccinelle.y = m; @c@ expression a.E, a.msg, a.R; identifier b.y; @@ - dev_err(E, msg, __func__, R); + dev_err(E, y, R); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14f63eeecfa3ca092f1c83755303161e53a9c641 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Mar 6 20:01:07 2015 +0300 Staging: media: Replace dev_err with pr_err to avoid null pointer derefrence This patch replace dev_err with pr_err, for pointer is derefrenced after comparing it to NULL. This was found using the following coccinelle script: @disable is_null@ identifier f; expression E; identifier fld; statement S; @@ + if(E == NULL) S f(...,E->fld,...); -if(E == NULL) S; @@ identifier f; expression E; identifier fld; statement S; @@ + if(!E) S f(...,E->fld,...); -if(!E) S; Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd25503f5a6f0b0d6d66185461a358e8218db745 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Thu Mar 5 13:01:49 2015 +0300 Staging: comedi: Clean dev_err() logging This patch removes __func__ from dev_err. dev_err includes information about: (devcice, driver, specific instance of device, etc) in the log printout, so there is no need for __func__. This was done using Coccinelle, with the following semantic patch: @a@ expression E; expression msg; @@ dev_err(E, msg, __func__); @script:python b@ e << a.msg; y; @@ if(e.find("%s: ") == True): m = e.replace("%s: ", ""); coccinelle.y = m; elif(e.find("%s ") == True): m = e.replace("%s ", ""); coccinelle.y = m; else: m = e.replace("%s", ""); @c@ expression a.E, a.msg; identifier b.y; @@ - dev_err(E, msg, __func__); + dev_err(E, y); Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d67b3a2f3bd82bfa75f34d9e816788d133d63b5 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Mar 5 00:51:46 2015 +0100 Staging: rtl8192u: Replace TRUE with true This patch replaces TRUE by true, since Linux kernel has already a boolean type, bool, defined in linux/stddef.h Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67d095a0405adefd019f0abaa291fe9664257f6b Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Wed Mar 4 23:15:16 2015 +0200 Staging: rtl8723au: Fixed error 'else should follow close brace '}". This patch fixes error 'else should follow close brace '}" found by checkpatch in driver rtl8723au. Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 708bca5dc480412fc61030806eb0520d4c8590d7 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Wed Mar 4 21:32:49 2015 +0200 Staging: unisys: Remove unnecessary semicolon This fixes the checkpatch.pl warning: WARNING: macros should not use a trailing semicolon. Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19cd22972fbe419235b380a94f31c826809cafec Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Mar 4 12:37:28 2015 +0200 Staging: drivers: Bool initializations should use true/false This patch replaces bool initializations of 1/0 with true/false in order to increase readability and respect the standards. Warning found by coccinelle. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a568dc1f3779c9fde5a58bf793574ecd7024090a Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Wed Mar 4 14:15:05 2015 +0530 staging: rtl8192e: Remove if conditions. This patch removes if conditions with no exececutable statements in the bodies of those ifs and also no variable assignments in the if conditional checks. The call to rtllib_act_scanning in the condition doesn't have any side effects as it too performs conditional checks without changing any values. Hence, it's safe to remove the if condition. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bd52fb13a56a9dbe7780480d0c66a5b8e450743 Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 4 14:10:46 2015 +0530 Staging: rtl8188eu: Remove unnecessary return statements This patch removes unnecessary return statement from a void function. This issue is identified by checkpatch.pl Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aea42ee42196ee164b46eda047953c0974536d5b Author: Somya Anand <somyaanand214@xxxxxxxxx> Date: Wed Mar 4 14:10:44 2015 +0530 Staging: rtl8188eu: Remove redundant local variable This patch removes a redundant variable "raid" and adds inline return statements. This issue is identified by the following coccinelle script: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Somya Anand <somyaanand214@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22905b8594d58a6fceeb4510a57e34571a075b45 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 09:00:02 2015 +0200 staging: rtl8712: replace memset(x,0,ETH_ALEN) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The aforementioned function replaces memset. In addition, linux/etherdevice.h was included as a header since it is the file that defines the inline function eth_zero_addr(). The changes were carried out using the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e5d9433412d34f02a83edd265605bfe6c347a0a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:56:45 2015 +0200 staging: rtl8188eu: replace memset(x,0,ETH_ALEN) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The aforementioned function replaces memset. In addition, linux/etherdevice.h was included as a header since it is the file that define the inline function eth_zero_addr(). The changes were carried out using the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a06487242467aa9511470f1f92184ae1a9149d37 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:20:14 2015 +0200 staging: unisys: virthba: remove extra parentheses around left bit shift operations Removes extra parentheses around bitwise left shift operations. The case handled is when resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 << -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e << -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e << -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e28c2a24aedbd64bf9cc1391ca203e9aa95d757 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:19:50 2015 +0200 staging: slicoss: remove extra parentheses around left bit shift operations Removes extra parentheses around bitwise left shift operations. The case handled is when resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 << -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e << -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e << -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a80ee6f8871a81afb4fd919133ae5be3b656d44 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:19:24 2015 +0200 staging: rts5208: remove extra parentheses around left bit shift operation Removes extra parentheses around bitwise left shift operations. The case handled is when resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 << -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e << -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e << -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbc9eb5af20578a931efb6fac721e9a977c5171b Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:18:47 2015 +0200 staging: ozwpan: remove extra parentheses around left bit shift operations Removes extra parentheses around bitwise left shift operations. The case handled is when resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 << -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e << -c); +c; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e21bf3388b960bce8dd2d7bc17331f3b8020fd9f Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 08:18:19 2015 +0200 staging: lustre: remove extra parentheses around left bit shift operations Removes extra parentheses around bitwise left shift operations. The cases handled here are when resultant values are assigned to variables. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 << -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e << -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e << -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ea755f3e8b05445ee6029c6b497a30f1e6a7bf6 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:35:48 2015 +0200 staging: xgifb: remove extra parentheses around right bit shift operations Removes extra parentheses around bitwise right shift operations. The cases handled here are when resultant values are assigned to variables. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6de3f58bc32cc10516b286b26476d5aa65c6d1e5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:35:28 2015 +0200 staging: speakup: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The case handled is when the resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a659b3e807a9e0a3f4b48ffbd491dbcab8e7d1d6 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:34:52 2015 +0200 staging: slicoss: remove extra parentheses around right bit shift operations Removes extra parentheses around bitwise right shift operations. The cases handled here are when resultant values are assigned to variables. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Some coding style issues were handled manually to avoid checkpatch warnings and errors. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1bc88f1d94f1b34ef0ae27d3c6801a6fdac1f60 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:34:07 2015 +0200 staging: rtl8723au: remove extra parentheses around right bit shift operations Removes extra parentheses around bitwise right shift operations. The cases handled here are when resultant values are assigned to variables. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25978642332b10efcaf67b1a26dbfa04949c2e7b Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:33:39 2015 +0200 staging: rtl8712: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The cases handled are when the resultant value is assigned to a variable or when a shift operation is carried out for a function argument. The issues were detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9eb9e69536ba00d2dbe4f481b20ced67053a6c08 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:33:06 2015 +0200 staging: rtl8192u: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The cases handled are when the resultant value is assigned to a variable or when a shift operation is carried out for a function argument. The issues were detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Some coding style issues were handled manually to avoid checkpatch warnings and errors. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c401c1dc9739580d758dfa88ec568897c2e2dfd Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:32:30 2015 +0200 staging: rtl8192e: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The cases handled are when the resultant value is assigned to a variable or when a shift operation is carried out for a function argument. The issues were detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Some coding style issues were handled manually to avoid checkpatch warnings and errors. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07add2d38d48ca168b266c0f4f6af923bb9886e3 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:31:56 2015 +0200 staging: rtl8188eu: remove extra parentheses around right bit shift operations Removes extra parentheses around bitwise right shift operations. The cases handled here are when resultant values are assigned to variables. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6182930bdb207789c3c92051c2c4a03f5da8f6ee Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:31:19 2015 +0200 staging: media: lirc: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The case handled here is when the resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11d6e5c5623a1cdbee1560f4957c070b0ea76b22 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:30:49 2015 +0200 staging: media: bcm2048: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The case handled here is when the resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a354e0d8d2ce4beb61097eeac6069b41c0797ed3 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:30:18 2015 +0200 staging: lustre: llite: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The case handled here is when the resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 159dc4bff27a300d2c70108bf49ae01f6d1b34f2 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:29:28 2015 +0200 staging: lustre: lclient: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operations. The cases handled here are when the resultant value is assigned to a variable. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25ff6f8da004f49c2cab55a51cf8c250d21e9738 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Wed Mar 4 07:28:48 2015 +0200 staging: comedi: drivers: remove extra parentheses around right bit shift operation Removes extra parentheses around bitwise right shift operation. The issue was detected and resolved using the following coccinelle script: @@ expression e, e1; constant c; @@ e = -(e1 +e1 >> -c); +c; @@ identifier i; constant c; type t; expression e; @@ t i = -(e +e >> -c); +c; @@ expression e, e1; identifier f; constant c; @@ e1 = f(..., -(e +e >> -c) +c ,...); Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1f4775ab57605a5e2003cd96034145d791abf62 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Fri Feb 27 23:22:54 2015 +0100 powerpc: Fix comment in smu.h Change 'Kenrel' to 'Kernel' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 94bcf830114a7a062d46344088cee33ac4b65df7 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Thu Feb 26 22:49:34 2015 +0100 qla2xxx: Fix printks in ql_log message Change 'Fimware' to 'Firmware' Change 'enalbled' to 'enabled' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Acked-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 28ca84e04803786d63277c8bb23c60c7f57f1cdc Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Thu Feb 26 20:19:03 2015 +0100 lib: correct link to the original source for div64_u64 The code refers to an invalid url http://www.hackersdelight.org/HDcode/newCode/divDouble.c.txt The correct url is http://www.hackersdelight.org/hdcodetxt/divDouble.c.txt Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2701e84f8beaa878af13187d4cd7c040a8953b32 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Thu Feb 26 11:13:06 2015 +0100 si2168, tda10071, m88ds3103: Fix firmware wording Change 'firmare' to 'firmware' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7a35a865049f60f0891797f46150d3b611a64d0b Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Tue Feb 24 16:42:45 2015 +0100 usb: storage: Fix printk in isd200_log_config() Change 'Supsend' to 'Suspend' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6ef68da70f5242f71a2bc76fc8d78b473d6b5c05 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Mon Feb 23 23:26:50 2015 +0100 qla2xxx: Fix printk in qla25xx_setup_mode Change 'enalbed' to 'enabled' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Acked-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit fc454fdc108e44bf7e7ebd39f8209a2d021dd8ca Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Mon Feb 23 22:05:56 2015 +0100 init/main: fix reset_device comment Fix incorrect spelling of situation. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 52df3d5b6a49dc3d867abb5414315490dd0098ef Author: Alan <gnomes@xxxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 21:43:35 2015 +0000 ipwireless: missing assignment We never report the error because we don't assign it to ret. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2a2483685a9decd0af60f1dc9e49f46f9e65891b Author: Alan <gnomes@xxxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 21:11:13 2015 +0000 goldfish: remove unreachable line of code Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit d38712a7e2773ed4bc4f694cfa7bcbee4f804675 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Thu Feb 5 14:35:05 2015 +0100 coredump: Fix do_coredump() comment Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f38bacb3ebdd30ae4695735a82497659ba05d9fa Author: Himanshu Maithani <hmaithani@xxxxxxxxx> Date: Fri Jan 30 01:31:14 2015 +0530 stacktrace.h: remove duplicate declaration task_struct There is duplicate declaration for struct task_struct. One can be removed safely. Signed-off-by: Himanshu Maithani <hmaithani@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c5b66e47251d797e38f3ee8ec8d613780506c245 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Fri Jan 23 13:36:55 2015 +0800 smpboot.h: Remove unused function prototype Function smpboot_thread_schedule() is neither used nor defined, so kill it. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit d939be3add4f1410079dad2755d4936cdb70903b Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Fri Feb 27 23:52:31 2015 +0900 treewide: Fix typo in printk messages This patch fix spelling typo in printk messages. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f42cf8d6a3ec934551ac0f20f4654dccb11fa30d Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Tue Feb 24 23:11:26 2015 +0900 treewide: Fix typo in printk messages This patch fix spelling typo in printk messages. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 637473cf006fe4cd85aed0fb69b6c917d868ada2 Author: Sharon Dvir <sharon.dvir1@xxxxxxxxxxxxxxx> Date: Thu Jan 22 12:15:25 2015 +0200 mod_devicetable: fix comment for match_flags Signed-off-by: Sharon Dvir <sharon.dvir1@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 015fdaa9f8edd89a456b3331088e1b77ebdad9d0 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Fri Mar 6 11:14:42 2015 -0500 HID: multitouch: add support of clickpads Touchpads that have only one button are called clickpads and should be advertised as such by the kernel. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Tested-by: Jason Ekstrand <jason@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 34de26d366ea49d99be633ae389e751fd5d592f5 Merge: 2048823 88bae71 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 15:49:35 2015 -0500 Merge branch 'fib_trie-next' Alexander Duyck says: ==================== The rest of the FIB patches (add key_vector to fib_table) This patch series is the rest of what I had originally planned for this kernel release. It adds a structure called key_vector which is embedded within every tnode, leaf, and the trie root itself. By doing this we can navigate from any point within the trie to any other point fairly quickly and avoiding NULL pointer checks in the case of a backtrace. As a result we can pipeline things a bit further since we don't have to worry about dereferencing NULL in a backtrace. This can amount to significant savings on a long backtrace. I decided to drop the up-level code as that conflicts with combining the main and local tries. I have one patch as an RFC that currently combines the tries however it still needs some work as we have to split the local and main tries in the event of custom rules being defined. As such we are probably going to be doing some more hacking on fib_table_flush_external as that will also need to flush the local entries from the main trie and place them back in the local trie. v2: Rebased on the switchdev FIB offload work ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88bae7149a5e980dc5a7488fba2fcb41286fd82e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:52 2015 -0800 fib_trie: Add key vector to root, return parent key_vector in resize This change makes it so that the root of the trie contains a key_vector, by doing this we make room to essentially collapse the entire trie by at least one cache line as we can store the information about the tnode or leaf that is pointed to in the root. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f23e59fbd77054d9e555ef398bb918320f9319e2 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:46 2015 -0800 fib_trie: Move parent from key_vector to tnode This change pulls the parent pointer from the key_vector and places it in the tnode structure. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e22d174ba29a04dfd66e9be3fa9b5fad1278001 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:39 2015 -0800 fib_trie: Pull empty_children and full_children into tnode This pulls the information about the child array out of the key_vector and places it in the tnode since that is where it is needed. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56ca2adf6ac1fca57f504ac1d76f7dff1dc08d3a Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:33 2015 -0800 fib_trie: Move rcu from key_vector to tnode, add accessors. RCU is only needed once for the entire node, not once per key_vector so we can pull that out and move it to the tnode structure. In addition add accessors to be used inside the RCU functions so that we can more easily get from the key vector to either the tnode or the trie pointers. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc35dbeda3e00a05723784078a233c2531d34810 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:27 2015 -0800 fib_trie: Add tnode struct as a container for fields not needed in key_vector This change pulls the fields not explicitly needed in the key_vector and placed them in the new tnode structure. By doing this we will eventually be able to reduce the key_vector down to 16 bytes on 64 bit systems, and 12 bytes on 32 bit systems. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e1ac88a48370620429cd9e54c41365531962809 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:21 2015 -0800 fib_trie: Rename tnode_child_length to child_length We are now checking the length of a key_vector instead of a tnode so it makes sense to probably just rename this to child_length since it would probably even be applicable to a leaf. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 754baf8decce722db6d02bb0db745402f8cbc16f Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:14 2015 -0800 fib_trie: replace tnode_get_child functions with get_child macros I am replacing the tnode_get_child call with get_child since we are techically pulling the child out of a key_vector now and not a tnode. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35c6edac197fcfb53cea9993d9b64386b15abf48 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:08 2015 -0800 fib_trie: Rename tnode to key_vector Rename the tnode to key_vector. The key_vector will be the eventual container for all of the information needed by either a leaf or a tnode. The final result should be much smaller than the 40 bytes currently needed for either one. This also updates the trie struct so that it contains an array of size 1 of tnode pointers. This is to bring the structure more inline with how an actual tnode itself is configured. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d8e810ca8ec2541f30af916f0de1b41ac86ec4a Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:54:02 2015 -0800 fib_trie: Return pointer to tnode pointer in resize/inflate/halve Resize related functions now all return a pointer to the pointer that references the object that was resized. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72be72607a560dfa7a4715cb372f9e1e40ed65a5 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 09:53:56 2015 -0800 fib_trie: Minor cleanups to fib_table_flush_external This change just does a couple of minor cleanups on fib_table_flush_external. Specifically it addresses the fact that resize was being called even though nothing was being removed from the table, and it drops an unecessary indent since we could just call continue on the inverse of the fi && flag check. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20488239d236f1615e2be8b0f6dbd30e4310940a Author: Punnaiah Choudary Kalluri <punnaiah.choudary.kalluri@xxxxxxxxxx> Date: Fri Mar 6 18:29:12 2015 +0100 net: macb: Fix multi queue support for xilinx ZynqMP ZynqMP soc has single interrupt for all the queue events. So, passing the IRQF_SHARED flag for interrupt registration call. Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a013a9c71b21a9860f44dec7600c8fe77995a77 Author: Punnaiah Choudary Kalluri <punnaiah.choudary.kalluri@xxxxxxxxxx> Date: Fri Mar 6 18:29:11 2015 +0100 net: macb: Include multi queue support for xilinx ZynqMP ethernet version Include multi queue support for the ethernet IP version in xilinx ZynqMP SoC. Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28c0f02ffe8a614bc7e1aa57319a62e7ce700d04 Merge: 89650ad 1ca2760 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 15:46:08 2015 -0500 Merge tag 'wireless-drivers-next-for-davem-2015-03-06' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Major changes: brcmfmac: * sdio improvements * add a debugfs file so users can provide us all the revinfo we could ask for iwlwifi: * add triggers for firmware dump collection * remove support for -9.ucode * new statitics API * rate control improvements ath9k: * add per-vif TX power capability * BT coexistance fixes ath10k: * qca6174: enable STA transmit beamforming (TxBF) support * disable multi-vif power save by default bcma: * enable support for PCIe Gen 2 host devices Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89650ad0047f039b3c3bc0f6a5823bb9c9738152 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Fri Mar 6 11:44:28 2015 -0500 fib: make netdev_switch_fib_ipv4_abort in header file static inline When building without CONFIG_NET_SWITCHDEV, netdev_switch_fib_ipv4_abort is defined in the header file. It must be static inline to avoid build failure at link time. Fixes: 8e05fd7166c6 ("fib: hook IPv4 fib for hardware offload") Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c22c62db3f7388422257918c9d2582ef20d2e12d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 2 14:58:57 2015 +0200 spi: dw: move to SPI core message handling This patch removes a lot of duplicate code since SPI core provides a nice message handling. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e00803a97d1424e68a649a25b248f58d81d379d Merge: 0b2e891 b716c4f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Mar 6 20:33:19 2015 +0000 Merge branch 'topic/err' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-dw commit 0b2e8915ead06b21d8f2360bfc28e747c4c0df8c Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 2 14:58:56 2015 +0200 spi: dw: program registers as soon as possible This patch refactors the code in pump_transfers() to reprogram the registers immediately when we have a new configuration data. The behaviour is slightly modified: - chip is always disabled and reenabled - CTRL0 is always reprogrammed This change allows to do a further refactoring and simplier conversion to use SPI core DMA routines in the future. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 45746e82cf89f432f9c986a52137d8a64b78aba9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Mar 2 14:58:55 2015 +0200 spi: dw: make sure SPI controller is enabled The error handling is partially broken since the controller is disabled on error and is not re-enabled until condition occurs, i.e. mode (poll, PIO/DMA), chip (cs_change), or speed (clk_div) is changed. In the result of these changes we will have a predictable state of the SPi controller independently on how successfull was a previous transfer. The patch disables interrupts and re-enables the SPI controller wherever it needs to be done. Thus most of the time the SPI controller is kept enabled. The runtime PM, when it will be implemented, must take care of the controller disabling and re-enabling. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f8d54afc4c7a4c41deaa43fbcfffc2976094d342 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Fri Mar 6 10:47:00 2015 +0000 mpls: Properly validate RTA_VIA payload length If the nla length is less than 2 then the nla data could be accessed beyond the accessible bounds. So ensure that the nla is big enough to at least read the via_family before doing so. Replace magic value of 2. Fixes: 03c0566542f4 ("mpls: Basic support for adding and removing routes") Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a5ab21c2e0f3d6b25ee9f7ca3429fac57027f76 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Fri Feb 27 12:54:29 2015 +0800 ASoC: Intel: Add suspend_pre and resume_post for Broadwell snd_soc_card For broadwell machine, we need do some machine related setting before suspend and after resume, e.g. disable/enable jack detection, here adding snd_soc_card suspend_pre and resume_post for this task. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5af76d5c0882435241841186b054262407e9eabb Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Fri Feb 27 12:52:26 2015 +0800 ASoC: rt286: correct the OR to AND Here it should be AND(&) to check the status. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c4b934f89defcc158d1ceda8294b1e534197c75 Merge: 76f53bf 3feafa0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 15:13:47 2015 -0500 Merge branch 'bcmgenet-next' Petri Gynther says: ==================== net: bcmgenet: preparation for multiple Rx queues Three small patches in preparation for supporting multiple Rx queues: 1. set hw_params->rx_queues = 0 2. adjust the call to alloc_etherdev_mqs() 3. add GENET_Q16_RX_BD_CNT and hw_params->rx_bds_per_q ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3feafa02156681a5a2a843680c7daeb93d22e280 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Thu Mar 5 17:40:14 2015 -0800 net: bcmgenet: add GENET_Q16_RX_BD_CNT and hw_params->rx_bds_per_q In preparation for supporting multiple Rx queues, add GENET_Q16_RX_BD_CNT and hw_params->rx_bds_per_q. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3feafeed16f92b96b7b67a3e30882c62c859f4bb Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Thu Mar 5 17:40:12 2015 -0800 net: bcmgenet: adjust the call to alloc_etherdev_mqs() In preparation for supporting multiple Rx queues, adjust the call to alloc_etherdev_mqs() to allow max GENET_MAX_MQ_CNT + 1 Rx queues. The actual number of Rx queues in use is correctly adjusted with: netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1); Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e906e025d2ccf94f23b0cf8967a52134d6be6d1 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Thu Mar 5 17:40:10 2015 -0800 net: bcmgenet: set hw_params->rx_queues = 0 bcmgenet driver doesn't yet support multiple Rx queues. Set hw_params->rx_queues = 0 accordingly. The default Rx queue (Q16) is still created and operational. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76f53bfdaab2b5b96553da09219aa243ac6d8cf2 Merge: f0fdc80 08e8331 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 15:01:07 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-06 This series contains updates to e1000, e1000e and igb. Yanir provides updates to e1000e based on the patches provided by John Linville. First updates the code comment to better describe the changes and the impact on the driver. Second removed calls to ioremap/unmap for i219 since this is only relevant to older hardware only. Starting with i219, the NVM will not be mapped to its one BAR but to a address region in another bar. Alex Duyck provides two fixes for igb, first fixes a compile warning where a variable may be used uninitialized, so Alex initializes it. Second fixes an issue where all of the pin register values were having to be pushed onto the stack each time the function was called, so to avoid this, Alex made them static const so that they should only need to be allocated once and we can avoid all the instructions to get them onto the stack. Eliezer found an issue in e1000 where we needed to be calling netif_carrier_off earlier in the down() to prevent the stack from queuing more packets to the interface. Sabrina Dubroca resolved a potential race condition by adding a dummy allocator. There was a race condition between e1000_change_mtu() cleanups and netpoll, when changing the MTU across jumbo sizes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0fdc80bd9ced4de3eb165c9c408e83713a71104 Merge: aaa4e70 fab4276 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 14:57:46 2015 -0500 Merge branch 'pmtu-probe' Fan Du says: ==================== Improvements for TCP PMTU This patchset performs some improvements and enhancement for current TCP PMTU as per RFC4821 with the aim to find optimal mms size quickly, and also be adaptive to route changes like enlarged path MTU. Then TCP PMTU could be used to probe a effective pmtu in absence of ICMP message for tunnels(e.g. vxlan) across different networking stack. Patch1/4: Set probe mss base to 1024 Bytes per RFC4821 Patch2/4: Do not double probe_size for each probing, use a simple binary search to gain maximum performance. mss for next probing. Patch3/4: Create a probe timer to detect enlarged path MTU. Patch4/4: Update ip-sysctl.txt for new sysctl knobs. Changelog: v5: - Zero probe_size before resetting search range. - Update ip-sysctl.txt for new sysctl knobs. v4: - Convert probe_size to mss, not directly from search_low/high - Clamp probe_threshold - Don't adjust search_high in blackhole probe, so drop orignal patch3 v3: - Update commit message for patch2 - Fix pseudo timer delta calculation in patch4 v2: - Introduce sysctl_tcp_probe_threshold to control when probing will stop, as suggested by John Heffner. - Add patch3 to shrink current mss value for search low boundary. - Drop cannonical timer usages, implements pseudo timer based on 32bits jiffies tcp_time_stamp, as suggested by Eric Dumazet. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fab42760843734a82b6b2d1241ca44f375a686eb Author: Fan Du <fan.du@xxxxxxxxx> Date: Fri Mar 6 11:18:25 2015 +0800 ipv4: Documenting two sysctls for tcp PMTU probe Namely tcp_probe_interval to control how often to restart a probe. And tcp_probe_threshold to control when stop the probing in respect to the width of search range in bytes Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05cbc0db03e82128f2e7e353d4194dd24a1627fe Author: Fan Du <fan.du@xxxxxxxxx> Date: Fri Mar 6 11:18:24 2015 +0800 ipv4: Create probe timer for tcp PMTU as per RFC4821 As per RFC4821 7.3. Selecting Probe Size, a probe timer should be armed once probing has converged. Once this timer expired, probing again to take advantage of any path PMTU change. The recommended probing interval is 10 minutes per RFC1981. Probing interval could be sysctled by sysctl_tcp_probe_interval. Eric Dumazet suggested to implement pseudo timer based on 32bits jiffies tcp_time_stamp instead of using classic timer for such rare event. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b58e0a5f32dedb609438bb9c9c82aa6e23381f2 Author: Fan Du <fan.du@xxxxxxxxx> Date: Fri Mar 6 11:18:23 2015 +0800 ipv4: Use binary search to choose tcp PMTU probe_size Current probe_size is chosen by doubling mss_cache, the probing process will end shortly with a sub-optimal mss size, and the link mtu will not be taken full advantage of, in return, this will make user to tweak tcp_base_mss with care. Use binary search to choose probe_size in a fine granularity manner, an optimal mss will be found to boost performance as its maxmium. In addition, introduce a sysctl_tcp_probe_threshold to control when probing will stop in respect to the width of search range. Test env: Docker instance with vxlan encapuslation(82599EB) iperf -c 10.0.0.24 -t 60 before this patch: 1.26 Gbits/sec After this patch: increase 26% 1.59 Gbits/sec Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Acked-by: John Heffner <johnwheffner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dcd8fb8533ceb493146ce030d15f7965b82d0c27 Author: Fan Du <fan.du@xxxxxxxxx> Date: Fri Mar 6 11:18:22 2015 +0800 ipv4: Raise tcp PMTU probe mss base size Quotes from RFC4821 7.2. Selecting Initial Values It is RECOMMENDED that search_low be initially set to an MTU size that is likely to work over a very wide range of environments. Given today's technologies, a value of 1024 bytes is probably safe enough. The initial value for search_low SHOULD be configurable. Moreover, set a small value will introduce extra time for the search to converge. So set the initial probe base mss size to 1024 Bytes. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Acked-by: John Heffner <johnwheffner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aaa4e70404c7b38a8792dc69af54afd7218b2ec0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Mar 4 10:16:43 2015 -0600 DECnet: Only use neigh_ops for adding the link layer header Other users users of the neighbour table use neigh->output as the method to decided when and which link-layer header to place on a packet. DECnet has been using neigh->output to decide which DECnet headers to place on a packet depending which neighbour the packet is destined for. The DECnet usage isn't totally wrong but it can run into problems if the neighbour output function is run for a second time as the teql driver and the bridge netfilter code can do. Therefore to avoid pathologic problems later down the line and make the neighbour code easier to understand by refactoring the decnet output code to only use a neighbour method to add a link layer header to a packet. This is done by moving the neigbhour operations lookup from dn_to_neigh_output to dn_neigh_output_packet. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d4cf65e2db58f927ca3cd13b0074b8fe5124659 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Feb 25 16:42:12 2015 +0100 ASoC: omap: fix up SND_OMAP_SOC_OMAP_ABE_TWL6040 dependency The change to enable OMAP5 support on this platform was a little too eager in adding a 'select' for a particular clock driver that might not be enabled in all configurations, which in turn leads to a build error: warning: (SND_OMAP_SOC_OMAP_ABE_TWL6040) selects COMMON_CLK_PALMAS which has unmet direct dependencies (COMMON_CLK && MFD_PALMAS) drivers/built-in.o: In function `palmas_clks_probe': drivers/clk/clk-palmas.c:228: undefined reference to `palmas_ext_control_req_config' I do not see a strong dependency here, so it's probably better to drop this select and to avoid adding more complexity here. Fixes: 5163c1eede8e9 ("ASoC: omap: Kconfig: Support for omap5-uevm analog audio") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7183d1ebda477c48e5f51f854a766c96b6c0e142 Author: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Date: Fri Feb 27 16:30:15 2015 +0100 spi: pl022: Remove dead code "flag" variable does nothing, remove it. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85fa4e1f094183d230c47fa1e83373f692dc05ec Author: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Date: Fri Feb 27 16:30:07 2015 +0100 spi: pl022: Don't touch unspecified bits in interrupt mask PL022 Programmers model explicitely states "do not modify undefined register bits". Correct the "all enable" interrupt mask so that it only enables defined ones. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 45b064d73d6a5cfcfa76012b91e2afc98e341664 Author: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Date: Fri Feb 27 16:30:01 2015 +0100 spi: pl022: Remove incorrect TxFIFO full reporting According to PL022 specification, TNF bit states for "Transmit FIFO Not full". So the logic here is inverted. But "Receive Overrun Interrupt", which is handled here, is only triggered on Rx errors. So instead of fixing the if statement, remove the whole message. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit df3a950e4e7386027fc174566aa5c24781297be8 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Fri Feb 27 17:04:04 2015 +0000 regulator: act8865: Add act8600 support This patch adds act8600 support to the act8865 driver. VBUS and USB charger supported by this chip can be added later Tested on MIPS Creator CI20 Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2291793cc4c6b1251e28a4ff0f98041147d57e96 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Feb 27 17:34:16 2015 +0200 spi/rockchip: do an error handling in proper time There was handle_err() callback introduced that is dedicated for error handling. The patch moves error handling to this callback. Cc: Heiko Stuebner <heiko@xxxxxxxxx> Cc: linux-rockchip@xxxxxxxxxxxxxxxxxxx Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b716c4ffc6a2b0bfbcf9619880f335be11b65708 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Feb 27 17:34:15 2015 +0200 spi: introduce master->handle_err() callback This callback would be useful to handle an error that occurs in the generic implementation of transfer_one_message(). The good candidate for this is to drain FIFO and / or to terminate DMA transfers when timeout happened. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 616f45416ca0d726d6d3421a296ebc6e2bb82cde Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Wed Mar 4 21:57:52 2015 -0800 bonding: implement bond_poll_controller() This patches implements the poll_controller support for all bonding driver. If the slaves have poll_controller net_op defined, this implementation calls them. This is mode agnostic implementation and iterates through all slaves (based on mode) and calls respective handler. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de4e374b401a736a2c278babe99b94756060d0e8 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Dec 29 14:43:44 2014 -0800 Input: synaptics - switch ForcePad detection to PNP IDs According to Synaptics devices with ForcePads use SYN300D and SYN3014 as PNP IDs, so let's switch from DMI-bases detection scheme to PNP-based one, which should be more reliable. Suggested-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 99e14c1e23108c34c4216d68c488fcd937310c32 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Feb 27 16:17:59 2015 -0800 Input: psmouse - when comparing PNP IDs ignore case PNP IDs are supposed to be case-insensitive and so we should compare them as such. Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d7535ffa427b8976b2d41f8d9f7fb9f1c97d786c Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Mar 4 14:47:58 2015 -0800 Input: driver for microcontroller keys on the iPaq h3xxx This adds a key input driver for the keys found on the h3xxx iPAQ series. Based on a driver from handhelds.org 2.6.21 kernel, written by Alessandro GARDICH. Signed-off-by: Alessandro GARDICH <gremlin@xxxxxxxxxx> Signed-off-by: Dmitry Artamonow <mad_soft@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e5abff1fe2e400bdabd14feb4e69e9ad661ba71a Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Wed Mar 4 14:43:40 2015 -0800 Input: add haptic support for max77843 This patch adds support for haptic on max77843 MFD (Multi Function Device) with PMIC, MUIC, LED, CHARGER. This driver supports external pwm and LRA (Linear Resonant Actuator) motor. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> [Jim Davis <jim.epost@xxxxxxxxx>: should depend on REGULATOR not PWM] Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7a00ff445f1337bbd0fbf65d3ae468dfbc7ba53e Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:56 2015 +0200 Bluetooth: Add mgmt_send_event() helper to send to any HCI channel Currently the mgmt_event() function is only capable of sending to HCI_CHANNEL_CONTROL. To void having to change all users of it, add a new mgmt_send_event() function that takes a channel parameter, and make the old mgmt_event() a wrapper that passes MGMT_CHANNEL_CONTROL to it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3b0602cd01a571177e169c594e5e52b7b740cf08 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:55 2015 +0200 Bluetooth: Rename pending_cmd to mgmt_pending_cmd This patch renames the pending_cmd struct (used for tracking pending mgmt commands) to mgmt_pending_cmd, so that it can be moved to a more generic place and be used also by other modules using other HCI channels. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2a1afb5ac8d580d2013c2ccc548b4f2689c5ad7a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:54 2015 +0200 Bluetooth: Rename cmd_complete() to mgmt_cmd_complete() This patch renames the cmd_complete() function to mgmt_cmd_complete() in preparation of making it a generic helper for other modules to use too. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a69e8375a134eb7f42d5de7e14d0816967282757 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:53 2015 +0200 Bluetooth: Rename cmd_status() to mgmt_cmd_status() This patch renames the cmd_status() function to mgmt_cmd_status() in preparation of making it a generic helper for other modules to use too. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b9a245fb12315f8c6528b29a991a004859c982d5 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:52 2015 +0200 Bluetooth: Move all mgmt command quirks to handler table In order to completely generalize the mgmt command handling we need to move away command-specific information from mgmt_control() into the actual command table. This patch adds a new 'flags' field to the handler entries which can now contain the following command specific information: - Command takes variable length parameters - Command doesn't target any specific HCI device - Command can be sent when the HCI device is unconfigured After this the mgmt_control() function is completely generic and can potentially be reused by new HCI channels. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6d785aa345f525e1fdf098b7c590168f0b00f3f1 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:51 2015 +0200 Bluetooth: Convert mgmt to use HCI chan registration API This patch converts the existing mgmt code to use the newly introduced generic API for registering HCI channels with mgmt-like semantics. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 801c1e8da57499a9922223ee1882b2b59debd47c Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Mar 6 21:08:50 2015 +0200 Bluetooth: Add mgmt HCI channel registration API This patch adds an API for registering HCI channels with mgmt-like semantics. For now the only user will be HCI_CHANNEL_CONTROL, but e.g. 6lowpan is intended to use this as well in the future. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 93690c227acf08a2a19cbaf9acbcd2210fbb8ded Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Mar 6 10:11:21 2015 -0800 Bluetooth: Introduce controller setting information for static address Currently it is not possible to determine if the static address is used by the controller. It is also not possible to determine if using a static on a dual-mode controller with disabled BR/EDR is possible or not. To address this issue, introduce a new setting called static-address. If support for this setting is signaled that means that the kernel supports using static addresses. And if used on dual-mode controllers with BR/EDR disabled it means that a configured static address can be used. In addition utilize the same setting for the list of current active settings that indicates if a static address is configured and if that address will be actually used. With this in mind the existing Set Static Address management command has been extended to return the current settings. That way the caller of that command can easily determine if the programmed address will be used or if extra steps are required. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a1b7f2f6367944d445c6853035830a35c6343939 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 09:55:03 2015 +0100 PCI/AER: Avoid info leak in __print_tlp_header() Commit fab4c256a58b ("PCI/AER: Add a TLP header print helper") introduced the helper function __print_tlp_header(), but contrary to the intention, the behaviour did change: Since we're taking the address of the parameter t, the first 4 or 8 bytes printed will be the value of the pointer t itself, and the remaining 12 or 8 bytes will be who-knows-what (something from the stack). We want to show the values of the four members of the struct aer_header_log_regs; that can be done without ugly and error-prone casts. On little-endian this should produce the same output as originally intended, and since no-one has complained about getting garbage output so far, I think big-endian should be ok too. Fixes: fab4c256a58b ("PCI/AER: Add a TLP header print helper") Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.14+ commit e922df7d3e946529981860d4bdd707a9cb59fc0d Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Mar 3 22:34:22 2015 +0530 Staging: rtl8712: Eliminate use of _init_timer This patch introduces the use of API function setup_timer instead of driver specific function _init_timer as it is the preferred and standard way to setup and set the timer. To be compatible with the change, argument types of referenced functions are changed. Also, definition of function _init_timer is removed as it is no longer needed after this change. This is done using Coccinelle and semantic patch used for this is as follows: @@ expression x, y; identifier a, b;@@ - _init_timer (&x, y, a, b); + setup_timer (&x, a, (unsigned long)b); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47f0585a20e28bdd3155823afcff209615c902ff Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 3 16:08:38 2015 +0200 staging: rtl8192u: ieee80211: replace memset(x,0,ETH_ALEN) by eth_zero_addr(x) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The replacement was done by the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21f5690ec7f5a5fa278f2b818a7ed722becd6995 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 3 16:06:19 2015 +0200 staging: rtl8192u: replace memset(x,0,ETH_ALEN) by eth_zero_addr(x) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The replacement was done by the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76f73693ca36a13aff719c71236c47a4927c14a0 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 3 16:04:20 2015 +0200 staging: rtl8192e: replace memset(x,0,ETH_ALEN) by eth_zero_addr(x) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The replacement was done by the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdbaf3f67279e7ee531c1be6da53731461a74237 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 3 16:03:35 2015 +0200 staging: rtl8192e: replace memset(x,0,ETH_ALEN) by eth_zero_addr(x) eth_zero_addr() is a wrapper function for memset if 0 is going to be assigned to a mac address. The replacement was done by the following coccinelle script: @header@ @@ #include <linux/etherdevice.h> @eth_zero_addr@ expression e; @@ -memset(e,0,ETH_ALEN); +eth_zero_addr(e); @eth_broadcast_addr@ identifier e; @@ -memset(e,\(0xff\|0xFF\|255\),ETH_ALEN); +eth_broadcast_addr(e); @linux_header depends on !header && (eth_zero_addr || eth_broadcast_addr) @ @@ + #include <linux/etherdevice.h> + @special_header depends on !header && !linux_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> + @custom_header depends on !header && !linux_header && !special_header && (eth_zero_addr || eth_broadcast_addr) @ @@ + + #include <linux/etherdevice.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5c15efba8cc3865ff880cbab52ffe6472373921 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Mar 3 13:09:23 2015 +0530 Staging: rtl8192u: Fix duplicate conditional branch Replace duplicate branch with correct value. This branch is supposed to work for low thresh value. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dc42962e1669a7ad222103d485e9af30dd1ffde Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Mar 3 13:08:24 2015 +0530 Staging: rtl8192e: Eliminate use of macro IS_NIC_DOWN This patch eliminates use of unnecessory macro IS_NIC_DOWN and replaces it with standard code. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80c598a6abff3713e4a8c31c34f6aec8b342844d Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Mon Mar 2 23:56:54 2015 +0200 Staging: rtl8192u: Fix quoted string split across lines This patch fixes checkpatch.pl warning in file ieee80211_crypt.c WARNING: "quoted string split across lines warning" Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 225f597c60da646a6df1f7ac4152577a0c5fd56c Author: Supriya Karanth <iskaranth@xxxxxxxxx> Date: Tue Mar 3 23:48:21 2015 +0900 staging: lustre: remove initialization of static ints static ints are initialized to 0 by the compiler. Explicit initialization is not necessary. Found by checkpatch.pl - ERROR: do not initialise statics to 0 or NULL changes made using coccinelle script: @@ type T; identifier var; @@ -static T var = 0; +static T var; Signed-off-by: Supriya Karanth <iskaranth@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37e3be9de378d4775c617b0649ff89a6dc6bf07d Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Mar 4 02:37:15 2015 +0200 Staging: iio: Added define guards where needed The following files were added define guards to prevent multiple inclusion. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e384b69a35ae96055774dbce9dea813043e21142 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Mar 3 16:27:37 2015 +0200 staging: iio: meter: add check on return variables adds checks on variables that are used to return values. If the value is less than zero, this indicates that an error occurred and hence a message is printed through dev_err. Checks are made on negative values only since spi_* functions return negative error codes. The functions were found using the following script but the aforementioned modification was what was carried out in the end: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82d28561b7e01eccaa36b06c987045f08a77b4f4 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Tue Mar 3 17:08:06 2015 +0530 staging: comedi: Remove if condition. This patch removes a if condition which has a semicolon after it. As the conditional check is redundant, the comment before it is also changed. The following coccinelle script was used to detect the pattern of a semicolon after if. @r1@ position p; @@ if (...);@p @script:python@ p0 << r1.p; @@ // Emacs org-mode output cocci.print_main("", p0) cocci.print_secs("", p0) Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 324588eccc75a3a3d4beac2a0206122b23b90adc Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 2 23:40:26 2015 +0530 staging: lustre: lustre: libcfs: Replaced printk() with pr_err() and pr_cont() The following checkpatch warning was fixed: Prefer [subsystem eg: netdev]_err([subsystem]dev with the help of Coccinelle. pr_cont() was used to replace those printk statements which followed a printk that did not end with a '\n'. The following semantic patch was used to replace printk() with pr_err(): @a@ expression e; @@ printk(e,...); @script:python b@ e << a.e; y; @@ import re match = re.match('KERN_ERR ', e); if (match == None): cocci.include_match(False) else: m = re.sub('KERN_ERR ', '', e) coccinelle.y = m; @c@ expression a.e; identifier b.y; @@ - printk(e, + pr_err(y, ...); Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85b7a9de00bde29e3c815474f51bfdf0fbcde9d7 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Mon Mar 2 23:40:25 2015 +0530 staging: lustre: lustre: libcfs: Replaced printk() with pr_err() The following checkpatch warning was fixed: Prefer [subsystem eg: netdev]_err([subsystem]dev with the help of Coccinelle. The following semantic patch was used: @a@ expression e; @@ printk(e,...); @script:python b@ e << a.e; y; @@ import re match = re.match('KERN_ERR ', e); if (match == None): cocci.include_match(False) else: m = re.sub('KERN_ERR ', '', e) coccinelle.y = m; @c@ expression a.e; identifier b.y; @@ - printk(e, + pr_err(y, ...); Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe6e0197ba7a5820419e68cff3879786388e8971 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:25:03 2015 -0500 staging: rtl8723au: odm.c: Break some lines down to 80 characters Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c335da572652e984ca7f29a1384f7c3c85fb3a5c Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:25:02 2015 -0500 staging: rtl8723au: ODM_Write_DIG23A(): Cosmetic cleanups Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b58298eee28f055f862d1dc122bf34a1e1ab17ca Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:25:01 2015 -0500 staging: rtl8723au: Clean up odm_RefreshRateAdaptiveMask() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0305d27d9e0d8f90697d3d8cc2f3aeedeaab44fd Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:25:00 2015 -0500 staging: rtl8723au: Clean up FindMinimumRSSI() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04b7466fa514283438c0adbbca06f799b70c0d5c Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:59 2015 -0500 staging: rtl8723au: Clean up odm_RSSIMonitorCheck() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a5767e882ae1be5e40ce8dd338761a2f72761dd Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:58 2015 -0500 staging: rtl8723au: ODM_TXPowerTrackingCheck23a(): Remove no-op function Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd42f95cf041b99c440382acc18f9312282fc50f Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:57 2015 -0500 staging: rtl8723au: Remove write only bIsCurRDLState Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb1ede84dfff512b5ac4fc8e45b8e5e8ed4d8d12 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:56 2015 -0500 staging: rtl8723au: Remove unused struct pri_cca Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 761b6031a4d181729a0916fae1c36f4ecd1ac13a Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:55 2015 -0500 staging: rtl8723au: Remove unused struct odm_fat_t Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8bf591e5c17c863dd7b290c31e6330612e899a74 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:54 2015 -0500 staging: rtl8723au: Remove unused Funai TV hack Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d8a61c4b209c26b4e683f9daab1ebb7b97e8e9f Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:53 2015 -0500 staging: rtl8723au: Remove write-only variable ControlChannel Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d693e3a09fd0b50a39c864e7a260e69efb78896 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:52 2015 -0500 staging: rtl8723au: SupportInterface is always set to USB Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9c39d293fd4ae8212ddad3a075af850820ec751 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:51 2015 -0500 staging: rtl8723au: Remove no-op ODM_CMNINFO_PLATFORM Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8122a8c88ea711fdc72374097aaf7302fc346165 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:50 2015 -0500 staging: rtl8723au: odm_dtc(): Remove no-op function Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cba07d71d24c6b098723f152091a4292374aa14 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:49 2015 -0500 staging: rtl8723au: Make odm_PHY_SaveAFERegisters() readable Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea89e2f6b7ae55db9275f631327dc5c07f72871e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:48 2015 -0500 staging: rtl8723au: Remove unused ODM ability flags Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fec75cd5f1def0652ff56e649f24256fdfd26b8c Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:47 2015 -0500 staging: rtl8723au: ODM_RF_CALIBRATION is never set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4be419e6d3c5019480e60f2340e59cbd602f8af8 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:46 2015 -0500 staging: rtl8723au: ODM_RF_TX_PWR_TRACK is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 719d3f6cf025c30506c5d37ed6aca27741a89107 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:45 2015 -0500 staging: rtl8723au: ODM_BB_PWR_SAVE is unused Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bdef7a0d402f1a0f4ec26da2170da52d51537dd Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:44 2015 -0500 staging: rtl8723au: ODM_BB_CCK_PD is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01c1ec0057b79472434b1ea6bff3bf3d0bd026df Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:43 2015 -0500 staging: rtl8723au: ODM_BB_RSSI_MONITOR is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 399ec83079a2b281a905b9e943ca2f13f82e02cf Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:42 2015 -0500 staging: rtl8723au: ODM_BB_FA_CNT is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6920f3b9688f9808f7c11964774321a8e03c492e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:41 2015 -0500 staging: rtl8723au: ODM_BB_DYNAMIC_TXPWR isn't used for anything Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d51a602dcd4be8989ff459fc0d6f1bb78336d7c Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:40 2015 -0500 staging: rtl8723au: ODM_BB_DIG is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79afea1b3003115b2c26bab4041e69b31c2a03c6 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:39 2015 -0500 staging: rtl8723au: ODM_BB_RA_MASK is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6520715ed2ccaeff6b797f358e0e2aa64a472db8 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:38 2015 -0500 staging: rtl8723au: ODM_MAC_EDCA_TURBO is always set Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b4431ce04bc6f35f09237b3933fc6d5d7eefeef Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:37 2015 -0500 staging: rtl8723au: Avoid zero initializing variables unnecessarily Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daa656b2245d9755f28dfdaf78904088d7b6d3b9 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Mar 2 15:24:36 2015 -0500 staging: rtl8723au: Variable bbtchange is always false Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f737ea50bac2f6a06835a3180bdbeae59dc9d735 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 2 21:38:22 2015 +0300 Staging: emxx_udc: Remove custom printk macro ERR This patch removes custom printk macro ERR. All the calls to this macro were replaced by de_err and pr_err. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 886892798c9d29d3bb32e6a6d24e09565d71659e Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 2 21:37:38 2015 +0300 Staging: emxx_udc: Replace custom printk macro ERR with dev_err or pr_err This patch removes the use of custom printk macros ERR and replace it with dev_err, or pr_err in the following cases: - if no appropriate struct device *dev field where found for dev_err. - or dev could be null eg. "dev_err(udc->dev" not possible inside "if (udc == null)" Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d45c4c654d12fee5122e2eead93e5766dfd2259f Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 2 21:33:18 2015 +0300 Staging: emxx_udc: Remove argument test from function This patch removes the test statement for an argument to _nbu2ss_pullup function, for it can't be null due to previous derefrences. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6ef6c094ebd43e393657f4ae9cc3383dffda303 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Mon Mar 2 20:01:42 2015 +0300 Staging: emxx_udc: Fix do not add new typedefs and remove volatile This patch fixes the following checkpatch.pl warnings:"do not add new typedefs" and "Use of volatile is usually wrong". Remove typedefs keyword and rename identifiers appropriately. Remove volatile from union usb_regs_access Update related files. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fad0d05f7c05d9990e0fe3759511069e9e5e5c9e Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Mon Mar 2 23:28:14 2015 +0200 Staging: fbtft: Remove unnecessary 'out of memory' message. This patch fixes checkpatch.pl warning in file fb_ssd1351.c WARNING: Possible unnecessary 'out of memory' message Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cb624ef71fb267026ace1e2aa91b9861e3c2457 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Mon Mar 2 22:56:53 2015 +0200 Staging: fbtft: Remove unnecessary 'out of memory' message. This patch fixes checkpatch.pl warning in file fbtft-core.c WARNING: Possible unnecessary 'out of memory' message Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ba67a5a7bca9cb00562127d7410d412d3aa923b Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Mon Mar 2 17:49:59 2015 +0200 Staging: fbtft-core: remove unnecessary line continuations This fixes the checkpatch.pl warning: WARNING: Avoid unnecessary line continuations Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd03eed307939ffa768ab80488a4968566259d6d Author: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Date: Sun Feb 22 20:28:44 2015 +0100 staging: rtl8723au: rtl8723a_hal_init.c: remove unnecessary braces Fix all checkpatch "braces {} are not necessary" warnings for rtl8723au/hal/rtl8723a_hal_init.c Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19c7b64455d7cfe88844f05025ab40861c12b6b8 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 27 15:45:34 2015 -0500 staging: rtl8723au: MAX_AGGR_NUM is not used Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 929e570ae2bf571b7448dd41a3f37a11f077518e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 27 15:45:33 2015 -0500 staging: rtl8723au: The RF on an 8723au is always a 6052 Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 277c722cd6fb71b0d2aafce4887f32d92c3baca3 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 27 15:45:32 2015 -0500 staging: rtl8723au: Remove rf type from struct hal_version This gets rid of yet another duplicated copy of the RF type Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1508fe3bb77613162524654db5f9fc138920617 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 27 15:45:31 2015 -0500 staging: rtl8723au: Be more consistent in checking for 2 TX paths Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 162904699ab96b3117976a0e4804028199113dd4 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 27 15:45:30 2015 -0500 staging: rtl8723au: No need for two copies of rf_type Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9939cf9427e7e1a4c71c0d9496351eca4e6c3a96 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:21 2015 -0500 staging: rtl8723au: Firmware always handles adaptive rates Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ea9039d91f2f4e4a9ae84c178f2ed0d4613c6b8 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:20 2015 -0500 staging: rtl8723au: hal_com.h: Remove some unused #defines Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49361cafe324f58cb6a40a89f3bd45d3900275dc Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:19 2015 -0500 staging: rtl8723au: Remove more unused #defines Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 164b46666d6abdcffbde6590f9f2179cb3c610a5 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:18 2015 -0500 staging: rtl8723au: rtl8723a_add_rateatid() simplyfy code No point shifting raid right, just to shift it left again before re-adding it. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1e4d2f623c41bf89a31f18960d11d4b36ce798e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:17 2015 -0500 staging: rtl8723au: rates are always set via the firmware interface The only case where fw_ractrl = false was when the firmware failed to load, and in that case we are dead in the water anyway. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25094468a195ad02b9d4ebed571c832d8dcce571 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Mon Feb 9 17:52:16 2015 -0500 staging: rtl8723au: Use RF_AC instead of hardcoded value for RF register write Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a43f32d647273023edddb0dc8f91c4c6378b252b Author: Matwey V. Kornilov <matwey@xxxxxxxxxx> Date: Thu Feb 19 20:41:48 2015 +0300 PCI: spear: Drop __initdata from spear13xx_pcie_driver Struct spear13xx_pcie_driver was in initdata, but we passed a pointer to it to platform_driver_register(), which can use the pointer at arbitrary times in the future, even after the initdata is freed. That leads to crashes. Move spear13xx_pcie_driver and things referenced by it (spear13xx_pcie_probe() and dw_pcie_host_init()) out of initdata. [bhelgaas: changelog] Fixes: 6675ef212dac ("PCI: spear: Fix Section mismatch compilation warning for probe()") Signed-off-by: Matwey V. Kornilov <matwey@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.17+ commit 8ea696384a1641048a17d1ed3cee4fabb0bf4e03 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Fri Mar 6 01:14:37 2015 -0800 rocker: fix some sparse warnings Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1315db17dc81238e6eb048b2221ccae88d8ef67 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Fri Mar 6 01:14:36 2015 -0800 switchdev: fix CONFIG_IP_MULTIPLE_TABLES compile issue Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5371fc0ecdf55b6811ade8a198de8ace2f4e5861 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 6 13:41:42 2015 -0300 ALSA: ac97: ac97_patch: Simplify patch_vt1613_specific() We can simplify the code by returning patch_build_controls() directly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d6482288aadcf19e348cbccff7a605790a3b3875 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Mar 6 16:59:00 2015 +0100 ALSA: ac97: Add VT1613 AC97 codec support Patch to add an VT1613 AC97 codec support. This codec has additional DC offset removal control, headphone output and no video input. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a52afea68f94d2501b7fe1fa18cc6acf84e35a76 Merge: 8b28c93 d7e3281 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Mar 6 14:25:27 2015 +0100 Merge tag 'asoc-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Changes for v4.1 A selection of changes for v4.1 so far. The main things are: - Move of jack registration to the card where it belongs. - Support for DAPM routes specified by both the machine driver and DT. commit 0a233cdf0aeb1d564fe8ae822bc3df70d4cf423b Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Mar 6 14:24:50 2015 +0800 arm64: mediatek: Select PINCTRL for Mediatek platform MediaTek SoC expect to work with a pinctrl driver. Select PINCTRL if ARCH_MEDIATEK is selected. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 13211ea7b47db3d8ee2ff258a9a973a6d3aa3d43 Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 30 13:39:46 2014 -0400 KVM: s390: Enable vector support for capable guest We finally have all the pieces in place, so let's include the vector facility bit in the mask of available hardware facilities for the guest to recognize. Also, enable the vector functionality in the guest control blocks, to avoid a possible vector data exception that would otherwise occur when a vector instruction is issued by the guest operating system. Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit bc17de7c966504b287a1dceb76a523d8b7816731 Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 14 16:01:09 2014 -0400 KVM: s390: Machine Check Store additional status in the machine check handler, in order to collect status (such as vector registers) that is not defined by store status. Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit cd7b4b61063eb55ab7a5f96523e028c9e0914694 Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 09:06:34 2015 -0500 KVM: s390: Add new SIGP order to kernel counters The new SIGP order Store Additional Status at Address is totally handled by user space, but we should still record the occurrence of this order in the kernel code. Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 403c8648cb191ef88555bfa72deaa969c0367f41 Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 2 15:01:06 2015 -0500 KVM: s390: Vector exceptions A new exception type for vector instructions is introduced with the new processor, but is handled exactly like a Data Exception which is already handled by the system. Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 68c557501b008515cb86c9a36c75f4e82e14a819 Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 9 10:57:26 2014 -0400 KVM: s390: Allocate and save/restore vector registers Define and allocate space for both the host and guest views of the vector registers for a given vcpu. The 32 vector registers occupy 128 bits each (512 bytes total), but architecturally are paired with 512 additional bytes of reserved space for future expansion. The kvm_sync_regs structs containing the registers are union'ed with 1024 bytes of padding in the common kvm_run struct. The addition of 1024 bytes of new register information clearly exceeds the existing union, so an expansion of that padding is required. When changing environments, we need to appropriately save and restore the vector registers viewed by both the host and guest, into and out of the sync_regs space. The floating point registers overlay the upper half of vector registers 0-15, so there's a bit of data duplication here that needs to be carefully avoided. Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 1f289a8429022f112be9817a81ff07308eb78a9c Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 19:05:43 2015 +0300 KVM: s390: Use the read_guest_abs() in guest debug functions The guest debug functions work on absolute addresses and should use the read_guest_abs() function rather than general read_guest() that works with logical addresses. Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 16a0c4c3aa68423b306fb82f6b9a2794e76f6fc0 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 21 15:39:06 2014 +0100 KVM: s390: fix instruction interception trace point trace-cmd fails to parse the instruction interception trace point: "Error: expected type 5 but read 4 failed to read event print fmt for kvm_s390_intercept_instruction" The result is an unformatted string in the output, with a warning: "kvm_s390_intercept_instruction: [FAILED TO PARSE]..." So let's add parentheses around the instruction parser macro to fix the format parsing. Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 16b0fc13d60293ce073c8f9baa53469744b4d74a Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Thu Feb 26 23:16:44 2015 +0100 KVM: s390: Fix trivial typo in comments Change 'architecuture' to 'architecture' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Message-Id: <1424989004-14412-1-git-send-email-yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 91520f1af8a01d349d19911238fc3dbed3fa58d2 Author: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 14:32:11 2015 +0100 KVM: s390: perform vcpu model setup in a function The function kvm_s390_vcpu_setup_model() now performs all cpu model realated setup tasks for a vcpu. Besides cpuid and ibc initialization, facility list assignment takes place during the setup step as well. The model setup has been pulled to the begin of vcpu setup to allow kvm facility tests. There is no need to protect the cpu model setup with a lock since the attributes can't be changed anymore as soon the first vcpu is online. Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 33b412acd32d403a8de9511f236f9b4f31551868 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 11 10:38:46 2015 +0100 KVM: s390: Use insn_length() to calculate length of instruction The common s390 function insn_length() results in slightly smaller (and thus hopefully faster) code than the calculation of the instruction length via a lookup-table. So let's use that function in the interrupt delivery code, too. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 492d8642eaefbd47f6fb0e8265f058c02720e5c8 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 16:11:01 2015 +0100 KVM: s390: Forward PSW to next instruction for addressing exceptions When the SIE exited by a DAT access exceptions which we can not resolve, the guest tried to access a page which is out of bounds and can not be paged-in. In this case we have to signal the bad access by injecting an address exception. However, address exceptions are either suppressing or terminating, i.e. the PSW has to point to the next instruction when the exception is delivered. Since the originating DAT access exception is nullifying, the PSW still points to the offending instruction instead, so we've got to forward the PSW to the next instruction. Having fixed this issue, we can now also enable the TPROT interpretation facility again which had been disabled because of this problem. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit a9a846fd5c1723820c97cef56989ea14eea4b30e Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 09:06:56 2015 +0100 KVM: s390: Nullify instruction for certain program exceptions When certain program exceptions (e.g. DAT access exceptions) occur, the current instruction has to be nullified, i.e. the old PSW that gets written into the low-core has to point to the beginning of the instruction again, and not to the beginning of the next instruction. Thus we have to rewind the PSW before writing it into the low-core. The list of nullifying exceptions can be found in the POP, chapter 6, figure 6-1 ("Interruption Action"). Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 15462e37ca848abac7477dece65f8af25febd744 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 4 15:59:11 2015 +0100 KVM: s390: reinjection of irqs can fail in the tpi handler The reinjection of an I/O interrupt can fail if the list is at the limit and between the dequeue and the reinjection, another I/O interrupt is injected (e.g. if user space floods kvm with I/O interrupts). This patch avoids this memory leak and returns -EFAULT in this special case. This error is not recoverable, so let's fail hard. This can later be avoided by not dequeuing the interrupt but working directly on the locked list. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.16+ Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 261520dcfcba93ca5dfe671b88ffab038cd940c8 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 4 15:53:42 2015 +0100 KVM: s390: fix handling of write errors in the tpi handler If the I/O interrupt could not be written to the guest provided area (e.g. access exception), a program exception was injected into the guest but "inti" wasn't freed, therefore resulting in a memory leak. In addition, the I/O interrupt wasn't reinjected. Therefore the dequeued interrupt is lost. This patch fixes the problem while cleaning up the function and making the cc and rc logic easier to handle. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.16+ Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit b75f4c9afac2604feb971441116c07a24ecca1ec Author: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 09:54:41 2015 +0100 KVM: s390: Zero out current VMDB of STSI before including level3 data. s390 documentation requires words 0 and 10-15 to be reserved and stored as zeros. As we fill out all other fields, we can memset the full structure. Signed-off-by: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit e6f219b8ec5e4227c8b87b758afb48ed102b4210 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Wed Jan 21 13:28:17 2015 +0800 ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135. Add pinctrl,GPIO and EINT node to mt8135.dtsi. Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Singed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit c83d45d5685f63e02f4b038e20450a28232d4da2 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Wed Mar 4 12:42:14 2015 -0800 hwrng: iproc-rng200 - Add Broadcom IPROC RNG driver This adds a driver for random number generator present on Broadcom IPROC devices. Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 259d317f8d584503c5e3c43bbb96d80149390939 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Wed Mar 4 12:42:13 2015 -0800 hwrng: iproc-rng200 - Add device tree bindings Documents the IPROC random number generator device tree bindings used in some Broadcom chipsets. Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8e2e2769042f08eb49f630b5db87fce03696a415 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 4 10:19:30 2015 +0100 crypto: ux500 - Update error message for dmaengine_prep_slave_sg() API Commit 7e933d3b1e25b250 ("crypto: ux500: use dmaengine_prep_slave_sg API") changed the code to use the new API, but forgot to update an error message. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b3988618e0463cf9af30ac1b42b2601993be7c70 Author: Martin Hicks <mort@xxxxxxxx> Date: Tue Mar 3 08:21:34 2015 -0500 crypto: talitos - Remove MD5_BLOCK_SIZE This is properly defined in the md5 header file. Signed-off-by: Martin Hicks <mort@xxxxxxxx> Acked-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f641ddddc3ad139a91b9a1f9cea84ea657f75a6b Author: Martin Hicks <mort@xxxxxxxx> Date: Tue Mar 3 08:21:33 2015 -0500 crypto: talitos - Simplify per-channel initialization There were multiple loops in a row, for each separate step of the initialization of the channels. Simplify to a single loop. Signed-off-by: Martin Hicks <mort@xxxxxxxx> Acked-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4b613e9b4bbe94545a588a100e09006d827a7ebe Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:55 2015 +0100 ARM OMAP2+ GPMC: fix programming/showing reserved timing parameters GPMC_CONFIG1_i parameters CLKACTIVATIONTIME and WAITMONITORINGTIME have reserved values. Raise an error if calculated timings try to program reserved values. GPMC_CONFIG1_i ATTACHEDDEVICEPAGELENGTH and DEVICESIZE were already checked when parsing the DT. Explicitly comment invalid values on gpmc_cs_show_timings for -CLKACTIVATIONTIME -WAITMONITORINGTIME -DEVICESIZE -ATTACHEDDEVICEPAGELENGTH Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 08e8331654d1d7b2c58045e549005bc356aa7810 Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Thu Feb 26 05:35:41 2015 +0000 e1000: add dummy allocator to fix race condition between mtu change and netpoll There is a race condition between e1000_change_mtu's cleanups and netpoll, when we change the MTU across jumbo size: Changing MTU frees all the rx buffers: e1000_change_mtu -> e1000_down -> e1000_clean_all_rx_rings -> e1000_clean_rx_ring Then, close to the end of e1000_change_mtu: pr_info -> ... -> netpoll_poll_dev -> e1000_clean -> e1000_clean_rx_irq -> e1000_alloc_rx_buffers -> e1000_alloc_frag And when we come back to do the rest of the MTU change: e1000_up -> e1000_configure -> e1000_configure_rx -> e1000_alloc_jumbo_rx_buffers alloc_jumbo finds the buffers already != NULL, since data (shared with page in e1000_rx_buffer->rxbuf) has been re-alloc'd, but it's garbage, or at least not what is expected when in jumbo state. This results in an unusable adapter (packets don't get through), and a NULL pointer dereference on the next call to e1000_clean_rx_ring (other mtu change, link down, shutdown): BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff81194d6e>] put_compound_page+0x7e/0x330 [...] Call Trace: [<ffffffff81195445>] put_page+0x55/0x60 [<ffffffff815d9f44>] e1000_clean_rx_ring+0x134/0x200 [<ffffffff815da055>] e1000_clean_all_rx_rings+0x45/0x60 [<ffffffff815df5e0>] e1000_down+0x1c0/0x1d0 [<ffffffff811e2260>] ? deactivate_slab+0x7f0/0x840 [<ffffffff815e21bc>] e1000_change_mtu+0xdc/0x170 [<ffffffff81647050>] dev_set_mtu+0xa0/0x140 [<ffffffff81664218>] do_setlink+0x218/0xac0 [<ffffffff814459e9>] ? nla_parse+0xb9/0x120 [<ffffffff816652d0>] rtnl_newlink+0x6d0/0x890 [<ffffffff8104f000>] ? kvm_clock_read+0x20/0x40 [<ffffffff810a2068>] ? sched_clock_cpu+0xa8/0x100 [<ffffffff81663802>] rtnetlink_rcv_msg+0x92/0x260 By setting the allocator to a dummy version, netpoll can't mess up our rx buffers. The allocator is set back to a sane value in e1000_configure_rx. Fixes: edbbb3ca1077 ("e1000: implement jumbo receive with partial descriptors") Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f9c029db70880a66cf03c34aa6d4d5c9b2d13281 Author: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Date: Wed Feb 25 15:52:49 2015 +0000 e1000: call netif_carrier_off early on down When bringing down an interface netif_carrier_off() should be one the first things we do, since this will prevent the stack from queuing more packets to this interface. This operation is very fast, and should make the device behave much nicer when trying to bring down an interface under load. Also, this would Do The Right Thing (TM) if this device has some sort of fail-over teaming and redirect traffic to the other IF. Move netif_carrier_off as early as possible. Signed-off-by: Eliezer Tamir <eliezer.tamir@xxxxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b23c0cc5e8b7c31f831c03b74f8e79c958c41d1e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 03:34:14 2015 +0000 igb: Make arrays on stack static const to avoid reallocation While addressing the pin problem I noticed that all of the pin register values where having to be pushed onto the stack each time the function was called. To avoid that I am making them static const so that they should only need to be allocated once and we can avoid all the instructions to get them onto the stack.. size before: text data bss dec hex filename 161477 10512 8 171997 29fdd drivers/net/ethernet/intel/igb/igb.ko size after: text data bss dec hex filename 161205 10512 8 171725 29ecd drivers/net/ethernet/intel/igb/igb.ko Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e357f0aae447009c053795e26a322fb15d3348a7 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Mar 6 03:34:09 2015 +0000 igb: Fix warning pin may be used uninitialized When building the kernel using the gcc 4.8.3 compiler included in Fedora 20 I was repeatedly seeing the warning: drivers/net/ethernet/intel/igb/igb_ptp.c: In function â??igb_ptp_feature_enable_i210â??: drivers/net/ethernet/intel/igb/igb_ptp.c:395:21: warning: â??pinâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] tssdp &= ~ts_sdp_en[pin]; ^ drivers/net/ethernet/intel/igb/igb_ptp.c:471:6: note: â??pinâ?? was declared here int pin; ^ To resolve it I am assigning the pin a value of -1 when it is instantiated. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1103a631a83408733849b47fa2170cda984df2a3 Author: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Date: Sat Feb 28 10:10:06 2015 +0000 e1000e: remove calls to ioremap/unmap for NVM addr Starting I219, the NVM will not be mapped to its own BAR, but to an address region in another bar. The mapping/unmapping is relevant to older HW only. CC: John W Linville <linville@xxxxxxxxxxxxx> Reported-by: John W Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9d17ce493a3ef1b140a4c831ba72fb435576c75a Author: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Date: Sat Feb 28 10:09:34 2015 +0000 e1000e: fix obscure comments The interface to the device flash was modified in i219 and later HW. This patch better describes the change and the impact on the driver. CC: John W Linville <linville@xxxxxxxxxxxxx> Reported-by: John W Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Yanir Lubetkin <yanirx.lubetkin@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7f2e8c58ae9e35240e5924c63163c07a506d0d12 Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:54 2015 +0100 ARM OMAP2+ GPMC: fix WAITMONITORINGTIME divider bug The WAITMONITORINGTIME is expressed as a number of GPMC_CLK clock cycles, even though the access is defined as asynchronous, and no GPMC_CLK clock is provided to the external device. Still, GPMCFCLKDIVIDER is used as a divider for the GPMC clock, so it must be programmed to define the correct WAITMONITORINGTIME delay. This patch correctly computes WAITMONITORINGTIME in GPMC_CLK cycles instead of GPMC_FCLK cycles, both during programming (gpmc_cs_set_timings) and during retrieval (gpmc_cs_show_timings). Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 2e67690137f3a7bac660edd548f8846709c55381 Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:53 2015 +0100 ARM OMAP2+ GPMC: calculate GPMCFCLKDIVIDER based on WAITMONITORINGTIME The WAITMONITORINGTIME is expressed as a number of GPMC_CLK clock cycles, even though the access is defined as asynchronous, and no GPMC_CLK clock is provided to the external device. Still, GPMCFCLKDIVIDER is used as a divider for the GPMC clock, so it must be programmed to define the correct WAITMONITORINGTIME delay. Calculate GPMCFCLKDIVIDER independent of gpmc,sync-clk-ps in DT for pure asynchronous accesses, i.e. both read and write asynchronous. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit f585070b91950a0269eb20f497cceeee0aeefe0e Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:52 2015 +0100 ARM OMAP2+ GPMC: always program GPMCFCLKDIVIDER The WAITMONITORINGTIME is expressed as a number of GPMC_CLK clock cycles, even though the access is defined as asynchronous, and no GPMC_CLK clock is provided to the external device. Still, GPMCFCLKDIVIDER is used as a divider for the GPMC clock, so it must be programmed to define the correct WAITMONITORINGTIME delay. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 563dbb260d74dbd49d66f9a07e0311563c62c8ff Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:51 2015 +0100 ARM OMAP2+ GPMC: change get_gpmc_timing_reg output for DTS DTS output was formatted to require additional work when copy-pasting into DTS. Nano-second timings were replaced with interval of values that produce the same number of clock ticks. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 66e618857ca46433741bf97ceca1b425387400b1 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Mar 6 09:07:32 2015 +0200 ASoC: davinci-mcasp: Fix compilation error Introduced by commit: 6afda7f50754 ASoC: davinci-mcasp: Allow complete shutdown of McASP when not in use I'm really sorry for this... Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2affc816df6163c063d47f722191aa3bc542c22a Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:50 2015 +0100 ARM OMAP2+ GPMC: fix debug output alignment GPMC debug output is aligned to 10 characters for field names. However, some fields have bigger names, screwing up the alignment. Consequently, alignment was changed to longest field name (17 chars) for now. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit b1dc1ca9d4673dac43b8a77a8b695ffb2918de2a Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:49 2015 +0100 ARM OMAP2+ GPMC: add bus children This patch adds support for spawning buses as children of the GPMC. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit d32efe37966474b9d18a9110c89c091abef75602 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Feb 13 21:04:42 2015 +0800 gpio: vf610: Replaces comma between expression statements by semicolon Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5e9444d9a00f4b22ad676f2d9d4b69312871e429 Author: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 16:56:48 2015 +0100 ARM OMAP2+ GPMC: don't undef DEBUG OMAP2+ GPMC driver undefines DEBUG, which makes it unnecessarily hard to turn DEBUG on. Remove the offending lines. Signed-off-by: Robert ABEL <rabel@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit eeca9fce1d71a4955855ceb0c3b13c1eb9db27c1 Author: Ilan peer <ilan.peer@xxxxxxxxx> Date: Wed Mar 4 00:32:07 2015 -0500 cfg80211: Schedule timeout for all CRDA calls Timeout was scheduled only in case CRDA was called due to user hints, but was not scheduled for other cases. This can result in regulatory hint processing getting stuck in case that there is no CRDA configured. Change this by scheduling a timeout every time CRDA is called. In addition, in restore_regulatory_settings() all pending requests are restored (and not only the user ones). Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Acked-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 05050753602626ed4c46271c689929b625f409e7 Author: Ilan peer <ilan.peer@xxxxxxxxx> Date: Wed Mar 4 00:32:06 2015 -0500 cfg80211: Add API to change the indoor regulatory setting Previously, the indoor setting configuration assumed that as long as a station interface is connected, the indoor environment setting does not change. However, this assumption is problematic as: - It is possible that a station interface is connected to a mobile AP, e.g., softAP or a P2P GO, where it is possible that both the station and the mobile AP move out of the indoor environment making the indoor setting invalid. In such a case, user space has no way to invalidate the setting. - A station interface disconnection does not necessarily imply that the device is no longer operating in an indoor environment, e.g., it is possible that the station interface is roaming but is still stays indoor. To handle the above, extend the indoor configuration API to allow user space to indicate a change of indoor settings, and allow it to indicate weather it controls the indoor setting, such that: 1. If the user space process explicitly indicates that it is going to control the indoor setting, do not clear the indoor setting internally, unless the socket is released. The user space process should use the NL80211_ATTR_SOCKET_OWNER attribute in the command to state that it is going to control the indoor setting. 2. Reset the indoor setting when restoring the regulatory settings in case it is not owned by a user space process. Based on the above, a user space tool that continuously monitors the indoor settings, i.e., tracking power setting, location etc., can indicate environment changes to the regulatory core. It should be noted that currently user space is the only provided mechanism used to hint to the regulatory core over the indoor/outdoor environment -- while the country IEs do have an environment setting this has been completely ignored by the regulatory core by design for a while now since country IEs typically can contain bogus data. Acked-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: ArikX Nemtsov <arik@xxxxxxxxxx> Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0c4ddcd214f5bc72713473e8383041ab7a2c6bb7 Author: Ilan peer <ilan.peer@xxxxxxxxx> Date: Wed Mar 4 00:32:05 2015 -0500 cfg80211: Simplify the handling of regulatory indoor setting Directly update the indoor setting without wrapping it as a regulatory request, to simplify the processing. Acked-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9b47668843d800ed57f6f6bfd6f5c4cffdf201c6 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:07 2015 -0800 x86/asm/entry: Rename 'INIT_TSS_IST' to 'CPU_TSS_IST' This has nothing to do with the init thread or the initial anything. It's just the CPU's TSS. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a0bd5e26b32a2e1f08ff99017d0997118fbb2485.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d0a0de21f82bbc1737ea3c831f018d0c2bc6b9c2 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:06 2015 -0800 x86/asm/entry: Remove INIT_TSS and fold the definitions into 'cpu_tss' The INIT_TSS is unnecessary. Just define the initial TSS where 'cpu_tss' is defined. While we're at it, merge the 32-bit and 64-bit definitions. The only syntactic change is that 32-bit kernels were computing sp0 as long, but now they compute it as unsigned long. Verified by objdump: the contents and relocations of .data..percpu..shared_aligned are unchanged on 32-bit and 64-bit kernels. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8fc39fa3f6c5d635e93afbdd1a0fe0678a6d7913.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 24933b82c0d9a711475a5ef7904eb733f561e637 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:05 2015 -0800 x86/asm/entry: Rename 'init_tss' to 'cpu_tss' It has nothing to do with init -- there's only one TSS per cpu. Other names considered include: - current_tss: Confusing because we never switch the tss. - singleton_tss: Too long. This patch was generated with 's/init_tss/cpu_tss/g'. Followup patches will fix INIT_TSS and INIT_TSS_IST by hand. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/da29fb2a793e4f649d93ce2d1ed320ebe8516262.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9d0c914c60f4d3123debb653340dc1f7cf44939d Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:04 2015 -0800 x86/asm/entry/64/compat: Change the 32-bit sysenter code to use sp0 The ia32 sysenter code loaded the top of the kernel stack into rsp by loading kernel_stack and then adjusting it. It can be simplified to just read sp0 directly. This requires the addition of a new asm-offsets entry for sp0. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/88ff9006163d296a0665338585c36d9bfb85235d.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 75182b1632a89f12540baa1806a7c5c180db620c Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:03 2015 -0800 x86/asm/entry: Switch all C consumers of kernel_stack to this_cpu_sp0() This will make modifying the semantics of kernel_stack easier. The change to ist_begin_non_atomic() is necessary because sp0 no longer points to the same THREAD_SIZE-aligned region as RSP; it's one byte too high for that. At Denys' suggestion, rather than offsetting it, just check explicitly that we're in the correct range ending at sp0. This has the added benefit that we no longer assume that the thread stack is aligned to THREAD_SIZE. Suggested-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/ef8254ad414cbb8034c9a56396eeb24f5dd5b0de.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8ef46a672a7d852709561d10672b6eaa8a4acd82 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Mar 5 19:19:02 2015 -0800 x86/asm/entry: Add this_cpu_sp0() to read sp0 for the current cpu We currently store references to the top of the kernel stack in multiple places: kernel_stack (with an offset) and init_tss.x86_tss.sp0 (no offset). The latter is defined by hardware and is a clean canonical way to find the top of the stack. Add an accessor so we can start using it. This needs minor paravirt tweaks. On native, sp0 defines the top of the kernel stack and is therefore always correct. On Xen and lguest, the hypervisor tracks the top of the stack, but we want to start reading sp0 in the kernel. Fixing this is simple: just update our local copy of sp0 as well as the hypervisor's copy on task switches. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8d675581859712bee09a055ed8f785d80dac1eca.1425611534.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 23375a0fd549aa0a8c96b9f56a0b8120ae1389dd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 00:38:35 2015 -0500 ipv4: Fix unused variable warnings in fib_table_flush_external. net/ipv4/fib_trie.c: In function â??fib_table_flush_externalâ??: net/ipv4/fib_trie.c:1572:6: warning: unused variable â??foundâ?? [-Wunused-variable] int found = 0; ^ net/ipv4/fib_trie.c:1571:16: warning: unused variable â??slenâ?? [-Wunused-variable] unsigned char slen; ^ Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fabe7bed114a0ffc02845b731c26aadd800e7b5d Merge: 24d2e4a c1beeef Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 00:26:16 2015 -0500 Merge branch 'l3_hw_offload' Scott Feldman says: ==================== switchdev: add IPv4 routing offload v4: - Add NETIF_F_NETNS_LOCAL to rocker port feature list to keep rocker ports in the default netns. Rocker hardware can't be partitioned to support multiple namespaces, currently. It would be interesting to add netns support to rocker device by basically adding another match field to each table to match on some unique netns ID, with a port knowing it's netns ID. Future work TDB. - Up-level the RTNH_F_EXTERNAL marking of routes installed to offload device from driver to switchdev common code. Now driver can't skip routes. Either it can install the route or it cannot. Yes or No. If no on any route, all offloading is aborted by removing routes from offload device and setting ipv4.fib_offload_disabled so no more routes can be offloaded. This is harsh, but it's our starting point. We can refine the policies in follow-up work. - Add new net.ipv4.fib_offload_disabled bool that is set if anything goes wrong with route offloading. We can refine this later to make the setting per-device or per-device-port-netdev, but let's start here simple and refine in follow-up work. - Rebase against Alex's latest FIB changes. I think I did everything correctly, and didn't run into any issues with testing, but I'd like Alex to look over the changes and maybe follow-up with any cleanups. v3: Changes based on v2 review comments: - Move check for custom rules up earlier in patch set, to keep git bisect safe. - Simplify the route add/modify failure handling to simple try until failure, and then on failure, undo everything. The switchdev driver will return err when route can normally be installed to device, but the install fails for one reason or another (no space left on device, etc). If a failure happens, uninstall all routes from the device, punting forwarding for all routes back to the kernel. - Scan route's full nexthop list, ensuring all nexthop devs belong to the same switchdev device, otherwise don't try to install route to device. v2: Changes based on v1 review comments and discussions at netconf: - Allow route modification, but use same ndo op used for adding route. Driver/device is expected to modify route in-place, if it can, to avoid interruption of service. - Add new RTNH_F_EXTERNAL flag to mark FIB entries offloaded externally. - Don't offload routes if using custom IP rules. If routes are already offloaded, and custom IP rules are turned on, flush routes from offload device. (Offloaded routes are marked with RTNH_F_EXTERNAL). - Use kernel's neigh resolution code to resolve route's nexthops' neigh MAC addrs. (Thanks davem, works great!). - Use fib->fib_priority in rocker driver to give priorities to routes in OF-DPA unicast route table. v1: This patch set adds L3 routing offload support for IPv4 routes. The idea is to mirror routes installed in the kernel's FIB down to a hardware switch device to offload the data forwarding path for L3. Only the data forwarding path is intercepted. Control and management of the kernel's FIB remains with the kernel. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1beeef7a32a791a60e2adcc217d4461cd1e25d1 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:20 2015 -0800 rocker: implement IPv4 fib offloading The driver implements ndo_switch_fib_ipv4_add/del ops to add/del/mod IPv4 routes to/from switchdev device. Once a route is added to the device, and the route's nexthops are resolved to neighbor MAC address, the device will forward matching pkts rather than the kernel. This offloads the L3 forwarding path from the kernel to the device. Note that control and management planes are still mananged by Linux; only the data plane is offloaded. Standard routing control protocols such as OSPF and BGP run on Linux and manage the kernel's FIB via standard rtm netlink msgs...nothing changes here. A new hash table is added to rocker to track neighbors. The driver listens for neighbor updates events using netevent notifier NETEVENT_NEIGH_UPDATE. Any ARP table updates for ports on this device are recorded in this table. Routes installed to the device with nexthops that reference neighbors in this table are "qualified". In the case of a route with nexthops not resolved in the table, the kernel is asked to resolve the nexthop. The driver uses fib_info->fib_priority for the priority field in rocker's unicast routing table. The device can only forward to pkts matching route dst to resolved nexthops. Currently, the device only supports single-path routes (i.e. routes with one nexthop). Equal Cost Multipath (ECMP) route support will be added in followup patches. This patch is driver support for unicast IPv4 routing only. Followup patches will add driver and infrastructure for IPv6 routing and multicast routing. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e05fd7166c6123334b7a739a697d677747aa462 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:19 2015 -0800 fib: hook IPv4 fib for hardware offload Call into the switchdev driver any time an IPv4 fib entry is added/modified/deleted from the kernel's FIB. The switchdev driver may or may not install the route to the offload device. In the case where the driver tries to install the route and something goes wrong (device's routing table is full, etc), then all of the offloaded routes will be flushed from the device, route forwarding falls back to the kernel, and no more routes are offloading. We can refine this logic later. For now, use the simplist model of offloading routes up to the point of failure, and then on failure, undo everything and mark IPv4 offloading disabled. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 448b128a14501543748514a4f9adedd3c0da2e85 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:18 2015 -0800 ipv4: add net bool fib_offload_disabled If something goes wrong with IPv4 FIB offload, mark entire net offload disabled. This is brute force policy to basically shut down IPv4 FIB offload permanently if there is a problem offloading any route to an external device. We can refine the policy in the future, to handle failures on a per-device or per-route basis, but for now, this policy is per-net. What we're trying to avoid is an inconsistent split between the kernel's FIB and the offload device's FIB. We don't want the device to fwd a pkt inconsitent with what the kernel would do. An example of a split is if device has 10.0.0.0/16 and kernel has 10.0.0.0/16 and 10.0.0.0/24, the device wouldn't see the longest prefix 10.0.0.0/24 and potentially forward pkts incorrectly. Limited capacity or limited capability are two ways a route may fail to install to the offload device. We'll not differentiate between failures at this time, and treat any failure as fatal and mark the net as fib_offload_disabled. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5d6fbdeede861b52d67b9a4ea3fdfcc6e6865cd Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:17 2015 -0800 switchdev: implement IPv4 fib ndo wrappers Flesh out ndo wrappers to call into device driver. To call into device driver, the wrapper must interate over route's nexthops to ensure all nexthop devs belong to the same switch device. Currently, there is no support for route's nexthops spanning offloaded and non-offloaded devices, or spanning ports of multiple offload devices. Since switch device ports may be stacked under virtual interfaces (bonds and/or bridges), and the route's nexthop may be on the virtual interface, the wrapper will traverse the nexthop dev down to the base dev. It's the base dev that's passed to the switchdev driver's ndo ops. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 104616e74e0b464d449fdd2ee2f547d2fad71610 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:16 2015 -0800 switchdev: don't support custom ip rules, for now Keep switchdev FIB offload model simple for now and don't allow custom ip rules. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e8d90497d65f528c54015644095ace6e330fd8e Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:15 2015 -0800 switchdev: add IPv4 fib ndo ops wrappers Add IPv4 fib ndo wrapper funcs and stub them out for now. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4586f1bb911ce219a4bc1c2a9d6eee2e058b2b51 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:14 2015 -0800 netdevice: add IPv4 fib add/del ops Add two new ndo ops for IPv4 fib offload support, add and del. Add uses modifiy semantics if fib entry already offloaded. Drivers implementing the new ndo ops will return err<0 if programming device fails, for example if device's tables are full. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37ed9493699cc5dafe1b8725858ef73176fdc9d2 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Mar 5 21:21:13 2015 -0800 rtnetlink: add RTNH_F_EXTERNAL flag for fib offload Add new RTNH_F_EXTERNAL flag to mark fib entries offloaded externally, for example to a switchdev switch device. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24d2e4a50737867aba1e96a587ef0d90c17e3035 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 5 10:41:34 2015 -0800 tg3: use napi_complete_done() Using napi_complete_done() instead of napi_complete() allows us to use /sys/class/net/ethX/gro_flush_timeout GRO layer can aggregate more packets if the flush is delayed a bit, without having to set too big coalescing parameters that impact latencies. Tested: lpx:~# echo 0 >/sys/class/net/eth1/gro_flush_timeout lpx:~# sar -n DEV 1 10 | grep eth1 10:36:25 AM eth1 81290.00 40617.00 120479.67 2777.01 0.00 0.00 0.00 10:36:26 AM eth1 81283.00 40608.00 120481.81 2778.13 0.00 0.00 1.00 10:36:27 AM eth1 81304.00 40639.00 120518.42 2778.28 0.00 0.00 0.00 10:36:28 AM eth1 81255.00 40605.00 120437.34 2775.95 0.00 0.00 1.00 10:36:29 AM eth1 81306.00 40630.00 120521.44 2777.70 0.00 0.00 0.00 10:36:30 AM eth1 81286.00 40564.00 120480.20 2773.31 0.00 0.00 0.00 10:36:31 AM eth1 81256.00 40599.00 120438.81 2776.27 0.00 0.00 0.00 10:36:32 AM eth1 81287.00 40594.00 120480.69 2776.69 0.00 0.00 0.00 10:36:33 AM eth1 81279.00 40601.00 120478.53 2775.84 0.00 0.00 0.00 10:36:34 AM eth1 81277.00 40610.00 120476.94 2776.25 0.00 0.00 0.00 Average: eth1 81282.30 40606.70 120479.39 2776.54 0.00 0.00 0.20 lpx:~# echo 13000 >/sys/class/net/eth1/gro_flush_timeout lpx:~# sar -n DEV 1 10 | grep eth1 10:36:43 AM eth1 81257.00 7747.00 120437.44 530.00 0.00 0.00 0.00 10:36:44 AM eth1 81278.00 7748.00 120480.00 529.85 0.00 0.00 0.00 10:36:45 AM eth1 81282.00 7752.00 120479.09 531.09 0.00 0.00 0.00 10:36:46 AM eth1 81282.00 7751.00 120478.80 530.90 0.00 0.00 0.00 10:36:47 AM eth1 81276.00 7745.00 120478.31 529.64 0.00 0.00 0.00 10:36:48 AM eth1 81278.00 7747.00 120478.50 529.81 0.00 0.00 0.00 10:36:49 AM eth1 81282.00 7749.00 120478.88 530.01 0.00 0.00 0.00 10:36:50 AM eth1 81284.00 7751.00 120481.52 530.20 0.00 0.00 0.00 10:36:51 AM eth1 81299.00 7769.00 120481.74 533.81 0.00 0.00 0.00 10:36:52 AM eth1 81281.00 7748.00 120478.62 529.96 0.00 0.00 0.00 Average: eth1 81279.90 7750.70 120475.29 530.53 0.00 0.00 0.00 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 050f7dcd27b9b7ea789b5e4abe89efc445062f8a Merge: 4961272 c86e59b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Mar 6 00:18:29 2015 -0500 Merge branch 'dsa-next' Florian Fainelli says: ==================== net: dsa: code re-organization This pull request contains the first part of the patches required to implement the grand plan detailed here: http://www.spinics.net/lists/netdev/msg295942.html These are mostly code re-organization and function bodies re-arrangement to allow different callers of lower-level initialization functions for 'struct dsa_switch' and 'struct dsa_switch_tree' to be later introduced. There is no functional code change at this point. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c86e59b9e63659bb7fc2ba1781aabe2f37aaf10b Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Mar 5 12:35:08 2015 -0800 net: dsa: extract dsa switch tree setup and removal Extract the core logic that setups a 'struct dsa_switch_tree' and removes it, update dsa_probe() and dsa_remove() to use the two helper functions. This will be useful to allow for other callers to setup this structure differently. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59299031038f3ea92cf484bc4a68d16ad4bb3050 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Mar 5 12:35:07 2015 -0800 net: dsa: let switches specify their tagging protocol In order to support the new DSA device driver model, a dsa_switch should be able to advertise the type of tagging protocol supported by the underlying switch device. This also removes constraints on how tagging can be stacked to each other. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df197195a5248164df0709fbadc61133897281f5 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Mar 5 12:35:06 2015 -0800 net: dsa: split dsa_switch_setup into two functions Split the part of dsa_switch_setup() which is responsible for allocating and initializing a 'struct dsa_switch' and the part which is doing a given switch device setup and slave network device creation. This is a preliminary change to allow a separate caller of dsa_switch_setup_one() which may have externally initialized the dsa_switch structure, outside of dsa_switch_setup(). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b324c07ac4771a6ac8f57a3e1897e1b36b0a9ff0 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Mar 5 12:35:05 2015 -0800 net: dsa: allow deferred probing In preparation for allowing a different model to register DSA switches, update dsa_of_probe() and dsa_probe() to return -EPROBE_DEFER where appropriate. Failure to find a phandle or Device Tree property is still fatal, but looking up the internal device structure associated with a Device Tree node is something that might need to be delayed based on driver probe ordering. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1a26a062f03b27fa52f62487897fe205303fa7f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Mar 5 12:35:04 2015 -0800 net: dsa: update dsa_of_{probe, remove} to use a device pointer In preparation for allowing a different mechanism to register DSA switch devices and driver, update dsa_of_probe and dsa_of_remove to take a struct device pointer since neither of these two functions uses the struct platform_device pointer. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f027e601f8f7903ac6f33741f9e513aaf8391bc8 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Mar 6 01:57:31 2015 -0300 ARM: mx25: Remove mach-mx25_3ds board file imx25-pdk.dts provides a more complete support than the board file version, so let's get rid of the board file. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 496127290f298d839918a14728b653b43ef02708 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Mar 5 10:18:14 2015 -0800 inet_diag: remove duplicate code from inet_twsk_diag_dump() timewait sockets now share a common base with established sockets. inet_twsk_diag_dump() can use inet_diag_bc_sk() instead of duplicating code, granted that inet_diag_bc_sk() does proper userlocks initialization. twsk_build_assert() will catch any future changes that could break the assumptions. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e815665e1a8ca1525900377f74021c8cac390e8d Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Thu Mar 5 19:02:35 2015 -0800 i40e: Fix mismatching type for ioremap_len As pointed out by Ben Hutchings, ioremap uses unsigned long as its parameter type, so we should be using that instead of u32 or int. Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0f91938bede204a343473792529e0db7d599836 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Mar 5 10:23:49 2015 +0100 tipc: add ip/udp media type The ip/udp bearer can be configured in a point-to-point mode by specifying both local and remote ip/hostname, or it can be enabled in multicast mode, where links are established to all tipc nodes that have joined the same multicast group. The multicast IP address is generated based on the TIPC network ID, but can be overridden by using another multicast address as remote ip. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 948fa2d115c553ae32aced66e0f00f89245dc05e Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Mar 5 10:23:48 2015 +0100 tipc: increase size of tipc discovery messages The payload area following the TIPC discovery message header is an opaque area defined by the media. INT_H_SIZE was enough for Ethernet/IB/IPv4 but needs to be expanded to carry IPv6 addressing information. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33f8b9ecdb15bc8a3c6be0072a7e0f7a345856f1 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Mar 4 20:11:44 2015 -0800 net_sched: move tp->root allocation into fw_init() Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a05c2d112c0c4a768bfad47c33f28a15f8cf1193 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Wed Mar 4 20:11:43 2015 -0800 net_sched: move tp->root allocation into route4_init() Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2490c65fe82bf09567dd057f3d76550a257e4039 Merge: 4b5edb2 d3866a0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 5 21:07:15 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== This series contains updates to i40e only. Greg provides fixes for the NPAR transmit scheduler where the driver initialization caused the BW configurations to not take effect, so use a BW configuration read and write back to "kick" the transmit scheduler into action. Fixes the ethtool offline test, where we were not actually taking the device offline before doing the testing. Matt modifies the get and set LED functions so they ignore activity LEDs since we are required to blink the link LEDs only. Neerav provides a workaround for whenever a DCBX configuration is changed, where the firmware doe not set the operational status bit of the application TLV status as returned from the "Get CEE DCBX Oper Cfg" admin queue command. So remove the check for the operational and sync bits of the application TLV status until a firmware fix is provided. Shannon changes the driver to grab the NVM devstarter version and not the image version, since it is the more useful version and is what should be displayed. Moves the IRQ tracking setup and tear down into the same routines that do the IRQ setup and tear down. This keeps like activities together and allows us to track exactly the number of vectors reserved from the OS, which may be fewer than are available from the hardware. Jesse provides a fix to use a more portable sign extension by replacing 0xffff.... with ~(u64)0 or ~(u32)0. Also fixes XPS mask when resetting, where the driver would accidentally clear the XPS mask for all queues back to 0. This caused higher CPU utilization and had some other performance impacts for transmit tests. Cleans up some whitespace formatting. Catherine provides a fix where some firmware versions are incorrectly reporting a breakout cable as PHY type 0x3 when it should be 0x16 (I40E_PHY_TYPE_10GBASE_SFPP_CU). Adds the 10G and 40G AOC PHY types to the case statement in get_media_type and ethtool get_settings so that the correct information gets reported back to the user. Anjali provides IOREMAP changes for future device support, where we do not want to map the whole CSR space since some of it is mapped by other drivers with different mapping methods. Mitch changes the i40e driver to not "spam" the system log with messages about VF VSI when VFs are created and when they are reset to reduce user annoyance. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b5edb2f4a57dd0da85b9e2cbace06447e02e097 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Thu Mar 5 13:37:05 2015 +1100 mpls: using vzalloc requires including vmalloc.h Fixes this build error: net/mpls/af_mpls.c: In function 'resize_platform_label_table': net/mpls/af_mpls.c:767:4: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration] labels = vzalloc(size); ^ Fixes: 7720c01f3f59 ("mpls: Add a sysctl to control the size of the mpls label table") Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1cae565e8b746f484f1ff1b71d2a1c89d7cf0668 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Mar 5 15:05:36 2015 +0100 netfilter: nf_tables: limit maximum table name length to 32 bytes Set the same as we use for chain names, it should be enough. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f04e599e20d7ee9b9e5069c7d1ff59c21b9bf4c2 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Mar 5 14:56:15 2015 +0100 netfilter: nf_tables: consolidate Kconfig options Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1a1e1a12199ca27cebe87677b4c2153a3d2bacf2 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Tue Mar 3 20:10:06 2015 +0000 netfilter: nf_tables: cleanup nf_tables.h The transaction related definitions are squeezed in between the rule and expression definitions, which are closely related and should be next to each other. The transaction definitions actually don't belong into that file at all since it defines the global objects and API and transactions are internal to nf_tables_api, but for now simply move them to a seperate section. Similar, the chain types are in between a set of registration functions, they belong to the chain section. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 354bf5a0d794a34dc98ed25e72f460b3b360c174 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Tue Mar 3 20:10:05 2015 +0000 netfilter: nf_tables: consolidate tracing invocations * JUMP and GOTO are equivalent except for JUMP pushing the current context to the stack * RETURN and implicit RETURN (CONTINUE) are equivalent except that the logged rule number differs Result: nft_do_chain | -112 1 function changed, 112 bytes removed, diff: -112 Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 01ef16c2dd2e9a77fbd94eb0314c4787ab8f7113 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Tue Mar 3 20:10:04 2015 +0000 netfilter: nf_tables: minor tracing cleanups The tracing code is squeezed between multiple related parts of the evaluation code, move it out. Also add an inline wrapper for the reoccuring test for skb->nf_trace. Small code savings in nft_do_chain(): nft_trace_packet | -137 nft_do_chain | -8 2 functions changed, 145 bytes removed, diff: -145 net/netfilter/nf_tables_core.c: __nft_trace_packet | +137 1 function changed, 137 bytes added, diff: +137 net/netfilter/nf_tables_core.o: 3 functions changed, 137 bytes added, 145 bytes removed, diff: -8 Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 43270b1bc5f1e33522dacf3d3b9175c29404c36c Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Mar 2 14:40:39 2015 +0100 netfilter: ipt_CLUSTERIP: deprecate it in favour of xt_cluster xt_cluster supersedes ipt_CLUSTERIP since it can be also used in gateway configurations (not only from the backend side). ipt_CLUSTER is also known to leak the netdev that it uses on device removal, which requires a rather large fix to workaround the problem: http://patchwork.ozlabs.org/patch/358629/ So let's deprecate this so we can probably kill code this in the future. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d972b0523fa99358b2a0bafd85fe913b5d4b150a Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Sun Mar 1 23:55:47 2015 +0200 tpm: fix call order in tpm-chip.c - tpm_dev_add_device(): cdev_add() must be done before uevent is propagated in order to avoid races. - tpm_chip_register(): tpm_dev_add_device() must be done as the last step before exposing device to the user space in order to avoid races. In addition clarified description in tpm_chip_register(). Fixes: 313d21eeab92 ("tpm: device class for tpm") Fixes: afb5abc262e9 ("tpm: two-phase chip management functions") Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 6da2517ddb03cb12c6e8bbe449b5ed1b51878642 Author: jmlatten@xxxxxxxxxxxxxxxxxx <jmlatten@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 18:11:24 2015 -0600 tpm/ibmvtpm: Additional LE support for tpm_ibmvtpm_send Problem: When IMA and VTPM are both enabled in kernel config, kernel hangs during bootup on LE OS. Why?: IMA calls tpm_pcr_read() which results in tpm_ibmvtpm_send and tpm_ibmtpm_recv getting called. A trace showed that tpm_ibmtpm_recv was hanging. Resolution: tpm_ibmtpm_recv was hanging because tpm_ibmvtpm_send was sending CRQ message that probably did not make much sense to phype because of Endianness. The fix below sends correctly converted CRQ for LE. This was not caught before because it seems IMA is not enabled by default in kernel config and IMA exercises this particular code path in vtpm. Tested with IMA and VTPM enabled in kernel config and VTPM enabled on both a BE OS and a LE OS ppc64 lpar. This exercised CRQ and TPM command code paths in vtpm. Patch is against Peter's tpmdd tree on github which included Vicky's previous vtpm le patches. Signed-off-by: Joy Latten <jmlatten@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # eb71f8a5e33f: "Added Little Endian support to vtpm module" Cc: <stable@xxxxxxxxxxxxxxx> Reviewed-by: Ashley Lai <ashley@xxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 0e9974f7272784fdc63a0ce9bd415ed24f1e958b Merge: 842a9ae f36e58e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Mar 5 15:11:57 2015 -0500 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== cxgb4: RX Queue related cleanup and fixes This patch series adds a common function to allocate RX queues and queue allocation changes to RDMA CIQ The patches series is created against 'net-next' tree. And includes patches on cxgb4 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 f36e58e5668694cd89d0a4d04a767a6286d497cc Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Mar 4 18:16:28 2015 +0530 cxgb4: Try and provide an RDMA CIQ per cpu To allow for better scalability on systems with large core counts, we will try and allocate enough RDMA Concentrator IQs and MSI/X vectors as we have cores. If we cannot get enough MSI/X vectors, fall back to the minimum required: 1 per adapter rx channel. Also clean up cxgb_enable_msix() to make it readable and correct a bug where the vectors are not correctly assigned if the driver doesn't get the full amount requested. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c6a5b0e3446c36e3fc3f4531b1cf2db61f8319b Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Mar 4 18:16:27 2015 +0530 cxgb4: Move offload Rx queue allocation to separate function Adds a common function for all Rx queue allocation. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d8bf368d0631d4bc2612d8bf2e4e8e74e620d0cc Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Thu Mar 5 15:23:08 2015 +0100 genirq: Remove the deprecated 'IRQF_DISABLED' request_irq() flag entirely The IRQF_DISABLED flag is a NOOP and has been scheduled for removal since Linux v2.6.36 by commit 6932bf37bed4 ("genirq: Remove IRQF_DISABLED from core code"). According to commit e58aa3d2d0cc ("genirq: Run irq handlers with interrupts disabled"), running IRQ handlers with interrupts enabled can cause stack overflows when the interrupt line of the issuing device is still active. This patch ends the grace period for IRQF_DISABLED (i.e., SA_INTERRUPT in older versions of Linux) and removes the definition and all remaining usages of this flag. There's still a few non-functional references left in the kernel source: - The bigger hunk in Documentation/scsi/ncr53c8xx.txt is removed entirely as IRQF_DISABLED is gone now; the usage in older kernel versions (including the old SA_INTERRUPT flag) should be discouraged. The trouble of using IRQF_SHARED is a general problem and not specific to any driver. - I left the reference in Documentation/PCI/MSI-HOWTO.txt untouched since it has already been removed in linux-next. - All remaining references are changelogs that I suggest to keep. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Afzal Mohammed <afzal@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Ewan Milne <emilne@xxxxxxxxxx> Cc: Eyal Perry <eyalpe@xxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Hongliang Tao <taohl@xxxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Keerthy <j-keerthy@xxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Nishanth Menon <nm@xxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Quentin Lambert <lambert.quentin@xxxxxxxxx> Cc: Rajendra Nayak <rnayak@xxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Cc: Sricharan R <r.sricharan@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Cc: iss_storagedev@xxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1425565425-12604-1-git-send-email-valentinrothberg@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 842a9ae08a25671db3d4f689eed68b4d64be15b5 Author: Jouni Malinen <jouni@xxxxxxxxxxxxxx> Date: Wed Mar 4 12:54:21 2015 +0200 bridge: Extend Proxy ARP design to allow optional rules for Wi-Fi This extends the design in commit 958501163ddd ("bridge: Add support for IEEE 802.11 Proxy ARP") with optional set of rules that are needed to meet the IEEE 802.11 and Hotspot 2.0 requirements for ProxyARP. The previously added BR_PROXYARP behavior is left as-is and a new BR_PROXYARP_WIFI alternative is added so that this behavior can be configured from user space when required. In addition, this enables proxyarp functionality for unicast ARP requests for both BR_PROXYARP and BR_PROXYARP_WIFI since it is possible to use unicast as well as broadcast for these frames. The key differences in functionality: BR_PROXYARP: - uses the flag on the bridge port on which the request frame was received to determine whether to reply - block bridge port flooding completely on ports that enable proxy ARP BR_PROXYARP_WIFI: - uses the flag on the bridge port to which the target device of the request belongs - block bridge port flooding selectively based on whether the proxyarp functionality replied Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33ca8a53f262b4af40611bea331b8c87d133af72 Merge: db2dcb4 13a7a6a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Mar 5 20:52:18 2015 +0100 Merge tag 'v4.0-rc2' into irq/core, to refresh the tree before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 787fb2bd42b9d798f4ed85b66e878222a9e28ae6 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 5 06:54:00 2015 -0600 ax25: Fix the build when CONFIG_INET is disabled > > >> net/ax25/ax25_ip.c:225:26: error: unknown type name 'sturct' > netdev_tx_t ax25_ip_xmit(sturct sk_buff *skb) > ^ > > vim +/sturct +225 net/ax25/ax25_ip.c > > 219 unsigned short type, const void *daddr, > 220 const void *saddr, unsigned int len) > 221 { > 222 return -AX25_HEADER_LEN; > 223 } > 224 > > 225 netdev_tx_t ax25_ip_xmit(sturct sk_buff *skb) > 226 { > 227 kfree_skb(skb); > 228 return NETDEV_TX_OK; Ooops I misspelled struct... Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b42085af787eb2e465863ba82633bbd905a7897 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Feb 26 01:54:51 2015 -0300 regulator: wm8350: Remove unused variable Commit 8f45acb5f9f34eab ("regulator: wm8350: Pass NULL data with REGULATION_OUT and UNDER_VOLTAGE events") introduced the following build warning: drivers/regulator/wm8350-regulator.c: In function 'pmic_uv_handler': drivers/regulator/wm8350-regulator.c:1154:17: warning: unused variable 'wm8350' [-Wunused-variable] Remove 'wm8350' as it is unused now. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2d800897e868ba561733ecffb30d840cbe5c86d4 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Mar 3 16:21:50 2015 -0800 MAINTAINERS: Add QCOM audio ASoC maintainer Add maintainers for the Qualcomm Technologies sound drivers. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8dd72c42d38e62b82d7e3c47173b502d851c48ad Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Mar 3 16:21:51 2015 -0800 ASoC: qcom: Document LPASS CPU bindings Add documentation to the sound directory of the device-tree bindings for the QTi LPASS CPU DAI device. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c5c8635a04711c7a7aca82f90e6b1e6df1c057be Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Mar 3 16:21:55 2015 -0800 ASoC: qcom: Add LPASS platform driver Add platform driver for the Qualcomm Technologies low-power audio subsystem (LPASS) ports. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 80beab8e1d86d7da843e6c3e439bbca5320c568d Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Mar 3 16:21:54 2015 -0800 ASoC: qcom: Add LPASS CPU DAI driver Add the CPU DAI driver for the Qualcomm Technologies low-power audio subsystem (LPASS). Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd59f13823ae65a16b7c99fdd338ebac0c6487f2 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Mar 3 16:21:53 2015 -0800 ASoC: qcom: add LPASS header files Add the LPASS header files for ipq806x SOC. This includes the register definitions for the ipq806x LPAIF, and the structure definition for the driver data. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 012baec5c1eaab7ad98b461eb7afae2faf79dbea Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Mar 5 03:37:39 2015 +0800 ASoC: tegra: fix platform_no_drv_owner.cocci warnings sound/soc/tegra/tegra_rt5677.c:334:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f43a87e06e2f19892ff3f278e0181cbf9901b15 Author: Matt Porter <mporter@xxxxxxxxxxxx> Date: Wed Mar 4 14:12:58 2015 -0500 spi: fsl-imx-cspi: add explicit compatible strings and required clock properties The fsl-imx-cspi binding contains language indicating compatible strings to be used that is not valid for all supported parts e.g. Should be "fsl,<soc>-cspi" or "fsl,<soc>-ecspi". Fix this by enumerating the set of valid compatible strings. The binding is also missing the clocks/clock-names properties so document these and the two required ipg and per clocks. Signed-off-by: Matt Porter <mporter@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 45ad3e67f663af3f7988552165e8b8ebddde0ac7 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 15:42:51 2015 +0000 ASoC: wm8804: Update DT binding document to cover regulator supplies Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fcf638f9953eb7f3b97fad7e970ae59dcdbd70c1 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 15:39:22 2015 +0000 ASoC: wm8804: Fix small issues in probe error paths This patch fixes some small issues on the probe error paths. Firstly, fail probe if we can't register the regulator notifiers as this will cause the cache to never be synchronised which will result in odd behaviour if the regulators are controllable. Secondly, we don't need to call regulator_bulk_disable if the enable fails, because the regulator core will handle this clean up for us. Finally, we need to disable the regulators if snd_soc_register_codecs fails. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0be9653a02830637ed385d99bf898d456e8eae8f Author: Charles Keepax <ckeepax@xxxxxxxxx> Date: Thu Mar 5 15:39:21 2015 +0000 ASoC: wm8804: Use new devres regulator_register_notifier This is more idiomatic and also fixes an issue where the notifiers were being leaked if probe failed. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5142442d75194ab983e865e6c12995da5666a11c Merge: 6f2c934 046db76 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 16:45:41 2015 +0000 Merge branch 'topic/notifier' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into asoc-wm8804 commit 046db763aaaeb987ea01ea8c7e6d618e0ad1e6b8 Author: Charles Keepax <ckeepax@xxxxxxxxx> Date: Thu Mar 5 15:39:20 2015 +0000 regulator: core: Add devres versions of notifier registration Add devm_regulator_register_notifier, this adds the resource against the device for the consumer supply we are registering the notifier for. There seem to be few use-cases where this wouldn't be the users intention and this ensures the notifiers will always be removed at the correct time. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6afda7f5075440f6737d953ab00fc82efb6cabae Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Mar 5 16:55:21 2015 +0200 ASoC: davinci-mcasp: Allow complete shutdown of McASP when not in use Rearrange the pm_runtime_get/put_sync calls so the IP will be turned off when it is not in use. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26f7af37eeaab359c3013c704f75749a2b5ce1b1 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Fri Feb 20 17:58:44 2015 +0530 dmaengine: jz4740: Remove extra check Remove double check on chan->desc. Found by Coccinelle. Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 84f11d5b1f2abc0e22895b7e12e037f0ec03caeb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 24 02:07:07 2015 +0000 mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info Current sh_mobile_sdhi's platform data is set via sh_mobile_sdhi_info and it is just copied to tmio_mmc_data. Now, tmio mmc platform data is specified via tmio_mmc_data. This patch replace sh_mobile_sdhi_info to tmio_mmc_data struct sh_mobile_sdhi_info { -> struct tmio_mmc_data { int dma_slave_tx; -> void *chan_priv_tx; int dma_slave_rx; -> void *chan_priv_rx; unsigned long tmio_flags; -> unsigned long flags; unsigned long tmio_caps; -> unsigned long capabilities; unsigned long tmio_caps2; -> unsigned long capabilities2; u32 tmio_ocr_mask; -> u32 ocr_mask; unsigned int cd_gpio; -> unsigned int cd_gpio; }; unsigned int hclk; void (*set_pwr)(...); void (*set_clk_div)(...); }; Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f33c9d655893d8632460696bbbdee737cb315711 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 24 02:06:43 2015 +0000 mmc: tmio: mmc: tmio: tmio_mmc_data has .chan_priv_?x dma_request_slave_channel_compat() in tmio_mmc_dma needs .chan_priv_tx/.chan_priv_rx. But these are copied from sh_mobile_sdhi only, and sh_mobile_sdhi_info is now almost same as tmio_mmc_data except .chan_priv_?x. sh_mobile_sdhi_info can be replaced to tmio_mmc_data, but it is used from ${LINUX}/arch/arm/mach-shmobile, ${LINUX}/arch/sh. So, this patch adds .chan_priv_?x into tmio_mmc_data as 1st step, and sh_mobile_sdhi driver has dummy operation for now. It will be replaced/removed together with platform data replace. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d3866a071c426ee75649714cce062903d94e2f71 Author: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Date: Thu Feb 26 16:16:44 2015 +0000 i40e/i40evf: Version bump Bump i40e to 1.2.11 and i40evf to 1.2.5 Change-ID: Ie13375941606b0a027e5b5dbc235f5f5f03b75c8 Signed-off-by: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bfde98bd762346639f0a5a557e02c4828dd6273b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 11:48:50 2015 +0100 dmaengine: Remove net_dma_find_channel Since commit 7bced397510a ("net_dma: simple removal") removed the net_dma support entirely, net_dma_find_channel has no users left. Remove the function entirely. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 68c062eaa87b7b85b65f20f25c54524437715a95 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 5 11:42:43 2015 +0100 dmaengine: Remove net_dma leftovers Commit 7bce d397 510a ("net_dma: simple removal") removed the net_dma support entirely but left some functions and prototypes in the dmaengine header. Remove them. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 94666990015a28d1880b56215bac081df218a4a1 Author: Mitch A Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Feb 26 16:16:19 2015 +0000 i40e: don't spam the system log The PF driver spams the system log with messages about VF VSI when VFs are created, as well as each time they are reset. This is annoying, and the information isn't even useful most of the time. Remove this message to reduce user annoyance. Change-ID: I8de90d05380f54b038c9c8c3265150be87c9242c Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3b44439934055f91be7ee1c890bc5d5f3c904f88 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Feb 26 16:15:57 2015 +0000 i40e: move IRQ tracking setup into MSIX setup Move the IRQ tracking setup and teardown into the same routines that do the IRQ setup and teardown. This keeps like activities together and allows us to track exactly the number of vectors reserved from the OS, which may be fewer than are available from the HW. Change-ID: I6b2b1a955c5f0ac6b94c3084304ed0b2ea6777cf Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 232f47060ada14c4b77ce1f21eec9332b9234a87 Author: Anjali Singhai <anjali.singhai@xxxxxxxxx> Date: Thu Feb 26 16:15:39 2015 +0000 i40e: Ioremap changes For future device support we do not want to map the whole CSR space since some of it is mapped by other drivers with different mapping methods. Note: As a side effect, the flash region (if exposed through the memory map) gets unmapped too since it follows the future use region. Change-ID: Ic729a2eacd692984220b1a415ff4fa0f98ea419a Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5bbc330100285e56871a64d4148b9d3a1ac0f297 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Feb 26 16:15:20 2015 +0000 i40e/i40evf: Clean up some formatting and other things Fix some double blank lines and un-split a function declaration that all fits on one line. Also make i40e_get_priv_flags static. Change-ID: I11b5d25d1153a06b286d0d2f5d916d7727c58e4a Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 180204c79ffc5c525c51a209291c323b127fb32e Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Feb 26 16:14:58 2015 +0000 i40e: Add AOC PHY types to case statements Add the 10G and 40G AOC PHY types to the case statement in get_media_type and ethtool get_settings so that the correct information gets reported back to the user. Change-ID: I1b4849d22199a9acf7c8807166d0317c1faad375 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5b86c5cf7536e383b301bf3322087b4bd4f6547b Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Thu Feb 26 16:14:35 2015 +0000 i40e: Fix ethtool offline test If the system administrator is requesting an offline diagnostic test using 'ethtool -t' then we should, you know, actually take the device offline before doing the testing. Change-ID: I6afa1cbfcc821c9ab6e6f47ed4d8dc2d8dd20e82 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 088c4ee370ecc5c7ce2681e75b78429825c860bf Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Feb 26 16:14:12 2015 +0000 i40e: Reassign incorrect PHY type to fix a FW bug Some FW versions are incorrectly reporting a breakout cable as PHY type 0x3 when it should be 0x16 (I40E_PHY_TYPE_10GBASE_SFPP_CU). If we get this value back from FW and the version is < 4.40, reassign it to I40E_PHY_TYPE_10GBASE_SFPP_CU. Change-ID: Ibb41a0e3cd2c0753744e8553959240df6ed13ae8 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 695df2132cfe3782784d4b0e1f0027168c1830ca Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Wed Mar 4 17:09:33 2015 +0800 cpuset: initialize cpuset a bit early Now we call ss->bind() in cgroup_init(), so cgroup_init() will call cpuset_bind() and then the latter will access top_cpuset's cpumask, which is NULL, because cpuset_init() is called after cgroup_init() The simplest fix is to swap cgroup_init() and cpuset_init(). Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Fixes: 295458e67284 ("cgroup: call cgroup_subsys->bind on cgroup subsys initialization") Reported by: Ming Lei <tom.leiming@xxxxxxxxx> Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> commit 9a660eeae2779cea72ef306b721273a0e951e7d7 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Feb 26 16:13:22 2015 +0000 i40e: fix XPS mask when resetting During resets (possibly caused by a Tx hang) the driver would accidentally clear the XPS mask for all queues back to 0. This caused higher CPU utilization and had some other performance impacts for transmit tests. Change-ID: I95f112432c9e643a153eaa31cd28cdcbfdd01831 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1ca2760fb2c13959fcba794695cd5b306cbfa6a4 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Mar 4 23:07:05 2015 +0100 bcma: prepare Kconfig symbol for PCI driver Driver for PCIe core requires PCI to be enabled, however we shouldn't require it for the whole bus. Someone may be not interested in extra PCI devices and what's more there are SoCs without any PCI at all (like BCM5356C0, BCM5357*, BCM47186B0). For more details see Kconfig "help". Please note this patch doesn't allow disabling PCI drivers yet, as it requires more work on calls to bcma_core_pci_* functions. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0a4e699a41f767dff76ca7dc1019b9ca6de3eb42 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Mar 4 14:24:52 2015 +0100 bcma: move internal function declarations to private header These functions are not exported nor used anywhere, so there is no reason to put them in public headers. Also drop unused bcma_chipco_(suspend|resume). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c32ec2a11321978c34296d9a6bd5b0c31a2eb182 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Mar 4 12:14:41 2015 +0100 bcma: make bcma_host_pci_(up|down) calls safe for every config We were providing declarations but actual code was compiled only with CONFIG_BCMA_HOST_PCI set. This could result in: ERROR: "bcma_host_pci_down" [drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko] undefined! ERROR: "bcma_host_pci_up" [drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko] undefined! ERROR: "bcma_host_pci_down" [drivers/net/wireless/b43/b43.ko] undefined! ERROR: "bcma_host_pci_up" [drivers/net/wireless/b43/b43.ko] undefined! Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ce7ca75176dc3d87c75ea47a7b35a0ac50c7589c Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Feb 26 16:12:58 2015 +0000 i40e: use more portable sign extension Use automatic sign extension by replacing 0xffff... constants with ~(u64)0 or ~(u32)0. Change-ID: I73cab4cd2611795bb12e00f0f24fafaaee07457c Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Kevin Scott <kevin.c.scott@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b09f5ec18b16b82f4db8a735e453332db7514275 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed Mar 4 05:16:18 2015 +0800 bcma: Kconfig: Let it depend on PCI bcma also needs PCI, just like IOMEM and DMA, so let it depend on PCI, or will cause building break for allmodconfig under c6x: CC [M] drivers/bcma/driver_pcie2.o drivers/bcma/driver_pcie2.c: In function 'bcma_core_pcie2_up': drivers/bcma/driver_pcie2.c:196:8: error: implicit declaration of function 'pcie_set_readrq' [-Werror=implicit-function-declaration] err = pcie_set_readrq(dev, pcie2->reqsize); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4f651a5b0aa561962c97b76bb67ceb57491efabc Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Feb 26 16:12:26 2015 +0000 i40e/i40evf: grab NVM devstarter version not image version 0x2A is the NVM version so it has useful data but it is per image version every image can have a different one. 0x18 is the dev starter version which all the images for release will have the same version. Of the two 0x18 is more useful and is what should be displayed. Change-ID: Idf493da13a42ab211e2de0bef287f5de51033cca Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7589f65b32f4465e38cc1d71490ea6f3e170c08c Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Thu Feb 26 16:12:00 2015 +0000 i40e: Don't check operational or sync bit for App TLV In CEE mode the firmware does not set the operational status bit of the application TLV status as returned from the "Get CEE DCBX Oper Cfg" AQ command. This occurs whenever a DCBX configuration is changed. This is a workaround to remove the check for the operational and sync bits of the application TLV status till a firmware fix is provided. Change-ID: I1a31ff2fcadcb06feb5b55776a33593afc6ea176 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Acked-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3c5ecc9ed3537846fd95e8f288d6d6968075879f Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jan 21 15:43:11 2015 +0900 pinctrl: exynos: Add support for Exynos5433 This patch adds driver data for Exynos5433 SoC. Exynos5433 includes 228 multi- functional input/output port pins and 135 memory port pins. There are 41 general port groups and 2 memory port groups. Cc: Thomas Abraham <thomas.abraham@xxxxxxxxxx> Acked-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b84d5cd8198fa140abcd9293ab795897f2fc937f Author: Matt Jared <matthew.a.jared@xxxxxxxxx> Date: Thu Feb 26 16:11:30 2015 +0000 i40e: during LED interaction ignore activity LED src modes Modify our get and set LED functions so they ignore activity LEDs, as we are required to blink the link LEDs only. Change-ID: I647ea67a6fc95cbbab6e3cd01d81ec9ae096a9ad Signed-off-by: Matt Jared <matthew.a.jared@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c668a12c7bc92cc99de269647701b9d277f295b8 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Thu Feb 26 16:10:39 2015 +0000 i40e: Fix NPAR Tx Scheduler init Recent changes to the driver initialization have caused the BW configurations to not take effect. We use a BW configuration read and write back to "kick" the Tx scheduler into action. Change-ID: I94ab377c58d3a3986e3de62b6c199be3fd2ee5e6 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e3e72f38a5bd7b17aca04f1bfe6d0ef2371cf05a Merge: 0cbfc06 cffb41f Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Thu Mar 5 11:01:38 2015 +0200 Merge ath-next from ath.git Major changes in ath10k: * qca6174: enable STA transmit beamforming (TxBF) support * disable multi-vif power save by default commit 331758eef83620eef3f21289f0f44aba094d0503 Author: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Date: Wed Feb 11 17:28:02 2015 +0100 gpiolib: add devm_gpiod_get_array and devm_gpiod_put_array functions Add device managed variants of gpiod_get_array() / gpiod_put_array() functions for conveniently obtaining and disposing of an entire array of GPIOs with one function call. Signed-off-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 668585273246f67b0cdafa30dd2da2047a2e1290 Author: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Date: Wed Feb 11 17:27:58 2015 +0100 gpiolib: add gpiod_get_array and gpiod_put_array functions Introduce new functions for conveniently obtaining and disposing of an entire array of GPIOs with one function call. ACPI parts tested by Mika Westerberg, DT parts tested by Rojhalat Ibrahim. Change log: v5: move the ACPI functions to gpiolib-acpi.c v4: - use shorter names for members of struct gpio_descs - rename lut_gpio_count to platform_gpio_count for clarity - add check for successful memory allocation - use ERR_CAST() v3: - rebase on current linux-gpio devel branch - fix ACPI GPIO counting - allow for zero-sized arrays - make the flags argument mandatory for the new functions - clarify documentation v2: change interface Suggested-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Tested-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7f2e553a7173b485db41a52060f91fb8e5ab1c69 Author: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Date: Wed Feb 11 17:27:55 2015 +0100 gpiolib: define gpio suffixes globally Avoid multiple identical definitions of the gpio suffix strings by putting them into a global constant array. Signed-off-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c709feda56886c38af3116254f84cbe6a78b3a5d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Mar 5 08:58:44 2015 +0100 x86/mm/pat: Initialize __cachemode2pte_tbl[] and __pte2cachemode_tbl[] in a bit more readable fashion The initialization of these two arrays is a bit difficult to follow: restructure it optically so that a 2D structure shows which bit in the PTE is set and which not. Also improve on comments a bit. No code or data changed: # arch/x86/mm/init.o: text data bss dec hex filename 4585 424 29776 34785 87e1 init.o.before 4585 424 29776 34785 87e1 init.o.after md5: a82e11ff58bcfd0af3a94662a701f65d init.o.before.asm a82e11ff58bcfd0af3a94662a701f65d init.o.after.asm Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150305082135.GB5969@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c281b94570ab711fdf21e81bdfb3d79764492bcf Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Mar 5 08:28:48 2015 +0100 init.h: Clean up the __setup()/early_param() macros Make it all a bit easier on the eyes: - Move the __setup_param() lines right after their init functions - Use consistent vertical spacing - Use more horizontal spacing to make it look like regular C code - Use standard comment style Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e61980a70245715ab39cbee2b9d6e6afc1ec37d4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Mar 5 08:25:01 2015 +0100 x86/mm: Simplify probe_page_size_mask() Now that we've simplified the gbpages config space, move the 'page_size_mask' initialization into probe_page_size_mask(), right next to the PSE and PGE enablement lines. Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 10971ab269bbf22120edac95fcfa3c873a549bea Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Mar 5 08:18:23 2015 +0100 x86/mm: Further simplify 1 GB kernel linear mappings handling It's a bit pointless to allow Kconfig configuration for 1GB kernel mappings, it's already hidden behind a 'default y' and CONFIG_EXPERT. Remove this complication and simplify the code by renaming CONFIG_ENABLE_DIRECT_GBPAGES to CONFIG_X86_DIRECT_GBPAGES and document the DEBUG_PAGE_ALLOC and KMEMCHECK quirks. Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 82f8b651a94d5c7090563fe55cfdb286c461a16c Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Wed Mar 4 16:24:26 2015 -0800 Bluetooth: fix service discovery behaviour for empty uuids filter This patch fixes service discovery behaviour, when provided uuid filter is empty and HCI_QUIRK_STRICT_DUPLICATE_FILTER is set. Before this patch, empty uuid filter was unable to trigger scan restart, and that caused inconsistent behaviour in applications. Example: two DBus clients call BlueZ, one to find all devices with service abcd, second to find all devices with rssi smaller than -90. Sum of those filters, that is passed to mgmt_service_scan is empty filter, with no rssi or uuids set. That caused kernel not to restart scan when quirk was set. That was inconsistent with what happen when there's only one of those two filters set (scan is restarted and reports devices). To fix that, new variable hdev->discovery.result_filtering was introduced. It can indicate that filtered scan is running, no matter what uuid or rssi filter is set. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 2976cdeb27c83c83bf010a314309f07659ead228 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Wed Mar 4 16:24:25 2015 -0800 Bluetooth: Refactor service discovery filter logic This patch refactor code responsible for filtering when service discovery method is used. Previously this code was mixed with mgmt_device found logic. Now when it's in one place whole logic can be greatly simplified. That includes removing no longer necessary length field and merging checks for eir and scan_rsp. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 48f86b7f2673352d075e567a8f3425c548be8424 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Wed Mar 4 16:24:24 2015 -0800 Bluetooth: Move Service Discovery logic before refactoring This patch moves whole packet filering logic of service discovery into new function is_filter_match. It's done because logic inside mgmt_device_found is very complicated and needs some simplification. Also having whole logic in one place will allow to simplify it in the future. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 73c8c861dc5bddf1b24c6aeffee2292c96cf8db2 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Mar 4 17:24:14 2015 -0800 x86/mm: Use early_param_on_off() for direct_gbpages The enabler / disabler is pretty simple, just use the provided wrappers, this lets us easily relate the variable to the associated Kconfig entry. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Link: http://lkml.kernel.org/r/1425518654-3403-5-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bfb33bad83f650f265ed65cbfe8352b7c3ce8c76 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Mar 4 17:24:13 2015 -0800 init.h: Add early_param_on_off() At times all you need is a kconfig variable to enable a feature, by default but you may want to also enable / disable it through a kernel parameter. In such cases the parameter routines to turn the thing on / off are really simple. Just use a wrapper for this, it lets us generalize the code and makes it easier to associate parameters with related kernel configuration options. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Link: http://lkml.kernel.org/r/1425518654-3403-4-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e5008abe929c160d36e44b8c2b644d4330d2e389 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Mar 4 17:24:12 2015 -0800 x86/mm: Simplify enabling direct_gbpages direct_gbpages can be force enabled as an early parameter but not really have taken effect when DEBUG_PAGEALLOC or KMEMCHECK is enabled. You can also enable direct_gbpages right now if you have an x86_64 architecture but your CPU doesn't really have support for this feature. In both cases PG_LEVEL_1G won't actually be enabled but direct_gbpages is used in other areas under the assumptions that PG_LEVEL_1G was set. Fix this by putting together all requirements which make this feature sensible to enable under, and only enable both finally flipping on PG_LEVEL_1G and leaving PG_LEVEL_1G set when this is true. We only enable this feature then to be possible on sensible builds defined by the new ENABLE_DIRECT_GBPAGES. If the CPU has support for it you can either enable this by using the DIRECT_GBPAGES option or using the early kernel parameter. If a platform had support for this you can always force disable it as well. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Link: http://lkml.kernel.org/r/1425518654-3403-3-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d9fd579c218e22c897f0f1b9e132af9b436cf445 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Mar 4 17:24:11 2015 -0800 x86/mm: Use IS_ENABLED() for direct_gbpages Replace #ifdef eyesore with IS_ENABLED() use. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: JBeulich@xxxxxxxx Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: julia.lawall@xxxxxxx Link: http://lkml.kernel.org/r/1425518654-3403-2-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9941a383df98193aa9a9b3662af7c1fcbc3070ee Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:19 2015 +1030 CPU_MASK_ALL/CPU_MASK_NONE: remove from deprecated region. They're used to initialize various static fields, though static cpumasks should generally be avoided. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit e97636b487d0767500a1b898513577a5ce000ad9 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Mar 4 01:07:53 2015 -0500 staging/lustre/o2iblnd: Don't use cpus_weight cpus_weight and for_each_cpu_mask are deprecated, so replace them with cpumask_weight and for_each_cpu respectively. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit b25e74b56a34908c777c1e72ecd9c56c4c8e124d Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Mar 4 01:07:52 2015 -0500 staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_ Rusty Russel advises that cpus_* functions are deprecated to work on cpumasks and cpumask_* functions should be called instead, otherwise problems with CPUMASK_OFFSTACK arise. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit dc0d838a0527296730af6d3826bcda79d2918613 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Mar 4 01:07:51 2015 -0500 staging/lustre/ptlrpc: Do not use deprecated cpus_* functions As per Rusty Russel, cpus_* functions are deprecated. When mixing cpumask_copy with cpus_weight, they operate on different sized masks if CPUMASK_OFFSTACK is enabled, causing an immediate assertion failure. Copying of cpumasks by assignment is also not allowed now. Additionally, in ptlrpc/service.c avoid the cpumask copies, since we only use it to check how many siblings are there for core #0 and nothing else. Reported-by: Tyson Whitehead <twhitehead@xxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 35168f512ff7eff9153e8c192f1155c994a75a0a Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:18 2015 +1030 blackfin: fix up obsolete cpu function usage. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx commit 409e56f3ef355ef7670b33e3fc6de8d1256a11d3 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:18 2015 +1030 parisc: fix up obsolete cpu function usage. Thanks to spatch. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: linux-parisc@xxxxxxxxxxxxxxx commit 0cc0cd7049f06a5ddaf38b6b268f0663c806a337 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:18 2015 +1030 tile: fix up obsolete cpu function usage. Thanks to spatch. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 434ed7f4b08fb8c23bdfabbb1f9427f2ed9ec27c Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:18 2015 +1030 arm64: fix up obsolete cpu function usage. Thanks to spatch. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 8dd928915a73bf95a727a46037964243eb1e042c Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:17 2015 +1030 mips: fix up obsolete cpu function usage. Thanks to spatch, plus manual removal of "&*". Then a sweep for for_each_cpu_mask => for_each_cpu. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx commit d089f8e97d371a662dd233491e03bda377c9d46d Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:17 2015 +1030 x86: fix up obsolete cpu function usage. Thanks to spatch, plus manual removal of "&*". Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: x86@xxxxxxxxxx commit b09fcc90dc834b98c47cbb4d151526526ff10397 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:17 2015 +1030 um: fix up obsolete cpu function usage. Thanks to spatch. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: user-mode-linux-devel@xxxxxxxxxxxxxxxxxxxxx commit 5d2068da8d339e4dff8f9b9a1246e6a79e2949d8 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:16 2015 +1030 ia64: fix up obsolete cpu function usage. Thanks to spatch, then a sweep for for_each_cpu_mask => for_each_cpu. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: linux-ia64@xxxxxxxxxxxxxxx commit 66d06757d9eb74a29775737b8c770e3b57e536d9 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Mar 4 14:30:01 2015 -0800 net: bcmgenet: simplify __bcmgenet_tx_reclaim() 1. Use c_index and ring->c_index to determine how many TxCBs/TxBDs are ready for cleanup - c_index = the current value of TDMA_CONS_INDEX - TDMA_CONS_INDEX is HW-incremented and auto-wraparound (0x0-0xFFFF) - ring->c_index = __bcmgenet_tx_reclaim() cleaned up to this point on the previous invocation 2. Add bcmgenet_tx_ring->clean_ptr - index of the next TxCB to be cleaned - incremented as TxCBs/TxBDs are processed - value always in range [ring->cb_ptr, ring->end_ptr] 3. Fix incrementing of dev->stats.tx_packets - should be incremented only when tx_cb_ptr->skb != NULL These changes simplify __bcmgenet_tx_reclaim(). Furthermore, Tx ring size can now be any value. With the old code, Tx ring size had to be a power-of-2: num_tx_bds = ring->size; c_index &= (num_tx_bds - 1); last_c_index &= (num_tx_bds - 1); Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f93eb4ba0f6c089252c8358563b5859a4daf40b1 Merge: 3a65f63 1de3d87 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 23:35:24 2015 -0500 Merge branch 'fib_trie-next' Alexander Duyck says: ==================== ipv4/fib_trie: Cleanups to prepare for introduction of key vector This patch series is meant to mostly just clean up the fib_trie to prepare it for the introduction of the key_vector. As such there are a number of minor clean-ups such as reformatting the tnode to match the format once the key vector is introduced, some optimizations to drop the need for a leaf parent pointer, and some changes to remove duplication of effort such as the 2 look-ups that were essentially being done per node insertion. v2: Added code to cleanup idx >> n->bits and explain unsigned long logic Added code to prevent allocation when tnode size is larger than size_t ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1de3d87bcd2c2e631500b9e4f0c40b38ce0d0d57 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:04:46 2015 -0800 fib_trie: Prevent allocating tnode if bits is too big for size_t This patch adds code to prevent us from attempting to allocate a tnode with a size larger than what can be represented by size_t. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71e8b67d0fdd2fe22a657bb98716c5cf0e31e828 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:04:03 2015 -0800 fib_trie: Update last spot w/ idx >> n->bits code and explanation This change updates the fib_table_lookup function so that it is in sync with the fib_find_node function in terms of the explanation for the index check based on the bits value. I have also updated it from doing a mask to just doing a compare as I have found that seems to provide more options to the compiler as I have seen it turn this into a shift of the value and test under some circumstances. In addition I addressed one minor issue in which we kept computing the key ^ n->key when checking the fib aliases. I pulled the xor out of the loop in order to reduce the number of memory reads in the lookup. As a result we should save a couple cycles since the xor is only done once much earlier in the lookup. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7e53531234dc206bb75abb5305a72665dd4d75d Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:02:44 2015 -0800 fib_trie: Make fib_table rcu safe The fib_table was wrapped in several places with an rcu_read_lock/rcu_read_unlock however after looking over the code I found several spots where the tables were being accessed as just standard pointers without any protections. This change fixes that so that all of the proper protections are in place when accessing the table to take RCU replacement or removal of the table into account. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41b489fd6ce03e96e90fcffdb69b168065ae2e40 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:02:33 2015 -0800 fib_trie: move leaf and tnode to occupy the same spot in the key vector If we are going to compact the leaf and tnode we first need to make sure the fields are all in the same place. In that regard I am moving the leaf pointer which represents the fib_alias hash list to occupy what is currently the first key_vector pointer. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d5d6487cb8f019ab663df4c03519cd69e4362795 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:02:18 2015 -0800 fib_trie: Update insert and delete to make use of tp from find_node This change makes it so that the insert and delete functions make use of the tnode pointer returned in the fib_find_node call. By doing this we will not have to rely on the parent pointer in the leaf which will be going away soon. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4a975e83f4de2e454d7f937b36ce13b010c65ce Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 15:01:59 2015 -0800 fib_trie: Fib find node should return parent This change makes it so that the parent pointer is returned by reference in fib_find_node. By doing this I can use it to find the parent node when I am performing an insertion and I don't have to look for it again in fib_insert_node. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8be33e955cb959dabc1a6eef0b7356fe8cf73fa6 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 14:59:19 2015 -0800 fib_trie: Fib walk rcu should take a tnode and key instead of a trie and a leaf This change makes it so that leaf_walk_rcu takes a tnode and a key instead of the trie and a leaf. The main idea behind this is to avoid using the leaf parent pointer as that can have additional overhead in the future as I am trying to reduce the size of a leaf down to 16 bytes on 64b systems and 12b on 32b systems. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7289e6ddb633aaee6ccea2bd2e410654c47b29a6 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Mar 4 14:58:19 2015 -0800 fib_trie: Only resize tnodes once instead of on each leaf removal in fib_table_flush This change makes it so that we only call resize on the tnodes, instead of from each of the leaves. By doing this we can significantly reduce the amount of time spent resizing as we can update all of the leaves in the tnode first before we make any determinations about resizing. As a result we can simply free the tnode in the case that all of the leaves from a given tnode are flushed instead of resizing with each leaf removed. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9b531fe14a539ec2ad802b73c9638f324e4a4ff Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:49:16 2015 +1030 drivers: fix up obsolete cpu function usage. Thanks to spatch, plus manual removal of "&*". Then a sweep for for_each_cpu_mask => for_each_cpu. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx commit 51f7bd8590267011db7b632f53f3d32ec83ee8bb Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:48:49 2015 +1030 ia64: Use for_each_cpu_and() and cpumask_any_and() instead of temp var. Just a bit of manual neatening, before spatch cleans the rest. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: linux-ia64@xxxxxxxxxxxxxxx commit 270bd400e8030ed921e80f334c3ebf274fd93037 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Mar 5 10:47:49 2015 +1030 cpumask: fix cpu-hotplug documentation It refers to an obsolete function. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-doc@xxxxxxxxxxxxxxx commit d7e3281b52fea8917fb4a7a5b09df5e6a9d2850c Merge: 3a94863 6f2c934 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:27 2015 +0000 Merge remote-tracking branch 'asoc/topic/wm8804' into asoc-next commit 3a9486367b0a79d725a9ba31eee60505fdddb96f Merge: 256fca9 2bf9eba 05a25fd 0004def dd30014 be95101 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:25 2015 +0000 Merge remote-tracking branches 'asoc/topic/rt5670', 'asoc/topic/rt5677', 'asoc/topic/simple', 'asoc/topic/tegra' and 'asoc/topic/wm-adsp' into asoc-next commit 256fca9247c4e62408923a0fe861398510cf6bc1 Merge: 4a7e041 77c7176 92b2ad2 6742e15 e2cef68 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:23 2015 +0000 Merge remote-tracking branches 'asoc/topic/jack', 'asoc/topic/max98357a', 'asoc/topic/omap' and 'asoc/topic/rt286' into asoc-next commit 4a7e0415703977dc61b410f3124ab59d56273f6a Merge: 6a93dd2 b6d6c6e 4da4608 34d7c39 5bb400c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:21 2015 +0000 Merge remote-tracking branches 'asoc/topic/atmel', 'asoc/topic/davinci', 'asoc/topic/gpiod' and 'asoc/topic/intel' into asoc-next commit 6a93dd249b9969f9b9d65d038d640a20cb0ffd6c Merge: 0af1327 f29933c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:20 2015 +0000 Merge remote-tracking branch 'asoc/topic/pcm512x' into asoc-next commit 0af1327ba0393a98263b8d4244f21d1500a52271 Merge: 1dfcab5 3185878 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:20 2015 +0000 Merge remote-tracking branch 'asoc/topic/dapm-dt' into asoc-next commit 1dfcab55e90500468f1a0646a8549e8eaa90cd7a Merge: 13a7a6a 3b8f4a7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Mar 5 01:07:14 2015 +0000 Merge tag 'asoc-fix-v4.0-rc2' into asoc-linus ASoC: Fixes for v4.0 A few driver specific fixes here, none of them earth shattering in themselves, that have accumliated since the opening of the merge window. # gpg: Signature made Thu 05 Mar 2015 01:02:37 GMT using RSA key ID 5D5487D0 # gpg: Oops: keyid_from_fingerprint: no pubkey # 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 6f2c9348095ae1a489abafe2ab3db7deca406e49 Author: Charles Keepax <ckeepax@xxxxxxxxx> Date: Sun Feb 22 16:43:22 2015 +0000 ASoC: wm8804: Merge CODEC probe and bus probe All of the things in the CODEC probe, such as getting the regulators and verifying the chip ID, are better done in bus probe. It is better to fail during bus probe if this is the wrong chip and all resource allocation should be done in the bus probe anyway. This patch merges the CODEC probe into bus probe. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bbed297d373471c8e4c3183bf67472a768576664 Author: Charles Keepax <ckeepax@xxxxxxxxx> Date: Sun Feb 22 16:43:21 2015 +0000 ASoC: wm8804: Split out bus drivers Simplify dependencies by using new style split out bus interfaces. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bb3ab878a29a3879669bb922bebce87b9a9af755 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Mar 4 13:14:20 2015 +0100 ARM: shmobile: Enable bockw board in multiplatform defconfig Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d136dfeec84bfe3e4238bacd23f21e161268deac Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Mar 3 14:22:31 2015 +0000 drm: Pass in new and old plane state to prepare_fb and cleanup_fb Use cases like rotation require these hooks to have some context so they know how to prepare and cleanup the frame buffer correctly. For i915 specifically, object backing pages need to be mapped differently for different rotation modes and the driver needs to know which mapping to instantiate and which to tear down when transitioning between them. v2: Made passed in states const. (Daniel Vetter) [airlied: add mdp5 and atmel fixups] Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 5eca7453d61003bf886992388f8cb407e6f0d051 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Feb 27 12:19:49 2015 +0800 x86/traps: Separate set_intr_gate() and clean up early_trap_init() As early_trap_init() doesn't use IST, replace set_intr_gate_ist() and set_system_intr_gate_ist() with their standard counterparts. set_intr_gate() requires a trace_debug symbol which we don't have and won't use. This patch separates set_intr_gate() into two parts, and uses base version in early_trap_init(). Reported-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: <dave.hansen@xxxxxxxxxxxxxxx> Cc: <lizefan@xxxxxxxxxx> Cc: <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: <oleg@xxxxxxxxxx> Cc: <rostedt@xxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425010789-13714-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7547af91868f0ea940abc25460accc4025c5ce0a Merge: 87dc8b6 d4495cb Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 5 09:41:09 2015 +1000 Merge tag 'drm-intel-next-2015-02-14' of git://anongit.freedesktop.org/drm-intel into drm-next - use the atomic helpers for plane_upate/disable hooks (Matt Roper) - refactor the initial plane config code (Damien) - ppgtt prep patches for dynamic pagetable alloc (Ben Widawsky, reworked and rebased by a lot of other people) - framebuffer modifier support from Tvrtko Ursulin, drm core code from Rob Clark - piles of workaround patches for skl from Damien and Nick Hoath - vGPU support for xengt on the client side (Yu Zhang) - and the usual smaller things all over * tag 'drm-intel-next-2015-02-14' of git://anongit.freedesktop.org/drm-intel: (88 commits) drm/i915: Update DRIVER_DATE to 20150214 drm/i915: Remove references to previously removed UMS config option drm/i915/skl: Use a LRI for WaDisableDgMirrorFixInHalfSliceChicken5 drm/i915/skl: Fix always true comparison in a revision id check drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken drm/i915: Add process identifier to requests drm/i915/skl: Implement WaBarrierPerformanceFixDisable drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS drm/i915/skl: Implement WaDisableHDCInvalidation drm/i915/skl: Implement WaDisableLSQCROPERFforOCL drm/i915/skl: Implement WaDisablePartialResolveInVc drm/i915/skl: Introduce a SKL specific init_workarounds() drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset drm/i915/skl: Implement WaSetGAPSunitClckGateDisable drm/i915/skl: Make the init clock gating function skylake specific drm/i915/skl: Provide a gen9 specific init_render_ring() drm/i915/skl: Document the WM read latency W/A with its name drm/i915/skl: Also detect eDRAM on SKL ... commit 87dc8b6cbdd9c9f39aaf215767f151b62791df5c Merge: 7e47748 16e6004 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 5 09:38:56 2015 +1000 Merge branch 'drm-atmel-hlcdc-devel' of git://github.com/bbrezillon/linux-at91 into drm-next This pull request includes: - support for Atomic mode setting - the discard area optimization - implementation of PM primitives * 'drm-atmel-hlcdc-devel' of git://github.com/bbrezillon/linux-at91: drm: atmel-hlcdc: Add pinctrl PM select sleep,default state in CRTC suspend/resume drm: atmel-hlcdc: Add PM suspend/resume support drm: atmel-hlcdc: add discard area support drm: atmel-hlcdc: Atomic mode-setting conversion commit 7e4774843bff41d312850669e1dd5aa14edd7e9b Merge: 79d6d94 5ee5a81 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 5 09:37:58 2015 +1000 Merge branch 'drm/next/atomic' of git://linuxtv.org/pinchartl/fbdev into drm-next rcar-du atomic modesetting support * 'drm/next/atomic' of git://linuxtv.org/pinchartl/fbdev: (32 commits) drm: rcar-du: Fix race condition in hardware plane allocator drm: rcar-du: Move group locking inside rcar_du_crtc_update_planes() drm: rcar-du: Move plane commit code from CRTC start to CRTC resume drm: rcar-du: Move plane format to plane state drm: rcar-du: Remove unneeded rcar_du_crtc plane field drm: rcar-du: Replace plane crtc and enabled fields by plane state drm: rcar-du: Rework plane setup code drm: rcar-du: Switch plane set_property to atomic helpers drm: rcar-du: Switch page flip to atomic helpers drm: rcar-du: Implement asynchronous commit support drm: rcar-du: Replace encoder mode_fixup with atomic_check drm: rcar-du: Switch connector DPMS to atomic helpers drm: rcar-du: Switch mode config to atomic helpers drm: rcar-du: Switch plane update to atomic helpers drm: rcar-du: Rework CRTC enable/disable for atomic updates drm: rcar-du: Rework HDMI encoder enable/disable for atomic updates drm: rcar-du: Rework encoder enable/disable for atomic updates drm: rcar-du: Replace LVDS encoder DPMS by enable/disable drm: rcar-du: Remove private copy of plane size and position drm: rcar-du: Wire up atomic state object scaffolding ... commit 79d6d9426ba499fdb07334720364b44909b8a06c Merge: 329414c 07259f8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Mar 5 09:37:19 2015 +1000 Merge branch 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next A number of TDA998x updates for the next merge window. Patches included in this set are: * adding support for finding the attached CRTCs from DT * a fix function name mis-spelling in a dev_err() * simplify the EDID reading by using the drm_do_get_edid() function instead of coding this ourselves. * 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm/i2c: tda998x: use drm_do_get_edid() drm/i2c: tda998x: fix misspelling of current function in string drm/i2c: tda998x: add OF support for finding attached CRTCs commit 66c9270b6898de629ab2a7428e56993800ea9a6c Author: Daniel Tang <dt.tangr@xxxxxxxxx> Date: Mon Feb 9 19:41:57 2015 +1100 devicetree: Add TI-NSPIRE USB OTG support to device tree Signed-off-by: Daniel Tang <dt.tangr@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit f3dddf2432e3123ef34b470129295641f7513d26 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Mar 4 14:10:26 2015 -0800 HID: map telephony usage page Currently HID code maps usages from telephony page into BTN_0, BTN_1, etc keys which get interpreted by mousedev and userspace as left/right/middle button clicks, which is not really helpful. This change adds mappings for usages that have corresponding input event definitions, and leaves the rest unmapped. This can be changed when there are userspace consumers for more telephony usages. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0a9061c3304bd74f74409e2bb49f70872afad2d8 Merge: aa5c86c 3cada3a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 23:06:49 2015 +0100 Merge tag 'for-v4.0-rc/meson-soc' of https://github.com/carlocaione/linux-meson into next/soc Pull "meson SoC changes" from Carlo Caione: - Add some forgotten documentation - Kconfig changes to enable PINCTRL * tag 'for-v4.0-rc/meson-soc' of https://github.com/carlocaione/linux-meson: of: Define board compatible for MINIX NEO-X8 of: Add vendor prefix for MINIX ARM: meson: select PINCTRL_MESON and ARCH_REQUIRE_GPIOLIB commit 8f4edb9efd47578e351fb7efe90bf2369e946921 Merge: 998b4ca b3e67c9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 23:02:49 2015 +0100 Merge tag 'for-v4.0-rc/meson-dts' of https://github.com/carlocaione/linux-meson into next/dt Pull "meson DTS changes" from Carlo Caione: - New DTS for MINIX NEO-X8 - Add DTS support for SPIFC, Ethernet controller and pinctrl * tag 'for-v4.0-rc/meson-dts' of https://github.com/carlocaione/linux-meson: ARM: dts: meson: add DTS file for MINIX NEO-X8 ARM: dts: meson8: add pinctrl node ARM: dts: meson: enable Ethernet controller ARM: dts: meson: add node for SPIFC commit 3f9b66b300d14dc2cbcb27e3392bb07a5fe28687 Merge: 13a7a6a 89d463e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 23:00:37 2015 +0100 Merge tag 'renesas-simple-pm-bus-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers Pull "Renesas ARM Based SoC Simple PM Bus Updates for v4.1" from Simon Horman: * Add Simple Power-Managed Bus Driver * tag 'renesas-simple-pm-bus-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: drivers: bus: Add Simple Power-Managed Bus Driver drivers: bus: Add Renesas Bus State Controller (BSC) DT Bindings drivers: bus: Add Simple Power-Managed Bus DT Bindings drivers: bus: Sort Makefile entries alphabetically drivers: bus: Sort Kconfig entries alphabetically commit 998b4ca7e4aa073a804df30098f4cca9d9498744 Merge: 13a7a6a b8e8ea1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 22:59:23 2015 +0100 Merge tag 'renesas-dt-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Pull "Renesas ARM Based SoC DT Updates for v4.1" from Simon Horman: * Increase hardware coverage of DT for various SoCs * Add PFC information for emev2 SoC * Remap entire APMU region for r8a7791 and r8a7790 SoCs * Declare the full 512 MiB of RAM for kzm9g board * Add selectable sources to DIV6 clocks to sh73a0 SoC * Add missing INTCA0 clock for irqpin module on sh73a0 SoC * Set control-parent for all irqpin node on sh73a0 SoC * tag 'renesas-dt-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (32 commits) ARM: shmobile: r8a7794: add SDHI DT support ARM: shmobile: r8a7790: add ADSP clocks ARM: shmobile: r8a7791: add ADSP clocks ARM: shmobile: henninger: add CAN0 DT support ARM: shmobile: r8a7791: add CAN DT support ARM: shmobile: r8a7791: add CAN clocks ARM: shmobile: r8a7790: add CAN DT support ARM: shmobile: r8a7790: add CAN clocks ARM: shmobile: emev2-kzm9d dts: Add PFC information for uart1 ARM: shmobile: emev2 dtsi: Add PFC information ARM: shmobile: r8a7791: smp: remap whole apmu region ARM: shmobile: r8a7790: smp: remap whole apmu region ARM: shmobile: koelsch: Add DU HDMI output support ARM: shmobile: r8a7791: Correct SDHI clock labels and output-names ARM: shmobile: r8a7794: Correct SDHI clock base address, labels and output-names ARM: shmobile: r8a7794: alt: Enable ethernet controller ARM: shmobile: r8a7794: Add ethernet controller to device tree ARM: shmobile: r8a7794: Add IPMMU DT nodes ARM: shmobile: r8a7791: Add IPMMU DT nodes ARM: shmobile: r8a7790: Add IPMMU DT nodes ... commit 605e0f904bb6b9ba13f8d7918f3c016ac00b86bc Merge: 756c08b c6535e1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 22:55:23 2015 +0100 Merge tag 'renesas-sh7372-soc-removal-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Pull "Renesas ARM Based SoC sh7372 SoC Removal Updates for v4.1" from Simon Horman: * Remove the sh7372 SoC and its mackerel board * tag 'renesas-sh7372-soc-removal-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: Documentation: Remove ZBOOT MMC/SDHI utility and docs ARM: shmobile: sh7372 dtsi: Remove Legacy DTSI file ARM: shmobile: sh7372: Remove DT binding documentation ARM: shmobile: sh7372: Remove Legacy C SoC code ARM: shmobile: sh7372: Remove ZBOOT MMC/SDHI support ARM: shmobile: mackerel: Remove from MAINTAINERS ARM: shmobile: mackerel: Remove defconfig ARM: shmobile: mackerel: Remove mach-type entry ARM: shmobile: mackerel: Remove DT binding documentation ARM: shmobile: mackerel dts: Remove Legacy DTS file ARM: shmobile: mackerel: Remove Legacy C board code ARM: shmobile: mackerel: Remove ZBOOT code [arnd: The sh7372 platform is rather dated and is believed to have no active users on modern kernels. It stands in the way of converting all of mach-shmobile to be multiplatform capable, as adding pinctrl and common-clock support for it would be more work than it's worth. As always, should any legitimate upstream users show up in the future, we will revert this removal] commit 756c08b068712dec875614f27ccbc38fdeda4fe7 Merge: 13a7a6a fd9454a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 22:51:35 2015 +0100 Merge tag 'renesas-soc-cleanup-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Pull "Renesas ARM Based SoC Cleanup for v4.1" from Simon Horman: * Remove redundant cpu_disable implementation from r8a7779 SoC * Remove mach/{uncompress,clkdev,system}.h * tag 'renesas-soc-cleanup-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7779: Remove redundant cpu_disable implementation ARM: shmobile: Remove mach/uncompress.h ARM: shmobile: Remove mach/clkdev.h ARM: shmobile: Remove mach/system.h commit 1e3fbb8a1d814f35e2e689cf87714d38d9f3564d Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Feb 26 14:40:39 2015 -0800 x86/asm/entry/64: Remove a bogus 'ret_from_fork' optimization 'ret_from_fork' checks TIF_IA32 to determine whether 'pt_regs' and the related state make sense for 'ret_from_sys_call'. This is entirely the wrong check. TS_COMPAT would make a little more sense, but there's really no point in keeping this optimization at all. This fixes a return to the wrong user CS if we came from int 0x80 in a 64-bit task. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/4710be56d76ef994ddf59087aad98c000fbab9a4.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d441c1f2b73ec742c2e55be804ebc6fee130c77f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:38 2015 -0800 x86/asm/entry/64: Simplify optimistic SYSRET Avoid redundant load of %r11 (it is already loaded a few instructions before). Also simplify %rsp restoration, instead of two steps: add $0x80, %rsp mov 0x18(%rsp), %rsp we can do a simplified single step to restore user-space RSP: mov 0x98(%rsp), %rsp and get the same result. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> [ Clarified the changelog. ] Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1aef69b346a6db0d99cdfb0f5ba83e8c985e27d7.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b3ab90b333e94659e7c351843ab41ec0004f73e8 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:37 2015 -0800 x86/asm/entry/64/compat: Use more readable constant The last instance of "mysterious" SS+8 constant is replaced by SIZEOF_PTREGS. Message-Id: <1424822419-10267-1-git-send-email-dvlasenk@xxxxxxxxxx> Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d35aeba3059407ac54f472ddcfbea767ff8916ac.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 911d2bb5ccaab102abbab2bb58438c75bc342ca9 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:36 2015 -0800 x86/asm/entry/64: Use more readable constants Constants such as SS+8 or SS+8-RIP are mysterious. In most cases, SS+8 is just meant to be SIZEOF_PTREGS, SS+8-RIP is RIP's offset in the iret frame. This patch changes some of these constants to be less mysterious. No code changes (verified with objdump). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1d20491384773bd606e23a382fac23ddb49b5178.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 14f6e9532dda399a7b789f744dc045f8865a9e42 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:35 2015 -0800 x86/asm/entry/64/compat: Fold the IA32_ARG_FIXUP macro into its callers Use of a small macro - one with conditional expansion - does more harm than good. It obfuscates code, with minimal code reuse. For example, because of obfuscation it's not obvious that in 'ia32_sysenter_target', we can optimize loading of r9 - currently it is loaded with a detour through ebp. This patch folds the IA32_ARG_FIXUP macro into its callers. No code changes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/4da092094cd78734384ac31e0d4ec1d8f69145a2.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ebfc453e27c676e104378366a0b027e5c6918631 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:34 2015 -0800 x86/asm/entry/64: Clean up and document various entry code details This patch does a lot of cleanup in comments and formatting, but it does not change any code: - Rename 'save_paranoid' to 'paranoid_entry': this makes naming similar to its "non-paranoid" sibling, 'error_entry', and to its counterpart, 'paranoid_exit'. - Use the same CFI annotation atop 'paranoid_entry' and 'error_entry'. - Fix irregular indentation of assembler operands. - Add/fix comments on top of 'paranoid_entry' and 'error_entry'. - Remove stale comment about "oldrax". - Make comments about "no swapgs" flag in ebx more prominent. - Deindent wrongly indented top-level comment atop 'paranoid_exit'. - Indent wrongly deindented comment inside 'error_entry'. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/4640f9fcd5ea46eb299b1cd6d3f5da3167d2f78d.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1eeb207f870f746a863e5c59321d837d2d91c218 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:33 2015 -0800 x86/asm/entry/64: Move 'save_paranoid' and 'ret_from_fork' closer to their users For some odd reason, these two functions are at the very top of the file. "save_paranoid"'s caller is approximately in the middle of it, move it there. Move 'ret_from_fork' to be right after fork/exec helpers. This is a pure block move, nothing is changed in the function bodies. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/6446bbfe4094532623a5b83779b7015fec167a9d.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b87cf63e2a5fbe3b368d5f5e5708e585b0fb3f84 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:32 2015 -0800 x86/asm/entry: Add comments about various syscall instructions SYSCALL/SYSRET and SYSENTER/SYSEXIT have weird semantics. Moreover, they differ in 32- and 64-bit mode. What is saved? What is not? Is rsp set? Are interrupts disabled? People tend to not remember these details well enough. This patch adds comments which explain in detail what registers are modified by each of these instructions. The comments are placed immediately before corresponding entry and exit points. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a94b98b63527797c871a81402ff5060b18fa880a.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 050273d19b94f2adf9d35979cee949d6b6a9df84 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Feb 26 14:40:31 2015 -0800 x86/asm/entry/64: Remove 'int_check_syscall_exit_work' Nothing references it anymore. Reported-by: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 96b6352c1271 ("x86_64, entry: Remove the syscall exit audit and schedule optimizations") Link: http://lkml.kernel.org/r/dd2a4d26ecc7a5db61b476727175cd99ae2b32a4.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f2db9382c1140914cfdef224ce907e443c9f9b81 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:30 2015 -0800 x86/asm/entry: Do mass removal of 'ARGOFFSET' ARGOFFSET is zero now, removing it changes no code. A few macros lost "offset" parameter, since it is always zero now too. No code changes - verified with objdump. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8689f937622d9d2db0ab8be82331fa15e4ed4713.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d55083698ed2f498e5682c5c252e6b7224890be Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:29 2015 -0800 x86/asm/entry/64: Shrink code in 'paranoid_exit' RESTORE_EXTRA_REGS + RESTORE_C_REGS looks small, but it's a lot of instructions (fourteen). Let's reuse them. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> [ Cleaned up the labels. ] Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1421272101-16847-2-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/59d71848cee3ec9eb48c0252e602efd6bd560e3c.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e90e147cbc0cbc8dcf48000e15190badf75250f4 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:28 2015 -0800 x86/asm/entry/64: Fix comments - Misleading and slightly incorrect comments in "struct pt_regs" are fixed (four instances). - Fix incorrect comment atop EMPTY_FRAME macro. - Explain in more detail what we do with stack layout during hw interrupt. - Correct comments about "partial stack frame" which are no longer true. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423778052-21038-3-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/e1f4429c491fe6ceeddb879dea2786e0f8920f9c.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76f5df43cab5e765c0bd42289103e8f625813ae1 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:27 2015 -0800 x86/asm/entry/64: Always allocate a complete "struct pt_regs" on the kernel stack The 64-bit entry code was using six stack slots less by not saving/restoring registers which are callee-preserved according to the C ABI, and was not allocating space for them. Only when syscalls needed a complete "struct pt_regs" was the complete area allocated and filled in. As an additional twist, on interrupt entry a "slightly less truncated pt_regs" trick is used, to make nested interrupt stacks easier to unwind. This proved to be a source of significant obfuscation and subtle bugs. For example, 'stub_fork' had to pop the return address, extend the struct, save registers, and push return address back. Ugly. 'ia32_ptregs_common' pops return address and "returns" via jmp insn, throwing a wrench into CPU return stack cache. This patch changes the code to always allocate a complete "struct pt_regs" on the kernel stack. The saving of registers is still done lazily. "Partial pt_regs" trick on interrupt stack is retained. Macros which manipulate "struct pt_regs" on stack are reworked: - ALLOC_PT_GPREGS_ON_STACK allocates the structure. - SAVE_C_REGS saves to it those registers which are clobbered by C code. - SAVE_EXTRA_REGS saves to it all other registers. - Corresponding RESTORE_* and REMOVE_PT_GPREGS_FROM_STACK macros reverse it. 'ia32_ptregs_common', 'stub_fork' and friends lost their ugly dance with the return pointer. LOAD_ARGS32 in ia32entry.S now uses symbolic stack offsets instead of magic numbers. 'error_entry' and 'save_paranoid' now use SAVE_C_REGS + SAVE_EXTRA_REGS instead of having it open-coded yet again. Patch was run-tested: 64-bit executables, 32-bit executables, strace works. Timing tests did not show measurable difference in 32-bit and 64-bit syscalls. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423778052-21038-2-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/b89763d354aa23e670b9bdf3a40ae320320a7c2e.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6e1327bd2b20ccb387fcddc0caa605cb253cc458 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:26 2015 -0800 x86/asm/entry/64: Fix incorrect symbolic constant usage: R11->ARGOFFSET Since the last fix of this nature, a few more instances have crept in. Fix them up. No object code changes (constants have the same value). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423778052-21038-1-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/f5e1c4084319a42e5f14d41e2d638949ce66bc08.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 49db46a67bec9ca9e29ece4729a876195877af50 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:25 2015 -0800 x86/asm: Introduce push/pop macros which generate CFI_REL_OFFSET and CFI_RESTORE Sequences: pushl_cfi %reg CFI_REL_OFFSET reg, 0 and: popl_cfi %reg CFI_RESTORE reg happen quite often. This patch adds macros which generate them. No assembly changes (verified with objdump -dr vmlinux.o). Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1421017655-25561-1-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/2202eb90f175cf45d1b2d1c64dbb5676a8ad07ad.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 69e8544cd0056e02965ffb5e8414fb7501a2ee2e Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 26 14:40:24 2015 -0800 x86/asm/64: Open-code register save/restore in trace_hardirqs*() thunks This is a preparatory patch for change in "struct pt_regs" handling in entry_64.S. trace_hardirqs*() thunks were (ab)using a part of the 'pt_regs' handling code, namely the SAVE_ARGS/RESTORE_ARGS macros, to save/restore registers across C function calls. Since SAVE_ARGS is going to be changed, open-code register saving/restoring here. Incidentally, this removes a bit of dead code: one SAVE_ARGS was used just to emit a CFI annotation, but it also generated unreachable assembly instructions. Take a page from thunk_32.S and use push/pop instructions instead of movq, they are far shorter: 1 or 2 bytes versus 5, and no need for instructions to adjust %rsp: text data bss dec hex filename 333 40 0 373 175 thunk_64_movq.o 104 40 0 144 90 thunk_64_push_pop.o [ This is ugly as sin, but we'll fix up the ugliness in the next patch. I see no point in reordering patches just to avoid an ugly intermediate state. --Andy ] Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1420927210-19738-4-git-send-email-dvlasenk@xxxxxxxxxx Link: http://lkml.kernel.org/r/4c979ad604f0f02c5ade3b3da308b53eabd5e198.1424989793.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2e3ac940f2754d7dc616aba1643a668954fe892f Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Date: Tue Mar 3 17:02:21 2015 -0600 livepatch: remove unnecessary call to klp_find_object_module() klp_find_object_module() is called from both the klp register and enable paths. Only the call from the register path is necessary because the module notifier will let us know if the patched module gets loaded or unloaded. Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Reviewed-by: Petr Mladek <pmladek@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 3a65f63ff6780d35aec355b440eb39bbfbe1b8f5 Merge: f012653 400aff5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 16:40:59 2015 -0500 Merge tag 'linux-can-next-for-4.1-20150304' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-03-04 this is a pull request of 3 patches for net-next/master. Aaron Wu contributes three patches for the blackfin can driver, which cleans up the driver and makes use of more platform independent code. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0126539c73921776327e9d6bbf27e7e08ee0e3a Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Thu Mar 5 05:33:54 2015 +0800 mpls: rtm_mpls_policy[] can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c473463ca77f61dae134a166aec4610bddc8f1fa Merge: 28811a8 ace40af Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 15:58:48 2015 -0500 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Hi Dave, the following patch set includes three feature additions relating to SR-IOV to be2net. Patch 1 avoid creating a non-RSS default RXQ when FW allows it. This prevents wasting one RXQ for each VF. Patch 2 adds support for evenly distributing all queue & filter resources across VFs. The FW informs the driver as to which resources are distributable. Patch 3 implements the sriov_configure PCI method to allow runtime enablement of VFs via sysfs. Pls consider applying this patch-set to the net-next tree. Thanks! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ace40aff3cee8a82c39375761ea65cc748aa1623 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Wed Mar 4 00:44:34 2015 -0500 be2net: implement .sriov_configure() PCI callback This patch implements the .sriov_configure() PCI method to allow for runtime enabling/disabling of VFs. The module param "num_vfs" is now deprecated. At the time of driver load the PF-pool resources are allocated to the PF. When the user enables VFs, the resources are then re-distributed across PFs and VFs based on the number of VFs enabled. 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 f285873841299e027a6159dc3d3af0d0caf578d9 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Wed Mar 4 00:44:33 2015 -0500 be2net: re-distribute SRIOV resources allowed by FW When SR-IOV is enabled in the adapter, the FW distributes resources evenly across the PF and it's VFs. This is currently done only for some resources. This patch adds support for a new cmd that queries the FW for the list of resources for which the distribution is allowed and distributes them accordingly. 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 71bb8bd08ca61c8cd8b07ff13d3cca40b7272769 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Wed Mar 4 00:44:32 2015 -0500 be2net: avoid creating the non-RSS default RXQ if FW allows to On BE2, BE3 and Skhawk-R chips one non-RSS (called "default") RXQ was needed to receive non-IP traffic. Some FW versions now export a capability called IFACE_FLAGS_DEFQ_RSS where this requirement doesn't hold. On such FWs the driver now does not create the non-RSS default queue. This prevents wasting one RXQ per VF. 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 28811a8c00fe0d899b8a544421f3b4947425d5e8 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Tue Mar 3 15:43:00 2015 +0100 net: cadence: Remove Kconfig dependency on ARCH Remove Kconfig dependency and enable driver for all ARCHs. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f075a58c1a0e2891acafad0180458bd7a042843 Merge: 27db730 4398f9c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 15:40:59 2015 -0500 Merge branch 'sh_eth-next' Ben Hutchings says: ==================== sh_eth changes for net-next Some minor new features and fixes. These depend in part on the series I sent earlier for net, specifically "sh_eth: WARN on access to a register not implemented in a particular chip" depends on "sh_eth: Fix RX recovery on R-Car in case of RX ring underrun". ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4398f9c817028b3b654923b3b614ea174cbc2c67 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 20:35:05 2015 +0000 sh_eth: Mitigate lost statistics updates The statistics registers have write-clear behaviour, which means we will lose any increment between the read and write. Mitigate this by only clearing when we read a non-zero value, so we will never falsely report a total of zero. This also saves time as we only handle error statistics here and they won't often be incremented. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5fd13f476025f416583149313da85f8a3164414 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 20:34:46 2015 +0000 sh_eth: Optionally log RX and TX status for each completed descriptor Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b4b4fead3421f00953c8ce89af95ba9a1f39086 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 20:34:35 2015 +0000 sh_eth: Implement ethtool register dump operations There are many different sets of registers implemented by the different versions of this controller, and we can only expect this to get more complicated in future. Limit how much ethtool needs to know by including an explicit bitmap of which registers are included in the dump, allowing room for future growth in the number of possible registers. As I don't have datasheets for all of these, I've only included registers that are: - defined in all 5 register type arrays, or - used by the driver, or - documented in the datasheet I have Add one new capability flag so we can tell whether the RTRATE register is implemented. Delete the TSU_ADRL0 and TSU_ADR{H,L}31 definitions, as they weren't used and the address table is already assumed to be contiguous. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3365711df024f60d2e1e0ba9b40b6e965ab83bf6 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 20:34:14 2015 +0000 sh_eth: WARN on access to a register not implemented in a particular chip Currently we may silently read/write a register at offset 0. Change this to WARN and then ignore the write or read-back all-ones. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Acked-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25b77ad774a88cd7a9a8f63e122d4bda68479267 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 20:33:30 2015 +0000 sh_eth: Implement multicast statistic based on the RFS8 status bit At least on the R8A7790, RFS8 reflects the RINT8 (multicast) MAC status flag. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa5c86ce1d64b0793a4c21c1e7902d77ab886817 Merge: 13a7a6a 744cadb Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Mar 4 21:23:20 2015 +0100 Merge tag 'renesas-soc-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Renesas ARM Based SoC Updates for v4.1" from Simon Horman: * Do not make CMA reservation for R-Car Gen2 when HIGHMEM=n * tag 'renesas-soc-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: No R-Car Gen2 CMA reservation when HIGHMEM=n commit c38e1328ceadc0b345ddd914c13ac1abfb048209 Author: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Date: Sun Mar 1 17:32:33 2015 +0800 ARM: dts: add rk3288 PopMetal board PopMetal is a rockchip rk3288 based board made by ChipSpark, which has many interface such as VGA,HDMI,usb,ir,sdcad and lots of sensors such as gyroscope(L3G4200D),accelerometer(mma8452), compass(AK8963C). This patch add a basic support for this board, which make the board boot into a initramfs shell with sdcard,hdmi and all sensors enabled Signed-off-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit d55ce8d818a992cef7de014ed1b86108cf3f27a4 Author: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Date: Sun Mar 1 17:28:24 2015 +0800 dt-bindings: add root compatible property for PopMetal board PopMetal board is a rk3288 based board made by ChipSpark, this add root compatible property for it Signed-off-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 8ce580932f8ee40903017a6f1408ccfff319a6a5 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Feb 27 06:37:49 2015 +0100 platform/chrome: cros_ec_lpc - Depend on X86 || COMPILE_TEST The ChromeOS EC is connected by LPC only on x86 platforms and no others, so add a dependency describing that. But also build the driver if the COMPILE_TEST option is enabled to have build coverage in other architectures. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> [olof: reworded commit message] Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 18d0dc24661b42c03074fc89bc89bc0f7c63d2bc Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Feb 27 06:37:48 2015 +0100 platform/chrome: cros_ec_lpc - Include linux/io.h header file The driver uses the inb() and outb() I/O functions so should include the header file that has these functions definitions. This patch fixes the following error when the header is not explicitly included: drivers/platform/chrome//cros_ec_lpc.c: In function â??ec_response_timed_outâ??: drivers/platform/chrome//cros_ec_lpc.c:40:3: error: implicit declaration of function â??inbâ?? [-Werror=implicit-function-declaration] drivers/platform/chrome//cros_ec_lpc.c: In function â??cros_ec_cmd_xfer_lpcâ??: drivers/platform/chrome//cros_ec_lpc.c:75:3: error: implicit declaration of function â??outbâ?? [-Werror=implicit-function-declaration] Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 88999ae23bbd490d14e15e22b4e8650c75e7e90a Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Feb 27 09:09:01 2015 +0800 platform/chrome: fix platform_no_drv_owner.cocci warnings drivers/platform/chrome/cros_ec_lpc.c:272:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Bill Richardson <wfrichar@xxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 377415abab7b49c982475990cd06eef9f33e2ccc Author: Olof Johansson <olofj@xxxxxxxxxxxx> Date: Tue Mar 3 13:22:33 2015 +0100 platform/chrome: cros_ec_lightbar - fix duplicate const warning Fix the following sparse warning: drivers/platform/chrome/cros_ec_lightbar.c:254:25: sparse: duplicate const Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Olof Johansson <olofj@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ef59c25d1be9539890c03c4915cdd4b868191b6f Author: Olof Johansson <olofj@xxxxxxxxxxxx> Date: Tue Mar 3 13:22:32 2015 +0100 platform/chrome: cros_ec_dev - fix Unknown escape '%' warning Fix the following sparse warning: drivers/platform/chrome/cros_ec_dev.c:64:45: sparse: Unknown escape '%' Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Olof Johansson <olofj@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0bbdb4258bd116d8cd5d209e8d5b29bae516e5b3 Merge: bd624d7 13a7a6a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Mar 4 20:00:05 2015 +0100 Merge tag 'v4.0-rc2' into timers/core, to refresh the tree before pulling more changes commit 35762a624f82dbea7c62177bf3ef0cde0d0f84bc Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Jan 23 16:38:03 2015 +0800 ARM: at91/dt: sama5d4: add ISI dt support Add ISI dt node and pinctrl settings in sama5d4.dtsi. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: sort nodes in order. remove useless comments] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0a5c5f84a51450c8772f4212d85262ddb8f75b14 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Fri Jan 9 17:11:05 2015 +0100 ARM: at91/dt: sama5d4: add pwm0 device node Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 83906783b7663b9245ea6d668c8af4b4697f463b Author: Leilei Zhao <leilei.zhao@xxxxxxxxx> Date: Fri Jan 9 16:58:57 2015 +0100 ARM: at91/dt: sama5d4: add aes, sha and tdes nodes Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 15ff964dd45877278aaae20c00ef5977138976c8 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Mon Feb 2 14:51:47 2015 +0800 ARM: at91: dt: sama5d4ek: enable audio Enable audio support for sama5d4ek board. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5afd9451cf6c20e8bbd0dc5713141295a1d8f38c Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Mon Feb 2 14:51:46 2015 +0800 ARM: at91: dt: sama5d4ek: add and enable wm8904 Add wm8904 codec node and enable it. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 06981c51f82464f946cea6843fd17cacfd4c59a6 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Mon Feb 2 14:51:45 2015 +0800 ARM: at91: dt: sama5d4ek: enable ssc0 Enable SSC0 node, which will be used for audio. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0697edd7b7c57b533f286e2101699af9ec59564d Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Mon Feb 2 14:51:44 2015 +0800 ARM: at91: dt: sama5d4: add ssc nodes Add SSC 0 and 1 nodes. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit df99d08ccd1db44bba746fea31de8e7bfb08c6d6 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Feb 26 16:05:14 2015 +0100 ARM: at91/dt: sama5d4 xplained: add i2c0 Add i2c0 aka twi0 on sama5d4 xplained board. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 38153a017896f3a23fa8b4eb41241a8681fc8d6b Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Mar 4 10:51:48 2015 +0800 ARM: at91/dt: sama5d4: add dts for sama5d4 xplained board Add at91 sama5d4 xplained board support. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 9917defd8c3928eb89729d1457d9bc438263a3a1 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Mar 4 10:51:47 2015 +0800 ARM: at91/dt: sama5d4: add #{address, size}_cells properties for macb0 macb0 DT node can have phy child nodes, so add the #{address, size}_cells for macb0 node. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 1bc54652767637d1be3515129777b83abc997fcc Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Mon Feb 9 17:40:20 2015 +0800 ARM: at91/dt: sama5d4ek: add leds in DT node Add the leds DT node in the dts file. In the leds, d10 is set as heartbeat led. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4cc7cdf35c5f8022fde2d5046a79b52967e390f5 Author: Philip Attfield <phil.attfield@xxxxxxxxxxx> Date: Fri Feb 6 14:52:56 2015 +0100 ARM: at91/dt: add i2c1 declaration to sama5d4 Add alias, node declaration and pinctrl for i2c1 (aka: twi1). Signed-off-by: Philip Attfield <phil.attfield@xxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4f74a4a642eb48e6638fb709039638881f6cf9ed Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Mar 4 18:31:03 2015 +0100 ARM: at91/dt: gpio-keys: address-cells and size-cells properties are not needed Gpio-keys nodes are not using the "reg" property in their sub nodes. So, there is no need to define #address-cells and #size-cells properties in gpio-keys nodes: we remove them in these new boards. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 6d39bb019f5ac1e48d8bdc4e88cef290a14058a5 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Wed Aug 13 12:58:21 2014 +0800 ARM: at91/dt: at91-sama5d3_xplained: add gpio-key pinctrl property Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8dafaa1f28e9113c19ead7d7e118669aace538af Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Mar 4 17:56:03 2015 +0100 ARM: at91/dt/trivial: correct file headers for SAMA5D3 SoC peripherals File name had at91 prefix, which is not the case anymore for SAMA5D3. AT91SAM9x5 was mentioned instead of SAMA5D3 SoC. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit cf05ea713144fe08d1207846fb592ff0985040c6 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Tue Feb 10 09:55:35 2015 +0800 ARM: at91/dt: at91sam9n12ek: enable udp Enable usb device port on at91sam9n12ek board. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 13f7ad3dc6dbb09ae232647058f18dedd69fce47 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Tue Feb 10 09:55:34 2015 +0800 ARM: at91/dt: at91sam9n12: add udp device node Add usb device node for at91sam9n12. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 3978d6b05ff39821890f0322782322f242350c1f Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Feb 12 16:06:25 2015 +0800 ARM: at91: at91sam9g25ek/dts: enable ISI and ov2640 Enable ISI and ov2640 for at91sam9g25ek board. Meantime, we need to disable the mmc1 and spi0 as they have pin conflict with ISI. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 436ea603c3779699f50ee0ff61c4d733496c2560 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Feb 12 16:06:24 2015 +0800 ARM: at91: at91sam9x5ek/dts: add ov2640 support Add the camera sensor ov2640 dt support. And connect sensor to isi node as well. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7f9acb109318ddf8bf5139804b065f137cbf8b47 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Feb 12 16:06:23 2015 +0800 ARM: at91: at91sam9x5/dts: add ISI dt support, include isi node, pinctrls Add a new file: at91sam9x5_isi.dtsi, which includes ISI node and pinctrls. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 2bf9eba14340a53776a742f2c8a0bfbd9c86d259 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Tue Mar 3 18:31:29 2015 +0800 ASoC: rt5670: Fix the speaker mono output issue We need to set left/right control for the speaker amp to get stereo output on speaker. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6742e15cf92a8dc3065843a627952ed518e08267 Author: Jyri Sarha <jsarha@xxxxxx> Date: Tue Mar 3 13:28:53 2015 +0200 ASoC: omap-pcm: Allow only formats with 1, 2, and 4 byte physical size sDMA support only transfer elements with 1, 2, and 4 byte physical size. Initialize the pcm driver accordingly. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4da4608c91308d0d15dd022074724446c15710dc Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Mar 3 16:45:21 2015 +0200 ASoC: davinci: Remove unused davinci-pcm platform driver All DAI drivers has been converted to use edma-pcm instead of davinci-pcm and the driver can be removed from the tree. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9759e7ef53138c5ab46ea516ad08977eb5770393 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Mar 3 16:45:20 2015 +0200 ASoC: davinci-mcasp: Deprecate the use of davinci-pcm in favor of edma-pcm The edma-pcm performs as good as the old davinci-pcm and it's use does not require the 'ping-pong' mode of davinci-pcm, which was introduced to overcome under/over flow issues when using davinci-pcm. Keep the SND_DAVINCI_SOC config option to select the SND_EDMA_SOC to avoid regression in audio support. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 62731d33c41d95914a0a796f319924e22e7ea411 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Mar 3 16:45:19 2015 +0200 ASoC: davinci-vcif: Convert to use edma-pcm The edma-pcm can replace the old davinci-pcm as platform driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 257ade78b6019cf1570c1239894a7a6a549768e1 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Mar 3 16:45:18 2015 +0200 ASoC: davinci-i2s: Convert to use edma-pcm The edma-pcm can replace the old davinci-pcm as platform driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4c03a5ebc7f75e98b32591d1d2c6758c811dcbef Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Mar 3 16:45:17 2015 +0200 ASoC: davinci: Select SND_EDMA_SOC when SND_DAVINCI_SOC is enabled edma-pcm going to replace davinci-pcm as platform driver for daVinci platform. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 77c71765ef78f87dd901fcb4c751908e835a3b2e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:45 2015 +0100 ASoC: Remove snd_soc_jack_new() There are no users of snd_soc_jack_new() left and new users should use snd_soc_card_jack_new() instead. So remove the function. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ba8cbb2f0fd9ff232fa19159e2646bf64135126 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:44 2015 +0100 ASoC: tegra_wm8903: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 783b1e7948010ded40eba784b558d86d72ae2ef4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:43 2015 +0100 ASoC: tegra_rt5677: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 00eafe3b1b191c9b2611b74c03e1b573ae257b1e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:42 2015 +0100 ASoC: tegra_rt5640: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d020e77c61b8a9d563d205cfcec7e71090d1377d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:41 2015 +0100 ASoC: tegra_max98090: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 12cc6d1dca4d3a9e929090cb0cf9ef452f414518 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:40 2015 +0100 ASoC: tegra_alc5632: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3fd94f37da000a2b562a3f4e6c553b7ab1ad9e19 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:39 2015 +0100 ASoC: tobermory: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 663976ad478b50664353fdf19a5a3dcad3cb4e22 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:38 2015 +0100 ASoC: speyside: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 55b2ed2d9dd8c611837f34ca29df881eb0a1de8d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:37 2015 +0100 ASoC: smartq: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e9c9a723eea5102fa6adedf454e02fff6201a3c3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:36 2015 +0100 ASoC: rx1950_uda1380: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f97e0eacf2b5d9c1a470e53df60519d555ac5a75 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:35 2015 +0100 ASoC: lowland: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 39ec5109d6089e1acd04b51b9df5349f5b8a7f5c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:34 2015 +0100 ASoC: littlemill: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dfe11f282c61808f7140d9dd741f7e54cf97cda6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:33 2015 +0100 ASoC: h1980_uda1380: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d30d141f9cb7eb9fb3f03af11146dc0d2b393ff2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:32 2015 +0100 ASoC: z2: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3b14125bc553a0fe091a5d43a22be41cdc43b156 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:31 2015 +0100 ASoC: ttc-dkb: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bc1e2e06a07ad4c0c021165b34fa8259bdf4d8c6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:30 2015 +0100 ASoC: palm27x: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f7a4433b498384f0e300c51b654910f3e03b5ca6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:29 2015 +0100 ASoC: hx4700: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 753d45e6b886c93a2a8a88eddaca345643a87f4e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:28 2015 +0100 ASoC: rx51: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da21cf6d65283680247da74c3d03f7e5cdfb40d1 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:27 2015 +0100 ASoC: omap-twl4030: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 25649592cfa6c210c9f86670472b864782c8d677 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:26 2015 +0100 ASoC: omap-abe-twl6040: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit df8c66189dd42f719c75800a526bdc901f300f41 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:25 2015 +0100 ASoC: ams-deltea: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af13cbc1a288d3921f1af739da84371e6c53aea3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:24 2015 +0100 ASoC: mfld_machine: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fb1edb4b68a829619bcd50a0c23c557000d0d638 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:23 2015 +0100 ASoC: cht_bsw_rt5645: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e0f7dd9d88f4c151aeca45d290e171d907249888 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:22 2015 +0100 ASoC: byt-max98090: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85c85e5d6d579a5ff8b5471c4e753946eedbf788 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:21 2015 +0100 ASoC: broadwell: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 47ec96d4ca7e4a7b9b8b115a10d59e89f794ef95 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:20 2015 +0100 ASoC: wm1133-ev: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 27cb64b474516421001932d966ca3184795d4e29 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:19 2015 +0100 ASoC: imx-es8328: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 386669fcec85a16cb81cd19236abe76abe0f1fc1 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:18 2015 +0100 ASoC: simple-card: Register jacks at the card level The jacks are card level elements so use snd_soc_card_jack_new() instead of snd_soc_jack_new() to register them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 970939964c26db4643f58d4e84487821962e0b65 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:17 2015 +0100 ASoC: Allow to register jacks at the card level Jacks are typically card level elements, but are currently registered with a CODEC. When it was originally introduced snd_soc_jack_new() took a snd_soc_card as its parameter, but at that time DAPM was only implemented at the CODEC level and there was only one CODEC per card. This made it clear which CODEC to use for the jack DAPM operations. But the multi-component patchset added support for having multiple CODECs per card and with it the API was updated to register jacks with a specific CODEC instance instead. Subsequently DAPM support at the card level has been introduced, but the snd_soc_jack_new() API has so remained unchanged. This leaves us with the issue that the DAPM pins that are managed by the jack detection logic usually are part of the card DAPM context but are accessed through a CODEC DAPM context. Currently this works fine, but might break in the future if we take a more hierarchical approach to DAPM contexts. Furthermore with componentization progressing systems that do not register a snd_soc_codec might appear, while these system may still want to able to register a jack. This patch addresses these issues by adding a new function called snd_soc_card_jack_new() that can be used to register jacks with the card rather than a CODEC. This new function is mostly identical to snd_soc_jack_new() except that it additionally allows to directly specify the DAPM pins associated with the jack. This was done since most users of snd_soc_jack_new() typically call snd_soc_jack_add_pins() right after it, which is not necessary with the new API and allows to reduce the amount of boiler plate code. The old snd_soc_jack_new() is re-implemented as a wrapper around snd_soc_card_jack_new(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c472b93990e02c31f02322ddf0fdd9d571169310 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Mar 4 10:33:16 2015 +0100 ASoC: sn95031: Pass CODEC to sn95031_jack_detection() The sn95031 driver currently gets the CODEC implicitly from the jack that is passed to sn95031_jack_detection(). But the codec field is going to be removed from the snd_soc_jack struct, so refactor things to pass the CODEC explicitly. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d2b5851d8583e690eeb5ac8dfff5da92e1f1468f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Wed Mar 4 18:41:35 2015 +0200 mei: trace: fix missing include to linux/device.h Fix warning (discovered using randconfig) drivers/misc/mei/mei-trace.h:30:24: warning: 'struct device' declared inside parameter list TP_PROTO(const struct device *dev, const char *reg, u32 offs, u32 val), Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b43baf694fde30dc2db2386c347324d1a013f3d1 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Wed Mar 4 18:41:34 2015 +0200 mei: free me client references on host init Fx fixes leak introduced by: commit b7d885145538 ("mei: revamp me clients list handling") Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbb2d8a890733256d12b2c796eadaf54e70e9af5 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Wed Mar 4 11:24:55 2015 -0500 HID: Kconfig: add USB_HID dependency to UC-LOGIC In commit 08177f4 (HID: uclogic: merge hid-huion driver in hid-uclogic) HID_HUION depends explicitely on USB_HID because it contained quite some USB-isms. Now that hid-uclogic is the new home of Huion tablets, we need to also add the dependency on USB_HID to this driver. Reported-by: Jiri Kosina <jkosina@xxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7e08da50cf706151f324349f9235ebd311226997 Author: Jan Kara <jack@xxxxxxx> Date: Wed Mar 4 14:42:02 2015 +0100 quota: Fix maximum quota limit settings Currently quota format that supports 64-bit usage sets maximum quota limit as 2^64-1. However quota core code uses signed numbers to track usage and even limits themselves are stored in long long. Checking of maximum allowable limits worked by luck until commit 14bf61ffe6ac (quota: Switch ->get_dqblk() and ->set_dqblk() to use bytes as space units) because variable we compared with was unsigned. After that commit the type we compared against changed to signed and thus checks for maximum limits with the newest VFS quota format started to refuse any non-negative value. Later the problem was inadvertedly fixed by commit b10a08194c2b (quota: Store maximum space limit in bytes) because we started to compare against unsigned type as well. Fix possible future problems of this kind by setting maximum limits to 2^63-1 to avoid overflow issues. Reported-by: Carlos Carvalho <carlos@xxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 781970240a56d1c15a9b8ee37d28987b8182f060 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Thu Feb 12 19:08:16 2015 +0300 quota: reorder flags in quota state Flags in struct quota_state keep flags for each quota type and some common flags. This patch reorders typed flags: Before: 0 USRQUOTA DQUOT_USAGE_ENABLED 1 USRQUOTA DQUOT_LIMITS_ENABLED 2 USRQUOTA DQUOT_SUSPENDED 3 GRPQUOTA DQUOT_USAGE_ENABLED 4 GRPQUOTA DQUOT_LIMITS_ENABLED 5 GRPQUOTA DQUOT_SUSPENDED 6 DQUOT_QUOTA_SYS_FILE 7 DQUOT_NEGATIVE_USAGE After: 0 USRQUOTA DQUOT_USAGE_ENABLED 1 GRPQUOTA DQUOT_USAGE_ENABLED 2 USRQUOTA DQUOT_LIMITS_ENABLED 3 GRPQUOTA DQUOT_LIMITS_ENABLED 4 USRQUOTA DQUOT_SUSPENDED 5 GRPQUOTA DQUOT_SUSPENDED 6 DQUOT_QUOTA_SYS_FILE 7 DQUOT_NEGATIVE_USAGE Now we can get bitmap of all enabled/suspended quota types without loop. For example suspended: (flags / DQUOT_SUSPENDED) & ((1 << MAXQUOTAS) - 1). add/remove: 0/1 grow/shrink: 3/11 up/down: 56/-215 (-159) function old new delta __dquot_initialize 423 447 +24 dquot_transfer 181 197 +16 dquot_alloc_inode 286 302 +16 dquot_reclaim_space_nodirty 316 313 -3 dquot_claim_space_nodirty 314 311 -3 dquot_resume 286 281 -5 dquot_free_inode 332 324 -8 __dquot_alloc_space 500 492 -8 dquot_disable 1944 1929 -15 dquot_quota_enable 252 236 -16 __dquot_free_space 750 734 -16 dquot_writeback_dquots 625 608 -17 __dquot_transfer 1186 1154 -32 dquot_quota_sync 299 261 -38 dquot_active.isra 54 - -54 Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 69a25ee217ba8c93a6d4c6671d9208c0155c0485 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Thu Feb 12 12:36:49 2015 +0300 quota: paranoia: check quota tree root Root level in quota tree must be already allocated otherwise this block could be used for something else. Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 5bcd3b6f639c277ed7fa71f2f8ed6fb072615011 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Thu Feb 12 12:36:37 2015 +0300 quota: optimize i_dquot access Remove redundant calls of i_dquot(), keep pointer in local variable. add/remove: 0/0 grow/shrink: 3/7 up/down: 40/-278 (-238) function old new delta __dquot_free_space 734 750 +16 __dquot_alloc_space 484 500 +16 dquot_free_inode 324 332 +8 dquot_drop 82 69 -13 vfs_load_quota_inode 1357 1341 -16 dquot_reclaim_space_nodirty 348 316 -32 dquot_disable 1980 1944 -36 dquot_claim_space_nodirty 354 314 -40 __dquot_drop 125 83 -42 __dquot_initialize 522 423 -99 Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 8b28c93fe5a55873ce22b7126e84eb59290f8603 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Mar 4 15:37:01 2015 +0100 ALSA: usb-audio: Check Marantz/Denon USB DACs in a single place There are three places doing the same check. Let's make them together. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 33350e6b1833b15cf9c9c4c84d8534ad68b0c7b8 Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Tue Jan 27 16:03:57 2015 -0500 Mailbox: Restructure and simplify PCC mailbox code Previously the PCC driver depended on the client side to map the communication space base address. This region was was then used in the PCC driver and the client side. The client side used this region to read and write its data and the PCC driver used it to only write the PCC command. Removing this split simplifies the PCC driver a lot. This patch moves all communication region read/writes to the client side. The PCC clients can now drive the PCC mailbox controller via the mbox_client_txdone() method. Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> commit c39fb53b48c851b185c22548153581d78f2acc11 Author: Jan Kara <jack@xxxxxxx> Date: Tue Dec 16 16:12:27 2014 +0100 quota: Hook up Q_XSETQLIM for id 0 to ->set_info Setting timers or warning counts for id 0 via Q_XSETQLIM is used to actually set time limits and warning limits for all users. Hook up ->set_info to this so that VFS quota time limits get set the same way as XFS ones. When doing this Q_XSETQLIM for XFS is effectively split into two independent transactions - one for setting timers and warning limits and one for setting space and inode limits. Although this is inefficient, it is rare enough that it does not matter. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit c14cad9eed11343014f73aae4a77278239b201b8 Author: Jan Kara <jack@xxxxxxx> Date: Tue Dec 16 13:07:45 2014 +0100 xfs: Add support for Q_SETINFO Add support to XFS so that time limits can be set through Q_SETINFO quotactl. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 5eacb2ac029161d94969a511e0adf7dca28cda1f Author: Jan Kara <jack@xxxxxxx> Date: Tue Dec 16 12:03:51 2014 +0100 quota: Make ->set_info use structure with neccesary info to VFS and XFS Change ->set_info to take new qc_info structure which contains all the necessary information both for XFS and VFS. Convert Q_SETINFO handler to use this structure. Signed-off-by: Jan Kara <jack@xxxxxxx> commit 59b6ba699043e0f55d4057cf2ae79d9c1171bc58 Author: Jan Kara <jack@xxxxxxx> Date: Wed Nov 19 16:44:58 2014 +0100 quota: Remove ->get_xstate and ->get_xstatev callbacks These callbacks are now unused. Remove them. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit e54b2e2d723f138df35de0bf1f8262da116ca6fa Author: Jan Kara <jack@xxxxxxx> Date: Wed Nov 19 16:41:07 2014 +0100 gfs2: Convert to using ->get_state callback Convert gfs2 to use ->get_state callback instead of ->get_xstate. Acked-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 5d3684c2823bcf14a14bc7117c56c592f27815b9 Author: Jan Kara <jack@xxxxxxx> Date: Wed Nov 19 12:03:59 2014 +0100 xfs: Convert to using ->get_state callback Convert xfs to use ->get_state callback instead of ->get_xstate and ->get_xstatev. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit bc230e4a2326e30476092ed967fced0e43667c82 Author: Jan Kara <jack@xxxxxxx> Date: Wed Nov 19 16:17:45 2014 +0100 quota: Wire up Q_GETXSTATE and Q_GETXSTATV calls to work with ->get_state Add appropriate conversion functions so that filesystems supporting ->get_state() method can be queried using Q_GETXSTATE and Q_GETXSTATV calls. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 0a240339a8deeb13a19043389bba4285a6c0592e Author: Jan Kara <jack@xxxxxxx> Date: Wed Nov 19 00:42:09 2014 +0100 quota: Make VFS quotas use new interface for getting quota info Create new internal interface for getting information about quota which contains everything needed for both VFS quotas and XFS quotas. Make VFS use this and hook it up to Q_GETINFO. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit f224b572dcc86017d793c047c92c8479f5a6ae14 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:14 2015 +0100 ARM: mvebu: enable Armada 39x in mvebu_v7_defconfig Following the introduction of the Marvell Armada 39x support, let's enabled it by default in mvebu_v7_defconfig. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 538da83ddbeaa422a48e9bd0a12a0bc246c567f4 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:12 2015 +0100 ARM: mvebu: add Device Tree files for Armada 39x SoC and board This commit adds the Device Tree files for the Armada 39x family of processors, as well as one Armada 398 Development Board. Like for other Marvell EBU families, a common armada-39x.dtsi contains the description of the common features of all Armada 39x SoCs, while armada-390.dtsi and armada-398.dtsi respectively describe the specificities of those SoCs. Finally, an armada-398-db.dts file is added to describe the Armada 398 Development Board itself. So far, the following features are supported: * SMP: dual Cortex-A9 * Basic ARM IPs: SCU, timer, GIC, L2 cache * Basic Marvell IPs: pin-muxing, clocks, system controller, MBus controller, MPIC interrupt controller, timer, CPU reset for SMP, PMSU. * I2C * SPI * SDHCI * XOR * NAND * UART * PCIe Additional features will be supported in the future. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 0d9ab18e337609b010800ac493c588b0a24c2dd2 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:13 2015 +0100 Documentation: arm: update supported Marvell EBU processors Now that we support Armada 39x, let's add this family of SoC to the Marvell documentation, and a reference to a link with more details about those processors. Unfortunately, no datasheet is publicly available at this time. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 242ede0bdd2bc6fb2057ddc98cce90043008127f Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:11 2015 +0100 ARM: mvebu: add core support for Armada 39x This commit adds the core support for Armada 39x, which is quite simple: - a new Kconfig option which selects the appropriate clock and pinctrl drivers as well as other common features (GIC, L2 cache, SMP, etc.) - a new DT_MACHINE_START which references the top-level compatible strings supported for the Marvell Armada 39x. - a new SMP enable-method. The mechanism to enable CPUs for Armada 39x appears to be the same as Armada 38x. However, we do not want to use marvell,armada-380-smp in the Device Tree, in the case of the discovery of a subtle difference in the future, which would require changing the Device Tree. And the enable-method isn't a compatible string: you can't specify several values and expect a fallback on the second string if the first one isn't supported. Therefore, we simply declare the SMP enable method "marvell,armada-390-smp" as doing the same thing as the "marvell,armada-380-smp" one. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 007fa9467f8f5607bb36b4a2bf31316a7e5b06ff Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:07 2015 +0100 devicetree: bindings: add new SMP enable method for Marvell Armada 39x This commit updates the ARM CPUs Device Tree binding to document a new enable method of Marvell Armada 39x processors. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit e9d119a1faa5bb386953283748999dc970bc255d Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:04 2015 +0100 devicetree: bindings: add DT binding for the Marvell Armada 39x SoC family The Marvell Armada 39x is a family of two SoCs: the Armada 390 and the Armada 398, with a slightly different number of interfaces. This commit introduces the Device Tree binding that documents the top-level compatible strings for Armada 39x based platforms. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 8da6f3c1662a74a39b5ebc773ee27a949b5d7658 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:09 2015 +0100 clk: mvebu: add Marvell Armada 39x driver This commit adds a new clock driver for the Marvell Armada 39x family of processors. This driver is fairly similar to the ones already used on other Marvell EBU processors, with the following main differences: * Different set of ratios * Different set of core clocks * Configurable reference clock in frequency Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 42b5f40610fd222a9e7100f5b77582940bfdcbde Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:08 2015 +0100 clk: mvebu: extend common code to allow an optional refclk The Armada 39x, contrary to its predecessor, has a configurable reference clock frequency, of either 25 Mhz, or 40 Mhz. For the previous SoCs, it was fixed to 25 Mhz and described directly as such in the Device Tree. For Armada 39x, we need to read certain registers to know whether the frequency is 25 or 40 Mhz. Therefore, this commit extends the common mvebu clock code to allow the SoC-specific code to say it wants to register a reference clock, by giving a non-NULL ->get_refclk_freq() function pointer in its coreclk_soc_desc structure. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 9baf96886780c3ec137350da3c6418c825b2dd0a Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:05 2015 +0100 devicetree: bindings: update DT bindings for Marvell EBU clock support With the introduction of the Marvell Armada 39x SoC, the DT bindings for Marvell EBU clocks need to be extended. This commit include the corresponding update to the Device Tree bindings documentation. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit e61b8370d7e4ef40194bc62d6e22f3c95f4a01ec Merge: c517d83 2141102 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Mar 4 15:17:23 2015 +0100 Merge tag 'at91-fixes' into at91-4.1-dt First fixes batch for AT91 on 4.0: - PM slowclock fixes for DDR and timeouts - fix some DT entries - little defconfig updates - the removal of a harmful watchdog option + its detailed documentation commit 24c2573bdb9203259a822a4e3ed90795b273d3ab Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:03 2015 +0100 ARM: mvebu: fix unit address of MPIC nodes The Device Tree nodes describing the MPIC nodes on Armada 370, 375, 38x and XP had a unit address that did not match the first reg property, as suggested by the ePAPR. This commit fixes that. [gregory.clement@xxxxxxxxxxxxxxxxxx: removed the armada-38x part, as it was already applied by a previous patch] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 9552203cb08b9802e17f19bd5c786d6a2281a04a Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:02 2015 +0100 ARM: mvebu: use stdout-path in all armada-*.dts This commit adds the stdout-path property in /chosen for all Armada boards that were not yet carrying this property, and gets rid of /chosen/bootargs which becomes unneeded: earlyprintk should not be used by default, and the console= parameter is replaced by the /chosen/stdout-path property. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit bf6acf1657ab906531549d3e8fbe9027d90e4c86 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:01 2015 +0100 ARM: mvebu: add serial port aliases on Armada 370/375/38x/XP This commit adds 'serialX' aliases for the various serial ports on Armada 370, 375, 38x and XP platforms. It will allow the usage of the stdout-path property. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 9574b2fb1cf7f6bab48714f5cf9e5382b8ca1685 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:41:00 2015 +0100 ARM: mvebu: remove aliases for Ethernet devices on Armada 370/375/38x/XP Having aliases for Ethernet devices is useless, since the networking subsystem unfortunately doesn't care about aliases to name network interfaces. Note that the 'aliases' nodes in armada-370-xp.dtsi and armada-xp.dtsi become empty, but that we keep it as is since a followup patch will re-add some aliases to it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 43e58e90f8f9c69a453b9889f66e4562eb99b32b Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:40:59 2015 +0100 ARM: mvebu: add UART labels to Armada 375 This commit adds the standard uart0 and uart1 DT labels to the Device Tree description of the Marvell Armada 375 SoC. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 8a48dccb8350ad6c1f91b9f8306e555cd38b25e8 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:40:58 2015 +0100 ARM: mvebu: add missing UART labels on Armada 38x The Armada 38x had a label for UART0, but not UART1. This commit fixes that. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a165c3b63b6f24fdc47c270db5f8b1a48b69c1b6 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:40:57 2015 +0100 ARM: mvebu: fix usb@ unit address on Armada 38x to match register address On Marvell Armada 38x, the USB2 controller registers are at 0x58000, so the corresponding Device Tree node should have a unit address of 58000, and not 50000. We were using 50000 due to an incorrect copy/pastebin of Armada 370/XP code. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit bc2d7a58b9a48e4c1f35fadb30223ca87c59d50f Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 15:40:56 2015 +0100 ARM: mvebu: add __initconst specifiers on DT_MACHINE_START dt_compat tables As suggested by Stephen Boyd, this commit adds the __initconst specifier to the dt_compat table declarations used by the DT_MACHINE_START structures in mach-mvebu land. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit cffb41f3eeaae77c0c747f671a2809a790d1413f Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Feb 13 13:30:16 2015 +0100 ath10k: disable multi-vif ps by default Not all firmware revisions have a proper multi-interface client powersaving implementation, e.g. qca6174 WLAN.RM.2.0-00073. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0a987fb0069e83be32bb21e07d335d2a3d7e7f5e Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Feb 13 13:30:15 2015 +0100 ath10k: workaround qca6174 sta powersave issue qca6184 WLAN.RM.2.0-00073 has a bug in sta powersave state machine and requires peer param to be poked to enable the powersave. Calling this unconditionally should be safe for other chips/firmwares. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2a2dbd8b411028151a8adb09db3395a95769b4bb Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 11:16:45 2015 +0100 ARM: mvebu: a385-db-ap: Enable the NAND The Armada 385 Access Point Development Board has a 1GB NAND SLC chip from Micron as its main storage. Enable it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 924361249de339123e15d78c1d95dd450a6e3f03 Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Feb 28 21:20:48 2015 +0100 ARM: ARMADA XP: WRT1900AC: Add support for the Ethernet switch Add a DSA section to the DT blob representing the Ethernet switch. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit ef34481712067205ca3a9ca52c8484550702b4e2 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Wed Feb 25 19:00:19 2015 +0100 ARM: Kirkwood: enable GPIO fan alarm support for 2Big Network v2 On the LaCie 2Big Network v2 (net2big_v2) board, the fan alarm is not wired to the I2C fan controller but to a separe GPIO. This GPIO can be controlled by using the gpio-fan driver. This patch adds the gpio-fan alarm description in the net2big_v2 DTS. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 1d7b0839941c6ee883c001716611949448f20a79 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 10:51:17 2015 +0100 ARM: mvebu: Fix MPIC unit address The unit-address is supposed to be equal the first reg address, which is not the case for the MPIC, that uses the mbus-controller one. Fix this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 1a1b9d2571fb521985616573bfa6bdb5f80c8b32 Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Tue Feb 17 19:52:07 2015 +0100 ARM: dts: dove: Add some more common pinctrl settings This add common pinctrl settings for pcie[01]_clkreq, spi1, i2c[23], and internal i2c mux. These settings have either one or two options only, so put them into the SoC dtsi instead of repeating them on board level. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 1feb57a245a4910b03202a814ffc51a900bd4aca Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Wed Jan 21 22:33:46 2015 +0100 gpio: add parameter to allow the use named gpios The gpio binding document says that new code should always use named gpios. Patch 40b73183 added support to parse a list of gpios from child nodes, but does not make it possible to use named gpios. This patch adds the con_id property and implements it is done in gpiolib.c, where the old-style of using unnamed gpios still works. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ee086577abe7f7ccf5f64a33479a36e22710b7d0 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 16:57:53 2015 +0100 pinctrl: mvebu: add pinctrl driver for Marvell Armada 39x This commit adds a new pinctrl driver for the Marvell Armada 39x family of processors, which hooks into the existing infrastructure to support pin-muxing on Marvell EBU processors. Two variants of the Armada 39x are supported: 88F6920 (Armada 390) and 88F6928 (Armada 398), which have a few differences in the available functions for certain pins. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b80eef95beb04760629822fa130aeed54cdfafca Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 16:49:09 2015 +0100 gpio: pcf857x: Propagate wake-up setting to parent irq controller The pcf857x GPIO and interrupt controller uses dummy_irq_chip, which does not implement irq_chip.irq_set_wake() and does not set IRQCHIP_SKIP_SET_WAKE. This causes two s2ram issues if wake-up is enabled for the pcf857x GPIO pins: 1. During resume from s2ram, the following warning is printed: WARNING: CPU: 0 PID: 1046 at kernel/irq/manage.c:537 irq_set_irq_wake+0x9c/0xf8() Unbalanced IRQ 113 wake disable 2. Wake-up through the pcf857x GPIO pins may fail, as the parent interrupt controller may be suspended. Migrate the pcf857x GPIO and interrupt controller from dummy_irq_chip to its own irq_chip. This irq chip implements irq_chip.irq_set_wake() to propagate its wake-up setting to the parent interrupt controller. This fixes wake-up through gpio-keys on sh73a0/kzm9g, where the pcf857x interrupt is cascaded to irq-renesas-intc-irqpin, and the latter must not be suspended when wake-up is enabled. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a39294bdf4b03803156c771968a6e2ba6ebb505b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 16:49:08 2015 +0100 gpio: pcf857x: Switch to use gpiolib irqchip helpers Switch the PCF857x GPIO driver to use the gpiolib irqchip helpers. This driver uses a nested threaded interrupt, hence handle_nested_irq() and gpiochip_set_chained_irqchip() must be used. Note that this removes the checks added in commit 21fd3cd1874a2ac8 ("gpio: pcf857x: call the gpio user handler iff gpio_to_irq is done"), as the interrupt mappings are no longer created on-demand by the driver, but by gpiochip_irqchip_add() during initialization. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e921eea8e7d4457f424bc3f821cb836e35b91f88 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 3 12:05:00 2015 +0100 dmaengine: Remove memset leftovers Commit 48a9db462d99 ("drivers/dma: remove unused support for MEMSET operations") removed support for the memset operation in dmaengine, but left the fill_aligned field that was supposed to set the buffer alignment for the memset operations. Remove that field too. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c8c60cfd18e1ddf8f1b9ef76a49d7d1b08ea7a2d Author: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Date: Tue Feb 10 12:38:15 2015 +0100 ath10k: fix wmm params per vdev During wmm tests changing wmm parameters did not change anything. This was because of mismatch in WMM params per vdev command. WMM params per vdev uses different command structure than wmm params per pdev command. Patch concerns qca6174. Signed-off-by: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6383864053cc456aa82847cd910257deaa34eb5a Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Feb 9 15:04:55 2015 +0100 ath10k: workaround corrupted htt rx events qca6174 WLAN.RM.2.0-00073 firmware uses full rx reordering offload and delivers Rx via a new HTT event. The event however is incorrectly generated in firmware and becomes overly long (with trailing garbage). This was hitting defined CE buffer limit that was programmed to the device and caused device to crash upon busier Rx traffic. Increasing the CE buffer limit for HTT Rx pipe to 2KBytes seems to be enough to workaround this problem. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit db2cf865c75792f2e52596bf3e94e9a98272becf Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 4 19:30:23 2015 +0100 ath10k: delete unnecessary checks before the function call "release_firmware" The release_firmware() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 41f03a00536ebb3d72c051f9e7efe2d4ab76ebc8 Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Tue Mar 3 11:32:58 2015 -0300 [media] s5p-mfc: Fix NULL pointer dereference caused by not set q->lock The patch "media: s5p-mfc: use vb2_ops_wait_prepare/finish helper" (654a731be1a0b6f606f3f3d12b50db08f2ae3c3) introduced a kernel panic. The q->lock was set for just one queue, the other was not set thus causing a NULL pointer dereference. Reported-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f7cbd688f039a3adefc9210226b7edf5bd8fd6cd Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Feb 25 08:53:49 2015 -0300 [media] s5p-jpeg: exynos3250: fix erroneous reset procedure The first while loop in the function exynos3250_jpeg_reset had no chance to be executed because the reg variable was initialized to 0. Initialize reg variable to 1 to fix the issue. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Reported-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3987c98461e3886031a563679cf22e73ba900b5a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Jan 29 13:13:08 2015 -0300 [media] s5p-tv: hdmi needs I2C support Building the s5p-tv HDMI support when CONFIG_I2C is disabled gives us this build error: s5p-tv/hdmi_drv.c: In function 'hdmi_probe': s5p-tv/hdmi_drv.c:947:2: error: implicit declaration of function 'i2c_get_adapter' [-Werror=implicit-function-declaration] adapter = i2c_get_adapter(pdata->hdmiphy_bus); ^ This patch changes the Kconfig description to include I2C as a dependency for this driver, so it cannot be configured incorrectly. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 940f700dfbe91d37a56ebd26e0a7a681d387326a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Feb 20 13:52:01 2015 +0300 iommu/amd: Small cleanup in mn_release() "pasid_state->device_state" and "dev_state" are the same, but it's nicer to use dev_state consistently. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit cb0c3f5f1b888fa0283c2581c91bb10728ac1b22 Author: Tony K Nadackal <tony.kn@xxxxxxxxxxx> Date: Wed Dec 17 04:21:21 2014 -0300 [media] s5p-jpeg: Initialize cb and cr to zero To avoid garbage value written into image base address planes, initialize cb and cr of structure s5p_jpeg_addr to zero. Signed-off-by: Tony K Nadackal <tony.kn@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1a6ab46fa9c2bc9399694b4856ab7ea19c036485 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Mar 4 10:56:13 2015 +0900 ALSA: Fix spelling typo in Documentation/DocBook/alsa-driver-api.xml This patch fix spelling typo found in alsa-driver-api.xml. It is because this file is generated from comments in source files, I have to fix source files. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6b516a1093006a39368dd11a5396be5bb00c99df Author: Benoit Parrot <bparrot@xxxxxx> Date: Mon Feb 2 11:44:45 2015 -0600 gpio: Document GPIO hogging mechanism Add GPIO hogging documentation to gpio.txt Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f625d4601759f1cf1fd3ae58abeb0e203b8993b1 Author: Benoit Parrot <bparrot@xxxxxx> Date: Mon Feb 2 11:44:44 2015 -0600 gpio: add GPIO hogging mechanism Based on Boris Brezillion's work this is a reworked patch of his initial GPIO hogging mechanism. This patch provides a way to initially configure specific GPIO when the GPIO controller is probed. The actual DT scanning to collect the GPIO specific data is performed as part of gpiochip_add(). The purpose of this is to allow specific GPIOs to be configured without any driver specific code. This is particularly useful because board design are getting increasingly complex and given SoC pins can now have more than 10 mux values, a lot of connections are now dependent on external IO muxes to switch various modes. Specific drivers should not necessarily need to be aware of what accounts to a specific board implementation. This board level "description" should be best kept as part of the dts file. Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 560676282e19a9cb99378547530aca3d085eb99f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 3 22:09:05 2015 +0100 mac80211_hwsim: fix beacon timers Jouni reported that certain combinations of hwsim test cases failed, and we found that beaconing was erroneously enabled too early on any channel switch, which lead to the BI of 2000 TU from the first test case to leak into the second one, which then didn't beacon properly. To fix this, set data->beacon_int to zero when all stop beaconing so that beaconing cannot be started (which was intended as 'restarted') elsewhere. Additionally, Jouni found that due to this 'restart' and the beacon interval handling station interfaces would also have a needlessly running beacon timer all the time, of course not doing anything. To also fix the latter case only use the beacon interval when it's actually needed, i.e. when beaconing gets enabled. Reported-by: Jouni Malinen <j@xxxxx> Tested-by: Jouni Malinen <j@xxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0df2f6c11813a3e522f72f6998b00ae8e17dd4df Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Mar 2 04:54:14 2015 -0500 mesh_plink: fixup type of timeout to match usage timeout was being passed as int but assigned from u32/u16 values and used as unsigned type. This is really only for better readability. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cc57ac536a88604824aca1d3c874fd5252f1e867 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Mar 2 04:54:13 2015 -0500 mesh_plink: use msecs_to_jiffies for proper time conversion This is primarily an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var) which also handles corner cases correctly. There is a change of behavior as e.g. for HZ 100, t * HZ / 1000 will return 0 for t < 10 but msecs_to_jiffies will return at least 1 always. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 64a8cef41a8ce694b59ec75ae52688f58925693c Author: SenthilKumar Jegadeesan <sjegadee@xxxxxxxxxxxxxxxx> Date: Mon Mar 2 13:29:40 2015 +0530 mac80211: provide station PMF configuration to driver Some device drivers offload part of aggregation including AddBA/DelBA negotiations to firmware. In such scenario, the PMF configuration of the station needs to be provided to driver to enable encryption of AddBA/DelBA action frames. Signed-off-by: SenthilKumar Jegadeesan <sjegadee@xxxxxxxxxxxxxxxx> [fix commit log, documentation] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3384d757d41521a3dee274ed2802bcd285ed8e62 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 1 09:10:15 2015 +0200 mac80211: allow iterating inactive interfaces Sometimes the driver might want to modify private data in interfaces that are down. One possible use-case is cleaning up interface state after HW recovery. Some interfaces that were up before the recovery took place might be down now, but they might still be "dirty". Introduce a new iterate_interfaces() API and a new ACTIVE iterator flag. This way the internal implementation of the both active and inactive APIs remains the same. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 98fc43864af9e74116eec81c290db048cded15d8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Mar 1 09:10:13 2015 +0200 nl80211: prohibit mixing 'any' and regular wowlan triggers If the device supports waking up on 'any' signal - i.e. it continues operating as usual and wakes up the host on pretty much anything that happens, then it makes no sense to also configure the more restricted WoWLAN mode where the device operates more autonomously but also in a more restricted fashion. Currently only cw2100 supports both 'any' and other triggers, but it seems to be broken as it doesn't configure anything to the device, so we can't currently get into a situation where both even can correctly be configured. This is about to change (Intel devices are going to support both and have different behaviour depending on configuration) so make sure the conflicting modes cannot be configured. (It seems that cw2100 advertises 'any' and 'disconnect' as a means of saying that's what it will always do, but that isn't really the way this API was meant to be used nor does it actually mean anything as 'any' always implies 'disconnect' already, and the driver doesn't change device configuration in any way depending on the settings.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 88724a81b4ac2a755bf9c532cdbee08a52803852 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Mar 1 09:10:12 2015 +0200 mac80211: check and dequeue skb in ieee80211_tx_prepare_skb() The ieee80211_tx_prepare_skb() function currently entirely ignores the fact that the SKB that is passed in might be split into more than one due to fragmentation and doesn't check the list of skbs that the TX handlers may create. In case this happens, it would leak them. Fix this and also don't leave the skb next/prev pointers dangling pointing to the on-stack sk_buff_head. Reported-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0b4e11074a933937ee75be371d32bf91a0051419 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Sun Mar 1 09:10:10 2015 +0200 mac80211: remove duplicate check for quiescing when queueing work In ieee80211_queue_work() we check if we're quiescing or suspended, so it's not necessary to check for quiescing before calling this function. Remove duplicate checks. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ae2e9fba85f69e0b53b1ef15e3011ce09ac1b9f2 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 1 09:10:09 2015 +0200 mac80211: allow TDLS setup code to take wdev lock TDLS off-channel can be allowed in channels marked with GO_CONCURRENT, provided the device is connected to an AP on the same UNII. When relaxing the NO-IR requirements for TDLS, we might hit flows in cfg80211_reg_can_beacon that acquire the wdev lock. Take some measures to allow this during TDLS setup. Acquire the RCU read lock later in the flow that invokes cfg80211_reg_can_beacon. Avoid taking local->mtx when preparing the setup packet to avoid circular deadlocks with mac80211 code that is invoked with wdev-mtx held. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 23e370989c3fe6b9b2062d9d511feda800434de3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Mar 1 09:10:08 2015 +0200 mac80211: start queues if driver rejected wowlan If the driver rejects WoWLAN, restart the queues before returning to cfg80211. cfg80211 will return to mac80211, but not before it disconnects all interfaces. If we don't start the queues, any of the packets needed for disconnecting won't be transmitted, which is strange. Fix that. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8bb6f4b9c50eef838931e0e667f1a451f34a76ae Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Sun Mar 1 09:10:07 2015 +0200 mac80211: remove useless double check for open_count in __ieee80211_suspend() We check local->open_count at the top of the __ieee80211_suspend(), so there's no need to check for it again. open_count is protected by the rtnl, so there's no chance for it to have change between the two calls. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ef7c67257c9a0765bd1a53f83fd63d55a0f7b224 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Mar 1 09:10:06 2015 +0200 mac80211: don't do driver suspend with auth/assoc in progress Drivers can't really be expected to suspend properly while auth or assoc is in progress since then they don't have any state they could keep with WoWLAN, nor can they actually finish the authentication or association. In fact, keeping this can cause subtle issues with drivers like iwlwifi that refuse WoWLAN if not associated, but have trouble figuring out what's going on in the middle of association. In any case, regardless of possible driver issues in this area, it doesn't make sense for mac80211 to try to WoWLAN-suspend in the middle of such operations, so stop them before. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 37821da088d090d8e152f3f8cc072948fa544e5a Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Mar 1 20:40:17 2015 +0100 crypto: drbg - remove superflowous memsets The DRBG code contains memset(0) calls to initialize a varaible that are not necessary as the variable is always overwritten by the processing. This patch increases the CTR and Hash DRBGs by about 5%. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 04bcbfcf7e28ba502383a8e19d99960ab8e347c8 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Mar 1 20:39:17 2015 +0100 crypto: drbg - use single block cipher API The CTR DRBG only encrypts one single block at a time. Thus, use the single block crypto API to avoid additional overhead from the block chaining modes. With the patch, the speed of the DRBG increases between 30% and 40%. The DRBG still passes the CTR DRBG CAVS test. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e8e5995372ac3fc63995915dcb351f38a3560018 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Mar 1 19:30:46 2015 +0100 crypto: powerpc/md5 - kernel config Integrate the module into the kernel config tree. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e90508d3b0866c29146535576931356aba072a86 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Mar 1 19:30:41 2015 +0100 crypto: powerpc/md5 - glue Glue code for crypto infrastructure. Call the assembler code where required. Take a little care about small input data. Kick out early for input chunks < 64 bytes and replace memset for context cleanup with simple loop. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 209232d02586bc9b69ce028d22ae2512910f9e7f Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Mar 1 19:30:35 2015 +0100 crypto: powerpc/md5 - assembler This is the assembler code for the MD5 implementation. Handling of algorithm constants has been slightly changed to reduce register usage and make better use of cores with multiple ALUs. Thus they are stored as delta values. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit be208356762c3609dc05d0f187be87fd60d8d32e Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Sat Feb 28 20:40:10 2015 +0000 crypto: atmel - fix typo in dev_err error message Fix typo, "intialization" -> "initialization" Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 44cac4fce9b820c37a8792df52a0e4ce33201949 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sat Feb 28 20:50:40 2015 +0100 crypto: algif - enable AEAD interface compilation Enable compilation of the AEAD AF_ALG support and provide a Kconfig option to compile the AEAD AF_ALG support. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 400c40cf78da00c16e561a3a253ca272455c42ef Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sat Feb 28 20:50:00 2015 +0100 crypto: algif - add AEAD support This patch adds the AEAD support for AF_ALG. The implementation is based on algif_skcipher, but contains heavy modifications to streamline the interface for AEAD uses. To use AEAD, the user space consumer has to use the salg_type named "aead". The AEAD implementation includes some overhead to calculate the size of the ciphertext, because the AEAD implementation of the kernel crypto API makes implied assumption on the location of the authentication tag. When performing an encryption, the tag will be added to the created ciphertext (note, the tag is placed adjacent to the ciphertext). For decryption, the caller must hand in the ciphertext with the tag appended to the ciphertext. Therefore, the selection of the used memory needs to add/subtract the tag size from the source/destination buffers depending on the encryption type. The code is provided with comments explaining when and how that operation is performed. A fully working example using all aspects of AEAD is provided at http://www.chronox.de/libkcapi.html Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7b24d97f16f561cc90eab1658100598d54a414fd Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Fri Feb 27 20:00:00 2015 +0100 crypto: doc - describe internal structure The kernel crypto API has many indirections which warrant a description as otherwise one can get easily lost. The description explains the layers of the kernel crypto API based on examples. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 01e84c70fe40c8111f960987bcf7f931842e6d07 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Feb 27 11:02:38 2015 +0300 xtensa: provide __NR_sync_file_range2 instead of __NR_sync_file_range xtensa actually uses sync_file_range2 implementation, so it should define __NR_sync_file_range2 as other architectures that use that function. That fixes userspace interface (that apparently never worked) and avoids special-casing xtensa in libc implementations. See the thread ending at http://lists.busybox.net/pipermail/uclibc/2015-February/048833.html for more details. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit d44679ab13ee5f2f2b80e1bfa039a6eeb20ec41e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Feb 27 10:48:19 2015 +0300 xtensa: wire bpf and execveat syscalls Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 400aff5da5f2c202e8ff2679005981583234df54 Author: Aaron Wu <Aaron.wu@xxxxxxxxxx> Date: Tue Feb 10 17:40:36 2015 +0800 bfin_can: Merge header file from arch dependent location Header file was in arch dependent location arch/blackfin/include/asm/bfin_can.h, Now move and merge the useful contents of header file into driver code, note the original header file is reserved for full registers set access test by other code so it survives. Signed-off-by: Aaron Wu <Aaron.wu@xxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit dead83894c7bb5b12005cc37c129247ee53fbdda Author: Aaron Wu <Aaron.wu@xxxxxxxxxx> Date: Tue Feb 10 17:40:35 2015 +0800 bfin_can: introduce ioremap to comply to archs with MMU Blackfin was built without MMU, old driver code access the IO space by physical address, introduce the ioremap approach to be compitable with the common style supporting MMU enabled arch. Signed-off-by: Aaron Wu <Aaron.wu@xxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit e4936e01d0fe5204879c3eb1d4897372ba3b56c5 Author: Aaron Wu <Aaron.wu@xxxxxxxxxx> Date: Tue Feb 10 17:40:34 2015 +0800 bfin_can: rewrite the blackfin style of read/write to common ones Replace the blackfin arch dependent style of bfin_read/bfin_write with common readw/writew Signed-off-by: Aaron Wu <Aaron.wu@xxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit c7f585fe46d834d5837db7fbe205c46b94f81dc2 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Mon Mar 2 19:10:34 2015 +0900 mfd: max77843: Add max77843 MFD driver core driver This patch adds MAX77843 core/irq driver to support PMIC, MUIC(Micro USB Interface Controller), Charger, Fuel Gauge, LED and Haptic device. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Signed-off-by: Beomho Seo <beomho.seo@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d3591df3fada3f4cd6cf60f0f56e87744749018d Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Sun Feb 22 13:15:30 2015 +0100 mfd: dt-bindings: Add bindings for the MediaTek MT6397 PMIC Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6df8dd5c185b212d3d7364402df58bff0e67ace4 Author: Flora Fu <flora.fu@xxxxxxxxxxxx> Date: Sun Feb 22 13:15:29 2015 +0100 mfd: Add support for the MediaTek MT6397 PMIC This adds support for the MediaTek MT6397 PMIC. This is a multifunction device with the following sub modules: - Regulator - RTC - Audio codec - GPIO - Clock It is interfaced to the host controller using SPI interface by a proprietary hardware called PMIC wrapper or pwrap. MT6397 MFD is a child device of the pwrap. Signed-off-by: Flora Fu, MediaTek Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f8e92fb4b0ffc4d62279ab39f34e798e37e90b0b Merge: d2c032e dfecb95 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Mar 4 06:33:49 2015 +0100 Merge tag 'alternatives_padding' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/asm Pull alternative instructions framework improvements from Borislav Petkov: "A more involved rework of the alternatives framework to be able to pad instructions and thus make using the alternatives macros more straightforward and without having to figure out old and new instruction sizes but have the toolchain figure that out for us. Furthermore, it optimizes JMPs used so that fetch and decode can be relieved with smaller versions of the JMPs, where possible. Some stats: x86_64 defconfig: Alternatives sites total: 2478 Total padding added (in Bytes): 6051 The padding is currently done for: X86_FEATURE_ALWAYS X86_FEATURE_ERMS X86_FEATURE_LFENCE_RDTSC X86_FEATURE_MFENCE_RDTSC X86_FEATURE_SMAP This is with the latest version of the patchset. Of course, on each machine the alternatives sites actually being patched are a proper subset of the total number." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d2c032e3dc58137a7261a7824d3acce435db1d66 Merge: 7e8e385 13a7a6a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Mar 4 06:35:43 2015 +0100 Merge tag 'v4.0-rc2' into x86/asm, to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27db730c4f5ed524235b06523f2dae4961d3aa98 Merge: ee23393 8de147d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 00:26:13 2015 -0500 Merge branch 'basic-mpls-support' Eric W. Biederman says: ==================== Basic MPLS support take 2 On top of my two pending neighbour table prep patches here is the mpls support refactored to use them, and edited to not drop routes when an interface goes down. Additionally the addition of RTA_LLGATEWAY has been replaced with the addtion of RTA_VIA. RTA_VIA being an attribute that includes the address family as well as the address of the next hop. MPLS is at it's heart simple and I have endeavoured to maintain that simplicity in my implemenation. This is an implementation of a RFC3032 forwarding engine, and basic MPLS egress logic. Which should make linux sufficient to be a mpls forwarding node or to be a LSA (Label Switched Router) as it says in all of the MPLS documents. The ingress support will follow but it deserves it's own discussion so I am pushing it separately. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8de147dc8e2adea82b8a1a2a08fcc983330f6770 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:14:31 2015 -0600 mpls: Multicast route table change notifications Unlike IPv4 this code notifies on all cases where mpls routes are added or removed and it never automatically removes routes. Avoiding both the userspace confusion that is caused by omitting route updates and the possibility of a flood of netlink traffic when an interface goes doew. For now reserved labels are handled automatically and userspace is not notified. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03c0566542f4c7a45ce3193f27cbf5700b506c18 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:13:56 2015 -0600 mpls: Netlink commands to add, remove, and dump routes This change adds two new netlink routing attributes: RTA_VIA and RTA_NEWDST. RTA_VIA specifies the specifies the next machine to send a packet to like RTA_GATEWAY. RTA_VIA differs from RTA_GATEWAY in that it includes the address family of the address of the next machine to send a packet to. Currently the MPLS code supports addresses in AF_INET, AF_INET6 and AF_PACKET. For AF_INET and AF_INET6 the destination mac address is acquired from the neighbour table. For AF_PACKET the destination mac_address is specified in the netlink configuration. I think raw destination mac address support with the family AF_PACKET will prove useful. There is MPLS-TP which is defined to operate on machines that do not support internet packets of any flavor. Further seem to be corner cases where it can be useful. At this point I don't care much either way. RTA_NEWDST specifies the destination address to forward the packet with. MPLS typically changes it's destination address at every hop. For a swap operation RTA_NEWDST is specified with a length of one label. For a push operation RTA_NEWDST is specified with two or more labels. For a pop operation RTA_NEWDST is not specified or equivalently an emtpy RTAN_NEWDST is specified. Those new netlink attributes are used to implement handling of rt-netlink RTM_NEWROUTE, RTM_DELROUTE, and RTM_GETROUTE messages, to maintain the MPLS label table. rtm_to_route_config parses a netlink RTM_NEWROUTE or RTM_DELROUTE message, verify no unhandled attributes or unhandled values are present and sets up the data structures for mpls_route_add and mpls_route_del. I did my best to match up with the existing conventions with the caveats that MPLS addresses are all destination-specific-addresses, and so don't properly have a scope. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 966bae3349da22bb6286f6f3874c279177b8633f Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:13:19 2015 -0600 mpls: Functions for reading and wrinting mpls labels over netlink Reading and writing addresses in network byte order in netlink is traditional and I see no reason to change that. MPLS is interesting as effectively it has variabely length addresses (the MPLS label stack). To represent these variable length addresses in netlink I use a valid MPLS label stack (complete with stop bit). This achieves two things: a well defined existing format is used, and the data can be interpreted without looking at it's length. Not needed to look at the length to decode the variable length network representation allows existing userspace functions such as inet_ntop to be used without needed to change their prototype. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2519929aba78e8cec7955d2c2a0c1e230d1f6e6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:12:40 2015 -0600 mpls: Basic support for adding and removing routes mpls_route_add and mpls_route_del implement the basic logic for adding and removing Next Hop Label Forwarding Entries from the MPLS input label map. The addition and subtraction is done in a way that is consistent with how the existing routing table in Linux are maintained. Thus all of the work to deal with NLM_F_APPEND, NLM_F_EXCL, NLM_F_REPLACE, and NLM_F_CREATE. Cases that are not clearly defined such as changing the interpretation of the mpls reserved labels is not allowed. Because it seems like the right thing to do adding an MPLS route without specifying an input label and allowing the kernel to pick a free label table entry is supported. The implementation is currently less than optimal but that can be changed. As I don't have anything else to test with only ethernet and the loopback device are the only two device types currently supported for forwarding MPLS over. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7720c01f3f590116882e251f13c7e1d5602f8643 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:11:20 2015 -0600 mpls: Add a sysctl to control the size of the mpls label table This sysctl gives two benefits. By defaulting the table size to 0 mpls even when compiled in and enabled defaults to not forwarding any packets. This prevents unpleasant surprises for users. The other benefit is that as mpls labels are allocated locally a dense table a small dense label table may be used which saves memory and is extremely simple and efficient to implement. This sysctl allows userspace to choose the restrictions on the label table size userspace applications need to cope with. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0189197f441602acdca3f97750d392a895b778fd Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:10:47 2015 -0600 mpls: Basic routing support This change adds a new Kconfig option MPLS_ROUTING. The core of this change is the code to look at an mpls packet received from another machine. Look that packet up in a routing table and forward the packet on. Support of MPLS over ATM is not considered or attempted here. This implemntation follows RFC3032 and implements the MPLS shim header that can pass over essentially any network. What RFC3021 refers to as the as the Incoming Label Map (ILM) I call net->mpls.platform_label[]. What RFC3031 refers to as the Next Label Hop Forwarding Entry (NHLFE) I call mpls_route. Though calling it the label fordwarding information base (lfib) might also be valid. Further the implemntation forwards packets as described in RFC3032. There is no need and given the original motivation for MPLS a strong discincentive to have a flexible label forwarding path. In essence the logic is the topmost label is read, looked up, removed, and replaced by 0 or more new lables and the sent out the specified interface to it's next hop. Quite a few optional features are not implemented here. Among them are generation of ICMP errors when the TTL is exceeded or the packet is larger than the next hop MTU (those conditions are detected and the packets are dropped instead of generating an icmp error). The traffic class field is always set to 0. The implementation focuses on IP over MPLS and does not handle egress of other kinds of protocols. Instead of implementing coordination with the neighbour table and sorting out how to input next hops in a different address family (for which there is value). I was lazy and implemented a next hop mac address instead. The code is simpler and there are flavor of MPLS such as MPLS-TP where neither an IPv4 nor an IPv6 next hop is appropriate so a next hop by mac address would need to be implemented at some point. Two new definitions AF_MPLS and PF_MPLS are exposed to userspace. Decoding the mpls header must be done by first byeswapping a 32bit bit endian word into the local cpu endian and then bit shifting to extract the pieces. There is no C bit-field that can represent a wire format mpls header on a little endian machine as the low bits of the 20bit label wind up in the wrong half of third byte. Therefore internally everything is deal with in cpu native byte order except when writing to and reading from a packet. For management simplicity if a label is configured to forward out an interface that is down the packet is dropped early. Similarly if an network interface is removed rt_dev is updated to NULL (so no reference is preserved) and any packets for that label are dropped. Keeping the label entries in the kernel allows the kernel label table to function as the definitive source of which labels are allocated and which are not. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cec9166ca4e586de389b0f3c43a8103e728d92ec Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 19:10:23 2015 -0600 mpls: Refactor how the mpls module is built This refactoring is needed to allow more than just mpls gso support to be built into the mpls moddule. Reviewed-by: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee23393b40062362feb220b32629624c1d3c402c Merge: 2f56f6b 4fd3d7d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Mar 4 00:23:37 2015 -0500 Merge branch 'neigh-mpls-prep' Eric W. Biederman says: ==================== Neighbour table prep for MPLS In preparation for using the IPv4 and IPv6 neighbour tables in my mpls code this patchset factors out ___neigh_lookup_noref from __ipv4_neigh_lookup_noref, __ipv6_lookup_noref and neigh_lookup. Allowing the lookup logic to be shared between the different implementations. At what appears to be no cost. (Aka the same assembly is generated for ip6_finish_output2 and ip_finish_output2). After that I add a simple function that takes an address family and an address consults the neighbour table and sends the packet to the appropriate location. The address family argument decoupls callers of neigh_xmit from the addresses families the packets are sent over. (Aka The ipv6 module can be loaded after mpls and a previously configured ipv6 next hop will start working). The refactoring in ___neigh_lookup_noref may be a bit overkill but it feels like the right thing to do. Especially since the same code is generated. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4fd3d7d9e868ffbdb0e7a67c5c8e9dfdcd846a62 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 17:11:16 2015 -0600 neigh: Add helper function neigh_xmit For MPLS I am building the code so that either the neighbour mac address can be specified or we can have a next hop in ipv4 or ipv6. The kind of next hop we have is indicated by the neighbour table pointer. A neighbour table pointer of NULL is a link layer address. A non-NULL neighbour table pointer indicates which neighbour table and thus which address family the next hop address is in that we need to look up. The code either sends a packet directly or looks up the appropriate neighbour table entry and sends the packet. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60395a20ffd74166ea373ea91418d6f98fa7fdfb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 17:10:44 2015 -0600 neigh: Factor out ___neigh_lookup_noref While looking at the mpls code I found myself writing yet another version of neigh_lookup_noref. We currently have __ipv4_lookup_noref and __ipv6_lookup_noref. So to make my work a little easier and to make it a smidge easier to verify/maintain the mpls code in the future I stopped and wrote ___neigh_lookup_noref. Then I rewote __ipv4_lookup_noref and __ipv6_lookup_noref in terms of this new function. I tested my new version by verifying that the same code is generated in ip_finish_output2 and ip6_finish_output2 where these functions are inlined. To get to ___neigh_lookup_noref I added a new neighbour cache table function key_eq. So that the static size of the key would be available. I also added __neigh_lookup_noref for people who want to to lookup a neighbour table entry quickly but don't know which neibhgour table they are going to look up. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f56f6be47dbc6883e28107edfe2f9f98f4d5a24 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Mar 3 16:02:16 2015 +0100 bridge: fix bridge netlink RCU usage When the STP timer fires, it can call br_ifinfo_notify(), which in turn ends up in the new br_get_link_af_size(). This function is annotated to be using RTNL locking, which clearly isn't the case here, and thus lockdep warns: =============================== [ INFO: suspicious RCU usage. ] 3.19.0+ #569 Not tainted ------------------------------- net/bridge/br_private.h:204 suspicious rcu_dereference_protected() usage! Fix this by doing RCU locking here. Fixes: b7853d73e39b ("bridge: add vlan info to bridge setlink and dellink notification messages") Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e8e385aaf6ed5b64b5d9108081cfcdcdd021b78 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Tue Mar 3 22:31:34 2015 -0500 x86/compat: Remove sys32_vm86_warning The check against lastcomm is racy, and the message it produces isn't necessary. vm86 support can be disabled on a 32-bit kernel also, and doesn't have this message. Switch to sys_ni_syscall instead. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425439896-8322-4-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2aa4a710928863e84cb71e60b7c839d12403f5ca Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Tue Mar 3 22:31:33 2015 -0500 x86/compat: Merge native and compat 32-bit syscall tables Combine the 32-bit syscall tables into one file. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425439896-8322-3-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29a5ff97fa0d8045d262a772c3853e3ef1ed98d8 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Tue Mar 3 22:31:32 2015 -0500 x86/compat: Remove compat_ni_syscall() compat_ni_syscall() does the same thing as sys_ni_syscall(). Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425439896-8322-2-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 71a83a6db6138b9d41d8a0b6b91cb59f6dc4742c Merge: b97526f a6c5170 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 3 21:16:48 2015 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/rocker/rocker.c The rocker commit was two overlapping changes, one to rename the ->vport member to ->pport, and another making the bitmask expression use '1ULL' instead of plain '1'. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b0e6aacbfe04fa144c4732f269b09ce91177566 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Tue Mar 3 13:35:31 2015 +1100 md/bitmap: use sector_div for sector_t divisions neilb: modified to not corrupt ->resync_max_sectors. sector_div usage fixed by Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 935f3d4fc62c1f4d99cd13344762e766cd3bf115 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Mar 2 17:02:29 2015 +1100 md/bitmap: fix incorrect DIV_ROUND_UP usage. DIV_ROUTND_UP doesn't work on "long long", - and it should be sector_t anyway. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit b97526f3ff95f92b107f0fb52cbb8627e395429b Merge: 1cea7e2 ce458fc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Mar 3 20:47:23 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-03-03 This series contains updates to fm10k, i40e and i40evf. Matthew updates the fm10k driver by cleaning up code comments and whitespace issues. Also modifies the tunnel length header check, to make it more robust by calculating the inner L4 header length based on whether it is TCP or UDP. Implemented ndo_features_check() that allows drivers to report their offload capabilities per-skb. Neerav updates the i40e driver to skip over priority tagging if DCB is not enabled. Fixes an issue where the driver is not flushing out the DCBNL app table for applications that are not present in the local DCBX application configuration TLVs. Fixed i40e where, in the case of MFP mode, the driver was returning the incorrect number of traffic classes for partitions that are not enabled for iSCSI. Even though the driver was not configuring these traffic classes in the transmit scheduler for the NIC partitions, it does use this map to setup the queue mappings. Shannon updates i40e/i40evf to include the firmware build number in the formatted firmware version string. Akeem adds a safety net (by adding a 'default' case) for the possible unmatched switch calls. Mitch updates i40e to not automatically disable PF loopback at runtime, now that we have the functionality to enable and disable PF loopback. This fix cleans up a bogus error message when removing the PF module with VFs enabled. Adds a extra check to make sure that the indirection table pointer is valid before dereferencing it. Anjali enables i40e to enable more than the max RSS qps when running in a single TC mode for the main VSI. It is possible to enable as many as num_online_cpus(). Adds a firmware check to ensure that DCB is disabled for firmware versions older than 4.33. Updates i40e/i40evf to add missing packet types for VXLAN offload. Updated i40e to be able to handle varying RSS table size for each VSI, since all VSI's do not have the same RSS table size. v2: Dropped previous patch #9 "i40e/i40evf: Add capability to gather VEB per TC stats" since the stats should be in ethtool and not debugfs. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43f0acd96163754672cfb8c8015c54ec527a2cce Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 15:41:03 2015 +0000 extcon: arizona: Fix headphone clamping on wm5110 wm5110 requires slightly different configuration of the headphone clamps to other Arizona devices. Otherwise headphone detection accuracy will be way off. This patch adds the needed clamping. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 112bdfaa525fd5993e17885861342893f15290b0 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 15:41:02 2015 +0000 extcon: arizona: Deobfuscate arizona_extcon_do_magic arizona_extcon_do_magic does not lend a lot of clarity to the purpose of the function, and as all the registers used are described in the datasheet there is no need to obfuscate the code. This patch renames the function to arizona_extcon_hp_clamp, as it controls clamping on the headphone output. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 1cea7e2c9fb3bc6bec8589337a50f60a45085156 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:59 2015 -0800 l2tp: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2beae1078a236d503b6e010fc4d65bb2e14dbdc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:58 2015 -0800 wireless: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c84a67a2fc70841e642fe2f0429abb1d9b4d2167 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:57 2015 -0800 mac80211: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afc130dd3902942c3cae55512b120b7e1df29239 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:56 2015 -0800 ethernet: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 211b85349ced1cf573ba0ec376038d8ec76885fb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:55 2015 -0800 bluetooth: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19ffa562ec138594571896f73c014873db11fc97 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:54 2015 -0800 atm: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a73de0719fbc5452d35c3d3ddf2480fbaa7c7fd Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:53 2015 -0800 appletalk: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 423049ab1e93cfcffff7de6ff40e68edede8fdf5 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:52 2015 -0800 8021q: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b6ed26d8b964bdb1f963eb2fab90fdd26a11452 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:51 2015 -0800 xen: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1667c942e72346df1f41d4171de5a647b6b22dfc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:50 2015 -0800 netconsole: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Miscellanea: Add #include <linux/etherdevice.h> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93803b3385c653bc6fd391c0de00ef811b3dadc0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:49 2015 -0800 wireless: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Miscellanea: Add #include <linux/etherdevice.h> where appropriate Use ETH_ALEN instead of 6 Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 519983b129477cb8e0bbea334c72ecd4486b2d21 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:48 2015 -0800 net: usb: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7bf716940c6a8ed39b444bfb0b97c2939ac312b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Mar 2 19:54:47 2015 -0800 ethernet: Use eth_<foo>_addr instead of memset Use the built-in function instead of memset. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e8ab38cfcb6eac7f4e7e3b8e787a9d4bea54c2cb Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Tue Mar 3 13:21:54 2015 -0800 i40e: Fix dependencies in the i40e driver on configfs Module dependencies are broken in the case where CONFIG_I40E=y and CONFIG_CONFIGFS_FS=m. This fixes the broken dependency. Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c49b8fc26e115a37eca6f7bcef1847eb80f2a4fd Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:12 2015 -0500 of/pci: Add of_pci_dma_configure() to update DMA configuration Add of_pci_dma_configure() to allow updating the DMA configuration of the PCI device using the configuration from DT of the parent of the root bridge device. Use the newly added APIs pci_get/put_host_bridge_device() for implementing this. [bhelgaas: fold in fix for host bridges with no parent OF device] Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit 6675a601d72be408025e675599702e30a99188aa Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:11 2015 -0500 PCI: Add helper functions pci_get[put]_host_bridge_device() Add helper functions to get/put the root bus's host bridge device. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit 0c79c81c779fe54e67c0ce8c1fda551ca57d8a35 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:10 2015 -0500 of: Fix size when dma-range is not used Fix the dma-range size when the DT attribute is missing, i.e., set size to dev->coherent_dma_mask + 1 instead of dev->coherent_dma_mask. Also add code to check invalid values of size configured in DT and log error. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit 1f5c69aa51f9c7c8d2a5c2e4dc339f6c7d5c15cd Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:09 2015 -0500 of: Move of_dma_configure() to device.c to help re-use Move of_dma_configure() to device.c so it can be re-used for PCI devices to obtain DMA configuration from DT. Also add a second argument so that for PCI, the DT node of root bus host bridge can be used to obtain the DMA configuration for the slave PCI device. Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit ed748621031c2a205749997421e59fb4dfb1e909 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Mar 3 12:52:08 2015 -0500 of: iommu: Add ptr to OF node arg to of_iommu_configure() of_iommu_configure() is called from of_dma_configure() to setup iommu ops using DT property. This API is currently used for platform devices for which DMA configuration (including IOMMU ops) may come from the device's parent. To extend this functionality for PCI devices, this API needs to take a parent node ptr as an argument instead of assuming device's parent. This is needed since for PCI, the DMA configuration may be defined in the DT node of the root bus bridge's parent device. Currently only dma-range is used for PCI and IOMMU is not supported. Return error if the device is PCI. Add "parent" parameter (a struct device_node *) to of_iommu_configure(). Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> (AMD Seattle) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> CC: Joerg Roedel <joro@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit fce8c5fd82e8c3d39a919f649d8ddd97310f4b63 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Mar 3 12:44:05 2015 -0500 HID: uclogic: actually invert the in-range bit for huion tablets only This hack is only needed for Huion tablets. It does not seem to have any effect on the other tablets handled by this device right now, but it's better to check for the product id sooner than discovering that we have messed up one tablet later. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit aa2121ac477845eb64d46278e93765b82a005c90 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Mar 3 12:44:04 2015 -0500 HID: uclogic: discard the extra Pen input node on Huion tablets Some Huion tablets present 2 HID Pen interfaces. Only one is used, so we can drop the unused one. Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 002a82ded6a7f4e402b1f9b953d7393ec290b709 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Mar 3 12:44:03 2015 -0500 HID: uclogic: apply quirk NO_EMPTY_INPUT NO_EMPTY_INPUT is useful when MULTI_INPUT is set. It prevents to create empty input nodes that user space does not know what to do with. It does not seem to be required at the moment, this is just a preventive patch. This check is only made during the plug of the device, so it does not hurt to have it. Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit cce2dbdf258e6b27b2b100f511531edabb77f427 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Mar 3 12:44:02 2015 -0500 HID: uclogic: name the input nodes based on their tool We append "Pen", "Pad", "Mouse", "Keyboard", "Consumer Control" or "System Control" suffix to the appropriate input node to match what the Wacom driver does and be more convenient for the user to know which one is which. Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 08177f40bd00cd5232c0508e92a62f69cad9467f Author: Nikolai Kondrashov <Nikolai.Kondrashov@xxxxxxxxxx> Date: Tue Mar 3 12:44:01 2015 -0500 HID: uclogic: merge hid-huion driver in hid-uclogic Merge the hid-huion driver into hid-uclogic as all the devices supported by hid-huion are in fact UC-Logic devices. Signed-off-by: Nikolai Kondrashov <Nikolai.Kondrashov@xxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 70b69cfb88467988116c4863056495fa3615271a Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Mar 3 12:44:00 2015 -0500 HID: uclogic: Set quirks from inside the driver Based on a patch from: Nikolai Kondrashov <Nikolai.Kondrashov@xxxxxxxxxx> Most of the tablets handled by hid-uclogic already use MULTI_INPUT. For the ones which are not quirked in usbhid/hidquirks, they have a custom report descriptor which contains only one report per HID interface. For those tablets HID_QUIRK_MULTI_INPUT is transparent. According to https://github.com/DIGImend/tablets, the only problematic tablet currently handled by hid-uclogic is the TWHA60 v3. This tablet presents different report descriptors from the ones currently quirked. This is not a problem per se, given that this tablet is not supported currently in this version (it needs the same command as a Huion to start forwarding events). Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f791e3c101fea2c0964c0cd5684352f4bc9ffa2b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 26 11:43:32 2015 +0100 irqchip: renesas-irqc: Use u32 to store 32-bit register values Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1424947412-8061-1-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f1f5bc30f5726ff28fa1b263edcd805cced84a07 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Feb 18 15:13:59 2015 +0000 irqchip: st: Add documentation for STi based syscfg IRQs Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1424272444-16230-4-git-send-email-lee.jones@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 070884845baaeaa41a11eccc2fc2a4080de64946 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Feb 18 15:13:58 2015 +0000 irqchip: st: Supply new driver for STi based devices This driver is used to enable System Configuration Register controlled External, CTI (Core Sight), PMU (Performance Management), and PL310 L2 Cache IRQs prior to use. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1424272444-16230-3-git-send-email-lee.jones@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9967c3c6f5e81342d9b82c43638d695991939969 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Feb 18 15:13:57 2015 +0000 dt: bindings: Supply shared ST IRQ defines These defines are used to allow values used for configuration to be easily human readable and will lessen the chance of logical mistakes. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1424272444-16230-2-git-send-email-lee.jones@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1d5da757da860a6916adbf68b09e868062b4b3b8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Mar 3 09:41:47 2015 -0600 ax25: Stop using magic neighbour cache operations. Before the ax25 stack calls dev_queue_xmit it always calls ax25_type_trans which sets skb->protocol to ETH_P_AX25. Which means that by looking at the protocol type it is possible to detect IP packets that have not been munged by the ax25 stack in ndo_start_xmit and call a function to munge them. Rename ax25_neigh_xmit to ax25_ip_xmit and tweak the return type and value to be appropriate for an ndo_start_xmit function. Update all of the ax25 devices to test the protocol type for ETH_P_IP and return ax25_ip_xmit as the first thing they do. This preserves the existing semantics of IP packet processing, but the timing will be a little different as the IP packets now pass through the qdisc layer before reaching the ax25 ip packet processing. Remove the now unnecessary ax25 neighbour table operations. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bcc90e3fb132f009e647c9032eab4fedb6399339 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Mar 3 19:38:46 2015 +0100 net/atm/signaling.c: remove WAIT_FOR_DEMON code WAIT_FOR_DEMON code is directly undefined at the beginning of signaling.c since initial git version and thus never compiled. This also removes buggy current->state direct access. Suggested-by: Chas Williams <chas@xxxxxxxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9910affa89fe0895153880b115ec243636e70af3 Author: Yao Dongdong <yaodongdong@xxxxxxxxxx> Date: Wed Feb 25 17:09:46 2015 +0800 rcu: Remove redundant check of cpu_online() Because invoke_cpu_core() checks whether the current CPU is online, there is no need for __call_rcu_core() to redundantly check it. There should not be any performance degradation because the called function is visible to the compiler. This commit therefore removes the redundant check. Signed-off-by: Yao Dongdong <yaodongdong@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit e7580f33889299e484a80f42c20611ead42f199e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 14:23:39 2015 -0800 rcu: Get rcu_sched_force_quiescent_state() where it belongs The very similar functions rcu_force_quiescent_state(), rcu_bh_force_quiescent_state(), and rcu_sched_force_quiescent_state() are supposed to be together, but have drifted apart. This commit restores rcu_sched_force_quiescent_state() to its rightful place. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 91afa21d5d0d79a02984d37509f1f827ae460f4e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Feb 7 20:08:51 2015 -0800 torture: Avoid script syntax error when insufficient CPUs Parentheses are special to bash, so use an overflow flag that doesn't use them. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b826565aaf8809df146666c03d1acbb7febbd13e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 2 11:46:33 2015 -0800 rcu: Reverse rcu_dereference_check() conditions The rcu_dereference_check() family of primitives evaluates the RCU lockdep expression first, and only then evaluates the expression passed in. This works fine normally, but can potentially fail in environments (such as NMI handlers) where lockdep cannot be invoked. The problem is that even if the expression passed in is "1", the compiler would need to prove that the RCU lockdep expression (rcu_read_lock_held(), for example) is free of side effects in order to be able to elide it. Given that rcu_read_lock_held() is sometimes separately compiled, the compiler cannot always use this optimization. This commit therefore reverse the order of evaluation, so that the expression passed in is evaluated first, and the RCU lockdep expression is evaluated only if the passed-in expression evaluated to false, courtesy of the C-language short-circuit boolean evaluation rules. This compells the compiler to forego executing the RCU lockdep expression in cases where the passed-in expression evaluates to "1" at compile time, so that (for example) rcu_dereference_raw() can be guaranteed to execute safely within an NMI handler. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> commit a3bd2c09adcc80946262fd15e63868de1f0f4963 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 21 20:58:57 2015 -0800 rcu: Add boot-up check for non-default CONFIG_RCU_FANOUT_LEAF values Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ab6f5bd6741af7b157275de299b7b2b96f2df40e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 21 16:58:06 2015 -0800 rcu: Use IS_ENABLED() to simplify rcu_bootup_announce_oddness() This commit gets rid of some inline #ifdefs by replacing them with IS_ENABLED. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d24209bb689e2c7f7418faec9b4a948e922d24da Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 21 15:26:03 2015 -0800 rcu: Improve diagnostics for blocked critical sections in irq If an RCU read-side critical section occurs within an interrupt handler or a softirq handler, it cannot have been preempted. Therefore, there is a check in rcu_read_unlock_special() checking for this error. However, when this check triggers, it lacks diagnostic information. This commit therefore moves rcu_read_unlock()'s lockdep annotation to follow the call to __rcu_read_unlock() and changes rcu_read_unlock_special()'s WARN_ON_ONCE() to an lockdep_rcu_suspicious() in order to locate where the offending RCU read-side critical section began. In addition, the value of the ->rcu_read_unlock_special field is printed. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 6629240575992a6f0d18c46f5160b34527b0e501 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 19:16:38 2015 -0800 rcu: Use IS_ENABLED() to CONFIG_RCU_FANOUT_EXACT #ifdef This commit uses IS_ENABLED() to remove the #ifdef from the rcu_init_levelspread() functions. No effect on executable code. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 476276781095c79580abe27a65988549ac7f5f89 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 21:10:21 2015 -0800 rcu: Move early boot callback tests earlier Because callbacks can now be posted quite early in boot, move the early boot callback tests to precede RCU initialization. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 34404ca8fb252ccee662c4368c555ccf774acc3b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 20:39:20 2015 -0800 rcu: Move early-boot callbacks to no-CBs lists for no-CBs CPUs When a CPU is first determined to be a no-CBs CPUs, this commit causes any early boot callbacks to be moved to the no-CBs callback list, allowing them to be invoked. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 8fbc418f99caf65a53f3921ac2a32a0a0af7aba2 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxxxx> Date: Tue Feb 24 18:01:46 2015 -0800 f2fs: avoid wrong error during recovery During the roll-forward recovery, -ENOENT for f2fs_iget can be skipped. So, this error value should not be propagated. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1614091dc1551d1ddeda7420df8ab5ad89b04987 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Feb 23 19:59:52 2015 -0800 f2fs: remove obsolete code This patch removes obsolete code in which summary variable is not needed. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit cb3bc9ee06f708f3b615b6ce119b907d6a4c8a5d Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 18:03:40 2015 +0800 f2fs: use extent cache for dir We update extent cache for all user inode of f2fs including dir inode, so this patch gives another chance to try to get physical address of page from extent cache for dir inode. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 91c5d9bce7fef638add2cd36676e157354784d0f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 18:02:44 2015 +0800 f2fs: switch to check FI_NO_EXTENT in f2fs_{lookup,update}_extent_cache This patch switch to check FI_NO_EXTENT in f2fs_{lookup,update}_extent_cache instead of f2fs_{lookup,update}_extent_tree or {lookup,update}_extent_info. No functionality modification in this patch. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 62c8af651b37490c18a42c02586fa6a4fb39320a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 18:01:39 2015 +0800 f2fs: support fast lookup in extent cache This patch adds a fast lookup path for rb-tree extent cache. In this patch we add a recently accessed extent node pointer 'cached_en' in extent tree. In lookup path of extent cache, we will firstly lookup the last accessed extent node which cached_en points, if we do not hit in this node, we will try to lookup extent node in rb-tree. By this way we can avoid unnecessary slow lookup in rb-tree sometimes. Note that, side-effect of this patch is that we will increase memory cost, because we will store a pointer variable in each struct extent tree additionally. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1ec4610c522cc51219cc022ef120a928828fa934 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:59:59 2015 +0800 f2fs: add trace for rb-tree extent cache ops This patch adds trace for lookup/update/shrink/destroy ops in rb-tree extent cache. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4bf6fd9fedf14a8bab75f3710cd63e7bc8928014 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:58:28 2015 +0800 f2fs: show extent tree, node stat info in debugfs This patch add and show stat info of total memory footprint for extent tree,node in debugfs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1dcc336b02bff3d38f173feac55a2b6c25a5fb54 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:57:31 2015 +0800 f2fs: enable rb-tree extent cache This patch enables rb-tree based extent cache in f2fs. When we mount with "-o extent_cache", f2fs will try to add recently accessed page-block mappings into rb-tree based extent cache as much as possible, instead of original one extent info cache. By this way, f2fs can support more effective cache between dnode page cache and disk. It will supply high hit ratio in the cache with fewer memory when dnode page cache are reclaimed in environment of low memory. Storage: Sandisk sd card 64g 1.append write file (offset: 0, size: 128M); 2.override write file (offset: 2M, size: 1M); 3.override write file (offset: 4M, size: 1M); ... 4.override write file (offset: 48M, size: 1M); ... 5.override write file (offset: 112M, size: 1M); 6.sync 7.echo 3 > /proc/sys/vm/drop_caches 8.read file (size:128M, unit: 4k, count: 32768) (time dd if=/mnt/f2fs/128m bs=4k count=32768) Extent Hit Ratio: before patched Hit Ratio 121 / 1071 1071 / 1071 Performance: before patched real 0m37.051s 0m35.556s user 0m0.040s 0m0.026s sys 0m2.990s 0m2.251s Memory Cost: before patched Tree Count: 0 1 (size: 24 bytes) Node Count: 0 45 (size: 1440 bytes) v3: o retest and given more details of test result. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 8967215954a50947fbd9c2996232548bf6dd9062 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:55:51 2015 +0800 f2fs: add a mount option for rb-tree extent cache This patch adds a mount option 'extent_cache' in f2fs. It is try to use a rb-tree based extent cache to cache more mapping information with less memory if this option is set, otherwise we will use the original one extent info cache. Suggested-by: Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 429511cdf8b3a9b894b914f282a9293df405a449 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:54:31 2015 +0800 f2fs: add core functions for rb-tree extent cache This patch adds core functions including slab cache init function and init/lookup/update/shrink/destroy function for rb-tree based extent cache. Thank Jaegeuk Kim and Changman Lee as they gave much suggestion about detail design and implementation of extent cache. Todo: * register rb-based extent cache shrink with mm shrink interface. v2: o move set_extent_info and __is_{extent,back,front}_mergeable into f2fs.h. o introduce __{attach,detach}_extent_node for code readability. o add cond_resched() when fail to invoke kmem_cache_alloc/radix_tree_insert. o fix some coding style and typo issues. v3: o fix oops due to using an unassigned pointer. o use list_del to remove extent node in shrink list. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> [Jaegeuk Kim: add static for some funcitons and declare in f2fs.h] Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 13054c548a1c9e78f8f8ba5f134909cb56152285 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:52:58 2015 +0800 f2fs: introduce infra macro and data structure of rb-tree extent cache Introduce infra macro and data structure for rb-tree based extent cache: Macros: * EXT_TREE_VEC_SIZE: indicate vector size for gang lookup in extent tree. * F2FS_MIN_EXTENT_LEN: indicate minimum length of extent managed in cache. * EXTENT_CACHE_SHRINK_NUMBER: indicate number of extent in cache will be shrunk. Basic data structures for extent cache: * struct extent_tree: extent tree entry per inode. * struct extent_node: extent info node linked in extent tree. Besides, adding new extent cache related fields in f2fs_sb_info. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7e4dde79df7cdf8b40282857e030c7572ff04886 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:51:34 2015 +0800 f2fs: introduce universal lookup/update interface for extent cache In this patch, we do these jobs: 1. rename {check,update}_extent_cache to {lookup,update}_extent_info; 2. introduce universal lookup/update interface of extent cache: f2fs_{lookup,update}_extent_cache including above two real functions, then export them to function callers. So after above cleanup, we can add new rb-tree based extent cache into exported interfaces. v2: o remove "f2fs_" for inner function {lookup,update}_extent_info suggested by Jaegeuk Kim. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a2e7d1bfebe0bc349a3eb9d01caac026627f095e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:50:30 2015 +0800 f2fs: introduce f2fs_map_bh to clean codes of check_extent_cache This patch introduces f2fs_map_bh to clean codes of check_extent_cache. v2: o cleanup f2fs_map_bh pointed out by Jaegeuk Kim. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4d0b0bd4385f0ce8d3b430f9667c5e2ca1de10af Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:47:25 2015 +0800 f2fs: simplfy a field name in struct f2fs_extent,extent_info Rename a filed name from 'blk_addr' to 'blk' in struct {f2fs_extent,extent_info} as annotation of this field descripts its meaning well to us. By this way, we can avoid long statement in code of following patches. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 0c872e2dedfc09f41a5604d1c5010f800c0bd8f1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Feb 5 17:46:29 2015 +0800 f2fs: move ext_lock out of struct extent_info Move ext_lock out of struct extent_info, then in the following patches we can use variables with struct extent_info type as a parameter to pass pure data. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3c0d84d6f1dde0a85f20957954fffb209edc55ac Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Feb 16 16:20:27 2015 +0800 f2fs: fix incorrectly stat number of inline data inode We should stat inline data information for temp file in f2fs_tmpfile if we enable inline_data feature. Otherwise, inline data stat number will be wrong after this temp file is evicted. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 97dc3fd2cbbf6dac239333083a8a005bf50c96e8 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Feb 16 16:19:22 2015 +0800 f2fs: use ->writepage in sync_meta_pages This patch uses ->writepage of meta mapping in sync_meta_pages instead of f2fs_write_meta_page, by this way, in its caller we can ignore any changes (e.g. changing name) of this registered function. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3b4d732a568432039af71809f9cad69565f00bed Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Feb 16 16:17:20 2015 +0800 f2fs: introduce f2fs_update_dentry to clean up duplicated codes This patch introduces f2fs_update_dentry to remove redundant code in f2fs_add_inline_entry and __f2fs_add_link. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1753396a0a1c574969dc0c4b369ac4ac3d299245 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Feb 16 16:15:44 2015 +0800 f2fs: remove unused inline_dentry_addr inline_dentry_addr is introduced with inline dentry feature without being used, now we do not need to keep it for any reason, so remove it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 82a00c49ed97cf5b9aa96bd6cda2021720578ecc Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Feb 26 10:13:51 2015 +0100 mfd: sec: Remove unnecessary out of memory message There is no need to print additional ENOMEM message for sec_platform_data allocation failure. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ef9c80b37ad3062d335d4e37846a94d862b5579f Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Feb 26 10:13:50 2015 +0100 mfd: sec: Cleanup unused RTC fields: ono, WTSR and SMPL The WTSR (Watchdog Timer Software Reset) and SMPL (Sudden Momentary Power Loss) were removed from rtc-s5m driver because they were not used. Remove them (and on/off interrupt) from main MFD driver and header. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b4dd04ac6ef88259ddb59ca809ca5845c7892139 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Mon Mar 2 18:40:50 2015 +0100 thinkpad_acpi: use DEVICE_ATTR_* macros Use the DEVICE_ATTR_* macros to reduce boiler plate. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit dfecb95cdfeaf7872d83a96bec3a606e9cd95c8d Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 26 19:02:43 2015 +0100 perf/bench: Add -r all so that you can run all mem* routines perf bench mem mem{set,cpy} -r all thus runs all available mem benchmarking routines. Reviewed-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 515e23f0193f42dab3b3e89f2c54da16b8bc3481 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 26 18:51:37 2015 +0100 perf/bench: Carve out mem routine benchmarking ... so that we can call it multiple times. See next patch. Reviewed-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 0cf55934ecace74bb7d26c0e9679fb41675a8903 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 26 18:38:16 2015 +0100 perf/bench: Fix mem* routines usage after alternatives change Adjust perf bench to the new changes in the alternatives code for memcpy/memset. Reviewed-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6a68d855708497c542d57a82a5f8e3a513a65a82 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Mon Mar 2 14:45:31 2015 +0100 thinkpad_acpi: Add support for more adaptive kbd buttons This commit adds new elements to the ThinkPad keymaps, and will send key events for keys for which an input.h declaration exists. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Reviewed-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit b790ceeb0fd94725150219abd8c13b08a17a32e3 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Mon Mar 2 14:45:27 2015 +0100 thinkpad_acpi: Add adaptive_kbd_mode sysfs attr Add a sysfs attribute to allow privileged users to change the keyboard mode. This could be used by desktop environments to change the keyboard mode depending on the application focused, as the Windows application does. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f74587fb9308dd6d4346180672d79b8a861f02dd Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Mon Mar 2 14:45:22 2015 +0100 thinkpad_acpi: Factor out get/set adaptive kbd mode Move the getting/setting of the adaptive keyboard mode to separate functions, so that we can reuse them later through sysfs attributes. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f23a5bcb70586231b5130a08de965592afdcf9cd Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Mon Mar 2 14:45:16 2015 +0100 thinkpad_acpi: Remember adaptive kbd presence Rather than checking on each suspend and resume whether the laptop has an adaptive keyboard, check when the driver is initialised. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 97e4a7a21edf5901c8cd60715c81b880b7a3be12 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:26 2015 +0000 mfd: da9150: Add DT binding documentation for core Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 49010336290f4e3e4249c43bff1a1ff065c8f94e Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 15:37:13 2015 +0000 mfd: arizona: Move useful defines into a dt-binding include Move parts of linux/mfd/arizona/pdata.h and gpio.h into a new file in the dt-binding directory for use by device tree bindings. This also makes gpio.h redundant so remove it in the process. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fbf2c4a7b69dbc61e960a3c1455e661b57d15279 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:39:33 2015 +0100 mfd: da9150: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2600abca149745deeb4cc9272bc3640a88815485 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Feb 6 12:24:47 2015 +0100 rtc: s5m: Remove unused watchdog and sudden momentary power loss The WTSR (Watchdog Timer Software Reset) and SMPL (Sudden Momentary Power Loss) are never enabled. These are left-overs from board files. After removing them the driver's shutdown callback is empty so get rid of it as well. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0523b8f41473c3d869adebeb029b5dc045ab35d8 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:16 2015 +0800 mfd: rtsx: Using pcr_dbg replace dev_dbg pcr_dbg is a wrapper of dev_dbg, which can save some code, and help to enable/disable debug message static. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 41bc2334737a32d3062a318dde5964590d0e24c9 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:15 2015 +0800 mfd: rtsx: Add support for rts525A Add support for new chip rts525A. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 663c425f2c8d87a433629f09c5afd0af7e7e550c Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:14 2015 +0800 mfd: rtsx: Add support for rts524A add support for new chip rts524A. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 19f3bd548f2750a8a7e4e6d2f25fdc5f8e2c3ee9 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:13 2015 +0800 mfd: rtsx: Remove LCTLR defination To enable/disable ASPM we should find LINK CONTROL register in PCI config space. All old chip use 0x80 address, but new chip may use another address, so we using pci_find_capability() to get LINK CONTROL address. rtsx_gops.c was removed, we consider to put some common operations to this file, but the actual thing is, only a group of chips are in common ops1, and another group of chips in common ops2, it is hard to decide put which ops into generic ops file. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b038538104d5b033d3beaffba6d6efe01246930b Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:12 2015 +0800 mfd: rtsx: Update phy register Update some phy register name and value for rts5249, the updated value makes chip more stable on some platform. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e89f231826a773ea37dfa99ab619f3ee34c06522 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:11 2015 +0800 mfd: rtsx: Update driving settings update card drive settings, This setting can be used for rts5249 rts524A and rts525A. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9e33ce79f828eb5a1bb9dd4830c7fa719d4279dc Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:10 2015 +0800 mfd: rtsx: Update PETXCFG address PETXCFG is defined at 0xFF03, the old 0xFE49 not used any more. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ada71f5588320e7a5c7166cb7c1c8c40cb866ac4 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:09 2015 +0800 mfd: rtsx: Place register address and values togather It is more readable to place register address and values define togather. The values define add two leading space indicate belong to the register address defined above. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 84f00b1b9631319361f6c36e2f5a8e833d09af5b Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Wed Feb 25 13:50:08 2015 +0800 mfd: rtsx: Replace TAB by SPC after #define Re-format coding-style, using uniform SPC after "#define" keyword instead of mixing using TAB and SPC. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b10848e6f9fa7638fc0713695a12c0735ffb52b7 Author: Vignesh R <vigneshr@xxxxxx> Date: Wed Jan 7 11:19:36 2015 +0530 mfd: ti_am335x_tscadc: Remove unwanted reg_se_cache save In one shot mode, sequencer automatically disables all enabled steps at the end of each cycle. (both ADC steps and TSC steps) Hence these steps need not be saved in reg_se_cache for clearing these steps at a later stage. Also, when ADC wakes up Sequencer should not be busy executing any of the config steps except for the charge step. Previously charge step was 1 ADC clock cycle and hence it was ignored. TSC steps are always disabled at the end of each conversion cycle, hence there is no need to explicitly disable TSC steps by writing 0 to REG_SE. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f0bd7ccc413f6de0947d6b8e998ef1fb787513ff Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Tue Jan 20 17:25:15 2015 +0000 mfd: vexpress: Remove non-DT code Now, as all VE platforms have to be booted with DT, the code handling non-DT case can be removed. Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fb358e438d5456c29657698cf9f768ee55d6cba2 Author: Michael Brunner <mibru@xxxxxx> Date: Tue Jan 27 11:05:49 2015 +0100 mfd: Add support for COMe-cBL6 to Kontron PLD driver This patch adds the DMI system ID of the Kontron COMe-cBL6 board to the Kontron PLD driver. The list of supported products in the module description is also updated. Signed-off-by: Michael Brunner <michael.brunner@xxxxxxxxxxx> Acked-by: Christian Rauch <christian.rauch@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d638787411a7d5df6dd2965b253efaa7b534e15e Author: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Date: Mon Feb 2 15:41:41 2015 -0800 mfd: axp20x: Change battery cell name to fuel gauge Name changes to the battery cell structure to a more generic cell type: fuel gauge. Signed-off-by: Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9dc502195a2d5ee810628b5697ddd854e38fa143 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:01:15 2015 +0200 mfd: intel_soc_pmic: Ensure GPIO irq is set to input pin Surely GPIO irq will be used as an input pin so make sure its direction is set after requesting. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ad7b5a175cda5425c97612c8b607a4c1992ad273 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:01:14 2015 +0200 mfd: intel_soc_pmic: Do not mangle error code from devm_gpiod_get_index() It is usually better to pass actual error code from a function call than mangling it to another. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9c98dcb08c85e67ce83f3a7f8785da20349533fe Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:01:13 2015 +0200 mfd: intel_soc_pmic: Move PMIC interrupt comment to probe function intel_soc_pmic_find_gpio_irq() tries to find a GPIO interrupt but doesn't select between it or I2C interrupt so it makes more sense to move this comment to intel_soc_pmic_i2c_probe() with minor edits. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3591276d16f8e568449e4b6c719165ad2decf222 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Mar 3 11:33:15 2015 -0500 c6x: kernel: setup: Include "linux/console.h" Or c6x will cause building break for allmodconfig, the related error: CC arch/c6x/kernel/setup.o arch/c6x/kernel/setup.c: In function 'setup_arch': arch/c6x/kernel/setup.c:433:2: error: 'conswitchp' undeclared (first use in this function) conswitchp = &dummy_con; ^ arch/c6x/kernel/setup.c:433:2: note: each undeclared identifier is reported only once for each function it appears in arch/c6x/kernel/setup.c:433:16: error: 'dummy_con' undeclared (first use in this function) conswitchp = &dummy_con; ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> [removed unnecessary #ifdef around include] Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> commit 258ece02126a67af263746e1ae5f8ddf0d492e14 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Feb 24 19:45:15 2015 +0100 btrfs: remove shadowing variables in __btrfs_map_block 1) We can safely use the function's 'i'. Fixes warning fs/btrfs/volumes.c:5257:7: warning: declaration of 'i' shadows a previous local fs/btrfs/volumes.c:4951:6: warning: shadowed declaration is here 2) A local variable duplicates name of an argument, we can use the value directly. Fixes warning fs/btrfs/volumes.c:5433:8: warning: declaration of 'length' shadows a parameter fs/btrfs/volumes.c:4935:27: warning: shadowed declaration is here Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 093adbcedf123f366e5eef0c4ccd815920f725f3 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Feb 24 19:40:41 2015 +0100 btrfs: switch helper macros to static inlines in sysfs.h The conversion macros use nested container_of that leads to a warning fs/btrfs/sysfs.c: In function 'btrfs_feature_visible': fs/btrfs/sysfs.c:183:8: warning: declaration of '__mptr' shadows a previous local fs/btrfs/sysfs.c:183:8: warning: shadowed declaration is here Use of functions will add proper type checking. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 9d644a623ec48e28ca3887e616456aba63fd0558 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Feb 20 18:42:11 2015 +0100 btrfs: cleanup, use correct type in div_u64_rem div_u64_rem expects u32 for divisior and reminder. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 47c5713f4737e460a3b2535abb8ae2e2afe2d2d0 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Feb 20 18:43:47 2015 +0100 btrfs: replace remaining do_div calls with div_u64 variants Switch to div_u64_rem that does type checking and has more obvious semantics than do_div. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit b8b93addde1e0192b045da8995e296fc1e40c80f Author: David Sterba <dsterba@xxxxxxx> Date: Fri Jan 16 17:26:13 2015 +0100 btrfs: cleanup 64bit/32bit divs, provably bounded values The divisor is derived from nodesize or PAGE_SIZE, fits into 32bit type. Get rid of a few more do_div instances. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 3284da7b7b585e6e8e98f374a51d234d14c7a0a2 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Feb 25 15:47:32 2015 +0100 btrfs: use explicit initializer for seq_elem Using {} as initializer for struct seq_elem does not properly initialize the list_head member, but it currently works because it gets set through btrfs_get_tree_mod_seq if 'seq' is 0. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit f64c7b12f86c638f13e19de08eeb8cf888dff8f6 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Feb 24 19:07:26 2015 +0100 btrfs: remove shadowing variables in __btrfs_buffered_write There are lockstart and lockend defined in the function and not used after their duplicate definition scope ends, it's safe to reuse them. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 31e818fe7375d60de9953051f7bd1615cebc3681 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Feb 20 18:00:26 2015 +0100 btrfs: cleanup, use kmalloc_array/kcalloc array helpers Convert kmalloc(nr * size, ..) to kmalloc_array that does additional overflow checks, the zeroing variant is kcalloc. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit f8c269d7223f6b63cc5936eb191bc3b170d24342 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Jan 16 17:21:12 2015 +0100 btrfs: cleanup 64bit/32bit divs, compile time constants Switch to div_u64 if the divisor is a numeric constant or sum of sizeof()s. We can remove a few instances of do_div that has the hidden semtantics of changing the 1st argument. Small power-of-two divisors are converted to bitshifts, large values are kept intact for clarity. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 351810c1d2aafa288af61844d877941d516fb031 Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jan 8 15:20:54 2015 +0100 btrfs: use cond_resched_lock where possible Clean the opencoded variant, cond_resched_lock also checks the lock for contention so it might help in some cases that were not covered by simple need_resched(). Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 853d8ec4b288ce52b49e12beeef0f3659ac423ce Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jan 8 15:15:19 2015 +0100 btrfs: need_resched not needed with cond_resched Cleanup, no special reason to do if (need_resched()) cond_resched(); Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 29cf342b8f1056486557015aba4538804a872dc1 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Feb 20 18:42:11 2015 +0100 btrfs: cleanup, use correct type in div_u64_rem div_u64_rem expects u32 for divisior and reminder. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 35b850f16d9adbb833775105ec942fbc818ee6a0 Author: David Sterba <dsterba@xxxxxxx> Date: Fri Feb 20 18:43:47 2015 +0100 btrfs: replace remaining do_div calls with div_u64 variants Switch to div_u64_rem that does type checking and has more obvious semantics than do_div. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit c7abe829c04dc8ce0ecd1c07bf3bc97d2bb9655e Author: David Sterba <dsterba@xxxxxxx> Date: Fri Jan 16 17:26:13 2015 +0100 btrfs: cleanup 64bit/32bit divs, provably bounded values The divisor is derived from nodesize or PAGE_SIZE, fits into 32bit type. Get rid of a few more do_div instances. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 3d945be05ac1e806af075e9315bc1b3409adae2b Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Mon Jan 12 20:23:26 2015 -0300 [media] mn88473: simplify bandwidth registers setting code Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3b786f13164596b2be44379442c34fbf561a78b6 Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Date: Mon Jan 12 20:23:25 2015 -0300 [media] mn88473: calculate the IF register values Add xtal as a configuration parameter so it can be used in the IF register value calculation. If not set in the configuration then use a default value. Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0004defd4e44d81966b0c4164c2ee01f20ab357b Author: Vishal Thanki <vishalthanki@xxxxxxxxx> Date: Tue Mar 3 18:59:00 2015 +0530 ASoC: simple-card: Add a NULL pointer check in asoc_simple_card_dai_link_of Make sure devm_kzalloc() succeeds. Signed-off-by: Vishal Thanki <vishalthanki@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c8fff3dc72817d476e083c3f9bc59a11901ecfeb Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Sun Mar 1 09:10:04 2015 +0200 mac80211: handle drv_add_interface failures properly during reconfig If any interface fails to be added to the driver in during reconfig, we should remove all the successfully added interfaces and report reconfig failure, so things can be cleaned up properly. Failing to do so can lead to subsequent failures and leave the drivers in a messed up state. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit be72afe0a43825ea357bf61f01ff8fe9938fe7d4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Mar 1 09:10:03 2015 +0200 mac80211: fix another suspend vs. association race Since cfg80211 disconnects, but has no insight into the association process, it can happen that it disconnects while association is in progress. We then try to abort association in mac80211, but this is only later so the association can complete between the two. This results in removing an interface from the driver while bound to the channel context, obviously causing confusion and issues. Solve this by also checking if we're associated during quiesce and if so deauthenticating. The frame will no longer go out to the AP which is a bit unfortunate, but it'll resolve the crash (and before we would have suspended without telling the AP as well.) I'm working on a better, but more complex solution as well, which should avoid that problem. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit fb28ec0ce4acd54cb1972d224e2caf287b60d9c9 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Mar 1 09:10:02 2015 +0200 mac80211: TDLS: support VHT between peers Add the AID and VHT-cap/operation IEs during TDLS setup. Remove the block of TDLS peers when setting HT-caps of the peer station. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 954a86ef45ffa2db4e361d5344ed61464fb2a204 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Mar 1 09:10:01 2015 +0200 cfg80211: add operating classes 128-130 Operating classes 128-130 are defined in the 11ac spec for the 5GHz band. Update ieee80211_operating_class_to_band() to support them. 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 2ecc3905e6c51f545a44cc621216b5dfd7f94c50 Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Sun Mar 1 09:10:00 2015 +0200 mac80211: Update beacon's timing and DTIM count on every beacon Beacon's timestamp, device system time associated with this beacon and DTIM count parameters are not updated in the associated vif context if the latest beacon's content is identical to the previously received. It make sense to update these changing parameters on every beacon so the driver can get most updated values. This may be necessary, for example, to avoid either beacons' drift effect or device time stamp overrun. IMPORTANT: Three sync_* parameters - sync_ts, sync_device_ts and sync_dtim_count would possibly be out of sync by the time the driver will use them. The synchronized view is currently guaranteed only in certain callbacks. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5fc7432991a86678b38a2d700edbe8bcd29cc579 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Feb 27 15:32:43 2015 +0100 nl80211: add notes about userspace API/ABI modifications Add notes about userspace ABI/API modifications, including the fact that we decided that API submissions should come with a driver implementation. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d5d011b446783fa7e79f3a80465fbd41c5189f83 Author: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 15:26:54 2015 +0200 mac80211_hwsim: Add minimal capability for vendor command/event testing This allows wpa_supplicant/hostapd to send a vendor command and verify response to that command and a vendor event. Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6c09e791b21309a1ad71f9702b766dae12a3cb0a Author: Ahmad Kholaif <akholaif@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 15:26:53 2015 +0200 cfg80211: Allow NL80211_ATTR_IFINDEX to be added to vendor events This modifies cfg80211_vendor_event_alloc() with an additional argument struct wireless_dev *wdev. __cfg80211_alloc_event_skb() is modified to take in *wdev argument, if wdev != NULL, both the NL80211_ATTR_IFINDEX and wdev identifier are added to the vendor event. These changes make it easier for drivers to add ifindex indication in vendor events cleanly. This also updates all existing users of cfg80211_vendor_event_alloc() and __cfg80211_alloc_event_skb() in the kernel tree. Signed-off-by: Ahmad Kholaif <akholaif@xxxxxxxxxxxxxxxx> Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ffc1199122d83d60ad99f9c55df32feb650b7bff Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Sat Feb 21 16:52:39 2015 +0100 cfg80211: add VHT support for IBSS Add NL80211_EXT_FEATURE_VHT_IBSS flag and VHT support for IBSS. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6eb18137643fee5f182d85c818062b4feddfb76b Author: Dedy Lansky <dlansky@xxxxxxxxxxxxxx> Date: Sun Feb 8 15:52:03 2015 +0200 cfg80211: add bss_type and privacy arguments in cfg80211_get_bss() 802.11ad adds new a network type (PBSS) and changes the capability field interpretation for the DMG (60G) band. The same 2 bits that were interpreted as "ESS" and "IBSS" before are re-used as a 2-bit field with 3 valid values (and 1 reserved). Valid values are: "IBSS", "PBSS" (new) and "AP". In order to get the BSS struct for the new PBSS networks, change the cfg80211_get_bss() function to take a new enum ieee80211_bss_type argument with the valid network types, as "capa_mask" and "capa_val" no longer work correctly (the search must be band-aware now.) The remaining bits in "capa_mask" and "capa_val" are used only for privacy matching so replace those two with a privacy enum as well. Signed-off-by: Dedy Lansky <dlansky@xxxxxxxxxxxxxx> [rewrite commit log, tiny fixes] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6e0050ec8e909a5ed7d062552cd4fd223d286687 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Mon Mar 2 16:01:58 2015 +0000 spi: img-spfi: Remove udelay in soft reset Removing the udelay between setting and clearing the soft reset bit in the spfi control register as it is not required. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 269bd1324fbfaa52832bb3efe9f5105c9146a33a Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Mar 2 04:00:44 2015 -0300 [media] media: adv7604: improve usage of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify accordingly. Moreover use devm_gpiod_get_index_optional instead of devm_gpiod_get_index with ignoring all errors. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 48ab45adcccc0835ac2a09805f3f9dff6b073b6c Author: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Date: Wed Feb 25 13:47:34 2015 -0300 [media] cx18: Fix bytes_per_line Current GStreamer userspace respects the bytes_per_line from the driver. Set it to something reasonable for the format chosen. Signed-off-by: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ac0b2b3072bf81c2047beb39f1db7a7d745f2f99 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Tue Feb 24 15:25:00 2015 -0300 [media] media: omap/omap_vout: fix type of input members to omap_vout_setup_vrfb_bufs() the declaration for omap_vout_setup_vrfb_bufs() said it needed 'u32 static_vrfb_allocation' but definition took 'bool static_vrfb_allocation', this patch fixes the declaration so that it matches with the definition and pass a bool instead of int to the call, also included omap_vout_vrfb.h in omap_vout_vrfb.c file so that sparse doesn't complain of making omap_vout_setup_vrfb_bufs() as static function. 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 bb057a791e4e3020b991956781669ff284fd3db6 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Mar 3 05:47:29 2015 -0300 [media] DocBook media: fix typos in YUV420M description NV12M -> YUV420M YVU420M -> YUV420M Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 460eac3fee0e9acf27ed11a2acccdbd754213a23 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Mon Mar 2 12:22:19 2015 -0300 [media] media: i2c: ths7303: drop module param debug this patch drops module param 'debug' as it was never used. 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 c3718de559294649fc20dbd28b0db04dbf24e857 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Mon Mar 2 11:54:07 2015 -0300 [media] media: drop call to v4l2_device_unregister_subdev() These drivers are moved to support asynchronous probing, v4l2_async_unregister_subdev() unregisters the subdev so there isn't a need to explicitly call v4l2_device_unregister_subdev(). 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 1fe0fbd69aa316c1846d58857756652134fc5311 Author: Gilles Risch <gilles.risch@xxxxxxxxx> Date: Sun Mar 1 17:11:05 2015 -0300 [media] Basic support for the Elgato EyeTV Hybrid INT 2008 USB Stick This patch will add basic support for the Elgato EyeTV Hybrid INT 2008 USB Stick. Signed-off-by: Gilles Risch <gilles.risch@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 03983e5db14be1478bb14f256be7adf9849f2f84 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Fri Feb 27 08:42:23 2015 -0300 [media] v4l2: remove unused including <linux/version.h> Remove including <linux/version.h> that don't need it. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 41071bb8c78e4d0b36c51c71b6620d74cb7e2ceb Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Thu Feb 26 19:33:13 2015 -0300 [media] media: au0828 - embed vdev and vbi_dev structs in au0828_dev Embed video_device structs vdev and vbi_dev in au0828_dev. With this change, dynamic allocation and error path logic in au0828_analog_register() is removed as it doesn't need to allocate and handle allocation errors. Unregister path doesn't need to free the now static video_device structures, hence, changed video_device.release in au0828_video_template to point to video_device_release_empty. Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5036d61e0bed3f4f51391a145638b426825e69c Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Tue Feb 24 10:00:29 2015 -0300 [media] media: au0828: drop vbi_buffer_filled() and re-use buffer_filled() The vbi_buffer_filled() and buffer_filled() did the same functionality except for incrementing the buffer sequence, this patch drops the vbi_buffer_filled() and re-uses buffer_filled() for vbi buffers as well by adding the check for vb2-queue type while incrementing the sequence numbers. Along side this patch aligns the input parameters of buffer_filled() function appropriately. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Acked-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 48205533bab78ffb504af3baf783c8f46942c16d Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Tue Feb 24 01:47:32 2015 -0300 [media] drivers: media: i2c : s5c73m3: Replace dev_err with pr_err Replace dev_err statement with pr_err to fix null dereference. Found by Coccinelle. Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ee5a81df57ea3a19a5e306fdf8244ab696c8916 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 25 18:27:19 2015 +0200 drm: rcar-du: Fix race condition in hardware plane allocator The plane allocator has been inherently racy since the beginning of the transition to atomic updates, as the allocator lock is released between free plane check (at .atomic_check() time) and the reservation (at .atomic_update() time). To fix it, create a new allocator solely based on the atomic plane states without keeping any external state and perform allocation in the .atomic_check() handler. The core idea is to replace the free planes bitmask with a collective knowledge based on the allocated hardware plane(s) for each KMS plane. The allocator then loops over all plane states to compute the free planes bitmask, allocates hardware planes based on that bitmask, and stores the result back in the plane states. For this to work we need to access the current state of planes not touched by the atomic update. To ensure that it won't be modified, we need to lock all planes using drm_atomic_get_plane_state(). This effectively serializes atomic updates from .atomic_check() up to completion, either when swapping the states if the check step has succeeded, or when freeing the states if the check step has failed. Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 48596d502e93a62fd1adab42b0a923709cd1c115 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 16:55:56 2015 +0200 drm: rcar-du: Move group locking inside rcar_du_crtc_update_planes() Only the planes to CRTCs association control register DPTSR needs to be protected by custom locking, don't hold the mutex around the whole code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 52055bafa1ffcd24525f72f5bc35bc14eae1c449 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 01:39:13 2015 +0200 drm: rcar-du: Move plane commit code from CRTC start to CRTC resume As the DRM core will commit plane states when performing atomic updates, those don't need to be committed manually when the CRTC is started except in the system resume code path. However, the atomic plane commit step is currently performed between mode set disable and mode set enable to mimick the legacy mode setting operations order. This causes the device clocks to be disabled after applying plane settings and reenabled when enabling the CRTC, potentially losing hardware in between. Reorder the operations to enable the CRTC first and only then apply plane settings, removing the need to manage clocks in the atomic begin and flush handlers. We can then move the plane state commit code out of the CRTC start handler to the system resume handler. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 5bfcbce0eaeb884e258648e5ceb74a61cfb80f3c Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 02:59:35 2015 +0200 drm: rcar-du: Move plane format to plane state The format stored in the rcar_du_plane structure is part of the plane state. Move it to the rcar_du_plane_state structure and precompute it in the .atomic_check() handler. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 53dff601790ebc3d4caffef12b2c4754f5886c64 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 03:20:39 2015 +0200 drm: rcar-du: Remove unneeded rcar_du_crtc plane field The rcar_du_crtc plane field is only used to check for an error that can't occur. Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 47094194f070a5099854141bdbd54eae68e5ffd5 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sun Feb 22 19:24:59 2015 +0200 drm: rcar-du: Replace plane crtc and enabled fields by plane state The crtc and enabled fields duplicates information stored in the plane state. Use the plane state instead and remove the fields. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f398f344eb59cd9803091ee08bee77b4e473971e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 01:25:19 2015 +0200 drm: rcar-du: Rework plane setup code Now that the plane setup code isn't called outside of the plane implementation, it can be simplified by merging the rcar_du_plane_compute_base() and rcar_du_plane_update_base() functions. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 4407cc02c9251b0ce6bad3718211353a7dba93ef Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 02:36:31 2015 +0200 drm: rcar-du: Switch plane set_property to atomic helpers Allow setting up plane properties atomically using the plane set_property atomic helper. The properties are now stored in the plane state (requiring subclassing it) and applied when updating the planes. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit d5746642f480c134e8e76a3104b987c08f790283 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 01:04:21 2015 +0200 drm: rcar-du: Switch page flip to atomic helpers The atomic page flip helper implements the page flip operation using asynchronous commits. As the legacy page flip was the last CRTC operation that needed direct access to plane setup, the plane setup functions can now become private to the plane implementation. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 8d3f9b22891acbc1fd06df80c62f5ac0e3b3d3a5 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 01:02:15 2015 +0200 drm: rcar-du: Implement asynchronous commit support Implement a custom .atomic_commit() handler that supports asynchronous commits using a work queue. This can be used for userspace-driven asynchronous commits, as well as for an atomic page flip implementation. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit ede7714f2e5ee1c7032d2865f6cc73158ff39f45 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sun Feb 22 21:02:39 2015 +0200 drm: rcar-du: Replace encoder mode_fixup with atomic_check The encoder .mode_fixup() operation is legacy, atomic updates uses the new .atomic_check() operation. Convert the encoders drivers. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f348323240b63f351b4ade84d75150e09fb9ff32 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sun Feb 22 01:49:11 2015 +0200 drm: rcar-du: Switch connector DPMS to atomic helpers The atomic connector DPMS helper implements the connector DPMS operation using atomic commit, removing the need for DPMS helper operations on CRTCs and encoders. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit cf1cc6f24941bea868172120082fa2c4e11eb3a4 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 15:16:55 2015 +0200 drm: rcar-du: Switch mode config to atomic helpers This removes the legacy mode config code. The CRTC and encoder prepare and commit operations are not used anymore, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 336d04a18018c34f9a2cfd0adb24c3f8b7bedc45 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 13:18:56 2015 +0200 drm: rcar-du: Switch plane update to atomic helpers This removes the legacy plane update code. Wire up the default atomic check and atomic commit mode config helpers as needed by the plane update atomic helpers. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit beff155a7eae6d376b391de5e95fd91d23664397 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 14:05:21 2015 +0200 drm: rcar-du: Rework CRTC enable/disable for atomic updates When using atomic updates the CRTC .enable() and .disable() helper operations are preferred over the (then legacy) .prepare() and .commit() operations. Implement .enable() and rework .disable() to not depend on DPMS, easing DPMS removal later on. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 58706b88c4a8f7423be3e521b457fdb88516aa30 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 14:05:21 2015 +0200 drm: rcar-du: Rework HDMI encoder enable/disable for atomic updates When using atomic updates the encoder .enable() and .disable() helper operations are preferred over the (then legacy) .prepare() and .commit() operations. Implement .enable() and .disable() and rework .prepare(), .commit() and .dpms() as wrappers around .enable() and .disable(), easing their future removal. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f6638b6abc298a9d4a13492a4d918e3c4ced3109 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 14:05:21 2015 +0200 drm: rcar-du: Rework encoder enable/disable for atomic updates When using atomic updates the encoder .enable() and .disable() helper operations are preferred over the (then legacy) .prepare() and .commit() operations. Implement .enable() and .disable() and rework .prepare(), .commit() and .dpms() as wrappers around .enable() and .disable(), easing their future removal. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 44ef7ed5ac94ac823c0efce4c2fb6ab809c8a838 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 14:59:58 2015 +0200 drm: rcar-du: Replace LVDS encoder DPMS by enable/disable The LVDS encoder doesn't support DPMS states, replace the DPMS operation by enable/disable to avoid propagating DPMS states down to the encoder code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 287bdf03033709becec8b7d4a38f044939946abd Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 15:58:38 2015 +0200 drm: rcar-du: Remove private copy of plane size and position The plane source and destination size and positions are stored in the plane state, and a private copy is kept in the rcar_du_plane objects. Remove the private copy as it just duplicates the state. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 3e8da87d0c04e585f4af0f223376128f923cf7bc Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 11:30:59 2015 +0200 drm: rcar-du: Wire up atomic state object scaffolding Hook up the default .reset(), .atomic_duplicate_state() and .atomic_free_state() helpers to ensure that state objects are properly created and destroyed, and call drm_mode_config_reset() at init time to create the initial state objects. Framebuffer reference count also gets maintained automatically by the transitional helpers except for the legacy page flip operation. Maintain it explicitly there. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 845f46356ba490b654194b8d5c26032841719a78 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 15:47:27 2015 +0200 drm: rcar-du: Handle primary plane config through atomic plane ops Use the new CRTC atomic transitional helpers drm_helper_crtc_mode_set() and drm_helper_crtc_mode_set_base() to implement the CRTC .mode_set and .mode_set_base operations. This delegates primary plane configuration to the plane .atomic_update and .atomic_disable operations, removing duplicate code from the CRTC implementation. There is now no code path available to the driver in which to drop the reference to the CRTC acquired in the .prepare() operation if an error then occurs. The driver thus now leaks a reference if an error occurs during mode set. So be it, this will be fixed in a further step of the atomic update transition. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 920888a2d56f0ef7117bf3456cacb49c6801d8de Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 12:18:05 2015 +0200 drm: rcar-du: Implement planes atomic operations Implement the CRTC .atomic_begin() and .atomic_flush() operations, the plane .atomic_check(), .atomic_update() and operations, and use the transitional atomic helpers to implement the plane update and disable operations on top of the new atomic operations. The plane setup code can't be moved out of the CRTC start function completely yet, as the atomic code paths are not taken every time the CRTC needs to be started. This results in some code duplication that will be fixed after switching to atomic updates completely. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 3f845f3c4cf4212bb4cbc8c06344d095cbb16bdd Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sat Feb 21 18:45:26 2015 -0300 [media] saa7164: free_irq before pci_disable_device Free the IRQ before disabling the device. Otherwise errors like this when unloading the module: [21135.458560] ------------[ cut here ]------------ [21135.458569] WARNING: CPU: 4 PID: 1696 at /home/apw/COD/linux/fs/proc/generic.c:521 remove_proc_entry+0x1a1/0x1b0() [21135.458572] remove_proc_entry: removing non-empty directory 'irq/47', leaking at least 'saa7164[0]' Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Steven Toth <stoth@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3053460482af5f43d6967f34c8497a615969e604 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 25 18:38:25 2015 +0200 drm: rcar-du: Fix hardware plane allocation The hardware plane allocator loops over all planes to find free candidates. However, instead of looping over the number of hardware planes, it loops over the number of software planes, which happens to be larger by one unit. This has no effect in practise as the extra plane is always cleared in the mask of free planes, but it should still be fixed for correctness. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 917de180379da229c8c37fa790b76d0353576581 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Feb 17 18:34:17 2015 +0200 drm: rcar-du: Implement universal plane support Explicitly create the CRTC primary plane instead of relying on the core helpers to do so. This simplifies the plane logic by merging the KMS and software planes. Reject plane API operations on the primary planes for now, as that code will anyway be refactored when implementing support for atomic updates. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit a64b9c7e56590248445ee23f835309ede500d019 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 25 18:21:12 2015 +0200 drm: rcar-du: Define macros for the max number of groups, CRTCs and LVDS Let's avoid magic constants. Beside increasing code readability, it will also ensure that no location will be forgotten when raising the maximum number of groups, CRTCs or LVDS encoders Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 931b7336214bec8538babfde5eaa6833e179c804 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Feb 24 03:51:26 2015 +0200 drm: rcar-du: Disable fbdev emulation when no connector is present fbdev emulation requires at least one connector, and will fail to initialize if no connector has been successfully instantiated. Disable it in that case and print an informational message instead of failing probe with a confusing fbdev emulation error message. It could be argued that probe should fail when no connector is present, but the DU could still be useful in that case with the to-be-implemented memory write-back support. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 0cd90a542885a1272b58f96bbe4010588105e1bc Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 13:14:46 2015 +0200 drm: rcar-du: Turn vblank on/off when enabling/disabling CRTC The DRM core vblank handling mechanism requires drivers to forcefully turn vblank reporting off when disabling the CRTC, and to restore the vblank reporting status when enabling the CRTC. Implement this using the drm_crtc_vblank_on/off helpers. When disabling vblank we must first wait for page flips to complete, so implement page flip completion wait as well. Finally, drm_crtc_vblank_off() must be called at startup to synchronize the state of the vblank core code with the hardware, which is initially disabled. This is performed at CRTC creation time, requiring vertical blanking to be initialized before creating CRTCs. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 36693f3c3254d9361095f6b225d5e69bd8da5c32 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 13:21:56 2015 +0200 drm: rcar-du: Wait for page flip completion when turning the CRTC off Turning a CRTC off will prevent a queued page flip from ever completing, potentially confusing userspace. Wait for queued page flips to complete before turning the CRTC off to avoid this. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 17f6b8a0270f7a40b3dbe07dbcb6cb7f67ce570a Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Feb 18 13:42:40 2015 +0200 drm: rcar-du: Reorder CRTC functions The next commit will need functions to be reordered to avoid forward declarations. Do it separately to help review. This only moves functions without any change to the code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 8b37c3264788a13861f318a8bfc7d73f0d0986ce Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 13:22:44 2015 +0200 drm: rcar-du: Don't set connector->encoder at init time The drm_connector encoder field points to the encoder driving the connector. No such association exists at init time, as all pipelines are disabled. Don't set the field. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit df78222d78f0f985ffb7917df4a058113e227561 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 22:35:52 2015 +0200 drm: rcar-du: Remove drm_fbdev_cma_restore_mode() call at init time The function is meant to restore the fbdev mode in the lastclose handler, not to be called at init time. Remove the call. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 0e211da8d83fafdd27b94d4f2a8f8d5b96b2a552 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Feb 20 17:46:14 2015 +0200 drm: rcar-du: Don't disable unused functions at init time All encoders and CRTCs start disabled, re-disabling them is a no-op. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f35593fdc8851aa28f6949bd48fe90653d383017 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Feb 20 15:12:54 2015 -0300 [media] saa7146: replace current->state by set_current_state() Use helper functions to access current->state. Direct assignments are prone to races and therefore buggy. current->state = TASK_RUNNING can be replaced by __set_current_state() Thanks to Peter Zijlstra for the exact definition of the problem. Suggested-By: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0cbfc065fe15a51e4f637888263ecf82057a6e00 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Feb 20 11:49:05 2015 +0100 bcma: gpio: enable GPIO IRQ domain on BCM5301X Just like on BCM47XX arch, BCM5301X also has ChipCommon with IRQ for GPIOs. Now we have interrupts working on BCM5301X we can finally make use of it. This has been successfully tested on 5 different devices (Buffalo, Luxul, Netgear). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 16f7031aeb63fc567c95bd2c3e431499defe2bf0 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Wed Feb 18 14:09:38 2015 -0600 ssb: Silence warning for unknown backplane revision When using a BCM4318 in a PCMCIA format, I get a startup message that the device uses backplane revision 0xF000000. Next a WARNING is logged. Despite the message, the device works fine, This patch silences the warning. Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2a19f7765bd90a56f3916a603e25b57b3b087480 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Sun Mar 1 17:48:33 2015 +0000 wil6210: increase cmd buffer size to avoid sscanf buffer overflow cppcheck detected a buffer overflow: [drivers/net/wireless/ath/wil6210/debugfs.c:634]: (error) Width 8 given in format string (no. 1) is larger than destination buffer 'cmd[8]', use %7s to prevent overflowing it. For the current %8s sscanf we require cmd to be 9 chars long so increase it by 1 byte to prevent the sscan overflow (rather than reduce the %8s specifier to %7s as cppcheck recommends). Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Acked-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 587945147cfe48c84dd92c022e25aad6d92c0da8 Author: Bandan Das <bsd@xxxxxxxxxx> Date: Mon Mar 2 17:51:10 2015 -0500 cgroup: Use kvfree in pidlist_free() The wrapper already calls the appropriate free function, use it instead of spinning our own. Signed-off-by: Bandan Das <bsd@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6e6dd08dd3202d735143c973b888572955603391 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:49 2015 +0530 ath9k: Fix issues in the main btcoex timer * ath9k_mci_update_rssi() is required only for cards that use MCI scheme. Make sure that it is not called for 3-wire cards. * Call ath9k_ps_wakeup() early since register accesses are made in ath9k_mci_update_rssi(). * Fix usage of btcoex_lock to handle no_stomp_timer. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c7266e99b1b0242496557b19a978d748e12a580b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:48 2015 +0530 ath9k: Handle timers for MCI Make sure that the btcoex timers are started/stopped properly for both 3-wire and MCI schemes. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 30b818989100830273c03439e363ff420c78e964 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:47 2015 +0530 ath9k: Fix wlan-active gpio for the AR9003 family When disabling BTCOEX, clearing the wlanactive gpio line is required only for pre-AR9003 cards. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e1ff147d878ab2b74621abc92a6902db94b2f6ab Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:46 2015 +0530 ath9k: Fix MCI scheme initialization Commit "ath9k_hw: remove ATH_BTCOEX_CFG_MCI" removed MCI as a separate coex scheme, but we need it to avoid fiddling with GPIO registers during ath9k_init_btcoex() that are meant only for 3-wire cards. Cc: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 510baea1e46da47bcaa5e93c664abd84ab6ee21a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:45 2015 +0530 ath9k: Initialize MCI state correctly The MCI configuration values are assigned in ath9k_hw_btcoex_init_mci() which are used by the MCI reset routine. When initializing BTCOEX/MCI, ath_mci_setup() ends up using uninitialized data. Fix this by setting up the configuration parameters before issuing a MCI reset. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 44b9b56e509508ceeaadd33da66df9d85e576d47 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Mar 1 11:53:44 2015 +0530 ath9k: Remove useless return value check ath_init_btcoex_timer() always returns 0, so checking for error conditions is not required. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 3f5fe2364836cf809b740a15cfe96270e6e9beae Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Thu Feb 26 04:34:01 2015 +0900 rtlwifi: rtl8192cu: Add case in rtl92cu_get_hw_reg Add HAL_DEF_WOWLAN case in rtl92cu_get_hw_reg Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bf97bf226ad9e23ccda91fbe803ab6ff69f6a5f3 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Feb 25 22:15:41 2015 +0530 mwifiex: do not initialize ext_scan in mwifiex_init_adapter Features which are device specific are already updated in interface specific initialization e.g. register_dev. We should not initialize them in mwifiex_init_adapter(); else this would overwrite earlier settings. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1114ce8f361f3ff880b28f508ba2b0995d1540bb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:24:51 2015 +0300 rtlwifi: rtl8188ee: missing curly braces in handle_branch1() From the indenting, it seems like the READ_NEXT_PAIR() was supposed to be inside the while loop. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit df905570bbf18139c0a437ec2f63bb33a03e9703 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 13:05:59 2015 +0100 rtlwifi: rtl8821ae: Remove duplicate hex prefixes The # flag in %X means print a 0X prefix. Remove the extra 0x prefix. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 809abdbf46377abe39a72884d026979bb1dbd6d3 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sat Feb 28 12:25:24 2015 -0300 [media] cx231xx: Hauppauge HVR-955Q ATSC/QAM tuner Hauppauge HVR-955Q is a ATSC/QAM USB tuner with LGDT3306A demodulator and SiLabs Si2157-A30 tuner. Only digital TV has been tested (both ATSC and QAM256). Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 97bf861572adacadc7a217487d77ba5c0be4b99d Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Feb 17 10:12:18 2015 +0100 ath9k: add per-vif TX power capability to TX path In order to add per-vif TX power capability cap per-packet TX power to vif configured power if the latter is lower than per-rate TX power and mac80211 per-frame power. Use vif TX power if TPC has been disabled for current the interface Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 283dd11994cde99447a6dac203d96c0800e85e82 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Feb 17 10:12:17 2015 +0100 ath9k: add per-vif TX power capability Configure the HW with highest TX power among all vif when HW TPC has been enabled in order to add support to per-vif TX power capability. Use lowest configured power among all interfaces when TPC is disabled Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c28aebe178a403f0e8632a283bc4d683b0c93e83 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sat Feb 28 12:25:23 2015 -0300 [media] si2157: IF frequency for ATSC and QAM For supporting ATSC and QAM modes the driver should use a smaller IF frequency than 5 MHz. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 95f22c5aaed3415ff4a2df6a1ff76b3127123430 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:40:20 2014 -0200 [media] lgdt3306a: Minor source code cleanups Fix a few minor CodingStyle issues at the source code: - Use proper multi-line comments; - Align the log tables; - Remove the .type from dvb_frontend_ops, since this is not needed anymore (since the drivers conversion to DVBv5); - Remove emacs format macro. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 534f4364f9baa14c8c1431c0584cf5a291d09d3c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:35:18 2014 -0200 [media] lgdt3306a: Break long lines Fix most of checkpatch warnings like: WARNING: line over 80 characters Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9369fe012d06c4a8775984609bc068e85bfeec8f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:30:44 2014 -0200 [media] lgdt3306a: constify log tables Ideally, we should be replacing this function by intlog10(). While we don't do that, let's at least constify the tables, in order to remove its code footfrint, and get rid of nelems. This also fixes a few 80-cols CodingStyle warnings. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c9897649db868dc7d42a92437534baa7bbe04044 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:07:52 2014 -0200 [media] lbdt3306a: remove uneeded braces WARNING: braces {} are not necessary for any arm of this statement + if (ret == 0) { [...] + } else { [...] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b4e43e959b45549a1d5341d89571fb4d8d03b736 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:05:35 2014 -0200 [media] lgdt3306a: Don't use else were not needed Get rid of the remaining checkpatch.pl warnings: WARNING: braces {} are not necessary for any arm of this statement Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b1a88c713a81705fd2a86d8d8404399f8acc76ba Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 12:00:48 2014 -0200 [media] lbdt3306a: simplify the lock status check The logic there is too complex and it looks like an inifite loop. So, simplify the logic and implement it as a for loop. This gets rid of the following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return + return LG3306_UNLOCK; + } else { WARNING: else is not generally useful after a break or return + return LG3306_UNLOCK; + } else { Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 097117cab5041cdd85aafc2a8af1113cbdf65e27 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 11:35:16 2014 -0200 [media] lbdt3306a: rework at printk macros Use pr_foo() where there's a direct replacement. For debug, use custom-made macros, for now, as there are 3 different debug levels. We should get rid of those some day, specially since several such macros can be just removed, as Kernel trace would provide about the same output. This gets rid of some checkpatch errors: WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ... +#define lg_info(fmt, arg...) printk(KERN_INFO "lgdt3306a: " fmt, ##arg) ERROR: Macros with complex values should be enclosed in parentheses +#define lg_dbg(fmt, arg...) if (debug & DBG_INFO) \ + lg_printk(KERN_DEBUG, fmt, ##arg) ERROR: Macros with complex values should be enclosed in parentheses +#define lg_reg(fmt, arg...) if (debug & DBG_REG) \ + lg_printk(KERN_DEBUG, fmt, ##arg) Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e2c47fa7dd4b38d930fe4131e65f0fa35236c9b5 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 11:27:34 2014 -0200 [media] lgdt3306a: Remove FSF address Fix this CodingStyle error: ERROR: Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so ag$ #56: FILE: drivers/media/dvb-frontends/lgdt3306a.c:19: + * along with this program; if not, write to the Free Software$ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ee0133eea0238067dab19587de7d88e4a3ea77e4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 11:21:48 2014 -0200 [media] lgdt3306a: properly handle I/O errors Fixes the following smatch errors: drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_set_if': drivers/media/dvb-frontends/lgdt3306a.c:695:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_monitor_vsb': drivers/media/dvb-frontends/lgdt3306a.c:1033:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_check_oper_mode': drivers/media/dvb-frontends/lgdt3306a.c:1082:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_check_lock_status': drivers/media/dvb-frontends/lgdt3306a.c:1109:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_check_neverlock_status': drivers/media/dvb-frontends/lgdt3306a.c:1185:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_pre_monitoring': drivers/media/dvb-frontends/lgdt3306a.c:1199:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ drivers/media/dvb-frontends/lgdt3306a.c: In function 'lgdt3306a_get_packet_error': drivers/media/dvb-frontends/lgdt3306a.c:1310:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a132fef816606ebe9d20895b1535582bfede12a4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 11:07:03 2014 -0200 [media] lgdt3306a: don't go past the buffer As warned by smatch: drivers/media/dvb-frontends/lgdt3306a.c:1354 log10_x1000() error: buffer overflow 'valx_x10' 14 <= 14 drivers/media/dvb-frontends/lgdt3306a.c:1355 log10_x1000() error: buffer overflow 'log10x_x1000' 14 <= 14 There's a potential of returning a value out of the buffer. Fix it. While here, remove the ugly braced block. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 15c546e1c896058ebffc437e609000b3bf394451 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 11:02:13 2014 -0200 [media] lgdt3306a: one bit fields should be unsigned Fix two smatch warnings: drivers/media/dvb-frontends/lgdt3306a.h:53:28: error: dubious one-bit signed bitfield drivers/media/dvb-frontends/lgdt3306a.h:56:33: error: dubious one-bit signed bitfield Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c43e6512058d21f8c2b73856cc2c7f32b032ccdc Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 10:56:10 2014 -0200 [media] lgdt3306a: Use IS_ENABLED() for attach function Simplify the check if CONFIG_DVB_LGDT3306A is enabled, use the IS_ENABLED() macro, just like the other frontend modules. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4937ba94a0b024b15711b7c184dc4e5a660d900c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 28 10:50:36 2014 -0200 [media] lgdt3306a: Use hexadecimal values in lowercase While this is not a mandatory rule at the CodingStyle, we prefer hexadecimal values in lowercase. Currently, there's a mix of lowercase and uppercase ons at lgdt3306a. So, convert all to lowercase with this small script: perl -ne 'if (m,0x([\dA-F]+),) { $o=$1; $n=lc $1; s,0x($o),0x$n, } print $_' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 34a5a2f8115620f91de0bf442cacc9fb9d92874d Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sat Oct 25 11:26:15 2014 -0300 [media] lgdt3306a: more small whitespace cleanups Just CodingStyle. No functional changes. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 831a91120a9399a061f0cb0a4562ecf7c83b3926 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sat Oct 25 11:20:57 2014 -0300 [media] lgdt3306a: typo fix fix WARNING: 'supress' may be misspelled - perhaps 'suppress'? Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cb4671c87f795c22a159507b0e47bea16da1ac26 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sat Oct 25 11:12:25 2014 -0300 [media] lgdt3306a: fix WARNING: please, no spaces at the start of a line Properly indent register initialization tables. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6da7ac985779937903ffb7147e3fe3ef33ff48f3 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sat Oct 25 11:05:05 2014 -0300 [media] lgdt3306a: fix ERROR: do not use C99 // comments Replace C99 comments by /* */ blocks. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f883d603d4ba0485529c733e7232249f0cc8c938 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sun Aug 3 15:29:04 2014 -0300 [media] lgdt3306a: do not add new typedefs We should not be using typedefs at the Kernel, as this makes harder for reviewers to understand the code. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ae21e447773f17b61014c286ed5e0fc3db874df6 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sun Aug 3 15:18:23 2014 -0300 [media] lgdt3306a: fix ERROR: do not use assignment in if condition Just CodingStyle fix. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ebd9175ea4c0b818cf14ef1074b5d5a93e57916a Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sun Aug 3 15:05:59 2014 -0300 [media] lgdt3306a: move EXPORT_SYMBOL to be just after function Fixes CodingStyle error: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c714efe458e72a84cf898074269d40a575034464 Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sun Aug 3 14:51:49 2014 -0300 [media] lgdt3306a: remove unnecessary 'else' No need for an else, as the previous if will return. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8e8cd34eaaf96c4bfc472ec0b4d6f7d3951c051f Author: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Date: Sun Jul 27 19:24:24 2014 -0300 [media] lgdt3306a: clean up whitespace & unneeded brackets No functional changes. Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b63b36fa44d0225de994a535307f941ca87fa908 Author: Fred Richter <frichter@xxxxxxxxxxxxx> Date: Mon Mar 24 19:56:00 2014 -0300 [media] DVB: add support for LG Electronics LGDT3306A ATSC/QAM-B Demodulator This ATSC/QAM-B demodulator is used by several new devices. Add support for it. Other patches will fix CodingStyle issues. Signed-off-by: Fred Richter <frichter@xxxxxxxxxxxxx> Signed-off-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit be1f8d31c93b770347b2cc9e2dd37189baf1177f Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 15:01:57 2015 +0200 rtlwifi: Remove unused RTL_SUPPORTED_CTRL_FILTER define Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit baeeb3ca934de66d2d2b60af7ecb75583614e58d Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 15:01:56 2015 +0200 rtlwifi: Remove unused defines from efuse.h Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 44a56d6c81d3b4603b01fbb41d5133ced69df2d2 Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 15:01:55 2015 +0200 rtlwifi: Remove unused defines from base.h Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8a09dd2ed2bc04d0f6204795f02407285f7df0d8 Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 15:01:54 2015 +0200 rtlwifi: Remove unused defines from cam.h Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6d4007fd6a4b750969e7a0454dd1c95088819d40 Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 15:01:53 2015 +0200 rtlwifi: Remove unused RF6052_MAX_REG define Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6e7c1baa973a6adf574b1ebaabde37800fb8379f Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 14:59:55 2015 +0200 rtlwifi: Remove unused defines from driver-specific def.h HAL_RETRY_LIMIT_* RESET_DELAY_8185 RT_IBSS_INT_MASKS RT_AC_INT_MASKS NUM_OF_* BT_*, MAX_{LINES,BYTES}_*, *_THREE_WIRE *_QUEUE related Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b4926aff3ecea71486d4e3dc25964e8c588753d4 Author: Priit Laes <plaes@xxxxxxxxx> Date: Mon Feb 16 14:59:54 2015 +0200 rtlwifi: Remove unused defines from rtl8192cu driver Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2264fc857decd45798368f46861d9aecac23546f Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Mar 3 07:32:57 2015 +0100 bcma: add missing includes kbuild found out that commit 804e27dee49e ("bcma: support bringing up bus hosted on PCIe Gen 2") broke the build on m68k: drivers/bcma/driver_pcie2.c: In function 'bcma_core_pcie2_up': >> drivers/bcma/driver_pcie2.c:196:2: error: implicit declaration of function 'pcie_set_readrq' [-Werror\ =implicit-function-declaration] err = pcie_set_readrq(dev, pcie2->reqsize); ^ cc1: some warnings being treated as errors Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d5c00762ec5db2f7a7c0b54415b7df364c78d39d Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Feb 23 15:20:22 2015 -0300 [media] media: fix gspca drivers build dependencies Several (15) drivers in media/usb/gspca use IF_ENABLED(CONFIG_INPUT) to decide if they should call input* interfaces, but those drivers do not build successfully when CONFIG_INPUT=m and the gspca drivers are builtin (=y). Making USB_GSPCA depend on INPUT || INPUT=n fixes the build dependencies and allows all of them to build cleanly. Fixes these build errors (selections, not all are listed): drivers/built-in.o: In function `gspca_disconnect': (.text+0x32ed0f): undefined reference to `input_unregister_device' drivers/built-in.o: In function `sd_isoc_irq': konica.c:(.text+0x333098): undefined reference to `input_event' konica.c:(.text+0x3330ab): undefined reference to `input_event' drivers/built-in.o: In function `sd_stopN': konica.c:(.text+0x3338d3): undefined reference to `input_event' konica.c:(.text+0x3338e5): undefined reference to `input_event' drivers/built-in.o: In function `ov51x_handle_button': ov519.c:(.text+0x335ddb): undefined reference to `input_event' drivers/built-in.o:ov519.c:(.text+0x335ded): more undefined references to `input_event' follow pac7302.c:(.text+0x336ea1): undefined reference to `input_event' pac7302.c:(.text+0x336eb3): undefined reference to `input_event' drivers/built-in.o: In function `sd_pkt_scan': spca561.c:(.text+0x338fd8): undefined reference to `input_event' drivers/built-in.o:spca561.c:(.text+0x338feb): more undefined references to `input_event' follow t613.c:(.text+0x33a6fd): undefined reference to `input_event' drivers/built-in.o:t613.c:(.text+0x33a70f): more undefined references to `input_event' follow Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8e48a2d54c5d74ea3e9dc4c3b9037786bb447f36 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 19 06:47:16 2015 -0300 [media] soc-camera: Fix devm_kfree() in soc_of_bind() Unlike scan_async_group(), soc_of_bind() doesn't allocate its soc_camera_async_client structure using devm_kzalloc(), but has it embedded inside the soc_of_info structure. Hence on failure, it must free the whole soc_of_info structure, and not just the embedded soc_camera_async_client structure, as the latter causes a warning, and may cause slab corruption: soc-camera-pdrv soc-camera-pdrv.0: Probing soc-camera-pdrv.0 ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1 at drivers/base/devres.c:887 devm_kfree+0x30/0x40() CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.19.0-shmobile-08386-g37feb0d093cb2d8e #128 Hardware name: Generic R8A7791 (Flattened Device Tree) Backtrace: [<c0011e7c>] (dump_backtrace) from [<c0012024>] (show_stack+0x18/0x1c) r6:c05a923b r5:00000009 r4:00000000 r3:00204140 [<c001200c>] (show_stack) from [<c048ed30>] (dump_stack+0x78/0x94) [<c048ecb8>] (dump_stack) from [<c002687c>] (warn_slowpath_common+0x8c/0xb8) r4:00000000 r3:00000000 [<c00267f0>] (warn_slowpath_common) from [<c0026980>] (warn_slowpath_null+0x24/0x2c) r8:ee7d8214 r7:ed83b810 r6:ed83bc20 r5:fffffffa r4:ed83e510 [<c002695c>] (warn_slowpath_null) from [<c025e0cc>] (devm_kfree+0x30/0x40) [<c025e09c>] (devm_kfree) from [<c032bbf4>] (soc_of_bind.isra.14+0x194/0x1d4) [<c032ba60>] (soc_of_bind.isra.14) from [<c032c6b8>] (soc_camera_host_register+0x208/0x31c) r9:00000070 r8:ee7e05d0 r7:ee153210 r6:00000000 r5:ee7e0218 r4:ed83bc20 [<c032c4b0>] (soc_camera_host_register) from [<c032e80c>] (rcar_vin_probe+0x1f4/0x238) r8:ee153200 r7:00000008 r6:ee153210 r5:ed83bc10 r4:c066319c r3:000000c0 [<c032e618>] (rcar_vin_probe) from [<c025c334>] (platform_drv_probe+0x50/0xa0) r10:00000000 r9:c0662fa8 r8:00000000 r7:c06a3700 r6:c0662fa8 r5:ee153210 r4:00000000 [<c025c2e4>] (platform_drv_probe) from [<c025af08>] (driver_probe_device+0xc4/0x208) r6:c06a36f4 r5:00000000 r4:ee153210 r3:c025c2e4 [<c025ae44>] (driver_probe_device) from [<c025b108>] (__driver_attach+0x70/0x94) r9:c066f9c0 r8:c0624a98 r7:c065b790 r6:c0662fa8 r5:ee153244 r4:ee153210 [<c025b098>] (__driver_attach) from [<c025984c>] (bus_for_each_dev+0x74/0x98) r6:c025b098 r5:c0662fa8 r4:00000000 r3:00000001 [<c02597d8>] (bus_for_each_dev) from [<c025b1dc>] (driver_attach+0x20/0x28) r6:ed83c200 r5:00000000 r4:c0662fa8 [<c025b1bc>] (driver_attach) from [<c025a00c>] (bus_add_driver+0xdc/0x1c4) [<c0259f30>] (bus_add_driver) from [<c025b8f4>] (driver_register+0xa4/0xe8) r7:c0624a98 r6:00000000 r5:c060b010 r4:c0662fa8 [<c025b850>] (driver_register) from [<c025ccd0>] (__platform_driver_register+0x50/0x64) r5:c060b010 r4:ed8394c0 [<c025cc80>] (__platform_driver_register) from [<c060b028>] (rcar_vin_driver_init+0x18/0x20) [<c060b010>] (rcar_vin_driver_init) from [<c05edde8>] (do_one_initcall+0x108/0x1b8) [<c05edce0>] (do_one_initcall) from [<c05edfb4>] (kernel_init_freeable+0x11c/0x1e4) r9:c066f9c0 r8:c066f9c0 r7:c062eab0 r6:c06252c4 r5:000000ad r4:00000006 [<c05ede98>] (kernel_init_freeable) from [<c048c3d0>] (kernel_init+0x10/0xec) r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c048c3c0 r4:00000000 [<c048c3c0>] (kernel_init) from [<c000eba0>] (ret_from_fork+0x14/0x34) r4:00000000 r3:ee04e000 ---[ end trace e3a984cc0335c8a0 ]--- rcar_vin e6ef1000.video: group probe failed: -6 Fixes: 1ddc6a6caa94e1e1 ("[media] soc_camera: add support for dt binding soc_camera drivers") Cc: <stable@xxxxxxxxxxxxxxx> # 3.17+ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2f119c7895af56ca26b8e94f4650145a4b1b0d12 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Fri Feb 6 10:59:53 2015 +0100 iommu/vt-d: Convert non-returned local variable to boolean when relevant This patch was produced using Coccinelle. A simplified version of the semantic patch is: @r exists@ identifier f; local idexpression u8 x; identifier xname; @@ f(...) { ...when any ( x@xname = 1; | x@xname = 0; ) ...when any } @bad exists@ identifier r.f; local idexpression u8 r.x expression e1 != {0, 1}, e2; @@ f(...) { ...when any ( x = e1; | x + e2 ) ...when any } @depends on !bad@ identifier r.f; local idexpression u8 r.x; identifier r.xname; @@ f(...) { ... ++ bool xname; - int xname; <... ( x = - 1 + true | x = - -1 + false ) ...> } Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e6d72d20519c5d4941ed91d03edadd133d277e08 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Feb 19 10:49:40 2015 -0300 [media] DocBook media: fix xvYCC601 documentation The documentation of the xvYCC601 Y'CbCr encoding was part of the SMPTE 170M (SDTV) colorspace, but it should have been part of the Rec. 709 (HDTV) colorspace as per the xvYCC standard. This change only affects the documentation and not any code. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ef2e1a4410e3debf159c5b41836a301ac8ffbcdb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Tue Mar 3 02:39:36 2015 -0500 staging/lustre/llite: Fix obd name after c&p error commit 95745e9b1de2 ("staging: lustre: Use kasprintf.") introduced a copy and paste error causing two different obd types to be assigned same content causing lustre to fail on mount with a warning from procfs followed by a bizzare error about OST not having enough MDS capabilities. This patch unbreaks Lustre client again. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> CC: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> CC: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f890caba6ddb8d72d485e94df74cfa7626ccb0f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:50:01 2015 +0530 ath9k: Mute BT properly Set The BT/WLAN priority weights correctly and make sure that MCI_LNA_TAKE is sent only for cards that share PA/LNA. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ad1dc638725d7c5cc96a1b4556f456c303a553c7 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:50:00 2015 +0530 ath9k: Fix GPM initialization Handle MCI_STATE_INIT_GPM_OFFSET separately and do not overload ar9003_mci_get_next_gpm_offset() with a special case. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bc80d526d30208a4aad87a694209572ba6c5877a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:59 2015 +0530 ath9k: Prepare MCI interface correctly The LNA_TRANS message needs to be sent only for chips which have shared PA/LNA. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4d9f7c68b78d99d7972572fd77c41cab15225381 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:58 2015 +0530 ath9k: Setup MCI statistics properly Use a subroutine to enable MCI debug statistics if it is present in the global configuration. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d808ecd8743c0254981591bd086951d08245267f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:57 2015 +0530 ath9k: Fix MCI TX control This patch makes sure that the antenna configuration is used properly when setting AR_MCI_TX_CTRL. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e18e164e9af5e80897b0eea19f22ea2a086f36b6 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:56 2015 +0530 ath9k: Handle 2-ANT AR9565 in MCI reset The value programmed in the BTCOEX control register is different for each chip. This patch adds support for 2-ANT, 1-ANT solutions based on AR9565. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d1d07813bb3e2e79c6e8a026d908a3482ebd7a17 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:55 2015 +0530 ath9k: Add new MCI configuration parameters Several new MCI parameters need to be handled for new chips, add them. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7d1805e194dc9916dceb683f9763bf7cd7d68c20 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:54 2015 +0530 ath9k: Remove useless check in MCI reset If we fail to allocate the sched/gpm buffers when initializing MCI, we bail out properly. Checking them in ar9003_mci_reset() is unnecessary, so remove it. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ae55099f5b6f79ec88a91af3dae3f6cdfec92303 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 10:49:53 2015 +0530 ath9k: Move MCI registers to reg_mci.h Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 25efdcb43c9ed43ae342585d26f8338c3ade97d2 Merge: 023a600 a858b5e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 13:53:16 2015 +0100 Merge tag 'intel_microcode_cleanup_p1' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/microcode Pull x86 microcode loader code cleanups from Borislav Petkov: "The first part of the scrubbing of the intel early microcode loader. There's more work to come but let's unload this pile first." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ff5e56859d3887eca6479d2868521126a83ceda1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Mar 3 11:58:13 2015 +0100 iwlegacy: 4965-rs: Remove bogus colon after newline from debug message Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a437b3d928feb325db28f13aeedff5b6a2d2a3b4 Merge: 9b6cc9a 190f102 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Mar 3 13:49:36 2015 +0200 Merge tag 'iwlwifi-next-for-kalle-2015-03-01' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * add triggers for firmware dump collection * remove support for -9.ucode * new statitics API * rate control improvements commit 6d4d1984df1ca6347414b9d8fa4783f548ee4cc8 Merge: 023a600 04769ae Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 12:14:58 2015 +0100 Merge tag 'tip_x86_kernel' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/debug Pull x86 debugging updates from Borislav Petkov: "Two small fixes to the stack dumper, a cleanup and sustaining the previous log level after a newline. (Adrien Schildknecht)" Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ae486033b980346eb6a77240101210cb66924a91 Merge: f353e61 110d7f7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 12:12:15 2015 +0100 Merge tag 'tip_x86_fpu' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/fpu Pull x86/fpu updates from Borislav Petkov: "Three more cleanups/improvements to the FPU handling code. (Oleg Nesterov)" Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d56db741b8e688a0b9d4d5bb9caa11dfcb7c0b08 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 23:25:35 2015 +0100 ALSA: hda - Release resources in device release callback Move the destructor code to device release callback for the codec object instead. This is a safer place to release the resources than dev_free callback in general. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2f35c630f7d49efdef29b58d81ed2531ddd916d9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 22:43:26 2015 +0100 ALSA: hda - Use standard workqueue for unsol and jack events The events that are handled by HD-audio drivers are no frequent and urgent ones, so we can use the standard workqueue without any problem nowadays. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bcd96557bd0ab1129fcdde073d5700aed8fcb942 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 20:44:54 2015 +0100 ALSA: hda - Build PCMs and controls at codec driver probe This makes the code flow easier -- instead of the controller driver calling snd_hda_build_pcms() and snd_hda_build_controls() explicitly, the codec driver itself builds PCMs and controls at probe time. Then the controller driver only needs to call snd_card_register(). Also, this allows us the full bind/unbind control, too. Even when a codec driver is bound later, it automatically registers the new PCM and controls by itself. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9a6246ff78ac33af78f82704cde6fec361597eea Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 18:17:28 2015 +0100 ALSA: hda - Implement unbind more safely Now we have all pieces ready, and put them into places: - add the hda_pcm refcount to azx_pcm_open() and azx_pcm_close(), - call the most of cleanup code in hda_codec_reset() from the codec driver remove, - call the same code also from the hda_codec object free. Then the codec driver can be unbound more safely now. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e086e3035e0691b362755d1b5e24df631eee335a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 18:01:22 2015 +0100 ALSA: core: Re-add snd_device_disconnect() Revive snd_device_disconnect() again so that it can be called from the individual driver. This time, HD-audio will need it. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 61ca4107a16828559e2463e49b87002990da0b98 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 17:57:55 2015 +0100 ALSA: hda - Don't assume non-NULL PCM ops The PCM ops might be set NULL, or cleared to NULL when the driver is unbound. Give a proper NULL check at each place to be more robust. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bbbc7e8502c95237dbd86cc4d0a12ca9a6b18c8f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 17:43:19 2015 +0100 ALSA: hda - Allocate hda_pcm objects dynamically So far, the hda_codec object kept the hda_pcm list in an array, and the codec driver was expected to assign the array. However, this makes the object life cycle management harder, because the assigned array is freed at the codec driver detach while it might be still accessed by the opened streams. In this patch, we allocate each hda_pcm object dynamically and manage it as a linked list. Each object has a kref refcount, and both the codec driver binder and the PCM open/close touches it, so that the object won't be freed while in use. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f4de8fe6cffb449a779dff61f071bd1af9e18e0f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 16:17:18 2015 +0100 ALSA: hda - Remove superfluous memory allocation error messages The memory allocators should have already given the kernel warning messages, thus we don't have to annoy again. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6efdd8513f182492c21fb7238592d4539d5c751a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 27 16:09:22 2015 +0100 ALSA: hda - Add card field to hda_codec struct Allow the codec object to have an individual card pointer. Not only this simplifies the redirections in many places, also this will allow us to make each codec assigned to a different card object. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1a4ba30cced3002add8459eadcd65b8d3cd1515e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 24 11:50:11 2015 +0100 ALSA: hda - Split snd_hda_build_pcms() snd_hda_build_pcms() does actually three things: let the codec driver build up hda_pcm list, set the PCM default values, and call the attach_pcm bus ops for each hda_pcm instance. The former two are basically independent from the bus implementation, so it'd make the code a bit more readable. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e8361f70a85c3ecd8d5b971d4d8abcbb0f8586de Author: Stefan Agner <stefan@xxxxxxxx> Date: Tue Mar 3 00:28:31 2015 +0100 spi: spi-imx: use correct enumeration type The fourth argument of dmaengine_prep_slave_sg needs to be of the enumeration type dma_transfer_direction instead of dma_data_direction. Since the used enumeration values actually stay the same, this is not an actual issue at runtime. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 74005991b78a0a7a6546004fb37d33a651c613e7 Author: Fan Du <fan.du@xxxxxxxxx> Date: Tue Jan 27 17:00:29 2015 +0800 xfrm: Do not parse 32bits compiled xfrm netlink msg on 64bits host structure like xfrm_usersa_info or xfrm_userpolicy_info has different sizeof when compiled as 32bits and 64bits due to not appending pack attribute in their definition. This will result in broken SA and SP information when user trying to configure them through netlink interface. Inform user land about this situation instead of keeping silent, the upper test scripts would behave accordingly. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit ce458fcfcbaff08a1597f72f9c26e9a776ca934b Author: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Date: Tue Feb 24 06:58:54 2015 +0000 i40e/i40evf: Bump versions Bump i40e to 1.2.10 and i40evf to 1.2.4 Change-ID: I48aa64df05fcc8356e7026f3a9e69ecf78d0c785 Signed-off-by: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fc51de96ed2f7fcefb99991200aac6710b769eba Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Tue Feb 24 06:58:53 2015 +0000 i40e: Only enable TC0 for NIC partition type In case of MFP mode the driver was returning incorrect number of TCs for partitions that are not enabled for iSCSI. Though the driver does not configure these TCs in the Tx scheduler for the NIC partitions; it does use this map to setup the queue mappings. This patch fixes this and keeps all the NIC partitions to the default PF TC i.e. TC0. Change-ID: Iede214c907e7bac1356e999049b9f642759512b3 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 15d504b9464c87821db1e56f6d6774eb4ea929ea Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Tue Feb 24 06:58:52 2015 +0000 i40e: Register DCBNL ops in MFP mode Allow DCBNL operations in MFP mode to allow query of port DCB settings via all the PFs and register iSCSI APP on iSCSI enabled PF. Change-ID: I34cc39b4665d0a631847d4079350d3814f02381e Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ed250ecc5546649e0d8a1b8f000594314a666547 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Feb 24 06:58:51 2015 +0000 i40evf: ethtool RSS fixes Add an extra check to make sure that the indirection table pointer is valid before dereferencing it. Change-ID: I698adbf3daff03081d01f489dc95a9f1ad8b12f1 Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 66ddcffb1afb009d352115a61e25c237915d9e04 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Feb 24 06:58:50 2015 +0000 i40e: Fix RSS size at init since default num queue calculation has changed With changes to default number of queue pairs that the interface comes up with from 1 per online CPU to 1 per lan_msix, we need to make sure we recalculate rss_size. We will now recalculate rss_size based on number of queues enabled in the VSI. Without this fix if the max_lan_msix < num_online_cpu we will be coming up with fewer queues but will be populating rss_size based on num_online_cpus. This will result in packets getting silently dropped because RSS LUT has queues that are not enabled. Change-ID: Ifac8796ce1be1758bb0c34f38dbf4a3a76621e76 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5db4cb59cdf1c4ce3c0fe8ecbcdb0f4694fe4986 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Feb 24 06:58:49 2015 +0000 i40e: Move RSS table size for VSIs to the VSI struct Since all VSIs don't have the same RSS table size, have one for each VSI instead of having a single define for RSS table size Change-ID: Ic2c7c66e4a389d4b6c8841a707510a9735041f02 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f8faaa40b4ca7f3486f8d2abdd524685e01e2a69 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Feb 24 06:58:48 2015 +0000 i40e/i40evf: Add missing packet types for VXLAN encapsulated packet types We were missing a few packet types for VXLAN offload. This patch fixes that. Change-ID: I4b23aa0b08e40ed49d0df6c49a5ed9f2009b44ce Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 750fcbcf18cabe0f44aba2f0bcfb39a31150fe10 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Tue Feb 24 06:58:47 2015 +0000 i40e: Fix issue with removal of apps from DBCNL app table This patch fixes an issue where the driver is not flushing out the DCBNL app table for applications that are not present in the local DCBX application configuration TLVs. Change-ID: I1f1ee04c81c145071b2ab15657546eb10b81fadb Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 025b4a545fc4ef99fb44b32842c6bc30d3690a3f Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Feb 24 06:58:46 2015 +0000 i40e: Add FW check to disable DCB and wrap autoneg workaround with FW check For FW < 4.33 DCB should be disabled. Also Autoneg workaround to avoid Rx stall is still needed for FW < 4.33. Change-ID: Iff36ad86be2f597e7701096014d6d094332a9a21 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9a3bd2f1e38e5f668200b5e720b4d87023f394d2 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Feb 24 06:58:44 2015 +0000 i40e: Enable more than 64 qps for the Main VSI When running in a single TC mode the HW can be configured to enable more than max RSS qps for the Main VSI. This patch makes it possible to enable as many as num_online_cpus(). ethtool -L can still be used to reconfigure number of qps to a smaller value. Change-ID: I3e2df085276982603d86dfd79477c0ada8d30b8f Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8f400824345969d18f8d10a0c5b681aa04211842 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Tue Feb 24 06:58:43 2015 +0000 i40e: don't disable PF LB when disabling VFs Since we now have functionality to enable and disable PF loopback at runtime, don't try to do it automatically. Removing this call also gets rid of a bogus error message when removing the PF module with VFs enabled. Change-ID: Ic38652d8a3b9498d96113bfaa5ea7bad050862e9 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 579b23d8dc4c9d9a87b58cecc9ffdf326aca7b28 Author: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Date: Tue Feb 24 06:58:42 2015 +0000 i40e: Add safety net for switch calling This patch adds default case to handle unmatched switch calls. Change-ID: Icd203570a1dc5322c1038f68b98a83195e8ad28c Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7edf810c61ce054afc8798178d829d2f139bb976 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Tue Feb 24 06:58:41 2015 +0000 i40e/i40evf: print FW build number in version string Include the FW build number in the formatted FW version string. In order to fit within ethtool's 32 character limit, the etrack's unused high order bits are trimmed as is the leading 0 for the NVM version. This leaves us with 2 character left for if/when the etrack id goes to 5 hex chars and the NVM major number goes to 2 chars. Change-ID: Icb004c4b9b14a2f54dd200b467fcc1d7b9297308 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d40d00b1c24d4ecf23b24cb8e16027839bb24a59 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Tue Feb 24 06:58:40 2015 +0000 i40e: Skip the priority tagging if DCB is not enabled If DCB is not enabled priority tagging is not needed so skip over that section. Change-ID: Ia3f3fa07945b421259a9ca38329d6d1cbd6c6bcc Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit eca3204765d1f5438d9ace9b7186030b4c2d5b03 Author: Matthew Vick <matthew.vick@xxxxxxxxx> Date: Sat Jan 31 02:23:05 2015 +0000 fm10k: Resolve various spelling errors and checkpatch warnings Fix a few silly typos in the code and checkpatch warnings in support of general code cleanliness. Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5bf33dc687e8bf2dfc033930ad06437efeea01d9 Author: Matthew Vick <matthew.vick@xxxxxxxxx> Date: Thu Jan 29 07:17:27 2015 +0000 fm10k: Implement ndo_features_check The introduction of ndo_features_check allows drivers to report their offload capabilities per-skb. Implement this in fm10k to take advantage of this new functionality. Reported-by: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8c1a90aa497dc4e2f971028c4484566629757357 Author: Matthew Vick <matthew.vick@xxxxxxxxx> Date: Thu Jan 29 07:17:22 2015 +0000 fm10k: Modify tunnel length header check when offloading The FM10000 host interface can only support up to 184 bytes when performing tunnel offloads. Because of this, a check was added to prevent the driver from attempting to feed a header to the hardware too big for it to parse. Make this check a little more robust by calculating the inner L4 header length based on whether it is TCP or UDP. Cc: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 74f0414b2f9a6b12df208a69baa21e22178a2463 Merge: c517d83 44aa1d4 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Tue Mar 3 19:56:08 2015 +1100 Merge tag 'yama-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into next commit 393d23c4e22996ad0c694577927bcf13ba31beda Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Sat Feb 28 20:27:56 2015 +0000 mtd: atmel_nand: fix typo in dev_err error message Fix typo, "Unkown" -> "Unknown" Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Acked-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 94ac003b665fc04f13a7ab3b2be896b9b9503451 Merge: 788b94b ae536ac Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Mar 3 07:17:53 2015 +0100 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 if given uprobe event accesses memory on older kernel (Masami Hiramatsu) - 'perf record' Documentation fixes (Namhyung Kim) - Report unsupported events properly in 'perf stat' (Suzuki K. Poulose) Infrastructure changes: - Avoid FORK after COMM when synthesizing records for pre-existing threads (Arnaldo Carvalho de Melo) - Reference count struct thread (Arnaldo Carvalho de Melo) - Don't keep the session around in 'perf sched', thread refcounting removes that need (Arnaldo Carvalho de Melo) - Initialize cpu set in pthread_attr_setaffinity_np() feature test (Adrian Hunter) - Only include tsc file for x86 (David Ahern) - Compare JOBS to 0 after grep (David Ahern) - Improve feature detection messages (Ingo Molnar) - Revert "perf: Remove the extra validity check on nr_pages" (Kan Liang) - Remove bias offset to find probe point by address (Masami Hiramatsu) - Fix build error on ARCH=i386/x86_64/sparc64 (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a655fa95fa354d5608fc899b06e33022ab5aad11 Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Date: Mon Mar 2 15:45:05 2015 +0100 ARM: imx: Fix trivial typo in comments change 'mutliple' to 'multiple' Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit c6891ef89b3fe8b6a32a18072452e92fab51aecd Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Feb 28 12:47:46 2015 -0300 ARM: imx: Kconfig: Fix grammar in help text Use "This enables" in the Kconfig help text to fix grammar. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 9fece9bdabfff12610572a4e5c072bdc043fae9f Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sat Feb 21 16:08:21 2015 +0100 ARM: imx/iomux-v3: allow pad_list to be const Also fix all machine files to make use of it and while at it also make the pad lists __initconst. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit ae536acfacb65a4a9858c32b12361e09f84f4157 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 2 22:28:41 2015 -0300 perf sched: No need to keep the session around We were keeping the session around just because we kept pointers to struct thread instances, but now we reference count them, so no need for deferring the perf_session__delete call to after we traverse the work_list entries. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-9agtck6jdr3rebdp39z1lo0e@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f3b623b8490af7a9b819cbcf2d99ab4597ece94b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 2 22:21:35 2015 -0300 perf tools: Reference count struct thread We need to do that to stop accumulating entries in the dead_threads linked list, i.e. we were keeping references to threads in struct hists that continue to exist even after a thread exited and was removed from the machine threads rbtree. We still keep the dead_threads list, but just for debugging, allowing us to iterate at any given point over the threads that still are referenced by things like struct hist_entry. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-3ejvfyed0r7ue61dkurzjux4@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 89122aa8732b9339ea49c38909adb9163bdf048a Author: Sourav Poddar <sourav.poddar@xxxxxx> Date: Mon Mar 2 16:19:32 2015 +0530 ARM: OMAP2: hwmod: AM43XX: Add hwmod support for HDQ-1W These adds hwmod data for hdq/1w driver on AM43xx. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 263be3326b89a1a4994b29cbe898637fd72e6f0b Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:33 2015 +0100 at86rf230: restore trx len when needed In the most cases the spi messages has a length of two. Currently we always set the the len field to two before transmit a spi message. In cases for read out/write in the frame buffer we need another len. This patch use trx len two as default. For the frame buffer cases we restore the trx len to two on success and failure. This will reduce the len setting of two when it's already two. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 31fa74344c1e75fd66f7b43f456ae9e0a137ba69 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:32 2015 +0100 at86rf230: remove multiple dereferencing for ctx This patch cleanups the referencing for the state change context variable. The state change context should only set once and this is by initial a state change. This patch will use the initial state change variable in the complete handler of the state change by using the ctx context which should be always the same like the initial state change context. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cca990c85d37a9ed42d2cac53c619abec7faa12f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:31 2015 +0100 at86rf230: remove multiple dereferencing for irq By holding the irq variable inside at86rf230_state_change we can squash some multiple dereferencing for getting irq num. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 74de4c804c53f612ef1287e4241d8d06f8e794c7 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:30 2015 +0100 at86rf230: refactor receive handling This patch refactor the receive handling into one function. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ef5428a1386d472939c763abc68a9d0f1fb18dce Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:29 2015 +0100 at86rf230: cleanup and squash stack variable I had this variable because I thought it would be protected by disable/enable irq but this is not true. It's protected by stop/wake netdev queue which is called by ieee802154_xmit_complete. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ba6d22393284b703e6174278c31858bf59337ed2 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Mar 1 21:55:28 2015 +0100 at86rf230: add transmit retry support This patch introduce a transmit retry handling into at86rf230 transmit path. Current behaviour is to wait the normal receive time if we want to go into STATE_TX_ON when the transceiver is in STATE_BUSY_RX_AACK which indicates that a frame is currently receiving. A non force state change will not interrupt the the receiving state. The current behaviour is that after the normal receive time we will start a force change into STATE_TX_ON. With this patch we do seven retries to go into STATE_TX_ON without forcing. After we hit the AT86RF2XX_MAX_TX_RETRIES we will start the force state change. This is a polling like method to go into STATE_TX_ON in times of maximum receiving time. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72500bc11e4da570bd66c0965e2dc74f52c8aba2 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Feb 16 18:57:53 2015 +0100 netfilter: bridge: rework reject handling bridge reject handling is not straightforward, there are many subtle differences depending on configuration. skb->dev is either the bridge port (PRE_ROUTING) or the bridge itself (INPUT), so we need to use indev instead. Also, checksum validation will only work reliably if we trim skb according to the l3 header size. While at it, add csum validation for ipv6 and skip existing tests if skb was already checked e.g. by GRO. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ee586bbc28fb7128133457cf711880d13a3b7ce4 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Feb 16 18:54:04 2015 +0100 netfilter: reject: don't send icmp error if csum is invalid tcp resets are never emitted if the packet that triggers the reject/reset has an invalid checksum. For icmp error responses there was no such check. It allows to distinguish icmp response generated via iptables -I INPUT -p udp --dport 42 -j REJECT and those emitted by network stack (won't respond if csum is invalid, REJECT does). Arguably its possible to avoid this by using conntrack and only using REJECT with -m conntrack NEW/RELATED. However, this doesn't work when connection tracking is not in use or when using nf_conntrack_checksum=0. Furthermore, sending errors in response to invalid csums doesn't make much sense so just add similar test as in nf_send_reset. Validate csum if needed and only send the response if it is ok. Reference: http://bugzilla.redhat.com/show_bug.cgi?id=1169829 Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3267c884cefa86c6d48c4d7c5571c20435271ecf Author: Kim, Ben Young Tae <ytkim@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 23:07:33 2015 +0000 Bluetooth: btusb: Add support for QCA ROME chipset family This patch supports ROME Bluetooth family from Qualcomm Atheros, e.g. QCA61x4 or QCA6574. New chipset have similar firmware downloading sequences to previous chipset from Atheros, however, it doesn't support vid/pid switching after downloading the patch so that firmware needs to be handled by btusb module directly. ROME chipset can be differentiated from previous version by reading ROM version. T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 16 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0cf3 ProdID=e300 Rev= 0.01 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA 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 T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 8 Spd=12 MxCh= 0 D: Ver= 2.01 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0cf3 ProdID=e360 Rev= 0.01 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA 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: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ace31982585a323afb194f56b9e0486f7bc6570c Author: Kim, Ben Young Tae <ytkim@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 23:06:14 2015 +0000 Bluetooth: btusb: Add setup callback for chip init on USB Some of chipset does not allow to send a patch or config files through HCI VS channel at early stage as well as they don't support to send USB patch files to other channel except USB bulk path. New callback added is for initialization of BT controller through USB Signed-off-by: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 96c110aaa7a9db17d5893a6416def2233ba769fb Author: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Date: Mon Mar 2 14:41:10 2015 -0800 ARM: dts: Enable Broadcom Cygnus BCM958305K DT file to enable the Wireless Audio reference design based on the BCM58305. Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 0c7e67a928ac5328d30a0638adec771511dc7074 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Sat Feb 28 13:33:30 2015 -0800 Input: add driver for Broadcom keypad controller Broadcom Keypad controller is used to interface a SoC with a matrix-type keypad device. The keypad controller supports multiple row and column lines. A key can be placed at each intersection of a unique row and a unique column. The keypad controller can sense a key-press and key-release and report the event using an interrupt to the CPU. Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b898441f4ece44933af90b116b467f7864dd1ae7 Merge: 61e021f 435e8eb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 2 16:43:46 2015 -0500 Merge branch 'neigh_cleanups' Eric W. Biederman says: ==================== Neighbour table and ax25 cleanups While looking at the neighbour table to what it would take to allow using next hops in a different address family than the current packets I found a partial resolution for my issues and I stumbled upon some work that makes the neighbour table code easier to understand and maintain. Long ago in a much younger kernel ax25 found a hack to use dev_rebuild_header to transmit it's packets instead of going through what today is ndo_start_xmit. When the neighbour table was rewritten into it's current form the ax25 code was such a challenge that arp_broken_ops appeard in arp.c and neigh_compat_output appeared in neighbour.c to keep the ax25 hack alive. With a little bit of work I was able to remove some of the hack that is the ax25 transmit path for ip packets and to isolate what remains into a slightly more readable piece of code in ax25_ip.c. Removing the need for the generic code to worry about ax25 special cases. After cleaning up the old ax25 hacks I also performed a little bit of work on neigh_resolve_output to remove the need for a dst entry and to ensure cached headers get a deterministic protocol value in their cached header. This guarantees that a cached header will not be different depending on which protocol of packet is transmitted, and it allows packets to be transmitted that don't have a dst entry. There remains a small amount of code that takes advantage of when packets have a dst entry but that is something different. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 435e8eb27edb4da0b47b9b980239bd59057a7362 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:14:14 2015 -0600 neigh: Don't require a dst in neigh_resolve_output Having a dst helps a little bit for teql but is fundamentally unnecessary and there are code paths where a dst is not available that it would be nice to use the neighbour cache. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdf53c58490bb52e17636eca8ad18d2c38ec3cb8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:13:22 2015 -0600 neigh: Don't require dst in neigh_hh_init - Add protocol to neigh_tbl so that dst->ops->protocol is not needed - Acquire the device from neigh->dev This results in a neigh_hh_init that will cache the samve values regardless of the packets flowing through it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59b2af26b9f674749216fd3bfba19d842de3671c Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:12:05 2015 -0600 arp: Kill arp_find There are no more callers so kill this function. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d476059e77d1af48453a58f9de1e36f2eaff6450 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:11:09 2015 -0600 net: Kill dev_rebuild_header Now that there are no more users kill dev_rebuild_header and all of it's implementations. This is long overdue. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 945db424bfbcb7b72a92702a487dc0000cd1efed Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:09:42 2015 -0600 ax25: Stop depending on arp_find Have ax25_neigh_output perform ordinary arp resolution before calling ax25_neigh_xmit. Call dev_hard_header in ax25_neigh_output with a destination address so it will not fail, and the destination mac address will not need to be set in ax25_neigh_xmit. Remove arp_find from ax25_neigh_xmit (the ordinary arp resolution added to ax25_neigh_output removes the need for calling arp_find). Document how close ax25_neigh_output is to neigh_resolve_output. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abb7b755d9af48c762a6f814e4cead677e694f93 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:08:43 2015 -0600 ax25: Stop calling/abusing dev_rebuild_header - Rename ax25_rebuild_header to ax25_neigh_xmit and call it from ax25_neigh_output directly. The rename is to make it clear that this is not a rebuild_header operation. - Remove ax25_rebuild_header from ax25_header_ops. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit def6775369fab9d36817b9a6bc58cab67f53f1dc Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:07:37 2015 -0600 neigh: Move neigh_compat_output into ax25_ip.c The only caller is now is ax25_neigh_construct so move neigh_compat_output into ax25_ip.c make it static and rename it ax25_neigh_output. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21bfb8e93301e55760dde9f775e58fd6c4f248f8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:06:31 2015 -0600 arp: Remove special case to give AX25 it's open arp operations. The special case has been pushed out into ax25_neigh_construct so there is no need to keep this code in arp.c Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b6a94bed0029a6b48055d89b8dea0567abca0ac Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:05:28 2015 -0600 ax25: Refactor to use private neighbour operations. AX25 already has it's own private arp cache operations to isolate it's abuse of dev_rebuild_header to transmit packets. Add a function ax25_neigh_construct that will allow all of the ax25 devices to force using these operations, so that the generic arp code does not need to. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46d4e47abee04c24055114d50e408078a09c4d36 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:04:31 2015 -0600 ax25: Make ax25_header and ax25_rebuild_header static The only user is in ax25_ip.c so stop exporting these functions. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 204d2dcae46150777ca90c6d480c57022796c547 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:03:45 2015 -0600 ax25/6pack: Replace sp_header_ops with ax25_header_ops The two sets of header operations are functionally identical remove the duplicate definition. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56fc7e7128a1ca9c52d8e2907f0f13871957b1bc Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:03:02 2015 -0600 ax25/kiss: Replace ax_header_ops with ax25_header_ops The two sets of header operations are functionally identical remove the duplicate definition. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03ec2ac0977dd1d44f8637f33c63a9a7022cf9af Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:02:19 2015 -0600 rose: Transmit packets in rose_xmit not rose_rebuild_header Patterned after the similar code in net/rom this turns out to be a trivial obviously correct transmformation. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b753af31abe416b19830d5ac7f8da6c16f165214 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Mar 2 00:01:30 2015 -0600 rose: Set the destination address in rose_header Not setting the destination address is a bug that I suspect causes no problems today, as only the arp code seems to call dev_hard_header and the description I have of rose is that it is expected to be used with a static neigbour table. I have derived the offset and the length of the rose destination address from rose_rebuild_header where arp_find calls neigh_ha_snapshot to set the destination address. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e18dbd059319ac8d3fc0a0a23f6a8abcb9a59a31 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sun Mar 1 23:59:57 2015 -0600 ax25: In ax25_rebuild_header add missing kfree_skb In the unlikely (impossible?) event that we attempt to transmit an ax25 packet over a non-ax25 device free the skb so we don't leak it. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb2294c3432fb6366ec12b56a3b2a12cf4242b69 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sun Mar 1 13:25:47 2015 -0800 leds: lp8860: make use of devm_gpiod_get_optional The probe function open coded a bad variant of devm_gpiod_get_optional using devm_gpiod_get and just ignoring all errors. In contrast to that devm_gpiod_get_optional returns NULL if there was no corresponding gpio specified in the device tree (or ACPI table) and fails if there is an error (or GPIOLIB is not enabled). Moreover since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output which allows some simplification. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 2ed11312eb19506c027e7cac039994ad42a9cb2c Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Mar 2 02:14:26 2015 -0500 Revert "perf: Remove the extra validity check on nr_pages" This reverts commit 74390aa55678 ("perf: Remove the extra validity check on nr_pages") nr_pages equals to number of pages - 1 in perf_mmap. So nr_pages = 0 is valid. So the nr_pages != 0 && !is_power_of_2(nr_pages) are all needed for checking. Otherwise, for example, perf test 6 failed. # perf test 6 6: x86 rdpmc test :Error: mmap() syscall returned with (Invalid argument) FAILED! Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1425280466-7830-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1d93b850296339082b7ace26ed20385d3bc5e2c6 Author: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Date: Mon Mar 2 15:32:48 2015 +0100 power/smb347-charger.c: set IRQF_ONESHOT flag to ensure IRQ request Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request may fail. Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci Signed-off-by: Valentin Rothberg <Valentin.Rothberg@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2438e78a48643d41defd4b90da19d17b9c3e65f3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 3 10:46:56 2015 -0300 [media] v4l2-core: drop g/s_priority ops The handling of VIDIOC_G/S_PRIORITY is now entirely done by the V4L2 core, so we can drop the g/s_priority ioctl ops. We do have to make sure though that when S_PRIORITY is called we check that the driver used struct v4l2_fh. This check can be removed once all drivers are converted to that structure. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cee05cb3598813f05a3419c56487e337ee84210f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 3 10:46:55 2015 -0300 [media] pvrusb2: use struct v4l2_fh By using struct v4l2_fh both the prio handling and the linked list implementation in pvrusb2 can be removed since both are now done in the v4l2 core if you use struct v4l2_fh. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Tested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 61e021f3b86cbbcc04cbe8ac7b7da2b8c94b5e8e Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Mar 2 15:21:55 2015 +0100 ebpf: move CONFIG_BPF_SYSCALL-only function declarations Masami noted that it would be better to hide the remaining CONFIG_BPF_SYSCALL-only function declarations within the BPF header ifdef, w/o else path dummy alternatives since these functions are not supposed to have a user outside of CONFIG_BPF_SYSCALL. Suggested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Reference: http://article.gmane.org/gmane.linux.kernel.api/8658 Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5cf6f7f327c95f09be859889be39e78950516556 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:09 2015 -0300 [media] v4l2-core: remove the old .ioctl BKL replacement To keep V4L2 drivers that did not yet convert to unlocked_ioctl happy, the v4l2 core had a .ioctl file operation that took a V4L2 lock. The last drivers are now converted to unlocked_ioctl, so all this old code can now be removed. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 06e5cc3d0d70a278baa7b9e1f466cd94b4a4285b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:08 2015 -0300 [media] uvc gadget: set device_caps in querycap The V4L2 core will warn if this is not done. Unfortunately this driver wasn't updated. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9945eb9fad4edba2893d15cd720a702e6281ce19 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:07 2015 -0300 [media] uvc gadget: switch to unlocked_ioctl Instead of .ioctl use unlocked_ioctl. This allows us to finally remove the old .ioctl op. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d8e96c4bf6e3cdb6580381fdad2bfd93fae36ff1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:06 2015 -0300 [media] uvc gadget: switch to v4l2 core locking Switch this driver over to the V4L2 core locking mechanism in preparation for switching to unlocked_ioctl. Suggested by Laurent Pinchart. This patch introduces a new mutex at the struct uvc_video level and drops the old mutex at the queue level. The new lock is now used for all ioctl locking and in the release file operation (the driver always has to take care of locking in file operations, the core only serializes ioctls). Note that the mmap and get_unmapped_area file operations no longer take a lock. Commit f035eb4e976ef5a059e30bc91cfd310ff030a7d3 fixed a AB-BA deadlock by moving all the locking down into vb2, so the mmap and get_unmapped_area file operations should no longer do any locking before calling into vb2. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2e1328dd5a8fd1fa98bf8fca49c5e6df61797a99 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:05 2015 -0300 [media] radio-bcm2048: use unlocked_ioctl instead of ioctl This driver does its own locking, so there is no need to use ioctl instead of unlocked_ioctl. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ab91c61129a7ef5b584d68670dcf8ca93d3611e5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Tue Feb 17 05:44:04 2015 -0300 [media] pvrusb2: replace .ioctl by .unlocked_ioctl As far as I can tell pvrusb2 does its own locking, so there is no need to use .ioctl. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b44b2e06ae463327334235bf160e804632b9b37c Author: Pablo Anton <pablo.anton@xxxxxxxxxxxxxxxx> Date: Tue Feb 3 14:13:18 2015 -0300 [media] media: i2c: ADV7604: Rename adv7604 prefixes It is confusing which parts of the driver are adv7604 specific, adv7611 specific or common for both. This patch renames any adv7604 prefixes (both for functions and defines) to adv76xx whenever they are common. Signed-off-by: Pablo Anton <pablo.anton@xxxxxxxxxxxxxxxx> Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxx> [hans.verkuil@xxxxxxxxx: rebased and renamed ADV76xx_fsc to ADV76XX_FSC] [hans.verkuil@xxxxxxxxx: kept the existing adv7604 driver name] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0cd1b0c3adaac2f9e8b5d2e739bf63a42fbf7ff2 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Wed Jan 21 13:33:47 2015 -0800 leds: Let the binding document example for leds-gpio follow the gpio bindings In the gpio bindings documents it is requested to use the marco's in include/dt-bindings/gpio/gpio.h whenever possible. The gpios in the led drivers don't seem to form an exception, so update the example in the document bindings. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 77f0379fa8823e5267509dfff83803a88bb297b0 Merge: 49b31e5 5f15893 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 2 14:55:05 2015 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next A small batch with accumulated updates in nf-next, mostly IPVS updates, they are: 1) Add 64-bits stats counters to IPVS, from Julian Anastasov. 2) Move NETFILTER_XT_MATCH_ADDRTYPE out of NETFILTER_ADVANCED as docker seem to require this, from Anton Blanchard. 3) Use boolean instead of numeric value in set_match_v*(), from coccinelle via Fengguang Wu. 4) Allows rescheduling of new connections in IPVS when port reuse is detected, from Marcelo Ricardo Leitner. 5) Add missing bits to support arptables extensions from nft_compat, from Arturo Borrero. Patrick is preparing a large batch to enhance the set infrastructure, named expressions among other things, that should follow up soon after this batch. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49b31e576a0a264872aa06dbc1ce6cd0cb9db278 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Mar 2 12:25:51 2015 +0100 filter: refactor common filter attach code into __sk_attach_prog Both sk_attach_filter() and sk_attach_bpf() are setting up sk_filter, charging skmem and attaching it to the socket after we got the eBPF prog up and ready. Lets refactor that into a common helper. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c973f76e7e931593825280861b9ede522b67f9af Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu Feb 5 05:56:42 2015 -0300 [media] media: radio: handle timeouts Add handling for timeout case. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit daa939db21108c951765ce1089d423fd90f8a447 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu Feb 5 04:58:48 2015 -0300 [media] media: radio: assign wait_for_completion_timeout to appropriately typed var wait_for_completion_timeout() returns unsigned long not int. This assigns the return value to an appropriately typed variable (also helps keep static code checkers happy). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 70c836a4d15f12aa50195937083b30a6945c2556 Merge: b484435 c91799c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 2 14:47:12 2015 -0500 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-03-02 Here's the first bluetooth-next pull request targeting the 4.1 kernel: - ieee802154/6lowpan cleanups - SCO routing to host interface support for the btmrvl driver - AMP code cleanups - Fixes to AMP HCI init sequence - Refactoring of the HCI callback mechanism - Added shutdown routine for Intel controllers in the btusb driver - New config option to enable/disable Bluetooth debugfs information - Fix for early data reception on L2CAP fixed channels Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6562f3bd396ab6d2c9b455e95c67e33bab73bff5 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Tue Mar 3 04:45:01 2015 +0900 ARM: exynos_defconfig: Disable IOMMU support Enabling Exynos DRM IOMMU support for Exynos is currently broken and causes a BUG on exynos-iommu driver. This was not an issue since the options was disabled in exynos_defconfig but after commit 8dcc14f82f06 ("drm/exynos: IOMMU support should not be selectable by user"), it is selected if EXYNOS_IOMMU is enabled which is in exynos_defconfig. So a kernel built using exynos_defconfig after the mentioned commit fails to boot [0]. Disable IOMMU support in Exynos defconfig until things get sorted out. [0]: [ 1.242183] ------------[ cut here ]------------ [ 1.246191] kernel BUG at drivers/iommu/exynos-iommu.c:481! [ 1.251747] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM [ 1.257561] Modules linked in: [ 1.260603] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.19.0-07478-g796e1c55717e #490 [ 1.268412] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 1.274489] task: ee06c000 ti: ee05a000 task.ti: ee05a000 [ 1.279874] PC is at __exynos_sysmmu_enable+0x184/0x190 [ 1.285080] LR is at exynos_iommu_attach_device+0x44/0xb0 [ 1.290461] pc : [<c0254a14>] lr : [<c0254a64>] psr: 60000193 [ 1.290461] sp : ee05bcf8 ip : 00000000 fp : ed84aa40 [ 1.301916] r10: ed84a890 r9 : a0000113 r8 : 6db30000 [ 1.307125] r7 : ed84aa40 r6 : 00000000 r5 : 00000000 r4 : ee174e10 [ 1.313635] r3 : 6db30000 r2 : ed84aa40 r1 : 6db30000 r0 : ee174e10 [ 1.320147] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel [ 1.327524] Control: 10c5387d Table: 4000406a DAC: 00000015 [ 1.333252] Process swapper/0 (pid: 1, stack limit = 0xee05a210) [ 1.339241] Stack: (0xee05bcf8 to 0xee05c000) [ 1.343581] bce0: 6db30000 ee174e10 [ 1.351741] bd00: ed84a880 00000000 ed84aa40 ee174e10 a0000113 ed84a890 00000000 c0254a64 [ 1.359900] bd20: 00000000 6db30000 ee174e10 ed84adc0 00000005 00000034 00000001 c0692c1c [ 1.368059] bd40: 00000097 c02526c8 ee29f050 c0017210 ee29f050 ee174e10 edab6810 c0282558 [ 1.376219] bd60: edab6a10 ee1cb000 00000005 c0283520 ee29f240 c028f210 edab6810 ee2ef280 [ 1.384378] bd80: edb24680 ed84a680 ee1cb000 c02883f8 edab6810 ee1cb000 ee1cb000 00000000 [ 1.392537] bda0: ed84a680 ee2ef450 00000000 c027e968 ee1cb000 00000000 00000000 c0268fd4 [ 1.400696] bdc0: edab6800 c06b0de4 ee1cb000 c026a8bc ee2ef0c0 c028f210 00000002 ee2ef460 [ 1.408855] bde0: ee2ef460 00000002 ee2ef280 c0288728 c04af5d0 edab6810 ee2ef280 00000000 [ 1.417014] be00: c06b1348 c0288918 c06b0f00 c06b0f00 edab6810 00000001 c06b0da0 c027eaf4 [ 1.425173] be20: c070334c edaee190 00000000 edab6810 ffffffed c06b0da0 00000000 c028da1c [ 1.433332] be40: edab6810 c070334c 00000000 c028c5f8 edab6810 c06b0da0 edab6844 00000000 [ 1.441492] be60: eda3c740 c028c7a4 c06b0da0 00000000 c028c718 c028af74 ee005274 ee3b7b40 [ 1.449652] be80: c06b0da0 ee3b7680 c06b1540 c028bde4 c05b6990 c06b0da0 c0703324 c06b0da0 [ 1.457811] bea0: c0703324 00000000 c069ab18 c028cdc4 00000000 00000000 c0703324 c027ebd8 [ 1.465970] bec0: 00000000 c05b6990 ffffffff 00000000 00000000 00000000 00000000 c00c4574 [ 1.474129] bee0: 00000000 00000000 c069ab18 c027eb1c 00000000 c069ab18 c069ab18 c0008944 [ 1.482288] bf00: 00000036 c04770e8 ee049800 c06eace0 ee06c000 60000113 c069eab0 00000000 [ 1.490447] bf20: 00000000 c069eab0 60000113 00000000 ef7fcabc ef7fcaae c061c594 c0038640 [ 1.498607] bf40: c05cb1d0 c061bc24 00000006 00000006 c069ea50 c06724d4 00000006 c06724b4 [ 1.506766] bf60: c06c7600 c0647588 c0692c1c 00000097 00000000 c0647d40 00000006 00000006 [ 1.514925] bf80: c0647588 c003d2d8 00000000 c046921c 00000000 00000000 00000000 00000000 [ 1.523084] bfa0: 00000000 c0469224 00000000 c000e680 00000000 00000000 00000000 00000000 [ 1.531243] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 1.539402] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000 [ 1.547567] [<c0254a14>] (__exynos_sysmmu_enable) from [<c0254a64>] (exynos_iommu_attach_device+0x44/0xb0) [ 1.557199] [<c0254a64>] (exynos_iommu_attach_device) from [<c02526c8>] (iommu_attach_device+0x18/0x24) [ 1.566576] [<c02526c8>] (iommu_attach_device) from [<c0017210>] (arm_iommu_attach_device+0x18/0x50) [ 1.575690] [<c0017210>] (arm_iommu_attach_device) from [<c0282558>] (drm_iommu_attach_device+0x50/0xb4) [ 1.585150] [<c0282558>] (drm_iommu_attach_device) from [<c0283520>] (fimd_bind+0x94/0x1b8) [ 1.593483] [<c0283520>] (fimd_bind) from [<c02883f8>] (component_bind_all+0xb4/0x214) [ 1.601380] [<c02883f8>] (component_bind_all) from [<c027e968>] (exynos_drm_load+0x9c/0x13c) [ 1.609802] [<c027e968>] (exynos_drm_load) from [<c0268fd4>] (drm_dev_register+0xa0/0xf4) [ 1.617960] [<c0268fd4>] (drm_dev_register) from [<c026a8bc>] (drm_platform_init+0x44/0xcc) [ 1.626293] [<c026a8bc>] (drm_platform_init) from [<c0288728>] (try_to_bring_up_master.part.3+0xc8/0x104) [ 1.635839] [<c0288728>] (try_to_bring_up_master.part.3) from [<c0288918>] (component_master_add_with_match+0xcc/0x114) [ 1.646602] [<c0288918>] (component_master_add_with_match) from [<c027eaf4>] (exynos_drm_platform_probe+0xec/0x114) [ 1.657019] [<c027eaf4>] (exynos_drm_platform_probe) from [<c028da1c>] (platform_drv_probe+0x48/0x98) [ 1.666221] [<c028da1c>] (platform_drv_probe) from [<c028c5f8>] (driver_probe_device+0x114/0x234) [ 1.675075] [<c028c5f8>] (driver_probe_device) from [<c028c7a4>] (__driver_attach+0x8c/0x90) [ 1.683494] [<c028c7a4>] (__driver_attach) from [<c028af74>] (bus_for_each_dev+0x54/0x88) [ 1.691653] [<c028af74>] (bus_for_each_dev) from [<c028bde4>] (bus_add_driver+0xd8/0x1cc) [ 1.699812] [<c028bde4>] (bus_add_driver) from [<c028cdc4>] (driver_register+0x78/0xf4) [ 1.707797] [<c028cdc4>] (driver_register) from [<c027ebd8>] (exynos_drm_init+0xbc/0x110) [ 1.715956] [<c027ebd8>] (exynos_drm_init) from [<c0008944>] (do_one_initcall+0x80/0x1d0) [ 1.724117] [<c0008944>] (do_one_initcall) from [<c0647d40>] (kernel_init_freeable+0x108/0x1d4) [ 1.732796] [<c0647d40>] (kernel_init_freeable) from [<c0469224>] (kernel_init+0x8/0xe4) [ 1.740869] [<c0469224>] (kernel_init) from [<c000e680>] (ret_from_fork+0x14/0x34) [ 1.748419] Code: e3403110 11a02001 01a02003 eaffffe4 (e7f001f2) [ 1.754502] ---[ end trace f58ad362326928d7 ]--- Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit a858b5e50442579a73112c7c79bf6096e96de535 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Feb 11 14:54:42 2015 +0100 x86/microcode/intel: Fix printing of microcode blobs in show_saved_mc() When doing echo 1 > /sys/devices/system/cpu/microcode/reload in order to reload microcode, I get: microcode: Total microcode saved: 1 BUG: using smp_processor_id() in preemptible [00000000] code: bash/2606 caller is debug_smp_processor_id+0x17/0x20 CPU: 1 PID: 2606 Comm: bash Not tainted 3.19.0-rc7+ #9 Hardware name: LENOVO 2320CTO/2320CTO, BIOS G2ET86WW (2.06 ) 11/13/2012 ffffffff81a4266d ffff8802131db808 ffffffff81666588 0000000000000007 0000000000000001 ffff8802131db838 ffffffff812e6eef ffff8802131db868 00000000000306a9 0000000000000010 0000000000000015 ffff8802131db848 Call Trace: dump_stack check_preemption_disabled debug_smp_processor_id show_saved_mc ? save_microcode.constprop.8 save_mc_for_early ? print_context_stack ? dump_trace ? __bfs ? mark_held_locks ? get_page_from_freelist ? trace_hardirqs_on_caller ? trace_hardirqs_on ? __alloc_pages_nodemask ? __get_vm_area_node ? map_vm_area ? __vmalloc_node_range ? generic_load_microcode generic_load_microcode ? microcode_fini_cpu request_microcode_fw reload_store dev_attr_store sysfs_kf_write kernfs_fop_write vfs_write ? sysret_check SyS_write system_call_fastpath microcode: CPU1: sig=0x306a9, pf=0x10, rev=0x15 microcode: mc_saved[0]: sig=0x306a9, pf=0x12, rev=0x1b, toal size=0x3000, date = 2014-05-29 because we're using smp_processor_id() in preemtible context. And we don't really need to use it there because the microcode container we're dumping is global and CPU-specific info is irrelevant. While at it, make pr_* stuff use "microcode: " prefix for easier grepping and document how to enable the DEBUG build. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4f1f605cfe3046c4c9f07920c47d3f801d31c0ba Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Feb 10 12:45:16 2015 +0100 x86/microcode/intel: Check scan_microcode()'s retval ... and do not attempt to load anything in case of error. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 140f74fcedbfc862178c082c50b5f54dd52c1ce4 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Feb 10 12:00:56 2015 +0100 x86/microcode/intel: Sanitize microcode_pointer() Shorten variable names and rename it to what it does. No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit e3d8f6747663b468ccedb8af0f38f2be82874c63 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Feb 10 11:28:23 2015 +0100 x86/microcode/intel: Move mc arg last in get_matching_{microcode|sig} ... arguments list so that it comes more natural for those functions to have the signature, processor flags and revision together, before the rest of the args. No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 9e02bb46d366b3635da966e29c5a53920ee7fde8 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Feb 10 10:56:37 2015 +0100 x86/microcode/intel: Simplify generic_load_microcode_early() * remove state variable and out label * get rid of completely unused mc_size * shorten variable names * get rid of local variables * don't do assignments in local var declarations for less cluttered code * finally rename it to the shorter and perfectly fine load_microcode_early() No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 58ce8d6d3a7616014dc70fd8d8f945176d74957c Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 21:42:34 2015 +0100 x86/microcode: Consolidate family,model, ... code ... to the header. Split the family acquiring function into a main one, doing CPUID and a helper which computes the extended family and is used in multiple places. Get rid of the locally-grown get_x86_{family,model}(). While at it, rename local variables to something more descriptive and vertically align assignments for better readability. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4f5e5f2b574804ed330e20456d5b86a4259544ad Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 18:10:29 2015 +0100 x86/microcode/intel: Rename update_match_revision() ... to revision_is_newer() and push it up into the header and make it an inline function. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit c868570e745781736366b83191aae2ccb9de2d1c Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 17:59:01 2015 +0100 x86/microcode/intel: Sanitize _save_mc() Shorten local variable names for better readability and flatten loop indentation levels. No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a5de5e242b80c085913041e99ab245408083f273 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 17:49:43 2015 +0100 x86/microcode/intel: Make _save_mc() return the updated saved count ... of microcode patches instead of handing in a pointer which is used for I/O in an otherwise void function. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 02f35177fb00ee0d73f9af2d6006af6b75b58c11 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 22:59:51 2015 +0100 x86/microcode/intel: Simplify load_ucode_intel_bsp() Don't compute start and end from start and size in order to compute size again down the path in scan_microcode(). So pass size directly instead and simplify a bunch. Shorten variable names and remove useless ones. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 2d48bb9b6ec6fb0f28e5135fd080edc23152ae45 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Feb 9 17:40:03 2015 +0100 x86/microcode/intel: Get rid of last arg to load_ucode_intel_bsp() Allocate it on the helper's _load_ucode_intel_bsp() stack instead and do not hand it down. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit f9524e6f5447277e238b419afc3d0712941fa2a5 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 5 20:11:41 2015 +0100 x86/microcode/intel: Do the mc_saved_src NULL check first ... and only then deref it. Also, shorten some variable names and rename others so as to diminish the ubiquitous presence of the "mc_" prefix everywhere and make it a bit more readable. Use kcalloc so that we don't kfree() uninitialized memory on the unwind path, as suggested by Quentin. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> commit 776d3cdc93d83808bf5929d716a56c69bbe01d2f Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Feb 5 19:35:19 2015 +0100 x86/microcode/intel: Check if microcode was found before applying We should check the return value of the routines fishing out the proper microcode and not try to apply if we haven't found a suitable blob. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit d496a002ae1f02425168e5211c237abee588651a Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Date: Thu Feb 26 18:03:59 2015 +0100 x86/microcode/intel: Fix out of bounds memory access to the extended header Improper pointer arithmetics when calculating the address of the extended header could lead to an out of bounds memory read and kernel panic. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150225094125.GB30434@xxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit b4844353c0577bef6db54e5b276ede1acbed5b3d Merge: 6556c38 1b78414 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 2 13:06:38 2015 -0500 Merge branch 'sendmsg_recvmsg_iocb_removal' Ying Xue says: ==================== net: Remove iocb argument from sendmsg and recvmsg Currently there is only one user - TIPC whose sendmsg() instances using iocb argument. Meanwhile, there is no user using iocb argument in its recvmsg() instance. Therefore, if we eliminate the werid usage of iobc argument from TIPC, the iocb argument can be removed from all sendmsg() and recvmsg() instances of the whole networking stack. Reference: https://patchwork.ozlabs.org/patch/433960/ Changes: v2: * Fix compile errors of DCCP module pointed by David ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b784140474e4fc94281a49e96c67d29df0efbde Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Mon Mar 2 15:37:48 2015 +0800 net: Remove iocb argument from sendmsg and recvmsg After TIPC doesn't depend on iocb argument in its internal implementations of sendmsg() and recvmsg() hooks defined in proto structure, no any user is using iocb argument in them at all now. Then we can drop the redundant iocb argument completely from kinds of implementations of both sendmsg() and recvmsg() in the entire networking stack. Cc: Christoph Hellwig <hch@xxxxxx> Suggested-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39a0295f901423e260a034ac7c3211ecaa9c2745 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Mon Mar 2 15:37:47 2015 +0800 tipc: Don't use iocb argument in socket layer Currently the iocb argument is used to idenfiy whether or not socket lock is hold before tipc_sendmsg()/tipc_send_stream() is called. But this usage prevents iocb argument from being dropped through sendmsg() at socket common layer. Therefore, in the commit we introduce two new functions called __tipc_sendmsg() and __tipc_send_stream(). When they are invoked, it assumes that their callers have taken socket lock, thereby avoiding the weird usage of iocb argument. Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80f4944ec2aecb64c213944f78745787e363672a Author: jean-michel.hautbois@xxxxxxxxxxx <jean-michel.hautbois@xxxxxxxxxxx> Date: Wed Feb 4 11:16:00 2015 -0300 [media] media: adv7604: CP CSC uses a different register on adv7604 and adv7611 The bits are the same, but register is 0xf4 on ADV7611 instead of 0xfc. When reading back the value in log_status, differentiate both. Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 61765a50323977a5fde86f736f0e55a5e680fbcf Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed Feb 11 11:20:54 2015 -0300 [media] si470x: fixup wait_for_completion_timeout return handling return type of wait_for_completion_timeout is unsigned long not int. A appropriately named variable of type unsigned long is added and the assignments fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b6cca54fc80d54c92afa92431bfb9f8d7f9a23cd Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Sun Feb 8 19:29:11 2015 -0300 [media] media: bcm2048: remove unused return of function Integer return of bcm2048_parse_rds_rt () is never used, changing the return type to void. Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5851462531b5c08811057b4530cdb3170e22ac2a Author: jean-michel.hautbois@xxxxxxxxxxx <jean-michel.hautbois@xxxxxxxxxxx> Date: Fri Feb 6 11:37:58 2015 -0300 [media] media: i2c: ADV7604: In free run mode, signal is locked The CP_NON_STD_VIDEO bit indicates an input not aligned with DV timings. If there is no input, and chip is in free run mode, consider we are locked. Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxx> [hans.verkuil@xxxxxxxxx: put both conditions in one 'if'] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8aa9eb9059f6246b530d664f271e5c32858222ed Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 15:00:25 2015 -0300 [media] au0828: Delete unnecessary checks before the function call "video_unregister_device" The video_unregister_device() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 704b3f4c11e0b1265a41472b6b25dd9e3d205674 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 14:36:35 2015 -0300 [media] stk-webcam: Delete an unnecessary check before the function call "vfree" The vfree() function performs also input parameter validation. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d585c1e14a84f08a4a714553d9fc459ee697ff95 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Wed Feb 4 06:07:32 2015 -0300 [media] vivid sdr: fix broken sine tone generated for sdr FM FM (frequency modulated) signal for SDR is generated by varying the phase, where phase variation is proportional to input signal. It is seen that, the larger phase increments leads to discontinuities in the signal recovered after demodulation. Reducing the extent of phase variation with respect to input signal, equivalent to reducing the modulation index. Tested using FM receiver flow graph in gnuradio-companion. Cc: Antti Palosaari <crope@xxxxxx> Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4e30a37345e6f723553d457becc423efa4bf2703 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Wed Feb 4 06:07:31 2015 -0300 [media] vivid sdr: Use LUT based implementation for sin/cos() The common implementation for sin/cos in include/linux/fixp-arith.h has been improved recently to provide higher precision. Replacing native implementation of sin/cos in vivid sdr with common implementation. This serves two purposes: 1. Improved accuracy: the native implementation based on the Taylor series is more prone to rounding errors. 2. Reuse of common function: this is better compared to maintaining native versions for each driver. Suggested by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Antti Palosaari <crope@xxxxxx> Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 559addc25b00ff3a40eff03a0b3873c2b6d726f8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 4 06:07:30 2015 -0300 [media] fixp-arith: replace sin/cos table by a better precision one The cos table used at fixp-arith.h has only 8 bits of precision. That causes problems if it is reused on other drivers. As some media drivers require a higher precision sin/cos implementation, replace the current implementation by one that will provide 32 bits precision. The values generated by the new implementation matches the 32 bit precision of glibc's sin for an angle measured in integer degrees. It also provides support for fractional angles via linear interpolation. On experimental calculus, when used a table with a 0.001 degree angle, the maximum error for sin is 0.000038, which is likely good enough for practical purposes. There are some logic there that seems to be specific to the usage inside ff-memless.c. Move those logic to there, as they're not needed elsewhere. Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 96df988bb935959e6380c2333e03911839079ee1 Author: Christian Engelmayer <cengelma@xxxxxx> Date: Sat Feb 14 20:12:56 2015 -0300 [media] cx88: Fix possible leak in cx8802_probe() In case allocation vb2_dma_sg_init_ctx() fails during cx8802_probe(), the already allocated cx8802 device structure memory is not freed in the used exit path. Thus adapt the cleanup handling accordingly. Detected by Coverity CID 1260065. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2160abb2945831aaf50d176ef6d070bdbd19130d Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Fri Feb 13 19:39:03 2015 -0300 [media] sh_vou: fix memory leak on error paths in sh_vou_open() Memory allocated for sh_vou_file is not deallocated on error paths in sh_vou_open(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6ab6a026bc2c8a88aaaa6df86ea543280e25e0f1 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Feb 13 07:32:16 2015 -0300 [media] DocBook media: fix validation error <tgroup> doesn't understand the 'border' attribute. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 92afdc1bf1f2100d6c634a131421cd112bad5a48 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Fri Feb 13 05:52:10 2015 -0300 [media] staging: dt3155v4l: Switch to using managed resource with devm_ This patch uses managed resource APIs to allocate memory in order to simplify the driver unload or failure cases Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 50d8e46faf2a6db86f2281425780ff55030fd6c5 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Feb 12 11:11:40 2015 -0300 [media] timberdale: VIDEO_TIMBERDALE should depend on HAS_DMA If NO_DMA=y: warning: (VIDEO_OMAP2_VOUT && VIDEO_VIU && VIDEO_TIMBERDALE) selects VIDEOBUF_DMA_CONTIG which has unmet direct dependencies (MEDIA_SUPPORT && HAS_DMA) drivers/built-in.o: In function `__videobuf_dc_free': videobuf-dma-contig.c:(.text+0x6f4d32): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `__videobuf_dc_alloc': videobuf-dma-contig.c:(.text+0x6f4fe6): undefined reference to `dma_alloc_coherent' drivers/built-in.o: In function `__videobuf_mmap_mapper': videobuf-dma-contig.c:(.text+0x6f518e): undefined reference to `dma_free_coherent' Commit 244829226f47ffb4 ("[media] timberdale: do not select TIMB_DMA") dropped the dependency of VIDEO_TIMBERDALE on DMADEVICES, and thus the implicit dependency on HAS_DMA. VIDEO_TIMBERDALE selects VIDEOBUF_DMA_CONTIG, which bypasses its dependency on HAS_DMA. Make VIDEO_TIMBERDALE depend on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a5d7c92c1b8009fec4aab25bdb6f15111ea9218b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Feb 12 11:11:39 2015 -0300 [media] am437x: VIDEO_AM437X_VPFE should depend on HAS_DMA If NO_DMA=y: warning: (VIDEO_AM437X_VPFE && VIDEO_DM365_VPFE && VIDEO_DT3155 && VIDEO_OMAP4) selects VIDEOBUF2_DMA_CONTIG which has unmet direct dependencies (MEDIA_SUPPORT && HAS_DMA) drivers/media/v4l2-core/videobuf2-dma-contig.c: In function â??vb2_dc_mmapâ??: drivers/media/v4l2-core/videobuf2-dma-contig.c:207: error: implicit declaration of function â??dma_mmap_coherentâ?? drivers/media/v4l2-core/videobuf2-dma-contig.c: In function â??vb2_dc_get_base_sgtâ??: drivers/media/v4l2-core/videobuf2-dma-contig.c:390: error: implicit declaration of function â??dma_get_sgtableâ?? VIDEO_AM437X_VPFE selects VIDEOBUF2_DMA_CONTIG, which bypasses its dependency on HAS_DMA. Make VIDEO_AM437X_VPFE depend on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9713883b0fa3a8afbff0cd2282d689719d7c39c2 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed Feb 4 10:03:11 2015 -0300 [media] cx231xx: drop condition with no effect The if and the else code are identical - so the condition has no effect on the effective code. This patch removes the condition and the duplicated code. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dd3001490834e10615d9eb229b3e9bbcc0070541 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Feb 12 09:41:57 2015 +0100 ASoC: tegra: Add control for the Mic Jack pin So userspace can enable and disable the external microphone. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3a4562f756617b4b210fc487bfe23853a450d3c1 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Feb 12 09:41:56 2015 +0100 ASoC: tegra: Add sink for the internal mic to tegra_max98090 Also adds a control for the pin of the internal mic, so userspace can apply policy when the state of the external mic jack changes. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a0cf43e2f0f391dad7882febbf04423e73e3ff99 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Feb 12 09:41:55 2015 +0100 ASoC: tegra: Expose Headphones pin to userspace So userspace can enable or disable it based on the current policy. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 05a25fd53e75ab893cb7b4a49f01994b877ded2c Merge: cbca407 7006877 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Mar 2 17:25:12 2015 +0000 Merge branch 'fix/rt5677' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rt5677 commit cbca4076d156c93cedadabb0e463ba0db16bb166 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Feb 25 17:36:14 2015 +0800 ASoC: rt5677: Keep the LDO2 powered while used in the suspend mode The patch keeps the ldo2 power while the DSP function of "Voice Wake Up" used in the suspend mode. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ab1f70952f61504f60805f13660c8740adcbe14f Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Feb 11 19:18:51 2015 +0800 ASoC: rt5677: Add the chip type to distinguish the setting of the clock source There is only one clock source in the rt5676, so the chip type is added to distinguish the setting of the clock source in the VAD function. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f704eab5b6beff878fc68dca800a4979ec97a15c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Mar 2 14:17:01 2015 -0300 [media] siano: avoid a linkedit error if !MC If the media controller (MC) is not enabled, it will compile fine, but will fail at the linkedition: ERROR: "media_device_unregister" [drivers/media/usb/siano/smsusb.ko] undefined! Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 295458e67284f57d154ec8156a22797c0cfb044a Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Feb 19 17:34:46 2015 +0300 cgroup: call cgroup_subsys->bind on cgroup subsys initialization Currently, we call cgroup_subsys->bind only on unmount, remount, and when creating a new root on mount. Since the default hierarchy root is created in cgroup_init, we will not call cgroup_subsys->bind if the default hierarchy is freshly mounted. As a result, some controllers will behave incorrectly (most notably, the "memory" controller will not enable hierarchy support). Fix this by calling cgroup_subsys->bind right after initializing a cgroup subsystem. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ee655c2968a0d224484c91f07456d3a213463af6 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Sat Feb 28 22:25:06 2015 +0000 dmaengine: s3c24xx: Fix spelling mistake in dev_err mistake Fix spelling mistake, "aquire" -> "acquire" and missing newline (as spotted by Joe Perches. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ce037f19aaef992c634af653b17e61eee30a9404 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Nov 25 06:30:25 2014 -0300 [media] media: atmel-isi: increase the burst length to improve the performance The burst length could be BEATS_4/8/16. Before this patch, isi use default value BEATS_4. To imporve the performance we could set it to BEATS_16. Otherwise sometime it would cause the ISI overflow error. Reported-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ea232b3f7233f9242e5a1287377fedb6972dfea4 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Wed Jan 7 10:19:12 2015 +0800 ASoC: rt5670: add API to select ASRC clock source When codec is in slave mode, ASRC can suppress noise for asynchronous MCLK and LRCLK or special I2S format. This patch defines an API to select the clock source for specified filters. And the codec driver will turn on ASRC for these filters if ASRC is selected as their clock source. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3aebec3a701e70d6fe2816891e5abea066492779 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Jan 7 10:19:06 2015 +0800 ASoC: rt5670: redefine ASRC control registers 0x84 and 0x85 The previous definition of registers 0x84 and 0x85 doesn't match the datasheet. So this patch removes the wrong definition and writes a new one for the two registers. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 77e3ea2801c8ca4700e6b17053b625b8a981ac77 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Dec 15 15:42:34 2014 +0800 ASoC: rt5670: Keep sysclk on if JD func is used System clock is necessary for rt5670 JD function. We assume system clock source will be set in machine driver. So there are two things left we should do in codec driver. 1. Set sysclk to codec internal clock in probe since machine driver may not do that before JD function is registered. 2. Power up PLL once sysclk source is switched to PLL. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 64e89e5f55484d289c8b326521e5a12291e2283e Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Dec 15 15:42:33 2014 +0800 ASoC: rt5670: Add runtime PM support This patch adds runtime PM support on rt5670 codec. Signed-off-by: Lin Mengdong <mengdong.lin@xxxxxxxxx> Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 223c055aa0eb7e606eb7132e339ce66bb8d7be0d Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Thu Dec 18 11:32:52 2014 +0800 ASoC: rt5670: set platform data by dmi This patch set specific data according to dmi data. Signed-off-by: Jin, Yao <yao.jin@xxxxxxxxx> Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 543d976fa2ebf5543bd07b5d487bf3a6144c0886 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Mar 2 09:59:05 2015 +0200 perf tools: Initialize cpu set in pthread_attr_setaffinity_np feature test Feature tests are compiled but not executed, however it might avoid a future uninitialized variable warning, so initialize the cpu set. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-tip-commits@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/54F41849.1010906@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0104fe69e0287cf3635657b4c6b26a18e0091697 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Mon Mar 2 21:49:46 2015 +0900 perf probe: Remove bias offset to find probe point by address Remove bias offset to find probe point by address. Without this patch, probe points on kernel and executables are shown correctly, but do not work with libraries: # ./perf probe -l probe:do_fork (on do_fork@kernel/fork.c) probe_libc:malloc (on malloc in /usr/lib64/libc-2.17.so) probe_perf:strlist__new (on strlist__new@util/strlist.c in /home/mhiramat/ksrc/linux-3/tools/perf/perf) Removing bias allows it to show it as real place: # ./perf probe -l probe:do_fork (on do_fork@kernel/fork.c) probe_libc:malloc (on __libc_malloc@malloc/malloc.c in /usr/lib64/libc-2.17.so) probe_perf:strlist__new (on strlist__new@util/strlist.c in /home/mhiramat/ksrc/linux-3/tools/perf/perf) Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150302124946.9191.64085.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 79702f614187f652a814061e8f5875ddcc9e732d Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Sat Feb 28 11:53:29 2015 +0900 perf probe: Warn if given uprobe event accesses memory on older kernel Warn if given uprobe event accesses memory on older kernel. Until 3.14, uprobe event only supports accessing registers so this warns to upgrade kernel if uprobe-event returns -EINVAL and an argument of the event accesses memory ($stack, @+offset, and +|-offs() symtax). With this patch (on 3.10.0-123.13.2.el7.x86_64); ----- # ./perf probe -x ./perf warn_uprobe_event_compat stack=-0\(%sp\) Added new event: Failed to write event: Invalid argument Please upgrade your kernel to at least 3.14 to have access to feature -0(%sp) Error: Failed to add events. ----- Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228025329.32106.70581.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit de5349fa439dd32d432cd401eb2decfae20b9f74 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 10:18:49 2015 +0100 perf tools: Improve 'libbabel' feature check failure message On Debian-ish systems libbabeltrace-dev should be suggested as a package install as well. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228091849.GA28959@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b49f1a4be701c2386ccc7496dc8442cf26424d5c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 10:16:27 2015 +0100 perf tools: Improve feature test debuggability Certain feature tests fail with link errors: triton:~/tip/tools/perf/config/feature-checks> make test-libbabeltrace.bin gcc -MD -o test-libbabeltrace.bin test-libbabeltrace.c # -lbabeltrace provided by /tmp/cc6dRSqd.o: In function `main': test-libbabeltrace.c:(.text+0xf): undefined reference to `bt_ctf_stream_class_get_packet_context_type' although they should already fail with a build error due to lack of a proper prototype for the function. Due to this I first tried to find which library was missing - while it was the whole feature that was missing from the .h file already. To solve this, propagate -Wall -Werror to all testcases and remove them from testcase Makefile rules that used them explicitly. A missing feature now outputs: triton:~/tip/tools/perf/config/feature-checks> make test-libbabeltrace.bin gcc -MD -Wall -Werror -o test-libbabeltrace.bin test-libbabeltrace.c # -lbabeltrace provided by test-libbabeltrace.c: In function â??mainâ??: test-libbabeltrace.c:6:2: error: implicit declaration of function â??bt_ctf_stream_class_get_packet_context_typeâ?? [-Werror=implicit-function-declaration] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228091627.GF31887@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0189d7c45acd9fc9a7e6876dc55bc44ae8dc9a37 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 09:46:42 2015 +0100 perf tools: Improve libbfd detection message Before: No bfd.h/libbfd found, install binutils-dev[el]/zlib-static to gain symbol demangling After: No bfd.h/libbfd found, please install binutils-dev[el]/zlib-static/libiberty-dev to gain symbol demangling Change the message to the standard 'please install' language and also add libiberty-dev suggestion for Ubuntu systems. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228084610.GE31887@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a954e68402f9cac000ad7ea57df6040fe5ef455a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 09:39:09 2015 +0100 perf tools: Improve libperl detection message Before: Missing perl devel files. Disabling perl scripting support, consider installing perl-ExtUtils-Embed After: Missing perl devel files. Disabling perl scripting support, please install perl-ExtUtils-Embed/libperl-dev Change the message to the standard 'please install' language and adds Debian-ish package suggestion. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228083909.GC31887@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6c5aa23704e2786eb1a2a733165eef95c4375f41 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 09:33:45 2015 +0100 perf tools: Improve Python feature detection messages Change the Python detection message from: config/Makefile:566: No python-config tool was found config/Makefile:566: Python support will not be built config/Makefile:565: No 'python-config' tool was found: disables Python support - please install python-devel/python-dev It's now a standard one-line message with a package install suggestion, and it also uses the standard language used by other feature detection messages. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228083345.GB31887@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a6a76ba9ea03fe22eb28a6a19482d547b8773001 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 09:17:50 2015 +0100 perf tools: Remove annoying extra message from the features build This message: Makefile:153: The path 'python-config' is not executable. Appears on every perf build that does not have a sufficient python environment installed. It's really just an internal detail of python configuration pass and users should not see it - and it's pretty meaningless to them in any case because the message is not very helpful. (So it's not executable. Why does that matter? What can the user do about it?) Remove the warning, the missing python feature warning is sufficient: config/Makefile:566: No python-config tool was found config/Makefile:566: Python support will not be built although even that one isn't very helpful to users: so no Python support will be built, what can the user do to fix that? Most other such warnings give package install suggestions. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228081750.GA31887@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 97fe9253592241572711d3c1818c0b586d2f34b2 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 09:12:48 2015 +0100 perf tools: Add PERF-FEATURES to the .gitignore file It's an auto-generated file. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150228081248.GA31856@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9a75606ca06d94aab1ed0dbe96935e3f89dfb81c Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Mar 2 12:13:33 2015 +0900 perf record: Document --group option The 'perf record --group' option lacks documentation and confuses users. As -e/--event option already supports group spec, it should not be used anymore. Also add a short description of event group itself. Reported-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425266013-5034-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 08b23f4e635fa42a1d3ebdf31b8bb720f17d6c14 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Mar 2 13:53:58 2015 +0900 perf record: Get rid of -l option from Documentation The perf record does not support -l option anymore, so nuke it. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1425272038-10406-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b11db6581beaccef8ae9a388ae96074aa5cc144f Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Mar 2 13:31:03 2015 +0900 perf tools: Fix build error on ARCH=i386/x86_64/sparc64 He Kuang reported that current perf tools failed to build when ARCH variable was given like above. It was because the name is different that internal directory name. I can see that David's sparc64 build has same problem. So fix it by applying the sed conversion script to the command line ARCH variable also, and fixing the converted name there (i.e. i386/x86_64 -> x86, sparc64 -> sparc). Reported-by: He Kuang <hekuang@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: He Kuang <hekuang@xxxxxxxxxx> Acked: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1425270663-10215-1-git-send-email-namhyung@xxxxxxxxxx [ Resolved conflict with 4861f87cd3d1 "Make sparc64 arch point to sparc" ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9b6cc9a807c79c3c356af6f4e6c55e62c6554226 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Feb 8 17:11:50 2015 +0100 bcma: enable support for PCIe Gen 2 host devices Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 804e27dee49e20c0addd1b7276654220cc3768ae Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Feb 8 17:11:49 2015 +0100 bcma: support bringing up bus hosted on PCIe Gen 2 Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5b6ff664c8959d715e785b9465b042407a5d87a0 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Feb 8 17:11:48 2015 +0100 bcma: change IRQ control function to accept bus as an argument It doesn't operate on PCI core, but PCI host device, so there is no point of passing core related struct. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4186721d02b71ae943e60bbf50d3488fd5fd6adb Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Feb 8 17:11:47 2015 +0100 bcma: add helpers bringing PCIe hosted bus up / down Bringing PCIe hosted bus up requires operating on host-related core. Since we plan to support PCIe Gen 2 devices we should provide a helper picking the correct one (PCIE or PCIE2). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0e661006370b7e7fb9ac9d94f9c3500a62cd559b Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Feb 16 07:49:07 2015 -0300 [media] vb2: fix 'UNBALANCED' warnings when calling vb2_thread_stop() Stopping the vb2 thread (as used by several DVB devices) can result in an 'UNBALANCED' warning such as this: vb2: counters for queue ffff880407ee9828: UNBALANCED! vb2: setup: 1 start_streaming: 1 stop_streaming: 1 vb2: wait_prepare: 249333 wait_finish: 249334 This is due to a race condition between stopping the thread and calling vb2_internal_streamoff(). While I have not been able to deduce the exact mechanism how this race condition can produce this warning, I can see that the way the stream is stopped is likely to lead to a race somewhere. This patch simplifies how this is done by first ensuring that the thread is completely stopped before cleaning up the vb2 queue. It does that by setting threadio->stop to true, followed by a call to vb2_queue_error() which will wake up the thread. The thread sees that 'stop' is true and it will exit. The call to kthread_stop() waits until the thread has exited, and only then is the queue cleaned up by calling __vb2_cleanup_fileio(). This is a much cleaner sequence and the warning has now disappeared. Reported-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Tested-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.18 and up Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ba8b6ae6e91ed4d866f83b026138cc75a955e101 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Feb 8 11:51:47 2015 +0100 brcmfmac: respect reason when deleting (deauthenticating) STA Starting with kernel 3.19 reason is provided by cfg80211. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4aa5f4f7bb8bc41cba15bcd0d80c4fb085027d6b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Feb 27 19:52:10 2015 -0300 perf tools: Fix FORK after COMM when synthesizing records for pre-existing threads In this commit: commit 363b785f3805a2632eb09a8b430842461c21a640 Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Fri Mar 14 10:43:44 2014 -0400 perf tools: Speed up thread map generation We ended up emitting PERF_RECORD_FORK events after their corresponding PERF_RECORD_COMM, so the code below will remove the "existing thread" and then recreates it, unnecessarily: [root@ssdandy ~]# perf probe -x ~/bin/perf -L machine__process_fork_event <machine__process_fork_event@/home/acme/git/linux/tools/perf/util/machine.c:0> 0 int machine__process_fork_event(struct machine *machine, union perf_event *event, struct perf_sample *sample) 2 { 3 struct thread *thread = machine__find_thread(machine, event->fork.pid, event->fork.tid); 6 struct thread *parent = machine__findnew_thread(machine, event->fork.ppid, event->fork.ptid); /* if a thread currently exists for the thread id remove it */ if (thread != NULL) 12 machine__remove_thread(machine, thread); 14 thread = machine__findnew_thread(machine, event->fork.pid, event->fork.tid); 16 if (dump_trace) 17 perf_event__fprintf_task(event, stdout); 19 if (thread == NULL || parent == NULL || 20 thread__fork(thread, parent, sample->time) < 0) { 21 dump_printf("problem processing PERF_RECORD_FORK, skipping event.\n"); 22 return -1; } 25 return 0; 26 } [root@ssdandy ~]# perf probe -x ~/bin/perf fork_after_comm=machine__process_fork_event:12 Added new event: probe_perf:fork_after_comm (on machine__process_fork_event:12 in /home/acme/bin/perf) You can now use it in all perf tools, such as: perf record -e probe_perf:fork_after_comm -aR sleep 1 [root@ssdandy ~]# [root@ssdandy ~]# perf record -g -e probe_perf:* trace -o /tmp/bla ^C[ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.021 MB perf.data (30 samples) ] Terminated [root@ssdandy ~]# [root@ssdandy ~]# perf report --no-children --show-total-period --stdio # To display the perf.data header info, please use --header/--header-only options. # # Samples: 30 of event 'probe_perf:fork_after_comm' # Event count (approx.): 30 # # Overhead Period Command Shared Object Symbol # ........ ............ ....... ............. ............................... # 100.00% 30 trace trace [.] machine__process_fork_event | ---machine__process_fork_event __event__synthesize_thread.part.2 perf_event__synthesize_threads cmd_trace main __libc_start_main [root@ssdandy ~]# And Looking at 'perf report -D' output we see it: 0 0 0x8698 [0x30]: PERF_RECORD_COMM: auditd:703/707 0 0 0x86c8 [0x38]: PERF_RECORD_FORK(703:707):(703:703) Fix it by more closely mimicking how the kernel generates those records when a new fork happens, i.e. first a PERF_RECORD_FORK, then a PERF_RECORD_COMM. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-h0emvymi2t3mw8dlqd6d6z73@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3b4331d9a4f2d99603c38bfcac79943b7c6c5439 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Fri Feb 13 18:40:58 2015 +0000 perf stat: Report unsupported events properly Commit 1971f59 (perf stat: Use read_counter in read_counter_aggr ) broke the perf stat output for unsupported counters. $ perf stat -v -a -C 0 -e CCI_400/config=24/ sleep 1 Warning: CCI_400/config=24/ event is not supported by the kernel. Performance counter stats for 'system wide': 0 CCI_400/config=24/ 1.080265400 seconds time elapsed Where it used to be : $ perf stat -v -a -C 0 -e CCI_400/config=24/ sleep 1 Warning: CCI_400/config=24/ event is not supported by the kernel. Performance counter stats for 'system wide': <not supported> CCI_400/config=24/ 1.083840675 seconds time elapsed This patch fixes the issues by checking if the counter is supported, before reading and logging the counter value. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Tested-by: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423852858-8455-1-git-send-email-suzuki.poulose@xxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c65568c5456e5216e5467e81d1e04c1f5bdd453f Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Wed Feb 18 18:59:31 2015 -0500 perf tools: Compare JOBS to 0 after grep If JOBS is not by user perf tries to autodetect the number by grepping the number of CPUs from /proc/cpuinfo. 'grep -c' will always return an integer so after this command JOBS should be compared to 0, not "". Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424303971-91904-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ecefde629fadd3fcca2ea4c6a799d6e6aab8781f Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Thu Feb 19 13:22:33 2015 -0500 perf tools: Only include tsc file for x86 The perf_time_to_tsc and tsc_to_perf_time functions are only used for x86. Make inclusion of tsc.c dependent on x86 as well. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <david.ahern@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424370153-128274-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 33be4ef116511f1079c4c3bf4b5547faf7439301 Merge: 788b94b 021f5f1 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Mar 2 11:45:49 2015 -0300 Merge 'tip/perf/urgent' into perf/core to pick fixes Needed to build perf/core buildable in some cases. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 984f66432e357701194abc7f753dcad89a1f9de3 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Jan 30 11:32:01 2015 +0100 gpio: max732x: convert to GPIOLIB_IRQCHIP Take a sweep to bring the irq support for the MAX732x expanders into the gpiolib core to cut down on duplicated code. Only compile tested! I need some feedback from people using this expander with interrupts to tell me if things go right or wrong when I do this. Cc: Semen Protsenko <semen.protsenko@xxxxxxxxxxxxxxx> Cc: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fd9c963c5661af3403e77e312c0d9941773b6c1b Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jan 30 18:26:25 2015 +0800 gpio: mb86s70: Return error if requesting an already assigned gpio Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 89a2c1d60aa2cfcf4c9f194b4c923d72182be431 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Mar 2 11:26:14 2015 -0300 [media] use a function for DVB media controller register This is really a simple function, but using it avoids to have if's inside the drivers. Also, the kABI becomes a little more clearer. This shouldn't generate any overhead, and the type check will happen when compiling with MC DVB enabled. So, let's do it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 872b9dbedd4040f4511c909a09d39330624f057b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Mar 2 10:53:46 2015 -0300 [media] dvb: Avoid warnings when compiled without the media controller drivers/media/usb/dvb-usb-v2/dvb_usb_core.c: In function â??dvb_usbv2_adapter_dvb_exitâ??: drivers/media/usb/dvb-usb-v2/dvb_usb_core.c:531:25: warning: unused variable â??dâ?? [-Wunused-variable] struct dvb_usb_device *d = adap_to_d(adap); ^ drivers/media/usb/dvb-usb-v2/dvb_usb_core.c:403:13: warning: â??dvb_usbv2_media_device_registerâ?? defined but not used [-Wunused-function] static void dvb_usbv2_media_device_register(struct dvb_usb_adapter *adap) drivers/media/usb/dvb-usb/dvb-usb-dvb.c:97:13: warning: â??dvb_usb_media_device_registerâ?? defined but not used [-Wunused-function] static void dvb_usb_media_device_register(struct dvb_usb_adapter *adap) ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 480884b647c7efecb904a9ed022ee533afb9cb80 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Mar 2 10:49:04 2015 -0300 [media] dvbdev: use adapter arg for dvb_create_media_graph() Instead of using media_dev argument for dvb_create_media_graph(), use the adapter. That allows to create a stub for this function, if compiled without DVB support, avoiding to add extra if's at the drivers. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 52c47b63412b0946fcf3c04b5e152df41fc7eca5 Author: Alison Chaiken <alison_chaiken@xxxxxxxxxx> Date: Wed Feb 18 23:24:10 2015 -0800 bus: imx-weim: improve error handling upon child probe-failure Probe all children of the WEIM node, reporting any failures. Report failure from parsing of WEIM node itself if probes of all children fail. Signed-off-by: Alison Chaiken <alison_chaiken@xxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 020b37ac66c5fcec70b6fa51113b84bdfff6a4bc Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Mon Mar 2 22:05:49 2015 +1030 x86: Fix up obsolete __cpu_set() function usage Thanks to spatch, plus manual removal of "&*". Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1425296150-4722-8-git-send-email-rusty@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e654df7a1a4843429b5d1d6ee40cac9ecef75304 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:30 2015 +0800 ARM: imx6q: clk: Add support for mipi_ipg clock as a shared clock gate The CG8 field of the CCM CCGR3 register is the 'mipi_core_cfg' gate clock, according to the i.MX6q/sdl reference manuals. This clock is actually the gate for several clocks, including the ipg clock's output. The MIPI DSI host controller embedded in the i.MX6q/sdl SoCs takes the ipg clock as the pclk - the APB clock signal . In order to gate/ungate the ipg clock, this patch adds a new shared clock gate named as "mipi_ipg". Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 5ccc248cc53708337a2bfe4ea380c20948e8bbed Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:29 2015 +0800 ARM: imx6q: clk: Add support for mipi_core_cfg clock as a shared clock gate The CG8 field of the CCM CCGR3 register is named as 'mipi_core_cfg' clock, according to the i.MX6q/sdl reference manuals. This clock is actually the gate for several clocks, including the hsi_tx_sel clock's output and the video_27m clock's output. The MIPI DSI host controller embedded in the i.MX6q/sdl SoCs uses the video_27m clock to generate PLL reference clock and MIPI core configuration clock. In order to gate/ungate the two MIPI DSI host controller relevant clocks, this patch adds the mipi_core_cfg clock as a shared clock gate. Suggested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 721fee59d26e46700476f4c70572e9e0f1cc8fd3 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:28 2015 +0800 ARM: imx6q: clk: Change hsi_tx clock to be a shared clock gate The CG8 field of the CCM CCGR3 register is named as 'mipi_core_cfg' clock, according to the i.MX6q/sdl reference manuals. This clock is actually the gate for several clocks, including the hsi_tx_sel clock's output and the video_27m clock's output. So, this patch changes the hsi_tx clock to be a shared clock gate. Suggested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 974a7115986ee5d0b2db9cc8cd551e6f88e01378 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:27 2015 +0800 ARM: imx6q: clk: Change hdmi_isfr clock's parent to be video_27m clock According to the table 33-1 in the i.MX6Q reference manual, the hdmi_isfr clock's parent should be the video_27m clock. The i.MX6DL reference manual has the same statement. This patch changes the hdmi_isfr clock's parent from the pll3_pfd1_540m clock to the video_27m clock. Suggested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 8f21d8d42802a68daef5a34daca8b61df96ff8c6 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:26 2015 +0800 ARM: imx6q: clk: Add the video_27m clock This patch supports the video_27m clock which is a fixed factor clock of the pll3_pfd1_540m clock. Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 5f80e19081e233698c8ea77ed2dd84a66f49fc54 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Thu Feb 12 14:01:25 2015 +0800 ARM: imx6q: Add GPR3 MIPI muxing control register field shift bits definition This patch adds a macro to define the GPR3 MIPI muxing control register field shift bits. Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 666f41afc20fe87ffa00a8feba83b28bb956e976 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Feb 6 20:09:47 2015 -0200 ARM: imx_v4_v5_defconfig: Add VFAT support Select CONFIG_VFAT_FS by default. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 90f3700e75afc66d0a7aec9b76025575e3ebd18f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Feb 6 20:09:46 2015 -0200 ARM: mxs_defconfig: Add VFAT support Select CONFIG_VFAT_FS by default. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 5f15893943bfdc804e8703c5aa2c8dd8bf7ddf3f Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Mon Feb 16 11:32:28 2015 +0100 netfilter: nft_compat: add support for arptables extensions This patch adds support to arptables extensions from nft_compat. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit dc4d52149bd1f2f3ae48804731c63de523e42787 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Thu Feb 5 12:54:08 2015 +0000 fbdev: via/via_clock: fix sparse warning this patch fixes following sparse warning: via_clock.c:33:12: warning: symbol 'via_slap' was not declared. Should it be static? Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 5d802441a160efa27d51b884e9b6f98fc3c8decd Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Mon Feb 9 16:32:27 2015 +0530 video: fbdev: make of_device_id array const Make of_device_id array const. Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 233b2ebe90d381dc477f990b7624fa8d21df3e22 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Feb 10 18:07:32 2015 +0530 fbdev: sm501fb: use memset_io we should really be using memset_io() instead of using memset() as this is actually io space mapped into our memory. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit d9850fc529efc0c1b3b938aab6916698dcf31f01 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Tue Feb 24 20:36:50 2015 +0100 crypto: powerpc/sha1 - kernel config Integrate the module into the kernel config tree. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 50ba29aaa7b03a8a35ceba12c9fcf184148f4aeb Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Tue Feb 24 20:36:45 2015 +0100 crypto: powerpc/sha1 - glue Glue code for crypto infrastructure. Call the assembler code where required. Disable preemption during calculation and enable SPE instructions in the kernel prior to the call. Avoid to disable preemption for too long. Take a little care about small input data. Kick out early for input chunks < 64 bytes and replace memset for context cleanup with simple loop. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 20f1b1f1f3bd594e05941fe9c7f50faab43ddbbf Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Tue Feb 24 20:36:40 2015 +0100 crypto: powerpc/sha1 - assembler This is the assembler code for SHA1 implementation with the SIMD SPE instruction set. With the enhanced instruction set we can operate on 2 32 bit words in parallel. That helps reducing the time to calculate W16-W79. For increasing performance even more the assembler function can compute hashes for more than one 64 byte input block. The state of the used SPE registers is preserved via the stack so we can run from interrupt context. There might be the case that we interrupt ourselves and push sensitive data from another context onto our stack. Clear this area in the stack afterwards to avoid information leakage. The code is endian independant. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b3e67c9112f6268045f78a61274fda2c7250c5c9 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sun Mar 1 19:19:26 2015 +0100 ARM: dts: meson: add DTS file for MINIX NEO-X8 Add a DTS file for MINIX NEO-X8, a Meson8-based digital media player. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> commit d9fea88c4f8ded4355018625f2c886c3c7c9b63d Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Jan 17 19:15:16 2015 +0100 ARM: dts: meson8: add pinctrl node Add pinctrl node to the DTSI file for meson8 and sub-nodes for some standard mux configurations. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> commit 2345d5058344b0dcd02bb602d64e796fcdbc8f34 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sun Mar 1 20:45:37 2015 +0100 ARM: dts: meson: enable Ethernet controller Add a node for the Ethernet controller to Meson DTS file and enable it on the Geniatech ATV1200 board. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> commit 03bb95124e100ecccd62604f3261584c6977f1e5 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sun Mar 1 20:39:51 2015 +0100 ARM: dts: meson: add node for SPIFC This adds a node for the SPI Flash Controller to the Amlogic Meson DTS. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> commit 3cada3a4daeee52499751f0bf350b6b0655c32ef Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Tue Jan 20 00:22:58 2015 +0100 of: Define board compatible for MINIX NEO-X8 Document the board compatible property for MINIX NEO-X8, a Meson8-based digital media player. While at it, move the other existing Meson board compatible to amlogic.txt. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> commit 50746eb488d20b42f840f34b16ca98c1696d9c62 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Tue Jan 20 00:22:57 2015 +0100 of: Add vendor prefix for MINIX Add MINIX Technology Limited to the list of device tree vendor prefixes. The company manufactures digital media players and mini-ITX motherboards. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> commit ec9c06831e7fcd01e0cef6f1a0038b1a0b86de28 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Jan 17 19:15:15 2015 +0100 ARM: meson: select PINCTRL_MESON and ARCH_REQUIRE_GPIOLIB Make sure that the Meson pinctrl driver is built whenever Meson support is enabled. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 190f1029757346b72f297729cf8e5c562f2e9d8c Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Tue Feb 17 12:45:21 2015 +0200 iwlwifi: mvm: don't override passive dwell in case of fragmented scan Currently scan params structure has only active or passive dwell time fields, passive one is used for fragmented scans too. FW needs the passive dwell time even when performing fragmented scan for calculating time between channels. Add a separate parameter for fragmented dwell time and pass both fragmented and passive to FW. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3ec50b5eec6b0e92f862ba48c837fa5437dcd4a4 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 3 14:29:36 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon low RSSI Lots of issues can be caught when the RSSI drops. Add the ability to collect the firmware data at that point. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5a756c20c44fe8b41d8adce090a2cdc95f10ab49 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 10 15:26:57 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon statistics It can be very useful to monitor the statistics and trigger a firmware dump when a certain value hits a certain offset. Since the statistics are huge, add a generic trigger. When the DWORD at offset X reaches value Y. Since there is another trigger before this one I can't add right now because of a dependency on mac80211, add a reserved entry to keep the enum in place. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 945d4202d95ed75c4af2968a02e58625d0558896 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Feb 15 17:16:16 2015 +0200 iwlwifi: mvm: restart firmware recording when no configuration is set Sometimes the firmware will have a hard coded configuration. In this case, the driver won't find any configuration in the firmware file, and it will have to re-start recording in case it has been stopped. This can't be done by the configuration host command since there is no such host command configured. Do that with the registers instead. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 917f39bb9ad295a701a47cb020ae91a2a0224d84 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 10 10:49:20 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon command response This will allow to collect the data as soon the firmware sends a specific notification of command response. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f35d9c55cd533076e5b9b083841acba5d5e4abad Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 10 10:49:51 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon channel switch We fire the trigger when the channel switch starts, but the delay is configurable. That makes is easier to catch channel switches that fail. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9d761fd8a58360e1d81e718f4f6e6b66935cde04 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Feb 2 12:44:23 2015 +0200 iwlwifi: mvm: add trigger for firmware dump upon missed beacons Missing beacons is a good indication that something is going wrong in the firmware. Add a trigger to be able to collect data when we start missing beacons with a configurable threshold. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b6eaa45aa18bf010fd54cdac0e3007dfdd7f3f8a Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jan 29 14:58:20 2015 +0200 iwlwifi: mvm: add the cause of the firmware dump in the dump Now that the firmware dump can be triggered by events in the code and not only the user or an firmware ASSERT, we need a way to know why the firmware dump was triggered. Add a section in the dump file for that. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d2709ad723ff2ae22013978ed6ec29cf1b9b8332 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jan 29 14:58:06 2015 +0200 iwlwifi: mvm: add framework for triggers for fw dump Most of the time, the issues we want to debug with the firmware dump mechanism are transient. It is then very hard to stop the recording on time and get meaningful data. In order to solve this, I add here an infrastucture of triggers. The user will supply a list of triggers that will start / stop the recording. We have two types of triggers: start and stop. Start triggers can start a specific configuration. The stop triggers will be able to kick the collection of the data with the currently running configuration. These triggers are given to the driver by the .ucode file - just like the configuration. In the next patches, I'll add triggers in the code. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ef17708e174fdc1ed5d10887ec2f3fc6f6c98d69 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Sun Feb 15 14:45:33 2015 +0200 iwlwifi: mvm: use only 40 ms for fragmented scan 20 ms fragments are no longer required by system. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ddf89ab10a93e8bb0ecf91a563a71d1cfb604c9f Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Feb 8 10:56:43 2015 +0200 iwlwifi: mvm: allow to force the Rx chains from debugfs This is useful to debug weird antenna problems. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0522588d2fdc7813338d2f02aec6e46dbc20431f Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Feb 12 12:33:09 2015 +0200 iwlwifi: add new TLV capability flag for BT PLCR Packet Level Co-Running is a BT Coex feature which is supported on certain devices only, hence the need for a TLV flag for it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e0ede17789b50537439931f974deeed9cb24026b Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Feb 13 21:37:09 2015 +0200 iwlwifi: mvm: don't iterate interfaces to disconnect in net-detect We shouldn't call iwl_mvm_d3_disconnect_iter() on the running interfaces when we are woken up due to net-detect, because it doesn't make sense. Additionally, this seems to set the IEEE80211_SDATA_DISCONNECT_RESUME flag that will cause a disconnection on the next resume (if a normal WoWLAN is used). To solve this, skip the iteration loop when net-detect is set. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reported-by: Samuel Tan <samueltan@xxxxxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ed99d846f1774e14c8705819c12469eb3855b54e Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Mar 2 11:49:23 2015 +0800 mei: bus: () can be static drivers/hv/vmbus_drv.c:51:5: sparse: symbol 'hyperv_panic_event' was not declared. Should it be static? drivers/hv/vmbus_drv.c:51:5: sparse: symbol 'hyperv_panic_event' was not declared. Should it be static? drivers/hv/vmbus_drv.c:51:5: sparse: symbol 'hyperv_panic_event' was not declared. Should it be static? drivers/hv/vmbus_drv.c:51:5: sparse: symbol 'hyperv_panic_event' was not declared. Should it be static? Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6556c38524f3a55427598af2d7fc9c1d9c75bdae Merge: 287f3a9 744d5a3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Mar 2 00:19:35 2015 -0500 Merge branch 'dropcount' Eyal Birger says: ==================== net: move skb->dropcount to skb->cb[] Commit 977750076d98 ("af_packet: add interframe drop cmsg (v6)") unionized skb->mark and skb->dropcount in order to allow recording of the socket drop count while maintaining struct sk_buff size. skb->dropcount was introduced since there was no available room in skb->cb[] in packet sockets. However, its introduction led to the inability to export skb->mark to userspace. It was considered to alias skb->priority instead of skb->mark. However, that would lead to the inabilty to export skb->priority to userspace if desired. Such change may also lead to hard-to-find issues as skb->priority is assumed to be alias free, and, as noted by Shmulik Ladkani, is not 'naturally orthogonal' with other skb fields. This patch series follows the suggestions made by Eric Dumazet moving the dropcount metric to skb->cb[], eliminating this problem at the expense of 4 bytes less in skb->cb[] for protocol families using it. The patch series include compactization of bluetooth and packet use of skb->cb[] as well as the infrastructure for placing dropcount in skb->cb[]. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 744d5a3e9fe2690dd85d9991dbb078301694658b Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:31 2015 +0200 net: move skb->dropcount to skb->cb[] Commit 977750076d98 ("af_packet: add interframe drop cmsg (v6)") unionized skb->mark and skb->dropcount in order to allow recording of the socket drop count while maintaining struct sk_buff size. skb->dropcount was introduced since there was no available room in skb->cb[] in packet sockets. However, its introduction led to the inability to export skb->mark, or any other aliased field to userspace if so desired. Moving the dropcount metric to skb->cb[] eliminates this problem at the expense of 4 bytes less in skb->cb[] for protocol families using it. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bc3b96f3b455bd14a8ccd83ffffc85625aba641 Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:30 2015 +0200 net: add common accessor for setting dropcount on packets As part of an effort to move skb->dropcount to skb->cb[], use a common function in order to set dropcount in struct sk_buff. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4772ef879a8f7d8c56118c2ae5a296fcf6f81d2 Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:29 2015 +0200 net: use common macro for assering skb->cb[] available size in protocol families As part of an effort to move skb->dropcount to skb->cb[] use a common macro in protocol families using skb->cb[] for ancillary data to validate available room in skb->cb[]. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2472d7613bd3bae40a7dc75539c0858d5b9e795a Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:28 2015 +0200 net: packet: use sockaddr_ll fields as storage for skb original length in recvmsg path As part of an effort to move skb->dropcount to skb->cb[], 4 bytes of additional room are needed in skb->cb[] in packet sockets. Store the skb original length in the first two fields of sockaddr_ll (sll_family and sll_protocol) as they can be derived from the skb when needed. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2cfdf9fcb85bf6c0bb4556384ba800b9f443f601 Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:27 2015 +0200 net: rxrpc: change call to sock_recv_ts_and_drops() on rxrpc recvmsg to sock_recv_timestamp() Commit 3b885787ea4112 ("net: Generalize socket rx gap / receive queue overflow cmsg") allowed receiving packet dropcount information as a socket level option. RXRPC sockets recvmsg function was changed to support this by calling sock_recv_ts_and_drops() instead of sock_recv_timestamp(). However, protocol families wishing to receive dropcount should call sock_queue_rcv_skb() or set the dropcount specifically (as done in packet_rcv()). This was not done for rxrpc and thus this feature never worked on these sockets. Formalizing this by not calling sock_recv_ts_and_drops() in rxrpc as part of an effort to move skb->dropcount into skb->cb[] Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6368c235777456ddaeaa61360186d8d03a61cb18 Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:26 2015 +0200 net: bluetooth: compact struct bt_skb_cb by converting boolean fields to bit fields Convert boolean fields incoming and req_start to bit fields and move force_active in order save space in bt_skb_cb in an effort to use a portion of skb->cb[] for storing skb->dropcount. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49a6fe055739a77ef910c283efb99928423c97a0 Author: Eyal Birger <eyal.birger@xxxxxxxxx> Date: Sun Mar 1 14:58:25 2015 +0200 net: bluetooth: compact struct bt_skb_cb by inlining struct hci_req_ctrl struct hci_req_ctrl is never used outside of struct bt_skb_cb; Inlining it frees 8 bytes on a 64 bit system in skb->cb[] allowing the addition of more ancillary data. Signed-off-by: Eyal Birger <eyal.birger@xxxxxxxxx> Reviewed-by: Shmulik Ladkani <shmulik.ladkani@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 287f3a943fef58c5c73e42545169443be379222f Author: Simon Farnsworth <simon@xxxxxxxxxxxx> Date: Sun Mar 1 10:54:39 2015 +0000 pppoe: Use workqueue to die properly when a PADT is received When a PADT frame is received, the socket may not be in a good state to close down the PPP interface. The current implementation handles this by simply blocking all further PPP traffic, and hoping that the lack of traffic will trigger the user to investigate. Use schedule_work to get to a process context from which we clear down the PPP interface, in a fashion analogous to hangup on a TTY-based PPP interface. This causes pppd to disconnect immediately, and allows tools to take immediate corrective action. Note that pppd's rp_pppoe.so plugin has code in it to disable the session when it disconnects; however, as a consequence of this patch, the session is already disabled before rp_pppoe.so is asked to disable the session. The result is a harmless error message: Failed to disconnect PPPoE socket: 114 Operation already in progress This message is safe to ignore, as long as the error is 114 Operation already in progress; in that specific case, it means that the PPPoE session has already been disabled before pppd tried to disable it. Signed-off-by: Simon Farnsworth <simon@xxxxxxxxxxxx> Tested-by: Dan Williams <dcbw@xxxxxxxxxx> Tested-by: Christoph Schulz <develop@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26caa3469a2de617d95c29371571a9585603a023 Author: Ivan Vecera <ivecera@xxxxxxxxxx> Date: Thu Feb 26 14:48:07 2015 +0100 bnx2: disable toggling of rxvlan if necessary The bnx2 driver uses .ndo_fix_features to force enable of Rx VLAN tag stripping when the card cannot disable it. The driver should remove NETIF_F_HW_VLAN_CTAG_RX flag from hw_features instead so it is fixed for the ethtool. Cc: Sony Chacko <sony.chacko@xxxxxxxxxx> Cc: Dept-HSGLinuxNICDev@xxxxxxxxxx Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91b3a68558ba37c69f1d9e2d23e34c3cba38e356 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Mar 1 19:58:57 2015 -0800 staging: lustre: Convert uses of "int rc = seq_printf(...)" The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Convert these uses to: seq_printf(seq, ...); return 0; Done via cocci script: @@ struct seq_file *seq; int i; @@ - i = seq_printf(seq, + seq_printf(seq, ...); ... - return i; + return 0; @@ struct seq_file *seq; int i; @@ - i = 0; - i += seq_printf(seq, + seq_printf(seq, ...); ... - return i; + return 0; With some additional reformatting and typing post conversion to remove the now unnecessary "int i;" declaration. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea373041bdfa0e580f09a9fbe6633cba62439430 Author: Arun Chandran <achandran@xxxxxxxxxx> Date: Sun Mar 1 11:38:03 2015 +0530 net: macb: Properly add DMACFG bit definitions Add *_SIZE macros for the bits ENDIA_DESC and ENDIA_PKT Signed-off-by: Arun Chandran <achandran@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62f6924cb1543a10d05150d77f9a5e01e12c9ce1 Author: Arun Chandran <achandran@xxxxxxxxxx> Date: Sun Mar 1 11:38:02 2015 +0530 net: macb: Add on the fly CPU endianness detection Program management descriptor's access mode according to the dynamically detected CPU endianness. Signed-off-by: Arun Chandran <achandran@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Tested-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 759c9359ae5a6ecdb74cad61a31be6805fb09617 Author: Shrikrishna Khare <skhare@xxxxxxxxxx> Date: Sat Feb 28 20:33:09 2015 -0800 Driver: Vmxnet3: Copy TCP header to mapped frame for IPv6 packets Allows for packet parsing to be done by the fast path. This performance optimization already exists for IPv4. Add similar logic for IPv6. Signed-off-by: Amitabha Banerjee <banerjeea@xxxxxxxxxx> Signed-off-by: Shrikrishna Khare <skhare@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9be10850f533895c360e2692a34a5be1d21cd8d Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 14 20:32:45 2015 -0800 Staging: iio: meter: ade7854-i2c: code style improvements Code reformatting based on checkpatch.pl with --strict: Comparison to NULL rewritten as !indio_dev Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cb8957b894a6c4eae44d9ccbfd3a0034e298aba Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 14 20:32:44 2015 -0800 Staging: iio: meter: ade7854-i2c: code style improvements Code reformatting based on checkpatch.pl with --strict: Lines over 80 characters were fixed Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08c95f9abf4c7d0f1886ac941fd8195004846386 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 14 20:32:43 2015 -0800 Staging: iio: meter: ade7854-i2c: code style improvements Code reformatting based on checkpatch.pl with --strict: Alignment should match open paranthesis cases corrected Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3de8e3719e582f3182bb504295e4a8e43c8c96f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:47 2015 +0200 mei: bus: call device disable handler prior to disconnection call device's disable handler prior to disconnection so it can possibly close the communication with fw client in graceful way Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9bed61053af13c0768f82c9d1c8793515dd067c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:46 2015 +0200 mei: allow read concurrency Replace clunky read state machine with read stack implemented as per client read list, this is important mostly for mei drivers with unsolicited reads Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 928fa6664b362aad70c16f04483414f60743e15e Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:45 2015 +0200 mei: simplify io callback disposal Simplify disposal of io callback by removing the callback implicitly from its lookup list inside mei_io_cb_free Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03b8d3419fdfc02d1984a0db51c8b74426e12605 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:44 2015 +0200 mei: add mei_cl_alloc_linked function Add convenient wrapper mei_cl_alloc_linked to simplify error handling Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bca67d681c4864b74fa5fae9ee47e562d1e272b1 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:43 2015 +0200 mei: always initialize the callback with the intended operation type We set the operation type at initialization time as each cb is used only for a single type of operation As a byproduct we add a convenient wrapper for allocating cb with the data buffer. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5db7514d9333c920791538c850cfb9dbd19025f7 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:42 2015 +0200 mei: use only one buffer in callback The callback structure is used exclusively for reading or writing therefore there is no reason to hold both response and request buffers in the callback structure Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 331e4187017e5dc12fddfcca3f8041e5610ea23b Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:41 2015 +0200 mei: iamthif: use regular client read functions Reduce code duplication in amthif by reusing regular client read functions. The change also removes the need for amthif own buffering Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8660172e1d6528be02eba78516ff8282e694bb26 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:40 2015 +0200 mei: iamthif: use client write functions Reduce code duplication in amthif code by reusing regular client write functions. Add completed flag to cb so amthif client can add rx credits on write completion Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c54bf3ab7536e062b507b625bfd2befb9b2cb841 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:39 2015 +0200 mei: iamthif: send flow control as a regular client Reuse common client mechanism for sending flow control hbm message. Add new function mei_amthif_read_start similar to mei_cl_read_start that puts control flow request onto the control write queue and drop mei_amthif_irq_read function Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e097bc5d5c948ff8a60ac38a5826f5b6699603d Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:38 2015 +0200 mei: iamthif: remove useless iamthif_ioctl variable iamthif_ioctl is obsolete and can be safely dropped Currently it is set to true during driver runtime Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db4756fd2f16efae8469dd1e37710919a0af9370 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:37 2015 +0200 mei: iamthif: fix device reset on mei_amthif_irq_read_msg On failure mei_amthif_irq_read_msg returns an error that will cause device reset but the issue is software one so instead we should propagate error to caller and just clean the read queues. As a side effect also removes useless BUG_ONs Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d33ff2457355a9dd3c3178b04ab6669882b306c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:36 2015 +0200 mei: fix device reset on mei_cl_irq_read_msg allocation failure On memory allocation failure mei_cl_irq_read_msg will return with error that will cause device reset. Instead we should propagate error to caller and just clean the read queues. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3908be6f9aa5517bc717f8ffdaaafd89a1b78471 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Feb 10 10:39:35 2015 +0200 mei: fix function names and format in KDoc Align functions names in KDoc with real ones. Fix comment format to be KDoc and fix wrong syntax there. 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 2d1995fce3f9b9a0bdb88d47144509e3b84db0f9 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Feb 10 10:39:34 2015 +0200 mei: me: change power gating function name conventions The current power gating naming was confusing, we wish to swap meanings of register and flow level power gating terms, For registers writing level use terms set and unset: mei_me_pg_set, mei_me_pg_unset For flow/high level use power gating enter and power gating exit terms mei_me_pg_enter_sync, mei_me_pg_exit_sync 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 a0a927d06d79d59c55ae7ac0b2fd7f3c0ea3c14c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:33 2015 +0200 mei: me: add io register tracing To make debugging a bit easier we add me register access tracing <debugfs>/tracing/events/mei/mei_reg_{read,write} Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 381a58c70985ca1256b0f51aa6694f79662bb166 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:32 2015 +0200 mei: me: use io register wrappers consistently 1. Use mei_device structure as the first argument to the io register access wrappers so we'll have access to the device structure needed for tracing. 2. Use wrapper consistently Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7d885145538ddedb1ae23b782ab7c7c0a856e9f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Feb 10 10:39:31 2015 +0200 mei: revamp me clients list handling 1. Use rw lock to access the me_clients list 2. Reuse already defined find functions also when removing particular me client 3. Add wrappers for addition and deletion Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9395e3f8952110bda60b54ad03ec52c6e9c7dbd Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:39:04 2015 -0800 Drivers: hv: vmbus: Suport an API to send packet with additional control Implement an API that gives additional control on the what VMBUS flags will be set as well as if the host needs to be signalled. This API will be useful for clients that want to batch up requests to the host. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87e93d61708fe2c44875d1ecdb174aad070dbd08 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:39:03 2015 -0800 Drivers: hv: vmbus: Suport an API to send pagebuffers with additional control Implement an API for sending pagebuffers that gives more control to the client in terms of setting the vmbus flags as well as deciding when to notify the host. This will be useful for enabling batch processing. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a13e8bbe851a96a0e78c2bd599bc34082fa697cd Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:39:02 2015 -0800 Drivers: hv: vmbus: Use a round-robin algorithm for picking the outgoing channel The current algorithm for picking an outgoing channel was not distributing the load well. Implement a simple round-robin scheme to ensure good distribution of the outgoing traffic. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96c1d0581d00f7abe033350edb021a9d947d8d81 Author: Nick Meier <nmeier@xxxxxxxxxxxxx> Date: Sat Feb 28 11:39:01 2015 -0800 Drivers: hv: vmbus: Add support for VMBus panic notifier handler Hyper-V allows a guest to notify the Hyper-V host that a panic condition occured. This notification can include up to five 64 bit values. These 64 bit values are written into crash MSRs. Once the data has been written into the crash MSRs, the host is then notified by writing into a Crash Control MSR. On the Hyper-V host, the panic notification data is captured in the Windows Event log as a 18590 event. Crash MSRs are defined in appendix H of the Hypervisor Top Level Functional Specification. At the time of this patch, v4.0 is the current functional spec. The URL for the v4.0 document is: http://download.microsoft.com/download/A/B/4/AB43A34E-BDD0-4FA6-BDEF-79EEF16E880B/Hypervisor Top Level Functional Specification v4.0.docx Signed-off-by: Nick Meier <nmeier@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 530d15b907038735d4cb008dc5caae7ce4dfc985 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Feb 28 11:39:00 2015 -0800 Drivers: hv: hv_balloon: refuse to balloon below the floor When host asks us to balloon up we need to be sure we're not committing suicide by overballooning. Use already existent 'floor' metric as our lowest possible value for free ram. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 549fd280b145e2154db5a7d06981d041f8bbf597 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Feb 28 11:38:59 2015 -0800 Drivers: hv: hv_balloon: report offline pages as being used When hot-added memory pages are not brought online or when some memory blocks are sent offline the subsequent ballooning process kills the guest with OOM killer. This happens as we don't report these pages as neither used nor free and apparently host algorithm considers them as being unused. Keep track of all online/offline operations and report all currently offline pages as being used so host won't try to balloon them out. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b05d8d9ef5ef21d1b18440430f950304836e1aaa Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Feb 28 11:38:58 2015 -0800 Drivers: hv: hv_balloon: eliminate the trylock path in acquire/release_region_mutex When many memory regions are being added and automatically onlined the following lockup is sometimes observed: INFO: task udevd:1872 blocked for more than 120 seconds. ... Call Trace: [<ffffffff816ec0bc>] schedule_timeout+0x22c/0x350 [<ffffffff816eb98f>] wait_for_common+0x10f/0x160 [<ffffffff81067650>] ? default_wake_function+0x0/0x20 [<ffffffff816eb9fd>] wait_for_completion+0x1d/0x20 [<ffffffff8144cb9c>] hv_memory_notifier+0xdc/0x120 [<ffffffff816f298c>] notifier_call_chain+0x4c/0x70 ... When several memory blocks are going online simultaneously we got several hv_memory_notifier() trying to acquire the ha_region_mutex. When this mutex is being held by hot_add_req() all these competing acquire_region_mutex() do mutex_trylock, fail, and queue themselves into wait_for_completion(..). However when we do complete() from release_region_mutex() only one of them wakes up. This could be solved by changing complete() -> complete_all() memory onlining can be delayed as well, in that case we can still get several hv_memory_notifier() runners at the same time trying to grab the mutex. Only one of them will succeed and the others will hang for forever as complete() is not being called. We don't see this issue often because we have 5sec onlining timeout in hv_mem_hot_add() and usually all udev events arrive in this time frame. Get rid of the trylock path, waiting on the mutex is supposed to provide the required serialization. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37f492ce8148d84261cdb9fe1e925199f47531ae Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:21 2015 -0800 Drivers: hv: vmbus: Get rid of some unnecessary messages Currently we log messages when either we are not able to map an ID to a channel or when the channel does not have a callback associated (in the channel interrupt handling path). These messages don't add any value, get rid of them. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5380b383ba10915e61e3db09341cf8193f0601ad Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:20 2015 -0800 Drivers: hv: util: On device remove, close the channel after de-initializing the service When the offer is rescinded, vmbus_close() can free up the channel; deinitialize the service before closing the channel. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b1e5b530753e660080d402b81b88684893157d5 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:19 2015 -0800 Drivers: hv: vmbus: Remove the channel from the channel list(s) on failure Properly rollback state in vmbus_pocess_offer() in the failure paths. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2dd37cb81580dce6dfb8c5a7d5c37b904a188ae7 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:18 2015 -0800 Drivers: hv: vmbus: Handle both rescind and offer messages in the same context Execute both ressind and offer messages in the same work context. This serializes these operations and naturally addresses the various corner cases. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed6cfcc5fdf2ebca320b6f74c836e555e18216e1 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:17 2015 -0800 Drivers: hv: vmbus: Introduce a function to remove a rescinded offer In response to a rescind message, we need to remove the channel and the corresponding device. Cleanup this code path by factoring out the code to remove a channel. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d15a0301c4157884d1a48a5d76b9ac3e36d71242 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Feb 28 11:18:16 2015 -0800 Drivers: hv: vmbus: Properly handle child device remove Handle the case when the device may be removed when the device has no driver attached to it. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04653a009a63d6a91c60a5449ea97e3ed5e1dc29 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Feb 27 11:26:05 2015 -0800 Drivers: hv: vmbus: Add support for the NetworkDirect GUID NetworkDirect is a service that supports guest RDMA. Define the GUID for this service. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40384e4bbeb9f2651fe9bffc0062d9f31ef625bf Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Feb 27 11:26:04 2015 -0800 Drivers: hv: vmbus: Fix a bug in the error path in vmbus_open() Correctly rollback state if the failure occurs after we have handed over the ownership of the buffer to the host. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b057b3ad16e1c6e21e234cd7f5c61c525da97f17 Author: Nicholas Mc Guire <der.herr@xxxxxxx> Date: Fri Feb 27 11:26:03 2015 -0800 hv: hv_balloon: match var type to return type of wait_for_completion return type of wait_for_completion_timeout is unsigned long not int, this patch changes the type of t from int to unsigned long. Signed-off-by: Nicholas Mc Guire <der.herr@xxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51e5181d20086c0b26e871deffeff3ff47cf5c4b Author: Nicholas Mc Guire <der.herr@xxxxxxx> Date: Fri Feb 27 11:26:02 2015 -0800 hv: channel_mgmt: match var type to return type of wait_for_completion return type of wait_for_completion_timeout is unsigned long not int, this patch changes the type of t from int to unsigned long. Signed-off-by: Nicholas Mc Guire <der.herr@xxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08a9513f7417d6dff9a1ab0c163900f503ff84eb Author: Nicholas Mc Guire <der.herr@xxxxxxx> Date: Fri Feb 27 11:26:01 2015 -0800 hv: channel: match var type to return type of wait_for_completion return type of wait_for_completion_timeout is unsigned long not int, this patch changes the type of t from int to unsigned long. Signed-off-by: Nicholas Mc Guire <der.herr@xxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac0d12b7cee73b4b4b769ea58c62ec7042c6be13 Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Feb 27 11:26:00 2015 -0800 hv: vmbus_open(): reset the channel state on ENOMEM Without this patch, the state is put to CHANNEL_OPENING_STATE, and when the driver is loaded next time, vmbus_open() will fail immediately due to newchannel->state != CHANNEL_OPEN_STATE. CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Reviewed-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89f9f6796d41e10e224b0cb0027ddd78cb881f65 Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Feb 27 11:25:59 2015 -0800 hv: vmbus_post_msg: retry the hypercall on some transient errors I got HV_STATUS_INVALID_CONNECTION_ID on Hyper-V 2008 R2 when keeping running "rmmod hv_netvsc; modprobe hv_netvsc; rmmod hv_utils; modprobe hv_utils" in a Linux guest. Looks the host has some kind of throttling mechanism if some kinds of hypercalls are sent too frequently. Without the patch, the driver can occasionally fail to load. Also let's retry HV_STATUS_INSUFFICIENT_MEMORY, though we didn't get it before. Removed 'case -ENOMEM', since the hypervisor doesn't return this. CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Reviewed-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1896566372579939eb86414ea3d664f18d5e909c Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Fri Feb 27 11:25:58 2015 -0800 hv: hv_util: move vmbus_open() to a later place Before the line vmbus_open() returns, srv->util_cb can be already running and the variables, like util_fw_version, are needed by the srv->util_cb. So we have to make sure the variables are initialized before the vmbus_open(). CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e086748c655ab99bac91b87d1bb59d9cc45867b9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:57 2015 -0800 Drivers: hv: vmbus: Teardown clockevent devices on module unload Newly introduced clockevent devices made it impossible to unload hv_vmbus module as clockevents_config_and_register() takes additional reverence to the module. To make it possible again we do the following: - avoid setting dev->owner for clockevent devices; - implement hv_synic_clockevents_cleanup() doing clockevents_unbind_device(); - call it from vmbus_exit(). In theory hv_synic_clockevents_cleanup() can be merged with hv_synic_cleanup(), however, we call hv_synic_cleanup() from smp_call_function_single() and this doesn't work for clockevents_unbind_device() as it does such call on its own. I opted for a separate function. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32a158325acf12842764b1681f53903673f2f22e Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:56 2015 -0800 clockevents: export clockevents_unbind_device instead of clockevents_unbind It looks like clockevents_unbind is being exported by mistake as: - it is static; - it is not listed in include/linux/clockchips.h; - EXPORT_SYMBOL_GPL(clockevents_unbind) follows clockevents_unbind_device() implementation. I think clockevents_unbind_device should be exported instead. This is going to be used to teardown Hyper-V clockevent devices on module unload. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e72e7ac583ee8adddbc668cdefde7d7d3021be79 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:55 2015 -0800 drivers: hv: vmbus: Teardown synthetic interrupt controllers on module unload SynIC has to be switched off when we unload the module, otherwise registered memory pages can get corrupted after (as Hyper-V host still writes there) and we see the following crashes for random processes: [ 89.116774] BUG: Bad page map in process sh pte:4989c716 pmd:36f81067 [ 89.159454] addr:0000000000437000 vm_flags:00000875 anon_vma: (null) mapping:ffff88007bba55a0 index:37 [ 89.226146] vma->vm_ops->fault: filemap_fault+0x0/0x410 [ 89.257776] vma->vm_file->f_op->mmap: generic_file_mmap+0x0/0x60 [ 89.297570] CPU: 0 PID: 215 Comm: sh Tainted: G B 3.19.0-rc5_bug923184+ #488 [ 89.353738] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090006 05/23/2012 [ 89.409138] 0000000000000000 000000004e083d7b ffff880036e9fa18 ffffffff81a68d31 [ 89.468724] 0000000000000000 0000000000437000 ffff880036e9fa68 ffffffff811a1e3a [ 89.519233] 000000004989c716 0000000000000037 ffffea0001edc340 0000000000437000 [ 89.575751] Call Trace: [ 89.591060] [<ffffffff81a68d31>] dump_stack+0x45/0x57 [ 89.625164] [<ffffffff811a1e3a>] print_bad_pte+0x1aa/0x250 [ 89.667234] [<ffffffff811a2c95>] vm_normal_page+0x55/0xa0 [ 89.703818] [<ffffffff811a3105>] unmap_page_range+0x425/0x8a0 [ 89.737982] [<ffffffff811a3601>] unmap_single_vma+0x81/0xf0 [ 89.780385] [<ffffffff81184320>] ? lru_deactivate_fn+0x190/0x190 [ 89.820130] [<ffffffff811a4131>] unmap_vmas+0x51/0xa0 [ 89.860168] [<ffffffff811ad12c>] exit_mmap+0xac/0x1a0 [ 89.890588] [<ffffffff810763c3>] mmput+0x63/0x100 [ 89.919205] [<ffffffff811eba48>] flush_old_exec+0x3f8/0x8b0 [ 89.962135] [<ffffffff8123b5bb>] load_elf_binary+0x32b/0x1260 [ 89.998581] [<ffffffff811a14f2>] ? get_user_pages+0x52/0x60 hv_synic_cleanup() function exists but noone calls it now. Do the following: - call hv_synic_cleanup() on each cpu from vmbus_exit(); - write global disable bit through MSR; - use hv_synic_free_cpu() to avoid memory leask and code duplication. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09a196288ec4617a920e051af6651ce03968c8b9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:54 2015 -0800 Drivers: hv: vmbus: teardown hv_vmbus_con workqueue and vmbus_connection pages on shutdown We need to destroy hv_vmbus_con on module shutdown, otherwise the following crash is sometimes observed: [ 76.569845] hv_vmbus: Hyper-V Host Build:9600-6.3-17-0.17039; Vmbus version:3.0 [ 82.598859] BUG: unable to handle kernel paging request at ffffffffa0003480 [ 82.599287] IP: [<ffffffffa0003480>] 0xffffffffa0003480 [ 82.599287] PGD 1f34067 PUD 1f35063 PMD 3f72d067 PTE 0 [ 82.599287] Oops: 0010 [#1] SMP [ 82.599287] Modules linked in: [last unloaded: hv_vmbus] [ 82.599287] CPU: 0 PID: 26 Comm: kworker/0:1 Not tainted 3.19.0-rc5_bug923184+ #488 [ 82.599287] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS Hyper-V UEFI Release v1.0 11/26/2012 [ 82.599287] Workqueue: hv_vmbus_con 0xffffffffa0003480 [ 82.599287] task: ffff88007b6ddfa0 ti: ffff88007f8f8000 task.ti: ffff88007f8f8000 [ 82.599287] RIP: 0010:[<ffffffffa0003480>] [<ffffffffa0003480>] 0xffffffffa0003480 [ 82.599287] RSP: 0018:ffff88007f8fbe00 EFLAGS: 00010202 ... To avoid memory leaks we need to free monitor_pages and int_page for vmbus_connection. Implement vmbus_disconnect() function by separating cleanup path from vmbus_connect(). As we use hv_vmbus_con to release channels (see free_channel() in channel_mgmt.c) we need to make sure the work was done before we remove the queue, do that with drain_workqueue(). We also need to avoid handling messages which can (potentially) create new channels, so set vmbus_connection.conn_state = DISCONNECTED at the very beginning of vmbus_exit() and check for that in vmbus_onmessage_work(). Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adcde069a85cb6674bdcf5f49f434d18b2db6e58 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:53 2015 -0800 Drivers: hv: vmbus: avoid double kfree for device_obj On driver shutdown device_obj is being freed twice: 1) In vmbus_free_channels() 2) vmbus_device_release() (which is being triggered by device_unregister() in vmbus_device_unregister(). This double kfree leads to the following sporadic crash on driver unload: [ 23.469876] general protection fault: 0000 [#1] SMP [ 23.470036] Modules linked in: hv_vmbus(-) [ 23.470036] CPU: 2 PID: 213 Comm: rmmod Not tainted 3.19.0-rc5_bug923184+ #488 [ 23.470036] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090006 05/23/2012 [ 23.470036] task: ffff880036ef1cb0 ti: ffff880036ce8000 task.ti: ffff880036ce8000 [ 23.470036] RIP: 0010:[<ffffffff811d2e1b>] [<ffffffff811d2e1b>] __kmalloc_node_track_caller+0xdb/0x1e0 [ 23.470036] RSP: 0018:ffff880036cebcc8 EFLAGS: 00010246 ... When this crash does not happen on driver unload the similar one is expected if we try to load hv_vmbus again. Remove kfree from vmbus_free_channels() as freeing it from vmbus_device_release() seems right. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc63b6f634d91a0b2a7f3ba4f266e55fec369de3 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:52 2015 -0800 Drivers: hv: vmbus: rename channel work queues All channel work queues are named 'hv_vmbus_ctl', this makes them indistinguishable in ps output and makes it hard to link to the corresponding vmbus device. Rename them to hv_vmbus_ctl/N and make vmbus device names match, e.g. now vmbus_1 device is served by hv_vmbus_ctl/1 work queue. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e513229b4c386e6c9f66298c13fde92f73e6e1ac Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Feb 27 11:25:51 2015 -0800 Drivers: hv: vmbus: prevent cpu offlining on newer hypervisors When an SMP Hyper-V guest is running on top of 2012R2 Server and secondary cpus are sent offline (with echo 0 > /sys/devices/system/cpu/cpu$cpu/online) the system freeze is observed. This happens due to the fact that on newer hypervisors (Win8, WS2012R2, ...) vmbus channel handlers are distributed across all cpus (see init_vp_index() function in drivers/hv/channel_mgmt.c) and on cpu offlining nobody reassigns them to CPU0. Prevent cpu offlining when vmbus is loaded until the issue is fixed host-side. This patch also disables hibernation but it is OK as it is also broken (MCE error is hit on resume). Suspend still works. Tested with WS2008R2 and WS2012R2. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 361008f2380201ab182909b30463ff4d9dc573a6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Feb 27 15:07:37 2015 +0000 staging: comedi: adl_pci6208: support old PLX device ID ADLINK's MS Windows drivers for the PCI-6208/6216 boards include the following line in the DDInstall secion of the INF file: %String6208%=DriverInstall6208.NT,PCI\VEN_10B5&DEV_9050&SUBSYS_62089999 That's for a PLX PCI 9050/9052 PCI interface chip with custom subvendor and subdevice ID. The "%String6208%" macro expands to "ADLINK PCI-6208" in the INF file. Add a corresponding entry to this driver module's PCI device table. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 706cb51b591e28ff5bfb1c592c1d2fa496828332 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Feb 27 15:07:36 2015 +0000 staging: comedi: adl_pci6208: remove multiple board type support This driver module now only supports a single board type, so remove the infrastructure for describing multiple board types. The comedi "auto_attach" handler, `pci6208_auto_attach()` doesn't need to set the comedi device's `board_name` or `board_ptr` members. The former is automatically pointed to the comedi driver's `driver_name` by the core comedi module, and the latter is not used anywhere else. The AO subdevice's `n_chans` member can be set to 16 without looking it up in the single element of `pci6208_boards[]`. There is no need to pass a board index from the PCI device table to the "auto_attach" handler. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd6b76604d1df088409856fade41b26675d5952e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Feb 27 15:07:35 2015 +0000 staging: comedi: adl_pci6208: combine PCI-6208 and PCI-6216 support This module's PCI device table has separate PCI device IDs for PCI-6208 and PCI-6216, but in reality, both boards and their cPCI and PCIe variants seem to have the same PCI device ID: 0x6208. The PCI subdevice ID doesn't seem to help either. It shouldn't do any harm to claim 16 AO channels for all devices supported by this driver. The original PCI-6216 is just a PCI-6208 with a daughter board providing the extra DACs. The data is clocked out to the DACs serially with no acknowledgment. I assume this would still happen when the DACs for the upper 8 channels are missing. Therefore, change the driver to support a single board type with 16 AO channels, and remove the suspicious PCI device ID for the PCI-6216. Evidence about lack of a separate PCI device ID for PCI-6216 follows.... 1. Jesus Vasquez reports the following lspci output for a PCIe-6216 on his Ubuntu 12.04 system: lspci -n -vvv 07:00.0 1180: 144a:6208 (rev 02) Subsystem: 144a:6208 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Region 0: Memory at f6000000 (32-bit, non-prefetchable) [size=128] Region 1: I/O ports at c100 [size=128] Region 2: I/O ports at c000 [size=256] Kernel driver in use: adl_pci6208 Kernel modules: adl_pci6208 That system's "adl_pci6208" module only has the single PCI device ID for the PCI-6208, but works for his PCIe-6216 except that it only supports 8 analog output channels instead of 16. 2. ADLINK's binary Linux module "pci6208.ko" (there is no separate module for the PCI-6216) has a single alias: alias: pci:v0000144Ad00006208sv*sd*bc*sc*i* 3. The MS Windows drivers include this set of hardware IDs for the PCI-6208 series, with nothing more specific for the PCI-6216 (they are all tied to the same name "ADLINK PCI-6208" and there is no mention of PCI-6216): PCI\VEN_10B5&DEV_9050&SUBSYS_62089999 PCI\VEN_144A&DEV_6208&SUBSYS_6208144A PCI\VEN_144A&DEV_6208&SUBSYS_62089999 PCI\VEN_144A&DEV_6208&SUBSYS_C208144A PCI\VEN_144A&DEV_6208&SUBSYS_C20855AA PCI\VEN_144A&DEV_6208 Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aff0dff965604b22119b0c5fa7751dc78bf5d96a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Feb 26 15:43:55 2015 -0700 staging: comedi: cb_pcimdas: add 8254 timer (pacer) support The hardware has an 8254 timer/counter. Channe; 0 is available as a generic counter/timer with the clock, gate, and output signals all availabe on the main 37 pin connector. Channels 1 and 2 are used for the pacer. Add support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e56d03dee14a5ca7915ecfb74decaa635125e93d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:43 2015 -0700 staging: comedi: cb_pcimdas: add main connector digital input/output Add subdevices for the 4 digital input and 4 digital output channels on the main connector of the board. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f51d3c9511a013aba79763a54a6d334dd8ff9829 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:42 2015 -0700 staging: comedi: cb_pcimdas: tidy up cb_pcimdas_auto_attach() For aesthetics, add some whitespace to the subdevice init. Remove the unnecessary comments as well as the initialization of the analog input subdevice 'len_chanlist'. That member is only used by subdevices that support async commands. For aesthetics, rename the analog input subdevice (*insn_read) function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21314bc6f8f42024dd82b7d1b00d6e53043241bc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:41 2015 -0700 staging: comedi: cb_pcimdas: provide analog output range table The analog output range is not programmable. The DAC ranges are jumper-settable on the board. For aesthetics, provide a range table for the user with all possible ranges. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3bd4c8e0f278dad527c2b5f6b0d895dfba9af31 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:40 2015 -0700 staging: comedi: cb_pcimdas: define the register map Add defines for the registers and bits. Use the defines to remove the "magic" numbers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7549d770a27cbdb521ea9ed646c1fc242d77a0a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:39 2015 -0700 staging: comedi: cb_pcimdas: support analog input programmable ranges The hardware uses a switch on the board to select if the analog inputs are bipolar or uinipolar. The gain is programmable to allow the following input ranges: Gain Bipolar Unipolar 0 +/-10V 0 to 10V 1 +/-5V 0 to 5V 2 +/-2.5V 0 to 2.5V 3 +/-1.25V 0 to 1.25V Add the necessary code to the driver to allow the user to select the desired range. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 532a411e8b54418c2aed9e20f02b359002bb7e44 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 16:28:38 2015 -0700 staging: comedi: cb_pcimdas: fix analog input channel configuration The hardware uses a switch on the board to set the number of analog input channels to either 16 single-ended or 8 differential channels. Currently the switch setting is checked for every (*insn_read) operation to validate the channel number. Check the switch setting during the driver attach and initialize the subdevice accordingly. This allows the core to handle 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 bca3a6d182b1deae02e5cbc05e727c75427e82ee Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:58:03 2015 -0700 staging: comedi: 8253.h: remove unused header All the comedi drivers have been converted to use the comedi_8254 module to provide support for the 8254 timers. Remove this unused header. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0cfeca1a80efbb7691961d4ac31af30c559f976 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:58:02 2015 -0700 staging: comedi: ni_labpc_common: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. The hardware actually has two 8254 devices. Timer B0 is the master for timed conversions, timer B1 sets the scan pacing, and tmer A0 sets the conversion pacing. For the conversion, dev->pacer is used for the "B" timers and a new private data member, dev->counter, is used for the "A" timers. All the divisor values are stored in the dev->pacer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a213fa6f7c33219300bdd826d77172bfd5a54e6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 10:38:49 2015 -0700 staging: comedi: amplc_dio200_common: convert driver to use the comedi_8254 module Convert this driver to use the comedi_8254 module to provide the 8254 timer support. Add 'clock_src' and 'gate_src' members to the comedi_8254 data for convienence. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99ca4e4613da5cb589de6b4127de75e520b32b43 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:58:00 2015 -0700 staging: comedi: amplc_dio200_common: remove 'spinlock' from struct dio200_subdev_8254 Currently this driver uses a spinlock in the 8254 subdevice (*insn_read), (*insn_write), and (*insn_config) functions. The comedi core checks if the subdevice is 'busy', in parse_insn(), before any of the subdevice functions are attempted. Remove the unnecessary spinlock. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed023d529ce44c0e3c41101a344d80259bd96443 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:59 2015 -0700 staging: comedi: amplc_dio200_common: remove unnecessary 'counter_number' checks The 'counter_number' in these functions is the comedi channel number from the chanspec. The comedi core validates the chanspec before calling the driver functions. 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 fdb7c3ece29fc4d73e5994af6a58b4e3d55d105c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:58 2015 -0700 staging: comedi: amplc_dio200_common: remove 'which' from struct dio200_subdev_8254 This member is only used in the "set gate" and "set clock" helper functions. Remove it and calculate the value when needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5814504f4d202974694d2cf37683a0138b99a6a0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:57 2015 -0700 staging: comedi: amplc_dio200_common: remove 'gat_sce_ofs' from struct dio200_subdev_8254 This member is only used one place in the driver. Remove it and calculate the register offset when needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a4959a3a0bd50bbbc5101abec6420d56582ec98 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:56 2015 -0700 staging: comedi: amplc_dio200_common: remove 'clk_sce_ofs' from struct dio200_subdev_8254 This member is only used one place in the driver. Remove it and calculate the register offset when needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f907df0302b1d723887926ec7dba39bf1d31da5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:55 2015 -0700 staging: comedi: amplc_dio200_common: introduce DIO200_GAT_SEL() macro Replace the DIO200_[XYZ]GAT_SEL defines with a macro that returns the correct register offset. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ec7271dbc05542c27956bdd79aca6c4e80ae516 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:54 2015 -0700 staging: comedi: amplc_dio200_common: introduce DIO200_CLK_SEL() macro Replace the DIO200_[XYZ]CLK_SEL defines with a macro that returns the correct register offset. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9da9d20576685b7b3818013d5e1de2367bcff8b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:53 2015 -0700 staging: comedi: adl_pci9118: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ffe2b25732be9cd68ec305f4c727da75462fcd4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:52 2015 -0700 staging: comedi: das16: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf9e4d5c1a9e931a86c3086d41e63b8873efaf37 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:51 2015 -0700 staging: comedi: cb_pcidas64: remove unnecessary include The hardware supported by this driver does not have an 8254 timer. Remove the unnecessary include of "8253.h". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d92d39d9bde805e7d237de534d8a7a3cc4b10ef1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:50 2015 -0700 staging: comedi: me4000: convert driver to use the comedi_8254 module Some of the hardware supported by this driver include an 8254 timer. For aesthetics, convert it to use the comedi_8254 module to provide support for the 8254 timer. This also fixes the (*insn_read) and (*insn_write) to work like the comedi API expects. Currently they only read or write a single value. It also fixes the (*insn_config). Currently the driver is attempting to handle the configuration instructions GPCT_RESET and GPCT_SET_OPERATION. These are just arbitrary valuse and are not real comedi configuration_ids. They actually coorespond to: GPCT_RESET -> INSN_CONFIG_DIO_OUTPUT GPCT_SET_OPERATION -> INSN_CONFIG_ANALOG_TRIG The number of parameters for the instructions is validated by the comedi core in check_insn_config_length(). GPCT_RESET happens to work (insn->n == 1) but GPCT_SET_OPERATION would fail. The INSN_CONFIG_ANALOG_TRIG expects insn->n == 5 but GPCT_SET_OPERATION in this driver expects insn->n == 2. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e1fe085f510645ec9d0330e2a53aab376e54a29 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:49 2015 -0700 staging: comedi: adv_pci_dio: convert driver to use the comedi_8254 module Some of the hardware supported by this driver includes an 8254 timer. For aesthetics, convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0275299f26ecde814c7e03f3fb5a6fa73c60acd9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:48 2015 -0700 staging: comedi: adv_pci_dio: refactor 's8254' boardinfo The boardinfo for the 8254 timer is overly complex. The 8254 timer always has 3 channels and the 'regs' and 'specflags' members of diosubd_data are not used. The only necessary information is the base 'addr' offset to the 8254 registers. Replace the 's8254' member with an unsigned long 'timer_regbase'. Use that to determine if the board has an 8254 timer during the attach of the driver. Save the 'timer_regbase' in the subdevice 'private' pointer to use in the subdevice functions. For aesthetics, absorb pci_dio_add_8254() into the driver attach function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50e338b96c1ad0a6e77f559c0dcba5944d0095c1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:47 2015 -0700 staging: comedi: adv_pci_dio: simplify counter subdevice I/O Only two of the boards supported by this driver have an 8254 counter/timer. Both of these boards have a single 8254 device. Currently the counter subdevice functions are coded to support multiple 8254 devices. This is unnecessary and just complicates the code. Simplfy the subdevice functions to work for a single 8254 counter/timer and refactor the driver (*attach) accordingly. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6c6c9b143d3abd854678b8ccfeb431f3db02f86 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:46 2015 -0700 staging: comedi: das1800: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Tidy up the (*do_cmdtest) validation of the timer arguments. Absorb the converted das1800_setup_counters() code 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 ad4808b690d1e0c0283ab6ce04d25e2a788c5f57 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:45 2015 -0700 staging: comedi: das6402: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Remove the unnecessary programming of timer 0. The private data 'count' value is never set by the driver and the timer is reset to MODE0 when the timers are initialized during the attach of the driver. Remove the unnecessart convert_src check in the (*do_cmdtest). The only valid convert_src is TRIG_TIMER. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e875132a3a6d5dce0211f69ac5ad5ba6356b5180 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:44 2015 -0700 staging: comedi: ni_at_a2150: convert driver to use the comedi_8254 module The hardware supported by this driver includes an 8254 timer. For aesthetics, convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af5a97344f2bfecf8421a56129d799ce5cb06754 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:43 2015 -0700 staging: comedi: ni_at_ao: convert driver to use the comedi_8254 module The hardware supported by this driver includes an 8254 timer. This timer is not currently used, other than setting counters 1 and 2 to MODE4 to ensure that the outputs are high. For aesthetics, convert it to use the comedi_8254 module to provide support for the 8254 timer. This will make it easier to add features later. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a16a017e1392663c3dfe0336b1477cd6cbc768c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:42 2015 -0700 staging: comedi: das08: convert driver to use the comedi_8254 module Some of the hardware supported by this driver include an 8254 timer that is exposed to the user as a comedi_subdevice. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25182d27513d541bfd32163982e80457b3ee1cd0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:41 2015 -0700 staging: comedi: amplc_pci230: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48a4f2226699e1df76efa732e6903ca6b2fa2aaf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:40 2015 -0700 staging: comedi: adv_pci1710: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. It also provides a comedi_subdevice to allow the user to use channel 0 of the 8254 timer. Currently the subdevice support does not work correctly due to and (*insn_config) that does not follow the comedi API. Convert it to use the comedi_8254 module to provide support for the 8254 timer and proper support for the subdevice. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a90feb7fd095863780fe550da71afaa7f03adc65 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:39 2015 -0700 staging: comedi: cb_das16_cs: convert driver to use the comedi_8254 module The hardware supported by this drive has an 8254 timer. Currently this driver does not use the timer functions. For aesthetics, use the comedi_8254 module to provide support for the 8254 timer. This will ensure that the counters are all reset and make it easier to add functionality later. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb9bb1f5a84a1fcbfa213687d2d4bd4843e3be9f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:38 2015 -0700 staging: comedi: das16m1: convert driver to use the comedi_8254 module This driver uses two 8254 timers. One to generate the analog input pacer clock and one to count the number of samples. Convert it to use the comedi_8254 module to provide support for the 8254 timers. Use the comedi_device 'pacer' member for the 8254 timer used for analog input. This data is freed automatically by the core during the detach of the driver. Store the data for the 8254 timer used to count samples in the private data. This data needs to be freed by the driver when it is detached. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4690dec50ebb886b33a62858d13266ee020e035 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:37 2015 -0700 staging: comedi: das800: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96e5624411f99c532175df37c1d8ad8cd908e68a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:36 2015 -0700 staging: comedi: cb_pcidas: convert driver to use the comedi_8254 module This driver uses two 8254 timers to generate the pacer clocks. One for analog input acquisition and one for analog output data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timers. Use the comedi_device 'pacer' member for the 8254 timer used for analog input. This data is freed automatically by the core during the detach of the driver. Store the data for the 8254 timer used for analog output in the private data. This data needs to be freed by the driver when it is detached. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6aa37d79169b10816edeaa2d4a690f35665f3091 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:35 2015 -0700 staging: comedi: amplc_pci224: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog output data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0880acf846a273ff12ab0b963521c5d668a27466 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:34 2015 -0700 staging: comedi: adl_pci9111: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ef02dea590bcce86967edf4da75b4b70db5fee3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:33 2015 -0700 staging: comedi: pcl711: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18c284c68b8a52335c9d1ae53b2236ea350310d7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:32 2015 -0700 staging: comedi: pcl818: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Note that the pacer does not have to be stopped when starting a new async command in pcl818_ai_cmd() or when the card is initialy reset by pcl818_reset(). The counters are all reset when the driver is initially attached and the counters used by the pacer are stopped when a command is canceled. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f48c21fc62addff97c5dbf765a93ba604031dd2d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:31 2015 -0700 staging: comedi: pcl816: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data conversion. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb5678aff3d469d41d7d7d85e5a12c56b0e1aa94 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:30 2015 -0700 staging: comedi: pcl812: convert driver to use the comedi_8254 module This driver uses an 8254 timer to generate the pacer clock used for analog input data acquisition. Convert it to use the comedi_8254 module to provide support for the 8254 timer. Note that the pacer does not have to be stopped when starting a new async command in pcl812_ai_cmd() or when the card is initialy reset by pcl812_reset(). The counters are all reset when the driver is initially attached and the counters used by the pacer are stopped when a command is canceled. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43db062afe993fbfed184d78293527679fef9784 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:29 2015 -0700 staging: comedi: add 'pacer' member to struct comedi_device Add a new member to the comedi_device struct for a comedi_8254 'pacer'. This provides a convient place to store the data allocated by the comedi_8254 module for boards that use an 8254 device to create the data acquisition pacer clock. Automatically free this pointer in comedi_device_detach_cleanup() so that the drivers don't need to do it when then are detached. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d42b5211d861f1077869e9133efa19297a6f152b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 14:57:28 2015 -0700 staging: comedi: comedi_8254: introduce module for 8254 timer support A 8254 timer/counter is commonly used on data acquisition boards to provide the internal pacer clock used to acquire analog input samples. Some boards also to allow the timers to be used externally. Currently the 8254 timers are supported by comedi using the 8253.h header and a number of inline functions. This works for the internal pacer clock but requires the drivers to implement subdevice code necessary to use the timers externally. Introduce a new module to support both the internal pacer clock and the external counter subdevice. This will allow removing a bunch of duplicated code in the drivers and standardizes the comedi 8254 timer support. This implementation is based on the 8253.h inline functions and the various subdevice functionality in the comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7d6b43b4d20cd5b8aa0e56fc1f9185837cd608a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 12:52:28 2015 -0700 staging: comedi: rtd520: remove unnecessary interrupt disable The read/write of the PLX_INTRCS_REG during the driver detach is not necessary. The rtd_reset() function writes 0 to this register which will disable all interrupts. This also fixes a dereference after null check reported by coverity. Reported-by: coverity (CID 751066) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f5fc964866dabec6db6e7eaf8865838b1436a8e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 12:52:27 2015 -0700 staging: comedi: cb_pcidas64: fix possible integer overflow The {min,max}_scan_divisor values could overflow due to the unsigned int * insigned int calculation. Change the type of the local variable 'convert_divisor' to unsigned long long to avoid the possible overflow. Reported-by: coverity (CID 200653) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f456c8034ad993eb6908b8a53216bca7afe9f1f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 12:52:26 2015 -0700 staging: comedi: ni_labpc_common: fix logically dead code issue The quick exit check of (mode == MODE_SINGLE_CHAN) results in coverity reporting a logically dead code issue in the switch code in labpc_ai_check_chanlist(). Remove the quick exit check and allow the function to handle the MODE_SINGLE_CHAN normally (the for loop will only happen 1 time and the function will return 0). Reported-by: coverity (CID 1222108) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb6ec7f6f5f7506dddc6bba9c204e2dab6dc07c0 Author: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Date: Sun Mar 1 22:44:04 2015 -0300 staging: lustre: fld_request.c: Remove else after return. This patch fixes checkpatch.pl warning. WARNING: else is not generally useful after a break or return Signed-off-by: Alberto Pires de Oliveira Neto <mrpenguin2005@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5693964eaa2a9bb6a6e1b277c9321b4fc511825 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 14:13:19 2015 +0100 staging: android: ion: fix some format strings C99 says that a precision which is simply '.' with no following digits or * should be interpreted as 0, which means that these format strings actually mean 'print 16 spaces'. However, the kernel's printf implementation treats this case as if the precision was omitted. Don't rely on that quirk. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9dfb48f23df4d7b9ec082f6657ab5add7f1682a Author: Adrien Descamps <adrien.descamps@xxxxxxxxx> Date: Wed Feb 25 00:59:25 2015 +0100 drivers: staging: lustre: Fix "space prohibited between function name and open parenthesis" errors Fix checkpatch.ph errors "space prohibited between function name and open parenthesis" in socklnd.h Signed-off-by: Adrien Descamps <adrien.descamps@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53bd4a004ee5ff0f71a858de78faac98924b4a87 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:20:36 2015 +0300 Staging: lustre: missing curly braces in ll_setattr_raw() >From the indenting, it looks like curly braces were intended here. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 499217c9b61bf783ce66c12de1533f4de0d0c2a0 Author: Edward Lipinsky <ellipinsky@xxxxxxxxx> Date: Sat Feb 21 11:29:34 2015 -0800 staging: lustre: lnet: lnet: Remove unneeded braces in lib-eq.c This patch fixes the checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Edward Lipinsky <ellipinsky@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 695a06667e99134a0639fd62e679a069f814ee40 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Thu Feb 12 15:56:07 2015 +0100 staging: lustre: llite: Remove unnecessary OOM message This patch reduces the kernel size by removing error messages that duplicate the normal OOM message. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b475d037f9118603cd15e0a6c1b0c8363b6d345c Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:34:02 2015 +0100 staging: lustre: Move proc_*() functions inside #ifdef CONFIG_SYSCTL If CONFIG_SYSCTL=n: drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:84: warning: â??proc_set_timeoutâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:95: warning: â??proc_memory_allocâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:119: warning: â??proc_pages_allocâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:143: warning: â??proc_mem_maxâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:167: warning: â??proc_pages_maxâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:191: warning: â??proc_max_dirty_pages_in_mbâ?? defined but not used drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c:232: warning: â??proc_alloc_fail_rateâ?? defined but not used Make the existing #ifdef CONFIG_SYSCTL cover all sysctl-related functions to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12e397cdfba7e1a2dead072dba3e7bb21905f6c7 Author: Le Tan <tamlok@xxxxxxxx> Date: Wed Feb 11 12:13:14 2015 +0800 staging: lustre: resolves sparse warnings using static declaration This patch resolves sparse warnings about non-declared symbol in staging/lustre/lustre/lov by adding static declaration. These warnings are like this: warning: symbol 'fiemap_calc_fm_end_offset' was not declared. Should it be static? Signed-off-by: Le Tan <tamlok@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43a9a85aa1ca14f5c477eb1ecadd54ebe1f4b6da Author: Mohammad Jamal <md.jamalmohiuddin@xxxxxxxxx> Date: Tue Feb 10 22:48:58 2015 +0530 staging: lustre: lustre: lov: lov_dev: fix sparse warning of static declaration This patch adds a static keyword to cl_lov_device_mutex_class variable to suppress the warning of static declaration Signed-off-by: Mohammad Jamal <md.jamalmohiuddin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89026cbc79682da84f35f7539967c02ee45b9861 Author: Arjun AK <arjunak234@xxxxxxxxx> Date: Sun Feb 8 15:59:10 2015 +0530 staging: lustre: Make the function 'llog_cat_process_cb' static This patch defines the function 'llog_cat_process_cb' as static Signed-off-by: Arjun AK <arjunak234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8fd99fd97b331c7c60f20f508a482da3c4e8b6a Author: Asaf Vertz <asaf.vertz@xxxxxxxxxxx> Date: Mon Feb 9 12:00:50 2015 +0200 staging: lustre: use linux headers WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> WARNING: Use #include <linux/statfs.h> instead of <asm/statfs.h> WARNING: Use #include <linux/kgdb.h> instead of <asm/kgdb.h> Signed-off-by: Asaf Vertz <asaf.vertz@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab75fb2de197d8bf8257546a4c8726b58ae7ac42 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:31 2015 -0800 staging: lustre: Convert remaining uses of "= seq_printf(...)" The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Convert the remaining uses by hand. Miscellanea: o Convert fixed string output to seq_puts Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0e134afc35a6f12ceba8db729ae46afe810cb50 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:29 2015 -0800 staging: lustre: Convert seq_ hash functions to return void These functions don't need to return anything. No caller uses the return value. Miscellanea: Integrate the individual strings to reduce object size ~100 bytes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8faeebdf1535e61baab53daeca12f2e8a0071db7 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:28 2015 -0800 staging: lustre: Convert "return seq_printf(...)" uses The seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Convert these "return seq_printf(...)" uses to: seq_printf(seq, ...); return 0; Done via cocci script: @@ struct seq_file *seq; @@ - return \(seq_printf\|seq_puts\|seq_putc\)(seq, ...); + return 0; With some additional reformatting and typing post conversion. Miscellanea: o convert an rc++ use to a bool o use seq_puts with fixed strings where appropriate Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4643b70a08442d2aa494eabd6b024a7102aeaa40 Author: Matteo Semenzato <mattew8898@xxxxxxxxx> Date: Sun Feb 22 09:50:00 2015 +0100 Staging: fbtft: fix space errors This patch fixes the following errors: ERROR: space required after that ',' ERROR: trailing whitespace Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 354fd570f067cfb11d62cccb6a686b82e2a8d234 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Feb 19 10:12:12 2015 -0200 staging: fbtft: fbtft-io: Use '%zu' to print 'size_t' format When building for ARM64 the following build warnings are seen: drivers/staging/fbtft/fbtft-io.c: In function 'fbtft_write_spi_emulate_9': drivers/staging/fbtft/fbtft-io.c:63:4: warning: format '%d' expects argument of type 'int', but argument 4 has type 'size_t' [-Wformat=] drivers/staging/fbtft/fbtft-io.c: In function 'fbtft_read_spi': drivers/staging/fbtft/fbtft-io.c:110:5: warning: format '%d' expects argument of type 'int', but argument 4 has type 'size_t' [-Wformat=] Use '%zu' to print 'size_t' format. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fed5bac16a7c3f949d59a0c96b4ffd8f63fbcc1 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Feb 19 10:12:11 2015 -0200 staging: fbtft: fbtft-core: Use '%zu' to print 'size_t' format When building for ARM64 the following build warning is seen: drivers/staging/fbtft/fbtft-core.c:1004:4: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat=] Use '%zu' to print 'size_t' format. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc060ed086995922cf36edc46359045092821cf2 Author: Frederic Jacob <frederic.jacob.78@xxxxxxxxx> Date: Sat Feb 7 21:15:25 2015 -0500 Staging: fbtft: Fix Sparse warnings This fixes the folowing sparse warnings: fb_hx8340bn.c:111:6: warning: symbol 'set_addr_win' was not declared. Should it be static? fbtft_device.c:32:19: warning: symbol 'spi_device' was not declared. Should it be static? fbtft_device.c:33:24: warning: symbol 'p_device' was not declared. Should it be static? Signed-off-by: Frederic Jacob <frederic.jacob.78@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit babcf83806cfd6cb7efe33d833146bd125938899 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sun Mar 1 23:51:54 2015 +0200 Staging: rtl8192u: ieee80211: Add blank line after declarations The following patch fixes the checkpatch.pl warning: drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c WARNING: Missing a blank line after declarations Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b5c85e0f4f5687a6868e743cb51de3897ab96c0 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Mar 2 00:40:18 2015 +0530 staging: Remove <linux/moduleparam.h> header. This patch drops #include <linux/moduleparam.h> in all the staging driver files that also include #include <linux/module.h> as module.h includes moduleparam.h already. The following semantic patch is used to make these changes: @ includesmodule @ @@ @ depends on includesmodule @ @@ - #include <linux/moduleparam.h> Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2602b2eae6dcd3215eceaeeef0d368310b7cc15 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Mar 1 23:33:45 2015 +0530 staging: media: Remove redundant memset. The memory area set by the call to memset is immediately overwritten by the subsequent call to memcpy. Hence, remove that redundant memset. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94b1726fa63e898b76b8ab6a1edf37a9fe6abd13 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Mar 1 23:33:04 2015 +0530 staging: media: Remove memset. The memory area set by the call to memset is immediately overwritten by the subsequent call to memcpy. Hence, remove that redundant memset. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d2c47a9223519aaaf1f00d964b8edcc2483dcf3 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sun Mar 1 19:19:23 2015 +0200 Staging: rtl8192u: ieee80211: Convert comment from C99 style to C89 style This patch fixes the checkpatch.pl error: ERROR: "Do not use C99 // comments" Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09948995980396e90a3957d87a78cc45a29f5b70 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sun Mar 1 19:02:11 2015 +0200 Staging: rtl8192e: rtl8192e: fix space prohibited before that ',' This patch fixes the following checkpatch.pl error: space prohibited before that ',' Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f491da91f0081132d00d8d5297ccde112e30a8f Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Sun Mar 1 21:28:19 2015 +0530 Staging: rtl8192e: Remove unneeded brackets. These were detected with this Coccinelle script: @@ identifier f1, f2, f3; constant c; @@ f1 = ( - (f2 << f3) + f2 << f3 | - (f2 >> f3) + f2 >> f3 | - (f2 << c) + f2 << c | - (f2 >> c) + f2 >> c ) Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3ed22eabde3d7db5dbb1eced9f83ad0079d257b Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 19:47:53 2015 +0100 Staging: rtl8192e: Fix line over 80 characters This patch fixes line to fit 80 characters. Issue found by checkpatch.pl Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c63eee546079859e9b6ede13f32457b8bf2fb1ff Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 19:46:57 2015 +0100 Staging: rtl8192e: Use ether_addr_copy() instead of memcpy() This patch replaces memcpy with ether_addr_copy. Also pathole was used to make sure that arguments passed to ether_addr_copy are aligned to u16. First argument is iwe.u.ap_addr.sa_data i output of pahole is: struct iw_event { __u16 len; /* 0 2 */ __u16 cmd; /* 2 2 */ /* XXX 4 bytes hole, try to pack */ union iwreq_data u; /* 8 16 */ /* size: 24, cachelines: 1, members: 3 */ /* sum members: 20, holes: 1, sum holes: 4 */ /* last cacheline: 24 bytes */ }; and inside union iwreq_data u is sa_data: struct sockaddr { /* typedef sa_family_t -> __kernel_sa_family_t */ short unsigned int sa_family; /* 8 2 */ char sa_data[14]; /* 10 14 */ } ap_addr; /* 16 */ sa_data is a char array of size 14, and the number of bytes copied using ether_addr_copy() is 6. Second argument is network->bssid and output of pahole is: struct rtllib_network { u8 bssid[6]; /* 0 6 */ u8 channel; /* 6 1 */ u8 ssid[33]; /* 7 33 */ u8 ssid_len; /* 40 1 */ u8 hidden_ssid[33]; /* 41 33 */ /* --- cacheline 1 boundary (64 bytes) was 10 bytes ago --- */ u8 hidden_ssid_len; /* 74 1 */ /* XXX 1 byte hole, try to pack */ struct rtllib_qos_data qos_data; /* 76 48 */ bool bWithAironetIE; /* 124 1 */ bool bCkipSupported; /* 125 1 */ bool bCcxRmEnable; /* 126 1 */ /* XXX 1 byte hole, try to pack */ /* --- cacheline 2 boundary (128 bytes) --- */ u16 CcxRmState[2]; /* 128 4 */ bool bMBssidValid; /* 132 1 */ u8 MBssidMask; /* 133 1 */ u8 MBssid[6]; /* 134 6 */ bool bWithCcxVerNum; /* 140 1 */ u8 BssCcxVerNumber; /* 141 1 */ /* XXX 2 bytes hole, try to pack */ struct rtllib_rx_stats stats; /* 144 120 */ /* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */ u16 capability; /* 264 2 */ u8 rates[12]; /* 266 12 */ u8 rates_len; /* 278 1 */ u8 rates_ex[16]; /* 279 16 */ u8 rates_ex_len; /* 295 1 */ long unsigned int last_scanned; /* 296 8 */ u8 mode; /* 304 1 */ /* XXX 3 bytes hole, try to pack */ u32 flags; /* 308 4 */ u32 last_associate; /* 312 4 */ u32 time_stamp[2]; /* 316 8 */ /* --- cacheline 5 boundary (320 bytes) was 4 bytes ago --- */ u16 beacon_interval; /* 324 2 */ u16 listen_interval; /* 326 2 */ u16 atim_window; /* 328 2 */ u8 erp_value; /* 330 1 */ u8 wpa_ie[64]; /* 331 64 */ /* XXX 5 bytes hole, try to pack */ /* --- cacheline 6 boundary (384 bytes) was 16 bytes ago --- */ size_t wpa_ie_len; /* 400 8 */ u8 rsn_ie[64]; /* 408 64 */ /* --- cacheline 7 boundary (448 bytes) was 24 bytes ago --- */ size_t rsn_ie_len; /* 472 8 */ u8 wzc_ie[256]; /* 480 256 */ /* --- cacheline 11 boundary (704 bytes) was 32 bytes ago --- */ size_t wzc_ie_len; /* 736 8 */ struct rtllib_tim_parameters tim; /* 744 2 */ u8 dtim_period; /* 746 1 */ u8 dtim_data; /* 747 1 */ /* XXX 4 bytes hole, try to pack */ u64 last_dtim_sta_time; /* 752 8 */ u8 wmm_info; /* 760 1 */ /* XXX 1 byte hole, try to pack */ struct rtllib_wmm_ac_param wmm_param[4]; /* 762 16 */ /* --- cacheline 12 boundary (768 bytes) was 10 bytes ago --- */ u8 Turbo_Enable; /* 778 1 */ /* XXX 1 byte hole, try to pack */ u16 CountryIeLen; /* 780 2 */ u8 CountryIeBuf[255]; /* 782 255 */ /* XXX 3 bytes hole, try to pack */ /* --- cacheline 16 boundary (1024 bytes) was 16 bytes ago --- */ struct bss_ht bssht; /* 1040 84 */ /* --- cacheline 17 boundary (1088 bytes) was 36 bytes ago --- */ bool broadcom_cap_exist; /* 1124 1 */ bool realtek_cap_exit; /* 1125 1 */ bool marvell_cap_exist; /* 1126 1 */ bool ralink_cap_exist; /* 1127 1 */ bool atheros_cap_exist; /* 1128 1 */ bool cisco_cap_exist; /* 1129 1 */ bool airgo_cap_exist; /* 1130 1 */ bool unknown_cap_exist; /* 1131 1 */ bool berp_info_valid; /* 1132 1 */ bool buseprotection; /* 1133 1 */ bool bIsNetgear854T; /* 1134 1 */ u8 SignalStrength; /* 1135 1 */ u8 RSSI; /* 1136 1 */ /* XXX 7 bytes hole, try to pack */ struct list_head list; /* 1144 16 */ /* --- cacheline 18 boundary (1152 bytes) was 8 bytes ago --- */ /* size: 1160, cachelines: 19, members: 61 */ /* sum members: 1132, holes: 10, sum holes: 28 */ /* last cacheline: 8 bytes */ }; network->bssid is char array of size 6. Issue found by checkpatch.pl Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c60cfc8e3b43a7477d519f91ef8f7f5edf0adff4 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 19:20:36 2015 +0100 Staging: rtl8192e: Replace printk with netdev_dbg, netdev_info, or netdev_warn For network systems netdev_dbg, netdev_info or netdev_warn is preferred over printk. Issue found by checkpatch.pl Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54160729c58408fedd762cde4579691731c2ae97 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 12:48:27 2015 +0100 Staging: rtl8192u: Replace printk() with netdev_dbg() For dynamic debugging netdev_dbg (if there is a ponterto a device net structure) is preferred over printk(), which is the raw way to print something. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eef638a1973976c450d4cb56ed7a35f59a035714 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 12:46:41 2015 +0100 Staging: rtl8192u: Fix line over 80 characters This patch splits the line so that doesn't exceeds 80 character mark. Issue found by checkpatch.pl Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d5f5732774719547e55a3730902f72cddf27d5a Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 12:45:53 2015 +0100 Staging: rtl8192u: Fix comments This patch fixes comments to fit kernel coding style rules, and also removes commented header file linux/wireless.h. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4eef520d2499e0c5cfed65f4a91fb0f4663a26ec Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Feb 28 08:13:54 2015 +0530 Staging: rtl8712: Use del_timer Use timer API function del_timer instead of driver specific function _cancel_timer_ex as it is a standard way for deactivating a timer. This is done using Coccinelle and semantic patch used for this is as follows: @@ expression x; @@ - _cancel_timer_ex (&x); + del_timer (&x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d0e486eef578097a7cfed7c4c913e31814e8c4c Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 00:15:56 2015 +0100 Staging: rtl8192u: Remove TRUE and FALSE macros Remove TRUE and FALSE boolean macros, since Linux kernel has already a boolean type, bool, defined in linux/stddef.h Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b2faf80228a9e5c9b6df0315dd3e021293717db Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 28 00:14:34 2015 +0100 Staging: rtl8192u: Replace TRUE and FALSE macros Replace all occurrences of TRUE and FALSE by true and false respectively. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c703c750cc247c5b06aef5cc054e62543c79e6b5 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Feb 27 23:25:48 2015 +0530 Staging: rtl8712: Eliminate use of _set_timer This patch introduces the use of API function mod_timer instead of driver specific function _set_timer as it is a more efficient and standard way to update the expire field of an active timer. Also, definition of function _set_timer is removed as it is no longer needed after this change. Here, these cases are handled using Coccinelle and semantic patch used for this is as follows: @@ expression x; expression y;@@ - _set_timer (&x, y); + mod_timer (&x, jiffies + msecs_to_jiffies (y)); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1862eec4fe45e2d33fb166af3f8e601fc2233d76 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Fri Feb 27 21:28:29 2015 +0530 staging: gdm72xx: Condense two statements into one to improve code readability. This patch removes a variable assignmnet to a value, used only for returning that value. The following coccinelle script was used to discover it: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e20af8acf1b538496827cd1e3b7b29631443528a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:11:02 2015 +0200 staging: dgap: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11107ffe2cd1c1dc5948713fc08a1372185be0d5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:10:30 2015 +0200 staging: fbtft: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30211d0d9df78c8135d9f5cadc77a8baa9f83793 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sun Mar 1 22:04:30 2015 +0200 Staging: lustre: Fix __packed is preferred over __attribute__((packed)) in libcfs_kernelcomm.h Fix checkpatch.pl issues with __packed is preferred over __attribute__((packed)) in libcfs_kernelcomm.h Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22e08f6384a83037dfcbe208d5f69d6f7ddf3e60 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sun Mar 1 20:21:52 2015 +0200 Staging: lustre: Remove space after function name Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in lporc_echo.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 629ecb5b3a0489a43959b68bbc610176807ef821 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Mar 1 14:39:06 2015 +0530 staging: lustre: Remove space in function call. This patch fixes the following checkpatch.pl warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe0eb1729e908229c472fd339f8dac44f203ec54 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sun Mar 1 03:34:11 2015 +0300 Staging: lustre: Fix externs should be avoided in .c This patch moves extern declaration to ldlm_internal.h. Remove prototype from ldlm_lockd.c and ldlm_lock.c. Issue addressed by checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3422d5ef09953bc5bb7468e98d8d12bad0a95c6 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sat Feb 28 22:14:19 2015 +0200 Staging: lustre:lnet: klnds: socklnd: Remove space after the name of that function Function names must be adjacent to the parenthesis opened after.That's why remove space after the name of that function. This Warning found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c2b7c05ef1ca1b50a6fb557002f1d6ec3dfd601 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Feb 28 22:33:47 2015 +0300 Staging: lustre: lustre: ldlm: Concatenate strings into single string This patch concatenate two consecutive strings into one, addressing checkpatch.pl warning: "Consecutive strings are generally better as a single string" Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40c6dccfc1dfa48ec98b61a6a6e03199c09a6dc3 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Sat Feb 28 22:20:14 2015 +0300 Staging: lustre: lustre: idlm: Move trailing statement to next line This patch Fix both "trailing statement should be on next line" and space before semicolon errors addressed by checkpatch.pl Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d428284244dfcd158c0d49c41f4dce33fc12e627 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sat Feb 28 20:15:10 2015 +0200 Staging: lustre: lnet: klnds: o2iblnd: Remove space after the name of that function Function names must be adjacent to the parenthesis opened after.That's why remove space after the name of that function. This Warning found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cde9afb1860f86fc0596f3ae45b5c154e0c3421 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Feb 28 16:28:01 2015 +0200 Staging: lustre: __aligned(size) is preferred over __attribute__((aligned(size))) This patch fixes the checkpatch.pl warning in the drivers/staging/lustre/include/linux/libcfs/libcfs_kernelcomm.h Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 978b9b35a61e8920cd9dbc1fe426b9deb3da7d4a Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sat Feb 28 15:33:12 2015 +0200 Staging: lustre: lnet: klnds: socklnd: Remove space after the name of that function Function names must be adjacent to the parenthesis opened after.That's why remove space after the name of that function. This Warning found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb7e9f7b820630d4c5e269aa74436e83331c333d Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Feb 28 00:54:17 2015 +0200 Staging: lustre: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' Remove unnecessary space between function name and opening parenthesis. That was found by running checkpatch.pl Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4de2ab88a0beba603ce222740d369d167881514 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sat Feb 28 00:23:32 2015 +0200 Staging: lustre: lnet: klnds: socklnd: Remove space after the name of that function Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in socklnd Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 939af333863ce12e9fcea2312ecc79f94af20f61 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 23:32:45 2015 +0200 Staging: lustre: lnet: lnet: Remove space after the name of that function Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in router.c Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a71fe4fbac8a96034be9694e7268271a5614a509 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 23:25:55 2015 +0200 Staging: lustre: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' Remove unnecessary space between function name and opening parenthesis. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f64a6f3cfdfb7f87ef739c946ceb6bc8ecaa3e57 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 23:10:06 2015 +0200 Staging: lustre: lnet: selftest: Trailing statements Trailing statements should be on next line. This Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39c09ce258dc5a4b8def5aad89680339a8888f03 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 22:55:50 2015 +0200 Staging: lustre: Removed necessary braces {} Deleted {}.Because braces {} are not necessary for single statement blocks Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a659df625bc1958fe3c1b67fe4132e39507bed07 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 22:49:04 2015 +0200 Staging: lustre: lnet: selftest: Remove space after the name of that function Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in rpc.c Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2ca1d8b50431eb7e4233cc34dbbdac669bc878c Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 22:42:11 2015 +0200 Staging: lustre: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' Remove unnecessary space between function name and opening parenthesis. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dddf4c23bbf7fde17e949381aa72956a4e518891 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 22:42:09 2015 +0200 Staging: lustre: Added const WARNING: struct file_operations should normally be const. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c30daaa382566f70666b8297c1f5271050e39f7 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 22:21:50 2015 +0200 Staging: lustre: lnet: selftest: Remove space after the name of that function Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in console.c Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dd70706cf54b597bf764ecb019e44168ab67bae Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 22:15:12 2015 +0200 Staging: lustre: Removed space prohibited WARNING: space prohibited before that '--' Removed space prohibited. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 295ce74f950368749af1580903077fa340df3ffa Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 21:51:04 2015 +0200 Staging: lustre: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' Remove unnecessary space between function name and opening parenthesis. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b9359f120dba3637338c4d63aeda976a8d15587 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 21:51:03 2015 +0200 Staging: lustre: Remove unnecessary else after return WARNING: else is not generally useful after a break or return Remove unnecessary else after return. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7a5b788a92391311d0cc0b714039544379b1e91 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 21:51:02 2015 +0200 Staging: lustre: Remove return in void function WARNING: void function return statements are not generally useful Remove return in void function. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8df67dad536a3b7eed8ee8e49fa8f2cca2bebed Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 27 21:23:35 2015 +0200 Staging: lustre: Add blank line after declarations WARNING: "Missing a blank line after declarations" Add blank line after declarations. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ded9f908dac718834e7c9a2c4ffc85df817c6031 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 21:34:25 2015 +0200 Staging: lustre: lustre: obdecho: Add blank line after declarations The following patch fixes the checkpatch.pl warning: drivers/staging/lustre/lustre/obdecho/echo_client.c WARNING: Missing a blank line after declarations Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75f0cef5c4de1a3d6e96cd8e789f3f20356e478c Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Feb 27 21:56:24 2015 +0300 Staging: lustre: lustre: ldlm: Fix do not add new typedefs This patch fixes "do not add new typedefs" warning generated by checkpatch.pl. Update related files. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 382e095525513c2500363cafe6043da1533aae1d Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Fri Feb 27 15:05:45 2015 +0200 Staging: lustre: Added #include <linux/statfs.h> instead of #include <asm/statfs.h> The following patch fixes the checkpatch.pl warning: WARNING: Use #include <linux/statfs.h> instead of #include <asm/statfs.h> Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6eae365ad2273571c19aa2a8b5460874cd507d6 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:55:54 2015 +0200 staging: lustre: osc: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9518b7657f9501c604615d0f54cf0fba681c5c2 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:56:28 2015 +0200 staging: lustre: obdecho: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d311af062eea4505da611bd7369ee6bd2ffafff Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:57:10 2015 +0200 staging: lustre: obdclass: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cf00deef38f1be51ca8df30472dfd1db9df5693 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:57:56 2015 +0200 staging: lustre: obdclass: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aba5c1396a0838a394694ae26c0eaf86e8238f6c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:59:42 2015 +0200 staging: lustre: mgc: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e78fd57966afb96dece2cb3578410587cd496a66 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:01:05 2015 +0200 staging: lustre: mdc: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 107d22095d72a93b6063f2298a0abc0231a15497 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:06:53 2015 +0200 staging: lustre: llite: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a091a1ff82eee5aae584e812831a9d671d94382 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:07:58 2015 +0200 staging: lustre: llite: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf9cac2286b61f1b5ed0da01daa4e574e491ad92 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 21:54:22 2015 +0200 Staging: lustre: lustre: ptlrpc: Add space ERROR: "(foo*)" should be "(foo *)".That's why add space together. That Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e867919757d716bfbff93556f45a1d779b6b5f36 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:55:16 2015 +0200 staging: lustre: ptlrpc: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8f6fa2b73894f52f5fc415138a00403ada57891 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:09:53 2015 +0200 staging: iio: light: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 838ec194a9d631a0e1b5e96c5440b563a5438144 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 15:08:38 2015 +0200 staging: iio: meter: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c732041b72506f4f6622debe057bd8f35ce2009f Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:50:34 2015 +0200 staging: wlan-ng: remove unused variable This patch removes variables that were simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9110e0ad3884575b641975cd1e58aedfadbb78b5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:49:27 2015 +0200 staging: wlan-ng: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25d5546c3bb00ee263b459b663197651c09d4a80 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Fri Feb 27 12:58:09 2015 +0200 Staging: rtl8723au: Remove white space before semicolon drivers/staging/rtl8723au/core/rtw_cmd.c warning: space prohibited before semicolon Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea18c05882b6eb45455e45af38237612d22f9238 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Mar 1 23:30:58 2015 +0530 staging: rtl8188eu: Remove memset. The memory area set by the call to memset is immediately overwritten by the subsequent call to memcpy. Hence, remove that redundant memset. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 131c359e8ef34f0cedf8e1eb7faf8eb649360a4f Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sat Feb 28 02:07:50 2015 +0530 staging: rtl8188eu: Add blank line after declarations This patch removes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25034ff83c25c8d1a114e3219fbf6c7b5a006622 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sat Feb 28 02:06:44 2015 +0530 staging: rtl8188eu: Compress two statements into one. This patch removes the use of a variable used only for returning a value. The following coccinelle script was used to discover it: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; It also fixes the checkpatch.pl warning about line being over 80 characters, in the lines where changes were made. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fe90658016577b1aee33dd183cd1098792cebd9 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Feb 27 23:23:57 2015 +0530 Staging: rtl8188eu: Remove unused variable Remove unused variable assignment for is2t and assign sim_bitmap at declaration to make the code more compact. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f70306ba0972a13be49c97ade1324b22f6ca1c9 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:54:23 2015 +0200 staging: rtl8188eu: os_dep: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 179e7dcde410d820f38ad80b28e9efe26030bb8d Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Feb 27 15:18:02 2015 +0530 Staging: rtl8188eu: Move variable assignment Variable path_on is assigned explicitly in the if branch and so its assignment outside can be moved to the else branch. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dacd2eced57b0df5676d189ee572d6ee40bd006e Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Feb 27 11:25:38 2015 +0530 Staging: rtl8188eu: Remove braces from single statement block Remove braces from single statement if condition to follow kernel coding convention. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79709afac6275be75935ee95ff8094a7586db82c Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 14:15:36 2015 +0200 Staging: lustre: lustre: osc: Insert missing space before '=' Insert missing space before '=' to improve readability. This Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cf1054b8c5bce39fa2c8adedb3ff40ddb0fa1b3 Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 14:45:41 2015 +0200 Staging: lustre: lustre: osc: Insert missing space before '|' Insert missing space before '|' to improve readability. This Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17fc7f9b9658a7846d0d920dd3b8124890f06bfa Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Fri Feb 27 13:50:11 2015 +0200 Staging: lustre: lustre: mgc: Delete the excess white space This patch fixes these error messages found by checkpatch.pl: ERROR: "foo* bar" should be "foo *bar" Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95745e9b1de24fc682a47080124819e1808c3a17 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Mar 1 13:08:00 2015 +0530 staging: lustre: Use kasprintf. This patch uses kasprintf as it combines kmalloc and sprintf, and takes care of the size calculation itself. The semantic patch that makes this change is as follows: // <smpl> @@ expression a,flag; expression list args; statement S; @@ a = - \(kmalloc\|kzalloc\)(...,flag) + kasprintf(flag,args) <... when != a if (a == NULL || ...) S ...> - sprintf(a,args); Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f40e06f0b7fe1f7244349b753cc22e67f69cded4 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sat Feb 28 23:11:47 2015 +0200 Staging: dgnc: Replace printk() with dev_dbg() This patch replaces printk() with dev_dbg() in order to avoid the suggestion of using a more specific function while printing debug information. Warning found by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c28645e3caff03a9d28f1597152348db2a7c0b59 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Feb 27 14:10:36 2015 +0200 Staging: dgnc: Replace printk with dev_err This patch fixes the following checkpatch.pl warning: WARNING: Prefer [subsystem eg: netdev]_err over printk(KERN_ERR, ...). Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c596a31ec3c3db2fe5ee78e9f46ae2e0bcb9aa0 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 14:51:29 2015 +0200 staging: vt6655: remove unused variable This patch removes a variable that was simply used to store the return value of a function call before returning it. The issue was detected and resolved using the following coccinelle script: @@ identifier len,f; @@ -int len; ... when != len when strict -len = +return f(...); -return len; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a19b14cc5c6553c29e861a3516c5720c940b8a3 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Fri Feb 27 12:00:49 2015 +0200 Staging: vt6655: Fix do not use C99 // comments Fix checkpatch.pl issues with do not use C99 // comments in key.h Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e3b1b0e09bacbb8f86be0b08b5d50617b57274e Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Fri Feb 27 13:21:57 2015 +0200 Staging: i2o: Fix quoted string split across lines This patch fixes "quoted string split across lines warning" warning in exec-osm.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13d932f79cea6b59b9a18a54c2e776d88799654d Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Thu Feb 26 18:42:36 2015 -0800 Staging: speakup: Remove 'extern' keywords from .h prototypes Addresses checkpatch.pl check: CHECK: Extern prototypes should be avoided in .h files Removes the 'extern' keyword from function prototypes Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68932f7188f84673fdb0de14a00c2f428869c6ed Merge: b656cc6 e2e9b65 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Mar 1 14:05:24 2015 -0500 Merge branch 'ebpf_support_for_cls_bpf' Daniel Borkmann says: ==================== eBPF support for cls_bpf This is the non-RFC version of my patchset posted before netdev01 [1] conference. It contains a couple of eBPF cleanups and preparation patches to get eBPF support into cls_bpf. The last patch adds the actual support. I'll post the iproute2 parts after the kernel bits are merged, an initial preview link to the code is mentioned in the last patch. Patch 4 and 5 were originally one patch, but I've split them into two parts upon request as patch 4 only is also needed for Alexei's tracing patches that go via tip tree. Tested with tc and all in-kernel available BPF test suites. I have configured and built LLVM with --enable-experimental-targets=BPF but as Alexei put it, the plan is to get rid of the experimental status in future [2]. Thanks a lot! v1 -> v2: - Removed arch patches from this series - x86 is already queued in tip tree, under x86/mm - arm64 just reposted directly to arm folks - Rest is unchanged [1] http://thread.gmane.org/gmane.linux.network/350191 [2] http://article.gmane.org/gmane.linux.kernel/1874969 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2e9b6541dd4b31848079da80fe2253daaafb549 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:48 2015 +0100 cls_bpf: add initial eBPF support for programmable classifiers This work extends the "classic" BPF programmable tc classifier by extending its scope also to native eBPF code! This allows for user space to implement own custom, 'safe' C like classifiers (or whatever other frontend language LLVM et al may provide in future), that can then be compiled with the LLVM eBPF backend to an eBPF elf file. The result of this can be loaded into the kernel via iproute2's tc. In the kernel, they can be JITed on major archs and thus run in native performance. Simple, minimal toy example to demonstrate the workflow: #include <linux/ip.h> #include <linux/if_ether.h> #include <linux/bpf.h> #include "tc_bpf_api.h" __section("classify") int cls_main(struct sk_buff *skb) { return (0x800 << 16) | load_byte(skb, ETH_HLEN + __builtin_offsetof(struct iphdr, tos)); } char __license[] __section("license") = "GPL"; The classifier can then be compiled into eBPF opcodes and loaded via tc, for example: clang -O2 -emit-llvm -c cls.c -o - | llc -march=bpf -filetype=obj -o cls.o tc filter add dev em1 parent 1: bpf cls.o [...] As it has been demonstrated, the scope can even reach up to a fully fledged flow dissector (similarly as in samples/bpf/sockex2_kern.c). For tc, maps are allowed to be used, but from kernel context only, in other words, eBPF code can keep state across filter invocations. In future, we perhaps may reattach from a different application to those maps e.g., to read out collected statistics/state. Similarly as in socket filters, we may extend functionality for eBPF classifiers over time depending on the use cases. For that purpose, cls_bpf programs are using BPF_PROG_TYPE_SCHED_CLS program type, so we can allow additional functions/accessors (e.g. an ABI compatible offset translation to skb fields/metadata). For an initial cls_bpf support, we allow the same set of helper functions as eBPF socket filters, but we could diverge at some point in time w/o problem. I was wondering whether cls_bpf and act_bpf could share C programs, I can imagine that at some point, we introduce i) further common handlers for both (or even beyond their scope), and/or if truly needed ii) some restricted function space for each of them. Both can be abstracted easily through struct bpf_verifier_ops in future. The context of cls_bpf versus act_bpf is slightly different though: a cls_bpf program will return a specific classid whereas act_bpf a drop/non-drop return code, latter may also in future mangle skbs. That said, we can surely have a "classify" and "action" section in a single object file, or considered mentioned constraint add a possibility of a shared section. The workflow for getting native eBPF running from tc [1] is as follows: for f_bpf, I've added a slightly modified ELF parser code from Alexei's kernel sample, which reads out the LLVM compiled object, sets up maps (and dynamically fixes up map fds) if any, and loads the eBPF instructions all centrally through the bpf syscall. The resulting fd from the loaded program itself is being passed down to cls_bpf, which looks up struct bpf_prog from the fd store, and holds reference, so that it stays available also after tc program lifetime. On tc filter destruction, it will then drop its reference. Moreover, I've also added the optional possibility to annotate an eBPF filter with a name (e.g. path to object file, or something else if preferred) so that when tc dumps currently installed filters, some more context can be given to an admin for a given instance (as opposed to just the file descriptor number). Last but not least, bpf_prog_get() and bpf_prog_put() needed to be exported, so that eBPF can be used from cls_bpf built as a module. Thanks to 60a3b2253c41 ("net: bpf: make eBPF interpreter images read-only") I think this is of no concern since anything wanting to alter eBPF opcode after verification stage would crash the kernel. [1] http://git.breakpoint.cc/cgit/dborkman/iproute2.git/log/?h=ebpf Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24701ecea76b0b93bd9667486934ec310825f558 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:47 2015 +0100 ebpf: move read-only fields to bpf_prog and shrink bpf_prog_aux is_gpl_compatible and prog_type should be moved directly into bpf_prog as they stay immutable during bpf_prog's lifetime, are core attributes and they can be locked as read-only later on via bpf_prog_select_runtime(). With a bit of rearranging, this also allows us to shrink bpf_prog_aux to exactly 1 cacheline. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96be4325f443dbbfeb37d2a157675ac0736531a1 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:46 2015 +0100 ebpf: add sched_cls_type and map it to sk_filter's verifier ops As discussed recently and at netconf/netdev01, we want to prevent making bpf_verifier_ops registration available for modules, but have them at a controlled place inside the kernel instead. The reason for this is, that out-of-tree modules can go crazy and define and register any verfifier ops they want, doing all sorts of crap, even bypassing available GPLed eBPF helper functions. We don't want to offer such a shiny playground, of course, but keep strict control to ourselves inside the core kernel. This also encourages us to design eBPF user helpers carefully and generically, so they can be shared among various subsystems using eBPF. For the eBPF traffic classifier (cls_bpf), it's a good start to share the same helper facilities as we currently do in eBPF for socket filters. That way, we have BPF_PROG_TYPE_SCHED_CLS look like it's own type, thus one day if there's a good reason to diverge the set of helper functions from the set available to socket filters, we keep ABI compatibility. In future, we could place all bpf_prog_type_list at a central place, perhaps. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4052c4aea0cf455110457c0a0c299d45689ba05 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:45 2015 +0100 ebpf: remove CONFIG_BPF_SYSCALL ifdefs in socket filter code This gets rid of CONFIG_BPF_SYSCALL ifdefs in the socket filter code, now that the BPF internal header can deal with it. While going over it, I also changed eBPF related functions to a sk_filter prefix to be more consistent with the rest of the file. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fc174dea54546e2b1146e1197da1b6d4bc48107 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:44 2015 +0100 ebpf: make internal bpf API independent of CONFIG_BPF_SYSCALL ifdefs Socket filter code and other subsystems with upcoming eBPF support should not need to deal with the fact that we have CONFIG_BPF_SYSCALL defined or not. Having the bpf syscall as a config option is a nice thing and I'd expect it to stay that way for expert users (I presume one day the default setting of it might change, though), but code making use of it should not care if it's actually enabled or not. Instead, hide this via header files and let the rest deal with it. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1a66f85b74c5ef7b503f746ea97742dacd56419 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:43 2015 +0100 ebpf: export BPF_PSEUDO_MAP_FD to uapi We need to export BPF_PSEUDO_MAP_FD to user space, as it's used in the ELF BPF loader where instructions are being loaded that need map fixups. An initial stage loads all maps into the kernel, and later on replaces related instructions in the eBPF blob with BPF_PSEUDO_MAP_FD as source register and the actual fd as immediate value. The kernel verifier recognizes this keyword and replaces the map fd with a real pointer internally. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2c83fff582ae133d9f5bb187404ea9ce4da1f96 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:42 2015 +0100 ebpf: constify various function pointer structs We can move bpf_map_ops and bpf_verifier_ops and other structs into ro section, bpf_map_type_list and bpf_prog_type_list into read mostly. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f91fe17e243d1f279d425071a35e3d41290758a0 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sun Mar 1 12:31:41 2015 +0100 ebpf: remove kernel test stubs Now that we have BPF_PROG_TYPE_SOCKET_FILTER up and running, we can remove the test stubs which were added to get the verifier suite up. We can just let the test cases probe under socket filter type instead. In the fill/spill test case, we cannot (yet) access fields from the context (skb), but we may adapt that test case in future. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e1223b50089ab5901215d2fd8c61b42c7cfe034 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Feb 3 20:11:48 2015 +0200 iwlwifi: mvm: new Alive / error table API The new API slightly changes the layout of the version of the firmware - prepare for that. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 33cef9256342f200a708211958cec9c44406631d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jan 21 21:41:29 2015 +0100 iwlwifi: mvm: support beacon statistics for BSS client Report the average beacon signal and the number of received beacons as measured by the firmware. Since the firmware just counts, and doesn't reset the counter at all, clear it in the firmware whenever we associate. However, accumulate it over firmware restart. Since clearing the statistics in the firmware will also clear the ones for the radio statistics, add those to the accumulator when cleared. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3c118cdb9cd8c8425320f5153054250c5b93d8c0 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Tue Feb 10 09:25:50 2015 +0200 iwlwifi: mvm: don't write to DBGC_OUT_CTRL when stopping the recording Due to HW bug in the DBGC when driver want to stop the dbg recording it should wait 100us before collecting the data instead of write 0 to DBGC_OUT_CTRL. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1f9403863c080478ad78247c89b018e95bdfb027 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Feb 10 13:03:38 2015 +0200 iwlwifi: mvm: remove deprecated scan API code The legacy scan API is deprecated and not used anymore with 10 and higher firmware versions. Since we deprecated firmware version 9, we can remove a whole lot of unused code. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1e2c24f0f10f1b170a0840a5a54a912785ee2f6a Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Feb 10 13:54:08 2015 +0200 iwlwifi: deprecate -9.ucode for 3160 / 7260 / 7265 This firmware is not supported anymore. Stop loading this firmware. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 91a8bcde2e7feb2c2782ddc6a266cf5f5294d16f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jan 14 18:12:41 2015 +0100 iwlwifi: mvm: support radio statistics as global survey Export the radio statistics from the statistics v10 API (if the firmware also has the capability to fill these statistics) using the global survey data facility. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 777c9b6bba5266ea8eecb19b3fa8b63ad5251bd6 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jan 14 17:58:57 2015 +0100 iwlwifi: mvm: add statistics API version 10 New firmware versions will report statistics using a new version 10 of the API, instead of the current version 8. Add support for this. This enables getting beacon and radio statistics. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a2227ce2a32cf9faeab1299894fe09d03e6a12b7 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Feb 4 16:35:03 2015 +0200 iwlwifi: pcie: apply destination before releasing reset This allows to use the firmware debugging system even when the configuration values are set hard coded in the firmware. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 295ca6d3ed5611577e7b057c0d191e9f72d9daea Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Feb 9 15:18:49 2015 +0200 iwlwifi: mvm: remove unused function in BT coex Cleanup unused code. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit afcee962b09842d0f4191beb4a2d08251b4c7705 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Feb 9 15:18:17 2015 +0200 iwlwifi: mvm: fix BT coex shared antenna activity check The shared antenna should be forbidden to use only if there's high BT activity. Comparing to BT_OFF was effectively causing us to always forbid using the shared antenna for SISO. This leads to degraded performance in scenarios where the shared antenna would have better performance. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 16c426ff9e13a06d754ed7484f5e6e6d6550f968 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Feb 2 12:46:22 2015 +0200 iwlwifi: mvm: rs: print single stream params via debugfs Add this to the info printed when reading rate_scale_table. Useful for debugging. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 878985ce7e384c11dae751b4c217f5abe8b62806 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Feb 2 12:14:54 2015 +0200 iwlwifi: mvm: rs: avoid ss_force from being reset after tx idle ss_force is a debugging option to force a certain single stream tx mode. It's not useful if it gets reset after tx idle. Fix that. While at it also make sure any code touching ss_force will only get compiled if debugfs support is configured. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e717c166766a3542027f1d5da236aa74d1903ada Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Tue Feb 3 15:53:29 2015 +0200 iwlwifi: mvm: increase the number of PAPD channel groups to 9 Newer devices have more PAPD channel groups. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 51ec09af2d67f7d75402a2c8f5f1016de1d1945b Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Jan 21 11:50:31 2015 +0200 iwlwifi: mvm: consider TDLS queues as used during drain When a TDLS station is being drained its Tx queues are still in use. Don't allocate them to a different station in the meantime. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7ac4a50a7ce31fc6350c05abc0c01a2c51725cb4 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Feb 1 21:46:00 2015 +0200 iwlwifi: mvm: rs: disable MIMO for low latency P2P Due to issues with Miracast adapters MIMO reception disable use of MIMO when for low latency P2P traffic. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ba69d0e36261234efa315ff34ef6f59da9f98ac3 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Fri Jan 30 01:38:29 2015 +0200 iwlwifi: mvm: rs: adapt rate matching to new STBC/BFER Once the FW supports autonomous decision between STBC/BFER/SISO we no longer set the STBC bit and ANT_AB in the rate table. However the FW rate in the tx response will have the STBC or BFER bit set and the antennas set to ANT_AB in case these were chosen by it. This will cause us to discard any such response as unmatching the current LQ table and thus break the rs search cycle completely. Fix this by relaxing the rate matching in case we're working with the new API and STBC/BFER are used. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0b8d17f30304bedff77d47450839865048b1b626 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Feb 2 15:21:27 2015 +0200 iwlwifi: mvm: rs: fix BT Coex check to look at the correct ant The check to avoid the shared antenna was passed the wrong antenna parameter. It should have checked whether the antenna of the next column we're considering is allowed and instead it was passed the current antenna. This could lead to a wrong choice of the next column in the rs algorithm and non optimal performance. Fixes: commit 219fb66b49fac64bb ("iwlwifi: mvm: rs - don't use the shared antenna when BT load is high") Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 504c6143c53dfd140d42fe76d0faed1309c6d1b6 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 10:00:10 2015 +0100 crypto: powerpc/aes - kernel config Integrate the module into the kernel configuration Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8a28a1a89409289d9552757b95f85b50ffc26ac7 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 10:00:05 2015 +0100 cyprot: powerpc/aes - glue code Integrate the assembler modules into the kernel crypto framework. Take care to avoid long intervals of disabled preemption. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f2e2ad2e1bfae66f087f4a33cd14da6d5ffcb79f Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 10:00:00 2015 +0100 crypto: powerpc/aes - ECB/CBC/CTR/XTS modes The assembler block cipher module that controls the core AES functions. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f98992af419e3b69696e9c418eda664bd5d7ceb2 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 09:59:54 2015 +0100 crypto: powerpc/aes - key handling Key generation for big endian core routines. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1c201e6420729f0aca9c844bb941ee2dd2b6c3c0 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 09:59:49 2015 +0100 crypto: powerpc/aes - assembler core The assembler AES encryption and decryption core routines. Implemented & optimized for big endian. Nevertheless they work on little endian too. For most efficient reuse in (higher level) block cipher routines they are implemented as "fast" call modules without any stack handling or register saving. The caller must take care of that part. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0c5f9aea2e9c1f4a60321127064d03a0331add99 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 09:59:43 2015 +0100 crypto: powerpc/aes - aes tables 4K AES tables for big endian. To reduce the possiblity of timing attacks, the size has been cut to 8KB + 256 bytes in contrast to 16KB in the generic implementation. That is not perfect but at least a good tradeoff for CPU limited router devices. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 74f2dc2041d3d66689984cdb987f3224caffaedd Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sun Feb 22 09:59:38 2015 +0100 crypto: powerpc/aes - register defines Define some register aliases for better readability. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0052a65413f006663e0d7fbfc886ea5bbd8f197f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Feb 16 18:09:16 2015 -0800 hwrng: bcm63xx - use devm_* helpers Simplify the driver's probe function and error handling by using the device managed allocators, while at it, drop the redundant "out of memory" messages since these are already printed by the allocator. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit aeb9624f96581732b1ffd21af967375839ba227d Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Feb 16 18:09:15 2015 -0800 MIPS: BCM63xx: remove RSET_RNG register definitions Now that these definitions have been moved to drivers/char/hw_random/bcm63xx-rng.c where they belong to make the driver standalone, we can safely remove these definitions from bcm63xx_regs.h. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b515e0f989124ee7a13df45a318273f51081d58f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Feb 16 18:09:14 2015 -0800 hwrng: bcm63xx - move register definitions to driver arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h contains the register definitions for this random number generator block, incorporate these register definitions directly into the bcm63xx-rng driver so we do not rely on this header to be provided. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f7591faec6f66bcd91bca25f91192c787f63d365 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Feb 16 18:09:13 2015 -0800 hwrng: bcm63xx - drop bcm_{readl,writel} macros bcm_{readl,writel} macros expand to __raw_{readl,writel}, use these directly such that we do not rely on the platform to provide these for us. As a result, we no longer use bcm63xx_io.h, so remove that inclusion too. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b656cc64cf815d8ff6e99883a531fafc48199bd0 Merge: 74abc20 8b7ac01 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Feb 28 23:39:05 2015 -0500 Merge branch 's390-next' Ursula Braun says: ==================== s390: network patches for net-next here are some s390 related patches for net-next ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b7ac017aa0f9b803e9da9caafa5fe9544ecf5c7 Author: Ursula Braun <ursula.braun@xxxxxxxxxx> Date: Fri Feb 27 12:52:34 2015 +0100 MAINTAINERS: update S390 NETWORK DRIVERS maintainer remove Frank Blaschka as S390 NETWORK DRIVERS maintainer Acked-by: Frank Blaschka <blaschka@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca5b20ace87b645a436faecc0e7e697699639690 Author: Stefan Raspl <raspl@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 12:52:33 2015 +0100 qeth: Fix command sizes This patch adjusts two instances where we were using the (too big) struct qeth_ipacmd_setadpparms size instead of the commands' actual size. This didn't do any harm, but wasted a few bytes. Signed-off-by: Stefan Raspl <raspl@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83650a2edc9b8f0838c7842b7ea595c927e79092 Author: Ursula Braun <ursula.braun@xxxxxxxxxx> Date: Fri Feb 27 12:52:32 2015 +0100 s390: remove claw driver claw devices are outdated and no longer supported. This patch removes the claw driver. Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75a499a651bb5838320a7e2542ed6f8181e60976 Author: Ryo Kataoka <ryo.kataoka.wt@xxxxxxxxxxx> Date: Thu Feb 19 22:29:06 2015 +0900 ARM: shmobile: r8a7791: Fix IPMMU-GP clock to device tree Signed-off-by: Ryo Kataoka <ryo.kataoka.wt@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1fc580158714b19fbc3a592a126c58e06728763d Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 16:08:33 2015 +0200 ARM: shmobile: r8a7794: alt: Fix ethernet controller PHY IRQ line The PHY IRQ line is connected to external IRQ8, not IRQ0. Fix DT accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3915d36fabf143dffdf91c5372d3b0a23722af52 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:13 2015 +0100 ARM: shmobile: r8a7778: enable multiplatform target Adds config option and enables DTB building. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ba32449535c57b7cc4da788326c6ae4908b70268 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:12 2015 +0100 ARM: shmobile: bockw: add sound to DT Adds sound card using the ak4643 codec. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 39a96792c5d351e002fadbdaaba5fc0c20450f1d Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:11 2015 +0100 ARM: shmobile: r8a7778: add sound to DT Adds an entry for an R-Car Gen. 1 sound controller. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> [horms: Removed undocumented "renesas,rcar_sound" compat string] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 74abc20cedf6f95a0065665c55180ef2d4828ba5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Feb 26 19:08:59 2015 -0800 tcp: cleanup static functions tcp_fastopen_create_child() is static and should not be exported. tcp4_gso_segment() and tcp6_gso_segment() should be static. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59995370dbca7636c105ddadc0447fab86ad3887 Author: Andrew Schwartzmeyer <andrew@xxxxxxxxxxxxxxxxx> Date: Thu Feb 26 16:27:14 2015 -0800 hyperv: Implement netvsc_get_channels() ethool op This adds support for reporting the actual and maximum combined channels count of the hv_netvsc driver via 'ethtool --show-channels'. This required adding 'max_chn' to 'struct netvsc_device', and assigning it 'rsscap.num_recv_que' in 'rndis_filter_device_add'. Now we can access the combined maximum channel count via 'struct netvsc_device' in the ethtool callback. Signed-off-by: Andrew Schwartzmeyer <andrew@xxxxxxxxxxxxxxxxx> Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76a70e9c4b45fc1dbcbff6f7ae88ac7e1ddfb677 Author: James Minor <james.minor@xxxxxx> Date: Tue Feb 24 12:58:20 2015 -0600 cfg80211-wext: return -E2BIG when buffer can't hold full BSS entry When using the wext compatibility code in cfg80211, part of the IEs can be truncated if the passed user buffer is large enough for part of the BSS but not large enough for all of the IEs. This can cause an EAP network to show up as a PSK network. Always return -E2BIG in this case to avoid truncating data. Since this changes the control flow, use an on-stack variable for a small buffer instead of allocating it. Signed-off-by: James Minor <james.minor@xxxxxx> [rework patch to error out immediately, use _check wrappers] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 36ef906ee8fefbfac3844206e66d8450e6221c69 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Feb 25 10:54:33 2015 +0100 wext: add checked wrappers for adding events/points to streams These checked wrappers are necessary for the next patch, which will use them to avoid sending out partial scan results. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit abfbc3af57b1b92ff976ce7f1c776c169d14ed8a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Feb 25 10:03:25 2015 +0100 mac80211: remove TX latency measurement code Revert commit ad38bfc916da ("mac80211: Tx frame latency statistics") (along with some follow-up fixes). This code turned out not to be as useful in the current form as we thought, and we've internally hacked it up more, but that's not very suitable for upstream (for now), and we might just do that with tracing instead. Therefore, for now at least, remove this code. We might also need to use the skb->tstamp field for the TCP performance issue, which is more important than the debugging. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 31f909a2c0abfc1a1a76b2981d28ac85d33210e7 Author: Masashi Honma <masashi.honma@xxxxxxxxx> Date: Tue Feb 24 22:42:16 2015 +0900 nl/mac80211: allow zero plink timeout to disable STA expiration Both wpa_supplicant and mac80211 have and inactivity timer. By default wpa_supplicant will be timed out in 5 minutes and mac80211's it is 30 minutes. If wpa_supplicant uses a longer timer than mac80211, it will get unexpected disconnection by mac80211. Using 0xffffffff instead as the configured value could solve this w/o changing the code, but due to integer overflow in the expression used this doesn't work. The expression is: (current jiffies) > (frame Rx jiffies + NL80211_MESHCONF_PLINK_TIMEOUT * 250) On 32bit system, the right side would overflow and be a very small value if NL80211_MESHCONF_PLINK_TIMEOUT is sufficiently large, causing unexpectedly early disconnections. Instead allow disabling the inactivity timer to avoid this situation, by passing the (previously invalid and useless) value 0. Signed-off-by: Masashi Honma <masashi.honma@xxxxxxxxx> [reword/rewrap commit log] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cd37a90b2a417e5882414e19954eeed174aa4d29 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Tue Feb 24 08:39:44 2015 -0500 mac80211_hwsim: support any address in userspace Due to the checks in get_hwsim_data_ref_from_addr, wmediumd was only able to use the second mac address (those starting with 0x42). This is confusing and needlessly limiting, so allow any configured address. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2afe38d15cee01b2bb8f22383571f7f4a95f2d99 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jan 6 14:00:53 2015 +0100 cfg80211-wext: export symbols only when needed When a fully converted cfg80211 driver needs cfg80211-wext for userspace API purposes, the symbols need not be exported. When other drivers (orinoco/hermes or ipw2200) are enabled, they do need the symbols exported as they use them directly. Make those drivers select a new CFG80211_WEXT_EXPORT Kconfig symbol (instead of just CFG80211_WEXT) and export the functions only if requested - this saves about 1/2k due to the size of EXPORT_SYMBOL() itself. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7d9bb2f0653c7830e676f1012051fe9349ce2669 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Feb 13 21:31:07 2015 +0100 mac80211: iterate using station list in AP SMPS When changing AP SMPS, we need to look up all the stations for this interface, so there's no reason to iterate over hash chains rather than doing the simpler iteration over the station list. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9d6b106b54e02ad6a30c8bd949c8ea581a47d92b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Feb 24 00:28:18 2015 +0100 mac80211: don't look up stations for multicast addresses Since multicast addresses don't exist as stations, don't attempt to look them up in the hashtable on TX. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f9c7ce18538ed9c099818a9335d7e427d60e97ae Merge: 6588af6 a0ea700 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Feb 28 15:10:47 2015 -0500 Merge branch 'tcp-tso' Eric Dumazet says: ==================== tcp: tso improvements This patch serie reworks tcp_tso_should_defer() a bit to get less bursts, and better ECN behavior. We also removed tso_deferred field in tcp socket. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a0ea700e4095e26a8e291374757dd29519900f18 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Feb 26 14:10:20 2015 -0800 tcp: tso: allow CA_CWR state in tcp_tso_should_defer() Another TCP issue is triggered by ECN. Under pressure, receiver gets ECN marks, and send back ACK packets with ECE TCP flag. Senders enter CA_CWR state. In this state, tcp_tso_should_defer() is short cut : if (icsk->icsk_ca_state != TCP_CA_Open) goto send_now; This means that about all ACK packets we receive are triggering a partial send, and because cwnd is kept small, we can only send a small amount of data for each incoming ACK, which in return generate more ACK packets. Allowing CA_Open and CA_CWR states to enable TSO defer in tcp_tso_should_defer() brings performance back : TSO autodefer has more chance to defer under pressure. This patch increases TSO and LRO/GRO efficiency back to normal levels, and does not impact overall ECN behavior. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50c8339e9299aaf09e48c8f94de39baec638c874 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Feb 26 14:10:19 2015 -0800 tcp: tso: restore IW10 after TSO autosizing With sysctl_tcp_min_tso_segs being 4, it is very possible that tcp_tso_should_defer() decides not sending last 2 MSS of initial window of 10 packets. This also applies if autosizing decides to send X MSS per GSO packet, and cwnd is not a multiple of X. This patch implements an heuristic based on age of first skb in write queue : If it was sent very recently (less than half srtt), we can predict that no ACK packet will come in less than half rtt, so deferring might cause an under utilization of our window. This is visible on initial send (IW10) on web servers, but more generally on some RPC, as the last part of the message might need an extra RTT to get delivered. Tested: Ran following packetdrill test // A simple server-side test that sends exactly an initial window (IW10) // worth of packets. `sysctl -e -q net.ipv4.tcp_min_tso_segs=4` 0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 +0 bind(3, ..., ...) = 0 +0 listen(3, 1) = 0 +.1 < S 0:0(0) win 32792 <mss 1460,sackOK,nop,nop,nop,wscale 7> +0 > S. 0:0(0) ack 1 <mss 1460,nop,nop,sackOK,nop,wscale 6> +.1 < . 1:1(0) ack 1 win 257 +0 accept(3, ..., ...) = 4 +0 write(4, ..., 14600) = 14600 +0 > . 1:5841(5840) ack 1 win 457 +0 > . 5841:11681(5840) ack 1 win 457 // Following packet should be sent right now. +0 > P. 11681:14601(2920) ack 1 win 457 +.1 < . 1:1(0) ack 14601 win 257 +0 close(4) = 0 +0 > F. 14601:14601(0) ack 1 +.1 < F. 1:1(0) ack 14602 win 257 +0 > . 14602:14602(0) ack 2 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f852eb536ad651b8734559dcf4353514cb0bea3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Feb 26 14:10:18 2015 -0800 tcp: tso: remove tp->tso_deferred TSO relies on ability to defer sending a small amount of packets. Heuristic is to wait for future ACKS in hope to send more packets at once. Current algorithm uses a per socket tso_deferred field as a pseudo timer. This pseudo timer relies on future ACK, but there is no guarantee we receive them in time. Fix would be to use a real timer, but cost of such timer is probably too expensive for typical cases. This patch changes the logic to test the time of last transmit, because we should not add bursts of more than 1ms for any given flow. We've used this patch for about two years at Google, before FQ/pacing as it would reduce a fair amount of bursts. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f46bf82e23846fc419861bb7b2c4b041e69b831f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Feb 28 18:59:28 2015 +0100 power: bq27x00_battery: add bq27510 support Add support for bq27510 to the bq27x00 driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6588af614e7b79294fbcd4a666a7422c0c854e80 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Thu Feb 26 19:34:37 2015 +0000 usbnet: Fix tx_packets stat for FLAG_MULTI_FRAME drivers Currently the usbnet core does not update the tx_packets statistic for drivers with FLAG_MULTI_PACKET and there is no hook in the TX completion path where they could do this. cdc_ncm and dependent drivers are bumping tx_packets stat on the transmit path while asix and sr9800 aren't updating it at all. Add a packet count in struct skb_data so these drivers can fill it in, initialise it to 1 for other drivers, and add the packet count to the tx_packets statistic on completion. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Tested-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2249129f438799e251fe1e05d0b6f38dc6e63b4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Nov 22 15:39:16 2014 +0100 HSI: nokia-modem: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 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: Sebastian Reichel <sre@xxxxxxxxxx> commit df586cbb6be97aaf55b9a01e1d0ab01bc03d70d1 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sat Feb 7 06:16:46 2015 -0500 crypto: sahara - drop unnecessary default assignment All possible code-paths will assign ret to suitable values so this default value is not needed. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6cf02fcab1f6158c224fb00619f21556d8e5c4ea Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sat Feb 7 06:27:45 2015 -0500 crypto: sahara - pass on error condition A failure of sahara_hw_descriptor_create() with -EINVAL due to scatter list out of bounds/invalid would not be reported back. This patch just passes on the -EINVAL so it is visible in sahara_queue_manage(). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 58ed798b8291f1d63c00d6dfe077587494a6790a Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sat Feb 7 06:17:13 2015 -0500 crypto: sahara - fix type of ret for wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int, this patch adds appropriate variables of type unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dd0fff8db627e08272af98d9480ae8d892d8f440 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sat Feb 7 03:09:41 2015 -0500 crypto: mxs-dcp - fix type of ret for wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int, this patch changes the type of ret from int to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 81e397d937a8e9f46f024a9f876cf14d8e2b45a7 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Feb 6 10:25:20 2015 -0800 crypto: aesni - make driver-gcm-aes-aesni helper a proper aead alg Changed the __driver-gcm-aes-aesni to be a proper aead algorithm. This required a valid setkey and setauthsize functions to be added and also some changes to make sure that math context is not corrupted when the alg is used directly. Note that the __driver-gcm-aes-aesni should not be used directly by modules that can use it in interrupt context as we don't have a good fallback mechanism in this case. Signed-off-by: Adrian Hoban <adrian.hoban@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d2e3ae6f3abad839214f7b05c34075a1a7c82470 Author: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:59:48 2015 -0200 crypto: vmx - Enabling VMX module for PPC64 This patch enables VMX module in PPC64. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5c380d623ed30b71a2441fb4f2e053a4e1a50794 Author: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:59:35 2015 -0200 crypto: vmx - Add support for VMS instructions by ASM OpenSSL implements optimized ASM algorithms which support VMX instructions on Power 8 CPU. These scripts generate an endian-agnostic ASM implementation in order to support both big and little-endian. - aesp8-ppc.pl: implements suport for AES instructions implemented by POWER8 processor. - ghashp8-ppc.pl: implements support for GHASH for Power8. - ppc-xlate.pl: ppc assembler distiller. These code has been adopted from OpenSSL project in collaboration with the original author (Andy Polyakov <appro@xxxxxxxxxxx>). Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cc333cd68dfae191ce02308657a50f21d63b7cd5 Author: Marcelo H. Cerri <mhcerri@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:59:05 2015 -0200 crypto: vmx - Adding GHASH routines for VMX module This patch adds GHASH routines to VMX module in order to make use of VMX cryptographic acceleration instructions on Power 8 CPU. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4f7f60d312b3816542412ee90e05f06b50a51489 Author: Marcelo H. Cerri <mhcerri@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:58:31 2015 -0200 crypto: vmx - Adding CTR routines for VMX module This patch adds AES CTR routines to VMX module in order to make use of VMX cryptographic acceleration instructions on Power 8 CPU. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8c755ace357c77fbfea61a2ce07d9723a9bb482f Author: Marcelo H. Cerri <mhcerri@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:57:53 2015 -0200 crypto: vmx - Adding CBC routines for VMX module This patch adds AES CBC routines to VMX module in order to make use of VMX cryptographic acceleration instructions on Power 8 CPU. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8676590a159320a9de2a1818df14a3bac3f065a1 Author: Marcelo H. Cerri <mhcerri@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:57:22 2015 -0200 crypto: vmx - Adding AES routines for VMX module This patch adds AES routines to VMX module in order to make use of VMX cryptographic acceleration instructions on Power 8 CPU. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 20a26faa7e623fd1344bc39d201a27ea440b2ad2 Author: Marcelo H. Cerri <mhcerri@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 14:56:50 2015 -0200 crypto: vmx - Adding VMX module for Power 8 This patch adds routines supporting VMX instructions on the Power 8. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6bbb614ec478961c7443086bdf7fd6784479c14a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Feb 27 15:55:40 2015 +0100 x86/mm: Unexport set_memory_ro() and set_memory_rw() This effectively unexports set_memory_ro() and set_memory_rw() functions, and thus reverts: a03352d2c1dc ("x86: export set_memory_ro and set_memory_rw"). They have been introduced for debugging purposes in e1000e, but no module user is in mainline kernel (anymore?) and we explicitly do not want modules to use these functions, as they i.e. protect eBPF (interpreted & JIT'ed) images from malicious modifications or bugs. Outside of eBPF scope, I believe also other set_memory_*() functions should be unexported on x86 for modules. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Bruce Allan <bruce.w.allan@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: davem@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a064393a0a5d319eebde5c761cfd743132d4f213.1425040940.git.daniel@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a05973a79efe9152391065c87c12d5c1e146a736 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Feb 6 03:25:28 2015 -0800 mtd: s3c2410: drop useless / misspelled debug prints s3c2410_nand_probe is not the name of the function. These prints have little utility, so let's just kill them. Reported-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7c2f717668af10ab6d4aaed22a5d29f06812ee62 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 15:53:27 2015 +0100 mtd: pxa3xx_nand: initialiaze pxa3xx_flash_ids to 0 pxa3xx_flash_ids wasn't initialized to 0, which in certain cases could end up containing corrupted values in its members. Fix this to avoid possible issues. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ed446cc7208d80a7e9ddddc757a4d5767b67b4c7 Merge: 2454225 e423c90 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 01:24:03 2015 -0800 Merge MTD updates into -next commit 24542257a3b987025d4b998ec2d15e556c98ad3f Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Fri Feb 20 19:36:43 2015 +0100 mtd: pxa3xx-nand: handle PIO in threaded interrupt Change the handling of the data stage in the driver : don't pump data in the top-half interrupt, but rather schedule a thread for non dma cases. This will enable latencies in the data pumping, especially if delays are required. Moreover platform shall be more reactive as other interrupts can be served while pumping data. No throughput degradation was observed, at least on the zylonite platform, while a slight degradation was being expected. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Tested-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit adf716d2f3e62820cc86cdb08c277516c7012352 Merge: 46aad84 8dad038 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sat Feb 28 01:06:08 2015 -0800 Merge MTD updates into -next commit 788b94ba6c223d4ce955218d59075cd1edb92692 Merge: 0afb170 fefd2d9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Feb 28 08:12:16 2015 +0100 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 SIGBUS failures due to misaligned accesses in Sparc64 (David Ahern) - Fix branch stack mode in 'perf report' (He Kuang) - Fix a 'perf probe' operator precedence bug (He Kuang) - Fix Support for different binaries with same name in 'perf diff' (Kan Liang) - Check kprobes blacklist when adding new events via 'perf probe' (Masami Hiramatsu) - Add --purge FILE to remove all caches of FILE in 'perf buildid-cache' (Masami Hiramatsu) - Show usage with some incorrect params (Masami Hiramatsu) - Add new buildid cache if update target is not cached in 'buildid-cache' (Masami Hiramatsu) - Allow listing events with 'tracepoint' prefix in 'perf list' (Yunlong Song) - Sort the output of 'perf list' (Yunlong Song) - Fix bash completion of 'perf --' (Yunlong Song) Developer Zone: - Handle strdup() failure path in 'perf probe' (Arnaldo Carvalho de Melo) - Fix get_real_path to free allocated memory in error path in 'perf probe' (Masami Hiramatsu) - Use pr_debug instead of verbose && pr_info perf buildid-cache (Masami Hiramatsu) - Fix building of 'perf data' with some gcc versions due to incorrect array struct entry (Yunlong Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 44aa1d4413876cca0962debc9483ba009d71737f Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Fri Feb 27 16:23:59 2015 -0500 security/yama: Remove unnecessary selects from Kconfig. Yama selects SECURITYFS and SECURITY_PATH, but requires neither. Remove them. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 41a4695ca46d8798f89b477855973eb2ad3f4f69 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Wed Feb 27 08:37:56 2013 -0800 Yama: do not modify global sysctl table entry When the sysctl table is constified, we won't be able to directly modify it. Instead, use a table copy that carries any needed changes. Suggested-by: PaX Team <pageexec@xxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 721a57a02dfc81b6d63b93b8ca23be3004b61515 Merge: 247f6d0 d76a436 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 27 18:18:52 2015 -0500 Merge branch 'tipc-next' Erik Hugne says: ==================== tipc: bug fix and some improvements Most important is a fix for a nullptr exception that would occur when name table subscriptions fail. The remaining patches are performance improvements and cosmetic changes. v2: remove unnecessary whitespace in patch #2 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d76a436d50d1ebce352e1815eaea79a254b2b24f Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Fri Feb 27 08:56:58 2015 +0100 tipc: make media address offset a common define With the exception of infiniband media which does not use media offsets, the media address is always located at offset 4 in the media info field as defined by the protocol, so we move the definition to the generic bearer.h Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91e2eb56845a018e5c691acf87137baf05316c4e Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Fri Feb 27 08:56:57 2015 +0100 tipc: rename media/msg related definitions The TIPC_MEDIA_ADDR_SIZE and TIPC_MEDIA_ADDR_OFFSET names are misleading, as they actually define the size and offset of the whole media info field and not the address part. This patch does not have any functional changes. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afaa3f65f65fda2e7b190aac7e2a75d9a2a77cb6 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Fri Feb 27 08:56:56 2015 +0100 tipc: purge links when bearer is disabled If a bearer is disabled by manual intervention, all links over that bearer should be purged, indicated with the 'shutting_down' flag. Otherwise tipc will get confused if a new bearer is enabled using a different media type. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7fe8097cef5ff4ba1c7ced42bda97830ce00eec6 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Fri Feb 27 08:56:55 2015 +0100 tipc: fix nullpointer bug when subscribing to events If a subscription request is sent to a topology server connection, and any error occurs (malformed request, oom or limit reached) while processing this request, TIPC should terminate the subscriber connection. While doing so, it tries to access fields in an already freed (or never allocated) subscription element leading to a nullpointer exception. We fix this by removing the subscr_terminate function and terminate the connection immediately upon any subscription failure. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3622c36f37640078c9a706b71e02e6334c85f9e9 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Fri Feb 27 08:56:54 2015 +0100 tipc: only create header copy for name distr messages The TIPC name distributor pushes topology updates to the cluster neighbors. Currently this is done in a unicast manner, and the skb holding the update is cloned for each cluster member. This is unnecessary, as we only modify the destnode field in the header so we change it to do pskb_copy instead. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 247f6d0f8667fda408fbe0e503ab54a957be2ce5 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Wed Feb 25 19:52:11 2015 +0100 team: allow TSO being set on master This patch allows TSO being set/unset on the master, so that GSO segmentation is done after team layer. Similar patch is present for bonding: b0ce3508b25e ("bonding: allow TSO being set on bonding master") and bridge: f902e8812ef6 ("bridge: Add ability to enable TSO") Suggested-by: Jiri Prochazka <jprochaz@xxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 433b89cfb40f6bb6e6b6c899d06e40dd4f2ed100 Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Sun Feb 22 00:18:49 2015 +0100 Doc/memory-hotplug.txt: corrections and callback function prototype Documentation/memory-hotplug.txt describes that a callback function can be added to the notification chain by calling hotplug_memory_notifier(). The function prototype of the callback function is mssing. This missing information is added by the patch. The description of the arguments of the callback function is reworked. The constants for the event types are corrected. The possible return values are explained. Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 09677e0ff8a115162cfa763b7ad2d753f11fce9f Author: Pavel Kretov <firegurafiku@xxxxxxxxx> Date: Mon Feb 16 20:26:18 2015 +0300 Documentation/CodingStyle: improve text layout Try to make coding style documentation look a bit more readable and consistent with the following: - indent every code example in C to first tab-stop; - surround every code example with empty lines, both top and bottom; - remove empty lines where text looked way too spare; - do not indent examples in elisp and kconfig; - do not do any non-whitespace changes. Signed-off-by: Pavel Kretov <firegurafiku@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 696156f03f97aa3be4ec5f8d85ff3465bbf404fe Author: Pavel Kretov <firegurafiku@xxxxxxxxx> Date: Mon Feb 16 20:26:17 2015 +0300 Documentation/CodingStyle: fix tab-spaces mixture Coding style description has a irregular mixture of tabs and spaces in two places which is bad by any means and can possibly hurt somebody's sense of beauty. Signed-off-by: Pavel Kretov <firegurafiku@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9e39dc1e563e8d390bae42ee80e1e665c18b7de2 Author: Robert P. J. Day <rpjday@xxxxxxxxxxxxxx> Date: Fri Feb 13 03:46:07 2015 -0500 Documentation: Add "@" in front of private structure members. Even "private" structure members need a leading "@" in their kernel-doc; otherwise, they will be treated as new section names in the resulting manual. Signed-off-by: Robert P. J. Day <rpjday@xxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit dce12391d70d24d428def2f5fc600a3b1f791ca6 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Tue Feb 3 18:49:26 2015 -0800 Documentation: arm: Update for DT-only platforms The documentation specified that a machine type is mandatory and made that assumption in a few places. However, for DT-only platforms, the current advice is that no machine type should be registered, so update accordingly. Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 7eb603459caf1de4ddf36c18d7ce3ebef28dde8e Merge: 7705f73 79e5ad2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 27 16:37:23 2015 -0500 Merge branch 'fib_trie_remove_leaf_info' Alexander Duyck says: ==================== fib_trie: Remove leaf_info structure This patch set removes the leaf_info structure from the IPv4 fib_trie. The general idea is that the leaf_info structure itself only held about 6 actual bits of data, beyond that it was mostly just waste. As such we can drop the structure, move the 1 byte representing the prefix/suffix length into the fib_alias and just link it all into one list. My testing shows that this saves somewhere between 4 to 10ns depending on the type of test performed. I'm suspecting that this represents 1 to 2 L1 cache misses saved per look-up. One side effect of this change is that semantic_match_miss will now only increment once per leaf instead of once per leaf_info miss. However the stat is already skewed now that we perform a preliminary check on the leaf as a part of the look-up. I also have gone through and addressed a number of ordering issues in the first patch since I had misread the behavior of list_add_tail. I have since run some additional testing and verified the resulting lists are in the same order when combining multiple prefix length and tos values in a single leaf. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79e5ad2ceb00673e5f2d278a892adcbf596a6b5a Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Feb 25 15:31:51 2015 -0800 fib_trie: Remove leaf_info At this point the leaf_info hash is redundant. By adding the suffix length to the fib_alias hash list we no longer have need of leaf_info as we can determine the prefix length from fa_slen. So we can compress things by dropping the leaf_info structure from fib_trie and instead directly connect the leaves to the fib_alias hash list. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b6ebad5c3a152271c6af19cd44e20001ae72fe8 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Feb 25 15:31:44 2015 -0800 fib_trie: Add slen to fib alias Make use of an empty spot in the alias to store the suffix length so that we don't need to pull that information from the leaf_info structure. This patch also makes a slight change to the user statistics. Instead of incrementing semantic_match_miss once per leaf_info miss we now just increment it once per leaf if a match was not found. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5786ec60549961a575044e0fb81664da1f8bf225 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Feb 25 15:31:37 2015 -0800 fib_trie: Replace plen with slen in leaf_info This replaces the prefix length variable in the leaf_info structure with a suffix length value, or host identifier length in bits. By doing this it makes it easier to sort out since the tnodes and leaf are carrying this value as well since it is compatible with the ->pos field in tnodes. I also cleaned up one spot that had some list manipulation that could be simplified. I basically updated it so that we just use hlist_add_head_rcu instead of calling hlist_add_before_rcu on the first node in the list. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56315f9e6e3a0ba0483c2e1f53333d5275268cb1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Feb 25 15:31:31 2015 -0800 fib_trie: Convert fib_alias to hlist from list There isn't any advantage to having it as a list and by making it an hlist we make the fib_alias more compatible with the list_info in terms of the type of list used. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7705f730372d65f73599f0b49e3249433bba55e8 Merge: 723b8e4 93a714d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 27 16:25:30 2015 -0500 Merge branch 'ip_level_multicast_join_leave' Madhu Challa says: ==================== Multicast group join/leave at ip level This series enables configuring multicast group join/leave at ip level by extending the "ip address" command. It adds a new control socket mc_autojoin_sock and ifa_flag IFA_F_MCAUTOJOIN to invoke the corresponding igmp group join/leave api. Since the igmp group join/leave api takes the rtnl_lock the code had to be refactored by adding a shim layer prefixed by __ that can be invoked by code that already has the rtnl_lock. This way we avoid proliferation of work queues. The first patch in this series does the refactoring for igmp v6. Its based on igmp v4 changes that were added by Eric Dumazet. The second patch in this series does the group join/leave based on the setting of the IFA_F_MCAUTOJOIN flag. v5: - addressed comments from Daniel Borkmann. - removed blank line in patch 1/2 - removed unused variable, const arg in patch 2/2 v4: - addressed comments from Yoshifuji Hideaki. - Remove WARN_ON not needed because we return a value from v2. - addressed comments from Daniel Borkmann. - rename sock to mc_autojoin_sk - ip_mc_config() pass ifa so it needs one less argument. - igmp_net_{init|destroy}() use inet_ctl_sock_{create|destroy} - inet_rtm_newaddr() change scope of ret. - igmp_net_init() no need to initialize sock to NULL. v3: - addressed comments from David Miller. - fixed indentation and local variable order. v2: - addressed comments from Eric Dumazet. - removed workqueue and call __ip_mc_{join|leave}_group or __ipv6_sock_mc_{join|drop} ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93a714d6b53d87872e552dbb273544bdeaaf6e12 Author: Madhu Challa <challa@xxxxxxxxxxxxxxxxx> Date: Wed Feb 25 09:58:35 2015 -0800 multicast: Extend ip address command to enable multicast group join/leave on Joining multicast group on ethernet level via "ip maddr" command would not work if we have an Ethernet switch that does igmp snooping since the switch would not replicate multicast packets on ports that did not have IGMP reports for the multicast addresses. Linux vxlan interfaces created via "ip link add vxlan" have the group option that enables then to do the required join. By extending ip address command with option "autojoin" we can get similar functionality for openvswitch vxlan interfaces as well as other tunneling mechanisms that need to receive multicast traffic. The kernel code is structured similar to how the vxlan driver does a group join / leave. example: ip address add 224.1.1.10/24 dev eth5 autojoin ip address del 224.1.1.10/24 dev eth5 Signed-off-by: Madhu Challa <challa@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46a4dee074b58c4256dbf6c2dbf199c372f85b04 Author: Madhu Challa <challa@xxxxxxxxxxxxxxxxx> Date: Wed Feb 25 09:58:34 2015 -0800 igmp v6: add __ipv6_sock_mc_join and __ipv6_sock_mc_drop Based on the igmp v4 changes from Eric Dumazet. 959d10f6bbf6("igmp: add __ip_mc_{join|leave}_group()") These changes are needed to perform igmp v6 join/leave while RTNL is held. Make ipv6_sock_mc_join and ipv6_sock_mc_drop wrappers around __ipv6_sock_mc_join and __ipv6_sock_mc_drop to avoid proliferation of work queues. Signed-off-by: Madhu Challa <challa@xxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 723b8e460d87e957f251dc5764f4ab86af6ab44e Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Tue Feb 24 09:17:31 2015 -0800 udp: In udp_flow_src_port use random hash value if skb_get_hash fails In the unlikely event that skb_get_hash is unable to deduce a hash in udp_flow_src_port we use a consistent random value instead. This is specified in GRE/UDP draft section 3.2.1: https://tools.ietf.org/html/draft-ietf-tsvwg-gre-in-udp-encap-04 Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4c5dcacfaffb7493d161d5cd0fbb7b1190b7bd5 Author: Christoph Hellwig <hch@xxxxxx> Date: Sun Feb 22 08:48:42 2015 -0800 target: rewrite fd_execute_write_same With the new bio_vec backed iov_iter helpers we can simply set up on bio_vec per LBA, all pointing to the same initiator-supplied buffer. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6b9a44d0939ca6235c72b811bd55b462d6a0a553 Author: Christoph Hellwig <hch@xxxxxx> Date: Sun Feb 22 08:48:41 2015 -0800 target: use vfs_iter_read/write in fd_do_rw Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit fefd2d9619de3bf0bf02a8622e9f445c3d19cc3f Author: He Kuang <hekuang@xxxxxxxxxx> Date: Sun Feb 15 10:33:37 2015 +0800 perf report: Fix branch stack mode cannot be set When perf.data file is obtained using 'perf record -b', perf report should use branch stack mode to generate output. But this function is broken by improper comparison between boolean and constant -1. before this patch: $ perf report -b -i perf.data Samples: 16 of event 'cycles', Event count (approx.): 3171896 Overhead Command Shared Object Symbol 13.59% ls [kernel.kallsyms] [k] prio_tree_remove 13.16% ls [kernel.kallsyms] [k] change_pte_range 12.09% ls [kernel.kallsyms] [k] page_fault 12.02% ls [kernel.kallsyms] [k] zap_pte_range ... after this patch: $ perf report -b -i perf.data Samples: 256 of event 'cycles', Event count (approx.): 256 Overhead Command Source Shared Object Source Symbol Target Shared Object Target Symbol 9.38% ls [unknown] [k] 0000000000000000 [unknown] [k] 0000000000000000 6.25% ls libc-2.19.so [.] _dl_addr libc-2.19.so [.] _dl_addr 6.25% ls [kernel.kallsyms] [k] zap_pte_range [kernel.kallsyms] [k] zap_pte_range 6.25% ls [kernel.kallsyms] [k] change_pte_range [kernel.kallsyms] [k] change_pte_range 0.39% ls [kernel.kallsyms] [k] prio_tree_remove [kernel.kallsyms] [k] prio_tree_remove ... Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423967617-28879-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0497d0a8201a38f0c95edc8a1fc0325f2f879ddb Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Feb 27 13:50:31 2015 +0900 perf buildid-cache: Show usage with incorrect params Show usage if no action is specified or unexpected parameter is given. In other words, be more user friendly. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> 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/20150227045030.1999.44006.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cc169c7c31253e80e0d504f0cd5dbb9f1e3d3ac5 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Feb 27 13:50:28 2015 +0900 perf buildid-cache: Use pr_debug instead of verbose && pr_info Use pr_debug instead of the combination of verbose and pr_info. "if (verbose) pr_info(...)" is same as "pr_debug(...)", replace it. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Suggested-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150227045028.1999.93137.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8d8c8e4cb3014fcc51f0e127b4316043306f5bb0 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Feb 27 13:50:26 2015 +0900 perf buildid-cache: Add --purge FILE to remove all caches of FILE Add --purge FILE to remove all caches of FILE. Since the current --remove FILE removes a cache which has same build-id of given FILE. Since the command takes a FILE path, it can confuse user who tries to remove cache about FILE path. ----- # ./perf buildid-cache -v --add ./perf Adding 133b7b5486d987a5ab5c3ebf4ea14941f45d4d4f ./perf: Ok # (update the ./perf binary) # ./perf buildid-cache -v --remove ./perf Removing 305bbd1be68f66eca7e2d78db294653031edfa79 ./perf: FAIL ./perf wasn't in the cache ----- Actually, the --remove's FAIL is not shown, it just silently fails. So, this patch adds --purge FILE action for such usecase. perf buildid-cache --purge FILE removes all caches which has same FILE path. In other words, it removes all caches including old binaries. ----- # ./perf buildid-cache -v --add ./perf Adding 133b7b5486d987a5ab5c3ebf4ea14941f45d4d4f ./perf: Ok # (update the ./perf binary) # ./perf buildid-cache -v --purge ./perf Removing 133b7b5486d987a5ab5c3ebf4ea14941f45d4d4f ./perf: Ok ----- BTW, if you want to purge all the caches, remove ~/.debug/* . Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> 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/20150227045026.1999.64084.stgit@xxxxxxxxxxxxxxxxxxxxx [ s/dirname/dir_name/g to fix build on fedora14, where dirname is a global ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7335399a6a4bead9ef8b59ce7d811fc4e99ca98c Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:31 2015 +0800 perf tools: Fix the bash completion problem of 'perf --*' The perf-completion.sh uses a predefined string '--help --version --exec-path --html-path --paginate --no-pager --perf-dir --work-tree --debugfs-dir' for the bash completion of 'perf --*', which has two problems: Problem 1: If the options of perf are changed (see handle_options() in perf.c), the perf-completion.sh has to be changed at the same time. If not, the bash completion of 'perf --*' and the options which perf really supports will be inconsistent. Problem 2: When typing another single character after 'perf --', e.g. 'h', and hit TAB key to get the bash completion of 'perf --h', the character 'h' disappears at once. This is not what we want, we wish the bash completion can return '--help --html-path' and then we can continue to choose one. To solve this problem, we add '--list-opts' to perf, which now supports 'perf --list-opts' directly, and its result can be used in bash completion now. Example: Before this patch: $ perf --h <-- hit TAB key after character 'h' $ perf -- <-- 'h' disappears and no required result After this patch: $ perf --h <-- hit TAB key after character 'h' --help --html-path <-- the required result Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-8-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5ef803ee02d67ad0b49f357cb7feb7d5e6b0015d Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:28 2015 +0800 perf list: Extend raw-dump to certain kind of events Extend 'perf list --raw-dump' to 'perf list --raw-dump [hw|sw|cache |tracepoint|pmu|event_glob]' in order to show the raw-dump of a certain kind of events rather than all of the events. Example: Before this patch: $ perf list --raw-dump hw branch-instructions branch-misses bus-cycles cache-misses cache-references cpu-cycles instructions stalled-cycles-backend stalled-cycles-frontend alignment-faults context-switches cpu-clock cpu-migrations emulation-faults major-faults minor-faults page-faults task-clock ... ... writeback:writeback_thread_start writeback:writeback_thread_stop writeback:writeback_wait_iff_congested writeback:writeback_wake_background writeback:writeback_wake_thread As shown above, all of the events are printed. After this patch: $ perf list --raw-dump hw branch-instructions branch-misses bus-cycles cache-misses cache-references cpu-cycles instructions stalled-cycles-backend stalled-cycles-frontend As shown above, only the hw events are printed. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-5-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 705750f2d6e283ba2856ba8eda60dce2d405b387 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:27 2015 +0800 perf list: Clean up the printing functions of hardware/software events Do not need print_events_type or __print_events_type for listing hw/sw events, let print_symbol_events do its job instead. Moreover, print_symbol_events can also handle event_glob and name_only. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-4-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3ef1e65c829c86ffaa94a4ed59fed5da37f9610a Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:30 2015 +0800 perf tools: Remove the '--(null)' long_name for --list-opts If the long_name of a 'struct option' is defined as NULL, --list-opts will incorrectly print '--(null)' in its output. As a result, '--(null)' will finally appear in the case of bash completion, e.g. 'perf record --'. Example: Before this patch: $ perf record --list-opts --event --filter --pid --tid --realtime --no-buffering --raw-samples --all-cpus --cpu --count --output --no-inherit --freq --mmap-pages --group --(null) --call-graph --verbose --quiet --stat --data --timestamp --period --no-samples --no-buildid-cache --no-buildid --cgroup --delay --uid --branch-any --branch-filter --weight --transaction --per-thread --intr-regs After this patch: $ perf record --list-opts --event --filter --pid --tid --realtime --no-buffering --raw-samples --all-cpus --cpu --count --output --no-inherit --freq --mmap-pages --group --call-graph --verbose --quiet --stat --data --timestamp --period --no-samples --no-buildid-cache --no-buildid --cgroup --delay --uid --branch-any --branch-filter --weight --transaction --per-thread --intr-regs Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-7-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ed45752061be11a40f57df4304296147dbda2da9 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:29 2015 +0800 perf list: Avoid confusion of perf output and the next command prompt Distinguish the output of 'perf list --list-opts' or 'perf --list-cmds' with the next command prompt, which also happens in other cases (e.g. record, report ...). Example: Before this patch: $perf list --list-opts --raw-dump $ <-- the output and the next command prompt are at the same line After this patch: $perf list --list-opts --raw-dump $ <-- the new line Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-6-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 161149513b3570ebd7fe14fc2ddc42cb46557e37 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:26 2015 +0800 perf list: Allow listing events with 'tracepoint' prefix If somebody happens to name an event with the beginning of 'tracepoint' (e.g. tracepoint_foo), then it will never be showed with perf list event_glob, thus we parse the argument 'tracepoint' more carefully for accuracy. Example: Before this patch: $ perf list tracepoint_foo:* jbd2:jbd2_start_commit [Tracepoint event] jbd2:jbd2_commit_locking [Tracepoint event] jbd2:jbd2_run_stats [Tracepoint event] block:block_rq_issue [Tracepoint event] block:block_bio_complete [Tracepoint event] block:block_bio_backmerge [Tracepoint event] block:block_getrq [Tracepoint event] ... ... As shown above, all of the tracepoint events are printed. In fact, the command's real intention is to print the events of tracepoint_foo. After this patch: $ perf list tracepoint_foo:* tracepoint_foo:tp_foo_enter [Tracepoint event] tracepoint_foo:tp_foo_exit [Tracepoint event] As shown above, only the events of tracepoint_foo are printed. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ab0e48002db818c1937f105cd18001dfdd3ce056 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 18:21:25 2015 +0800 perf list: Sort the output of 'perf list' to view more clearly Sort the output according to ASCII character list (using strcmp), which supports both number sequence and alphabet sequence. Example: Before this patch: $ perf list List of pre-defined events (to be used in -e): cpu-cycles OR cycles [Hardware event] instructions [Hardware event] cache-references [Hardware event] cache-misses [Hardware event] branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event] ... ... jbd2:jbd2_start_commit [Tracepoint event] jbd2:jbd2_commit_locking [Tracepoint event] jbd2:jbd2_run_stats [Tracepoint event] block:block_rq_issue [Tracepoint event] block:block_bio_complete [Tracepoint event] block:block_bio_backmerge [Tracepoint event] block:block_getrq [Tracepoint event] ... ... After this patch: $ perf list List of pre-defined events (to be used in -e): branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event] cache-misses [Hardware event] cache-references [Hardware event] cpu-cycles OR cycles [Hardware event] instructions [Hardware event] ... ... block:block_bio_backmerge [Tracepoint event] block:block_bio_complete [Tracepoint event] block:block_getrq [Tracepoint event] block:block_rq_issue [Tracepoint event] jbd2:jbd2_commit_locking [Tracepoint event] jbd2:jbd2_run_stats [Tracepoint event] jbd2:jbd2_start_commit [Tracepoint event] ... ... Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425032491-20224-2-git-send-email-yunlong.song@xxxxxxxxxx [ Don't forget closedir({sys,evt}_dir) when handling errors ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f89fe1ffe698a6bb7671ebf99f5bb918fda4cf35 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 27 19:12:46 2015 +0100 drm/i915: Update DRIVER_DATE to 20150227 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8dec1dde016258af7c8a2ce9ddfb7243176a344 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 27 13:58:43 2015 +0000 drm/i915: Clarify obj->map_and_fenceable For an object right on the boundary of mappable space, as the fenceable size is stricly greater than the actual size, its fence region may extend out of mappable space. Note that only pnv/g33 has fence_size > obj.size and an unmappable range in the gtt, and there alignment constraints prevent bad things from happening. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Clarify why this shouldn't change anything as per the discussion on intel-gfx.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c91799c50a14137ecee6d60d2f1d9ab8bc895e52 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:30 2015 +0100 at86rf230: add warning if edge-triggered irq While testing I experience a deadlock while using the at86rf233 on a raspberry pi. The reason was an edge triggered gpio irq because the irq triggered while irq was disabled. This issue doesn't happend on a level triggered irq because the irq will hit after calling enable_irq. This patch adds a warning that it's not recommended to use a edge-triggered irq type. Also change the examples to high-level irqtype. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 702d211c45d95e6788cec42f7f3c4a538e8853ef Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:29 2015 +0100 at86rf230: add irq low-level for polarity The at86rf2xx chips supports the setting of irq polarity if active low or active high. This patch adds a handling for IRQ_ACTIVE_LOW if the irq_type is IRQ_TYPE_LEVEL_LOW. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit be64f076465a288aa850ad0dc581e5ecdb8efe46 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:28 2015 +0100 at86rf230: add irqmask mode setting Since we support at86rf233 we need to ensure that basic operation default values are the same. This patch always sets IRQ_MASK_MODE to 0 which is after reset 1 at the at86rf233 and 0 at the at86rf231. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2c2f7ec1425e76d4a4cce43c0221032c0f94dae9 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:27 2015 +0100 at86rf230: remove tx_timeout This patch removes tx_timeout handling. We used it in sync xmit handling. Since we support async xmit handling a xmit timeout handling isn't easy to implement and should be implemented by netdev watchdog mechanism. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ccdaeb2b176f7db491a6f8e8b1c51f9393525f7d Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:26 2015 +0100 at86rf230: add support for external xtal trim This patch adds support for setting the xtal trim register. Some at86rf2xx transceiver boards needs fine tuning the xtal capacitor. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit aaa1c4d226e4cd730075d3dac99a6d599a0190c7 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Feb 27 09:58:25 2015 +0100 at86rf230: copy pdata to driver allocated space This patch copies the platform data in driver allocated space at first. With this change we ensure that we access the allocated platform data as readonly space. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reported-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9391976a4da0d2a30abdb8d2704cfc7bf4bf9aab Author: Jiri Slaby <jslaby@xxxxxxx> Date: Thu Feb 19 15:20:43 2015 +0100 Bluetooth: make hci_test_bit's addr const gcc5 warns about passing a const array to hci_test_bit which takes a non-const pointer: net/bluetooth/hci_sock.c: In function â??hci_sock_sendmsgâ??: net/bluetooth/hci_sock.c:955:8: warning: passing argument 2 of â??hci_test_bitâ?? discards â??constâ?? qualifier from pointer target type [-Wdiscarded-array-qualifiers] &hci_sec_filter.ocf_mask[ogf])) && ^ net/bluetooth/hci_sock.c:49:19: note: expected â??void *â?? but argument is of type â??const __u32 (*)[4] {aka const unsigned int (*)[4]}â?? static inline int hci_test_bit(int nr, void *addr) ^ So make 'addr' 'const void *'. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: Gustavo Padovan <gustavo@xxxxxxxxxxx> Cc: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4cd3928a8bee83d86fb3865bb243ab2ff1dd0eb6 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Feb 27 10:11:13 2015 +0200 Bluetooth: Update New CSRK event to match latest specification The 'master' parameter of the New CSRK event was recently renamed to 'type', with the old values kept for backwards compatibility as unauthenticated local/remote keys. This patch updates the code to take into account the two new (authenticated) values and ensures they get used based on the security level of the connection that the respective keys get distributed over. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9a8f0a1290993c86c4e35756a2624bfe461f9036 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 11:15:24 2015 +0000 drm/i915/skl: Allow Y (and Yf) frame buffer creation By this patch all underlying bits have been implemented and this patch actually enables the feature. v2: Validate passed in fb modifiers to reject garbage. (Daniel Vetter) v3: Rearrange validation checks per code review comments. (Daniel Vetter) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0fda65680e92545caea5be7805a7f0a617fb6c20 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 15:12:35 2015 +0000 drm/i915/skl: Update watermarks for Y tiling Display watermarks need different programming for different tiling modes. Set the relevant flag so this happens during the plane commit and add relevant data into a structure made available to the watermark computation code. v2: Pass in tiling info to sprite plane updates as well. v3: Rebased for plane handling changes. v4: Handle fb == NULL when plane is disabled. v5: Refactored for addfb2 interface. v6: Refactored for fb modifier changes. v7: Updated for atomic commit by only updating watermarks when tiling changes. v8: BSpec watermark calculation updates. v9: Restrict scope of y_tile_minimum variable. (Damien Lespiau) v10: Get fb from plane state otherwise we are working on old state. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Acked-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Acked-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v9) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d4c2aa60dee023c66444533930030a63561f6354 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 11:15:22 2015 +0000 drm/i915/skl: Updated watermark programming Recent BSpect updates have changed the watermark calculation to avoid display flickering in some cases. v2: Fix check against DDB allocation and tidy the code a bit. (Damien Lespiau) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40f4628391755b5406c46e55262b9a0bd4d5d4a7 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Feb 27 11:15:21 2015 +0000 drm/i915/skl: Adjust get_plane_config() to support Yb/Yf tiling v2: Rebased for addfb2 interface and consolidated a bit. (Tvrtko Ursulin) v3: Rebased for fb modifier changes. (Tvrtko Ursulin) v4: Use intel_fb_stride_alignment instead of open coding. (Damien Lespiau) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1327b9a1d5da9e6018088c8ba04f89ec8ca1ec81 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Feb 27 11:15:20 2015 +0000 drm/i915/skl: Teach pin_and_fence_fb_obj() about Y tiling constraints 1Mb! v2: Rebased for addfb2 interface. (Tvrtko Ursulin) v3: Rebased for fb modifier changes. (Tvrtko Ursulin) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b5d0e9bfa645560d2a15acd788b88628fc17f5f3 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Feb 27 11:15:19 2015 +0000 drm/i915/skl: Adjust intel_fb_align_height() for Yb/Yf tiling We now need the bpp of the fb as Yf tiling has different tile widths depending on it. v2: Rebased for the new addfb2 interface. (Tvrtko Ursulin) v3: Rebased for fb modifier changes. (Tvrtko Ursulin) v4: Added missing case and 128-bit pixel warning. (Damien Lespiau) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v3) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b321803dfbe46faeb54e8e758148be40e628225e Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Feb 27 11:15:18 2015 +0000 drm/i915/skl: Allow scanning out Y and Yf fbs Skylake is able to scannout those tiling formats. We need to allow them in the ADDFB ioctl and tell the harware about it. v2: Rebased for addfb2 interface. (Tvrtko Ursulin) v3: Rebased for fb modifier changes. (Tvrtko Ursulin) v4: Don't allow Y tiled fbs just yet. (Tvrtko Ursulin) v5: Check for stride alignment and max pitch. (Tvrtko Ursulin) v6: Simplify maximum pitch check. (Ville Syrjälä) v7: Drop the gen9 check since requirements are no different. (Ville Syrjälä) v8: Gen2 has different X tiling stride. (Ville Syrjälä) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v7) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b5ff6e1637b683d5996ae11ac29afe406c0bee90 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Feb 27 11:15:17 2015 +0000 drm/i915/skl: Add new displayable tiling formats Starting with SKL display engine can scan out Y, and newly introduced Yf tiling formats so add the latter to the frame buffer modifier space. v2: Definitions moved to drm_fourcc.h. v3: Try to document the format better. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3f52c6edf7d72ef71d82c1f5ad4038ec83a31549 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:31 2015 +0100 drm/i915: Remove DRIVER_MODESET checks from modeset code Mostly just checks in i915-private modeset ioctls. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8634bd4aea1b59777e5fd63be15300107ab454cc Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:30 2015 +0100 drm/i915: Remove regfile code&data for UMS suspend/resume Lots of lines to remove! Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> [danvet: Fixup makefile.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d03184c7b0753134a2a6fa9c4ed51db5a7ca2f4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:29 2015 +0100 drm/i915: Remove DRIVER_MODESET checks from gem code Hooray! Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 33d30a9c5e34cead70e053b7470e94d0b8a3ab79 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:27 2015 +0100 drm/i915: Remove DRIVER_MODESET checks in the gpu reset code Again, good riddance to UMS! Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d581893853fa8c68d49c033ed256c85d7df53ecd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:26 2015 +0100 drm/i915: Remove DRIVER_MODESET checks from suspend/resume code UMS is dead, yay! Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17fa6463aa69f9e50e4a9e42d96b8abb68b35461 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Feb 23 12:03:25 2015 +0100 drm/i915: Remove DRIVER_MODESET checks in load/unload/close code UMS is gone, this is dead code. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1f924c29b5ab2257be88a2a4075d0800573d8479 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 27 19:53:46 2015 +0800 perf data: Fix sentinel setting for data_cmds array The recent new patch "perf tools: Add new 'perf data' command" (commit 2245bf14 in acme's git repo perf/core) has caused a building error when compiling the source code of perf: cc1: warnings being treated as errors builtin-data.c:89: error: missing initializer builtin-data.c:89: error: (near initialization for â??data_cmds[1].summaryâ??) make[2]: *** [builtin-data.o] Error 1 make[2]: *** Waiting for unfinished jobs.... LD bench/perf-in.o LD tests/perf-in.o make[1]: *** [perf-in.o] Error 2 make: *** [all] Error 2 This patch fixes the building error above. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425038026-27604-1-git-send-email-yunlong.song@xxxxxxxxxx [ .name == NULL ends the loop, use it instead of seting all fields to NULL ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f56847c2e99810781f6941d01baff9ae223eeac3 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Fri Feb 27 18:52:53 2015 +0800 perf probe: Fix a precedence bug The minus operator has higher precedence than ?: Add parentheses around ?: fix this. Before this patch: $ echo 'p:myprobe do_sys_open' > /sys/kernel/debug/tracing/kprobe_events $ perf probe -l -k ../vmlinux kprobes:myprobe (on do_sys_open) After this patch: $ echo 'p:myprobe do_sys_open' > /sys/kernel/debug/tracing/kprobe_events $ perf probe -l -k ../vmlinux kprobes:myprobe (on do_sys_open@xxxxxxxxx/fs/open.c) Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1425034373-14511-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 94ba462d69efeba2f97111321a9ba1aa8141da57 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Feb 9 05:39:44 2015 +0000 perf diff: Support for different binaries Currently, the perf diff only works with same binaries. That's because it compares the symbol start address. It doesn't work if the perf.data comes from different binaries. This patch matches the symbol names. Actually, perf diff once intended to compare the symbol names. The commit as below can look for a pair by name. 604c5c92972d (perf diff: Change the default sort order to "dso,symbol") However, at that time, perf diff used a global list of dsos. That means the binaries which has same name can only be loaded once. That's a problem for comparing different binaries. For example, we have an old binary and an updated binary. They very likely have same name and most of the functions, so only dsos from old binary will be loaded. When processing the data from updated binary, perf still use the symbol information from old binary. That's wrong. Then the commit as below used IP to replace symbol name. 9c443dfdd31e ("perf diff: Fix support for all --sort combinations") >From that time, perf diff starts to compare the symbol address. The global dsos is discarded from a patch in 2010. a1645ce12adb ("perf: 'perf kvm' tool for monitoring guest performance from host") However, at that time, perf diff already compared by address. So perf diff cannot work for different binaries as well. This patch actually rolls back the perf diff to original design. The document is also changed, so everybody knows the original design is to compare the symbol names. Here are some examples: The only difference between example_v1.c and example_v2.c is the location of f2 and f3. There is no change in behavior, but the previous perf diff display the wrong differential profile. example_v1.c noinline void f3(void) { volatile int i; for (i = 0; i < 10000;) { if(i%2) i++; else i++; } } noinline void f2(void) { volatile int a = 100, b, c; for (b = 0; b < 10000; b++) c = a * b; } noinline void f1(void) { f2(); f3(); } int main() { int i; for (i = 0; i < 100000; i++) f1(); } example_v2.c noinline void f2(void) { volatile int a = 100, b, c; for (b = 0; b < 10000; b++) c = a * b; } noinline void f3(void) { volatile int i; for (i = 0; i < 10000;) { if(i%2) i++; else i++; } } noinline void f1(void) { f2(); f3(); } int main() { int i; for (i = 0; i < 100000; i++) f1(); } [lk@localhost perf_diff]$ gcc example_v1.c -o example [lk@localhost perf_diff]$ perf record -o example_v1.data ./example [ perf record: Woken up 4 times to write data ] [ perf record: Captured and wrote 0.813 MB example_v1.data (~35522 samples) ] [lk@localhost perf_diff]$ gcc example_v2.c -o example [lk@localhost perf_diff]$ perf record -o example_v2.data ./example [ perf record: Woken up 4 times to write data ] [ perf record: Captured and wrote 0.824 MB example_v2.data (~36015 samples) ] Old perf diff result: [lk@localhost perf_diff]$ perf diff example_v1.data example_v2.data Event 'cycles' Baseline Delta Shared Object Symbol ........ ....... ................ ............................... [kernel.vmlinux] [k] __perf_event_task_sched_out 0.00% [kernel.vmlinux] [k] apic_timer_interrupt [kernel.vmlinux] [k] idle_cpu [kernel.vmlinux] [k] intel_pstate_timer_func [kernel.vmlinux] [k] native_read_msr_safe 0.00% [kernel.vmlinux] [k] native_read_tsc 0.00% [kernel.vmlinux] [k] native_write_msr_safe [kernel.vmlinux] [k] ntp_tick_length 0.00% [kernel.vmlinux] [k] rb_erase 0.00% [kernel.vmlinux] [k] tick_sched_timer 0.00% [kernel.vmlinux] [k] unmap_single_vma 0.00% [kernel.vmlinux] [k] update_wall_time 0.00% example [.] f1 46.24% example [.] f2 53.71% -7.55% example [.] f3 +53.81% example [.] f3 0.02% example [.] main New perf diff result: [lk@localhost perf_diff]$ perf diff example_v1.data example_v2.data [kernel.vmlinux] [k] __perf_event_task_sched_out 0.00% [kernel.vmlinux] [k] apic_timer_interrupt [kernel.vmlinux] [k] idle_cpu [kernel.vmlinux] [k] intel_pstate_timer_func [kernel.vmlinux] [k] native_read_msr_safe 0.00% [kernel.vmlinux] [k] native_read_tsc 0.00% [kernel.vmlinux] [k] native_write_msr_safe [kernel.vmlinux] [k] ntp_tick_length 0.00% [kernel.vmlinux] [k] rb_erase 0.00% [kernel.vmlinux] [k] tick_sched_timer 0.00% [kernel.vmlinux] [k] unmap_single_vma 0.00% [kernel.vmlinux] [k] update_wall_time 0.00% example [.] f1 46.24% -0.08% example [.] f2 53.71% +0.11% example [.] f3 0.02% example [.] main Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423460384-11645-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a50d11a10c2db86d7383c281d4e249d5393661e9 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Feb 26 15:54:40 2015 +0900 perf buildid-cache: Add new buildid cache if update target is not cached Add new buildid cache if the update target file is not cached. This can happen when an old binary is replaced by new one after caching the old one. In this case, user sees his operation just failed. But it does not look straight, since user just pass the binary "path", not "build-id". ---- # ./perf buildid-cache --add ./perf (update ./perf to new binary) # ./perf buildid-cache --update ./perf ./perf wasn't in the cache # ---- This patch adds given new binary to cache if the new binary is not cached. So we'll not see the above error. ---- # ./perf buildid-cache --add ./perf (update ./perf to new binary) # ./perf buildid-cache --update ./perf # ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> 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/20150226065440.23912.1494.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 38ae502b1df196f712f6f5d3609afc36337b330b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Feb 26 11:47:18 2015 -0300 perf probe: Handle strdup() failure We could end up returning 0 (Ok) with a NULL raw_path. Fix it. Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-l0kcbcg5f4nnzqt01cv42vec@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 66c046b407166686aeea2e8c0abfa1c4e4b94f26 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Thu Feb 5 10:29:35 2015 +0000 crypto: sha-mb - Fix big integer constant sparse warning this patch fixes following sparse warning: sha1_mb_mgr_init_avx2.c:59:31: warning: constant 0xF76543210 is so big it is long Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6c5063434098b956252d8bb45d7546ff717717e6 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Feb 3 13:07:29 2015 -0600 crypto: ccp - Add ACPI support Add support for ACPI to the CCP platform driver. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit be03a3a0961eba0bc695fa91ac87efe5f4b8f40c Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Feb 3 13:07:23 2015 -0600 crypto: ccp - Convert calls to their devm_ counterparts Where applicable, convert calls to their devm_ counterparts, e.g. kzalloc to devm_kzalloc. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 261bf074899a1a4624d8a0c6bfae3e92d12ef19f Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Feb 3 13:07:17 2015 -0600 crypto: ccp - Use dma_set_mask_and_coherent to set DMA mask Replace the setting of the DMA masks with the dma_set_mask_and_coherent function call. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a5bd093af0d11611b765d3cbd354e0a39975caab Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Feb 3 13:07:11 2015 -0600 crypto: ccp - Update CCP build support Add HAS_IOMEM as a Kconfig dependency. Always include ccp-platform.c in the CCP build and conditionally include ccp-pci.c. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8db8846754767bc955eaf7e28db8a94787d12ce6 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Feb 3 13:07:05 2015 -0600 crypto: ccp - Updates for checkpatch warnings/errors Changes to address warnings and errors reported by the checkpatch script. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2ecc1e95ec70923e642fa481ee7f7ad443798f2a Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Fri Jan 30 15:39:34 2015 +0100 crypto: ppc/sha256 - kernel config Integrate the module into the kernel config tree. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c147028ccc249681ef1129fb4b09f71fe6b75715 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Fri Jan 30 15:39:29 2015 +0100 crypto: ppc/sha256 - glue Glue code for crypto infrastructure. Call the assembler code where required. Disable preemption during calculation and enable SPE instructions in the kernel prior to the call. Avoid to disable preemption for too long. Take a little care about small input data. Kick out early for input chunks < 64 bytes and replace memset for context cleanup with simple loop. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6bb71004aa84054058baf4e8a58a53c4e29e5b9c Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Fri Jan 30 15:39:23 2015 +0100 crypto: ppc/sha256 - assembler This is the assembler code for SHA256 implementation with the SIMD SPE instruction set. Although being only a 32 bit architecture GPRs are extended to 64 bit presenting two 32 bit values. With the enhanced instruction set we can operate on them in parallel. That helps reducing the time to calculate W16-W64. For increasing performance even more the assembler function can compute hashes for more than one 64 byte input block. That saves a lot of register saving/restoring The state of the used SPE registers is preserved via the stack so we can run from interrupt context. There might be the case that we interrupt ourselves and push sensitive data from another context onto our stack. Clear this area in the stack afterwards to avoid information leakage. The code is endian independant. Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 344a7024e01fc45a5ff52b171596f702815bd6eb Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:37 2015 +0200 wil6210: track privacy connection attribute For the STA interface, track 'privacy'. Refactor safety checks to: - always print connection params - always check IE size validity - require RSN IE for secure connection Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 774974e50432c8d7210c337152afb4d646344d8a Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:36 2015 +0200 wil6210: rename 'secure_pcp' to 'privacy' Make this field to track privacy attribute for all interface types Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8f55cbec7f8856438eef80e23f26331bea124128 Author: Boris Sorochkin <boriss@xxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:35 2015 +0200 wil6210: Fix division by zero in wil_vring_debugfs_show On some platforms get_cycles() implemented to allways return 0. On such platforms "Division by zero" bug was triggered. Signed-off-by: Boris Sorochkin <boriss@xxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0436fd9a2d1e0c87a621841ab48e779cf8f237b4 Author: Vladimir Shulman <qca_shulmanv@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:34 2015 +0200 wil6210: Change of threshold for tx vring idleness measurement Change threshold to be variable debugfs entry from hard-coded 0. Default threshold value is 16 descriptors because HW is capable of fetching up to 16 descriptors at once. Signed-off-by: Vladimir Shulman <qca_shulmanv@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 33c477fdab257efcad139ac2a5031708aad2a1e7 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:33 2015 +0200 wil6210: branch prediction hints Mark expected branches using likely()/unlikely(). Do it on high performance route - data path and interrupts Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e3351277ac585df77ac2454c518205897c01a184 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:32 2015 +0200 wil6210: enable fix for HW bug in 802.11->803.3 transform In the old hardware, bug existed that caused DA and SA for every Rx packet to be swapped in the AP mode. New hardware has fix for this bug. Enable this fix in the hardware. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9a5511b58b25aaf4cba61d9144229d2987a5135c Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:31 2015 +0200 wil6210: remove support for old hardware Hardware older than Sparrow B0 obsolete. There is no WiFi product that uses this hardware. Recent firmware does not support it either. Remove driver support. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2cd0f021b847c4c366dcb064600d8e37944ad84f Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Feb 15 14:02:30 2015 +0200 wil6210: boot loader Introduce boot loader. Instead of the operational firmware, very small boot loader is burned to the on-board flash. Boot loader initializes hardware upon reset, and prepares for low power mode. Boot loader reports MAC address and detects radio chip connected. Driver loads firmware only when bringing up interface. All information required to set up network interface, most important is MAC address, reported by the boot loader The firmware composed of 2 files: - wil6210.fw - firmware itself (compiled code + data) - wil6210.board - board file (various board and radio dependent calibrations and parameters) Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4ce7bc0a4e555f8519e1a2c8a8569f203bd5727c Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Feb 13 20:38:16 2015 +0530 mwifiex: fix usb tx data payload offset issue Commit 84b313b35f8158d7 ("mwifiex: make tx packet 64 byte DMA aligned") induced payload offset issue for USB interface. There is no USB interface header for tx packets, so there's no need to pull interface length while processing tx skb. This patch fixes this issue. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 31def91b3a192bd414d87b3a408de34eed94d616 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Feb 13 17:41:08 2015 +0530 mwifiex: DMA alignment for RX packets This patch adds support for DMA alignment of sk_buffs allocated for RX. Patch also adds support to modify skb allocation flags. Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Qingshui Gao <gaoqs@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1c4c24eb7e96b3f8aeb9a2b7937ed7bb33aadd69 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Feb 11 23:12:27 2015 +0530 mwifiex: modify TX buff size for SD8887 FW crash has been observed while running iperf TX with SD8887 devices. This is because of invalid TX buffer setting. SD8887 supports 2K buffer sizes. This patch fixes this issue. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b4e8aebbc7c23c055d171f56c585e946c162b730 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Feb 11 23:12:26 2015 +0530 mwifiex: change datatype to bool for device capability flags This patch changes datatypes for device capability flags to bool. Patch also aggregates these variables at single place. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7521ce6eb2d3650a04ac7a1d176607ae9441826a Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Feb 11 23:12:25 2015 +0530 mwifiex: do not process mgmt rx on uninitialized interface This patch fixes a crash which was happening because of RX of management frames on uninitialzed interface. Now we drop management frames for interfaces where cfg80211 has not registered any management subtype reception or interface has no NL80211 iftype set. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 04c7b363c9f7b05cb1bb94e14afbdd3661f9dd61 Author: Shengzhen Li <szli@xxxxxxxxxxx> Date: Wed Feb 11 23:12:24 2015 +0530 mwifiex: more_task flag for main_process This patch handles a corner case where TX packet would remain in driver queue till next packet comes in. Here is sequence: 1. TX packet is queued via hard_start_xmit and main_work is queued 2. SDIO interrupt comes in which directly call mwifiex_main_process. This starts executing main superloop. 3. Now work from step1 is scheduled but at first check itself it sees mwifiex_processing is set and exits. 4. Now if superloop from step2 has passed TX processing part of superloop this packet would remain in queue until next packet/command/SDIO interrupt arrives and queues main_work. This patch fixes this corner case by defining more_task flag which is set when mwifiex_processing is found to be true. At end of superloop we again check if more_task flag is set and if set, execute superloop again. Signed-off-by: Shengzhen Li <szli@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8a1959beca2b58dc0173ef42eb60476637e86ff9 Author: Bas Peters <baspeters93@xxxxxxxxx> Date: Wed Feb 11 09:33:06 2015 +0100 libertas: remove unnecessary check before calling debugfs_remove Debugfs_remove will check for error or NULL for us, so it is not necessary to do this here. Signed-off-by: Bas Peters <baspeters93@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 851639fdaeacbf8c0ff73f73da7bc67b525f5ce9 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Wed Feb 11 01:40:30 2015 +0900 rtlwifi: Modify some USB de-initialize code. Delete SET_USB_STOP macro and rtl_usb_deinit because those are called twice in USB de-initialize routine. Add some de-initialize workqueue function in USB disconnect routine. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8c97a765467c5d58682e85f103899ec2355fc393 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Feb 26 11:28:50 2015 -0500 HID: wacom: add full support of the Wacom Bamboo PAD The stylus of this device works just fine out of the box. The touch is seen by default as a mouse with relative events and some gestures. The wireless and the wired version have slightly different firmwares, but the debug mode 2 on the feature 2 is common to the 2 devices. In this mode, all the reports are emitted through the debug interface (pen, raw touch and mouse emulation), so we have to re-route manually the events. We keep the Pen interface as a HID_GENERIC one because it works, and only parse the raw touches while discarding the mouse emulation & gestures. Switching the default in raw mode allows us to have a consistent user experience accross all the multitouch touchpads (and enable the touch part of the devices). Note that the buttons of this devices are reported through the touch interface. There is no 'Pad' interface. It seemed more natural to have the BTN_LEFT and BTN_RIGHT reported with the touch because they are placed under the touch interface and it looks like they belong to the touch part. Tested-by: Josep Sanchez Ferreres <josep.sanchez.ferreres@xxxxxxxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a97ac10401fe86fa30ef73315241e31d8594a651 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Wed Feb 25 11:43:39 2015 -0500 HID: wacom: store the hid_device pointers of the sibling devices The Bamboo PAD in debug mode needs to re-route events from the debug interface to the Pen interface. This can be easily done with hid_input_report(), but that means that we need to keep a reference to the various hid_devices. There should be only one touch and one pen interface per physical tablet, so there is no need to keep a list of hid-devices, plain pointers are sufficient. Tested-by: Josep Sanchez Ferreres <josep.sanchez.ferreres@xxxxxxxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4949009eb8d40a441dcddcd96e101e77d31cf1b2 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Feb 27 06:28:00 2015 +0300 xtensa: xtfpga: fix hardware lockup caused by LCD driver LCD driver is always built for the XTFPGA platform, but its base address is not configurable, and is wrong for ML605/KC705. Its initialization locks up KC705 board hardware. Make the whole driver optional, and its base address and bus width configurable. Implement 4-bit bus access method. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 46aad84190d9f2ea2f9e8c251e1b971519306044 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Wed Feb 11 17:01:07 2015 +0200 mtd: nand: sunxi: fix generic nand binding reference Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 59ce8d558c0e2d0217d2aab938c8334a896c02ee Author: Jean Delvare <jdelvare@xxxxxxx> Date: Sat Feb 21 13:16:34 2015 +0100 staging: unisys: Rework Kconfig dependencies I find the Kconfig dependencies of the various Unisys drivers rather confusing. Due to the dependencies, you must select the drivers one by one to see the following ones. So if you are looking for a specific driver, it is not visible by default. And if you don't know exactly what you need, it's even worse as you don't know what is available. In a case like this with several helper drivers and many dependencies, I think it makes more sense to list all the drivers at first, and use select statements to fulfill the dependencies for the user. As a nice side effect, it avoids the weird indentation, which was technically correct but still somewhat confusing. I also dropped the dependencies on HAS_IOMEM, as the whole driver set is for X86_64 only anyway which always has HAS_IOMEM set. And I dropped the redundant dependencies on UNISYSSPAR as all drivers are already inside an "if UNISYSSPAR" block. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Cc: David Kershner <david.kershner@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58701e5a5906ddfbabe245eda0e1cb42dd2b9468 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Thu Feb 19 14:08:34 2015 -0500 unisys: remove the thread variable and API remove the should_stop variable and KILL API as they are no longer required Cc: Ken Cox <jkc@xxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0f2f18eb2e856ac8fd7efc6af0671c1fdc50e69 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Thu Feb 19 14:08:33 2015 -0500 unisys: use kthread_should_stop API in the lib thread convert the users of should_stop into using kthread_should_stop API. Cc: Ken Cox <jkc@xxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 010c9f8ebd27f4af484cbe752ed583bf72675882 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Thu Feb 19 14:08:32 2015 -0500 unisys: use kthread_should_stop in the thread convert the users of should_stop variable into kthread_should_stop() API. Cc: Ken Cox <jkc@xxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18216fefbe26e95189c6628fde731ff1b239a7f6 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Thu Feb 19 14:08:31 2015 -0500 unisys: use simpler kthread_ API The code does the checks on should_stop variable in the kernel threads. The uisthread_stop function sets the should_stop and calls KILL (eventually kill_pid) to stop the thread. The checking of should_stop variable can be replaced to a call to kthread_should_stop function and the setting of the should_stop and a call to KILL can be replaced with kthread_stop function. Cc: Ken Cox <jkc@xxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31c9b9cf40f8f03f6a7484f2c06c5eb31b3735ce Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Thu Feb 19 14:08:30 2015 -0500 unisys: replace kthread_create and wake_up_process with kthread_run kthread_run calls kthread_create and if the thread is created it then calls wake_up_process on the corresponding returned task struct. So the code can be simplified by calling just kthread_run. Cc: Ken Cox <jkc@xxxxxxxxxx> Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edff162ce38ec1cea17f3cadd095e8e449d79735 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Thu Feb 19 13:49:20 2015 +0100 staging: unisys: Remove unnecessary OOM message This patch reduces the kernel size by removing error messages that duplicate the normal OOM message. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr) @@ identifier f,print,l; expression e; constant char[] c; @@ e = \(kzalloc\|kmalloc\|devm_kzalloc\|devm_kmalloc\)(...); if (e == NULL) { <+... - print(...,c,...); ... when any ( goto l; | return ...; ) ...+> } Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a174ad446c90d2b6a748c701efe127b2c47c315 Author: Frederico Cadete <frederico@xxxxxxxxx> Date: Wed Feb 18 19:53:41 2015 +0100 staging: unisys: style: remove unnecessary braces Signed-off-by: Frederico Cadete <frederico@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84b11dfd1ec14cb40944e35b4aff36c78f276598 Author: Frederico Cadete <frederico@xxxxxxxxx> Date: Wed Feb 18 19:53:40 2015 +0100 staging: unisys: style: Replace typedefs with structs in visorchipset_main.c Signed-off-by: Frederico Cadete <frederico@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5058bb45be19e84da2394a22647f117278ee60ad Author: Frederico Cadete <frederico@xxxxxxxxx> Date: Wed Feb 18 19:53:39 2015 +0100 staging: unisys: remove unused MESSAGE_ENVELOPE typedef Signed-off-by: Frederico Cadete <frederico@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cee158b5a60149798f6034a67484a503253d6f77 Author: Frederico Cadete <frederico@xxxxxxxxx> Date: Wed Feb 18 19:53:38 2015 +0100 staging: unisys: declare visorchipset_ioctl static This symbol is not exported nor referenced anywhere else in the kernel. Signed-off-by: Frederico Cadete <frederico@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9729018cd6012e0628a3f97269fdbe252ce2e26a Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Feb 12 17:53:35 2015 +0530 staging: unisys: remove unneeded functions these functions are not being used anywhere.so we can remove them. has been verified by "git grep" that they are not being referenced anywhere also has been build tested. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea0dcfcf6d6e76ed4ded11c3027e7f5478746010 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Tue Feb 10 15:12:07 2015 +0100 staging: unisys: Remove allocation from declaration line This patch removes allocation from declaration line because people are known to gloss over declarations. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b247d4087a6afc3ad41a15b49b7555ba4840c4bc Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Feb 10 17:09:44 2015 +0530 staging: unisys: fix directory warning we were getting three warnings about timskmod and sparstopdriver and channels. These warnings were about no such file or directory. These directory names were included in the Makefile, but the directories were not existing. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e81513b05d9b694df8c19011e76dea866092df1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Feb 10 17:09:43 2015 +0530 staging: unisys: remove unused variable we were getting lots of warnings about _tempresult set but not used. _tempresult was used in the macro ISSUE_IO_VMCALL_POSTCODE_SEVERITY which was again using another macro ISSUE_IO_EXTENDED_VMCALL. but the value assigned to it was never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35a90a563be777e40c5b107cda27ae93cb31e63d Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Fri Feb 27 02:59:23 2015 +0300 Staging: nvec: Add paragraph to describe kconfig symbol This patch updates kconfig with paragraphs that describe config symbol fully. Issue addressed by checkpatch.pl warning. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5f9e99b6ae704dd67f6b5f9e0f6dec968baea0f Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 27 03:06:53 2015 +0200 staging: vt6656: replace memcpy by ether_addr_copy This patch fixes the following checkpatch.pl warning: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) The changes were applied using the following coccinelle rule: @@ expression e1, e2; @@ - memcpy(e1, e2, ETH_ALEN); + ether_addr_copy(e1, e2); All variables defined in vnt_mac_set_key start at even offsets making the variables aligned to the u16 datatype. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26c00ab4aae2d29b6c724a9c23d5f6cba2b20e41 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 11:21:22 2015 +0200 ARM: shmobile: lager: Add DU external pixel clocks to DT Declare the fixed 148.5MHz pixel clocks connected to the DU clock inputs. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cd21cb46e14aae3a5d4f044c07f2c1f9d89fcd1a Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 11:21:23 2015 +0200 ARM: shmobile: koelsch: Add DU external pixel clocks to DT Declare the fixed 148.5MHz pixel clocks connected to the DU clock inputs. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 665d79aa47cb3983b1fd14cd7c42eead5324c24e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 26 11:21:21 2015 +0200 ARM: shmobile: marzen: Add DU external pixel clock to DT Declare the fixed 65MHz pixel clock connected to the DU clock input. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ca50ee8f6f7c25d3de7d5da4e7a164e21f08c828 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 26 11:46:29 2015 +0100 ARM: shmobile: ape6evm dts: Fix polarity of LEDs While the LEDs on r8a73a4/ape6evm are tied to VSUPPLY, they're driven by an N-channel MOSFET. Hence the GPIO signal should be active high. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 95e7381b1a6dec04b17aea3fd839c4ada8c96f28 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:09 2015 +0100 ARM: shmobile: bockw: add devices hooked up to i2c0 to DT Cameras, RTC, and ak4643 sound codec. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6f82fae2f4a3fc4bee26a3a1e9db74e18ee67b52 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:08 2015 +0100 DT: i2c: add trivial binding for OKI ML86V7667 video decoder Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6232c51cb370919b116e0aea38d12aa33aae2fa9 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Feb 26 17:42:07 2015 +0100 ARM: shmobile: r8a7778: common clock framework CPG driver Driver for the r8a7778's clocks that depend on the mode bits. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a5dc23f6896005a18629b5c1be0e39a9f6090bf5 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:59 2015 +0100 ARM: shmobile: bockw dts: set extal clock frequency Sets the extal clock to the frequency of the oscillator installed by default (33 MHz). Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7d316faa193fed16079b35c57e0500be3cc6f0a5 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:58 2015 +0100 ARM: shmobile: bockw dts: Move Ethernet node to BSC Move the Ethernet node to the new BSC node, as its connected to the Bus State Controller. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> [horms: dropped compat string changes as they seem out of scope] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5871968d531f39c23a8e6c69525bb705bca52e04 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 24 11:05:36 2015 -0800 rcu: Tighten up affinity and check for sysidle If the RCU grace-period kthread invoking rcu_sysidle_check_cpu() happens to be running on the tick_do_timer_cpu initially, then rcu_bind_gp_kthread() won't bind it. This kthread might then migrate before invoking rcu_gp_fqs(), which will trigger the WARN_ON_ONCE() in rcu_sysidle_check_cpu(). This commit therefore makes rcu_bind_gp_kthread() do the binding even if the kthread is currently on the same CPU. Because this incurs added overhead, this commit also causes each RCU grace-period kthread to invoke rcu_bind_gp_kthread() once at boot rather than at the beginning of each grace period. And as long as rcu_bind_gp_kthread() is being modified, this commit eliminates its #ifdef. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f3f837e52b14bf84c2db65f622b5c31cd261100c Author: Bill Richardson <wfrichar@xxxxxxxxxxxx> Date: Mon Feb 2 12:26:28 2015 +0100 platform/chrome: Expose Chrome OS Lightbar to users This adds some sysfs entries to provide userspace control of the four-element LED "lightbar" on the Chromebook Pixel. This only instantiates the lightbar controls if the device actually exists. To prevent DoS attacks, this interface is limited to 20 accesses/second, although that rate can be adjusted by a privileged user. On Chromebooks without a lightbar, this should have no effect. On the Chromebook Pixel, you should be able to do things like this: $ cd /sys/devices/virtual/chromeos/cros_ec/lightbar $ echo 0x80 > brightness $ echo 255 > brightness $ $ cat sequence S0 $ echo konami > sequence $ cat sequence KONAMI $ $ cat sequence S0 And $ cd /sys/devices/virtual/chromeos/cros_ec/lightbar $ echo stop > sequence $ echo "4 255 255 255" > led_rgb $ echo "0 255 0 0 1 0 255 0 2 0 0 255 3 255 255 0" > led_rgb $ echo run > sequence Test the DoS prevention with this: $ cd /sys/devices/virtual/chromeos/cros_ec/lightbar $ echo 500 > interval_msec $ time (cat version version version version version version version) Signed-off-by: Bill Richardson <wfrichar@xxxxxxxxxxxx> Reviewed-by: Olof Johansson <olofj@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 71af4b52cc22a8d0f7b66a51427a804741a045b6 Author: Bill Richardson <wfrichar@xxxxxxxxxxxx> Date: Mon Feb 2 12:26:27 2015 +0100 platform/chrome: Create sysfs attributes for the ChromeOS EC This adds the first few sysfs attributes for the Chrome OS EC. These controls are made available under /sys/devices/virtual/chromeos/cros_ec flashinfo - display current flash info reboot - tell the EC to reboot in various ways version - information about the EC software and hardware Future changes will build on this to add additional controls. From a root shell, you should be able to do things like this: cd /sys/devices/virtual/chromeos/cros_ec cat flashinfo cat version echo rw > reboot cat version echo ro > reboot cat version echo rw > reboot cat version echo cold > reboot That last command will reboot the AP too. Signed-off-by: Bill Richardson <wfrichar@xxxxxxxxxxxx> Reviewed-by: Olof Johansson <olofj@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 8a4be850b6a1eb8c7b910d98d3683a803ff5ddb4 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Feb 2 12:26:26 2015 +0100 mfd: cros_ec: Instantiate ChromeOS EC character device The ChromeOS EC character device is an user-space interface to allow applications to access the Embedded Controller. Add a cell for this device so it's spawned from the mfd driver. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e7c256fbfb157885d36ffcf03d981fa8b21e8fec Author: Bill Richardson <wfrichar@xxxxxxxxxxxx> Date: Mon Feb 2 12:26:25 2015 +0100 platform/chrome: Add Chrome OS EC userspace device interface This patch adds a device interface to access the Chrome OS Embedded Controller from user-space. Signed-off-by: Bill Richardson <wfrichar@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ec2f33ab582bf6bb14ef3e1ce4ed5f1973edd9f6 Author: Bill Richardson <wfrichar@xxxxxxxxxxxx> Date: Mon Feb 2 12:26:24 2015 +0100 platform/chrome: Add cros_ec_lpc driver for x86 devices Chromebooks have an Embedded Controller (EC) that is used to implement various functions such as keyboard, power and battery. The AP can communicate with the EC through different bus types such as I2C, SPI or LPC. The cros_ec mfd driver is then composed of a core driver that register the sub-devices as mfd cells and provide a high level communication interface that is used by the rest of the kernel and bus specific interfaces modules. Each connection method then has its own driver, which register with the EC driver interface-agnostic interface. Currently, there are drivers to communicate with the EC over I2C and SPI and this driver adds support for LPC. Signed-off-by: Bill Richardson <wfrichar@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 05c11ac4e0712def44cccbff82ad980d9e1d1b80 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Feb 2 12:26:23 2015 +0100 mfd: cros_ec: Add char dev and virtual dev pointers The ChromeOS Embedded Controller has to be accessed by applications. A virtual character device is used as an interface with user-space. Extend the struct cros_ec_device with the fields needed by the driver of this virtual character device. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1b84f2a4cd4a6f517a313261f6f7c8caae5696c6 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Feb 2 12:26:22 2015 +0100 mfd: cros_ec: Use fixed size arrays to transfer data with the EC The struct cros_ec_command will be used as an ioctl() argument for the API to control the ChromeOS EC from user-space. So the data structure has to be 64-bit safe to make it compatible between 32 and 64 avoiding the need for a compat ioctl interface. Since pointers are self-aligned to different byte boundaries, use fixed size arrays instead of pointers for transferring ingoing and outgoing data with the Embedded Controller. Also, re-arrange struct members by decreasing alignment requirements to reduce the needing padding size. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 68c18c61b23c28d4741fda0df81bc6ec40bfd14b Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Feb 26 13:39:48 2015 -0500 HID: remove 2 unused usb.h includes These 2 are left over from the USB dependency cleaning, so there is no need to keep them. [jkosina@xxxxxxx: fix filename] Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6518c10be952ef0afb95e5ea5d277458e273b662 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Feb 27 00:03:02 2015 +0100 Staging: rtl8192u: Replace printk() with pr_debug() For dynamic debugging netdev_dbg(), dev_dbg() or pr_debug() macro is preferred over printk(), which is the raw way to print something. Network system has it's own printk format, netdev_dbg, but in this case function's argument list has no pointer to a struct netdevice so pr_debug is used instead. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a3718cfd0f6608362f5aaea37f896ff629d0f43 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Feb 26 23:04:42 2015 +0100 Staging: rtl8192u: Remove break statement This patch fixes the checkpatch.pl warning: WARNING: "break is not useful after a goto or return" Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff0dd127432f003f11d8312c37bb384da009307a Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 23:45:48 2015 +0200 Staging: lustre: Remove space after the name of that function Fix checkpatch.pl issues with "space prohibited between function name and open parenthesis" in file.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7849595f56862480cabbbae4f445c9f158168db Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 23:45:47 2015 +0200 Staging: lustre: Added spaces around '=' Add spaces around =, to conform to kernel coding type. This problem was found by checkpatch. Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef075edcc92be64746bfb184071707fa5890cc3a Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 23:45:46 2015 +0200 Staging: lustre: Corrected code indentation This patch fixes these warning messages found by checkpatch.pl: WARNING: suspect code indent for conditional statements(8,15) Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cea812cd69dc5eb37b087b8fdb68b695f7de94ec Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 23:45:45 2015 +0200 Staging: lustre: Added blank line after declarations This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in file.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93133eb42ed698a6ac23fb320074e6abc17b091e Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 23:45:44 2015 +0200 Staging: lustre: Move export_symbol below its function This patch fixes "EXPORT_SYMBOL(foo); should immediately follow its function/variable" checkpatch.pl warning in file.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0395e554f840344796799d538b020deb124bf764 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Feb 27 02:12:10 2015 +0530 Staging: rtl8188eu: Remove unnecessary code Code removed as variables assigned are not used anywhere. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f559108b4b3253f5d3e01d0e671eb94702dcb77d Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:46:12 2015 +0200 staging: comedi: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 410c944eda7287a3c68e7e5886ad4280467b2a5b Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:45:51 2015 +0200 staging: emxx_udc: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1525ecfce19b56e8c26b52d15f7b4617c9f503ba Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:45:26 2015 +0200 staging: iio: Documentation: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c8e4d70e001f7528be9d06739ecd28736396867 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:45:03 2015 +0200 staging: lustre: libcfs: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 302727b658d948b47ec69bdd9caefac3f7b10b5e Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:44:40 2015 +0200 staging: lustre: lmv: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09c99f8f41434ac70b7a7b79569984cdaf266a1d Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:44:18 2015 +0200 staging: lustre: lov: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e80fe16092464a145dccaf65863cdcc0c5df305 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:43:54 2015 +0200 staging: media: davinci_vpfe: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10a8643b766b10230e9f795d6c1ac716ee03b40c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:43:09 2015 +0200 staging: rtl8188eu: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74ff87997fe28b58ddeca7b9294a868b1ea66668 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:42:42 2015 +0200 staging: rtl8188eu: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6112e4839326c254da7cf37a6376aa543dcc659 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:42:14 2015 +0200 staging: rtl8188eu: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 945f0185610dbad16b6741b55cad86cc72fb559d Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:41:51 2015 +0200 staging: rtl8188eu: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0dbffe07b15d43b80fbdff16bc643b8483bc315d Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:41:23 2015 +0200 staging: rtl8192e: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be31fed4f917e67a504ef837486cef798fba0fd7 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:40:50 2015 +0200 staging: rtl8192e: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1339078956e5d96c978602b918bce37d08b78c72 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:40:21 2015 +0200 staging: rtl8192u: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 278c0942c37b69e929da429548ddb4030051a5e5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:39:17 2015 +0200 staging: rtl8192u: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae52e527c9c0b05bff9cfcea11f1e1b4ce94325a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:38:12 2015 +0200 staging: rtl8712: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c7c5d800e380e28deb9e6dfac8d66a6c4f4d3c3 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:36:56 2015 +0200 staging: rtl8712: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc5b749a4640ea028cfa9bde5dac98366aa8f44a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:35:45 2015 +0200 staging: rtl8712: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb329d837dce4cdb23ecf1fe38713675552751c0 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:32:40 2015 +0200 staging: rtl8712: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bd70089b3c1882a86e21eb3779f1cf4a8259c8d Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:31:42 2015 +0200 staging: rtl8723au: hal: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5092450c9dee65a046fdf6ff6e9f25c05f231840 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:30:50 2015 +0200 staging: rtl8723au: hal: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9dbc808e97b34684d570e4654b03f48b0eba3a8 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:30:01 2015 +0200 staging: rtl8723au: hal: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26aab2b14cfef377e8a339348d8c5057bcba30e8 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:29:04 2015 +0200 staging: rtl8723au: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 462833726c5461ba357ad75cf44625804b0671ba Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 26 11:27:44 2015 +0200 staging: xgifb: rewrite the right hand side of an assignment This patch rewrites the right hand side of an assignment for expressions of the form: a = (a <op> b); to be: a <op>= b; where <op> = << | >>. This issue was detected and resolved using the following coccinelle script: @@ identifier i; expression e; @@ -i = (i >> e); +i >>= e; @@ identifier i; expression e; @@ -i = (i << e); +i <<= e; Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cd0989e08a9764d311417fae825c302ffa45cb6 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Mon Feb 23 18:47:07 2015 +0100 Staging: slicoss: Join split string. This patch fixes warning issue by checkpatch.pl by joining the split string. And also creates new warning that line exceeds 80 characters. In this case this is more beneficial because of possibility to grep the string. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a786b7789345a7c918c947d2a0e218ac8e918ae6 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Feb 26 22:05:02 2015 +0200 Staging: ft1000: Removed unnecessary braces The following patch fixes the checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5d5030dc3c00c28404abb9babea9720930304d1 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 03:52:03 2015 +0200 staging: ft1000: ft1000-pcmcia: Added missing blank line. Added missing blank line after declaration. Removed following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a49f752de17ebf060d66742a4a287670dfe75d9 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 03:52:02 2015 +0200 staging: ft1000: ft1000-pcmcia: Removed unnecessary parentheses. This patch removes unnecessary parentheses from control expression. Removed following checkpatch.pl warning: WARNING: Unnecessary parentheses Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 057b28f5bc8d90584ac8bd1f42a2de2e4a4b5bf3 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 03:52:01 2015 +0200 staging: ft1000: ft1000-pcmcia: Deleted unnecessary braces. Brackets were removed from the expression that containing single line in the phrase "if else". Removed following checkpatch.pl warnings: WARNING: braces {} are not necessary for any arm of this statement Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eeca3458e6412a3797e2ca1247e2beda046591f2 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 03:52:00 2015 +0200 staging: ft1000: ft1000-pcmcia: Removed all useless "else" Removed all else keywords that used after break or return. Removed following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe146473cad3d88ec0cf5fc71e7910955e4de1f5 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Feb 21 20:48:02 2015 +0200 Staging: drivers: dma: Add space before ( This patch fixes checkpatch.pl error in file ste_dma40.c ERROR: space required before the open parenthesis '(' Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0049dfc88d18657da302023782473b615f3fcf4 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Feb 20 18:14:30 2015 +0100 Staging: rtl8192: Simplifying if-else statement This patch simplifies the code by not having two identical paths and fixes the warning given by checkpatch.pl: "else is not useful after a break or return". Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f3aefb5dfcaf28c0a0b5c270ca120818da88f58 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Sun Feb 22 16:58:08 2015 +0200 Staging: rtl8192e: replace memcpy() by ether_addr_copy() using coccinelle and pack variable This patch focuses on fixing the following warning generated by checkpatch.pl for the file rxtx.c Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) @@ expression e1, e2; @@ - memcpy(e1, e2, ETH_ALEN); + ether_addr_copy(e1, e2); struct net_device { char name[16]; /* 0 16*/ struct hlist_node name_hlist; /* 16 16*/ char * ifalias; /* 32 8*/ long unsigned int mem_end; /* 40 8*/ long unsigned int mem_start; /* 48 8*/ long unsigned int base_addr; /* 56 8*/ /* --- cacheline 1 boundary (64 bytes) --- */ int irq; /* 64 4*/ /* XXX 4 bytes hole, try to pack */ long unsigned int state; /* 72 8*/ struct list_head dev_list; /* 80 16*/ struct list_head napi_list; /* 96 16*/ struct list_head unreg_list; /* 112 16*/ /* --- cacheline 2 boundary (128 bytes) --- */ struct list_head close_list; /* 128 16*/ struct { struct list_head upper; /* 144 16*/ struct list_head lower; /* 160 16*/ } adj_list; /* 144 32*/ struct { struct list_head upper; /* 176 16*/ struct list_head lower; /* 192 16*/ } all_adj_list; /* 176 32*/ /* --- cacheline 3 boundary (192 bytes) was 16 bytes ago --- */ netdev_features_t features; /* 208 8*/ netdev_features_t hw_features; /* 216 8*/ netdev_features_t wanted_features; /* 224 8*/ netdev_features_t vlan_features; /* 232 8*/ netdev_features_t hw_enc_features; /* 240 8*/ netdev_features_t mpls_features; /* 248 8*/ /* --- cacheline 4 boundary (256 bytes) --- */ int ifindex; /* 256 4*/ int iflink; /* 260 4*/ struct net_device_stats stats; /* 264 184*/ /* --- cacheline 7 boundary (448 bytes) --- */ atomic_long_t rx_dropped; /* 448 8*/ atomic_long_t tx_dropped; /* 456 8*/ atomic_t carrier_changes; /* 464 4*/ /* XXX 4 bytes hole, try to pack */ const struct iw_handler_def * wireless_handlers; /* 472 8*/ struct iw_public_data * wireless_data; /* 480 8*/ const struct net_device_ops * netdev_ops; /* 488 8*/ const struct ethtool_ops * ethtool_ops; /* 496 8*/ const struct forwarding_accel_ops * fwd_ops; /* 504 8*/ /* --- cacheline 8 boundary (512 bytes) --- */ const struct header_ops * header_ops; /* 512 8*/ unsigned int flags; /* 520 4*/ unsigned int priv_flags; /* 524 4*/ short unsigned int gflags; /* 528 2*/ short unsigned int padded; /* 530 2*/ unsigned char operstate; /* 532 1*/ unsigned char link_mode; /* 533 1*/ unsigned char if_port; /* 534 1*/ unsigned char dma; /* 535 1*/ unsigned int mtu; /* 536 4*/ short unsigned int type; /* 540 2*/ short unsigned int hard_header_len; /* 542 2*/ short unsigned int needed_headroom; /* 544 2*/ short unsigned int needed_tailroom; /* 546 2*/ unsigned char perm_addr[32]; /* 548 32*/ /* --- cacheline 9 boundary (576 bytes) was 4 bytes ago --- */ unsigned char addr_assign_type; /* 580 1*/ unsigned char addr_len; /* 581 1*/ short unsigned int neigh_priv_len; /* 582 2*/ short unsigned int dev_id; /* 584 2*/ short unsigned int dev_port; /* 586 2*/ spinlock_t addr_list_lock; /* 588 4*/ struct netdev_hw_addr_list uc; /* 592 24*/ struct netdev_hw_addr_list mc; /* 616 24*/ /* --- cacheline 10 boundary (640 bytes) --- */ struct netdev_hw_addr_list dev_addrs; /* 640 24*/ struct kset * queues_kset; /* 664 8*/ unsigned char name_assign_type; /* 672 1*/ bool uc_promisc; /* 673 1*/ /* XXX 2 bytes hole, try to pack */ unsigned int promiscuity; /* 676 4*/ unsigned int allmulti; /* 680 4*/ /* XXX 4 bytes hole, try to pack */ struct vlan_info * vlan_info; /* 688 8*/ struct dsa_switch_tree * dsa_ptr; /* 696 8*/ /* --- cacheline 11 boundary (704 bytes) --- */ struct tipc_bearer * tipc_ptr; /* 704 8*/ void * atalk_ptr; /* 712 8*/ struct in_device * ip_ptr; /* 720 8*/ struct dn_dev * dn_ptr; /* 728 8*/ struct inet6_dev * ip6_ptr; /* 736 8*/ void * ax25_ptr; /* 744 8*/ struct wireless_dev * ieee80211_ptr; /* 752 8*/ struct wpan_dev * ieee802154_ptr; /* 760 8*/ /* --- cacheline 12 boundary (768 bytes) --- */ long unsigned int last_rx; /* 768 8*/ unsigned char * dev_addr; /* 776 8*/ struct netdev_rx_queue * _rx; /* 784 8*/ unsigned int num_rx_queues; /* 792 4*/ unsigned int real_num_rx_queues; /* 796 4*/ long unsigned int gro_flush_timeout; /* 800 8*/ rx_handler_func_t * rx_handler; /* 808 8*/ void * rx_handler_data; /* 816 8*/ struct netdev_queue * ingress_queue; /* 824 8*/ /* --- cacheline 13 boundary (832 bytes) --- */ unsigned char broadcast[32]; /* 832 32*/ /* XXX 32 bytes hole, try to pack */ /* --- cacheline 14 boundary (896 bytes) --- */ struct netdev_queue * _tx; /* 896 8*/ unsigned int num_tx_queues; /* 904 4*/ unsigned int real_num_tx_queues; /* 908 4*/ struct Qdisc * qdisc; /* 912 8*/ long unsigned int tx_queue_len; /* 920 8*/ spinlock_t tx_global_lock; /* 928 4*/ /* XXX 4 bytes hole, try to pack */ struct xps_dev_maps * xps_maps; /* 936 8*/ struct cpu_rmap * rx_cpu_rmap; /* 944 8*/ long unsigned int trans_start; /* 952 8*/ /* --- cacheline 15 boundary (960 bytes) --- */ int watchdog_timeo; /* 960 4*/ /* XXX 4 bytes hole, try to pack */ struct timer_list watchdog_timer; /* 968 80*/ /* --- cacheline 16 boundary (1024 bytes) was 24 bytes ago ---* */ int * pcpu_refcnt; /* 1048 8*/ struct list_head todo_list; /* 1056 16*/ struct hlist_node index_hlist; /* 1072 16*/ /* --- cacheline 17 boundary (1088 bytes) --- */ struct list_head link_watch_list; /* 1088 16*/ enum { NETREG_UNINITIALIZED = 0, NETREG_REGISTERED = 1, NETREG_UNREGISTERING = 2, NETREG_UNREGISTERED = 3, NETREG_RELEASED = 4, NETREG_DUMMY = 5, } reg_state:8; /* 1104 4 */ /* Bitfield combined with next fields */ bool dismantle; /* 1105 1*/ /* Bitfield combined with previous fields */ enum { RTNL_LINK_INITIALIZED = 0, RTNL_LINK_INITIALIZING = 1, } rtnl_link_state:16; /* 1104 4 */ /* XXX 4 bytes hole, try to pack */ void (*destructor)(struct net_device *);/* 1112 8 */ struct netpoll_info * npinfo; /* 1120 8*/ struct net * nd_net; /* 1128 8*/ union { void * ml_priv; /* 8*/ struct pcpu_lstats * lstats; /* 8*/ struct pcpu_sw_netstats * tstats; /* 8*/ struct pcpu_dstats * dstats; /* 8*/ struct pcpu_vstats * vstats; /* 8*/ }; /* 1136 8*/ struct garp_port * garp_port; /* 1144 8*/ /* --- cacheline 18 boundary (1152 bytes) was 4 bytes ago --- */ struct mrp_port * mrp_port; /* 1152 8*/ struct device dev; /* 1160 696*/ /* XXX last struct has 7 bytes of padding */ /* --- cacheline 29 boundary (1856 bytes) was 4 bytes ago --- */ const struct attribute_group * sysfs_groups[4]; /* 1856 32*/ const struct attribute_group * sysfs_rx_queue_group; /* 18888 */ const struct rtnl_link_ops * rtnl_link_ops; /* 1896 8*/ unsigned int gso_max_size; /* 1904 4*/ u16 gso_max_segs; /* 1908 2*/ u16 gso_min_segs; /* 1910 2*/ const struct dcbnl_rtnl_ops * dcbnl_ops; /* 1912 8*/ /* --- cacheline 30 boundary (1920 bytes) was 4 bytes ago --- */ u8 num_tc; /* 1920 1*/ /* XXX 1 byte hole, try to pack */ struct netdev_tc_txq tc_to_txq[16]; /* 1922 64*/ /* --- cacheline 31 boundary (1984 bytes) was 6 bytes ago --- */ u8 prio_tc_map[16]; /* 1986 16*/ /* XXX 2 bytes hole, try to pack */ unsigned int fcoe_ddp_xid; /* 2004 4*/ struct phy_device * phydev; /* 2008 8*/ struct lock_class_key * qdisc_tx_busylock; /* 2016 8*/ int group; /* 2024 4*/ /* XXX 4 bytes hole, try to pack */ struct pm_qos_request pm_qos_req; /* 2032 176*/ /* --- cacheline 34 boundary (2176 bytes) was 36 bytes ago --- * */ /* size: 2240, cachelines: 35, members: 120 */ /* sum members: 2147, holes: 11, sum holes: 65 */ /* padding: 32 */ /* paddings: 1, sum paddings: 7 */ /* BRAIN FART ALERT! 2240 != 2147 + 65(holes), diff = 28 */ }; Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 875b7dec47533e2a26489420c7964e8efe647175 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 25 09:35:32 2015 +0530 Staging: rtl8712: Use mod_timer This patch introduces the use of API function mod_timer instead of driver specific function as it is a more efficient and standard way to update the expire field of an active timer. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6c6e298170e5fad9a759abf305eadcf5780b658 Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Wed Feb 25 07:40:37 2015 -0800 Staging: rtl8712: Remove unused macros Removes several macro definitions that are unused Patch 2 will remove the same definitions in rtl8188eu/include/wifi.h Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d55519ab9b20b0961bc13018506fb413d5a752d7 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Mon Feb 23 09:11:57 2015 +0200 Staging: rtl8712: replace memcpy() by ether_addr_copy() using coccinelle and pack variable This patch focuses on fixing the following warning generated by checkpatch.pl for the file rtl871x_cmd.c Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) @@ expression e1, e2; @@ - memcpy(e1, e2, ETH_ALEN); + ether_addr_copy(e1, e2); struct _adapter { struct dvobj_priv dvobjpriv; /* 0 40*/ struct mlme_priv mlmepriv; /* 40 1560*/ /* --- cacheline 25 boundary (1600 bytes) --- */ struct cmd_priv cmdpriv; /* 1600 136*/ /* --- cacheline 27 boundary (1728 bytes) was 8 bytes ago --- */ struct evt_priv evtpriv; /* 1736 96*/ /* --- cacheline 28 boundary (1792 bytes) was 40 bytes ago --- * */ struct io_queue * pio_queue; /* 1832 8*/ struct xmit_priv xmitpriv; /* 1840 912*/ /* --- cacheline 43 boundary (2752 bytes) --- */ struct recv_priv recvpriv; /* 2752 1088*/ /* --- cacheline 60 boundary (3840 bytes) --- */ struct sta_priv stapriv; /* 3840 672*/ /* --- cacheline 70 boundary (4480 bytes) was 32 bytes ago --- * */ struct security_priv securitypriv; /* 4512 4816*/ /* --- cacheline 145 boundary (9280 bytes) was 48 bytes ago --- * */ struct registry_priv registrypriv; /* 9328 968*/ /* --- cacheline 160 boundary (10240 bytes) was 56 bytes ago --- * */ struct wlan_acl_pool acl_list; /* 10296 1536*/ /* --- cacheline 184 boundary (11776 bytes) was 56 bytes ago --- * */ struct pwrctrl_priv pwrctrlpriv; /* 11832 224*/ /* --- cacheline 188 boundary (12032 bytes) was 24 bytes ago --- * */ struct eeprom_priv eeprompriv; /* 12056 508*/ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 196 boundary (12544 bytes) was 24 bytes ago --- * */ struct hal_priv halpriv; /* 12568 88*/ /* --- cacheline 197 boundary (12608 bytes) was 48 bytes ago --- * */ struct led_priv ledpriv; /* 12656 304*/ /* --- cacheline 202 boundary (12928 bytes) was 32 bytes ago --- * */ struct mp_priv mppriv; /* 12960 1080*/ /* --- cacheline 219 boundary (14016 bytes) was 24 bytes ago * --- */ s32 bDriverStopped; /* 14040 4*/ s32 bSurpriseRemoved; /* 14044 4*/ u32 IsrContent; /* 14048 4*/ u32 ImrContent; /* 14052 4*/ u8 EepromAddressSize; /* 14056 1*/ u8 hw_init_completed; /* 14057 1*/ /* XXX 6 bytes hole, try to pack */ struct task_struct * cmdThread; /* 14064 8*/ pid_t evtThread; /* 14072 4*/ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 220 boundary (14080 bytes) --- */ struct task_struct * xmitThread; /* 14080 8*/ pid_t recvThread; /* 14088 4*/ /* XXX 4 bytes hole, try to pack */ uint (*dvobj_init)(struct _adapter *); /*14096 8 */ void (*dvobj_deinit)(struct _adapter *);/* 14104 8 */ struct net_device * pnetdev; /* 14112 8*/ int bup; /* 14120 4*/ /* XXX 4 bytes hole, try to pack */ struct net_device_stats stats; /* 14128 184*/ /* --- cacheline 223 boundary (14272 bytes) was 40 bytes ago --- * */ struct iw_statistics iwstats; /* 14312 32*/ /* --- cacheline 224 boundary (14336 bytes) was 8 bytes ago --- * */ int pid; /* 14344 4*/ /* XXX 4 bytes hole, try to pack */ struct work_struct wkFilterRxFF0; /* 14352 32*/ u8 blnEnableRxFF0Filter; /* 14384 1*/ /* XXX 3 bytes hole, try to pack */ spinlock_t lockRxFF0Filter; /* 14388 4*/ const struct firmware * fw; /* 14392 8*/ /* --- cacheline 225 boundary (14400 bytes) --- */ struct usb_interface * pusb_intf; /* 14400 8*/ struct mutex mutex_start; /* 14408 40*/ /* XXX last struct has 4 bytes of padding */ struct completion rtl8712_fw_ready; /* 14448 32*/ /* --- cacheline 226 boundary (14464 bytes) was 16 bytes ago --- * */ /* size: 14480, cachelines: 227, members: 40 */ /* sum members: 14451, holes: 7, sum holes: 29 */ /* paddings: 1, sum paddings: 4 */ /* last cacheline: 16 bytes */ }; Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7c42826f9afb017ee8927cfdc9c85f2e6d7bf0c Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Mon Feb 23 08:42:56 2015 +0200 Staging: rtl8712: replace memcpy() by ether_addr_copy() using coccinelle and pack variable This patch focuses on fixing the following warning generated by checkpatch.pl for the file rxtx.c Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) @@ expression e1, e2; @@ - memcpy(e1, e2, ETH_ALEN); + ether_addr_copy(e1, e2); struct _adapter { struct dvobj_priv dvobjpriv; /* 0 40*/ struct mlme_priv mlmepriv; /* 40 1560*/ /* --- cacheline 25 boundary (1600 bytes) --- */ struct cmd_priv cmdpriv; /* 1600 136*/ /* --- cacheline 27 boundary (1728 bytes) was 8 bytes ago --- */ struct evt_priv evtpriv; /* 1736 96*/ /* --- cacheline 28 boundary (1792 bytes) was 40 bytes ago --- * */ struct io_queue * pio_queue; /* 1832 8*/ struct xmit_priv xmitpriv; /* 1840 912*/ /* --- cacheline 43 boundary (2752 bytes) --- */ struct recv_priv recvpriv; /* 2752 1088*/ /* --- cacheline 60 boundary (3840 bytes) --- */ struct sta_priv stapriv; /* 3840 672*/ /* --- cacheline 70 boundary (4480 bytes) was 32 bytes ago --- * */ struct security_priv securitypriv; /* 4512 4816*/ /* --- cacheline 145 boundary (9280 bytes) was 48 bytes ago --- * */ struct registry_priv registrypriv; /* 9328 968*/ /* --- cacheline 160 boundary (10240 bytes) was 56 bytes ago --- * */ struct wlan_acl_pool acl_list; /* 10296 1536*/ /* --- cacheline 184 boundary (11776 bytes) was 56 bytes ago --- * */ struct pwrctrl_priv pwrctrlpriv; /* 11832 224*/ /* --- cacheline 188 boundary (12032 bytes) was 24 bytes ago --- * */ struct eeprom_priv eeprompriv; /* 12056 508*/ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 196 boundary (12544 bytes) was 24 bytes ago --- * */ struct hal_priv halpriv; /* 12568 88*/ /* --- cacheline 197 boundary (12608 bytes) was 48 bytes ago --- * */ struct led_priv ledpriv; /* 12656 304*/ /* --- cacheline 202 boundary (12928 bytes) was 32 bytes ago --- * */ struct mp_priv mppriv; /* 12960 1080*/ /* --- cacheline 219 boundary (14016 bytes) was 24 bytes ago --- * */ s32 bDriverStopped; /* 14040 4*/ s32 bSurpriseRemoved; /* 14044 4*/ u32 IsrContent; /* 14048 4*/ u32 ImrContent; /* 14052 4*/ u8 EepromAddressSize; /* 14056 1*/ u8 hw_init_completed; /* 14057 1*/ /* XXX 6 bytes hole, try to pack */ struct task_struct * cmdThread; /* 14064 8*/ pid_t evtThread; /* 14072 4*/ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 220 boundary (14080 bytes) --- */ struct task_struct * xmitThread; /* 14080 8*/ pid_t recvThread; /* 14088 4*/ /* XXX 4 bytes hole, try to pack */ uint (*dvobj_init)(struct _adapter *); /*14096 8 */ void (*dvobj_deinit)(struct _adapter *);/* 14104 8 */ struct net_device * pnetdev; /* 14112 8*/ int bup; /* 14120 4*/ /* XXX 4 bytes hole, try to pack */ struct net_device_stats stats; /* 14128 184*/ /* --- cacheline 223 boundary (14272 bytes) was 40 bytes ago --- * */ struct iw_statistics iwstats; /* 14312 32*/ /* --- cacheline 224 boundary (14336 bytes) was 8 bytes ago --- * */ int pid; /* 14344 4*/ /* XXX 4 bytes hole, try to pack */ struct work_struct wkFilterRxFF0; /* 14352 32*/ u8 blnEnableRxFF0Filter; /* 14384 1*/ /* XXX 3 bytes hole, try to pack */ spinlock_t lockRxFF0Filter; /* 14388 4*/ const struct firmware * fw; /* 14392 8*/ u8 EepromAddressSize; /* 14056 1*/ u8 hw_init_completed; /* 14057 1*/ /* XXX 6 bytes hole, try to pack */ struct task_struct * cmdThread; /* 14064 8*/ pid_t evtThread; /* 14072 4*/ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 220 boundary (14080 bytes) --- */ struct task_struct * xmitThread; /* 14080 8*/ pid_t recvThread; /* 14088 4*/ /* XXX 4 bytes hole, try to pack */ uint (*dvobj_init)(struct _adapter *); /*14096 8 */ void (*dvobj_deinit)(struct _adapter *);/* 14104 8 */ struct net_device * pnetdev; /* 14112 8*/ int bup; /* 14120 4*/ /* XXX 4 bytes hole, try to pack */ struct net_device_stats stats; /* 14128 184*/ /* --- cacheline 223 boundary (14272 bytes) was 40 bytes ago --- * */ struct iw_statistics iwstats; /* 14312 32*/ /* --- cacheline 224 boundary (14336 bytes) was 8 bytes ago --- * */ int pid; /* 14344 4*/ /* XXX 4 bytes hole, try to pack */ struct work_struct wkFilterRxFF0; /* 14352 32*/ u8 blnEnableRxFF0Filter; /* 14384 1*/ /* XXX 3 bytes hole, try to pack */ spinlock_t lockRxFF0Filter; /* 14388 4*/ const struct firmware * fw; /* 14392 8*/ /* --- cacheline 225 boundary (14400 bytes) --- */ struct usb_interface * pusb_intf; /* 14400 8*/ struct mutex mutex_start; /* 14408 40*/ /* XXX last struct has 4 bytes of padding */ struct completion rtl8712_fw_ready; /* 14448 32*/ /* --- cacheline 226 boundary (14464 bytes) was 16 bytes ago --- * */ /* size: 14480, cachelines: 227, members: 40 */ /* sum members: 14451, holes: 7, sum holes: 29 */ /* paddings: 1, sum paddings: 4 */ /* last cacheline: 16 bytes */ }; Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da07768909319820703e7a6729fbda8682040ceb Author: Gamze POLAT <gamzepolat94@xxxxxxxxx> Date: Fri Feb 20 22:42:17 2015 +0200 staing: rtl8712: else after return or break warning This patch fixes checkpatch.pl warning. WARNING: else is not generally useful after a break or return Signed-off-by: Gamze POLAT <gamzepolat94@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 352e579da8c9253b4cdf6d3135c6fe909a1b1f5e Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Feb 24 22:21:12 2015 +0100 Staging: rtl8192u: Simplify if condition Remove unnecessary TRUE statement. Field bMediaConnect is of bool type, so such change is correct. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72b16fe3f1a0f50db8dd9c80ea4eb7736f2a66ed Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Feb 24 21:54:08 2015 +0100 Staging: rtl8192u: Simplify if condition. Remove unnecessary TRUE statement. Fields bDynamicTxLowPower and bDynamicTxHighPower are of bool type so such change is correct. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff757c8a269b941b28ffc5c19273c284955267f5 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Mon Feb 23 20:15:48 2015 +0100 Staging: rtl8192u: Convert comments from C99 to C89 style Kernel style for comments is C89 style. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a064d27a5bff8aa142cbe2da1f0f0a008ef7988a Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Sun Feb 22 22:11:20 2015 +0530 staging: rtl8192u: Remove unnecessary comment The <linux/config.h> header file is not used anymore, so it is commented out in this file.This patch deletes that unnecessary comment. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f79483ea0b7723d3402c24a156610d79dc279b94 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Feb 23 03:10:57 2015 +0530 staging: rtl8192u: Remove commented header. This patch removes the commented header <linux/config.h> as it is not used in modern linux systems. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45466a5c933fd0d2c3278957de8067133f186732 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Feb 23 03:11:34 2015 +0530 staging: rtl8192u: Remove commented header. This patch removes the commented header <linux/config.h> as it is not used in modern linux systems. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ea8b64d3b6da711f415cc01454dcc1d6924ee8b Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Feb 23 03:11:59 2015 +0530 staging: rtl8192u: Remove commented header. This patch removes the commented header <linux/config.h> as it is not used in modern linux systems. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 609de3ae934edbd996af73436fc7509161010b02 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Feb 23 03:12:52 2015 +0530 staging: rtl8192u: Remove commented header. This patch removes the commented header <linux/config.h> as it is not used in modern linux systems. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5e339655a0b1c85df30fb7ca8aacfa11ce8d6a1 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Feb 23 03:13:15 2015 +0530 staging: rtl8192u: Remove commented header. This patch removes the commented header <linux/config.h> as it is not used in modern linux systems. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97567a9064086043f5a6860ab8a5f6df80911fa1 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sun Feb 22 17:22:51 2015 +0100 Staging: rtl8192u: Remove trailing whitespace. This patch removes whitespace at the end of the line. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6205895296ff6fc0f593cce937a45ff461b016ef Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sun Feb 22 14:50:06 2015 +0200 Staging: rtl8192u: Fix do not use // c99 comments. This patch fixes "do not use // C99 comments" errors in ieee80211_module.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6413982b48658b025ca3879fdcf7c0d080c9e7e Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Feb 21 21:16:34 2015 +0200 Staging: rtl8192u: Remove space before ',' This patch fixes checkpatch.pl error in file r8190_rtl8256.h ERROR: space prohibited before that ',' (ctx:WxW) Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36f7c381d3c3cf5dc2b4e9a1155a8f121a0158b1 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Feb 21 21:03:23 2015 +0200 Staging: rtl8192u: Fix do not use // c99 comments. This patch fixes "do not use // C99 comments" errors in r8190_rtl8256.h Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb99f8741d03cde77ad200583eb747d729295a71 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Feb 21 12:24:38 2015 +0100 Staging: rtl8192u: Replace printk() with pr_debug() and netdev_dbg(). For dynamic debugging pr_debug() or netdev_dbg (if there is a ponter to a device net structure) is preferred over printk(), which is the raw way to print something. Issue found by checkpatch.pl. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf1c66e8158d36daf1598b9350a10b7a235252fa Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Feb 20 22:54:27 2015 +0100 Staging: rtl8192u: Remove else after return This patch simplifies the code by removing else and fixes the following checkpatch.pl warning: "else is not useful after break or return". Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3033669eb2606c705b09b5bbcadcfca1108f6947 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Feb 20 22:26:57 2015 +0100 Staging: rtl8192u: Replace header files Files <asm/string.h> and <asm/errno.h> should not be included directly. This patch fixes the following checkpatch.pl warnings: Use #include <linux/errno.h> instead of <asm/errno.h> Use #include <linux/string.h> instead of <asm/string.h> Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98bedd77dc99a1eb835ab527ce5c74b09a0f4d88 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Feb 19 23:05:20 2015 +0100 Staging: rtl8192u: Remove space before tab This patch fixes the checkpatch.pl warning: WARNING: "please, no space before tabs" Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0487a7c7304536527095f9999ee18c76a6006d7 Author: Gamze POLAT <gamzepolat94@xxxxxxxxx> Date: Thu Feb 19 10:43:07 2015 +0200 Staging: dgnc: Removed trailing whitespace Removed trailing whitespaces to improve code readability and remove checkpatch warning. Signed-off-by: Gamze POLAT <gamzepolat94@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d2b3cf7cfb328cc494cc4775c60bbf5f2fa2ce2 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 08:00:56 2015 +0200 staging: slicloss: replace init_timer by setup_timer This patch replaces init_timer and the 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... ( -ds.function = e1; ... -ds.data = e2; | -ds.data = e2; ... -ds.function = e1; ) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fde58bb43512fc283ea76e90d20198da177fb69 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 07:59:51 2015 +0200 staging: rtl8192u: ieee80211: replace init_timer by setup_timer This patch replaces init_timer and the 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... ( -ds.function = e1; ... -ds.data = e2; | -ds.data = e2; ... -ds.function = e1; ) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f6e36c55a7fc445c584711ff8eea9261f1285cb Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 07:58:29 2015 +0200 staging: panel: replace init_timer by setup_timer This patch replaces init_timer and the 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... ( -ds.function = e1; ... -ds.data = e2; | -ds.data = e2; ... -ds.function = e1; ) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38e0c9d27a5695f9ad92a6f98ee43b5811491f40 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 07:57:25 2015 +0200 staging: dgnc: replace init_timer by setup_timer This patch replaces init_timer and the 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... ( -ds.function = e1; ... -ds.data = e2; | -ds.data = e2; ... -ds.function = e1; ) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f83aeda567a9f5347153fb21f29e0b09b3aa83a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 07:55:43 2015 +0200 staging: wlan-ng: replace init_timer by setup_timer This patch replaces init_timer and the 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... ( -ds.function = e1; ... -ds.data = e2; | -ds.data = e2; ... -ds.function = e1; ) Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e469616ba6d48d1ee157062a0b5c2580d8edf9c0 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Feb 26 01:04:47 2015 +0200 Staging: fbtft: removed trailing whitespace The following patch fixes the checkpatch.pl warning: Removed all trailing whitespace in fb_s6d1121.c Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e64e00473ba50479aac300fc76ed72f08b15410e Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 19 21:18:18 2015 +0200 Staging: fbtft: Convert comment from C99 style to C89 style This patch fixes checkpatch.pl error ERROR: do not use C99 // comments Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6935e2911ab64d0687e8a495a48ef2a1205b582 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 19 20:56:48 2015 +0200 Staging: fbtft: remove trailing whitespace This patch fixes checkpatch.pl error trailing whitespace. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54a8de19a004fe62bebf84837906adcf346fcd2d Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 19 20:42:43 2015 +0200 Staging: fbtft: Added blank line after declaration WARNING: Missing a blank line after declaration chackpatch.pl warning in fb_ssd1351.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2fad972d45c4b758763beef2860c83c2ab7ed573 Author: Tushar Behera <tushar.b@xxxxxxxxxxx> Date: Fri Feb 27 06:08:52 2015 +0900 ARM: dts: Add mclk entry for Peach boards On Peach Pit and Pi boards, the Exynos SoC XCLKOUT pin provides master clock (mclk) to the codec. So make it a clock consumer. Signed-off-by: Tushar Behera <tushar.b@xxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 3cb18180e8e06dea06cd2b601895f42beaf00052 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Feb 27 06:08:51 2015 +0900 ARM: dts: Add WiFi module support for Peach boards Peach Pit and Pi boards have a WiFi module that is always powered but needs toggling an enable pin and ungating a 32kHz reference clock as part of their power sequencing. Add a dev node for the SDIO slot and a MMC power sequence provider. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit af6ad88acbd66ddfe31066ebcf1e02f848ec406c Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Fri Feb 27 06:08:51 2015 +0900 ARM: dts: Mux XMMCnDATA[0] pad correctly for Exynos5420 boards The Exynos5420 SoC has 3 sets of 8 pads used as data lines for the 3 MMC/SD/SDIO slots. These needs to be muxed as SD_n_DATA instead of a GPIO or external interrupt to allow the MMC controller to communicate with the attached cards or SDIO devices. Which data lines needs to be muxed as SD_n_DATA depends on the bus width used for data transfer: * bus-width = <1> needs SD_n_DATA[0] * bus-width = <4> needs SD_n_DATA[0-3] * bus-width = <8> needs SD_n_DATA[0-7] The Exynos5250-pinctrl.dtsi file that defines the groups of pins has SD_n_DATA[0] muxed for both sdn_bus1 and sdn_bus4 so just one of them needs to be included in the device node's pinctrl property. But Exynos5420-pinctrl has a different definition and only includes SD_n_DATA[1-3] for sdn_bus4. So for a bus-width = <4>, both sdn_bus1 and sdn_bus4 have to be in the dev pinctrl to mux all the needed pads. It seems all Exynos5420 boards had just cargo cult the pinctrl lines assuming that sdn_bus4 also included SD_n_DATA[0] and it only works because the bootloader muxes the pads correctly. But that is not the case for the devices not used by the bootloader such as WiFi modules. Add sdn_bus1 too in the nodes pinctrl to not rely on the bootloader. Suggested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 9247a2a150728f6525bb177cc146b523befdcb7a Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 19 19:50:50 2015 +0200 Staging: fbtft: Added blank line after declaration WARNING: Missing a blank line after declaration chackpatch.pl warning in fb_ili9320.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73762b9dcb8398b00cda5af9bb36ed80504f9ef5 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 05:02:24 2015 +0200 staging: fbtft: fix spacing errors This patch fixes the following checkpatch.pl errors: space prohibited before that ',' space required after that ',' spaces required around that '=' Given that the addition of spaces triggered the line over 80 characters warning, some lines were divided into two. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e059db65515c0c11aac3d036745c621b7a2567c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:56:50 2015 +0200 staging: fbtft: fix space prohibited before that ',' This patch fixes the following checkpatch.pl error: fix space prohibited before that ',' Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f8a89e6e7580ecfde4b249dde197de761ad96fb Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:55:45 2015 +0200 staging: fbtft: fix space required after that ',' This patch fixes the following checkpatch.pl error: space required after that ',' Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0728b01c6b3259b9d6f48885608e0f30a5908b20 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:50:25 2015 +0200 staging: fbtft: fix braces {} are not necessary for single statement blocks This patch fixes the following checkpatch.pl warning: braces {} are not necessary for single statement blocks Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bedc844d82336668dbb8835389cdc0df93048d0b Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:48:34 2015 +0200 staging: fbtft: fix space prohibited before that ',' This patch fixes the following checkpatch.pl error: space prohibited before that ',' Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d1d0a38bd7f0ee22081beabb2baac89ce6a4e58 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:53:59 2015 +0200 staging: fbtft: fix braces {} are not necessary for single statement blocks This patch fixes the following checkpatch.pl warning: braces {} are not necessary for single statement blocks Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b124fee6576d6f5a2193e3b3a09e183eef23078a Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:45:22 2015 +0200 staging: fbtft: fix code indent should use tabs where possible This patch fixes the following checkpatch.pl error: code indent should use tabs where possible Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6736415f057cd64ae86e9577e594dc1f0ad86f1 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 26 09:52:08 2015 +0200 Staging: rtl8723au: Add blank line after declarations WARNING: "Missing a blank line after declarations" Add blank line after declarations. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab4f931f3173dc1250c29a1e0367f92dfbe88a27 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 26 09:52:07 2015 +0200 Staging: rtl8723au: Remove return in void function WARNING: void function return statements are not generally useful Remove return in void function. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef37b77ef629e1219205aca8748233560725c0ea Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 26 08:51:03 2015 +0200 Staging: rtl8723au: Tabs should be used WARNING: please, no spaces at the start of a line That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b7176e7a3224942cd144a81a023f5d25e29498f Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 26 00:08:21 2015 +0200 Staging: rtl8723au: remove unnecessary break after return WARNING: break is not useful after a goto or return. Remove unnecessary break after return. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62e9a35ffa90bad5e724fdeef8e470b45a16184d Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Wed Feb 25 23:26:21 2015 +0200 Staging: rtl8723au: Remove return in void function WARNING: void function return statements are not generally useful Remove return in void function. That was found by running checkpatch. Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91701e44261c13123ec931173ac1e29a7cd8f939 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Tue Feb 24 15:14:26 2015 +0200 Staging: rtl8723au: Add blank line after declarations The following patch fixes the checkpatch.pl warning: drivers/staging/rtl8723au/core/rtw_ap.c WARNING: Missing a blank line after declarations Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d59efcb10676aacb5dea5ccdf407532548d8176 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sun Feb 22 00:12:35 2015 +0200 Staging: rtl8723au: core: Fix quoted string split across lines This patch fixes "quoted string split across lines warning" warning in rtw_ap.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5e38b10e42a14d78ebb92172dada4af328e64ad Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Feb 20 14:18:45 2015 +0530 Staging: rtl8723au: Use put_unaligned_le16 Using byte ordering functions and then memcpy() is risky and prone to hide errors which are hard to track down. So, this patch introduces the use of function put_unaligned_le16 which makes the code clear. Here, use of variable tim_bitmap_le and variable itself is removed. Also, to be compatible with the changes header file is added too. Coccinelle is used to do this change and semantic patch used for this is as follows: @a@ typedef __le16; __le16 e16; identifier tmp; expression ptr; expression y,e; type T; @@ - tmp = cpu_to_le16(y); <+... when != tmp ( - memcpy(ptr, (T)&tmp, \(2\|sizeof(__le16)\|sizeof(e16)\)); + put_unaligned_le16(y,ptr); | - memcpy(ptr, (T)&tmp, ...); + put_unaligned_le16(y,ptr); ) ...+> ? tmp = e @@ type T; identifier a.tmp; @@ - T tmp; ...when != tmp Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24f455236db580901c053357c553f3e86b592692 Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Date: Wed Feb 18 00:21:25 2015 +0300 Staging: rts5208: Remove braces around single if-statement This patch removes unneeded braces around a single if-statement. This problem was found using checkpatch.pl. Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e790d442b05518dab79135203a1a1b580959b1c9 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 26 18:14:02 2015 +0530 Staging: rtl8188eu: Replace if-else block with switch-case Replace if-else block with switch-case to make it more compact and increase readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 294a7fcc85f5fbfdec782c5fad590b49735a35c4 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 26 23:05:11 2015 +0530 Staging: rtl8188eu: Refactor conditional code to increase readability Remove the nested conditionals. The if and else-if have the same code so they are combined to make the code more compact. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ceb7f723372336f4d9e1ccfe7697a08eff2860f Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 26 23:47:39 2015 +0530 Staging: rtl8188eu: Combine two loops to increase readability The first loop assigns values to ofdm_index array and the second checks for boundary conditions. They are combined and a comment is added to increase clarity. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d6871f8dc2351f8fdb9cc47a6ef2b3b189ed640 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Fri Feb 27 01:39:32 2015 +0530 Staging: rtl8188eu: Remove unnecessary if condition Remove this branch as is2t is defined false and is not modified. The variable value32 is then unused. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ed83e995e17f8ef5688a7a597943a9ef88362c3 Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Wed Feb 25 07:41:14 2015 -0800 Staging: rtl8188eu: Remove unused macros Removes macro definitions that are unused elsewhere Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 065be69f262ab24ce6ece597046e637ea5530da2 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 23 14:46:13 2015 +0530 Staging: rtl8188eu: Remove unnecessary variable Remove unnecessary variable and replace its uses with previously defined variable. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c3fa640387e70b31cd1aee098f76559e50afe95 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 23 23:40:27 2015 +0530 Staging: rtl8188eu: Refactored code to increase readility Refactored the conditional code to make it more compact. Replaced the ternary operators with abs() macro to increase readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5dd06ea01807a6d32af1eb53f10ff5e08532e29 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Tue Feb 24 00:06:14 2015 +0530 Staging: rtl8188eu: Replace ternary operator with existing macro Replace ternary operator with existing abs() macro to increase code readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e2c69b62d700a3d813ddc82fc9fe538460bc4a7 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 26 18:31:52 2015 +0530 Staging: rtl8188eu: Remove redundant if condition Remove redundant if condition as !result is always false. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1068fb676aaed35c30b96f6327d97e99d1be88b2 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Tue Feb 24 00:32:44 2015 +0200 Staging: rtl8188eu: Add blank line after declarations WARNING: "Missing a blank line after declarations" That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a11176e65b8727158bc355ca0cb00bf70cd69e48 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:25 2015 +0900 ARM: S3C24XX: avoid a Kconfig warning The PM_H1940 symbol is used by two platforms: RX3715 and RX1950. However, it is hidden inside of the the CPU_S3C2410 conditional, which is only set by one of them, so we get a lot of randconfig warnings like warning: (MACH_RX3715 && MACH_RX1950) selects PM_H1940 which has unmet direct dependencies (ARCH_S3C24XX && CPU_S3C2410) This moves it outside of the conditional to remove the warnings. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 1fe054e71a895c682f1cd36071ff3fd0c7bc9cff Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:23 2015 +0900 ARM: S3C24XX: fix header file inclusions The pm-core.h file does not include all the necessary headers, and has a static declaration for a function that is not defined in the same file, causing SAMSUNG_PM_DEBUG to break on s3c24xx: arch/arm/mach-s3c24xx/include/mach/pm-core.h:50:91: warning: 's3c_pm_show_resume_irqs' used but never defined arch/arm/mach-s3c24xx/include/mach/pm-core.h: In function 's3c_pm_debug_init_uart': arch/arm/mach-s3c24xx/include/mach/pm-core.h:16:34: error: 'S3C2410_CLKCON' undeclared (first use in this function) unsigned long tmp = __raw_readl(S3C2410_CLKCON); ^ This moves the code around slightly to avoid the errors. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 4f506daf0e6c094d2f28253d4044e9adc9461142 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:22 2015 +0900 ARM: S3C24XX: fix building without PM_SLEEP We get lots of link errors based on the assumption that any s3c24xx kernel would enable CONFIG_PM_SLEEP if it enables CONFIG_PM. This tries to clean that up. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ea8d33ad32f9670fe55c99478e666805efc6452b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:22 2015 +0900 ARM: S3C24XX: use SAMSUNG_WAKEMASK for s3c2416 Both s3c2412 and s3c2416 use the s3c2412_pm_prepare code, which depends on the common wakemask code, but only s3c2412 currently selects the code, leading to a build error for an s3c2416-only kernel. arch/arm/mach-s3c24xx/built-in.o: In function `s3c2412_pm_prepare': :(.text+0x240): undefined reference to `samsung_sync_wakemask' arch/arm/mach-s3c24xx/built-in.o:(.data+0xeb0): undefined reference to `s3c2412_subsys' This adds the missing select. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 19c69dafad673f342b8eb9dbc6a1ac9fa38b4f9f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:22 2015 +0900 ARM: S3C64XX: fix __initdata section mismatch smdk6410_b_pwr_5v_data is marked as __initdata, but referenced from a structure that is not: WARNING: arch/arm/mach-s3c64xx/built-in.o(.data+0x4c5c): Section mismatch in reference from the variable smdk6410_b_pwr_5v_data to the (unknown reference) .init.data:(unknown) This removes the annotation to avoid an invalid pointer access when the regulator driver accesses this variable. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 484c213b106c2b9188744666693d57bb9fd5affe Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:22 2015 +0900 ARM: S3C64XX: fix building without CONFIG_PM_SLEEP arch/arm/mach-s3c64xx/built-in.o: In function `s3c_pm_restore_core': :(.text+0x5d0): undefined reference to `s3c_pm_do_restore_core' :(.text+0x5d4): undefined reference to `s3c_pm_do_restore' arch/arm/mach-s3c64xx/built-in.o: In function `s3c_pm_save_core': :(.text+0x60c): undefined reference to `s3c_pm_do_save' arch/arm/mach-s3c64xx/built-in.o: In function `s3c64xx_irq_pm_resume': :(.text+0x670): undefined reference to `s3c_pm_do_restore' arch/arm/mach-s3c64xx/built-in.o: In function `s3c64xx_irq_pm_suspend': :(.text+0x6d8): undefined reference to `s3c_pm_do_save' arch/arm/mach-s3c64xx/built-in.o: In function `s3c_cpu_resume': :(.text+0x71c): undefined reference to `cpu_resume' Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 261592e6b804c288d2010e98ee100548dbe91c06 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Feb 27 05:50:21 2015 +0900 ARM: S3C64XX: add I2C dependencies where needed The SMDK6410_WM1190_EV1 and SMDK6410_WM1192_EV1 add-on cards select MFD_WM*_I2C, but they ignore the fact that I2C may be compiled as a loadable module. This patch adds a dependency on I2C, which means we avoid the build errors, but can end up in a case where the options are hidden from the user when I2C is turned off. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Ben Dooks <ben-linux@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 93ab486d3f2f87118c5a268a9ceeaf8721bfcb1b Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 23 19:32:38 2015 +0530 Staging: rtl8188eu: Changed array and loop construct This function only required the array from the 14th element onwards. Therefore, the array size is reduced and the loop counter is modified so as to start from 0. Also, the assignment of variable place is redundant as it is initialized again in the loop. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efb8d497941fc2f97d87da65dfa93b7df620143a Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 23 14:41:07 2015 +0530 Staging: rtl8188eu: Replace unneeded switch-case block Replace switch-case block with single if statement to increase code readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9734d632bb5d05723b675643ff5f5da1fdb3ac2a Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 23 14:20:30 2015 +0530 Staging: rtl8188eu: Remove unnecessary variable Remove unneccessary variable and replace its uses with another variable which is previously defined. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3da741ff942d48ea33608fce6ca16ff67a0b61c8 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Sun Feb 22 18:07:33 2015 +0530 Staging: rtl8188eu: Fix line over 80 characters Added a variable to reduce line size and enhance code readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4504a1519544f40675fccbe0d93e993cbb04f06 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Feb 20 14:18:37 2015 +0530 Staging: rtl8188eu: Use put_unaligned_le16 Using byte ordering functions and then memcpy() is risky and prone to hide errors which are hard to track down. So, this patch introduces the use of function put_unaligned_le16 which makes the code clear. Here, use of variable tim_bitmap_le and variable itself is removed. Also, to be compatible with the changes header file is added too. Coccinelle is used to do this change and semantic patch used for this is as follows: @a@ typedef __le16; __le16 e16; identifier tmp; expression ptr; expression y,e; type T; @@ - tmp = cpu_to_le16(y); <+... when != tmp ( - memcpy(ptr, (T)&tmp, \(2\|sizeof(__le16)\|sizeof(e16)\)); + put_unaligned_le16(y,ptr); | - memcpy(ptr, (T)&tmp, ...); + put_unaligned_le16(y,ptr); ) ...+> ? tmp = e @@ type T; identifier a.tmp; @@ - T tmp; ...when != tmp Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78f5d8f9f98fdc4df86b5d0002c55fd270f36b43 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Feb 20 12:58:50 2015 +0530 Staging: rtl8188eu: Remove unused struct ndis_802_11_key This patch removes struct ndis_802_11_key as it is defined in a header file but never used. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a9bdd689c12d09fe2554947b053f8964e28e440 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 21:14:41 2015 +0200 staging: comedi: drivers: replace init_timer by setup_timer This patch replaces init_timer and 2 step initialization of function and data by setup_timer to make the code more concise. The issue was discovered using the following coccinelle script: @@ expression ds, e1, e2; @@ -init_timer (&ds); +setup_timer (&ds, e1, e2); ... -ds.function = e1; ... -ds.data = e2; Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4c2c314c140611f3f9c1496a60e55174ba96da7 Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Wed Feb 18 18:05:40 2015 -0800 Staging: media: mn88473: Match alignment with open parenthesis Fixes the checkpatch.pl Check: CHECK: Alignment should match open parenthesis Increases readability by standardizing 7 argument indentations Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b856e0f7b2727e6de293a67e71a1ddec8648fa64 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 18 22:22:38 2015 +0530 Staging: media: Change data value in setup_timer function Here, data value 0xabadcafe in function setup_timer seems like a nonsense value and timer handler function is not using it anyway. So, change it to 0. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08e28893b3886e7f2a2b77adcbdb2bfa91301d3a Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 18 22:22:29 2015 +0530 Staging: media: lirc: Use setup_timer This patch introduces the use of function setup_timer instead of structure assignments as it is the preferred way to setup and set the timer. This is done using Coccinelle and semantic patch used is as follows: @@ expression x,y,z; @@ - init_timer (&x); + setup_timer (&x, y, z); - x.function = y; - x.data = z; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96748c9635d736cceb1ba0ad4fd66857f1d5aef5 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Feb 26 01:26:36 2015 +0200 Staging: i2o: Add blank line This patch fixes the checkpatch.pl warning: WARNING: "Missing a blank line after declarations" Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbd8e0863a0ab335b9cce2aa9e7471e3895764f4 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Feb 26 01:45:36 2015 +0200 Staging: i2o: Removed unnecessary braces The following patch fixes the checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e0e76508c55eac8475735b1ae79d41288edda94 Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 00:10:21 2015 +0200 Staging: i2o: Remove unnecessary braces Brackets were removed from the expression that containing single statement. Removed following checkpatch.pl warnings: 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 924954f12448249756ccbc45ba1e5e53bf9cfaee Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 26 00:10:20 2015 +0200 Staging: i2o: Remove unnecessary 'out of memory' message This patch removes unnecessay out of memory message fixing the following checkpach.pl warning in device.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30463dcfa2c19d72b6ebdd4073abbe65531656a2 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 20 03:44:31 2015 +0200 staging: i2o: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> This patch fixes the following checkpatch.pl warning: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c4550aff76cb7f1deb86b67041d4c77001bcc8c Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Fri Feb 20 03:43:52 2015 +0200 staging: i2o: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> This patch fixes the following checkpatch.pl warning: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0a6fb6624964c9df17e1519d98c6609e7604be9 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 19 01:19:16 2015 +0530 Staging: i2o: Join quoted string split across lines This patch removes the checkpatch.pl warnings "quoted string split accross lines" Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e95ff88fe26fdbdce5679339b87641ec43175cf Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Thu Feb 19 00:22:24 2015 +0530 Staging: i2o: Remove space after the * in a pointer type variable This patch is to remove space after the * in pointer type function parameters in function prototype and definition to follow kernel coding conventions. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e267cc5e48fbc1acba6f0b0dd7e6871f2733a8fc Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Feb 18 03:52:07 2015 +0530 Staging: i2o: Convert comment from C99 style to C89 style This patch fixes checkpatch.pl error in debug.c ERROR: do not use C99 // comments Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f643bad17fde32dcc4700801a97f147aa3cb3977 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Wed Feb 18 03:07:20 2015 +0530 Staging: i2o: Use preferred library linux/uaccess.h over asm/uaccess.h This patch fixes checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" in i2o/config-osm.c . Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1aba012174629ecc8088979de6d45e09cf6ab88d Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Feb 22 15:27:56 2015 +0200 Staging: vt6656: replace memcpy() by ether_addr_copy() using coccinelle and pack variable This patch focuses on fixing the following warning generated by checkpatch.pl for the file rxtx.c Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) @@ expression e1, e2; @@ - memcpy(e1, e2, ETH_ALEN); + ether_addr_copy(e1, e2); According to ether_addr_copy() description and functionality, all Ethernet addresses should align to the u16 datatype. The changes were applied using the following coccinelle rule: Here is the output of pahole for the relevant datastructures: struct vnt_usb_send_context { void * priv; /* 0 8*/ struct sk_buff * skb; /* 8 8*/ struct urb * urb; /* 16 8*/ struct ieee80211_hdr * hdr; /* 24 8*/ unsigned int buf_len; /* 32 4*/ u32 frame_len; /* 36 4*/ u16 tx_hdr_size; /* 40 2*/ u16 tx_rate; /* 42 2*/ u8 type; /* 44 1*/ u8 pkt_no; /* 45 1*/ u8 pkt_type; /* 46 1*/ u8 need_ack; /* 47 1*/ u8 fb_option; /* 48 1*/ bool in_use; /* 49 1*/ unsigned char data[2900]; /* 50 2900*/ /* --- cacheline 46 boundary (2944 bytes) was 6 bytes ago --- */ /* size: 2952, cachelines: 47, members: 15 */ /* padding: 2 */ /* last cacheline: 8 bytes */ }; struct ieee80211_key_conf { u32 cipher; /* 0 4*/ u8 icv_len; /* 4 1*/ u8 iv_len; /* 5 1*/ u8 hw_key_idx; /* 6 1*/ u8 flags; /* 7 1*/ s8 keyidx; /* 8 1*/ u8 keylen; /* 9 1*/ u8 key[0]; /* 10 0*/ /* size: 12, cachelines: 1, members: 8 */ /* padding: 2 */ /* last cacheline: 12 bytes */ }; struct vnt_mic_hdr { u8 id; /* 0 1*/ u8 tx_priority; /* 1 1*/ u8 mic_addr2[6]; /* 2 6*/ u8 ccmp_pn[6]; /* 8 6*/ __be16 payload_len; /* 14 2*/ __be16 hlen; /* 16 2*/ __le16 frame_control; /* 18 2*/ u8 addr1[6]; /* 20 6*/ u8 addr2[6]; /* 26 6*/ u8 addr3[6]; /* 32 6*/ __le16 seq_ctrl; /* 38 2*/ u8 addr4[6]; /* 40 6*/ u16 packing; /* 46 2*/ /* size: 48, cachelines: 1, members: 13 */ /* last cacheline: 48 bytes */ }; Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34c3a15061af61d73f90aa7d87e8531550878ddd Author: Hatice ERTÃ?RK <haticeerturk27@xxxxxxxxx> Date: Sat Feb 21 22:37:16 2015 +0200 Staging: vt6655: changed C99 // comments // erased and replace it with /* */ used. Error found with checkpatch.pl Signed-off-by: Hatice ERTURK <haticeerturk27@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d36302448dde607faac07f76d9da92654404981 Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Fri Feb 20 14:51:02 2015 -0800 Staging: vt6655: break lines over 80 characters Addresses checkpatch.pl warning: WARNING: line over 80 characters Break 2 lines over 80 characters and align with opening parenthesis Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0cc5a4f9d5d7389cc01ee676adbb45bcbd77228c Author: Katie Dunne <kdunne@xxxxxxxxxxxxx> Date: Thu Feb 19 15:43:12 2015 -0800 Staging: vt6655: Replace C99 comments with C89 Addresses the checkpatch.pl error: ERROR: Do not use C99 // comments Remove an unneeded comment line Replace C99 comments with C89 Reduce multiple line comments to one line Shorten comments over 80 line by removing blank space Signed-off-by: Katie Dunne <kdunne@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6341898323d3a671e766e229fd7d0c90117dfa2f Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Sun Feb 22 12:18:04 2015 +0200 Staging: lustre: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' Remove unnecessary space between function name and opening parenthesis. That was found by running checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f211c20faec32fa3803bdee97406355eb4b9be9 Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Feb 21 23:23:24 2015 +0200 Staging: lustre: Removed unnecessary spaces Fix checkpatch.pl issues with "unnecessary whitespace before a quoted newline" in llite_lib.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 692f2b6cc298b86b9386bb26ea457aae957cc6ff Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Feb 21 22:47:43 2015 +0200 Staging: lustre: use kstrtoul() instead of sscanf() This patch makes checkpatch.pl by fixing the following warning: WARNING: Prefer kstrto<type> to single variable sscanf. I used to kstrtoul can convert unsigned long instead of sscanf Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99d08456b3937cb32245e4f4d35a5469cf12d280 Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Feb 21 23:19:46 2015 +0200 Staging: lustre: Removed unnecessary braces This patch fixes checkpatch.pl warning in llite_lib.c WARNING: braces {} are not necessary for any arm of this statement Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e17f5594d59d9140ee12fcfe6b8f63de2b1574cc Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Feb 20 23:51:38 2015 +0200 Staging: lustre: Edit switch-case indent This patch fixes indent as the codingStyle of the kernel recommends in dir.c Fix checkpatch.pl error: ERROR: switch and case should be at the same indent. Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7979219006690da703dd7f08ec7cbc03dfeb984c Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Feb 20 23:51:37 2015 +0200 Staging: lustre: Add blank line after variable declarations This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in dir.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31982482c066eb4fdb06ff65d4c7fd059422099b Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Feb 20 23:51:36 2015 +0200 Staging: lustre: Used "linux" instead of "asm" This patch fixes "Use #include <linux/uaccess.h> instead of <asm/uaccess.h"> checkpatch.pl warning in dir.c Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17155544f6f03a7846f5c78a9668a41b28eb9452 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 05:08:05 2015 +0200 staging: lustre: lnet: klnds: o2iblnd: Removed useless return keywords. Removed return keyword from void functions. Removed following checkpatch.pl warnings: WARNING: void function return statements are not generally useful Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2ff386821d929ddf7f5e8167273fbc38aa3a9ba Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 05:08:07 2015 +0200 staging: lustre: lnet: klnds: o2iblnd: Added missing blank line. Added missing blank line after declaration. Removed following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b15a85fc494d5d18fa190585f7f6db50bb054d98 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Feb 22 05:08:04 2015 +0200 staging: lustre: lnet: klnds: o2iblnd: Removed unnecessary spaces. Removed unnecessary spaces between function name and open parenthesis '('. Removed following checkpatch.pl warnings: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b656d5fd7eedf210e8166bb8c63e0ac8b157a4b5 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 20 15:35:30 2015 +0200 Staging: lustre: lnet: klnds: o2iblnd: Deleted space prohibited between function name and open parenthesis WARNING: space prohibited between function name and open parenthesis '(' checkpatch.pl warning in o2iblnd_modparams.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2aa53ff69e32ac3b53bf554bec0af88a6805b41a Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Fri Feb 20 15:23:18 2015 +0200 Staging: lustre: lnet: klnds: o2iblnd: Remove intialization of static to 0 ERROR: do not initialise statics to 0 or NULL checkpatch.pl error in o2iblnd_modparams.c initial value unassigned static variables are automatically set to zero. so it is unnecessary to assign the initial value to zero Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95c3fe337b0c9e3a848be2c2778cbe028325d633 Author: aybuke ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Feb 19 23:06:46 2015 +0200 Staging: lustre: lnet: add spaces around '||' This fixes the checkpatch.pl error in conctl.c: ERROR: spaces required around that '||' (ctx:VxE) Signed-off-by: aybuke ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d501e5641a44ac8bd4e1c2da28bf4b7fea63653f Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Feb 19 22:25:40 2015 +0200 Staging: lustre: include: linux: libcfs: Remove spaces at the start of a line This patch fixes checpatch.pl warning WARNING: please, no spaces at the start of a line Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17ca290e25e6c2056dbf8a6fe0a146c191f10689 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Feb 17 20:34:18 2015 +0200 staging: lustre: ldlm: remove commented call to LBUG This patch removes a commented call to LBUG since lustre should be cleaned out of debugging macros before moving out of staging. Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 915e8a4fe45eab871a862f6467ec7e59864735b2 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Feb 11 15:42:38 2015 +0100 rcu: Remove fastpath from __rcu_process_callbacks() The standard code path accommodates a condition when no RCU callbacks are ready to invoke. Since size of the code is a priority for tiny RCU, remove the fast path. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 27153acbe1141ceecf098ca5d24c2ae2714c1a5f Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Feb 11 15:42:37 2015 +0100 rcu: Remove unnecessary condition check in rcu_qsctr_help() When the ->curtail and ->donetail pointers differ, ->rcucblist always points to the beginning of the current list and thus cannot be NULL. Therefore, the check ->rcucblist != NULL is redundant and this commit removes it. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 675da67f24e2d6d8df0cedf12e59085ed8bbf4e7 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 23 15:57:07 2015 -0800 rcu: Fixes to NO_HZ_FULL sysidle accounting On second and subsequent passes through quiescent-state forcing, the isidle variable was initialized to false, which would prevent full sysidle state from being reached if a grace period needed more than one round of quiescent-state forcing (which most should not). However, the check for offline CPUs in the quiescent-state forcing main loop had the wrong sense, which could prevent CPUs from ever entering full sysidle state. This commit fixes both of these bugs. Given that sysidle is not yet wired up, this has no effect in old kernels, but might have proven frustrating had anyone attempted to wire it up. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c136f991049f51212e3d837a9f41708158591869 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 12:15:19 2015 -0800 rcutorture: Make consistent use of variables The "if" statement at the beginning of rcu_torture_writer() should use the same set of variables. In theory, this does not matter because the corresponding variables (gp_sync and gp_sync1) have the same value at this point in the code, but in practice such puzzles should be removed. This commit therefore makes the use of variables consistent. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ee42571f4381f184e2672dd34ab411e5bf5bd5e0 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 10:51:32 2015 -0800 rcu: Add Kconfig option to expedite grace periods during boot This commit adds a CONFIG_RCU_EXPEDITE_BOOT Kconfig parameter that emulates a very early boot rcu_expedite_gp(). A late-boot call to rcu_end_inkernel_boot() will provide the corresponding rcu_unexpedite_gp(). The late-boot call to rcu_end_inkernel_boot() should be made just before init is spawned. According to Arjan: > To show the boot time, I'm using the timestamp of the "Write protecting" > line, that's pretty much the last thing we print prior to ring 3 execution. > > A kernel with default RCU behavior (inside KVM, only virtual devices) > looks like this: > > [ 0.038724] Write protecting the kernel read-only data: 10240k > > a kernel with expedited RCU (using the command line option, so that I > don't have to recompile between measurements and thus am completely > oranges-to-oranges) > > [ 0.031768] Write protecting the kernel read-only data: 10240k > > which, in percentage, is an 18% improvement. Reported-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> commit 5afff48bdf7481570c9385a8a674a81ffb8f09ee Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 16:39:09 2015 -0800 rcu: Update from rcu_expedited variable to rcu_gp_is_expedited() This commit updates open-coded tests of the rcu_expedited variable to instead use rcu_gp_is_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4bb3c5f4142a359de46cf14ebab64c4c903d6773 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 16:31:29 2015 -0800 rcu: Add rcu_expedite_gp() and rcu_unexpedite_gp() to rcutorture Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 0d39482c3db13aae1db143d340816108dd53e443 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 12:24:30 2015 -0800 rcu: Provide rcu_expedite_gp() and rcu_unexpedite_gp() Currently, expediting of normal synchronous grace-period primitives (synchronize_rcu() and friends) is controlled by the rcu_expedited() boot/sysfs parameter. This works well, but does not handle nesting. This commit therefore provides rcu_expedite_gp() to enable expediting and rcu_unexpedite_gp() to cancel a prior rcu_expedite_gp(), both of which support nesting. Reported-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9bae6592d7d74dbb409e0dd8004f13af8b8d569e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 18 18:01:21 2015 -0800 rcu: Drive PROVE_RCU directly off of PROVE_LOCKING In the past, it has been useful to enable PROVE_LOCKING without also enabling PROVE_RCU. However, experience with PROVE_RCU over the past few years has demonstrated its usefulness, so this commit makes PROVE_LOCKING directly imply PROVE_RCU. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 1925d1967c93a1c421271aade7953f6857e9f579 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 18 17:45:05 2015 -0800 rcu: Fix a couple of typos in rcu_all_qs() comment header Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 39c8d313c3c546a414cc51b4f6571c2f8cc06407 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 20 23:42:38 2015 -0800 rcu: Avoid clobbering early boot callbacks When a CPU comes online, it initializes its callback list. This is a bad thing if this is the first time that the CPU has come online and if that CPU has early boot callbacks. This commit therefore avoid initializing the callback list if there are callbacks present, in which case the initial call_rcu() did the initialization for us. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 59f792d1ef214592ae9b86238fa8fd00f5929b76 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 21:43:40 2015 -0800 rcu: Refine diagnostics for lacking kthread for no-CBs callbacks Some diagnostics under CONFIG_PROVE_RCU in rcu_nocb_cpu_needs_barrier() assume that there can be no early-boot callbacks. This commit therefore qualifies the diagnostic with rcu_scheduler_fully_active to permit early boot callbacks to avoid this splat. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 143da9c2fc030a5774674f2ebc2f934fab3dcd9a Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 19 19:57:32 2015 -0800 rcu: Prevent early-boot RCU callbacks from splatting Currently, a call_rcu() that precedes rcu_init() will splat due to the callback lists not having yet been initialized. This commit causes the first such callback to initialize the boot CPU's RCU callback list. Note that this commit does not change rcu_init()-time initialization, which means that the callback will be discarded at rcu_init() time. Fixing this is the job of later commits. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 2723249a31a68ccc0ec8ac59a905d7f9430bf8f6 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 20 22:44:13 2015 -0800 rcu: Wire ->rda pointers at compile time This commit wires up the rcu_state structures' ->rda pointers to the per-CPU rcu_data structures at compile time, thus ensuring that this linkage is present at early boot, in turn allowing posting of callbacks before rcu_init() is executed. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d3f3f3f25b1d4ee152f3f19a812c3a282da4c120 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 18 18:21:09 2015 -0800 rcu: Abstract default callback-list initialization from init_callback_list() In preparation for early-boot posting of callbacks, this commit abstracts initialization of the default (non-no-CB) callbacks list from the init_callback_list() function into a new init_default_callback_list() function. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ff382810590e7182a1482a225965d6943e61699c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:00:06 2015 -0800 documentation: Clarify control-dependency pairing This commit explicitly states that control dependencies pair normally with other barriers, and gives an example of such pairing. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> commit daf1aab9acfaaded09f53fa91dfe6e4e6926ec39 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 2 08:08:25 2015 -0800 documentation: Clarify memory-barrier semantics of atomic operations All value-returning atomic read-modify-write operations must provide full memory-barrier semantics on both sides of the operation. This commit clarifies the documentation to make it clear that these memory-barrier semantics are provided by the operations themselves, not by their callers. Reported-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f1360570f420b8b122e7f1cccf456ff7133a3007 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 25 11:48:18 2015 -0800 documentation: Update per-CPU kthreads documentation Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c25197841efe53258abb22cfd894a729a272edf9 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jan 25 11:28:28 2015 -0800 documentation: Update NO_HZ_FULL interaction with POSIX timers POSIX timers are no longer starved on adaptive-ticks CPUs. Instead, they prevent affected CPUs from entering adaptive-ticks mode. This commit therefore updates the NO_HZ.txt documentation. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 89bf5d82ed451f02329bbbb06ac365e96b18804d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jan 24 22:24:14 2015 -0800 documentation: Update based on on-demand vmstat workers Now that the on-demand vmstat workers commit is in mainline, it is possible to eliminate vmstat_update()-induced OS jitter. This commit updates the documentation accordingly. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d2af1ad73e7a22ed3e04374896fee0eb300c05c3 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 20 23:54:59 2015 -0800 documentation: Update rcutree.kthread_prio for grace-period kthread use Now that the rcutree.kthread_prio kernel boot parameter also controls the priority of the grace-period kthreads, update the documentation to reflect this change. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit a394b1b2c3e8a0bf20daed68fc0ba44d5d5dd818 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Wed Feb 4 23:54:01 2015 +0900 ARM: exynos_defconfig: Enable support for cpufreq on Exynos SoCs This commit enables the cpufreq subsystem. Moreover, support for using CPU as a cooling device is provided. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 05e2685f383ebfe41f58f522afaab713198fc1de Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Wed Feb 4 23:54:01 2015 +0900 ARM: exynos_defconfig: Enable thermal emulation for Exynos TMU Enabling thermal emulation on Exynos SoCs. New sysfs attribute - emul_temp is created. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ab57f679b638c987a57ed56d40ce26bb4931e00b Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Wed Feb 4 23:54:01 2015 +0900 ARM: exynos_defconfig: Remove CONFIG_EXYNOS_THERMAL_CORE define After Exynos TMU rework to use device tree for configuration this flag can be removed. It is not used anymore. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 83ce82eeff06098eb14d2ece35e73c4b3d55770d Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Tue Feb 17 19:52:06 2015 +0100 ARM: dts: dove: Add node labels for PCIe ports 0 and 1 Add pcie[01] node labels to allow to reference them easily from board level. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit eb472c4cdd5a798dd096095435cf1f5e16464ef8 Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Tue Feb 17 19:52:05 2015 +0100 ARM: dts: dove: Always include gpio and interrupt-controller headers We want to enforce the use of named flags in GPIO and interrupt specifiers, include the corresponding headers to Dove's SoC dtsi. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a74cd13b807029397f7232449df929bac11fb228 Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Tue Feb 17 19:52:04 2015 +0100 ARM: dts: dove: Fix uart[23] reg property Fix Dove's register addresses of uart2 and uart3 nodes that seem to be broken since ages due to a copy-and-paste error. Cc: <stable@xxxxxxxxxxxxxxx> # 3.7+ Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 4824140f4bd1caaf900215aabe27e4bdd1677704 Author: Imre Kaloz <kaloz@xxxxxxxxxxx> Date: Mon Feb 16 13:31:04 2015 +0100 ARM: mvebu: add Linksys WRT1900AC (Mamba) support The Linksys WRT1900AC (Mamba) is a router that has - 2 mini-PCIe slots with Marvell 88W8864 radios - 1 USB 3.0 port - 1 USB 2.0/eSATAp port - 2 Ethernet interfaces connected to a 88E6172 switch (1x WAN + 4x LAN) - 128MB NAND flash - 256MB RAM gregory.clement@xxxxxxxxxxxxxxxxxx: - add ARM to the title - fix the reference to CONFIG_DEBUG_MVEBU_UART0_ALTERNATE - fix the unbalanced comment for the syscfg partition Signed-off-by: Imre Kaloz <kaloz@xxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 1056a273ec2ce4446e38598c08ef782bbfe9bdc3 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Feb 5 00:35:58 2015 +0900 ARM: dts: add eMMC reset line for exynos5422-odroidxu3 This patch adds reset-gpios property to the eMMC slot, so the MMC driver is able to properly reset eMMC card on system restart and thus fixes system hang on software reboot. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 225da7e65a03d7b730ccb201f8acb6afde5eb40b Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Feb 5 00:35:58 2015 +0900 ARM: dts: add eMMC reset line for exynos4412-odroid-common This patch adds reset-gpios property to the eMMC slot, so the MMC driver is able to properly reset eMMC card on system restart and thus fixes system hang on software reboot. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit e07eb1ec8df413f187ff5066af5feb94917cb567 Author: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Date: Thu Feb 5 00:29:56 2015 +0900 ARM: dts: represent bridge and panel connection for exynos5420-peach-pit Define videoports and use endpoints to describe the connection between the encoder, bridge and the panel, instead of using phandles. Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Tested-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Tested-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b174e79ef518622a29ddf26923efaa5b90e2b973 Author: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Date: Thu Feb 5 00:29:06 2015 +0900 ARM: dts: represent bridge and panel connection for exynos5250-snow Define videoports and use endpoints to describe the connection between the encoder, bridge and the panel, instead of using phandles. Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Tested-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Tested-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit d0cf8bc7296f2ec7b27aa09cc358f393777075b4 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Thu Feb 5 00:22:02 2015 +0900 ARM: dts: Add cap-sdio-irq to wifi mmc node for exynos5250-snow Enabling SDIO IRQ signalling for the wifi MMC/SDIO slot doubles the transmission transfer rate. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b07a27696bda1d23036b3b018bfd799f93f4e8f0 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Thu Feb 5 00:22:02 2015 +0900 ARM: dts: Enable wifi power-on for exynos5250-snow The Snow board has a MMC/SDIO wifi chip that is always powered but it needs a power sequence involving a reset (active low) and an enable (active high) pins. Both pins are marked as active low since the MMC simple power sequence driver asserts the pins prior to the card power up procedure and de-asserts the pins after the card has been powered. So the reset line will be left de-asserted and the enable pin will be left asserted. The chip also needs an external 32kHz reference clock to be operational that is by the MAX77686 PMIC clock. Add a simple MMC power sequence provider for the wifi MMC/SDIO slot. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 686135da9055c84283a86e19ee2aea0b127344d7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Feb 26 19:53:54 2015 +0300 drm/i915: fix a printk format This printk leads to the following Smatch warning: drivers/gpu/drm/i915/i915_gem_gtt.c:336 alloc_pt_range() error: '%pa' expects argument of type 'phys_addr_t*', argument 5 has type 'struct i915_page_table_entry*' It looks like a simple typo to me where "%p" was intended instead of "%pa". Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 394a10331a9e43100a8ee293255cfc428c7355ac Author: Johan Hovold <johan@xxxxxxxxxx> Date: Thu Feb 19 12:34:41 2015 +0700 USB: ch341: remove redundant close from open error path Remove redundant call to ch341_close from error path when submission of the interrupt urb fails in open. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 626ad6f37de1620e9ccd6b28f1743ee959b582c6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Feb 26 21:10:27 2015 +0530 drm/i915: Add media rc6 residency file to sysfs On VLV/CHV the media well rc6 residency gets reported separately from the render well, so add another file to sysfs so that we can report the residency to the user. Testcase: igt/pm_rc6_residency --run-subtest media-rc6-accuracy Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fed0a159c8c5e453d79d6a73897c576efea0a8a5 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Wed Feb 25 23:55:40 2015 -0800 bridge: fix link notification skb size calculation to include vlan ranges my previous patch skipped vlan range optimizations during skb size calculations for simplicity. This incremental patch considers vlan ranges during skb size calculations. This leads to a bit of code duplication in the fill and size calculation functions. But, I could not find a prettier way to do this. will take any suggestions. Previously, I had reused the existing br_get_link_af_size size calculation function to calculate skb size for notifications. Reusing it this time around creates some change in behaviour issues for the usual .get_link_af_size callback. This patch adds a new br_get_link_af_size_filtered() function to base the size calculation on the incoming filter flag and include vlan ranges. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9003019192f045eee8e451916a4bc289c2a3e1be Merge: 009f33e e47172a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Feb 26 11:22:03 2015 -0500 Merge branch 'rocker-next' Scott Feldman says: ==================== rocker cleanups Pushing out some rocker cleanups I've had in my queue for a while. Nothing major, just some sync-up with changes that already went into device code (hard-coding desc err return values and lport renaming). Also fixup port fowarding transitions prompted by some DSA discussions about how to restore port state when port leaves bridge. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e47172ab7e4176883077b454286bbd5b87b5f488 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Feb 25 20:15:38 2015 -0800 rocker: put port in FORWADING state after leaving bridge Cleanup the port forwarding state transitions for the cases when the port joins or leaves a bridge, or is brought admin UP or DOWN. When port is bridged, we can rely on bridge driver putting port in correct state using STP callback into port driver, regardless if bridge is enabled for STP or not. When port is not bridged, we can reuse some of the STP code to enabled or disable forwarding depending on UP or DOWN. Tested by trying all the transitions from bridge/not bridge, and UP/DOWN, and verifying port is in the correct forwarding state after each transition. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a6bb6d35980ebbf0d130c516c929ab5e60231f9 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Feb 25 20:15:37 2015 -0800 rocker: rename lport to pport This is just a rename of physical ports from "lport" to "pport". Not a functional change. OF-DPA uses logical ports (lport) for tunnels, but the driver (and device) were using "lport" for physical ports. Renaming physical ports references to "pport", freeing up "lport" for use later with tunnels. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7eb344f8731a0327155814f387984dedb1df032a Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Feb 25 20:15:36 2015 -0800 rocker: fix non-portable err return codes The rocker device returns error codes if something goes wrong with descriptor processing. Originally the device used standard errno codes for different errors, but since those errno codes aren't portable across ARCHs, the device now returns hard-coded error codes that stay constant across diff ARCHs. Fix driver to use those same hard-coded values. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb47cb2eb22dfacac9689708f5bd3cb0e975e290 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Feb 26 17:25:04 2015 +0900 perf probe: Fix get_real_path to free allocated memory in error path Fix get_real_path to free allocated memory when comp_dir is used for complementing path and getting an error. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150226082504.28125.74506.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9aaf5a5f479bd68699f2e6f6e5e5f1253377b6da Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Feb 19 23:31:13 2015 +0900 perf probe: Check kprobes blacklist when adding new events Recent linux kernel provides a blacklist of the functions which can not be probed. perf probe can now check this blacklist before setting new events and indicate better error message for users. Without this patch, ---- # perf probe --add vmalloc_fault Added new event: Failed to write event: Invalid argument Error: Failed to add events. ---- With this patch ---- # perf probe --add vmalloc_fault Added new event: Warning: Skipped probing on blacklisted function: vmalloc_fault ---- Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150219143113.14434.5387.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 55d43bcafe78b6da33f8a49be68ef168f3cbfec9 Author: David Ahern <david.ahern@xxxxxxxxxx> Date: Thu Feb 19 15:00:22 2015 -0500 perf trace: Fix SIGBUS failures due to misaligned accesses On Sparc64 perf-trace is failing in many spots due to extended load instructions being used on misaligned accesses. (gdb) run trace ls Starting program: /tmp/perf/perf trace ls [Thread debugging using libthread_db enabled] Detaching after fork from child process 169460. <ls output removed> Program received signal SIGBUS, Bus error. 0x000000000014f4dc in tp_field__u64 (field=0x4cc700, sample=0x7feffffa098) at builtin-trace.c:61 warning: Source file is more recent than executable. 61 TP_UINT_FIELD(64); (gdb) bt 0 0x000000000014f4dc in tp_field__u64 (field=0x4cc700, sample=0x7feffffa098) at builtin-trace.c:61 1 0x0000000000156ad4 in trace__sys_exit (trace=0x7feffffc268, evsel=0x4cc580, event=0xfffffc0104912000, sample=0x7feffffa098) at builtin-trace.c:1701 2 0x0000000000158c14 in trace__run (trace=0x7feffffc268, argc=1, argv=0x7fefffff360) at builtin-trace.c:2160 3 0x000000000015b78c in cmd_trace (argc=1, argv=0x7fefffff360, prefix=0x0) at builtin-trace.c:2609 4 0x0000000000107d94 in run_builtin (p=0x4549c8, argc=2, argv=0x7fefffff360) at perf.c:341 5 0x0000000000108140 in handle_internal_command (argc=2, argv=0x7fefffff360) at perf.c:400 6 0x0000000000108308 in run_argv (argcp=0x7feffffef2c, argv=0x7feffffef20) at perf.c:444 7 0x0000000000108728 in main (argc=2, argv=0x7fefffff360) at perf.c:559 (gdb) p *sample $1 = {ip = 4391276, pid = 169472, tid = 169472, time = 6303014583281250, addr = 0, id = 72082, stream_id = 18446744073709551615, period = 1, weight = 0, transaction = 0, cpu = 73, raw_size = 36, data_src = 84410401, flags = 0, insn_len = 0, raw_data = 0xfffffc010491203c, callchain = 0x0, branch_stack = 0x0, user_regs = {abi = 0, mask = 0, regs = 0x0, cache_regs = 0x7feffffa098, cache_mask = 0}, intr_regs = {abi = 0, mask = 0, regs = 0x0, cache_regs = 0x7feffffa098, cache_mask = 0}, user_stack = { offset = 0, size = 0, data = 0x0}, read = {time_enabled = 0, time_running = 0, {group = {nr = 0, values = 0x0}, one = {value = 0, id = 0}}}} (gdb) p *field $2 = {offset = 16, {integer = 0x14f4a8 <tp_field__u64>, pointer = 0x14f4a8 <tp_field__u64>}} sample->raw_data is guaranteed to not be 8-byte aligned because it is preceded by the size as a u3. So accessing raw data with an extended load instruction causes the SIGBUS. Resolve by using memcpy to a temporary variable of appropriate size. Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424376022-140608-1-git-send-email-david.ahern@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 820cc6cf2c552155ea919e596a85e1f4e5dfa2b5 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 12:50:46 2015 +0100 ALSA: hda - Clear pcm pointer assigned to hda_pcm at device removal We leave the pcm field of struct hda_pcm at removal of each device, so far. This hasn't been a problem since unbinding the codec driver isn't supposed to happen and another route via snd_hda_codec_reset() clears all the once. However, for a proper unbind implementation, we need to care about it. This patch does the thing above properly: - Include struct hda_pcm pointer instead of struct hda_pcm_stream pointers in struct azx_dev. This allows us to point the hda_pcm object at dev_free callback. - Introduce to_hda_pcm_stream() macro for better readability. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7e40b80da452770878943edfe7da80f10f8d25da Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 09:42:04 2015 +0100 ALSA: hda - Remove channel mode helper functions They are no longer used, let's kill them. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 777ae1946813f1dea24d908c8f318754f090f41f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 26 14:35:59 2015 +0100 ALSA: hda - Set parent of input beep devices Set the card device as the parent like other sound devices instead of leaving it empty. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 709949fbe9632941585dcacabc8a66010030ed10 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 09:58:14 2015 +0100 ALSA: hda - Power down codec automatically at registration So far, we let the controller driver power down the all codecs at the end of probe. But this can be done better in the codec's dev_register callback. This results in the reduction of duplicated codes in each control driver. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 55ed9cd1feee80764937913afe760161b86cfb11 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 17:35:32 2015 +0100 ALSA: hda - Replace bus pm_notify with the standard runtime PM framework Now the final bit of runtime PM cleanup: instead of manual notification of the power up/down of the codec via hda_bus pm_notify ops, use the standard runtime PM feature. The child codec device will kick off the runtime PM of the parent (PCI) device upon suspend/resume automatically. For managing whether the link can be really turned off, we use the bit flags bus->codec_powered instead of the earlier bus->power_keep_link_on. flag. Each codec driver is responsible to set/clear the bit flag, and the controller device can be turned off only when all these bits are cleared. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bb573928e187fc5b1f91c3a7684791d5dfcca640 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 09:26:04 2015 +0100 ALSA: hda - Drop power_save value indirection in hda_bus We used to pass the power_save option value to hda_bus via a given pointer. This was needed to refer to the value from the HD-audio core side. However, after the transition to the runtime PM, this is no longer needed. This patch drops the power_save value indirection in hda_bus above, and let the controller driver reprograms the autosuspend value explicitly by a new helper, snd_hda_set_power_save(). Without this call, the HD-audio core doesn't set up the autosuspend and flip the runtime PM. (User may still be able to set up via sysfs, though.) Along with this change, the pointer argument of azx_bus_create() is dropped as well. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 719cd21ceddb45b31394302cd9f2adc8b281e476 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Feb 26 11:28:13 2015 +0000 drm/i915: Add missing description to parameter in alloc_pt_range The patch "drm/i915: Plumb drm_device through page tables operations" added an extra parameter, but it didn't update the function description. Also remove unnecessary blank line added by the same patch. Found by kbuild test robot. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bc4d91f699d8529682be34e9f61be87679982f9b Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Thu Feb 26 16:09:47 2015 +0530 drm/i915: Removed the read of RP_STATE_CAP from sysfs/debugfs functions The frequency values(Rp0, Rp1, Rpn) reported by RP_STATE_CAP register are stored, initially by the Driver, inside the dev_priv->rps structure. Since these values are expected to remain same throughout, there is no real need to read this register, on dynamic basis, from certain debugfs/sysfs functions and the values can be instead retrieved from the dev_priv->rps structure when needed. For the i915_frequency_info debugfs interface, the frequency values from the RP_STATE_CAP register only should be used, to indicate the actual Hw state, since it is principally used for the debugging purpose. v2: Reverted the changes in i915_frequency_info function, to continue report back the frequency values, as per the actual Hw state (Chris) Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b4f2bf4c02b27f31e68cbd00fa7ef868061ac2eb Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Thu Feb 26 09:44:45 2015 +0200 drm/i915: Look at staged config when fixing pipe_src_w for LVDS The code in function intel_crtc_compute_config() that evens pipe_src_w if necessary would look at the current config instead of the staged one when deciding if there is an LVDS encoder in use. This could potentially lead to the value not being updated, if during the modeset a crtc wasn't driving an LVDS encoder. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0088d27b78f2c0118aee82923269518616481ea0 Author: Leon Nardella <leon.nardella@xxxxxxxxx> Date: Sat Feb 7 17:10:07 2015 -0200 ath9k_htc: Add new USB ID This device is a dongle made by Philips to enhance their TVs with wireless capabilities, but works flawlessly on any upstream kernel, provided that the ath9k_htc module is attached to it. It's correctly recognized by lsusb as "0471:209e Philips (or NXP) PTA01 Wireless Adapter" and the patch has been tested on real hardware. Signed-off-by: Leon Nardella <leon.nardella@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 52f578049404e4d3397dbf94ad8adc30aff7b723 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Fri Feb 6 17:24:32 2015 -0500 rtlwifi: Clear ACM_CTRL AC3_VO bit correctly All hw driver components in the rtlwifi driver, except for the rtl8192de component has this bug. They would clear BE bit in the ACM_CTRL register instead of the VO bit when processing the VO queue. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 661fa95ddb9e4c9bf6b3ec575a92dd837ec72ace Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:47 2015 +0100 brcmfmac: Fix escan timer causing oops. In some rare circumstances the escan protection timer can expire before the setup completed (due to long timeouts on IOCTL). This patch avoids this situation by setting the timer after the setup completed correctly. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a7b134a7676edf68d05fe44f0a045c14cadd66b2 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:46 2015 +0100 brcmfmac: Dont sleep when ctrl frames to transmit. The SDIO watchdog will put the device in sleep mode when there is no activity for some time and nothing to do anymore. This check is incomplete and should also check if there is a control frame to transmit. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9982464379e81ece51ced03ebecbbcd34ea367a6 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:45 2015 +0100 brcmfmac: make sdio suspend wait for threads to freeze Borrowed the idea of the PM freezer to make sdio suspend wait for watchdog and DPC thread to freeze at a safe point in their thread routine. The suspend takes 20-25 msec. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c7cd5d27d848d6afb38abad1c345cd42ebfd61e4 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:44 2015 +0100 brcmfmac: add debugfs file containing revision info Make the revision info visible in debugfs. The new debugfs file is named 'revinfo'. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ad5a52518aa5ae85dd73f8062ad58ef8b3f1ecf1 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:43 2015 +0100 brcmfmac: Remove error print for invalid key index. When a key is set or cleared with an unsupported key index then brcmfmac will print an error. With most wpa_supplicants this is happening a lot. The error print is confusing and not needed. 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: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a1ce7a0d6a4f1ed178c075c9dc02a06f0c68ab70 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Fri Feb 6 18:36:42 2015 +0100 brcmfmac: use helper function for changing SDIO state Changing the SDIO state of the driver involves changing the bus interface state. Adding a helper function makes sure that knowledge is in one place. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ffdcad05968ccb9ca2bb66f0e72467aa87baf2c2 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Feb 6 19:58:05 2015 +0530 mwifiex: use alloc_workqueue's format strings capabilities for WQ names alloc_workqueue() has string format formation ability e.g. wqname%ifname will be treated as wqnameifname. Use this and remove string operations while defining strings for workqueue names. Reported-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 01317c264166babe695174aa0d9e6cd93055df1a Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 6 08:26:50 2015 -0500 brcm80211: drop unreachable else case the if/elseif/else is exhaustive - there is no 4th case given the rssi_ctrl_mask = RADIO_2055_NBRSSI_SEL | RADIO_2055_WBRSSI_G1_SEL | RADIO_2055_WBRSSI_G2_SEL; so this unreachable else case (dead code) can be dropped. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 187d3c3386be51f2c9655ec52ddb4a1046c73332 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Fri Feb 6 05:26:45 2015 -0500 brcmfmac: use msecs_to_jiffies for time conversion This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit aa96af82b873aeff93b11fcbb8577e0001dad221 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:44 2015 +0530 ath9k: Restart TSF2 timers on wakeup When coming out of WoW sleep, check and restart timers based on TSF2. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 3277b20270ee1130a22ced81e7efb0820a160193 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:43 2015 +0530 ath9k: Clear additional WoW events The events for patterns 8..15 need to be cleared on wakeup. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6aaefab6cfe879246f209e39ca993deec493fa96 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:42 2015 +0530 ath9k: Handle additional patterns on wakeup Handle the user-configured patterns in the range 8..15 when waking up and update wow_status correctly. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b39adc63bf0c014b0582c191a83272ea7f92ee8a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:41 2015 +0530 ath9k: Check MCI PowerSave state The power save state of MCI has to be disabled when enabling WoW sleep, check this properly. ar9003_mci_state() doesn't handle MCI_STATE_GET_WLAN_PS_STATE right now, but this will be done later when proper support for MCI/PS is added. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ff6f0c036b3271f080b0c585e6859d52aac2e0e0 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:40 2015 +0530 ath9k: Add new MCI states Several new MCI states have to handled, add them to the list. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0d35024cad0fa196ebd4ad6bdc6f08b026d7470f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:39 2015 +0530 ath9k: Set keep awake timer When MCI is enabled and WoW sleep is enabled, make sure that the RTC keep awake timer is set with the required value. This is also required when the AR_WA is programmed. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2a0eef1ac629724b1eb8ec5909f0b6dc1777784c Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Feb 5 10:22:38 2015 +0530 ath9k: Fix descriptors for keep-alive frame Along with AR9462, AR9565 also has an extra field in the TX descriptor which needs to be zeroed out for the keep alive frame. This makes the earlier REG_WRITE redundant, so it can be removed. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a3dfc6d925ca1bbd1a228253acb93f08657bad25 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Feb 13 10:08:17 2015 -0300 [media] dvb-usb: create one media_dev per adapter Instead of assuming just one adapter, change the code to store one media controller per adapter. This works fine for dvb-usb, as, on all drivers here, it is not possible to write a media graph that would mix resources between the two different adapters. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 496ccf92b9b5342b995a711829de76c320a916b6 Author: Rafael Lourenço de Lima Chehab <chehabrafael@xxxxxxxxx> Date: Fri Feb 13 18:29:14 2015 -0300 [media] dvb-usb: add support for the media controller at USB driver Create a struct media_device and add it to the dvb adapter. Please notice that the tuner is not mapped yet by the dvb core. [mchehab@xxxxxxxxxxxxxxx: use config option MEDIA_CONTROLLER_DVB] Signed-off-by: Rafael Lourenço de Lima Chehab <chehabrafael@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 823b460ee76d0e4e1a9d50e7c1d4aebc0e9e467b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 25 14:07:42 2015 -0300 [media] dvb-usb-v2: create one media_dev per adapter Instead of assuming just one adapter, change the code to store one media controller per adapter. This works fine for dvb-usb, as, on all drivers here, it is not possible to write a media graph that would mix resources between the two different adapters. Acked-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6f6c77d8d2e2fc77395d6bb9ed670161f18b6bd4 Author: Rafael Lourenço de Lima Chehab <chehabrafael@xxxxxxxxx> Date: Thu Feb 12 08:37:25 2015 -0300 [media] dvb-usb-v2: add support for the media controller at USB driver Create a struct media_device and add it to the dvb adapter. Please notice that the tuner is not mapped yet by the dvb core. [mchehab@xxxxxxxxxxxxxxx: use config option MEDIA_CONTROLLER_DVB due to a rebase] Signed-off-by: Rafael Lourenço de Lima Chehab <chehabrafael@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4b208f8b561ffa5f3b7f6887bf8dc3038c67eee9 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 12:29:23 2015 -0300 [media] siano: register media controller earlier We need to initialize the media controller earlier, as the core will call the smsdvb hotplug during register time. Ok, this is an async operation, so, when the module is not loaded, the media controller works. However, if the module is already loaded, nothing will be registered at the media controller, as it will load too late. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fb372a434d47f636bc8277e7e91e0f2855a14263 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 12:00:45 2015 -0300 [media] siano: print a message if DVB register succeeds Right now, this is a debug message, misplaced. Promote it to an info message, as it helps to discover if something bad happened during device init. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d9f3836b7b0353ef21ab4dd0a771331b0afa46e5 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 11:51:41 2015 -0300 [media] siano: get rid of sms_dbg parameter All siano modules have a sms_dbg parameter. Now that we're using the standard pr_debug() macro, we can get rid of it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0dd5f20cb35b59f82b35e918658fa8ab22b9f13a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 11:49:28 2015 -0300 [media] siano: get rid of sms_info() On most cases, sms_info() should actually be pr_debug(), but, on other places, it should be pr_info(). Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6908368879c3e4965d849c893d3741858a8d1842 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 11:33:37 2015 -0300 [media] siano: replace sms_debug() by pr_debug() There's no reason to use a macro here. Just replace everything, and let those debug messages to be activated via dynamic printk. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9b283e67961c5e2dc02b7b25282f3b07f2501974 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 11:33:09 2015 -0300 [media] siano: replace sms_log() by pr_debug() Despite its name, those functions are acutally debug prints for the IR part of the driver. So, properly map them using pr_debug() Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ed0a2c7eca3265e6df3e9eebedfc2db3916dcd4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 11:04:35 2015 -0300 [media] siano: replace sms_err by pr_err Originally, sms_err() would be also displaying the line where the error occurs, but the messages are clear enough. Also, the function is always printed. So, no need for it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 535bd1e96e6ea5eedd1171f0d4a7750597bb4cbf Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 10:55:55 2015 -0300 [media] siano: replace sms_warn() by pr_warn() There's no reason for a sms' own sms_warn macro. Just replace it by the standard pr_warn(). Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5e022d1aa0be77d749939a56f751f62ed8ee4d2b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Feb 22 10:46:56 2015 -0300 [media] siano: use pr_* print functions Instead of defining its own set of printk functions, let's use the common Kernel debug logic provided by pr_foo functions. As a first step, let's just define the existing macros as the Kernel ones. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 46b1e21fe50f9f58ceaffc10c5aea50366cf7af5 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Jan 7 08:03:03 2015 -0300 [media] siano: add support for the media controller at USB driver Adding support for the media controller for a pure DVB device is simple: just create a struct media_device and add it to the dvb adapter. After creating all DVB devices, we need to call the DVB core, for it to create the media graph. More work is needed for pure DVB tuners, but this is hidden at the Siano driver, just like several others non-hybrid devices. So, this is streight forward. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7e4f23d53d0f5b9934302324a2d736d1c07c2d2b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Feb 19 18:44:51 2015 -0300 [media] cx25840: better document the media pads Use an enum to better document the media pads. No functional changes. Suggested-by: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit db749359059f3049fc5c66950e5ca85f67d7c1b0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Feb 19 16:47:07 2015 -0300 [media] cx25840: fix return logic when media entity init fails There's no need to free state, as it was allocated via devm_kzalloc(). Also, let's return the error code, instead of something else. Reported-by: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3d263114c4b75d06253f0ed8059164dbc70c9f0c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:22:27 2015 -0300 [media] cx231xx: enable the analog tuner at buffer setup buf_prepare callback is called for every queued buffer. This is an overkill. Call it at buf_setup, as this should be enough. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7e2b41e9127e4e4ceeb2d4e86405846974cc4cec Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:20:03 2015 -0300 [media] cx231xx: Improve the media controller comment There are two problems at the comment: - it is badly idented; - its comment doesn't mean anything. Fix it. Requested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 18e8d630cc0e5cc1282b2393aeab1744af4d43ac Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:15:39 2015 -0300 [media] cx25840: better document the media controller TODO Analog video inputs are the tuner, plus composite, svideo, etc, e. g. the input pat should actually be like: ___________ TUNER --------> | | | | SVIDEO .......> | cx25840 | | | COMPOSITE1 ...> |_________| (in the above, dashes represent the enabled link, and periods represent the disabled ones) In other words, if we want to properly represent the pipeline, it should be possible to see via the media controller if the tuner is being used as an image source, or if the source is something else. I didn't map those other inputs here yet, due to a few things: - The extra inputs would require subdevs that won't be controlled - I was in doubt about the best way for doing that - That would likely require some extra setup for cx25840 caller drivers, in order to represent what of the possible internal inputs are actually used on each specific board Actually, at least for now, I was unable to see much benefit on adding such map now, so let's just document it, as this could be added later on, as needed. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e4fd3bc5049b67419ee91b3d4fee2d39e48d5dc2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:09:27 2015 -0300 [media] dvb core: rename the media controller entities Prefix all DVB media controller entities with "dvb-" and use dash instead of underline at the names. Requested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit daf77bd9c21c550252582551ee87e883eed7db00 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:04:05 2015 -0300 [media] tuner-core: fix compilation if the media controller is not defined drivers/media/v4l2-core/tuner-core.c:440:7: error: 'struct v4l2_subdev' has no member named 'entity' t->sd.entity.name = t->name; Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 63ba8c75188e1122bd5c4a19321d1913367010c6 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 12:02:09 2015 -0300 [media] cx231xx: fix compilation if the media controller is not defined drivers/media/usb/cx231xx/cx231xx-cards.c: In function â??cx231xx_usb_probeâ??: drivers/media/usb/cx231xx/cx231xx-cards.c:1589:15: error: â??struct v4l2_deviceâ?? has no member named â??mdevâ?? dev->v4l2_dev.mdev = dev->media_dev; ^ drivers/media/usb/cx231xx/cx231xx-cards.c:1589:26: error: â??struct cx231xxâ?? has no member named â??media_devâ?? dev->v4l2_dev.mdev = dev->media_dev; ^ scripts/Makefile.build:257: recipe for target 'drivers/media/usb/cx231xx/cx231xx-cards.o' failed Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c1bd57d30bf1b72134d1049b9b169afa96c4d030 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Feb 18 11:43:44 2015 -0300 [media] dvb-frontend: remove a warning if CONFIG_MEDIA_CONTROLLER_DVB is not selected, it is now producing this warning: drivers/media/dvb-core/dvb_frontend.c: In function â??dvb_frontend_threadâ??: drivers/media/dvb-core/dvb_frontend.c:695:6: warning: unused variable â??retâ?? [-Wunused-variable] int ret; ^ Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7e182f78988404717e27aed5a9d4150631b323f4 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Feb 25 12:05:13 2015 -0300 [media] media.h: mark alsa struct in media_entity_desc as TODO The alsa struct in struct media_entity_desc is now marked as deprecated. However, the alsa struct should remain as it is since it cannot be replaced by a simple major/minor device node description. The alsa struct was designed to be used as an alsa card description so V4L2 drivers could use this to expose the alsa card that they create to carry the captured audio. Such a card is not just a PCM device, but also needs to contain the alsa subdevice information, and it may map to multiple devices, e.g. a PCM and a mixer device, such as the au0828 usb stick creates. This is exactly as intended and this cannot and should not be replaced by a simple major/minor. However, whether this information is in the right form for an ALSA device such that it can handle udev renaming rules as well is another matter. So mark this alsa struct as TODO and document the problems involved. Updated the documentation as well to reflect this and to add the 'major' and 'minor' field documentation. Updated the documentation to clearly state that struct dev is to be used for (sub-)devices that create a single device node. Other devices need their own structure here. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b4d8327024637cb2a1f7910dcb5d0ad7a096f473 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Feb 26 13:49:39 2015 +0800 x86/traps: Enable DEBUG_STACK after cpu_init() for TRAP_DB/BP Before this patch early_trap_init() installs DEBUG_STACK for X86_TRAP_BP and X86_TRAP_DB. However, DEBUG_STACK doesn't work correctly until cpu_init() <-- trap_init(). This patch passes 0 to set_intr_gate_ist() and set_system_intr_gate_ist() instead of DEBUG_STACK to let it use same stack as kernel, and installs DEBUG_STACK for them in trap_init(). As core runs at ring 0 between early_trap_init() and trap_init(), there is no chance to get a bad stack before trap_init(). As NMI is also enabled in trap_init(), we don't need to care about is_debug_stack() and related things used in arch/x86/kernel/nmi.c. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: <dave.hansen@xxxxxxxxxxxxxxx> Cc: <lizefan@xxxxxxxxxx> Cc: <luto@xxxxxxxxxxxxxx> Cc: <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424929779-13174-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0afb1704010f60e7ae85aef0f93fc10f2d99761e Merge: e9e4e44 54cf776 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Feb 26 12:25:20 2015 +0100 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: New user selectable features: - Support recording running/enabled time in 'perf record' (Andi Kleen) - New tool: 'perf data' for converting perf.data to other formats, initially for the CTF (Common Trace Format) from LTTng (Jiri Olsa, Sebastian Siewior) User visible changes: - Only insert blank duration bracket when tracing syscalls in 'perf trace' (Arnaldo Carvalho de Melo) - Filter out the trace pid when no threads are specified in 'perf trace' (Arnaldo Carvalho de Melo) - Add 'perf trace' man page entry for --event (Arnaldo Carvalho de Melo) - Dump stack on segfaults in 'perf trace' (Arnaldo Carvalho de Melo) Infrastructure changes: - Introduce set_filter_pid and set_filter_pids methods in the evlist class (Arnaldo Carvalho de Melo) - Some perf_session untanglement patches, removing the need to pass a perf_session instance for things that are related to evlists, so that tools that don't deal with perf.data files like trace in live mode can make use of the ordered_events class (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9e4e44309f866b115d08ab4a54834008c50a8a4 Merge: 8a26ce4 c517d83 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Feb 26 12:24:50 2015 +0100 Merge tag 'v4.0-rc1' into perf/core, to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe59e5cf4abb922d37caea2ced6331cce48fb8b8 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Wed Nov 19 12:50:16 2014 +0200 OMAPDSS: workaround for MFLAG + NV12 issue It was found that having two displays enabled and having an NV12 overlay on one of the displays will cause underflows/synclosts. Debugging this pointed to some issue with MFLAG. It is unclear why this issue is happening, but it looks like there is a HW bug related to MFLAG and FIFO management. Disabling MFLAG makes this issue go away, but then we lose the benefit of MFLAG. Also forcing MFLAG always on makes the issue go away. Also, using certain values for MFLAG_START, MFLAG thresholds and PRELOAD makes the issue go away, but there was no obvious logic to which values work and which don't. As a workaround until more information about this is found, force MFLAG always on to make NV12 usable. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c64aa3a6600fa5ab25c3ff535d134c8f09add5aa Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Sep 29 20:46:18 2014 +0000 OMAPDSS: Add support for MFLAG OMAP5 has support for MFLAG feature, which allows DSS to dynamically increase the priority of DISPC's DMA traffic. At the moment we don't have support for it. It was noticed that on DRA7 with high bandwidth use cases we see FIFO underflows. Implementing MFLAG support removed those underflows. Interestingly, on OMAP5 uEVM no such overflows were seen. This patch adds a simple MFLAG implementation, where we use a fixed MFLAG threshold value based on the FIFO size. The thresholds are set to 4/8 of fifo size for low threshold, and 5/8 of fifo size for high threshold. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 47fc469b3af5fc63d65a51e21acaa3ed06c288e7 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Sep 29 20:46:17 2014 +0000 OMAPDSS: setup default fifo thresholds At the moment we don't setup FIFO thresholds by default in omapdss. It's supposed to be done by the user of omapdss. And that is missing from omapdrm, causing unoptimal thresholds to be used when using omapdrm. While I believe it's in theory better to allow the user of omapdss to setup the fifo thresholds, in practice we always use the same values, and we could as well setup the thresholds in omapdss. Furthermore, in omapdss init we always swap the FIFO used for GFX and WB overlays, but we don't swap the FIFO thresholds for those overlays (which is the reason for omapdrm using unoptimal HW reset values). So it would make sense to setup the thresholds to account for the swapping of the FIFOs. So, this patch adds code to setup default FIFO tresholds at omapdss init. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit d49cd15550d9d4495f6187425318c245d58cb63f Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Nov 10 12:23:00 2014 +0200 OMAPDSS: DISPC: lock access to DISPC_CONTROL & DISPC_CONFIG Dispc driver presumes that the callers handle locking for all normal functions. However, omapdrm doesn't handle this, and presumes that all overlay manager registers are private to that overlay manager, and thus presumes that configurations for overlay managers can be written via different threads freely. For many registers the above is true. The exceptions are DISPC_CONTROL and DISPC_CONFIG registers, which contain bits for both LCD and TV overlay managers. Fixing this properly in omapdrm means a big omapdrm rewrite. So, for now, add locking to dispc for the problematic registers. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Reported-by: Somnath Mukherjee <somnath@xxxxxx> commit 4e1d3ca0836b6b44c358c5ace79aa15a091a4142 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Oct 3 15:14:09 2014 +0000 OMAPDSS: DISPC: fix div by zero issue in overlay scaling omapdrm doesn't always configure the overlays correctly, causing the overlay setup functions to be called with zero timings. This leads to division by zero error. This happens, for example, when a HDMI cable is not connected, but a user tries to setup a plane with scaling. Fixing omapdrm is a big job, so for now let's check for the bad timings in DISPC and return an error. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 386f167c69ca1c6920581f2cb78be8a1f6691539 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Oct 2 17:58:51 2014 +0000 OMAPDSS: DISPC: change sync_pclk_edge default value The common 'struct videomode' does not have a flag to select when the sync signals should be driven. The default behavior of DISPC HW is to drive the sync signal on the opposite pixel clock edge from data signal, which is also what the videomode_to_omap_video_timings() uses. However, it looks like what panels usually expect is that the data and sync signals are driven on the same edge, so let's change videomode_to_omap_video_timings() to set the sync_pclk_edge accordingly. Note that this only affect panels drivers that use videomode_to_omap_video_timings(), probably when getting the video timings directly from DT data. The drivers can still configure the sync_pclk_edge independently if they so wish. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7ad582be12728ea76b11ce4f4c2f1202d11bf13c Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Oct 2 17:58:50 2014 +0000 OMAPDSS: change signal_level & signal_edge enum values At the moment the enum values for ACTIVE_HIGH and RISING_EDGE are 0, and ACTIVE_LOW and FALLING_EDGE are 1, to match the values programmed to HW. The previous patch removed this dependency. Swap the enum values the other way around. This doesn't change the behavior in any way, but makes it easier to debug as value of '1' means HIGH or RISING. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit ed35188158552d4b1e7a8df2a10dedf88c813539 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Oct 2 17:58:49 2014 +0000 OMAPDSS: DISPC: explicit handling for sync and de levels When configuring the lcd timings, instead of writing enum values directly to the HW, use switch-case to get the value to be programmed. This is safer and also allows us to change the enum values. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7a16360d56f6846da5a7c8cb50b14e3464ad133a Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Oct 2 17:58:48 2014 +0000 OMAPDSS: DISPC: remove OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES DISPC can drive data lines either on rising or falling pixel clock edge, which can be configured by the user. Sync lines can also be driven on rising or falling pixel clock edge, but additionally the HW can be configured to drive the sync lines on opposite clock edge from the data lines. This opposite edge setting does not make any sense, as the same effect can be achieved by just setting the sync lines to be driven on the other edge compared to the data lines. It feels like some kind of backward compatibility option, even if all DSS versions seem to have the same implementation. To simplify the code and configuration of the signals, and to make the dispc timings more compatible with what is used on other platforms, let's just remove the whole opposite-edge support. The drivers that used OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES setting are changed so that they use the opposite setting from the data edge. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 6246c8b57c1467791fd5b2d25cb5b0b9059cf856 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 16:00:44 2014 +0300 OMAPDSS: TFP410: fix input sync signals TFP410 requires that DE is active high and the data and syncs are driven on rising pixel clock edge. However, at the moment the driver doesn't request such syncs, and the end result is that the sync settings depend on default values, which are not right in all cases. Set the sync values explicitly. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit e566658f2efac45bae7603f56fe44e3211c7c5a8 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Nov 28 14:34:15 2014 +0200 OMAPDSS: fix paddr check for TILER addresses The DISPC driver checks that the buffer address is not 0. However, when using TILER, the address space is TILER specific and 0 is a valid address. Fix the check to allow address of 0 for TILER. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Reported-by: srinivas pulukuru <srinivas.pulukuru@xxxxxx> commit 575ef7f6d5df2aec86f407c76c0b95b3064e4b30 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:27 2015 +0000 ASoC: arizona: Add support for WM8280/WM8281 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2f2b6aa8c5172dc61b4fec4d17387ca71211efdc Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:26 2015 +0000 extcon: arizona: Add support for WM8280/WM8281 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 449c175ec66c4928b7a4eade41170624d4ac63e8 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:25 2015 +0000 gpio: arizona: Add support for WM8280/WM8281 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f7293114b4e4dc1b219cc4fd72078d5108a6443d Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:24 2015 +0000 regulator: arizona-micsupp: Add support for WM8280/WM8281 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c4ac37193eccd941ff53da561d815bdabf591d31 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:23 2015 +0000 Documentation: devicetree: arizona: Add bindings for WM8280 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e5d4ef0d731664b3fe204f4e5e87f5756e848fb1 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jan 17 15:21:22 2015 +0000 mfd: arizona: Add support for WM8280/WM8281 This adds support for the Wolfson Microelectronics WM8280 and WM8281 codecs. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> [Lee: Minor fixup to remove potentially uninitialised variable. ] Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit af321d2e32b3167129b35856316d4c55126556cf Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Jan 21 00:12:45 2015 +0100 ARM: vf610: use SMP_ON_UP for Vybrid SoC The Vybrid SoC has only one Cortex-A5 core and hence should select the SMP_ON_UP configuration on a SMP kernel. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 92b2ad2c9e18ca2bfa8727af7edcd372d9acaac4 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Feb 24 22:39:04 2015 -0800 ASoC: max98357a: Use standard DAI names Use the standard naming convention for the codec DAI. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5bb400ce4a9b100a2dd3f5db17c4c76877cecade Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Feb 25 21:37:52 2015 +0530 ASoC: Intel: wrap runtime_pm usage count under CONFIG_PM The struct dev_pm_ops defines usage_count only when CONFIG_PM is defined. So we should use this variable only in cases where this falg is true. So we define a local variable and read the value under this flag. In non PM cases, we set this to 1. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fd25cdd15b7f9d1dbddb03e44b82c48d69f24200 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Dec 11 01:42:11 2014 +0200 ARM: shmobile: lager: Add DU HDMI output support Add DT nodes for the ADV7511 HDMI encoder and its HDMI output connector. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3f47da0f32f5e43e6ae901129d5b9c2600011a2c Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Tue Jan 13 15:30:34 2015 +0800 rcu_tree: Avoid touching rnp->completed when a new GP is started In rcu_gp_init(), rnp->completed equals to rsp->completed in THEORY, we don't need to touch it normally. If something goes wrong, it will complain and fixup rnp->completed and avoid oops. This commit thus avoids the normal needless store to rnp->completed. Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ee376dbdf27728a2f3d30e2ba10fa387cc4c645b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jan 10 19:47:10 2015 -0800 rcu: Consolidate rcu_synchronize and wakeme_after_rcu() There are currently duplicate identical definitions of the rcu_synchronize() structure and the wakeme_after_rcu() function. Thie commit therefore consolidates them. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 5d8a4219a0795a321606c51582898223db80e874 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Feb 24 15:33:50 2015 +1100 power_supply core: support use of devres to register/unregister a power supply. Using devm_power_supply_register allows the unregister to happen automatically on error or final put. Signed-off-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 329414c4e7b7506fe3eab545b3fc9e44b7f28a10 Merge: c517d83 e045d20 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Feb 26 10:32:55 2015 +1000 Merge tag 'topic/drm-misc-2015-02-25' of git://anongit.freedesktop.org/drm-intel into drm-next misc atomic and dp macros * tag 'topic/drm-misc-2015-02-25' of git://anongit.freedesktop.org/drm-intel: drm: Adding edp1.4 specific dpcd macros drm/atomic-helpers: make mode_set hooks optional drm/atomic-helper: Rename commmit_post/pre_planes drm/atomic: Rename drm_atomic_helper_commit_pre_planes() state argument drm: If available use atomic state in getcrtc ioctl drm: Add DRM_DEBUG_ATOMIC drm/atomic-helpers: Fix documentation typos and wrong copy&paste drm: Fix the CRTC_STEREO_DOUBLE_ONLY define to include stero modes drm: Fix drm_crtc_vblank_get() documentation commit 1d4a9c17d4d204a159139361e8d4db7f9f267879 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sun Feb 22 21:16:49 2015 -0800 PM / sleep: add configurable delay for pm_test When CONFIG_PM_DEBUG=y, we provide a sysfs file (/sys/power/pm_test) for selecting one of a few suspend test modes, where rather than entering a full suspend state, the kernel will perform some subset of suspend steps, wait 5 seconds, and then resume back to normal operation. This mode is useful for (among other things) observing the state of the system just before entering a sleep mode, for debugging or analysis purposes. However, a constant 5 second wait is not sufficient for some sorts of analysis; for example, on an SoC, one might want to use external tools to probe the power states of various on-chip controllers or clocks. This patch turns this 5 second delay into a configurable module parameter, so users can determine how long to wait in this pseudo-suspend state before resuming the system. Example (wait 30 seconds); # echo 30 > /sys/module/suspend/parameters/pm_test_delay # echo core > /sys/power/pm_test # time echo mem > /sys/power/state ... [ 17.583625] suspend debug: Waiting for 30 second(s). ... real 0m30.381s user 0m0.017s sys 0m0.080s Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 07878248a8dd50355482995f86e756952b979def Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Feb 25 11:43:26 2015 -0800 drm/i915: Ensure crtc_state backpointer is always initialized As we transition to full atomic modesetting, we want to be able to pass intel_crtc_state around in various places that we pass intel_crtc directly today. Ensure that the ->crtc backpointer is properly initialized in case we need to get back to the associated CRTC. Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83d657388a4c7437fcef80c0b75909b2c9dafd01 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Wed Feb 25 13:12:16 2015 -0800 drm/i915: Use enabled value from crtc_state rather than crtc (v2) As vendors transition their drivers from legacy to atomic there's some duplication of data between drm_crtc and drm_crtc_state (since unconverted drivers likely won't have a state structure). i915 is partially converted and does have a crtc->state structure, but still uses direct crtc fields internally in many places, which causes the two sets of data to get out of sync. As of commit commit 31c946e85ce6b48ce0f25e3cdca8362e4fe8b300 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 12:24:17 2015 +0100 drm: If available use atomic state in getcrtc ioctl This way drivers fully converted to atomic don't need to update these legacy state variables in their modeset code any more. Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> the DRM core starts assuming that the presence of a ->state structure implies that it should make use of the values stored there which, on i915, leads to the core code using stale values for CRTC 'enabled' status. Let's switch over to using the state value of 'enable' internally rather than using the drm_crtc field. This ensures that our driver internals are working from the same data that the DRM core is, avoiding mismatches. This patch was generated with Coccinelle using the following semantic patch: <smpl> @@ struct drm_crtc C; struct drm_crtc *CP; @@ ( - C.enabled + C.state->enable | - CP->enabled + CP->state->enable ) // For assignments, we still update the legacy value as well as the state value // so add an extra assignment statement for that. @@ struct drm_crtc C; struct drm_crtc *CP; expression E; @@ ( C.state->enable = E; + C.enabled = E; | CP->state->enable = E; + CP->enabled = E; ) </smpl> The crtc->mode and crtc->hwmode fields should probably be transitioned over as well eventually, but we seem to do an okay job of keeping those up-to-date already so I want to minimize the changes that will clash with Ander's in-progress atomic work. v2: Don't remove the assignments to the legacy value when we assign to the state value. A second cocci stanza takes care of adding the legacy assignment back where appropriate. (Daniel) Cc: Daniel Vetter <daniel@xxxxxxxx> Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 009f33ed6f9d9da0141c2d18b1c7912d2d9be7c1 Merge: d79d210 5b8eb17 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Feb 25 18:13:07 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-02-24 This series contains updates to i40e and i40evf only, which bumps their versions to i40e 1.2.9 and i40evf 1.2.3. Paul fixes i40e_debug_aq() for big endian machines by adding the appropriate LExx_TO_CPU wrappers. Catherine adds a requested speed variable to the link_status to store the last speeds we requested from the firmware and use the advertised speed settings in get_settings in ethtool now that we have it. Due to the new code addition, she also refactors get_settings to improve readability and to accommodate some of the longer lines of code by adding two functions i40e_get_settings_link_up() and i40e_get_settings_link_down(). Carolyn adds a struct to the VSI struct to keep track of RXNFC settings done via ethtool. Adds more information to the interrupt vector names, specifically to the VF misc vector name so that we can distinguish between all the interrupts. Ashish enables the i40evf driver to enable debug prints via ethtool. Mitch updates i40e to enable packet split only when IOMMU is in use, since it shows a distinct advantage over the single-buffer path because it minimizes DMA mapping and unmapping. Also adds the receive routine in use to the features log message to be able to print the receive packet split status. Greg adds the ability to get, set and commit permanently the NPAR partition BW configuration through configfs. Enables an application to query the i40e driver's private flags to get the status of NPAR enablement via ethtool. Neerav adds support for bridge offload ndo_ops getlink and setlink to enable bridge hardware mode as per the mode set via IFLA_BRIDGE_MODE. The support is only enabled in the case of a PF VSI and not available for any other VSI type. Kevin fixes i40e by ensuring the BUF and FLAG_RD flags are set for indirect admin queue command. Vasu updates the driver to setup FCoE netdev device type as "fcoe", so that it shows up in sysfs as FCoE device. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d79d21073626cf022943e5c4c10a97cdf7cb8465 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Feb 24 23:02:02 2015 -0800 net: dsa: Introduce dsa_is_port_initialized To avoid race conditions when using the ds->ports[] array, we need to check if the accessed port has been initialized. Introduce and use helper function dsa_is_port_initialized for that purpose and use it where needed. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb66be1c549a0760500cfad404b3d79a136d0e44 Merge: 92bf200 12f460f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Feb 25 17:04:15 2015 -0500 Merge branch 'sf2_hwbridge' Florian Fainelli says: ==================== net: dsa: integration with SWITCHDEV for HW bridging This patch set provides the DSA and SWITCHDEV integration bits together and modifies the bcm_sf2 driver accordingly such that it works properly with HW bridging. Changes in v3: - add back the null pointer check in dsa_slave_br_port_mask from Guenter - slightly rework patch 1 commit message not to mention the function name we add in patch 2 Changes in v2: - avoid a race condition in how DSA network devices are created, patch from Guenter Roeck - provide a consistent and work STP state once a port leaves the bridge - retain a bridge device pointer to properly flag port/bridge membership - properly flush the ARL (Address Resolution Logic) in bcm_sf2.c - properly retain port membership when individually bringing devices up/down while they are members of a bridge We discussed on the mailing-list the possibility of standardizing a "fdb_flush" operation for DSA switch drivers, looking at the Marvell and Broadcom switches, I am not convinced this is practical or diserable as the terminologies vary here, but there is nothing preventing us from doing it later. Many thanks to Guenter and Andrew for both testing and providing feedback. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12f460f23423e81d6dd3efeb78906ae634ad8fc9 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Feb 24 13:15:34 2015 -0800 net: dsa: bcm_sf2: add HW bridging support Implement the bridge join, leave and set_stp callbacks by making that we do the following: - when a port joins the bridge, all existing ports in the bridge get their VLAN control register updated with that joining port - the joining port is including all existing bridge ports in its own VLAN control register The leave operation is fairly similar, special care must be taken to make sure that port leaving the bridging is not removing itself from its own VLAN control register. Since the various BR_* states apply directly to our HW semantics, we just need to translate these constants into their corresponding HW settings, and voila! We make sure to trigger a fast-ageing process for ports that are joining/leaving the bridge and transition from incompatible states, this is equivalent to triggering an ARL flush for that port. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b73adef67765b72f2a0d01ef15aff9d784dc85da Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Feb 24 13:15:33 2015 -0800 net: dsa: integrate with SWITCHDEV for HW bridging In order to support bridging offloads in DSA switch drivers, select NET_SWITCHDEV to get access to the port_stp_update and parent_get_id NDOs that we are required to implement. To facilitate the integratation at the DSA driver level, we implement 3 types of operations: - port_join_bridge - port_leave_bridge - port_stp_update DSA will resolve which switch ports that are currently bridge port members as some Switch hardware/drivers need to know about that to limit the register programming to just the relevant registers (especially for slow MDIO buses). We also take care of setting the correct STP state when slave network devices are brought up/down while being bridge members. Finally, when a port is leaving the bridge, we make sure we set in BR_STATE_FORWARDING state, otherwise the bridge layer would leave it disabled as a result of having left the bridge. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d87d6f44d7c1254fd9560a5191659cb00882db56 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Feb 24 13:15:32 2015 -0800 net: dsa: Ensure that port array elements are initialized before being used A network device notifier can be called for one or more of the created slave devices before all slave devices have been registered. This can result in a mismatch between ds->phys_port_mask and the registered devices by the time the call is made, and it can result in a slave device being added to a bridge before its entry in ds->ports[] has been initialized. Rework the initialization code to initialize entries in ds->ports[] in dsa_slave_create. With this change, dsa_slave_create no longer needs to return slave_dev but can return an error code instead. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98e1bd4ae68e0a122de21795c946ba36a8259f70 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri Feb 13 11:48:12 2015 +0000 drm/i915: Cache ringbuf pointer in request structure In execlist mode, the ringbuf is a function of the ring and context whereas in legacy mode, it is derived from the ring alone. Thus the calculation required to determine the ringbuf pointer from the ring (and context) also needs to test execlist mode or not. This is messy. Further, the request structure holds a pointer to both the ring and the context for which it was created. Thus, given a request, it is possible to derive the ringbuf in either legacy or execlist mode. Hence it is necessary to pass just the request in to all the low level functions rather than some combination of request, ring, context and ringbuf. However, rather than recalculating it each time, it is much simpler to just cache the ringbuf pointer in the request structure itself. Caching the pointer means the calculation is done once at request creation time and all further code and simply read it directly from the request structure. OTC-Jira: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> [danvet: Drop contentless comment in lrc alloc request entirely. And spelling fix in the commit message.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 881f985a256839de2bb220dea5a4c59b8fa99b82 Author: Pavel Machek <pavel@xxxxxx> Date: Wed Feb 11 11:47:16 2015 +0100 bq2415x_charger, bq27x00_battery.c: comment cleanups Cleanup comments for bq2415x_charger, bq27x00_battery.c. Signed-off-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5e4be7bda1e3ca00c6f49a74991f438c720c6f4e Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri Feb 13 11:48:11 2015 +0000 drm/i915: Add missing trace point to LRC execbuff code path There is a trace point in the legacy execbuffer execution path that is missing from the execlist path. Trace points are extremely useful for debugging and are used by various automated validation tests. Hence, this patch adds the missing trace point back in. OTC-Jira: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 298631e1ecad278f9d442062035d29d9787b6994 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 12:21:05 2015 -0500 ab8500_fg: use jiffies_to_msecs for jiffies conversion Converting jiffies to milliseconds by "val * 1000 / HZ" is technically OK but jiffies_to_msecs(val) is the cleaner solution and handles all corner cases correctly. This is a minor API consolidation only and should make things more readable. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5ae6e2a8f8008dffec3f9d48337ba0bc430a1211 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 9 12:20:45 2015 -0500 ab8500_fg: match return type of wait_for_completion_timeout return type of wait_for_completion_timeout is unsigned long not int. as timeout is used for wait_for_completion_timeout exclusively here its type is simply changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8e004efc16541e7f6e35673449195db5d1f92f40 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri Feb 13 11:48:10 2015 +0000 drm/i915: Rename 'flags' to 'dispatch_flags' for better code reading There is a flags word that is passed through the execbuffer code path all the way from initial decoding of the user parameters down to the very final dispatch buffer call. It is simply called 'flags'. Unfortuantely, there are many other flags words floating around in the same blocks of code. Even more once the GPU scheduler arrives. This patch makes it more obvious exactly which flags word is which by renaming 'flags' to 'dispatch_flags'. Note that the bit definitions for this flags word already have an 'I915_DISPATCH_' prefix on them and so are not quite so ambiguous. OTC-Jira: VIZ-1587 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> [danvet: Resolve conflict with Chris' rework of the bb parsing.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c75cfa9e27818b67e55ef9153c3f4fb9c867f7f0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Jan 29 15:39:38 2015 +0100 power_supply: ab8500_fg: Simplify creation and removal of sysfs entries Simplify a little ab8500_fg_sysfs_psy_create_attrs () and ab8500_fg_sysfs_psy_remove_attrs() functions because they received pointer to power supply device which was then converted into power supply instance. Then it was converted into struct ab8500_fg. The path looked like: ab8500_fg->psy.dev -> psy -> ab8500_fg Instead just pass pointer to struct ab8500_fg directly so all conversions won't be necessary. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e7143fdb79619b0b452b02f694e4d16649a0c449 Merge: bc35268 a7117f8 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Wed Feb 25 22:18:48 2015 +0100 Merge branch 'fixes' into next commit a7117f81e8391e035c49b3440792f7e6cea28173 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Feb 20 14:32:25 2015 +0100 power_supply: lp8788-charger: Fix leaked power supply on probe fail Driver forgot to unregister charger power supply if registering of battery supply failed in probe(). In such case the memory associated with power supply leaked. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 98a276649358 ("power_supply: Add new lp8788 charger driver") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a2c1d531854c4319610f1d83351213b47a633969 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Feb 20 14:32:24 2015 +0100 power_supply: ipaq_micro_battery: Check return values in probe The return values of create_singlethread_workqueue() and power_supply_register() calls were not checked and even on error probe() function returned 0. 1. If allocation of workqueue failed (returning NULL) then further accesses could lead to NULL pointer dereference. The queue_delayed_work() expects workqueue to be non-NULL. 2. If registration of power supply failed then during unbind the driver tried to unregister power supply which was not actually registered. This could lead to memory corruption because power_supply_unregister() unconditionally cleans up given power supply. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 00a588f9d27f ("power: add driver for battery reading on iPaq h3xxx") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit f852ec461e24504690445e7d281cbe806df5ccef Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Feb 20 14:32:23 2015 +0100 power_supply: ipaq_micro_battery: Fix leaking workqueue Driver allocates singlethread workqueue in probe but it is not destroyed during removal. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 00a588f9d27f ("power: add driver for battery reading on iPaq h3xxx") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 68c3ed6fa7e0d69529ced772d650ab128916a81d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Feb 20 14:32:22 2015 +0100 power_supply: twl4030_madc: Check return value of power_supply_register The return value of power_supply_register() call was not checked and even on error probe() function returned 0. If registering failed then during unbind the driver tried to unregister power supply which was not actually registered. This could lead to memory corruption because power_supply_unregister() unconditionally cleans up given power supply. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: da0a00ebc239 ("power: Add twl4030_madc battery driver.") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit bc352686f6801592b4f4a53d8008e80931684c84 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:54:47 2015 +0100 power_supply: max17042: Use regmap_update_bits instead read and write Consolidate regmap_read() and regmap_write() into one regmap_update_bits() call. This is more readable and safer because regmap's mutex will prevent any concurrent access to modified registers (the concurrent access could happen through max17042_init_chip() in scheduled work). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 52fa74ee690e6491295ac221c83c56563257f294 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:54:46 2015 +0100 power_supply: max17040: Use system efficient workqueues The scheduled work in max17040_battery driver reads device parameters and stores them in memory. Any CPU could do that so use system efficient workqueues to limit unnecessary CPU wake ups. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit dd18a6634606cbaa19ae1e85f5bcb65b9f7dfce4 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:54:45 2015 +0100 power_supply: max14577: Properly handle error conditions Re-work and fix handling of errors when retrieving power supply properties: 1. Return errno values directly from get_property() instead of storing 'unknown' as intval for given property. 2. Handle regmap_read() errors and return errno code. Previously the regmap_read() return code was ignored so an uninitialized value from the stack could be used for calculating the property. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7524741f839e10451b072d2c9fdf525e587ecd46 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:54:44 2015 +0100 power_supply: max14577: Don't store charging and battery states for later Remove caching of charging and battery states in driver's state container because the cached value was not used later. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1ed522b390f423f9cb21ad3414fbe281a32e3ec5 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:54:43 2015 +0100 power_supply: max77693: Properly handle error conditions Re-work and fix handling of errors when retrieving power supply properties: 1. Return errno values directly from get_property() instead of storing 'unknown' as intval for given property. 2. Handle regmap_read() errors when getting 'online' and 'present' proprties and return errno code. Previously the regmap_read() return code was ignored so an uninitialized value from the stack could be used for calculating the property. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 213feb51e5f5bc721fb1b2515a7493559c1a5112 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 17:08:48 2015 +0100 power: Use subdir-ccflags-* to inherit debug flag Use subdir-ccflags-* instead of ccflags-* to inherit the debug settings from Kconfig when traversing subdirectories. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5cd0c76d69a1a4bef3a84c3177216b227a4d2448 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Feb 24 14:17:32 2015 +1100 bq27x00_battery: register as non-wakeup power supply. power_supply status changes for the bq27x00 are only noticed via polling, not via interrupts. So they are never the source of events which should reliably wake the system from suspend. So it is appropriate to register as a no_ws power source, just like the ACPI battery. This removes some debugging messages which occasionally confusingly identify bq27x00 as a wakeup source. Signed-off-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 65ce1c954985e3d9805124d061ce63a63aa625ce Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:52:13 2015 +0100 power_supply: rt5033: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7be72c2c51de78e806a3d854d12c67d80c11a871 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:37 2015 +0000 MAINTAINERS: Include DA9150 files in Dialog Semiconductor support list. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1da9790cbd0bc853f6053e59523b6fe6f6e21d78 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:34 2015 +0000 power: da9150: Add DT binding documentation for charger Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c1a281e34dae41379af86b95592a5ae8e9e3af67 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:32 2015 +0000 power: Add support for DA9150 Charger This patch adds support for DA9150 Charger & Fuel-Gauge IC Charger. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 867fe7c31def6cb523f4df8c312f35577c29883e Merge: 4bf828c adcf30b Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Wed Feb 25 21:17:24 2015 +0100 Merge branch 'da9150-charger-fuelgauge' into next commit cc6405667c633383cf9365731ad91e8a88d39b89 Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Wed Feb 11 12:36:51 2015 +0100 power: ltc2941-battery-gauge: Fix typo in conversion formula (58 instead of 85) The driver reported 30% less than actually measured. This turned out to be caused by a simple typo in the formula to calculate the LSB quantity. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit adcf30bf832bb87d9b44d067b50ac7ed13c99528 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:30 2015 +0000 iio: da9150: Add DT binding documentation for GPADC Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ed5f07b3d3d4344f917658a7f62cf62ccb19cb07 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Feb 18 14:08:28 2015 +0000 iio: Add support for DA9150 GPADC This patch adds support for DA9150 Charger & Fuel-Gauge IC GPADC. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 4bf828cf0f4d320969e6090428f98be13c1f042e Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Wed Feb 11 12:36:51 2015 +0100 power: ltc2941-battery-gauge: Fix typo in conversion formula (58 instead of 85) The driver reported 30% less than actually measured. This turned out to be caused by a simple typo in the formula to calculate the LSB quantity. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 54cf776a9c5c2e6a91de31954bba4d3bad6c657c Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Feb 20 23:17:01 2015 +0100 perf data: Add a 'perf' prefix to the generic fields Some of the tracers bring their own id or pid fields and we can end up having two of them. This patch adds a "perf_" prefix to the 'generic' fields so we avoid a clash of the member names. The change is visible in the babeltrace output: Before: $ babeltrace ./ctf-data/ [03:19:13.962131936] (+0.000001935) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 8 } [03:19:13.962133732] (+0.000001796) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 114 } ... Now: $ babeltrace ./ctf-data/ [03:19:13.962131936] (+0.000001935) cycles: { }, { perf_ip = 0xFFFFFFFF8105443A, perf_tid = 20714, perf_pid = 20714, perf_period = 8 } [03:19:13.962133732] (+0.000001796) cycles: { }, { perf_ip = 0xFFFFFFFF8105443A, perf_tid = 20714, perf_pid = 20714, perf_period = 114 } ... Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424470628-5969-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit edbe9817aeb540aa1494aa20276a2bfc7f4ab816 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Feb 20 23:17:00 2015 +0100 perf data: Add perf data to CTF conversion support Adding 'perf data convert' to convert perf data file into different format. This patch adds support for CTF format conversion. To convert perf.data into CTF run: $ perf data convert --to-ctf=./ctf-data/ [ perf data convert: Converted 'perf.data' into CTF data './ctf-data/' ] [ perf data convert: Converted and wrote 11.268 MB (100230 samples) ] The command will create CTF metadata out of perf.data file (or one specified via -i option) and then convert all sample events into single CTF stream. Each sample_type bit is translated into separated CTF event field apart from following exceptions: PERF_SAMPLE_RAW - added in next patch PERF_SAMPLE_READ - TODO PERF_SAMPLE_CALLCHAIN - TODO PERF_SAMPLE_BRANCH_STACK - TODO PERF_SAMPLE_REGS_USER - TODO PERF_SAMPLE_STACK_USER - TODO $ perf --debug=data-convert=2 data convert ... The converted CTF data could be analyzed by CTF tools, like babletrace or tracecompass [1]. $ babeltrace ./ctf-data/ [03:19:13.962125533] (+?.?????????) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 1 } [03:19:13.962130001] (+0.000004468) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 1 } [03:19:13.962131936] (+0.000001935) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 8 } [03:19:13.962133732] (+0.000001796) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 114 } [03:19:13.962135557] (+0.000001825) cycles: { }, { ip = 0xFFFFFFFF8105443A, tid = 20714, pid = 20714, period = 2087 } [03:19:13.962137627] (+0.000002070) cycles: { }, { ip = 0xFFFFFFFF81361938, tid = 20714, pid = 20714, period = 37582 } [03:19:13.962161091] (+0.000023464) cycles: { }, { ip = 0xFFFFFFFF8124218F, tid = 20714, pid = 20714, period = 600246 } [03:19:13.962517569] (+0.000356478) cycles: { }, { ip = 0xFFFFFFFF811A75DB, tid = 20714, pid = 20714, period = 1325731 } [03:19:13.969518008] (+0.007000439) cycles: { }, { ip = 0x34080917B2, tid = 20714, pid = 20714, period = 1144298 } The following members to the ctf-environment were decided to be added to distinguish and specify perf CTF data: - domain It says "kernel" because it contains a kernel trace (not to be confused with a user space like lttng-ust does) - tracer_name It says perf. This can be used to distinguish between lttng and perf CTF based trace. - version The kernel version from stream. In addition to release, this is what it looks like on a Debian kernel: release = "3.14-1-amd64"; version = "3.14.0"; [1] http://projects.eclipse.org/projects/tools.tracecompass Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424470628-5969-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9603cded0e2cef003a822985d84b5daff1c7232f Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:33:57 2015 +0300 ALSA: cmipci: remove a stray space character Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7f788e0cc07dba7f4eee6ffea30edee3af86e2a5 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:32:45 2015 +0300 ALSA: azt3328: some indenting cleanups A few minor tweaks to make things line up correctly. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f0418d46d6ad25be991d557c6c50d1e61b4ba690 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:32:16 2015 +0300 sound/sb_midi: a couple indenting fixes Let's make things line up a little bit better. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e214e5183d9da3b61f775d3ae7202ea8aa10ebed Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:31:43 2015 +0300 sound/sb_ess: white space cleanups These weren't aligned on the same lines as the surrounding code and the printk was quite messy. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit df403869e35f88e1e45483d31ee70b4aa3ed8896 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:30:36 2015 +0300 sound/oss/opl3: remove some stray whitespace Removed an extra tab and a extra space character. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 19449593d60b75654fe33a98c4fb8ff8a38ac1e0 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:27:10 2015 +0300 sound: sys_timer: indent poll_def_tmr() correctly The indenting here was really whacky and not consistent from one line to the next. I also reverse the "if (opened)" and "if (tmr_running)" tests so that I could remove two indent levels. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 06dc68d68090ce6da12f7fde03e64a32f0f6e5d0 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Feb 24 16:22:37 2015 +0000 drm/i915: Plumb drm_device through page tables operations The next patch in the series will require it for alloc_pt_single. v2: Rebased after s/page_tables/page_table/. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 06fda602dbca9c59d87db7da71192e4b54c9f5ff Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Tue Feb 24 16:22:36 2015 +0000 drm/i915: Create page table allocators As we move toward dynamic page table allocation, it becomes much easier to manage our data structures if break do things less coarsely by breaking up all of our actions into individual tasks. This makes the code easier to write, read, and verify. Aside from the dissection of the allocation functions, the patch statically allocates the page table structures without a page directory. This remains the same for all platforms, The patch itself should not have much functional difference. The primary noticeable difference is the fact that page tables are no longer allocated, but rather statically declared as part of the page directory. This has non-zero overhead, but things gain additional complexity as a result. This patch exists for a few reasons: 1. Splitting out the functions allows easily combining GEN6 and GEN8 code. Page tables have no difference based on GEN8. As we'll see in a future patch when we add the DMA mappings to the allocations, it requires only one small change to make work, and error handling should just fall into place. 2. Unless we always want to allocate all page tables under a given PDE, we'll have to eventually break this up into an array of pointers (or pointer to pointer). 3. Having the discrete functions is easier to review, and understand. All allocations and frees now take place in just a couple of locations. Reviewing, and catching leaks should be easy. 4. Less important: the GFP flags are confined to one location, which makes playing around with such things trivial. v2: Updated commit message to explain why this patch exists v3: For lrc, s/pdp.page_directory[i].daddr/pdp.page_directory[i]->daddr/ v4: Renamed free_pt/pd_single functions to unmap_and_free_pt/pd (Daniel) v5: Added additional safety checks in gen8 clear/free/unmap. v6: Use WARN_ON and return -EINVAL in alloc_pt_range (Mika). v7: Make err_out loop symmetrical to the way we allocate in alloc_pt_range. Also s/page_tables/page_table and correct commit message (Mika) Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v3+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7324cc0491e6c9349cc11edbf6085cc20f64c34e Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Tue Feb 24 16:22:35 2015 +0000 drm/i915: Complete page table structures Move the remaining members over to the new page table structures. This can be squashed with the previous commit if desire. The reasoning is the same as that patch. I simply felt it is easier to review if split. v2: In lrc: s/ppgtt->pd_dma_addr[i]/ppgtt->pdp.page_directory[i].daddr/ v3: Rebase. v4: Rebased after s/page_tables/page_table/. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d7b3de91213698296f2571d68e20d90883344b68 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Tue Feb 24 16:22:34 2015 +0000 drm/i915: page table abstractions When we move to dynamic page allocation, keeping page_directory and pagetabs as separate structures will help to break actions into simpler tasks. To help transition the code nicely there is some wasted space in gen6/7. This will be ameliorated shortly. Following the x86 pagetable terminology: PDPE = struct i915_page_directory_pointer_entry. PDE = struct i915_page_directory_entry [page_directory]. PTE = struct i915_page_table_entry [page_tables]. v2: fixed mismatches after clean-up/rebase. v3: Clarify the names of the multiple levels of page tables (Daniel) v4: Addressing Mika's review comments. s/gen8_free_page_directories/gen8_free_page_directory and free the page tables for the directory there. In gen8_ppgtt_allocate_page_directories, do not leak previously allocated pt in case the page_directory alloc fails. Update error return handling in gen8_ppgtt_alloc. v5: Do not leak pt on error in gen6_ppgtt_allocate_page_tables. (Mika) v6: s/page_tables/page_table/. (Mika) Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2245bf1410d2d719f3bfce729b07ab83fe6142f7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Feb 20 23:16:59 2015 +0100 perf tools: Add new 'perf data' command Adding new 'perf data' command to provide operations over data files. The 'perf data convert' sub command is coming in following patch, but there's possibility for other useful commands like 'perf data ls' (to display perf data file in directory in ls style). Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424470628-5969-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 53d0a57343949b2af9b27229db534b98e5a0c4d0 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Feb 20 23:16:58 2015 +0100 perf tools: Add feature check for libbabeltrace Adding feature check for babeltrace library [1], which will be used for perf data file CTF [2] conversion in following patches. The babeltrace library is now automatically detected as standard feature. It's possible to specify LIBBABELTRACE_DIR make variable to specify location of installed libbabeltrace, like: $ make LIBBABELTRACE_DIR=/opt/libbabeltrace/ BUILD: Doing 'make -j4' parallel build Auto-detecting system features: ... dwarf: [ on ] ... glibc: [ on ] ... gtk2: [ on ] ... libaudit: [ on ] ... libbfd: [ on ] ... libelf: [ on ] ... libnuma: [ on ] ... libperl: [ on ] ... libpython: [ on ] ... libslang: [ on ] ... libunwind: [ on ] ... libbabeltrace: [ on ] ... libdw-dwarf-unwind: [ on ] ... zlib: [ on ] ... DWARF post unwind library: libunwind NOTE The installation of the [1] to to used by above make: $ git clone git://git.efficios.com/babeltrace.git $ cd babeltrace $ vim README $ ./bootstrap $ ./configure --prefix=/opt/libbabeltrace $ make prefix=/opt/libbabeltrace $ sudo make install prefix=/opt/libbabeltrace Please make sure that the /opt/libbabeltrace/lib directory is in your LD_LIBRARY_PATH: $ export LD_LIBRARY_PATH=/opt/libbabeltrace/lib [1] babeltrace - http://www.efficios.com/babeltrace [2] Common Trace Format - http://www.efficios.com/ctf Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424470628-5969-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> [ Added missing babeltrace build instructions ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 85c273d2b6569706762cf400079ca0699e007d81 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Feb 24 15:13:40 2015 -0800 perf record: Support recording running/enabled time Add an option to perf record to record running/enabled time for read events, similar to what stat does. This is useful to understand multiplexing problems. Right now the report support is not great, but at least report -D already supports it. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1424819620-16043-1-git-send-email-andi@xxxxxxxxxxxxxx [ Fixed the Documentation entry to match the OPT_BOOLEAN one ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7ad14a29f0051ba4b631fb8ab3013e4577ffee95 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Wed Feb 25 10:29:12 2015 +0530 drm/i915/skl: Add support for edp1.4 low vswing Based upon vbt's vswing preemph settings value select the appropriate translations for edp. v2: Incorporating bspec changes for vswing and preemph levels, adding edp translation table. Removed HSW from selection 9 which is specific to skl and correcting the returning of level2 from max pre emph (Damien) v3: Rebasing on top of renaming patches. Adding level(3,0) since level(2,2) as mentioned in bspec is invalid as per edp spec. Also changed the determining of size of the table selected (Satheesh). v4: Adding level 3 in max voltage selection if low vswing is selected (Satheesh) v5: Add a comment stating that skl_ddi_translations_edp is for eDP 1.4 low vswing panels. v6: Updating recommended DDI translation table for edp 1.4 Reviewed-by: Satheeshakrishna M <satheeshakrishna.m@xxxxxxxxx> (v4) Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v6) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9a57f5bb717f9f171c7c18edabc4682fde3f67f3 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Wed Feb 25 10:29:11 2015 +0530 drm/i915/skl: Support for edp low_vswing param in vbt v2: Adding VBT version check for low_vswing field, and correcting parsing v3: (Damien) - Restrain the scope of the 'vswing' variable - Use the more idiomatic "ev_priv->vbt.edp_low_vswing = vswing == 0;" instead of if (foo) var = true; else var = false; - Shorten edp_vswing_premph_setting to edp_vswing_premph to fit in 80 chars - Add the version from which the edp_vswing_premph field is valid in the struct definition Reviewed-by: Satheeshakrishna M <satheeshakrishna.m@xxxxxxxxx> (v2) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f097deef59a60109648efd48f6c9fe7f56966938 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Tue Feb 24 17:36:50 2015 -0800 HID: rmi: disable palm detect gesture when present A touchpad may have firmware based palm detection code enabled which suppresses 2D data from being reported when the firmware believes a palm is on the touchpad. This functionality is meant to be used in mouse mode without a driver. When a driver is present, the driver can do a better job of determining if a contact is a palm. If this gesture is enabled on a touchpad operating in rmi mode then the firmware will not properly clear the palm detect interrupt, causing the touchpad to interrupt indefinately. This patch disables the palm detect gesture when the touchpad is operating in rmi mode. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 05ba999fcabb747214d177279de55f00a74850d4 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Tue Feb 24 17:36:49 2015 -0800 HID: rmi: disable dribble packets on Synaptics touchpads When a finger is lifted from a Synaptics touchpad the firmware will continue to interrupts for up to a second. These additional interrupts are know and dribble interrupts. Since the data read from the touchpad does not change the input subsystem only reports a single event. This makes the servicing of dribble interrupts on Linux unnecessary. This patch simply disables dribble interupts when configuring the touchpad. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dd8df28459dcad4da5dec94d12801b149a895c36 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Tue Feb 24 17:36:48 2015 -0800 HID: rmi: Add functions for writing to registers Writing to registers is needed for setting configuration parameters. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit ad8d40cda3ad22ad9e8863d55a5c88f85c0173f0 Author: Michal Marek <mmarek@xxxxxxx> Date: Tue Feb 24 16:37:13 2015 +0100 kconfig: Remove unnecessary prototypes from headers Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 463157444e377bf9b279101b1f16a94c4648c03a Author: Michal Marek <mmarek@xxxxxxx> Date: Tue Feb 24 16:32:09 2015 +0100 kconfig: Remove dead code Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 70529b1a1784503169416df19ce3d68746401340 Author: Michal Marek <mmarek@xxxxxxx> Date: Tue Jan 27 17:11:42 2015 +0100 kconfig: Get rid of the P() macro in headers This was originally meant for dlopen()ing a potential kconfig shared library. The unused dlopen code has already been removed in commit 5a6f8d2b (kconfig: nuke LKC_DIRECT_LINK cruft), so let's remove the rest. The lkc_proto.h change was made with the following sed script: sed -r 's/^P\(([^,]*), *([^,]*), *(.*)\);/\2 \1\3;/' Plus some manual adjustments. Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 4980bdf0213c9b5f876551b2ceb8ed8ece30deaf Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Wed Dec 3 15:55:49 2014 +0900 kconfig: fix a misspelling in scripts/kconfig/merge_config.sh Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ba0635ffb7665d76715b43ae8144e014a90c1e63 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Feb 25 16:17:48 2015 +0300 drm/i915: cleanup some indenting Static checkers complain that we should probably add curly braces because, from the indenting, it looks like seq_printf() should be inside the list_for_each_entry() loop. But the code is actually correct, it's just the indenting which is off. Besides fixing the indenting on seq_printf(), I did add curly braces, because generally mult-line indents should have curly braces to make them more readable. The unintended indent was left behind and not unindented in commit d7f46fc4e7323887494db13f063a8e59861fefb0 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Fri Dec 6 14:10:55 2013 -0800 drm/i915: Make pin count per VMA Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b205455ccd1aa7bda065c4c5d9362f53a831d85 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Sep 19 16:59:00 2014 +0000 OMAPDSS: HDMI5: Increase DDC SDA-HOLD time It has been observed that the current SDA-HOLD time is too short for some board/cable/monitor combinations. Increase the SDA-HOLD time to 1000ns. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 1511c75be01d0511df36096561ef2cbaaa36fa07 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 25 17:56:43 2014 +0000 OMAPDSS: fix AM43xx minimum pixel clock divider AM43xx supports pixel clock divider of 1, just like all OMAP3+ SoCs. Fix the minimum divider value. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 59bf7fd45c90a8fde22a7717b5413e4ed9666c32 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:48 2015 +0000 perf/x86/intel: Enable conflicting event scheduling for CQM We can leverage the workqueue that we use for RMID rotation to support scheduling of conflicting monitoring events. Allowing events that monitor conflicting things is done at various other places in the perf subsystem, so there's precedent there. An example of two conflicting events would be monitoring a cgroup and simultaneously monitoring a task within that cgroup. This uses the cache_groups list as a queuing mechanism, where every event that reaches the front of the list gets the chance to be scheduled in, possibly descheduling any conflicting events that are running. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-10-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bff671dba7981195a644a5dc210d65de8ae2d251 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:47 2015 +0000 perf/x86/intel: Perform rotation on Intel CQM RMIDs There are many use cases where people will want to monitor more tasks than there exist RMIDs in the hardware, meaning that we have to perform some kind of multiplexing. We do this by "rotating" the RMIDs in a workqueue, and assigning an RMID to a waiting event when the RMID becomes unused. This scheme reserves one RMID at all times for rotation. When we need to schedule a new event we give it the reserved RMID, pick a victim event from the front of the global CQM list and wait for the victim's RMID to drop to zero occupancy, before it becomes the new reserved RMID. We put the victim's RMID onto the limbo list, where it resides for a "minimum queue time", which is intended to save ourselves an expensive smp IPI when the RMID is unlikely to have a occupancy value below __intel_cqm_threshold. If we fail to recycle an RMID, even after waiting the minimum queue time then we need to increment __intel_cqm_threshold. There is an upper bound on this threshold, __intel_cqm_max_threshold, which is programmable from userland as /sys/devices/intel_cqm/max_recycling_threshold. The comments above __intel_cqm_rmid_rotate() have more details. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-9-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bfe1fcd2688f557a6b6a88f59ea7619228728bd7 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:46 2015 +0000 perf/x86/intel: Support task events with Intel CQM Add support for task events as well as system-wide events. This change has a big impact on the way that we gather LLC occupancy values in intel_cqm_event_read(). Currently, for system-wide (per-cpu) events we defer processing to userspace which knows how to discard all but one cpu result per package. Things aren't so simple for task events because we need to do the value aggregation ourselves. To do this, we defer updating the LLC occupancy value in event->count from intel_cqm_event_read() and do an SMP cross-call to read values for all packages in intel_cqm_event_count(). We need to ensure that we only do this for one task event per cache group, otherwise we'll report duplicate values. If we're a system-wide event we want to fallback to the default perf_event_count() implementation. Refactor this into a common function so that we don't duplicate the code. Also, introduce PERF_TYPE_INTEL_CQM, since we need a way to track an event's task (if the event isn't per-cpu) inside of the Intel CQM PMU driver. This task information is only availble in the upper layers of the perf infrastructure. Other perf backends stash the target task in event->hw.*target so we need to do something similar. The task is used to determine whether events should share a cache group and an RMID. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Cc: linux-api@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1422038748-21397-8-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 35298e554c74b7849875e3676ba8eaf833c7b917 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:45 2015 +0000 perf/x86/intel: Implement LRU monitoring ID allocation for CQM It's possible to run into issues with re-using unused monitoring IDs because there may be stale cachelines associated with that ID from a previous allocation. This can cause the LLC occupancy values to be inaccurate. To attempt to mitigate this problem we place the IDs on a least recently used list, essentially a FIFO. The basic idea is that the longer the time period between ID re-use the lower the probability that stale cachelines exist in the cache. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-7-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4afbb24ce5e723c8a093a6674a3c33062175078a Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:44 2015 +0000 perf/x86/intel: Add Intel Cache QoS Monitoring support Future Intel Xeon processors support a Cache QoS Monitoring feature that allows tracking of the LLC occupancy for a task or task group, i.e. the amount of data in pulled into the LLC for the task (group). Currently the PMU only supports per-cpu events. We create an event for each cpu and read out all the LLC occupancy values. Because this results in duplicate values being written out to userspace, we also export a .per-pkg event file so that the perf tools only accumulate values for one cpu per package. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-6-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cbc82b17263877ea5d21e84c58ce03f0292458a1 Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Date: Fri Jan 23 18:45:43 2015 +0000 x86: Add support for Intel Cache QoS Monitoring (CQM) detection This patch adds support for the new Cache QoS Monitoring (CQM) feature found in future Intel Xeon processors. It includes the new values to track CQM resources to the cpuinfo_x86 structure, plus the CPUID detection routines for CQM. CQM allows a process, or set of processes, to be tracked by the CPU to determine the cache usage of that task group. Using this data from the CPU, software can be written to extract this data and report cache usage and occupancy for a particular process, or group of processes. More information about Cache QoS Monitoring can be found in the Intel (R) x86 Architecture Software Developer Manual, section 17.14. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chris Webb <chris@xxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jacob Shin <jacob.w.shin@xxxxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Steven Honeyman <stevenhoneyman@xxxxxxxxx> Cc: Steven Rostedt <srostedt@xxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-5-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 79dff51e900fd26a073be8b23acfbd8c15edb181 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:42 2015 +0000 perf: Move cgroup init before PMU ->event_init() The Intel QoS PMU needs to know whether an event is part of a cgroup during ->event_init(), because tasks in the same cgroup share a monitoring ID. Move the cgroup initialisation before calling into the PMU driver. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-4-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eacd3ecc34472ce3751eedfc94e44c7cc6eb6305 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:41 2015 +0000 perf: Add ->count() function to read per-package counters For PMU drivers that record per-package counters, the ->count variable cannot be used to record an accurate aggregated value, since it's not possible to perform SMP cross-calls to cpus on other packages from the context in which we update ->count. Introduce a new optional ->count() accessor function that can be used to customize how values are collected. If a PMU driver doesn't provide a ->count() function, we fallback to the existing code. There is necessarily a window of staleness with this approach because the task that generated the counter value may not have been scheduled by the cpu recently. An alternative and more complex approach would be to use a hrtimer to periodically refresh the values from a more permissive scheduling context. So, we're trading off complexity for accuracy. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-3-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 39bed6cbb842d8edf5a26b01122b391d36775b5e Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Jan 23 18:45:40 2015 +0000 perf: Make perf_cgroup_from_task() global Move perf_cgroup_from_task() from kernel/events/ to include/linux/ along with the necessary struct definitions, so that it can be used by the PMU code. When the upcoming Intel Cache Monitoring PMU driver assigns monitoring IDs to perf events, it needs to be able to check whether any two monitoring events overlap (say, a cgroup and task event), which means we need to be able to lookup the cgroup associated with a task (if any). Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422038748-21397-2-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a35c5d1aa96aa6cc70e91786cbe9be4db23f8f4a Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Fri Jan 30 14:25:45 2015 -0800 iio: imu: inv_mpu6050: Create mux clients for ACPI This is a follow up patches after adding i2c mux adapter for bypass mode. Potentially many different types of sensor can be attached to INVMPU6XXX device, which can be connected to main cpu i2c bus in bypass mode. Why do we need this? The system ACPI table entry will consist of only one device for INV6XXX, assuming that this driver will handle all connected sensors. That is not true for the Linux driver. There are bunch of IIO drivers for each sensors, hence we created a mux on this device. So to load these additional drivers, we need to create i2c devices for them in this driver using this mux adapter. There are multiple options: 1. Use the auto detect feature, this needs a new i2c class for the adapter as the existing HWMON class is not acceptable. Also the autodetect has overhead of executing detect method for each matching class of adapters. This is a simple implementation. This option was previously submitted with not a happy feedback. 2. Option is use ACPI magic and parse the configuration data. What we need to create a i2c device at a minimum is address and a name. Address can be obtained for secondary device in more or less in a standard way from using _CRS element. But there is no name. To get name we need to process proprietary vendor data. Not having name is not fun, as you have to create device using the device name of INVN6XXXX, respecting driver duplicate name space restriction. Also each client driver needs to have this name in the id table. Since multiple driver can be loaded, the driver should be able to detect its presence and gracefully exit for the other client driver to take it over. So we use two step process: - Use DMI to id platform and parse propritery data. This is not uncommon for many x86 platform specific driver. We will get both name and address. The change created necessary infrastructure to add more properitery vendor data parsing. - If DMI match fails, then create device on INV6XXX-client (we can't create with same name as INV6XXX as it will cause duplicate name and driver model will reject.) With this each client sensor driver which needs to get attached via INV6XXXX, need this name in the id table and detect the physical presence of sensor in probe and exit if not found. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9820d88332095bc4b5ef67799e149472fcb9aa40 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:41:49 2015 +0100 iio: jsa1212: Constify struct regmap_config The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 15313309cbfe0ebba7f660677d2625abe27fb077 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Feb 24 10:41:48 2015 +0100 staging:iio:hmc5843: Constify register tables and struct regmap_config The regmap_access_table and regmap_config structures may be const because they are not modified by the driver and regmap_init() accepts pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2e25b0ecf6d5fe8f5ebd244ef888397392f8ae07 Author: Semen Protsenko <semen.protsenko@xxxxxxxxxxxxxxx> Date: Sat Jan 24 22:28:39 2015 +0200 ARM: OMAP2+: gpmc: make gpmc_cs_get_name() static Fix sparse warning: warning: symbol 'gpmc_cs_get_name' was not declared. Should it be static? Signed-off-by: Semen Protsenko <semen.protsenko@xxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 9c4f757ee9c64623efec61672305f87452f68968 Author: Semen Protsenko <semen.protsenko@xxxxxxxxxxxxxxx> Date: Sat Jan 24 22:28:38 2015 +0200 ARM: OMAP2+: gpmc: Fix writing in gpmc_cs_set_memconf Some GPMC_CONFIG7 register bits marked as "RESERVED", means they shouldn't be overwritten. A typical approach to handle such bits called "Read-Modify-Write". Writing procedure used in gpmc_cs_set_memconf() utilizes RMW technique, but implemented incorrectly. Due to obvious typo in code read register value is being rewritten by another value, which leads to loss of read RESERVED bits. This patch fixes this. While at it, replace magic numbers with named constants to improve code readability. Signed-off-by: Semen Protsenko <semen.protsenko@xxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> commit 5b8eb1766ff2a1a768246a1499f3531827875e68 Author: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Date: Fri Feb 6 08:52:21 2015 +0000 i40e/i40evf: Update driver versions Bump i40e to 1.2.9 and i40evf 1.2.3 Also update the copyright year. Change-ID: I345d777e94abd0acffe6a28793f675d251a86299 Signed-off-by: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 72c6fb4f74b6b3797f5b1abd6944d7a1d2adbf04 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Feb 24 16:01:39 2015 -0800 x86/ia32-compat: Fix CLONE_SETTLS bitness of copy_thread() CLONE_SETTLS is expected to write a TLS entry in the GDT for 32-bit callers and to set FSBASE for 64-bit callers. The correct check is is_ia32_task(), which returns true in the context of a 32-bit syscall. TIF_IA32 is set if the task itself has a 32-bit personality, which is not the same thing. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Link: http://lkml.kernel.org/r/45e2d0d695393d76406a0c7225b82c76223e0cc5.1424822291.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 08571f1ae327bfb631cb7171bde5ea605df626c6 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Feb 24 16:01:38 2015 -0800 x86/ptrace: Remove checks for TIF_IA32 when changing CS and SS The ability for modified CS and/or SS to be useful has nothing to do with TIF_IA32. Similarly, if there's an exploit involving changing CS or SS, it's exploitable with or without a TIF_IA32 check. So just delete the check. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Link: http://lkml.kernel.org/r/71c7ab36456855d11ae07edd4945a7dfe80f9915.1424822291.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a21a007b6420649d7bcdebbbbd43d24f648af6b Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Fri Feb 6 08:52:20 2015 +0000 i40evf: Add more info to interrupt vector names This patch adds the netdev name to the VF misc vector name. Without this patch, all the interrupts show the same info, so it difficult to distinguish them. Change-ID: I247828697e1373ecfb5f8dc1bc9618e98a7f4942 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 118e4e6a716836378f89b66609ad50f79fd74f33 Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Thu Feb 19 10:43:10 2015 -0500 ARM: shmobile: r8a7791: Fix HSUSB clock to hp_clk from mp_clk HSUSB uses hp_clk rather than mp_clk for H/W register access. Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> [horms: updated changelog] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b621f6d458e9d6315205d5667b9eb5592ef0433c Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Thu Feb 19 10:42:55 2015 -0500 ARM: shmobile: r8a7790: Fix HSUSB clock to hp_clk from mp_clk HSUSB uses hp_clk rather than mp_clk for H/W register access. Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> [horms: updated changelog] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e849b0650d4375996bfb7df70a641e2ad45a425f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 24 02:20:52 2015 +0000 ARM: shmobile: r8a7791: tidyup SDHI register size on DTSI r8a7791 SDHI ch0/ch1 has SD_DMACR which is located in 0x324. This patch updates register size Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 66f47ed0e86d823b57ff9ab39ab18640fa053155 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 24 02:20:37 2015 +0000 ARM: shmobile: r8a7790: tidyup SDHI register size on DTSI r8a7790 SDHI ch0/ch1 has SD_DMACR which is located in 0x324. This patch updates register size Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ae67fa2f8b29aa0bb443ee213991f4b712d58faa Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Feb 24 02:20:19 2015 +0000 ARM: shmobile: r8a7791: Reference DMA channels in SDHI DT nodes Add references to the transmit and receive DMA channels in the three SDHI nodes. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 941fe36b4071ddfd6c793bfaeed1d051175d4d80 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Feb 24 02:20:03 2015 +0000 ARM: shmobile: r8a7790: Reference DMA channels in SDHI DT nodes Add references to the transmit and receive DMA channels in the four SDHI nodes. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 914d7d148411997c2f76f689338d27c362300b7a Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 19 18:48:03 2015 +0100 ARM: shmobile: r8a73a4: Remove legacy code All r8a73a4 boards are now used with multiplatform kernels only. We can remove all the unused r8a73a4 legacy device and clock registration code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7e45ab44087c026398ff4d63c462f724b2c78deb Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Feb 6 08:52:19 2015 +0000 i40e: Use ethtool private flags to display NPAR status Allow an application to query the i40e driver's private flags to get the status of NPAR enablement. This will be used by applications to determine if there are NPAR specific features available. Change-ID: Ia6d9477a48f9c4cb41ca022bd433f77da3f2146c Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7b9ad9a0ab82be3cb0607d5242584a4a4948e89c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:43:02 2015 +0100 ARM: shmobile: r8a73a4 dtsi: Add PM domain support Add a device node for the System Controller, with subnodes that represent the hardware power area hierarchy. Hook up all devices to their respective PM domains. Add a minimal device node for the Coresight-ETM hardware block, and hook it up to the D4 PM domain, so the R-Mobile System Controller driver can keep the domain powered, until the new Coresight code handles runtime PM. The System Controller is also used by the R-Mobile Reset driver, which can now restart the system. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 212c23924c09aa63ea4f2358875eee7feb1ce37d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 24 15:09:24 2015 +0100 ARM: shmobile: defconfig: Drop useless SERIAL_8250_EXTENDED=y SERIAL_8250_EXTENDED only serves as a guard for other Kconfig options, none of which is enabled in shmobile_defconfig. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3b38cd17f8a022fdcc99342301bce52bf79a87a4 Author: Kevin Scott <kevin.c.scott@xxxxxxxxx> Date: Fri Feb 6 08:52:18 2015 +0000 i40e: Set FLAG_RD when sending buffer FW must read Set FLAG_RD for send_driver_version AQ command. Change-ID: I8253051eff85a1d4b5a4e12ce0395b65ceb91e62 Signed-off-by: Kevin Scott <kevin.c.scott@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit aba237d12473bb99414fe383ed762272eb900c94 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Feb 6 08:52:17 2015 +0000 i40e: print Rx packet split status Add the RX routine in use to the features log message. Change-ID: Ifbbf28fb7f42b9a3d2828586488e9e6331107dd5 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ccafbce41b55e6c3726b5b2ee561e1bf6659d279 Author: Vasu Dev <vasu.dev@xxxxxxxxx> Date: Mon Feb 9 18:00:30 2015 +0000 i40e: setup FCoE device type Setup FCoE netdev device type as "fcoe", so that it shows up in sysfs as FCoE device. Change-ID: Ie13a1a332dba4d5802586926104ee01ef20da44f Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a6db5a4d011097ae16449f25f51d2fbbc2942fc8 Author: Kevin Scott <kevin.c.scott@xxxxxxxxx> Date: Fri Feb 6 08:52:15 2015 +0000 i40e: Set BUF flag for Set Version AQ command BUF flag must be set for indirect AQ command. Change-ID: I6819718a47baf69d1a91ebaed89f735ed6e86025 Signed-off-by: Kevin Scott <kevin.c.scott@xxxxxxxxx> Acked-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 51616018dd1b49d4974fff92669606e97080f954 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Fri Feb 6 08:52:14 2015 +0000 i40e: Add support for getlink, setlink ndo ops Add support for bridge offload ndo_ops getlink and setlink to enable bridge hardware mode as per the mode set via IFLA_BRIDGE_MODE. The support is only enabled in case of a PF VSI and not available for any other VSI type. By default the i40e driver inserts a bridge as part of the bring-up when a FDIR type VSI and/or a FCoE VSI is created. This bridge is created in VEB mode by default i.e. after creating the bridge using "Add VEB" AQ command the loopback for the PF's default VSI is enabled. The patch adds capability where all the VSIs created as downlink to the bridge inherits the loopback property and enables loopback only if the uplink bridge is operating in VEB mode. Hence, there is no need to explicitly enable loopback as part of allocating resources for SR-IOV VFs and call to do that has been removed. In case a user-request is made either via "bridge" utility or using the bridge netlink interface that requires to change the hardware bridge mode then that would require a PF reset and rebuild of the switch hierarchy. Also update the copyright year. Change-ID: I4d78fc1c83158efda29ba7be92239b74f75d6d25 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Tested-By: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 96664483a38d25b37de8911e2058b1d10af3d113 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Feb 6 08:52:13 2015 +0000 i40e: Implement configfs for NPAR BW configuration Add configfs controls to get, set and commit NPAR BW configurations. We export three controls: min_bw - Can take a value from 0 to 100 inclusive max_bw - Can take a value from 1 to 100 inclusive commit - A write-only control that accepts only a value of 1 and will cause the BW settings to be permanently committed to NVM so that they are persistent across power cycles and system resets The BW values are relative and are expressed as percentages. For more information on the interpretation of the BW settings see the Dell specifications for NPAR. Also update the copyright year. Change-ID: Id7496ca65630b5037e32ba6a5a748fbc1632881b Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-By: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f4492db16df8a027cebc209c3905cbe421b53d3a Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Feb 6 08:52:12 2015 +0000 i40e: Add NPAR BW get and set functions We need to be able to get, set and commit permanently the NPAR partition BW configuration through configfs. These are necessary precursor functions for that feature. Also update the copyright year. Change-ID: I9d5ca160a9288145f1dd2042994028679fff55f3 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2bc7ee8ac5439efec66fa20a8dc01c0a2b5af739 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Feb 6 08:52:11 2015 +0000 i40e: enable packet split only when IOMMU present When an IOMMU is in use, the packet split receive path shows a distinct advantage over the single-buffer path because it minimizes DMA mapping and unmapping. However, this is not an advantage for systems with no IOMMU. At init time, check to see if an IOMMU is enabled and enable packet split receives. Change-ID: I4f70d2e9c31bbea3dc8fd0c5734959a6e6602210 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0e888980a3c4f4751d0898ca9153285199224ff8 Author: Ashish Shah <ashish.n.shah@xxxxxxxxx> Date: Fri Feb 6 08:52:10 2015 +0000 i40evf: allow enabling of debug prints via ethtool Copy setting from ethtool to the HW specific struct to actually enable prints. Change print from i40e to i40evf to differentiate drivers in bare metal scenarios. Also update the copyright year. Change-ID: I06fee26247299a08f2e1c70fc811a9ea0931c4dd Signed-off-by: Ashish Shah <ashish.n.shah@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d752c364571743d696c2a54a449ce77550c35ac5 Author: Marcelo Ricardo Leitner <mleitner@xxxxxxxxxx> Date: Mon Feb 23 15:02:34 2015 -0300 ipvs: allow rescheduling of new connections when port reuse is detected Currently, when TCP/SCTP port reusing happens, IPVS will find the old entry and use it for the new one, behaving like a forced persistence. But if you consider a cluster with a heavy load of small connections, such reuse will happen often and may lead to a not optimal load balancing and might prevent a new node from getting a fair load. This patch introduces a new sysctl, conn_reuse_mode, that allows controlling how to proceed when port reuse is detected. The default value will allow rescheduling of new connections only if the old entry was in TIME_WAIT state for TCP or CLOSED for SCTP. Signed-off-by: Marcelo Ricardo Leitner <mleitner@xxxxxxxxxx> Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 88eee9bc540683b425033ec494afe1219e5df054 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Fri Feb 6 08:52:09 2015 +0000 i40e: Add method to keep track of current rxnfc settings This patch adds a struct to the VSI struct to keep track of rxnfc settings done via ethtool. Without this patch, the device can only list the options available, not the current settings and this is not clear to the user. Without current settings, the available settings never changing looks like a bug. Also update the copyright year. Change-ID: I087bbfdb33b330496a671630a7586773e3b3e589 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e827845c7deefbd9b6530ec1c91c0215b0ed4a7a Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Feb 6 08:52:08 2015 +0000 i40e/i40evf: Use advertised speed settings in ethtool and refactor get_settings Add a requested speed variable to the link_status struct to store the last speeds we requested from the firmware (the speeds the FW will be advertising with if autoneg is enabled). Use the advertised speed settings in get_settings in ethtool now that we have it. Also set the requested speed settings in set_settings in ethtool as they are requested and initialize them in probe based on what the firmware remembers as the last requested speeds. To accommodate some longer lines in this new code, and improve readability I have added two functions i40e_get_settings_link_up and i40e_get_settings_link_down which get_settings now calls first. It then does all of the settings that happen regardless of link state. Some PHY types that supported the same settings were also combined. Also update the copyright year. Change-ID: Ica0c5ac81b6069ea6a7406fce7482f7816d4455c Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f1abd7dbb38535ab6ac6ba9ac81714118562cadf Author: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Date: Fri Feb 6 08:52:07 2015 +0000 i40e/i40evf: Fix output of i40e_debug_aq() for big endian machines The function i40e_debug_aq() prints information helpful in debugging admin queue commands, but it doesn't do so correctly on big endian machines. This patch adds the appropriate LExx_TO_CPU wrappers for big endian architectures. Also update the copyright year. Change-ID: I4b2dc229ed5bf6dfe35632a58cddf53c21aff4b0 Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ba599aca520d6005138d1e5edb125fb83a130141 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Feb 25 11:44:11 2015 +1100 md: fix error paths from bitmap_create. Recent change to bitmap_create mishandles errors. In particular a failure doesn't alway cause 'err' to be set. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 43da0d92ab7d05dd817bb6f3381629162bf25ecd Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Thu Feb 19 04:43:51 2015 +0200 staging: fbtft: fix space prohibited before that ',' This patch fixes the following checkpatch.pl error: space prohibited before that ',' Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 171c44fcbbf243a327cd2667a74b59b871489b91 Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Date: Tue Feb 17 19:48:51 2015 +0200 staging: fbtft: fix spacing errors This patch fixes the following checkpatch.pl errors for the file fb_bd663474.c: ERROR: space prohibited before that close parenthesis ')' ERROR: space prohibited after that open parenthesis '(' ERROR: space required after that ',' Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce5aebd67848fd319c61cfa5248be4a0ec5646c7 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Tue Feb 17 20:20:54 2015 +0530 Staging: emxx_udc: Convert from __attribute__((aligned(size))) to __aligned(size) This patch addresses the checkpatch.pl warning WARNING: __aligned(size) is preferred over __attribute__((aligned(size))) aligned(x) is a macro : #define __aligned(x) __attribute__((aligned(x))) Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a0721bf84da588bec013220f74563add71c0bbe Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Fri Feb 20 18:43:53 2015 +0530 staging: emxx_udc: Replace GFP_KERNEL with GFP_ATOMIC To avoid deadlock, do not call blocking functions with spinlocks held. Replace GFP_KERNEL with GFP_ATOMIC, as the latter will fail if the pile doesn't have enough free pages but will not sleep and hence deadlock can be avoided. Found by Coccinelle. Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 371ec40392e2a774f4b6a637c30bf0d010607578 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Mon Feb 16 20:25:03 2015 +0530 Staging: dgnc: Fix warning of code style This patch fixes checkpatch.pl WARNING: Line longer than 80 chars. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e39ab27fbc30c4aba0db8799e63c92e57cd7d46 Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Tue Feb 17 00:10:44 2015 +0530 Staging: dgnc: Removed trailing whitespace to improve readability. Removed trailing whitespaces to improve code readability and remove checkpatch warning. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 985d251b7e508b5358c38b456012c34dc031a95f Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Date: Tue Feb 17 02:44:42 2015 +0530 Staging: dgnc: Indented code to increase readability Indented code and fixed checkpatch warning to enhance readability. Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92bf200881d978bc3c6a290991ae1f9ddc7b5411 Author: Tino Reichardt <milky-kernel@xxxxxxxxx> Date: Tue Feb 24 10:28:01 2015 -0800 net: via-rhine: add BQL support Add Byte Queue Limits (BQL) support to via-rhine driver. [edumazet] tweaked patch and changed TX_RING_SIZE from 16 to 64 Signed-off-by: Tino Reichardt <milky-kernel@xxxxxxxxx> Tested-by: Jamie Gloudon <jamie.gloudon@xxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49e64dcda22157bc0a8623db1be153d89b3e82af Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Tue Feb 24 12:01:25 2015 +0000 ipv6: remove dead debug code from ip6_tunnel.c The IP6_TNL_TRACE macro is no longer used anywhere in the code so remove definition. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ff3ac060fb6b56aefa9ab6e815805addc4aa867 Merge: 2a12d6c 14c9551 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Feb 24 16:05:54 2015 -0500 Merge branch 'bonding-next' Mahesh Bandewar says: ==================== (Shortened) Bonding patch series I'm shortening the earlier patch series to just two patches at this moment. Andy is going to integrate remaining 3 patches with his netlink changes and post the completed patches. These two patches are the same one from the previous patch series with some styling changes (Dave Miller's suggestions) for the churn-machine patch. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14c9551a32eba086c9f20c9d6a8e378481f15333 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Mon Feb 23 17:50:11 2015 -0800 bonding: Implement port churn-machine (AD standard 43.4.17). The Churn Detection machines detect the situation where a port is operable, but the Actor and Partner have not attached the link to an Aggregator and brought the link into operation within a bound time period. Under normal operation of the LACP, agreement between Actor and Partner should be reached very rapidly. Continued failure to reach agreement can be symptomatic of device failure. Actor-churn-detection state-machine Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> =================================== BEGIN=True + PortEnable=False | v +------------------------+ ActorPort.Sync=True +------------------+ | ACTOR_CHURN_MONITOR | ---------------------> | NO_ACTOR_CHURN | |========================| |==================| | ActorChurn=False | ActorPort.Sync=False | ActorChurn=False | | ActorChurn.Timer=Start | <--------------------- | | +------------------------+ +------------------+ | ^ | | ActorChurn.Timer=Expired | | ActorPort.Sync=True | | | +-----------------+ | | | ACTOR_CHURN | | | |=================| | +--------------> | ActorChurn=True | ------------+ | | +-----------------+ Similar for the Partner-churn-detection. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb54e58929f3ce9fe4da719ff2f3264f14214b3a Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Mon Feb 23 17:50:10 2015 -0800 bonding: Verify RX LACPDU has proper dest mac-addr The 802.1AX standard states: "The DA in LACPDUs is the Slow_Protocols_Multicast address." This patch enforces that and drops LACPDUs with destination MAC addresses other than Slow_Protocols_Multicast address Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80958155d684c917a954c24951d590bec942dbaf Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 13:35:10 2015 +0000 drm/i915/skl: Make sure to allocate mininum sizes in the DDB I overlooked the fact that we need to allocate a minimum 8 blocks and that just allocating the planes depending on how much they need to fetch from the DDB in proportion of how much memory bw is necessary for the whole display can lead to cases where we don't respect those minima (and thus overrun). So, instead, start by allocating 8 blocks to each active display plane and then allocate the remaining blocks like before. v2: Rebase on top of -nightly Cc: Mahesh Kumar <mahesh1.kumar@xxxxxxxxx> 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 506740654db4fa5b6e1229147cee3cf8c7e07eca Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 24 17:20:31 2015 -0300 perf tools: Print the thread's tid on PERF_RECORD_COMM events when -D is asked 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-fmto8ft6jrtwz09dxn5d4z8w@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a485923efbb83056b7fb79e4fd2fee05c990ad5e Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Feb 23 15:52:45 2015 +0200 HID: i2c-hid: Add support for ACPI GPIO interrupts The HID over I2C specification allows to have the interrupt for a HID device to be GPIO instead of directly connected to the IO-APIC. Add support for this so that when the driver does not find proper interrupt number from the I2C client structure we check if it has ACPI GpioInt() resource listed in _CRS. If it is found we convert it to an interrupt number and use it instead. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0c571785813cf3294cdbb1f2fb1a9b19e11935f6 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Fri Feb 13 08:06:47 2015 -0800 leds: flash: remove stray include directive Avoid including v4l2-controls.h, as this is stray code from the early versions of the LED / V4L2 flash API integration patches. LED Flash class doesn't depend on V4L2 subsystem. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit ed97604e362c67fb5410ce2cbe8769b818cdc0af Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Feb 6 08:04:00 2015 -0800 leds: leds-pwm: drop one pwm_get_period() call pwm_get_period() is called twice in case the child parameter is set. I assume retrieving this parameter once is enough therefore this patch removes the conditial invocation of pwm_get_period(). Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 4d08cb80ef5199258c01a3444fd29d94a36a0343 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 24 15:35:55 2015 -0300 perf trace: Dump stack on segfaults [root@ssdandy ~]# perf trace --filter-pids 16348 0.000 ( 0.000 ms): tuned/1027 ... [continued]: select()) = 0 Timeout 793.770 ( 0.000 ms): lsmd/895 ... [continued]: select()) = 0 Timeout 793.775 (793.724 ms): tuned/1027 select(tvp: 0x7f7655556e50) ... perf: Segmentation fault Obtained 15 stack frames. perf(dump_stack+0x2e) [0x4ed330] perf(sighandler_dump_stack+0x2e) [0x4ed40f] /lib64/libc.so.6(+0x35640) [0x7fa2d5b69640] perf() [0x4c2d35] perf(machine__findnew_thread+0x39) [0x4c2ed6] perf() [0x454a4d] perf() [0x455f87] perf() [0x456556] perf(cmd_trace+0xa7e) [0x4580af] perf() [0x4867bd] perf() [0x486a1c] perf() [0x486b68] perf(main+0x23b) [0x486ec9] /lib64/libc.so.6(__libc_start_main+0xf5) [0x7fa2d5b55af5] perf() [0x41bd91] [ root@ssdandy ~]# 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-v38cbxcnm2yf5qn9u4y4n9ab@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 07c1a0dadfce976e9877c55ce5212dd14753c91d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 24 15:34:23 2015 -0300 perf tools: Introduce dump_stack signal helper To use in stdio based tools, like 'trace'. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-79kjmerlw6d88csyx1afzwvn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2a12d6cf751ff4a26f4054670d4f19ff315ed3b0 Merge: 1e0629d 54e16f6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Feb 24 11:48:48 2015 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-02-23 This series contains updates to e1000e, igbvf, i40e and i40evf. David adds support for i219 devices to the e1000e driver. Jeff (me) provides two patches to cleanup igbvf, first cleans up the whitespace issues found and the second cleans up the usage of msleep(), min() and max() with usleep_range(), min_t() and max_t() respectively. Kamil updates the shadow RAM read/write functions by refactoring them to prepare for future work. Shannon renames the debugfs command "clear_stats pf" to clear_stats port" to clarify what the function really does. Mitch refactors the receive routine, by splitting the receive hot path code into two, one for packet split and one for single buffer, which improves receive performance. Disables NAPI polling sooner when closing the interface to fix an occasional panic during close which was caused by the driver trying to delete and clean rings at the same time. Also refactors reset for i40evf, since a recent change to the shutdown flow messed up the reset flow. Since i40evf_down() now holds the critical section lock, we cannot call it from the reset handler, which also holds the lock. Nicholas restricts the virtual channel opcodes should remain consistent between updates to the opcode enum. Neerav converts the VSI connection type to use a #define instead of using a magic number. Anjali updates the registers file to remove registers no longer available. Also fixes the EMPR interrupt handling, so that we won't trigger another EMPR when we receive an EMPR event. Catherine cleans up the variable an_enable since it was set and never used. Greg fixes the netdev op that allows the operator to turn MAC/VLAN spoof checking on and off so that it includes the flag for VLAN spoof checking. v2: Updated patch #10 in the series to use test_and_clear_bit() as suggested by Sergei Shtylyov ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e0629d3f802fd30030ea2496d4db8ce324aa52f Merge: 8ca40c1 51a966a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Feb 24 11:39:11 2015 -0500 Merge branch 'bcmgenet-next' Petri Gynther says: ==================== net: bcmgenet: Tx init improvements Four small patches to improve bcmgenet Tx init: 1. bcmgenet_init_tx_ring() cleanup 2. rework Tx queue init 3. precalculate TxCB->bd_addr 4. rename bcmgenet_hw_params->bds_cnt and GENET_DEFAULT_BD_CNT ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51a966a7185c86df9a7ab1d59d4d1ca6b938ebb6 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Feb 23 11:00:46 2015 -0800 net: bcmgenet: rename bcmgenet_hw_params->bds_cnt and GENET_DEFAULT_BD_CNT bcmgenet_hw_params->bds_cnt and GENET_DEFAULT_BD_CNT are used only in Tx init. Rename them accordingly: - bcmgenet_hw_params->bds_cnt => bcmgenet_hw_params->tx_bds_per_q - GENET_DEFAULT_BD_CNT => GENET_Q16_TX_BD_CNT Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 014012a49148d6968afabb0e8d638fad5f65b72d Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Feb 23 11:00:45 2015 -0800 net: bcmgenet: precalculate TxCB->bd_addr There is 1-to-1 mapping between TxCBs and TxBDs. Precalculate TxCB->bd_addr once in bcmgenet_init_dma() instead of doing it over and over needlessly in bcmgenet_get_txcb(). Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16c6d667883f41d3e06cf5f6bba964057e67895a Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Feb 23 11:00:45 2015 -0800 net: bcmgenet: rework Tx queue init 1. Rename bcmgenet_init_multiq() to bcmgenet_init_tx_queues() 2. Fix bcmgenet_init_tx_queues() function description 3. Move Tx default queue init inside bcmgenet_init_tx_queues() 4. Modify bcmgenet_init_dma() to call bcmgenet_init_tx_queues() Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f8b2d7d1b514b6b722d91118849ece096217825 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Feb 23 11:00:45 2015 -0800 net: bcmgenet: bcmgenet_init_tx_ring() cleanup 1. Simplify function description 2. Rename function parameter write_ptr to start_ptr to better indicate use 3. Remove unnecessary local variable first_bd 4. Remove out-of-place comment "Unclassified traffic goes to ring 16" 5. Fix TDMA_WRITE_PTR register init Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5744ff43c2c737055c65b9594b0783c1a2832a65 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Feb 13 11:04:21 2015 +0000 ARM: drop experimental status of SMP_ON_UP SMP_ON_UP has been around for a while, and seems to be well-proven now. Drop the EXPERIMENTAL tag from the option. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e2cef68d5903cc2052e9f6e46b323b7ead695e73 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Tue Feb 10 17:01:56 2015 +0800 ASoC: rt286: add jack detection disable with NULL jack passed Some platforms, e.g. WSB, don't need jack detection when system is in Suspend, for power save reason. Here add headphone/mic jack detection disable feature with NULL jack passed in, when disabled, it will disable interrupt, and disable LDO1, which is used for jack detection when headphone is plugged in. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Reviewed-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 954e12f7a800ce38b4722ca1d7a6d0293d377b55 Author: Juergen Gross <jgross@xxxxxxxx> Date: Tue Feb 24 10:13:31 2015 +0100 x86/mm, efi: Use early_ioremap() in arch/x86/platform/efi/efi-bgrt.c Use early_ioremap() to map an I/O-area instead of early_memremap(). Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Cc: matt.fleming@xxxxxxxxx Link: http://lkml.kernel.org/r/1424769211-11378-5-git-send-email-jgross@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8d4a40bc0651ea51c196a3d3016d041c41ec19a2 Author: Juergen Gross <jgross@xxxxxxxx> Date: Tue Feb 24 10:13:28 2015 +0100 x86/mm: Use early_memunmap() instead of early_iounmap() Memory mapped via early_memremap() should be unmapped with early_memunmap() instead of early_iounmap(). Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Cc: matt.fleming@xxxxxxxxx Link: http://lkml.kernel.org/r/1424769211-11378-2-git-send-email-jgross@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 28666d6dc3feca2b1983e6011df383299d8b6b64 Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Fri Feb 13 11:23:11 2015 -0600 Add myself (Bob Peterson) as a maintainer of GFS2 This patch adds Bob Peterson as a maintainer of the GFS2 file system. It also changes the development repository to a shared location rather than Steve Whitehouse's private location. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit a1fb6696c662920f695c97591d759391aca8a1ad Merge: 1f40a8b c517d83 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Feb 24 15:55:28 2015 +0100 Merge tag 'v4.0-rc1' into x86/mm, to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3185878a70e721644b0e32ebbc0a039616551949 Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Sat Feb 14 17:22:50 2015 -0800 ASoC: fsl-asoc-card: Add snd_soc_of_parse_audio_routing() This patch adds snd_soc_of_parse_audio_routing() to get dapm routes configurations via Device Tree. Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f23e860edbb3f2208c0ab3448e756689bb4a3760 Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Sat Feb 14 17:22:49 2015 -0800 ASoC: core: Add extra dapm properties for Device Tree The current helper functions, snd_soc_of_parse_audio_simple_widgets() and snd_soc_of_parse_audio_routing(), set dapm_widgets and dapm_routes without caring if they are already set by using build-in widgets and routes in the card driver. So there could be one of them, build-in one or Device Tree one, overrided by the other depending on which one was assigned later. This patch adds an extra pair of dapm_widgets and dapm_routes for DT use only so as to prevent unexpected overriding. Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1a18f9f753209977450c94dcd354dd4fa5370966 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Feb 24 13:32:13 2015 +0200 spi: dw: always reprogram CTRL0 Instead of an additional reading from the register let's update it even if the value is kept the same. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 341c7dc7c074e80d7344e0d75e2b8918ffc982fb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Feb 24 13:32:12 2015 +0200 spi: dw: refactor code that handles clk_div This patch does the following changes: a) the calculation of clk_div is simplified to oneliner; b) chip->clk_div is updated if clk_div is not zero, therefore the condition is simplified by using chip->clk_div in both cases; c) while here, the redundant parentheses are removed. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ea11370fffdfedbd0cca0fce17907d2c993246bc Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Feb 24 13:32:11 2015 +0200 spi: dw: get TX level without an additional variable There is no need to have an additional variable to get a TX level. The patch refactors this piece of code. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 39bc03bfecab38e7532449d54aeef3db817084af Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Feb 24 13:32:10 2015 +0200 spi: dw: move piece of code out of condition There is no sense to keep a member assignment in the internal structure inside the condition which reprograms HW. It makes code readability better if kept outside of the condition. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f29933c9ae4b8f30c713186d3babb630c7cfb4f2 Author: Peter Rosin <peda@xxxxxxxxxx> Date: Mon Feb 23 21:03:33 2015 +0100 ASoC: pcm512x: Allow independently overclocking PLL, DAC and DSP When using non-standard rates, a relatively small amount of overclocking can make a big difference to a number of cases. - Not all rates are possible to achieve with the PLL, due to divider restrictions. - The higher oversampling rates that can be used by the DAC, the simpler the analog output filters get (mirror frequencies move up, away from the desired spectrum). - The more work the DSP can perform per sample, the better. For standard rates, there is little to gain as everything is designed just right, and the needed overclocking to make a real difference would be significant. Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5890bd5256bc026c425361fa087dc05c7a24d853 Author: Peter Rosin <peda@xxxxxxxxxx> Date: Mon Feb 16 22:02:47 2015 +0100 ASoC: pcm512x: Rearrange to not repeat dacsrc_rate / dac_div Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a1d263428ac7447afd9f79fce8d2d7863a2307e2 Author: Ramalingam C <ramalingam.c@xxxxxxxxx> Date: Mon Feb 23 17:38:33 2015 +0530 drm/i915: Enhancing eDP DRRS debug message When Downclock mode is not found, the same info is added to the corresponding debug log. Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b33a281544980f9cba22aaeaa4a945254326a8c0 Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Fri Feb 13 15:33:03 2015 +0530 Documentation/drm: DocBook integration for DRRS Adding an overview of DRRS in general and the implementation for eDP DRRS. Also, describing the functions related to eDP DRRS. Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44395bfe2f2a22ec769eb51ea1908082cf9aa16d Author: Durgadoss R <durgadoss.r@xxxxxxxxx> Date: Fri Feb 13 15:33:02 2015 +0530 drm/i915: Enable eDP DRRS for CHV This patch enables eDP DRRS for CHV by adding the required IS_CHERRYVIEW() checks. CHV uses the same register bit as VLV. [Vandana]: Since CHV has 2 sets of M_N registers, it will follow the same code path as gen < 8. Added CHV check in dp_set_m_n() [Ram]: Rebased on top of previous patch modifications Signed-off-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6fa7aec1db07f43d3ad94122c3bd52647c81619e Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Fri Feb 13 15:33:01 2015 +0530 drm/i915: Support for RR switching on VLV Definition of VLV RR switch bit and corresponding toggling in set_drrs function. Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a4c30b1d108c1ef60667ed357af4aeabc3d05eca Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Fri Feb 13 15:33:00 2015 +0530 drm/i915/bdw: Add support for DRRS to switch RR For Broadwell, there is one instance of Transcoder MN values per transcoder. For dynamic switching between multiple refreshr rates, M/N values may be reprogrammed on the fly. Link N programming triggers update of all data and link M & N registers and the new M/N values will be used in the next frame that is output. V2: [By Ram]: intel_dp_set_m_n() is rewritten to accommodate gen >= 8 [Rodrigo] V3: Coding style correction [Ram] V4: [By Ram] intel_dp_set_m_n modifications are moved into a separate patch, retaining only DRRS related changes here [Rodrigo] Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Pradeep Bhat <pradeep.bhat@xxxxxxxxx> Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe3cd48d6b616efc76b6a4003e82e933618c788a Author: Ramalingam C <ramalingam.c@xxxxxxxxx> Date: Fri Feb 13 15:32:59 2015 +0530 drm/i915: Add support for DRRS in intel_dp_set_m_n Till Gen 7 we have two sets of M_N registers, but Gen 8 onwards we have only one M_N register set. To support DRRS on both scenarios a input parameter to intel_dp_set_m_n is added. In case of DRRS, When platform provides two set of M_N registers for dp, we can program them with two different dividers and switch between them. But when only one such register set is provided, we have to program the required divider M_N value on that registers itself. Two enum members M1_N1 and M2_N2 are defined to represent the above scenarios. M1_N1 : Program dp_m_n on M1_N1 registers dp_m2_n2 on M2_N2 registers (If supported) M2_N2 : Program dp_m2_n2 on M1_N1 registers M2_N2 registers are not supported Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b07da53c79ba6480759c1ad352a96b96c7b97c7a Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Wed Feb 18 11:48:21 2015 +0000 drm/i915: Shift driver's HWSP usage out of reserved range As of Gen6, the general purpose area of the hardware status page has shrunk and now begins at dword 0x30. i915 driver uses dword 0x20 to store the seqno which is now reserved. So shift our HWSP dwords up into the general purpose range before this bites us. Note that all available documentation just says this is reserved without going into details about what it's used for. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> [danvet: Add clarification from Thomas that unfortunately Bspec is silent on what "reserverd" precisely means.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eef23a8441432960c89ee5bd034ad822ccd6658e Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Feb 23 15:52:43 2015 +0200 HID: wacom: Add support for I2C connected devices Lenovo Thinkpad 10 has wacom digitizer connected as a I2C-HID device. Add generic support for this. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 16e6004eb7a8686bae526ab9ea22c94ec901897b Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Sun Feb 22 18:51:04 2015 +0100 drm: atmel-hlcdc: Add pinctrl PM select sleep,default state in CRTC suspend/resume Some LCD panels have back-powering issue when un-powered, allows users to use an alternate pinctrl "sleep" in order to clamp outputs to a wanted state at suspend. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 58486982586da444f940dc8fdea598649b4a2fe8 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Sun Feb 22 18:51:03 2015 +0100 drm: atmel-hlcdc: Add PM suspend/resume support On suspend: switch off CRTC if not already suspended with runtime PM On resume: switch on CRTC if we were not already suspended from runtime PM while suspending. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 34d7c3905adb9a9d8f8155857c76314125510817 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sat Feb 21 16:33:24 2015 +0100 ASoC: improve usage of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify drivers accordingly. Also there is an *_optional variant that serves well here. The sematics is slightly changed here by using it as error checking is more strict now: If GPIOLIB is not enabled an error is returned instead of just ignoring the gpio. On one hand this is bad for devices that don't "have" the respective gpio as the driver is failing now. On the other hand there is no means to assert that this gpio is really not needed or if only the driver to control it is not available. The latter is a real reason to fail and so it's defensive to fail here, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c9e719691eab8c5de8b1b68fc3da9f7c4470c38 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 17:10:03 2015 +0100 regulator: core: Fix space before TAB Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a46a0730f5adf9292ce33172c6dc137fd694831d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 17:12:16 2015 +0100 regulator: da9211: Pass NULL data with OVER_CURRENT event According to the documentation, no data is passed with the OVER_CURRENT regulator notifier event. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 767e8aabb53cc6075d388dbce31142d4766521de Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 17:11:07 2015 +0100 regulator: da9211: Fix wrong register name in error message We tried to read the CONFIG_E register, not the CONTROL_E register. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af78114ec757cea281aafa3433a3a2e211e2eb67 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Feb 21 18:53:54 2015 -0800 regulator: dbx500: Remove use of seq_puts/seq_printf return value The seq_puts/seq_printf return value, because it's frequently misused, will eventually be converted to void. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") Miscellanea: o Remove unnecessary dev_err("seq_<foo> overflow\n") messages Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f45acb5f9f34eabac8670e87349e0a91bfc354d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 17:13:31 2015 +0100 regulator: wm8350: Pass NULL data with REGULATION_OUT and UNDER_VOLTAGE events According to the documentation, no data is passed with the REGULATION_OUT and UNDER_VOLTAGE regulator notifier events. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3f2dcbeaeb2badb951a68e7d525ff4e55d0b0678 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Feb 24 11:39:47 2015 +0530 ASoC: Intel: Remove soc pm handling to allow platform driver handle it 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 583e58a0f0e996008780fe4df0f7640890a9b69a Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Feb 24 11:39:46 2015 +0530 ASoC: Intel: Remove ignore suspend support In our platform we want platform and codec driver routines to get invoked and don't need the machine routines so remove here 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 9308d1456e30e374d93957e3376a09370be9dc52 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Feb 24 11:39:45 2015 +0530 ASoC: Intel: Move the fw download to power_control Thus removing the runtime_resume handler. 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 4a8448d4289d7210053a43f9f21e42929beb159b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Feb 24 11:39:44 2015 +0530 ASoC: Intel: add pm support in sst ipc driver This adds support for system pm support. We need to save the dsp memory which gets lost on suspend and restore that on resume 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 4d3199e4ca8e6670b54dc5ee070ffd54385988e9 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Sun Feb 22 19:31:41 2015 -0800 locking: Remove ACCESS_ONCE() usage With the new standardized functions, we can replace all ACCESS_ONCE() calls across relevant locking - this includes lockref and seqlock while at it. ACCESS_ONCE() does not work reliably on non-scalar types. For example gcc 4.6 and 4.7 might remove the volatile tag for such accesses during the SRA (scalar replacement of aggregates) step: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145 Update the new calls regardless of if it is a scalar type, this is cleaner than having three alternatives. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: 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/1424662301.6539.18.camel@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d6a3f0176fe03c33f2853dfef33e15547e357dd0 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sun Nov 9 07:21:13 2014 -0500 mtd: block2mtd: wait until block devices are presented Ensures that block2mtd is triggered after the block devices are enumerated at boot time. This issue is seen on BCM2835 (Raspberry Pi) systems when mounting JFFS2 block2mtd filesystems, probably because of the delay on enumerating a USB MMC card reader. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Rodrigo Freire <rfreire@xxxxxxxxxx> Signed-off-by: Herton Krzesinski <herton@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2ae79026818e7d49fead82b79b1a543e3b9c8a23 Merge: 1a99367 c517d83 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Feb 24 08:41:07 2015 +0100 Merge tag 'v4.0-rc1' into locking/core, to refresh the tree before merging new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7a27db23a3f697b730422482df7d21c93f84fe4a Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Mon Feb 16 10:54:08 2015 +0900 PCI: rcar: Verify that mem_res is 64K-aligned The lower 16 bits of the address, which is managed by mem_res, need to be zero. Check the address to verify this. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ecd06305c9a077ab5aa000cb8027e2c1c872f25f Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Wed Feb 4 18:02:55 2015 +0900 PCI: rcar: Change PCIEPARL and PCIEPARH to PCIEPALR and PCIEPAUR PCIEPARL and PCIEPARH are macros that calculate register addresses. However, the register names are incorrect. Change them to PCIEPALR and PCIEPAUR. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2ea2a2734cd850d8d270022e9aaabc02a931c172 Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Mon Feb 2 14:09:58 2015 +0900 PCI: rcar: Write zeroes to reserved PCIEPARL bits The lower 7 bits of PCIEPARL are reserved. When we write to this register, these bits must be 0. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8ca40c1457be5c38df5b753f55550b176816afc5 Merge: 5e3d318 4e081e0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Feb 23 22:04:35 2015 -0500 Merge branch 'pktgen-next' Ben Hutchings says: ==================== pktgen documentation cleanup and samples This series cleans up the pktgen documentation, adds and improves the original sample scripts. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e081e0cbdf850366d28ddb77afba2031b26d933 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:33:29 2015 +0000 pktgen: Correct documentation of module name and command Drop the '.o' suffix so this text properly covers both the built-in and modular cases. 'insmod pktgen' obviously won't work; the command should be modprobe. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4062bd25f0be9bd2dae25992ad87247ac4f73df3 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:33:20 2015 +0000 samples/pktgen: Show the results rather than just commenting where they are Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16b5d0c4a24c793ca3584ca5c50fd5f8f2166120 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:33:08 2015 +0000 samples/pktgen: Trap SIGINT Otherwise ^C stops the script, not just pktgen. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db72aba30a4f4c15eb20066f1d9c1bcbcf419236 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:32:59 2015 +0000 samples/pktgen: Use bash as interpreter These scripts use the non-POSIX 'function' and 'local' keywords so they won't work with every /bin/sh. We could drop 'function' as it is a no-op, but 'local' makes for cleaner scripts. Require use of bash. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06481f22c6fa5a85445770d5adceb261cac6620f Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:32:48 2015 +0000 samples/pktgen: Remove setting of obsolete max_before_softirq parameter Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ad1cdf2ea5991b42b934d76c36113ceb4561fa6 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:32:37 2015 +0000 samples/pktgen: Correct comments about the thread config They all claimed to be two CPU examples using eth1, eth2 but that is only true in one case! Rob Jones pointed out spelling and grammar errors here, which I've also corrected. Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 865367db658f6f4d7b8280b0968b47e2cbddab90 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:32:17 2015 +0000 samples/pktgen: Delete unused function pg() This function is not used and wouldn't do anything useful as pktgen does not have an 'inject' command. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c95a9d962f9ffdf02a3d82a6ae108c254a29122 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:32:07 2015 +0000 samples/pktgen: Add sample scripts for pktgen facility These are Robert Olsson's samples which used to be available from <ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/examples/> but currently are not. Change the documentation to refer to these consistently as 'sample scripts', matching the directory name used here. Cc: Robert Olsson <robert@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca5b542ccee76e58407c3529f39974d382124093 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:31:52 2015 +0000 pktgen: Fix grammar errors and some poor wording in documentation Thanks to Rob Jones for suggesting some of the changes. Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98e688f4054c2e9624c8e4666b985bde5e7e1660 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Feb 24 02:31:13 2015 +0000 pktgen: Delete the original date from documentation This has been updated quite a few times since 2004, and git can keep track of the actual date for us. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a12bff7c34635c329079858460e9705d819c500 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Feb 16 15:00:47 2015 +0000 spi: spidev: only use up TX/RX bounce buffer space when needed This patch changes the way space is reserved in spidev's pre-allocated TX and RX bounce buffers to avoid wasting space in the buffers for an SPI message consisting of multiple, half-duplex transfers in different directions. Background: spidev data structures have separate, pre-allocated TX and RX bounce buffers (`spidev->tx_buffer` and `spidev->rx_buffer`) of fixed size (`bufsiz`). The `SPI_IOC_MESSAGE(N)` ioctl processing uses a kernel copy of the N `struct spi_ioc_transfer` elements copied from the userspace ioctl arg pointer. In these elements: `.len` is the length of transfer in bytes; `.rx_buf` is either a userspace pointer to a buffer to copy the RX data to or is set to 0 to discard the data; and `.tx_buf` is either a userspace pointer to TX data supplied by the user or is set to 0 to transmit zeros for this transfer. `spidev_message()` uses the array of N `struct spi_ioc_transfer` elements to construct a kernel SPI message consisting of a `struct spi_message` containing a linked list (allocated as an array) of N `struct spi_transfer` elements. This involves iterating through the `struct spi_ioc_transfer` and `struct spi_transfer` elements (variables `u_tmp` and `k_tmp` respectively). Before the first iteration, variables `tx_buf` and `rx_buf` point to the start of the TX and RX bounce buffers `spidev->tx_buffer` and `spidev->rx_buffer` and variable `total` is set to 0. These variables keep track of the next available space in the bounce buffers and the total length of the SPI message. Each iteration checks that there is enough room left in the buffers for the transfer. If `u_tmp->rx_buf` is non-zero, `k_tmp->rx_buf` is set to `rx_buf`, otherwise it remains set to NULL. If `u_tmp->tx_buf` is non-zero, `k_tmp->tx_buf` is set to `tx_buf` and the userspace TX data copied there, otherwise it remains set to NULL. The variables `total`, `rx_buf` and `tx_buf` are advanced by the length of the transfer. The "problem": While iterating through the transfers, the local bounce buffer "free space" pointer variables `tx_buf` and `rx_buf` are always advanced by the length of the transfer. If `u_tmp->rx_buf` is 0 (so `k_tmp->rx_buf` is NULL), then `rx_buf` is advanced unnecessarily and that part of `spidev->rx_buffer` is wasted. Similarly, if `u_tmp->tx_buf` is 0 (so `k_tmp->tx_buf` is NULL), part of `spidev->tx_buffer` is wasted. What this patch does: To avoid wasting space unnecessarily in the RX bounce buffer, only advance `rx_buf` by the transfer length if `u_tmp->rx_buf` is non-zero. Similarly, to avoid wasting space unnecessarily in the TX bounce buffer, only advance `tx_buf` if `u_tmp->tx_buf is non-zero. To avoid pointer subtraction, use new variables `rx_total` and `tx_total` to keep track of the amount of space allocated in each of the bounce buffers. If these exceed the available space, a `-EMSGSIZE` error will be returned. Limit the total length of the transfers (tracked by variable `total`) to `INT_MAX` instead of `bufsiz`, returning an `-EMSGSIZE` error if exceeded. The total length is returned by `spidev_message()` on success and we want that to be non-negative. The message size limits for the `SPI_IOC_MESSAGE(N)` ioctl are now as follows: (a) total length of transfers is <= INTMAX; (b) total length of transfers with non-NULL rx_buf is <= bufsiz; (c) total length of transfers with non-NULL tx_buf is <= bufsiz. Some transfers may have NULL rx_buf and NULL tx_buf. If the transfer is completed successfully by the SPI core, `spidev_message()` iterates through the transfers to copy any RX data from the bounce buffer back to userspace on those transfers where `u_tmp->rx_buf` is non-zero. The variable `rx_buf` is again used to keep track of the corresponding positions in the bounce buffer. Now it is only advanced for those transfers that use the RX bounce buffer. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0744ea2a01cb75a750e8594b046102fc68fa45b3 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Mon Feb 23 12:30:46 2015 +0000 spi: s3c64xx: fix compiler warning in spi-s3c64xx The Exynos 7 arm64 support now allows the S3C64xx SPI driver to be compiled into an ARM64 kernel, so the cast from the [rt]x_dmach int variable to a void* in this driver now triggers a warning. Add a long cast to silence the compiler. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54e16f64f0c494b78e3872612e45d002d220664d Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jan 29 07:17:20 2015 +0000 i40evf: don't wait forever Under rare circumstances, after a reset, set_rx_mode might get called while the watchdog is running, which will cause a deadlock on the critical section lock. To correct this, add a counter and give up trying to get the lock after fifty tries. Log a message if this happens but don't take any other action. Because this happens after a reset, all of the Rx filters are still in place and the device won't lose connectivity. We can also get stuck during shutdown, if the PF has stopped communicating with us, or if a reset is occurring. If we can't get the lock after a reasonable amount of time, just error out. Something else bad is happening anyway, so adding this filter is the least of our concern right now. Change-ID: I159731e2a82a06b389ee31b34ce336548e05baa0 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ac833bbf7958bbdd416d6027b98763a231bc8f15 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jan 29 07:17:19 2015 +0000 i40evf: refactor reset A recent change to the shutdown flow messed up the reset flow. Since i40evf_down now holds the critical section lock, we cannot call it from the reset handler, which also holds the lock. To do so causes a deadlock accompanied by wailing and gnashing of teeth. This is easily triggered by running an ethtool self-test on the PF device. Instead, we move the relevant portions of i40evf_down into the reset handler and bend them to our will. Additionally, we can optimize the reinit path by not deleting the MAC and VLAN filters and then adding them back again. Instead, we just set the 'add' flag and let the watchdog resynchronize the filter list with the PF driver. We also reword a few messages to make them more consistent with the rest of the driver. Change-ID: I03dd92ae736f7719fca3564b12a2cf9b98c6cb18 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 748c434bfa956e3ac64793d14d3bdbe7befcb901 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jan 29 07:17:18 2015 +0000 i40evf: disable NAPI polling sooner When closing the interface, disable NAPI polling before any other activities. This fixes an occasional panic during close caused by the driver trying to delete and clean rings at the same time. Change-ID: Ib4d427b13d310258ea85b248d535da70ecf0c1e9 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 30d71af54d3df9752cee70e320da8d58ec3292b4 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Thu Jan 29 07:17:17 2015 +0000 i40e: Fix i40e_ndo_set_vf_spoofchk The netdev op that allows the operator to turn MAC/VLAN spoof checking on and off did not include the flag for VLAN spoof checking. This patch fixes that problem. Change-ID: Ib4c9e639024a854592d97af22706544881ac3fcb Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c952f6c719c1bd972b5ec20d8d4c083268cd0d6e Author: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Date: Sat Jan 24 09:58:42 2015 +0000 i40e/i40evf: Bump Driver Versions Bump i40e to 1.2.8 and i40evf to 1.2.2 Change-ID: I64f47c3367ea8ff2a53068e895d7a1f60726c871 Signed-off-by: Sravanthi Tangeda <sravanthi.tangeda@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 21af70fbfe4fe1cec48c63332a83e9ce018bc330 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Sat Jan 24 09:58:41 2015 +0000 i40e/i40evf: Remove unused variable an_enable and function update_link_info An_enable was never used only set so lets remove it. The function update_link_info only did two things, call get_link_info and set an_enabled. Therefore we should also remove update_link_info and change all references to it to get_link_info. Change-ID: Ie3022680fa7a94bfd495a4f5fc76a73701d85569 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9df42d1a8fd8ac137671e3e6c0c87ca2101d90e0 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Sat Jan 24 09:58:40 2015 +0000 i40e: Fix the EMPR interrupt received handling We shouldn't trigger another EMPR when we receive an EMPR event. This patch handles EMPR event reception with a different state so that we can do the right thing for NVM. Change-ID: I9cac70b3658600f016a65beb6fb157e1c1f9adf9 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5098850c9b9bdc6a1572ac9f39da84683fc5fbb0 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Sat Jan 24 09:58:39 2015 +0000 i40e/i40evf: i40e_register.h updates Some registers have been removed so take them out and stop updating and looking at them. Change-ID: I33da922c8de993a94dd8b8d8a2ae2146b8ca1a27 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2b18e5914d5210b47782a6ef724f2257662fc4da Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Sat Jan 24 09:58:38 2015 +0000 i40e: Use #define for the VSI connection type Use #defined VSI connection type values instead of using magic numbers. Change-ID: I2f6cf7bf394d391e1c0fe61779e9e4ad8858154a Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 396642a6794bd7dc77271e5e5180de09ac3e1d33 Author: Nicholas Nunley <nicholas.d.nunley@xxxxxxxxx> Date: Sat Jan 24 09:58:37 2015 +0000 i40e/i40evf: restrict VC opcodes to their initial values Until the time a more robust versioning scheme is needed/implemented all established virtual channel opcode values should remain consistent between updates to the opcode enum. This patch repositions I40E_VIRTCHNL_OP_CONFIG_RSS to the end of the enum. In its current position this opcode displaces the initial value of I40E_VIRTCHNL_OP_EVENT and will cause PF/VF compatibility issues. Going forward the expectation is either: a) All future opcode additions will be added as the last element of the enum. Once VF drivers start making use of the new commands the virtual channel version will need to be incremented and drivers will need to implement a simple version check whereby VF drivers can only load on PFs with a >= version. b) or, if needed, design and implement a more complicated API negotiation capability. In either case PF drivers should always maintain backwards compatibility with earlier VF driver versions. Change-ID: Ie245daa09a231b6680ed793d648bdcc76caefe58 Signed-off-by: Nicholas Nunley <nicholas.d.nunley@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a132af24e8d45edadcc0d5ce62ac02a54efb944a Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Sat Jan 24 09:58:35 2015 +0000 i40e/i40evf: Refactor the receive routines Split the receive hot path code into two, one for packet split and one for single buffer. This improves receive performance since we only need to check if the ring is in packet split mode once per NAPI poll time, not several times per packet. The single buffer code is further improved by the removal of a bunch of code and several variables that are not needed. On a receive-oriented test this can improve single-threaded throughput. Also refactor the packet split receive path to use a fixed buffer for headers, like ixgbe does. This vastly reduces the number of DMA mappings and unmappings we need to do, allowing for much better performance in the presence of an IOMMU. Lastly, correct packet split descriptor types now that we are actually using them. Change-ID: I3a194a93af3d2c31e77ff17644ac7376da6f3e4b Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 694dc1cb0d32b0eef9b38b99ee8669cae558eff9 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Sat Jan 24 09:58:34 2015 +0000 i40e: rename debugfs clear_stats option Change debugfs command from "clear_stats pf" to "clear_stats port" to be clearer what the action is. Also, limit the action to the base PF, not the NPAR partitions. Change-ID: I22aa39c0962d83a83a985097b1000ed7f8c66f3f Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d1bbe0ea769cd63eb34f099ed4a97d2d23527321 Author: Kamil Krawczyk <kamil.krawczyk@xxxxxxxxx> Date: Sat Jan 24 09:58:33 2015 +0000 i40e: update Shadow RAM read/write functions This change is to refactor the read/write functions to support future work. Change-ID: I13150d5e3042f2c617362c0140dc7e6473ebcdee Signed-off-by: Kamil Krawczyk <kamil.krawczyk@xxxxxxxxx> Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5beef769ec839f7f7e9679648de471be99677537 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Fri Feb 20 20:55:56 2015 -0800 igbvf: cleanup msleep() and min/max() usage Fixed a few cases of when we used msleep() when we should have been using usleep_range(). Also updated the usage of min/max() to use min_t/max_t(). Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> commit 0340501b1cf7dc67bc53dcbe26d3c7d678157606 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Wed Jan 21 09:57:50 2015 +0000 igbvf: Fix code comments and whitespace Fix the code comments to align with the drivers/net/ commenting style. Also fix other checkpatch errors such as using tabs where possible and properly wrap lines to conform to the 80 char limit (unless it is a string). Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> commit 79849ebc0e06d775f53d160bb1a63b000fa0947b Author: David Ertman <david.m.ertman@xxxxxxxxx> Date: Tue Feb 10 09:10:43 2015 +0000 e1000e: initial support for i219 i219 is the next-generation LOM that will be available on systems with the Sunrise Point Platform Controller Hub (PCH) chipset from Intel. This patch provides the initial support for the device. Signed-off-by: Dave Ertman <david.m.ertman@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Tested-by: Carmen Edwards <carmenx.edwards@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1fc6aa96ead7535e0fa7458881b07cbc58a9fd89 Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Mon Feb 2 14:09:39 2015 +0900 PCI: rcar: Fix position of MSI enable bit The MSI enable is bit 31, not bit 28. Set the correct bit to initialize MSI. Per Phil, "this is odd as MSI works before and after your patch. Since bit 31 just represents the value of MSICAP0[16].MSIE, I think this may just be used for endpoints. However, you are correct that the bit used was wrong." Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e045d20bef41707dbba676e58624b54f9f39e172 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Feb 19 13:16:44 2015 +0530 drm: Adding edp1.4 specific dpcd macros Adding dpcd macros related to edp1.4 and link rates v2: Added DP_SUPPORTED_LINK_RATES macros Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c982bd90f58681d00363538167477e60e2c8f731 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 12:24:20 2015 +0100 drm/atomic-helpers: make mode_set hooks optional With runtime PM the hw might still be off while doing the ->mode_set callbacks - runtime PM get/put should only happen in the enable/disable hooks to properly support DPMS. Which essentially makes these callbacks useless for drivers support runtime PM, so make them optional. Again motivated by discussions with Laurent. Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 1af434a92871af93d97ce28e35497532a4167a0c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 12:24:19 2015 +0100 drm/atomic-helper: Rename commmit_post/pre_planes These names only make sense because of backwards compatability with the order used by the crtc helper library. There's not really any real requirement in the ordering here. So rename them to something more descriptive and update the kerneldoc a bit. Motivated in a discussion with Laurent about how to restore plane state for dpms for drivers with runtime pm. v2: Squash in fixup from Stephen Rothwell to fix a conflict with tegra. Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 27a28d32b4f22a4ae687837aeda6afb42116cca4 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Wed Feb 4 13:56:07 2015 +0900 extcon: max77843: Add max77843 MUIC driver This patch adds MAX77843 extcon driver to support for MUIC(Micro USB Interface Controller) device by using EXTCON subsystem to handle various external connectors. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit e52817faae359ce95c93c2b6eb88b16d4b430181 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Feb 2 12:21:59 2015 +0200 extcon: usb-gpio: Introduce gpio usb extcon driver This driver observes the USB ID pin connected over a GPIO and updates the USB cable extcon states accordingly. The existing GPIO extcon driver is not suitable for this purpose as it needs to be taught to understand USB cable states and it can't handle more than one cable per instance. For the USB case we need to handle 2 cable states. 1) USB (attach/detach) 2) USB-HOST (attach/detach) This driver can be easily updated in the future to handle VBUS events in case it happens to be available on GPIO for any platform. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 4c883abee08b13d7fac5e672159575bb7a3365a6 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Thu Jan 29 17:45:24 2015 +0900 extcon: max77693: Use HOST term to express USB-HOST cable instead of OTG term This patch unifies the term called 'USB_OTG' and 'USB_HOST' into USB_HOST. OTG(On-The-Go) function supports USB host and this driver sents 'USB-Host event. So, unifies term to USB_HOST. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> [cw00.choi: Fix patch title to indicate the correct meaning of patch] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 4f0be26a7939d8cae5d010b9de33550a366ceef4 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Thu Jan 29 17:45:23 2015 +0900 extcon: max77693: Fix cable name of MHL-TA This patch fixes extcon cable name of MHL-TA instead of MHL_TA to unify cable name style. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 88e8fda99a4c99a1a6482510655dbd88cccd221b Merge: 4225441 723cac4 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Feb 24 10:27:47 2015 +1100 Merge branch 'xfs-mmap-lock' into for-next commit 4225441a1eec45241efe529d23403d8ca3d1d71b Merge: 3cabb83 964aa8d9 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Feb 24 10:27:28 2015 +1100 Merge branch 'xfs-generic-sb-counters' into for-next Conflicts: fs/xfs/xfs_super.c commit 3cabb836d801c3ad791c2dc6be07ec5819ab0a37 Merge: 83d5f01 444a702 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Feb 24 10:24:07 2015 +1100 Merge branch 'xfs-misc-fixes-for-4.1' into for-next commit 3c7585b9901c335d10a04c8495164cb113c0b8f2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 16:59:29 2015 +0100 ARM: shmobile: sh73a0: Remove restart callback Remove the restart handling hack from the sh73a0 generic multiplatform case. Restart on DT-based sh73a0 platforms is now handled through the R-Mobile reset driver. This basically reverts commit cad900819fba0176 ("ARM: shmobile: sh73a0: Add restart callback"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bee7a18e85421ed3ec0131574378de10b5762d54 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:31:38 2015 +0100 ARM: shmobile: sh73a0 dtsi: Add PM domain support Add a device node for the System Controller, with subnodes that represent the hardware power area hierarchy. Hook up all devices to their respective PM domains. Note that unlike on R-Mobile A1 (r8a7740), PM domain D4 can be powered down without ill effects on s2ram behavior, just like on SH-Mobile AP4 (sh7372). Hence we can postpone adding a (minimal) device node for the Coresight-ETM hardware block. The System Controller is also used by the R-Mobile Reset driver, which can now restart the system. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 05813a8112cd0e38f14b53ecc2b381824cb2aeb4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 15:52:40 2015 +0100 ARM: shmobile: sh73a0: Remove unused sh73a0_add_standard_devices_dt() "ARM: shmobile: kzm9g-reference: Remove board C code and DT file" removed the last user of sh73a0_add_standard_devices_dt(). Hence remove this function. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 30225743852ed5c3e732d7debe6c1f473c807d62 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 15:52:39 2015 +0100 ARM: shmobile: sh73a0 dtsi: Add Cortex-A9 TWD node Add a node for the Private Timer and Watchdog, as found in the Cortex-A9 MPCore. Without this, there's no clocksource available during early kernel initialization, before cmt1 is initialized, leading to a lock-up if CONFIG_CPU_IDLE=y. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7a91cc14f3ff6c70855d25fe7b7c0592ab023050 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Feb 24 07:10:05 2015 +0900 ARM: shmobile: kzm9g-reference: Remove board C code and DT file Now that the sh73a0 generic multiplatform case has the same feature set as the kzm9g DT reference board code, we get rid of the latter. DT reference code in the future shall make use of the sh73a0 multiplatform support code with the generic SoC machine vector. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 17f0f738e51408d879ae3331a8a59f59cc00b57b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 15:52:37 2015 +0100 ARM: shmobile: kzm9g dts: Move Ethernet node to BSC Move the Ethernet node from the root of the device tree to the BSC node, as it's connected to the Bus State Controller. This allows the system to know the right position of the Ethernet node in the clock and PM domain hierarchy, and manage the clock and PM domain appropriately. Also rename the node's name from "lan9220" to "ethernet", to conform to ePAPR generic name recomendations. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 217b6e65e55325db2b3f0447c85db08c3a6921cf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 15:52:36 2015 +0100 ARM: shmobile: sh73a0 dtsi: Add Bus State Controller node Add a node for the Bus State Controller (BSC) on sh73a0, to which multiple external devices can be connected. The BSC is driven by the ZB clock, and located in PM domain A4S. A reference to the latter will be added later. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 36356bcc4d6a4208f9b6088e1df9781351c6d7bf Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Jan 9 14:08:52 2015 +0100 ARM: shmobile: kzm9g: Build DTS for Multiplatform Build the sh73a0 KZM9G board DTB in case of Multiplatform. The DT reference case will be removed in the future and can be ignored for now. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 682d2dfb1d54b3b8d4409cc80c0a73e965c943a3 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Jan 9 14:08:51 2015 +0100 ARM: shmobile: kzm9g dts: Sync with kzm9g-reference dts Sync the two DTS for the KZM9G board. The target is the file "sh73a0-kzm9g.dts" and it is made identical to the DT reference case with the exception of the compatbile string. In the future the DT reference file will go away. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> [geert: Update for recent changes to sh73a0-kzm9g-reference.dts] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8e8bffffdaf6b75fb1380bfbb80481d3073086c5 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Jan 9 14:08:50 2015 +0100 ARM: shmobile: sh73a0: Add Multiplatform support Enable sh73a0 Multiplatform support for the generic sh73a0 machine vector. No board support is enabled, and the board code for KZM9G DT Reference is left by itself. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0b52b2508b1e410c2e80408a580412d85401ecd3 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Jan 9 14:08:49 2015 +0100 ARM: shmobile: sh73a0: Introduce generic setup callback Add a generic sh73a0 machine setup callback for the upcoming sh73a0 multiplatform case. Cache needs to be configured, and legacy clocks must be omitted. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ded416ff3ae664c37ec4c270a3ab273b01218838 Merge: 89d463e b8e8ea1 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Feb 24 08:22:10 2015 +0900 Merge branch 'heads/dt-for-v4.1' into sh73a0-multiplatform-for-v4.1.base commit 3e5b6f05a23cc1ba92f429e524d6d5b67401132d Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Mon Feb 16 16:12:53 2015 +0000 drm/i915: Reset logical ring contexts' head and tail during GPU reset Work was getting left behind in LRC contexts during reset. This causes a hang if the GPU is reset when HEAD==TAIL because the context's ringbuffer head and tail don't get reset and retiring a request doesn't alter them, so the ring still appears full. Added a function intel_lr_context_reset() to reset head and tail on a LRC and its ringbuffer. Call intel_lr_context_reset() for each context in i915_gem_context_reset() when in execlists mode. Testcase: igt/pm_rps --run-subtest reset #bdw Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88096 Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> [danvet: Flatten control flow in the lrc reset code a notch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b8e8ea127d00f1b0c18d8c1ae1b8388e190d5052 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 22 01:26:37 2015 +0300 ARM: shmobile: r8a7794: add SDHI DT support Define the generic R8A7794 parts of the SDHI[012] device nodes. Based on the orginal patch by Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 444a702231412e82fb1c09679adc159301e9242c Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Tue Feb 24 10:17:04 2015 +1100 xfs: remove deprecated mount options We recently removed deprecated sysctls; may as well remove deprecated mount options as well, we've stated that they'd be gone by now in the docs. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3790a8cd8a145f14f773c7f42cd11fcfb62a6975 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Feb 24 10:16:04 2015 +1100 xfs: xfs_alloc_fix_minleft can underflow near ENOSPC Test generic/224 is failing with a corruption being detected on one of Michael's test boxes. Debug that Michael added is indicating that the minleft trimming is resulting in an underflow: ..... before fixup: rlen 1 args->len 0 after xfs_alloc_fix_len : rlen 1 args->len 1 before goto out_nominleft: rlen 1 args->len 0 before fixup: rlen 1 args->len 0 after xfs_alloc_fix_len : rlen 1 args->len 1 after fixup: rlen 1 args->len 1 before fixup: rlen 1 args->len 0 after xfs_alloc_fix_len : rlen 1 args->len 1 after fixup: rlen 4294967295 args->len 4294967295 XFS: Assertion failed: fs_is_ok, file: fs/xfs/libxfs/xfs_alloc.c, line: 1424 The "goto out_nominleft:" indicates that we are getting close to ENOSPC in the AG, and a couple of allocations later we underflow and the corruption check fires in xfs_alloc_ag_vextent_size(). The issue is that the extent length fixups comaprisons are done with variables of xfs_extlen_t types. These are unsigned so an underflow looks like a really big value and hence is not detected as being smaller than the minimum length allowed for the extent. Hence the corruption check fires as it is noticing that the returned length is longer than the original extent length passed in. This can be easily fixed by ensuring we do the underflow test on signed values, the same way xfs_alloc_fix_len() prevents underflow. So we realise in future that these casts prevent underflows from going undetected, add comments to the code indicating this. Reported-by: Michael L. Semon <mlsemon35@xxxxxxxxx> Tested-by: Michael L. Semon <mlsemon35@xxxxxxxxx> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit dd5e71274a6707c638d76b62361ae5d521ba6fb6 Author: Wang Sheng-Hui <shhuiw@xxxxxxxxxxx> Date: Tue Feb 24 10:15:04 2015 +1100 xfs: remove old and redundant comment in xfs_mount_validate_sb The error messages document the reason for the checks better than the comment and the comments about volume mounts date back to Irix and so aren't relevant any more. So just remove the old and redundant comment. Signed-off-by: Wang Sheng-Hui <shhuiw@xxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fdadf2676aeebbbfb7a28790471fb982fdf388fa Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Feb 24 10:14:04 2015 +1100 xfs: clarify async write failure ratelimit message Today, when the "failing async writes" get ratelimited, we see: XFS:: 62836 callbacks suppressed Aside from the extra ":" it's not entirely clear which message is being suppressed, especially if other messages or ratelimits are happening at the same time. Clarify this as i.e.: XFS (dm-11): Failing async write on buffer block 0x140090. Retrying async write. XFS: Failing async write: 62836 callbacks suppressed Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3b9ce795fa895e192991150aac03bc3f1614f360 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Feb 24 10:13:37 2015 +1100 xfs: log unmount events on console There are times, when doing triage and forensics, that we would like to know whether a filesystem was unmounted, or if the plug was pulled without a clean unmount. Log unmounts at the same level (NOTICE) as we log mounts. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b76687910693b1f6c32a3251a8291d67363bba34 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Feb 14 18:30:29 2015 +0000 drm/i915/skl: Tune IZ hashing when subslices are unbalanced When one EU is disabled in a particular subslice, we can tune how the work is spread between subslices to improve EU utilization. v2: - Use a bitfield to record which subslice(s) has(have) 7 EUs. That will also make the machinery work if several sublices have 7 EUs. (Jeff Mcgee) - Only apply the different hashing algorithm if the slice is effectively unbalanced by checking there's a single subslice with 7 EUs. (Jeff Mcgee) v3: Fix typo in comment (Jeff Mcgee) Issue: VIZ-3845 Cc: Jeff Mcgee <jeff.mcgee@xxxxxxxxx> Reviewed-by: Jeff Mcgee <jeff.mcgee@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cb0a08c1ed7daa16d13876e3e1b8787d95b25b0e Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:47 2015 -0200 drm/i915: don't reallocate the compressed FB at every frame With the current code we just reallocate the compressed FB at every FBC update: we have X in one frame, then in the other frame we need X again, but we check "needed < have" instead of "needed <= have". v2: Rebase after Jani addressed the other problems described in v1. Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d4a269373ddb33bf7a07d9b9b5e8294b76768cb1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Feb 23 16:59:27 2015 +0100 ARM: shmobile: Enable R-Mobile reset driver in multiplatform defconfig This is used on R-Mobile APE6 (r8a73a4), R-Mobile A1 (r8a7740), and SH-Mobile AG5 (sh73a0). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e489e38e3f880ec3ff3281c5ceafa3b750600556 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:43 2015 -0200 drm/i915: gen5+ can have FBC with multiple pipes So allow it. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 68b92147d53ad5a6fd59ab066210b988faf5a3c7 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:42 2015 -0200 drm/i915: HSW+ FBC is tied to pipe A So add code to consider this case. v2: Reorder the series, so drop the possible_framebuffer_bits chunk. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> (v1) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 95106753878fc3e60dde6346a71f4d0cb388cb48 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Feb 13 17:23:41 2015 -0200 drm/i915: extract intel_fbc_find_crtc() I want to make this code a little more complicated, so let's extract the function first. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0cea6502bf9c40c9da43439786788c997be43df3 Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Fri Feb 13 10:27:56 2015 -0600 drm/i915: Request full SSEU enablement on Gen9 On Gen9 the render power gating can leave slice/subslice/EU in a partially enabled state. We must make an explicit request for full SSEU enablement through the Render Power Clock State register when resuming render work. This register is save/ restored in the logical ring context image for execlist submission mode. Initialize its value in each LRC image to request full enablement according to the device SSEU config. Thanks to Sharma Ankitprasad and Akash Goel for highlighting the issue and proposing the initial fix on which this patch is based. v2: Adjusted the names of the power gating support flags to fit update of an earlier patch. Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Reviewed-by: "Akash Goel <akash.goel@xxxxxxxxx>" Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f992aba1eb5a8b57d6e9c9b22cd90ba7aec0e26 Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Fri Feb 13 10:27:55 2015 -0600 drm/i915/skl: Add SKL HW status to SSEU status Add a new section to the 'i915_sseu_status' debugfs entry to report the currently enabled counts of slice, subslice, and execution units on the device. The count of enabled subslice per slice represents the most enabled subslice on any one slice for devices where imbalances may exist. Similarly, the count of enabled EU per subslice represents the most enabled EU on any one subslice. Collect this device status for Skylake by reading the Gen9 power gate control ack message registers. Power gate control operates on EU in pairs, therefore our reported counts of enabled EU can be overestimated by one for each pair in which one EU is fused-off. Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3873218f359a411bf98f6d1d6d15a44f64933163 Author: Jeff McGee <jeff.mcgee@xxxxxxxxx> Date: Fri Feb 13 10:27:54 2015 -0600 drm/i915/skl: Determine SKL slice/subslice/EU info Read fuse registers to determine the available slice total, subslice total, subslice per slice, EU total, and EU per subslice counts of the SKL device. The EU per subslice attribute is more precisely defined as the maximum EU available on any one subslice, since available EU counts may vary across subslices due to fusing. Set flags indicating the SKL device's slice/subslice/EU (SSEU) power gating capability. Make all values available via debugfs entry 'i915_sseu_status'. v2: Several small clean-ups suggested by Damien. Most notably, used smaller types for the new device info fields to reduce memory usage and improved the clarity/readability of the method used to extract attribute values from the fuse registers. Signed-off-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 744cadba1ae6b80b413aea87835855dcccad86fd Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Jan 21 14:01:37 2015 +0900 ARM: shmobile: No R-Car Gen2 CMA reservation when HIGHMEM=n Allow R-Car Gen2 platforms to boot with CMA enabled and HIGHMEM disabled. This patch adds code to check if the R-Car Gen2 specific memory reservation window is included in the kernel memory range or not. When HIGHMEM is disabled the R-Car Gen2 reservation area is outside the kernel memory range and in such case the memory reservation is simply skipped over. Without this patch the kernel boot hangs when CMA is enabled and HIGHMEM is disabled on the r8a7791 Koelsch hardware platform: WARNING: CPU: 1 PID: 1 at mm/cma.c:113 cma_init_reserved_areas+0x88/0x1d4() ... WARNING: CPU: 1 PID: 1 at mm/cma.c:121 cma_init_reserved_areas+0xf8/0x1d4() ... Unable to handle kernel NULL pointer dereference at virtual address 00000160 pgd = c0003000 [00000160] *pgd=80000040004003, *pmd=00000000 Internal error: Oops: 206 [#1] SMP ARM Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 3.19.0-rc4-koelsch-01450-g7f9b6075ce12c3ea-dirty #735 Hardware name: Generic R8A7791 (Flattened Device Tree) task: edc553c0 ti: edc56000 task.ti: edc56000 PC is at set_pfnblock_flags_mask+0x54/0xa0 LR is at 0x440 In the current shmobile_defconfig HIGHMEM is enabled while CMA is disabled, so to trigger this the kernel configuration for both CMA and HIGHMEM needs to be adjusted. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fd9454ab51fa92f43ae5b7a71c42f2ee8417c2a2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Feb 13 16:41:01 2015 -0800 ARM: shmobile: r8a7779: Remove redundant cpu_disable implementation By default only the non-boot CPUs can be hotplugged if the smp_operations structure doesn't have the cpu_disable function pointer set. r8a7779_cpu_disable() implements the same logic, only non-boot CPUs can be hotplugged, so it's redundant to override the default behavior. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bb04883b2519b23bb4d3f4f7dac51cdda9a5e61d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Tue Jan 20 20:58:20 2015 +0900 ARM: shmobile: Remove mach/uncompress.h Convert ARCH_SHMOBILE_LEGACY to make use of <debug/uncompress.h> and remove the now unused <mach/uncompress.h>. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 814979eb8494c2269f4907ef0494f199d6d06ec2 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Tue Jan 20 20:58:10 2015 +0900 ARM: shmobile: Remove mach/clkdev.h Move over ARCH_SHMOBILE_LEGACY to use the default legacy ARM implementations of __clk_get() and __clk_put() in <asm/clkdev.h> by deselecting HAVE_MACH_CLKDEV. This has the nice side effect that <mach/clkdev.h> is no longer used and can be removed. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4fa9c6e24b2dbb1bdc62280834c07c34d7d9c1f0 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Tue Jan 20 20:58:00 2015 +0900 ARM: shmobile: Remove mach/system.h The file <mach/system.h> is no longer included from anywhere so clean up the code by removing mach-shmobile/include/mach/system.h Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5b28255278dd7e594c8dde317c2498b7dcbf900d Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Sun Feb 22 18:20:09 2015 -0800 audit: reduce mmap_sem hold for mm->exe_file The mm->exe_file is currently serialized with mmap_sem (shared) in order to both safely (1) read the file and (2) audit it via audit_log_d_path(). Good users will, on the other hand, make use of the more standard get_mm_exe_file(), requiring only holding the mmap_sem to read the value, and relying on reference counting to make sure that the exe file won't dissapear underneath us. Additionally, upon NULL return of get_mm_exe_file, we also call audit_log_format(ab, " exe=(null)"). Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> [PM: tweaked subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 4766b199ef9e1ca6316ee4f8f9d80c2ba1ed0290 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Sun Feb 22 18:20:00 2015 -0800 audit: consolidate handling of mm->exe_file This patch adds a audit_log_d_path_exe() helper function to share how we handle auditing of the exe_file's path. Used by both audit and auditsc. No functionality is changed. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> [PM: tweaked subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit c6535e1e0361157ea073b57b626d0611b7c4c7a0 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:51 2015 +0900 Documentation: Remove ZBOOT MMC/SDHI utility and docs Remove ZBOOT MMC/SDHI Documentation for sh7372 together wit the vrl4 utility. Without sh7372 and Mackerel support these files are no longer useful. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit edf41009060442258ed3090fc782835c4f9f831f Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:41 2015 +0900 ARM: shmobile: sh7372 dtsi: Remove Legacy DTSI file Remove the sh7372 DTSI file for the now unsupported sh7372 SoC. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1da64fe65afe59c3143d1f8e678256df6495e7a9 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:31 2015 +0900 ARM: shmobile: sh7372: Remove DT binding documentation Remove DT compatible string documentation for the now removed sh7372 SoC. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 59b89af1d5551c12bf710840d5215a186607ca23 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:20 2015 +0900 ARM: shmobile: sh7372: Remove Legacy C SoC code Remove support for the legacy Cortex-A8 based sh7372 SoC. The Linux kernel still lacks DT bindings for the sh7372 INTC interrupt controller so DT multiplatform support is not possibile. Also, the sh7372 SoC never went into mass production anyway so to aid migration to DT multiplatform simply get rid of sh7372 support. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 10c7fcbd0f00a0d7e6039fcfcb04dca80c0ff362 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:09 2015 +0900 ARM: shmobile: sh7372: Remove ZBOOT MMC/SDHI support Remove the sh7372 implementation and the shared ZBOOT MMC and SDHI support code from the compressed ARM boot loader. With this in place it is no longer possible to boot any self-contained kernel for sh7372 directly from Mask ROM via SDHI and MMCIF hardware. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d1e068fd24c399d26880456eb5e117a188d4ce70 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:19:00 2015 +0900 ARM: shmobile: mackerel: Remove from MAINTAINERS Remove the mackerel_defconfig from the MAINTAINERS file. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2ed4ea34f54345d462fc27011498500d4ac31ca6 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:18:49 2015 +0900 ARM: shmobile: mackerel: Remove defconfig Remove the defconfig for the no longer supported mackerel board. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 34dc938f4ddd39851ecd2f1d21c431e6c3e3baa2 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:18:39 2015 +0900 ARM: shmobile: mackerel: Remove mach-type entry Remove the mackerel entry from the mach-types file. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1da7d6f424f7dfc557d019a172c08af0365c5739 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:18:29 2015 +0900 ARM: shmobile: mackerel: Remove DT binding documentation Remove the DT compatible string documentation for the no longer supported Mackerel board. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c1b7506b52f9a112c64a44d449fb9e2a55f2060d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:18:19 2015 +0900 ARM: shmobile: mackerel dts: Remove Legacy DTS file Remove the DTS file for the no longer supported Mackerel board. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a521422ea4ae6128474f7705f02f6ab5cebf8675 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:18:08 2015 +0900 ARM: shmobile: mackerel: Remove Legacy C board code Remove legacy C code for the sh7372 Mackerel board. There is no DT multiplatform implementation available for the sh7372 SoC so simply phase out the board and SoC code support. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 040d64d6e0ef6b583ec6572d2266b0077c6184cf Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jan 26 15:17:58 2015 +0900 ARM: shmobile: mackerel: Remove ZBOOT code Remove ZBOOT support code for Mackerel. With this patch in place it is no longer possible to boot a self-contained kernel directly from the reset vector. ZBOOT is still supported on kzm9g. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d4578204e7af962c70a649ce2a46dc6fbe137db6 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:57 2015 +0100 ARM: shmobile: r8a7778 dtsi: Add Bus State Controller node Add a node for the Bus State Controller (BSC) on r8a7778, to which multiple external devices can be connected. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1898fe1952c2aeb847c4aa5b897605373f0498cf Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:53 2015 +0100 ARM: shmobile: bockw: add USB, VIN pin descriptions to DT Adds pin control info for USB host and video-in devices. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 05cabb839e87a69f94d1e97fd2300b70f688122b Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:52 2015 +0100 ARM: shmobile: r8a7778: add internal ethernet controller to DT Internal Ethernet controller DT entry with clock information. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 66462be7c6f986903702505e98f42230e22bf4c7 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:50 2015 +0100 ARM: shmobile: r8a7778: add MSTP clock assignments to DT Assigns clocks to i2c*, tmu*, scif*, mmcif, sdhi*, and hspi*. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 43cbec8577cfd66713416c3ad33a9856edcaffb9 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:49 2015 +0100 ARM: shmobile: r8a7778: implement SoC and board CCF support Disables the legacy clock framework and passes the mode bits to the CPG driver if CCF is enabled. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 93aa970d2b0ce41efb7e5e6b94aaa66e8349a510 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:47 2015 +0100 ARM: shmobile: r8a7778: Common clock framework DT description Declares all r8a7778 clocks supported by the legacy clock framework, plus tmu2. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> [horms: only included dtsi changes] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 83054671d28db9f1dbac1d3d1bf3b50b128e06ba Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:46 2015 +0100 ARM: shmobile: r8a7778: add CPG register bits header Enumerates CPG driver custom clocks and MSTP clock enable bits. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8c4892a633f08edbc54b6b59a673f76bd1cd7e94 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Feb 16 17:58:45 2015 +0100 ARM: shmobile: r8a7778: synchronize dts with reference platform This moves everything to the legacy dts that is missing there to make it suitable for use with multiplatform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 12920b02c0e438f2b8f636c26755a0361f9966f0 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:43:01 2015 +0100 PM / Domains: R-Mobile SYSC: Document R-Mobile APE6 (r8a73a4) binding R-Mobile APE6 (r8a73a4) is handled fine by the same driver and bindings. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d1e21e3f57513c5ac09d722590f5ad6eee7ae1df Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:04:46 2015 +0100 ARM: shmobile: ape6evm dts: Drop console= bootargs parameter Since ("ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform"), ape6evm is restricted to booting from DT, so chosen/stdout-path is always used, and we can drop the "console=" parameter from chosen/bootargs. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9d07d414d4c33d862fc41e22c473a662996b0f4e Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Feb 24 06:38:14 2015 +0900 ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform This removes the remains of the legacy ape6evm platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8ba1f188d605a1b3dca8073d43e9dfba654775b2 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Feb 17 16:04:44 2015 +0100 ARM: shmobile: ape6evm-reference: Remove board C code and DT file Now that the r8a73a4 generic multiplatform case has the same features as the APE6EVM DT reference board code, we get rid of the latter. DT reference code in the future shall make use of the r8a73a4 multiplatform support code with the generic SoC machine vector. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> [geert: Update Documentation/devicetree/bindings/arm/shmobile.txt] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e4ba0a9bddff3ba52cec100414d2f178440efc91 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:04:43 2015 +0100 ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug Currently the pin function controller (which is also a GPIO controller) is instantiated before the interrupt controllers due to the order in the DTS. At that time, the irq domains for the interrupt controllers referenced by its interrupts-extended property cannot be found yet: irq: no irq domain found for /interrupt-controller@e61c0000 ! Nevertheless, the core OF probing code ignores this failure, besides a debug message that's not normally printed: not all legacy IRQ resources mapped for pfc and continues initialization of the device. Then, the sh-pfc driver cannot find any IRQ resources, and thinks no interrupts are available, causing gpio-keys to fail later: gpio-keys keyboard: Unable to claim irq 0; error -22 gpio-keys: probe of keyboard failed with error -22 Move the pin function controller node after the interrupt controller nodes it references to work around the bug in the core OF probing code. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a656c603889c256e3d05e79e57714aa88d179903 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:04:42 2015 +0100 ARM: shmobile: ape6evm dts: Move Ethernet node to BSC Move the Ethernet node from the ad-hoc lbsc node to the BSC node, as its connected to the Bus State Controller. This allows the system to know the right position of the Ethernet node in the clock and PM domain hierarchy, and manage the clock and PM domain appropriately. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 271b3ad26187fc7b47a74510b01193b506c60dbf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Feb 17 16:04:41 2015 +0100 ARM: shmobile: r8a73a4 dtsi: Add Bus State Controller node Add a node for the Bus State Controller (BSC) on r8a73a4, to which multiple external devices can be connected. The BSC is driven by the ZB clock, and located in PM domain C4. A reference to the latter will be added later. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 662dd64ff0691a0f2ab103448295df05dc026d5d Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jan 20 13:51:41 2015 +0100 ARM: shmobile: r8a73a4: Add MSTP clock assignments to DT Assigns clocks to dmac, i2c*, cmt1, thermal, scif*, sdhi*, and mmcif*. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ccc83dce9d4ebdfc5a74045c5a00518f08884313 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jan 20 13:51:40 2015 +0100 ARM: shmobile: ape6evm: Disable legacy clock initialization Disables r8a73a4_clock_init() if CCF is enabled. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a76809a329d6ebae6cdf995670cc770304e265c0 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jan 20 13:51:39 2015 +0100 ARM: shmobile: r8a73a4: Common clock framework DT description Declares all r8a73a4 clocks supported by the legacy clock framework. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bdba0101c7e90e60481018005654227bdfd67aec Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jan 20 13:51:38 2015 +0100 ARM: shmobile: r8a73a4: Add CPG register bits header Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 89d463ea106dba530786a2815fd174f9e6eab71f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 11:11:28 2015 +0100 drivers: bus: Add Simple Power-Managed Bus Driver Add a driver for transparent busses that don't need a real driver, but where the bus controller is part of a PM domain, or under the control of a functional clock. Typically, the bus controller's PM domain and/or clock must be enabled for child devices connected to the bus (either on-SoC or externally) to function. Hence the sole purpose of this driver is to enable its clock and PM domain (if exist(s)), which are specified in the DT and managed from platform and PM domain code, and to probe for child devices. Due to the child-parent relationship with devices connected to the bus, PM domain and clock state transitions are handled in the correct order. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b1e5bbd61eb7584caa61ab3b89f3a66c3d5b4dd3 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 11:11:27 2015 +0100 drivers: bus: Add Renesas Bus State Controller (BSC) DT Bindings The bindings for the BSC extend the bindings for "simple-pm-bus". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7e7c17f10484d3bad38ea4dddc98485a8a40e4aa Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 11:11:26 2015 +0100 drivers: bus: Add Simple Power-Managed Bus DT Bindings Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6320c41198c76f799e3e34da48a1f2a88ef4cc68 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 11:11:25 2015 +0100 drivers: bus: Sort Makefile entries alphabetically Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 13fbf3c8d0f750a52b9ddb9be7a8251789fb62b6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Feb 5 11:11:24 2015 +0100 drivers: bus: Sort Kconfig entries alphabetically Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3453ca9e4f51a0e6865d303f4e428cb6f630594f Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Dec 30 23:21:45 2014 +0300 ARM: shmobile: r8a7790: add ADSP clocks Add the ADSP clocks to the CPG and MSTP5 nodes of the R8A7790 device tree. Based on the original patch by Konstantin Kozhevnikov <konstantin.kozhevnikov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ae65a8ae4c25c7ea01204c9d033cd47da3000cf8 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Dec 30 23:20:34 2014 +0300 ARM: shmobile: r8a7791: add ADSP clocks Add the ADSP clocks to the CPG and MSTP5 nodes of the R8A7791 device tree. Based on the original patch by Konstantin Kozhevnikov <konstantin.kozhevnikov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 457acc4a6ce8fe821aed4f254e72a76c88673712 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 01:26:45 2015 +0300 ARM: shmobile: henninger: add CAN0 DT support Define the Henninger board dependent part of the CAN0 device node. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3cf0188461def8f732fefce3975cab0189220574 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 01:25:25 2015 +0300 ARM: shmobile: r8a7791: add CAN DT support Define the generic R8A7791 parts of the CAN0/1 device nodes. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b324252cc18d52d5752942a8574c22229153c58f Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 01:24:08 2015 +0300 ARM: shmobile: r8a7791: add CAN clocks The R-Car CAN controllers can derive the CAN bus clock not only from their peripheral clock input (clkp1) but also from the other internal clock (clkp2) and external clock fed on CAN_CLK pin. Describe those clocks in the device tree, along with the USB_EXTAL clock from which clkp2 is derived. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6a7742b4eea5de4af68bb62c20ca56e38b8e5b8b Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 00:34:42 2015 +0300 ARM: shmobile: r8a7790: add CAN DT support Define the generic R8A7790 parts of the CAN0/1 device nodes. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 41650f406cdc4a420d5c08e1b407f6420323a04b Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 00:33:25 2015 +0300 ARM: shmobile: r8a7790: add CAN clocks The R-Car CAN controllers can derive the CAN bus clock not only from their peripheral clock input (clkp1) but also from the other internal clock (clkp2) and external clock fed on CAN_CLK pin. Describe those clocks in the device tree, along with the USB_EXTAL clock from which clkp2 is derived. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4a5fcc685a84751bbec5653e942fb3d61470a66c Author: Niklas Söderlund <niso@xxxxxx> Date: Tue Feb 17 14:31:55 2015 +0100 ARM: shmobile: emev2-kzm9d dts: Add PFC information for uart1 Configure the pinmux on kzm9d to use the serial connector for uart1. Signed-off-by: Niklas Söderlund <niso@xxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e7cdf791dbc456329703424822e85eeb31fc1a54 Author: Niklas Söderlund <niso@xxxxxx> Date: Tue Feb 17 14:31:54 2015 +0100 ARM: shmobile: emev2 dtsi: Add PFC information With this information all GPIOs can make use of the PFC functionality. Signed-off-by: Niklas Söderlund <niso@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 98f60f8600694ce05c0cba34acce4d77acaea4f9 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 15:57:42 2015 +0100 ARM: shmobile: r8a7791: smp: remap whole apmu region Documentation says the last register is at 0x184 (CAxCPUCMCR), so use proper length. Current APMU code accesses CAxCPUnCR which is currently outside of the remapped area. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1d66f72d2c79b76b7353ea4e42f33521fa839f81 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 15:57:41 2015 +0100 ARM: shmobile: r8a7790: smp: remap whole apmu region Documentation says the last register is at 0x184 (CAxCPUCMCR), so use proper length. Current APMU code accesses CAxCPUnCR which is currently outside of the remapped area. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 83a0731b39f3bc2421960e6169f8440ca673a20f Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Dec 11 01:42:12 2014 +0200 ARM: shmobile: koelsch: Add DU HDMI output support Add DT nodes for the ADV7511 HDMI encoder and its HDMI output connector and configure the DISP pin group that drives the HDMI transmitter DE pin. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2ea0d4ec39ac837e34c07b4783a7c900940e6eaf Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Thu Jan 29 10:41:24 2015 +0900 ARM: shmobile: r8a7791: Correct SDHI clock labels and output-names There appears to have been some inconsistency and confusion here as on the r8a7790 these clocks are referred to as SD(HI)1 and SD(HI)2 while on the r8a7791 and r8a7794 they are referred to as SD(HI)2 and SD(HI)3. Fixes: 59e79895b95892863 ("ARM: shmobile: r8a7791: Add clocks") Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 5e7e155483dfbf590be9b05e53ae954dced73253 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Jan 5 09:40:49 2015 +0900 ARM: shmobile: r8a7794: Correct SDHI clock base address, labels and output-names * Correct base address of SD3 div6 clk. * Update div6 clock node labels There appears to have been some inconsistency and confusion here as on the r8a7790 these clocks are referred to as SD(HI)1 and SD(HI)2 while on the r8a7791 and r8a7794 they are referred to as SD(HI)2 and SD(HI)3. This has no run-time affect as the clock nodes are not currently used. Fixes: 8e181633e6ca96049 ("ARM: shmobile: r8a7794: Add SDHI clocks to device tree") Reported-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit a895b7cda38cd2fa155be22b531d164f17ec84ec Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 10:45:56 2015 +0200 ARM: shmobile: r8a7794: alt: Enable ethernet controller Enable the ethernet controller for the Alt board. Pin muxing entries are currently left out as r8a7794 pin control support isn't available yet. We thus rely on the boot loader to configure ethernet pins for now. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 82818d3482badfa88f66b3abbac838daf7e35b97 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 10:45:55 2015 +0200 ARM: shmobile: r8a7794: Add ethernet controller to device tree Add a DT node for the on-SoC ethernet controller device. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1cb2794f608244312515ac41e82378cb2d58d74e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 11:13:25 2015 +0200 ARM: shmobile: r8a7794: Add IPMMU DT nodes Add the six IPMMU instances found in the r8a7794 to DT with a disabled status. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f1951852ed17684f6033e96a9faf3dbe67c163ae Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 11:13:24 2015 +0200 ARM: shmobile: r8a7791: Add IPMMU DT nodes Add the seven IPMMU instances found in the r8a7791 to DT with a disabled status. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 70496727c08262c69cbeac10dfefada745b46869 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 11:13:23 2015 +0200 ARM: shmobile: r8a7790: Add IPMMU DT nodes Add the six IPMMU instances found in the r8a7790 to DT with a disabled status. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bd8474853f9de32a963fb06569552833f756b63d Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 27 19:12:17 2015 +0200 ARM: shmobile: r8a7794: Add DMAC devices to DT Instantiate the two system DMA controllers in the r8a7794 device tree. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3ce1bc08efdd1c1dfba123e802604c0e853ae5db Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:17:39 2015 +0100 ARM: shmobile: kzm9g-reference dts: Declare the full 512 MiB of RAM Traditionally, the first 16 MiB of RAM was reserved for the RT processor. However, this is incompatible with CONFIG_AUTO_ZRELADDR=y, which requires that the start address of physical memory is a multiple of 128 MiB. As CONFIG_AUTO_ZRELADDR=y is enabled for multi-platform kernels, declare RAM to start at 0x40000000. While at it, reclaim the last 8 MiB of RAM, too, so the full 512 MiB is available. Note that kzm9g_defconfig still has CONFIG_MEMORY_START=0x41000000 and CONFIG_MEMORY_SIZE=0x1f000000, so before the advent of DT we scribbled over the last 8 MiB, too. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 89ebd5459c3c43536f3dbec19216e97179647673 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:17:38 2015 +0100 ARM: shmobile: kzm9g dts: Declare the full 512 MiB of RAM Traditionally, the first 16 MiB of RAM was reserved for the RT processor. However, this is incompatible with CONFIG_AUTO_ZRELADDR=y, which requires that the start address of physical memory is a multiple of 128 MiB. As CONFIG_AUTO_ZRELADDR=y is enabled for multi-platform kernels, declare RAM to start at 0x40000000. While at it, reclaim the last 8 MiB of RAM, too, so the full 512 MiB is available. Note that kzm9g_defconfig still has CONFIG_MEMORY_START=0x41000000 and CONFIG_MEMORY_SIZE=0x1f000000, so before the advent of DT we scribbled over the last 8 MiB, too. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 09940bf079454a17c0bc298a4ca3678ce530b858 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jan 6 20:56:06 2015 +0100 ARM: shmobile: sh73a0 dtsi: Add selectable sources to DIV6 clocks Specifies clock sources and register bits. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> [geert: Drop renesas,src-shift/renesas,src-width, pad to 4 or 8 parents] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 56a215d66b1eee870a6b90a8c245dfc3e503a137 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:56:05 2015 +0100 ARM: shmobile: sh73a0 dtsi: Add missing INTCA0 clock for irqpin module This clock drives the irqpin controller modules. Before, it was assumed enabled by the bootloader or reset state. By making it available to the driver, we make sure it gets enabled when needed, and allow it to be managed by system or runtime PM. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8ac627fa8ef0f98f914690515aa3bf376d7a880d Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 6 20:42:09 2015 +0100 ARM: shmobile: kzm9g-reference dts: Add st1232 touchscreen node Enable the kzm9g touchscreen controller in the board's DT file. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 070048dc8879499533f587b8ebdb990f5a29d08b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:42:08 2015 +0100 ARM: shmobile: kzm9g-reference dts: Add r2025sd rtc node Add a DT node for the R2025D real-time clock, which is connected to i2c0. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4bd1dd503aa2a6cfeb18a48d1da01662dd5124e1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:42:07 2015 +0100 ARM: shmobile: kzm9g-reference dts: Add adxl345 accelerometer node Add a DT node for the ADXL345 three-axis digital accelerometer sensor, which is connected to i2c0. As trivial i2c devices are matched against the first compatible entry only, compatibility is declared with "adi,adxl34x" only for now. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> The device needs an interrupt to operate properly. Specify the two interrupts used on the board. While at it rename the DT node to accelerometer@1d to describe the device's function instead of its model. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 56b7271c9dbf029d288e4fbcae72e405e56ae856 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:42:06 2015 +0100 ARM: shmobile: kzm9g-reference dts: Add ak8975 magnetometer node Add a DT node for the AK8975 magnetometer sensor, which is connected to i2c0. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Specify the device interrupt to avoid polling for end of conversion. While at it rename the DT node to compass@c to describe the device's function instead of its model. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5c9e276095a9607f530f94e219daf2996b1360fa Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 6 20:42:05 2015 +0100 ARM: shmobile: kzm9g-reference dts: Sort i2c0 children by unit address While at it rename the ak4648 node to "codec" to describe the device's function instead of its model, and move its device-specific property after its generic properties. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 48bdf06dd975fb01e54e0b0406de720ebeeb55c7 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 6 20:42:04 2015 +0100 ARM: shmobile: sh73a0 dtsi: Set control-parent for all irqpin nodes The sh73a0 INTC can't mask interrupts properly most likely due to a hardware bug. Set the control-parent property to delegate masking to the parent interrupt controller. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fe7c20fa689d3b9230be0b552f667c043d11ed75 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Wed Jan 21 17:17:39 2015 +0100 ARM: shmobile: r8a7740 dtsi: add remaining DIV6 clocks This adds the remaining DIV6 clocks and all possible parents for the SUB clock. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit aa01bf614842e774b093f4f02cbc0d473f479e7c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jan 20 14:08:13 2015 +0100 ARM: shmobile: Enable ape6evm board in multiplatform defconfig Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5985de6754a6fc22fbf7e4b6033d4bfa0240a63a Author: Ameen Ali <ameenali023@xxxxxxxxx> Date: Mon Feb 23 15:38:00 2015 -0500 audit: code clean up Fixed a coding style issue (unnecessary parentheses , unnecessary braces) Signed-off-by: Ameen-Ali <Ameenali023@xxxxxxxxx> [PM: tweaked subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit efef73a1a206c4b5e37e5c63a361243ed1603eff Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Mon Feb 23 15:38:00 2015 -0500 audit: don't reset working wait time accidentally with auditd During a queue overflow condition while we are waiting for auditd to drain the queue to make room for regular messages, we don't want a successful auditd that has bypassed the queue check to reset the backlog wait time. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit a77ed4e5689627b0e9ac0a3532521b31c6daa99c Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Mon Feb 23 15:37:59 2015 -0500 audit: don't lose set wait time on first successful call to audit_log_start() Copy the set wait time to a working value to avoid losing the set value if the queue overflows. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit f1aaf26224bee779012aab136e5373ce3487982c Author: Imre Palik <imrep@xxxxxxxxx> Date: Mon Feb 23 15:37:59 2015 -0500 audit: move the tree pruning to a dedicated thread When file auditing is enabled, during a low memory situation, a memory allocation with __GFP_FS can lead to pruning the inode cache. Which can, in turn lead to audit_tree_freeing_mark() being called. This can call audit_schedule_prune(), that tries to fork a pruning thread, and waits until the thread is created. But forking needs memory, and the memory allocations there are done with __GFP_FS. So we are waiting merrily for some __GFP_FS memory allocations to complete, while holding some filesystem locks. This can take a while ... This patch creates a single thread for pruning the tree from audit_add_tree_rule(), and thus avoids the deadlock that the on-demand thread creation can cause. Reported-by: Matt Wilson <msw@xxxxxxxxxx> Cc: Matt Wilson <msw@xxxxxxxxxx> Signed-off-by: Imre Palik <imrep@xxxxxxxxx> Reviewed-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 5e3d31896b8762022d36c006c4e4433658fdd181 Merge: b7853d7 f962f84 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Feb 23 15:08:37 2015 -0500 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Hi Dave, the following patch set reduces code duplication in probe/pci-resume/eeh-resume and remove/pci-suspend/eeh-error and UE-error detect/recovery paths. New helper routines have been introduced for this purpose. Pls apply this set to the net-next tree. Thanks! Patch 1 refactors the alloc/free code of adapter struct's fields into a new set of helper routines -- be_drv_init/cleanup(). Patch 2 gets rid of the be_get_initial_config() routine as be_get_config() is the place holder for related code. Patch 3 introduces a new helper routine be_func_init() to execute the initialization code used in probe/pci-resume/eeh-resume to remove code duplication. Patch 4 introduces a wrapper for scheduling/canceling error detection task on similar lines to the be_worker task. Patch 5 refactors UE error detection and recovery code on similar lines to EEH code. Cleaning up resources is done in the error detection routine followed by error recovery. Patch 6 gets rid of the lancer_test_and_set_rdy_state() routine as the same code now available in be_func_init(). Patch 7 creates a new helper routine be_resume() for all the common code in be_probe(), be_pci_resume() and be_eeh_resume(), to reduce code duplication. Patch 8 creates a new helper routine be_cleanup() for all the common cleanup code duplicated in the suspend/EEH err detection paths. Patch 9 moves be_func_init() inside be_setup() as everytime be_setup() is called, the driver will have to wait for the function/FW to be be initialized. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f962f840f81f5b9f2df136dd44872f18a82def38 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:16 2015 -0500 be2net: move be_func_init() call inside be_setup() Every time be_setup() is called, the driver will have to wait for the function/FW to be properly initialized. So, it make sense to move this call inside be_setup(). Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87ac1a5296291d557080fb544f445be3bce6c51f Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Mon Feb 23 04:20:15 2015 -0500 be2net: refactor adapter resource cleanup sequence into be_cleanup() Most of the resource cleanup sequences performed in be_suspend(), be_eeh_err_detected() and be_err_detection_task() are same. Moved the common code to a new routine be_cleanup() to avoid code duplication. 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 484d76fd5154d7d7dcc8e5928a947deb9cc0b94c Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Mon Feb 23 04:20:14 2015 -0500 be2net: refactor adapter resource initialzation sequence into be_resume() Most of the adapter initialisation sequences performed in be_resume(), be_eeh_resume() and be_err_recover() are same. Renamed be_resume() to be_pci_resume() and moved the common code to a new routine be_resume() to avoid code duplication. 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 9fa465c0ce0d99f098195d7b0a550aeb1b2a8c44 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:13 2015 -0500 be2net: remove code duplication relating to Lancer reset sequence The steps needed for Lancer's reset/initialization sequence are: a) wait for SLIPORT_STAUS RDY bit to be set b) set the SLIPORT_CONTROL IP bit c) repeat step "a" The code needed for this sequence is already covered by the be_func_init() routine (with minor modifications.) So, get rid of the lancer_test_and_set_rdy_state() and lancer_provisioning_error() routines that unnecessarily duplicate this code. Also fixed the error recovery function to take care of these changes Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0e1b319bbf345e8b8cc8bd7702cc6c33db074d9 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Mon Feb 23 04:20:12 2015 -0500 be2net: refactor error detect/recovery function Currently when an error is detected, the queue resources are being cleaned up in the recovery routine. The resources are better cleaned up in the error detection routine itself (similar to EEH code.) So, this patch re-factors error processing logic to follow the following sequence: - check if there is an error in adapter - if error, - cleanup resources - attempt recovery The patch renames lancer_recover_func() to be_err_recover() as this routine will be used in the future for error recovery on Skyhawk too. 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 eb7dd46c634fa5b2f2039791bd2e79343318d6e5 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:11 2015 -0500 be2net: use a wrapper to schedule and cancel error detection task Also rename func_recovery_work/task to err_detection_work/task as error detection is the primary goal of this task while recovery is not guaranteed. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca3de6b29d09585bdb7b5af2e12f815468120184 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:10 2015 -0500 be2net: refactor function initalization sequence into be_func_init() Function initialization sequence is executed in be_probe(), be_resume and be_eeh_resume(). Move this code to a new routine called be_func_init() to prevent code duplication. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b085ba9271a252b1e3f836ab5df202c51be4f2f Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:09 2015 -0500 be2net: get rid of be_get_initial_config() call from be_probe() Most of the code to fetch the adapter state is in be_setup()->be_get_config(). So, move the code from be_get_initial_config() to be_get_config(). Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78fad34eb8b22ce588b9ebdab39965210588e4b5 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Mon Feb 23 04:20:08 2015 -0500 be2net: move adapter fields alloc/free code to new routines The members of be_adapter struct were being allocated in two separate routines -- be_ctrl_init() and be_stats_init(). Also, some other members were allocated elsewhere. This patch moves the alloc/free code into be_drv_init/cleanup() routines. The be_pci_map_bars() routine that was called from be_ctrl_init() is now called directly from be_probe(). The new routine be_drv_init() will now be the place-holder for allocating memory for any new be_adapter{} members in the future. Some routines needed to be moved to provide forward definitions for their calls. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 929e6edea5ef8fd3d2324ba4ce5736be7d52b9d8 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Fri Jan 30 13:40:02 2015 +0200 iwlwifi: mvm: rs: better match tx response rate to the LQ table Currently rs uses the info in mac80211 tx status which is a translation of the actual rate coming up from the FW in the tx response. This is matched up against the LQ table first rate to make sure this tx frame used the current LQ table. Instead of using the translated mac80211 info it's easier and cleaner to just pass the actual tx response rate in the driver private data and use that for matching. This becomes even more important once the FW begins to decide on its own whether to use STBC/BFER/SISO. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 8a26a258bdb82db241cdc35f332f88dd67bdb9c9 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Feb 23 09:41:17 2015 -0300 [media] dvb core: only start media entity if not NULL The logic there tries to start the media entity even if it doesn't exist, causing this bug: [ 314.356162] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 314.356202] IP: [<ffffffffa02ef74c>] media_entity_pipeline_start+0x1c/0x390 [media] Reported-by: Gert-Jan van der Stroom <gjstroom@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 99a85b901eb54f62ff0c3fd6eb56e60b7b9f15c8 Merge: 135f9be c517d83 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Feb 23 16:02:19 2015 -0300 Merge tag 'v4.0-rc1' into patchwork Linux 34.0-rc1 * tag 'v4.0-rc1': (8947 commits) Linux 4.0-rc1 autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation procfs: fix race between symlink removals and traversals debugfs: leave freeing a symlink body until inode eviction Documentation/filesystems/Locking: ->get_sb() is long gone trylock_super(): replacement for grab_super_passive() fanotify: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions Cachefiles: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions VFS: (Scripted) Convert S_ISLNK/DIR/REG(dentry->d_inode) to d_is_*(dentry) SELinux: Use d_is_positive() rather than testing dentry->d_inode Smack: Use d_is_positive() rather than testing dentry->d_inode TOMOYO: Use d_is_dir() rather than d_inode and S_ISDIR() Apparmor: Use d_is_positive/negative() rather than testing dentry->d_inode Apparmor: mediated_filesystem() should use dentry->d_sb not inode->i_sb VFS: Split DCACHE_FILE_TYPE into regular and special types VFS: Add a fallthrough flag for marking virtual dentries VFS: Add a whiteout dentry type VFS: Introduce inode-getting helpers for layered/unioned fs environments kernel: make READ_ONCE() valid on const arguments blk-throttle: check stats_cpu before reading it from sysfs ... commit 04769ae3ac72f86324a189b69f53bf3bfb61acfd Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Sun Feb 22 16:23:58 2015 +0100 x86/kernel: Use kstack_end() in dumpstack_64.c i386 is already using kstack_end() in dumpstack_32.c. We should also use it to make the code clearer and unify the stack printing logic some more. Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: c: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424618638-6375-1-git-send-email-adrien+dev@xxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1fc7f61c3e604f6bf778b5c6afc2715d79ab7f36 Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Fri Feb 20 03:34:21 2015 +0100 x86/kernel: Fix output of show_stack_log_lvl() show_stack_log_lvl() does not set the log level after a new line, the following messages printed with pr_cont() are thus assigned to the default log level. This patch prepends the log level to the next message following a new line. print_trace_address() uses printk(log_lvl). Using printk() with just a log level is ignored and thus has no effect on the next pr_cont(). We need to prepend the log level directly into the message. Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424399661-20327-1-git-send-email-adrien+dev@xxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit d0bbbc4faf7bc1225ffd5d159fbe2c8dfef75333 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:16 2015 +0000 drm/i915/skl: Implement WaDisablePowerCompilerClockGating Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9505e01acd2408864ce7e60e460899f9be6ac11b Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Mon Feb 16 15:07:59 2015 +0530 drm/i915: Limit max VCO supported in CHV to 6.48GHz As per the recommendation from PHY team, limit the max vco supported in CHV to 6.48 GHz Signed-off-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Acked-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d3eee4baa0cb34e5331e857edf23ee29f2cd9427 Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Date: Mon Feb 16 15:07:58 2015 +0530 drm/i915: Add new PHY reg definitions for lock threshold Added new PHY register definitions to control TDC buffer calibration and digital lock threshold. Signed-off-by: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17cabf571e50677d980e9ab2a43c5f11213003ae Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 14 11:20:57 2015 +0000 drm/i915: Trim the command parser allocations Currently, the command parser tries to create a secondary batch exactly as large as the original, and vmap both. This is open to abuse by userspace using extremely large batch objects, but only executing very short batches. For example, this would be if userspace were to implement a command submission ringbuffer. However, we only need to allocate pages for just the contents of the command sequence in the batch - all relocations copied to the secondary batch will reference the original batch and so there can be no access to the secondary batch outside of the explicit execution region. Testcase: igt/gem_exec_big #ivb,byt,hsw Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88308 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: John Harrison <John.C.Harrison@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1aee41f637694d4bbf91c24195f2b63e3f6badd2 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Wed Oct 29 18:51:31 2014 -0500 Add new disk to clustered array Algorithm: 1. Node 1 issues mdadm --manage /dev/mdX --add /dev/sdYY which issues ioctl(ADD_NEW_DISC with disc.state set to MD_DISK_CLUSTER_ADD) 2. Node 1 sends NEWDISK with uuid and slot number 3. Other nodes issue kobject_uevent_env with uuid and slot number (Steps 4,5 could be a udev rule) 4. In userspace, the node searches for the disk, perhaps using blkid -t SUB_UUID="" 5. Other nodes issue either of the following depending on whether the disk was found: ioctl(ADD_NEW_DISK with disc.state set to MD_DISK_CANDIDATE and disc.number set to slot number) ioctl(CLUSTERED_DISK_NACK) 6. Other nodes drop lock on no-new-devs (CR) if device is found 7. Node 1 attempts EX lock on no-new-devs 8. If node 1 gets the lock, it sends METADATA_UPDATED after unmarking the disk as SpareLocal 9. If not (get no-new-dev lock), it fails the operation and sends METADATA_UPDATED 10. Other nodes understand if the device is added or not by reading the superblock again after receiving the METADATA_UPDATED message. Signed-off-by: Lidong Zhong <lzhong@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 7d49ffcfa3cc08aa2301bf3fdb1e423a3fd33ee7 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Tue Aug 12 10:13:19 2014 -0500 Read from the first device when an area is resyncing set choose_first true for cluster read in read balance when the area is resyncing. Signed-off-by: Lidong Zhong <lzhong@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 589a1c491621ab81a1955d17d634636522c1b4c1 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 02:39:37 2014 -0500 Suspend writes in RAID1 if within range If there is a resync going on, all nodes must suspend writes to the range. This is recorded in the suspend_info/suspend_list. If there is an I/O within the ranges of any of the suspend_info, should_suspend will return 1. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit e59721ccdc65dd4fbd8f311a063ecc8f6232dbcc Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 02:30:30 2014 -0500 Resync start/Finish actions When a RESYNC_START message arrives, the node removes the entry with the current slot number and adds the range to the suspend_list. Simlarly, when a RESYNC_FINISHED message is received, node clears entry with respect to the bitmap number. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 965400eb615dfb32d62cb3319a895bd94eb9f3b4 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 02:16:58 2014 -0500 Send RESYNCING while performing resync start/stop When a resync is initiated, RESYNCING message is sent to all active nodes with the range (lo,hi). When the resync is over, a RESYNCING message is sent with (0,0). A high sector value of zero indicates that the resync is over. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 1d7e3e96117a864fe2ab3d02a14e49855319fdde Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 01:53:00 2014 -0500 Reload superblock if METADATA_UPDATED is received Re-reads the devices by invalidating the cache. Since we don't write to faulty devices, this is detected using events recorded in the devices. If it is old as compared to the mddev mark it is faulty. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 293467aa1f161cd50920ccf7fc1efa3946a4d50c Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 01:44:51 2014 -0500 metadata_update sends message to other nodes - request to send a message - make changes to superblock - send messages telling everyone that the superblock has changed - other nodes all read the superblock - other nodes all ack the messages - updating node release the "I'm sending a message" resource. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 601b515c5dcc00fa71148cd9d2405ea1f70bc9cd Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 01:28:53 2014 -0500 Communication Framework: Sending functions The sending part is split in two functions to make sure atomicity of the operations, such as the MD superblock update. Signed-off-by: Lidong Zhong <lzhong@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 4664680c389828928efc61ce3d2cf2c65ad35c97 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 01:08:29 2014 -0500 Communication Framework: Receiving 1. receive status sender receiver receiver ACK:CR ACK:CR ACK:CR 2. sender get EX of TOKEN sender get EX of MESSAGE sender receiver receiver TOKEN:EX ACK:CR ACK:CR MESSAGE:EX ACK:CR 3. sender write LVB. sender down-convert MESSAGE from EX to CR sender try to get EX of ACK [ wait until all receiver has *processed* the MESSAGE ] [ triggered by bast of ACK ] receiver get CR of MESSAGE receiver read LVB receiver processes the message [ wait finish ] receiver release ACK sender receiver receiver TOKEN:EX MESSAGE:CR MESSAGE:CR MESSAGE:CR ACK:EX 4. sender down-convert ACK from EX to CR sender release MESSAGE sender release TOKEN receiver upconvert to EX of MESSAGE receiver get CR of ACK receiver release MESSAGE sender receiver receiver ACK:CR ACK:CR ACK:CR Signed-off-by: Lidong Zhong <lzhong@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 4b26a08af92c0d9c0bce07612b56ff326112321a Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 00:52:29 2014 -0500 Perform resync for cluster node failure If bitmap_copy_slot returns hi>0, we need to perform resync. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit e94987db2ed983aea4e45d22db9e17c6bbf2a623 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 00:45:22 2014 -0500 Initiate recovery on node failure The DLM informs us in case of node failure with the DLM slot number. cluster_info->recovery_map sets the bit corresponding to the slot number and wakes up the recovery thread. The recovery thread: 1. Derives the slot number from the recovery_map 2. Locks the bitmap corresponding to the slot 3. Copies the set bits to the node-local bitmap Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 11dd35daaab86d12270d23a10e8d242846a8830a Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Jun 7 00:36:26 2014 -0500 Copy set bits from another slot bitmap_copy_from_slot reads the bitmap from the slot mentioned. It then copies the set bits to the node local bitmap. This is helper function for the resync operation on node failure. bitmap_set_memory_bits() currently assumes it is only run at startup and that they bitmap is currently empty. So if it finds that a region is already marked as dirty, it won't mark it dirty again. Change bitmap_set_memory_bits() to always set the NEEDED_MASK bit if 'needed' is set. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit f9209a323547f054c7439a3bf67c45e64a054bdd Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Jun 6 12:43:49 2014 -0500 bitmap_create returns bitmap pointer This is done to have multiple bitmaps open at the same time. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit c32e3788ecc27a66bb859b67a58893cd2a32bf1b Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Wed Dec 10 18:12:12 2014 +0000 drm/i915: FIFO space query code refactor When querying the GTFIFOCTL register to check the FIFO space, the read value must be masked. The operation is repeated explicitly in several places. This change refactors the read-and-mask code into a function call. v2: rebased on top of Mika's forcewake patch set, specifically: [PATCH 8/8] drm/i915: Enum forcewake domains and domain identifiers Change-Id: Id1a9f3785cb20b82d4caa330c37b31e4e384a3ef Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5c88b4e91d3b6a3d701d7b134fa945e6309e7068 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Feb 12 10:00:01 2015 +0530 ASoC: Intel: Add memcpy32_fromio as well Export 32-bit version of memcpy for use in suspend/resume. 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 54e6beccc67129c474aad7578951112c6cf28e01 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:58 2015 +0530 ASoC: Intel: add support for platform suspend This adds support for platform suspend and resume. We ensure all pcms are suspended by invoking snd_soc_suspend() and then stop the DSP 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 fc9406ab9b4a9aac0ab9ad213993824cbe9c65ac Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:57 2015 +0530 ASoC: Intel: add support for pcm stream suspend/resume The driver didn't implement support for pcm stream suspend and resume, so add it Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e0b87d476bc13fc55e7000a84cd1d87c8fdc1f2f Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:56 2015 +0530 ASoC: Intel: add support for pause and resume in sst This adds missing pcm pause and resume ops in the driver Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7b9ca9d7e561ebdc93b43277eb69d20a0dc8f5cd Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:55 2015 +0530 ASoC: Intel: update MMX ID to 3 The updated firmware expects the MMX ID to be used as 3, so update the driver as well Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76ca1c2cd8fc0b8764c6360263e2fbca43495ab2 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:54 2015 +0530 ASoC: Intel: mark cht machine driver with nonatomic trigger The DSP messages are sent with nonatomic context, which include trigger messages, so mark the driver as nonatomic 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 48c7699fb2c799d084ce490bceea14fe04ad12a1 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Feb 12 09:59:53 2015 +0530 ASoC: core: allow pcms to be registered as nonatomic ALSA core with commit 257f8cce5d40 - "ALSA: pcm: Allow nonatomic trigger operations" allows trigger ops to implemented as nonatomic. For ASoC, we can specify this in dailinks and is updated while snd_pcm is created Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 369a9f5f397fe3258ab937ec7a9c2229d0b1a015 Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Mon Feb 9 00:18:12 2015 -0800 ASoC: Intel: fix machine driver warnings this patch will fix below sparse warnings warning: incorrect type in argument 2 (different base types) expected unsigned int [unsigned] val got restricted snd_pcm_format_t [usertype] <noident> sound/soc/intel/haswell.c:61:37 sound/soc/intel/broadwell.c:115:37: sound/soc/intel/bytcr_dpcm_rt5640.c:118:37: sound/soc/intel/cht_bsw_rt5672.c:183:37: sound/soc/intel/cht_bsw_rt5645.c:208:37: Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 052a9f698268e606ca01eb1ce2a672e548f2ce11 Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Mon Feb 9 00:18:11 2015 -0800 ALSA: Add params_set_format helper Add a helper to set pcm format directly from params Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a877417ed4368b51f57e879b52793260981ddcaa Author: Olivier Gay <ogay@xxxxxxxxxxxx> Date: Tue Feb 17 14:00:03 2015 +0100 HID: expose country code in sysfs This commit exposes in sysfs the HID country code that is stored in the country member of hid_device structure. It identifies the country code of localized hardware. For example some keyboards use it to exhibit the language of the key layout. It helps the upper layer to identify the localized hardware and setup the correct language to use. For USB HID devices the country code comes for the HID descriptor and for Bluetooth HID devices it is the HIDCountryCode attribute from the SDP database. Signed-off-by: Olivier Gay <ogay@xxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 110d7f7513bbb916b8654da9e2973ac5bed929a9 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Jan 19 19:52:12 2015 +0100 x86/fpu: Don't abuse FPU in kernel threads if use_eager_fpu() AFAICS, there is no reason why kernel threads should have FPU context even if use_eager_fpu() == T. Now that interrupted_kernel_fpu_idle() does not check __thread_has_fpu() in the use_eager_fpu() case, we can remove the init_fpu() code from eager_fpu_init() and change flush_thread() called by do_execve() to initialize FPU. Note: of course, the change in flush_thread() is horrible and must be cleanuped. We need the new helper, and flush_thread() should return the error if init_fpu() fails. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150119185212.GD16427@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4b2e762e2e53c721458a83d547b222178bb72a34 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Jan 19 19:51:51 2015 +0100 x86/fpu: Always allow FPU in interrupt if use_eager_fpu() The __thread_has_fpu() check in interrupted_kernel_fpu_idle() was needed to prevent the nested kernel_fpu_begin(). Now that we have in_kernel_fpu and !__thread_has_fpu() case in __kernel_fpu_begin() does not depend on use_eager_fpu() (except clts) we can remove it. __thread_has_fpu() can be false even if use_eager_fpu(), but this case does not differ from !use_eager_fpu() case except we should not worry about X86_CR0_TS, __kernel_fpu_begin()/end() will not touch this bit. Note: I think we can kill all irq_fpu_usable() checks except in_kernel_fpu, just we need to record the state of X86_CR0_TS in __kernel_fpu_begin() and conditionalize stts() in __kernel_fpu_end(), but this needs another patch. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150119185151.GC16427@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 7aeccb83e76316b365e4b44a1dd982ee22a7d8b2 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Jan 19 19:51:32 2015 +0100 x86/fpu: __kernel_fpu_begin() should clear fpu_owner_task even if use_eager_fpu() __kernel_fpu_begin() does nothing if !__thread_has_fpu() && use_eager_fpu(), perhaps it assumes that this case is simply impossible. This is certainly not possible if in_interrupt() == T; interrupted_user_mode() should have FPU, and interrupted_kernel_fpu_idle() should fail if !__thread_has_fpu(). However, even if use_eager_fpu() == T a task can do drop_fpu(), then switch to another thread which becomes fpu_owner_task, then resume and call some function which does kernel_fpu_begin(). Say, an exiting task does a lot of things after exit_thread(), it is not safe to assume that it can't use FPU in these paths. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Pekka Riikonen <priikone@xxxxxx> Link: http://lkml.kernel.org/r/20150119185132.GB16427@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6e8266e3333bd01700decf9866725e254d84f21a Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Mon Feb 9 10:38:35 2015 +0100 ARM: 8304/1: Respect NO_KERNEL_MAPPING when we don't have an IOMMU Even without an iommu, NO_KERNEL_MAPPING is still convenient to save on kernel address space in places where we don't need a kernel mapping. Implement support for it in the two places where we're creating an expensive mapping. __alloc_from_pool uses an internal pool from which we already have virtual addresses, so it's not relevant, and __alloc_simple_buffer uses alloc_pages, which will always return a lowmem page, which is already mapped into kernel space, so we can't prevent a mapping for it in that case. Signed-off-by: Jasper St. Pierre <jstpierre@xxxxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Daniel Drake <dsd@xxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 415ae101caf9fbf6746a88126494eda333174e90 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Jan 27 10:43:13 2015 +0100 ARM: 8293/1: kernel: fix pci_mmap_page_range() offset calculation The pci_mmap_page_range() API should be written to expect offset values representing PCI memory resource addresses as seen by user space, through the pci_resource_to_user() API. ARM relies on the standard implementation of pci_resource_to_user() which actually is an identity map and exports to user space PCI memory resources as they are stored in PCI devices resources structures, which represent CPU physical addresses (fixed-up using BUS to CPU address conversions) not PCI bus addresses. Therefore, on ARM platforms where the mapping between CPU and BUS address is not a 1:1 the current pci_mmap_page_range() implementation is erroneous, in that an additional shift is applied to an already fixed-up offset passed from userspace. Hence, this patch removes the mem_offset from the pgoff calculation since the offset as passed from user space already represents the CPU physical address corresponding to the resource to be mapped, ie no additional offset should be applied. Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 2b8514d0a792857b0826fe6b7c3b941cdb59a9c3 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Nov 24 16:45:12 2014 +0100 ARM: 8219/1: handle interworking and out-of-range relocations separately Currently, interworking calls on module boundaries are not supported, and are handled by the same error handling code path as non-interworking calls whose targets are simply out of range. Before modifying the handling of those out-of-range jump and call relocations in a subsequent patch, move the handling of interworking restrictions out of it. Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 280836812f5f821d26393268010f211160874810 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sun Feb 22 13:52:47 2015 -0800 perf ordered_events: Stop using tool->ordered_events To figure out if ordered_events are being used when doing a flush operation, it is enough to check if there were in fact some events queued, i.e. look at oe->nr_events. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-1c5r404vy766kt5nflv88uag@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3950e03389cfc8ee9d7131074d999b5fb6bbc2bf Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 19 15:35:26 2015 -0800 HID: hid-sensor-hub: Enhance feature report set API Current API only allows setting one offset in the field. This API is extended to set multiple offsets in the field report. Also update parameters in the users of this API. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Reviewed-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6adc83fca74ab73abcbd3b394cf3a8fd3701db99 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 19 15:35:25 2015 -0800 HID: hid-sensor-hub: Enhance get feature report API Some hid sensor feature report can contain more than one reports. This API can now support receiving multiple values from the feature report. Also update the parameters in the users of this API. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 444fdf947de3bf5ac6b6ac033eb9d877a4b7e90d Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 29 12:36:30 2015 +0100 ARM: mvebu: Add Device Tree description of SDHCI for Armada 388 RD The Device Tree description of SDHCI on Armada 388 RD board was missing. This commit adds the node for it. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit ddbdc5790fb9274a5aeed49081152842d17b0932 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 29 12:36:29 2015 +0100 ARM: mvebu: Update the SDHCI node on Armada 38x The binding of the armada-380-sdhci has been extended with a new register in order to be able to use the SDR50 and DDR50 mode. This commit add the resource associated to this new register for the Armada 38x. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit b757258a5e47a4d46dd1ea03cbbe1f10122b9e39 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 29 12:36:28 2015 +0100 ARM: mvebu: Use macros for interrupt flags on Armada 38x sdhci node Instead of hardcoding the values of the interrupt flags, use the macros provided by <include/dt-bindings/interrupt-controller/irq.h> and <include/dt-bindings/interrupt-controller/arm-gic.h> for the Armada 38x SDHCI node. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit b3f4737d00de317d1549d5cb5b1dad90e19f5cec Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 19 15:33:56 2015 -0800 HID: hid-sensor-hub: Extend API for async reads Add additional flag to read in async mode. In this mode the caller will get reply via registered callback for capture_sample. Callbacks can be registered using sensor_hub_register_callback function. The usage id parameter of the capture_sample can be matched with the usage id of the requested attribute. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2b85c28a5a7cb0f6bf5899125437812e67e02f70 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:39:13 2015 -0800 regulator: qcom-rpm: Implement set_load and enable drms Pass the requested load directly to the rpm. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f4490e09694efaf7fe60ac6a1135530aa8c05ad Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Feb 11 19:39:12 2015 -0800 regulator: core: Introduce set_load op Expose the requested load directly to the regulator implementation for hardware that does not support the normal enum based set_mode(). Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cb67126f32f008b9abe97fbfca9b23a797b2458a Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 19 15:31:26 2015 -0800 HID: hid-sensor-hub: Add support for application collection Section 4.2.5 of HID Sensor hub specification allows two methods defining sensor devices. - Each sensor device by its own collection - A top level application collection object, including multiple sensors. In the first method, each sensor can be in its own sensor application collection without a physical collection. In the second method there is a usage id for collection type, which is defined as an application collection, with multiple physical collections in it. It is possible to define fusion sensor with this and may have its own handler. If there is a callback registered for the collection type, then forward all reports for sensors in its collection to this handler. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e651a1da442ae02a50081e38309dea5e89da2d41 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu Feb 19 15:31:25 2015 -0800 HID: hid-sensor-hub: Allow parallel synchronous reads Current implementation only allows one outstanding synchronous read. This is a performance hit when user mode is requesting raw reads of sensor attributes on multiple sensors together. This change changes the mutex lock to per hid sensor hub device instead of global lock. Although request to hid sensor hub is serialized, there can be multiple outstanding read requests pending for responses via hid reports. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 96ae923ab659e37dd5fc1e05ecbf654e2f94bcbe Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Jun 6 12:35:34 2014 -0500 Gather on-going resync information of other nodes When a node joins, it does not know of other nodes performing resync. So, each node keeps the resync information in it's LVB. When a new node joins, it reads the LVB of each "online" bitmap. [TODO] The new node attempts to get the PW lock on other bitmap, if it is successful, it reads the bitmap and performs the resync (if required) on it's behalf. If the node does not get the PW, it requests CR and reads the LVB for the resync information. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 54519c5f4b398bcfe599f652b4ef4004d5fa63ff Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Jun 6 12:12:32 2014 -0500 Lock bitmap while joining the cluster Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit b97e92574c0bf335db1cd2ec491d8ff5cd5d0b49 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Jun 6 11:50:56 2014 -0500 Use separate bitmaps for each nodes in the cluster On-disk format: 0 4k 8k 12k ------------------------------------------------------------------- | idle | md super | bm super [0] + bits | | bm bits[0, contd] | bm super[1] + bits | bm bits[1, contd] | | bm super[2] + bits | bm bits [2, contd] | bm super[3] + bits | | bm bits [3, contd] | | | Bitmap super has a field nodes, which defines the maximum number of nodes the device can use. While reading the bitmap super, if the cluster finds out that the number of nodes is > 0: 1. Requests the md-cluster module. 2. Calls md_cluster_ops->join(), which sets up clustering such as joining DLM lockspace. Since the first time, the first bitmap is read. After the call to the cluster_setup, the bitmap offset is adjusted and the superblock is re-read. This also ensures the bitmap is read the bitmap lock (when bitmap lock is introduced in later patches) Questions: 1. cluster name is repeated in all bitmap supers. Is that okay? Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit cf921cc19cf7c1e99f730a2faa02d80817d684a2 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sun Mar 30 00:42:49 2014 -0500 Add node recovery callbacks DLM offers callbacks when a node fails and the lock remastery is performed: 1. recover_prep: called when DLM discovers a node is down 2. recover_slot: called when DLM identifies the node and recovery can start 3. recover_done: called when all nodes have completed recover_slot recover_slot() and recover_done() are also called when the node joins initially in order to inform the node with its slot number. These slot numbers start from one, so we deduct one to make it start with zero which the cluster-md code uses. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit ca8895d9bb41e743271c42a4438a296de891b73b Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Wed Nov 26 12:22:03 2014 -0600 Return MD_SB_CLUSTERED if mddev is clustered Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit c4ce867fdad200dfd8aa8cbe1eabc26c14c51635 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Mar 29 10:20:02 2014 -0500 Introduce md_cluster_info md_cluster_info stores the cluster information in the MD device. The join() is called when mddev detects it is a clustered device. The main responsibilities are: 1. Setup a DLM lockspace 2. Setup all initial locks such as super block locks and bitmap lock (will come later) The leave() clears up the lockspace and all the locks held. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit edb39c9deda87da5aad9c090e2e8eaf8470c852c Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Sat Mar 29 10:01:53 2014 -0500 Introduce md_cluster_operations to handle cluster functions This allows dynamic registering of cluster hooks. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 47741b7ca7b389d1b45d7cf15edc279c9be32fa8 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Mar 7 13:49:26 2014 -0600 DLM lock and unlock functions A dlm_lock_resource is a structure which contains all information required for locking using DLM. The init function allocates the lock and acquires the lock in NL mode. The unlock function converts the lock resource to NL mode. This is done to preserve LVB and for faster processing of locks. The lock resource is DLM unlocked only in the lockres_free function, which is the end of life of the lock resource. Signed-off-by: Lidong Zhong <lzhong@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 8e854e9cfd1cc3837b4bd96643d5174a72d9f741 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Mar 7 11:21:15 2014 -0600 Create a separate module for clustering support Tagged as EXPERIMENTAL for now. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 183bdf5106af069a774146c4f910a80ad1f57485 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Mar 7 10:30:43 2014 -0600 Add number of nodes to bitmap structure for clustering Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit b8d834488fd7c0c5a79cd2bab112c37a3d3292b9 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Tue Jun 10 16:31:01 2014 -0500 md-cluster: Design Documentation Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit e0bc8d179e39a31bb3a56974374e55374fbf29be Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Feb 4 15:36:49 2015 +0100 x86/lib/memcpy_64.S: Convert memcpy to ALTERNATIVE_2 macro Make REP_GOOD variant the default after alternatives have run. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a77600cd03a44e54df99ea742e02f4899b82c8e1 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Feb 4 09:11:17 2015 +0100 x86/lib/memmove_64.S: Convert memmove() to ALTERNATIVE macro Make it execute the ERMS version if support is present and we're in the forward memmove() part and remove the unfolded alternatives section definition. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 84d95ad4cb9015ea953bf14cea05ba371d4d42bb Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Feb 4 08:57:00 2015 +0100 x86/lib/memset_64.S: Convert to ALTERNATIVE_2 macro Make alternatives replace single JMPs instead of whole memset functions, thus decreasing the amount of instructions copied during patching time at boot. While at it, make it use the REP_GOOD version by default which means alternatives NOP out the JMP to the other versions, as REP_GOOD is set by default on the majority of relevant x86 processors. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a930dc4543a2b213deb9fde12682716edff8a4a6 Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Jan 18 17:48:18 2015 +0100 x86/asm: Cleanup prefetch primitives This is based on a patch originally by hpa. With the current improvements to the alternatives, we can simply use %P1 as a mem8 operand constraint and rely on the toolchain to generate the proper instruction sizes. For example, on 32-bit, where we use an empty old instruction we get: apply_alternatives: feat: 6*32+8, old: (c104648b, len: 4), repl: (c195566c, len: 4) c104648b: alt_insn: 90 90 90 90 c195566c: rpl_insn: 0f 0d 4b 5c ... apply_alternatives: feat: 6*32+8, old: (c18e09b4, len: 3), repl: (c1955948, len: 3) c18e09b4: alt_insn: 90 90 90 c1955948: rpl_insn: 0f 0d 08 ... apply_alternatives: feat: 6*32+8, old: (c1190cf9, len: 7), repl: (c1955a79, len: 7) c1190cf9: alt_insn: 90 90 90 90 90 90 90 c1955a79: rpl_insn: 0f 0d 0d a0 d4 85 c1 all with the proper padding done depending on the size of the replacement instruction the compiler generates. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit c70e1b475f37f07ab7181ad28458666d59aae634 Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Jan 18 15:19:55 2015 +0100 x86/asm: Use alternative_2() in rdtsc_barrier() ... now that we have it. Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6620ef28c812b4782b10adb676580c2847d2bec8 Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Jan 18 12:57:41 2015 +0100 x86/lib/clear_page_64.S: Convert to ALTERNATIVE_2 macro Move clear_page() up so that we can get 2-byte forward JMPs when patching: apply_alternatives: feat: 3*32+16, old: (ffffffff8130adb0, len: 5), repl: (ffffffff81d0b859, len: 5) ffffffff8130adb0: alt_insn: 90 90 90 90 90 recompute_jump: new_displ: 0x0000003e ffffffff81d0b859: rpl_insn: eb 3e 66 66 90 even though the compiler generated 5-byte JMPs which we padded with 5 NOPs. Also, make the REP_GOOD version be the default as the majority of machines set REP_GOOD. This way we get to save ourselves the JMP: old insn VA: 0xffffffff813038b0, CPU feat: X86_FEATURE_REP_GOOD, size: 5, padlen: 0 clear_page: ffffffff813038b0 <clear_page>: ffffffff813038b0: e9 0b 00 00 00 jmpq ffffffff813038c0 repl insn: 0xffffffff81cf0e92, size: 0 old insn VA: 0xffffffff813038b0, CPU feat: X86_FEATURE_ERMS, size: 5, padlen: 0 clear_page: ffffffff813038b0 <clear_page>: ffffffff813038b0: e9 0b 00 00 00 jmpq ffffffff813038c0 repl insn: 0xffffffff81cf0e92, size: 5 ffffffff81cf0e92: e9 69 2a 61 ff jmpq ffffffff81303900 ffffffff813038b0 <clear_page>: ffffffff813038b0: e9 69 2a 61 ff jmpq ffffffff8091631e Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 8e65f6e03a90927b8de16c15da976baa6c3fff69 Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Jan 18 12:35:55 2015 +0100 x86/entry_32: Convert X86_INVD_BUG to ALTERNATIVE macro Booting a 486 kernel on an AMD guest with this patch applied, says: apply_alternatives: feat: 0*32+25, old: (c160a475, len: 5), repl: (c19557d4, len: 5) c160a475: alt_insn: 68 10 35 00 c1 c19557d4: rpl_insn: 68 80 39 00 c1 which is: old insn VA: 0xc160a475, CPU feat: X86_FEATURE_XMM, size: 5 simd_coprocessor_error: c160a475: 68 10 35 00 c1 push $0xc1003510 <do_general_protection> repl insn: 0xc19557d4, size: 5 c160a475: 68 80 39 00 c1 push $0xc1003980 <do_simd_coprocessor_error> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 669f8a900198599d3c2e2e463bafe12d30d96507 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Jan 15 09:17:12 2015 +0100 x86/smap: Use ALTERNATIVE macro ... and drop unfolded version. No need for ASM_NOP3 anymore either as the alternatives do the proper padding at build time and insert proper NOPs at boot time. There should be no apparent operational change from this patch. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit de2ff888843a22918ef15306922083739d23dad3 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Jan 13 01:38:17 2015 +0100 x86/lib/copy_user_64.S: Convert to ALTERNATIVE_2 Use the asm macro and drop the locally grown version. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 090a3f615524c3f75d09fdb37f15ea1868d79f7e Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Jan 12 18:19:40 2015 +0100 x86/lib/copy_page_64.S: Use generic ALTERNATIVE macro ... instead of the semi-version with the spelled out sections. What is more, make the REP_GOOD version be the default copy_page() version as the majority of the relevant x86 CPUs do set X86_FEATURE_REP_GOOD. Thus, copy_page gets compiled to: ffffffff8130af80 <copy_page>: ffffffff8130af80: e9 0b 00 00 00 jmpq ffffffff8130af90 <copy_page_regs> ffffffff8130af85: b9 00 02 00 00 mov $0x200,%ecx ffffffff8130af8a: f3 48 a5 rep movsq %ds:(%rsi),%es:(%rdi) ffffffff8130af8d: c3 retq ffffffff8130af8e: 66 90 xchg %ax,%ax ffffffff8130af90 <copy_page_regs>: ... and after the alternatives have run, the JMP to the old, unrolled version gets NOPed out: ffffffff8130af80 <copy_page>: ffffffff8130af80: 66 66 90 xchg %ax,%ax ffffffff8130af83: 66 90 xchg %ax,%ax ffffffff8130af85: b9 00 02 00 00 mov $0x200,%ecx ffffffff8130af8a: f3 48 a5 rep movsq %ds:(%rsi),%es:(%rdi) ffffffff8130af8d: c3 retq On modern uarches, those NOPs are cheaper than the unconditional JMP previously. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4fd4b6e5537cec5b56db0b22546dd439ebb26830 Author: Borislav Petkov <bp@xxxxxxx> Date: Sat Jan 10 20:34:07 2015 +0100 x86/alternatives: Use optimized NOPs for padding Alternatives allow now for an empty old instruction. In this case we go and pad the space with NOPs at assembly time. However, there are the optimal, longer NOPs which should be used. Do that at patching time by adding alt_instr.padlen-sized NOPs at the old instruction address. Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 48c7a2509f9e237d8465399d9cdfe487d3212a23 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Jan 5 13:48:41 2015 +0100 x86/alternatives: Make JMPs more robust Up until now we had to pay attention to relative JMPs in alternatives about how their relative offset gets computed so that the jump target is still correct. Or, as it is the case for near CALLs (opcode e8), we still have to go and readjust the offset at patching time. What is more, the static_cpu_has_safe() facility had to forcefully generate 5-byte JMPs since we couldn't rely on the compiler to generate properly sized ones so we had to force the longest ones. Worse than that, sometimes it would generate a replacement JMP which is longer than the original one, thus overwriting the beginning of the next instruction at patching time. So, in order to alleviate all that and make using JMPs more straight-forward we go and pad the original instruction in an alternative block with NOPs at build time, should the replacement(s) be longer. This way, alternatives users shouldn't pay special attention so that original and replacement instruction sizes are fine but the assembler would simply add padding where needed and not do anything otherwise. As a second aspect, we go and recompute JMPs at patching time so that we can try to make 5-byte JMPs into two-byte ones if possible. If not, we still have to recompute the offsets as the replacement JMP gets put far away in the .altinstr_replacement section leading to a wrong offset if copied verbatim. For example, on a locally generated kernel image old insn VA: 0xffffffff810014bd, CPU feat: X86_FEATURE_ALWAYS, size: 2 __switch_to: ffffffff810014bd: eb 21 jmp ffffffff810014e0 repl insn: size: 5 ffffffff81d0b23c: e9 b1 62 2f ff jmpq ffffffff810014f2 gets corrected to a 2-byte JMP: apply_alternatives: feat: 3*32+21, old: (ffffffff810014bd, len: 2), repl: (ffffffff81d0b23c, len: 5) alt_insn: e9 b1 62 2f ff recompute_jumps: next_rip: ffffffff81d0b241, tgt_rip: ffffffff810014f2, new_displ: 0x00000033, ret len: 2 converted to: eb 33 90 90 90 and a 5-byte JMP: old insn VA: 0xffffffff81001516, CPU feat: X86_FEATURE_ALWAYS, size: 2 __switch_to: ffffffff81001516: eb 30 jmp ffffffff81001548 repl insn: size: 5 ffffffff81d0b241: e9 10 63 2f ff jmpq ffffffff81001556 gets shortened into a two-byte one: apply_alternatives: feat: 3*32+21, old: (ffffffff81001516, len: 2), repl: (ffffffff81d0b241, len: 5) alt_insn: e9 10 63 2f ff recompute_jumps: next_rip: ffffffff81d0b246, tgt_rip: ffffffff81001556, new_displ: 0x0000003e, ret len: 2 converted to: eb 3e 90 90 90 ... and so on. This leads to a net win of around 40ish replacements * 3 bytes savings =~ 120 bytes of I$ on an AMD guest which means some savings of precious instruction cache bandwidth. The padding to the shorter 2-byte JMPs are single-byte NOPs which on smart microarchitectures means discarding NOPs at decode time and thus freeing up execution bandwidth. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4332195c5615bf748624094ce4ff6797e475024d Author: Borislav Petkov <bp@xxxxxxx> Date: Sat Dec 27 10:41:52 2014 +0100 x86/alternatives: Add instruction padding Up until now we have always paid attention to make sure the length of the new instruction replacing the old one is at least less or equal to the length of the old instruction. If the new instruction is longer, at the time it replaces the old instruction it will overwrite the beginning of the next instruction in the kernel image and cause your pants to catch fire. So instead of having to pay attention, teach the alternatives framework to pad shorter old instructions with NOPs at buildtime - but only in the case when len(old instruction(s)) < len(new instruction(s)) and add nothing in the >= case. (In that case we do add_nops() when patching). This way the alternatives user shouldn't have to care about instruction sizes and simply use the macros. Add asm ALTERNATIVE* flavor macros too, while at it. Also, we need to save the pad length in a separate struct alt_instr member for NOP optimization and the way to do that reliably is to carry the pad length instead of trying to detect whether we're looking at single-byte NOPs or at pathological instruction offsets like e9 90 90 90 90, for example, which is a valid instruction. Thanks to Michael Matz for the great help with toolchain questions. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit db477a3386dee183130916d6bbf21f5828b0b2e2 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Dec 30 20:27:09 2014 +0100 x86/alternatives: Cleanup DPRINTK macro Make it pass __func__ implicitly. Also, dump info about each replacing we're doing. Fixup comments and style while at it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 338ea55579d1dbd83753b10db74da747b2f1998f Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Jan 4 11:49:56 2015 +0100 x86/lib/copy_user_64.S: Remove FIX_ALIGNMENT define It is unconditionally enabled so remove it. No object file change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 2ec591ac7422048f6148c762d6cb8fb96d9a290b Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Feb 17 10:58:34 2015 +0100 EDAC, amd64_edac: Get rid of per-node driver instances ... and do the proper thing using EDAC core facilities. Cc: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit c6b97bcf8e3ee6643a7f90a54d1ef3f9e12ec245 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Thu Feb 5 22:12:42 2015 -0800 EDAC: Properly unwind on failure path in edac_init() edac_init() does not deallocate already allocated resources on failure path. Found by Linux Driver Verification project (linuxtesting.org). [ Boris: The unwind path functions have __exit annotation but are being used in an __init function, leading to section mismatches. Drop the section annotation and make them normal functions. ] Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Link: http://lkml.kernel.org/r/1423203162-26368-1-git-send-email-khoroshilov@xxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit fc7cc6b7820b54119821a3c6838ff583d796a2ab Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:58 2015 +0100 EDAC: highbank: Use static attribute groups for sysfs entries ... instead of manual device_create_file() and device_remove_file() calls. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-9-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1bf06a0d55a5d3e19b6da970d7194d6067f4204b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:57 2015 +0100 EDAC: octeon: Use static attribute groups for sysfs entries ... instead of manual device_create_file() and device_remove_file() calls. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-8-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 917c85b545851535149551b0f970e709fac94622 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:56 2015 +0100 EDAC: mpc85xx: Use static attribute groups for sysfs entries ... instead of manual device_create_file() and device_remove_file() calls. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Cc: Johannes Thumshirn <johannes.thumshirn@xxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-7-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 2eace188f6ba54078db0bc055bb161a99877f2d3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:55 2015 +0100 EDAC: i7core: Use static attribute groups for sysfs entries ... instead of manual device_create_file() and device_remove_file() calls. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> [ Add NULL terminator to i7core_dev_attrs[] caught by the build robot. ] Reported-by: Huang Ying <ying.huang@xxxxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-6-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit e97d7e38162dc305b4734a316ca758a2bbd1fa6e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:54 2015 +0100 EDAC: i7core: Return proper error codes for kzalloc() errors ... instead of possibly uninitialized return value. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-5-git-send-email-tiwai@xxxxxxx [ Add a commit message, albeit a small one. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit e339f1ec979a4ab14b497114e39b8ab70bd0215d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:53 2015 +0100 EDAC: amd64: Use static attribute groups Instead of calling device_create_file() and device_remove_file() manually, pass the static attribute groups with the new edac_mc_add_mc_with_groups(). The conditional creation of inject sysfs files is done by a proper is_visible callback. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-4-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4e8d230de9c1dff8e587ae769e46fcddb3d98f1c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:52 2015 +0100 EDAC: Allow to pass driver-specific attribute groups Add edac_mc_add_mc_with_groups() for initializing the mem_ctl_info object with the optional attribute groups. This allows drivers to pass additional sysfs entries without manual (and racy) device_create_file() and co calls. edac_mc_add_mc() is kept as is, just calling edac_mc_add_with_groups() with NULL groups. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-3-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 2c1946b6d6290c74c6ad8d0915590d64f33a034d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 4 11:48:51 2015 +0100 EDAC: Use static attribute groups for managing sysfs entries Instead of manual calls of device_create_file() and device_remove_file(), use static attribute groups with proper is_visible callbacks for managing the sysfs entries. This simplifies the code a lot and avoids the possible races. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1423046938-18111-2-git-send-email-tiwai@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 7260194595a23e6e762cd444cb40044fd5fa25c0 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 2 18:26:34 2015 +0100 EDAC: Delete unnecessary checks before pci_dev_put() The pci_dev_put() function tests whether its argument is NULL and thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/54CFC12C.9010002@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 5fb5aeeeb65726c62dc39986d7a080309259e29c Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Mon Feb 23 22:39:13 2015 +1100 xfs: pass mp to XFS_WANT_CORRUPTED_RETURN Today, if we hit an XFS_WANT_CORRUPTED_RETURN we don't print any information about which filesystem hit it. Passing in the mp allows us to print the filesystem (device) name, which is a pretty critical piece of information. Tested by running fsfuzzer 'til I hit some. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit c29aad41159829c0e1dcbf06c8e02284993b7901 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Mon Feb 23 22:39:08 2015 +1100 xfs: pass mp to XFS_WANT_CORRUPTED_GOTO Today, if we hit an XFS_WANT_CORRUPTED_GOTO we don't print any information about which filesystem hit it. Passing in the mp allows us to print the filesystem (device) name, which is a pretty critical piece of information. Tested by running fsfuzzer 'til I hit some. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 58c904734cd0917cd0953067dd68003572407c7b Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 22:38:08 2015 +1100 xfs: inodes are new until the dentry cache is set up Al Viro noticed a generic set of issues to do with filehandle lookup racing with dentry cache setup. They involve a filehandle lookup occurring while an inode is being created and the filehandle lookup racing with the dentry creation for the real file. This can lead to multiple dentries for the one path being instantiated. There are a host of other issues around this same set of paths. The underlying cause is that file handle lookup only waits on inode cache instantiation rather than full dentry cache instantiation. XFS is mostly immune to the problems discovered due to it's own internal inode cache, but there are a couple of corner cases where races can happen. We currently clear the XFS_INEW flag when the inode is fully set up after insertion into the cache. Newly allocated inodes are inserted locked and so aren't usable until the allocation transaction commits. This, however, occurs before the dentry and security information is fully initialised and hence the inode is unlocked and available for lookups to find too early. To solve the problem, only clear the XFS_INEW flag for newly created inodes once the dentry is fully instantiated. This means lookups will retry until the XFS_INEW flag is removed from the inode and hence avoids the race conditions in questions. THis also means that xfs_create(), xfs_create_tmpfile() and xfs_symlink() need to finish the setup of the inode in their error paths if we had allocated the inode but failed later in the creation process. xfs_symlink(), in particular, needed a lot of help to make it's error handling match that of xfs_create(). Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 81ceefa49e26069d05f2c3350930d2896de0baeb Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Feb 6 16:51:44 2015 +0530 dmaengine: qcom_bam_dma: Fix error path in probe function Calls tasklet_kill() in error path of the probe function were missing. Add the same in error path. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 723cac48473358939759885a18e8df113ea96138 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:47:29 2015 +1100 xfs: lock out page faults from extent swap operations Extent swap operations are another extent manipulation operation that we need to ensure does not race against mmap page faults. The current code returns if the file is mapped prior to the swap being done, but it could potentially race against new page faults while the swap is in progress. Hence we should use the XFS_MMAPLOCK_EXCL for this operation, too. While there, fix the error path handling that can result in double unlocks of the inodes when cancelling the swapext transaction. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0f9160b444e4de33b65dfcd3b901358a3129461a Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:46:58 2015 +1100 xfs: xfs_setattr_size no longer races with page faults Now that truncate locks out new page faults, we no longer need to do special writeback hacks in truncate to work around potential races between page faults, page cache truncation and file size updates to ensure we get write page faults for extending truncates on sub-page block size filesystems. Hence we can remove the code in xfs_setattr_size() that handles this and update the comments around the code tha thandles page cache truncate and size updates to reflect the new reality. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e8e9ad42c1f1e1bfbe0e8c32c8cac02e9ebfb7ef Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:45:32 2015 +1100 xfs: take i_mmap_lock on extent manipulation operations Now we have the i_mmap_lock being held across the page fault IO path, we now add extent manipulation operation exclusion by adding the lock to the paths that directly modify extent maps. This includes truncate, hole punching and other fallocate based operations. The operations will now take both the i_iolock and the i_mmaplock in exclusive mode, thereby ensuring that all IO and page faults block without holding any page locks while the extent manipulation is in progress. This gives us the lock order during truncate of i_iolock -> i_mmaplock -> page_lock -> i_lock, hence providing the same lock order as the iolock provides the normal IO path without involving the mmap_sem. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 075a924d45cc69c75a35f20b4912b85aa98b180a Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:44:54 2015 +1100 xfs: use i_mmaplock on write faults Take the i_mmaplock over write page faults. These come through the ->page_mkwrite callout, so we need to wrap that calls with the i_mmaplock. This gives us a lock order of mmap_sem -> i_mmaplock -> page_lock -> i_lock. Also, move the page_mkwrite wrapper to the same region of xfs_file.c as the read fault wrappers and add a tracepoint. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit de0e8c20ba3a65b0f15040aabbefdc1999876e6b Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:44:19 2015 +1100 xfs: use i_mmaplock on read faults Take the i_mmaplock over read page faults. These come through the ->fault callout, so we need to wrap the generic implementation with the i_mmaplock. While there, add tracepoints for the read fault as it passes through XFS. This gives us a lock order of mmap_sem -> i_mmaplock -> page_lock -> i_lock. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 653c60b633a9019a54a80d64b5ed33ecb214823c Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:43:37 2015 +1100 xfs: introduce mmap/truncate lock Right now we cannot serialise mmap against truncate or hole punch sanely. ->page_mkwrite is not able to take locks that the read IO path normally takes (i.e. the inode iolock) because that could result in lock inversions (read - iolock - page fault - page_mkwrite - iolock) and so we cannot use an IO path lock to serialise page write faults against truncate operations. Instead, introduce a new lock that is used *only* in the ->page_mkwrite path that is the equivalent of the iolock. The lock ordering in a page fault is i_mmaplock -> page lock -> i_ilock, and so in truncate we can i_iolock -> i_mmaplock and so lock out new write faults during the process of truncation. Because i_mmap_lock is outside the page lock, we can hold it across all the same operations we hold the i_iolock for. The only difference is that we never hold the i_mmaplock in the normal IO path and so do not ever have the possibility that we can page fault inside it. Hence there are no recursion issues on the i_mmap_lock and so we can use it to serialise page fault IO against inode modification operations that affect the IO path. This patch introduces the i_mmaplock infrastructure, lockdep annotations and initialisation/destruction code. Use of the new lock will be in subsequent patches. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 7c6cc8f2012f4146b05b8ec7238f98884100db8c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 17 01:48:19 2015 +0000 ASoC: fsi: Configure DMA slave settings Current FSI driver is assuming that dst_addr/src_addr of DMAEngine will be set by platform data. But it should be set via dmaengine_slave_config(). Special thanks to Arnd Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5b7cdc8068e3f02ff4c6ef75bd7398af244869d4 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 17 01:48:08 2015 +0000 ASoC: fsi: remove slave_id settings for DMAEngine Current fsi sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e95ddb5bda7333f0269347dc48ff214f9c216d5b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Feb 17 01:47:53 2015 +0000 spi: sh-msiof: remove slave_id settings for DMAEngine Current sh-msiof sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 118dad437f8dc8af6f531189d37c7db5ac7d51d4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Feb 17 01:47:41 2015 +0000 spi: rspi: remove slave_id settings for DMAEngine Current rspi sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4b93d9d4e5b6c90d6154bdb22a3544abe5e4e41a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Feb 17 01:47:27 2015 +0000 mtd: sh_flctl: remove slave_id settings for DMAEngine Current sh_flctl sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b76924a0193fe1f221e3f52a410247e4a1da5c5a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 17 01:47:11 2015 +0000 mmc: tmio_mmc: remove slave_id settings for DMAEngine Current tmio_mmc sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5f48dd0690cbcea3f35b9ef2f05d5468dedc80b0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Feb 17 01:47:01 2015 +0000 mmc: sh_mmcif: remove slave_id settings for DMAEngine Current sh_mmcif sets dma_slave_config :: slave_id field for DMAEngine, but it is no longer needed. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit bfe446e37c4efd8ade454911e8f80414bcbfc10d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Mar 11 11:21:11 2014 +0100 of: Add of_graph_get_port_by_id function This patch adds a function to get a port device tree node by port id, or reg property value. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 411fdaf846afb0be1b54383c184f58a42fa416ff Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Feb 17 01:46:49 2015 +0000 dmaengine: shdma: use normal interface for passing slave id in dma_slave_config, which is incompatible with the way that the dmaengine API normally works. I've had a closer look at the existing code now and found that all slave drivers that pass a slave_id in dma_slave_config for SH do that right after passing the same ID into shdma_chan_filter, so we can just rely on that. However, the various shdma drivers currently do not remember the slave ID that was passed into the filter function when used in non-DT mode and only check the value to find a matching channel, unlike all other drivers. There might still be drivers that are not part of the kernel that rely on setting the slave_id to some other value, so to be on the safe side, this adds another 'real_slave_id' field to shdma_chan that remembers the ID and uses it when a driver passes a zero slave_id in dma_slave_config, like most drivers do. Eventually, the real_slave_id and slave_id fields should just get merged into one field, but that requires other changes. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ee8905963ed0bc9dfc0952dc35e16e233c10e212 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Apr 14 17:53:25 2014 +0200 of: Add for_each_endpoint_of_node helper macro Note that while of_graph_get_next_endpoint decrements the reference count of the child node passed to it, of_node_put(child) still has to be called manually when breaking out of the loop. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit f033c0bcc53675562200680f4cb4a86710d9fbae Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Dec 1 13:32:32 2014 +0100 of: Decrement refcount of previous endpoint in of_graph_get_next_endpoint Decrementing the reference count of the previous endpoint node allows to use the of_graph_get_next_endpoint function in a for_each_... style macro. All current users of this function that pass a non-NULL prev parameter (that is, soc_camera and imx-drm) are changed to not decrement the passed prev argument's refcount themselves. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 964aa8d9e4d36e0e54a88683d14c7d5b9d02aed8 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:24:37 2015 +1100 xfs: remove xfs_mod_incore_sb API Now that there are no users of the bitfield based incore superblock modification API, just remove the whole damn lot of it, including all the bitfield definitions. This finally removes a lot of cruft that has been around for a long time. Credit goes to Christoph Hellwig for providing a great patch connecting all the dots to enale us to do this. This patch is derived from that work. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0bd5ddedccca4451ac2390d1155b4ab74b990eff Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:24:11 2015 +1100 xfs: replace xfs_mod_incore_sb_batched Introduce helper functions for modifying fields in the superblock into xfs_trans.c, the only caller of xfs_mod_incore_sb_batch(). We can then use these directly in xfs_trans_unreserve_and_mod_sb() and so remove another user of the xfs_mode_incore_sb() API without losing any functionality or scalability of the transaction commit code.. Based on a patch from Christoph Hellwig. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit bab98bbe6e1e38bf2fa5018a195608553095f51b Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:22:54 2015 +1100 xfs: introduce xfs_mod_frextents Add a new helper to modify the incore counter of free realtime extents. This matches the helpers used for inode and data block counters, and removes a significant users of the xfs_mod_incore_sb() interface. Based on a patch originally from Christoph Hellwig. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 5681ca40064fdb3efe477a604d690ab0425708b3 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:22:31 2015 +1100 xfs: Remove icsb infrastructure Now that the in-core superblock infrastructure has been replaced with generic per-cpu counters, we don't need it anymore. Nuke it from orbit so we are sure that it won't haunt us again... Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0d485ada404b3614b045e574bec26aaf5d9b3c5b Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Feb 23 21:22:03 2015 +1100 xfs: use generic percpu counters for free block counter XFS has hand-rolled per-cpu counters for the superblock since before there was any generic implementation. The free block counter is special in that it is used for ENOSPC detection outside transaction contexts for for delayed allocation. This means that the counter needs to be accurate at zero. The current per-cpu counter code jumps through lots of hoops to ensure we never run past zero, but we don't need to make all those jumps with the generic counter implementation. The generic counter implementation allows us to pass a "batch" threshold at which the addition/subtraction to the counter value will be folded back into global value under lock. We can use this feature to reduce the batch size as we approach 0 in a very similar manner to the existing counters and their rebalance algorithm. If we use a batch size of 1 as we approach 0, then every addition and subtraction will be done against the global value and hence allow accurate detection of zero threshold crossing. Hence we can replace the handrolled, accurate-at-zero counters with generic percpu counters. Note: this removes just enough of the icsb infrastructure to compile without warnings. The rest will go in subsequent commits. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a072f809b69885c77262fb978b008ef9488d513e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sun Feb 22 12:24:18 2015 +0100 drm/atomic: Rename drm_atomic_helper_commit_pre_planes() state argument The argument contains a pointer to the old state, rename it to old_state like in all other commit helper functions. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 31c946e85ce6b48ce0f25e3cdca8362e4fe8b300 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 12:24:17 2015 +0100 drm: If available use atomic state in getcrtc ioctl This way drivers fully converted to atomic don't need to update these legacy state variables in their modeset code any more. Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e88b64ea1f3da64dbb52636377be295c90367377 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Feb 23 21:19:53 2015 +1100 xfs: use generic percpu counters for free inode counter XFS has hand-rolled per-cpu counters for the superblock since before there was any generic implementation. The free inode counter is not used for any limit enforcement - the per-AG free inode counters are used during allocation to determine if there are inode available for allocation. Hence we don't need any of the complexity of the hand-rolled counters and we can simply replace them with generic per-cpu counters similar to the inode counter. This version introduces a xfs_mod_ifree() helper function from Christoph Hellwig. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 17a38d9c254bf4e3b0d8b7ccd5c1988cb63730ff Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 12:24:16 2015 +0100 drm: Add DRM_DEBUG_ATOMIC Atomic state handling adds a lot of indirection and complexity between simple updates and drivers. For easier debugging the diagnostic output is therefore rather chatty. Which is great for tracking down atomic issues, but really annoying otherwise. Add a new DRM_DEBUG_ATOMIC to be able to filter this out. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 7f50002fc602ba7870df554f91a76434c9404f5d Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Feb 23 02:50:23 2015 +0200 drm/atomic-helpers: Fix documentation typos and wrong copy&paste The kerneldoc blocks for the drm_atomic_helper_*_set_property() functions seem to have been copied from the plane disable handler without being properly updated. Fix them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 498b8738485ab1a327163f771953f32cf35ca3b5 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 16 15:12:31 2015 +0000 drm: Fix the CRTC_STEREO_DOUBLE_ONLY define to include stero modes The CRTC_STEREO_DOUBLE_ONLY define was introduced in commit: commit ecb7e16bf187bc369cf6a5cd108582c01329980d Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Dec 1 15:40:09 2014 -0800 drm: add helper to get crtc timings (v5) but if we want the stereo h/v adjustments, we need to set the CRTC_STEREO_DOUBLE flag. Otherwise, we'll get the wrong h/v for frame packing stereo 3d modes. Cc: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30b79f062ea0ab5df3afdfeb503794a5b4beb8f1 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Feb 13 15:53:31 2015 +0000 drm: Fix drm_crtc_vblank_get() documentation drm_crtc_vblank_get() is the new drm_vblank_get(), not the new drm_vblank_off(). Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 501ab32387533924b211cacff36d19296414ec0b Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Feb 23 21:19:28 2015 +1100 xfs: use generic percpu counters for inode counter XFS has hand-rolled per-cpu counters for the superblock since before there was any generic implementation. There are some warts around the use of them for the inode counter as the hand rolled counter is designed to be accurate at zero, but has no specific accurracy at any other value. This design causes problems for the maximum inode count threshold enforcement, as there is no trigger that balances the counters as they get close tothe maximum threshold. Instead of designing new triggers for balancing, just replace the handrolled per-cpu counter with a generic counter. This enables us to update the counter through the normal superblock modification funtions, but rather than do that we add a xfs_mod_icount() helper function (from Christoph Hellwig) and keep the percpu counter outside the superblock in the struct xfs_mount. This means we still need to initialise the per-cpu counter specifically when we read the superblock, and vice versa when we log/write it, but it does mean that we don't need to change any other code. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ee3c7795e54f405fbd278b17d2e0cd8ca1c92b69 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 15:11:20 2015 +0100 drm: WARN if drm_handle_vblank is called errornously KMS drivers are in full control of their irq and vblank handling, if they get a vblank interrupt before drm_vblank_init or after drm_vblank_cleanup that's just a driver bug. For ums driver there's only r128 and radeon which support vblank, and they call drm_vblank_init in their driver load functions. Which again means that userspace can do whatever it wants with interrupt, vblank structures will always be there. So this should never happen, let's catch driver issues with a WARN_ON. Motivated by some discussions with Imre. v2: Use WARN_ON_ONCE as suggested by Imre. Cc: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 3bff93d64cf59f0e4547d5893adccc3925a14380 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Feb 22 15:11:19 2015 +0100 drm/irq: Don't call ->get_vblank_counter directly from irq_uninstall/cleanup The pipe might already have been shut down, and then it's not a good idea to call hw accessor functions. Instead use the same logic as drm_vblank_off which has all the necessary checks to avoid troubles or inconsistency. Noticed by Imre while reviewing my patches to remove some sanity checks from ->get_vblank_counter. v2: Try harder. disable_and_save can still access the vblank stuff when vblank->enabled isn't set. It has to, since vlbank irq could be disable but the pipe is still on when being called from drm_vblank_off. But we still want to use that code for more code sharing. So add a check for vblank->enabled on top - if that's not set we shouldn't have anyone waiting for the vblank. If we have that's a pretty serious bug. The other issue that Imre spotted is drm_vblank_cleanup. That code again calls disable_and_save and so suffers from the same issues. But really drm_irq_uninstall should have cleaned that all up, so replace the code with WARN_ON. Note that we can't delete the timer cleanup since drivers aren't required to use drm_irq_install/uninstall, but can do their own irq handling. v3: Make it clear that all that gunk in drm_irq_uninstall is really just bandaids for UMS races between the irq/vblank code. In UMS userspace is in control of enabling/disabling interrupts in general and vblanks specifically. v4: Imre observed that KMS drivers all call drm_vblank_cleanup before drm_irq_uninstall (as they should), so again the code in there is dead for KMS (due to dev->num_crtcs == 0 after drm_vblank_cleanup). Or should be, so only WARN for KMS - with UMS userspace could try to do evil things. v5: After more discussion on irc we've gone back to v3: the del_timer_sync is required in all cases in drm_vblank_cleanup, but let's restrict the WARN_ON to kms drivers only. Imre was also concerned that bad things could happen without the disable_and_save call. But we immediately free vblank structures afterwards which makes the save useless. And drm_handle_vblank has a check for dev->num_crtcs to avoid surprises with ums. Cc: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 1e3feefd5a24da1685c518e20ba9624cd593d0a1 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 13 21:03:45 2015 +0100 drm/i915: Switch to drm_crtc variants of vblank functions Where possible right now. Just a small step towards nirvana ... v2: git add. Uggh. Noticed by Imre. Cc: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f3a5c3f62f6412907798416fda4f2db04ee41755 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 13 21:03:44 2015 +0100 drm/i915: Flatten DRIVER_MODESET checks in i915_irq.c UMS is no more! Cc: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 1efa2e357e4ca0a050b9da6f5f8e0d3fc42bb2f7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 13 21:03:43 2015 +0100 drm/i915: Drop pipe_enable checks in vblank funcs With Ville's rework to use drm_crtc_vblank_on/off the core will take care of rejecting drm_vblank_get calls when the pipe is off. Also the core won't call the get_vblank_counter hooks in that case either. And since we've dropped ums support recently we can now remove these hacks, yay! Noticed while trying to answer questions Laurent had about how the new atomic helpers work. Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9625604cebcb3f5be2e692408274734e8ae63979 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Feb 13 21:03:42 2015 +0100 drm/irq: Add drm_crtc_vblank_reset At driver load we need to tell the vblank code about the state of the pipes, so that the logic around reject vblank_get when the pipe is off works correctly. Thus far i915 used drm_vblank_off, but one of the side-effects of it is that it also saves the vblank counter. And for that it calls down into the ->get_vblank_counter hook. Which isn't really a good idea when the pipe is off for a few reasons: - With runtime pm the register might not respond. - If the pipe is off some datastructures might not be around or unitialized. The later is what blew up on gen3: We look at intel_crtc->config to compute the vblank counter, and for a disabled pipe at boot-up that's just not there. Thus far this was papered over by a check for intel_crtc->active, but I want to get rid of that (since it's fairly race, vblank hooks are called from all kinds of places). So prep for that by adding a _reset functions which only does what we really need to be done at driver load: Mark the vblank pipe as off, but don't do any vblank counter saving or event flushing - neither of that is required. v2: Clarify the code flow slightly as suggested by Ville. v3: Fix kerneldoc spelling, spotted by Laurent. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> (v2) Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f36abc869886ac91f88c72d21835497686228558 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Fri Feb 20 01:31:57 2015 +0100 ARM: dts: rockchip: enable gmac on rk3288-firefly This was left out of the original firefly board definition due to the ethernet support going completely through the network tree, making the underlying nodes unavailable. Now that everything is present enable the gmac on the firefly. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 055b0c6753f315ad6922b86bdfa352733de5f674 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Feb 19 22:46:45 2015 +0100 ARM: dts: rockchip: enable usbphy on rk3288-firefly Enable the usb phys on the firefly board. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e537c9ccfab694281de8b6966bfa14e8d2bd9a69 Author: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Date: Fri Dec 12 23:17:02 2014 +0800 ARM: dts: rockchip: Enable usb PHY on rk3288-evb board Enable usb PHY for all usb ports on rk3288-evb. Signed-off-by: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit f6db7029bb266fafe7679792514c1f26556fd61e Author: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Date: Fri Dec 12 23:12:21 2014 +0800 ARM: dts: rockchip: add rk3288 usb PHY This patch adds a device_node for RK3288 SoC usb phy. It also defines the phy to be used by three usb controllers: usb_host0/1 and usb_otg. Signed-off-by: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit a198d27cb4d34de1fde22989c5fa536a951f6303 Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Tue Feb 10 19:52:28 2015 -0800 ARM: sunxi_defconfig: increase the number of maximum number of CPUs to 8 The a80 optimus has 8 CPUs. I propose we increase the maximum number of CPUs to 8 to avoid the following warning identified during automated boot testing [1]. ------------[ cut here ]------------ WARNING: CPU: 0 PID: 0 at ../arch/arm/kernel/devtree.c:144 arm_dt_init_cpu_maps+0x110/0x1e0() DT /cpu 5 nodes greater than max cores 4, capping them CPU: 0 PID: 0 Comm: swapper Not tainted 3.19.0-00528-gbdccc4edeb03 #1 Hardware name: Allwinner sun9i Family [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [] (show_stack) from [] (dump_stack+0x74/0x90) [] (dump_stack) from [] (warn_slowpath_common+0x70/0xac) [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x30/0x40) [] (warn_slowpath_fmt) from [] (arm_dt_init_cpu_maps+0x110/0x1e0) [] (arm_dt_init_cpu_maps) from [] (setup_arch+0x634/0x8d4) [] (setup_arch) from [] (start_kernel+0x88/0x3ac) [] (start_kernel) from [<20008074>] (0x20008074) ---[ end trace cb88537fdc8fa200 ]--- [1] http://storage.kernelci.org/mainline/v3.19-528-gbdccc4edeb03/arm-sunxi_defconfig/lab-tbaker/boot-sun9i-a80-optimus.html Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ef146afaa87b4a2a2e7a51fc8bfd40de98a42b2f Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Feb 3 06:22:05 2015 +0800 ARM: multi_v7_defconfig: Enable CONFIG_PHY_SUN9I_USB On sun9i we have a new PHY driver for USB. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit bba0f0e1d39767ff98fbf6393c89a573203915eb Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Feb 3 06:22:04 2015 +0800 ARM: sunxi_defconfig: Enable CONFIG_PHY_SUN9I_USB On sun9i we have a new PHY driver for USB. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 71f32f56cb54303a1b6ce6811373f57d87de40d3 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jan 28 03:54:07 2015 +0800 clk: sunxi: Add support for sun9i A80 USB clocks and resets The USB controller/phy clocks and reset controls are in a separate address block, unlike previous SoCs where they were in the clock controller. Also, access to the address block is controlled by a clock gate to AHB. Add support for resets requiring a clock to be enabled when asserting/deasserting the reset controls, and add the sun9i USB clocks. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6089ef19c9dadaf0e3378f75eca65af861cd3974 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jan 28 03:54:06 2015 +0800 clk: sunxi: Move USB clocks to separate file The USB clocks originally shared code with the gates clocks, but had additional reset controllers. Move these to a separate file. This will allow us to add new support for slightly different USB clocks, such as on the A80, without affecting gates clocks, and also facilitate the migration of gates clocks to a generic solution. This also cleans up the USB clocks code slightly, such as adding newlines, getting rid of the unused clkdev call, using a simple u32 instead of BITMAP for the clock masks, using BIT() macro to declare the clock bitmasks, and using of_io_request_and_map() to get the I/O address. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cc72da7d4d063ab9e690e56e0ef1ca1c24ee1635 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 16:00:22 2015 +0100 ALSA: hda - Use standard runtime PM for codec power-save control Like the previous transition of suspend/resume, now move the power-save code to the standard runtime PM. As usual for runtime PM, it's a bit tricky, but this simplified codes a lot in the end. For keeping the usage compatibility, power_save module option still controls the whole power-saving behavior on all codecs. The value is translated to pm_runtime_*_autosuspend() and pm_runtime_allow() / pm_runtime_forbid() calls. snd_hda_power_up() and snd_hda_power_down() are translated to pm_runtime_get_sync() and pm_runtime_put_autosuspend(), respectively. Since we can do call pm_runtime_get_sync() more reliably, the sync version is used always and snd_hda_power_up_d3wait() is dropped. Another slight difference is that snd_hda_power_up()/down() don't call runtime_pm code during the suspend/resume transition phase. Calling them there isn't safe unlike our own code, resulted in unexpected behavior (endless wakeups). The hda_power_count tracepoint was removed, as it doesn't match well with the new code. Last but not least, we need to set ignore_children flag in the parent dev.power field so that the runtime PM of the controller chip won't get confused. The notification is still done in the bus pm_notify callback. We'll get rid of this hack in the later patch. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 59ed1eade1d6ec24751baca99305f9713a5d779e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 18 15:39:59 2015 +0100 ALSA: hda - Move codec suspend/resume to codec driver This patch moves the suspend/resume mechanisms down to each codec driver level, as we have a proper codec driver bound on the bus now. Then we get the asynchronous PM gratis without fiddling much in the driver level. As a soft-landing transition, implement the common suspend/resume pm ops for hda_codec_driver and keep the each codec driver intact. Only the callers of suspend/resume in the controller side (azx_suspend() and azx_resume()) are removed. Another involved place is azx_bus_reset() calling the temporary suspend and resume as a hackish method of bus reset. The HD-audio core provide a helper function snd_hda_bus_reset() instead. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d8a766a16ed90c4b3bd7afa6e1417f8d715db507 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 17 15:25:37 2015 +0100 ALSA: hda - Bind codecs via standard bus Now we create the standard HD-audio bus (/sys/bus/hdaudio), and bind the codec driver with the codec device over there. This is the first step of the whole transition so that the changes to each codec driver are kept as minimal as possible. Each codec driver needs to register hda_codec_driver struct containing the currently existing preset via the new helper macro module_hda_codec_driver(). The old hda_codec_preset_list is replaced with this infrastructure. The generic parsers (for HDMI and other) are also included in the preset with the special IDs to bind uniquely. In HD-audio core side, the device binding code is split to hda_bind.c. It provides the snd_hda_bus_type implementation to match the codec driver with the given codec vendor ID. It also manages the module auto-loading by itself like before: when the matching isn't found, it tries to probe the corresponding codec modules, and finally falls back to the generic drivers. (The special ID mentioned above is set at this stage.) The only visible change to outside is that the hdaudio sysfs entry now appears in /sys/bus/devices, not as a sound class device. More works to move the suspend/resume and remove ops will be (hopefully) done in later patches. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 327ef4f02582d01f7eedb291794106823b44a0cf Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 17 17:15:04 2015 +0100 ALSA: hda - Decouple PCM and hwdep devices from codec object This is a preliminary patch for the hda_bus implementation, removing the parent device setup to codec device. Since the bus and the class devices can't be crossed over, leave the sound devices to the default parent device as is. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 72f770c6acde425eaad8f482969a785af4512f4f Merge: 0eee62e c72638b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:15:02 2015 +0100 Merge branch 'topic/timestamp' into for-next commit 0eee62e08c0b3ba068472b899cdda08cf4b4544b Merge: 8d085d3 b202213 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:14:36 2015 +0100 Merge branch 'topic/pcm-internal' into for-next commit 8d085d3ca9cb70e3e62456419e20f2fddc64141a Merge: 88cacc5 781c7b9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:14:22 2015 +0100 Merge branch 'topic/hda-cleanup' into for-next commit 88cacc57e879d29d626a66852fd982739dc7e6de Merge: 6176fad b995640 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:14:03 2015 +0100 Merge branch 'topic/uapi-fix' into for-next commit 6176fadce29cf050806dc32538dc6ca3e32860b9 Merge: 66c21c5 54a721a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:13:47 2015 +0100 Merge branch 'topic/seq-cleanup' into for-next commit 66c21c5af64c959d0ba0acb9b15e058267cbaa35 Merge: dec8431 0c8d948 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Feb 23 09:13:29 2015 +0100 Merge branch 'topic/cleanup' into for-next commit b7853d73e39b099bbee149cac4c34dbf98f3fefa Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Sat Feb 21 20:21:51 2015 -0800 bridge: add vlan info to bridge setlink and dellink notification messages vlan add/deletes are not notified to userspace today. This patch adds vlan info to bridge newlink/dellink notifications generated from the bridge driver. Notifications use the RTEXT_FILTER_BRVLAN_COMPRESSED flag to compress vlans into ranges whereever applicable. The size calculations does not take ranges into account for simplicity. This has the potential for allocating a larger skb than required. There is an existing inconsistency with bridge NEWLINK and DELLINK change notifications. Both generate NEWLINK notifications. Since its always a NEWLINK notification, this patch includes all vlans the port belongs to in the notification. The NEWLINK and DELLINK request messages however only include the vlans to be added and deleted. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fa8727aa4d98d35ca50ef9cd8a50c6468af921d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 14 15:08:51 2015 -0300 perf session: Remove perf_session from dump_event All it wants is session->evlist. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-6w9663gka3jb1j1rfxxd5jcq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 313e53b08e99b1dacf9ea2b0fbe97890db1ea95f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 14 15:05:28 2015 -0300 perf session: Remove perf_session from some deliver event routines Further untangling perf_session from plain event delivery routines. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-cvz8e6pwyogs4w14582iis9w@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ccda068f96138734eb40e9202ea9562566b43c12 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 14 14:57:13 2015 -0300 perf session: Remove perf_session from warn_errors signature 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-pxxm1liohog3d6i826x8sud8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 75be989a7a18e9666efd92b846ee48bed79e8086 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 14 14:50:11 2015 -0300 perf evlist: Adopt events_stats from perf_session For tools that don't deal with perf.data files, thus do not need to use perf_session. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kglq67gvauq9tak02a4se00r@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 54245fdc357613633954bfd38cffb71cb9def067 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 14 14:26:15 2015 -0300 perf session: Remove wrappers to machines__find Start to untangle session from delivering samples, as there are tools that want to use ordered_events and don't use perf_session at all. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-rn4pk3pjxd78sgzrkn19tktp@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ddbb1b131062d020085577db700c3e816a227901 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 12:10:29 2015 -0800 perf trace: Separate routine that handles an event from the one that reads it Because we need to use ordered_events in some cases, so we will need to first have them in a queue, order that queue, and then process the event. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-cmkw9zgoh0z4r218957ftp1a@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 77c92582a52308868b6ef30a7e551eaceb0fc246 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 11:49:10 2015 -0800 perf trace: Add man page entry for --event Forgot to do it when adding the feature. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-mx152b6x9cgknhw91vsyjlnd@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f078c3852c7367b78552be432bc24ca93ebbd4cf Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 11:36:52 2015 -0800 perf trace: Introduce --filter-pids When tracing in X we get event loops due to the tracing activity, i.e. updates to a gnome-terminal that generate syscalls for X.org, etc. To get a more useful view of what is happening, syscall wise, system wide, we need to filter those, like in: # ps ax|egrep '981|2296|1519' | grep -v egrep 981 tty1 Ss+ 5:40 /usr/bin/Xorg :0 -background none ... 1519 ? Sl 2:22 /usr/bin/gnome-shell 2296 ? Sl 4:16 /usr/libexec/gnome-terminal-server # # trace -e write --filter-pids 981,2296,1519 0.385 ( 0.021 ms): goa-daemon/2061 write(fd: 1</dev/null>, buf: 0x7fbeb017b000, count: 136) = 136 0.922 ( 0.014 ms): goa-daemon/2061 write(fd: 1</dev/null>, buf: 0x7fbeb017b000, count: 140) = 140 5006.525 ( 0.029 ms): goa-daemon/2061 write(fd: 1</dev/null>, buf: 0x7fbeb017b000, count: 136) = 136 5007.235 ( 0.023 ms): goa-daemon/2061 write(fd: 1</dev/null>, buf: 0x7fbeb017b000, count: 140) = 140 5177.646 ( 0.018 ms): rtkit-daemon/782 write(fd: 5<anon_inode:[eventfd]>, buf: 0x7f7eea70be88, count: 8) = 8 8314.497 ( 0.004 ms): gsd-locate-poi/2084 write(fd: 5<anon_inode:[eventfd]>, buf: 0x7fffe96af7b0, count: 8) = 8 8314.518 ( 0.002 ms): gsd-locate-poi/2084 write(fd: 5<anon_inode:[eventfd]>, buf: 0x7fffe96af0e0, count: 8) = 8 ^C# When this option is used the tracer pid is also filtered. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-f5qmiyy7c0uxdm21ncatpeek@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit be199ada4fbbe5f742f854dce8e455cfcfcf7adb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 11:33:47 2015 -0800 perf evlist: Introduce set_filter_pids method We need to filter multiple pids in trace, i.e. trace itself, gnome-terminal, X.org, etc. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-frtpkg7qapqwf7asa35wf8am@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 241b057ce5c01a24c280f124fab60109cb562589 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 10:15:21 2015 -0800 perf trace: Filter out the trace pid when no threads are specified To avoid tracing the tracer. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-shmwd1khzpaobr3i0j1ygapg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cfd70a26aadf0a9af80bbce035e5760736727a94 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Feb 21 10:09:55 2015 -0800 perf evlist: Introduce set_filter_pid method To filter out events for a certain pid, for instance, when tracing system wide, so that the tracer itself doesn't creates an event loop. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-byoia9dzu4gmkdv87etnd9zf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0808921a14ffa170186288508c807f2166b7d8df Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Feb 19 21:51:50 2015 -0800 perf trace: Only insert blank duration bracket when tracing syscalls When printing just events, i.e. '--no-sys --ev some:events' it makes no sense to waste screen space. Before: # trace --no-sys --ev probe:* 84481.704 ( ): probe:vfs_getname:(ffffffff811ed023) pathname="/etc/services") 84481.892 ( ): probe:vfs_getname:(ffffffff811ed023) pathname="/etc/services") 84482.230 ( ): probe:vfs_getname:(ffffffff811ed023) pathname="/etc/resolv.conf") 84482.481 ( ): probe:vfs_getname:(ffffffff811ed023) pathname="/etc/hosts") 85097.725 ( ): probe:vfs_getname:(ffffffff811ed023) pathname="/root" # After: # trace --no-sys --ev probe:* 0.000 probe:vfs_getname:(ffffffff811ed023) pathname="/root") 1.711 probe:vfs_getname:(ffffffff811ed023) pathname="/etc/localtime") 2.103 probe:vfs_getname:(ffffffff811ed023) pathname="/etc/localtime") ^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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jhryxgnam8zecq0q0wsy6pyb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e099b2d9dfe25583e1ecf98bd31a9f12c2ec1b74 Author: Ameen Ali <ameenali023@xxxxxxxxx> Date: Sun Feb 22 23:40:36 2015 +0200 net: __aligned(size) is preferred over __attribute__((aligned(size))) Signed-off-by: Ameen Ali <AmeenAli023@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92b839175064632813a7c4b7e180efde4c08c850 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Feb 22 13:47:56 2015 -0800 batman-adv: Fix use of seq_has_overflowed() net-next commit 6d91147d183c ("batman-adv: Remove uses of return value of seq_printf") incorrectly changed the overflow occurred return from -1 to 1. Change it back so that the test of batadv_write_buffer_text's return value in batadv_gw_client_seq_print_text works properly. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 059a2440fd3cf4ec57735db2c0a90401cde84fca Author: Bojan Prtvar <prtvar.b@xxxxxxxxx> Date: Sun Feb 22 11:46:35 2015 +0100 net: Remove state argument from skb_find_text() Although it is clear that textsearch state is intentionally passed to skb_find_text() as uninitialized argument, it was never used by the callers. Therefore, we can simplify skb_find_text() by making it local variable. Signed-off-by: Bojan Prtvar <prtvar.b@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5957017db0f62e00c42d5b8d61ac850636be1230 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Feb 6 16:25:06 2015 +0100 drm: atmel-hlcdc: add discard area support The HLCDC IP provides a way to discard a specific area on the primary plane (in case at least one of the overlay is activated and alpha blending is disabled). Doing this will reduce the amount of data to transfer from the main memory to the Display Controller, and thus alleviate the load on the memory bus (since this link is quite limited on such hardware, this kind of optimization is really important). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2389fc1305fc1e2cf8b310a75463fefd3058bf48 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 5 16:32:33 2015 +0100 drm: atmel-hlcdc: Atomic mode-setting conversion Convert the HLCDC driver to atomic mode-setting. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b457f53a2afa7de3cecdec1772fbd522b98afc49 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Feb 18 13:47:11 2015 +0100 iio: improve usage of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for outputs. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d340c862e760815bca2f2a4d8fd91dff4646a955 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Feb 20 13:54:05 2015 +0300 ethtool: use "ops" name consistenty in ethtool_set_rxfh() "dev->ethtool_ops" and "ops" are the same, but we should use "ops" everywhere to be consistent. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29778bec12b11cabfb75005cd7f8be263c50ba76 Author: Alex W Slater <alex.slater.dev@xxxxxxxxx> Date: Thu Feb 19 21:58:07 2015 +0000 ipv6: Replace "#include <asm/uaccess>" with "#include <linux/uaccess>" Fix checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Alex W Slater <alex.slater.dev@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 173d6b5fdbe65dbdb8be2f7ce481f0c55d78c2b2 Merge: bb39b74 3f307c3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Feb 21 22:05:30 2015 -0500 Merge branch 'bna-next' Rasesh Mody says: ==================== bna: Update the Driver and Firmware Version These patches re-brands the BNA driver to QLogic. The patches update the BNA driver version to 3.2.25.1 and firmware version to 3.2.5.1. The patches are tested against 3.19.0. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f307c3d708a0f9228d5402e0eb418b302838e6e Author: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Date: Thu Feb 19 16:02:32 2015 -0500 bna: Update the Driver and Firmware Version This patch updates the BNA driver version to 3.2.25.1 and the firmware version to 3.2.5.1 Signed-off-by: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2732ba561e9b60c900aa6b2678c8c3f072ffda75 Author: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Date: Thu Feb 19 16:02:31 2015 -0500 bna: QLogic BR-series Adapters Driver Rebranding Re-brand the BNA driver to QLogic. Signed-off-by: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a179a14d152467da7038205af52883f38973afe Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Feb 8 19:22:54 2015 +0100 staging: iio: trigger: iio-trig-periodic-rtc: Change frequency type to unsigned int Change struct iio_prtc_trigger_info frequency type from int to unsigned int. Since it is always treated as such in the driver so they type should probably reflect this. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a7b976ae4bff9ff4f9c9943d3232dec7e87c68b9 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 16:08:44 2015 +0000 regulator: arizona-micsupp: Drop OF node reference on error path We were not calling of_node_put if the regulator failed to register this patch fixes this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ec454d7016f2c9c897235b362089ddf9f1f8e4b8 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 20 16:08:43 2015 +0000 regulator: arizona-ldo1: Drop OF node reference on error path We were not calling of_node_put if the regulator failed to register this patch fixes this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ff5eabce4231d199dadc14c23f14a6619f926c0 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Tue Feb 17 00:53:12 2015 -0800 ASoC: max98357a: Remove use of DRV_NAME Remove use of DRV_NAME define. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit be951017453cba2f3eb789413f697b8f14393eec Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 16 15:25:49 2015 +0000 ASoC: wm_adsp: Improve round to next 4-byte boundary Whilst the existing code does correctly round to the next 4-byte boundary it does so rather inefficiently. This patch changes the rounding to be simpler and more efficient. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 65d17a9ce9f24a3aaf7d614251fdcc1b2121765f Author: Nikesh Oswal <Nikesh.Oswal@xxxxxxxxxxxxxxxx> Date: Mon Feb 16 15:25:48 2015 +0000 ASoC: wm_adsp: Ensure DSP controls are always persistent Currently DSP controls are persistent (across DSP On/Off) only if they were set whilst the DSP is off. This change makes the controls persistent irrespective of when they are set. Signed-off-by: Nikesh Oswal <Nikesh.Oswal@xxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7371bd1f4aeb4e1c44b8c1ba8e36ebba4250b59c Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Tue Feb 17 13:59:26 2015 +0800 ASoC: rt5670: Add disabled item in dmic pin enum Currently, we will configure dmic related pin definition if pdata.dmic_en is true. However, there is no disable option in the enum. So, any dmic is used, all 3 dmic related pins will be configured. It may cause unexpected pin definition. This patch adds a disable item for each dmic enum and take it as default. So the driver will not set the pin configuration if we don't set dmicx_data_pin in platform data. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bb39b7433d1c652b3699a7b335e0ad91181b2b05 Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Thu Feb 19 13:15:49 2015 -0500 sunvnet: failed trigger should not cause BUG_ON() An error return from __vnet_tx_trigger() sets the TX descriptor to VIO_DESC_FREE while leaving port->tx_bufs[txi].skb set. This leads to a BUG_ON() the next time this descriptor is used. This patch frees the pending skb when getting a trigger error to match the VIO_DESC_FREE state. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Acked-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 950ddcb1c13f86a08896b48e2c1f1527263d4130 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Thu Feb 19 10:13:25 2015 -0800 bonding: simple code refactor Remove duplicate code. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a50dad355a5314da64586da36804b86fbebb7c2a Author: Arun Chandran <achandran@xxxxxxxxxx> Date: Wed Feb 18 16:59:35 2015 +0530 net: macb: Add big endian CPU support This patch converts all __raw_readl and __raw_writel function calls to their corresponding readl_relaxed and writel_relaxed variants. It also tells the driver to set ahb_endian_swp_mgmt_en bit in dma_cfg when the CPU is configured in big endian mode. Signed-off-by: Arun Chandran <achandran@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 931c471af51565a6290d9fabbe14ed7c8fa4a317 Merge: 959d10f 85fe7cd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 20 15:46:55 2015 -0500 Merge branch 'bnx2x-next' Rasesh Mody says: ==================== bnx2-cnic: Driver Version Upgrades This patch set includes bnx2 and cnic drivers' re-branding changes, fix for a chip initialization issue and updates the bnx2 driver version to 2.2.6 and cnic driver version to 2.5.21. Please apply these patches to net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85fe7cd21f99fed1842275ef86c88de5ecc998b4 Author: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Date: Tue Feb 17 19:26:20 2015 -0500 bnx2-cnic: Driver Version Update This patch updates BNX2 driver version to 2.2.6 and CNIC driver version to 2.5.21. Signed-off-by: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0021850d0417a4dc38ed871d929b651b87e2ead9 Author: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Date: Tue Feb 17 19:26:19 2015 -0500 bnx2: Fix for Chip Initialization Do not enable filter SORT MODE in chip init routine. This patch addresses an issue where BCM5716 sporadically drops packets when changing multicast list. Signed-off-by: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e0bf125ac7d3d32dd699d345d19a7f3e675776c Author: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Date: Tue Feb 17 19:26:18 2015 -0500 bnx2-cnic: Driver Rebranding Changes This patch provides additional changes as a part of BNX2 and CNIC driver re-branding effort. Signed-off-by: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 959d10f6bbf6ab5b8813c4e37540a2e43ca2ae96 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Feb 17 03:19:24 2015 -0800 igmp: add __ip_mc_{join|leave}_group() There is a need to perform igmp join/leave operations while RTNL is held. Make ip_mc_{join|leave}_group() wrappers around __ip_mc_{join|leave}_group() to avoid the proliferation of work queues. For example, vxlan_igmp_join() could possibly be removed. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64bea46e3ff28701aa34be48b93c7907ebbdb31e Author: Aleksander Morgado <aleksander@xxxxxxxxxxxxx> Date: Tue Feb 17 11:31:29 2015 +0100 hso: always read interface number from the current altsetting Always read bInterfaceNumber from the current altsetting, not from the first one available in the altsetting array. This is coming from code review, not related to any specific bug. Signed-off-by: Aleksander Morgado <aleksander@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 216fa18f339e9e006a93cacb54884348da668b9e Merge: 6d91147 eb84bab Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 20 15:19:56 2015 -0500 Merge branch 'ppc_bpf' Denis Kirjanov says: ==================== bpf: Enable BPF JIT on ppc32 This patch series enables BPF JIT on ppc32. There are relatevily few chnages in the code to make it work. All test_bpf tests passed both on 7447a and P2041-based machines. Changelog: v1 - > v2: Reordered Kconfig patch in the series ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb84bab0fb38047eca79b189cde5a95312fa5818 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:43 2015 +0300 ppc: Kconfig: Enable BPF JIT on ppc32 Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 022909482d1c97c0b70438f2727a4f286ef0d289 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:42 2015 +0300 ppc: bpf: Add SKF_AD_CPU for ppc32 Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ddadeab07dcc9b1456891b6fe1f1ba085028433 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:41 2015 +0300 ppc: bpf: rename bpf_jit_64.S to bpf_jit_asm.S Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09ca5ab23eca61a6f79076d38ab5a17da07533dc Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:40 2015 +0300 ppc: bpf: update jit to use compatibility macros Use helpers from the asm-compat.h to wrap up assembly mnemonics Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 693930d69c67145dcdf512fe863dbb1095b744b9 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:39 2015 +0300 ppc: bpf: add reqired opcodes for ppc32 Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb7fc08e57f4d4479de235dd7354f94e860c8e6a Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Tue Feb 17 10:04:38 2015 +0300 ppc: bpf: add required compatibility macros for jit Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d91147d183c87d290f3b062d3fbf1ede312b449 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Feb 16 17:31:39 2015 -0800 batman-adv: Remove uses of return value of seq_printf This function is soon going to return void so remove the return value use. Convert the return value to test seq_has_overflowed() instead. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db2855ae2441f151a1b65e1acbe484d51a0d4dd5 Author: stephen hemminger <shemming@xxxxxxxxxxx> Date: Mon Feb 16 09:38:13 2015 -0500 tcp: silence registration message This message isn't really needed it justs waits time/space. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50036ccf3deeb8f0ffd7311a50a8586ae62bc8b1 Merge: 69994d1 cf5671e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Feb 20 14:07:02 2015 -0500 Merge branch 'be2net-next' Sriharsha Basavapatna says: ==================== be2net patch-set This patch set contains a few code refactoring changes to make it easy to support new TX WRB formats in future ASICs. Please consider applying it to net-next tree. Patch 1: Refactors chip specific code to setup tx wrb into a separate routine. Patch 2: Refactors tx enqueue function to remove a bit of duplicate code and improves wrb setup steps. Patch 3: Minor refactoring in tx compl to limit CQE accesses to 1 routine. Patch 4: Adds a few inline functions. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf5671e6999829933aa4b9b8eefc7d3b8b85c5cb Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Date: Mon Feb 16 08:03:48 2015 +0530 be2net: Add a few inline functions to test TXQ conditions - Check qfull condition - Check qwake condition - Check pkts pending completion Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 152ffe5bb7108d39a50bcc723219685a573f8397 Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Date: Mon Feb 16 08:03:47 2015 +0530 be2net: Minor code cleanup in tx completion process - To avoid multiple accesses to CQE, extract compl_status and end_idx from be_tx_compl_get(). Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79a0d7d8e0b2981dabc241cbeec6b99620dd7c5b Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Date: Mon Feb 16 08:03:46 2015 +0530 be2net: Refactor be_xmit_enqueue() routine - Reduce code duplication by moving WRB-frags setup into a function. - Do not setup WRB-header before frags are setup, which is unncessary if there's errors while setting up frags. We should only grab an entry for the header, setup the frags and if everything is fine setup the header. - The error cleanup can be moved into a small function. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 804abcdbdbb68df5ca8cf7e70366522f02298029 Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Date: Mon Feb 16 08:03:45 2015 +0530 be2net: Refactor wrb_fill_hdr() routine The WRB header is setup by wrb_fill_hdr() routine. This routine currently gets some of the WRB params as args and figures out rest of the WRB params by looking at various fields in skb (like gso, checksum, vlan-tag etc). All these params could instead be retrieved from the skb into a structure and passed to this routine. This separates wrb_fill_hdr() to only provide chip-specific code to fill the WRB. This also makes it simple to support chips with different WRB formats. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b20221385c40155f13068be75b865170a1ad5d1e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 17:05:27 2015 +0100 ALSA: pcm: Don't ignore internal PCMs in snd_pcm_dev_disconnect() Some codes in snd_pcm_dev_disconnect() are still valid even for internal PCMs, but they are skipped because of the check of list_empty(&pcm->list) at the beginning. Remove this check and put pcm->internal checks appropriately for internal PCM object to process through this function. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 646e1dd8f9f47c57560ce81c02fdd57ff0929bc6 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 17:04:08 2015 +0100 ALSA: pcm: Don't notify internal PCMs Notifier shouldn't listen to the changes of internal PCMs. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b95bd3a454cf9e9e111b6b87c02550368fe6e802 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 16:49:04 2015 +0100 ALSA: pcm: Don't add internal PCMs to PCM device list An internal PCM object shouldn't be added to the PCM device list, as it's never accessed directly from the user-space, and it has no proc or any similar accesses. Currently, it's excluded in snd_pcm_get() and snd_pcm_next(), but it's easier not to add such an object to the list. Actually, the whole snd_pcm_dev_register() can be skipped for an internal PCM. So this patch changes the code there, but also addresses the uninitialized list_head access. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ad876c862278be59147d4004f1a7c4d492e4ec96 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 16:26:00 2015 +0100 ALSA: pcm: Minor refactoring in snd_pcm_attach_substream() No functional changes at all. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 16068ec19f497bd80552332b4523150884888a7a Author: David Sterba <dsterba@xxxxxxx> Date: Fri Jan 16 17:21:12 2015 +0100 btrfs: cleanup 64bit/32bit divs, compile time constants Switch to div_u64 if the divisor is a numeric constant or sum of sizeof()s. We can remove a few instances of do_div that has the hidden semtantics of changing the 1st argument. Small power-of-two divisors are converted to bitshifts, large values are kept intact for clarity. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 03f310efd4b19ddc2cca15ae67f48295554adbfe Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Feb 20 13:26:24 2015 +0200 Bluetooth: Remove unnecessary queue_monitor_skb() function Now that there's the general purpose hci_send_to_channel() API it will do the exact same thing as queue_monitor_skb() when passed the monitor HCI channel. This patch removes queue_monitor_skb() and replaces any users of it with calls to hci_send_to_channel(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7129069e84056ba28954550beb208b2645863299 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Feb 20 13:26:23 2015 +0200 Bluetooth: Rename hci_send_to_control to hci_send_to_channel The hci_send_to_control() can be made more general purpose with a small change of passing the desired HCI channel as a parameter to it. This allows using it for the monitor channel as well as e.g. 6lowpan in the future. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 39e3e74423a35bfc95b077fb65acaa00d1d39d64 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Feb 20 13:48:24 2015 +0200 Bluetooth: Use hci_copy_identity_addr() helper for SMP chan creation The only reason the SMP code is essentially duplicating the hci_copy_identity_addr() function is that the helper returns the address type in the HCI format rather than the three-value format expected by l2cap_chan. This patch converts the SMP code to use the helper and then do a simple conversion from one address type to another. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c72638bdaabe9ea4b09003b9db7e1754f472fbed Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:09 2015 -0600 ALSA: bump PCM protocol to 2.0.13 Bump PCM protocol to enable use of STATUS_EXT ioctls, older apps will still use STATUS and audio timestamp configuration is not supported (backwards compatible behavior). Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2d52a5abd5be35340296a251092c8a594679df54 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:08 2015 -0600 ALSA: core: remove .wall_clock can be removed without breaking git-bisect now Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9e94df3a624b1b485f2c2ac5ab94032da01e45b3 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:07 2015 -0600 ALSA: hda: replace .wallclock by .get_time_info No real functional change, only take wall clock and system time in same routine and add accuracy report. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3179f62001880e588e229db3006a59ad87b7792a Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:06 2015 -0600 ALSA: core: add .get_time_info Introduce more generic .get_time_info to retrieve system timestamp and audio timestamp in single routine. Backwards compatibility is preserved with same functionality as with .wall_clock method (to be removed in following commits to avoid breaking git bisect) Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5442a73a009231598fb5ea065c4e3f9daa30d8cc Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:05 2015 -0600 ALSA: core: pass audio tstamp config from userspace in compat mode Let userspace select audio timestamp config, ignore and zero all other fields Use audio_tstamp_data to retrieve config and pass report back to user space Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 38ca2a4d58bbc45973ee5cd14e4b803ee5ad69f0 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:04 2015 -0600 ALSA: core: pass audio tstamp config from userspace Let userspace select audio timestamp config when the STATUS_EXT ioctl is used, ignore and zero all other fields No change for the existing STATUS ioctl, parameters are treated as read-only. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 229d043096ea8e58829d37d35767afeac15997f5 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Feb 13 15:14:03 2015 -0600 ALSA: core: selection of audio_tstamp type and accuracy reports Audio timestamps can be extracted from sample counters, wall clocks, PHC clocks (Ethernet AVB), on-demand synchronized snapshots. This patch provides the ability to report timestamping capabilities, select timestamp types and retrieve timestamp accuracy, if supported. Details can be found in Documentations/sound/alsa/timestamping.txt This functionality is introduced by reclaiming the reserved_aligned field introduced by commit9c7066aef4a5eb8e4063de28f06c508bf6f2963a in snd_pcm_status to provide userspace with selection/query capabilities. Additional driver_tstamp and audio_tstamp_accuracy fields are also added. snd_pcm_mmap_status remains a read-only structure with only the audio timestamp value accessible from user space. The selection of audio timestamp type is done through snd_pcm_status only This commit does not impact ABI and does not impact the default behavior. By default audio timestamp is aligned with hw_pointer and reports the DMA position. Backwards compatibility is handled by using the HDAudio wall clock for playback and the hw_ptr for all other cases. For timestamp selection a new STATUS_EXT ioctl is introduced with read/write parameters. Alsa-lib will be modified to make use of STATUS_EXT. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 781c7b9615dc1441d6743124086eb3da14bf46e9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 20 10:26:25 2015 +0100 ALSA: hda - Avoid unnecessary power-up at mixer amp changes When the mixer amp is touched by control elements, we don't have to power up always; if the codec was suspended at the time, we can just update the amp cache and it's reflected to the hardware upon resume. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 719d359dc7b6be3e43d6661f192ceb980b10ee26 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Thu Feb 19 10:37:28 2015 -0700 x86/asm: Add support for the pcommit instruction Add support for the new pcommit (persistent commit) instruction. This instruction was announced in the document "Intel Architecture Instruction Set Extensions Programming Reference" with reference number 319433-022: https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf The pcommit instruction ensures that data that has been flushed from the processor's cache hierarchy with clwb, clflushopt or clflush is accepted to memory and is durable on the DIMM. The primary use case for this is persistent memory. This function shows how to properly use clwb/clflushopt/clflush and pcommit with appropriate fencing: void flush_and_commit_buffer(void *vaddr, unsigned int size) { void *vend = vaddr + size - 1; for (; vaddr < vend; vaddr += boot_cpu_data.x86_clflush_size) clwb(vaddr); /* Flush any possible final partial cacheline */ clwb(vend); /* * sfence to order clwb/clflushopt/clflush cache flushes * mfence via mb() also works */ wmb(); /* pcommit and the required sfence for ordering */ pcommit_sfence(); } After this function completes the data pointed to by vaddr is has been accepted to memory and will be durable if the vaddr points to persistent memory. Pcommit must always be ordered by an mfence or sfence, so to help simplify things we include both the pcommit and the required sfence in the alternatives generated by pcommit_sfence(). The other option is to keep them separated, but on platforms that don't support pcommit this would then turn into: void flush_and_commit_buffer(void *vaddr, unsigned int size) { void *vend = vaddr + size - 1; for (; vaddr < vend; vaddr += boot_cpu_data.x86_clflush_size) clwb(vaddr); /* Flush any possible final partial cacheline */ clwb(vend); /* * sfence to order clwb/clflushopt/clflush cache flushes * mfence via mb() also works */ wmb(); nop(); /* from pcommit(), via alternatives */ /* * sfence to order pcommit * mfence via mb() also works */ wmb(); } This is still correct, but now you've got two fences separated by only a nop. With the commit and the fence together in pcommit_sfence() you avoid the final unneeded fence. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424367448-24254-1-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 69994d17abe90c4ae449dfcefbae9754f92c36bd Merge: ea8860eb 4c73266 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Feb 19 15:52:33 2015 -0500 Merge branch 'mv88e6171_indirect_phy' Andrew Lunn says: ==================== Indirect phy access for mv88e6171 These two patches allow the mv88e6171 driver to access the port phys using indirect addressing. Depending on pin strapping, the switch either uses a single address on the host MDIO bus, requiring the port phys are accessed indirectly, or the switch uses a number of addresses on the host bus and the phys can be directly accessed. The 370RD, the first supported platform to use the 6171 uses multiple addresses, so this indirect mode was not required. However the WRT1900AC has the switch configured to use a single address, and so indirect access is needed. The mv88e6352 already has all the needed code. Refactor it into the shared mv88e6xxx and then use it in the mv88e6171 driver. Tested on the 370RD and WRT1900AC. It would be good if Guenter Roeck could test on his platform to ensure i've not broken anything for the mv88e6352. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c732668f98b96a0fa2645ac220fd9bbc17838c4 Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Feb 14 19:17:51 2015 +0100 net: dsa: mv88e6171: Enable access to phys via internal mdio bus When the device is configured to use single chip addressing mode, the phy devices of the port are not accessible on the host MDIO bus. Instead the switch internal MDIO bus must be used. For this to work, the phy polling unit must be enabled. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f30446839b5a283cde54f7e233bbebc69bbd3d16 Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Feb 14 19:17:50 2015 +0100 net: dsa: mv88e6352: Refactor shareable code The mv88e6352 allows access to the port phys via an internal mdio bus which is accessed using registers in the GLOBAL 2 range. The mv88e6171 and probably other devices use the same mechanism. Move this code into the shared mv88e6xxx.c library. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96d2bd6e3cdf57926f80605d6e28051bb6b24eb3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 18:12:22 2015 +0100 ALSA: hda - Split azx_codec_create() to two phases azx_create_codec() function does actually two things: create a bus and probe codecs. For the future work, split this to two logical functions, azx_bus_create() and azx_probe_codecs(). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b8f28d53641f13902790904ab15028ff8ecd0882 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 18:06:45 2015 +0100 ALSA: hda - Drop azx_mixer_create() It's just an indirection, so let the caller directly calling snd_hda_build_controls(). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 89a93fea6182a71cedce9de1d901e4f379322cf3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 18:04:17 2015 +0100 ALSA: hda - Fold hda_priv.h into hda_controller.h There is no big reason to keep them separately. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 364aa716f43c991052cbb4fa05e3754bacccb95c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 19 16:51:17 2015 +0100 ALSA: hda - Introduce azx_has_pm_runtime() macro For making the debugging of runtime PM easier, introduce azx_has_pm_runtime() and use it in all places checking the runtime pm driver capability. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ea8860eb504a953cf8fe0e96c3166201b05c9b73 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 10:47:45 2015 -0600 net: eth: altera: Change reset_mac failure message masks from err to dbg This debug output is not really an error message since mac reset can fail if the phy clocks are gated, specifically when the phy has been placed in a powered down or isolation mode. The netdev output masks were changed from err to dbg, and comments added in the code. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a923fc730fdbbf079eadfe2b9a1644971bd95793 Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 12 10:47:33 2015 -0600 net: eth: altera: Change access ports to mdio for all xMII applications Change use of Altera TSE's MDIO access from phy 0 registers to phy 1 registers. This allows support for GMII, MII, RGMII, and SGMII designs where the external PHY is always accesible through Altera TSE's MDIO phy 1 registers and Altera's PCS is accessible through MDIO phy 0 registers for SGMII applications. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Tested-by: Kai Lin Ng <kailng@xxxxxxxxxx> Tested-by: Dalon Westergreen <dwesterg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a53c4bf7f27f043564f5bdace12405c54265cb66 Merge: fece13c efb3dd8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Feb 19 15:08:47 2015 -0500 Merge branch 'r8152-next' Hayes Wang says: ==================== Adjust the settings about USB_RX_EARLY_AGG v2: For patch #1, replace u32 ocp_data; ocp_data = tp->coalesce / 8; with u32 ocp_data = tp->coalesce / 8; And replace struct net_device *dev = tp->netdev; u32 ocp_data; ocp_data = (agg_buf_sz - dev->mtu - VLAN_ETH_HLEN - VLAN_HLEN) / 4; with u32 mtu = tp->netdev->mtu; u32 ocp_data = (agg_buf_sz - mtu - VLAN_ETH_HLEN - VLAN_HLEN) / 4; Use *switch* statement to replace the checking of *if*. v1: The USB_RX_EARLY_AGG contains timeout and size. Separate them, and they could be set independently. Then, the ethtool could be used to change the timeout according to situation of the platform. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efb3dd88f4490b752e3c26bbc3e40391758426d6 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Feb 12 14:33:48 2015 +0800 r8152: support setting rx coalesce Support setting the rx coalesce. Then someone could change the rx agg timeout value through ethtool. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 396e2e235af79b39d605ad6259f366e502e21959 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Feb 12 14:33:47 2015 +0800 r8152: change rx early size when the mtu is changed The rx early size is calculated with the mtu, so it has to be re-calculated when the mtu is changed. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 464ec10a2d7f09784517040fae8de54a39c2765f Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Feb 12 14:33:46 2015 +0800 r8152: separate USB_RX_EARLY_AGG Separate USB_RX_EARLY_AGG into USB_RX_EARLY_TIMEOUT and USB_RX_EARLY_SIZE. Replace r8153_set_rx_agg() with r8153_set_rx_early_timeout() and r8153_set_rx_early_size(). Set the default timeout value according to the USB speed. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2cb01de1cb1db05b946e0132aeecbb514c57024 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Feb 19 17:38:07 2015 +0200 Bluetooth: Fix checking for pending Set SSP in Set HS handler Changing the HS setting requires that SSP is enabled, however so far the code only checked for the SSP flag but not a potentially ongoing Set SSP operation. This patch adds a check for a pending Set SSP command in the Set HS handler, and returns a 'busy' error if one is found. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 94d52dad9ef31e178ccc141dfd8feb84cccde581 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Feb 19 17:38:06 2015 +0200 Bluetooth: Remove bogus check for pending mgmt Set HS command The command handler for Set HS doesn't use mgmt_pending_add() so we can never have a pending Set HS command that mgmt_pending_find() would return. This patch removes an unnecessary lookup for it in the set_ssp() handler function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fa45a45ca34891614789e68dfbf7ce344c9013ac Merge: e07e0d4 d79f931 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Feb 19 13:18:02 2015 +0100 Merge tag 'ras_for_3.21' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras into x86/ras Pull RAS updates from Borislav Petkov: "- Enable AMD thresholding IRQ by default if supported. (Aravind Gopalakrishnan) - Unify mce_panic() message pattern. (Derek Che) - A bit more involved simplification of the CMCI logic after yet another report about race condition with the adaptive logic. (Borislav Petkov) - ACPI APEI EINJ fleshing out of the user documentation. (Borislav Petkov) - Minor cleanup. (Jan Beulich.)" Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d79f931f1c8b6963e13a3738ef2906ba89bb8d12 Author: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Date: Mon Feb 2 11:02:41 2015 -0600 x86/MCE/AMD: Enable thresholding interrupts by default if supported We setup APIC vectors for threshold errors if interrupt_capable. However, we don't set interrupt_enable by default. Rework threshold_restart_bank() so that when we set up lvt_offset, we also set IntType to APIC and also enable thresholding interrupts for banks which support it by default. User is still allowed to disable interrupts through sysfs. While at it, check if status is valid before we proceed to log error using mce_log. This is because, in multi-node platforms, only the NBC (Node Base Core, i.e. the first core in the node) has valid status info in its MCA registers. So, the decoding of status values on the non-NBC leads to noise on kernel logs like so: EDAC DEBUG: amd64_inject_write_store: section=0x80000000 word_bits=0x10020001 [Hardware Error]: Corrected error, no action required. [Hardware Error]: CPU:25 (15:2:0) MC4_STATUS[-|CE|-|-|- [Hardware Error]: Corrected error, no action required. [Hardware Error]: CPU:26 (15:2:0) MC4_STATUS[-|CE|-|-|- <...> WARNING: CPU: 25 PID: 0 at drivers/edac/amd64_edac.c:2147 decode_bus_error+0x1ba/0x2a0() WARNING: CPU: 26 PID: 0 at drivers/edac/amd64_edac.c:2147 decode_bus_error+0x1ba/0x2a0() Something is rotten in the state of Denmark. Suggested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Link: http://lkml.kernel.org/r/1422896561-7695-1-git-send-email-aravind.gopalakrishnan@xxxxxxx [ Massage commit message. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 8af7043a3cd2c259e9f5d3158f3e736d06c05056 Author: Derek Che <drc@xxxxxxxxxxxxx> Date: Mon Feb 2 10:30:21 2015 -0800 x86/MCE: Make mce_panic() fatal machine check msg in the same pattern There is another mce_panic call with "Fatal machine check on current CPU" in the same mce.c file, why not keep them all in same pattern mce_panic("Fatal machine check on current CPU", &m, msg); Signed-off-by: Derek Che <drc@xxxxxxxxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 3f2f0680d1161df96a0e8fea16930f1bd487a9cf Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Jan 13 15:08:51 2015 +0100 x86/MCE/intel: Cleanup CMCI storm logic Initially, this started with the yet another report about a race condition in the CMCI storm adaptive period length thing. Yes, we have to admit, it is fragile and error prone. So let's simplify it. The simpler logic is: now, after we enter storm mode, we go straight to polling with CMCI_STORM_INTERVAL, i.e. once a second. We remain in storm mode as long as we see errors being logged while polling. Theoretically, if we see an uninterrupted error stream, we will remain in storm mode indefinitely and keep polling the MSRs. However, when the storm is actually a burst of errors, once we have logged them all, we back out of it after ~5 mins of polling and no more errors logged. If we encounter an error during those 5 minutes, we reset the polling interval to 5 mins. Making machine_check_poll() return a bool and denoting whether it has seen an error or not lets us simplify a bunch of code and move the storm handling private to mce_intel.c. Some minor cleanups while at it. Reported-by: Calvin Owens <calvinowens@xxxxxx> Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1417746575-23299-1-git-send-email-calvinowens@xxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 0eac092d8307db61d320f77f9fce40e60b4ffa89 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Jan 20 17:40:43 2015 +0100 Documentation/acpi/einj: Correct and streamline text Streamline and simplify formulations, improve formatting and extend the injection example in the error injection write up for users which we carry in Documentation/. Add a paragraph about checking for EINJ support and expand the ACPI5.0 memory errors section, as requested by Tony. Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1422553845-30717-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 2cd4c303a7b438482f73006a29add462ca1cb9d9 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Fri Jan 23 08:32:01 2015 +0000 x86/MCE/AMD: Drop bogus const modifier from AMD's bank4_names() The compiler validly warns about it being ignored. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/54C21511020000780005890E@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit f353e612304ba752d6b613dc02eae8116cd3e27b Merge: e07e0d4 728e53f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Feb 19 11:17:42 2015 +0100 Merge branch 'tip-x86-fpu' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/fpu Pull FPU updates from Borislav Petkov: "A round of updates to the FPU maze from Oleg and Rik. It should make the code a bit more understandable/readable/streamlined and a preparation for more cleanups and improvements in that area." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 728e53fef429a0f3c9dda3587c3ccc57ad268b70 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Feb 6 15:02:05 2015 -0500 x86/fpu: Also check fpu_lazy_restore() when use_eager_fpu() With Oleg's patch: 33a3ebdc077f ("x86, fpu: Don't abuse has_fpu in __kernel_fpu_begin/end()") kernel threads no longer have an FPU state even on systems with use_eager_fpu(). That in turn means that a task may still have its FPU state loaded in the FPU registers, if the task only got interrupted by kernel threads from when it went to sleep, to when it woke up again. In that case, there is no need to restore the FPU state for this task, since it is still in the registers. The kernel can simply use the same logic to determine this as is used for !use_eager_fpu() systems. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-9-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6a5fe8952bd676baf382d14df21e7b32b5d8943e Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Feb 6 15:02:04 2015 -0500 x86/fpu: Use task_disable_lazy_fpu_restore() helper Replace magic assignments of fpu.last_cpu = ~0 with more explicit task_disable_lazy_fpu_restore() calls. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-8-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1361ef29c7e49ae7cf37220c25fac1904b77f71a Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Feb 6 15:02:03 2015 -0500 x86/fpu: Use an explicit if/else in switch_fpu_prepare() Use an explicit if/else branch after __save_init_fpu(old) in switch_fpu_prepare(). This makes substituting the assignment with a call in task_disable_lazy_fpu_restore() in the next patch easier to review. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-7-git-send-email-riel@xxxxxxxxxx [ Space out stuff for more readability. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 33e03dedd759cc9396252d9641b25d01909a26bb Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Feb 6 15:02:02 2015 -0500 x86/fpu: Introduce task_disable_lazy_fpu_restore() helper Currently there are a few magic assignments sprinkled through the code that disable lazy FPU state restoring, some more effective than others, and all equally mystifying. It would be easier to have a helper to explicitly disable lazy FPU state restoring for a task. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-6-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1c927eea4cad83c439cb51e9c96ad19cb005157d Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Feb 6 15:02:01 2015 -0500 x86/fpu: Move lazy restore functions up a few lines We need another lazy restore related function, that will be called from a function that is above where the lazy restore functions are now. It would be nice to keep all three functions grouped together. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-5-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 08a744c6bfded3d5fa66f94263f81773226113d1 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Feb 6 15:02:00 2015 -0500 x86/fpu: Change math_error() to use unlazy_fpu(), kill (now) unused save_init_fpu() math_error() calls save_init_fpu() after conditional_sti(), this means that the caller can be preempted. If !use_eager_fpu() we can hit the WARN_ON_ONCE(!__thread_has_fpu(tsk)) and/or save the wrong FPU state. Change math_error() to use unlazy_fpu() and kill save_init_fpu(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-4-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1a2a7f4ec8e3a7ac582dac4d01fcc7e8acd3bb30 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Feb 6 15:01:59 2015 -0500 x86/fpu: Don't do __thread_fpu_end() if use_eager_fpu() unlazy_fpu()->__thread_fpu_end() doesn't look right if use_eager_fpu(). Unconditional __thread_fpu_end() is only correct if we know that this thread can't return to user-mode and use FPU. Fortunately it has only 2 callers. fpu_copy() checks use_eager_fpu(), and init_fpu(current) can be only called by the coredumping thread via regset->get(). But it is exported to modules, and imo this should be fixed anyway. And if we check use_eager_fpu() we can use __save_fpu() like fpu_copy() and save_init_fpu() do. - It seems that even !use_eager_fpu() case doesn't need the unconditional __thread_fpu_end(), we only need it if __save_init_fpu() returns 0. - It is still not clear to me if __save_init_fpu() can safely nest with another save + restore from __kernel_fpu_begin(). If not, we can use kernel_fpu_disable() to fix the race. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-3-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a9241ea5fd709fc935dade130f4e3b2612bbe9e3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Feb 6 15:01:58 2015 -0500 x86/fpu: Don't reset thread.fpu_counter The "else" branch clears ->fpu_counter as a remnant of the lazy FPU usage counting: e07e23e1fd30 ("[PATCH] non lazy "sleazy" fpu implementation") However, switch_fpu_prepare() does this now so that else branch is superfluous. If we do use_eager_fpu(), then this has no effect. Otherwise, if we actually wanted to prevent fpu preload after the context switch we would need to reset it unconditionally, even if __thread_has_fpu(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423252925-14451-2-git-send-email-riel@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit fb148d83ec6924b7766731e58739d7281b6fb8c7 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Feb 19 13:34:58 2015 +0600 x86/asm/boot: Use already defined KEEP_SEGMENTS macro in head_{32,64}.S There is already defined macro KEEP_SEGMENTS in <asm/bootparam.h>, let's use it instead of hardcoded constants. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1424331298-7456-1-git-send-email-kuleshovmail@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3a6d576be9fe02b0c3ffa89ef6eac048e14eec84 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Feb 18 14:53:58 2015 +0200 Bluetooth: Convert disconn_cfm to be triggered through hci_cb This patch moves all the disconn_cfm callbacks to be based on the hci_cb list. This means making l2cap_disconn_cfm private to l2cap_core.c and sco_conn_cb private to sco.c respectively. Since the hci_conn type filtering isn't done any more on the wrapper level the callbacks themselves need to check that they were passed a relevant type of connection. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 539c496d88f7f96d42abde4e9d901c8f8167d615 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Feb 18 14:53:57 2015 +0200 Bluetooth: Convert connect_cfm to be triggered through hci_cb This patch moves all the connect_cfm callbacks to be based on the hci_cb list. This means making l2cap_connect_cfm private to l2cap_core.c and sco_connect_cb private to sco.c respectively. Since the hci_conn type filtering isn't done any more on the wrapper level the callbacks themselves need to check that they were passed a relevant type of connection. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 354fe804edb29625eee6dd7b1f3c72b43392704d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Feb 18 14:53:56 2015 +0200 Bluetooth: Convert L2CAP security callback to use hci_cb There's no reason to have the custom hci_proto_auth/encrypt_cfm helpers when the hci_cb list works equally well. This patch adds L2CAP to the hci_cb list and makes l2cap_security_cfm a private function of l2cap_core.c. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fba7ecf09bc458b15f9d578e4213c8c349f9592d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Feb 18 14:53:55 2015 +0200 Bluetooth: Convert hci_cb_list_lock to a mutex We'll soon need to be able to sleep inside the loops that iterate the hci_cb list, so neither a spinlock, rwlock or rcu are usable. This patch changes the lock to a mutex which permits sleeping while holding the lock. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 00629e0fd56d528f0da4d9606726a4e22e576ace Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Feb 18 14:53:54 2015 +0200 Bluetooth: Add new hci_cb entries to the tail rather than the head When processing hci_cb entries we want first registered callbacks to be called first and later ones later. This is because eventually the L2CAP callbacks that are part of the core will use this list and get registered first. To keep the same order of calling L2CAP callbacks before e.g. RFCOMM the order of elements needs to be this way. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9261dc1de11e158a5f6b4b92c8bf1ef4a02dbf0d Author: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Date: Fri Jan 2 11:19:57 2015 -0500 x86/build/defconfig: Enable USB_EHCI_TT_NEWSCHED=y Some Gentoo users are encountering problems because USB_EHCI_TT_NEWSCHED isn't set in the defconfig (and Gentoo differs from other distros in not providing a distro .config). Alan Stern has said there's no reason to not set it, and the ability to turn it off at all should probably be yanked: http://article.gmane.org/gmane.linux.usb.general/119920 This addresses issue: https://bugs.gentoo.org/show_bug.cgi?id=533472 (The problem also theoretically affects the sh, arm, mips, powerpc, and sparc archs, but those would be other patches if this one that fixes 98% of the problem is accepted). Signed-off-by: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e85bd9892c4f10fd20fc575e62327efb7c77015d Author: Sylvain BERTRAND <sylvain.bertrand@xxxxxxxxx> Date: Mon Dec 29 16:43:24 2014 +0100 x86/build: Fix mkcapflags.sh bash-ism Chocked while compiling linux with dash shell instead of bash shell. See: http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_09_05 Signed-off-by: Sylvain BERTRAND <sylvain.bertrand@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20141229154324.GA27533@dhcppc1 Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0cdb81bef20b1d9e12111fa6cd81f748ebd87778 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Fri Jan 23 08:35:13 2015 +0000 x86-64: Also clear _PAGE_GLOBAL from __supported_pte_mask if !cpu_has_pge Not just setting it when the feature is available is for consistency, and may allow Xen to drop its custom clearing of the flag (unless it needs it cleared earlier than this code executes). Note that the change is benign to ix86, as the flag starts out clear there. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/54C215D10200007800058912@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1f40a8bfa91adfa8d1ac5013c08c76f6fd6691ad Author: Pavel Machek <pavel@xxxxxx> Date: Sun Dec 28 17:15:24 2014 +0100 x86/mm/pat: Ensure different messages in STRICT_DEVMEM and PAT cases STRICT_DEVMEM and PAT produce same failure accessing /dev/mem, which is quite confusing to the user. Make printk messages different to lessen confusion. Signed-off-by: Pavel Machek <pavel@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1db491f77b6ed0f32f1d4a3ac40a5be9524f1914 Author: Fenghua Yu <fenghua.yu@xxxxxxxxx> Date: Thu Jan 15 20:30:01 2015 -0800 x86/mm: Reduce PAE-mode per task pgd allocation overhead from 4K to 32 bytes With more embedded systems emerging using Quark, among other things, 32-bit kernel matters again. 32-bit machine and kernel uses PAE paging, which currently wastes at least 4K of memory per process on Linux where we have to reserve an entire page to support a single 32-byte PGD structure. It would be a very good thing if we could eliminate that wastage. PAE paging is used to access more than 4GB memory on x86-32. And it is required for NX. In this patch, we still allocate one page for pgd for a Xen domain and 64-bit kernel because one page pgd is assumed in these cases. But we can save memory space by only allocating 32-byte pgd for 32-bit PAE kernel when it is not running as a Xen domain. Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Glenn Williamson <glenn.p.williamson@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1421382601-46912-1-git-send-email-fenghua.yu@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db2dcb4f91d5fec5c346a82c309187ee821e2495 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Tue Jan 20 13:00:46 2015 +0000 irqflags: Fix (at least latent) code generation issue The conditional in local_irq_restore() otherwise can cause code bloat (the if and else blocks may get translated into separate code paths despite the generated code being identical, dependent on compiler internal heuristics). Note that this adjustment gets the code in sync with the comment preceding it (which was slightly wrong from at least from 2.6.37 onwards). The code bloat was observed in reality with an experimental x86 patch. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/54BE5F8E02000078000570A7@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 79287cf8778df21e5ad6c3ac01615e02cf9dbae6 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Sun Jan 25 00:11:32 2015 +0600 x86/boot/video: Move the 'video_segment' variable to video.c video.c is the only real user of the 'video_segment' variable, so move it to video.c and make it static. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Martin Mares <mj@xxxxxx> Link: http://lkml.kernel.org/r/1422123092-28750-1-git-send-email-kuleshovmail@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5b171e8218044d3c951d20a39512df861e349722 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Wed Jan 28 00:16:28 2015 +0600 x86/asm/boot: Fix path in comments Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Martin Mares <mj@xxxxxx> Link: http://lkml.kernel.org/r/1422382588-10367-1-git-send-email-kuleshovmail@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 91e5ed49fca09c2b83b262b9757d1376ee2b46c3 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Tue Jan 27 16:06:02 2015 -0800 x86/asm/decoder: Fix and enforce max instruction size in the insn decoder x86 instructions cannot exceed 15 bytes, and the instruction decoder should enforce that. Prior to 6ba48ff46f76, the instruction length limit was implicitly set to 16, which was an approximation of 15, but there is currently no limit at all. Fix MAX_INSN_SIZE (it should be 15, not 16), and fix the decoder to reject instructions that exceed MAX_INSN_SIZE. Other than potentially confusing some of the decoder sanity checks, I'm not aware of any actual problems that omitting this check would cause, nor am I aware of any practical problems caused by the MAX_INSN_SIZE error. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Fixes: 6ba48ff46f76 ("x86: Remove arbitrary instruction size limit ... Link: http://lkml.kernel.org/r/f8f0bc9b8c58cfd6830f7d88400bf1396cbdcd0f.1422403511.git.luto@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c1740d13e6ae4f1449e0a85097edf3ece51135ca Author: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 22:49:33 2015 +0100 HID: hid-lg4ff: Fix "undefined reference" build issue with CONFIG_USB disabled Fix "undefined reference" build issue with CONFIG_USB disabled; make the driver use generic HID API instead. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 9a1c001298fd567c0f0776ab54ab9965eeb9019f Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Feb 17 14:19:46 2015 -0500 HID: wacom: do not directly use input_mt_report_pointer_emulation input_mt_sync_frame() calls input_mt_report_pointer_emulation() and do some internal steps required to keep in sync the state of the touch within the various reports. Given that we use input_mt_get_slot_by_key() in this driver, it is better to use input_mt_sync_frame(). Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 50849eefea3ba8aa6e540e0cbdc9533098f25656 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Thu Feb 5 15:31:56 2015 +0000 x86/Kconfig: Simplify X86_UP_APIC handling We don't really need a helper symbol for that. For one, it's pointlessly getting set to Y for all configurations (even 64-bit ones). And then the purpose can be fulfilled by suitably adjusting X86_UP_APIC: Hide its prompt when PCI_MSI, and default it to PCI_MSI. Tested-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/54D39AFC020000780005D684@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b1da1e715d4faf01468b7f45f7098922bc85ea8e Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Thu Feb 5 15:35:21 2015 +0000 x86/Kconfig: Simplify X86_IO_APIC dependencies Since dependencies are transitive, we don't really need to repeat those of X86_UP_IOAPIC. Furthermore avoid the symbol getting entered into .config when it is off by having the default simply Y and the dependencies solely handled via the intended for that purpose "depends on". Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/54D39BC9020000780005D688@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e0fd24a3b4ad7b4084b41944835952eedec53f98 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Thu Feb 5 15:39:34 2015 +0000 x86/Kconfig: Avoid issuing pointless turned off entries to .config Settings without prompts shouldn't normally have defaults other than Y, as otherwise they (a) needlessly enlarge the resulting .config and (b) if they ever get a prompt added later, the tracked setting of off will prevent the devloper from then being prompted for his/her choice when doing an incremental update of the configuration (make oldconfig). Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/54D39CC6020000780005D6AE@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2e701a359ac2833381e5d226802bed8fd1946238 Author: Antonio Ospite <ao2@xxxxxx> Date: Mon Feb 16 18:12:24 2015 +0100 HID: sony: Coding style cleanups in sixaxis_set_operational_usb() Don't mix declaration and allocation, remove some useless newlines between calling a function and checking its return value. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dad89ad046b0a9cfad99fb30e27df2be5bf76b54 Author: Antonio Ospite <ao2@xxxxxx> Date: Mon Feb 16 18:12:23 2015 +0100 HID: sony: Use __u8 * for the buffer in sixaxis_set_operational_usb() Use the same type declared in the prototypes of functions that are going to accept the buffer as parameter. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a85d67b545e9c1e178ecdb159cfa59a45405c22a Author: Antonio Ospite <ao2@xxxxxx> Date: Mon Feb 16 18:12:22 2015 +0100 HID: sony: Don't use magic numbers in sixaxis_set_operational_usb() Remove the magic numbers used in sixaxis_set_operational_usb(): - use the already defined SIXAXIS_REPORT_0xF2_SIZE; - define and use SIXAXIS_REPORT_0xF5_SIZE; - set the dummy buffer size to accommodate any report that is going to be requested. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 29b691a894f3964b26b8179423a45591fc071eea Author: Antonio Ospite <ao2@xxxxxx> Date: Mon Feb 16 18:12:21 2015 +0100 HID: sony: Use the minimum accepted size for feature report 0xf2 Sixaxis devices accept feature report 0xf2 when size is >= 17, not 18. Use the minimum accepted size. The change is mainly for documentation purposes, the code worked fine even before this change. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Acked-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f31a2de3fe3680223a0dc93e484c491cc09473d3 Author: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 17:59:23 2015 +0100 HID: hid-lg4ff: Allow switching of Logitech gaming wheels between compatibility modes Allow switching of Logitech gaming wheels between available compatibility modes through sysfs. This only applies to multimode wheels. Signed-off-by: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Tested-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a54dc7795efceb9a458457540c69450c995a2772 Author: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 17:59:22 2015 +0100 HID: hid-lg4ff: Introduce a module parameter to disable automatic switch of compatibility mode Introduce a module parameter to disable automatic switch of Logitech gaming wheels from compatibility to native mode. This only applies to multimode wheels. Signed-off-by: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Tested-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b96d23ec698fdc1fdf904e5547d9abb6354eef5c Author: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 17:59:21 2015 +0100 HID: hid-lg4ff: Export the real wheel model and supported alternate modes Display the real wheel model and supported alternate modes through sysfs. This applies only to multimode wheels. Signed-off-by: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Tested-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e7c234496d01c90a4b042d899a65e10f1f63ebc1 Author: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 18 17:59:20 2015 +0100 HID: hid-lg4ff: Identify Logitech gaming wheels in compatibility modes Identify Logitech gaming wheels in compatibility modes accordingly to Logitech specifications. Logitech specification contains a general method of identifying various models of their gaming wheels while they are in "compatibility" mode. This patch implements the method instead of checking against known values of bcdDevice. Handling of the mode switch upon initialization is also adjusted so that the driver does not have to go through the entire initialization routine because the wheels are set to perform a USB detach before they reappear in "native" mode. Signed-off-by: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> Tested-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0937e3b025f70e33f018aa55ee8d32b8731730a7 Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Date: Mon Feb 9 11:31:13 2015 -0600 livepatch: simplify disable error path If registering the function with ftrace has previously succeeded, unregistering will almost never fail. Even if it does, it's not a fatal error. We can still carry on and disable the klp_func from being used by removing it from the klp_ops func stack. Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Reviewed-by: Miroslav Benes <mbenes@xxxxxxx> Reviewed-by: Petr Mladek <pmladek@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit cbb53b9623a70f012e1fdfb6fc0af6878df4762b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 12 20:06:57 2015 +0100 x86/asm/decoder: Explain CALLW discrepancy between Intel and AMD In 64-bit mode, AMD and Intel CPUs treat 0x66 prefix before branch insns differently. For near branches, it affects decode too since immediate offset's width is different. See these empirical tests: http://marc.info/?l=linux-kernel&m=139714939728946&w=2 Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423768017-31766-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8a764a875fe3cf3a83296bacd00bfc41917e95e2 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Feb 12 20:04:39 2015 +0100 x86/asm/decoder: Create artificial 3rd byte for 2-byte VEX Before this patch, users need to do this to fetch vex.vvvv: if (insn->vex_prefix.nbytes == 2) { vex_vvvv = ((insn->vex_prefix.bytes[1] >> 3) & 0xf) ^ 0xf; } if (insn->vex_prefix.nbytes == 3) { vex_vvvv = ((insn->vex_prefix.bytes[2] >> 3) & 0xf) ^ 0xf; } Make it so that insn->vex_prefix.bytes[2] always contains vex.wvvvvLpp bits. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ananth N Mavinakayanahalli <ananth@xxxxxxxxxx> Cc: Frank Ch. Eigler <fche@xxxxxxxxxx> Cc: Jim Keniston <jkenisto@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1423767879-31691-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4421f8f0fa02bc982b410cd773223cc280791c54 Author: Miroslav Benes <mbenes@xxxxxxx> Date: Wed Feb 18 15:21:07 2015 +0100 livepatch: remove extern specifier from header files Storage-class specifier 'extern' is redundant in front of the function declaration. According to the C specification it has the same meaning as if not present at all. So remove it. Signed-off-by: Miroslav Benes <mbenes@xxxxxxx> Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8a26ce4e544659256349551283414df504889a59 Merge: acba3c7 726f323 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Feb 18 19:14:54 2015 +0100 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: - No need to explicitely enable evsels for workload started from perf, let it be enabled via perf_event_attr.enable_on_exec, removing some events that take place in the 'perf trace' before a workload is really started by it. (Arnaldo Carvalho de Melo) - Fix to handle optimized not-inlined functions in 'perf probe' (Masami Hiramatsu) - Update 'perf probe' man page (Masami Hiramatsu) - 'perf trace': Allow mixing with tracepoints and suppressing plain syscalls (Arnaldo Carvalho de Melo) Infrastructure changes: - Introduce {trace_seq_do,event_format_}_fprintf functions to allow a default tracepoint field list printer to be used in tools that allows redirecting output to a file. (Arnaldo Carvalho de Melo) - The man page for pthread_attr_set_affinity_np states that _GNU_SOURCE must be defined before pthread.h, do it to fix the build in some systems (Josh Boyer) - Cleanups in 'perf buildid-cache' (Masami Hiramatsu) - Fix dso cache test case (Namhyung Kim) - Do Not rely on dso__data_read_offset() to open DSO (Namhyung Kim) - Make perf aware of tracefs (Steven Rostedt). - Fix build by defining STT_GNU_IFUNC for glibc 2.9 and older (Vinson Lee) - AArch64 symbol resolution fixes (Victor Kamensky) - Kconfig beachhead (Jiri Olsa) - Simplify nr_pages validity (Kaixu Xia) - Fixup header positioning in 'perf list' (Yunlong Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1e78cdbd9b2266503339accafe0ebdd99b93a531 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Feb 16 15:23:49 2015 -0500 sched/rt/nohz: Stop scheduler tick if running realtime task If the CPU is running a realtime task that does not round-robin with another realtime task of equal priority, there is no point in keeping the scheduler tick going. After all, whenever the scheduler tick runs, the kernel will just decide not to reschedule. Extend sched_can_stop_tick() to recognize these situations, and inform the rest of the kernel that the scheduler tick can be stopped. Tested-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: fweisbec@xxxxxxxxxx Cc: mtosatti@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150216152349.6a8ed824@xxxxxxxxxxxxxxxxxxxxx [ Small cleanliness tweak. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit acba3c7e4652ca5fcb2fd9376d58c2dffd8ddf2a Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jan 14 14:15:39 2015 +0100 perf, powerpc: Fix up flush_branch_stack() users The recent LBR rework for x86 left a stray flush_branch_stack() user in the PowerPC code, fix that up. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Joel Stanley <joel@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Michael Neuling <mikey@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 384b60557b5522fcb99646f0eb6e7a344cdb94c6 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Jan 5 13:23:05 2015 -0500 perf tools: Construct LBR call chain LBR call stack only has user-space callchains. It is output in the PERF_SAMPLE_BRANCH_STACK data format. For kernel callchains, it's still in the form of PERF_SAMPLE_CALLCHAIN. The perf tool has to handle both data sources to construct a complete callstack. For the "perf report -D" option, both lbr and fp information will be displayed. A new call chain recording option "lbr" is introduced into the perf tool for LBR call stack. The user can use --call-graph lbr to get the call stack information from hardware. Here are some examples. When profiling bc(1) on Fedora 19: echo 'scale=2000; 4*a(1)' > cmd; perf record --call-graph lbr bc -l < cmd If enabling LBR, perf report output looks like: 50.36% bc bc [.] bc_divide | --- bc_divide execute run_code yyparse main __libc_start_main _start 33.66% bc bc [.] _one_mult | --- _one_mult bc_divide execute run_code yyparse main __libc_start_main _start 7.62% bc bc [.] _bc_do_add | --- _bc_do_add | |--99.89%-- 0x2000186a8 --0.11%-- [...] 6.83% bc bc [.] _bc_do_sub | --- _bc_do_sub | |--99.94%-- bc_add | execute | run_code | yyparse | main | __libc_start_main | _start --0.06%-- [...] 0.46% bc libc-2.17.so [.] __memset_sse2 | --- __memset_sse2 | |--54.13%-- bc_new_num | | | |--51.00%-- bc_divide | | execute | | run_code | | yyparse | | main | | __libc_start_main | | _start | | | |--30.46%-- _bc_do_sub | | bc_add | | execute | | run_code | | yyparse | | main | | __libc_start_main | | _start | | | --18.55%-- _bc_do_add | bc_add | execute | run_code | yyparse | main | __libc_start_main | _start | --45.87%-- bc_divide execute run_code yyparse main __libc_start_main _start If using FP, perf report output looks like: echo 'scale=2000; 4*a(1)' > cmd; perf record --call-graph fp bc -l < cmd 50.49% bc bc [.] bc_divide | --- bc_divide 33.57% bc bc [.] _one_mult | --- _one_mult 7.61% bc bc [.] _bc_do_add | --- _bc_do_add 0x2000186a8 6.88% bc bc [.] _bc_do_sub | --- _bc_do_sub 0.42% bc libc-2.17.so [.] __memcpy_ssse3_back | --- __memcpy_ssse3_back If using LBR, perf report -D output looks like: 3458145275743 0x2fd750 [0xd8]: PERF_RECORD_SAMPLE(IP, 0x2): 9748/9748: 0x408ea8 period: 609644 addr: 0 ... LBR call chain: nr:8 ..... 0: fffffffffffffe00 ..... 1: 0000000000408e50 ..... 2: 000000000040a458 ..... 3: 000000000040562e ..... 4: 0000000000408590 ..... 5: 00000000004022c0 ..... 6: 00000000004015dd ..... 7: 0000003d1cc21b43 ... FP chain: nr:2 ..... 0: fffffffffffffe00 ..... 1: 0000000000408ea8 ... thread: bc:9748 ...... dso: /usr/bin/bc The LBR call stack has the following known limitations: - Zero length calls are not filtered out by the hardware - Exception handing such as setjmp/longjmp will have calls/returns not match - Pushing different return address onto the stack will have calls/returns not match - If callstack is deeper than the LBR, only the last entries are captured Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Simon Que <sque@xxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1420482185-29830-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aad2b21c151273fa7abc419dac51a980eff1dd17 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Jan 5 13:23:04 2015 -0500 perf tools: Enable LBR call stack support Currently, there are two call chain recording options, fp and dwarf. Haswell has a new feature that utilizes the existing LBR facility to record call chains. Kernel side LBR support code provides this as a third option to record call chains. This patch enables the lbr call stack support on the tooling side. LBR call stack has some limitations: - It reuses current LBR facility, so LBR call stack and branch record can not be enabled at the same time. - It is only available for user-space callchains. However, it also offers some advantages: - LBR call stack can work on user apps which don't have frame-pointers or dwarf debug info compiled. It is a good alternative when nothing else works. Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Cody P Schafer <cody@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Jacob Shin <jacob.w.shin@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Rodrigo Campos <rodrigo@xxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1420482185-29830-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2c44b1936bb3b135a3fac8b3493394d42e51cf70 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Nov 5 10:36:45 2014 +0100 perf/x86/intel: Expose LBR callstack to user space tooling With LBR call stack feature enable, there are three callchain options. Enable the 3rd callchain option (LBR callstack) to user space tooling. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: linux-api@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20141105093759.GQ10501@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aa54ae9b87b83af7edabcc34a299e7e014609af4 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:11 2014 -0500 perf/x86/intel: Discard zero length call entries in LBR call stack "Zero length call" uses the attribute of the call instruction to push the immediate instruction pointer on to the stack and then pops off that address into a register. This is accomplished without any matching return instruction. It confuses the hardware and make the recorded call stack incorrect. We can partially resolve this issue by: decode call instructions and discard any zero length call entry in the LBR stack. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-16-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2c70d0086e4e9e2440f0f78098090f32bde14277 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:10 2014 -0500 perf/x86/intel: Disable FREEZE_LBRS_ON_PMI when LBR operates in callstack mode LBR callstack is designed for PEBS, It does not work well with FREEZE_LBRS_ON_PMI for non PEBS event. If FREEZE_LBRS_ON_PMI is set for non PEBS event, PMIs near call/return instructions may cause superfluous increase/decrease of LBR_TOS. This patch modifies __intel_pmu_lbr_enable() to not enable FREEZE_LBRS_ON_PMI when LBR operates in callstack mode. We currently don't use LBR callstack to capture kernel space callchain, so disabling FREEZE_LBRS_ON_PMI should not be a problem. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-15-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4b854900995194601d767fcd112307b21ed278b2 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:08 2014 -0500 perf/x86/intel: Re-organize code that implicitly enables LBR/PEBS Make later patch more readable, no logic change. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-13-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a46a23000198d929391aa9dac8de68734efa2703 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:06 2014 -0500 perf: Simplify the branch stack check Use event->attr.branch_sample_type to replace intel_pmu_needs_lbr_smpl() for avoiding duplicated code that implicitly enables the LBR. Currently, branch stack can be enabled by user explicitly requesting branch sampling or implicit branch sampling to correct PEBS skid. For user explicitly requested branch sampling, the branch_sample_type is explicitly set by user. For PEBS case, the branch_sample_type is also implicitly set to PERF_SAMPLE_BRANCH_ANY in x86_pmu_hw_config. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-11-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76cb2c617f12a4dd53c0e899972813b805ad6cc2 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:05 2014 -0500 perf/x86/intel: Save/restore LBR stack during context switch When the LBR call stack is enabled, it is necessary to save/restore the LBR stack on context switch. The solution is saving/restoring the LBR stack to/from task's perf event context. The LBR stack is saved/restored only when there are events that use the LBR call stack. If no event uses LBR call stack, the LBR stack is reset when task is scheduled in. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-10-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 63f0c1d84196b712fe9de99a8514486ab416d517 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:04 2014 -0500 perf/x86/intel: Track number of events that use the LBR callstack When enabling/disabling an event, check if the event uses the LBR callstack feature, adjust the LBR callstack usage count accordingly. Later patch will use the usage count to decide if LBR stack should be saved/restored. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-9-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e18bf526422769611e7248135e36a4cea0e4e38d Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:03 2014 -0500 perf/x86/intel: Allocate space for storing LBR stack When the LBR call stack is enabled, it is necessary to save/restore the LBR stack on context switch. We can use pmu specific data to store LBR stack when task is scheduled out. This patch adds code that allocates the pmu specific data. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-8-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5a158c3ccd2183a7b0866be6685d001fe653430f Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:02 2014 -0500 perf: Always switch pmu specific data during context switch If two tasks were both forked from the same parent task, Events in their perf task contexts can be the same. Perf core may leave out switching the perf event contexts. Previous patch inroduces pmu specific data. The data is for saving the LBR stack, it is task specific. So we need to switch the data even when context switch is optimized out. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-7-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4af57ef28c2c1047fda9e1a5be02aa7a6a69cf9e Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:01 2014 -0500 perf: Add pmu specific data for perf task context Introduce a new flag PERF_ATTACH_TASK_DATA for perf event's attach stata. The flag is set by PMU's event_init() callback, it indicates that perf event needs PMU specific data. The PMU specific data are initialized to zeros. Later patches will use PMU specific data to save LBR stack. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-6-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9d7f7cd97c45e2c612d3b38be05b4cfb27939ee Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:56:00 2014 -0500 perf/x86/intel: Add basic Haswell LBR call stack support Haswell has a new feature that utilizes the existing LBR facility to record call chains. To enable this feature, bits (JCC, NEAR_IND_JMP, NEAR_REL_JMP, FAR_BRANCH, EN_CALLSTACK) in LBR_SELECT must be set to 1, bits (NEAR_REL_CALL, NEAR-IND_CALL, NEAR_RET) must be cleared. Due to a hardware bug of Haswell, this feature doesn't work well with FREEZE_LBRS_ON_PMI. When the call stack feature is enabled, the LBR stack will capture unfiltered call data normally, but as return instructions are executed, the last captured branch record is flushed from the on-chip registers in a last-in first-out (LIFO) manner. Thus, branch information relative to leaf functions will not be captured, while preserving the call stack information of the main line execution path. This patch defines a separate lbr_sel map for Haswell. The map contains a new entry for the call stack feature. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2a0ad3b326a9024ba86dca4028499d31fa0c6c4d Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:55:59 2014 -0500 perf/x86/intel: Use context switch callback to flush LBR stack Previous commit introduces context switch callback, its function overlaps with the flush branch stack callback. So we can use the context switch callback to flush LBR stack. This patch adds code that uses the flush branch callback to flush the LBR stack when task is being scheduled in. The callback is enabled only when there are events use the LBR hardware. This patch also removes all old flush branch stack code. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-4-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ba532500c5651a4be4108acc64ed99a95cb005b3 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:55:58 2014 -0500 perf: Introduce pmu context switch callback The callback is invoked when process is scheduled in or out. It provides mechanism for later patches to save/store the LBR stack. For the schedule in case, the callback is invoked at the same place that flush branch stack callback is invoked. So it also can replace the flush branch stack callback. To avoid unnecessary overhead, the callback is enabled only when there are events use the LBR stack. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27ac905b8f88d28779b0661809286b5ba2817d37 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Tue Nov 4 21:55:57 2014 -0500 perf/x86/intel: Reduce lbr_sel_map[] size The index of lbr_sel_map is bit value of perf branch_sample_type. PERF_SAMPLE_BRANCH_MAX is 1024 at present, so each lbr_sel_map uses 4096 bytes. By using bit shift as index, we can reduce lbr_sel_map size to 40 bytes. This patch defines 'bit shift' for branch types, and use 'bit shift' to define lbr_sel_maps. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: jolsa@xxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1415156173-10035-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c796b205b88c775fd220c1a63390bac6a8cdda3f Author: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Date: Fri Jan 23 12:19:35 2015 -0600 perf/x86/amd/ibs: Convert force_ibs_eilvt_setup() to void The caller of force_ibs_eilvt_setup() is ibs_eilvt_setup() which does not care about the return values. So mark it void and clean up the return statements. Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: <hpa@xxxxxxxxx> Cc: <paulus@xxxxxxxxx> Cc: <tglx@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422037175-20957-1-git-send-email-aravind.gopalakrishnan@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6a694a607a97d58c042fb7fbd60ef1caea26950c Author: Shaohua Li <shli@xxxxxx> Date: Thu Feb 5 15:55:32 2015 -0800 perf: Update userspace page info for software event For hardware events, the userspace page of the event gets updated in context switches, so if we read the timestamp in the page, we get fresh info. For software events, this is missing currently. This patch makes the behavior consistent. With this patch, we can implement clock_gettime(THREAD_CPUTIME) with PERF_COUNT_SW_DUMMY in userspace as suggested by Andy and Peter. Code like this: if (pc->cap_user_time) { do { seq = pc->lock; barrier(); running = pc->time_running; cyc = rdtsc(); time_mult = pc->time_mult; time_shift = pc->time_shift; time_offset = pc->time_offset; barrier(); } while (pc->lock != seq); quot = (cyc >> time_shift); rem = cyc & ((1 << time_shift) - 1); delta = time_offset + quot * time_mult + ((rem * time_mult) >> time_shift); running += delta; return running; } I tried it on a busy system, the userspace page updating doesn't have noticeable overhead. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/aa2dd2e4f1e9f2225758be5ba00f14d6909a8ce1.1423180257.git.shli@xxxxxx [ Improved the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 72f669c0086fbbbbebc92ce7390125722c4c0ec5 Author: Shaohua Li <shli@xxxxxx> Date: Thu Feb 5 15:55:31 2015 -0800 perf: Update shadow timestamp before add event Update the shadow timestamp before start event, because .add might use the timestamp. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Link: http://lkml.kernel.org/r/9cd0276d6a047cb7c2885994f25e3a1f7c8c28af.1423180257.git.shli@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8e57c586c6a8333c266a6cf76d50e110f2954558 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Feb 3 12:40:54 2015 +0100 perf/x86/intel/uncore: Delete an unnecessary check before pci_dev_put() call The pci_dev_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/54D0B59C.2060106@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a99367023f6ac664365a37fa508b059e31d0e88 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Jan 30 01:14:27 2015 -0800 locking/rwsem: Check for active lock before bailing on spinning 37e9562453b ("locking/rwsem: Allow conservative optimistic spinning when readers have lock") forced the default for optimistic spinning to be disabled if the lock owner was nil, which makes much sense for readers. However, while it is not our priority, we can make some optimizations for write-mostly workloads. We can bail the spinning step and still be conservative if there are any active tasks, otherwise there's really no reason not to spin, as the semaphore is most likely unlocked. This patch recovers most of a Unixbench 'execl' benchmark throughput by sleeping less and making better average system usage: before: CPU %user %nice %system %iowait %steal %idle all 0.60 0.00 8.02 0.00 0.00 91.38 after: CPU %user %nice %system %iowait %steal %idle all 1.22 0.00 70.18 0.00 0.00 28.60 Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422609267-15102-6-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b3fd4f03ca0b9952221f39ae6790e698bf4b39e7 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Jan 30 01:14:26 2015 -0800 locking/rwsem: Avoid deceiving lock spinners When readers hold the semaphore, the ->owner is nil. As such, and unlike mutexes, '!owner' does not necessarily imply that the lock is free. This will cause writers to potentially spin excessively as they've been mislead to thinking they have a chance of acquiring the lock, instead of blocking. This patch therefore enhances the counter check when the owner is not set by the time we've broken out of the loop. Otherwise we can return true as a new owner has the lock and thus we want to continue spinning. While at it, we can make rwsem_spin_on_owner() less ambiguos and return right away under need_resched conditions. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422609267-15102-5-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7a215f89a0335582292ec6f3edaa3abd570da75a Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Jan 30 01:14:25 2015 -0800 locking/rwsem: Set lock ownership ASAP In order to optimize the spinning step, we need to set the lock owner as soon as the lock is acquired; after a successful counter cmpxchg operation, that is. This is particularly useful as rwsems need to set the owner to nil for readers, so there is a greater chance of falling out of the spinning. Currently we only set the owner much later in the game, in the more generic level -- latency can be specially bad when waiting for a node->next pointer when releasing the osq in up_write calls. As such, update the owner inside rwsem_try_write_lock (when the lock is obtained after blocking) and rwsem_try_write_lock_unqueued (when the lock is obtained while spinning). This requires creating a new internal rwsem.h header to share the owner related calls. Also cleanup some headers for mutex and rwsem. Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422609267-15102-4-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 49e4b2bcf7b812e985e65b6c8a0255b1520a6e7e Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Jan 30 01:14:24 2015 -0800 locking/rwsem: Document barrier need when waking tasks The need for the smp_mb() in __rwsem_do_wake() should be properly documented. Applies to both xadd and spinlock variants. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422609267-15102-3-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a21294644623ee41034db60e93aaebed4db0e57b Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Feb 2 15:05:36 2015 +0100 locking/futex: Check PF_KTHREAD rather than !p->mm to filter out kthreads attach_to_pi_owner() checks p->mm to prevent attaching to kthreads and this looks doubly wrong: 1. It should actually check PF_KTHREAD, kthread can do use_mm(). 2. If this task is not kthread and it is actually the lock owner we can wrongly return -EPERM instead of -ESRCH or retry-if-EAGAIN. And note that this wrong EPERM is the likely case unless the exiting task is (auto)reaped quickly, we check ->mm before PF_EXITING. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Darren Hart <darren@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Larry Woodman <lwoodman@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mateusz Guzik <mguzik@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202140536.GA26406@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit be1f7bf217ebb1e42190d7d0b332c89ea7871378 Author: Jason Low <jason.low2@xxxxxx> Date: Mon Feb 2 13:59:27 2015 -0800 locking/mutex: Refactor mutex_spin_on_owner() As suggested by Davidlohr, we could refactor mutex_spin_on_owner(). Currently, we split up owner_running() with mutex_spin_on_owner(). When the owner changes, we make duplicate owner checks which are not necessary. It also makes the code a bit obscure as we are using a second check to figure out why we broke out of the loop. This patch modifies it such that we remove the owner_running() function and the mutex_spin_on_owner() loop directly checks for if the owner changes, if the owner is not running, or if we need to reschedule. If the owner changes, we break out of the loop and return true. If the owner is not running or if we need to reschedule, then break out of the loop and return false. Suggested-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Signed-off-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Aswin Chandramouleeswaran <aswin@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: chegu_vinod@xxxxxx Cc: tglx@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1422914367-5574-3-git-send-email-jason.low2@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 07d2413a61db6500f58e614e873eed79d7f2ed72 Author: Jason Low <jason.low2@xxxxxx> Date: Mon Feb 2 13:59:26 2015 -0800 locking/mutex: In mutex_spin_on_owner(), return true when owner changes In the mutex_spin_on_owner(), we return true only if lock->owner == NULL. This was beneficial in situations where there were multiple threads simultaneously spinning for the mutex. If another thread got the lock while other spinner(s) were also doing mutex_spin_on_owner(), then the other spinners would stop spinning. This workaround helped reduce the chance that many spinners were simultaneously spinning for the mutex which can help reduce contention in highly contended cases. However, recent changes were made to the optimistic spinning code such that instead of having all spinners simultaneously spin for the mutex, we queue the spinners with an MCS lock such that only one thread spins for the mutex at a time. Furthermore, the OSQ optimizations ensure that spinners in the queue will stop waiting if it needs to reschedule. Now, we don't have to worry about multiple threads spinning on owner at the same time, and if lock->owner is not NULL at this point, it likely means another thread happens to obtain the lock in the fastpath. In this case, it would make sense for the spinner to continue spinning as long as the spinner doesn't need to schedule and the mutex owner is running. This patch changes this so that mutex_spin_on_owner() returns true when the lock owner changes, which means a thread will only stop spinning if it either needs to reschedule or if the lock owner is not running. We saw up to a 5% performance improvement in the fserver workload with this patch. Signed-off-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aswin Chandramouleeswaran <aswin@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: chegu_vinod@xxxxxx Cc: tglx@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1422914367-5574-2-git-send-email-jason.low2@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 890a5409f9d0c84d75a1e16eebdfe91d8a57ef1e Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Mon Feb 9 12:30:00 2015 +0100 sched/numa: Avoid some pointless iterations Commit 81907478c431 ("sched/fair: Avoid using uninitialized variable in preferred_group_nid()") unconditionally initializes max_group with NODE_MASK_NONE, this means that when !max_faults (max_group didn't get set), we'll now continue the iteration with an empty mask. Which in turn makes the actual body of the loop go away, so we'll just iterate until completion; short circuit this by breaking out of the loop as soon as this would happen. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150209113727.GS5029@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 095bebf61a460ad7f6a45bb17ddbf3a9df2b4397 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Feb 3 16:56:48 2015 -0500 sched/numa: Do not move past the balance point if unbalanced There is a subtle interaction between the logic introduced in commit e63da03639cc ("sched/numa: Allow task switch if load imbalance improves"), the way the load balancer counts the load on each NUMA node, and the way NUMA hinting faults are done. Specifically, the load balancer only counts currently running tasks in the load, while NUMA hinting faults may cause tasks to stop, if the page is locked by another task. This could cause all of the threads of a large single instance workload, like SPECjbb2005, to migrate to the same NUMA node. This was possible because occasionally they all fault on the same few pages, and only one of the threads remains runnable. That thread can move to the process's preferred NUMA node without making the imbalance worse, because nothing else is running at that time. The fix is to check the direction of the net moving of load, and to refuse a NUMA move if it would cause the system to move past the point of balance. In an unbalanced state, only moves that bring us closer to the balance point are allowed. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: mgorman@xxxxxxx Link: http://lkml.kernel.org/r/20150203165648.0e9ac692@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bd624d75db21ea5402f9ecf4450b311794d80352 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 13 08:54:56 2015 +0800 clockevents: Introduce mode specific callbacks It is not possible for the clockevents core to know which modes (other than those with a corresponding feature flag) are supported by a particular implementation. And drivers are expected to handle transition to all modes elegantly, as ->set_mode() would be issued for them unconditionally. Now, adding support for a new mode complicates things a bit if we want to use the legacy ->set_mode() callback. We need to closely review all clockevents drivers to see if they would break on addition of a new mode. And after such reviews, it is found that we have to do non-trivial changes to most of the drivers [1]. Introduce mode-specific set_mode_*() callbacks, some of which the drivers may or may not implement. A missing callback would clearly convey the message that the corresponding mode isn't supported. A driver may still choose to keep supporting the legacy ->set_mode() callback, but ->set_mode() wouldn't be supporting any new modes beyond RESUME. If a driver wants to benefit from using a new mode, it would be required to migrate to the mode specific callbacks. The legacy ->set_mode() callback and the newly introduced mode-specific callbacks are mutually exclusive. Only one of them should be supported by the driver. Sanity check is done at the time of registration to distinguish between optional and required callbacks and to make error recovery and handling simpler. If the legacy ->set_mode() callback is provided, all mode specific ones would be ignored by the core but a warning is thrown if they are present. Call sites calling ->set_mode() directly are also updated to use __clockevents_set_mode() instead, as ->set_mode() may not be available anymore for few drivers. [1] https://lkml.org/lkml/2014/12/9/605 [2] https://lkml.org/lkml/2015/1/23/255 Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [2] Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: linaro-networking@xxxxxxxxxx Link: http://lkml.kernel.org/r/792d59a40423f0acffc9bb0bec9de1341a06fa02.1423788565.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02cea3958664723a5d2236f0f0058de97c7e4693 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Feb 5 14:06:23 2015 +0100 genirq: Provide disable_hardirq() For things like netpoll there is a need to disable an interrupt from atomic context. Currently netpoll uses disable_irq() which will sleep-wait on threaded handlers and thus forced_irqthreads breaks things. Provide disable_hardirq(), which uses synchronize_hardirq() to only wait for active hardirq handlers; also change synchronize_hardirq() to return the status of threaded handlers. This will allow one to try-disable an interrupt from atomic context, or in case of request_threaded_irq() to only wait for the hardirq part. Suggested-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Cc: Eyal Perry <eyalpe@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Quentin Lambert <lambert.quentin@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150205130623.GH5029@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ Fixed typos and such. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fece13ca005a5f559147e9424321f4b5e01272b4 Merge: 855e7e7 f5af19d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Feb 17 18:48:51 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit 0af801b9bf34e3eb9f86a210e9928d42922f6631 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Feb 17 15:05:21 2015 +0200 Bluetooth: Fix AMP init for certain AMP controllers Some AMP controllers do not support the Read Local Features HCI commands (even though according to the spec they should). Luckily they at least correctly omit this from the supported commands bitmask, so we can work around the issue by creating a second AMP init phase and issuing the HCI command conditionally there. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 922c88a8368a61ee93653d4a2888a7f4ce263102 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 17 14:46:40 2015 +0100 ALSA: hda - Embed struct hda_bus_unsolicited into struct hda_bus There is no big merit to handle hda_bus_unsolicited object individually, as it's tightly coupled with the hda_bus object itself. Embedding it makes the code simpler in the end. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ef7449780ebb596b47d5019eb7ba7878c30a3404 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Feb 17 13:56:29 2015 +0100 ALSA: hda - Drop hda_bus_template for snd_hda_bus_new() Instead of copying from the given template, let the caller fills the fields after creation. This simplifies the code after all. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 70e003f75fab6c1496147838acf59be85d2520c0 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Tue Feb 10 12:36:55 2015 -0800 HID: rmi: Print the firmware id of the touchpad Knowing the firmware id is extremely useful when debugging issues related to the touchpad. It can be used to determine the hardware, firmware version, and configuation of the touchpad. This patch queries the firmware id and prints it as the touchpad is starting so that it will show up in the dmesg output included in bug reports. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a7de9b867be0662e72db69fd40a4f1d2aa80ecc0 Author: Lauri Kasanen <cand@xxxxxxx> Date: Mon Feb 16 15:06:59 2015 +0200 HID: sony: Enable Gasia third-party PS3 controllers Without this, my "Gasia Co.,Ltd PS(R) Gamepad" would not send any events. Now everything works including the leds. Based on work by Andrew Haines and Antonio Ospite. cc: Antonio Ospite <ao2@xxxxxx> cc: Andrew Haines <AndrewD207@xxxxxxx> Signed-off-by: Lauri Kasanen <cand@xxxxxxx> Reviewed-by: Antonio Ospite <ao2@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit feb6faf1e5d46276c5430e36ffb4a6f62bf8d55b Author: Milan Plzik <milan.plzik@xxxxxxxxx> Date: Sat Feb 14 09:48:44 2015 +0100 HID: kye: Fix report descriptor for Genius PenSketch M912 Genius PenSketch M912 digitizer tablet sends incorrect report descriptor by default. This patch replaces it with a corrected one. Signed-off-by: Milan Plzik <milan.plzik@xxxxxxxxx> Reviewed-by: Nikolai Kondrashov <spbnick@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b9956409c281931c74ba8d0a2b61a98076a58602 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Tue Feb 17 00:05:43 2015 +0100 include/uapi/sound/emu10k1.h: include sound/asound.h Fixes userspace compilation errors like: error: field â??idâ?? has incomplete type struct snd_ctl_elem_id id; /* full control ID definition */ Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bbf91c1c5bfc00c2961f15657359ee7e87de4269 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Tue Feb 17 00:05:42 2015 +0100 include/uapi/sound/asequencer.h: include sound/asound.h Fixes userspace compilation error: error: unknown type name â??snd_seq_client_type_tâ?? snd_seq_client_type_t type; /* client type */ Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4bebf7091aa15ec60edf0dcbc654410a87ca21fe Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Tue Feb 17 00:05:38 2015 +0100 include/uapi/sound/asound.h: include stdlib.h in userspace Fixes compiler errors like: error: field â??trigger_tstampâ?? has incomplete type error: invalid application of â??sizeofâ?? to incomplete t ype â??struct timespecâ?? Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 76a3aeac2f6c02ecf065fa9baa279dd54bf2d819 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Tue Feb 17 00:05:27 2015 +0100 hdspm.h: include stdint.h in userspace Fixes compilation error: sound/hdspm.h:43:2: error: unknown type name â??uint32_tâ?? Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0c8d948565490d2a2db9d9a5aec388342c7d38ce Author: Adrian Knoth <aknoth@xxxxxxxxxx> Date: Tue Feb 17 00:05:06 2015 +0100 ALSA: hdspm - DRY cleanup of snd_pcm_ops This commit removes code duplication between snd_hdspm_{capture,playback}_ops. No semantic changes intended, this is purely cosmetic. Signed-off-by: Adrian Knoth <aknoth@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8b73b867294364ae3007affdf8cfd28f022b158c Author: Adrian Knoth <aknoth@xxxxxxxxxx> Date: Tue Feb 17 00:05:05 2015 +0100 ALSA: hdspm - DRY cleanup in .release callback This commit removes code duplication between snd_hdspm_{capture,playback}_release. No semantic changes intended, this is purely cosmetic. Signed-off-by: Adrian Knoth <aknoth@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5ecc5dc720307d3fb0167e2b14f50e97dd9a2233 Author: Adrian Knoth <aknoth@xxxxxxxxxx> Date: Tue Feb 17 00:05:04 2015 +0100 ALSA: hdspm - DRY cleanup in .open callbacks This commit removes code duplication between snd_hdspm_{capture,playback}_open. No semantic changes intended, this is purely cosmetic. Signed-off-by: Adrian Knoth <aknoth@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 38ebb7034970efe5c7419267e499295e5893b565 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Feb 6 14:45:33 2015 +0100 ALSA: Consolidate snd_find_free_minor() A really small cleanup to consolidate snd_find_free_minor() and snd_kernel_minor() so that we can get rid of one more ifdef. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a4f3d2c4efe2628329249b64fd5799468e025b9d Author: David Sterba <dsterba@xxxxxxx> Date: Mon Feb 16 18:44:34 2015 +0100 btrfs: cleanup, reduce temporary variables in btrfs_read_roots Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 6f0110581911623df08bf4b65fdef4548ebcda0a Author: David Sterba <dsterba@xxxxxxx> Date: Mon Feb 16 18:34:01 2015 +0100 btrfs: use correct type for workqueue flags Through all the local wrappers to alloc_workqueue, __alloc_workqueue_key takes an unsigned int. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 4bbcaa648d23470f04285c52a27d87c8fe906203 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:45 2014 -0500 btrfs: factor btrfs_read_roots() out of open_ctree() Also, remove the two local variables create_uuid_tree and check_uuid_tree; we can use the existence of the uuid root and/or the RESCAN_UUID_TREE flag to determine what action to take. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 63443bf54a746fada8ef2829148a29f28f07f7af Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:46 2014 -0500 btrfs: factor btrfs_replay_log() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 2a4581983f90d829d9aeaa4cb881031950f54937 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Mon Feb 16 16:29:26 2015 +0100 btrfs: factor btrfs_init_workqueues() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_workqueues] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit f9e92e40b517bfe94d9e961ff484ab885348f322 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:42 2014 -0500 btrfs: factor btrfs_init_qgroup() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_qgroup] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit ad6183680c0845ff8052a919b97c71b4fec8f33a Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:41 2014 -0500 btrfs: factor btrfs_init_dev_replace_locks() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_dev_replace_locks] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit f37938e0e22f90740cfbfe74ecd9aad5e8369b9d Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:40 2014 -0500 btrfs: factor btrfs_init_btree_inode() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_btree_inode] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 779a65a495b76aee7fae500ac7ae360dc8fd81ff Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:39 2014 -0500 btrfs: factor btrfs_init_balance() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_balance] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 638aa7ed4667f63ec45b264d1b6e259a79638733 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:38 2014 -0500 btrfs: factor btrfs_init_scrub() out of open_ctree() Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> [renamed to btrfs_init_scrub] Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 04892340777484351473f1756e6f870500c00a48 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:36 2014 -0500 btrfs: consistently use fs_info in close_ctree() close_ctree() has a local fs_info var for convienience; use it consistently. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 9eaed21ef94b5da30eaf1b2503df1d41c2025175 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 1 18:12:35 2014 -0500 btrfs: remove unused fs_info arg from btrfs_close_extra_devices() The commit: 8dabb74 Btrfs: change core code of btrfs to support the device replace operations added the fs_info argument, but never used it - just remove it again. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 41d6b13ea7b459cd51d4446c9b264128a52db993 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Feb 14 13:10:22 2015 +0100 btrfs: fix sizeof format specifier in btrfs_check_super_valid() This patch fixes mips compilation warning: fs/btrfs/disk-io.c: In function 'btrfs_check_super_valid': fs/btrfs/disk-io.c:3927:21: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'unsigned int' [-Wformat] Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 08da757d3f29e9d33480ae1c44b557a2514d70c5 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Feb 12 15:42:16 2015 +0800 btrfs: cleanup: use for() loop in btrfs_map_bio() for() is obviously better in these code block, and remove noused init-value to reduce about 6 bytes binary size. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit a688a04aab72a775e07fe460f563b46f7791cfc1 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Feb 9 20:31:44 2015 +0800 btrfs: remove unused chunk_tree argument in several functions There functions include unused chunk_tree argument from the begining, it is time to remove them and clean up relative code to prepare value of this argument in caller. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit b9fd47cde5dd9725ca37769861b7424f40828492 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Feb 9 14:40:20 2015 +0800 btrfs: cleanup: remove no-used alloc_chunk in btrfs_check_data_free_space() int alloc_chunk is never used in this function, remove it. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit e8c9f18603f7ce2beca233401e228de730f121fa Author: David Sterba <dsterba@xxxxxxx> Date: Fri Jan 2 18:23:10 2015 +0100 btrfs: constify structs with op functions or static definitions There are some op tables that can be easily made const, similarly the sysfs feature and raid tables. This is motivated by PaX CONSTIFY plugin. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit f749303bda20392e1d4a10adda84524365afd0e6 Author: Wang Shilong <wangshilong1991@xxxxxxxxx> Date: Sat Nov 22 21:13:10 2014 +0800 Btrfs: switch to kvfree() helper A new helper kvfree() in mm/utils.c will do this. Signed-off-by: Wang Shilong <wangshilong1991@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 01d58472a887cba61da7b4e6dc251b5170b57e2e Author: Daniel Dressler <danieru.dressler@xxxxxxxxx> Date: Fri Nov 21 17:15:07 2014 +0900 Btrfs: disk-io: replace root args iff only fs_info used This is the 3rd independent patch of a larger project to cleanup btrfs's internal usage of btrfs_root. Many functions take btrfs_root only to grab the fs_info struct. By requiring a root these functions cause programmer overhead. That these functions can accept any valid root is not obvious until inspection. This patch reduces the specificity of such functions to accept the fs_info directly. These patches can be applied independently and thus are not being submitted as a patch series. There should be about 26 patches by the project's completion. Each patch will cleanup between 1 and 34 functions apiece. Each patch covers a single file's functions. This patch affects the following function(s): 1) csum_tree_block 2) csum_dirty_buffer 3) check_tree_block_fsid 4) btrfs_find_tree_block 5) clean_tree_block Signed-off-by: Daniel Dressler <danieru.dressler@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit a585e94895ed8ab2930bfd5186ffd20301b5c703 Author: Daniel Dressler <danieru.dressler@xxxxxxxxx> Date: Mon Nov 17 22:05:02 2014 +0900 Btrfs: delayed-inode: replace root args iff only fs_info used This is the second independent patch of a larger project to cleanup btrfs's internal usage of btrfs_root. Many functions take btrfs_root only to grab the fs_info struct. By requiring a root these functions cause programmer overhead. That these functions can accept any valid root is not obvious until inspection. This patch reduces the specificity of such functions to accept the fs_info directly. These patches can be applied independently and thus are not being submitted as a patch series. There should be about 26 patches by the project's completion. Each patch will cleanup between 1 and 34 functions apiece. Each patch covers a single file's functions. This patch affects the following function(s): 1) btrfs_wq_run_delayed_node Signed-off-by: Daniel Dressler <danieru.dressler@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit b7a0365ec7a0fb1d39113846fd34038af68ebd01 Author: Daniel Dressler <danieru.dressler@xxxxxxxxx> Date: Wed Nov 12 13:43:09 2014 +0900 Btrfs: ctree: reduce args where only fs_info used This patch is part of a larger project to cleanup btrfs's internal usage of struct btrfs_root. Many functions take btrfs_root only to grab a pointer to fs_info. This causes programmers to ponder which root can be passed. Since only the fs_info is read affected functions can accept any root, except this is only obvious upon inspection. This patch reduces the specificty of such functions to accept the fs_info directly. This patch does not address the two functions in ctree.c (insert_ptr, and split_item) which only use root for BUG_ONs in ctree.c This patch affects the following functions: 1) fixup_low_keys 2) btrfs_set_item_key_safe Signed-off-by: Daniel Dressler <danieru.dressler@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 315917e0a6d552a33f774935d8897ec1697605dd Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Feb 16 11:42:11 2015 +0200 Bluetooth: Fix accepting early data on fixed channels On BR/EDR the L2CAP channel instances for fixed channels have so far been marked as ready only once the L2CAP information req/rsp procedure is complete and we have the fixed channel mask. This could however lead to data being dropped if we receive it on the channel before knowing the remote mask. Since it is valid for a remote to send data this early, simply assume that the channel is supported when we receive data on it. So far this hasn't been noticed much because of limited use of fixed channels on BR/EDR, but e.g. with SMP over BR/EDR this is already now visible with automated tests failing randomly. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 035a07d5df7003bc6954f0aa42174416b775021c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:40:06 2015 -0800 Bluetooth: Provide option to enable/disable debugfs information The Bluetooth controllers can export extensive information about internal states via debugfs. This patch provides an option to choose if these information are provided or not. For backwards compatibility with existing kernel configuration, this option defaults to yes. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 139e170da98a23c3ce9ecb68cf042bdad10ce647 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:42 2015 +0200 ath10k: add TxBF support If firmware advertises support for TxBF then the driver has to instruct the firmware accordingly during runtime. Without this patch connecting to an AP with beamformer support would yield abysmal Rx performance. This has been tested with wmi-tlv and qca6174 while acting as a STA beamformee only. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7777d8c7ef6fc12e9336ac29289d83ff54974f8f Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:41 2015 +0200 ath10k: implement fw stats for wmi-tlv This processes and pushes fw stats to the debug module (if enabled). Changing the generic ath10k_wmi_requests_stats() call to use more stat bits has no effect on older firmware binaries. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit eed55411d32a2f253290c430b1ff8ecdded588a6 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:41 2015 +0200 ath10k: add more wmi fw stat defines New qca6174 wmi-tlv firmware revisions support more stat event bits. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit de23d3efb0bfae5e4828f66e2d5f0b0c80648f20 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:41 2015 +0200 ath10k: change request stats command prototype The expected parameter is not a single value but a mask of values. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7b6b153a7a9f4244740a0dab5238d207c1ee5422 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:40 2015 +0200 ath10k: add vdev stats processing New qca6174 wmi-tlv firmware supports vdev stats. This patch adds support for it in the debug frontend. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2c512059bb64296aca4ce99fec93c6561c52e26c Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Sun Feb 15 16:50:40 2015 +0200 ath10k: defer AP self-peer removal wait Some firmware revisions don't notify host about self-bss-peer removal until after associated vdev is deleted. This has been observed with qca6174 WLAN.RM.2.0-00073 firmware. This patch fixes AP teardown slowdowns and prevents delays and warnings: ath10k_pci 0000:00:05.0: failed to remove peer for AP vdev 0: -110 ath10k_pci 0000:00:05.0: removing stale peer xx:xx:xx:xx:xx:xx from vdev_id 0 ath10k_pci 0000:00:05.0: peer-unmap-event: unknown peer id 24 ath10k_pci 0000:00:05.0: peer-unmap-event: unknown peer id 8 Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 99fc6f3adcbf8db11a233658a2beb8eedf3e2a37 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Sun Feb 15 16:50:39 2015 +0200 ath10k: fix CE_DESC_FLAGS_META_DATA_LSB definition The value was off by one. The error probably has no negative affect on any upstream firmware, but should be fixed anyway in case it comes into use in the future. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3eafdfd65b56510cb3dc949166a22e1680afa09c Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Sun Feb 15 16:50:39 2015 +0200 ath10k: fix spelling in htt code comment Fix spelling error. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 60028a819dc91d277b76f6fedc505fa4fca2c1f5 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Sun Feb 15 16:50:39 2015 +0200 ath10k: fix spelling mistakes and add details to mac logging A bit of general cleanup to make debug messages more useful. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2f9eec0b7148816cdb90fb87d408f6a0b11f19c3 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Sun Feb 15 16:50:38 2015 +0200 ath10k: scan should handle scan-start-failed event properly In case firmware fails to start the scan, then complete the start condition and clean up so that driver does not block on timeout. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 18835dfa3ac526b25f74af3a61829f02fe92a317 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 23:08:47 2015 -0800 Bluetooth: btusb: Use matching names for Broadcom firmware files The Broadcom firmware files are named with firmware version information encoded into lmp_subver field. So BCM20702B0_002.001.014.0527.0607.hex would be represented by 0x410e. To allow for an easier decoding of the actual firmware names, provide an internal table that does the mapping and request the firmware file by name. Bluetooth: hci0: BCM20702B0 (002.001.014) build 0607 Now the complicated encoding of lmp_subver will be decoded and turned into the name and firmware version information from the firmware files. The previous attempt of using udev->product failed badly since it never contains any matching entry to the actual hardware or firmware files distributed by Broadcom in their Windows drivers. It is even worse since it can change depending on if the internal bootstrapping happened before the USB bus enumeration or after. This caused many race conditions. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 87e2a020cac29fba4a35e681392ba0d1f7e21ba9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:36:07 2015 -0800 Bluetooth: Make __next_ident function static. The __next_ident function is a local function and so do not export it and make it static. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bc333cc4659b2f4614783154aca638a2adcf1264 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:36:06 2015 -0800 Bluetooth: Make a2mp_send function static The a2mp_send function is a local function and so do not export it and make it static. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 469cd4c5a6ace7c6285d8708709d0002b8984d47 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:36:05 2015 -0800 Bluetooth: Make amp_mgr_lookup_by_state function static The amp_mgr_lookup_by_state function does not need to be exported. So just move it to a different location and make it static. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 59d4d0863e2e87cbdc089bd446754d64a010d29c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:36:04 2015 -0800 Bluetooth: Make amp_mgr_list and amp_mgr_list_lock static There is no reason to have amp_mgr_list and amp_mgr_list_lock exported from a2mp.c and thus make both of them static. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 055540a176c48b33dbb4d756e80e1e301ef86a42 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Feb 14 13:36:03 2015 -0800 Bluetooth: Move A2MP_FEAT_EXT declaration into A2MP source The A2MP_FEAT_EXT declaration has a single user in a2mp.c and thus just move it there. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 2eeff0b4317a02f0e281df891d990194f0737aae Author: Alexander Ploumistos <alex.ploumistos@xxxxxxxxx> Date: Fri Feb 13 21:05:11 2015 +0200 Bluetooth: ath3k: Add support Atheros AR5B195 combo Mini PCIe card Add 04f2:aff1 to ath3k.c supported devices list and btusb.c blacklist, so that the device can load the ath3k firmware and re-enumerate itself as an AR3011 device. T: Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=04f2 ProdID=aff1 Rev= 0.01 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA 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: Alexander Ploumistos <alexpl@xxxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit bfbd45e9acd2ef90ccc31ea02e08f82af392dbec Author: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx> Date: Fri Feb 13 09:20:52 2015 -0800 Bluetooth: Add device shutdown routine for Intel Bluetooth device This patch adds the device shutdown routine for Intel Bluetooth device. Some platforms have BT LED issue with Intel Bluetooth device that BT LED goes off 5 seconds after BT is turned off For Intel Bluetooth device, the BT LED is turned off when: - there is no active connection or radio activity - USB is suspend So, when the BT is turned off, it takes 5 seconds because USB suspend timeone is 5 seconds by default. And if the USB suspend is not enabled, BT LED won't be turned off. To fix this issue, recently Intel Bluetooth firmware patch had been submitted to turn off the BT LED immediately by the vendor specific command(0xFC3F). And this patch sends this command to the device before closing the device. For backward compatibility of this command with old firmware, this command was supported before, but it behaves same as HCI_RESET internally. So, it won't be the problem even if the system doesn't have the latest firmware patch. Signed-off-by: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a44fecbd52a4d9c36f07eb2161c153047d8765d4 Author: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx> Date: Fri Feb 13 09:20:50 2015 -0800 Bluetooth: Add shutdown callback before closing the device This callback allows a vendor to send the vendor specific commands before cloing the hci interface. Signed-off-by: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3e544ef9357493422909064de35f3e289d92f1fe Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sat Feb 14 23:57:48 2015 +0100 at86rf230: assign wait_for_completion_timeout to appropriately typed var return type of wait_for_completion_timeout is unsigned long not int. As rc is used here only for wait_for_completion_timeout the type is simply changed to unsigned long. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ff0fcc2987b42857d233e8a72c7476fb1e520110 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Jan 9 16:42:59 2015 +0100 6lowpan: nhc: add other known rfc6282 compressions This patch adds other known rfc6282 compression formats to the nhc framework. These compression formats are known but not implemented yet. For now this is useful to printout a warning which compression format isn't supported. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Martin Townsend <mtownsend1973@xxxxxxxxx> Reviewed-by: Stefan Schmidt <s.schmidt@xxxxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cc6ed2684751b0a1074b37c080983b6ce737ed22 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Jan 9 16:42:58 2015 +0100 6lowpan: add udp compression via nhc layer This patch move UDP header compression and uncompression into the generic 6LoWPAN nhc header compression layer. Moreover this patch activates the nhc layer compression in iphc compression and uncompression functions. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Martin Townsend <mtownsend1973@xxxxxxxxx> Reviewed-by: Stefan Schmidt <s.schmidt@xxxxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 92aa7c65d295f3cbb96904afe335f683e55584b8 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Jan 9 16:42:57 2015 +0100 6lowpan: add generic nhc layer interface This patch adds a generic next header compression layer interface. There exists various methods to do a header compression after 6LoWPAN header to save payload. This introduce a generic nhc header which allow a simple adding of a new header compression format instead of a static implementation inside the 6LoWPAN header compression and uncompression function. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Martin Townsend <mtownsend1973@xxxxxxxxx> Reviewed-by: Stefan Schmidt <s.schmidt@xxxxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 129a76931a6e90ddca586ba6e4292b5b429488bc Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sat Feb 14 09:33:35 2015 +0200 Bluetooth: btusb: Remove unneeded btusb_wait_on_bit_timeout() There's now a proper wait_on_bit_timeout() API in linux/wait.h so we can remove our own copy from btusb.c. Our copy had the task state and timeout variables swapped so the patch also changes their order. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9f59f970ec2128522a98f6826350a3bfbaf70163 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Feb 11 14:47:27 2015 +0530 iio: gp2ap020a00f: Use put_unaligned_le32 This patch introduces the use of function put_unaligned_le32. This is done using Coccinelle and semantic patch used is as follows: @@ identifier tmp; expression ptr; expression y,e; type T; @@ - tmp = cpu_to_le32(y); <+... when != tmp - memcpy(ptr, (T)&tmp, ...); + put_unaligned_le32(y,ptr); ...+> ? tmp = e @@ type T; identifier tmp; @@ - T tmp; ...when != tmp Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 293487c8ecc1103f4625cea5e90e1ba0cc89660f Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Tue Feb 10 18:33:51 2015 +0200 iio: Export userspace IIO headers After UAPI header file split [1] all user-kernel interfaces were placed under include/uapi/. This patch moves IIO user specific API from: * include/linux/iio/events.h => include/uapi/linux/iio/events.h * include/linux/types.h => include/uapi/linux/types.h Now there is no need for nasty tricks to compile userspace programs (e.g iio_event_monitor). Just installing the kernel headers with make headers_install command does the job. [1] http://lwn.net/Articles/507794/ Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 226e2f1b0bb4a5f724dd119c1eeb8b8e89e87fab Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Feb 12 16:41:26 2015 +0200 ASoC: davinci-mcasp: Add support for CBS_CFM mode Support for setups where codec is bitclock slave and frame master. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit faa810303d4141de335a8b29ec7fba8d653903fc Author: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Date: Wed Feb 11 12:31:42 2015 +0100 Bluetooth: Enhance error codes pair device command If user space is trying to pair on not enabled transport MGMT_STATUS_REJECT will be returned. If user space is trying to pair on transport which controller does not support, MGMT_STATUS_NOT_SUPPORTED will be returned. Having separate error code for that scenario might be useful for debugging at least. Signed-off-by: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c411110e1f13abd64886c8abdf6f31c10136969f Author: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Date: Wed Feb 11 12:31:41 2015 +0100 Bluetooth: Improve error handling in connect acl With this patch -EOPNOTSUPP will be returned by hci_connect_acl for LE only controllers. If it is dual device with disabled BREDR -ECONNREFUSED will be returned Signed-off-by: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 152d386e111fed3fee5fe888f38b0ae73ea15400 Author: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Date: Wed Feb 11 12:31:40 2015 +0100 Bluetooth: Do not allow LE connection if LE is not enabled Kernel gives possibility to enable/disable LE host support. There is flag HCI_LE_ENABLED which is set when this support is enabled and some parts of the code checks this flag e.g. SMP However it is still possible to make LE connection if LE Host support is disabled, what might be confused for remote device. This patch makes sure that kernel will not send HCI LE Create Connection if LE HOST support is not enabled. Signed-off-by: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b976796950c7a41fe1b6b51236ddd08dd6480b80 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Feb 11 14:39:17 2015 +0100 ieee802154: cleanup ieee802154_le64_to_be64 This patch cleanups the ieee802154_le64_to_be64 function. This patch removes an unnecessary temporary variable. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ba5bf17e8343c0b5b87a1240aa75c35c76b88e5e Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Feb 11 14:39:16 2015 +0100 ieee802154: cleanup ieee802154_be64_to_le64 This patch cleanups the ieee802154_be64_to_le64 function. This patch removes an unnecessary temporary variable. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 306f7aa1807be7588f115d7cafa475f65e72e3d1 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Feb 11 14:39:15 2015 +0100 ieee802154: correct ieee802154_is_valid_psdu_len This patch corrects the ieee802154_is_valid_psdu_len function that this function also checks on reserved values 6-8 for validation the psdu length. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f9d1ce8f81eb046626cfa1bb0f419f8dca04bcae Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Feb 5 18:21:30 2015 +0100 ieee802154: fix netns settings 6LoWPAN currently doesn't supports x-netns and works only in init_net. With this patch, we ensure that: - the wpan interface cannot be moved to another netns; - the 6lowpan interface cannot be moved to another netns; - the wpan interface is in the same netns than the 6lowpan interface; - the 6lowpan interface is in init_net. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a715d11e453c37822eca675a4445c1ce4ea7297e Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Feb 10 05:49:41 2015 -0800 Bluetooth: btmrvl: support SCO routing to host interface A vendor specific command is sent to firmware during initialization to enable this feature. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d4495cbaa5869d2ce8f4b1c9331d3a19b24eb98b Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sat Feb 14 00:41:35 2015 +0100 drm/i915: Update DRIVER_DATE to 20150214 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 135f9be9194cf7778eb73594aa55791b229cf27c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Jan 6 17:53:15 2015 -0300 [media] dvb_frontend: start media pipeline while thread is running While the DVB thread is running, the media pipeline should be streaming. This should prevent any attempt of using the analog TV while digital TV is working, and vice-versa. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0f0fa90bd035fa15106799b813d4f0315d99f47e Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Jan 6 15:26:06 2015 -0300 [media] cx231xx: enable tuner->decoder link at videobuf start The tuner->decoder needs to be enabled when we're about to start streaming. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9239effd53d47e3cd9c653830c8465c0a3a427dc Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Jan 6 13:57:55 2015 -0300 [media] dvb-frontend: enable tuner link when the FE thread starts If the dvb frontend thread starts, the tuner should be switched to the frontend. Add a code that ensures that this will happen, using the media controller. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6bb0b1829bca35016be6ab662cff36bcfdf646c0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Jan 6 13:13:31 2015 -0300 [media] dvbdev: enable DVB-specific links For now, let's keep the DVB-specific media controller links enabled by default. On most devices, this is fixed anyway, so no big issue. Ok, the demux actually have dynamic links based on the filters, but we don't represent them yet, as the media controller currently lacks the capability of dynamically create/delete entities. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 54e339a960f8166df4368d01e792d0550d3bcd57 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 16:54:51 2015 -0300 [media] cx231xx: create DVB graph cx231xx is simple with regards to DVB: all boards have just one DVB adapter. So, we can use the default DVB helper function to create the DVB media graph. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4155109aa88ccf478b1d59a63df1969a5f519800 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 16:52:34 2015 -0300 [media] dvbdev: add a function to create DVB media graph We need to create a DVB graph, linking the several DVB devnodes. Add such function. Please notice that this helper function doesn't take into account devices with multiple DVB adapters and frontends. For devices with multiple adapters, they should either create two different media controller instances or to improve this function to take the adapter ID into account. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3bde1b78408b7b1136cd64722b6cd8b2eb70b217 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 16:35:53 2015 -0300 [media] dvbdev: represent frontend with two pads While on some devices the tuner is bound inside the frontend, other devices use a separate subdevice for it. So, in order to be more generic, better to map it with two pads. That will allows to use the media controller to lock the tuner between the DVB and the V4L2 sub-drivers, on hybrid devices. While here, change the logic to use pad 0 as sink for devices with both sink and source pads. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d35a9855a8b6e675013bce6946e36c13db66b765 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 15:22:26 2015 -0300 [media] cx231xx: create media links for analog mode Now that we have entities and pads, let's create media links between them, for analog setup. We may not have all the links for digital yet, as the dvb extention may not be loaded yet. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b6a40e728099aa645d0d35896532e4f0f6f31e69 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 16:08:07 2015 -0300 [media] cx231xx: initialize video/vbi pads Both video and vbi are sink pads. Initialize them as such. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8cd61969c8a9b564435f4f903bddc09dfd39f944 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 13:10:08 2015 -0300 [media] cx25840: fill the media controller entity Instead of keeping the media controller entity not initialized, fill it and create the pads for cx25840. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 00a5a4bf7bb40fe8cd5de042948b925c54b016de Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 12:44:40 2015 -0300 [media] tuner-core: properly initialize media controller subdev Properly initialize tuner core subdev at the media controller. That requires a new subtype at the media controller API. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 172e9d3c8840b6dd8141e491ee70392c42bbc635 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 01:59:53 2015 -0300 [media] dvbdev: add pad for the DVB devnodes We want to represent the links between the several DVB devnodes, so let's create PADs for them. The DVB net devnode is a different matter, as it is not related to the media stream, but with network. So, at least for now, let's not add any pad for it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e3d65c33e31db12856300cf8015428daae19245a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 22:53:58 2015 -0300 [media] dvb_net: add support for DVB net node at the media controller Make the dvb core network support aware of the media controller and register the corresponding devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 738a1b1e1355433ff29e20774df3d89355bbac9f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 22:48:17 2015 -0300 [media] dvb_ca_en50221: add support for CA node at the media controller Make the dvb core CA support aware of the media controller and register the corresponding devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8afd52ef92f8ff657965cef5f0da0a4bba04a361 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 22:28:53 2015 -0300 [media] dmxdev: add support for demux/dvr nodes at media controller Make the dvb core demux support aware of the media controller and register the corresponding devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c1b31b1e8248a42e689000bf43e63ba8ee49f709 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 11:00:17 2015 -0300 [media] dvb_frontend: add media controller support for DVB frontend Now that the dvb core is capable of registering devices via the media controller, add support for the DVB frontend devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1d058bdcf5cc800fbfeece0204f7774556d341bb Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Jan 1 11:37:17 2015 -0300 [media] cx231xx: add media controller support Let's add media controller support for this driver and register it for both V4L and DVB. The media controller on this driver is not mandatory, as it can fully work without it. So, if the media controller register fails, just print an error message, but proceed with device registering. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a0246e02f466482a34c8ad94bedbe4efa498662d Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 12:19:51 2015 -0300 [media] dvbdev: add support for media controller Provide a way to register media controller device nodes at the DVB core. Please notice that the dvbdev callers also require changes for the devices to be registered via the media controller. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0b6ffd45ca7d2c20f752da06282fc83bff0a01b8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Jan 26 10:08:50 2015 -0300 [media] DocBook: Add tuner subdev at documentation Now that we've added MEDIA_ENT_T_V4L2_SUBDEV_TUNER at the API, document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 91b0f3a06e432d01c66cd05973628a2ec3bde9ed Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Jan 26 08:53:18 2015 -0300 [media] media: add a subdev type for tuner Add MEDIA_ENT_T_V4L2_SUBDEV_TUNER to represent the V4L2 (and dvb) tuner subdevices. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a1a6255c313165fde4f3330a6b97e5ce7f864b64 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Feb 13 20:10:05 2015 -0200 [media] DocBook: Document the DVB API devnodes at the media controller The DVB API is actually several different APIs bundled together, each using its own device node. Fix the media controller DVB API to actually reflect what's there at the DVB subsystem. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1d20f9f6330c988505e51f5010656978fd70cd0c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Jan 3 11:09:39 2015 -0300 [media] media: add new types for DVB devnodes Most of the DVB subdevs have already their own devnode. Add support for them at the media controller API. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 15d2042107f90f7ce39705716bc2c9a2ec1d5125 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Feb 13 19:59:40 2015 -0200 [media] Docbook: Fix documentation for media controller devnodes The media-ctl userspace application assumes that all device nodes are uniquelly defined via major,minor, just like v4l and fb. That's ok for those types of devices, but, as we're adding support for DVB at the API, what's written there at the DocBook is wrong. So, fix it. While here, fix the size of the reserved space inside the union, with is 184, and not 180. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e31a0ba7df6ce21ac4ed58c4182ec12ca8fd78fb Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jan 2 12:18:23 2015 -0300 [media] media: Fix DVB devnode representation at media controller The previous provision for DVB media controller support were to define an ID (likely meaning the adapter number) for the DVB devnodes. This is just plain wrong. Just like V4L, DVB devices (and any other device node)) are uniquely identified via a (major, minor) tuple. This is enough to uniquely identify a devnode, no matter what API it implements. So, before we go too far, let's mark the old v4l, fb, dvb and alsa "devnode" info as deprecated, and just call it as "dev". We can latter add fields specific to each API if needed. As we don't want to break compilation on already existing apps, let's just keep the old definitions as-is, adding a note that those are deprecated at media-entity.h. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cd5956c9136d80ca09faacf9622dc68426bec98c Author: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Date: Fri Feb 6 11:16:47 2015 +0100 drm/i915: Remove references to previously removed UMS config option Commit 03dae59c72ffffd8 ("drm/i915: Ditch UMS config option") removed CONFIG_DRM_I915_UMS from the Kconfig file, but i915_drv.c still references this option in two #ifndef statements. As an undefined config option will always be 'false', we can drop the #ifndefs alltogether and adapt the printed error message. This inconsistency was found with the undertaker tool. Signed-off-by: Andreas Ruprecht <rupran@xxxxxxxxxxxx> [danvet: Undo logging change as requested by Jani.] Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a86eb582e3863daa00f6f60355d7fb91252d0e43 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Feb 11 18:21:44 2015 +0000 drm/i915/skl: Use a LRI for WaDisableDgMirrorFixInHalfSliceChicken5 I have no idea how that crept in, but we need to do the write from the ring and this is a masked register. Two fixes in 1! Cc: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 35c8ce6ac5c2efedf76912c86b2021a6e4ec1655 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Feb 11 18:21:43 2015 +0000 drm/i915/skl: Fix always true comparison in a revision id check It's always a good idea to keep static analysis happy (also because it prompts doing the check like I proposed :), this time smatch complains: drivers/gpu/drm/i915/intel_ringbuffer.c:891 gen9_init_workarounds() warn: always true condition '((->dev->pdev->revision) >= (0)) => (0-255 >= 0)' That's because revision is a u8. Tweak a bit the condition then. Cc: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 77719d28aeed5cad45b61d66b198b2575a5bf4cc Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:13 2015 +0000 drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement This W/A is put in a gen9 specific function because it may well be needed on other gen9 platforms. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 183c6daceb7efa512ba93efd95766c59f175bbcf Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:11 2015 +0000 drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 071c92de1d24f36a217fb8264df27998c8c73df6 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Feb 12 10:26:02 2015 +0200 drm/i915: Add process identifier to requests We use the pid of the process which opened our device when we track which was the culprit of the gpu hang. But as that file descriptor might get inherited, we might blame the wrong process when we record the error state. Track process identifiers in requests to always find the correct offender. v2: Track only user processes (Chris) Cc: Kenneth Graunke <kenneth@xxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> [danvet: drop NULL check before put_pid as suggested by Chris.] Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 65ca7514e21adbee25b8175fc909759c735d00ff Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:22 2015 +0000 drm/i915/skl: Implement WaBarrierPerformanceFixDisable Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e2db7071f14b7ac095a24448e9edd036ba332da3 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:21 2015 +0000 drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2caa3b260aa6a3d015352c07d1bce1461825fa6c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:20 2015 +0000 drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 81e231afe7478f1bf14bbb17c26d6ebf054faece Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:19 2015 +0000 drm/i915/skl: Implement WaDisableHDCInvalidation Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8bc0ccf6b1f0c0c6eef8301cb2a5b743a01635db Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:18 2015 +0000 drm/i915/skl: Implement WaDisableLSQCROPERFforOCL Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9370cd987e91d6d652ebe6d883fbc51b10df2403 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:17 2015 +0000 drm/i915/skl: Implement WaDisablePartialResolveInVc Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8d2054941071d10c8bbe120dd2160be8ae21f267 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:15 2015 +0000 drm/i915/skl: Introduce a SKL specific init_workarounds() This function will host SKL-only W/As. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8543747ce5bde14f80cc07b4150e884c24a3edcf Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:12 2015 +0000 drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9253c2e56b83dcc194f1e47bfd7b2bc1cc09a53f Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:10 2015 +0000 drm/i915/skl: Implement WaSetGAPSunitClckGateDisable Let's also take the opportunity the remove the comment telling it's a pre-prod W/A, it should be obvious from the stepping test. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 45db2194ac7c91a96b18be32c6d7f12a8695868a Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:09 2015 +0000 drm/i915/skl: Make the init clock gating function skylake specific We'll gather cross-gen9 W/A in a separate function later. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 82ef822e657c2b1d1f0893afd84468a4ae641c04 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:08 2015 +0000 drm/i915/skl: Provide a gen9 specific init_render_ring() WaDisableAsyncFlipPerfMode isn't listed for SKL and INSTPM_FORCE_ORDERING is MBZ so let's make a gen9 specific render init function. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6f97235b8be5ee8721e784d0b3b95ef2f95edf7c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:07 2015 +0000 drm/i915/skl: Document the WM read latency W/A with its name Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e25dca861395dd69270a19058932a6676c966522 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 3 14:25:15 2015 +0000 drm/i915/skl: Also detect eDRAM on SKL Suggested-by: Daniel Vetter <daniel@xxxxxxxx> 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 2db59d530777b76f6b7944e0bfa43c9fede10b10 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 3 14:25:14 2015 +0000 drm/i915: Detect eDRAM with the enabled bit only At the moment we compare the whole EDRAM_PRESENT/EDRAMCAP register value to 1 while EDRAM_PRESENT is only bit 0 (the rest may be used to describe eDRAM capabilities). To be more future proof, only look at bit 0 to detect eDRAM presence. 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 72603ec0e2db745978a8f126307fe857f9a1ddc9 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:25 2015 +0000 drm/i915: Remove the IS_SNB_GT1 define The last (only?) user of this was removed in: commit 2208d655a91f9879bd9a39ff9df05dd668b3512c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Nov 14 09:25:29 2014 +0100 drm/i915: drop WaSetupGtModeTdRowDispatch:snb Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f63bdb5f09f378729d7c7071dd6deddc5112000d Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:24 2015 +0000 drm/i915: Make intel_unpin_fb_obj() static This function is not used outside of intel_display.c since; commit cf4c7c12258ed9367f4fc45238f5f50d2db892c1 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Dec 4 10:27:42 2014 -0800 drm/i915: Make all plane disables use 'update_plane' (v5) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c2af70e2c9f8da4fa2075661112169503fd1f23a Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:23 2015 +0000 drm/i915: Make intel_dp_unpack_aux() static This was introduced in: commit 0bc12bcb1b9686d7011f16410ba17ed0740167c3 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Nov 14 08:52:28 2014 -0800 drm/i915: Introduce intel_psr.c But the unpack function is unused at this date. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a51462004decc8f3c42aaf596760f58399a3ffa7 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:22 2015 +0000 drm/i915: Make intel_dp_check_link_status() static This function is only used in intel_dp.c since: 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) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 183c990673098c37c9e5d768cc969be67ff7a799 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:21 2015 +0000 drm/i915: Make intel_logical_ring_advance_and_submit() static This function is only used in intel_lrc.c, so restrict it to that file. The function was moved around to avoid a forward declaration and group it with its user. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cef437ad22848afa68f02973a57473cc45b25f01 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:19 2015 +0000 drm/i915: Make intel_lr_context_render_state_init() static This function is only used in intel_lrc.c, so restrict it to that file. The function was moved around to avoid a forward declaration and group it with its user. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a01c7162ca1116dc95c5363e6d77078a61797fc5 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:18 2015 +0000 drm/i915: Remove intel_dsi_cmd.h This header has been unusued since: commit 063c86f60ad4064b2cf62041bee8c6389e180b76 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Jan 16 14:27:27 2015 +0200 drm/i915/dsi: remove intel_dsi_cmd.c and the unused functions therein Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit af75f2691870c575030bbd42adf17457afbe7242 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:17 2015 +0000 drm/i915: Make intel_ring_setup_status_page() static This function is only used in intel_ringbuffer.c, so restrict it to that file. The function was moved around to avoid a forward declaration and group it with its user. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Squash in fixup from Wu Fengguang.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a2f8aeb328484769404453678dbbd7989c8029d1 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 19:32:16 2015 +0000 drm/i915: Garbage collect orphaned prototypes There have been quite a bit of development lately, leaving behing lonely protypes. Time to bid them farewell. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 71ba2d6432040352e174f5366fb5e5ac3b908e50 Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:54 2015 +0800 drm/i915: Support alias ppgtt in VM if ppgtt is enabled The current Intel GVT-g only supports alias ppgtt. And the emulation is done in the host by first trapping PP_DIR_BASE mmio accesses. Updating PP_DIR_BASE by using instructions such as MI_LOAD_REGISTER_IMM are hard to detect and are not supported in current code. Therefore this patch also adds a new callback routine - vgpu_mm_switch() to set the PP_DIR_BASE by mmio writes. v2: take Chris' comments: - move the code into sanitize_enable_ppgtt() v4: take Tvrtko's comments: - fix the parenthesis alignment warning Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3be0bf5acca61daa9800219088b0b95712ced520 Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:53 2015 +0800 drm/i915: Create vGPU specific MMIO operations to reduce traps In the virtualized environment, forcewake operations are not necessary for the driver, because mmio accesses will be trapped and emulated by the host side, and real forcewake operations are also done in the host. New mmio access handlers are added to directly call the __raw_i915_read/write, therefore will reduce many traps and increase the overall performance for drivers running in the VM with Intel GVT-g enhancement. v2: take Chris' comments: - register the mmio hooks in intel_uncore_init() v3: take Daniel's comments: - use macros to assign mmio write functions for vGPU v4: take Tvrtko's comments: - also use mmio hooks for read operations Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Kevin Tian <kevin.tian@xxxxxxxxx>k Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f61018b1fe00238407724ea7a502003c3f71d9a0 Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:52 2015 +0800 drm/i915: Disable power management for i915 driver in VM With Intel GVT-g, GPU power management is controlled by host driver, so there is no need to provide virtualized GPU PM support. In the future it might be useful to gather VM input for freq boost, but now let's disable it simply. v2: take Chris' comments: - do not special case this to gen6+ Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e21fd552ff068da4bcb1a0108e2933db52685f2c Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:51 2015 +0800 drm/i915: Add the display switch logic for vGPU in i915 driver Display switch logic is added to notify the host side that current vGPU have a valid surface to show. It does so by writing the display_ready field in PV INFO page, and then will be handled in the host side. This is useful to avoid trickiness when the VM's framebuffer is being accessed in the middle of VM modesetting, e.g. compositing the framebuffer in the host side. v2: - move the notification code outside the 'else' in load sequence - remove the notification code in intel_crtc_set_config() v4: - code rebase, no need to define another dev_priv - use #define instead of enum for display readiness Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd49234b6aa37fd32069e506c6997171afd326be Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:50 2015 +0800 drm/i915: Disable framebuffer compression for i915 driver in VM Framebuffer compression is disabled when driver detects it's running in a Intel GVT-g enlightened VM, because FBC is not emulated and there is no stolen memory for a vGPU. v2: take Chris' comments: - move the code into intel_update_fbc() v4: take Tvrtko's comments: - rebase the code into intel_fbc_update() Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eb82289a1f2373917aae02ff41a247741040f16b Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:49 2015 +0800 drm/i915: Partition the fence registers for vGPU in i915 driver With Intel GVT-g, the fence registers are partitioned by multiple vGPU instances in different VMs. Routine i915_gem_load() is modified to reset the num_fence_regs, when the driver detects it's running in a VM. Accesses to the fence registers from vGPU will be trapped and remapped by the host side. And the allocated fence number is provided in PV INFO page structure. By now, the value of fence number is fixed, but in the future we can relax this limitation, to allocate the fence registers dynamically from host side. Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Eddie Dong <eddie.dong@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5dda8fa356587832e5373498d8b973d66735762d Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:48 2015 +0800 drm/i915: Adds graphic address space ballooning logic With Intel GVT-g, the global graphic memory space is partitioned by multiple vGPU instances in different VMs. The ballooning code is called in i915_gem_setup_global_gtt(), utilizing the drm mm allocator APIs to mark the graphic address space which are partitioned out to other vGPUs as reserved. With ballooning, host side does not need to translate a grahpic address from guest view to host view. By now, current implementation only support the static ballooning, but in the future, with more cooperation from guest driver, the same interfaces can be extended to grow/shrink the guest graphic memory dynamically. v2: take Chris and Daniel's comments: - no guard page between different VMs - use drm_mm_reserve_node() to do the reservation for ballooning, instead of the previous drm_mm_insert_node_in_range_generic() v3: take Daniel's comments: - move ballooning functions into i915_vgpu.c - add kerneldoc to ballooning functions v4: take Tvrtko's comments: - more accurate comments and commit message Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Signed-off-by: Eddie Dong <eddie.dong@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cf9d2890da19d9544d655554da907049e8226d14 Author: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Date: Tue Feb 10 19:05:47 2015 +0800 drm/i915: Introduce a PV INFO page structure for Intel GVT-g. Introduce a PV INFO structure, to facilitate the Intel GVT-g technology, which is a GPU virtualization solution with mediated pass-through. This page contains the shared information between i915 driver and the host emulator. For now, this structure utilizes an area of 4K bytes on HSW GPU's unused MMIO space. Future hardware will have the reserved window architecturally defined, and layout of the page will be added in future BSpec. The i915 driver load routine detects if it is running in a VM by reading the contents of this PV INFO page. Thereafter a flag, vgpu.active is set, and intel_vgpu_active() is used by checking this flag to conclude if GPU is virtualized with Intel GVT-g. By now, intel_vgpu_active() will return true, only when the driver is running as a guest in the Intel GVT-g enhanced environment on HSW platform. v2: take Chris' comments: - call the i915_check_vgpu() in intel_uncore_init() - sanitize i915_check_vgpu() by adding BUILD_BUG_ON() and debug info take Daniel's comments: - put the definition of PV INFO into a new header - i915_vgt_if.h other changes: - access mmio regs by readq/readw in i915_check_vgpu() v3: take Daniel's comments: - move the i915/vgt interfaces into a new i915_vgpu.c - update makefile - add kerneldoc to functions which are non-static - add a DOC: section describing some of the high-level design - update drm docbook other changes: - rename i915_vgt_if.h to i915_vgpu.h v4: take Tvrtko's comments: - fix a typo in commit message - add debug message when vgt version mismatches - rename low_gmadr/high_gmadr to mappable/non-mappable in PV INFO structure Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx> Signed-off-by: Jike Song <jike.song@xxxxxxxxx> Signed-off-by: Eddie Dong <eddie.dong@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5baa22c59f4e841eb45f8d1299043fb58370e48b Author: Zhi Wang <zhi.a.wang@xxxxxxxxx> Date: Tue Feb 10 17:11:36 2015 +0800 drm/i915: Introduce bit definitions of CTXT_SR_CTRL register. This patch introduces 2 bit definitions of context save/restore control register. Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Suggested-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 25bab385a0f8e76a32a5550d696f6a17540041c5 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:16 2015 +0000 drm/i915: Announce support for framebuffer modifiers Let the DRM core know we can handle it. v2: Change to boolean true. (Daniel Vetter) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b911adc924e0ca817ce6454ca3df922dc5d47fa Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:15 2015 +0000 drm/i915: Use fb modifiers in intel_pin_and_fence_fb_obj And at the same time replace BUG() with a warning and handle it gracefuly. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6a418fcd84d655e97333627c4247a318e99b0ecf Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:14 2015 +0000 drm/i915: Use fb modifiers in intel_check_cursor_plane Also drop the mutex since with universal planes there is always a proper framebuffer around which wraps the underlying bo. Which means tiling is locked down. This was different in the old code which directly took gem handles. The looking though was always cargo-cult since races where not prevented in any way. v2: Unconditionally enforce untiled, because cursors are always untiled. The check for physical or gtt cursor is irrelevant. Also clarify the commit message a bit Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 66ebf56714ed0b475afc5fb91c7e7230cf86c2a6 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:13 2015 +0000 drm/i915/skl: Use fb modifiers for sprites While at it just outright remove the tiling check in intel_check_sprite_plane because it's impossible: We only allow untiled and X-tiled. This essentially reverts commit 94c6419ed8f45e6682d766672b9ceb54867d3d2d Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Oct 29 15:14:51 2012 +0000 drm/i915: Error out when trying to set a y-tiled as a sprite Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> [danvet: Drop the hunk in check_sprite, it's impossible.] Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ba343e029e028a1a7e93c11969789ac70d609f9d Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:12 2015 +0000 drm/i915/skl: CS flips are not supported with execlists And skl only works in execlist mode, not in legacy ring submission. Therefore remove dead code. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30af77c4c80f98c72b27cb497aa660ef9474e6cf Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Feb 10 17:16:11 2015 +0000 drm/i915: Use fb format modifiers in skylake_update_primary_plane Just a little demo really. We probably need to introduce skl specific functions for a lot of the format validation stuff, or at least helpers. Specifically I think intel_framebuffer_init and intel_fb_align_height must be adjusted to have an i915_ and a skl_ variant. And only shared code should be converted to fb modifiers, platform code (like the plane config readout can keep on using old tiling_mode defines to avoid some churn). Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 091df6cbf248811150552d51dacb9dc1fe6b0a23 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Feb 10 17:16:10 2015 +0000 drm/i915: Switch intel_fb_align_height to fb format modifiers With this we can treat the fb format modifier completely independently from the fencing mode in obj->tiling_mode in the initial plane code. Which means new tiling modes without any gtt fence are now fully support in the core i915 driver code. v2: Also add pixel_format while at it, we need this to compute the height for the new tiling formats. Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 18c5247e1e96d657334dabd8ab611001f16a62b0 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Feb 10 17:16:09 2015 +0000 drm/i915: Set up fb format modifier for initial plane config No functional changes yet since intel_framebuffer_init would have fixed this up for us. But this is prep work to be able to handle new tiling layouts in the initial plane config code. Follow-up patches will start to make use of this and switch over to fb modifiers where needed. Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c1ca506d173bdbadffce95e1f67ac86a08e9db03 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:07 2015 +0000 drm/i915: Show frame buffer modifier in debug info Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2a80eada326fe83d2a1eaaa4c36831d95628770f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Feb 10 17:16:06 2015 +0000 drm/i915: Add fb format modifier support Currently we don't support anything but X tiled. And for an easier transition it makes a lot of sense to just keep requiring that X tiled is properly fenced. Which means we need to do absolutely nothing in old code to support fb modifiers, yay! v2: Fix the Y tiling check, noticed by Tvrtko. v3: Catch Y-tiled fb for legacy addfb again (Tvrtko) and explain why we want X tiling to match in the comment. Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 93b81f5102a7cd270a305c2741b17c8d44bb0629 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Feb 10 17:16:05 2015 +0000 drm/i915: Add tiled framebuffer modifiers To be used from the new addfb2 extension. v2: - Drop Intel-specific untiled modfier. - Move to drm_fourcc.h. - Document layouts a bit and denote them as platform-specific and not useable for cross-driver sharing. - Add Y-tiling for completeness. - Drop special docstring markers to avoid confusing kerneldoc. v3: Give Y-tiling a unique idea, noticed by Tvrtko. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> (v1) Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 35cb6f3b4ee352bff28d2541909e30f193788b52 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Feb 10 10:31:00 2015 +0000 drm/i915/bdw: Implement WaForceContextSaveRestoreNonCoherent v2: Reorder defines (Ben) v3: More bikesheds, this time re-ordering comments! (Chris) Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Resolve conflict.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c57e3551225977c9b5ed3b81a2be2a0b8f6f4503 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:05 2015 +0000 drm/i915: Support not having an init clock gating function defined When enabling new platforms, we may not have any W/A to apply, especially that, now, a bunch of them have to be done from the ring. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e35fef211bab1a69da1b392c3ece906e287ed6e4 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Feb 9 14:46:29 2015 -0200 drm/i915: change dev_priv->fbc.plane to dev_priv->fbc.crtc Since the mapping from CRTCs to planes is fixed, looking at the CRTC is essentially the same as looking at the plane. Also, the next patches wil start using the frontbuffer_bits macros, and they take the pipe as the parameter instead of the plane, and this could differ on gens 2 and 3. Another nice thing is that we don't risk accidentally initializing things to PLANE_A if we don't set the value before it is used for the first time. But this shouldn't be a problem with the current code. V2: Rebase. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> (v1) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 104618b3364963d1630297f2b8e0a232c51dc85b Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Feb 9 14:46:28 2015 -0200 drm/i915: don't keep reassigning FBC_UNSUPPORTED This may save a few picoseconds on !HAS_FBC platforms. And it also satisfies my OCD. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7cc6574600fdd45eb828a884da4eec6daed786f0 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Feb 9 14:46:27 2015 -0200 drm/i915: don't try to find crtcs for FBC if it's disabled .. because it would be a waste of time, so move the place where the check is done. Also, with this we won't risk printing "more than one pipe active, disabling compression" or "no output, disabling" when FBC is actually disabled. This patch also represents a small behavior difference when using i915.powersave=0: it is now exactly the same as i915.enable_fbc=0 on this part of the code. V2: Rebase. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> (v1) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 203a571b21e7613a7b18bd7340ea1ca75327e7c6 Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Fri Feb 6 11:30:04 2015 +0000 drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS) Add: WaEnableForceRestoreInCtxtDescForVCS v2: Add stepping check. v3: Fixed stepping check direction. Cleaned up indentation. Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e90fff154ecb4517bad4b015bbe2af4699e96dca Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Fri Feb 6 11:30:03 2015 +0000 drm/i915: gen 9 h/w w/a Fix stepping check Fixed the stepping check on WaDisableDgMirrorFixInHalfSliceChicken5 to be for the correct SOC (Skylake) Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e3eb3250d84ef97b766312345774367b6a310db8 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Thu Feb 5 14:41:52 2015 +0000 drm: add support for tiled/compressed/etc modifier in addfb2 In DRM/KMS we are lacking a good way to deal with tiled/compressed formats. Especially in the case of dmabuf/prime buffer sharing, where we cannot always rely on under-the-hood flags passed to driver specific gem-create ioctl to pass around these extra flags. The proposal is to add a per-plane format modifier. This allows to, if necessary, use different tiling patters for sub-sampled planes, etc. The format modifiers are added at the end of the ioctl struct, so for legacy userspace it will be zero padded. v1: original v1.5: increase modifier to 64b v2: Incorporate review comments from the big thread, plus a few more. - Add a getcap so that userspace doesn't have to jump through hoops. - Allow modifiers only when a flag is set. That way drivers know when they're dealing with old userspace and need to fish out e.g. tiling from other information. - After rolling out checks for ->modifier to all drivers I've decided that this is way too fragile and needs an explicit opt-in flag. So do that instead. - Add a define (just for documentation really) for the "NONE" modifier. Imo we don't need to add mask #defines since drivers really should only do exact matches against values defined with fourcc_mod_code. - Drop the Samsung tiling modifier on Rob's request since he's not yet sure whether that one is accurate. v3: - Also add a new ->modifier[] array to struct drm_framebuffer and fill it in drm_helper_mode_fill_fb_struct. Requested by Tvrkto Uruslin. - Remove TODO in comment and add code comment that modifiers should be properly documented, requested by Rob. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Daniel Stone <daniel@xxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Michel Dänzer <michel@xxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> (v1.5) Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 17d5538d54c9f9d6e2b44e07d4d577304e22c17a Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Jan 22 17:01:26 2015 +0000 drm/i915/gen8: Un-hardcode number of page directories Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c8c26622ae508f9f7e6be3e99b45ccae4d07efca Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Jan 22 17:01:25 2015 +0000 drm/i915: Setup less PPGTT on failed page_directory The current code will both potentially print a WARN, and setup part of the PPGTT structure. Neither of these harm the current code, it is simply for clarity, and to perhaps prevent later bugs, or weird debug messages. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 766436004bde5855dcf9975bff2bcd606bd908ab Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Jan 22 17:01:24 2015 +0000 drm/i915: Rename to GEN8_LEGACY_PDPES In gen8, 32b PPGTT has always had one "pdp" (it doesn't actually have one, but it resembles having one). The #define was confusing as is, and using "PDPE" is a much better description. sed -i 's/GEN8_LEGACY_PDPS/GEN8_LEGACY_PDPES/' drivers/gpu/drm/i915/*.[ch] It also matches the x86 pagetable terminology: PTE = Page Table Entry - pagetable level 1 page PDE = Page Directory Entry - pagetable level 2 page PDPE = Page Directory Pointer Entry - pagetable level 3 page And in the near future (for 48b addressing): PML4E = Page Map Level 4 Entry v2: Expanded information about Page Directory/Table nomenclature. Cc: Daniel Vetter <daniel@xxxxxxxx> CC: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2) Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3393871441d6fe1fcc8683087649b5139e4f7876 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Jan 22 17:01:23 2015 +0000 drm/i915/trace: Fix offsets for 64b Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13bea49c8b203b0d2eb789c6f91c03de4e09cf4d Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:24 2015 +0000 drm/i915/gen9: Implement WaForceEnableNonCoherent v2: Don't add WaHdcDisableFetchWhenMasked. Add stepping check for WaForceEnableNonCoherent Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1840481f536b40289b61c13f9111f30f4019e5ff Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:23 2015 +0000 drm/i915/gen9: Implement Wa4x4STCOptimizationDisable Move Wa4x4STCOptimizationDisable to gen9_init_workarounds v2: rebase Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cac23df48af531168625f5510912d227c7ce6b8b Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:22 2015 +0000 drm/i915/gen9: Implement WaEnableYV12BugFixInHalfSliceChicken7 Move WaEnableYV12BugFixInHalfSliceChicken7 to gen9_init_workarounds v2: Add stepping check. Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3dcd020a8e3ef5b5f5289a4785b85499adc7626b Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:21 2015 +0000 drm/i915/gen9: Implement WaDisableSDEUnitClockGating v2: Add stepping check for WaDisableSDEUnitClockGating. Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Rebase.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8424171e135ce956ed2473493b061909199572c7 Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:20 2015 +0000 drm/i915/gen9: h/w w/a: syncing dependencies between camera and graphics This one doesn't have one of these nice cryptic names unfortunately. v2: Added missing register bitmap Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1de4582f98db7eafd12695139aed7df6a0a0ff3a Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:19 2015 +0000 drm/i915/gen9: Implement WaDisableDgMirrorFixInHalfSliceChicken5 Move WaDisableDgMirrorFixInHalfSliceChicken5 to gen9_init_workarounds v2: Added stepping check v3: Removed unused register bitmap Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> [danvet: Bikesheds.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab0dfafefd85b0abf61f0efad769803bee8e49fb Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:18 2015 +0000 drm/i915/gen9: Implement WaDisablePartialInstShootdown v2: Dont add WaDisableThreadStallDopClockGating as not SKL WA. (Found by Damien Lespiau) Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Bikeshed commit message a bit as per Damien's suggestions.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e90a21d45d7ea269e6700208809a92d35c0c2362 Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:17 2015 +0000 drm/i915: ring w/a gen 9 revision definitions Add Skylake stepping Revision IDs definitions. v1: Use existing revision id. Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Use magic __I915__ and bikeshed #defines as suggested by Damien.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3b10653178473c44e8909b5f23ab6f515fb63259 Author: Hoath, Nicholas <nicholas.hoath@xxxxxxxxx> Date: Thu Feb 5 10:47:16 2015 +0000 drm/i915: ring w/a initialisation for gen 9 Add framework for gen 9 HW WAs v1: Changed SOC specific WA function to gen 9 common function (Req: Damien Lespiau) Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 42a7b088127f7725b6d445d7d9e1e1855988a157 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 19:35:13 2015 +0000 drm/i915: Make sure the primary plane is enabled before reading out the fb state We don't want to end up in a state where we track that the pipe has its primary plane enabled when primary plane registers are programmed with values that look possible but the plane actually disabled. Refuse to read out the fb state when the primary plane isn't enabled. Suggested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Suggested-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fb9981aa675eb7b398849915364916fd98833cfa Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 19:24:25 2015 +0000 drm/i915: Fix atomic state when reusing the firmware fb Right now, we get a warning when taking over the firmware fb: [drm:drm_atomic_plane_check] FB set but no CRTC with the following backtrace: [<ffffffffa010339d>] drm_atomic_check_only+0x35d/0x510 [drm] [<ffffffffa0103567>] drm_atomic_commit+0x17/0x60 [drm] [<ffffffffa00a6ccd>] drm_atomic_helper_plane_set_property+0x8d/0xd0 [drm_kms_helper] [<ffffffffa00f1fed>] drm_mode_plane_set_obj_prop+0x2d/0x90 [drm] [<ffffffffa00a8a1b>] restore_fbdev_mode+0x6b/0xf0 [drm_kms_helper] [<ffffffffa00aa969>] drm_fb_helper_restore_fbdev_mode_unlocked+0x29/0x80 [drm_kms_helper] [<ffffffffa00aa9e2>] drm_fb_helper_set_par+0x22/0x50 [drm_kms_helper] [<ffffffffa050a71a>] intel_fbdev_set_par+0x1a/0x60 [i915] [<ffffffff813ad444>] fbcon_init+0x4f4/0x580 That's because we update the plane state with the fb from the firmware, but we never associate the plane to that CRTC. We don't quite have the full DRM take over from HW state just yet, so fake enough of the plane atomic state to pass the checks. v2: Fix the state on which we set the CRTC in the case we're sharing the initial fb with another pipe. (Matt) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2d14030b1a9d0e89cfdca6f16851e2eac8cb4de0 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 17:22:18 2015 +0000 drm/i915: Store the initial framebuffer in initial_plane_config At the moment we use crtc->base.primary->fb to hold the initial framebuffer allocation, disregarding if it's valid or not. This lead to believe we were actually updating the fb at this point, but it's not true and we haven't even called drm_framebuffer_init() on this fb. Instead, let's store the state in struct intel_initial_plane_config until we know we can reuse that framebuffer. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f55548b5af87ebfc586ca75748947f1c1b1a4a52 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 18:30:20 2015 +0000 drm/i915: Don't try to reference the fb in get_initial_plane_config() Tvrtko noticed a new warning on boot: WARNING: CPU: 1 PID: 353 at include/linux/kref.h:47 drm_framebuffer_reference+0x6c/0x80 [drm]() Call Trace: [<ffffffff8161f10c>] dump_stack+0x4f/0x7b [<ffffffff81052caa>] warn_slowpath_common+0xaa/0xd0 [<ffffffff81052d8a>] warn_slowpath_null+0x1a/0x20 [<ffffffffa00d035c>] drm_framebuffer_reference+0x6c/0x80 [drm] [<ffffffffa01c0df7>] update_state_fb.isra.54+0x47/0x50 [i915] [<ffffffffa01ccd5c>] skylake_get_initial_plane_config+0x93c/0x950 [i915] [<ffffffffa01e8721>] intel_modeset_init+0x1551/0x17c0 [i915] [<ffffffffa02476e0>] i915_driver_load+0xed0/0x11e0 [i915] [<ffffffff81627aa1>] ? _raw_spin_unlock_irqrestore+0x51/0x70 [<ffffffffa00ca8b7>] drm_dev_register+0x77/0x110 [drm] [<ffffffffa00cda3b>] drm_get_pci_dev+0x11b/0x1f0 [drm] [<ffffffff81098e3d>] ? trace_hardirqs_on+0xd/0x10 [<ffffffff81627aa1>] ? _raw_spin_unlock_irqrestore+0x51/0x70 [<ffffffffa0145276>] i915_pci_probe+0x56/0x60 [i915] [<ffffffff813ad59c>] pci_device_probe+0x7c/0x100 [<ffffffff81466aad>] driver_probe_device+0x16d/0x380 We cannot take a reference at this point, not before intel_framebuffer_init() and the underlying drm_framebuffer_init(). Introduced in: commit 706dc7b549175e47f23e913b7f1e52874a7d0f56 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Tue Feb 3 13:10:04 2015 -0800 drm/i915: Ensure plane->state->fb stays in sync with plane->fb v2: Don't move update_state_fb(). It was moved around because I originally put update_state_fb() in intel_alloc_plane_obj() before finding a better place. (Matt) Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reported-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6bf129df6ffae600e8f12440635cf64d293042b4 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 17:22:16 2015 +0000 drm/i915: Use an intermediate variable to avoid repeating ourselves The code look slightly better this way and will ease the next commit, changing where we take the fb pointer from. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ba76c41e55c32f35224c956759fcdc154c78b1a Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Feb 5 17:22:15 2015 +0000 drm/i915: Put update_state_fb() next to the fb update update_state_fb() at the end of intel_find_plane_obj() is misleading as it leads us to believe the update is done for all code path. A successful call to intel_alloc_plane_obj() will return and update_state_fb() is then only needed when we share a fb from another CRTC. Put the update() function there then. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 60ee5cd24cf1c39d4c7bab7b428a08386a93fe9f Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Feb 5 12:04:27 2015 +0200 drm/i915/fbc: fix the check for already reserved fbc size The check for previously reserved stolen space size for FBC in i915_gem_stolen_setup_compression() did not take the compression threshold into account. Fix this by storing and comparing to uncompressed size instead. The bug has been introduced in commit 5e59f7175f96550ede91f58d267d2b551cb6fbba Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Mon Jun 30 10:41:24 2014 -0700 drm/i915: Try harder to get FBC Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88975 Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 719388e146c34f065c275258e007a39b694aa68f Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Feb 4 13:22:27 2015 +0000 drm/i915/skl: Declare that GT3 has a second VCS v2: leave intel_skylake_info alone (Rodrigo, Daniel) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf2b8a515530ee7e3b25214d7ec52c6827f12d70 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jan 29 14:13:38 2015 +0000 drm/i915/skl: Split the SKL PCI ids by GT We need to have a separate GT3 struct intel_device_info to declare they have a second VCS. Let's start by splitting the PCI ids per-GT. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 94dd5138c5ed02d26982d9704e8c1e9d72e20b40 Author: Satheeshakrishna M <satheeshakrishna.m@xxxxxxxxx> Date: Wed Feb 4 13:57:44 2015 +0000 drm/i915/skl: Implementation of SKL display power well support This patch implements core logic of SKL display power well. v2: Addressed Imre's comments - Added respective DDIs under power well #1 and #2 - Simplified repetitive code in power well programming v3: Implemented Imre's comments - Further simplified power well programming - Made sure that PW 1 is enabled prior to PW 2 v4: Fix minor conflict with the the cherryview support (Damien) v5: Add the PLL power domain to the always on power well (Damien) v6: Disable BIOS power well (Imre) Use power well data for comparison (Imre) Put the PLL power domain into PW1 as its needed for CDCLK (Satheesh, Damien) v7: Addressed Imre's comments - Lowered the time out to 1ms - Added parantheses in macro - Moved debug message and fixed wait_for interval v8: - Add a WARN() when swiching on an unknown power well (Imre, done by Damien) - Whitespace fixes (spaces instead of tabs) (Damien) v9: (Imre, done by Damien) - Merge the register definitions with this patch - Merge the MISC IO power well in this patch v10: (Imre, done by Damien) - Define the Misc I/O power domains to be the power well 1 ones as Misc I/O needs to be enabled with PW1 - Added Transcoder A and VGA domains to PW 2 - Remove the MISC_IO power domains as well in the the always on domains definition - Move Misc I/O power well at the top of the power well list so it's turned on right after PW1. Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Satheeshakrishna M <satheeshakrishna.m@xxxxxxxxx> (v3,v6,v7) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit afd65eb4cc0578a9c07d621acdb8a570e2782bf7 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Tue Feb 3 13:10:04 2015 -0800 drm/i915: Ensure plane->state->fb stays in sync with plane->fb plane->state->fb and plane->fb should always reference the same FB so that atomic and legacy codepaths have the same view of display state. In commit commit db068420560511de80ac59222644f2bdf278c3d5 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Jan 30 16:22:36 2015 -0800 drm/i915: Keep plane->state updated on pageflip we already fixed one case where these two pointers could get out of sync. However it turns out there are a few other places (mainly dealing with initial FB setup at boot) that directly set plane->fb and neglect to update plane->state->fb. If we never do a successful update through the atomic pipeline, the RmFB cleanup code will look at the plane->state->fb pointer, which has never actually been set to a legitimate value, and try to clean it up, leading to BUG's. Add a quick helper function to synchronize plane->state->fb with plane->fb (and update reference counts accordingly) and call it everywhere the driver tries to manually set plane->fb outside of the atomic pipeline. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88909 Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 62659920cf2113b76607b87595dbebe2f5f8601c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jan 29 14:13:40 2015 +0000 drm/i915/skl: Remove the check enforcing VCS2 to be gen8 only We already track this in the intel_info struct. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> [danvet: Make the commit message a bit less terse.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 87c54d0ee6020f90cc1de2279d81d5d55ca57ee4 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Tue Feb 3 12:17:35 2015 +0530 drm/i915: Correct the variable holding the value for EOT to write This isuue got introduced in - commit 24ee0e64909bf7f1953d87d3e1e29d93eafcad73 Author: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Date: Fri Dec 5 14:24:21 2014 +0530 drm/i915: Update the DSI enable path to support dual Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ffe02b403dff23798a33a342ab685555aa088786 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Feb 2 19:09:50 2015 +0200 drm/i915: Introduce intel_set_rps() Replace the valleyview_set_rps() and gen6_set_rps() calls with intel_set_rps() which itself does the IS_VALLEYVIEW() check. The code becomes simpler since the callers don't have to do this check themselves. Most of the change was performe with the following semantic patch: @@ expression E1, E2, E3; @@ - if (IS_VALLEYVIEW(E1)) { - valleyview_set_rps(E2, E3); - } else { - gen6_set_rps(E2, E3); - } + intel_set_rps(E2, E3); Adding intel_set_rps() and making valleyview_set_rps() and gen6_set_rps() static was done manually. Also valleyview_set_rps() had to be moved a bit avoid a forward declaration. v2: Use a less greedy semantic patch Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab8d66752a9c28cd6c94fa173feacdfc1554aa03 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Feb 2 15:44:15 2015 +0000 drm/i915: Track old framebuffer instead of object Daniel Vetter spotted a bug while reviewing some of my refactoring in this are of the code. I'll quote: """ > @@ -9764,6 +9768,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc, > work->event = event; > work->crtc = crtc; > work->old_fb_obj = intel_fb_obj(old_fb); > + work->old_tiling_mode = to_intel_framebuffer(old_fb)->tiling_mode; Hm, that's actually an interesting bugfix - currently userspace could be sneaky and destroy the old fb immediately after the flip completes and the change the tiling of the underlying object before the unpin work had a chance to run (needs some fudgin with rt prios to starve workers to make this work though). Imo the right fix is to hold a reference onto the fb and not the underlying gem object. With that tiling is guaranteed not to change. """ This patch tries to implement the above proposed change. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3f678c96abb43a977d2ea41aefccdc49e8a3e896 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Jan 30 16:22:37 2015 -0800 drm/i915: Switch planes from transitional helpers to full atomic helpers There are two sets of helper functions provided by the DRM core that can implement the .update_plane() and .disable_plane() hooks in terms of a driver's atomic entrypoints. The transitional helpers (which we have been using so far) create a plane state and then use the plane's atomic entrypoints to perform the atomic begin/check/prepare/commit/finish sequence on that single plane only. The full atomic helpers create a top-level atomic state (which is capable of holding multiple object states for planes, crtc's, and/or connectors) and then passes the top-level atomic state through the full "atomic modeset" pipeline. Switching from the transitional to full helpers here shouldn't result in any functional change, but will enable us to exercise/test more of the internal atomic pipeline with the legacy API's used by existing applications. Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1ed1f968b6bec3a8fbeb99b796854f63bdffc558 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Jan 30 16:22:36 2015 -0800 drm/i915: Keep plane->state updated on pageflip Until all drivers have transitioned to atomic, the framebuffer associated with a plane is tracked in both plane->fb (for legacy) and plane->state->fb (for all the new atomic codeflow). All of our modeset and plane updates use drm_plane->update_plane(), so in theory plane->fb and plane->state->fb should always stay in sync and point at the same thing for i915. However we forgot about the pageflip ioctl case, which currently only updates plane->fb and leaves plane->state->fb at a stale value. Surprisingly, this doesn't cause any real problems at the moment since internally we use the plane->fb pointer in most of the places that matter, and on the next .update_plane() call, we use plane->fb to figure out which framebuffer to cleanup. However when we switch to the full atomic helpers for update_plane()/disable_plane(), those helpers use plane->state->fb to figure out which framebuffer to cleanup, so not having updated the plane->state->fb pointer causes things to blow up following a pageflip ioctl. The fix here is to just make sure we update plane->state->fb at the same time we update plane->fb in the pageflip ioctl. Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 726f3234dd125633438922a07a80f933f13daf82 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Feb 6 10:16:45 2015 +0100 perf trace: Support --events foo:bar --no-syscalls I.e. support tracing just tracepoints, without strace like raw_syscalls:*. [acme@ssdandy linux]$ trace --no-sys --ev sched:*exec,sched:*switch,sched:*exit usleep 1 0.048 ( ): sched:sched_process_exec:filename=/usr/bin/usleep pid=27298 old_pid=27298) 0.369 ( ): sched:sched_switch:usleep:27298 [120] S ==> swapper/5:0 [120]) 0.452 ( ): sched:sched_process_exit:comm=usleep pid=27298 prio=120) [acme@ssdandy linux]$ TODO: remove that (...) thing when --no-syscalls is specified. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-vn0hsixsbhm31b2rpj97r96k@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 14a052df1cfa563093f20847d52caad4be5d2adc Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 12:58:57 2015 -0300 perf trace: Allow mixing with other events Basically adopting 'perf record' --event command line argument syntax: # trace -e \!mprotect,mmap,munmap,open,close,read,fstat,access,arch_prctl --event sched:*switch,sched:*exec,sched:*exit usleep 1 0.048 ( ): sched:sched_process_exec:filename=/bin/usleep pid=24732 old_pid=24732) 0.078 (0.002 ms): usleep/24732 brk( ) = 0x78f000 0.430 (0.002 ms): usleep/24732 brk( ) = 0x78f000 0.434 (0.003 ms): usleep/24732 brk(brk: 0x7b0000 ) = 0x7b0000 0.438 (0.001 ms): usleep/24732 brk( ) = 0x7b0000 0.460 (0.004 ms): usleep/24732 nanosleep(rqtp: 0x7ffff3696a40) ... 0.460 ( ): sched:sched_switch:prev_comm=usleep prev_pid=24732 prev_prio=120 prev_state=S ==> next_comm=swapper/1 next_pid=0 next_prio=120) 0.515 (0.058 ms): usleep/24732 ... [continued]: nanosleep()) = 0 0.520 (0.000 ms): usleep/24732 exit_group( 0.550 ( ): sched:sched_process_exit:comm=usleep pid=24732 prio=120) # Next steps, probably in this order: 1) Use ordered_events code, the logic in trace needs the events to be time ordered when needed, i.e. when multiple CPUs are involved. 2) Callchains! 3) Automatically account for interruptions when saying how long things took. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-gpst8mph575yb4wgf91qibyb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e596663ebb28a068f5cca57f83285b7b293a2c83 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Feb 13 13:22:21 2015 -0300 perf trace: Handle multiple threads better wrt syscalls being intermixed $ trace time taskset -c 0 usleep 1 0.845 ( 0.021 ms): time/16722 wait4(upid: 4294967295, stat_addr: 0x7fff17f443d4, ru: 0x7fff17f44438 ) ... 0.865 ( 0.008 ms): time/16723 execve(arg0: 140733595272004, arg1: 140733595272720, arg2: 140733595272768, arg3: 139755107218496, arg4: 7307199665339051828, arg5: 3) = -2 2.395 ( 1.523 ms): taskset/16723 execve(arg0: 140733595272013, arg1: 140733595272720, arg2: 140733595272768, arg3: 139755107218496, arg4: 7307199665339051828, arg5: 3) = 0 2.411 ( 0.002 ms): taskset/16723 brk( ) = 0x1915000 3.300 ( 0.058 ms): usleep/16723 nanosleep(rqtp: 0x7ffff4ada190 ) = 0 <SNIP> 3.305 ( 0.000 ms): usleep/16723 exit_group( 3.363 ( 2.539 ms): time/16722 ... [continued]: wait4()) = 16723 3.366 ( 0.001 ms): time/16722 rt_sigaction(sig: INT, act: 0x7fff17f44160, oact: 0x7fff17f44200, sigsetsize: 8) = 0 We we're not seeing this line: 0.845 ( 0.021 ms): time/16722 wait4(upid: 4294967295, stat_addr: 0x7fff17f443d4, ru: 0x7fff17f44438 ) ... just the one when it finishes: 3.363 ( 2.539 ms): time/16722 ... [continued]: wait4()) = 16723 Still some issues left till we move to ordered_samples when multiple CPUs/threads are involved... 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-zq9x30a1ky3djqewqn2v3ja3@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 42052bea1683fad5a7a06d84a3b4f7bd16131ce8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Feb 13 12:32:45 2015 -0300 perf trace: Print thread info when following children The default for 'trace workload' is to set perf_event_attr.inherit to 1, i.e. to make it equivalent to 'strace -f workload', so we were ending with syscalls for multiple processes mixed up, fix it: Before: [root@ssdandy ~]# trace -e brk time usleep 1 0.071 ( 0.002 ms): brk( ) = 0x100e000 0.802 ( 0.001 ms): brk( ) = 0x1d99000 1.132 ( 0.003 ms): brk( ) = 0x1d99000 1.136 ( 0.003 ms): brk(brk: 0x1dba000) = 0x1dba000 1.140 ( 0.001 ms): brk( ) = 0x1dba000 0.00user 0.00system 0:00.00elapsed 63%CPU (0avgtext+0avgdata 528maxresident)k 0inputs+0outputs (0major+181minor)pagefaults 0swaps [root@ssdandy ~]# After: [root@ssdandy ~]# trace -f -e brk time usleep 1 0.072 ( 0.002 ms): time/26308 brk( ) = 0x1e6e000 0.860 ( 0.001 ms): usleep/26309 brk( ) = 0xb91000 1.193 ( 0.003 ms): usleep/26309 brk( ) = 0xb91000 1.197 ( 0.003 ms): usleep/26309 brk(brk: 0xbb2000) = 0xbb2000 1.201 ( 0.001 ms): usleep/26309 brk( ) = 0xbb2000 0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 524maxresident)k 0inputs+0outputs (0major+180minor)pagefaults 0swaps [root@ssdandy ~]# BTW: to achieve the 'strace workload' behaviour, i.e. without a explicit '-f', one has to use --no-inherit. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> echo Link: http://lkml.kernel.org/n/tip-`ranpwd -l 24`@git.kernel.org Link: http://lkml.kernel.org/n/tip-2wu2d5n65msxoq1i7vtcaft2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 619a303c1b8bd22abc549477d038ef9b5c1fe1bd Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 13 21:11:55 2015 +0800 perf list: Place the header text in its right position The hearer text 'List of pre-defined events (to be used in -e):' is placed in an improper function, which causes an abnormal output, e.g. 'perf list hw' shows no guiding text at all, and 'perf list hw L1-dcache*' shows the guiding text incorrectly in the middle of the output. Example Before this patch: $ perf list hw L1-dcache* branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event] cache-misses [Hardware event] cache-references [Hardware event] cpu-cycles OR cycles [Hardware event] instructions [Hardware event] stalled-cycles-backend OR idle-cycles-backend [Hardware event] stalled-cycles-frontend OR idle-cycles-frontend [Hardware event] List of pre-defined events (to be used in -e): <-- incorrect position L1-dcache-load-misses [Hardware cache event] L1-dcache-loads [Hardware cache event] L1-dcache-prefetch-misses [Hardware cache event] L1-dcache-prefetches [Hardware cache event] L1-dcache-store-misses [Hardware cache event] L1-dcache-stores [Hardware cache event] After this patch: $ perf list hw L1-dcache* List of pre-defined events (to be used in -e): <-- correct position branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event] cache-misses [Hardware event] cache-references [Hardware event] cpu-cycles OR cycles [Hardware event] instructions [Hardware event] stalled-cycles-backend OR idle-cycles-backend [Hardware event] stalled-cycles-frontend OR idle-cycles-frontend [Hardware event] L1-dcache-load-misses [Hardware cache event] L1-dcache-loads [Hardware cache event] L1-dcache-prefetch-misses [Hardware cache event] L1-dcache-prefetches [Hardware cache event] L1-dcache-store-misses [Hardware cache event] L1-dcache-stores [Hardware cache event] Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423833115-11199-8-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 74390aa5567827add5058a3b26eff0ed06a629ba Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Tue Jan 27 17:55:12 2015 +0800 perf: Remove the extra validity check on nr_pages The function is_power_of_2() also do the check on nr_pages, so the first check performed is unnecessary. On the other hand, the key point is to ensure @nr_pages is a power-of-two number and mostly @nr_pages is a nonzero value, so in the most cases, the function is_power_of_2() will be called. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Link: http://lkml.kernel.org/r/1422352512-75150-1-git-send-email-xiakaixu@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3a03005ff9445834f3d3b577a11bcbdbdf7a89cf Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Fri Feb 13 21:11:52 2015 +0800 perf tools: Fix a bug of segmentation fault Fix the 'segmentation fault' bug of 'perf list --list-cmds', which also happens in other cases (e.g. record, report ...). This bug happens when there are no cmds to list at all. Example: Before this patch: $ perf list --list-cmds Segmentation fault $ After this patch: $ perf list --list-cmds $ As shown above, the result prints nothing rather than a segmentation fault. The null result means 'perf list' has no cmds to display at this time. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1423833115-11199-5-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ceed252fe0b8b7975845ed4cb9e6069d8a12f233 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Jan 11 23:59:55 2015 +0100 perf build: Display make commands on V=1 Get more verbose output wrt displaying executed commands from make. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-68v67h59zoz7ilb1ggcuff3j@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9244e2c673fb148abb7706e47b602d009c537c9b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Jan 9 17:11:04 2015 +0100 tools lib lockdep: Use tools build framework Move the lockdep library building under tools build framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: S. Lockwood-Childs <sjl@xxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-i0t25buqyo5jfvzpw2347h1h@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2d58ab9bdb1958e94f1007882d67c77edda810c0 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Jan 7 18:39:45 2015 +0100 tools lib traceevent: Use tools build framework Move the libtraceevent library building under tools build framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-opvx59tcawlmm916lg4aff4h@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 285a8f247b08c2aff83633fb82c217f91455d10b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Jan 10 20:53:13 2015 +0100 tools lib api: Rename libapikfs.a to libapi.a Renaming libapikfs.a to libapi.a, because it's not just 'fs' specific library now. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-g1mk5oj2ayq4vn653ovfg3gv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b4f9166847354cb839c275c062c6b17afba49211 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Jan 9 16:38:25 2015 +0100 tools lib api: Use tools build framework Move the libapikfs library building under tools build framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-xjo8r7nuqy9mvlfrmx9zcfwb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f819f703a42eed63443cef796b1852e6baf985bd Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Jan 14 19:05:27 2015 +0100 perf build: Add build documentation Adding file describing the basics of perf build process. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-ibgf7vxyduwohlqqfayl11xb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit db8486626246f86d8f6f77ff0020c68a6dda2e23 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 19:02:51 2014 +0100 perf build: Remove PERF-CFLAGS file Removing PERF-CFLAGS file, because the build framework stores full build command line for each object and triggers rebuilt if necessary. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-99hamnd2msiwgsi78yauihhd@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8e499ac5376c03fa3ff90ddd7def3fee175aa4b6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 16:51:35 2014 +0100 perf build: Remove uneeded variables Removing uneeded variables from Makefile.perf: BUILTIN_OBJS LIB_OBJS GTK_OBJS - objects are now hold by in the build Makefiles LIB_H - header dependencies iare now handled by Build framework Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-o85k0klhwqh3fmvryfgcpr95@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 64f72f3b7316793ba03bc38f5c3cfc627068afe4 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 16:48:54 2014 +0100 perf build: Remove directory dependency rules Removing subdirectories creation support from Makefile.perf as it's no longer needed, since it's properly handled by new build system. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-2i8x5hdllpm6cyhfh1cr88hv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1999307b469bdfda97baa78c7f4ecf3800fdbacd Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 18:44:38 2014 +0100 perf build: Add single target build framework support Add support to build single targets, like: $ make util/map.o # objects $ make util/map.i # preprocessor $ make util/map.s # assembly Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-tt10y0dmweq6rjaod937rpb4@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6d8e62c302bb9285e8882116fc317916ece5d0ab Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:14:20 2014 +0100 perf build: Add arch sparc objects building Move the sparc arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-160hknrqr27c9zf59japw91y@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 61b021244b328e3cb5b08079b28e4e2742ff7656 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:13:25 2014 +0100 perf build: Add arch sh objects building Move the sh arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-nsg1j4djtq85jtrqw830f2az@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 953bce80c01a3e475a5134e8ec410d6f39b9d188 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:12:21 2014 +0100 perf build: Add arch s390 objects building Move the s390 arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-8f5tlfwegkirhir2ffz8nw3i@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 07a39e11a0e783c3e9f2a653d4b0dcde954edd28 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:10:57 2014 +0100 perf build: Add arch powerpc objects building Move the powerpc arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-nqrtlipvjptdyjfuzlnegqgu@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7db216181484d871fcebfab11cdd146aaf80bf94 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:09:08 2014 +0100 perf build: Add arch arm64 objects building Move the arm64 arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-ptqfz1op92yrtccjiww7h1v5@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6ff0e6d7bf41e8464b4a50ba48e0e1502ef8438 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:07:04 2014 +0100 perf build: Add arch arm objects building Move the arm arch objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-7bxhmeh4bjabqsmxu4gl6p0b@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5e8c0fb6a95728b852d56c0a9244425d474670c0 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 14:03:40 2014 +0100 perf build: Add arch x86 objects building Move the x86 arch objects building under build framework to be included in the libperf build object. Adding also arch/$(ARCH)/Build files for the rest of the archs. The reason for this is that in arch/Build we now do: +libperf-y += $(ARCH)/ which would make the build to fail on other architectures, because the build framework requires 'Build' file in nested directories and this patch adds it only for x86. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-5enob06z07m7ew6nzzdmp3n2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb4e67fdee46116d6ec5ad37316cf7ff35ad1d7c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 17:09:15 2014 +0100 perf build: Add perf.o object building Move the perf object building under build framework to be included in the perf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-wiiciip2w6ajvj03huqz50xw@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1571b695053c4ccad66c5151d78247a6590338d6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 13:31:12 2014 +0100 perf build: Add zlib objects building Move the zlib objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-cpbb47g82ahpa4yqfr9dcobq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3bc3374cc50ce533259b7efed261f3d68307113c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 13:30:04 2014 +0100 perf build: Add perf regs objects building Move the regs objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-hgny792g5x5iaklc34aa57uh@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c7355f842bf84ba7b1c9d6378f85bb53c99284b2 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 13:11:32 2014 +0100 perf build: Add scripts objects building Move the scripts objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-ry8pd41ahwpq9h46i8te33c7@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 88aeea06ebd2192328c83519f07e5768681e29e7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 00:34:23 2014 +0100 perf build: Add gtk objects building Move the gtk objects building under build framework. Add new gtk build object so it's separated from the rest of the code and could be librarized. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-cd27z7vww85nxdq37rkjkkbm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cf15c74cbdccb8fb5ced91c6f24f9b3a68f9a82b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 00:27:52 2014 +0100 perf build: Add slang objects building Move the slang objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-2ofo1r00jl6i143qxcl9n2jr@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3b939a631b53bdb1bf6826fca2a330b16e995fc2 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 00:16:01 2014 +0100 perf build: Add ui objects building Move the ui objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-re5vuat8uu396n7hyor9b5ve@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2e45c322e0298652fc05e65c671b2b88d30ae31 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 00:11:11 2014 +0100 perf build: Add dwarf unwind objects building Move the dwarf unwind objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-7f7dmhkhs0e7jnqiu9ibzqia@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8379fce485cc57daa42a06f4cf1ad822b794d95d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 00:06:25 2014 +0100 perf build: Add dwarf objects building Move the dwarf objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-5ody6tnfnkt4rezvpem8n7rm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 709e679193c6e0e39222cd1fd51008225208cbc7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 23:52:25 2014 +0100 perf build: Add probe objects building Move the probe objects building under build framework to be included in the libperf build object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-p39iitiu2ltgmtbn48bsh7nz@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9352aabad16af51c4c66fb2470ca01e4005bd282 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 17:42:46 2014 +0100 perf build: Add libperf objects building Move the util objects building under build framework. Add the new libperf build object so it's separated from the rest of the perf code and could be librarized. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-574tgt9t23tnxo9td8qjiibc@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 285ab8bfc6637780052f663d90e3aa9a653042c9 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 15:13:44 2014 +0100 perf build: Add builtin objects building Move the rest of builtin objects (bench and test are already in) building under build framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-mrh2d4kfyi4g1el4kmdcghl8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f39e042a133485e4b1aa73d3bc2249d01421f765 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 15:03:09 2014 +0100 perf build: Add tests objects building Move test objects building under build framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-azbkwd1fl32t997a4shz4lgp@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 72965b87c5d5d15e33c620901b46c5ca1a3d6b8b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 13:52:36 2014 +0100 perf build: Add bench objects building Move bench objects building under build framework and enable perf-in.o rule. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-b0gxubmn3qjabaq0lune53y3@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6dd280cdb8a2cf53deacd6240707ec2f22222b20 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Jan 10 21:43:32 2015 +0100 perf build: Disable make's built-in rules We don't use any built-in rules, so we can disable make's checks for that and build faster. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-fr54ist3woy7efz6z3m720vb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 885e00be17c07ffb517d471bf39c8acc44ef87a9 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Jan 11 23:05:29 2015 +0100 perf tools: Remove api fs object from python build It's already included in libapikfs.a library, which is already used to link perf.so. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-ijp7xkmj585rqajy4xmvjnar@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 579ff6d409afa00e78822be9482d382dffd29ff4 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Dec 30 16:44:11 2014 +0100 tools build: Add subdir support Add support to make directory any time we build objects out of the tree (O=/tmp/krava) and the output directory does not exist. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-h80ukls4o2kpr0e4c4bfln6u@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fcfd6611fbccdbf2593bd949097a5c0e45cd96da Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Dec 31 17:37:00 2014 +0100 tools build: Add detected config support Adding support to include detected configuration makefile into the build process. This will allow the Build objects to be configurable based on the config data, like: perf-$(CONFIG_KRAVA) += krava.o The configuration is stored in '.config-detected' file, which is generated for each compilation. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-bl8qho0ubck7aqrbbfu9inlm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 54a721abd7953a58e5479065c0cfdd8679d785c9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 12 14:20:24 2015 +0100 ALSA: seq: Drop snd_seq_autoload_lock() and _unlock() The autoload lock became already superfluous due to the recent rework of autoload code. Let's drop them now. This allows us to simplify a few codes nicely. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 056622053b8ae02978678ac1321b5bd956e7c812 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 12 13:43:22 2015 +0100 ALSA: seq: Define driver object in each driver This patch moves the driver object initialization and allocation to each driver's module init/exit code like other normal drivers. The snd_seq_driver struct is now published in seq_device.h, and each driver is responsible to define it with proper driver attributes (name, probe and remove) with snd_seq_driver specific attributes as id and argsize fields. The helper functions snd_seq_driver_register(), snd_seq_driver_unregister() and module_snd_seq_driver() are used for simplifying codes. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit af03c243a1f014145dae34368fe975b2f08ed964 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 12 13:40:50 2015 +0100 ALSA: seq: Clean up device and driver structs Use const string pointer instead of copying the id string to each object. Also drop the status and list fields of snd_seq_device struct that are no longer used. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7c37ae5c625aaa4836466cfaea829a3199dfc571 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Feb 12 10:51:59 2015 +0100 ALSA: seq: Rewrite sequencer device binding with standard bus We've used the old house-made code for binding the sequencer device and driver. This can be far better implemented with the standard bus nowadays. This patch refactors the whole sequencer binding code with the bus /sys/bus/snd_seq. The devices appear as id-card-device on this bus and are bound with the drivers corresponding to the given id like the former implementation. The module autoload is also kept like before. There is no change in API functions by this patch, and almost all transitions are kept inside seq_device.c. The proc file output will change slightly but kept compatible as much as possible. Further integration works will follow in later patches. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 72496edcf85e048b4c5373d518e4f27938d9594e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 11 22:39:51 2015 +0100 ALSA: seq: Don't compile snd_seq_device_load_drivers() for built-in Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b6a42670e074da39b5a9f990774359e0733ca9cd Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Feb 11 22:37:16 2015 +0100 ALSA: seq: Move EXPORT_SYMBOL() after each function ... to follow the standard coding style. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 855e7e7174bade3f2b63077a81eea5aab525dbf6 Merge: e09dcd2e 59d5373 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Feb 11 19:48:14 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux I pushed a version of the crypto iov_iter bug fix that Al Viro wrote, but Linus put in a different copy of the same fix into his tree. I then reverted my commit in net-next, and that's why we have a merge when pulling in Linus's tree. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e09dcd2e7913aa50b5cb4836bc1e990e429e4aff Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Feb 11 19:47:00 2015 -0800 Revert "crypto: Fix regressions caused by iov_iter changes." This reverts commit 750d8065d88bc72bd6e1fd9f896a964c35dda818. Linus already fixed this in his tree so just use what he did. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc0c5aa35ac88342831933ca7758ead62d9bae2b Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Sat Jan 31 06:29:46 2015 -0300 [media] ir-hix5hd2: remove writel/readl_relaxed define Commit 9439eb3ab9d1ec ("asm-generic: io: implement relaxed accessor macros as conditional wrappers") has added {read,write}{b,w,l,q}_relaxed to include/asm-generic/io.h Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c819e2cf2eb6f65d3208d195d7a0edef6108d533 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Dec 29 13:51:45 2014 +0100 tools build: Add new build support Adding new build framework into 'tools/build' to be used by tools. There's no change for actual building at this point, it comes in the next patches. The idea and more details are explained in the 'tools/build/Documentation/Build.txt' file. I adopted everything from the kernel build system, with some changes to allow for multiple binaries build definitions. While the kernel's build output is single image (forget modules) we need to be able to build several binaries/libraries. The basic idea is that sser provides 'Build' files with objects definitions like: perf-y += a.o perf-y += b.o libperf-y += c.o libperf-y += d.o and the build framework outputs files: perf-in.o # a.o, b.o compiled in libperf-in.o # c.o, d.o compiled in Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexis Berlemont <alexis.berlemont@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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-fbj22h4av0otlxupwcmrxgpa@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 39f5704399042fff5f0d5f6af32bbbc3e787a897 Author: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Date: Wed Feb 11 11:24:05 2015 -0500 perf tools: Define _GNU_SOURCE on pthread_attr_setaffinity_np feature check The man page for pthread_attr_set_affinity_np states that _GNU_SOURCE must be defined before pthread.h is included in order to get the proper function declaration. Define this in the Makefile. Without this defined, the feature check fails on a Fedora system with gcc5 and then the perf build later fails with conflicting prototypes for the function. Signed-off-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150211162404.GA15522@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5cb113fd84f72b6e08c1970d612fd61327781d4e Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Tue Feb 10 18:18:53 2015 +0900 perf buildid-cache: Consolidate .build-id cache path generators Consolidate .build-id cache path generating routines to build_id__filename() function. Other functions must use it to get the buildid cache path (link path) from build-id. This can reduce the risk of partial-update. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150210091853.19264.58513.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e35f7362bab455fb5c13ea4ce53f959f3e1610b2 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Tue Feb 10 18:18:51 2015 +0900 perf buildid-cache: Remove unneeded debugdir parameters Functions related to buildid-cache subcommand use debugdir parameters for passing buildid cache directory path. However all callers just pass buildid_dir global variable. Moreover, other functions which refer buildid cache use buildid_dir directly. This removes unneeded debugdir parameters from those functions and use buildid_dir if needed. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150210091851.19264.72741.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4e31050f482c02c822b150d71cf1ea5be7c9d6e4 Author: Vinson Lee <vlee@xxxxxxxxxxx> Date: Mon Feb 9 16:29:37 2015 -0800 perf symbols: Define STT_GNU_IFUNC for glibc 2.9 and older. The token STT_GNU_IFUNC is not available with glibc 2.9 and older. Define this token if it is not already defined. This patch fixes this build errors with older versions of glibc. CC util/symbol-elf.o util/symbol-elf.c: In function â??elf_sym__is_functionâ??: util/symbol-elf.c:75: error: â??STT_GNU_IFUNCâ?? undeclared (first use in this function) util/symbol-elf.c:75: error: (Each undeclared identifier is reported only once util/symbol-elf.c:75: error: for each function it appears in.) make: *** [util/symbol-elf.o] Error 1 Signed-off-by: Vinson Lee <vlee@xxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Avi Kivity <avi@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17+ Link: http://lkml.kernel.org/r/1423528286-13630-1-git-send-email-vlee@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 23773ca18b399051eb94f98b689cf7a9173c795b Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:07 2015 -0500 perf tools: Make perf aware of tracefs As tracefs may be mounted instead of debugfs to get to the event directories, have perf know about tracefs, and use that file system over debugfs if it is present. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193553.340946602@xxxxxxxxxxx [ Fixed up error messages about tracefs pointed out by Namhyung ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7f73b9f1ca7334eec0ff9a40e37ece92dd3e420f Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Wed Feb 11 20:33:05 2015 +0800 netfilter: ipset: fix boolreturn.cocci warnings net/netfilter/xt_set.c:196:9-10: WARNING: return of 0/1 in function 'set_match_v3' with return type bool net/netfilter/xt_set.c:242:9-10: WARNING: return of 0/1 in function 'set_match_v4' with return type bool Return statements in functions returning bool should use true/false instead of 1/0. Generated by: scripts/coccinelle/misc/boolreturn.cocci CC: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5cca4ace0fac4474edb02120bf1284ed6eb059aa Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Jan 21 10:53:50 2015 +1100 netfilter: Don't hide NETFILTER_XT_MATCH_ADDRTYPE behind NETFILTER_ADVANCED Docker needs NETFILTER_XT_MATCH_ADDRTYPE, so move it out from behind NETFILTER_ADVANCED and make it default to a module. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b4e27545224e263d271a9d9aa8763357a7e40eaa Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Feb 6 12:27:54 2015 -0800 spi: sc18is602: Support multiple devices on a single I2C bus if DT is configured The driver currently only supports a single device per I2C bus since it uses the I2C bus number to set the SPI bus number. This makes it impossible to connect more than one chip to a single I2C bus. We don't want to use dynamic bus numbers unconditionally since this would result in every instantiation getting a different bus number starting with 65,535 counting down unless devicetree is configured. If devicetree is configured, however, the SPI bus number is obtained from devicetree data. So we can use dynamic SPI bus numbers in this case. Reported-and-Tested-by: Marco Menchise <marco.menchise@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 750d8065d88bc72bd6e1fd9f896a964c35dda818 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 10 21:24:55 2015 -0800 crypto: Fix regressions caused by iov_iter changes. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3e7766bc459af941c311a3cb03f2082b2fe60ba Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Feb 8 10:11:05 2015 -0500 spi: bcm53xx: use msecs_to_jiffies for conversion Converting milliseconds to jiffies by "val * HZ / 1000" is technically ok but msecs_to_jiffies(val) is the cleaner solution and handles all corner cases correctly. This is only an API consolidation and should make things more readable Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d6d4c0e00fe559ef54b414e2e6266beaa50b4d8e Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Feb 9 07:16:25 2015 -0300 [media] gpsca: remove the risk of a division by zero As reported by Peter Kovar, there's a potential risk of a division by zero on calls to jpeg_set_qual() when quality is zero. As quality can't be 0 or lower than that, add an extra clause to cover this special case. Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b6d6c6e95ff0e78f9b8393e6b9f25d5a4341ae1a Author: Peter Rosin <peda@xxxxxxxxxx> Date: Mon Feb 9 16:08:25 2015 +0100 ASoC: atmel_ssc_dai: Allow more rates When the SSC acts as BCK master, use a ratnum rule to limit the rate instead of only doing the standard rates. When the SSC acts as BCK slave, allow any BCK frequency up to the SSC master clock, divided by either of 2, 3 or 6. Put a cap at 384kHz. Who's /ever/ going to need more than that? The divider of 2, 3 or 6 is selected based on the Serial Clock Ratio Considerations section from the SSC documentation: The Transmitter and the Receiver can be programmed to operate with the clock signals provided on either the TK or RK pins. This allows the SSC to support many slave-mode data transfers. In this case, the maximum clock speed allowed on the RK pin is: - Peripheral clock divided by 2 if Receiver Frame Synchro is input - Peripheral clock divided by 3 if Receiver Frame Synchro is output In addition, the maximum clock speed allowed on the TK pin is: - Peripheral clock divided by 6 if Transmit Frame Synchro is input - Peripheral clock divided by 2 if Transmit Frame Synchro is output Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> Acked-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5163c1eede8e9073e5b6bf1a988ed07d35820343 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Feb 9 13:26:01 2015 +0200 ASoC: omap: Kconfig: Support for omap5-uevm analog audio The analog audio is supported via omap-abe-twl6040 machine driver on omap5-uevm. Update the Kconfig file to reflect this and select the Palmas clock driver which is providing the 32K clock for audio on omap5-uevm. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd67cd5eb25ae9a7bafbfd3d52d4c05e1d80af3b Author: Julian Anastasov <ja@xxxxxx> Date: Fri Feb 6 09:44:44 2015 +0200 ipvs: use 64-bit rates in stats IPVS stats are limited to 2^(32-10) conns/s and packets/s, 2^(32-5) bytes/s. It is time to use 64 bits: * Change all conn/packet kernel counters to 64-bit and update them in u64_stats_update_{begin,end} section * In kernel use struct ip_vs_kstats instead of the user-space struct ip_vs_stats_user and use new func ip_vs_export_stats_user to export it to sockopt users to preserve compatibility with 32-bit values * Rename cpu counters "ustats" to "cnt" * To netlink users provide additionally 64-bit stats: IPVS_SVC_ATTR_STATS64 and IPVS_DEST_ATTR_STATS64. Old stats remain for old binaries. * We can use ip_vs_copy_stats in ip_vs_stats_percpu_show Thanks to Chris Caputo for providing initial patch for ip_vs_est.c Signed-off-by: Chris Caputo <ccaputo@xxxxxxx> Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit e257a16e680a27ddc3dcbfc9fd39ad7f9d7ea135 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 27 23:23:33 2015 +0100 staging: iio: adc: mxs-lradc: Change type in printf format string Wrong type in printf format string, requires 'int' but the argument type is 'unsigned int' This was found using a static code analysis program called cppcheck Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 31a3dda6489dd68552e1e6af56abcf65405d6b5c Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 27 23:22:34 2015 +0100 staging: iio: resolver: ad2s1210: Change type in printf format string Wrong type in printf format string, requires 'int' but the argument type is 'unsigned int' This was found using a static code analysis program called cppcheck Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c726aadd731de7b3cd2a0c2ceb2cc5ce9745c5ad Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sat Feb 7 23:40:33 2015 -0800 Staging:iio:ade7854 Coding style correction Line over 80 characters corrected Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 98a3d2e1d57611840b0c252e718f1fc7fb32b381 Author: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Date: Sun Feb 8 00:04:53 2015 -0800 Staging:iio:hmc5843:Coding Style Correction Indentation corrections in struct initializations and one line over 80 characters split into two lines Signed-off-by: Tolga Ceylan <tolga.ceylan@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 14ee64f438b8e85d1c78939d301956d9a775cc9a Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sat Jan 31 02:00:05 2015 +0200 iio: bmc150: exit early if event / trigger state is not changed Previous of this patch the check was only done if we enabled the event and it was already enabled. We can do the same if the event is disabled and we want to disable it. The patch also adds the same check on the trigger code. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8e22f477e1432ace88b762f5f66e0f96631a1462 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sat Jan 31 02:00:04 2015 +0200 iio: bmc150: refactor interrupt enabling This patch combines the any motion and new data interrupts function into a single, generic, interrupt enable function. On top of this, we can later refactor triggers to make it easier to add new triggers. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 802a3aef30917cc20279d17fe4d0e8568d5c7814 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sat Jan 31 02:00:03 2015 +0200 iio: bmc150: refactor slope duration and threshold update Move the slope duration and threshold update in a separate function to reduce code duplicate between chip init and motion interrupt setup. Also move the slope update code from the interrupt setup function to the trigger set state function so that we can later refactor the interrupt code. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit dd6dda27a8be563eaebb3f38b1d1d50920bb7991 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:06 2015 -0500 tools lib api fs: Add {tracefs,debugfs}_configured() functions Add tracefs_configured() to return true if tracefs is configured in the kernel (succeeds to find tracefs), and debugfs_configured() if debugfs is configured in the kernel (succeeds to find debugfs). Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193553.190606690@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a9edf60749a9483341facfa7c28bcf8afb3c8311 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:05 2015 -0500 tools lib api debugfs: Add DEBUGFS_DEFAULT_PATH macro Instead of hard coding "/sys/kernel/debug" everywhere, create a macro to hold where the default path exists. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193553.032117017@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4ef92c2ecd96ebad171e554020c83ce9fdb343ae Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:04 2015 -0500 tools lib api fs: Add tracefs mount helper functions Since tracefs will now hold the event directory for perf, and even though by default, debugfs still mounts tracefs on the debugfs/tracing directory, the system admin may now choose to not mount debugfs and instead just mount tracefs instead. Having tracefs helper functions will facilitate having perf look for tracefs first, and then try debugfs as a fallback. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193552.898934751@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cde164aee9e0343831467035eb96dd5506742648 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:03 2015 -0500 tools lib fs: Add helper to find mounted file systems In preparation for adding tracefs for perf to use, create a findfs helper utility that find_debugfs uses instead of hard coding the search in the code. This will allow for a find_tracefs to be used as well. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193552.735023362@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5693c92660970851e95f769ff27397f5098a6296 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 14:35:02 2015 -0500 perf tools: Do not check debugfs MAGIC for tracing files It's rather strange to be checking the debugfs MAGIC number for the tracing directory. A system admin may want to have a custom set of events to trace and it should be allowed to let the admin make a temp file (even for tracing virtual boxes, this is useful). Also with the coming tracefs, the files may not even be under debugfs, so checking the debugfs MAGIC number is pointless. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150202193552.546175764@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 20f86fc1fde14c6d913ebf5f569ee85e058a7dbd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 13:29:05 2015 -0300 perf evlist: Fix typo in comment Link: http://lkml.kernel.org/n/tip-qzg2qrdgta6dmcrxqdeexthu@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f7aa222ff397bd99153a039578864c1a36b8f391 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 13:25:39 2015 -0300 perf trace: No need to enable evsels for workload started from perf As they will have perf_event_attr.enable_on_exec set, starting as soon as we exec() the workload. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-vmj3f6o3vxrg7mrdipts09li@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 04ddc5b5ad4eca2b96160663431f041bec2efc2e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Feb 7 12:47:56 2015 +0300 xtensa: xtfpga: provide defconfig with audio subsystem This is the generic KC705 defconfig with all pieces of xtfpga audio subsystem enabled: I2C, SPI and ASoC support, I2C master, SPI master, clock synthesizer, I2S master, audio codec and audio card drivers. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit c2c62e61fb8559420bb0346953843e557cdddba7 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Apr 19 21:01:31 2013 +0400 xtensa: xtfpga: add audio card to xtfpga DTS This includes OpenCores I2C host controller, TI CDCE706 clock generator, xtfpga I2S master controller, xtfpga SPI master controller, TI TLV320AIC23 audio codec and a simple audio card. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit aa1aac17a15cbf64236bd6f3b855262dcfb845c9 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 12:46:58 2015 -0300 perf tools: Introduce event_format__fprintf method The existing one, event_format__print() uses stdout unconditionally, and 'perf trace' needs to use it to format into a file that may have been set by the user, i.e. 'trace -o file.output'. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-7l0mgm91hwg0bby00s5pse8r@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 402bb4e6ec6507ccbb2e556d7996bbc989db7f27 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Feb 3 12:44:09 2015 -0300 tools lib traceevent: Introduce trace_seq_do_fprintf function So that we can specify a FILE object where to direct the formatted output. 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-a49bhdrx8851f04hppn8bqxq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc6254cf870732804b76a83ff2d8a72fea4365f6 Author: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Date: Mon Jan 26 22:34:02 2015 -0800 perf symbols: debuglink should take symfs option into account Currently code that tries to read corresponding debug symbol file from .gnu_debuglink section (DSO_BINARY_TYPE__DEBUGLINK) does not take in account symfs option, so filename__read_debuglink function cannot open ELF file, if symfs option is used. Fix is to add proper handling of symfs as it is done in other places: use __symbol__join_symfs function to get real file name of target ELF file. Signed-off-by: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Tested-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Avi Kivity <avi@xxxxxxxxxxxxxxxxxxxx> Cc: Dave Martin <Dave.Martin@xxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1422340442-4673-3-git-send-email-victor.kamensky@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4886f2ca19f6ff22ebfbe8e78c79c699e572b89f Author: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Date: Mon Jan 26 22:34:01 2015 -0800 perf symbols: Ignore mapping symbols on aarch64 Aarch64 ELF files use mapping symbols with special names $x, $d to identify regions of Aarch64 code (see Aarch64 ELF ABI - "ARM IHI 0056B", section "4.5.4 Mapping symbols"). The patch filters out these symbols at load time, similar to "696b97a perf symbols: Ignore mapping symbols on ARM" changes done for ARM before V8. Also added handling of mapping symbols that has format "$d.<any>" and similar for both cases. Note we are not making difference between EM_ARM and EM_AARCH64 mapping symbols instead code handles superset of both. Signed-off-by: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Avi Kivity <avi@xxxxxxxxxxxxxxxxxxxx> Cc: Dave Martin <Dave.Martin@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1422340442-4673-2-git-send-email-victor.kamensky@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8b72805fd1dbfd697c5d4492d0cf1ebbd994950d Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Jan 30 18:37:46 2015 +0900 perf probe: Update man page Update Documentation/perf-probe.txt to add descriptions of some newer options. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150130093746.30575.8571.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e1ecbbc3fa834cc6b4b344edb1968e734d57189b Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Jan 30 18:37:44 2015 +0900 perf probe: Fix to handle optimized not-inlined functions Fix to handle optimized no-inline functions which have only function definition but no actual instance at that point. To fix this problem, we need to find actual instance of the function. Without this patch: ---- # perf probe -a __up Failed to get entry address of __up. Error: Failed to add events. # perf probe -L __up Specified source line is not found. Error: Failed to show lines. ---- With this patch: ---- # perf probe -a __up Added new event: probe:__up (on __up) You can now use it in all perf tools, such as: perf record -e probe:__up -aR sleep 1 # perf probe -L __up <__up@/home/fedora/ksrc/linux-3/kernel/locking/semaphore.c:0> 0 static noinline void __sched __up(struct semaphore *sem) { struct semaphore_waiter *waiter = list_first_entry(&sem->wait_ struct semaphore_waite 4 list_del(&waiter->list); 5 waiter->up = true; 6 wake_up_process(waiter->task); 7 } ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150130093744.30575.43290.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a3c0cc2ac03bd9db032f590d59cdbf0b447503b8 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Jan 30 11:33:29 2015 +0900 perf tools: Fix a dso open fail message It's not related to mmap, remove it from the message. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1422585209-32742-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 63d3c6f3835d011c783c606c8a1583b041f579aa Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Jan 30 11:33:28 2015 +0900 perf tests: Do not rely on dso__data_read_offset() to open dso Do not rely on dso__data_read_offset() will always call dso__data_fd() internally. With multi-thread support, accessing a fd will be protected by a lock and it'll cause a huge contention. It can be avoided since we can skip reading from file if there's a data in the dso cache. If one needs to call the dso__data_read_offset(), [s]he also needs to call dso__data_fd() (or set dso->binary_type at least) first like the dwarf unwind code does. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1422585209-32742-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 66af43d56345a7ca549ba1089fe11a6953072417 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Jan 30 11:33:27 2015 +0900 perf test: Fix dso cache testcase The current dso cache permits to keep dso->data.fd is open under a half of open file limit. But test__dso_data_cache() sets dso_cnt to limit / 2 + 1 so it'll reach the limit in the loop even though the loop count is one less than the dso_cnt and it makes the final dso__data_fd() after the loop meaningless. I guess the intention was dsos[0]->data.fd is open before the last open and gets closed after it. So add an assert before the last open. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1422585209-32742-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2f0e5f28e0686c0d5db238357a2e32555e97633 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Feb 4 10:12:59 2015 +0900 clk: samsung: exynos5433: Move CLK_SCLK_HDMI_SPDIF_DISP clock to CMU_TOP domain This patch fixes the bug of CLK_SCLK_HDMI_SPDIF_DISP clock because this clock should be included in CMU_TOP domain. So, this patch moves the CLK_SCLK_HDMI_ SPDIF_DISP clock from CMU_MIF to CMU_TOP domain. Reported-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 6166c01caf9394701a367b20422bcd558333795e Author: Inha Song <ideal.song@xxxxxxxxxxx> Date: Tue Feb 3 09:13:57 2015 +0900 clk: samsung: Add CLKOUT driver support for Exynos5433 SoC This patch add CLKOUT driver support for Exynos5433 SoC. Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit a5958a939bbf93e6b77cb3626c6aebde237ad759 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:56 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_CAM1 domain This patch adds the mux/divider/gate clocks for CMU_CAM1 domain which generates the clocks for Cortex-A5/MIPI_CSIS2/FIMC-LITE_C/FIMC-FD IPs. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 6958f22f39f9292f6e871b4383a11f183c1271ed Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:55 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_CAM0 domain This patch adds the mux/divider/gate clocks for CMU_CAM0 domain which generates the clocks for MIPI_CSIS{0|1}/FIMC_LITE_{A|B|D}/FIMC_3AA{0|1} IPs. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 8e46c4b84faf317773d5a4ec6d807ceae2d0eb41 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:54 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_ISP domain This patch adds the mux/divider/gate clocks for CMU_ISP domain which generates the clocks for FIMC-ISP/DRC/SCLC/DIS/3DNR IPs. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 45e58aa5f751fd861d46f7b6d438c1be147458c6 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:53 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_HEVC domain This patch adds the mux/divider/gate clocks for CMU_HEVC domain which generates the clocks for HEVC(High Efficiency Video Codec) decoder IP. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 9910b6bbaa7b16cd3a8a7d8be53980fa1b8183a6 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:52 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_MFC domain This patch adds the mux/divider/gate clocks for CMU_MFC domain which generates the clocks for MFC(Multi-Format Codec) IP. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit b274bbfd8b4a94cb5bd6fe21801264a27dd8ec75 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:51 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_MSCL domain This patch adds the mux/divider/gate clocks for CMU_MSCL domain which generates the clocks for M2M (Memory to Memory) scaler, JPEG IPs. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 6c5d76d15ab6da9b30af020a44e071eb5145e1a0 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:50 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_ATLAS domain This patch adds the mux/divider/gate clocks for CMU_ATLAS domain which generates the clocks for Cortex-A57 Quad-core processsor, L2 cache controller and CoreSight. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit df40a13ca53e6f83ead88e718dd96654e75365ec Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 09:13:49 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_APOLLO domain This patch adds the mux/divider/gate clocks for CMU_APOLLO domain which generates the clocks for Cortex-A53 Quad-core processsor. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> [s.nawrocki@xxxxxxxxxxx: Renamed pclk_pmu_sysreg_apollo to pclk_sysreg_apollo] Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 6da9b382bd2b6e1b910d7e3512a8a115c8c5f113 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Sat Jan 31 02:00:00 2015 +0200 iio: buffer: refactor buffer attributes setup Move all core (non-custom) buffer attributes to a vector to make it easier to add more of them in the future. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2a2f33e83ddb6c0abe3d32075f795aa14e4b9476 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:07 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_GSCL domain This patch adds the divider/gate of CMU_GSCL domain which contains gscaler clocks. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 453e519e5aed806c1b70bcbe92aeab39a93dda22 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:06 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_G3D domain This patch adds the mux/divider/gate clocks for CMU_G3D domain which contains the clocks for GPU(3D Graphics Engine). Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 4b8013554b0454984e71bc20bc31966886079e15 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:05 2015 +0900 clk: samsung: exynos5433: Add missing clocks for CMU_FSYS domain This patch adds the mux/divider/gate clocks for CMU_FSYS domain which contains the clocks of USB/UFS/SDMMC/TSI/PDMA IPs. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 5785d6e61f27f7af4d239c1647d5a22e0dbff19b Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:04 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_BUS{0|1|2} domains This patch adds the mux/divider/gate clocks for CMU_BUS{0|1|2} domains which contain global data buses clocked at up the 400MHz. These blocks transfer data between DRAM and various sub-blocks. These clock domains also contain global peripheral buses clocked at 67/111/200/222/266/333/400 MHz and used for register accesses. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 2e997c035945784fb8c564305c0f0ddacc374fe4 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:03 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_AUD domain This patch adds the mux/divider/gate clocks for CMU_AUD domain which includes the clocks of Cortex-A5/Bus/Audio clocks. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 2a1808a6c00fb6d75ebfa596add57638b9290926 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:02 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_DISP domain This patch adds the the mux/divider/gate clocks for CMU_DISP domain which includes clocks of the display IPs (DECON/HDMI/DSIM/MIXER). Also, CMU_DISP requires 'sclk_hdmi_spdif_disp' source clock from CMU_TOP domain. This patch adds the clocks of CMU_TOP related to HDMI. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 06d2f9dfa663367e8cc1690d7e5ce4113e5dbcc1 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:01 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_MIF domain This patch adds the mux/divider/gate clocks of CMU_MIF domain which includes the clocks for DMC(DRAM memory controller) and CCI(Cache Coherent Interconnect). The CMU_MIF domain provides the source clocks for CMU_DISP/CMU_BUS2. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit a29308dad5dc4695a344ed9042cae8a1b8e35267 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:24:00 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_G2D domain This patch adds ths mux/divider/gate clocks of CMU_G2D domain which includes G2D/MDMA IPs. The CMU_G2D requires its parent defined in the CMU_TOP domain. Hence this patch adds G2D related clocks to the CMU_TOP domain. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 56bcf3f3ea39402acff09cba9558a0d3b13fc56f Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:23:59 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_PERIS domain This patch adds missing gate clocks of CMU_PERIS domain which includes TMU/TZPC/SECKEY/CHIPID/TOPRTC/EFUSE IPs. The special clocks of CMU_PERIS use oscclk source clock directly. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit d0f5de6677de4405c9acdb88db7c7cf7b9cc954e Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:23:58 2015 +0900 clk: samsung: exynos5433: Add clocks for CMU_PERIC domain This patch adds missing divider/gate clocks of CMU_PERIC domain which includes I2S/PCM/SPDIF/PWM/SLIMBUS IPs. The SPI/I2S may use external input clock which has 'ioclk_*' prefix. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> [ideal.song: Change clk flags of to pclk_gpio_* clk, pclk_gpio_* should be always on] Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 232364969d8a8a17c52fd9b754d15924abf98d6a Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:23:57 2015 +0900 clk: samsung: exynos5433: Add MUX clocks of CMU_TOP domain This patch adds the MUX (multiplexer) clocks for CMU_TOP domain of Exynos5433. CMU_TOP domain provides source clocks to other CMU domains. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 96bd6224f07b8bf73e0359f15a3d7678118494e6 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Feb 2 23:23:56 2015 +0900 clk: samsung: exynos5433: Add clocks using common clock framework This patch adds support for the CMU (Clock Management Units) of Exynos5433 which is an Octa-core 64bit SoC. This patch supports necessary clocks (PLL/MMC/UART/MCT/I2C/SPI) for kernel boot and includes binding documentation for Exynos5433 clock controller. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> [s.nawrocki@xxxxxxxxxxx: whitespace cleanup in dt-bindings/clock/exynos5433.h] [ added U suffix to first arguments of PLL_35XX_RATE()] Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit ee3ac290e8aaa8396e697a11470703e616ab335f Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Feb 2 03:35:20 2015 -0500 iio: vf610_adc: cleanup wait_for_completion return handling return type of wait_for_completion_timeout is unsigned long not int, this patch only fixes up the return handling. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1a21dfed63515faeb2cda334fbf00787b92d7771 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Feb 3 08:47:11 2015 +0900 clk: samsung: exynos5433: Add binding document for Exynos5433 clock domains This patch adds devicetree binding document for Exynos5433 SoC system clock controller. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit a36385a2613c0755164ec53e8b7a42d4d11f65b9 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Mon Jan 5 11:21:42 2015 +0200 iio: imu: kmx61: Drop odr_bits from kmx61_samp_freq_table odr_bits values are between 0 and 11, so we can use the index in kmx61_samp_freq_table instead of odr_bits structure member. Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1e716a15ce5e5840cac0fb4cd6ca79d70d3568a9 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Fri Jan 2 04:02:55 2015 -0500 iio: meter: ade7759: add error handling in _reset and _stop_device This patch adds the error handling for the value returned from ade7759_spi_read_reg_16. With this patch, the following randconfig warnings get fixed automatically. drivers/staging/iio/meter/ade7759.c:224:6: warning: â??valâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] drivers/staging/iio/meter/ade7759.c:309:6: warning: â??valâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit abe4e26bb7edb7b36ef99e2e78e86de79b18f922 Author: Devendra Naga <devendra.aaru@xxxxxxxxx> Date: Fri Jan 2 04:02:54 2015 -0500 iio: meter: ade7754: add error handling in _reset and _stop_device This patch adds the error handling for the value returned from ade7754_spi_read_reg_8. With this patch, the following randconfig warnings get fixed automatically. drivers/staging/iio/meter/ade7754.c:222:6: warning: â??valâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] drivers/staging/iio/meter/ade7754.c:368:6: warning: â??valâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit eae473581cf93dad94ca833aa961c033c6a43924 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Jan 21 10:01:39 2015 -0500 tracing: Have mkdir and rmdir be part of tracefs The tracing "instances" directory can create sub tracing buffers with mkdir, and remove them with rmdir. As a mkdir will also create all the files and directories that control the sub buffer the inode mutexes need to be released before this is done, to avoid deadlocks. It is better to let the tracing system unlock the inode mutexes before calling the functions that create the files within the new directory (or deletes the files from the one being destroyed). Now that tracing has been converted over to tracefs, the tracefs file system can be modified to accommodate this feature. It still releases the locks, but the filesystem itself can take care of the ugly business and let the user just do what it needs. The tracing system now attaches a descriptor to the directory dentry that can have userspace create or remove sub directories. If this descriptor does not exist for a dentry, then that dentry can not be used to create other directories. This descriptor holds a mkdir and rmdir method that only takes a character string as an argument. The tracefs file system will first make a copy of the dentry name before releasing the locks. Then it will pass the copied name to the methods. It is up to the tracing system that supplied the methods to handle races with duplicate names and such as all the inode mutexes would be released when the functions are called. Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit cc31004a4aa784d89054ec07b87eae05cecf7121 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Jan 21 11:28:23 2015 -0500 tracefs: Add directory /sys/kernel/tracing When tracefs is configured, have the directory /sys/kernel/tracing appear just like /sys/kernel/debug appears when debugfs is configured. This will give a consistent place for system admins to mount tracefs. Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f76180bc07abc399977bfbe8c43bf58c4570e893 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Jan 20 15:48:46 2015 -0500 tracing: Automatically mount tracefs on debugfs/tracing As tools currently rely on the tracing directory in debugfs, we can not just created a tracefs infrastructure and expect sysadmins to mount the new tracefs to have their old tools work. Instead, the debugfs tracing directory is still created and the tracefs file system is mounted there when the debugfs filesystem is mounted. No longer does the tracing infrastructure update the debugfs file system, but instead interacts with the tracefs file system. But now, it still appears to the user like nothing changed, except you also have the feature of mounting just the tracing system without needing all of debugfs! Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8434dc9340cd2e117fc944cf7526263bf490a52a Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Jan 20 12:13:40 2015 -0500 tracing: Convert the tracing facility over to use tracefs debugfs was fine for the tracing facility as a quick way to get an interface. Now that tracing has matured, it should separate itself from debugfs such that it can be mounted separately without needing to mount all of debugfs with it. That is, users resist using tracing because it requires mounting debugfs. Having tracing have its own file system lets users get the features of tracing without needing to bring in the rest of the kernel's debug infrastructure. Another reason for tracefs is that debubfs does not support mkdir. Currently, to create instances, one does a mkdir in the tracing/instance directory. This is implemented via a hack that forces debugfs to do something it is not intended on doing. By converting over to tracefs, this hack can be removed and mkdir can be properly implemented. This patch does not address this yet, but it lays the ground work for that to be done. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4282d60689d4f21b40692029080440cc58e8a17d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Jan 20 11:36:55 2015 -0500 tracefs: Add new tracefs file system Add a separate file system to handle the tracing directory. Currently it is part of debugfs, but that is starting to show its limits. One thing is that in order to access the tracing infrastructure, you need to mount debugfs. As that includes debugging from all sorts of sub systems in the kernel, it is not considered advisable to mount such an all encompassing debugging system. Having the tracing system in its own file systems gives access to the tracing sub system without needing to include all other systems. Another problem with tracing using the debugfs system is that the instances use mkdir to create sub buffers. debugfs does not support mkdir from userspace so to implement it, special hacks were used. By controlling the file system that the tracing infrastructure uses, this can be properly done without hacks. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 09d23a1d8a82e814bd56a4f121b80ea8214ac49d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Feb 3 12:45:53 2015 -0500 tracing: Create cmdline tracer options on tracing fs init The options for cmdline tracers are not created if the debugfs system is not ready yet. If tracing has started before debugfs is up, then the option files for the tracer are not created. Create them when creating the tracing directory if the current tracer requires option files. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0f67f04ffcb592d065a20862a82d4539e0f8e909 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Feb 3 11:56:20 2015 -0500 tracing: Only create tracer options files if directory exists Do not bother creating tracer options if no tracing directory exists. If a tracer is enabled via the command line, and is started before the tracing directory is created, then it wont have its tracer specific options created. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit dfbc1534eac550b37df592a8a0b550cd47539d0b Merge: 7eeafbc 163f9eb Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Feb 2 11:47:31 2015 -0500 Merge branch 'debugfs_automount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs into trace/ftrace/tracefs Pull in Al Viro's changes to debugfs that implement the new primitive: debugfs_create_automount(), that creates a directory in debugfs that will safely mount another file system automatically when debugfs is mounted. This will let tracefs automount itself on top of debugfs/tracing directory. commit 163f9eb95a10371ead59b62087e0d4e7ce53112e Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Jan 21 20:03:40 2015 +0000 debugfs: Provide a file creation function that also takes an initial size Provide a file creation function that also takes an initial size so that the caller doesn't have to set i_size, thus meaning that we don't have to call deal with ->d_inode in the callers. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 07259f8b9fbd30fcef595e872deeea5ffab934ed Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jan 16 18:37:43 2015 +0200 drm/i2c: tda998x: use drm_do_get_edid() Replace the internal EDID read implementation by a call to the new EDID read core function. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Tested-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 288ffc73f6e9be6334ca491994cc01110bebfc96 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Dec 7 20:20:59 2014 +0100 drm/i2c: tda998x: fix misspelling of current function in string Replace a misspelled function name by %s and then __func__. This was done using Coccinelle, including the use of Levenshtein distance, as proposed by Rasmus Villemoes. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 5dbcf319b283276468a52feafefeb5802d87cb8a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Jun 15 11:11:10 2014 +0100 drm/i2c: tda998x: add OF support for finding attached CRTCs Add support to find the attached CRTCs via OF using the newly introduced helper. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> pnmtopng: 174 colors found Revision graph left in /home/osstest/pub/results/bisect.linux-linus.test-armhf-armhf-xl.xen-boot.{dot,ps,png,html}. ---------------------------------------- 56543: tolerable ALL FAIL flight 56543 linux-linus real-bisect [real] http://logs.test-lab.xenproject.org/osstest/logs/56543/ Failures :-/ but no regressions. Tests which did not succeed, including tests which could not be run: test-armhf-armhf-xl 6 xen-boot fail baseline untested jobs: test-armhf-armhf-xl fail ------------------------------------------------------------ sg-report-flight on osstest.test-lab.xenproject.org logs: /home/osstest/pub/logs images: /home/osstest/pub/images Logs, config files, etc. are available at http://logs.test-lab.xenproject.org/osstest/logs Test harness code can be found at http://xenbits.xen.org/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 |